baseui 10.9.1 → 10.11.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 +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/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 +6 -7
- 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/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 +6 -7
- 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 +31 -58
- 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 +7 -6
- 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.flow +15 -18
- 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.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 +6 -7
- package/timezonepicker/timezone-picker.js.flow +31 -41
- package/timezonepicker/types.js.flow +10 -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
|
@@ -11,11 +11,12 @@ import { Button, SIZE } from '../button/index.js';
|
|
|
11
11
|
import { ButtonGroup, MODE } from '../button-group/index.js';
|
|
12
12
|
import { Input, SIZE as INPUT_SIZE } from '../input/index.js';
|
|
13
13
|
import { useStyletron } from '../styles/index.js';
|
|
14
|
-
import { ParagraphXSmall } from '../typography/index.js';
|
|
15
14
|
import Column from './column.js';
|
|
16
|
-
import { COLUMNS, NUMERICAL_FORMATS,
|
|
15
|
+
import { COLUMNS, NUMERICAL_FORMATS, MAX_BIN_COUNT, HISTOGRAM_SIZE } from './constants.js';
|
|
17
16
|
import FilterShell from './filter-shell.js';
|
|
18
17
|
import { LocaleContext } from '../locale/index.js';
|
|
18
|
+
import { bin, max as maxFunc, extent, scaleLinear, median, bisector } from 'd3';
|
|
19
|
+
import { Slider } from '../slider/index.js';
|
|
19
20
|
|
|
20
21
|
function roundToFixed(value, precision) {
|
|
21
22
|
const k = Math.pow(10, precision);
|
|
@@ -62,250 +63,173 @@ function validateInput(input) {
|
|
|
62
63
|
return Boolean(parseFloat(input)) || input === '' || input === '-';
|
|
63
64
|
}
|
|
64
65
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
66
|
+
const bisect = bisector(d => d.x0);
|
|
67
|
+
const Histogram = /*#__PURE__*/React.memo(function Histogram({
|
|
68
|
+
data,
|
|
69
|
+
lower,
|
|
70
|
+
upper,
|
|
71
|
+
isRange,
|
|
72
|
+
exclude,
|
|
73
|
+
precision
|
|
74
|
+
}) {
|
|
75
|
+
const [css, theme] = useStyletron();
|
|
76
|
+
const {
|
|
77
|
+
bins,
|
|
78
|
+
xScale,
|
|
79
|
+
yScale
|
|
80
|
+
} = React.useMemo(() => {
|
|
81
|
+
const bins = bin().thresholds(Math.min(data.length, MAX_BIN_COUNT))(data);
|
|
82
|
+
const xScale = scaleLinear().domain([bins[0].x0, bins[bins.length - 1].x1]).range([0, HISTOGRAM_SIZE.width]).clamp(true);
|
|
83
|
+
const yScale = scaleLinear().domain([0, maxFunc(bins, d => d.length)]).nice().range([HISTOGRAM_SIZE.height, 0]);
|
|
84
|
+
return {
|
|
85
|
+
bins,
|
|
86
|
+
xScale,
|
|
87
|
+
yScale
|
|
88
|
+
};
|
|
89
|
+
}, [data]); // We need to find the index of bar which is nearest to the given single value
|
|
90
|
+
|
|
91
|
+
const singleIndexNearest = React.useMemo(() => {
|
|
92
|
+
if (isRange) {
|
|
93
|
+
return null;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
return bisect.center(bins, lower);
|
|
97
|
+
}, [isRange, data, lower, upper]);
|
|
98
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
99
|
+
className: css({
|
|
100
|
+
display: 'flex',
|
|
101
|
+
marginTop: theme.sizing.scale600,
|
|
102
|
+
marginLeft: theme.sizing.scale200,
|
|
103
|
+
marginRight: 0,
|
|
104
|
+
marginBottom: theme.sizing.scale400,
|
|
105
|
+
justifyContent: 'space-between',
|
|
106
|
+
overflow: 'visible'
|
|
107
|
+
})
|
|
108
|
+
}, /*#__PURE__*/React.createElement("svg", HISTOGRAM_SIZE, bins.map((d, index) => {
|
|
109
|
+
const x = xScale(d.x0) + 1;
|
|
110
|
+
const y = yScale(d.length);
|
|
111
|
+
const width = Math.max(0, xScale(d.x1) - xScale(d.x0) - 1);
|
|
112
|
+
const height = yScale(0) - yScale(d.length);
|
|
113
|
+
let included;
|
|
114
|
+
|
|
115
|
+
if (singleIndexNearest != null) {
|
|
116
|
+
included = index === singleIndexNearest;
|
|
77
117
|
} else {
|
|
78
|
-
const
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
return {
|
|
82
|
-
exclude: filterParams.exclude,
|
|
83
|
-
comparatorIndex: 0,
|
|
84
|
-
operatorIndex: 0,
|
|
85
|
-
left: '',
|
|
86
|
-
right: comparison.value.toString()
|
|
87
|
-
};
|
|
88
|
-
} else if (comparison.operation === NUMERICAL_OPERATIONS.GT) {
|
|
89
|
-
return {
|
|
90
|
-
exclude: filterParams.exclude,
|
|
91
|
-
comparatorIndex: 0,
|
|
92
|
-
operatorIndex: 1,
|
|
93
|
-
left: comparison.value.toString(),
|
|
94
|
-
right: ''
|
|
95
|
-
};
|
|
96
|
-
} else if (comparison.operation === NUMERICAL_OPERATIONS.LTE) {
|
|
97
|
-
return {
|
|
98
|
-
exclude: filterParams.exclude,
|
|
99
|
-
comparatorIndex: 0,
|
|
100
|
-
operatorIndex: 2,
|
|
101
|
-
left: '',
|
|
102
|
-
right: comparison.value.toString()
|
|
103
|
-
};
|
|
104
|
-
} else if (comparison.operation === NUMERICAL_OPERATIONS.GTE) {
|
|
105
|
-
return {
|
|
106
|
-
exclude: filterParams.exclude,
|
|
107
|
-
comparatorIndex: 0,
|
|
108
|
-
operatorIndex: 3,
|
|
109
|
-
left: comparison.value.toString(),
|
|
110
|
-
right: ''
|
|
111
|
-
};
|
|
112
|
-
} else if (comparison.operation === NUMERICAL_OPERATIONS.EQ) {
|
|
113
|
-
return {
|
|
114
|
-
exclude: filterParams.exclude,
|
|
115
|
-
comparatorIndex: 1,
|
|
116
|
-
operatorIndex: 0,
|
|
117
|
-
left: comparison.value.toString(),
|
|
118
|
-
right: ''
|
|
119
|
-
};
|
|
120
|
-
}
|
|
118
|
+
const withinLower = d.x1 > lower;
|
|
119
|
+
const withinUpper = d.x0 <= upper;
|
|
120
|
+
included = withinLower && withinUpper;
|
|
121
121
|
}
|
|
122
|
-
}
|
|
123
122
|
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
123
|
+
if (exclude) {
|
|
124
|
+
included = !included;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
return /*#__PURE__*/React.createElement("rect", {
|
|
128
|
+
key: `bar-${index}`,
|
|
129
|
+
fill: included ? theme.colors.primary : theme.colors.mono400,
|
|
130
|
+
x: x,
|
|
131
|
+
y: y,
|
|
132
|
+
width: width,
|
|
133
|
+
height: height
|
|
134
|
+
});
|
|
135
|
+
})));
|
|
136
|
+
});
|
|
132
137
|
|
|
133
138
|
function NumericalFilter(props) {
|
|
134
139
|
const [css, theme] = useStyletron();
|
|
135
140
|
const locale = React.useContext(LocaleContext);
|
|
136
|
-
const
|
|
137
|
-
|
|
138
|
-
const
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
141
|
+
const precision = props.options.precision; // The state handling of this component could be refactored and cleaned up if we used useReducer.
|
|
142
|
+
|
|
143
|
+
const initialState = React.useMemo(() => {
|
|
144
|
+
return props.filterParams || {
|
|
145
|
+
exclude: false,
|
|
146
|
+
excludeKind: 'range',
|
|
147
|
+
comparatorIndex: 0,
|
|
148
|
+
lowerValue: null,
|
|
149
|
+
upperValue: null
|
|
150
|
+
};
|
|
151
|
+
}, [props.filterParams]);
|
|
152
|
+
const [exclude, setExclude] = React.useState(initialState.exclude); // the api of our ButtonGroup forces these numerical indexes...
|
|
153
|
+
// TODO look into allowing semantic names, similar to the radio component. Tricky part would be backwards compat
|
|
154
|
+
|
|
155
|
+
const [comparatorIndex, setComparatorIndex] = React.useState(() => {
|
|
156
|
+
switch (initialState.excludeKind) {
|
|
157
|
+
case 'value':
|
|
158
|
+
return 1;
|
|
159
|
+
|
|
160
|
+
case 'range':
|
|
161
|
+
default:
|
|
162
|
+
// fallthrough
|
|
163
|
+
return 0;
|
|
152
164
|
}
|
|
153
|
-
},
|
|
154
|
-
const [leftDisabled, rightDisabled] = React.useMemo(() => {
|
|
155
|
-
if (!isRange) return [false, false];
|
|
156
|
-
|
|
157
|
-
switch (operatorIndex) {
|
|
158
|
-
case 4:
|
|
159
|
-
return [false, false];
|
|
160
|
-
|
|
161
|
-
case 0:
|
|
162
|
-
case 2:
|
|
163
|
-
return [true, false];
|
|
165
|
+
}); // We use the d3 function to get the extent as it's a little more robust to null, -Infinity, etc.
|
|
164
166
|
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
167
|
+
const [min, max] = React.useMemo(() => extent(props.data), [props.data]);
|
|
168
|
+
const [lv, setLower] = React.useState(() => roundToFixed(initialState.lowerValue || min, precision));
|
|
169
|
+
const [uv, setUpper] = React.useState(() => roundToFixed(initialState.upperValue || max, precision)); // We keep a separate value for the single select, to give a user the ability to toggle between
|
|
170
|
+
// the range and single values without losing their previous input.
|
|
168
171
|
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
}, [operatorIndex, isRange]);
|
|
173
|
-
const leftInputRef = React.useRef(null);
|
|
174
|
-
const rightInputRef = React.useRef(null);
|
|
175
|
-
React.useEffect(() => {
|
|
176
|
-
if (!leftDisabled && leftInputRef.current) {
|
|
177
|
-
leftInputRef.current.focus({
|
|
178
|
-
preventScroll: true
|
|
179
|
-
});
|
|
180
|
-
} else if (!rightDisabled && rightInputRef.current) {
|
|
181
|
-
rightInputRef.current.focus({
|
|
182
|
-
preventScroll: true
|
|
183
|
-
});
|
|
184
|
-
}
|
|
185
|
-
}, [leftDisabled, rightDisabled, comparatorIndex]);
|
|
186
|
-
React.useEffect(() => {
|
|
187
|
-
switch (operatorIndex) {
|
|
188
|
-
case 4:
|
|
189
|
-
default:
|
|
190
|
-
break;
|
|
172
|
+
const [sv, setSingle] = React.useState(() => roundToFixed(initialState.lowerValue || median(props.data), precision)); // This is the only conditional which we want to use to determine
|
|
173
|
+
// if we are in range or single value mode.
|
|
174
|
+
// Don't derive it via something else, e.g. lowerValue === upperValue, etc.
|
|
191
175
|
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
176
|
+
const isRange = comparatorIndex === 0;
|
|
177
|
+
const excludeKind = isRange ? 'range' : 'value'; // while the user is inputting values, we take their input at face value,
|
|
178
|
+
// if we don't do this, a user can't input partial numbers, e.g. "-", or "3."
|
|
179
|
+
|
|
180
|
+
const [focused, setFocus] = React.useState(false);
|
|
181
|
+
const [inputValueLower, inputValueUpper] = React.useMemo(() => {
|
|
182
|
+
if (focused) {
|
|
183
|
+
return [isRange ? lv : sv, uv];
|
|
184
|
+
} // once the user is done inputting.
|
|
185
|
+
// we validate then format to the given precision
|
|
186
|
+
|
|
187
|
+
|
|
188
|
+
let l = isRange ? lv : sv;
|
|
189
|
+
l = validateInput(l) ? l : min;
|
|
190
|
+
let h = validateInput(uv) ? uv : max;
|
|
191
|
+
return [roundToFixed(l, precision), roundToFixed(h, precision)];
|
|
192
|
+
}, [isRange, focused, sv, lv, uv, precision]); // We have our slider values range from 1 to the bin size, so we have a scale which
|
|
193
|
+
// takes in the data driven range and maps it to values the scale can always handle
|
|
194
|
+
|
|
195
|
+
const sliderScale = React.useMemo(() => scaleLinear().domain([min, max]).rangeRound([1, MAX_BIN_COUNT]) // We clamp the values within our min and max even if a user enters a huge number
|
|
196
|
+
.clamp(true), [min, max]);
|
|
197
|
+
let sliderValue = isRange ? [sliderScale(inputValueLower), sliderScale(inputValueUpper)] : [sliderScale(inputValueLower)]; // keep the slider happy by sorting the two values
|
|
198
|
+
|
|
199
|
+
if (isRange && sliderValue[0] > sliderValue[1]) {
|
|
200
|
+
sliderValue = [sliderValue[1], sliderValue[0]];
|
|
201
|
+
}
|
|
196
202
|
|
|
197
|
-
case 0:
|
|
198
|
-
case 2:
|
|
199
|
-
setLeft(min.toString());
|
|
200
|
-
break;
|
|
201
|
-
}
|
|
202
|
-
}, [operatorIndex]);
|
|
203
203
|
return /*#__PURE__*/React.createElement(FilterShell, {
|
|
204
204
|
exclude: exclude,
|
|
205
205
|
onExcludeChange: () => setExclude(!exclude),
|
|
206
|
+
excludeKind: excludeKind,
|
|
206
207
|
onApply: () => {
|
|
207
208
|
if (isRange) {
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
}],
|
|
218
|
-
description: `< ${value}`,
|
|
219
|
-
exclude
|
|
220
|
-
});
|
|
221
|
-
break;
|
|
222
|
-
}
|
|
223
|
-
|
|
224
|
-
case 1:
|
|
225
|
-
{
|
|
226
|
-
const value = parseFloat(left);
|
|
227
|
-
const operation = NUMERICAL_OPERATIONS.GT;
|
|
228
|
-
props.setFilter({
|
|
229
|
-
comparisons: [{
|
|
230
|
-
value,
|
|
231
|
-
operation
|
|
232
|
-
}],
|
|
233
|
-
description: `> ${value}`,
|
|
234
|
-
exclude
|
|
235
|
-
});
|
|
236
|
-
break;
|
|
237
|
-
}
|
|
238
|
-
|
|
239
|
-
case 2:
|
|
240
|
-
{
|
|
241
|
-
const value = parseFloat(right);
|
|
242
|
-
const operation = NUMERICAL_OPERATIONS.LTE;
|
|
243
|
-
props.setFilter({
|
|
244
|
-
comparisons: [{
|
|
245
|
-
value,
|
|
246
|
-
operation
|
|
247
|
-
}],
|
|
248
|
-
description: `≤ ${value}`,
|
|
249
|
-
exclude
|
|
250
|
-
});
|
|
251
|
-
break;
|
|
252
|
-
}
|
|
253
|
-
|
|
254
|
-
case 3:
|
|
255
|
-
{
|
|
256
|
-
const value = parseFloat(left);
|
|
257
|
-
const operation = NUMERICAL_OPERATIONS.GTE;
|
|
258
|
-
props.setFilter({
|
|
259
|
-
comparisons: [{
|
|
260
|
-
value,
|
|
261
|
-
operation
|
|
262
|
-
}],
|
|
263
|
-
description: `≥ ${value}`,
|
|
264
|
-
exclude
|
|
265
|
-
});
|
|
266
|
-
break;
|
|
267
|
-
}
|
|
268
|
-
|
|
269
|
-
case 4:
|
|
270
|
-
{
|
|
271
|
-
// 'between' case is interesting since if we want less than 10 plus greater than 5
|
|
272
|
-
// comparators, the filter will include _all_ numbers.
|
|
273
|
-
const leftValue = parseFloat(left);
|
|
274
|
-
const rightValue = parseFloat(right);
|
|
275
|
-
props.setFilter({
|
|
276
|
-
comparisons: [{
|
|
277
|
-
value: leftValue,
|
|
278
|
-
operation: NUMERICAL_OPERATIONS.LT
|
|
279
|
-
}, {
|
|
280
|
-
value: rightValue,
|
|
281
|
-
operation: NUMERICAL_OPERATIONS.GT
|
|
282
|
-
}],
|
|
283
|
-
description: `≥ ${leftValue} & ≤ ${rightValue}`,
|
|
284
|
-
exclude: !exclude
|
|
285
|
-
});
|
|
286
|
-
break;
|
|
287
|
-
}
|
|
288
|
-
|
|
289
|
-
default:
|
|
290
|
-
break;
|
|
291
|
-
}
|
|
209
|
+
const lowerValue = parseFloat(inputValueLower);
|
|
210
|
+
const upperValue = parseFloat(inputValueUpper);
|
|
211
|
+
props.setFilter({
|
|
212
|
+
description: `≥ ${lowerValue} and ≤ ${upperValue}`,
|
|
213
|
+
exclude: exclude,
|
|
214
|
+
lowerValue,
|
|
215
|
+
upperValue,
|
|
216
|
+
excludeKind
|
|
217
|
+
});
|
|
292
218
|
} else {
|
|
293
|
-
const value = parseFloat(
|
|
294
|
-
const operation = NUMERICAL_OPERATIONS.EQ;
|
|
219
|
+
const value = parseFloat(inputValueLower);
|
|
295
220
|
props.setFilter({
|
|
296
|
-
comparisons: [{
|
|
297
|
-
value,
|
|
298
|
-
operation
|
|
299
|
-
}],
|
|
300
221
|
description: `= ${value}`,
|
|
301
|
-
exclude
|
|
222
|
+
exclude: exclude,
|
|
223
|
+
lowerValue: inputValueLower,
|
|
224
|
+
upperValue: inputValueLower,
|
|
225
|
+
excludeKind
|
|
302
226
|
});
|
|
303
227
|
}
|
|
304
228
|
|
|
305
229
|
props.close();
|
|
306
230
|
}
|
|
307
231
|
}, /*#__PURE__*/React.createElement(ButtonGroup, {
|
|
308
|
-
size: SIZE.
|
|
232
|
+
size: SIZE.mini,
|
|
309
233
|
mode: MODE.radio,
|
|
310
234
|
selected: comparatorIndex,
|
|
311
235
|
onClick: (_, index) => setComparatorIndex(index),
|
|
@@ -326,7 +250,8 @@ function NumericalFilter(props) {
|
|
|
326
250
|
width: '100%'
|
|
327
251
|
}
|
|
328
252
|
}
|
|
329
|
-
}
|
|
253
|
+
},
|
|
254
|
+
"aria-label": locale.datatable.numericalFilterRange
|
|
330
255
|
}, locale.datatable.numericalFilterRange), /*#__PURE__*/React.createElement(Button, {
|
|
331
256
|
type: "button",
|
|
332
257
|
overrides: {
|
|
@@ -335,112 +260,141 @@ function NumericalFilter(props) {
|
|
|
335
260
|
width: '100%'
|
|
336
261
|
}
|
|
337
262
|
}
|
|
338
|
-
}
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
263
|
+
},
|
|
264
|
+
"aria-label": locale.datatable.numericalFilterSingleValue
|
|
265
|
+
}, locale.datatable.numericalFilterSingleValue)), /*#__PURE__*/React.createElement(Histogram, {
|
|
266
|
+
data: props.data,
|
|
267
|
+
lower: inputValueLower,
|
|
268
|
+
upper: inputValueUpper,
|
|
269
|
+
isRange: isRange,
|
|
270
|
+
exclude: exclude,
|
|
271
|
+
precision: props.options.precision
|
|
272
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
273
|
+
className: css({
|
|
274
|
+
display: 'flex',
|
|
275
|
+
justifyContent: 'space-between'
|
|
276
|
+
})
|
|
277
|
+
}, /*#__PURE__*/React.createElement(Slider // The slider throws errors when switching between single and two values
|
|
278
|
+
// when it tries to read getThumbDistance on a thumb which is not there anymore
|
|
279
|
+
// if we create a new instance these errors are prevented.
|
|
280
|
+
, {
|
|
281
|
+
key: isRange.toString(),
|
|
282
|
+
min: 1,
|
|
283
|
+
max: MAX_BIN_COUNT,
|
|
284
|
+
value: sliderValue,
|
|
285
|
+
onChange: ({
|
|
286
|
+
value
|
|
287
|
+
}) => {
|
|
288
|
+
if (!value) {
|
|
289
|
+
return;
|
|
290
|
+
} // we convert back from the slider scale to the actual data's scale
|
|
291
|
+
|
|
292
|
+
|
|
293
|
+
if (isRange) {
|
|
294
|
+
const [lowerValue, upperValue] = value;
|
|
295
|
+
setLower(sliderScale.invert(lowerValue));
|
|
296
|
+
setUpper(sliderScale.invert(upperValue));
|
|
297
|
+
} else {
|
|
298
|
+
const [singleValue] = value;
|
|
299
|
+
setSingle(sliderScale.invert(singleValue));
|
|
300
|
+
}
|
|
301
|
+
},
|
|
344
302
|
overrides: {
|
|
303
|
+
InnerThumb: function InnerThumb({
|
|
304
|
+
$value,
|
|
305
|
+
$thumbIndex
|
|
306
|
+
}) {
|
|
307
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, $value[$thumbIndex]);
|
|
308
|
+
},
|
|
309
|
+
TickBar: ({
|
|
310
|
+
$min,
|
|
311
|
+
$max
|
|
312
|
+
}) => null,
|
|
313
|
+
// we don't want the ticks
|
|
314
|
+
ThumbValue: () => null,
|
|
345
315
|
Root: {
|
|
316
|
+
style: () => ({
|
|
317
|
+
// Aligns the center of the slider handles with the histogram bars
|
|
318
|
+
width: 'calc(100% + 14px)',
|
|
319
|
+
margin: '0 -7px'
|
|
320
|
+
})
|
|
321
|
+
},
|
|
322
|
+
InnerTrack: {
|
|
346
323
|
style: ({
|
|
347
324
|
$theme
|
|
348
|
-
}) =>
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
BaseButton: {
|
|
357
|
-
style: {
|
|
358
|
-
width: '100%'
|
|
359
|
-
}
|
|
360
|
-
}
|
|
361
|
-
}
|
|
362
|
-
}, "<"), /*#__PURE__*/React.createElement(Button, {
|
|
363
|
-
type: "button",
|
|
364
|
-
overrides: {
|
|
365
|
-
BaseButton: {
|
|
366
|
-
style: {
|
|
367
|
-
width: '100%'
|
|
368
|
-
}
|
|
369
|
-
}
|
|
370
|
-
}
|
|
371
|
-
}, ">"), /*#__PURE__*/React.createElement(Button, {
|
|
372
|
-
type: "button",
|
|
373
|
-
overrides: {
|
|
374
|
-
BaseButton: {
|
|
375
|
-
style: {
|
|
376
|
-
width: '100%'
|
|
377
|
-
}
|
|
378
|
-
}
|
|
379
|
-
}
|
|
380
|
-
}, "\u2264"), /*#__PURE__*/React.createElement(Button, {
|
|
381
|
-
type: "button",
|
|
382
|
-
overrides: {
|
|
383
|
-
BaseButton: {
|
|
384
|
-
style: {
|
|
385
|
-
width: '100%'
|
|
386
|
-
}
|
|
387
|
-
}
|
|
388
|
-
}
|
|
389
|
-
}, "\u2265"), /*#__PURE__*/React.createElement(Button, {
|
|
390
|
-
type: "button",
|
|
391
|
-
overrides: {
|
|
392
|
-
BaseButton: {
|
|
393
|
-
style: {
|
|
394
|
-
width: '100%'
|
|
325
|
+
}) => {
|
|
326
|
+
if (!isRange) {
|
|
327
|
+
return {
|
|
328
|
+
// For range selection we use the color as is, but when selecting the single value,
|
|
329
|
+
// we don't want the track standing out, so mute its color
|
|
330
|
+
background: theme.colors.mono400
|
|
331
|
+
};
|
|
332
|
+
}
|
|
395
333
|
}
|
|
334
|
+
},
|
|
335
|
+
Thumb: {
|
|
336
|
+
style: () => ({
|
|
337
|
+
// Slider handles are small enough to visually be centered within each histogram bar
|
|
338
|
+
height: '18px',
|
|
339
|
+
width: '18px',
|
|
340
|
+
fontSize: '0px'
|
|
341
|
+
})
|
|
396
342
|
}
|
|
397
343
|
}
|
|
398
|
-
}
|
|
399
|
-
className: css({
|
|
400
|
-
display: 'flex',
|
|
401
|
-
justifyContent: 'space-between',
|
|
402
|
-
marginLeft: theme.sizing.scale300,
|
|
403
|
-
marginRight: theme.sizing.scale300
|
|
404
|
-
})
|
|
405
|
-
}, /*#__PURE__*/React.createElement(ParagraphXSmall, null, format(min, props.options)), ' ', /*#__PURE__*/React.createElement(ParagraphXSmall, null, format(max, props.options))), /*#__PURE__*/React.createElement("div", {
|
|
344
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
406
345
|
className: css({
|
|
407
346
|
display: 'flex',
|
|
347
|
+
marginTop: theme.sizing.scale400,
|
|
348
|
+
// This % gap is visually appealing given the filter box width
|
|
349
|
+
gap: '30%',
|
|
408
350
|
justifyContent: 'space-between'
|
|
409
351
|
})
|
|
410
352
|
}, /*#__PURE__*/React.createElement(Input, {
|
|
411
|
-
|
|
353
|
+
min: min,
|
|
354
|
+
max: max,
|
|
355
|
+
size: INPUT_SIZE.mini,
|
|
412
356
|
overrides: {
|
|
413
357
|
Root: {
|
|
414
358
|
style: {
|
|
415
|
-
width:
|
|
359
|
+
width: '100%'
|
|
416
360
|
}
|
|
417
361
|
}
|
|
418
362
|
},
|
|
419
|
-
|
|
420
|
-
inputRef: leftInputRef,
|
|
421
|
-
value: left,
|
|
363
|
+
value: inputValueLower,
|
|
422
364
|
onChange: event => {
|
|
423
365
|
if (validateInput(event.target.value)) {
|
|
424
|
-
|
|
366
|
+
isRange ? // $FlowFixMe - we know it is a number by now
|
|
367
|
+
setLower(event.target.value) : // $FlowFixMe - we know it is a number by now
|
|
368
|
+
setSingle(event.target.value);
|
|
425
369
|
}
|
|
426
|
-
}
|
|
370
|
+
},
|
|
371
|
+
onFocus: () => setFocus(true),
|
|
372
|
+
onBlur: () => setFocus(false)
|
|
427
373
|
}), isRange && /*#__PURE__*/React.createElement(Input, {
|
|
428
|
-
|
|
374
|
+
min: min,
|
|
375
|
+
max: max,
|
|
376
|
+
size: INPUT_SIZE.mini,
|
|
429
377
|
overrides: {
|
|
378
|
+
Input: {
|
|
379
|
+
style: {
|
|
380
|
+
textAlign: 'right'
|
|
381
|
+
}
|
|
382
|
+
},
|
|
430
383
|
Root: {
|
|
431
384
|
style: {
|
|
432
|
-
width: '
|
|
385
|
+
width: '100%'
|
|
433
386
|
}
|
|
434
387
|
}
|
|
435
388
|
},
|
|
436
|
-
|
|
437
|
-
inputRef: rightInputRef,
|
|
438
|
-
value: right,
|
|
389
|
+
value: inputValueUpper,
|
|
439
390
|
onChange: event => {
|
|
440
391
|
if (validateInput(event.target.value)) {
|
|
441
|
-
|
|
392
|
+
// $FlowFixMe - we know it is a number by now
|
|
393
|
+
setUpper(event.target.value);
|
|
442
394
|
}
|
|
443
|
-
}
|
|
395
|
+
},
|
|
396
|
+
onFocus: () => setFocus(true),
|
|
397
|
+
onBlur: () => setFocus(false)
|
|
444
398
|
})));
|
|
445
399
|
}
|
|
446
400
|
|
|
@@ -485,30 +439,8 @@ function NumericalColumn(options) {
|
|
|
485
439
|
kind: COLUMNS.NUMERICAL,
|
|
486
440
|
buildFilter: function (params) {
|
|
487
441
|
return function (data) {
|
|
488
|
-
const
|
|
489
|
-
|
|
490
|
-
const right = roundToFixed(c.value, normalizedOptions.precision);
|
|
491
|
-
|
|
492
|
-
switch (c.operation) {
|
|
493
|
-
case NUMERICAL_OPERATIONS.EQ:
|
|
494
|
-
return left === right;
|
|
495
|
-
|
|
496
|
-
case NUMERICAL_OPERATIONS.GT:
|
|
497
|
-
return left > right;
|
|
498
|
-
|
|
499
|
-
case NUMERICAL_OPERATIONS.GTE:
|
|
500
|
-
return left >= right;
|
|
501
|
-
|
|
502
|
-
case NUMERICAL_OPERATIONS.LT:
|
|
503
|
-
return left < right;
|
|
504
|
-
|
|
505
|
-
case NUMERICAL_OPERATIONS.LTE:
|
|
506
|
-
return left <= right;
|
|
507
|
-
|
|
508
|
-
default:
|
|
509
|
-
return true;
|
|
510
|
-
}
|
|
511
|
-
});
|
|
442
|
+
const value = roundToFixed(data, normalizedOptions.precision);
|
|
443
|
+
const included = value >= params.lowerValue && value <= params.upperValue;
|
|
512
444
|
return params.exclude ? !included : included;
|
|
513
445
|
};
|
|
514
446
|
},
|
package/es/data-table/column.js
CHANGED
|
@@ -18,6 +18,7 @@ function Column(options) {
|
|
|
18
18
|
mapDataToValue: options.mapDataToValue,
|
|
19
19
|
maxWidth: options.maxWidth,
|
|
20
20
|
minWidth: options.minWidth,
|
|
21
|
+
// eslint-disable-next-line react/display-name
|
|
21
22
|
renderCell: /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
22
23
|
const [css, theme] = useStyletron();
|
|
23
24
|
const ProvidedCell = options.renderCell;
|