@rio-cloud/rio-uikit 2.2.1 → 2.3.0-beta.2
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/DayPicker.js +6 -2
- package/DayPicker.js.map +1 -1
- package/DayPickerCalendar.d.ts +2 -0
- package/DayPickerCalendar.js +5 -0
- package/DayPickerCalendar.js.map +1 -0
- package/DayPickerPrototype.d.ts +2 -0
- package/DayPickerPrototype.js +5 -0
- package/DayPickerPrototype.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/TableNext.d.ts +2 -0
- package/TableNext.js +23 -0
- package/TableNext.js.map +1 -0
- package/TableSettingsDialog.d.ts +2 -2
- package/TableSettingsDialog.js +1 -1
- package/TableToolbar.js +4 -2
- package/TableToolbar.js.map +1 -1
- 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/Tree.js +13 -13
- 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/charts/Area.d.ts +5 -3
- package/components/charts/Area.js +4 -3
- package/components/charts/Area.js.map +1 -1
- package/components/charts/AreaChart.js.map +1 -1
- package/components/charts/ComposedChart.js.map +1 -1
- package/components/checkbox/Checkbox.js +18 -17
- package/components/checkbox/Checkbox.js.map +1 -1
- package/components/clearableInput/ClearableInput.d.ts +30 -0
- package/components/clearableInput/ClearableInput.js +81 -78
- package/components/clearableInput/ClearableInput.js.map +1 -1
- package/components/datepicker/DateRangePicker.js +0 -2
- package/components/datepicker/DateRangePicker.js.map +1 -1
- package/components/datepicker/DayPicker.d.ts +4 -51
- package/components/datepicker/DayPicker.js +264 -256
- package/components/datepicker/DayPicker.js.map +1 -1
- package/components/datepicker/DayPickerCalendar.d.ts +4 -0
- package/components/datepicker/DayPickerCalendar.js +129 -0
- package/components/datepicker/DayPickerCalendar.js.map +1 -0
- package/components/datepicker/DayPickerDropdown.d.ts +18 -0
- package/components/datepicker/DayPickerDropdown.js +75 -0
- package/components/datepicker/DayPickerDropdown.js.map +1 -0
- package/components/datepicker/DayPickerDropdownFooter.d.ts +7 -0
- package/components/datepicker/DayPickerDropdownFooter.js +7 -0
- package/components/datepicker/DayPickerDropdownFooter.js.map +1 -0
- package/components/datepicker/DayPickerDropdownSidebar.d.ts +8 -0
- package/components/datepicker/DayPickerDropdownSidebar.js +7 -0
- package/components/datepicker/DayPickerDropdownSidebar.js.map +1 -0
- package/components/datepicker/DayPickerInput.d.ts +28 -0
- package/components/datepicker/DayPickerInput.js +65 -0
- package/components/datepicker/DayPickerInput.js.map +1 -0
- package/components/datepicker/DayPickerPrototype.d.ts +53 -0
- package/components/datepicker/DayPickerPrototype.js +285 -0
- package/components/datepicker/DayPickerPrototype.js.map +1 -0
- package/components/datepicker/dayPickerRangeSelectionUtils.d.ts +15 -0
- package/components/datepicker/dayPickerRangeSelectionUtils.js +31 -0
- package/components/datepicker/dayPickerRangeSelectionUtils.js.map +1 -0
- package/components/datepicker/dayPickerTypes.d.ts +517 -0
- package/components/datepicker/dayPickerTypes.js +7 -0
- package/components/datepicker/dayPickerTypes.js.map +1 -0
- package/components/datepicker/dayPickerUtils.d.ts +10 -0
- package/components/datepicker/dayPickerUtils.js +92 -0
- package/components/datepicker/dayPickerUtils.js.map +1 -0
- package/components/datepicker/useDayPickerInputState.d.ts +32 -0
- package/components/datepicker/useDayPickerInputState.js +85 -0
- package/components/datepicker/useDayPickerInputState.js.map +1 -0
- package/components/datepicker/useStackedDayPickerCalendars.d.ts +5 -0
- package/components/datepicker/useStackedDayPickerCalendars.js +39 -0
- package/components/datepicker/useStackedDayPickerCalendars.js.map +1 -0
- 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/divider/Divider.js +6 -6
- package/components/dropdown/ButtonDropdown.d.ts +4 -0
- package/components/dropdown/ButtonDropdown.js +70 -68
- package/components/dropdown/ButtonDropdown.js.map +1 -1
- package/components/dropdown/DropdownToggleButton.d.ts +1 -0
- package/components/dropdown/DropdownToggleButton.js +17 -15
- package/components/dropdown/DropdownToggleButton.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 +17 -20
- 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/loadMore/LoadMoreProgress.js +6 -7
- package/components/map/components/Map.js +3 -3
- 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/map/utils/rendering.js +5 -5
- 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 +3 -3
- package/components/popover/Popover.js.map +1 -1
- package/components/radiobutton/RadioCardGroup.js +3 -3
- package/components/resizer/Resizer.js +6 -3
- package/components/resizer/Resizer.js.map +1 -1
- package/components/rioglyph/RioglyphIconType.d.ts +1 -1
- package/components/selects/BaseSelectDropdown.js +34 -32
- package/components/selects/BaseSelectDropdown.js.map +1 -1
- package/components/selects/Multiselect.d.ts +6 -0
- package/components/selects/Multiselect.js +164 -150
- package/components/selects/Multiselect.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/selects/Select.js +39 -37
- package/components/selects/Select.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 +46 -0
- package/components/table/Table.js +256 -0
- package/components/table/Table.js.map +1 -0
- package/components/table/Table.types.d.ts +379 -0
- package/components/table/TableBody.d.ts +70 -0
- package/components/table/TableBody.js +135 -0
- package/components/table/TableBody.js.map +1 -0
- package/components/table/TableCardsSorting.js +25 -32
- package/components/table/TableCardsSorting.js.map +1 -1
- package/components/table/TableColumn.d.ts +55 -0
- package/components/table/TableColumn.js +115 -0
- package/components/table/TableColumn.js.map +1 -0
- package/components/table/TableExpandedContentRow.d.ts +22 -0
- package/components/table/TableExpandedContentRow.js +110 -0
- package/components/table/TableExpandedContentRow.js.map +1 -0
- package/components/table/TableExpandedRow.d.ts +22 -0
- package/components/table/TableExpandedRow.js +150 -0
- package/components/table/TableExpandedRow.js.map +1 -0
- package/components/table/TableExpanderButton.d.ts +25 -0
- package/components/table/TableExpanderButton.js +24 -0
- package/components/table/TableExpanderButton.js.map +1 -0
- package/components/table/TableFooter.d.ts +17 -0
- package/components/table/TableFooter.js +52 -0
- package/components/table/TableFooter.js.map +1 -0
- package/components/table/TableGroupFooterRow.d.ts +18 -0
- package/components/table/TableGroupFooterRow.js +30 -0
- package/components/table/TableGroupFooterRow.js.map +1 -0
- package/components/table/TableGroupRow.d.ts +24 -0
- package/components/table/TableGroupRow.js +36 -0
- package/components/table/TableGroupRow.js.map +1 -0
- package/components/table/TableHeader.d.ts +14 -0
- package/components/table/TableHeader.js +107 -0
- package/components/table/TableHeader.js.map +1 -0
- package/components/table/TableHeaderColumn.d.ts +76 -0
- package/components/table/TableHeaderColumn.js +81 -0
- package/components/table/TableHeaderColumn.js.map +1 -0
- package/components/table/TableHeaderRow.d.ts +9 -0
- package/components/table/TableHeaderRow.js +14 -0
- package/components/table/TableHeaderRow.js.map +1 -0
- package/components/table/TableRow.d.ts +24 -0
- package/components/table/TableRow.js +111 -0
- package/components/table/TableRow.js.map +1 -0
- package/components/table/TableSpacerRow.d.ts +13 -0
- package/components/table/TableSpacerRow.js +29 -0
- package/components/table/TableSpacerRow.js.map +1 -0
- package/components/table/TableToolbar.d.ts +3 -0
- package/components/table/TableToolbar.js +49 -4
- package/components/table/TableToolbar.js.map +1 -1
- package/components/table/TableToolbarColumn.d.ts +31 -0
- package/components/table/TableToolbarColumn.js +33 -0
- package/components/table/TableToolbarColumn.js.map +1 -0
- package/components/table/TableViewToggles.d.ts +21 -3
- package/components/table/TableViewToggles.js +59 -87
- package/components/table/TableViewToggles.js.map +1 -1
- package/components/table/context/TableInteractionContext.d.ts +26 -0
- package/components/table/context/TableInteractionContext.js +7 -0
- package/components/table/context/TableInteractionContext.js.map +1 -0
- package/components/table/context/TableLayoutContext.d.ts +25 -0
- package/components/table/context/TableLayoutContext.js +7 -0
- package/components/table/context/TableLayoutContext.js.map +1 -0
- package/components/table/context/TableRenderConfigContext.d.ts +27 -0
- package/components/table/context/TableRenderConfigContext.js +7 -0
- package/components/table/context/TableRenderConfigContext.js.map +1 -0
- package/components/table/context/TableRenderContext.d.ts +85 -0
- package/components/table/context/TableRenderContext.js +7 -0
- package/components/table/context/TableRenderContext.js.map +1 -0
- package/components/table/context/TableStructureContext.d.ts +31 -0
- package/components/table/context/TableStructureContext.js +17 -0
- package/components/table/context/TableStructureContext.js.map +1 -0
- 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 +13 -0
- package/components/table/layout/useHorizontalSectionSync.js +43 -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 +15 -0
- package/components/table/layout/useResizableColumns.js +132 -0
- package/components/table/layout/useResizableColumns.js.map +1 -0
- package/components/table/layout/useTableBodyScrollBottom.d.ts +12 -0
- package/components/table/layout/useTableBodyScrollBottom.js +37 -0
- package/components/table/layout/useTableBodyScrollBottom.js.map +1 -0
- package/components/table/layout/useTableLayout.d.ts +36 -0
- package/components/table/layout/useTableLayout.js +59 -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/resolveRowMeta.d.ts +3 -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 +47 -0
- package/components/table/model/resolveTableClassConfig.js +64 -0
- package/components/table/model/resolveTableClassConfig.js.map +1 -0
- package/components/table/model/tableView.types.d.ts +41 -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/render/body/TableBodyContent.d.ts +21 -0
- package/components/table/render/body/TableBodyContent.js +52 -0
- package/components/table/render/body/TableBodyContent.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/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/header/TableBatchDropdown.d.ts +13 -0
- package/components/table/render/header/TableBatchDropdown.js +30 -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 +72 -0
- package/components/table/render/header/TableColumnFilter.js.map +1 -0
- package/components/table/render/header/TableDraggableHeaderCell.d.ts +4 -0
- package/components/table/render/header/TableDraggableHeaderCell.js +64 -0
- package/components/table/render/header/TableDraggableHeaderCell.js.map +1 -0
- package/components/table/render/header/TableHeader.types.d.ts +37 -0
- package/components/table/render/header/TableHeaderCellContent.d.ts +4 -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 +4 -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 +14 -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/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 +4 -0
- package/components/table/render/header/TableStaticHeaderCell.js +48 -0
- package/components/table/render/header/TableStaticHeaderCell.js.map +1 -0
- package/components/table/render/header/resolveAriaSort.d.ts +3 -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 +12 -0
- package/components/table/render/header/resolveHeaderCellClassName.js +23 -0
- package/components/table/render/header/resolveHeaderCellClassName.js.map +1 -0
- package/components/table/render/header/resolveHeaderCellStyle.d.ts +830 -0
- package/components/table/render/header/resolveHeaderCellStyle.js +9 -0
- package/components/table/render/header/resolveHeaderCellStyle.js.map +1 -0
- package/components/table/runtime/shouldAnimateBodyRows.d.ts +17 -0
- package/components/table/runtime/shouldAnimateBodyRows.js +5 -0
- package/components/table/runtime/shouldAnimateBodyRows.js.map +1 -0
- package/components/table/runtime/useRenderDraftState.d.ts +14 -0
- package/components/table/runtime/useRenderDraftState.js +80 -0
- package/components/table/runtime/useRenderDraftState.js.map +1 -0
- package/components/table/runtime/useResolvedRenderColumns.d.ts +43 -0
- package/components/table/runtime/useResolvedRenderColumns.js +113 -0
- package/components/table/runtime/useResolvedRenderColumns.js.map +1 -0
- package/components/table/runtime/useResolvedRenderHeader.d.ts +27 -0
- package/components/table/runtime/useResolvedRenderHeader.js +67 -0
- package/components/table/runtime/useResolvedRenderHeader.js.map +1 -0
- package/components/table/selection/useInternalTableSelectionState.d.ts +17 -0
- package/components/table/selection/useInternalTableSelectionState.js +28 -0
- package/components/table/selection/useInternalTableSelectionState.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/getCellContentOverflowClassName.d.ts +3 -0
- package/components/table/shared/getCellContentOverflowClassName.js +18 -0
- package/components/table/shared/getCellContentOverflowClassName.js.map +1 -0
- package/components/table/shared/getInteractiveRowProps.d.ts +15 -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/hooks/useUrlState.js +3 -3
- package/package.json +17 -18
- 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 +37 -3
- package/utils/routeUtils.js +88 -70
- 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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableToolbar.js","sources":["../../../src/components/table/TableToolbar.tsx"],"sourcesContent":["import type
|
|
1
|
+
{"version":3,"file":"TableToolbar.js","sources":["../../../src/components/table/TableToolbar.tsx"],"sourcesContent":["import {\n Children,\n Fragment,\n isValidElement,\n useLayoutEffect,\n useRef,\n useState,\n type PropsWithChildren,\n type ReactElement,\n type ReactNode,\n} from 'react';\n\nimport useResizeObserver from '../../hooks/useResizeObserver';\nimport classNames from '../../utils/classNames';\nimport TableToolbarColumn, { type TableToolbarColumnProps } from './TableToolbarColumn';\n\nexport type TableToolbarProps = {\n /**\n * Optional class names for the wrapper element.\n */\n className?: string;\n};\n\ntype TableToolbarColumnElement = ReactElement<PropsWithChildren<TableToolbarColumnProps>, typeof TableToolbarColumn>;\n\nconst isTableToolbarColumnElement = (child: ReactNode): child is TableToolbarColumnElement =>\n isValidElement(child) && child.type === TableToolbarColumn;\n\nconst collectToolbarColumns = (children: ReactNode): TableToolbarColumnElement[] | null => {\n const columns: TableToolbarColumnElement[] = [];\n\n for (const child of Children.toArray(children)) {\n if (isValidElement(child) && child.type === Fragment) {\n const fragmentColumns = collectToolbarColumns(child.props.children);\n\n if (!fragmentColumns) {\n return null;\n }\n\n columns.push(...fragmentColumns);\n continue;\n }\n\n if (!isTableToolbarColumnElement(child)) {\n return null;\n }\n\n columns.push(child);\n }\n\n return columns;\n};\n\nconst hasWrappedFlexItems = (containerElement: HTMLDivElement | null) => {\n if (!containerElement) {\n return false;\n }\n\n const itemElements = Array.from(containerElement.children) as HTMLElement[];\n\n if (itemElements.length < 2) {\n return false;\n }\n\n const firstLineBottom = (itemElements[0]?.offsetTop ?? 0) + (itemElements[0]?.offsetHeight ?? 0);\n\n return itemElements.some(itemElement => itemElement.offsetTop + itemElement.offsetHeight !== firstLineBottom);\n};\n\nconst TableToolbar = ({ className, children }: PropsWithChildren<TableToolbarProps>) => {\n const toolbarRef = useRef<HTMLDivElement | null>(null);\n const leftGroupRef = useRef<HTMLDivElement | null>(null);\n const rightGroupRef = useRef<HTMLDivElement | null>(null);\n\n const [hasWrappedRows, setHasWrappedRows] = useState(false);\n\n const [toolbarContainerRef, , { inlineSize: toolbarInlineSize }] = useResizeObserver<HTMLDivElement>();\n\n const toolbarColumns = collectToolbarColumns(children);\n\n const leftColumns = (toolbarColumns ?? []).filter(column => column.props.horizontalAlign !== 'right');\n const rightColumns = (toolbarColumns ?? []).filter(column => column.props.horizontalAlign === 'right');\n\n useLayoutEffect(() => {\n const toolbarElement = toolbarRef.current;\n\n toolbarElement?.classList.add('table-toolbar-measuring');\n\n const nextHasWrappedRows =\n hasWrappedFlexItems(toolbarContainerRef.current) ||\n hasWrappedFlexItems(leftGroupRef.current) ||\n hasWrappedFlexItems(rightGroupRef.current);\n\n toolbarElement?.classList.remove('table-toolbar-measuring');\n\n setHasWrappedRows(nextHasWrappedRows);\n }, [children, leftColumns.length, rightColumns.length, toolbarInlineSize]);\n\n if (!toolbarColumns?.length) {\n return <div className={classNames('table-toolbar', className)}>{children}</div>;\n }\n\n return (\n <div\n className={classNames('table-toolbar', hasWrappedRows && 'table-toolbar-has-wrap', className)}\n ref={toolbarRef}\n >\n <div className='table-toolbar-container' ref={toolbarContainerRef}>\n {leftColumns.length > 0 && (\n <div className='table-toolbar-group-left' ref={leftGroupRef}>\n {leftColumns}\n </div>\n )}\n {rightColumns.length > 0 && (\n <div className='table-toolbar-group-right' ref={rightGroupRef}>\n {rightColumns}\n </div>\n )}\n </div>\n </div>\n );\n};\n\nexport default TableToolbar;\nexport { TableToolbarColumn };\nexport type {\n TableToolbarColumnHorizontalAlign,\n TableToolbarColumnProps,\n TableToolbarColumnVerticalAlign,\n} from './TableToolbarColumn';\n"],"names":["isTableToolbarColumnElement","child","isValidElement","TableToolbarColumn","collectToolbarColumns","children","columns","Children","Fragment","fragmentColumns","hasWrappedFlexItems","containerElement","itemElements","firstLineBottom","itemElement","TableToolbar","className","toolbarRef","useRef","leftGroupRef","rightGroupRef","hasWrappedRows","setHasWrappedRows","useState","toolbarContainerRef","toolbarInlineSize","useResizeObserver","toolbarColumns","leftColumns","column","rightColumns","useLayoutEffect","toolbarElement","nextHasWrappedRows","jsx","classNames","jsxs"],"mappings":";;;;;AAyBA,MAAMA,IAA8B,CAACC,MACjCC,EAAeD,CAAK,KAAKA,EAAM,SAASE,GAEtCC,IAAwB,CAACC,MAA4D;AACvF,QAAMC,IAAuC,CAAA;AAE7C,aAAWL,KAASM,EAAS,QAAQF,CAAQ,GAAG;AAC5C,QAAIH,EAAeD,CAAK,KAAKA,EAAM,SAASO,GAAU;AAClD,YAAMC,IAAkBL,EAAsBH,EAAM,MAAM,QAAQ;AAElE,UAAI,CAACQ;AACD,eAAO;AAGX,MAAAH,EAAQ,KAAK,GAAGG,CAAe;AAC/B;AAAA,IACJ;AAEA,QAAI,CAACT,EAA4BC,CAAK;AAClC,aAAO;AAGX,IAAAK,EAAQ,KAAKL,CAAK;AAAA,EACtB;AAEA,SAAOK;AACX,GAEMI,IAAsB,CAACC,MAA4C;AACrE,MAAI,CAACA;AACD,WAAO;AAGX,QAAMC,IAAe,MAAM,KAAKD,EAAiB,QAAQ;AAEzD,MAAIC,EAAa,SAAS;AACtB,WAAO;AAGX,QAAMC,KAAmBD,EAAa,CAAC,GAAG,aAAa,MAAMA,EAAa,CAAC,GAAG,gBAAgB;AAE9F,SAAOA,EAAa,KAAK,CAAAE,MAAeA,EAAY,YAAYA,EAAY,iBAAiBD,CAAe;AAChH,GAEME,IAAe,CAAC,EAAE,WAAAC,GAAW,UAAAX,QAAqD;AACpF,QAAMY,IAAaC,EAA8B,IAAI,GAC/CC,IAAeD,EAA8B,IAAI,GACjDE,IAAgBF,EAA8B,IAAI,GAElD,CAACG,GAAgBC,CAAiB,IAAIC,EAAS,EAAK,GAEpD,CAACC,KAAuB,EAAE,YAAYC,EAAA,CAAmB,IAAIC,EAAA,GAE7DC,IAAiBvB,EAAsBC,CAAQ,GAE/CuB,KAAeD,KAAkB,CAAA,GAAI,OAAO,CAAAE,MAAUA,EAAO,MAAM,oBAAoB,OAAO,GAC9FC,KAAgBH,KAAkB,CAAA,GAAI,OAAO,CAAAE,MAAUA,EAAO,MAAM,oBAAoB,OAAO;AAiBrG,SAfAE,EAAgB,MAAM;AAClB,UAAMC,IAAiBf,EAAW;AAElC,IAAAe,GAAgB,UAAU,IAAI,yBAAyB;AAEvD,UAAMC,IACFvB,EAAoBc,EAAoB,OAAO,KAC/Cd,EAAoBS,EAAa,OAAO,KACxCT,EAAoBU,EAAc,OAAO;AAE7C,IAAAY,GAAgB,UAAU,OAAO,yBAAyB,GAE1DV,EAAkBW,CAAkB;AAAA,EACxC,GAAG,CAAC5B,GAAUuB,EAAY,QAAQE,EAAa,QAAQL,CAAiB,CAAC,GAEpEE,GAAgB,SAKjB,gBAAAO;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,WAAWC,EAAW,iBAAiBd,KAAkB,0BAA0BL,CAAS;AAAA,MAC5F,KAAKC;AAAA,MAEL,UAAA,gBAAAmB,EAAC,OAAA,EAAI,WAAU,2BAA0B,KAAKZ,GACzC,UAAA;AAAA,QAAAI,EAAY,SAAS,KAClB,gBAAAM,EAAC,OAAA,EAAI,WAAU,4BAA2B,KAAKf,GAC1C,UAAAS,EAAA,CACL;AAAA,QAEHE,EAAa,SAAS,KACnB,gBAAAI,EAAC,SAAI,WAAU,6BAA4B,KAAKd,GAC3C,UAAAU,EAAA,CACL;AAAA,MAAA,EAAA,CAER;AAAA,IAAA;AAAA,EAAA,sBAnBI,OAAA,EAAI,WAAWK,EAAW,iBAAiBnB,CAAS,GAAI,UAAAX,GAAS;AAsBjF;"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { PropsWithChildren, ReactNode } from 'react';
|
|
2
|
+
export type TableToolbarColumnHorizontalAlign = 'left' | 'right';
|
|
3
|
+
export type TableToolbarColumnVerticalAlign = 'start' | 'center' | 'end';
|
|
4
|
+
export type TableToolbarColumnProps = {
|
|
5
|
+
/**
|
|
6
|
+
* Controls whether the column is rendered in the left or right toolbar group.
|
|
7
|
+
*
|
|
8
|
+
* @default 'left'
|
|
9
|
+
*/
|
|
10
|
+
horizontalAlign?: TableToolbarColumnHorizontalAlign;
|
|
11
|
+
/**
|
|
12
|
+
* Vertically centers this toolbar column within its group.
|
|
13
|
+
*
|
|
14
|
+
* @default 'end'
|
|
15
|
+
*/
|
|
16
|
+
verticalAlign?: TableToolbarColumnVerticalAlign;
|
|
17
|
+
/**
|
|
18
|
+
* Optional label rendered above the column content.
|
|
19
|
+
*/
|
|
20
|
+
label?: ReactNode;
|
|
21
|
+
/**
|
|
22
|
+
* Optional class names for the column wrapper.
|
|
23
|
+
*/
|
|
24
|
+
className?: string;
|
|
25
|
+
/**
|
|
26
|
+
* Adds the default toolbar separator styling for the column.
|
|
27
|
+
*/
|
|
28
|
+
separator?: boolean;
|
|
29
|
+
};
|
|
30
|
+
declare const TableToolbarColumn: (props: PropsWithChildren<TableToolbarColumnProps>) => import("react/jsx-runtime").JSX.Element;
|
|
31
|
+
export default TableToolbarColumn;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { jsxs as t, jsx as i } from "react/jsx-runtime";
|
|
2
|
+
import c from "../../utils/classNames.js";
|
|
3
|
+
const p = (a) => {
|
|
4
|
+
const {
|
|
5
|
+
horizontalAlign: m,
|
|
6
|
+
label: l,
|
|
7
|
+
className: o,
|
|
8
|
+
separator: e,
|
|
9
|
+
verticalAlign: r = "end",
|
|
10
|
+
children: n,
|
|
11
|
+
...s
|
|
12
|
+
} = a;
|
|
13
|
+
return /* @__PURE__ */ t(
|
|
14
|
+
"div",
|
|
15
|
+
{
|
|
16
|
+
...s,
|
|
17
|
+
className: c(
|
|
18
|
+
"table-toolbar-column",
|
|
19
|
+
`align-self-${r}`,
|
|
20
|
+
e && "table-toolbar-column-separator",
|
|
21
|
+
o
|
|
22
|
+
),
|
|
23
|
+
children: [
|
|
24
|
+
l ? /* @__PURE__ */ i("label", { className: "table-toolbar-label", children: l }) : null,
|
|
25
|
+
n
|
|
26
|
+
]
|
|
27
|
+
}
|
|
28
|
+
);
|
|
29
|
+
};
|
|
30
|
+
export {
|
|
31
|
+
p as default
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=TableToolbarColumn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableToolbarColumn.js","sources":["../../../src/components/table/TableToolbarColumn.tsx"],"sourcesContent":["import type { PropsWithChildren, ReactNode } from 'react';\n\nimport classNames from '../../utils/classNames';\n\nexport type TableToolbarColumnHorizontalAlign = 'left' | 'right';\nexport type TableToolbarColumnVerticalAlign = 'start' | 'center' | 'end';\n\nexport type TableToolbarColumnProps = {\n /**\n * Controls whether the column is rendered in the left or right toolbar group.\n *\n * @default 'left'\n */\n horizontalAlign?: TableToolbarColumnHorizontalAlign;\n\n /**\n * Vertically centers this toolbar column within its group.\n *\n * @default 'end'\n */\n verticalAlign?: TableToolbarColumnVerticalAlign;\n\n /**\n * Optional label rendered above the column content.\n */\n label?: ReactNode;\n\n /**\n * Optional class names for the column wrapper.\n */\n className?: string;\n\n /**\n * Adds the default toolbar separator styling for the column.\n */\n separator?: boolean;\n};\n\nconst TableToolbarColumn = (props: PropsWithChildren<TableToolbarColumnProps>) => {\n const {\n horizontalAlign: _horizontalAlign,\n label,\n className,\n separator,\n verticalAlign = 'end',\n children,\n ...remainingProps\n } = props;\n\n return (\n <div\n {...remainingProps}\n className={classNames(\n 'table-toolbar-column',\n `align-self-${verticalAlign}`,\n separator && 'table-toolbar-column-separator',\n className\n )}\n >\n {label ? <label className='table-toolbar-label'>{label}</label> : null}\n {children}\n </div>\n );\n};\n\nexport default TableToolbarColumn;\n"],"names":["TableToolbarColumn","props","_horizontalAlign","label","className","separator","verticalAlign","children","remainingProps","jsxs","classNames","jsx"],"mappings":";;AAsCA,MAAMA,IAAqB,CAACC,MAAsD;AAC9E,QAAM;AAAA,IACF,iBAAiBC;AAAA,IACjB,OAAAC;AAAA,IACA,WAAAC;AAAA,IACA,WAAAC;AAAA,IACA,eAAAC,IAAgB;AAAA,IAChB,UAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,IACHP;AAEJ,SACI,gBAAAQ;AAAA,IAAC;AAAA,IAAA;AAAA,MACI,GAAGD;AAAA,MACJ,WAAWE;AAAA,QACP;AAAA,QACA,cAAcJ,CAAa;AAAA,QAC3BD,KAAa;AAAA,QACbD;AAAA,MAAA;AAAA,MAGH,UAAA;AAAA,QAAAD,IAAQ,gBAAAQ,EAAC,SAAA,EAAM,WAAU,uBAAuB,aAAM,IAAW;AAAA,QACjEJ;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGb;"}
|
|
@@ -11,7 +11,7 @@ export type TableViewTogglesProps = {
|
|
|
11
11
|
* - `'TABLE'`
|
|
12
12
|
* - `TableViewToggles.VIEW_TYPE_TABLE`
|
|
13
13
|
* - `TableViewToggles.VIEW_TYPE_SINGLE_CARD`
|
|
14
|
-
* - `TableViewToggles.
|
|
14
|
+
* - `TableViewToggles.VIEW_TYPE_MULTI_CARDS`
|
|
15
15
|
*/
|
|
16
16
|
viewType?: TableViewTogglesViewType;
|
|
17
17
|
/**
|
|
@@ -24,9 +24,9 @@ export type TableViewTogglesProps = {
|
|
|
24
24
|
* - `'TABLE'`
|
|
25
25
|
* - `TableViewToggles.VIEW_TYPE_TABLE`
|
|
26
26
|
* - `TableViewToggles.VIEW_TYPE_SINGLE_CARD`
|
|
27
|
-
* - `TableViewToggles.
|
|
27
|
+
* - `TableViewToggles.VIEW_TYPE_MULTI_CARDS`
|
|
28
28
|
*
|
|
29
|
-
* @default TableViewToggles.
|
|
29
|
+
* @default TableViewToggles.VIEW_TYPE_TABLE
|
|
30
30
|
*/
|
|
31
31
|
initialViewType?: TableViewTogglesViewType;
|
|
32
32
|
/**
|
|
@@ -45,16 +45,34 @@ export type TableViewTogglesProps = {
|
|
|
45
45
|
onViewTypeChange: (viewType: TableViewTogglesViewType) => void;
|
|
46
46
|
/**
|
|
47
47
|
* Optional tooltip content for table view button.
|
|
48
|
+
*
|
|
49
|
+
* @deprecated Use `tableViewLabel` instead.
|
|
48
50
|
*/
|
|
49
51
|
tableViewTooltipContent?: string | ReactNode;
|
|
52
|
+
/**
|
|
53
|
+
* Optional label content for the table view select item.
|
|
54
|
+
*/
|
|
55
|
+
tableViewLabel?: string | ReactNode;
|
|
50
56
|
/**
|
|
51
57
|
* Optional tooltip content for single card view button.
|
|
58
|
+
*
|
|
59
|
+
* @deprecated Use `singleCardViewLabel` instead.
|
|
52
60
|
*/
|
|
53
61
|
singleCardViewTooltipContent?: string | ReactNode;
|
|
62
|
+
/**
|
|
63
|
+
* Optional label content for the single card view select item.
|
|
64
|
+
*/
|
|
65
|
+
singleCardViewLabel?: string | ReactNode;
|
|
54
66
|
/**
|
|
55
67
|
* Optional tooltip content for multi card view button.
|
|
68
|
+
*
|
|
69
|
+
* @deprecated Use `multiCardsViewLabel` instead.
|
|
56
70
|
*/
|
|
57
71
|
multiCardsViewTooltipContent?: string | ReactNode;
|
|
72
|
+
/**
|
|
73
|
+
* Optional label content for the multi cards view select item.
|
|
74
|
+
*/
|
|
75
|
+
multiCardsViewLabel?: string | ReactNode;
|
|
58
76
|
/**
|
|
59
77
|
* Disables all buttons.
|
|
60
78
|
*
|
|
@@ -1,95 +1,67 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { useState as
|
|
3
|
-
import { noop as
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
|
|
7
|
-
const L = (i, e) => /* @__PURE__ */ t(
|
|
8
|
-
A,
|
|
9
|
-
{
|
|
10
|
-
placement: "bottom",
|
|
11
|
-
overlay: /* @__PURE__ */ t(I, { id: "tooltip", allowOnTouch: !0, children: i }),
|
|
12
|
-
children: e
|
|
13
|
-
}
|
|
14
|
-
), h = {
|
|
1
|
+
import { jsx as i } from "react/jsx-runtime";
|
|
2
|
+
import { useState as y, useEffect as N } from "react";
|
|
3
|
+
import { noop as u } from "es-toolkit/compat";
|
|
4
|
+
import S from "../../utils/classNames.js";
|
|
5
|
+
import f from "../selects/Select.js";
|
|
6
|
+
const o = {
|
|
15
7
|
TABLE: "rioglyph-table-view",
|
|
16
8
|
SINGLE_CARD: "rioglyph-th-list",
|
|
17
9
|
MULTI_CARDS: "rioglyph-split-view"
|
|
18
|
-
},
|
|
19
|
-
const { viewType: e, currentViewType: s, disabledViewTypes: n, tooltipContent: l, onClick: r, disabled: p } = i;
|
|
20
|
-
if (n.includes(e))
|
|
21
|
-
return null;
|
|
22
|
-
const a = u(
|
|
23
|
-
"btn btn-default btn-icon-only",
|
|
24
|
-
p && "disabled pointer-events-none",
|
|
25
|
-
e === s && "active"
|
|
26
|
-
), o = /* @__PURE__ */ t("button", { className: a, type: "button", onClick: () => r(e), children: /* @__PURE__ */ t("span", { className: `rioglyph ${h[e]}` }) });
|
|
27
|
-
return l ? L(l, o) : o;
|
|
28
|
-
}, y = (i) => {
|
|
10
|
+
}, s = (r) => {
|
|
29
11
|
const {
|
|
30
|
-
viewType:
|
|
31
|
-
initialViewType:
|
|
32
|
-
disabledViewTypes:
|
|
33
|
-
onViewTypeChange:
|
|
34
|
-
tableViewTooltipContent:
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
}, [
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
},
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
{
|
|
79
|
-
viewType: "MULTI_CARDS",
|
|
80
|
-
currentViewType: T,
|
|
81
|
-
disabledViewTypes: n,
|
|
82
|
-
tooltipContent: a,
|
|
83
|
-
onClick: c,
|
|
84
|
-
disabled: o
|
|
85
|
-
}
|
|
86
|
-
)
|
|
87
|
-
] });
|
|
12
|
+
viewType: l,
|
|
13
|
+
initialViewType: p = "TABLE",
|
|
14
|
+
disabledViewTypes: T = [],
|
|
15
|
+
onViewTypeChange: c = u,
|
|
16
|
+
tableViewTooltipContent: m,
|
|
17
|
+
tableViewLabel: d,
|
|
18
|
+
singleCardViewTooltipContent: w,
|
|
19
|
+
singleCardViewLabel: C,
|
|
20
|
+
multiCardsViewTooltipContent: L,
|
|
21
|
+
multiCardsViewLabel: g,
|
|
22
|
+
disabled: E = !1,
|
|
23
|
+
className: a,
|
|
24
|
+
...I
|
|
25
|
+
} = r, [V, t] = y(p);
|
|
26
|
+
N(() => {
|
|
27
|
+
l && t(l);
|
|
28
|
+
}, [l]);
|
|
29
|
+
const b = (e) => {
|
|
30
|
+
t(e), c(e);
|
|
31
|
+
}, n = [
|
|
32
|
+
{
|
|
33
|
+
id: "TABLE",
|
|
34
|
+
label: d ?? m ?? "",
|
|
35
|
+
icon: /* @__PURE__ */ i("span", { className: `rioglyph ${o.TABLE}` })
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
id: "SINGLE_CARD",
|
|
39
|
+
label: C ?? w ?? "",
|
|
40
|
+
icon: /* @__PURE__ */ i("span", { className: `rioglyph ${o.SINGLE_CARD}` })
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
id: "MULTI_CARDS",
|
|
44
|
+
label: g ?? L ?? "",
|
|
45
|
+
icon: /* @__PURE__ */ i("span", { className: `rioglyph ${o.MULTI_CARDS}` })
|
|
46
|
+
}
|
|
47
|
+
], A = n.filter((e) => !T.includes(e.id)), _ = n.some((e) => e.label), h = S("TableViewToggles", a && a);
|
|
48
|
+
return /* @__PURE__ */ i("div", { ...I, className: h, children: /* @__PURE__ */ i("div", { className: "form-group margin-bottom-0", children: /* @__PURE__ */ i(
|
|
49
|
+
f,
|
|
50
|
+
{
|
|
51
|
+
options: A,
|
|
52
|
+
value: [V],
|
|
53
|
+
onChange: (e) => e && b(e.id),
|
|
54
|
+
disabled: E,
|
|
55
|
+
showSelectedItemIcon: !0,
|
|
56
|
+
pullRight: !0,
|
|
57
|
+
dropdownClassName: _ ? void 0 : "width-auto"
|
|
58
|
+
}
|
|
59
|
+
) }) });
|
|
88
60
|
};
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
61
|
+
s.VIEW_TYPE_TABLE = "TABLE";
|
|
62
|
+
s.VIEW_TYPE_SINGLE_CARD = "SINGLE_CARD";
|
|
63
|
+
s.VIEW_TYPE_MULTI_CARDS = "MULTI_CARDS";
|
|
92
64
|
export {
|
|
93
|
-
|
|
65
|
+
s as default
|
|
94
66
|
};
|
|
95
67
|
//# sourceMappingURL=TableViewToggles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableViewToggles.js","sources":["../../../src/components/table/TableViewToggles.tsx"],"sourcesContent":["import { type
|
|
1
|
+
{"version":3,"file":"TableViewToggles.js","sources":["../../../src/components/table/TableViewToggles.tsx"],"sourcesContent":["import { type ReactNode, useEffect, useState } from 'react';\nimport { noop } from 'es-toolkit/compat';\n\nimport classNames from '../../utils/classNames';\nimport Select, { type SelectOption } from '../selects/Select';\n\nconst typeIcons: Record<TableViewTogglesViewType, string> = {\n TABLE: 'rioglyph-table-view',\n SINGLE_CARD: 'rioglyph-th-list',\n MULTI_CARDS: 'rioglyph-split-view',\n};\n\ntype TableViewToggleOption = SelectOption & {\n id: TableViewTogglesViewType;\n};\n\nexport type TableViewTogglesViewType = 'SINGLE_CARD' | 'MULTI_CARDS' | 'TABLE';\n\nexport type TableViewTogglesProps = {\n /**\n * The current viewType for controlling the TablesViewToggles component.\n *\n * Possible values are:\n *\n * - `'SINGLE_CARD'`\n * - `'MULTI_CARDS'`\n * - `'TABLE'`\n * - `TableViewToggles.VIEW_TYPE_TABLE`\n * - `TableViewToggles.VIEW_TYPE_SINGLE_CARD`\n * - `TableViewToggles.VIEW_TYPE_MULTI_CARDS`\n */\n viewType?: TableViewTogglesViewType;\n\n /**\n * Defines the initial viewType (when viewType is not controlled from the outside).\n *\n * Possible values are:\n *\n * - `'SINGLE_CARD'`\n * - `'MULTI_CARDS'`\n * - `'TABLE'`\n * - `TableViewToggles.VIEW_TYPE_TABLE`\n * - `TableViewToggles.VIEW_TYPE_SINGLE_CARD`\n * - `TableViewToggles.VIEW_TYPE_MULTI_CARDS`\n *\n * @default TableViewToggles.VIEW_TYPE_TABLE\n */\n initialViewType?: TableViewTogglesViewType;\n\n /**\n * Defines the view types which shall not be supported and are omitted.\n *\n * @default []\n */\n disabledViewTypes?: TableViewTogglesViewType[];\n\n /**\n * Callback function for when the user wants to change the viewType.\n *\n * Receives the new type as an argument.\n *\n * @param viewType The new viewType selected by the user.\n */\n onViewTypeChange: (viewType: TableViewTogglesViewType) => void;\n\n /**\n * Optional tooltip content for table view button.\n *\n * @deprecated Use `tableViewLabel` instead.\n */\n tableViewTooltipContent?: string | ReactNode;\n\n /**\n * Optional label content for the table view select item.\n */\n tableViewLabel?: string | ReactNode;\n\n /**\n * Optional tooltip content for single card view button.\n *\n * @deprecated Use `singleCardViewLabel` instead.\n */\n singleCardViewTooltipContent?: string | ReactNode;\n\n /**\n * Optional label content for the single card view select item.\n */\n singleCardViewLabel?: string | ReactNode;\n\n /**\n * Optional tooltip content for multi card view button.\n *\n * @deprecated Use `multiCardsViewLabel` instead.\n */\n multiCardsViewTooltipContent?: string | ReactNode;\n\n /**\n * Optional label content for the multi cards view select item.\n */\n multiCardsViewLabel?: string | ReactNode;\n\n /**\n * Disables all buttons.\n *\n * This means the buttons cannot be clicked. Used when disabling toolbar buttons during loading state or when the\n * corresponding table is empty.\n *\n * @default false\n */\n disabled?: boolean;\n\n /**\n * Optional class names for the wrapper element.\n */\n className?: string;\n};\n\nconst TableViewToggles = (props: TableViewTogglesProps) => {\n const {\n viewType,\n initialViewType = 'TABLE',\n disabledViewTypes = [],\n onViewTypeChange = noop,\n tableViewTooltipContent,\n tableViewLabel,\n singleCardViewTooltipContent,\n singleCardViewLabel,\n multiCardsViewTooltipContent,\n multiCardsViewLabel,\n disabled = false,\n className,\n ...remainingProps\n } = props;\n\n const [internalViewType, setInternalViewType] = useState(initialViewType);\n\n // update internal state when external state changes - controlled component case\n useEffect(() => {\n if (viewType) {\n setInternalViewType(viewType);\n }\n }, [viewType]);\n\n const setViewType = (vt: TableViewTogglesViewType) => {\n setInternalViewType(vt);\n onViewTypeChange(vt);\n };\n\n const allOptions: TableViewToggleOption[] = [\n {\n id: 'TABLE',\n label: tableViewLabel ?? tableViewTooltipContent ?? '',\n icon: <span className={`rioglyph ${typeIcons.TABLE}`} />,\n },\n {\n id: 'SINGLE_CARD',\n label: singleCardViewLabel ?? singleCardViewTooltipContent ?? '',\n icon: <span className={`rioglyph ${typeIcons.SINGLE_CARD}`} />,\n },\n {\n id: 'MULTI_CARDS',\n label: multiCardsViewLabel ?? multiCardsViewTooltipContent ?? '',\n icon: <span className={`rioglyph ${typeIcons.MULTI_CARDS}`} />,\n },\n ];\n\n const options = allOptions.filter(option => !disabledViewTypes.includes(option.id));\n const hasOptionLabels = allOptions.some(option => option.label);\n\n const wrapperClassNames = classNames('TableViewToggles', className && className);\n\n return (\n <div {...remainingProps} className={wrapperClassNames}>\n <div className='form-group margin-bottom-0'>\n <Select\n options={options}\n value={[internalViewType]}\n onChange={item => item && setViewType(item.id as TableViewTogglesViewType)}\n disabled={disabled}\n showSelectedItemIcon\n pullRight\n dropdownClassName={!hasOptionLabels ? 'width-auto' : undefined}\n />\n </div>\n </div>\n );\n};\n\n// Don't export values as string but as a distinct union type\nTableViewToggles.VIEW_TYPE_TABLE = 'TABLE' as TableViewTogglesViewType;\nTableViewToggles.VIEW_TYPE_SINGLE_CARD = 'SINGLE_CARD' as TableViewTogglesViewType;\nTableViewToggles.VIEW_TYPE_MULTI_CARDS = 'MULTI_CARDS' as TableViewTogglesViewType;\n\nexport default TableViewToggles;\n"],"names":["typeIcons","TableViewToggles","props","viewType","initialViewType","disabledViewTypes","onViewTypeChange","noop","tableViewTooltipContent","tableViewLabel","singleCardViewTooltipContent","singleCardViewLabel","multiCardsViewTooltipContent","multiCardsViewLabel","disabled","className","remainingProps","internalViewType","setInternalViewType","useState","useEffect","setViewType","vt","allOptions","jsx","options","option","hasOptionLabels","wrapperClassNames","classNames","Select","item"],"mappings":";;;;;AAMA,MAAMA,IAAsD;AAAA,EACxD,OAAO;AAAA,EACP,aAAa;AAAA,EACb,aAAa;AACjB,GA2GMC,IAAmB,CAACC,MAAiC;AACvD,QAAM;AAAA,IACF,UAAAC;AAAA,IACA,iBAAAC,IAAkB;AAAA,IAClB,mBAAAC,IAAoB,CAAA;AAAA,IACpB,kBAAAC,IAAmBC;AAAA,IACnB,yBAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,8BAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,8BAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,UAAAC,IAAW;AAAA,IACX,WAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,IACHd,GAEE,CAACe,GAAkBC,CAAmB,IAAIC,EAASf,CAAe;AAGxE,EAAAgB,EAAU,MAAM;AACZ,IAAIjB,KACAe,EAAoBf,CAAQ;AAAA,EAEpC,GAAG,CAACA,CAAQ,CAAC;AAEb,QAAMkB,IAAc,CAACC,MAAiC;AAClD,IAAAJ,EAAoBI,CAAE,GACtBhB,EAAiBgB,CAAE;AAAA,EACvB,GAEMC,IAAsC;AAAA,IACxC;AAAA,MACI,IAAI;AAAA,MACJ,OAAOd,KAAkBD,KAA2B;AAAA,MACpD,MAAM,gBAAAgB,EAAC,QAAA,EAAK,WAAW,YAAYxB,EAAU,KAAK,GAAA,CAAI;AAAA,IAAA;AAAA,IAE1D;AAAA,MACI,IAAI;AAAA,MACJ,OAAOW,KAAuBD,KAAgC;AAAA,MAC9D,MAAM,gBAAAc,EAAC,QAAA,EAAK,WAAW,YAAYxB,EAAU,WAAW,GAAA,CAAI;AAAA,IAAA;AAAA,IAEhE;AAAA,MACI,IAAI;AAAA,MACJ,OAAOa,KAAuBD,KAAgC;AAAA,MAC9D,MAAM,gBAAAY,EAAC,QAAA,EAAK,WAAW,YAAYxB,EAAU,WAAW,GAAA,CAAI;AAAA,IAAA;AAAA,EAChE,GAGEyB,IAAUF,EAAW,OAAO,CAAAG,MAAU,CAACrB,EAAkB,SAASqB,EAAO,EAAE,CAAC,GAC5EC,IAAkBJ,EAAW,KAAK,CAAAG,MAAUA,EAAO,KAAK,GAExDE,IAAoBC,EAAW,oBAAoBd,KAAaA,CAAS;AAE/E,SACI,gBAAAS,EAAC,SAAK,GAAGR,GAAgB,WAAWY,GAChC,UAAA,gBAAAJ,EAAC,OAAA,EAAI,WAAU,8BACX,UAAA,gBAAAA;AAAA,IAACM;AAAA,IAAA;AAAA,MACG,SAAAL;AAAA,MACA,OAAO,CAACR,CAAgB;AAAA,MACxB,UAAU,CAAAc,MAAQA,KAAQV,EAAYU,EAAK,EAA8B;AAAA,MACzE,UAAAjB;AAAA,MACA,sBAAoB;AAAA,MACpB,WAAS;AAAA,MACT,mBAAoBa,IAAiC,SAAf;AAAA,IAAe;AAAA,EAAA,GAE7D,EAAA,CACJ;AAER;AAGA1B,EAAiB,kBAAkB;AACnCA,EAAiB,wBAAwB;AACzCA,EAAiB,wBAAwB;"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { MouseEvent as ReactMouseEvent, ReactNode } from 'react';
|
|
2
|
+
import { TableRowData, TableRowId, TableSortDirection } from '../Table.types';
|
|
3
|
+
/**
|
|
4
|
+
* User-facing table interaction state and callbacks consumed by header/body cells.
|
|
5
|
+
*
|
|
6
|
+
* These values are conceptually different from the normalized render model:
|
|
7
|
+
* they describe selection, sorting, and row activation/click behavior rather than
|
|
8
|
+
* the structural table draft.
|
|
9
|
+
*/
|
|
10
|
+
export type TableInteractionContextValue<RowType extends TableRowData> = {
|
|
11
|
+
showSelectionColumn?: boolean;
|
|
12
|
+
selectedRowIdSet: Set<TableRowId>;
|
|
13
|
+
selectionHeaderContent?: ReactNode;
|
|
14
|
+
isAllRowsSelected?: boolean;
|
|
15
|
+
isSomeRowsSelected?: boolean;
|
|
16
|
+
onToggleAllSelection?: () => void;
|
|
17
|
+
onToggleRowSelection?: (rowId: TableRowId) => void;
|
|
18
|
+
activeRowId?: TableRowId;
|
|
19
|
+
onActiveRowChange?: (rowId: TableRowId | undefined, row: RowType, rowIndex: number) => void;
|
|
20
|
+
onRowClick?: (row: RowType, rowIndex: number) => void;
|
|
21
|
+
isClickable: boolean;
|
|
22
|
+
onSortChange?: (columnKey: string, direction: TableSortDirection, event: ReactMouseEvent<HTMLButtonElement>) => void;
|
|
23
|
+
};
|
|
24
|
+
export declare const TableInteractionContext: import('react').Context<TableInteractionContextValue<TableRowData> | null>;
|
|
25
|
+
export declare const useOptionalTableInteractionContext: <RowType extends TableRowData>() => TableInteractionContextValue<RowType> | null;
|
|
26
|
+
export declare const useTableInteractionContext: <RowType extends TableRowData>() => TableInteractionContextValue<RowType>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableInteractionContext.js","sources":["../../../../src/components/table/context/TableInteractionContext.tsx"],"sourcesContent":["import { createContext, useContext, type MouseEvent as ReactMouseEvent, type ReactNode } from 'react';\n\nimport type { TableRowData, TableRowId, TableSortDirection } from '../Table.types';\n\n/**\n * User-facing table interaction state and callbacks consumed by header/body cells.\n *\n * These values are conceptually different from the normalized render model:\n * they describe selection, sorting, and row activation/click behavior rather than\n * the structural table draft.\n */\nexport type TableInteractionContextValue<RowType extends TableRowData> = {\n showSelectionColumn?: boolean;\n selectedRowIdSet: Set<TableRowId>;\n selectionHeaderContent?: ReactNode;\n isAllRowsSelected?: boolean;\n isSomeRowsSelected?: boolean;\n onToggleAllSelection?: () => void;\n onToggleRowSelection?: (rowId: TableRowId) => void;\n activeRowId?: TableRowId;\n onActiveRowChange?: (rowId: TableRowId | undefined, row: RowType, rowIndex: number) => void;\n onRowClick?: (row: RowType, rowIndex: number) => void;\n isClickable: boolean;\n onSortChange?: (\n columnKey: string,\n direction: TableSortDirection,\n event: ReactMouseEvent<HTMLButtonElement>\n ) => void;\n};\n\nexport const TableInteractionContext = createContext<TableInteractionContextValue<TableRowData> | null>(null);\n\nexport const useOptionalTableInteractionContext = <RowType extends TableRowData>() =>\n useContext(TableInteractionContext) as TableInteractionContextValue<RowType> | null;\n\nexport const useTableInteractionContext = <RowType extends TableRowData>() => {\n const context = useOptionalTableInteractionContext<RowType>();\n\n if (!context) {\n throw new Error('Table interaction context is missing.');\n }\n\n return context;\n};\n"],"names":["TableInteractionContext","createContext","useOptionalTableInteractionContext","useContext"],"mappings":";AA8BO,MAAMA,IAA0BC,EAAiE,IAAI,GAE/FC,IAAqC,MAC9CC,EAAWH,CAAuB;"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { PointerEvent as ReactPointerEvent, RefObject, UIEvent as ReactUIEvent } from 'react';
|
|
2
|
+
import { DragEndEvent } from '@dnd-kit/core';
|
|
3
|
+
/**
|
|
4
|
+
* Layout and column-behavior context.
|
|
5
|
+
*
|
|
6
|
+
* This groups scroll synchronization, sticky-column metadata, and drag/resize
|
|
7
|
+
* callbacks so header/footer/cell components do not need the full render model
|
|
8
|
+
* just to participate in layout behavior.
|
|
9
|
+
*/
|
|
10
|
+
export type TableLayoutContextValue = {
|
|
11
|
+
handleBodyScroll?: (event: ReactUIEvent<HTMLElement> | undefined) => void;
|
|
12
|
+
tableHeadRowRef: RefObject<HTMLDivElement>;
|
|
13
|
+
tableFooterRowRef: RefObject<HTMLDivElement>;
|
|
14
|
+
draggableColumnKeys?: string[];
|
|
15
|
+
lastResizableColumnKey?: string;
|
|
16
|
+
resettableColumnKeys?: Set<string>;
|
|
17
|
+
stickyLeftColumnCount?: number;
|
|
18
|
+
stickyFooter?: boolean;
|
|
19
|
+
onColumnDragEnd?: (event: DragEndEvent) => void;
|
|
20
|
+
onColumnResizeReset?: (columnKey: string) => void;
|
|
21
|
+
onColumnResizeStart?: (columnKey: string, event: ReactPointerEvent<HTMLDivElement>) => void;
|
|
22
|
+
};
|
|
23
|
+
export declare const TableLayoutContext: import('react').Context<TableLayoutContextValue | null>;
|
|
24
|
+
export declare const useOptionalTableLayoutContext: () => TableLayoutContextValue | null;
|
|
25
|
+
export declare const useTableLayoutContext: () => TableLayoutContextValue;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableLayoutContext.js","sources":["../../../../src/components/table/context/TableLayoutContext.tsx"],"sourcesContent":["import {\n createContext,\n useContext,\n type PointerEvent as ReactPointerEvent,\n type RefObject,\n type UIEvent as ReactUIEvent,\n} from 'react';\nimport type { DragEndEvent } from '@dnd-kit/core';\n\n/**\n * Layout and column-behavior context.\n *\n * This groups scroll synchronization, sticky-column metadata, and drag/resize\n * callbacks so header/footer/cell components do not need the full render model\n * just to participate in layout behavior.\n */\nexport type TableLayoutContextValue = {\n handleBodyScroll?: (event: ReactUIEvent<HTMLElement> | undefined) => void;\n tableHeadRowRef: RefObject<HTMLDivElement>;\n tableFooterRowRef: RefObject<HTMLDivElement>;\n draggableColumnKeys?: string[];\n lastResizableColumnKey?: string;\n resettableColumnKeys?: Set<string>;\n stickyLeftColumnCount?: number;\n stickyFooter?: boolean;\n onColumnDragEnd?: (event: DragEndEvent) => void;\n onColumnResizeReset?: (columnKey: string) => void;\n onColumnResizeStart?: (columnKey: string, event: ReactPointerEvent<HTMLDivElement>) => void;\n};\n\nexport const TableLayoutContext = createContext<TableLayoutContextValue | null>(null);\n\nexport const useOptionalTableLayoutContext = () => useContext(TableLayoutContext);\n\nexport const useTableLayoutContext = () => {\n const context = useOptionalTableLayoutContext();\n\n if (!context) {\n throw new Error('Table layout context is missing.');\n }\n\n return context;\n};\n"],"names":["TableLayoutContext","createContext","useOptionalTableLayoutContext","useContext"],"mappings":";AA8BO,MAAMA,IAAqBC,EAA8C,IAAI,GAEvEC,IAAgC,MAAMC,EAAWH,CAAkB;"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { MotionProps } from 'motion/react';
|
|
3
|
+
import { TableCellClassName, TableExpandedRowAnimation, TableRowClassName, TableRowData, TableViewType } from '../Table.types';
|
|
4
|
+
import { TableViewCardClasses } from '../model/tableView.types';
|
|
5
|
+
/**
|
|
6
|
+
* Render-facing table configuration.
|
|
7
|
+
*
|
|
8
|
+
* These values come from public table props and are forwarded into row/cell/header
|
|
9
|
+
* components during rendering. They are separate from the normalized render model,
|
|
10
|
+
* which lives in `TableRenderContext`.
|
|
11
|
+
*/
|
|
12
|
+
export type TableRenderConfigContextValue<RowType extends TableRowData> = {
|
|
13
|
+
viewType: TableViewType;
|
|
14
|
+
isTableView: boolean;
|
|
15
|
+
cardClasses: TableViewCardClasses;
|
|
16
|
+
noRowsState: ReactNode;
|
|
17
|
+
rowKey?: keyof RowType | ((row: RowType, rowIndex: number) => string | number);
|
|
18
|
+
rowClassName?: TableRowClassName<RowType>;
|
|
19
|
+
cellClassName?: TableCellClassName<RowType>;
|
|
20
|
+
rowAnimationProps?: MotionProps | ((row: RowType, rowIndex: number) => MotionProps);
|
|
21
|
+
expandedRowAnimation?: TableExpandedRowAnimation;
|
|
22
|
+
virtualizedRows?: boolean;
|
|
23
|
+
virtualizationOverscan?: number;
|
|
24
|
+
};
|
|
25
|
+
export declare const TableRenderConfigContext: import('react').Context<TableRenderConfigContextValue<TableRowData> | null>;
|
|
26
|
+
export declare const useOptionalTableRenderConfigContext: <RowType extends TableRowData>() => TableRenderConfigContextValue<RowType> | null;
|
|
27
|
+
export declare const useTableRenderConfigContext: <RowType extends TableRowData>() => TableRenderConfigContextValue<RowType>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableRenderConfigContext.js","sources":["../../../../src/components/table/context/TableRenderConfigContext.tsx"],"sourcesContent":["import { createContext, useContext, type ReactNode } from 'react';\nimport type { MotionProps } from 'motion/react';\n\nimport type {\n TableCellClassName,\n TableExpandedRowAnimation,\n TableRowClassName,\n TableRowData,\n TableViewType,\n} from '../Table.types';\nimport type { TableViewCardClasses } from '../model/tableView.types';\n\n/**\n * Render-facing table configuration.\n *\n * These values come from public table props and are forwarded into row/cell/header\n * components during rendering. They are separate from the normalized render model,\n * which lives in `TableRenderContext`.\n */\nexport type TableRenderConfigContextValue<RowType extends TableRowData> = {\n viewType: TableViewType;\n isTableView: boolean;\n cardClasses: TableViewCardClasses;\n noRowsState: ReactNode;\n rowKey?: keyof RowType | ((row: RowType, rowIndex: number) => string | number);\n rowClassName?: TableRowClassName<RowType>;\n cellClassName?: TableCellClassName<RowType>;\n rowAnimationProps?: MotionProps | ((row: RowType, rowIndex: number) => MotionProps);\n expandedRowAnimation?: TableExpandedRowAnimation;\n virtualizedRows?: boolean;\n virtualizationOverscan?: number;\n};\n\nexport const TableRenderConfigContext = createContext<TableRenderConfigContextValue<TableRowData> | null>(null);\n\nexport const useOptionalTableRenderConfigContext = <RowType extends TableRowData>() =>\n useContext(TableRenderConfigContext) as TableRenderConfigContextValue<RowType> | null;\n\nexport const useTableRenderConfigContext = <RowType extends TableRowData>() => {\n const context = useOptionalTableRenderConfigContext<RowType>();\n\n if (!context) {\n throw new Error('Table render config context is missing.');\n }\n\n return context;\n};\n"],"names":["TableRenderConfigContext","createContext","useOptionalTableRenderConfigContext","useContext"],"mappings":";AAiCO,MAAMA,IAA2BC,EAAkE,IAAI,GAEjGC,IAAsC,MAC/CC,EAAWH,CAAwB;"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { TableColumnDefinition, TableHorizontalAlign, TableRowData, TableRowId, TableVerticalAlign } from '../Table.types';
|
|
3
|
+
import { TableViewHeader } from '../model/tableView.types';
|
|
4
|
+
export type RenderHeaderColumn<RowType extends TableRowData> = {
|
|
5
|
+
id: string;
|
|
6
|
+
columnKey?: string;
|
|
7
|
+
label: ReactNode;
|
|
8
|
+
icon?: string;
|
|
9
|
+
filter?: ReactNode;
|
|
10
|
+
hideLabel?: boolean;
|
|
11
|
+
width?: number | string;
|
|
12
|
+
mobileLabel?: string;
|
|
13
|
+
horizontalAlign?: TableHorizontalAlign;
|
|
14
|
+
verticalAlign?: TableVerticalAlign;
|
|
15
|
+
headerClassName?: string;
|
|
16
|
+
hideOnMobile?: boolean;
|
|
17
|
+
sortable?: boolean;
|
|
18
|
+
draggable?: boolean;
|
|
19
|
+
resizeable?: boolean;
|
|
20
|
+
minResizeWidth?: number;
|
|
21
|
+
maxResizeWidth?: number;
|
|
22
|
+
row: number;
|
|
23
|
+
colSpan: number;
|
|
24
|
+
rowSpan: number;
|
|
25
|
+
source?: RowType;
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* Mutable draft of the current render pass.
|
|
29
|
+
*
|
|
30
|
+
* The table keeps React composability, but still needs a normalized table model
|
|
31
|
+
* for features such as header placement, footer detection, virtualization, and
|
|
32
|
+
* stable body-row rendering.
|
|
33
|
+
*
|
|
34
|
+
* The table therefore works in two internal stages:
|
|
35
|
+
* 1. Header/body/footer sub-components register the structure they produce into this draft.
|
|
36
|
+
* 2. `Table` promotes that draft into stable draft state and renders from that.
|
|
37
|
+
*
|
|
38
|
+
* The draft is intentionally recreated on every render pass and must not be treated
|
|
39
|
+
* as persistent state.
|
|
40
|
+
*/
|
|
41
|
+
export type TableRenderDraft<RowType extends TableRowData> = {
|
|
42
|
+
headerColumns: RenderHeaderColumn<RowType>[];
|
|
43
|
+
bodyRows: {
|
|
44
|
+
rowId: TableRowId;
|
|
45
|
+
rowIndex: number;
|
|
46
|
+
kind: 'data' | 'expanded' | 'expanded-full-width' | 'group' | 'group-footer' | 'spacer';
|
|
47
|
+
disabled?: boolean;
|
|
48
|
+
render: () => ReactNode;
|
|
49
|
+
}[];
|
|
50
|
+
bodyMaxHeight?: string;
|
|
51
|
+
hasFooter?: boolean;
|
|
52
|
+
hasFooterCells?: boolean;
|
|
53
|
+
hasExpandableRows?: boolean;
|
|
54
|
+
};
|
|
55
|
+
export type RenderBodyRow<RowType extends TableRowData> = Omit<TableRenderDraft<RowType>['bodyRows'][number], 'render'>;
|
|
56
|
+
/**
|
|
57
|
+
* Structural render context.
|
|
58
|
+
*
|
|
59
|
+
* This context only carries the normalized render model built from the current
|
|
60
|
+
* render pass. Public render configuration such as `rowClassName` or card/table
|
|
61
|
+
* view mode lives in `TableRenderConfigContext`.
|
|
62
|
+
*/
|
|
63
|
+
export type TableRenderContextValue<RowType extends TableRowData> = {
|
|
64
|
+
header?: TableViewHeader<RowType>;
|
|
65
|
+
columns: RenderHeaderColumn<RowType>[];
|
|
66
|
+
columnDefinitionsByKey: Map<string, TableColumnDefinition<RowType>>;
|
|
67
|
+
columnIndexByKey: Map<string, number>;
|
|
68
|
+
bodyRows: RenderBodyRow<RowType>[];
|
|
69
|
+
renderBodyRow?: (row: RenderBodyRow<RowType>) => ReactNode;
|
|
70
|
+
renderDraft: TableRenderDraft<RowType>;
|
|
71
|
+
hasFooterCells?: boolean;
|
|
72
|
+
hasExpandableRows?: boolean;
|
|
73
|
+
/**
|
|
74
|
+
* Switches body rows into the registration pass.
|
|
75
|
+
*
|
|
76
|
+
* While this flag is true, row components register their normalized metadata in
|
|
77
|
+
* `renderDraft.bodyRows` and return `null` instead of rendering DOM directly.
|
|
78
|
+
* `TableBody` then performs the second pass by rendering the collected rows
|
|
79
|
+
* through `renderBodyRow(...)`.
|
|
80
|
+
*/
|
|
81
|
+
isRegisteringBodyRows?: boolean;
|
|
82
|
+
};
|
|
83
|
+
export declare const TableRenderContext: import('react').Context<TableRenderContextValue<TableRowData> | null>;
|
|
84
|
+
export declare const useOptionalTableRenderContext: <RowType extends TableRowData>() => TableRenderContextValue<RowType> | null;
|
|
85
|
+
export declare const useTableRenderContext: <RowType extends TableRowData>() => TableRenderContextValue<RowType>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableRenderContext.js","sources":["../../../../src/components/table/context/TableRenderContext.tsx"],"sourcesContent":["import { createContext, useContext, type ReactNode } from 'react';\n\nimport type {\n TableColumnDefinition,\n TableHorizontalAlign,\n TableRowData,\n TableRowId,\n TableVerticalAlign,\n} from '../Table.types';\nimport type { TableViewHeader } from '../model/tableView.types';\n\nexport type RenderHeaderColumn<RowType extends TableRowData> = {\n id: string;\n columnKey?: string;\n label: ReactNode;\n icon?: string;\n filter?: ReactNode;\n hideLabel?: boolean;\n width?: number | string;\n mobileLabel?: string;\n horizontalAlign?: TableHorizontalAlign;\n verticalAlign?: TableVerticalAlign;\n headerClassName?: string;\n hideOnMobile?: boolean;\n sortable?: boolean;\n draggable?: boolean;\n resizeable?: boolean;\n minResizeWidth?: number;\n maxResizeWidth?: number;\n row: number;\n colSpan: number;\n rowSpan: number;\n source?: RowType;\n};\n\n/**\n * Mutable draft of the current render pass.\n *\n * The table keeps React composability, but still needs a normalized table model\n * for features such as header placement, footer detection, virtualization, and\n * stable body-row rendering.\n *\n * The table therefore works in two internal stages:\n * 1. Header/body/footer sub-components register the structure they produce into this draft.\n * 2. `Table` promotes that draft into stable draft state and renders from that.\n *\n * The draft is intentionally recreated on every render pass and must not be treated\n * as persistent state.\n */\nexport type TableRenderDraft<RowType extends TableRowData> = {\n headerColumns: RenderHeaderColumn<RowType>[];\n bodyRows: {\n rowId: TableRowId;\n rowIndex: number;\n kind: 'data' | 'expanded' | 'expanded-full-width' | 'group' | 'group-footer' | 'spacer';\n disabled?: boolean;\n render: () => ReactNode;\n }[];\n bodyMaxHeight?: string;\n hasFooter?: boolean;\n hasFooterCells?: boolean;\n hasExpandableRows?: boolean;\n};\n\nexport type RenderBodyRow<RowType extends TableRowData> = Omit<TableRenderDraft<RowType>['bodyRows'][number], 'render'>;\n\n/**\n * Structural render context.\n *\n * This context only carries the normalized render model built from the current\n * render pass. Public render configuration such as `rowClassName` or card/table\n * view mode lives in `TableRenderConfigContext`.\n */\nexport type TableRenderContextValue<RowType extends TableRowData> = {\n header?: TableViewHeader<RowType>;\n columns: RenderHeaderColumn<RowType>[];\n columnDefinitionsByKey: Map<string, TableColumnDefinition<RowType>>;\n columnIndexByKey: Map<string, number>;\n bodyRows: RenderBodyRow<RowType>[];\n renderBodyRow?: (row: RenderBodyRow<RowType>) => ReactNode;\n renderDraft: TableRenderDraft<RowType>;\n hasFooterCells?: boolean;\n hasExpandableRows?: boolean;\n /**\n * Switches body rows into the registration pass.\n *\n * While this flag is true, row components register their normalized metadata in\n * `renderDraft.bodyRows` and return `null` instead of rendering DOM directly.\n * `TableBody` then performs the second pass by rendering the collected rows\n * through `renderBodyRow(...)`.\n */\n isRegisteringBodyRows?: boolean;\n};\n\nexport const TableRenderContext = createContext<TableRenderContextValue<TableRowData> | null>(null);\n\nexport const useOptionalTableRenderContext = <RowType extends TableRowData>() =>\n useContext(TableRenderContext) as TableRenderContextValue<RowType> | null;\n\nexport const useTableRenderContext = <RowType extends TableRowData>() => {\n const context = useOptionalTableRenderContext<RowType>();\n\n if (!context) {\n throw new Error('Table render context is missing.');\n }\n\n return context;\n};\n"],"names":["TableRenderContext","createContext","useOptionalTableRenderContext","useContext"],"mappings":";AA8FO,MAAMA,IAAqBC,EAA4D,IAAI,GAErFC,IAAgC,MACzCC,EAAWH,CAAkB;"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { TableHtmlAttributes, TableRowData, TableRowId } from '../Table.types';
|
|
2
|
+
export type TableSection = 'header' | 'body' | 'footer';
|
|
3
|
+
export type TableBodyContextValue = {
|
|
4
|
+
nextRowIndex: () => number;
|
|
5
|
+
};
|
|
6
|
+
export type TableHeaderContextValue = {
|
|
7
|
+
nextHeaderRowIndex: () => number;
|
|
8
|
+
};
|
|
9
|
+
export type TableHeaderRowContextValue = {
|
|
10
|
+
row: number;
|
|
11
|
+
};
|
|
12
|
+
export type TableRenderRowContextValue = {
|
|
13
|
+
nextColumnIndex: (explicitColumnIndex?: number, span?: number) => number;
|
|
14
|
+
rowIndex: number;
|
|
15
|
+
rowId: TableRowId;
|
|
16
|
+
rowData: TableRowData;
|
|
17
|
+
};
|
|
18
|
+
export declare const TableSectionContext: import('react').Context<TableSection | null>;
|
|
19
|
+
export declare const TableBodyContext: import('react').Context<TableBodyContextValue | null>;
|
|
20
|
+
export declare const TableHeaderContext: import('react').Context<TableHeaderContextValue | null>;
|
|
21
|
+
export declare const TableHeaderRowContext: import('react').Context<TableHeaderRowContextValue | null>;
|
|
22
|
+
export declare const TableRowContext: import('react').Context<TableRenderRowContextValue | null>;
|
|
23
|
+
export declare const useOptionalTableSection: () => TableSection | null;
|
|
24
|
+
export declare const useTableBodyContext: () => TableBodyContextValue | null;
|
|
25
|
+
export declare const useTableHeaderContext: () => TableHeaderContextValue | null;
|
|
26
|
+
export declare const useTableHeaderRowContext: () => TableHeaderRowContextValue | null;
|
|
27
|
+
export declare const useTableRowContext: <RowType extends TableRowData>() => (Omit<TableRenderRowContextValue, "rowData"> & {
|
|
28
|
+
rowData: RowType;
|
|
29
|
+
}) | null;
|
|
30
|
+
export declare const isTableHtmlAttribute: (key: string) => boolean;
|
|
31
|
+
export declare const extractTableHtmlAttributes: (props: Record<string, unknown>) => TableHtmlAttributes;
|