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

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 (187) hide show
  1. package/dist/lib/browser/SheetContainer-QE32GHSA.mjs +370 -0
  2. package/dist/lib/browser/SheetContainer-QE32GHSA.mjs.map +7 -0
  3. package/dist/lib/browser/chunk-5IP6N25X.mjs +18 -0
  4. package/dist/lib/browser/chunk-5IP6N25X.mjs.map +7 -0
  5. package/dist/lib/browser/{chunk-A374JPWV.mjs → chunk-EEN6LQ77.mjs} +157 -391
  6. package/dist/lib/browser/chunk-EEN6LQ77.mjs.map +7 -0
  7. package/dist/lib/browser/chunk-FOO6NGBM.mjs +229 -0
  8. package/dist/lib/browser/chunk-FOO6NGBM.mjs.map +7 -0
  9. package/dist/lib/browser/{chunk-Q4XS4YWF.mjs → chunk-MW7L2R23.mjs} +2 -2
  10. package/dist/lib/browser/chunk-MW7L2R23.mjs.map +7 -0
  11. package/dist/lib/browser/chunk-NA2WJTDQ.mjs +15 -0
  12. package/dist/lib/browser/chunk-NA2WJTDQ.mjs.map +7 -0
  13. package/dist/lib/browser/compute-graph-registry-5PSCPAJC.mjs +27 -0
  14. package/dist/lib/browser/compute-graph-registry-5PSCPAJC.mjs.map +7 -0
  15. package/dist/lib/browser/index.mjs +80 -218
  16. package/dist/lib/browser/index.mjs.map +4 -4
  17. package/dist/lib/browser/intent-resolver-BIOB22P2.mjs +56 -0
  18. package/dist/lib/browser/intent-resolver-BIOB22P2.mjs.map +7 -0
  19. package/dist/lib/browser/markdown-ZXHPFU4B.mjs +26 -0
  20. package/dist/lib/browser/markdown-ZXHPFU4B.mjs.map +7 -0
  21. package/dist/lib/browser/meta.json +1 -1
  22. package/dist/lib/browser/react-surface-DUNHY5TJ.mjs +52 -0
  23. package/dist/lib/browser/react-surface-DUNHY5TJ.mjs.map +7 -0
  24. package/dist/lib/browser/thread-RSI66HGQ.mjs +17 -0
  25. package/dist/lib/browser/thread-RSI66HGQ.mjs.map +7 -0
  26. package/dist/lib/browser/types/index.mjs +2 -2
  27. package/dist/lib/node/SheetContainer-63QTAGQQ.cjs +364 -0
  28. package/dist/lib/node/SheetContainer-63QTAGQQ.cjs.map +7 -0
  29. package/dist/lib/node/{chunk-TQOJ7DG2.cjs → chunk-6BZ2TACG.cjs} +6 -6
  30. package/dist/lib/node/chunk-6BZ2TACG.cjs.map +7 -0
  31. package/dist/lib/node/{meta.cjs → chunk-6G6HHJOM.cjs} +12 -8
  32. package/dist/lib/node/chunk-6G6HHJOM.cjs.map +7 -0
  33. package/dist/lib/node/{chunk-2ZVZI2KJ.cjs → chunk-AUC5XQEN.cjs} +12 -9
  34. package/dist/lib/node/chunk-AUC5XQEN.cjs.map +7 -0
  35. package/dist/lib/node/{chunk-FDEQ2PGJ.cjs → chunk-K4VMHOR2.cjs} +198 -428
  36. package/dist/lib/node/chunk-K4VMHOR2.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/compute-graph-registry-IKYGA5ZC.cjs +53 -0
  40. package/dist/lib/node/compute-graph-registry-IKYGA5ZC.cjs.map +7 -0
  41. package/dist/lib/node/index.cjs +81 -215
  42. package/dist/lib/node/index.cjs.map +4 -4
  43. package/dist/lib/node/intent-resolver-EN5ZMUUF.cjs +69 -0
  44. package/dist/lib/node/intent-resolver-EN5ZMUUF.cjs.map +7 -0
  45. package/dist/lib/node/markdown-7NVPUDWI.cjs +40 -0
  46. package/dist/lib/node/markdown-7NVPUDWI.cjs.map +7 -0
  47. package/dist/lib/node/meta.json +1 -1
  48. package/dist/lib/node/react-surface-YGALRCRL.cjs +70 -0
  49. package/dist/lib/node/react-surface-YGALRCRL.cjs.map +7 -0
  50. package/dist/lib/node/thread-7KJVRDUE.cjs +32 -0
  51. package/dist/lib/node/thread-7KJVRDUE.cjs.map +7 -0
  52. package/dist/lib/node/types/index.cjs +30 -30
  53. package/dist/lib/node/types/index.cjs.map +1 -1
  54. package/dist/lib/node-esm/SheetContainer-EUR47CP5.mjs +371 -0
  55. package/dist/lib/node-esm/SheetContainer-EUR47CP5.mjs.map +7 -0
  56. package/dist/lib/node-esm/chunk-6C53G45G.mjs +16 -0
  57. package/dist/lib/node-esm/chunk-6C53G45G.mjs.map +7 -0
  58. package/dist/lib/node-esm/chunk-JFUKD7N4.mjs +20 -0
  59. package/dist/lib/node-esm/chunk-JFUKD7N4.mjs.map +7 -0
  60. package/dist/lib/node-esm/{chunk-NYYIDVR7.mjs → chunk-LGQMXD6K.mjs} +2 -2
  61. package/dist/lib/node-esm/chunk-LGQMXD6K.mjs.map +7 -0
  62. package/dist/lib/node-esm/chunk-PTOI45NK.mjs +231 -0
  63. package/dist/lib/node-esm/chunk-PTOI45NK.mjs.map +7 -0
  64. package/dist/lib/node-esm/{chunk-L5PQHVTX.mjs → chunk-RFGJUSHF.mjs} +157 -391
  65. package/dist/lib/node-esm/chunk-RFGJUSHF.mjs.map +7 -0
  66. package/dist/lib/node-esm/compute-graph-registry-ZSLEFSS5.mjs +28 -0
  67. package/dist/lib/node-esm/compute-graph-registry-ZSLEFSS5.mjs.map +7 -0
  68. package/dist/lib/node-esm/index.mjs +80 -218
  69. package/dist/lib/node-esm/index.mjs.map +4 -4
  70. package/dist/lib/node-esm/intent-resolver-6BCKQA5A.mjs +57 -0
  71. package/dist/lib/node-esm/intent-resolver-6BCKQA5A.mjs.map +7 -0
  72. package/dist/lib/node-esm/markdown-LRZEUBKN.mjs +27 -0
  73. package/dist/lib/node-esm/markdown-LRZEUBKN.mjs.map +7 -0
  74. package/dist/lib/node-esm/meta.json +1 -1
  75. package/dist/lib/node-esm/react-surface-AAT56ZBA.mjs +53 -0
  76. package/dist/lib/node-esm/react-surface-AAT56ZBA.mjs.map +7 -0
  77. package/dist/lib/node-esm/thread-U3RIKVMB.mjs +18 -0
  78. package/dist/lib/node-esm/thread-U3RIKVMB.mjs.map +7 -0
  79. package/dist/lib/node-esm/types/index.mjs +2 -2
  80. package/dist/types/src/SheetPlugin.d.ts +1 -3
  81. package/dist/types/src/SheetPlugin.d.ts.map +1 -1
  82. package/dist/types/src/capabilities/capabilities.d.ts +5 -0
  83. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -0
  84. package/dist/types/src/capabilities/compute-graph-registry.d.ts +4 -0
  85. package/dist/types/src/capabilities/compute-graph-registry.d.ts.map +1 -0
  86. package/dist/types/src/capabilities/index.d.ts +12 -0
  87. package/dist/types/src/capabilities/index.d.ts.map +1 -0
  88. package/dist/types/src/capabilities/intent-resolver.d.ts +4 -0
  89. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -0
  90. package/dist/types/src/capabilities/markdown.d.ts +6 -0
  91. package/dist/types/src/capabilities/markdown.d.ts.map +1 -0
  92. package/dist/types/src/capabilities/react-surface.d.ts +4 -0
  93. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -0
  94. package/dist/types/src/capabilities/thread.d.ts +6 -0
  95. package/dist/types/src/capabilities/thread.d.ts.map +1 -0
  96. package/dist/types/src/components/GridSheet/GridSheet.stories.d.ts.map +1 -1
  97. package/dist/types/src/components/SheetContainer/SheetContainer.d.ts.map +1 -1
  98. package/dist/types/src/components/SheetContainer/SheetContainer.stories.d.ts.map +1 -1
  99. package/dist/types/src/components/SheetToolbar/SheetToolbar.d.ts +7 -0
  100. package/dist/types/src/components/SheetToolbar/SheetToolbar.d.ts.map +1 -0
  101. package/dist/types/src/components/SheetToolbar/SheetToolbar.stories.d.ts +6 -0
  102. package/dist/types/src/components/SheetToolbar/SheetToolbar.stories.d.ts.map +1 -0
  103. package/dist/types/src/components/SheetToolbar/align.d.ts +28 -0
  104. package/dist/types/src/components/SheetToolbar/align.d.ts.map +1 -0
  105. package/dist/types/src/components/SheetToolbar/comment.d.ts +23 -0
  106. package/dist/types/src/components/SheetToolbar/comment.d.ts.map +1 -0
  107. package/dist/types/src/components/SheetToolbar/index.d.ts +2 -0
  108. package/dist/types/src/components/SheetToolbar/index.d.ts.map +1 -0
  109. package/dist/types/src/components/SheetToolbar/style.d.ts +26 -0
  110. package/dist/types/src/components/SheetToolbar/style.d.ts.map +1 -0
  111. package/dist/types/src/components/SheetToolbar/useToolbarAction.d.ts +8 -0
  112. package/dist/types/src/components/SheetToolbar/useToolbarAction.d.ts.map +1 -0
  113. package/dist/types/src/components/SheetToolbar/useToolbarState.d.ts +6 -0
  114. package/dist/types/src/components/SheetToolbar/useToolbarState.d.ts.map +1 -0
  115. package/dist/types/src/components/index.d.ts +1 -2
  116. package/dist/types/src/components/index.d.ts.map +1 -1
  117. package/dist/types/src/index.d.ts +2 -3
  118. package/dist/types/src/index.d.ts.map +1 -1
  119. package/dist/types/src/integrations/thread-ranges.d.ts.map +1 -1
  120. package/dist/types/src/meta.d.ts +2 -2
  121. package/dist/types/src/meta.d.ts.map +1 -1
  122. package/dist/types/src/testing/testing.d.ts +1 -1
  123. package/dist/types/src/testing/testing.d.ts.map +1 -1
  124. package/dist/types/src/types/sheet-range-types.d.ts +1 -1
  125. package/dist/types/src/types/sheet-range-types.d.ts.map +1 -1
  126. package/dist/types/src/types/types.d.ts +0 -11
  127. package/dist/types/src/types/types.d.ts.map +1 -1
  128. package/dist/types/tsconfig.tsbuildinfo +1 -1
  129. package/package.json +45 -52
  130. package/src/SheetPlugin.tsx +55 -103
  131. package/src/capabilities/capabilities.ts +14 -0
  132. package/src/capabilities/compute-graph-registry.ts +25 -0
  133. package/src/capabilities/index.ts +13 -0
  134. package/src/capabilities/intent-resolver.ts +38 -0
  135. package/src/capabilities/markdown.ts +22 -0
  136. package/src/capabilities/react-surface.tsx +37 -0
  137. package/src/capabilities/thread.ts +14 -0
  138. package/src/components/GridSheet/GridSheet.stories.tsx +2 -0
  139. package/src/components/GridSheet/util.ts +1 -1
  140. package/src/components/SheetContainer/SheetContainer.stories.tsx +28 -22
  141. package/src/components/SheetContainer/SheetContainer.tsx +3 -8
  142. package/src/components/{Toolbar/Toolbar.stories.tsx → SheetToolbar/SheetToolbar.stories.tsx} +4 -8
  143. package/src/components/SheetToolbar/SheetToolbar.tsx +48 -0
  144. package/src/components/SheetToolbar/align.ts +68 -0
  145. package/src/components/SheetToolbar/comment.ts +56 -0
  146. package/src/components/{Toolbar → SheetToolbar}/index.ts +1 -1
  147. package/src/components/SheetToolbar/style.ts +72 -0
  148. package/src/components/SheetToolbar/useToolbarAction.ts +87 -0
  149. package/src/components/SheetToolbar/useToolbarState.ts +17 -0
  150. package/src/components/index.ts +0 -1
  151. package/src/index.ts +2 -5
  152. package/src/integrations/thread-ranges.ts +21 -10
  153. package/src/meta.ts +3 -2
  154. package/src/types/sheet-range-types.ts +1 -1
  155. package/src/types/types.ts +0 -26
  156. package/dist/lib/browser/SheetContainer-S4NCLUYL.mjs +0 -290
  157. package/dist/lib/browser/SheetContainer-S4NCLUYL.mjs.map +0 -7
  158. package/dist/lib/browser/chunk-A374JPWV.mjs.map +0 -7
  159. package/dist/lib/browser/chunk-Q4XS4YWF.mjs.map +0 -7
  160. package/dist/lib/browser/chunk-RABELMEQ.mjs +0 -15
  161. package/dist/lib/browser/chunk-RABELMEQ.mjs.map +0 -7
  162. package/dist/lib/browser/meta.mjs +0 -9
  163. package/dist/lib/browser/meta.mjs.map +0 -7
  164. package/dist/lib/node/SheetContainer-TP4GYXZB.cjs +0 -296
  165. package/dist/lib/node/SheetContainer-TP4GYXZB.cjs.map +0 -7
  166. package/dist/lib/node/chunk-2ZVZI2KJ.cjs.map +0 -7
  167. package/dist/lib/node/chunk-FDEQ2PGJ.cjs.map +0 -7
  168. package/dist/lib/node/chunk-TQOJ7DG2.cjs.map +0 -7
  169. package/dist/lib/node/meta.cjs.map +0 -7
  170. package/dist/lib/node-esm/SheetContainer-YB3JBVPZ.mjs +0 -291
  171. package/dist/lib/node-esm/SheetContainer-YB3JBVPZ.mjs.map +0 -7
  172. package/dist/lib/node-esm/chunk-BM2Q3FFC.mjs +0 -17
  173. package/dist/lib/node-esm/chunk-BM2Q3FFC.mjs.map +0 -7
  174. package/dist/lib/node-esm/chunk-L5PQHVTX.mjs.map +0 -7
  175. package/dist/lib/node-esm/chunk-NYYIDVR7.mjs.map +0 -7
  176. package/dist/lib/node-esm/meta.mjs +0 -10
  177. package/dist/lib/node-esm/meta.mjs.map +0 -7
  178. package/dist/types/src/components/SheetObjectSettings.d.ts +0 -7
  179. package/dist/types/src/components/SheetObjectSettings.d.ts.map +0 -1
  180. package/dist/types/src/components/Toolbar/Toolbar.d.ts +0 -48
  181. package/dist/types/src/components/Toolbar/Toolbar.d.ts.map +0 -1
  182. package/dist/types/src/components/Toolbar/Toolbar.stories.d.ts +0 -7
  183. package/dist/types/src/components/Toolbar/Toolbar.stories.d.ts.map +0 -1
  184. package/dist/types/src/components/Toolbar/index.d.ts +0 -2
  185. package/dist/types/src/components/Toolbar/index.d.ts.map +0 -1
  186. package/src/components/SheetObjectSettings.tsx +0 -38
  187. package/src/components/Toolbar/Toolbar.tsx +0 -344
