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

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 (96) hide show
  1. package/dist/lib/browser/{SheetContainer-LG77O4RM.mjs → SheetContainer-XBTEYQ6T.mjs} +4 -4
  2. package/dist/lib/browser/{chunk-QILRZNE5.mjs → chunk-D3QTX46O.mjs} +4 -5
  3. package/dist/lib/browser/chunk-D3QTX46O.mjs.map +7 -0
  4. package/dist/lib/browser/{chunk-CHQAW4F4.mjs → chunk-NA6NLHDE.mjs} +117 -260
  5. package/dist/lib/browser/chunk-NA6NLHDE.mjs.map +7 -0
  6. package/dist/lib/browser/{chunk-WZMOZKQZ.mjs → chunk-NZBWHQSR.mjs} +21 -25
  7. package/dist/lib/browser/chunk-NZBWHQSR.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 +4 -8
  13. package/dist/lib/node/{SheetContainer-OZ7DHH4L.cjs → SheetContainer-HSRYKV52.cjs} +16 -16
  14. package/dist/lib/node/{chunk-BNARJ5GM.cjs → chunk-QIFIGEKV.cjs} +6 -7
  15. package/dist/lib/node/chunk-QIFIGEKV.cjs.map +7 -0
  16. package/dist/lib/node/{chunk-5FTFZL5W.cjs → chunk-UXH6GKEU.cjs} +61 -202
  17. package/dist/lib/node/chunk-UXH6GKEU.cjs.map +7 -0
  18. package/dist/lib/node/{chunk-AOP42UAA.cjs → chunk-XYGN3RTG.cjs} +27 -33
  19. package/dist/lib/node/chunk-XYGN3RTG.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 +8 -12
  26. package/dist/lib/node/types.cjs.map +2 -2
  27. package/dist/lib/node-esm/{SheetContainer-4XS2G25Z.mjs → SheetContainer-Q4PHM7ZE.mjs} +4 -4
  28. package/dist/lib/node-esm/{chunk-RR2AO4SM.mjs → chunk-GH33JLIW.mjs} +21 -25
  29. package/dist/lib/node-esm/chunk-GH33JLIW.mjs.map +7 -0
  30. package/dist/lib/node-esm/{chunk-KK3XL37M.mjs → chunk-J2KAVUQA.mjs} +117 -260
  31. package/dist/lib/node-esm/chunk-J2KAVUQA.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 +4 -8
  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/model/formatting-model.d.ts +3 -0
  55. package/dist/types/src/model/formatting-model.d.ts.map +1 -1
  56. package/dist/types/src/model/sheet-model.d.ts +3 -2
  57. package/dist/types/src/model/sheet-model.d.ts.map +1 -1
  58. package/dist/types/src/types.d.ts +4 -20
  59. package/dist/types/src/types.d.ts.map +1 -1
  60. package/package.json +36 -34
  61. package/src/components/GridSheet/GridSheet.tsx +14 -32
  62. package/src/components/{CellEditor/CellEditor.stories.tsx → GridSheet/SheetCellEditor.stories.tsx} +2 -2
  63. package/src/components/GridSheet/util.ts +2 -6
  64. package/src/components/Sheet/Sheet.stories.tsx +4 -3
  65. package/src/components/Sheet/Sheet.tsx +2 -8
  66. package/src/{components/CellEditor → extensions/editor}/index.ts +0 -1
  67. package/src/extensions/index.ts +1 -0
  68. package/src/{meta.tsx → meta.ts} +3 -3
  69. package/src/model/formatting-model.ts +11 -8
  70. package/src/model/sheet-model.test.ts +1 -3
  71. package/src/model/sheet-model.ts +13 -11
  72. package/src/types.ts +8 -35
  73. package/dist/lib/browser/chunk-CHQAW4F4.mjs.map +0 -7
  74. package/dist/lib/browser/chunk-QILRZNE5.mjs.map +0 -7
  75. package/dist/lib/browser/chunk-WZMOZKQZ.mjs.map +0 -7
  76. package/dist/lib/node/chunk-5FTFZL5W.cjs.map +0 -7
  77. package/dist/lib/node/chunk-AOP42UAA.cjs.map +0 -7
  78. package/dist/lib/node/chunk-BNARJ5GM.cjs.map +0 -7
  79. package/dist/lib/node-esm/chunk-IU2L277A.mjs.map +0 -7
  80. package/dist/lib/node-esm/chunk-KK3XL37M.mjs.map +0 -7
  81. package/dist/lib/node-esm/chunk-RR2AO4SM.mjs.map +0 -7
  82. package/dist/types/src/components/CellEditor/CellEditor.d.ts +0 -34
  83. package/dist/types/src/components/CellEditor/CellEditor.d.ts.map +0 -1
  84. package/dist/types/src/components/CellEditor/CellEditor.stories.d.ts.map +0 -1
  85. package/dist/types/src/components/CellEditor/extension.d.ts.map +0 -1
  86. package/dist/types/src/components/CellEditor/extension.test.d.ts.map +0 -1
  87. package/dist/types/src/components/CellEditor/index.d.ts +0 -3
  88. package/dist/types/src/components/CellEditor/index.d.ts.map +0 -1
  89. package/src/components/CellEditor/CellEditor.tsx +0 -163
  90. /package/dist/lib/browser/{SheetContainer-LG77O4RM.mjs.map → SheetContainer-XBTEYQ6T.mjs.map} +0 -0
  91. /package/dist/lib/node/{SheetContainer-OZ7DHH4L.cjs.map → SheetContainer-HSRYKV52.cjs.map} +0 -0
  92. /package/dist/lib/node-esm/{SheetContainer-4XS2G25Z.mjs.map → SheetContainer-Q4PHM7ZE.mjs.map} +0 -0
  93. /package/dist/types/src/{components/CellEditor → extensions/editor}/extension.d.ts +0 -0
  94. /package/dist/types/src/{components/CellEditor → extensions/editor}/extension.test.d.ts +0 -0
  95. /package/src/{components/CellEditor → extensions/editor}/extension.test.ts +0 -0
  96. /package/src/{components/CellEditor → extensions/editor}/extension.ts +0 -0
@@ -1,11 +1,10 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
- SheetType,
4
- ValueTypeEnum
5
- } from "./chunk-RR2AO4SM.mjs";
3
+ SheetType
4
+ } from "./chunk-GH33JLIW.mjs";
6
5
  import {
7
6
  SHEET_PLUGIN
8
- } from "./chunk-IU2L277A.mjs";
7
+ } from "./chunk-VCYJWE3O.mjs";
9
8
  import {
10
9
  createSheetName
11
10
  } from "./chunk-5WPZCXNS.mjs";
