baseui 10.9.2 → 10.11.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/a11y/a11y.js +1 -1
- package/a11y/a11y.js.flow +15 -18
- package/a11y/index.js.flow +1 -1
- package/a11y/types.js.flow +2 -2
- package/accordion/accordion.js +3 -2
- package/accordion/accordion.js.flow +18 -32
- package/accordion/index.js.flow +6 -6
- package/accordion/panel.js +1 -1
- package/accordion/panel.js.flow +24 -42
- package/accordion/stateful-panel-container.js.flow +7 -12
- package/accordion/stateful-panel.js.flow +3 -3
- package/accordion/stateless-accordion.js.flow +6 -6
- package/accordion/styled-components.js.flow +16 -16
- package/accordion/types.js.flow +9 -9
- package/app-nav-bar/app-nav-bar.js.flow +20 -36
- package/app-nav-bar/index.js.flow +3 -3
- package/app-nav-bar/mobile-menu.js +9 -13
- package/app-nav-bar/mobile-menu.js.flow +29 -62
- package/app-nav-bar/styled-components.js.flow +40 -44
- package/app-nav-bar/types.js.flow +11 -11
- package/app-nav-bar/user-menu.js +8 -9
- package/app-nav-bar/user-menu.js.flow +32 -57
- package/app-nav-bar/user-profile-tile.js.flow +12 -24
- package/app-nav-bar/utils.js.flow +9 -12
- package/aspect-ratio-box/aspect-ratio-box-body.js.flow +2 -2
- package/aspect-ratio-box/aspect-ratio-box.js +2 -2
- package/aspect-ratio-box/aspect-ratio-box.js.flow +11 -13
- package/aspect-ratio-box/index.js.flow +2 -2
- package/aspect-ratio-box/types.js.flow +1 -1
- package/avatar/avatar.js.flow +7 -21
- package/avatar/index.js.flow +1 -1
- package/avatar/styled-components.js.flow +7 -11
- package/avatar/types.js.flow +3 -3
- package/block/block.js +1 -1
- package/block/block.js.flow +8 -11
- package/block/index.js.flow +1 -1
- package/block/styled-components.js.flow +37 -36
- package/block/types.js.flow +3 -2
- package/breadcrumbs/breadcrumbs.js +3 -6
- package/breadcrumbs/breadcrumbs.js.flow +17 -35
- package/breadcrumbs/index.d.ts +1 -0
- package/breadcrumbs/index.js.flow +1 -1
- package/breadcrumbs/styled-components.js.flow +5 -5
- package/breadcrumbs/types.js.flow +3 -2
- package/button/button-internals.js.flow +7 -10
- package/button/button.js +2 -1
- package/button/button.js.flow +25 -36
- package/button/default-props.js.flow +1 -1
- package/button/index.d.ts +6 -0
- package/button/index.js.flow +2 -2
- package/button/styled-components.js +19 -5
- package/button/styled-components.js.flow +89 -82
- package/button/types.js.flow +13 -4
- package/button/utils.js +3 -1
- package/button/utils.js.flow +4 -2
- package/button-group/button-group.js +1 -1
- package/button-group/button-group.js.flow +15 -17
- package/button-group/index.d.ts +1 -0
- package/button-group/index.js.flow +6 -6
- package/button-group/stateful-button-group.js +5 -1
- package/button-group/stateful-button-group.js.flow +4 -3
- package/button-group/stateful-container.js.flow +14 -26
- package/button-group/styled-components.js.flow +5 -5
- package/button-group/types.js.flow +9 -12
- package/card/card.js.flow +12 -30
- package/card/index.js.flow +1 -1
- package/card/styled-components.js.flow +8 -8
- package/card/types.js.flow +3 -3
- package/checkbox/checkbox.js +2 -3
- package/checkbox/checkbox.js.flow +24 -39
- package/checkbox/index.d.ts +1 -0
- package/checkbox/index.js.flow +4 -4
- package/checkbox/stateful-checkbox-container.js.flow +14 -17
- package/checkbox/stateful-checkbox.js.flow +5 -5
- package/checkbox/styled-components.js.flow +27 -50
- package/checkbox/types.js.flow +26 -7
- package/combobox/combobox.js +4 -4
- package/combobox/combobox.js.flow +24 -36
- package/combobox/index.js.flow +2 -2
- package/combobox/styled-components.js.flow +23 -20
- package/combobox/types.js.flow +7 -5
- package/data-table/column-anchor.js.flow +8 -8
- package/data-table/column-boolean.js.flow +15 -20
- package/data-table/column-categorical.js.flow +26 -31
- package/data-table/column-custom.js +1 -0
- package/data-table/column-custom.js.flow +6 -10
- package/data-table/column-datetime.js +6 -6
- package/data-table/column-datetime.js.flow +66 -114
- package/data-table/column-numerical.js +320 -362
- package/data-table/column-numerical.js.flow +296 -306
- package/data-table/column-row-index.js.flow +3 -3
- package/data-table/column-string.js.flow +8 -8
- package/data-table/column.js +1 -0
- package/data-table/column.js.flow +7 -8
- package/data-table/constants.js +17 -11
- package/data-table/constants.js.flow +11 -8
- package/data-table/data-table.js +56 -53
- package/data-table/data-table.js.flow +89 -132
- package/data-table/filter-menu.js.flow +26 -37
- package/data-table/filter-shell.js +27 -4
- package/data-table/filter-shell.js.flow +38 -14
- package/data-table/header-cell.js.flow +112 -122
- package/data-table/index.js.flow +15 -24
- package/data-table/locale.js +4 -2
- package/data-table/locale.js.flow +6 -2
- package/data-table/measure-column-widths.js +83 -119
- package/data-table/measure-column-widths.js.flow +86 -114
- package/data-table/stateful-container.js.flow +13 -22
- package/data-table/stateful-data-table.js.flow +21 -27
- package/data-table/text-search.js.flow +3 -3
- package/data-table/types.js.flow +17 -20
- package/datepicker/calendar-header.js +4 -7
- package/datepicker/calendar-header.js.flow +105 -174
- package/datepicker/calendar.js +2 -1
- package/datepicker/calendar.js.flow +99 -139
- package/datepicker/datepicker.js +1 -1
- package/datepicker/datepicker.js.flow +84 -159
- package/datepicker/day.js.flow +52 -86
- package/datepicker/index.js.flow +8 -10
- package/datepicker/month.js.flow +10 -14
- package/datepicker/stateful-calendar.js.flow +2 -2
- package/datepicker/stateful-container.js.flow +10 -13
- package/datepicker/stateful-datepicker.js.flow +2 -2
- package/datepicker/styled-components.js +2 -2
- package/datepicker/styled-components.js.flow +111 -150
- package/datepicker/types.js.flow +38 -38
- package/datepicker/utils/calendar-header-helpers.js.flow +5 -5
- package/datepicker/utils/date-fns-adapter.js.flow +1 -1
- package/datepicker/utils/date-helpers.js +1 -1
- package/datepicker/utils/date-helpers.js.flow +85 -127
- package/datepicker/utils/day-state.js.flow +1 -1
- package/datepicker/utils/index.js +1 -1
- package/datepicker/utils/index.js.flow +4 -5
- package/datepicker/utils/types.js.flow +2 -2
- package/datepicker/week.js.flow +8 -11
- package/dnd-list/index.js.flow +7 -6
- package/dnd-list/list.js.flow +18 -45
- package/dnd-list/stateful-list-container.js.flow +7 -10
- package/dnd-list/stateful-list.js.flow +3 -3
- package/dnd-list/styled-components.js.flow +36 -45
- package/dnd-list/types.js.flow +6 -6
- package/drawer/close-icon.js.flow +1 -1
- package/drawer/constants.js.flow +3 -2
- package/drawer/drawer.js +1 -1
- package/drawer/drawer.js.flow +26 -43
- package/drawer/index.js.flow +2 -2
- package/drawer/styled-components.js.flow +34 -47
- package/drawer/types.js.flow +5 -8
- package/es/a11y/a11y.js +1 -1
- package/es/accordion/accordion.js +2 -1
- package/es/accordion/panel.js +1 -1
- package/es/app-nav-bar/mobile-menu.js +9 -13
- package/es/app-nav-bar/user-menu.js +8 -9
- package/es/aspect-ratio-box/aspect-ratio-box.js +2 -2
- package/es/block/block.js +1 -1
- package/es/breadcrumbs/breadcrumbs.js +4 -7
- package/es/button/button.js +2 -1
- package/es/button/styled-components.js +20 -6
- package/es/button/utils.js +2 -0
- package/es/button-group/button-group.js +1 -1
- package/es/button-group/stateful-button-group.js +4 -1
- package/es/checkbox/checkbox.js +2 -3
- package/es/checkbox/stateful-checkbox-container.js +0 -3
- package/es/combobox/combobox.js +6 -8
- package/es/data-table/column-custom.js +1 -0
- package/es/data-table/column-datetime.js +6 -6
- package/es/data-table/column-numerical.js +252 -320
- package/es/data-table/column.js +1 -0
- package/es/data-table/constants.js +12 -8
- package/es/data-table/data-table.js +21 -19
- package/es/data-table/filter-shell.js +26 -4
- package/es/data-table/locale.js +4 -2
- package/es/data-table/measure-column-widths.js +75 -84
- package/es/datepicker/calendar-header.js +7 -10
- package/es/datepicker/calendar.js +3 -3
- package/es/datepicker/datepicker.js +1 -1
- package/es/datepicker/styled-components.js +2 -2
- package/es/datepicker/utils/date-helpers.js +1 -1
- package/es/datepicker/utils/index.js +1 -1
- package/es/drawer/drawer.js +1 -1
- package/es/flex-grid/flex-grid-item.js +6 -4
- package/es/flex-grid/flex-grid.js +7 -3
- package/es/form-control/form-control.js +4 -4
- package/es/heading/heading.js +1 -1
- package/es/helpers/overrides.js +13 -9
- package/es/icon/alert.js +18 -14
- package/es/icon/arrow-down.js +18 -14
- package/es/icon/arrow-left.js +18 -14
- package/es/icon/arrow-right.js +18 -14
- package/es/icon/arrow-up.js +18 -14
- package/es/icon/blank.js +14 -10
- package/es/icon/check-indeterminate.js +18 -14
- package/es/icon/check.js +18 -14
- package/es/icon/chevron-down.js +19 -15
- package/es/icon/chevron-left.js +18 -14
- package/es/icon/chevron-right.js +18 -14
- package/es/icon/chevron-up.js +19 -15
- package/es/icon/delete-alt.js +18 -14
- package/es/icon/delete.js +18 -14
- package/es/icon/filter.js +32 -28
- package/es/icon/grab.js +18 -14
- package/es/icon/hide.js +16 -12
- package/es/icon/menu.js +32 -28
- package/es/icon/omit-dollar-prefixed-keys.js +1 -1
- package/es/icon/overflow.js +26 -22
- package/es/icon/plus.js +18 -14
- package/es/icon/search.js +18 -14
- package/es/icon/show.js +16 -12
- package/es/icon/spinner.js +23 -19
- package/es/icon/triangle-down.js +16 -12
- package/es/icon/triangle-left.js +16 -12
- package/es/icon/triangle-right.js +16 -12
- package/es/icon/triangle-up.js +16 -12
- package/es/icon/upload.js +18 -14
- package/es/input/masked-input.js +1 -0
- package/es/input/stateful-container.js +0 -1
- package/es/input/styled-components.js +3 -2
- package/es/layer/layer.js +4 -3
- package/es/list/list-heading.js +3 -3
- package/es/list/list-item.js +1 -1
- package/es/list/menu-adapter.js +1 -2
- package/es/map-marker/fixed-marker.js +11 -5
- package/es/menu/maybe-child-menu.js +1 -2
- package/es/menu/menu.js +1 -1
- package/es/menu/option-profile.js +2 -0
- package/es/menu/stateful-container.js +3 -4
- package/es/menu/stateful-menu.js +4 -1
- package/es/menu/types.js +1 -1
- package/es/modal/modal-button.js +5 -1
- package/es/modal/modal.js +1 -3
- package/es/pagination/index.js +1 -1
- package/es/pagination/stateful-container.js +1 -0
- package/es/pagination/stateful-pagination.js +1 -0
- package/es/payment-card/payment-card.js +4 -1
- package/es/payment-card/styled-components.js +0 -1
- package/es/phone-input/base-country-picker.js +6 -8
- package/es/phone-input/country-picker.js +5 -8
- package/es/phone-input/country-select-dropdown.js +4 -2
- package/es/phone-input/country-select.js +5 -8
- package/es/phone-input/flag.js +2 -1
- package/es/phone-input/phone-input-lite.js +1 -2
- package/es/phone-input/phone-input-next.js +1 -2
- package/es/pin-code/pin-code.js +1 -2
- package/es/popover/popover.js +7 -7
- package/es/progress-bar/progressbar-rounded.js +25 -22
- package/es/progress-bar/progressbar.js +6 -3
- package/es/radio/radio.js +1 -1
- package/es/radio/radiogroup.js +1 -1
- package/es/rating/emoticon-rating.js +1 -1
- package/es/rating/star-rating.js +1 -1
- package/es/select/autosize-input.js +1 -2
- package/es/select/dropdown.js +2 -4
- package/es/select/multi-value.js +1 -1
- package/es/select/select-component.js +5 -4
- package/es/select/styled-components.js +1 -2
- package/es/select/value.js +1 -1
- package/es/slider/slider.js +2 -2
- package/es/snackbar/snackbar-element.js +4 -3
- package/es/snackbar/styled-components.js +1 -1
- package/es/spinner/spinner.js +22 -18
- package/es/spinner/styled-components.js +3 -2
- package/es/styles/__mocks__/styled.js +2 -1
- package/es/styles/styled.js +9 -7
- package/es/table/sortable-head-cell.js +1 -1
- package/es/table-semantic/styled-components.js +2 -1
- package/es/tabs/tabs.js +2 -2
- package/es/tag/styled-components.js +4 -8
- package/es/tag/tag.js +1 -1
- package/es/textarea/styled-components.js +9 -7
- package/es/textarea/textarea.js +2 -1
- package/es/timepicker/timepicker.js +2 -4
- package/es/timezonepicker/timezone-picker.js +3 -6
- package/es/timezonepicker/tzdata.js +6 -1
- package/es/timezonepicker/update-tzdata.js +9 -4
- package/es/toast/styled-components.js +30 -28
- package/es/toast/toaster.js +5 -7
- package/es/toast/types.js +0 -2
- package/es/tree-view/tree-label-interactable.js +8 -4
- package/es/tree-view/tree-label.js +5 -1
- package/es/tree-view/tree-node.js +1 -1
- package/es/tree-view/tree-view.js +6 -6
- package/es/typography/index.js +144 -36
- package/es/utils/deep-merge.js +2 -2
- package/es/utils/deprecated-component.js +5 -3
- package/esm/a11y/a11y.js +1 -1
- package/esm/accordion/accordion.js +3 -2
- package/esm/accordion/panel.js +1 -1
- package/esm/app-nav-bar/mobile-menu.js +9 -13
- package/esm/app-nav-bar/user-menu.js +8 -9
- package/esm/aspect-ratio-box/aspect-ratio-box.js +2 -2
- package/esm/block/block.js +1 -1
- package/esm/breadcrumbs/breadcrumbs.js +4 -7
- package/esm/button/button.js +2 -1
- package/esm/button/styled-components.js +19 -5
- package/esm/button/utils.js +3 -1
- package/esm/button-group/button-group.js +1 -1
- package/esm/button-group/stateful-button-group.js +5 -1
- package/esm/checkbox/checkbox.js +2 -3
- package/esm/combobox/combobox.js +4 -4
- package/esm/data-table/column-custom.js +1 -0
- package/esm/data-table/column-datetime.js +6 -6
- package/esm/data-table/column-numerical.js +317 -360
- package/esm/data-table/column.js +1 -0
- package/esm/data-table/constants.js +12 -8
- package/esm/data-table/data-table.js +56 -53
- package/esm/data-table/filter-shell.js +26 -4
- package/esm/data-table/locale.js +4 -2
- package/esm/data-table/measure-column-widths.js +83 -119
- package/esm/datepicker/calendar-header.js +7 -10
- package/esm/datepicker/calendar.js +2 -1
- package/esm/datepicker/datepicker.js +1 -1
- package/esm/datepicker/styled-components.js +2 -2
- package/esm/datepicker/utils/date-helpers.js +1 -1
- package/esm/datepicker/utils/index.js +1 -1
- package/esm/drawer/drawer.js +1 -1
- package/esm/flex-grid/flex-grid-item.js +5 -3
- package/esm/flex-grid/flex-grid.js +14 -9
- package/esm/form-control/form-control.js +4 -4
- package/esm/heading/heading.js +1 -1
- package/esm/helpers/overrides.js +13 -9
- package/esm/icon/alert.js +18 -14
- package/esm/icon/arrow-down.js +18 -14
- package/esm/icon/arrow-left.js +18 -14
- package/esm/icon/arrow-right.js +18 -14
- package/esm/icon/arrow-up.js +18 -14
- package/esm/icon/blank.js +14 -10
- package/esm/icon/check-indeterminate.js +18 -14
- package/esm/icon/check.js +18 -14
- package/esm/icon/chevron-down.js +19 -15
- package/esm/icon/chevron-left.js +18 -14
- package/esm/icon/chevron-right.js +18 -14
- package/esm/icon/chevron-up.js +19 -15
- package/esm/icon/delete-alt.js +18 -14
- package/esm/icon/delete.js +18 -14
- package/esm/icon/filter.js +32 -28
- package/esm/icon/grab.js +18 -14
- package/esm/icon/hide.js +16 -12
- package/esm/icon/menu.js +32 -28
- package/esm/icon/omit-dollar-prefixed-keys.js +1 -1
- package/esm/icon/overflow.js +26 -22
- package/esm/icon/plus.js +18 -14
- package/esm/icon/search.js +18 -14
- package/esm/icon/show.js +16 -12
- package/esm/icon/spinner.js +23 -19
- package/esm/icon/triangle-down.js +16 -12
- package/esm/icon/triangle-left.js +16 -12
- package/esm/icon/triangle-right.js +16 -12
- package/esm/icon/triangle-up.js +16 -12
- package/esm/icon/upload.js +18 -14
- package/esm/input/masked-input.js +1 -0
- package/esm/input/stateful-container.js +0 -1
- package/esm/input/styled-components.js +6 -2
- package/esm/layer/layer.js +4 -3
- package/esm/list/list-heading.js +3 -3
- package/esm/list/list-item.js +1 -1
- package/esm/list/menu-adapter.js +1 -2
- package/esm/map-marker/fixed-marker.js +11 -5
- package/esm/menu/maybe-child-menu.js +1 -2
- package/esm/menu/menu.js +1 -1
- package/esm/menu/option-profile.js +2 -0
- package/esm/menu/stateful-container.js +3 -4
- package/esm/menu/stateful-menu.js +9 -5
- package/esm/menu/types.js +1 -1
- package/esm/modal/modal-button.js +10 -5
- package/esm/modal/modal.js +1 -3
- package/esm/pagination/index.js +1 -1
- package/esm/pagination/stateful-container.js +1 -0
- package/esm/pagination/stateful-pagination.js +1 -0
- package/esm/payment-card/payment-card.js +25 -21
- package/esm/phone-input/base-country-picker.js +6 -8
- package/esm/phone-input/country-picker.js +5 -8
- package/esm/phone-input/country-select-dropdown.js +4 -2
- package/esm/phone-input/country-select.js +5 -8
- package/esm/phone-input/flag.js +2 -1
- package/esm/phone-input/phone-input-lite.js +1 -2
- package/esm/phone-input/phone-input-next.js +1 -2
- package/esm/pin-code/pin-code.js +1 -2
- package/esm/popover/popover.js +7 -7
- package/esm/progress-bar/progressbar-rounded.js +25 -22
- package/esm/progress-bar/progressbar.js +9 -5
- package/esm/radio/radio.js +3 -1
- package/esm/radio/radiogroup.js +1 -1
- package/esm/rating/emoticon-rating.js +1 -1
- package/esm/rating/star-rating.js +1 -1
- package/esm/select/autosize-input.js +1 -2
- package/esm/select/dropdown.js +1 -2
- package/esm/select/multi-value.js +1 -1
- package/esm/select/select-component.js +5 -4
- package/esm/select/styled-components.js +1 -2
- package/esm/select/value.js +1 -1
- package/esm/slider/slider.js +2 -2
- package/esm/snackbar/snackbar-element.js +4 -3
- package/esm/snackbar/styled-components.js +1 -1
- package/esm/spinner/spinner.js +22 -18
- package/esm/spinner/styled-components.js +0 -2
- package/esm/styles/__mocks__/styled.js +2 -1
- package/esm/styles/styled.js +9 -7
- package/esm/table/sortable-head-cell.js +1 -1
- package/esm/table-semantic/styled-components.js +2 -1
- package/esm/tabs/tabs.js +2 -2
- package/esm/tag/styled-components.js +4 -8
- package/esm/tag/tag.js +1 -1
- package/esm/textarea/styled-components.js +8 -7
- package/esm/textarea/textarea.js +2 -1
- package/esm/timepicker/timepicker.js +2 -4
- package/esm/timezonepicker/timezone-picker.js +3 -6
- package/esm/timezonepicker/tzdata.js +6 -1
- package/esm/timezonepicker/update-tzdata.js +11 -13
- package/esm/toast/styled-components.js +30 -19
- package/esm/toast/toaster.js +5 -7
- package/esm/toast/types.js +0 -2
- package/esm/tree-view/tree-label-interactable.js +12 -8
- package/esm/tree-view/tree-label.js +7 -3
- package/esm/tree-view/tree-node.js +1 -1
- package/esm/tree-view/tree-view.js +6 -6
- package/esm/typography/index.js +416 -272
- package/esm/utils/deep-merge.js +2 -2
- package/esm/utils/deprecated-component.js +5 -3
- package/file-uploader/file-uploader.js.flow +30 -60
- package/file-uploader/index.js.flow +1 -1
- package/file-uploader/styled-components.js.flow +9 -11
- package/file-uploader/types.js.flow +8 -10
- package/flex-grid/flex-grid-item.js +5 -3
- package/flex-grid/flex-grid-item.js.flow +31 -40
- package/flex-grid/flex-grid.js +14 -9
- package/flex-grid/flex-grid.js.flow +32 -31
- package/flex-grid/index.js.flow +2 -2
- package/flex-grid/types.js.flow +1 -1
- package/form-control/form-control.js +4 -4
- package/form-control/form-control.js.flow +16 -32
- package/form-control/index.js.flow +1 -1
- package/form-control/styled-components.js.flow +18 -21
- package/form-control/types.js.flow +2 -2
- package/header-navigation/header-navigation.js.flow +5 -10
- package/header-navigation/index.js.flow +2 -2
- package/header-navigation/styled-components.js.flow +38 -41
- package/header-navigation/types.js.flow +1 -1
- package/heading/heading-level.js.flow +3 -7
- package/heading/heading.js +1 -1
- package/heading/heading.js.flow +9 -23
- package/heading/index.js.flow +2 -2
- package/heading/types.js.flow +1 -1
- package/helper/constants.js.flow +1 -1
- package/helper/helper-steps.js.flow +8 -21
- package/helper/helper.js.flow +8 -8
- package/helper/index.js.flow +4 -4
- package/helper/stateful-helper.js.flow +5 -5
- package/helper/styled-components.js.flow +12 -24
- package/helpers/base-provider.js.flow +5 -5
- package/helpers/i18n-interpolation.js.flow +2 -2
- package/helpers/overrides.js +13 -9
- package/helpers/overrides.js.flow +40 -51
- package/helpers/react-helpers.js.flow +5 -5
- package/helpers/responsive-helpers.js.flow +2 -2
- package/helpers/strings.js.flow +1 -2
- package/helpers/types.js.flow +2 -2
- package/icon/alert.js +18 -14
- package/icon/alert.js.flow +7 -6
- package/icon/arrow-down.js +18 -14
- package/icon/arrow-down.js.flow +8 -14
- package/icon/arrow-left.js +18 -14
- package/icon/arrow-left.js.flow +8 -14
- package/icon/arrow-right.js +18 -14
- package/icon/arrow-right.js.flow +8 -14
- package/icon/arrow-up.js +18 -14
- package/icon/arrow-up.js.flow +8 -8
- package/icon/blank.js +14 -10
- package/icon/blank.js.flow +7 -6
- package/icon/build-icons.js.flow +13 -28
- package/icon/check-indeterminate.js +18 -14
- package/icon/check-indeterminate.js.flow +8 -15
- package/icon/check.js +18 -14
- package/icon/check.js.flow +7 -6
- package/icon/chevron-down.js +19 -15
- package/icon/chevron-down.js.flow +8 -8
- package/icon/chevron-left.js +18 -14
- package/icon/chevron-left.js.flow +8 -8
- package/icon/chevron-right.js +18 -14
- package/icon/chevron-right.js.flow +8 -10
- package/icon/chevron-up.js +19 -15
- package/icon/chevron-up.js.flow +8 -8
- package/icon/delete-alt.js +18 -14
- package/icon/delete-alt.js.flow +8 -14
- package/icon/delete.js +18 -14
- package/icon/delete.js.flow +7 -6
- package/icon/filter.js +32 -28
- package/icon/filter.js.flow +7 -6
- package/icon/grab.js +18 -14
- package/icon/grab.js.flow +7 -6
- package/icon/hide.js +16 -12
- package/icon/hide.js.flow +7 -6
- package/icon/icon-exports.js.flow +28 -28
- package/icon/icon.js.flow +4 -4
- package/icon/index.js.flow +2 -2
- package/icon/menu.js +32 -28
- package/icon/menu.js.flow +7 -6
- package/icon/omit-dollar-prefixed-keys.js +1 -1
- package/icon/omit-dollar-prefixed-keys.js.flow +2 -2
- package/icon/overflow.js +26 -22
- package/icon/overflow.js.flow +8 -8
- package/icon/plus.js +18 -14
- package/icon/plus.js.flow +7 -6
- package/icon/search.js +18 -14
- package/icon/search.js.flow +7 -6
- package/icon/show.js +16 -12
- package/icon/show.js.flow +7 -6
- package/icon/spinner.js +23 -19
- package/icon/spinner.js.flow +8 -8
- package/icon/styled-components.js.flow +13 -4
- package/icon/triangle-down.js +16 -12
- package/icon/triangle-down.js.flow +8 -16
- package/icon/triangle-left.js +16 -12
- package/icon/triangle-left.js.flow +8 -16
- package/icon/triangle-right.js +16 -12
- package/icon/triangle-right.js.flow +8 -16
- package/icon/triangle-up.js +16 -12
- package/icon/triangle-up.js.flow +8 -14
- package/icon/types.js.flow +1 -1
- package/icon/upload.js +18 -14
- package/icon/upload.js.flow +7 -6
- package/index.js.flow +5 -5
- package/input/base-input.js.flow +32 -57
- package/input/index.d.ts +1 -1
- package/input/index.js.flow +6 -11
- package/input/input.js.flow +13 -27
- package/input/masked-input.js +1 -0
- package/input/masked-input.js.flow +8 -7
- package/input/stateful-container.js +0 -1
- package/input/stateful-container.js.flow +6 -12
- package/input/stateful-input.js.flow +2 -2
- package/input/styled-components.js +6 -2
- package/input/styled-components.js.flow +78 -59
- package/input/types.js.flow +17 -18
- package/input/utils.js.flow +5 -5
- package/layer/index.js.flow +4 -4
- package/layer/layer.js +4 -3
- package/layer/layer.js.flow +19 -30
- package/layer/layers-manager.js.flow +25 -36
- package/layer/tether.js.flow +12 -14
- package/layer/types.js.flow +3 -3
- package/layer/utils.js.flow +2 -8
- package/layout-grid/cell.js.flow +5 -8
- package/layout-grid/grid.js.flow +11 -26
- package/layout-grid/index.js.flow +2 -2
- package/layout-grid/styled-components.js.flow +23 -38
- package/layout-grid/types.js.flow +3 -6
- package/link/index.js.flow +8 -8
- package/link/styled-components.js.flow +5 -7
- package/list/index.d.ts +4 -13
- package/list/index.js.flow +5 -5
- package/list/list-heading.js +3 -3
- package/list/list-heading.js.flow +76 -91
- package/list/list-item-label.js.flow +8 -12
- package/list/list-item.js +1 -1
- package/list/list-item.js.flow +64 -69
- package/list/menu-adapter.js +1 -2
- package/list/menu-adapter.js.flow +29 -36
- package/list/styled-components.js.flow +52 -60
- package/list/types.js.flow +11 -11
- package/list/utils.js.flow +3 -6
- package/locale/es_AR.js.flow +1 -2
- package/locale/index.js.flow +5 -10
- package/locale/types.js.flow +12 -12
- package/map-marker/badge-enhancer.js.flow +12 -27
- package/map-marker/constants.js.flow +3 -3
- package/map-marker/drag-shadow.js.flow +8 -23
- package/map-marker/fixed-marker.js +11 -5
- package/map-marker/fixed-marker.js.flow +21 -29
- package/map-marker/floating-marker.js.flow +9 -18
- package/map-marker/index.js.flow +2 -2
- package/map-marker/label-enhancer.js.flow +6 -9
- package/map-marker/needle.js.flow +6 -12
- package/map-marker/pin-head.js.flow +15 -38
- package/map-marker/styled-components.js.flow +45 -60
- package/map-marker/types.js.flow +9 -11
- package/menu/index.d.ts +2 -1
- package/menu/index.js.flow +7 -7
- package/menu/maybe-child-menu.js +1 -2
- package/menu/maybe-child-menu.js.flow +11 -14
- package/menu/menu.js +1 -1
- package/menu/menu.js.flow +17 -26
- package/menu/nested-menus.js.flow +21 -23
- package/menu/option-list.js.flow +16 -18
- package/menu/option-profile.js +2 -0
- package/menu/option-profile.js.flow +16 -30
- package/menu/stateful-container.js +3 -4
- package/menu/stateful-container.js.flow +42 -62
- package/menu/stateful-menu.js +9 -5
- package/menu/stateful-menu.js.flow +6 -5
- package/menu/styled-components.js.flow +47 -64
- package/menu/types.js.flow +30 -36
- package/menu/utils.js.flow +1 -1
- package/modal/close-icon.js.flow +2 -6
- package/modal/focus-once.js.flow +1 -1
- package/modal/index.js.flow +4 -4
- package/modal/modal-button.js +10 -5
- package/modal/modal-button.js.flow +10 -15
- package/modal/modal.js +1 -3
- package/modal/modal.js.flow +23 -40
- package/modal/styled-components.js.flow +18 -32
- package/modal/types.js.flow +6 -12
- package/notification/index.js.flow +2 -2
- package/notification/notification.js.flow +2 -2
- package/package.json +20 -15
- package/pagination/index.js +8 -8
- package/pagination/index.js.flow +8 -11
- package/pagination/pagination.js.flow +39 -62
- package/pagination/stateful-container.js +1 -0
- package/pagination/stateful-container.js.flow +14 -22
- package/pagination/stateful-pagination.js +1 -0
- package/pagination/stateful-pagination.js.flow +4 -6
- package/pagination/styled-components.js.flow +10 -14
- package/pagination/types.js.flow +12 -8
- package/payment-card/icons/amex.js.flow +2 -5
- package/payment-card/icons/dinersclub.js.flow +1 -1
- package/payment-card/icons/discover.js.flow +1 -1
- package/payment-card/icons/elo.js.flow +1 -1
- package/payment-card/icons/generic.js.flow +1 -1
- package/payment-card/icons/jcb.js.flow +4 -13
- package/payment-card/icons/maestro.js.flow +1 -1
- package/payment-card/icons/mastercard.js.flow +1 -1
- package/payment-card/icons/unionpay.js.flow +1 -1
- package/payment-card/icons/visa.js.flow +1 -1
- package/payment-card/index.js.flow +6 -6
- package/payment-card/payment-card.js +25 -21
- package/payment-card/payment-card.js.flow +16 -21
- package/payment-card/stateful-payment-card.js.flow +3 -2
- package/payment-card/styled-components.js.flow +5 -6
- package/payment-card/types.js.flow +2 -6
- package/payment-card/utils.js.flow +6 -18
- package/phone-input/base-country-picker.js +7 -8
- package/phone-input/base-country-picker.js.flow +27 -44
- package/phone-input/constants.js.flow +227 -227
- package/phone-input/country-picker.js +5 -8
- package/phone-input/country-picker.js.flow +19 -29
- package/phone-input/country-select-dropdown.js +3 -2
- package/phone-input/country-select-dropdown.js.flow +31 -43
- package/phone-input/country-select.js +5 -8
- package/phone-input/country-select.js.flow +13 -28
- package/phone-input/default-props.js.flow +2 -6
- package/phone-input/flag.js +2 -1
- package/phone-input/flag.js.flow +7 -6
- package/phone-input/flags/index.js.flow +241 -241
- package/phone-input/index.js.flow +10 -14
- package/phone-input/phone-input-lite.js +1 -2
- package/phone-input/phone-input-lite.js.flow +6 -7
- package/phone-input/phone-input-next.js +1 -2
- package/phone-input/phone-input-next.js.flow +13 -14
- package/phone-input/phone-input.js.flow +2 -2
- package/phone-input/stateful-phone-input-container.js.flow +4 -4
- package/phone-input/stateful-phone-input-next.js.flow +3 -5
- package/phone-input/stateful-phone-input.js.flow +1 -1
- package/phone-input/styled-components.js.flow +54 -59
- package/phone-input/types.js.flow +11 -16
- package/phone-input/utils.js.flow +2 -4
- package/pin-code/default-props.js.flow +1 -1
- package/pin-code/index.js.flow +4 -6
- package/pin-code/pin-code.js +1 -2
- package/pin-code/pin-code.js.flow +15 -28
- package/pin-code/stateful-pin-code-container.js.flow +6 -10
- package/pin-code/stateful-pin-code.js.flow +1 -1
- package/pin-code/styled-components.js.flow +19 -22
- package/pin-code/types.js.flow +6 -6
- package/popover/default-props.js.flow +2 -2
- package/popover/index.js.flow +3 -3
- package/popover/popover.js +7 -3
- package/popover/popover.js.flow +59 -75
- package/popover/stateful-container.js.flow +5 -8
- package/popover/stateful-popover.js.flow +4 -9
- package/popover/styled-components.js.flow +13 -26
- package/popover/types.js.flow +13 -28
- package/popover/utils.js.flow +9 -16
- package/progress-bar/index.d.ts +1 -0
- package/progress-bar/index.js.flow +3 -3
- package/progress-bar/progressbar-rounded.js +25 -22
- package/progress-bar/progressbar-rounded.js.flow +10 -7
- package/progress-bar/progressbar.js +9 -5
- package/progress-bar/progressbar.js.flow +20 -36
- package/progress-bar/styled-components.js.flow +98 -117
- package/progress-bar/types.js.flow +4 -7
- package/progress-steps/index.js.flow +3 -3
- package/progress-steps/numbered-step.js.flow +6 -15
- package/progress-steps/progress-steps.js.flow +7 -14
- package/progress-steps/step.js.flow +7 -20
- package/progress-steps/styled-components.js.flow +25 -29
- package/progress-steps/types.js.flow +2 -2
- package/radio/index.js.flow +5 -5
- package/radio/radio.js +3 -1
- package/radio/radio.js.flow +16 -19
- package/radio/radiogroup.js +1 -1
- package/radio/radiogroup.js.flow +19 -28
- package/radio/stateful-radiogroup-container.js.flow +7 -10
- package/radio/stateful-radiogroup.js.flow +4 -6
- package/radio/styled-components.js.flow +26 -32
- package/radio/types.js.flow +5 -4
- package/rating/emoticon-rating.js +1 -1
- package/rating/emoticon-rating.js.flow +26 -40
- package/rating/index.js.flow +2 -2
- package/rating/star-rating.js +1 -1
- package/rating/star-rating.js.flow +23 -34
- package/rating/styled-components.js.flow +8 -27
- package/rating/types.js.flow +4 -4
- package/select/autosize-input.js +1 -2
- package/select/autosize-input.js.flow +10 -18
- package/select/constants.js.flow +1 -1
- package/select/default-props.js.flow +1 -1
- package/select/dropdown.js +1 -2
- package/select/dropdown.js.flow +20 -35
- package/select/index.d.ts +19 -33
- package/select/index.js.flow +11 -13
- package/select/multi-select.js.flow +2 -4
- package/select/multi-value.js +1 -1
- package/select/multi-value.js.flow +6 -9
- package/select/select-component.js +5 -5
- package/select/select-component.js.flow +98 -175
- package/select/select.js.flow +1 -6
- package/select/single-select.js.flow +1 -1
- package/select/stateful-select-container.js.flow +5 -13
- package/select/stateful-select.js.flow +1 -1
- package/select/styled-components.js.flow +167 -218
- package/select/types.js.flow +15 -18
- package/select/utils/default-filter-options.js.flow +7 -8
- package/select/utils/index.js.flow +5 -12
- package/select/value.js +1 -1
- package/select/value.js.flow +5 -8
- package/side-navigation/index.js.flow +2 -2
- package/side-navigation/nav-item.js.flow +8 -13
- package/side-navigation/nav.js.flow +15 -35
- package/side-navigation/stateful-container.js.flow +10 -19
- package/side-navigation/stateful-nav.js.flow +2 -2
- package/side-navigation/styled-components.js.flow +16 -20
- package/side-navigation/types.js.flow +9 -9
- package/skeleton/index.js.flow +1 -1
- package/skeleton/skeleton.js.flow +4 -4
- package/skeleton/styled-components.js.flow +15 -18
- package/skeleton/types.js.flow +1 -1
- package/slider/index.js.flow +4 -3
- package/slider/slider.js +2 -2
- package/slider/slider.js.flow +19 -41
- package/slider/stateful-slider-container.js.flow +9 -12
- package/slider/stateful-slider.js.flow +2 -2
- package/slider/styled-components.js.flow +21 -21
- package/slider/types.js.flow +9 -13
- package/snackbar/index.js.flow +3 -3
- package/snackbar/snackbar-context.js.flow +16 -23
- package/snackbar/snackbar-element.js +4 -3
- package/snackbar/snackbar-element.js.flow +19 -32
- package/snackbar/styled-components.js +1 -1
- package/snackbar/styled-components.js.flow +19 -24
- package/snackbar/types.js.flow +6 -6
- package/spinner/index.js.flow +3 -2
- package/spinner/spinner.js +22 -18
- package/spinner/spinner.js.flow +10 -20
- package/spinner/styled-components.js +0 -2
- package/spinner/styled-components.js.flow +12 -11
- package/spinner/types.js.flow +3 -3
- package/styles/__mocks__/styled.js +1 -0
- package/styles/as-primary-export-hoc.js.flow +2 -2
- package/styles/index.js.flow +3 -3
- package/styles/styled.js +9 -7
- package/styles/styled.js.flow +35 -43
- package/styles/theme-provider.js.flow +6 -10
- package/styles/types.js.flow +2 -2
- package/styles/util.js.flow +17 -4
- package/table/filter.js.flow +12 -28
- package/table/index.d.ts +1 -0
- package/table/index.js.flow +4 -7
- package/table/sortable-head-cell.js +1 -1
- package/table/sortable-head-cell.js.flow +10 -13
- package/table/styled-components.js.flow +67 -79
- package/table/table.js.flow +2 -2
- package/table/types.js.flow +3 -2
- package/table-grid/index.js.flow +3 -7
- package/table-grid/sortable-head-cell.js.flow +2 -2
- package/table-grid/styled-components.js.flow +21 -23
- package/table-semantic/index.js.flow +4 -4
- package/table-semantic/styled-components.js +2 -1
- package/table-semantic/styled-components.js.flow +88 -125
- package/table-semantic/table-builder-column.js.flow +2 -4
- package/table-semantic/table-builder.js.flow +31 -70
- package/table-semantic/table.js.flow +13 -28
- package/table-semantic/types.js.flow +2 -2
- package/tabs/index.js.flow +4 -4
- package/tabs/stateful-tabs.js.flow +8 -24
- package/tabs/styled-components.js.flow +11 -11
- package/tabs/tab.js.flow +13 -16
- package/tabs/tabs.js +2 -2
- package/tabs/tabs.js.flow +17 -38
- package/tabs/types.js.flow +6 -6
- package/tabs-motion/stateful-tabs.js.flow +11 -24
- package/tabs-motion/styled-components.js.flow +59 -71
- package/tabs-motion/tab.js.flow +1 -1
- package/tabs-motion/tabs.js.flow +32 -62
- package/tabs-motion/types.js.flow +9 -9
- package/tabs-motion/utils.js.flow +6 -10
- package/tag/index.js.flow +2 -2
- package/tag/styled-components.js +4 -8
- package/tag/styled-components.js.flow +140 -146
- package/tag/tag.js +1 -1
- package/tag/tag.js.flow +13 -17
- package/tag/types.js.flow +2 -2
- package/tag/utils.js.flow +2 -2
- package/textarea/constants.js.flow +1 -1
- package/textarea/index.js.flow +5 -5
- package/textarea/stateful-container.js.flow +1 -0
- package/textarea/stateful-textarea.js.flow +1 -1
- package/textarea/styled-components.js +8 -7
- package/textarea/styled-components.js.flow +18 -15
- package/textarea/textarea.js +2 -1
- package/textarea/textarea.js.flow +11 -10
- package/textarea/types.js.flow +7 -5
- package/themes/dark-theme/borders.js.flow +1 -1
- package/themes/dark-theme/color-component-tokens.js.flow +2 -4
- package/themes/dark-theme/color-deprecated-semantic-tokens.js.flow +1 -1
- package/themes/dark-theme/color-semantic-tokens.js.flow +2 -2
- package/themes/dark-theme/color-tokens.js.flow +2 -2
- package/themes/dark-theme/create-dark-theme.js.flow +5 -7
- package/themes/dark-theme/dark-theme.js.flow +1 -1
- package/themes/dark-theme/primitives.js.flow +2 -2
- package/themes/index.js.flow +4 -4
- package/themes/light-theme/color-component-tokens.js.flow +2 -4
- package/themes/light-theme/color-deprecated-semantic-tokens.js.flow +2 -4
- package/themes/light-theme/color-semantic-tokens.js.flow +2 -2
- package/themes/light-theme/color-tokens.js.flow +2 -2
- package/themes/light-theme/create-light-theme.js.flow +5 -7
- package/themes/light-theme/light-theme.js.flow +1 -1
- package/themes/light-theme/primitives.js.flow +2 -2
- package/themes/move-theme/dark-theme-with-move.js.flow +3 -6
- package/themes/move-theme/light-theme-with-move.js.flow +3 -6
- package/themes/move-theme/typography.js.flow +28 -29
- package/themes/shared/animation.js.flow +1 -1
- package/themes/shared/borders.js.flow +1 -1
- package/themes/shared/breakpoints.js.flow +1 -1
- package/themes/shared/grid.js.flow +1 -1
- package/themes/shared/lighting.js.flow +1 -1
- package/themes/shared/media-query.js.flow +2 -2
- package/themes/shared/sizing.js.flow +1 -1
- package/themes/shared/typography.js.flow +20 -21
- package/themes/types.js.flow +3 -3
- package/timepicker/index.js.flow +1 -1
- package/timepicker/timepicker.js +2 -4
- package/timepicker/timepicker.js.flow +40 -73
- package/timepicker/types.js.flow +4 -4
- package/timezonepicker/index.js.flow +1 -1
- package/timezonepicker/timezone-picker.js +3 -6
- package/timezonepicker/timezone-picker.js.flow +27 -40
- package/timezonepicker/types.js.flow +5 -5
- package/timezonepicker/tzdata.js +6 -1
- package/timezonepicker/tzdata.js.flow +6 -1
- package/timezonepicker/update-tzdata.js +11 -13
- package/timezonepicker/update-tzdata.js.flow +11 -6
- package/toast/index.js.flow +3 -3
- package/toast/styled-components.js +30 -19
- package/toast/styled-components.js.flow +87 -74
- package/toast/toast.js.flow +25 -37
- package/toast/toaster.js +5 -7
- package/toast/toaster.js.flow +42 -65
- package/toast/types.js.flow +4 -5
- package/tokens/colors.js.flow +1 -1
- package/tokens/index.js.flow +1 -1
- package/tooltip/default-props.js.flow +2 -2
- package/tooltip/index.js.flow +4 -9
- package/tooltip/stateful-tooltip-container.js.flow +2 -2
- package/tooltip/stateful-tooltip.js.flow +3 -3
- package/tooltip/styled-components.js.flow +7 -11
- package/tooltip/tooltip.js.flow +5 -10
- package/tree-view/index.js.flow +5 -5
- package/tree-view/stateful-container.js.flow +12 -18
- package/tree-view/stateful-tree-view.js.flow +2 -2
- package/tree-view/styled-components.js.flow +25 -35
- package/tree-view/tree-label-interactable.js +12 -8
- package/tree-view/tree-label-interactable.js.flow +9 -9
- package/tree-view/tree-label.js +7 -3
- package/tree-view/tree-label.js.flow +12 -27
- package/tree-view/tree-node.js +1 -1
- package/tree-view/tree-node.js.flow +8 -9
- package/tree-view/tree-view.js +6 -6
- package/tree-view/tree-view.js.flow +17 -30
- package/tree-view/types.js.flow +6 -4
- package/tree-view/utils.js.flow +24 -55
- package/typography/index.js +416 -272
- package/typography/index.js.flow +388 -432
- package/utils/create-event.js.flow +1 -1
- package/utils/deep-merge.js +2 -2
- package/utils/deep-merge.js.flow +4 -7
- package/utils/deprecated-component.js +5 -3
- package/utils/deprecated-component.js.flow +7 -5
- package/utils/focusVisible.js.flow +26 -22
|
@@ -8,18 +8,18 @@ LICENSE file in the root directory of this source tree.
|
|
|
8
8
|
/* eslint-disable cup/no-undef */
|
|
9
9
|
import * as React from 'react';
|
|
10
10
|
|
|
11
|
-
import {getOverrides} from '../helpers/overrides.js';
|
|
11
|
+
import { getOverrides } from '../helpers/overrides.js';
|
|
12
12
|
import DeleteAlt from '../icon/delete-alt.js';
|
|
13
13
|
import TriangleDownIcon from '../icon/triangle-down.js';
|
|
14
14
|
import SearchIconComponent from '../icon/search.js';
|
|
15
|
-
import {LocaleContext} from '../locale/index.js';
|
|
16
|
-
import type {LocaleT} from '../locale/types.js';
|
|
17
|
-
import {Popover, PLACEMENT} from '../popover/index.js';
|
|
18
|
-
import {Spinner} from '../spinner/index.js';
|
|
19
|
-
import {UIDConsumer} from 'react-uid';
|
|
15
|
+
import { LocaleContext } from '../locale/index.js';
|
|
16
|
+
import type { LocaleT } from '../locale/types.js';
|
|
17
|
+
import { Popover, PLACEMENT } from '../popover/index.js';
|
|
18
|
+
import { Spinner } from '../spinner/index.js';
|
|
19
|
+
import { UIDConsumer } from 'react-uid';
|
|
20
20
|
|
|
21
21
|
import AutosizeInput from './autosize-input.js';
|
|
22
|
-
import {TYPE, STATE_CHANGE_TYPE} from './constants.js';
|
|
22
|
+
import { TYPE, STATE_CHANGE_TYPE } from './constants.js';
|
|
23
23
|
import defaultProps from './default-props.js';
|
|
24
24
|
import SelectDropdown from './dropdown.js';
|
|
25
25
|
import {
|
|
@@ -34,26 +34,20 @@ import {
|
|
|
34
34
|
getLoadingIconStyles,
|
|
35
35
|
StyledSearchIconContainer,
|
|
36
36
|
} from './styled-components.js';
|
|
37
|
-
import type {
|
|
38
|
-
|
|
39
|
-
SelectStateT,
|
|
40
|
-
ValueT,
|
|
41
|
-
OptionT,
|
|
42
|
-
ChangeActionT,
|
|
43
|
-
} from './types.js';
|
|
44
|
-
import {expandValue, normalizeOptions} from './utils/index.js';
|
|
37
|
+
import type { PropsT, SelectStateT, ValueT, OptionT, ChangeActionT, ReactRefT } from './types.js';
|
|
38
|
+
import { expandValue, normalizeOptions } from './utils/index.js';
|
|
45
39
|
|
|
46
40
|
function Noop() {
|
|
47
41
|
return null;
|
|
48
42
|
}
|
|
49
43
|
|
|
50
|
-
const isClick = event => event.type === 'click';
|
|
51
|
-
const isLeftClick = event =>
|
|
44
|
+
const isClick = (event) => event.type === 'click';
|
|
45
|
+
const isLeftClick = (event) =>
|
|
52
46
|
event.button !== null && event.button !== undefined && event.button === 0;
|
|
53
47
|
|
|
54
48
|
const containsNode = (parent, child) => {
|
|
55
49
|
if (__BROWSER__) {
|
|
56
|
-
//
|
|
50
|
+
// flowlint-next-line unclear-type:off
|
|
57
51
|
return child && parent && parent.contains((child: any));
|
|
58
52
|
}
|
|
59
53
|
};
|
|
@@ -72,17 +66,16 @@ export function isInteractive(rootTarget: EventTarget, rootElement: Element) {
|
|
|
72
66
|
return false;
|
|
73
67
|
}
|
|
74
68
|
|
|
75
|
-
// eslint-disable-next-line flowtype/no-weak-types
|
|
76
69
|
class Select extends React.Component<PropsT, SelectStateT> {
|
|
77
70
|
static defaultProps = defaultProps;
|
|
78
71
|
|
|
79
72
|
// anchor is a ref that refers to the outermost element rendered when the dropdown menu is not
|
|
80
73
|
// open. This is required so that we can check if clicks are on/off the anchor element.
|
|
81
|
-
anchor:
|
|
74
|
+
anchor: ReactRefT<HTMLElement> = React.createRef<HTMLElement>();
|
|
82
75
|
// dropdown is a ref that refers to the popover element. This is required so that we can check if
|
|
83
76
|
// clicks are on/off the dropdown element.
|
|
84
|
-
dropdown:
|
|
85
|
-
input: React.ElementRef
|
|
77
|
+
dropdown: ReactRefT<HTMLElement> = React.createRef<HTMLElement>();
|
|
78
|
+
input: React.ElementRef<typeof HTMLInputElement>;
|
|
86
79
|
// dragging is a flag to track whether a mobile device is currently scrolling versus clicking.
|
|
87
80
|
dragging: boolean;
|
|
88
81
|
// focusAfterClear is a flag to indicate that the dropdowm menu should open after a selected
|
|
@@ -126,7 +119,7 @@ class Select extends React.Component<PropsT, SelectStateT> {
|
|
|
126
119
|
this.isItMounted = true;
|
|
127
120
|
|
|
128
121
|
if (this.props.methodsRef) {
|
|
129
|
-
const {methodsRef} = this.props;
|
|
122
|
+
const { methodsRef } = this.props;
|
|
130
123
|
|
|
131
124
|
methodsRef.current = {
|
|
132
125
|
setDropdownOpen: this.handleDropdownOpen.bind(this),
|
|
@@ -231,9 +224,9 @@ class Select extends React.Component<PropsT, SelectStateT> {
|
|
|
231
224
|
if (!this.props.searchable) {
|
|
232
225
|
this.focus();
|
|
233
226
|
if (this.state.isOpen) {
|
|
234
|
-
this.setState({isOpen: false, isFocused: false});
|
|
227
|
+
this.setState({ isOpen: false, isFocused: false });
|
|
235
228
|
} else {
|
|
236
|
-
this.setState({isOpen: true, isFocused: true});
|
|
229
|
+
this.setState({ isOpen: true, isFocused: true });
|
|
237
230
|
}
|
|
238
231
|
|
|
239
232
|
return;
|
|
@@ -252,7 +245,7 @@ class Select extends React.Component<PropsT, SelectStateT> {
|
|
|
252
245
|
// the provided text highlights rather than position's the cursor at the end of the input.
|
|
253
246
|
if (this.input) this.input.value = '';
|
|
254
247
|
|
|
255
|
-
this.setState(prev => ({
|
|
248
|
+
this.setState((prev) => ({
|
|
256
249
|
isOpen: !this.focusAfterClear && !prev.isOpen,
|
|
257
250
|
isPseudoFocused: false,
|
|
258
251
|
}));
|
|
@@ -360,7 +353,7 @@ class Select extends React.Component<PropsT, SelectStateT> {
|
|
|
360
353
|
}
|
|
361
354
|
break;
|
|
362
355
|
case 9: // tab
|
|
363
|
-
this.setState(prevState => ({
|
|
356
|
+
this.setState((prevState) => ({
|
|
364
357
|
isPseudoFocused: false,
|
|
365
358
|
isFocused: false,
|
|
366
359
|
isOpen: false,
|
|
@@ -371,13 +364,9 @@ class Select extends React.Component<PropsT, SelectStateT> {
|
|
|
371
364
|
}));
|
|
372
365
|
break;
|
|
373
366
|
case 27: // escape
|
|
374
|
-
if (
|
|
375
|
-
!this.state.isOpen &&
|
|
376
|
-
this.props.clearable &&
|
|
377
|
-
this.props.escapeClearsValue
|
|
378
|
-
) {
|
|
367
|
+
if (!this.state.isOpen && this.props.clearable && this.props.escapeClearsValue) {
|
|
379
368
|
this.clearValue(event);
|
|
380
|
-
this.setState({isFocused: false, isPseudoFocused: false});
|
|
369
|
+
this.setState({ isFocused: false, isPseudoFocused: false });
|
|
381
370
|
}
|
|
382
371
|
break;
|
|
383
372
|
case 32: // space
|
|
@@ -386,31 +375,31 @@ class Select extends React.Component<PropsT, SelectStateT> {
|
|
|
386
375
|
}
|
|
387
376
|
event.preventDefault();
|
|
388
377
|
if (!this.state.isOpen) {
|
|
389
|
-
this.setState({isOpen: true});
|
|
378
|
+
this.setState({ isOpen: true });
|
|
390
379
|
}
|
|
391
380
|
break;
|
|
392
381
|
case 38: // up
|
|
393
382
|
event.preventDefault();
|
|
394
383
|
if (!this.state.isOpen) {
|
|
395
|
-
this.setState({isOpen: true});
|
|
384
|
+
this.setState({ isOpen: true });
|
|
396
385
|
}
|
|
397
386
|
break;
|
|
398
387
|
case 40: // down
|
|
399
388
|
event.preventDefault();
|
|
400
389
|
if (!this.state.isOpen) {
|
|
401
|
-
this.setState({isOpen: true});
|
|
390
|
+
this.setState({ isOpen: true });
|
|
402
391
|
}
|
|
403
392
|
break;
|
|
404
393
|
case 33: // page up
|
|
405
394
|
event.preventDefault();
|
|
406
395
|
if (!this.state.isOpen) {
|
|
407
|
-
this.setState({isOpen: true});
|
|
396
|
+
this.setState({ isOpen: true });
|
|
408
397
|
}
|
|
409
398
|
break;
|
|
410
399
|
case 34: // page down
|
|
411
400
|
event.preventDefault();
|
|
412
401
|
if (!this.state.isOpen) {
|
|
413
|
-
this.setState({isOpen: true});
|
|
402
|
+
this.setState({ isOpen: true });
|
|
414
403
|
}
|
|
415
404
|
break;
|
|
416
405
|
case 35: // end key
|
|
@@ -419,7 +408,7 @@ class Select extends React.Component<PropsT, SelectStateT> {
|
|
|
419
408
|
}
|
|
420
409
|
event.preventDefault();
|
|
421
410
|
if (!this.state.isOpen) {
|
|
422
|
-
this.setState({isOpen: true});
|
|
411
|
+
this.setState({ isOpen: true });
|
|
423
412
|
}
|
|
424
413
|
break;
|
|
425
414
|
case 36: // home key
|
|
@@ -428,7 +417,7 @@ class Select extends React.Component<PropsT, SelectStateT> {
|
|
|
428
417
|
}
|
|
429
418
|
event.preventDefault();
|
|
430
419
|
if (!this.state.isOpen) {
|
|
431
|
-
this.setState({isOpen: true});
|
|
420
|
+
this.setState({ isOpen: true });
|
|
432
421
|
}
|
|
433
422
|
break;
|
|
434
423
|
case 46: // delete
|
|
@@ -451,13 +440,13 @@ class Select extends React.Component<PropsT, SelectStateT> {
|
|
|
451
440
|
$disabled: boolean,
|
|
452
441
|
$isHighlighted: boolean,
|
|
453
442
|
},
|
|
454
|
-
}
|
|
443
|
+
}
|
|
455
444
|
): React.Node =>
|
|
456
445
|
option.isCreatable
|
|
457
446
|
? `${locale.select.create} “${option[this.props.labelKey]}”`
|
|
458
447
|
: option[this.props.labelKey];
|
|
459
448
|
|
|
460
|
-
getValueLabel = ({option}: {option: OptionT}): React.Node => {
|
|
449
|
+
getValueLabel = ({ option }: { option: OptionT }): React.Node => {
|
|
461
450
|
return option[this.props.labelKey];
|
|
462
451
|
};
|
|
463
452
|
|
|
@@ -469,7 +458,7 @@ class Select extends React.Component<PropsT, SelectStateT> {
|
|
|
469
458
|
if (value === null || value === undefined) return [];
|
|
470
459
|
value = [value];
|
|
471
460
|
}
|
|
472
|
-
return value.map(value => expandValue(value, this.props));
|
|
461
|
+
return value.map((value) => expandValue(value, this.props));
|
|
473
462
|
}
|
|
474
463
|
|
|
475
464
|
setValue(value: ValueT, option: ?OptionT, type: ChangeActionT) {
|
|
@@ -484,13 +473,14 @@ class Select extends React.Component<PropsT, SelectStateT> {
|
|
|
484
473
|
|
|
485
474
|
handleActiveDescendantChange = (id?: string) => {
|
|
486
475
|
if (id) {
|
|
487
|
-
this.setState({activeDescendant: id});
|
|
476
|
+
this.setState({ activeDescendant: id });
|
|
488
477
|
} else {
|
|
489
|
-
this.setState({activeDescendant: null});
|
|
478
|
+
this.setState({ activeDescendant: null });
|
|
490
479
|
}
|
|
491
480
|
};
|
|
492
481
|
|
|
493
|
-
|
|
482
|
+
//flowlint-next-line unclear-type:off
|
|
483
|
+
handleInputRef = (input: React.ElementRef<any>) => {
|
|
494
484
|
this.input = input;
|
|
495
485
|
if (this.props.controlRef) {
|
|
496
486
|
if (typeof this.props.controlRef === 'function') {
|
|
@@ -501,16 +491,14 @@ class Select extends React.Component<PropsT, SelectStateT> {
|
|
|
501
491
|
}
|
|
502
492
|
};
|
|
503
493
|
|
|
504
|
-
selectValue = ({item}: {item: OptionT}) => {
|
|
494
|
+
selectValue = ({ item }: { item: OptionT }) => {
|
|
505
495
|
if (item.disabled) {
|
|
506
496
|
return;
|
|
507
497
|
}
|
|
508
498
|
this.justSelected = true;
|
|
509
499
|
// NOTE: we add/set the value in a callback to make sure the
|
|
510
500
|
// input value is empty to avoid styling issues in Chrome
|
|
511
|
-
const updatedValue = this.props.onSelectResetsInput
|
|
512
|
-
? ''
|
|
513
|
-
: this.state.inputValue;
|
|
501
|
+
const updatedValue = this.props.onSelectResetsInput ? '' : this.state.inputValue;
|
|
514
502
|
if (this.props.multi) {
|
|
515
503
|
this.setState(
|
|
516
504
|
{
|
|
@@ -519,16 +507,12 @@ class Select extends React.Component<PropsT, SelectStateT> {
|
|
|
519
507
|
},
|
|
520
508
|
() => {
|
|
521
509
|
const valueArray = this.props.value;
|
|
522
|
-
if (
|
|
523
|
-
valueArray.some(
|
|
524
|
-
i => i[this.props.valueKey] === item[this.props.valueKey],
|
|
525
|
-
)
|
|
526
|
-
) {
|
|
510
|
+
if (valueArray.some((i) => i[this.props.valueKey] === item[this.props.valueKey])) {
|
|
527
511
|
this.removeValue(item);
|
|
528
512
|
} else {
|
|
529
513
|
this.addValue(item);
|
|
530
514
|
}
|
|
531
|
-
}
|
|
515
|
+
}
|
|
532
516
|
);
|
|
533
517
|
} else {
|
|
534
518
|
this.focus();
|
|
@@ -541,7 +525,7 @@ class Select extends React.Component<PropsT, SelectStateT> {
|
|
|
541
525
|
},
|
|
542
526
|
() => {
|
|
543
527
|
this.setValue([item], item, STATE_CHANGE_TYPE.select);
|
|
544
|
-
}
|
|
528
|
+
}
|
|
545
529
|
);
|
|
546
530
|
}
|
|
547
531
|
};
|
|
@@ -558,12 +542,9 @@ class Select extends React.Component<PropsT, SelectStateT> {
|
|
|
558
542
|
}
|
|
559
543
|
const valueLength = this.props.value.length;
|
|
560
544
|
const renderLabel = this.props.getValueLabel || this.getValueLabel;
|
|
561
|
-
const labelForInput = renderLabel({option: item, index: valueLength - 1});
|
|
545
|
+
const labelForInput = renderLabel({ option: item, index: valueLength - 1 });
|
|
562
546
|
// label might not be a string, it might be a Node of another kind.
|
|
563
|
-
if (
|
|
564
|
-
!this.props.backspaceClearsInputValue &&
|
|
565
|
-
typeof labelForInput === 'string'
|
|
566
|
-
) {
|
|
547
|
+
if (!this.props.backspaceClearsInputValue && typeof labelForInput === 'string') {
|
|
567
548
|
const remainingInput = labelForInput.slice(0, -1);
|
|
568
549
|
this.setState({
|
|
569
550
|
inputValue: remainingInput,
|
|
@@ -585,11 +566,9 @@ class Select extends React.Component<PropsT, SelectStateT> {
|
|
|
585
566
|
removeValue = (item: OptionT) => {
|
|
586
567
|
const valueArray = [...this.props.value];
|
|
587
568
|
this.setValue(
|
|
588
|
-
valueArray.filter(
|
|
589
|
-
i => i[this.props.valueKey] !== item[this.props.valueKey],
|
|
590
|
-
),
|
|
569
|
+
valueArray.filter((i) => i[this.props.valueKey] !== item[this.props.valueKey]),
|
|
591
570
|
item,
|
|
592
|
-
STATE_CHANGE_TYPE.remove
|
|
571
|
+
STATE_CHANGE_TYPE.remove
|
|
593
572
|
);
|
|
594
573
|
this.focus();
|
|
595
574
|
};
|
|
@@ -598,9 +577,7 @@ class Select extends React.Component<PropsT, SelectStateT> {
|
|
|
598
577
|
if (isClick(event) && !isLeftClick(event)) return;
|
|
599
578
|
|
|
600
579
|
if (this.props.value) {
|
|
601
|
-
const resetValue = this.props.value.filter(
|
|
602
|
-
item => item.clearableValue === false,
|
|
603
|
-
);
|
|
580
|
+
const resetValue = this.props.value.filter((item) => item.clearableValue === false);
|
|
604
581
|
this.setValue(resetValue, null, STATE_CHANGE_TYPE.clear);
|
|
605
582
|
}
|
|
606
583
|
this.setState({
|
|
@@ -613,10 +590,7 @@ class Select extends React.Component<PropsT, SelectStateT> {
|
|
|
613
590
|
};
|
|
614
591
|
|
|
615
592
|
shouldShowPlaceholder = () => {
|
|
616
|
-
return !(
|
|
617
|
-
this.state.inputValue ||
|
|
618
|
-
(this.props.value && this.props.value.length)
|
|
619
|
-
);
|
|
593
|
+
return !(this.state.inputValue || (this.props.value && this.props.value.length));
|
|
620
594
|
};
|
|
621
595
|
|
|
622
596
|
shouldShowValue = () => {
|
|
@@ -626,15 +600,15 @@ class Select extends React.Component<PropsT, SelectStateT> {
|
|
|
626
600
|
renderLoading() {
|
|
627
601
|
if (!this.props.isLoading) return;
|
|
628
602
|
const sharedProps = this.getSharedProps();
|
|
629
|
-
const {overrides = {}} = this.props;
|
|
603
|
+
const { overrides = {} } = this.props;
|
|
630
604
|
const [LoadingIndicator, loadingIndicatorProps] = getOverrides(
|
|
631
605
|
overrides.LoadingIndicator,
|
|
632
|
-
Spinner
|
|
606
|
+
Spinner
|
|
633
607
|
);
|
|
634
608
|
return (
|
|
635
609
|
<LoadingIndicator
|
|
636
610
|
size={16}
|
|
637
|
-
overrides={{Svg: {style: getLoadingIconStyles}}}
|
|
611
|
+
overrides={{ Svg: { style: getLoadingIconStyles } }}
|
|
638
612
|
$silenceV11DeprecationWarning
|
|
639
613
|
{...sharedProps}
|
|
640
614
|
{...loadingIndicatorProps}
|
|
@@ -645,9 +619,9 @@ class Select extends React.Component<PropsT, SelectStateT> {
|
|
|
645
619
|
renderValue(
|
|
646
620
|
valueArray: ValueT,
|
|
647
621
|
isOpen: boolean,
|
|
648
|
-
locale: LocaleT
|
|
622
|
+
locale: LocaleT
|
|
649
623
|
): ?React.Node | Array<?React.Node> {
|
|
650
|
-
const {overrides = {}} = this.props;
|
|
624
|
+
const { overrides = {} } = this.props;
|
|
651
625
|
const sharedProps = this.getSharedProps();
|
|
652
626
|
const renderLabel = this.props.getValueLabel || this.getValueLabel;
|
|
653
627
|
const Value = this.props.valueComponent || Noop;
|
|
@@ -656,19 +630,18 @@ class Select extends React.Component<PropsT, SelectStateT> {
|
|
|
656
630
|
}
|
|
657
631
|
if (this.props.multi) {
|
|
658
632
|
return valueArray.map((value, i) => {
|
|
659
|
-
const disabled =
|
|
660
|
-
sharedProps.$disabled || value.clearableValue === false;
|
|
633
|
+
const disabled = sharedProps.$disabled || value.clearableValue === false;
|
|
661
634
|
return (
|
|
662
635
|
<Value
|
|
663
636
|
value={value}
|
|
664
637
|
key={`value-${i}-${value[this.props.valueKey]}`}
|
|
665
638
|
removeValue={() => this.removeValue(value)}
|
|
666
639
|
disabled={disabled}
|
|
667
|
-
overrides={{Tag: overrides.Tag, MultiValue: overrides.MultiValue}}
|
|
640
|
+
overrides={{ Tag: overrides.Tag, MultiValue: overrides.MultiValue }}
|
|
668
641
|
{...sharedProps}
|
|
669
642
|
$disabled={disabled}
|
|
670
643
|
>
|
|
671
|
-
{renderLabel({option: value, index: i})}
|
|
644
|
+
{renderLabel({ option: value, index: i })}
|
|
672
645
|
</Value>
|
|
673
646
|
);
|
|
674
647
|
});
|
|
@@ -677,25 +650,25 @@ class Select extends React.Component<PropsT, SelectStateT> {
|
|
|
677
650
|
<Value
|
|
678
651
|
value={valueArray[0][this.props.valueKey]}
|
|
679
652
|
disabled={this.props.disabled}
|
|
680
|
-
overrides={{SingleValue: overrides.SingleValue}}
|
|
653
|
+
overrides={{ SingleValue: overrides.SingleValue }}
|
|
681
654
|
{...sharedProps}
|
|
682
655
|
>
|
|
683
|
-
{renderLabel({option: valueArray[0]})}
|
|
656
|
+
{renderLabel({ option: valueArray[0] })}
|
|
684
657
|
</Value>
|
|
685
658
|
);
|
|
686
659
|
}
|
|
687
660
|
}
|
|
688
661
|
|
|
689
662
|
renderInput(listboxId: string) {
|
|
690
|
-
const {overrides = {}} = this.props;
|
|
663
|
+
const { overrides = {} } = this.props;
|
|
691
664
|
const [InputContainer, inputContainerProps] = getOverrides(
|
|
692
665
|
overrides.InputContainer,
|
|
693
|
-
StyledInputContainer
|
|
666
|
+
StyledInputContainer
|
|
694
667
|
);
|
|
695
668
|
const sharedProps = this.getSharedProps();
|
|
696
669
|
const isOpen = this.state.isOpen;
|
|
697
670
|
const selected = this.getValueArray(this.props.value)
|
|
698
|
-
.map(v => v[this.props.labelKey])
|
|
671
|
+
.map((v) => v[this.props.labelKey])
|
|
699
672
|
.join(', ');
|
|
700
673
|
const selectedLabel = selected.length ? `Selected ${selected}. ` : '';
|
|
701
674
|
const label = `${selectedLabel}${this.props['aria-label'] || ''}`;
|
|
@@ -718,6 +691,7 @@ class Select extends React.Component<PropsT, SelectStateT> {
|
|
|
718
691
|
{...sharedProps}
|
|
719
692
|
{...inputContainerProps}
|
|
720
693
|
>
|
|
694
|
+
{/* $FlowExpectedError[cannot-spread-inexact] */}
|
|
721
695
|
<input
|
|
722
696
|
aria-hidden
|
|
723
697
|
id={this.props.id || null}
|
|
@@ -732,7 +706,8 @@ class Select extends React.Component<PropsT, SelectStateT> {
|
|
|
732
706
|
tabIndex={-1}
|
|
733
707
|
{...(overrides.Input
|
|
734
708
|
? overrides.Input.props
|
|
735
|
-
?
|
|
709
|
+
? // $FlowExpectedError[not-an-object]
|
|
710
|
+
overrides.Input.props
|
|
736
711
|
: {}
|
|
737
712
|
: {})}
|
|
738
713
|
/>
|
|
@@ -759,7 +734,7 @@ class Select extends React.Component<PropsT, SelectStateT> {
|
|
|
759
734
|
inputRef={this.handleInputRef}
|
|
760
735
|
onChange={this.handleInputChange}
|
|
761
736
|
onFocus={this.handleInputFocus}
|
|
762
|
-
overrides={{Input: overrides.Input}}
|
|
737
|
+
overrides={{ Input: overrides.Input }}
|
|
763
738
|
required={(this.props.required && !this.props.value.length) || null}
|
|
764
739
|
role="combobox"
|
|
765
740
|
value={this.state.inputValue}
|
|
@@ -772,24 +747,16 @@ class Select extends React.Component<PropsT, SelectStateT> {
|
|
|
772
747
|
|
|
773
748
|
renderClear() {
|
|
774
749
|
const isValueEntered = Boolean(
|
|
775
|
-
(this.props.value && this.props.value.length) || this.state.inputValue
|
|
750
|
+
(this.props.value && this.props.value.length) || this.state.inputValue
|
|
776
751
|
);
|
|
777
752
|
|
|
778
|
-
if (
|
|
779
|
-
!this.props.clearable ||
|
|
780
|
-
this.props.disabled ||
|
|
781
|
-
this.props.isLoading ||
|
|
782
|
-
!isValueEntered
|
|
783
|
-
) {
|
|
753
|
+
if (!this.props.clearable || this.props.disabled || this.props.isLoading || !isValueEntered) {
|
|
784
754
|
return;
|
|
785
755
|
}
|
|
786
756
|
|
|
787
757
|
const sharedProps = this.getSharedProps();
|
|
788
|
-
const {overrides = {}} = this.props;
|
|
789
|
-
const [ClearIcon, clearIconProps] = getOverrides(
|
|
790
|
-
overrides.ClearIcon,
|
|
791
|
-
DeleteAlt,
|
|
792
|
-
);
|
|
758
|
+
const { overrides = {} } = this.props;
|
|
759
|
+
const [ClearIcon, clearIconProps] = getOverrides(overrides.ClearIcon, DeleteAlt);
|
|
793
760
|
const ariaLabel = this.props.multi ? 'Clear all' : 'Clear value';
|
|
794
761
|
|
|
795
762
|
return (
|
|
@@ -802,13 +769,9 @@ class Select extends React.Component<PropsT, SelectStateT> {
|
|
|
802
769
|
Svg: {
|
|
803
770
|
component: StyledClearIcon,
|
|
804
771
|
props:
|
|
805
|
-
overrides.ClearIcon && overrides.ClearIcon.props
|
|
806
|
-
? overrides.ClearIcon.props
|
|
807
|
-
: {},
|
|
772
|
+
overrides.ClearIcon && overrides.ClearIcon.props ? overrides.ClearIcon.props : {},
|
|
808
773
|
style:
|
|
809
|
-
overrides.ClearIcon && overrides.ClearIcon.style
|
|
810
|
-
? overrides.ClearIcon.style
|
|
811
|
-
: {},
|
|
774
|
+
overrides.ClearIcon && overrides.ClearIcon.style ? overrides.ClearIcon.style : {},
|
|
812
775
|
},
|
|
813
776
|
}}
|
|
814
777
|
{...sharedProps}
|
|
@@ -821,11 +784,8 @@ class Select extends React.Component<PropsT, SelectStateT> {
|
|
|
821
784
|
if (this.props.type !== TYPE.select) {
|
|
822
785
|
return null;
|
|
823
786
|
}
|
|
824
|
-
const {overrides = {}} = this.props;
|
|
825
|
-
const [SelectArrow, selectArrowProps] = getOverrides(
|
|
826
|
-
overrides.SelectArrow,
|
|
827
|
-
TriangleDownIcon,
|
|
828
|
-
);
|
|
787
|
+
const { overrides = {} } = this.props;
|
|
788
|
+
const [SelectArrow, selectArrowProps] = getOverrides(overrides.SelectArrow, TriangleDownIcon);
|
|
829
789
|
const sharedProps = this.getSharedProps();
|
|
830
790
|
return (
|
|
831
791
|
<SelectArrow
|
|
@@ -854,24 +814,17 @@ class Select extends React.Component<PropsT, SelectStateT> {
|
|
|
854
814
|
if (this.props.type !== TYPE.search) {
|
|
855
815
|
return null;
|
|
856
816
|
}
|
|
857
|
-
const {overrides = {}} = this.props;
|
|
817
|
+
const { overrides = {} } = this.props;
|
|
858
818
|
const [SearchIconContainer, searchIconContainerProps] = getOverrides(
|
|
859
819
|
overrides.SearchIconContainer,
|
|
860
|
-
StyledSearchIconContainer
|
|
861
|
-
);
|
|
862
|
-
const [SearchIcon, searchIconProps] = getOverrides(
|
|
863
|
-
overrides.SearchIcon,
|
|
864
|
-
SearchIconComponent,
|
|
820
|
+
StyledSearchIconContainer
|
|
865
821
|
);
|
|
822
|
+
const [SearchIcon, searchIconProps] = getOverrides(overrides.SearchIcon, SearchIconComponent);
|
|
866
823
|
const sharedProps = this.getSharedProps();
|
|
867
824
|
|
|
868
825
|
return (
|
|
869
826
|
// TODO(v11): remove searchIconProps from SearchIconContainer
|
|
870
|
-
<SearchIconContainer
|
|
871
|
-
{...sharedProps}
|
|
872
|
-
{...searchIconProps}
|
|
873
|
-
{...searchIconContainerProps}
|
|
874
|
-
>
|
|
827
|
+
<SearchIconContainer {...sharedProps} {...searchIconProps} {...searchIconContainerProps}>
|
|
875
828
|
<SearchIcon size={16} title={'search'} {...searchIconProps} />
|
|
876
829
|
</SearchIconContainer>
|
|
877
830
|
);
|
|
@@ -881,22 +834,15 @@ class Select extends React.Component<PropsT, SelectStateT> {
|
|
|
881
834
|
const filterValue = this.state.inputValue.trim();
|
|
882
835
|
// apply filter function
|
|
883
836
|
if (this.props.filterOptions) {
|
|
884
|
-
this.options = this.props.filterOptions(
|
|
885
|
-
this.
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
{
|
|
889
|
-
valueKey: this.props.valueKey,
|
|
890
|
-
labelKey: this.props.labelKey,
|
|
891
|
-
},
|
|
892
|
-
);
|
|
837
|
+
this.options = this.props.filterOptions(this.options, filterValue, excludeOptions, {
|
|
838
|
+
valueKey: this.props.valueKey,
|
|
839
|
+
labelKey: this.props.labelKey,
|
|
840
|
+
});
|
|
893
841
|
}
|
|
894
842
|
// can user create a new option + there's no exact match already
|
|
895
843
|
const filterDoesNotMatchOption = this.props.ignoreCase
|
|
896
|
-
? opt =>
|
|
897
|
-
|
|
898
|
-
filterValue.toLowerCase().trim()
|
|
899
|
-
: opt => opt[this.props.labelKey] !== filterValue.trim();
|
|
844
|
+
? (opt) => opt[this.props.labelKey].toLowerCase() !== filterValue.toLowerCase().trim()
|
|
845
|
+
: (opt) => opt[this.props.labelKey] !== filterValue.trim();
|
|
900
846
|
if (
|
|
901
847
|
filterValue &&
|
|
902
848
|
this.props.creatable &&
|
|
@@ -928,7 +874,7 @@ class Select extends React.Component<PropsT, SelectStateT> {
|
|
|
928
874
|
type,
|
|
929
875
|
value,
|
|
930
876
|
} = this.props;
|
|
931
|
-
const {isOpen, isFocused, isPseudoFocused} = this.state;
|
|
877
|
+
const { isOpen, isFocused, isPseudoFocused } = this.state;
|
|
932
878
|
return {
|
|
933
879
|
$clearable: clearable,
|
|
934
880
|
$creatable: creatable,
|
|
@@ -951,20 +897,13 @@ class Select extends React.Component<PropsT, SelectStateT> {
|
|
|
951
897
|
render() {
|
|
952
898
|
this.options = normalizeOptions(this.props.options);
|
|
953
899
|
|
|
954
|
-
const {
|
|
955
|
-
overrides = {},
|
|
956
|
-
type,
|
|
957
|
-
multi,
|
|
958
|
-
noResultsMsg,
|
|
959
|
-
value,
|
|
960
|
-
filterOutSelected,
|
|
961
|
-
} = this.props;
|
|
900
|
+
const { overrides = {}, type, multi, noResultsMsg, value, filterOutSelected } = this.props;
|
|
962
901
|
|
|
963
902
|
if (__DEV__) {
|
|
964
903
|
// value may be nullish, only warn if value is defined
|
|
965
904
|
if (value && !Array.isArray(value)) {
|
|
966
905
|
console.warn(
|
|
967
|
-
'The Select component expects an array as the value prop. For more information, please visit the docs at https://baseweb.design/components/select/'
|
|
906
|
+
'The Select component expects an array as the value prop. For more information, please visit the docs at https://baseweb.design/components/select/'
|
|
968
907
|
);
|
|
969
908
|
}
|
|
970
909
|
}
|
|
@@ -972,30 +911,22 @@ class Select extends React.Component<PropsT, SelectStateT> {
|
|
|
972
911
|
const [Root, rootProps] = getOverrides(overrides.Root, StyledRoot);
|
|
973
912
|
const [ControlContainer, controlContainerProps] = getOverrides(
|
|
974
913
|
overrides.ControlContainer,
|
|
975
|
-
StyledControlContainer
|
|
914
|
+
StyledControlContainer
|
|
976
915
|
);
|
|
977
916
|
const [ValueContainer, valueContainerProps] = getOverrides(
|
|
978
917
|
overrides.ValueContainer,
|
|
979
|
-
StyledValueContainer
|
|
918
|
+
StyledValueContainer
|
|
980
919
|
);
|
|
981
920
|
const [IconsContainer, iconsContainerProps] = getOverrides(
|
|
982
921
|
overrides.IconsContainer,
|
|
983
|
-
StyledIconsContainer
|
|
984
|
-
);
|
|
985
|
-
const [PopoverOverride, popoverProps] = getOverrides(
|
|
986
|
-
overrides.Popover,
|
|
987
|
-
Popover,
|
|
988
|
-
);
|
|
989
|
-
const [Placeholder, placeholderProps] = getOverrides(
|
|
990
|
-
overrides.Placeholder,
|
|
991
|
-
StyledPlaceholder,
|
|
922
|
+
StyledIconsContainer
|
|
992
923
|
);
|
|
924
|
+
const [PopoverOverride, popoverProps] = getOverrides(overrides.Popover, Popover);
|
|
925
|
+
const [Placeholder, placeholderProps] = getOverrides(overrides.Placeholder, StyledPlaceholder);
|
|
993
926
|
const sharedProps = this.getSharedProps();
|
|
994
927
|
|
|
995
928
|
const valueArray = this.getValueArray(value);
|
|
996
|
-
const options = this.filterOptions(
|
|
997
|
-
multi && filterOutSelected ? valueArray : null,
|
|
998
|
-
);
|
|
929
|
+
const options = this.filterOptions(multi && filterOutSelected ? valueArray : null);
|
|
999
930
|
const isOpen = this.state.isOpen;
|
|
1000
931
|
sharedProps.$isOpen = isOpen;
|
|
1001
932
|
|
|
@@ -1003,22 +934,22 @@ class Select extends React.Component<PropsT, SelectStateT> {
|
|
|
1003
934
|
if (this.props.error && this.props.positive) {
|
|
1004
935
|
// eslint-disable-next-line no-console
|
|
1005
936
|
console.warn(
|
|
1006
|
-
`[Select] \`error\` and \`positive\` are both set to \`true\`. \`error\` will take precedence but this may not be what you want
|
|
937
|
+
`[Select] \`error\` and \`positive\` are both set to \`true\`. \`error\` will take precedence but this may not be what you want.`
|
|
1007
938
|
);
|
|
1008
939
|
}
|
|
1009
940
|
}
|
|
1010
941
|
|
|
1011
942
|
return (
|
|
1012
943
|
<UIDConsumer>
|
|
1013
|
-
{listboxId => (
|
|
944
|
+
{(listboxId) => (
|
|
1014
945
|
<LocaleContext.Consumer>
|
|
1015
|
-
{locale => (
|
|
946
|
+
{(locale) => (
|
|
1016
947
|
<PopoverOverride
|
|
1017
948
|
// Popover does not provide ability to forward refs through, and if we were to simply
|
|
1018
949
|
// apply the ref to the Root component below it would be overwritten before the popover
|
|
1019
950
|
// renders it. Using this strategy, we will get a ref to the popover, then reuse its
|
|
1020
951
|
// anchorRef so we can check if clicks are on the select component or not.
|
|
1021
|
-
//
|
|
952
|
+
// flowlint-next-line unclear-type:off
|
|
1022
953
|
innerRef={(ref: any) => {
|
|
1023
954
|
if (!ref) return;
|
|
1024
955
|
this.anchor = ref.anchorRef;
|
|
@@ -1034,8 +965,7 @@ class Select extends React.Component<PropsT, SelectStateT> {
|
|
|
1034
965
|
error: this.props.error,
|
|
1035
966
|
positive: this.props.positive,
|
|
1036
967
|
getOptionLabel:
|
|
1037
|
-
this.props.getOptionLabel ||
|
|
1038
|
-
this.getOptionLabel.bind(this, locale),
|
|
968
|
+
this.props.getOptionLabel || this.getOptionLabel.bind(this, locale),
|
|
1039
969
|
id: listboxId,
|
|
1040
970
|
isLoading: this.props.isLoading,
|
|
1041
971
|
labelKey: this.props.labelKey,
|
|
@@ -1052,18 +982,11 @@ class Select extends React.Component<PropsT, SelectStateT> {
|
|
|
1052
982
|
type,
|
|
1053
983
|
value: valueArray,
|
|
1054
984
|
valueKey: this.props.valueKey,
|
|
1055
|
-
width: this.anchor.current
|
|
1056
|
-
? this.anchor.current.clientWidth
|
|
1057
|
-
: null,
|
|
985
|
+
width: this.anchor.current ? this.anchor.current.clientWidth : null,
|
|
1058
986
|
keyboardControlNode: this.anchor,
|
|
1059
987
|
};
|
|
1060
988
|
|
|
1061
|
-
return
|
|
1062
|
-
<SelectDropdown
|
|
1063
|
-
innerRef={this.dropdown}
|
|
1064
|
-
{...dropdownProps}
|
|
1065
|
-
/>
|
|
1066
|
-
);
|
|
989
|
+
return <SelectDropdown innerRef={this.dropdown} {...dropdownProps} />;
|
|
1067
990
|
}}
|
|
1068
991
|
placement={PLACEMENT.bottom}
|
|
1069
992
|
{...popoverProps}
|
package/select/select.js.flow
CHANGED
|
@@ -11,12 +11,7 @@ import MultiValue from './multi-value.js';
|
|
|
11
11
|
import SingleValue from './value.js';
|
|
12
12
|
|
|
13
13
|
function Select(props: React.ElementConfig<typeof SelectComponent>) {
|
|
14
|
-
return
|
|
15
|
-
<SelectComponent
|
|
16
|
-
{...props}
|
|
17
|
-
valueComponent={props.multi ? MultiValue : SingleValue}
|
|
18
|
-
/>
|
|
19
|
-
);
|
|
14
|
+
return <SelectComponent {...props} valueComponent={props.multi ? MultiValue : SingleValue} />;
|
|
20
15
|
}
|
|
21
16
|
|
|
22
17
|
export default Select;
|