@ornery/ui-grid-react 0.1.6 → 0.1.7-hotfix-1

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/dist/index.mjs CHANGED
@@ -5,7 +5,7 @@ import React from "react";
5
5
  import { useCallback, useEffect, useMemo, useRef, useState } from "react";
6
6
 
7
7
  // src/gridStateMath.ts
8
- import { gridColumnWidth } from "@ornery/ui-grid";
8
+ import { gridColumnWidth } from "@ornery/ui-grid-core";
9
9
  function orderVisibleColumns(columns, order) {
10
10
  return [...columns].filter((column) => column.visible !== false).sort((left, right) => order.indexOf(left.name) - order.indexOf(right.name));
11
11
  }
@@ -99,6 +99,7 @@ import {
99
99
  clearGridFiltersCommand,
100
100
  clearGridGroupingCommand,
101
101
  moveGridColumnCommand,
102
+ moveGridVisibleColumnCommand,
102
103
  seekGridPaginationCommand,
103
104
  setGridPaginationPageSizeCommand,
104
105
  sortGridColumnCommand,
@@ -129,7 +130,7 @@ import {
129
130
  raiseGridBenchmarkComplete,
130
131
  downloadGridCsvFile,
131
132
  observeGridHostSize
132
- } from "@ornery/ui-grid";
133
+ } from "@ornery/ui-grid-core";
133
134
  function escapeCssSelectorValue(value) {
134
135
  const nativeEscape = globalThis.CSS?.escape;
135
136
  if (typeof nativeEscape === "function") {
@@ -236,7 +237,9 @@ function useGridState(options, onRegisterApi) {
236
237
  const columnByName = new Map(orderedColumns.map((column) => [column.name, column]));
237
238
  const pinnedLeft = pinnedEntries.filter(([, direction]) => direction === "left").map(([columnName]) => columnByName.get(columnName)).filter((column) => column !== void 0);
238
239
  const pinnedRight = pinnedEntries.filter(([, direction]) => direction === "right").map(([columnName]) => columnByName.get(columnName)).filter((column) => column !== void 0);
239
- const centerColumns = orderedColumns.filter((column) => pinnedColumns[column.name] === void 0);
240
+ const centerColumns = orderedColumns.filter(
241
+ (column) => pinnedColumns[column.name] === void 0
242
+ );
240
243
  return [...pinnedLeft, ...centerColumns, ...pinnedRight];
241
244
  }, [options.columnDefs, columnOrder, pinnedColumns]);
242
245
  const visibleColumnsRef = useRef(visibleColumns);
@@ -1215,6 +1218,17 @@ function useGridState(options, onRegisterApi) {
1215
1218
  toIndex
1216
1219
  );
1217
1220
  }, []);
1221
+ const moveVisibleColumnFn = useCallback((columnName, targetColumnName) => {
1222
+ moveGridVisibleColumnCommand(
1223
+ gridApiRef.current,
1224
+ FEATURE_COLUMN_MOVING && optionsRef.current.enableColumnMoving === true,
1225
+ columnOrderRef.current,
1226
+ visibleColumnsRef.current.map((column) => column.name),
1227
+ columnName,
1228
+ targetColumnName,
1229
+ (order) => setColumnOrder(order)
1230
+ );
1231
+ }, []);
1218
1232
  const nextPageFn = useCallback(() => {
1219
1233
  seekPageFn(getCurrentPageValueFn() + 1);
1220
1234
  }, [seekPageFn, getCurrentPageValueFn]);