@@ -16,13 +15,14 @@ import { restrictToHorizontalAxis, restrictToVerticalAxis } from "@dnd-kit/modif
16
15
  import { getEventCoordinates, useCombinedRefs } from "@dnd-kit/utilities";
17
16
  import { Function as FunctionIcon } from "@phosphor-icons/react";
18
17
  import { Resizable } from "re-resizable";
19
- 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";
20
19
  import { createPortal } from "react-dom";
21
20
  import { useResizeDetector } from "react-resize-detector";
22
- import { debounce as debounce2 } from "@dxos/async";
21
+ import { debounce as debounce3 } from "@dxos/async";
23
22
  import { fullyQualifiedId as fullyQualifiedId2, createDocAccessor } from "@dxos/client/echo";
24
23
  import { log as log2 } from "@dxos/log";
25
24
  import { ATTENABLE_ATTRIBUTE, useAttendableAttributes, useAttention, useAttentionPath } from "@dxos/react-ui-attention";
25
+ import { CellEditor, editorKeys } from "@dxos/react-ui-grid";
26
26
  import { mx as mx2 } from "@dxos/react-ui-theme";
27
27
 
28
28
  // packages/plugins/plugin-sheet/src/components/Sheet/grid.ts
@@ -545,7 +545,7 @@ var ComputeGraphContextProvider = ({ registry, children }) => {
545
545
  };
546
546
 
547
547
  // packages/plugins/plugin-sheet/src/components/index.ts
548
- var SheetContainer = React2.lazy(() => import("./SheetContainer-4XS2G25Z.mjs"));
548
+ var SheetContainer = React2.lazy(() => import("./SheetContainer-Q4PHM7ZE.mjs"));
549
549
 
550
550
  // packages/plugins/plugin-sheet/src/hooks/useComputeGraph.ts
