@rio-cloud/rio-uikit 2.3.0-beta.2 → 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/Marker.js +9 -5
- 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/datepicker/DayPicker.js +72 -70
- package/components/datepicker/DayPicker.js.map +1 -1
- package/components/datepicker/DayPickerDropdown.d.ts +1 -0
- package/components/datepicker/DayPickerDropdown.js +61 -48
- package/components/datepicker/DayPickerDropdown.js.map +1 -1
- package/components/datepicker/useStackedDayPickerCalendars.js +26 -26
- package/components/datepicker/useStackedDayPickerCalendars.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/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/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/selects/ClearButton.js +9 -7
- package/components/selects/ClearButton.js.map +1 -1
- package/components/table/Table.js +208 -205
- package/components/table/Table.js.map +1 -1
- package/components/table/Table.types.d.ts +13 -4
- package/components/table/TableColumn.d.ts +8 -1
- package/components/table/TableColumn.js +66 -64
- package/components/table/TableColumn.js.map +1 -1
- package/components/table/TableExpandedRow.js +11 -11
- package/components/table/TableExpandedRow.js.map +1 -1
- package/components/table/TableHeader.d.ts +17 -0
- package/components/table/TableHeader.js +89 -76
- package/components/table/TableHeader.js.map +1 -1
- package/components/table/TableHeaderColumn.d.ts +11 -1
- package/components/table/TableHeaderColumn.js +63 -58
- package/components/table/TableHeaderColumn.js.map +1 -1
- package/components/table/TableRow.d.ts +6 -0
- package/components/table/TableRow.js +49 -48
- package/components/table/TableRow.js.map +1 -1
- package/components/table/context/TableLayoutContext.d.ts +1 -0
- package/components/table/context/TableLayoutContext.js.map +1 -1
- package/components/table/layout/useHorizontalSectionSync.d.ts +2 -1
- package/components/table/layout/useHorizontalSectionSync.js +32 -31
- package/components/table/layout/useHorizontalSectionSync.js.map +1 -1
- package/components/table/layout/useTableLayout.d.ts +2 -1
- package/components/table/layout/useTableLayout.js +37 -30
- package/components/table/layout/useTableLayout.js.map +1 -1
- package/components/table/render/header/TableDraggableHeaderCell.js +38 -36
- package/components/table/render/header/TableDraggableHeaderCell.js.map +1 -1
- package/components/table/render/header/TableHeader.types.d.ts +2 -0
- package/components/table/render/header/TableHeaderCellContent.js +16 -16
- package/components/table/render/header/TableHeaderCellContent.js.map +1 -1
- package/components/table/render/header/TableStaticHeaderCell.js +31 -29
- package/components/table/render/header/TableStaticHeaderCell.js.map +1 -1
- package/components/table/render/header/resolveHeaderCellClassName.d.ts +1 -0
- package/components/table/render/header/resolveHeaderCellClassName.js +10 -9
- package/components/table/render/header/resolveHeaderCellClassName.js.map +1 -1
- package/components/table/runtime/useResolvedRenderColumns.d.ts +4 -4
- package/components/table/runtime/useResolvedRenderColumns.js +13 -13
- package/components/table/runtime/useResolvedRenderColumns.js.map +1 -1
- package/components/table/runtime/useResolvedRenderHeader.d.ts +1 -1
- package/components/table/runtime/useResolvedRenderHeader.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/package.json +1 -1
- package/utils/analytics/createAnalyticsOverlayTooltip.js.map +1 -1
- package/utils/init/initConfig.js +5 -5
- package/utils/init/initConfig.js.map +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/version.js.map +1 -1
|
@@ -1,43 +1,44 @@
|
|
|
1
|
-
import { useRef as
|
|
2
|
-
const
|
|
3
|
-
const
|
|
4
|
-
if (
|
|
5
|
-
return
|
|
6
|
-
const
|
|
7
|
-
return
|
|
8
|
-
},
|
|
9
|
-
const
|
|
10
|
-
(
|
|
11
|
-
const
|
|
12
|
-
if (
|
|
13
|
-
if (
|
|
14
|
-
|
|
1
|
+
import { useRef as f, useState as S, useCallback as m, useEffect as g } from "react";
|
|
2
|
+
const h = "table-horizontal-scroll", R = (r) => {
|
|
3
|
+
const o = r?.currentTarget;
|
|
4
|
+
if (o && "scrollLeft" in o)
|
|
5
|
+
return o.scrollLeft;
|
|
6
|
+
const e = r?.target;
|
|
7
|
+
return e && "scrollLeft" in e ? e.scrollLeft : 0;
|
|
8
|
+
}, z = ({ enabled: r, hasFooterCells: o = !0 }) => {
|
|
9
|
+
const e = f(null), c = f(null), a = f(0), [L, i] = S(!1), [H, u] = S(!1), l = m(
|
|
10
|
+
(s) => {
|
|
11
|
+
const n = (t) => {
|
|
12
|
+
if (t) {
|
|
13
|
+
if (s === 0) {
|
|
14
|
+
t.style.removeProperty("transform");
|
|
15
15
|
return;
|
|
16
16
|
}
|
|
17
|
-
|
|
17
|
+
t.style.transform = `translateX(-${s}px)`;
|
|
18
18
|
}
|
|
19
19
|
};
|
|
20
|
-
|
|
20
|
+
n(e.current), o ? n(c.current) : c.current && c.current.style.removeProperty("transform");
|
|
21
21
|
},
|
|
22
|
-
[
|
|
23
|
-
),
|
|
24
|
-
(
|
|
25
|
-
const
|
|
26
|
-
|
|
22
|
+
[o]
|
|
23
|
+
), p = m(
|
|
24
|
+
(s) => {
|
|
25
|
+
const n = s?.currentTarget, t = R(s), y = n ? Math.max(n.scrollWidth - n.clientWidth, 0) : 0, E = Math.max(y - t, 0);
|
|
26
|
+
i(t > 0), u(E > 1), r && l(t), t !== a.current && (a.current = t, window.dispatchEvent(new CustomEvent(h)));
|
|
27
27
|
},
|
|
28
|
-
[
|
|
28
|
+
[r, l]
|
|
29
29
|
);
|
|
30
|
-
return
|
|
31
|
-
|
|
32
|
-
}, [
|
|
33
|
-
handleBodyScroll:
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
30
|
+
return g(() => {
|
|
31
|
+
r || (a.current = 0, i(!1), u(!1), l(0));
|
|
32
|
+
}, [r, l]), {
|
|
33
|
+
handleBodyScroll: p,
|
|
34
|
+
hasHorizontalScrollEndOffset: H,
|
|
35
|
+
hasHorizontalScrollStartOffset: L,
|
|
36
|
+
tableFooterRowRef: c,
|
|
37
|
+
tableHeadRowRef: e
|
|
37
38
|
};
|
|
38
39
|
};
|
|
39
40
|
export {
|
|
40
|
-
|
|
41
|
-
|
|
41
|
+
h as TABLE_HORIZONTAL_SCROLL_EVENT,
|
|
42
|
+
z as useHorizontalSectionSync
|
|
42
43
|
};
|
|
43
44
|
//# sourceMappingURL=useHorizontalSectionSync.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useHorizontalSectionSync.js","sources":["../../../../src/components/table/layout/useHorizontalSectionSync.ts"],"sourcesContent":["import { useCallback, useEffect, useRef, useState, type UIEvent } from 'react';\n\nexport const TABLE_HORIZONTAL_SCROLL_EVENT = 'table-horizontal-scroll';\n\nconst getScrollLeftFromEvent = (event: UIEvent<HTMLElement> | undefined) => {\n const currentTarget = event?.currentTarget;\n\n if (currentTarget && 'scrollLeft' in currentTarget) {\n return (currentTarget as HTMLElement).scrollLeft;\n }\n\n const target = event?.target;\n\n if (target && 'scrollLeft' in target) {\n return (target as HTMLElement).scrollLeft;\n }\n\n return 0;\n};\n\ntype UseHorizontalSectionSyncProps = {\n enabled: boolean;\n hasFooterCells?: boolean;\n};\n\nexport const useHorizontalSectionSync = ({ enabled, hasFooterCells = true }: UseHorizontalSectionSyncProps) => {\n const tableHeadRowRef = useRef<HTMLDivElement>(null);\n const tableFooterRowRef = useRef<HTMLDivElement>(null);\n const previousScrollLeftRef = useRef(0);\n const [
|
|
1
|
+
{"version":3,"file":"useHorizontalSectionSync.js","sources":["../../../../src/components/table/layout/useHorizontalSectionSync.ts"],"sourcesContent":["import { useCallback, useEffect, useRef, useState, type UIEvent } from 'react';\n\nexport const TABLE_HORIZONTAL_SCROLL_EVENT = 'table-horizontal-scroll';\n\nconst getScrollLeftFromEvent = (event: UIEvent<HTMLElement> | undefined) => {\n const currentTarget = event?.currentTarget;\n\n if (currentTarget && 'scrollLeft' in currentTarget) {\n return (currentTarget as HTMLElement).scrollLeft;\n }\n\n const target = event?.target;\n\n if (target && 'scrollLeft' in target) {\n return (target as HTMLElement).scrollLeft;\n }\n\n return 0;\n};\n\ntype UseHorizontalSectionSyncProps = {\n enabled: boolean;\n hasFooterCells?: boolean;\n};\n\nexport const useHorizontalSectionSync = ({ enabled, hasFooterCells = true }: UseHorizontalSectionSyncProps) => {\n const tableHeadRowRef = useRef<HTMLDivElement>(null);\n const tableFooterRowRef = useRef<HTMLDivElement>(null);\n const previousScrollLeftRef = useRef(0);\n\n const [hasHorizontalScrollStartOffset, setHasHorizontalScrollStartOffset] = useState(false);\n const [hasHorizontalScrollEndOffset, setHasHorizontalScrollEndOffset] = useState(false);\n\n const syncHorizontalSections = useCallback(\n (scrollLeft: number) => {\n const applyTransform = (element: HTMLDivElement | null) => {\n if (!element) {\n return;\n }\n\n if (scrollLeft === 0) {\n element.style.removeProperty('transform');\n return;\n }\n\n element.style.transform = `translateX(-${scrollLeft}px)`;\n };\n\n applyTransform(tableHeadRowRef.current);\n\n if (hasFooterCells) {\n applyTransform(tableFooterRowRef.current);\n } else if (tableFooterRowRef.current) {\n tableFooterRowRef.current.style.removeProperty('transform');\n }\n },\n [hasFooterCells]\n );\n\n const handleBodyScroll = useCallback(\n (event: UIEvent<HTMLElement> | undefined) => {\n const currentTarget = event?.currentTarget as HTMLElement | undefined;\n const scrollLeft = getScrollLeftFromEvent(event);\n const maxScrollLeft = currentTarget\n ? Math.max(currentTarget.scrollWidth - currentTarget.clientWidth, 0)\n : 0;\n const remainingScrollLeft = Math.max(maxScrollLeft - scrollLeft, 0);\n\n setHasHorizontalScrollStartOffset(scrollLeft > 0);\n setHasHorizontalScrollEndOffset(remainingScrollLeft > 1);\n\n if (enabled) {\n syncHorizontalSections(scrollLeft);\n }\n\n if (scrollLeft !== previousScrollLeftRef.current) {\n previousScrollLeftRef.current = scrollLeft;\n window.dispatchEvent(new CustomEvent(TABLE_HORIZONTAL_SCROLL_EVENT));\n }\n },\n [enabled, syncHorizontalSections]\n );\n\n useEffect(() => {\n if (!enabled) {\n previousScrollLeftRef.current = 0;\n setHasHorizontalScrollStartOffset(false);\n setHasHorizontalScrollEndOffset(false);\n syncHorizontalSections(0);\n }\n }, [enabled, syncHorizontalSections]);\n\n return {\n handleBodyScroll,\n hasHorizontalScrollEndOffset,\n hasHorizontalScrollStartOffset,\n tableFooterRowRef,\n tableHeadRowRef,\n };\n};\n"],"names":["TABLE_HORIZONTAL_SCROLL_EVENT","getScrollLeftFromEvent","event","currentTarget","target","useHorizontalSectionSync","enabled","hasFooterCells","tableHeadRowRef","useRef","tableFooterRowRef","previousScrollLeftRef","hasHorizontalScrollStartOffset","setHasHorizontalScrollStartOffset","useState","hasHorizontalScrollEndOffset","setHasHorizontalScrollEndOffset","syncHorizontalSections","useCallback","scrollLeft","applyTransform","element","handleBodyScroll","maxScrollLeft","remainingScrollLeft","useEffect"],"mappings":";AAEO,MAAMA,IAAgC,2BAEvCC,IAAyB,CAACC,MAA4C;AACxE,QAAMC,IAAgBD,GAAO;AAE7B,MAAIC,KAAiB,gBAAgBA;AACjC,WAAQA,EAA8B;AAG1C,QAAMC,IAASF,GAAO;AAEtB,SAAIE,KAAU,gBAAgBA,IAClBA,EAAuB,aAG5B;AACX,GAOaC,IAA2B,CAAC,EAAE,SAAAC,GAAS,gBAAAC,IAAiB,SAA0C;AAC3G,QAAMC,IAAkBC,EAAuB,IAAI,GAC7CC,IAAoBD,EAAuB,IAAI,GAC/CE,IAAwBF,EAAO,CAAC,GAEhC,CAACG,GAAgCC,CAAiC,IAAIC,EAAS,EAAK,GACpF,CAACC,GAA8BC,CAA+B,IAAIF,EAAS,EAAK,GAEhFG,IAAyBC;AAAA,IAC3B,CAACC,MAAuB;AACpB,YAAMC,IAAiB,CAACC,MAAmC;AACvD,YAAKA,GAIL;AAAA,cAAIF,MAAe,GAAG;AAClB,YAAAE,EAAQ,MAAM,eAAe,WAAW;AACxC;AAAA,UACJ;AAEA,UAAAA,EAAQ,MAAM,YAAY,eAAeF,CAAU;AAAA;AAAA,MACvD;AAEA,MAAAC,EAAeZ,EAAgB,OAAO,GAElCD,IACAa,EAAeV,EAAkB,OAAO,IACjCA,EAAkB,WACzBA,EAAkB,QAAQ,MAAM,eAAe,WAAW;AAAA,IAElE;AAAA,IACA,CAACH,CAAc;AAAA,EAAA,GAGbe,IAAmBJ;AAAA,IACrB,CAAChB,MAA4C;AACzC,YAAMC,IAAgBD,GAAO,eACvBiB,IAAalB,EAAuBC,CAAK,GACzCqB,IAAgBpB,IAChB,KAAK,IAAIA,EAAc,cAAcA,EAAc,aAAa,CAAC,IACjE,GACAqB,IAAsB,KAAK,IAAID,IAAgBJ,GAAY,CAAC;AAElE,MAAAN,EAAkCM,IAAa,CAAC,GAChDH,EAAgCQ,IAAsB,CAAC,GAEnDlB,KACAW,EAAuBE,CAAU,GAGjCA,MAAeR,EAAsB,YACrCA,EAAsB,UAAUQ,GAChC,OAAO,cAAc,IAAI,YAAYnB,CAA6B,CAAC;AAAA,IAE3E;AAAA,IACA,CAACM,GAASW,CAAsB;AAAA,EAAA;AAGpC,SAAAQ,EAAU,MAAM;AACZ,IAAKnB,MACDK,EAAsB,UAAU,GAChCE,EAAkC,EAAK,GACvCG,EAAgC,EAAK,GACrCC,EAAuB,CAAC;AAAA,EAEhC,GAAG,CAACX,GAASW,CAAsB,CAAC,GAE7B;AAAA,IACH,kBAAAK;AAAA,IACA,8BAAAP;AAAA,IACA,gCAAAH;AAAA,IACA,mBAAAF;AAAA,IACA,iBAAAF;AAAA,EAAA;AAER;"}
|
|
@@ -26,7 +26,8 @@ type InternalTableStyle = CSSProperties & {
|
|
|
26
26
|
export declare const useTableLayout: <RowType extends TableRowData>(props: UseTableLayoutProps<RowType>) => {
|
|
27
27
|
columnsWithAreas: TableColumnWithArea<RowType>[];
|
|
28
28
|
handleBodyScroll: (event: import('react').UIEvent<HTMLElement> | undefined) => void;
|
|
29
|
-
|
|
29
|
+
hasHorizontalScrollEndOffset: boolean;
|
|
30
|
+
hasHorizontalScrollStartOffset: boolean;
|
|
30
31
|
tableUseOverflow: boolean;
|
|
31
32
|
tableWrapperRef: import('react').MutableRefObject<HTMLDivElement | null>;
|
|
32
33
|
tableFooterRowRef: import('react').RefObject<HTMLDivElement>;
|
|
@@ -1,59 +1,66 @@
|
|
|
1
1
|
import { useMeasuredColumnMaxWidths as N } from "./useMeasuredColumnMaxWidths.js";
|
|
2
|
-
import { MIN_COLUMN_WIDTH_PX as
|
|
3
|
-
import { toCssSize as l, getColumnTrack as
|
|
4
|
-
import { useHorizontalSectionSync as
|
|
5
|
-
import
|
|
6
|
-
const h = 50,
|
|
2
|
+
import { MIN_COLUMN_WIDTH_PX as R } from "../tableSizing.constants.js";
|
|
3
|
+
import { toCssSize as l, getColumnTrack as L } from "./columnSizing.js";
|
|
4
|
+
import { useHorizontalSectionSync as $ } from "./useHorizontalSectionSync.js";
|
|
5
|
+
import B from "../../../hooks/useResizeObserver.js";
|
|
6
|
+
const h = 50, E = (r) => {
|
|
7
7
|
if (!r)
|
|
8
8
|
return;
|
|
9
9
|
const a = r.trim().match(/^(-?\d+(?:\.\d+)?)px$/);
|
|
10
10
|
if (a)
|
|
11
11
|
return Number(a[1]);
|
|
12
|
-
},
|
|
13
|
-
const { bodyMaxHeight: a, cardsStyle: d, columns: n, hasFooterCells: p, rowSeparatorWidth: u, showSelectionColumn: i, style: b } = r, [c, , { inlineSize: f }] =
|
|
14
|
-
column:
|
|
12
|
+
}, k = (r) => {
|
|
13
|
+
const { bodyMaxHeight: a, cardsStyle: d, columns: n, hasFooterCells: p, rowSeparatorWidth: u, showSelectionColumn: i, style: b } = r, [c, , { inlineSize: f }] = B(), e = n.map((t, o) => ({
|
|
14
|
+
column: t,
|
|
15
15
|
columnIndex: o,
|
|
16
16
|
areaName: `table-col-${o + 1}`
|
|
17
|
-
})), s = f ?? c.current?.clientWidth,
|
|
17
|
+
})), s = f ?? c.current?.clientWidth, S = (i ? h : 0) + n.reduce((t, o) => {
|
|
18
18
|
if (o.width === void 0)
|
|
19
|
-
return
|
|
20
|
-
const
|
|
21
|
-
return
|
|
22
|
-
}, 0), m = s !== void 0 &&
|
|
19
|
+
return t + R;
|
|
20
|
+
const v = E(l(o.width));
|
|
21
|
+
return t + (v ?? 0);
|
|
22
|
+
}, 0), m = s !== void 0 && S > s, W = s !== void 0 ? `${s}px` : "100%", {
|
|
23
|
+
handleBodyScroll: w,
|
|
24
|
+
hasHorizontalScrollEndOffset: x,
|
|
25
|
+
hasHorizontalScrollStartOffset: C,
|
|
26
|
+
tableFooterRowRef: M,
|
|
27
|
+
tableHeadRowRef: T
|
|
28
|
+
} = $({
|
|
23
29
|
enabled: !!a,
|
|
24
30
|
hasFooterCells: p
|
|
25
|
-
}),
|
|
31
|
+
}), g = N({
|
|
26
32
|
columns: n,
|
|
27
33
|
enabled: m,
|
|
28
34
|
tableWrapperRef: c
|
|
29
|
-
}),
|
|
35
|
+
}), y = e.length > 0 ? [
|
|
30
36
|
i ? `${h}px` : void 0,
|
|
31
|
-
...
|
|
32
|
-
].filter(Boolean).join(" ") : "minmax(0, 1fr)",
|
|
37
|
+
...e.map(({ column: t }) => L(t, g[t.key]))
|
|
38
|
+
].filter(Boolean).join(" ") : "minmax(0, 1fr)", z = e.length > 0 ? `"${[
|
|
33
39
|
i ? "table-selection" : void 0,
|
|
34
|
-
...
|
|
35
|
-
].filter(Boolean).join(" ")}"` : "none",
|
|
40
|
+
...e.map(({ areaName: t }) => t)
|
|
41
|
+
].filter(Boolean).join(" ")}"` : "none", H = l(d?.minWidth) ?? "280px", O = l(d?.maxWidth) ?? "1fr", _ = {
|
|
36
42
|
...b ?? {},
|
|
37
|
-
"--table-columns":
|
|
38
|
-
"--table-areas":
|
|
39
|
-
"--table-cards-min":
|
|
40
|
-
"--table-cards-max":
|
|
43
|
+
"--table-columns": y,
|
|
44
|
+
"--table-areas": z,
|
|
45
|
+
"--table-cards-min": H,
|
|
46
|
+
"--table-cards-max": O,
|
|
41
47
|
"--table-column-count": String(n.length + (i ? 1 : 0)),
|
|
42
48
|
"--table-row-separator-width": l(u),
|
|
43
|
-
"--table-width":
|
|
49
|
+
"--table-width": W
|
|
44
50
|
};
|
|
45
51
|
return {
|
|
46
|
-
columnsWithAreas:
|
|
52
|
+
columnsWithAreas: e,
|
|
47
53
|
handleBodyScroll: w,
|
|
48
|
-
|
|
54
|
+
hasHorizontalScrollEndOffset: x,
|
|
55
|
+
hasHorizontalScrollStartOffset: C,
|
|
49
56
|
tableUseOverflow: m,
|
|
50
57
|
tableWrapperRef: c,
|
|
51
|
-
tableFooterRowRef:
|
|
52
|
-
tableHeadRowRef:
|
|
53
|
-
wrapperStyle:
|
|
58
|
+
tableFooterRowRef: M,
|
|
59
|
+
tableHeadRowRef: T,
|
|
60
|
+
wrapperStyle: _
|
|
54
61
|
};
|
|
55
62
|
};
|
|
56
63
|
export {
|
|
57
|
-
|
|
64
|
+
k as useTableLayout
|
|
58
65
|
};
|
|
59
66
|
//# sourceMappingURL=useTableLayout.js.map
|
|
@@ -1 +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 {
|
|
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 {\n handleBodyScroll,\n hasHorizontalScrollEndOffset,\n hasHorizontalScrollStartOffset,\n tableFooterRowRef,\n 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 hasHorizontalScrollEndOffset,\n hasHorizontalScrollStartOffset,\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","hasHorizontalScrollEndOffset","hasHorizontalScrollStartOffset","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;AAAA,IACF,kBAAAQ;AAAA,IACA,8BAAAC;AAAA,IACA,gCAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,iBAAAC;AAAA,EAAA,IACAC,EAAyB;AAAA,IACzB,SAAS,CAAC,CAAC1B;AAAA,IACX,gBAAAG;AAAA,EAAA,CACH,GAEKwB,IAA0BC,EAA2B;AAAA,IACvD,SAAA1B;AAAA,IACA,SAASiB;AAAA,IACT,iBAAAZ;AAAA,EAAA,CACH,GAEKsB,IACFnB,EAAiB,SAAS,IACpB;AAAA,IACIL,IAAsB,GAAGX,CAA+B,OAAO;AAAA,IAC/D,GAAGgB,EAAiB,IAAI,CAAC,EAAE,QAAAC,EAAA,MAAamB,EAAenB,GAAQgB,EAAwBhB,EAAO,GAAG,CAAC,CAAC;AAAA,EAAA,EAElG,OAAO,OAAO,EACd,KAAK,GAAG,IACb,kBAEJoB,IACFrB,EAAiB,SAAS,IACpB,IAAI;AAAA,IACAL,IAAsB,oBAAoB;AAAA,IAC1C,GAAGK,EAAiB,IAAI,CAAC,EAAE,UAAAsB,EAAA,MAAeA,CAAQ;AAAA,EAAA,EAEjD,OAAO,OAAO,EACd,KAAK,GAAG,CAAC,MACd,QAEJC,IAAgBf,EAAUjB,GAAY,QAAQ,KAAK,SACnDiC,IAAgBhB,EAAUjB,GAAY,QAAQ,KAAK,OAEnDkC,IAAmC;AAAA,IACrC,GAAI7B,KAAS,CAAA;AAAA,IACb,mBAAmBuB;AAAA,IACnB,iBAAiBE;AAAA,IACjB,qBAAqBE;AAAA,IACrB,qBAAqBC;AAAA,IACrB,wBAAwB,OAAOhC,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,8BAAAC;AAAA,IACA,gCAAAC;AAAA,IACA,kBAAAJ;AAAA,IACA,iBAAAZ;AAAA,IACA,mBAAAiB;AAAA,IACA,iBAAAC;AAAA,IACA,cAAAU;AAAA,EAAA;AAER;"}
|
|
@@ -1,64 +1,66 @@
|
|
|
1
|
-
import { jsxs as
|
|
1
|
+
import { jsxs as R, jsx as m } from "react/jsx-runtime";
|
|
2
2
|
import { useSortable as A } from "@dnd-kit/sortable";
|
|
3
|
-
import
|
|
3
|
+
import k from "./TableHeaderCellContent.js";
|
|
4
4
|
import H from "./TableHeaderCellResizeHandle.js";
|
|
5
|
-
import { resolveAriaSort as
|
|
6
|
-
import { resolveHeaderCellClassName as
|
|
7
|
-
import { resolveHeaderCellStyle as
|
|
8
|
-
import { resolveAriaSpan as
|
|
9
|
-
const
|
|
5
|
+
import { resolveAriaSort as w } from "./resolveAriaSort.js";
|
|
6
|
+
import { resolveHeaderCellClassName as D } from "./resolveHeaderCellClassName.js";
|
|
7
|
+
import { resolveHeaderCellStyle as N } from "./resolveHeaderCellStyle.js";
|
|
8
|
+
import { resolveAriaSpan as c, resolveAriaColIndex as L } from "../../shared/resolveTableAria.js";
|
|
9
|
+
const _ = (t) => {
|
|
10
10
|
const {
|
|
11
11
|
column: e,
|
|
12
|
-
header:
|
|
13
|
-
hideWhileDragging:
|
|
14
|
-
htmlAttributes:
|
|
12
|
+
header: r,
|
|
13
|
+
hideWhileDragging: a,
|
|
14
|
+
htmlAttributes: u,
|
|
15
15
|
isResizable: d,
|
|
16
|
-
showSelectionColumn:
|
|
17
|
-
stickyLeftColumnCount:
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
16
|
+
showSelectionColumn: l,
|
|
17
|
+
stickyLeftColumnCount: C,
|
|
18
|
+
stickyRightColumnCount: f
|
|
19
|
+
} = t, i = C ?? 0, n = f ?? 0, s = e.columnKey ?? String(e.key), { attributes: g, listeners: p, setActivatorNodeRef: S, setNodeRef: v, transform: o, transition: b, isDragging: y } = A({
|
|
20
|
+
id: s
|
|
21
|
+
}), { role: T, ...h } = g, x = {
|
|
22
|
+
...h,
|
|
22
23
|
...p
|
|
23
24
|
};
|
|
24
|
-
return /* @__PURE__ */
|
|
25
|
+
return /* @__PURE__ */ R(
|
|
25
26
|
"div",
|
|
26
27
|
{
|
|
27
28
|
ref: v,
|
|
28
|
-
...
|
|
29
|
-
className:
|
|
29
|
+
...u,
|
|
30
|
+
className: D(e, r, {
|
|
30
31
|
isDraggable: !0,
|
|
31
|
-
isDragging:
|
|
32
|
+
isDragging: y,
|
|
32
33
|
isResizable: d,
|
|
33
|
-
isStickyLeftColumn:
|
|
34
|
+
isStickyLeftColumn: i > 0 && e.columnStart <= i,
|
|
35
|
+
isStickyRightColumn: n > 0 && e.columnStart + e.colSpan - 1 > r.totalColumnCount - n
|
|
34
36
|
}),
|
|
35
|
-
"data-column":
|
|
37
|
+
"data-column": s,
|
|
36
38
|
role: "columnheader",
|
|
37
|
-
"aria-colindex":
|
|
38
|
-
"aria-colspan":
|
|
39
|
+
"aria-colindex": L(e.columnStart, l),
|
|
40
|
+
"aria-colspan": c(e.colSpan),
|
|
39
41
|
"aria-rowindex": e.rowStart,
|
|
40
|
-
"aria-rowspan":
|
|
41
|
-
"aria-sort":
|
|
42
|
-
style:
|
|
43
|
-
pointerEvents:
|
|
44
|
-
transform:
|
|
45
|
-
transition:
|
|
42
|
+
"aria-rowspan": c(e.rowSpan),
|
|
43
|
+
"aria-sort": w(e),
|
|
44
|
+
style: N(e, l, {
|
|
45
|
+
pointerEvents: a ? "none" : void 0,
|
|
46
|
+
transform: a ? void 0 : o ? `translate3d(${o.x}px, ${o.y}px, 0)` : void 0,
|
|
47
|
+
transition: b
|
|
46
48
|
}),
|
|
47
49
|
children: [
|
|
48
|
-
/* @__PURE__ */
|
|
49
|
-
|
|
50
|
+
/* @__PURE__ */ m(
|
|
51
|
+
k,
|
|
50
52
|
{
|
|
51
|
-
...
|
|
53
|
+
...t,
|
|
52
54
|
dragActivatorProps: x,
|
|
53
|
-
dragActivatorRef:
|
|
55
|
+
dragActivatorRef: S
|
|
54
56
|
}
|
|
55
57
|
),
|
|
56
|
-
/* @__PURE__ */
|
|
58
|
+
/* @__PURE__ */ m(H, { ...t })
|
|
57
59
|
]
|
|
58
60
|
}
|
|
59
61
|
);
|
|
60
62
|
};
|
|
61
63
|
export {
|
|
62
|
-
|
|
64
|
+
_ as default
|
|
63
65
|
};
|
|
64
66
|
//# sourceMappingURL=TableDraggableHeaderCell.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableDraggableHeaderCell.js","sources":["../../../../../src/components/table/render/header/TableDraggableHeaderCell.tsx"],"sourcesContent":["import { useSortable } from '@dnd-kit/sortable';\n\nimport type { TableRowData } from '../../Table.types';\nimport TableHeaderCellContent from './TableHeaderCellContent';\nimport TableHeaderCellResizeHandle from './TableHeaderCellResizeHandle';\nimport { resolveAriaSort } from './resolveAriaSort';\nimport { resolveHeaderCellClassName } from './resolveHeaderCellClassName';\nimport { resolveHeaderCellStyle } from './resolveHeaderCellStyle';\nimport type { SharedHeaderCellProps } from './TableHeader.types';\nimport { resolveAriaColIndex, resolveAriaSpan } from '../../shared/resolveTableAria';\n\nconst TableDraggableHeaderCell = (props: SharedHeaderCellProps<TableRowData>) => {\n const {\n column,\n header,\n hideWhileDragging,\n htmlAttributes,\n isResizable,\n showSelectionColumn,\n stickyLeftColumnCount,\n } = props;\n\n const stickyLeftColumns = stickyLeftColumnCount ?? 0;\n\n const columnKey = column.columnKey ?? String(column.key);\n\n const { attributes, listeners, setActivatorNodeRef, setNodeRef, transform, transition, isDragging } = useSortable({\n id: columnKey,\n });\n\n const { role: _sortableRole, ...sortableAttributes } = attributes;\n\n const dragActivatorProps = {\n ...sortableAttributes,\n ...listeners,\n };\n\n return (\n <div\n ref={setNodeRef}\n {...htmlAttributes}\n className={resolveHeaderCellClassName(column, header, {\n isDraggable: true,\n isDragging,\n isResizable,\n isStickyLeftColumn: stickyLeftColumns > 0 && column.columnStart <= stickyLeftColumns,\n })}\n data-column={columnKey}\n role='columnheader'\n aria-colindex={resolveAriaColIndex(column.columnStart, showSelectionColumn)}\n aria-colspan={resolveAriaSpan(column.colSpan)}\n aria-rowindex={column.rowStart}\n aria-rowspan={resolveAriaSpan(column.rowSpan)}\n aria-sort={resolveAriaSort(column)}\n style={resolveHeaderCellStyle(column, showSelectionColumn, {\n pointerEvents: hideWhileDragging ? 'none' : undefined,\n transform: hideWhileDragging\n ? undefined\n : transform\n ? `translate3d(${transform.x}px, ${transform.y}px, 0)`\n : undefined,\n transition,\n })}\n >\n <TableHeaderCellContent\n {...props}\n dragActivatorProps={dragActivatorProps}\n dragActivatorRef={setActivatorNodeRef}\n />\n <TableHeaderCellResizeHandle {...props} />\n </div>\n );\n};\n\nexport default TableDraggableHeaderCell;\n"],"names":["TableDraggableHeaderCell","props","column","header","hideWhileDragging","htmlAttributes","isResizable","showSelectionColumn","stickyLeftColumnCount","stickyLeftColumns","columnKey","attributes","listeners","setActivatorNodeRef","setNodeRef","transform","transition","isDragging","useSortable","_sortableRole","sortableAttributes","dragActivatorProps","jsxs","resolveHeaderCellClassName","resolveAriaColIndex","resolveAriaSpan","resolveAriaSort","resolveHeaderCellStyle","jsx","TableHeaderCellContent","TableHeaderCellResizeHandle"],"mappings":";;;;;;;;AAWA,MAAMA,IAA2B,CAACC,MAA+C;AAC7E,QAAM;AAAA,IACF,QAAAC;AAAA,IACA,QAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,aAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,uBAAAC;AAAA,EAAA,
|
|
1
|
+
{"version":3,"file":"TableDraggableHeaderCell.js","sources":["../../../../../src/components/table/render/header/TableDraggableHeaderCell.tsx"],"sourcesContent":["import { useSortable } from '@dnd-kit/sortable';\n\nimport type { TableRowData } from '../../Table.types';\nimport TableHeaderCellContent from './TableHeaderCellContent';\nimport TableHeaderCellResizeHandle from './TableHeaderCellResizeHandle';\nimport { resolveAriaSort } from './resolveAriaSort';\nimport { resolveHeaderCellClassName } from './resolveHeaderCellClassName';\nimport { resolveHeaderCellStyle } from './resolveHeaderCellStyle';\nimport type { SharedHeaderCellProps } from './TableHeader.types';\nimport { resolveAriaColIndex, resolveAriaSpan } from '../../shared/resolveTableAria';\n\nconst TableDraggableHeaderCell = (props: SharedHeaderCellProps<TableRowData>) => {\n const {\n column,\n header,\n hideWhileDragging,\n htmlAttributes,\n isResizable,\n showSelectionColumn,\n stickyLeftColumnCount,\n stickyRightColumnCount,\n } = props;\n\n const stickyLeftColumns = stickyLeftColumnCount ?? 0;\n const stickyRightColumns = stickyRightColumnCount ?? 0;\n\n const columnKey = column.columnKey ?? String(column.key);\n\n const { attributes, listeners, setActivatorNodeRef, setNodeRef, transform, transition, isDragging } = useSortable({\n id: columnKey,\n });\n\n const { role: _sortableRole, ...sortableAttributes } = attributes;\n\n const dragActivatorProps = {\n ...sortableAttributes,\n ...listeners,\n };\n\n return (\n <div\n ref={setNodeRef}\n {...htmlAttributes}\n className={resolveHeaderCellClassName(column, header, {\n isDraggable: true,\n isDragging,\n isResizable,\n isStickyLeftColumn: stickyLeftColumns > 0 && column.columnStart <= stickyLeftColumns,\n isStickyRightColumn:\n stickyRightColumns > 0 &&\n column.columnStart + column.colSpan - 1 > header.totalColumnCount - stickyRightColumns,\n })}\n data-column={columnKey}\n role='columnheader'\n aria-colindex={resolveAriaColIndex(column.columnStart, showSelectionColumn)}\n aria-colspan={resolveAriaSpan(column.colSpan)}\n aria-rowindex={column.rowStart}\n aria-rowspan={resolveAriaSpan(column.rowSpan)}\n aria-sort={resolveAriaSort(column)}\n style={resolveHeaderCellStyle(column, showSelectionColumn, {\n pointerEvents: hideWhileDragging ? 'none' : undefined,\n transform: hideWhileDragging\n ? undefined\n : transform\n ? `translate3d(${transform.x}px, ${transform.y}px, 0)`\n : undefined,\n transition,\n })}\n >\n <TableHeaderCellContent\n {...props}\n dragActivatorProps={dragActivatorProps}\n dragActivatorRef={setActivatorNodeRef}\n />\n <TableHeaderCellResizeHandle {...props} />\n </div>\n );\n};\n\nexport default TableDraggableHeaderCell;\n"],"names":["TableDraggableHeaderCell","props","column","header","hideWhileDragging","htmlAttributes","isResizable","showSelectionColumn","stickyLeftColumnCount","stickyRightColumnCount","stickyLeftColumns","stickyRightColumns","columnKey","attributes","listeners","setActivatorNodeRef","setNodeRef","transform","transition","isDragging","useSortable","_sortableRole","sortableAttributes","dragActivatorProps","jsxs","resolveHeaderCellClassName","resolveAriaColIndex","resolveAriaSpan","resolveAriaSort","resolveHeaderCellStyle","jsx","TableHeaderCellContent","TableHeaderCellResizeHandle"],"mappings":";;;;;;;;AAWA,MAAMA,IAA2B,CAACC,MAA+C;AAC7E,QAAM;AAAA,IACF,QAAAC;AAAA,IACA,QAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,aAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,uBAAAC;AAAA,IACA,wBAAAC;AAAA,EAAA,IACAR,GAEES,IAAoBF,KAAyB,GAC7CG,IAAqBF,KAA0B,GAE/CG,IAAYV,EAAO,aAAa,OAAOA,EAAO,GAAG,GAEjD,EAAE,YAAAW,GAAY,WAAAC,GAAW,qBAAAC,GAAqB,YAAAC,GAAY,WAAAC,GAAW,YAAAC,GAAY,YAAAC,EAAA,IAAeC,EAAY;AAAA,IAC9G,IAAIR;AAAA,EAAA,CACP,GAEK,EAAE,MAAMS,GAAe,GAAGC,MAAuBT,GAEjDU,IAAqB;AAAA,IACvB,GAAGD;AAAA,IACH,GAAGR;AAAA,EAAA;AAGP,SACI,gBAAAU;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,KAAKR;AAAA,MACJ,GAAGX;AAAA,MACJ,WAAWoB,EAA2BvB,GAAQC,GAAQ;AAAA,QAClD,aAAa;AAAA,QACb,YAAAgB;AAAA,QACA,aAAAb;AAAA,QACA,oBAAoBI,IAAoB,KAAKR,EAAO,eAAeQ;AAAA,QACnE,qBACIC,IAAqB,KACrBT,EAAO,cAAcA,EAAO,UAAU,IAAIC,EAAO,mBAAmBQ;AAAA,MAAA,CAC3E;AAAA,MACD,eAAaC;AAAA,MACb,MAAK;AAAA,MACL,iBAAec,EAAoBxB,EAAO,aAAaK,CAAmB;AAAA,MAC1E,gBAAcoB,EAAgBzB,EAAO,OAAO;AAAA,MAC5C,iBAAeA,EAAO;AAAA,MACtB,gBAAcyB,EAAgBzB,EAAO,OAAO;AAAA,MAC5C,aAAW0B,EAAgB1B,CAAM;AAAA,MACjC,OAAO2B,EAAuB3B,GAAQK,GAAqB;AAAA,QACvD,eAAeH,IAAoB,SAAS;AAAA,QAC5C,WAAWA,IACL,SACAa,IACE,eAAeA,EAAU,CAAC,OAAOA,EAAU,CAAC,WAC5C;AAAA,QACR,YAAAC;AAAA,MAAA,CACH;AAAA,MAED,UAAA;AAAA,QAAA,gBAAAY;AAAA,UAACC;AAAA,UAAA;AAAA,YACI,GAAG9B;AAAA,YACJ,oBAAAsB;AAAA,YACA,kBAAkBR;AAAA,UAAA;AAAA,QAAA;AAAA,QAEtB,gBAAAe,EAACE,GAAA,EAA6B,GAAG/B,EAAA,CAAO;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGpD;"}
|
|
@@ -17,6 +17,7 @@ export type TableHeaderSectionProps<RowType extends TableRowData = TableRowData>
|
|
|
17
17
|
selectionHeaderContent?: ReactNode;
|
|
18
18
|
showSelectionColumn?: boolean;
|
|
19
19
|
stickyLeftColumnCount?: number;
|
|
20
|
+
stickyRightColumnCount?: number;
|
|
20
21
|
tableHeadRowRef: Ref<HTMLDivElement>;
|
|
21
22
|
onSortChange?: (columnKey: string, direction: TableSortDirection, event: ReactMouseEvent<HTMLButtonElement>) => void;
|
|
22
23
|
};
|
|
@@ -34,4 +35,5 @@ export type SharedHeaderCellProps<RowType extends TableRowData = TableRowData> =
|
|
|
34
35
|
onSortChange?: (columnKey: string, direction: TableSortDirection, event: ReactMouseEvent<HTMLButtonElement>) => void;
|
|
35
36
|
showSelectionColumn?: boolean;
|
|
36
37
|
stickyLeftColumnCount?: number;
|
|
38
|
+
stickyRightColumnCount?: number;
|
|
37
39
|
};
|
|
@@ -7,7 +7,7 @@ const u = (c) => {
|
|
|
7
7
|
/* @__PURE__ */ a("span", { children: e.label })
|
|
8
8
|
] }) : e.label, o = s === null ? null : /* @__PURE__ */ a("span", { className: "table-head-label", children: s });
|
|
9
9
|
return /* @__PURE__ */ a("div", { className: l("table-head-cell-content", d && "table-head-cell-content-hidden"), children: /* @__PURE__ */ r("div", { className: "table-head-cell-content-row", children: [
|
|
10
|
-
e.sortable ? /* @__PURE__ */
|
|
10
|
+
e.sortable ? /* @__PURE__ */ a(
|
|
11
11
|
"button",
|
|
12
12
|
{
|
|
13
13
|
type: "button",
|
|
@@ -18,21 +18,21 @@ const u = (c) => {
|
|
|
18
18
|
e.sortDirection === "asc" ? "desc" : "asc",
|
|
19
19
|
h
|
|
20
20
|
),
|
|
21
|
-
children:
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
21
|
+
children: /* @__PURE__ */ r(
|
|
22
|
+
"span",
|
|
23
|
+
{
|
|
24
|
+
ref: n,
|
|
25
|
+
className: l(
|
|
26
|
+
"table-head-button-label",
|
|
27
|
+
t && "table-head-drag-label"
|
|
28
|
+
),
|
|
29
|
+
...t,
|
|
30
|
+
children: [
|
|
31
|
+
/* @__PURE__ */ a(p, { direction: e.sortDirection }),
|
|
32
|
+
o
|
|
33
|
+
]
|
|
34
|
+
}
|
|
35
|
+
)
|
|
36
36
|
}
|
|
37
37
|
) : /* @__PURE__ */ a(
|
|
38
38
|
"span",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableHeaderCellContent.js","sources":["../../../../../src/components/table/render/header/TableHeaderCellContent.tsx"],"sourcesContent":["import classNames from '../../../../utils/classNames';\nimport SortArrows from '../../SortArrows';\nimport type { TableRowData } from '../../Table.types';\nimport type { SharedHeaderCellProps } from './TableHeader.types';\n\nconst TableHeaderCellContent = (props: SharedHeaderCellProps<TableRowData>) => {\n const { column, dragActivatorProps, dragActivatorRef, hideWhileDragging, onSortChange } = props;\n\n const ariaLabel = column.hideLabel && typeof column.label === 'string' ? column.label : undefined;\n\n const labelContent = column.hideLabel ? null : column.icon ? (\n <span className='display-inline-flex align-items-center gap-5'>\n <span className={classNames('text-color-dark rioglyph', column.icon)} />\n <span>{column.label}</span>\n </span>\n ) : (\n column.label\n );\n\n const wrappedLabelContent = labelContent === null ? null : <span className='table-head-label'>{labelContent}</span>;\n\n return (\n <div className={classNames('table-head-cell-content', hideWhileDragging && 'table-head-cell-content-hidden')}>\n <div className='table-head-cell-content-row'>\n {column.sortable ? (\n <button\n type='button'\n className={classNames('table-head-button', column.filter && 'table-head-button-has-filter')}\n aria-label={ariaLabel}\n onClick={event =>\n onSortChange?.(\n column.columnKey ?? String(column.key),\n column.sortDirection === 'asc' ? 'desc' : 'asc',\n event\n )\n }\n >\n <
|
|
1
|
+
{"version":3,"file":"TableHeaderCellContent.js","sources":["../../../../../src/components/table/render/header/TableHeaderCellContent.tsx"],"sourcesContent":["import classNames from '../../../../utils/classNames';\nimport SortArrows from '../../SortArrows';\nimport type { TableRowData } from '../../Table.types';\nimport type { SharedHeaderCellProps } from './TableHeader.types';\n\nconst TableHeaderCellContent = (props: SharedHeaderCellProps<TableRowData>) => {\n const { column, dragActivatorProps, dragActivatorRef, hideWhileDragging, onSortChange } = props;\n\n const ariaLabel = column.hideLabel && typeof column.label === 'string' ? column.label : undefined;\n\n const labelContent = column.hideLabel ? null : column.icon ? (\n <span className='display-inline-flex align-items-center gap-5'>\n <span className={classNames('text-color-dark rioglyph', column.icon)} />\n <span>{column.label}</span>\n </span>\n ) : (\n column.label\n );\n\n const wrappedLabelContent = labelContent === null ? null : <span className='table-head-label'>{labelContent}</span>;\n\n return (\n <div className={classNames('table-head-cell-content', hideWhileDragging && 'table-head-cell-content-hidden')}>\n <div className='table-head-cell-content-row'>\n {column.sortable ? (\n <button\n type='button'\n className={classNames('table-head-button', column.filter && 'table-head-button-has-filter')}\n aria-label={ariaLabel}\n onClick={event =>\n onSortChange?.(\n column.columnKey ?? String(column.key),\n column.sortDirection === 'asc' ? 'desc' : 'asc',\n event\n )\n }\n >\n <span\n ref={dragActivatorRef}\n className={classNames(\n 'table-head-button-label',\n dragActivatorProps && 'table-head-drag-label'\n )}\n {...dragActivatorProps}\n >\n <SortArrows direction={column.sortDirection} />\n {wrappedLabelContent}\n </span>\n </button>\n ) : (\n <span\n ref={dragActivatorRef}\n className={classNames(\n 'table-head-label-wrapper',\n column.filter && 'table-head-label-wrapper-has-filter',\n dragActivatorProps && 'table-head-drag-label'\n )}\n aria-label={ariaLabel}\n {...dragActivatorProps}\n >\n {wrappedLabelContent}\n </span>\n )}\n {column.filter && <span className='table-head-filter'>{column.filter}</span>}\n </div>\n </div>\n );\n};\n\nexport default TableHeaderCellContent;\n"],"names":["TableHeaderCellContent","props","column","dragActivatorProps","dragActivatorRef","hideWhileDragging","onSortChange","ariaLabel","labelContent","jsxs","jsx","classNames","wrappedLabelContent","event","SortArrows"],"mappings":";;;AAKA,MAAMA,IAAyB,CAACC,MAA+C;AAC3E,QAAM,EAAE,QAAAC,GAAQ,oBAAAC,GAAoB,kBAAAC,GAAkB,mBAAAC,GAAmB,cAAAC,MAAiBL,GAEpFM,IAAYL,EAAO,aAAa,OAAOA,EAAO,SAAU,WAAWA,EAAO,QAAQ,QAElFM,IAAeN,EAAO,YAAY,OAAOA,EAAO,OAClD,gBAAAO,EAAC,QAAA,EAAK,WAAU,gDACZ,UAAA;AAAA,IAAA,gBAAAC,EAAC,UAAK,WAAWC,EAAW,4BAA4BT,EAAO,IAAI,GAAG;AAAA,IACtE,gBAAAQ,EAAC,QAAA,EAAM,UAAAR,EAAO,MAAA,CAAM;AAAA,EAAA,EAAA,CACxB,IAEAA,EAAO,OAGLU,IAAsBJ,MAAiB,OAAO,yBAAQ,QAAA,EAAK,WAAU,oBAAoB,UAAAA,EAAA,CAAa;AAE5G,SACI,gBAAAE,EAAC,OAAA,EAAI,WAAWC,EAAW,2BAA2BN,KAAqB,gCAAgC,GACvG,UAAA,gBAAAI,EAAC,OAAA,EAAI,WAAU,+BACV,UAAA;AAAA,IAAAP,EAAO,WACJ,gBAAAQ;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,MAAK;AAAA,QACL,WAAWC,EAAW,qBAAqBT,EAAO,UAAU,8BAA8B;AAAA,QAC1F,cAAYK;AAAA,QACZ,SAAS,CAAAM,MACLP;AAAA,UACIJ,EAAO,aAAa,OAAOA,EAAO,GAAG;AAAA,UACrCA,EAAO,kBAAkB,QAAQ,SAAS;AAAA,UAC1CW;AAAA,QAAA;AAAA,QAIR,UAAA,gBAAAJ;AAAA,UAAC;AAAA,UAAA;AAAA,YACG,KAAKL;AAAA,YACL,WAAWO;AAAA,cACP;AAAA,cACAR,KAAsB;AAAA,YAAA;AAAA,YAEzB,GAAGA;AAAA,YAEJ,UAAA;AAAA,cAAA,gBAAAO,EAACI,GAAA,EAAW,WAAWZ,EAAO,cAAA,CAAe;AAAA,cAC5CU;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MACL;AAAA,IAAA,IAGJ,gBAAAF;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,KAAKN;AAAA,QACL,WAAWO;AAAA,UACP;AAAA,UACAT,EAAO,UAAU;AAAA,UACjBC,KAAsB;AAAA,QAAA;AAAA,QAE1B,cAAYI;AAAA,QACX,GAAGJ;AAAA,QAEH,UAAAS;AAAA,MAAA;AAAA,IAAA;AAAA,IAGRV,EAAO,UAAU,gBAAAQ,EAAC,UAAK,WAAU,qBAAqB,YAAO,OAAA,CAAO;AAAA,EAAA,EAAA,CACzE,EAAA,CACJ;AAER;"}
|
|
@@ -1,48 +1,50 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import { resolveAriaSort as
|
|
6
|
-
import { resolveHeaderCellClassName as
|
|
7
|
-
import { resolveHeaderCellStyle as
|
|
8
|
-
import { resolveAriaSpan as
|
|
9
|
-
const
|
|
1
|
+
import { jsxs as C, jsx as i } from "react/jsx-runtime";
|
|
2
|
+
import S from "../../../../utils/classNames.js";
|
|
3
|
+
import f from "./TableHeaderCellContent.js";
|
|
4
|
+
import h from "./TableHeaderCellResizeHandle.js";
|
|
5
|
+
import { resolveAriaSort as p } from "./resolveAriaSort.js";
|
|
6
|
+
import { resolveHeaderCellClassName as y } from "./resolveHeaderCellClassName.js";
|
|
7
|
+
import { resolveHeaderCellStyle as g } from "./resolveHeaderCellStyle.js";
|
|
8
|
+
import { resolveAriaSpan as n, resolveAriaColIndex as k } from "../../shared/resolveTableAria.js";
|
|
9
|
+
const N = (o) => {
|
|
10
10
|
const {
|
|
11
11
|
column: e,
|
|
12
|
-
header:
|
|
12
|
+
header: l,
|
|
13
13
|
hideWhileDragging: m,
|
|
14
|
-
htmlAttributes:
|
|
15
|
-
isResizable:
|
|
16
|
-
showSelectionColumn:
|
|
17
|
-
stickyLeftColumnCount:
|
|
18
|
-
|
|
19
|
-
|
|
14
|
+
htmlAttributes: s,
|
|
15
|
+
isResizable: c,
|
|
16
|
+
showSelectionColumn: t,
|
|
17
|
+
stickyLeftColumnCount: u,
|
|
18
|
+
stickyRightColumnCount: d
|
|
19
|
+
} = o, r = u ?? 0, a = d ?? 0;
|
|
20
|
+
return /* @__PURE__ */ C(
|
|
20
21
|
"div",
|
|
21
22
|
{
|
|
22
|
-
...
|
|
23
|
-
className:
|
|
24
|
-
|
|
25
|
-
isResizable:
|
|
26
|
-
isStickyLeftColumn:
|
|
23
|
+
...s,
|
|
24
|
+
className: S(
|
|
25
|
+
y(e, l, {
|
|
26
|
+
isResizable: c,
|
|
27
|
+
isStickyLeftColumn: r > 0 && e.columnStart <= r,
|
|
28
|
+
isStickyRightColumn: a > 0 && e.columnStart + e.colSpan - 1 > l.totalColumnCount - a
|
|
27
29
|
}),
|
|
28
30
|
m && "table-head-cell-drag-placeholder"
|
|
29
31
|
),
|
|
30
32
|
"data-column": e.columnKey ?? String(e.key),
|
|
31
33
|
role: "columnheader",
|
|
32
|
-
"aria-colindex":
|
|
33
|
-
"aria-colspan":
|
|
34
|
+
"aria-colindex": k(e.columnStart, t),
|
|
35
|
+
"aria-colspan": n(e.colSpan),
|
|
34
36
|
"aria-rowindex": e.rowStart,
|
|
35
|
-
"aria-rowspan":
|
|
36
|
-
"aria-sort":
|
|
37
|
-
style:
|
|
37
|
+
"aria-rowspan": n(e.rowSpan),
|
|
38
|
+
"aria-sort": p(e),
|
|
39
|
+
style: g(e, t),
|
|
38
40
|
children: [
|
|
39
|
-
/* @__PURE__ */
|
|
40
|
-
/* @__PURE__ */
|
|
41
|
+
/* @__PURE__ */ i(f, { ...o }),
|
|
42
|
+
/* @__PURE__ */ i(h, { ...o })
|
|
41
43
|
]
|
|
42
44
|
}
|
|
43
45
|
);
|
|
44
46
|
};
|
|
45
47
|
export {
|
|
46
|
-
|
|
48
|
+
N as default
|
|
47
49
|
};
|
|
48
50
|
//# sourceMappingURL=TableStaticHeaderCell.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableStaticHeaderCell.js","sources":["../../../../../src/components/table/render/header/TableStaticHeaderCell.tsx"],"sourcesContent":["import classNames from '../../../../utils/classNames';\nimport type { TableRowData } from '../../Table.types';\nimport TableHeaderCellContent from './TableHeaderCellContent';\nimport TableHeaderCellResizeHandle from './TableHeaderCellResizeHandle';\nimport { resolveAriaSort } from './resolveAriaSort';\nimport { resolveHeaderCellClassName } from './resolveHeaderCellClassName';\nimport { resolveHeaderCellStyle } from './resolveHeaderCellStyle';\nimport type { SharedHeaderCellProps } from './TableHeader.types';\nimport { resolveAriaColIndex, resolveAriaSpan } from '../../shared/resolveTableAria';\n\nconst TableStaticHeaderCell = (props: SharedHeaderCellProps<TableRowData>) => {\n const {\n column,\n header,\n hideWhileDragging,\n htmlAttributes,\n isResizable,\n showSelectionColumn,\n stickyLeftColumnCount,\n } = props;\n\n const stickyLeftColumns = stickyLeftColumnCount ?? 0;\n\n return (\n <div\n {...htmlAttributes}\n className={classNames(\n resolveHeaderCellClassName(column, header, {\n isResizable,\n isStickyLeftColumn: stickyLeftColumns > 0 && column.columnStart <= stickyLeftColumns,\n }),\n hideWhileDragging && 'table-head-cell-drag-placeholder'\n )}\n data-column={column.columnKey ?? String(column.key)}\n role='columnheader'\n aria-colindex={resolveAriaColIndex(column.columnStart, showSelectionColumn)}\n aria-colspan={resolveAriaSpan(column.colSpan)}\n aria-rowindex={column.rowStart}\n aria-rowspan={resolveAriaSpan(column.rowSpan)}\n aria-sort={resolveAriaSort(column)}\n style={resolveHeaderCellStyle(column, showSelectionColumn)}\n >\n <TableHeaderCellContent {...props} />\n <TableHeaderCellResizeHandle {...props} />\n </div>\n );\n};\n\nexport default TableStaticHeaderCell;\n"],"names":["TableStaticHeaderCell","props","column","header","hideWhileDragging","htmlAttributes","isResizable","showSelectionColumn","stickyLeftColumnCount","stickyLeftColumns","jsxs","classNames","resolveHeaderCellClassName","resolveAriaColIndex","resolveAriaSpan","resolveAriaSort","resolveHeaderCellStyle","jsx","TableHeaderCellContent","TableHeaderCellResizeHandle"],"mappings":";;;;;;;;AAUA,MAAMA,IAAwB,CAACC,MAA+C;AAC1E,QAAM;AAAA,IACF,QAAAC;AAAA,IACA,QAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,aAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,uBAAAC;AAAA,EAAA,
|
|
1
|
+
{"version":3,"file":"TableStaticHeaderCell.js","sources":["../../../../../src/components/table/render/header/TableStaticHeaderCell.tsx"],"sourcesContent":["import classNames from '../../../../utils/classNames';\nimport type { TableRowData } from '../../Table.types';\nimport TableHeaderCellContent from './TableHeaderCellContent';\nimport TableHeaderCellResizeHandle from './TableHeaderCellResizeHandle';\nimport { resolveAriaSort } from './resolveAriaSort';\nimport { resolveHeaderCellClassName } from './resolveHeaderCellClassName';\nimport { resolveHeaderCellStyle } from './resolveHeaderCellStyle';\nimport type { SharedHeaderCellProps } from './TableHeader.types';\nimport { resolveAriaColIndex, resolveAriaSpan } from '../../shared/resolveTableAria';\n\nconst TableStaticHeaderCell = (props: SharedHeaderCellProps<TableRowData>) => {\n const {\n column,\n header,\n hideWhileDragging,\n htmlAttributes,\n isResizable,\n showSelectionColumn,\n stickyLeftColumnCount,\n stickyRightColumnCount,\n } = props;\n\n const stickyLeftColumns = stickyLeftColumnCount ?? 0;\n const stickyRightColumns = stickyRightColumnCount ?? 0;\n\n return (\n <div\n {...htmlAttributes}\n className={classNames(\n resolveHeaderCellClassName(column, header, {\n isResizable,\n isStickyLeftColumn: stickyLeftColumns > 0 && column.columnStart <= stickyLeftColumns,\n isStickyRightColumn:\n stickyRightColumns > 0 &&\n column.columnStart + column.colSpan - 1 > header.totalColumnCount - stickyRightColumns,\n }),\n hideWhileDragging && 'table-head-cell-drag-placeholder'\n )}\n data-column={column.columnKey ?? String(column.key)}\n role='columnheader'\n aria-colindex={resolveAriaColIndex(column.columnStart, showSelectionColumn)}\n aria-colspan={resolveAriaSpan(column.colSpan)}\n aria-rowindex={column.rowStart}\n aria-rowspan={resolveAriaSpan(column.rowSpan)}\n aria-sort={resolveAriaSort(column)}\n style={resolveHeaderCellStyle(column, showSelectionColumn)}\n >\n <TableHeaderCellContent {...props} />\n <TableHeaderCellResizeHandle {...props} />\n </div>\n );\n};\n\nexport default TableStaticHeaderCell;\n"],"names":["TableStaticHeaderCell","props","column","header","hideWhileDragging","htmlAttributes","isResizable","showSelectionColumn","stickyLeftColumnCount","stickyRightColumnCount","stickyLeftColumns","stickyRightColumns","jsxs","classNames","resolveHeaderCellClassName","resolveAriaColIndex","resolveAriaSpan","resolveAriaSort","resolveHeaderCellStyle","jsx","TableHeaderCellContent","TableHeaderCellResizeHandle"],"mappings":";;;;;;;;AAUA,MAAMA,IAAwB,CAACC,MAA+C;AAC1E,QAAM;AAAA,IACF,QAAAC;AAAA,IACA,QAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,aAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,uBAAAC;AAAA,IACA,wBAAAC;AAAA,EAAA,IACAR,GAEES,IAAoBF,KAAyB,GAC7CG,IAAqBF,KAA0B;AAErD,SACI,gBAAAG;AAAA,IAAC;AAAA,IAAA;AAAA,MACI,GAAGP;AAAA,MACJ,WAAWQ;AAAA,QACPC,EAA2BZ,GAAQC,GAAQ;AAAA,UACvC,aAAAG;AAAA,UACA,oBAAoBI,IAAoB,KAAKR,EAAO,eAAeQ;AAAA,UACnE,qBACIC,IAAqB,KACrBT,EAAO,cAAcA,EAAO,UAAU,IAAIC,EAAO,mBAAmBQ;AAAA,QAAA,CAC3E;AAAA,QACDP,KAAqB;AAAA,MAAA;AAAA,MAEzB,eAAaF,EAAO,aAAa,OAAOA,EAAO,GAAG;AAAA,MAClD,MAAK;AAAA,MACL,iBAAea,EAAoBb,EAAO,aAAaK,CAAmB;AAAA,MAC1E,gBAAcS,EAAgBd,EAAO,OAAO;AAAA,MAC5C,iBAAeA,EAAO;AAAA,MACtB,gBAAcc,EAAgBd,EAAO,OAAO;AAAA,MAC5C,aAAWe,EAAgBf,CAAM;AAAA,MACjC,OAAOgB,EAAuBhB,GAAQK,CAAmB;AAAA,MAEzD,UAAA;AAAA,QAAA,gBAAAY,EAACC,GAAA,EAAwB,GAAGnB,GAAO;AAAA,QACnC,gBAAAkB,EAACE,GAAA,EAA6B,GAAGpB,EAAA,CAAO;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGpD;"}
|