@caspeco/casper-ui-library 7.7.5 → 7.9.0

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.
@@ -11,8 +11,9 @@ type TableCellProps<TData extends TableData> = {
11
11
  localeString: Locales;
12
12
  actionMenu?: ReactNode;
13
13
  canSelectRows?: boolean;
14
+ isCheckboxDisabled?: boolean;
14
15
  };
15
- declare const TableCellComponent: <TData extends TableData>({ cell, row, rowIsExpanded, visibleCells, breakingContentState, localeString, actionMenu, canSelectRows, }: TableCellProps<TData>) => import("react/jsx-runtime").JSX.Element;
16
+ declare const TableCellComponent: <TData extends TableData>({ cell, row, rowIsExpanded, visibleCells, breakingContentState, localeString, actionMenu, canSelectRows, isCheckboxDisabled, }: TableCellProps<TData>) => import("react/jsx-runtime").JSX.Element;
16
17
  export declare const TableCell: typeof TableCellComponent;
17
18
  export {};
18
19
  //# sourceMappingURL=table-cell.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"table-cell.d.ts","sourceRoot":"","sources":["../../../lib/components/table/table-cell.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAc,KAAK,IAAI,EAAE,KAAK,GAAG,EAAE,MAAM,uBAAuB,CAAC;AACxE,OAAO,EAAkD,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAMvF,OAAO,EAAgB,KAAK,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnD,KAAK,cAAc,CAAC,KAAK,SAAS,SAAS,IAAI;IAC9C,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;IACrC,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC;IAC/C,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1B,aAAa,EAAE,OAAO,CAAC;IACvB,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9C,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,QAAA,MAAM,kBAAkB,GAAI,KAAK,SAAS,SAAS,EAAE,4GASlD,cAAc,CAAC,KAAK,CAAC,4CA2KvB,CAAC;AAEF,eAAO,MAAM,SAAS,EAA+B,OAAO,kBAAkB,CAAC"}