551
551
  var useComputeGraph = (space) => {
@@ -567,6 +567,7 @@ var useComputeGraph = (space) => {
567
567
  import { useMemo } from "react";
568
568
 
569
569
  // packages/plugins/plugin-sheet/src/model/formatting-model.ts
570
+ import { FieldValueType } from "@dxos/schema";
570
571
  var FormattingModel = class {
571
572
  constructor(_model) {
572
573
  this._model = _model;
@@ -599,7 +600,7 @@ var FormattingModel = class {
599
600
  const defaultNumber = "justify-end font-mono";
600
601
  const type = formatting?.type ?? this._model.getValueType(cell);
601
602
  switch (type) {
602
- case ValueTypeEnum.Boolean: {
603
+ case FieldValueType.Boolean: {
603
604
  return {
604
605
  value: value.toLocaleString().toUpperCase(),
605
606
  classNames: [
@@ -611,7 +612,7 @@ var FormattingModel = class {
611
612
  //
612
613
  // Numbers.
613
614
  //
614
- case ValueTypeEnum.Number: {
615
+ case FieldValueType.Number: {
615
616
  return {
616
617
  value: value.toLocaleString(locales),
617
618
  classNames: [
@@ -620,7 +621,7 @@ var FormattingModel = class {
620
621
  ]
621
622
  };
622
623
  }
623
- case ValueTypeEnum.Percent: {
624
+ case FieldValueType.Percent: {
624
625
  return {
625
626
  value: value * 100 + "%",
626
627
  classNames: [
@@ -629,7 +630,7 @@ var FormattingModel = class {
629
630
  ]
630
631
  };
631
632
  }
632
- case ValueTypeEnum.Currency: {
633
+ case FieldValueType.Currency: {
633
634
  return {
634
635
  value: value.toLocaleString(locales, {
635
636
  style: "currency",
@@ -646,21 +647,21 @@ var FormattingModel = class {
646
647
  //
647
648
  // Dates.
648
649
  //
649
- case ValueTypeEnum.DateTime: {
650
+ case FieldValueType.DateTime: {
650
651
  const date = this._model.toLocalDate(value);
651
652
  return {
652
653
  value: date.toLocaleString(locales),
653
654
  classNames
654
655
  };
655
656
  }
656
- case ValueTypeEnum.Date: {
657
+ case FieldValueType.Date: {
657
658
  const date = this._model.toLocalDate(value);
658
659
  return {
659
660
  value: date.toLocaleDateString(locales),
660
661
  classNames
661
662
  };
662
663
  }
663
- case ValueTypeEnum.Time: {
664
+ case FieldValueType.Time: {
664
665
  const date = this._model.toLocalDate(value);
665
666
  return {
666
667
  value: date.toLocaleTimeString(locales),
@@ -684,16 +685,17 @@ import { getTypename } from "@dxos/echo-schema";
684
685
  import { invariant as invariant2 } from "@dxos/invariant";
685
686
  import { PublicKey } from "@dxos/keys";
686
687
  import { log } from "@dxos/log";
688
+ import { FieldValueType as FieldValueType2 } from "@dxos/schema";
687
689
  import { DetailedCellError, ExportedCellChange } from "#hyperformula";
688
690
  var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-sheet/src/model/sheet-model.ts";
689
691
  var typeMap = {
690
- BOOLEAN: ValueTypeEnum.Boolean,
691
- NUMBER_RAW: ValueTypeEnum.Number,
692
- NUMBER_PERCENT: ValueTypeEnum.Percent,
693
- NUMBER_CURRENCY: ValueTypeEnum.Currency,
694
- NUMBER_DATETIME: ValueTypeEnum.DateTime,
695
- NUMBER_DATE: ValueTypeEnum.Date,
696
- NUMBER_TIME: ValueTypeEnum.Time
692
+ BOOLEAN: FieldValueType2.Boolean,
693
+ NUMBER_RAW: FieldValueType2.Number,
694
+ NUMBER_PERCENT: FieldValueType2.Percent,
695
+ NUMBER_CURRENCY: FieldValueType2.Currency,
696
+ NUMBER_DATETIME: FieldValueType2.DateTime,
697
+ NUMBER_DATE: FieldValueType2.Date,
698
+ NUMBER_TIME: FieldValueType2.Time
697
699
  };
698
700
  var getTopLeft = (range) => {
699
701
  const to = range.to ?? range.from;
@@ -743,7 +745,7 @@ var SheetModel = class extends Resource {
743
745
  id: this.id
744
746
  }, {
745
747
  F: __dxlog_file2,
746
- L: 104,
748
+ L: 106,
747
749
  S: this,
748
750
  C: (f, a) => f(...a)
749
751
  });
@@ -765,7 +767,7 @@ var SheetModel = class extends Resource {
765
767
  reset() {
766
768
  invariant2(this._node, void 0, {
767
769
  F: __dxlog_file2,
768
- L: 124,
770
+ L: 126,
769
771
  S: this,
770
772
  A: [
771
773
  "this._node",
@@ -776,7 +778,7 @@ var SheetModel = class extends Resource {
776
778
  Object.entries(this._sheet.cells).forEach(([key, { value }]) => {
777
779
  invariant2(this._node, void 0, {
778
780
  F: __dxlog_file2,
779
- L: 127,
781
+ L: 129,
780
782
  S: this,
781
783
  A: [
782
784
  "this._node",
@@ -822,7 +824,7 @@ var SheetModel = class extends Resource {
822
824
  clear(range) {
823
825
  invariant2(this._node, void 0, {
824
826
  F: __dxlog_file2,
825
- L: 169,
827
+ L: 171,
826
828
  S: this,
827
829
  A: [
828
830
  "this._node",
@@ -840,7 +842,7 @@ var SheetModel = class extends Resource {
840
842
  cut(range) {
841
843
  invariant2(this._node, void 0, {
842
844
  F: __dxlog_file2,
843
- L: 180,
845
+ L: 182,
844
846
  S: this,
845
847
  A: [
846
848
  "this._node",
@@ -856,7 +858,7 @@ var SheetModel = class extends Resource {
856
858
  copy(range) {
857
859
  invariant2(this._node, void 0, {
858
860
  F: __dxlog_file2,
859
- L: 189,
861
+ L: 191,
860
862
  S: this,
861
863
  A: [
862
864
  "this._node",
@@ -868,7 +870,7 @@ var SheetModel = class extends Resource {
868
870
  paste(cell) {
869
871
  invariant2(this._node, void 0, {
870
872
  F: __dxlog_file2,
871
- L: 194,
873
+ L: 196,
872
874
  S: this,
873
875
  A: [
874
876
  "this._node",
@@ -895,7 +897,7 @@ var SheetModel = class extends Resource {
895
897
  undo() {
896
898
  invariant2(this._node, void 0, {
897
899
  F: __dxlog_file2,
898
- L: 209,
900
+ L: 211,
899
901
  S: this,
900
902
  A: [
901
903
  "this._node",
@@ -909,7 +911,7 @@ var SheetModel = class extends Resource {
909
911
  redo() {
910
912
  invariant2(this._node, void 0, {
911
913
  F: __dxlog_file2,
912
- L: 217,
914
+ L: 219,
913
915
  S: this,
914
916
  A: [
915
917
  "this._node",
@@ -953,7 +955,7 @@ var SheetModel = class extends Resource {
953
955
  getValue(cell) {
954
956
  invariant2(this._node, void 0, {
955
957
  F: __dxlog_file2,
956
- L: 260,
958
+ L: 262,
957
959
  S: this,
958
960
  A: [
959
961
  "this._node",
@@ -972,7 +974,7 @@ var SheetModel = class extends Resource {
972
974
  getValueType(cell) {
973
975
  invariant2(this._node, void 0, {
974
976
  F: __dxlog_file2,
975
- L: 273,
977
+ L: 275,
976
978
  S: this,
977
979
  A: [
978
980
  "this._node",
@@ -989,7 +991,7 @@ var SheetModel = class extends Resource {
989
991
  setValue(cell, value) {
990
992
  invariant2(this._node, void 0, {
991
993
  F: __dxlog_file2,
992
- L: 283,
994
+ L: 285,
993
995
  S: this,
994
996
  A: [
995
997
  "this._node",
@@ -1086,7 +1088,7 @@ var SheetModel = class extends Resource {
1086
1088
  mapFormulaRefsToIndices(formula) {
1087
1089
  invariant2(formula.charAt(0) === "=", void 0, {
1088
1090
  F: __dxlog_file2,
1089
- L: 372,
1091
+ L: 374,
1090
1092
  S: this,
1091
1093
  A: [
1092
1094
  "formula.charAt(0) === '='",
@@ -1103,7 +1105,7 @@ var SheetModel = class extends Resource {
1103
1105
  mapFormulaIndicesToRefs(formula) {
1104
1106
  invariant2(formula.charAt(0) === "=", void 0, {
1105
1107
  F: __dxlog_file2,
1106
- L: 382,
1108
+ L: 384,
1107
1109
  S: this,
1108
1110
  A: [
1109
1111
  "formula.charAt(0) === '='",
@@ -1129,7 +1131,7 @@ var SheetModel = class extends Resource {
1129
1131
  toDateTime(num) {
1130
1132
  invariant2(this._node, void 0, {
1131
1133
  F: __dxlog_file2,
1132
- L: 403,
1134
+ L: 405,
1133
1135
  S: this,
1134
1136
  A: [
1135
1137
  "this._node",
@@ -1141,7 +1143,7 @@ var SheetModel = class extends Resource {
1141
1143
  toDate(num) {
1142
1144
  invariant2(this._node, void 0, {
1143
1145
  F: __dxlog_file2,
1144
- L: 408,
1146
+ L: 410,
1145
1147
  S: this,
1146
1148
  A: [
1147
1149
  "this._node",
@@ -1153,7 +1155,7 @@ var SheetModel = class extends Resource {
1153
1155
  toTime(num) {
1154
1156
  invariant2(this._node, void 0, {
1155
1157
  F: __dxlog_file2,
1156
- L: 413,
1158
+ L: 415,
1157
1159
  S: this,
1158
1160
  A: [
1159
1161
  "this._node",
@@ -1439,169 +1441,23 @@ var scrollIntoView = (scrollContainer, el) => {
1439
1441
  }
1440
1442
  };
1441
1443
 
1442
- // packages/plugins/plugin-sheet/src/components/CellEditor/CellEditor.tsx
1443
- import { EditorView, keymap } from "@codemirror/view";
1444
- import React5 from "react";
1445
- import { useThemeContext } from "@dxos/react-ui";
1446
- import { createBasicExtensions, createThemeExtensions, preventNewline, useTextEditor } from "@dxos/react-ui-editor";
1447
- var editorKeys = ({ onNav, onClose }) => {
1448
- return keymap.of([
1449
- {
1450
- key: "ArrowUp",
1451
- run: (editor) => {
1452
- const value = editor.state.doc.toString();
1453
- onNav?.(value, {
1454
- key: "ArrowUp"
1455
- });
1456
- return !!onNav;
1457
- }
1458
- },
1459
- {
1460
- key: "ArrowDown",
1461
- run: (editor) => {
1462
- const value = editor.state.doc.toString();
1463
- onNav?.(value, {
1464
- key: "ArrowDown"
1465
- });
1466
- return !!onNav;
1467
- }
1468
- },
1469
- {
1470
- key: "ArrowLeft",
1471
- run: (editor) => {
1472
- const value = editor.state.doc.toString();
1473
- onNav?.(value, {
1474
- key: "ArrowLeft"
1475
- });
1476
- return !!onNav;
1477
- }
1478
- },
1479
- {
1480
- key: "ArrowRight",
1481
- run: (editor) => {
1482
- const value = editor.state.doc.toString();
1483
- onNav?.(value, {
1484
- key: "ArrowRight"
1485
- });
1486
- return !!onNav;
1487
- }
1488
- },
1489
- {
1490
- key: "Enter",
1491
- run: (editor) => {
1492
- onClose(editor.state.doc.toString(), {
1493
- key: "Enter"
1494
- });
1495
- return true;
1496
- },
1497
- shift: (editor) => {
1498
- onClose(editor.state.doc.toString(), {
1499
- key: "Enter",
1500
- shift: true
1501
- });
1502
- return true;
1503
- }
1504
- },
1505
- {
1506
- key: "Tab",
1507
- run: (editor) => {
1508
- onClose(editor.state.doc.toString(), {
1509
- key: "Tab"
1510
- });
1511
- return true;
1512
- },
1513
- shift: (editor) => {
1514
- onClose(editor.state.doc.toString(), {
1515
- key: "Tab",
1516
- shift: true
1517
- });
1518
- return true;
1519
- }
1520
- },
1521
- {
1522
- key: "Escape",
1523
- run: () => {
1524
- onClose(void 0, {
1525
- key: "Escape"
1526
- });
1527
- return true;
1528
- }
1529
- }
1530
- ]);
1531
- };
1532
- var editorVariants = {
1533
- // TODO(thure): remove when legacy is no longer used.
1534
- legacy: {
1535
- root: "flex w-full",
1536
- editor: "flex w-full [&>.cm-scroller]:scrollbar-none",
1537
- content: "!px-2 !py-1"
1538
- },
1539
- grid: {
1540
- root: "absolute z-[1]",
1541
- editor: "[&>.cm-scroller]:scrollbar-none tabular-nums",
1542
- content: "!border !border-transparent !p-0.5"
1543
- }
1544
- };
1545
- var CellEditor = ({ value, extension, autoFocus, onBlur, variant = "legacy", box, gridId }) => {
1546
- const { themeMode } = useThemeContext();
1547
- const { parentRef } = useTextEditor(() => {
1548
- return {
1549
- autoFocus,
1550
- initialValue: value,
1551
- selection: {
1552
- anchor: value?.length ?? 0
1553
- },
1554
- extensions: [
1555
- extension ?? [],
1556
- preventNewline,
1557
- EditorView.focusChangeEffect.of((_, focusing) => {
1558
- if (!focusing) {
1559
- onBlur?.({
1560
- type: "blur"
1561
- });
1562
- }
1563
- return null;
1564
- }),
1565
- createBasicExtensions({
1566
- lineWrapping: false
1567
- }),
1568
- createThemeExtensions({
1569
- themeMode,
1570
- slots: {
1571
- editor: {
1572
- className: editorVariants[variant].editor
1573
- },
1574
- content: {
1575
- className: editorVariants[variant].content
1576
- }
1577
- }
1578
- })
1579
- ]
1580
- };
1581
- }, [
1582
- extension,
1583
- autoFocus,
1584
- value,
1585
- variant,
1586
- onBlur
1587
- ]);
1588
- return /* @__PURE__ */ React5.createElement("div", {
1589
- ref: parentRef,
1590
- className: editorVariants[variant].root,
1591
- style: box,
1592
- ...gridId && {
1593
- "data-grid": gridId
1594
- }
1595
- });
1596
- };
1444
+ // packages/plugins/plugin-sheet/src/extensions/compute.ts
1445
+ import { syntaxTree } from "@codemirror/language";
1446
+ import { RangeSetBuilder, StateEffect, StateField } from "@codemirror/state";
1447
+ import { Decoration, EditorView, ViewPlugin, WidgetType } from "@codemirror/view";
1448
+ import { debounce as debounce2 } from "@dxos/async";
1449
+ import { invariant as invariant4 } from "@dxos/invariant";
1450
+ import { documentId, singleValueFacet } from "@dxos/react-ui-editor/state";
1451
+ var updateAllDecorations = StateEffect.define();
1452
+ var computeGraphFacet = singleValueFacet();
1597
1453
 
1598
- // packages/plugins/plugin-sheet/src/components/CellEditor/extension.ts
1454
+ // packages/plugins/plugin-sheet/src/extensions/editor/extension.ts
1599
1455
  import { acceptCompletion, autocompletion, completionStatus, startCompletion } from "@codemirror/autocomplete";
1600
1456
  import { HighlightStyle, syntaxHighlighting } from "@codemirror/language";
1601
- import { ViewPlugin, keymap as keymap2 } from "@codemirror/view";
1457
+ import { ViewPlugin as ViewPlugin2, keymap } from "@codemirror/view";
1602
1458
  import { tags } from "@lezer/highlight";
1603
1459
  import { spreadsheet } from "codemirror-lang-spreadsheet";
1604
- import { singleValueFacet } from "@dxos/react-ui-editor/state";
1460
+ import { singleValueFacet as singleValueFacet2 } from "@dxos/react-ui-editor/state";
1605
1461
  import { mx } from "@dxos/react-ui-theme";
1606
1462
  var highlightStyles = HighlightStyle.define([
1607
1463
  // Function.
@@ -1633,7 +1489,7 @@ var highlightStyles = HighlightStyle.define([
1633
1489
  class: "text-unAccent"
1634
1490
  }
1635
1491
  ]);
1636
- var languageFacet = singleValueFacet();
1492
+ var languageFacet = singleValueFacet2();
1637
1493
  var sheetExtension = ({ functions = [] }) => {
1638
1494
  const { extension, language } = spreadsheet({
1639
1495
  idiom: "en-US",
@@ -1715,7 +1571,7 @@ var sheetExtension = ({ functions = [] }) => {
1715
1571
  icons: false,
1716
1572
  tooltipClass: () => mx("!-left-[1px] !top-[33px] !-m-0 border !border-t-0 [&>ul]:!min-w-[198px]", "[&>ul>li[aria-selected]]:!bg-accentSurface", "border-separator")
1717
1573
  }),
1718
- keymap2.of([
1574
+ keymap.of([
1719
1575
  {
1720
1576
  key: "Tab",
1721
1577
  run: (view) => {
@@ -1742,7 +1598,7 @@ var rangeExtension = (onInit) => {
1742
1598
  }
1743
1599
  view.focus();
1744
1600
  };
1745
- return ViewPlugin.fromClass(class {
1601
+ return ViewPlugin2.fromClass(class {
1746
1602
  constructor(_view) {
1747
1603
  view = _view;
1748
1604
  onInit(provider);
@@ -1810,7 +1666,7 @@ var fragments = {
1810
1666
  cellSelected: "bg-gridCellSelected text-baseText border !border-accentSurface"
1811
1667
  };
1812
1668
  var SheetRoot = ({ children, ...props }) => {
1813
- return /* @__PURE__ */ React6.createElement(SheetContextProvider, props, children);
1669
+ return /* @__PURE__ */ React5.createElement(SheetContextProvider, props, children);
1814
1670
  };
1815
1671
  var SheetMain = /* @__PURE__ */ forwardRef(({ classNames, numRows, numCols }, forwardRef2) => {
1816
1672
  const { model, cursor, setCursor, setRange, setEditing } = useSheetContext();
@@ -1829,7 +1685,7 @@ var SheetMain = /* @__PURE__ */ forwardRef(({ classNames, numRows, numCols }, fo
1829
1685
  const columnsAccessor = createDocAccessor(model.sheet, [
1830
1686
  "columns"
1831
1687
  ]);
1832
- const handleUpdate = debounce2(() => {
1688
+ const handleUpdate = debounce3(() => {
1833
1689
  setRows([
1834
1690
  ...model.sheet.rows
1835
1691
  ]);
@@ -1884,7 +1740,7 @@ var SheetMain = /* @__PURE__ */ forwardRef(({ classNames, numRows, numCols }, fo
1884
1740
  const columnAccessor = createDocAccessor(model.sheet, [
1885
1741
  "columnMeta"
1886
1742
  ]);
1887
- const handleUpdate = debounce2(() => {
1743
+ const handleUpdate = debounce3(() => {
1888
1744
  const mapSizes = (values) => values.reduce((map, [idx, meta]) => {
1889
1745
  if (meta.size) {
1890
1746
  map[idx] = meta.size;
@@ -1926,16 +1782,16 @@ var SheetMain = /* @__PURE__ */ forwardRef(({ classNames, numRows, numCols }, fo
1926
1782
  }));
1927
1783
  }
1928
1784
  };
1929
- return /* @__PURE__ */ React6.createElement("div", {
1785
+ return /* @__PURE__ */ React5.createElement("div", {
1930
1786
  role: "none",
1931
1787
  className: mx2("grid grid-cols-[calc(var(--rail-size)-2px)_1fr] grid-rows-[32px_1fr_32px] bs-full is-full overflow-hidden", classNames)
1932
- }, /* @__PURE__ */ React6.createElement(GridCorner, {
1788
+ }, /* @__PURE__ */ React5.createElement(GridCorner, {
1933
1789
  onClick: () => {
1934
1790
  setCursor(void 0);
1935
1791
  setRange(void 0);
1936
1792
  setEditing(false);
1937
1793
  }
1938
- }), /* @__PURE__ */ React6.createElement(SheetColumns, {
1794
+ }), /* @__PURE__ */ React5.createElement(SheetColumns, {
1939
1795
  ref: columnsRef,
1940
1796
  columns,
1941
1797
  sizes: columnSizes,
@@ -1946,7 +1802,7 @@ var SheetMain = /* @__PURE__ */ forwardRef(({ classNames, numRows, numCols }, fo
1946
1802
  }),
1947
1803
  onResize: handleResizeColumn,
1948
1804
  onMove: handleMoveColumns
1949
- }), /* @__PURE__ */ React6.createElement(SheetRows, {
1805
+ }), /* @__PURE__ */ React5.createElement(SheetRows, {
1950
1806
  ref: rowsRef,
1951
1807
  rows,
1952
1808
  sizes: rowSizes,
@@ -1957,7 +1813,7 @@ var SheetMain = /* @__PURE__ */ forwardRef(({ classNames, numRows, numCols }, fo
1957
1813
  }),
1958
1814
  onResize: handleResizeRow,
1959
1815
  onMove: handleMoveRows
1960
- }), /* @__PURE__ */ React6.createElement(SheetGrid, {
1816
+ }), /* @__PURE__ */ React5.createElement(SheetGrid, {
1961
1817
  ref: contentRef,
1962
1818
  size: {
1963
1819
  numRows: numRows ?? rows.length,
@@ -1967,7 +1823,7 @@ var SheetMain = /* @__PURE__ */ forwardRef(({ classNames, numRows, numCols }, fo
1967
1823
  columns,
1968
1824
  rowSizes,
1969
1825
  columnSizes
1970
- }), /* @__PURE__ */ React6.createElement(GridCorner, null), /* @__PURE__ */ React6.createElement(SheetStatusBar, null));
1826
+ }), /* @__PURE__ */ React5.createElement(GridCorner, null), /* @__PURE__ */ React5.createElement(SheetStatusBar, null));
1971
1827
  });
1972
1828
  var useScrollHandlers = () => {
1973
1829
  const rowsRef = useRef(null);
@@ -2010,13 +1866,13 @@ var useScrollHandlers = () => {
2010
1866
  };
2011
1867
  };
2012
1868
  var GridCorner = (props) => {
2013
- return /* @__PURE__ */ React6.createElement("div", {
1869
+ return /* @__PURE__ */ React5.createElement("div", {
2014
1870
  className: fragments.axis,
2015
1871
  ...props
2016
1872
  });
2017
1873
  };
2018
1874
  var MovingOverlay = ({ label }) => {
2019
- return /* @__PURE__ */ React6.createElement("div", {
1875
+ return /* @__PURE__ */ React5.createElement("div", {
2020
1876
  className: "flex w-full h-full justify-center items-center text-sm p-1 bg-gridOverlay cursor-pointer"
2021
1877
  }, label);
2022
1878
  };
@@ -2060,18 +1916,18 @@ var SheetRows = /* @__PURE__ */ forwardRef(({ rows, sizes, selected, onSelect, o
2060
1916
  }
2061
1917
  return transform;
2062
1918
  };
2063
- return /* @__PURE__ */ React6.createElement("div", {
1919
+ return /* @__PURE__ */ React5.createElement("div", {
2064
1920
  className: "relative flex grow overflow-hidden"
2065
- }, /* @__PURE__ */ React6.createElement("div", {
1921
+ }, /* @__PURE__ */ React5.createElement("div", {
2066
1922
  className: mx2("z-20 absolute inset-0 border-y border-gridLine pointer-events-none"),
2067
1923
  style: {
2068
1924
  width: axisWidth
2069
1925
  }
2070
- }), /* @__PURE__ */ React6.createElement("div", {
1926
+ }), /* @__PURE__ */ React5.createElement("div", {
2071
1927
  ref: forwardRef2,
2072
1928
  role: "rowheader",
2073
1929
  className: "grow overflow-y-auto scrollbar-none"
2074
- }, /* @__PURE__ */ React6.createElement(DndContext, {
1930
+ }, /* @__PURE__ */ React5.createElement(DndContext, {
2075
1931
  sensors,
2076
1932
  modifiers: [
2077
1933
  restrictToVerticalAxis,
@@ -2079,12 +1935,12 @@ var SheetRows = /* @__PURE__ */ forwardRef(({ rows, sizes, selected, onSelect, o
2079
1935
  ],
2080
1936
  onDragStart: handleDragStart,
2081
1937
  onDragEnd: handleDragEnd
2082
- }, /* @__PURE__ */ React6.createElement("div", {
1938
+ }, /* @__PURE__ */ React5.createElement("div", {
2083
1939
  className: "flex flex-col",
2084
1940
  style: {
2085
1941
  width: axisWidth
2086
1942
  }
2087
- }, rows.map((idx, index) => /* @__PURE__ */ React6.createElement(GridRowCell, {
1943
+ }, rows.map((idx, index) => /* @__PURE__ */ React5.createElement(GridRowCell, {
2088
1944
  key: idx,
2089
1945
  idx,
2090
1946
  index,
@@ -2094,7 +1950,7 @@ var SheetRows = /* @__PURE__ */ forwardRef(({ rows, sizes, selected, onSelect, o
2094
1950
  selected: selected === index,
2095
1951
  onResize,
2096
1952
  onSelect
2097
- }))), /* @__PURE__ */ createPortal(/* @__PURE__ */ React6.createElement(DragOverlay, null, active && /* @__PURE__ */ React6.createElement(MovingOverlay, {
1953
+ }))), /* @__PURE__ */ createPortal(/* @__PURE__ */ React5.createElement(DragOverlay, null, active && /* @__PURE__ */ React5.createElement(MovingOverlay, {
2098
1954
  label: String(active.data.current.index + 1)
2099
1955
  })), document.body))));
2100
1956
  });
@@ -2135,7 +1991,7 @@ var GridRowCell = ({ idx, index, label, size, resize, selected, onSelect, onResi
2135
1991
  onResize?.(idx, initialSize + height, true);
2136
1992
  setResizing(false);
2137
1993
  };
2138
- return /* @__PURE__ */ React6.createElement(Resizable, {
1994
+ return /* @__PURE__ */ React5.createElement(Resizable, {
2139
1995
  enable: {
2140
1996
  bottom: resize
2141
1997
  },
@@ -2147,17 +2003,17 @@ var GridRowCell = ({ idx, index, label, size, resize, selected, onSelect, onResi
2147
2003
  onResizeStart: handleResizeStart,
2148
2004
  onResize: handleResize,
2149
2005
  onResizeStop: handleResizeStop
2150
- }, /* @__PURE__ */ React6.createElement("div", {
2006
+ }, /* @__PURE__ */ React5.createElement("div", {
2151
2007
  ref: setNodeRef,
2152
2008
  ...attributes,
2153
2009
  ...listeners,
2154
2010
  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),
2155
2011
  onClick: () => onSelect?.(index)
2156
- }, /* @__PURE__ */ React6.createElement("span", {
2012
+ }, /* @__PURE__ */ React5.createElement("span", {
2157
2013
  className: "flex w-full justify-center"
2158
- }, label), over?.id === idx && !isDragging && /* @__PURE__ */ React6.createElement("div", {
2014
+ }, label), over?.id === idx && !isDragging && /* @__PURE__ */ React5.createElement("div", {
2159
2015
  className: "z-20 absolute top-0 w-full min-h-[4px] border-b-4 border-accentSurface"
2160
- }), resizing && /* @__PURE__ */ React6.createElement("div", {
2016
+ }), resizing && /* @__PURE__ */ React5.createElement("div", {
2161
2017
  className: "z-20 absolute bottom-0 w-full min-h-[4px] border-b-4 border-accentSurface"
2162
2018
  })));
2163
2019
  };
@@ -2194,18 +2050,18 @@ var SheetColumns = /* @__PURE__ */ forwardRef(({ columns, sizes, selected, onSel
2194
2050
  }
2195
2051
  return transform;
2196
2052
  };
2197
- return /* @__PURE__ */ React6.createElement("div", {
2053
+ return /* @__PURE__ */ React5.createElement("div", {
2198
2054
  className: "relative flex grow overflow-hidden"
2199
- }, /* @__PURE__ */ React6.createElement("div", {
2055
+ }, /* @__PURE__ */ React5.createElement("div", {
2200
2056
  className: mx2("z-20 absolute inset-0 border-x border-gridLine pointer-events-none"),
2201
2057
  style: {
2202
2058
  height: axisHeight
2203
2059
  }
2204
- }), /* @__PURE__ */ React6.createElement("div", {
2060
+ }), /* @__PURE__ */ React5.createElement("div", {
2205
2061
  ref: forwardRef2,
2206
2062
  role: "columnheader",
2207
2063
  className: "grow overflow-x-auto scrollbar-none"
2208
- }, /* @__PURE__ */ React6.createElement(DndContext, {
2064
+ }, /* @__PURE__ */ React5.createElement(DndContext, {
2209
2065
  autoScroll: {
2210
2066
  enabled: true
2211
2067
  },
@@ -2216,12 +2072,12 @@ var SheetColumns = /* @__PURE__ */ forwardRef(({ columns, sizes, selected, onSel
2216
2072
  ],
2217
2073
  onDragStart: handleDragStart,
2218
2074
  onDragEnd: handleDragEnd
2219
- }, /* @__PURE__ */ React6.createElement("div", {
2075
+ }, /* @__PURE__ */ React5.createElement("div", {
2220
2076
  className: "flex h-full",
2221
2077
  style: {
2222
2078
  height: axisHeight
2223
2079
  }
2224
- }, columns.map((idx, index) => /* @__PURE__ */ React6.createElement(GridColumnCell, {
2080
+ }, columns.map((idx, index) => /* @__PURE__ */ React5.createElement(GridColumnCell, {
2225
2081
  key: idx,
2226
2082
  idx,
2227
2083
  index,
@@ -2231,7 +2087,7 @@ var SheetColumns = /* @__PURE__ */ forwardRef(({ columns, sizes, selected, onSel
2231
2087
  selected: selected === index,
2232
2088
  onResize,
2233
2089
  onSelect
2234
- }))), /* @__PURE__ */ createPortal(/* @__PURE__ */ React6.createElement(DragOverlay, null, active && /* @__PURE__ */ React6.createElement(MovingOverlay, {
2090
+ }))), /* @__PURE__ */ createPortal(/* @__PURE__ */ React5.createElement(DragOverlay, null, active && /* @__PURE__ */ React5.createElement(MovingOverlay, {
2235
2091
  label: columnLetter(active.data.current.index)
2236
2092
  })), document.body))));
2237
2093
  });
@@ -2272,7 +2128,7 @@ var GridColumnCell = ({ idx, index, label, size, resize, selected, onSelect, onR
2272
2128
  onResize?.(idx, initialSize + width, true);
2273
2129
  setResizing(false);
2274
2130
  };
2275
- return /* @__PURE__ */ React6.createElement(Resizable, {
2131
+ return /* @__PURE__ */ React5.createElement(Resizable, {
2276
2132
  enable: {
2277
2133
  right: resize
2278
2134
  },
@@ -2284,17 +2140,17 @@ var GridColumnCell = ({ idx, index, label, size, resize, selected, onSelect, onR
2284
2140
  onResizeStart: handleResizeStart,
2285
2141
  onResize: handleResize,
2286
2142
  onResizeStop: handleResizeStop
2287
- }, /* @__PURE__ */ React6.createElement("div", {
2143
+ }, /* @__PURE__ */ React5.createElement("div", {
2288
2144
  ref: setNodeRef,
2289
2145
  ...attributes,
2290
2146
  ...listeners,
2291
2147
  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),
2292
2148
  onClick: () => onSelect?.(index)
2293
- }, /* @__PURE__ */ React6.createElement("span", {
2149
+ }, /* @__PURE__ */ React5.createElement("span", {
2294
2150
  className: "flex w-full justify-center"
2295
- }, label), over?.id === idx && !isDragging && /* @__PURE__ */ React6.createElement("div", {
2151
+ }, label), over?.id === idx && !isDragging && /* @__PURE__ */ React5.createElement("div", {
2296
2152
  className: "z-20 absolute left-0 h-full min-w-[4px] border-l-4 border-accentSurface"
2297
- }), resizing && /* @__PURE__ */ React6.createElement("div", {
2153
+ }), resizing && /* @__PURE__ */ React5.createElement("div", {
2298
2154
  className: "z-20 absolute right-0 h-full min-h-[4px] border-l-4 border-accentSurface"
2299
2155
  })));
2300
2156
  };
@@ -2314,7 +2170,7 @@ var SheetGrid = /* @__PURE__ */ forwardRef(({ size, rows, columns, rowSizes, col
2314
2170
  id: model.id
2315
2171
  }, {
2316
2172
  F: __dxlog_file4,
2317
- L: 738,
2173
+ L: 732,
2318
2174
  S: void 0,
2319
2175
  C: (f, a) => f(...a)
2320
2176
  });
@@ -2433,16 +2289,16 @@ var SheetGrid = /* @__PURE__ */ forwardRef(({ size, rows, columns, rowSizes, col
2433
2289
  });
2434
2290
  const id = fullyQualifiedId2(model.sheet);
2435
2291
  const { hasAttention } = useAttention(id);
2436
- return /* @__PURE__ */ React6.createElement("div", {
2292
+ return /* @__PURE__ */ React5.createElement("div", {
2437
2293
  ref: containerRef,
2438
2294
  role: "grid",
2439
2295
  className: "relative flex grow overflow-hidden"
2440
- }, /* @__PURE__ */ React6.createElement("div", {
2296
+ }, /* @__PURE__ */ React5.createElement("div", {
2441
2297
  className: mx2("z-20 absolute inset-0 border border-gridLine pointer-events-none")
2442
- }), /* @__PURE__ */ React6.createElement("div", {
2298
+ }), /* @__PURE__ */ React5.createElement("div", {
2443
2299
  ref: scrollerRef,
2444
2300
  className: mx2("grow", hasAttention && "overflow-auto scrollbar-thin")
2445
- }, /* @__PURE__ */ React6.createElement("div", {
2301
+ }, /* @__PURE__ */ React5.createElement("div", {
2446
2302
  className: "relative select-none",
2447
2303
  style: {
2448
2304
  width,
@@ -2450,7 +2306,7 @@ var SheetGrid = /* @__PURE__ */ forwardRef(({ size, rows, columns, rowSizes, col
2450
2306
  },
2451
2307
  onClick: () => inputRef.current?.focus(),
2452
2308
  ...handlers
2453
- }, scrollerRef.current && /* @__PURE__ */ React6.createElement(SelectionOverlay, {
2309
+ }, scrollerRef.current && /* @__PURE__ */ React5.createElement(SelectionOverlay, {
2454
2310
  root: scrollerRef.current
2455
2311
  }), rowRange.map(({ row, top, height: height2 }) => {
2456
2312
  return columnRange.map(({ col, left, width: width2 }) => {
@@ -2499,7 +2355,7 @@ var SheetGrid = /* @__PURE__ */ forwardRef(({ size, rows, columns, rowSizes, col
2499
2355
  inputRef.current?.focus();
2500
2356
  setEditing(false);
2501
2357
  };
2502
- return /* @__PURE__ */ React6.createElement(GridCellEditor, {
2358
+ return /* @__PURE__ */ React5.createElement(GridCellEditor, {
2503
2359
  key: idx,
2504
2360
  value,
2505
2361
  style,
@@ -2507,7 +2363,7 @@ var SheetGrid = /* @__PURE__ */ forwardRef(({ size, rows, columns, rowSizes, col
2507
2363
  onClose: handleClose
2508
2364
  });
2509
2365
  }
2510
- return /* @__PURE__ */ React6.createElement(SheetCell, {
2366
+ return /* @__PURE__ */ React5.createElement(SheetCell, {
2511
2367
  key: id2,
2512
2368
  id: id2,
2513
2369
  cell,
@@ -2519,7 +2375,7 @@ var SheetGrid = /* @__PURE__ */ forwardRef(({ size, rows, columns, rowSizes, col
2519
2375
  }
2520
2376
  });
2521
2377
  });
2522
- }))), /* @__PURE__ */ createPortal(/* @__PURE__ */ React6.createElement(SheetInput, {
2378
+ }))), /* @__PURE__ */ createPortal(/* @__PURE__ */ React5.createElement(SheetInput, {
2523
2379
  ref: inputRef,
2524
2380
  id,
2525
2381
  onKeyDown: handleKeyDown
@@ -2529,10 +2385,10 @@ var SheetInput = /* @__PURE__ */ forwardRef(({ id, onKeyDown }, forwardedRef) =>
2529
2385
  const path = useAttentionPath();
2530
2386
  const attendableAttrs = useAttendableAttributes(id);
2531
2387
  return path.toReversed().reduce((acc, part) => {
2532
- return /* @__PURE__ */ React6.createElement("div", {
2388
+ return /* @__PURE__ */ React5.createElement("div", {
2533
2389
  [ATTENABLE_ATTRIBUTE]: part
2534
2390
  }, acc);
2535
- }, /* @__PURE__ */ React6.createElement("input", {
2391
+ }, /* @__PURE__ */ React5.createElement("input", {
2536
2392
  ref: forwardedRef,
2537
2393
  className: "absolute w-[1px] h-[1px] bg-transparent outline-none border-none caret-transparent",
2538
2394
  onKeyDown,
@@ -2552,7 +2408,7 @@ var SelectionOverlay = ({ root }) => {
2552
2408
  const b1 = getRelativeClientRect(root, c1);
2553
2409
  const b2 = getRelativeClientRect(root, c2);
2554
2410
  const bounds = getRectUnion(b1, b2);
2555
- return /* @__PURE__ */ React6.createElement("div", {
2411
+ return /* @__PURE__ */ React5.createElement("div", {
2556
2412
  role: "none",
2557
2413
  style: bounds,
2558
2414
  className: "z-10 absolute pointer-events-none bg-gridSelectionOverlay border border-gridOverlay"
@@ -2570,12 +2426,12 @@ var SheetCell = ({ id, cell, style, active, onSelect }) => {
2570
2426
  return children;
2571
2427
  }
2572
2428
  const DecoratorComponent = decorate;
2573
- return /* @__PURE__ */ React6.createElement(DecoratorComponent, null, children);
2574
- }, /* @__PURE__ */ React6.createElement("div", {
2429
+ return /* @__PURE__ */ React5.createElement(DecoratorComponent, null, children);
2430
+ }, /* @__PURE__ */ React5.createElement("div", {
2575
2431
  role: "none",
2576
2432
  className: mx2("flex flex-grow bs-full is-full px-2 items-center truncate cursor-pointer", ...decorationAddedClasses)
2577
2433
  }, value));
2578
- return /* @__PURE__ */ React6.createElement("div", {
2434
+ return /* @__PURE__ */ React5.createElement("div", {
2579
2435
  [`data-${CELL_DATA_KEY}`]: id,
2580
2436
  role: "cell",
2581
2437
  style,
@@ -2617,12 +2473,12 @@ var GridCellEditor = ({ style, value, onNav, onClose }) => {
2617
2473
  ], [
2618
2474
  model
2619
2475
  ]);
2620
- return /* @__PURE__ */ React6.createElement("div", {
2476
+ return /* @__PURE__ */ React5.createElement("div", {
2621
2477
  role: "cell",
2622
2478
  style,
2623
2479
  className: mx2("z-20 flex", fragments.cellSelected),
2624
2480
  onClick: (ev) => ev.stopPropagation()
2625
- }, /* @__PURE__ */ React6.createElement(CellEditor, {
2481
+ }, /* @__PURE__ */ React5.createElement(CellEditor, {
2626
2482
  autoFocus: true,
2627
2483
  value,
2628
2484
  extension
@@ -2641,17 +2497,17 @@ var SheetStatusBar = () => {
2641
2497
  value = String(value);
2642
2498
  }
2643
2499
  }
2644
- return /* @__PURE__ */ React6.createElement("div", {
2500
+ return /* @__PURE__ */ React5.createElement("div", {
2645
2501
  className: mx2("flex shrink-0 justify-between items-center px-4 py-1 text-sm border-x border-gridLine")
2646
- }, /* @__PURE__ */ React6.createElement("div", {
2502
+ }, /* @__PURE__ */ React5.createElement("div", {
2647
2503
  className: "flex gap-4 items-center"
2648
- }, /* @__PURE__ */ React6.createElement("div", {
2504
+ }, /* @__PURE__ */ React5.createElement("div", {
2649
2505
  className: "flex w-16 items-center font-mono"
2650
- }, range && rangeToA1Notation(range) || cursor && addressToA1Notation(cursor)), /* @__PURE__ */ React6.createElement("div", {
2506
+ }, range && rangeToA1Notation(range) || cursor && addressToA1Notation(cursor)), /* @__PURE__ */ React5.createElement("div", {
2651
2507
  className: "flex gap-2 items-center"
2652
- }, /* @__PURE__ */ React6.createElement(FunctionIcon, {
2508
+ }, /* @__PURE__ */ React5.createElement(FunctionIcon, {
2653
2509
  className: mx2("text-greenText", isFormula ? "visible" : "invisible")
2654
- }), /* @__PURE__ */ React6.createElement("span", {
2510
+ }), /* @__PURE__ */ React5.createElement("span", {
2655
2511
  className: "font-mono"
2656
2512
  }, value))));
2657
2513
  };
@@ -2669,9 +2525,9 @@ var SheetDebug = () => {
2669
2525
  }, [
2670
2526
  model
2671
2527
  ]);
2672
- return /* @__PURE__ */ React6.createElement("div", {
2528
+ return /* @__PURE__ */ React5.createElement("div", {
2673
2529
  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")
2674
- }, /* @__PURE__ */ React6.createElement("pre", {
2530
+ }, /* @__PURE__ */ React5.createElement("pre", {
2675
2531
  className: "whitespace-pre-wrap"
2676
2532
  }, JSON.stringify({
2677
2533
  cursor,
@@ -2700,7 +2556,8 @@ export {
2700
2556
  compareIndexPositions,
2701
2557
  useComputeGraph,
2702
2558
  useSheetContext,
2559
+ computeGraphFacet,
2703
2560
  Sheet,
2704
2561
  SheetContainer
2705
2562
  };
2706
- //# sourceMappingURL=chunk-KK3XL37M.mjs.map
2563
+ //# sourceMappingURL=chunk-J2KAVUQA.mjs.map