@dxos/plugin-sheet 0.6.12-main.89e9959 → 0.6.12-main.c1d977f

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.
Files changed (85) hide show
  1. package/dist/lib/browser/{SheetContainer-LG77O4RM.mjs → SheetContainer-7QG5RIM4.mjs} +4 -4
  2. package/dist/lib/browser/{chunk-WZMOZKQZ.mjs → chunk-4DPOO6BK.mjs} +18 -6
  3. package/dist/lib/browser/{chunk-WZMOZKQZ.mjs.map → chunk-4DPOO6BK.mjs.map} +3 -3
  4. package/dist/lib/browser/{chunk-CHQAW4F4.mjs → chunk-BKTLTM2Y.mjs} +83 -227
  5. package/dist/lib/browser/chunk-BKTLTM2Y.mjs.map +7 -0
  6. package/dist/lib/browser/{chunk-QILRZNE5.mjs → chunk-D3QTX46O.mjs} +4 -5
  7. package/dist/lib/browser/chunk-D3QTX46O.mjs.map +7 -0
  8. package/dist/lib/browser/index.mjs +8 -17
  9. package/dist/lib/browser/index.mjs.map +4 -4
  10. package/dist/lib/browser/meta.json +1 -1
  11. package/dist/lib/browser/meta.mjs +1 -1
  12. package/dist/lib/browser/types.mjs +2 -2
  13. package/dist/lib/node/{SheetContainer-OZ7DHH4L.cjs → SheetContainer-DXDD2G3A.cjs} +16 -16
  14. package/dist/lib/node/{chunk-5FTFZL5W.cjs → chunk-4FMMRVT2.cjs} +42 -185
  15. package/dist/lib/node/chunk-4FMMRVT2.cjs.map +7 -0
  16. package/dist/lib/node/{chunk-AOP42UAA.cjs → chunk-PJY2K5S2.cjs} +22 -10
  17. package/dist/lib/node/{chunk-AOP42UAA.cjs.map → chunk-PJY2K5S2.cjs.map} +3 -3
  18. package/dist/lib/node/{chunk-BNARJ5GM.cjs → chunk-QIFIGEKV.cjs} +6 -7
  19. package/dist/lib/node/chunk-QIFIGEKV.cjs.map +7 -0
  20. package/dist/lib/node/index.cjs +29 -37
  21. package/dist/lib/node/index.cjs.map +4 -4
  22. package/dist/lib/node/meta.cjs +3 -3
  23. package/dist/lib/node/meta.cjs.map +1 -1
  24. package/dist/lib/node/meta.json +1 -1
  25. package/dist/lib/node/types.cjs +9 -9
  26. package/dist/lib/node/types.cjs.map +1 -1
  27. package/dist/lib/node-esm/{SheetContainer-4XS2G25Z.mjs → SheetContainer-5WYNOYYD.mjs} +4 -4
  28. package/dist/lib/node-esm/{chunk-RR2AO4SM.mjs → chunk-2X36GIGW.mjs} +18 -6
  29. package/dist/lib/node-esm/{chunk-RR2AO4SM.mjs.map → chunk-2X36GIGW.mjs.map} +3 -3
  30. package/dist/lib/node-esm/{chunk-KK3XL37M.mjs → chunk-JYDBXLDH.mjs} +83 -227
  31. package/dist/lib/node-esm/chunk-JYDBXLDH.mjs.map +7 -0
  32. package/dist/lib/node-esm/{chunk-IU2L277A.mjs → chunk-VCYJWE3O.mjs} +4 -5
  33. package/dist/lib/node-esm/chunk-VCYJWE3O.mjs.map +7 -0
  34. package/dist/lib/node-esm/index.mjs +8 -17
  35. package/dist/lib/node-esm/index.mjs.map +4 -4
  36. package/dist/lib/node-esm/meta.json +1 -1
  37. package/dist/lib/node-esm/meta.mjs +1 -1
  38. package/dist/lib/node-esm/types.mjs +2 -2
  39. package/dist/types/src/components/GridSheet/GridSheet.d.ts.map +1 -1
  40. package/dist/types/src/components/{CellEditor/CellEditor.stories.d.ts → GridSheet/SheetCellEditor.stories.d.ts} +2 -2
  41. package/dist/types/src/components/GridSheet/SheetCellEditor.stories.d.ts.map +1 -0
  42. package/dist/types/src/components/GridSheet/util.d.ts +2 -2
  43. package/dist/types/src/components/GridSheet/util.d.ts.map +1 -1
  44. package/dist/types/src/components/Sheet/Sheet.d.ts.map +1 -1
  45. package/dist/types/src/components/Sheet/Sheet.stories.d.ts.map +1 -1
  46. package/dist/types/src/extensions/editor/extension.d.ts.map +1 -0
  47. package/dist/types/src/extensions/editor/extension.test.d.ts.map +1 -0
  48. package/dist/types/src/extensions/editor/index.d.ts +2 -0
  49. package/dist/types/src/extensions/editor/index.d.ts.map +1 -0
  50. package/dist/types/src/extensions/index.d.ts +1 -0
  51. package/dist/types/src/extensions/index.d.ts.map +1 -1
  52. package/dist/types/src/meta.d.ts +3 -6
  53. package/dist/types/src/meta.d.ts.map +1 -1
  54. package/dist/types/src/types.d.ts.map +1 -1
  55. package/package.json +34 -34
  56. package/src/components/GridSheet/GridSheet.tsx +14 -32
  57. package/src/components/{CellEditor/CellEditor.stories.tsx → GridSheet/SheetCellEditor.stories.tsx} +2 -2
  58. package/src/components/GridSheet/util.ts +2 -6
  59. package/src/components/Sheet/Sheet.tsx +2 -8
  60. package/src/{components/CellEditor → extensions/editor}/index.ts +0 -1
  61. package/src/extensions/index.ts +1 -0
  62. package/src/{meta.tsx → meta.ts} +3 -3
  63. package/src/model/sheet-model.test.ts +1 -3
  64. package/src/types.ts +4 -4
  65. package/dist/lib/browser/chunk-CHQAW4F4.mjs.map +0 -7
  66. package/dist/lib/browser/chunk-QILRZNE5.mjs.map +0 -7
  67. package/dist/lib/node/chunk-5FTFZL5W.cjs.map +0 -7
  68. package/dist/lib/node/chunk-BNARJ5GM.cjs.map +0 -7
  69. package/dist/lib/node-esm/chunk-IU2L277A.mjs.map +0 -7
  70. package/dist/lib/node-esm/chunk-KK3XL37M.mjs.map +0 -7
  71. package/dist/types/src/components/CellEditor/CellEditor.d.ts +0 -34
  72. package/dist/types/src/components/CellEditor/CellEditor.d.ts.map +0 -1
  73. package/dist/types/src/components/CellEditor/CellEditor.stories.d.ts.map +0 -1
  74. package/dist/types/src/components/CellEditor/extension.d.ts.map +0 -1
  75. package/dist/types/src/components/CellEditor/extension.test.d.ts.map +0 -1
  76. package/dist/types/src/components/CellEditor/index.d.ts +0 -3
  77. package/dist/types/src/components/CellEditor/index.d.ts.map +0 -1
  78. package/src/components/CellEditor/CellEditor.tsx +0 -163
  79. /package/dist/lib/browser/{SheetContainer-LG77O4RM.mjs.map → SheetContainer-7QG5RIM4.mjs.map} +0 -0
  80. /package/dist/lib/node/{SheetContainer-OZ7DHH4L.cjs.map → SheetContainer-DXDD2G3A.cjs.map} +0 -0
  81. /package/dist/lib/node-esm/{SheetContainer-4XS2G25Z.mjs.map → SheetContainer-5WYNOYYD.mjs.map} +0 -0
  82. /package/dist/types/src/{components/CellEditor → extensions/editor}/extension.d.ts +0 -0
  83. /package/dist/types/src/{components/CellEditor → extensions/editor}/extension.test.d.ts +0 -0
  84. /package/src/{components/CellEditor → extensions/editor}/extension.test.ts +0 -0
  85. /package/src/{components/CellEditor → extensions/editor}/extension.ts +0 -0
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  SheetType,
3
3
  ValueTypeEnum
