@hitachivantara/uikit-react-core 5.31.0 → 5.33.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/dist/cjs/components/Accordion/Accordion.cjs +4 -5
- package/dist/cjs/components/Accordion/Accordion.cjs.map +1 -1
- package/dist/cjs/components/ActionsGeneric/ActionsGeneric.cjs +5 -5
- package/dist/cjs/components/ActionsGeneric/ActionsGeneric.cjs.map +1 -1
- package/dist/cjs/components/AppSwitcher/Action/Action.cjs +2 -2
- package/dist/cjs/components/AppSwitcher/Action/Action.cjs.map +1 -1
- package/dist/cjs/components/AppSwitcher/AppSwitcher.cjs +2 -2
- package/dist/cjs/components/AppSwitcher/AppSwitcher.cjs.map +1 -1
- package/dist/cjs/components/Avatar/Avatar.cjs +1 -1
- package/dist/cjs/components/Avatar/Avatar.cjs.map +1 -1
- package/dist/cjs/components/Banner/BannerContent/BannerContent.cjs +1 -1
- package/dist/cjs/components/Banner/BannerContent/BannerContent.cjs.map +1 -1
- package/dist/cjs/components/BaseCheckBox/BaseCheckBox.cjs +3 -3
- package/dist/cjs/components/BaseCheckBox/BaseCheckBox.cjs.map +1 -1
- package/dist/cjs/components/BaseDropdown/BaseDropdown.cjs +15 -18
- package/dist/cjs/components/BaseDropdown/BaseDropdown.cjs.map +1 -1
- package/dist/cjs/components/BaseDropdown/BaseDropdown.styles.cjs +6 -6
- package/dist/cjs/components/BaseDropdown/BaseDropdown.styles.cjs.map +1 -1
- package/dist/cjs/components/BaseInput/BaseInput.cjs +1 -1
- package/dist/cjs/components/BaseInput/BaseInput.cjs.map +1 -1
- package/dist/cjs/components/BaseInput/validations.cjs +12 -13
- package/dist/cjs/components/BaseInput/validations.cjs.map +1 -1
- package/dist/cjs/components/BaseRadio/BaseRadio.cjs +3 -3
- package/dist/cjs/components/BaseRadio/BaseRadio.cjs.map +1 -1
- package/dist/cjs/components/BaseSwitch/BaseSwitch.cjs +3 -3
- package/dist/cjs/components/BaseSwitch/BaseSwitch.cjs.map +1 -1
- package/dist/cjs/components/Box/Box.cjs +1 -1
- package/dist/cjs/components/Box/Box.cjs.map +1 -1
- package/dist/cjs/components/BreadCrumb/BreadCrumb.cjs +2 -5
- package/dist/cjs/components/BreadCrumb/BreadCrumb.cjs.map +1 -1
- package/dist/cjs/components/BreadCrumb/Page/Page.cjs +11 -9
- package/dist/cjs/components/BreadCrumb/Page/Page.cjs.map +1 -1
- package/dist/cjs/components/BreadCrumb/Page/Page.styles.cjs +3 -3
- package/dist/cjs/components/BreadCrumb/Page/Page.styles.cjs.map +1 -1
- package/dist/cjs/components/BreadCrumb/utils.cjs +1 -1
- package/dist/cjs/components/BreadCrumb/utils.cjs.map +1 -1
- package/dist/cjs/components/BulkActions/BulkActions.cjs +4 -4
- package/dist/cjs/components/BulkActions/BulkActions.cjs.map +1 -1
- package/dist/cjs/components/BulkActions/BulkActions.styles.cjs.map +1 -1
- package/dist/cjs/components/Button/Button.cjs +1 -1
- package/dist/cjs/components/Button/Button.cjs.map +1 -1
- package/dist/cjs/components/Calendar/Calendar.cjs +3 -3
- package/dist/cjs/components/Calendar/Calendar.cjs.map +1 -1
- package/dist/cjs/components/Calendar/Calendar.styles.cjs +1 -1
- package/dist/cjs/components/Calendar/Calendar.styles.cjs.map +1 -1
- package/dist/cjs/components/Calendar/CalendarHeader/CalendarHeader.cjs +6 -9
- package/dist/cjs/components/Calendar/CalendarHeader/CalendarHeader.cjs.map +1 -1
- package/dist/cjs/components/Calendar/CalendarHeader/CalendarHeader.styles.cjs +1 -1
- package/dist/cjs/components/Calendar/CalendarHeader/CalendarHeader.styles.cjs.map +1 -1
- package/dist/cjs/components/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.cjs +4 -4
- package/dist/cjs/components/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.cjs.map +1 -1
- package/dist/cjs/components/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.styles.cjs +1 -1
- package/dist/cjs/components/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.styles.cjs.map +1 -1
- package/dist/cjs/components/Calendar/CalendarNavigation/MonthSelector/MonthSelector.cjs +2 -2
- package/dist/cjs/components/Calendar/CalendarNavigation/MonthSelector/MonthSelector.cjs.map +1 -1
- package/dist/cjs/components/Calendar/CalendarNavigation/Navigation/Navigation.cjs +8 -28
- package/dist/cjs/components/Calendar/CalendarNavigation/Navigation/Navigation.cjs.map +1 -1
- package/dist/cjs/components/Calendar/CalendarNavigation/Navigation/Navigation.styles.cjs +9 -39
- package/dist/cjs/components/Calendar/CalendarNavigation/Navigation/Navigation.styles.cjs.map +1 -1
- package/dist/cjs/components/Calendar/SingleCalendar/CalendarCell.cjs +3 -6
- package/dist/cjs/components/Calendar/SingleCalendar/CalendarCell.cjs.map +1 -1
- package/dist/cjs/components/Calendar/SingleCalendar/SingleCalendar.cjs +15 -19
- package/dist/cjs/components/Calendar/SingleCalendar/SingleCalendar.cjs.map +1 -1
- package/dist/cjs/components/Calendar/SingleCalendar/SingleCalendar.styles.cjs +9 -1
- package/dist/cjs/components/Calendar/SingleCalendar/SingleCalendar.styles.cjs.map +1 -1
- package/dist/cjs/components/Calendar/utils.cjs +8 -13
- package/dist/cjs/components/Calendar/utils.cjs.map +1 -1
- package/dist/cjs/components/Card/Card.cjs.map +1 -1
- package/dist/cjs/components/Card/Header/Header.cjs.map +1 -1
- package/dist/cjs/components/Card/Media/Media.cjs.map +1 -1
- package/dist/cjs/components/Carousel/Carousel.cjs +10 -11
- package/dist/cjs/components/Carousel/Carousel.cjs.map +1 -1
- package/dist/cjs/components/Carousel/CarouselControls.cjs +1 -1
- package/dist/cjs/components/Carousel/CarouselControls.cjs.map +1 -1
- package/dist/cjs/components/Carousel/CarouselThumbnails.cjs +1 -1
- package/dist/cjs/components/Carousel/CarouselThumbnails.cjs.map +1 -1
- package/dist/cjs/components/CheckBox/CheckBox.cjs +3 -3
- package/dist/cjs/components/CheckBox/CheckBox.cjs.map +1 -1
- package/dist/cjs/components/CheckBoxGroup/CheckBoxGroup.cjs +11 -17
- package/dist/cjs/components/CheckBoxGroup/CheckBoxGroup.cjs.map +1 -1
- package/dist/cjs/components/ColorPicker/ColorPicker.cjs +10 -10
- package/dist/cjs/components/ColorPicker/ColorPicker.cjs.map +1 -1
- package/dist/cjs/components/ColorPicker/Fields/Fields.cjs +16 -16
- package/dist/cjs/components/ColorPicker/Fields/Fields.cjs.map +1 -1
- package/dist/cjs/components/ColorPicker/Picker/Picker.cjs +3 -3
- package/dist/cjs/components/ColorPicker/Picker/Picker.cjs.map +1 -1
- package/dist/cjs/components/ColorPicker/PresetColors/PresetColors.cjs.map +1 -1
- package/dist/cjs/components/ColorPicker/SavedColors/SavedColors.cjs.map +1 -1
- package/dist/cjs/components/Controls/Controls.cjs +7 -13
- package/dist/cjs/components/Controls/Controls.cjs.map +1 -1
- package/dist/cjs/components/Controls/LeftControl/LeftControl.cjs +2 -2
- package/dist/cjs/components/Controls/LeftControl/LeftControl.cjs.map +1 -1
- package/dist/cjs/components/Controls/RightControl/RightControl.cjs +3 -3
- package/dist/cjs/components/Controls/RightControl/RightControl.cjs.map +1 -1
- package/dist/cjs/components/DatePicker/DatePicker.cjs +10 -11
- package/dist/cjs/components/DatePicker/DatePicker.cjs.map +1 -1
- package/dist/cjs/components/DatePicker/utils.cjs +1 -1
- package/dist/cjs/components/DatePicker/utils.cjs.map +1 -1
- package/dist/cjs/components/Dialog/Actions/Actions.cjs.map +1 -1
- package/dist/cjs/components/Dialog/Content/Content.cjs.map +1 -1
- package/dist/cjs/components/Dialog/Dialog.cjs +5 -5
- package/dist/cjs/components/Dialog/Dialog.cjs.map +1 -1
- package/dist/cjs/components/Dialog/Title/Title.cjs.map +1 -1
- package/dist/cjs/components/DotPagination/DotPagination.cjs +4 -4
- package/dist/cjs/components/DotPagination/DotPagination.cjs.map +1 -1
- package/dist/cjs/components/Drawer/Drawer.cjs +1 -1
- package/dist/cjs/components/Drawer/Drawer.cjs.map +1 -1
- package/dist/cjs/components/DropDownMenu/DropDownMenu.cjs +5 -6
- package/dist/cjs/components/DropDownMenu/DropDownMenu.cjs.map +1 -1
- package/dist/cjs/components/Dropdown/Dropdown.cjs +10 -12
- package/dist/cjs/components/Dropdown/Dropdown.cjs.map +1 -1
- package/dist/cjs/components/Dropdown/List/List.cjs +10 -13
- package/dist/cjs/components/Dropdown/List/List.cjs.map +1 -1
- package/dist/cjs/components/FileUploader/DropZone/DropZone.cjs +13 -14
- package/dist/cjs/components/FileUploader/DropZone/DropZone.cjs.map +1 -1
- package/dist/cjs/components/FileUploader/DropZone/DropZone.styles.cjs +1 -1
- package/dist/cjs/components/FileUploader/DropZone/DropZone.styles.cjs.map +1 -1
- package/dist/cjs/components/FileUploader/File/File.cjs +6 -6
- package/dist/cjs/components/FileUploader/File/File.cjs.map +1 -1
- package/dist/cjs/components/FileUploader/File/File.styles.cjs +1 -1
- package/dist/cjs/components/FileUploader/File/File.styles.cjs.map +1 -1
- package/dist/cjs/components/FileUploader/FileList/FileList.cjs +1 -1
- package/dist/cjs/components/FileUploader/FileList/FileList.cjs.map +1 -1
- package/dist/cjs/components/FileUploader/FileList/FileList.styles.cjs +1 -1
- package/dist/cjs/components/FileUploader/FileList/FileList.styles.cjs.map +1 -1
- package/dist/cjs/components/FileUploader/FileUploader.cjs +1 -1
- package/dist/cjs/components/FileUploader/FileUploader.cjs.map +1 -1
- package/dist/cjs/components/FileUploader/Preview/Preview.cjs +1 -1
- package/dist/cjs/components/FileUploader/Preview/Preview.cjs.map +1 -1
- package/dist/cjs/components/FileUploader/Preview/Preview.styles.cjs +1 -1
- package/dist/cjs/components/FileUploader/Preview/Preview.styles.cjs.map +1 -1
- package/dist/cjs/components/FilterGroup/Counter/Counter.cjs +2 -4
- package/dist/cjs/components/FilterGroup/Counter/Counter.cjs.map +1 -1
- package/dist/cjs/components/FilterGroup/FilterContent/FilterContent.cjs +10 -11
- package/dist/cjs/components/FilterGroup/FilterContent/FilterContent.cjs.map +1 -1
- package/dist/cjs/components/FilterGroup/FilterGroupContext.cjs +1 -1
- package/dist/cjs/components/FilterGroup/FilterGroupContext.cjs.map +1 -1
- package/dist/cjs/components/FilterGroup/RightPanel/RightPanel.cjs +14 -26
- package/dist/cjs/components/FilterGroup/RightPanel/RightPanel.cjs.map +1 -1
- package/dist/cjs/components/Focus/Focus.cjs +8 -13
- package/dist/cjs/components/Focus/Focus.cjs.map +1 -1
- package/dist/cjs/components/Focus/utils.cjs +1 -1
- package/dist/cjs/components/Focus/utils.cjs.map +1 -1
- package/dist/cjs/components/Footer/Footer.cjs.map +1 -1
- package/dist/cjs/components/Footer/Footer.styles.cjs.map +1 -1
- package/dist/cjs/components/Forms/Adornment/Adornment.cjs +1 -2
- package/dist/cjs/components/Forms/Adornment/Adornment.cjs.map +1 -1
- package/dist/cjs/components/Forms/FormElement/utils/FormUtils.cjs +17 -20
- package/dist/cjs/components/Forms/FormElement/utils/FormUtils.cjs.map +1 -1
- package/dist/cjs/components/Forms/Label/Label.cjs +1 -2
- package/dist/cjs/components/Forms/Label/Label.cjs.map +1 -1
- package/dist/cjs/components/Forms/Suggestions/Suggestions.cjs +2 -2
- package/dist/cjs/components/Forms/Suggestions/Suggestions.cjs.map +1 -1
- package/dist/cjs/components/Forms/WarningText/WarningText.cjs +3 -6
- package/dist/cjs/components/Forms/WarningText/WarningText.cjs.map +1 -1
- package/dist/cjs/components/Forms/WarningText/WarningText.styles.cjs +6 -7
- package/dist/cjs/components/Forms/WarningText/WarningText.styles.cjs.map +1 -1
- package/dist/cjs/components/GlobalActions/GlobalActions.cjs +1 -1
- package/dist/cjs/components/GlobalActions/GlobalActions.cjs.map +1 -1
- package/dist/cjs/components/GlobalActions/GlobalActions.styles.cjs.map +1 -1
- package/dist/cjs/components/Grid/Grid.cjs +1 -1
- package/dist/cjs/components/Grid/Grid.cjs.map +1 -1
- package/dist/cjs/components/Header/Actions/Actions.styles.cjs +1 -2
- package/dist/cjs/components/Header/Actions/Actions.styles.cjs.map +1 -1
- package/dist/cjs/components/Header/Navigation/MenuBar/Bar.cjs +1 -1
- package/dist/cjs/components/Header/Navigation/MenuBar/Bar.cjs.map +1 -1
- package/dist/cjs/components/Header/Navigation/MenuBar/MenuBar.cjs.map +1 -1
- package/dist/cjs/components/Header/Navigation/MenuItem/MenuItem.cjs +14 -15
- package/dist/cjs/components/Header/Navigation/MenuItem/MenuItem.cjs.map +1 -1
- package/dist/cjs/components/Header/Navigation/Navigation.cjs +1 -1
- package/dist/cjs/components/Header/Navigation/Navigation.cjs.map +1 -1
- package/dist/cjs/components/Header/Navigation/useSelectionPath.cjs +1 -1
- package/dist/cjs/components/Header/Navigation/useSelectionPath.cjs.map +1 -1
- package/dist/cjs/components/InlineEditor/InlineEditor.cjs +8 -7
- package/dist/cjs/components/InlineEditor/InlineEditor.cjs.map +1 -1
- package/dist/cjs/components/InlineEditor/InlineEditor.styles.cjs +2 -2
- package/dist/cjs/components/InlineEditor/InlineEditor.styles.cjs.map +1 -1
- package/dist/cjs/components/Input/Input.cjs +24 -29
- package/dist/cjs/components/Input/Input.cjs.map +1 -1
- package/dist/cjs/components/Kpi/Kpi.cjs +4 -4
- package/dist/cjs/components/Kpi/Kpi.cjs.map +1 -1
- package/dist/cjs/components/Link/Link.cjs +1 -1
- package/dist/cjs/components/Link/Link.cjs.map +1 -1
- package/dist/cjs/components/List/List.cjs +5 -6
- package/dist/cjs/components/List/List.cjs.map +1 -1
- package/dist/cjs/components/List/utils.cjs +6 -6
- package/dist/cjs/components/List/utils.cjs.map +1 -1
- package/dist/cjs/components/ListContainer/ListItem/ListItem.cjs +4 -4
- package/dist/cjs/components/ListContainer/ListItem/ListItem.cjs.map +1 -1
- package/dist/cjs/components/Login/Login.styles.cjs +1 -1
- package/dist/cjs/components/Login/Login.styles.cjs.map +1 -1
- package/dist/cjs/components/MultiButton/MultiButton.cjs +1 -1
- package/dist/cjs/components/MultiButton/MultiButton.cjs.map +1 -1
- package/dist/cjs/components/MultiButton/MultiButton.styles.cjs.map +1 -1
- package/dist/cjs/components/OverflowTooltip/OverflowTooltip.cjs +3 -4
- package/dist/cjs/components/OverflowTooltip/OverflowTooltip.cjs.map +1 -1
- package/dist/cjs/components/Pagination/Pagination.cjs +18 -16
- package/dist/cjs/components/Pagination/Pagination.cjs.map +1 -1
- package/dist/cjs/components/Pagination/Pagination.styles.cjs +27 -8
- package/dist/cjs/components/Pagination/Pagination.styles.cjs.map +1 -1
- package/dist/cjs/components/Pagination/Select.cjs +1 -1
- package/dist/cjs/components/Pagination/Select.cjs.map +1 -1
- package/dist/cjs/components/Panel/Panel.cjs.map +1 -1
- package/dist/cjs/components/ProgressBar/ProgressBar.cjs +1 -1
- package/dist/cjs/components/ProgressBar/ProgressBar.cjs.map +1 -1
- package/dist/cjs/components/QueryBuilder/ConfirmationDialog/ConfirmationDialog.cjs +2 -2
- package/dist/cjs/components/QueryBuilder/ConfirmationDialog/ConfirmationDialog.cjs.map +1 -1
- package/dist/cjs/components/QueryBuilder/Context.cjs.map +1 -1
- package/dist/cjs/components/QueryBuilder/QueryBuilder.cjs +3 -3
- package/dist/cjs/components/QueryBuilder/QueryBuilder.cjs.map +1 -1
- package/dist/cjs/components/QueryBuilder/Rule/Attribute/Attribute.cjs +4 -6
- package/dist/cjs/components/QueryBuilder/Rule/Attribute/Attribute.cjs.map +1 -1
- package/dist/cjs/components/QueryBuilder/Rule/Rule.cjs +1 -1
- package/dist/cjs/components/QueryBuilder/Rule/Rule.cjs.map +1 -1
- package/dist/cjs/components/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.cjs +18 -23
- package/dist/cjs/components/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.cjs.map +1 -1
- package/dist/cjs/components/QueryBuilder/Rule/Value/NumericValue/NumericValue.cjs +31 -35
- package/dist/cjs/components/QueryBuilder/Rule/Value/NumericValue/NumericValue.cjs.map +1 -1
- package/dist/cjs/components/QueryBuilder/RuleGroup/RuleGroup.cjs +10 -12
- package/dist/cjs/components/QueryBuilder/RuleGroup/RuleGroup.cjs.map +1 -1
- package/dist/cjs/components/QueryBuilder/utils/index.cjs +1 -1
- package/dist/cjs/components/QueryBuilder/utils/index.cjs.map +1 -1
- package/dist/cjs/components/Radio/Radio.cjs +3 -3
- package/dist/cjs/components/Radio/Radio.cjs.map +1 -1
- package/dist/cjs/components/RadioGroup/RadioGroup.cjs +11 -16
- package/dist/cjs/components/RadioGroup/RadioGroup.cjs.map +1 -1
- package/dist/cjs/components/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.cjs.map +1 -1
- package/dist/cjs/components/ScrollTo/Horizontal/ScrollToHorizontal.cjs +7 -7
- package/dist/cjs/components/ScrollTo/Horizontal/ScrollToHorizontal.cjs.map +1 -1
- package/dist/cjs/components/ScrollTo/Vertical/ScrollToVertical.cjs +4 -4
- package/dist/cjs/components/ScrollTo/Vertical/ScrollToVertical.cjs.map +1 -1
- package/dist/cjs/components/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.cjs +1 -1
- package/dist/cjs/components/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.cjs.map +1 -1
- package/dist/cjs/components/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.styles.cjs +1 -1
- package/dist/cjs/components/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.styles.cjs.map +1 -1
- package/dist/cjs/components/ScrollTo/useScrollTo.cjs +3 -3
- package/dist/cjs/components/ScrollTo/useScrollTo.cjs.map +1 -1
- package/dist/cjs/components/ScrollTo/utils.cjs +4 -7
- package/dist/cjs/components/ScrollTo/utils.cjs.map +1 -1
- package/dist/cjs/components/Section/Section.cjs +50 -0
- package/dist/cjs/components/Section/Section.cjs.map +1 -0
- package/dist/cjs/components/Section/Section.styles.cjs +40 -0
- package/dist/cjs/components/Section/Section.styles.cjs.map +1 -0
- package/dist/cjs/components/SelectionList/SelectionList.cjs +9 -15
- package/dist/cjs/components/SelectionList/SelectionList.cjs.map +1 -1
- package/dist/cjs/components/Slider/Slider.cjs +9 -10
- package/dist/cjs/components/Slider/Slider.cjs.map +1 -1
- package/dist/cjs/components/Slider/Slider.styles.cjs.map +1 -1
- package/dist/cjs/components/Slider/SliderInput/SliderInput.cjs +2 -2
- package/dist/cjs/components/Slider/SliderInput/SliderInput.cjs.map +1 -1
- package/dist/cjs/components/Slider/utils.cjs +2 -2
- package/dist/cjs/components/Slider/utils.cjs.map +1 -1
- package/dist/cjs/components/Snackbar/Snackbar.cjs.map +1 -1
- package/dist/cjs/components/Snackbar/SnackbarContent/SnackbarContent.cjs +2 -2
- package/dist/cjs/components/Snackbar/SnackbarContent/SnackbarContent.cjs.map +1 -1
- package/dist/cjs/components/Stack/Stack.cjs.map +1 -1
- package/dist/cjs/components/Switch/Switch.cjs +1 -1
- package/dist/cjs/components/Switch/Switch.cjs.map +1 -1
- package/dist/cjs/components/Tab/Tab.cjs.map +1 -1
- package/dist/cjs/components/Tab/Tab.styles.cjs +1 -1
- package/dist/cjs/components/Tab/Tab.styles.cjs.map +1 -1
- package/dist/cjs/components/Table/TableBody/TableBody.cjs +1 -2
- package/dist/cjs/components/Table/TableBody/TableBody.cjs.map +1 -1
- package/dist/cjs/components/Table/TableCell/TableCell.cjs +3 -4
- package/dist/cjs/components/Table/TableCell/TableCell.cjs.map +1 -1
- package/dist/cjs/components/Table/TableHead/TableHead.cjs +1 -2
- package/dist/cjs/components/Table/TableHead/TableHead.cjs.map +1 -1
- package/dist/cjs/components/Table/TableHeader/TableHeader.cjs +3 -4
- package/dist/cjs/components/Table/TableHeader/TableHeader.cjs.map +1 -1
- package/dist/cjs/components/Table/TableRow/TableRow.cjs +2 -3
- package/dist/cjs/components/Table/TableRow/TableRow.cjs.map +1 -1
- package/dist/cjs/components/Table/hooks/useHeaderGroups.cjs +1 -2
- package/dist/cjs/components/Table/hooks/useHeaderGroups.cjs.map +1 -1
- package/dist/cjs/components/Table/hooks/useResizeColumns.cjs +1 -2
- package/dist/cjs/components/Table/hooks/useResizeColumns.cjs.map +1 -1
- package/dist/cjs/components/Table/hooks/useRowExpand.cjs +2 -5
- package/dist/cjs/components/Table/hooks/useRowExpand.cjs.map +1 -1
- package/dist/cjs/components/Table/hooks/useRowSelection.cjs +2 -4
- package/dist/cjs/components/Table/hooks/useRowSelection.cjs.map +1 -1
- package/dist/cjs/components/Table/hooks/useSticky.cjs +5 -7
- package/dist/cjs/components/Table/hooks/useSticky.cjs.map +1 -1
- package/dist/cjs/components/Table/hooks/useTable.cjs.map +1 -1
- package/dist/cjs/components/Table/hooks/useTableStyles.cjs.map +1 -1
- package/dist/cjs/components/Table/renderers/DropdownColumnCell/DropdownColumnCell.cjs +1 -1
- package/dist/cjs/components/Table/renderers/DropdownColumnCell/DropdownColumnCell.cjs.map +1 -1
- package/dist/cjs/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.cjs +1 -1
- package/dist/cjs/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.cjs.map +1 -1
- package/dist/cjs/components/Table/renderers/renderers.cjs +6 -7
- package/dist/cjs/components/Table/renderers/renderers.cjs.map +1 -1
- package/dist/cjs/components/Table/utils/fallbacks.cjs +1 -1
- package/dist/cjs/components/Table/utils/fallbacks.cjs.map +1 -1
- package/dist/cjs/components/Tabs/Tabs.cjs.map +1 -1
- package/dist/cjs/components/Tabs/Tabs.styles.cjs.map +1 -1
- package/dist/cjs/components/Tag/Tag.cjs +2 -2
- package/dist/cjs/components/Tag/Tag.cjs.map +1 -1
- package/dist/cjs/components/Tag/Tag.styles.cjs.map +1 -1
- package/dist/cjs/components/TagsInput/TagsInput.cjs +16 -26
- package/dist/cjs/components/TagsInput/TagsInput.cjs.map +1 -1
- package/dist/cjs/components/TextArea/TextArea.cjs +5 -9
- package/dist/cjs/components/TextArea/TextArea.cjs.map +1 -1
- package/dist/cjs/components/TimePicker/Placeholder.cjs +1 -1
- package/dist/cjs/components/TimePicker/Placeholder.cjs.map +1 -1
- package/dist/cjs/components/TimePicker/TimePicker.cjs +3 -4
- package/dist/cjs/components/TimePicker/TimePicker.cjs.map +1 -1
- package/dist/cjs/components/ToggleButton/ToggleButton.cjs +1 -1
- package/dist/cjs/components/ToggleButton/ToggleButton.cjs.map +1 -1
- package/dist/cjs/components/Tooltip/Tooltip.cjs +1 -1
- package/dist/cjs/components/Tooltip/Tooltip.cjs.map +1 -1
- package/dist/cjs/components/Tooltip/Tooltip.styles.cjs.map +1 -1
- package/dist/cjs/components/Typography/Typography.cjs +1 -1
- package/dist/cjs/components/Typography/Typography.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/Actions/Action.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/Actions/Action.styles.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/Actions/Actions.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/Actions/Actions.styles.cjs +1 -1
- package/dist/cjs/components/VerticalNavigation/Actions/Actions.styles.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/Header/Header.cjs +1 -1
- package/dist/cjs/components/VerticalNavigation/Header/Header.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/Navigation/Navigation.cjs +10 -10
- package/dist/cjs/components/VerticalNavigation/Navigation/Navigation.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/Navigation/Navigation.styles.cjs +1 -1
- package/dist/cjs/components/VerticalNavigation/Navigation/Navigation.styles.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/NavigationPopup/NavigationPopup.styles.cjs +2 -2
- package/dist/cjs/components/VerticalNavigation/NavigationPopup/NavigationPopup.styles.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/NavigationPopup/NavigationPopupContainer.cjs +1 -1
- package/dist/cjs/components/VerticalNavigation/NavigationPopup/NavigationPopupContainer.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/NavigationSlider/NavigationSlider.cjs +2 -2
- package/dist/cjs/components/VerticalNavigation/NavigationSlider/NavigationSlider.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/NavigationSlider/NavigationSlider.styles.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/NavigationSlider/utils/NavigationSlider.utils.cjs +2 -4
- package/dist/cjs/components/VerticalNavigation/NavigationSlider/utils/NavigationSlider.utils.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/TreeView/IconWrapper/IconWrapper.cjs +1 -1
- package/dist/cjs/components/VerticalNavigation/TreeView/IconWrapper/IconWrapper.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/TreeView/TreeView.cjs +5 -16
- package/dist/cjs/components/VerticalNavigation/TreeView/TreeView.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/TreeView/TreeView.styles.cjs +1 -1
- package/dist/cjs/components/VerticalNavigation/TreeView/TreeView.styles.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/TreeView/TreeViewItem.cjs +7 -8
- package/dist/cjs/components/VerticalNavigation/TreeView/TreeViewItem.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/TreeView/descendants.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/VerticalNavigation.cjs +2 -2
- package/dist/cjs/components/VerticalNavigation/VerticalNavigation.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/VerticalNavigation.styles.cjs +1 -1
- package/dist/cjs/components/VerticalNavigation/VerticalNavigation.styles.cjs.map +1 -1
- package/dist/cjs/hocs/withTooltip.cjs +1 -1
- package/dist/cjs/hocs/withTooltip.cjs.map +1 -1
- package/dist/cjs/hooks/useClickOutside.cjs +2 -2
- package/dist/cjs/hooks/useClickOutside.cjs.map +1 -1
- package/dist/cjs/hooks/useComputation.cjs +1 -1
- package/dist/cjs/hooks/useComputation.cjs.map +1 -1
- package/dist/cjs/hooks/useCss.cjs.map +1 -1
- package/dist/cjs/hooks/useDefaultProps.cjs +4 -5
- package/dist/cjs/hooks/useDefaultProps.cjs.map +1 -1
- package/dist/cjs/hooks/useTheme.cjs +1 -2
- package/dist/cjs/hooks/useTheme.cjs.map +1 -1
- package/dist/cjs/index.cjs +4 -0
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/utils/classes.cjs +2 -2
- package/dist/cjs/utils/classes.cjs.map +1 -1
- package/dist/cjs/utils/keyboardUtils.cjs +1 -1
- package/dist/cjs/utils/keyboardUtils.cjs.map +1 -1
- package/dist/cjs/utils/setId.cjs +1 -3
- package/dist/cjs/utils/setId.cjs.map +1 -1
- package/dist/cjs/utils/theme.cjs +2 -4
- package/dist/cjs/utils/theme.cjs.map +1 -1
- package/dist/esm/components/Accordion/Accordion.js +4 -5
- package/dist/esm/components/Accordion/Accordion.js.map +1 -1
- package/dist/esm/components/ActionsGeneric/ActionsGeneric.js +5 -5
- package/dist/esm/components/ActionsGeneric/ActionsGeneric.js.map +1 -1
- package/dist/esm/components/AppSwitcher/Action/Action.js +2 -2
- package/dist/esm/components/AppSwitcher/Action/Action.js.map +1 -1
- package/dist/esm/components/AppSwitcher/AppSwitcher.js +2 -2
- package/dist/esm/components/AppSwitcher/AppSwitcher.js.map +1 -1
- package/dist/esm/components/Avatar/Avatar.js +1 -1
- package/dist/esm/components/Avatar/Avatar.js.map +1 -1
- package/dist/esm/components/Banner/BannerContent/BannerContent.js +1 -1
- package/dist/esm/components/Banner/BannerContent/BannerContent.js.map +1 -1
- package/dist/esm/components/BaseCheckBox/BaseCheckBox.js +3 -3
- package/dist/esm/components/BaseCheckBox/BaseCheckBox.js.map +1 -1
- package/dist/esm/components/BaseDropdown/BaseDropdown.js +15 -18
- package/dist/esm/components/BaseDropdown/BaseDropdown.js.map +1 -1
- package/dist/esm/components/BaseDropdown/BaseDropdown.styles.js +6 -6
- package/dist/esm/components/BaseDropdown/BaseDropdown.styles.js.map +1 -1
- package/dist/esm/components/BaseInput/BaseInput.js +1 -1
- package/dist/esm/components/BaseInput/BaseInput.js.map +1 -1
- package/dist/esm/components/BaseInput/validations.js +12 -13
- package/dist/esm/components/BaseInput/validations.js.map +1 -1
- package/dist/esm/components/BaseRadio/BaseRadio.js +3 -3
- package/dist/esm/components/BaseRadio/BaseRadio.js.map +1 -1
- package/dist/esm/components/BaseSwitch/BaseSwitch.js +3 -3
- package/dist/esm/components/BaseSwitch/BaseSwitch.js.map +1 -1
- package/dist/esm/components/Box/Box.js +1 -1
- package/dist/esm/components/Box/Box.js.map +1 -1
- package/dist/esm/components/BreadCrumb/BreadCrumb.js +3 -4
- package/dist/esm/components/BreadCrumb/BreadCrumb.js.map +1 -1
- package/dist/esm/components/BreadCrumb/Page/Page.js +11 -9
- package/dist/esm/components/BreadCrumb/Page/Page.js.map +1 -1
- package/dist/esm/components/BreadCrumb/Page/Page.styles.js +3 -3
- package/dist/esm/components/BreadCrumb/Page/Page.styles.js.map +1 -1
- package/dist/esm/components/BreadCrumb/utils.js +1 -1
- package/dist/esm/components/BreadCrumb/utils.js.map +1 -1
- package/dist/esm/components/BulkActions/BulkActions.js +4 -4
- package/dist/esm/components/BulkActions/BulkActions.js.map +1 -1
- package/dist/esm/components/BulkActions/BulkActions.styles.js.map +1 -1
- package/dist/esm/components/Button/Button.js +1 -1
- package/dist/esm/components/Button/Button.js.map +1 -1
- package/dist/esm/components/Calendar/Calendar.js +3 -3
- package/dist/esm/components/Calendar/Calendar.js.map +1 -1
- package/dist/esm/components/Calendar/Calendar.styles.js +1 -1
- package/dist/esm/components/Calendar/Calendar.styles.js.map +1 -1
- package/dist/esm/components/Calendar/CalendarHeader/CalendarHeader.js +6 -8
- package/dist/esm/components/Calendar/CalendarHeader/CalendarHeader.js.map +1 -1
- package/dist/esm/components/Calendar/CalendarHeader/CalendarHeader.styles.js +1 -1
- package/dist/esm/components/Calendar/CalendarHeader/CalendarHeader.styles.js.map +1 -1
- package/dist/esm/components/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.js +4 -4
- package/dist/esm/components/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.js.map +1 -1
- package/dist/esm/components/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.styles.js +1 -1
- package/dist/esm/components/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.styles.js.map +1 -1
- package/dist/esm/components/Calendar/CalendarNavigation/MonthSelector/MonthSelector.js +2 -2
- package/dist/esm/components/Calendar/CalendarNavigation/MonthSelector/MonthSelector.js.map +1 -1
- package/dist/esm/components/Calendar/CalendarNavigation/Navigation/Navigation.js +8 -28
- package/dist/esm/components/Calendar/CalendarNavigation/Navigation/Navigation.js.map +1 -1
- package/dist/esm/components/Calendar/CalendarNavigation/Navigation/Navigation.styles.js +9 -39
- package/dist/esm/components/Calendar/CalendarNavigation/Navigation/Navigation.styles.js.map +1 -1
- package/dist/esm/components/Calendar/SingleCalendar/CalendarCell.js +3 -6
- package/dist/esm/components/Calendar/SingleCalendar/CalendarCell.js.map +1 -1
- package/dist/esm/components/Calendar/SingleCalendar/SingleCalendar.js +15 -17
- package/dist/esm/components/Calendar/SingleCalendar/SingleCalendar.js.map +1 -1
- package/dist/esm/components/Calendar/SingleCalendar/SingleCalendar.styles.js +9 -1
- package/dist/esm/components/Calendar/SingleCalendar/SingleCalendar.styles.js.map +1 -1
- package/dist/esm/components/Calendar/utils.js +8 -12
- package/dist/esm/components/Calendar/utils.js.map +1 -1
- package/dist/esm/components/Card/Card.js.map +1 -1
- package/dist/esm/components/Card/Header/Header.js.map +1 -1
- package/dist/esm/components/Card/Media/Media.js.map +1 -1
- package/dist/esm/components/Carousel/Carousel.js +10 -11
- package/dist/esm/components/Carousel/Carousel.js.map +1 -1
- package/dist/esm/components/Carousel/CarouselControls.js +1 -1
- package/dist/esm/components/Carousel/CarouselControls.js.map +1 -1
- package/dist/esm/components/Carousel/CarouselThumbnails.js +1 -1
- package/dist/esm/components/Carousel/CarouselThumbnails.js.map +1 -1
- package/dist/esm/components/CheckBox/CheckBox.js +3 -3
- package/dist/esm/components/CheckBox/CheckBox.js.map +1 -1
- package/dist/esm/components/CheckBoxGroup/CheckBoxGroup.js +11 -17
- package/dist/esm/components/CheckBoxGroup/CheckBoxGroup.js.map +1 -1
- package/dist/esm/components/ColorPicker/ColorPicker.js +10 -10
- package/dist/esm/components/ColorPicker/ColorPicker.js.map +1 -1
- package/dist/esm/components/ColorPicker/Fields/Fields.js +16 -16
- package/dist/esm/components/ColorPicker/Fields/Fields.js.map +1 -1
- package/dist/esm/components/ColorPicker/Picker/Picker.js +3 -3
- package/dist/esm/components/ColorPicker/Picker/Picker.js.map +1 -1
- package/dist/esm/components/ColorPicker/PresetColors/PresetColors.js.map +1 -1
- package/dist/esm/components/ColorPicker/SavedColors/SavedColors.js.map +1 -1
- package/dist/esm/components/Controls/Controls.js +7 -13
- package/dist/esm/components/Controls/Controls.js.map +1 -1
- package/dist/esm/components/Controls/LeftControl/LeftControl.js +2 -2
- package/dist/esm/components/Controls/LeftControl/LeftControl.js.map +1 -1
- package/dist/esm/components/Controls/RightControl/RightControl.js +3 -3
- package/dist/esm/components/Controls/RightControl/RightControl.js.map +1 -1
- package/dist/esm/components/DatePicker/DatePicker.js +10 -11
- package/dist/esm/components/DatePicker/DatePicker.js.map +1 -1
- package/dist/esm/components/DatePicker/utils.js +1 -1
- package/dist/esm/components/DatePicker/utils.js.map +1 -1
- package/dist/esm/components/Dialog/Actions/Actions.js.map +1 -1
- package/dist/esm/components/Dialog/Content/Content.js.map +1 -1
- package/dist/esm/components/Dialog/Dialog.js +5 -5
- package/dist/esm/components/Dialog/Dialog.js.map +1 -1
- package/dist/esm/components/Dialog/Title/Title.js.map +1 -1
- package/dist/esm/components/DotPagination/DotPagination.js +4 -4
- package/dist/esm/components/DotPagination/DotPagination.js.map +1 -1
- package/dist/esm/components/Drawer/Drawer.js +1 -1
- package/dist/esm/components/Drawer/Drawer.js.map +1 -1
- package/dist/esm/components/DropDownMenu/DropDownMenu.js +5 -6
- package/dist/esm/components/DropDownMenu/DropDownMenu.js.map +1 -1
- package/dist/esm/components/Dropdown/Dropdown.js +10 -12
- package/dist/esm/components/Dropdown/Dropdown.js.map +1 -1
- package/dist/esm/components/Dropdown/List/List.js +10 -11
- package/dist/esm/components/Dropdown/List/List.js.map +1 -1
- package/dist/esm/components/FileUploader/DropZone/DropZone.js +13 -14
- package/dist/esm/components/FileUploader/DropZone/DropZone.js.map +1 -1
- package/dist/esm/components/FileUploader/DropZone/DropZone.styles.js +1 -1
- package/dist/esm/components/FileUploader/DropZone/DropZone.styles.js.map +1 -1
- package/dist/esm/components/FileUploader/File/File.js +6 -6
- package/dist/esm/components/FileUploader/File/File.js.map +1 -1
- package/dist/esm/components/FileUploader/File/File.styles.js +1 -1
- package/dist/esm/components/FileUploader/File/File.styles.js.map +1 -1
- package/dist/esm/components/FileUploader/FileList/FileList.js +1 -1
- package/dist/esm/components/FileUploader/FileList/FileList.js.map +1 -1
- package/dist/esm/components/FileUploader/FileList/FileList.styles.js +1 -1
- package/dist/esm/components/FileUploader/FileList/FileList.styles.js.map +1 -1
- package/dist/esm/components/FileUploader/FileUploader.js +1 -1
- package/dist/esm/components/FileUploader/FileUploader.js.map +1 -1
- package/dist/esm/components/FileUploader/Preview/Preview.js +1 -1
- package/dist/esm/components/FileUploader/Preview/Preview.js.map +1 -1
- package/dist/esm/components/FileUploader/Preview/Preview.styles.js +1 -1
- package/dist/esm/components/FileUploader/Preview/Preview.styles.js.map +1 -1
- package/dist/esm/components/FilterGroup/Counter/Counter.js +2 -4
- package/dist/esm/components/FilterGroup/Counter/Counter.js.map +1 -1
- package/dist/esm/components/FilterGroup/FilterContent/FilterContent.js +10 -11
- package/dist/esm/components/FilterGroup/FilterContent/FilterContent.js.map +1 -1
- package/dist/esm/components/FilterGroup/FilterGroupContext.js +1 -1
- package/dist/esm/components/FilterGroup/FilterGroupContext.js.map +1 -1
- package/dist/esm/components/FilterGroup/RightPanel/RightPanel.js +14 -26
- package/dist/esm/components/FilterGroup/RightPanel/RightPanel.js.map +1 -1
- package/dist/esm/components/Focus/Focus.js +8 -12
- package/dist/esm/components/Focus/Focus.js.map +1 -1
- package/dist/esm/components/Focus/utils.js +1 -1
- package/dist/esm/components/Focus/utils.js.map +1 -1
- package/dist/esm/components/Footer/Footer.js.map +1 -1
- package/dist/esm/components/Footer/Footer.styles.js.map +1 -1
- package/dist/esm/components/Forms/Adornment/Adornment.js +1 -2
- package/dist/esm/components/Forms/Adornment/Adornment.js.map +1 -1
- package/dist/esm/components/Forms/FormElement/utils/FormUtils.js +17 -20
- package/dist/esm/components/Forms/FormElement/utils/FormUtils.js.map +1 -1
- package/dist/esm/components/Forms/Label/Label.js +1 -2
- package/dist/esm/components/Forms/Label/Label.js.map +1 -1
- package/dist/esm/components/Forms/Suggestions/Suggestions.js +2 -2
- package/dist/esm/components/Forms/Suggestions/Suggestions.js.map +1 -1
- package/dist/esm/components/Forms/WarningText/WarningText.js +3 -4
- package/dist/esm/components/Forms/WarningText/WarningText.js.map +1 -1
- package/dist/esm/components/Forms/WarningText/WarningText.styles.js +6 -7
- package/dist/esm/components/Forms/WarningText/WarningText.styles.js.map +1 -1
- package/dist/esm/components/GlobalActions/GlobalActions.js +1 -1
- package/dist/esm/components/GlobalActions/GlobalActions.js.map +1 -1
- package/dist/esm/components/GlobalActions/GlobalActions.styles.js.map +1 -1
- package/dist/esm/components/Grid/Grid.js +1 -1
- package/dist/esm/components/Grid/Grid.js.map +1 -1
- package/dist/esm/components/Header/Actions/Actions.styles.js +1 -2
- package/dist/esm/components/Header/Actions/Actions.styles.js.map +1 -1
- package/dist/esm/components/Header/Navigation/MenuBar/Bar.js +1 -1
- package/dist/esm/components/Header/Navigation/MenuBar/Bar.js.map +1 -1
- package/dist/esm/components/Header/Navigation/MenuBar/MenuBar.js.map +1 -1
- package/dist/esm/components/Header/Navigation/MenuItem/MenuItem.js +14 -15
- package/dist/esm/components/Header/Navigation/MenuItem/MenuItem.js.map +1 -1
- package/dist/esm/components/Header/Navigation/Navigation.js +1 -1
- package/dist/esm/components/Header/Navigation/Navigation.js.map +1 -1
- package/dist/esm/components/Header/Navigation/useSelectionPath.js +1 -1
- package/dist/esm/components/Header/Navigation/useSelectionPath.js.map +1 -1
- package/dist/esm/components/InlineEditor/InlineEditor.js +8 -7
- package/dist/esm/components/InlineEditor/InlineEditor.js.map +1 -1
- package/dist/esm/components/InlineEditor/InlineEditor.styles.js +2 -2
- package/dist/esm/components/InlineEditor/InlineEditor.styles.js.map +1 -1
- package/dist/esm/components/Input/Input.js +24 -29
- package/dist/esm/components/Input/Input.js.map +1 -1
- package/dist/esm/components/Kpi/Kpi.js +4 -4
- package/dist/esm/components/Kpi/Kpi.js.map +1 -1
- package/dist/esm/components/Link/Link.js +1 -1
- package/dist/esm/components/Link/Link.js.map +1 -1
- package/dist/esm/components/List/List.js +5 -6
- package/dist/esm/components/List/List.js.map +1 -1
- package/dist/esm/components/List/utils.js +6 -6
- package/dist/esm/components/List/utils.js.map +1 -1
- package/dist/esm/components/ListContainer/ListItem/ListItem.js +4 -4
- package/dist/esm/components/ListContainer/ListItem/ListItem.js.map +1 -1
- package/dist/esm/components/Login/Login.styles.js +1 -1
- package/dist/esm/components/Login/Login.styles.js.map +1 -1
- package/dist/esm/components/MultiButton/MultiButton.js +1 -1
- package/dist/esm/components/MultiButton/MultiButton.js.map +1 -1
- package/dist/esm/components/MultiButton/MultiButton.styles.js.map +1 -1
- package/dist/esm/components/OverflowTooltip/OverflowTooltip.js +3 -4
- package/dist/esm/components/OverflowTooltip/OverflowTooltip.js.map +1 -1
- package/dist/esm/components/Pagination/Pagination.js +18 -16
- package/dist/esm/components/Pagination/Pagination.js.map +1 -1
- package/dist/esm/components/Pagination/Pagination.styles.js +29 -10
- package/dist/esm/components/Pagination/Pagination.styles.js.map +1 -1
- package/dist/esm/components/Pagination/Select.js +1 -1
- package/dist/esm/components/Pagination/Select.js.map +1 -1
- package/dist/esm/components/Panel/Panel.js.map +1 -1
- package/dist/esm/components/ProgressBar/ProgressBar.js +1 -1
- package/dist/esm/components/ProgressBar/ProgressBar.js.map +1 -1
- package/dist/esm/components/QueryBuilder/ConfirmationDialog/ConfirmationDialog.js +2 -2
- package/dist/esm/components/QueryBuilder/ConfirmationDialog/ConfirmationDialog.js.map +1 -1
- package/dist/esm/components/QueryBuilder/Context.js.map +1 -1
- package/dist/esm/components/QueryBuilder/QueryBuilder.js +3 -3
- package/dist/esm/components/QueryBuilder/QueryBuilder.js.map +1 -1
- package/dist/esm/components/QueryBuilder/Rule/Attribute/Attribute.js +4 -6
- package/dist/esm/components/QueryBuilder/Rule/Attribute/Attribute.js.map +1 -1
- package/dist/esm/components/QueryBuilder/Rule/Rule.js +1 -1
- package/dist/esm/components/QueryBuilder/Rule/Rule.js.map +1 -1
- package/dist/esm/components/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.js +18 -23
- package/dist/esm/components/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.js.map +1 -1
- package/dist/esm/components/QueryBuilder/Rule/Value/NumericValue/NumericValue.js +31 -35
- package/dist/esm/components/QueryBuilder/Rule/Value/NumericValue/NumericValue.js.map +1 -1
- package/dist/esm/components/QueryBuilder/RuleGroup/RuleGroup.js +10 -12
- package/dist/esm/components/QueryBuilder/RuleGroup/RuleGroup.js.map +1 -1
- package/dist/esm/components/QueryBuilder/utils/index.js +1 -1
- package/dist/esm/components/QueryBuilder/utils/index.js.map +1 -1
- package/dist/esm/components/Radio/Radio.js +3 -3
- package/dist/esm/components/Radio/Radio.js.map +1 -1
- package/dist/esm/components/RadioGroup/RadioGroup.js +11 -16
- package/dist/esm/components/RadioGroup/RadioGroup.js.map +1 -1
- package/dist/esm/components/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.js.map +1 -1
- package/dist/esm/components/ScrollTo/Horizontal/ScrollToHorizontal.js +7 -7
- package/dist/esm/components/ScrollTo/Horizontal/ScrollToHorizontal.js.map +1 -1
- package/dist/esm/components/ScrollTo/Vertical/ScrollToVertical.js +4 -4
- package/dist/esm/components/ScrollTo/Vertical/ScrollToVertical.js.map +1 -1
- package/dist/esm/components/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.js +1 -1
- package/dist/esm/components/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.js.map +1 -1
- package/dist/esm/components/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.styles.js +1 -1
- package/dist/esm/components/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.styles.js.map +1 -1
- package/dist/esm/components/ScrollTo/useScrollTo.js +3 -3
- package/dist/esm/components/ScrollTo/useScrollTo.js.map +1 -1
- package/dist/esm/components/ScrollTo/utils.js +4 -7
- package/dist/esm/components/ScrollTo/utils.js.map +1 -1
- package/dist/esm/components/Section/Section.js +51 -0
- package/dist/esm/components/Section/Section.js.map +1 -0
- package/dist/esm/components/Section/Section.styles.js +40 -0
- package/dist/esm/components/Section/Section.styles.js.map +1 -0
- package/dist/esm/components/SelectionList/SelectionList.js +9 -15
- package/dist/esm/components/SelectionList/SelectionList.js.map +1 -1
- package/dist/esm/components/Slider/Slider.js +9 -10
- package/dist/esm/components/Slider/Slider.js.map +1 -1
- package/dist/esm/components/Slider/Slider.styles.js.map +1 -1
- package/dist/esm/components/Slider/SliderInput/SliderInput.js +2 -2
- package/dist/esm/components/Slider/SliderInput/SliderInput.js.map +1 -1
- package/dist/esm/components/Slider/utils.js +2 -2
- package/dist/esm/components/Slider/utils.js.map +1 -1
- package/dist/esm/components/Snackbar/Snackbar.js.map +1 -1
- package/dist/esm/components/Snackbar/SnackbarContent/SnackbarContent.js +2 -2
- package/dist/esm/components/Snackbar/SnackbarContent/SnackbarContent.js.map +1 -1
- package/dist/esm/components/Stack/Stack.js.map +1 -1
- package/dist/esm/components/Switch/Switch.js +1 -1
- package/dist/esm/components/Switch/Switch.js.map +1 -1
- package/dist/esm/components/Tab/Tab.js.map +1 -1
- package/dist/esm/components/Tab/Tab.styles.js +1 -1
- package/dist/esm/components/Tab/Tab.styles.js.map +1 -1
- package/dist/esm/components/Table/TableBody/TableBody.js +1 -2
- package/dist/esm/components/Table/TableBody/TableBody.js.map +1 -1
- package/dist/esm/components/Table/TableCell/TableCell.js +3 -4
- package/dist/esm/components/Table/TableCell/TableCell.js.map +1 -1
- package/dist/esm/components/Table/TableHead/TableHead.js +1 -2
- package/dist/esm/components/Table/TableHead/TableHead.js.map +1 -1
- package/dist/esm/components/Table/TableHeader/TableHeader.js +3 -4
- package/dist/esm/components/Table/TableHeader/TableHeader.js.map +1 -1
- package/dist/esm/components/Table/TableRow/TableRow.js +2 -3
- package/dist/esm/components/Table/TableRow/TableRow.js.map +1 -1
- package/dist/esm/components/Table/hooks/useHeaderGroups.js +1 -2
- package/dist/esm/components/Table/hooks/useHeaderGroups.js.map +1 -1
- package/dist/esm/components/Table/hooks/useResizeColumns.js +1 -2
- package/dist/esm/components/Table/hooks/useResizeColumns.js.map +1 -1
- package/dist/esm/components/Table/hooks/useRowExpand.js +2 -5
- package/dist/esm/components/Table/hooks/useRowExpand.js.map +1 -1
- package/dist/esm/components/Table/hooks/useRowSelection.js +2 -4
- package/dist/esm/components/Table/hooks/useRowSelection.js.map +1 -1
- package/dist/esm/components/Table/hooks/useSticky.js +5 -7
- package/dist/esm/components/Table/hooks/useSticky.js.map +1 -1
- package/dist/esm/components/Table/hooks/useTable.js.map +1 -1
- package/dist/esm/components/Table/hooks/useTableStyles.js.map +1 -1
- package/dist/esm/components/Table/renderers/DropdownColumnCell/DropdownColumnCell.js +1 -1
- package/dist/esm/components/Table/renderers/DropdownColumnCell/DropdownColumnCell.js.map +1 -1
- package/dist/esm/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.js +1 -1
- package/dist/esm/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.js.map +1 -1
- package/dist/esm/components/Table/renderers/renderers.js +6 -7
- package/dist/esm/components/Table/renderers/renderers.js.map +1 -1
- package/dist/esm/components/Table/utils/fallbacks.js +1 -1
- package/dist/esm/components/Table/utils/fallbacks.js.map +1 -1
- package/dist/esm/components/Tabs/Tabs.js.map +1 -1
- package/dist/esm/components/Tabs/Tabs.styles.js.map +1 -1
- package/dist/esm/components/Tag/Tag.js +2 -2
- package/dist/esm/components/Tag/Tag.js.map +1 -1
- package/dist/esm/components/Tag/Tag.styles.js.map +1 -1
- package/dist/esm/components/TagsInput/TagsInput.js +16 -24
- package/dist/esm/components/TagsInput/TagsInput.js.map +1 -1
- package/dist/esm/components/TextArea/TextArea.js +5 -7
- package/dist/esm/components/TextArea/TextArea.js.map +1 -1
- package/dist/esm/components/TimePicker/Placeholder.js +1 -1
- package/dist/esm/components/TimePicker/Placeholder.js.map +1 -1
- package/dist/esm/components/TimePicker/TimePicker.js +3 -4
- package/dist/esm/components/TimePicker/TimePicker.js.map +1 -1
- package/dist/esm/components/ToggleButton/ToggleButton.js +1 -1
- package/dist/esm/components/ToggleButton/ToggleButton.js.map +1 -1
- package/dist/esm/components/Tooltip/Tooltip.js +1 -1
- package/dist/esm/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/esm/components/Tooltip/Tooltip.styles.js.map +1 -1
- package/dist/esm/components/Typography/Typography.js +1 -1
- package/dist/esm/components/Typography/Typography.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/Actions/Action.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/Actions/Action.styles.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/Actions/Actions.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/Actions/Actions.styles.js +1 -1
- package/dist/esm/components/VerticalNavigation/Actions/Actions.styles.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/Header/Header.js +1 -1
- package/dist/esm/components/VerticalNavigation/Header/Header.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/Navigation/Navigation.js +10 -10
- package/dist/esm/components/VerticalNavigation/Navigation/Navigation.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/Navigation/Navigation.styles.js +1 -1
- package/dist/esm/components/VerticalNavigation/Navigation/Navigation.styles.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/NavigationPopup/NavigationPopup.styles.js +2 -2
- package/dist/esm/components/VerticalNavigation/NavigationPopup/NavigationPopup.styles.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/NavigationPopup/NavigationPopupContainer.js +1 -1
- package/dist/esm/components/VerticalNavigation/NavigationPopup/NavigationPopupContainer.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/NavigationSlider/NavigationSlider.js +2 -2
- package/dist/esm/components/VerticalNavigation/NavigationSlider/NavigationSlider.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/NavigationSlider/NavigationSlider.styles.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/NavigationSlider/utils/NavigationSlider.utils.js +2 -4
- package/dist/esm/components/VerticalNavigation/NavigationSlider/utils/NavigationSlider.utils.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/TreeView/IconWrapper/IconWrapper.js +1 -1
- package/dist/esm/components/VerticalNavigation/TreeView/IconWrapper/IconWrapper.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/TreeView/TreeView.js +5 -16
- package/dist/esm/components/VerticalNavigation/TreeView/TreeView.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/TreeView/TreeView.styles.js +1 -1
- package/dist/esm/components/VerticalNavigation/TreeView/TreeView.styles.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/TreeView/TreeViewItem.js +7 -8
- package/dist/esm/components/VerticalNavigation/TreeView/TreeViewItem.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/TreeView/descendants.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/VerticalNavigation.js +2 -2
- package/dist/esm/components/VerticalNavigation/VerticalNavigation.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/VerticalNavigation.styles.js +1 -1
- package/dist/esm/components/VerticalNavigation/VerticalNavigation.styles.js.map +1 -1
- package/dist/esm/hocs/withTooltip.js +1 -1
- package/dist/esm/hocs/withTooltip.js.map +1 -1
- package/dist/esm/hooks/useClickOutside.js +2 -2
- package/dist/esm/hooks/useClickOutside.js.map +1 -1
- package/dist/esm/hooks/useComputation.js +1 -1
- package/dist/esm/hooks/useComputation.js.map +1 -1
- package/dist/esm/hooks/useCss.js.map +1 -1
- package/dist/esm/hooks/useDefaultProps.js +4 -5
- package/dist/esm/hooks/useDefaultProps.js.map +1 -1
- package/dist/esm/hooks/useTheme.js +1 -2
- package/dist/esm/hooks/useTheme.js.map +1 -1
- package/dist/esm/index.js +4 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/utils/classes.js +2 -2
- package/dist/esm/utils/classes.js.map +1 -1
- package/dist/esm/utils/keyboardUtils.js +1 -1
- package/dist/esm/utils/keyboardUtils.js.map +1 -1
- package/dist/esm/utils/setId.js +1 -2
- package/dist/esm/utils/setId.js.map +1 -1
- package/dist/esm/utils/theme.js +2 -4
- package/dist/esm/utils/theme.js.map +1 -1
- package/dist/types/index.d.ts +59 -4
- package/package.json +5 -5
- package/dist/cjs/components/Calendar/CalendarWeekLabels/CalendarWeekLabels.cjs +0 -24
- package/dist/cjs/components/Calendar/CalendarWeekLabels/CalendarWeekLabels.cjs.map +0 -1
- package/dist/cjs/components/Calendar/CalendarWeekLabels/CalendarWeekLabels.styles.cjs +0 -19
- package/dist/cjs/components/Calendar/CalendarWeekLabels/CalendarWeekLabels.styles.cjs.map +0 -1
- package/dist/esm/components/Calendar/CalendarWeekLabels/CalendarWeekLabels.js +0 -25
- package/dist/esm/components/Calendar/CalendarWeekLabels/CalendarWeekLabels.js.map +0 -1
- package/dist/esm/components/Calendar/CalendarWeekLabels/CalendarWeekLabels.styles.js +0 -19
- package/dist/esm/components/Calendar/CalendarWeekLabels/CalendarWeekLabels.styles.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useHeaderGroups.js","sources":["../../../../../src/components/Table/hooks/useHeaderGroups.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"useHeaderGroups.js","sources":["../../../../../src/components/Table/hooks/useHeaderGroups.ts"],"sourcesContent":["import { CSSProperties } from \"react\";\nimport { Hooks } from \"react-table\";\n\n// #region ##### TYPES #####\n\nexport interface UseHvHeaderGroupsInstance {\n hasGroupedColumns?: boolean;\n}\n\n// props target: <table><thead><tr><th>\nexport interface UseHvHeaderGroupsColumnProps {\n style?: CSSProperties;\n groupColumnMostLeft?: boolean;\n groupColumnMostRight?: boolean;\n}\n\n// props target: <table><tbody><tr><td>\nexport interface UseHvHeaderGroupsCellProps {\n groupColumnMostLeft?: boolean;\n groupColumnMostRight?: boolean;\n}\n\nexport type UseHvHeaderGroupsProps = (<\n D extends object = Record<string, unknown>\n>(\n hooks: Hooks<D>\n) => void) & { pluginName: string };\n\n// #endregion ##### TYPES #####\n\n/**\n * Moving non grouped headers to the top level,\n * by placing them in the position of their top level placeholder.\n *\n * By default the header groups are built bottom top,\n * that results in non grouped headers to be placed\n * at the bottom row in the table head.\n *\n * @param {Array.<Object>} headerGroups - table header groups\n */\nconst replaceHeaderPlaceholders = (headerGroups) => {\n const [headerGroup] = headerGroups;\n\n const hasPlaceholderHeaders = headerGroup.headers.some(\n (h) => h.placeholderOf != null\n );\n if (!hasPlaceholderHeaders) {\n return; // no placeholder header found to replace\n }\n\n const maxDepth = headerGroups.length - 1;\n const leafGroup = headerGroups[maxDepth];\n\n headerGroup.headers.forEach((header, position) => {\n const { placeholderOf } = header;\n\n const isPlaceholderHeader = placeholderOf != null;\n if (isPlaceholderHeader) {\n // is placeholder header\n const leafIndex =\n leafGroup.headers\n .slice(position)\n .findIndex(({ id }) => id === placeholderOf.id) + position;\n\n // store leaf placeholder header\n header.variant = placeholderOf.variant;\n header.depth = maxDepth;\n leafGroup.headers[leafIndex] = header;\n\n // replace placeholder with leaf header\n placeholderOf.rowSpan = maxDepth + 1;\n headerGroup.headers[position] = placeholderOf;\n }\n });\n};\n\nconst getCellProps = (column, isHeaderCell = false) => ({\n groupColumnMostLeft: column.isGroupLeftColumn,\n groupColumnMostRight: column.isGroupRightColumn,\n rowSpan: isHeaderCell && column.rowSpan != null ? column.rowSpan : 1,\n});\n\n// props target: <table><thead><tr><th>\nconst getHeaderPropsHook = (props, { instance, column }) => {\n const nextProps: UseHvHeaderGroupsColumnProps = instance.hasGroupedColumns\n ? getCellProps(column, true)\n : {};\n\n if (instance.hasGroupedColumns) {\n const isPlaceholder = column.placeholderOf != null;\n\n nextProps.style = {\n display: isPlaceholder ? \"none\" : props.style?.display,\n };\n\n if (instance.hasStickyColumns) {\n if (isPlaceholder) {\n nextProps.style.visibility = \"hidden\";\n }\n\n if (column.rowSpan > 1) {\n // rowSpan doesn't work with flex, so we need to simulate it by adjusting the height value manually\n nextProps.style.height = `calc(var(--first-row-cell-height) + var(--cell-height) * ${\n column.rowSpan - 1\n })`;\n }\n }\n }\n\n return [props, nextProps];\n};\n\n// props target: <table><tbody><tr><td>\nconst getCellPropsHook = (props, { instance, cell }) => {\n const nextProps: UseHvHeaderGroupsCellProps = instance.hasGroupedColumns\n ? getCellProps(cell.column)\n : {};\n\n return [props, nextProps];\n};\n\nconst visibleColumnsHook = (visibleColumns, { instance }) => {\n const parentList = new Set();\n\n visibleColumns.forEach(({ parent }) => {\n if (parent != null && !parentList.has(parent)) {\n parentList.add(parent);\n }\n });\n\n const hasGroupedColumns = parentList.size > 0;\n if (hasGroupedColumns) {\n parentList.forEach((parent: any) => {\n parent.align = \"center\";\n parent.isGroupLeftColumn = true;\n parent.isGroupRightColumn = true;\n\n const { columns } = parent;\n columns[0].isGroupLeftColumn = true;\n columns[columns.length - 1].isGroupRightColumn = true;\n });\n }\n\n Object.assign(instance, { hasGroupedColumns });\n\n return visibleColumns;\n};\n\nconst useInstanceHook = (instance) => {\n if (instance.hasGroupedColumns) {\n replaceHeaderPlaceholders(instance.headerGroups);\n }\n};\n\nconst useHeaderGroups: UseHvHeaderGroupsProps = (hooks) => {\n hooks.visibleColumns.push(visibleColumnsHook);\n hooks.useInstance.push(useInstanceHook);\n\n // props target: <table><thead><tr><th>\n hooks.getHeaderProps.push(getHeaderPropsHook);\n // props target: <table><tbody><tr><td>\n hooks.getCellProps.push(getCellPropsHook);\n};\n\nuseHeaderGroups.pluginName = \"useHvHeaderGroups\";\n\nexport default useHeaderGroups;\n"],"names":["replaceHeaderPlaceholders","headerGroups","headerGroup","hasPlaceholderHeaders","headers","some","h","placeholderOf","maxDepth","length","leafGroup","forEach","header","position","isPlaceholderHeader","leafIndex","slice","findIndex","id","variant","depth","rowSpan","getCellProps","column","isHeaderCell","groupColumnMostLeft","isGroupLeftColumn","groupColumnMostRight","isGroupRightColumn","getHeaderPropsHook","props","instance","nextProps","hasGroupedColumns","isPlaceholder","style","display","hasStickyColumns","visibility","height","getCellPropsHook","cell","visibleColumnsHook","visibleColumns","parentList","Set","parent","has","add","size","align","columns","Object","assign","useInstanceHook","useHeaderGroups","hooks","push","useInstance","getHeaderProps","pluginName"],"mappings":"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"}
|
|
@@ -2,8 +2,7 @@ import { ensurePluginOrder } from "react-table";
|
|
|
2
2
|
const getHeaderPropsHook = (props, {
|
|
3
3
|
column
|
|
4
4
|
}) => {
|
|
5
|
-
|
|
6
|
-
const resizerProps = ((_a = column.getResizerProps) == null ? void 0 : _a.call(column)) || {};
|
|
5
|
+
const resizerProps = column.getResizerProps?.() || {};
|
|
7
6
|
const nextProps = {
|
|
8
7
|
resizable: column.canResize,
|
|
9
8
|
resizing: column.isResizing,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useResizeColumns.js","sources":["../../../../../src/components/Table/hooks/useResizeColumns.ts"],"sourcesContent":["import { ensurePluginOrder, Hooks } from \"react-table\";\n\n// #region ##### TYPES #####\n\n// getHeaderProps:\nexport interface UseHvResizeColumnProps {\n resizable?: boolean;\n resizing?: boolean;\n}\n\n// getCellProps:\nexport interface UseHvResizeTableCellProps {\n resizable?: boolean;\n resizing?: boolean;\n}\n\nexport type UseHvResizeColumnsProps = (<\n D extends object = Record<string, unknown>\n>(\n hooks: Hooks<D>\n) => void) & { pluginName: string };\n\n// #endregion ##### TYPES #####\n\n// props target: <table><thead><tr><th>\nconst getHeaderPropsHook = (props, { column }) => {\n const resizerProps: UseHvResizeColumnProps = column.getResizerProps?.() || {};\n\n const nextProps = {\n resizable: column.canResize,\n resizing: column.isResizing,\n resizerProps,\n };\n\n return [props, nextProps];\n};\n\n// props target: <table><tbody><tr><td>\nconst getCellPropsHook = (props, { cell }) => {\n const nextProps: UseHvResizeTableCellProps = {\n resizable: cell.column.canResize,\n resizing: cell.column.isResizing,\n };\n\n return [props, nextProps];\n};\n\nconst useInstanceHook = (instance) => {\n ensurePluginOrder(\n instance.plugins,\n [\"useResizeColumns\"],\n \"useHvResizeColumns\"\n );\n};\n\nconst useResizeColumns: UseHvResizeColumnsProps = (hooks) => {\n // props target: <table><thead><tr><th>\n hooks.getHeaderProps.push(getHeaderPropsHook);\n // props target: <table><tbody><tr><td>\n hooks.getCellProps.push(getCellPropsHook);\n\n hooks.useInstance.push(useInstanceHook);\n};\n\nuseResizeColumns.pluginName = \"useHvResizeColumns\";\n\nexport default useResizeColumns;\n"],"names":["getHeaderPropsHook","props","column","resizerProps","getResizerProps","nextProps","resizable","canResize","resizing","isResizing","getCellPropsHook","cell","useInstanceHook","instance","ensurePluginOrder","plugins","useResizeColumns","hooks","getHeaderProps","push","getCellProps","useInstance","pluginName"],"mappings":";AAyBA,MAAMA,qBAAqBA,CAACC,OAAO;AAAA,EAAEC;AAAO,MAAM
|
|
1
|
+
{"version":3,"file":"useResizeColumns.js","sources":["../../../../../src/components/Table/hooks/useResizeColumns.ts"],"sourcesContent":["import { ensurePluginOrder, Hooks } from \"react-table\";\n\n// #region ##### TYPES #####\n\n// getHeaderProps:\nexport interface UseHvResizeColumnProps {\n resizable?: boolean;\n resizing?: boolean;\n}\n\n// getCellProps:\nexport interface UseHvResizeTableCellProps {\n resizable?: boolean;\n resizing?: boolean;\n}\n\nexport type UseHvResizeColumnsProps = (<\n D extends object = Record<string, unknown>\n>(\n hooks: Hooks<D>\n) => void) & { pluginName: string };\n\n// #endregion ##### TYPES #####\n\n// props target: <table><thead><tr><th>\nconst getHeaderPropsHook = (props, { column }) => {\n const resizerProps: UseHvResizeColumnProps = column.getResizerProps?.() || {};\n\n const nextProps = {\n resizable: column.canResize,\n resizing: column.isResizing,\n resizerProps,\n };\n\n return [props, nextProps];\n};\n\n// props target: <table><tbody><tr><td>\nconst getCellPropsHook = (props, { cell }) => {\n const nextProps: UseHvResizeTableCellProps = {\n resizable: cell.column.canResize,\n resizing: cell.column.isResizing,\n };\n\n return [props, nextProps];\n};\n\nconst useInstanceHook = (instance) => {\n ensurePluginOrder(\n instance.plugins,\n [\"useResizeColumns\"],\n \"useHvResizeColumns\"\n );\n};\n\nconst useResizeColumns: UseHvResizeColumnsProps = (hooks) => {\n // props target: <table><thead><tr><th>\n hooks.getHeaderProps.push(getHeaderPropsHook);\n // props target: <table><tbody><tr><td>\n hooks.getCellProps.push(getCellPropsHook);\n\n hooks.useInstance.push(useInstanceHook);\n};\n\nuseResizeColumns.pluginName = \"useHvResizeColumns\";\n\nexport default useResizeColumns;\n"],"names":["getHeaderPropsHook","props","column","resizerProps","getResizerProps","nextProps","resizable","canResize","resizing","isResizing","getCellPropsHook","cell","useInstanceHook","instance","ensurePluginOrder","plugins","useResizeColumns","hooks","getHeaderProps","push","getCellProps","useInstance","pluginName"],"mappings":";AAyBA,MAAMA,qBAAqBA,CAACC,OAAO;AAAA,EAAEC;AAAO,MAAM;AAChD,QAAMC,eAAuCD,OAAOE,kBAAkB,KAAK,CAAA;AAE3E,QAAMC,YAAY;AAAA,IAChBC,WAAWJ,OAAOK;AAAAA,IAClBC,UAAUN,OAAOO;AAAAA,IACjBN;AAAAA,EAAAA;AAGK,SAAA,CAACF,OAAOI,SAAS;AAC1B;AAGA,MAAMK,mBAAmBA,CAACT,OAAO;AAAA,EAAEU;AAAK,MAAM;AAC5C,QAAMN,YAAuC;AAAA,IAC3CC,WAAWK,KAAKT,OAAOK;AAAAA,IACvBC,UAAUG,KAAKT,OAAOO;AAAAA,EAAAA;AAGjB,SAAA,CAACR,OAAOI,SAAS;AAC1B;AAEA,MAAMO,kBAAmBC,CAAa,aAAA;AACpCC,oBACED,SAASE,SACT,CAAC,kBAAkB,GACnB,oBACF;AACF;AAEA,MAAMC,mBAA6CC,CAAU,UAAA;AAErDC,QAAAA,eAAeC,KAAKnB,kBAAkB;AAEtCoB,QAAAA,aAAaD,KAAKT,gBAAgB;AAElCW,QAAAA,YAAYF,KAAKP,eAAe;AACxC;AAEAI,iBAAiBM,aAAa;AAE9B,MAAA,qBAAeN;"}
|
|
@@ -18,7 +18,7 @@ const CellWithExpandButton = ({
|
|
|
18
18
|
} = row.getToggleRowExpandedProps();
|
|
19
19
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
20
20
|
/* @__PURE__ */ jsx(HvButton, { icon: true, "aria-label": row.isExpanded ? labels.collapseRowButtonAriaLabel : labels.expandRowButtonAriaLabel, "aria-expanded": row.isExpanded, onClick, children: row.isExpanded ? /* @__PURE__ */ jsx(DropDownXS, {}) : /* @__PURE__ */ jsx(DropUpXS, {}) }),
|
|
21
|
-
|
|
21
|
+
cell?.value && /* @__PURE__ */ jsx(HvTypography, { variant: "label", component: "span", children: cell.value })
|
|
22
22
|
] });
|
|
23
23
|
};
|
|
24
24
|
const visibleColumnsHook = (columns, {
|
|
@@ -27,10 +27,7 @@ const visibleColumnsHook = (columns, {
|
|
|
27
27
|
if (instance.disableCreateExpandButton) {
|
|
28
28
|
return columns;
|
|
29
29
|
}
|
|
30
|
-
const firstDataColumnIndex = columns.findIndex((c) =>
|
|
31
|
-
var _a;
|
|
32
|
-
return ((_a = c.id) == null ? void 0 : _a.indexOf("_hv_")) !== 0;
|
|
33
|
-
});
|
|
30
|
+
const firstDataColumnIndex = columns.findIndex((c) => c.id?.indexOf("_hv_") !== 0);
|
|
34
31
|
if (firstDataColumnIndex !== -1) {
|
|
35
32
|
const firstDataColumn = columns[firstDataColumnIndex];
|
|
36
33
|
if (firstDataColumn.Cell == null) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRowExpand.js","sources":["../../../../../src/components/Table/hooks/useRowExpand.tsx"],"sourcesContent":["import { MouseEventHandler } from \"react\";\nimport {\n Hooks,\n TableExpandedToggleProps,\n UseExpandedRowProps,\n} from \"react-table\";\n\nimport { DropDownXS, DropUpXS } from \"@hitachivantara/uikit-react-icons\";\n\nimport { HvTypography } from \"@core/components/Typography\";\nimport { HvButton } from \"@core/components/Button\";\n\nimport { useLabels } from \"@core/hooks/useLabels\";\n\n// #region ##### TYPES #####\n\nexport interface UseHvRowExpandTableRowProps {\n expanded?: boolean;\n}\n\nexport type UseHvRowExpandTableOptions = {\n disableCreateExpandButton?: boolean;\n};\n\nexport interface UseHvRowExpandRowToggleProps extends TableExpandedToggleProps {\n onClick?: MouseEventHandler<unknown>;\n}\n\nexport interface UseHvRowExpandRowInstance<\n D extends object = Record<string, unknown>\n> extends UseExpandedRowProps<D> {\n getToggleRowExpandedProps: (\n props?: Partial<TableExpandedToggleProps>\n ) => UseHvRowExpandRowToggleProps;\n}\n\nexport type UseRowExpandProps = (<D extends object = Record<string, unknown>>(\n hooks: Hooks<D>\n) => void) & { pluginName: string };\n\n// #endregion ##### TYPES #####\n\nconst DEFAULT_LABELS = {\n expandRowButtonAriaLabel: \"Expand this row\",\n collapseRowButtonAriaLabel: \"Collapse this row\",\n};\n\nexport const CellWithExpandButton = ({ row, cell, labels: labelsProp }) => {\n const labels = useLabels(DEFAULT_LABELS, labelsProp);\n\n const { onClick } = row.getToggleRowExpandedProps();\n\n return (\n <>\n <HvButton\n icon\n aria-label={\n row.isExpanded\n ? labels.collapseRowButtonAriaLabel\n : labels.expandRowButtonAriaLabel\n }\n aria-expanded={row.isExpanded}\n onClick={onClick}\n >\n {row.isExpanded ? <DropDownXS /> : <DropUpXS />}\n </HvButton>\n {cell?.value && (\n <HvTypography variant=\"label\" component=\"span\">\n {cell.value}\n </HvTypography>\n )}\n </>\n );\n};\n\nconst visibleColumnsHook = (columns, { instance }) => {\n if (instance.disableCreateExpandButton) {\n return columns;\n }\n\n // add a button to first data column, unless it has a custom renderer\n // if so, add an extra column instead\n const firstDataColumnIndex = columns.findIndex(\n (c) => c.id?.indexOf(\"_hv_\") !== 0\n );\n\n if (firstDataColumnIndex !== -1) {\n const firstDataColumn = columns[firstDataColumnIndex];\n\n if (firstDataColumn.Cell == null) {\n firstDataColumn.Cell = CellWithExpandButton;\n firstDataColumn.variant = \"expand\";\n\n return columns;\n }\n }\n\n const expandColumn = {\n id: \"_hv_expand\",\n variant: \"none\",\n\n width: 32,\n\n // this will only work when using useHvTableSticky\n // but ensures it stays left of any sticky column\n sticky: \"left\",\n\n Cell: CellWithExpandButton,\n };\n\n const columnsCopy = [...columns];\n columnsCopy.splice(\n firstDataColumnIndex !== -1 ? firstDataColumnIndex : 0,\n 0,\n expandColumn\n );\n\n return columnsCopy;\n};\n\nconst getRowPropsHook = (props, { row }) => {\n const nextProps: UseHvRowExpandTableRowProps = {\n expanded: row.isExpanded,\n };\n\n return [props, nextProps];\n};\n\nconst useRowExpand: UseRowExpandProps = (hooks) => {\n hooks.visibleColumns.push(visibleColumnsHook);\n hooks.getRowProps.push(getRowPropsHook);\n};\nuseRowExpand.pluginName = \"useHvRowExpand\";\n\nexport default useRowExpand;\n"],"names":["DEFAULT_LABELS","expandRowButtonAriaLabel","collapseRowButtonAriaLabel","CellWithExpandButton","row","cell","labels","labelsProp","useLabels","onClick","getToggleRowExpandedProps","isExpanded","value","visibleColumnsHook","columns","instance","disableCreateExpandButton","firstDataColumnIndex","findIndex","c","id","indexOf","firstDataColumn","Cell","variant","expandColumn","width","sticky","columnsCopy","splice","getRowPropsHook","props","nextProps","expanded","useRowExpand","hooks","visibleColumns","push","getRowProps","pluginName"],"mappings":";;;;;AA0CA,MAAMA,iBAAiB;AAAA,EACrBC,0BAA0B;AAAA,EAC1BC,4BAA4B;AAC9B;AAEO,MAAMC,uBAAuBA,CAAC;AAAA,EAAEC;AAAAA,EAAKC;AAAAA,EAAMC,QAAQC;AAAW,MAAM;AACnED,QAAAA,SAASE,UAAUR,gBAAgBO,UAAU;AAE7C,QAAA;AAAA,IAAEE;AAAAA,EAAAA,IAAYL,IAAIM;AAExB,SAEI,qBAAA,UAAA,EAAA,UAAA;AAAA,IAAC,oBAAA,UAAA,EACC,MAAI,MACJ,cACEN,IAAIO,aACAL,OAAOJ,6BACPI,OAAOL,0BAEb,iBAAeG,IAAIO,YACnB,SAECP,UAAIO,IAAAA,iCAAc,YAAa,CAAA,CAAA,IAAI,oBAAA,UAAA,CAAA,CAAW,EACjD,CAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"useRowExpand.js","sources":["../../../../../src/components/Table/hooks/useRowExpand.tsx"],"sourcesContent":["import { MouseEventHandler } from \"react\";\nimport {\n Hooks,\n TableExpandedToggleProps,\n UseExpandedRowProps,\n} from \"react-table\";\n\nimport { DropDownXS, DropUpXS } from \"@hitachivantara/uikit-react-icons\";\n\nimport { HvTypography } from \"@core/components/Typography\";\nimport { HvButton } from \"@core/components/Button\";\n\nimport { useLabels } from \"@core/hooks/useLabels\";\n\n// #region ##### TYPES #####\n\nexport interface UseHvRowExpandTableRowProps {\n expanded?: boolean;\n}\n\nexport type UseHvRowExpandTableOptions = {\n disableCreateExpandButton?: boolean;\n};\n\nexport interface UseHvRowExpandRowToggleProps extends TableExpandedToggleProps {\n onClick?: MouseEventHandler<unknown>;\n}\n\nexport interface UseHvRowExpandRowInstance<\n D extends object = Record<string, unknown>\n> extends UseExpandedRowProps<D> {\n getToggleRowExpandedProps: (\n props?: Partial<TableExpandedToggleProps>\n ) => UseHvRowExpandRowToggleProps;\n}\n\nexport type UseRowExpandProps = (<D extends object = Record<string, unknown>>(\n hooks: Hooks<D>\n) => void) & { pluginName: string };\n\n// #endregion ##### TYPES #####\n\nconst DEFAULT_LABELS = {\n expandRowButtonAriaLabel: \"Expand this row\",\n collapseRowButtonAriaLabel: \"Collapse this row\",\n};\n\nexport const CellWithExpandButton = ({ row, cell, labels: labelsProp }) => {\n const labels = useLabels(DEFAULT_LABELS, labelsProp);\n\n const { onClick } = row.getToggleRowExpandedProps();\n\n return (\n <>\n <HvButton\n icon\n aria-label={\n row.isExpanded\n ? labels.collapseRowButtonAriaLabel\n : labels.expandRowButtonAriaLabel\n }\n aria-expanded={row.isExpanded}\n onClick={onClick}\n >\n {row.isExpanded ? <DropDownXS /> : <DropUpXS />}\n </HvButton>\n {cell?.value && (\n <HvTypography variant=\"label\" component=\"span\">\n {cell.value}\n </HvTypography>\n )}\n </>\n );\n};\n\nconst visibleColumnsHook = (columns, { instance }) => {\n if (instance.disableCreateExpandButton) {\n return columns;\n }\n\n // add a button to first data column, unless it has a custom renderer\n // if so, add an extra column instead\n const firstDataColumnIndex = columns.findIndex(\n (c) => c.id?.indexOf(\"_hv_\") !== 0\n );\n\n if (firstDataColumnIndex !== -1) {\n const firstDataColumn = columns[firstDataColumnIndex];\n\n if (firstDataColumn.Cell == null) {\n firstDataColumn.Cell = CellWithExpandButton;\n firstDataColumn.variant = \"expand\";\n\n return columns;\n }\n }\n\n const expandColumn = {\n id: \"_hv_expand\",\n variant: \"none\",\n\n width: 32,\n\n // this will only work when using useHvTableSticky\n // but ensures it stays left of any sticky column\n sticky: \"left\",\n\n Cell: CellWithExpandButton,\n };\n\n const columnsCopy = [...columns];\n columnsCopy.splice(\n firstDataColumnIndex !== -1 ? firstDataColumnIndex : 0,\n 0,\n expandColumn\n );\n\n return columnsCopy;\n};\n\nconst getRowPropsHook = (props, { row }) => {\n const nextProps: UseHvRowExpandTableRowProps = {\n expanded: row.isExpanded,\n };\n\n return [props, nextProps];\n};\n\nconst useRowExpand: UseRowExpandProps = (hooks) => {\n hooks.visibleColumns.push(visibleColumnsHook);\n hooks.getRowProps.push(getRowPropsHook);\n};\nuseRowExpand.pluginName = \"useHvRowExpand\";\n\nexport default useRowExpand;\n"],"names":["DEFAULT_LABELS","expandRowButtonAriaLabel","collapseRowButtonAriaLabel","CellWithExpandButton","row","cell","labels","labelsProp","useLabels","onClick","getToggleRowExpandedProps","isExpanded","value","visibleColumnsHook","columns","instance","disableCreateExpandButton","firstDataColumnIndex","findIndex","c","id","indexOf","firstDataColumn","Cell","variant","expandColumn","width","sticky","columnsCopy","splice","getRowPropsHook","props","nextProps","expanded","useRowExpand","hooks","visibleColumns","push","getRowProps","pluginName"],"mappings":";;;;;AA0CA,MAAMA,iBAAiB;AAAA,EACrBC,0BAA0B;AAAA,EAC1BC,4BAA4B;AAC9B;AAEO,MAAMC,uBAAuBA,CAAC;AAAA,EAAEC;AAAAA,EAAKC;AAAAA,EAAMC,QAAQC;AAAW,MAAM;AACnED,QAAAA,SAASE,UAAUR,gBAAgBO,UAAU;AAE7C,QAAA;AAAA,IAAEE;AAAAA,EAAAA,IAAYL,IAAIM;AAExB,SAEI,qBAAA,UAAA,EAAA,UAAA;AAAA,IAAC,oBAAA,UAAA,EACC,MAAI,MACJ,cACEN,IAAIO,aACAL,OAAOJ,6BACPI,OAAOL,0BAEb,iBAAeG,IAAIO,YACnB,SAECP,UAAIO,IAAAA,iCAAc,YAAa,CAAA,CAAA,IAAI,oBAAA,UAAA,CAAA,CAAW,EACjD,CAAA;AAAA,IACCN,MAAMO,SACJ,oBAAA,cAAA,EAAa,SAAQ,SAAQ,WAAU,QACrCP,UAAAA,KAAKO,MACR,CAAA;AAAA,EAEJ,EAAA,CAAA;AAEJ;AAEA,MAAMC,qBAAqBA,CAACC,SAAS;AAAA,EAAEC;AAAS,MAAM;AACpD,MAAIA,SAASC,2BAA2B;AAC/BF,WAAAA;AAAAA,EACT;AAIMG,QAAAA,uBAAuBH,QAAQI,UAClCC,CAAAA,MAAMA,EAAEC,IAAIC,QAAQ,MAAM,MAAM,CACnC;AAEA,MAAIJ,yBAAyB,IAAI;AACzBK,UAAAA,kBAAkBR,QAAQG,oBAAoB;AAEhDK,QAAAA,gBAAgBC,QAAQ,MAAM;AAChCD,sBAAgBC,OAAOpB;AACvBmB,sBAAgBE,UAAU;AAEnBV,aAAAA;AAAAA,IACT;AAAA,EACF;AAEA,QAAMW,eAAe;AAAA,IACnBL,IAAI;AAAA,IACJI,SAAS;AAAA,IAETE,OAAO;AAAA;AAAA;AAAA,IAIPC,QAAQ;AAAA,IAERJ,MAAMpB;AAAAA,EAAAA;AAGFyB,QAAAA,cAAc,CAAC,GAAGd,OAAO;AAC/Bc,cAAYC,OACVZ,yBAAyB,KAAKA,uBAAuB,GACrD,GACAQ,YACF;AAEOG,SAAAA;AACT;AAEA,MAAME,kBAAkBA,CAACC,OAAO;AAAA,EAAE3B;AAAI,MAAM;AAC1C,QAAM4B,YAAyC;AAAA,IAC7CC,UAAU7B,IAAIO;AAAAA,EAAAA;AAGT,SAAA,CAACoB,OAAOC,SAAS;AAC1B;AAEA,MAAME,eAAmCC,CAAU,UAAA;AAC3CC,QAAAA,eAAeC,KAAKxB,kBAAkB;AACtCyB,QAAAA,YAAYD,KAAKP,eAAe;AACxC;AACAI,aAAaK,aAAa;AAE1B,MAAA,iBAAeL;"}
|
|
@@ -61,8 +61,7 @@ const defaultGetToggleRowSelectedProps = (props, meta) => {
|
|
|
61
61
|
}
|
|
62
62
|
return [props, {
|
|
63
63
|
onChange: (e, check) => {
|
|
64
|
-
|
|
65
|
-
row.toggleRowSelected(check ?? ((_a = e == null ? void 0 : e.target) == null ? void 0 : _a.checked));
|
|
64
|
+
row.toggleRowSelected(check ?? e?.target?.checked);
|
|
66
65
|
},
|
|
67
66
|
disabled: row.isSelectionLocked,
|
|
68
67
|
checked,
|
|
@@ -443,14 +442,13 @@ function useInstance(instance) {
|
|
|
443
442
|
function prepareRow(row, {
|
|
444
443
|
instance
|
|
445
444
|
}) {
|
|
446
|
-
var _a, _b;
|
|
447
445
|
row.toggleRowSelected = (set) => instance.toggleRowSelected(row.id, set);
|
|
448
446
|
row.getToggleRowSelectedProps = makePropGetter(instance.getHooks().getToggleRowSelectedProps, {
|
|
449
447
|
instance,
|
|
450
448
|
row
|
|
451
449
|
});
|
|
452
450
|
row.toggleRowLockedSelection = (set) => instance.toggleRowLockedSelection(row.id, set);
|
|
453
|
-
row.isSelectionLocked =
|
|
451
|
+
row.isSelectionLocked = instance.state?.lockedSelectionRowIds?.[row.id] || false;
|
|
454
452
|
}
|
|
455
453
|
const useRowSelection = (hooks) => {
|
|
456
454
|
hooks.visibleColumns.push(visibleColumnsHook);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRowSelection.js","sources":["../../../../../src/components/Table/hooks/useRowSelection.tsx"],"sourcesContent":["import { ChangeEvent, useCallback, useMemo } from \"react\";\nimport {\n Hooks,\n IdType,\n PropGetter,\n Row,\n actions,\n ensurePluginOrder,\n useGetLatest,\n useMountedLayoutEffect,\n makePropGetter,\n} from \"react-table\";\n\nimport { useLabels } from \"@core/hooks/useLabels\";\n\nimport { HvCheckBox } from \"@core/components/CheckBox\";\n\n// #region ##### TYPES #####\n\n// getRowProps:\nexport interface UseHvRowSelectionTableRowProps {\n selected?: boolean;\n}\n\nexport interface UseHvRowSelectionRowCheckboxProps {\n onChange?: (e: ChangeEvent, checked?: boolean) => void;\n checked?: boolean;\n disabled?: boolean;\n indeterminate?: boolean;\n}\n\nexport interface UseHvRowSelectionBulkCheckboxProps {\n onChange?: (e: ChangeEvent, checked?: boolean) => void;\n checked?: boolean;\n indeterminate?: boolean;\n}\n\nexport type UseHvRowSelectionTableOptions = Partial<{\n autoResetSelectedRows: boolean;\n autoResetLockedSelectionRows: boolean;\n selectSubRows: boolean;\n manualRowSelectedKey: string;\n applyToggleAllRowsSelectedToPrefilteredRows: boolean;\n}>;\n\nexport interface UseHvRowSelectionHooks<D extends object> {\n getToggleRowSelectedProps: Array<\n PropGetter<D, UseHvRowSelectionRowCheckboxProps>\n >;\n getToggleAllRowsSelectedProps: Array<\n PropGetter<D, UseHvRowSelectionBulkCheckboxProps>\n >;\n getToggleAllPageRowsSelectedProps: Array<\n PropGetter<D, UseHvRowSelectionBulkCheckboxProps>\n >;\n}\n\nexport interface UseHvRowSelectionState<D extends object> {\n selectedRowIds: Record<IdType<D>, boolean>;\n lockedSelectionRowIds: Record<IdType<D>, boolean>;\n}\n\nexport interface UseHvRowSelectionTableInstance<D extends object> {\n toggleRowSelected: (rowId: IdType<D>, set?: boolean) => void;\n toggleAllRowsSelected: (value?: boolean) => void;\n toggleAllPageRowsSelected: (value?: boolean) => void;\n getToggleAllRowsSelectedProps: (\n props?: Partial<UseHvRowSelectionBulkCheckboxProps>\n ) => UseHvRowSelectionBulkCheckboxProps;\n getToggleAllPageRowsSelectedProps: (\n props?: Partial<UseHvRowSelectionBulkCheckboxProps>\n ) => UseHvRowSelectionBulkCheckboxProps;\n\n isNoRowsSelected: boolean;\n isNoPageRowsSelected: boolean;\n isAllRowsSelected: boolean;\n isAllPageRowsSelected: boolean;\n isAllSelectableRowsSelected: boolean;\n isAllSelectablePageRowsSelected: boolean;\n isAllSelectableRowsUnselected: boolean;\n isAllSelectablePageRowsUnselected: boolean;\n\n selectedFlatRows: Array<Row<D>>;\n}\n\nexport interface UseHvRowSelectionRowInstance {\n isSelected: boolean;\n isSomeSelected: boolean;\n isSelectionLocked: boolean;\n toggleRowLockedSelection: (set?: boolean) => void;\n toggleRowSelected: (set?: boolean) => void;\n getToggleRowSelectedProps: (\n props?: Partial<UseHvRowSelectionRowCheckboxProps>\n ) => UseHvRowSelectionRowCheckboxProps;\n}\n\nexport type UseRowSelectionProps = (<\n D extends object = Record<string, unknown>\n>(\n hooks: Hooks<D>\n) => void) & { pluginName: string };\n\n// #endregion ##### TYPES #####\n\n// Actions\nactions.resetSelectedRows = \"resetSelectedRows\";\nactions.toggleAllRowsSelected = \"toggleAllRowsSelected\";\nactions.toggleRowSelected = \"toggleRowSelected\";\nactions.toggleAllPageRowsSelected = \"toggleAllPageRowsSelected\";\n\nactions.resetLockedSelectionRows = \"resetLockedSelectionRows\";\nactions.toggleRowLockedSelection = \"toggleRowLockedSelection\";\n\nconst DEFAULT_LABELS = {\n selectRowCheckBoxAriaLabel: \"Select this row\",\n};\n\nexport const CellWithCheckBox = ({ row, labels: labelsProp }) => {\n const labels = useLabels(DEFAULT_LABELS, labelsProp);\n\n const { onChange, checked, disabled, indeterminate } =\n row.getToggleRowSelectedProps();\n\n return (\n <HvCheckBox\n onChange={onChange}\n checked={checked}\n disabled={disabled}\n indeterminate={indeterminate}\n aria-label={labels.selectRowCheckBoxAriaLabel}\n />\n );\n};\n\nconst visibleColumnsHook = (columns) => {\n const selectionColumn = {\n id: \"_hv_selection\",\n variant: \"checkbox\",\n\n width: 32,\n\n // this will only work when using useHvTableSticky\n // but ensures it stays left of any sticky column\n sticky: \"left\",\n\n Cell: CellWithCheckBox,\n };\n\n return [selectionColumn, ...columns];\n};\n\nconst getRowPropsHook = (props, { row }) => {\n const nextProps: UseHvRowSelectionTableRowProps = {\n selected: row.isSelected,\n };\n\n return [props, nextProps];\n};\n\nexport const defaultGetToggleRowSelectedProps = (props, meta) => {\n const { instance, row } = meta;\n const { manualRowSelectedKey = \"isSelected\" } = instance;\n let checked = false;\n\n if (row.original && row.original[manualRowSelectedKey]) {\n checked = true;\n } else {\n checked = row.isSelected;\n }\n\n return [\n props,\n {\n onChange: (e, check) => {\n row.toggleRowSelected(check ?? e?.target?.checked);\n },\n disabled: row.isSelectionLocked,\n checked,\n indeterminate: row.isSomeSelected,\n },\n ];\n};\n\nexport const defaultGetToggleAllRowsSelectedProps = (props, { instance }) => [\n props,\n {\n onChange: (e) => {\n instance.toggleAllRowsSelected(e.target.checked);\n },\n checked: instance.isAllRowsSelected,\n indeterminate: Boolean(\n !instance.isAllRowsSelected &&\n Object.keys(instance.state.selectedRowIds).length\n ),\n },\n];\n\nexport const defaultGetToggleAllPageRowsSelectedProps = (\n props,\n { instance }\n) => [\n props,\n {\n onChange(e) {\n instance.toggleAllPageRowsSelected(e.target.checked);\n },\n checked: instance.isAllPageRowsSelected,\n indeterminate: Boolean(\n !instance.isAllPageRowsSelected &&\n instance.page.some(({ id }) => instance.state.selectedRowIds[id])\n ),\n },\n];\n\nexport function reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n selectedRowIds: {},\n lockedSelectionRowIds: {},\n ...state,\n };\n }\n\n if (action.type === actions.resetSelectedRows) {\n return {\n ...state,\n selectedRowIds: instance.initialState.selectedRowIds || {},\n };\n }\n\n if (action.type === actions.toggleAllRowsSelected) {\n const { value: setSelected } = action;\n const {\n isAllRowsSelected,\n rowsById,\n initialRowsById,\n nonGroupedRowsById = rowsById,\n applyToggleAllRowsSelectedToPrefilteredRows,\n } = instance;\n\n const rowsToSelect = applyToggleAllRowsSelectedToPrefilteredRows\n ? initialRowsById\n : nonGroupedRowsById;\n\n const selectAll =\n typeof setSelected !== \"undefined\" ? setSelected : !isAllRowsSelected;\n\n // Only remove/add the rows that are visible on the screen\n // Leave all the other rows that are selected alone.\n const selectedRowIds = { ...state.selectedRowIds };\n\n if (selectAll) {\n Object.keys(rowsToSelect).forEach((rowId) => {\n const isSelectionLocked = state.lockedSelectionRowIds[rowId];\n if (!isSelectionLocked) {\n selectedRowIds[rowId] = true;\n }\n });\n } else {\n Object.keys(rowsToSelect).forEach((rowId) => {\n const isSelectionLocked = state.lockedSelectionRowIds[rowId];\n if (!isSelectionLocked) {\n delete selectedRowIds[rowId];\n }\n });\n }\n\n return {\n ...state,\n selectedRowIds,\n };\n }\n\n if (action.type === actions.toggleRowSelected) {\n const { id, value: setSelected } = action;\n const isSelectionLocked = state.lockedSelectionRowIds[id];\n if (isSelectionLocked) {\n return state;\n }\n\n const { rowsById, selectSubRows = true, getSubRows } = instance;\n const isSelected = state.selectedRowIds[id];\n const shouldExist =\n typeof setSelected !== \"undefined\" ? setSelected : !isSelected;\n\n if (isSelected === shouldExist) {\n return state;\n }\n\n const newSelectedRowIds = { ...state.selectedRowIds };\n\n const handleRowById = (rowId) => {\n const row = rowsById[rowId];\n\n if (!row.isGrouped) {\n if (shouldExist) {\n newSelectedRowIds[rowId] = true;\n } else {\n delete newSelectedRowIds[rowId];\n }\n }\n\n if (selectSubRows && getSubRows(row)) {\n getSubRows(row).forEach((subrow) => {\n handleRowById(subrow.id);\n });\n }\n };\n\n handleRowById(id);\n\n return {\n ...state,\n selectedRowIds: newSelectedRowIds,\n };\n }\n\n if (action.type === actions.toggleAllPageRowsSelected) {\n const { value: setSelected } = action;\n const {\n page,\n rowsById,\n selectSubRows = true,\n isAllPageRowsSelected,\n getSubRows,\n } = instance;\n\n const selectAll =\n typeof setSelected !== \"undefined\" ? setSelected : !isAllPageRowsSelected;\n const newSelectedRowIds = { ...state.selectedRowIds };\n\n const handleRowById = (rowId) => {\n const row = rowsById[rowId];\n const isSelectionLocked = state.lockedSelectionRowIds[rowId];\n\n if (!isSelectionLocked && !row.isGrouped) {\n if (selectAll) {\n newSelectedRowIds[rowId] = true;\n } else {\n delete newSelectedRowIds[rowId];\n }\n }\n\n if (selectSubRows && getSubRows(row)) {\n getSubRows(row).forEach((subrow) => {\n handleRowById(subrow.id);\n });\n }\n };\n\n page.forEach((row) => handleRowById(row.id));\n\n return {\n ...state,\n selectedRowIds: newSelectedRowIds,\n };\n }\n\n if (action.type === actions.resetLockedSelectionRows) {\n return {\n ...state,\n lockedSelectionRowIds: instance.initialState.lockedSelectionRowIds || {},\n };\n }\n\n if (action.type === actions.toggleRowLockedSelection) {\n const { id, value: setLockedSelection } = action;\n const { rowsById, selectSubRows = true, getSubRows } = instance;\n const isLockedSelection = state.lockedSelectionRowIds[id];\n const shouldExist =\n typeof setLockedSelection !== \"undefined\"\n ? setLockedSelection\n : !isLockedSelection;\n\n if (isLockedSelection === shouldExist) {\n return state;\n }\n\n const newLockedSelectionRowIds = { ...state.lockedSelectionRowIds };\n\n const handleRowById = (rowId) => {\n const row = rowsById[rowId];\n\n if (!row.isGrouped) {\n if (shouldExist) {\n newLockedSelectionRowIds[rowId] = true;\n } else {\n delete newLockedSelectionRowIds[rowId];\n }\n }\n\n if (selectSubRows && getSubRows(row)) {\n getSubRows(row).forEach((subrow) => {\n handleRowById(subrow.id);\n });\n }\n };\n\n handleRowById(id);\n\n return {\n ...state,\n lockedSelectionRowIds: newLockedSelectionRowIds,\n };\n }\n\n return state;\n}\n\nfunction getRowIsSelected(row, selectedRowIds, getSubRows) {\n if (selectedRowIds[row.id]) {\n return true;\n }\n\n const subRows = getSubRows(row);\n\n if (subRows && subRows.length) {\n let allChildrenSelected = true;\n let someSelected = false;\n\n subRows.forEach((subRow) => {\n // Bail out early if we know both of these\n if (someSelected && !allChildrenSelected) {\n return;\n }\n\n if (getRowIsSelected(subRow, selectedRowIds, getSubRows)) {\n someSelected = true;\n } else {\n allChildrenSelected = false;\n }\n });\n\n if (allChildrenSelected) {\n return true;\n }\n\n if (someSelected) {\n return null;\n }\n }\n\n return false;\n}\n\nexport function useInstance(instance) {\n const {\n data,\n rows,\n getHooks,\n plugins,\n rowsById,\n initialRowsById,\n nonGroupedRowsById = rowsById,\n autoResetSelectedRows = true,\n autoResetLockedSelectionRows = true,\n state: { selectedRowIds, lockedSelectionRowIds },\n selectSubRows = true,\n dispatch,\n page,\n getSubRows,\n applyToggleAllRowsSelectedToPrefilteredRows,\n } = instance;\n\n ensurePluginOrder(\n plugins,\n [\"useFilters\", \"useGroupBy\", \"useSortBy\", \"useExpanded\", \"usePagination\"],\n \"useHvRowSelection\"\n );\n\n const rowsToSelect = applyToggleAllRowsSelectedToPrefilteredRows\n ? initialRowsById\n : nonGroupedRowsById;\n\n const selectedFlatRows = useMemo(() => {\n const selectedRows: any[] = [];\n\n rows.forEach((row) => {\n const isSelected = selectSubRows\n ? getRowIsSelected(row, selectedRowIds, getSubRows)\n : !!selectedRowIds[row.id];\n row.isSelected = !!isSelected;\n row.isSomeSelected = isSelected === null;\n\n if (isSelected) {\n selectedRows.push(row);\n }\n });\n\n return selectedRows;\n }, [rows, selectSubRows, selectedRowIds, getSubRows]);\n\n const existsLockedRows = !!Object.keys(lockedSelectionRowIds).length;\n\n const isNoRowsSelected = !(\n Object.keys(rowsToSelect).length && selectedFlatRows.length\n );\n\n let isNoPageRowsSelected;\n let isAllRowsSelected;\n let isAllPageRowsSelected;\n\n let isAllSelectableRowsUnselected;\n let isAllSelectablePageRowsUnselected;\n let isAllSelectableRowsSelected;\n let isAllSelectablePageRowsSelected;\n\n if (isNoRowsSelected) {\n isAllRowsSelected = false;\n isAllPageRowsSelected = false;\n\n isAllSelectableRowsSelected =\n existsLockedRows &&\n !Object.keys(rowsToSelect).some((id) => !lockedSelectionRowIds[id]);\n isAllSelectablePageRowsSelected = isAllSelectableRowsSelected;\n\n isAllSelectableRowsUnselected = isAllSelectableRowsSelected;\n isAllSelectablePageRowsUnselected = isAllSelectableRowsSelected;\n\n isNoPageRowsSelected = true;\n } else {\n isAllRowsSelected = !Object.keys(rowsToSelect).some(\n (id) => !selectedRowIds[id]\n );\n\n if (isAllRowsSelected) {\n isAllSelectableRowsSelected = true;\n isAllSelectablePageRowsSelected = true;\n\n isAllSelectableRowsUnselected =\n existsLockedRows &&\n Object.keys(rowsToSelect).filter((id) => !lockedSelectionRowIds[id])\n .length === 0;\n isAllSelectablePageRowsUnselected = isAllSelectableRowsUnselected;\n\n isNoPageRowsSelected = false;\n isAllPageRowsSelected = true;\n } else {\n isAllSelectableRowsSelected =\n existsLockedRows &&\n !Object.keys(rowsToSelect)\n .filter((id) => !lockedSelectionRowIds[id])\n .some((id) => !selectedRowIds[id]);\n\n isAllSelectableRowsUnselected =\n !existsLockedRows ||\n !Object.keys(rowsToSelect)\n .filter((id) => !lockedSelectionRowIds[id])\n .some((id) => selectedRowIds[id]);\n\n isAllPageRowsSelected = !(\n page &&\n page.length &&\n page.some(({ id }) => !selectedRowIds[id])\n );\n\n if (isAllPageRowsSelected) {\n isAllSelectablePageRowsSelected = true;\n\n isAllSelectablePageRowsUnselected =\n existsLockedRows &&\n page &&\n page.length &&\n page.filter(({ id }) => !lockedSelectionRowIds[id]).length === 0;\n\n isNoPageRowsSelected = false;\n } else {\n isAllSelectablePageRowsSelected =\n existsLockedRows &&\n !(\n page &&\n page.length &&\n page\n .filter(({ id }) => !lockedSelectionRowIds[id])\n .some(({ id }) => !selectedRowIds[id])\n );\n\n isAllSelectablePageRowsUnselected =\n !existsLockedRows ||\n !(\n page &&\n page.length &&\n page\n .filter(({ id }) => !lockedSelectionRowIds[id])\n .some(({ id }) => selectedRowIds[id])\n );\n\n isNoPageRowsSelected = !(\n page &&\n page.length &&\n page.some(({ id }) => selectedRowIds[id])\n );\n }\n }\n }\n\n const getAutoResetSelectedRows = useGetLatest(autoResetSelectedRows);\n\n const getAutoResetLockedSelectionRows = useGetLatest(\n autoResetLockedSelectionRows\n );\n\n useMountedLayoutEffect(() => {\n if (getAutoResetSelectedRows()) {\n dispatch({ type: actions.resetSelectedRows });\n }\n if (getAutoResetLockedSelectionRows()) {\n dispatch({ type: actions.resetLockedSelectionRows });\n }\n }, [dispatch, data]);\n\n const toggleAllRowsSelected = useCallback(\n (value) => dispatch({ type: actions.toggleAllRowsSelected, value }),\n [dispatch]\n );\n\n const toggleAllPageRowsSelected = useCallback(\n (value) => dispatch({ type: actions.toggleAllPageRowsSelected, value }),\n [dispatch]\n );\n\n const toggleRowSelected = useCallback(\n (id, value) => dispatch({ type: actions.toggleRowSelected, id, value }),\n [dispatch]\n );\n\n const getInstance = useGetLatest(instance);\n\n const getToggleAllRowsSelectedProps = makePropGetter(\n getHooks().getToggleAllRowsSelectedProps,\n {\n instance: getInstance(),\n }\n );\n\n const getToggleAllPageRowsSelectedProps = makePropGetter(\n getHooks().getToggleAllPageRowsSelectedProps,\n { instance: getInstance() }\n );\n\n const toggleRowLockedSelection = useCallback(\n (id, value) =>\n dispatch({ type: actions.toggleRowLockedSelection, id, value }),\n [dispatch]\n );\n\n Object.assign(instance, {\n selectedFlatRows,\n isNoRowsSelected,\n isNoPageRowsSelected,\n isAllRowsSelected,\n isAllPageRowsSelected,\n isAllSelectableRowsSelected,\n isAllSelectablePageRowsSelected,\n isAllSelectableRowsUnselected,\n isAllSelectablePageRowsUnselected,\n toggleRowSelected,\n toggleAllRowsSelected,\n getToggleAllRowsSelectedProps,\n getToggleAllPageRowsSelectedProps,\n toggleAllPageRowsSelected,\n toggleRowLockedSelection,\n });\n}\n\nexport function prepareRow(row, { instance }) {\n row.toggleRowSelected = (set) => instance.toggleRowSelected(row.id, set);\n row.getToggleRowSelectedProps = makePropGetter(\n instance.getHooks().getToggleRowSelectedProps,\n {\n instance,\n row,\n }\n );\n\n row.toggleRowLockedSelection = (set) =>\n instance.toggleRowLockedSelection(row.id, set);\n row.isSelectionLocked =\n instance.state?.lockedSelectionRowIds?.[row.id] || false;\n}\n\nconst useRowSelection: UseRowSelectionProps = (hooks) => {\n hooks.visibleColumns.push(visibleColumnsHook);\n\n hooks.getRowProps.push(getRowPropsHook);\n\n hooks.getToggleRowSelectedProps = [defaultGetToggleRowSelectedProps];\n hooks.getToggleAllRowsSelectedProps = [defaultGetToggleAllRowsSelectedProps];\n hooks.getToggleAllPageRowsSelectedProps = [\n defaultGetToggleAllPageRowsSelectedProps,\n ];\n\n hooks.stateReducers.push(reducer);\n hooks.useInstance.push(useInstance);\n hooks.prepareRow.push(prepareRow);\n};\n\nuseRowSelection.pluginName = \"useHvRowSelection\";\n\nexport default useRowSelection;\n"],"names":["actions","resetSelectedRows","toggleAllRowsSelected","toggleRowSelected","toggleAllPageRowsSelected","resetLockedSelectionRows","toggleRowLockedSelection","DEFAULT_LABELS","selectRowCheckBoxAriaLabel","CellWithCheckBox","row","labels","labelsProp","useLabels","onChange","checked","disabled","indeterminate","getToggleRowSelectedProps","visibleColumnsHook","columns","selectionColumn","id","variant","width","sticky","Cell","getRowPropsHook","props","nextProps","selected","isSelected","defaultGetToggleRowSelectedProps","meta","instance","manualRowSelectedKey","original","e","check","target","isSelectionLocked","isSomeSelected","defaultGetToggleAllRowsSelectedProps","isAllRowsSelected","Boolean","Object","keys","state","selectedRowIds","length","defaultGetToggleAllPageRowsSelectedProps","isAllPageRowsSelected","page","some","reducer","action","previousState","type","init","lockedSelectionRowIds","initialState","value","setSelected","rowsById","initialRowsById","nonGroupedRowsById","applyToggleAllRowsSelectedToPrefilteredRows","rowsToSelect","selectAll","forEach","rowId","selectSubRows","getSubRows","shouldExist","newSelectedRowIds","handleRowById","isGrouped","subrow","setLockedSelection","isLockedSelection","newLockedSelectionRowIds","getRowIsSelected","subRows","allChildrenSelected","someSelected","subRow","useInstance","data","rows","getHooks","plugins","autoResetSelectedRows","autoResetLockedSelectionRows","dispatch","selectedFlatRows","useMemo","selectedRows","push","existsLockedRows","isNoRowsSelected","isNoPageRowsSelected","isAllSelectableRowsUnselected","isAllSelectablePageRowsUnselected","isAllSelectableRowsSelected","isAllSelectablePageRowsSelected","filter","getAutoResetSelectedRows","useGetLatest","getAutoResetLockedSelectionRows","useMountedLayoutEffect","useCallback","getInstance","getToggleAllRowsSelectedProps","makePropGetter","getToggleAllPageRowsSelectedProps","assign","prepareRow","set","useRowSelection","hooks","visibleColumns","getRowProps","stateReducers","pluginName"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useRowSelection.js","sources":["../../../../../src/components/Table/hooks/useRowSelection.tsx"],"sourcesContent":["import { ChangeEvent, useCallback, useMemo } from \"react\";\nimport {\n Hooks,\n IdType,\n PropGetter,\n Row,\n actions,\n ensurePluginOrder,\n useGetLatest,\n useMountedLayoutEffect,\n makePropGetter,\n} from \"react-table\";\n\nimport { useLabels } from \"@core/hooks/useLabels\";\n\nimport { HvCheckBox } from \"@core/components/CheckBox\";\n\n// #region ##### TYPES #####\n\n// getRowProps:\nexport interface UseHvRowSelectionTableRowProps {\n selected?: boolean;\n}\n\nexport interface UseHvRowSelectionRowCheckboxProps {\n onChange?: (e: ChangeEvent, checked?: boolean) => void;\n checked?: boolean;\n disabled?: boolean;\n indeterminate?: boolean;\n}\n\nexport interface UseHvRowSelectionBulkCheckboxProps {\n onChange?: (e: ChangeEvent, checked?: boolean) => void;\n checked?: boolean;\n indeterminate?: boolean;\n}\n\nexport type UseHvRowSelectionTableOptions = Partial<{\n autoResetSelectedRows: boolean;\n autoResetLockedSelectionRows: boolean;\n selectSubRows: boolean;\n manualRowSelectedKey: string;\n applyToggleAllRowsSelectedToPrefilteredRows: boolean;\n}>;\n\nexport interface UseHvRowSelectionHooks<D extends object> {\n getToggleRowSelectedProps: Array<\n PropGetter<D, UseHvRowSelectionRowCheckboxProps>\n >;\n getToggleAllRowsSelectedProps: Array<\n PropGetter<D, UseHvRowSelectionBulkCheckboxProps>\n >;\n getToggleAllPageRowsSelectedProps: Array<\n PropGetter<D, UseHvRowSelectionBulkCheckboxProps>\n >;\n}\n\nexport interface UseHvRowSelectionState<D extends object> {\n selectedRowIds: Record<IdType<D>, boolean>;\n lockedSelectionRowIds: Record<IdType<D>, boolean>;\n}\n\nexport interface UseHvRowSelectionTableInstance<D extends object> {\n toggleRowSelected: (rowId: IdType<D>, set?: boolean) => void;\n toggleAllRowsSelected: (value?: boolean) => void;\n toggleAllPageRowsSelected: (value?: boolean) => void;\n getToggleAllRowsSelectedProps: (\n props?: Partial<UseHvRowSelectionBulkCheckboxProps>\n ) => UseHvRowSelectionBulkCheckboxProps;\n getToggleAllPageRowsSelectedProps: (\n props?: Partial<UseHvRowSelectionBulkCheckboxProps>\n ) => UseHvRowSelectionBulkCheckboxProps;\n\n isNoRowsSelected: boolean;\n isNoPageRowsSelected: boolean;\n isAllRowsSelected: boolean;\n isAllPageRowsSelected: boolean;\n isAllSelectableRowsSelected: boolean;\n isAllSelectablePageRowsSelected: boolean;\n isAllSelectableRowsUnselected: boolean;\n isAllSelectablePageRowsUnselected: boolean;\n\n selectedFlatRows: Array<Row<D>>;\n}\n\nexport interface UseHvRowSelectionRowInstance {\n isSelected: boolean;\n isSomeSelected: boolean;\n isSelectionLocked: boolean;\n toggleRowLockedSelection: (set?: boolean) => void;\n toggleRowSelected: (set?: boolean) => void;\n getToggleRowSelectedProps: (\n props?: Partial<UseHvRowSelectionRowCheckboxProps>\n ) => UseHvRowSelectionRowCheckboxProps;\n}\n\nexport type UseRowSelectionProps = (<\n D extends object = Record<string, unknown>\n>(\n hooks: Hooks<D>\n) => void) & { pluginName: string };\n\n// #endregion ##### TYPES #####\n\n// Actions\nactions.resetSelectedRows = \"resetSelectedRows\";\nactions.toggleAllRowsSelected = \"toggleAllRowsSelected\";\nactions.toggleRowSelected = \"toggleRowSelected\";\nactions.toggleAllPageRowsSelected = \"toggleAllPageRowsSelected\";\n\nactions.resetLockedSelectionRows = \"resetLockedSelectionRows\";\nactions.toggleRowLockedSelection = \"toggleRowLockedSelection\";\n\nconst DEFAULT_LABELS = {\n selectRowCheckBoxAriaLabel: \"Select this row\",\n};\n\nexport const CellWithCheckBox = ({ row, labels: labelsProp }) => {\n const labels = useLabels(DEFAULT_LABELS, labelsProp);\n\n const { onChange, checked, disabled, indeterminate } =\n row.getToggleRowSelectedProps();\n\n return (\n <HvCheckBox\n onChange={onChange}\n checked={checked}\n disabled={disabled}\n indeterminate={indeterminate}\n aria-label={labels.selectRowCheckBoxAriaLabel}\n />\n );\n};\n\nconst visibleColumnsHook = (columns) => {\n const selectionColumn = {\n id: \"_hv_selection\",\n variant: \"checkbox\",\n\n width: 32,\n\n // this will only work when using useHvTableSticky\n // but ensures it stays left of any sticky column\n sticky: \"left\",\n\n Cell: CellWithCheckBox,\n };\n\n return [selectionColumn, ...columns];\n};\n\nconst getRowPropsHook = (props, { row }) => {\n const nextProps: UseHvRowSelectionTableRowProps = {\n selected: row.isSelected,\n };\n\n return [props, nextProps];\n};\n\nexport const defaultGetToggleRowSelectedProps = (props, meta) => {\n const { instance, row } = meta;\n const { manualRowSelectedKey = \"isSelected\" } = instance;\n let checked = false;\n\n if (row.original && row.original[manualRowSelectedKey]) {\n checked = true;\n } else {\n checked = row.isSelected;\n }\n\n return [\n props,\n {\n onChange: (e, check) => {\n row.toggleRowSelected(check ?? e?.target?.checked);\n },\n disabled: row.isSelectionLocked,\n checked,\n indeterminate: row.isSomeSelected,\n },\n ];\n};\n\nexport const defaultGetToggleAllRowsSelectedProps = (props, { instance }) => [\n props,\n {\n onChange: (e) => {\n instance.toggleAllRowsSelected(e.target.checked);\n },\n checked: instance.isAllRowsSelected,\n indeterminate: Boolean(\n !instance.isAllRowsSelected &&\n Object.keys(instance.state.selectedRowIds).length\n ),\n },\n];\n\nexport const defaultGetToggleAllPageRowsSelectedProps = (\n props,\n { instance }\n) => [\n props,\n {\n onChange(e) {\n instance.toggleAllPageRowsSelected(e.target.checked);\n },\n checked: instance.isAllPageRowsSelected,\n indeterminate: Boolean(\n !instance.isAllPageRowsSelected &&\n instance.page.some(({ id }) => instance.state.selectedRowIds[id])\n ),\n },\n];\n\nexport function reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n selectedRowIds: {},\n lockedSelectionRowIds: {},\n ...state,\n };\n }\n\n if (action.type === actions.resetSelectedRows) {\n return {\n ...state,\n selectedRowIds: instance.initialState.selectedRowIds || {},\n };\n }\n\n if (action.type === actions.toggleAllRowsSelected) {\n const { value: setSelected } = action;\n const {\n isAllRowsSelected,\n rowsById,\n initialRowsById,\n nonGroupedRowsById = rowsById,\n applyToggleAllRowsSelectedToPrefilteredRows,\n } = instance;\n\n const rowsToSelect = applyToggleAllRowsSelectedToPrefilteredRows\n ? initialRowsById\n : nonGroupedRowsById;\n\n const selectAll =\n typeof setSelected !== \"undefined\" ? setSelected : !isAllRowsSelected;\n\n // Only remove/add the rows that are visible on the screen\n // Leave all the other rows that are selected alone.\n const selectedRowIds = { ...state.selectedRowIds };\n\n if (selectAll) {\n Object.keys(rowsToSelect).forEach((rowId) => {\n const isSelectionLocked = state.lockedSelectionRowIds[rowId];\n if (!isSelectionLocked) {\n selectedRowIds[rowId] = true;\n }\n });\n } else {\n Object.keys(rowsToSelect).forEach((rowId) => {\n const isSelectionLocked = state.lockedSelectionRowIds[rowId];\n if (!isSelectionLocked) {\n delete selectedRowIds[rowId];\n }\n });\n }\n\n return {\n ...state,\n selectedRowIds,\n };\n }\n\n if (action.type === actions.toggleRowSelected) {\n const { id, value: setSelected } = action;\n const isSelectionLocked = state.lockedSelectionRowIds[id];\n if (isSelectionLocked) {\n return state;\n }\n\n const { rowsById, selectSubRows = true, getSubRows } = instance;\n const isSelected = state.selectedRowIds[id];\n const shouldExist =\n typeof setSelected !== \"undefined\" ? setSelected : !isSelected;\n\n if (isSelected === shouldExist) {\n return state;\n }\n\n const newSelectedRowIds = { ...state.selectedRowIds };\n\n const handleRowById = (rowId) => {\n const row = rowsById[rowId];\n\n if (!row.isGrouped) {\n if (shouldExist) {\n newSelectedRowIds[rowId] = true;\n } else {\n delete newSelectedRowIds[rowId];\n }\n }\n\n if (selectSubRows && getSubRows(row)) {\n getSubRows(row).forEach((subrow) => {\n handleRowById(subrow.id);\n });\n }\n };\n\n handleRowById(id);\n\n return {\n ...state,\n selectedRowIds: newSelectedRowIds,\n };\n }\n\n if (action.type === actions.toggleAllPageRowsSelected) {\n const { value: setSelected } = action;\n const {\n page,\n rowsById,\n selectSubRows = true,\n isAllPageRowsSelected,\n getSubRows,\n } = instance;\n\n const selectAll =\n typeof setSelected !== \"undefined\" ? setSelected : !isAllPageRowsSelected;\n const newSelectedRowIds = { ...state.selectedRowIds };\n\n const handleRowById = (rowId) => {\n const row = rowsById[rowId];\n const isSelectionLocked = state.lockedSelectionRowIds[rowId];\n\n if (!isSelectionLocked && !row.isGrouped) {\n if (selectAll) {\n newSelectedRowIds[rowId] = true;\n } else {\n delete newSelectedRowIds[rowId];\n }\n }\n\n if (selectSubRows && getSubRows(row)) {\n getSubRows(row).forEach((subrow) => {\n handleRowById(subrow.id);\n });\n }\n };\n\n page.forEach((row) => handleRowById(row.id));\n\n return {\n ...state,\n selectedRowIds: newSelectedRowIds,\n };\n }\n\n if (action.type === actions.resetLockedSelectionRows) {\n return {\n ...state,\n lockedSelectionRowIds: instance.initialState.lockedSelectionRowIds || {},\n };\n }\n\n if (action.type === actions.toggleRowLockedSelection) {\n const { id, value: setLockedSelection } = action;\n const { rowsById, selectSubRows = true, getSubRows } = instance;\n const isLockedSelection = state.lockedSelectionRowIds[id];\n const shouldExist =\n typeof setLockedSelection !== \"undefined\"\n ? setLockedSelection\n : !isLockedSelection;\n\n if (isLockedSelection === shouldExist) {\n return state;\n }\n\n const newLockedSelectionRowIds = { ...state.lockedSelectionRowIds };\n\n const handleRowById = (rowId) => {\n const row = rowsById[rowId];\n\n if (!row.isGrouped) {\n if (shouldExist) {\n newLockedSelectionRowIds[rowId] = true;\n } else {\n delete newLockedSelectionRowIds[rowId];\n }\n }\n\n if (selectSubRows && getSubRows(row)) {\n getSubRows(row).forEach((subrow) => {\n handleRowById(subrow.id);\n });\n }\n };\n\n handleRowById(id);\n\n return {\n ...state,\n lockedSelectionRowIds: newLockedSelectionRowIds,\n };\n }\n\n return state;\n}\n\nfunction getRowIsSelected(row, selectedRowIds, getSubRows) {\n if (selectedRowIds[row.id]) {\n return true;\n }\n\n const subRows = getSubRows(row);\n\n if (subRows && subRows.length) {\n let allChildrenSelected = true;\n let someSelected = false;\n\n subRows.forEach((subRow) => {\n // Bail out early if we know both of these\n if (someSelected && !allChildrenSelected) {\n return;\n }\n\n if (getRowIsSelected(subRow, selectedRowIds, getSubRows)) {\n someSelected = true;\n } else {\n allChildrenSelected = false;\n }\n });\n\n if (allChildrenSelected) {\n return true;\n }\n\n if (someSelected) {\n return null;\n }\n }\n\n return false;\n}\n\nexport function useInstance(instance) {\n const {\n data,\n rows,\n getHooks,\n plugins,\n rowsById,\n initialRowsById,\n nonGroupedRowsById = rowsById,\n autoResetSelectedRows = true,\n autoResetLockedSelectionRows = true,\n state: { selectedRowIds, lockedSelectionRowIds },\n selectSubRows = true,\n dispatch,\n page,\n getSubRows,\n applyToggleAllRowsSelectedToPrefilteredRows,\n } = instance;\n\n ensurePluginOrder(\n plugins,\n [\"useFilters\", \"useGroupBy\", \"useSortBy\", \"useExpanded\", \"usePagination\"],\n \"useHvRowSelection\"\n );\n\n const rowsToSelect = applyToggleAllRowsSelectedToPrefilteredRows\n ? initialRowsById\n : nonGroupedRowsById;\n\n const selectedFlatRows = useMemo(() => {\n const selectedRows: any[] = [];\n\n rows.forEach((row) => {\n const isSelected = selectSubRows\n ? getRowIsSelected(row, selectedRowIds, getSubRows)\n : !!selectedRowIds[row.id];\n row.isSelected = !!isSelected;\n row.isSomeSelected = isSelected === null;\n\n if (isSelected) {\n selectedRows.push(row);\n }\n });\n\n return selectedRows;\n }, [rows, selectSubRows, selectedRowIds, getSubRows]);\n\n const existsLockedRows = !!Object.keys(lockedSelectionRowIds).length;\n\n const isNoRowsSelected = !(\n Object.keys(rowsToSelect).length && selectedFlatRows.length\n );\n\n let isNoPageRowsSelected;\n let isAllRowsSelected;\n let isAllPageRowsSelected;\n\n let isAllSelectableRowsUnselected;\n let isAllSelectablePageRowsUnselected;\n let isAllSelectableRowsSelected;\n let isAllSelectablePageRowsSelected;\n\n if (isNoRowsSelected) {\n isAllRowsSelected = false;\n isAllPageRowsSelected = false;\n\n isAllSelectableRowsSelected =\n existsLockedRows &&\n !Object.keys(rowsToSelect).some((id) => !lockedSelectionRowIds[id]);\n isAllSelectablePageRowsSelected = isAllSelectableRowsSelected;\n\n isAllSelectableRowsUnselected = isAllSelectableRowsSelected;\n isAllSelectablePageRowsUnselected = isAllSelectableRowsSelected;\n\n isNoPageRowsSelected = true;\n } else {\n isAllRowsSelected = !Object.keys(rowsToSelect).some(\n (id) => !selectedRowIds[id]\n );\n\n if (isAllRowsSelected) {\n isAllSelectableRowsSelected = true;\n isAllSelectablePageRowsSelected = true;\n\n isAllSelectableRowsUnselected =\n existsLockedRows &&\n Object.keys(rowsToSelect).filter((id) => !lockedSelectionRowIds[id])\n .length === 0;\n isAllSelectablePageRowsUnselected = isAllSelectableRowsUnselected;\n\n isNoPageRowsSelected = false;\n isAllPageRowsSelected = true;\n } else {\n isAllSelectableRowsSelected =\n existsLockedRows &&\n !Object.keys(rowsToSelect)\n .filter((id) => !lockedSelectionRowIds[id])\n .some((id) => !selectedRowIds[id]);\n\n isAllSelectableRowsUnselected =\n !existsLockedRows ||\n !Object.keys(rowsToSelect)\n .filter((id) => !lockedSelectionRowIds[id])\n .some((id) => selectedRowIds[id]);\n\n isAllPageRowsSelected = !(\n page &&\n page.length &&\n page.some(({ id }) => !selectedRowIds[id])\n );\n\n if (isAllPageRowsSelected) {\n isAllSelectablePageRowsSelected = true;\n\n isAllSelectablePageRowsUnselected =\n existsLockedRows &&\n page &&\n page.length &&\n page.filter(({ id }) => !lockedSelectionRowIds[id]).length === 0;\n\n isNoPageRowsSelected = false;\n } else {\n isAllSelectablePageRowsSelected =\n existsLockedRows &&\n !(\n page &&\n page.length &&\n page\n .filter(({ id }) => !lockedSelectionRowIds[id])\n .some(({ id }) => !selectedRowIds[id])\n );\n\n isAllSelectablePageRowsUnselected =\n !existsLockedRows ||\n !(\n page &&\n page.length &&\n page\n .filter(({ id }) => !lockedSelectionRowIds[id])\n .some(({ id }) => selectedRowIds[id])\n );\n\n isNoPageRowsSelected = !(\n page &&\n page.length &&\n page.some(({ id }) => selectedRowIds[id])\n );\n }\n }\n }\n\n const getAutoResetSelectedRows = useGetLatest(autoResetSelectedRows);\n\n const getAutoResetLockedSelectionRows = useGetLatest(\n autoResetLockedSelectionRows\n );\n\n useMountedLayoutEffect(() => {\n if (getAutoResetSelectedRows()) {\n dispatch({ type: actions.resetSelectedRows });\n }\n if (getAutoResetLockedSelectionRows()) {\n dispatch({ type: actions.resetLockedSelectionRows });\n }\n }, [dispatch, data]);\n\n const toggleAllRowsSelected = useCallback(\n (value) => dispatch({ type: actions.toggleAllRowsSelected, value }),\n [dispatch]\n );\n\n const toggleAllPageRowsSelected = useCallback(\n (value) => dispatch({ type: actions.toggleAllPageRowsSelected, value }),\n [dispatch]\n );\n\n const toggleRowSelected = useCallback(\n (id, value) => dispatch({ type: actions.toggleRowSelected, id, value }),\n [dispatch]\n );\n\n const getInstance = useGetLatest(instance);\n\n const getToggleAllRowsSelectedProps = makePropGetter(\n getHooks().getToggleAllRowsSelectedProps,\n {\n instance: getInstance(),\n }\n );\n\n const getToggleAllPageRowsSelectedProps = makePropGetter(\n getHooks().getToggleAllPageRowsSelectedProps,\n { instance: getInstance() }\n );\n\n const toggleRowLockedSelection = useCallback(\n (id, value) =>\n dispatch({ type: actions.toggleRowLockedSelection, id, value }),\n [dispatch]\n );\n\n Object.assign(instance, {\n selectedFlatRows,\n isNoRowsSelected,\n isNoPageRowsSelected,\n isAllRowsSelected,\n isAllPageRowsSelected,\n isAllSelectableRowsSelected,\n isAllSelectablePageRowsSelected,\n isAllSelectableRowsUnselected,\n isAllSelectablePageRowsUnselected,\n toggleRowSelected,\n toggleAllRowsSelected,\n getToggleAllRowsSelectedProps,\n getToggleAllPageRowsSelectedProps,\n toggleAllPageRowsSelected,\n toggleRowLockedSelection,\n });\n}\n\nexport function prepareRow(row, { instance }) {\n row.toggleRowSelected = (set) => instance.toggleRowSelected(row.id, set);\n row.getToggleRowSelectedProps = makePropGetter(\n instance.getHooks().getToggleRowSelectedProps,\n {\n instance,\n row,\n }\n );\n\n row.toggleRowLockedSelection = (set) =>\n instance.toggleRowLockedSelection(row.id, set);\n row.isSelectionLocked =\n instance.state?.lockedSelectionRowIds?.[row.id] || false;\n}\n\nconst useRowSelection: UseRowSelectionProps = (hooks) => {\n hooks.visibleColumns.push(visibleColumnsHook);\n\n hooks.getRowProps.push(getRowPropsHook);\n\n hooks.getToggleRowSelectedProps = [defaultGetToggleRowSelectedProps];\n hooks.getToggleAllRowsSelectedProps = [defaultGetToggleAllRowsSelectedProps];\n hooks.getToggleAllPageRowsSelectedProps = [\n defaultGetToggleAllPageRowsSelectedProps,\n ];\n\n hooks.stateReducers.push(reducer);\n hooks.useInstance.push(useInstance);\n hooks.prepareRow.push(prepareRow);\n};\n\nuseRowSelection.pluginName = \"useHvRowSelection\";\n\nexport default useRowSelection;\n"],"names":["actions","resetSelectedRows","toggleAllRowsSelected","toggleRowSelected","toggleAllPageRowsSelected","resetLockedSelectionRows","toggleRowLockedSelection","DEFAULT_LABELS","selectRowCheckBoxAriaLabel","CellWithCheckBox","row","labels","labelsProp","useLabels","onChange","checked","disabled","indeterminate","getToggleRowSelectedProps","visibleColumnsHook","columns","selectionColumn","id","variant","width","sticky","Cell","getRowPropsHook","props","nextProps","selected","isSelected","defaultGetToggleRowSelectedProps","meta","instance","manualRowSelectedKey","original","e","check","target","isSelectionLocked","isSomeSelected","defaultGetToggleAllRowsSelectedProps","isAllRowsSelected","Boolean","Object","keys","state","selectedRowIds","length","defaultGetToggleAllPageRowsSelectedProps","isAllPageRowsSelected","page","some","reducer","action","previousState","type","init","lockedSelectionRowIds","initialState","value","setSelected","rowsById","initialRowsById","nonGroupedRowsById","applyToggleAllRowsSelectedToPrefilteredRows","rowsToSelect","selectAll","forEach","rowId","selectSubRows","getSubRows","shouldExist","newSelectedRowIds","handleRowById","isGrouped","subrow","setLockedSelection","isLockedSelection","newLockedSelectionRowIds","getRowIsSelected","subRows","allChildrenSelected","someSelected","subRow","useInstance","data","rows","getHooks","plugins","autoResetSelectedRows","autoResetLockedSelectionRows","dispatch","selectedFlatRows","useMemo","selectedRows","push","existsLockedRows","isNoRowsSelected","isNoPageRowsSelected","isAllSelectableRowsUnselected","isAllSelectablePageRowsUnselected","isAllSelectableRowsSelected","isAllSelectablePageRowsSelected","filter","getAutoResetSelectedRows","useGetLatest","getAutoResetLockedSelectionRows","useMountedLayoutEffect","useCallback","getInstance","getToggleAllRowsSelectedProps","makePropGetter","getToggleAllPageRowsSelectedProps","assign","prepareRow","set","useRowSelection","hooks","visibleColumns","getRowProps","stateReducers","pluginName"],"mappings":"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"}
|
|
@@ -5,7 +5,6 @@ const getStickyValue = ({
|
|
|
5
5
|
sticky,
|
|
6
6
|
parent
|
|
7
7
|
}) => {
|
|
8
|
-
var _a;
|
|
9
8
|
if (isSticky(sticky)) {
|
|
10
9
|
return sticky;
|
|
11
10
|
}
|
|
@@ -17,8 +16,8 @@ const getStickyValue = ({
|
|
|
17
16
|
const {
|
|
18
17
|
columns
|
|
19
18
|
} = parent;
|
|
20
|
-
if (
|
|
21
|
-
sticky =
|
|
19
|
+
if (columns?.length > 0) {
|
|
20
|
+
sticky = columns?.find((col) => col.sticky != null)?.sticky;
|
|
22
21
|
if (isSticky(sticky)) {
|
|
23
22
|
return sticky;
|
|
24
23
|
}
|
|
@@ -39,8 +38,7 @@ const visibleColumnsHook = (columns, {
|
|
|
39
38
|
const toTheRight = [];
|
|
40
39
|
const others = [];
|
|
41
40
|
columns.forEach((column) => {
|
|
42
|
-
|
|
43
|
-
const sticky = (_a = getStickyValue(column)) == null ? void 0 : _a.toLowerCase();
|
|
41
|
+
const sticky = getStickyValue(column)?.toLowerCase();
|
|
44
42
|
updateColumnAndParent(column, {
|
|
45
43
|
sticky
|
|
46
44
|
});
|
|
@@ -80,7 +78,7 @@ const visibleColumnsHook = (columns, {
|
|
|
80
78
|
return [...toTheLeft, ...others, ...toTheRight];
|
|
81
79
|
};
|
|
82
80
|
const calculateHeaderWidthsToTheRight = (headers, right = 0) => {
|
|
83
|
-
if (!
|
|
81
|
+
if (!headers?.length) {
|
|
84
82
|
return;
|
|
85
83
|
}
|
|
86
84
|
for (let i = headers.length - 1; i !== -1; i -= 1) {
|
|
@@ -89,7 +87,7 @@ const calculateHeaderWidthsToTheRight = (headers, right = 0) => {
|
|
|
89
87
|
const {
|
|
90
88
|
headers: subHeaders
|
|
91
89
|
} = header;
|
|
92
|
-
if (
|
|
90
|
+
if (subHeaders?.length > 0) {
|
|
93
91
|
calculateHeaderWidthsToTheRight(subHeaders, right);
|
|
94
92
|
}
|
|
95
93
|
if (header.isVisible) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSticky.js","sources":["../../../../../src/components/Table/hooks/useSticky.ts"],"sourcesContent":["import {\n makePropGetter,\n useGetLatest,\n Hooks,\n PropGetter,\n TableCommonProps,\n} from \"react-table\";\nimport { CSSProperties } from \"react\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\n// #region ##### TYPES #####\n\nexport interface UseHvTableStickyTableHeadProps extends TableCommonProps {\n stickyHeader?: boolean;\n}\n\nexport type HvTableHeadPropGetter<D extends object> = PropGetter<\n D,\n UseHvTableStickyTableHeadProps\n>;\n\nexport type UseHvTableStickyTableOptions = {\n stickyHeader?: boolean;\n stickyColumns?: boolean;\n};\n\nexport interface UseHvTableStickyHooks<D extends object> {\n getTableHeadProps: Array<HvTableHeadPropGetter<D>>;\n}\n\nexport interface UseHvTableStickyTableInstance<D extends object> {\n getTableHeadProps: (\n propGetter?: HvTableHeadPropGetter<D>\n ) => UseHvTableStickyTableHeadProps;\n\n totalRight?: number;\n hasStickyColumns?: boolean;\n}\n\n// props target: <table>\nexport interface UseHvTableStickyTableProps {\n stickyHeader?: boolean;\n stickyColumns?: boolean;\n}\n\n// props target: <table><thead><tr><th>\nexport interface UseHvTableStickyColumnProps {\n stickyColumn?: boolean;\n stickyColumnMostLeft?: boolean;\n stickyColumnLeastRight?: boolean;\n}\n\n// props target: <table><tbody><tr><td>\nexport interface UseHvTableStickyCellProps {\n stickyColumn?: boolean;\n stickyColumnMostLeft?: boolean;\n stickyColumnLeastRight?: boolean;\n}\n\nexport type UseHvTableSticky = (<D extends object = Record<string, unknown>>(\n hooks: Hooks<D>\n) => void) & { pluginName: string };\n\n// #endregion ##### TYPES #####\n\nconst isSticky = (value) => /left|right/i.test(value);\n\nconst getStickyValue = ({ sticky, parent }) => {\n if (isSticky(sticky)) {\n return sticky;\n }\n\n if (parent != null) {\n // check if parent is sticky\n sticky = getStickyValue(parent);\n if (isSticky(sticky)) {\n return sticky;\n }\n\n const { columns } = parent;\n // check if any column in the same group is sticky\n if (columns?.length > 0) {\n sticky = columns?.find((col) => col.sticky != null)?.sticky;\n if (isSticky(sticky)) {\n return sticky;\n }\n }\n }\n\n return undefined;\n};\n\nconst updateColumnAndParent = (column, props) => {\n Object.assign(column, props);\n\n if (column.parent != null) {\n updateColumnAndParent(column.parent, props);\n }\n};\n\nconst visibleColumnsHook = (columns, { instance }) => {\n const toTheLeft: any[] = [];\n const toTheRight: any[] = [];\n const others: any[] = [];\n\n columns.forEach((column) => {\n const sticky = getStickyValue(column)?.toLowerCase();\n\n updateColumnAndParent(column, { sticky });\n\n if (sticky === \"left\") {\n toTheLeft.push(column);\n } else if (sticky === \"right\") {\n toTheRight.push(column);\n } else {\n others.push(column);\n }\n });\n\n if (others.length > 0) {\n const [firstNotSticky] = others;\n updateColumnAndParent(firstNotSticky, { isFirstNotSticky: true });\n\n const lastNotSticky = others[others.length - 1];\n updateColumnAndParent(lastNotSticky, { isLastNotSticky: true });\n }\n\n const hasLeftSticky = toTheLeft.length > 0;\n if (hasLeftSticky) {\n const lastLeftSticky = toTheLeft[toTheLeft.length - 1];\n\n updateColumnAndParent(lastLeftSticky, { isLastLeftSticky: true });\n }\n\n const hasRightSticky = toTheRight.length > 0;\n if (hasRightSticky) {\n const [firstRightSticky] = toTheRight;\n\n updateColumnAndParent(firstRightSticky, { isFirstRightSticky: true });\n }\n\n instance.hasStickyColumns = hasLeftSticky || hasRightSticky;\n\n return [...toTheLeft, ...others, ...toTheRight];\n};\n\nconst calculateHeaderWidthsToTheRight = (headers, right = 0) => {\n if (!headers?.length) {\n return;\n }\n\n for (let i = headers.length - 1; i !== -1; i -= 1) {\n const header = headers[i];\n\n header.totalRight = right;\n\n const { headers: subHeaders } = header;\n if (subHeaders?.length > 0) {\n calculateHeaderWidthsToTheRight(subHeaders, right);\n }\n\n if (header.isVisible) {\n right += header.totalWidth;\n }\n }\n};\n\nconst useInstanceHook = (instance) => {\n calculateHeaderWidthsToTheRight(instance.headers);\n\n const getInstance = useGetLatest(instance);\n instance.getTableHeadProps = makePropGetter(\n instance.getHooks().getTableHeadProps,\n {\n instance: getInstance(),\n }\n );\n};\n\nconst getRowProps = () => ({\n style: {\n display: \"flex\",\n flex: \"1 0 auto\",\n },\n});\n\nconst getCellProps = (header, isHeaderCell: boolean) => {\n const props: UseHvTableStickyCellProps & { style: CSSProperties } = {\n style: {\n display: \"inline-flex\",\n flex: `${header.totalWidth} ${header.totalMinWidth} auto`,\n alignItems: isHeaderCell ? \"start\" : \"center\",\n justifyContent: header.align,\n\n width: `${header.totalWidth}px`,\n minWidth: `${header.totalMinWidth}px`,\n ...(isHeaderCell && { backgroundColor: theme.colors.atmo2 }),\n },\n };\n\n if (header.sticky != null) {\n props.stickyColumn = true;\n\n const margin =\n header.sticky === \"left\" ? header.totalLeft : header.totalRight;\n\n props.style[header.sticky] = `${margin}px`;\n\n if (header.isLastLeftSticky) {\n props.stickyColumnMostLeft = true;\n }\n\n if (header.isFirstRightSticky) {\n props.stickyColumnLeastRight = true;\n }\n } else {\n if (header.isFirstNotSticky) {\n props.style.borderLeft = 0;\n }\n\n if (header.isLastNotSticky) {\n props.style.borderRight = 0;\n }\n }\n\n return props;\n};\n\n/*\n * STICKY POSITION MANAGEMENT\n * <thead>: sticky if stickyHeader: true\n * <tr>: never sticky\n * <th>: sticky only if that particular column is sticky (left or right)\n */\n\n/*\n * We need to hide the last non sticky column right border, to avoid issues with double borders.\n *\n * This could be done with css, using the `:has()` selector:\n * - \".not-sticky:has(+ .first-right-sticky)\": { border-right: 0 }\n *\n * Until the `:has()` selector is supported by modern browsers,\n * that at the moment is just a proposal https://developer.mozilla.org/en-US/docs/Web/CSS/:has,\n * we need to override the last not sticky column \"borderRight\" here.\n */\n\n// props target: <table>\nconst getTablePropsHook = (props, { instance }) => {\n const nextProps: UseHvTableStickyTableProps = {\n stickyHeader: instance.stickyHeader,\n stickyColumns: instance.hasStickyColumns,\n };\n\n return [props, nextProps];\n};\n\n// props target: <table><thead>\nexport const getTableHeadPropsHook = (props, { instance }) => {\n const nextProps = {\n stickyHeader: instance.stickyHeader,\n };\n\n return [props, nextProps];\n};\n\n// props target: <table><thead><tr>\nexport const getHeaderGroupPropsHook = (props, { instance }) => {\n const nextProps = instance.hasStickyColumns ? getRowProps() : {};\n\n return [props, nextProps];\n};\n\n// props target: <table><thead><tr><th>\nconst getHeaderPropsHook = (props, { instance, column }) => {\n const nextProps = instance.hasStickyColumns ? getCellProps(column, true) : {};\n\n return [props, nextProps];\n};\n\n// props target: <table><tbody><tr>\nconst getRowPropsHook = (props, { instance }) => {\n const nextProps = instance.hasStickyColumns ? getRowProps() : {};\n\n return [props, nextProps];\n};\n\n// props target: <table><tbody><tr><td>\nconst getCellPropsHook = (props, { instance, cell }) => {\n const nextProps: UseHvTableStickyCellProps = instance.hasStickyColumns\n ? getCellProps(cell.column, false)\n : {};\n\n return [props, nextProps];\n};\n\nconst useSticky: UseHvTableSticky = (hooks) => {\n hooks.visibleColumns.push(visibleColumnsHook);\n hooks.useInstance.push(useInstanceHook);\n\n // props target: <table>\n hooks.getTableProps.push(getTablePropsHook);\n // props target: <table><thead>\n hooks.getTableHeadProps = [getTableHeadPropsHook];\n // props target: <table><thead><tr>\n hooks.getHeaderGroupProps.push(getHeaderGroupPropsHook);\n // props target: <table><thead><tr><th>\n hooks.getHeaderProps.push(getHeaderPropsHook);\n // props target: <table><tbody><tr>\n hooks.getRowProps.push(getRowPropsHook);\n // props target: <table><tbody><tr><td>\n hooks.getCellProps.push(getCellPropsHook);\n};\n\nuseSticky.pluginName = \"useHvTableSticky\";\n\nexport default useSticky;\n"],"names":["isSticky","value","test","getStickyValue","sticky","parent","columns","length","find","col","undefined","updateColumnAndParent","column","props","assign","visibleColumnsHook","instance","toTheLeft","toTheRight","others","forEach","toLowerCase","push","firstNotSticky","isFirstNotSticky","lastNotSticky","isLastNotSticky","hasLeftSticky","lastLeftSticky","isLastLeftSticky","hasRightSticky","firstRightSticky","isFirstRightSticky","hasStickyColumns","calculateHeaderWidthsToTheRight","headers","right","i","header","totalRight","subHeaders","isVisible","totalWidth","useInstanceHook","getInstance","useGetLatest","getTableHeadProps","makePropGetter","getHooks","getRowProps","style","display","flex","getCellProps","isHeaderCell","totalMinWidth","alignItems","justifyContent","align","width","minWidth","backgroundColor","theme","colors","atmo2","stickyColumn","margin","totalLeft","stickyColumnMostLeft","stickyColumnLeastRight","borderLeft","borderRight","getTablePropsHook","nextProps","stickyHeader","stickyColumns","getTableHeadPropsHook","getHeaderGroupPropsHook","getHeaderPropsHook","getRowPropsHook","getCellPropsHook","cell","useSticky","hooks","visibleColumns","useInstance","getTableProps","getHeaderGroupProps","getHeaderProps","pluginName"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useSticky.js","sources":["../../../../../src/components/Table/hooks/useSticky.ts"],"sourcesContent":["import { CSSProperties } from \"react\";\nimport {\n makePropGetter,\n useGetLatest,\n Hooks,\n PropGetter,\n TableCommonProps,\n} from \"react-table\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\n// #region ##### TYPES #####\n\nexport interface UseHvTableStickyTableHeadProps extends TableCommonProps {\n stickyHeader?: boolean;\n}\n\nexport type HvTableHeadPropGetter<D extends object> = PropGetter<\n D,\n UseHvTableStickyTableHeadProps\n>;\n\nexport type UseHvTableStickyTableOptions = {\n stickyHeader?: boolean;\n stickyColumns?: boolean;\n};\n\nexport interface UseHvTableStickyHooks<D extends object> {\n getTableHeadProps: Array<HvTableHeadPropGetter<D>>;\n}\n\nexport interface UseHvTableStickyTableInstance<D extends object> {\n getTableHeadProps: (\n propGetter?: HvTableHeadPropGetter<D>\n ) => UseHvTableStickyTableHeadProps;\n\n totalRight?: number;\n hasStickyColumns?: boolean;\n}\n\n// props target: <table>\nexport interface UseHvTableStickyTableProps {\n stickyHeader?: boolean;\n stickyColumns?: boolean;\n}\n\n// props target: <table><thead><tr><th>\nexport interface UseHvTableStickyColumnProps {\n stickyColumn?: boolean;\n stickyColumnMostLeft?: boolean;\n stickyColumnLeastRight?: boolean;\n}\n\n// props target: <table><tbody><tr><td>\nexport interface UseHvTableStickyCellProps {\n stickyColumn?: boolean;\n stickyColumnMostLeft?: boolean;\n stickyColumnLeastRight?: boolean;\n}\n\nexport type UseHvTableSticky = (<D extends object = Record<string, unknown>>(\n hooks: Hooks<D>\n) => void) & { pluginName: string };\n\n// #endregion ##### TYPES #####\n\nconst isSticky = (value) => /left|right/i.test(value);\n\nconst getStickyValue = ({ sticky, parent }) => {\n if (isSticky(sticky)) {\n return sticky;\n }\n\n if (parent != null) {\n // check if parent is sticky\n sticky = getStickyValue(parent);\n if (isSticky(sticky)) {\n return sticky;\n }\n\n const { columns } = parent;\n // check if any column in the same group is sticky\n if (columns?.length > 0) {\n sticky = columns?.find((col) => col.sticky != null)?.sticky;\n if (isSticky(sticky)) {\n return sticky;\n }\n }\n }\n\n return undefined;\n};\n\nconst updateColumnAndParent = (column, props) => {\n Object.assign(column, props);\n\n if (column.parent != null) {\n updateColumnAndParent(column.parent, props);\n }\n};\n\nconst visibleColumnsHook = (columns, { instance }) => {\n const toTheLeft: any[] = [];\n const toTheRight: any[] = [];\n const others: any[] = [];\n\n columns.forEach((column) => {\n const sticky = getStickyValue(column)?.toLowerCase();\n\n updateColumnAndParent(column, { sticky });\n\n if (sticky === \"left\") {\n toTheLeft.push(column);\n } else if (sticky === \"right\") {\n toTheRight.push(column);\n } else {\n others.push(column);\n }\n });\n\n if (others.length > 0) {\n const [firstNotSticky] = others;\n updateColumnAndParent(firstNotSticky, { isFirstNotSticky: true });\n\n const lastNotSticky = others[others.length - 1];\n updateColumnAndParent(lastNotSticky, { isLastNotSticky: true });\n }\n\n const hasLeftSticky = toTheLeft.length > 0;\n if (hasLeftSticky) {\n const lastLeftSticky = toTheLeft[toTheLeft.length - 1];\n\n updateColumnAndParent(lastLeftSticky, { isLastLeftSticky: true });\n }\n\n const hasRightSticky = toTheRight.length > 0;\n if (hasRightSticky) {\n const [firstRightSticky] = toTheRight;\n\n updateColumnAndParent(firstRightSticky, { isFirstRightSticky: true });\n }\n\n instance.hasStickyColumns = hasLeftSticky || hasRightSticky;\n\n return [...toTheLeft, ...others, ...toTheRight];\n};\n\nconst calculateHeaderWidthsToTheRight = (headers, right = 0) => {\n if (!headers?.length) {\n return;\n }\n\n for (let i = headers.length - 1; i !== -1; i -= 1) {\n const header = headers[i];\n\n header.totalRight = right;\n\n const { headers: subHeaders } = header;\n if (subHeaders?.length > 0) {\n calculateHeaderWidthsToTheRight(subHeaders, right);\n }\n\n if (header.isVisible) {\n right += header.totalWidth;\n }\n }\n};\n\nconst useInstanceHook = (instance) => {\n calculateHeaderWidthsToTheRight(instance.headers);\n\n const getInstance = useGetLatest(instance);\n instance.getTableHeadProps = makePropGetter(\n instance.getHooks().getTableHeadProps,\n {\n instance: getInstance(),\n }\n );\n};\n\nconst getRowProps = () => ({\n style: {\n display: \"flex\",\n flex: \"1 0 auto\",\n },\n});\n\nconst getCellProps = (header, isHeaderCell: boolean) => {\n const props: UseHvTableStickyCellProps & { style: CSSProperties } = {\n style: {\n display: \"inline-flex\",\n flex: `${header.totalWidth} ${header.totalMinWidth} auto`,\n alignItems: isHeaderCell ? \"start\" : \"center\",\n justifyContent: header.align,\n\n width: `${header.totalWidth}px`,\n minWidth: `${header.totalMinWidth}px`,\n ...(isHeaderCell && { backgroundColor: theme.colors.atmo2 }),\n },\n };\n\n if (header.sticky != null) {\n props.stickyColumn = true;\n\n const margin =\n header.sticky === \"left\" ? header.totalLeft : header.totalRight;\n\n props.style[header.sticky] = `${margin}px`;\n\n if (header.isLastLeftSticky) {\n props.stickyColumnMostLeft = true;\n }\n\n if (header.isFirstRightSticky) {\n props.stickyColumnLeastRight = true;\n }\n } else {\n if (header.isFirstNotSticky) {\n props.style.borderLeft = 0;\n }\n\n if (header.isLastNotSticky) {\n props.style.borderRight = 0;\n }\n }\n\n return props;\n};\n\n/*\n * STICKY POSITION MANAGEMENT\n * <thead>: sticky if stickyHeader: true\n * <tr>: never sticky\n * <th>: sticky only if that particular column is sticky (left or right)\n */\n\n/*\n * We need to hide the last non sticky column right border, to avoid issues with double borders.\n *\n * This could be done with css, using the `:has()` selector:\n * - \".not-sticky:has(+ .first-right-sticky)\": { border-right: 0 }\n *\n * Until the `:has()` selector is supported by modern browsers,\n * that at the moment is just a proposal https://developer.mozilla.org/en-US/docs/Web/CSS/:has,\n * we need to override the last not sticky column \"borderRight\" here.\n */\n\n// props target: <table>\nconst getTablePropsHook = (props, { instance }) => {\n const nextProps: UseHvTableStickyTableProps = {\n stickyHeader: instance.stickyHeader,\n stickyColumns: instance.hasStickyColumns,\n };\n\n return [props, nextProps];\n};\n\n// props target: <table><thead>\nexport const getTableHeadPropsHook = (props, { instance }) => {\n const nextProps = {\n stickyHeader: instance.stickyHeader,\n };\n\n return [props, nextProps];\n};\n\n// props target: <table><thead><tr>\nexport const getHeaderGroupPropsHook = (props, { instance }) => {\n const nextProps = instance.hasStickyColumns ? getRowProps() : {};\n\n return [props, nextProps];\n};\n\n// props target: <table><thead><tr><th>\nconst getHeaderPropsHook = (props, { instance, column }) => {\n const nextProps = instance.hasStickyColumns ? getCellProps(column, true) : {};\n\n return [props, nextProps];\n};\n\n// props target: <table><tbody><tr>\nconst getRowPropsHook = (props, { instance }) => {\n const nextProps = instance.hasStickyColumns ? getRowProps() : {};\n\n return [props, nextProps];\n};\n\n// props target: <table><tbody><tr><td>\nconst getCellPropsHook = (props, { instance, cell }) => {\n const nextProps: UseHvTableStickyCellProps = instance.hasStickyColumns\n ? getCellProps(cell.column, false)\n : {};\n\n return [props, nextProps];\n};\n\nconst useSticky: UseHvTableSticky = (hooks) => {\n hooks.visibleColumns.push(visibleColumnsHook);\n hooks.useInstance.push(useInstanceHook);\n\n // props target: <table>\n hooks.getTableProps.push(getTablePropsHook);\n // props target: <table><thead>\n hooks.getTableHeadProps = [getTableHeadPropsHook];\n // props target: <table><thead><tr>\n hooks.getHeaderGroupProps.push(getHeaderGroupPropsHook);\n // props target: <table><thead><tr><th>\n hooks.getHeaderProps.push(getHeaderPropsHook);\n // props target: <table><tbody><tr>\n hooks.getRowProps.push(getRowPropsHook);\n // props target: <table><tbody><tr><td>\n hooks.getCellProps.push(getCellPropsHook);\n};\n\nuseSticky.pluginName = \"useHvTableSticky\";\n\nexport default useSticky;\n"],"names":["isSticky","value","test","getStickyValue","sticky","parent","columns","length","find","col","undefined","updateColumnAndParent","column","props","assign","visibleColumnsHook","instance","toTheLeft","toTheRight","others","forEach","toLowerCase","push","firstNotSticky","isFirstNotSticky","lastNotSticky","isLastNotSticky","hasLeftSticky","lastLeftSticky","isLastLeftSticky","hasRightSticky","firstRightSticky","isFirstRightSticky","hasStickyColumns","calculateHeaderWidthsToTheRight","headers","right","i","header","totalRight","subHeaders","isVisible","totalWidth","useInstanceHook","getInstance","useGetLatest","getTableHeadProps","makePropGetter","getHooks","getRowProps","style","display","flex","getCellProps","isHeaderCell","totalMinWidth","alignItems","justifyContent","align","width","minWidth","backgroundColor","theme","colors","atmo2","stickyColumn","margin","totalLeft","stickyColumnMostLeft","stickyColumnLeastRight","borderLeft","borderRight","getTablePropsHook","nextProps","stickyHeader","stickyColumns","getTableHeadPropsHook","getHeaderGroupPropsHook","getHeaderPropsHook","getRowPropsHook","getCellPropsHook","cell","useSticky","hooks","visibleColumns","useInstance","getTableProps","getHeaderGroupProps","getHeaderProps","pluginName"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTable.js","sources":["../../../../../src/components/Table/hooks/useTable.ts"],"sourcesContent":["import { useMemo } from \"react\";\nimport {\n useTable,\n usePagination,\n useExpanded,\n useSortBy,\n useResizeColumns,\n Cell,\n ColumnInstance,\n ColumnInterface,\n Hooks,\n Renderer,\n Row,\n TableCellProps,\n TableFooterProps,\n TableHeaderProps,\n TableInstance,\n TableOptions,\n TableProps,\n TableRowProps,\n TableState,\n UseColumnOrderInstanceProps,\n UseColumnOrderState,\n UseExpandedHooks,\n UseExpandedInstanceProps,\n UseExpandedOptions,\n UseExpandedState,\n UseFiltersColumnOptions,\n UseFiltersColumnProps,\n UseFiltersInstanceProps,\n UseFiltersOptions,\n UseFiltersState,\n UseGlobalFiltersInstanceProps,\n UseGlobalFiltersOptions,\n UseGlobalFiltersState,\n UseGroupByCellProps,\n UseGroupByColumnOptions,\n UseGroupByColumnProps,\n UseGroupByHooks,\n UseGroupByInstanceProps,\n UseGroupByOptions,\n UseGroupByRowProps,\n UseGroupByState,\n UsePaginationInstanceProps,\n UsePaginationOptions,\n UsePaginationState,\n UseResizeColumnsColumnOptions,\n UseResizeColumnsColumnProps,\n UseResizeColumnsOptions,\n UseResizeColumnsState,\n UseSortByColumnOptions,\n UseSortByColumnProps,\n UseSortByHooks,\n UseSortByInstanceProps,\n UseSortByOptions,\n UseSortByState,\n UseRowStateState,\n UseRowStateOptions,\n UseGlobalFiltersColumnOptions,\n UseRowStateInstanceProps,\n UseRowStateRowProps,\n UseTableHeaderGroupProps,\n PluginHook,\n ActionType,\n ReducerTableState,\n} from \"react-table\";\nimport useHvTableStyles, {\n UseHvTableStylesTableOptions,\n UseHvTableStylesColumnOptions,\n UseHvTableStylesTableCellProps,\n UseHvTableStylesTableRowProps,\n} from \"./useTableStyles\";\nimport {\n UseHvTableStickyCellProps,\n UseHvTableStickyColumnProps,\n UseHvTableStickyHooks,\n UseHvTableStickyTableInstance,\n UseHvTableStickyTableOptions,\n UseHvTableStickyTableProps,\n} from \"./useSticky\";\nimport { UseHvSortByColumnProps, UseHvSortByTableCellProps } from \"./useSortBy\";\nimport {\n UseHvRowSelectionHooks,\n UseHvRowSelectionRowInstance,\n UseHvRowSelectionState,\n UseHvRowSelectionTableInstance,\n UseHvRowSelectionTableOptions,\n UseHvRowSelectionTableRowProps,\n} from \"./useRowSelection\";\nimport {\n UseHvPaginationHooks,\n UseHvPaginationTableInstance,\n} from \"./usePagination\";\nimport {\n UseHvBulkActionsHooks,\n UseHvBulkActionsTableInstanceProps,\n UseHvBulkActionsTableOptions,\n} from \"./useBulkActions\";\nimport {\n UseHvRowExpandTableOptions,\n UseHvRowExpandRowInstance,\n UseHvRowExpandTableRowProps,\n} from \"./useRowExpand\";\nimport {\n UseHvHeaderGroupsColumnProps,\n UseHvHeaderGroupsCellProps,\n UseHvHeaderGroupsInstance,\n} from \"./useHeaderGroups\";\nimport {\n UseHvResizeColumnProps,\n UseHvResizeTableCellProps,\n} from \"./useResizeColumns\";\nimport { HvTableRowProps } from \"../TableRow\";\nimport { HvTableProps } from \"../Table\";\nimport { HvTableCellProps } from \"../TableCell\";\nimport { HvTableHeaderProps } from \"../TableHeader\";\n\n// #region ##### TYPES #####\n\ntype Accessor<D extends object> = (\n originalRow: D,\n index: number,\n sub: {\n subRows: D[];\n depth: number;\n data: D[];\n }\n) => CellValue;\n\ntype ValueOf<T> = T[keyof T];\ntype StringKey<D> = Extract<keyof D, string>;\ntype IdType<D> = StringKey<D> | string;\ntype CellValue<V = any> = V;\n\ntype HvHeaderProps<D extends object = Record<string, unknown>> =\n HvTableInstance<D> & {\n column: HvColumnInstance<D>;\n };\n\ninterface HvMetaBase<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n> {\n instance: HvTableInstance<D, H>;\n userProps: any;\n}\n\nexport type HvMeta<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer,\n Extension = never,\n M = HvMetaBase<D, H>\n> = [Extension] extends [never] ? M : M & Extension;\n\nexport type HvPropGetter<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer,\n Props extends object = Record<string, unknown>,\n T extends object = never,\n P = Partial<Props>\n> = ((props: P, meta: HvMeta<D, H, T>) => P | P[]) | P | P[];\n\nexport type HvTableHeaderRenderer<D extends object = Record<string, unknown>> =\n Renderer<HvHeaderProps<D>>;\n\ntype HvFooterProps<D extends object = Record<string, unknown>> =\n HvTableInstance<D> & {\n column: HvColumnInstance<D>;\n };\n\ninterface HvHeaderGroup<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n> extends HvColumnInstance<D, H>,\n Omit<UseTableHeaderGroupProps<D>, \"headers\"> {\n headers: Array<HvHeaderGroup<D, H>>;\n}\n\ntype HvRowPropGetter<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n> = HvPropGetter<D, H, HvUseTableRowProps, { row: HvRowInstance<D, H> }>;\n\ntype HvTablePropGetter<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n> = HvPropGetter<D, H, HvUseTableProps>;\n\ntype HvCellPropGetter<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n> = HvPropGetter<D, H, HvUseTableCellProps, { cell: HvCellInstance<D, H> }>;\n\ntype HvHeaderPropGetter<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n> = HvPropGetter<D, H, HvUseTableHeaderProps, { column: HvHeaderGroup<D, H> }>;\n\ntype HvFooterPropGetter<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n> = HvPropGetter<D, H, HvUseTableFooterProps, { column: HvHeaderGroup<D, H> }>;\n\nexport interface HvCellProps<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer,\n V = any\n> extends HvTableInstance<D, H> {\n column: HvColumnInstance<D, H>;\n row: HvRowInstance<D, H>;\n cell: HvCellInstance<D, H, V>;\n value: CellValue<V>;\n}\n\nexport type HvTableDefinitionConfig<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n> = HvTableOptions<D, H>;\n\ninterface HvColumnInterfaceBasedOnValue<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer,\n V = any\n> {\n Cell?: Renderer<HvCellProps<D, H, V>>;\n}\n\ninterface HvColumnGroupInterface<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n> {\n columns: Array<HvTableColumnConfig<D, H>>;\n}\n\ntype HvColumnGroup<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n> = HvTableColumnOptions<D, H> &\n HvColumnGroupInterface<D, H> &\n (\n | { Header: H }\n | ({ id: IdType<D> } & {\n Header: H;\n })\n ) & { accessor?: Accessor<D> };\n\ntype HvColumnWithStrictAccessor<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n> = HvTableColumnOptions<D, H> &\n ValueOf<{\n [K in keyof D]: {\n accessor: K;\n } & HvColumnInterfaceBasedOnValue<D, H, D[K]>;\n }>;\n\ntype HvColumnWithLooseAccessor<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n> = HvTableColumnOptions<D, H> &\n HvColumnInterfaceBasedOnValue<D, H> &\n (\n | { Header: H }\n | { id: IdType<D> }\n | { accessor: keyof D extends never ? IdType<D> : never }\n ) & {\n accessor?: keyof D extends never ? IdType<D> | Accessor<D> : Accessor<D>;\n };\n\nexport type HvTableColumnConfig<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n> =\n | HvColumnGroup<D, H>\n | HvColumnWithLooseAccessor<D, H>\n | HvColumnWithStrictAccessor<D, H>;\n\n// #region HOOKS\nexport interface HvHooks<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n> extends Omit<Hooks<D>, \"useOptions\">,\n Partial<UseExpandedHooks<D>>,\n Partial<UseGroupByHooks<D>>,\n Partial<UseSortByHooks<D>>,\n Partial<UseHvRowSelectionHooks<D>>,\n Partial<UseHvTableStickyHooks<D>>,\n Partial<UseHvPaginationHooks<D>>,\n Partial<UseHvBulkActionsHooks<D>> {\n useOptions: Array<\n (\n options: HvTableOptions<D, H>,\n args: HvTableOptions<D, H>\n ) => HvTableOptions<D, H>\n >;\n stateReducers: Array<\n (\n newState: HvTableState<D>,\n action: ActionType,\n previousState?: HvTableState<D>,\n instance?: HvTableState<D>\n ) => ReducerTableState<D> | undefined\n >;\n columns: Array<\n (\n columns: Array<HvTableColumnConfig<D, H>>,\n meta: HvMeta<D, H>\n ) => Array<HvTableColumnConfig<D, H>>\n >;\n allColumns: Array<\n (\n allColumns: Array<HvColumnInstance<D, H>>,\n meta: HvMeta<D, H>\n ) => Array<HvTableColumnConfig<D, H>>\n >;\n visibleColumns: Array<\n (\n allColumns: Array<HvColumnInstance<D, H>>,\n meta: HvMeta<D, H>\n ) => Array<HvTableColumnConfig<D, H>>\n >;\n headerGroups: Array<\n (\n allColumns: Array<HvHeaderGroup<D, H>>,\n meta: HvMeta<D, H>\n ) => Array<HvHeaderGroup<D, H>>\n >;\n useInstanceBeforeDimensions: Array<(instance: HvTableInstance<D, H>) => void>;\n useInstance: Array<(instance: HvTableInstance<D, H>) => void>;\n useControlledState: Array<\n (state: HvTableState<D>, meta: HvMeta<D, H>) => HvTableState<D>\n >;\n getTableProps: Array<HvTablePropGetter<D, H>>;\n getHeaderProps: Array<HvHeaderPropGetter<D>>;\n getFooterProps: Array<HvFooterPropGetter<D>>;\n getRowProps: Array<HvRowPropGetter<D>>;\n getCellProps: Array<HvCellPropGetter<D>>;\n useFinalInstance: Array<(instance: HvTableInstance<D, H>) => void>;\n}\n// #endregion\n\n// #region STATE\nexport interface HvTableState<D extends object = Record<string, unknown>>\n extends TableState<D>,\n Partial<UseColumnOrderState<D>>,\n Partial<UseExpandedState<D>>,\n Partial<UseFiltersState<D>>,\n Partial<UseGlobalFiltersState<D>>,\n Partial<UseGroupByState<D>>,\n Partial<UsePaginationState<D>>,\n Partial<UseResizeColumnsState<D>>,\n Partial<UseSortByState<D>>,\n Partial<UseRowStateState<D>>,\n Partial<UseHvRowSelectionState<D>> {\n rowCount: number;\n}\n// #endregion\n\n// #region OPTIONS\nexport interface HvTableOptions<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n> extends Omit<\n TableOptions<D>,\n | \"columns\"\n | \"data\"\n | \"defaultColumn\"\n | \"stateReducer\"\n | \"useControlledState\"\n | \"getRowId\"\n >,\n Partial<UseExpandedOptions<D>>,\n Partial<UseFiltersOptions<D>>,\n Partial<UseGlobalFiltersOptions<D>>,\n Partial<UseGroupByOptions<D>>,\n Partial<UsePaginationOptions<D>>,\n Partial<UseResizeColumnsOptions<D>>,\n Partial<UseSortByOptions<D>>,\n Partial<UseRowStateOptions<D>>,\n Partial<UseHvTableStylesTableOptions>,\n Partial<UseHvRowSelectionTableOptions>,\n Partial<UseHvTableStickyTableOptions>,\n Partial<UseHvBulkActionsTableOptions>,\n Partial<UseHvRowExpandTableOptions> {\n columns?: Array<HvTableColumnConfig<D, H>>;\n data?: D[];\n initialState?: Partial<HvTableState<D>>;\n labels?: Record<string, string>;\n defaultColumn?: Partial<HvTableColumnConfig<D, H>>;\n stateReducer?: (\n newState: HvTableState<D>,\n action: ActionType,\n previousState: HvTableState<D>,\n instance?: HvTableInstance<D, H>\n ) => HvTableState<D>;\n useControlledState?: (\n state: HvTableState<D>,\n meta: HvMeta<D, H>\n ) => HvTableState<D>;\n getRowId?: (\n originalRow: D,\n relativeIndex: number,\n parent?: HvRowInstance<D, H>\n ) => string;\n}\n\nexport interface HvTableColumnOptions<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n> extends Omit<ColumnInterface<D>, \"Header\" | \"Footer\">,\n Partial<UseFiltersColumnOptions<D>>,\n Partial<UseGroupByColumnOptions<D>>,\n Partial<UseResizeColumnsColumnOptions<D>>,\n Partial<UseSortByColumnOptions<D>>,\n Partial<UseGlobalFiltersColumnOptions<D>>,\n Partial<UseHvTableStylesColumnOptions> {\n Header?: H;\n Footer?: Renderer<HvFooterProps<D>>;\n originalId?: IdType<D>;\n}\n// #endregion\n\n// #region INSTANCE\nexport interface HvTableInstance<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n> extends Omit<\n TableInstance<D>,\n | \"pageCount\"\n | \"data\"\n | \"columns\"\n | \"rows\"\n | \"allColumns\"\n | \"visibleColumns\"\n | \"headers\"\n | \"flatHeaders\"\n | \"rowsById\"\n | \"prepareRow\"\n | \"flatRows\"\n | \"headerGroups\"\n | \"footerGroups\"\n | \"defaultColumn\"\n | \"stateReducer\"\n | \"useControlledState\"\n | \"getRowId\"\n | \"getHooks\"\n | \"getTableProps\"\n >,\n Omit<HvTableOptions<D, H>, \"pageCount\" | \"columns\">,\n Partial<UseColumnOrderInstanceProps<D>>,\n Partial<Omit<UseExpandedInstanceProps<D>, \"rows\">>,\n Partial<Omit<UseFiltersInstanceProps<D>, \"rows\" | \"rowsById\" | \"flatRows\">>,\n Partial<\n Omit<UseGlobalFiltersInstanceProps<D>, \"rows\" | \"rowsById\" | \"flatRows\">\n >,\n Partial<Omit<UseGroupByInstanceProps<D>, \"rows\" | \"rowsById\" | \"flatRows\">>,\n Partial<Omit<UsePaginationInstanceProps<D>, \"page\">>,\n Partial<Omit<UseSortByInstanceProps<D>, \"rows\">>,\n Partial<UseRowStateInstanceProps<D>>,\n Partial<Omit<UseHvRowSelectionTableInstance<D>, \"selectedFlatRows\">>,\n Partial<UseHvTableStickyTableInstance<D>>,\n Partial<UseHvHeaderGroupsInstance>,\n Partial<UseHvPaginationTableInstance<D>>,\n Partial<UseHvBulkActionsTableInstanceProps<D>> {\n initialState: Partial<HvTableState<D>>;\n state: HvTableState<D>;\n columns: Array<HvColumnInstance<D, H>>;\n allColumns: Array<HvColumnInstance<D, H>>;\n visibleColumns: Array<HvColumnInstance<D, H>>;\n headers: Array<HvColumnInstance<D, H>>;\n flatHeaders: Array<HvColumnInstance<D, H>>;\n rows: Array<HvRowInstance<D, H>>;\n page: Array<HvRowInstance<D, H>>;\n rowsById: Record<string, HvRowInstance<D, H>>;\n flatRows: Array<HvRowInstance<D, H>>;\n getHooks: () => HvHooks<D>;\n getTableProps: (propGetter?: HvTablePropGetter<D, H>) => HvUseTableProps;\n prepareRow: (row: HvRowInstance<D, H>) => void;\n selectedFlatRows: Array<HvRowInstance<D, H>>;\n initialRows: Array<HvRowInstance<D, H>>;\n initialRowsById: Record<string, HvRowInstance<D, H>>;\n labels: Record<string, string>;\n headerGroups: Array<HvHeaderGroup<D, H>>;\n footerGroups: Array<HvHeaderGroup<D, H>>;\n}\n\nexport interface HvColumnInstance<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n> extends Omit<\n ColumnInstance<D>,\n | \"Cell\"\n | \"columns\"\n | \"parent\"\n | \"placeholderOf\"\n | \"id\"\n | \"Header\"\n | \"getHeaderProps\"\n | \"getFooterProps\"\n | \"Footer\"\n >,\n HvTableColumnOptions<D, H>,\n Partial<UseFiltersColumnProps<D>>,\n Partial<UseGroupByColumnProps<D>>,\n Partial<UseResizeColumnsColumnProps<D>>,\n Partial<UseSortByColumnProps<D>> {\n Cell?: Renderer<HvCellProps<D, H>>;\n columns: Array<HvColumnInstance<D, H>>;\n parent: HvColumnInstance<D, H>;\n placeholderOf?: HvColumnInstance<D, H>;\n getHeaderProps: (\n propGetter?: HvHeaderPropGetter<D, H>\n ) => HvUseTableHeaderProps;\n getFooterProps: (\n propGetter?: HvFooterPropGetter<D, H>\n ) => HvUseTableFooterProps;\n}\n\nexport interface HvRowInstance<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n> extends Omit<Row<D>, \"cells\" | \"allCells\" | \"subRows\" | \"getRowProps\">,\n Partial<Omit<UseGroupByRowProps<D>, \"subRows\" | \"values\">>,\n Partial<UseRowStateRowProps<D>>,\n Partial<Omit<UseHvRowExpandRowInstance<D>, \"subRows\">>,\n Partial<UseHvRowSelectionRowInstance> {\n cells: Array<HvCellInstance<D, H>>;\n allCells: Array<HvCellInstance<D, H>>;\n getRowProps: (propGetter?: HvRowPropGetter<D, H>) => HvUseTableRowProps;\n index: number;\n original: D;\n id: string;\n subRows: Array<HvRowInstance<D, H>>;\n}\n\nexport interface HvCellInstance<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer,\n V = any\n> extends Omit<Cell<D, V>, \"column\" | \"row\" | \"getCellProps\">,\n Partial<UseGroupByCellProps<D>> {\n column: HvColumnInstance<D, H>;\n row: HvRowInstance<D, H>;\n getCellProps: (propGetter?: HvCellPropGetter<D, H>) => HvUseTableCellProps;\n}\n// #endregion\n\n// #region PROPS\nexport interface HvUseTableProps\n extends Omit<TableProps, \"role\">,\n UseHvTableStickyTableProps,\n HvTableProps {}\n\nexport interface HvUseTableHeaderProps\n extends Omit<TableHeaderProps, \"role\">,\n Omit<UseHvTableStylesTableCellProps, \"classes\">,\n UseHvTableStickyColumnProps,\n UseHvHeaderGroupsColumnProps,\n UseHvResizeColumnProps,\n Omit<UseHvSortByColumnProps, \"sortDirection\">,\n HvTableHeaderProps {}\n\nexport interface HvUseTableFooterProps\n extends TableFooterProps,\n UseHvTableStylesTableCellProps {}\n\nexport interface HvUseTableRowProps\n extends Omit<TableRowProps, \"role\">,\n UseHvTableStylesTableRowProps,\n UseHvRowSelectionTableRowProps,\n UseHvRowExpandTableRowProps,\n HvTableRowProps {}\n\nexport interface HvUseTableCellProps\n extends Omit<TableCellProps, \"role\">,\n Omit<UseHvTableStylesTableCellProps, \"variant\" | \"classes\">,\n UseHvTableStickyCellProps,\n UseHvHeaderGroupsCellProps,\n UseHvResizeTableCellProps,\n UseHvSortByTableCellProps,\n HvTableCellProps {}\n\n// #endregion\n\nexport type UseHvTableProps = <\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n>(\n options: HvTableOptions<D, H>,\n ...plugins: Array<PluginHook<D>>\n) => HvTableInstance<D, H>;\n\nexport { PluginHook as HvTablePluginHook };\n\n// #endregion ##### TYPES #####\n\nconst toTitleCase = (str: string) => {\n return str\n .replace(/([^A-Z])([A-Z])/g, \"$1 $2\") // split cameCase\n .replace(/[_-]+/g, \" \") // split snake_case and lisp-case\n .toLowerCase()\n .replace(/(^\\w|\\b\\w)/g, (m) => m.toUpperCase()) // title case words\n .replace(/\\s+/g, \" \") // collapse repeated whitespace\n .trim(); // remove leading/trailing whitespace\n};\n\nfunction useDefaultData<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n>(data?: HvTableOptions<D, H>[\"data\"]) {\n return useMemo(() => {\n return data || [];\n }, [data]);\n}\n\nfunction useDefaultColumns<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n>(\n data: NonNullable<HvTableOptions<D, H>[\"data\"]>,\n columns?: HvTableOptions<D, H>[\"columns\"]\n) {\n return useMemo(() => {\n if (columns != null) {\n return columns;\n }\n\n const uniqueKeys = Object.keys(Object.assign({}, ...data));\n\n return uniqueKeys\n .filter((key) => ![\"subRows\", \"subComponent\"].includes(key))\n .map((key) => ({\n accessor: key,\n Header: toTitleCase(key),\n }));\n }, [columns, data]);\n}\n\nfunction ensureCorePluginInstallation<\n D extends object = Record<string, unknown>\n>(\n plugins: PluginHook<D>[],\n hvPluginName: string,\n corePluginToInstall: PluginHook<D>\n) {\n const indexOfCorePlugin = plugins.findIndex(\n (plugin) => plugin.pluginName === corePluginToInstall.pluginName\n );\n const indexOfHvPlugin = plugins.findIndex(\n (plugin) => plugin.pluginName === hvPluginName\n );\n\n if (\n indexOfHvPlugin !== -1 &&\n (indexOfCorePlugin === -1 || indexOfCorePlugin > indexOfHvPlugin)\n ) {\n if (indexOfCorePlugin > -1) {\n plugins.splice(indexOfCorePlugin, 1);\n }\n\n plugins.splice(indexOfHvPlugin, 0, corePluginToInstall);\n }\n}\n\nfunction useInstanceHook<D extends object = Record<string, unknown>>(\n instance: TableInstance<D>\n) {\n const { rowsById } = instance;\n\n Object.assign(instance, {\n initialRowsById: rowsById,\n });\n}\n\nfunction useHvTableSetup<D extends object = Record<string, unknown>>(\n hooks: Hooks<D>\n) {\n hooks.useInstance.push(useInstanceHook);\n}\nuseHvTableSetup.pluginName = \"useHvTableSetup\";\n\nfunction useHvTable<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n>(\n options: HvTableOptions<D, H>,\n ...plugins: PluginHook<D>[]\n): HvTableInstance<D, H> {\n const { data: dataProp, columns: columnsProp, ...others } = options;\n\n const data = useDefaultData<D, H>(dataProp);\n const columns = useDefaultColumns<D, H>(data, columnsProp);\n\n ensureCorePluginInstallation<D>(plugins, \"useHvPagination\", usePagination);\n ensureCorePluginInstallation<D>(plugins, \"useHvRowExpand\", useExpanded);\n ensureCorePluginInstallation<D>(plugins, \"useHvSortBy\", useSortBy);\n ensureCorePluginInstallation<D>(\n plugins,\n \"useHvResizeColumns\",\n useResizeColumns\n );\n\n const indexOfHvTableStylesPlugin = plugins.findIndex(\n (plugin) => plugin.pluginName === \"useHvTableStyles\"\n );\n if (indexOfHvTableStylesPlugin === -1) {\n plugins.push(useHvTableStyles);\n }\n\n // Main hook call\n return useTable<D>(\n {\n data,\n columns,\n ...others,\n } as any,\n useHvTableSetup,\n ...plugins\n ) as any;\n}\n\nexport default useHvTable;\n"],"names":["toTitleCase","str","replace","toLowerCase","m","toUpperCase","trim","useDefaultData","data","useMemo","useDefaultColumns","columns","uniqueKeys","Object","keys","assign","filter","key","includes","map","accessor","Header","ensureCorePluginInstallation","plugins","hvPluginName","corePluginToInstall","indexOfCorePlugin","findIndex","plugin","pluginName","indexOfHvPlugin","splice","useInstanceHook","instance","rowsById","initialRowsById","useHvTableSetup","hooks","useInstance","push","useHvTable","options","dataProp","columnsProp","others","usePagination","useExpanded","useSortBy","useResizeColumns","indexOfHvTableStylesPlugin","useHvTableStyles","useTable"],"mappings":";;;;AAolBA,MAAMA,cAAcA,CAACC,QAAgB;AAC5BA,SAAAA,IACJC,QAAQ,oBAAoB,OAAO,EACnCA,QAAQ,UAAU,GAAG,EACrBC,cACAD,QAAQ,eAAgBE,CAAAA,MAAMA,EAAEC,YAAa,CAAA,EAC7CH,QAAQ,QAAQ,GAAG,EACnBI;AACL;AAEA,SAASC,eAGPC,MAAqC;AACrC,SAAOC,QAAQ,MAAM;AACnB,WAAOD,QAAQ,CAAA;AAAA,EAAE,GAChB,CAACA,IAAI,CAAC;AACX;AAEA,SAASE,kBAIPF,MACAG,SACA;AACA,SAAOF,QAAQ,MAAM;AACnB,QAAIE,WAAW,MAAM;AACZA,aAAAA;AAAAA,IACT;AAEMC,UAAAA,aAAaC,OAAOC,KAAKD,OAAOE,OAAO,CAAC,GAAG,GAAGP,IAAI,CAAC;AAEzD,WAAOI,WACJI,OAAQC,CAAQ,QAAA,CAAC,CAAC,WAAW,cAAc,EAAEC,SAASD,GAAG,CAAC,EAC1DE,IAAKF,CAAS,SAAA;AAAA,MACbG,UAAUH;AAAAA,MACVI,QAAQrB,YAAYiB,GAAG;AAAA,IACvB,EAAA;AAAA,EAAA,GACH,CAACN,SAASH,IAAI,CAAC;AACpB;AAEA,SAASc,6BAGPC,SACAC,cACAC,qBACA;AACA,QAAMC,oBAAoBH,QAAQI,UAC/BC,YAAWA,OAAOC,eAAeJ,oBAAoBI,UACxD;AACA,QAAMC,kBAAkBP,QAAQI,UAC7BC,CAAWA,WAAAA,OAAOC,eAAeL,YACpC;AAEA,MACEM,oBAAoB,OACnBJ,sBAAsB,MAAMA,oBAAoBI,kBACjD;AACA,QAAIJ,oBAAoB,IAAI;AAClBK,cAAAA,OAAOL,mBAAmB,CAAC;AAAA,IACrC;AAEQK,YAAAA,OAAOD,iBAAiB,GAAGL,mBAAmB;AAAA,EACxD;AACF;AAEA,SAASO,gBACPC,UACA;AACM,QAAA;AAAA,IAAEC;AAAAA,EAAaD,IAAAA;AAErBpB,SAAOE,OAAOkB,UAAU;AAAA,IACtBE,iBAAiBD;AAAAA,EAAAA,CAClB;AACH;AAEA,SAASE,gBACPC,OACA;AACMC,QAAAA,YAAYC,KAAKP,eAAe;AACxC;AACAI,gBAAgBP,aAAa;AAE7B,SAASW,WAIPC,YACGlB,SACoB;AACjB,QAAA;AAAA,IAAEf,MAAMkC;AAAAA,IAAU/B,SAASgC;AAAAA,IAAa,GAAGC;AAAAA,EAAWH,IAAAA;AAEtDjC,QAAAA,OAAOD,eAAqBmC,QAAQ;AACpC/B,QAAAA,UAAUD,kBAAwBF,MAAMmC,WAAW;AAEzBpB,+BAAAA,SAAS,mBAAmBsB,aAAa;AACzCtB,+BAAAA,SAAS,kBAAkBuB,WAAW;AACtCvB,+BAAAA,SAAS,eAAewB,SAAS;AAE/DxB,+BAAAA,SACA,sBACAyB,gBACF;AAEA,QAAMC,6BAA6B1B,QAAQI,UACxCC,CAAWA,WAAAA,OAAOC,eAAe,kBACpC;AACA,MAAIoB,+BAA+B,IAAI;AACrC1B,YAAQgB,KAAKW,gBAAgB;AAAA,EAC/B;AAGA,SAAOC,SACL;AAAA,IACE3C;AAAAA,IACAG;AAAAA,IACA,GAAGiC;AAAAA,EAAAA,GAELR,iBACA,GAAGb,OACL;AACF;"}
|
|
1
|
+
{"version":3,"file":"useTable.js","sources":["../../../../../src/components/Table/hooks/useTable.ts"],"sourcesContent":["import { useMemo } from \"react\";\nimport {\n useTable,\n usePagination,\n useExpanded,\n useSortBy,\n useResizeColumns,\n Cell,\n ColumnInstance,\n ColumnInterface,\n Hooks,\n Renderer,\n Row,\n TableCellProps,\n TableFooterProps,\n TableHeaderProps,\n TableInstance,\n TableOptions,\n TableProps,\n TableRowProps,\n TableState,\n UseColumnOrderInstanceProps,\n UseColumnOrderState,\n UseExpandedHooks,\n UseExpandedInstanceProps,\n UseExpandedOptions,\n UseExpandedState,\n UseFiltersColumnOptions,\n UseFiltersColumnProps,\n UseFiltersInstanceProps,\n UseFiltersOptions,\n UseFiltersState,\n UseGlobalFiltersInstanceProps,\n UseGlobalFiltersOptions,\n UseGlobalFiltersState,\n UseGroupByCellProps,\n UseGroupByColumnOptions,\n UseGroupByColumnProps,\n UseGroupByHooks,\n UseGroupByInstanceProps,\n UseGroupByOptions,\n UseGroupByRowProps,\n UseGroupByState,\n UsePaginationInstanceProps,\n UsePaginationOptions,\n UsePaginationState,\n UseResizeColumnsColumnOptions,\n UseResizeColumnsColumnProps,\n UseResizeColumnsOptions,\n UseResizeColumnsState,\n UseSortByColumnOptions,\n UseSortByColumnProps,\n UseSortByHooks,\n UseSortByInstanceProps,\n UseSortByOptions,\n UseSortByState,\n UseRowStateState,\n UseRowStateOptions,\n UseGlobalFiltersColumnOptions,\n UseRowStateInstanceProps,\n UseRowStateRowProps,\n UseTableHeaderGroupProps,\n PluginHook,\n ActionType,\n ReducerTableState,\n} from \"react-table\";\n\nimport useHvTableStyles, {\n UseHvTableStylesTableOptions,\n UseHvTableStylesColumnOptions,\n UseHvTableStylesTableCellProps,\n UseHvTableStylesTableRowProps,\n} from \"./useTableStyles\";\nimport {\n UseHvTableStickyCellProps,\n UseHvTableStickyColumnProps,\n UseHvTableStickyHooks,\n UseHvTableStickyTableInstance,\n UseHvTableStickyTableOptions,\n UseHvTableStickyTableProps,\n} from \"./useSticky\";\nimport { UseHvSortByColumnProps, UseHvSortByTableCellProps } from \"./useSortBy\";\nimport {\n UseHvRowSelectionHooks,\n UseHvRowSelectionRowInstance,\n UseHvRowSelectionState,\n UseHvRowSelectionTableInstance,\n UseHvRowSelectionTableOptions,\n UseHvRowSelectionTableRowProps,\n} from \"./useRowSelection\";\nimport {\n UseHvPaginationHooks,\n UseHvPaginationTableInstance,\n} from \"./usePagination\";\nimport {\n UseHvBulkActionsHooks,\n UseHvBulkActionsTableInstanceProps,\n UseHvBulkActionsTableOptions,\n} from \"./useBulkActions\";\nimport {\n UseHvRowExpandTableOptions,\n UseHvRowExpandRowInstance,\n UseHvRowExpandTableRowProps,\n} from \"./useRowExpand\";\nimport {\n UseHvHeaderGroupsColumnProps,\n UseHvHeaderGroupsCellProps,\n UseHvHeaderGroupsInstance,\n} from \"./useHeaderGroups\";\nimport {\n UseHvResizeColumnProps,\n UseHvResizeTableCellProps,\n} from \"./useResizeColumns\";\nimport { HvTableRowProps } from \"../TableRow\";\nimport { HvTableProps } from \"../Table\";\nimport { HvTableCellProps } from \"../TableCell\";\nimport { HvTableHeaderProps } from \"../TableHeader\";\n\n// #region ##### TYPES #####\n\ntype Accessor<D extends object> = (\n originalRow: D,\n index: number,\n sub: {\n subRows: D[];\n depth: number;\n data: D[];\n }\n) => CellValue;\n\ntype ValueOf<T> = T[keyof T];\ntype StringKey<D> = Extract<keyof D, string>;\ntype IdType<D> = StringKey<D> | string;\ntype CellValue<V = any> = V;\n\ntype HvHeaderProps<D extends object = Record<string, unknown>> =\n HvTableInstance<D> & {\n column: HvColumnInstance<D>;\n };\n\ninterface HvMetaBase<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n> {\n instance: HvTableInstance<D, H>;\n userProps: any;\n}\n\nexport type HvMeta<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer,\n Extension = never,\n M = HvMetaBase<D, H>\n> = [Extension] extends [never] ? M : M & Extension;\n\nexport type HvPropGetter<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer,\n Props extends object = Record<string, unknown>,\n T extends object = never,\n P = Partial<Props>\n> = ((props: P, meta: HvMeta<D, H, T>) => P | P[]) | P | P[];\n\nexport type HvTableHeaderRenderer<D extends object = Record<string, unknown>> =\n Renderer<HvHeaderProps<D>>;\n\ntype HvFooterProps<D extends object = Record<string, unknown>> =\n HvTableInstance<D> & {\n column: HvColumnInstance<D>;\n };\n\ninterface HvHeaderGroup<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n> extends HvColumnInstance<D, H>,\n Omit<UseTableHeaderGroupProps<D>, \"headers\"> {\n headers: Array<HvHeaderGroup<D, H>>;\n}\n\ntype HvRowPropGetter<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n> = HvPropGetter<D, H, HvUseTableRowProps, { row: HvRowInstance<D, H> }>;\n\ntype HvTablePropGetter<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n> = HvPropGetter<D, H, HvUseTableProps>;\n\ntype HvCellPropGetter<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n> = HvPropGetter<D, H, HvUseTableCellProps, { cell: HvCellInstance<D, H> }>;\n\ntype HvHeaderPropGetter<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n> = HvPropGetter<D, H, HvUseTableHeaderProps, { column: HvHeaderGroup<D, H> }>;\n\ntype HvFooterPropGetter<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n> = HvPropGetter<D, H, HvUseTableFooterProps, { column: HvHeaderGroup<D, H> }>;\n\nexport interface HvCellProps<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer,\n V = any\n> extends HvTableInstance<D, H> {\n column: HvColumnInstance<D, H>;\n row: HvRowInstance<D, H>;\n cell: HvCellInstance<D, H, V>;\n value: CellValue<V>;\n}\n\nexport type HvTableDefinitionConfig<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n> = HvTableOptions<D, H>;\n\ninterface HvColumnInterfaceBasedOnValue<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer,\n V = any\n> {\n Cell?: Renderer<HvCellProps<D, H, V>>;\n}\n\ninterface HvColumnGroupInterface<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n> {\n columns: Array<HvTableColumnConfig<D, H>>;\n}\n\ntype HvColumnGroup<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n> = HvTableColumnOptions<D, H> &\n HvColumnGroupInterface<D, H> &\n (\n | { Header: H }\n | ({ id: IdType<D> } & {\n Header: H;\n })\n ) & { accessor?: Accessor<D> };\n\ntype HvColumnWithStrictAccessor<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n> = HvTableColumnOptions<D, H> &\n ValueOf<{\n [K in keyof D]: {\n accessor: K;\n } & HvColumnInterfaceBasedOnValue<D, H, D[K]>;\n }>;\n\ntype HvColumnWithLooseAccessor<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n> = HvTableColumnOptions<D, H> &\n HvColumnInterfaceBasedOnValue<D, H> &\n (\n | { Header: H }\n | { id: IdType<D> }\n | { accessor: keyof D extends never ? IdType<D> : never }\n ) & {\n accessor?: keyof D extends never ? IdType<D> | Accessor<D> : Accessor<D>;\n };\n\nexport type HvTableColumnConfig<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n> =\n | HvColumnGroup<D, H>\n | HvColumnWithLooseAccessor<D, H>\n | HvColumnWithStrictAccessor<D, H>;\n\n// #region HOOKS\nexport interface HvHooks<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n> extends Omit<Hooks<D>, \"useOptions\">,\n Partial<UseExpandedHooks<D>>,\n Partial<UseGroupByHooks<D>>,\n Partial<UseSortByHooks<D>>,\n Partial<UseHvRowSelectionHooks<D>>,\n Partial<UseHvTableStickyHooks<D>>,\n Partial<UseHvPaginationHooks<D>>,\n Partial<UseHvBulkActionsHooks<D>> {\n useOptions: Array<\n (\n options: HvTableOptions<D, H>,\n args: HvTableOptions<D, H>\n ) => HvTableOptions<D, H>\n >;\n stateReducers: Array<\n (\n newState: HvTableState<D>,\n action: ActionType,\n previousState?: HvTableState<D>,\n instance?: HvTableState<D>\n ) => ReducerTableState<D> | undefined\n >;\n columns: Array<\n (\n columns: Array<HvTableColumnConfig<D, H>>,\n meta: HvMeta<D, H>\n ) => Array<HvTableColumnConfig<D, H>>\n >;\n allColumns: Array<\n (\n allColumns: Array<HvColumnInstance<D, H>>,\n meta: HvMeta<D, H>\n ) => Array<HvTableColumnConfig<D, H>>\n >;\n visibleColumns: Array<\n (\n allColumns: Array<HvColumnInstance<D, H>>,\n meta: HvMeta<D, H>\n ) => Array<HvTableColumnConfig<D, H>>\n >;\n headerGroups: Array<\n (\n allColumns: Array<HvHeaderGroup<D, H>>,\n meta: HvMeta<D, H>\n ) => Array<HvHeaderGroup<D, H>>\n >;\n useInstanceBeforeDimensions: Array<(instance: HvTableInstance<D, H>) => void>;\n useInstance: Array<(instance: HvTableInstance<D, H>) => void>;\n useControlledState: Array<\n (state: HvTableState<D>, meta: HvMeta<D, H>) => HvTableState<D>\n >;\n getTableProps: Array<HvTablePropGetter<D, H>>;\n getHeaderProps: Array<HvHeaderPropGetter<D>>;\n getFooterProps: Array<HvFooterPropGetter<D>>;\n getRowProps: Array<HvRowPropGetter<D>>;\n getCellProps: Array<HvCellPropGetter<D>>;\n useFinalInstance: Array<(instance: HvTableInstance<D, H>) => void>;\n}\n// #endregion\n\n// #region STATE\nexport interface HvTableState<D extends object = Record<string, unknown>>\n extends TableState<D>,\n Partial<UseColumnOrderState<D>>,\n Partial<UseExpandedState<D>>,\n Partial<UseFiltersState<D>>,\n Partial<UseGlobalFiltersState<D>>,\n Partial<UseGroupByState<D>>,\n Partial<UsePaginationState<D>>,\n Partial<UseResizeColumnsState<D>>,\n Partial<UseSortByState<D>>,\n Partial<UseRowStateState<D>>,\n Partial<UseHvRowSelectionState<D>> {\n rowCount: number;\n}\n// #endregion\n\n// #region OPTIONS\nexport interface HvTableOptions<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n> extends Omit<\n TableOptions<D>,\n | \"columns\"\n | \"data\"\n | \"defaultColumn\"\n | \"stateReducer\"\n | \"useControlledState\"\n | \"getRowId\"\n >,\n Partial<UseExpandedOptions<D>>,\n Partial<UseFiltersOptions<D>>,\n Partial<UseGlobalFiltersOptions<D>>,\n Partial<UseGroupByOptions<D>>,\n Partial<UsePaginationOptions<D>>,\n Partial<UseResizeColumnsOptions<D>>,\n Partial<UseSortByOptions<D>>,\n Partial<UseRowStateOptions<D>>,\n Partial<UseHvTableStylesTableOptions>,\n Partial<UseHvRowSelectionTableOptions>,\n Partial<UseHvTableStickyTableOptions>,\n Partial<UseHvBulkActionsTableOptions>,\n Partial<UseHvRowExpandTableOptions> {\n columns?: Array<HvTableColumnConfig<D, H>>;\n data?: D[];\n initialState?: Partial<HvTableState<D>>;\n labels?: Record<string, string>;\n defaultColumn?: Partial<HvTableColumnConfig<D, H>>;\n stateReducer?: (\n newState: HvTableState<D>,\n action: ActionType,\n previousState: HvTableState<D>,\n instance?: HvTableInstance<D, H>\n ) => HvTableState<D>;\n useControlledState?: (\n state: HvTableState<D>,\n meta: HvMeta<D, H>\n ) => HvTableState<D>;\n getRowId?: (\n originalRow: D,\n relativeIndex: number,\n parent?: HvRowInstance<D, H>\n ) => string;\n}\n\nexport interface HvTableColumnOptions<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n> extends Omit<ColumnInterface<D>, \"Header\" | \"Footer\">,\n Partial<UseFiltersColumnOptions<D>>,\n Partial<UseGroupByColumnOptions<D>>,\n Partial<UseResizeColumnsColumnOptions<D>>,\n Partial<UseSortByColumnOptions<D>>,\n Partial<UseGlobalFiltersColumnOptions<D>>,\n Partial<UseHvTableStylesColumnOptions> {\n Header?: H;\n Footer?: Renderer<HvFooterProps<D>>;\n originalId?: IdType<D>;\n}\n// #endregion\n\n// #region INSTANCE\nexport interface HvTableInstance<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n> extends Omit<\n TableInstance<D>,\n | \"pageCount\"\n | \"data\"\n | \"columns\"\n | \"rows\"\n | \"allColumns\"\n | \"visibleColumns\"\n | \"headers\"\n | \"flatHeaders\"\n | \"rowsById\"\n | \"prepareRow\"\n | \"flatRows\"\n | \"headerGroups\"\n | \"footerGroups\"\n | \"defaultColumn\"\n | \"stateReducer\"\n | \"useControlledState\"\n | \"getRowId\"\n | \"getHooks\"\n | \"getTableProps\"\n >,\n Omit<HvTableOptions<D, H>, \"pageCount\" | \"columns\">,\n Partial<UseColumnOrderInstanceProps<D>>,\n Partial<Omit<UseExpandedInstanceProps<D>, \"rows\">>,\n Partial<Omit<UseFiltersInstanceProps<D>, \"rows\" | \"rowsById\" | \"flatRows\">>,\n Partial<\n Omit<UseGlobalFiltersInstanceProps<D>, \"rows\" | \"rowsById\" | \"flatRows\">\n >,\n Partial<Omit<UseGroupByInstanceProps<D>, \"rows\" | \"rowsById\" | \"flatRows\">>,\n Partial<Omit<UsePaginationInstanceProps<D>, \"page\">>,\n Partial<Omit<UseSortByInstanceProps<D>, \"rows\">>,\n Partial<UseRowStateInstanceProps<D>>,\n Partial<Omit<UseHvRowSelectionTableInstance<D>, \"selectedFlatRows\">>,\n Partial<UseHvTableStickyTableInstance<D>>,\n Partial<UseHvHeaderGroupsInstance>,\n Partial<UseHvPaginationTableInstance<D>>,\n Partial<UseHvBulkActionsTableInstanceProps<D>> {\n initialState: Partial<HvTableState<D>>;\n state: HvTableState<D>;\n columns: Array<HvColumnInstance<D, H>>;\n allColumns: Array<HvColumnInstance<D, H>>;\n visibleColumns: Array<HvColumnInstance<D, H>>;\n headers: Array<HvColumnInstance<D, H>>;\n flatHeaders: Array<HvColumnInstance<D, H>>;\n rows: Array<HvRowInstance<D, H>>;\n page: Array<HvRowInstance<D, H>>;\n rowsById: Record<string, HvRowInstance<D, H>>;\n flatRows: Array<HvRowInstance<D, H>>;\n getHooks: () => HvHooks<D>;\n getTableProps: (propGetter?: HvTablePropGetter<D, H>) => HvUseTableProps;\n prepareRow: (row: HvRowInstance<D, H>) => void;\n selectedFlatRows: Array<HvRowInstance<D, H>>;\n initialRows: Array<HvRowInstance<D, H>>;\n initialRowsById: Record<string, HvRowInstance<D, H>>;\n labels: Record<string, string>;\n headerGroups: Array<HvHeaderGroup<D, H>>;\n footerGroups: Array<HvHeaderGroup<D, H>>;\n}\n\nexport interface HvColumnInstance<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n> extends Omit<\n ColumnInstance<D>,\n | \"Cell\"\n | \"columns\"\n | \"parent\"\n | \"placeholderOf\"\n | \"id\"\n | \"Header\"\n | \"getHeaderProps\"\n | \"getFooterProps\"\n | \"Footer\"\n >,\n HvTableColumnOptions<D, H>,\n Partial<UseFiltersColumnProps<D>>,\n Partial<UseGroupByColumnProps<D>>,\n Partial<UseResizeColumnsColumnProps<D>>,\n Partial<UseSortByColumnProps<D>> {\n Cell?: Renderer<HvCellProps<D, H>>;\n columns: Array<HvColumnInstance<D, H>>;\n parent: HvColumnInstance<D, H>;\n placeholderOf?: HvColumnInstance<D, H>;\n getHeaderProps: (\n propGetter?: HvHeaderPropGetter<D, H>\n ) => HvUseTableHeaderProps;\n getFooterProps: (\n propGetter?: HvFooterPropGetter<D, H>\n ) => HvUseTableFooterProps;\n}\n\nexport interface HvRowInstance<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n> extends Omit<Row<D>, \"cells\" | \"allCells\" | \"subRows\" | \"getRowProps\">,\n Partial<Omit<UseGroupByRowProps<D>, \"subRows\" | \"values\">>,\n Partial<UseRowStateRowProps<D>>,\n Partial<Omit<UseHvRowExpandRowInstance<D>, \"subRows\">>,\n Partial<UseHvRowSelectionRowInstance> {\n cells: Array<HvCellInstance<D, H>>;\n allCells: Array<HvCellInstance<D, H>>;\n getRowProps: (propGetter?: HvRowPropGetter<D, H>) => HvUseTableRowProps;\n index: number;\n original: D;\n id: string;\n subRows: Array<HvRowInstance<D, H>>;\n}\n\nexport interface HvCellInstance<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer,\n V = any\n> extends Omit<Cell<D, V>, \"column\" | \"row\" | \"getCellProps\">,\n Partial<UseGroupByCellProps<D>> {\n column: HvColumnInstance<D, H>;\n row: HvRowInstance<D, H>;\n getCellProps: (propGetter?: HvCellPropGetter<D, H>) => HvUseTableCellProps;\n}\n// #endregion\n\n// #region PROPS\nexport interface HvUseTableProps\n extends Omit<TableProps, \"role\">,\n UseHvTableStickyTableProps,\n HvTableProps {}\n\nexport interface HvUseTableHeaderProps\n extends Omit<TableHeaderProps, \"role\">,\n Omit<UseHvTableStylesTableCellProps, \"classes\">,\n UseHvTableStickyColumnProps,\n UseHvHeaderGroupsColumnProps,\n UseHvResizeColumnProps,\n Omit<UseHvSortByColumnProps, \"sortDirection\">,\n HvTableHeaderProps {}\n\nexport interface HvUseTableFooterProps\n extends TableFooterProps,\n UseHvTableStylesTableCellProps {}\n\nexport interface HvUseTableRowProps\n extends Omit<TableRowProps, \"role\">,\n UseHvTableStylesTableRowProps,\n UseHvRowSelectionTableRowProps,\n UseHvRowExpandTableRowProps,\n HvTableRowProps {}\n\nexport interface HvUseTableCellProps\n extends Omit<TableCellProps, \"role\">,\n Omit<UseHvTableStylesTableCellProps, \"variant\" | \"classes\">,\n UseHvTableStickyCellProps,\n UseHvHeaderGroupsCellProps,\n UseHvResizeTableCellProps,\n UseHvSortByTableCellProps,\n HvTableCellProps {}\n\n// #endregion\n\nexport type UseHvTableProps = <\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n>(\n options: HvTableOptions<D, H>,\n ...plugins: Array<PluginHook<D>>\n) => HvTableInstance<D, H>;\n\nexport { PluginHook as HvTablePluginHook };\n\n// #endregion ##### TYPES #####\n\nconst toTitleCase = (str: string) => {\n return str\n .replace(/([^A-Z])([A-Z])/g, \"$1 $2\") // split cameCase\n .replace(/[_-]+/g, \" \") // split snake_case and lisp-case\n .toLowerCase()\n .replace(/(^\\w|\\b\\w)/g, (m) => m.toUpperCase()) // title case words\n .replace(/\\s+/g, \" \") // collapse repeated whitespace\n .trim(); // remove leading/trailing whitespace\n};\n\nfunction useDefaultData<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n>(data?: HvTableOptions<D, H>[\"data\"]) {\n return useMemo(() => {\n return data || [];\n }, [data]);\n}\n\nfunction useDefaultColumns<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n>(\n data: NonNullable<HvTableOptions<D, H>[\"data\"]>,\n columns?: HvTableOptions<D, H>[\"columns\"]\n) {\n return useMemo(() => {\n if (columns != null) {\n return columns;\n }\n\n const uniqueKeys = Object.keys(Object.assign({}, ...data));\n\n return uniqueKeys\n .filter((key) => ![\"subRows\", \"subComponent\"].includes(key))\n .map((key) => ({\n accessor: key,\n Header: toTitleCase(key),\n }));\n }, [columns, data]);\n}\n\nfunction ensureCorePluginInstallation<\n D extends object = Record<string, unknown>\n>(\n plugins: PluginHook<D>[],\n hvPluginName: string,\n corePluginToInstall: PluginHook<D>\n) {\n const indexOfCorePlugin = plugins.findIndex(\n (plugin) => plugin.pluginName === corePluginToInstall.pluginName\n );\n const indexOfHvPlugin = plugins.findIndex(\n (plugin) => plugin.pluginName === hvPluginName\n );\n\n if (\n indexOfHvPlugin !== -1 &&\n (indexOfCorePlugin === -1 || indexOfCorePlugin > indexOfHvPlugin)\n ) {\n if (indexOfCorePlugin > -1) {\n plugins.splice(indexOfCorePlugin, 1);\n }\n\n plugins.splice(indexOfHvPlugin, 0, corePluginToInstall);\n }\n}\n\nfunction useInstanceHook<D extends object = Record<string, unknown>>(\n instance: TableInstance<D>\n) {\n const { rowsById } = instance;\n\n Object.assign(instance, {\n initialRowsById: rowsById,\n });\n}\n\nfunction useHvTableSetup<D extends object = Record<string, unknown>>(\n hooks: Hooks<D>\n) {\n hooks.useInstance.push(useInstanceHook);\n}\nuseHvTableSetup.pluginName = \"useHvTableSetup\";\n\nfunction useHvTable<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n>(\n options: HvTableOptions<D, H>,\n ...plugins: PluginHook<D>[]\n): HvTableInstance<D, H> {\n const { data: dataProp, columns: columnsProp, ...others } = options;\n\n const data = useDefaultData<D, H>(dataProp);\n const columns = useDefaultColumns<D, H>(data, columnsProp);\n\n ensureCorePluginInstallation<D>(plugins, \"useHvPagination\", usePagination);\n ensureCorePluginInstallation<D>(plugins, \"useHvRowExpand\", useExpanded);\n ensureCorePluginInstallation<D>(plugins, \"useHvSortBy\", useSortBy);\n ensureCorePluginInstallation<D>(\n plugins,\n \"useHvResizeColumns\",\n useResizeColumns\n );\n\n const indexOfHvTableStylesPlugin = plugins.findIndex(\n (plugin) => plugin.pluginName === \"useHvTableStyles\"\n );\n if (indexOfHvTableStylesPlugin === -1) {\n plugins.push(useHvTableStyles);\n }\n\n // Main hook call\n return useTable<D>(\n {\n data,\n columns,\n ...others,\n } as any,\n useHvTableSetup,\n ...plugins\n ) as any;\n}\n\nexport default useHvTable;\n"],"names":["toTitleCase","str","replace","toLowerCase","m","toUpperCase","trim","useDefaultData","data","useMemo","useDefaultColumns","columns","uniqueKeys","Object","keys","assign","filter","key","includes","map","accessor","Header","ensureCorePluginInstallation","plugins","hvPluginName","corePluginToInstall","indexOfCorePlugin","findIndex","plugin","pluginName","indexOfHvPlugin","splice","useInstanceHook","instance","rowsById","initialRowsById","useHvTableSetup","hooks","useInstance","push","useHvTable","options","dataProp","columnsProp","others","usePagination","useExpanded","useSortBy","useResizeColumns","indexOfHvTableStylesPlugin","useHvTableStyles","useTable"],"mappings":";;;;AAqlBA,MAAMA,cAAcA,CAACC,QAAgB;AAC5BA,SAAAA,IACJC,QAAQ,oBAAoB,OAAO,EACnCA,QAAQ,UAAU,GAAG,EACrBC,cACAD,QAAQ,eAAgBE,CAAAA,MAAMA,EAAEC,YAAa,CAAA,EAC7CH,QAAQ,QAAQ,GAAG,EACnBI;AACL;AAEA,SAASC,eAGPC,MAAqC;AACrC,SAAOC,QAAQ,MAAM;AACnB,WAAOD,QAAQ,CAAA;AAAA,EAAE,GAChB,CAACA,IAAI,CAAC;AACX;AAEA,SAASE,kBAIPF,MACAG,SACA;AACA,SAAOF,QAAQ,MAAM;AACnB,QAAIE,WAAW,MAAM;AACZA,aAAAA;AAAAA,IACT;AAEMC,UAAAA,aAAaC,OAAOC,KAAKD,OAAOE,OAAO,CAAC,GAAG,GAAGP,IAAI,CAAC;AAEzD,WAAOI,WACJI,OAAQC,CAAQ,QAAA,CAAC,CAAC,WAAW,cAAc,EAAEC,SAASD,GAAG,CAAC,EAC1DE,IAAKF,CAAS,SAAA;AAAA,MACbG,UAAUH;AAAAA,MACVI,QAAQrB,YAAYiB,GAAG;AAAA,IACvB,EAAA;AAAA,EAAA,GACH,CAACN,SAASH,IAAI,CAAC;AACpB;AAEA,SAASc,6BAGPC,SACAC,cACAC,qBACA;AACA,QAAMC,oBAAoBH,QAAQI,UAC/BC,YAAWA,OAAOC,eAAeJ,oBAAoBI,UACxD;AACA,QAAMC,kBAAkBP,QAAQI,UAC7BC,CAAWA,WAAAA,OAAOC,eAAeL,YACpC;AAEA,MACEM,oBAAoB,OACnBJ,sBAAsB,MAAMA,oBAAoBI,kBACjD;AACA,QAAIJ,oBAAoB,IAAI;AAClBK,cAAAA,OAAOL,mBAAmB,CAAC;AAAA,IACrC;AAEQK,YAAAA,OAAOD,iBAAiB,GAAGL,mBAAmB;AAAA,EACxD;AACF;AAEA,SAASO,gBACPC,UACA;AACM,QAAA;AAAA,IAAEC;AAAAA,EAAaD,IAAAA;AAErBpB,SAAOE,OAAOkB,UAAU;AAAA,IACtBE,iBAAiBD;AAAAA,EAAAA,CAClB;AACH;AAEA,SAASE,gBACPC,OACA;AACMC,QAAAA,YAAYC,KAAKP,eAAe;AACxC;AACAI,gBAAgBP,aAAa;AAE7B,SAASW,WAIPC,YACGlB,SACoB;AACjB,QAAA;AAAA,IAAEf,MAAMkC;AAAAA,IAAU/B,SAASgC;AAAAA,IAAa,GAAGC;AAAAA,EAAWH,IAAAA;AAEtDjC,QAAAA,OAAOD,eAAqBmC,QAAQ;AACpC/B,QAAAA,UAAUD,kBAAwBF,MAAMmC,WAAW;AAEzBpB,+BAAAA,SAAS,mBAAmBsB,aAAa;AACzCtB,+BAAAA,SAAS,kBAAkBuB,WAAW;AACtCvB,+BAAAA,SAAS,eAAewB,SAAS;AAE/DxB,+BAAAA,SACA,sBACAyB,gBACF;AAEA,QAAMC,6BAA6B1B,QAAQI,UACxCC,CAAWA,WAAAA,OAAOC,eAAe,kBACpC;AACA,MAAIoB,+BAA+B,IAAI;AACrC1B,YAAQgB,KAAKW,gBAAgB;AAAA,EAC/B;AAGA,SAAOC,SACL;AAAA,IACE3C;AAAAA,IACAG;AAAAA,IACA,GAAGiC;AAAAA,EAAAA,GAELR,iBACA,GAAGb,OACL;AACF;"}
|