@@ -26,71 +26,54 @@ 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_K4VMHOR2_exports = {};
30
+ __export(chunk_K4VMHOR2_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_K4VMHOR2_exports);
41
+ var import_chunk_P4KSGZSS = require("./chunk-P4KSGZSS.cjs");
42
+ var import_chunk_6BZ2TACG = require("./chunk-6BZ2TACG.cjs");
43
+ var import_chunk_AUC5XQEN = require("./chunk-AUC5XQEN.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");
70
+ var import_echo_schema2 = require("@dxos/echo-schema");
82
71
  var import_types = require("@dxos/plugin-thread/types");
83
- var import_echo3 = require("@dxos/react-client/echo");
84
- var import_react6 = require("react");
72
+ var import_echo2 = require("@dxos/react-client/echo");
85
73
  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");
74
+ var import_invariant = require("@dxos/invariant");
75
+ var import_echo3 = require("@dxos/react-client/echo");
76
+ var import_react_ui_grid3 = require("@dxos/react-ui-grid");
94
77
  var ComputeGraphContext = /* @__PURE__ */ (0, import_react.createContext)(void 0);
95
78
  var ComputeGraphContextProvider = ({ registry, children }) => {
96
79
  return /* @__PURE__ */ import_react.default.createElement(ComputeGraphContext.Provider, {
@@ -113,328 +96,38 @@ var useComputeGraph = (space) => {
113
96
  ]);
114
97
  return graph;
115
98
  };
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
99
  var RangeList = ({ sheet }) => {
391
- const { t } = (0, import_react_ui2.useTranslation)(import_chunk_2ZVZI2KJ.SHEET_PLUGIN);
100
+ const { t } = (0, import_react_ui.useTranslation)(import_chunk_AUC5XQEN.SHEET_PLUGIN);
392
101
  const handleSelectRange = (range) => {
393
102
  };
394
- const handleDeleteRange = (0, import_react7.useCallback)((range) => {
103
+ const handleDeleteRange = (0, import_react2.useCallback)((range) => {
395
104
  const index = sheet.ranges.findIndex((sheetRange) => sheetRange === range);
396
105
  sheet.ranges.splice(index, 1);
397
106
  }, [
398
107
  sheet
399
108
  ]);
400
- return /* @__PURE__ */ import_react7.default.createElement(import_react7.default.Fragment, null, /* @__PURE__ */ import_react7.default.createElement("h2", {
109
+ return /* @__PURE__ */ import_react2.default.createElement(import_react2.default.Fragment, null, /* @__PURE__ */ import_react2.default.createElement("h2", {
401
110
  className: "p-2 text-sm font-semibold"
402
- }, t("range list heading")), /* @__PURE__ */ import_react7.default.createElement(import_react_ui_list.List.Root, {
111
+ }, t("range list heading")), /* @__PURE__ */ import_react2.default.createElement(import_react_ui_list.List.Root, {
403
112
  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, {
113
+ isItem: import_echo_schema.S.is(import_chunk_6BZ2TACG.Range)
114
+ }, ({ items: ranges }) => ranges.map((range, i) => /* @__PURE__ */ import_react2.default.createElement(import_react_ui_list.List.Item, {
406
115
  key: i,
407
116
  item: range,
408
117
  classNames: [
409
118
  "p-2",
410
- import_react_ui_theme3.ghostHover
119
+ import_react_ui_theme.ghostHover
411
120
  ]
412
- }, /* @__PURE__ */ import_react7.default.createElement(import_react_ui_list.List.ItemDragHandle, null), /* @__PURE__ */ import_react7.default.createElement(import_react_ui_list.List.ItemTitle, {
121
+ }, /* @__PURE__ */ import_react2.default.createElement(import_react_ui_list.List.ItemDragHandle, null), /* @__PURE__ */ import_react2.default.createElement(import_react_ui_list.List.ItemTitle, {
413
122
  onClick: () => handleSelectRange(range)
414
123
  }, t("range title", {
415
- position: (0, import_compute6.rangeToA1Notation)((0, import_chunk_TQOJ7DG2.rangeFromIndex)(sheet, range.range)),
124
+ position: (0, import_compute.rangeToA1Notation)((0, import_chunk_6BZ2TACG.rangeFromIndex)(sheet, range.range)),
416
125
  key: t(`range key ${range.key} label`),
417
126
  value: t(`range value ${range.value} label`)
418
- })), /* @__PURE__ */ import_react7.default.createElement(import_react_ui_list.List.ItemDeleteButton, {
127
+ })), /* @__PURE__ */ import_react2.default.createElement(import_react_ui_list.List.ItemDeleteButton, {
419
128
  onClick: () => handleDeleteRange(range)
420
129
  })))));
421
130
  };
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
131
  var completeCellRangeToThreadCursor = (range) => {
439
132
  return `${range.from.col},${range.from.row},${range.to.col},${range.to.row}`;
440
133
  };
@@ -458,56 +151,63 @@ var parseThreadAnchorAsCellRange = (cursor) => {
458
151
  };
459
152
  var useUpdateFocusedCellOnThreadSelection = (grid) => {
460
153
  const { model, setActiveRefs } = useSheetContext();
461
- const scrollIntoViewResolver = (0, import_react5.useMemo)(() => (0, import_app_framework2.createResolver)(import_app_framework2.LayoutAction.ScrollIntoView, ({ cursor, ref }) => {
462
- setActiveRefs(ref);
463
- const range = parseThreadAnchorAsCellRange(cursor);
464
- range && grid?.setFocus({
465
- ...range.to,
466
- plane: "grid"
467
- }, true);
468
- }, {
469
- disposition: "hoist",
470
- filter: (data) => data.id === (0, import_echo3.fullyQualifiedId)(model.sheet) && !!data.cursor
154
+ const scrollIntoViewResolver = (0, import_react6.useMemo)(() => (0, import_app_framework2.createResolver)({
155
+ intent: import_app_framework2.LayoutAction.ScrollIntoView,
156
+ position: "hoist",
157
+ filter: (data) => {
158
+ if (!import_echo_schema2.S.is(import_app_framework2.LayoutAction.ScrollIntoView.fields.input)(data)) {
159
+ return false;
160
+ }
161
+ return data.subject === (0, import_echo2.fullyQualifiedId)(model.sheet) && !!data.options?.cursor;
162
+ },
163
+ resolve: ({ options: { cursor, ref } }) => {
164
+ setActiveRefs(ref);
165
+ const range = parseThreadAnchorAsCellRange(cursor);
166
+ range && grid?.setFocus({
167
+ ...range.to,
168
+ plane: "grid"
169
+ }, true);
170
+ }
471
171
  }), [
472
172
  model.sheet,
473
173
  setActiveRefs
474
174
  ]);
475
- (0, import_app_framework2.useIntentResolver)(import_chunk_2ZVZI2KJ.SHEET_PLUGIN, scrollIntoViewResolver);
175
+ (0, import_app_framework2.useIntentResolver)(import_chunk_AUC5XQEN.SHEET_PLUGIN, scrollIntoViewResolver);
476
176
  };
477
177
  var useSelectThreadOnCellFocus = () => {
478
178
  const { model, cursor } = useSheetContext();
479
179
  const { dispatchPromise: dispatch } = (0, import_app_framework2.useIntentDispatcher)();
480
- const threads = (0, import_react5.useMemo)(() => model.sheet.threads?.filter((thread) => !!thread) ?? [], [
180
+ const threads = (0, import_react6.useMemo)(() => model.sheet.threads?.filter((thread) => !!thread) ?? [], [
481
181
  // TODO(thure): Surely we can find a better dependency for this…
482
182
  JSON.stringify(model.sheet.threads)
483
183
  ]);
484
- const selectClosestThread = (0, import_react5.useCallback)((cellAddress) => {
184
+ const selectClosestThread = (0, import_react6.useCallback)((cellAddress) => {
485
185
  if (!cellAddress || !threads) {
486
186
  return;
487
187
  }
488
188
  const closestThread = threads?.find((ref) => {
489
189
  if (ref.target?.anchor) {
490
190
  const range = parseThreadAnchorAsCellRange(ref.target.anchor);
491
- return range ? (0, import_compute5.inRange)(range, cellAddress) : false;
191
+ return range ? (0, import_compute4.inRange)(range, cellAddress) : false;
492
192
  } else {
493
193
  return false;
494
194
  }
495
195
  });
496
196
  if (closestThread) {
497
197
  void dispatch((0, import_app_framework2.createIntent)(import_types.ThreadAction.Select, {
498
- current: (0, import_echo3.fullyQualifiedId)(closestThread)
198
+ current: (0, import_echo2.fullyQualifiedId)(closestThread)
499
199
  }));
500
200
  }
501
201
  }, [
502
202
  dispatch,
503
203
  threads
504
204
  ]);
505
- const debounced = (0, import_react5.useMemo)(() => {
506
- return (0, import_async2.debounce)((cellCoords) => requestAnimationFrame(() => selectClosestThread(cellCoords)), 50);
205
+ const debounced = (0, import_react6.useMemo)(() => {
206
+ return (0, import_async.debounce)((cellCoords) => requestAnimationFrame(() => selectClosestThread(cellCoords)), 50);
507
207
  }, [
508
208
  selectClosestThread
509
209
  ]);
510
- (0, import_react5.useEffect)(() => {
210
+ (0, import_react6.useEffect)(() => {
511
211
  if (!cursor) {
512
212
  return;
513
213
  }
@@ -549,15 +249,15 @@ var projectCellProps = (model, col, row) => {
549
249
  row
550
250
  };
551
251
  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));
252
+ const ranges = model.sheet.ranges?.filter(({ range }) => (0, import_compute3.inRange)((0, import_chunk_6BZ2TACG.rangeFromIndex)(model.sheet, range), address));
553
253
  const threadRefs = model.sheet.threads?.filter((thread) => {
554
254
  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(" ");
255
+ return thread && range ? (0, import_compute3.inRange)(range, address) : false;
256
+ }).map((thread) => (0, import_echo.fullyQualifiedId)(thread)).join(" ");
557
257
  const description = model.getValueDescription(address);
558
258
  const type = description?.type;
559
259
  const format = description?.format;
560
- const classNames = ranges?.map(import_chunk_TQOJ7DG2.cellClassNameForRange).reverse();
260
+ const classNames = ranges?.map(import_chunk_6BZ2TACG.cellClassNameForRange).reverse();
561
261
  return {
562
262
  value: (0, import_react_ui_form.parseValue)({
563
263
  type,
@@ -567,7 +267,7 @@ var projectCellProps = (model, col, row) => {
567
267
  className: (0, import_react_ui_theme2.mx)((0, import_react_ui_form.cellClassesForFieldType)({
568
268
  type,
569
269
  format
570
- }), threadRefs && import_react_ui_grid3.commentedClassName, classNames),
270
+ }), threadRefs && import_react_ui_grid2.commentedClassName, classNames),
571
271
  dataRefs: threadRefs
572
272
  };
573
273
  };
@@ -589,12 +289,12 @@ var gridCellGetter = (model) => {
589
289
  };
590
290
  };
591
291
  var rowLabelCell = (row) => ({
592
- value: (0, import_react_ui_grid3.rowToA1Notation)(row),
593
- className: "text-end !pie-1 text-subdued",
292
+ value: (0, import_react_ui_grid2.rowToA1Notation)(row),
293
+ className: "text-end pie-1 text-subdued",
594
294
  resizeHandle: "row"
595
295
  });
596
296
  var colLabelCell = (col) => ({
597
- value: (0, import_react_ui_grid3.colToA1Notation)(col),
297
+ value: (0, import_react_ui_grid2.colToA1Notation)(col),
598
298
  className: "text-subdued",
599
299
  resizeHandle: "col"
600
300
  });
@@ -626,10 +326,10 @@ var cellGetter = (model) => {
626
326
  };
627
327
  };
628
328
  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, [
329
+ const [columns, setColumns] = (0, import_react5.useState)(createDxGridColumns(model));
330
+ const [rows, setRows] = (0, import_react5.useState)(createDxGridRows(model));
331
+ (0, import_react5.useEffect)(() => {
332
+ const cellsAccessor = (0, import_echo.createDocAccessor)(model.sheet, [
633
333
  "cells"
634
334
  ]);
635
335
  if (dxGrid) {
@@ -648,11 +348,11 @@ var useSheetModelDxGridProps = (dxGrid, model) => {
648
348
  model,
649
349
  dxGrid
650
350
  ]);
651
- (0, import_react4.useEffect)(() => {
652
- const columnMetaAccessor = (0, import_echo2.createDocAccessor)(model.sheet, [
351
+ (0, import_react5.useEffect)(() => {
352
+ const columnMetaAccessor = (0, import_echo.createDocAccessor)(model.sheet, [
653
353
  "columnMeta"
654
354
  ]);
655
- const rowMetaAccessor = (0, import_echo2.createDocAccessor)(model.sheet, [
355
+ const rowMetaAccessor = (0, import_echo.createDocAccessor)(model.sheet, [
656
356
  "rowMeta"
657
357
  ]);
658
358
  const handleColumnMetaUpdate = () => {
@@ -676,6 +376,76 @@ var useSheetModelDxGridProps = (dxGrid, model) => {
676
376
  rows
677
377
  };
678
378
  };
379
+ var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-sheet/src/components/SheetContext/SheetContext.tsx";
380
+ var SheetContext = /* @__PURE__ */ (0, import_react7.createContext)(void 0);
381
+ var useSheetContext = () => {
382
+ const context = (0, import_react7.useContext)(SheetContext);
383
+ (0, import_invariant.invariant)(context, void 0, {
384
+ F: __dxlog_file,
385
+ L: 54,
386
+ S: void 0,
387
+ A: [
388
+ "context",
389
+ ""
390
+ ]
391
+ });
392
+ return context;
393
+ };
394
+ var SheetProviderImpl = ({ model, onInfo, ignoreAttention, children, __gridScope }) => {
395
+ const { id, editing, setEditing } = (0, import_react_ui_grid3.useGridContext)("SheetProvider", __gridScope);
396
+ const [cursor, setCursorInternal] = (0, import_react7.useState)();
397
+ const [range, setRangeInternal] = (0, import_react7.useState)();
398
+ const [cursorFallbackRange, setCursorFallbackRange] = (0, import_react7.useState)();
399
+ const [activeRefs, setActiveRefs] = (0, import_react7.useState)("");
400
+ const setCursor = (0, import_react7.useCallback)((nextCursor) => {
401
+ setCursorInternal(nextCursor);
402
+ setCursorFallbackRange(range?.to ? range : nextCursor ? {
403
+ from: nextCursor,
404
+ to: nextCursor
405
+ } : void 0);
406
+ }, [
407
+ range
408
+ ]);
409
+ const setRange = (0, import_react7.useCallback)((nextRange) => {
410
+ setRangeInternal(nextRange);
411
+ setCursorFallbackRange(nextRange?.to ? nextRange : cursor ? {
412
+ from: cursor,
413
+ to: cursor
414
+ } : void 0);
415
+ }, [
416
+ cursor
417
+ ]);
418
+ return /* @__PURE__ */ import_react7.default.createElement(SheetContext.Provider, {
419
+ value: {
420
+ id,
421
+ model,
422
+ editing,
423
+ setEditing,
424
+ cursor,
425
+ setCursor,
426
+ range,
427
+ setRange,
428
+ cursorFallbackRange,
429
+ activeRefs,
430
+ setActiveRefs,
431
+ // TODO(burdon): Change to event.
432
+ onInfo,
433
+ ignoreAttention
434
+ }
435
+ }, children);
436
+ };
437
+ var SheetProvider = ({ children, graph, sheet, readonly, ignoreAttention, onInfo }) => {
438
+ const model = (0, import_chunk_6BZ2TACG.useSheetModel)(graph, sheet, {
439
+ readonly
440
+ });
441
+ return !model ? null : /* @__PURE__ */ import_react7.default.createElement(import_react_ui_grid3.Grid.Root, {
442
+ id: (0, import_echo3.fullyQualifiedId)(sheet)
443
+ }, /* @__PURE__ */ import_react7.default.createElement(SheetProviderImpl, {
444
+ model,
445
+ onInfo,
446
+ ignoreAttention
447
+ }, children));
448
+ };
679
449
  var inertPosition = {
680
450
  plane: "grid",
681
451
  col: 0,
@@ -702,11 +472,11 @@ var frozen = {
702
472
  };
703
473
  var sheetRowDefault = {
704
474
  frozenRowsStart: {
705
- size: import_react_ui_grid2.defaultSizeRow,
475
+ size: import_react_ui_grid.defaultSizeRow,
706
476
  readonly: true
707
477
  },
708
478
  grid: {
709
- size: import_react_ui_grid2.defaultSizeRow,
479
+ size: import_react_ui_grid.defaultSizeRow,
710
480
  resizeable: true
711
481
  }
712
482
  };
@@ -721,16 +491,16 @@ var sheetColDefault = {
721
491
  }
722
492
  };
723
493
  var GridSheet = () => {
724
- const { t } = (0, import_react_ui.useTranslation)(import_chunk_2ZVZI2KJ.SHEET_PLUGIN);
494
+ const { t } = (0, import_react_ui2.useTranslation)(import_chunk_AUC5XQEN.SHEET_PLUGIN);
725
495
  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);
496
+ const [dxGrid, setDxGrid] = (0, import_react4.useState)(null);
497
+ const [extraplanarFocus, setExtraplanarFocus] = (0, import_react4.useState)(null);
728
498
  const { dispatchPromise: dispatch } = (0, import_app_framework.useIntentDispatcher)();
729
- const rangeController = (0, import_react3.useRef)();
499
+ const rangeController = (0, import_react4.useRef)();
730
500
  const { hasAttention } = (0, import_react_ui_attention.useAttention)(id);
731
- const handleFocus = (0, import_react3.useCallback)((event) => {
501
+ const handleFocus = (0, import_react4.useCallback)((event) => {
732
502
  if (!editing) {
733
- const cell = (0, import_react_ui_grid2.closestCell)(event.target);
503
+ const cell = (0, import_react_ui_grid.closestCell)(event.target);
734
504
  if (cell) {
735
505
  if (cell.plane === "grid") {
736
506
  setCursor({
@@ -748,7 +518,7 @@ var GridSheet = () => {
748
518
  }, [
749
519
  editing
750
520
  ]);
751
- const handleClose = (0, import_react3.useCallback)((_value, event) => {
521
+ const handleClose = (0, import_react4.useCallback)((_value, event) => {
752
522
  if (event) {
753
523
  const { key, shift } = event;
754
524
  const axis = [
@@ -771,15 +541,15 @@ var GridSheet = () => {
771
541
  editing,
772
542
  dxGrid
773
543
  ]);
774
- const handleBlur = (0, import_react3.useCallback)((value) => {
544
+ const handleBlur = (0, import_react4.useCallback)((value) => {
775
545
  if (value !== void 0) {
776
- model.setValue((0, import_react_ui_grid2.parseCellIndex)(editing.index), value);
546
+ model.setValue((0, import_react_ui_grid.parseCellIndex)(editing.index), value);
777
547
  }
778
548
  }, [
779
549
  model,
780
550
  editing
781
551
  ]);
782
- const handleAxisResize = (0, import_react3.useCallback)(({ axis, size, index: numericIndex }) => {
552
+ const handleAxisResize = (0, import_react4.useCallback)(({ axis, size, index: numericIndex }) => {
783
553
  if (axis === "row") {
784
554
  const rowId = model.sheet.rows[parseInt(numericIndex)];
785
555
  model.sheet.rowMeta[rowId] ??= {};
@@ -792,7 +562,7 @@ var GridSheet = () => {
792
562
  }, [
793
563
  model
794
564
  ]);
795
- const handleSelect = (0, import_react3.useCallback)(({ minCol, maxCol, minRow, maxRow }) => {
565
+ const handleSelect = (0, import_react4.useCallback)(({ minCol, maxCol, minRow, maxRow }) => {
796
566
  const range = {
797
567
  from: {
798
568
  col: minCol,
@@ -806,14 +576,14 @@ var GridSheet = () => {
806
576
  };
807
577
  }
808
578
  if (editing) {
809
- rangeController.current?.setRange((0, import_compute3.rangeToA1Notation)(range));
579
+ rangeController.current?.setRange((0, import_compute2.rangeToA1Notation)(range));
810
580
  } else {
811
581
  setRange(range.to ? range : void 0);
812
582
  }
813
583
  }, [
814
584
  editing
815
585
  ]);
816
- const handleWheel = (0, import_react3.useCallback)((event) => {
586
+ const handleWheel = (0, import_react4.useCallback)((event) => {
817
587
  if (!ignoreAttention && !hasAttention) {
818
588
  event.stopPropagation();
819
589
  }
@@ -821,7 +591,7 @@ var GridSheet = () => {
821
591
  hasAttention,
822
592
  ignoreAttention
823
593
  ]);
824
- const selectEntireAxis = (0, import_react3.useCallback)((pos) => {
594
+ const selectEntireAxis = (0, import_react4.useCallback)((pos) => {
825
595
  switch (pos.plane) {
826
596
  case "frozenRowsStart":
827
597
  return dxGrid?.setSelection({
@@ -854,15 +624,15 @@ var GridSheet = () => {
854
624
  dxGrid,
855
625
  model.sheet
856
626
  ]);
857
- const handleClick = (0, import_react3.useCallback)((event) => {
858
- const cell = (0, import_react_ui_grid2.closestCell)(event.target);
627
+ const handleClick = (0, import_react4.useCallback)((event) => {
628
+ const cell = (0, import_react_ui_grid.closestCell)(event.target);
859
629
  if (cell) {
860
630
  selectEntireAxis(cell);
861
631
  }
862
632
  }, [
863
633
  selectEntireAxis
864
634
  ]);
865
- const handleKeyDown = (0, import_react3.useCallback)((event) => {
635
+ const handleKeyDown = (0, import_react4.useCallback)((event) => {
866
636
  switch (event.key) {
867
637
  case "Backspace":
868
638
  case "Delete":
@@ -909,28 +679,28 @@ var GridSheet = () => {
909
679
  extraplanarFocus,
910
680
  selectEntireAxis
911
681
  ]);
912
- const contextMenuAnchorRef = (0, import_react3.useRef)(null);
913
- const [contextMenuOpen, setContextMenuOpen] = (0, import_react3.useState)(null);
682
+ const contextMenuAnchorRef = (0, import_react4.useRef)(null);
683
+ const [contextMenuOpen, setContextMenuOpen] = (0, import_react4.useState)(null);
914
684
  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);
685
+ const handleContextMenu = (0, import_react4.useCallback)((event) => {
686
+ const cell = (0, import_react_ui_grid.closestCell)(event.target);
917
687
  if (cell && cell.plane.startsWith("frozen")) {
918
688
  event.preventDefault();
919
689
  contextMenuAnchorRef.current = event.target;
920
690
  setContextMenuOpen(cell);
921
691
  }
922
692
  }, []);
923
- const handleAxisMenuAction = (0, import_react3.useCallback)((operation) => {
693
+ const handleAxisMenuAction = (0, import_react4.useCallback)((operation) => {
924
694
  switch (operation) {
925
695
  case "insert-before":
926
696
  case "insert-after":
927
- return dispatch((0, import_app_framework.createIntent)(import_chunk_TQOJ7DG2.SheetAction.InsertAxis, {
697
+ return dispatch((0, import_app_framework.createIntent)(import_chunk_6BZ2TACG.SheetAction.InsertAxis, {
928
698
  model,
929
699
  axis: contextMenuAxis,
930
700
  index: contextMenuOpen[contextMenuAxis] + (operation === "insert-before" ? 0 : 1)
931
701
  }));
932
702
  case "drop":
933
- return dispatch((0, import_app_framework.createIntent)(import_chunk_TQOJ7DG2.SheetAction.DropAxis, {
703
+ return dispatch((0, import_app_framework.createIntent)(import_chunk_6BZ2TACG.SheetAction.DropAxis, {
934
704
  model,
935
705
  axis: contextMenuAxis,
936
706
  axisIndex: model.sheet[contextMenuAxis === "row" ? "rows" : "columns"][contextMenuOpen[contextMenuAxis]]
@@ -943,17 +713,17 @@ var GridSheet = () => {
943
713
  dispatch
944
714
  ]);
945
715
  const { columns, rows } = useSheetModelDxGridProps(dxGrid, model);
946
- const extension = (0, import_react3.useMemo)(() => [
947
- (0, import_react_ui_grid2.editorKeys)({
716
+ const extension = (0, import_react4.useMemo)(() => [
717
+ (0, import_react_ui_grid.editorKeys)({
948
718
  onClose: handleClose,
949
719
  ...editing?.initialContent && {
950
720
  onNav: handleClose
951
721
  }
952
722
  }),
953
- sheetExtension({
723
+ (0, import_chunk_P4KSGZSS.sheetExtension)({
954
724
  functions: model.graph.getFunctions()
955
725
  }),
956
- rangeExtension({
726
+ (0, import_chunk_P4KSGZSS.rangeExtension)({
957
727
  onInit: (fn) => rangeController.current = fn,
958
728
  onStateChange: (state) => {
959
729
  if (dxGrid) {
@@ -966,24 +736,24 @@ var GridSheet = () => {
966
736
  handleClose,
967
737
  editing
968
738
  ]);
969
- const getCellContent = (0, import_react3.useCallback)((index) => {
970
- return model.getCellText((0, import_react_ui_grid2.parseCellIndex)(index));
739
+ const getCellContent = (0, import_react4.useCallback)((index) => {
740
+ return model.getCellText((0, import_react_ui_grid.parseCellIndex)(index));
971
741
  }, [
972
742
  model
973
743
  ]);
974
744
  useUpdateFocusedCellOnThreadSelection(dxGrid);
975
745
  useSelectThreadOnCellFocus();
976
- return /* @__PURE__ */ import_react3.default.createElement("div", {
746
+ return /* @__PURE__ */ import_react4.default.createElement("div", {
977
747
  role: "none",
978
748
  className: "relative min-bs-0"
979
- }, /* @__PURE__ */ import_react3.default.createElement(import_react_ui_grid2.GridCellEditor, {
749
+ }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui_grid.GridCellEditor, {
980
750
  getCellContent,
981
751
  extension,
982
752
  onBlur: handleBlur
983
- }), /* @__PURE__ */ import_react3.default.createElement(import_react_ui_grid2.Grid.Content, {
753
+ }), /* @__PURE__ */ import_react4.default.createElement(import_react_ui_grid.Grid.Content, {
984
754
  initialCells,
985
- limitColumns: import_chunk_TQOJ7DG2.DEFAULT_COLS,
986
- limitRows: import_chunk_TQOJ7DG2.DEFAULT_ROWS,
755
+ limitColumns: import_chunk_6BZ2TACG.DEFAULT_COLS,
756
+ limitRows: import_chunk_6BZ2TACG.DEFAULT_ROWS,
987
757
  columns,
988
758
  rows,
989
759
  onAxisResize: handleAxisResize,
@@ -1000,46 +770,46 @@ var GridSheet = () => {
1000
770
  className: "[--dx-grid-base:var(--surface-bg)] [&_.dx-grid]:border-bs [&_.dx-grid]:absolute [&_.dx-grid]:inset-0 [&_.dx-grid]:border-separator",
1001
771
  activeRefs,
1002
772
  ref: setDxGrid
1003
- }), /* @__PURE__ */ import_react3.default.createElement(import_react_ui.DropdownMenu.Root, {
773
+ }), /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.DropdownMenu.Root, {
1004
774
  modal: false,
1005
775
  open: !!contextMenuOpen,
1006
776
  onOpenChange: (nextOpen) => setContextMenuOpen(nextOpen ? inertPosition : null)
1007
- }, /* @__PURE__ */ import_react3.default.createElement(import_react_ui.DropdownMenu.VirtualTrigger, {
777
+ }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.DropdownMenu.VirtualTrigger, {
1008
778
  virtualRef: contextMenuAnchorRef
1009
- }), /* @__PURE__ */ import_react3.default.createElement(import_react_ui.DropdownMenu.Content, {
779
+ }), /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.DropdownMenu.Content, {
1010
780
  side: contextMenuAxis === "col" ? "bottom" : "right",
1011
781
  sideOffset: 4,
1012
782
  collisionPadding: 8
1013
- }, /* @__PURE__ */ import_react3.default.createElement(import_react_ui.DropdownMenu.Viewport, null, /* @__PURE__ */ import_react3.default.createElement(import_react_ui.DropdownMenu.Item, {
783
+ }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.DropdownMenu.Viewport, null, /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.DropdownMenu.Item, {
1014
784
  onClick: () => handleAxisMenuAction("insert-before"),
1015
785
  "data-testid": `grid.${contextMenuAxis}.insert-before`
1016
- }, /* @__PURE__ */ import_react3.default.createElement(import_react_ui.Icon, {
786
+ }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.Icon, {
1017
787
  size: 5,
1018
788
  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, {
789
+ }), /* @__PURE__ */ import_react4.default.createElement("span", null, t(`add ${contextMenuAxis} before label`))), /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.DropdownMenu.Item, {
1020
790
  onClick: () => handleAxisMenuAction("insert-after"),
1021
791
  "data-testid": `grid.${contextMenuAxis}.insert-after`
1022
- }, /* @__PURE__ */ import_react3.default.createElement(import_react_ui.Icon, {
792
+ }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.Icon, {
1023
793
  size: 5,
1024
794
  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, {
795
+ }), /* @__PURE__ */ import_react4.default.createElement("span", null, t(`add ${contextMenuAxis} after label`))), /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.DropdownMenu.Item, {
1026
796
  onClick: () => handleAxisMenuAction("drop"),
1027
797
  "data-testid": `grid.${contextMenuAxis}.drop`
1028
- }, /* @__PURE__ */ import_react3.default.createElement(import_react_ui.Icon, {
798
+ }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.Icon, {
1029
799
  size: 5,
1030
800
  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))));
801
+ }), /* @__PURE__ */ import_react4.default.createElement("span", null, t(`delete ${contextMenuAxis} label`)))), /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.DropdownMenu.Arrow, null))));
1032
802
  };
803
+ var SheetContainer = (0, import_react3.lazy)(() => import("./SheetContainer-63QTAGQQ.cjs"));
1033
804
  // Annotate the CommonJS export names for ESM import in node:
1034
805
  0 && (module.exports = {
1035
806
  ComputeGraphContextProvider,
1036
807
  GridSheet,
808
+ RangeList,
1037
809
  SheetContainer,
1038
- SheetObjectSettings,
1039
810
  SheetProvider,
1040
811
  completeCellRangeToThreadCursor,
1041
- computeGraphFacet,
1042
812
  useComputeGraph,
1043
813
  useSheetContext
1044
814
  });
1045
- //# sourceMappingURL=chunk-FDEQ2PGJ.cjs.map
815
+ //# sourceMappingURL=chunk-K4VMHOR2.cjs.map