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
|
@@ -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,14 +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
|
-
|
|
84
|
+
const sum = (ns) => ns.reduce((s, n) => s + n, 0);
|
|
85
|
+
|
|
86
|
+
function CellPlacement({ columnIndex, rowIndex, data, style }) {
|
|
91
87
|
const [css, theme] = useStyletron();
|
|
92
88
|
|
|
93
89
|
// ignores the table header row
|
|
@@ -97,7 +93,7 @@ function CellPlacement({columnIndex, rowIndex, data, style}) {
|
|
|
97
93
|
|
|
98
94
|
let backgroundColor = theme.colors.backgroundPrimary;
|
|
99
95
|
if (
|
|
100
|
-
(rowIndex % 2 && columnIndex === data.columnHighlightIndex) ||
|
|
96
|
+
(Boolean(rowIndex % 2) && columnIndex === data.columnHighlightIndex) ||
|
|
101
97
|
rowIndex === data.rowHighlightIndex
|
|
102
98
|
) {
|
|
103
99
|
backgroundColor = theme.colors.backgroundTertiary;
|
|
@@ -106,9 +102,7 @@ function CellPlacement({columnIndex, rowIndex, data, style}) {
|
|
|
106
102
|
}
|
|
107
103
|
|
|
108
104
|
const Cell = data.columns[columnIndex].renderCell;
|
|
109
|
-
const value = data.columns[columnIndex].mapDataToValue(
|
|
110
|
-
data.rows[rowIndex - 1].data,
|
|
111
|
-
);
|
|
105
|
+
const value = data.columns[columnIndex].mapDataToValue(data.rows[rowIndex - 1].data);
|
|
112
106
|
|
|
113
107
|
return (
|
|
114
108
|
<div
|
|
@@ -123,9 +117,7 @@ function CellPlacement({columnIndex, rowIndex, data, style}) {
|
|
|
123
117
|
boxSizing: 'border-box',
|
|
124
118
|
})}
|
|
125
119
|
style={style}
|
|
126
|
-
onMouseEnter={() =>
|
|
127
|
-
data.onRowMouseEnter(rowIndex, data.rows[rowIndex - 1])
|
|
128
|
-
}
|
|
120
|
+
onMouseEnter={() => data.onRowMouseEnter(rowIndex, data.rows[rowIndex - 1])}
|
|
129
121
|
>
|
|
130
122
|
<Cell
|
|
131
123
|
value={value}
|
|
@@ -159,8 +151,7 @@ function compareCellPlacement(prevProps, nextProps) {
|
|
|
159
151
|
|
|
160
152
|
if (
|
|
161
153
|
prevProps.data.isSelectable === nextProps.data.isSelectable &&
|
|
162
|
-
prevProps.data.columnHighlightIndex ===
|
|
163
|
-
nextProps.data.columnHighlightIndex &&
|
|
154
|
+
prevProps.data.columnHighlightIndex === nextProps.data.columnHighlightIndex &&
|
|
164
155
|
prevProps.data.rowHighlightIndex === nextProps.data.rowHighlightIndex &&
|
|
165
156
|
prevProps.data.textQuery === nextProps.data.textQuery &&
|
|
166
157
|
prevProps.data.isRowSelected === nextProps.data.isRowSelected
|
|
@@ -174,8 +165,7 @@ function compareCellPlacement(prevProps, nextProps) {
|
|
|
174
165
|
if (
|
|
175
166
|
prevProps.rowIndex !== prevProps.data.rowHighlightIndex &&
|
|
176
167
|
prevProps.rowIndex !== nextProps.data.rowHighlightIndex &&
|
|
177
|
-
prevProps.data.columnHighlightIndex ===
|
|
178
|
-
nextProps.data.columnHighlightIndex &&
|
|
168
|
+
prevProps.data.columnHighlightIndex === nextProps.data.columnHighlightIndex &&
|
|
179
169
|
prevProps.data.isRowSelected === nextProps.data.isRowSelected
|
|
180
170
|
) {
|
|
181
171
|
return true;
|
|
@@ -196,7 +186,7 @@ function compareCellPlacement(prevProps, nextProps) {
|
|
|
196
186
|
}
|
|
197
187
|
const CellPlacementMemo = React.memo<CellPlacementPropsT, mixed>(
|
|
198
188
|
CellPlacement,
|
|
199
|
-
compareCellPlacement
|
|
189
|
+
compareCellPlacement
|
|
200
190
|
);
|
|
201
191
|
CellPlacementMemo.displayName = 'CellPlacement';
|
|
202
192
|
|
|
@@ -239,7 +229,7 @@ type HeaderProps = {|
|
|
|
239
229
|
isSelectable: boolean,
|
|
240
230
|
isSelectedAll: boolean,
|
|
241
231
|
isSelectedIndeterminate: boolean,
|
|
242
|
-
onMouseEnter: number => void,
|
|
232
|
+
onMouseEnter: (number) => void,
|
|
243
233
|
onMouseLeave: () => void,
|
|
244
234
|
onResize: (columnIndex: number, delta: number) => void,
|
|
245
235
|
onResizeIndexChange: (columnIndex: number) => void,
|
|
@@ -258,7 +248,7 @@ function Header(props: HeaderProps) {
|
|
|
258
248
|
const [css, theme] = useStyletron();
|
|
259
249
|
const [startResizePos, setStartResizePos] = React.useState(0);
|
|
260
250
|
const [endResizePos, setEndResizePos] = React.useState(0);
|
|
261
|
-
//
|
|
251
|
+
// flowlint-next-line unclear-type:off
|
|
262
252
|
const headerCellRef = React.useRef<any>(null);
|
|
263
253
|
|
|
264
254
|
const RULER_OFFSET = 2;
|
|
@@ -356,9 +346,7 @@ function Header(props: HeaderProps) {
|
|
|
356
346
|
onSelectAll={props.onSelectMany}
|
|
357
347
|
onSelectNone={props.onSelectNone}
|
|
358
348
|
onSort={props.onSort}
|
|
359
|
-
sortDirection={
|
|
360
|
-
props.sortIndex === props.index ? props.sortDirection : null
|
|
361
|
-
}
|
|
349
|
+
sortDirection={props.sortIndex === props.index ? props.sortDirection : null}
|
|
362
350
|
title={props.columnTitle}
|
|
363
351
|
/>
|
|
364
352
|
{props.resizableColumnWidths && (
|
|
@@ -371,16 +359,14 @@ function Header(props: HeaderProps) {
|
|
|
371
359
|
>
|
|
372
360
|
<div
|
|
373
361
|
role="presentation"
|
|
374
|
-
onMouseDown={event => {
|
|
362
|
+
onMouseDown={(event) => {
|
|
375
363
|
props.onResizeIndexChange(props.index);
|
|
376
364
|
const x = getPositionX(event.target);
|
|
377
365
|
setStartResizePos(x);
|
|
378
366
|
setEndResizePos(x);
|
|
379
367
|
}}
|
|
380
368
|
className={css({
|
|
381
|
-
backgroundColor: isResizingThisColumn
|
|
382
|
-
? theme.colors.contentPrimary
|
|
383
|
-
: null,
|
|
369
|
+
backgroundColor: isResizingThisColumn ? theme.colors.contentPrimary : null,
|
|
384
370
|
cursor: 'ew-resize',
|
|
385
371
|
position: 'absolute',
|
|
386
372
|
height: '100%',
|
|
@@ -411,7 +397,7 @@ function Header(props: HeaderProps) {
|
|
|
411
397
|
);
|
|
412
398
|
}
|
|
413
399
|
|
|
414
|
-
function Headers(
|
|
400
|
+
function Headers() {
|
|
415
401
|
const [css, theme] = useStyletron();
|
|
416
402
|
const locale = React.useContext(LocaleContext);
|
|
417
403
|
const ctx = React.useContext(HeaderContext);
|
|
@@ -423,7 +409,7 @@ function Headers(props: {||}) {
|
|
|
423
409
|
position: 'sticky',
|
|
424
410
|
top: 0,
|
|
425
411
|
left: 0,
|
|
426
|
-
width: `${ctx.widths
|
|
412
|
+
width: `${sum(ctx.widths)}px`,
|
|
427
413
|
height: `${HEADER_ROW_HEIGHT}px`,
|
|
428
414
|
display: 'flex',
|
|
429
415
|
// this feels bad.. the absolutely positioned children elements
|
|
@@ -439,10 +425,7 @@ function Headers(props: {||}) {
|
|
|
439
425
|
<Tooltip
|
|
440
426
|
key={columnIndex}
|
|
441
427
|
placement={PLACEMENT.bottomLeft}
|
|
442
|
-
isOpen={
|
|
443
|
-
ctx.columnHighlightIndex === columnIndex &&
|
|
444
|
-
Boolean(activeFilter)
|
|
445
|
-
}
|
|
428
|
+
isOpen={ctx.columnHighlightIndex === columnIndex && Boolean(activeFilter)}
|
|
446
429
|
content={() => {
|
|
447
430
|
return (
|
|
448
431
|
<div>
|
|
@@ -474,12 +457,11 @@ function Headers(props: {||}) {
|
|
|
474
457
|
backgroundColor: theme.colors.backgroundPrimary,
|
|
475
458
|
borderTop: 'none',
|
|
476
459
|
borderLeft: 'none',
|
|
477
|
-
borderRight:
|
|
478
|
-
columnIndex === ctx.columns.length - 1 ? 'none' : null,
|
|
460
|
+
borderRight: columnIndex === ctx.columns.length - 1 ? 'none' : null,
|
|
479
461
|
boxSizing: 'border-box',
|
|
480
462
|
display: 'flex',
|
|
481
463
|
})}
|
|
482
|
-
style={{width: ctx.widths[columnIndex]}}
|
|
464
|
+
style={{ width: ctx.widths[columnIndex] }}
|
|
483
465
|
>
|
|
484
466
|
<Header
|
|
485
467
|
columnTitle={column.title}
|
|
@@ -523,9 +505,7 @@ function LoadingOrEmptyMessage(props) {
|
|
|
523
505
|
marginLeft: theme.sizing.scale500,
|
|
524
506
|
})}
|
|
525
507
|
>
|
|
526
|
-
{typeof props.children === 'function'
|
|
527
|
-
? props.children()
|
|
528
|
-
: String(props.children)}
|
|
508
|
+
{typeof props.children === 'function' ? props.children() : String(props.children)}
|
|
529
509
|
</p>
|
|
530
510
|
);
|
|
531
511
|
}
|
|
@@ -533,8 +513,8 @@ function LoadingOrEmptyMessage(props) {
|
|
|
533
513
|
// replaces the content of the virtualized window with contents. in this case,
|
|
534
514
|
// we are prepending a table header row before the table rows (children to the fn).
|
|
535
515
|
const InnerTableElement = React.forwardRef<
|
|
536
|
-
{|children: React.Node, style: {[string]: mixed}|},
|
|
537
|
-
HTMLDivElement
|
|
516
|
+
{| children: React.Node, style: { [string]: mixed } |},
|
|
517
|
+
HTMLDivElement
|
|
538
518
|
>((props, ref) => {
|
|
539
519
|
const [, theme] = useStyletron();
|
|
540
520
|
const ctx = React.useContext(HeaderContext);
|
|
@@ -560,13 +540,9 @@ const InnerTableElement = React.forwardRef<
|
|
|
560
540
|
<div ref={ref} data-baseweb="data-table" style={props.style}>
|
|
561
541
|
<Headers />
|
|
562
542
|
|
|
563
|
-
{viewState === LOADING &&
|
|
564
|
-
<LoadingOrEmptyMessage>{ctx.loadingMessage}</LoadingOrEmptyMessage>
|
|
565
|
-
)}
|
|
543
|
+
{viewState === LOADING && <LoadingOrEmptyMessage>{ctx.loadingMessage}</LoadingOrEmptyMessage>}
|
|
566
544
|
|
|
567
|
-
{viewState === EMPTY &&
|
|
568
|
-
<LoadingOrEmptyMessage>{ctx.emptyMessage}</LoadingOrEmptyMessage>
|
|
569
|
-
)}
|
|
545
|
+
{viewState === EMPTY && <LoadingOrEmptyMessage>{ctx.emptyMessage}</LoadingOrEmptyMessage>}
|
|
570
546
|
|
|
571
547
|
{viewState === RENDERING && props.children}
|
|
572
548
|
|
|
@@ -587,14 +563,13 @@ const InnerTableElement = React.forwardRef<
|
|
|
587
563
|
position: 'absolute',
|
|
588
564
|
right: theme.direction !== 'rtl' ? 0 - ctx.scrollLeft : 'initial',
|
|
589
565
|
left: theme.direction === 'rtl' ? 0 : 'initial',
|
|
590
|
-
top:
|
|
591
|
-
(ctx.rowHighlightIndex - 1) * ctx.rowHeight + HEADER_ROW_HEIGHT,
|
|
566
|
+
top: (ctx.rowHighlightIndex - 1) * ctx.rowHeight + HEADER_ROW_HEIGHT,
|
|
592
567
|
}}
|
|
593
568
|
>
|
|
594
569
|
{(typeof ctx.rowActions === 'function'
|
|
595
570
|
? ctx.rowActions(highlightedRow)
|
|
596
571
|
: ctx.rowActions
|
|
597
|
-
).map(rowAction => {
|
|
572
|
+
).map((rowAction) => {
|
|
598
573
|
if (rowAction.renderButton) {
|
|
599
574
|
const RowActionButton = rowAction.renderButton;
|
|
600
575
|
return <RowActionButton />;
|
|
@@ -605,7 +580,7 @@ const InnerTableElement = React.forwardRef<
|
|
|
605
580
|
<Button
|
|
606
581
|
alt={rowAction.label}
|
|
607
582
|
key={rowAction.label}
|
|
608
|
-
onClick={event =>
|
|
583
|
+
onClick={(event) =>
|
|
609
584
|
rowAction.onClick({
|
|
610
585
|
event,
|
|
611
586
|
row: ctx.rows[ctx.rowHighlightIndex - 1],
|
|
@@ -688,53 +663,54 @@ export function DataTable({
|
|
|
688
663
|
const locale = React.useContext(LocaleContext);
|
|
689
664
|
|
|
690
665
|
const rowHeightAtIndex = React.useCallback(
|
|
691
|
-
index => {
|
|
666
|
+
(index) => {
|
|
692
667
|
if (index === 0) {
|
|
693
668
|
return HEADER_ROW_HEIGHT;
|
|
694
669
|
}
|
|
695
670
|
return rowHeight;
|
|
696
671
|
},
|
|
697
|
-
[rowHeight]
|
|
698
|
-
);
|
|
699
|
-
const gridRef = React.useRef<typeof VariableSizeGrid | null>(null);
|
|
700
|
-
const [measuredWidths, setMeasuredWidths] = React.useState(
|
|
701
|
-
columns.map(() => 0),
|
|
672
|
+
[rowHeight]
|
|
702
673
|
);
|
|
674
|
+
|
|
675
|
+
// We use state for our ref, to allow hooks to update when the ref changes.
|
|
676
|
+
// flowlint-next-line unclear-type:off
|
|
677
|
+
const [gridRef, setGridRef] = React.useState<?VariableSizeGrid<any>>(null);
|
|
678
|
+
const [measuredWidths, setMeasuredWidths] = React.useState(columns.map(() => 0));
|
|
703
679
|
const [resizeDeltas, setResizeDeltas] = React.useState(columns.map(() => 0));
|
|
704
680
|
React.useEffect(() => {
|
|
705
|
-
setMeasuredWidths(prev => {
|
|
681
|
+
setMeasuredWidths((prev) => {
|
|
706
682
|
return columns.map((v, index) => prev[index] || 0);
|
|
707
683
|
});
|
|
708
|
-
setResizeDeltas(prev => {
|
|
684
|
+
setResizeDeltas((prev) => {
|
|
709
685
|
return columns.map((v, index) => prev[index] || 0);
|
|
710
686
|
});
|
|
711
687
|
}, [columns]);
|
|
712
688
|
|
|
713
689
|
const resetAfterColumnIndex = React.useCallback(
|
|
714
|
-
columnIndex => {
|
|
715
|
-
if (gridRef
|
|
690
|
+
(columnIndex) => {
|
|
691
|
+
if (gridRef) {
|
|
716
692
|
// $FlowFixMe trigger react-window to layout the elements again
|
|
717
|
-
gridRef.
|
|
693
|
+
gridRef.resetAfterColumnIndex(columnIndex, true);
|
|
718
694
|
}
|
|
719
695
|
},
|
|
720
|
-
[gridRef
|
|
696
|
+
[gridRef]
|
|
721
697
|
);
|
|
722
698
|
const handleWidthsChange = React.useCallback(
|
|
723
|
-
nextWidths => {
|
|
699
|
+
(nextWidths) => {
|
|
724
700
|
setMeasuredWidths(nextWidths);
|
|
725
701
|
resetAfterColumnIndex(0);
|
|
726
702
|
},
|
|
727
|
-
[setMeasuredWidths, resetAfterColumnIndex]
|
|
703
|
+
[setMeasuredWidths, resetAfterColumnIndex]
|
|
728
704
|
);
|
|
729
705
|
const handleColumnResize = React.useCallback(
|
|
730
706
|
(columnIndex, delta) => {
|
|
731
|
-
setResizeDeltas(prev => {
|
|
707
|
+
setResizeDeltas((prev) => {
|
|
732
708
|
prev[columnIndex] = Math.max(prev[columnIndex] + delta, 0);
|
|
733
709
|
return [...prev];
|
|
734
710
|
});
|
|
735
711
|
resetAfterColumnIndex(columnIndex);
|
|
736
712
|
},
|
|
737
|
-
[setResizeDeltas, resetAfterColumnIndex]
|
|
713
|
+
[setResizeDeltas, resetAfterColumnIndex]
|
|
738
714
|
);
|
|
739
715
|
|
|
740
716
|
const [scrollLeft, setScrollLeft] = React.useState(0);
|
|
@@ -753,27 +729,22 @@ export function DataTable({
|
|
|
753
729
|
}
|
|
754
730
|
}, [recentlyScrolledX]);
|
|
755
731
|
const handleScroll = React.useCallback(
|
|
756
|
-
params => {
|
|
732
|
+
(params) => {
|
|
757
733
|
setScrollLeft(params.scrollLeft);
|
|
758
734
|
if (params.scrollLeft !== scrollLeft) {
|
|
759
735
|
setRecentlyScrolledX(true);
|
|
760
736
|
}
|
|
761
737
|
},
|
|
762
|
-
[scrollLeft, setScrollLeft, setRecentlyScrolledX]
|
|
738
|
+
[scrollLeft, setScrollLeft, setRecentlyScrolledX]
|
|
763
739
|
);
|
|
764
740
|
|
|
765
741
|
const sortedIndices = React.useMemo(() => {
|
|
766
742
|
let toSort = allRows.map((r, i) => [r, i]);
|
|
767
743
|
const index = sortIndex;
|
|
768
744
|
|
|
769
|
-
if (
|
|
770
|
-
index !== null &&
|
|
771
|
-
index !== undefined &&
|
|
772
|
-
index !== -1 &&
|
|
773
|
-
columns[index]
|
|
774
|
-
) {
|
|
745
|
+
if (index !== null && index !== undefined && index !== -1 && columns[index]) {
|
|
775
746
|
const sortFn = columns[index].sortFn;
|
|
776
|
-
const getValue = row => columns[index].mapDataToValue(row.data);
|
|
747
|
+
const getValue = (row) => columns[index].mapDataToValue(row.data);
|
|
777
748
|
if (sortDirection === SORT_DIRECTIONS.ASC) {
|
|
778
749
|
toSort.sort((a, b) => sortFn(getValue(a[0]), getValue(b[0])));
|
|
779
750
|
} else if (sortDirection === SORT_DIRECTIONS.DESC) {
|
|
@@ -781,20 +752,20 @@ export function DataTable({
|
|
|
781
752
|
}
|
|
782
753
|
}
|
|
783
754
|
|
|
784
|
-
return toSort.map(el => el[1]);
|
|
755
|
+
return toSort.map((el) => el[1]);
|
|
785
756
|
}, [sortIndex, sortDirection, columns, allRows]);
|
|
786
757
|
|
|
787
758
|
const filteredIndices = React.useMemo(() => {
|
|
788
759
|
const set = new Set(allRows.map((_, idx) => idx));
|
|
789
|
-
Array.from(filters || new Set(), f => f).forEach(([title, filter]) => {
|
|
790
|
-
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);
|
|
791
762
|
const column = columns[columnIndex];
|
|
792
763
|
if (!column) {
|
|
793
764
|
return;
|
|
794
765
|
}
|
|
795
766
|
|
|
796
767
|
const filterFn = column.buildFilter(filter);
|
|
797
|
-
Array.from(set).forEach(idx => {
|
|
768
|
+
Array.from(set).forEach((idx) => {
|
|
798
769
|
if (!filterFn(column.mapDataToValue(allRows[idx].data))) {
|
|
799
770
|
set.delete(idx);
|
|
800
771
|
}
|
|
@@ -808,15 +779,12 @@ export function DataTable({
|
|
|
808
779
|
stringishColumnIndices.push(i);
|
|
809
780
|
}
|
|
810
781
|
}
|
|
811
|
-
Array.from(set).forEach(idx => {
|
|
812
|
-
const matches = stringishColumnIndices.some(cdx => {
|
|
782
|
+
Array.from(set).forEach((idx) => {
|
|
783
|
+
const matches = stringishColumnIndices.some((cdx) => {
|
|
813
784
|
const column = columns[cdx];
|
|
814
785
|
const textQueryFilter = column.textQueryFilter;
|
|
815
786
|
if (textQueryFilter) {
|
|
816
|
-
return textQueryFilter(
|
|
817
|
-
textQuery,
|
|
818
|
-
column.mapDataToValue(allRows[idx].data),
|
|
819
|
-
);
|
|
787
|
+
return textQueryFilter(textQuery, column.mapDataToValue(allRows[idx].data));
|
|
820
788
|
}
|
|
821
789
|
return false;
|
|
822
790
|
});
|
|
@@ -832,8 +800,8 @@ export function DataTable({
|
|
|
832
800
|
|
|
833
801
|
const rows = React.useMemo(() => {
|
|
834
802
|
const result = sortedIndices
|
|
835
|
-
.filter(idx => filteredIndices.has(idx))
|
|
836
|
-
.map(idx => allRows[idx]);
|
|
803
|
+
.filter((idx) => filteredIndices.has(idx))
|
|
804
|
+
.map((idx) => allRows[idx]);
|
|
837
805
|
|
|
838
806
|
if (onIncludedRowsChange) {
|
|
839
807
|
onIncludedRowsChange(result);
|
|
@@ -843,13 +811,9 @@ export function DataTable({
|
|
|
843
811
|
|
|
844
812
|
const [browserScrollbarWidth, setBrowserScrollbarWidth] = React.useState(0);
|
|
845
813
|
const normalizedWidths = React.useMemo(() => {
|
|
846
|
-
const
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
);
|
|
850
|
-
if (gridRef.current) {
|
|
851
|
-
// $FlowFixMe
|
|
852
|
-
const gridProps = gridRef.current.props;
|
|
814
|
+
const resizedWidths = measuredWidths.map((w, i) => Math.floor(w) + Math.floor(resizeDeltas[i]));
|
|
815
|
+
if (gridRef) {
|
|
816
|
+
const gridProps = gridRef.props;
|
|
853
817
|
|
|
854
818
|
let isContentTallerThanContainer = false;
|
|
855
819
|
let visibleRowHeight = 0;
|
|
@@ -861,13 +825,11 @@ export function DataTable({
|
|
|
861
825
|
}
|
|
862
826
|
}
|
|
863
827
|
|
|
864
|
-
const scrollbarWidth = isContentTallerThanContainer
|
|
865
|
-
? browserScrollbarWidth
|
|
866
|
-
: 0;
|
|
828
|
+
const scrollbarWidth = isContentTallerThanContainer ? browserScrollbarWidth : 0;
|
|
867
829
|
|
|
868
830
|
const remainder = gridProps.width - sum(resizedWidths) - scrollbarWidth;
|
|
869
831
|
const padding = Math.floor(
|
|
870
|
-
remainder / columns.filter(c => (c ? c.fillWidth : true)).length
|
|
832
|
+
remainder / columns.filter((c) => (c ? c.fillWidth : true)).length
|
|
871
833
|
);
|
|
872
834
|
if (padding > 0) {
|
|
873
835
|
const result = [];
|
|
@@ -885,13 +847,7 @@ export function DataTable({
|
|
|
885
847
|
}
|
|
886
848
|
}
|
|
887
849
|
return resizedWidths;
|
|
888
|
-
}, [
|
|
889
|
-
measuredWidths,
|
|
890
|
-
resizeDeltas,
|
|
891
|
-
browserScrollbarWidth,
|
|
892
|
-
rows.length,
|
|
893
|
-
columns,
|
|
894
|
-
]);
|
|
850
|
+
}, [gridRef, measuredWidths, resizeDeltas, browserScrollbarWidth, rows.length, columns]);
|
|
895
851
|
|
|
896
852
|
const isSelectable = batchActions ? !!batchActions.length : false;
|
|
897
853
|
const isSelectedAll = React.useMemo(() => {
|
|
@@ -907,13 +863,13 @@ export function DataTable({
|
|
|
907
863
|
return !!selectedRowIds.size && selectedRowIds.size < rows.length;
|
|
908
864
|
}, [selectedRowIds, rows.length]);
|
|
909
865
|
const isRowSelected = React.useCallback(
|
|
910
|
-
id => {
|
|
866
|
+
(id) => {
|
|
911
867
|
if (selectedRowIds) {
|
|
912
868
|
return selectedRowIds.has(id);
|
|
913
869
|
}
|
|
914
870
|
return false;
|
|
915
871
|
},
|
|
916
|
-
[selectedRowIds]
|
|
872
|
+
[selectedRowIds]
|
|
917
873
|
);
|
|
918
874
|
const handleSelectMany = React.useCallback(() => {
|
|
919
875
|
if (onSelectMany) {
|
|
@@ -926,21 +882,21 @@ export function DataTable({
|
|
|
926
882
|
}
|
|
927
883
|
}, [onSelectNone]);
|
|
928
884
|
const handleSelectOne = React.useCallback(
|
|
929
|
-
row => {
|
|
885
|
+
(row) => {
|
|
930
886
|
if (onSelectOne) {
|
|
931
887
|
onSelectOne(row);
|
|
932
888
|
}
|
|
933
889
|
},
|
|
934
|
-
[onSelectOne]
|
|
890
|
+
[onSelectOne]
|
|
935
891
|
);
|
|
936
892
|
|
|
937
893
|
const handleSort = React.useCallback(
|
|
938
|
-
columnIndex => {
|
|
894
|
+
(columnIndex) => {
|
|
939
895
|
if (onSort) {
|
|
940
896
|
onSort(columnIndex);
|
|
941
897
|
}
|
|
942
898
|
},
|
|
943
|
-
[onSort]
|
|
899
|
+
[onSort]
|
|
944
900
|
);
|
|
945
901
|
|
|
946
902
|
const [columnHighlightIndex, setColumnHighlightIndex] = React.useState(-1);
|
|
@@ -948,10 +904,10 @@ export function DataTable({
|
|
|
948
904
|
|
|
949
905
|
function handleRowHighlightIndexChange(nextIndex) {
|
|
950
906
|
setRowHighlightIndex(nextIndex);
|
|
951
|
-
if (gridRef
|
|
907
|
+
if (gridRef) {
|
|
952
908
|
if (nextIndex >= 0) {
|
|
953
909
|
// $FlowFixMe - unable to get react-window types
|
|
954
|
-
gridRef.
|
|
910
|
+
gridRef.scrollToItem({ rowIndex: nextIndex });
|
|
955
911
|
}
|
|
956
912
|
if (onRowHighlightChange) {
|
|
957
913
|
onRowHighlightChange(nextIndex, rows[nextIndex - 1]);
|
|
@@ -960,13 +916,13 @@ export function DataTable({
|
|
|
960
916
|
}
|
|
961
917
|
|
|
962
918
|
const handleRowMouseEnter = React.useCallback(
|
|
963
|
-
nextIndex => {
|
|
919
|
+
(nextIndex) => {
|
|
964
920
|
setColumnHighlightIndex(-1);
|
|
965
921
|
if (nextIndex !== rowHighlightIndex) {
|
|
966
922
|
handleRowHighlightIndexChange(nextIndex);
|
|
967
923
|
}
|
|
968
924
|
},
|
|
969
|
-
[rowHighlightIndex]
|
|
925
|
+
[rowHighlightIndex]
|
|
970
926
|
);
|
|
971
927
|
function handleColumnHeaderMouseEnter(columnIndex) {
|
|
972
928
|
setColumnHighlightIndex(columnIndex);
|
|
@@ -1015,9 +971,9 @@ export function DataTable({
|
|
|
1015
971
|
isSelectable={isSelectable}
|
|
1016
972
|
onWidthsChange={handleWidthsChange}
|
|
1017
973
|
/>
|
|
1018
|
-
<MeasureScrollbarWidth onWidthChange={w => setBrowserScrollbarWidth(w)} />
|
|
974
|
+
<MeasureScrollbarWidth onWidthChange={(w) => setBrowserScrollbarWidth(w)} />
|
|
1019
975
|
<AutoSizer>
|
|
1020
|
-
{({height, width}) => (
|
|
976
|
+
{({ height, width }) => (
|
|
1021
977
|
<HeaderContext.Provider
|
|
1022
978
|
value={{
|
|
1023
979
|
columns: columns,
|
|
@@ -1050,12 +1006,13 @@ export function DataTable({
|
|
|
1050
1006
|
}}
|
|
1051
1007
|
>
|
|
1052
1008
|
<VariableSizeGrid
|
|
1053
|
-
//
|
|
1054
|
-
ref={(
|
|
1009
|
+
// flowlint-next-line unclear-type:off
|
|
1010
|
+
ref={(setGridRef: any)}
|
|
1055
1011
|
overscanRowCount={10}
|
|
1012
|
+
overscanColumnCount={5}
|
|
1056
1013
|
innerElementType={InnerTableElement}
|
|
1057
1014
|
columnCount={columns.length}
|
|
1058
|
-
columnWidth={columnIndex => normalizedWidths[columnIndex]}
|
|
1015
|
+
columnWidth={(columnIndex) => normalizedWidths[columnIndex]}
|
|
1059
1016
|
height={height - 2}
|
|
1060
1017
|
// plus one to account for additional header row
|
|
1061
1018
|
rowCount={rows.length + 1}
|