@rttui/skin-anocca 1.0.30 → 1.0.32

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.
@@ -47,7 +47,6 @@ __export(exports_anocca_skin, {
47
47
  module.exports = __toCommonJS(exports_anocca_skin);
48
48
  var import_material = require("@mui/material");
49
49
  var import_core = require("@rttui/core");
50
- var import_core2 = require("@rttui/core");
51
50
  var import_react = __toESM(require("react"));
52
51
  var import_table_header_row = require("./table_header_row.cjs");
53
52
  var jsx_runtime = require("react/jsx-runtime");
@@ -55,8 +54,18 @@ var AnoccaSkin = {
55
54
  rowHeight: 32,
56
55
  headerRowHeight: 32,
57
56
  footerRowHeight: 32,
58
- OverlayContainer: ({ children }) => {
59
- const { width, height } = import_core.useTableContext();
57
+ OverlayContainer: import_react.default.memo(function OverlayContainer({ children }) {
58
+ const { width, height } = import_core.useTableProps({
59
+ selector: (props) => props.uiProps,
60
+ callback: ({ width: width2, height: height2 }) => {
61
+ return {
62
+ width: width2,
63
+ height: height2
64
+ };
65
+ },
66
+ dependencies: [{ type: "ui_props" }],
67
+ areCallbackOutputEqual: import_core.shallowEqual
68
+ });
60
69
  const cssVars = import_core.useTableCssVars();
61
70
  return /* @__PURE__ */ jsx_runtime.jsx("div", {
62
71
  className: "rttui-overlay-container",
@@ -68,7 +77,7 @@ var AnoccaSkin = {
68
77
  },
69
78
  children
70
79
  });
71
- },
80
+ }),
72
81
  OuterContainer: ({ children }) => {
73
82
  const { tableContainerRef } = import_core.useTableContext();
74
83
  return /* @__PURE__ */ jsx_runtime.jsx(import_material.Paper, {
@@ -176,7 +185,7 @@ var AnoccaSkin = {
176
185
  children
177
186
  });
178
187
  },
179
- PinnedCols: ({ children, position }) => {
188
+ PinnedCols: import_react.default.memo(({ children, position }) => {
180
189
  const style = {
181
190
  position: "sticky",
182
191
  zIndex: 3,
@@ -193,14 +202,18 @@ var AnoccaSkin = {
193
202
  sx: style,
194
203
  children
195
204
  });
196
- },
197
- TableRowWrapper: import_react.default.forwardRef(({ children }, ref) => {
205
+ }),
206
+ TableRowWrapper: import_react.default.memo(import_react.default.forwardRef(({ children }, ref) => {
198
207
  const theme = import_material.useTheme();
199
- const { flatIndex } = import_core.useRowProps((row) => {
200
- return { flatIndex: row.flatIndex };
208
+ const { relativeIndex, rowIndex } = import_core.useRowProps({
209
+ callback: (row) => {
210
+ return { relativeIndex: row.relativeIndex, rowIndex: row.rowIndex };
211
+ },
212
+ areCallbackOutputEqual: import_core.shallowEqual,
213
+ dependencies: [{ type: "tanstack_table" }]
201
214
  });
202
215
  const backgroundColor = (theme2) => {
203
- const baseColor = flatIndex % 2 === 0 ? theme2.palette.background.paper : theme2.palette.mode === "dark" ? theme2.palette.grey[900] : theme2.palette.grey[100];
216
+ const baseColor = relativeIndex % 2 === 0 ? theme2.palette.background.paper : theme2.palette.mode === "dark" ? theme2.palette.grey[900] : theme2.palette.grey[100];
204
217
  return baseColor;
205
218
  };
206
219
  const vars = {
@@ -215,12 +228,12 @@ var AnoccaSkin = {
215
228
  justifyContent: "flex-start",
216
229
  alignItems: "stretch"
217
230
  },
218
- "data-index": flatIndex,
231
+ "data-index": rowIndex,
219
232
  ref,
220
233
  children
221
234
  });
222
- }),
223
- TableRow: ({ children }) => {
235
+ })),
236
+ TableRow: import_react.default.memo(({ children }) => {
224
237
  return /* @__PURE__ */ jsx_runtime.jsx(import_material.TableRow, {
225
238
  component: "div",
226
239
  className: "table-row",
@@ -240,10 +253,16 @@ var AnoccaSkin = {
240
253
  },
241
254
  children
242
255
  });
243
- },
244
- TableRowExpandedContent: ({ children }) => {
245
- const { leafColLength } = import_core2.useTableProps((table) => {
246
- return { leafColLength: table.getAllLeafColumns().length };
256
+ }),
257
+ TableRowExpandedContent: import_react.default.memo(({ children }) => {
258
+ const { leafColLength } = import_core.useTableProps({
259
+ callback: (table) => {
260
+ return {
261
+ leafColLength: table.tanstackTable.getAllLeafColumns().length
262
+ };
263
+ },
264
+ dependencies: [{ type: "tanstack_table" }],
265
+ areCallbackOutputEqual: import_core.strictEqual
247
266
  });
248
267
  return /* @__PURE__ */ jsx_runtime.jsx(import_material.TableRow, {
249
268
  component: "div",
@@ -261,8 +280,8 @@ var AnoccaSkin = {
261
280
  children
262
281
  })
263
282
  });
264
- },
265
- Cell: import_react.default.memo(import_react.default.forwardRef(({ isMeasuring, children }, ref) => {
283
+ }),
284
+ Cell: import_react.default.memo(import_react.default.forwardRef(function Cell({ isMeasureInstance, children }, ref) {
266
285
  const {
267
286
  isPinned,
268
287
  isLastPinned,
@@ -270,26 +289,26 @@ var AnoccaSkin = {
270
289
  isLastCenter,
271
290
  width,
272
291
  isSomeColumnsPinnedRight
273
- } = import_core.useCellProps((cell, table) => {
274
- const state = cell.vheader.getState();
275
- return {
276
- isPinned: state.isPinned,
277
- isLastPinned: state.isLastPinned,
278
- isLast: state.isLast,
279
- isLastCenter: state.isLastCenter,
280
- width: state.width,
281
- isSomeColumnsPinnedRight: table.getIsSomeColumnsPinned("right")
282
- };
283
- }, {
284
- arePropsEqual: (prev, next) => {
285
- return import_core2.shallowEqual(prev, next, ["content"]);
286
- }
292
+ } = import_core.useCellProps({
293
+ callback: (cell, table) => {
294
+ const state = cell.header.state;
295
+ return {
296
+ isPinned: state.isPinned,
297
+ isLastPinned: state.isLastPinned,
298
+ isLast: state.isLast,
299
+ isLastCenter: state.isLastCenter,
300
+ width: state.width,
301
+ isSomeColumnsPinnedRight: table.tanstackTable.getIsSomeColumnsPinned("right")
302
+ };
303
+ },
304
+ areCallbackOutputEqual: import_core.shallowEqual,
305
+ dependencies: [{ type: "tanstack_table" }]
287
306
  });
288
307
  return /* @__PURE__ */ jsx_runtime.jsx(import_material.TableCell, {
289
308
  className: "td",
290
309
  component: "div",
291
310
  ref,
292
- style: { width: isMeasuring ? "auto" : width },
311
+ style: { width: isMeasureInstance ? "auto" : width },
293
312
  sx: {
294
313
  height: "var(--row-height)",
295
314
  overflow: "hidden",
@@ -322,11 +341,13 @@ var AnoccaSkin = {
322
341
  });
323
342
  })),
324
343
  PinnedColsOverlay: ({ position }) => {
325
- const width = import_core2.useTableProps((table) => {
326
- if (!table.getIsSomeColumnsPinned(position)) {
327
- return;
344
+ const width = import_core.useTableProps({
345
+ callback: (table) => {
346
+ if (!table.tanstackTable.getIsSomeColumnsPinned(position)) {
347
+ return;
348
+ }
349
+ return position === "left" ? table.tanstackTable.getLeftTotalSize() : table.tanstackTable.getRightTotalSize();
328
350
  }
329
- return position === "left" ? table.getLeftTotalSize() : table.getRightTotalSize();
330
351
  });
331
352
  if (width === undefined) {
332
353
  return null;
@@ -351,7 +372,7 @@ var AnoccaSkin = {
351
372
  });
352
373
  }
353
374
  };
354
- var TableHeaderCell = import_react.default.memo(import_react.default.forwardRef(({ isMeasuring, children }, ref) => {
375
+ var TableHeaderCell = import_react.default.memo(import_react.default.forwardRef(({ isMeasureInstance, children }, ref) => {
355
376
  const {
356
377
  isSomeColumnsPinnedRight,
357
378
  headerId,
@@ -360,17 +381,21 @@ var TableHeaderCell = import_react.default.memo(import_react.default.forwardRef(
360
381
  isLast,
361
382
  isLastPinned,
362
383
  isLastCenter
363
- } = import_core.useColProps(({ vheader, table }) => {
364
- const state = vheader.getState();
365
- return {
366
- isSomeColumnsPinnedRight: table.getIsSomeColumnsPinned("right"),
367
- headerId: vheader.id,
368
- isPinned: state.isPinned,
369
- width: state.width,
370
- isLast: state.isLast,
371
- isLastPinned: state.isLastPinned,
372
- isLastCenter: state.isLastCenter
373
- };
384
+ } = import_core.useColProps({
385
+ callback: ({ vheader, selectorValue }) => {
386
+ const state = vheader.state;
387
+ return {
388
+ isSomeColumnsPinnedRight: selectorValue.tanstackTable.getIsSomeColumnsPinned("right"),
389
+ headerId: vheader.header.id,
390
+ isPinned: state.isPinned,
391
+ width: state.width,
392
+ isLast: state.isLast,
393
+ isLastPinned: state.isLastPinned,
394
+ isLastCenter: state.isLastCenter
395
+ };
396
+ },
397
+ areCallbackOutputEqual: import_core.shallowEqual,
398
+ dependencies: [{ type: "tanstack_table" }]
374
399
  });
375
400
  return /* @__PURE__ */ jsx_runtime.jsx(import_material.TableCell, {
376
401
  ref,
@@ -378,7 +403,7 @@ var TableHeaderCell = import_react.default.memo(import_react.default.forwardRef(
378
403
  className: "th",
379
404
  "data-header-id": headerId,
380
405
  "data-is-pinned": isPinned,
381
- style: { width: isMeasuring ? "auto" : width },
406
+ style: { width: isMeasureInstance ? "auto" : width },
382
407
  sx: {
383
408
  transition: "background-color 0.2s ease",
384
409
  whiteSpace: "nowrap",
@@ -405,4 +430,4 @@ var TableHeaderCell = import_react.default.memo(import_react.default.forwardRef(
405
430
  });
406
431
  }));
407
432
 
408
- //# debugId=F8ED3ACAC068742B64756E2164756E21
433
+ //# debugId=BAF6A6599BF2E2EB64756E2164756E21
@@ -2,9 +2,9 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/anocca_skin.tsx"],
4
4
  "sourcesContent": [
5
- "import {\n Box,\n Paper,\n SxProps,\n TableBody,\n TableCell,\n TableFooter,\n TableHead,\n TableRow,\n Theme,\n useTheme,\n} from \"@mui/material\";\nimport {\n Skin,\n useCellProps,\n useColProps,\n useRowProps,\n useTableContext,\n useTableCssVars,\n} from \"@rttui/core\";\nimport { shallowEqual, useTableProps } from \"@rttui/core\";\nimport React, { CSSProperties } from \"react\";\nimport { TableHeaderRow } from \"./table_header_row.cjs\";\n\nconst AnoccaSkin: Skin = {\n rowHeight: 32,\n headerRowHeight: 32,\n footerRowHeight: 32,\n OverlayContainer: ({ children }) => {\n const { width, height } = useTableContext();\n const cssVars = useTableCssVars();\n return (\n <div\n className=\"rttui-overlay-container\"\n style={{\n position: \"relative\",\n width: width + \"px\",\n height: height + \"px\",\n ...cssVars,\n }}\n >\n {children}\n </div>\n );\n },\n OuterContainer: ({ children }) => {\n const { tableContainerRef } = useTableContext();\n\n return (\n <Paper\n ref={tableContainerRef}\n className=\"outer-container\"\n elevation={2}\n sx={{\n overflow: \"auto\",\n width: \"var(--table-container-width)\",\n height: \"var(--table-container-height)\",\n position: \"relative\",\n contain: \"paint\",\n willChange: \"transform\",\n borderRadius: 1,\n }}\n >\n {children}\n </Paper>\n );\n },\n TableScroller: () => {\n return (\n <div\n className=\"table-scroller\"\n style={{\n width: \"var(--table-width)\",\n height:\n \"calc(var(--table-height) + var(--header-height) + var(--footer-height))\",\n position: \"absolute\",\n }}\n ></div>\n );\n },\n TableHeader: ({ children }) => {\n return (\n <TableHead\n component=\"div\"\n className=\"thead\"\n sx={{\n position: \"sticky\",\n top: 0,\n width: \"var(--table-width)\",\n zIndex: 2,\n backgroundColor: (theme) => theme.palette.background.paper,\n boxShadow: (theme) => `0 1px 0 ${theme.palette.divider}`,\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: \"flex-start\",\n alignItems: \"stretch\",\n }}\n >\n {children}\n </TableHead>\n );\n },\n TableFooter: ({ children }) => {\n return (\n <TableFooter\n component=\"div\"\n className=\"table-footer\"\n sx={{\n position: \"sticky\",\n bottom: -1,\n width: \"var(--table-width)\",\n zIndex: 2,\n backgroundColor: (theme) => theme.palette.background.paper,\n boxShadow: (theme) => `0 -1px 0 ${theme.palette.divider}`,\n }}\n >\n {children}\n </TableFooter>\n );\n },\n HeaderRow: TableHeaderRow,\n HeaderCell: React.memo(\n React.forwardRef((props, ref) => {\n return <TableHeaderCell {...props} ref={ref} />;\n }),\n ),\n TableBody: ({ children }) => {\n return (\n <TableBody\n component=\"div\"\n className=\"table-body\"\n sx={{\n position: \"relative\",\n width: \"var(--table-width)\",\n height: \"var(--table-height)\",\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: \"flex-start\",\n alignItems: \"stretch\",\n }}\n >\n {children}\n </TableBody>\n );\n },\n PinnedRows: ({ children, position }) => {\n const style: SxProps<Theme> = {\n position: \"sticky\",\n zIndex: 3,\n };\n if (position === \"top\") {\n style.top = \"var(--header-height)\";\n style.borderBottom = (theme) => `1px solid ${theme.palette.divider}`;\n style.boxShadow =\n \"0 4px 8px -4px rgba(0, 0, 0, 0.15), 0 6px 12px -6px rgba(0, 0, 0, 0.1)\";\n } else if (position === \"bottom\") {\n style.bottom = \"var(--footer-height)\";\n style.borderTop = (theme) => `1px solid ${theme.palette.divider}`;\n style.boxShadow =\n \"0 -4px 8px -4px rgba(0, 0, 0, 0.15), 0 -6px 12px -6px rgba(0, 0, 0, 0.1)\";\n }\n\n const Component = position === \"top\" ? TableHead : TableFooter;\n\n return (\n <Component\n component=\"div\"\n className={`sticky-${position}-rows`}\n sx={style}\n >\n {children}\n </Component>\n );\n },\n PinnedCols: ({ children, position }) => {\n const style: SxProps<Theme> = {\n position: \"sticky\",\n zIndex: 3,\n display: \"flex\",\n };\n\n if (position === \"left\") {\n style.left = 0;\n } else if (position === \"right\") {\n style.right = 0;\n }\n\n return (\n <Box component=\"div\" className={`sticky-${position}-cols`} sx={style}>\n {children}\n </Box>\n );\n },\n\n TableRowWrapper: React.forwardRef(({ children }, ref) => {\n const theme = useTheme();\n const { flatIndex } = useRowProps((row) => {\n return { flatIndex: row.flatIndex };\n });\n const backgroundColor = (theme: Theme) => {\n const baseColor =\n flatIndex % 2 === 0\n ? theme.palette.background.paper\n : theme.palette.mode === \"dark\"\n ? theme.palette.grey[900]\n : theme.palette.grey[100];\n return baseColor;\n };\n\n const vars: Record<string, string> = {\n \"--row-background-color\": backgroundColor(theme),\n };\n\n return (\n <Box\n sx={{\n ...vars,\n width: \"var(--table-width)\",\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: \"flex-start\",\n alignItems: \"stretch\",\n }}\n data-index={flatIndex}\n ref={ref}\n >\n {children}\n </Box>\n );\n }),\n TableRow: ({ children }) => {\n return (\n <TableRow\n component=\"div\"\n className=\"table-row\"\n sx={{\n position: \"relative\",\n width: \"var(--table-width)\",\n display: \"flex\",\n height: \"var(--row-height)\",\n zIndex: 1,\n boxSizing: \"border-box\",\n backgroundColor: \"var(--row-background-color)\",\n \"&:hover\": {\n backgroundColor: (theme) => {\n // Always use solid background colors for all cells on hover\n return theme.palette.mode === \"dark\"\n ? \"#1e1e52\" // Dark blue solid color\n : \"#E3F2FD\"; // Light blue solid color\n },\n },\n }}\n >\n {children}\n </TableRow>\n );\n },\n TableRowExpandedContent: ({ children }) => {\n const { leafColLength } = useTableProps((table) => {\n return { leafColLength: table.getAllLeafColumns().length };\n });\n return (\n <TableRow\n component=\"div\"\n className=\"expanded-row\"\n sx={{\n backgroundColor: (theme) => theme.palette.background.default,\n }}\n >\n <TableCell\n component=\"div\"\n className=\"expanded-cell\"\n colSpan={leafColLength}\n sx={{\n padding: 2,\n }}\n >\n {children}\n </TableCell>\n </TableRow>\n );\n },\n Cell: React.memo(\n React.forwardRef(({ isMeasuring, children }, ref) => {\n const {\n isPinned,\n isLastPinned,\n isLast,\n isLastCenter,\n width,\n isSomeColumnsPinnedRight,\n } = useCellProps(\n (cell, table) => {\n const state = cell.vheader.getState();\n return {\n isPinned: state.isPinned,\n isLastPinned: state.isLastPinned,\n isLast: state.isLast,\n isLastCenter: state.isLastCenter,\n width: state.width,\n isSomeColumnsPinnedRight: table.getIsSomeColumnsPinned(\"right\"),\n };\n },\n {\n arePropsEqual: (prev, next) => {\n return shallowEqual(prev, next, [\"content\"]);\n },\n },\n );\n\n return (\n <TableCell\n className=\"td\"\n component=\"div\"\n ref={ref}\n style={{ width: isMeasuring ? \"auto\" : width }}\n sx={{\n height: \"var(--row-height)\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n zIndex: isPinned ? 5 : 0,\n boxSizing: \"border-box\",\n fontSize: \"0.875rem\",\n color: \"text.primary\",\n alignItems: \"center\",\n gap: \"8px\",\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignContent: \"center\",\n padding: \"6px 12px\",\n backgroundColor: \"var(--row-background-color)\",\n borderBottom: \"none\",\n flexShrink: 0,\n position: \"relative\",\n borderRight:\n ((isPinned === \"start\" && !isLastPinned) || !isPinned) &&\n !isLast &&\n !(isLastCenter && isSomeColumnsPinnedRight)\n ? (theme) => `1px solid ${theme.palette.divider}`\n : undefined,\n borderLeft:\n isPinned === \"end\" && !isLastPinned\n ? (theme) => `1px solid ${theme.palette.divider}`\n : undefined,\n \".table-row:hover &\": {\n backgroundColor: (theme) => {\n // Always use solid background colors for all cells on hover\n return theme.palette.mode === \"dark\"\n ? \"#1e1e52\" // Dark blue solid color\n : \"#E3F2FD\"; // Light blue solid color\n },\n zIndex: isPinned ? 2 : 0,\n },\n }}\n >\n {children}\n </TableCell>\n );\n }),\n ),\n PinnedColsOverlay: ({ position }) => {\n const width = useTableProps((table) => {\n if (!table.getIsSomeColumnsPinned(position)) {\n return undefined;\n }\n return position === \"left\"\n ? table.getLeftTotalSize()\n : table.getRightTotalSize();\n });\n\n if (width === undefined) {\n return null;\n }\n\n const style: CSSProperties = {\n width,\n [position]: 0,\n position: \"sticky\",\n top: 0,\n bottom: 0,\n zIndex: 20,\n pointerEvents: \"none\",\n };\n\n if (position === \"left\") {\n style.boxShadow =\n \"4px 0 8px -4px rgba(0, 0, 0, 0.15), 6px 0 12px -6px rgba(0, 0, 0, 0.1)\";\n } else if (position === \"right\") {\n style.boxShadow =\n \"-4px 0 8px -4px rgba(0, 0, 0, 0.15), -6px 0 12px -6px rgba(0, 0, 0, 0.1)\";\n }\n return <div className={`pinned-${position}-overlay`} style={style} />;\n },\n};\n\nconst TableHeaderCell = React.memo(\n React.forwardRef<\n HTMLDivElement,\n {\n isMeasuring: boolean;\n children: React.ReactNode;\n }\n >(({ isMeasuring, children }, ref) => {\n const {\n isSomeColumnsPinnedRight,\n headerId,\n isPinned,\n width,\n isLast,\n isLastPinned,\n isLastCenter,\n } = useColProps(({ vheader, table }) => {\n const state = vheader.getState();\n return {\n isSomeColumnsPinnedRight: table.getIsSomeColumnsPinned(\"right\"),\n headerId: vheader.id,\n isPinned: state.isPinned,\n width: state.width,\n isLast: state.isLast,\n isLastPinned: state.isLastPinned,\n isLastCenter: state.isLastCenter,\n };\n });\n\n return (\n <TableCell\n ref={ref}\n component=\"div\"\n className=\"th\"\n data-header-id={headerId}\n data-is-pinned={isPinned}\n style={{ width: isMeasuring ? \"auto\" : width }}\n sx={{\n transition: \"background-color 0.2s ease\",\n whiteSpace: \"nowrap\",\n zIndex: isPinned ? 1 : 0,\n display: \"flex\",\n overflow: \"hidden\",\n height: \"var(--header-row-height)\",\n position: \"relative\",\n flexShrink: 0,\n alignItems: \"center\",\n gap: \"8px\",\n justifyContent: \"space-between\",\n padding: \"6px 12px\",\n boxSizing: \"border-box\",\n fontWeight: 600,\n backgroundColor: isPinned\n ? (theme) => theme.palette.background.paper\n : \"transparent\",\n borderRight:\n ((isPinned === \"start\" && !isLastPinned) || !isPinned) &&\n !isLast &&\n !(isLastCenter && isSomeColumnsPinnedRight)\n ? (theme) => `1px solid ${theme.palette.divider}`\n : undefined,\n borderLeft:\n isPinned === \"end\" && !isLastPinned\n ? (theme) => `1px solid ${theme.palette.divider}`\n : undefined,\n }}\n >\n <div style={{ flex: 1, display: \"flex\", justifyContent: \"flex-start\" }}>\n {children}\n </div>\n </TableCell>\n );\n }),\n);\n\nexport { AnoccaSkin };\n"
5
+ "import {\n Box,\n Paper,\n SxProps,\n TableBody,\n TableCell,\n TableFooter,\n TableHead,\n TableRow,\n Theme,\n useTheme,\n} from \"@mui/material\";\nimport {\n shallowEqual,\n Skin,\n strictEqual,\n useCellProps,\n useColProps,\n useRowProps,\n useTableContext,\n useTableCssVars,\n useTableProps,\n} from \"@rttui/core\";\nimport React, { CSSProperties } from \"react\";\nimport { TableHeaderRow } from \"./table_header_row.cjs\";\n\nconst AnoccaSkin: Skin = {\n rowHeight: 32,\n headerRowHeight: 32,\n footerRowHeight: 32,\n OverlayContainer: React.memo(function OverlayContainer({ children }) {\n const { width, height } = useTableProps({\n selector: (props) => props.uiProps,\n callback: ({ width, height }) => {\n return {\n width,\n height,\n };\n },\n dependencies: [{ type: \"ui_props\" }],\n areCallbackOutputEqual: shallowEqual,\n });\n const cssVars = useTableCssVars();\n return (\n <div\n className=\"rttui-overlay-container\"\n style={{\n position: \"relative\",\n width: width + \"px\",\n height: height + \"px\",\n ...cssVars,\n }}\n >\n {children}\n </div>\n );\n }),\n OuterContainer: ({ children }) => {\n const { tableContainerRef } = useTableContext();\n\n return (\n <Paper\n ref={tableContainerRef}\n className=\"outer-container\"\n elevation={2}\n sx={{\n overflow: \"auto\",\n width: \"var(--table-container-width)\",\n height: \"var(--table-container-height)\",\n position: \"relative\",\n contain: \"paint\",\n willChange: \"transform\",\n borderRadius: 1,\n }}\n >\n {children}\n </Paper>\n );\n },\n TableScroller: () => {\n return (\n <div\n className=\"table-scroller\"\n style={{\n width: \"var(--table-width)\",\n height:\n \"calc(var(--table-height) + var(--header-height) + var(--footer-height))\",\n position: \"absolute\",\n }}\n ></div>\n );\n },\n TableHeader: ({ children }) => {\n return (\n <TableHead\n component=\"div\"\n className=\"thead\"\n sx={{\n position: \"sticky\",\n top: 0,\n width: \"var(--table-width)\",\n zIndex: 2,\n backgroundColor: (theme) => theme.palette.background.paper,\n boxShadow: (theme) => `0 1px 0 ${theme.palette.divider}`,\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: \"flex-start\",\n alignItems: \"stretch\",\n }}\n >\n {children}\n </TableHead>\n );\n },\n TableFooter: ({ children }) => {\n return (\n <TableFooter\n component=\"div\"\n className=\"table-footer\"\n sx={{\n position: \"sticky\",\n bottom: -1,\n width: \"var(--table-width)\",\n zIndex: 2,\n backgroundColor: (theme) => theme.palette.background.paper,\n boxShadow: (theme) => `0 -1px 0 ${theme.palette.divider}`,\n }}\n >\n {children}\n </TableFooter>\n );\n },\n HeaderRow: TableHeaderRow,\n HeaderCell: React.memo(\n React.forwardRef((props, ref) => {\n return <TableHeaderCell {...props} ref={ref} />;\n }),\n ),\n TableBody: ({ children }) => {\n return (\n <TableBody\n component=\"div\"\n className=\"table-body\"\n sx={{\n position: \"relative\",\n width: \"var(--table-width)\",\n height: \"var(--table-height)\",\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: \"flex-start\",\n alignItems: \"stretch\",\n }}\n >\n {children}\n </TableBody>\n );\n },\n PinnedRows: ({ children, position }) => {\n const style: SxProps<Theme> = {\n position: \"sticky\",\n zIndex: 3,\n };\n if (position === \"top\") {\n style.top = \"var(--header-height)\";\n style.borderBottom = (theme) => `1px solid ${theme.palette.divider}`;\n style.boxShadow =\n \"0 4px 8px -4px rgba(0, 0, 0, 0.15), 0 6px 12px -6px rgba(0, 0, 0, 0.1)\";\n } else if (position === \"bottom\") {\n style.bottom = \"var(--footer-height)\";\n style.borderTop = (theme) => `1px solid ${theme.palette.divider}`;\n style.boxShadow =\n \"0 -4px 8px -4px rgba(0, 0, 0, 0.15), 0 -6px 12px -6px rgba(0, 0, 0, 0.1)\";\n }\n\n const Component = position === \"top\" ? TableHead : TableFooter;\n\n return (\n <Component\n component=\"div\"\n className={`sticky-${position}-rows`}\n sx={style}\n >\n {children}\n </Component>\n );\n },\n PinnedCols: React.memo(({ children, position }) => {\n const style: SxProps<Theme> = {\n position: \"sticky\",\n zIndex: 3,\n display: \"flex\",\n };\n\n if (position === \"left\") {\n style.left = 0;\n } else if (position === \"right\") {\n style.right = 0;\n }\n\n return (\n <Box component=\"div\" className={`sticky-${position}-cols`} sx={style}>\n {children}\n </Box>\n );\n }),\n\n TableRowWrapper: React.memo(\n React.forwardRef(({ children }, ref) => {\n const theme = useTheme();\n const { relativeIndex, rowIndex } = useRowProps({\n callback: (row) => {\n return { relativeIndex: row.relativeIndex, rowIndex: row.rowIndex };\n },\n areCallbackOutputEqual: shallowEqual,\n dependencies: [{ type: \"tanstack_table\" }],\n });\n const backgroundColor = (theme: Theme) => {\n const baseColor =\n relativeIndex % 2 === 0\n ? theme.palette.background.paper\n : theme.palette.mode === \"dark\"\n ? theme.palette.grey[900]\n : theme.palette.grey[100];\n return baseColor;\n };\n\n const vars: Record<string, string> = {\n \"--row-background-color\": backgroundColor(theme),\n };\n\n return (\n <Box\n sx={{\n ...vars,\n width: \"var(--table-width)\",\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: \"flex-start\",\n alignItems: \"stretch\",\n }}\n data-index={rowIndex}\n ref={ref}\n >\n {children}\n </Box>\n );\n }),\n ),\n TableRow: React.memo(({ children }) => {\n return (\n <TableRow\n component=\"div\"\n className=\"table-row\"\n sx={{\n position: \"relative\",\n width: \"var(--table-width)\",\n display: \"flex\",\n height: \"var(--row-height)\",\n zIndex: 1,\n boxSizing: \"border-box\",\n backgroundColor: \"var(--row-background-color)\",\n \"&:hover\": {\n backgroundColor: (theme) => {\n // Always use solid background colors for all cells on hover\n return theme.palette.mode === \"dark\"\n ? \"#1e1e52\" // Dark blue solid color\n : \"#E3F2FD\"; // Light blue solid color\n },\n },\n }}\n >\n {children}\n </TableRow>\n );\n }),\n TableRowExpandedContent: React.memo(({ children }) => {\n const { leafColLength } = useTableProps({\n callback: (table) => {\n return {\n leafColLength: table.tanstackTable.getAllLeafColumns().length,\n };\n },\n dependencies: [{ type: \"tanstack_table\" }],\n areCallbackOutputEqual: strictEqual,\n });\n return (\n <TableRow\n component=\"div\"\n className=\"expanded-row\"\n sx={{\n backgroundColor: (theme) => theme.palette.background.default,\n }}\n >\n <TableCell\n component=\"div\"\n className=\"expanded-cell\"\n colSpan={leafColLength}\n sx={{\n padding: 2,\n }}\n >\n {children}\n </TableCell>\n </TableRow>\n );\n }),\n Cell: React.memo(\n React.forwardRef(function Cell({ isMeasureInstance, children }, ref) {\n const {\n isPinned,\n isLastPinned,\n isLast,\n isLastCenter,\n width,\n isSomeColumnsPinnedRight,\n } = useCellProps({\n callback: (cell, table) => {\n const state = cell.header.state;\n return {\n isPinned: state.isPinned,\n isLastPinned: state.isLastPinned,\n isLast: state.isLast,\n isLastCenter: state.isLastCenter,\n width: state.width,\n isSomeColumnsPinnedRight:\n table.tanstackTable.getIsSomeColumnsPinned(\"right\"),\n };\n },\n areCallbackOutputEqual: shallowEqual,\n dependencies: [{ type: \"tanstack_table\" }],\n });\n\n return (\n <TableCell\n className=\"td\"\n component=\"div\"\n ref={ref}\n style={{ width: isMeasureInstance ? \"auto\" : width }}\n sx={{\n height: \"var(--row-height)\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n zIndex: isPinned ? 5 : 0,\n boxSizing: \"border-box\",\n fontSize: \"0.875rem\",\n color: \"text.primary\",\n alignItems: \"center\",\n gap: \"8px\",\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignContent: \"center\",\n padding: \"6px 12px\",\n backgroundColor: \"var(--row-background-color)\",\n borderBottom: \"none\",\n flexShrink: 0,\n position: \"relative\",\n borderRight:\n ((isPinned === \"start\" && !isLastPinned) || !isPinned) &&\n !isLast &&\n !(isLastCenter && isSomeColumnsPinnedRight)\n ? (theme) => `1px solid ${theme.palette.divider}`\n : undefined,\n borderLeft:\n isPinned === \"end\" && !isLastPinned\n ? (theme) => `1px solid ${theme.palette.divider}`\n : undefined,\n \".table-row:hover &\": {\n backgroundColor: (theme) => {\n // Always use solid background colors for all cells on hover\n return theme.palette.mode === \"dark\"\n ? \"#1e1e52\" // Dark blue solid color\n : \"#E3F2FD\"; // Light blue solid color\n },\n zIndex: isPinned ? 2 : 0,\n },\n }}\n >\n {children}\n </TableCell>\n );\n }),\n ),\n PinnedColsOverlay: ({ position }) => {\n const width = useTableProps({\n callback: (table) => {\n if (!table.tanstackTable.getIsSomeColumnsPinned(position)) {\n return undefined;\n }\n return position === \"left\"\n ? table.tanstackTable.getLeftTotalSize()\n : table.tanstackTable.getRightTotalSize();\n },\n });\n\n if (width === undefined) {\n return null;\n }\n\n const style: CSSProperties = {\n width,\n [position]: 0,\n position: \"sticky\",\n top: 0,\n bottom: 0,\n zIndex: 20,\n pointerEvents: \"none\",\n };\n\n if (position === \"left\") {\n style.boxShadow =\n \"4px 0 8px -4px rgba(0, 0, 0, 0.15), 6px 0 12px -6px rgba(0, 0, 0, 0.1)\";\n } else if (position === \"right\") {\n style.boxShadow =\n \"-4px 0 8px -4px rgba(0, 0, 0, 0.15), -6px 0 12px -6px rgba(0, 0, 0, 0.1)\";\n }\n return <div className={`pinned-${position}-overlay`} style={style} />;\n },\n};\n\nconst TableHeaderCell = React.memo(\n React.forwardRef<\n HTMLDivElement,\n {\n isMeasureInstance: boolean;\n children: React.ReactNode;\n }\n >(({ isMeasureInstance, children }, ref) => {\n const {\n isSomeColumnsPinnedRight,\n headerId,\n isPinned,\n width,\n isLast,\n isLastPinned,\n isLastCenter,\n } = useColProps({\n callback: ({ vheader, selectorValue }) => {\n const state = vheader.state;\n return {\n isSomeColumnsPinnedRight:\n selectorValue.tanstackTable.getIsSomeColumnsPinned(\"right\"),\n headerId: vheader.header.id,\n isPinned: state.isPinned,\n width: state.width,\n isLast: state.isLast,\n isLastPinned: state.isLastPinned,\n isLastCenter: state.isLastCenter,\n };\n },\n areCallbackOutputEqual: shallowEqual,\n dependencies: [{ type: \"tanstack_table\" }],\n });\n\n return (\n <TableCell\n ref={ref}\n component=\"div\"\n className=\"th\"\n data-header-id={headerId}\n data-is-pinned={isPinned}\n style={{ width: isMeasureInstance ? \"auto\" : width }}\n sx={{\n transition: \"background-color 0.2s ease\",\n whiteSpace: \"nowrap\",\n zIndex: isPinned ? 1 : 0,\n display: \"flex\",\n overflow: \"hidden\",\n height: \"var(--header-row-height)\",\n position: \"relative\",\n flexShrink: 0,\n alignItems: \"center\",\n gap: \"8px\",\n justifyContent: \"space-between\",\n padding: \"6px 12px\",\n boxSizing: \"border-box\",\n fontWeight: 600,\n backgroundColor: isPinned\n ? (theme) => theme.palette.background.paper\n : \"transparent\",\n borderRight:\n ((isPinned === \"start\" && !isLastPinned) || !isPinned) &&\n !isLast &&\n !(isLastCenter && isSomeColumnsPinnedRight)\n ? (theme) => `1px solid ${theme.palette.divider}`\n : undefined,\n borderLeft:\n isPinned === \"end\" && !isLastPinned\n ? (theme) => `1px solid ${theme.palette.divider}`\n : undefined,\n }}\n >\n <div style={{ flex: 1, display: \"flex\", justifyContent: \"flex-start\" }}>\n {children}\n </div>\n </TableCell>\n );\n }),\n);\n\nexport { AnoccaSkin };\n"
6
6
  ],
7
- "mappings": "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",
8
- "debugId": "F8ED3ACAC068742B64756E2164756E21",
7
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWO,IAXP;AAsBO,IAVP;AAWqC,IAArC;AAC+B,IAA/B;AAAA;AAEA,IAAM,aAAmB;AAAA,EACvB,WAAW;AAAA,EACX,iBAAiB;AAAA,EACjB,iBAAiB;AAAA,EACjB,kBAAkB,qBAAM,KAAK,SAAS,gBAAgB,GAAG,YAAY;AAAA,IACnE,QAAQ,OAAO,WAAW,0BAAc;AAAA,MACtC,UAAU,CAAC,UAAU,MAAM;AAAA,MAC3B,UAAU,GAAG,eAAO,sBAAa;AAAA,QAC/B,OAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA;AAAA,MAEF,cAAc,CAAC,EAAE,MAAM,WAAW,CAAC;AAAA,MACnC,wBAAwB;AAAA,IAC1B,CAAC;AAAA,IACD,MAAM,UAAU,4BAAgB;AAAA,IAChC,uBACE,gBAUE,OAVF;AAAA,MACE,WAAU;AAAA,MACV,OAAO;AAAA,QACL,UAAU;AAAA,QACV,OAAO,QAAQ;AAAA,QACf,QAAQ,SAAS;AAAA,WACd;AAAA,MACL;AAAA,MAPF;AAAA,KAUE;AAAA,GAEL;AAAA,EACD,gBAAgB,GAAG,eAAe;AAAA,IAChC,QAAQ,sBAAsB,4BAAgB;AAAA,IAE9C,uBACE,gBAeE,uBAfF;AAAA,MACE,KAAK;AAAA,MACL,WAAU;AAAA,MACV,WAAW;AAAA,MACX,IAAI;AAAA,QACF,UAAU;AAAA,QACV,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,UAAU;AAAA,QACV,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,cAAc;AAAA,MAChB;AAAA,MAZF;AAAA,KAeE;AAAA;AAAA,EAGN,eAAe,MAAM;AAAA,IACnB,uBACE,gBAQG,OARH;AAAA,MACE,WAAU;AAAA,MACV,OAAO;AAAA,QACL,OAAO;AAAA,QACP,QACE;AAAA,QACF,UAAU;AAAA,MACZ;AAAA,KACC;AAAA;AAAA,EAGP,aAAa,GAAG,eAAe;AAAA,IAC7B,uBACE,gBAiBE,2BAjBF;AAAA,MACE,WAAU;AAAA,MACV,WAAU;AAAA,MACV,IAAI;AAAA,QACF,UAAU;AAAA,QACV,KAAK;AAAA,QACL,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,iBAAiB,CAAC,UAAU,MAAM,QAAQ,WAAW;AAAA,QACrD,WAAW,CAAC,UAAU,WAAW,MAAM,QAAQ;AAAA,QAC/C,SAAS;AAAA,QACT,eAAe;AAAA,QACf,gBAAgB;AAAA,QAChB,YAAY;AAAA,MACd;AAAA,MAdF;AAAA,KAiBE;AAAA;AAAA,EAGN,aAAa,GAAG,eAAe;AAAA,IAC7B,uBACE,gBAaE,6BAbF;AAAA,MACE,WAAU;AAAA,MACV,WAAU;AAAA,MACV,IAAI;AAAA,QACF,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,iBAAiB,CAAC,UAAU,MAAM,QAAQ,WAAW;AAAA,QACrD,WAAW,CAAC,UAAU,YAAY,MAAM,QAAQ;AAAA,MAClD;AAAA,MAVF;AAAA,KAaE;AAAA;AAAA,EAGN,WAAW;AAAA,EACX,YAAY,qBAAM,KAChB,qBAAM,WAAW,CAAC,OAAO,QAAQ;AAAA,IAC/B,uBAAO,gBAAC,iBAAD;AAAA,SAAqB;AAAA,MAAO;AAAA,KAAU;AAAA,GAC9C,CACH;AAAA,EACA,WAAW,GAAG,eAAe;AAAA,IAC3B,uBACE,gBAcE,2BAdF;AAAA,MACE,WAAU;AAAA,MACV,WAAU;AAAA,MACV,IAAI;AAAA,QACF,UAAU;AAAA,QACV,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,eAAe;AAAA,QACf,gBAAgB;AAAA,QAChB,YAAY;AAAA,MACd;AAAA,MAXF;AAAA,KAcE;AAAA;AAAA,EAGN,YAAY,GAAG,UAAU,eAAe;AAAA,IACtC,MAAM,QAAwB;AAAA,MAC5B,UAAU;AAAA,MACV,QAAQ;AAAA,IACV;AAAA,IACA,IAAI,aAAa,OAAO;AAAA,MACtB,MAAM,MAAM;AAAA,MACZ,MAAM,eAAe,CAAC,UAAU,aAAa,MAAM,QAAQ;AAAA,MAC3D,MAAM,YACJ;AAAA,IACJ,EAAO,SAAI,aAAa,UAAU;AAAA,MAChC,MAAM,SAAS;AAAA,MACf,MAAM,YAAY,CAAC,UAAU,aAAa,MAAM,QAAQ;AAAA,MACxD,MAAM,YACJ;AAAA,IACJ;AAAA,IAEA,MAAM,YAAY,aAAa,QAAQ,4BAAY;AAAA,IAEnD,uBACE,gBAME,WANF;AAAA,MACE,WAAU;AAAA,MACV,WAAW,UAAU;AAAA,MACrB,IAAI;AAAA,MAHN;AAAA,KAME;AAAA;AAAA,EAGN,YAAY,qBAAM,KAAK,GAAG,UAAU,eAAe;AAAA,IACjD,MAAM,QAAwB;AAAA,MAC5B,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,SAAS;AAAA,IACX;AAAA,IAEA,IAAI,aAAa,QAAQ;AAAA,MACvB,MAAM,OAAO;AAAA,IACf,EAAO,SAAI,aAAa,SAAS;AAAA,MAC/B,MAAM,QAAQ;AAAA,IAChB;AAAA,IAEA,uBACE,gBAEE,qBAFF;AAAA,MAAK,WAAU;AAAA,MAAM,WAAW,UAAU;AAAA,MAAiB,IAAI;AAAA,MAA/D;AAAA,KAEE;AAAA,GAEL;AAAA,EAED,iBAAiB,qBAAM,KACrB,qBAAM,WAAW,GAAG,YAAY,QAAQ;AAAA,IACtC,MAAM,QAAQ,yBAAS;AAAA,IACvB,QAAQ,eAAe,aAAa,wBAAY;AAAA,MAC9C,UAAU,CAAC,QAAQ;AAAA,QACjB,OAAO,EAAE,eAAe,IAAI,eAAe,UAAU,IAAI,SAAS;AAAA;AAAA,MAEpE,wBAAwB;AAAA,MACxB,cAAc,CAAC,EAAE,MAAM,iBAAiB,CAAC;AAAA,IAC3C,CAAC;AAAA,IACD,MAAM,kBAAkB,CAAC,WAAiB;AAAA,MACxC,MAAM,YACJ,gBAAgB,MAAM,IAClB,OAAM,QAAQ,WAAW,QACzB,OAAM,QAAQ,SAAS,SACrB,OAAM,QAAQ,KAAK,OACnB,OAAM,QAAQ,KAAK;AAAA,MAC3B,OAAO;AAAA;AAAA,IAGT,MAAM,OAA+B;AAAA,MACnC,0BAA0B,gBAAgB,KAAK;AAAA,IACjD;AAAA,IAEA,uBACE,gBAaE,qBAbF;AAAA,MACE,IAAI;AAAA,WACC;AAAA,QACH,OAAO;AAAA,QACP,SAAS;AAAA,QACT,eAAe;AAAA,QACf,gBAAgB;AAAA,QAChB,YAAY;AAAA,MACd;AAAA,MACA,cAAY;AAAA,MACZ;AAAA,MAVF;AAAA,KAaE;AAAA,GAEL,CACH;AAAA,EACA,UAAU,qBAAM,KAAK,GAAG,eAAe;AAAA,IACrC,uBACE,gBAsBE,0BAtBF;AAAA,MACE,WAAU;AAAA,MACV,WAAU;AAAA,MACV,IAAI;AAAA,QACF,UAAU;AAAA,QACV,OAAO;AAAA,QACP,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,WAAW;AAAA,QACX,iBAAiB;AAAA,QACjB,WAAW;AAAA,UACT,iBAAiB,CAAC,UAAU;AAAA,YAE1B,OAAO,MAAM,QAAQ,SAAS,SAC1B,YACA;AAAA;AAAA,QAER;AAAA,MACF;AAAA,MAnBF;AAAA,KAsBE;AAAA,GAEL;AAAA,EACD,yBAAyB,qBAAM,KAAK,GAAG,eAAe;AAAA,IACpD,QAAQ,kBAAkB,0BAAc;AAAA,MACtC,UAAU,CAAC,UAAU;AAAA,QACnB,OAAO;AAAA,UACL,eAAe,MAAM,cAAc,kBAAkB,EAAE;AAAA,QACzD;AAAA;AAAA,MAEF,cAAc,CAAC,EAAE,MAAM,iBAAiB,CAAC;AAAA,MACzC,wBAAwB;AAAA,IAC1B,CAAC;AAAA,IACD,uBACE,gBAiBE,0BAjBF;AAAA,MACE,WAAU;AAAA,MACV,WAAU;AAAA,MACV,IAAI;AAAA,QACF,iBAAiB,CAAC,UAAU,MAAM,QAAQ,WAAW;AAAA,MACvD;AAAA,MALF,0BAOE,gBASE,2BATF;AAAA,QACE,WAAU;AAAA,QACV,WAAU;AAAA,QACV,SAAS;AAAA,QACT,IAAI;AAAA,UACF,SAAS;AAAA,QACX;AAAA,QANF;AAAA,OASE;AAAA,KACF;AAAA,GAEL;AAAA,EACD,MAAM,qBAAM,KACV,qBAAM,WAAW,SAAS,IAAI,GAAG,mBAAmB,YAAY,KAAK;AAAA,IACnE;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,QACE,yBAAa;AAAA,MACf,UAAU,CAAC,MAAM,UAAU;AAAA,QACzB,MAAM,QAAQ,KAAK,OAAO;AAAA,QAC1B,OAAO;AAAA,UACL,UAAU,MAAM;AAAA,UAChB,cAAc,MAAM;AAAA,UACpB,QAAQ,MAAM;AAAA,UACd,cAAc,MAAM;AAAA,UACpB,OAAO,MAAM;AAAA,UACb,0BACE,MAAM,cAAc,uBAAuB,OAAO;AAAA,QACtD;AAAA;AAAA,MAEF,wBAAwB;AAAA,MACxB,cAAc,CAAC,EAAE,MAAM,iBAAiB,CAAC;AAAA,IAC3C,CAAC;AAAA,IAED,uBACE,gBA8CE,2BA9CF;AAAA,MACE,WAAU;AAAA,MACV,WAAU;AAAA,MACV;AAAA,MACA,OAAO,EAAE,OAAO,oBAAoB,SAAS,MAAM;AAAA,MACnD,IAAI;AAAA,QACF,QAAQ;AAAA,QACR,UAAU;AAAA,QACV,cAAc;AAAA,QACd,YAAY;AAAA,QACZ,QAAQ,WAAW,IAAI;AAAA,QACvB,WAAW;AAAA,QACX,UAAU;AAAA,QACV,OAAO;AAAA,QACP,YAAY;AAAA,QACZ,KAAK;AAAA,QACL,SAAS;AAAA,QACT,gBAAgB;AAAA,QAChB,cAAc;AAAA,QACd,SAAS;AAAA,QACT,iBAAiB;AAAA,QACjB,cAAc;AAAA,QACd,YAAY;AAAA,QACZ,UAAU;AAAA,QACV,cACI,aAAa,YAAY,iBAAkB,cAC5C,YACC,gBAAgB,4BACd,CAAC,UAAU,aAAa,MAAM,QAAQ,YACtC;AAAA,QACN,YACE,aAAa,UAAU,eACnB,CAAC,UAAU,aAAa,MAAM,QAAQ,YACtC;AAAA,QACN,sBAAsB;AAAA,UACpB,iBAAiB,CAAC,UAAU;AAAA,YAE1B,OAAO,MAAM,QAAQ,SAAS,SAC1B,YACA;AAAA;AAAA,UAEN,QAAQ,WAAW,IAAI;AAAA,QACzB;AAAA,MACF;AAAA,MA3CF;AAAA,KA8CE;AAAA,GAEL,CACH;AAAA,EACA,mBAAmB,GAAG,eAAe;AAAA,IACnC,MAAM,QAAQ,0BAAc;AAAA,MAC1B,UAAU,CAAC,UAAU;AAAA,QACnB,KAAK,MAAM,cAAc,uBAAuB,QAAQ,GAAG;AAAA,UACzD;AAAA,QACF;AAAA,QACA,OAAO,aAAa,SAChB,MAAM,cAAc,iBAAiB,IACrC,MAAM,cAAc,kBAAkB;AAAA;AAAA,IAE9C,CAAC;AAAA,IAED,IAAI,UAAU,WAAW;AAAA,MACvB,OAAO;AAAA,IACT;AAAA,IAEA,MAAM,QAAuB;AAAA,MAC3B;AAAA,OACC,WAAW;AAAA,MACZ,UAAU;AAAA,MACV,KAAK;AAAA,MACL,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,eAAe;AAAA,IACjB;AAAA,IAEA,IAAI,aAAa,QAAQ;AAAA,MACvB,MAAM,YACJ;AAAA,IACJ,EAAO,SAAI,aAAa,SAAS;AAAA,MAC/B,MAAM,YACJ;AAAA,IACJ;AAAA,IACA,uBAAO,gBAAC,OAAD;AAAA,MAAK,WAAW,UAAU;AAAA,MAAoB;AAAA,KAAc;AAAA;AAEvE;AAEA,IAAM,kBAAkB,qBAAM,KAC5B,qBAAM,WAMJ,GAAG,mBAAmB,YAAY,QAAQ;AAAA,EAC1C;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACE,wBAAY;AAAA,IACd,UAAU,GAAG,SAAS,oBAAoB;AAAA,MACxC,MAAM,QAAQ,QAAQ;AAAA,MACtB,OAAO;AAAA,QACL,0BACE,cAAc,cAAc,uBAAuB,OAAO;AAAA,QAC5D,UAAU,QAAQ,OAAO;AAAA,QACzB,UAAU,MAAM;AAAA,QAChB,OAAO,MAAM;AAAA,QACb,QAAQ,MAAM;AAAA,QACd,cAAc,MAAM;AAAA,QACpB,cAAc,MAAM;AAAA,MACtB;AAAA;AAAA,IAEF,wBAAwB;AAAA,IACxB,cAAc,CAAC,EAAE,MAAM,iBAAiB,CAAC;AAAA,EAC3C,CAAC;AAAA,EAED,uBACE,gBAwCE,2BAxCF;AAAA,IACE;AAAA,IACA,WAAU;AAAA,IACV,WAAU;AAAA,IACV,kBAAgB;AAAA,IAChB,kBAAgB;AAAA,IAChB,OAAO,EAAE,OAAO,oBAAoB,SAAS,MAAM;AAAA,IACnD,IAAI;AAAA,MACF,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,QAAQ,WAAW,IAAI;AAAA,MACvB,SAAS;AAAA,MACT,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,KAAK;AAAA,MACL,gBAAgB;AAAA,MAChB,SAAS;AAAA,MACT,WAAW;AAAA,MACX,YAAY;AAAA,MACZ,iBAAiB,WACb,CAAC,UAAU,MAAM,QAAQ,WAAW,QACpC;AAAA,MACJ,cACI,aAAa,YAAY,iBAAkB,cAC5C,YACC,gBAAgB,4BACd,CAAC,UAAU,aAAa,MAAM,QAAQ,YACtC;AAAA,MACN,YACE,aAAa,UAAU,eACnB,CAAC,UAAU,aAAa,MAAM,QAAQ,YACtC;AAAA,IACR;AAAA,IAnCF,0BAqCE,gBAEE,OAFF;AAAA,MAAK,OAAO,EAAE,MAAM,GAAG,SAAS,QAAQ,gBAAgB,aAAa;AAAA,MAArE;AAAA,KAEE;AAAA,GACF;AAAA,CAEL,CACH;",
8
+ "debugId": "BAF6A6599BF2E2EB64756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -36,10 +36,14 @@ var import_core = require("@rttui/core");
36
36
  var import_md = require("react-icons/md");
37
37
  var jsx_runtime = require("react/jsx-runtime");
38
38
  var HeaderPinButtons = () => {
39
- const { isPinned, canPin } = import_core.useColProps(({ vheader }) => ({
40
- isPinned: vheader.getState().isPinned,
41
- canPin: vheader.header().column.getCanPin()
42
- }));
39
+ const { isPinned, canPin } = import_core.useColProps({
40
+ callback: ({ vheader }) => ({
41
+ isPinned: vheader.state.isPinned,
42
+ canPin: vheader.header.column.getCanPin()
43
+ }),
44
+ dependencies: [{ type: "tanstack_table" }],
45
+ areCallbackOutputEqual: import_core.shallowEqual
46
+ });
43
47
  const headerRef = import_core.useColRef();
44
48
  if (!canPin) {
45
49
  return null;
@@ -59,7 +63,7 @@ var HeaderPinButtons = () => {
59
63
  opacity: 0.5
60
64
  },
61
65
  onClick: () => {
62
- headerRef.current.column.pin("left");
66
+ headerRef().column.pin("left");
63
67
  },
64
68
  children: /* @__PURE__ */ jsx_runtime.jsx(import_md.MdChevronLeft, {})
65
69
  }) : null,
@@ -75,7 +79,7 @@ var HeaderPinButtons = () => {
75
79
  opacity: 0.7
76
80
  },
77
81
  onClick: () => {
78
- headerRef.current.column.pin(false);
82
+ headerRef().column.pin(false);
79
83
  },
80
84
  children: /* @__PURE__ */ jsx_runtime.jsx(import_md.MdClose, {})
81
85
  }) : null,
@@ -91,7 +95,7 @@ var HeaderPinButtons = () => {
91
95
  opacity: 0.5
92
96
  },
93
97
  onClick: () => {
94
- headerRef.current.column.pin("right");
98
+ headerRef().column.pin("right");
95
99
  },
96
100
  children: /* @__PURE__ */ jsx_runtime.jsx(import_md.MdChevronRight, {})
97
101
  }) : null
@@ -99,4 +103,4 @@ var HeaderPinButtons = () => {
99
103
  });
100
104
  };
101
105
 
102
- //# debugId=A77F7618C9F2C38B64756E2164756E21
106
+ //# debugId=85A337EDBD27329664756E2164756E21
@@ -2,9 +2,9 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/header_pin_buttons.tsx"],
4
4
  "sourcesContent": [
5
- "import { useColProps, useColRef } from \"@rttui/core\";\nimport { MdChevronLeft, MdChevronRight, MdClose } from \"react-icons/md\";\n\nexport const HeaderPinButtons = () => {\n const { isPinned, canPin } = useColProps(({ vheader }) => ({\n isPinned: vheader.getState().isPinned,\n canPin: vheader.header().column.getCanPin(),\n }));\n\n const headerRef = useColRef();\n if (!canPin) {\n return null;\n }\n return (\n <div style={{ display: \"flex\", gap: \"-4px\", justifyContent: \"flex-start\" }}>\n {isPinned !== \"start\" ? (\n <button\n style={{\n border: \"none\",\n background: \"transparent\",\n cursor: \"pointer\",\n padding: \"2px\",\n borderRadius: \"4px\",\n display: \"flex\",\n alignItems: \"center\",\n opacity: 0.5,\n }}\n onClick={() => {\n headerRef.current.column.pin(\"left\");\n }}\n >\n <MdChevronLeft />\n </button>\n ) : null}\n {isPinned ? (\n <button\n style={{\n border: \"none\",\n background: \"transparent\",\n cursor: \"pointer\",\n padding: \"2px\",\n borderRadius: \"4px\",\n display: \"flex\",\n alignItems: \"center\",\n opacity: 0.7,\n }}\n onClick={() => {\n headerRef.current.column.pin(false);\n }}\n >\n <MdClose />\n </button>\n ) : null}\n {isPinned !== \"end\" ? (\n <button\n style={{\n border: \"none\",\n background: \"transparent\",\n cursor: \"pointer\",\n padding: \"2px\",\n borderRadius: \"4px\",\n display: \"flex\",\n alignItems: \"center\",\n opacity: 0.5,\n }}\n onClick={() => {\n headerRef.current.column.pin(\"right\");\n }}\n >\n <MdChevronRight />\n </button>\n ) : null}\n </div>\n );\n};\n"
5
+ "import { shallowEqual, useColProps, useColRef } from \"@rttui/core\";\nimport { MdChevronLeft, MdChevronRight, MdClose } from \"react-icons/md\";\n\nexport const HeaderPinButtons = () => {\n const { isPinned, canPin } = useColProps({\n callback: ({ vheader }) => ({\n isPinned: vheader.state.isPinned,\n canPin: vheader.header.column.getCanPin(),\n }),\n dependencies: [{ type: \"tanstack_table\" }],\n areCallbackOutputEqual: shallowEqual,\n });\n\n const headerRef = useColRef();\n if (!canPin) {\n return null;\n }\n return (\n <div style={{ display: \"flex\", gap: \"-4px\", justifyContent: \"flex-start\" }}>\n {isPinned !== \"start\" ? (\n <button\n style={{\n border: \"none\",\n background: \"transparent\",\n cursor: \"pointer\",\n padding: \"2px\",\n borderRadius: \"4px\",\n display: \"flex\",\n alignItems: \"center\",\n opacity: 0.5,\n }}\n onClick={() => {\n headerRef().column.pin(\"left\");\n }}\n >\n <MdChevronLeft />\n </button>\n ) : null}\n {isPinned ? (\n <button\n style={{\n border: \"none\",\n background: \"transparent\",\n cursor: \"pointer\",\n padding: \"2px\",\n borderRadius: \"4px\",\n display: \"flex\",\n alignItems: \"center\",\n opacity: 0.7,\n }}\n onClick={() => {\n headerRef().column.pin(false);\n }}\n >\n <MdClose />\n </button>\n ) : null}\n {isPinned !== \"end\" ? (\n <button\n style={{\n border: \"none\",\n background: \"transparent\",\n cursor: \"pointer\",\n padding: \"2px\",\n borderRadius: \"4px\",\n display: \"flex\",\n alignItems: \"center\",\n opacity: 0.5,\n }}\n onClick={() => {\n headerRef().column.pin(\"right\");\n }}\n >\n <MdChevronRight />\n </button>\n ) : null}\n </div>\n );\n};\n"
6
6
  ],
7
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAuC,IAAvC;AACuD,IAAvD;AAAA;AAEO,IAAM,mBAAmB,MAAM;AAAA,EACpC,QAAQ,UAAU,WAAW,wBAAY,GAAG,eAAe;AAAA,IACzD,UAAU,QAAQ,SAAS,EAAE;AAAA,IAC7B,QAAQ,QAAQ,OAAO,EAAE,OAAO,UAAU;AAAA,EAC5C,EAAE;AAAA,EAEF,MAAM,YAAY,sBAAU;AAAA,EAC5B,KAAK,QAAQ;AAAA,IACX,OAAO;AAAA,EACT;AAAA,EACA,uBACE,iBA0DE,OA1DF;AAAA,IAAK,OAAO,EAAE,SAAS,QAAQ,KAAK,QAAQ,gBAAgB,aAAa;AAAA,IAAzE,UA0DE;AAAA,MAzDC,aAAa,0BACZ,gBAgBE,UAhBF;AAAA,QACE,OAAO;AAAA,UACL,QAAQ;AAAA,UACR,YAAY;AAAA,UACZ,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,cAAc;AAAA,UACd,SAAS;AAAA,UACT,YAAY;AAAA,UACZ,SAAS;AAAA,QACX;AAAA,QACA,SAAS,MAAM;AAAA,UACb,UAAU,QAAQ,OAAO,IAAI,MAAM;AAAA;AAAA,QAZvC,0BAeE,gBAAC,yBAAD,EAAe;AAAA,OACf,IACA;AAAA,MACH,2BACC,gBAgBE,UAhBF;AAAA,QACE,OAAO;AAAA,UACL,QAAQ;AAAA,UACR,YAAY;AAAA,UACZ,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,cAAc;AAAA,UACd,SAAS;AAAA,UACT,YAAY;AAAA,UACZ,SAAS;AAAA,QACX;AAAA,QACA,SAAS,MAAM;AAAA,UACb,UAAU,QAAQ,OAAO,IAAI,KAAK;AAAA;AAAA,QAZtC,0BAeE,gBAAC,mBAAD,EAAS;AAAA,OACT,IACA;AAAA,MACH,aAAa,wBACZ,gBAgBE,UAhBF;AAAA,QACE,OAAO;AAAA,UACL,QAAQ;AAAA,UACR,YAAY;AAAA,UACZ,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,cAAc;AAAA,UACd,SAAS;AAAA,UACT,YAAY;AAAA,UACZ,SAAS;AAAA,QACX;AAAA,QACA,SAAS,MAAM;AAAA,UACb,UAAU,QAAQ,OAAO,IAAI,OAAO;AAAA;AAAA,QAZxC,0BAeE,gBAAC,0BAAD,EAAgB;AAAA,OAChB,IACA;AAAA;AAAA,GACJ;AAAA;",
8
- "debugId": "A77F7618C9F2C38B64756E2164756E21",
7
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAqD,IAArD;AACuD,IAAvD;AAAA;AAEO,IAAM,mBAAmB,MAAM;AAAA,EACpC,QAAQ,UAAU,WAAW,wBAAY;AAAA,IACvC,UAAU,GAAG,eAAe;AAAA,MAC1B,UAAU,QAAQ,MAAM;AAAA,MACxB,QAAQ,QAAQ,OAAO,OAAO,UAAU;AAAA,IAC1C;AAAA,IACA,cAAc,CAAC,EAAE,MAAM,iBAAiB,CAAC;AAAA,IACzC,wBAAwB;AAAA,EAC1B,CAAC;AAAA,EAED,MAAM,YAAY,sBAAU;AAAA,EAC5B,KAAK,QAAQ;AAAA,IACX,OAAO;AAAA,EACT;AAAA,EACA,uBACE,iBA0DE,OA1DF;AAAA,IAAK,OAAO,EAAE,SAAS,QAAQ,KAAK,QAAQ,gBAAgB,aAAa;AAAA,IAAzE,UA0DE;AAAA,MAzDC,aAAa,0BACZ,gBAgBE,UAhBF;AAAA,QACE,OAAO;AAAA,UACL,QAAQ;AAAA,UACR,YAAY;AAAA,UACZ,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,cAAc;AAAA,UACd,SAAS;AAAA,UACT,YAAY;AAAA,UACZ,SAAS;AAAA,QACX;AAAA,QACA,SAAS,MAAM;AAAA,UACb,UAAU,EAAE,OAAO,IAAI,MAAM;AAAA;AAAA,QAZjC,0BAeE,gBAAC,yBAAD,EAAe;AAAA,OACf,IACA;AAAA,MACH,2BACC,gBAgBE,UAhBF;AAAA,QACE,OAAO;AAAA,UACL,QAAQ;AAAA,UACR,YAAY;AAAA,UACZ,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,cAAc;AAAA,UACd,SAAS;AAAA,UACT,YAAY;AAAA,UACZ,SAAS;AAAA,QACX;AAAA,QACA,SAAS,MAAM;AAAA,UACb,UAAU,EAAE,OAAO,IAAI,KAAK;AAAA;AAAA,QAZhC,0BAeE,gBAAC,mBAAD,EAAS;AAAA,OACT,IACA;AAAA,MACH,aAAa,wBACZ,gBAgBE,UAhBF;AAAA,QACE,OAAO;AAAA,UACL,QAAQ;AAAA,UACR,YAAY;AAAA,UACZ,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,cAAc;AAAA,UACd,SAAS;AAAA,UACT,YAAY;AAAA,UACZ,SAAS;AAAA,QACX;AAAA,QACA,SAAS,MAAM;AAAA,UACb,UAAU,EAAE,OAAO,IAAI,OAAO;AAAA;AAAA,QAZlC,0BAeE,gBAAC,0BAAD,EAAgB;AAAA,OAChB,IACA;AAAA;AAAA,GACJ;AAAA;",
8
+ "debugId": "85A337EDBD27329664756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@rttui/skin-anocca",
3
- "version": "1.0.30",
3
+ "version": "1.0.32",
4
4
  "type": "commonjs"
5
5
  }
@@ -49,14 +49,19 @@ var import_material = require("@mui/material");
49
49
  var import_core = require("@rttui/core");
50
50
  var import_core2 = require("@rttui/core");
51
51
  var import_react = __toESM(require("react"));
52
+ var import_core3 = require("@rttui/core");
52
53
  var jsx_runtime = require("react/jsx-runtime");
53
54
  function Resizer() {
54
55
  const crushHeader = import_core.useCrushHeader();
55
- const { canResize, isResizing } = import_core2.useColProps(({ column }) => {
56
- return {
57
- canResize: column.getCanResize(),
58
- isResizing: column.getIsResizing()
59
- };
56
+ const { canResize, isResizing } = import_core2.useColProps({
57
+ callback: ({ column }) => {
58
+ return {
59
+ canResize: column.getCanResize(),
60
+ isResizing: column.getIsResizing()
61
+ };
62
+ },
63
+ areCallbackOutputEqual: import_core3.shallowEqual,
64
+ dependencies: [{ type: "tanstack_table" }]
60
65
  });
61
66
  const colRef = import_core.useColRef();
62
67
  import_react.default.useEffect(() => {
@@ -80,11 +85,13 @@ function Resizer() {
80
85
  }
81
86
  return /* @__PURE__ */ jsx_runtime.jsx(jsx_runtime.Fragment, {
82
87
  children: canResize && /* @__PURE__ */ jsx_runtime.jsx(import_material.Box, {
83
- onDoubleClick: () => {
84
- crushHeader(colRef.current.header);
88
+ onDoubleClick: (ev) => {
89
+ crushHeader(colRef().header);
90
+ ev.stopPropagation();
91
+ ev.preventDefault();
85
92
  },
86
- onMouseDown: (ev) => colRef.current.header.getResizeHandler()(ev),
87
- onTouchStart: (ev) => colRef.current.header.getResizeHandler()(ev),
93
+ onMouseDown: (ev) => colRef().header.getResizeHandler()(ev),
94
+ onTouchStart: (ev) => colRef().header.getResizeHandler()(ev),
88
95
  className: `resizer ${isResizing ? "isResizing" : ""}`,
89
96
  sx: {
90
97
  position: "absolute",
@@ -108,4 +115,4 @@ function Resizer() {
108
115
  });
109
116
  }
110
117
 
111
- //# debugId=680EECB07A9325B764756E2164756E21
118
+ //# debugId=0645AE5FD94845BE64756E2164756E21
@@ -2,9 +2,9 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/resizer.tsx"],
4
4
  "sourcesContent": [
5
- "import { Box } from \"@mui/material\";\nimport { useColRef, useCrushHeader } from \"@rttui/core\";\nimport { useColProps } from \"@rttui/core\";\nimport React from \"react\";\n\nexport function Resizer() {\n const crushHeader = useCrushHeader();\n\n const { canResize, isResizing } = useColProps(({ column }) => {\n return {\n canResize: column.getCanResize(),\n isResizing: column.getIsResizing(),\n };\n });\n\n const colRef = useColRef();\n\n React.useEffect(() => {\n if (!isResizing) {\n return;\n }\n const preventDefault = (e: Event) => {\n e.preventDefault();\n };\n document.body.addEventListener(\"select\", preventDefault);\n document.body.addEventListener(\"selectstart\", preventDefault);\n document.body.style.userSelect = \"none\";\n return () => {\n document.body.removeEventListener(\"select\", preventDefault);\n document.body.removeEventListener(\"selectstart\", preventDefault);\n document.body.style.userSelect = \"auto\";\n };\n }, [isResizing]);\n\n if (!canResize) {\n return null;\n }\n\n return (\n <>\n {canResize && (\n <Box\n {...{\n onDoubleClick: () => {\n crushHeader(colRef.current.header);\n },\n onMouseDown: (ev: any) => colRef.current.header.getResizeHandler()(ev),\n onTouchStart: (ev: any) => colRef.current.header.getResizeHandler()(ev),\n className: `resizer ${isResizing ? \"isResizing\" : \"\"}`,\n sx: {\n position: \"absolute\",\n right: 0,\n top: 0,\n bottom: 0,\n width: \"3px\",\n cursor: \"col-resize\",\n userSelect: \"none\",\n touchAction: \"none\",\n opacity: 0,\n backgroundColor: (theme) => theme.palette.text.secondary,\n transition: \"opacity 0.2s\",\n \"&.isResizing\": {\n backgroundColor: (theme) => theme.palette.primary.main,\n opacity: 1,\n width: \"1px\",\n },\n },\n }}\n />\n )}\n </>\n );\n}\n"
5
+ "import { Box } from \"@mui/material\";\nimport { useColRef, useCrushHeader } from \"@rttui/core\";\nimport { useColProps } from \"@rttui/core\";\nimport React from \"react\";\nimport { shallowEqual } from \"@rttui/core\";\nexport function Resizer() {\n const crushHeader = useCrushHeader();\n\n const { canResize, isResizing } = useColProps({\n callback: ({ column }) => {\n return {\n canResize: column.getCanResize(),\n isResizing: column.getIsResizing(),\n };\n },\n areCallbackOutputEqual: shallowEqual,\n dependencies: [{ type: \"tanstack_table\" }],\n });\n\n const colRef = useColRef();\n\n React.useEffect(() => {\n if (!isResizing) {\n return;\n }\n const preventDefault = (e: Event) => {\n e.preventDefault();\n };\n document.body.addEventListener(\"select\", preventDefault);\n document.body.addEventListener(\"selectstart\", preventDefault);\n document.body.style.userSelect = \"none\";\n return () => {\n document.body.removeEventListener(\"select\", preventDefault);\n document.body.removeEventListener(\"selectstart\", preventDefault);\n document.body.style.userSelect = \"auto\";\n };\n }, [isResizing]);\n\n if (!canResize) {\n return null;\n }\n\n return (\n <>\n {canResize && (\n <Box\n onDoubleClick={(ev) => {\n crushHeader(colRef().header);\n ev.stopPropagation();\n ev.preventDefault();\n }}\n onMouseDown={(ev: any) => colRef().header.getResizeHandler()(ev)}\n onTouchStart={(ev: any) => colRef().header.getResizeHandler()(ev)}\n className={`resizer ${isResizing ? \"isResizing\" : \"\"}`}\n sx={{\n position: \"absolute\",\n right: 0,\n top: 0,\n bottom: 0,\n width: \"3px\",\n cursor: \"col-resize\",\n userSelect: \"none\",\n touchAction: \"none\",\n opacity: 0,\n backgroundColor: (theme) => theme.palette.text.secondary,\n transition: \"opacity 0.2s\",\n \"&.isResizing\": {\n backgroundColor: (theme) => theme.palette.primary.main,\n opacity: 1,\n width: \"1px\",\n },\n }}\n />\n )}\n </>\n );\n}\n"
6
6
  ],
7
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAoB,IAApB;AAC0C,IAA1C;AAC4B,IAA5B;AACkB,IAAlB;AAAA;AAEO,SAAS,OAAO,GAAG;AAAA,EACxB,MAAM,cAAc,2BAAe;AAAA,EAEnC,QAAQ,WAAW,eAAe,yBAAY,GAAG,aAAa;AAAA,IAC5D,OAAO;AAAA,MACL,WAAW,OAAO,aAAa;AAAA,MAC/B,YAAY,OAAO,cAAc;AAAA,IACnC;AAAA,GACD;AAAA,EAED,MAAM,SAAS,sBAAU;AAAA,EAEzB,qBAAM,UAAU,MAAM;AAAA,IACpB,KAAK,YAAY;AAAA,MACf;AAAA,IACF;AAAA,IACA,MAAM,iBAAiB,CAAC,MAAa;AAAA,MACnC,EAAE,eAAe;AAAA;AAAA,IAEnB,SAAS,KAAK,iBAAiB,UAAU,cAAc;AAAA,IACvD,SAAS,KAAK,iBAAiB,eAAe,cAAc;AAAA,IAC5D,SAAS,KAAK,MAAM,aAAa;AAAA,IACjC,OAAO,MAAM;AAAA,MACX,SAAS,KAAK,oBAAoB,UAAU,cAAc;AAAA,MAC1D,SAAS,KAAK,oBAAoB,eAAe,cAAc;AAAA,MAC/D,SAAS,KAAK,MAAM,aAAa;AAAA;AAAA,KAElC,CAAC,UAAU,CAAC;AAAA,EAEf,KAAK,WAAW;AAAA,IACd,OAAO;AAAA,EACT;AAAA,EAEA,uBACE;AAAA,cACG,6BACC,gBAAC,qBAAD;AAAA,MAEI,eAAe,MAAM;AAAA,QACnB,YAAY,OAAO,QAAQ,MAAM;AAAA;AAAA,MAEnC,aAAa,CAAC,OAAY,OAAO,QAAQ,OAAO,iBAAiB,EAAE,EAAE;AAAA,MACrE,cAAc,CAAC,OAAY,OAAO,QAAQ,OAAO,iBAAiB,EAAE,EAAE;AAAA,MACtE,WAAW,WAAW,aAAa,eAAe;AAAA,MAClD,IAAI;AAAA,QACF,UAAU;AAAA,QACV,OAAO;AAAA,QACP,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,YAAY;AAAA,QACZ,aAAa;AAAA,QACb,SAAS;AAAA,QACT,iBAAiB,CAAC,UAAU,MAAM,QAAQ,KAAK;AAAA,QAC/C,YAAY;AAAA,QACZ,gBAAgB;AAAA,UACd,iBAAiB,CAAC,UAAU,MAAM,QAAQ,QAAQ;AAAA,UAClD,SAAS;AAAA,UACT,OAAO;AAAA,QACT;AAAA,MACF;AAAA,KAEJ;AAAA,GAEF;AAAA;",
8
- "debugId": "680EECB07A9325B764756E2164756E21",
7
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAoB,IAApB;AAC0C,IAA1C;AAC4B,IAA5B;AACkB,IAAlB;AAC6B,IAA7B;AAAA;AACO,SAAS,OAAO,GAAG;AAAA,EACxB,MAAM,cAAc,2BAAe;AAAA,EAEnC,QAAQ,WAAW,eAAe,yBAAY;AAAA,IAC5C,UAAU,GAAG,aAAa;AAAA,MACxB,OAAO;AAAA,QACL,WAAW,OAAO,aAAa;AAAA,QAC/B,YAAY,OAAO,cAAc;AAAA,MACnC;AAAA;AAAA,IAEF,wBAAwB;AAAA,IACxB,cAAc,CAAC,EAAE,MAAM,iBAAiB,CAAC;AAAA,EAC3C,CAAC;AAAA,EAED,MAAM,SAAS,sBAAU;AAAA,EAEzB,qBAAM,UAAU,MAAM;AAAA,IACpB,KAAK,YAAY;AAAA,MACf;AAAA,IACF;AAAA,IACA,MAAM,iBAAiB,CAAC,MAAa;AAAA,MACnC,EAAE,eAAe;AAAA;AAAA,IAEnB,SAAS,KAAK,iBAAiB,UAAU,cAAc;AAAA,IACvD,SAAS,KAAK,iBAAiB,eAAe,cAAc;AAAA,IAC5D,SAAS,KAAK,MAAM,aAAa;AAAA,IACjC,OAAO,MAAM;AAAA,MACX,SAAS,KAAK,oBAAoB,UAAU,cAAc;AAAA,MAC1D,SAAS,KAAK,oBAAoB,eAAe,cAAc;AAAA,MAC/D,SAAS,KAAK,MAAM,aAAa;AAAA;AAAA,KAElC,CAAC,UAAU,CAAC;AAAA,EAEf,KAAK,WAAW;AAAA,IACd,OAAO;AAAA,EACT;AAAA,EAEA,uBACE;AAAA,cACG,6BACC,gBAAC,qBAAD;AAAA,MACE,eAAe,CAAC,OAAO;AAAA,QACrB,YAAY,OAAO,EAAE,MAAM;AAAA,QAC3B,GAAG,gBAAgB;AAAA,QACnB,GAAG,eAAe;AAAA;AAAA,MAEpB,aAAa,CAAC,OAAY,OAAO,EAAE,OAAO,iBAAiB,EAAE,EAAE;AAAA,MAC/D,cAAc,CAAC,OAAY,OAAO,EAAE,OAAO,iBAAiB,EAAE,EAAE;AAAA,MAChE,WAAW,WAAW,aAAa,eAAe;AAAA,MAClD,IAAI;AAAA,QACF,UAAU;AAAA,QACV,OAAO;AAAA,QACP,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,YAAY;AAAA,QACZ,aAAa;AAAA,QACb,SAAS;AAAA,QACT,iBAAiB,CAAC,UAAU,MAAM,QAAQ,KAAK;AAAA,QAC/C,YAAY;AAAA,QACZ,gBAAgB;AAAA,UACd,iBAAiB,CAAC,UAAU,MAAM,QAAQ,QAAQ;AAAA,UAClD,SAAS;AAAA,UACT,OAAO;AAAA,QACT;AAAA,MACF;AAAA,KACF;AAAA,GAEF;AAAA;",
8
+ "debugId": "0645AE5FD94845BE64756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -10,13 +10,15 @@ import {
10
10
  useTheme
11
11
  } from "@mui/material";
12
12
  import {
13
+ shallowEqual,
14
+ strictEqual,
13
15
  useCellProps,
14
16
  useColProps,
15
17
  useRowProps,
16
18
  useTableContext,
17
- useTableCssVars
19
+ useTableCssVars,
20
+ useTableProps
18
21
  } from "@rttui/core";
19
- import { shallowEqual, useTableProps } from "@rttui/core";
20
22
  import React from "react";
21
23
  import { TableHeaderRow } from "./table_header_row.mjs";
22
24
  import { jsx } from "react/jsx-runtime";
@@ -24,8 +26,18 @@ var AnoccaSkin = {
24
26
  rowHeight: 32,
25
27
  headerRowHeight: 32,
26
28
  footerRowHeight: 32,
27
- OverlayContainer: ({ children }) => {
28
- const { width, height } = useTableContext();
29
+ OverlayContainer: React.memo(function OverlayContainer({ children }) {
30
+ const { width, height } = useTableProps({
31
+ selector: (props) => props.uiProps,
32
+ callback: ({ width: width2, height: height2 }) => {
33
+ return {
34
+ width: width2,
35
+ height: height2
36
+ };
37
+ },
38
+ dependencies: [{ type: "ui_props" }],
39
+ areCallbackOutputEqual: shallowEqual
40
+ });
29
41
  const cssVars = useTableCssVars();
30
42
  return /* @__PURE__ */ jsx("div", {
31
43
  className: "rttui-overlay-container",
@@ -37,7 +49,7 @@ var AnoccaSkin = {
37
49
  },
38
50
  children
39
51
  });
40
- },
52
+ }),
41
53
  OuterContainer: ({ children }) => {
42
54
  const { tableContainerRef } = useTableContext();
43
55
  return /* @__PURE__ */ jsx(Paper, {
@@ -145,7 +157,7 @@ var AnoccaSkin = {
145
157
  children
146
158
  });
147
159
  },
148
- PinnedCols: ({ children, position }) => {
160
+ PinnedCols: React.memo(({ children, position }) => {
149
161
  const style = {
150
162
  position: "sticky",
151
163
  zIndex: 3,
@@ -162,14 +174,18 @@ var AnoccaSkin = {
162
174
  sx: style,
163
175
  children
164
176
  });
165
- },
166
- TableRowWrapper: React.forwardRef(({ children }, ref) => {
177
+ }),
178
+ TableRowWrapper: React.memo(React.forwardRef(({ children }, ref) => {
167
179
  const theme = useTheme();
168
- const { flatIndex } = useRowProps((row) => {
169
- return { flatIndex: row.flatIndex };
180
+ const { relativeIndex, rowIndex } = useRowProps({
181
+ callback: (row) => {
182
+ return { relativeIndex: row.relativeIndex, rowIndex: row.rowIndex };
183
+ },
184
+ areCallbackOutputEqual: shallowEqual,
185
+ dependencies: [{ type: "tanstack_table" }]
170
186
  });
171
187
  const backgroundColor = (theme2) => {
172
- const baseColor = flatIndex % 2 === 0 ? theme2.palette.background.paper : theme2.palette.mode === "dark" ? theme2.palette.grey[900] : theme2.palette.grey[100];
188
+ const baseColor = relativeIndex % 2 === 0 ? theme2.palette.background.paper : theme2.palette.mode === "dark" ? theme2.palette.grey[900] : theme2.palette.grey[100];
173
189
  return baseColor;
174
190
  };
175
191
  const vars = {
@@ -184,12 +200,12 @@ var AnoccaSkin = {
184
200
  justifyContent: "flex-start",
185
201
  alignItems: "stretch"
186
202
  },
187
- "data-index": flatIndex,
203
+ "data-index": rowIndex,
188
204
  ref,
189
205
  children
190
206
  });
191
- }),
192
- TableRow: ({ children }) => {
207
+ })),
208
+ TableRow: React.memo(({ children }) => {
193
209
  return /* @__PURE__ */ jsx(TableRow, {
194
210
  component: "div",
195
211
  className: "table-row",
@@ -209,10 +225,16 @@ var AnoccaSkin = {
209
225
  },
210
226
  children
211
227
  });
212
- },
213
- TableRowExpandedContent: ({ children }) => {
214
- const { leafColLength } = useTableProps((table) => {
215
- return { leafColLength: table.getAllLeafColumns().length };
228
+ }),
229
+ TableRowExpandedContent: React.memo(({ children }) => {
230
+ const { leafColLength } = useTableProps({
231
+ callback: (table) => {
232
+ return {
233
+ leafColLength: table.tanstackTable.getAllLeafColumns().length
234
+ };
235
+ },
236
+ dependencies: [{ type: "tanstack_table" }],
237
+ areCallbackOutputEqual: strictEqual
216
238
  });
217
239
  return /* @__PURE__ */ jsx(TableRow, {
218
240
  component: "div",
@@ -230,8 +252,8 @@ var AnoccaSkin = {
230
252
  children
231
253
  })
232
254
  });
233
- },
234
- Cell: React.memo(React.forwardRef(({ isMeasuring, children }, ref) => {
255
+ }),
256
+ Cell: React.memo(React.forwardRef(function Cell({ isMeasureInstance, children }, ref) {
235
257
  const {
236
258
  isPinned,
237
259
  isLastPinned,
@@ -239,26 +261,26 @@ var AnoccaSkin = {
239
261
  isLastCenter,
240
262
  width,
241
263
  isSomeColumnsPinnedRight
242
- } = useCellProps((cell, table) => {
243
- const state = cell.vheader.getState();
244
- return {
245
- isPinned: state.isPinned,
246
- isLastPinned: state.isLastPinned,
247
- isLast: state.isLast,
248
- isLastCenter: state.isLastCenter,
249
- width: state.width,
250
- isSomeColumnsPinnedRight: table.getIsSomeColumnsPinned("right")
251
- };
252
- }, {
253
- arePropsEqual: (prev, next) => {
254
- return shallowEqual(prev, next, ["content"]);
255
- }
264
+ } = useCellProps({
265
+ callback: (cell, table) => {
266
+ const state = cell.header.state;
267
+ return {
268
+ isPinned: state.isPinned,
269
+ isLastPinned: state.isLastPinned,
270
+ isLast: state.isLast,
271
+ isLastCenter: state.isLastCenter,
272
+ width: state.width,
273
+ isSomeColumnsPinnedRight: table.tanstackTable.getIsSomeColumnsPinned("right")
274
+ };
275
+ },
276
+ areCallbackOutputEqual: shallowEqual,
277
+ dependencies: [{ type: "tanstack_table" }]
256
278
  });
257
279
  return /* @__PURE__ */ jsx(TableCell, {
258
280
  className: "td",
259
281
  component: "div",
260
282
  ref,
261
- style: { width: isMeasuring ? "auto" : width },
283
+ style: { width: isMeasureInstance ? "auto" : width },
262
284
  sx: {
263
285
  height: "var(--row-height)",
264
286
  overflow: "hidden",
@@ -291,11 +313,13 @@ var AnoccaSkin = {
291
313
  });
292
314
  })),
293
315
  PinnedColsOverlay: ({ position }) => {
294
- const width = useTableProps((table) => {
295
- if (!table.getIsSomeColumnsPinned(position)) {
296
- return;
316
+ const width = useTableProps({
317
+ callback: (table) => {
318
+ if (!table.tanstackTable.getIsSomeColumnsPinned(position)) {
319
+ return;
320
+ }
321
+ return position === "left" ? table.tanstackTable.getLeftTotalSize() : table.tanstackTable.getRightTotalSize();
297
322
  }
298
- return position === "left" ? table.getLeftTotalSize() : table.getRightTotalSize();
299
323
  });
300
324
  if (width === undefined) {
301
325
  return null;
@@ -320,7 +344,7 @@ var AnoccaSkin = {
320
344
  });
321
345
  }
322
346
  };
323
- var TableHeaderCell = React.memo(React.forwardRef(({ isMeasuring, children }, ref) => {
347
+ var TableHeaderCell = React.memo(React.forwardRef(({ isMeasureInstance, children }, ref) => {
324
348
  const {
325
349
  isSomeColumnsPinnedRight,
326
350
  headerId,
@@ -329,17 +353,21 @@ var TableHeaderCell = React.memo(React.forwardRef(({ isMeasuring, children }, re
329
353
  isLast,
330
354
  isLastPinned,
331
355
  isLastCenter
332
- } = useColProps(({ vheader, table }) => {
333
- const state = vheader.getState();
334
- return {
335
- isSomeColumnsPinnedRight: table.getIsSomeColumnsPinned("right"),
336
- headerId: vheader.id,
337
- isPinned: state.isPinned,
338
- width: state.width,
339
- isLast: state.isLast,
340
- isLastPinned: state.isLastPinned,
341
- isLastCenter: state.isLastCenter
342
- };
356
+ } = useColProps({
357
+ callback: ({ vheader, selectorValue }) => {
358
+ const state = vheader.state;
359
+ return {
360
+ isSomeColumnsPinnedRight: selectorValue.tanstackTable.getIsSomeColumnsPinned("right"),
361
+ headerId: vheader.header.id,
362
+ isPinned: state.isPinned,
363
+ width: state.width,
364
+ isLast: state.isLast,
365
+ isLastPinned: state.isLastPinned,
366
+ isLastCenter: state.isLastCenter
367
+ };
368
+ },
369
+ areCallbackOutputEqual: shallowEqual,
370
+ dependencies: [{ type: "tanstack_table" }]
343
371
  });
344
372
  return /* @__PURE__ */ jsx(TableCell, {
345
373
  ref,
@@ -347,7 +375,7 @@ var TableHeaderCell = React.memo(React.forwardRef(({ isMeasuring, children }, re
347
375
  className: "th",
348
376
  "data-header-id": headerId,
349
377
  "data-is-pinned": isPinned,
350
- style: { width: isMeasuring ? "auto" : width },
378
+ style: { width: isMeasureInstance ? "auto" : width },
351
379
  sx: {
352
380
  transition: "background-color 0.2s ease",
353
381
  whiteSpace: "nowrap",
@@ -377,4 +405,4 @@ export {
377
405
  AnoccaSkin
378
406
  };
379
407
 
380
- //# debugId=E3F85326C401268564756E2164756E21
408
+ //# debugId=5127F7E8710CBE6564756E2164756E21
@@ -2,9 +2,9 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/anocca_skin.tsx"],
4
4
  "sourcesContent": [
5
- "import {\n Box,\n Paper,\n SxProps,\n TableBody,\n TableCell,\n TableFooter,\n TableHead,\n TableRow,\n Theme,\n useTheme,\n} from \"@mui/material\";\nimport {\n Skin,\n useCellProps,\n useColProps,\n useRowProps,\n useTableContext,\n useTableCssVars,\n} from \"@rttui/core\";\nimport { shallowEqual, useTableProps } from \"@rttui/core\";\nimport React, { CSSProperties } from \"react\";\nimport { TableHeaderRow } from \"./table_header_row.mjs\";\n\nconst AnoccaSkin: Skin = {\n rowHeight: 32,\n headerRowHeight: 32,\n footerRowHeight: 32,\n OverlayContainer: ({ children }) => {\n const { width, height } = useTableContext();\n const cssVars = useTableCssVars();\n return (\n <div\n className=\"rttui-overlay-container\"\n style={{\n position: \"relative\",\n width: width + \"px\",\n height: height + \"px\",\n ...cssVars,\n }}\n >\n {children}\n </div>\n );\n },\n OuterContainer: ({ children }) => {\n const { tableContainerRef } = useTableContext();\n\n return (\n <Paper\n ref={tableContainerRef}\n className=\"outer-container\"\n elevation={2}\n sx={{\n overflow: \"auto\",\n width: \"var(--table-container-width)\",\n height: \"var(--table-container-height)\",\n position: \"relative\",\n contain: \"paint\",\n willChange: \"transform\",\n borderRadius: 1,\n }}\n >\n {children}\n </Paper>\n );\n },\n TableScroller: () => {\n return (\n <div\n className=\"table-scroller\"\n style={{\n width: \"var(--table-width)\",\n height:\n \"calc(var(--table-height) + var(--header-height) + var(--footer-height))\",\n position: \"absolute\",\n }}\n ></div>\n );\n },\n TableHeader: ({ children }) => {\n return (\n <TableHead\n component=\"div\"\n className=\"thead\"\n sx={{\n position: \"sticky\",\n top: 0,\n width: \"var(--table-width)\",\n zIndex: 2,\n backgroundColor: (theme) => theme.palette.background.paper,\n boxShadow: (theme) => `0 1px 0 ${theme.palette.divider}`,\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: \"flex-start\",\n alignItems: \"stretch\",\n }}\n >\n {children}\n </TableHead>\n );\n },\n TableFooter: ({ children }) => {\n return (\n <TableFooter\n component=\"div\"\n className=\"table-footer\"\n sx={{\n position: \"sticky\",\n bottom: -1,\n width: \"var(--table-width)\",\n zIndex: 2,\n backgroundColor: (theme) => theme.palette.background.paper,\n boxShadow: (theme) => `0 -1px 0 ${theme.palette.divider}`,\n }}\n >\n {children}\n </TableFooter>\n );\n },\n HeaderRow: TableHeaderRow,\n HeaderCell: React.memo(\n React.forwardRef((props, ref) => {\n return <TableHeaderCell {...props} ref={ref} />;\n }),\n ),\n TableBody: ({ children }) => {\n return (\n <TableBody\n component=\"div\"\n className=\"table-body\"\n sx={{\n position: \"relative\",\n width: \"var(--table-width)\",\n height: \"var(--table-height)\",\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: \"flex-start\",\n alignItems: \"stretch\",\n }}\n >\n {children}\n </TableBody>\n );\n },\n PinnedRows: ({ children, position }) => {\n const style: SxProps<Theme> = {\n position: \"sticky\",\n zIndex: 3,\n };\n if (position === \"top\") {\n style.top = \"var(--header-height)\";\n style.borderBottom = (theme) => `1px solid ${theme.palette.divider}`;\n style.boxShadow =\n \"0 4px 8px -4px rgba(0, 0, 0, 0.15), 0 6px 12px -6px rgba(0, 0, 0, 0.1)\";\n } else if (position === \"bottom\") {\n style.bottom = \"var(--footer-height)\";\n style.borderTop = (theme) => `1px solid ${theme.palette.divider}`;\n style.boxShadow =\n \"0 -4px 8px -4px rgba(0, 0, 0, 0.15), 0 -6px 12px -6px rgba(0, 0, 0, 0.1)\";\n }\n\n const Component = position === \"top\" ? TableHead : TableFooter;\n\n return (\n <Component\n component=\"div\"\n className={`sticky-${position}-rows`}\n sx={style}\n >\n {children}\n </Component>\n );\n },\n PinnedCols: ({ children, position }) => {\n const style: SxProps<Theme> = {\n position: \"sticky\",\n zIndex: 3,\n display: \"flex\",\n };\n\n if (position === \"left\") {\n style.left = 0;\n } else if (position === \"right\") {\n style.right = 0;\n }\n\n return (\n <Box component=\"div\" className={`sticky-${position}-cols`} sx={style}>\n {children}\n </Box>\n );\n },\n\n TableRowWrapper: React.forwardRef(({ children }, ref) => {\n const theme = useTheme();\n const { flatIndex } = useRowProps((row) => {\n return { flatIndex: row.flatIndex };\n });\n const backgroundColor = (theme: Theme) => {\n const baseColor =\n flatIndex % 2 === 0\n ? theme.palette.background.paper\n : theme.palette.mode === \"dark\"\n ? theme.palette.grey[900]\n : theme.palette.grey[100];\n return baseColor;\n };\n\n const vars: Record<string, string> = {\n \"--row-background-color\": backgroundColor(theme),\n };\n\n return (\n <Box\n sx={{\n ...vars,\n width: \"var(--table-width)\",\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: \"flex-start\",\n alignItems: \"stretch\",\n }}\n data-index={flatIndex}\n ref={ref}\n >\n {children}\n </Box>\n );\n }),\n TableRow: ({ children }) => {\n return (\n <TableRow\n component=\"div\"\n className=\"table-row\"\n sx={{\n position: \"relative\",\n width: \"var(--table-width)\",\n display: \"flex\",\n height: \"var(--row-height)\",\n zIndex: 1,\n boxSizing: \"border-box\",\n backgroundColor: \"var(--row-background-color)\",\n \"&:hover\": {\n backgroundColor: (theme) => {\n // Always use solid background colors for all cells on hover\n return theme.palette.mode === \"dark\"\n ? \"#1e1e52\" // Dark blue solid color\n : \"#E3F2FD\"; // Light blue solid color\n },\n },\n }}\n >\n {children}\n </TableRow>\n );\n },\n TableRowExpandedContent: ({ children }) => {\n const { leafColLength } = useTableProps((table) => {\n return { leafColLength: table.getAllLeafColumns().length };\n });\n return (\n <TableRow\n component=\"div\"\n className=\"expanded-row\"\n sx={{\n backgroundColor: (theme) => theme.palette.background.default,\n }}\n >\n <TableCell\n component=\"div\"\n className=\"expanded-cell\"\n colSpan={leafColLength}\n sx={{\n padding: 2,\n }}\n >\n {children}\n </TableCell>\n </TableRow>\n );\n },\n Cell: React.memo(\n React.forwardRef(({ isMeasuring, children }, ref) => {\n const {\n isPinned,\n isLastPinned,\n isLast,\n isLastCenter,\n width,\n isSomeColumnsPinnedRight,\n } = useCellProps(\n (cell, table) => {\n const state = cell.vheader.getState();\n return {\n isPinned: state.isPinned,\n isLastPinned: state.isLastPinned,\n isLast: state.isLast,\n isLastCenter: state.isLastCenter,\n width: state.width,\n isSomeColumnsPinnedRight: table.getIsSomeColumnsPinned(\"right\"),\n };\n },\n {\n arePropsEqual: (prev, next) => {\n return shallowEqual(prev, next, [\"content\"]);\n },\n },\n );\n\n return (\n <TableCell\n className=\"td\"\n component=\"div\"\n ref={ref}\n style={{ width: isMeasuring ? \"auto\" : width }}\n sx={{\n height: \"var(--row-height)\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n zIndex: isPinned ? 5 : 0,\n boxSizing: \"border-box\",\n fontSize: \"0.875rem\",\n color: \"text.primary\",\n alignItems: \"center\",\n gap: \"8px\",\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignContent: \"center\",\n padding: \"6px 12px\",\n backgroundColor: \"var(--row-background-color)\",\n borderBottom: \"none\",\n flexShrink: 0,\n position: \"relative\",\n borderRight:\n ((isPinned === \"start\" && !isLastPinned) || !isPinned) &&\n !isLast &&\n !(isLastCenter && isSomeColumnsPinnedRight)\n ? (theme) => `1px solid ${theme.palette.divider}`\n : undefined,\n borderLeft:\n isPinned === \"end\" && !isLastPinned\n ? (theme) => `1px solid ${theme.palette.divider}`\n : undefined,\n \".table-row:hover &\": {\n backgroundColor: (theme) => {\n // Always use solid background colors for all cells on hover\n return theme.palette.mode === \"dark\"\n ? \"#1e1e52\" // Dark blue solid color\n : \"#E3F2FD\"; // Light blue solid color\n },\n zIndex: isPinned ? 2 : 0,\n },\n }}\n >\n {children}\n </TableCell>\n );\n }),\n ),\n PinnedColsOverlay: ({ position }) => {\n const width = useTableProps((table) => {\n if (!table.getIsSomeColumnsPinned(position)) {\n return undefined;\n }\n return position === \"left\"\n ? table.getLeftTotalSize()\n : table.getRightTotalSize();\n });\n\n if (width === undefined) {\n return null;\n }\n\n const style: CSSProperties = {\n width,\n [position]: 0,\n position: \"sticky\",\n top: 0,\n bottom: 0,\n zIndex: 20,\n pointerEvents: \"none\",\n };\n\n if (position === \"left\") {\n style.boxShadow =\n \"4px 0 8px -4px rgba(0, 0, 0, 0.15), 6px 0 12px -6px rgba(0, 0, 0, 0.1)\";\n } else if (position === \"right\") {\n style.boxShadow =\n \"-4px 0 8px -4px rgba(0, 0, 0, 0.15), -6px 0 12px -6px rgba(0, 0, 0, 0.1)\";\n }\n return <div className={`pinned-${position}-overlay`} style={style} />;\n },\n};\n\nconst TableHeaderCell = React.memo(\n React.forwardRef<\n HTMLDivElement,\n {\n isMeasuring: boolean;\n children: React.ReactNode;\n }\n >(({ isMeasuring, children }, ref) => {\n const {\n isSomeColumnsPinnedRight,\n headerId,\n isPinned,\n width,\n isLast,\n isLastPinned,\n isLastCenter,\n } = useColProps(({ vheader, table }) => {\n const state = vheader.getState();\n return {\n isSomeColumnsPinnedRight: table.getIsSomeColumnsPinned(\"right\"),\n headerId: vheader.id,\n isPinned: state.isPinned,\n width: state.width,\n isLast: state.isLast,\n isLastPinned: state.isLastPinned,\n isLastCenter: state.isLastCenter,\n };\n });\n\n return (\n <TableCell\n ref={ref}\n component=\"div\"\n className=\"th\"\n data-header-id={headerId}\n data-is-pinned={isPinned}\n style={{ width: isMeasuring ? \"auto\" : width }}\n sx={{\n transition: \"background-color 0.2s ease\",\n whiteSpace: \"nowrap\",\n zIndex: isPinned ? 1 : 0,\n display: \"flex\",\n overflow: \"hidden\",\n height: \"var(--header-row-height)\",\n position: \"relative\",\n flexShrink: 0,\n alignItems: \"center\",\n gap: \"8px\",\n justifyContent: \"space-between\",\n padding: \"6px 12px\",\n boxSizing: \"border-box\",\n fontWeight: 600,\n backgroundColor: isPinned\n ? (theme) => theme.palette.background.paper\n : \"transparent\",\n borderRight:\n ((isPinned === \"start\" && !isLastPinned) || !isPinned) &&\n !isLast &&\n !(isLastCenter && isSomeColumnsPinnedRight)\n ? (theme) => `1px solid ${theme.palette.divider}`\n : undefined,\n borderLeft:\n isPinned === \"end\" && !isLastPinned\n ? (theme) => `1px solid ${theme.palette.divider}`\n : undefined,\n }}\n >\n <div style={{ flex: 1, display: \"flex\", justifyContent: \"flex-start\" }}>\n {children}\n </div>\n </TableCell>\n );\n }),\n);\n\nexport { AnoccaSkin };\n"
5
+ "import {\n Box,\n Paper,\n SxProps,\n TableBody,\n TableCell,\n TableFooter,\n TableHead,\n TableRow,\n Theme,\n useTheme,\n} from \"@mui/material\";\nimport {\n shallowEqual,\n Skin,\n strictEqual,\n useCellProps,\n useColProps,\n useRowProps,\n useTableContext,\n useTableCssVars,\n useTableProps,\n} from \"@rttui/core\";\nimport React, { CSSProperties } from \"react\";\nimport { TableHeaderRow } from \"./table_header_row.mjs\";\n\nconst AnoccaSkin: Skin = {\n rowHeight: 32,\n headerRowHeight: 32,\n footerRowHeight: 32,\n OverlayContainer: React.memo(function OverlayContainer({ children }) {\n const { width, height } = useTableProps({\n selector: (props) => props.uiProps,\n callback: ({ width, height }) => {\n return {\n width,\n height,\n };\n },\n dependencies: [{ type: \"ui_props\" }],\n areCallbackOutputEqual: shallowEqual,\n });\n const cssVars = useTableCssVars();\n return (\n <div\n className=\"rttui-overlay-container\"\n style={{\n position: \"relative\",\n width: width + \"px\",\n height: height + \"px\",\n ...cssVars,\n }}\n >\n {children}\n </div>\n );\n }),\n OuterContainer: ({ children }) => {\n const { tableContainerRef } = useTableContext();\n\n return (\n <Paper\n ref={tableContainerRef}\n className=\"outer-container\"\n elevation={2}\n sx={{\n overflow: \"auto\",\n width: \"var(--table-container-width)\",\n height: \"var(--table-container-height)\",\n position: \"relative\",\n contain: \"paint\",\n willChange: \"transform\",\n borderRadius: 1,\n }}\n >\n {children}\n </Paper>\n );\n },\n TableScroller: () => {\n return (\n <div\n className=\"table-scroller\"\n style={{\n width: \"var(--table-width)\",\n height:\n \"calc(var(--table-height) + var(--header-height) + var(--footer-height))\",\n position: \"absolute\",\n }}\n ></div>\n );\n },\n TableHeader: ({ children }) => {\n return (\n <TableHead\n component=\"div\"\n className=\"thead\"\n sx={{\n position: \"sticky\",\n top: 0,\n width: \"var(--table-width)\",\n zIndex: 2,\n backgroundColor: (theme) => theme.palette.background.paper,\n boxShadow: (theme) => `0 1px 0 ${theme.palette.divider}`,\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: \"flex-start\",\n alignItems: \"stretch\",\n }}\n >\n {children}\n </TableHead>\n );\n },\n TableFooter: ({ children }) => {\n return (\n <TableFooter\n component=\"div\"\n className=\"table-footer\"\n sx={{\n position: \"sticky\",\n bottom: -1,\n width: \"var(--table-width)\",\n zIndex: 2,\n backgroundColor: (theme) => theme.palette.background.paper,\n boxShadow: (theme) => `0 -1px 0 ${theme.palette.divider}`,\n }}\n >\n {children}\n </TableFooter>\n );\n },\n HeaderRow: TableHeaderRow,\n HeaderCell: React.memo(\n React.forwardRef((props, ref) => {\n return <TableHeaderCell {...props} ref={ref} />;\n }),\n ),\n TableBody: ({ children }) => {\n return (\n <TableBody\n component=\"div\"\n className=\"table-body\"\n sx={{\n position: \"relative\",\n width: \"var(--table-width)\",\n height: \"var(--table-height)\",\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: \"flex-start\",\n alignItems: \"stretch\",\n }}\n >\n {children}\n </TableBody>\n );\n },\n PinnedRows: ({ children, position }) => {\n const style: SxProps<Theme> = {\n position: \"sticky\",\n zIndex: 3,\n };\n if (position === \"top\") {\n style.top = \"var(--header-height)\";\n style.borderBottom = (theme) => `1px solid ${theme.palette.divider}`;\n style.boxShadow =\n \"0 4px 8px -4px rgba(0, 0, 0, 0.15), 0 6px 12px -6px rgba(0, 0, 0, 0.1)\";\n } else if (position === \"bottom\") {\n style.bottom = \"var(--footer-height)\";\n style.borderTop = (theme) => `1px solid ${theme.palette.divider}`;\n style.boxShadow =\n \"0 -4px 8px -4px rgba(0, 0, 0, 0.15), 0 -6px 12px -6px rgba(0, 0, 0, 0.1)\";\n }\n\n const Component = position === \"top\" ? TableHead : TableFooter;\n\n return (\n <Component\n component=\"div\"\n className={`sticky-${position}-rows`}\n sx={style}\n >\n {children}\n </Component>\n );\n },\n PinnedCols: React.memo(({ children, position }) => {\n const style: SxProps<Theme> = {\n position: \"sticky\",\n zIndex: 3,\n display: \"flex\",\n };\n\n if (position === \"left\") {\n style.left = 0;\n } else if (position === \"right\") {\n style.right = 0;\n }\n\n return (\n <Box component=\"div\" className={`sticky-${position}-cols`} sx={style}>\n {children}\n </Box>\n );\n }),\n\n TableRowWrapper: React.memo(\n React.forwardRef(({ children }, ref) => {\n const theme = useTheme();\n const { relativeIndex, rowIndex } = useRowProps({\n callback: (row) => {\n return { relativeIndex: row.relativeIndex, rowIndex: row.rowIndex };\n },\n areCallbackOutputEqual: shallowEqual,\n dependencies: [{ type: \"tanstack_table\" }],\n });\n const backgroundColor = (theme: Theme) => {\n const baseColor =\n relativeIndex % 2 === 0\n ? theme.palette.background.paper\n : theme.palette.mode === \"dark\"\n ? theme.palette.grey[900]\n : theme.palette.grey[100];\n return baseColor;\n };\n\n const vars: Record<string, string> = {\n \"--row-background-color\": backgroundColor(theme),\n };\n\n return (\n <Box\n sx={{\n ...vars,\n width: \"var(--table-width)\",\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: \"flex-start\",\n alignItems: \"stretch\",\n }}\n data-index={rowIndex}\n ref={ref}\n >\n {children}\n </Box>\n );\n }),\n ),\n TableRow: React.memo(({ children }) => {\n return (\n <TableRow\n component=\"div\"\n className=\"table-row\"\n sx={{\n position: \"relative\",\n width: \"var(--table-width)\",\n display: \"flex\",\n height: \"var(--row-height)\",\n zIndex: 1,\n boxSizing: \"border-box\",\n backgroundColor: \"var(--row-background-color)\",\n \"&:hover\": {\n backgroundColor: (theme) => {\n // Always use solid background colors for all cells on hover\n return theme.palette.mode === \"dark\"\n ? \"#1e1e52\" // Dark blue solid color\n : \"#E3F2FD\"; // Light blue solid color\n },\n },\n }}\n >\n {children}\n </TableRow>\n );\n }),\n TableRowExpandedContent: React.memo(({ children }) => {\n const { leafColLength } = useTableProps({\n callback: (table) => {\n return {\n leafColLength: table.tanstackTable.getAllLeafColumns().length,\n };\n },\n dependencies: [{ type: \"tanstack_table\" }],\n areCallbackOutputEqual: strictEqual,\n });\n return (\n <TableRow\n component=\"div\"\n className=\"expanded-row\"\n sx={{\n backgroundColor: (theme) => theme.palette.background.default,\n }}\n >\n <TableCell\n component=\"div\"\n className=\"expanded-cell\"\n colSpan={leafColLength}\n sx={{\n padding: 2,\n }}\n >\n {children}\n </TableCell>\n </TableRow>\n );\n }),\n Cell: React.memo(\n React.forwardRef(function Cell({ isMeasureInstance, children }, ref) {\n const {\n isPinned,\n isLastPinned,\n isLast,\n isLastCenter,\n width,\n isSomeColumnsPinnedRight,\n } = useCellProps({\n callback: (cell, table) => {\n const state = cell.header.state;\n return {\n isPinned: state.isPinned,\n isLastPinned: state.isLastPinned,\n isLast: state.isLast,\n isLastCenter: state.isLastCenter,\n width: state.width,\n isSomeColumnsPinnedRight:\n table.tanstackTable.getIsSomeColumnsPinned(\"right\"),\n };\n },\n areCallbackOutputEqual: shallowEqual,\n dependencies: [{ type: \"tanstack_table\" }],\n });\n\n return (\n <TableCell\n className=\"td\"\n component=\"div\"\n ref={ref}\n style={{ width: isMeasureInstance ? \"auto\" : width }}\n sx={{\n height: \"var(--row-height)\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n zIndex: isPinned ? 5 : 0,\n boxSizing: \"border-box\",\n fontSize: \"0.875rem\",\n color: \"text.primary\",\n alignItems: \"center\",\n gap: \"8px\",\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignContent: \"center\",\n padding: \"6px 12px\",\n backgroundColor: \"var(--row-background-color)\",\n borderBottom: \"none\",\n flexShrink: 0,\n position: \"relative\",\n borderRight:\n ((isPinned === \"start\" && !isLastPinned) || !isPinned) &&\n !isLast &&\n !(isLastCenter && isSomeColumnsPinnedRight)\n ? (theme) => `1px solid ${theme.palette.divider}`\n : undefined,\n borderLeft:\n isPinned === \"end\" && !isLastPinned\n ? (theme) => `1px solid ${theme.palette.divider}`\n : undefined,\n \".table-row:hover &\": {\n backgroundColor: (theme) => {\n // Always use solid background colors for all cells on hover\n return theme.palette.mode === \"dark\"\n ? \"#1e1e52\" // Dark blue solid color\n : \"#E3F2FD\"; // Light blue solid color\n },\n zIndex: isPinned ? 2 : 0,\n },\n }}\n >\n {children}\n </TableCell>\n );\n }),\n ),\n PinnedColsOverlay: ({ position }) => {\n const width = useTableProps({\n callback: (table) => {\n if (!table.tanstackTable.getIsSomeColumnsPinned(position)) {\n return undefined;\n }\n return position === \"left\"\n ? table.tanstackTable.getLeftTotalSize()\n : table.tanstackTable.getRightTotalSize();\n },\n });\n\n if (width === undefined) {\n return null;\n }\n\n const style: CSSProperties = {\n width,\n [position]: 0,\n position: \"sticky\",\n top: 0,\n bottom: 0,\n zIndex: 20,\n pointerEvents: \"none\",\n };\n\n if (position === \"left\") {\n style.boxShadow =\n \"4px 0 8px -4px rgba(0, 0, 0, 0.15), 6px 0 12px -6px rgba(0, 0, 0, 0.1)\";\n } else if (position === \"right\") {\n style.boxShadow =\n \"-4px 0 8px -4px rgba(0, 0, 0, 0.15), -6px 0 12px -6px rgba(0, 0, 0, 0.1)\";\n }\n return <div className={`pinned-${position}-overlay`} style={style} />;\n },\n};\n\nconst TableHeaderCell = React.memo(\n React.forwardRef<\n HTMLDivElement,\n {\n isMeasureInstance: boolean;\n children: React.ReactNode;\n }\n >(({ isMeasureInstance, children }, ref) => {\n const {\n isSomeColumnsPinnedRight,\n headerId,\n isPinned,\n width,\n isLast,\n isLastPinned,\n isLastCenter,\n } = useColProps({\n callback: ({ vheader, selectorValue }) => {\n const state = vheader.state;\n return {\n isSomeColumnsPinnedRight:\n selectorValue.tanstackTable.getIsSomeColumnsPinned(\"right\"),\n headerId: vheader.header.id,\n isPinned: state.isPinned,\n width: state.width,\n isLast: state.isLast,\n isLastPinned: state.isLastPinned,\n isLastCenter: state.isLastCenter,\n };\n },\n areCallbackOutputEqual: shallowEqual,\n dependencies: [{ type: \"tanstack_table\" }],\n });\n\n return (\n <TableCell\n ref={ref}\n component=\"div\"\n className=\"th\"\n data-header-id={headerId}\n data-is-pinned={isPinned}\n style={{ width: isMeasureInstance ? \"auto\" : width }}\n sx={{\n transition: \"background-color 0.2s ease\",\n whiteSpace: \"nowrap\",\n zIndex: isPinned ? 1 : 0,\n display: \"flex\",\n overflow: \"hidden\",\n height: \"var(--header-row-height)\",\n position: \"relative\",\n flexShrink: 0,\n alignItems: \"center\",\n gap: \"8px\",\n justifyContent: \"space-between\",\n padding: \"6px 12px\",\n boxSizing: \"border-box\",\n fontWeight: 600,\n backgroundColor: isPinned\n ? (theme) => theme.palette.background.paper\n : \"transparent\",\n borderRight:\n ((isPinned === \"start\" && !isLastPinned) || !isPinned) &&\n !isLast &&\n !(isLastCenter && isSomeColumnsPinnedRight)\n ? (theme) => `1px solid ${theme.palette.divider}`\n : undefined,\n borderLeft:\n isPinned === \"end\" && !isLastPinned\n ? (theme) => `1px solid ${theme.palette.divider}`\n : undefined,\n }}\n >\n <div style={{ flex: 1, display: \"flex\", justifyContent: \"flex-start\" }}>\n {children}\n </div>\n </TableCell>\n );\n }),\n);\n\nexport { AnoccaSkin };\n"
6
6
  ],
7
- "mappings": "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",
8
- "debugId": "E3F85326C401268564756E2164756E21",
7
+ "mappings": "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",
8
+ "debugId": "5127F7E8710CBE6564756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -1,12 +1,16 @@
1
1
  // packages/skin-anocca/src/header_pin_buttons.tsx
2
- import { useColProps, useColRef } from "@rttui/core";
2
+ import { shallowEqual, useColProps, useColRef } from "@rttui/core";
3
3
  import { MdChevronLeft, MdChevronRight, MdClose } from "react-icons/md";
4
4
  import { jsx, jsxs } from "react/jsx-runtime";
5
5
  var HeaderPinButtons = () => {
6
- const { isPinned, canPin } = useColProps(({ vheader }) => ({
7
- isPinned: vheader.getState().isPinned,
8
- canPin: vheader.header().column.getCanPin()
9
- }));
6
+ const { isPinned, canPin } = useColProps({
7
+ callback: ({ vheader }) => ({
8
+ isPinned: vheader.state.isPinned,
9
+ canPin: vheader.header.column.getCanPin()
10
+ }),
11
+ dependencies: [{ type: "tanstack_table" }],
12
+ areCallbackOutputEqual: shallowEqual
13
+ });
10
14
  const headerRef = useColRef();
11
15
  if (!canPin) {
12
16
  return null;
@@ -26,7 +30,7 @@ var HeaderPinButtons = () => {
26
30
  opacity: 0.5
27
31
  },
28
32
  onClick: () => {
29
- headerRef.current.column.pin("left");
33
+ headerRef().column.pin("left");
30
34
  },
31
35
  children: /* @__PURE__ */ jsx(MdChevronLeft, {})
32
36
  }) : null,
@@ -42,7 +46,7 @@ var HeaderPinButtons = () => {
42
46
  opacity: 0.7
43
47
  },
44
48
  onClick: () => {
45
- headerRef.current.column.pin(false);
49
+ headerRef().column.pin(false);
46
50
  },
47
51
  children: /* @__PURE__ */ jsx(MdClose, {})
48
52
  }) : null,
@@ -58,7 +62,7 @@ var HeaderPinButtons = () => {
58
62
  opacity: 0.5
59
63
  },
60
64
  onClick: () => {
61
- headerRef.current.column.pin("right");
65
+ headerRef().column.pin("right");
62
66
  },
63
67
  children: /* @__PURE__ */ jsx(MdChevronRight, {})
64
68
  }) : null
@@ -69,4 +73,4 @@ export {
69
73
  HeaderPinButtons
70
74
  };
71
75
 
72
- //# debugId=5FE86953EC01456464756E2164756E21
76
+ //# debugId=BFF9E65644399B9D64756E2164756E21
@@ -2,9 +2,9 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/header_pin_buttons.tsx"],
4
4
  "sourcesContent": [
5
- "import { useColProps, useColRef } from \"@rttui/core\";\nimport { MdChevronLeft, MdChevronRight, MdClose } from \"react-icons/md\";\n\nexport const HeaderPinButtons = () => {\n const { isPinned, canPin } = useColProps(({ vheader }) => ({\n isPinned: vheader.getState().isPinned,\n canPin: vheader.header().column.getCanPin(),\n }));\n\n const headerRef = useColRef();\n if (!canPin) {\n return null;\n }\n return (\n <div style={{ display: \"flex\", gap: \"-4px\", justifyContent: \"flex-start\" }}>\n {isPinned !== \"start\" ? (\n <button\n style={{\n border: \"none\",\n background: \"transparent\",\n cursor: \"pointer\",\n padding: \"2px\",\n borderRadius: \"4px\",\n display: \"flex\",\n alignItems: \"center\",\n opacity: 0.5,\n }}\n onClick={() => {\n headerRef.current.column.pin(\"left\");\n }}\n >\n <MdChevronLeft />\n </button>\n ) : null}\n {isPinned ? (\n <button\n style={{\n border: \"none\",\n background: \"transparent\",\n cursor: \"pointer\",\n padding: \"2px\",\n borderRadius: \"4px\",\n display: \"flex\",\n alignItems: \"center\",\n opacity: 0.7,\n }}\n onClick={() => {\n headerRef.current.column.pin(false);\n }}\n >\n <MdClose />\n </button>\n ) : null}\n {isPinned !== \"end\" ? (\n <button\n style={{\n border: \"none\",\n background: \"transparent\",\n cursor: \"pointer\",\n padding: \"2px\",\n borderRadius: \"4px\",\n display: \"flex\",\n alignItems: \"center\",\n opacity: 0.5,\n }}\n onClick={() => {\n headerRef.current.column.pin(\"right\");\n }}\n >\n <MdChevronRight />\n </button>\n ) : null}\n </div>\n );\n};\n"
5
+ "import { shallowEqual, useColProps, useColRef } from \"@rttui/core\";\nimport { MdChevronLeft, MdChevronRight, MdClose } from \"react-icons/md\";\n\nexport const HeaderPinButtons = () => {\n const { isPinned, canPin } = useColProps({\n callback: ({ vheader }) => ({\n isPinned: vheader.state.isPinned,\n canPin: vheader.header.column.getCanPin(),\n }),\n dependencies: [{ type: \"tanstack_table\" }],\n areCallbackOutputEqual: shallowEqual,\n });\n\n const headerRef = useColRef();\n if (!canPin) {\n return null;\n }\n return (\n <div style={{ display: \"flex\", gap: \"-4px\", justifyContent: \"flex-start\" }}>\n {isPinned !== \"start\" ? (\n <button\n style={{\n border: \"none\",\n background: \"transparent\",\n cursor: \"pointer\",\n padding: \"2px\",\n borderRadius: \"4px\",\n display: \"flex\",\n alignItems: \"center\",\n opacity: 0.5,\n }}\n onClick={() => {\n headerRef().column.pin(\"left\");\n }}\n >\n <MdChevronLeft />\n </button>\n ) : null}\n {isPinned ? (\n <button\n style={{\n border: \"none\",\n background: \"transparent\",\n cursor: \"pointer\",\n padding: \"2px\",\n borderRadius: \"4px\",\n display: \"flex\",\n alignItems: \"center\",\n opacity: 0.7,\n }}\n onClick={() => {\n headerRef().column.pin(false);\n }}\n >\n <MdClose />\n </button>\n ) : null}\n {isPinned !== \"end\" ? (\n <button\n style={{\n border: \"none\",\n background: \"transparent\",\n cursor: \"pointer\",\n padding: \"2px\",\n borderRadius: \"4px\",\n display: \"flex\",\n alignItems: \"center\",\n opacity: 0.5,\n }}\n onClick={() => {\n headerRef().column.pin(\"right\");\n }}\n >\n <MdChevronRight />\n </button>\n ) : null}\n </div>\n );\n};\n"
6
6
  ],
7
- "mappings": ";AAAA;AACA;AAAA;AAEO,IAAM,mBAAmB,MAAM;AAAA,EACpC,QAAQ,UAAU,WAAW,YAAY,GAAG,eAAe;AAAA,IACzD,UAAU,QAAQ,SAAS,EAAE;AAAA,IAC7B,QAAQ,QAAQ,OAAO,EAAE,OAAO,UAAU;AAAA,EAC5C,EAAE;AAAA,EAEF,MAAM,YAAY,UAAU;AAAA,EAC5B,KAAK,QAAQ;AAAA,IACX,OAAO;AAAA,EACT;AAAA,EACA,uBACE,KA0DE,OA1DF;AAAA,IAAK,OAAO,EAAE,SAAS,QAAQ,KAAK,QAAQ,gBAAgB,aAAa;AAAA,IAAzE,UA0DE;AAAA,MAzDC,aAAa,0BACZ,IAgBE,UAhBF;AAAA,QACE,OAAO;AAAA,UACL,QAAQ;AAAA,UACR,YAAY;AAAA,UACZ,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,cAAc;AAAA,UACd,SAAS;AAAA,UACT,YAAY;AAAA,UACZ,SAAS;AAAA,QACX;AAAA,QACA,SAAS,MAAM;AAAA,UACb,UAAU,QAAQ,OAAO,IAAI,MAAM;AAAA;AAAA,QAZvC,0BAeE,IAAC,eAAD,EAAe;AAAA,OACf,IACA;AAAA,MACH,2BACC,IAgBE,UAhBF;AAAA,QACE,OAAO;AAAA,UACL,QAAQ;AAAA,UACR,YAAY;AAAA,UACZ,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,cAAc;AAAA,UACd,SAAS;AAAA,UACT,YAAY;AAAA,UACZ,SAAS;AAAA,QACX;AAAA,QACA,SAAS,MAAM;AAAA,UACb,UAAU,QAAQ,OAAO,IAAI,KAAK;AAAA;AAAA,QAZtC,0BAeE,IAAC,SAAD,EAAS;AAAA,OACT,IACA;AAAA,MACH,aAAa,wBACZ,IAgBE,UAhBF;AAAA,QACE,OAAO;AAAA,UACL,QAAQ;AAAA,UACR,YAAY;AAAA,UACZ,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,cAAc;AAAA,UACd,SAAS;AAAA,UACT,YAAY;AAAA,UACZ,SAAS;AAAA,QACX;AAAA,QACA,SAAS,MAAM;AAAA,UACb,UAAU,QAAQ,OAAO,IAAI,OAAO;AAAA;AAAA,QAZxC,0BAeE,IAAC,gBAAD,EAAgB;AAAA,OAChB,IACA;AAAA;AAAA,GACJ;AAAA;",
8
- "debugId": "5FE86953EC01456464756E2164756E21",
7
+ "mappings": ";AAAA;AACA;AAAA;AAEO,IAAM,mBAAmB,MAAM;AAAA,EACpC,QAAQ,UAAU,WAAW,YAAY;AAAA,IACvC,UAAU,GAAG,eAAe;AAAA,MAC1B,UAAU,QAAQ,MAAM;AAAA,MACxB,QAAQ,QAAQ,OAAO,OAAO,UAAU;AAAA,IAC1C;AAAA,IACA,cAAc,CAAC,EAAE,MAAM,iBAAiB,CAAC;AAAA,IACzC,wBAAwB;AAAA,EAC1B,CAAC;AAAA,EAED,MAAM,YAAY,UAAU;AAAA,EAC5B,KAAK,QAAQ;AAAA,IACX,OAAO;AAAA,EACT;AAAA,EACA,uBACE,KA0DE,OA1DF;AAAA,IAAK,OAAO,EAAE,SAAS,QAAQ,KAAK,QAAQ,gBAAgB,aAAa;AAAA,IAAzE,UA0DE;AAAA,MAzDC,aAAa,0BACZ,IAgBE,UAhBF;AAAA,QACE,OAAO;AAAA,UACL,QAAQ;AAAA,UACR,YAAY;AAAA,UACZ,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,cAAc;AAAA,UACd,SAAS;AAAA,UACT,YAAY;AAAA,UACZ,SAAS;AAAA,QACX;AAAA,QACA,SAAS,MAAM;AAAA,UACb,UAAU,EAAE,OAAO,IAAI,MAAM;AAAA;AAAA,QAZjC,0BAeE,IAAC,eAAD,EAAe;AAAA,OACf,IACA;AAAA,MACH,2BACC,IAgBE,UAhBF;AAAA,QACE,OAAO;AAAA,UACL,QAAQ;AAAA,UACR,YAAY;AAAA,UACZ,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,cAAc;AAAA,UACd,SAAS;AAAA,UACT,YAAY;AAAA,UACZ,SAAS;AAAA,QACX;AAAA,QACA,SAAS,MAAM;AAAA,UACb,UAAU,EAAE,OAAO,IAAI,KAAK;AAAA;AAAA,QAZhC,0BAeE,IAAC,SAAD,EAAS;AAAA,OACT,IACA;AAAA,MACH,aAAa,wBACZ,IAgBE,UAhBF;AAAA,QACE,OAAO;AAAA,UACL,QAAQ;AAAA,UACR,YAAY;AAAA,UACZ,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,cAAc;AAAA,UACd,SAAS;AAAA,UACT,YAAY;AAAA,UACZ,SAAS;AAAA,QACX;AAAA,QACA,SAAS,MAAM;AAAA,UACb,UAAU,EAAE,OAAO,IAAI,OAAO;AAAA;AAAA,QAZlC,0BAeE,IAAC,gBAAD,EAAgB;AAAA,OAChB,IACA;AAAA;AAAA,GACJ;AAAA;",
8
+ "debugId": "BFF9E65644399B9D64756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@rttui/skin-anocca",
3
- "version": "1.0.30",
3
+ "version": "1.0.32",
4
4
  "type": "module"
5
5
  }
@@ -3,14 +3,19 @@ import { Box } from "@mui/material";
3
3
  import { useColRef, useCrushHeader } from "@rttui/core";
4
4
  import { useColProps } from "@rttui/core";
5
5
  import React from "react";
6
+ import { shallowEqual } from "@rttui/core";
6
7
  import { jsx, Fragment } from "react/jsx-runtime";
7
8
  function Resizer() {
8
9
  const crushHeader = useCrushHeader();
9
- const { canResize, isResizing } = useColProps(({ column }) => {
10
- return {
11
- canResize: column.getCanResize(),
12
- isResizing: column.getIsResizing()
13
- };
10
+ const { canResize, isResizing } = useColProps({
11
+ callback: ({ column }) => {
12
+ return {
13
+ canResize: column.getCanResize(),
14
+ isResizing: column.getIsResizing()
15
+ };
16
+ },
17
+ areCallbackOutputEqual: shallowEqual,
18
+ dependencies: [{ type: "tanstack_table" }]
14
19
  });
15
20
  const colRef = useColRef();
16
21
  React.useEffect(() => {
@@ -34,11 +39,13 @@ function Resizer() {
34
39
  }
35
40
  return /* @__PURE__ */ jsx(Fragment, {
36
41
  children: canResize && /* @__PURE__ */ jsx(Box, {
37
- onDoubleClick: () => {
38
- crushHeader(colRef.current.header);
42
+ onDoubleClick: (ev) => {
43
+ crushHeader(colRef().header);
44
+ ev.stopPropagation();
45
+ ev.preventDefault();
39
46
  },
40
- onMouseDown: (ev) => colRef.current.header.getResizeHandler()(ev),
41
- onTouchStart: (ev) => colRef.current.header.getResizeHandler()(ev),
47
+ onMouseDown: (ev) => colRef().header.getResizeHandler()(ev),
48
+ onTouchStart: (ev) => colRef().header.getResizeHandler()(ev),
42
49
  className: `resizer ${isResizing ? "isResizing" : ""}`,
43
50
  sx: {
44
51
  position: "absolute",
@@ -65,4 +72,4 @@ export {
65
72
  Resizer
66
73
  };
67
74
 
68
- //# debugId=100EB075C60209B764756E2164756E21
75
+ //# debugId=8C805E33E6EA178264756E2164756E21
@@ -2,9 +2,9 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/resizer.tsx"],
4
4
  "sourcesContent": [
5
- "import { Box } from \"@mui/material\";\nimport { useColRef, useCrushHeader } from \"@rttui/core\";\nimport { useColProps } from \"@rttui/core\";\nimport React from \"react\";\n\nexport function Resizer() {\n const crushHeader = useCrushHeader();\n\n const { canResize, isResizing } = useColProps(({ column }) => {\n return {\n canResize: column.getCanResize(),\n isResizing: column.getIsResizing(),\n };\n });\n\n const colRef = useColRef();\n\n React.useEffect(() => {\n if (!isResizing) {\n return;\n }\n const preventDefault = (e: Event) => {\n e.preventDefault();\n };\n document.body.addEventListener(\"select\", preventDefault);\n document.body.addEventListener(\"selectstart\", preventDefault);\n document.body.style.userSelect = \"none\";\n return () => {\n document.body.removeEventListener(\"select\", preventDefault);\n document.body.removeEventListener(\"selectstart\", preventDefault);\n document.body.style.userSelect = \"auto\";\n };\n }, [isResizing]);\n\n if (!canResize) {\n return null;\n }\n\n return (\n <>\n {canResize && (\n <Box\n {...{\n onDoubleClick: () => {\n crushHeader(colRef.current.header);\n },\n onMouseDown: (ev: any) => colRef.current.header.getResizeHandler()(ev),\n onTouchStart: (ev: any) => colRef.current.header.getResizeHandler()(ev),\n className: `resizer ${isResizing ? \"isResizing\" : \"\"}`,\n sx: {\n position: \"absolute\",\n right: 0,\n top: 0,\n bottom: 0,\n width: \"3px\",\n cursor: \"col-resize\",\n userSelect: \"none\",\n touchAction: \"none\",\n opacity: 0,\n backgroundColor: (theme) => theme.palette.text.secondary,\n transition: \"opacity 0.2s\",\n \"&.isResizing\": {\n backgroundColor: (theme) => theme.palette.primary.main,\n opacity: 1,\n width: \"1px\",\n },\n },\n }}\n />\n )}\n </>\n );\n}\n"
5
+ "import { Box } from \"@mui/material\";\nimport { useColRef, useCrushHeader } from \"@rttui/core\";\nimport { useColProps } from \"@rttui/core\";\nimport React from \"react\";\nimport { shallowEqual } from \"@rttui/core\";\nexport function Resizer() {\n const crushHeader = useCrushHeader();\n\n const { canResize, isResizing } = useColProps({\n callback: ({ column }) => {\n return {\n canResize: column.getCanResize(),\n isResizing: column.getIsResizing(),\n };\n },\n areCallbackOutputEqual: shallowEqual,\n dependencies: [{ type: \"tanstack_table\" }],\n });\n\n const colRef = useColRef();\n\n React.useEffect(() => {\n if (!isResizing) {\n return;\n }\n const preventDefault = (e: Event) => {\n e.preventDefault();\n };\n document.body.addEventListener(\"select\", preventDefault);\n document.body.addEventListener(\"selectstart\", preventDefault);\n document.body.style.userSelect = \"none\";\n return () => {\n document.body.removeEventListener(\"select\", preventDefault);\n document.body.removeEventListener(\"selectstart\", preventDefault);\n document.body.style.userSelect = \"auto\";\n };\n }, [isResizing]);\n\n if (!canResize) {\n return null;\n }\n\n return (\n <>\n {canResize && (\n <Box\n onDoubleClick={(ev) => {\n crushHeader(colRef().header);\n ev.stopPropagation();\n ev.preventDefault();\n }}\n onMouseDown={(ev: any) => colRef().header.getResizeHandler()(ev)}\n onTouchStart={(ev: any) => colRef().header.getResizeHandler()(ev)}\n className={`resizer ${isResizing ? \"isResizing\" : \"\"}`}\n sx={{\n position: \"absolute\",\n right: 0,\n top: 0,\n bottom: 0,\n width: \"3px\",\n cursor: \"col-resize\",\n userSelect: \"none\",\n touchAction: \"none\",\n opacity: 0,\n backgroundColor: (theme) => theme.palette.text.secondary,\n transition: \"opacity 0.2s\",\n \"&.isResizing\": {\n backgroundColor: (theme) => theme.palette.primary.main,\n opacity: 1,\n width: \"1px\",\n },\n }}\n />\n )}\n </>\n );\n}\n"
6
6
  ],
7
- "mappings": ";AAAA;AACA;AACA;AACA;AAAA;AAEO,SAAS,OAAO,GAAG;AAAA,EACxB,MAAM,cAAc,eAAe;AAAA,EAEnC,QAAQ,WAAW,eAAe,YAAY,GAAG,aAAa;AAAA,IAC5D,OAAO;AAAA,MACL,WAAW,OAAO,aAAa;AAAA,MAC/B,YAAY,OAAO,cAAc;AAAA,IACnC;AAAA,GACD;AAAA,EAED,MAAM,SAAS,UAAU;AAAA,EAEzB,MAAM,UAAU,MAAM;AAAA,IACpB,KAAK,YAAY;AAAA,MACf;AAAA,IACF;AAAA,IACA,MAAM,iBAAiB,CAAC,MAAa;AAAA,MACnC,EAAE,eAAe;AAAA;AAAA,IAEnB,SAAS,KAAK,iBAAiB,UAAU,cAAc;AAAA,IACvD,SAAS,KAAK,iBAAiB,eAAe,cAAc;AAAA,IAC5D,SAAS,KAAK,MAAM,aAAa;AAAA,IACjC,OAAO,MAAM;AAAA,MACX,SAAS,KAAK,oBAAoB,UAAU,cAAc;AAAA,MAC1D,SAAS,KAAK,oBAAoB,eAAe,cAAc;AAAA,MAC/D,SAAS,KAAK,MAAM,aAAa;AAAA;AAAA,KAElC,CAAC,UAAU,CAAC;AAAA,EAEf,KAAK,WAAW;AAAA,IACd,OAAO;AAAA,EACT;AAAA,EAEA,uBACE;AAAA,cACG,6BACC,IAAC,KAAD;AAAA,MAEI,eAAe,MAAM;AAAA,QACnB,YAAY,OAAO,QAAQ,MAAM;AAAA;AAAA,MAEnC,aAAa,CAAC,OAAY,OAAO,QAAQ,OAAO,iBAAiB,EAAE,EAAE;AAAA,MACrE,cAAc,CAAC,OAAY,OAAO,QAAQ,OAAO,iBAAiB,EAAE,EAAE;AAAA,MACtE,WAAW,WAAW,aAAa,eAAe;AAAA,MAClD,IAAI;AAAA,QACF,UAAU;AAAA,QACV,OAAO;AAAA,QACP,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,YAAY;AAAA,QACZ,aAAa;AAAA,QACb,SAAS;AAAA,QACT,iBAAiB,CAAC,UAAU,MAAM,QAAQ,KAAK;AAAA,QAC/C,YAAY;AAAA,QACZ,gBAAgB;AAAA,UACd,iBAAiB,CAAC,UAAU,MAAM,QAAQ,QAAQ;AAAA,UAClD,SAAS;AAAA,UACT,OAAO;AAAA,QACT;AAAA,MACF;AAAA,KAEJ;AAAA,GAEF;AAAA;",
8
- "debugId": "100EB075C60209B764756E2164756E21",
7
+ "mappings": ";AAAA;AACA;AACA;AACA;AACA;AAAA;AACO,SAAS,OAAO,GAAG;AAAA,EACxB,MAAM,cAAc,eAAe;AAAA,EAEnC,QAAQ,WAAW,eAAe,YAAY;AAAA,IAC5C,UAAU,GAAG,aAAa;AAAA,MACxB,OAAO;AAAA,QACL,WAAW,OAAO,aAAa;AAAA,QAC/B,YAAY,OAAO,cAAc;AAAA,MACnC;AAAA;AAAA,IAEF,wBAAwB;AAAA,IACxB,cAAc,CAAC,EAAE,MAAM,iBAAiB,CAAC;AAAA,EAC3C,CAAC;AAAA,EAED,MAAM,SAAS,UAAU;AAAA,EAEzB,MAAM,UAAU,MAAM;AAAA,IACpB,KAAK,YAAY;AAAA,MACf;AAAA,IACF;AAAA,IACA,MAAM,iBAAiB,CAAC,MAAa;AAAA,MACnC,EAAE,eAAe;AAAA;AAAA,IAEnB,SAAS,KAAK,iBAAiB,UAAU,cAAc;AAAA,IACvD,SAAS,KAAK,iBAAiB,eAAe,cAAc;AAAA,IAC5D,SAAS,KAAK,MAAM,aAAa;AAAA,IACjC,OAAO,MAAM;AAAA,MACX,SAAS,KAAK,oBAAoB,UAAU,cAAc;AAAA,MAC1D,SAAS,KAAK,oBAAoB,eAAe,cAAc;AAAA,MAC/D,SAAS,KAAK,MAAM,aAAa;AAAA;AAAA,KAElC,CAAC,UAAU,CAAC;AAAA,EAEf,KAAK,WAAW;AAAA,IACd,OAAO;AAAA,EACT;AAAA,EAEA,uBACE;AAAA,cACG,6BACC,IAAC,KAAD;AAAA,MACE,eAAe,CAAC,OAAO;AAAA,QACrB,YAAY,OAAO,EAAE,MAAM;AAAA,QAC3B,GAAG,gBAAgB;AAAA,QACnB,GAAG,eAAe;AAAA;AAAA,MAEpB,aAAa,CAAC,OAAY,OAAO,EAAE,OAAO,iBAAiB,EAAE,EAAE;AAAA,MAC/D,cAAc,CAAC,OAAY,OAAO,EAAE,OAAO,iBAAiB,EAAE,EAAE;AAAA,MAChE,WAAW,WAAW,aAAa,eAAe;AAAA,MAClD,IAAI;AAAA,QACF,UAAU;AAAA,QACV,OAAO;AAAA,QACP,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,YAAY;AAAA,QACZ,aAAa;AAAA,QACb,SAAS;AAAA,QACT,iBAAiB,CAAC,UAAU,MAAM,QAAQ,KAAK;AAAA,QAC/C,YAAY;AAAA,QACZ,gBAAgB;AAAA,UACd,iBAAiB,CAAC,UAAU,MAAM,QAAQ,QAAQ;AAAA,UAClD,SAAS;AAAA,UACT,OAAO;AAAA,QACT;AAAA,MACF;AAAA,KACF;AAAA,GAEF;AAAA;",
8
+ "debugId": "8C805E33E6EA178264756E2164756E21",
9
9
  "names": []
10
10
  }
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@rttui/skin-anocca",
3
- "version": "1.0.30",
3
+ "version": "1.0.32",
4
4
  "main": "./dist/cjs/index.cjs",
5
5
  "dependencies": {
6
- "@rttui/core": "^1.0.28"
6
+ "@rttui/core": "^1.0.30"
7
7
  },
8
8
  "module": "./dist/mjs/index.mjs",
9
9
  "types": "./dist/types/index.d.ts",