@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,59 @@
|
|
|
1
|
+
import { useMeasuredColumnMaxWidths as N } from "./useMeasuredColumnMaxWidths.js";
|
|
2
|
+
import { MIN_COLUMN_WIDTH_PX as O } from "../tableSizing.constants.js";
|
|
3
|
+
import { toCssSize as l, getColumnTrack as R } from "./columnSizing.js";
|
|
4
|
+
import { useHorizontalSectionSync as L } from "./useHorizontalSectionSync.js";
|
|
5
|
+
import $ from "../../../hooks/useResizeObserver.js";
|
|
6
|
+
const h = 50, B = (r) => {
|
|
7
|
+
if (!r)
|
|
8
|
+
return;
|
|
9
|
+
const a = r.trim().match(/^(-?\d+(?:\.\d+)?)px$/);
|
|
10
|
+
if (a)
|
|
11
|
+
return Number(a[1]);
|
|
12
|
+
}, j = (r) => {
|
|
13
|
+
const { bodyMaxHeight: a, cardsStyle: d, columns: n, hasFooterCells: p, rowSeparatorWidth: u, showSelectionColumn: i, style: b } = r, [c, , { inlineSize: f }] = $(), t = n.map((e, o) => ({
|
|
14
|
+
column: e,
|
|
15
|
+
columnIndex: o,
|
|
16
|
+
areaName: `table-col-${o + 1}`
|
|
17
|
+
})), s = f ?? c.current?.clientWidth, W = (i ? h : 0) + n.reduce((e, o) => {
|
|
18
|
+
if (o.width === void 0)
|
|
19
|
+
return e + O;
|
|
20
|
+
const H = B(l(o.width));
|
|
21
|
+
return e + (H ?? 0);
|
|
22
|
+
}, 0), m = s !== void 0 && W > s, S = s !== void 0 ? `${s}px` : "100%", { handleBodyScroll: w, hasHorizontalScrollOffset: x, tableFooterRowRef: C, tableHeadRowRef: M } = L({
|
|
23
|
+
enabled: !!a,
|
|
24
|
+
hasFooterCells: p
|
|
25
|
+
}), T = N({
|
|
26
|
+
columns: n,
|
|
27
|
+
enabled: m,
|
|
28
|
+
tableWrapperRef: c
|
|
29
|
+
}), g = t.length > 0 ? [
|
|
30
|
+
i ? `${h}px` : void 0,
|
|
31
|
+
...t.map(({ column: e }) => R(e, T[e.key]))
|
|
32
|
+
].filter(Boolean).join(" ") : "minmax(0, 1fr)", y = t.length > 0 ? `"${[
|
|
33
|
+
i ? "table-selection" : void 0,
|
|
34
|
+
...t.map(({ areaName: e }) => e)
|
|
35
|
+
].filter(Boolean).join(" ")}"` : "none", _ = l(d?.minWidth) ?? "280px", v = l(d?.maxWidth) ?? "1fr", z = {
|
|
36
|
+
...b ?? {},
|
|
37
|
+
"--table-columns": g,
|
|
38
|
+
"--table-areas": y,
|
|
39
|
+
"--table-cards-min": _,
|
|
40
|
+
"--table-cards-max": v,
|
|
41
|
+
"--table-column-count": String(n.length + (i ? 1 : 0)),
|
|
42
|
+
"--table-row-separator-width": l(u),
|
|
43
|
+
"--table-width": S
|
|
44
|
+
};
|
|
45
|
+
return {
|
|
46
|
+
columnsWithAreas: t,
|
|
47
|
+
handleBodyScroll: w,
|
|
48
|
+
hasHorizontalScrollOffset: x,
|
|
49
|
+
tableUseOverflow: m,
|
|
50
|
+
tableWrapperRef: c,
|
|
51
|
+
tableFooterRowRef: C,
|
|
52
|
+
tableHeadRowRef: M,
|
|
53
|
+
wrapperStyle: z
|
|
54
|
+
};
|
|
55
|
+
};
|
|
56
|
+
export {
|
|
57
|
+
j as useTableLayout
|
|
58
|
+
};
|
|
59
|
+
//# sourceMappingURL=useTableLayout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTableLayout.js","sources":["../../../../src/components/table/layout/useTableLayout.ts"],"sourcesContent":["import type { CSSProperties } from 'react';\n\nimport type { TableCardsStyleSettings, TableColumnDefinition, TableRowData } from '../Table.types';\nimport { useMeasuredColumnMaxWidths } from './useMeasuredColumnMaxWidths';\nimport { MIN_COLUMN_WIDTH_PX } from '../tableSizing.constants';\nimport { getColumnTrack, toCssSize } from './columnSizing';\nimport { useHorizontalSectionSync } from './useHorizontalSectionSync';\nimport useResizeObserver from '../../../useResizeObserver';\n\nconst TABLE_SELECTION_COLUMN_WIDTH_PX = 50;\n\nconst parsePixelSize = (value?: string) => {\n if (!value) {\n return;\n }\n\n const match = value.trim().match(/^(-?\\d+(?:\\.\\d+)?)px$/);\n\n if (!match) {\n return;\n }\n\n return Number(match[1]);\n};\n\nexport type TableColumnWithArea<RowType extends TableRowData> = {\n column: TableColumnDefinition<RowType>;\n columnIndex: number;\n areaName: string;\n};\n\ntype UseTableLayoutProps<RowType extends TableRowData> = {\n bodyMaxHeight?: string;\n cardsStyle?: TableCardsStyleSettings;\n columns: TableColumnDefinition<RowType>[];\n hasFooterCells?: boolean;\n rowSeparatorWidth?: number | string;\n showSelectionColumn?: boolean;\n style?: CSSProperties;\n};\n\ntype InternalTableStyle = CSSProperties & {\n '--table-columns'?: string;\n '--table-areas'?: string;\n '--table-cards-min'?: string;\n '--table-cards-max'?: string;\n '--table-column-count'?: string;\n '--table-row-separator-width'?: string;\n '--table-width'?: string;\n};\n\nexport const useTableLayout = <RowType extends TableRowData>(props: UseTableLayoutProps<RowType>) => {\n const { bodyMaxHeight, cardsStyle, columns, hasFooterCells, rowSeparatorWidth, showSelectionColumn, style } = props;\n const [tableWrapperRef, , { inlineSize }] = useResizeObserver<HTMLDivElement>();\n\n const columnsWithAreas: TableColumnWithArea<RowType>[] = columns.map((column, columnIndex) => ({\n column,\n columnIndex,\n areaName: `table-col-${columnIndex + 1}`,\n }));\n\n const wrapperWidth = inlineSize ?? tableWrapperRef.current?.clientWidth;\n\n const minWidthTotal =\n (showSelectionColumn ? TABLE_SELECTION_COLUMN_WIDTH_PX : 0) +\n columns.reduce((totalWidth, column) => {\n if (column.width === undefined) {\n return totalWidth + MIN_COLUMN_WIDTH_PX;\n }\n\n const columnWidth = parsePixelSize(toCssSize(column.width));\n\n return totalWidth + (columnWidth ?? 0);\n }, 0);\n\n const tableUseOverflow = wrapperWidth !== undefined && minWidthTotal > wrapperWidth;\n const tableWidth = wrapperWidth !== undefined ? `${wrapperWidth}px` : '100%';\n\n const { handleBodyScroll, hasHorizontalScrollOffset, tableFooterRowRef, tableHeadRowRef } =\n useHorizontalSectionSync({\n enabled: !!bodyMaxHeight,\n hasFooterCells,\n });\n\n const measuredColumnMaxWidths = useMeasuredColumnMaxWidths({\n columns,\n enabled: tableUseOverflow,\n tableWrapperRef,\n });\n\n const gridTemplateColumns =\n columnsWithAreas.length > 0\n ? [\n showSelectionColumn ? `${TABLE_SELECTION_COLUMN_WIDTH_PX}px` : undefined,\n ...columnsWithAreas.map(({ column }) => getColumnTrack(column, measuredColumnMaxWidths[column.key])),\n ]\n .filter(Boolean)\n .join(' ')\n : 'minmax(0, 1fr)';\n\n const gridTemplateAreas =\n columnsWithAreas.length > 0\n ? `\"${[\n showSelectionColumn ? 'table-selection' : undefined,\n ...columnsWithAreas.map(({ areaName }) => areaName),\n ]\n .filter(Boolean)\n .join(' ')}\"`\n : 'none';\n\n const cardsMinWidth = toCssSize(cardsStyle?.minWidth) ?? '280px';\n const cardsMaxWidth = toCssSize(cardsStyle?.maxWidth) ?? '1fr';\n\n const wrapperStyle: InternalTableStyle = {\n ...(style ?? {}),\n '--table-columns': gridTemplateColumns,\n '--table-areas': gridTemplateAreas,\n '--table-cards-min': cardsMinWidth,\n '--table-cards-max': cardsMaxWidth,\n '--table-column-count': String(columns.length + (showSelectionColumn ? 1 : 0)),\n '--table-row-separator-width': toCssSize(rowSeparatorWidth),\n '--table-width': tableWidth,\n };\n\n return {\n columnsWithAreas,\n handleBodyScroll,\n hasHorizontalScrollOffset,\n tableUseOverflow,\n tableWrapperRef,\n tableFooterRowRef,\n tableHeadRowRef,\n wrapperStyle,\n };\n};\n"],"names":["TABLE_SELECTION_COLUMN_WIDTH_PX","parsePixelSize","value","match","useTableLayout","props","bodyMaxHeight","cardsStyle","columns","hasFooterCells","rowSeparatorWidth","showSelectionColumn","style","tableWrapperRef","inlineSize","useResizeObserver","columnsWithAreas","column","columnIndex","wrapperWidth","minWidthTotal","totalWidth","MIN_COLUMN_WIDTH_PX","columnWidth","toCssSize","tableUseOverflow","tableWidth","handleBodyScroll","hasHorizontalScrollOffset","tableFooterRowRef","tableHeadRowRef","useHorizontalSectionSync","measuredColumnMaxWidths","useMeasuredColumnMaxWidths","gridTemplateColumns","getColumnTrack","gridTemplateAreas","areaName","cardsMinWidth","cardsMaxWidth","wrapperStyle"],"mappings":";;;;;AASA,MAAMA,IAAkC,IAElCC,IAAiB,CAACC,MAAmB;AACvC,MAAI,CAACA;AACD;AAGJ,QAAMC,IAAQD,EAAM,KAAA,EAAO,MAAM,uBAAuB;AAExD,MAAKC;AAIL,WAAO,OAAOA,EAAM,CAAC,CAAC;AAC1B,GA4BaC,IAAiB,CAA+BC,MAAwC;AACjG,QAAM,EAAE,eAAAC,GAAe,YAAAC,GAAY,SAAAC,GAAS,gBAAAC,GAAgB,mBAAAC,GAAmB,qBAAAC,GAAqB,OAAAC,MAAUP,GACxG,CAACQ,GAAA,EAAmB,EAAE,YAAAC,EAAA,CAAY,IAAIC,EAAA,GAEtCC,IAAmDR,EAAQ,IAAI,CAACS,GAAQC,OAAiB;AAAA,IAC3F,QAAAD;AAAA,IACA,aAAAC;AAAA,IACA,UAAU,aAAaA,IAAc,CAAC;AAAA,EAAA,EACxC,GAEIC,IAAeL,KAAcD,EAAgB,SAAS,aAEtDO,KACDT,IAAsBX,IAAkC,KACzDQ,EAAQ,OAAO,CAACa,GAAYJ,MAAW;AACnC,QAAIA,EAAO,UAAU;AACjB,aAAOI,IAAaC;AAGxB,UAAMC,IAActB,EAAeuB,EAAUP,EAAO,KAAK,CAAC;AAE1D,WAAOI,KAAcE,KAAe;AAAA,EACxC,GAAG,CAAC,GAEFE,IAAmBN,MAAiB,UAAaC,IAAgBD,GACjEO,IAAaP,MAAiB,SAAY,GAAGA,CAAY,OAAO,QAEhE,EAAE,kBAAAQ,GAAkB,2BAAAC,GAA2B,mBAAAC,GAAmB,iBAAAC,EAAA,IACpEC,EAAyB;AAAA,IACrB,SAAS,CAAC,CAACzB;AAAA,IACX,gBAAAG;AAAA,EAAA,CACH,GAECuB,IAA0BC,EAA2B;AAAA,IACvD,SAAAzB;AAAA,IACA,SAASiB;AAAA,IACT,iBAAAZ;AAAA,EAAA,CACH,GAEKqB,IACFlB,EAAiB,SAAS,IACpB;AAAA,IACIL,IAAsB,GAAGX,CAA+B,OAAO;AAAA,IAC/D,GAAGgB,EAAiB,IAAI,CAAC,EAAE,QAAAC,EAAA,MAAakB,EAAelB,GAAQe,EAAwBf,EAAO,GAAG,CAAC,CAAC;AAAA,EAAA,EAElG,OAAO,OAAO,EACd,KAAK,GAAG,IACb,kBAEJmB,IACFpB,EAAiB,SAAS,IACpB,IAAI;AAAA,IACAL,IAAsB,oBAAoB;AAAA,IAC1C,GAAGK,EAAiB,IAAI,CAAC,EAAE,UAAAqB,EAAA,MAAeA,CAAQ;AAAA,EAAA,EAEjD,OAAO,OAAO,EACd,KAAK,GAAG,CAAC,MACd,QAEJC,IAAgBd,EAAUjB,GAAY,QAAQ,KAAK,SACnDgC,IAAgBf,EAAUjB,GAAY,QAAQ,KAAK,OAEnDiC,IAAmC;AAAA,IACrC,GAAI5B,KAAS,CAAA;AAAA,IACb,mBAAmBsB;AAAA,IACnB,iBAAiBE;AAAA,IACjB,qBAAqBE;AAAA,IACrB,qBAAqBC;AAAA,IACrB,wBAAwB,OAAO/B,EAAQ,UAAUG,IAAsB,IAAI,EAAE;AAAA,IAC7E,+BAA+Ba,EAAUd,CAAiB;AAAA,IAC1D,iBAAiBgB;AAAA,EAAA;AAGrB,SAAO;AAAA,IACH,kBAAAV;AAAA,IACA,kBAAAW;AAAA,IACA,2BAAAC;AAAA,IACA,kBAAAH;AAAA,IACA,iBAAAZ;AAAA,IACA,mBAAAgB;AAAA,IACA,iBAAAC;AAAA,IACA,cAAAU;AAAA,EAAA;AAER;"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
type TableVirtualScrollContainer = {
|
|
2
|
+
view?: HTMLDivElement | null;
|
|
3
|
+
};
|
|
4
|
+
type TableVirtualRow<RowType> = {
|
|
5
|
+
index: number;
|
|
6
|
+
row: RowType;
|
|
7
|
+
};
|
|
8
|
+
type UseTableVirtualizationOptions<RowType> = {
|
|
9
|
+
enabled: boolean;
|
|
10
|
+
overscan: number;
|
|
11
|
+
rows: RowType[];
|
|
12
|
+
scrollContainer: TableVirtualScrollContainer | null;
|
|
13
|
+
viewportHeightFallback?: number;
|
|
14
|
+
};
|
|
15
|
+
declare const useTableVirtualization: <RowType>(options: UseTableVirtualizationOptions<RowType>) => {
|
|
16
|
+
isVirtualized: boolean;
|
|
17
|
+
measureRow: (index: number, element: HTMLElement | null) => void;
|
|
18
|
+
paddingBottom: number;
|
|
19
|
+
paddingTop: number;
|
|
20
|
+
virtualRows: TableVirtualRow<RowType>[];
|
|
21
|
+
};
|
|
22
|
+
export default useTableVirtualization;
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import { useState as M, useCallback as c, useEffect as T, useMemo as O } from "react";
|
|
2
|
+
const V = 50, E = (m, i) => m.start === i.start && m.end === i.end, I = (m) => {
|
|
3
|
+
const { enabled: i, overscan: d, rows: r, scrollContainer: v, viewportHeightFallback: w } = m, [l, H] = M({
|
|
4
|
+
itemHeights: {},
|
|
5
|
+
scrollTop: 0,
|
|
6
|
+
viewportHeight: 0,
|
|
7
|
+
visibleRange: { start: 0, end: 10 }
|
|
8
|
+
}), b = c(() => v?.view ?? null, [v]), f = c(() => {
|
|
9
|
+
const e = Object.values(l.itemHeights);
|
|
10
|
+
return e.length === 0 ? V : e.reduce((t, n) => t + n, 0) / e.length;
|
|
11
|
+
}, [l.itemHeights]), g = c(
|
|
12
|
+
(e) => l.itemHeights[e] ?? f(),
|
|
13
|
+
[f, l.itemHeights]
|
|
14
|
+
), p = c(
|
|
15
|
+
(e) => {
|
|
16
|
+
let t = 0;
|
|
17
|
+
for (let n = 0; n < e; n++)
|
|
18
|
+
t += g(n);
|
|
19
|
+
return t;
|
|
20
|
+
},
|
|
21
|
+
[g]
|
|
22
|
+
), x = c(() => {
|
|
23
|
+
let e = 0;
|
|
24
|
+
for (let t = 0; t < r.length; t++)
|
|
25
|
+
e += g(t);
|
|
26
|
+
return e;
|
|
27
|
+
}, [g, r.length]), h = c(
|
|
28
|
+
(e, t) => {
|
|
29
|
+
if (!i || r.length === 0)
|
|
30
|
+
return { start: 0, end: r.length };
|
|
31
|
+
let n = 0, a = 0;
|
|
32
|
+
for (; n < r.length; ) {
|
|
33
|
+
const o = g(n);
|
|
34
|
+
if (a + o > e - d * o)
|
|
35
|
+
break;
|
|
36
|
+
a += o, n++;
|
|
37
|
+
}
|
|
38
|
+
let s = n;
|
|
39
|
+
for (; s < r.length; ) {
|
|
40
|
+
const o = g(s);
|
|
41
|
+
if (a > e + t + d * o)
|
|
42
|
+
break;
|
|
43
|
+
a += o, s++;
|
|
44
|
+
}
|
|
45
|
+
return {
|
|
46
|
+
start: Math.max(0, n - d),
|
|
47
|
+
end: Math.min(r.length, s + d)
|
|
48
|
+
};
|
|
49
|
+
},
|
|
50
|
+
[i, g, d, r.length]
|
|
51
|
+
), u = c(() => {
|
|
52
|
+
const e = b();
|
|
53
|
+
if (!e)
|
|
54
|
+
return;
|
|
55
|
+
const t = e.clientHeight || w || 0, n = e.scrollTop, a = h(n, t);
|
|
56
|
+
H(
|
|
57
|
+
(s) => s.scrollTop === n && s.viewportHeight === t && E(s.visibleRange, a) ? s : {
|
|
58
|
+
...s,
|
|
59
|
+
scrollTop: n,
|
|
60
|
+
viewportHeight: t,
|
|
61
|
+
visibleRange: a
|
|
62
|
+
}
|
|
63
|
+
);
|
|
64
|
+
}, [h, b, w]);
|
|
65
|
+
T(() => {
|
|
66
|
+
if (!i)
|
|
67
|
+
return;
|
|
68
|
+
const e = b();
|
|
69
|
+
if (!e)
|
|
70
|
+
return;
|
|
71
|
+
u(), e.addEventListener("scroll", u, { passive: !0 });
|
|
72
|
+
const t = new ResizeObserver(u);
|
|
73
|
+
return t.observe(e), () => {
|
|
74
|
+
e.removeEventListener("scroll", u), t.disconnect();
|
|
75
|
+
};
|
|
76
|
+
}, [i, b, u]), T(() => {
|
|
77
|
+
i && H((e) => {
|
|
78
|
+
const t = h(e.scrollTop, e.viewportHeight);
|
|
79
|
+
return E(e.visibleRange, t) ? e : {
|
|
80
|
+
...e,
|
|
81
|
+
visibleRange: t
|
|
82
|
+
};
|
|
83
|
+
});
|
|
84
|
+
}, [h, i, r]);
|
|
85
|
+
const k = c(
|
|
86
|
+
(e, t) => {
|
|
87
|
+
if (!t)
|
|
88
|
+
return;
|
|
89
|
+
const n = t.getBoundingClientRect(), a = window.getComputedStyle(t), s = n.height + Number.parseFloat(a.marginTop || "0") + Number.parseFloat(a.marginBottom || "0");
|
|
90
|
+
s <= 0 || H((o) => {
|
|
91
|
+
if (o.itemHeights[e] === s)
|
|
92
|
+
return o;
|
|
93
|
+
const R = {
|
|
94
|
+
...o,
|
|
95
|
+
itemHeights: {
|
|
96
|
+
...o.itemHeights,
|
|
97
|
+
[e]: s
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
return {
|
|
101
|
+
...R,
|
|
102
|
+
visibleRange: h(R.scrollTop, R.viewportHeight)
|
|
103
|
+
};
|
|
104
|
+
});
|
|
105
|
+
},
|
|
106
|
+
[h]
|
|
107
|
+
), z = O(
|
|
108
|
+
() => i ? r.slice(l.visibleRange.start, l.visibleRange.end).map((e, t) => ({
|
|
109
|
+
index: l.visibleRange.start + t,
|
|
110
|
+
row: e
|
|
111
|
+
})) : [],
|
|
112
|
+
[i, r, l.visibleRange.end, l.visibleRange.start]
|
|
113
|
+
), C = i ? p(l.visibleRange.start) : 0, F = i ? Math.max(0, x() - p(l.visibleRange.end)) : 0;
|
|
114
|
+
return {
|
|
115
|
+
isVirtualized: i,
|
|
116
|
+
measureRow: k,
|
|
117
|
+
paddingBottom: F,
|
|
118
|
+
paddingTop: C,
|
|
119
|
+
virtualRows: z
|
|
120
|
+
};
|
|
121
|
+
};
|
|
122
|
+
export {
|
|
123
|
+
I as default
|
|
124
|
+
};
|
|
125
|
+
//# sourceMappingURL=useTableVirtualization.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTableVirtualization.js","sources":["../../../../src/components/table/layout/useTableVirtualization.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo, useState } from 'react';\n\ntype TableVirtualScrollContainer = {\n view?: HTMLDivElement | null;\n};\n\ntype TableVirtualRow<RowType> = {\n index: number;\n row: RowType;\n};\n\ntype UseTableVirtualizationOptions<RowType> = {\n enabled: boolean;\n overscan: number;\n rows: RowType[];\n scrollContainer: TableVirtualScrollContainer | null;\n viewportHeightFallback?: number;\n};\n\ntype TableVirtualizationState = {\n itemHeights: Record<number, number>;\n scrollTop: number;\n viewportHeight: number;\n visibleRange: {\n start: number;\n end: number;\n };\n};\n\nconst DEFAULT_ROW_HEIGHT = 50;\n\nconst areVisibleRangesEqual = (\n currentRange: TableVirtualizationState['visibleRange'],\n nextRange: TableVirtualizationState['visibleRange']\n) => currentRange.start === nextRange.start && currentRange.end === nextRange.end;\n\nconst useTableVirtualization = <RowType>(options: UseTableVirtualizationOptions<RowType>) => {\n const { enabled, overscan, rows, scrollContainer, viewportHeightFallback } = options;\n const [state, setState] = useState<TableVirtualizationState>({\n itemHeights: {},\n scrollTop: 0,\n viewportHeight: 0,\n visibleRange: { start: 0, end: 10 },\n });\n\n const getScrollElement = useCallback(() => scrollContainer?.view ?? null, [scrollContainer]);\n\n const getEstimatedRowHeight = useCallback(() => {\n const measuredHeights = Object.values(state.itemHeights);\n\n if (measuredHeights.length === 0) {\n return DEFAULT_ROW_HEIGHT;\n }\n\n return measuredHeights.reduce((sum, height) => sum + height, 0) / measuredHeights.length;\n }, [state.itemHeights]);\n\n const getRowHeight = useCallback(\n (index: number) => state.itemHeights[index] ?? getEstimatedRowHeight(),\n [getEstimatedRowHeight, state.itemHeights]\n );\n\n const getItemPosition = useCallback(\n (index: number) => {\n let position = 0;\n\n for (let currentIndex = 0; currentIndex < index; currentIndex++) {\n position += getRowHeight(currentIndex);\n }\n\n return position;\n },\n [getRowHeight]\n );\n\n const getTotalHeight = useCallback(() => {\n let totalHeight = 0;\n\n for (let index = 0; index < rows.length; index++) {\n totalHeight += getRowHeight(index);\n }\n\n return totalHeight;\n }, [getRowHeight, rows.length]);\n\n const calculateVisibleRange = useCallback(\n (scrollTop: number, viewportHeight: number) => {\n if (!enabled || rows.length === 0) {\n return { start: 0, end: rows.length };\n }\n\n let start = 0;\n let currentPosition = 0;\n\n while (start < rows.length) {\n const rowHeight = getRowHeight(start);\n\n if (currentPosition + rowHeight > scrollTop - overscan * rowHeight) {\n break;\n }\n\n currentPosition += rowHeight;\n start++;\n }\n\n let end = start;\n\n while (end < rows.length) {\n const rowHeight = getRowHeight(end);\n\n if (currentPosition > scrollTop + viewportHeight + overscan * rowHeight) {\n break;\n }\n\n currentPosition += rowHeight;\n end++;\n }\n\n return {\n start: Math.max(0, start - overscan),\n end: Math.min(rows.length, end + overscan),\n };\n },\n [enabled, getRowHeight, overscan, rows.length]\n );\n\n const handleScroll = useCallback(() => {\n const scrollElement = getScrollElement();\n\n if (!scrollElement) {\n return;\n }\n\n const viewportHeight = scrollElement.clientHeight || viewportHeightFallback || 0;\n const scrollTop = scrollElement.scrollTop;\n const visibleRange = calculateVisibleRange(scrollTop, viewportHeight);\n\n setState(previousState =>\n previousState.scrollTop === scrollTop &&\n previousState.viewportHeight === viewportHeight &&\n areVisibleRangesEqual(previousState.visibleRange, visibleRange)\n ? previousState\n : {\n ...previousState,\n scrollTop,\n viewportHeight,\n visibleRange,\n }\n );\n }, [calculateVisibleRange, getScrollElement, viewportHeightFallback]);\n\n useEffect(() => {\n if (!enabled) {\n return;\n }\n\n const scrollElement = getScrollElement();\n\n if (!scrollElement) {\n return;\n }\n\n handleScroll();\n scrollElement.addEventListener('scroll', handleScroll, { passive: true });\n\n const resizeObserver = new ResizeObserver(handleScroll);\n resizeObserver.observe(scrollElement);\n\n return () => {\n scrollElement.removeEventListener('scroll', handleScroll);\n resizeObserver.disconnect();\n };\n }, [enabled, getScrollElement, handleScroll]);\n\n useEffect(() => {\n if (!enabled) {\n return;\n }\n\n setState(previousState => {\n const visibleRange = calculateVisibleRange(previousState.scrollTop, previousState.viewportHeight);\n\n return areVisibleRangesEqual(previousState.visibleRange, visibleRange)\n ? previousState\n : {\n ...previousState,\n visibleRange,\n };\n });\n }, [calculateVisibleRange, enabled, rows]);\n\n const measureRow = useCallback(\n (index: number, element: HTMLElement | null) => {\n if (!element) {\n return;\n }\n\n const rect = element.getBoundingClientRect();\n const computedStyle = window.getComputedStyle(element);\n const height =\n rect.height +\n Number.parseFloat(computedStyle.marginTop || '0') +\n Number.parseFloat(computedStyle.marginBottom || '0');\n\n if (height <= 0) {\n return;\n }\n\n setState(previousState => {\n if (previousState.itemHeights[index] === height) {\n return previousState;\n }\n\n const nextState = {\n ...previousState,\n itemHeights: {\n ...previousState.itemHeights,\n [index]: height,\n },\n };\n\n return {\n ...nextState,\n visibleRange: calculateVisibleRange(nextState.scrollTop, nextState.viewportHeight),\n };\n });\n },\n [calculateVisibleRange]\n );\n\n const virtualRows = useMemo<TableVirtualRow<RowType>[]>(\n () =>\n enabled\n ? rows.slice(state.visibleRange.start, state.visibleRange.end).map((row, offset) => {\n const index = state.visibleRange.start + offset;\n\n return {\n index,\n row,\n };\n })\n : [],\n [enabled, rows, state.visibleRange.end, state.visibleRange.start]\n );\n\n const paddingTop = enabled ? getItemPosition(state.visibleRange.start) : 0;\n const paddingBottom = enabled ? Math.max(0, getTotalHeight() - getItemPosition(state.visibleRange.end)) : 0;\n\n return {\n isVirtualized: enabled,\n measureRow,\n paddingBottom,\n paddingTop,\n virtualRows,\n };\n};\n\nexport default useTableVirtualization;\n"],"names":["DEFAULT_ROW_HEIGHT","areVisibleRangesEqual","currentRange","nextRange","useTableVirtualization","options","enabled","overscan","rows","scrollContainer","viewportHeightFallback","state","setState","useState","getScrollElement","useCallback","getEstimatedRowHeight","measuredHeights","sum","height","getRowHeight","index","getItemPosition","position","currentIndex","getTotalHeight","totalHeight","calculateVisibleRange","scrollTop","viewportHeight","start","currentPosition","rowHeight","end","handleScroll","scrollElement","visibleRange","previousState","useEffect","resizeObserver","measureRow","element","rect","computedStyle","nextState","virtualRows","useMemo","row","offset","paddingTop","paddingBottom"],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { TableRowData } from '../Table.types';
|
|
2
|
+
export declare const resolveRowClassName: <RowType extends TableRowData>(rowClassName: string | ((row: RowType, rowIndex: number) => string) | undefined, row: RowType, rowIndex: number) => string | undefined;
|
|
3
|
+
export declare const resolveRowKey: <RowType extends TableRowData>(row: RowType, rowIndex: number, rowKey: keyof RowType | ((row: RowType, rowIndex: number) => string | number) | undefined) => string | number;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
const r = (t, e, n) => typeof t == "function" ? t(e, n) : t, u = (t, e, n) => {
|
|
2
|
+
if (typeof n == "function")
|
|
3
|
+
return n(t, e);
|
|
4
|
+
if (n) {
|
|
5
|
+
const f = t[n];
|
|
6
|
+
if (typeof f == "string" || typeof f == "number")
|
|
7
|
+
return f;
|
|
8
|
+
}
|
|
9
|
+
return e;
|
|
10
|
+
};
|
|
11
|
+
export {
|
|
12
|
+
r as resolveRowClassName,
|
|
13
|
+
u as resolveRowKey
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=resolveRowMeta.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveRowMeta.js","sources":["../../../../src/components/table/model/resolveRowMeta.ts"],"sourcesContent":["import type { TableRowData } from '../Table.types';\n\nexport const resolveRowClassName = <RowType extends TableRowData>(\n rowClassName: string | ((row: RowType, rowIndex: number) => string) | undefined,\n row: RowType,\n rowIndex: number\n) => {\n if (typeof rowClassName === 'function') {\n return rowClassName(row, rowIndex);\n }\n\n return rowClassName;\n};\n\nexport const resolveRowKey = <RowType extends TableRowData>(\n row: RowType,\n rowIndex: number,\n rowKey: keyof RowType | ((row: RowType, rowIndex: number) => string | number) | undefined\n) => {\n if (typeof rowKey === 'function') {\n return rowKey(row, rowIndex);\n }\n\n if (rowKey) {\n const rowValue = row[rowKey];\n if (typeof rowValue === 'string' || typeof rowValue === 'number') {\n return rowValue;\n }\n }\n\n return rowIndex;\n};\n"],"names":["resolveRowClassName","rowClassName","row","rowIndex","resolveRowKey","rowKey","rowValue"],"mappings":"AAEO,MAAMA,IAAsB,CAC/BC,GACAC,GACAC,MAEI,OAAOF,KAAiB,aACjBA,EAAaC,GAAKC,CAAQ,IAG9BF,GAGEG,IAAgB,CACzBF,GACAC,GACAE,MACC;AACD,MAAI,OAAOA,KAAW;AAClB,WAAOA,EAAOH,GAAKC,CAAQ;AAG/B,MAAIE,GAAQ;AACR,UAAMC,IAAWJ,EAAIG,CAAM;AAC3B,QAAI,OAAOC,KAAa,YAAY,OAAOA,KAAa;AACpD,aAAOA;AAAA,EAEf;AAEA,SAAOH;AACX;"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { TableCardsStyleSettings, TableViewType } from '../Table.types';
|
|
2
|
+
import { TableViewFlags } from './tableView.types';
|
|
3
|
+
type TableStyleClassSwitches = {
|
|
4
|
+
hasShadow: boolean;
|
|
5
|
+
hasBorder: boolean;
|
|
6
|
+
hasRounded: boolean;
|
|
7
|
+
};
|
|
8
|
+
type TableCardClasses = {
|
|
9
|
+
rowClassName?: string;
|
|
10
|
+
cellClassName?: string;
|
|
11
|
+
labelClassName?: string;
|
|
12
|
+
contentClassName?: string;
|
|
13
|
+
};
|
|
14
|
+
type ResolveTableClassConfigProps = {
|
|
15
|
+
viewType: TableViewType;
|
|
16
|
+
hover?: boolean;
|
|
17
|
+
shadow?: boolean;
|
|
18
|
+
border?: boolean;
|
|
19
|
+
rounded?: boolean;
|
|
20
|
+
className?: string;
|
|
21
|
+
cardsStyle?: TableCardsStyleSettings;
|
|
22
|
+
};
|
|
23
|
+
type ResolveTableBaseClassNameProps = {
|
|
24
|
+
viewType: TableViewType;
|
|
25
|
+
condensed?: boolean;
|
|
26
|
+
striped?: boolean;
|
|
27
|
+
gridLines?: boolean;
|
|
28
|
+
className?: string;
|
|
29
|
+
tableUseOverflow: boolean;
|
|
30
|
+
flags: TableViewFlags;
|
|
31
|
+
hasHover: boolean;
|
|
32
|
+
styleClassSwitches: TableStyleClassSwitches;
|
|
33
|
+
};
|
|
34
|
+
export declare const resolveTableStyleClassSwitches: (props: {
|
|
35
|
+
shadow?: boolean;
|
|
36
|
+
border?: boolean;
|
|
37
|
+
rounded?: boolean;
|
|
38
|
+
className?: string;
|
|
39
|
+
}) => TableStyleClassSwitches;
|
|
40
|
+
export declare const resolveTableClassConfig: (props: ResolveTableClassConfigProps) => {
|
|
41
|
+
hasHover: boolean;
|
|
42
|
+
isTableView: boolean;
|
|
43
|
+
styleClassSwitches: TableStyleClassSwitches;
|
|
44
|
+
cardClasses: TableCardClasses;
|
|
45
|
+
};
|
|
46
|
+
export declare const resolveTableBaseClassName: (props: ResolveTableBaseClassNameProps) => string;
|
|
47
|
+
export {};
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { mergeClassNameOverrides as c } from "../../../utils/mergeClassNameOverrides.js";
|
|
2
|
+
import b from "../../../utils/classNames.js";
|
|
3
|
+
const m = {
|
|
4
|
+
TABLE: "table-view-table",
|
|
5
|
+
SINGLE_CARD: "table-view-single-card",
|
|
6
|
+
MULTI_CARDS: "table-view-multi-cards"
|
|
7
|
+
}, w = (s) => s?.split(" ").map((l) => l.trim()).filter(Boolean) ?? [], C = (s) => s === "shadow" || s.startsWith("shadow-") ? "shadow" : s === "border-radius" || s.startsWith("border-radius-") ? "rounded" : s, u = (s) => {
|
|
8
|
+
const { shadow: l, border: r, rounded: o, className: t } = s, d = b(l && "shadow", r && "border", o && "rounded"), i = w(t).map(C).join(" "), e = c(d, i), a = new Set(w(e));
|
|
9
|
+
return {
|
|
10
|
+
hasShadow: !!l && a.has("shadow"),
|
|
11
|
+
hasBorder: !!r && a.has("border"),
|
|
12
|
+
hasRounded: !!o && a.has("rounded")
|
|
13
|
+
};
|
|
14
|
+
}, f = (s) => {
|
|
15
|
+
const { viewType: l, hover: r = !1, shadow: o = !1, border: t = !0, rounded: d = !0, className: i, cardsStyle: e } = s, a = l === "TABLE", n = r, h = u({ shadow: o, border: t, rounded: d, className: i });
|
|
16
|
+
return {
|
|
17
|
+
hasHover: n,
|
|
18
|
+
isTableView: a,
|
|
19
|
+
styleClassSwitches: h,
|
|
20
|
+
cardClasses: {
|
|
21
|
+
rowClassName: a ? void 0 : b(
|
|
22
|
+
h.hasShadow && "shadow-default",
|
|
23
|
+
h.hasBorder && "border",
|
|
24
|
+
e?.className
|
|
25
|
+
),
|
|
26
|
+
cellClassName: a ? void 0 : e?.rowClassName,
|
|
27
|
+
labelClassName: a ? void 0 : e?.labelClassName,
|
|
28
|
+
contentClassName: a ? void 0 : e?.contentClassName
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
}, N = (s) => {
|
|
32
|
+
const {
|
|
33
|
+
viewType: l,
|
|
34
|
+
condensed: r = !1,
|
|
35
|
+
striped: o = !1,
|
|
36
|
+
gridLines: t = !1,
|
|
37
|
+
className: d,
|
|
38
|
+
tableUseOverflow: i,
|
|
39
|
+
flags: e,
|
|
40
|
+
hasHover: a,
|
|
41
|
+
styleClassSwitches: n
|
|
42
|
+
} = s;
|
|
43
|
+
return b(
|
|
44
|
+
"table",
|
|
45
|
+
m[l],
|
|
46
|
+
a && "table-hover",
|
|
47
|
+
r && "table-condensed",
|
|
48
|
+
e.isTableView && t && "table-grid-lines",
|
|
49
|
+
e.isTableView && o && "table-striped",
|
|
50
|
+
e.isTableView && n.hasShadow && "shadow-default",
|
|
51
|
+
e.isTableView && n.hasBorder && "border",
|
|
52
|
+
n.hasRounded && "table-rounded",
|
|
53
|
+
e.isTableView && (e.hasHeader ? "table-has-head" : "table-no-head"),
|
|
54
|
+
e.isTableView && e.hasFooter && "table-has-footer",
|
|
55
|
+
e.isTableView && i && "table-allow-horizontal-overflow",
|
|
56
|
+
d
|
|
57
|
+
);
|
|
58
|
+
};
|
|
59
|
+
export {
|
|
60
|
+
N as resolveTableBaseClassName,
|
|
61
|
+
f as resolveTableClassConfig,
|
|
62
|
+
u as resolveTableStyleClassSwitches
|
|
63
|
+
};
|
|
64
|
+
//# sourceMappingURL=resolveTableClassConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveTableClassConfig.js","sources":["../../../../src/components/table/model/resolveTableClassConfig.ts"],"sourcesContent":["import { mergeClassNameOverrides } from '../../../mergeClassNameOverrides';\nimport classNames from '../../../utils/classNames';\nimport type { TableCardsStyleSettings, TableViewType } from '../Table.types';\nimport type { TableViewFlags } from './tableView.types';\n\ntype TableStyleClassSwitches = {\n hasShadow: boolean;\n hasBorder: boolean;\n hasRounded: boolean;\n};\n\ntype TableCardClasses = {\n rowClassName?: string;\n cellClassName?: string;\n labelClassName?: string;\n contentClassName?: string;\n};\n\ntype ResolveTableClassConfigProps = {\n viewType: TableViewType;\n hover?: boolean;\n shadow?: boolean;\n border?: boolean;\n rounded?: boolean;\n className?: string;\n cardsStyle?: TableCardsStyleSettings;\n};\n\ntype ResolveTableBaseClassNameProps = {\n viewType: TableViewType;\n condensed?: boolean;\n striped?: boolean;\n gridLines?: boolean;\n className?: string;\n tableUseOverflow: boolean;\n flags: TableViewFlags;\n hasHover: boolean;\n styleClassSwitches: TableStyleClassSwitches;\n};\n\nconst viewTypeClassNameMap: Record<TableViewType, string> = {\n TABLE: 'table-view-table',\n SINGLE_CARD: 'table-view-single-card',\n MULTI_CARDS: 'table-view-multi-cards',\n};\n\nconst splitClassNameTokens = (value?: string) =>\n value\n ?.split(' ')\n .map(classNameToken => classNameToken.trim())\n .filter(Boolean) ?? [];\n\nconst normalizeTableStyleOverrideToken = (token: string) => {\n if (token === 'shadow' || token.startsWith('shadow-')) {\n return 'shadow';\n }\n\n if (token === 'border-radius' || token.startsWith('border-radius-')) {\n return 'rounded';\n }\n\n return token;\n};\n\nexport const resolveTableStyleClassSwitches = (props: {\n shadow?: boolean;\n border?: boolean;\n rounded?: boolean;\n className?: string;\n}): TableStyleClassSwitches => {\n const { shadow, border, rounded, className } = props;\n const defaultStyleClasses = classNames(shadow && 'shadow', border && 'border', rounded && 'rounded');\n\n const overrideClasses = splitClassNameTokens(className).map(normalizeTableStyleOverrideToken).join(' ');\n const mergedStyleClasses = mergeClassNameOverrides(defaultStyleClasses, overrideClasses);\n const mergedStyleClassSet = new Set(splitClassNameTokens(mergedStyleClasses));\n\n return {\n hasShadow: !!shadow && mergedStyleClassSet.has('shadow'),\n hasBorder: !!border && mergedStyleClassSet.has('border'),\n hasRounded: !!rounded && mergedStyleClassSet.has('rounded'),\n };\n};\n\nexport const resolveTableClassConfig = (\n props: ResolveTableClassConfigProps\n): {\n hasHover: boolean;\n isTableView: boolean;\n styleClassSwitches: TableStyleClassSwitches;\n cardClasses: TableCardClasses;\n} => {\n const { viewType, hover = false, shadow = false, border = true, rounded = true, className, cardsStyle } = props;\n const isTableView = viewType === 'TABLE';\n const hasHover = hover;\n const styleClassSwitches = resolveTableStyleClassSwitches({ shadow, border, rounded, className });\n\n return {\n hasHover,\n isTableView,\n styleClassSwitches,\n cardClasses: {\n rowClassName: !isTableView\n ? classNames(\n styleClassSwitches.hasShadow && 'shadow-default',\n styleClassSwitches.hasBorder && 'border',\n cardsStyle?.className\n )\n : undefined,\n cellClassName: !isTableView ? cardsStyle?.rowClassName : undefined,\n labelClassName: !isTableView ? cardsStyle?.labelClassName : undefined,\n contentClassName: !isTableView ? cardsStyle?.contentClassName : undefined,\n },\n };\n};\n\nexport const resolveTableBaseClassName = (props: ResolveTableBaseClassNameProps) => {\n const {\n viewType,\n condensed = false,\n striped = false,\n gridLines = false,\n className,\n tableUseOverflow,\n flags,\n hasHover,\n styleClassSwitches,\n } = props;\n\n return classNames(\n 'table',\n viewTypeClassNameMap[viewType],\n hasHover && 'table-hover',\n condensed && 'table-condensed',\n flags.isTableView && gridLines && 'table-grid-lines',\n flags.isTableView && striped && 'table-striped',\n flags.isTableView && styleClassSwitches.hasShadow && 'shadow-default',\n flags.isTableView && styleClassSwitches.hasBorder && 'border',\n styleClassSwitches.hasRounded && 'table-rounded',\n flags.isTableView && (flags.hasHeader ? 'table-has-head' : 'table-no-head'),\n flags.isTableView && flags.hasFooter && 'table-has-footer',\n flags.isTableView && tableUseOverflow && 'table-allow-horizontal-overflow',\n className\n );\n};\n"],"names":["viewTypeClassNameMap","splitClassNameTokens","value","classNameToken","normalizeTableStyleOverrideToken","token","resolveTableStyleClassSwitches","props","shadow","border","rounded","className","defaultStyleClasses","classNames","overrideClasses","mergedStyleClasses","mergeClassNameOverrides","mergedStyleClassSet","resolveTableClassConfig","viewType","hover","cardsStyle","isTableView","hasHover","styleClassSwitches","resolveTableBaseClassName","condensed","striped","gridLines","tableUseOverflow","flags"],"mappings":";;AAwCA,MAAMA,IAAsD;AAAA,EACxD,OAAO;AAAA,EACP,aAAa;AAAA,EACb,aAAa;AACjB,GAEMC,IAAuB,CAACC,MAC1BA,GACM,MAAM,GAAG,EACV,IAAI,CAAAC,MAAkBA,EAAe,MAAM,EAC3C,OAAO,OAAO,KAAK,CAAA,GAEtBC,IAAmC,CAACC,MAClCA,MAAU,YAAYA,EAAM,WAAW,SAAS,IACzC,WAGPA,MAAU,mBAAmBA,EAAM,WAAW,gBAAgB,IACvD,YAGJA,GAGEC,IAAiC,CAACC,MAKhB;AAC3B,QAAM,EAAE,QAAAC,GAAQ,QAAAC,GAAQ,SAAAC,GAAS,WAAAC,MAAcJ,GACzCK,IAAsBC,EAAWL,KAAU,UAAUC,KAAU,UAAUC,KAAW,SAAS,GAE7FI,IAAkBb,EAAqBU,CAAS,EAAE,IAAIP,CAAgC,EAAE,KAAK,GAAG,GAChGW,IAAqBC,EAAwBJ,GAAqBE,CAAe,GACjFG,IAAsB,IAAI,IAAIhB,EAAqBc,CAAkB,CAAC;AAE5E,SAAO;AAAA,IACH,WAAW,CAAC,CAACP,KAAUS,EAAoB,IAAI,QAAQ;AAAA,IACvD,WAAW,CAAC,CAACR,KAAUQ,EAAoB,IAAI,QAAQ;AAAA,IACvD,YAAY,CAAC,CAACP,KAAWO,EAAoB,IAAI,SAAS;AAAA,EAAA;AAElE,GAEaC,IAA0B,CACnCX,MAMC;AACD,QAAM,EAAE,UAAAY,GAAU,OAAAC,IAAQ,IAAO,QAAAZ,IAAS,IAAO,QAAAC,IAAS,IAAM,SAAAC,IAAU,IAAM,WAAAC,GAAW,YAAAU,EAAA,IAAed,GACpGe,IAAcH,MAAa,SAC3BI,IAAWH,GACXI,IAAqBlB,EAA+B,EAAE,QAAAE,GAAQ,QAAAC,GAAQ,SAAAC,GAAS,WAAAC,GAAW;AAEhG,SAAO;AAAA,IACH,UAAAY;AAAA,IACA,aAAAD;AAAA,IACA,oBAAAE;AAAA,IACA,aAAa;AAAA,MACT,cAAeF,IAMT,SALAT;AAAA,QACIW,EAAmB,aAAa;AAAA,QAChCA,EAAmB,aAAa;AAAA,QAChCH,GAAY;AAAA,MAAA;AAAA,MAGtB,eAAgBC,IAAyC,SAA3BD,GAAY;AAAA,MAC1C,gBAAiBC,IAA2C,SAA7BD,GAAY;AAAA,MAC3C,kBAAmBC,IAA6C,SAA/BD,GAAY;AAAA,IAAmB;AAAA,EACpE;AAER,GAEaI,IAA4B,CAAClB,MAA0C;AAChF,QAAM;AAAA,IACF,UAAAY;AAAA,IACA,WAAAO,IAAY;AAAA,IACZ,SAAAC,IAAU;AAAA,IACV,WAAAC,IAAY;AAAA,IACZ,WAAAjB;AAAA,IACA,kBAAAkB;AAAA,IACA,OAAAC;AAAA,IACA,UAAAP;AAAA,IACA,oBAAAC;AAAA,EAAA,IACAjB;AAEJ,SAAOM;AAAA,IACH;AAAA,IACAb,EAAqBmB,CAAQ;AAAA,IAC7BI,KAAY;AAAA,IACZG,KAAa;AAAA,IACbI,EAAM,eAAeF,KAAa;AAAA,IAClCE,EAAM,eAAeH,KAAW;AAAA,IAChCG,EAAM,eAAeN,EAAmB,aAAa;AAAA,IACrDM,EAAM,eAAeN,EAAmB,aAAa;AAAA,IACrDA,EAAmB,cAAc;AAAA,IACjCM,EAAM,gBAAgBA,EAAM,YAAY,mBAAmB;AAAA,IAC3DA,EAAM,eAAeA,EAAM,aAAa;AAAA,IACxCA,EAAM,eAAeD,KAAoB;AAAA,IACzClB;AAAA,EAAA;AAER;"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { TableColumnDefinition, TableHorizontalAlign, TableRowData, TableSortDirection, TableVerticalAlign } from '../Table.types';
|
|
3
|
+
export type TableViewHeaderColumn<RowType extends TableRowData> = {
|
|
4
|
+
key: string | number;
|
|
5
|
+
columnKey?: string;
|
|
6
|
+
label: ReactNode;
|
|
7
|
+
icon?: string;
|
|
8
|
+
filter?: ReactNode;
|
|
9
|
+
hideLabel?: boolean;
|
|
10
|
+
horizontalAlign?: TableHorizontalAlign;
|
|
11
|
+
verticalAlign?: TableVerticalAlign;
|
|
12
|
+
className?: string;
|
|
13
|
+
headerClassName?: string;
|
|
14
|
+
hideOnMobile?: boolean;
|
|
15
|
+
draggable?: boolean;
|
|
16
|
+
resizeable?: boolean;
|
|
17
|
+
sortable?: boolean;
|
|
18
|
+
sortDirection?: TableSortDirection;
|
|
19
|
+
rowStart: number;
|
|
20
|
+
rowSpan: number;
|
|
21
|
+
columnStart: number;
|
|
22
|
+
colSpan: number;
|
|
23
|
+
source?: TableColumnDefinition<RowType>;
|
|
24
|
+
};
|
|
25
|
+
export type TableViewHeader<RowType extends TableRowData> = {
|
|
26
|
+
rowCount: number;
|
|
27
|
+
totalColumnCount: number;
|
|
28
|
+
columns: TableViewHeaderColumn<RowType>[];
|
|
29
|
+
};
|
|
30
|
+
export type TableViewCardClasses = {
|
|
31
|
+
rowClassName?: string;
|
|
32
|
+
cellClassName?: string;
|
|
33
|
+
labelClassName?: string;
|
|
34
|
+
contentClassName?: string;
|
|
35
|
+
};
|
|
36
|
+
export type TableViewFlags = {
|
|
37
|
+
hasHeader: boolean;
|
|
38
|
+
hasFooter: boolean;
|
|
39
|
+
isClickable: boolean;
|
|
40
|
+
isTableView: boolean;
|
|
41
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableCol.js","sources":["../../../../src/components/table/native/TableCol.tsx"],"sourcesContent":["export type ColumnDetails = { [key: string]: number };\nexport type ColumnDetailsMap = { [key: string]: ColumnDetails };\n\ntype TableColProps = {\n /**\n * The width of the column as part of the column details object used for the TableSettingsDialog.\n */\n columnDetails?: ColumnDetails;\n\n /**\n * Additional classes added to the col tag element.\n */\n className?: string;\n};\n\nconst TableCol = ({ columnDetails, className = '', ...remainingProps }: TableColProps) => {\n const style = columnDetails?.width\n ? {\n minWidth: columnDetails.width,\n width: columnDetails.width,\n }\n : {};\n\n return <col {...remainingProps} style={style} className={className} />;\n};\n\nexport default TableCol;\n"],"names":["TableCol","columnDetails","className","remainingProps","style","jsx"],"mappings":";AAeA,MAAMA,IAAW,CAAC,EAAE,eAAAC,GAAe,WAAAC,IAAY,IAAI,GAAGC,QAAoC;AACtF,QAAMC,IAAQH,GAAe,QACvB;AAAA,IACI,UAAUA,EAAc;AAAA,IACxB,OAAOA,EAAc;AAAA,EAAA,IAEzB,CAAA;AAEN,SAAO,gBAAAI,EAAC,OAAA,EAAK,GAAGF,GAAgB,OAAAC,GAAc,WAAAF,GAAsB;AACxE;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableHead.js","sources":["../../../../src/components/table/native/TableHead.tsx"],"sourcesContent":["import type { PropsWithChildren } from 'react';\n\nimport classNames from '../../../utils/classNames';\nimport SortArrows from '../SortArrows';\n\ntype TableHeadProps = {\n /**\n * The unique name of the column used as identifier\n */\n column?: string;\n\n /**\n * The label that shall be rendered in the table head next to the sorting icons.\n */\n label?: string | React.ReactElement;\n\n /**\n * The string title of a column used as native title attribute on the th tag.\n */\n title?: string;\n\n /**\n * The sorting key stored as data attribute for later usage for click events.\n */\n sortBy?: string;\n\n /**\n * The column sorting direction.\n */\n sortDir?: string;\n\n /**\n * The click handler for the th tag.\n */\n onClick?: (event: React.MouseEvent<HTMLTableCellElement>) => void;\n\n /**\n * Additional class names assigned to the wrapper element.\n */\n className?: string;\n};\n\nconst TableHead = (props: PropsWithChildren<TableHeadProps>) => {\n const {\n column,\n title,\n label,\n sortBy,\n sortDir,\n onClick = () => {},\n className = '',\n children,\n ...remainingProps\n } = props;\n\n const tableHeadClassNames = classNames('user-select-none', 'sort-column', className);\n\n const labelString = typeof label === 'string' ? (label as string) : '';\n const thTitle = title ?? labelString;\n\n return (\n <th\n {...remainingProps}\n className={tableHeadClassNames}\n onClick={onClick}\n data-field={column}\n data-sortby={column}\n title={thTitle}\n >\n {label && (\n <span>\n {column !== undefined && sortBy === column ? <SortArrows direction={sortDir} /> : <SortArrows />}\n <span>{label}</span>\n </span>\n )}\n {children}\n </th>\n );\n};\n\nexport default TableHead;\n"],"names":["TableHead","props","column","title","label","sortBy","sortDir","onClick","className","children","remainingProps","tableHeadClassNames","classNames","jsxs","jsx","SortArrows"],"mappings":";;;AA0CA,MAAMA,IAAY,CAACC,MAA6C;AAC5D,QAAM;AAAA,IACF,QAAAC;AAAA,IACA,OAAAC;AAAA,IACA,OAAAC;AAAA,IACA,QAAAC;AAAA,IACA,SAAAC;AAAA,IACA,SAAAC,IAAU,MAAM;AAAA,IAAC;AAAA,IACjB,WAAAC,IAAY;AAAA,IACZ,UAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,IACHT,GAEEU,IAAsBC,EAAW,oBAAoB,eAAeJ,CAAS;AAKnF,SACI,gBAAAK;AAAA,IAAC;AAAA,IAAA;AAAA,MACI,GAAGH;AAAA,MACJ,WAAWC;AAAA,MACX,SAAAJ;AAAA,MACA,cAAYL;AAAA,MACZ,eAAaA;AAAA,MACb,OATQC,MADI,OAAOC,KAAU,WAAYA,IAAmB;AAAA,MAY3D,UAAA;AAAA,QAAAA,uBACI,QAAA,EACI,UAAA;AAAA,UAAAF,MAAW,UAAaG,MAAWH,IAAS,gBAAAY,EAACC,KAAW,WAAWT,EAAA,CAAS,IAAK,gBAAAQ,EAACC,GAAA,CAAA,CAAW;AAAA,UAC9F,gBAAAD,EAAC,UAAM,UAAAV,EAAA,CAAM;AAAA,QAAA,GACjB;AAAA,QAEHK;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGb;"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { jsxs as b, jsx as l } from "react/jsx-runtime";
|
|
2
|
+
import { noop as a } from "es-toolkit/compat";
|
|
3
|
+
import o from "../../button/Button.js";
|
|
4
|
+
const g = (s) => {
|
|
5
|
+
const {
|
|
6
|
+
column: n = "",
|
|
7
|
+
index: t = 0,
|
|
8
|
+
columnDetails: m,
|
|
9
|
+
columnOrder: u = [],
|
|
10
|
+
openColumnsDetails: p = {},
|
|
11
|
+
disabled: i,
|
|
12
|
+
onMoveColumn: r = a,
|
|
13
|
+
onOpenDetails: c = a
|
|
14
|
+
} = s;
|
|
15
|
+
return /* @__PURE__ */ b("div", { className: "table-settings-item-item-buttons", children: [
|
|
16
|
+
!i && /* @__PURE__ */ l(
|
|
17
|
+
o,
|
|
18
|
+
{
|
|
19
|
+
disabled: t === 0,
|
|
20
|
+
bsStyle: o.MUTED,
|
|
21
|
+
bsSize: o.SM,
|
|
22
|
+
iconOnly: !0,
|
|
23
|
+
iconName: "rioglyph-arrow-up",
|
|
24
|
+
"aria-label": "move column up",
|
|
25
|
+
onClick: (e) => {
|
|
26
|
+
e.preventDefault(), e.stopPropagation(), r(n, t - 1, !0);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
),
|
|
30
|
+
!i && /* @__PURE__ */ l(
|
|
31
|
+
o,
|
|
32
|
+
{
|
|
33
|
+
disabled: t === u.length - 1,
|
|
34
|
+
bsStyle: o.MUTED,
|
|
35
|
+
bsSize: o.SM,
|
|
36
|
+
iconOnly: !0,
|
|
37
|
+
iconName: "rioglyph-arrow-down",
|
|
38
|
+
"aria-label": "move column down",
|
|
39
|
+
onClick: (e) => {
|
|
40
|
+
e.preventDefault(), e.stopPropagation(), r(n, t + 1, !0);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
),
|
|
44
|
+
m && /* @__PURE__ */ l(
|
|
45
|
+
o,
|
|
46
|
+
{
|
|
47
|
+
bsStyle: o.MUTED,
|
|
48
|
+
bsSize: o.SM,
|
|
49
|
+
iconOnly: !0,
|
|
50
|
+
iconName: p[n] ? "rioglyph-remove" : "rioglyph-width",
|
|
51
|
+
onClick: () => c(n)
|
|
52
|
+
}
|
|
53
|
+
)
|
|
54
|
+
] });
|
|
55
|
+
};
|
|
56
|
+
export {
|
|
57
|
+
g as TableSettingsColumnButtons
|
|
58
|
+
};
|
|
59
|
+
//# sourceMappingURL=TableSettingsColumnButtons.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableSettingsColumnButtons.js","sources":["../../../../src/components/table/native/TableSettingsColumnButtons.tsx"],"sourcesContent":["import { noop } from 'es-toolkit/compat';\n\nimport type { TableColumnDetails } from './TableSettingsDialog';\nimport Button from '../../button/Button';\n\nexport type TableSettingsColumnButtonsProps = {\n column: string;\n index: number;\n columnOrder: string[];\n openColumnsDetails: Record<string, string>;\n disabled?: boolean;\n columnDetails?: TableColumnDetails;\n onMoveColumn?: (columnName: string, newIndex: number, changeMovedColumn: boolean) => void;\n onOpenDetails?: (column: string) => void;\n};\n\nexport const TableSettingsColumnButtons = (props: TableSettingsColumnButtonsProps) => {\n const {\n column = '',\n index = 0,\n columnDetails,\n columnOrder = [],\n openColumnsDetails = {},\n disabled,\n onMoveColumn = noop,\n onOpenDetails = noop,\n } = props;\n\n return (\n <div className='table-settings-item-item-buttons'>\n {!disabled && (\n <Button\n disabled={index === 0}\n bsStyle={Button.MUTED}\n bsSize={Button.SM}\n iconOnly\n iconName='rioglyph-arrow-up'\n aria-label='move column up'\n onClick={event => {\n event.preventDefault();\n event.stopPropagation();\n onMoveColumn(column, index - 1, true);\n }}\n />\n )}\n {!disabled && (\n <Button\n disabled={index === columnOrder.length - 1}\n bsStyle={Button.MUTED}\n bsSize={Button.SM}\n iconOnly\n iconName='rioglyph-arrow-down'\n aria-label='move column down'\n onClick={event => {\n event.preventDefault();\n event.stopPropagation();\n onMoveColumn(column, index + 1, true);\n }}\n />\n )}\n {columnDetails && (\n <Button\n bsStyle={Button.MUTED}\n bsSize={Button.SM}\n iconOnly\n iconName={openColumnsDetails[column] ? 'rioglyph-remove' : 'rioglyph-width'}\n onClick={() => onOpenDetails(column)}\n />\n )}\n </div>\n );\n};\n"],"names":["TableSettingsColumnButtons","props","column","index","columnDetails","columnOrder","openColumnsDetails","disabled","onMoveColumn","noop","onOpenDetails","jsxs","jsx","Button","event"],"mappings":";;;AAgBO,MAAMA,IAA6B,CAACC,MAA2C;AAClF,QAAM;AAAA,IACF,QAAAC,IAAS;AAAA,IACT,OAAAC,IAAQ;AAAA,IACR,eAAAC;AAAA,IACA,aAAAC,IAAc,CAAA;AAAA,IACd,oBAAAC,IAAqB,CAAA;AAAA,IACrB,UAAAC;AAAA,IACA,cAAAC,IAAeC;AAAA,IACf,eAAAC,IAAgBD;AAAA,EAAA,IAChBR;AAEJ,SACI,gBAAAU,EAAC,OAAA,EAAI,WAAU,oCACV,UAAA;AAAA,IAAA,CAACJ,KACE,gBAAAK;AAAA,MAACC;AAAA,MAAA;AAAA,QACG,UAAUV,MAAU;AAAA,QACpB,SAASU,EAAO;AAAA,QAChB,QAAQA,EAAO;AAAA,QACf,UAAQ;AAAA,QACR,UAAS;AAAA,QACT,cAAW;AAAA,QACX,SAAS,CAAAC,MAAS;AACd,UAAAA,EAAM,eAAA,GACNA,EAAM,gBAAA,GACNN,EAAaN,GAAQC,IAAQ,GAAG,EAAI;AAAA,QACxC;AAAA,MAAA;AAAA,IAAA;AAAA,IAGP,CAACI,KACE,gBAAAK;AAAA,MAACC;AAAA,MAAA;AAAA,QACG,UAAUV,MAAUE,EAAY,SAAS;AAAA,QACzC,SAASQ,EAAO;AAAA,QAChB,QAAQA,EAAO;AAAA,QACf,UAAQ;AAAA,QACR,UAAS;AAAA,QACT,cAAW;AAAA,QACX,SAAS,CAAAC,MAAS;AACd,UAAAA,EAAM,eAAA,GACNA,EAAM,gBAAA,GACNN,EAAaN,GAAQC,IAAQ,GAAG,EAAI;AAAA,QACxC;AAAA,MAAA;AAAA,IAAA;AAAA,IAGPC,KACG,gBAAAQ;AAAA,MAACC;AAAA,MAAA;AAAA,QACG,SAASA,EAAO;AAAA,QAChB,QAAQA,EAAO;AAAA,QACf,UAAQ;AAAA,QACR,UAAUP,EAAmBJ,CAAM,IAAI,oBAAoB;AAAA,QAC3D,SAAS,MAAMQ,EAAcR,CAAM;AAAA,MAAA;AAAA,IAAA;AAAA,EACvC,GAER;AAER;"}
|
package/components/table/{TableSettingsColumnDetails.js → native/TableSettingsColumnDetails.js}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsxs as i, jsx as t } from "react/jsx-runtime";
|
|
2
2
|
import { noop as m } from "es-toolkit/compat";
|
|
3
|
-
import x from "
|
|
4
|
-
import N from "
|
|
3
|
+
import x from "../../../utils/classNames.js";
|
|
4
|
+
import N from "../../slider/Slider.js";
|
|
5
5
|
const j = (r) => {
|
|
6
6
|
const {
|
|
7
7
|
width: e = 0,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableSettingsColumnDetails.js","sources":["../../../../src/components/table/native/TableSettingsColumnDetails.tsx"],"sourcesContent":["import type { ChangeEvent } from 'react';\nimport { noop } from 'es-toolkit/compat';\n\nimport classNames from '../../../utils/classNames';\nimport Slider from '../../slider/Slider';\nimport type { TableColumnDetails, TableColumnDetailsMap } from './TableSettingsDialog';\n\nexport type TableSettingsColumnDetailsProps = TableColumnDetails & {\n column: string;\n maxColumnWidth: number;\n onColumnWidthChange?: (column: keyof TableColumnDetailsMap, value: number) => void;\n onResetColumnWidth?: (column: keyof TableColumnDetailsMap) => void;\n};\n\nexport const TableSettingsColumnDetails = (props: TableSettingsColumnDetailsProps) => {\n const {\n width = 0,\n defaultWidth = 0,\n maxWidth,\n column,\n maxColumnWidth,\n onColumnWidthChange = noop,\n onResetColumnWidth = noop,\n } = props;\n\n const handleWidthInputChange = (event: ChangeEvent<HTMLInputElement>) => {\n const parsedValue = event.target.value ? Number.parseInt(event.target.value, 10) : 0;\n const max = maxWidth || maxColumnWidth;\n const value = Math.min(parsedValue, max);\n onColumnWidthChange(column, value);\n };\n\n const handleColumnWidthChange = (value: number) => onColumnWidthChange(column, value);\n\n const handleResetColumnWidth = () => onResetColumnWidth(column);\n\n const resetWidthButtonClassNames = classNames(\n 'btn',\n 'btn-muted',\n 'btn-icon-only',\n 'btn-sm',\n 'margin-left-10',\n width === defaultWidth && 'disabled'\n );\n\n return (\n <div className='table-settings-item-body'>\n <Slider\n className='margin-bottom-0'\n value={width}\n minValue={0}\n maxValue={maxWidth || maxColumnWidth}\n step={1}\n onChange={handleColumnWidthChange}\n />\n <div className={resetWidthButtonClassNames} role='button' onClick={handleResetColumnWidth}>\n <span className='rioglyph rioglyph-revert' />\n </div>\n <div className='column-width-input'>\n <div className='input-group'>\n <input\n className='form-control text-right padding-right-5 no-controls'\n type='number'\n value={width || ''}\n min={0}\n max={maxWidth || maxColumnWidth}\n onChange={handleWidthInputChange}\n />\n <div className='input-group-addon'>px</div>\n </div>\n </div>\n </div>\n );\n};\n"],"names":["TableSettingsColumnDetails","props","width","defaultWidth","maxWidth","column","maxColumnWidth","onColumnWidthChange","noop","onResetColumnWidth","handleWidthInputChange","event","parsedValue","value","handleColumnWidthChange","handleResetColumnWidth","resetWidthButtonClassNames","classNames","jsxs","jsx","Slider"],"mappings":";;;;AAcO,MAAMA,IAA6B,CAACC,MAA2C;AAClF,QAAM;AAAA,IACF,OAAAC,IAAQ;AAAA,IACR,cAAAC,IAAe;AAAA,IACf,UAAAC;AAAA,IACA,QAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,qBAAAC,IAAsBC;AAAA,IACtB,oBAAAC,IAAqBD;AAAA,EAAA,IACrBP,GAEES,IAAyB,CAACC,MAAyC;AACrE,UAAMC,IAAcD,EAAM,OAAO,QAAQ,OAAO,SAASA,EAAM,OAAO,OAAO,EAAE,IAAI,GAE7EE,IAAQ,KAAK,IAAID,GADXR,KAAYE,CACe;AACvC,IAAAC,EAAoBF,GAAQQ,CAAK;AAAA,EACrC,GAEMC,IAA0B,CAACD,MAAkBN,EAAoBF,GAAQQ,CAAK,GAE9EE,IAAyB,MAAMN,EAAmBJ,CAAM,GAExDW,IAA6BC;AAAA,IAC/B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACAf,MAAUC,KAAgB;AAAA,EAAA;AAG9B,SACI,gBAAAe,EAAC,OAAA,EAAI,WAAU,4BACX,UAAA;AAAA,IAAA,gBAAAC;AAAA,MAACC;AAAA,MAAA;AAAA,QACG,WAAU;AAAA,QACV,OAAOlB;AAAA,QACP,UAAU;AAAA,QACV,UAAUE,KAAYE;AAAA,QACtB,MAAM;AAAA,QACN,UAAUQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEd,gBAAAK,EAAC,OAAA,EAAI,WAAWH,GAA4B,MAAK,UAAS,SAASD,GAC/D,UAAA,gBAAAI,EAAC,QAAA,EAAK,WAAU,2BAAA,CAA2B,GAC/C;AAAA,sBACC,OAAA,EAAI,WAAU,sBACX,UAAA,gBAAAD,EAAC,OAAA,EAAI,WAAU,eACX,UAAA;AAAA,MAAA,gBAAAC;AAAA,QAAC;AAAA,QAAA;AAAA,UACG,WAAU;AAAA,UACV,MAAK;AAAA,UACL,OAAOjB,KAAS;AAAA,UAChB,KAAK;AAAA,UACL,KAAKE,KAAYE;AAAA,UACjB,UAAUI;AAAA,QAAA;AAAA,MAAA;AAAA,MAEd,gBAAAS,EAAC,OAAA,EAAI,WAAU,qBAAoB,UAAA,KAAA,CAAE;AAAA,IAAA,EAAA,CACzC,EAAA,CACJ;AAAA,EAAA,GACJ;AAER;"}
|
|
@@ -27,7 +27,7 @@ export type TableColumnsSettings = {
|
|
|
27
27
|
export type TableColumnDetailsMap = Record<string, TableColumnDetails>;
|
|
28
28
|
export type ColumnLabelStrings = Record<string, string>;
|
|
29
29
|
export type TableSettingsItemProps = {
|
|
30
|
-
columnLabels?:
|
|
30
|
+
columnLabels?: Record<string, React.ReactNode>;
|
|
31
31
|
autoLabel?: string | React.ReactNode;
|
|
32
32
|
disabledColumns?: string[];
|
|
33
33
|
columnOrder: string[];
|
|
@@ -36,14 +36,13 @@ export type TableSettingsItemProps = {
|
|
|
36
36
|
columnsDetails: TableColumnDetailsMap;
|
|
37
37
|
columnLabelStrings?: ColumnLabelStrings;
|
|
38
38
|
openColumnsDetails?: Record<string, string>;
|
|
39
|
-
updateColumnLabelStrings?: boolean;
|
|
40
39
|
onColumnWidthChange?: (column: keyof TableColumnDetailsMap, value: number) => void;
|
|
41
40
|
onResetColumnWidth?: (column: keyof TableColumnDetailsMap) => void;
|
|
42
41
|
onMoveColumn?: (columnName: string, newIndex: number, changeMovedColumn: boolean) => void;
|
|
43
42
|
onOpenDetails?: (columnName: keyof TableColumnDetailsMap) => void;
|
|
44
43
|
onToggleHideColumn?: (column: string) => void;
|
|
45
44
|
};
|
|
46
|
-
type TableSettingsDialogProps = {
|
|
45
|
+
export type TableSettingsDialogProps = {
|
|
47
46
|
/**
|
|
48
47
|
* Defined whether to show the dialog or not.
|
|
49
48
|
*
|