@vuu-ui/vuu-table 0.7.0-debug → 0.7.1-debug

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/cjs/index.js CHANGED
@@ -31,14 +31,14 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
31
31
  var src_exports = {};
32
32
  __export(src_exports, {
33
33
  Table: () => Table,
34
- useMeasuredContainer: () => useMeasuredContainer
34
+ buildContextMenuDescriptors: () => buildContextMenuDescriptors,
35
+ useMeasuredContainer: () => useMeasuredContainer,
36
+ useTableContextMenu: () => useTableContextMenu,
37
+ useTableModel: () => useTableModel,
38
+ useTableViewport: () => useTableViewport
35
39
  });
36
40
  module.exports = __toCommonJS(src_exports);
37
41
 
38
- // src/Table.tsx
39
- var import_vuu_popups4 = require("@vuu-ui/vuu-popups");
40
- var import_core = require("@salt-ds/core");
41
-
42
42
  // src/context-menu/buildContextMenuDescriptors.ts
43
43
  var import_vuu_utils = require("@vuu-ui/vuu-utils");
44
44
  var buildContextMenuDescriptors = (dataSource) => (location, options) => {
@@ -254,7 +254,7 @@ function buildGroupMenuItems(options, { groupBy }) {
254
254
  return menuItems;
255
255
  }
256
256
 
257
- // src/context-menu/useContextMenu.ts
257
+ // src/context-menu/useTableContextMenu.ts
258
258
  var import_vuu_filters = require("@vuu-ui/vuu-filters");
259
259
  var import_vuu_utils2 = require("@vuu-ui/vuu-utils");
260
260
  var removeFilterColumn = (dataSourceFilter, column) => {
@@ -272,7 +272,7 @@ var removeFilterColumn = (dataSourceFilter, column) => {
272
272
  }
273
273
  };
274
274
  var { Average, Count, High, Low, Sum } = import_vuu_utils2.AggregationType;
275
- var useContextMenu = ({
275
+ var useTableContextMenu = ({
276
276
  dataSource,
277
277
  onPersistentColumnOperation
278
278
  }) => {
@@ -327,6 +327,10 @@ var useContextMenu = ({
327
327
  return handleContextMenuAction;
328
328
  };
329
329
 
330
+ // src/Table.tsx
331
+ var import_vuu_popups4 = require("@vuu-ui/vuu-popups");
332
+ var import_core = require("@salt-ds/core");
333
+
330
334
  // src/RowBasedTable.tsx
331
335
  var import_vuu_utils6 = require("@vuu-ui/vuu-utils");
332
336
  var import_react9 = require("react");
@@ -373,9 +377,12 @@ var TableCell = (0, import_react.memo)(
373
377
  setEditing(true);
374
378
  }
375
379
  };
376
- const handleClick = (0, import_react.useCallback)(() => {
377
- onClick == null ? void 0 : onClick(column);
378
- }, [column, onClick]);
380
+ const handleClick = (0, import_react.useCallback)(
381
+ (evt) => {
382
+ onClick == null ? void 0 : onClick(evt, column);
383
+ },
384
+ [column, onClick]
385
+ );
379
386
  const handleEnterEditMode = () => {
380
387
  setEditing(true);
381
388
  };
@@ -461,9 +468,12 @@ var getGroupValueAndOffset = (columns, row) => {
461
468
  var TableGroupCell = ({ column, onClick, row }) => {
462
469
  const { columns } = column;
463
470
  const [value, offset] = getGroupValueAndOffset(columns, row);
464
- const handleClick = (0, import_react2.useCallback)(() => {
465
- onClick == null ? void 0 : onClick(column);
466
- }, [column, onClick]);
471
+ const handleClick = (0, import_react2.useCallback)(
472
+ (evt) => {
473
+ onClick == null ? void 0 : onClick(evt, column);
474
+ },
475
+ [column, onClick]
476
+ );
467
477
  const style = (0, import_vuu_utils4.getColumnStyle)(column);
468
478
  const isLeaf = row[IS_LEAF];
469
479
  const spacers = Array(offset).fill(0).map((n, i) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("span", { className: "vuuTableGroupCell-spacer" }, i));
@@ -515,8 +525,9 @@ var TableRow = (0, import_react3.memo)(function Row({
515
525
  [onClick, row]
516
526
  );
517
527
  const handleGroupCellClick = (0, import_react3.useCallback)(
518
- (column) => {
528
+ (evt, column) => {
519
529
  if ((0, import_vuu_utils5.isGroupColumn)(column) || (0, import_vuu_utils5.isJsonGroup)(column, row)) {
530
+ evt.stopPropagation();
520
531
  onToggleGroup == null ? void 0 : onToggleGroup(row, column);
521
532
  }
522
533
  },
@@ -935,7 +946,7 @@ var RowBasedTable = ({
935
946
 
936
947
  // src/useTable.ts
937
948
  var import_vuu_popups3 = require("@vuu-ui/vuu-popups");
938
- var import_vuu_utils13 = require("@vuu-ui/vuu-utils");
949
+ var import_vuu_utils14 = require("@vuu-ui/vuu-utils");
939
950
  var import_react20 = require("react");
940
951
 
941
952
  // src/useDataSource.ts
@@ -1449,6 +1460,7 @@ var useKeyboardNavigation = ({
1449
1460
  };
1450
1461
 
1451
1462
  // src/useMeasuredContainer.ts
1463
+ var import_vuu_utils9 = require("@vuu-ui/vuu-utils");
1452
1464
  var import_react14 = require("react");
1453
1465
 
1454
1466
  // src/useResizeObserver.ts
@@ -1571,6 +1583,25 @@ function useResizeObserver(ref, dimensions, onResize, reportInitialSize = false)
1571
1583
  // src/useMeasuredContainer.ts
1572
1584
  var ClientWidthHeight = ["clientHeight", "clientWidth"];
1573
1585
  var isNumber = (val) => Number.isFinite(val);
1586
+ var FULL_SIZE = { height: "100%", width: "100%" };
1587
+ var getInitialCssSize = (height, width) => {
1588
+ if ((0, import_vuu_utils9.isValidNumber)(height) && (0, import_vuu_utils9.isValidNumber)(width)) {
1589
+ return {
1590
+ height: `${height}px`,
1591
+ width: `${width}px`
1592
+ };
1593
+ } else {
1594
+ return FULL_SIZE;
1595
+ }
1596
+ };
1597
+ var getInitialInnerSize = (height, width) => {
1598
+ if ((0, import_vuu_utils9.isValidNumber)(height) && (0, import_vuu_utils9.isValidNumber)(width)) {
1599
+ return {
1600
+ height,
1601
+ width
1602
+ };
1603
+ }
1604
+ };
1574
1605
  var useMeasuredContainer = ({
1575
1606
  defaultHeight = 0,
1576
1607
  defaultWidth = 0,
@@ -1579,17 +1610,38 @@ var useMeasuredContainer = ({
1579
1610
  }) => {
1580
1611
  const containerRef = (0, import_react14.useRef)(null);
1581
1612
  const [size, setSize] = (0, import_react14.useState)({
1613
+ css: getInitialCssSize(height, width),
1614
+ inner: getInitialInnerSize(height, width),
1582
1615
  outer: {
1583
1616
  height: height != null ? height : "100%",
1584
1617
  width: width != null ? width : "100%"
1585
1618
  }
1586
1619
  });
1620
+ (0, import_react14.useMemo)(() => {
1621
+ setSize((currentSize) => {
1622
+ const { inner, outer } = currentSize;
1623
+ if ((0, import_vuu_utils9.isValidNumber)(height) && (0, import_vuu_utils9.isValidNumber)(width) && inner && outer) {
1624
+ const { height: innerHeight, width: innerWidth } = inner;
1625
+ const { height: outerHeight, width: outerWidth } = outer;
1626
+ if (outerHeight !== height || outerWidth !== width) {
1627
+ const heightDiff = (0, import_vuu_utils9.isValidNumber)(outerHeight) ? outerHeight - innerHeight : 0;
1628
+ const widthDiff = (0, import_vuu_utils9.isValidNumber)(outerWidth) ? outerWidth - innerWidth : 0;
1629
+ return {
1630
+ ...currentSize,
1631
+ outer: { height, width },
1632
+ inner: { height: height - heightDiff, width: width - widthDiff }
1633
+ };
1634
+ }
1635
+ }
1636
+ return currentSize;
1637
+ });
1638
+ }, [height, width]);
1587
1639
  const onResize = (0, import_react14.useCallback)(
1588
1640
  ({ clientWidth, clientHeight }) => {
1589
- console.log(`Resize ${clientHeight}`);
1590
1641
  setSize((currentSize) => {
1591
- const { inner, outer } = currentSize;
1642
+ const { css, inner, outer } = currentSize;
1592
1643
  return isNumber(clientHeight) && isNumber(clientWidth) && (clientWidth !== (inner == null ? void 0 : inner.width) || clientHeight !== (inner == null ? void 0 : inner.height)) ? {
1644
+ css,
1593
1645
  outer,
1594
1646
  inner: {
1595
1647
  width: Math.floor(clientWidth) || defaultWidth,
@@ -1603,15 +1655,16 @@ var useMeasuredContainer = ({
1603
1655
  useResizeObserver(containerRef, ClientWidthHeight, onResize, true);
1604
1656
  return {
1605
1657
  containerRef,
1658
+ cssSize: size.css,
1606
1659
  outerSize: size.outer,
1607
1660
  innerSize: size.inner
1608
1661
  };
1609
1662
  };
1610
1663
 
1611
1664
  // src/useSelection.ts
1612
- var import_vuu_utils9 = require("@vuu-ui/vuu-utils");
1665
+ var import_vuu_utils10 = require("@vuu-ui/vuu-utils");
1613
1666
  var import_react15 = require("react");
1614
- var { IDX: IDX2, SELECTED: SELECTED3 } = import_vuu_utils9.metadataKeys;
1667
+ var { IDX: IDX2, SELECTED: SELECTED3 } = import_vuu_utils10.metadataKeys;
1615
1668
  var NO_SELECTION = [];
1616
1669
  var useSelection = ({
1617
1670
  selectionModel,
@@ -1625,7 +1678,7 @@ var useSelection = ({
1625
1678
  const { [IDX2]: idx, [SELECTED3]: isSelected } = row;
1626
1679
  const { current: active } = lastActiveRef;
1627
1680
  const { current: selected } = selectedRef;
1628
- const selectOperation = isSelected ? import_vuu_utils9.deselectItem : import_vuu_utils9.selectItem;
1681
+ const selectOperation = isSelected ? import_vuu_utils10.deselectItem : import_vuu_utils10.selectItem;
1629
1682
  const newSelected = selectOperation(
1630
1683
  selectionModel,
1631
1684
  selected,
@@ -1647,16 +1700,16 @@ var useSelection = ({
1647
1700
 
1648
1701
  // src/useTableModel.ts
1649
1702
  var import_salt_lab3 = require("@heswell/salt-lab");
1650
- var import_vuu_utils10 = require("@vuu-ui/vuu-utils");
1703
+ var import_vuu_utils11 = require("@vuu-ui/vuu-utils");
1651
1704
  var import_react16 = require("react");
1652
- var { info } = (0, import_vuu_utils10.logger)("useTableModel");
1705
+ var { info } = (0, import_vuu_utils11.logger)("useTableModel");
1653
1706
  var DEFAULT_COLUMN_WIDTH = 100;
1654
- var KEY_OFFSET = import_vuu_utils10.metadataKeys.count;
1707
+ var KEY_OFFSET = import_vuu_utils11.metadataKeys.count;
1655
1708
  var columnWithoutDataType = ({ serverDataType }) => serverDataType === void 0;
1656
1709
  var getCellRendererForColumn = (column) => {
1657
1710
  var _a;
1658
- if ((0, import_vuu_utils10.isTypeDescriptor)(column.type)) {
1659
- return (0, import_vuu_utils10.getCellRenderer)((_a = column.type) == null ? void 0 : _a.renderer);
1711
+ if ((0, import_vuu_utils11.isTypeDescriptor)(column.type)) {
1712
+ return (0, import_vuu_utils11.getCellRenderer)((_a = column.type) == null ? void 0 : _a.renderer);
1660
1713
  }
1661
1714
  };
1662
1715
  var getDataType = (column, columnNames, dataTypes) => {
@@ -1708,10 +1761,10 @@ function init({ dataSourceConfig, tableConfig }) {
1708
1761
  const columns = tableConfig.columns.map(
1709
1762
  toKeyedColumWithDefaults(tableConfig)
1710
1763
  );
1711
- const maybePinnedColumns = columns.some(import_vuu_utils10.isPinned) ? (0, import_vuu_utils10.sortPinnedColumns)(columns) : columns;
1764
+ const maybePinnedColumns = columns.some(import_vuu_utils11.isPinned) ? (0, import_vuu_utils11.sortPinnedColumns)(columns) : columns;
1712
1765
  const state = {
1713
1766
  columns: maybePinnedColumns,
1714
- headings: (0, import_vuu_utils10.getTableHeadings)(maybePinnedColumns)
1767
+ headings: (0, import_vuu_utils11.getTableHeadings)(maybePinnedColumns)
1715
1768
  };
1716
1769
  if (dataSourceConfig) {
1717
1770
  const { columns: columns2, ...rest } = dataSourceConfig;
@@ -1749,10 +1802,10 @@ var toKeyedColumWithDefaults = (options) => (column, index) => {
1749
1802
  key: key != null ? key : index + KEY_OFFSET,
1750
1803
  name,
1751
1804
  originalIdx: index,
1752
- valueFormatter: (0, import_vuu_utils10.getValueFormatter)(column),
1805
+ valueFormatter: (0, import_vuu_utils11.getValueFormatter)(column),
1753
1806
  width
1754
1807
  };
1755
- if ((0, import_vuu_utils10.isGroupColumn)(keyedColumnWithDefaults)) {
1808
+ if ((0, import_vuu_utils11.isGroupColumn)(keyedColumnWithDefaults)) {
1756
1809
  keyedColumnWithDefaults.columns = keyedColumnWithDefaults.columns.map(
1757
1810
  (col) => toKeyedColumWithDefaults(options)(col, col.key)
1758
1811
  );
@@ -1852,7 +1905,7 @@ function pinColumn2(state, action) {
1852
1905
  const targetColumn = columns.find((col) => col.name === column.name);
1853
1906
  if (targetColumn) {
1854
1907
  columns = replaceColumn(columns, { ...targetColumn, pin });
1855
- columns = (0, import_vuu_utils10.sortPinnedColumns)(columns);
1908
+ columns = (0, import_vuu_utils11.sortPinnedColumns)(columns);
1856
1909
  return {
1857
1910
  ...state,
1858
1911
  columns
@@ -1897,9 +1950,9 @@ function updateTableConfig(state, { columns, confirmed, filter, groupBy, sort })
1897
1950
  result = {
1898
1951
  ...state,
1899
1952
  columns: columns.map((colName, index) => {
1900
- const columnName = (0, import_vuu_utils10.getColumnName)(colName);
1953
+ const columnName = (0, import_vuu_utils11.getColumnName)(colName);
1901
1954
  const key = index + KEY_OFFSET;
1902
- const col = (0, import_vuu_utils10.findColumn)(result.columns, columnName);
1955
+ const col = (0, import_vuu_utils11.findColumn)(result.columns, columnName);
1903
1956
  if (col) {
1904
1957
  if (col.key === key) {
1905
1958
  return col;
@@ -1917,24 +1970,24 @@ function updateTableConfig(state, { columns, confirmed, filter, groupBy, sort })
1917
1970
  if (hasGroupBy) {
1918
1971
  result = {
1919
1972
  ...state,
1920
- columns: (0, import_vuu_utils10.applyGroupByToColumns)(result.columns, groupBy, confirmed)
1973
+ columns: (0, import_vuu_utils11.applyGroupByToColumns)(result.columns, groupBy, confirmed)
1921
1974
  };
1922
1975
  }
1923
1976
  if (hasSort) {
1924
1977
  result = {
1925
1978
  ...state,
1926
- columns: (0, import_vuu_utils10.applySortToColumns)(result.columns, sort)
1979
+ columns: (0, import_vuu_utils11.applySortToColumns)(result.columns, sort)
1927
1980
  };
1928
1981
  }
1929
1982
  if (hasFilter) {
1930
1983
  result = {
1931
1984
  ...state,
1932
- columns: (0, import_vuu_utils10.applyFilterToColumns)(result.columns, filter)
1985
+ columns: (0, import_vuu_utils11.applyFilterToColumns)(result.columns, filter)
1933
1986
  };
1934
- } else if (result.columns.some(import_vuu_utils10.isFilteredColumn)) {
1987
+ } else if (result.columns.some(import_vuu_utils11.isFilteredColumn)) {
1935
1988
  result = {
1936
1989
  ...state,
1937
- columns: (0, import_vuu_utils10.stripFilterFromColumns)(result.columns)
1990
+ columns: (0, import_vuu_utils11.stripFilterFromColumns)(result.columns)
1938
1991
  };
1939
1992
  }
1940
1993
  return result;
@@ -2110,7 +2163,7 @@ var useTableScroll = ({
2110
2163
 
2111
2164
  // src/useTableViewport.ts
2112
2165
  var import_react18 = require("react");
2113
- var import_vuu_utils11 = require("@vuu-ui/vuu-utils");
2166
+ var import_vuu_utils12 = require("@vuu-ui/vuu-utils");
2114
2167
  var MAX_RAW_ROWS = 15e5;
2115
2168
  var UNMEASURED_VIEWPORT = {
2116
2169
  contentHeight: 0,
@@ -2163,12 +2216,12 @@ var useTableViewport = ({
2163
2216
  [columns]
2164
2217
  );
2165
2218
  const [actualRowOffset, actualRowAtPosition] = (0, import_react18.useMemo)(
2166
- () => (0, import_vuu_utils11.actualRowPositioning)(rowHeight),
2219
+ () => (0, import_vuu_utils12.actualRowPositioning)(rowHeight),
2167
2220
  [rowHeight]
2168
2221
  );
2169
2222
  const [getRowOffset, getRowAtPosition] = (0, import_react18.useMemo)(() => {
2170
2223
  if (virtualisedExtent) {
2171
- return (0, import_vuu_utils11.virtualRowPositioning)(
2224
+ return (0, import_vuu_utils12.virtualRowPositioning)(
2172
2225
  rowHeight,
2173
2226
  virtualisedExtent,
2174
2227
  pctScrollTopRef
@@ -2229,7 +2282,7 @@ var useTableViewport = ({
2229
2282
  };
2230
2283
 
2231
2284
  // src/useVirtualViewport.ts
2232
- var import_vuu_utils12 = require("@vuu-ui/vuu-utils");
2285
+ var import_vuu_utils13 = require("@vuu-ui/vuu-utils");
2233
2286
  var import_react19 = require("react");
2234
2287
  var useVirtualViewport = ({
2235
2288
  columns,
@@ -2246,7 +2299,7 @@ var useVirtualViewport = ({
2246
2299
  const availableWidth = contentWidth - maxScrollContainerScrollHorizontal;
2247
2300
  const scrollLeftRef = (0, import_react19.useRef)(0);
2248
2301
  const [visibleColumns, preSpan] = (0, import_react19.useMemo)(
2249
- () => (0, import_vuu_utils12.getColumnsInViewport)(
2302
+ () => (0, import_vuu_utils13.getColumnsInViewport)(
2250
2303
  columns,
2251
2304
  scrollLeftRef.current,
2252
2305
  scrollLeftRef.current + availableWidth
@@ -2261,12 +2314,12 @@ var useVirtualViewport = ({
2261
2314
  const handleHorizontalScroll = (0, import_react19.useCallback)(
2262
2315
  (scrollLeft) => {
2263
2316
  scrollLeftRef.current = scrollLeft;
2264
- const [visibleColumns2, pre] = (0, import_vuu_utils12.getColumnsInViewport)(
2317
+ const [visibleColumns2, pre] = (0, import_vuu_utils13.getColumnsInViewport)(
2265
2318
  columns,
2266
2319
  scrollLeft,
2267
2320
  scrollLeft + availableWidth
2268
2321
  );
2269
- if ((0, import_vuu_utils12.itemsChanged)(columnsWithinViewport, visibleColumns2)) {
2322
+ if ((0, import_vuu_utils13.itemsChanged)(columnsWithinViewport, visibleColumns2)) {
2270
2323
  preSpanRef.current = pre;
2271
2324
  setColumnsWithinViewport(visibleColumns2);
2272
2325
  }
@@ -2294,7 +2347,7 @@ var useVirtualViewport = ({
2294
2347
 
2295
2348
  // src/useTable.ts
2296
2349
  var NO_ROWS = [];
2297
- var { KEY: KEY2, IS_EXPANDED: IS_EXPANDED2, IS_LEAF: IS_LEAF2 } = import_vuu_utils13.metadataKeys;
2350
+ var { KEY: KEY2, IS_EXPANDED: IS_EXPANDED2, IS_LEAF: IS_LEAF2 } = import_vuu_utils14.metadataKeys;
2298
2351
  var useTable = ({
2299
2352
  config,
2300
2353
  dataSource,
@@ -2309,12 +2362,12 @@ var useTable = ({
2309
2362
  ...measuredProps
2310
2363
  }) => {
2311
2364
  var _a, _b;
2312
- const [rowCount, setRowCount] = (0, import_react20.useState)(0);
2365
+ const [rowCount, setRowCount] = (0, import_react20.useState)(dataSource.size);
2313
2366
  const expectConfigChangeRef = (0, import_react20.useRef)(false);
2314
2367
  const dataSourceRef = (0, import_react20.useRef)();
2315
2368
  dataSourceRef.current = dataSource;
2316
2369
  if (dataSource === void 0) {
2317
- throw Error("no data source provided to DataTable");
2370
+ throw Error("no data source provided to Vuu Table");
2318
2371
  }
2319
2372
  const containerMeasurements = useMeasuredContainer(measuredProps);
2320
2373
  const onDataRowcountChange = (0, import_react20.useCallback)((size) => {
@@ -2324,17 +2377,6 @@ var useTable = ({
2324
2377
  config,
2325
2378
  dataSource.config
2326
2379
  );
2327
- const handlePersistentColumnOperation = (0, import_react20.useCallback)(
2328
- (action) => {
2329
- expectConfigChangeRef.current = true;
2330
- dispatchColumnAction(action);
2331
- },
2332
- [dispatchColumnAction]
2333
- );
2334
- const handleContextMenuAction = useContextMenu({
2335
- dataSource,
2336
- onPersistentColumnOperation: handlePersistentColumnOperation
2337
- });
2338
2380
  const {
2339
2381
  getRowAtPosition,
2340
2382
  getRowOffset,
@@ -2384,10 +2426,21 @@ var useTable = ({
2384
2426
  });
2385
2427
  const dataRef = (0, import_react20.useRef)();
2386
2428
  dataRef.current = data;
2429
+ const onPersistentColumnOperation = (0, import_react20.useCallback)(
2430
+ (action) => {
2431
+ expectConfigChangeRef.current = true;
2432
+ dispatchColumnAction(action);
2433
+ },
2434
+ [dispatchColumnAction]
2435
+ );
2436
+ const handleContextMenuAction = useTableContextMenu({
2437
+ dataSource,
2438
+ onPersistentColumnOperation
2439
+ });
2387
2440
  const handleSort = (0, import_react20.useCallback)(
2388
2441
  (column, extendSort = false, sortType) => {
2389
2442
  if (dataSource) {
2390
- dataSource.sort = (0, import_vuu_utils13.applySort)(
2443
+ dataSource.sort = (0, import_vuu_utils14.applySort)(
2391
2444
  dataSource.sort,
2392
2445
  column,
2393
2446
  extendSort,
@@ -2420,7 +2473,7 @@ var useTable = ({
2420
2473
  );
2421
2474
  const handleToggleGroup = (0, import_react20.useCallback)(
2422
2475
  (row, column) => {
2423
- const isJson = (0, import_vuu_utils13.isJsonGroup)(column, row);
2476
+ const isJson = (0, import_vuu_utils14.isJsonGroup)(column, row);
2424
2477
  const key = row[KEY2];
2425
2478
  if (row[IS_EXPANDED2]) {
2426
2479
  dataSource.closeTreeNode(key, true);
@@ -2503,7 +2556,7 @@ var useTable = ({
2503
2556
  const handleDropColumn = (0, import_react20.useCallback)(
2504
2557
  (fromIndex, toIndex) => {
2505
2558
  const column = dataSource.columns[fromIndex];
2506
- const columns2 = (0, import_vuu_utils13.moveItem)(dataSource.columns, column, toIndex);
2559
+ const columns2 = (0, import_vuu_utils14.moveItem)(dataSource.columns, column, toIndex);
2507
2560
  if (columns2 !== dataSource.columns) {
2508
2561
  dataSource.columns = columns2;
2509
2562
  dispatchColumnAction({ type: "tableConfig", columns: columns2 });
@@ -2554,7 +2607,7 @@ var useTable = ({
2554
2607
  const rowEl = target == null ? void 0 : target.closest(".vuuTableRow");
2555
2608
  if (cellEl && rowEl && currentData && currentDataSource) {
2556
2609
  const { columns: columns2, selectedRowsCount } = currentDataSource;
2557
- const columnMap = (0, import_vuu_utils13.buildColumnMap)(columns2);
2610
+ const columnMap = (0, import_vuu_utils14.buildColumnMap)(columns2);
2558
2611
  const rowIndex = parseInt((_a2 = rowEl.ariaRowIndex) != null ? _a2 : "-1");
2559
2612
  const cellIndex = Array.from(rowEl.childNodes).indexOf(cellEl);
2560
2613
  const row = currentData.find(([idx]) => idx === rowIndex);
@@ -2571,10 +2624,10 @@ var useTable = ({
2571
2624
  [dataSource == null ? void 0 : dataSource.viewport, getSelectedRows, showContextMenu]
2572
2625
  );
2573
2626
  return {
2574
- containerMeasurements,
2575
- containerProps,
2576
2627
  columns,
2577
2628
  columnsWithinViewport,
2629
+ containerMeasurements,
2630
+ containerProps,
2578
2631
  data,
2579
2632
  dispatchColumnAction,
2580
2633
  getRowOffset,
@@ -2596,7 +2649,7 @@ var useTable = ({
2596
2649
 
2597
2650
  // src/Table.tsx
2598
2651
  var import_classnames7 = __toESM(require("classnames"));
2599
- var import_vuu_utils14 = require("@vuu-ui/vuu-utils");
2652
+ var import_vuu_utils15 = require("@vuu-ui/vuu-utils");
2600
2653
  var import_jsx_runtime10 = require("react/jsx-runtime");
2601
2654
  var classBase6 = "vuuTable";
2602
2655
  var Table = ({
@@ -2618,7 +2671,7 @@ var Table = ({
2618
2671
  style: styleProp,
2619
2672
  width,
2620
2673
  zebraStripes = false,
2621
- ...props
2674
+ ...htmlAttributes
2622
2675
  }) => {
2623
2676
  const id = (0, import_core.useIdMemo)(idProp);
2624
2677
  const {
@@ -2662,7 +2715,7 @@ var Table = ({
2662
2715
  };
2663
2716
  const className = (0, import_classnames7.default)(classBase6, classNameProp, {
2664
2717
  [`${classBase6}-zebra`]: zebraStripes,
2665
- [`${classBase6}-loading`]: (0, import_vuu_utils14.isDataLoading)(tableProps.columns)
2718
+ [`${classBase6}-loading`]: (0, import_vuu_utils15.isDataLoading)(tableProps.columns)
2666
2719
  });
2667
2720
  return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
2668
2721
  import_vuu_popups4.ContextMenuProvider,
@@ -2672,7 +2725,7 @@ var Table = ({
2672
2725
  children: /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
2673
2726
  "div",
2674
2727
  {
2675
- ...props,
2728
+ ...htmlAttributes,
2676
2729
  ...containerProps,
2677
2730
  className,
2678
2731
  id,
@@ -2724,10 +2777,10 @@ var Table = ({
2724
2777
 
2725
2778
  // src/cell-renderers/json-cell/JsonCell.tsx
2726
2779
  var import_classnames8 = __toESM(require("classnames"));
2727
- var import_vuu_utils15 = require("@vuu-ui/vuu-utils");
2780
+ var import_vuu_utils16 = require("@vuu-ui/vuu-utils");
2728
2781
  var import_jsx_runtime11 = require("react/jsx-runtime");
2729
2782
  var classBase7 = "vuuJsonCell";
2730
- var { IS_EXPANDED: IS_EXPANDED3, KEY: KEY3 } = import_vuu_utils15.metadataKeys;
2783
+ var { IS_EXPANDED: IS_EXPANDED3, KEY: KEY3 } = import_vuu_utils16.metadataKeys;
2731
2784
  var localKey = (key) => {
2732
2785
  const pos = key.lastIndexOf("|");
2733
2786
  if (pos === -1) {
@@ -2743,7 +2796,7 @@ var JsonCell = ({ column, row }) => {
2743
2796
  } = column;
2744
2797
  let value = row[columnKey];
2745
2798
  let isToggle = false;
2746
- if ((0, import_vuu_utils15.isJsonAttribute)(value)) {
2799
+ if ((0, import_vuu_utils16.isJsonAttribute)(value)) {
2747
2800
  value = value.slice(0, -1);
2748
2801
  isToggle = true;
2749
2802
  }
@@ -2765,5 +2818,5 @@ var JsonCell = ({ column, row }) => {
2765
2818
  return null;
2766
2819
  }
2767
2820
  };
2768
- (0, import_vuu_utils15.registerComponent)("json", JsonCell, "cell-renderer", {});
2821
+ (0, import_vuu_utils16.registerComponent)("json", JsonCell, "cell-renderer", {});
2769
2822
  //# sourceMappingURL=index.js.map