@dxos/plugin-sheet 0.7.5-main.9d26e3a → 0.7.5-main.9d2a38b

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 (191) hide show
  1. package/dist/lib/browser/SheetContainer-CM4CO3DC.mjs +370 -0
  2. package/dist/lib/browser/SheetContainer-CM4CO3DC.mjs.map +7 -0
  3. package/dist/lib/browser/chunk-FOO6NGBM.mjs +229 -0
  4. package/dist/lib/browser/chunk-FOO6NGBM.mjs.map +7 -0
  5. package/dist/lib/browser/{chunk-A374JPWV.mjs → chunk-H23JW3DX.mjs} +139 -381
  6. package/dist/lib/browser/chunk-H23JW3DX.mjs.map +7 -0
  7. package/dist/lib/browser/{chunk-RABELMEQ.mjs → chunk-K6EUYKWT.mjs} +3 -3
  8. package/dist/lib/browser/chunk-K6EUYKWT.mjs.map +7 -0
  9. package/dist/lib/browser/chunk-PW25VUP6.mjs +15 -0
  10. package/dist/lib/browser/chunk-PW25VUP6.mjs.map +7 -0
  11. package/dist/lib/browser/{chunk-Q4XS4YWF.mjs → chunk-T3IVPMRX.mjs} +2 -2
  12. package/dist/lib/browser/chunk-T3IVPMRX.mjs.map +7 -0
  13. package/dist/lib/browser/compute-graph-registry-XH6B2SWG.mjs +27 -0
  14. package/dist/lib/browser/compute-graph-registry-XH6B2SWG.mjs.map +7 -0
  15. package/dist/lib/browser/index.mjs +86 -218
  16. package/dist/lib/browser/index.mjs.map +4 -4
  17. package/dist/lib/browser/intent-resolver-Q7DTHAM5.mjs +47 -0
  18. package/dist/lib/browser/intent-resolver-Q7DTHAM5.mjs.map +7 -0
  19. package/dist/lib/browser/markdown-IKG5FNCA.mjs +26 -0
  20. package/dist/lib/browser/markdown-IKG5FNCA.mjs.map +7 -0
  21. package/dist/lib/browser/meta.json +1 -1
  22. package/dist/lib/browser/react-context-JG43577H.mjs +28 -0
  23. package/dist/lib/browser/react-context-JG43577H.mjs.map +7 -0
  24. package/dist/lib/browser/react-surface-URRC3AFC.mjs +43 -0
  25. package/dist/lib/browser/react-surface-URRC3AFC.mjs.map +7 -0
  26. package/dist/lib/browser/thread-YX6KBQNQ.mjs +17 -0
  27. package/dist/lib/browser/thread-YX6KBQNQ.mjs.map +7 -0
  28. package/dist/lib/browser/types/index.mjs +2 -2
  29. package/dist/lib/node/SheetContainer-TJ3JQLWM.cjs +364 -0
  30. package/dist/lib/node/SheetContainer-TJ3JQLWM.cjs.map +7 -0
  31. package/dist/lib/node/{chunk-TQOJ7DG2.cjs → chunk-E3RXOEL6.cjs} +6 -6
  32. package/dist/lib/node/chunk-E3RXOEL6.cjs.map +7 -0
  33. package/dist/lib/node/{meta.cjs → chunk-FU5K66DS.cjs} +12 -8
  34. package/dist/lib/node/chunk-FU5K66DS.cjs.map +7 -0
  35. package/dist/lib/node/{chunk-2ZVZI2KJ.cjs → chunk-NLDXUFDG.cjs} +7 -7
  36. package/dist/lib/node/chunk-NLDXUFDG.cjs.map +7 -0
  37. package/dist/lib/node/chunk-P4KSGZSS.cjs +251 -0
  38. package/dist/lib/node/chunk-P4KSGZSS.cjs.map +7 -0
  39. package/dist/lib/node/{chunk-FDEQ2PGJ.cjs → chunk-ZPWW4LPY.cjs} +181 -419
  40. package/dist/lib/node/chunk-ZPWW4LPY.cjs.map +7 -0
  41. package/dist/lib/node/compute-graph-registry-ORGTIE5M.cjs +53 -0
  42. package/dist/lib/node/compute-graph-registry-ORGTIE5M.cjs.map +7 -0
  43. package/dist/lib/node/index.cjs +87 -215
  44. package/dist/lib/node/index.cjs.map +4 -4
  45. package/dist/lib/node/intent-resolver-ZUDJJUFG.cjs +60 -0
  46. package/dist/lib/node/intent-resolver-ZUDJJUFG.cjs.map +7 -0
  47. package/dist/lib/node/markdown-EUUL3Q36.cjs +40 -0
  48. package/dist/lib/node/markdown-EUUL3Q36.cjs.map +7 -0
  49. package/dist/lib/node/meta.json +1 -1
  50. package/dist/lib/node/react-context-OOH5QFE2.cjs +50 -0
  51. package/dist/lib/node/react-context-OOH5QFE2.cjs.map +7 -0
  52. package/dist/lib/node/react-surface-IQN5JKSS.cjs +64 -0
  53. package/dist/lib/node/react-surface-IQN5JKSS.cjs.map +7 -0
  54. package/dist/lib/node/thread-VBPS23P2.cjs +32 -0
  55. package/dist/lib/node/thread-VBPS23P2.cjs.map +7 -0
  56. package/dist/lib/node/types/index.cjs +30 -30
  57. package/dist/lib/node/types/index.cjs.map +1 -1
  58. package/dist/lib/node-esm/SheetContainer-QEEFORIC.mjs +371 -0
  59. package/dist/lib/node-esm/SheetContainer-QEEFORIC.mjs.map +7 -0
  60. package/dist/lib/node-esm/{chunk-BM2Q3FFC.mjs → chunk-FMOVRTS4.mjs} +3 -3
  61. package/dist/lib/node-esm/chunk-FMOVRTS4.mjs.map +7 -0
  62. package/dist/lib/node-esm/chunk-KCXK5UM6.mjs +16 -0
  63. package/dist/lib/node-esm/chunk-KCXK5UM6.mjs.map +7 -0
  64. package/dist/lib/node-esm/{chunk-NYYIDVR7.mjs → chunk-NSVUOAI6.mjs} +2 -2
  65. package/dist/lib/node-esm/chunk-NSVUOAI6.mjs.map +7 -0
  66. package/dist/lib/node-esm/{chunk-L5PQHVTX.mjs → chunk-OXD6RBFF.mjs} +139 -381
  67. package/dist/lib/node-esm/chunk-OXD6RBFF.mjs.map +7 -0
  68. package/dist/lib/node-esm/chunk-PTOI45NK.mjs +231 -0
  69. package/dist/lib/node-esm/chunk-PTOI45NK.mjs.map +7 -0
  70. package/dist/lib/node-esm/compute-graph-registry-JH2FRHLD.mjs +28 -0
  71. package/dist/lib/node-esm/compute-graph-registry-JH2FRHLD.mjs.map +7 -0
  72. package/dist/lib/node-esm/index.mjs +86 -218
  73. package/dist/lib/node-esm/index.mjs.map +4 -4
  74. package/dist/lib/node-esm/intent-resolver-IF64RN7B.mjs +48 -0
  75. package/dist/lib/node-esm/intent-resolver-IF64RN7B.mjs.map +7 -0
  76. package/dist/lib/node-esm/markdown-D2ZMN7LR.mjs +27 -0
  77. package/dist/lib/node-esm/markdown-D2ZMN7LR.mjs.map +7 -0
  78. package/dist/lib/node-esm/meta.json +1 -1
  79. package/dist/lib/node-esm/react-context-CJVSLO74.mjs +29 -0
  80. package/dist/lib/node-esm/react-context-CJVSLO74.mjs.map +7 -0
  81. package/dist/lib/node-esm/react-surface-XJIX5G3I.mjs +44 -0
  82. package/dist/lib/node-esm/react-surface-XJIX5G3I.mjs.map +7 -0
  83. package/dist/lib/node-esm/thread-HSJD3SR6.mjs +18 -0
  84. package/dist/lib/node-esm/thread-HSJD3SR6.mjs.map +7 -0
  85. package/dist/lib/node-esm/types/index.mjs +2 -2
  86. package/dist/types/src/SheetPlugin.d.ts +1 -3
  87. package/dist/types/src/SheetPlugin.d.ts.map +1 -1
  88. package/dist/types/src/capabilities/capabilities.d.ts +5 -0
  89. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -0
  90. package/dist/types/src/capabilities/compute-graph-registry.d.ts +4 -0
  91. package/dist/types/src/capabilities/compute-graph-registry.d.ts.map +1 -0
  92. package/dist/types/src/capabilities/index.d.ts +17 -0
  93. package/dist/types/src/capabilities/index.d.ts.map +1 -0
  94. package/dist/types/src/capabilities/intent-resolver.d.ts +4 -0
  95. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -0
  96. package/dist/types/src/capabilities/markdown.d.ts +6 -0
  97. package/dist/types/src/capabilities/markdown.d.ts.map +1 -0
  98. package/dist/types/src/capabilities/react-context.d.ts +8 -0
  99. package/dist/types/src/capabilities/react-context.d.ts.map +1 -0
  100. package/dist/types/src/capabilities/react-surface.d.ts +4 -0
  101. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -0
  102. package/dist/types/src/capabilities/thread.d.ts +6 -0
  103. package/dist/types/src/capabilities/thread.d.ts.map +1 -0
  104. package/dist/types/src/components/GridSheet/GridSheet.stories.d.ts.map +1 -1
  105. package/dist/types/src/components/SheetContainer/SheetContainer.d.ts.map +1 -1
  106. package/dist/types/src/components/SheetContainer/SheetContainer.stories.d.ts.map +1 -1
  107. package/dist/types/src/components/SheetToolbar/SheetToolbar.d.ts +7 -0
  108. package/dist/types/src/components/SheetToolbar/SheetToolbar.d.ts.map +1 -0
  109. package/dist/types/src/components/SheetToolbar/SheetToolbar.stories.d.ts +6 -0
  110. package/dist/types/src/components/SheetToolbar/SheetToolbar.stories.d.ts.map +1 -0
  111. package/dist/types/src/components/SheetToolbar/align.d.ts +28 -0
  112. package/dist/types/src/components/SheetToolbar/align.d.ts.map +1 -0
  113. package/dist/types/src/components/SheetToolbar/comment.d.ts +23 -0
  114. package/dist/types/src/components/SheetToolbar/comment.d.ts.map +1 -0
  115. package/dist/types/src/components/SheetToolbar/index.d.ts +2 -0
  116. package/dist/types/src/components/SheetToolbar/index.d.ts.map +1 -0
  117. package/dist/types/src/components/SheetToolbar/style.d.ts +26 -0
  118. package/dist/types/src/components/SheetToolbar/style.d.ts.map +1 -0
  119. package/dist/types/src/components/SheetToolbar/useToolbarAction.d.ts +8 -0
  120. package/dist/types/src/components/SheetToolbar/useToolbarAction.d.ts.map +1 -0
  121. package/dist/types/src/components/SheetToolbar/useToolbarState.d.ts +6 -0
  122. package/dist/types/src/components/SheetToolbar/useToolbarState.d.ts.map +1 -0
  123. package/dist/types/src/components/index.d.ts +1 -2
  124. package/dist/types/src/components/index.d.ts.map +1 -1
  125. package/dist/types/src/index.d.ts +2 -3
  126. package/dist/types/src/index.d.ts.map +1 -1
  127. package/dist/types/src/meta.d.ts +1 -2
  128. package/dist/types/src/meta.d.ts.map +1 -1
  129. package/dist/types/src/testing/testing.d.ts +1 -1
  130. package/dist/types/src/testing/testing.d.ts.map +1 -1
  131. package/dist/types/src/types/sheet-range-types.d.ts +1 -1
  132. package/dist/types/src/types/sheet-range-types.d.ts.map +1 -1
  133. package/dist/types/src/types/types.d.ts +0 -11
  134. package/dist/types/src/types/types.d.ts.map +1 -1
  135. package/dist/types/tsconfig.tsbuildinfo +1 -1
  136. package/package.json +44 -51
  137. package/src/SheetPlugin.tsx +68 -103
  138. package/src/capabilities/capabilities.ts +14 -0
  139. package/src/capabilities/compute-graph-registry.ts +25 -0
  140. package/src/capabilities/index.ts +14 -0
  141. package/src/capabilities/intent-resolver.ts +29 -0
  142. package/src/capabilities/markdown.ts +22 -0
  143. package/src/capabilities/react-context.tsx +20 -0
  144. package/src/capabilities/react-surface.tsx +30 -0
  145. package/src/capabilities/thread.ts +14 -0
  146. package/src/components/GridSheet/GridSheet.stories.tsx +2 -0
  147. package/src/components/SheetContainer/SheetContainer.stories.tsx +25 -22
  148. package/src/components/SheetContainer/SheetContainer.tsx +3 -8
  149. package/src/components/{Toolbar/Toolbar.stories.tsx → SheetToolbar/SheetToolbar.stories.tsx} +4 -8
  150. package/src/components/SheetToolbar/SheetToolbar.tsx +48 -0
  151. package/src/components/SheetToolbar/align.ts +68 -0
  152. package/src/components/SheetToolbar/comment.ts +56 -0
  153. package/src/components/{Toolbar → SheetToolbar}/index.ts +1 -1
  154. package/src/components/SheetToolbar/style.ts +72 -0
  155. package/src/components/SheetToolbar/useToolbarAction.ts +87 -0
  156. package/src/components/SheetToolbar/useToolbarState.ts +17 -0
  157. package/src/components/index.ts +0 -1
  158. package/src/index.ts +2 -5
  159. package/src/meta.ts +1 -1
  160. package/src/types/sheet-range-types.ts +1 -1
  161. package/src/types/types.ts +0 -26
  162. package/dist/lib/browser/SheetContainer-S4NCLUYL.mjs +0 -290
  163. package/dist/lib/browser/SheetContainer-S4NCLUYL.mjs.map +0 -7
  164. package/dist/lib/browser/chunk-A374JPWV.mjs.map +0 -7
  165. package/dist/lib/browser/chunk-Q4XS4YWF.mjs.map +0 -7
  166. package/dist/lib/browser/chunk-RABELMEQ.mjs.map +0 -7
  167. package/dist/lib/browser/meta.mjs +0 -9
  168. package/dist/lib/browser/meta.mjs.map +0 -7
  169. package/dist/lib/node/SheetContainer-TP4GYXZB.cjs +0 -296
  170. package/dist/lib/node/SheetContainer-TP4GYXZB.cjs.map +0 -7
  171. package/dist/lib/node/chunk-2ZVZI2KJ.cjs.map +0 -7
  172. package/dist/lib/node/chunk-FDEQ2PGJ.cjs.map +0 -7
  173. package/dist/lib/node/chunk-TQOJ7DG2.cjs.map +0 -7
  174. package/dist/lib/node/meta.cjs.map +0 -7
  175. package/dist/lib/node-esm/SheetContainer-YB3JBVPZ.mjs +0 -291
  176. package/dist/lib/node-esm/SheetContainer-YB3JBVPZ.mjs.map +0 -7
  177. package/dist/lib/node-esm/chunk-BM2Q3FFC.mjs.map +0 -7
  178. package/dist/lib/node-esm/chunk-L5PQHVTX.mjs.map +0 -7
  179. package/dist/lib/node-esm/chunk-NYYIDVR7.mjs.map +0 -7
  180. package/dist/lib/node-esm/meta.mjs +0 -10
  181. package/dist/lib/node-esm/meta.mjs.map +0 -7
  182. package/dist/types/src/components/SheetObjectSettings.d.ts +0 -7
  183. package/dist/types/src/components/SheetObjectSettings.d.ts.map +0 -1
  184. package/dist/types/src/components/Toolbar/Toolbar.d.ts +0 -48
  185. package/dist/types/src/components/Toolbar/Toolbar.d.ts.map +0 -1
  186. package/dist/types/src/components/Toolbar/Toolbar.stories.d.ts +0 -7
  187. package/dist/types/src/components/Toolbar/Toolbar.stories.d.ts.map +0 -1
  188. package/dist/types/src/components/Toolbar/index.d.ts +0 -2
  189. package/dist/types/src/components/Toolbar/index.d.ts.map +0 -1
  190. package/src/components/SheetObjectSettings.tsx +0 -38
  191. package/src/components/Toolbar/Toolbar.tsx +0 -344
