@rio-cloud/rio-uikit 2.2.1 → 2.3.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AnalyticsAnalysisOverlay.d.ts +1 -0
- package/AnalyticsAnalysisOverlay.js +5 -0
- package/AnalyticsAnalysisOverlay.js.map +1 -0
- package/Table.d.ts +2 -0
- package/Table.js +23 -0
- package/Table.js.map +1 -0
- package/TableCol.d.ts +2 -2
- package/TableCol.js +1 -1
- package/TableHead.d.ts +2 -2
- package/TableHead.js +1 -1
- package/TableSettingsDialog.d.ts +2 -2
- package/TableSettingsDialog.js +1 -1
- package/TableToolbar.js +3 -2
- package/analyticsAnalysisUtils.d.ts +1 -0
- package/analyticsAnalysisUtils.js +13 -0
- package/analyticsAnalysisUtils.js.map +1 -0
- package/components/analyticsAnalysisOverlay/AnalyticsAnalysisBanner.d.ts +18 -0
- package/components/analyticsAnalysisOverlay/AnalyticsAnalysisBanner.js +128 -0
- package/components/analyticsAnalysisOverlay/AnalyticsAnalysisBanner.js.map +1 -0
- package/components/analyticsAnalysisOverlay/AnalyticsAnalysisOverlay.d.ts +9 -0
- package/components/analyticsAnalysisOverlay/AnalyticsAnalysisOverlay.js +73 -0
- package/components/analyticsAnalysisOverlay/AnalyticsAnalysisOverlay.js.map +1 -0
- package/components/applicationHeader/AppMenuContent.js.map +1 -1
- package/components/applicationHeader/ApplicationActionBar.js +4 -4
- package/components/applicationHeader/ApplicationActionBar.js.map +1 -1
- package/components/applicationHeader/CollapsedNavItem.js +5 -14
- package/components/applicationHeader/CollapsedNavItem.js.map +1 -1
- package/components/applicationHeader/NavItems.js +10 -10
- package/components/applicationHeader/NavItems.js.map +1 -1
- package/components/assetTree/AssetTree.js +23 -23
- package/components/assetTree/AssetTree.js.map +1 -1
- package/components/assetTree/TreeNothingFound.js +2 -2
- package/components/assetTree/TreeNothingFound.js.map +1 -1
- package/components/assetTree/treeUtils.js.map +1 -1
- package/components/autosuggest/AutoSuggest.js +31 -31
- package/components/autosuggest/AutoSuggest.js.map +1 -1
- package/components/autosuggest/AutoSuggestAddons.js +9 -9
- package/components/autosuggest/AutoSuggestAddons.js.map +1 -1
- package/components/banner/BannerActions.js +2 -2
- package/components/banner/BannerActions.js.map +1 -1
- package/components/banner/BannerIcon.js +3 -3
- package/components/banner/BannerIcon.js.map +1 -1
- package/components/banner/BannerPage.js +4 -4
- package/components/banner/BannerPage.js.map +1 -1
- package/components/button/Button.d.ts +7 -0
- package/components/button/Button.js +73 -65
- package/components/button/Button.js.map +1 -1
- package/components/checkbox/Checkbox.js +18 -17
- package/components/checkbox/Checkbox.js.map +1 -1
- package/components/datepicker/DateRangePicker.js +0 -2
- package/components/datepicker/DateRangePicker.js.map +1 -1
- package/components/datepicker/DayPicker.js +16 -16
- package/components/datepicker/DayPicker.js.map +1 -1
- package/components/dialog/Dialog.js.map +1 -1
- package/components/dialog/DialogHeader.js +23 -20
- package/components/dialog/DialogHeader.js.map +1 -1
- package/components/dialog/MediaDialog.js +1 -1
- package/components/dialog/MediaDialog.js.map +1 -1
- package/components/editableContent/EditableContent.js +7 -7
- package/components/editableContent/EditableContent.js.map +1 -1
- package/components/expander/ExpanderList.d.ts +5 -0
- package/components/expander/ExpanderList.js +25 -16
- package/components/expander/ExpanderList.js.map +1 -1
- package/components/expander/ExpanderPanel.d.ts +5 -0
- package/components/expander/ExpanderPanel.js +29 -28
- package/components/expander/ExpanderPanel.js.map +1 -1
- package/components/fade/FadeExpander.js +1 -1
- package/components/fade/FadeExpander.js.map +1 -1
- package/components/filepicker/FilePicker.js.map +1 -1
- package/components/loadMore/LoadMoreButton.d.ts +5 -0
- package/components/loadMore/LoadMoreButton.js +33 -29
- package/components/loadMore/LoadMoreButton.js.map +1 -1
- package/components/map/components/features/ContextMenu.js +13 -13
- package/components/map/components/features/ContextMenu.js.map +1 -1
- package/components/map/components/features/basics/InfoBubble.js.map +1 -1
- package/components/map/components/features/settings/MapSettingsTile.js.map +1 -1
- package/components/map/components/features/settings/builtinSettings/MapTypeSettings.js +6 -6
- package/components/map/components/features/settings/builtinSettings/MapTypeSettings.js.map +1 -1
- package/components/map/utils/eventHandling.js +18 -18
- package/components/map/utils/eventHandling.js.map +1 -1
- package/components/map/utils/positions.d.ts +1 -1
- package/components/map/utils/positions.js +15 -12
- package/components/map/utils/positions.js.map +1 -1
- package/components/map/utils/rendering.d.ts +1 -1
- package/components/menuItems/MenuItems.js +6 -6
- package/components/menuItems/MenuItems.js.map +1 -1
- package/components/notification/NotificationsContainer.js.map +1 -1
- package/components/numberInput/NumberInput.js +57 -56
- package/components/numberInput/NumberInput.js.map +1 -1
- package/components/popover/Popover.js +4 -4
- package/components/popover/Popover.js.map +1 -1
- package/components/resizer/Resizer.js +6 -3
- package/components/resizer/Resizer.js.map +1 -1
- package/components/selects/BaseSelectDropdown.js +34 -32
- package/components/selects/BaseSelectDropdown.js.map +1 -1
- package/components/selects/MultiselectTogglePlaceholder.js.map +1 -1
- package/components/selects/MultiselectToggleSelection.js +11 -11
- package/components/selects/MultiselectToggleSelection.js.map +1 -1
- package/components/sidebars/Sidebar.js +12 -12
- package/components/sidebars/Sidebar.js.map +1 -1
- package/components/sidebars/SidebarCloseButton.js +2 -2
- package/components/sidebars/SidebarCloseButton.js.map +1 -1
- package/components/smoothScrollbars/SmoothScrollbars.d.ts +4 -3
- package/components/smoothScrollbars/SmoothScrollbars.js +11 -11
- package/components/smoothScrollbars/SmoothScrollbars.js.map +1 -1
- package/components/states/CustomState.js.map +1 -1
- package/components/svgImage/svgConverter.js.map +1 -1
- package/components/table/Table.d.ts +267 -0
- package/components/table/Table.js +233 -0
- package/components/table/Table.js.map +1 -0
- package/components/table/Table.types.d.ts +207 -0
- package/components/table/TableBody.d.ts +10 -0
- package/components/table/TableBody.js +5 -0
- package/components/table/TableBody.js.map +1 -0
- package/components/table/TableCard.d.ts +63 -0
- package/components/table/TableCard.js +150 -0
- package/components/table/TableCard.js.map +1 -0
- package/components/table/TableColumn.d.ts +47 -0
- package/components/table/TableColumn.js +5 -0
- package/components/table/TableColumn.js.map +1 -0
- package/components/table/TableExpandedContentRow.d.ts +22 -0
- package/components/table/TableExpandedContentRow.js +5 -0
- package/components/table/TableExpandedContentRow.js.map +1 -0
- package/components/table/TableExpandedRow.d.ts +17 -0
- package/components/table/TableExpandedRow.js +5 -0
- package/components/table/TableExpandedRow.js.map +1 -0
- package/components/table/TableExpanderButton.d.ts +25 -0
- package/components/table/TableExpanderButton.js +22 -0
- package/components/table/TableExpanderButton.js.map +1 -0
- package/components/table/TableFooter.d.ts +13 -0
- package/components/table/TableFooter.js +5 -0
- package/components/table/TableFooter.js.map +1 -0
- package/components/table/TableGroupFooterRow.d.ts +18 -0
- package/components/table/TableGroupFooterRow.js +5 -0
- package/components/table/TableGroupFooterRow.js.map +1 -0
- package/components/table/TableGroupRow.d.ts +24 -0
- package/components/table/TableGroupRow.js +5 -0
- package/components/table/TableGroupRow.js.map +1 -0
- package/components/table/TableHeader.d.ts +9 -0
- package/components/table/TableHeader.js +5 -0
- package/components/table/TableHeader.js.map +1 -0
- package/components/table/TableHeaderColumn.d.ts +70 -0
- package/components/table/TableHeaderColumn.js +5 -0
- package/components/table/TableHeaderColumn.js.map +1 -0
- package/components/table/TableHeaderRow.d.ts +9 -0
- package/components/table/TableHeaderRow.js +5 -0
- package/components/table/TableHeaderRow.js.map +1 -0
- package/components/table/TableRow.d.ts +19 -0
- package/components/table/TableRow.js +5 -0
- package/components/table/TableRow.js.map +1 -0
- package/components/table/TableSpacerRow.d.ts +12 -0
- package/components/table/TableSpacerRow.js +5 -0
- package/components/table/TableSpacerRow.js.map +1 -0
- package/components/table/TableToolbar.d.ts +23 -1
- package/components/table/TableToolbar.js +38 -4
- package/components/table/TableToolbar.js.map +1 -1
- package/components/table/TableViewToggles.d.ts +18 -0
- package/components/table/TableViewToggles.js +59 -87
- package/components/table/TableViewToggles.js.map +1 -1
- package/components/table/layout/columnSizing.d.ts +3 -0
- package/components/table/layout/columnSizing.js +23 -0
- package/components/table/layout/columnSizing.js.map +1 -0
- package/components/table/layout/useDraggableColumns.d.ts +14 -0
- package/components/table/layout/useDraggableColumns.js +47 -0
- package/components/table/layout/useDraggableColumns.js.map +1 -0
- package/components/table/layout/useHorizontalSectionSync.d.ts +11 -0
- package/components/table/layout/useHorizontalSectionSync.js +39 -0
- package/components/table/layout/useHorizontalSectionSync.js.map +1 -0
- package/components/table/layout/useMeasuredColumnMaxWidths.d.ts +12 -0
- package/components/table/layout/useMeasuredColumnMaxWidths.js +85 -0
- package/components/table/layout/useMeasuredColumnMaxWidths.js.map +1 -0
- package/components/table/layout/useResizableColumns.d.ts +14 -0
- package/components/table/layout/useResizableColumns.js +91 -0
- package/components/table/layout/useResizableColumns.js.map +1 -0
- package/components/table/layout/useTableLayout.d.ts +25 -0
- package/components/table/layout/useTableLayout.js +56 -0
- package/components/table/layout/useTableLayout.js.map +1 -0
- package/components/table/layout/useTableVirtualization.d.ts +22 -0
- package/components/table/layout/useTableVirtualization.js +125 -0
- package/components/table/layout/useTableVirtualization.js.map +1 -0
- package/components/table/model/buildTableViewModel.d.ts +28 -0
- package/components/table/model/buildTableViewModel.js +221 -0
- package/components/table/model/buildTableViewModel.js.map +1 -0
- package/components/table/model/resolveCellContent.d.ts +2 -0
- package/components/table/model/resolveCellContent.js +5 -0
- package/components/table/model/resolveCellContent.js.map +1 -0
- package/components/table/model/resolveRowMeta.d.ts +2 -0
- package/components/table/model/resolveRowMeta.js +15 -0
- package/components/table/model/resolveRowMeta.js.map +1 -0
- package/components/table/model/resolveTableClassConfig.d.ts +48 -0
- package/components/table/model/resolveTableClassConfig.js +64 -0
- package/components/table/model/resolveTableClassConfig.js.map +1 -0
- package/components/table/model/tableViewModel.types.d.ts +153 -0
- package/components/table/native/TableCol.js.map +1 -0
- package/components/table/{TableHead.js → native/TableHead.js} +2 -2
- package/components/table/native/TableHead.js.map +1 -0
- package/components/table/native/TableSettingsColumnButtons.js +59 -0
- package/components/table/native/TableSettingsColumnButtons.js.map +1 -0
- package/components/table/{TableSettingsColumnDetails.js → native/TableSettingsColumnDetails.js} +2 -2
- package/components/table/native/TableSettingsColumnDetails.js.map +1 -0
- package/components/table/{TableSettingsDialog.d.ts → native/TableSettingsDialog.d.ts} +2 -3
- package/components/table/native/TableSettingsDialog.js +216 -0
- package/components/table/native/TableSettingsDialog.js.map +1 -0
- package/components/table/{TableSettingsDialogFooter.js → native/TableSettingsDialogFooter.js} +2 -2
- package/components/table/native/TableSettingsDialogFooter.js.map +1 -0
- package/components/table/native/TableSettingsListContainer.js.map +1 -0
- package/components/table/native/TableSettingsListItem.js +100 -0
- package/components/table/native/TableSettingsListItem.js.map +1 -0
- package/components/table/parse/parseBody.d.ts +3 -0
- package/components/table/parse/parseBody.js +13 -0
- package/components/table/parse/parseBody.js.map +1 -0
- package/components/table/parse/parseColumns.d.ts +3 -0
- package/components/table/parse/parseColumns.js +81 -0
- package/components/table/parse/parseColumns.js.map +1 -0
- package/components/table/parse/parseFooter.d.ts +3 -0
- package/components/table/parse/parseFooter.js +39 -0
- package/components/table/parse/parseFooter.js.map +1 -0
- package/components/table/parse/parseHeaders.d.ts +4 -0
- package/components/table/parse/parseHeaders.js +89 -0
- package/components/table/parse/parseHeaders.js.map +1 -0
- package/components/table/parse/parseRows.d.ts +3 -0
- package/components/table/parse/parseRows.js +93 -0
- package/components/table/parse/parseRows.js.map +1 -0
- package/components/table/parse/tableChildGuards.d.ts +25 -0
- package/components/table/parse/tableChildGuards.js +29 -0
- package/components/table/parse/tableChildGuards.js.map +1 -0
- package/components/table/render/body/TableBodyRow.d.ts +16 -0
- package/components/table/render/body/TableBodyRow.js +84 -0
- package/components/table/render/body/TableBodyRow.js.map +1 -0
- package/components/table/render/body/TableBodySection.d.ts +20 -0
- package/components/table/render/body/TableBodySection.js +68 -0
- package/components/table/render/body/TableBodySection.js.map +1 -0
- package/components/table/render/body/TableDataRow.d.ts +15 -0
- package/components/table/render/body/TableDataRow.js +143 -0
- package/components/table/render/body/TableDataRow.js.map +1 -0
- package/components/table/render/body/TableEmptyRow.d.ts +7 -0
- package/components/table/render/body/TableEmptyRow.js +6 -0
- package/components/table/render/body/TableEmptyRow.js.map +1 -0
- package/components/table/render/body/TableExpandedRow.d.ts +8 -0
- package/components/table/render/body/TableExpandedRow.js +84 -0
- package/components/table/render/body/TableExpandedRow.js.map +1 -0
- package/components/table/render/body/TableGroupRow.d.ts +8 -0
- package/components/table/render/body/TableGroupRow.js +21 -0
- package/components/table/render/body/TableGroupRow.js.map +1 -0
- package/components/table/render/body/TableSpacerRow.d.ts +7 -0
- package/components/table/render/body/TableSpacerRow.js +15 -0
- package/components/table/render/body/TableSpacerRow.js.map +1 -0
- package/components/table/render/footer/TableFooterCell.d.ts +8 -0
- package/components/table/render/footer/TableFooterCell.js +31 -0
- package/components/table/render/footer/TableFooterCell.js.map +1 -0
- package/components/table/render/footer/TableFooterContent.d.ts +6 -0
- package/components/table/render/footer/TableFooterContent.js +6 -0
- package/components/table/render/footer/TableFooterContent.js.map +1 -0
- package/components/table/render/footer/TableFooterSection.d.ts +10 -0
- package/components/table/render/footer/TableFooterSection.js +28 -0
- package/components/table/render/footer/TableFooterSection.js.map +1 -0
- package/components/table/render/header/TableBatchDropdown.d.ts +9 -0
- package/components/table/render/header/TableBatchDropdown.js +28 -0
- package/components/table/render/header/TableBatchDropdown.js.map +1 -0
- package/components/table/render/header/TableColumnFilter.d.ts +66 -0
- package/components/table/render/header/TableColumnFilter.js +70 -0
- package/components/table/render/header/TableColumnFilter.js.map +1 -0
- package/components/table/render/header/TableDraggableHeaderCell.d.ts +3 -0
- package/components/table/render/header/TableDraggableHeaderCell.js +54 -0
- package/components/table/render/header/TableDraggableHeaderCell.js.map +1 -0
- package/components/table/render/header/TableHeader.types.d.ts +35 -0
- package/components/table/render/header/TableHeaderCellContent.d.ts +3 -0
- package/components/table/render/header/TableHeaderCellContent.js +57 -0
- package/components/table/render/header/TableHeaderCellContent.js.map +1 -0
- package/components/table/render/header/TableHeaderCellResizeHandle.d.ts +3 -0
- package/components/table/render/header/TableHeaderCellResizeHandle.js +22 -0
- package/components/table/render/header/TableHeaderCellResizeHandle.js.map +1 -0
- package/components/table/render/header/TableHeaderDragOverlay.d.ts +13 -0
- package/components/table/render/header/TableHeaderDragOverlay.js +35 -0
- package/components/table/render/header/TableHeaderDragOverlay.js.map +1 -0
- package/components/table/render/header/TableHeaderSection.d.ts +3 -0
- package/components/table/render/header/TableHeaderSection.js +104 -0
- package/components/table/render/header/TableHeaderSection.js.map +1 -0
- package/components/table/render/header/TableHeaderSelectionCell.d.ts +9 -0
- package/components/table/render/header/TableHeaderSelectionCell.js +41 -0
- package/components/table/render/header/TableHeaderSelectionCell.js.map +1 -0
- package/components/table/render/header/TableStaticHeaderCell.d.ts +3 -0
- package/components/table/render/header/TableStaticHeaderCell.js +36 -0
- package/components/table/render/header/TableStaticHeaderCell.js.map +1 -0
- package/components/table/render/header/resolveAriaSort.d.ts +2 -0
- package/components/table/render/header/resolveAriaSort.js +8 -0
- package/components/table/render/header/resolveAriaSort.js.map +1 -0
- package/components/table/render/header/resolveColumnCollisionDetection.d.ts +2 -0
- package/components/table/render/header/resolveColumnCollisionDetection.js +9 -0
- package/components/table/render/header/resolveColumnCollisionDetection.js.map +1 -0
- package/components/table/render/header/resolveHeaderCellClassName.d.ts +10 -0
- package/components/table/render/header/resolveHeaderCellClassName.js +22 -0
- package/components/table/render/header/resolveHeaderCellClassName.js.map +1 -0
- package/components/table/render/header/resolveHeaderCellStyle.d.ts +829 -0
- package/components/table/render/header/resolveHeaderCellStyle.js +9 -0
- package/components/table/render/header/resolveHeaderCellStyle.js.map +1 -0
- package/components/table/selection/useTableSelection.d.ts +82 -0
- package/components/table/selection/useTableSelection.js +35 -0
- package/components/table/selection/useTableSelection.js.map +1 -0
- package/components/table/settings/TableColumnsDropdown.d.ts +90 -0
- package/components/table/settings/TableColumnsDropdown.js +137 -0
- package/components/table/settings/TableColumnsDropdown.js.map +1 -0
- package/components/table/settings/TableColumnsDropdownItem.d.ts +8 -0
- package/components/table/settings/TableColumnsDropdownItem.js +66 -0
- package/components/table/settings/TableColumnsDropdownItem.js.map +1 -0
- package/components/table/shared/getAlignClassName.d.ts +3 -0
- package/components/table/shared/getAlignClassName.js +6 -0
- package/components/table/shared/getAlignClassName.js.map +1 -0
- package/components/table/shared/getInteractiveRowProps.d.ts +14 -0
- package/components/table/shared/getInteractiveRowProps.js +15 -0
- package/components/table/shared/getInteractiveRowProps.js.map +1 -0
- package/components/table/shared/resolveTableAria.d.ts +2 -0
- package/components/table/shared/resolveTableAria.js +6 -0
- package/components/table/shared/resolveTableAria.js.map +1 -0
- package/components/table/tableSizing.constants.d.ts +4 -0
- package/components/table/tableSizing.constants.js +8 -0
- package/components/table/tableSizing.constants.js.map +1 -0
- package/components/teaser/TeaserContainer.js +3 -3
- package/components/teaser/TeaserContainer.js.map +1 -1
- package/components/virtualList/VirtualList.js +16 -13
- package/components/virtualList/VirtualList.js.map +1 -1
- package/googleAnalyticsUtils.d.ts +1 -0
- package/googleAnalyticsUtils.js +9 -0
- package/googleAnalyticsUtils.js.map +1 -0
- package/hooks/useCookies.js +17 -17
- package/hooks/useCookies.js.map +1 -1
- package/hooks/useDraggableElement.d.ts +35 -0
- package/hooks/useDraggableElement.js +49 -0
- package/hooks/useDraggableElement.js.map +1 -0
- package/hooks/useElapsedTime.js +4 -4
- package/hooks/useElapsedTime.js.map +1 -1
- package/hooks/useLocationSuggestions.js +13 -10
- package/hooks/useLocationSuggestions.js.map +1 -1
- package/hooks/useMergeRefs.js +12 -12
- package/hooks/useMergeRefs.js.map +1 -1
- package/hooks/usePrevious.d.ts +1 -1
- package/hooks/usePrevious.js.map +1 -1
- package/hooks/useResizeObserver.js +25 -10
- package/hooks/useResizeObserver.js.map +1 -1
- package/hooks/useRioCookieConsent.js +7 -4
- package/hooks/useRioCookieConsent.js.map +1 -1
- package/hooks/useSorting.js +10 -10
- package/hooks/useSorting.js.map +1 -1
- package/hooks/useStorage.js +12 -12
- package/hooks/useStorage.js.map +1 -1
- package/hooks/useSum.js +10 -7
- package/hooks/useSum.js.map +1 -1
- package/hooks/useTableSelection.js.map +1 -1
- package/hooks/useTimeout.js +6 -3
- package/hooks/useTimeout.js.map +1 -1
- package/package.json +3 -3
- package/routeUtils.js +12 -10
- package/utils/analytics/analyticsAnalysisUtils.d.ts +27 -0
- package/utils/analytics/analyticsAnalysisUtils.js +161 -0
- package/utils/analytics/analyticsAnalysisUtils.js.map +1 -0
- package/utils/analytics/autoTracking.d.ts +14 -0
- package/utils/analytics/autoTracking.js +19 -0
- package/utils/analytics/autoTracking.js.map +1 -0
- package/utils/analytics/createAnalyticsOverlayTooltip.d.ts +36 -0
- package/utils/analytics/createAnalyticsOverlayTooltip.js +203 -0
- package/utils/analytics/createAnalyticsOverlayTooltip.js.map +1 -0
- package/utils/analytics/googleAnalyticsUtils.d.ts +37 -0
- package/utils/analytics/googleAnalyticsUtils.js +37 -0
- package/utils/analytics/googleAnalyticsUtils.js.map +1 -0
- package/utils/analytics/logAnalyticsOverlayUnmatchedEntries.d.ts +8 -0
- package/utils/analytics/logAnalyticsOverlayUnmatchedEntries.js +61 -0
- package/utils/analytics/logAnalyticsOverlayUnmatchedEntries.js.map +1 -0
- package/utils/analytics/useAnalyticsOverlayDom.d.ts +11 -0
- package/utils/analytics/useAnalyticsOverlayDom.js +120 -0
- package/utils/analytics/useAnalyticsOverlayDom.js.map +1 -0
- package/utils/arrayMove.js +11 -0
- package/utils/arrayMove.js.map +1 -0
- package/utils/cssuseragent.js +2 -2
- package/utils/cssuseragent.js.map +1 -1
- package/utils/deviceUtils.js.map +1 -1
- package/utils/formatUtils.js.map +1 -1
- package/utils/hasUtilityClass.js +3 -3
- package/utils/hasUtilityClass.js.map +1 -1
- package/utils/hidePiiData.js.map +1 -1
- package/utils/init/checkForReleaseVersion.js +4 -4
- package/utils/init/checkForReleaseVersion.js.map +1 -1
- package/utils/init/styledLogs.js.map +1 -1
- package/utils/mergeRefs.js +3 -3
- package/utils/mergeRefs.js.map +1 -1
- package/utils/routeUtils.d.ts +32 -1
- package/utils/routeUtils.js +85 -67
- package/utils/routeUtils.js.map +1 -1
- package/utils/storageUtils.js +9 -9
- package/utils/storageUtils.js.map +1 -1
- package/version.d.ts +1 -1
- package/version.js +2 -2
- package/version.js.map +1 -1
- package/components/table/TableCol.js.map +0 -1
- package/components/table/TableHead.js.map +0 -1
- package/components/table/TableSettingsColumnButtons.js +0 -45
- package/components/table/TableSettingsColumnButtons.js.map +0 -1
- package/components/table/TableSettingsColumnDetails.js.map +0 -1
- package/components/table/TableSettingsDialog.js +0 -208
- package/components/table/TableSettingsDialog.js.map +0 -1
- package/components/table/TableSettingsDialogFooter.js.map +0 -1
- package/components/table/TableSettingsListContainer.js.map +0 -1
- package/components/table/TableSettingsListItem.js +0 -96
- package/components/table/TableSettingsListItem.js.map +0 -1
- /package/components/table/{TableCol.d.ts → native/TableCol.d.ts} +0 -0
- /package/components/table/{TableCol.js → native/TableCol.js} +0 -0
- /package/components/table/{TableHead.d.ts → native/TableHead.d.ts} +0 -0
- /package/components/table/{TableSettingsColumnButtons.d.ts → native/TableSettingsColumnButtons.d.ts} +0 -0
- /package/components/table/{TableSettingsColumnDetails.d.ts → native/TableSettingsColumnDetails.d.ts} +0 -0
- /package/components/table/{TableSettingsDialogFooter.d.ts → native/TableSettingsDialogFooter.d.ts} +0 -0
- /package/components/table/{TableSettingsListContainer.d.ts → native/TableSettingsListContainer.d.ts} +0 -0
- /package/components/table/{TableSettingsListContainer.js → native/TableSettingsListContainer.js} +0 -0
- /package/components/table/{TableSettingsListItem.d.ts → native/TableSettingsListItem.d.ts} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveHeaderCellStyle.js","sources":["../../../../../src/components/table/render/header/resolveHeaderCellStyle.ts"],"sourcesContent":["import type { CSSProperties } from 'react';\n\nimport type { HeaderColumn } from './TableHeader.types';\n\nexport const resolveHeaderCellStyle = <RowType extends Record<string, unknown>>(\n column: HeaderColumn<RowType>,\n showSelectionColumn?: boolean,\n extraStyle?: CSSProperties\n) => ({\n gridColumn: `${column.columnStart + (showSelectionColumn ? 1 : 0)} / span ${column.colSpan}`,\n gridRow: `${column.rowStart} / span ${column.rowSpan}`,\n ...extraStyle,\n});\n"],"names":["resolveHeaderCellStyle","column","showSelectionColumn","extraStyle"],"mappings":"AAIO,MAAMA,IAAyB,CAClCC,GACAC,GACAC,OACE;AAAA,EACF,YAAY,GAAGF,EAAO,eAAeC,IAAsB,IAAI,EAAE,WAAWD,EAAO,OAAO;AAAA,EAC1F,SAAS,GAAGA,EAAO,QAAQ,WAAWA,EAAO,OAAO;AAAA,EACpD,GAAGE;AACP;"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { TableRowId } from '../Table.types';
|
|
2
|
+
/**
|
|
3
|
+
* Configuration for `useTableSelection`.
|
|
4
|
+
*/
|
|
5
|
+
export type UseTableSelectionOptions<RowType extends Record<string, unknown>> = {
|
|
6
|
+
/**
|
|
7
|
+
* Data rows that participate in active-row and selection state.
|
|
8
|
+
*/
|
|
9
|
+
rows: RowType[];
|
|
10
|
+
/**
|
|
11
|
+
* Optional key accessor used to derive stable row ids.
|
|
12
|
+
*
|
|
13
|
+
* If omitted, the row index is used as a fallback.
|
|
14
|
+
*/
|
|
15
|
+
rowKey?: keyof RowType | ((row: RowType, rowIndex: number) => TableRowId);
|
|
16
|
+
/**
|
|
17
|
+
* Optional initially active row id.
|
|
18
|
+
*/
|
|
19
|
+
initialActiveRowId?: TableRowId;
|
|
20
|
+
/**
|
|
21
|
+
* Optional initially selected row ids.
|
|
22
|
+
*/
|
|
23
|
+
initialSelectedRowIds?: TableRowId[];
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* Selection and active-row state returned by `useTableSelection`.
|
|
27
|
+
*/
|
|
28
|
+
export type UseTableSelectionReturn = {
|
|
29
|
+
/**
|
|
30
|
+
* Currently active row id.
|
|
31
|
+
*/
|
|
32
|
+
activeRowId?: TableRowId;
|
|
33
|
+
/**
|
|
34
|
+
* Currently selected row ids.
|
|
35
|
+
*/
|
|
36
|
+
selectedRowIds: TableRowId[];
|
|
37
|
+
/**
|
|
38
|
+
* Whether at least one row is currently selected.
|
|
39
|
+
*/
|
|
40
|
+
hasSelection: boolean;
|
|
41
|
+
/**
|
|
42
|
+
* Whether all current rows are selected.
|
|
43
|
+
*/
|
|
44
|
+
isAllSelected: boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Checks whether a given row id is currently selected.
|
|
47
|
+
*/
|
|
48
|
+
isRowSelected: (rowId: TableRowId) => boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Sets the current active row id.
|
|
51
|
+
*/
|
|
52
|
+
setActiveRowId: (rowId: TableRowId | undefined) => void;
|
|
53
|
+
/**
|
|
54
|
+
* Replaces the current selection with the provided row ids.
|
|
55
|
+
*/
|
|
56
|
+
setSelectedRowIds: (rowIds: TableRowId[]) => void;
|
|
57
|
+
/**
|
|
58
|
+
* Toggles selection state for a single row id.
|
|
59
|
+
*/
|
|
60
|
+
toggleRowSelection: (rowId: TableRowId) => void;
|
|
61
|
+
/**
|
|
62
|
+
* Selects or deselects all current rows.
|
|
63
|
+
*
|
|
64
|
+
* If `shouldSelect` is omitted, the hook toggles based on the current
|
|
65
|
+
* all-selected state.
|
|
66
|
+
*/
|
|
67
|
+
toggleAllSelection: (shouldSelect?: boolean) => void;
|
|
68
|
+
/**
|
|
69
|
+
* Clears the current selection.
|
|
70
|
+
*/
|
|
71
|
+
clearSelection: () => void;
|
|
72
|
+
};
|
|
73
|
+
/**
|
|
74
|
+
* Small helper hook for controlled table demos and simple table integrations
|
|
75
|
+
* that need active-row state plus checkbox selection state.
|
|
76
|
+
*
|
|
77
|
+
* The hook derives stable row ids from `rows` and `rowKey`, keeps the active
|
|
78
|
+
* row and selection in sync when rows change, and provides convenience helpers
|
|
79
|
+
* for single-row and all-row toggling.
|
|
80
|
+
*/
|
|
81
|
+
declare const useTableSelection: <RowType extends Record<string, unknown>>(props: UseTableSelectionOptions<RowType>) => UseTableSelectionReturn;
|
|
82
|
+
export default useTableSelection;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { useMemo as d, useState as r, useEffect as y } from "react";
|
|
2
|
+
import { resolveRowKey as v } from "../model/resolveRowMeta.js";
|
|
3
|
+
const K = (S) => {
|
|
4
|
+
const { rows: n, rowKey: i, initialActiveRowId: w, initialSelectedRowIds: f = [] } = S, l = d(() => n.map((e, t) => v(e, t, i)), [n, i]), c = d(() => new Set(l), [l]), [g, a] = r(w), [o, s] = r(f);
|
|
5
|
+
y(() => {
|
|
6
|
+
s((e) => e.filter((t) => c.has(t))), a(
|
|
7
|
+
(e) => e !== void 0 && c.has(e) ? e : void 0
|
|
8
|
+
);
|
|
9
|
+
}, [c]);
|
|
10
|
+
const m = (e) => {
|
|
11
|
+
s(
|
|
12
|
+
(t) => t.includes(e) ? t.filter((R) => R !== e) : [...t, e]
|
|
13
|
+
);
|
|
14
|
+
}, u = (e = !l.every((t) => o.includes(t))) => {
|
|
15
|
+
s(e ? l : []);
|
|
16
|
+
}, h = () => {
|
|
17
|
+
s([]);
|
|
18
|
+
};
|
|
19
|
+
return {
|
|
20
|
+
activeRowId: g,
|
|
21
|
+
selectedRowIds: o,
|
|
22
|
+
hasSelection: o.length > 0,
|
|
23
|
+
isAllSelected: l.length > 0 && l.every((e) => o.includes(e)),
|
|
24
|
+
isRowSelected: (e) => o.includes(e),
|
|
25
|
+
setActiveRowId: a,
|
|
26
|
+
setSelectedRowIds: s,
|
|
27
|
+
toggleRowSelection: m,
|
|
28
|
+
toggleAllSelection: u,
|
|
29
|
+
clearSelection: h
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
export {
|
|
33
|
+
K as default
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=useTableSelection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTableSelection.js","sources":["../../../../src/components/table/selection/useTableSelection.ts"],"sourcesContent":["import { useEffect, useMemo, useState } from 'react';\n\nimport { resolveRowKey } from '../model/resolveRowMeta';\nimport type { TableRowId } from '../Table.types';\n\n/**\n * Configuration for `useTableSelection`.\n */\nexport type UseTableSelectionOptions<RowType extends Record<string, unknown>> = {\n /**\n * Data rows that participate in active-row and selection state.\n */\n rows: RowType[];\n\n /**\n * Optional key accessor used to derive stable row ids.\n *\n * If omitted, the row index is used as a fallback.\n */\n rowKey?: keyof RowType | ((row: RowType, rowIndex: number) => TableRowId);\n\n /**\n * Optional initially active row id.\n */\n initialActiveRowId?: TableRowId;\n\n /**\n * Optional initially selected row ids.\n */\n initialSelectedRowIds?: TableRowId[];\n};\n\n/**\n * Selection and active-row state returned by `useTableSelection`.\n */\nexport type UseTableSelectionReturn = {\n /**\n * Currently active row id.\n */\n activeRowId?: TableRowId;\n\n /**\n * Currently selected row ids.\n */\n selectedRowIds: TableRowId[];\n\n /**\n * Whether at least one row is currently selected.\n */\n hasSelection: boolean;\n\n /**\n * Whether all current rows are selected.\n */\n isAllSelected: boolean;\n\n /**\n * Checks whether a given row id is currently selected.\n */\n isRowSelected: (rowId: TableRowId) => boolean;\n\n /**\n * Sets the current active row id.\n */\n setActiveRowId: (rowId: TableRowId | undefined) => void;\n\n /**\n * Replaces the current selection with the provided row ids.\n */\n setSelectedRowIds: (rowIds: TableRowId[]) => void;\n\n /**\n * Toggles selection state for a single row id.\n */\n toggleRowSelection: (rowId: TableRowId) => void;\n\n /**\n * Selects or deselects all current rows.\n *\n * If `shouldSelect` is omitted, the hook toggles based on the current\n * all-selected state.\n */\n toggleAllSelection: (shouldSelect?: boolean) => void;\n\n /**\n * Clears the current selection.\n */\n clearSelection: () => void;\n};\n\n/**\n * Small helper hook for controlled table demos and simple table integrations\n * that need active-row state plus checkbox selection state.\n *\n * The hook derives stable row ids from `rows` and `rowKey`, keeps the active\n * row and selection in sync when rows change, and provides convenience helpers\n * for single-row and all-row toggling.\n */\nconst useTableSelection = <RowType extends Record<string, unknown>>(\n props: UseTableSelectionOptions<RowType>\n): UseTableSelectionReturn => {\n const { rows, rowKey, initialActiveRowId, initialSelectedRowIds = [] } = props;\n\n const rowIds = useMemo(() => rows.map((row, rowIndex) => resolveRowKey(row, rowIndex, rowKey)), [rows, rowKey]);\n const rowIdSet = useMemo(() => new Set(rowIds), [rowIds]);\n\n const [activeRowId, setActiveRowId] = useState<TableRowId | undefined>(initialActiveRowId);\n const [selectedRowIds, setSelectedRowIds] = useState<TableRowId[]>(initialSelectedRowIds);\n\n useEffect(() => {\n setSelectedRowIds(previousSelectedRowIds => previousSelectedRowIds.filter(rowId => rowIdSet.has(rowId)));\n setActiveRowId(previousActiveRowId =>\n previousActiveRowId !== undefined && rowIdSet.has(previousActiveRowId) ? previousActiveRowId : undefined\n );\n }, [rowIdSet]);\n\n const toggleRowSelection = (rowId: TableRowId) => {\n setSelectedRowIds(previousSelectedRowIds =>\n previousSelectedRowIds.includes(rowId)\n ? previousSelectedRowIds.filter(selectedRowId => selectedRowId !== rowId)\n : [...previousSelectedRowIds, rowId]\n );\n };\n\n const toggleAllSelection = (shouldSelect = !rowIds.every(rowId => selectedRowIds.includes(rowId))) => {\n setSelectedRowIds(shouldSelect ? rowIds : []);\n };\n\n const clearSelection = () => {\n setSelectedRowIds([]);\n };\n\n return {\n activeRowId,\n selectedRowIds,\n hasSelection: selectedRowIds.length > 0,\n isAllSelected: rowIds.length > 0 && rowIds.every(rowId => selectedRowIds.includes(rowId)),\n isRowSelected: rowId => selectedRowIds.includes(rowId),\n setActiveRowId,\n setSelectedRowIds,\n toggleRowSelection,\n toggleAllSelection,\n clearSelection,\n };\n};\n\nexport default useTableSelection;\n"],"names":["useTableSelection","props","rows","rowKey","initialActiveRowId","initialSelectedRowIds","rowIds","useMemo","row","rowIndex","resolveRowKey","rowIdSet","activeRowId","setActiveRowId","useState","selectedRowIds","setSelectedRowIds","useEffect","previousSelectedRowIds","rowId","previousActiveRowId","toggleRowSelection","selectedRowId","toggleAllSelection","shouldSelect","clearSelection"],"mappings":";;AAkGA,MAAMA,IAAoB,CACtBC,MAC0B;AAC1B,QAAM,EAAE,MAAAC,GAAM,QAAAC,GAAQ,oBAAAC,GAAoB,uBAAAC,IAAwB,CAAA,MAAOJ,GAEnEK,IAASC,EAAQ,MAAML,EAAK,IAAI,CAACM,GAAKC,MAAaC,EAAcF,GAAKC,GAAUN,CAAM,CAAC,GAAG,CAACD,GAAMC,CAAM,CAAC,GACxGQ,IAAWJ,EAAQ,MAAM,IAAI,IAAID,CAAM,GAAG,CAACA,CAAM,CAAC,GAElD,CAACM,GAAaC,CAAc,IAAIC,EAAiCV,CAAkB,GACnF,CAACW,GAAgBC,CAAiB,IAAIF,EAAuBT,CAAqB;AAExF,EAAAY,EAAU,MAAM;AACZ,IAAAD,EAAkB,CAAAE,MAA0BA,EAAuB,OAAO,CAAAC,MAASR,EAAS,IAAIQ,CAAK,CAAC,CAAC,GACvGN;AAAA,MAAe,OACXO,MAAwB,UAAaT,EAAS,IAAIS,CAAmB,IAAIA,IAAsB;AAAA,IAAA;AAAA,EAEvG,GAAG,CAACT,CAAQ,CAAC;AAEb,QAAMU,IAAqB,CAACF,MAAsB;AAC9C,IAAAH;AAAA,MAAkB,CAAAE,MACdA,EAAuB,SAASC,CAAK,IAC/BD,EAAuB,OAAO,CAAAI,MAAiBA,MAAkBH,CAAK,IACtE,CAAC,GAAGD,GAAwBC,CAAK;AAAA,IAAA;AAAA,EAE/C,GAEMI,IAAqB,CAACC,IAAe,CAAClB,EAAO,MAAM,CAAAa,MAASJ,EAAe,SAASI,CAAK,CAAC,MAAM;AAClG,IAAAH,EAAkBQ,IAAelB,IAAS,EAAE;AAAA,EAChD,GAEMmB,IAAiB,MAAM;AACzB,IAAAT,EAAkB,CAAA,CAAE;AAAA,EACxB;AAEA,SAAO;AAAA,IACH,aAAAJ;AAAA,IACA,gBAAAG;AAAA,IACA,cAAcA,EAAe,SAAS;AAAA,IACtC,eAAeT,EAAO,SAAS,KAAKA,EAAO,MAAM,CAAAa,MAASJ,EAAe,SAASI,CAAK,CAAC;AAAA,IACxF,eAAe,CAAAA,MAASJ,EAAe,SAASI,CAAK;AAAA,IACrD,gBAAAN;AAAA,IACA,mBAAAG;AAAA,IACA,oBAAAK;AAAA,IACA,oBAAAE;AAAA,IACA,gBAAAE;AAAA,EAAA;AAER;"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export type TableColumnsDropdownItem = {
|
|
3
|
+
/**
|
|
4
|
+
* Stable unique column key.
|
|
5
|
+
*/
|
|
6
|
+
key: string;
|
|
7
|
+
/**
|
|
8
|
+
* Visible label shown inside the dropdown item.
|
|
9
|
+
*/
|
|
10
|
+
label: ReactNode;
|
|
11
|
+
/**
|
|
12
|
+
* Controls whether the column is currently visible in the table.
|
|
13
|
+
*/
|
|
14
|
+
visible: boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Hides the item from the dropdown list while keeping the column in the configuration.
|
|
17
|
+
*
|
|
18
|
+
* @default false
|
|
19
|
+
*/
|
|
20
|
+
hideLabel?: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Disables visibility changes and drag reordering for this item.
|
|
23
|
+
*
|
|
24
|
+
* @default false
|
|
25
|
+
*/
|
|
26
|
+
disabled?: boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Enables or disables drag reordering for this item.
|
|
29
|
+
*
|
|
30
|
+
* @default true
|
|
31
|
+
*/
|
|
32
|
+
draggable?: boolean;
|
|
33
|
+
};
|
|
34
|
+
type TableColumnsDropdownBaseProps = {
|
|
35
|
+
/**
|
|
36
|
+
* Configurable column items displayed inside the dropdown.
|
|
37
|
+
*/
|
|
38
|
+
columns: TableColumnsDropdownItem[];
|
|
39
|
+
/**
|
|
40
|
+
* Called when drag reordering produces a new column order.
|
|
41
|
+
*/
|
|
42
|
+
onColumnOrderChange?: (columnOrder: string[]) => void;
|
|
43
|
+
/**
|
|
44
|
+
* Called when a column item is toggled visible or hidden.
|
|
45
|
+
*/
|
|
46
|
+
onColumnVisibilityChange?: (columnKey: string, visible: boolean) => void;
|
|
47
|
+
/**
|
|
48
|
+
* Called when the reset action is triggered.
|
|
49
|
+
*/
|
|
50
|
+
onReset?: () => void;
|
|
51
|
+
/**
|
|
52
|
+
* Label shown on the dropdown trigger button.
|
|
53
|
+
*/
|
|
54
|
+
label?: ReactNode;
|
|
55
|
+
/**
|
|
56
|
+
* Optional classes for the outer dropdown component.
|
|
57
|
+
*/
|
|
58
|
+
className?: string;
|
|
59
|
+
/**
|
|
60
|
+
* Optional classes for the dropdown toggle button.
|
|
61
|
+
*/
|
|
62
|
+
toggleClassName?: string;
|
|
63
|
+
/**
|
|
64
|
+
* Optional classes for the dropdown menu.
|
|
65
|
+
*/
|
|
66
|
+
dropdownClassName?: string;
|
|
67
|
+
};
|
|
68
|
+
export type TableColumnsDropdownProps = (TableColumnsDropdownBaseProps & {
|
|
69
|
+
/**
|
|
70
|
+
* Shows the reset action at the bottom of the dropdown.
|
|
71
|
+
*/
|
|
72
|
+
showResetButton: true;
|
|
73
|
+
/**
|
|
74
|
+
* Label rendered for the reset action.
|
|
75
|
+
*/
|
|
76
|
+
resetLabel: ReactNode;
|
|
77
|
+
}) | (TableColumnsDropdownBaseProps & {
|
|
78
|
+
/**
|
|
79
|
+
* Hides the reset action.
|
|
80
|
+
*
|
|
81
|
+
* @default false
|
|
82
|
+
*/
|
|
83
|
+
showResetButton?: false;
|
|
84
|
+
/**
|
|
85
|
+
* Optional reset label kept for API compatibility when the reset action is hidden.
|
|
86
|
+
*/
|
|
87
|
+
resetLabel?: ReactNode;
|
|
88
|
+
});
|
|
89
|
+
declare const TableColumnsDropdown: (props: TableColumnsDropdownProps) => import("react/jsx-runtime").JSX.Element;
|
|
90
|
+
export default TableColumnsDropdown;
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import { jsx as s, jsxs as c, Fragment as k } from "react/jsx-runtime";
|
|
2
|
+
import { useSensors as B, useSensor as w, PointerSensor as M, KeyboardSensor as R, DndContext as A, closestCenter as P } from "@dnd-kit/core";
|
|
3
|
+
import { sortableKeyboardCoordinates as G, SortableContext as V, verticalListSortingStrategy as j } from "@dnd-kit/sortable";
|
|
4
|
+
import { useState as x, useEffect as H } from "react";
|
|
5
|
+
import v from "../../../utils/classNames.js";
|
|
6
|
+
import W from "../../../utils/arrayMove.js";
|
|
7
|
+
import z from "../../dropdown/ButtonDropdown.js";
|
|
8
|
+
import { TABLE_HORIZONTAL_SCROLL_EVENT as S } from "../layout/useHorizontalSectionSync.js";
|
|
9
|
+
import F from "./TableColumnsDropdownItem.js";
|
|
10
|
+
const U = 4, C = (o) => o.draggable !== !1 && !o.disabled && !o.hideLabel, Z = (o, t, n) => Math.min(Math.max(o, Math.min(t, n)), Math.max(t, n)), q = (o) => ({ containerNodeRect: t, draggingNodeRect: n, transform: r }) => !t || !n ? {
|
|
11
|
+
...r,
|
|
12
|
+
x: 0
|
|
13
|
+
} : {
|
|
14
|
+
...r,
|
|
15
|
+
x: 0,
|
|
16
|
+
y: Z(
|
|
17
|
+
r.y,
|
|
18
|
+
t.top + o - n.top,
|
|
19
|
+
t.bottom - o - n.bottom
|
|
20
|
+
)
|
|
21
|
+
}, J = q(U), Q = (o, t, n) => {
|
|
22
|
+
const r = o.filter(C).map((a) => a.key), l = r.indexOf(t), i = r.indexOf(n);
|
|
23
|
+
if (l < 0 || i < 0)
|
|
24
|
+
return;
|
|
25
|
+
const p = W(r, l, i);
|
|
26
|
+
let d = 0;
|
|
27
|
+
return o.map((a) => {
|
|
28
|
+
if (!C(a))
|
|
29
|
+
return a.key;
|
|
30
|
+
const f = p[d];
|
|
31
|
+
return d += 1, f ?? a.key;
|
|
32
|
+
});
|
|
33
|
+
}, ae = (o) => {
|
|
34
|
+
const {
|
|
35
|
+
columns: t,
|
|
36
|
+
onColumnOrderChange: n,
|
|
37
|
+
onColumnVisibilityChange: r,
|
|
38
|
+
onReset: l,
|
|
39
|
+
label: i,
|
|
40
|
+
resetLabel: p,
|
|
41
|
+
showResetButton: d = !1,
|
|
42
|
+
className: a,
|
|
43
|
+
toggleClassName: f,
|
|
44
|
+
dropdownClassName: L
|
|
45
|
+
} = o, [N, m] = x(!1), [O, g] = x(!1), E = typeof n == "function", u = typeof l == "function", y = t.filter((e) => !e.hideLabel);
|
|
46
|
+
H(() => {
|
|
47
|
+
const e = () => m(!1);
|
|
48
|
+
return window.addEventListener(S, e), () => window.removeEventListener(S, e);
|
|
49
|
+
}, []);
|
|
50
|
+
const K = B(
|
|
51
|
+
w(M, { activationConstraint: { distance: 6 } }),
|
|
52
|
+
w(R, { coordinateGetter: G })
|
|
53
|
+
), T = (e) => {
|
|
54
|
+
g(!0);
|
|
55
|
+
}, _ = (e) => {
|
|
56
|
+
g(!1);
|
|
57
|
+
const D = String(e.active.id), h = e.over ? String(e.over.id) : void 0;
|
|
58
|
+
if (!h || D === h)
|
|
59
|
+
return;
|
|
60
|
+
const b = Q(t, D, h);
|
|
61
|
+
b && n?.(b);
|
|
62
|
+
}, I = () => {
|
|
63
|
+
u && (m(!1), l());
|
|
64
|
+
};
|
|
65
|
+
return /* @__PURE__ */ s(
|
|
66
|
+
z,
|
|
67
|
+
{
|
|
68
|
+
title: /* @__PURE__ */ c("span", { className: "display-inline-flex align-items-center gap-5", children: [
|
|
69
|
+
/* @__PURE__ */ s("span", { className: "rioglyph rioglyph-table-view" }),
|
|
70
|
+
/* @__PURE__ */ s("span", { children: i })
|
|
71
|
+
] }),
|
|
72
|
+
noCaret: !0,
|
|
73
|
+
open: N,
|
|
74
|
+
onOpen: () => m(!0),
|
|
75
|
+
onClose: () => m(!1),
|
|
76
|
+
className: a,
|
|
77
|
+
toggleClassName: f,
|
|
78
|
+
dropdownClassName: v(
|
|
79
|
+
"min-width-200 max-height-75vh overflow-y-auto overflow-x-hidden",
|
|
80
|
+
O && "table-columns-dropdown-dragging",
|
|
81
|
+
L
|
|
82
|
+
),
|
|
83
|
+
pullRight: !0,
|
|
84
|
+
customDropdown: /* @__PURE__ */ c(
|
|
85
|
+
A,
|
|
86
|
+
{
|
|
87
|
+
sensors: K,
|
|
88
|
+
collisionDetection: P,
|
|
89
|
+
modifiers: [J],
|
|
90
|
+
onDragStart: T,
|
|
91
|
+
onDragEnd: _,
|
|
92
|
+
onDragCancel: () => g(!1),
|
|
93
|
+
children: [
|
|
94
|
+
/* @__PURE__ */ s(
|
|
95
|
+
V,
|
|
96
|
+
{
|
|
97
|
+
items: y.map((e) => e.key),
|
|
98
|
+
strategy: j,
|
|
99
|
+
children: y.map((e) => /* @__PURE__ */ s(
|
|
100
|
+
F,
|
|
101
|
+
{
|
|
102
|
+
column: e,
|
|
103
|
+
isDraggable: E && C(e),
|
|
104
|
+
onColumnVisibilityChange: r
|
|
105
|
+
},
|
|
106
|
+
e.key
|
|
107
|
+
))
|
|
108
|
+
}
|
|
109
|
+
),
|
|
110
|
+
d && /* @__PURE__ */ c(k, { children: [
|
|
111
|
+
/* @__PURE__ */ s("li", { className: "divider", role: "separator" }),
|
|
112
|
+
/* @__PURE__ */ s("li", { className: v(!u && "disabled"), role: "presentation", children: /* @__PURE__ */ c(
|
|
113
|
+
"a",
|
|
114
|
+
{
|
|
115
|
+
className: "display-flex align-items-center gap-10",
|
|
116
|
+
role: "menuitem",
|
|
117
|
+
"aria-disabled": !u,
|
|
118
|
+
onClick: (e) => {
|
|
119
|
+
e.preventDefault(), I();
|
|
120
|
+
},
|
|
121
|
+
children: [
|
|
122
|
+
/* @__PURE__ */ s("span", { className: "rioglyph rioglyph-refresh" }),
|
|
123
|
+
/* @__PURE__ */ s("span", { children: p })
|
|
124
|
+
]
|
|
125
|
+
}
|
|
126
|
+
) })
|
|
127
|
+
] })
|
|
128
|
+
]
|
|
129
|
+
}
|
|
130
|
+
)
|
|
131
|
+
}
|
|
132
|
+
);
|
|
133
|
+
};
|
|
134
|
+
export {
|
|
135
|
+
ae as default
|
|
136
|
+
};
|
|
137
|
+
//# sourceMappingURL=TableColumnsDropdown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableColumnsDropdown.js","sources":["../../../../src/components/table/settings/TableColumnsDropdown.tsx"],"sourcesContent":["import {\n closestCenter,\n DndContext,\n KeyboardSensor,\n PointerSensor,\n type DragStartEvent,\n type DragEndEvent,\n type Modifier,\n useSensor,\n useSensors,\n} from '@dnd-kit/core';\nimport { SortableContext, sortableKeyboardCoordinates, verticalListSortingStrategy } from '@dnd-kit/sortable';\nimport { useEffect, useState, type ReactNode } from 'react';\n\nimport classNames from '../../../utils/classNames';\nimport arrayMove from '../../../utils/arrayMove';\nimport ButtonDropdown from '../../dropdown/ButtonDropdown';\nimport { TABLE_HORIZONTAL_SCROLL_EVENT } from '../layout/useHorizontalSectionSync';\nimport TableColumnsDropdownItemComponent from './TableColumnsDropdownItem';\n\nexport type TableColumnsDropdownItem = {\n /**\n * Stable unique column key.\n */\n key: string;\n\n /**\n * Visible label shown inside the dropdown item.\n */\n label: ReactNode;\n\n /**\n * Controls whether the column is currently visible in the table.\n */\n visible: boolean;\n\n /**\n * Hides the item from the dropdown list while keeping the column in the configuration.\n *\n * @default false\n */\n hideLabel?: boolean;\n\n /**\n * Disables visibility changes and drag reordering for this item.\n *\n * @default false\n */\n disabled?: boolean;\n\n /**\n * Enables or disables drag reordering for this item.\n *\n * @default true\n */\n draggable?: boolean;\n};\n\ntype TableColumnsDropdownBaseProps = {\n /**\n * Configurable column items displayed inside the dropdown.\n */\n columns: TableColumnsDropdownItem[];\n\n /**\n * Called when drag reordering produces a new column order.\n */\n onColumnOrderChange?: (columnOrder: string[]) => void;\n\n /**\n * Called when a column item is toggled visible or hidden.\n */\n onColumnVisibilityChange?: (columnKey: string, visible: boolean) => void;\n\n /**\n * Called when the reset action is triggered.\n */\n onReset?: () => void;\n\n /**\n * Label shown on the dropdown trigger button.\n */\n label?: ReactNode;\n\n /**\n * Optional classes for the outer dropdown component.\n */\n className?: string;\n\n /**\n * Optional classes for the dropdown toggle button.\n */\n toggleClassName?: string;\n\n /**\n * Optional classes for the dropdown menu.\n */\n dropdownClassName?: string;\n};\n\nexport type TableColumnsDropdownProps =\n | (TableColumnsDropdownBaseProps & {\n /**\n * Shows the reset action at the bottom of the dropdown.\n */\n showResetButton: true;\n\n /**\n * Label rendered for the reset action.\n */\n resetLabel: ReactNode;\n })\n | (TableColumnsDropdownBaseProps & {\n /**\n * Hides the reset action.\n *\n * @default false\n */\n showResetButton?: false;\n\n /**\n * Optional reset label kept for API compatibility when the reset action is hidden.\n */\n resetLabel?: ReactNode;\n });\n\nconst TABLE_COLUMNS_DROPDOWN_DRAG_PADDING = 4;\n\nconst isColumnDraggable = (column: TableColumnsDropdownItem) =>\n column.draggable !== false && !column.disabled && !column.hideLabel;\n\nconst clamp = (value: number, min: number, max: number) =>\n Math.min(Math.max(value, Math.min(min, max)), Math.max(min, max));\n\nconst restrictToVerticalDropdownBoundsWithPadding =\n (padding: number): Modifier =>\n ({ containerNodeRect, draggingNodeRect, transform }) => {\n if (!containerNodeRect || !draggingNodeRect) {\n return {\n ...transform,\n x: 0,\n };\n }\n\n return {\n ...transform,\n x: 0,\n y: clamp(\n transform.y,\n containerNodeRect.top + padding - draggingNodeRect.top,\n containerNodeRect.bottom - padding - draggingNodeRect.bottom\n ),\n };\n };\n\nconst restrictToDropdownBounds = restrictToVerticalDropdownBoundsWithPadding(TABLE_COLUMNS_DROPDOWN_DRAG_PADDING);\n\nconst reorderColumns = (columns: TableColumnsDropdownItem[], activeColumnKey: string, overColumnKey: string) => {\n const draggableColumnKeys = columns.filter(isColumnDraggable).map(column => column.key);\n const oldIndex = draggableColumnKeys.indexOf(activeColumnKey);\n const newIndex = draggableColumnKeys.indexOf(overColumnKey);\n\n if (oldIndex < 0 || newIndex < 0) {\n return;\n }\n\n const nextDraggableColumnKeys = arrayMove(draggableColumnKeys, oldIndex, newIndex);\n let nextDraggableColumnKeyIndex = 0;\n\n return columns.map(column => {\n if (!isColumnDraggable(column)) {\n return column.key;\n }\n\n const nextColumnKey = nextDraggableColumnKeys[nextDraggableColumnKeyIndex];\n nextDraggableColumnKeyIndex += 1;\n return nextColumnKey ?? column.key;\n });\n};\n\nconst TableColumnsDropdown = (props: TableColumnsDropdownProps) => {\n const {\n columns,\n onColumnOrderChange,\n onColumnVisibilityChange,\n onReset,\n label,\n resetLabel,\n showResetButton = false,\n className,\n toggleClassName,\n dropdownClassName,\n } = props;\n\n const [open, setOpen] = useState(false);\n const [isDragging, setIsDragging] = useState(false);\n\n const allowReorder = typeof onColumnOrderChange === 'function';\n const canReset = typeof onReset === 'function';\n\n const dropdownColumns = columns.filter(column => !column.hideLabel);\n\n useEffect(() => {\n const handleHorizontalScroll = () => setOpen(false);\n window.addEventListener(TABLE_HORIZONTAL_SCROLL_EVENT, handleHorizontalScroll);\n return () => window.removeEventListener(TABLE_HORIZONTAL_SCROLL_EVENT, handleHorizontalScroll);\n }, []);\n\n const sensors = useSensors(\n useSensor(PointerSensor, { activationConstraint: { distance: 6 } }),\n useSensor(KeyboardSensor, { coordinateGetter: sortableKeyboardCoordinates })\n );\n\n const handleDragStart = (_event: DragStartEvent) => {\n setIsDragging(true);\n };\n\n const handleDragEnd = (event: DragEndEvent) => {\n setIsDragging(false);\n\n const activeColumnKey = String(event.active.id);\n const overColumnKey = event.over ? String(event.over.id) : undefined;\n\n if (!overColumnKey || activeColumnKey === overColumnKey) {\n return;\n }\n\n const nextColumnOrder = reorderColumns(columns, activeColumnKey, overColumnKey);\n\n if (nextColumnOrder) {\n onColumnOrderChange?.(nextColumnOrder);\n }\n };\n\n const handleReset = () => {\n if (!canReset) {\n return;\n }\n\n setOpen(false);\n onReset();\n };\n\n return (\n <ButtonDropdown\n title={\n <span className='display-inline-flex align-items-center gap-5'>\n <span className='rioglyph rioglyph-table-view' />\n <span>{label}</span>\n </span>\n }\n noCaret\n open={open}\n onOpen={() => setOpen(true)}\n onClose={() => setOpen(false)}\n className={className}\n toggleClassName={toggleClassName}\n dropdownClassName={classNames(\n 'min-width-200 max-height-75vh overflow-y-auto overflow-x-hidden',\n isDragging && 'table-columns-dropdown-dragging',\n dropdownClassName\n )}\n pullRight\n customDropdown={\n <DndContext\n sensors={sensors}\n collisionDetection={closestCenter}\n modifiers={[restrictToDropdownBounds]}\n onDragStart={handleDragStart}\n onDragEnd={handleDragEnd}\n onDragCancel={() => setIsDragging(false)}\n >\n <SortableContext\n items={dropdownColumns.map(column => column.key)}\n strategy={verticalListSortingStrategy}\n >\n {dropdownColumns.map(column => (\n <TableColumnsDropdownItemComponent\n key={column.key}\n column={column}\n isDraggable={allowReorder && isColumnDraggable(column)}\n onColumnVisibilityChange={onColumnVisibilityChange}\n />\n ))}\n </SortableContext>\n {showResetButton && (\n <>\n <li className='divider' role='separator' />\n <li className={classNames(!canReset && 'disabled')} role='presentation'>\n <a\n className='display-flex align-items-center gap-10'\n role='menuitem'\n aria-disabled={!canReset}\n onClick={event => {\n event.preventDefault();\n handleReset();\n }}\n >\n <span className='rioglyph rioglyph-refresh' />\n <span>{resetLabel}</span>\n </a>\n </li>\n </>\n )}\n </DndContext>\n }\n />\n );\n};\n\nexport default TableColumnsDropdown;\n"],"names":["TABLE_COLUMNS_DROPDOWN_DRAG_PADDING","isColumnDraggable","column","clamp","value","min","max","restrictToVerticalDropdownBoundsWithPadding","padding","containerNodeRect","draggingNodeRect","transform","restrictToDropdownBounds","reorderColumns","columns","activeColumnKey","overColumnKey","draggableColumnKeys","oldIndex","newIndex","nextDraggableColumnKeys","arrayMove","nextDraggableColumnKeyIndex","nextColumnKey","TableColumnsDropdown","props","onColumnOrderChange","onColumnVisibilityChange","onReset","label","resetLabel","showResetButton","className","toggleClassName","dropdownClassName","open","setOpen","useState","isDragging","setIsDragging","allowReorder","canReset","dropdownColumns","useEffect","handleHorizontalScroll","TABLE_HORIZONTAL_SCROLL_EVENT","sensors","useSensors","useSensor","PointerSensor","KeyboardSensor","sortableKeyboardCoordinates","handleDragStart","_event","handleDragEnd","event","nextColumnOrder","handleReset","jsx","ButtonDropdown","jsxs","classNames","DndContext","closestCenter","SortableContext","verticalListSortingStrategy","TableColumnsDropdownItemComponent","Fragment"],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { TableColumnsDropdownItem as TableColumnsDropdownColumn } from './TableColumnsDropdown';
|
|
2
|
+
export type TableColumnsDropdownItemProps = {
|
|
3
|
+
column: TableColumnsDropdownColumn;
|
|
4
|
+
isDraggable: boolean;
|
|
5
|
+
onColumnVisibilityChange?: (columnKey: string, visible: boolean) => void;
|
|
6
|
+
};
|
|
7
|
+
declare const TableColumnsDropdownItem: (props: TableColumnsDropdownItemProps) => import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export default TableColumnsDropdownItem;
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { jsx as a, jsxs as o } from "react/jsx-runtime";
|
|
2
|
+
import { useSortable as h } from "@dnd-kit/sortable";
|
|
3
|
+
import { CSS as u } from "@dnd-kit/utilities";
|
|
4
|
+
import n from "../../../utils/classNames.js";
|
|
5
|
+
import y from "../../checkbox/Checkbox.js";
|
|
6
|
+
const w = (r) => {
|
|
7
|
+
const { column: e, isDraggable: l, onColumnVisibilityChange: t } = r, { attributes: d, listeners: m, setActivatorNodeRef: c, setNodeRef: p, transform: b, transition: g, isDragging: f } = h({
|
|
8
|
+
id: e.key,
|
|
9
|
+
disabled: !l
|
|
10
|
+
}), s = () => {
|
|
11
|
+
e.disabled || t?.(e.key, !e.visible);
|
|
12
|
+
};
|
|
13
|
+
return /* @__PURE__ */ a(
|
|
14
|
+
"li",
|
|
15
|
+
{
|
|
16
|
+
className: n(e.disabled && "disabled", f && "table-columns-dropdown-item-dragging"),
|
|
17
|
+
ref: p,
|
|
18
|
+
role: "presentation",
|
|
19
|
+
style: { transform: u.Transform.toString(b), transition: g },
|
|
20
|
+
children: /* @__PURE__ */ o(
|
|
21
|
+
"a",
|
|
22
|
+
{
|
|
23
|
+
className: "display-flex gap-5 align-items-center justify-content-between",
|
|
24
|
+
role: "menuitemcheckbox",
|
|
25
|
+
"aria-checked": e.visible,
|
|
26
|
+
onClick: (i) => {
|
|
27
|
+
i.preventDefault(), s();
|
|
28
|
+
},
|
|
29
|
+
children: [
|
|
30
|
+
/* @__PURE__ */ o("div", { className: "display-flex gap-10 align-items-center", children: [
|
|
31
|
+
/* @__PURE__ */ a(
|
|
32
|
+
y,
|
|
33
|
+
{
|
|
34
|
+
checked: e.visible,
|
|
35
|
+
disabled: e.disabled,
|
|
36
|
+
onClick: (i) => i.stopPropagation(),
|
|
37
|
+
onChange: s,
|
|
38
|
+
className: "margin-top--4"
|
|
39
|
+
}
|
|
40
|
+
),
|
|
41
|
+
/* @__PURE__ */ a("div", { className: "table-columns-dropdown-item-label", children: e.label })
|
|
42
|
+
] }),
|
|
43
|
+
/* @__PURE__ */ a(
|
|
44
|
+
"div",
|
|
45
|
+
{
|
|
46
|
+
className: n(
|
|
47
|
+
"table-columns-dropdown-item-drag-handle",
|
|
48
|
+
!l && "table-columns-dropdown-item-drag-handle-disabled"
|
|
49
|
+
),
|
|
50
|
+
ref: c,
|
|
51
|
+
onClick: (i) => i.stopPropagation(),
|
|
52
|
+
...d,
|
|
53
|
+
...m,
|
|
54
|
+
children: /* @__PURE__ */ a("span", { className: "rioglyph rioglyph-drag-n-drop" })
|
|
55
|
+
}
|
|
56
|
+
)
|
|
57
|
+
]
|
|
58
|
+
}
|
|
59
|
+
)
|
|
60
|
+
}
|
|
61
|
+
);
|
|
62
|
+
};
|
|
63
|
+
export {
|
|
64
|
+
w as default
|
|
65
|
+
};
|
|
66
|
+
//# sourceMappingURL=TableColumnsDropdownItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableColumnsDropdownItem.js","sources":["../../../../src/components/table/settings/TableColumnsDropdownItem.tsx"],"sourcesContent":["import { useSortable } from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\n\nimport classNames from '../../../utils/classNames';\nimport Checkbox from '../../checkbox/Checkbox';\nimport type { TableColumnsDropdownItem as TableColumnsDropdownColumn } from './TableColumnsDropdown';\n\nexport type TableColumnsDropdownItemProps = {\n column: TableColumnsDropdownColumn;\n isDraggable: boolean;\n onColumnVisibilityChange?: (columnKey: string, visible: boolean) => void;\n};\n\nconst TableColumnsDropdownItem = (props: TableColumnsDropdownItemProps) => {\n const { column, isDraggable, onColumnVisibilityChange } = props;\n\n const { attributes, listeners, setActivatorNodeRef, setNodeRef, transform, transition, isDragging } = useSortable({\n id: column.key,\n disabled: !isDraggable,\n });\n\n const handleToggleVisibility = () => {\n if (column.disabled) {\n return;\n }\n\n onColumnVisibilityChange?.(column.key, !column.visible);\n };\n\n return (\n <li\n className={classNames(column.disabled && 'disabled', isDragging && 'table-columns-dropdown-item-dragging')}\n ref={setNodeRef}\n role='presentation'\n style={{ transform: CSS.Transform.toString(transform), transition }}\n >\n <a\n className='display-flex gap-5 align-items-center justify-content-between'\n role='menuitemcheckbox'\n aria-checked={column.visible}\n onClick={event => {\n event.preventDefault();\n handleToggleVisibility();\n }}\n >\n <div className='display-flex gap-10 align-items-center'>\n <Checkbox\n checked={column.visible}\n disabled={column.disabled}\n onClick={event => event.stopPropagation()}\n onChange={handleToggleVisibility}\n className='margin-top--4'\n />\n <div className='table-columns-dropdown-item-label'>{column.label}</div>\n </div>\n <div\n className={classNames(\n 'table-columns-dropdown-item-drag-handle',\n !isDraggable && 'table-columns-dropdown-item-drag-handle-disabled'\n )}\n ref={setActivatorNodeRef}\n onClick={event => event.stopPropagation()}\n {...attributes}\n {...listeners}\n >\n <span className='rioglyph rioglyph-drag-n-drop' />\n </div>\n </a>\n </li>\n );\n};\n\nexport default TableColumnsDropdownItem;\n"],"names":["TableColumnsDropdownItem","props","column","isDraggable","onColumnVisibilityChange","attributes","listeners","setActivatorNodeRef","setNodeRef","transform","transition","isDragging","useSortable","handleToggleVisibility","jsx","classNames","CSS","jsxs","event","Checkbox"],"mappings":";;;;;AAaA,MAAMA,IAA2B,CAACC,MAAyC;AACvE,QAAM,EAAE,QAAAC,GAAQ,aAAAC,GAAa,0BAAAC,EAAA,IAA6BH,GAEpD,EAAE,YAAAI,GAAY,WAAAC,GAAW,qBAAAC,GAAqB,YAAAC,GAAY,WAAAC,GAAW,YAAAC,GAAY,YAAAC,EAAA,IAAeC,EAAY;AAAA,IAC9G,IAAIV,EAAO;AAAA,IACX,UAAU,CAACC;AAAA,EAAA,CACd,GAEKU,IAAyB,MAAM;AACjC,IAAIX,EAAO,YAIXE,IAA2BF,EAAO,KAAK,CAACA,EAAO,OAAO;AAAA,EAC1D;AAEA,SACI,gBAAAY;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,WAAWC,EAAWb,EAAO,YAAY,YAAYS,KAAc,sCAAsC;AAAA,MACzG,KAAKH;AAAA,MACL,MAAK;AAAA,MACL,OAAO,EAAE,WAAWQ,EAAI,UAAU,SAASP,CAAS,GAAG,YAAAC,EAAA;AAAA,MAEvD,UAAA,gBAAAO;AAAA,QAAC;AAAA,QAAA;AAAA,UACG,WAAU;AAAA,UACV,MAAK;AAAA,UACL,gBAAcf,EAAO;AAAA,UACrB,SAAS,CAAAgB,MAAS;AACd,YAAAA,EAAM,eAAA,GACNL,EAAA;AAAA,UACJ;AAAA,UAEA,UAAA;AAAA,YAAA,gBAAAI,EAAC,OAAA,EAAI,WAAU,0CACX,UAAA;AAAA,cAAA,gBAAAH;AAAA,gBAACK;AAAA,gBAAA;AAAA,kBACG,SAASjB,EAAO;AAAA,kBAChB,UAAUA,EAAO;AAAA,kBACjB,SAAS,CAAAgB,MAASA,EAAM,gBAAA;AAAA,kBACxB,UAAUL;AAAA,kBACV,WAAU;AAAA,gBAAA;AAAA,cAAA;AAAA,cAEd,gBAAAC,EAAC,OAAA,EAAI,WAAU,qCAAqC,YAAO,MAAA,CAAM;AAAA,YAAA,GACrE;AAAA,YACA,gBAAAA;AAAA,cAAC;AAAA,cAAA;AAAA,gBACG,WAAWC;AAAA,kBACP;AAAA,kBACA,CAACZ,KAAe;AAAA,gBAAA;AAAA,gBAEpB,KAAKI;AAAA,gBACL,SAAS,CAAAW,MAASA,EAAM,gBAAA;AAAA,gBACvB,GAAGb;AAAA,gBACH,GAAGC;AAAA,gBAEJ,UAAA,gBAAAQ,EAAC,QAAA,EAAK,WAAU,gCAAA,CAAgC;AAAA,cAAA;AAAA,YAAA;AAAA,UACpD;AAAA,QAAA;AAAA,MAAA;AAAA,IACJ;AAAA,EAAA;AAGZ;"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { TableHorizontalAlign, TableVerticalAlign } from '../Table.types';
|
|
2
|
+
export declare const getHorizontalAlignClassName: (align?: TableHorizontalAlign) => "table-align-center" | "table-align-right" | "table-align-left";
|
|
3
|
+
export declare const getVerticalAlignClassName: (align?: TableVerticalAlign) => "table-vertical-align-top" | "table-vertical-align-bottom" | "table-vertical-align-middle";
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
const e = (t = "left") => t === "center" ? "table-align-center" : t === "right" ? "table-align-right" : "table-align-left", l = (t = "middle") => t === "top" ? "table-vertical-align-top" : t === "bottom" ? "table-vertical-align-bottom" : "table-vertical-align-middle";
|
|
2
|
+
export {
|
|
3
|
+
e as getHorizontalAlignClassName,
|
|
4
|
+
l as getVerticalAlignClassName
|
|
5
|
+
};
|
|
6
|
+
//# sourceMappingURL=getAlignClassName.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getAlignClassName.js","sources":["../../../../src/components/table/shared/getAlignClassName.ts"],"sourcesContent":["import type { TableHorizontalAlign, TableVerticalAlign } from '../Table.types';\n\nexport const getHorizontalAlignClassName = (align: TableHorizontalAlign = 'left') => {\n if (align === 'center') {\n return 'table-align-center';\n }\n\n if (align === 'right') {\n return 'table-align-right';\n }\n\n return 'table-align-left';\n};\n\nexport const getVerticalAlignClassName = (align: TableVerticalAlign = 'middle') => {\n if (align === 'top') {\n return 'table-vertical-align-top';\n }\n\n if (align === 'bottom') {\n return 'table-vertical-align-bottom';\n }\n\n return 'table-vertical-align-middle';\n};\n"],"names":["getHorizontalAlignClassName","align","getVerticalAlignClassName"],"mappings":"AAEO,MAAMA,IAA8B,CAACC,IAA8B,WAClEA,MAAU,WACH,uBAGPA,MAAU,UACH,sBAGJ,oBAGEC,IAA4B,CAACD,IAA4B,aAC9DA,MAAU,QACH,6BAGPA,MAAU,WACH,gCAGJ;"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { KeyboardEventHandler } from 'react';
|
|
2
|
+
type GetInteractiveRowPropsArgs<RowType extends Record<string, unknown>> = {
|
|
3
|
+
isClickable: boolean;
|
|
4
|
+
onRowClick?: (row: RowType, rowIndex: number) => void;
|
|
5
|
+
row: RowType;
|
|
6
|
+
rowIndex: number;
|
|
7
|
+
};
|
|
8
|
+
export declare const getInteractiveRowProps: <RowType extends Record<string, unknown>>(args: GetInteractiveRowPropsArgs<RowType>) => {
|
|
9
|
+
isClickableClassName: string | undefined;
|
|
10
|
+
onClick: (() => void | undefined) | undefined;
|
|
11
|
+
onKeyDown: KeyboardEventHandler<HTMLDivElement> | undefined;
|
|
12
|
+
tabIndex: number | undefined;
|
|
13
|
+
};
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
const r = (t) => {
|
|
2
|
+
const { isClickable: o, onRowClick: i, row: n, rowIndex: l } = t;
|
|
3
|
+
return {
|
|
4
|
+
isClickableClassName: o ? "table-row-clickable" : void 0,
|
|
5
|
+
onClick: o ? () => i?.(n, l) : void 0,
|
|
6
|
+
onKeyDown: o ? (e) => {
|
|
7
|
+
(e.key === "Enter" || e.key === " ") && (e.preventDefault(), i?.(n, l));
|
|
8
|
+
} : void 0,
|
|
9
|
+
tabIndex: o ? 0 : void 0
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
export {
|
|
13
|
+
r as getInteractiveRowProps
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=getInteractiveRowProps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getInteractiveRowProps.js","sources":["../../../../src/components/table/shared/getInteractiveRowProps.ts"],"sourcesContent":["import type { KeyboardEventHandler } from 'react';\n\ntype GetInteractiveRowPropsArgs<RowType extends Record<string, unknown>> = {\n isClickable: boolean;\n onRowClick?: (row: RowType, rowIndex: number) => void;\n row: RowType;\n rowIndex: number;\n};\n\nexport const getInteractiveRowProps = <RowType extends Record<string, unknown>>(\n args: GetInteractiveRowPropsArgs<RowType>\n) => {\n const { isClickable, onRowClick, row, rowIndex } = args;\n\n const onKeyDown: KeyboardEventHandler<HTMLDivElement> | undefined = isClickable\n ? event => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n onRowClick?.(row, rowIndex);\n }\n }\n : undefined;\n\n return {\n isClickableClassName: isClickable ? 'table-row-clickable' : undefined,\n onClick: isClickable ? () => onRowClick?.(row, rowIndex) : undefined,\n onKeyDown,\n tabIndex: isClickable ? 0 : undefined,\n };\n};\n"],"names":["getInteractiveRowProps","args","isClickable","onRowClick","row","rowIndex","event"],"mappings":"AASO,MAAMA,IAAyB,CAClCC,MACC;AACD,QAAM,EAAE,aAAAC,GAAa,YAAAC,GAAY,KAAAC,GAAK,UAAAC,MAAaJ;AAWnD,SAAO;AAAA,IACH,sBAAsBC,IAAc,wBAAwB;AAAA,IAC5D,SAASA,IAAc,MAAMC,IAAaC,GAAKC,CAAQ,IAAI;AAAA,IAC3D,WAZgEH,IAC9D,CAAAI,MAAS;AACL,OAAIA,EAAM,QAAQ,WAAWA,EAAM,QAAQ,SACvCA,EAAM,eAAA,GACNH,IAAaC,GAAKC,CAAQ;AAAA,IAElC,IACA;AAAA,IAMF,UAAUH,IAAc,IAAI;AAAA,EAAA;AAEpC;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveTableAria.js","sources":["../../../../src/components/table/shared/resolveTableAria.ts"],"sourcesContent":["export const resolveAriaColIndex = (columnStart: number, showSelectionColumn?: boolean) =>\n columnStart + (showSelectionColumn ? 1 : 0);\n\nexport const resolveAriaSpan = (span: number) => (span > 1 ? span : undefined);\n"],"names":["resolveAriaColIndex","columnStart","showSelectionColumn","resolveAriaSpan","span"],"mappings":"AAAO,MAAMA,IAAsB,CAACC,GAAqBC,MACrDD,KAAeC,IAAsB,IAAI,IAEhCC,IAAkB,CAACC,MAAkBA,IAAO,IAAIA,IAAO;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tableSizing.constants.js","sources":["../../../src/components/table/tableSizing.constants.ts"],"sourcesContent":["export const MIN_COLUMN_WIDTH_PX = 50;\nexport const MIN_COLUMN_WIDTH = `${MIN_COLUMN_WIDTH_PX}px`;\nexport const DEFAULT_MIN_RESIZE_WIDTH_PX = MIN_COLUMN_WIDTH_PX;\nexport const DEFAULT_MAX_RESIZE_WIDTH_PX = 1000;\n"],"names":["MIN_COLUMN_WIDTH_PX","MIN_COLUMN_WIDTH","DEFAULT_MIN_RESIZE_WIDTH_PX","DEFAULT_MAX_RESIZE_WIDTH_PX"],"mappings":"AAAO,MAAMA,IAAsB,IACtBC,IAAmB,QACnBC,IAA8B,IAC9BC,IAA8B;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { jsx as
|
|
1
|
+
import { jsx as r } from "react/jsx-runtime";
|
|
2
2
|
import { Children as l } from "react";
|
|
3
3
|
import a from "../../utils/classNames.js";
|
|
4
4
|
const o = (s) => {
|
|
@@ -19,8 +19,8 @@ const o = (s) => {
|
|
|
19
19
|
return "col-12";
|
|
20
20
|
}
|
|
21
21
|
}, p = (s) => {
|
|
22
|
-
const { className: t, teaserPerRow: e, children:
|
|
23
|
-
return /* @__PURE__ */
|
|
22
|
+
const { className: t, teaserPerRow: e, children: c, columnClassName: n } = s, m = a("teaser-container", "row", "display-flex-sm flex-wrap-sm", t), i = o(e || l.count(c) || 1), u = a(i, n);
|
|
23
|
+
return /* @__PURE__ */ r("div", { className: m, children: l.map(c, (d) => /* @__PURE__ */ r("div", { className: u, children: d })) });
|
|
24
24
|
};
|
|
25
25
|
export {
|
|
26
26
|
p as default
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TeaserContainer.js","sources":["../../../src/components/teaser/TeaserContainer.tsx"],"sourcesContent":["import { Children, type PropsWithChildren } from 'react';\n\nimport classNames from '../../utils/classNames';\n\nconst getGridClasses = (amount: number) => {\n switch (amount) {\n case 1:\n return 'col-12';\n case 2:\n return 'col-12 col-sm-6';\n case 3:\n return 'col-12 col-md-4';\n case 4:\n return 'col-12 col-md-6 col-lg-3';\n case 6:\n return 'col-12 col-sm-4 col-lg-2';\n case 12:\n return 'col-12 col-sm-1';\n default:\n return 'col-12';\n }\n};\n\nexport type TeasersPerRow = 1 | 2 | 3 | 4 | 6 | 12;\n\nexport type TeaserContainerProps = {\n /**\n * Defines how many children are rendered into a row.\n *\n * If \"teaserPerRow\" is not defined, the container tries to put all children in a row with regard to the\n * Bootstrap grid. This is done by dividing the amount of children by 12 in order to figure out the col grid\n * classes.\n *\n * It is recommended to define \"teasersPerRow\" when having more than 4 teasers.\n *\n * Possible values are: `1` `2` `3` `4` `6` `12`\n */\n teaserPerRow?: TeasersPerRow;\n\n /**\n * Optional string for additional classes added to each column of a child.\n */\n columnClassName?: string;\n\n /**\n * Optional string for additional classes added to the row.\n */\n className?: string;\n};\n\nconst TeaserContainer = (props: PropsWithChildren<TeaserContainerProps>) => {\n const { className, teaserPerRow, children, columnClassName } = props;\n\n const rowClassNames = classNames('teaser-container', 'row', 'display-flex-sm flex-wrap-sm', className);\n\n const columnClassNames = teaserPerRow\n ? getGridClasses(teaserPerRow)\n : getGridClasses(Children.count(children) || 1);\n\n const aggregatedColumnClassNames = classNames(columnClassNames, columnClassName);\n\n return (\n <div className={rowClassNames}>\n {Children.map(children, child =>
|
|
1
|
+
{"version":3,"file":"TeaserContainer.js","sources":["../../../src/components/teaser/TeaserContainer.tsx"],"sourcesContent":["import { Children, type PropsWithChildren } from 'react';\n\nimport classNames from '../../utils/classNames';\n\nconst getGridClasses = (amount: number) => {\n switch (amount) {\n case 1:\n return 'col-12';\n case 2:\n return 'col-12 col-sm-6';\n case 3:\n return 'col-12 col-md-4';\n case 4:\n return 'col-12 col-md-6 col-lg-3';\n case 6:\n return 'col-12 col-sm-4 col-lg-2';\n case 12:\n return 'col-12 col-sm-1';\n default:\n return 'col-12';\n }\n};\n\nexport type TeasersPerRow = 1 | 2 | 3 | 4 | 6 | 12;\n\nexport type TeaserContainerProps = {\n /**\n * Defines how many children are rendered into a row.\n *\n * If \"teaserPerRow\" is not defined, the container tries to put all children in a row with regard to the\n * Bootstrap grid. This is done by dividing the amount of children by 12 in order to figure out the col grid\n * classes.\n *\n * It is recommended to define \"teasersPerRow\" when having more than 4 teasers.\n *\n * Possible values are: `1` `2` `3` `4` `6` `12`\n */\n teaserPerRow?: TeasersPerRow;\n\n /**\n * Optional string for additional classes added to each column of a child.\n */\n columnClassName?: string;\n\n /**\n * Optional string for additional classes added to the row.\n */\n className?: string;\n};\n\nconst TeaserContainer = (props: PropsWithChildren<TeaserContainerProps>) => {\n const { className, teaserPerRow, children, columnClassName } = props;\n\n const rowClassNames = classNames('teaser-container', 'row', 'display-flex-sm flex-wrap-sm', className);\n\n const columnClassNames = teaserPerRow\n ? getGridClasses(teaserPerRow)\n : getGridClasses(Children.count(children) || 1);\n\n const aggregatedColumnClassNames = classNames(columnClassNames, columnClassName);\n\n return (\n <div className={rowClassNames}>\n {Children.map(children, child => (\n <div className={aggregatedColumnClassNames}>{child}</div>\n ))}\n </div>\n );\n};\n\nexport default TeaserContainer;\n"],"names":["getGridClasses","amount","TeaserContainer","props","className","teaserPerRow","children","columnClassName","rowClassNames","classNames","columnClassNames","Children","aggregatedColumnClassNames","jsx","child"],"mappings":";;;AAIA,MAAMA,IAAiB,CAACC,MAAmB;AACvC,UAAQA,GAAA;AAAA,IACJ,KAAK;AACD,aAAO;AAAA,IACX,KAAK;AACD,aAAO;AAAA,IACX,KAAK;AACD,aAAO;AAAA,IACX,KAAK;AACD,aAAO;AAAA,IACX,KAAK;AACD,aAAO;AAAA,IACX,KAAK;AACD,aAAO;AAAA,IACX;AACI,aAAO;AAAA,EAAA;AAEnB,GA6BMC,IAAkB,CAACC,MAAmD;AACxE,QAAM,EAAE,WAAAC,GAAW,cAAAC,GAAc,UAAAC,GAAU,iBAAAC,MAAoBJ,GAEzDK,IAAgBC,EAAW,oBAAoB,OAAO,gCAAgCL,CAAS,GAE/FM,IACAV,EADmBK,KAEJM,EAAS,MAAML,CAAQ,KAAK,CADhB,GAG3BM,IAA6BH,EAAWC,GAAkBH,CAAe;AAE/E,SACI,gBAAAM,EAAC,OAAA,EAAI,WAAWL,GACX,YAAS,IAAIF,GAAU,CAAAQ,MACpB,gBAAAD,EAAC,OAAA,EAAI,WAAWD,GAA6B,UAAAE,GAAM,CACtD,GACL;AAER;"}
|