@@ -1344,6 +1358,7 @@ function useGridState(options, onRegisterApi) {
1344
1358
  toggleRowExpansion: toggleRowExpansionFn,
1345
1359
  toggleTreeRow: toggleTreeRowFn,
1346
1360
  moveColumn: moveColumnFn,
1361
+ moveVisibleColumn: moveVisibleColumnFn,
1347
1362
  nextPage: nextPageFn,
1348
1363
  previousPage: previousPageFn,
1349
1364
  onPageSizeChange: onPageSizeChangeFn,
@@ -1443,23 +1458,30 @@ function UiGrid({
1443
1458
  expandableFeature,
1444
1459
  treeViewFeature,
1445
1460
  csvExportFeature,
1461
+ columnMovingFeature,
1446
1462
  paginationCurrentPage,
1447
1463
  paginationTotalPages,
1448
1464
  paginationSelectedPageSize
1449
1465
  } = state;
1466
+ const headerGridRef = React.useRef(null);
1467
+ const filterGridRef = React.useRef(null);
1468
+ const [headerStickyHeight, setHeaderStickyHeight] = React.useState(0);
1469
+ const [filterStickyHeight, setFilterStickyHeight] = React.useState(0);
1470
+ const stickyChromeHeight = headerStickyHeight + filterStickyHeight;
1471
+ const bodyViewportHeight = Math.max(
1472
+ rowSize,
1473
+ (options.viewportHeight ?? 560) - stickyChromeHeight
1474
+ );
1450
1475
  const virtualScroll = useVirtualScroll({
1451
1476
  itemCount: displayItems.length,
1452
1477
  itemSize: rowSize,
1453
- viewportHeight: options.viewportHeight ?? 560,
1478
+ viewportHeight: bodyViewportHeight,
1454
1479
  overscan: 3
1455
1480
  });
1456
- const headerGridRef = React.useRef(null);
1457
- const filterGridRef = React.useRef(null);
1458
1481
  const [openPinMenuColumn, setOpenPinMenuColumn] = React.useState(null);
1459
- const [headerStickyHeight, setHeaderStickyHeight] = React.useState(0);
1460
- const [filterStickyHeight, setFilterStickyHeight] = React.useState(0);
1461
- const stickyChromeHeight = headerStickyHeight + filterStickyHeight;
1462
- const scrollContainerHeight = `${(options.viewportHeight ?? 560) + stickyChromeHeight}px`;
1482
+ const [draggedColumnName, setDraggedColumnName] = React.useState(null);
1483
+ const [dropTargetColumnName, setDropTargetColumnName] = React.useState(null);
1484
+ const scrollContainerHeight = `${options.viewportHeight ?? 560}px`;
1463
1485
  const eventPathIncludesClass = React.useCallback((event, className2) => {
1464
1486
  const eventPath = typeof event.composedPath === "function" ? event.composedPath() : event.target ? [event.target] : [];
1465
1487
  return eventPath.some((target) => {
@@ -1498,10 +1520,72 @@ function UiGrid({
1498
1520
  },
1499
1521
  [state]
1500
1522
  );
1523
+ const handleHeaderDragStart = React.useCallback(
1524
+ (column, event) => {
1525
+ if (!columnMovingFeature) {
1526
+ event.preventDefault();
1527
+ return;
1528
+ }
1529
+ setDraggedColumnName(column.name);
1530
+ setDropTargetColumnName(null);
1531
+ event.dataTransfer.effectAllowed = "move";
1532
+ event.dataTransfer.setData("text/plain", column.name);
1533
+ },
1534
+ [columnMovingFeature]
1535
+ );
1536
+ const handleHeaderDragOver = React.useCallback(
1537
+ (column, event) => {
1538
+ if (!columnMovingFeature || !draggedColumnName || draggedColumnName === column.name) {
1539
+ return;
1540
+ }
1541
+ event.preventDefault();
1542
+ event.dataTransfer.dropEffect = "move";
1543
+ setDropTargetColumnName(column.name);
1544
+ },
1545
+ [columnMovingFeature, draggedColumnName]
1546
+ );
1547
+ const handleHeaderDrop = React.useCallback(
1548
+ (column, event) => {
1549
+ event.preventDefault();
1550
+ if (!columnMovingFeature) {
1551
+ return;
1552
+ }
1553
+ const sourceColumnName = draggedColumnName ?? event.dataTransfer.getData("text/plain");
1554
+ setDraggedColumnName(null);
1555
+ setDropTargetColumnName(null);
1556
+ if (!sourceColumnName || sourceColumnName === column.name) {
1557
+ return;
1558
+ }
1559
+ state.moveVisibleColumn(sourceColumnName, column.name);
1560
+ },
1561
+ [columnMovingFeature, draggedColumnName, state]
1562
+ );
1563
+ const handleHeaderDragEnd = React.useCallback(() => {
1564
+ setDraggedColumnName(null);
1565
+ setDropTargetColumnName(null);
1566
+ }, []);
1501
1567
  React.useLayoutEffect(() => {
1502
1568
  setHeaderStickyHeight(headerGridRef.current?.offsetHeight ?? 0);
1503
1569
  setFilterStickyHeight(filterGridRef.current?.offsetHeight ?? 0);
1504
1570
  }, [visibleColumns, filteringFeature, options.enableFiltering]);
1571
+ React.useLayoutEffect(() => {
1572
+ const headerElement = headerGridRef.current;
1573
+ const filterElement = filterGridRef.current;
1574
+ if (typeof ResizeObserver === "undefined" || !headerElement && !filterElement) {
1575
+ return;
1576
+ }
1577
+ const observer = new ResizeObserver(() => {
1578
+ setHeaderStickyHeight(headerGridRef.current?.offsetHeight ?? 0);
1579
+ setFilterStickyHeight(filterGridRef.current?.offsetHeight ?? 0);
1580
+ });
1581
+ if (headerElement) {
1582
+ observer.observe(headerElement);
1583
+ }
1584
+ if (filterElement) {
1585
+ observer.observe(filterElement);
1586
+ }
1587
+ return () => observer.disconnect();
1588
+ }, []);
1505
1589
  React.useEffect(() => {
1506
1590
  if (!openPinMenuColumn) {
1507
1591
  return;
@@ -1622,12 +1706,21 @@ function UiGrid({
1622
1706
  "aria-label": state.treeToggleLabel(rowItem.row),
1623
1707
  "aria-expanded": state.isTreeRowExpanded(rowItem.row),
1624
1708
  onClick: (e) => state.toggleTreeRow(rowItem.row, e),
1625
- children: /* @__PURE__ */ jsx("svg", { className: "toggle-icon", viewBox: "0 0 24 24", "aria-hidden": "true", focusable: false, children: /* @__PURE__ */ jsx(
1626
- "path",
1709
+ children: /* @__PURE__ */ jsx(
1710
+ "svg",
1627
1711
  {
1628
- d: state.isTreeRowExpanded(rowItem.row) ? "M7 10l5 5 5-5z" : "M10 7l5 5-5 5z"
1712
+ className: "toggle-icon",
1713
+ viewBox: "0 0 24 24",
1714
+ "aria-hidden": "true",
1715
+ focusable: false,
1716
+ children: /* @__PURE__ */ jsx(
1717
+ "path",
1718
+ {
1719
+ d: state.isTreeRowExpanded(rowItem.row) ? "M7 10l5 5 5-5z" : "M10 7l5 5-5 5z"
1720
+ }
1721
+ )
1629
1722
  }
1630
- ) })
1723
+ )
1631
1724
  }
1632
1725
  ),
1633
1726
  expandableFeature && state.showExpandToggle(rowItem.row, column) && /* @__PURE__ */ jsx(
@@ -1639,7 +1732,16 @@ function UiGrid({
1639
1732
  "aria-label": state.expandToggleLabel(rowItem.row),
1640
1733
  "aria-expanded": rowItem.row.expanded,
1641
1734
  onClick: (e) => state.toggleRowExpansion(rowItem.row, e),
1642
- children: /* @__PURE__ */ jsx("svg", { className: "toggle-icon", viewBox: "0 0 24 24", "aria-hidden": "true", focusable: false, children: /* @__PURE__ */ jsx("path", { d: rowItem.row.expanded ? "M7 10l5 5 5-5z" : "M10 7l5 5-5 5z" }) })
1735
+ children: /* @__PURE__ */ jsx(
1736
+ "svg",
1737
+ {
1738
+ className: "toggle-icon",
1739
+ viewBox: "0 0 24 24",
1740
+ "aria-hidden": "true",
1741
+ focusable: false,
1742
+ children: /* @__PURE__ */ jsx("path", { d: rowItem.row.expanded ? "M7 10l5 5 5-5z" : "M10 7l5 5-5 5z" })
1743
+ }
1744
+ )
1643
1745
  }
1644
1746
  ),
1645
1747
  /* @__PURE__ */ jsx("span", { className: "cell-value", children: cellEditFeature && state.isEditingCell(rowItem.row, column) ? /* @__PURE__ */ jsx(
@@ -1791,10 +1893,20 @@ function UiGrid({
1791
1893
  return /* @__PURE__ */ jsxs(
1792
1894
  "div",
1793
1895
  {
1794
- className: `header-cell ui-grid-header-cell${sortingFeature && state.sortDirection(column) !== "none" ? " is-active" : ""}${pinned ? " is-pinned" : ""}${pinMenuOpen ? " is-pin-menu-open" : ""}`,
1896
+ className: `header-cell ui-grid-header-cell${sortingFeature && state.sortDirection(column) !== "none" ? " is-active" : ""}${pinned ? " is-pinned" : ""}${pinMenuOpen ? " is-pin-menu-open" : ""}${draggedColumnName === column.name ? " is-dragging" : ""}${dropTargetColumnName === column.name ? " is-drag-target" : ""}`,
1795
1897
  "data-part": "header-cell",
1796
1898
  role: "columnheader",
1797
1899
  "aria-sort": sortingFeature ? state.sortAriaSort(column) : void 0,
1900
+ draggable: columnMovingFeature,
1901
+ onDragStart: (event) => handleHeaderDragStart(column, event),
1902
+ onDragOver: (event) => handleHeaderDragOver(column, event),
1903
+ onDrop: (event) => handleHeaderDrop(column, event),
1904
+ onDragEnd: handleHeaderDragEnd,
1905
+ onDragLeave: () => {
1906
+ if (dropTargetColumnName === column.name) {
1907
+ setDropTargetColumnName(null);
1908
+ }
1909
+ },
1798
1910
  style: {
1799
1911
  position: pinned ? "sticky" : void 0,
1800
1912
  left: pinOffset?.side === "left" ? pinOffset.offset : void 0,
@@ -1834,71 +1946,78 @@ function UiGrid({
1834
1946
  ]
1835
1947
  }
1836
1948
  ),
1837
- state.pinningFeature && state.isPinningEnabled() && state.isColumnPinnable(column) && /* @__PURE__ */ jsxs("div", { className: `pin-control${pinMenuOpen ? " pin-control-open" : ""}`, onClick: (event) => event.stopPropagation(), children: [
1838
- /* @__PURE__ */ jsxs(
1839
- "button",
1840
- {
1841
- type: "button",
1842
- className: `chip-action pin-trigger${pinned || pinMenuOpen ? " chip-action-active" : ""}`,
1843
- "data-part": "pin-toggle",
1844
- "aria-label": pinButtonLabel(column),
1845
- title: pinButtonLabel(column),
1846
- "aria-haspopup": pinned ? void 0 : "menu",
1847
- "aria-expanded": pinned ? void 0 : pinMenuOpen,
1848
- onClick: (event) => onPinTrigger(column, event),
1849
- children: [
1850
- /* @__PURE__ */ jsx("svg", { viewBox: "0 0 24 24", "aria-hidden": "true", focusable: false, children: /* @__PURE__ */ jsx("path", { d: "M16 12V4h1V2H7v2h1v8l-2 2v2h5v6l1 1 1-1v-6h5v-2l-2-2z" }) }),
1851
- /* @__PURE__ */ jsx("span", { className: "sr-only ui-grid-sr-only", children: pinButtonLabel(column) })
1852
- ]
1853
- }
1854
- ),
1855
- /* @__PURE__ */ jsxs(
1856
- "div",
1857
- {
1858
- className: "pin-menu",
1859
- "data-part": "pin-menu",
1860
- role: "menu",
1861
- "aria-label": "Pin options",
1862
- "aria-hidden": !pinMenuOpen,
1863
- children: [
1864
- /* @__PURE__ */ jsxs(
1865
- "button",
1866
- {
1867
- type: "button",
1868
- className: "pin-menu-action",
1869
- "data-part": "pin-left-action",
1870
- role: "menuitem",
1871
- "aria-label": labels.pinLeft,
1872
- title: labels.pinLeft,
1873
- tabIndex: pinMenuOpen ? 0 : -1,
1874
- onClick: (event) => choosePinDirection(column, "left", event),
1875
- children: [
1876
- /* @__PURE__ */ jsx("svg", { viewBox: "0 0 24 24", "aria-hidden": "true", focusable: false, children: /* @__PURE__ */ jsx("path", { d: "M10 6 4 12l6 6v-4h10v-4H10V6z" }) }),
1877
- /* @__PURE__ */ jsx("span", { className: "sr-only ui-grid-sr-only", children: labels.pinLeft })
1878
- ]
1879
- }
1880
- ),
1881
- /* @__PURE__ */ jsxs(
1882
- "button",
1883
- {
1884
- type: "button",
1885
- className: "pin-menu-action",
1886
- "data-part": "pin-right-action",
1887
- role: "menuitem",
1888
- "aria-label": labels.pinRight,
1889
- title: labels.pinRight,
1890
- tabIndex: pinMenuOpen ? 0 : -1,
1891
- onClick: (event) => choosePinDirection(column, "right", event),
1892
- children: [
1893
- /* @__PURE__ */ jsx("svg", { viewBox: "0 0 24 24", "aria-hidden": "true", focusable: false, children: /* @__PURE__ */ jsx("path", { d: "M14 6v4H4v4h10v4l6-6-6-6z" }) }),
1894
- /* @__PURE__ */ jsx("span", { className: "sr-only ui-grid-sr-only", children: labels.pinRight })
1895
- ]
1896
- }
1897
- )
1898
- ]
1899
- }
1900
- )
1901
- ] })
1949
+ state.pinningFeature && state.isPinningEnabled() && state.isColumnPinnable(column) && /* @__PURE__ */ jsxs(
1950
+ "div",
1951
+ {
1952
+ className: `pin-control${pinMenuOpen ? " pin-control-open" : ""}`,
1953
+ onClick: (event) => event.stopPropagation(),
1954
+ children: [
1955
+ /* @__PURE__ */ jsxs(
1956
+ "button",
1957
+ {
1958
+ type: "button",
1959
+ className: `chip-action pin-trigger${pinned || pinMenuOpen ? " chip-action-active" : ""}`,
1960
+ "data-part": "pin-toggle",
1961
+ "aria-label": pinButtonLabel(column),
1962
+ title: pinButtonLabel(column),
1963
+ "aria-haspopup": pinned ? void 0 : "menu",
1964
+ "aria-expanded": pinned ? void 0 : pinMenuOpen,
1965
+ onClick: (event) => onPinTrigger(column, event),
1966
+ children: [
1967
+ /* @__PURE__ */ jsx("svg", { viewBox: "0 0 24 24", "aria-hidden": "true", focusable: false, children: /* @__PURE__ */ jsx("path", { d: "M16 12V4h1V2H7v2h1v8l-2 2v2h5v6l1 1 1-1v-6h5v-2l-2-2z" }) }),
1968
+ /* @__PURE__ */ jsx("span", { className: "sr-only ui-grid-sr-only", children: pinButtonLabel(column) })
1969
+ ]
1970
+ }
1971
+ ),
1972
+ /* @__PURE__ */ jsxs(
1973
+ "div",
1974
+ {
1975
+ className: "pin-menu",
1976
+ "data-part": "pin-menu",
1977
+ role: "menu",
1978
+ "aria-label": "Pin options",
1979
+ "aria-hidden": !pinMenuOpen,
1980
+ children: [
1981
+ /* @__PURE__ */ jsxs(
1982
+ "button",
1983
+ {
1984
+ type: "button",
1985
+ className: "pin-menu-action",
1986
+ "data-part": "pin-left-action",
1987
+ role: "menuitem",
1988
+ "aria-label": labels.pinLeft,
1989
+ title: labels.pinLeft,
1990
+ tabIndex: pinMenuOpen ? 0 : -1,
1991
+ onClick: (event) => choosePinDirection(column, "left", event),
1992
+ children: [
1993
+ /* @__PURE__ */ jsx("svg", { viewBox: "0 0 24 24", "aria-hidden": "true", focusable: false, children: /* @__PURE__ */ jsx("path", { d: "M10 6 4 12l6 6v-4h10v-4H10V6z" }) }),
1994
+ /* @__PURE__ */ jsx("span", { className: "sr-only ui-grid-sr-only", children: labels.pinLeft })
1995
+ ]
1996
+ }
1997
+ ),
1998
+ /* @__PURE__ */ jsxs(
1999
+ "button",
2000
+ {
2001
+ type: "button",
2002
+ className: "pin-menu-action",
2003
+ "data-part": "pin-right-action",
2004
+ role: "menuitem",
2005
+ "aria-label": labels.pinRight,
2006
+ title: labels.pinRight,
2007
+ tabIndex: pinMenuOpen ? 0 : -1,
2008
+ onClick: (event) => choosePinDirection(column, "right", event),
2009
+ children: [
2010
+ /* @__PURE__ */ jsx("svg", { viewBox: "0 0 24 24", "aria-hidden": "true", focusable: false, children: /* @__PURE__ */ jsx("path", { d: "M14 6v4H4v4h10v4l6-6-6-6z" }) }),
2011
+ /* @__PURE__ */ jsx("span", { className: "sr-only ui-grid-sr-only", children: labels.pinRight })
2012
+ ]
2013
+ }
2014
+ )
2015
+ ]
2016
+ }
2017
+ )
2018
+ ]
2019
+ }
2020
+ )
1902
2021
  ] })
1903
2022
  ]
1904
2023
  },
@@ -1913,7 +2032,10 @@ function UiGrid({
1913
2032
  className: "filter-grid ui-grid-header",
1914
2033
  "data-part": "filters",
1915
2034
  ref: filterGridRef,
1916
- style: { gridTemplateColumns, ["--ui-grid-header-sticky-top"]: `${headerStickyHeight}px` },
2035
+ style: {
2036
+ gridTemplateColumns,
2037
+ ["--ui-grid-header-sticky-top"]: `${headerStickyHeight}px`
2038
+ },
1917
2039
  children: visibleColumns.map((column) => {
1918
2040
  const pinned = state.isPinned(column);
1919
2041
  const pinOffset = pinned ? state.pinnedOffset(column) : null;
@@ -1952,21 +2074,28 @@ function UiGrid({
1952
2074
  })
1953
2075
  }
1954
2076
  ),
1955
- displayItems.length > 0 ? virtualizationEnabled ? /* @__PURE__ */ jsx("div", { className: "grid-virtual-spacer", style: { height: `${virtualScroll.totalHeight}px` }, children: /* @__PURE__ */ jsx(
2077
+ displayItems.length > 0 ? virtualizationEnabled ? /* @__PURE__ */ jsx(
1956
2078
  "div",
1957
2079
  {
1958
- className: "body-grid ui-grid-canvas grid-virtual-body",
1959
- "data-part": "body",
1960
- role: "rowgroup",
1961
- style: {
1962
- gridTemplateColumns,
1963
- position: "absolute",
1964
- top: `${virtualScroll.offsetY}px`,
1965
- left: 0
1966
- },
1967
- children: itemsToRender.map(renderDisplayItem)
2080
+ className: "grid-virtual-spacer",
2081
+ style: { height: `${virtualScroll.totalHeight}px` },
2082
+ children: /* @__PURE__ */ jsx(
2083
+ "div",
2084
+ {
2085
+ className: "body-grid ui-grid-canvas grid-virtual-body",
2086
+ "data-part": "body",
2087
+ role: "rowgroup",
2088
+ style: {
2089
+ gridTemplateColumns,
2090
+ position: "absolute",
2091
+ top: `${virtualScroll.offsetY}px`,
2092
+ left: 0
2093
+ },
2094
+ children: itemsToRender.map(renderDisplayItem)
2095
+ }
2096
+ )
1968
2097
  }
1969
- ) }) : /* @__PURE__ */ jsx(
2098
+ ) : /* @__PURE__ */ jsx(
1970
2099
  "div",
1971
2100
  {
1972
2101
  className: "body-grid ui-grid-canvas",
@@ -2078,8 +2207,27 @@ function mountUiGrid(container, props) {
2078
2207
  return root;
2079
2208
  }
2080
2209
 
2210
+ // src/vanillaAdapter.ts
2211
+ async function mountUiGridCustomElement(container, mountOptions) {
2212
+ const tagName = mountOptions.tagName ?? "ui-grid-element";
2213
+ if (mountOptions.ensureDefined) {
2214
+ await mountOptions.ensureDefined(tagName);
2215
+ }
2216
+ const element = document.createElement(tagName);
2217
+ element.options = mountOptions.options;
2218
+ container.replaceChildren(element);
2219
+ return {
2220
+ element,
2221
+ unmount: () => {
2222
+ if (container.firstElementChild === element) {
2223
+ container.replaceChildren();
2224
+ }
2225
+ }
2226
+ };
2227
+ }
2228
+
2081
2229
  // src/rustWasmGridEngine.ts
2082
- import { registerRustWasmGridEngine } from "@ornery/ui-grid";
2230
+ import { registerRustWasmGridEngine } from "@ornery/ui-grid-core";
2083
2231
  var uiGridWasmModulePath = "../../../dist/ui-grid-wasm-web/ui_grid_wasm.js";
2084
2232
  var uiGridWasmBinaryPath = "/dist/ui-grid-wasm-web/ui_grid_wasm_bg.wasm";
2085
2233
  function registerReactUiGridWasmEngineFromModule(module) {
@@ -2099,7 +2247,7 @@ async function enableReactUiGridWasmEngine() {
2099
2247
  }
2100
2248
 
2101
2249
  // src/index.ts
2102
- import { DEFAULT_GRID_LABELS } from "@ornery/ui-grid";
2250
+ import { DEFAULT_GRID_LABELS } from "@ornery/ui-grid-core";
2103
2251
  export {
2104
2252
  DEFAULT_GRID_LABELS,
2105
2253
  UiGrid,
@@ -2109,6 +2257,7 @@ export {
2109
2257
  enableReactUiGridWasmEngine,
2110
2258
  formatPaginationSummary,
2111
2259
  mountUiGrid,
2260
+ mountUiGridCustomElement,
2112
2261
  orderVisibleColumns,
2113
2262
  registerReactUiGridWasmEngineFromModule,
2114
2263
  resolveBenchmarkIterations,
@@ -1,4 +1,4 @@
1
- import type { PipelineResult } from '@ornery/ui-grid';
1
+ import type { PipelineResult } from '@ornery/ui-grid-core';
2
2
  type UiGridWasmModule = {
3
3
  build_pipeline_js(context: unknown): PipelineResult;
4
4
  };
@@ -1 +1 @@
1
- {"version":3,"file":"rustWasmGridEngine.d.ts","sourceRoot":"","sources":["../src/rustWasmGridEngine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA4B,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAMhF,KAAK,gBAAgB,GAAG;IACtB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,cAAc,CAAC;CACrD,CAAC;AAEF,wBAAgB,uCAAuC,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAMtF;AAED,wBAAsB,2BAA2B,IAAI,OAAO,CAAC,IAAI,CAAC,CAIjE"}
1
+ {"version":3,"file":"rustWasmGridEngine.d.ts","sourceRoot":"","sources":["../src/rustWasmGridEngine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA4B,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAMrF,KAAK,gBAAgB,GAAG;IACtB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,cAAc,CAAC;CACrD,CAAC;AAEF,wBAAgB,uCAAuC,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAMtF;AAED,wBAAsB,2BAA2B,IAAI,OAAO,CAAC,IAAI,CAAC,CAIjE"}
@@ -1,5 +1,5 @@
1
- import { UiGridApi, GridOptions, GridColumnDef, GridRow, GridBenchmarkResult, GridCellPosition, GridLabels, SortState } from '@ornery/ui-grid';
2
- import type { DisplayItem, GroupItem, ExpandableItem, RowItem, PipelineResult, GridInfiniteScrollState, GridCellTemplateContext, GridExpandableTemplateContext } from '@ornery/ui-grid';
1
+ import { UiGridApi, GridOptions, GridColumnDef, GridRow, GridBenchmarkResult, GridCellPosition, GridLabels, SortState } from '@ornery/ui-grid-core';
2
+ import type { DisplayItem, GroupItem, ExpandableItem, RowItem, PipelineResult, GridInfiniteScrollState, GridCellTemplateContext, GridExpandableTemplateContext } from '@ornery/ui-grid-core';
3
3
  export interface UseGridStateResult {
4
4
  pipeline: PipelineResult;
5
5
  visibleColumns: GridColumnDef[];
@@ -99,6 +99,7 @@ export interface UseGridStateResult {
99
99
  toggleRowExpansion: (row: GridRow, event?: React.MouseEvent) => void;
100
100
  toggleTreeRow: (row: GridRow, event?: React.MouseEvent) => void;
101
101
  moveColumn: (fromIndex: number, toIndex: number) => void;
102
+ moveVisibleColumn: (columnName: string, targetColumnName: string) => void;
102
103
  nextPage: () => void;
103
104
  previousPage: () => void;
104
105
  onPageSizeChange: (value: string) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"useGridState.d.ts","sourceRoot":"","sources":["../src/useGridState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useGridState.d.ts","sourceRoot":"","sources":["../src/useGridState.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { GridOptions } from '@ornery/ui-grid-core';
2
+ export interface MountUiGridCustomElementOptions {
3
+ options: GridOptions;
4
+ tagName?: string;
5
+ ensureDefined?: (tagName: string) => Promise<void> | void;
6
+ }
7
+ export interface MountedUiGridCustomElement {
8
+ element: HTMLElement & {
9
+ options: GridOptions;
10
+ };
11
+ unmount: () => void;
12
+ }
13
+ export declare function mountUiGridCustomElement(container: Element, mountOptions: MountUiGridCustomElementOptions): Promise<MountedUiGridCustomElement>;
14
+ //# sourceMappingURL=vanillaAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vanillaAdapter.d.ts","sourceRoot":"","sources":["../src/vanillaAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,MAAM,WAAW,+BAA+B;IAC9C,OAAO,EAAE,WAAW,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC3D;AAED,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,WAAW,GAAG;QAAE,OAAO,EAAE,WAAW,CAAA;KAAE,CAAC;IAChD,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,wBAAsB,wBAAwB,CAC5C,SAAS,EAAE,OAAO,EAClB,YAAY,EAAE,+BAA+B,GAC5C,OAAO,CAAC,0BAA0B,CAAC,CAmBrC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ornery/ui-grid-react",
3
- "version": "0.1.6",
4
- "description": "React wrapper for @ornery/ui-grid",
3
+ "version": "0.1.7-hotfix-1",
4
+ "description": "React wrapper for @ornery/ui-grid-core",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
7
7
  "types": "dist/index.d.ts",
@@ -14,27 +14,27 @@
14
14
  "./styles": "./dist/ui-grid.css"
15
15
  },
16
16
  "peerDependencies": {
17
+ "@ornery/ui-grid-core": "^0.1.7",
17
18
  "react": "^18.0.0 || ^19.0.0",
18
- "react-dom": "^18.0.0 || ^19.0.0",
19
- "@ornery/ui-grid": "^0.1.6"
19
+ "react-dom": "^18.0.0 || ^19.0.0"
20
20
  },
21
21
  "devDependencies": {
22
- "@ornery/ui-grid": "file:../ui-grid",
23
- "react": "^19.1.0",
24
- "react-dom": "^19.1.0",
22
+ "@ornery/ui-grid-core": "file:../ui-grid-core",
25
23
  "@testing-library/react": "^16.0.0",
26
24
  "@types/react": "^19.0.0",
27
25
  "@types/react-dom": "^19.0.0",
28
- "typescript": "~5.8.0",
29
- "vitest": "^4.1.0",
26
+ "@vitejs/plugin-react": "^4.0.0",
30
27
  "jsdom": "^26.0.0",
28
+ "react": "^19.1.0",
29
+ "react-dom": "^19.1.0",
31
30
  "tsup": "^8.0.0",
31
+ "typescript": "~5.8.0",
32
32
  "vite": "^6.0.0",
33
- "@vitejs/plugin-react": "^4.0.0"
33
+ "vitest": "^4.1.0"
34
34
  },
35
35
  "scripts": {
36
36
  "start": "vite serve demo --config demo/vite.config.ts",
37
- "build": "npm run build:library --prefix ../.. && tsup src/index.ts --format esm,cjs --tsconfig tsconfig.build.json --external react --external react-dom --external @ornery/ui-grid && tsc -p tsconfig.dts.json",
37
+ "build": "npm run build --prefix ../ui-grid-core && tsup src/index.ts --format esm,cjs --tsconfig tsconfig.build.json --external react --external react-dom --external @ornery/ui-grid-core && tsc -p tsconfig.dts.json",
38
38
  "test": "vitest run",
39
39
  "test:watch": "vitest"
40
40
  }