4
- } from "./chunk-WZMOZKQZ.mjs";
4
+ } from "./chunk-4DPOO6BK.mjs";
5
5
  import {
6
6
  SHEET_PLUGIN
7
- } from "./chunk-QILRZNE5.mjs";
7
+ } from "./chunk-D3QTX46O.mjs";
8
8
  import {
9
9
  createSheetName
10
10
  } from "./chunk-GSV5QNLD.mjs";
@@ -15,13 +15,14 @@ import { restrictToHorizontalAxis, restrictToVerticalAxis } from "@dnd-kit/modif
15
15
  import { getEventCoordinates, useCombinedRefs } from "@dnd-kit/utilities";
16
16
  import { Function as FunctionIcon } from "@phosphor-icons/react";
17
17
  import { Resizable } from "re-resizable";
18
- import React6, { forwardRef, useEffect as useEffect4, useImperativeHandle, useMemo as useMemo4, useRef, useState as useState5 } from "react";
18
+ import React5, { forwardRef, useEffect as useEffect4, useImperativeHandle, useMemo as useMemo4, useRef, useState as useState5 } from "react";
19
19
  import { createPortal } from "react-dom";
20
20
  import { useResizeDetector } from "react-resize-detector";
21
- import { debounce as debounce2 } from "@dxos/async";
21
+ import { debounce as debounce3 } from "@dxos/async";
22
22
  import { fullyQualifiedId as fullyQualifiedId2, createDocAccessor } from "@dxos/client/echo";
23
23
  import { log as log2 } from "@dxos/log";
24
24
  import { ATTENABLE_ATTRIBUTE, useAttendableAttributes, useAttention, useAttentionPath } from "@dxos/react-ui-attention";
25
+ import { CellEditor, editorKeys } from "@dxos/react-ui-grid";
25
26
  import { mx as mx2 } from "@dxos/react-ui-theme";
26
27
 
27
28
  // packages/plugins/plugin-sheet/src/components/Sheet/grid.ts
@@ -544,7 +545,7 @@ var ComputeGraphContextProvider = ({ registry, children }) => {
544
545
  };
545
546
 
546
547
  // packages/plugins/plugin-sheet/src/components/index.ts
547
- var SheetContainer = React2.lazy(() => import("./SheetContainer-LG77O4RM.mjs"));
548
+ var SheetContainer = React2.lazy(() => import("./SheetContainer-7QG5RIM4.mjs"));
548
549
 
549
550
  // packages/plugins/plugin-sheet/src/hooks/useComputeGraph.ts
550
551
  var useComputeGraph = (space) => {
@@ -1438,169 +1439,23 @@ var scrollIntoView = (scrollContainer, el) => {
1438
1439
  }
1439
1440
  };
1440
1441
 
