@hazelcast/ui 1.3.3-next.9 → 2.0.1-canary.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/README.md +223 -6
- package/lib/components/Alert.d.ts +33 -0
- package/lib/components/Alert.js +51 -0
- package/lib/components/Alert.js.map +1 -0
- package/lib/components/Alert.module.scss +141 -0
- package/lib/components/AppHeader/AppHeader.d.ts +16 -0
- package/lib/components/AppHeader/AppHeader.js +17 -0
- package/lib/components/AppHeader/AppHeader.js.map +1 -0
- package/lib/components/AppHeader/AppHeader.module.scss +29 -0
- package/lib/components/AppHeader/AppHeaderLogo/AppHeaderLogo.d.ts +12 -0
- package/lib/components/AppHeader/AppHeaderLogo/AppHeaderLogo.js +7 -0
- package/lib/components/AppHeader/AppHeaderLogo/AppHeaderLogo.js.map +1 -0
- package/lib/components/AppHeader/AppHeaderLogo/AppHeaderLogo.module.scss +29 -0
- package/lib/components/AppHeader/AppHeaderLogo/index.js.map +1 -0
- package/lib/components/AppHeader/AppHeaderMenu/AppHeaderMenu.d.ts +8 -0
- package/lib/components/AppHeader/AppHeaderMenu/AppHeaderMenu.js +15 -0
- package/lib/components/AppHeader/AppHeaderMenu/AppHeaderMenu.js.map +1 -0
- package/lib/components/AppHeader/AppHeaderMenu/AppHeaderMenu.module.scss +20 -0
- package/lib/components/AppHeader/AppHeaderMenu/index.js.map +1 -0
- package/lib/components/AppHeader/EnvironmentBadge/EnvironmentBadge.d.ts +5 -0
- package/lib/components/AppHeader/EnvironmentBadge/EnvironmentBadge.js.map +1 -0
- package/lib/components/AppHeader/EnvironmentBadge/EnvironmentBadge.module.scss +13 -0
- package/lib/components/AppHeader/EnvironmentBadge/index.js.map +1 -0
- package/lib/components/AppHeader/SelectCluster/SelectCluster.js.map +1 -0
- package/lib/components/AppHeader/SelectCluster/SelectCluster.module.scss +101 -0
- package/lib/components/AppHeader/SelectCluster/index.js.map +1 -0
- package/lib/components/AppHeader/index.js.map +1 -0
- package/lib/components/AppSidebar/AppSidebar.d.ts +11 -0
- package/lib/components/AppSidebar/AppSidebar.js +31 -0
- package/lib/components/AppSidebar/AppSidebar.js.map +1 -0
- package/lib/components/AppSidebar/AppSidebar.module.scss +66 -0
- package/lib/components/AppSidebar/AppSidebarFavoriteButton/AppSidebarFavoriteButton.d.ts +6 -0
- package/lib/components/AppSidebar/AppSidebarFavoriteButton/AppSidebarFavoriteButton.js.map +1 -0
- package/lib/components/AppSidebar/AppSidebarFavoriteButton/AppSidebarFavoriteButton.module.scss +16 -0
- package/lib/components/AppSidebar/AppSidebarFavoriteButton/index.js.map +1 -0
- package/lib/components/AppSidebar/AppSidebarFavorites/AppSidebarFavorites.d.ts +7 -0
- package/lib/components/AppSidebar/AppSidebarFavorites/AppSidebarFavorites.js.map +1 -0
- package/lib/components/AppSidebar/AppSidebarFavorites/AppSidebarFavorites.module.scss +13 -0
- package/lib/components/AppSidebar/AppSidebarFavorites/index.js.map +1 -0
- package/lib/components/AppSidebar/AppSidebarItem/AppSidebarItem.d.ts +28 -0
- package/lib/components/AppSidebar/AppSidebarItem/AppSidebarItem.js +23 -0
- package/lib/components/AppSidebar/AppSidebarItem/AppSidebarItem.js.map +1 -0
- package/lib/components/AppSidebar/AppSidebarItem/AppSidebarItem.module.scss +92 -0
- package/lib/components/AppSidebar/AppSidebarItem/index.js.map +1 -0
- package/lib/components/AppSidebar/AppSidebarMenuItemCounter/AppSidebarMenuItemCounter.d.ts +6 -0
- package/lib/components/AppSidebar/AppSidebarMenuItemCounter/AppSidebarMenuItemCounter.js.map +1 -0
- package/lib/components/AppSidebar/AppSidebarMenuItemCounter/AppSidebarMenuItemCounter.module.scss +24 -0
- package/lib/components/AppSidebar/AppSidebarMenuItemCounter/index.js.map +1 -0
- package/lib/components/AppSidebar/AppSidebarSection/AppSidebarSection.d.ts +13 -0
- package/lib/components/AppSidebar/AppSidebarSection/AppSidebarSection.js +15 -0
- package/lib/components/AppSidebar/AppSidebarSection/AppSidebarSection.js.map +1 -0
- package/lib/components/AppSidebar/AppSidebarSection/AppSidebarSection.module.scss +58 -0
- package/lib/components/AppSidebar/AppSidebarSection/AppSidebarSectionExpandable.d.ts +12 -0
- package/lib/components/AppSidebar/AppSidebarSection/AppSidebarSectionExpandable.js +54 -0
- package/lib/components/AppSidebar/AppSidebarSection/AppSidebarSectionExpandable.js.map +1 -0
- package/lib/components/AppSidebar/AppSidebarSection/appSidebarSectionContext.d.ts +1 -0
- package/lib/components/AppSidebar/AppSidebarSection/appSidebarSectionContext.js.map +1 -0
- package/lib/components/AppSidebar/AppSidebarSection/index.js.map +1 -0
- package/lib/components/AppSidebar/appSidebarContext.d.ts +9 -0
- package/lib/components/AppSidebar/appSidebarContext.js.map +1 -0
- package/lib/components/AppSidebar/index.js.map +1 -0
- package/lib/components/AutocompleteField.js +166 -0
- package/lib/components/AutocompleteField.js.map +1 -0
- package/lib/components/AutocompleteField.module.scss +164 -0
- package/lib/components/AutocompleteFieldFormik.d.ts +9 -0
- package/lib/components/AutocompleteFieldFormik.js +19 -0
- package/lib/components/AutocompleteFieldFormik.js.map +1 -0
- package/lib/components/Badge.js +44 -0
- package/lib/components/Badge.js.map +1 -0
- package/lib/components/Badge.module.scss +55 -0
- package/lib/components/Button.d.ts +97 -0
- package/lib/components/Button.js +64 -0
- package/lib/components/Button.js.map +1 -0
- package/lib/components/Button.module.scss +329 -0
- package/lib/components/Calendar/Calendar.d.ts +17 -0
- package/lib/components/Calendar/Calendar.js +38 -0
- package/lib/components/Calendar/Calendar.js.map +1 -0
- package/lib/components/Calendar/Calendar.module.scss +185 -0
- package/lib/components/Calendar/CalendarRange.js.map +1 -0
- package/lib/components/Calendar/CalendarRange.module.scss +21 -0
- package/lib/components/Calendar/components/CalendarHeader.js +13 -0
- package/lib/components/Calendar/components/CalendarHeader.js.map +1 -0
- package/lib/components/Calendar/components/CalendarInput.d.ts +16 -0
- package/lib/components/Calendar/components/CalendarInput.js +12 -0
- package/lib/components/Calendar/components/CalendarInput.js.map +1 -0
- package/lib/components/Calendar/components/CalendarTime.d.ts +10 -0
- package/lib/components/Calendar/components/CalendarTime.js +69 -0
- package/lib/components/Calendar/components/CalendarTime.js.map +1 -0
- package/lib/components/Calendar/components/CalendarTime.module.scss +72 -0
- package/lib/components/Calendar/helpers/consts.js.map +1 -0
- package/lib/components/Card.d.ts +26 -0
- package/lib/components/Card.js +21 -0
- package/lib/components/Card.js.map +1 -0
- package/lib/components/Card.module.scss +92 -0
- package/lib/components/Carousel.d.ts +26 -0
- package/lib/components/Carousel.js +28 -0
- package/lib/components/Carousel.js.map +1 -0
- package/lib/components/Carousel.module.scss +43 -0
- package/lib/components/CenteredLoader.d.ts +5 -0
- package/lib/components/CenteredLoader.js.map +1 -0
- package/lib/components/CenteredLoader.module.scss +11 -0
- package/lib/components/Checkbox.d.ts +35 -0
- package/lib/components/Checkbox.js +38 -0
- package/lib/components/Checkbox.js.map +1 -0
- package/lib/components/Checkbox.module.scss +106 -0
- package/lib/components/CheckboxFormik.d.ts +10 -0
- package/lib/components/CheckboxFormik.js +17 -0
- package/lib/components/CheckboxFormik.js.map +1 -0
- package/lib/components/CircularProgressBar.js.map +1 -0
- package/lib/components/CircularProgressBar.module.scss +37 -0
- package/lib/components/ContextMenu.js +61 -0
- package/lib/components/ContextMenu.js.map +1 -0
- package/lib/components/ContextMenu.module.scss +37 -0
- package/lib/components/Dialog.js +40 -0
- package/lib/components/Dialog.js.map +1 -0
- package/lib/components/Dialog.module.scss +62 -0
- package/lib/components/EmptyState.d.ts +52 -0
- package/lib/components/EmptyState.js.map +1 -0
- package/lib/components/EmptyState.module.scss +87 -0
- package/lib/components/Error.d.ts +13 -0
- package/lib/components/Error.js +8 -0
- package/lib/components/Error.js.map +1 -0
- package/lib/components/Error.module.scss +12 -0
- package/lib/components/FieldHeader.d.ts +24 -0
- package/lib/components/FieldHeader.js.map +1 -0
- package/lib/components/FieldHeader.module.scss +20 -0
- package/lib/components/Help.d.ts +15 -0
- package/lib/components/Help.js +14 -0
- package/lib/components/Help.js.map +1 -0
- package/lib/components/Help.module.scss +9 -0
- package/lib/components/Icon.d.ts +30 -0
- package/lib/components/Icon.js +27 -0
- package/lib/components/Icon.js.map +1 -0
- package/lib/components/Icon.module.scss +33 -0
- package/lib/components/IconButton.d.ts +49 -0
- package/lib/components/IconButton.js +25 -0
- package/lib/components/IconButton.js.map +1 -0
- package/lib/components/IconButton.module.scss +59 -0
- package/lib/components/InteractiveList.d.ts +38 -0
- package/lib/components/InteractiveList.js +47 -0
- package/lib/components/InteractiveList.js.map +1 -0
- package/lib/components/InteractiveList.module.scss +72 -0
- package/lib/components/InteractiveListFormik.d.ts +22 -0
- package/lib/components/InteractiveListFormik.js +96 -0
- package/lib/components/InteractiveListFormik.js.map +1 -0
- package/lib/components/Label.d.ts +9 -0
- package/lib/components/Label.js +5 -0
- package/lib/components/Label.js.map +1 -0
- package/lib/components/Label.module.scss +12 -0
- package/lib/components/Link.d.ts +53 -0
- package/lib/components/Link.js +45 -0
- package/lib/components/Link.js.map +1 -0
- package/lib/components/Link.module.scss +64 -0
- package/lib/components/Loader.d.ts +12 -0
- package/lib/components/Loader.js +26 -0
- package/lib/components/Loader.js.map +1 -0
- package/lib/components/Loader.module.scss +74 -0
- package/lib/components/Modal.d.ts +26 -0
- package/lib/components/Modal.js +41 -0
- package/lib/components/Modal.js.map +1 -0
- package/lib/components/Modal.module.scss +109 -0
- package/lib/components/Notification.js.map +1 -0
- package/lib/components/Notification.module.scss +97 -0
- package/lib/components/NumberBadge.js.map +1 -0
- package/lib/components/NumberBadge.module.scss +13 -0
- package/lib/components/NumberField.d.ts +33 -0
- package/lib/components/NumberField.js +141 -0
- package/lib/components/NumberField.js.map +1 -0
- package/lib/components/NumberField.module.scss +76 -0
- package/lib/components/NumberFieldFormik.d.ts +10 -0
- package/lib/components/NumberFieldFormik.js +52 -0
- package/lib/components/NumberFieldFormik.js.map +1 -0
- package/lib/components/Overlay.d.ts +23 -0
- package/lib/components/Overlay.js.map +1 -0
- package/lib/components/Overlay.module.scss +108 -0
- package/lib/components/Pagination.js +106 -0
- package/lib/components/Pagination.js.map +1 -0
- package/lib/components/Pagination.module.scss +117 -0
- package/lib/components/PasswordField.d.ts +29 -0
- package/lib/components/PasswordField.js +26 -0
- package/lib/components/PasswordField.js.map +1 -0
- package/lib/components/PasswordField.module.scss +26 -0
- package/lib/components/PasswordFieldFormik.d.ts +10 -0
- package/lib/components/PasswordFieldFormik.js +17 -0
- package/lib/components/PasswordFieldFormik.js.map +1 -0
- package/lib/components/Popover.d.ts +23 -0
- package/lib/components/Popover.js +120 -0
- package/lib/components/Popover.js.map +1 -0
- package/lib/components/Popover.module.scss +12 -0
- package/lib/components/Radio.d.ts +26 -0
- package/lib/components/Radio.js +34 -0
- package/lib/components/Radio.js.map +1 -0
- package/lib/components/Radio.module.scss +112 -0
- package/lib/components/RadioFormik.js.map +1 -0
- package/lib/components/RadioGroup.d.ts +21 -0
- package/lib/components/RadioGroup.js +24 -0
- package/lib/components/RadioGroup.js.map +1 -0
- package/lib/components/RadioGroup.module.scss +21 -0
- package/lib/components/RadioGroupContext.d.ts +6 -0
- package/lib/components/RadioGroupContext.js.map +1 -0
- package/lib/components/RadioGroupFormik.d.ts +10 -0
- package/lib/components/RadioGroupFormik.js +17 -0
- package/lib/components/RadioGroupFormik.js.map +1 -0
- package/lib/components/SegmentedControl.d.ts +18 -0
- package/lib/components/SegmentedControl.js.map +1 -0
- package/lib/components/SegmentedControl.module.scss +81 -0
- package/lib/components/SegmentedControlFormik.d.ts +9 -0
- package/lib/components/SegmentedControlFormik.js +13 -0
- package/lib/components/SegmentedControlFormik.js.map +1 -0
- package/lib/components/Select/CheckableSelectField.d.ts +40 -0
- package/lib/components/Select/CheckableSelectField.js +78 -0
- package/lib/components/Select/CheckableSelectField.js.map +1 -0
- package/lib/components/Select/CheckableSelectField.module.scss +100 -0
- package/lib/components/Select/CheckableSelectFieldFormik.d.ts +10 -0
- package/lib/components/Select/CheckableSelectFieldFormik.js +19 -0
- package/lib/components/Select/CheckableSelectFieldFormik.js.map +1 -0
- package/lib/components/Select/Common.js +54 -0
- package/lib/components/Select/Common.js.map +1 -0
- package/lib/components/Select/Common.module.scss +69 -0
- package/lib/components/Select/MultiSelectField.d.ts +28 -0
- package/lib/components/Select/MultiSelectField.js +113 -0
- package/lib/components/Select/MultiSelectField.js.map +1 -0
- package/lib/components/Select/MultiSelectField.module.scss +72 -0
- package/lib/components/Select/MultiSelectFieldFormik.d.ts +11 -0
- package/lib/components/Select/MultiSelectFieldFormik.js +19 -0
- package/lib/components/Select/MultiSelectFieldFormik.js.map +1 -0
- package/lib/components/Select/SelectField.d.ts +43 -0
- package/lib/components/Select/SelectField.js +102 -0
- package/lib/components/Select/SelectField.js.map +1 -0
- package/lib/components/Select/SelectField.module.scss +194 -0
- package/lib/components/Select/SelectFieldFormik.d.ts +10 -0
- package/lib/components/Select/SelectFieldFormik.js +19 -0
- package/lib/components/Select/SelectFieldFormik.js.map +1 -0
- package/lib/components/Select/helpers.d.ts +12 -0
- package/lib/components/Select/helpers.js +29 -0
- package/lib/components/Select/helpers.js.map +1 -0
- package/lib/components/Select/index.js.map +1 -0
- package/lib/components/SimpleTable.d.ts +11 -0
- package/lib/components/SimpleTable.js.map +1 -0
- package/lib/components/SimpleTable.module.scss +28 -0
- package/lib/components/Slider.d.ts +59 -0
- package/lib/components/Slider.js +205 -0
- package/lib/components/Slider.js.map +1 -0
- package/lib/components/Slider.module.scss +277 -0
- package/lib/components/SliderFormik.d.ts +9 -0
- package/lib/components/SliderFormik.js +14 -0
- package/lib/components/SliderFormik.js.map +1 -0
- package/lib/components/Table/Cell.d.ts +27 -0
- package/lib/components/Table/Cell.js +60 -0
- package/lib/components/Table/Cell.js.map +1 -0
- package/lib/components/Table/Cell.module.scss +61 -0
- package/lib/components/Table/CellWrapper.d.ts +11 -0
- package/lib/components/Table/CellWrapper.js +29 -0
- package/lib/components/Table/CellWrapper.js.map +1 -0
- package/lib/components/Table/EnhancedRenderers.d.ts +21 -0
- package/lib/components/Table/EnhancedRenderers.js +13 -0
- package/lib/components/Table/EnhancedRenderers.js.map +1 -0
- package/lib/components/Table/Header.d.ts +25 -0
- package/lib/components/Table/Header.js +94 -0
- package/lib/components/Table/Header.js.map +1 -0
- package/lib/components/Table/Header.module.scss +128 -0
- package/lib/components/Table/Row.d.ts +19 -0
- package/lib/components/Table/Row.js +24 -0
- package/lib/components/Table/Row.js.map +1 -0
- package/lib/components/Table/Row.module.scss +59 -0
- package/lib/components/Table/Table.d.ts +85 -0
- package/lib/components/Table/Table.js +259 -0
- package/lib/components/Table/Table.js.map +1 -0
- package/lib/components/Table/Table.module.scss +31 -0
- package/lib/components/Table/TableContent.d.ts +26 -0
- package/lib/components/Table/TableContent.js +58 -0
- package/lib/components/Table/TableContent.js.map +1 -0
- package/lib/components/Table/constants.js.map +1 -0
- package/lib/components/Table/features/columnsSelection/CellCopyablePopover.d.ts +8 -0
- package/lib/components/Table/features/columnsSelection/CellCopyablePopover.js +13 -0
- package/lib/components/Table/features/columnsSelection/CellCopyablePopover.js.map +1 -0
- package/lib/components/Table/features/columnsSelection/CellCopyablePopover.module.scss +12 -0
- package/lib/components/Table/features/columnsSelection/ContextMenu/ContextMenu.d.ts +6 -0
- package/lib/components/Table/features/columnsSelection/ContextMenu/ContextMenu.js.map +1 -0
- package/lib/components/Table/features/columnsSelection/ContextMenu/index.js.map +1 -0
- package/lib/components/Table/features/columnsSelection/columnsSelection.d.ts +18 -0
- package/lib/components/Table/features/columnsSelection/columnsSelection.js +71 -0
- package/lib/components/Table/features/columnsSelection/columnsSelection.js.map +1 -0
- package/lib/components/Table/features/columnsSelection/helpers.js.map +1 -0
- package/lib/components/Table/features/columnsSelection/index.js.map +1 -0
- package/lib/components/Table/helpers.d.ts +2 -0
- package/lib/components/Table/helpers.js +10 -0
- package/lib/components/Table/helpers.js.map +1 -0
- package/lib/components/Table/tableTypes.d.ts +80 -0
- package/lib/components/Table/tableTypes.js +2 -0
- package/lib/components/Table/tableTypes.js.map +1 -0
- package/lib/components/Table/useTrackTableState.d.ts +3 -0
- package/lib/components/Table/useTrackTableState.js +30 -0
- package/lib/components/Table/useTrackTableState.js.map +1 -0
- package/lib/components/Table/utils.d.ts +16 -0
- package/lib/components/Table/utils.js +121 -0
- package/lib/components/Table/utils.js.map +1 -0
- package/lib/components/Tabs/Tab.d.ts +33 -0
- package/lib/components/Tabs/Tab.js +39 -0
- package/lib/components/Tabs/Tab.js.map +1 -0
- package/lib/components/Tabs/Tab.module.scss +58 -0
- package/lib/components/Tabs/TabContext.js.map +1 -0
- package/lib/components/Tabs/TabList.js +58 -0
- package/lib/components/Tabs/TabList.js.map +1 -0
- package/lib/components/Tabs/TabPanel.d.ts +14 -0
- package/lib/components/Tabs/TabPanel.js +17 -0
- package/lib/components/Tabs/TabPanel.js.map +1 -0
- package/lib/components/Tabs/index.js.map +1 -0
- package/lib/components/Terminal.d.ts +25 -0
- package/lib/components/Terminal.js +113 -0
- package/lib/components/Terminal.js.map +1 -0
- package/lib/components/Terminal.module.scss +109 -0
- package/lib/components/TextArea.d.ts +19 -0
- package/lib/components/TextArea.js +31 -0
- package/lib/components/TextArea.js.map +1 -0
- package/lib/components/TextArea.module.scss +144 -0
- package/lib/components/TextAreaFormik.d.ts +9 -0
- package/lib/components/TextAreaFormik.js.map +1 -0
- package/lib/components/TextField.d.ts +50 -0
- package/lib/components/TextField.js +65 -0
- package/lib/components/TextField.js.map +1 -0
- package/lib/components/TextField.module.scss +209 -0
- package/lib/components/TextFieldFormik.d.ts +11 -0
- package/lib/components/TextFieldFormik.js +23 -0
- package/lib/components/TextFieldFormik.js.map +1 -0
- package/lib/components/TimeField.d.ts +17 -0
- package/lib/components/TimeField.js +15 -0
- package/lib/components/TimeField.js.map +1 -0
- package/lib/components/TimeFieldFormik.d.ts +9 -0
- package/lib/components/TimeFieldFormik.js.map +1 -0
- package/lib/components/Toast.d.ts +29 -0
- package/lib/components/Toast.js +56 -0
- package/lib/components/Toast.js.map +1 -0
- package/lib/components/Toast.module.scss +53 -0
- package/lib/components/Toggle.d.ts +21 -0
- package/lib/components/Toggle.js +22 -0
- package/lib/components/Toggle.js.map +1 -0
- package/lib/components/Toggle.module.scss +175 -0
- package/lib/components/ToggleFormik.d.ts +9 -0
- package/lib/components/ToggleFormik.js +12 -0
- package/lib/components/ToggleFormik.js.map +1 -0
- package/lib/components/Tooltip.d.ts +42 -0
- package/lib/components/Tooltip.js +139 -0
- package/lib/components/Tooltip.js.map +1 -0
- package/lib/components/Tooltip.module.scss +175 -0
- package/lib/components/TruncatedText.d.ts +15 -0
- package/lib/components/TruncatedText.js +23 -0
- package/lib/components/TruncatedText.js.map +1 -0
- package/lib/components/TruncatedText.module.scss +9 -0
- package/lib/helpers/array.d.ts +5 -0
- package/lib/helpers/array.js +19 -0
- package/lib/helpers/array.js.map +1 -0
- package/lib/helpers/escapeHtml.d.ts +1 -0
- package/lib/helpers/escapeHtml.js +7 -0
- package/lib/helpers/escapeHtml.js.map +1 -0
- package/lib/helpers/forms.d.ts +1 -0
- package/lib/helpers/forms.js +16 -0
- package/lib/helpers/forms.js.map +1 -0
- package/lib/helpers/math.d.ts +1 -0
- package/lib/helpers/math.js +7 -0
- package/lib/helpers/math.js.map +1 -0
- package/lib/helpers/types.d.ts +35 -0
- package/lib/helpers/types.js +2 -0
- package/lib/helpers/types.js.map +1 -0
- package/lib/hooks/index.d.ts +1 -0
- package/lib/hooks/index.js +1 -0
- package/lib/hooks/index.js.map +1 -1
- package/lib/hooks/useCloseOnResize.js.map +1 -1
- package/lib/hooks/useDeepEqual.js +0 -1
- package/lib/hooks/useDeepEqual.js.map +1 -1
- package/lib/hooks/useDimensions.js.map +1 -1
- package/lib/hooks/useOnClickOutside.d.ts +1 -1
- package/lib/hooks/useOnClickOutside.js +7 -1
- package/lib/hooks/useOnClickOutside.js.map +1 -1
- package/lib/hooks/usePagination.js +1 -1
- package/lib/hooks/usePagination.js.map +1 -1
- package/lib/hooks/usePersistedState.d.ts +2 -0
- package/lib/hooks/usePersistedState.js +35 -0
- package/lib/hooks/usePersistedState.js.map +1 -0
- package/lib/hooks/useResizeAware.d.ts +3 -0
- package/lib/hooks/useResizeAware.js +25 -0
- package/lib/hooks/useResizeAware.js.map +1 -0
- package/lib/icons/Cluster.d.ts +2 -0
- package/lib/icons/Cluster.js +7 -0
- package/lib/icons/Cluster.js.map +1 -0
- package/lib/icons/Compare.d.ts +7 -0
- package/lib/icons/Compare.js +7 -0
- package/lib/icons/Compare.js.map +1 -0
- package/lib/icons/Compute.d.ts +2 -0
- package/lib/icons/Compute.js +7 -0
- package/lib/icons/Compute.js.map +1 -0
- package/lib/icons/Folder.d.ts +2 -0
- package/lib/icons/Folder.js +4 -0
- package/lib/icons/Folder.js.map +1 -0
- package/lib/icons/PlusCircle.d.ts +2 -0
- package/lib/icons/PlusCircle.js +6 -0
- package/lib/icons/PlusCircle.js.map +1 -0
- package/lib/icons/Streaming.d.ts +2 -0
- package/lib/icons/Streaming.js +8 -0
- package/lib/icons/Streaming.js.map +1 -0
- package/lib/index.d.ts +70 -53
- package/lib/index.js +73 -53
- package/lib/index.js.map +1 -1
- package/lib/services/logger.d.ts +13 -0
- package/lib/services/logger.js +84 -0
- package/lib/services/logger.js.map +1 -0
- package/lib/services/time.d.ts +7 -0
- package/lib/services/time.js +17 -0
- package/lib/services/time.js.map +1 -0
- package/lib/test-helpers/render.d.ts +10 -0
- package/lib/test-helpers/render.js +24 -0
- package/lib/test-helpers/render.js.map +1 -0
- package/lib/test-helpers/time.d.ts +1 -0
- package/lib/test-helpers/time.js +2 -0
- package/lib/test-helpers/time.js.map +1 -0
- package/lib/test-helpers/utils.d.ts +5 -0
- package/lib/test-helpers/utils.js +11 -0
- package/lib/test-helpers/utils.js.map +1 -0
- package/lib/types.d.ts +6 -0
- package/lib/types.js +2 -0
- package/lib/types.js.map +1 -0
- package/lib/utils/formik.js.map +1 -1
- package/lib/utils/portal.js.map +1 -1
- package/package.json +130 -94
- package/styles/constants/_colors.scss +36 -16
- package/styles/constants/_typography.scss +0 -7
- package/styles/helpers/_gradients.scss +39 -6
- package/styles/typography/fonts/UbuntuMono-Bold.woff2 +0 -0
- package/styles/typography/fonts/UbuntuMono-BoldItalic.woff2 +0 -0
- package/styles/typography/fonts/UbuntuMono-Italic.woff2 +0 -0
- package/styles/typography/fonts/UbuntuMono-Regular.woff2 +0 -0
- package/styles/typography/ubuntu-mono.css +31 -0
- package/lib/Alert.d.ts +0 -33
- package/lib/Alert.js +0 -51
- package/lib/Alert.js.map +0 -1
- package/lib/Alert.module.scss +0 -140
- package/lib/AppHeader/AppHeader.d.ts +0 -14
- package/lib/AppHeader/AppHeader.js +0 -15
- package/lib/AppHeader/AppHeader.js.map +0 -1
- package/lib/AppHeader/AppHeader.module.scss +0 -25
- package/lib/AppHeader/AppHeaderLogo/AppHeaderLogo.d.ts +0 -12
- package/lib/AppHeader/AppHeaderLogo/AppHeaderLogo.js +0 -7
- package/lib/AppHeader/AppHeaderLogo/AppHeaderLogo.js.map +0 -1
- package/lib/AppHeader/AppHeaderLogo/AppHeaderLogo.module.scss +0 -29
- package/lib/AppHeader/AppHeaderLogo/index.js.map +0 -1
- package/lib/AppHeader/AppHeaderMenu/AppHeaderMenu.d.ts +0 -7
- package/lib/AppHeader/AppHeaderMenu/AppHeaderMenu.js +0 -14
- package/lib/AppHeader/AppHeaderMenu/AppHeaderMenu.js.map +0 -1
- package/lib/AppHeader/AppHeaderMenu/AppHeaderMenu.module.scss +0 -11
- package/lib/AppHeader/AppHeaderMenu/index.js.map +0 -1
- package/lib/AppHeader/EnvironmentBadge/EnvironmentBadge.d.ts +0 -5
- package/lib/AppHeader/EnvironmentBadge/EnvironmentBadge.js.map +0 -1
- package/lib/AppHeader/EnvironmentBadge/EnvironmentBadge.module.scss +0 -13
- package/lib/AppHeader/EnvironmentBadge/index.js.map +0 -1
- package/lib/AppHeader/SelectCluster/SelectCluster.js.map +0 -1
- package/lib/AppHeader/SelectCluster/SelectCluster.module.scss +0 -99
- package/lib/AppHeader/SelectCluster/index.js.map +0 -1
- package/lib/AppHeader/index.js.map +0 -1
- package/lib/AppSidebar/AppSidebar.d.ts +0 -10
- package/lib/AppSidebar/AppSidebar.js +0 -31
- package/lib/AppSidebar/AppSidebar.js.map +0 -1
- package/lib/AppSidebar/AppSidebar.module.scss +0 -64
- package/lib/AppSidebar/AppSidebarFavoriteButton/AppSidebarFavoriteButton.d.ts +0 -6
- package/lib/AppSidebar/AppSidebarFavoriteButton/AppSidebarFavoriteButton.js.map +0 -1
- package/lib/AppSidebar/AppSidebarFavoriteButton/AppSidebarFavoriteButton.module.scss +0 -16
- package/lib/AppSidebar/AppSidebarFavoriteButton/index.js.map +0 -1
- package/lib/AppSidebar/AppSidebarFavorites/AppSidebarFavorites.d.ts +0 -7
- package/lib/AppSidebar/AppSidebarFavorites/AppSidebarFavorites.js.map +0 -1
- package/lib/AppSidebar/AppSidebarFavorites/AppSidebarFavorites.module.scss +0 -12
- package/lib/AppSidebar/AppSidebarFavorites/index.js.map +0 -1
- package/lib/AppSidebar/AppSidebarItem/AppSidebarItem.d.ts +0 -30
- package/lib/AppSidebar/AppSidebarItem/AppSidebarItem.js +0 -25
- package/lib/AppSidebar/AppSidebarItem/AppSidebarItem.js.map +0 -1
- package/lib/AppSidebar/AppSidebarItem/AppSidebarItem.module.scss +0 -86
- package/lib/AppSidebar/AppSidebarItem/index.js.map +0 -1
- package/lib/AppSidebar/AppSidebarMenuItemCounter/AppSidebarMenuItemCounter.d.ts +0 -6
- package/lib/AppSidebar/AppSidebarMenuItemCounter/AppSidebarMenuItemCounter.js.map +0 -1
- package/lib/AppSidebar/AppSidebarMenuItemCounter/AppSidebarMenuItemCounter.module.scss +0 -24
- package/lib/AppSidebar/AppSidebarMenuItemCounter/index.js.map +0 -1
- package/lib/AppSidebar/AppSidebarSection/AppSidebarSection.d.ts +0 -12
- package/lib/AppSidebar/AppSidebarSection/AppSidebarSection.js +0 -15
- package/lib/AppSidebar/AppSidebarSection/AppSidebarSection.js.map +0 -1
- package/lib/AppSidebar/AppSidebarSection/AppSidebarSection.module.scss +0 -55
- package/lib/AppSidebar/AppSidebarSection/AppSidebarSectionExpandable.d.ts +0 -11
- package/lib/AppSidebar/AppSidebarSection/AppSidebarSectionExpandable.js +0 -45
- package/lib/AppSidebar/AppSidebarSection/AppSidebarSectionExpandable.js.map +0 -1
- package/lib/AppSidebar/AppSidebarSection/appSidebarSectionContext.d.ts +0 -2
- package/lib/AppSidebar/AppSidebarSection/appSidebarSectionContext.js.map +0 -1
- package/lib/AppSidebar/AppSidebarSection/index.js.map +0 -1
- package/lib/AppSidebar/appSidebarContext.d.ts +0 -10
- package/lib/AppSidebar/appSidebarContext.js.map +0 -1
- package/lib/AppSidebar/index.js.map +0 -1
- package/lib/AutocompleteField.js +0 -169
- package/lib/AutocompleteField.js.map +0 -1
- package/lib/AutocompleteField.module.scss +0 -164
- package/lib/AutocompleteFieldFormik.d.ts +0 -9
- package/lib/AutocompleteFieldFormik.js +0 -19
- package/lib/AutocompleteFieldFormik.js.map +0 -1
- package/lib/Badge.js +0 -44
- package/lib/Badge.js.map +0 -1
- package/lib/Badge.module.scss +0 -55
- package/lib/Button.d.ts +0 -100
- package/lib/Button.js +0 -93
- package/lib/Button.js.map +0 -1
- package/lib/Button.module.scss +0 -328
- package/lib/Calendar/Calendar.d.ts +0 -16
- package/lib/Calendar/Calendar.js +0 -41
- package/lib/Calendar/Calendar.js.map +0 -1
- package/lib/Calendar/Calendar.module.scss +0 -185
- package/lib/Calendar/CalendarRange.js.map +0 -1
- package/lib/Calendar/CalendarRange.module.scss +0 -21
- package/lib/Calendar/components/CalendarHeader.js +0 -13
- package/lib/Calendar/components/CalendarHeader.js.map +0 -1
- package/lib/Calendar/components/CalendarInput.d.ts +0 -15
- package/lib/Calendar/components/CalendarInput.js +0 -12
- package/lib/Calendar/components/CalendarInput.js.map +0 -1
- package/lib/Calendar/components/CalendarTime.d.ts +0 -9
- package/lib/Calendar/components/CalendarTime.js +0 -69
- package/lib/Calendar/components/CalendarTime.js.map +0 -1
- package/lib/Calendar/components/CalendarTime.module.scss +0 -72
- package/lib/Calendar/helpers/consts.js.map +0 -1
- package/lib/Card.d.ts +0 -24
- package/lib/Card.js +0 -20
- package/lib/Card.js.map +0 -1
- package/lib/Card.module.scss +0 -59
- package/lib/Carousel.d.ts +0 -26
- package/lib/Carousel.js +0 -28
- package/lib/Carousel.js.map +0 -1
- package/lib/Carousel.module.scss +0 -43
- package/lib/CenteredLoader.d.ts +0 -5
- package/lib/CenteredLoader.js.map +0 -1
- package/lib/CenteredLoader.module.scss +0 -11
- package/lib/Checkbox.d.ts +0 -35
- package/lib/Checkbox.js +0 -38
- package/lib/Checkbox.js.map +0 -1
- package/lib/Checkbox.module.scss +0 -106
- package/lib/CheckboxFormik.d.ts +0 -10
- package/lib/CheckboxFormik.js +0 -17
- package/lib/CheckboxFormik.js.map +0 -1
- package/lib/CircularProgressBar.js.map +0 -1
- package/lib/CircularProgressBar.module.scss +0 -37
- package/lib/ContextMenu.js +0 -61
- package/lib/ContextMenu.js.map +0 -1
- package/lib/ContextMenu.module.scss +0 -37
- package/lib/Dialog.js +0 -36
- package/lib/Dialog.js.map +0 -1
- package/lib/Dialog.module.scss +0 -62
- package/lib/EmptyState.d.ts +0 -52
- package/lib/EmptyState.js.map +0 -1
- package/lib/EmptyState.module.scss +0 -87
- package/lib/Error.d.ts +0 -12
- package/lib/Error.js +0 -8
- package/lib/Error.js.map +0 -1
- package/lib/Error.module.scss +0 -12
- package/lib/FieldHeader.d.ts +0 -24
- package/lib/FieldHeader.js.map +0 -1
- package/lib/FieldHeader.module.scss +0 -20
- package/lib/Help.d.ts +0 -14
- package/lib/Help.js +0 -14
- package/lib/Help.js.map +0 -1
- package/lib/Help.module.scss +0 -9
- package/lib/Icon.d.ts +0 -29
- package/lib/Icon.js +0 -27
- package/lib/Icon.js.map +0 -1
- package/lib/Icon.module.scss +0 -33
- package/lib/IconButton.d.ts +0 -49
- package/lib/IconButton.js +0 -25
- package/lib/IconButton.js.map +0 -1
- package/lib/IconButton.module.scss +0 -59
- package/lib/InteractiveList.d.ts +0 -38
- package/lib/InteractiveList.js +0 -49
- package/lib/InteractiveList.js.map +0 -1
- package/lib/InteractiveList.module.scss +0 -72
- package/lib/InteractiveListFormik.d.ts +0 -22
- package/lib/InteractiveListFormik.js +0 -96
- package/lib/InteractiveListFormik.js.map +0 -1
- package/lib/Label.d.ts +0 -8
- package/lib/Label.js +0 -5
- package/lib/Label.js.map +0 -1
- package/lib/Label.module.scss +0 -12
- package/lib/Link.d.ts +0 -53
- package/lib/Link.js +0 -44
- package/lib/Link.js.map +0 -1
- package/lib/Link.module.scss +0 -63
- package/lib/Loader.d.ts +0 -11
- package/lib/Loader.js +0 -26
- package/lib/Loader.js.map +0 -1
- package/lib/Loader.module.scss +0 -74
- package/lib/Modal.d.ts +0 -26
- package/lib/Modal.js +0 -41
- package/lib/Modal.js.map +0 -1
- package/lib/Modal.module.scss +0 -108
- package/lib/Notification.js.map +0 -1
- package/lib/Notification.module.scss +0 -97
- package/lib/NumberBadge.js.map +0 -1
- package/lib/NumberBadge.module.scss +0 -13
- package/lib/NumberField.d.ts +0 -33
- package/lib/NumberField.js +0 -143
- package/lib/NumberField.js.map +0 -1
- package/lib/NumberField.module.scss +0 -76
- package/lib/NumberFieldFormik.d.ts +0 -10
- package/lib/NumberFieldFormik.js +0 -54
- package/lib/NumberFieldFormik.js.map +0 -1
- package/lib/Overlay.d.ts +0 -23
- package/lib/Overlay.js.map +0 -1
- package/lib/Overlay.module.scss +0 -107
- package/lib/Pagination.js +0 -106
- package/lib/Pagination.js.map +0 -1
- package/lib/Pagination.module.scss +0 -117
- package/lib/PasswordField.d.ts +0 -29
- package/lib/PasswordField.js +0 -26
- package/lib/PasswordField.js.map +0 -1
- package/lib/PasswordField.module.scss +0 -26
- package/lib/PasswordFieldFormik.d.ts +0 -10
- package/lib/PasswordFieldFormik.js +0 -17
- package/lib/PasswordFieldFormik.js.map +0 -1
- package/lib/Popover.d.ts +0 -23
- package/lib/Popover.js +0 -93
- package/lib/Popover.js.map +0 -1
- package/lib/Popover.module.scss +0 -12
- package/lib/Radio.d.ts +0 -26
- package/lib/Radio.js +0 -34
- package/lib/Radio.js.map +0 -1
- package/lib/Radio.module.scss +0 -112
- package/lib/RadioFormik.js.map +0 -1
- package/lib/RadioGroup.d.ts +0 -21
- package/lib/RadioGroup.js +0 -24
- package/lib/RadioGroup.js.map +0 -1
- package/lib/RadioGroup.module.scss +0 -21
- package/lib/RadioGroupContext.d.ts +0 -6
- package/lib/RadioGroupContext.js.map +0 -1
- package/lib/RadioGroupFormik.d.ts +0 -10
- package/lib/RadioGroupFormik.js +0 -17
- package/lib/RadioGroupFormik.js.map +0 -1
- package/lib/SegmentedControl.d.ts +0 -18
- package/lib/SegmentedControl.js.map +0 -1
- package/lib/SegmentedControl.module.scss +0 -81
- package/lib/SegmentedControlFormik.d.ts +0 -9
- package/lib/SegmentedControlFormik.js +0 -13
- package/lib/SegmentedControlFormik.js.map +0 -1
- package/lib/Select/CheckableSelectField.d.ts +0 -40
- package/lib/Select/CheckableSelectField.js +0 -78
- package/lib/Select/CheckableSelectField.js.map +0 -1
- package/lib/Select/CheckableSelectField.module.scss +0 -100
- package/lib/Select/CheckableSelectFieldFormik.d.ts +0 -10
- package/lib/Select/CheckableSelectFieldFormik.js +0 -19
- package/lib/Select/CheckableSelectFieldFormik.js.map +0 -1
- package/lib/Select/Common.js +0 -57
- package/lib/Select/Common.js.map +0 -1
- package/lib/Select/Common.module.scss +0 -69
- package/lib/Select/MultiSelectField.d.ts +0 -28
- package/lib/Select/MultiSelectField.js +0 -111
- package/lib/Select/MultiSelectField.js.map +0 -1
- package/lib/Select/MultiSelectField.module.scss +0 -72
- package/lib/Select/MultiSelectFieldFormik.d.ts +0 -10
- package/lib/Select/MultiSelectFieldFormik.js +0 -19
- package/lib/Select/MultiSelectFieldFormik.js.map +0 -1
- package/lib/Select/SelectField.d.ts +0 -43
- package/lib/Select/SelectField.js +0 -98
- package/lib/Select/SelectField.js.map +0 -1
- package/lib/Select/SelectField.module.scss +0 -194
- package/lib/Select/SelectFieldFormik.d.ts +0 -10
- package/lib/Select/SelectFieldFormik.js +0 -19
- package/lib/Select/SelectFieldFormik.js.map +0 -1
- package/lib/Select/helpers.d.ts +0 -12
- package/lib/Select/helpers.js +0 -29
- package/lib/Select/helpers.js.map +0 -1
- package/lib/Select/index.js.map +0 -1
- package/lib/SimpleTable.d.ts +0 -11
- package/lib/SimpleTable.js.map +0 -1
- package/lib/SimpleTable.module.scss +0 -28
- package/lib/Slider.d.ts +0 -59
- package/lib/Slider.js +0 -205
- package/lib/Slider.js.map +0 -1
- package/lib/Slider.module.scss +0 -277
- package/lib/SliderFormik.d.ts +0 -9
- package/lib/SliderFormik.js +0 -14
- package/lib/SliderFormik.js.map +0 -1
- package/lib/Table/Cell.d.ts +0 -25
- package/lib/Table/Cell.js +0 -59
- package/lib/Table/Cell.js.map +0 -1
- package/lib/Table/Cell.module.scss +0 -52
- package/lib/Table/CellWrapper.d.ts +0 -11
- package/lib/Table/CellWrapper.js +0 -29
- package/lib/Table/CellWrapper.js.map +0 -1
- package/lib/Table/EnhancedRenderers.d.ts +0 -23
- package/lib/Table/EnhancedRenderers.js +0 -16
- package/lib/Table/EnhancedRenderers.js.map +0 -1
- package/lib/Table/Header.d.ts +0 -21
- package/lib/Table/Header.js +0 -83
- package/lib/Table/Header.js.map +0 -1
- package/lib/Table/Header.module.scss +0 -123
- package/lib/Table/Row.d.ts +0 -17
- package/lib/Table/Row.js +0 -25
- package/lib/Table/Row.js.map +0 -1
- package/lib/Table/Row.module.scss +0 -56
- package/lib/Table/Table.d.ts +0 -100
- package/lib/Table/Table.js +0 -261
- package/lib/Table/Table.js.map +0 -1
- package/lib/Table/Table.module.scss +0 -25
- package/lib/Table/TableContent.d.ts +0 -26
- package/lib/Table/TableContent.js +0 -53
- package/lib/Table/TableContent.js.map +0 -1
- package/lib/Table/constants.js.map +0 -1
- package/lib/Table/features/columnsSelection/CellCopyablePopover.d.ts +0 -8
- package/lib/Table/features/columnsSelection/CellCopyablePopover.js +0 -13
- package/lib/Table/features/columnsSelection/CellCopyablePopover.js.map +0 -1
- package/lib/Table/features/columnsSelection/CellCopyablePopover.module.scss +0 -12
- package/lib/Table/features/columnsSelection/ContextMenu/ContextMenu.d.ts +0 -6
- package/lib/Table/features/columnsSelection/ContextMenu/ContextMenu.js.map +0 -1
- package/lib/Table/features/columnsSelection/ContextMenu/index.js.map +0 -1
- package/lib/Table/features/columnsSelection/columnsSelection.d.ts +0 -19
- package/lib/Table/features/columnsSelection/columnsSelection.js +0 -71
- package/lib/Table/features/columnsSelection/columnsSelection.js.map +0 -1
- package/lib/Table/features/columnsSelection/helpers.js.map +0 -1
- package/lib/Table/features/columnsSelection/index.js.map +0 -1
- package/lib/Tabs/Tab.d.ts +0 -51
- package/lib/Tabs/Tab.js +0 -53
- package/lib/Tabs/Tab.js.map +0 -1
- package/lib/Tabs/Tab.module.scss +0 -62
- package/lib/Tabs/TabContext.js.map +0 -1
- package/lib/Tabs/TabList.js +0 -60
- package/lib/Tabs/TabList.js.map +0 -1
- package/lib/Tabs/TabPanel.d.ts +0 -13
- package/lib/Tabs/TabPanel.js +0 -17
- package/lib/Tabs/TabPanel.js.map +0 -1
- package/lib/Tabs/index.js.map +0 -1
- package/lib/Terminal.d.ts +0 -25
- package/lib/Terminal.js +0 -114
- package/lib/Terminal.js.map +0 -1
- package/lib/Terminal.module.scss +0 -109
- package/lib/TextArea.d.ts +0 -19
- package/lib/TextArea.js +0 -35
- package/lib/TextArea.js.map +0 -1
- package/lib/TextArea.module.scss +0 -144
- package/lib/TextAreaFormik.d.ts +0 -9
- package/lib/TextAreaFormik.js.map +0 -1
- package/lib/TextField.d.ts +0 -49
- package/lib/TextField.js +0 -65
- package/lib/TextField.js.map +0 -1
- package/lib/TextField.module.scss +0 -209
- package/lib/TextFieldFormik.d.ts +0 -11
- package/lib/TextFieldFormik.js +0 -23
- package/lib/TextFieldFormik.js.map +0 -1
- package/lib/TimeField.d.ts +0 -17
- package/lib/TimeField.js +0 -15
- package/lib/TimeField.js.map +0 -1
- package/lib/TimeFieldFormik.d.ts +0 -9
- package/lib/TimeFieldFormik.js.map +0 -1
- package/lib/Toast.d.ts +0 -28
- package/lib/Toast.js +0 -56
- package/lib/Toast.js.map +0 -1
- package/lib/Toast.module.scss +0 -53
- package/lib/Toggle.d.ts +0 -21
- package/lib/Toggle.js +0 -22
- package/lib/Toggle.js.map +0 -1
- package/lib/Toggle.module.scss +0 -175
- package/lib/ToggleFormik.d.ts +0 -9
- package/lib/ToggleFormik.js +0 -12
- package/lib/ToggleFormik.js.map +0 -1
- package/lib/Tooltip.d.ts +0 -41
- package/lib/Tooltip.js +0 -140
- package/lib/Tooltip.js.map +0 -1
- package/lib/Tooltip.module.scss +0 -167
- package/lib/TruncatedText.d.ts +0 -13
- package/lib/TruncatedText.js +0 -23
- package/lib/TruncatedText.js.map +0 -1
- package/lib/TruncatedText.module.scss +0 -9
- package/lib/utils/test.d.ts +0 -3
- package/lib/utils/test.js +0 -8
- package/lib/utils/test.js.map +0 -1
- /package/lib/{AppHeader → components/AppHeader}/AppHeaderLogo/index.d.ts +0 -0
- /package/lib/{AppHeader → components/AppHeader}/AppHeaderLogo/index.js +0 -0
- /package/lib/{AppHeader → components/AppHeader}/AppHeaderMenu/index.d.ts +0 -0
- /package/lib/{AppHeader → components/AppHeader}/AppHeaderMenu/index.js +0 -0
- /package/lib/{AppHeader → components/AppHeader}/EnvironmentBadge/EnvironmentBadge.js +0 -0
- /package/lib/{AppHeader → components/AppHeader}/EnvironmentBadge/index.d.ts +0 -0
- /package/lib/{AppHeader → components/AppHeader}/EnvironmentBadge/index.js +0 -0
- /package/lib/{AppHeader → components/AppHeader}/SelectCluster/SelectCluster.d.ts +0 -0
- /package/lib/{AppHeader → components/AppHeader}/SelectCluster/SelectCluster.js +0 -0
- /package/lib/{AppHeader → components/AppHeader}/SelectCluster/index.d.ts +0 -0
- /package/lib/{AppHeader → components/AppHeader}/SelectCluster/index.js +0 -0
- /package/lib/{AppHeader → components/AppHeader}/index.d.ts +0 -0
- /package/lib/{AppHeader → components/AppHeader}/index.js +0 -0
- /package/lib/{AppSidebar → components/AppSidebar}/AppSidebarFavoriteButton/AppSidebarFavoriteButton.js +0 -0
- /package/lib/{AppSidebar → components/AppSidebar}/AppSidebarFavoriteButton/index.d.ts +0 -0
- /package/lib/{AppSidebar → components/AppSidebar}/AppSidebarFavoriteButton/index.js +0 -0
- /package/lib/{AppSidebar → components/AppSidebar}/AppSidebarFavorites/AppSidebarFavorites.js +0 -0
- /package/lib/{AppSidebar → components/AppSidebar}/AppSidebarFavorites/index.d.ts +0 -0
- /package/lib/{AppSidebar → components/AppSidebar}/AppSidebarFavorites/index.js +0 -0
- /package/lib/{AppSidebar → components/AppSidebar}/AppSidebarItem/index.d.ts +0 -0
- /package/lib/{AppSidebar → components/AppSidebar}/AppSidebarItem/index.js +0 -0
- /package/lib/{AppSidebar → components/AppSidebar}/AppSidebarMenuItemCounter/AppSidebarMenuItemCounter.js +0 -0
- /package/lib/{AppSidebar → components/AppSidebar}/AppSidebarMenuItemCounter/index.d.ts +0 -0
- /package/lib/{AppSidebar → components/AppSidebar}/AppSidebarMenuItemCounter/index.js +0 -0
- /package/lib/{AppSidebar → components/AppSidebar}/AppSidebarSection/appSidebarSectionContext.js +0 -0
- /package/lib/{AppSidebar → components/AppSidebar}/AppSidebarSection/index.d.ts +0 -0
- /package/lib/{AppSidebar → components/AppSidebar}/AppSidebarSection/index.js +0 -0
- /package/lib/{AppSidebar → components/AppSidebar}/appSidebarContext.js +0 -0
- /package/lib/{AppSidebar → components/AppSidebar}/index.d.ts +0 -0
- /package/lib/{AppSidebar → components/AppSidebar}/index.js +0 -0
- /package/lib/{AutocompleteField.d.ts → components/AutocompleteField.d.ts} +0 -0
- /package/lib/{Badge.d.ts → components/Badge.d.ts} +0 -0
- /package/lib/{Calendar → components/Calendar}/CalendarRange.d.ts +0 -0
- /package/lib/{Calendar → components/Calendar}/CalendarRange.js +0 -0
- /package/lib/{Calendar → components/Calendar}/components/CalendarHeader.d.ts +0 -0
- /package/lib/{Calendar → components/Calendar}/helpers/consts.d.ts +0 -0
- /package/lib/{Calendar → components/Calendar}/helpers/consts.js +0 -0
- /package/lib/{CenteredLoader.js → components/CenteredLoader.js} +0 -0
- /package/lib/{CircularProgressBar.d.ts → components/CircularProgressBar.d.ts} +0 -0
- /package/lib/{CircularProgressBar.js → components/CircularProgressBar.js} +0 -0
- /package/lib/{ContextMenu.d.ts → components/ContextMenu.d.ts} +0 -0
- /package/lib/{Dialog.d.ts → components/Dialog.d.ts} +0 -0
- /package/lib/{EmptyState.js → components/EmptyState.js} +0 -0
- /package/lib/{FieldHeader.js → components/FieldHeader.js} +0 -0
- /package/lib/{Notification.d.ts → components/Notification.d.ts} +0 -0
- /package/lib/{Notification.js → components/Notification.js} +0 -0
- /package/lib/{NumberBadge.d.ts → components/NumberBadge.d.ts} +0 -0
- /package/lib/{NumberBadge.js → components/NumberBadge.js} +0 -0
- /package/lib/{Overlay.js → components/Overlay.js} +0 -0
- /package/lib/{Pagination.d.ts → components/Pagination.d.ts} +0 -0
- /package/lib/{RadioFormik.d.ts → components/RadioFormik.d.ts} +0 -0
- /package/lib/{RadioFormik.js → components/RadioFormik.js} +0 -0
- /package/lib/{RadioGroupContext.js → components/RadioGroupContext.js} +0 -0
- /package/lib/{SegmentedControl.js → components/SegmentedControl.js} +0 -0
- /package/lib/{Select → components/Select}/Common.d.ts +0 -0
- /package/lib/{Select → components/Select}/index.d.ts +0 -0
- /package/lib/{Select → components/Select}/index.js +0 -0
- /package/lib/{SimpleTable.js → components/SimpleTable.js} +0 -0
- /package/lib/{Table → components/Table}/TableContent.module.scss +0 -0
- /package/lib/{Table → components/Table}/constants.d.ts +0 -0
- /package/lib/{Table → components/Table}/constants.js +0 -0
- /package/lib/{Table → components/Table}/features/columnsSelection/ContextMenu/ContextMenu.js +0 -0
- /package/lib/{Table → components/Table}/features/columnsSelection/ContextMenu/ContextMenu.module.scss +0 -0
- /package/lib/{Table → components/Table}/features/columnsSelection/ContextMenu/index.d.ts +0 -0
- /package/lib/{Table → components/Table}/features/columnsSelection/ContextMenu/index.js +0 -0
- /package/lib/{Table → components/Table}/features/columnsSelection/helpers.d.ts +0 -0
- /package/lib/{Table → components/Table}/features/columnsSelection/helpers.js +0 -0
- /package/lib/{Table → components/Table}/features/columnsSelection/index.d.ts +0 -0
- /package/lib/{Table → components/Table}/features/columnsSelection/index.js +0 -0
- /package/lib/{Tabs → components/Tabs}/TabContext.d.ts +0 -0
- /package/lib/{Tabs → components/Tabs}/TabContext.js +0 -0
- /package/lib/{Tabs → components/Tabs}/TabList.d.ts +0 -0
- /package/lib/{Tabs → components/Tabs}/TabList.module.scss +0 -0
- /package/lib/{Tabs → components/Tabs}/TabPanel.module.scss +0 -0
- /package/lib/{Tabs → components/Tabs}/index.d.ts +0 -0
- /package/lib/{Tabs → components/Tabs}/index.js +0 -0
- /package/lib/{TextAreaFormik.js → components/TextAreaFormik.js} +0 -0
- /package/lib/{TimeField.module.scss → components/TimeField.module.scss} +0 -0
- /package/lib/{TimeFieldFormik.js → components/TimeFieldFormik.js} +0 -0
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import React, { AnchorHTMLAttributes, FC, LegacyRef, MutableRefObject, ReactNode } from 'react';
|
|
2
|
+
import { Row as TableRow, ColumnSizingState } from '@tanstack/react-table';
|
|
3
|
+
import { CellProps } from './Cell';
|
|
4
|
+
import { CellType, RowData, RowType } from './tableTypes';
|
|
5
|
+
import { RowProps } from './Row';
|
|
6
|
+
import { useColumnsSelection } from './features/columnsSelection';
|
|
7
|
+
export type TableContentProps<D extends RowData> = {
|
|
8
|
+
loading?: boolean;
|
|
9
|
+
page: TableRow<D>[];
|
|
10
|
+
className?: string;
|
|
11
|
+
rootRef?: LegacyRef<HTMLDivElement>;
|
|
12
|
+
cellIndexOffset: number;
|
|
13
|
+
overlayLoading?: boolean;
|
|
14
|
+
onEndSelection: () => void;
|
|
15
|
+
onCopy?: (value: string[][]) => void;
|
|
16
|
+
onRowClick?: (row: RowType<D>) => void;
|
|
17
|
+
totalSize: number;
|
|
18
|
+
selectionStartedRef: MutableRefObject<boolean>;
|
|
19
|
+
getHref?: (row: RowType<D>) => string | undefined;
|
|
20
|
+
getCustomRowProps?: (row: RowType<D>) => RowProps;
|
|
21
|
+
getCustomCellProps?: (cellInfo: CellType<D>) => CellProps;
|
|
22
|
+
renderRowSubComponent?: (props: RowType<D>) => ReactNode;
|
|
23
|
+
columnResizing: ColumnSizingState;
|
|
24
|
+
AnchorComponent?: FC<AnchorHTMLAttributes<HTMLAnchorElement>>;
|
|
25
|
+
} & ReturnType<typeof useColumnsSelection>;
|
|
26
|
+
export declare const TableContent: <D extends RowData>(props: TableContentProps<D>) => React.JSX.Element;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import cn from 'classnames';
|
|
2
|
+
import HotKeys from 'react-hot-keys';
|
|
3
|
+
import React, { useCallback } from 'react';
|
|
4
|
+
import { Loader } from '../Loader';
|
|
5
|
+
import { getCellStyle, getRowStyle, prepareCell, prepareRow } from './utils';
|
|
6
|
+
import { CellWrapper } from './CellWrapper';
|
|
7
|
+
import { LinkRow, Row } from './Row';
|
|
8
|
+
import { isCellSelected } from './features/columnsSelection';
|
|
9
|
+
import styles from './TableContent.module.scss';
|
|
10
|
+
export const TableContent = (props) => {
|
|
11
|
+
const { rootRef, page, onCopy, getHref, loading, className, totalSize, onRowClick, overlayLoading, onEndSelection, AnchorComponent, cellIndexOffset, selectedColumns, onClickSelection, getCustomRowProps, getCustomCellProps, selectionStartedRef, renderRowSubComponent, onMouseEnterSelection, selectedColumnValuesRef, } = props;
|
|
12
|
+
const handleOnContextMenu = useCallback((e) => {
|
|
13
|
+
// disable table custom context menu
|
|
14
|
+
e.stopPropagation();
|
|
15
|
+
}, []);
|
|
16
|
+
return (React.createElement("div", { ref: rootRef, "data-test": "table-content", className: cn(styles.content, className), onMouseDown: () => {
|
|
17
|
+
selectionStartedRef.current = true;
|
|
18
|
+
document.body.addEventListener('mouseup', onEndSelection);
|
|
19
|
+
document.body.addEventListener('contextmenu', onEndSelection);
|
|
20
|
+
} },
|
|
21
|
+
page.map((row, rowIndex) => {
|
|
22
|
+
const { id: rowKey, ...restRowProps } = row;
|
|
23
|
+
const cells = row.getVisibleCells().map((cell, i) => {
|
|
24
|
+
var _a;
|
|
25
|
+
const { id: cellKey, ...restCellProps } = cell;
|
|
26
|
+
const cellId = `${rowIndex}:${i}`;
|
|
27
|
+
const selected = isCellSelected(cellId, selectedColumns);
|
|
28
|
+
const { style: cellStyle = {}, ...customProps } = getCustomCellProps ? getCustomCellProps(prepareCell(cell)) : {};
|
|
29
|
+
return (React.createElement(CellWrapper, { cell: cell, style: {
|
|
30
|
+
...cellStyle,
|
|
31
|
+
...getCellStyle({
|
|
32
|
+
size: restCellProps.column.getSize(),
|
|
33
|
+
minSize: restCellProps.column.columnDef.minSize || restCellProps.column.getSize(),
|
|
34
|
+
}),
|
|
35
|
+
}, role: "cell", key: cellKey, cellId: cellId, selected: selected, selectable: !!onCopy, onClickSelection: onClickSelection, align: (_a = cell.column.columnDef.meta) === null || _a === void 0 ? void 0 : _a.align, selectionStartedRef: selectionStartedRef, onMouseEnterSelection: onMouseEnterSelection, selectedColumnValuesRef: selectedColumnValuesRef, ...customProps }));
|
|
36
|
+
});
|
|
37
|
+
const expandedRow = row.getIsExpanded() && renderRowSubComponent ? (React.createElement(HotKeys, { disabled: true },
|
|
38
|
+
React.createElement("div", { tabIndex: -1, className: styles.subRowWrapper, onContextMenu: handleOnContextMenu }, renderRowSubComponent(prepareRow(row))))) : null;
|
|
39
|
+
if (getHref) {
|
|
40
|
+
const href = getHref(prepareRow(row));
|
|
41
|
+
if (href) {
|
|
42
|
+
return (React.createElement(React.Fragment, { key: rowKey },
|
|
43
|
+
React.createElement(LinkRow, { role: "row", AnchorComponent: AnchorComponent, ...restRowProps, ariaRowIndex: row.index + 1 + cellIndexOffset, href: href }, cells),
|
|
44
|
+
expandedRow));
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return (React.createElement(React.Fragment, { key: rowKey },
|
|
48
|
+
React.createElement(Row, { role: "row", ...restRowProps, style: getRowStyle({ totalSize }), ...(getCustomRowProps ? getCustomRowProps(prepareRow(row)) : {}), ariaRowIndex: row.index + 1 + cellIndexOffset, onClick: onRowClick
|
|
49
|
+
? () => {
|
|
50
|
+
onRowClick(prepareRow(row));
|
|
51
|
+
}
|
|
52
|
+
: undefined }, cells),
|
|
53
|
+
expandedRow));
|
|
54
|
+
}),
|
|
55
|
+
overlayLoading && loading && (React.createElement("div", { className: styles.overlayLoading },
|
|
56
|
+
React.createElement(Loader, null)))));
|
|
57
|
+
};
|
|
58
|
+
//# sourceMappingURL=TableContent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableContent.js","sourceRoot":"","sources":["../../../src/components/Table/TableContent.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/components/Table/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,sBAAsB,GAAG,cAAc,CAAA;AACpD,MAAM,CAAC,MAAM,sBAAsB,GAAG,cAAc,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React, { PropsWithChildren } from 'react';
|
|
2
|
+
export interface CellCopyablePopover {
|
|
3
|
+
isOpen: boolean;
|
|
4
|
+
onClose: () => void;
|
|
5
|
+
contentClassName?: string;
|
|
6
|
+
anchorElement?: HTMLElement | null;
|
|
7
|
+
}
|
|
8
|
+
export declare const CellCopyablePopover: ({ children, contentClassName, anchorElement, isOpen, onClose, }: PropsWithChildren<CellCopyablePopover>) => React.JSX.Element;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React, { useEffect } from 'react';
|
|
2
|
+
import cls from 'classnames';
|
|
3
|
+
import { Popover } from '../../../Popover';
|
|
4
|
+
import styles from './CellCopyablePopover.module.scss';
|
|
5
|
+
export const CellCopyablePopover = ({ children, contentClassName, anchorElement, isOpen, onClose, }) => {
|
|
6
|
+
var _a;
|
|
7
|
+
useEffect(() => {
|
|
8
|
+
return () => onClose();
|
|
9
|
+
}, [onClose]);
|
|
10
|
+
return (React.createElement(Popover, { open: isOpen, onClose: onClose, anchorElement: anchorElement, placement: "top-start", className: styles.root, "data-test": "cell-copyable-popover", offset: { y: -((_a = anchorElement === null || anchorElement === void 0 ? void 0 : anchorElement.offsetHeight) !== null && _a !== void 0 ? _a : 0) } },
|
|
11
|
+
React.createElement("div", { className: cls(styles.content, contentClassName), onDoubleClick: onClose, style: { minHeight: anchorElement === null || anchorElement === void 0 ? void 0 : anchorElement.offsetHeight, minWidth: anchorElement === null || anchorElement === void 0 ? void 0 : anchorElement.offsetWidth } }, children)));
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=CellCopyablePopover.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CellCopyablePopover.js","sourceRoot":"","sources":["../../../../../src/components/Table/features/columnsSelection/CellCopyablePopover.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAqB,SAAS,EAAE,MAAM,OAAO,CAAA;AAC3D,OAAO,GAAG,MAAM,YAAY,CAAA;AAE5B,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAE1C,OAAO,MAAM,MAAM,mCAAmC,CAAA;AAStD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,EAClC,QAAQ,EACR,gBAAgB,EAChB,aAAa,EACb,MAAM,EACN,OAAO,GACgC,EAAE,EAAE;;IAC3C,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,GAAG,EAAE,CAAC,OAAO,EAAE,CAAA;IACxB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;IAEb,OAAO,CACL,oBAAC,OAAO,IACN,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,EAChB,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAC,WAAW,EACrB,SAAS,EAAE,MAAM,CAAC,IAAI,eACZ,uBAAuB,EACjC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,YAAY,mCAAI,CAAC,CAAC,EAAE;QAElD,6BACE,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,gBAAgB,CAAC,EAChD,aAAa,EAAE,OAAO,EACtB,KAAK,EAAE,EAAE,SAAS,EAAE,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,WAAW,EAAE,IAEtF,QAAQ,CACL,CACE,CACX,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContextMenu.js","sourceRoot":"","sources":["../../../../../../src/components/Table/features/columnsSelection/ContextMenu/ContextMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AAEpC,OAAO,EAAmB,WAAW,IAAI,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAE7F,OAAO,MAAM,MAAM,2BAA2B,CAAA;AAO9C,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAAE,aAAa,EAAE,MAAM,EAAoB,EAAE,EAAE;IACzE,MAAM,KAAK,GAAG,OAAO,CACnB,GAAG,EAAE,CAAC;QACJ;YACE,OAAO,EAAE,CACP;;gBACO,oBAAC,IAAI,OAAG,CACZ,CACJ;YACD,SAAS,EAAE,MAAM,CAAC,IAAI;YACtB,OAAO,EAAE,MAAM;SAChB;KACF,EACD,CAAC,MAAM,CAAC,CACT,CAAA;IACD,OAAO,oBAAC,mBAAmB,IAAC,aAAa,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,GAAI,CAAA;AAC5E,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/components/Table/features/columnsSelection/ContextMenu/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { SelectedColumnsState } from './helpers';
|
|
2
|
+
export type ColumnsSelectionProps = {
|
|
3
|
+
rowsPerPage: number;
|
|
4
|
+
columnsPerRow: number;
|
|
5
|
+
};
|
|
6
|
+
export declare const useColumnsSelection: (props: ColumnsSelectionProps) => {
|
|
7
|
+
onEndSelection: () => void;
|
|
8
|
+
selectedColumns: SelectedColumnsState;
|
|
9
|
+
onClickSelection: (id: string, modifiers: {
|
|
10
|
+
ctrl: boolean;
|
|
11
|
+
shift: boolean;
|
|
12
|
+
}) => void;
|
|
13
|
+
setSelectedColumns: import("react").Dispatch<import("react").SetStateAction<SelectedColumnsState>>;
|
|
14
|
+
getSelectedColumns: () => SelectedColumnsState;
|
|
15
|
+
selectionStartedRef: import("react").MutableRefObject<boolean>;
|
|
16
|
+
onMouseEnterSelection: (id: string) => void;
|
|
17
|
+
selectedColumnValuesRef: import("react").MutableRefObject<(string | undefined)[][]>;
|
|
18
|
+
};
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { useCallback, useRef, useState } from 'react';
|
|
2
|
+
import { useRefValue } from '../../../../hooks';
|
|
3
|
+
const initialSelectedColumnsState = {
|
|
4
|
+
columns: new Set(),
|
|
5
|
+
range: [undefined, undefined],
|
|
6
|
+
};
|
|
7
|
+
export const useColumnsSelection = (props) => {
|
|
8
|
+
const { columnsPerRow, rowsPerPage } = props;
|
|
9
|
+
const [selectedColumns, setSelectedColumns] = useState(initialSelectedColumnsState);
|
|
10
|
+
const selectionStartedRef = useRef(false);
|
|
11
|
+
const selectedColumnValuesRef = useRef([]);
|
|
12
|
+
const getColumnsPerRow = useRefValue(columnsPerRow);
|
|
13
|
+
const getRowsPerPage = useRefValue(rowsPerPage);
|
|
14
|
+
const getSelectedColumns = useRefValue(selectedColumns);
|
|
15
|
+
const clearSelectedColumnsValue = useCallback(() => {
|
|
16
|
+
selectedColumnValuesRef.current = Array.from(Array(getRowsPerPage()), () => new Array(getColumnsPerRow()));
|
|
17
|
+
}, [selectedColumnValuesRef, getRowsPerPage, getColumnsPerRow]);
|
|
18
|
+
const onEndSelection = useCallback(() => {
|
|
19
|
+
document.body.removeEventListener('mouseup', onEndSelection);
|
|
20
|
+
document.body.removeEventListener('contextmenu', onEndSelection);
|
|
21
|
+
selectionStartedRef.current = false;
|
|
22
|
+
}, []);
|
|
23
|
+
const onClickSelection = useCallback((id, modifiers) => {
|
|
24
|
+
setSelectedColumns((currentValue) => {
|
|
25
|
+
if (modifiers.ctrl) {
|
|
26
|
+
return {
|
|
27
|
+
...currentValue,
|
|
28
|
+
columns: new Set(currentValue.columns.add(id)),
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
if (modifiers.shift && currentValue.columns.size === 1) {
|
|
32
|
+
const firstItem = currentValue.columns.values().next();
|
|
33
|
+
return {
|
|
34
|
+
columns: new Set(),
|
|
35
|
+
range: [firstItem.value, id],
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
clearSelectedColumnsValue();
|
|
39
|
+
return {
|
|
40
|
+
range: [undefined, undefined],
|
|
41
|
+
columns: new Set([id]),
|
|
42
|
+
};
|
|
43
|
+
});
|
|
44
|
+
}, [clearSelectedColumnsValue]);
|
|
45
|
+
const onMouseEnterSelection = useCallback((id) => {
|
|
46
|
+
setSelectedColumns((currentValue) => {
|
|
47
|
+
if (currentValue.columns.size === 1 && currentValue.range[0] === undefined) {
|
|
48
|
+
const firstItem = currentValue.columns.values().next();
|
|
49
|
+
return {
|
|
50
|
+
columns: new Set(),
|
|
51
|
+
range: [firstItem.value, id],
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
return {
|
|
55
|
+
...currentValue,
|
|
56
|
+
range: [currentValue.range[0], id],
|
|
57
|
+
};
|
|
58
|
+
});
|
|
59
|
+
}, []);
|
|
60
|
+
return {
|
|
61
|
+
onEndSelection,
|
|
62
|
+
selectedColumns,
|
|
63
|
+
onClickSelection,
|
|
64
|
+
setSelectedColumns,
|
|
65
|
+
getSelectedColumns,
|
|
66
|
+
selectionStartedRef,
|
|
67
|
+
onMouseEnterSelection,
|
|
68
|
+
selectedColumnValuesRef,
|
|
69
|
+
};
|
|
70
|
+
};
|
|
71
|
+
//# sourceMappingURL=columnsSelection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"columnsSelection.js","sourceRoot":"","sources":["../../../../../src/components/Table/features/columnsSelection/columnsSelection.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../src/components/Table/features/columnsSelection/helpers.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,MAAc,EAAoB,EAAE;IACvE,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAEhC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAC/C,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,MAAc,EAAE,KAA+C,EAAW,EAAE;IAClG,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;IACtB,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;IAEpB,IAAI,KAAK,EAAE,CAAC;QACV,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,UAAU,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAA;YAC/C,MAAM,WAAW,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAA;YAC/C,MAAM,SAAS,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAA;YAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;YAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;YAC1D,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;YAC3D,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;YAE3D,OAAO,UAAU,CAAC,CAAC,CAAC,IAAI,WAAW,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,WAAW,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,YAAY,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,YAAY,CAAA;QACvI,CAAC;QAED,OAAO,MAAM,KAAK,KAAK,CAAA;IACzB,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAAc,EAAE,eAAqC,EAAW,EAAE;IAC/F,OAAO,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE,eAAe,CAAC,KAAK,CAAC,CAAA;AACtF,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/components/Table/features/columnsSelection/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,WAAW,CAAA;AACzB,cAAc,uBAAuB,CAAA;AACrC,cAAc,eAAe,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/components/Table/helpers.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,WAAW,GAAG,CAAoB,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAiB,EAAE,EAAE;IACxF,IAAI,EAAE,EAAE,CAAC;QACP,OAAO,EAAE,CAAA;IACX,CAAC;IAED,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,OAAO,MAAgB,CAAA;AACzB,CAAC,CAAA"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export type RowData = object;
|
|
3
|
+
export type HeaderProps<D extends RowData> = {
|
|
4
|
+
rows: RowType<D>[];
|
|
5
|
+
data: D[];
|
|
6
|
+
};
|
|
7
|
+
export type AccessorFn<TItem> = (item: TItem) => ReactNode | number | string | string[];
|
|
8
|
+
export type Renderable<TProps> = (props: TProps) => ReactNode | JSX.Element | string;
|
|
9
|
+
export type Column<D extends RowData> = {
|
|
10
|
+
id: string;
|
|
11
|
+
index: number;
|
|
12
|
+
hidden: boolean;
|
|
13
|
+
canHide: boolean;
|
|
14
|
+
columns: Column<D>[];
|
|
15
|
+
};
|
|
16
|
+
export type ColumnCoreType<D extends RowData = object, V = any> = {
|
|
17
|
+
width?: number;
|
|
18
|
+
minWidth?: number;
|
|
19
|
+
maxWidth?: number;
|
|
20
|
+
Footer?: string | Renderable<HeaderProps<D>>;
|
|
21
|
+
notAvailable?: boolean;
|
|
22
|
+
Cell?: Renderable<CellType<D, V>>;
|
|
23
|
+
canHide?: boolean;
|
|
24
|
+
align?: 'left' | 'center' | 'right';
|
|
25
|
+
disableResizing?: boolean;
|
|
26
|
+
disableSortBy?: boolean;
|
|
27
|
+
filterable?: boolean;
|
|
28
|
+
sortType?: (r1: RowType<D>, r2: RowType<D>) => number;
|
|
29
|
+
};
|
|
30
|
+
export type ColumnIdentifier<D extends RowData> = {
|
|
31
|
+
id: string;
|
|
32
|
+
accessor?: keyof D | AccessorFn<D>;
|
|
33
|
+
Header?: string | Renderable<HeaderProps<D>>;
|
|
34
|
+
} | {
|
|
35
|
+
id?: never;
|
|
36
|
+
Header: string;
|
|
37
|
+
accessor?: keyof D | AccessorFn<D>;
|
|
38
|
+
} | {
|
|
39
|
+
id?: never;
|
|
40
|
+
Header?: never;
|
|
41
|
+
accessor: keyof D;
|
|
42
|
+
};
|
|
43
|
+
export type ColumnType<D extends RowData = object, V = any> = ColumnCoreType<D, V> & ColumnIdentifier<D>;
|
|
44
|
+
export type RowType<D extends RowData, K = any> = {
|
|
45
|
+
id: string;
|
|
46
|
+
getCanExpand: () => boolean;
|
|
47
|
+
getIsExpanded: () => boolean;
|
|
48
|
+
getToggleExpandedHandler: () => () => void;
|
|
49
|
+
original: D;
|
|
50
|
+
subRows: RowType<D, K>[];
|
|
51
|
+
index: number;
|
|
52
|
+
getValue: <T = K>(columnId: string) => T;
|
|
53
|
+
};
|
|
54
|
+
export type CellType<D extends RowData, V = any> = {
|
|
55
|
+
row: RowType<D, V>;
|
|
56
|
+
column: Column<D>;
|
|
57
|
+
value: V;
|
|
58
|
+
};
|
|
59
|
+
export type SortingRule = {
|
|
60
|
+
id: string;
|
|
61
|
+
desc?: boolean | undefined;
|
|
62
|
+
};
|
|
63
|
+
export type InitialState = Partial<TableState>;
|
|
64
|
+
export type TableState = {
|
|
65
|
+
hiddenColumns: string[];
|
|
66
|
+
columnOrder: string[];
|
|
67
|
+
columnResizing: {
|
|
68
|
+
columnWidths: Record<string, number>;
|
|
69
|
+
};
|
|
70
|
+
sortBy: SortingRule[];
|
|
71
|
+
paginationOptions?: {
|
|
72
|
+
pageIndex?: number;
|
|
73
|
+
pageSize?: number;
|
|
74
|
+
};
|
|
75
|
+
};
|
|
76
|
+
declare module '@tanstack/react-table' {
|
|
77
|
+
interface ColumnMeta<TData, TValue> {
|
|
78
|
+
align?: 'center' | 'left' | 'right';
|
|
79
|
+
}
|
|
80
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tableTypes.js","sourceRoot":"","sources":["../../../src/components/Table/tableTypes.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { useEffect, useRef } from 'react';
|
|
2
|
+
import { useRefValue } from '../../hooks';
|
|
3
|
+
export const useTrackTableState = (tableInstance, onChange) => {
|
|
4
|
+
const { columnOrder, columnVisibility, columnSizing, sorting, pagination: { pageSize }, } = tableInstance.getState();
|
|
5
|
+
const skippedInitialStateChangeRef = useRef(false);
|
|
6
|
+
const getOnChange = useRefValue(onChange);
|
|
7
|
+
useEffect(() => {
|
|
8
|
+
const cb = getOnChange();
|
|
9
|
+
if (cb && skippedInitialStateChangeRef.current) {
|
|
10
|
+
cb({
|
|
11
|
+
sortBy: sorting,
|
|
12
|
+
paginationOptions: { pageSize },
|
|
13
|
+
columnOrder: columnOrder,
|
|
14
|
+
columnResizing: {
|
|
15
|
+
columnWidths: columnSizing,
|
|
16
|
+
},
|
|
17
|
+
hiddenColumns: Object.entries(columnVisibility).reduce((res, [id, visible]) => {
|
|
18
|
+
if (!visible) {
|
|
19
|
+
return [...res, id];
|
|
20
|
+
}
|
|
21
|
+
return res;
|
|
22
|
+
}, []),
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
skippedInitialStateChangeRef.current = true;
|
|
27
|
+
}
|
|
28
|
+
}, [sorting, pageSize, columnOrder, columnVisibility, columnSizing, getOnChange]);
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=useTrackTableState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTrackTableState.js","sourceRoot":"","sources":["../../../src/components/Table/useTrackTableState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAGzC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAGzC,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAoB,aAAuB,EAAE,QAA+C,EAAE,EAAE;IAChI,MAAM,EACJ,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,OAAO,EACP,UAAU,EAAE,EAAE,QAAQ,EAAE,GACzB,GAAG,aAAa,CAAC,QAAQ,EAAE,CAAA;IAC5B,MAAM,4BAA4B,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IAClD,MAAM,WAAW,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAA;IAEzC,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,EAAE,GAAG,WAAW,EAAE,CAAA;QACxB,IAAI,EAAE,IAAI,4BAA4B,CAAC,OAAO,EAAE,CAAC;YAC/C,EAAE,CAAC;gBACD,MAAM,EAAE,OAAwB;gBAChC,iBAAiB,EAAE,EAAE,QAAQ,EAAE;gBAC/B,WAAW,EAAE,WAAW;gBACxB,cAAc,EAAE;oBACd,YAAY,EAAE,YAAY;iBAC3B;gBACD,aAAa,EAAE,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAW,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE;oBACtF,IAAI,CAAC,OAAO,EAAE,CAAC;wBACb,OAAO,CAAC,GAAG,GAAG,EAAE,EAAE,CAAC,CAAA;oBACrB,CAAC;oBAED,OAAO,GAAG,CAAA;gBACZ,CAAC,EAAE,EAAE,CAAC;aACP,CAAC,CAAA;QACJ,CAAC;aAAM,CAAC;YACN,4BAA4B,CAAC,OAAO,GAAG,IAAI,CAAA;QAC7C,CAAC;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,gBAAgB,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC,CAAA;AACnF,CAAC,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { CSSProperties } from 'react';
|
|
2
|
+
import { ColumnDef, Row as TableRow, InitialTableState, Cell, Column as TableColumn } from '@tanstack/react-table';
|
|
3
|
+
import { CellType, ColumnType, InitialState, RowData, RowType, Column } from './tableTypes';
|
|
4
|
+
export declare const prepareRow: <D extends RowData>({ getCanExpand, getIsExpanded, getToggleExpandedHandler, original, subRows, id, index, getValue, }: TableRow<D>) => RowType<D>;
|
|
5
|
+
export declare const prepareColumn: <D extends RowData>({ id, columns, getIndex, getCanHide, getIsVisible }: TableColumn<D>) => Column<D>;
|
|
6
|
+
export declare const prepareCell: <D extends RowData, V = unknown>({ getValue, row, column }: Cell<D, V>) => CellType<D, V>;
|
|
7
|
+
export declare const getColumnDef: <D extends RowData>({ id, width: size, minWidth: minSize, maxWidth: maxSize, Header, Footer, Cell, align, filterable, disableSortBy, disableResizing, canHide: enableHiding, sortType: sortingFn, accessor, }: ColumnType<D>) => ColumnDef<D>;
|
|
8
|
+
export declare const getTableInitialState: ({ hiddenColumns, columnOrder, sortBy, columnResizing, paginationOptions: pagination, }: InitialState) => InitialTableState;
|
|
9
|
+
export declare const getCellStyle: ({ size: width, minSize: minWidth, maxSize: maxWidth, }: {
|
|
10
|
+
size: number;
|
|
11
|
+
minSize?: number;
|
|
12
|
+
maxSize?: number;
|
|
13
|
+
}) => CSSProperties;
|
|
14
|
+
export declare const getRowStyle: ({ totalSize }: {
|
|
15
|
+
totalSize: number;
|
|
16
|
+
}) => CSSProperties;
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
export const prepareRow = ({ getCanExpand, getIsExpanded, getToggleExpandedHandler, original, subRows, id, index, getValue, }) => ({
|
|
2
|
+
id,
|
|
3
|
+
getCanExpand,
|
|
4
|
+
getIsExpanded,
|
|
5
|
+
getToggleExpandedHandler,
|
|
6
|
+
original,
|
|
7
|
+
index,
|
|
8
|
+
getValue,
|
|
9
|
+
subRows: subRows.map(prepareRow),
|
|
10
|
+
});
|
|
11
|
+
export const prepareColumn = ({ id, columns, getIndex, getCanHide, getIsVisible }) => ({
|
|
12
|
+
id,
|
|
13
|
+
index: getIndex(),
|
|
14
|
+
canHide: getCanHide(),
|
|
15
|
+
hidden: !getIsVisible(),
|
|
16
|
+
columns: columns.map(prepareColumn),
|
|
17
|
+
});
|
|
18
|
+
export const prepareCell = ({ getValue, row, column }) => ({
|
|
19
|
+
column: prepareColumn(column),
|
|
20
|
+
value: getValue(),
|
|
21
|
+
row: prepareRow(row),
|
|
22
|
+
});
|
|
23
|
+
const getRendererProps = (props) => {
|
|
24
|
+
const rendererProps = {
|
|
25
|
+
rows: [],
|
|
26
|
+
data: [],
|
|
27
|
+
};
|
|
28
|
+
props.table.getRowModel().rows.forEach((row) => {
|
|
29
|
+
const item = prepareRow(row);
|
|
30
|
+
rendererProps.rows.push(item);
|
|
31
|
+
rendererProps.data.push(item.original);
|
|
32
|
+
});
|
|
33
|
+
return rendererProps;
|
|
34
|
+
};
|
|
35
|
+
export const getColumnDef = ({ id, width: size, minWidth: minSize, maxWidth: maxSize, Header, Footer, Cell, align, filterable, disableSortBy, disableResizing, canHide: enableHiding, sortType: sortingFn, accessor, }) => {
|
|
36
|
+
const commonDef = {
|
|
37
|
+
id,
|
|
38
|
+
header: typeof Header === 'function' ? (props) => Header(getRendererProps(props)) : Header,
|
|
39
|
+
footer: typeof Footer === 'function' ? (props) => Footer(getRendererProps(props)) : Footer,
|
|
40
|
+
enableHiding,
|
|
41
|
+
sortDescFirst: false,
|
|
42
|
+
enableSorting: true,
|
|
43
|
+
meta: { align },
|
|
44
|
+
enableResizing: !disableResizing,
|
|
45
|
+
};
|
|
46
|
+
if (size != undefined) {
|
|
47
|
+
commonDef.size = size;
|
|
48
|
+
}
|
|
49
|
+
if (minSize != undefined) {
|
|
50
|
+
commonDef.minSize = minSize;
|
|
51
|
+
}
|
|
52
|
+
if (maxSize !== undefined) {
|
|
53
|
+
commonDef.maxSize = maxSize;
|
|
54
|
+
}
|
|
55
|
+
if (sortingFn != undefined) {
|
|
56
|
+
commonDef.sortingFn = (rowA, rowB) => sortingFn(prepareRow(rowA), prepareRow(rowB));
|
|
57
|
+
}
|
|
58
|
+
if (Cell != undefined) {
|
|
59
|
+
commonDef.cell =
|
|
60
|
+
typeof Cell === 'function'
|
|
61
|
+
? (props) => Cell({ column: prepareColumn(props.column), row: prepareRow(props.row), value: props.getValue() })
|
|
62
|
+
: Cell;
|
|
63
|
+
}
|
|
64
|
+
if (filterable !== undefined) {
|
|
65
|
+
commonDef.enableColumnFilter = filterable;
|
|
66
|
+
}
|
|
67
|
+
if (disableSortBy !== undefined) {
|
|
68
|
+
commonDef.enableSorting = !disableSortBy;
|
|
69
|
+
}
|
|
70
|
+
if (accessor != undefined) {
|
|
71
|
+
if (typeof accessor === 'function') {
|
|
72
|
+
return {
|
|
73
|
+
id: '',
|
|
74
|
+
...commonDef,
|
|
75
|
+
accessorFn: (value) => accessor(value),
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
return {
|
|
79
|
+
...commonDef,
|
|
80
|
+
accessorKey: accessor,
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
return commonDef;
|
|
84
|
+
};
|
|
85
|
+
const getColumnVisibility = (hiddenColumns) => {
|
|
86
|
+
const result = {};
|
|
87
|
+
hiddenColumns === null || hiddenColumns === void 0 ? void 0 : hiddenColumns.forEach((column) => {
|
|
88
|
+
result[column] = false;
|
|
89
|
+
});
|
|
90
|
+
return result;
|
|
91
|
+
};
|
|
92
|
+
export const getTableInitialState = ({ hiddenColumns, columnOrder, sortBy, columnResizing, paginationOptions: pagination, }) => {
|
|
93
|
+
var _a, _b;
|
|
94
|
+
return ({
|
|
95
|
+
pagination,
|
|
96
|
+
columnOrder,
|
|
97
|
+
columnSizing: (_a = columnResizing === null || columnResizing === void 0 ? void 0 : columnResizing.columnWidths) !== null && _a !== void 0 ? _a : {},
|
|
98
|
+
columnVisibility: getColumnVisibility(hiddenColumns),
|
|
99
|
+
sorting: (_b = sortBy === null || sortBy === void 0 ? void 0 : sortBy.map(({ id, desc }) => ({ id, desc: !!desc }))) !== null && _b !== void 0 ? _b : [],
|
|
100
|
+
});
|
|
101
|
+
};
|
|
102
|
+
export const getCellStyle = ({ size: width, minSize: minWidth, maxSize: maxWidth, }) => {
|
|
103
|
+
const style = {
|
|
104
|
+
width,
|
|
105
|
+
minWidth: minWidth || width,
|
|
106
|
+
flex: `${width} 0 auto`,
|
|
107
|
+
boxSizing: 'border-box',
|
|
108
|
+
};
|
|
109
|
+
if (maxWidth) {
|
|
110
|
+
style.maxWidth = maxWidth;
|
|
111
|
+
}
|
|
112
|
+
return style;
|
|
113
|
+
};
|
|
114
|
+
export const getRowStyle = ({ totalSize }) => {
|
|
115
|
+
// fix unit tests console error "`NaN` is an invalid value"
|
|
116
|
+
const minWidth = isNaN(totalSize) ? 0 : totalSize;
|
|
117
|
+
return {
|
|
118
|
+
minWidth,
|
|
119
|
+
};
|
|
120
|
+
};
|
|
121
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/components/Table/utils.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { FC, MouseEvent, KeyboardEvent, ReactNode } from 'react';
|
|
2
|
+
export type AnchorTabProps = {
|
|
3
|
+
component: 'a';
|
|
4
|
+
href: string;
|
|
5
|
+
};
|
|
6
|
+
export type ButtonTabProps = {
|
|
7
|
+
component?: 'button';
|
|
8
|
+
href?: never;
|
|
9
|
+
};
|
|
10
|
+
type TabTypeProps = AnchorTabProps | ButtonTabProps;
|
|
11
|
+
type TabLabelProps = {
|
|
12
|
+
children: ReactNode;
|
|
13
|
+
ariaLabel?: string;
|
|
14
|
+
};
|
|
15
|
+
export type TabCommonProps = {
|
|
16
|
+
value: number;
|
|
17
|
+
onClick?: (event: MouseEvent<HTMLButtonElement | HTMLAnchorElement> | KeyboardEvent<HTMLButtonElement | HTMLAnchorElement>) => void;
|
|
18
|
+
className?: string;
|
|
19
|
+
};
|
|
20
|
+
export type TabProps<T = TabTypeProps> = TabCommonProps & T & TabLabelProps;
|
|
21
|
+
/**
|
|
22
|
+
* ### Purpose
|
|
23
|
+
* A single tab implementation that works together with TabContext and TabList components.
|
|
24
|
+
*
|
|
25
|
+
* ### General Info
|
|
26
|
+
* - Use as a direct child of TabList component.
|
|
27
|
+
* - Implemented as `Tabs with Manual Activation` since displaying a new panel in some cases might
|
|
28
|
+
* cause a network request and therefore devastate the experience for keyboard/screen reader users.
|
|
29
|
+
* More info - https://www.w3.org/TR/wai-aria-practices/#kbd_selection_follows_focus
|
|
30
|
+
*
|
|
31
|
+
*/
|
|
32
|
+
export declare const Tab: FC<TabProps>;
|
|
33
|
+
export {};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import React, { useCallback } from 'react';
|
|
2
|
+
import cn from 'classnames';
|
|
3
|
+
import { useTabContext, getTabId, getPanelId } from './TabContext';
|
|
4
|
+
import { keyIsOneOf } from '../../utils/keyboard';
|
|
5
|
+
import styles from './Tab.module.scss';
|
|
6
|
+
/**
|
|
7
|
+
* ### Purpose
|
|
8
|
+
* A single tab implementation that works together with TabContext and TabList components.
|
|
9
|
+
*
|
|
10
|
+
* ### General Info
|
|
11
|
+
* - Use as a direct child of TabList component.
|
|
12
|
+
* - Implemented as `Tabs with Manual Activation` since displaying a new panel in some cases might
|
|
13
|
+
* cause a network request and therefore devastate the experience for keyboard/screen reader users.
|
|
14
|
+
* More info - https://www.w3.org/TR/wai-aria-practices/#kbd_selection_follows_focus
|
|
15
|
+
*
|
|
16
|
+
*/
|
|
17
|
+
export const Tab = ({ component: Component = 'button', value, href, onClick, children, ariaLabel, className }) => {
|
|
18
|
+
const { onChange, value: activeValue, idPrefix, fullWidth } = useTabContext();
|
|
19
|
+
const selected = value === activeValue;
|
|
20
|
+
const handleClick = useCallback((event) => {
|
|
21
|
+
if (selected) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
if (onClick) {
|
|
25
|
+
onClick(event);
|
|
26
|
+
}
|
|
27
|
+
onChange(value);
|
|
28
|
+
}, [value, selected, onChange, onClick]);
|
|
29
|
+
// Since we're not automatically following focus we have
|
|
30
|
+
// to handle keyboard selection with Enter and Space ourselves.
|
|
31
|
+
const onKeyPress = useCallback((event) => {
|
|
32
|
+
event.preventDefault();
|
|
33
|
+
if (keyIsOneOf(event, 'Enter', 'Space')) {
|
|
34
|
+
handleClick(event);
|
|
35
|
+
}
|
|
36
|
+
}, [handleClick]);
|
|
37
|
+
return (React.createElement(Component, { className: cn(styles.tab, { [styles.selected]: selected, [styles.fullWidth]: fullWidth }, className), role: "tab", id: getTabId(idPrefix, value.toString()), "aria-controls": getPanelId(idPrefix, value.toString()), "aria-selected": selected, tabIndex: selected ? 0 : -1, onKeyPress: onKeyPress, onClick: handleClick, ...(Component === 'a' && !selected && { href }), "aria-label": ariaLabel }, children));
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=Tab.js.map
|