@heliux-org/design-system-core 0.0.82-table-tanstack-updated → 0.0.82-table-tanstack-latest
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/components/index.js +7 -5
- package/dist/components/index.js.map +1 -1
- package/dist/esm/components/index.d.ts +3 -1
- package/dist/esm/components/index.d.ts.map +1 -1
- package/dist/esm/src/components/Accordion/Accordion/Accordion.module.scss.js +1 -1
- package/dist/esm/src/components/AlertBanner/AlertBanner.module.scss.js +1 -1
- package/dist/esm/src/components/AlertBanner/AlertBannerButton/AlertBannerButton.module.scss.js +1 -1
- package/dist/esm/src/components/AlertBanner/AlertBannerLink/AlertBannerLink.module.scss.js +1 -1
- package/dist/esm/src/components/AlertBanner/AlertBannerText/AlertBannerText.module.scss.js +1 -1
- package/dist/esm/src/components/AttentionBox/AttentionBox.module.scss.js +1 -1
- package/dist/esm/src/components/AttentionBox/AttentionBoxLink/AttentionBoxLink.module.scss.js +1 -1
- package/dist/esm/src/components/Avatar/Avatar.module.scss.js +1 -1
- package/dist/esm/src/components/Avatar/AvatarBadge.module.scss.js +1 -1
- package/dist/esm/src/components/Avatar/AvatarContent.module.scss.js +1 -1
- package/dist/esm/src/components/AvatarGroup/AvatarGroup.module.scss.js +1 -1
- package/dist/esm/src/components/AvatarGroup/AvatarGroupCounter.module.scss.js +1 -1
- package/dist/esm/src/components/AvatarGroup/AvatarGroupCounterTooltipContent.module.scss.js +1 -1
- package/dist/esm/src/components/AvatarGroup/AvatarGroupCounterTooltipContentVirtualizedList.module.scss.js +1 -1
- package/dist/esm/src/components/Badge/Badge.module.scss.js +1 -1
- package/dist/esm/src/components/Badge/Indicator/Indicator.module.scss.js +1 -1
- package/dist/esm/src/components/Box/Box.module.scss.js +1 -1
- package/dist/esm/src/components/BreadcrumbsBar/BreadcrumbItem/BreadcrumbContent/BreadcrumbContent.module.scss.js +1 -1
- package/dist/esm/src/components/BreadcrumbsBar/BreadcrumbItem/BreadcrumbItem.module.scss.js +1 -1
- package/dist/esm/src/components/BreadcrumbsBar/BreadcrumbsBar.module.scss.js +1 -1
- package/dist/esm/src/components/Button/Button.module.scss.js +1 -1
- package/dist/esm/src/components/ButtonGroup/ButtonGroup.module.scss.js +1 -1
- package/dist/esm/src/components/Checkbox/Checkbox.module.scss.js +1 -1
- package/dist/esm/src/components/Clickable/Clickable.module.scss.js +1 -1
- package/dist/esm/src/components/ColorPicker/ColorPicker.module.scss.js +1 -1
- package/dist/esm/src/components/ColorPicker/components/ColorPickerContent/ColorPickerClearButton.module.scss.js +1 -1
- package/dist/esm/src/components/ColorPicker/components/ColorPickerContent/ColorPickerColorsGrid.module.scss.js +1 -1
- package/dist/esm/src/components/ColorPicker/components/ColorPickerItemComponent/ColorPickerItemComponent.module.scss.js +1 -1
- package/dist/esm/src/components/Combobox/Combobox.module.scss.js +1 -1
- package/dist/esm/src/components/Combobox/ComboboxHelpers/ComboboxHelpers.module.scss.js +1 -1
- package/dist/esm/src/components/Combobox/components/ComboboxCategory/ComboboxCategory.module.scss.js +1 -1
- package/dist/esm/src/components/Combobox/components/ComboboxItems/ComboboxItems.module.scss.js +1 -1
- package/dist/esm/src/components/Combobox/components/ComboboxOption/ComboboxOption.module.scss.js +1 -1
- package/dist/esm/src/components/Combobox/components/StickyCategoryHeader/StickyCategoryHeader.module.scss.js +1 -1
- package/dist/esm/src/components/Comments/comments.scss.js +1 -1
- package/dist/esm/src/components/Counter/Counter.module.scss.js +1 -1
- package/dist/esm/src/components/DatePicker/DateNavigationItem/DateNavigationItem.module.scss.js +1 -1
- package/dist/esm/src/components/DatePicker/DatePicker.module.scss.js +1 -1
- package/dist/esm/src/components/DatePicker/DatePickerHeader/DatePickerHeader.module.scss.js +1 -1
- package/dist/esm/src/components/DatePicker/YearPicker/YearPicker.module.scss.js +1 -1
- package/dist/esm/src/components/Dialog/Dialog.module.scss.js +1 -1
- package/dist/esm/src/components/Dialog/DialogContent/DialogContent.module.scss.js +1 -1
- package/dist/esm/src/components/DialogContentContainer/DialogContentContainer.module.scss.js +1 -1
- package/dist/esm/src/components/Divider/Divider.module.scss.js +1 -1
- package/dist/esm/src/components/Dropdown/Dropdown.module.scss.js +1 -1
- package/dist/esm/src/components/Dropdown/components/ChildrenContent/ChildrenContent.module.scss.js +1 -1
- package/dist/esm/src/components/Dropdown/components/MultiValueContainer/MultiValueContainer.module.scss.js +1 -1
- package/dist/esm/src/components/Dropdown/components/menu/menu.module.scss.js +1 -1
- package/dist/esm/src/components/Dropdown/components/option/option.module.scss.js +1 -1
- package/dist/esm/src/components/Dropdown/components/singleValue/singleValue.module.scss.js +1 -1
- package/dist/esm/src/components/EditableHeading/EditableHeading.module.scss.js +1 -1
- package/dist/esm/src/components/EditableInput/EditableInput.module.scss.js +1 -1
- package/dist/esm/src/components/EditableText/EditableText.module.scss.js +1 -1
- package/dist/esm/src/components/EditableTypography/EditableTypography.module.scss.js +1 -1
- package/dist/esm/src/components/ExpandCollapse/ExpandCollapse.module.scss.js +1 -1
- package/dist/esm/src/components/FieldLabel/FieldLabel.module.scss.js +1 -1
- package/dist/esm/src/components/Flex/Flex.module.scss.js +1 -1
- package/dist/esm/src/components/FormattedNumber/FormattedNumber.module.scss.js +1 -1
- package/dist/esm/src/components/HeaderActions/HeaderActions.module.scss.js +1 -1
- package/dist/esm/src/components/Heading/Heading.module.scss.js +1 -1
- package/dist/esm/src/components/HiddenText/HiddenText.module.scss.js +1 -1
- package/dist/esm/src/components/Icon/Icon.module.scss.js +1 -1
- package/dist/esm/src/components/IconButton/IconButton.module.scss.js +1 -1
- package/dist/esm/src/components/InlineEdit/InlineEdit.module.scss.js +1 -1
- package/dist/esm/src/components/Label/Label.module.scss.js +1 -1
- package/dist/esm/src/components/LegacyEditableHeading/LegacyEditableHeading.module.scss.js +1 -1
- package/dist/esm/src/components/LegacyHeading/LegacyHeading.module.scss.js +1 -1
- package/dist/esm/src/components/Link/Link.module.scss.js +1 -1
- package/dist/esm/src/components/List/List.module.scss.js +1 -1
- package/dist/esm/src/components/List/VirtualizedListItems/VirtualizedListItems.module.scss.js +1 -1
- package/dist/esm/src/components/ListItem/ListItem.module.scss.js +1 -1
- package/dist/esm/src/components/ListItemAvatar/ListItemAvatar.module.scss.js +1 -1
- package/dist/esm/src/components/ListItemIcon/ListItemIcon.module.scss.js +1 -1
- package/dist/esm/src/components/ListTitle/ListTitle.module.scss.js +1 -1
- package/dist/esm/src/components/Loader/Loader.module.scss.js +1 -1
- package/dist/esm/src/components/Menu/Menu/Menu.module.scss.js +1 -1
- package/dist/esm/src/components/Menu/MenuDivider/MenuDivider.module.scss.js +1 -1
- package/dist/esm/src/components/Menu/MenuItem/MenuItem.module.scss.js +1 -1
- package/dist/esm/src/components/Menu/MenuItemButton/MenuItemButton.module.scss.js +1 -1
- package/dist/esm/src/components/Menu/MenuTitle/MenuTitle.module.scss.js +1 -1
- package/dist/esm/src/components/MenuButton/MenuButton.module.scss.js +1 -1
- package/dist/esm/src/components/Modal/Modal.module.scss.js +1 -1
- package/dist/esm/src/components/Modal/ModalContent/ModalContent.module.scss.js +1 -1
- package/dist/esm/src/components/Modal/ModalFooter/ModalFooter.module.scss.js +1 -1
- package/dist/esm/src/components/Modal/ModalHeader/ModalHeader.module.scss.js +1 -1
- package/dist/esm/src/components/MultiStepIndicator/MultiStepIndicator.module.scss.js +1 -1
- package/dist/esm/src/components/MultiStepIndicator/components/StepIndicator/StepIndicator.module.scss.js +1 -1
- package/dist/esm/src/components/NewTable/Table.module.scss.js +1 -1
- package/dist/esm/src/components/NewTable/components/Cell/Cell.module.scss.js +1 -1
- package/dist/esm/src/components/NewTable/components/Cell/HeaderCell/HeaderCell.module.scss.js +1 -1
- package/dist/esm/src/components/NewTable/components/ExpandedContent/ExpandedContent.module.scss.js +1 -1
- package/dist/esm/src/components/NewTable/components/Row/Row.module.scss.js +1 -1
- package/dist/esm/src/components/NewTable/components/TableHead/TableHead.module.scss.js +1 -1
- package/dist/esm/src/components/NewTable/components/TableHeader/TableHeader.module.scss.js +1 -1
- package/dist/esm/src/components/NewTable/components/ToggleExpandedIcon/ToggleExpandedIcon.module.scss.js +1 -1
- package/dist/esm/src/components/NewTable/components/newComponents/pagination/Pagination.module.scss.js +1 -1
- package/dist/esm/src/components/NewTable/components/useLeafyGreenTable/useLeafyGreenTable.module.scss.js +1 -1
- package/dist/esm/src/components/NumericField/NumericField.module.scss.js +1 -1
- package/dist/esm/src/components/PageHeader/PageHeader.module.scss.js +1 -1
- package/dist/esm/src/components/Panel/Panel.module.scss.js +1 -1
- package/dist/esm/src/components/ProgressBars/LinearProgressBar/Bar/Bar.module.scss.js +1 -1
- package/dist/esm/src/components/ProgressBars/LinearProgressBar/LinearProgressBar.module.scss.js +1 -1
- package/dist/esm/src/components/ProgressBars/PercentageLabel/PercentageLabel.module.scss.js +1 -1
- package/dist/esm/src/components/RadioButton/RadioButton.module.scss.js +1 -1
- package/dist/esm/src/components/ResponsiveList/ResponsiveList.module.scss.js +1 -1
- package/dist/esm/src/components/Search/Search.module.scss.js +1 -1
- package/dist/esm/src/components/SectionHeader/SectionHeader.module.scss.js +1 -1
- package/dist/esm/src/components/Sidebar/Sidebar.module.scss.js +1 -1
- package/dist/esm/src/components/Skeleton/Skeleton.module.scss.js +1 -1
- package/dist/esm/src/components/Slider/SelectionIndicator.module.scss.js +1 -1
- package/dist/esm/src/components/Slider/Slider.module.scss.js +1 -1
- package/dist/esm/src/components/Slider/SliderBase/SliderBase.module.scss.js +1 -1
- package/dist/esm/src/components/Slider/SliderBase/SliderFilledTrack.module.scss.js +1 -1
- package/dist/esm/src/components/Slider/SliderBase/SliderRail.module.scss.js +1 -1
- package/dist/esm/src/components/Slider/SliderBase/SliderThumb.module.scss.js +1 -1
- package/dist/esm/src/components/Slider/SliderBase/SliderTrack.module.scss.js +1 -1
- package/dist/esm/src/components/Slider/SliderInfix.module.scss.js +1 -1
- package/dist/esm/src/components/SplitButton/SplitButton.module.scss.js +1 -1
- package/dist/esm/src/components/Steps/Steps.module.scss.js +1 -1
- package/dist/esm/src/components/Steps/StepsCommand.module.scss.js +1 -1
- package/dist/esm/src/components/Steps/StepsDot.module.scss.js +1 -1
- package/dist/esm/src/components/Steps/StepsGalleryHeader.module.scss.js +1 -1
- package/dist/esm/src/components/Steps/StepsHeader.module.scss.js +1 -1
- package/dist/esm/src/components/Steps/StepsNumbersHeader.module.scss.js +1 -1
- package/dist/esm/src/components/Switch/Switch.module.scss.js +1 -1
- package/dist/esm/src/components/Table/Table.js +1 -1
- package/dist/esm/src/components/Table/Table.js.map +1 -1
- package/dist/esm/src/components/Table/TableHeader.module.scss.js +1 -1
- package/dist/esm/src/components/Table/actionHandlers/expandHandler.js +2 -0
- package/dist/esm/src/components/Table/actionHandlers/expandHandler.js.map +1 -0
- package/dist/esm/src/components/Table/actionHandlers/filterHandler.js +2 -0
- package/dist/esm/src/components/Table/actionHandlers/filterHandler.js.map +1 -0
- package/dist/esm/src/components/Table/actionHandlers/resizeHandler.js +2 -0
- package/dist/esm/src/components/Table/actionHandlers/resizeHandler.js.map +1 -0
- package/dist/esm/src/components/Table/actionHandlers/selectHandler.js +2 -0
- package/dist/esm/src/components/Table/actionHandlers/selectHandler.js.map +1 -0
- package/dist/esm/src/components/Table/columns/expanderColumn.js +1 -1
- package/dist/esm/src/components/Table/columns/expanderColumn.js.map +1 -1
- package/dist/esm/src/components/Table/columns/selectionColumn.js +1 -1
- package/dist/esm/src/components/Table/columns/selectionColumn.js.map +1 -1
- package/dist/esm/src/components/Table/filters/FilterToggle.js +2 -0
- package/dist/esm/src/components/Table/filters/FilterToggle.js.map +1 -0
- package/dist/esm/src/components/Table/filters/customFilterFunctions.js +2 -0
- package/dist/esm/src/components/Table/filters/customFilterFunctions.js.map +1 -0
- package/dist/esm/src/components/Table/filters/defaultFilterFunctions.js +2 -0
- package/dist/esm/src/components/Table/filters/defaultFilterFunctions.js.map +1 -0
- package/dist/esm/src/components/Table/hooks/useColumnDragAndDrop.js +2 -0
- package/dist/esm/src/components/Table/hooks/useColumnDragAndDrop.js.map +1 -0
- package/dist/esm/src/components/Table/hooks/useExpanderCell.js +2 -0
- package/dist/esm/src/components/Table/hooks/useExpanderCell.js.map +1 -0
- package/dist/esm/src/components/Table/hooks/useResizeColumns.js +2 -0
- package/dist/esm/src/components/Table/hooks/useResizeColumns.js.map +1 -0
- package/dist/esm/src/components/Table/hooks/useScrollToRow.js +2 -0
- package/dist/esm/src/components/Table/hooks/useScrollToRow.js.map +1 -0
- package/dist/esm/src/components/Table/hooks/useSelectionCell.js +2 -0
- package/dist/esm/src/components/Table/hooks/useSelectionCell.js.map +1 -0
- package/dist/esm/src/components/Table/hooks/useStickyColumns.js +2 -0
- package/dist/esm/src/components/Table/hooks/useStickyColumns.js.map +1 -0
- package/dist/esm/src/components/Table/hooks/useSubRowFiltering.js +2 -0
- package/dist/esm/src/components/Table/hooks/useSubRowFiltering.js.map +1 -0
- package/dist/esm/src/components/Table/hooks/useSubRowSelection.js +2 -0
- package/dist/esm/src/components/Table/hooks/useSubRowSelection.js.map +1 -0
- package/dist/esm/src/components/Table/new/Buttons/IconButton.js +2 -0
- package/dist/esm/src/components/Table/new/Buttons/IconButton.js.map +1 -0
- package/dist/esm/src/components/Table/new/Popover/Popover.js +1 -1
- package/dist/esm/src/components/Table/new/Popover/Popover.js.map +1 -1
- package/dist/esm/src/components/Table/new/ThemeProvider/ThemeProvider.js +2 -0
- package/dist/esm/src/components/Table/new/ThemeProvider/ThemeProvider.js.map +1 -0
- package/dist/esm/src/components/Table/new/Toast/Toast.js +2 -0
- package/dist/esm/src/components/Table/new/Toast/Toast.js.map +1 -0
- package/dist/esm/src/components/Table/new/Toast/Toaster.js +1 -1
- package/dist/esm/src/components/Table/new/Toast/Toaster.js.map +1 -1
- package/dist/esm/src/components/Table/new/utils/components/VirtualScroll.js +2 -0
- package/dist/esm/src/components/Table/new/utils/components/VirtualScroll.js.map +1 -0
- package/dist/esm/src/components/Table/new/utils/functions/dev.js +1 -1
- package/dist/esm/src/components/Table/new/utils/functions/dev.js.map +1 -1
- package/dist/esm/src/components/Table/new/utils/functions/import.js +2 -0
- package/dist/esm/src/components/Table/new/utils/functions/import.js.map +1 -0
- package/dist/esm/src/components/Table/new/utils/hooks/useLatestRef.js +2 -0
- package/dist/esm/src/components/Table/new/utils/hooks/useLatestRef.js.map +1 -0
- package/dist/esm/src/components/Table/new/utils/hooks/useMediaQuery.js +2 -0
- package/dist/esm/src/components/Table/new/utils/hooks/useMediaQuery.js.map +1 -0
- package/dist/esm/src/components/Table/new/utils/hooks/useSafeContext.js +2 -0
- package/dist/esm/src/components/Table/new/utils/hooks/useSafeContext.js.map +1 -0
- package/dist/esm/src/components/Table/styling/column-filter.scss.js +2 -0
- package/dist/esm/src/components/Table/styling/column-filter.scss.js.map +1 -0
- package/dist/esm/src/components/Table/styling/paginator.scss.js +1 -1
- package/dist/esm/src/components/Table/styling/table_base.scss.js +1 -1
- package/dist/esm/src/components/Table/table.scss.js +1 -1
- package/dist/esm/src/components/Tabs/Tab/Tab.module.scss.js +1 -1
- package/dist/esm/src/components/Tabs/TabList/TabList.module.scss.js +1 -1
- package/dist/esm/src/components/Tabs/TabPanel/TabPanel.module.scss.js +1 -1
- package/dist/esm/src/components/Tabs/TabPanels/TabPanels.module.scss.js +1 -1
- package/dist/esm/src/components/Tags/Tags.module.scss.js +1 -1
- package/dist/esm/src/components/Text/Text.module.scss.js +1 -1
- package/dist/esm/src/components/TextAreaField/TextAreaField.module.scss.js +1 -1
- package/dist/esm/src/components/TextField/TextField.module.scss.js +1 -1
- package/dist/esm/src/components/TextWithHighlight/TextWithHighlight.module.scss.js +1 -1
- package/dist/esm/src/components/Timeline/Timeline/Timeline.module.scss.js +1 -1
- package/dist/esm/src/components/Timeline/TimelineRow/TimelineRow.module.scss.js +1 -1
- package/dist/esm/src/components/Tipseen/Tipseen.module.scss.js +1 -1
- package/dist/esm/src/components/Tipseen/TipseenBasicContent.module.scss.js +1 -1
- package/dist/esm/src/components/Tipseen/TipseenContent.module.scss.js +1 -1
- package/dist/esm/src/components/Tipseen/TipseenImage.module.scss.js +1 -1
- package/dist/esm/src/components/Tipseen/TipseenMedia/TipseenMedia.module.scss.js +1 -1
- package/dist/esm/src/components/Tipseen/TipseenTitle.module.scss.js +1 -1
- package/dist/esm/src/components/Tipseen/TipseenWizard.module.scss.js +1 -1
- package/dist/esm/src/components/Toast/Toast.module.scss.js +1 -1
- package/dist/esm/src/components/Toast/ToastLink/ToastLink.module.scss.js +1 -1
- package/dist/esm/src/components/Toggle/MockToggle.module.scss.js +1 -1
- package/dist/esm/src/components/Toggle/Toggle.module.scss.js +1 -1
- package/dist/esm/src/components/Toggle/ToggleText.module.scss.js +1 -1
- package/dist/esm/src/components/Tooltip/Tooltip.module.scss.js +1 -1
- package/dist/esm/src/components/TopNavigationBar/TopNavigationBar.module.scss.js +1 -1
- package/dist/esm/src/components/TopNavigationBar/components/Notification/Notification.module.scss.js +1 -1
- package/dist/esm/src/components/TopNavigationBar/components/NotificationItem/NotificationItem.module.scss.js +1 -1
- package/dist/esm/src/components/Tree/components/TreeFile/TreeFile.scss.js +1 -1
- package/dist/esm/src/components/Tree/components/TreeFileIcon/TreeFileIcon.scss.js +1 -1
- package/dist/esm/src/components/Tree/components/TreeFolder/TreeFolder.scss.js +1 -1
- package/dist/esm/src/components/Tree/components/TreeFolderIcon/TreeFolderIcon.scss.js +1 -1
- package/dist/esm/src/components/Tree/components/TreeStatusIcon/TreeStatusIcon.scss.js +1 -1
- package/dist/esm/src/components/Tree/components/expand/expand.scss.js +1 -1
- package/dist/esm/src/components/Typography/Typography.module.scss.js +1 -1
- package/dist/esm/src/components/Uploader/Uploader.scss.js +1 -1
- package/dist/esm/src/components/VirtualizedGrid/VirtualizedGrid.module.scss.js +1 -1
- package/dist/esm/src/components/VirtualizedList/VirtualizedList.module.scss.js +1 -1
- package/dist/esm/src/components/Workflow/workflow.scss.js +1 -1
- package/dist/esm/src/index.js +1 -1
- package/dist/esm/style/dist/index.min.css.js +1 -1
- package/dist/main.css +3 -2
- package/dist/main.css.map +1 -1
- package/dist/main.js +2 -2
- package/dist/main.js.map +1 -1
- package/dist/mocked_classnames_esm/components/index.d.ts +3 -1
- package/dist/mocked_classnames_esm/components/index.d.ts.map +1 -1
- package/dist/mocked_classnames_esm/src/components/Accordion/Accordion/Accordion.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/AlertBanner/AlertBanner.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/AlertBanner/AlertBannerButton/AlertBannerButton.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/AlertBanner/AlertBannerLink/AlertBannerLink.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/AlertBanner/AlertBannerText/AlertBannerText.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/AttentionBox/AttentionBox.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/AttentionBox/AttentionBoxLink/AttentionBoxLink.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Avatar/Avatar.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Avatar/AvatarBadge.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Avatar/AvatarContent.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/AvatarGroup/AvatarGroup.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/AvatarGroup/AvatarGroupCounter.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/AvatarGroup/AvatarGroupCounterTooltipContent.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/AvatarGroup/AvatarGroupCounterTooltipContentVirtualizedList.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Badge/Badge.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Badge/Indicator/Indicator.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Box/Box.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/BreadcrumbsBar/BreadcrumbItem/BreadcrumbContent/BreadcrumbContent.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/BreadcrumbsBar/BreadcrumbItem/BreadcrumbItem.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/BreadcrumbsBar/BreadcrumbsBar.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Button/Button.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/ButtonGroup/ButtonGroup.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Checkbox/Checkbox.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Clickable/Clickable.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/ColorPicker/ColorPicker.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/ColorPicker/components/ColorPickerContent/ColorPickerClearButton.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/ColorPicker/components/ColorPickerContent/ColorPickerColorsGrid.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/ColorPicker/components/ColorPickerItemComponent/ColorPickerItemComponent.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Combobox/Combobox.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Combobox/ComboboxHelpers/ComboboxHelpers.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Combobox/components/ComboboxCategory/ComboboxCategory.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Combobox/components/ComboboxItems/ComboboxItems.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Combobox/components/ComboboxOption/ComboboxOption.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Combobox/components/StickyCategoryHeader/StickyCategoryHeader.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Comments/comments.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Counter/Counter.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/DatePicker/DateNavigationItem/DateNavigationItem.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/DatePicker/DatePicker.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/DatePicker/DatePickerHeader/DatePickerHeader.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/DatePicker/YearPicker/YearPicker.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Dialog/Dialog.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Dialog/DialogContent/DialogContent.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/DialogContentContainer/DialogContentContainer.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Divider/Divider.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Dropdown/Dropdown.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Dropdown/components/ChildrenContent/ChildrenContent.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Dropdown/components/MultiValueContainer/MultiValueContainer.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Dropdown/components/menu/menu.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Dropdown/components/option/option.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Dropdown/components/singleValue/singleValue.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/EditableHeading/EditableHeading.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/EditableInput/EditableInput.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/EditableText/EditableText.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/EditableTypography/EditableTypography.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/ExpandCollapse/ExpandCollapse.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/FieldLabel/FieldLabel.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Flex/Flex.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/FormattedNumber/FormattedNumber.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/HeaderActions/HeaderActions.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Heading/Heading.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/HiddenText/HiddenText.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Icon/Icon.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/IconButton/IconButton.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/InlineEdit/InlineEdit.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Label/Label.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/LegacyEditableHeading/LegacyEditableHeading.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/LegacyHeading/LegacyHeading.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Link/Link.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/List/List.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/List/VirtualizedListItems/VirtualizedListItems.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/ListItem/ListItem.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/ListItemAvatar/ListItemAvatar.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/ListItemIcon/ListItemIcon.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/ListTitle/ListTitle.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Loader/Loader.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Menu/Menu/Menu.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Menu/MenuDivider/MenuDivider.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Menu/MenuItem/MenuItem.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Menu/MenuItemButton/MenuItemButton.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Menu/MenuTitle/MenuTitle.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/MenuButton/MenuButton.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Modal/Modal.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Modal/ModalContent/ModalContent.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Modal/ModalFooter/ModalFooter.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Modal/ModalHeader/ModalHeader.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/MultiStepIndicator/MultiStepIndicator.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/MultiStepIndicator/components/StepIndicator/StepIndicator.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/NewTable/Table.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/NewTable/components/Cell/Cell.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/NewTable/components/Cell/HeaderCell/HeaderCell.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/NewTable/components/ExpandedContent/ExpandedContent.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/NewTable/components/Row/Row.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/NewTable/components/TableHead/TableHead.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/NewTable/components/TableHeader/TableHeader.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/NewTable/components/ToggleExpandedIcon/ToggleExpandedIcon.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/NewTable/components/newComponents/pagination/Pagination.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/NewTable/components/useLeafyGreenTable/useLeafyGreenTable.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/NumericField/NumericField.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/PageHeader/PageHeader.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Panel/Panel.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/ProgressBars/LinearProgressBar/Bar/Bar.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/ProgressBars/LinearProgressBar/LinearProgressBar.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/ProgressBars/PercentageLabel/PercentageLabel.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/RadioButton/RadioButton.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/ResponsiveList/ResponsiveList.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Search/Search.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/SectionHeader/SectionHeader.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Sidebar/Sidebar.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Skeleton/Skeleton.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Slider/SelectionIndicator.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Slider/Slider.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Slider/SliderBase/SliderBase.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Slider/SliderBase/SliderFilledTrack.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Slider/SliderBase/SliderRail.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Slider/SliderBase/SliderThumb.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Slider/SliderBase/SliderTrack.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Slider/SliderInfix.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/SplitButton/SplitButton.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Steps/Steps.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Steps/StepsCommand.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Steps/StepsDot.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Steps/StepsGalleryHeader.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Steps/StepsHeader.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Steps/StepsNumbersHeader.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Switch/Switch.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Table/Table.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Table/Table.js.map +1 -1
- package/dist/mocked_classnames_esm/src/components/Table/TableHeader.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Table/actionHandlers/expandHandler.js +2 -0
- package/dist/mocked_classnames_esm/src/components/Table/actionHandlers/expandHandler.js.map +1 -0
- package/dist/mocked_classnames_esm/src/components/Table/actionHandlers/filterHandler.js +2 -0
- package/dist/mocked_classnames_esm/src/components/Table/actionHandlers/filterHandler.js.map +1 -0
- package/dist/mocked_classnames_esm/src/components/Table/actionHandlers/resizeHandler.js +2 -0
- package/dist/mocked_classnames_esm/src/components/Table/actionHandlers/resizeHandler.js.map +1 -0
- package/dist/mocked_classnames_esm/src/components/Table/actionHandlers/selectHandler.js +2 -0
- package/dist/mocked_classnames_esm/src/components/Table/actionHandlers/selectHandler.js.map +1 -0
- package/dist/mocked_classnames_esm/src/components/Table/columns/expanderColumn.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Table/columns/expanderColumn.js.map +1 -1
- package/dist/mocked_classnames_esm/src/components/Table/columns/selectionColumn.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Table/columns/selectionColumn.js.map +1 -1
- package/dist/mocked_classnames_esm/src/components/Table/filters/FilterToggle.js +2 -0
- package/dist/mocked_classnames_esm/src/components/Table/filters/FilterToggle.js.map +1 -0
- package/dist/mocked_classnames_esm/src/components/Table/filters/customFilterFunctions.js +2 -0
- package/dist/mocked_classnames_esm/src/components/Table/filters/customFilterFunctions.js.map +1 -0
- package/dist/mocked_classnames_esm/src/components/Table/filters/defaultFilterFunctions.js +2 -0
- package/dist/mocked_classnames_esm/src/components/Table/filters/defaultFilterFunctions.js.map +1 -0
- package/dist/mocked_classnames_esm/src/components/Table/hooks/useColumnDragAndDrop.js +2 -0
- package/dist/mocked_classnames_esm/src/components/Table/hooks/useColumnDragAndDrop.js.map +1 -0
- package/dist/mocked_classnames_esm/src/components/Table/hooks/useExpanderCell.js +2 -0
- package/dist/mocked_classnames_esm/src/components/Table/hooks/useExpanderCell.js.map +1 -0
- package/dist/mocked_classnames_esm/src/components/Table/hooks/useResizeColumns.js +2 -0
- package/dist/mocked_classnames_esm/src/components/Table/hooks/useResizeColumns.js.map +1 -0
- package/dist/mocked_classnames_esm/src/components/Table/hooks/useScrollToRow.js +2 -0
- package/dist/mocked_classnames_esm/src/components/Table/hooks/useScrollToRow.js.map +1 -0
- package/dist/mocked_classnames_esm/src/components/Table/hooks/useSelectionCell.js +2 -0
- package/dist/mocked_classnames_esm/src/components/Table/hooks/useSelectionCell.js.map +1 -0
- package/dist/mocked_classnames_esm/src/components/Table/hooks/useStickyColumns.js +2 -0
- package/dist/mocked_classnames_esm/src/components/Table/hooks/useStickyColumns.js.map +1 -0
- package/dist/mocked_classnames_esm/src/components/Table/hooks/useSubRowFiltering.js +2 -0
- package/dist/mocked_classnames_esm/src/components/Table/hooks/useSubRowFiltering.js.map +1 -0
- package/dist/mocked_classnames_esm/src/components/Table/hooks/useSubRowSelection.js +2 -0
- package/dist/mocked_classnames_esm/src/components/Table/hooks/useSubRowSelection.js.map +1 -0
- package/dist/mocked_classnames_esm/src/components/Table/new/Buttons/IconButton.js +2 -0
- package/dist/mocked_classnames_esm/src/components/Table/new/Buttons/IconButton.js.map +1 -0
- package/dist/mocked_classnames_esm/src/components/Table/new/Popover/Popover.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Table/new/Popover/Popover.js.map +1 -1
- package/dist/mocked_classnames_esm/src/components/Table/new/ThemeProvider/ThemeProvider.js +2 -0
- package/dist/mocked_classnames_esm/src/components/Table/new/ThemeProvider/ThemeProvider.js.map +1 -0
- package/dist/mocked_classnames_esm/src/components/Table/new/Toast/Toast.js +2 -0
- package/dist/mocked_classnames_esm/src/components/Table/new/Toast/Toast.js.map +1 -0
- package/dist/mocked_classnames_esm/src/components/Table/new/Toast/Toaster.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Table/new/Toast/Toaster.js.map +1 -1
- package/dist/mocked_classnames_esm/src/components/Table/new/utils/components/VirtualScroll.js +2 -0
- package/dist/mocked_classnames_esm/src/components/Table/new/utils/components/VirtualScroll.js.map +1 -0
- package/dist/mocked_classnames_esm/src/components/Table/new/utils/functions/dev.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Table/new/utils/functions/dev.js.map +1 -1
- package/dist/mocked_classnames_esm/src/components/Table/new/utils/functions/import.js +2 -0
- package/dist/mocked_classnames_esm/src/components/Table/new/utils/functions/import.js.map +1 -0
- package/dist/mocked_classnames_esm/src/components/Table/new/utils/hooks/useLatestRef.js +2 -0
- package/dist/mocked_classnames_esm/src/components/Table/new/utils/hooks/useLatestRef.js.map +1 -0
- package/dist/mocked_classnames_esm/src/components/Table/new/utils/hooks/useMediaQuery.js +2 -0
- package/dist/mocked_classnames_esm/src/components/Table/new/utils/hooks/useMediaQuery.js.map +1 -0
- package/dist/mocked_classnames_esm/src/components/Table/new/utils/hooks/useSafeContext.js +2 -0
- package/dist/mocked_classnames_esm/src/components/Table/new/utils/hooks/useSafeContext.js.map +1 -0
- package/dist/mocked_classnames_esm/src/components/Table/styling/column-filter.scss.js +2 -0
- package/dist/mocked_classnames_esm/src/components/Table/styling/column-filter.scss.js.map +1 -0
- package/dist/mocked_classnames_esm/src/components/Table/styling/paginator.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Table/styling/table_base.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Table/table.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Tabs/Tab/Tab.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Tabs/TabList/TabList.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Tabs/TabPanel/TabPanel.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Tabs/TabPanels/TabPanels.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Tags/Tags.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Text/Text.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/TextAreaField/TextAreaField.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/TextField/TextField.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/TextWithHighlight/TextWithHighlight.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Timeline/Timeline/Timeline.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Timeline/TimelineRow/TimelineRow.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Tipseen/Tipseen.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Tipseen/TipseenBasicContent.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Tipseen/TipseenContent.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Tipseen/TipseenImage.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Tipseen/TipseenMedia/TipseenMedia.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Tipseen/TipseenTitle.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Tipseen/TipseenWizard.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Toast/Toast.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Toast/ToastLink/ToastLink.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Toggle/MockToggle.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Toggle/Toggle.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Toggle/ToggleText.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Tooltip/Tooltip.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/TopNavigationBar/TopNavigationBar.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/TopNavigationBar/components/Notification/Notification.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/TopNavigationBar/components/NotificationItem/NotificationItem.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Tree/components/TreeFile/TreeFile.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Tree/components/TreeFileIcon/TreeFileIcon.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Tree/components/TreeFolder/TreeFolder.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Tree/components/TreeFolderIcon/TreeFolderIcon.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Tree/components/TreeStatusIcon/TreeStatusIcon.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Tree/components/expand/expand.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Typography/Typography.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Uploader/Uploader.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/VirtualizedGrid/VirtualizedGrid.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/VirtualizedList/VirtualizedList.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Workflow/workflow.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/index.js +1 -1
- package/dist/mocked_classnames_esm/style/dist/index.min.css.js +1 -1
- package/dist/types/components/index.d.ts +3 -1
- package/dist/types/components/index.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/components/index.ts +3 -3
@@ -1,2 +1,2 @@
|
|
1
|
-
var e={"hidden-switch":"hidden-
|
1
|
+
var e={"hidden-switch":"hidden-switch_e419c1ec1f"};!function(e){if("undefined"==typeof document)return;const t=document.head||document.getElementsByTagName("head")[0],d="s_id-aa3ebc66fa48_0_0_82-table-tanstack-updated";if(t.querySelector("#"+d))return;const n=document.createElement("style");n.id=d,t.firstChild?t.insertBefore(n,t.firstChild):t.appendChild(n),n.appendChild(document.createTextNode(e))}(".hidden-switch_e419c1ec1f {\n opacity: 0;\n width: 0;\n height: 0;\n position: absolute;\n}");export{e as default};
|
2
2
|
//# sourceMappingURL=Switch.module.scss.js.map
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import{__rest as e}from"../../../_virtual/_tslib.js";import{jsx as o,jsxs as t}from"react/jsx-runtime";import{forwardRef as n}from"react";import a from"prop-types";import r from"classnames";import i from"./components/TableContext/TableContext.js";import s from"./Table.module.scss.js";import l from"./components/newComponents/pagination/Pagination.js";var m=n((function(n,a){var m=n.children,p=n.className,d=n.shouldAlternateRowColor,c=void 0!==d&&d,g=n.table,u=n.disableAnimations,b=void 0!==u&&u,h=n.header,f=n.withPagination,P=void 0!==f&&f,C=n.paginationProps,w=e(n,["children","className","shouldAlternateRowColor","baseFontSize","darkMode","table","disableAnimations","header","withPagination","paginationProps"]),j=g.getState,v=g.setPageSize,A=g.setPageIndex,x=g.previousPage,I=g.nextPage;return o("div",Object.assign({ref:a,className:r(s.tableContainerStyles,p),tabIndex:0},{children:t(i,Object.assign({shouldAlternateRowColor:c,table:g,disableAnimations:b},{children:[h,o("table",Object.assign({className:r(s.baseStyles,s.themeLight)},w,{children:m})),P&&o(l,Object.assign({itemsPerPage:j().pagination.pageSize,onItemsPerPageOptionChange:function(e){return v(Number(e))},numTotalItems:null==C?void 0:C.numTotalItems,currentPage:j().pagination.pageIndex+1,onCurrentPageOptionChange:function(e){return A(Number(e)-1)},onBackArrowClick:function(){return x()},onForwardArrowClick:function(){return I()}},C))]}))}))}));m.propTypes={darkMode:a.bool,shouldAlternateRowColor:a.bool};export{m as default};
|
1
|
+
import{slicedToArray as e,toConsumableArray as t}from"../../../_virtual/_rollupPluginBabelHelpers.js";import{__rest as o}from"../../../_virtual/_tslib.js";import*as n from"react";import{createElement as i}from"react";import{jsx as r,jsxs as s,Fragment as l}from"react/jsx-runtime";import a from"classnames";import"./table.scss.js";import{useTable as c,useFlexLayout as u,useFilters as d,useGlobalFilter as m,useSortBy as p,useExpanded as f,usePagination as g,useRowSelect as b,useColumnOrder as h,actions as v}from"react-table";import"./new/utils/functions/colors.js";import"./new/utils/functions/polymorphic.js";import{createWarningLogger as w}from"./new/utils/functions/dev.js";import{useResizeObserver as R}from"./new/utils/hooks/useResizeObserver.js";import{useLayoutEffect as j}from"./new/utils/hooks/useIsomorphicLayoutEffect.js";import{useGlobals as y}from"./new/utils/hooks/useGlobals.js";import"./new/utils/hooks/useId.js";import"./new/utils/color/ColorValue.js";import{ShadowRoot as S}from"./new/utils/components/ShadowRoot.js";import{Box as k}from"./new/utils/components/Box.js";import{getCellStyle as C,getStickyStyle as I}from"./utils.js";import{TableRowMemoized as z}from"./TableRowMemoized.js";import"./styling/column-filter.scss.js";import"./new/utils/components/ButtonBase.js";import{FilterToggle as O}from"./filters/FilterToggle.js";import{customFilterFunctions as T}from"./filters/customFilterFunctions.js";import{useExpanderCell as P}from"./hooks/useExpanderCell.js";import{useSelectionCell as x}from"./hooks/useSelectionCell.js";import{useSubRowFiltering as E}from"./hooks/useSubRowFiltering.js";import{useSubRowSelection as N}from"./hooks/useSubRowSelection.js";import{useResizeColumns as L}from"./hooks/useResizeColumns.js";import{useColumnDragAndDrop as H}from"./hooks/useColumnDragAndDrop.js";import{useScrollToRow as M}from"./hooks/useScrollToRow.js";import{useStickyColumns as W}from"./hooks/useStickyColumns.js";import{onExpandHandler as F}from"./actionHandlers/expandHandler.js";import{onFilterHandler as B}from"./actionHandlers/filterHandler.js";import{onToggleHandler as D,onShiftSelectHandler as V,onSingleSelectHandler as A}from"./actionHandlers/selectHandler.js";import{onTableResizeEnd as G,onTableResizeStart as _}from"./actionHandlers/resizeHandler.js";import{VirtualScroll as U}from"./new/utils/components/VirtualScroll.js";import"lodash-es";import"../Icon/Icon.js";import"../Icon/Icons/components/Check.js";import"../Icon/Icons/components/Remove.js";import"../../tests/constants.js";import"../Text/Text.js";import"../Checkbox/Checkbox.module.scss.js";import"react-dom";import"@floating-ui/react";import"./new/Toast/Toaster.js";import"../ListItem/ListItem.js";import"../Icon/Icons/components/DropdownChevronRight.js";import{SELECTION_CELL_ID as J}from"./columns/selectionColumn.js";import X from"../IconButton/IconButton.js";import"../Icon/Icons/components/MoveArrowRight.js";import K from"../Icon/Icons/components/MoveArrowDown.js";import"../Icon/Icons/components/Settings.js";import"../DialogContentContainer/DialogContentContainer.js";import q from"../Icon/Icons/components/MoveArrowUp.js";var Q="singleRowSelected",Y="shiftRowSelected",Z="tableResizeStart",$="tableResizeEnd",ee=w(),te=function e(o){var n=[];return o.forEach((function(o){n.push(o),"columns"in o&&n.push.apply(n,t(e(o.columns)))})),n},oe=function(t){var w=t.data,oe=t.columns,ne=t.header,ie=t.isLoading,re=void 0!==ie&&ie,se=t.emptyTableContent,le=t.className,ae=t.style,ce=t.id,ue=t.isSelectable,de=void 0!==ue&&ue,me=t.onSelect,pe=t.onRowClick,fe=t.selectionMode,ge=void 0===fe?"multi":fe,be=t.isSortable,he=void 0!==be&&be,ve=t.onSort,we=t.stateReducer,Re=t.onBottomReached,je=t.onRowInViewport,ye=t.intersectionMargin,Se=void 0===ye?300:ye,ke=t.subComponent,Ce=t.onExpand,Ie=t.onFilter,ze=t.globalFilterValue,Oe=t.emptyFilteredTableContent,Te=t.filterTypes,Pe=t.expanderCell,xe=t.isRowDisabled,Ee=t.rowProps,Ne=t.density,Le=void 0===Ne?"default":Ne,He=t.selectSubRows,Me=void 0===He||He,We=t.getSubRows,Fe=t.selectRowOnClick,Be=void 0===Fe||Fe,De=t.paginatorRenderer,Ve=t.pageSize,Ae=void 0===Ve?25:Ve,Ge=t.isResizable,_e=void 0!==Ge&&Ge,Ue=t.columnResizeMode,Je=void 0===Ue?"fit":Ue,Xe=t.styleType,Ke=void 0===Xe?"default":Xe,qe=t.enableVirtualization,Qe=void 0!==qe&&qe,Ye=t.enableColumnReordering,Ze=void 0!==Ye&&Ye,$e=t.headerWrapperProps,et=t.headerProps,tt=t.bodyProps,ot=t.emptyTableContentProps,nt=o(t,["data","columns","header","isLoading","emptyTableContent","className","style","id","isSelectable","onSelect","onRowClick","selectionMode","isSortable","onSort","stateReducer","onBottomReached","onRowInViewport","intersectionMargin","subComponent","onExpand","onFilter","globalFilterValue","emptyFilteredTableContent","filterTypes","expanderCell","isRowDisabled","rowProps","density","selectSubRows","getSubRows","selectRowOnClick","paginatorRenderer","pageSize","isResizable","columnResizeMode","styleType","enableVirtualization","enableColumnReordering","headerWrapperProps","headerProps","bodyProps","emptyTableContentProps"]);y();var it=n.useRef(),rt=n.useMemo((function(){return{maxWidth:0,minWidth:0,width:0}}),[]),st=n.useRef(Re),lt=n.useRef(je);n.useEffect((function(){st.current=Re,lt.current=je}),[Re,je]);var at=n.useMemo((function(){return te(oe).some((function(e){return e.id===J}))}),[oe]),ct=n.useCallback((function(e){"Shift"===e.key&&it.current&&(it.current.documentElement.style.userSelect="none")}),[]),ut=n.useCallback((function(e){"Shift"===e.key&&it.current&&(it.current.documentElement.style.userSelect="")}),[]);n.useEffect((function(){if(de&&"multi"===ge){var e=it.current;return null==e||e.addEventListener("keydown",ct),null==e||e.addEventListener("keyup",ut),function(){null==e||e.removeEventListener("keydown",ct),null==e||e.removeEventListener("keyup",ut)}}}),[de,ge,it,ct,ut]);var dt=n.useRef([]),mt=n.useRef(dt.current),pt=n.useMemo((function(){return Object.assign(Object.assign({},T),Te)}),[Te]),ft=n.useMemo((function(){return w.some((function(e,t){return We?We(e,t):e.subRows}))}),[w,We]),gt=c(Object.assign(Object.assign({manualPagination:!De,paginateExpandedRows:!1},t),{columns:oe,defaultColumn:rt,disableSortBy:!he,stateReducer:function(e,t,o,n){switch(t.type){case v.toggleSortBy:null==ve||ve(e);break;case v.setFilter:mt.current=B(e,t,o,mt.current,n);break;case v.toggleRowExpanded:case v.toggleAllRowsExpanded:F(e,n,Ce);break;case Q:e=A(e,t,n,me,at?void 0:xe);break;case Y:e=V(e,t,n,me,at?void 0:xe);break;case v.toggleRowSelected:case v.toggleAllRowsSelected:case v.toggleAllPageRowsSelected:D(e,t,n,me,at?void 0:xe);break;case Z:e=_(e);break;case $:e=G(e,t);break;default:we&&(e=we(e,t,o,n))}return e},filterTypes:pt,selectSubRows:Me,data:w,getSubRows:We,initialState:Object.assign({pageSize:Ae},t.initialState),columnResizeMode:Je}),u,L(it),d,E(ft),m,p,f,g,b,N,P(ke,Pe,xe),x(de,ge,xe,Le),h,H(Ze),W),bt=gt.getTableProps,ht=gt.rows,vt=gt.headerGroups,wt=gt.getTableBodyProps,Rt=gt.prepareRow,jt=gt.state,yt=gt.allColumns,St=gt.dispatch,kt=gt.page,Ct=gt.gotoPage,It=gt.setPageSize,zt=gt.flatHeaders,Ot=gt.visibleColumns,Tt=gt.setGlobalFilter,Pt=vt;1===oe.length&&"columns"in oe[0]&&(Pt=vt.slice(1),ee("Table's `columns` prop should not have a top-level `Header` or sub-columns. They are only allowed to be passed for backwards compatibility.\n See https://github.com/iTwin/iTwinUI/wiki/iTwinUI-react-v2-migration-guide#breaking-changes"));var xt=Object.entries(nt).reduce((function(t,o){var n=e(o,2),i=n[0],r=n[1];return(i.startsWith("data-")||i.startsWith("aria-"))&&(t[i]=r),t}),{}),Et=yt.some((function(e){return null!=e.filterValue&&""!==e.filterValue}))||!!ze,Nt=function(e){return(0!==w.length||Et)&&e.canFilter&&!!e.Filter},Lt=function(e){return 0!==w.length&&e.canSort},Ht=function(e,t){var o=null==xe?void 0:xe(t.original);o||null==pe||pe(e,t),de&&!o&&Be&&!e.isDefaultPrevented()&&("multi"===ge&&e.shiftKey?St({type:Y,id:t.id}):"single"===ge&&St({type:Q,id:t.id}))};n.useEffect((function(){Tt(ze)}),[ze,Tt]),n.useEffect((function(){It(Ae)}),[Ae,It]),n.useEffect((function(){dt.current!==mt.current&&(dt.current=mt.current,null==Ie||Ie(mt.current,jt,gt.filteredRows))}),[jt,gt.filteredRows,Ie]);var Mt=n.useRef([]);n.useEffect((function(){Mt.current.length>0&&JSON.stringify(Mt.current)!==JSON.stringify(oe)&>.setColumnOrder([]),Mt.current=oe}),[oe,gt]);var Wt=n.useMemo((function(){return{currentPage:jt.pageIndex,pageSize:jt.pageSize,totalRowsCount:ht.length,size:"default"!==Le?"small":"default",isLoading:re,onPageChange:Ct,onPageSizeChange:It,totalSelectedRowsCount:"single"===ge?0:gt.selectedFlatRows.length}}),[Le,Ct,re,ht.length,It,jt.pageIndex,jt.pageSize,gt.selectedFlatRows,ge]),Ft=n.useRef(null),Bt=n.useRef(null),Dt=M(Object.assign(Object.assign({},t),{page:kt})),Vt=Dt.scrollToIndex,At=Dt.tableRowRef,Gt=n.useRef({}),_t=n.useRef(0),Ut=n.useCallback((function(e){var t,o,n,i,r=e.width;Yt(null!==(o=null===(t=Ft.current)||void 0===t?void 0:t.scrollWidth)&&void 0!==o?o:0),to(null!==(i=null===(n=Ft.current)||void 0===n?void 0:n.clientWidth)&&void 0!==i?i:0),_e&&(gt.tableWidth=r,r!==_t.current&&(_t.current=r,zt.forEach((function(e){Gt.current[e.id]&&(e.resizeWidth=Gt.current[e.id].getBoundingClientRect().width)})),0!==Object.keys(jt.columnResizing.columnWidths).length&&St({type:Z})))}),[St,jt.columnResizing.columnWidths,zt,gt,_e]),Jt=R(Ut),Xt=e(Jt,1)[0],Kt=n.useState(0),qt=e(Kt,2),Qt=qt[0],Yt=qt[1],Zt=n.useState(0),$t=e(Zt,2),eo=$t[0],to=$t[1];j((function(){if(jt.isTableResizing){var e={};zt.forEach((function(t){Gt.current[t.id]&&(e[t.id]=Gt.current[t.id].getBoundingClientRect().width)})),St({type:$,columnWidths:e})}}));var oo=n.useCallback((function(e){var t=kt[e];return Rt(t),r(z,{row:t,rowProps:Ee,isLast:e===kt.length-1,onRowInViewport:lt,onBottomReached:st,intersectionMargin:Se,state:jt,onClick:Ht,subComponent:ke,isDisabled:!!(null==xe?void 0:xe(t.original)),tableHasSubRows:ft,tableInstance:gt,expanderCell:Pe,bodyRef:Bt.current,tableRowRef:Qe?void 0:At(t),density:Le},t.getRowProps().key)}),[kt,Rt,Ee,Se,jt,Ht,ke,xe,ft,gt,Pe,Qe,At,Le]),no=n.useCallback((function(e){return oo(e)}),[oo]),io=function(){Bt.current&&!zt.every((function(e){return!e.sticky}))&&(St(0!==Bt.current.scrollLeft?{type:v.setScrolledRight,value:!0}:{type:v.setScrolledRight,value:!1}),St(Bt.current.scrollLeft!==Bt.current.scrollWidth-Bt.current.clientWidth?{type:v.setScrolledLeft,value:!0}:{type:v.setScrolledLeft,value:!1}))};n.useEffect((function(){io()}),[]);var ro=n.useRef(!1);return s(l,{children:[ne,s(k,Object.assign({ref:function(e){it.current=null==e?void 0:e.ownerDocument,Xt(e)},id:ce},bt({className:a("iui-table",le),style:Object.assign({minWidth:0},ae)}),{"data-iui-size":"default"===Le?void 0:Le},xt,{children:[Pt.map((function(e){return r(k,Object.assign({as:"div",ref:Ft,onScroll:function(){Ft.current&&Bt.current&&(Bt.current.scrollLeft=Ft.current.scrollLeft,io())}},$e,{className:a("iui-table-header-wrapper",null==$e?void 0:$e.className)},{children:r(k,Object.assign({as:"div"},et,{className:a("iui-table-header",null==et?void 0:et.className)},{children:r(k,Object.assign({},e.getHeaderGroupProps({className:"iui-table-row"}),{children:e.headers.map((function(e,t){var o,n=!e.Header||""===(""+e.Header).trim(),l=e.getHeaderProps(Object.assign({className:a("iui-table-cell",e.columnClassName,{"iui-actionable":e.canSort&&!n,"iui-sorted":e.isSorted&&!n,"iui-table-cell-sticky":!!e.sticky,"iui-empty-header":n}),style:Object.assign(Object.assign(Object.assign({},C(e,!!jt.isTableResizing)),I(e,Ot)),{flexWrap:"unset",backgroundColor:n?"transparent":void 0})},n?{"aria-hidden":!0}:{}));return i(k,Object.assign({},l,{key:l.key,onMouseDown:function(){ro.current=!0},onClick:function(t){if(ro.current&&!n){var o=e.getSortByToggleProps();o.onClick&&o.onClick(t),ro.current=!1}},tabIndex:Lt(e)&&!n?0:void 0}),n?null:e.render("Header"),!n&&(Nt(e)||Lt(e))&&s(k,Object.assign({className:"iui-table-header-actions-container"},{children:[Nt(e)&&r(O,{column:e}),Lt(e)&&r(k,Object.assign({className:"iui-table-cell-end-icon"},{children:r(X,{ariaLabel:e.isSortedDesc?"Sort Descending":"Sort Ascending",size:null===(o=null==X?void 0:X.sizes)||void 0===o?void 0:o.XXS,className:"iui-table-sort",icon:e.isSortedDesc?K:q})}))]})))}))}))}))}),e.getHeaderGroupProps().key)})),s(k,Object.assign({},tt,wt({className:a("iui-table-body",{"iui-zebra-striping":"zebra-rows"===Ke},null==tt?void 0:tt.className),style:{outline:0}}),{ref:Bt,onScroll:function(){Ft.current&&Bt.current&&(Ft.current.scrollLeft=Bt.current.scrollLeft,io())},tabIndex:-1,"aria-multiselectable":de&&"multi"===ge||void 0},{children:[s(S,{children:[r("slot",{}),0===ht.length&&Qt>eo&&r("div",{"aria-hidden":!0,style:{width:Qt,height:.1}})]}),0!==w.length&&r(l,{children:Qe?r(U,{itemsLength:kt.length,itemRenderer:no,scrollToIndex:Vt}):kt.map((function(e,t){return oo(t)}))}),re&&0===w.length&&r(k,Object.assign({as:"div"},ot,{className:a("iui-table-empty",null==ot?void 0:ot.className)})),re&&0!==w.length&&r(k,Object.assign({className:"iui-table-row","data-iui-loading":"true"},{children:r(k,{className:"iui-table-cell"})})),!re&&0===w.length&&!Et&&r(k,Object.assign({as:"div"},ot,{className:a("iui-table-empty",null==ot?void 0:ot.className)},{children:r("div",{children:se})})),!re&&(0===w.length||0===ht.length)&&Et&&r(k,Object.assign({as:"div"},ot,{className:a("iui-table-empty",null==ot?void 0:ot.className)},{children:r("div",{children:Oe})}))]})),null==De?void 0:De(Wt)]}))]})};export{oe as Table,oe as default,Z as tableResizeStartAction};
|
2
2
|
//# sourceMappingURL=Table.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Table.js","sources":["../../../../../src/components/Table/Table.tsx"],"sourcesContent":["import React, { ForwardedRef, forwardRef } from \"react\";\nimport PropTypes from \"prop-types\";\n\nimport cx from \"classnames\";\n\nimport { TableContextProvider } from \"./components/TableContext\";\nimport { LGRowData } from \"./components/useLeafyGreenTable\";\n\nimport styles from \"./Table.module.scss\"; // Import SCSS styles\nimport { TableProps } from \"./Table.types\";\nimport Pagination from \"./components/newComponents/pagination\";\n\nconst Table = forwardRef<HTMLDivElement, TableProps<any>>(\n <T extends LGRowData>(\n {\n children,\n className,\n shouldAlternateRowColor = false,\n baseFontSize: baseFontSizeProp,\n darkMode: darkModeProp,\n table,\n disableAnimations = false,\n header,\n withPagination = false,\n paginationProps,\n ...rest\n }: TableProps<T>,\n containerRef: ForwardedRef<HTMLDivElement>\n ) => {\n const { getState, setPageSize, setPageIndex, previousPage, nextPage } = table;\n\n return (\n <div\n ref={containerRef}\n className={cx(styles.tableContainerStyles, className)} // Use class from SCSS module\n tabIndex={0} // Allows keyboard interaction\n >\n <TableContextProvider\n shouldAlternateRowColor={shouldAlternateRowColor}\n table={table}\n disableAnimations={disableAnimations}\n >\n {header}\n <table\n className={cx(\n styles.baseStyles, // Base styles from SCSS module\n styles.themeLight // Conditional theme styles\n )}\n {...rest}\n >\n {children}\n </table>\n {withPagination && (\n <Pagination\n itemsPerPage={getState().pagination.pageSize}\n onItemsPerPageOptionChange={(value) => setPageSize(Number(value))}\n numTotalItems={paginationProps?.numTotalItems}\n currentPage={getState().pagination.pageIndex + 1}\n onCurrentPageOptionChange={(value) => setPageIndex(Number(value) - 1)}\n onBackArrowClick={() => previousPage()}\n onForwardArrowClick={() => nextPage()}\n {...paginationProps}\n />\n )}\n </TableContextProvider>\n </div>\n );\n }\n);\n\nTable.propTypes = {\n darkMode: PropTypes.bool,\n shouldAlternateRowColor: PropTypes.bool,\n};\n\nexport default Table;\n"],"names":["Table","forwardRef","_a","containerRef","children","className","_a$shouldAlternateRow","shouldAlternateRowColor","table","_a$disableAnimations","disableAnimations","header","_a$withPagination","withPagination","paginationProps","rest","__rest","getState","setPageSize","setPageIndex","previousPage","nextPage","_jsx","ref","cx","styles","tableContainerStyles","tabIndex","_jsxs","TableContextProvider","Object","assign","baseStyles","themeLight","Pagination","itemsPerPage","pagination","pageSize","onItemsPerPageOptionChange","value","Number","numTotalItems","currentPage","pageIndex","onCurrentPageOptionChange","onBackArrowClick","onForwardArrowClick","propTypes","darkMode","PropTypes","bool"],"mappings":"gWAYMA,IAAAA,EAAQC,GACZ,SACEC,EAaAC,GAbA,IACEC,EAWcF,EAXdE,SACAC,EAUcH,EAVdG,UAASC,EAUKJ,EATdK,wBAAAA,OAA0B,IAAHD,GAAQA,EAG/BE,EAMcN,EANdM,MAAKC,EAMSP,EALdQ,kBAAAA,OAAoB,IAAHD,GAAQA,EACzBE,EAIcT,EAJdS,OAAMC,EAIQV,EAHdW,eAAAA,OAAiB,IAAHD,GAAQA,EACtBE,EAEcZ,EAFdY,gBACGC,EAAIC,EAAAd,EAXT,sJAeQe,EAAgET,EAAhES,SAAUC,EAAsDV,EAAtDU,YAAaC,EAAyCX,EAAzCW,aAAcC,EAA2BZ,EAA3BY,aAAcC,EAAab,EAAba,SAE3D,OACEC,uBACEC,IAAKpB,EACLE,UAAWmB,EAAGC,EAAOC,qBAAsBrB,GAC3CsB,SAAU,GAAC,CAAAvB,SAEXwB,EAACC,iBACCtB,wBAAyBA,EACzBC,MAAOA,EACPE,kBAAmBA,GAAiB,CAAAN,SAAA,CAEnCO,EACDW,EAAA,QAAAQ,OAAAC,OAAA,CACE1B,UAAWmB,EACTC,EAAOO,WACPP,EAAOQ,aAELlB,YAEHX,KAEFS,GACDS,EAACY,iBACCC,aAAclB,IAAWmB,WAAWC,SACpCC,2BAA4B,SAACC,GAAK,OAAKrB,EAAYsB,OAAOD,GAAO,EACjEE,cAAe3B,eAAAA,EAAiB2B,cAChCC,YAAazB,IAAWmB,WAAWO,UAAY,EAC/CC,0BAA2B,SAACL,GAAK,OAAKpB,EAAaqB,OAAOD,GAAS,EAAE,EACrEM,iBAAkB,WAAA,OAAMzB,GAAc,EACtC0B,oBAAqB,WAAA,OAAMzB,GAAU,GACjCP,UAMd,IAGFd,EAAM+C,UAAY,CAChBC,SAAUC,EAAUC,KACpB3C,wBAAyB0C,EAAUC"}
|
1
|
+
{"version":3,"file":"Table.js","sources":["../../../../../src/components/Table/Table.tsx"],"sourcesContent":["// @ts-nocheck\nimport * as React from \"react\";\nimport cx from \"classnames\";\nimport \"./table.scss\";\nimport {\n actions as TableActions,\n useFlexLayout,\n useFilters,\n useRowSelect,\n useSortBy,\n useTable,\n useExpanded,\n usePagination,\n useColumnOrder,\n useGlobalFilter,\n} from \"react-table\";\nimport type {\n CellProps,\n HeaderGroup,\n TableOptions,\n Row,\n TableState,\n ActionType,\n TableInstance,\n Column,\n} from \"../../react-table/react-table\";\nimport {\n useGlobals,\n useResizeObserver,\n useLayoutEffect,\n createWarningLogger,\n} from \"./new/utils/index\";\nimport { ShadowRoot } from \"./new/utils/components/ShadowRoot\";\nimport { Box } from \"./new/utils/components/Box\";\nimport type { CommonProps } from \"./new/utils/index\";\nimport { getCellStyle, getStickyStyle } from \"./utils\";\nimport { TableRowMemoized } from \"./TableRowMemoized\";\nimport { FilterToggle } from \"./filters/index\";\nimport type { TableFilterValue } from \"./filters/index\";\nimport { customFilterFunctions } from \"./filters/customFilterFunctions\";\nimport {\n useExpanderCell,\n useSelectionCell,\n useSubRowFiltering,\n useSubRowSelection,\n useResizeColumns,\n useColumnDragAndDrop,\n useScrollToRow,\n useStickyColumns,\n} from \"./hooks/index\";\nimport {\n onExpandHandler,\n onFilterHandler,\n onToggleHandler,\n onShiftSelectHandler,\n onSingleSelectHandler,\n onTableResizeEnd,\n onTableResizeStart,\n} from \"./actionHandlers/index\";\nimport { VirtualScroll } from \"./new/utils/components/VirtualScroll\";\nimport { SELECTION_CELL_ID } from \"./columns/index\";\nimport IconButton from \"../IconButton/IconButton\";\nimport MoveArrowDown from \"../Icon/Icons/components/MoveArrowDown\";\nimport MoveArrowUp from \"../Icon/Icons/components/MoveArrowUp\";\n\nconst singleRowSelectedAction = \"singleRowSelected\";\nconst shiftRowSelectedAction = \"shiftRowSelected\";\nexport const tableResizeStartAction = \"tableResizeStart\";\nconst tableResizeEndAction = \"tableResizeEnd\";\n\nconst logWarningInDev = createWarningLogger();\n\ntype TablePaginatorRendererProps = {\n /**\n * The zero-based index of the current page.\n */\n currentPage: number;\n /**\n * Total number of rows.\n */\n totalRowsCount: number;\n /**\n * Number of rows per page.\n */\n pageSize: number;\n /**\n * Callback when page is changed.\n */\n onPageChange: (page: number) => void;\n /**\n * Callback when page size is changed.\n */\n onPageSizeChange: (size: number) => void;\n /**\n * Modify the size of the pagination (adjusts the elements size).\n * @default 'default' if Table density is `default` else `small`\n */\n size?: \"default\" | \"small\";\n /**\n * Flag whether data is still loading and total rows count is not known.\n * @default false\n */\n isLoading?: boolean;\n /**\n * Total number of rows selected (for mutli-selection mode only)\n */\n totalSelectedRowsCount?: number;\n};\n\n/**\n * Table props.\n * columns and data must be memoized.\n */\ntype TableProps<T extends Record<string, unknown> = Record<string, unknown>> =\n Omit<TableOptions<T>, \"disableSortBy\"> & {\n /**\n * Flag whether data is loading.\n * @default false\n */\n header?: React.ReactNode;\n isLoading?: boolean;\n /**\n * Content shown when there is no data.\n */\n emptyTableContent: React.ReactNode;\n /**\n * Flag whether table rows can be selectable.\n * @default false\n */\n isSelectable?: boolean;\n /**\n * Handler for rows selection. Must be memoized.\n * This is triggered only by user initiated actions (i.e. data change will not call it).\n */\n onSelect?: (\n selectedData: T[] | undefined,\n tableState?: TableState<T>\n ) => void;\n /**\n * Handler for when a row is clicked. Must be memoized.\n */\n onRowClick?: (event: React.MouseEvent, row: Row<T>) => void;\n /**\n * Modify the selection mode of the table.\n * The column with checkboxes will not be present with 'single' selection mode.\n * @default 'multi'\n */\n selectionMode?: \"multi\" | \"single\";\n /**\n * Flag whether table columns can be sortable.\n * @default false\n */\n isSortable?: boolean;\n /**\n * Callback function when sort changes.\n * Use with `manualSortBy` to handle sorting yourself e.g. sort in server-side.\n * Must be memoized.\n */\n onSort?: (state: TableState<T>) => void;\n /**\n * Callback function when scroll reaches bottom. Can be used for lazy-loading the data.\n */\n onBottomReached?: () => void;\n /**\n * Callback function when row is in viewport.\n */\n onRowInViewport?: (rowData: T) => void;\n /**\n * Margin in pixels when row is considered to be already in viewport. Used for `onBottomReached` and `onRowInViewport`.\n * @default 300\n */\n intersectionMargin?: number;\n /**\n * A function that will be used for rendering a component for each row if that row is expanded.\n * Component will be placed right after the row. Can return false/null if row should not be expandable.\n */\n subComponent?: (row: Row<T>) => React.ReactNode;\n /**\n * A function used for overriding default expander cell. `subComponent` must be present.\n * Make sure to trigger `cellProps.row.toggleRowExpanded()`.\n */\n expanderCell?: (cellProps: CellProps<T>) => React.ReactNode;\n /**\n * Handler for row expand events. Will trigger when expanding and collapsing rows.\n */\n onExpand?: (\n expandedData: T[] | undefined,\n tableState?: TableState<T>\n ) => void;\n /**\n * Callback function when filters change.\n * Use with `manualFilters` to handle filtering yourself e.g. filter in server-side.\n * Must be memoized.\n */\n onFilter?: (\n filters: TableFilterValue<T>[],\n state: TableState<T>,\n filteredData?: Row<T>[]\n ) => void;\n /**\n * Value used for global filtering.\n * Use with `globalFilter` and/or `manualGlobalFilter` to handle filtering yourself e.g. filter in server-side.\n * Must be memoized.\n */\n globalFilterValue?: unknown;\n /**\n * Content shown when there is no data after filtering.\n */\n emptyFilteredTableContent?: React.ReactNode;\n /**\n * Function that should return true if a row is disabled (i.e. cannot be selected or expanded).\n * If not specified, all rows are enabled.\n */\n isRowDisabled?: (rowData: T) => boolean;\n /**\n * Function that should return custom props passed to the each row.\n * Must be memoized.\n */\n rowProps?: (row: Row<T>) => React.ComponentPropsWithRef<\"div\"> & {\n status?: \"positive\" | \"warning\" | \"negative\";\n isLoading?: boolean;\n };\n /**\n * Modify the density of the table (adjusts the row height).\n * @default 'default'\n */\n density?: \"default\" | \"condensed\" | \"extra-condensed\";\n /**\n * Flag whether to select a row when clicked anywhere inside of it.\n * @default true\n */\n selectRowOnClick?: boolean;\n /**\n * Function that takes `TablePaginatorRendererProps` as an argument and returns pagination component.\n *\n * Recommended to use `TablePaginator`. Passing `props` to `TablePaginator` handles all state management and is enough for basic use-cases.\n * @example\n * (props: TablePaginatorRendererProps) => (\n * <TablePaginator {...props} />\n * )\n */\n paginatorRenderer?: (props: TablePaginatorRendererProps) => React.ReactNode;\n /**\n * Number of rows per page.\n * @default 25\n */\n pageSize?: number;\n /**\n * Flag whether columns are resizable.\n * In order to disable resizing for specific column, set `disableResizing: true` for that column.\n * @default false\n */\n isResizable?: boolean;\n /**\n * Style of the table.\n * @default 'default'\n */\n styleType?: \"default\" | \"zebra-rows\";\n /**\n * Virtualization is used for the scrollable table body.\n * Height on the table is required for virtualization to work.\n * @example\n * <Table enableVirtualization style={{height: 400}} {...} />\n * @default false\n * @beta\n */\n enableVirtualization?: boolean;\n /**\n * Flag whether columns can be reordered.\n * @default false\n */\n enableColumnReordering?: boolean;\n /**\n * Passes props to Table header wrapper.\n */\n headerWrapperProps?: React.ComponentProps<\"div\">;\n /**\n * Passes props to Table header.\n */\n headerProps?: React.ComponentProps<\"div\">;\n /**\n * Passes custom props to Table body.\n */\n bodyProps?: React.ComponentProps<\"div\">;\n /**\n * Passes custom props to empty table.\n */\n emptyTableContentProps?: React.ComponentProps<\"div\">;\n /**\n * Function that returns index of the row that you want to scroll to.\n *\n * When using with lazy-loading table, you need to take care that row is already loaded.\n * It doesn't work with paginated tables.\n * @beta\n * @example\n * <Table\n * scrollToRow={React.useCallback(\n * (rows, data) => rows.findIndex((row) => row.original === data[250]),\n * []\n * )}\n * {...restProps}\n * />\n * @example\n * <Table\n * scrollToRow={React.useCallback(\n * (rows, data) => rows.findIndex((row) => row.original.id === data[250].id),\n * []\n * )}\n * {...restProps}\n * />\n */\n scrollToRow?: (rows: Row<T>[], data: T[]) => number;\n } & Omit<CommonProps, \"title\">;\n\nconst flattenColumns = <T extends Record<string, unknown>>(\n columns: Column<T>[]\n): Column<T>[] => {\n const flatColumns: Column<T>[] = [];\n columns.forEach((column) => {\n flatColumns.push(column);\n if (\"columns\" in column) {\n // @ts-expect-error - Since nested columns are not supported from a types perspective\n flatColumns.push(...flattenColumns(column.columns));\n }\n });\n return flatColumns;\n};\n\n/**\n * Table based on [react-table](https://react-table.tanstack.com/docs/api/overview).\n * @example\n * const columns = React.useMemo(() => [\n * {\n * id: 'name',\n * Header: 'Name',\n * accessor: 'name',\n * width: 90,\n * },\n * {\n * id: 'description',\n * Header: 'description',\n * accessor: 'description',\n * maxWidth: 200,\n * },\n * {\n * id: 'view',\n * Header: 'view',\n * Cell: () => {\n * return <span onClick={onViewClick}>View</span>\n * },\n * },\n * ], [onViewClick])\n * const data = [\n * { name: 'Name1', description: 'Description1' },\n * { name: 'Name2', description: 'Description2' },\n * { name: 'Name3', description: 'Description3' },\n * ]\n * <Table\n * columns={columns}\n * data={data}\n * emptyTableContent='No data.'\n * isLoading={false}\n * isSortable={true}\n * />\n */\nexport const Table = <\n T extends Record<string, unknown> = Record<string, unknown>\n>(\n props: TableProps<T>\n): JSX.Element => {\n const {\n data,\n columns,\n header,\n isLoading = false,\n emptyTableContent,\n className,\n style,\n id,\n isSelectable = false,\n onSelect,\n onRowClick,\n selectionMode = \"multi\",\n isSortable = false,\n onSort,\n stateReducer,\n onBottomReached,\n onRowInViewport,\n intersectionMargin = 300,\n subComponent,\n onExpand,\n onFilter,\n globalFilterValue,\n emptyFilteredTableContent,\n filterTypes: filterFunctions,\n expanderCell,\n isRowDisabled,\n rowProps,\n density = \"default\",\n selectSubRows = true,\n getSubRows,\n selectRowOnClick = true,\n paginatorRenderer,\n pageSize = 25,\n isResizable = false,\n columnResizeMode = \"fit\",\n styleType = \"default\",\n enableVirtualization = false,\n enableColumnReordering = false,\n headerWrapperProps,\n headerProps,\n bodyProps,\n emptyTableContentProps,\n ...rest\n } = props;\n\n useGlobals();\n\n const ownerDocument = React.useRef<Document | undefined>();\n\n const defaultColumn = React.useMemo(\n () => ({\n maxWidth: 0,\n minWidth: 0,\n width: 0,\n }),\n []\n );\n\n // useRef prevents from rerendering when one of these callbacks changes\n const onBottomReachedRef = React.useRef(onBottomReached);\n const onRowInViewportRef = React.useRef(onRowInViewport);\n React.useEffect(() => {\n onBottomReachedRef.current = onBottomReached;\n onRowInViewportRef.current = onRowInViewport;\n }, [onBottomReached, onRowInViewport]);\n\n const hasManualSelectionColumn = React.useMemo(() => {\n const flatColumns = flattenColumns(columns);\n return flatColumns.some((column) => column.id === SELECTION_CELL_ID);\n }, [columns]);\n\n const disableUserSelect = React.useCallback((e: KeyboardEvent) => {\n if (e.key === \"Shift\") {\n ownerDocument.current &&\n (ownerDocument.current.documentElement.style.userSelect = \"none\");\n }\n }, []);\n\n const enableUserSelect = React.useCallback((e: KeyboardEvent) => {\n if (e.key === \"Shift\") {\n ownerDocument.current &&\n (ownerDocument.current.documentElement.style.userSelect = \"\");\n }\n }, []);\n\n React.useEffect(() => {\n if (!isSelectable || selectionMode !== \"multi\") {\n return;\n }\n\n const ownerDoc = ownerDocument.current;\n ownerDoc?.addEventListener(\"keydown\", disableUserSelect);\n ownerDoc?.addEventListener(\"keyup\", enableUserSelect);\n\n return () => {\n ownerDoc?.removeEventListener(\"keydown\", disableUserSelect);\n ownerDoc?.removeEventListener(\"keyup\", enableUserSelect);\n };\n }, [\n isSelectable,\n selectionMode,\n ownerDocument,\n disableUserSelect,\n enableUserSelect,\n ]);\n\n const previousFilter = React.useRef([] as TableFilterValue<T>[]);\n const currentFilter = React.useRef(previousFilter.current);\n const tableStateReducer = (newState, action, previousState, instance) => {\n switch (action.type) {\n case TableActions.toggleSortBy:\n onSort?.(newState);\n break;\n\n case TableActions.setFilter:\n currentFilter.current = onFilterHandler(\n newState,\n action,\n previousState,\n currentFilter.current,\n instance\n );\n break;\n\n case TableActions.toggleRowExpanded:\n case TableActions.toggleAllRowsExpanded:\n onExpandHandler(newState, instance, onExpand);\n break;\n\n case singleRowSelectedAction:\n newState = onSingleSelectHandler(\n newState,\n action,\n instance,\n onSelect,\n hasManualSelectionColumn ? undefined : isRowDisabled\n );\n break;\n\n case shiftRowSelectedAction:\n newState = onShiftSelectHandler(\n newState,\n action,\n instance,\n onSelect,\n hasManualSelectionColumn ? undefined : isRowDisabled\n );\n break;\n\n case TableActions.toggleRowSelected:\n case TableActions.toggleAllRowsSelected:\n case TableActions.toggleAllPageRowsSelected:\n onToggleHandler(\n newState,\n action,\n instance,\n onSelect,\n hasManualSelectionColumn ? undefined : isRowDisabled\n );\n break;\n\n case tableResizeStartAction:\n newState = onTableResizeStart(newState);\n break;\n\n case tableResizeEndAction:\n newState = onTableResizeEnd(newState, action);\n break;\n\n default:\n if (stateReducer) {\n newState = stateReducer(newState, action, previousState, instance);\n }\n break;\n }\n\n return newState;\n };\n\n const filterTypes = React.useMemo(\n () => ({ ...customFilterFunctions, ...filterFunctions }),\n [filterFunctions]\n );\n\n const hasAnySubRows = React.useMemo(() => {\n return data.some((item, index) =>\n getSubRows ? getSubRows(item, index) : item.subRows\n );\n }, [data, getSubRows]);\n\n const instance = useTable<T>(\n {\n manualPagination: !paginatorRenderer, // Prevents from paginating rows in regular table without pagination\n paginateExpandedRows: false, // When false, it shows sub-rows in the current page instead of splitting them\n ...props,\n // @ts-ignore\n columns,\n defaultColumn,\n disableSortBy: !isSortable,\n // @ts-ignore\n stateReducer: tableStateReducer,\n filterTypes,\n selectSubRows,\n data,\n getSubRows,\n initialState: { pageSize, ...props.initialState },\n columnResizeMode,\n },\n useFlexLayout,\n useResizeColumns(ownerDocument),\n useFilters,\n useSubRowFiltering(hasAnySubRows),\n useGlobalFilter,\n useSortBy,\n useExpanded,\n usePagination,\n useRowSelect,\n useSubRowSelection,\n useExpanderCell(subComponent, expanderCell, isRowDisabled),\n useSelectionCell(isSelectable, selectionMode, isRowDisabled, density),\n useColumnOrder,\n useColumnDragAndDrop(enableColumnReordering),\n useStickyColumns\n );\n\n const {\n getTableProps,\n rows,\n headerGroups: _headerGroups,\n getTableBodyProps,\n prepareRow,\n state,\n allColumns,\n dispatch,\n // @ts-ignore\n page,\n // @ts-ignore\n gotoPage,\n // @ts-ignore\n setPageSize,\n flatHeaders,\n visibleColumns,\n // @ts-ignore\n setGlobalFilter,\n } = instance;\n\n let headerGroups = _headerGroups;\n\n if (columns.length === 1 && \"columns\" in columns[0]) {\n headerGroups = _headerGroups.slice(1);\n logWarningInDev(\n `Table's \\`columns\\` prop should not have a top-level \\`Header\\` or sub-columns. They are only allowed to be passed for backwards compatibility.\\n See https://github.com/iTwin/iTwinUI/wiki/iTwinUI-react-v2-migration-guide#breaking-changes`\n );\n }\n\n const ariaDataAttributes = Object.entries(rest).reduce(\n (result, [key, value]) => {\n if (key.startsWith(\"data-\") || key.startsWith(\"aria-\")) {\n result[key] = value;\n }\n return result;\n },\n {} as Record<string, unknown>\n );\n\n const areFiltersSet =\n allColumns.some(\n // @ts-ignore\n (column) => column.filterValue != null && column.filterValue !== \"\"\n ) || !!globalFilterValue;\n\n const showFilterButton = (column: HeaderGroup<T>) =>\n (data.length !== 0 || areFiltersSet) && column.canFilter && !!column.Filter;\n\n const showSortButton = (column: HeaderGroup<T>) =>\n data.length !== 0 && column.canSort;\n\n const onRowClickHandler = (event, row) => {\n const isDisabled = isRowDisabled?.(row.original);\n\n if (!isDisabled) {\n onRowClick?.(event, row);\n }\n\n if (\n isSelectable &&\n !isDisabled &&\n selectRowOnClick &&\n !event.isDefaultPrevented()\n ) {\n if (selectionMode === \"multi\" && event.shiftKey) {\n dispatch({\n type: shiftRowSelectedAction,\n id: row.id,\n });\n } else if (selectionMode === \"single\") {\n dispatch({\n type: singleRowSelectedAction,\n id: row.id,\n });\n }\n }\n };\n\n React.useEffect(() => {\n setGlobalFilter(globalFilterValue);\n }, [globalFilterValue, setGlobalFilter]);\n\n React.useEffect(() => {\n setPageSize(pageSize);\n }, [pageSize, setPageSize]);\n\n React.useEffect(() => {\n if (previousFilter.current !== currentFilter.current) {\n previousFilter.current = currentFilter.current;\n // @ts-ignore\n onFilter?.(currentFilter.current, state, instance.filteredRows);\n } // @ts-ignore\n }, [state, instance.filteredRows, onFilter]);\n\n const lastPassedColumns = React.useRef([] as Column<T>[]);\n\n // Reset the column order whenever new columns are passed\n // This is to avoid the old columnOrder from affecting the new columns' columnOrder\n React.useEffect(() => {\n // Check if columns have changed (by value)\n if (\n lastPassedColumns.current.length > 0 &&\n JSON.stringify(lastPassedColumns.current) !== JSON.stringify(columns)\n ) {\n // @ts-ignore\n instance.setColumnOrder([]);\n }\n lastPassedColumns.current = columns;\n }, [columns, instance]);\n\n const paginatorRendererProps: TablePaginatorRendererProps = React.useMemo(\n () => ({\n // @ts-ignore\n currentPage: state.pageIndex, // @ts-ignore\n pageSize: state.pageSize,\n totalRowsCount: rows.length,\n size: density !== \"default\" ? \"small\" : \"default\",\n isLoading,\n onPageChange: gotoPage,\n onPageSizeChange: setPageSize,\n // @ts-ignore\n totalSelectedRowsCount:\n selectionMode === \"single\" ? 0 : instance.selectedFlatRows.length, // 0 when selectionMode = 'single' since totalSelectedRowCount is for multi-selection mode only\n }),\n [\n density,\n gotoPage,\n isLoading,\n rows.length,\n setPageSize, // @ts-ignore\n state.pageIndex, // @ts-ignore\n state.pageSize, // @ts-ignore\n instance.selectedFlatRows, // @ts-ignore\n selectionMode,\n ]\n );\n\n const headerRef = React.useRef<HTMLDivElement>(null);\n const bodyRef = React.useRef<HTMLDivElement>(null);\n\n const { scrollToIndex, tableRowRef } = useScrollToRow<T>({ ...props, page });\n const columnRefs = React.useRef<Record<string, HTMLDivElement>>({});\n const previousTableWidth = React.useRef(0);\n const onTableResize = React.useCallback(\n ({ width }: DOMRectReadOnly) => {\n // Handle header properties, regardless of whether the table is resizable\n setHeaderScrollWidth(headerRef.current?.scrollWidth ?? 0);\n setHeaderClientWidth(headerRef.current?.clientWidth ?? 0);\n\n // Handle table properties, but only when table is resizable\n if (!isResizable) {\n return;\n }\n\n instance.tableWidth = width;\n if (width === previousTableWidth.current) {\n return;\n }\n previousTableWidth.current = width;\n\n // Update column widths when table was resized\n flatHeaders.forEach((header) => {\n if (columnRefs.current[header.id]) {\n header.resizeWidth =\n columnRefs.current[header.id].getBoundingClientRect().width;\n }\n });\n\n // If no column was resized then leave table resize handling to the flexbox\n if (Object.keys(state.columnResizing.columnWidths).length === 0) {\n return;\n }\n\n dispatch({ type: tableResizeStartAction });\n },\n [\n dispatch,\n state.columnResizing.columnWidths,\n flatHeaders,\n instance,\n isResizable,\n ]\n );\n const [resizeRef] = useResizeObserver(onTableResize);\n\n const [headerScrollWidth, setHeaderScrollWidth] = React.useState(0);\n const [headerClientWidth, setHeaderClientWidth] = React.useState(0);\n\n // Flexbox handles columns resize so we take new column widths before browser repaints.\n useLayoutEffect(() => {\n if (state.isTableResizing) {\n const newColumnWidths: Record<string, number> = {};\n flatHeaders.forEach((column) => {\n if (columnRefs.current[column.id]) {\n newColumnWidths[column.id] =\n columnRefs.current[column.id].getBoundingClientRect().width;\n }\n });\n dispatch({ type: tableResizeEndAction, columnWidths: newColumnWidths });\n }\n });\n\n const getPreparedRow = React.useCallback(\n (index: number) => {\n const row = page[index];\n prepareRow(row);\n return (\n <TableRowMemoized\n row={row}\n rowProps={rowProps}\n isLast={index === page.length - 1}\n onRowInViewport={onRowInViewportRef}\n onBottomReached={onBottomReachedRef}\n intersectionMargin={intersectionMargin}\n state={state}\n key={row.getRowProps().key}\n onClick={onRowClickHandler}\n subComponent={subComponent}\n isDisabled={!!isRowDisabled?.(row.original)}\n tableHasSubRows={hasAnySubRows}\n tableInstance={instance}\n expanderCell={expanderCell}\n bodyRef={bodyRef.current}\n tableRowRef={enableVirtualization ? undefined : tableRowRef(row)}\n density={density}\n />\n );\n },\n [\n page,\n prepareRow,\n rowProps,\n intersectionMargin,\n state,\n onRowClickHandler,\n subComponent,\n isRowDisabled,\n hasAnySubRows,\n instance,\n expanderCell,\n enableVirtualization,\n tableRowRef,\n density,\n ]\n );\n\n const virtualizedItemRenderer = React.useCallback(\n (index: number) => getPreparedRow(index),\n [getPreparedRow]\n );\n\n const updateStickyState = () => {\n if (!bodyRef.current || flatHeaders.every((header) => !header.sticky)) {\n return;\n }\n\n if (bodyRef.current.scrollLeft !== 0) {\n dispatch({ type: TableActions.setScrolledRight, value: true });\n } else {\n dispatch({ type: TableActions.setScrolledRight, value: false });\n }\n\n // If scrolled a bit to the left looking from the right side\n if (\n bodyRef.current.scrollLeft !==\n bodyRef.current.scrollWidth - bodyRef.current.clientWidth\n ) {\n dispatch({ type: TableActions.setScrolledLeft, value: true });\n } else {\n dispatch({ type: TableActions.setScrolledLeft, value: false });\n }\n };\n\n React.useEffect(() => {\n updateStickyState();\n // Call only on init\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const isHeaderDirectClick = React.useRef(false);\n\n return (\n <>\n {header}\n <Box\n ref={(element) => {\n ownerDocument.current = element?.ownerDocument;\n resizeRef(element);\n }}\n id={id}\n {...getTableProps({\n className: cx(\"iui-table\", className),\n style: {\n minWidth: 0, // Overrides the min-width set by the react-table but when we support horizontal scroll it is not needed\n ...style,\n },\n })}\n data-iui-size={density === \"default\" ? undefined : density}\n {...ariaDataAttributes}\n >\n {headerGroups.map((headerGroup: HeaderGroup<T>) => {\n return (\n <Box\n as=\"div\"\n ref={headerRef}\n onScroll={() => {\n if (headerRef.current && bodyRef.current) {\n bodyRef.current.scrollLeft = headerRef.current.scrollLeft;\n updateStickyState();\n }\n }}\n key={headerGroup.getHeaderGroupProps().key}\n {...headerWrapperProps}\n className={cx(\n \"iui-table-header-wrapper\",\n headerWrapperProps?.className\n )}\n >\n <Box\n as=\"div\"\n {...headerProps}\n className={cx(\"iui-table-header\", headerProps?.className)}\n >\n <Box\n {...headerGroup.getHeaderGroupProps({\n className: \"iui-table-row\",\n })}\n >\n {headerGroup.headers.map((column, index) => {\n const isEmptyHeader =\n !column.Header || column.Header.toString().trim() === \"\";\n\n const columnProps = column.getHeaderProps({\n className: cx(\"iui-table-cell\", column.columnClassName, {\n \"iui-actionable\": column.canSort && !isEmptyHeader,\n \"iui-sorted\": column.isSorted && !isEmptyHeader,\n \"iui-table-cell-sticky\": !!column.sticky,\n \"iui-empty-header\": isEmptyHeader,\n }),\n style: {\n ...getCellStyle(column, !!state.isTableResizing),\n ...getStickyStyle(column, visibleColumns),\n flexWrap: \"unset\",\n backgroundColor: isEmptyHeader\n ? \"transparent\"\n : undefined,\n },\n ...(isEmptyHeader ? { \"aria-hidden\": true } : {}),\n });\n\n return (\n <Box\n {...columnProps}\n key={columnProps.key}\n onMouseDown={() => {\n isHeaderDirectClick.current = true;\n }}\n onClick={(e) => {\n if (isHeaderDirectClick.current && !isEmptyHeader) {\n const toggleProps = column.getSortByToggleProps();\n if (toggleProps.onClick) {\n toggleProps.onClick(e);\n }\n isHeaderDirectClick.current = false;\n }\n }}\n tabIndex={\n showSortButton(column) && !isEmptyHeader\n ? 0\n : undefined\n }\n >\n {!isEmptyHeader ? column.render(\"Header\") : null}\n {!isEmptyHeader &&\n (showFilterButton(column) ||\n showSortButton(column)) && (\n <Box className=\"iui-table-header-actions-container\">\n {showFilterButton(column) && (\n <FilterToggle column={column} />\n )}\n {showSortButton(column) && (\n <Box className=\"iui-table-cell-end-icon\">\n <IconButton\n ariaLabel={\n column.isSortedDesc\n ? \"Sort Descending\"\n : \"Sort Ascending\"\n }\n size={IconButton?.sizes?.XXS}\n className=\"iui-table-sort\"\n icon={\n column.isSortedDesc\n ? MoveArrowDown\n : MoveArrowUp\n }\n />\n </Box>\n )}\n </Box>\n )}\n </Box>\n );\n })}\n </Box>\n </Box>\n </Box>\n );\n })}\n <Box\n {...bodyProps}\n {...getTableBodyProps({\n className: cx(\n \"iui-table-body\",\n {\n \"iui-zebra-striping\": styleType === \"zebra-rows\",\n },\n bodyProps?.className\n ),\n style: { outline: 0 },\n })}\n ref={bodyRef}\n onScroll={() => {\n if (headerRef.current && bodyRef.current) {\n headerRef.current.scrollLeft = bodyRef.current.scrollLeft;\n updateStickyState();\n }\n }}\n tabIndex={-1}\n aria-multiselectable={\n (isSelectable && selectionMode === \"multi\") || undefined\n }\n >\n <ShadowRoot>\n <slot />\n {rows.length === 0 && headerScrollWidth > headerClientWidth && (\n <div\n aria-hidden\n style={{\n // This ensures that the table-body is always the same width as the table-header,\n // even if the table has no rows. See https://github.com/iTwin/iTwinUI/pull/1725\n width: headerScrollWidth,\n height: 0.1,\n }}\n />\n )}\n </ShadowRoot>\n {data.length !== 0 && (\n <>\n {enableVirtualization ? (\n <VirtualScroll\n itemsLength={page.length}\n itemRenderer={virtualizedItemRenderer}\n scrollToIndex={scrollToIndex}\n />\n ) : (\n page.map((_, index) => getPreparedRow(index))\n )}\n </>\n )}\n {isLoading && data.length === 0 && (\n <Box\n as=\"div\"\n {...emptyTableContentProps}\n className={cx(\n \"iui-table-empty\",\n emptyTableContentProps?.className\n )}\n >\n {/* <ProgressRadial indeterminate={true} /> */}\n </Box>\n )}\n {isLoading && data.length !== 0 && (\n <Box className=\"iui-table-row\" data-iui-loading=\"true\">\n <Box className=\"iui-table-cell\">\n {/* <ProgressRadial indeterminate size=\"small\" /> */}\n </Box>\n </Box>\n )}\n {!isLoading && data.length === 0 && !areFiltersSet && (\n <Box\n as=\"div\"\n {...emptyTableContentProps}\n className={cx(\n \"iui-table-empty\",\n emptyTableContentProps?.className\n )}\n >\n <div>{emptyTableContent}</div>\n </Box>\n )}\n {!isLoading &&\n (data.length === 0 || rows.length === 0) &&\n areFiltersSet && (\n <Box\n as=\"div\"\n {...emptyTableContentProps}\n className={cx(\n \"iui-table-empty\",\n emptyTableContentProps?.className\n )}\n >\n <div>{emptyFilteredTableContent}</div>\n </Box>\n )}\n </Box>\n {paginatorRenderer?.(paginatorRendererProps)}\n </Box>\n </>\n );\n};\n\nexport default Table;\nexport type { TablePaginatorRendererProps, TableProps };\n"],"names":["singleRowSelectedAction","shiftRowSelectedAction","tableResizeStartAction","tableResizeEndAction","logWarningInDev","createWarningLogger","flattenColumns","columns","flatColumns","forEach","column","push","apply","_toConsumableArray","Table","props","data","header","_props$isLoading","isLoading","emptyTableContent","className","style","id","_props$isSelectable","isSelectable","onSelect","onRowClick","_props$selectionMode","selectionMode","_props$isSortable","isSortable","onSort","stateReducer","onBottomReached","onRowInViewport","_props$intersectionMa","intersectionMargin","subComponent","onExpand","onFilter","globalFilterValue","emptyFilteredTableContent","filterFunctions","filterTypes","expanderCell","isRowDisabled","rowProps","_props$density","density","_props$selectSubRows","selectSubRows","getSubRows","_props$selectRowOnCli","selectRowOnClick","paginatorRenderer","_props$pageSize","pageSize","_props$isResizable","isResizable","_props$columnResizeMo","columnResizeMode","_props$styleType","styleType","_props$enableVirtuali","enableVirtualization","_props$enableColumnRe","enableColumnReordering","headerWrapperProps","headerProps","bodyProps","emptyTableContentProps","rest","__rest","useGlobals","ownerDocument","React","useRef","defaultColumn","useMemo","maxWidth","minWidth","width","onBottomReachedRef","onRowInViewportRef","useEffect","current","hasManualSelectionColumn","some","SELECTION_CELL_ID","disableUserSelect","useCallback","e","key","documentElement","userSelect","enableUserSelect","ownerDoc","addEventListener","removeEventListener","previousFilter","currentFilter","customFilterFunctions","hasAnySubRows","item","index","subRows","instance","useTable","Object","assign","manualPagination","paginateExpandedRows","disableSortBy","newState","action","previousState","type","TableActions","toggleSortBy","setFilter","onFilterHandler","toggleRowExpanded","toggleAllRowsExpanded","onExpandHandler","onSingleSelectHandler","undefined","onShiftSelectHandler","toggleRowSelected","toggleAllRowsSelected","toggleAllPageRowsSelected","onToggleHandler","onTableResizeStart","onTableResizeEnd","initialState","useFlexLayout","useResizeColumns","useFilters","useSubRowFiltering","useGlobalFilter","useSortBy","useExpanded","usePagination","useRowSelect","useSubRowSelection","useExpanderCell","useSelectionCell","useColumnOrder","useColumnDragAndDrop","useStickyColumns","getTableProps","rows","_headerGroups","headerGroups","getTableBodyProps","prepareRow","state","allColumns","dispatch","page","gotoPage","setPageSize","flatHeaders","visibleColumns","setGlobalFilter","length","slice","ariaDataAttributes","entries","reduce","result","_ref","_ref2","_slicedToArray","value","startsWith","areFiltersSet","filterValue","showFilterButton","canFilter","Filter","showSortButton","canSort","onRowClickHandler","event","row","isDisabled","original","isDefaultPrevented","shiftKey","filteredRows","lastPassedColumns","JSON","stringify","setColumnOrder","paginatorRendererProps","currentPage","pageIndex","totalRowsCount","size","onPageChange","onPageSizeChange","totalSelectedRowsCount","selectedFlatRows","headerRef","bodyRef","_useScrollToRow","useScrollToRow","scrollToIndex","tableRowRef","columnRefs","previousTableWidth","onTableResize","_ref3","setHeaderScrollWidth","_b","_a","scrollWidth","setHeaderClientWidth","_d","_c","clientWidth","tableWidth","resizeWidth","getBoundingClientRect","keys","columnResizing","columnWidths","_useResizeObserver","useResizeObserver","resizeRef","_React$useState","useState","_React$useState2","headerScrollWidth","_React$useState3","_React$useState4","headerClientWidth","useLayoutEffect","isTableResizing","newColumnWidths","getPreparedRow","_jsx","TableRowMemoized","isLast","onClick","tableHasSubRows","tableInstance","getRowProps","virtualizedItemRenderer","updateStickyState","every","sticky","scrollLeft","setScrolledRight","setScrolledLeft","isHeaderDirectClick","_jsxs","_Fragment","children","Box","ref","element","cx","map","headerGroup","as","onScroll","getHeaderGroupProps","headers","isEmptyHeader","Header","trim","columnProps","getHeaderProps","columnClassName","isSorted","getCellStyle","getStickyStyle","flexWrap","backgroundColor","_createElement","onMouseDown","toggleProps","getSortByToggleProps","tabIndex","render","FilterToggle","IconButton","ariaLabel","isSortedDesc","sizes","XXS","icon","MoveArrowDown","MoveArrowUp","outline","ShadowRoot","height","VirtualScroll","itemsLength","itemRenderer","_"],"mappings":"2jGAiEA,IAAMA,EAA0B,oBAC1BC,EAAyB,mBAClBC,EAAyB,mBAChCC,EAAuB,iBAEvBC,GAAkBC,IAoPlBC,GAAiB,SAAjBA,EACJC,GAEA,IAAMC,EAA2B,GAQjC,OAPAD,EAAQE,SAAQ,SAACC,GACfF,EAAYG,KAAKD,GACb,YAAaA,GAEfF,EAAYG,KAAIC,MAAhBJ,EAAWK,EAASP,EAAeI,EAAOH,UAE9C,IACOC,CACT,EAuCaM,GAAQ,SAGnBC,GAEA,IACEC,EA2CED,EA3CFC,KACAT,GA0CEQ,EA1CFR,QACAU,GAyCEF,EAzCFE,OAAMC,GAyCJH,EAxCFI,UAAAA,QAAY,IAAHD,IAAQA,GACjBE,GAuCEL,EAvCFK,kBACAC,GAsCEN,EAtCFM,UACAC,GAqCEP,EArCFO,MACAC,GAoCER,EApCFQ,GAAEC,GAoCAT,EAnCFU,aAAAA,QAAe,IAAHD,IAAQA,GACpBE,GAkCEX,EAlCFW,SACAC,GAiCEZ,EAjCFY,WAAUC,GAiCRb,EAhCFc,cAAAA,QAAgB,IAAHD,GAAG,QAAOA,GAAAE,GAgCrBf,EA/BFgB,WAAAA,QAAa,IAAHD,IAAQA,GAClBE,GA8BEjB,EA9BFiB,OACAC,GA6BElB,EA7BFkB,aACAC,GA4BEnB,EA5BFmB,gBACAC,GA2BEpB,EA3BFoB,gBAAeC,GA2BbrB,EA1BFsB,mBAAAA,QAAqB,IAAHD,GAAG,IAAGA,GACxBE,GAyBEvB,EAzBFuB,aACAC,GAwBExB,EAxBFwB,SACAC,GAuBEzB,EAvBFyB,SACAC,GAsBE1B,EAtBF0B,kBACAC,GAqBE3B,EArBF2B,0BACaC,GAoBX5B,EApBF6B,YACAC,GAmBE9B,EAnBF8B,aACAC,GAkBE/B,EAlBF+B,cACAC,GAiBEhC,EAjBFgC,SAAQC,GAiBNjC,EAhBFkC,QAAAA,QAAU,IAAHD,GAAG,UAASA,GAAAE,GAgBjBnC,EAfFoC,cAAAA,QAAgB,IAAHD,IAAOA,GACpBE,GAcErC,EAdFqC,WAAUC,GAcRtC,EAbFuC,iBAAAA,QAAmB,IAAHD,IAAOA,GACvBE,GAYExC,EAZFwC,kBAAiBC,GAYfzC,EAXF0C,SAAAA,QAAW,IAAHD,GAAG,GAAEA,GAAAE,GAWX3C,EAVF4C,YAAAA,QAAc,IAAHD,IAAQA,GAAAE,GAUjB7C,EATF8C,iBAAAA,QAAmB,IAAHD,GAAG,MAAKA,GAAAE,GAStB/C,EARFgD,UAAAA,QAAY,IAAHD,GAAG,UAASA,GAAAE,GAQnBjD,EAPFkD,qBAAAA,QAAuB,IAAHD,IAAQA,GAAAE,GAO1BnD,EANFoD,uBAAAA,QAAyB,IAAHD,IAAQA,GAC9BE,GAKErD,EALFqD,mBACAC,GAIEtD,EAJFsD,YACAC,GAGEvD,EAHFuD,UACAC,GAEExD,EAFFwD,uBACGC,GAAIC,EACL1D,EA5CE,CA4CL,OAAA,UAAA,SAAA,YAAA,oBAAA,YAAA,QAAA,KAAA,eAAA,WAAA,aAAA,gBAAA,aAAA,SAAA,eAAA,kBAAA,kBAAA,qBAAA,eAAA,WAAA,WAAA,oBAAA,4BAAA,cAAA,eAAA,gBAAA,WAAA,UAAA,gBAAA,aAAA,mBAAA,oBAAA,WAAA,cAAA,mBAAA,YAAA,uBAAA,yBAAA,qBAAA,cAAA,YAAA,2BAED2D,IAEA,IAAMC,GAAgBC,EAAMC,SAEtBC,GAAgBF,EAAMG,SAC1B,WAAA,MAAO,CACLC,SAAU,EACVC,SAAU,EACVC,MAAO,EACP,GACF,IAIIC,GAAqBP,EAAMC,OAAO3C,IAClCkD,GAAqBR,EAAMC,OAAO1C,IACxCyC,EAAMS,WAAU,WACdF,GAAmBG,QAAUpD,GAC7BkD,GAAmBE,QAAUnD,EAC/B,GAAG,CAACD,GAAiBC,KAErB,IAAMoD,GAA2BX,EAAMG,SAAQ,WAE7C,OADoBzE,GAAeC,IAChBiF,MAAK,SAAC9E,GAAM,OAAKA,EAAOa,KAAOkE,IACpD,GAAG,CAAClF,KAEEmF,GAAoBd,EAAMe,aAAY,SAACC,GAC7B,UAAVA,EAAEC,KACJlB,GAAcW,UACXX,GAAcW,QAAQQ,gBAAgBxE,MAAMyE,WAAa,OAE/D,GAAE,IAEGC,GAAmBpB,EAAMe,aAAY,SAACC,GAC5B,UAAVA,EAAEC,KACJlB,GAAcW,UACXX,GAAcW,QAAQQ,gBAAgBxE,MAAMyE,WAAa,GAE/D,GAAE,IAEHnB,EAAMS,WAAU,WACd,GAAK5D,IAAkC,UAAlBI,GAArB,CAIA,IAAMoE,EAAWtB,GAAcW,QAI/B,OAHAW,SAAAA,EAAUC,iBAAiB,UAAWR,IACtCO,SAAAA,EAAUC,iBAAiB,QAASF,IAE7B,WACLC,SAAAA,EAAUE,oBAAoB,UAAWT,IACzCO,SAAAA,EAAUE,oBAAoB,QAASH,IARxC,CAUH,GAAG,CACDvE,GACAI,GACA8C,GACAe,GACAM,KAGF,IAAMI,GAAiBxB,EAAMC,OAAO,IAC9BwB,GAAgBzB,EAAMC,OAAOuB,GAAed,SAwE5C1C,GAAcgC,EAAMG,SACxB,WAAA,sCAAYuB,GAA0B3D,GAAkB,GACxD,CAACA,KAGG4D,GAAgB3B,EAAMG,SAAQ,WAClC,OAAO/D,EAAKwE,MAAK,SAACgB,EAAMC,GAAK,OAC3BrD,GAAaA,GAAWoD,EAAMC,GAASD,EAAKE,UAEhD,GAAG,CAAC1F,EAAMoC,KAEJuD,GAAWC,EAAQC,OAAAC,OAAAD,OAAAC,OAAA,CAErBC,kBAAmBxD,GACnByD,sBAAsB,GACnBjG,GAAK,CAERR,QAAAA,GACAuE,cAAAA,GACAmC,eAAgBlF,GAEhBE,aA5FsB,SAACiF,EAAUC,EAAQC,EAAeT,GAC1D,OAAQQ,EAAOE,MACb,KAAKC,EAAaC,aAChBvF,UAAAA,GAASkF,GACT,MAEF,KAAKI,EAAaE,UAChBnB,GAAcf,QAAUmC,EACtBP,EACAC,EACAC,EACAf,GAAcf,QACdqB,GAEF,MAEF,KAAKW,EAAaI,kBAClB,KAAKJ,EAAaK,sBAChBC,EAAgBV,EAAUP,EAAUpE,IACpC,MAEF,KAAKvC,EACHkH,EAAWW,EACTX,EACAC,EACAR,EACAjF,GACA6D,QAA2BuC,EAAYhF,IAEzC,MAEF,KAAK7C,EACHiH,EAAWa,EACTb,EACAC,EACAR,EACAjF,GACA6D,QAA2BuC,EAAYhF,IAEzC,MAEF,KAAKwE,EAAaU,kBAClB,KAAKV,EAAaW,sBAClB,KAAKX,EAAaY,0BAChBC,EACEjB,EACAC,EACAR,EACAjF,GACA6D,QAA2BuC,EAAYhF,IAEzC,MAEF,KAAK5C,EACHgH,EAAWkB,EAAmBlB,GAC9B,MAEF,KAAK/G,EACH+G,EAAWmB,EAAiBnB,EAAUC,GACtC,MAEF,QACMlF,KACFiF,EAAWjF,GAAaiF,EAAUC,EAAQC,EAAeT,IAK/D,OAAOO,GAyBLtE,YAAAA,GACAO,cAAAA,GACAnC,KAAAA,EACAoC,WAAAA,GACAkF,aAAgBzB,OAAAC,OAAA,CAAArD,SAAAA,IAAa1C,EAAMuH,cACnCzE,iBAAAA,KAEF0E,EACAC,EAAiB7D,IACjB8D,EACAC,EAAmBnC,IACnBoC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAAgB3G,GAAcO,GAAcC,IAC5CoG,EAAiBzH,GAAcI,GAAeiB,GAAeG,IAC7DkG,EACAC,EAAqBjF,IACrBkF,GAIAC,GAkBE3C,GAlBF2C,cACAC,GAiBE5C,GAjBF4C,KACcC,GAgBZ7C,GAhBF8C,aACAC,GAeE/C,GAfF+C,kBACAC,GAcEhD,GAdFgD,WACAC,GAaEjD,GAbFiD,MACAC,GAYElD,GAZFkD,WACAC,GAWEnD,GAXFmD,SAEAC,GASEpD,GATFoD,KAEAC,GAOErD,GAPFqD,SAEAC,GAKEtD,GALFsD,YACAC,GAIEvD,GAJFuD,YACAC,GAGExD,GAHFwD,eAEAC,GACEzD,GADFyD,gBAGEX,GAAeD,GAEI,IAAnBjJ,GAAQ8J,QAAgB,YAAa9J,GAAQ,KAC/CkJ,GAAeD,GAAcc,MAAM,GACnClK,iPAKF,IAAMmK,GAAqB1D,OAAO2D,QAAQhG,IAAMiG,QAC9C,SAACC,EAAMC,GAAkB,IAAAC,EAAAC,EAAAF,EAAA,GAAf9E,EAAG+E,EAAA,GAAEE,EAAKF,EAAA,GAIlB,OAHI/E,EAAIkF,WAAW,UAAYlF,EAAIkF,WAAW,YAC5CL,EAAO7E,GAAOiF,GAETJ,CACR,GACD,CAA6B,GAGzBM,GACJnB,GAAWrE,MAET,SAAC9E,GAAM,OAA2B,MAAtBA,EAAOuK,aAA8C,KAAvBvK,EAAOuK,kBAC5CxI,GAEHyI,GAAmB,SAACxK,GAAsB,OAC7B,IAAhBM,EAAKqJ,QAAgBW,KAAkBtK,EAAOyK,aAAezK,EAAO0K,MAAM,EAEvEC,GAAiB,SAAC3K,GAAsB,OAC5B,IAAhBM,EAAKqJ,QAAgB3J,EAAO4K,OAAO,EAE/BC,GAAoB,SAACC,EAAOC,GAChC,IAAMC,EAAa5I,cAAa,EAAbA,GAAgB2I,EAAIE,UAElCD,GACH/J,UAAAA,GAAa6J,EAAOC,GAIpBhK,KACCiK,GACDpI,KACCkI,EAAMI,uBAEe,UAAlB/J,IAA6B2J,EAAMK,SACrC/B,GAAS,CACPzC,KAAMpH,EACNsB,GAAIkK,EAAIlK,KAEiB,WAAlBM,IACTiI,GAAS,CACPzC,KAAMrH,EACNuB,GAAIkK,EAAIlK,OAMhBqD,EAAMS,WAAU,WACd+E,GAAgB3H,GAClB,GAAG,CAACA,GAAmB2H,KAEvBxF,EAAMS,WAAU,WACd4E,GAAYxG,GACd,GAAG,CAACA,GAAUwG,KAEdrF,EAAMS,WAAU,WACVe,GAAed,UAAYe,GAAcf,UAC3Cc,GAAed,QAAUe,GAAcf,QAEvC9C,UAAAA,GAAW6D,GAAcf,QAASsE,GAAOjD,GAASmF,cAErD,GAAE,CAAClC,GAAOjD,GAASmF,aAActJ,KAElC,IAAMuJ,GAAoBnH,EAAMC,OAAO,IAIvCD,EAAMS,WAAU,WAGZ0G,GAAkBzG,QAAQ+E,OAAS,GACnC2B,KAAKC,UAAUF,GAAkBzG,WAAa0G,KAAKC,UAAU1L,KAG7DoG,GAASuF,eAAe,IAE1BH,GAAkBzG,QAAU/E,EAC9B,GAAG,CAACA,GAASoG,KAEb,IAAMwF,GAAsDvH,EAAMG,SAChE,WAAA,MAAO,CAELqH,YAAaxC,GAAMyC,UACnB5I,SAAUmG,GAAMnG,SAChB6I,eAAgB/C,GAAKc,OACrBkC,KAAkB,YAAZtJ,GAAwB,QAAU,UACxC9B,UAAAA,GACAqL,aAAcxC,GACdyC,iBAAkBxC,GAElByC,uBACoB,WAAlB7K,GAA6B,EAAI8E,GAASgG,iBAAiBtC,OAC9D,GACD,CACEpH,GACA+G,GACA7I,GACAoI,GAAKc,OACLJ,GACAL,GAAMyC,UACNzC,GAAMnG,SACNkD,GAASgG,iBACT9K,KAIE+K,GAAYhI,EAAMC,OAAuB,MACzCgI,GAAUjI,EAAMC,OAAuB,MAE7CiI,GAAuCC,EAAclG,OAAAC,OAAAD,OAAAC,OAAA,GAAS/F,GAAK,CAAEgJ,KAAAA,MAA7DiD,GAAaF,GAAbE,cAAeC,GAAWH,GAAXG,YACjBC,GAAatI,EAAMC,OAAuC,CAAE,GAC5DsI,GAAqBvI,EAAMC,OAAO,GAClCuI,GAAgBxI,EAAMe,aAC1B,SAAA0H,GAA+B,YAA5BnI,EAAKmI,EAALnI,MAEDoI,GAAmD,QAA9BC,EAAiB,QAAjBC,EAAAZ,GAAUtH,eAAO,IAAAkI,OAAA,EAAAA,EAAEC,mBAAW,IAAAF,EAAAA,EAAI,GACvDG,GAAmD,QAA9BC,EAAiB,QAAjBC,EAAAhB,GAAUtH,eAAO,IAAAsI,OAAA,EAAAA,EAAEC,mBAAW,IAAAF,EAAAA,EAAI,GAGlDhK,KAILgD,GAASmH,WAAa5I,EAClBA,IAAUiI,GAAmB7H,UAGjC6H,GAAmB7H,QAAUJ,EAG7BgF,GAAYzJ,SAAQ,SAACQ,GACfiM,GAAW5H,QAAQrE,EAAOM,MAC5BN,EAAO8M,YACLb,GAAW5H,QAAQrE,EAAOM,IAAIyM,wBAAwB9I,MAE5D,IAG8D,IAA1D2B,OAAOoH,KAAKrE,GAAMsE,eAAeC,cAAc9D,QAInDP,GAAS,CAAEzC,KAAMnH,KACnB,GACA,CACE4J,GACAF,GAAMsE,eAAeC,aACrBjE,GACAvD,GACAhD,KAGJyK,GAAoBC,EAAkBjB,IAA/BkB,GAA6CzD,EAAAuD,GAAA,GAApC,GAEhBG,GAAkD3J,EAAM4J,SAAS,GAAEC,GAAA5D,EAAA0D,GAAA,GAA5DG,GAAiBD,GAAA,GAAEnB,GAAoBmB,GAAA,GAC9CE,GAAkD/J,EAAM4J,SAAS,GAAEI,GAAA/D,EAAA8D,GAAA,GAA5DE,GAAiBD,GAAA,GAAElB,GAAoBkB,GAAA,GAG9CE,GAAgB,WACd,GAAIlF,GAAMmF,gBAAiB,CACzB,IAAMC,EAA0C,CAAA,EAChD9E,GAAYzJ,SAAQ,SAACC,GACfwM,GAAW5H,QAAQ5E,EAAOa,MAC5ByN,EAAgBtO,EAAOa,IACrB2L,GAAW5H,QAAQ5E,EAAOa,IAAIyM,wBAAwB9I,MAE5D,IACA4E,GAAS,CAAEzC,KAAMlH,EAAsBgO,aAAca,GACtD,CACH,IAEA,IAAMC,GAAiBrK,EAAMe,aAC3B,SAACc,GACC,IAAMgF,EAAM1B,GAAKtD,GAEjB,OADAkD,GAAW8B,GAETyD,EAACC,EACC,CAAA1D,IAAKA,EACL1I,SAAUA,GACVqM,OAAQ3I,IAAUsD,GAAKM,OAAS,EAChClI,gBAAiBiD,GACjBlD,gBAAiBiD,GACjB9C,mBAAoBA,GACpBuH,MAAOA,GAEPyF,QAAS9D,GACTjJ,aAAcA,GACdoJ,cAAc5I,gBAAAA,GAAgB2I,EAAIE,WAClC2D,gBAAiB/I,GACjBgJ,cAAe5I,GACf9D,aAAcA,GACdgK,QAASA,GAAQvH,QACjB2H,YAAahJ,QAAuB6D,EAAYmF,GAAYxB,GAC5DxI,QAASA,IATJwI,EAAI+D,cAAc3J,IAY7B,GACA,CACEkE,GACAJ,GACA5G,GACAV,GACAuH,GACA2B,GACAjJ,GACAQ,GACAyD,GACAI,GACA9D,GACAoB,GACAgJ,GACAhK,KAIEwM,GAA0B7K,EAAMe,aACpC,SAACc,GAAa,OAAKwI,GAAexI,KAClC,CAACwI,KAGGS,GAAoB,WACnB7C,GAAQvH,UAAW4E,GAAYyF,OAAM,SAAC1O,GAAM,OAAMA,EAAO2O,MAAM,MAKlE9F,GADiC,IAA/B+C,GAAQvH,QAAQuK,WACT,CAAExI,KAAMC,EAAawI,iBAAkBhF,OAAO,GAE9C,CAAEzD,KAAMC,EAAawI,iBAAkBhF,OAAO,IAQvDhB,GAHA+C,GAAQvH,QAAQuK,aAChBhD,GAAQvH,QAAQmI,YAAcZ,GAAQvH,QAAQuI,YAErC,CAAExG,KAAMC,EAAayI,gBAAiBjF,OAAO,GAE7C,CAAEzD,KAAMC,EAAayI,gBAAiBjF,OAAO,MAI1DlG,EAAMS,WAAU,WACdqK,IAGD,GAAE,IAEH,IAAMM,GAAsBpL,EAAMC,QAAO,GAEzC,OACEoL,EAAAC,EAAA,CAAAC,SAAA,CACGlP,GACDgP,EAACG,EACCvJ,OAAAC,OAAA,CAAAuJ,IAAK,SAACC,GACJ3L,GAAcW,QAAUgL,aAAA,EAAAA,EAAS3L,cACjC2J,GAAUgC,EACX,EACD/O,GAAIA,IACA+H,GAAc,CAChBjI,UAAWkP,EAAG,YAAalP,IAC3BC,qBACE2D,SAAU,GACP3D,MAEL,CAAA,gBACyB,YAAZ2B,QAAwB6E,EAAY7E,IAC/CsH,cAEHd,GAAa+G,KAAI,SAACC,GACjB,OACEvB,EAACkB,EAAGvJ,OAAAC,OAAA,CACF4J,GAAG,MACHL,IAAKzD,GACL+D,SAAU,WACJ/D,GAAUtH,SAAWuH,GAAQvH,UAC/BuH,GAAQvH,QAAQuK,WAAajD,GAAUtH,QAAQuK,WAC/CH,KAEJ,GAEItL,GACJ,CAAA/C,UAAWkP,EACT,2BACAnM,cAAA,EAAAA,GAAoB/C,sBAGtB6N,EAACkB,EACCvJ,OAAAC,OAAA,CAAA4J,GAAG,OACCrM,GAAW,CACfhD,UAAWkP,EAAG,mBAAoBlM,cAAW,EAAXA,GAAahD,YAE/C,CAAA8O,SAAAjB,EAACkB,EACKvJ,OAAAC,OAAA,CAAA,EAAA2J,EAAYG,oBAAoB,CAClCvP,UAAW,kBAGZ,CAAA8O,SAAAM,EAAYI,QAAQL,KAAI,SAAC9P,EAAQ+F,SAC1BqK,GACHpQ,EAAOqQ,QAA8C,MAApCrQ,KAAOqQ,QAAkBC,OAEvCC,EAAcvQ,EAAOwQ,eACzBrK,OAAAC,OAAA,CAAAzF,UAAWkP,EAAG,iBAAkB7P,EAAOyQ,gBAAiB,CACtD,iBAAkBzQ,EAAO4K,UAAYwF,EACrC,aAAcpQ,EAAO0Q,WAAaN,EAClC,0BAA2BpQ,EAAOkP,OAClC,mBAAoBkB,IAEtBxP,MAAKuF,OAAAC,OAAAD,OAAAC,OAAAD,OAAAC,OAAA,GACAuK,EAAa3Q,IAAUkJ,GAAMmF,kBAC7BuC,EAAe5Q,EAAQyJ,KAAe,CACzCoH,SAAU,QACVC,gBAAiBV,EACb,mBACAhJ,KAEFgJ,EAAgB,CAAE,eAAe,GAAS,CAAA,IAGhD,OACEW,EAACrB,EAAGvJ,OAAAC,OAAA,CAAA,EACEmK,EACJ,CAAApL,IAAKoL,EAAYpL,IACjB6L,YAAa,WACX1B,GAAoB1K,SAAU,CAC/B,EACD+J,QAAS,SAACzJ,GACR,GAAIoK,GAAoB1K,UAAYwL,EAAe,CACjD,IAAMa,EAAcjR,EAAOkR,uBACvBD,EAAYtC,SACdsC,EAAYtC,QAAQzJ,GAEtBoK,GAAoB1K,SAAU,CAC/B,CACF,EACDuM,SACExG,GAAe3K,KAAYoQ,EACvB,OACAhJ,IAGJgJ,EAA0C,KAA1BpQ,EAAOoR,OAAO,WAC9BhB,IACC5F,GAAiBxK,IAChB2K,GAAe3K,KACfuP,EAACG,EAAGvJ,OAAAC,OAAA,CAACzF,UAAU,sCACZ,CAAA8O,SAAA,CAAAjF,GAAiBxK,IAChBwO,EAAC6C,EAAY,CAACrR,OAAQA,IAEvB2K,GAAe3K,IACdwO,EAACkB,EAAGvJ,OAAAC,OAAA,CAACzF,UAAU,qCACb6N,EAAC8C,GACCC,UACEvR,EAAOwR,aACH,kBACA,iBAEN3F,KAAyB,UAAnByF,aAAU,EAAVA,EAAYG,aAAO,IAAA3E,OAAA,EAAAA,EAAA4E,IACzB/Q,UAAU,iBACVgR,KACE3R,EAAOwR,aACHI,EACAC,uBAlFvB9B,EAAYG,sBAAsB/K,IAgG7C,IACAoK,EAACG,mBACK9L,GACAoF,GAAkB,CACpBrI,UAAWkP,EACT,iBACA,CACE,qBAAoC,eAAdxM,IAExBO,gBAAAA,GAAWjD,WAEbC,MAAO,CAAEkR,QAAS,KAClB,CACFnC,IAAKxD,GACL8D,SAAU,WACJ/D,GAAUtH,SAAWuH,GAAQvH,UAC/BsH,GAAUtH,QAAQuK,WAAahD,GAAQvH,QAAQuK,WAC/CH,KAEH,EACDmC,UAAW,EAET,uBAACpQ,IAAkC,UAAlBI,SAA8BiG,GAGjD,CAAAqI,SAAA,CAAAF,EAACwC,EAAU,CAAAtC,SAAA,CACTjB,EAAQ,OAAA,CAAA,GACS,IAAhB3F,GAAKc,QAAgBqE,GAAoBG,IACxCK,EAAA,MAAA,CAAA,eAAA,EAEE5N,MAAO,CAGL4D,MAAOwJ,GACPgE,OAAQ,SAKC,IAAhB1R,EAAKqJ,QACJ6E,cACGjL,GACCiL,EAACyD,EAAa,CACZC,YAAa7I,GAAKM,OAClBwI,aAAcpD,GACdzC,cAAeA,KAGjBjD,GAAKyG,KAAI,SAACsC,EAAGrM,GAAK,OAAKwI,GAAexI,EAAM,MAIjDtF,IAA6B,IAAhBH,EAAKqJ,QACjB6E,EAACkB,EACCvJ,OAAAC,OAAA,CAAA4J,GAAG,OACCnM,GAAsB,CAC1BlD,UAAWkP,EACT,kBACAhM,cAAA,EAAAA,GAAwBlD,cAM7BF,IAA6B,IAAhBH,EAAKqJ,QACjB6E,EAACkB,EAAGvJ,OAAAC,OAAA,CAACzF,UAAU,gBAAiC,mBAAA,kBAC9C6N,EAACkB,EAAI,CAAA/O,UAAU,uBAKjBF,IAA6B,IAAhBH,EAAKqJ,SAAiBW,IACnCkE,EAACkB,iBACCM,GAAG,OACCnM,IACJlD,UAAWkP,EACT,kBACAhM,cAAsB,EAAtBA,GAAwBlD,YACzB,CAAA8O,SAEDjB,kBAAM9N,SAGRD,KACiB,IAAhBH,EAAKqJ,QAAgC,IAAhBd,GAAKc,SAC3BW,IACEkE,EAACkB,iBACCM,GAAG,OACCnM,IACJlD,UAAWkP,EACT,kBACAhM,cAAA,EAAAA,GAAwBlD,sBAG1B6N,EAAM,MAAA,CAAAiB,SAAAzN,YAIba,cAAiB,EAAjBA,GAAoB4I,UAI7B"}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
var e={filterButtonContainer:"
|
1
|
+
var e={filterButtonContainer:"filterButtonContainer_78c25867a7",filterBox:"filterBox_a9e6476fba"};!function(e){if("undefined"==typeof document)return;const t=document.head||document.getElementsByTagName("head")[0],n="s_id-1b5c482093a2_0_0_82-table-tanstack-updated";if(t.querySelector("#"+n))return;const i=document.createElement("style");i.id=n,t.firstChild?t.insertBefore(i,t.firstChild):t.appendChild(i),i.appendChild(document.createTextNode(e))}(".filterButtonContainer_78c25867a7 {\n position: relative;\n}\n\n.filterBox_a9e6476fba {\n min-width: 250px;\n z-index: 2;\n position: absolute;\n margin: 6px 0px 0px 0px;\n display: flex;\n gap: 5px;\n}");export{e as default};
|
2
2
|
//# sourceMappingURL=TableHeader.module.scss.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"expandHandler.js","sources":["../../../../../../src/components/Table/actionHandlers/expandHandler.ts"],"sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\nimport type {\n TableInstance,\n TableState,\n} from \"../../../react-table/react-table\";\n\nexport const onExpandHandler = <T extends Record<string, unknown>>(\n newState: TableState<T>,\n instance?: TableInstance<T>,\n onExpand?: (expandedData: T[] | undefined, tableState?: TableState<T>) => void\n) => {\n if (!instance?.preFilteredFlatRows.length) {\n onExpand?.([], newState);\n return;\n }\n\n const expandedData: T[] = [];\n instance.preFilteredFlatRows.forEach((row) => {\n if (newState.expanded[row.id]) {\n expandedData.push(row.original);\n }\n });\n onExpand?.(expandedData, newState);\n};\n"],"names":["onExpandHandler","newState","instance","onExpand","preFilteredFlatRows","length","expandedData","forEach","row","expanded","id","push","original"],"mappings":"AASO,IAAMA,EAAkB,SAC7BC,EACAC,EACAC,GAEA,GAAKD,aAAQ,EAARA,EAAUE,oBAAoBC,OAAnC,CAKA,IAAMC,EAAoB,GAC1BJ,EAASE,oBAAoBG,SAAQ,SAACC,GAChCP,EAASQ,SAASD,EAAIE,KACxBJ,EAAaK,KAAKH,EAAII,SAE1B,IACAT,SAAAA,EAAWG,EAAcL,EARxB,MAFCE,SAAAA,EAAW,GAAIF,EAWnB"}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
var l=function(l,i,n,e,u){var t=n.filters.find((function(l){return l.id===i.columnId}));return(null==t?void 0:t.value)!=i.filterValue?l.filters.map((function(l){var i,n,e=null==u?void 0:u.allColumns.find((function(i){return i.id===l.id}));return{id:l.id,value:l.value,fieldType:null!==(i=null==e?void 0:e.fieldType)&&void 0!==i?i:"text",filterType:null!==(n=null==e?void 0:e.filter)&&void 0!==n?n:"text"}})):e};export{l as onFilterHandler};
|
2
|
+
//# sourceMappingURL=filterHandler.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"filterHandler.js","sources":["../../../../../../src/components/Table/actionHandlers/filterHandler.ts"],"sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\nimport type {\n ActionType,\n TableInstance,\n TableState,\n} from \"../../../react-table/react-table\";\nimport type { TableFilterValue } from \"../filters/index\";\n\nexport const onFilterHandler = <T extends Record<string, unknown>>(\n newState: TableState<T>,\n action: ActionType,\n previousState: TableState<T>,\n currentFilter: TableFilterValue<T>[],\n instance?: TableInstance<T>\n) => {\n const previousFilter = previousState.filters.find(\n (f) => f.id === action.columnId\n );\n\n if (previousFilter?.value != action.filterValue) {\n const filters = newState.filters.map((f) => {\n const column = instance?.allColumns.find((c) => c.id === f.id);\n return {\n id: f.id,\n value: f.value,\n fieldType: column?.fieldType ?? \"text\",\n filterType: column?.filter ?? \"text\",\n };\n }) as TableFilterValue<T>[];\n return filters;\n }\n return currentFilter;\n};\n"],"names":["onFilterHandler","newState","action","previousState","currentFilter","instance","previousFilter","filters","find","f","id","columnId","value","filterValue","map","column","allColumns","c","fieldType","_a","filterType","_b","filter"],"mappings":"AAWaA,IAAAA,EAAkB,SAC7BC,EACAC,EACAC,EACAC,EACAC,GAEA,IAAMC,EAAiBH,EAAcI,QAAQC,MAC3C,SAACC,GAAC,OAAKA,EAAEC,KAAOR,EAAOS,YAGzB,OAAIL,aAAA,EAAAA,EAAgBM,QAASV,EAAOW,YAClBZ,EAASM,QAAQO,KAAI,SAACL,WAC9BM,EAASV,eAAAA,EAAUW,WAAWR,MAAK,SAACS,GAAC,OAAKA,EAAEP,KAAOD,EAAEC,MAC3D,MAAO,CACLA,GAAID,EAAEC,GACNE,MAAOH,EAAEG,MACTM,UAA4B,QAAjBC,EAAAJ,eAAAA,EAAQG,iBAAS,IAAAC,EAAAA,EAAI,OAChCC,WAA0B,QAAdC,EAAAN,eAAAA,EAAQO,cAAM,IAAAD,EAAAA,EAAI,OAElC,IAGKjB,CACT"}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
var s=function(s){return Object.assign(Object.assign({},s),{isTableResizing:!0})},i=function(s,i){return Object.assign(Object.assign({},s),{isTableResizing:!1,columnResizing:Object.assign(Object.assign({},s.columnResizing),{columnWidths:Object.assign({},i.columnWidths)})})};export{i as onTableResizeEnd,s as onTableResizeStart};
|
2
|
+
//# sourceMappingURL=resizeHandler.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"resizeHandler.js","sources":["../../../../../../src/components/Table/actionHandlers/resizeHandler.ts"],"sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\nimport type { ActionType, TableState } from \"../../../react-table/react-table\";\n\nexport const onTableResizeStart = <T extends Record<string, unknown>>(\n state: TableState<T>\n) => {\n return { ...state, isTableResizing: true };\n};\nexport const onTableResizeEnd = <T extends Record<string, unknown>>(\n state: TableState<T>,\n action: ActionType\n) => {\n return {\n ...state,\n isTableResizing: false,\n columnResizing: {\n ...state.columnResizing,\n columnWidths: {\n ...action.columnWidths,\n },\n },\n };\n};\n"],"names":["onTableResizeStart","state","Object","assign","isTableResizing","onTableResizeEnd","action","columnResizing","columnWidths"],"mappings":"IAMaA,EAAqB,SAChCC,GAEA,OAAAC,OAAAC,OAAAD,OAAAC,OAAA,CAAA,EAAYF,GAAK,CAAEG,iBAAiB,GACtC,EACaC,EAAmB,SAC9BJ,EACAK,GAEA,OAAAJ,OAAAC,OAAAD,OAAAC,OAAA,CAAA,EACKF,GACH,CAAAG,iBAAiB,EACjBG,eAAcL,OAAAC,OAAAD,OAAAC,OAAA,GACTF,EAAMM,gBACT,CAAAC,8BACKF,EAAOE,iBAIlB"}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
import{defineProperty as n}from"../../../../_virtual/_rollupPluginBabelHelpers.js";var e=function(n,e,t,i){if(null==e?void 0:e.rows.length){var o={},l=function t(r){if(null==i?void 0:i(r.original))return!1;var l=!0;return r.initialSubRows.forEach((function(n){t(n)||(l=!1)})),(!e.selectSubRows&&n.selectedRowIds[r.id]||!r.initialSubRows.length&&n.selectedRowIds[r.id]||r.initialSubRows.length&&l)&&(o[r.id]=!0),!!o[r.id]};e.initialRows.forEach((function(n){return l(n)}));var s=r(o,e);n.selectedRowIds=o,null==t||t(s,n)}else null==t||t([],n)},t=function(n,t,i,o,r){e(n,i,o,r),n.lastSelectedRowId=t.id},i=function(t,i,o,r,l){var s=n({},i.id,!0);if(null==o?void 0:o.selectSubRows){!function n(e){s[e.id]=!0,e.subRows.forEach((function(e){return n(e)}))}(o.rowsById[i.id])}var u=Object.assign(Object.assign({},t),{lastSelectedRowId:i.id,selectedRowIds:s});return e(u,o,r,l),u},o=function(n,t,i,o,r){if(null==i)return n;var l=Math.max(0,i.flatRows.findIndex((function(e){return e.id===n.lastSelectedRowId}))),s=Math.max(0,i.flatRows.findIndex((function(n){return n.id===t.id})));if(l>s){var u=l;l=s,s=u}var d=null==n.lastSelectedRowId||!!n.selectedRowIds[n.lastSelectedRowId],a=t.ctrlPressed?Object.assign({},n.selectedRowIds):{};i.flatRows.slice(l,s+1).forEach((function(n){return a[n.id]=d}));!function n(e){a[e.id]=d,e.subRows.forEach((function(e){return n(e)}))}(i.flatRows[s]);var c=Object.assign(Object.assign({},n),{selectedRowIds:a});return e(c,i,o,r),c},r=function(n,e){var t=[],i=function e(i){n[i.id]&&t.push(i.original),i.initialSubRows.forEach((function(n){return e(n)}))};return null==e||e.initialRows.forEach((function(n){return i(n)})),t};export{o as onShiftSelectHandler,i as onSingleSelectHandler,t as onToggleHandler};
|
2
|
+
//# sourceMappingURL=selectHandler.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"selectHandler.js","sources":["../../../../../../src/components/Table/actionHandlers/selectHandler.ts"],"sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\nimport type {\n ActionType,\n Row,\n TableInstance,\n TableState,\n IdType,\n} from \"../../../react-table/react-table\";\n\n/**\n * Handles subrow selection and validation.\n * - Calls onSelect() with selected data\n * - Subrow selection: Selecting a row and calling this method automatically selects all the subrows that can be selected\n * - Validation: Ensures that any disabled/unselectable row/subrow is not selected\n */\nconst onSelectHandler = <T extends Record<string, unknown>>(\n newState: TableState<T>,\n instance?: TableInstance<T>,\n onSelect?: (\n selectedData: T[] | undefined,\n tableState?: TableState<T>\n ) => void,\n isRowDisabled?: (rowData: T) => boolean\n) => {\n if (!instance?.rows.length) {\n onSelect?.([], newState);\n return;\n }\n\n const newSelectedRowIds = {} as Record<IdType<T>, boolean>;\n\n const handleRow = (row: Row<T>) => {\n if (isRowDisabled?.(row.original)) {\n return false;\n }\n\n let isAllSubSelected = true;\n row.initialSubRows.forEach((subRow) => {\n const result = handleRow(subRow);\n if (!result) {\n isAllSubSelected = false;\n }\n });\n\n // If `selectSubRows` is false, then no need to select sub-rows and just check current selection state.\n // If a row doesn't have sub-rows then check its selection state.\n // If it has sub-rows then check whether all of them are selected.\n if (\n (!instance.selectSubRows && newState.selectedRowIds[row.id]) ||\n (!row.initialSubRows.length && newState.selectedRowIds[row.id]) ||\n (row.initialSubRows.length && isAllSubSelected)\n ) {\n newSelectedRowIds[row.id as IdType<T>] = true;\n }\n return !!newSelectedRowIds[row.id];\n };\n instance.initialRows.forEach((row) => handleRow(row));\n\n const selectedData = getSelectedData(newSelectedRowIds, instance);\n\n newState.selectedRowIds = newSelectedRowIds;\n onSelect?.(selectedData, newState);\n};\n\n/**\n * Handles selection when toggling a row (Ctrl click or checkbox click)\n */\nexport const onToggleHandler = <T extends Record<string, unknown>>(\n newState: TableState<T>,\n action: ActionType,\n instance?: TableInstance<T>,\n onSelect?: (\n selectedData: T[] | undefined,\n tableState?: TableState<T>\n ) => void,\n isRowDisabled?: (rowData: T) => boolean\n) => {\n onSelectHandler(newState, instance, onSelect, isRowDisabled);\n\n // Toggling a row (ctrl click or checkbox click) updates the lastSelectedRowId\n newState.lastSelectedRowId = action.id;\n};\n\n/**\n * Handles selection when clicked on a row.\n */\nexport const onSingleSelectHandler = <T extends Record<string, unknown>>(\n state: TableState<T>,\n action: ActionType,\n instance?: TableInstance<T>,\n onSelect?: (\n selectedData: T[] | undefined,\n tableState?: TableState<T>\n ) => void,\n isRowDisabled?: (rowData: T) => boolean\n) => {\n const selectedRowIds = { [action.id]: true } as Record<string, boolean>;\n if (instance?.selectSubRows) {\n const handleRow = (row: Row<T>) => {\n selectedRowIds[row.id] = true;\n row.subRows.forEach((r) => handleRow(r));\n };\n handleRow(instance.rowsById[action.id]);\n }\n\n const newState = {\n ...state,\n lastSelectedRowId: action.id,\n selectedRowIds,\n };\n // Passing to `onSelectHandler` to handle filtered sub-rows\n onSelectHandler(newState, instance, onSelect, isRowDisabled);\n\n return newState;\n};\n\n/**\n * Handles selection when clicked on a row while shift key is pressed.\n */\nexport const onShiftSelectHandler = <T extends Record<string, unknown>>(\n state: TableState<T>,\n action: ActionType,\n instance?: TableInstance<T>,\n onSelect?: (\n selectedData: T[] | undefined,\n tableState?: TableState<T>\n ) => void,\n isRowDisabled?: (rowData: T) => boolean\n) => {\n if (instance == null) {\n return state;\n }\n\n let startIndex = Math.max(\n 0,\n instance.flatRows.findIndex((row) => row.id === state.lastSelectedRowId)\n );\n let endIndex = Math.max(\n 0,\n instance.flatRows.findIndex((row) => row.id === action.id)\n );\n\n if (startIndex > endIndex) {\n const temp = startIndex;\n startIndex = endIndex;\n endIndex = temp;\n }\n\n const isLastSelectedRowIdSelected =\n state.lastSelectedRowId == null || // When no row is selected before shift click, start selecting from first row to clicked row\n !!state.selectedRowIds[state.lastSelectedRowId];\n\n // If ctrl + shift click, do not lose previous selection\n // If shift click, start new selection\n const selectedRowIds: Record<string, boolean> = !!action.ctrlPressed\n ? { ...state.selectedRowIds }\n : {};\n\n // 1. All rows between start and end are assigned the state of the last selected row\n instance.flatRows\n .slice(startIndex, endIndex + 1)\n .forEach((r) => (selectedRowIds[r.id] = isLastSelectedRowIdSelected));\n\n // 2. All children of the last row (endIndex) also are assigned the state of the last selected row\n // Since lastRow's children come after endIndex + 1 (not selected in step 1)\n const handleRow = (row: Row<T>) => {\n selectedRowIds[row.id] = isLastSelectedRowIdSelected;\n row.subRows.forEach((r) => handleRow(r));\n };\n handleRow(instance.flatRows[endIndex]);\n\n const newState = {\n ...state,\n selectedRowIds,\n };\n\n // 3.1 Deselect all selected disabled rows and their children\n // 3.2 Convert all partially selected rows marked with tick mark to horizontal line\n onSelectHandler(newState, instance, onSelect, isRowDisabled);\n\n return newState;\n};\n\nconst getSelectedData = <T extends Record<string, unknown>>(\n selectedRowIds: Record<string, boolean>,\n instance?: TableInstance<T>\n) => {\n const selectedData: T[] = [];\n const setSelectedData = (row: Row<T>) => {\n if (selectedRowIds[row.id]) {\n selectedData.push(row.original);\n }\n row.initialSubRows.forEach((subRow) => setSelectedData(subRow));\n };\n instance?.initialRows.forEach((row) => setSelectedData(row));\n\n return selectedData;\n};\n"],"names":["onSelectHandler","newState","instance","onSelect","isRowDisabled","rows","length","newSelectedRowIds","handleRow","row","original","isAllSubSelected","initialSubRows","forEach","subRow","selectSubRows","selectedRowIds","id","initialRows","selectedData","getSelectedData","onToggleHandler","action","lastSelectedRowId","onSingleSelectHandler","state","_defineProperty","subRows","r","rowsById","Object","assign","onShiftSelectHandler","startIndex","Math","max","flatRows","findIndex","endIndex","temp","isLastSelectedRowIdSelected","ctrlPressed","slice","setSelectedData","push"],"mappings":"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"}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import"react/jsx-runtime";import"../../IconButton/IconButton.js";import"../../Icon/Icons/components/MoveArrowRight.js";import"../../Icon/Icons/components/MoveArrowDown.js";import"
|
1
|
+
import{jsx as o}from"react/jsx-runtime";import i from"../../IconButton/IconButton.js";import n from"../../Icon/Icons/components/MoveArrowRight.js";import e from"../../Icon/Icons/components/MoveArrowDown.js";import{DefaultCell as t}from"../cells/DefaultCell.js";import"../../../../_virtual/_tslib.js";import"react";import"../new/utils/functions/colors.js";import"../new/utils/functions/polymorphic.js";import"../new/utils/functions/dev.js";import"../new/utils/hooks/useId.js";import"../new/utils/color/ColorValue.js";import"../new/utils/components/Box.js";var s="iui-table-expander",r=function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},l=r.subComponent,u=r.isDisabled;return{id:s,disableResizing:!0,disableGroupBy:!0,disableReordering:!0,minWidth:48,width:48,maxWidth:48,columnClassName:"iui-slot",cellClassName:"iui-slot",Cell:function(t){var s,r=t.row;return(null==l?void 0:l(r))?o(i,{className:"iui-table-row-expander",size:null===(s=null==i?void 0:i.sizes)||void 0===s?void 0:s.XXS,icon:r.isExpanded?e:n,onClick:function(o){o.stopPropagation(),r.toggleRowExpanded()},disabled:null==u?void 0:u(t.row.original),"aria-expanded":r.isExpanded}):null},cellRenderer:function(i){return o(t,Object.assign({},i,{isDisabled:function(o){return!!(null==u?void 0:u(o))}}))}}};export{s as EXPANDER_CELL_ID,r as ExpanderColumn};
|
2
2
|
//# sourceMappingURL=expanderColumn.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"expanderColumn.js","sources":["../../../../../../src/components/Table/columns/expanderColumn.tsx"],"sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\nimport * as React from \"react\";\nimport type {\n CellProps,\n CellRendererProps,\n Row,\n} from \"../../../react-table/react-table\";\nimport IconButton from \"../../IconButton/IconButton\";\nimport MoveArrowRight from \"../../Icon/Icons/components/MoveArrowRight\";\nimport MoveArrowDown from \"../../Icon/Icons/components/MoveArrowDown\";\nimport { DefaultCell } from \"../cells\";\n\nexport const EXPANDER_CELL_ID = \"iui-table-expander\";\n\n/**\n * Expander column that adds sub-content expander column to the Table.\n * It is recommended to use it as the first column or after selection column.\n * @example\n * const subComponent = useCallback(\n * (row: Row) => (\n * <div style={{ padding: 16 }}>\n * <Text variant='leading'>Extra information</Text>\n * <pre>\n * <code>{JSON.stringify({ values: row.values }, null, 2)}</code>\n * </pre>\n * </div>\n * ),\n * [],\n * );\n * const isExpanderDisabled = useCallback((rowData) => {\n * return rowData.name === 'Name2';\n * }, []);\n * const columns = useMemo(() => [\n * ExpanderColumn({ subComponent, isDisabled: isExpanderDisabled }),\n * // Rest of your columns\n * ], [isExpanderDisabled, subComponent]);\n */\nexport const ExpanderColumn = <T extends Record<string, unknown>>(\n props: {\n /** Function that returns expanded content. If row doesn't have it, then should return `false`/`null`. */\n subComponent?: (row: Row<T>) => React.ReactNode;\n /** Function that returns whether expander is disabled */\n isDisabled?: (rowData: T) => boolean;\n } = {}\n) => {\n const { subComponent, isDisabled } = props;\n return {\n id: EXPANDER_CELL_ID,\n disableResizing: true,\n disableGroupBy: true,\n disableReordering: true,\n minWidth: 48,\n width: 48,\n maxWidth: 48,\n columnClassName: \"iui-slot\",\n cellClassName: \"iui-slot\",\n Cell: (props: CellProps<T>) => {\n const { row } = props;\n if (!subComponent?.(row)) {\n return null;\n } else {\n return (\n <IconButton\n className=\"iui-table-row-expander\"\n // ariaLabel=\"Sort Ascending\"\n size={IconButton?.sizes?.XXS}\n icon={row.isExpanded ? MoveArrowDown : MoveArrowRight}\n onClick={(e) => {\n e.stopPropagation();\n row.toggleRowExpanded();\n }}\n disabled={isDisabled?.(props.row.original)}\n aria-expanded={row.isExpanded}\n />\n );\n }\n },\n cellRenderer: (props: CellRendererProps<T>) => (\n <DefaultCell\n {...props}\n isDisabled={(rowData) => !!isDisabled?.(rowData)}\n />\n ),\n };\n};\n"],"names":["EXPANDER_CELL_ID"],"mappings":"
|
1
|
+
{"version":3,"file":"expanderColumn.js","sources":["../../../../../../src/components/Table/columns/expanderColumn.tsx"],"sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\nimport * as React from \"react\";\nimport type {\n CellProps,\n CellRendererProps,\n Row,\n} from \"../../../react-table/react-table\";\nimport IconButton from \"../../IconButton/IconButton\";\nimport MoveArrowRight from \"../../Icon/Icons/components/MoveArrowRight\";\nimport MoveArrowDown from \"../../Icon/Icons/components/MoveArrowDown\";\nimport { DefaultCell } from \"../cells\";\n\nexport const EXPANDER_CELL_ID = \"iui-table-expander\";\n\n/**\n * Expander column that adds sub-content expander column to the Table.\n * It is recommended to use it as the first column or after selection column.\n * @example\n * const subComponent = useCallback(\n * (row: Row) => (\n * <div style={{ padding: 16 }}>\n * <Text variant='leading'>Extra information</Text>\n * <pre>\n * <code>{JSON.stringify({ values: row.values }, null, 2)}</code>\n * </pre>\n * </div>\n * ),\n * [],\n * );\n * const isExpanderDisabled = useCallback((rowData) => {\n * return rowData.name === 'Name2';\n * }, []);\n * const columns = useMemo(() => [\n * ExpanderColumn({ subComponent, isDisabled: isExpanderDisabled }),\n * // Rest of your columns\n * ], [isExpanderDisabled, subComponent]);\n */\nexport const ExpanderColumn = <T extends Record<string, unknown>>(\n props: {\n /** Function that returns expanded content. If row doesn't have it, then should return `false`/`null`. */\n subComponent?: (row: Row<T>) => React.ReactNode;\n /** Function that returns whether expander is disabled */\n isDisabled?: (rowData: T) => boolean;\n } = {}\n) => {\n const { subComponent, isDisabled } = props;\n return {\n id: EXPANDER_CELL_ID,\n disableResizing: true,\n disableGroupBy: true,\n disableReordering: true,\n minWidth: 48,\n width: 48,\n maxWidth: 48,\n columnClassName: \"iui-slot\",\n cellClassName: \"iui-slot\",\n Cell: (props: CellProps<T>) => {\n const { row } = props;\n if (!subComponent?.(row)) {\n return null;\n } else {\n return (\n <IconButton\n className=\"iui-table-row-expander\"\n // ariaLabel=\"Sort Ascending\"\n size={IconButton?.sizes?.XXS}\n icon={row.isExpanded ? MoveArrowDown : MoveArrowRight}\n onClick={(e) => {\n e.stopPropagation();\n row.toggleRowExpanded();\n }}\n disabled={isDisabled?.(props.row.original)}\n aria-expanded={row.isExpanded}\n />\n );\n }\n },\n cellRenderer: (props: CellRendererProps<T>) => (\n <DefaultCell\n {...props}\n isDisabled={(rowData) => !!isDisabled?.(rowData)}\n />\n ),\n };\n};\n"],"names":["EXPANDER_CELL_ID","ExpanderColumn","props","arguments","length","undefined","subComponent","isDisabled","id","disableResizing","disableGroupBy","disableReordering","minWidth","width","maxWidth","columnClassName","cellClassName","Cell","row","_jsx","IconButton","className","size","_a","sizes","XXS","icon","isExpanded","MoveArrowDown","MoveArrowRight","onClick","e","stopPropagation","toggleRowExpanded","disabled","original","cellRenderer","DefaultCell","Object","assign","rowData"],"mappings":"2iBAeO,IAAMA,EAAmB,qBAyBnBC,EAAiB,WAO1B,IANFC,EAKIC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAA,CAAA,EAEIG,EAA6BJ,EAA7BI,aAAcC,EAAeL,EAAfK,WACtB,MAAO,CACLC,GAAIR,EACJS,iBAAiB,EACjBC,gBAAgB,EAChBC,mBAAmB,EACnBC,SAAU,GACVC,MAAO,GACPC,SAAU,GACVC,gBAAiB,WACjBC,cAAe,WACfC,KAAM,SAACf,SACGgB,EAAQhB,EAARgB,IACR,OAAKZ,aAAA,EAAAA,EAAeY,IAIhBC,EAACC,EACC,CAAAC,UAAU,yBAEVC,KAAuB,QAAjBC,EAAAH,aAAU,EAAVA,EAAYI,aAAK,IAAAD,OAAA,EAAAA,EAAEE,IACzBC,KAAMR,EAAIS,WAAaC,EAAgBC,EACvCC,QAAS,SAACC,GACRA,EAAEC,kBACFd,EAAIe,mBACL,EACDC,SAAU3B,aAAU,EAAVA,EAAaL,EAAMgB,IAAIiB,UAAS,gBAC3BjB,EAAIS,aAbhB,IAiBV,EACDS,aAAc,SAAClC,GAA2B,OACxCiB,EAACkB,EACKC,OAAAC,OAAA,CAAA,EAAArC,EACJ,CAAAK,WAAY,SAACiC,GAAO,SAAOjC,aAAA,EAAAA,EAAaiC,GAAQ,IAChD,EAGR"}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import"react/jsx-runtime";import"
|
1
|
+
import{jsx as e}from"react/jsx-runtime";import t from"../../Checkbox/Checkbox.js";import{DefaultCell as i}from"../cells/DefaultCell.js";import"../../../../_virtual/_tslib.js";import"react";import"../new/utils/functions/colors.js";import"../new/utils/functions/polymorphic.js";import"../new/utils/functions/dev.js";import"../new/utils/hooks/useId.js";import"../new/utils/color/ColorValue.js";import"../new/utils/components/Box.js";var o="iui-table-checkbox-selector",n=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},l=n.isDisabled,r=n.density,s="condensed"===r?42:"extra-condensed"===r?34:48;return{id:o,disableResizing:!0,disableGroupBy:!0,disableReordering:!0,minWidth:s,width:s,maxWidth:s,columnClassName:"iui-slot",cellClassName:"iui-slot",Header:function(i){var o=i.getToggleAllRowsSelectedProps,n=i.toggleAllRowsSelected,r=i.rows,s=i.preFilteredFlatRows,c=i.state,d=s.every((function(e){return null==l?void 0:l(e.original)})),u=s.every((function(e){return c.selectedRowIds[e.id]||(null==l?void 0:l(e.original))})),a=!u&&Object.keys(c.selectedRowIds).length>0;return e(t,Object.assign({},o(),{checked:u&&!d,indeterminate:a,disabled:d,onChange:function(){return n(!r.some((function(e){return e.isSelected})))}}))},Cell:function(i){var o=i.row;return e(t,{checked:o.isSelected,disabled:null==l?void 0:l(o.original),onChange:function(e){e.stopPropagation(),o.toggleRowSelected()}})},cellRenderer:function(t){return e(i,Object.assign({},t,{isDisabled:function(e){return!!(null==l?void 0:l(e))}}))}}};export{o as SELECTION_CELL_ID,n as SelectionColumn};
|
2
2
|
//# sourceMappingURL=selectionColumn.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"selectionColumn.js","sources":["../../../../../../src/components/Table/columns/selectionColumn.tsx"],"sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\nimport * as React from \"react\";\nimport type {\n CellProps,\n CellRendererProps,\n HeaderProps,\n} from \"../../../react-table/react-table\";\nimport Checkbox from \"../../Checkbox/Checkbox\";\nimport { DefaultCell } from \"../cells\";\n\nexport const SELECTION_CELL_ID = \"iui-table-checkbox-selector\";\n\n/**\n * Selection column that adds selection checkbox column to the Table.\n * It is recommended to use it as the first column.\n * @example\n * const isCheckboxDisabled = useCallback((rowData) => {\n * return rowData.name === 'Name1';\n * }, []);\n * const columns = useMemo(() => [\n * SelectionColumn({ isDisabled: isCheckboxDisabled }),\n * // Rest of your columns\n * ], [isCheckboxDisabled]);\n */\nexport const SelectionColumn = <T extends Record<string, unknown>>(\n props: {\n /** Function that returns whether row checkbox should be disabled. */\n isDisabled?: (rowData: T) => boolean;\n density?: \"default\" | \"condensed\" | \"extra-condensed\";\n } = {}\n) => {\n const { isDisabled, density } = props;\n const densityWidth =\n density === \"condensed\" ? 42 : density === \"extra-condensed\" ? 34 : 48;\n return {\n id: SELECTION_CELL_ID,\n disableResizing: true,\n disableGroupBy: true,\n disableReordering: true,\n minWidth: densityWidth,\n width: densityWidth,\n maxWidth: densityWidth,\n columnClassName: \"iui-slot\",\n cellClassName: \"iui-slot\",\n Header: ({\n getToggleAllRowsSelectedProps,\n toggleAllRowsSelected,\n rows,\n preFilteredFlatRows,\n state,\n }: HeaderProps<T>) => {\n const disabled = preFilteredFlatRows.every((row) =>\n isDisabled?.(row.original)\n );\n const checked = preFilteredFlatRows.every(\n (row) => state.selectedRowIds[row.id] || isDisabled?.(row.original)\n );\n const indeterminate =\n !checked && Object.keys(state.selectedRowIds).length > 0;\n return (\n <Checkbox\n {...getToggleAllRowsSelectedProps()}\n checked={checked && !disabled}\n indeterminate={indeterminate}\n disabled={disabled}\n onChange={() =>\n toggleAllRowsSelected(!rows.some((row) => row.isSelected))\n }\n />\n );\n },\n Cell: ({ row }: CellProps<T>) => (\n <Checkbox\n checked={row.isSelected}\n disabled={isDisabled?.(row.original)}\n onChange={(e) => {\n e.stopPropagation(); // Prevents triggering on row click\n row.toggleRowSelected(); // Toggles this row's selected state\n }}\n />\n ),\n cellRenderer: (props: CellRendererProps<T>) => (\n <DefaultCell\n {...props}\n isDisabled={(rowData) => !!isDisabled?.(rowData)}\n />\n ),\n };\n};\n"],"names":["SELECTION_CELL_ID"],"mappings":"
|
1
|
+
{"version":3,"file":"selectionColumn.js","sources":["../../../../../../src/components/Table/columns/selectionColumn.tsx"],"sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\nimport * as React from \"react\";\nimport type {\n CellProps,\n CellRendererProps,\n HeaderProps,\n} from \"../../../react-table/react-table\";\nimport Checkbox from \"../../Checkbox/Checkbox\";\nimport { DefaultCell } from \"../cells\";\n\nexport const SELECTION_CELL_ID = \"iui-table-checkbox-selector\";\n\n/**\n * Selection column that adds selection checkbox column to the Table.\n * It is recommended to use it as the first column.\n * @example\n * const isCheckboxDisabled = useCallback((rowData) => {\n * return rowData.name === 'Name1';\n * }, []);\n * const columns = useMemo(() => [\n * SelectionColumn({ isDisabled: isCheckboxDisabled }),\n * // Rest of your columns\n * ], [isCheckboxDisabled]);\n */\nexport const SelectionColumn = <T extends Record<string, unknown>>(\n props: {\n /** Function that returns whether row checkbox should be disabled. */\n isDisabled?: (rowData: T) => boolean;\n density?: \"default\" | \"condensed\" | \"extra-condensed\";\n } = {}\n) => {\n const { isDisabled, density } = props;\n const densityWidth =\n density === \"condensed\" ? 42 : density === \"extra-condensed\" ? 34 : 48;\n return {\n id: SELECTION_CELL_ID,\n disableResizing: true,\n disableGroupBy: true,\n disableReordering: true,\n minWidth: densityWidth,\n width: densityWidth,\n maxWidth: densityWidth,\n columnClassName: \"iui-slot\",\n cellClassName: \"iui-slot\",\n Header: ({\n getToggleAllRowsSelectedProps,\n toggleAllRowsSelected,\n rows,\n preFilteredFlatRows,\n state,\n }: HeaderProps<T>) => {\n const disabled = preFilteredFlatRows.every((row) =>\n isDisabled?.(row.original)\n );\n const checked = preFilteredFlatRows.every(\n (row) => state.selectedRowIds[row.id] || isDisabled?.(row.original)\n );\n const indeterminate =\n !checked && Object.keys(state.selectedRowIds).length > 0;\n return (\n <Checkbox\n {...getToggleAllRowsSelectedProps()}\n checked={checked && !disabled}\n indeterminate={indeterminate}\n disabled={disabled}\n onChange={() =>\n toggleAllRowsSelected(!rows.some((row) => row.isSelected))\n }\n />\n );\n },\n Cell: ({ row }: CellProps<T>) => (\n <Checkbox\n checked={row.isSelected}\n disabled={isDisabled?.(row.original)}\n onChange={(e) => {\n e.stopPropagation(); // Prevents triggering on row click\n row.toggleRowSelected(); // Toggles this row's selected state\n }}\n />\n ),\n cellRenderer: (props: CellRendererProps<T>) => (\n <DefaultCell\n {...props}\n isDisabled={(rowData) => !!isDisabled?.(rowData)}\n />\n ),\n };\n};\n"],"names":["SELECTION_CELL_ID","SelectionColumn","props","arguments","length","undefined","isDisabled","density","densityWidth","id","disableResizing","disableGroupBy","disableReordering","minWidth","width","maxWidth","columnClassName","cellClassName","Header","_ref","getToggleAllRowsSelectedProps","toggleAllRowsSelected","rows","preFilteredFlatRows","state","disabled","every","row","original","checked","selectedRowIds","indeterminate","Object","keys","_jsx","Checkbox","assign","onChange","some","isSelected","Cell","_ref2","e","stopPropagation","toggleRowSelected","cellRenderer","DefaultCell","rowData"],"mappings":"8aAaO,IAAMA,EAAoB,8BAcpBC,EAAkB,WAM3B,IALFC,EAIIC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAA,CAAA,EAEIG,EAAwBJ,EAAxBI,WAAYC,EAAYL,EAAZK,QACdC,EACQ,cAAZD,EAA0B,GAAiB,oBAAZA,EAAgC,GAAK,GACtE,MAAO,CACLE,GAAIT,EACJU,iBAAiB,EACjBC,gBAAgB,EAChBC,mBAAmB,EACnBC,SAAUL,EACVM,MAAON,EACPO,SAAUP,EACVQ,gBAAiB,WACjBC,cAAe,WACfC,OAAQ,SAAAC,GAMa,IALnBC,EAA6BD,EAA7BC,8BACAC,EAAqBF,EAArBE,sBACAC,EAAIH,EAAJG,KACAC,EAAmBJ,EAAnBI,oBACAC,EAAKL,EAALK,MAEMC,EAAWF,EAAoBG,OAAM,SAACC,GAAG,OAC7CrB,eAAAA,EAAaqB,EAAIC,aAEbC,EAAUN,EAAoBG,OAClC,SAACC,GAAG,OAAKH,EAAMM,eAAeH,EAAIlB,MAAOH,aAAA,EAAAA,EAAaqB,EAAIC,cAEtDG,GACHF,GAAWG,OAAOC,KAAKT,EAAMM,gBAAgB1B,OAAS,EACzD,OACE8B,EAACC,EAAQH,OAAAI,OAAA,CAAA,EACHhB,IAA+B,CACnCS,QAASA,IAAYJ,EACrBM,cAAeA,EACfN,SAAUA,EACVY,SAAU,WAAA,OACRhB,GAAuBC,EAAKgB,MAAK,SAACX,GAAG,OAAKA,EAAIY,UAAU,IAAE,IAIjE,EACDC,KAAM,SAAAC,GAAA,IAAGd,EAAGc,EAAHd,IAAG,OACVO,EAACC,EACC,CAAAN,QAASF,EAAIY,WACbd,SAAUnB,aAAA,EAAAA,EAAaqB,EAAIC,UAC3BS,SAAU,SAACK,GACTA,EAAEC,kBACFhB,EAAIiB,mBACN,GAEH,EACDC,aAAc,SAAC3C,GAA2B,OACxCgC,EAACY,EACKd,OAAAI,OAAA,CAAA,EAAAlC,EACJ,CAAAI,WAAY,SAACyC,GAAO,SAAOzC,aAAA,EAAAA,EAAayC,GAAQ,IAChD,EAGR"}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
import{slicedToArray as o}from"../../../../_virtual/_rollupPluginBabelHelpers.js";import{__rest as t}from"../../../../_virtual/_tslib.js";import{jsx as r,Fragment as e}from"react/jsx-runtime";import*as i from"react";import"../new/utils/functions/colors.js";import"../new/utils/functions/polymorphic.js";import"../new/utils/functions/dev.js";import{useGlobals as s}from"../new/utils/hooks/useGlobals.js";import"../new/utils/hooks/useId.js";import"../new/utils/color/ColorValue.js";import l from"../../IconButton/IconButton.js";import{Popover as n}from"../new/Popover/Popover.js";import c from"../../Icon/Icons/components/Filter.js";var a=function(a){var u=a.column,m=t(a,["column","className"]);s();var p=i.useState(!1),f=o(p,2),j=f[0],b=f[1],v=i.useCallback((function(){return b(!1)}),[]),d=i.useCallback((function(o){u.setFilter(o),v()}),[v,u]),F=i.useCallback((function(){u.setFilter(void 0),v()}),[v,u]);return r(e,{children:u.canFilter&&u.Filter&&r(n,Object.assign({content:u.render("Filter",{close:v,setFilter:d,clearFilter:F}),placement:"bottom-start",visible:j,onVisibleChange:b,closeOnOutsideClick:!0,applyBackground:!0},{children:r(l,Object.assign({"aria-label":"Filter",onClick:function(o){o.stopPropagation()}},m,{icon:c,size:"small"}))}))})};export{a as FilterToggle};
|
2
|
+
//# sourceMappingURL=FilterToggle.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"FilterToggle.js","sources":["../../../../../../src/components/Table/filters/FilterToggle.tsx"],"sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\nimport * as React from \"react\";\nimport cx from \"classnames\";\nimport type { HeaderGroup } from \"../../../react-table/react-table\";\nimport { useGlobals } from \"../new/utils/index\";\nimport type { CommonProps } from \"../new/utils/index\";\nimport IconButton from \"../../IconButton/IconButton\";\nimport { Popover } from \"../new/Popover/Popover\";\nimport Filter from \"../../Icon/Icons/components/Filter\";\n\nexport type FilterToggleProps<T extends Record<string, unknown>> = {\n column: HeaderGroup<T>;\n} & CommonProps;\n\n/**\n * Handles showing filter icon and opening filter component.\n */\nexport const FilterToggle = <T extends Record<string, unknown>>(\n props: FilterToggleProps<T>\n) => {\n const { column, className, ...rest } = props;\n\n useGlobals();\n\n const [isVisible, setIsVisible] = React.useState(false);\n const close = React.useCallback(() => setIsVisible(false), []);\n\n const setFilter = React.useCallback(\n (filterValue: unknown | undefined) => {\n column.setFilter(filterValue);\n close();\n },\n [close, column]\n );\n\n const clearFilter = React.useCallback(() => {\n column.setFilter(undefined);\n close();\n }, [close, column]);\n\n const isColumnFiltered =\n column.filterValue != null && column.filterValue !== \"\";\n\n return (\n <>\n {column.canFilter && column.Filter && (\n // \"POPOVER\"\n <Popover\n content={column.render(\"Filter\", { close, setFilter, clearFilter })}\n placement=\"bottom-start\"\n visible={isVisible}\n onVisibleChange={setIsVisible}\n closeOnOutsideClick\n applyBackground\n >\n <IconButton\n aria-label=\"Filter\"\n onClick={(e) => {\n e.stopPropagation();\n }}\n {...rest}\n icon={Filter}\n size=\"small\"\n />\n </Popover>\n )}\n </>\n );\n};\n"],"names":["FilterToggle","props","column","rest","__rest","useGlobals","_React$useState","React","useState","_React$useState2","_slicedToArray","isVisible","setIsVisible","close","useCallback","setFilter","filterValue","clearFilter","undefined","_jsx","canFilter","Filter","Popover","content","render","placement","visible","onVisibleChange","closeOnOutsideClick","applyBackground","IconButton","onClick","e","stopPropagation","icon","size"],"mappings":"2nBAoBaA,EAAe,SAC1BC,GAEA,IAAQC,EAA+BD,EAA/BC,OAAsBC,EAASC,EAAAH,EAAjC,CAAA,SAAA,cAENI,IAEA,IAAAC,EAAkCC,EAAMC,UAAS,GAAMC,EAAAC,EAAAJ,EAAA,GAAhDK,EAASF,EAAA,GAAEG,EAAYH,EAAA,GACxBI,EAAQN,EAAMO,aAAY,WAAA,OAAMF,GAAa,EAAM,GAAE,IAErDG,EAAYR,EAAMO,aACtB,SAACE,GACCd,EAAOa,UAAUC,GACjBH,GACF,GACA,CAACA,EAAOX,IAGJe,EAAcV,EAAMO,aAAY,WACpCZ,EAAOa,eAAUG,GACjBL,GACF,GAAG,CAACA,EAAOX,IAKX,OACEiB,cACGjB,EAAOkB,WAAalB,EAAOmB,QAE1BF,EAACG,iBACCC,QAASrB,EAAOsB,OAAO,SAAU,CAAEX,MAAAA,EAAOE,UAAAA,EAAWE,YAAAA,IACrDQ,UAAU,eACVC,QAASf,EACTgB,gBAAiBf,EACjBgB,qBACA,EAAAC,8BAEAV,EAACW,8BACY,SACXC,QAAS,SAACC,GACRA,EAAEC,iBACJ,GACI9B,EACJ,CAAA+B,KAAMb,EACNc,KAAK,eAMjB"}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
import{slicedToArray as e}from"../../../../_virtual/_rollupPluginBabelHelpers.js";var r=function(e){return!!e&&!isNaN(e.valueOf())},u=function(u,a,n){var t=e(n||[],2),l=t[0],o=t[1],f=864e13,v=r(l)?l:new Date(-f),i=r(o)?o:new Date(f);return u.filter((function(e){return a.some((function(r){var u=e.values[r];return u.valueOf()>=v.valueOf()&&i.valueOf()>=u.valueOf()}))}))};u.autoRemove=function(e){return!e||!r(e[0])&&!r(e[1])};var a={betweenDate:u};export{a as customFilterFunctions};
|
2
|
+
//# sourceMappingURL=customFilterFunctions.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"customFilterFunctions.js","sources":["../../../../../../src/components/Table/filters/customFilterFunctions.ts"],"sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\nimport type { IdType, Row } from \"../../../react-table/react-table\";\n\nconst isValidDate = (date: Date | undefined) =>\n !!date && !isNaN(date.valueOf());\n\n/**\n * Filters dates.\n * @param rows Table rows\n * @param ids Property names of data object to use for filtering\n * @param filterValue Filter value\n * @returns Filtered rows\n */\nconst betweenDate = <T extends Record<string, unknown>>(\n rows: Row<T>[],\n ids: IdType<T>[],\n filterValue: [Date?, Date?] | undefined\n) => {\n const [min, max] = filterValue || [];\n\n const MAX_DATE_VALUE = 8640000000000000;\n const minValue = (isValidDate(min) ? min : new Date(-MAX_DATE_VALUE)) as Date;\n const maxValue = (isValidDate(max) ? max : new Date(MAX_DATE_VALUE)) as Date;\n\n return rows.filter((row) => {\n return ids.some((id) => {\n const rowValue = row.values[id] as Date;\n return (\n rowValue.valueOf() >= minValue.valueOf() &&\n rowValue.valueOf() <= maxValue.valueOf()\n );\n });\n });\n};\n\n/**\n * Filter is not being set if filter value is invalid.\n */\nbetweenDate.autoRemove = (val: [Date?, Date?] | undefined) => {\n return !val || (!isValidDate(val[0]) && !isValidDate(val[1]));\n};\n\nexport const customFilterFunctions = {\n betweenDate,\n};\n"],"names":["isValidDate","date","isNaN","valueOf","betweenDate","rows","ids","filterValue","_ref2","_slicedToArray","min","max","MAX_DATE_VALUE","minValue","Date","maxValue","filter","row","some","id","rowValue","values","autoRemove","val","customFilterFunctions"],"mappings":"kFAMA,IAAMA,EAAc,SAACC,GAAsB,QACvCA,IAASC,MAAMD,EAAKE,UAAU,EAS5BC,EAAc,SAClBC,EACAC,EACAC,GAEA,IAAoCC,EAAAC,EAAjBF,GAAe,GAAE,GAA7BG,EAAGF,EAAA,GAAEG,EAAGH,EAAA,GAETI,EAAiB,OACjBC,EAAYb,EAAYU,GAAOA,EAAM,IAAII,MAAMF,GAC/CG,EAAYf,EAAYW,GAAOA,EAAM,IAAIG,KAAKF,GAEpD,OAAOP,EAAKW,QAAO,SAACC,GAClB,OAAOX,EAAIY,MAAK,SAACC,GACf,IAAMC,EAAWH,EAAII,OAAOF,GAC5B,OACEC,EAASjB,WAAaU,EAASV,WACTY,EAASZ,WAA/BiB,EAASjB,SAEb,GACF,GACF,EAKAC,EAAYkB,WAAa,SAACC,GACxB,OAAQA,IAASvB,EAAYuB,EAAI,MAAQvB,EAAYuB,EAAI,GAC3D,EAEO,IAAMC,EAAwB,CACnCpB,YAAAA"}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
import{slicedToArray as e}from"../../../../_virtual/_rollupPluginBabelHelpers.js";var n=function(e,n,r){return e=e.filter((function(e){return n.some((function(n){return(e.values[n]+"").toLowerCase().includes((r+"").toLowerCase())}))}))};n.autoRemove=function(e){return!e};var r=function(e,n,r){return e.filter((function(e){return n.some((function(n){var t=e.values[n];return void 0===t||(t+"").toLowerCase()===(r+"").toLowerCase()}))}))};r.autoRemove=function(e){return!e};var t=function(e,n,r){return e.filter((function(e){return n.some((function(n){var t=e.values[n];return void 0===t||t+""==r+""}))}))};t.autoRemove=function(e){return!e};var u=function(e,n,r){return e.filter((function(e){return n.some((function(n){return e.values[n].includes(r)}))}))};u.autoRemove=function(e){return!e||!e.length};var o=function(e,n,r){return e.filter((function(e){return n.some((function(n){var t=e.values[n];return t&&t.length&&r.every((function(e){return t.includes(e)}))}))}))};o.autoRemove=function(e){return!e||!e.length};var i=function(e,n,r){return e.filter((function(e){return n.some((function(n){var t=e.values[n];return t&&t.length&&r.some((function(e){return t.includes(e)}))}))}))};i.autoRemove=function(e){return!e||!e.length};var f=function(e,n,r){return e.filter((function(e){return n.some((function(n){return r.includes(e.values[n])}))}))};f.autoRemove=function(e){return!e||!e.length};var c=function(n,r,t){var u=e(t||[],2),o=u[0],i=u[1];if((o="number"==typeof o?o:-1/0)>(i="number"==typeof i?i:1/0)){var f=o;o=i,i=f}return n.filter((function(e){return r.some((function(n){var r=e.values[n];return r>=o&&i>=r}))}))};c.autoRemove=function(e){return!e||"number"!=typeof e[0]&&"number"!=typeof e[1]};var a={text:n,exactText:r,exactTextCase:t,includes:u,includesAll:o,includesSome:i,includesValue:f,between:c};export{a as defaultFilterFunctions};
|
2
|
+
//# sourceMappingURL=defaultFilterFunctions.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"defaultFilterFunctions.js","sources":["../../../../../../src/components/Table/filters/defaultFilterFunctions.ts"],"sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/**\n * Copied from react-table as these default filter functions are not properly exposed\n * and we need them in sub-rows filtering. */\n/**\n * MIT License\n *\n * Copyright (c) 2016 Tanner Linsley\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport type { IdType, Row } from \"../../../react-table/react-table\";\n\nconst text = <T extends Record<string, unknown>>(\n rows: Row<T>[],\n ids: IdType<T>[],\n filterValue: string\n) => {\n rows = rows.filter((row) => {\n return ids.some((id) => {\n const rowValue = row.values[id];\n return String(rowValue)\n .toLowerCase()\n .includes(String(filterValue).toLowerCase());\n });\n });\n return rows;\n};\n\ntext.autoRemove = (val: string) => !val;\n\nconst exactText = <T extends Record<string, unknown>>(\n rows: Row<T>[],\n ids: IdType<T>[],\n filterValue: string\n) => {\n return rows.filter((row) => {\n return ids.some((id) => {\n const rowValue = row.values[id];\n return rowValue !== undefined\n ? String(rowValue).toLowerCase() === String(filterValue).toLowerCase()\n : true;\n });\n });\n};\n\nexactText.autoRemove = (val: string) => !val;\n\nconst exactTextCase = <T extends Record<string, unknown>>(\n rows: Row<T>[],\n ids: IdType<T>[],\n filterValue: string\n) => {\n return rows.filter((row) => {\n return ids.some((id) => {\n const rowValue = row.values[id];\n return rowValue !== undefined\n ? String(rowValue) === String(filterValue)\n : true;\n });\n });\n};\n\nexactTextCase.autoRemove = (val: string) => !val;\n\nconst includes = <T extends Record<string, unknown>>(\n rows: Row<T>[],\n ids: IdType<T>[],\n filterValue: unknown[]\n) => {\n return rows.filter((row) => {\n return ids.some((id) => {\n const rowValue = row.values[id];\n return rowValue.includes(filterValue);\n });\n });\n};\n\nincludes.autoRemove = (val: unknown[]) => !val || !val.length;\n\nconst includesAll = <T extends Record<string, unknown>>(\n rows: Row<T>[],\n ids: IdType<T>[],\n filterValue: unknown[]\n) => {\n return rows.filter((row) => {\n return ids.some((id) => {\n const rowValue = row.values[id];\n return (\n rowValue &&\n rowValue.length &&\n filterValue.every((val) => rowValue.includes(val))\n );\n });\n });\n};\n\nincludesAll.autoRemove = (val: unknown[]) => !val || !val.length;\n\nconst includesSome = <T extends Record<string, unknown>>(\n rows: Row<T>[],\n ids: IdType<T>[],\n filterValue: unknown[]\n) => {\n return rows.filter((row) => {\n return ids.some((id) => {\n const rowValue = row.values[id];\n return (\n rowValue &&\n rowValue.length &&\n filterValue.some((val) => rowValue.includes(val))\n );\n });\n });\n};\n\nincludesSome.autoRemove = (val: unknown[]) => !val || !val.length;\n\nconst includesValue = <T extends Record<string, unknown>>(\n rows: Row<T>[],\n ids: IdType<T>[],\n filterValue: unknown[]\n) => {\n return rows.filter((row) => {\n return ids.some((id) => {\n const rowValue = row.values[id];\n return filterValue.includes(rowValue);\n });\n });\n};\n\nincludesValue.autoRemove = (val: unknown[]) => !val || !val.length;\n\nconst exact = <T extends Record<string, unknown>>(\n rows: Row<T>[],\n ids: IdType<T>[],\n filterValue: unknown\n) => {\n return rows.filter((row) => {\n return ids.some((id) => {\n const rowValue = row.values[id];\n return rowValue === filterValue;\n });\n });\n};\n\nexact.autoRemove = (val: unknown) => typeof val === \"undefined\";\n\nconst equals = <T extends Record<string, unknown>>(\n rows: Row<T>[],\n ids: IdType<T>[],\n filterValue: unknown\n) => {\n return rows.filter((row) => {\n return ids.some((id) => {\n const rowValue = row.values[id];\n // eslint-disable-next-line eqeqeq\n return rowValue == filterValue;\n });\n });\n};\n\nequals.autoRemove = (val: unknown) => val == null;\n\nconst between = <T extends Record<string, unknown>>(\n rows: Row<T>[],\n ids: IdType<T>[],\n filterValue: [number, number]\n) => {\n let [min, max] = filterValue || [];\n\n min = typeof min === \"number\" ? min : -Infinity;\n max = typeof max === \"number\" ? max : Infinity;\n\n if (min > max) {\n const temp = min;\n min = max;\n max = temp;\n }\n\n return rows.filter((row) => {\n return ids.some((id) => {\n const rowValue = row.values[id];\n return rowValue >= min && rowValue <= max;\n });\n });\n};\n\nbetween.autoRemove = (val: [number, number]) =>\n !val || (typeof val[0] !== \"number\" && typeof val[1] !== \"number\");\n\nexport const defaultFilterFunctions = {\n text,\n exactText,\n exactTextCase,\n includes,\n includesAll,\n includesSome,\n includesValue,\n between,\n};\n"],"names":["text","rows","ids","filterValue","filter","row","some","id","values","String","toLowerCase","includes","autoRemove","val","exactText","rowValue","undefined","exactTextCase","length","includesAll","every","includesSome","includesValue","between","_ref2","_slicedToArray","min","max","Infinity","temp","defaultFilterFunctions"],"mappings":"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"}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
import{toConsumableArray as e,slicedToArray as n}from"../../../../_virtual/_rollupPluginBabelHelpers.js";import{actions as r,useGetLatest as t,makePropGetter as a}from"react-table";var o="columnDragStart",u="columnDragEnd",s=function(e){return function(n){n.getDragAndDropProps=[c(e)],n.stateReducers.push(i),n.useInstance.push(d)}},c=function(r){return function(t,a){var s=a.instance,c=a.header;if(!r||c.disableReordering)return t;return[t,{draggable:!0,onDragStart:function(){s.dispatch({type:o,columnIndex:s.flatHeaders.indexOf(c)})},onDragOver:function(e){e.preventDefault();s.flatHeaders.indexOf(c)},onDragLeave:function(e){},onDrop:function(r){r.preventDefault();var t=s.allColumns.map((function(e){return e.id})),a=s.state.columnReorderStartIndex,o=t.findIndex((function(e){return e===c.id}));a!==o&&-1!==a&&-1!==o&&(s.setColumnOrder(function(r,t,a){var o=e(r),u=o.splice(t,1),s=n(u,1);return o.splice(a,0,s[0]),o}(t,a,o)),s.dispatch({type:u,columnIndex:-1}))}}]}},i=function(e,n){switch(n.type){case r.init:return Object.assign(Object.assign({},e),{columnReorderStartIndex:-1});case o:return Object.assign(Object.assign({},e),{columnReorderStartIndex:n.columnIndex});case u:return Object.assign(Object.assign({},e),{columnReorderStartIndex:-1});default:return e}},d=function(e){var n=e.flatHeaders,r=e.getHooks,o=t(e);n.forEach((function(e){e.getDragAndDropProps=a(r().getDragAndDropProps,{instance:o(),header:e})}))};export{s as useColumnDragAndDrop};
|
2
|
+
//# sourceMappingURL=useColumnDragAndDrop.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"useColumnDragAndDrop.js","sources":["../../../../../../src/components/Table/hooks/useColumnDragAndDrop.tsx"],"sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\nimport type * as React from \"react\";\nimport { actions, makePropGetter, useGetLatest } from \"react-table\";\nimport type {\n ActionType,\n HeaderGroup,\n Hooks,\n IdType,\n TableInstance,\n TableKeyedProps,\n TableState,\n} from \"../../../react-table/react-table\";\n// import styles from \"../../../newStyles/styles\";\n\nconst REORDER_ACTIONS = {\n columnDragStart: \"columnDragStart\",\n columnDragEnd: \"columnDragEnd\",\n};\n\nexport const useColumnDragAndDrop =\n <T extends Record<string, unknown>>(isEnabled: boolean) =>\n (hooks: Hooks<T>) => {\n hooks.getDragAndDropProps = [defaultGetDragAndDropProps(isEnabled)];\n hooks.stateReducers.push(reducer);\n hooks.useInstance.push(useInstance);\n };\n\nconst defaultGetDragAndDropProps =\n <T extends Record<string, unknown>>(isEnabled: boolean) =>\n (\n props: TableKeyedProps,\n {\n instance,\n header,\n }: {\n instance: TableInstance<T>;\n header: HeaderGroup<T>;\n }\n ) => {\n if (!isEnabled || header.disableReordering) {\n return props;\n }\n\n const onDragStart = () => {\n instance.dispatch({\n type: REORDER_ACTIONS.columnDragStart,\n columnIndex: instance.flatHeaders.indexOf(header),\n });\n };\n\n const setOnDragColumnStyle = (\n event: React.DragEvent<HTMLDivElement>,\n position?: \"left\" | \"right\"\n ) => {\n const columnElement = event.currentTarget as HTMLElement;\n // columnElement.classList.remove(styles[\"iui-table-reorder-column-right\"]);\n // columnElement.classList.remove(styles[\"iui-table-reorder-column-left\"]);\n // if (position === \"left\") {\n // columnElement.classList.add(styles[\"iui-table-reorder-column-left\"]);\n // } else if (position === \"right\") {\n // columnElement.classList.add(styles[\"iui-table-reorder-column-right\"]);\n // }\n };\n\n const reorderColumns = (\n tableColumns: IdType<T>[],\n srcIndex: number,\n dstIndex: number\n ) => {\n const newTableColumns = [...tableColumns];\n const [removed] = newTableColumns.splice(srcIndex, 1);\n newTableColumns.splice(dstIndex, 0, removed);\n return newTableColumns;\n };\n\n const onDragOver = (event: React.DragEvent<HTMLDivElement>) => {\n event.preventDefault();\n const headerIndex = instance.flatHeaders.indexOf(header);\n if (instance.state.columnReorderStartIndex !== headerIndex) {\n setOnDragColumnStyle(\n event,\n instance.state.columnReorderStartIndex > headerIndex\n ? \"left\"\n : \"right\"\n );\n }\n };\n\n const onDragLeave = (event: React.DragEvent<HTMLDivElement>) => {\n setOnDragColumnStyle(event);\n };\n\n const onDrop = (event: React.DragEvent<HTMLDivElement>) => {\n event.preventDefault();\n setOnDragColumnStyle(event);\n\n const columnIds = instance.allColumns.map((x) => x.id);\n const srcIndex = instance.state.columnReorderStartIndex;\n const dstIndex = columnIds.findIndex((x) => x === header.id);\n\n if (srcIndex === dstIndex || srcIndex === -1 || dstIndex === -1) {\n return;\n }\n\n instance.setColumnOrder(reorderColumns(columnIds, srcIndex, dstIndex));\n instance.dispatch({\n type: REORDER_ACTIONS.columnDragEnd,\n columnIndex: -1,\n });\n };\n\n return [\n props,\n {\n draggable: true,\n onDragStart,\n onDragOver,\n onDragLeave,\n onDrop,\n },\n ];\n };\n\nconst reducer = <T extends Record<string, unknown>>(\n newState: TableState<T>,\n action: ActionType\n) => {\n switch (action.type) {\n case actions.init:\n return {\n ...newState,\n columnReorderStartIndex: -1,\n };\n case REORDER_ACTIONS.columnDragStart:\n return {\n ...newState,\n columnReorderStartIndex: action.columnIndex,\n };\n case REORDER_ACTIONS.columnDragEnd:\n return {\n ...newState,\n columnReorderStartIndex: -1,\n };\n\n default:\n return newState;\n }\n};\n\nconst useInstance = <T extends Record<string, unknown>>(\n instance: TableInstance<T>\n) => {\n const { flatHeaders, getHooks } = instance;\n\n const getInstance = useGetLatest(instance);\n\n flatHeaders.forEach((header) => {\n header.getDragAndDropProps = makePropGetter(\n getHooks().getDragAndDropProps,\n {\n instance: getInstance(),\n header,\n }\n );\n });\n};\n"],"names":["REORDER_ACTIONS","useColumnDragAndDrop","isEnabled","hooks","getDragAndDropProps","defaultGetDragAndDropProps","stateReducers","push","reducer","useInstance","props","_ref","instance","header","disableReordering","draggable","onDragStart","dispatch","type","columnIndex","flatHeaders","indexOf","onDragOver","event","preventDefault","onDragLeave","onDrop","columnIds","allColumns","map","x","id","srcIndex","state","columnReorderStartIndex","dstIndex","findIndex","setColumnOrder","tableColumns","newTableColumns","_toConsumableArray","_newTableColumns$spli","splice","_newTableColumns$spli2","_slicedToArray","reorderColumns","newState","action","actions","init","Object","assign","getHooks","getInstance","useGetLatest","forEach","makePropGetter"],"mappings":"qLAiBA,IAAMA,EACa,kBADbA,EAEW,gBAGJC,EACX,SAAoCC,GAAkB,OACtD,SAACC,GACCA,EAAMC,oBAAsB,CAACC,EAA2BH,IACxDC,EAAMG,cAAcC,KAAKC,GACzBL,EAAMM,YAAYF,KAAKE,GACxB,EAEGJ,EACJ,SAAoCH,GAAkB,OACtD,SACEQ,EAAsBC,GAQpB,IANAC,EAAQD,EAARC,SACAC,EAAMF,EAANE,OAMF,IAAKX,GAAaW,EAAOC,kBACvB,OAAOJ,EAuET,MAAO,CACLA,EACA,CACEK,WAAW,EACXC,YAxEgB,WAClBJ,EAASK,SAAS,CAChBC,KAAMlB,EACNmB,YAAaP,EAASQ,YAAYC,QAAQR,MAsE1CS,WAzCe,SAACC,GAClBA,EAAMC,iBACcZ,EAASQ,YAAYC,QAAQR,IAwC/CY,YA7BgB,SAACF,KA8BjBG,OA1BW,SAACH,GACdA,EAAMC,iBAGN,IAAMG,EAAYf,EAASgB,WAAWC,KAAI,SAACC,GAAC,OAAKA,EAAEC,MAC7CC,EAAWpB,EAASqB,MAAMC,wBAC1BC,EAAWR,EAAUS,WAAU,SAACN,GAAC,OAAKA,IAAMjB,EAAOkB,MAErDC,IAAaG,IAA0B,IAAdH,IAAiC,IAAdG,IAIhDvB,EAASyB,eAxCY,SACrBC,EACAN,EACAG,GAEA,IAAMI,EAAeC,EAAOF,GAC5BG,EAAkBF,EAAgBG,OAAOV,EAAU,GAAEW,EAAAC,EAAAH,EAAA,GAErD,OADAF,EAAgBG,OAAOP,EAAU,EADnBQ,EAAA,IAEPJ,EAgCiBM,CAAelB,EAAWK,EAAUG,IAC5DvB,EAASK,SAAS,CAChBC,KAAMlB,EACNmB,aAAc,QAcnB,EAEGX,EAAU,SACdsC,EACAC,GAEA,OAAQA,EAAO7B,MACb,KAAK8B,EAAQC,KACX,OAAAC,OAAAC,OAAAD,OAAAC,OAAA,CAAA,EACKL,GACH,CAAAZ,yBAA0B,IAE9B,KAAKlC,EACH,OAAAkD,OAAAC,OAAAD,OAAAC,OAAA,CAAA,EACKL,GACH,CAAAZ,wBAAyBa,EAAO5B,cAEpC,KAAKnB,EACH,OAAAkD,OAAAC,OAAAD,OAAAC,OAAA,CAAA,EACKL,GACH,CAAAZ,yBAA0B,IAG9B,QACE,OAAOY,EAEb,EAEMrC,EAAc,SAClBG,GAEA,IAAQQ,EAA0BR,EAA1BQ,YAAagC,EAAaxC,EAAbwC,SAEfC,EAAcC,EAAa1C,GAEjCQ,EAAYmC,SAAQ,SAAC1C,GACnBA,EAAOT,oBAAsBoD,EAC3BJ,IAAWhD,oBACX,CACEQ,SAAUyC,IACVxC,OAAAA,GAGN,GACF"}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
import{toConsumableArray as o}from"../../../../_virtual/_rollupPluginBabelHelpers.js";import{jsx as t,Fragment as n}from"react/jsx-runtime";import"react";import"classnames";import"lodash-es";import"../../Icon/Icon.js";import"../../Icon/Icons/components/Check.js";import"../../Icon/Icons/components/Remove.js";import"../../../tests/constants.js";import"../../Text/Text.js";import"../../Checkbox/Checkbox.module.scss.js";import"../../../../_virtual/_tslib.js";import"../new/utils/functions/colors.js";import"../new/utils/functions/polymorphic.js";import"../new/utils/functions/dev.js";import"../new/utils/hooks/useId.js";import"../new/utils/color/ColorValue.js";import"react-dom";import"../new/utils/components/Box.js";import"@floating-ui/react";import"../new/Toast/Toaster.js";import"../../ListItem/ListItem.js";import"../../Icon/Icons/components/DropdownChevronRight.js";import"../table.scss.js";import{EXPANDER_CELL_ID as s,ExpanderColumn as i}from"../columns/expanderColumn.js";import"../../IconButton/IconButton.js";import"../../Icon/Icons/components/Settings.js";import"../../DialogContentContainer/DialogContentContainer.js";var r=function(r,e,m){return function(c){r&&c.allColumns.push((function(c){if(c.find((function(o){return o.id===s})))return c;var p=i({subComponent:r,isDisabled:m});return[Object.assign(Object.assign({},p),{Cell:e?function(o){return t(n,{children:e(o)})}:p.Cell})].concat(o(c))}))}};export{r as useExpanderCell};
|
2
|
+
//# sourceMappingURL=useExpanderCell.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"useExpanderCell.js","sources":["../../../../../../src/components/Table/hooks/useExpanderCell.tsx"],"sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\nimport * as React from \"react\";\nimport type {\n CellProps,\n ColumnInstance,\n Hooks,\n Row,\n} from \"../../../react-table/react-table\";\nimport { ExpanderColumn, EXPANDER_CELL_ID } from \"../columns/index\";\n\nexport const useExpanderCell =\n <T extends Record<string, unknown>>(\n subComponent?: (row: Row<T>) => React.ReactNode,\n expanderCell?: (cellProps: CellProps<T>) => React.ReactNode,\n isRowDisabled?: (rowData: T) => boolean\n ) =>\n (hooks: Hooks<T>) => {\n if (!subComponent) {\n return;\n }\n hooks.allColumns.push((columns: ColumnInstance<T>[]) => {\n const hasExpanderColumn = columns.find((c) => c.id === EXPANDER_CELL_ID);\n if (hasExpanderColumn) {\n return columns;\n }\n const expanderColumn = ExpanderColumn({\n subComponent,\n isDisabled: isRowDisabled,\n });\n return [\n {\n ...expanderColumn,\n Cell: expanderCell\n ? (cellProps: CellProps<T>) => <>{expanderCell(cellProps)}</>\n : expanderColumn.Cell,\n },\n ...columns,\n ];\n });\n };\n"],"names":["useExpanderCell","subComponent","expanderCell","isRowDisabled","hooks","allColumns","push","columns","find","c","id","EXPANDER_CELL_ID","expanderColumn","ExpanderColumn","isDisabled","Cell","cellProps","_jsx","_Fragment","children","concat","_toConsumableArray"],"mappings":"0mCAaO,IAAMA,EACX,SACEC,EACAC,EACAC,GAAuC,OAEzC,SAACC,GACMH,GAGLG,EAAMC,WAAWC,MAAK,SAACC,GAErB,GAD0BA,EAAQC,MAAK,SAACC,GAAC,OAAKA,EAAEC,KAAOC,KAErD,OAAOJ,EAET,IAAMK,EAAiBC,EAAe,CACpCZ,aAAAA,EACAa,WAAYX,IAEd,MAAA,gCAEOS,GAAc,CACjBG,KAAMb,EACF,SAACc,GAAuB,OAAKC,EAAAC,EAAA,CAAAC,SAAGjB,EAAac,IAAc,EAC3DJ,EAAeG,QAAIK,OAAAC,EAEtBd,GAEP,IACD"}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
import{slicedToArray as e,createForOfIteratorHelper as n,toConsumableArray as t}from"../../../../_virtual/_rollupPluginBabelHelpers.js";import{actions as i,useGetLatest as r,makePropGetter as o}from"react-table";var u=function(e){return function(n){n.getResizerProps=[a(e)],n.stateReducers.push(c),n.useInstanceBeforeDimensions.push(m)}},s=function(e){return"touchstart"===e.type},a=function(e){return function(n,t){var r=t.header,o=t.nextHeader,u=t.instance.dispatch,a=function(n,t){var r,a,c;if(!(s(n)&&n.touches&&n.touches.length>1)){var l=g(t).map((function(e){return[e.id,p(e)]})),d=o?g(o).map((function(e){return[e.id,p(e)]})):[],v=s(n)?Math.round(n.touches[0].clientX):n.clientX,m=function(e){return u({type:i.columnResizing,clientX:e})},f=function(){return u({type:i.columnDoneResizing})},h={mouse:{moveEvent:"mousemove",moveHandler:function(e){return m(e.clientX)},upEvent:"mouseup",upHandler:function(){var n,t,i;null===(n=e.current)||void 0===n||n.removeEventListener("mousemove",h.mouse.moveHandler),null===(t=e.current)||void 0===t||t.removeEventListener("mouseup",h.mouse.upHandler),null===(i=e.current)||void 0===i||i.removeEventListener("mouseleave",h.mouse.upHandler),f()}},touch:{moveEvent:"touchmove",moveHandler:function(e){e.cancelable&&(e.preventDefault(),e.stopPropagation()),m(e.touches[0].clientX)},upEvent:"touchend",upHandler:function(){var n,t;null===(n=e.current)||void 0===n||n.removeEventListener(h.touch.moveEvent,h.touch.moveHandler),null===(t=e.current)||void 0===t||t.removeEventListener(h.touch.upEvent,h.touch.moveHandler),f()}}},z=s(n)?h.touch:h.mouse,b=!!R()&&{passive:!1};null===(r=e.current)||void 0===r||r.addEventListener(z.moveEvent,z.moveHandler,b),null===(a=e.current)||void 0===a||a.addEventListener(z.upEvent,z.upHandler,b),s(n)||null===(c=e.current)||void 0===c||c.addEventListener("mouseleave",h.mouse.upHandler,b),u({type:i.columnStartResizing,columnId:t.id,columnWidth:p(t),nextColumnWidth:p(o),headerIdWidths:l,nextHeaderIdWidths:d,clientX:v})}};return[n,{onClick:function(e){e.stopPropagation()},onMouseDown:function(e){e.persist(),e.preventDefault(),e.stopPropagation(),a(e,r)},onTouchStart:function(e){e.persist(),e.preventDefault(),a(e,r)},style:{cursor:"col-resize"},draggable:!1,role:"separator"}]}};u.pluginName="useResizeColumns";var c=function(e,n,t,r){if(n.type===i.init)return Object.assign(Object.assign({},e),{columnResizing:{columnWidths:{}}});if(n.type===i.resetResize)return Object.assign(Object.assign({},e),{columnResizing:{columnWidths:{}}});if(n.type===i.columnStartResizing){var o=n.clientX,u=n.columnId,s=n.columnWidth,a=n.nextColumnWidth,c=n.headerIdWidths,m=n.nextHeaderIdWidths;return Object.assign(Object.assign({},e),{columnResizing:Object.assign(Object.assign({},e.columnResizing),{startX:o,columnWidth:s,nextColumnWidth:a,headerIdWidths:c,nextHeaderIdWidths:m,isResizingColumn:u})})}if(n.type===i.columnResizing){var f=e.columnResizing,h=f.startX,g=f.columnWidth,p=f.nextColumnWidth,b=void 0===p?1:p,R=f.headerIdWidths,H=f.nextHeaderIdWidths,W=void 0===H?[]:H;if(!r)return e;var j=n.clientX-(void 0===h?0:h),O=l(void 0===R?[]:R,j/(void 0===g?1:g)),E=z(O,r.flatHeaders)<r.tableWidth,y="fit"===(null==r?void 0:r.columnResizeMode)||"expand"===(null==r?void 0:r.columnResizeMode)&&E?l(W,-j/b):{};return d(O,r.flatHeaders)&&d(y,r.flatHeaders)&&v(Object.assign(Object.assign({},O),y),r)?(null==r||r.flatHeaders.forEach((function(e){e.width||(e.width=e.resizeWidth)})),Object.assign(Object.assign({},e),{columnResizing:Object.assign(Object.assign({},e.columnResizing),{columnWidths:Object.assign(Object.assign(Object.assign({},e.columnResizing.columnWidths),O),y)})})):e}return n.type===i.columnDoneResizing?Object.assign(Object.assign({},e),{columnResizing:Object.assign(Object.assign({},e.columnResizing),{startX:void 0,isResizingColumn:void 0})}):e},l=function(n,t){var i={};return n.forEach((function(n){var r=e(n,2),o=r[1];i[r[0]]=Math.max(o+o*t,0)})),i},d=function(n,t){if(Object.values(n).some((function(e){return 1>=e})))return!1;for(var i,r=function(){var n=e(u[o],2),i=n[0],r=n[1],s=null==t?void 0:t.find((function(e){return e.id===i}));return s?(s.minWidth||0)>r||r>(s.maxWidth||1/0)?{v:!1}:void 0:0},o=0,u=Object.entries(n);u.length>o;o++)if(0!==(i=r())&&i)return i.v;return!0},v=function(e,t){if("fit"===t.columnResizeMode)return!0;var i,r=0,o=n(t.flatHeaders);try{for(o.s();!(i=o.n()).done;){var u=i.value;r+=e[u.id]?e[u.id]:p(u)}}catch(e){o.e(e)}finally{o.f()}return t.tableWidth<=Math.round(r)},m=function(e){var n=e.flatHeaders,t=e.getHooks,i=e.state.columnResizing,u=e.columnResizeMode,s=r(e);n.forEach((function(r,a){var c;r.width=i.columnWidths[r.id]||r.width||r.originalWidth,r.isResizing=i.isResizingColumn===r.id;var l=r.disableResizing&&"fit"===u?f(r,e):r,d="expand"===u&&a===n.length-1?f(r,e):h(r,e);r.canResize=null==r.disableResizing||!r.disableResizing,r.isResizerVisible="fit"===u?r.canResize&&!!d||l&&!!(null===(c=e.flatHeaders[a+1])||void 0===c?void 0:c.canResize):r.canResize&&!!l,r.getResizerProps=o(t().getResizerProps,{instance:s(),header:l,nextHeader:d})}))},f=function(e,n){var i,r=((null===(i=e.parent)||void 0===i?void 0:i.columns)||n.flatHeaders).filter((function(e){return e.isVisible})),o=r.findIndex((function(n){return n.id===e.id}));return t(r).slice(0,o).reverse().find((function(e){return!e.disableResizing}))},h=function(e,n){var i,r=((null===(i=e.parent)||void 0===i?void 0:i.columns)||n.flatHeaders).filter((function(e){return e.isVisible})),o=r.findIndex((function(n){return n.id===e.id}));return t(r).slice(o+1).find((function(e){return!e.disableResizing}))};function g(e){var n=[];return function e(t){t.columns&&t.columns.length&&t.columns.map(e),n.push(t)}(e),n}var p=function(e){return e?Number("string"==typeof e.width&&Number.isNaN(Number(e.width))?e.resizeWidth||0:e.width||e.resizeWidth||0):0},z=function(e,t){var i,r=0,o=n(t);try{for(o.s();!(i=o.n()).done;){var u=i.value;r+=e[u.id]?e[u.id]:p(u)}}catch(e){o.e(e)}finally{o.f()}return r},b=null,R=function(){if(null!=b)return b;try{window.addEventListener("test",(function(){}),{once:!0,get passive(){return b=!0,!1}})}catch(e){b=!1}return b};export{u as useResizeColumns};
|
2
|
+
//# sourceMappingURL=useResizeColumns.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"useResizeColumns.js","sources":["../../../../../../src/components/Table/hooks/useResizeColumns.tsx"],"sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/**\n * Copied from react-table as useResizeColumns and made some changes:\n * - Added TS typings\n * - Added sibling/next column resize when resizing\n * - Favoring min/max widths when resizing\n * - Added owner document support\n * @link https://github.com/tannerlinsley/react-table/blob/master/src/plugin-hooks/useResizeColumns.js\n */\n/**\n * MIT License\n *\n * Copyright (c) 2016 Tanner Linsley\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport type * as React from \"react\";\nimport { actions, makePropGetter, useGetLatest } from \"react-table\";\nimport type {\n ActionType,\n ColumnInstance,\n HeaderGroup,\n Hooks,\n TableInstance,\n TableKeyedProps,\n TableState,\n} from \"../../../react-table/react-table\";\n\nexport const useResizeColumns =\n <T extends Record<string, unknown>>(\n ownerDocument: React.RefObject<Document | undefined>\n ) =>\n (hooks: Hooks<T>) => {\n hooks.getResizerProps = [defaultGetResizerProps(ownerDocument)];\n hooks.stateReducers.push(reducer);\n hooks.useInstanceBeforeDimensions.push(useInstanceBeforeDimensions);\n };\n\nconst isTouchEvent = (\n event: React.MouseEvent | React.TouchEvent\n): event is React.TouchEvent => {\n return event.type === \"touchstart\";\n};\n\nconst defaultGetResizerProps =\n (ownerDocument: React.RefObject<Document | undefined>) =>\n (\n props: TableKeyedProps,\n {\n instance,\n header,\n nextHeader,\n }: {\n instance: TableInstance;\n header: HeaderGroup;\n nextHeader: HeaderGroup;\n }\n ) => {\n const { dispatch } = instance;\n\n const onResizeStart = (\n e: React.TouchEvent | React.MouseEvent,\n header: HeaderGroup\n ) => {\n // lets not respond to multiple touches (e.g. 2 or 3 fingers)\n if (isTouchEvent(e) && e.touches && e.touches.length > 1) {\n return;\n }\n\n const headerIdWidths = getLeafHeaders(header).map((d) => [\n d.id,\n getHeaderWidth(d),\n ]);\n const nextHeaderIdWidths = nextHeader\n ? getLeafHeaders(nextHeader).map((d) => [d.id, getHeaderWidth(d)])\n : [];\n\n const clientX = isTouchEvent(e)\n ? Math.round(e.touches[0].clientX)\n : e.clientX;\n\n const dispatchMove = (clientXPos: number) =>\n dispatch({ type: actions.columnResizing, clientX: clientXPos });\n const dispatchEnd = () =>\n dispatch({\n type: actions.columnDoneResizing,\n });\n\n const handlersAndEvents = {\n mouse: {\n moveEvent: \"mousemove\",\n moveHandler: (e: MouseEvent) => dispatchMove(e.clientX),\n upEvent: \"mouseup\",\n upHandler: () => {\n ownerDocument.current?.removeEventListener(\n \"mousemove\",\n handlersAndEvents.mouse.moveHandler\n );\n ownerDocument.current?.removeEventListener(\n \"mouseup\",\n handlersAndEvents.mouse.upHandler\n );\n ownerDocument.current?.removeEventListener(\n \"mouseleave\",\n handlersAndEvents.mouse.upHandler\n );\n dispatchEnd();\n },\n },\n touch: {\n moveEvent: \"touchmove\",\n moveHandler: (e: TouchEvent) => {\n if (e.cancelable) {\n e.preventDefault();\n e.stopPropagation();\n }\n dispatchMove(e.touches[0].clientX);\n },\n upEvent: \"touchend\",\n upHandler: () => {\n ownerDocument.current?.removeEventListener(\n handlersAndEvents.touch.moveEvent,\n handlersAndEvents.touch.moveHandler\n );\n ownerDocument.current?.removeEventListener(\n handlersAndEvents.touch.upEvent,\n handlersAndEvents.touch.moveHandler\n );\n dispatchEnd();\n },\n },\n };\n\n const events = isTouchEvent(e)\n ? handlersAndEvents.touch\n : handlersAndEvents.mouse;\n const passiveIfSupported = passiveEventSupported()\n ? { passive: false }\n : false;\n ownerDocument.current?.addEventListener(\n events.moveEvent,\n events.moveHandler,\n passiveIfSupported\n );\n ownerDocument.current?.addEventListener(\n events.upEvent,\n events.upHandler,\n passiveIfSupported\n );\n if (!isTouchEvent(e)) {\n ownerDocument.current?.addEventListener(\n \"mouseleave\",\n handlersAndEvents.mouse.upHandler,\n passiveIfSupported\n );\n }\n\n dispatch({\n type: actions.columnStartResizing,\n columnId: header.id,\n columnWidth: getHeaderWidth(header),\n nextColumnWidth: getHeaderWidth(nextHeader),\n headerIdWidths,\n nextHeaderIdWidths,\n clientX,\n });\n };\n\n return [\n props,\n {\n onClick: (e: React.MouseEvent) => {\n // Prevents from triggering sort\n e.stopPropagation();\n },\n onMouseDown: (e: React.MouseEvent) => {\n e.persist();\n // Prevents from triggering drag'n'drop\n e.preventDefault();\n // Prevents from triggering sort\n e.stopPropagation();\n onResizeStart(e, header);\n },\n onTouchStart: (e: React.TouchEvent) => {\n e.persist();\n // Prevents from triggering drag'n'drop\n e.preventDefault();\n onResizeStart(e, header);\n },\n style: {\n cursor: \"col-resize\",\n },\n draggable: false,\n role: \"separator\",\n },\n ];\n };\n\nuseResizeColumns.pluginName = \"useResizeColumns\";\n\nconst reducer = <T extends Record<string, unknown>>(\n newState: TableState<T>,\n action: ActionType,\n previousState: TableState<T>,\n instance?: TableInstance<T>\n) => {\n if (action.type === actions.init) {\n return {\n ...newState,\n columnResizing: {\n columnWidths: {},\n },\n };\n }\n\n if (action.type === actions.resetResize) {\n return {\n ...newState,\n columnResizing: {\n columnWidths: {},\n },\n };\n }\n\n if (action.type === actions.columnStartResizing) {\n const {\n clientX,\n columnId,\n columnWidth,\n nextColumnWidth,\n headerIdWidths,\n nextHeaderIdWidths,\n } = action;\n\n return {\n ...newState,\n columnResizing: {\n ...newState.columnResizing,\n startX: clientX,\n columnWidth,\n nextColumnWidth,\n headerIdWidths,\n nextHeaderIdWidths,\n isResizingColumn: columnId,\n },\n };\n }\n\n if (action.type === actions.columnResizing) {\n const { clientX } = action;\n const {\n startX = 0,\n columnWidth = 1,\n nextColumnWidth = 1,\n headerIdWidths = [],\n nextHeaderIdWidths = [],\n } = newState.columnResizing;\n\n if (!instance) {\n return newState;\n }\n\n const deltaX = clientX - startX;\n\n const newColumnWidths = getColumnWidths(\n headerIdWidths,\n deltaX / columnWidth\n );\n\n const isTableWidthDecreasing =\n calculateTableWidth(newColumnWidths, instance.flatHeaders) <\n instance.tableWidth;\n const newNextColumnWidths =\n instance?.columnResizeMode === \"fit\" ||\n (instance?.columnResizeMode === \"expand\" && isTableWidthDecreasing)\n ? getColumnWidths(nextHeaderIdWidths, -deltaX / nextColumnWidth)\n : {};\n\n if (\n !isNewColumnWidthsValid(newColumnWidths, instance.flatHeaders) ||\n !isNewColumnWidthsValid(newNextColumnWidths, instance.flatHeaders) ||\n !isNewTableWidthValid(\n { ...newColumnWidths, ...newNextColumnWidths },\n instance\n )\n ) {\n return newState;\n }\n\n // Setting `width` here because it might take several rerenders until actual column width is set.\n // Also setting after the actual resize happened.\n instance?.flatHeaders.forEach((h) => {\n if (!h.width) {\n h.width = h.resizeWidth;\n }\n });\n\n return {\n ...newState,\n columnResizing: {\n ...newState.columnResizing,\n columnWidths: {\n ...newState.columnResizing.columnWidths,\n ...newColumnWidths,\n ...newNextColumnWidths,\n },\n },\n };\n }\n\n if (action.type === actions.columnDoneResizing) {\n return {\n ...newState,\n columnResizing: {\n ...newState.columnResizing,\n startX: undefined,\n isResizingColumn: undefined,\n },\n };\n }\n return newState;\n};\n\nconst getColumnWidths = (\n headerIdWidths: [string, number][],\n deltaPercentage: number\n) => {\n const columnWidths: Record<string, number> = {};\n headerIdWidths.forEach(([headerId, headerWidth]) => {\n columnWidths[headerId] = Math.max(\n headerWidth + headerWidth * deltaPercentage,\n 0\n );\n });\n return columnWidths;\n};\n\nconst isNewColumnWidthsValid = <T extends Record<string, unknown>>(\n columnWidths: Record<string, number>,\n headers: ColumnInstance<T>[] | undefined\n) => {\n // Prevents from going outside the column bounds\n if (Object.values(columnWidths).some((width) => width <= 1)) {\n return false;\n }\n\n for (const [headerId, width] of Object.entries(columnWidths)) {\n const header = headers?.find((h) => h.id === headerId);\n if (!header) {\n continue;\n }\n\n const minWidth = header.minWidth || 0;\n const maxWidth = header.maxWidth || Infinity;\n if (width < minWidth || width > maxWidth) {\n return false;\n }\n }\n\n return true;\n};\n\nconst isNewTableWidthValid = <T extends Record<string, unknown>>(\n columnWidths: Record<string, number>,\n instance: TableInstance<T>\n) => {\n if (instance.columnResizeMode === \"fit\") {\n return true;\n }\n\n let newTableWidth = 0;\n for (const header of instance.flatHeaders) {\n newTableWidth += columnWidths[header.id]\n ? columnWidths[header.id]\n : getHeaderWidth(header);\n }\n // `tableWidth` is whole number therefore we need to round the `newTableWidth`\n if (Math.round(newTableWidth) < instance.tableWidth) {\n return false;\n }\n\n return true;\n};\n\nconst useInstanceBeforeDimensions = <T extends Record<string, unknown>>(\n instance: TableInstance<T>\n) => {\n const {\n flatHeaders,\n getHooks,\n state: { columnResizing },\n columnResizeMode,\n } = instance;\n\n const getInstance = useGetLatest(instance);\n\n flatHeaders.forEach((header, index) => {\n const resizeWidth = columnResizing.columnWidths[header.id];\n header.width = resizeWidth || header.width || header.originalWidth;\n header.isResizing = columnResizing.isResizingColumn === header.id;\n\n const headerToResize =\n header.disableResizing && columnResizeMode === \"fit\"\n ? getPreviousResizableHeader(header, instance)\n : header;\n\n // When `columnResizeMode` is `expand` and it is a last column,\n // then try to find some column on the left side to resize\n // when table width is decreasing.\n const nextResizableHeader =\n columnResizeMode === \"expand\" && index === flatHeaders.length - 1\n ? getPreviousResizableHeader(header, instance)\n : getNextResizableHeader(header, instance);\n\n header.canResize =\n header.disableResizing != null ? !header.disableResizing : true;\n // Show resizer when header is resizable or when next header is resizable\n // and there is resizable columns on the left side of the resizer.\n if (columnResizeMode === \"fit\") {\n header.isResizerVisible =\n (header.canResize && !!nextResizableHeader) ||\n (headerToResize && !!instance.flatHeaders[index + 1]?.canResize);\n // When resize mode is `expand` show resizer on the current resizable column.\n } else {\n header.isResizerVisible = header.canResize && !!headerToResize;\n }\n\n header.getResizerProps = makePropGetter(getHooks().getResizerProps, {\n instance: getInstance(),\n header: headerToResize,\n nextHeader: nextResizableHeader,\n });\n });\n};\n\nconst getPreviousResizableHeader = <T extends Record<string, unknown>>(\n headerColumn: ColumnInstance<T>,\n instance: TableInstance<T>\n) => {\n const headersList = (\n headerColumn.parent?.columns || instance.flatHeaders\n ).filter(({ isVisible }) => isVisible);\n const headerIndex = headersList.findIndex((h) => h.id === headerColumn.id);\n return [...headersList]\n .slice(0, headerIndex)\n .reverse()\n .find((h) => !h.disableResizing);\n};\n\nconst getNextResizableHeader = <T extends Record<string, unknown>>(\n headerColumn: ColumnInstance<T>,\n instance: TableInstance<T>\n) => {\n const headersList = (\n headerColumn.parent?.columns || instance.flatHeaders\n ).filter(({ isVisible }) => isVisible);\n const headerIndex = headersList.findIndex((h) => h.id === headerColumn.id);\n return [...headersList]\n .slice(headerIndex + 1)\n .find((h) => !h.disableResizing);\n};\n\nfunction getLeafHeaders(header: HeaderGroup) {\n const leafHeaders: HeaderGroup[] = [];\n const recurseHeader = (header: HeaderGroup) => {\n if (header.columns && header.columns.length) {\n header.columns.map(recurseHeader);\n }\n leafHeaders.push(header);\n };\n recurseHeader(header);\n return leafHeaders;\n}\n\nconst getHeaderWidth = <T extends Record<string, unknown>>(\n header: ColumnInstance<T>\n) => {\n if (!header) {\n return 0;\n }\n\n // `header.width` can be a string if the user specifies it in the column definition,\n // but then becomes a number (pixels) when the user resizes the column, or when the table is resized, etc.\n // So if `header.width` is ever a string that cannot be converted to a number, we shouldn't use `header.width`.\n return typeof header.width === \"string\" && Number.isNaN(Number(header.width))\n ? Number(header.resizeWidth || 0)\n : Number(header.width || header.resizeWidth || 0);\n};\n\nconst calculateTableWidth = <T extends Record<string, unknown>>(\n columnWidths: Record<string, number>,\n headers: ColumnInstance<T>[]\n) => {\n let newTableWidth = 0;\n for (const header of headers) {\n newTableWidth += columnWidths[header.id]\n ? columnWidths[header.id]\n : getHeaderWidth(header);\n }\n return newTableWidth;\n};\n\n// https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#safely_detecting_option_support\nlet passiveSupported: boolean | null = null;\nconst passiveEventSupported = () => {\n // memoize support to avoid adding multiple test events\n if (passiveSupported != null) {\n return passiveSupported;\n }\n try {\n const options = {\n once: true,\n get passive() {\n passiveSupported = true;\n return false;\n },\n };\n\n window.addEventListener(\n \"test\" as keyof WindowEventHandlersEventMap,\n () => {},\n options\n );\n } catch {\n passiveSupported = false;\n }\n return passiveSupported;\n};\n"],"names":["useResizeColumns","ownerDocument","hooks","getResizerProps","defaultGetResizerProps","stateReducers","push","reducer","useInstanceBeforeDimensions","isTouchEvent","event","type","props","_ref","header","nextHeader","dispatch","instance","onResizeStart","e","touches","length","headerIdWidths","getLeafHeaders","map","d","id","getHeaderWidth","nextHeaderIdWidths","clientX","Math","round","dispatchMove","clientXPos","actions","columnResizing","dispatchEnd","columnDoneResizing","handlersAndEvents","mouse","moveEvent","moveHandler","upEvent","upHandler","_a","current","removeEventListener","_b","_c","touch","cancelable","preventDefault","stopPropagation","events","passiveIfSupported","passiveEventSupported","passive","addEventListener","columnStartResizing","columnId","columnWidth","nextColumnWidth","onClick","onMouseDown","persist","onTouchStart","style","cursor","draggable","role","pluginName","newState","action","previousState","init","Object","assign","columnWidths","resetResize","startX","isResizingColumn","_newState$columnResiz","_newState$columnResiz2","_newState$columnResiz3","_newState$columnResiz4","_newState$columnResiz5","_newState$columnResiz6","deltaX","newColumnWidths","getColumnWidths","isTableWidthDecreasing","calculateTableWidth","flatHeaders","tableWidth","newNextColumnWidths","columnResizeMode","isNewColumnWidthsValid","isNewTableWidthValid","forEach","h","width","resizeWidth","undefined","deltaPercentage","_ref2","_ref3","_slicedToArray","headerWidth","max","headers","values","some","_ret","_loop","_Object$entries$_i","_Object$entries","_i","headerId","find","minWidth","maxWidth","Infinity","v","entries","_step","newTableWidth","_iterator","_createForOfIteratorHelper","s","n","done","value","err","f","getHooks","state","getInstance","useGetLatest","index","originalWidth","isResizing","headerToResize","disableResizing","getPreviousResizableHeader","nextResizableHeader","getNextResizableHeader","canResize","isResizerVisible","makePropGetter","headerColumn","headersList","parent","columns","filter","_ref4","isVisible","headerIndex","findIndex","_toConsumableArray","slice","reverse","_ref5","leafHeaders","recurseHeader","Number","isNaN","_step2","_iterator2","passiveSupported","window","once"],"mappings":"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"}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
import*as r from"react";function e(e){var n=e.data,t=e.enableVirtualization,u=e.page,o=e.paginatorRenderer,a=e.scrollToRow,c=r.useRef({}),i=r.useRef(u);i.current=u;var l=r.useRef(n);l.current=n;var f=r.useMemo((function(){if(a&&!o){var r=a(i.current,l.current);return 0>r?void 0:r}}),[o,a]);r.useEffect((function(){var r,e;t||null==f||0>f||null===(e=c.current[null===(r=i.current[f])||void 0===r?void 0:r.id])||void 0===e||e.scrollIntoView()}),[t,f]);var s=r.useCallback((function(r){return function(e){c.current[r.id]=e}}),[]);return{scrollToIndex:f,tableRowRef:s}}export{e as useScrollToRow};
|
2
|
+
//# sourceMappingURL=useScrollToRow.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"useScrollToRow.js","sources":["../../../../../../src/components/Table/hooks/useScrollToRow.ts"],"sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\nimport * as React from \"react\";\nimport type { Row } from \"../../../react-table/react-table\";\nimport type { TableProps } from \"../Table\";\n\ntype ScrollToRow<T extends Record<string, unknown>> = {\n scrollToIndex: number | undefined;\n tableRowRef: (row: Row<T>) => (element: HTMLDivElement) => void;\n};\n\ntype ScrollToRowProps<T extends Record<string, unknown>> = TableProps<T> & {\n page: Row<T>[];\n};\n\nexport function useScrollToRow<T extends Record<string, unknown>>({\n data,\n enableVirtualization,\n page,\n paginatorRenderer,\n scrollToRow,\n}: ScrollToRowProps<T>): ScrollToRow<T> {\n const rowRefs = React.useRef<Record<string, HTMLDivElement>>({});\n\n // Refs prevents from having `page` and `data` as dependencies\n // therefore we avoid unnecessary scroll to row.\n const pageRef = React.useRef<Row<T>[]>(page);\n pageRef.current = page;\n const dataRef = React.useRef<T[]>(data);\n dataRef.current = data;\n\n // For virtualized tables, all we need to do is pass the index of the item\n // to the VirtualScroll component\n const scrollToIndex = React.useMemo((): number | undefined => {\n if (!scrollToRow || paginatorRenderer) {\n return undefined;\n }\n\n const index = scrollToRow(pageRef.current, dataRef.current);\n return index < 0 ? undefined : index;\n }, [paginatorRenderer, scrollToRow]);\n\n // For non-virtualized tables, we need to add a ref to each row\n // and scroll to the element\n React.useEffect(() => {\n if (\n enableVirtualization ||\n scrollToIndex === undefined ||\n scrollToIndex === null ||\n scrollToIndex < 0\n ) {\n return;\n }\n\n rowRefs.current[pageRef.current[scrollToIndex]?.id]?.scrollIntoView();\n }, [enableVirtualization, scrollToIndex]);\n\n const tableRowRef = React.useCallback((row: Row<T>) => {\n return (element: HTMLDivElement) => {\n rowRefs.current[row.id] = element;\n };\n }, []);\n\n return { scrollToIndex, tableRowRef };\n}\n"],"names":["useScrollToRow","_ref","data","enableVirtualization","page","paginatorRenderer","scrollToRow","rowRefs","React","useRef","pageRef","current","dataRef","scrollToIndex","useMemo","index","undefined","useEffect","_b","_a","id","scrollIntoView","tableRowRef","useCallback","row","element"],"mappings":"wBAiBgB,SAAAA,EAAcC,GAMR,IALpBC,EAAID,EAAJC,KACAC,EAAoBF,EAApBE,qBACAC,EAAIH,EAAJG,KACAC,EAAiBJ,EAAjBI,kBACAC,EAAWL,EAAXK,YAEMC,EAAUC,EAAMC,OAAuC,CAAE,GAIzDC,EAAUF,EAAMC,OAAiBL,GACvCM,EAAQC,QAAUP,EAClB,IAAMQ,EAAUJ,EAAMC,OAAYP,GAClCU,EAAQD,QAAUT,EAIlB,IAAMW,EAAgBL,EAAMM,SAAQ,WAClC,GAAKR,IAAeD,EAApB,CAIA,IAAMU,EAAQT,EAAYI,EAAQC,QAASC,EAAQD,SACnD,OAAe,EAARI,OAAYC,EAAYD,CAH9B,CAIH,GAAG,CAACV,EAAmBC,IAIvBE,EAAMS,WAAU,mBAEZd,SACAU,GAEgB,EAAhBA,GAKmD,QAArDK,EAAAX,EAAQI,QAAwC,QAAhCQ,EAAAT,EAAQC,QAAQE,UAAgB,IAAAM,OAAA,EAAAA,EAAAC,WAAK,IAAAF,GAAAA,EAAAG,gBACvD,GAAG,CAAClB,EAAsBU,IAE1B,IAAMS,EAAcd,EAAMe,aAAY,SAACC,GACrC,OAAO,SAACC,GACNlB,EAAQI,QAAQa,EAAIJ,IAAMK,EAE7B,GAAE,IAEH,MAAO,CAAEZ,cAAAA,EAAeS,YAAAA,EAC1B"}
|