1441
- // packages/plugins/plugin-sheet/src/components/CellEditor/CellEditor.tsx
1442
- import { EditorView, keymap } from "@codemirror/view";
1443
- import React5 from "react";
1444
- import { useThemeContext } from "@dxos/react-ui";
1445
- import { createBasicExtensions, createThemeExtensions, preventNewline, useTextEditor } from "@dxos/react-ui-editor";
1446
- var editorKeys = ({ onNav, onClose }) => {
1447
- return keymap.of([
1448
- {
1449
- key: "ArrowUp",
1450
- run: (editor) => {
1451
- const value = editor.state.doc.toString();
1452
- onNav?.(value, {
1453
- key: "ArrowUp"
1454
- });
1455
- return !!onNav;
1456
- }
1457
- },
1458
- {
1459
- key: "ArrowDown",
1460
- run: (editor) => {
1461
- const value = editor.state.doc.toString();
1462
- onNav?.(value, {
1463
- key: "ArrowDown"
1464
- });
1465
- return !!onNav;
1466
- }
1467
- },
1468
- {
1469
- key: "ArrowLeft",
1470
- run: (editor) => {
1471
- const value = editor.state.doc.toString();
1472
- onNav?.(value, {
1473
- key: "ArrowLeft"
1474
- });
1475
- return !!onNav;
1476
- }
1477
- },
1478
- {
1479
- key: "ArrowRight",
1480
- run: (editor) => {
1481
- const value = editor.state.doc.toString();
1482
- onNav?.(value, {
1483
- key: "ArrowRight"
1484
- });
1485
- return !!onNav;
1486
- }
1487
- },
1488
- {
1489
- key: "Enter",
1490
- run: (editor) => {
1491
- onClose(editor.state.doc.toString(), {
1492
- key: "Enter"
1493
- });
1494
- return true;
1495
- },
1496
- shift: (editor) => {
1497
- onClose(editor.state.doc.toString(), {
1498
- key: "Enter",
1499
- shift: true
1500
- });
1501
- return true;
1502
- }
1503
- },
1504
- {
1505
- key: "Tab",
1506
- run: (editor) => {
1507
- onClose(editor.state.doc.toString(), {
1508
- key: "Tab"
1509
- });
1510
- return true;
1511
- },
1512
- shift: (editor) => {
1513
- onClose(editor.state.doc.toString(), {
1514
- key: "Tab",
1515
- shift: true
1516
- });
1517
- return true;
1518
- }
1519
- },
1520
- {
1521
- key: "Escape",
1522
- run: () => {
1523
- onClose(void 0, {
1524
- key: "Escape"
1525
- });
1526
- return true;
1527
- }
1528
- }
1529
- ]);
1530
- };
1531
- var editorVariants = {
1532
- // TODO(thure): remove when legacy is no longer used.
1533
- legacy: {
1534
- root: "flex w-full",
1535
- editor: "flex w-full [&>.cm-scroller]:scrollbar-none",
1536
- content: "!px-2 !py-1"
1537
- },
1538
- grid: {
1539
- root: "absolute z-[1]",
1540
- editor: "[&>.cm-scroller]:scrollbar-none tabular-nums",
1541
- content: "!border !border-transparent !p-0.5"
1542
- }
1543
- };
1544
- var CellEditor = ({ value, extension, autoFocus, onBlur, variant = "legacy", box, gridId }) => {
1545
- const { themeMode } = useThemeContext();
1546
- const { parentRef } = useTextEditor(() => {
1547
- return {
1548
- autoFocus,
1549
- initialValue: value,
1550
- selection: {
1551
- anchor: value?.length ?? 0
1552
- },
1553
- extensions: [
1554
- extension ?? [],
1555
- preventNewline,
1556
- EditorView.focusChangeEffect.of((_, focusing) => {
1557
- if (!focusing) {
1558
- onBlur?.({
1559
- type: "blur"
1560
- });
1561
- }
1562
- return null;
1563
- }),
1564
- createBasicExtensions({
1565
- lineWrapping: false
1566
- }),
1567
- createThemeExtensions({
1568
- themeMode,
1569
- slots: {
1570
- editor: {
1571
- className: editorVariants[variant].editor
1572
- },
1573
- content: {
1574
- className: editorVariants[variant].content
1575
- }
1576
- }
1577
- })
1578
- ]
1579
- };
1580
- }, [
1581
- extension,
1582
- autoFocus,
1583
- value,
1584
- variant,
1585
- onBlur
1586
- ]);
1587
- return /* @__PURE__ */ React5.createElement("div", {
1588
- ref: parentRef,
1589
- className: editorVariants[variant].root,
1590
- style: box,
1591
- ...gridId && {
1592
- "data-grid": gridId
1593
- }
1594
- });
1595
- };
1442
+ // packages/plugins/plugin-sheet/src/extensions/compute.ts
1443
+ import { syntaxTree } from "@codemirror/language";
1444
+ import { RangeSetBuilder, StateEffect, StateField } from "@codemirror/state";
1445
+ import { Decoration, EditorView, ViewPlugin, WidgetType } from "@codemirror/view";
1446
+ import { debounce as debounce2 } from "@dxos/async";
1447
+ import { invariant as invariant4 } from "@dxos/invariant";
1448
+ import { documentId, singleValueFacet } from "@dxos/react-ui-editor/state";
1449
+ var updateAllDecorations = StateEffect.define();
1450
+ var computeGraphFacet = singleValueFacet();
1596
1451
 
1597
- // packages/plugins/plugin-sheet/src/components/CellEditor/extension.ts
1452
+ // packages/plugins/plugin-sheet/src/extensions/editor/extension.ts
1598
1453
  import { acceptCompletion, autocompletion, completionStatus, startCompletion } from "@codemirror/autocomplete";
1599
1454
  import { HighlightStyle, syntaxHighlighting } from "@codemirror/language";
