Checkbox

A checkbox is an input control that allows a user to select one or more options from a number of choices.

Neutral selected states

When the platform-dst-tokens-finesse feature flag is enabled, this component uses the new neutral treatment for selected states.

19.2.1

Patch Changes

  • Updated dependencies

19.2.0

Minor Changes

  • bd2c5b0112185, (opens new window) - Remove stale API report artifacts from published Platform packages.

Patch Changes

  • Updated dependencies

19.1.1

Patch Changes

19.1.0

Minor Changes

  • d82e6f76528ab, (opens new window) - Add direct subpath package exports as part of the linking-platform, search, media, and design-system barrel-removal (de-barrel) migration.

    These packages now expose their individual modules via explicit package.json exports subpaths so that consumers can import directly from the leaf module (e.g. @atlaskit/pkg/thing) instead of the package barrel/index. This adds new public entry points without changing or removing any existing exports, so it is a backwards-compatible additive change.

    No runtime behaviour changes; this is an API-surface (entry-point) addition to support tree-shaking and to unblock removal of the barrel index files.

Patch Changes

  • Updated dependencies

19.0.0

Major Changes

  • 48e7d03469b80, (opens new window) - Apply Volt entry-point and barrel-removal standards across these design-system packages. Public exports now resolve directly to ./src/* implementations instead of intermediate ./src/entry-points/* re-exports, root barrels and remaining entry-point shims are marked deprecated in favour of per-export subpaths, and a few new subpaths are added (@atlaskit/badge/badge-new, @atlaskit/tile/tile-skeleton, @atlaskit/popper/main, @atlaskit/section-message/message, @atlaskit/section-message/message-action).

    Why this is breaking

    Subpaths and the package root can now resolve to the same module instance. Consumers that deep-imported entry-points/*, or jest.mock()'d a specific subpath may need updates. @atlaskit/image's root export now points at ./src/ui/image/index.tsx. @atlaskit/checkbox/checkbox now exports a named Checkbox from the implementation module (default export retained for backwards compatibility).

    Migration

    Prefer published subpaths over the package root:

    import { Checkbox } from '@atlaskit/checkbox/checkbox'; import TextField from '@atlaskit/textfield/text-field'; import Popup from '@atlaskit/popup/popup'; import SectionMessage from '@atlaskit/section-message/message'; import EmptyState from '@atlaskit/empty-state/empty-state';

    If you imported through internal entry-point modules, switch to the public subpath:

    -import Checkbox from '@atlaskit/checkbox/entry-points/checkbox'; +import { Checkbox } from '@atlaskit/checkbox/checkbox';

Patch Changes

  • Updated dependencies

18.2.1

Patch Changes

  • Updated dependencies

18.2.0

Minor Changes

18.1.0

Minor Changes

  • cd097a2111788, (opens new window) - Republish packages depending on @atlaskit/react-compiler-gating so their published dependency reference is updated to the renamed @atlaskit/react-compiler-gating scope.

    The earlier rename of @atlassian/react-compiler-gating to @atlaskit/react-compiler-gating only bumped the renamed package itself, so dependent packages were never republished and their published versions still referenced the old @atlassian/react-compiler-gating name, which is not available in the public npm registry. This minor bump republishes all affected packages with the corrected dependency.

Patch Changes

  • Updated dependencies

18.0.1

Patch Changes

18.0.0

Major Changes

  • f2dc9097319f0, (opens new window) - ### Dropped support for legacy Typescript 4 types. Typescript 5 is now the new minimum.

    Removes the typesVersions property and dist/types-ts4.5 directory from the dist.

    Types are now exclusively via the "types": "dist/types/index.d.ts" property.

    - "typesVersions": { - ">=4.5 <4.9": { - "*": [ - "dist/types-ts4.5/*", - "dist/types-ts4.5/index.d.ts" - ] - } - },

Patch Changes

  • Updated dependencies

17.3.12

Patch Changes

  • Updated dependencies

17.3.11

Patch Changes

  • Updated dependencies

17.3.10

Patch Changes

17.3.9

Patch Changes

17.3.8

Patch Changes

17.3.7

Patch Changes

17.3.6

Patch Changes

  • Updated dependencies

17.3.5

Patch Changes

17.3.4

Patch Changes

  • Updated dependencies

17.3.3

Patch Changes

  • bfa01f2ed5c65, (opens new window) - Internal only CSS refactor to eliminate nested CSS selectors (specifically sibling combinators like & + svg) in favor of an atomic-friendly styling approach using CSS custom properties. This change is behind the platform-checkbox-atomic-styles feature gate.

17.3.2

Patch Changes

  • Updated dependencies

17.3.1

Patch Changes

  • Updated dependencies

17.3.0

Minor Changes

17.2.3

Patch Changes

  • Updated dependencies

17.2.2

Patch Changes

17.2.1

Patch Changes

  • Updated dependencies

17.2.0

Minor Changes

17.1.24

Patch Changes

17.1.23

Patch Changes

17.1.22

Patch Changes

  • Updated dependencies

17.1.21

Patch Changes

  • Updated dependencies

17.1.20

Patch Changes

  • Updated dependencies

17.1.19

Patch Changes

  • Updated dependencies

17.1.18

Patch Changes

  • Updated dependencies

17.1.17

Patch Changes

  • Updated dependencies

17.1.16

Patch Changes

17.1.15

Patch Changes

17.1.14

Patch Changes

  • Updated dependencies

17.1.13

Patch Changes

17.1.12

Patch Changes

  • Updated dependencies

17.1.11

Patch Changes

  • Updated dependencies

17.1.10

Patch Changes

  • Updated dependencies

17.1.9

Patch Changes

  • Updated dependencies

17.1.8

Patch Changes

  • Updated dependencies

17.1.7

Patch Changes

  • Updated dependencies

17.1.6

Patch Changes

  • Updated dependencies

17.1.5

Patch Changes

  • Updated dependencies

17.1.4

Patch Changes

  • Updated dependencies

17.1.3

Patch Changes

  • Updated dependencies

17.1.2

Patch Changes

17.1.1

Patch Changes

  • Updated dependencies

17.1.0

Minor Changes

Patch Changes

  • Updated dependencies

17.0.4

Patch Changes

17.0.3

Patch Changes

17.0.2

Patch Changes

  • Updated dependencies

17.0.1

Patch Changes

  • Updated dependencies

17.0.0

Major Changes

  • #117762, (opens new window) 424fded960a12, (opens new window) - Migrated from @emotion/react to @compiled/react in order to improve performance, align with the rest of the Atlaskit techstack, and support React 18 Streaming SSR. Please note, in order to use this version of @atlaskit/checkbox, you will need to ensure that your bundler is configured to handle .css imports correctly.

    Most bundlers come with built-in support for .css imports, so you may not need to do anything. If you are using a different bundler, please refer to the documentation for that bundler to understand how to handle .css imports. For more information on the migration, please refer to RFC-73 Migrating our components to Compiled CSS-in-JS, (opens new window).

16.0.0

Major Changes

Patch Changes

  • Updated dependencies

15.4.0

Minor Changes

Patch Changes

  • Updated dependencies

15.3.3

Patch Changes

  • Updated dependencies

15.3.2

Patch Changes

15.3.1

Patch Changes

  • Updated dependencies

15.3.0

Minor Changes

Patch Changes

  • Updated dependencies

15.2.5

Patch Changes

15.2.4

Patch Changes

15.2.3

Patch Changes

  • Updated dependencies

15.2.2

Patch Changes

  • Updated dependencies

15.2.1

Patch Changes

  • Updated dependencies

15.2.0

Minor Changes

15.1.1

Patch Changes

15.1.0

Minor Changes

Patch Changes

  • Updated dependencies

15.0.0

Major Changes

Patch Changes

  • Updated dependencies

14.0.3

Patch Changes

  • Updated dependencies

14.0.2

Patch Changes

  • Updated dependencies

14.0.1

Patch Changes

  • Updated dependencies

14.0.0

Major Changes

  • #136677, (opens new window) d0453c21aafb7, (opens new window) - Remove small and xlarge from sizes. These are currently completely unused within Atlassian and the smaller size results in less accessible interfaces. We are also deprecating the size prop to eventually only have checkboxes render at medium (the default) size.

13.7.1

Patch Changes

  • Updated dependencies

13.7.0

Minor Changes

  • #127511, (opens new window) db30e29344013, (opens new window) - Widening range of react and react-dom peer dependencies from ^16.8.0 || ^17.0.0 || ~18.2.0 to the wider range of ``^16.8.0 || ^17.0.0 || ^18.0.0` (where applicable).

    This change has been done to enable usage of react@18.3 as well as to have a consistent peer dependency range for react and react-dom for /platform packages.

Patch Changes

  • Updated dependencies

13.6.1

Patch Changes

  • Updated dependencies

13.6.0

Minor Changes

13.5.2

Patch Changes

13.5.1

Patch Changes

  • Updated dependencies

13.5.0

Minor Changes

Patch Changes

  • Updated dependencies

13.4.0

Minor Changes

13.3.0

Minor Changes

Patch Changes

  • Updated dependencies

13.2.0

Minor Changes

13.1.5

Patch Changes

13.1.4

Patch Changes

13.1.3

Patch Changes

13.1.2

Patch Changes

13.1.1

Patch Changes

13.1.0

Minor Changes

Patch Changes

  • Updated dependencies

13.0.2

Patch Changes

13.0.1

Patch Changes

  • Updated dependencies

13.0.0

Major Changes

12.6.11

Patch Changes

12.6.10

Patch Changes

12.6.9

Patch Changes

12.6.8

Patch Changes

12.6.7

Patch Changes

12.6.6

Patch Changes

12.6.5

Patch Changes

12.6.4

Patch Changes

12.6.3

Patch Changes

12.6.2

Patch Changes

12.6.1

Patch Changes

12.6.0

Minor Changes

12.5.0

Minor Changes

Patch Changes

  • Updated dependencies

12.4.6

Patch Changes

  • Updated dependencies

12.4.5

Patch Changes

  • Updated dependencies

12.4.4

Patch Changes

  • Updated dependencies

12.4.3

Patch Changes

  • Updated dependencies

12.4.2

Patch Changes

12.4.1

Patch Changes

  • Updated dependencies

12.4.0

Minor Changes

Patch Changes

  • Updated dependencies

12.3.20

Patch Changes

12.3.19

Patch Changes

12.3.18

Patch Changes

12.3.17

Patch Changes

12.3.16

Patch Changes

12.3.15

Patch Changes

  • Updated dependencies

12.3.14

Patch Changes

12.3.13

Patch Changes

  • Updated dependencies

12.3.12

Patch Changes

12.3.11

Patch Changes

  • Updated dependencies

12.3.10

Patch Changes

  • Updated dependencies

12.3.9

Patch Changes

  • Updated dependencies

12.3.8

Patch Changes

12.3.7

Patch Changes

12.3.6

Patch Changes

  • Updated dependencies

12.3.5

Patch Changes

12.3.4

Patch Changes

  • Updated dependencies

12.3.3

Patch Changes

  • Updated dependencies

12.3.2

Patch Changes

  • Updated dependencies

12.3.1

Patch Changes

12.3.0

Minor Changes

Patch Changes

12.2.2

Patch Changes

12.2.1

Patch Changes

12.2.0

Minor Changes

Patch Changes

12.1.3

Patch Changes

12.1.2

Patch Changes

12.1.1

Patch Changes

12.1.0

Minor Changes

12.0.2

Patch Changes

12.0.1

Patch Changes

12.0.0

Major Changes

Changes

In 12.0.0 we improved the performance of Checkbox by making it more similar to a native checkbox and removing performance-heavy API.

Overrides

overrides is an API that allowed extreme customisation flexibility. Previously you could customise the css and attributes of 6 internal components or replace the component entirely.

<Checkbox overrides={{ IconWrapper: { cssFn: defaultStyles => { ...defaultStyles, transition: 'all 0.3 cubic-bezier', }, component: SomeCustomComponent, attributes: { 'data-custom': true } } }} />

This proved to be a significant performance problem even if you weren't using the API. It also exposes internal structure as external API which prevents us from changing the structure and improving the component. We found that not many consumers were using overrides so we decided to benefit all consumers of Checkbox we have removed overrides from the package. If you are using overrides and we haven't already been in contact with you, contact the design system team for assistance in migrating away from it.

Theming

theme is another API that allows you to customise the appearance of Checkbox. Theming could previously be used to customise the various colours, spacing and sizes used in Checkbox. Much like overrides there was minimal usage of this API and it was identified to have a negative performance impact regardless of whether it was used.

We decided to also remove this API to benefit all consumers of Checkbox. If you would like to continue customising checkbox there are now two ways of doing this. Checkbox now spreads any HTMLInputAttribute onto the checkbox input. Therefore you can put a className on the checkbox input and target the svg that is actually being shown, in the exact same way that we target the svg based off checkbox styles. For example,

import React from 'react'; import { css } from '@emotion/core'; import { Checkbox } from '@atlaskit/checkbox; export default function CustomStyleExample() { return ( <Checkbox label="Custom style checkbox" css={css` & + svg { margin-left: -2px; } `} /> ) }

You can also customise the size of the Checkbox with the size prop.

import React from 'react'; import { Checkbox } from '@atlaskit/Checkbox'; export default function LargeSizeExample() { return ( <Checkbox defaultChecked value="Large checkbox" label="Large checkbox" name="checkbox-basic" size="large" testId="large" /> ); }

Note that Checkbox still supports the light mode / dark mode global token. Along with this change we have removed the exports ComponentTokens and ThemeFn from Checkbox as they can no longer be used with the removal of theme.

Other changes

  • Previously all interaction styles were generated in JS using events, causing unnecessary and slow rerenders for actions like hovering and focusing. Now all styles for the Checkbox are applied using css selectors.
  • To generate less dom elements we have removed the dependency on @atlaskit/icon and instead changed to an svg that can be customised to be the default checkbox or the indeterminate checkbox. This svg is styled from the input element with the sibling selector.
  • The disabled state of Checkbox previously had no border. This was not intentional and now Checkbox has a 2px border when it is disabled, this is consistent with all other states of Checkbox.
  • CheckboxProps now extends HTMLInputAttribute which means you can pass any input attribute as a prop onto Checkbox.
  • Changed the inputRef prop to be ref which returns the ref of the checkbox input using forwardRef. This new ref prop will accept the type of the old inputRef prop, (input?: HTMLInputElement) => any, as well as if ref is created with createRef.
  • Removed the prop isFullWidth as it did not do anything.
  • Updated the entry point to only export Checkbox and CheckboxProps. Checkbox can now be a named or default import. As the old entry point allowed access to every export at the base level these exports have now been removed; ComponentTokens, ThemeFn, CheckboxWithoutAnalytics, CheckboxIcon as well as all exported types.
  • Changed indeterminate checkboxes to set aria-checked to be mixed.

Automatic upgrading

There is a codemod that assists you in upgrading most of the changes from above.

  • Removes isFullWidth, theme and overrides prop.
  • Shifts over usages of inputRef to ref
  • Removes imports of ComponentTokens and ThemeFn.
  • Changes imports of CheckboxProps to be at the base level.
  • Changes imports of CheckboxWithoutAnalytics to import Checkbox at the base level.
# You first need to have the latest `Checkbox` installed before you can run the codemod yarn upgrade @atlaskit/checkbox@^12.0.0 # Run the codemod cli # Pass in a parser for your codebase npx @atlaskit/codemod-cli /path/to/target/directory --parser [tsx | flow | babel]

Patch Changes

  • c7604cdf02, (opens new window) - In 12.0.0 the checkbox input accidentally changed vertical alignment from top to center. This had a visual impact when you had a checkbox label the spanned multiple lines. This changes the vertical alignment of the checkbox input back to top.
  • 6cb7f0c5e5, (opens new window) - Patch fix to make the svg not shrink and give Checkbox a display name.

11.0.8

Patch Changes

11.0.7

Patch Changes

11.0.6

Patch Changes

  • Updated dependencies

11.0.5

Patch Changes

11.0.4

Patch Changes

11.0.3

Patch Changes

11.0.2

Patch Changes

11.0.1

Patch Changes

11.0.0

Major Changes

Patch Changes

  • Updated dependencies

10.1.14

Patch Changes

10.1.13

Patch Changes

10.1.12

Patch Changes

  • Updated dependencies

10.1.11

Patch Changes

10.1.10

Patch Changes

10.1.9

Patch Changes

  • Updated dependencies e3f01787dd, (opens new window):
    • @atlaskit/webdriver-runner@0.2.0
    • @atlaskit/button@13.3.8
    • @atlaskit/form@7.1.4
    • @atlaskit/section-message@4.1.6

10.1.8

Patch Changes

10.1.7

Patch Changes

  • [patch]6548261c9a, (opens new window):

    Remove namespace imports from React, ReactDom, and PropTypes- Updated dependencies 6548261c9a, (opens new window):

    • @atlaskit/docs@8.3.2
    • @atlaskit/visual-regression@0.1.9
    • @atlaskit/analytics-next@6.3.5
    • @atlaskit/button@13.3.7
    • @atlaskit/form@7.1.2
    • @atlaskit/icon@20.0.1
    • @atlaskit/section-message@4.1.5
    • @atlaskit/theme@9.5.1

10.1.6

Patch Changes

  • Updated dependencies c0102a3ea2, (opens new window):
    • @atlaskit/icon@20.0.0
    • @atlaskit/form@7.1.1
    • @atlaskit/section-message@4.1.4
    • @atlaskit/docs@8.3.1
    • @atlaskit/button@13.3.6

10.1.5

Patch Changes

10.1.4

Patch Changes

10.1.3

Patch Changes

  • [patch]d222c2b987, (opens new window):

    Theme has been converted to Typescript. Typescript consumers will now get static type safety. Flow types are no longer provided.

    Breaking

    ** getTokens props changes ** When defining the value function passed into a ThemeProvider, the getTokens parameter cannot be called without props; if no props are provided an empty object {} must be passed in:

    <CustomTheme.Provider value={t => ({ ...t(), backgroundColor: '#333'})} >

    becomes:

    <CustomTheme.Provider value={t => ({ ...t({}), backgroundColor: '#333'})} >

    ** Color palette changes ** Color palettes have been moved into their own file. Users will need to update imports from this:

    import { colors } from '@atlaskit/theme'; colors.colorPalette('8');

    to this:

    import { colorPalette } from '@atlaskit/theme'; colorPalette.colorPalette('8');

    or for multi entry-point users:

    import * as colors from '@atlaskit/theme/colors'; colors.colorPalette('8');

    to this:

    import * as colorPalettes from '@atlaskit/theme/color-palette'; colorPalettes.colorPalette('8');

10.1.2

Patch Changes

10.1.1

Patch Changes

10.1.0

Minor Changes

  • [minor]f22f6e1e4f, (opens new window):

    Adding an optional prop testId that will set the attribute value data-testid. It will help products to write better integration and end to end tests.

10.0.0

Major Changes

  • [major]97bab7fd28, (opens new window):

    @atlaskit/checkbox 10.x includes the following changes:

    • Replaced previous theme implementation with new @atlaskit/theme v2 implementation
    • Added overrides prop which enables targeted customisations of key components in the @atlaskit/checkbox package.

    Breaking Changes

    HiddenCheckbox and spread props

    Passing props to the <Checkbox/> component for them to be spread onto the underlying <HiddenCheckbox/> component is now no longer possible. @atlaskit/checkbox still supports passing props down to the <HiddenCheckbox/> component, however we've opted to make this behaviour more explicit.

    Whereas previously you would do this:

    <Checkbox ...supportedCheckboxProps 'data-testid'='test-checkbox' />

    Now you would leverage the overrides prop to pass these props down to the <HiddenCheckbox/> component like so:

    <Checkbox ...supportedCheckboxProps overrides={{ HiddenCheckbox:{ attributesFn: () => ({ 'data-testid': 'test-checkbox' }) } }} />

9.0.9

Patch Changes

  • [patch]097b696613, (opens new window):

    Components now depend on TS 3.6 internally, in order to fix an issue with TS resolving non-relative imports as relative imports

9.0.8

Patch Changes

9.0.7

Patch Changes

9.0.6

Patch Changes

9.0.5

Patch Changes

  • [patch]926b43142b, (opens new window):

    Analytics-next has been converted to Typescript. Typescript consumers will now get static type safety. Flow types are no longer provided. No behavioural changes.

    Breaking changes

    • withAnalyticsForSumTypeProps alias has been removed, please use withAnalyticsEvents
    • AnalyticsContextWrappedComp alias has been removed, please use withAnalyticsContext

    Breaking changes to TypeScript annotations

    • withAnalyticsEvents now infers proptypes automatically, consumers no longer need to provide props as a generic type.
    • withAnalyticsContext now infers proptypes automatically, consumers no longer need to provide props as a generic type.
    • Type WithAnalyticsEventProps has been renamed to WithAnalyticsEventsProps to match source code
    • Type CreateUIAnalyticsEventSignature has been renamed to CreateUIAnalyticsEvent to match source code
    • Type UIAnalyticsEventHandlerSignature has been renamed to UIAnalyticsEventHandler to match source code
    • Type AnalyticsEventsPayload has been renamed to AnalyticsEventPayload
    • Type ObjectType has been removed, please use Record<string, any> or [key: string]: any
    • Type UIAnalyticsEventInterface has been removed, please use UIAnalyticsEvent
    • Type AnalyticsEventInterface has been removed, please use AnalyticsEvent
    • Type CreateAndFireEventFunction removed and should now be inferred by TypeScript
    • Type AnalyticsEventUpdater removed and should now be inferred by TypeScript

9.0.4

Patch Changes

9.0.3

Patch Changes

9.0.2

Patch Changes

9.0.1

Patch Changes

  • [patch]d0db01b410, (opens new window):

    TypeScript users of withAnalyticsEvents and withAnalyticsContext are now required to provide props as a generic type. This is so that TypeScript can correctly calculate the props and defaultProps of the returned component.

    Before:

    withAnalyticsEvents()(Button) as ComponentClass<Props>;

    After:

    withAnalyticsEvents<Props>()(Button);

9.0.0

Major Changes

  • [major]87a2638655, (opens new window):

    Replaced styled-components with emotion 10 as part of Atlaskit-wide conversion process.

    No changes to styling or API; only a breaking change if checkbox is being styled using the styled-components styled function or via the styled-components theming library.

8.0.5

  • Updated dependencies 06326ef3f7, (opens new window):
    • @atlaskit/docs@8.1.3
    • @atlaskit/button@13.0.9
    • @atlaskit/form@6.1.1
    • @atlaskit/section-message@4.0.5
    • @atlaskit/icon@19.0.0

8.0.4

Patch Changes

8.0.3

Patch Changes

  • [patch]9c80ef7539, (opens new window):

    The update to node 10 reveals that unknown type is breaking the extract react types. I had to replace unknown type by any

8.0.2

  • Updated dependencies cfc3c8adb3, (opens new window):
    • @atlaskit/docs@8.1.2
    • @atlaskit/button@13.0.8
    • @atlaskit/form@6.0.5
    • @atlaskit/section-message@4.0.2
    • @atlaskit/icon@18.0.0

8.0.1

Patch Changes

8.0.0

  • [major]70862830d6, (opens new window):
    • Checkbox has been converted to Typescript. Typescript consumers will now get static type safety. Flow types are no longer provided. No API or behavioural changes.

7.0.1

7.0.0

  • [major]7c17b35107, (opens new window):
    • Updates react and react-dom peer dependencies to react@^16.8.0 and react-dom@^16.8.0. To use this package, please ensure you use at least this version of react and react-dom.

6.0.4

  • Updated dependencies 9c0b4744be, (opens new window):
    • @atlaskit/docs@7.0.3
    • @atlaskit/button@12.0.3
    • @atlaskit/form@5.2.7
    • @atlaskit/icon@16.0.9
    • @atlaskit/section-message@2.0.3
    • @atlaskit/theme@8.1.7

6.0.3

  • Updated dependencies 1e826b2966, (opens new window):
    • @atlaskit/docs@7.0.2
    • @atlaskit/analytics-next@4.0.3
    • @atlaskit/form@5.2.5
    • @atlaskit/icon@16.0.8
    • @atlaskit/section-message@2.0.2
    • @atlaskit/theme@8.1.6
    • @atlaskit/button@12.0.0

6.0.2

6.0.1

  • Updated dependencies 9d5cc39394, (opens new window):
    • @atlaskit/docs@7.0.1
    • @atlaskit/analytics-next@4.0.1
    • @atlaskit/form@5.2.1
    • @atlaskit/icon@16.0.5
    • @atlaskit/section-message@2.0.1
    • @atlaskit/theme@8.0.1
    • @atlaskit/button@11.0.0

6.0.0

  • [major]76299208e6, (opens new window):

    • Drop ES5 from all the flow modules

    Dropping CJS support in all @atlaskit packages

    As a breaking change, all @atlaskit packages will be dropping cjs distributions and will only distribute esm. This means all distributed code will be transpiled, but will still contain import and export declarations.

    The major reason for doing this is to allow us to support multiple entry points in packages, e.g:

    import colors from `@atlaskit/theme/colors`;

    Previously this was sort of possible for consumers by doing something like:

    import colors from `@atlaskit/theme/dist/esm/colors`;

    This has a couple of issues. 1, it treats the file system as API making internal refactors harder, we have to worry about how consumers might be using things that aren't actually supposed to be used. 2. We are unable to do this internally in @atlaskit packages. This leads to lots of packages bundling all of theme, just to use a single color, especially in situations where tree shaking fails.

    To support being able to use multiple entrypoints internally, we unfortunately cannot have multiple distributions as they would need to have very different imports from of their own internal dependencies.

    ES Modules are widely supported by all modern bundlers and can be worked around in node environments.

    We may choose to revisit this solution in the future if we find any unintended condequences, but we see this as a pretty sane path forward which should lead to some major bundle size decreases, saner API's and simpler package architecture.

    Please reach out to #fabric-build (if in Atlassian) or create an issue in Design System Support, (opens new window) (for external) if you have any questions or queries about this.

5.0.14

5.0.13

5.0.12

  • [patch]b0153ee6c9, (opens new window):
    • Enabled the isRequired validation on checkbox and added the asterisk after the checkbox label to signify the required field

5.0.11

5.0.10

5.0.9

  • Updated dependencies 58b84fa, (opens new window):
    • @atlaskit/analytics-next@3.1.2
    • @atlaskit/button@10.1.1
    • @atlaskit/icon@15.0.2
    • @atlaskit/section-message@1.0.14
    • @atlaskit/theme@7.0.1
    • @atlaskit/docs@6.0.0

5.0.8

  • Updated dependencies d13242d, (opens new window):
    • @atlaskit/docs@5.2.3
    • @atlaskit/button@10.0.4
    • @atlaskit/icon@15.0.1
    • @atlaskit/section-message@1.0.13
    • @atlaskit/theme@7.0.0

5.0.7

  • Updated dependencies ab9b69c, (opens new window):
    • @atlaskit/docs@5.2.2
    • @atlaskit/button@10.0.1
    • @atlaskit/section-message@1.0.12
    • @atlaskit/icon@15.0.0

5.0.6

  • Updated dependencies 6998f11, (opens new window):
    • @atlaskit/docs@5.2.1
    • @atlaskit/analytics-next@3.1.1
    • @atlaskit/icon@14.6.1
    • @atlaskit/section-message@1.0.11
    • @atlaskit/theme@6.2.1
    • @atlaskit/button@10.0.0

5.0.5

5.0.4

5.0.3

5.0.2

5.0.1

5.0.0

  • [major] Checkbox refactored to remove the need for CheckboxStateless 80e1925, (opens new window)

    @atlaskit/checkbox 5.x is part of an ongoing body of work to normalize atlaskit form components. There are a few breaking changes you need to be aware of in upgrading from 4.x to 5.x.

    Exports

    @atlaskit/checkbox no longer specifies the Checkbox component as the default export. Moreover the following changes have been made to exports from the @atlaskit/checkbox package.

    Checkbox

    Checkbox is now a named export of the @atlaskit/checkboxpackage. Please import it as below.

    import { Checkbox } from @atlaskit/checkbox;

    The Checkbox component is now a conditionally controlled component, the isChecked prop is exposed for users to control the checked state of the component. This was the sole reason for having the CheckboxStateless component in pre 5.x, and as a result leveraging this pattern allows us to do away with the CheckboxStateless component.

    To let the component take care of checked state, leave the isChecked prop unset, or explicitly set it to undefined.

    Additionally, one can control the initial checked state of a component by setting the defaultChecked (boolean) prop. This is used as the initial value of the internal isChecked property in state. This value will be overridden by additional user interactions with the component.

    CheckboxStateless - deprecated

    This component has been deprecated in favor of the conditionally controlled component pattern specified above.**

    CheckboxGroup - deprecated:

    @atlaskit/checkbox no longer exports a CheckboxGroup component. It has been removed for the following reasons:

    • It was really a thin wrapper enforcing very basic styling opinions over its children (display: flex, flex: column).
    • The existing styling blocks the horizontal display of checkbox group children.

    Prop Changes

    • <Checkbox/> - initiallyChecked renamed to defaultChecked
    • <Checkbox/> - label prop now accepts type Node instead of type string.
    • <Checkbox/> - isChecked is now an optional boolean prop on the Checkbox component.

4.0.6

4.0.4

4.0.3

4.0.2

  • [patch] Updated dependencies acd86a1, (opens new window)
    • @atlaskit/icon@13.2.2
    • @atlaskit/button@9.0.4
    • @atlaskit/theme@5.1.2
    • @atlaskit/analytics-next@3.0.3
    • @atlaskit/docs@5.0.2

4.0.1

4.0.0

3.1.3

3.1.2

3.1.1

3.1.0

3.0.6

3.0.5

3.0.4

3.0.3

3.0.2

3.0.1

3.0.0

2.1.0

2.0.2

2.0.0

1.4.0

1.3.1

1.3.0

1.2.3

1.2.2

1.2.1

1.2.0

1.1.8

1.1.7

1.1.6 (2017-11-24)

Bug Fixes

1.1.5 (2017-11-22)

Bug Fixes

1.1.4 (2017-11-15)

Bug Fixes

1.1.3 (2017-10-27)

Bug Fixes

1.1.2 (2017-10-22)

Bug Fixes

1.1.1 (2017-10-10)

Bug Fixes

1.1.0 (2017-09-27)

Bug Fixes

Features

1.0.0 (2017-09-13)

Features

Was this page helpful?
We use this feedback to improve our documentation.
© 2026 AtlassianTrademark, (opens new window)Privacy, (opens new window)License