Aug 28, 2023
  • RadioGroup: Ensure reserveMessageSpace prevents layout shift correctly

    Consider the reserveMessageSpace prop as well as message when conditionally applying internal padding between radio list and field message.

Apr 26, 2023
  • Hide field borders in dark containers

    Reduce visual noise when a form field is displayed in a dark container by hiding the default border. As fields are light on light backgrounds, the border is used to delineate its bounds against the container, which is not relevant in a dark container.

Apr 17, 2023
  • RadioItem, Checkbox: Fix stacking context behaviour

    A RadioItem and Checkbox previously created a new stacking context with an elevated z-index applied on hover, resulting in their labels overlaying other elements in an unpredictable ways — most noticable when toggling nested content.

    For example, toggling nested content containing an Autosuggest, would see the list of suggestions list would be overlayed by the next RadioItem on hover.

    To fix this, the z-index is no longer elevated on hover, and additionally the nested content container applies an elevated index when the field is checked.

  • Checkbox, RadioItem: Fix alignment with updated Badge layout

    Improve layout to work with updated Badge layout which is no longer driven by line height.

Mar 31, 2023
  • RadioItem, Toggle: Use formAccent border when selected

    Switch to using the formAccent border colour, rather than the field border color, when in the selected state (e.g. checked for RadioItem, on for Toggle).

Mar 9, 2023
  • Show description on form fields when no label provided

    Previously, a FieldLabel without a label would return nothing. However, now that form fields can opt for indirect or hidden labels (via aria-label or aria-labelledby), the description should still be shown if provided.

    Note: The secondaryLabel and tertiaryLabel remain conditional based on the presence of a label. This is due to their location in the layout being anchored off the label.

    EXAMPLE USAGE:

    <FieldLabel
      description="Description now visible without label"
    />
Nov 9, 2022
  • Support data attribute boolean values

    The data attribute map now supports boolean values. This provides an improvement for the developer experience, no longer having to convert values to strings explicitly.

    EXAMPLE USAGE:

    <Component
      data={{
        'custom-attribute': true,
      }}
    />
    // => <div data-custom-attribute="true" />
Jul 19, 2022
  • RadioGroup: Remove surrounding white space with no visual label

    Removes additional white space applied above the RadioItems when no visible label is provided, i.e. when labelling via aria-label or aria-labelledby.

May 20, 2022
  • RadioItem: Add disabled support

    Provide support for disabling individual RadioItems within a RadioGroup.

    EXAMPLE USAGE:

    <RadioGroup>
      <RadioItem label="One" value="1" />
      <RadioItem label="Two" value="2" />
      <RadioItem label="Three" value="3" disabled={true} />
    </RadioGroup>
Oct 18, 2021
  • Autosuggest, Checkbox, CheckboxStandalone, Dropdown, MonthPicker, TextField, Textarea, Radio, RadioGroup: Dim the field value and label when field is disabled

Sep 30, 2021
  • Buttons, Fields, TextLinks, Toggle: Use span for field state overlays instead of div

    Produce more valid HTML as div elements are not as flexible with which elements they can be inside (from a validators perspective).

Aug 20, 2021
  • Display formAccent outline on form elements when focused

Jul 26, 2021
  • Checkbox, RadioGroup, Radio: Use atoms for label cursor styles

    Since the disabled state of a checkbox can only be changed via JavaScript, cursor styles can be toggled via Box props rather than generating additional CSS.

    While this is an improvement in and of itself, this change is being made to work around a third-party testing bug where our use of :disabled in a complex CSS selector is causing an exception to be thrown.

May 19, 2021
  • Add support for data attribute maps on all components.

    EXAMPLE USAGE:

    <Alert
      data={{
        testId: 'message'
      }}
    />
    
    // => <div data-testId="message" />
Apr 29, 2021
  • Checkbox,RadioGroup,Toggle: Add size support to Checkbox, RadioGroup & Toggle

    Adds support for adjusting the size of a Checkbox, the RadioItems within a RadioGroup or a Toggle. Setting the size adjusts both the visual control and the text size of the label.

    EXAMPLE USAGE:

      <Checkbox size="small" label="Label" />
      <RadioGroup size="small" label="Label">
        ...
      </RadioGroup>
      <Toggle size="small" label="Label" />
Nov 3, 2020
  • Checkbox,RadioGroup,Radio: Fix element type passed to onChange event

    Fixes a bug where the onChange event previously received the change event for a form element rather than an input element.

Oct 26, 2020
  • RadioGroup,RadioItem: Add RadioGroup & RadioItem components

    The RadioGroup provides an accessible way to group and control a set of RadioItem components. The RadioGroup is responsible for handling the value, tone, message, and disabled state—determining the presentation and selection of the items in the list.

    EXAMPLE USAGE:

    <RadioGroup
      id="experience"
      label="Experience"
      value=""
      onChange={() => {}}
    >
      <RadioItem label="Less than one year" value="0" />
      <RadioItem label="1 year" value="1" />
      <RadioItem label="2 years" value="2" />
      <RadioItem label="3+ years " value="3" />
    </RadioGroup>