@@ -26,71 +26,53 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
26
26
  mod
27
27
  ));
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var chunk_FDEQ2PGJ_exports = {};
30
- __export(chunk_FDEQ2PGJ_exports, {
29
+ var chunk_ZPWW4LPY_exports = {};
30
+ __export(chunk_ZPWW4LPY_exports, {
31
31
  ComputeGraphContextProvider: () => ComputeGraphContextProvider,
32
32
  GridSheet: () => GridSheet,
33
+ RangeList: () => RangeList,
33
34
  SheetContainer: () => SheetContainer,
34
- SheetObjectSettings: () => SheetObjectSettings,
35
35
  SheetProvider: () => SheetProvider,
36
36
  completeCellRangeToThreadCursor: () => completeCellRangeToThreadCursor,
37
- computeGraphFacet: () => computeGraphFacet,
38
37
  useComputeGraph: () => useComputeGraph,
39
38
  useSheetContext: () => useSheetContext
40
39
  });
41
- module.exports = __toCommonJS(chunk_FDEQ2PGJ_exports);
42
- var import_chunk_TQOJ7DG2 = require("./chunk-TQOJ7DG2.cjs");
43
- var import_chunk_2ZVZI2KJ = require("./chunk-2ZVZI2KJ.cjs");
40
+ module.exports = __toCommonJS(chunk_ZPWW4LPY_exports);
41
+ var import_chunk_E3RXOEL6 = require("./chunk-E3RXOEL6.cjs");
42
+ var import_chunk_P4KSGZSS = require("./chunk-P4KSGZSS.cjs");
43
+ var import_chunk_NLDXUFDG = require("./chunk-NLDXUFDG.cjs");
44
44
  var import_react = __toESM(require("react"));
45
45
  var import_debug = require("@dxos/debug");
46
46
  var import_react_hooks = require("@dxos/react-hooks");
47
- var import_language = require("@codemirror/language");
48
- var import_state = require("@codemirror/state");
49
- var import_view = require("@codemirror/view");
50
- var import_async = require("@dxos/async");
47
+ var import_react2 = __toESM(require("react"));
51
48
  var import_compute = require("@dxos/compute");
52
- var import_invariant = require("@dxos/invariant");
53
- var import_react_ui_editor = require("@dxos/react-ui-editor");
54
- var import_autocomplete = require("@codemirror/autocomplete");
55
- var import_language2 = require("@codemirror/language");
56
- var import_view2 = require("@codemirror/view");
57
- var import_highlight = require("@lezer/highlight");
58
- var import_codemirror_lang_spreadsheet = require("codemirror-lang-spreadsheet");
59
- var import_compute2 = require("@dxos/compute");
60
- var import_react_ui_editor2 = require("@dxos/react-ui-editor");
49
+ var import_echo_schema = require("@dxos/echo-schema");
50
+ var import_react_ui = require("@dxos/react-ui");
51
+ var import_react_ui_list = require("@dxos/react-ui-list");
61
52
  var import_react_ui_theme = require("@dxos/react-ui-theme");
62
- var import_react2 = __toESM(require("react"));
63
- var import_invariant2 = require("@dxos/invariant");
64
- var import_echo = require("@dxos/react-client/echo");
65
- var import_react_ui_grid = require("@dxos/react-ui-grid");
66
- var import_react3 = __toESM(require("react"));
53
+ var import_react3 = require("react");
54
+ var import_react4 = __toESM(require("react"));
67
55
  var import_app_framework = require("@dxos/app-framework");
68
- var import_compute3 = require("@dxos/compute");
69
- var import_react_ui = require("@dxos/react-ui");
56
+ var import_compute2 = require("@dxos/compute");
57
+ var import_react_ui2 = require("@dxos/react-ui");
70
58
  var import_react_ui_attention = require("@dxos/react-ui-attention");
71
- var import_react_ui_grid2 = require("@dxos/react-ui-grid");
72
- var import_react4 = require("react");
73
- var import_compute4 = require("@dxos/compute");
74
- var import_echo2 = require("@dxos/react-client/echo");
59
+ var import_react_ui_grid = require("@dxos/react-ui-grid");
60
+ var import_react5 = require("react");
61
+ var import_compute3 = require("@dxos/compute");
62
+ var import_echo = require("@dxos/react-client/echo");
75
63
  var import_react_ui_form = require("@dxos/react-ui-form");
76
- var import_react_ui_grid3 = require("@dxos/react-ui-grid");
64
+ var import_react_ui_grid2 = require("@dxos/react-ui-grid");
77
65
  var import_react_ui_theme2 = require("@dxos/react-ui-theme");
78
- var import_react5 = require("react");
66
+ var import_react6 = require("react");
79
67
  var import_app_framework2 = require("@dxos/app-framework");
80
- var import_async2 = require("@dxos/async");
81
- var import_compute5 = require("@dxos/compute");
68
+ var import_async = require("@dxos/async");
69
+ var import_compute4 = require("@dxos/compute");
82
70
  var import_types = require("@dxos/plugin-thread/types");
83
- var import_echo3 = require("@dxos/react-client/echo");
84
- var import_react6 = require("react");
71
+ var import_echo2 = require("@dxos/react-client/echo");
85
72
  var import_react7 = __toESM(require("react"));
86
- var import_compute6 = require("@dxos/compute");
87
- var import_echo_schema = require("@dxos/echo-schema");
88
- var import_react_ui2 = require("@dxos/react-ui");
89
- var import_react_ui_list = require("@dxos/react-ui-list");
90
- var import_react_ui_theme3 = require("@dxos/react-ui-theme");
91
- var import_react8 = __toESM(require("react"));
92
- var import_meta = require("@dxos/plugin-space/meta");
93
- var import_react_ui3 = require("@dxos/react-ui");
73
+ var import_invariant = require("@dxos/invariant");
74
+ var import_echo3 = require("@dxos/react-client/echo");
75
+ var import_react_ui_grid3 = require("@dxos/react-ui-grid");
94
76
  var ComputeGraphContext = /* @__PURE__ */ (0, import_react.createContext)(void 0);
95
77
  var ComputeGraphContextProvider = ({ registry, children }) => {
96
78
  return /* @__PURE__ */ import_react.default.createElement(ComputeGraphContext.Provider, {
@@ -113,328 +95,38 @@ var useComputeGraph = (space) => {
113
95
  ]);
114
96
  return graph;
115
97
  };
116
- var updateAllDecorations = import_state.StateEffect.define();
117
- var computeGraphFacet = (0, import_react_ui_editor.singleValueFacet)();
118
- var highlightStyles = import_language2.HighlightStyle.define([
119
- // Function.
120
- {
121
- tag: import_highlight.tags.name,
122
- class: "text-accentText"
123
- },
124
- // Range.
125
- {
126
- tag: import_highlight.tags.tagName,
127
- class: "text-pinkText"
128
- },
129
- // Values.
130
- {
131
- tag: import_highlight.tags.number,
132
- class: "text-tealText"
133
- },
134
- {
135
- tag: import_highlight.tags.bool,
136
- class: "text-tealText"
137
- },
138
- {
139
- tag: import_highlight.tags.string,
140
- class: "text-tealText"
141
- },
142
- // Error.
143
- {
144
- tag: import_highlight.tags.invalid,
145
- class: "text-unAccent"
146
- }
147
- ]);
148
- var languageFacet = (0, import_react_ui_editor2.singleValueFacet)();
149
- var sheetExtension = ({ debug, functions = [] }) => {
150
- const { extension, language } = (0, import_codemirror_lang_spreadsheet.spreadsheet)({
151
- idiom: "en-US",
152
- decimalSeparator: "."
153
- });
154
- const createCompletion = (name) => {
155
- const { section = "Custom", description, syntax } = functions.find((value) => value.name === name) ?? {};
156
- return {
157
- section,
158
- label: name,
159
- info: () => {
160
- if (!description && !syntax) {
161
- return null;
162
- }
163
- const root = document.createElement("div");
164
- root.className = "flex flex-col gap-2 text-sm";
165
- const title = document.createElement("h2");
166
- title.innerText = name;
167
- title.className = "text-lg font-mono text-accentText";
168
- root.appendChild(title);
169
- if (description) {
170
- const info = document.createElement("p");
171
- info.innerText = description;
172
- info.className = "text-subdued";
173
- root.appendChild(info);
174
- }
175
- if (syntax) {
176
- const detail = document.createElement("pre");
177
- detail.innerText = syntax;
178
- detail.className = "whitespace-pre-wrap text-greenText";
179
- root.appendChild(detail);
180
- }
181
- return root;
182
- },
183
- apply: (view, completion, from, to) => {
184
- const insertParens = to === view.state.doc.toString().length;
185
- view.dispatch(view.state.update({
186
- changes: {
187
- from,
188
- to,
189
- insert: completion.label + (insertParens ? "()" : "")
190
- },
191
- selection: {
192
- anchor: from + completion.label.length + 1
193
- }
194
- }));
195
- }
196
- };
197
- };
198
- return [
199
- extension,
200
- languageFacet.of(language),
201
- language.data.of({
202
- autocomplete: (context) => {
203
- if (context.state.doc.toString()[0] !== "=") {
204
- return null;
205
- }
206
- const match = context.matchBefore(/\w*/);
207
- if (!match || match.from === match.to) {
208
- return null;
209
- }
210
- const text = match.text.toUpperCase();
211
- if (!context.explicit && match.text.length < 2) {
212
- return null;
213
- }
214
- return {
215
- from: match.from,
216
- options: functions?.filter(({ name }) => name.startsWith(text)).map(({ name }) => createCompletion(name)) ?? []
217
- };
218
- }
219
- }),
220
- (0, import_language2.syntaxHighlighting)(highlightStyles),
221
- (0, import_autocomplete.autocompletion)({
222
- aboveCursor: false,
223
- defaultKeymap: true,
224
- activateOnTyping: true,
225
- closeOnBlur: !debug,
226
- icons: false,
227
- tooltipClass: () => (0, import_react_ui_theme.mx)("!-left-[1px] !top-[33px] !-m-0 border !border-t-0 [&>ul]:!min-w-[198px]", "[&>ul>li[aria-selected]]:!bg-accentSurface", "border-separator")
228
- }),
229
- import_view2.keymap.of([
230
- {
231
- key: "Tab",
232
- run: (view) => {
233
- return (0, import_autocomplete.completionStatus)(view.state) === "active" ? (0, import_autocomplete.acceptCompletion)(view) : (0, import_autocomplete.startCompletion)(view);
234
- }
235
- }
236
- ])
237
- ];
238
- };
239
- var rangeExtension = ({ onInit, onStateChange }) => {
240
- let view;
241
- let activeRange;
242
- const notifier = {
243
- setRange: (range) => {
244
- if (activeRange) {
245
- view.dispatch(view.state.update({
246
- changes: {
247
- ...activeRange,
248
- insert: range.toString()
249
- },
250
- selection: {
251
- anchor: activeRange.from + range.length
252
- }
253
- }));
254
- }
255
- view.focus();
256
- }
257
- };
258
- return import_view2.ViewPlugin.fromClass(class {
259
- constructor(_view) {
260
- view = _view;
261
- onInit?.(notifier);
262
- }
263
- update(view2) {
264
- const { anchor } = view2.state.selection.ranges[0];
265
- activeRange = void 0;
266
- const language = view2.state.facet(languageFacet);
267
- const { topNode } = language.parser.parse(view2.state.doc.toString());
268
- visitTree(topNode, ({ type, from, to }) => {
269
- if (from <= anchor && to >= anchor) {
270
- switch (type.name) {
271
- case "Function":
272
- activeRange = {
273
- from: to,
274
- to
275
- };
276
- break;
277
- case "CloseParen":
278
- activeRange = {
279
- from,
280
- to: from
281
- };
282
- break;
283
- case "RangeToken":
284
- case "CellToken":
285
- activeRange = {
286
- from,
287
- to
288
- };
289
- return true;
290
- }
291
- }
292
- return false;
293
- });
294
- if (!activeRange && view2.state.doc.toString()[0] === "=") {
295
- const str = view2.state.doc.sliceString(1);
296
- if (import_compute2.RANGE_NOTATION.test(str)) {
297
- activeRange = {
298
- from: 1,
299
- to: str.length + 1
300
- };
301
- }
302
- }
303
- onStateChange?.({
304
- activeRange: activeRange ? view2.state.doc.sliceString(activeRange.from, activeRange.to) : void 0
305
- });
306
- }
307
- });
308
- };
309
- var visitTree = (node, callback) => {
310
- if (callback(node)) {
311
- return true;
312
- }
313
- for (let child = node.firstChild; child !== null; child = child.nextSibling) {
314
- if (visitTree(child, callback)) {
315
- return true;
316
- }
317
- }
318
- return false;
319
- };
320
- var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-sheet/src/components/SheetContext/SheetContext.tsx";
321
- var SheetContext = /* @__PURE__ */ (0, import_react2.createContext)(void 0);
322
- var useSheetContext = () => {
323
- const context = (0, import_react2.useContext)(SheetContext);
324
- (0, import_invariant2.invariant)(context, void 0, {
325
- F: __dxlog_file,
326
- L: 54,
327
- S: void 0,
328
- A: [
329
- "context",
330
- ""
331
- ]
332
- });
333
- return context;
334
- };
335
- var SheetProviderImpl = ({ model, onInfo, ignoreAttention, children, __gridScope }) => {
336
- const { id, editing, setEditing } = (0, import_react_ui_grid.useGridContext)("SheetProvider", __gridScope);
337
- const [cursor, setCursorInternal] = (0, import_react2.useState)();
338
- const [range, setRangeInternal] = (0, import_react2.useState)();
339
- const [cursorFallbackRange, setCursorFallbackRange] = (0, import_react2.useState)();
340
- const [activeRefs, setActiveRefs] = (0, import_react2.useState)("");
341
- const setCursor = (0, import_react2.useCallback)((nextCursor) => {
342
- setCursorInternal(nextCursor);
343
- setCursorFallbackRange(range?.to ? range : nextCursor ? {
344
- from: nextCursor,
345
- to: nextCursor
346
- } : void 0);
347
- }, [
348
- range
349
- ]);
350
- const setRange = (0, import_react2.useCallback)((nextRange) => {
351
- setRangeInternal(nextRange);
352
- setCursorFallbackRange(nextRange?.to ? nextRange : cursor ? {
353
- from: cursor,
354
- to: cursor
355
- } : void 0);
356
- }, [
357
- cursor
358
- ]);
359
- return /* @__PURE__ */ import_react2.default.createElement(SheetContext.Provider, {
360
- value: {
361
- id,
362
- model,
363
- editing,
364
- setEditing,
365
- cursor,
366
- setCursor,
367
- range,
368
- setRange,
369
- cursorFallbackRange,
370
- activeRefs,
371
- setActiveRefs,
372
- // TODO(burdon): Change to event.
373
- onInfo,
374
- ignoreAttention
375
- }
376
- }, children);
377
- };
378
- var SheetProvider = ({ children, graph, sheet, readonly, ignoreAttention, onInfo }) => {
379
- const model = (0, import_chunk_TQOJ7DG2.useSheetModel)(graph, sheet, {
380
- readonly
381
- });
382
- return !model ? null : /* @__PURE__ */ import_react2.default.createElement(import_react_ui_grid.Grid.Root, {
383
- id: (0, import_echo.fullyQualifiedId)(sheet)
384
- }, /* @__PURE__ */ import_react2.default.createElement(SheetProviderImpl, {
385
- model,
386
- onInfo,
387
- ignoreAttention
388
- }, children));
389
- };
390
98
  var RangeList = ({ sheet }) => {
391
- const { t } = (0, import_react_ui2.useTranslation)(import_chunk_2ZVZI2KJ.SHEET_PLUGIN);
99
+ const { t } = (0, import_react_ui.useTranslation)(import_chunk_NLDXUFDG.SHEET_PLUGIN);
392
100
  const handleSelectRange = (range) => {
393
101
  };
394
- const handleDeleteRange = (0, import_react7.useCallback)((range) => {
102
+ const handleDeleteRange = (0, import_react2.useCallback)((range) => {
395
103
  const index = sheet.ranges.findIndex((sheetRange) => sheetRange === range);
396
104
  sheet.ranges.splice(index, 1);
397
105
  }, [
398
106
  sheet
399
107
  ]);
400
- return /* @__PURE__ */ import_react7.default.createElement(import_react7.default.Fragment, null, /* @__PURE__ */ import_react7.default.createElement("h2", {
108
+ return /* @__PURE__ */ import_react2.default.createElement(import_react2.default.Fragment, null, /* @__PURE__ */ import_react2.default.createElement("h2", {
401
109
  className: "p-2 text-sm font-semibold"
402
- }, t("range list heading")), /* @__PURE__ */ import_react7.default.createElement(import_react_ui_list.List.Root, {
110
+ }, t("range list heading")), /* @__PURE__ */ import_react2.default.createElement(import_react_ui_list.List.Root, {
403
111
  items: sheet.ranges,
404
- isItem: import_echo_schema.S.is(import_chunk_TQOJ7DG2.Range)
405
- }, ({ items: ranges }) => ranges.map((range, i) => /* @__PURE__ */ import_react7.default.createElement(import_react_ui_list.List.Item, {
112
+ isItem: import_echo_schema.S.is(import_chunk_E3RXOEL6.Range)
113
+ }, ({ items: ranges }) => ranges.map((range, i) => /* @__PURE__ */ import_react2.default.createElement(import_react_ui_list.List.Item, {
406
114
  key: i,
407
115
  item: range,
408
116
  classNames: [
409
117
  "p-2",
410
- import_react_ui_theme3.ghostHover
118
+ import_react_ui_theme.ghostHover
411
119
  ]
412
- }, /* @__PURE__ */ import_react7.default.createElement(import_react_ui_list.List.ItemDragHandle, null), /* @__PURE__ */ import_react7.default.createElement(import_react_ui_list.List.ItemTitle, {
120
+ }, /* @__PURE__ */ import_react2.default.createElement(import_react_ui_list.List.ItemDragHandle, null), /* @__PURE__ */ import_react2.default.createElement(import_react_ui_list.List.ItemTitle, {
413
121
  onClick: () => handleSelectRange(range)
414
122
  }, t("range title", {
415
- position: (0, import_compute6.rangeToA1Notation)((0, import_chunk_TQOJ7DG2.rangeFromIndex)(sheet, range.range)),
123
+ position: (0, import_compute.rangeToA1Notation)((0, import_chunk_E3RXOEL6.rangeFromIndex)(sheet, range.range)),
416
124
  key: t(`range key ${range.key} label`),
417
125
  value: t(`range value ${range.value} label`)
418
- })), /* @__PURE__ */ import_react7.default.createElement(import_react_ui_list.List.ItemDeleteButton, {
126
+ })), /* @__PURE__ */ import_react2.default.createElement(import_react_ui_list.List.ItemDeleteButton, {
419
127
  onClick: () => handleDeleteRange(range)
420
128
  })))));
421
129
  };
422
- var SheetObjectSettings = ({ sheet }) => {
423
- const { t } = (0, import_react_ui3.useTranslation)(import_meta.SPACE_PLUGIN);
424
- return /* @__PURE__ */ import_react8.default.createElement(import_react8.default.Fragment, null, /* @__PURE__ */ import_react8.default.createElement("div", {
425
- role: "form",
426
- className: "flex flex-col w-full p-2 gap-1"
427
- }, /* @__PURE__ */ import_react8.default.createElement(import_react_ui3.Input.Root, null, /* @__PURE__ */ import_react8.default.createElement(import_react_ui3.Input.Label, null, t("name label")), /* @__PURE__ */ import_react8.default.createElement(import_react_ui3.Input.TextInput, {
428
- placeholder: t("name placeholder"),
429
- value: sheet.name ?? "",
430
- onChange: (event) => {
431
- sheet.name = event.target.value;
432
- }
433
- }))), /* @__PURE__ */ import_react8.default.createElement(RangeList, {
434
- sheet
435
- }));
436
- };
437
- var SheetContainer = (0, import_react6.lazy)(() => import("./SheetContainer-TP4GYXZB.cjs"));
438
130
  var completeCellRangeToThreadCursor = (range) => {
439
131
  return `${range.from.col},${range.from.row},${range.to.col},${range.to.row}`;
440
132
  };
@@ -458,7 +150,7 @@ var parseThreadAnchorAsCellRange = (cursor) => {
458
150
  };
459
151
  var useUpdateFocusedCellOnThreadSelection = (grid) => {
460
152
  const { model, setActiveRefs } = useSheetContext();
461
- const scrollIntoViewResolver = (0, import_react5.useMemo)(() => (0, import_app_framework2.createResolver)(import_app_framework2.LayoutAction.ScrollIntoView, ({ cursor, ref }) => {
153
+ const scrollIntoViewResolver = (0, import_react6.useMemo)(() => (0, import_app_framework2.createResolver)(import_app_framework2.LayoutAction.ScrollIntoView, ({ cursor, ref }) => {
462
154
  setActiveRefs(ref);
463
155
  const range = parseThreadAnchorAsCellRange(cursor);
464
156
  range && grid?.setFocus({
@@ -467,47 +159,47 @@ var useUpdateFocusedCellOnThreadSelection = (grid) => {
467
159
  }, true);
468
160
  }, {
469
161
  disposition: "hoist",
470
- filter: (data) => data.id === (0, import_echo3.fullyQualifiedId)(model.sheet) && !!data.cursor
162
+ filter: (data) => data.id === (0, import_echo2.fullyQualifiedId)(model.sheet) && !!data.cursor
471
163
  }), [
472
164
  model.sheet,
473
165
  setActiveRefs
474
166
  ]);
475
- (0, import_app_framework2.useIntentResolver)(import_chunk_2ZVZI2KJ.SHEET_PLUGIN, scrollIntoViewResolver);
167
+ (0, import_app_framework2.useIntentResolver)(import_chunk_NLDXUFDG.SHEET_PLUGIN, scrollIntoViewResolver);
476
168
  };
477
169
  var useSelectThreadOnCellFocus = () => {
478
170
  const { model, cursor } = useSheetContext();
479
171
  const { dispatchPromise: dispatch } = (0, import_app_framework2.useIntentDispatcher)();
480
- const threads = (0, import_react5.useMemo)(() => model.sheet.threads?.filter((thread) => !!thread) ?? [], [
172
+ const threads = (0, import_react6.useMemo)(() => model.sheet.threads?.filter((thread) => !!thread) ?? [], [
481
173
  // TODO(thure): Surely we can find a better dependency for this…
482
174
  JSON.stringify(model.sheet.threads)
483
175
  ]);
484
- const selectClosestThread = (0, import_react5.useCallback)((cellAddress) => {
176
+ const selectClosestThread = (0, import_react6.useCallback)((cellAddress) => {
485
177
  if (!cellAddress || !threads) {
486
178
  return;
487
179
  }
488
180
  const closestThread = threads?.find((ref) => {
489
181
  if (ref.target?.anchor) {
490
182
  const range = parseThreadAnchorAsCellRange(ref.target.anchor);
491
- return range ? (0, import_compute5.inRange)(range, cellAddress) : false;
183
+ return range ? (0, import_compute4.inRange)(range, cellAddress) : false;
492
184
  } else {
493
185
  return false;
494
186
  }
495
187
  });
496
188
  if (closestThread) {
497
189
  void dispatch((0, import_app_framework2.createIntent)(import_types.ThreadAction.Select, {
498
- current: (0, import_echo3.fullyQualifiedId)(closestThread)
190
+ current: (0, import_echo2.fullyQualifiedId)(closestThread)
499
191
  }));
500
192
  }
501
193
  }, [
502
194
  dispatch,
503
195
  threads
504
196
  ]);
505
- const debounced = (0, import_react5.useMemo)(() => {
506
- return (0, import_async2.debounce)((cellCoords) => requestAnimationFrame(() => selectClosestThread(cellCoords)), 50);
197
+ const debounced = (0, import_react6.useMemo)(() => {
198
+ return (0, import_async.debounce)((cellCoords) => requestAnimationFrame(() => selectClosestThread(cellCoords)), 50);
507
199
  }, [
508
200
  selectClosestThread
509
201
  ]);
510
- (0, import_react5.useEffect)(() => {
202
+ (0, import_react6.useEffect)(() => {
511
203
  if (!cursor) {
512
204
  return;
513
205
  }
@@ -549,15 +241,15 @@ var projectCellProps = (model, col, row) => {
549
241
  row
550
242
  };
551
243
  const rawValue = model.getValue(address);
552
- const ranges = model.sheet.ranges?.filter(({ range }) => (0, import_compute4.inRange)((0, import_chunk_TQOJ7DG2.rangeFromIndex)(model.sheet, range), address));
244
+ const ranges = model.sheet.ranges?.filter(({ range }) => (0, import_compute3.inRange)((0, import_chunk_E3RXOEL6.rangeFromIndex)(model.sheet, range), address));
553
245
  const threadRefs = model.sheet.threads?.filter((thread) => {
554
246
  const range = thread.target?.anchor && parseThreadAnchorAsCellRange(thread.target.anchor);
555
- return thread && range ? (0, import_compute4.inRange)(range, address) : false;
556
- }).map((thread) => (0, import_echo2.fullyQualifiedId)(thread)).join(" ");
247
+ return thread && range ? (0, import_compute3.inRange)(range, address) : false;
248
+ }).map((thread) => (0, import_echo.fullyQualifiedId)(thread)).join(" ");
557
249
  const description = model.getValueDescription(address);
558
250
  const type = description?.type;
559
251
  const format = description?.format;
560
- const classNames = ranges?.map(import_chunk_TQOJ7DG2.cellClassNameForRange).reverse();
252
+ const classNames = ranges?.map(import_chunk_E3RXOEL6.cellClassNameForRange).reverse();
561
253
  return {
562
254
  value: (0, import_react_ui_form.parseValue)({
563
255
  type,
@@ -567,7 +259,7 @@ var projectCellProps = (model, col, row) => {
567
259
  className: (0, import_react_ui_theme2.mx)((0, import_react_ui_form.cellClassesForFieldType)({
568
260
  type,
569
261
  format
570
- }), threadRefs && import_react_ui_grid3.commentedClassName, classNames),
262
+ }), threadRefs && import_react_ui_grid2.commentedClassName, classNames),
571
263
  dataRefs: threadRefs
572
264
  };
573
265
  };
@@ -589,12 +281,12 @@ var gridCellGetter = (model) => {
589
281
  };
590
282
  };
591
283
  var rowLabelCell = (row) => ({
592
- value: (0, import_react_ui_grid3.rowToA1Notation)(row),
284
+ value: (0, import_react_ui_grid2.rowToA1Notation)(row),
593
285
  className: "text-end !pie-1 text-subdued",
594
286
  resizeHandle: "row"
595
287
  });
596
288
  var colLabelCell = (col) => ({
597
- value: (0, import_react_ui_grid3.colToA1Notation)(col),
289
+ value: (0, import_react_ui_grid2.colToA1Notation)(col),
598
290
  className: "text-subdued",
599
291
  resizeHandle: "col"
600
292
  });
@@ -626,10 +318,10 @@ var cellGetter = (model) => {
626
318
  };
627
319
  };
628
320
  var useSheetModelDxGridProps = (dxGrid, model) => {
629
- const [columns, setColumns] = (0, import_react4.useState)(createDxGridColumns(model));
630
- const [rows, setRows] = (0, import_react4.useState)(createDxGridRows(model));
631
- (0, import_react4.useEffect)(() => {
632
- const cellsAccessor = (0, import_echo2.createDocAccessor)(model.sheet, [
321
+ const [columns, setColumns] = (0, import_react5.useState)(createDxGridColumns(model));
322
+ const [rows, setRows] = (0, import_react5.useState)(createDxGridRows(model));
323
+ (0, import_react5.useEffect)(() => {
324
+ const cellsAccessor = (0, import_echo.createDocAccessor)(model.sheet, [
633
325
  "cells"
634
326
  ]);
635
327
  if (dxGrid) {
@@ -648,11 +340,11 @@ var useSheetModelDxGridProps = (dxGrid, model) => {
648
340
  model,
649
341
  dxGrid
650
342
  ]);
651
- (0, import_react4.useEffect)(() => {
652
- const columnMetaAccessor = (0, import_echo2.createDocAccessor)(model.sheet, [
343
+ (0, import_react5.useEffect)(() => {
344
+ const columnMetaAccessor = (0, import_echo.createDocAccessor)(model.sheet, [
653
345
  "columnMeta"
654
346
  ]);
655
- const rowMetaAccessor = (0, import_echo2.createDocAccessor)(model.sheet, [
347
+ const rowMetaAccessor = (0, import_echo.createDocAccessor)(model.sheet, [
656
348
  "rowMeta"
657
349
  ]);
658
350
  const handleColumnMetaUpdate = () => {
@@ -676,6 +368,76 @@ var useSheetModelDxGridProps = (dxGrid, model) => {
676
368
  rows
677
369
  };
678
370
  };
371
+ var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-sheet/src/components/SheetContext/SheetContext.tsx";
372
+ var SheetContext = /* @__PURE__ */ (0, import_react7.createContext)(void 0);
373
+ var useSheetContext = () => {
374
+ const context = (0, import_react7.useContext)(SheetContext);
375
+ (0, import_invariant.invariant)(context, void 0, {
376
+ F: __dxlog_file,
377
+ L: 54,
378
+ S: void 0,
379
+ A: [
380
+ "context",
381
+ ""
382
+ ]
383
+ });
384
+ return context;
385
+ };
386
+ var SheetProviderImpl = ({ model, onInfo, ignoreAttention, children, __gridScope }) => {
387
+ const { id, editing, setEditing } = (0, import_react_ui_grid3.useGridContext)("SheetProvider", __gridScope);
388
+ const [cursor, setCursorInternal] = (0, import_react7.useState)();
389
+ const [range, setRangeInternal] = (0, import_react7.useState)();
390
+ const [cursorFallbackRange, setCursorFallbackRange] = (0, import_react7.useState)();
391
+ const [activeRefs, setActiveRefs] = (0, import_react7.useState)("");
392
+ const setCursor = (0, import_react7.useCallback)((nextCursor) => {
393
+ setCursorInternal(nextCursor);
394
+ setCursorFallbackRange(range?.to ? range : nextCursor ? {
395
+ from: nextCursor,
396
+ to: nextCursor
397
+ } : void 0);
398
+ }, [
399
+ range
400
+ ]);
401
+ const setRange = (0, import_react7.useCallback)((nextRange) => {
402
+ setRangeInternal(nextRange);
403
+ setCursorFallbackRange(nextRange?.to ? nextRange : cursor ? {
404
+ from: cursor,
405
+ to: cursor
406
+ } : void 0);
407
+ }, [
408
+ cursor
409
+ ]);
410
+ return /* @__PURE__ */ import_react7.default.createElement(SheetContext.Provider, {
411
+ value: {
412
+ id,
413
+ model,
414
+ editing,
415
+ setEditing,
416
+ cursor,
417
+ setCursor,
418
+ range,
419
+ setRange,
420
+ cursorFallbackRange,
421
+ activeRefs,
422
+ setActiveRefs,
423
+ // TODO(burdon): Change to event.
424
+ onInfo,
425
+ ignoreAttention
426
+ }
427
+ }, children);
428
+ };
429
+ var SheetProvider = ({ children, graph, sheet, readonly, ignoreAttention, onInfo }) => {
430
+ const model = (0, import_chunk_E3RXOEL6.useSheetModel)(graph, sheet, {
431
+ readonly
432
+ });
433
+ return !model ? null : /* @__PURE__ */ import_react7.default.createElement(import_react_ui_grid3.Grid.Root, {
434
+ id: (0, import_echo3.fullyQualifiedId)(sheet)
435
+ }, /* @__PURE__ */ import_react7.default.createElement(SheetProviderImpl, {
436
+ model,
437
+ onInfo,
438
+ ignoreAttention
439
+ }, children));
440
+ };
679
441
  var inertPosition = {
680
442
  plane: "grid",
681
443
  col: 0,
@@ -702,11 +464,11 @@ var frozen = {
702
464
  };
703
465
  var sheetRowDefault = {
704
466
  frozenRowsStart: {
705
- size: import_react_ui_grid2.defaultSizeRow,
467
+ size: import_react_ui_grid.defaultSizeRow,
706
468
  readonly: true
707
469
  },
708
470
  grid: {
709
- size: import_react_ui_grid2.defaultSizeRow,
471
+ size: import_react_ui_grid.defaultSizeRow,
710
472
  resizeable: true
711
473
  }
712
474
  };
@@ -721,16 +483,16 @@ var sheetColDefault = {
721
483
  }
722
484
  };
723
485
  var GridSheet = () => {
724
- const { t } = (0, import_react_ui.useTranslation)(import_chunk_2ZVZI2KJ.SHEET_PLUGIN);
486
+ const { t } = (0, import_react_ui2.useTranslation)(import_chunk_NLDXUFDG.SHEET_PLUGIN);
725
487
  const { id, model, editing, setCursor, setRange, cursor, cursorFallbackRange, activeRefs, ignoreAttention } = useSheetContext();
726
- const [dxGrid, setDxGrid] = (0, import_react3.useState)(null);
727
- const [extraplanarFocus, setExtraplanarFocus] = (0, import_react3.useState)(null);
488
+ const [dxGrid, setDxGrid] = (0, import_react4.useState)(null);
489
+ const [extraplanarFocus, setExtraplanarFocus] = (0, import_react4.useState)(null);
728
490
  const { dispatchPromise: dispatch } = (0, import_app_framework.useIntentDispatcher)();
729
- const rangeController = (0, import_react3.useRef)();
491
+ const rangeController = (0, import_react4.useRef)();
730
492
  const { hasAttention } = (0, import_react_ui_attention.useAttention)(id);
731
- const handleFocus = (0, import_react3.useCallback)((event) => {
493
+ const handleFocus = (0, import_react4.useCallback)((event) => {
732
494
  if (!editing) {
733
- const cell = (0, import_react_ui_grid2.closestCell)(event.target);
495
+ const cell = (0, import_react_ui_grid.closestCell)(event.target);
734
496
  if (cell) {
735
497
  if (cell.plane === "grid") {
736
498
  setCursor({
@@ -748,7 +510,7 @@ var GridSheet = () => {
748
510
  }, [
749
511
  editing
750
512
  ]);
751
- const handleClose = (0, import_react3.useCallback)((_value, event) => {
513
+ const handleClose = (0, import_react4.useCallback)((_value, event) => {
752
514
  if (event) {
753
515
  const { key, shift } = event;
754
516
  const axis = [
@@ -771,15 +533,15 @@ var GridSheet = () => {
771
533
  editing,
772
534
  dxGrid
773
535
  ]);
774
- const handleBlur = (0, import_react3.useCallback)((value) => {
536
+ const handleBlur = (0, import_react4.useCallback)((value) => {
775
537
  if (value !== void 0) {
776
- model.setValue((0, import_react_ui_grid2.parseCellIndex)(editing.index), value);
538
+ model.setValue((0, import_react_ui_grid.parseCellIndex)(editing.index), value);
777
539
  }
778
540
  }, [
779
541
  model,
780
542
  editing
781
543
  ]);
782
- const handleAxisResize = (0, import_react3.useCallback)(({ axis, size, index: numericIndex }) => {
544
+ const handleAxisResize = (0, import_react4.useCallback)(({ axis, size, index: numericIndex }) => {
783
545
  if (axis === "row") {
784
546
  const rowId = model.sheet.rows[parseInt(numericIndex)];
785
547
  model.sheet.rowMeta[rowId] ??= {};
@@ -792,7 +554,7 @@ var GridSheet = () => {
792
554
  }, [
793
555
  model
794
556
  ]);
795
- const handleSelect = (0, import_react3.useCallback)(({ minCol, maxCol, minRow, maxRow }) => {
557
+ const handleSelect = (0, import_react4.useCallback)(({ minCol, maxCol, minRow, maxRow }) => {
796
558
  const range = {
797
559
  from: {
798
560
  col: minCol,
@@ -806,14 +568,14 @@ var GridSheet = () => {
806
568
  };
807
569
  }
808
570
  if (editing) {
809
- rangeController.current?.setRange((0, import_compute3.rangeToA1Notation)(range));
571
+ rangeController.current?.setRange((0, import_compute2.rangeToA1Notation)(range));
810
572
  } else {
811
573
  setRange(range.to ? range : void 0);
812
574
  }
813
575
  }, [
814
576
  editing
815
577
  ]);
816
- const handleWheel = (0, import_react3.useCallback)((event) => {
578
+ const handleWheel = (0, import_react4.useCallback)((event) => {
817
579
  if (!ignoreAttention && !hasAttention) {
818
580
  event.stopPropagation();
819
581
  }
@@ -821,7 +583,7 @@ var GridSheet = () => {
821
583
  hasAttention,
822
584
  ignoreAttention
823
585
  ]);
824
- const selectEntireAxis = (0, import_react3.useCallback)((pos) => {
586
+ const selectEntireAxis = (0, import_react4.useCallback)((pos) => {
825
587
  switch (pos.plane) {
826
588
  case "frozenRowsStart":
827
589
  return dxGrid?.setSelection({
@@ -854,15 +616,15 @@ var GridSheet = () => {
854
616
  dxGrid,
855
617
  model.sheet
856
618
  ]);
857
- const handleClick = (0, import_react3.useCallback)((event) => {
858
- const cell = (0, import_react_ui_grid2.closestCell)(event.target);
619
+ const handleClick = (0, import_react4.useCallback)((event) => {
620
+ const cell = (0, import_react_ui_grid.closestCell)(event.target);
859
621
  if (cell) {
860
622
  selectEntireAxis(cell);
861
623
  }
862
624
  }, [
863
625
  selectEntireAxis
864
626
  ]);
865
- const handleKeyDown = (0, import_react3.useCallback)((event) => {
627
+ const handleKeyDown = (0, import_react4.useCallback)((event) => {
866
628
  switch (event.key) {
867
629
  case "Backspace":
868
630
  case "Delete":
@@ -909,28 +671,28 @@ var GridSheet = () => {
909
671
  extraplanarFocus,
910
672
  selectEntireAxis
911
673
  ]);
912
- const contextMenuAnchorRef = (0, import_react3.useRef)(null);
913
- const [contextMenuOpen, setContextMenuOpen] = (0, import_react3.useState)(null);
674
+ const contextMenuAnchorRef = (0, import_react4.useRef)(null);
675
+ const [contextMenuOpen, setContextMenuOpen] = (0, import_react4.useState)(null);
914
676
  const contextMenuAxis = contextMenuOpen?.plane.startsWith("frozenRows") ? "col" : "row";
915
- const handleContextMenu = (0, import_react3.useCallback)((event) => {
916
- const cell = (0, import_react_ui_grid2.closestCell)(event.target);
677
+ const handleContextMenu = (0, import_react4.useCallback)((event) => {
678
+ const cell = (0, import_react_ui_grid.closestCell)(event.target);
917
679
  if (cell && cell.plane.startsWith("frozen")) {
918
680
  event.preventDefault();
919
681
  contextMenuAnchorRef.current = event.target;
920
682
  setContextMenuOpen(cell);
921
683
  }
922
684
  }, []);
923
- const handleAxisMenuAction = (0, import_react3.useCallback)((operation) => {
685
+ const handleAxisMenuAction = (0, import_react4.useCallback)((operation) => {
924
686
  switch (operation) {
925
687
  case "insert-before":
926
688
  case "insert-after":
927
- return dispatch((0, import_app_framework.createIntent)(import_chunk_TQOJ7DG2.SheetAction.InsertAxis, {
689
+ return dispatch((0, import_app_framework.createIntent)(import_chunk_E3RXOEL6.SheetAction.InsertAxis, {
928
690
  model,
929
691
  axis: contextMenuAxis,
930
692
  index: contextMenuOpen[contextMenuAxis] + (operation === "insert-before" ? 0 : 1)
931
693
  }));
932
694
  case "drop":
933
- return dispatch((0, import_app_framework.createIntent)(import_chunk_TQOJ7DG2.SheetAction.DropAxis, {
695
+ return dispatch((0, import_app_framework.createIntent)(import_chunk_E3RXOEL6.SheetAction.DropAxis, {
934
696
  model,
935
697
  axis: contextMenuAxis,
936
698
  axisIndex: model.sheet[contextMenuAxis === "row" ? "rows" : "columns"][contextMenuOpen[contextMenuAxis]]
@@ -943,17 +705,17 @@ var GridSheet = () => {
943
705
  dispatch
944
706
  ]);
945
707
  const { columns, rows } = useSheetModelDxGridProps(dxGrid, model);
946
- const extension = (0, import_react3.useMemo)(() => [
947
- (0, import_react_ui_grid2.editorKeys)({
708
+ const extension = (0, import_react4.useMemo)(() => [
709
+ (0, import_react_ui_grid.editorKeys)({
948
710
  onClose: handleClose,
949
711
  ...editing?.initialContent && {
950
712
  onNav: handleClose
951
713
  }
952
714
  }),
953
- sheetExtension({
715
+ (0, import_chunk_P4KSGZSS.sheetExtension)({
954
716
  functions: model.graph.getFunctions()
955
717
  }),
956
- rangeExtension({
718
+ (0, import_chunk_P4KSGZSS.rangeExtension)({
957
719
  onInit: (fn) => rangeController.current = fn,
958
720
  onStateChange: (state) => {
959
721
  if (dxGrid) {
@@ -966,24 +728,24 @@ var GridSheet = () => {
966
728
  handleClose,
967
729
  editing
968
730
  ]);
969
- const getCellContent = (0, import_react3.useCallback)((index) => {
970
- return model.getCellText((0, import_react_ui_grid2.parseCellIndex)(index));
731
+ const getCellContent = (0, import_react4.useCallback)((index) => {
732
+ return model.getCellText((0, import_react_ui_grid.parseCellIndex)(index));
971
733
  }, [
972
734
  model
973
735
  ]);
974
736
  useUpdateFocusedCellOnThreadSelection(dxGrid);
975
737
  useSelectThreadOnCellFocus();
976
- return /* @__PURE__ */ import_react3.default.createElement("div", {
738
+ return /* @__PURE__ */ import_react4.default.createElement("div", {
977
739
  role: "none",
978
740
  className: "relative min-bs-0"
979
- }, /* @__PURE__ */ import_react3.default.createElement(import_react_ui_grid2.GridCellEditor, {
741
+ }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui_grid.GridCellEditor, {
980
742
  getCellContent,
981
743
  extension,
982
744
  onBlur: handleBlur
983
- }), /* @__PURE__ */ import_react3.default.createElement(import_react_ui_grid2.Grid.Content, {
745
+ }), /* @__PURE__ */ import_react4.default.createElement(import_react_ui_grid.Grid.Content, {
984
746
  initialCells,
985
- limitColumns: import_chunk_TQOJ7DG2.DEFAULT_COLS,
986
- limitRows: import_chunk_TQOJ7DG2.DEFAULT_ROWS,
747
+ limitColumns: import_chunk_E3RXOEL6.DEFAULT_COLS,
748
+ limitRows: import_chunk_E3RXOEL6.DEFAULT_ROWS,
987
749
  columns,
988
750
  rows,
989
751
  onAxisResize: handleAxisResize,
@@ -1000,46 +762,46 @@ var GridSheet = () => {
1000
762
  className: "[--dx-grid-base:var(--surface-bg)] [&_.dx-grid]:border-bs [&_.dx-grid]:absolute [&_.dx-grid]:inset-0 [&_.dx-grid]:border-separator",
1001
763
  activeRefs,
1002
764
  ref: setDxGrid
1003
- }), /* @__PURE__ */ import_react3.default.createElement(import_react_ui.DropdownMenu.Root, {
765
+ }), /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.DropdownMenu.Root, {
1004
766
  modal: false,
1005
767
  open: !!contextMenuOpen,
1006
768
  onOpenChange: (nextOpen) => setContextMenuOpen(nextOpen ? inertPosition : null)
1007
- }, /* @__PURE__ */ import_react3.default.createElement(import_react_ui.DropdownMenu.VirtualTrigger, {
769
+ }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.DropdownMenu.VirtualTrigger, {
1008
770
  virtualRef: contextMenuAnchorRef
1009
- }), /* @__PURE__ */ import_react3.default.createElement(import_react_ui.DropdownMenu.Content, {
771
+ }), /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.DropdownMenu.Content, {
1010
772
  side: contextMenuAxis === "col" ? "bottom" : "right",
1011
773
  sideOffset: 4,
1012
774
  collisionPadding: 8
1013
- }, /* @__PURE__ */ import_react3.default.createElement(import_react_ui.DropdownMenu.Viewport, null, /* @__PURE__ */ import_react3.default.createElement(import_react_ui.DropdownMenu.Item, {
775
+ }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.DropdownMenu.Viewport, null, /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.DropdownMenu.Item, {
1014
776
  onClick: () => handleAxisMenuAction("insert-before"),
1015
777
  "data-testid": `grid.${contextMenuAxis}.insert-before`
1016
- }, /* @__PURE__ */ import_react3.default.createElement(import_react_ui.Icon, {
778
+ }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.Icon, {
1017
779
  size: 5,
1018
780
  icon: contextMenuAxis === "col" ? "ph--columns-plus-left--regular" : "ph--rows-plus-top--regular"
1019
- }), /* @__PURE__ */ import_react3.default.createElement("span", null, t(`add ${contextMenuAxis} before label`))), /* @__PURE__ */ import_react3.default.createElement(import_react_ui.DropdownMenu.Item, {
781
+ }), /* @__PURE__ */ import_react4.default.createElement("span", null, t(`add ${contextMenuAxis} before label`))), /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.DropdownMenu.Item, {
1020
782
  onClick: () => handleAxisMenuAction("insert-after"),
1021
783
  "data-testid": `grid.${contextMenuAxis}.insert-after`
1022
- }, /* @__PURE__ */ import_react3.default.createElement(import_react_ui.Icon, {
784
+ }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.Icon, {
1023
785
  size: 5,
1024
786
  icon: contextMenuAxis === "col" ? "ph--columns-plus-right--regular" : "ph--rows-plus-bottom--regular"
1025
- }), /* @__PURE__ */ import_react3.default.createElement("span", null, t(`add ${contextMenuAxis} after label`))), /* @__PURE__ */ import_react3.default.createElement(import_react_ui.DropdownMenu.Item, {
787
+ }), /* @__PURE__ */ import_react4.default.createElement("span", null, t(`add ${contextMenuAxis} after label`))), /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.DropdownMenu.Item, {
1026
788
  onClick: () => handleAxisMenuAction("drop"),
1027
789
  "data-testid": `grid.${contextMenuAxis}.drop`
1028
- }, /* @__PURE__ */ import_react3.default.createElement(import_react_ui.Icon, {
790
+ }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.Icon, {
1029
791
  size: 5,
1030
792
  icon: "ph--backspace--regular"
1031
- }), /* @__PURE__ */ import_react3.default.createElement("span", null, t(`delete ${contextMenuAxis} label`)))), /* @__PURE__ */ import_react3.default.createElement(import_react_ui.DropdownMenu.Arrow, null))));
793
+ }), /* @__PURE__ */ import_react4.default.createElement("span", null, t(`delete ${contextMenuAxis} label`)))), /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.DropdownMenu.Arrow, null))));
1032
794
  };
795
+ var SheetContainer = (0, import_react3.lazy)(() => import("./SheetContainer-TJ3JQLWM.cjs"));
1033
796
  // Annotate the CommonJS export names for ESM import in node:
1034
797
  0 && (module.exports = {
1035
798
  ComputeGraphContextProvider,
1036
799
  GridSheet,
800
+ RangeList,
1037
801
  SheetContainer,
1038
- SheetObjectSettings,
1039
802
  SheetProvider,
1040
803
  completeCellRangeToThreadCursor,
1041
- computeGraphFacet,
1042
804
  useComputeGraph,
1043
805
  useSheetContext
1044
806
  });
1045
- //# sourceMappingURL=chunk-FDEQ2PGJ.cjs.map
807
+ //# sourceMappingURL=chunk-ZPWW4LPY.cjs.map