1600
- import { ViewPlugin, keymap as keymap2 } from "@codemirror/view";
1455
+ import { ViewPlugin as ViewPlugin2, keymap } from "@codemirror/view";
1601
1456
  import { tags } from "@lezer/highlight";
1602
1457
  import { spreadsheet } from "codemirror-lang-spreadsheet";
1603
- import { singleValueFacet } from "@dxos/react-ui-editor/state";
1458
+ import { singleValueFacet as singleValueFacet2 } from "@dxos/react-ui-editor/state";
1604
1459
  import { mx } from "@dxos/react-ui-theme";
1605
1460
  var highlightStyles = HighlightStyle.define([
1606
1461
  // Function.
@@ -1632,7 +1487,7 @@ var highlightStyles = HighlightStyle.define([
1632
1487
  class: "text-unAccent"
1633
1488
  }
1634
1489
  ]);
1635
- var languageFacet = singleValueFacet();
1490
+ var languageFacet = singleValueFacet2();
1636
1491
  var sheetExtension = ({ functions = [] }) => {
1637
1492
  const { extension, language } = spreadsheet({
1638
1493
  idiom: "en-US",
@@ -1714,7 +1569,7 @@ var sheetExtension = ({ functions = [] }) => {
1714
1569
  icons: false,
1715
1570
  tooltipClass: () => mx("!-left-[1px] !top-[33px] !-m-0 border !border-t-0 [&>ul]:!min-w-[198px]", "[&>ul>li[aria-selected]]:!bg-accentSurface", "border-separator")
1716
1571
  }),
1717
- keymap2.of([
1572
+ keymap.of([
1718
1573
  {
1719
1574
  key: "Tab",
1720
1575
  run: (view) => {
@@ -1741,7 +1596,7 @@ var rangeExtension = (onInit) => {
1741
1596
  }
1742
1597
  view.focus();
1743
1598
  };
1744
- return ViewPlugin.fromClass(class {
1599
+ return ViewPlugin2.fromClass(class {
1745
1600
  constructor(_view) {
1746
1601
  view = _view;
1747
1602
  onInit(provider);
@@ -1809,7 +1664,7 @@ var fragments = {
1809
1664
  cellSelected: "bg-gridCellSelected text-baseText border !border-accentSurface"
1810
1665
  };
1811
1666
  var SheetRoot = ({ children, ...props }) => {
1812
- return /* @__PURE__ */ React6.createElement(SheetContextProvider, props, children);
1667
+ return /* @__PURE__ */ React5.createElement(SheetContextProvider, props, children);
1813
1668
  };
1814
1669
  var SheetMain = /* @__PURE__ */ forwardRef(({ classNames, numRows, numCols }, forwardRef2) => {
1815
1670
  const { model, cursor, setCursor, setRange, setEditing } = useSheetContext();
@@ -1828,7 +1683,7 @@ var SheetMain = /* @__PURE__ */ forwardRef(({ classNames, numRows, numCols }, fo
1828
1683
  const columnsAccessor = createDocAccessor(model.sheet, [
1829
1684
  "columns"
1830
1685
  ]);
1831
- const handleUpdate = debounce2(() => {
1686
+ const handleUpdate = debounce3(() => {
1832
1687
  setRows([
1833
1688
  ...model.sheet.rows
1834
1689
  ]);
@@ -1883,7 +1738,7 @@ var SheetMain = /* @__PURE__ */ forwardRef(({ classNames, numRows, numCols }, fo
1883
1738
  const columnAccessor = createDocAccessor(model.sheet, [
1884
1739
  "columnMeta"
1885
1740
  ]);
1886
- const handleUpdate = debounce2(() => {
1741
+ const handleUpdate = debounce3(() => {
1887
1742
  const mapSizes = (values) => values.reduce((map, [idx, meta]) => {
1888
1743
  if (meta.size) {
1889
1744
  map[idx] = meta.size;
@@ -1925,16 +1780,16 @@ var SheetMain = /* @__PURE__ */ forwardRef(({ classNames, numRows, numCols }, fo
1925
1780
  }));
1926
1781
  }
1927
1782
  };
1928
- return /* @__PURE__ */ React6.createElement("div", {
1783
+ return /* @__PURE__ */ React5.createElement("div", {
1929
1784
  role: "none",
1930
1785
  className: mx2("grid grid-cols-[calc(var(--rail-size)-2px)_1fr] grid-rows-[32px_1fr_32px] bs-full is-full overflow-hidden", classNames)
1931
- }, /* @__PURE__ */ React6.createElement(GridCorner, {
1786
+ }, /* @__PURE__ */ React5.createElement(GridCorner, {
1932
1787
  onClick: () => {
1933
1788
  setCursor(void 0);
1934
1789
  setRange(void 0);
1935
1790
  setEditing(false);
1936
1791
  }
1937
- }), /* @__PURE__ */ React6.createElement(SheetColumns, {
1792
+ }), /* @__PURE__ */ React5.createElement(SheetColumns, {
1938
1793
  ref: columnsRef,
1939
1794
  columns,
1940
1795
  sizes: columnSizes,
@@ -1945,7 +1800,7 @@ var SheetMain = /* @__PURE__ */ forwardRef(({ classNames, numRows, numCols }, fo
1945
1800
  }),
1946
1801
  onResize: handleResizeColumn,
1947
1802
  onMove: handleMoveColumns
1948
- }), /* @__PURE__ */ React6.createElement(SheetRows, {
1803
+ }), /* @__PURE__ */ React5.createElement(SheetRows, {
1949
1804
  ref: rowsRef,
1950
1805
  rows,
1951
1806
  sizes: rowSizes,
@@ -1956,7 +1811,7 @@ var SheetMain = /* @__PURE__ */ forwardRef(({ classNames, numRows, numCols }, fo
1956
1811
  }),
1957
1812
  onResize: handleResizeRow,
1958
1813
  onMove: handleMoveRows
1959
- }), /* @__PURE__ */ React6.createElement(SheetGrid, {
1814
+ }), /* @__PURE__ */ React5.createElement(SheetGrid, {
1960
1815
  ref: contentRef,
1961
1816
  size: {
1962
1817
  numRows: numRows ?? rows.length,
@@ -1966,7 +1821,7 @@ var SheetMain = /* @__PURE__ */ forwardRef(({ classNames, numRows, numCols }, fo
1966
1821
  columns,
1967
1822
  rowSizes,
1968
1823
  columnSizes
1969
- }), /* @__PURE__ */ React6.createElement(GridCorner, null), /* @__PURE__ */ React6.createElement(SheetStatusBar, null));
1824
+ }), /* @__PURE__ */ React5.createElement(GridCorner, null), /* @__PURE__ */ React5.createElement(SheetStatusBar, null));
1970
1825
  });
1971
1826
  var useScrollHandlers = () => {
1972
1827
  const rowsRef = useRef(null);
@@ -2009,13 +1864,13 @@ var useScrollHandlers = () => {
2009
1864
  };
2010
1865
  };
2011
1866
  var GridCorner = (props) => {
2012
- return /* @__PURE__ */ React6.createElement("div", {
1867
+ return /* @__PURE__ */ React5.createElement("div", {
2013
1868
  className: fragments.axis,
2014
1869
  ...props
2015
1870
  });
2016
1871
  };
2017
1872
  var MovingOverlay = ({ label }) => {
2018
- return /* @__PURE__ */ React6.createElement("div", {
1873
+ return /* @__PURE__ */ React5.createElement("div", {
2019
1874
  className: "flex w-full h-full justify-center items-center text-sm p-1 bg-gridOverlay cursor-pointer"
2020
1875
  }, label);
2021
1876
  };
@@ -2059,18 +1914,18 @@ var SheetRows = /* @__PURE__ */ forwardRef(({ rows, sizes, selected, onSelect, o
2059
1914
  }
2060
1915
  return transform;
2061
1916
  };
2062
- return /* @__PURE__ */ React6.createElement("div", {
1917
+ return /* @__PURE__ */ React5.createElement("div", {
2063
1918
  className: "relative flex grow overflow-hidden"
2064
- }, /* @__PURE__ */ React6.createElement("div", {
1919
+ }, /* @__PURE__ */ React5.createElement("div", {
2065
1920
  className: mx2("z-20 absolute inset-0 border-y border-gridLine pointer-events-none"),
2066
1921
  style: {
2067
1922
  width: axisWidth
2068
1923
  }
2069
- }), /* @__PURE__ */ React6.createElement("div", {
1924
+ }), /* @__PURE__ */ React5.createElement("div", {
2070
1925
  ref: forwardRef2,
2071
1926
  role: "rowheader",
2072
1927
  className: "grow overflow-y-auto scrollbar-none"
2073
- }, /* @__PURE__ */ React6.createElement(DndContext, {
1928
+ }, /* @__PURE__ */ React5.createElement(DndContext, {
2074
1929
  sensors,
2075
1930
  modifiers: [
2076
1931
  restrictToVerticalAxis,
@@ -2078,12 +1933,12 @@ var SheetRows = /* @__PURE__ */ forwardRef(({ rows, sizes, selected, onSelect, o
2078
1933
  ],
2079
1934
  onDragStart: handleDragStart,
2080
1935
  onDragEnd: handleDragEnd
2081
- }, /* @__PURE__ */ React6.createElement("div", {
1936
+ }, /* @__PURE__ */ React5.createElement("div", {
2082
1937
  className: "flex flex-col",
2083
1938
  style: {
2084
1939
  width: axisWidth
2085
1940
  }
2086
- }, rows.map((idx, index) => /* @__PURE__ */ React6.createElement(GridRowCell, {
1941
+ }, rows.map((idx, index) => /* @__PURE__ */ React5.createElement(GridRowCell, {
2087
1942
  key: idx,
2088
1943
  idx,
2089
1944
  index,
@@ -2093,7 +1948,7 @@ var SheetRows = /* @__PURE__ */ forwardRef(({ rows, sizes, selected, onSelect, o
2093
1948
  selected: selected === index,
2094
1949
  onResize,
2095
1950
  onSelect
2096
- }))), /* @__PURE__ */ createPortal(/* @__PURE__ */ React6.createElement(DragOverlay, null, active && /* @__PURE__ */ React6.createElement(MovingOverlay, {
1951
+ }))), /* @__PURE__ */ createPortal(/* @__PURE__ */ React5.createElement(DragOverlay, null, active && /* @__PURE__ */ React5.createElement(MovingOverlay, {
2097
1952
  label: String(active.data.current.index + 1)
2098
1953
  })), document.body))));
2099
1954
  });
@@ -2134,7 +1989,7 @@ var GridRowCell = ({ idx, index, label, size, resize, selected, onSelect, onResi
2134
1989
  onResize?.(idx, initialSize + height, true);
2135
1990
  setResizing(false);
2136
1991
  };
2137
- return /* @__PURE__ */ React6.createElement(Resizable, {
1992
+ return /* @__PURE__ */ React5.createElement(Resizable, {
2138
1993
  enable: {
2139
1994
  bottom: resize
2140
1995
  },
@@ -2146,17 +2001,17 @@ var GridRowCell = ({ idx, index, label, size, resize, selected, onSelect, onResi
2146
2001
  onResizeStart: handleResizeStart,
2147
2002
  onResize: handleResize,
2148
2003
  onResizeStop: handleResizeStop
2149
- }, /* @__PURE__ */ React6.createElement("div", {
2004
+ }, /* @__PURE__ */ React5.createElement("div", {
2150
2005
  ref: setNodeRef,
2151
2006
  ...attributes,
2152
2007
  ...listeners,
2153
2008
  className: mx2("flex h-full items-center justify-center cursor-pointer", "border-t border-gridLine focus-visible:outline-none", fragments.axis, selected && fragments.axisSelected, isDragging && fragments.axisSelected),
2154
2009
  onClick: () => onSelect?.(index)
2155
- }, /* @__PURE__ */ React6.createElement("span", {
2010
+ }, /* @__PURE__ */ React5.createElement("span", {
2156
2011
  className: "flex w-full justify-center"
2157
- }, label), over?.id === idx && !isDragging && /* @__PURE__ */ React6.createElement("div", {
2012
+ }, label), over?.id === idx && !isDragging && /* @__PURE__ */ React5.createElement("div", {
2158
2013
  className: "z-20 absolute top-0 w-full min-h-[4px] border-b-4 border-accentSurface"
2159
- }), resizing && /* @__PURE__ */ React6.createElement("div", {
2014
+ }), resizing && /* @__PURE__ */ React5.createElement("div", {
2160
2015
  className: "z-20 absolute bottom-0 w-full min-h-[4px] border-b-4 border-accentSurface"
2161
2016
  })));
2162
2017
  };
@@ -2193,18 +2048,18 @@ var SheetColumns = /* @__PURE__ */ forwardRef(({ columns, sizes, selected, onSel
2193
2048
  }
2194
2049
  return transform;
2195
2050
  };
2196
- return /* @__PURE__ */ React6.createElement("div", {
2051
+ return /* @__PURE__ */ React5.createElement("div", {
2197
2052
  className: "relative flex grow overflow-hidden"
2198
- }, /* @__PURE__ */ React6.createElement("div", {
2053
+ }, /* @__PURE__ */ React5.createElement("div", {
2199
2054
  className: mx2("z-20 absolute inset-0 border-x border-gridLine pointer-events-none"),
2200
2055
  style: {
2201
2056
  height: axisHeight
2202
2057
  }
2203
- }), /* @__PURE__ */ React6.createElement("div", {
2058
+ }), /* @__PURE__ */ React5.createElement("div", {
2204
2059
  ref: forwardRef2,
2205
2060
  role: "columnheader",
2206
2061
  className: "grow overflow-x-auto scrollbar-none"
2207
- }, /* @__PURE__ */ React6.createElement(DndContext, {
2062
+ }, /* @__PURE__ */ React5.createElement(DndContext, {
2208
2063
  autoScroll: {
2209
2064
  enabled: true
2210
2065
  },
@@ -2215,12 +2070,12 @@ var SheetColumns = /* @__PURE__ */ forwardRef(({ columns, sizes, selected, onSel
2215
2070
  ],
2216
2071
  onDragStart: handleDragStart,
2217
2072
  onDragEnd: handleDragEnd
2218
- }, /* @__PURE__ */ React6.createElement("div", {
2073
+ }, /* @__PURE__ */ React5.createElement("div", {
2219
2074
  className: "flex h-full",
2220
2075
  style: {
2221
2076
  height: axisHeight
2222
2077
  }
2223
- }, columns.map((idx, index) => /* @__PURE__ */ React6.createElement(GridColumnCell, {
2078
+ }, columns.map((idx, index) => /* @__PURE__ */ React5.createElement(GridColumnCell, {
2224
2079
  key: idx,
2225
2080
  idx,
2226
2081
  index,
@@ -2230,7 +2085,7 @@ var SheetColumns = /* @__PURE__ */ forwardRef(({ columns, sizes, selected, onSel
2230
2085
  selected: selected === index,
2231
2086
  onResize,
2232
2087
  onSelect
2233
- }))), /* @__PURE__ */ createPortal(/* @__PURE__ */ React6.createElement(DragOverlay, null, active && /* @__PURE__ */ React6.createElement(MovingOverlay, {
2088
+ }))), /* @__PURE__ */ createPortal(/* @__PURE__ */ React5.createElement(DragOverlay, null, active && /* @__PURE__ */ React5.createElement(MovingOverlay, {
2234
2089
  label: columnLetter(active.data.current.index)
2235
2090
  })), document.body))));
2236
2091
  });
@@ -2271,7 +2126,7 @@ var GridColumnCell = ({ idx, index, label, size, resize, selected, onSelect, onR
2271
2126
  onResize?.(idx, initialSize + width, true);
2272
2127
  setResizing(false);
2273
2128
  };
2274
- return /* @__PURE__ */ React6.createElement(Resizable, {
2129
+ return /* @__PURE__ */ React5.createElement(Resizable, {
2275
2130
  enable: {
2276
2131
  right: resize
2277
2132
  },
@@ -2283,17 +2138,17 @@ var GridColumnCell = ({ idx, index, label, size, resize, selected, onSelect, onR
2283
2138
  onResizeStart: handleResizeStart,
2284
2139
  onResize: handleResize,
2285
2140
  onResizeStop: handleResizeStop
2286
- }, /* @__PURE__ */ React6.createElement("div", {
2141
+ }, /* @__PURE__ */ React5.createElement("div", {
2287
2142
  ref: setNodeRef,
2288
2143
  ...attributes,
2289
2144
  ...listeners,
2290
2145
  className: mx2("flex h-full items-center justify-center cursor-pointer", "border-l border-gridLine focus-visible:outline-none", fragments.axis, selected && fragments.axisSelected, isDragging && fragments.axisSelected),
2291
2146
  onClick: () => onSelect?.(index)
2292
- }, /* @__PURE__ */ React6.createElement("span", {
2147
+ }, /* @__PURE__ */ React5.createElement("span", {
2293
2148
  className: "flex w-full justify-center"
2294
- }, label), over?.id === idx && !isDragging && /* @__PURE__ */ React6.createElement("div", {
2149
+ }, label), over?.id === idx && !isDragging && /* @__PURE__ */ React5.createElement("div", {
2295
2150
  className: "z-20 absolute left-0 h-full min-w-[4px] border-l-4 border-accentSurface"
2296
- }), resizing && /* @__PURE__ */ React6.createElement("div", {
2151
+ }), resizing && /* @__PURE__ */ React5.createElement("div", {
2297
2152
  className: "z-20 absolute right-0 h-full min-h-[4px] border-l-4 border-accentSurface"
2298
2153
  })));
2299
2154
  };
@@ -2313,7 +2168,7 @@ var SheetGrid = /* @__PURE__ */ forwardRef(({ size, rows, columns, rowSizes, col
2313
2168
  id: model.id
2314
2169
  }, {
2315
2170
  F: __dxlog_file4,
2316
- L: 738,
2171
+ L: 732,
2317
2172
  S: void 0,
2318
2173
  C: (f, a) => f(...a)
2319
2174
  });
@@ -2432,16 +2287,16 @@ var SheetGrid = /* @__PURE__ */ forwardRef(({ size, rows, columns, rowSizes, col
2432
2287
  });
2433
2288
  const id = fullyQualifiedId2(model.sheet);
2434
2289
  const { hasAttention } = useAttention(id);
2435
- return /* @__PURE__ */ React6.createElement("div", {
2290
+ return /* @__PURE__ */ React5.createElement("div", {
2436
2291
  ref: containerRef,
2437
2292
  role: "grid",
2438
2293
  className: "relative flex grow overflow-hidden"
2439
- }, /* @__PURE__ */ React6.createElement("div", {
2294
+ }, /* @__PURE__ */ React5.createElement("div", {
2440
2295
  className: mx2("z-20 absolute inset-0 border border-gridLine pointer-events-none")
2441
- }), /* @__PURE__ */ React6.createElement("div", {
2296
+ }), /* @__PURE__ */ React5.createElement("div", {
2442
2297
  ref: scrollerRef,
2443
2298
  className: mx2("grow", hasAttention && "overflow-auto scrollbar-thin")
2444
- }, /* @__PURE__ */ React6.createElement("div", {
2299
+ }, /* @__PURE__ */ React5.createElement("div", {
2445
2300
  className: "relative select-none",
2446
2301
  style: {
2447
2302
  width,
@@ -2449,7 +2304,7 @@ var SheetGrid = /* @__PURE__ */ forwardRef(({ size, rows, columns, rowSizes, col
2449
2304
  },
2450
2305
  onClick: () => inputRef.current?.focus(),
2451
2306
  ...handlers
2452
- }, scrollerRef.current && /* @__PURE__ */ React6.createElement(SelectionOverlay, {
2307
+ }, scrollerRef.current && /* @__PURE__ */ React5.createElement(SelectionOverlay, {
2453
2308
  root: scrollerRef.current
2454
2309
  }), rowRange.map(({ row, top, height: height2 }) => {
2455
2310
  return columnRange.map(({ col, left, width: width2 }) => {
@@ -2498,7 +2353,7 @@ var SheetGrid = /* @__PURE__ */ forwardRef(({ size, rows, columns, rowSizes, col
2498
2353
  inputRef.current?.focus();
2499
2354
  setEditing(false);
2500
2355
  };
2501
- return /* @__PURE__ */ React6.createElement(GridCellEditor, {
2356
+ return /* @__PURE__ */ React5.createElement(GridCellEditor, {
2502
2357
  key: idx,
2503
2358
  value,
2504
2359
  style,
@@ -2506,7 +2361,7 @@ var SheetGrid = /* @__PURE__ */ forwardRef(({ size, rows, columns, rowSizes, col
2506
2361
  onClose: handleClose
2507
2362
  });
2508
2363
  }
2509
- return /* @__PURE__ */ React6.createElement(SheetCell, {
2364
+ return /* @__PURE__ */ React5.createElement(SheetCell, {
2510
2365
  key: id2,
2511
2366
  id: id2,
2512
2367
  cell,
@@ -2518,7 +2373,7 @@ var SheetGrid = /* @__PURE__ */ forwardRef(({ size, rows, columns, rowSizes, col
2518
2373
  }
2519
2374
  });
2520
2375
  });
2521
- }))), /* @__PURE__ */ createPortal(/* @__PURE__ */ React6.createElement(SheetInput, {
2376
+ }))), /* @__PURE__ */ createPortal(/* @__PURE__ */ React5.createElement(SheetInput, {
2522
2377
  ref: inputRef,
2523
2378
  id,
2524
2379
  onKeyDown: handleKeyDown
@@ -2528,10 +2383,10 @@ var SheetInput = /* @__PURE__ */ forwardRef(({ id, onKeyDown }, forwardedRef) =>
2528
2383
  const path = useAttentionPath();
2529
2384
  const attendableAttrs = useAttendableAttributes(id);
2530
2385
  return path.toReversed().reduce((acc, part) => {
2531
- return /* @__PURE__ */ React6.createElement("div", {
2386
+ return /* @__PURE__ */ React5.createElement("div", {
2532
2387
  [ATTENABLE_ATTRIBUTE]: part
2533
2388
  }, acc);
2534
- }, /* @__PURE__ */ React6.createElement("input", {
2389
+ }, /* @__PURE__ */ React5.createElement("input", {
2535
2390
  ref: forwardedRef,
2536
2391
  className: "absolute w-[1px] h-[1px] bg-transparent outline-none border-none caret-transparent",
2537
2392
  onKeyDown,
@@ -2551,7 +2406,7 @@ var SelectionOverlay = ({ root }) => {
2551
2406
  const b1 = getRelativeClientRect(root, c1);
2552
2407
  const b2 = getRelativeClientRect(root, c2);
2553
2408
  const bounds = getRectUnion(b1, b2);
2554
- return /* @__PURE__ */ React6.createElement("div", {
2409
+ return /* @__PURE__ */ React5.createElement("div", {
2555
2410
  role: "none",
2556
2411
  style: bounds,
2557
2412
  className: "z-10 absolute pointer-events-none bg-gridSelectionOverlay border border-gridOverlay"
@@ -2569,12 +2424,12 @@ var SheetCell = ({ id, cell, style, active, onSelect }) => {
2569
2424
  return children;
2570
2425
  }
2571
2426
  const DecoratorComponent = decorate;
2572
- return /* @__PURE__ */ React6.createElement(DecoratorComponent, null, children);
2573
- }, /* @__PURE__ */ React6.createElement("div", {
2427
+ return /* @__PURE__ */ React5.createElement(DecoratorComponent, null, children);
2428
+ }, /* @__PURE__ */ React5.createElement("div", {
2574
2429
  role: "none",
2575
2430
  className: mx2("flex flex-grow bs-full is-full px-2 items-center truncate cursor-pointer", ...decorationAddedClasses)
2576
2431
  }, value));
2577
- return /* @__PURE__ */ React6.createElement("div", {
2432
+ return /* @__PURE__ */ React5.createElement("div", {
2578
2433
  [`data-${CELL_DATA_KEY}`]: id,
2579
2434
  role: "cell",
2580
2435
  style,
@@ -2616,12 +2471,12 @@ var GridCellEditor = ({ style, value, onNav, onClose }) => {
2616
2471
  ], [
2617
2472
  model
2618
2473
  ]);
2619
- return /* @__PURE__ */ React6.createElement("div", {
2474
+ return /* @__PURE__ */ React5.createElement("div", {
2620
2475
  role: "cell",
2621
2476
  style,
2622
2477
  className: mx2("z-20 flex", fragments.cellSelected),
2623
2478
  onClick: (ev) => ev.stopPropagation()
2624
- }, /* @__PURE__ */ React6.createElement(CellEditor, {
2479
+ }, /* @__PURE__ */ React5.createElement(CellEditor, {
2625
2480
  autoFocus: true,
2626
2481
  value,
2627
2482
  extension
@@ -2640,17 +2495,17 @@ var SheetStatusBar = () => {
2640
2495
  value = String(value);
2641
2496
  }
2642
2497
  }
2643
- return /* @__PURE__ */ React6.createElement("div", {
2498
+ return /* @__PURE__ */ React5.createElement("div", {
2644
2499
  className: mx2("flex shrink-0 justify-between items-center px-4 py-1 text-sm border-x border-gridLine")
2645
- }, /* @__PURE__ */ React6.createElement("div", {
2500
+ }, /* @__PURE__ */ React5.createElement("div", {
2646
2501
  className: "flex gap-4 items-center"
2647
- }, /* @__PURE__ */ React6.createElement("div", {
2502
+ }, /* @__PURE__ */ React5.createElement("div", {
2648
2503
  className: "flex w-16 items-center font-mono"
2649
- }, range && rangeToA1Notation(range) || cursor && addressToA1Notation(cursor)), /* @__PURE__ */ React6.createElement("div", {
2504
+ }, range && rangeToA1Notation(range) || cursor && addressToA1Notation(cursor)), /* @__PURE__ */ React5.createElement("div", {
2650
2505
  className: "flex gap-2 items-center"
2651
- }, /* @__PURE__ */ React6.createElement(FunctionIcon, {
2506
+ }, /* @__PURE__ */ React5.createElement(FunctionIcon, {
2652
2507
  className: mx2("text-greenText", isFormula ? "visible" : "invisible")
2653
- }), /* @__PURE__ */ React6.createElement("span", {
2508
+ }), /* @__PURE__ */ React5.createElement("span", {
2654
2509
  className: "font-mono"
2655
2510
  }, value))));
2656
2511
  };
@@ -2668,9 +2523,9 @@ var SheetDebug = () => {
2668
2523
  }, [
2669
2524
  model
2670
2525
  ]);
2671
- return /* @__PURE__ */ React6.createElement("div", {
2526
+ return /* @__PURE__ */ React5.createElement("div", {
2672
2527
  className: mx2("z-20 absolute right-0 top-20 bottom-20 w-[30rem] overflow-auto scrollbar-thin", "border border-gridLine text-xs bg-neutral-50 dark:bg-black text-cyan-500 font-mono p-1 opacity-80")
2673
- }, /* @__PURE__ */ React6.createElement("pre", {
2528
+ }, /* @__PURE__ */ React5.createElement("pre", {
2674
2529
  className: "whitespace-pre-wrap"
2675
2530
  }, JSON.stringify({
2676
2531
  cursor,
@@ -2699,7 +2554,8 @@ export {
2699
2554
  compareIndexPositions,
2700
2555
  useComputeGraph,
2701
2556
  useSheetContext,
2557
+ computeGraphFacet,
2702
2558
  Sheet,
2703
2559
  SheetContainer
2704
2560
  };
2705
- //# sourceMappingURL=chunk-CHQAW4F4.mjs.map
2561
+ //# sourceMappingURL=chunk-BKTLTM2Y.mjs.map