Select
React component which allows selection of an item or items from a dropdown list. Substitute for the native select element.
Installation
yarn add @kalamazoo/selectUsage
Detailed docs and example usage can be found here.
React component which allows selection of item(s) from a dropdown list.
React component which allows selection of an item or items from a dropdown list. Substitute for the native select element.
yarn add @kalamazoo/selectDetailed docs and example usage can be found here.
[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 @kalamazoo/select for all other packages
[patch]b9e23d337a:
@types/react-select is now explicitly listed as a dependency
[major]30acc30979:
@kalamazoo/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 '@kalamazoo/theme';
colors.colorPalette('8');to this:
import { colorPalette } from '@kalamazoo/theme';
colorPalette.colorPalette('8');or for multi entry-point users:
import * as colors from '@kalamazoo/theme/colors';
colors.colorPalette('8');to this:
import * as colorPalettes from '@kalamazoo/theme/color-palette';
colorPalettes.colorPalette('8');[patch]542080be8a:
Bumped react-popper and resolved infinite looping refs issue, and fixed close-on-outside-click for @kalamazoo/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 `@kalamazoo/theme/colors`;Previously this was sort of possible for consumers by doing something like:
import colors from `@kalamazoo/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" d](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/6ab8e95" d):
[patch][dab963b" d](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/dab963b" d):
[patch][0782e03" d](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.