baseui 10.10.0 → 10.12.0
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.flow +38 -46
- 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.flow +1 -1
- package/data-table/data-table.js +4 -4
- package/data-table/data-table.js.flow +76 -124
- package/data-table/filter-menu.js.flow +26 -37
- package/data-table/filter-shell.js.flow +6 -6
- package/data-table/header-cell.js.flow +112 -122
- package/data-table/index.js.flow +15 -24
- package/data-table/measure-column-widths.js.flow +9 -17
- 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.js +1 -0
- package/es/data-table/data-table.js +4 -4
- 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 +33 -16
- 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 +2 -5
- 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.js +1 -0
- package/esm/data-table/data-table.js +4 -4
- 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 +35 -15
- 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 +2 -5
- 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 +26 -22
- 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 +4 -3
- 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 +26 -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 +35 -16
- package/select/select-component.js.flow +124 -184
- 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 +25 -24
- 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 +2 -5
- package/timezonepicker/timezone-picker.js.flow +26 -39
- 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
|
@@ -7,7 +7,7 @@ LICENSE file in the root directory of this source tree.
|
|
|
7
7
|
// @flow
|
|
8
8
|
|
|
9
9
|
import * as React from 'react';
|
|
10
|
-
import {VariableSizeGrid} from 'react-window';
|
|
10
|
+
import { VariableSizeGrid } from 'react-window';
|
|
11
11
|
import AutoSizer from 'react-virtualized-auto-sizer';
|
|
12
12
|
|
|
13
13
|
import {
|
|
@@ -16,20 +16,14 @@ import {
|
|
|
16
16
|
SIZE as BUTTON_SIZES,
|
|
17
17
|
KIND as BUTTON_KINDS,
|
|
18
18
|
} from '../button/index.js';
|
|
19
|
-
import {useStyletron} from '../styles/index.js';
|
|
20
|
-
import {Tooltip, PLACEMENT} from '../tooltip/index.js';
|
|
19
|
+
import { useStyletron } from '../styles/index.js';
|
|
20
|
+
import { Tooltip, PLACEMENT } from '../tooltip/index.js';
|
|
21
21
|
|
|
22
|
-
import {SORT_DIRECTIONS} from './constants.js';
|
|
22
|
+
import { SORT_DIRECTIONS } from './constants.js';
|
|
23
23
|
import HeaderCell from './header-cell.js';
|
|
24
24
|
import MeasureColumnWidths from './measure-column-widths.js';
|
|
25
|
-
import type {
|
|
26
|
-
|
|
27
|
-
DataTablePropsT,
|
|
28
|
-
RowT,
|
|
29
|
-
SortDirectionsT,
|
|
30
|
-
RowActionT,
|
|
31
|
-
} from './types.js';
|
|
32
|
-
import {LocaleContext} from '../locale/index.js';
|
|
25
|
+
import type { ColumnT, DataTablePropsT, RowT, SortDirectionsT, RowActionT } from './types.js';
|
|
26
|
+
import { LocaleContext } from '../locale/index.js';
|
|
33
27
|
|
|
34
28
|
// consider pulling this out to a prop if useful.
|
|
35
29
|
const HEADER_ROW_HEIGHT = 48;
|
|
@@ -46,14 +40,14 @@ type HeaderContextT = {|
|
|
|
46
40
|
isSelectedAll: boolean,
|
|
47
41
|
isSelectedIndeterminate: boolean,
|
|
48
42
|
measuredWidths: number[],
|
|
49
|
-
onMouseEnter: number => void,
|
|
43
|
+
onMouseEnter: (number) => void,
|
|
50
44
|
onMouseLeave: () => void,
|
|
51
45
|
onResize: (columnIndex: number, delta: number) => void,
|
|
52
46
|
onSelectMany: () => void,
|
|
53
47
|
onSelectNone: () => void,
|
|
54
|
-
onSort: number => void,
|
|
48
|
+
onSort: (number) => void,
|
|
55
49
|
resizableColumnWidths: boolean,
|
|
56
|
-
rowActions: RowActionT[] | (RowT => RowActionT[]),
|
|
50
|
+
rowActions: RowActionT[] | ((RowT) => RowActionT[]),
|
|
57
51
|
rowHeight: number,
|
|
58
52
|
rowHighlightIndex: number,
|
|
59
53
|
rows: RowT[],
|
|
@@ -80,16 +74,16 @@ type CellPlacementPropsT = {
|
|
|
80
74
|
isSelectable: boolean,
|
|
81
75
|
isRowSelected: (string | number) => boolean,
|
|
82
76
|
onRowMouseEnter: (number, RowT) => void,
|
|
83
|
-
onSelectOne: RowT => void,
|
|
77
|
+
onSelectOne: (RowT) => void,
|
|
84
78
|
rowHighlightIndex: number,
|
|
85
79
|
rows: RowT[],
|
|
86
80
|
textQuery: string,
|
|
87
81
|
},
|
|
88
82
|
};
|
|
89
83
|
|
|
90
|
-
const sum = ns => ns.reduce((s, n) => s + n, 0);
|
|
84
|
+
const sum = (ns) => ns.reduce((s, n) => s + n, 0);
|
|
91
85
|
|
|
92
|
-
function CellPlacement({columnIndex, rowIndex, data, style}) {
|
|
86
|
+
function CellPlacement({ columnIndex, rowIndex, data, style }) {
|
|
93
87
|
const [css, theme] = useStyletron();
|
|
94
88
|
|
|
95
89
|
// ignores the table header row
|
|
@@ -99,7 +93,7 @@ function CellPlacement({columnIndex, rowIndex, data, style}) {
|
|
|
99
93
|
|
|
100
94
|
let backgroundColor = theme.colors.backgroundPrimary;
|
|
101
95
|
if (
|
|
102
|
-
(rowIndex % 2 && columnIndex === data.columnHighlightIndex) ||
|
|
96
|
+
(Boolean(rowIndex % 2) && columnIndex === data.columnHighlightIndex) ||
|
|
103
97
|
rowIndex === data.rowHighlightIndex
|
|
104
98
|
) {
|
|
105
99
|
backgroundColor = theme.colors.backgroundTertiary;
|
|
@@ -108,9 +102,7 @@ function CellPlacement({columnIndex, rowIndex, data, style}) {
|
|
|
108
102
|
}
|
|
109
103
|
|
|
110
104
|
const Cell = data.columns[columnIndex].renderCell;
|
|
111
|
-
const value = data.columns[columnIndex].mapDataToValue(
|
|
112
|
-
data.rows[rowIndex - 1].data,
|
|
113
|
-
);
|
|
105
|
+
const value = data.columns[columnIndex].mapDataToValue(data.rows[rowIndex - 1].data);
|
|
114
106
|
|
|
115
107
|
return (
|
|
116
108
|
<div
|
|
@@ -125,9 +117,7 @@ function CellPlacement({columnIndex, rowIndex, data, style}) {
|
|
|
125
117
|
boxSizing: 'border-box',
|
|
126
118
|
})}
|
|
127
119
|
style={style}
|
|
128
|
-
onMouseEnter={() =>
|
|
129
|
-
data.onRowMouseEnter(rowIndex, data.rows[rowIndex - 1])
|
|
130
|
-
}
|
|
120
|
+
onMouseEnter={() => data.onRowMouseEnter(rowIndex, data.rows[rowIndex - 1])}
|
|
131
121
|
>
|
|
132
122
|
<Cell
|
|
133
123
|
value={value}
|
|
@@ -161,8 +151,7 @@ function compareCellPlacement(prevProps, nextProps) {
|
|
|
161
151
|
|
|
162
152
|
if (
|
|
163
153
|
prevProps.data.isSelectable === nextProps.data.isSelectable &&
|
|
164
|
-
prevProps.data.columnHighlightIndex ===
|
|
165
|
-
nextProps.data.columnHighlightIndex &&
|
|
154
|
+
prevProps.data.columnHighlightIndex === nextProps.data.columnHighlightIndex &&
|
|
166
155
|
prevProps.data.rowHighlightIndex === nextProps.data.rowHighlightIndex &&
|
|
167
156
|
prevProps.data.textQuery === nextProps.data.textQuery &&
|
|
168
157
|
prevProps.data.isRowSelected === nextProps.data.isRowSelected
|
|
@@ -176,8 +165,7 @@ function compareCellPlacement(prevProps, nextProps) {
|
|
|
176
165
|
if (
|
|
177
166
|
prevProps.rowIndex !== prevProps.data.rowHighlightIndex &&
|
|
178
167
|
prevProps.rowIndex !== nextProps.data.rowHighlightIndex &&
|
|
179
|
-
prevProps.data.columnHighlightIndex ===
|
|
180
|
-
nextProps.data.columnHighlightIndex &&
|
|
168
|
+
prevProps.data.columnHighlightIndex === nextProps.data.columnHighlightIndex &&
|
|
181
169
|
prevProps.data.isRowSelected === nextProps.data.isRowSelected
|
|
182
170
|
) {
|
|
183
171
|
return true;
|
|
@@ -198,7 +186,7 @@ function compareCellPlacement(prevProps, nextProps) {
|
|
|
198
186
|
}
|
|
199
187
|
const CellPlacementMemo = React.memo<CellPlacementPropsT, mixed>(
|
|
200
188
|
CellPlacement,
|
|
201
|
-
compareCellPlacement
|
|
189
|
+
compareCellPlacement
|
|
202
190
|
);
|
|
203
191
|
CellPlacementMemo.displayName = 'CellPlacement';
|
|
204
192
|
|
|
@@ -241,7 +229,7 @@ type HeaderProps = {|
|
|
|
241
229
|
isSelectable: boolean,
|
|
242
230
|
isSelectedAll: boolean,
|
|
243
231
|
isSelectedIndeterminate: boolean,
|
|
244
|
-
onMouseEnter: number => void,
|
|
232
|
+
onMouseEnter: (number) => void,
|
|
245
233
|
onMouseLeave: () => void,
|
|
246
234
|
onResize: (columnIndex: number, delta: number) => void,
|
|
247
235
|
onResizeIndexChange: (columnIndex: number) => void,
|
|
@@ -260,7 +248,7 @@ function Header(props: HeaderProps) {
|
|
|
260
248
|
const [css, theme] = useStyletron();
|
|
261
249
|
const [startResizePos, setStartResizePos] = React.useState(0);
|
|
262
250
|
const [endResizePos, setEndResizePos] = React.useState(0);
|
|
263
|
-
//
|
|
251
|
+
// flowlint-next-line unclear-type:off
|
|
264
252
|
const headerCellRef = React.useRef<any>(null);
|
|
265
253
|
|
|
266
254
|
const RULER_OFFSET = 2;
|
|
@@ -358,9 +346,7 @@ function Header(props: HeaderProps) {
|
|
|
358
346
|
onSelectAll={props.onSelectMany}
|
|
359
347
|
onSelectNone={props.onSelectNone}
|
|
360
348
|
onSort={props.onSort}
|
|
361
|
-
sortDirection={
|
|
362
|
-
props.sortIndex === props.index ? props.sortDirection : null
|
|
363
|
-
}
|
|
349
|
+
sortDirection={props.sortIndex === props.index ? props.sortDirection : null}
|
|
364
350
|
title={props.columnTitle}
|
|
365
351
|
/>
|
|
366
352
|
{props.resizableColumnWidths && (
|
|
@@ -373,16 +359,14 @@ function Header(props: HeaderProps) {
|
|
|
373
359
|
>
|
|
374
360
|
<div
|
|
375
361
|
role="presentation"
|
|
376
|
-
onMouseDown={event => {
|
|
362
|
+
onMouseDown={(event) => {
|
|
377
363
|
props.onResizeIndexChange(props.index);
|
|
378
364
|
const x = getPositionX(event.target);
|
|
379
365
|
setStartResizePos(x);
|
|
380
366
|
setEndResizePos(x);
|
|
381
367
|
}}
|
|
382
368
|
className={css({
|
|
383
|
-
backgroundColor: isResizingThisColumn
|
|
384
|
-
? theme.colors.contentPrimary
|
|
385
|
-
: null,
|
|
369
|
+
backgroundColor: isResizingThisColumn ? theme.colors.contentPrimary : null,
|
|
386
370
|
cursor: 'ew-resize',
|
|
387
371
|
position: 'absolute',
|
|
388
372
|
height: '100%',
|
|
@@ -441,10 +425,7 @@ function Headers() {
|
|
|
441
425
|
<Tooltip
|
|
442
426
|
key={columnIndex}
|
|
443
427
|
placement={PLACEMENT.bottomLeft}
|
|
444
|
-
isOpen={
|
|
445
|
-
ctx.columnHighlightIndex === columnIndex &&
|
|
446
|
-
Boolean(activeFilter)
|
|
447
|
-
}
|
|
428
|
+
isOpen={ctx.columnHighlightIndex === columnIndex && Boolean(activeFilter)}
|
|
448
429
|
content={() => {
|
|
449
430
|
return (
|
|
450
431
|
<div>
|
|
@@ -476,12 +457,11 @@ function Headers() {
|
|
|
476
457
|
backgroundColor: theme.colors.backgroundPrimary,
|
|
477
458
|
borderTop: 'none',
|
|
478
459
|
borderLeft: 'none',
|
|
479
|
-
borderRight:
|
|
480
|
-
columnIndex === ctx.columns.length - 1 ? 'none' : null,
|
|
460
|
+
borderRight: columnIndex === ctx.columns.length - 1 ? 'none' : null,
|
|
481
461
|
boxSizing: 'border-box',
|
|
482
462
|
display: 'flex',
|
|
483
463
|
})}
|
|
484
|
-
style={{width: ctx.widths[columnIndex]}}
|
|
464
|
+
style={{ width: ctx.widths[columnIndex] }}
|
|
485
465
|
>
|
|
486
466
|
<Header
|
|
487
467
|
columnTitle={column.title}
|
|
@@ -525,9 +505,7 @@ function LoadingOrEmptyMessage(props) {
|
|
|
525
505
|
marginLeft: theme.sizing.scale500,
|
|
526
506
|
})}
|
|
527
507
|
>
|
|
528
|
-
{typeof props.children === 'function'
|
|
529
|
-
? props.children()
|
|
530
|
-
: String(props.children)}
|
|
508
|
+
{typeof props.children === 'function' ? props.children() : String(props.children)}
|
|
531
509
|
</p>
|
|
532
510
|
);
|
|
533
511
|
}
|
|
@@ -535,8 +513,8 @@ function LoadingOrEmptyMessage(props) {
|
|
|
535
513
|
// replaces the content of the virtualized window with contents. in this case,
|
|
536
514
|
// we are prepending a table header row before the table rows (children to the fn).
|
|
537
515
|
const InnerTableElement = React.forwardRef<
|
|
538
|
-
{|children: React.Node, style: {[string]: mixed}|},
|
|
539
|
-
HTMLDivElement
|
|
516
|
+
{| children: React.Node, style: { [string]: mixed } |},
|
|
517
|
+
HTMLDivElement
|
|
540
518
|
>((props, ref) => {
|
|
541
519
|
const [, theme] = useStyletron();
|
|
542
520
|
const ctx = React.useContext(HeaderContext);
|
|
@@ -562,13 +540,9 @@ const InnerTableElement = React.forwardRef<
|
|
|
562
540
|
<div ref={ref} data-baseweb="data-table" style={props.style}>
|
|
563
541
|
<Headers />
|
|
564
542
|
|
|
565
|
-
{viewState === LOADING &&
|
|
566
|
-
<LoadingOrEmptyMessage>{ctx.loadingMessage}</LoadingOrEmptyMessage>
|
|
567
|
-
)}
|
|
543
|
+
{viewState === LOADING && <LoadingOrEmptyMessage>{ctx.loadingMessage}</LoadingOrEmptyMessage>}
|
|
568
544
|
|
|
569
|
-
{viewState === EMPTY &&
|
|
570
|
-
<LoadingOrEmptyMessage>{ctx.emptyMessage}</LoadingOrEmptyMessage>
|
|
571
|
-
)}
|
|
545
|
+
{viewState === EMPTY && <LoadingOrEmptyMessage>{ctx.emptyMessage}</LoadingOrEmptyMessage>}
|
|
572
546
|
|
|
573
547
|
{viewState === RENDERING && props.children}
|
|
574
548
|
|
|
@@ -589,14 +563,13 @@ const InnerTableElement = React.forwardRef<
|
|
|
589
563
|
position: 'absolute',
|
|
590
564
|
right: theme.direction !== 'rtl' ? 0 - ctx.scrollLeft : 'initial',
|
|
591
565
|
left: theme.direction === 'rtl' ? 0 : 'initial',
|
|
592
|
-
top:
|
|
593
|
-
(ctx.rowHighlightIndex - 1) * ctx.rowHeight + HEADER_ROW_HEIGHT,
|
|
566
|
+
top: (ctx.rowHighlightIndex - 1) * ctx.rowHeight + HEADER_ROW_HEIGHT,
|
|
594
567
|
}}
|
|
595
568
|
>
|
|
596
569
|
{(typeof ctx.rowActions === 'function'
|
|
597
570
|
? ctx.rowActions(highlightedRow)
|
|
598
571
|
: ctx.rowActions
|
|
599
|
-
).map(rowAction => {
|
|
572
|
+
).map((rowAction) => {
|
|
600
573
|
if (rowAction.renderButton) {
|
|
601
574
|
const RowActionButton = rowAction.renderButton;
|
|
602
575
|
return <RowActionButton />;
|
|
@@ -607,7 +580,7 @@ const InnerTableElement = React.forwardRef<
|
|
|
607
580
|
<Button
|
|
608
581
|
alt={rowAction.label}
|
|
609
582
|
key={rowAction.label}
|
|
610
|
-
onClick={event =>
|
|
583
|
+
onClick={(event) =>
|
|
611
584
|
rowAction.onClick({
|
|
612
585
|
event,
|
|
613
586
|
row: ctx.rows[ctx.rowHighlightIndex - 1],
|
|
@@ -690,56 +663,54 @@ export function DataTable({
|
|
|
690
663
|
const locale = React.useContext(LocaleContext);
|
|
691
664
|
|
|
692
665
|
const rowHeightAtIndex = React.useCallback(
|
|
693
|
-
index => {
|
|
666
|
+
(index) => {
|
|
694
667
|
if (index === 0) {
|
|
695
668
|
return HEADER_ROW_HEIGHT;
|
|
696
669
|
}
|
|
697
670
|
return rowHeight;
|
|
698
671
|
},
|
|
699
|
-
[rowHeight]
|
|
672
|
+
[rowHeight]
|
|
700
673
|
);
|
|
701
674
|
|
|
702
675
|
// We use state for our ref, to allow hooks to update when the ref changes.
|
|
703
|
-
//
|
|
676
|
+
// flowlint-next-line unclear-type:off
|
|
704
677
|
const [gridRef, setGridRef] = React.useState<?VariableSizeGrid<any>>(null);
|
|
705
|
-
const [measuredWidths, setMeasuredWidths] = React.useState(
|
|
706
|
-
columns.map(() => 0),
|
|
707
|
-
);
|
|
678
|
+
const [measuredWidths, setMeasuredWidths] = React.useState(columns.map(() => 0));
|
|
708
679
|
const [resizeDeltas, setResizeDeltas] = React.useState(columns.map(() => 0));
|
|
709
680
|
React.useEffect(() => {
|
|
710
|
-
setMeasuredWidths(prev => {
|
|
681
|
+
setMeasuredWidths((prev) => {
|
|
711
682
|
return columns.map((v, index) => prev[index] || 0);
|
|
712
683
|
});
|
|
713
|
-
setResizeDeltas(prev => {
|
|
684
|
+
setResizeDeltas((prev) => {
|
|
714
685
|
return columns.map((v, index) => prev[index] || 0);
|
|
715
686
|
});
|
|
716
687
|
}, [columns]);
|
|
717
688
|
|
|
718
689
|
const resetAfterColumnIndex = React.useCallback(
|
|
719
|
-
columnIndex => {
|
|
690
|
+
(columnIndex) => {
|
|
720
691
|
if (gridRef) {
|
|
721
692
|
// $FlowFixMe trigger react-window to layout the elements again
|
|
722
693
|
gridRef.resetAfterColumnIndex(columnIndex, true);
|
|
723
694
|
}
|
|
724
695
|
},
|
|
725
|
-
[gridRef]
|
|
696
|
+
[gridRef]
|
|
726
697
|
);
|
|
727
698
|
const handleWidthsChange = React.useCallback(
|
|
728
|
-
nextWidths => {
|
|
699
|
+
(nextWidths) => {
|
|
729
700
|
setMeasuredWidths(nextWidths);
|
|
730
701
|
resetAfterColumnIndex(0);
|
|
731
702
|
},
|
|
732
|
-
[setMeasuredWidths, resetAfterColumnIndex]
|
|
703
|
+
[setMeasuredWidths, resetAfterColumnIndex]
|
|
733
704
|
);
|
|
734
705
|
const handleColumnResize = React.useCallback(
|
|
735
706
|
(columnIndex, delta) => {
|
|
736
|
-
setResizeDeltas(prev => {
|
|
707
|
+
setResizeDeltas((prev) => {
|
|
737
708
|
prev[columnIndex] = Math.max(prev[columnIndex] + delta, 0);
|
|
738
709
|
return [...prev];
|
|
739
710
|
});
|
|
740
711
|
resetAfterColumnIndex(columnIndex);
|
|
741
712
|
},
|
|
742
|
-
[setResizeDeltas, resetAfterColumnIndex]
|
|
713
|
+
[setResizeDeltas, resetAfterColumnIndex]
|
|
743
714
|
);
|
|
744
715
|
|
|
745
716
|
const [scrollLeft, setScrollLeft] = React.useState(0);
|
|
@@ -758,27 +729,22 @@ export function DataTable({
|
|
|
758
729
|
}
|
|
759
730
|
}, [recentlyScrolledX]);
|
|
760
731
|
const handleScroll = React.useCallback(
|
|
761
|
-
params => {
|
|
732
|
+
(params) => {
|
|
762
733
|
setScrollLeft(params.scrollLeft);
|
|
763
734
|
if (params.scrollLeft !== scrollLeft) {
|
|
764
735
|
setRecentlyScrolledX(true);
|
|
765
736
|
}
|
|
766
737
|
},
|
|
767
|
-
[scrollLeft, setScrollLeft, setRecentlyScrolledX]
|
|
738
|
+
[scrollLeft, setScrollLeft, setRecentlyScrolledX]
|
|
768
739
|
);
|
|
769
740
|
|
|
770
741
|
const sortedIndices = React.useMemo(() => {
|
|
771
742
|
let toSort = allRows.map((r, i) => [r, i]);
|
|
772
743
|
const index = sortIndex;
|
|
773
744
|
|
|
774
|
-
if (
|
|
775
|
-
index !== null &&
|
|
776
|
-
index !== undefined &&
|
|
777
|
-
index !== -1 &&
|
|
778
|
-
columns[index]
|
|
779
|
-
) {
|
|
745
|
+
if (index !== null && index !== undefined && index !== -1 && columns[index]) {
|
|
780
746
|
const sortFn = columns[index].sortFn;
|
|
781
|
-
const getValue = row => columns[index].mapDataToValue(row.data);
|
|
747
|
+
const getValue = (row) => columns[index].mapDataToValue(row.data);
|
|
782
748
|
if (sortDirection === SORT_DIRECTIONS.ASC) {
|
|
783
749
|
toSort.sort((a, b) => sortFn(getValue(a[0]), getValue(b[0])));
|
|
784
750
|
} else if (sortDirection === SORT_DIRECTIONS.DESC) {
|
|
@@ -786,20 +752,20 @@ export function DataTable({
|
|
|
786
752
|
}
|
|
787
753
|
}
|
|
788
754
|
|
|
789
|
-
return toSort.map(el => el[1]);
|
|
755
|
+
return toSort.map((el) => el[1]);
|
|
790
756
|
}, [sortIndex, sortDirection, columns, allRows]);
|
|
791
757
|
|
|
792
758
|
const filteredIndices = React.useMemo(() => {
|
|
793
759
|
const set = new Set(allRows.map((_, idx) => idx));
|
|
794
|
-
Array.from(filters || new Set(), f => f).forEach(([title, filter]) => {
|
|
795
|
-
const columnIndex = columns.findIndex(c => c.title === title);
|
|
760
|
+
Array.from(filters || new Set(), (f) => f).forEach(([title, filter]) => {
|
|
761
|
+
const columnIndex = columns.findIndex((c) => c.title === title);
|
|
796
762
|
const column = columns[columnIndex];
|
|
797
763
|
if (!column) {
|
|
798
764
|
return;
|
|
799
765
|
}
|
|
800
766
|
|
|
801
767
|
const filterFn = column.buildFilter(filter);
|
|
802
|
-
Array.from(set).forEach(idx => {
|
|
768
|
+
Array.from(set).forEach((idx) => {
|
|
803
769
|
if (!filterFn(column.mapDataToValue(allRows[idx].data))) {
|
|
804
770
|
set.delete(idx);
|
|
805
771
|
}
|
|
@@ -813,15 +779,12 @@ export function DataTable({
|
|
|
813
779
|
stringishColumnIndices.push(i);
|
|
814
780
|
}
|
|
815
781
|
}
|
|
816
|
-
Array.from(set).forEach(idx => {
|
|
817
|
-
const matches = stringishColumnIndices.some(cdx => {
|
|
782
|
+
Array.from(set).forEach((idx) => {
|
|
783
|
+
const matches = stringishColumnIndices.some((cdx) => {
|
|
818
784
|
const column = columns[cdx];
|
|
819
785
|
const textQueryFilter = column.textQueryFilter;
|
|
820
786
|
if (textQueryFilter) {
|
|
821
|
-
return textQueryFilter(
|
|
822
|
-
textQuery,
|
|
823
|
-
column.mapDataToValue(allRows[idx].data),
|
|
824
|
-
);
|
|
787
|
+
return textQueryFilter(textQuery, column.mapDataToValue(allRows[idx].data));
|
|
825
788
|
}
|
|
826
789
|
return false;
|
|
827
790
|
});
|
|
@@ -837,8 +800,8 @@ export function DataTable({
|
|
|
837
800
|
|
|
838
801
|
const rows = React.useMemo(() => {
|
|
839
802
|
const result = sortedIndices
|
|
840
|
-
.filter(idx => filteredIndices.has(idx))
|
|
841
|
-
.map(idx => allRows[idx]);
|
|
803
|
+
.filter((idx) => filteredIndices.has(idx))
|
|
804
|
+
.map((idx) => allRows[idx]);
|
|
842
805
|
|
|
843
806
|
if (onIncludedRowsChange) {
|
|
844
807
|
onIncludedRowsChange(result);
|
|
@@ -848,9 +811,7 @@ export function DataTable({
|
|
|
848
811
|
|
|
849
812
|
const [browserScrollbarWidth, setBrowserScrollbarWidth] = React.useState(0);
|
|
850
813
|
const normalizedWidths = React.useMemo(() => {
|
|
851
|
-
const resizedWidths = measuredWidths.map(
|
|
852
|
-
(w, i) => Math.floor(w) + Math.floor(resizeDeltas[i]),
|
|
853
|
-
);
|
|
814
|
+
const resizedWidths = measuredWidths.map((w, i) => Math.floor(w) + Math.floor(resizeDeltas[i]));
|
|
854
815
|
if (gridRef) {
|
|
855
816
|
const gridProps = gridRef.props;
|
|
856
817
|
|
|
@@ -864,13 +825,11 @@ export function DataTable({
|
|
|
864
825
|
}
|
|
865
826
|
}
|
|
866
827
|
|
|
867
|
-
const scrollbarWidth = isContentTallerThanContainer
|
|
868
|
-
? browserScrollbarWidth
|
|
869
|
-
: 0;
|
|
828
|
+
const scrollbarWidth = isContentTallerThanContainer ? browserScrollbarWidth : 0;
|
|
870
829
|
|
|
871
830
|
const remainder = gridProps.width - sum(resizedWidths) - scrollbarWidth;
|
|
872
831
|
const padding = Math.floor(
|
|
873
|
-
remainder / columns.filter(c => (c ? c.fillWidth : true)).length
|
|
832
|
+
remainder / columns.filter((c) => (c ? c.fillWidth : true)).length
|
|
874
833
|
);
|
|
875
834
|
if (padding > 0) {
|
|
876
835
|
const result = [];
|
|
@@ -888,14 +847,7 @@ export function DataTable({
|
|
|
888
847
|
}
|
|
889
848
|
}
|
|
890
849
|
return resizedWidths;
|
|
891
|
-
}, [
|
|
892
|
-
gridRef,
|
|
893
|
-
measuredWidths,
|
|
894
|
-
resizeDeltas,
|
|
895
|
-
browserScrollbarWidth,
|
|
896
|
-
rows.length,
|
|
897
|
-
columns,
|
|
898
|
-
]);
|
|
850
|
+
}, [gridRef, measuredWidths, resizeDeltas, browserScrollbarWidth, rows.length, columns]);
|
|
899
851
|
|
|
900
852
|
const isSelectable = batchActions ? !!batchActions.length : false;
|
|
901
853
|
const isSelectedAll = React.useMemo(() => {
|
|
@@ -911,13 +863,13 @@ export function DataTable({
|
|
|
911
863
|
return !!selectedRowIds.size && selectedRowIds.size < rows.length;
|
|
912
864
|
}, [selectedRowIds, rows.length]);
|
|
913
865
|
const isRowSelected = React.useCallback(
|
|
914
|
-
id => {
|
|
866
|
+
(id) => {
|
|
915
867
|
if (selectedRowIds) {
|
|
916
868
|
return selectedRowIds.has(id);
|
|
917
869
|
}
|
|
918
870
|
return false;
|
|
919
871
|
},
|
|
920
|
-
[selectedRowIds]
|
|
872
|
+
[selectedRowIds]
|
|
921
873
|
);
|
|
922
874
|
const handleSelectMany = React.useCallback(() => {
|
|
923
875
|
if (onSelectMany) {
|
|
@@ -930,21 +882,21 @@ export function DataTable({
|
|
|
930
882
|
}
|
|
931
883
|
}, [onSelectNone]);
|
|
932
884
|
const handleSelectOne = React.useCallback(
|
|
933
|
-
row => {
|
|
885
|
+
(row) => {
|
|
934
886
|
if (onSelectOne) {
|
|
935
887
|
onSelectOne(row);
|
|
936
888
|
}
|
|
937
889
|
},
|
|
938
|
-
[onSelectOne]
|
|
890
|
+
[onSelectOne]
|
|
939
891
|
);
|
|
940
892
|
|
|
941
893
|
const handleSort = React.useCallback(
|
|
942
|
-
columnIndex => {
|
|
894
|
+
(columnIndex) => {
|
|
943
895
|
if (onSort) {
|
|
944
896
|
onSort(columnIndex);
|
|
945
897
|
}
|
|
946
898
|
},
|
|
947
|
-
[onSort]
|
|
899
|
+
[onSort]
|
|
948
900
|
);
|
|
949
901
|
|
|
950
902
|
const [columnHighlightIndex, setColumnHighlightIndex] = React.useState(-1);
|
|
@@ -955,7 +907,7 @@ export function DataTable({
|
|
|
955
907
|
if (gridRef) {
|
|
956
908
|
if (nextIndex >= 0) {
|
|
957
909
|
// $FlowFixMe - unable to get react-window types
|
|
958
|
-
gridRef.scrollToItem({rowIndex: nextIndex});
|
|
910
|
+
gridRef.scrollToItem({ rowIndex: nextIndex });
|
|
959
911
|
}
|
|
960
912
|
if (onRowHighlightChange) {
|
|
961
913
|
onRowHighlightChange(nextIndex, rows[nextIndex - 1]);
|
|
@@ -964,13 +916,13 @@ export function DataTable({
|
|
|
964
916
|
}
|
|
965
917
|
|
|
966
918
|
const handleRowMouseEnter = React.useCallback(
|
|
967
|
-
nextIndex => {
|
|
919
|
+
(nextIndex) => {
|
|
968
920
|
setColumnHighlightIndex(-1);
|
|
969
921
|
if (nextIndex !== rowHighlightIndex) {
|
|
970
922
|
handleRowHighlightIndexChange(nextIndex);
|
|
971
923
|
}
|
|
972
924
|
},
|
|
973
|
-
[rowHighlightIndex]
|
|
925
|
+
[rowHighlightIndex]
|
|
974
926
|
);
|
|
975
927
|
function handleColumnHeaderMouseEnter(columnIndex) {
|
|
976
928
|
setColumnHighlightIndex(columnIndex);
|
|
@@ -1019,9 +971,9 @@ export function DataTable({
|
|
|
1019
971
|
isSelectable={isSelectable}
|
|
1020
972
|
onWidthsChange={handleWidthsChange}
|
|
1021
973
|
/>
|
|
1022
|
-
<MeasureScrollbarWidth onWidthChange={w => setBrowserScrollbarWidth(w)} />
|
|
974
|
+
<MeasureScrollbarWidth onWidthChange={(w) => setBrowserScrollbarWidth(w)} />
|
|
1023
975
|
<AutoSizer>
|
|
1024
|
-
{({height, width}) => (
|
|
976
|
+
{({ height, width }) => (
|
|
1025
977
|
<HeaderContext.Provider
|
|
1026
978
|
value={{
|
|
1027
979
|
columns: columns,
|
|
@@ -1054,13 +1006,13 @@ export function DataTable({
|
|
|
1054
1006
|
}}
|
|
1055
1007
|
>
|
|
1056
1008
|
<VariableSizeGrid
|
|
1057
|
-
//
|
|
1009
|
+
// flowlint-next-line unclear-type:off
|
|
1058
1010
|
ref={(setGridRef: any)}
|
|
1059
1011
|
overscanRowCount={10}
|
|
1060
1012
|
overscanColumnCount={5}
|
|
1061
1013
|
innerElementType={InnerTableElement}
|
|
1062
1014
|
columnCount={columns.length}
|
|
1063
|
-
columnWidth={columnIndex => normalizedWidths[columnIndex]}
|
|
1015
|
+
columnWidth={(columnIndex) => normalizedWidths[columnIndex]}
|
|
1064
1016
|
height={height - 2}
|
|
1065
1017
|
// plus one to account for additional header row
|
|
1066
1018
|
rowCount={rows.length + 1}
|
|
@@ -7,21 +7,21 @@ LICENSE file in the root directory of this source tree.
|
|
|
7
7
|
// @flow
|
|
8
8
|
|
|
9
9
|
import React from 'react';
|
|
10
|
-
import {Button, SHAPE, SIZE} from '../button/index.js';
|
|
11
|
-
import {Filter as FilterIcon} from '../icon/index.js';
|
|
12
|
-
import {Input, SIZE as INPUT_SIZE} from '../input/index.js';
|
|
13
|
-
import {Popover, PLACEMENT} from '../popover/index.js';
|
|
14
|
-
import {useStyletron} from '../styles/index.js';
|
|
15
|
-
import {useUIDSeed} from 'react-uid';
|
|
10
|
+
import { Button, SHAPE, SIZE } from '../button/index.js';
|
|
11
|
+
import { Filter as FilterIcon } from '../icon/index.js';
|
|
12
|
+
import { Input, SIZE as INPUT_SIZE } from '../input/index.js';
|
|
13
|
+
import { Popover, PLACEMENT } from '../popover/index.js';
|
|
14
|
+
import { useStyletron } from '../styles/index.js';
|
|
15
|
+
import { useUIDSeed } from 'react-uid';
|
|
16
16
|
|
|
17
|
-
import {COLUMNS} from './constants.js';
|
|
18
|
-
import {matchesQuery} from './text-search.js';
|
|
19
|
-
import type {ColumnT} from './types.js';
|
|
20
|
-
import {LocaleContext} from '../locale/index.js';
|
|
17
|
+
import { COLUMNS } from './constants.js';
|
|
18
|
+
import { matchesQuery } from './text-search.js';
|
|
19
|
+
import type { ColumnT } from './types.js';
|
|
20
|
+
import { LocaleContext } from '../locale/index.js';
|
|
21
21
|
|
|
22
|
-
import {isFocusVisible} from '../utils/focusVisible.js';
|
|
22
|
+
import { isFocusVisible } from '../utils/focusVisible.js';
|
|
23
23
|
|
|
24
|
-
function ColumnIcon(props: {column: ColumnT<>}) {
|
|
24
|
+
function ColumnIcon(props: { column: ColumnT<> }) {
|
|
25
25
|
if (props.column.kind === COLUMNS.BOOLEAN) {
|
|
26
26
|
return '01';
|
|
27
27
|
}
|
|
@@ -45,9 +45,9 @@ type OptionsPropsT = {
|
|
|
45
45
|
columns: ColumnT<>[],
|
|
46
46
|
highlightIndex: number,
|
|
47
47
|
onClick: (ColumnT<>) => void,
|
|
48
|
-
onKeyDown: KeyboardEvent => void,
|
|
49
|
-
onMouseEnter: number => void,
|
|
50
|
-
onQueryChange: string => void,
|
|
48
|
+
onKeyDown: (KeyboardEvent) => void,
|
|
49
|
+
onMouseEnter: (number) => void,
|
|
50
|
+
onQueryChange: (string) => void,
|
|
51
51
|
query: string,
|
|
52
52
|
searchable: boolean,
|
|
53
53
|
};
|
|
@@ -64,7 +64,7 @@ function Options(props: OptionsPropsT) {
|
|
|
64
64
|
|
|
65
65
|
const [focusVisible, setFocusVisible] = React.useState(false);
|
|
66
66
|
const seed = useUIDSeed();
|
|
67
|
-
const buiRef = React.useRef(props.columns.map(col => seed(col)));
|
|
67
|
+
const buiRef = React.useRef(props.columns.map((col) => seed(col)));
|
|
68
68
|
|
|
69
69
|
const handleFocus = (event: SyntheticEvent<>) => {
|
|
70
70
|
if (isFocusVisible(event)) {
|
|
@@ -110,7 +110,7 @@ function Options(props: OptionsPropsT) {
|
|
|
110
110
|
<Input
|
|
111
111
|
inputRef={inputRef}
|
|
112
112
|
value={props.query}
|
|
113
|
-
onChange={event => props.onQueryChange(event.target.value)}
|
|
113
|
+
onChange={(event) => props.onQueryChange(event.target.value)}
|
|
114
114
|
placeholder={locale.datatable.optionsSearch}
|
|
115
115
|
size={INPUT_SIZE.compact}
|
|
116
116
|
clearable
|
|
@@ -163,9 +163,7 @@ function Options(props: OptionsPropsT) {
|
|
|
163
163
|
className={css({
|
|
164
164
|
...theme.typography.font100,
|
|
165
165
|
alignItems: 'center',
|
|
166
|
-
backgroundColor: isHighlighted
|
|
167
|
-
? theme.colors.menuFillHover
|
|
168
|
-
: null,
|
|
166
|
+
backgroundColor: isHighlighted ? theme.colors.menuFillHover : null,
|
|
169
167
|
cursor: 'pointer',
|
|
170
168
|
display: 'flex',
|
|
171
169
|
paddingTop: theme.sizing.scale100,
|
|
@@ -201,14 +199,11 @@ function Options(props: OptionsPropsT) {
|
|
|
201
199
|
|
|
202
200
|
type PropsT = {
|
|
203
201
|
columns: ColumnT<>[],
|
|
204
|
-
//
|
|
202
|
+
// flowlint-next-line unclear-type:off
|
|
205
203
|
filters: Map<string, any>,
|
|
206
|
-
//
|
|
204
|
+
// flowlint-next-line unclear-type:off
|
|
207
205
|
rows: any[],
|
|
208
|
-
onSetFilter: (
|
|
209
|
-
columnTitle: string,
|
|
210
|
-
filterParams: {description: string},
|
|
211
|
-
) => void,
|
|
206
|
+
onSetFilter: (columnTitle: string, filterParams: { description: string }) => void,
|
|
212
207
|
};
|
|
213
208
|
|
|
214
209
|
function FilterMenu(props: PropsT) {
|
|
@@ -228,15 +223,13 @@ function FilterMenu(props: PropsT) {
|
|
|
228
223
|
}, []);
|
|
229
224
|
|
|
230
225
|
const filterableColumns = React.useMemo(() => {
|
|
231
|
-
return props.columns.filter(column => {
|
|
226
|
+
return props.columns.filter((column) => {
|
|
232
227
|
return column.filterable && !props.filters.has(column.title);
|
|
233
228
|
});
|
|
234
229
|
}, [props.columns, props.filters]);
|
|
235
230
|
|
|
236
231
|
const columns = React.useMemo(() => {
|
|
237
|
-
return filterableColumns.filter(column =>
|
|
238
|
-
matchesQuery(column.title, query),
|
|
239
|
-
);
|
|
232
|
+
return filterableColumns.filter((column) => matchesQuery(column.title, query));
|
|
240
233
|
}, [filterableColumns, query]);
|
|
241
234
|
|
|
242
235
|
const Filter = React.useMemo(() => {
|
|
@@ -245,11 +238,9 @@ function FilterMenu(props: PropsT) {
|
|
|
245
238
|
}, [activeColumn]);
|
|
246
239
|
|
|
247
240
|
const activeColumnData = React.useMemo(() => {
|
|
248
|
-
const columnIndex = props.columns.findIndex(c => c === activeColumn);
|
|
241
|
+
const columnIndex = props.columns.findIndex((c) => c === activeColumn);
|
|
249
242
|
if (columnIndex < 0) return [];
|
|
250
|
-
return props.rows.map(row =>
|
|
251
|
-
props.columns[columnIndex].mapDataToValue(row.data),
|
|
252
|
-
);
|
|
243
|
+
return props.rows.map((row) => props.columns[columnIndex].mapDataToValue(row.data));
|
|
253
244
|
}, [props.columns, props.rows, activeColumn]);
|
|
254
245
|
|
|
255
246
|
function handleKeyDown(event) {
|
|
@@ -282,9 +273,7 @@ function FilterMenu(props: PropsT) {
|
|
|
282
273
|
<Filter
|
|
283
274
|
data={activeColumnData}
|
|
284
275
|
close={handleClose}
|
|
285
|
-
setFilter={filterParams =>
|
|
286
|
-
props.onSetFilter(activeColumn.title, filterParams)
|
|
287
|
-
}
|
|
276
|
+
setFilter={(filterParams) => props.onSetFilter(activeColumn.title, filterParams)}
|
|
288
277
|
/>
|
|
289
278
|
);
|
|
290
279
|
}
|