1
+ {"version":3,"file":"table-cell.d.ts","sourceRoot":"","sources":["../../../lib/components/table/table-cell.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAc,KAAK,IAAI,EAAE,KAAK,GAAG,EAAE,MAAM,uBAAuB,CAAC;AACxE,OAAO,EAAkD,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAMvF,OAAO,EAAgB,KAAK,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnD,KAAK,cAAc,CAAC,KAAK,SAAS,SAAS,IAAI;IAC9C,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;IACrC,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC;IAC/C,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1B,aAAa,EAAE,OAAO,CAAC;IACvB,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9C,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF,QAAA,MAAM,kBAAkB,GAAI,KAAK,SAAS,SAAS,EAAE,gIAUlD,cAAc,CAAC,KAAK,CAAC,4CAsLvB,CAAC;AAEF,eAAO,MAAM,SAAS,EAA+B,OAAO,kBAAkB,CAAC"}
@@ -1,93 +1,98 @@
1
- import { jsx as n, jsxs as I, Fragment as F } from "react/jsx-runtime";
2
- import { Divider as z, Td as V, Flex as N, Box as h } from "@chakra-ui/react";
3
- import { flexRender as j } from "../../node_modules/@tanstack/react-table/build/lib/index.js";
4
- import { memo as K, useMemo as f, useCallback as k } from "react";
5
- import { useTableContext as _ } from "./table-context.js";
6
- import { TableRowExpandToggleButton as L } from "./table-row-expand-toggle-button.js";
7
- import { translations as W } from "./translations.js";
8
- import { Menu as q } from "../menu/menu.js";
9
- import { MenuIconButton as G } from "../menu/menu-icon-button.js";
10
- import { Icons as H } from "../icon/types.js";
11
- import { Checkbox as J } from "../checkbox/checkbox.js";
12
- import { ThemeColorVariable as O, ThemeSpaceVariable as Q } from "../../theme/theme-types.js";
13
- const U = ({
14
- cell: r,
1
+ import { jsx as n, jsxs as k, Fragment as z } from "react/jsx-runtime";
2
+ import { Divider as V, Td as N, Flex as j, Box as h } from "@chakra-ui/react";
3
+ import { flexRender as K } from "../../node_modules/@tanstack/react-table/build/lib/index.js";
4
+ import { memo as _, useMemo as f, useCallback as I } from "react";
5
+ import { useTableContext as L } from "./table-context.js";
6
+ import { TableRowExpandToggleButton as W } from "./table-row-expand-toggle-button.js";
7
+ import { translations as q } from "./translations.js";
8
+ import { Menu as G } from "../menu/menu.js";
9
+ import { MenuIconButton as H } from "../menu/menu-icon-button.js";
10
+ import { Icons as J } from "../icon/types.js";
11
+ import { Checkbox as O } from "../checkbox/checkbox.js";
12
+ import { ThemeColorVariable as Q, ThemeSpaceVariable as U } from "../../theme/theme-types.js";
13
+ const X = ({
14
+ cell: a,
15
15
  row: t,
16
- rowIsExpanded: T,
17
- visibleCells: D,
16
+ rowIsExpanded: D,
17
+ visibleCells: T,
18
18
  breakingContentState: b,
19
19
  localeString: x,
20
20
  actionMenu: d,
21
- canSelectRows: l
21
+ canSelectRows: c,
22
+ isCheckboxDisabled: S
22
23
  }) => {
23
- const a = _(), { column: i } = r, R = W[x], $ = f(() => {
24
+ const s = L(), { column: i } = a, $ = q[x], R = f(() => {
24
25
  const e = {
25
26
  width: "100%"
26
27
  };
27
28
  return b[i.id] || (e.overflow = "hidden", e.whiteSpace = "nowrap"), e;
28
- }, [b, i.id]), C = f(() => i.getIndex() === 0, [i]), y = t.getCanExpand(), u = D[0]?.id === r.id, v = y && u, g = d || C && !!a.getRowActions || l, S = f(() => {
29
+ }, [b, i.id]), C = f(() => i.getIndex() === 0, [i]), y = t.getCanExpand(), u = T[0]?.id === a.id, v = y && u, g = d || C && !!s.getRowActions || c, B = f(() => {
29
30
  const e = [];
30
31
  for (let o = 0; o < t.depth; o += 1) {
31
- let s = `${o * 2 + 0.7}rem`;
32
- g && (s = `calc(${s} + ${d && l ? 48 : 24}px)`), e.push(
32
+ let l = `${o * 2 + 0.7}rem`;
33
+ g && (l = `calc(${l} + ${d && c ? 48 : 24}px)`), e.push(
33
34
  /* @__PURE__ */ n(
34
- z,
35
+ V,
35
36
  {
36
37
  orientation: "vertical",
37
38
  position: "absolute",
38
39
  top: "0",
39
- left: s
40
+ left: l
40
41
  },
41
42
  `nestedTableDivider${o}`
42
43
  )
43
44
  );
44
45
  }
45
46
  return e;
46
- }, [d, l, t.depth, g]), B = k(() => {
47
+ }, [d, c, t.depth, g]), E = I(() => {
47
48
  const e = i.getIsPinned();
48
49
  return {
49
50
  position: e ? "sticky" : "relative",
50
51
  left: e ? `${i.getStart("left")}px` : void 0,
51
- backgroundColor: e ? O.Background : void 0,
52
+ backgroundColor: e ? Q.Background : void 0,
52
53
  zIndex: e ? 1 : void 0,
53
54
  width: i.getSize(),
54
55
  maxWidth: i.getSize()
55
56
  };
56
57
  }, [i]);
57
- function E() {
58
- const e = t.depth && u || v ? `${t.depth * 2}rem` : Q.Small;
58
+ function A() {
59
+ const e = t.depth && u || v ? `${t.depth * 2}rem` : U.Small;
59
60
  if (!g)
60
61
  return e;
61
- const o = d && l && t.depth === 0 ? 48 : 24;
62
+ const o = d && c && t.depth === 0 ? 48 : 24;
62
63
  return `calc(${e} + ${o}px)`;
63
64
  }
64
- const w = k(
65
+ const F = I(
65
66
  (e) => {
66
- const o = e.target.checked, s = (c) => {
67
- const m = [c.id];
68
- return c.subRows?.forEach((p) => m.push(...s(p))), m;
67
+ const o = e.target.checked, l = (r) => {
68
+ if (s.disableSelectionCheckbox?.(r))
69
+ return [];
70
+ const m = [r.id];
71
+ return r.subRows?.forEach((p) => {
72
+ m.push(...l(p));
73
+ }), m;
69
74
  };
70
- a.setSelectedRowIds((c) => {
71
- const m = s(t), p = new Set(c);
75
+ s.setSelectedRowIds((r) => {
76
+ const m = l(t), p = new Set(r);
72
77
  return m.forEach((P) => {
73
78
  o ? p.add(P) : p.delete(P);
74
79
  }), Array.from(p);
75
80
  });
76
81
  },
77
- [t, a]
78
- ), A = f(() => a.selectedRowIds?.includes(t.id) ?? !1, [t.id, a.selectedRowIds]);
82
+ [t, s]
83
+ ), w = f(() => s.selectedRowIds?.includes(t.id) ?? !1, [t.id, s.selectedRowIds]);
79
84
  return /* @__PURE__ */ n(
80
- V,
85
+ N,
81
86
  {
82
- id: r.id,
87
+ id: a.id,
83
88
  isNumeric: i.columnDef.meta?.isNumeric,
84
89
  style: {
85
- ...B(),
90
+ ...E(),
86
91
  borderBottom: 0,
87
- paddingLeft: E()
92
+ paddingLeft: A()
88
93
  },
89
- children: /* @__PURE__ */ I(N, { w: "100%", align: "center", children: [
90
- d && /* @__PURE__ */ n(q, { children: ({ isOpen: e }) => /* @__PURE__ */ I(
94
+ children: /* @__PURE__ */ k(j, { w: "100%", align: "center", children: [
95
+ d && /* @__PURE__ */ n(G, { children: ({ isOpen: e }) => /* @__PURE__ */ k(
91
96
  h,
92
97
  {
93
98
  display: "contents",
@@ -105,12 +110,12 @@ const U = ({
105
110
  _focusVisible: { opacity: 1 },
106
111
  sx: { "&:has(:focus-visible)": { opacity: 1 } },
107
112
  children: /* @__PURE__ */ n(
108
- G,
113
+ H,
109
114
  {
110
- icon: H.MoreVertical,
115
+ icon: J.MoreVertical,
111
116
  variant: "ghost",
112
117
  size: "xs",
113
- "aria-label": R.moreActions,
118
+ "aria-label": $.moreActions,
114
119
  borderRadius: "0"
115
120
  }
116
121
  )
@@ -120,23 +125,30 @@ const U = ({
120
125
  ]
121
126
  }
122
127
  ) }),
123
- l && /* @__PURE__ */ n(h, { display: "contents", onClick: (e) => e.stopPropagation(), onKeyDown: (e) => e.stopPropagation(), children: /* @__PURE__ */ n(h, { position: "absolute", left: d ? "24px" : "0", children: /* @__PURE__ */ n(J, { isChecked: A, onChange: w }) }) }),
128
+ c && /* @__PURE__ */ n(h, { display: "contents", onClick: (e) => e.stopPropagation(), onKeyDown: (e) => e.stopPropagation(), children: /* @__PURE__ */ n(h, { position: "absolute", left: d ? "24px" : "0", children: /* @__PURE__ */ n(
129
+ O,
130
+ {
131
+ isChecked: w,
132
+ onChange: F,
133
+ isDisabled: S
134
+ }
135
+ ) }) }),
124
136
  v || t.depth > 0 && u ? /* @__PURE__ */ n(
125
- L,
137
+ W,
126
138
  {
127
139
  row: t,
128
140
  localeString: x,
129
141
  hidden: !y,
130
- rowIsExpanded: T
142
+ rowIsExpanded: D
131
143
  }
132
- ) : /* @__PURE__ */ n(F, {}),
133
- C && S,
134
- /* @__PURE__ */ n("div", { style: $, children: j(i.columnDef.cell, r.getContext()) })
144
+ ) : /* @__PURE__ */ n(z, {}),
145
+ C && B,
146
+ /* @__PURE__ */ n("div", { style: R, children: K(i.columnDef.cell, a.getContext()) })
135
147
  ] })
136
148
  },
137
- r.id
149
+ a.id
138
150
  );
139
- }, le = K(U);
151
+ }, ae = _(X);
140
152
  export {
141
- le as TableCell
153
+ ae as TableCell
142
154
  };
@@ -1,5 +1,22 @@
1
1
  import { ThemeStyleProps } from '../../theme/index.js';
2
2
  import { TableData, TableRow as TableRowType } from './types.js';
3
+ interface VirtualizationOptions {
4
+ /**
5
+ * Estimated row height in pixels for virtualization calculations.
6
+ * @default 40
7
+ */
8
+ estimateRowHeight?: number;
9
+ /**
10
+ * Number of items to render outside the visible area for smoother scrolling.
11
+ * @default 5
12
+ */
13
+ overscan?: number;
14
+ /**
15
+ * Height of the scroll container. Can be a number (pixels) or string (e.g., "600px", "100vh").
16
+ * @default "600px"
17
+ */
18
+ height?: number | string;
19
+ }
3
20
  export interface TableContentProps<TData extends TableData = TableData> {
4
21
  /**
5
22
  * Returns the data of clicked row. Not applicable to header row.
@@ -22,8 +39,12 @@ export interface TableContentProps<TData extends TableData = TableData> {
22
39
  * When true, makes table headers (th) sticky
23
40
  */
24
41
  stickyHeaders?: boolean;
42
+ /**
43
+ * Enables virtualization for the table rows to improve performance with large datasets.
44
+ */
45
+ virtualization?: VirtualizationOptions;
25
46
  }
26
- declare const TableContentInner: <TData extends TableData>({ onClickRow, onRowClickIndication, hideTableHeaderDropdown, showRowHoverStyle, stickyHeaders, ...props }: TableContentProps<TData> & ThemeStyleProps) => import("react/jsx-runtime").JSX.Element;
47
+ declare const TableContentInner: <TData extends TableData>({ onClickRow, onRowClickIndication, hideTableHeaderDropdown, showRowHoverStyle, stickyHeaders, virtualization, ...props }: TableContentProps<TData> & ThemeStyleProps) => import("react/jsx-runtime").JSX.Element;
27
48
  export declare const TableContent: typeof TableContentInner;
28
49
  export {};
29
50
  //# sourceMappingURL=table-content.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"table-content.d.ts","sourceRoot":"","sources":["../../../lib/components/table/table-content.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAM/C,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,SAAS,CAAC;AAEnE,MAAM,WAAW,iBAAiB,CAAC,KAAK,SAAS,SAAS,GAAG,SAAS;IACrE;;OAEG;IACH,UAAU,CAAC,EAAE,CACZ,GAAG,EAAE,YAAY,CAAC,KAAK,CAAC,EACxB,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,mBAAmB,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAAC,KACnF,IAAI,CAAC;IAEV;;OAEG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B;;OAEG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAElC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,QAAA,MAAM,iBAAiB,GAAI,KAAK,SAAS,SAAS,EAAE,2GAOjD,iBAAiB,CAAC,KAAK,CAAC,GAAG,eAAe,4CAuD5C,CAAC;AAEF,eAAO,MAAM,YAAY,EAA8B,OAAO,iBAAiB,CAAC"}
1
+ {"version":3,"file":"table-content.d.ts","sourceRoot":"","sources":["../../../lib/components/table/table-content.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAO/C,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,SAAS,CAAC;AAEnE,UAAU,qBAAqB;IAC9B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,iBAAiB,CAAC,KAAK,SAAS,SAAS,GAAG,SAAS;IACrE;;OAEG;IACH,UAAU,CAAC,EAAE,CACZ,GAAG,EAAE,YAAY,CAAC,KAAK,CAAC,EACxB,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,mBAAmB,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAAC,KACnF,IAAI,CAAC;IAEV;;OAEG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B;;OAEG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAElC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;OAEG;IACH,cAAc,CAAC,EAAE,qBAAqB,CAAC;CACvC;AAED,QAAA,MAAM,iBAAiB,GAAI,KAAK,SAAS,SAAS,EAAE,2HAQjD,iBAAiB,CAAC,KAAK,CAAC,GAAG,eAAe,4CAqI5C,CAAC;AAEF,eAAO,MAAM,YAAY,EAA8B,OAAO,iBAAiB,CAAC"}
@@ -1,58 +1,93 @@
1
- import { jsxs as c, jsx as o } from "react/jsx-runtime";
2
- import { Table as u, Thead as T, Tbody as f } from "@chakra-ui/react";
3
- import { memo as g, useMemo as r } from "react";
4
- import { useTableContext as x } from "./table-context.js";
5
- import { TableHeaderRow as C } from "./table-header-row.js";
6
- import { TableRow as y } from "./table-row.js";
7
- const R = ({
8
- onClickRow: i,
9
- onRowClickIndication: l,
10
- hideTableHeaderDropdown: s,
11
- showRowHoverStyle: a = !0,
12
- stickyHeaders: n,
13
- ...m
1
+ import { jsxs as y, jsx as e } from "react/jsx-runtime";
2
+ import { Table as M, Thead as $, Box as D, Tbody as S } from "@chakra-ui/react";
3
+ import { useVirtualizer as E } from "../../node_modules/@tanstack/react-virtual/dist/esm/index.js";
4
+ import { memo as L, useRef as O, useMemo as c } from "react";
5
+ import { useTableContext as Y } from "./table-context.js";
6
+ import { TableHeaderRow as k } from "./table-header-row.js";
7
+ import { TableRow as v } from "./table-row.js";
8
+ const q = ({
9
+ onClickRow: d,
10
+ onRowClickIndication: m,
11
+ hideTableHeaderDropdown: R,
12
+ showRowHoverStyle: g = !0,
13
+ stickyHeaders: u,
14
+ virtualization: s,
15
+ ...w
14
16
  }) => {
15
- const e = x(), b = r(() => n ? {
17
+ const t = Y(), b = O(null), z = c(() => u ? {
16
18
  position: "sticky",
17
19
  top: 0,
18
20
  zIndex: 1
19
- } : {}, [n]), d = r(
20
- () => e.table.getRowModel().rows,
21
+ } : {}, [u]), a = c(
22
+ () => t.table.getRowModel().rows,
21
23
  // The dependencies are needed to ensure that the rows are recalculated when any of these change
22
24
  // eslint-disable-next-line react-hooks/exhaustive-deps
23
25
  [
24
- e.expanded,
25
- e.breakingContentState,
26
- e.columnVisibility,
27
- e.sorting,
28
- e.data
26
+ t.expanded,
27
+ t.breakingContentState,
28
+ t.columnVisibility,
29
+ t.sorting,
30
+ t.data
29
31
  ]
30
- );
31
- return /* @__PURE__ */ c(u, { ...m, id: e.id, children: [
32
- /* @__PURE__ */ o(T, { style: b, children: e.table.getHeaderGroups().map((t) => /* @__PURE__ */ o(
33
- C,
32
+ ), h = a.length, r = !!s, p = s?.estimateRowHeight ?? 40, f = s?.overscan ?? 5, B = s?.height ?? "600px", H = c(
33
+ () => ({
34
+ count: h,
35
+ getScrollElement: () => b.current,
36
+ estimateSize: () => p,
37
+ overscan: f,
38
+ enabled: r
39
+ }),
40
+ [r, p, f, h]
41
+ ), x = E(H), n = r ? x.getVirtualItems() : [], I = () => {
42
+ if (!r)
43
+ return /* @__PURE__ */ e(S, { children: a.map((l) => {
44
+ const o = l.getVisibleCells();
45
+ return /* @__PURE__ */ e(
46
+ v,
47
+ {
48
+ row: l,
49
+ visibleCells: o,
50
+ onClickRow: d,
51
+ onRowClickIndication: m,
52
+ showRowHoverStyle: g
53
+ },
54
+ l.id
55
+ );
56
+ }) });
57
+ const i = n.length > 0 ? n[0]?.start ?? 0 : 0, T = n.length > 0 ? x.getTotalSize() - (n[n.length - 1]?.end ?? 0) : 0, V = a[0]?.getVisibleCells().length ?? t.table.getVisibleLeafColumns().length;
58
+ return /* @__PURE__ */ y(S, { children: [
59
+ i > 0 && /* @__PURE__ */ e("tr", { style: { height: `${i}px` }, "aria-hidden": "true", children: /* @__PURE__ */ e("td", { colSpan: V }) }),
60
+ n.map((l) => {
61
+ const o = a[l.index];
62
+ if (!o) return null;
63
+ const j = o.getVisibleCells();
64
+ return /* @__PURE__ */ e(
65
+ v,
66
+ {
67
+ row: o,
68
+ visibleCells: j,
69
+ onClickRow: d,
70
+ onRowClickIndication: m,
71
+ showRowHoverStyle: g
72
+ },
73
+ o.id
74
+ );
75
+ }),
76
+ T > 0 && /* @__PURE__ */ e("tr", { style: { height: `${T}px` }, "aria-hidden": "true", children: /* @__PURE__ */ e("td", { colSpan: V }) })
77
+ ] });
78
+ }, C = /* @__PURE__ */ y(M, { ...w, id: t.id, children: [
79
+ /* @__PURE__ */ e($, { style: z, children: t.table.getHeaderGroups().map((i) => /* @__PURE__ */ e(
80
+ k,
34
81
  {
35
- headerGroup: t,
36
- hideTableHeaderDropdown: s
82
+ headerGroup: i,
83
+ hideTableHeaderDropdown: R
37
84
  },
38
- t.id
85
+ i.id
39
86
  )) }),
40
- /* @__PURE__ */ o(f, { children: d.map((t) => {
41
- const p = t.getVisibleCells();
42
- return /* @__PURE__ */ o(
43
- y,
44
- {
45
- row: t,
46
- visibleCells: p,
47
- onClickRow: i,
48
- onRowClickIndication: l,
49
- showRowHoverStyle: a
50
- },
51
- t.id
52
- );
53
- }) })
87
+ I()
54
88
  ] });
55
- }, I = g(R);
89
+ return r ? /* @__PURE__ */ e(D, { ref: b, overflowY: "auto", height: B, position: "relative", children: C }) : C;
90
+ }, Q = L(q);
56
91
  export {
57
- I as TableContent
92
+ Q as TableContent
58
93
  };
@@ -30,6 +30,7 @@ interface TableProviderInterface<TData extends TableData> extends PropsWithChild
30
30
  initialSelectionState?: string[];
31
31
  selectionState?: string[];
32
32
  selectionActions?: SelectionAction[];
33
+ disableSelectionCheckbox?: (row: Row<TableRow<TData>>) => boolean;
33
34
  }
34
35
  export interface TableContextInterface<TData extends TableData = TableData> {
35
36
  data: TableRow<TData>[];
@@ -63,7 +64,9 @@ export interface TableContextInterface<TData extends TableData = TableData> {
63
64
  setSelectedRowIds: React.Dispatch<React.SetStateAction<string[]>>;
64
65
  selectedRowIds?: string[] | undefined;
65
66
  selectionActions?: SelectionAction[];
67
+ disableSelectionCheckbox?: (row: Row<TableRow<TData>>) => boolean;
68
+ getSelectableRowIds: () => string[];
66
69
  }
67
- export declare const TableProvider: <TData extends TableData>({ data, columns, children, expandedState, localeString, initialExpandedState, initialBreakingContentState, initialColumnVisibilityState, columnVisibilityState, onColumnVisibilityChange, onExpandedChange, getRowId, getRowActions, onBreakingContentChange, id, customRowIndication, onSortingChange, initialSortingState, sortingState, selectionState, initialSelectionState, onSelectionChange, selectionActions, }: TableProviderInterface<TData>) => import("react/jsx-runtime").JSX.Element;
70
+ export declare const TableProvider: <TData extends TableData>({ data, columns, children, expandedState, localeString, initialExpandedState, initialBreakingContentState, initialColumnVisibilityState, columnVisibilityState, onColumnVisibilityChange, onExpandedChange, getRowId, getRowActions, onBreakingContentChange, id, customRowIndication, onSortingChange, initialSortingState, sortingState, selectionState, initialSelectionState, onSelectionChange, selectionActions, disableSelectionCheckbox, }: TableProviderInterface<TData>) => import("react/jsx-runtime").JSX.Element;
68
71
  export {};
69
72
  //# sourceMappingURL=table-context-provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"table-context-provider.d.ts","sourceRoot":"","sources":["../../../lib/components/table/table-context-provider.tsx"],"names":[],"mappings":"AACA,OAAO,EACN,KAAK,SAAS,EACd,KAAK,aAAa,EAKlB,KAAK,GAAG,EACR,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,KAAK,EAGV,KAAK,eAAe,EACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,KAAK,iBAAiB,EAAoC,MAAM,OAAO,CAAC;AACjF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAExC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEpE,MAAM,WAAW,kBAAkB;IAClC,wBAAwB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACrD,iBAAiB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;CACjD;AAED,UAAU,sBAAsB,CAAC,KAAK,SAAS,SAAS,CAAE,SAAQ,iBAAiB;IAClF,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;IACxB,OAAO,EAAE,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;IACtC,YAAY,EAAE,OAAO,CAAC;IACtB,2BAA2B,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtD,4BAA4B,CAAC,EAAE,eAAe,CAAC;IAC/C,qBAAqB,CAAC,EAAE,eAAe,CAAC;IACxC,wBAAwB,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;IAC5D,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAClD,QAAQ,CAAC,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,MAAM,CAAC;IAClG,aAAa,CAAC,EAAE,CACf,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAC,KAChB,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,QAAQ,CAAC,EAAE,OAAO,QAAQ,CAAC,GAAG,IAAI,GAAG,SAAS,GAAG,KAAK,CAAC;IAC3G,uBAAuB,CAAC,EAAE,CAAC,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IAClF,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,oBAAoB,CAAC,EAAE,aAAa,CAAC;IACrC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,mBAAmB,CAAC,EAAE,iBAAiB,CAAC;IACxC,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IAChD,mBAAmB,CAAC,EAAE,YAAY,CAAC;IACnC,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,iBAAiB,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACvD,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IACjC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAC;CACrC;AAED,MAAM,WAAW,qBAAqB,CAAC,KAAK,SAAS,SAAS,GAAG,SAAS;IACzE,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;IACxB,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9B,oBAAoB,CAAC,EAAE,aAAa,CAAC;IACrC,2BAA2B,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtD,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9C,uBAAuB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACvF,YAAY,EAAE,OAAO,CAAC;IACtB,4BAA4B,CAAC,EAAE,eAAe,CAAC;IAC/C,qBAAqB,CAAC,EAAE,eAAe,CAAC;IACxC,wBAAwB,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;IAC5D,uBAAuB,CAAC,EAAE,CAAC,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IAClF,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAClD,QAAQ,CAAC,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,MAAM,CAAC;IAClG,aAAa,CAAC,EAAE,CACf,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAC,KAChB,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,QAAQ,CAAC,EAAE,OAAO,QAAQ,CAAC,GAAG,IAAI,GAAG,SAAS,GAAG,KAAK,CAAC;IAC3G,QAAQ,EAAE,aAAa,CAAC;IACxB,OAAO,EAAE,YAAY,CAAC;IACtB,UAAU,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IAC1C,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC;IACjE,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,eAAe,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,CAAC;IACzE,YAAY,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC;IAC7C,gBAAgB,EAAE,eAAe,CAAC;IAClC,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IAChD,mBAAmB,CAAC,EAAE,YAAY,CAAC;IACnC,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,mBAAmB,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,MAAM,IAAI,CAAC;IACjE,qBAAqB,EAAE,MAAM,kBAAkB,GAAG,IAAI,CAAC;IACvD,aAAa,EAAE,OAAO,CAAC;IACvB,iBAAiB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAClE,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACtC,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAC;CACrC;AAED,eAAO,MAAM,aAAa,GAAI,KAAK,SAAS,SAAS,EAAE,0ZAwBpD,sBAAsB,CAAC,KAAK,CAAC,4CAkJ/B,CAAC"}
1
+ {"version":3,"file":"table-context-provider.d.ts","sourceRoot":"","sources":["../../../lib/components/table/table-context-provider.tsx"],"names":[],"mappings":"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"}