@rio-cloud/rio-uikit 2.3.0-beta.1 → 2.3.0-beta.3
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/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/Marker.js +9 -5
- package/TableNext.d.ts +2 -0
- package/TableNext.js +23 -0
- package/TableNext.js.map +1 -0
- package/TableToolbar.js +3 -2
- package/TableToolbar.js.map +1 -1
- package/components/analyticsAnalysisOverlay/AnalyticsAnalysisBanner.d.ts +38 -3
- package/components/analyticsAnalysisOverlay/AnalyticsAnalysisBanner.js +104 -109
- package/components/analyticsAnalysisOverlay/AnalyticsAnalysisBanner.js.map +1 -1
- package/components/analyticsAnalysisOverlay/AnalyticsAnalysisOverlay.d.ts +24 -5
- package/components/analyticsAnalysisOverlay/AnalyticsAnalysisOverlay.js +60 -56
- package/components/analyticsAnalysisOverlay/AnalyticsAnalysisOverlay.js.map +1 -1
- package/components/assetTree/Tree.js +13 -13
- 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/clearableInput/ClearableInput.d.ts +30 -0
- package/components/clearableInput/ClearableInput.js +81 -78
- package/components/clearableInput/ClearableInput.js.map +1 -1
- package/components/datepicker/DayPicker.d.ts +4 -51
- package/components/datepicker/DayPicker.js +267 -257
- 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 +19 -0
- package/components/datepicker/DayPickerDropdown.js +88 -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/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/fade/FadeExpander.js +17 -20
- package/components/fade/FadeExpander.js.map +1 -1
- package/components/listMenu/ListMenu.d.ts +8 -0
- package/components/listMenu/ListMenu.js +74 -66
- package/components/listMenu/ListMenu.js.map +1 -1
- package/components/loadMore/LoadMoreProgress.js +6 -7
- package/components/map/components/Map.js +189 -157
- package/components/map/components/Map.js.map +1 -1
- package/components/map/components/MapContext.d.ts +1 -0
- package/components/map/components/MapContext.js +8 -7
- package/components/map/components/MapContext.js.map +1 -1
- package/components/map/components/features/Route.d.ts +65 -1
- package/components/map/components/features/Route.js +184 -98
- package/components/map/components/features/Route.js.map +1 -1
- package/components/map/components/features/basics/Marker.d.ts +21 -1
- package/components/map/components/features/basics/Marker.js +99 -40
- package/components/map/components/features/basics/Marker.js.map +1 -1
- package/components/map/components/features/basics/Polygon.d.ts +24 -1
- package/components/map/components/features/basics/Polygon.js +72 -19
- package/components/map/components/features/basics/Polygon.js.map +1 -1
- package/components/map/components/features/basics/Polyline.d.ts +29 -0
- package/components/map/components/features/basics/Polyline.js +69 -39
- package/components/map/components/features/basics/Polyline.js.map +1 -1
- package/components/map/components/features/layers/MarkerLayer.js +8 -8
- package/components/map/components/features/layers/MarkerLayer.js.map +1 -1
- package/components/map/components/features/layers/clustering/SimpleClusterLayer.js +13 -6
- package/components/map/components/features/layers/clustering/SimpleClusterLayer.js.map +1 -1
- package/components/map/utils/clustering.d.ts +1 -1
- package/components/map/utils/clustering.js +30 -30
- package/components/map/utils/clustering.js.map +1 -1
- package/components/map/utils/mapTypes.d.ts +135 -0
- package/components/map/utils/mapTypes.js.map +1 -1
- package/components/map/utils/rendering.js +5 -5
- package/components/mapMarker/ClusterMapMarker.d.ts +2 -0
- package/components/mapMarker/ClusterMapMarker.js.map +1 -1
- package/components/mapMarker/SingleMapMarker.d.ts +2 -0
- package/components/mapMarker/SingleMapMarker.js.map +1 -1
- package/components/popover/Popover.js +4 -4
- package/components/radiobutton/RadioCardGroup.js +3 -3
- package/components/rioglyph/RioglyphIconType.d.ts +1 -1
- package/components/selects/ClearButton.js +9 -7
- package/components/selects/ClearButton.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/Select.js +39 -37
- package/components/selects/Select.js.map +1 -1
- package/components/table/Table.d.ts +27 -248
- package/components/table/Table.js +240 -214
- package/components/table/Table.js.map +1 -1
- package/components/table/Table.types.d.ts +302 -121
- package/components/table/TableBody.d.ts +65 -5
- package/components/table/TableBody.js +132 -2
- package/components/table/TableBody.js.map +1 -1
- package/components/table/TableCardsSorting.js +25 -32
- package/components/table/TableCardsSorting.js.map +1 -1
- package/components/table/TableColumn.d.ts +21 -6
- package/components/table/TableColumn.js +114 -2
- package/components/table/TableColumn.js.map +1 -1
- package/components/table/TableExpandedContentRow.d.ts +7 -7
- package/components/table/TableExpandedContentRow.js +107 -2
- package/components/table/TableExpandedContentRow.js.map +1 -1
- package/components/table/TableExpandedRow.d.ts +9 -4
- package/components/table/TableExpandedRow.js +147 -2
- package/components/table/TableExpandedRow.js.map +1 -1
- package/components/table/TableExpanderButton.js +13 -11
- package/components/table/TableExpanderButton.js.map +1 -1
- package/components/table/TableFooter.d.ts +10 -6
- package/components/table/TableFooter.js +49 -2
- package/components/table/TableFooter.js.map +1 -1
- package/components/table/TableGroupFooterRow.d.ts +7 -7
- package/components/table/TableGroupFooterRow.js +27 -2
- package/components/table/TableGroupFooterRow.js.map +1 -1
- package/components/table/TableGroupRow.d.ts +7 -7
- package/components/table/TableGroupRow.js +33 -2
- package/components/table/TableGroupRow.js.map +1 -1
- package/components/table/TableHeader.d.ts +26 -4
- package/components/table/TableHeader.js +117 -2
- package/components/table/TableHeader.js.map +1 -1
- package/components/table/TableHeaderColumn.d.ts +25 -9
- package/components/table/TableHeaderColumn.js +83 -2
- package/components/table/TableHeaderColumn.js.map +1 -1
- package/components/table/TableHeaderRow.d.ts +1 -1
- package/components/table/TableHeaderRow.js +11 -2
- package/components/table/TableHeaderRow.js.map +1 -1
- package/components/table/TableRow.d.ts +15 -4
- package/components/table/TableRow.js +109 -2
- package/components/table/TableRow.js.map +1 -1
- package/components/table/TableSpacerRow.d.ts +3 -2
- package/components/table/TableSpacerRow.js +26 -2
- package/components/table/TableSpacerRow.js.map +1 -1
- package/components/table/TableToolbar.d.ts +4 -23
- package/components/table/TableToolbar.js +39 -28
- 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 +3 -3
- 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 +26 -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 +2 -2
- package/components/table/layout/columnSizing.js.map +1 -1
- package/components/table/layout/useDraggableColumns.d.ts +3 -3
- package/components/table/layout/useDraggableColumns.js +17 -17
- package/components/table/layout/useDraggableColumns.js.map +1 -1
- package/components/table/layout/useHorizontalSectionSync.d.ts +4 -1
- package/components/table/layout/useHorizontalSectionSync.js +36 -31
- package/components/table/layout/useHorizontalSectionSync.js.map +1 -1
- package/components/table/layout/useMeasuredColumnMaxWidths.d.ts +3 -3
- package/components/table/layout/useMeasuredColumnMaxWidths.js.map +1 -1
- package/components/table/layout/useResizableColumns.d.ts +5 -4
- package/components/table/layout/useResizableColumns.js +108 -67
- package/components/table/layout/useResizableColumns.js.map +1 -1
- 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 +18 -6
- package/components/table/layout/useTableLayout.js +51 -41
- package/components/table/layout/useTableLayout.js.map +1 -1
- package/components/table/layout/useTableVirtualization.d.ts +6 -6
- package/components/table/layout/useTableVirtualization.js +22 -22
- package/components/table/layout/useTableVirtualization.js.map +1 -1
- package/components/table/model/resolveRowMeta.d.ts +3 -2
- package/components/table/model/resolveRowMeta.js.map +1 -1
- package/components/table/model/resolveTableClassConfig.d.ts +2 -3
- package/components/table/model/resolveTableClassConfig.js.map +1 -1
- package/components/table/model/tableView.types.d.ts +41 -0
- package/components/table/native/TableSettingsListItem.js +1 -1
- package/components/table/native/TableSettingsListItem.js.map +1 -1
- 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.js +2 -2
- package/components/table/render/body/TableEmptyRow.js.map +1 -1
- package/components/table/render/header/TableBatchDropdown.d.ts +5 -1
- package/components/table/render/header/TableBatchDropdown.js +17 -15
- package/components/table/render/header/TableBatchDropdown.js.map +1 -1
- package/components/table/render/header/TableColumnFilter.d.ts +2 -2
- package/components/table/render/header/TableColumnFilter.js +16 -14
- package/components/table/render/header/TableColumnFilter.js.map +1 -1
- package/components/table/render/header/TableDraggableHeaderCell.d.ts +2 -1
- package/components/table/render/header/TableDraggableHeaderCell.js +45 -33
- package/components/table/render/header/TableDraggableHeaderCell.js.map +1 -1
- package/components/table/render/header/TableHeader.types.d.ts +13 -9
- package/components/table/render/header/TableHeaderCellContent.d.ts +2 -1
- package/components/table/render/header/TableHeaderCellContent.js +16 -16
- package/components/table/render/header/TableHeaderCellContent.js.map +1 -1
- package/components/table/render/header/TableHeaderCellResizeHandle.d.ts +2 -1
- package/components/table/render/header/TableHeaderCellResizeHandle.js +8 -8
- package/components/table/render/header/TableHeaderCellResizeHandle.js.map +1 -1
- package/components/table/render/header/TableHeaderDragOverlay.d.ts +5 -4
- package/components/table/render/header/TableHeaderDragOverlay.js.map +1 -1
- package/components/table/render/header/TableStaticHeaderCell.d.ts +2 -1
- package/components/table/render/header/TableStaticHeaderCell.js +34 -20
- package/components/table/render/header/TableStaticHeaderCell.js.map +1 -1
- package/components/table/render/header/resolveAriaSort.d.ts +2 -1
- package/components/table/render/header/resolveAriaSort.js.map +1 -1
- package/components/table/render/header/resolveHeaderCellClassName.d.ts +5 -2
- package/components/table/render/header/resolveHeaderCellClassName.js +14 -12
- package/components/table/render/header/resolveHeaderCellClassName.js.map +1 -1
- package/components/table/render/header/resolveHeaderCellStyle.d.ts +2 -1
- package/components/table/render/header/resolveHeaderCellStyle.js.map +1 -1
- 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 +3 -3
- package/components/table/selection/useTableSelection.js.map +1 -1
- 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 +3 -2
- package/components/table/shared/getInteractiveRowProps.js.map +1 -1
- package/hooks/useDraggableElement.d.ts +27 -5
- package/hooks/useDraggableElement.js +100 -23
- package/hooks/useDraggableElement.js.map +1 -1
- package/hooks/usePopperDropdown.d.ts +1 -0
- package/hooks/usePopperDropdown.js +15 -12
- package/hooks/usePopperDropdown.js.map +1 -1
- package/hooks/useUrlState.js +3 -3
- package/package.json +16 -17
- package/utils/analytics/createAnalyticsOverlayTooltip.js +57 -57
- package/utils/analytics/createAnalyticsOverlayTooltip.js.map +1 -1
- package/utils/analytics/useAnalyticsOverlayDom.js +3 -3
- package/utils/init/initConfig.js +5 -5
- package/utils/init/initConfig.js.map +1 -1
- package/utils/routeUtils.d.ts +5 -2
- package/utils/routeUtils.js +17 -17
- package/utils/routeUtils.js.map +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/version.js.map +1 -1
- package/components/table/TableCard.d.ts +0 -63
- package/components/table/TableCard.js +0 -150
- package/components/table/TableCard.js.map +0 -1
- package/components/table/model/buildTableViewModel.d.ts +0 -28
- package/components/table/model/buildTableViewModel.js +0 -221
- package/components/table/model/buildTableViewModel.js.map +0 -1
- package/components/table/model/resolveCellContent.d.ts +0 -2
- package/components/table/model/resolveCellContent.js +0 -5
- package/components/table/model/resolveCellContent.js.map +0 -1
- package/components/table/model/tableViewModel.types.d.ts +0 -153
- package/components/table/parse/parseBody.d.ts +0 -3
- package/components/table/parse/parseBody.js +0 -13
- package/components/table/parse/parseBody.js.map +0 -1
- package/components/table/parse/parseColumns.d.ts +0 -3
- package/components/table/parse/parseColumns.js +0 -81
- package/components/table/parse/parseColumns.js.map +0 -1
- package/components/table/parse/parseFooter.d.ts +0 -3
- package/components/table/parse/parseFooter.js +0 -39
- package/components/table/parse/parseFooter.js.map +0 -1
- package/components/table/parse/parseHeaders.d.ts +0 -4
- package/components/table/parse/parseHeaders.js +0 -89
- package/components/table/parse/parseHeaders.js.map +0 -1
- package/components/table/parse/parseRows.d.ts +0 -3
- package/components/table/parse/parseRows.js +0 -93
- package/components/table/parse/parseRows.js.map +0 -1
- package/components/table/parse/tableChildGuards.d.ts +0 -25
- package/components/table/parse/tableChildGuards.js +0 -29
- package/components/table/parse/tableChildGuards.js.map +0 -1
- package/components/table/render/body/TableBodyRow.d.ts +0 -16
- package/components/table/render/body/TableBodyRow.js +0 -84
- package/components/table/render/body/TableBodyRow.js.map +0 -1
- package/components/table/render/body/TableBodySection.d.ts +0 -20
- package/components/table/render/body/TableBodySection.js +0 -68
- package/components/table/render/body/TableBodySection.js.map +0 -1
- package/components/table/render/body/TableDataRow.d.ts +0 -15
- package/components/table/render/body/TableDataRow.js +0 -143
- package/components/table/render/body/TableDataRow.js.map +0 -1
- package/components/table/render/body/TableExpandedRow.d.ts +0 -8
- package/components/table/render/body/TableExpandedRow.js +0 -84
- package/components/table/render/body/TableExpandedRow.js.map +0 -1
- package/components/table/render/body/TableGroupRow.d.ts +0 -8
- package/components/table/render/body/TableGroupRow.js +0 -21
- package/components/table/render/body/TableGroupRow.js.map +0 -1
- package/components/table/render/body/TableSpacerRow.d.ts +0 -7
- package/components/table/render/body/TableSpacerRow.js +0 -15
- package/components/table/render/body/TableSpacerRow.js.map +0 -1
- package/components/table/render/footer/TableFooterCell.d.ts +0 -8
- package/components/table/render/footer/TableFooterCell.js +0 -31
- package/components/table/render/footer/TableFooterCell.js.map +0 -1
- package/components/table/render/footer/TableFooterSection.d.ts +0 -10
- package/components/table/render/footer/TableFooterSection.js +0 -28
- package/components/table/render/footer/TableFooterSection.js.map +0 -1
- package/components/table/render/header/TableHeaderSection.d.ts +0 -3
- package/components/table/render/header/TableHeaderSection.js +0 -104
- package/components/table/render/header/TableHeaderSection.js.map +0 -1
|
@@ -1,5 +1,120 @@
|
|
|
1
|
-
|
|
1
|
+
import { jsxs as v, jsx as o } from "react/jsx-runtime";
|
|
2
|
+
import { useSensors as k, useSensor as E, PointerSensor as N, DndContext as j, DragOverlay as z } from "@dnd-kit/core";
|
|
3
|
+
import { restrictToHorizontalAxis as L } from "@dnd-kit/modifiers";
|
|
4
|
+
import { SortableContext as W, horizontalListSortingStrategy as V } from "@dnd-kit/sortable";
|
|
5
|
+
import { useRef as _, useState as f } from "react";
|
|
6
|
+
import p from "../../utils/classNames.js";
|
|
7
|
+
import $ from "./render/header/TableHeaderDragOverlay.js";
|
|
8
|
+
import q from "./render/header/TableHeaderSelectionCell.js";
|
|
9
|
+
import { resolveColumnCollisionDetection as B } from "./render/header/resolveColumnCollisionDetection.js";
|
|
10
|
+
import { useOptionalTableInteractionContext as F } from "./context/TableInteractionContext.js";
|
|
11
|
+
import { useOptionalTableLayoutContext as G } from "./context/TableLayoutContext.js";
|
|
12
|
+
import { useOptionalTableRenderConfigContext as J } from "./context/TableRenderConfigContext.js";
|
|
13
|
+
import { TableSectionContext as x, TableHeaderContext as S } from "./context/TableStructureContext.js";
|
|
14
|
+
import { useOptionalTableRenderContext as M } from "./context/TableRenderContext.js";
|
|
15
|
+
const de = (w) => {
|
|
16
|
+
const { children: s, className: b, sticky: d = !1, stickyInContainer: D = !1, ...y } = w, l = M(), c = J(), t = F(), n = G();
|
|
17
|
+
if (!l || !c || !t || !n)
|
|
18
|
+
return null;
|
|
19
|
+
const R = k(E(N, { activationConstraint: { distance: 6 } })), r = _(0);
|
|
20
|
+
r.current = 0;
|
|
21
|
+
const [m, u] = f(void 0), [H, g] = f(void 0), T = !!n.onColumnDragEnd && (n.draggableColumnKeys?.length ?? 0) > 1, i = l.header, a = i?.rowCount ?? 1, A = i ?? {
|
|
22
|
+
rowCount: a,
|
|
23
|
+
totalColumnCount: l.columns.length,
|
|
24
|
+
columns: []
|
|
25
|
+
}, I = m ? i?.columns.find((e) => (e.columnKey ?? String(e.key)) === m) : void 0, C = () => {
|
|
26
|
+
u(void 0), g(void 0);
|
|
27
|
+
}, K = (e) => {
|
|
28
|
+
u(String(e.active.id)), g(e.active.rect.current.initial?.width ?? void 0);
|
|
29
|
+
}, O = (e) => {
|
|
30
|
+
C();
|
|
31
|
+
}, P = (e) => {
|
|
32
|
+
C(), n.onColumnDragEnd?.(e);
|
|
33
|
+
}, h = T && n.draggableColumnKeys ? /* @__PURE__ */ v(
|
|
34
|
+
j,
|
|
35
|
+
{
|
|
36
|
+
sensors: R,
|
|
37
|
+
collisionDetection: B,
|
|
38
|
+
modifiers: [L],
|
|
39
|
+
onDragStart: K,
|
|
40
|
+
onDragCancel: O,
|
|
41
|
+
onDragEnd: P,
|
|
42
|
+
children: [
|
|
43
|
+
/* @__PURE__ */ o(W, { items: n.draggableColumnKeys, strategy: V, children: s }),
|
|
44
|
+
/* @__PURE__ */ o(z, { adjustScale: !1, dropAnimation: null, children: /* @__PURE__ */ o(
|
|
45
|
+
$,
|
|
46
|
+
{
|
|
47
|
+
column: I,
|
|
48
|
+
header: A,
|
|
49
|
+
showSelectionColumn: t.showSelectionColumn,
|
|
50
|
+
width: H
|
|
51
|
+
}
|
|
52
|
+
) })
|
|
53
|
+
]
|
|
54
|
+
}
|
|
55
|
+
) : s;
|
|
56
|
+
return c.isTableView ? /* @__PURE__ */ o(
|
|
57
|
+
"div",
|
|
58
|
+
{
|
|
59
|
+
...y,
|
|
60
|
+
className: p(
|
|
61
|
+
"table-head",
|
|
62
|
+
d && "table-head-sticky",
|
|
63
|
+
d && D && "table-head-sticky-in-container"
|
|
64
|
+
),
|
|
65
|
+
role: "rowgroup",
|
|
66
|
+
ref: n.tableHeadRowRef,
|
|
67
|
+
children: /* @__PURE__ */ o(x.Provider, { value: "header", children: /* @__PURE__ */ o(
|
|
68
|
+
S.Provider,
|
|
69
|
+
{
|
|
70
|
+
value: {
|
|
71
|
+
nextHeaderRowIndex: () => {
|
|
72
|
+
const e = r.current;
|
|
73
|
+
return r.current += 1, e;
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
children: /* @__PURE__ */ v(
|
|
77
|
+
"div",
|
|
78
|
+
{
|
|
79
|
+
className: p(
|
|
80
|
+
"table-head-grid",
|
|
81
|
+
t.selectionHeaderContent && "table-head-grid-custom-selection",
|
|
82
|
+
b
|
|
83
|
+
),
|
|
84
|
+
role: a === 1 ? "row" : "presentation",
|
|
85
|
+
style: { gridTemplateRows: `repeat(${a}, auto)` },
|
|
86
|
+
children: [
|
|
87
|
+
t.showSelectionColumn && /* @__PURE__ */ o(
|
|
88
|
+
q,
|
|
89
|
+
{
|
|
90
|
+
isAllSelected: t.isAllRowsSelected,
|
|
91
|
+
isSomeRowsSelected: t.isSomeRowsSelected,
|
|
92
|
+
onToggleAllSelection: t.onToggleAllSelection,
|
|
93
|
+
rowCount: a,
|
|
94
|
+
selectionHeaderContent: t.selectionHeaderContent
|
|
95
|
+
}
|
|
96
|
+
),
|
|
97
|
+
h
|
|
98
|
+
]
|
|
99
|
+
}
|
|
100
|
+
)
|
|
101
|
+
}
|
|
102
|
+
) })
|
|
103
|
+
}
|
|
104
|
+
) : /* @__PURE__ */ o(x.Provider, { value: "header", children: /* @__PURE__ */ o(
|
|
105
|
+
S.Provider,
|
|
106
|
+
{
|
|
107
|
+
value: {
|
|
108
|
+
nextHeaderRowIndex: () => {
|
|
109
|
+
const e = r.current;
|
|
110
|
+
return r.current += 1, e;
|
|
111
|
+
}
|
|
112
|
+
},
|
|
113
|
+
children: h
|
|
114
|
+
}
|
|
115
|
+
) });
|
|
116
|
+
};
|
|
2
117
|
export {
|
|
3
|
-
|
|
118
|
+
de as default
|
|
4
119
|
};
|
|
5
120
|
//# sourceMappingURL=TableHeader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableHeader.js","sources":["../../../src/components/table/TableHeader.tsx"],"sourcesContent":["import type { PropsWithChildren } from 'react';\n\nexport type TableHeaderProps<RowType extends Record<string, unknown>> = PropsWithChildren<{\n /**\n * Additional class names for the header grid wrapper.\n */\n className?: string;\n}>;\n\nconst TableHeader = <RowType extends Record<string, unknown> = Record<string, unknown>>(\n _props: TableHeaderProps<RowType>\n) => null;\n\nexport default TableHeader;\n"],"names":["TableHeader","_props"],"mappings":"AASA,MAAMA,IAAc,CAChBC,MACC;"}
|
|
1
|
+
{"version":3,"file":"TableHeader.js","sources":["../../../src/components/table/TableHeader.tsx"],"sourcesContent":["import {\n DndContext,\n DragOverlay,\n PointerSensor,\n type DragCancelEvent,\n type DragEndEvent,\n type DragStartEvent,\n useSensor,\n useSensors,\n} from '@dnd-kit/core';\nimport { restrictToHorizontalAxis } from '@dnd-kit/modifiers';\nimport { horizontalListSortingStrategy, SortableContext } from '@dnd-kit/sortable';\nimport { type ReactNode, useRef, useState } from 'react';\n\nimport classNames from '../../utils/classNames';\nimport type { TableHtmlAttributes, TableRowData } from './Table.types';\nimport TableHeaderDragOverlay from './render/header/TableHeaderDragOverlay';\nimport TableHeaderSelectionCell from './render/header/TableHeaderSelectionCell';\nimport { resolveColumnCollisionDetection } from './render/header/resolveColumnCollisionDetection';\nimport { useOptionalTableInteractionContext } from './context/TableInteractionContext';\nimport { useOptionalTableLayoutContext } from './context/TableLayoutContext';\nimport { useOptionalTableRenderConfigContext } from './context/TableRenderConfigContext';\nimport { TableHeaderContext, TableSectionContext } from './context/TableStructureContext';\nimport { useOptionalTableRenderContext } from './context/TableRenderContext';\n\nexport type TableHeaderProps<RowType extends TableRowData> = TableHtmlAttributes & {\n /**\n * Additional class names for the header grid wrapper.\n */\n className?: string;\n\n /**\n * Keeps the table header sticky while the page scrolls.\n *\n * This applies in `TABLE` view only.\n *\n * @default false\n */\n sticky?: boolean;\n\n /**\n * Keeps the sticky header pinned to the top edge of an explicit scroll container.\n *\n * Use this when the table sits inside a wrapper with an overflow class like `overflow-y-scroll`.\n * When omitted, sticky headers compensate the default `ApplicationLayout` body padding.\n *\n * @default false\n */\n stickyInContainer?: boolean;\n\n /**\n * Table header content.\n */\n children?: ReactNode;\n};\n\nconst TableHeader = <RowType extends TableRowData = TableRowData>(props: TableHeaderProps<RowType>) => {\n const { children, className, sticky = false, stickyInContainer = false, ...remainingProps } = props;\n\n const renderContext = useOptionalTableRenderContext<RowType>();\n const renderConfigContext = useOptionalTableRenderConfigContext<RowType>();\n const interactionContext = useOptionalTableInteractionContext<RowType>();\n const layoutContext = useOptionalTableLayoutContext();\n\n if (!renderContext || !renderConfigContext || !interactionContext || !layoutContext) {\n return null;\n }\n\n const sensors = useSensors(useSensor(PointerSensor, { activationConstraint: { distance: 6 } }));\n\n const headerRowIndexRef = useRef(0);\n headerRowIndexRef.current = 0;\n\n const [activeDraggedColumnKey, setActiveDraggedColumnKey] = useState<string | undefined>(undefined);\n const [activeDraggedColumnWidth, setActiveDraggedColumnWidth] = useState<number | undefined>(undefined);\n\n const canDragColumns = !!layoutContext.onColumnDragEnd && (layoutContext.draggableColumnKeys?.length ?? 0) > 1;\n const header = renderContext.header;\n const headerRowCount = header?.rowCount ?? 1;\n const overlayHeader = header ?? {\n rowCount: headerRowCount,\n totalColumnCount: renderContext.columns.length,\n columns: [],\n };\n\n const activeDraggedColumn = activeDraggedColumnKey\n ? header?.columns.find(column => (column.columnKey ?? String(column.key)) === activeDraggedColumnKey)\n : undefined;\n\n const clearActiveDraggedColumn = () => {\n setActiveDraggedColumnKey(undefined);\n setActiveDraggedColumnWidth(undefined);\n };\n\n const handleDragStart = (event: DragStartEvent) => {\n setActiveDraggedColumnKey(String(event.active.id));\n setActiveDraggedColumnWidth(event.active.rect.current.initial?.width ?? undefined);\n };\n\n const handleDragCancel = (_event: DragCancelEvent) => {\n clearActiveDraggedColumn();\n };\n\n const handleDragEnd = (event: DragEndEvent) => {\n clearActiveDraggedColumn();\n layoutContext.onColumnDragEnd?.(event);\n };\n\n const content =\n canDragColumns && layoutContext.draggableColumnKeys ? (\n <DndContext\n sensors={sensors}\n collisionDetection={resolveColumnCollisionDetection}\n modifiers={[restrictToHorizontalAxis]}\n onDragStart={handleDragStart}\n onDragCancel={handleDragCancel}\n onDragEnd={handleDragEnd}\n >\n <SortableContext items={layoutContext.draggableColumnKeys} strategy={horizontalListSortingStrategy}>\n {children}\n </SortableContext>\n <DragOverlay adjustScale={false} dropAnimation={null}>\n <TableHeaderDragOverlay\n column={activeDraggedColumn}\n header={overlayHeader}\n showSelectionColumn={interactionContext.showSelectionColumn}\n width={activeDraggedColumnWidth}\n />\n </DragOverlay>\n </DndContext>\n ) : (\n children\n );\n\n if (!renderConfigContext.isTableView) {\n return (\n <TableSectionContext.Provider value='header'>\n <TableHeaderContext.Provider\n value={{\n nextHeaderRowIndex: () => {\n const nextHeaderRowIndex = headerRowIndexRef.current;\n headerRowIndexRef.current += 1;\n return nextHeaderRowIndex;\n },\n }}\n >\n {content}\n </TableHeaderContext.Provider>\n </TableSectionContext.Provider>\n );\n }\n\n return (\n <div\n {...remainingProps}\n className={classNames(\n 'table-head',\n sticky && 'table-head-sticky',\n sticky && stickyInContainer && 'table-head-sticky-in-container'\n )}\n role='rowgroup'\n ref={layoutContext.tableHeadRowRef}\n >\n <TableSectionContext.Provider value='header'>\n <TableHeaderContext.Provider\n value={{\n nextHeaderRowIndex: () => {\n const nextHeaderRowIndex = headerRowIndexRef.current;\n headerRowIndexRef.current += 1;\n return nextHeaderRowIndex;\n },\n }}\n >\n <div\n className={classNames(\n 'table-head-grid',\n interactionContext.selectionHeaderContent && 'table-head-grid-custom-selection',\n className\n )}\n role={headerRowCount === 1 ? 'row' : 'presentation'}\n style={{ gridTemplateRows: `repeat(${headerRowCount}, auto)` }}\n >\n {interactionContext.showSelectionColumn && (\n <TableHeaderSelectionCell\n isAllSelected={interactionContext.isAllRowsSelected}\n isSomeRowsSelected={interactionContext.isSomeRowsSelected}\n onToggleAllSelection={interactionContext.onToggleAllSelection}\n rowCount={headerRowCount}\n selectionHeaderContent={interactionContext.selectionHeaderContent}\n />\n )}\n {content}\n </div>\n </TableHeaderContext.Provider>\n </TableSectionContext.Provider>\n </div>\n );\n};\n\nexport default TableHeader;\n"],"names":["TableHeader","props","children","className","sticky","stickyInContainer","remainingProps","renderContext","useOptionalTableRenderContext","renderConfigContext","useOptionalTableRenderConfigContext","interactionContext","useOptionalTableInteractionContext","layoutContext","useOptionalTableLayoutContext","sensors","useSensors","useSensor","PointerSensor","headerRowIndexRef","useRef","activeDraggedColumnKey","setActiveDraggedColumnKey","useState","activeDraggedColumnWidth","setActiveDraggedColumnWidth","canDragColumns","header","headerRowCount","overlayHeader","activeDraggedColumn","column","clearActiveDraggedColumn","handleDragStart","event","handleDragCancel","_event","handleDragEnd","content","jsxs","DndContext","resolveColumnCollisionDetection","restrictToHorizontalAxis","jsx","SortableContext","horizontalListSortingStrategy","DragOverlay","TableHeaderDragOverlay","classNames","TableSectionContext","TableHeaderContext","nextHeaderRowIndex","TableHeaderSelectionCell"],"mappings":"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"}
|
|
@@ -1,8 +1,18 @@
|
|
|
1
1
|
import { PropsWithChildren, ReactNode } from 'react';
|
|
2
|
-
import { TableColumnDefinition, TableVerticalAlign } from './Table.types';
|
|
3
|
-
export type TableHeaderColumnProps<RowType extends
|
|
2
|
+
import { TableColumnDefinition, TableHtmlAttributes, TableRowData, TableVerticalAlign } from './Table.types';
|
|
3
|
+
export type TableHeaderColumnProps<RowType extends TableRowData> = Omit<TableColumnDefinition<RowType>, 'className' | 'draggable' | 'filter' | 'headerClassName' | 'icon' | 'key' | 'label' | 'resizeable'> & PropsWithChildren<{
|
|
4
4
|
/**
|
|
5
|
-
* Column key for
|
|
5
|
+
* Column key for a header that represents a single data column.
|
|
6
|
+
*
|
|
7
|
+
* These are the lowest header cells in the table structure and should
|
|
8
|
+
* therefore use `colSpan={1}`.
|
|
9
|
+
*
|
|
10
|
+
* For these headers, `columnKey` is effectively required because the table
|
|
11
|
+
* derives its body/footer column layout, resize/drag behavior, sorting, and
|
|
12
|
+
* sticky-column logic from these keys.
|
|
13
|
+
*
|
|
14
|
+
* Group header cells that only structure other header cells may omit `columnKey`
|
|
15
|
+
* when they span multiple columns via `colSpan > 1`.
|
|
6
16
|
*/
|
|
7
17
|
columnKey?: string;
|
|
8
18
|
/**
|
|
@@ -48,15 +58,21 @@ export type TableHeaderColumnProps<RowType extends Record<string, unknown>> = Om
|
|
|
48
58
|
*/
|
|
49
59
|
headerClassName?: string;
|
|
50
60
|
/**
|
|
51
|
-
*
|
|
61
|
+
* Enables drag-reordering for this header column in `TABLE` view.
|
|
62
|
+
*
|
|
63
|
+
* When `columnOrder` and `onColumnOrderChange` are provided, reordering is controlled from the outside.
|
|
64
|
+
* When they are omitted, the table keeps the reordered state internally.
|
|
52
65
|
*
|
|
53
|
-
* @default
|
|
66
|
+
* @default false
|
|
54
67
|
*/
|
|
55
68
|
draggable?: boolean;
|
|
56
69
|
/**
|
|
57
|
-
*
|
|
70
|
+
* Enables resizing for this header column in `TABLE` view.
|
|
71
|
+
*
|
|
72
|
+
* When `onColumnResize` is provided, resized widths are controlled from the outside.
|
|
73
|
+
* When it is omitted, the table keeps resized widths internally.
|
|
58
74
|
*
|
|
59
|
-
*
|
|
75
|
+
* @default false
|
|
60
76
|
*/
|
|
61
77
|
resizeable?: boolean;
|
|
62
78
|
/**
|
|
@@ -65,6 +81,6 @@ export type TableHeaderColumnProps<RowType extends Record<string, unknown>> = Om
|
|
|
65
81
|
* @default 'middle'
|
|
66
82
|
*/
|
|
67
83
|
verticalAlign?: TableVerticalAlign;
|
|
68
|
-
}>;
|
|
69
|
-
declare const TableHeaderColumn: <RowType extends
|
|
84
|
+
} & TableHtmlAttributes>;
|
|
85
|
+
declare const TableHeaderColumn: <RowType extends TableRowData = TableRowData>(props: TableHeaderColumnProps<RowType>) => import("react/jsx-runtime").JSX.Element | null;
|
|
70
86
|
export default TableHeaderColumn;
|
|
@@ -1,5 +1,86 @@
|
|
|
1
|
-
|
|
1
|
+
import { jsx as c } from "react/jsx-runtime";
|
|
2
|
+
import { useId as j, useRef as E } from "react";
|
|
3
|
+
import V from "../../utils/classNames.js";
|
|
4
|
+
import { isProd as q } from "../../utils/init/initConfig.js";
|
|
5
|
+
import B from "./render/header/TableDraggableHeaderCell.js";
|
|
6
|
+
import F from "./render/header/TableStaticHeaderCell.js";
|
|
7
|
+
import { useOptionalTableInteractionContext as G } from "./context/TableInteractionContext.js";
|
|
8
|
+
import { useOptionalTableLayoutContext as J } from "./context/TableLayoutContext.js";
|
|
9
|
+
import { useOptionalTableRenderConfigContext as Q } from "./context/TableRenderConfigContext.js";
|
|
10
|
+
import { useOptionalTableSection as U, useTableHeaderRowContext as X } from "./context/TableStructureContext.js";
|
|
11
|
+
import { useOptionalTableRenderContext as Y } from "./context/TableRenderContext.js";
|
|
12
|
+
const ie = (d) => {
|
|
13
|
+
const {
|
|
14
|
+
children: C,
|
|
15
|
+
className: h,
|
|
16
|
+
colSpan: a = 1,
|
|
17
|
+
columnKey: r,
|
|
18
|
+
draggable: b,
|
|
19
|
+
filter: f,
|
|
20
|
+
headerClassName: p,
|
|
21
|
+
hideLabel: g,
|
|
22
|
+
hideOnMobile: R,
|
|
23
|
+
horizontalAlign: y,
|
|
24
|
+
icon: S,
|
|
25
|
+
label: x,
|
|
26
|
+
maxResizeWidth: w,
|
|
27
|
+
mobileLabel: z,
|
|
28
|
+
minResizeWidth: K,
|
|
29
|
+
resizeable: T,
|
|
30
|
+
rowSpan: H = 1,
|
|
31
|
+
sortable: O,
|
|
32
|
+
verticalAlign: k,
|
|
33
|
+
width: L,
|
|
34
|
+
...W
|
|
35
|
+
} = d, t = Y(), s = Q(), n = G(), o = J(), v = U(), D = X(), i = j(), u = E(!1);
|
|
36
|
+
if (!t || !s || !n || !o || v !== "header")
|
|
37
|
+
return null;
|
|
38
|
+
!q && a === 1 && !r && !u.current && (console.warn(
|
|
39
|
+
"TableHeaderColumn: Header cells for a single data column with colSpan=1 should provide a columnKey. Without it, the table cannot derive a stable data-column layout."
|
|
40
|
+
), u.current = !0);
|
|
41
|
+
const N = D?.row ?? 1;
|
|
42
|
+
if (t.renderDraft.headerColumns.push({
|
|
43
|
+
id: i,
|
|
44
|
+
columnKey: r,
|
|
45
|
+
label: x ?? C ?? "",
|
|
46
|
+
icon: S,
|
|
47
|
+
filter: f,
|
|
48
|
+
hideLabel: g,
|
|
49
|
+
width: L,
|
|
50
|
+
mobileLabel: z,
|
|
51
|
+
horizontalAlign: y,
|
|
52
|
+
verticalAlign: k,
|
|
53
|
+
headerClassName: V(h, p),
|
|
54
|
+
hideOnMobile: R,
|
|
55
|
+
sortable: O,
|
|
56
|
+
draggable: b,
|
|
57
|
+
resizeable: T,
|
|
58
|
+
minResizeWidth: K,
|
|
59
|
+
maxResizeWidth: w,
|
|
60
|
+
row: N,
|
|
61
|
+
colSpan: a,
|
|
62
|
+
rowSpan: H
|
|
63
|
+
}), !s.isTableView)
|
|
64
|
+
return null;
|
|
65
|
+
const l = t.header, e = l?.columns.find((M) => String(M.key) === i);
|
|
66
|
+
if (!l || !e)
|
|
67
|
+
return null;
|
|
68
|
+
const A = !!e.columnKey && e.colSpan === 1 && e.columnKey !== o.lastResizableColumnKey && e.resizeable === !0 && !!o.onColumnResizeStart, I = !!e.columnKey && e.colSpan === 1 && (o.draggableColumnKeys?.length ?? 0) > 1 && e.draggable === !0 && !!o.onColumnDragEnd, P = !!e.columnKey && o.resettableColumnKeys?.has(e.columnKey), m = {
|
|
69
|
+
column: e,
|
|
70
|
+
header: l,
|
|
71
|
+
htmlAttributes: W,
|
|
72
|
+
hasResettableWidth: P,
|
|
73
|
+
isResizable: A,
|
|
74
|
+
onColumnResizeReset: o.onColumnResizeReset,
|
|
75
|
+
onColumnResizeStart: o.onColumnResizeStart,
|
|
76
|
+
onSortChange: n.onSortChange,
|
|
77
|
+
showSelectionColumn: n.showSelectionColumn,
|
|
78
|
+
stickyLeftColumnCount: o.stickyLeftColumnCount,
|
|
79
|
+
stickyRightColumnCount: o.stickyRightColumnCount
|
|
80
|
+
};
|
|
81
|
+
return I ? /* @__PURE__ */ c(B, { ...m }) : /* @__PURE__ */ c(F, { ...m });
|
|
82
|
+
};
|
|
2
83
|
export {
|
|
3
|
-
|
|
84
|
+
ie as default
|
|
4
85
|
};
|
|
5
86
|
//# sourceMappingURL=TableHeaderColumn.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableHeaderColumn.js","sources":["../../../src/components/table/TableHeaderColumn.tsx"],"sourcesContent":["import type { PropsWithChildren, ReactNode } from 'react';\n\nimport type { TableColumnDefinition, TableVerticalAlign } from './Table.types';\n\nexport type TableHeaderColumnProps<RowType extends Record<string, unknown>> = Omit<\n TableColumnDefinition<RowType>,\n 'className' | 'draggable' | 'filter' | 'headerClassName' | 'icon' | 'key' | 'label'\n> &\n PropsWithChildren<{\n /**\n * Column key for leaf header columns.\n */\n columnKey?: string;\n\n /**\n * Optional explicit header label.\n * If omitted, `children` are used.\n */\n label?: ReactNode;\n\n /**\n * Optional rioglyph class rendered before the header label in table view.\n */\n icon?: string;\n\n /**\n * Optional custom filter control rendered next to the header label.\n *\n * Intended for table-specific filter dropdowns such as `TableColumnFilter`.\n */\n filter?: ReactNode;\n\n /**\n * Hides the visible label in table view while preserving `label` for\n * dropdowns, cards, and mobile metadata.\n *\n * @default false\n */\n hideLabel?: boolean;\n\n /**\n * Number of columns this header cell spans.\n *\n * @default 1\n */\n colSpan?: number;\n\n /**\n * Number of header rows this cell spans.\n *\n * @default 1\n */\n rowSpan?: number;\n\n /**\n * Additional class names for this header cell only.\n */\n className?: string;\n\n /**\n * Additional class names for this header cell only.\n */\n headerClassName?: string;\n\n /**\n * Disables column drag-reordering for this header column when `draggableColumns` is enabled on the table.\n *\n * @default true\n */\n draggable?: boolean;\n\n /**\n * Overrides the table-level `resizeableColumns` setting for this header column.\n *\n * When omitted, the table-level setting is used.\n */\n resizeable?: boolean;\n\n /**\n * Vertical alignment for this header cell.\n *\n * @default 'middle'\n */\n verticalAlign?: TableVerticalAlign;\n }>;\n\nconst TableHeaderColumn = <RowType extends Record<string, unknown> = Record<string, unknown>>(\n _props: TableHeaderColumnProps<RowType>\n) => null;\n\nexport default TableHeaderColumn;\n"],"names":["TableHeaderColumn","_props"],"mappings":"AAsFA,MAAMA,IAAoB,CACtBC,MACC;"}
|
|
1
|
+
{"version":3,"file":"TableHeaderColumn.js","sources":["../../../src/components/table/TableHeaderColumn.tsx"],"sourcesContent":["import { useId, useRef, type PropsWithChildren, type ReactNode } from 'react';\n\nimport classNames from '../../utils/classNames';\nimport { isProd } from '../../utils/init/initConfig';\nimport type { TableColumnDefinition, TableHtmlAttributes, TableRowData, TableVerticalAlign } from './Table.types';\nimport DraggableTableHeaderCell from './render/header/TableDraggableHeaderCell';\nimport StaticTableHeaderCell from './render/header/TableStaticHeaderCell';\nimport { useOptionalTableInteractionContext } from './context/TableInteractionContext';\nimport { useOptionalTableLayoutContext } from './context/TableLayoutContext';\nimport { useOptionalTableRenderConfigContext } from './context/TableRenderConfigContext';\nimport { useOptionalTableSection, useTableHeaderRowContext } from './context/TableStructureContext';\nimport { useOptionalTableRenderContext } from './context/TableRenderContext';\n\nexport type TableHeaderColumnProps<RowType extends TableRowData> = Omit<\n TableColumnDefinition<RowType>,\n 'className' | 'draggable' | 'filter' | 'headerClassName' | 'icon' | 'key' | 'label' | 'resizeable'\n> &\n PropsWithChildren<\n {\n /**\n * Column key for a header that represents a single data column.\n *\n * These are the lowest header cells in the table structure and should\n * therefore use `colSpan={1}`.\n *\n * For these headers, `columnKey` is effectively required because the table\n * derives its body/footer column layout, resize/drag behavior, sorting, and\n * sticky-column logic from these keys.\n *\n * Group header cells that only structure other header cells may omit `columnKey`\n * when they span multiple columns via `colSpan > 1`.\n */\n columnKey?: string;\n\n /**\n * Optional explicit header label.\n * If omitted, `children` are used.\n */\n label?: ReactNode;\n\n /**\n * Optional rioglyph class rendered before the header label in table view.\n */\n icon?: string;\n\n /**\n * Optional custom filter control rendered next to the header label.\n *\n * Intended for table-specific filter dropdowns such as `TableColumnFilter`.\n */\n filter?: ReactNode;\n\n /**\n * Hides the visible label in table view while preserving `label` for\n * dropdowns, cards, and mobile metadata.\n *\n * @default false\n */\n hideLabel?: boolean;\n\n /**\n * Number of columns this header cell spans.\n *\n * @default 1\n */\n colSpan?: number;\n\n /**\n * Number of header rows this cell spans.\n *\n * @default 1\n */\n rowSpan?: number;\n\n /**\n * Additional class names for this header cell only.\n */\n className?: string;\n\n /**\n * Additional class names for this header cell only.\n */\n headerClassName?: string;\n\n /**\n * Enables drag-reordering for this header column in `TABLE` view.\n *\n * When `columnOrder` and `onColumnOrderChange` are provided, reordering is controlled from the outside.\n * When they are omitted, the table keeps the reordered state internally.\n *\n * @default false\n */\n draggable?: boolean;\n\n /**\n * Enables resizing for this header column in `TABLE` view.\n *\n * When `onColumnResize` is provided, resized widths are controlled from the outside.\n * When it is omitted, the table keeps resized widths internally.\n *\n * @default false\n */\n resizeable?: boolean;\n\n /**\n * Vertical alignment for this header cell.\n *\n * @default 'middle'\n */\n verticalAlign?: TableVerticalAlign;\n } & TableHtmlAttributes\n >;\n\nconst TableHeaderColumn = <RowType extends TableRowData = TableRowData>(props: TableHeaderColumnProps<RowType>) => {\n const {\n children,\n className,\n colSpan = 1,\n columnKey,\n draggable,\n filter,\n headerClassName,\n hideLabel,\n hideOnMobile,\n horizontalAlign,\n icon,\n label,\n maxResizeWidth,\n mobileLabel,\n minResizeWidth,\n resizeable,\n rowSpan = 1,\n sortable,\n verticalAlign,\n width,\n ...remainingProps\n } = props;\n\n const renderContext = useOptionalTableRenderContext<RowType>();\n const renderConfigContext = useOptionalTableRenderConfigContext<RowType>();\n const interactionContext = useOptionalTableInteractionContext<RowType>();\n const layoutContext = useOptionalTableLayoutContext();\n const section = useOptionalTableSection();\n const headerRowContext = useTableHeaderRowContext();\n const columnId = useId();\n const hasWarnedMissingColumnKeyRef = useRef(false);\n\n if (!renderContext || !renderConfigContext || !interactionContext || !layoutContext || section !== 'header') {\n return null;\n }\n\n if (!isProd && colSpan === 1 && !columnKey && !hasWarnedMissingColumnKeyRef.current) {\n console.warn(\n 'TableHeaderColumn: Header cells for a single data column with colSpan=1 should provide a columnKey. ' +\n 'Without it, the table cannot derive a stable data-column layout.'\n );\n hasWarnedMissingColumnKeyRef.current = true;\n }\n\n const resolvedRow = headerRowContext?.row ?? 1;\n\n renderContext.renderDraft.headerColumns.push({\n id: columnId,\n columnKey,\n label: label ?? children ?? '',\n icon,\n filter,\n hideLabel,\n width,\n mobileLabel,\n horizontalAlign,\n verticalAlign,\n headerClassName: classNames(className, headerClassName),\n hideOnMobile,\n sortable,\n draggable,\n resizeable,\n minResizeWidth,\n maxResizeWidth,\n row: resolvedRow,\n colSpan,\n rowSpan,\n });\n\n if (!renderConfigContext.isTableView) {\n return null;\n }\n\n const header = renderContext.header;\n const headerColumn = header?.columns.find(column => String(column.key) === columnId);\n\n if (!header || !headerColumn) {\n return null;\n }\n\n const isResizable =\n !!headerColumn.columnKey &&\n headerColumn.colSpan === 1 &&\n headerColumn.columnKey !== layoutContext.lastResizableColumnKey &&\n headerColumn.resizeable === true &&\n !!layoutContext.onColumnResizeStart;\n\n const isDraggable =\n !!headerColumn.columnKey &&\n headerColumn.colSpan === 1 &&\n (layoutContext.draggableColumnKeys?.length ?? 0) > 1 &&\n headerColumn.draggable === true &&\n !!layoutContext.onColumnDragEnd;\n\n const hasResettableWidth =\n !!headerColumn.columnKey && layoutContext.resettableColumnKeys?.has(headerColumn.columnKey);\n\n const sharedProps = {\n column: headerColumn,\n header,\n htmlAttributes: remainingProps,\n hasResettableWidth,\n isResizable,\n onColumnResizeReset: layoutContext.onColumnResizeReset,\n onColumnResizeStart: layoutContext.onColumnResizeStart,\n onSortChange: interactionContext.onSortChange,\n showSelectionColumn: interactionContext.showSelectionColumn,\n stickyLeftColumnCount: layoutContext.stickyLeftColumnCount,\n stickyRightColumnCount: layoutContext.stickyRightColumnCount,\n };\n\n return isDraggable ? <DraggableTableHeaderCell {...sharedProps} /> : <StaticTableHeaderCell {...sharedProps} />;\n};\n\nexport default TableHeaderColumn;\n"],"names":["TableHeaderColumn","props","children","className","colSpan","columnKey","draggable","filter","headerClassName","hideLabel","hideOnMobile","horizontalAlign","icon","label","maxResizeWidth","mobileLabel","minResizeWidth","resizeable","rowSpan","sortable","verticalAlign","width","remainingProps","renderContext","useOptionalTableRenderContext","renderConfigContext","useOptionalTableRenderConfigContext","interactionContext","useOptionalTableInteractionContext","layoutContext","useOptionalTableLayoutContext","section","useOptionalTableSection","headerRowContext","useTableHeaderRowContext","columnId","useId","hasWarnedMissingColumnKeyRef","useRef","isProd","resolvedRow","classNames","header","headerColumn","column","isResizable","isDraggable","hasResettableWidth","sharedProps","DraggableTableHeaderCell","jsx","StaticTableHeaderCell"],"mappings":";;;;;;;;;;;AAiHA,MAAMA,KAAoB,CAA8CC,MAA2C;AAC/G,QAAM;AAAA,IACF,UAAAC;AAAA,IACA,WAAAC;AAAA,IACA,SAAAC,IAAU;AAAA,IACV,WAAAC;AAAA,IACA,WAAAC;AAAA,IACA,QAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,WAAAC;AAAA,IACA,cAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,MAAAC;AAAA,IACA,OAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,aAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,YAAAC;AAAA,IACA,SAAAC,IAAU;AAAA,IACV,UAAAC;AAAA,IACA,eAAAC;AAAA,IACA,OAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,IACHrB,GAEEsB,IAAgBC,EAAA,GAChBC,IAAsBC,EAAA,GACtBC,IAAqBC,EAAA,GACrBC,IAAgBC,EAAA,GAChBC,IAAUC,EAAA,GACVC,IAAmBC,EAAA,GACnBC,IAAWC,EAAA,GACXC,IAA+BC,EAAO,EAAK;AAEjD,MAAI,CAACf,KAAiB,CAACE,KAAuB,CAACE,KAAsB,CAACE,KAAiBE,MAAY;AAC/F,WAAO;AAGX,EAAI,CAACQ,KAAUnC,MAAY,KAAK,CAACC,KAAa,CAACgC,EAA6B,YACxE,QAAQ;AAAA,IACJ;AAAA,EAAA,GAGJA,EAA6B,UAAU;AAG3C,QAAMG,IAAcP,GAAkB,OAAO;AAyB7C,MAvBAV,EAAc,YAAY,cAAc,KAAK;AAAA,IACzC,IAAIY;AAAA,IACJ,WAAA9B;AAAA,IACA,OAAOQ,KAASX,KAAY;AAAA,IAC5B,MAAAU;AAAA,IACA,QAAAL;AAAA,IACA,WAAAE;AAAA,IACA,OAAAY;AAAA,IACA,aAAAN;AAAA,IACA,iBAAAJ;AAAA,IACA,eAAAS;AAAA,IACA,iBAAiBqB,EAAWtC,GAAWK,CAAe;AAAA,IACtD,cAAAE;AAAA,IACA,UAAAS;AAAA,IACA,WAAAb;AAAA,IACA,YAAAW;AAAA,IACA,gBAAAD;AAAA,IACA,gBAAAF;AAAA,IACA,KAAK0B;AAAA,IACL,SAAApC;AAAA,IACA,SAAAc;AAAA,EAAA,CACH,GAEG,CAACO,EAAoB;AACrB,WAAO;AAGX,QAAMiB,IAASnB,EAAc,QACvBoB,IAAeD,GAAQ,QAAQ,KAAK,OAAU,OAAOE,EAAO,GAAG,MAAMT,CAAQ;AAEnF,MAAI,CAACO,KAAU,CAACC;AACZ,WAAO;AAGX,QAAME,IACF,CAAC,CAACF,EAAa,aACfA,EAAa,YAAY,KACzBA,EAAa,cAAcd,EAAc,0BACzCc,EAAa,eAAe,MAC5B,CAAC,CAACd,EAAc,qBAEdiB,IACF,CAAC,CAACH,EAAa,aACfA,EAAa,YAAY,MACxBd,EAAc,qBAAqB,UAAU,KAAK,KACnDc,EAAa,cAAc,MAC3B,CAAC,CAACd,EAAc,iBAEdkB,IACF,CAAC,CAACJ,EAAa,aAAad,EAAc,sBAAsB,IAAIc,EAAa,SAAS,GAExFK,IAAc;AAAA,IAChB,QAAQL;AAAA,IACR,QAAAD;AAAA,IACA,gBAAgBpB;AAAA,IAChB,oBAAAyB;AAAA,IACA,aAAAF;AAAA,IACA,qBAAqBhB,EAAc;AAAA,IACnC,qBAAqBA,EAAc;AAAA,IACnC,cAAcF,EAAmB;AAAA,IACjC,qBAAqBA,EAAmB;AAAA,IACxC,uBAAuBE,EAAc;AAAA,IACrC,wBAAwBA,EAAc;AAAA,EAAA;AAG1C,SAAOiB,sBAAeG,GAAA,EAA0B,GAAGD,GAAa,IAAK,gBAAAE,EAACC,GAAA,EAAuB,GAAGH,EAAA,CAAa;AACjH;"}
|
|
@@ -5,5 +5,5 @@ export type TableHeaderRowProps = {
|
|
|
5
5
|
*/
|
|
6
6
|
children?: ReactNode;
|
|
7
7
|
};
|
|
8
|
-
declare const TableHeaderRow: (
|
|
8
|
+
declare const TableHeaderRow: ({ children }: TableHeaderRowProps) => import("react/jsx-runtime").JSX.Element | null;
|
|
9
9
|
export default TableHeaderRow;
|
|
@@ -1,5 +1,14 @@
|
|
|
1
|
-
|
|
1
|
+
import { jsx as n } from "react/jsx-runtime";
|
|
2
|
+
import { useTableHeaderContext as a, TableHeaderRowContext as d } from "./context/TableStructureContext.js";
|
|
3
|
+
import { useOptionalTableRenderContext as l } from "./context/TableRenderContext.js";
|
|
4
|
+
const i = ({ children: e }) => {
|
|
5
|
+
const t = l(), o = a();
|
|
6
|
+
if (!t)
|
|
7
|
+
return null;
|
|
8
|
+
const r = (o?.nextHeaderRowIndex() ?? 0) + 1;
|
|
9
|
+
return /* @__PURE__ */ n(d.Provider, { value: { row: r }, children: e });
|
|
10
|
+
};
|
|
2
11
|
export {
|
|
3
|
-
|
|
12
|
+
i as default
|
|
4
13
|
};
|
|
5
14
|
//# sourceMappingURL=TableHeaderRow.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableHeaderRow.js","sources":["../../../src/components/table/TableHeaderRow.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nexport type TableHeaderRowProps = {\n /**\n * Header columns rendered inside this header row.\n */\n children?: ReactNode;\n};\n\nconst TableHeaderRow = (
|
|
1
|
+
{"version":3,"file":"TableHeaderRow.js","sources":["../../../src/components/table/TableHeaderRow.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport { TableHeaderRowContext, useTableHeaderContext } from './context/TableStructureContext';\nimport { useOptionalTableRenderContext } from './context/TableRenderContext';\n\nexport type TableHeaderRowProps = {\n /**\n * Header columns rendered inside this header row.\n */\n children?: ReactNode;\n};\n\nconst TableHeaderRow = ({ children }: TableHeaderRowProps) => {\n const renderContext = useOptionalTableRenderContext();\n const headerContext = useTableHeaderContext();\n\n if (!renderContext) {\n return null;\n }\n\n const row = (headerContext?.nextHeaderRowIndex() ?? 0) + 1;\n\n return <TableHeaderRowContext.Provider value={{ row }}>{children}</TableHeaderRowContext.Provider>;\n};\n\nexport default TableHeaderRow;\n"],"names":["TableHeaderRow","children","renderContext","useOptionalTableRenderContext","headerContext","useTableHeaderContext","row","jsx","TableHeaderRowContext"],"mappings":";;;AAYA,MAAMA,IAAiB,CAAC,EAAE,UAAAC,QAAoC;AAC1D,QAAMC,IAAgBC,EAAA,GAChBC,IAAgBC,EAAA;AAEtB,MAAI,CAACH;AACD,WAAO;AAGX,QAAMI,KAAOF,GAAe,mBAAA,KAAwB,KAAK;AAEzD,SAAO,gBAAAG,EAACC,EAAsB,UAAtB,EAA+B,OAAO,EAAE,KAAAF,EAAA,GAAQ,UAAAL,GAAS;AACrE;"}
|
|
@@ -1,5 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { TableHtmlAttributes, TableRowData } from './Table.types';
|
|
3
|
+
export type TableRowProps<RowType extends TableRowData> = TableHtmlAttributes & Partial<RowType> & {
|
|
4
|
+
/**
|
|
5
|
+
* Keeps the row sticky at the top of a scrollable table body.
|
|
6
|
+
*
|
|
7
|
+
* @default false
|
|
8
|
+
*/
|
|
9
|
+
sticky?: boolean;
|
|
3
10
|
/**
|
|
4
11
|
* Disables row interaction such as hover styles, clicks, and keyboard activation.
|
|
5
12
|
*
|
|
@@ -14,6 +21,10 @@ export type TableRowProps<RowType extends Record<string, unknown>> = PropsWithCh
|
|
|
14
21
|
* Disable table hover styling for this row.
|
|
15
22
|
*/
|
|
16
23
|
noHover?: boolean;
|
|
17
|
-
|
|
18
|
-
|
|
24
|
+
/**
|
|
25
|
+
* Table row content.
|
|
26
|
+
*/
|
|
27
|
+
children?: ReactNode;
|
|
28
|
+
};
|
|
29
|
+
declare const TableRow: <RowType extends TableRowData = TableRowData>(props: TableRowProps<RowType>) => import("react/jsx-runtime").JSX.Element | null;
|
|
19
30
|
export default TableRow;
|
|
@@ -1,5 +1,112 @@
|
|
|
1
|
-
|
|
1
|
+
import { jsx as a, jsxs as K, Fragment as A } from "react/jsx-runtime";
|
|
2
|
+
import { motion as V } from "motion/react";
|
|
3
|
+
import { useRef as O } from "react";
|
|
4
|
+
import j from "../checkbox/Checkbox.js";
|
|
5
|
+
import N from "../../utils/classNames.js";
|
|
6
|
+
import { resolveRowKey as B, resolveRowClassName as H } from "./model/resolveRowMeta.js";
|
|
7
|
+
import { getInteractiveRowProps as F } from "./shared/getInteractiveRowProps.js";
|
|
8
|
+
import { useOptionalTableInteractionContext as q } from "./context/TableInteractionContext.js";
|
|
9
|
+
import { useOptionalTableRenderConfigContext as z } from "./context/TableRenderConfigContext.js";
|
|
10
|
+
import { useOptionalTableSection as E, useTableBodyContext as G, extractTableHtmlAttributes as T, TableRowContext as J } from "./context/TableStructureContext.js";
|
|
11
|
+
import { useOptionalTableRenderContext as L } from "./context/TableRenderContext.js";
|
|
12
|
+
const M = (C) => {
|
|
13
|
+
const { isSelected: b, isTableView: n, onToggleSelection: p, cardCellClassName: R, disabled: g } = C;
|
|
14
|
+
return /* @__PURE__ */ a(
|
|
15
|
+
"div",
|
|
16
|
+
{
|
|
17
|
+
className: N("table-cell table-selection-cell", !n && R),
|
|
18
|
+
role: "cell",
|
|
19
|
+
"aria-colindex": 1,
|
|
20
|
+
style: n ? { gridColumn: "1 / span 1", gridRow: "1 / span 1" } : void 0,
|
|
21
|
+
onClick: (s) => s.stopPropagation(),
|
|
22
|
+
onKeyDown: (s) => s.stopPropagation(),
|
|
23
|
+
children: /* @__PURE__ */ a("div", { className: "table-selection-control", children: /* @__PURE__ */ a(j, { checked: b, disabled: g, onChange: p }) })
|
|
24
|
+
}
|
|
25
|
+
);
|
|
26
|
+
}, ne = (C) => {
|
|
27
|
+
const { children: b, disabled: n, className: p, noHover: R, sticky: g, ...s } = C, e = z(), w = L(), o = q(), k = E(), u = G(), m = O(0);
|
|
28
|
+
if (m.current = 0, !w || !e || !o || w.columns.length === 0 || k !== "body" || !u)
|
|
29
|
+
return null;
|
|
30
|
+
const c = s, r = u.nextRowIndex(), t = B(c, r, e.rowKey), v = typeof e.rowAnimationProps == "function" ? e.rowAnimationProps(c, r) : e.rowAnimationProps, l = F({
|
|
31
|
+
isClickable: o.isClickable && !n,
|
|
32
|
+
onRowClick: (i, d) => {
|
|
33
|
+
o.onRowClick?.(i, d), o.onActiveRowChange?.(
|
|
34
|
+
o.activeRowId === t ? void 0 : t,
|
|
35
|
+
i,
|
|
36
|
+
d
|
|
37
|
+
);
|
|
38
|
+
},
|
|
39
|
+
row: c,
|
|
40
|
+
rowIndex: r
|
|
41
|
+
}), x = o.selectedRowIdSet.has(t), P = o.showSelectionColumn && /* @__PURE__ */ a(
|
|
42
|
+
M,
|
|
43
|
+
{
|
|
44
|
+
isSelected: x,
|
|
45
|
+
isTableView: e.isTableView,
|
|
46
|
+
onToggleSelection: () => o.onToggleRowSelection?.(t),
|
|
47
|
+
cardCellClassName: e.cardClasses.cellClassName,
|
|
48
|
+
disabled: n
|
|
49
|
+
}
|
|
50
|
+
), f = N(
|
|
51
|
+
"table-row",
|
|
52
|
+
!e.isTableView && "divider-y-1 divider-color-lighter divider-style-solid",
|
|
53
|
+
o.activeRowId === t && "table-row-active",
|
|
54
|
+
n && "table-row-disabled",
|
|
55
|
+
x && "table-row-selected",
|
|
56
|
+
l.isClickableClassName,
|
|
57
|
+
(n || R) && "table-row-no-hover",
|
|
58
|
+
g && "table-row-sticky",
|
|
59
|
+
!e.isTableView && e.cardClasses.rowClassName,
|
|
60
|
+
p,
|
|
61
|
+
H(e.rowClassName, c, r)
|
|
62
|
+
), y = /* @__PURE__ */ K(A, { children: [
|
|
63
|
+
P,
|
|
64
|
+
b
|
|
65
|
+
] }), I = {
|
|
66
|
+
...T(s),
|
|
67
|
+
className: f,
|
|
68
|
+
"data-index": r,
|
|
69
|
+
"data-row-id": String(t),
|
|
70
|
+
onClick: l.onClick,
|
|
71
|
+
onKeyDown: l.onKeyDown,
|
|
72
|
+
role: "row",
|
|
73
|
+
tabIndex: l.tabIndex
|
|
74
|
+
}, S = {
|
|
75
|
+
...T(s),
|
|
76
|
+
className: f,
|
|
77
|
+
"data-index": r,
|
|
78
|
+
"data-row-id": String(t),
|
|
79
|
+
onClick: l.onClick,
|
|
80
|
+
onKeyDown: l.onKeyDown,
|
|
81
|
+
role: "row",
|
|
82
|
+
tabIndex: l.tabIndex,
|
|
83
|
+
...v
|
|
84
|
+
}, h = /* @__PURE__ */ a(
|
|
85
|
+
J.Provider,
|
|
86
|
+
{
|
|
87
|
+
value: {
|
|
88
|
+
nextColumnIndex: (i, d = 1) => {
|
|
89
|
+
if (i !== void 0 && i >= 0)
|
|
90
|
+
return m.current = i + d, i;
|
|
91
|
+
const D = m.current;
|
|
92
|
+
return m.current += d, D;
|
|
93
|
+
},
|
|
94
|
+
rowIndex: r,
|
|
95
|
+
rowId: t,
|
|
96
|
+
rowData: c
|
|
97
|
+
},
|
|
98
|
+
children: v ? /* @__PURE__ */ a(V.div, { ...S, children: y }) : /* @__PURE__ */ a("div", { ...I, children: y })
|
|
99
|
+
}
|
|
100
|
+
);
|
|
101
|
+
return w.renderDraft.bodyRows.push({
|
|
102
|
+
rowId: t,
|
|
103
|
+
rowIndex: r,
|
|
104
|
+
kind: "data",
|
|
105
|
+
disabled: n,
|
|
106
|
+
render: () => h
|
|
107
|
+
}), w.isRegisteringBodyRows ? null : h;
|
|
108
|
+
};
|
|
2
109
|
export {
|
|
3
|
-
|
|
110
|
+
ne as default
|
|
4
111
|
};
|
|
5
112
|
//# sourceMappingURL=TableRow.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableRow.js","sources":["../../../src/components/table/TableRow.tsx"],"sourcesContent":["import type { PropsWithChildren } from 'react';\n\nexport type TableRowProps<RowType extends Record<string, unknown>> = PropsWithChildren<\n {\n /**\n * Disables row interaction such as hover styles, clicks, and keyboard activation.\n *\n * @default false\n */\n disabled?: boolean;\n\n /**\n * Optional class names only for this row.\n */\n className?: string;\n\n /**\n * Disable table hover styling for this row.\n */\n noHover?: boolean;\n } & Partial<RowType>\n>;\n\nconst TableRow = <RowType extends Record<string, unknown> = Record<string, unknown>>(_props: TableRowProps<RowType>) =>\n null;\n\nexport default TableRow;\n"],"names":["TableRow","_props"],"mappings":"AAuBA,MAAMA,IAAW,CAAoEC,MACjF;"}
|
|
1
|
+
{"version":3,"file":"TableRow.js","sources":["../../../src/components/table/TableRow.tsx"],"sourcesContent":["import { motion, type HTMLMotionProps } from 'motion/react';\nimport { type ReactNode, useRef } from 'react';\n\nimport Checkbox from '../checkbox/Checkbox';\nimport classNames from '../../utils/classNames';\nimport { resolveRowClassName, resolveRowKey } from './model/resolveRowMeta';\nimport { getInteractiveRowProps } from './shared/getInteractiveRowProps';\nimport type { TableHtmlAttributes, TableRowData } from './Table.types';\nimport { useOptionalTableInteractionContext } from './context/TableInteractionContext';\nimport { useOptionalTableRenderConfigContext } from './context/TableRenderConfigContext';\nimport {\n extractTableHtmlAttributes,\n useTableBodyContext,\n TableRowContext,\n useOptionalTableSection,\n} from './context/TableStructureContext';\nimport { useOptionalTableRenderContext } from './context/TableRenderContext';\n\nexport type TableRowProps<RowType extends TableRowData> = TableHtmlAttributes &\n Partial<RowType> & {\n /**\n * Keeps the row sticky at the top of a scrollable table body.\n *\n * @default false\n */\n sticky?: boolean;\n\n /**\n * Disables row interaction such as hover styles, clicks, and keyboard activation.\n *\n * @default false\n */\n disabled?: boolean;\n\n /**\n * Optional class names only for this 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 TableRowSelectionCellProps = {\n isSelected: boolean;\n isTableView: boolean;\n onToggleSelection?: () => void;\n cardCellClassName?: string;\n disabled?: boolean;\n};\n\nconst TableRowSelectionCell = (props: TableRowSelectionCellProps) => {\n const { isSelected, isTableView, onToggleSelection, cardCellClassName, disabled } = props;\n\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', gridRow: '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} disabled={disabled} onChange={onToggleSelection} />\n </div>\n </div>\n );\n};\n\nconst TableRow = <RowType extends TableRowData = TableRowData>(props: TableRowProps<RowType>) => {\n const { children, disabled, className, noHover, sticky, ...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 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 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 && !disabled,\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 const isSelected = interactionContext.selectedRowIdSet.has(rowId);\n const selectionCell = interactionContext.showSelectionColumn && (\n <TableRowSelectionCell\n isSelected={isSelected}\n isTableView={renderConfigContext.isTableView}\n onToggleSelection={() => interactionContext.onToggleRowSelection?.(rowId)}\n cardCellClassName={renderConfigContext.cardClasses.cellClassName}\n disabled={disabled}\n />\n );\n\n const rowClassName = classNames(\n 'table-row',\n !renderConfigContext.isTableView && 'divider-y-1 divider-color-lighter divider-style-solid',\n interactionContext.activeRowId === rowId && 'table-row-active',\n disabled && 'table-row-disabled',\n isSelected && 'table-row-selected',\n interactiveRowProps.isClickableClassName,\n (disabled || noHover) && 'table-row-no-hover',\n sticky && 'table-row-sticky',\n !renderConfigContext.isTableView && renderConfigContext.cardClasses.rowClassName,\n className,\n resolveRowClassName(renderConfigContext.rowClassName, rowData, rowIndex)\n );\n\n const rowContent = (\n <>\n {selectionCell}\n {children}\n </>\n );\n\n const staticRowProps = {\n ...extractTableHtmlAttributes(remainingProps),\n className: rowClassName,\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-index' | 'data-row-id' | 'onClick' | 'onKeyDown' | 'role' | 'tabIndex'\n >),\n className: rowClassName,\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 ...resolvedRowAnimationProps,\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 {resolvedRowAnimationProps ? (\n <motion.div {...animatedRowProps}>{rowContent}</motion.div>\n ) : (\n <div {...staticRowProps}>{rowContent}</div>\n )}\n </TableRowContext.Provider>\n );\n\n renderContext.renderDraft.bodyRows.push({\n rowId,\n rowIndex,\n kind: 'data',\n disabled,\n render: () => rowNode,\n });\n\n return renderContext.isRegisteringBodyRows ? null : rowNode;\n};\n\nexport default TableRow;\n"],"names":["TableRowSelectionCell","props","isSelected","isTableView","onToggleSelection","cardCellClassName","disabled","jsx","classNames","event","Checkbox","TableRow","children","className","noHover","sticky","remainingProps","renderConfigContext","useOptionalTableRenderConfigContext","renderContext","useOptionalTableRenderContext","interactionContext","useOptionalTableInteractionContext","section","useOptionalTableSection","bodyContext","useTableBodyContext","cellIndexRef","useRef","rowData","rowIndex","rowId","resolveRowKey","resolvedRowAnimationProps","interactiveRowProps","getInteractiveRowProps","clickedRow","clickedRowIndex","selectionCell","rowClassName","resolveRowClassName","rowContent","jsxs","Fragment","staticRowProps","extractTableHtmlAttributes","animatedRowProps","rowNode","TableRowContext","explicitColumnIndex","span","nextIndex","motion"],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
import { TableHtmlAttributes } from './Table.types';
|
|
2
|
+
export type TableSpacerRowProps = TableHtmlAttributes & {
|
|
2
3
|
/**
|
|
3
4
|
* Optional class names only for this spacer row.
|
|
4
5
|
*/
|
|
@@ -8,5 +9,5 @@ export type TableSpacerRowProps = {
|
|
|
8
9
|
*/
|
|
9
10
|
noHover?: boolean;
|
|
10
11
|
};
|
|
11
|
-
declare const TableSpacerRow: (
|
|
12
|
+
declare const TableSpacerRow: (props: TableSpacerRowProps) => import("react/jsx-runtime").JSX.Element | null;
|
|
12
13
|
export default TableSpacerRow;
|
|
@@ -1,5 +1,29 @@
|
|
|
1
|
-
|
|
1
|
+
import { jsx as n } from "react/jsx-runtime";
|
|
2
|
+
import d from "../../utils/classNames.js";
|
|
3
|
+
import { useOptionalTableSection as p, useTableBodyContext as m } from "./context/TableStructureContext.js";
|
|
4
|
+
import { useOptionalTableRenderContext as b } from "./context/TableRenderContext.js";
|
|
5
|
+
const R = (s) => {
|
|
6
|
+
const { className: a, noHover: l, ...c } = s, e = b(), i = p(), r = m();
|
|
7
|
+
if (!e || e.columns.length === 0 || i !== "body" || !r)
|
|
8
|
+
return null;
|
|
9
|
+
const o = r.nextRowIndex(), t = /* @__PURE__ */ n(
|
|
10
|
+
"div",
|
|
11
|
+
{
|
|
12
|
+
...c,
|
|
13
|
+
className: d("table-row table-row-spacer", l && "table-row-no-hover", a),
|
|
14
|
+
"data-index": o,
|
|
15
|
+
role: "presentation",
|
|
16
|
+
children: /* @__PURE__ */ n("div", { className: "table-cell table-spacer-cell", role: "presentation" })
|
|
17
|
+
}
|
|
18
|
+
);
|
|
19
|
+
return e.renderDraft.bodyRows.push({
|
|
20
|
+
rowId: `spacer-${o}`,
|
|
21
|
+
rowIndex: o,
|
|
22
|
+
kind: "spacer",
|
|
23
|
+
render: () => t
|
|
24
|
+
}), e.isRegisteringBodyRows ? null : t;
|
|
25
|
+
};
|
|
2
26
|
export {
|
|
3
|
-
|
|
27
|
+
R as default
|
|
4
28
|
};
|
|
5
29
|
//# sourceMappingURL=TableSpacerRow.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableSpacerRow.js","sources":["../../../src/components/table/TableSpacerRow.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"TableSpacerRow.js","sources":["../../../src/components/table/TableSpacerRow.tsx"],"sourcesContent":["import classNames from '../../utils/classNames';\nimport type { TableHtmlAttributes } from './Table.types';\nimport { useTableBodyContext, useOptionalTableSection } from './context/TableStructureContext';\nimport { useOptionalTableRenderContext } from './context/TableRenderContext';\n\nexport type TableSpacerRowProps = TableHtmlAttributes & {\n /**\n * Optional class names only for this spacer row.\n */\n className?: string;\n\n /**\n * Disable table hover styling for this row.\n */\n noHover?: boolean;\n};\n\nconst TableSpacerRow = (props: TableSpacerRowProps) => {\n const { className, noHover, ...remainingProps } = props;\n\n const renderContext = useOptionalTableRenderContext();\n const section = useOptionalTableSection();\n const bodyContext = useTableBodyContext();\n\n if (!renderContext || renderContext.columns.length === 0 || section !== 'body' || !bodyContext) {\n return null;\n }\n\n const rowIndex = bodyContext.nextRowIndex();\n\n const rowNode = (\n <div\n {...remainingProps}\n className={classNames('table-row table-row-spacer', noHover && 'table-row-no-hover', className)}\n data-index={rowIndex}\n role='presentation'\n >\n <div className='table-cell table-spacer-cell' role='presentation' />\n </div>\n );\n\n renderContext.renderDraft.bodyRows.push({\n rowId: `spacer-${rowIndex}`,\n rowIndex,\n kind: 'spacer',\n render: () => rowNode,\n });\n\n return renderContext.isRegisteringBodyRows ? null : rowNode;\n};\n\nexport default TableSpacerRow;\n"],"names":["TableSpacerRow","props","className","noHover","remainingProps","renderContext","useOptionalTableRenderContext","section","useOptionalTableSection","bodyContext","useTableBodyContext","rowIndex","rowNode","jsx","classNames"],"mappings":";;;;AAiBA,MAAMA,IAAiB,CAACC,MAA+B;AACnD,QAAM,EAAE,WAAAC,GAAW,SAAAC,GAAS,GAAGC,MAAmBH,GAE5CI,IAAgBC,EAAA,GAChBC,IAAUC,EAAA,GACVC,IAAcC,EAAA;AAEpB,MAAI,CAACL,KAAiBA,EAAc,QAAQ,WAAW,KAAKE,MAAY,UAAU,CAACE;AAC/E,WAAO;AAGX,QAAME,IAAWF,EAAY,aAAA,GAEvBG,IACF,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACI,GAAGT;AAAA,MACJ,WAAWU,EAAW,8BAA8BX,KAAW,sBAAsBD,CAAS;AAAA,MAC9F,cAAYS;AAAA,MACZ,MAAK;AAAA,MAEL,UAAA,gBAAAE,EAAC,OAAA,EAAI,WAAU,gCAA+B,MAAK,eAAA,CAAe;AAAA,IAAA;AAAA,EAAA;AAI1E,SAAAR,EAAc,YAAY,SAAS,KAAK;AAAA,IACpC,OAAO,UAAUM,CAAQ;AAAA,IACzB,UAAAA;AAAA,IACA,MAAM;AAAA,IACN,QAAQ,MAAMC;AAAA,EAAA,CACjB,GAEMP,EAAc,wBAAwB,OAAOO;AACxD;"}
|