@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
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { jsx as o } from "react/jsx-runtime";
|
|
2
|
+
import { useReducedMotion as O, motion as u } from "motion/react";
|
|
3
|
+
import { useState as g, useMemo as R } from "react";
|
|
4
|
+
import C from "../../utils/classNames.js";
|
|
5
|
+
import { useOptionalTableInteractionContext as N } from "./context/TableInteractionContext.js";
|
|
6
|
+
import { useOptionalTableSection as v, useTableBodyContext as A } from "./context/TableStructureContext.js";
|
|
7
|
+
import { useOptionalTableRenderContext as T } from "./context/TableRenderContext.js";
|
|
8
|
+
const t = 0.22, U = (m) => {
|
|
9
|
+
const { children: p, className: x, noHover: w, parentKey: i, ...h } = m, e = T(), a = N(), b = v(), r = A(), [y, s] = g(!0), l = O(), n = R(
|
|
10
|
+
() => l ? {
|
|
11
|
+
row: {
|
|
12
|
+
initial: { opacity: 0 },
|
|
13
|
+
animate: {
|
|
14
|
+
opacity: 1,
|
|
15
|
+
transition: { duration: t, ease: "easeInOut" }
|
|
16
|
+
},
|
|
17
|
+
exit: {
|
|
18
|
+
opacity: 0,
|
|
19
|
+
transition: { duration: t, ease: "easeInOut" }
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
content: {
|
|
23
|
+
initial: { opacity: 0 },
|
|
24
|
+
animate: {
|
|
25
|
+
opacity: 1,
|
|
26
|
+
transition: { duration: t, ease: "easeInOut" }
|
|
27
|
+
},
|
|
28
|
+
exit: {
|
|
29
|
+
opacity: 0,
|
|
30
|
+
transition: { duration: t, ease: "easeInOut" }
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
} : {
|
|
34
|
+
row: {
|
|
35
|
+
initial: { height: 0 },
|
|
36
|
+
animate: {
|
|
37
|
+
height: "auto",
|
|
38
|
+
transition: { duration: t, ease: "easeInOut" }
|
|
39
|
+
},
|
|
40
|
+
exit: {
|
|
41
|
+
height: 0,
|
|
42
|
+
transition: { duration: t, ease: "easeInOut" }
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
content: {
|
|
46
|
+
initial: { opacity: 0 },
|
|
47
|
+
animate: {
|
|
48
|
+
opacity: 1,
|
|
49
|
+
transition: {
|
|
50
|
+
duration: t * 0.65,
|
|
51
|
+
delay: t,
|
|
52
|
+
ease: "easeOut"
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
exit: {
|
|
56
|
+
opacity: 0,
|
|
57
|
+
transition: {
|
|
58
|
+
duration: t * 0.65,
|
|
59
|
+
ease: "easeInOut"
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
[l]
|
|
65
|
+
);
|
|
66
|
+
if (!e || !a || e.columns.length === 0 || b !== "body" || !r)
|
|
67
|
+
return null;
|
|
68
|
+
const d = r.nextRowIndex(), f = e.columns.length + (a.showSelectionColumn ? 1 : 0), I = `expanded-content-${String(i)}`, c = /* @__PURE__ */ o(
|
|
69
|
+
u.div,
|
|
70
|
+
{
|
|
71
|
+
...h,
|
|
72
|
+
className: C(
|
|
73
|
+
"table-row table-row-expanded-full-width",
|
|
74
|
+
w && "table-row-no-hover",
|
|
75
|
+
x
|
|
76
|
+
),
|
|
77
|
+
"data-index": d,
|
|
78
|
+
"data-parent-row-id": String(i),
|
|
79
|
+
role: "row",
|
|
80
|
+
initial: n.row.initial,
|
|
81
|
+
animate: n.row.animate,
|
|
82
|
+
exit: n.row.exit,
|
|
83
|
+
onAnimationStart: () => s(!0),
|
|
84
|
+
onAnimationComplete: () => s(!1),
|
|
85
|
+
style: {
|
|
86
|
+
overflow: y ? "hidden" : "visible"
|
|
87
|
+
},
|
|
88
|
+
children: /* @__PURE__ */ o("div", { className: "table-cell table-expanded-cell", role: "cell", "aria-colspan": f, children: /* @__PURE__ */ o(
|
|
89
|
+
u.div,
|
|
90
|
+
{
|
|
91
|
+
className: "table-cell-content",
|
|
92
|
+
initial: n.content.initial,
|
|
93
|
+
animate: n.content.animate,
|
|
94
|
+
exit: n.content.exit,
|
|
95
|
+
children: p
|
|
96
|
+
}
|
|
97
|
+
) })
|
|
98
|
+
}
|
|
99
|
+
);
|
|
100
|
+
return e.renderDraft.hasExpandableRows = !0, e.renderDraft.bodyRows.push({
|
|
101
|
+
rowId: I,
|
|
102
|
+
rowIndex: d,
|
|
103
|
+
kind: "expanded-full-width",
|
|
104
|
+
render: () => c
|
|
105
|
+
}), e.isRegisteringBodyRows ? null : c;
|
|
106
|
+
};
|
|
107
|
+
export {
|
|
108
|
+
U as default
|
|
109
|
+
};
|
|
110
|
+
//# sourceMappingURL=TableExpandedContentRow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableExpandedContentRow.js","sources":["../../../src/components/table/TableExpandedContentRow.tsx"],"sourcesContent":["import { motion, useReducedMotion } from 'motion/react';\nimport { useMemo, useState, type ReactNode } from 'react';\n\nimport classNames from '../../utils/classNames';\nimport type { TableHtmlAttributes } from './Table.types';\nimport { useOptionalTableInteractionContext } from './context/TableInteractionContext';\nimport { useTableBodyContext, useOptionalTableSection } from './context/TableStructureContext';\nimport { useOptionalTableRenderContext } from './context/TableRenderContext';\n\nexport type TableExpandedContentRowProps = TableHtmlAttributes & {\n /**\n * Parent row key used to associate this expanded content row with its parent.\n */\n parentKey: string | number;\n\n /**\n * The content of the full-width expanded row.\n */\n children?: ReactNode;\n\n /**\n * Optional class names only for this expanded content row.\n */\n className?: string;\n\n /**\n * Disable table hover styling for this row.\n */\n noHover?: boolean;\n};\n\nconst DEFAULT_EXPANDED_ROW_DURATION = 0.22;\n\nconst TableExpandedContentRow = (props: TableExpandedContentRowProps) => {\n const { children, className, noHover, parentKey, ...remainingProps } = props;\n\n const renderContext = useOptionalTableRenderContext();\n const interactionContext = useOptionalTableInteractionContext();\n const section = useOptionalTableSection();\n const bodyContext = useTableBodyContext();\n\n const [isAnimating, setIsAnimating] = useState(true);\n\n const shouldReduceMotion = useReducedMotion();\n\n const animation = useMemo(\n () =>\n shouldReduceMotion\n ? {\n row: {\n initial: { opacity: 0 },\n animate: {\n opacity: 1,\n transition: { duration: DEFAULT_EXPANDED_ROW_DURATION, ease: 'easeInOut' as const },\n },\n exit: {\n opacity: 0,\n transition: { duration: DEFAULT_EXPANDED_ROW_DURATION, ease: 'easeInOut' as const },\n },\n },\n content: {\n initial: { opacity: 0 },\n animate: {\n opacity: 1,\n transition: { duration: DEFAULT_EXPANDED_ROW_DURATION, ease: 'easeInOut' as const },\n },\n exit: {\n opacity: 0,\n transition: { duration: DEFAULT_EXPANDED_ROW_DURATION, ease: 'easeInOut' as const },\n },\n },\n }\n : {\n row: {\n initial: { height: 0 },\n animate: {\n height: 'auto',\n transition: { duration: DEFAULT_EXPANDED_ROW_DURATION, ease: 'easeInOut' as const },\n },\n exit: {\n height: 0,\n transition: { duration: DEFAULT_EXPANDED_ROW_DURATION, ease: 'easeInOut' as const },\n },\n },\n content: {\n initial: { opacity: 0 },\n animate: {\n opacity: 1,\n transition: {\n duration: DEFAULT_EXPANDED_ROW_DURATION * 0.65,\n delay: DEFAULT_EXPANDED_ROW_DURATION,\n ease: 'easeOut' as const,\n },\n },\n exit: {\n opacity: 0,\n transition: {\n duration: DEFAULT_EXPANDED_ROW_DURATION * 0.65,\n ease: 'easeInOut' as const,\n },\n },\n },\n },\n [shouldReduceMotion]\n );\n\n if (\n !renderContext ||\n !interactionContext ||\n renderContext.columns.length === 0 ||\n section !== 'body' ||\n !bodyContext\n ) {\n return null;\n }\n\n const rowIndex = bodyContext.nextRowIndex();\n const columnCount = renderContext.columns.length + (interactionContext.showSelectionColumn ? 1 : 0);\n\n // Expanded rows stay keyed by their parent row, so toggling\n // rows above does not remount already open expanded rows below. This is important\n // to avid other rows to animate again.\n const stableExpandedRowId = `expanded-content-${String(parentKey)}`;\n\n const rowNode = (\n <motion.div\n {...remainingProps}\n className={classNames(\n 'table-row table-row-expanded-full-width',\n noHover && 'table-row-no-hover',\n className\n )}\n data-index={rowIndex}\n data-parent-row-id={String(parentKey)}\n role='row'\n initial={animation.row.initial}\n animate={animation.row.animate}\n exit={animation.row.exit}\n onAnimationStart={() => setIsAnimating(true)}\n onAnimationComplete={() => setIsAnimating(false)}\n style={{\n overflow: isAnimating ? 'hidden' : 'visible',\n }}\n >\n <div className='table-cell table-expanded-cell' role='cell' aria-colspan={columnCount}>\n <motion.div\n className='table-cell-content'\n initial={animation.content.initial}\n animate={animation.content.animate}\n exit={animation.content.exit}\n >\n {children}\n </motion.div>\n </div>\n </motion.div>\n );\n\n renderContext.renderDraft.hasExpandableRows = true;\n renderContext.renderDraft.bodyRows.push({\n rowId: stableExpandedRowId,\n rowIndex,\n kind: 'expanded-full-width',\n render: () => rowNode,\n });\n\n return renderContext.isRegisteringBodyRows ? null : rowNode;\n};\n\nexport default TableExpandedContentRow;\n"],"names":["DEFAULT_EXPANDED_ROW_DURATION","TableExpandedContentRow","props","children","className","noHover","parentKey","remainingProps","renderContext","useOptionalTableRenderContext","interactionContext","useOptionalTableInteractionContext","section","useOptionalTableSection","bodyContext","useTableBodyContext","isAnimating","setIsAnimating","useState","shouldReduceMotion","useReducedMotion","animation","useMemo","rowIndex","columnCount","stableExpandedRowId","rowNode","jsx","motion","classNames"],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { TableHtmlAttributes, TableRowData } from './Table.types';
|
|
3
|
+
export type TableExpandedRowProps<RowType extends TableRowData> = TableHtmlAttributes & Partial<RowType> & {
|
|
4
|
+
/**
|
|
5
|
+
* Parent row key used to associate this expanded row with its parent.
|
|
6
|
+
*/
|
|
7
|
+
parentKey: string | number;
|
|
8
|
+
/**
|
|
9
|
+
* Optional class names only for this expanded row.
|
|
10
|
+
*/
|
|
11
|
+
className?: string;
|
|
12
|
+
/**
|
|
13
|
+
* Disable table hover styling for this row.
|
|
14
|
+
*/
|
|
15
|
+
noHover?: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Table row content.
|
|
18
|
+
*/
|
|
19
|
+
children?: ReactNode;
|
|
20
|
+
};
|
|
21
|
+
declare const TableExpandedRow: <RowType extends TableRowData = TableRowData>(props: TableExpandedRowProps<RowType>) => import("react/jsx-runtime").JSX.Element | null;
|
|
22
|
+
export default TableExpandedRow;
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import { jsx as s, jsxs as _, Fragment as M } from "react/jsx-runtime";
|
|
2
|
+
import { useReducedMotion as j, motion as B } from "motion/react";
|
|
3
|
+
import { useRef as F, useState as H, useMemo as U } from "react";
|
|
4
|
+
import L from "../checkbox/Checkbox.js";
|
|
5
|
+
import A from "../../utils/classNames.js";
|
|
6
|
+
import { resolveRowKey as W, resolveRowClassName as X } from "./model/resolveRowMeta.js";
|
|
7
|
+
import { useOptionalTableInteractionContext as q } from "./context/TableInteractionContext.js";
|
|
8
|
+
import { useOptionalTableRenderConfigContext as z } from "./context/TableRenderConfigContext.js";
|
|
9
|
+
import { useOptionalTableSection as G, useTableBodyContext as J, extractTableHtmlAttributes as I, TableRowContext as Q } from "./context/TableStructureContext.js";
|
|
10
|
+
import { useOptionalTableRenderContext as Y } from "./context/TableRenderContext.js";
|
|
11
|
+
import { getInteractiveRowProps as Z } from "./shared/getInteractiveRowProps.js";
|
|
12
|
+
const u = 0.18, $ = (C) => {
|
|
13
|
+
const { isSelected: b, isTableView: m, onToggleSelection: x, cardCellClassName: R } = C;
|
|
14
|
+
return /* @__PURE__ */ s(
|
|
15
|
+
"div",
|
|
16
|
+
{
|
|
17
|
+
className: A("table-cell table-selection-cell", !m && R),
|
|
18
|
+
role: "cell",
|
|
19
|
+
"aria-colindex": 1,
|
|
20
|
+
style: m ? { gridColumn: "1 / span 1" } : void 0,
|
|
21
|
+
onClick: (a) => a.stopPropagation(),
|
|
22
|
+
onKeyDown: (a) => a.stopPropagation(),
|
|
23
|
+
children: /* @__PURE__ */ s("div", { className: "table-selection-control", children: /* @__PURE__ */ s(L, { checked: b, onChange: x }) })
|
|
24
|
+
}
|
|
25
|
+
);
|
|
26
|
+
}, me = (C) => {
|
|
27
|
+
const { children: b, className: m, noHover: x, parentKey: R, ...a } = C, e = z(), l = Y(), o = q(), P = G(), y = J(), w = F(0);
|
|
28
|
+
w.current = 0;
|
|
29
|
+
const [S, g] = H(!0), f = j(), D = U(
|
|
30
|
+
() => f ? {
|
|
31
|
+
initial: { opacity: 0 },
|
|
32
|
+
animate: {
|
|
33
|
+
opacity: 1,
|
|
34
|
+
transition: { duration: u, ease: "easeInOut" }
|
|
35
|
+
},
|
|
36
|
+
exit: {
|
|
37
|
+
opacity: 0,
|
|
38
|
+
transition: { duration: u, ease: "easeInOut" }
|
|
39
|
+
}
|
|
40
|
+
} : {
|
|
41
|
+
initial: { opacity: 0, height: 0, y: -8 },
|
|
42
|
+
animate: {
|
|
43
|
+
opacity: 1,
|
|
44
|
+
height: "auto",
|
|
45
|
+
y: 0,
|
|
46
|
+
transition: { duration: u, ease: "easeOut" }
|
|
47
|
+
},
|
|
48
|
+
exit: {
|
|
49
|
+
opacity: 0,
|
|
50
|
+
height: 0,
|
|
51
|
+
y: -8,
|
|
52
|
+
transition: { duration: u, ease: "easeInOut" }
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
[f]
|
|
56
|
+
);
|
|
57
|
+
if (!l || !e || !o || l.columns.length === 0 || P !== "body" || !y)
|
|
58
|
+
return null;
|
|
59
|
+
const c = a, n = y.nextRowIndex(), t = W(c, n, e.rowKey), k = typeof e.rowAnimationProps == "function" ? e.rowAnimationProps(c, n) : e.rowAnimationProps, i = Z({
|
|
60
|
+
isClickable: o.isClickable,
|
|
61
|
+
onRowClick: (r, d) => {
|
|
62
|
+
o.onRowClick?.(r, d), o.onActiveRowChange?.(
|
|
63
|
+
o.activeRowId === t ? void 0 : t,
|
|
64
|
+
r,
|
|
65
|
+
d
|
|
66
|
+
);
|
|
67
|
+
},
|
|
68
|
+
row: c,
|
|
69
|
+
rowIndex: n
|
|
70
|
+
});
|
|
71
|
+
let p;
|
|
72
|
+
e.expandedRowAnimation !== !1 && (p = {
|
|
73
|
+
...D,
|
|
74
|
+
...k
|
|
75
|
+
});
|
|
76
|
+
const h = o.selectedRowIdSet.has(t), v = A(
|
|
77
|
+
"table-row",
|
|
78
|
+
"table-row-expanded-data",
|
|
79
|
+
!e.isTableView && "divider-y-1 divider-color-lighter divider-style-solid",
|
|
80
|
+
o.activeRowId === t && "table-row-active",
|
|
81
|
+
h && "table-row-selected",
|
|
82
|
+
i.isClickableClassName,
|
|
83
|
+
x && "table-row-no-hover",
|
|
84
|
+
!e.isTableView && e.cardClasses.rowClassName,
|
|
85
|
+
m,
|
|
86
|
+
X(e.rowClassName, c, n)
|
|
87
|
+
), O = o.showSelectionColumn && /* @__PURE__ */ s(
|
|
88
|
+
$,
|
|
89
|
+
{
|
|
90
|
+
isSelected: h,
|
|
91
|
+
isTableView: e.isTableView,
|
|
92
|
+
onToggleSelection: () => o.onToggleRowSelection?.(t),
|
|
93
|
+
cardCellClassName: e.cardClasses.cellClassName
|
|
94
|
+
}
|
|
95
|
+
), T = /* @__PURE__ */ _(M, { children: [
|
|
96
|
+
O,
|
|
97
|
+
b
|
|
98
|
+
] }), K = {
|
|
99
|
+
...I(a),
|
|
100
|
+
className: v,
|
|
101
|
+
"data-index": n,
|
|
102
|
+
"data-row-id": String(t),
|
|
103
|
+
onClick: i.onClick,
|
|
104
|
+
onKeyDown: i.onKeyDown,
|
|
105
|
+
role: "row",
|
|
106
|
+
tabIndex: i.tabIndex
|
|
107
|
+
}, E = {
|
|
108
|
+
...I(a),
|
|
109
|
+
className: v,
|
|
110
|
+
"data-index": n,
|
|
111
|
+
"data-row-id": String(t),
|
|
112
|
+
onClick: i.onClick,
|
|
113
|
+
onKeyDown: i.onKeyDown,
|
|
114
|
+
role: "row",
|
|
115
|
+
tabIndex: i.tabIndex,
|
|
116
|
+
onAnimationStart: () => g(!0),
|
|
117
|
+
onAnimationComplete: () => g(!1),
|
|
118
|
+
...p,
|
|
119
|
+
style: {
|
|
120
|
+
...p?.style ?? {},
|
|
121
|
+
overflow: S ? "hidden" : "visible"
|
|
122
|
+
}
|
|
123
|
+
}, N = /* @__PURE__ */ s(
|
|
124
|
+
Q.Provider,
|
|
125
|
+
{
|
|
126
|
+
value: {
|
|
127
|
+
nextColumnIndex: (r, d = 1) => {
|
|
128
|
+
if (r !== void 0 && r >= 0)
|
|
129
|
+
return w.current = r + d, r;
|
|
130
|
+
const V = w.current;
|
|
131
|
+
return w.current += d, V;
|
|
132
|
+
},
|
|
133
|
+
rowIndex: n,
|
|
134
|
+
rowId: t,
|
|
135
|
+
rowData: c
|
|
136
|
+
},
|
|
137
|
+
children: p ? /* @__PURE__ */ s(B.div, { ...E, children: T }) : /* @__PURE__ */ s("div", { ...K, children: T })
|
|
138
|
+
}
|
|
139
|
+
);
|
|
140
|
+
return l.renderDraft.hasExpandableRows = !0, l.renderDraft.bodyRows.push({
|
|
141
|
+
rowId: t,
|
|
142
|
+
rowIndex: n,
|
|
143
|
+
kind: "expanded",
|
|
144
|
+
render: () => N
|
|
145
|
+
}), l.isRegisteringBodyRows ? null : N;
|
|
146
|
+
};
|
|
147
|
+
export {
|
|
148
|
+
me as default
|
|
149
|
+
};
|
|
150
|
+
//# sourceMappingURL=TableExpandedRow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableExpandedRow.js","sources":["../../../src/components/table/TableExpandedRow.tsx"],"sourcesContent":["import { motion, type HTMLMotionProps, useReducedMotion, type MotionProps } from 'motion/react';\nimport { useMemo, useRef, useState, type ReactNode } from 'react';\n\nimport Checkbox from '../checkbox/Checkbox';\nimport classNames from '../../utils/classNames';\nimport type { TableHtmlAttributes, TableRowData } from './Table.types';\nimport { resolveRowClassName, resolveRowKey } from './model/resolveRowMeta';\nimport { useOptionalTableInteractionContext } from './context/TableInteractionContext';\nimport { useOptionalTableRenderConfigContext } from './context/TableRenderConfigContext';\nimport {\n extractTableHtmlAttributes,\n TableRowContext,\n useTableBodyContext,\n useOptionalTableSection,\n} from './context/TableStructureContext';\nimport { useOptionalTableRenderContext } from './context/TableRenderContext';\nimport { getInteractiveRowProps } from './shared/getInteractiveRowProps';\n\nconst DEFAULT_EXPANDED_ROW_DURATION = 0.18;\n\nexport type TableExpandedRowProps<RowType extends TableRowData> = TableHtmlAttributes &\n Partial<RowType> & {\n /**\n * Parent row key used to associate this expanded row with its parent.\n */\n parentKey: string | number;\n\n /**\n * Optional class names only for this expanded row.\n */\n className?: string;\n\n /**\n * Disable table hover styling for this row.\n */\n noHover?: boolean;\n\n /**\n * Table row content.\n */\n children?: ReactNode;\n };\n\ntype TableExpandedRowSelectionCellProps = {\n isSelected: boolean;\n isTableView: boolean;\n onToggleSelection?: () => void;\n cardCellClassName?: string;\n};\n\nconst TableExpandedRowSelectionCell = (props: TableExpandedRowSelectionCellProps) => {\n const { isSelected, isTableView, onToggleSelection, cardCellClassName } = props;\n return (\n <div\n className={classNames('table-cell table-selection-cell', !isTableView && cardCellClassName)}\n role='cell'\n aria-colindex={1}\n style={isTableView ? { gridColumn: '1 / span 1' } : undefined}\n onClick={event => event.stopPropagation()}\n onKeyDown={event => event.stopPropagation()}\n >\n <div className='table-selection-control'>\n <Checkbox checked={isSelected} onChange={onToggleSelection} />\n </div>\n </div>\n );\n};\n\nconst TableExpandedRow = <RowType extends TableRowData = TableRowData>(props: TableExpandedRowProps<RowType>) => {\n const { children, className, noHover, parentKey: _parentKey, ...remainingProps } = props;\n\n const renderConfigContext = useOptionalTableRenderConfigContext<RowType>();\n const renderContext = useOptionalTableRenderContext<RowType>();\n const interactionContext = useOptionalTableInteractionContext<RowType>();\n const section = useOptionalTableSection();\n const bodyContext = useTableBodyContext();\n\n const cellIndexRef = useRef(0);\n cellIndexRef.current = 0;\n\n const [isAnimating, setIsAnimating] = useState(true);\n const shouldReduceMotion = useReducedMotion();\n\n const animation = useMemo(\n () =>\n shouldReduceMotion\n ? {\n initial: { opacity: 0 },\n animate: {\n opacity: 1,\n transition: { duration: DEFAULT_EXPANDED_ROW_DURATION, ease: 'easeInOut' as const },\n },\n exit: {\n opacity: 0,\n transition: { duration: DEFAULT_EXPANDED_ROW_DURATION, ease: 'easeInOut' as const },\n },\n }\n : {\n initial: { opacity: 0, height: 0, y: -8 },\n animate: {\n opacity: 1,\n height: 'auto',\n y: 0,\n transition: { duration: DEFAULT_EXPANDED_ROW_DURATION, ease: 'easeOut' as const },\n },\n exit: {\n opacity: 0,\n height: 0,\n y: -8,\n transition: { duration: DEFAULT_EXPANDED_ROW_DURATION, ease: 'easeInOut' as const },\n },\n },\n [shouldReduceMotion]\n );\n\n if (\n !renderContext ||\n !renderConfigContext ||\n !interactionContext ||\n renderContext.columns.length === 0 ||\n section !== 'body' ||\n !bodyContext\n ) {\n return null;\n }\n\n const rowData = remainingProps as unknown as RowType;\n const rowIndex = bodyContext.nextRowIndex();\n const rowId = resolveRowKey(rowData, rowIndex, renderConfigContext.rowKey);\n\n const resolvedRowAnimationProps =\n typeof renderConfigContext.rowAnimationProps === 'function'\n ? renderConfigContext.rowAnimationProps(rowData, rowIndex)\n : renderConfigContext.rowAnimationProps;\n\n const interactiveRowProps = getInteractiveRowProps({\n isClickable: interactionContext.isClickable,\n onRowClick: (clickedRow, clickedRowIndex) => {\n interactionContext.onRowClick?.(clickedRow, clickedRowIndex);\n interactionContext.onActiveRowChange?.(\n interactionContext.activeRowId === rowId ? undefined : rowId,\n clickedRow,\n clickedRowIndex\n );\n },\n row: rowData,\n rowIndex,\n });\n\n let mergedRowAnimationProps: MotionProps | undefined;\n\n if (renderConfigContext.expandedRowAnimation !== false) {\n mergedRowAnimationProps = {\n ...animation,\n ...resolvedRowAnimationProps,\n };\n }\n\n const isSelected = interactionContext.selectedRowIdSet.has(rowId);\n\n const rowClassNames = classNames(\n 'table-row',\n 'table-row-expanded-data',\n !renderConfigContext.isTableView && 'divider-y-1 divider-color-lighter divider-style-solid',\n interactionContext.activeRowId === rowId && 'table-row-active',\n isSelected && 'table-row-selected',\n interactiveRowProps.isClickableClassName,\n noHover && 'table-row-no-hover',\n !renderConfigContext.isTableView && renderConfigContext.cardClasses.rowClassName,\n className,\n resolveRowClassName(renderConfigContext.rowClassName, rowData, rowIndex)\n );\n\n const selectionCell = interactionContext.showSelectionColumn && (\n <TableExpandedRowSelectionCell\n isSelected={isSelected}\n isTableView={renderConfigContext.isTableView}\n onToggleSelection={() => interactionContext.onToggleRowSelection?.(rowId)}\n cardCellClassName={renderConfigContext.cardClasses.cellClassName}\n />\n );\n\n const rowContent = (\n <>\n {selectionCell}\n {children}\n </>\n );\n\n const staticRowProps = {\n ...extractTableHtmlAttributes(remainingProps),\n className: rowClassNames,\n 'data-index': rowIndex,\n 'data-row-id': String(rowId),\n onClick: interactiveRowProps.onClick,\n onKeyDown: interactiveRowProps.onKeyDown,\n role: 'row' as const,\n tabIndex: interactiveRowProps.tabIndex,\n };\n\n const animatedRowProps = {\n ...(extractTableHtmlAttributes(remainingProps) as Omit<\n HTMLMotionProps<'div'>,\n 'children' | 'className' | 'data-row-id' | 'onClick' | 'onKeyDown' | 'role' | 'style' | 'tabIndex'\n >),\n className: rowClassNames,\n 'data-index': rowIndex,\n 'data-row-id': String(rowId),\n onClick: interactiveRowProps.onClick,\n onKeyDown: interactiveRowProps.onKeyDown,\n role: 'row' as const,\n tabIndex: interactiveRowProps.tabIndex,\n onAnimationStart: () => setIsAnimating(true),\n onAnimationComplete: () => setIsAnimating(false),\n ...mergedRowAnimationProps,\n style: {\n ...(mergedRowAnimationProps?.style ?? {}),\n overflow: isAnimating ? 'hidden' : 'visible',\n },\n };\n\n const rowNode = (\n <TableRowContext.Provider\n value={{\n nextColumnIndex: (explicitColumnIndex, span = 1) => {\n if (explicitColumnIndex !== undefined && explicitColumnIndex >= 0) {\n cellIndexRef.current = explicitColumnIndex + span;\n return explicitColumnIndex;\n }\n\n const nextIndex = cellIndexRef.current;\n cellIndexRef.current += span;\n return nextIndex;\n },\n rowIndex,\n rowId,\n rowData,\n }}\n >\n {mergedRowAnimationProps ? (\n <motion.div {...animatedRowProps}>{rowContent}</motion.div>\n ) : (\n <div {...staticRowProps}>{rowContent}</div>\n )}\n </TableRowContext.Provider>\n );\n\n renderContext.renderDraft.hasExpandableRows = true;\n renderContext.renderDraft.bodyRows.push({\n rowId,\n rowIndex,\n kind: 'expanded',\n render: () => rowNode,\n });\n\n return renderContext.isRegisteringBodyRows ? null : rowNode;\n};\n\nexport default TableExpandedRow;\n"],"names":["DEFAULT_EXPANDED_ROW_DURATION","TableExpandedRowSelectionCell","props","isSelected","isTableView","onToggleSelection","cardCellClassName","jsx","classNames","event","Checkbox","TableExpandedRow","children","className","noHover","_parentKey","remainingProps","renderConfigContext","useOptionalTableRenderConfigContext","renderContext","useOptionalTableRenderContext","interactionContext","useOptionalTableInteractionContext","section","useOptionalTableSection","bodyContext","useTableBodyContext","cellIndexRef","useRef","isAnimating","setIsAnimating","useState","shouldReduceMotion","useReducedMotion","animation","useMemo","rowData","rowIndex","rowId","resolveRowKey","resolvedRowAnimationProps","interactiveRowProps","getInteractiveRowProps","clickedRow","clickedRowIndex","mergedRowAnimationProps","rowClassNames","resolveRowClassName","selectionCell","rowContent","jsxs","Fragment","staticRowProps","extractTableHtmlAttributes","animatedRowProps","rowNode","TableRowContext","explicitColumnIndex","span","nextIndex","motion"],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { MouseEventHandler } from 'react';
|
|
2
|
+
export type TableExpanderButtonProps = {
|
|
3
|
+
/**
|
|
4
|
+
* Controls whether the related row is currently expanded.
|
|
5
|
+
*
|
|
6
|
+
* @default false
|
|
7
|
+
*/
|
|
8
|
+
expanded?: boolean;
|
|
9
|
+
/**
|
|
10
|
+
* Disables the expander button.
|
|
11
|
+
*
|
|
12
|
+
* @default false
|
|
13
|
+
*/
|
|
14
|
+
disabled?: boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Callback triggered when the expander button is clicked.
|
|
17
|
+
*/
|
|
18
|
+
onClick?: MouseEventHandler<HTMLButtonElement>;
|
|
19
|
+
/**
|
|
20
|
+
* Optional additional class names for the button element.
|
|
21
|
+
*/
|
|
22
|
+
className?: string;
|
|
23
|
+
};
|
|
24
|
+
declare const TableExpanderButton: (props: TableExpanderButtonProps) => import("react/jsx-runtime").JSX.Element;
|
|
25
|
+
export default TableExpanderButton;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { jsx as l } from "react/jsx-runtime";
|
|
2
|
+
import i from "../button/Button.js";
|
|
3
|
+
import m from "../../utils/classNames.js";
|
|
4
|
+
import { useOptionalTableRenderContext as p } from "./context/TableRenderContext.js";
|
|
5
|
+
const x = (o) => {
|
|
6
|
+
const { expanded: r = !1, disabled: t = !1, onClick: n, className: a, ...s } = o, e = p();
|
|
7
|
+
return e && (e.renderDraft.hasExpandableRows = !0), /* @__PURE__ */ l(
|
|
8
|
+
i,
|
|
9
|
+
{
|
|
10
|
+
...s,
|
|
11
|
+
bsStyle: "muted",
|
|
12
|
+
bsSize: "xs",
|
|
13
|
+
iconOnly: !0,
|
|
14
|
+
disabled: t,
|
|
15
|
+
iconName: r ? "rioglyph-chevron-up" : "rioglyph-chevron-down",
|
|
16
|
+
className: m("table-expander-button", a),
|
|
17
|
+
onClick: n
|
|
18
|
+
}
|
|
19
|
+
);
|
|
20
|
+
};
|
|
21
|
+
export {
|
|
22
|
+
x as default
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=TableExpanderButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableExpanderButton.js","sources":["../../../src/components/table/TableExpanderButton.tsx"],"sourcesContent":["import type { MouseEventHandler } from 'react';\n\nimport Button from '../button/Button';\nimport classNames from '../../utils/classNames';\nimport { useOptionalTableRenderContext } from './context/TableRenderContext';\n\nexport type TableExpanderButtonProps = {\n /**\n * Controls whether the related row is currently expanded.\n *\n * @default false\n */\n expanded?: boolean;\n\n /**\n * Disables the expander button.\n *\n * @default false\n */\n disabled?: boolean;\n\n /**\n * Callback triggered when the expander button is clicked.\n */\n onClick?: MouseEventHandler<HTMLButtonElement>;\n\n /**\n * Optional additional class names for the button element.\n */\n className?: string;\n};\n\nconst TableExpanderButton = (props: TableExpanderButtonProps) => {\n const { expanded = false, disabled = false, onClick, className, ...remainingProps } = props;\n\n const renderContext = useOptionalTableRenderContext();\n\n if (renderContext) {\n renderContext.renderDraft.hasExpandableRows = true;\n }\n\n return (\n <Button\n {...remainingProps}\n bsStyle='muted'\n bsSize='xs'\n iconOnly\n disabled={disabled}\n iconName={expanded ? 'rioglyph-chevron-up' : 'rioglyph-chevron-down'}\n className={classNames('table-expander-button', className)}\n onClick={onClick}\n />\n );\n};\n\nexport default TableExpanderButton;\n"],"names":["TableExpanderButton","props","expanded","disabled","onClick","className","remainingProps","renderContext","useOptionalTableRenderContext","jsx","Button","classNames"],"mappings":";;;;AAgCA,MAAMA,IAAsB,CAACC,MAAoC;AAC7D,QAAM,EAAE,UAAAC,IAAW,IAAO,UAAAC,IAAW,IAAO,SAAAC,GAAS,WAAAC,GAAW,GAAGC,EAAA,IAAmBL,GAEhFM,IAAgBC,EAAA;AAEtB,SAAID,MACAA,EAAc,YAAY,oBAAoB,KAI9C,gBAAAE;AAAA,IAACC;AAAA,IAAA;AAAA,MACI,GAAGJ;AAAA,MACJ,SAAQ;AAAA,MACR,QAAO;AAAA,MACP,UAAQ;AAAA,MACR,UAAAH;AAAA,MACA,UAAUD,IAAW,wBAAwB;AAAA,MAC7C,WAAWS,EAAW,yBAAyBN,CAAS;AAAA,MACxD,SAAAD;AAAA,IAAA;AAAA,EAAA;AAGZ;"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { TableHtmlAttributes } from './Table.types';
|
|
3
|
+
export type TableFooterProps = TableHtmlAttributes & {
|
|
4
|
+
/**
|
|
5
|
+
* The footer content.
|
|
6
|
+
*
|
|
7
|
+
* Use `TableColumn` children for cell-based footers, or arbitrary content
|
|
8
|
+
* for a full-width footer row.
|
|
9
|
+
*/
|
|
10
|
+
children?: ReactNode;
|
|
11
|
+
/**
|
|
12
|
+
* Optional class names for footer row.
|
|
13
|
+
*/
|
|
14
|
+
className?: string;
|
|
15
|
+
};
|
|
16
|
+
declare const TableFooter: (props: TableFooterProps) => import("react/jsx-runtime").JSX.Element | null;
|
|
17
|
+
export default TableFooter;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { jsx as o } from "react/jsx-runtime";
|
|
2
|
+
import { useRef as p } from "react";
|
|
3
|
+
import f from "../../utils/classNames.js";
|
|
4
|
+
import w from "./render/footer/TableFooterContent.js";
|
|
5
|
+
import { useOptionalTableInteractionContext as x } from "./context/TableInteractionContext.js";
|
|
6
|
+
import { useOptionalTableLayoutContext as F } from "./context/TableLayoutContext.js";
|
|
7
|
+
import { useOptionalTableRenderConfigContext as T } from "./context/TableRenderConfigContext.js";
|
|
8
|
+
import { TableSectionContext as R, TableRowContext as v } from "./context/TableStructureContext.js";
|
|
9
|
+
import { useOptionalTableRenderContext as g } from "./context/TableRenderContext.js";
|
|
10
|
+
const L = (u) => {
|
|
11
|
+
const { children: n, className: m, ...d } = u, l = T(), e = g(), a = x(), s = F(), t = p(0);
|
|
12
|
+
if (t.current = 0, !l || !e || !a || !s || e.columns.length === 0 || !l.isTableView)
|
|
13
|
+
return null;
|
|
14
|
+
const C = e.columns.length + (a.showSelectionColumn ? 1 : 0), i = e.hasFooterCells !== !1, b = !i;
|
|
15
|
+
return e.renderDraft.hasFooter = !0, e.renderDraft.hasFooterCells = !1, /* @__PURE__ */ o(
|
|
16
|
+
"div",
|
|
17
|
+
{
|
|
18
|
+
...d,
|
|
19
|
+
className: f("table-footer", b && "table-footer-full-width"),
|
|
20
|
+
role: "rowgroup",
|
|
21
|
+
children: /* @__PURE__ */ o(
|
|
22
|
+
"div",
|
|
23
|
+
{
|
|
24
|
+
className: f("table-row table-row-footer", m),
|
|
25
|
+
role: "row",
|
|
26
|
+
ref: s.tableFooterRowRef,
|
|
27
|
+
children: i ? /* @__PURE__ */ o(R.Provider, { value: "footer", children: /* @__PURE__ */ o(
|
|
28
|
+
v.Provider,
|
|
29
|
+
{
|
|
30
|
+
value: {
|
|
31
|
+
nextColumnIndex: (r, c = 1) => {
|
|
32
|
+
if (r !== void 0 && r >= 0)
|
|
33
|
+
return t.current = r + c, r;
|
|
34
|
+
const h = t.current;
|
|
35
|
+
return t.current += c, h;
|
|
36
|
+
},
|
|
37
|
+
rowData: {},
|
|
38
|
+
rowId: "__footer__",
|
|
39
|
+
rowIndex: -1
|
|
40
|
+
},
|
|
41
|
+
children: n
|
|
42
|
+
}
|
|
43
|
+
) }) : /* @__PURE__ */ o(w, { columnCount: C, content: n })
|
|
44
|
+
}
|
|
45
|
+
)
|
|
46
|
+
}
|
|
47
|
+
);
|
|
48
|
+
};
|
|
49
|
+
export {
|
|
50
|
+
L as default
|
|
51
|
+
};
|
|
52
|
+
//# sourceMappingURL=TableFooter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableFooter.js","sources":["../../../src/components/table/TableFooter.tsx"],"sourcesContent":["import { useRef, type ReactNode } from 'react';\n\nimport classNames from '../../utils/classNames';\nimport type { TableHtmlAttributes } from './Table.types';\nimport TableFooterContent from './render/footer/TableFooterContent';\nimport { useOptionalTableInteractionContext } from './context/TableInteractionContext';\nimport { useOptionalTableLayoutContext } from './context/TableLayoutContext';\nimport { useOptionalTableRenderConfigContext } from './context/TableRenderConfigContext';\nimport { TableRowContext, TableSectionContext } from './context/TableStructureContext';\nimport { useOptionalTableRenderContext } from './context/TableRenderContext';\n\nexport type TableFooterProps = TableHtmlAttributes & {\n /**\n * The footer content.\n *\n * Use `TableColumn` children for cell-based footers, or arbitrary content\n * for a full-width footer row.\n */\n children?: ReactNode;\n\n /**\n * Optional class names for footer row.\n */\n className?: string;\n};\n\nconst TableFooter = (props: TableFooterProps) => {\n const { children, className, ...remainingProps } = props;\n\n const renderConfigContext = useOptionalTableRenderConfigContext();\n const renderContext = useOptionalTableRenderContext();\n const interactionContext = useOptionalTableInteractionContext();\n const layoutContext = useOptionalTableLayoutContext();\n\n const cellIndexRef = useRef(0);\n cellIndexRef.current = 0;\n\n if (\n !renderConfigContext ||\n !renderContext ||\n !interactionContext ||\n !layoutContext ||\n renderContext.columns.length === 0\n ) {\n return null;\n }\n\n if (!renderConfigContext.isTableView) {\n return null;\n }\n\n const columnCount = renderContext.columns.length + (interactionContext.showSelectionColumn ? 1 : 0);\n const shouldRenderFooterCells = renderContext.hasFooterCells !== false;\n const isFullWidthFooter = !shouldRenderFooterCells;\n\n renderContext.renderDraft.hasFooter = true;\n renderContext.renderDraft.hasFooterCells = false;\n\n return (\n <div\n {...remainingProps}\n className={classNames('table-footer', isFullWidthFooter && 'table-footer-full-width')}\n role='rowgroup'\n >\n <div\n className={classNames('table-row table-row-footer', className)}\n role='row'\n ref={layoutContext.tableFooterRowRef}\n >\n {shouldRenderFooterCells ? (\n <TableSectionContext.Provider value='footer'>\n <TableRowContext.Provider\n value={{\n nextColumnIndex: (explicitColumnIndex, span = 1) => {\n if (explicitColumnIndex !== undefined && explicitColumnIndex >= 0) {\n cellIndexRef.current = explicitColumnIndex + span;\n return explicitColumnIndex;\n }\n\n const nextIndex = cellIndexRef.current;\n cellIndexRef.current += span;\n return nextIndex;\n },\n rowData: {},\n rowId: '__footer__',\n rowIndex: -1,\n }}\n >\n {children}\n </TableRowContext.Provider>\n </TableSectionContext.Provider>\n ) : (\n <TableFooterContent columnCount={columnCount} content={children} />\n )}\n </div>\n </div>\n );\n};\n\nexport default TableFooter;\n"],"names":["TableFooter","props","children","className","remainingProps","renderConfigContext","useOptionalTableRenderConfigContext","renderContext","useOptionalTableRenderContext","interactionContext","useOptionalTableInteractionContext","layoutContext","useOptionalTableLayoutContext","cellIndexRef","useRef","columnCount","shouldRenderFooterCells","isFullWidthFooter","jsx","classNames","TableSectionContext","TableRowContext","explicitColumnIndex","span","nextIndex","TableFooterContent"],"mappings":";;;;;;;;;AA0BA,MAAMA,IAAc,CAACC,MAA4B;AAC7C,QAAM,EAAE,UAAAC,GAAU,WAAAC,GAAW,GAAGC,MAAmBH,GAE7CI,IAAsBC,EAAA,GACtBC,IAAgBC,EAAA,GAChBC,IAAqBC,EAAA,GACrBC,IAAgBC,EAAA,GAEhBC,IAAeC,EAAO,CAAC;AAa7B,MAZAD,EAAa,UAAU,GAGnB,CAACR,KACD,CAACE,KACD,CAACE,KACD,CAACE,KACDJ,EAAc,QAAQ,WAAW,KAKjC,CAACF,EAAoB;AACrB,WAAO;AAGX,QAAMU,IAAcR,EAAc,QAAQ,UAAUE,EAAmB,sBAAsB,IAAI,IAC3FO,IAA0BT,EAAc,mBAAmB,IAC3DU,IAAoB,CAACD;AAE3B,SAAAT,EAAc,YAAY,YAAY,IACtCA,EAAc,YAAY,iBAAiB,IAGvC,gBAAAW;AAAA,IAAC;AAAA,IAAA;AAAA,MACI,GAAGd;AAAA,MACJ,WAAWe,EAAW,gBAAgBF,KAAqB,yBAAyB;AAAA,MACpF,MAAK;AAAA,MAEL,UAAA,gBAAAC;AAAA,QAAC;AAAA,QAAA;AAAA,UACG,WAAWC,EAAW,8BAA8BhB,CAAS;AAAA,UAC7D,MAAK;AAAA,UACL,KAAKQ,EAAc;AAAA,UAElB,cACG,gBAAAO,EAACE,EAAoB,UAApB,EAA6B,OAAM,UAChC,UAAA,gBAAAF;AAAA,YAACG,EAAgB;AAAA,YAAhB;AAAA,cACG,OAAO;AAAA,gBACH,iBAAiB,CAACC,GAAqBC,IAAO,MAAM;AAChD,sBAAID,MAAwB,UAAaA,KAAuB;AAC5D,2BAAAT,EAAa,UAAUS,IAAsBC,GACtCD;AAGX,wBAAME,IAAYX,EAAa;AAC/B,yBAAAA,EAAa,WAAWU,GACjBC;AAAA,gBACX;AAAA,gBACA,SAAS,CAAA;AAAA,gBACT,OAAO;AAAA,gBACP,UAAU;AAAA,cAAA;AAAA,cAGb,UAAAtB;AAAA,YAAA;AAAA,UAAA,GAET,IAEA,gBAAAgB,EAACO,GAAA,EAAmB,aAAAV,GAA0B,SAASb,EAAA,CAAU;AAAA,QAAA;AAAA,MAAA;AAAA,IAEzE;AAAA,EAAA;AAGZ;"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { TableHtmlAttributes } from './Table.types';
|
|
3
|
+
export type TableGroupFooterRowProps = TableHtmlAttributes & {
|
|
4
|
+
/**
|
|
5
|
+
* The content of the full-width group footer row.
|
|
6
|
+
*/
|
|
7
|
+
children?: ReactNode;
|
|
8
|
+
/**
|
|
9
|
+
* Optional class names only for this group footer row.
|
|
10
|
+
*/
|
|
11
|
+
className?: string;
|
|
12
|
+
/**
|
|
13
|
+
* Disable table hover styling for this row.
|
|
14
|
+
*/
|
|
15
|
+
noHover?: boolean;
|
|
16
|
+
};
|
|
17
|
+
declare const TableGroupFooterRow: (props: TableGroupFooterRowProps) => import("react/jsx-runtime").JSX.Element | null;
|
|
18
|
+
export default TableGroupFooterRow;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { jsx as t } from "react/jsx-runtime";
|
|
2
|
+
import p from "../../utils/classNames.js";
|
|
3
|
+
import { useOptionalTableInteractionContext as b } from "./context/TableInteractionContext.js";
|
|
4
|
+
import { useOptionalTableSection as w, useTableBodyContext as x } from "./context/TableStructureContext.js";
|
|
5
|
+
import { useOptionalTableRenderContext as f } from "./context/TableRenderContext.js";
|
|
6
|
+
const v = (s) => {
|
|
7
|
+
const { children: a, className: c, noHover: i, ...d } = s, o = f(), n = b(), m = w(), r = x();
|
|
8
|
+
if (!o || !n || o.columns.length === 0 || m !== "body" || !r)
|
|
9
|
+
return null;
|
|
10
|
+
const e = r.nextRowIndex(), u = o.columns.length + (n.showSelectionColumn ? 1 : 0), l = /* @__PURE__ */ t(
|
|
11
|
+
"div",
|
|
12
|
+
{
|
|
13
|
+
...d,
|
|
14
|
+
className: p("table-row", "table-row-group-footer", i && "table-row-no-hover", c),
|
|
15
|
+
"data-index": e,
|
|
16
|
+
role: "row",
|
|
17
|
+
children: /* @__PURE__ */ t("div", { className: "table-cell table-group-cell", role: "cell", "aria-colspan": u, children: /* @__PURE__ */ t("div", { className: "table-cell-content", children: a }) })
|
|
18
|
+
}
|
|
19
|
+
);
|
|
20
|
+
return o.renderDraft.bodyRows.push({
|
|
21
|
+
rowId: `group-footer-${e}`,
|
|
22
|
+
rowIndex: e,
|
|
23
|
+
kind: "group-footer",
|
|
24
|
+
render: () => l
|
|
25
|
+
}), o.isRegisteringBodyRows ? null : l;
|
|
26
|
+
};
|
|
27
|
+
export {
|
|
28
|
+
v as default
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=TableGroupFooterRow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableGroupFooterRow.js","sources":["../../../src/components/table/TableGroupFooterRow.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport classNames from '../../utils/classNames';\nimport type { TableHtmlAttributes } from './Table.types';\nimport { useOptionalTableInteractionContext } from './context/TableInteractionContext';\nimport { useTableBodyContext, useOptionalTableSection } from './context/TableStructureContext';\nimport { useOptionalTableRenderContext } from './context/TableRenderContext';\n\nexport type TableGroupFooterRowProps = TableHtmlAttributes & {\n /**\n * The content of the full-width group footer row.\n */\n children?: ReactNode;\n\n /**\n * Optional class names only for this group footer row.\n */\n className?: string;\n\n /**\n * Disable table hover styling for this row.\n */\n noHover?: boolean;\n};\n\nconst TableGroupFooterRow = (props: TableGroupFooterRowProps) => {\n const { children, className, noHover, ...remainingProps } = props;\n\n const renderContext = useOptionalTableRenderContext();\n const interactionContext = useOptionalTableInteractionContext();\n const section = useOptionalTableSection();\n const bodyContext = useTableBodyContext();\n\n if (\n !renderContext ||\n !interactionContext ||\n renderContext.columns.length === 0 ||\n section !== 'body' ||\n !bodyContext\n ) {\n return null;\n }\n\n const rowIndex = bodyContext.nextRowIndex();\n const columnCount = renderContext.columns.length + (interactionContext.showSelectionColumn ? 1 : 0);\n\n const rowNode = (\n <div\n {...remainingProps}\n className={classNames('table-row', 'table-row-group-footer', noHover && 'table-row-no-hover', className)}\n data-index={rowIndex}\n role='row'\n >\n <div className='table-cell table-group-cell' role='cell' aria-colspan={columnCount}>\n <div className='table-cell-content'>{children}</div>\n </div>\n </div>\n );\n\n renderContext.renderDraft.bodyRows.push({\n rowId: `group-footer-${rowIndex}`,\n rowIndex,\n kind: 'group-footer',\n render: () => rowNode,\n });\n\n return renderContext.isRegisteringBodyRows ? null : rowNode;\n};\n\nexport default TableGroupFooterRow;\n"],"names":["TableGroupFooterRow","props","children","className","noHover","remainingProps","renderContext","useOptionalTableRenderContext","interactionContext","useOptionalTableInteractionContext","section","useOptionalTableSection","bodyContext","useTableBodyContext","rowIndex","columnCount","rowNode","jsx","classNames"],"mappings":";;;;;AAyBA,MAAMA,IAAsB,CAACC,MAAoC;AAC7D,QAAM,EAAE,UAAAC,GAAU,WAAAC,GAAW,SAAAC,GAAS,GAAGC,MAAmBJ,GAEtDK,IAAgBC,EAAA,GAChBC,IAAqBC,EAAA,GACrBC,IAAUC,EAAA,GACVC,IAAcC,EAAA;AAEpB,MACI,CAACP,KACD,CAACE,KACDF,EAAc,QAAQ,WAAW,KACjCI,MAAY,UACZ,CAACE;AAED,WAAO;AAGX,QAAME,IAAWF,EAAY,aAAA,GACvBG,IAAcT,EAAc,QAAQ,UAAUE,EAAmB,sBAAsB,IAAI,IAE3FQ,IACF,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACI,GAAGZ;AAAA,MACJ,WAAWa,EAAW,aAAa,0BAA0Bd,KAAW,sBAAsBD,CAAS;AAAA,MACvG,cAAYW;AAAA,MACZ,MAAK;AAAA,MAEL,UAAA,gBAAAG,EAAC,OAAA,EAAI,WAAU,+BAA8B,MAAK,QAAO,gBAAcF,GACnE,UAAA,gBAAAE,EAAC,OAAA,EAAI,WAAU,sBAAsB,UAAAf,GAAS,EAAA,CAClD;AAAA,IAAA;AAAA,EAAA;AAIR,SAAAI,EAAc,YAAY,SAAS,KAAK;AAAA,IACpC,OAAO,gBAAgBQ,CAAQ;AAAA,IAC/B,UAAAA;AAAA,IACA,MAAM;AAAA,IACN,QAAQ,MAAME;AAAA,EAAA,CACjB,GAEMV,EAAc,wBAAwB,OAAOU;AACxD;"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { TableHtmlAttributes } from './Table.types';
|
|
3
|
+
export type TableGroupRowProps = TableHtmlAttributes & {
|
|
4
|
+
/**
|
|
5
|
+
* The content of the full-width group row.
|
|
6
|
+
*/
|
|
7
|
+
children?: ReactNode;
|
|
8
|
+
/**
|
|
9
|
+
* Keeps the group row sticky at the top of a scrollable table body.
|
|
10
|
+
*
|
|
11
|
+
* @default false
|
|
12
|
+
*/
|
|
13
|
+
sticky?: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Optional class names only for this group row.
|
|
16
|
+
*/
|
|
17
|
+
className?: string;
|
|
18
|
+
/**
|
|
19
|
+
* Disable table hover styling for this row.
|
|
20
|
+
*/
|
|
21
|
+
noHover?: boolean;
|
|
22
|
+
};
|
|
23
|
+
declare const TableGroupRow: (props: TableGroupRowProps) => import("react/jsx-runtime").JSX.Element | null;
|
|
24
|
+
export default TableGroupRow;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { jsx as t } from "react/jsx-runtime";
|
|
2
|
+
import b from "../../utils/classNames.js";
|
|
3
|
+
import { useOptionalTableInteractionContext as w } from "./context/TableInteractionContext.js";
|
|
4
|
+
import { useOptionalTableSection as x, useTableBodyContext as g } from "./context/TableStructureContext.js";
|
|
5
|
+
import { useOptionalTableRenderContext as f } from "./context/TableRenderContext.js";
|
|
6
|
+
const v = (s) => {
|
|
7
|
+
const { children: a, className: c, noHover: i, sticky: d, ...u } = s, o = f(), n = w(), m = x(), r = g();
|
|
8
|
+
if (!o || !n || o.columns.length === 0 || m !== "body" || !r)
|
|
9
|
+
return null;
|
|
10
|
+
const e = r.nextRowIndex(), p = o.columns.length + (n.showSelectionColumn ? 1 : 0), l = /* @__PURE__ */ t(
|
|
11
|
+
"div",
|
|
12
|
+
{
|
|
13
|
+
...u,
|
|
14
|
+
className: b(
|
|
15
|
+
"table-row",
|
|
16
|
+
"table-row-group",
|
|
17
|
+
d && "table-row-group-sticky",
|
|
18
|
+
i && "table-row-no-hover",
|
|
19
|
+
c
|
|
20
|
+
),
|
|
21
|
+
"data-index": e,
|
|
22
|
+
role: "row",
|
|
23
|
+
children: /* @__PURE__ */ t("div", { className: "table-cell table-group-cell", role: "cell", "aria-colspan": p, children: /* @__PURE__ */ t("div", { className: "table-cell-content", children: a }) })
|
|
24
|
+
}
|
|
25
|
+
);
|
|
26
|
+
return o.renderDraft.bodyRows.push({
|
|
27
|
+
rowId: `group-${e}`,
|
|
28
|
+
rowIndex: e,
|
|
29
|
+
kind: "group",
|
|
30
|
+
render: () => l
|
|
31
|
+
}), o.isRegisteringBodyRows ? null : l;
|
|
32
|
+
};
|
|
33
|
+
export {
|
|
34
|
+
v as default
|
|
35
|
+
};
|
|
36
|
+
//# sourceMappingURL=TableGroupRow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableGroupRow.js","sources":["../../../src/components/table/TableGroupRow.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport classNames from '../../utils/classNames';\nimport type { TableHtmlAttributes } from './Table.types';\nimport { useOptionalTableInteractionContext } from './context/TableInteractionContext';\nimport { useTableBodyContext, useOptionalTableSection } from './context/TableStructureContext';\nimport { useOptionalTableRenderContext } from './context/TableRenderContext';\n\nexport type TableGroupRowProps = TableHtmlAttributes & {\n /**\n * The content of the full-width group row.\n */\n children?: ReactNode;\n\n /**\n * Keeps the group row sticky at the top of a scrollable table body.\n *\n * @default false\n */\n sticky?: boolean;\n\n /**\n * Optional class names only for this group row.\n */\n className?: string;\n\n /**\n * Disable table hover styling for this row.\n */\n noHover?: boolean;\n};\n\nconst TableGroupRow = (props: TableGroupRowProps) => {\n const { children, className, noHover, sticky, ...remainingProps } = props;\n\n const renderContext = useOptionalTableRenderContext();\n const interactionContext = useOptionalTableInteractionContext();\n const section = useOptionalTableSection();\n const bodyContext = useTableBodyContext();\n\n if (\n !renderContext ||\n !interactionContext ||\n renderContext.columns.length === 0 ||\n section !== 'body' ||\n !bodyContext\n ) {\n return null;\n }\n\n const rowIndex = bodyContext.nextRowIndex();\n const columnCount = renderContext.columns.length + (interactionContext.showSelectionColumn ? 1 : 0);\n\n const rowNode = (\n <div\n {...remainingProps}\n className={classNames(\n 'table-row',\n 'table-row-group',\n sticky && 'table-row-group-sticky',\n noHover && 'table-row-no-hover',\n className\n )}\n data-index={rowIndex}\n role='row'\n >\n <div className='table-cell table-group-cell' role='cell' aria-colspan={columnCount}>\n <div className='table-cell-content'>{children}</div>\n </div>\n </div>\n );\n\n renderContext.renderDraft.bodyRows.push({\n rowId: `group-${rowIndex}`,\n rowIndex,\n kind: 'group',\n render: () => rowNode,\n });\n\n return renderContext.isRegisteringBodyRows ? null : rowNode;\n};\n\nexport default TableGroupRow;\n"],"names":["TableGroupRow","props","children","className","noHover","sticky","remainingProps","renderContext","useOptionalTableRenderContext","interactionContext","useOptionalTableInteractionContext","section","useOptionalTableSection","bodyContext","useTableBodyContext","rowIndex","columnCount","rowNode","jsx","classNames"],"mappings":";;;;;AAgCA,MAAMA,IAAgB,CAACC,MAA8B;AACjD,QAAM,EAAE,UAAAC,GAAU,WAAAC,GAAW,SAAAC,GAAS,QAAAC,GAAQ,GAAGC,MAAmBL,GAE9DM,IAAgBC,EAAA,GAChBC,IAAqBC,EAAA,GACrBC,IAAUC,EAAA,GACVC,IAAcC,EAAA;AAEpB,MACI,CAACP,KACD,CAACE,KACDF,EAAc,QAAQ,WAAW,KACjCI,MAAY,UACZ,CAACE;AAED,WAAO;AAGX,QAAME,IAAWF,EAAY,aAAA,GACvBG,IAAcT,EAAc,QAAQ,UAAUE,EAAmB,sBAAsB,IAAI,IAE3FQ,IACF,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACI,GAAGZ;AAAA,MACJ,WAAWa;AAAA,QACP;AAAA,QACA;AAAA,QACAd,KAAU;AAAA,QACVD,KAAW;AAAA,QACXD;AAAA,MAAA;AAAA,MAEJ,cAAYY;AAAA,MACZ,MAAK;AAAA,MAEL,UAAA,gBAAAG,EAAC,OAAA,EAAI,WAAU,+BAA8B,MAAK,QAAO,gBAAcF,GACnE,UAAA,gBAAAE,EAAC,OAAA,EAAI,WAAU,sBAAsB,UAAAhB,GAAS,EAAA,CAClD;AAAA,IAAA;AAAA,EAAA;AAIR,SAAAK,EAAc,YAAY,SAAS,KAAK;AAAA,IACpC,OAAO,SAASQ,CAAQ;AAAA,IACxB,UAAAA;AAAA,IACA,MAAM;AAAA,IACN,QAAQ,MAAME;AAAA,EAAA,CACjB,GAEMV,EAAc,wBAAwB,OAAOU;AACxD;"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { TableHtmlAttributes, TableRowData } from './Table.types';
|
|
3
|
+
export type TableHeaderProps<RowType extends TableRowData> = TableHtmlAttributes & {
|
|
4
|
+
/**
|
|
5
|
+
* Additional class names for the header grid wrapper.
|
|
6
|
+
*/
|
|
7
|
+
className?: string;
|
|
8
|
+
/**
|
|
9
|
+
* Table header content.
|
|
10
|
+
*/
|
|
11
|
+
children?: ReactNode;
|
|
12
|
+
};
|
|
13
|
+
declare const TableHeader: <RowType extends TableRowData = TableRowData>(props: TableHeaderProps<RowType>) => import("react/jsx-runtime").JSX.Element | null;
|
|
14
|
+
export default TableHeader;
|