Select
Select gives users the ability to make a single selection, or multiple selections from a number of options.
Installation
yarn add @atlaskit/select
Usage
Detailed docs and example usage can be found here.
Select allows users to make a single selection or multiple selections from a list of options.
Select gives users the ability to make a single selection, or multiple selections from a number of options.
yarn add @atlaskit/select
Detailed docs and example usage can be found here.
9f62ecec4d422
-
Update dependencies.87b2300ef656e
-
Remove stop propogation in popup selectd0c3d27216b7c
-
Remove theme prop and merge customized components for performance89790d380dd8c
-
Restore aria-live messages for PopupSelect8d2c4dcde79da
-
Update use of deprecated aria-label to proper label in PopupSelect#173737
667640085e5c7
-
Update the font size for the textarea and select components at the xs
breakpoint. The font size
will be increased to 16px to prevent IOS Safari from zooming in on the text field when it is
focused. Styles for larger breakpoints will remain unchanged.
Apply a fix to the textfield component to ensure monospace is correctly applied to the input at
the media.above.xs
breakpoint.
These changes are currently behind a feature gate and will be evaluated for effectiveness. If successful, they will be included in a future release.
9934fe89f1e6a
-
Improving assisstive technology support by adding better semantics and reducing live region usaged6493a162ba82
-
Update types to improve React 18 compatibility.ddb0846c39a88
-
Integrate styles of select and react-select in a single placee78013c5d716b
-
Update checkbox and radio select to match new icon styles behind feature flag.5bc9dc0796474
-
Remove react-focus-lock-next
dependency57f451bda8919
-
Adds side-effect config to support Compiled css extraction in third-party apps380a955e9f249
-
Internal change only -- remove usages of react-node-resolver as it is incompatible with React 18.515ed7a31a9fb
-
Make async select by default in select453919c3f78d3
-
Pass isInvalid to internal react-select from select prop to support aria-invalid on input8cf1d1a9589a6
-
Hide flag emoji in country select for better AT support87c14ad1a3efa
-
Use semantic tags and arias for combobox and listbox and reduce aria-live709b9c76673df
-
Add clearControlLabel to select component.46cb627917bf7
-
Export props for IndicatorsContainer
component.e362b41d4b35f
-
This version removes tab-event-should-close-popupSelect
feature flag. Tab and Shift+Tab now
dismisses the list of opened popup select options and allows users to navigate to next or previous
elements accordingly.a06534942509c
-
Remove react-uid
and use an ID generator that is compatible with React16 and React 18; Strict
React 18 behind a flag.73de70dc13e2e
-
Updated group heading styles introduced in v17.19.0 are now default and no longer behind a feature
flag.56dfbfe361f96
-
Upgrade react-select from 5.4 to 5.8 and replace it with internal atlaskit/react-select56dfbfe361f96
-
Upgrade react-select from 5.4 to 5.8 and replace it with internal atlaskit/react-select1946e3bf8c6c9
-
Internal change only: update feature flag names.f344b9735b94a
-
Updated dependencies0fee45dd431ca
-
Updated group heading styles to align to new modernised typography styles. Headings are no longer
all uppercase and are now bold. This change is behind a feature flag.66b5d35764e86
-
Updated select open menu handler and fixed tests
(https://product-fabric.atlassian.net/browse/DSP-20454)141a2cdfda71c
-
Fix select and radio icons when icon facade feature flag is enabled by opting out of new icons.c140497da3215
-
[ux] Enable new icons behind a feature flag.a91489985e535
-
[ux] Tab and Shift+Tab now dismisses the list of opened popup select options and allows users to
navigate to next or previous elements accordingly.2f9601a8a634b
-
This version removes platform.design-system-team.use-default-select-in-popup-select_46rmj
feature flag. The PopupSelect
component now uses the internal Select
component ensure the
accessibility of options with group labels for assistive technologies.0d3bdaf1e3d68
-
[ux] Set the color.text.subtle token for 'No options' text to meet a 4.5:1 color contrast.9d04736c97bfe
-
Added feature flag for fixing react18 bug(https://product-fabric.atlassian.net/browse/DSP-19701)
for handling menu triggers778c15c1d279a
-
[ux] Removed feature flag platform.design-system-team.select-new-typography_7m89c
resulting in
minor visual changes to typography.#127511
db30e29344013
-
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.3as well as to have a consistent peer
dependency range for
reactand
react-domfor
/platform` packages.
8b8090800a35d
-
Bump peer dependency for react-dom to include version 17 and 18.8ebc56af5f1ca
-
Revert due to HOT-110871 - causing Jira red master941edf62401ae
-
This version removes platform.design-system-team.use-default-select-in-popup-select_46rmj
feature flag. The PopupSelect
component now uses the internal Select
component ensure the
accessibility of options with group labels for assistive technologies.d908d9c41ed27
-
The parent group label in CountrySelect
must be announced with options.19b70fe0c7efc
-
[ux] Updating multi value labels font size using composite font token. If successful, these
changes will be made available in a later release.69cea8c513faa
-
Add announcement of focused option for the first open of Popup selecte241c04ab92d5
-
Remove abandoned feature flag usage77504ff274f72
-
DSP-19576: Assign names to anonymous default exports998268697de7d
-
Remove remnants of extract-react-types
.854b5695ee062
-
Making updates to feature flagged font size changes. If successful, these changes will be made
available in a later release.a8bd419fd70b9
-
Explicitly set jsxRuntime to classic via pragma comments in order to avoid issues where jsxRuntime
is implicitly set to automatic.c260b95b219de
-
Update react-select typescript module augmentation path9e50bb672a7f
-
Add the aria-describedby
to Select
component if we do not have options.1d0720a5e5f9
-
We are testing typography changes in group headings behind a feature flag. If this change is
successful it will be available in a later release.0d4480895db7
-
Add support for React 18 in non-strict mode.6cca90095b7e
-
ClearIndicator
button now uses the Pressable
primitive.5d9e1dccacca
-
[ux] Update input border color token to meet 3:1 color contrast ratioLight theme:
color.border.input: #091E4224 → #8590A2Dark mode: color.border.input: #A6C5E229 → #738496af0f52708e93
-
Visual border of invalid state should be 2px54d6e7a58943
-
use @atlaskit/select
component in PopupSelect
. This allows PopupSelect
to receive all the
improvements from @atlaskit/select
.35fd5ed8e1d7
-
Upgrading internal dependency bind-event-listener
to @^3.0.0
2cf5300457e7
-
Convert AtlaskitSelect from react class component to function component2aefab5730ab
-
ECA11Y-207 Added Tab navigation for video panel controls and handling key press on them373dc429147d
-
Reverted "Convert AtlaskitSelect from react class component to function component"fa9de32b502e
-
Convert AtlaskitSelect from react class component to function component2c6f01982c94
-
Fixed aria-describedby attribute being incorrect when components prop is passed4efd62cdc533
-
SHPLVIII-481: Assign name to default export components to fix quick-fix imports8d4e99057fe0
-
Upgrade Typescript from 4.9.5
to 5.4.2
8ab7a816dca7
-
Revert input border change from the previous version427c2dd9e0d6
-
[ux] Update input border width from 2px to 1px with darker color to meet 3:1 color contrastbfe34a286ad8
-
DSP-17230 Update RadioOption to accept generic type arg for OptionTypecc843d47d71e
-
Reverted the feature flag which reduced re-renders in <PopupSelect>
as it had other unintended
side-effects.8e66f751df96
-
Use feature flag to roll out border width update from 2px to 1pxd06aa1426a45
-
Thess packages has been added to the Jira push model.26b963783de7
-
DSP-16671 Update CheckboxSelect to accept generic type arg for OptionType6c9b587369cf
-
Support to add additional aria-describedby on select when isSearchable is falsea3a08f8f4a03
-
update aria-describedby attribute to not be undefinedf12e489f23b0
-
Re-build and deploy packages to NPM to resolve React/Compiled not found error (HOT-106483).eb496c9a3474
-
Bug fixes for configuraton panel boolean & enum fieldsed8b6957789
- Removes
any usage of deprecated legacy theming APIs. These have been superseeded by design tokens.37d5038129d
- Revise
types for ClearIndicator
usage inside AtlaskitSelect
1cc562c4005
- upgrade
shallow-equal version to 3.1.07a88114cef7
- added
type dependency for @types/react-node-resolver89f1ebf3c96
- Fix
popup select close issue when pressing escape6f2d15a60eb
- Remove
unused variables in components and PopupSelect0de92f17021
- Bump
react-focus-lock to latest version31496cc7c8a
- [ux]
Adds accessible name to the search input for popup select components via new label
prop or
placeholder
prop if label
is not provided.f03e630c03e
- [ux]
Adds keydown handler to target spread props for better accessibility for keyboard users.aee1bdd977d
- Update
select checkbox and radio icon to have 1px border under FFa22d71ff733
- [ux]
Select component now respects explicitly passed value set to aria-describedby attribute.872a49e0bd8
- Fixed
color contrast for grouped text label in the Select component479e6a92e33
- Move css
styles out to top-level scope for more consistency.fd6bb9c9184
- Delete
version.json2c77d477cbb
- Ensures
static linting occurs in the techstack, fixes one example's eslint error.5c22f7ade33
- Convert
CSS tagged templates to explicit function calls with objects.919bf219a91
- use
border token for border width599bfe90ee3
- Internal
change to use shape tokens. There is no expected visual change.#35267
96ac277d0d7
- [ux] -
created custom onFocus function, which overwrites built in onFocus method for ariaLiveMessages;
8f436f0c301
- extend
border contrast feature flag to support confluence774ed69ecef
- Internal
changes to use space tokens for spacing values. There is no visual change.449ab6d341b
- Clear
control keyboard access for Select componente7ea6832ad2
- Bans the
use of React.FC/React.FunctionComponent type in ADS components as part of the React 18 migration
work. The change is internal only and should not introduce any changes for the component
consumers.3c38b01cfd9
- Added
screen reader text to announce multi selects support multiple options. This will be announced
prior to any placeholder text.45bcfb68efb
- Testing
behind a feature flag: reduce re-renders in <PopupSelect>
by using an available renderProps to
both disable and block scrolling at the right time as well as avoid rendering the <Select>
to a
portal not visible to the user.1cd0d824b3c
- NO-ISSUE
Add basic memoization on CheckboxSelect and RadioSelect to avoid unnecessary re-renders with
otherwise static references.6e51e0d5358
- [ux]
update border width from 2px to 1px and add 1px box-shadow when focus or error9d00501a414
- Ensure
legacy types are published for TS 4.5-4.841fae2c6f68
- Upgrade
Typescript from 4.5.5
to 4.9.5
ffeeae59446
- Migrates
unit tests from enzyme to RTL.56507598609
- Skip
minor dependency bump79ddcb13067
- [ux]
style(select): update fallback of select placeholder to N200'8a8aac2b848
- [ux]
Adds proper disabled styling to the isMulti component.c3a92e0b058
- Export
placeholder props from figma plugin74c1b81a476
- Replaces
use of gridSize
with space tokens. There is no expected visual change.7f5f23dcb68
-
Introduce shape tokens to some packages.22b754d311f
- Updates
usage of removed design token utilities.UNSAFE_util.transparent
in favour of its replacement
utilities.UNSAFE.transparent
18aeca8c199
- Internal
change to update token references. There is no expected behaviour or visual change.81bb765f055
- Missing
export for type MultiValueRemoveProps added017e3dccdf3
- Add
SelectInstance for export2368982b4d2
- Add
MultiValueRemoveProps, SelectInstance to exportc74089f0c6d
- Revert
the onOpen and onClose logic in PopupSelecte7046ed0fb1
- - Add
MultiValueRemoveProps to export#26712
95b3630e9b5
- Update
@atlaskit/select
to use react-select v5, and update types
Use forwardRef for all wrapped components - this means that if you were accessing anything on the Select instance using a ref, the ref will now reference the internal Select directly (see below for how to upgrade)
Replace HOCs with hooks - if you were using our HOCs to create custom Selects (i.e., makeCreatableSelect, manageState, makeAsyncSelect) these have now been replaced by hooks (i.e., useCreatable, useStateManager, useAsync)
Remove imports of @types/react-select
- no longer required as react-select v5 now uses
Typescript,
_ Example _
@atlaskit/select v15 and earlier:
import { makeAsyncSelect } from '@atlaskit/select';
const AsyncSelect = makeAsyncSelect(ProxyBaseSelect);
return (
<AsyncSelect ... />
)
@atlaskit/select v16:
import Select, { useAsync } from '@atlaskit/select';
const asyncProps = useAsync({
promiseFn: useCallback(() => loadOptions(inputValue), [inputValue])
});
return (
<Select
inputValue={inputValue}
isLoading={asyncProps.isLoading}
options={!asyncProps.isLoading ? asyncProps.data : []}
...
/>
)
Remove dependency on AutosizeInput - our new solution uses CSS grid which IE11 does not fully support; also .prefix__input now targets the input and NOT the container
IndicatorProps
is deprecated and replaced with
ClearIndicatorProps, DropdownIndicatorProps, LoadingIndicatorProps
. Examples can be viewed in
the constellation docs
onInputChange
now requires a 2nd argument of type InputActionMeta
NoticeProps
should be used as the prop to customize LoadingMessage
and NoOptionsMessage
components
b8430db3873
- "select
package now uses declarative entry points. atlaskit/select now exports all necessary types.
Consumers should now import directly from atlaskit/select, not from eg atlaskit/select/types"
c55a340ea4c
-
Consumers using Popup Select custom modifiers will now have typescript errors. This is how to fix
them.
Custom popper.js modifiers passed into Popup Select are now strictly typed, providing additional type safety and IDE code-completion.
To support this, a third generic for <PopupSelect/> has been added. This generic takes a union of the names of each modifier you include in popperProps.
If you currently set custom modifiers like this:
import {OptionType, PopupSelect} from '@atlaskit/select'
<PopupSelect<OptionType, false>
popperProps = {modifiers: [
{name: 'custom-modifier', ...},
{name: 'custom-modifier-2', ...}
]}>
...
</>
In order to avoid type errors in the new release, you will need to add a generic to PopupSelect specifying the modifiers you are providing:
import {OptionType, PopupSelect} from '@atlaskit/select'
type myModifiers = 'custom-modifier' | 'custom-modifier-2'
<PopupSelect<OptionType, false, myModifiers>>
In addition, the ModifierList type is now exported. ModifierList is a union type containing the names of the default modifiers passed into PopupSelect. If you need to use them as well:
import {OptionType, PopupSelect, ModifierList} from '@atlaskit/select'
type myModifiers = ModifierList | 'custom-modifier' | 'custom-modifier-2'
<PopupSelect<OptionType, false, myModifiers>>
8048ae661df
- [ux]
Fixed bug where consumers extending the styles of PopupSelect would not receive the correct base
styles in their custom styles functions.a0bf7e532ff
- Fix
validationState taking precedent over isInvalid9827dcb82b8
- No-op
change to introduce spacing tokens to design system components.5e578b89178
- Fixed an
issue in PopupSelect that caused the page to scroll to the top.bedbdec0e82
- Update
hover state appearance of subtle Textarea, Textfield and Select components to match the hover
states of their default counterparts.8cc2f888c83
- Upgrade
Typescript from 4.3.5
to 4.5.5
#24004
0fbb2840aba
- Add
isInvalid prop to @atlastkit/Select
. The prop indicates whether if the component is in the error
state. If true, it visually shows a red border around the input.
This replaces validationState to make Select more consistent like other components that uses isInvalid prop.
8cf1c311f38
- Add
additional type check for the modifier generic in PopupSelect.
41ce212cfe2
- Updates
@emotion/core
to @emotion/react
; v10 to v11. There is no expected behavior change.2d61e38e5d3
- [ux]
Adds isSearchable option to Popup Select908a0f65b91
- [ux]
Hides clear icon on selections in disabled multi-selectde1b2769486
- Update
design tokens used for Select's borders, to new border.input tokens8d4228767b0
- Upgrade
Typescript from 4.2.4
to 4.3.5
.d9f112c7b09
- Reverts
change to multiSelect's remove behaviour when using tokens, fixing issue with a pointer-events:
none style68cc8008851
- [ux]
Introduces appearance prop to component, with 'default', 'subtle' and 'none' variantsc17c6943be2
- Updated
appearance of multi-select tags; when delete button is hovered, the appearance now matches
@atlaskit/tag. The change is only visible with design token CSS enabled (in light or dark mode)45cae79ec0f
- [ux]
Internal changes to <CountrySelect /> to no longer override container and menu width. The
behaviour is now the same as the default Select component. Visual changes are possible if the
<CountrySelect /> is being used in an unconstrained container (it will now expand to fill as is
the default).
Component now also uses the correct types (previously set to any
). Props are still passed
through so there is no runtime effect, but this may effect compilation for users providing props
that are unsupported by the runtime.
6e6ff42cd4c
- Replaces
focus-trap with react-focus-lock in line with implementation in Jira Frontend.
1c4840e546a
- fix
popup select alignment bugdec5021eefd
- [ux]
Trigger onMenuClose prop when popup select closes.fe575d49d66
- Updated
styles to use new input design tokens4609a8a733a
- Made
SelectWithoutAnalytics component and InputActionMeta type available from @atlaskit/select8a5bdb3c844
-
Upgrading internal dependency (bind-event-listener) for improved internal types8f6f225ac11
- Updated
prop types for Popup Selecte4b612d1c48
- Internal
migration to bind-event-listener for safer DOM Event cleanup#21570
145c9cea461
- [ux]
Added 2 new props for controlling the open state of PopupSelect:
isOpen
controls whether the popup is open (controlled)defaultIsOpen
controls whether the popup is initially open on mount (uncontrolled)db58fa26cbf
- [ux]
Updated input tokens within @atlaskit/select
.4624991be21
- [ux]
Fixes a regression affecting MacOS Safari. The cursor incorrectly displayed as 'text' rather than
'default' when the pointer was over a select option.e7438659c2e
- Updated
dependency '@types/react-select' to fix type errorcb2392f6d33
- Upgrade
to TypeScript 4.2.4cb2392f6d33
- Updated
types for @atlaskit/select to support Typescript 4.2.462edf20ab1e
- Migrates
all usage of brand tokens to either selected or information tokens. This change is purely for
semantic reasons, there are no visual or behavioural changes.b2c25c19e38
-
PopupSelect now uses @atlaskit/visually-hidden
under the hood.19d72473dfb
- The
no-unsafe-design-token-usage eslint rule now respects the new token naming conventions when
auto-fixing by correctly formatting token ids.19d72473dfb
- The
no-unsafe-design-token-usage eslint rule now respects the new token naming conventions when
auto-fixing by correctly formatting token ids.19d72473dfb
- Bump
react-fast-compare to latest version (3.2.0)f460cc7c411
- Builds
for this package now pass through a tokens babel plugin, removing runtime invocations of the
tokens() function and improving bundle size.401179b652b
-
PopupSelect now returns focus to the "trigger" element on close.b85e7ce12cd
- Internal
upgrade of memoize-one to 6.0.06fb4421c4c1
- Fixed
the validation token for Select in the Dark theme.#13864
f7cbc6631cf
-
Instrumented select with the new theming package, @atlaskit/tokens
.
New tokens will be visible only in applications configured to use the new Tokens API (currently in alpha).
These changes are intended to be interoperable with the legacy theme implementation. Legacy dark mode users should expect no visual or breaking changes.
3fc13e11952
- Fix
input text colour when using tokens1dfc276fa55
- Expose
InputActionMeta in atlaskit/select. Convert withSmarts from class to function component. Fix
analytics.ce350569ced
- The
aria-live
prop is now assertive
by default to help option selection to stay in sync with
screen reader announcements.378d1cef00f
- Bump
@atlaskit/theme
to version ^11.3.0
.8c9055949d4
- [ux]
Options and Placeholders are now easier to see for users with low vision. We have also improved
the experience in Windows High Contrast Mode.d5a9d28e06a
- Removed
animated functionality as the exit animation on multi-values isn’t working well in react-select
1ffa16e7d54
- [ux] An
argument of PopupSelect
's target
render props was extended with aria-haspopup
,
aria-expanded
, and aria-controls
fields . You should pass this fields to custom trigger like
({isOpen, ...triggerProps}) => <button {...triggerProps}>Trigger</button>
. Provided aria
attributes help users who use assistive technologies understand a component better.56dbb93df94
- [ux]
Fixed failing color contrast issues for the Checkbox and Radio icons in CheckboxSelect and
RadioSelect respectively.76f16d562bc
- Removed
styled-components as a peerDependency1f493e1dc65
- Bump
react-select
to v4. This brings some API changes and it uses emotion
v11.6ac48c99a54
- The
entire content of a selected country, including the abbreviated name and the country code, is
announced to a screen reader not just the country name.0e3333cd10a
- Corrects
usage of modal dialog types.0115b3b722b
- Update
PopupSelect dependency @popperjs/core
to ^2.9.1
, fixing some positioning bugs, such as in
parents with will-change
CSS properties set. For more information on the specific changes, see
the popper docs.c50a63f9f72
- Upgrade
@types/react-select
to v3.1.2
and fix type breaks79c23df6340
- Use
injected package name and version for analytics instead of version.json.d3265f19be
- Transpile
packages using babel rather than tscc3d2088249
- expose
GroupedOptionsType type5f58283e1f
- Export
types using Typescript's new "export type" syntax to satisfy Typescript's --isolatedModules
compiler option. This requires version 3.8 of Typescript, read more about how we handle Typescript
versions here: https://atlaskit.atlassian.com/get-started Also add typescript
to
devDependencies
to denote version that the package was built with.fc8f6e61f3
- Fix
codemod utilities being exposed through the codemod cli6360c46009
- Reenable
integration tests for Edge browser#3885
6c525a8229
- Upgraded
to TypeScript 3.9.6 and tslib to 2.0.0
Since tslib is a dependency for all our packages we recommend that products also follow this tslib upgrade to prevent duplicates of tslib being bundled.
76165ad82f
- Bump
required because of conflicts on wadmal release#3823
b85482c030
- Upgraded
Popper JS to version 2.2.3, which comes with bug fixes, performance improvements and a reduced
bundle size when combined with @popperjs/core. As a result, PopupSelect has some changes to the
values accepted by the popperProps
prop.
Changes labelled with ⚙️ have codemod support:
positionFixed
prop has been replaced with strategy
, which takes either "fixed"
or
"absolute"
modifiers
prop has been significantly updated:name
key:value pair. Previously
the prop was an object where each property was the modifier name.options
objectpreventOverflow
and flip
; to restore
original padding, set padding: 5
boundariesElement
option now have two options in its place:boundary
, which takes clippingParents
(similar to scrollParent
)rootBoundary
which takes viewport
or document
(replacing viewport
and
window
respectively)Note: due to a bug in react-popper
, a console.error message relating to React act()
may be
raised on some tests using PopupSelect. It should not cause test failures. This issue has been
raised in the React Popper issue tracker
Running the codemod cli
To run the codemod: You first need to have the latest version of select installed before you can run the codemod
yarn upgrade @atlaskit/select@^13.0.0
Once upgraded, use the Atlaskit codemod-cli;
npx @atlaskit/codemod-cli --parser [PARSER] --extensions [FILE_EXTENSIONS] [TARGET_PATH]
Or run npx @atlaskit/codemod-cli -h
for more details on usage. For Atlassians, refer to
this doc for more details
on the codemod CLI.
e99262c6f0
- All form
elements now have a default font explicitly setaecfa8c991
- Remove
non-standard CSS property
-ms-overflow-style.
-ms-overflow-style
is a Microsoft extension controlling the behavior of scrollbars when the
content of an element overflows.954cc87b62
- The readme
and package information has been updated to point to the new design system website.5ccf97c849
- Popup
Select click and keydown events would not bubble if parent element stopped propagation. Have
changed these events to use capture mode instead.87f4720f27
- Officially
dropping IE11 support, from this version onwards there are no warranties of the package working in
IE11. For more information see:
https://community.developer.atlassian.com/t/atlaskit-to-drop-support-for-internet-explorer-11-from-1st-july-2020/3953454a9514fcf
- Build and
supporting files will no longer be published to npm6aec273747
- FIX:
Dropdown chevron fixed to reflect ADG spec[patch]449ef134b3:
Add a clear icon for datepicker, timepicker and datetimepicker- [patch]6efb12e06d:
FIX: Style changes for disabled select options- Updated dependencies 3940bd71f1:
Updated dependencies 2bfc59f090:
[patch]6548261c9a:
Remove namespace imports from React, ReactDom, and PropTypes- Updated dependencies 6548261c9a:
[patch]6e55ab88df:
Fixes disabled state by adding not-allowed cursor.- Updated dependencies ec76622d34:
Updated dependencies d93de8e56e:
[patch]4a223473c5:
Removes babel/runtime from dependencies. Users should see a smaller bundlesize as a result- Updated dependencies 28f8f0e089:
Updated dependencies 82747f2922:
[patch]24865cfaff:
Fixes PopupSelect to be on the modal layer. This fixes it not being shown when inside the ModalDialog and Drawer components.- [patch]24865cfaff:
Form has been converted to Typescript. TypeScript consumers will now get static type safety. Flow types are no longer provided. No API changes.- [patch]24865cfaff:
Disabled text entry into search filter when filter is hidden- [patch]24865cfaff:
Adds types field to package json.- [patch]24865cfaff:
Updates react-popper dependency to a safe version.- Updated dependencies 24865cfaff:
Updated dependencies 24865cfaff:
[patch]3a20e9a596:
Make PopupSelect correctly pass props. Forcing update of @atlaskit/select for all other packages
[patch]b9e23d337a:
@types/react-select is now explicitly listed as a dependency
[major]30acc30979:
@atlaskit/select has been converted to Typescript. Typescript consumers will now get static type safety. Flow types are no longer provided. No API or behavioural changes.
[patch]d222c2b987:
Theme has been converted to Typescript. Typescript consumers will now get static type safety. Flow types are no longer provided.
** 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');
[patch]542080be8a:
Bumped react-popper and resolved infinite looping refs issue, and fixed close-on-outside-click for @atlaskit/popup
[minor]17a07074e8:
Fix padding to be consistent with other Atlaskit form fields. This change includes removing padding from around the icon itself, and adding padding to the icon container, as well as altering the padding around the input container.
[patch]35d2229b2a:
Adding missing license to packages and update to Copyright 2019 Atlassian Pty Ltd.
[patch]a2d0043716:
Updated version of analytics-next to fix potential incompatibilities with TS 3.6
[minor]c6efb2f5b6:
Prefix the legacy lifecycle methods with UNSAFE_* to avoid warning in React 16.9+
More information about the deprecation of lifecycles methods can be found here: https://reactjs.org/blog/2018/03/29/react-v-16-3.html#component-lifecycle-changes
[patch]097b696613:
Components now depend on TS 3.6 internally, in order to fix an issue with TS resolving non-relative imports as relative imports
[patch]ecca4d1dbb:
Upgraded Typescript to 3.3.x
[patch]708028db86:
Change all the imports to theme in Core to use multi entry points
[patch]abee1a5f4f:
Bumping internal dependency (memoize-one) to latest version (5.1.0). memoize-one@5.1.0 has full typescript support so it is recommended that typescript consumers use it also.
[patch]de35ce8c67:
Updates component maintainers
[patch]f20ac3080c:
Removed unused dependencies from package.json for select: react-transition-group was unused.
[patch]9f8ab1084b:
Consume analytics-next ts type definitions as an ambient declaration.
[major]790e66bece:
Major bump to react-select which includes a bump from emotion 9 --> 10, this will impact users who are currently creating custom components using emotion. Empty values in selects have also now been changed to be more deterministic across single and multi select. See https://github.com/JedWatson/react-select/issues/3585 for details
[patch]ef04b7fe05:
Cleaned up event listeners on unmount
[patch]4615439434:
index.ts will now be ignored when publishing to npm
[patch]b0ef06c685:
[minor]3d5ab16856:
[patch]21854842b5:
[major]7c17b35107:
[minor]b50c289008:
[patch]2a90c65e27:
[patch]87808b7791:
[patch]69c6f6acb7:
[major]76299208e6:
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 (for external) if you have any questions or queries about this.
[patch]39850f9615:
[patch]37c2eeec43:
[minor]46ffd45f21:
[patch]bcdb413cb4:
[patch]896bf5bef9:
[minor]571ec20522:
[major]06713e0a0c:
[patch]957778f085:
[patch]6148c6c:
[patch]e9ccac7:
[patch]b9b1900:
[patch]6195ac3:
[patch]82fc5f5:
[patch]bfc508c:
[patch]1fb2c2a:
[patch]a637f5e:
[patch]fcf97d8:
[patch][6ab8e95](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/6ab8e95" d):
[patch][dab963b](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/dab963b" d):
[patch][0782e03](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/0782e03" d):
spacing
prop, which allows for a compact mode that supports 32px trigger height
for single-select, bumped react-select to beta.6
59ab4a6spacing
prop to support compact
mode for single select.actionMeta
for remove-value
and pop-value
events now contain a removedValue
property.css
attribute being applied to DOM element in SingleValue.createOptionPosition
prop for Creatable select, which allows the user to specify whether
the createOption element displays as the first or last option in the menu.maxValueHeight
prop and functionality, this is a breaking change that affects
multi -value components predominantly. The control will now expand to accommodate contained
values, as opposed to constraining to a maxValueHeight with a scrollable area.Async
, Creatable
, AsyncCreatable
components now imported from react-select
and not from
react-select/lib/*
.classNamePrefix
prop which now controls the class names applied to internal components,
className
prop is now intended for adding a className to the bounding selectContainer only. If
the classNamePrefix field is left undefined, then the className prop will currently fulfill both
these roles, however a warning will be shown and this functionality is intended to be deprecated
in future releases.