@dxos/plugin-sheet 0.6.14-main.7bd9c89 → 0.6.14-staging.3e2eaca

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 (232) hide show
  1. package/dist/lib/browser/{SheetContainer-AKWROARP.mjs → SheetContainer-P3NF5KEI.mjs} +90 -88
  2. package/dist/lib/browser/SheetContainer-P3NF5KEI.mjs.map +7 -0
  3. package/dist/lib/browser/{chunk-FGMFOW6U.mjs → chunk-4LKIURJA.mjs} +917 -817
  4. package/dist/lib/browser/chunk-4LKIURJA.mjs.map +7 -0
  5. package/dist/lib/browser/{chunk-BWN5DZWZ.mjs → chunk-BVUN7SHF.mjs} +6 -13
  6. package/dist/lib/browser/chunk-BVUN7SHF.mjs.map +7 -0
  7. package/dist/lib/browser/{chunk-D3QTX46O.mjs → chunk-RABELMEQ.mjs} +3 -2
  8. package/dist/lib/browser/{chunk-D3QTX46O.mjs.map → chunk-RABELMEQ.mjs.map} +3 -3
  9. package/dist/lib/browser/{chunk-GSV5QNLD.mjs → chunk-VMSX6Z4X.mjs} +297 -44
  10. package/dist/lib/browser/chunk-VMSX6Z4X.mjs.map +7 -0
  11. package/dist/lib/browser/{graph-M4IQ76QX.mjs → compute-graph-GGWUX644.mjs} +4 -2
  12. package/dist/lib/browser/index.mjs +91 -21
  13. package/dist/lib/browser/index.mjs.map +4 -4
  14. package/dist/lib/browser/meta.json +1 -1
  15. package/dist/lib/browser/meta.mjs +1 -1
  16. package/dist/lib/browser/types.mjs +2 -2
  17. package/dist/lib/node/{SheetContainer-N5IQGEFL.cjs → SheetContainer-MPFKXY26.cjs} +88 -93
  18. package/dist/lib/node/SheetContainer-MPFKXY26.cjs.map +7 -0
  19. package/dist/lib/node/{chunk-QIFIGEKV.cjs → chunk-2ZVZI2KJ.cjs} +6 -5
  20. package/dist/lib/node/{chunk-QIFIGEKV.cjs.map → chunk-2ZVZI2KJ.cjs.map} +3 -3
  21. package/dist/lib/node/{chunk-NZARD7UP.cjs → chunk-AWKOWDMI.cjs} +10 -17
  22. package/dist/lib/node/chunk-AWKOWDMI.cjs.map +7 -0
  23. package/dist/lib/node/{chunk-5XPK2V4A.cjs → chunk-O7XR4R7Y.cjs} +306 -42
  24. package/dist/lib/node/chunk-O7XR4R7Y.cjs.map +7 -0
  25. package/dist/lib/node/{chunk-53BMSUIK.cjs → chunk-OO24XJBV.cjs} +853 -767
  26. package/dist/lib/node/chunk-OO24XJBV.cjs.map +7 -0
  27. package/dist/lib/node/{graph-Q3N2X26H.cjs → compute-graph-KGWA2QLE.cjs} +21 -19
  28. package/dist/lib/node/compute-graph-KGWA2QLE.cjs.map +7 -0
  29. package/dist/lib/node/index.cjs +109 -42
  30. package/dist/lib/node/index.cjs.map +4 -4
  31. package/dist/lib/node/meta.cjs +3 -3
  32. package/dist/lib/node/meta.cjs.map +1 -1
  33. package/dist/lib/node/meta.json +1 -1
  34. package/dist/lib/node/types.cjs +7 -7
  35. package/dist/lib/node/types.cjs.map +1 -1
  36. package/dist/lib/node-esm/{SheetContainer-46PBMF2E.mjs → SheetContainer-22IOAW3B.mjs} +90 -88
  37. package/dist/lib/node-esm/SheetContainer-22IOAW3B.mjs.map +7 -0
  38. package/dist/lib/node-esm/{chunk-VCYJWE3O.mjs → chunk-BM2Q3FFC.mjs} +3 -2
  39. package/dist/lib/node-esm/{chunk-VCYJWE3O.mjs.map → chunk-BM2Q3FFC.mjs.map} +3 -3
  40. package/dist/lib/node-esm/{chunk-T3PRH7QS.mjs → chunk-BW36PM2Y.mjs} +917 -817
  41. package/dist/lib/node-esm/chunk-BW36PM2Y.mjs.map +7 -0
  42. package/dist/lib/node-esm/{chunk-5WPZCXNS.mjs → chunk-CR4K75EL.mjs} +296 -44
  43. package/dist/lib/node-esm/chunk-CR4K75EL.mjs.map +7 -0
  44. package/dist/lib/node-esm/{chunk-WFDTY3IC.mjs → chunk-UIBWRHW7.mjs} +6 -13
  45. package/dist/lib/node-esm/chunk-UIBWRHW7.mjs.map +7 -0
  46. package/dist/lib/node-esm/{graph-SMPUMOV2.mjs → compute-graph-2SCZT7N5.mjs} +4 -2
  47. package/dist/lib/node-esm/index.mjs +91 -21
  48. package/dist/lib/node-esm/index.mjs.map +4 -4
  49. package/dist/lib/node-esm/meta.json +1 -1
  50. package/dist/lib/node-esm/meta.mjs +1 -1
  51. package/dist/lib/node-esm/types.mjs +2 -2
  52. package/dist/types/src/SheetPlugin.d.ts.map +1 -1
  53. package/dist/types/src/components/ComputeGraph/ComputeGraphContextProvider.d.ts +3 -1
  54. package/dist/types/src/components/ComputeGraph/ComputeGraphContextProvider.d.ts.map +1 -1
  55. package/dist/types/src/components/FunctionEditor/FunctionEditor.d.ts.map +1 -1
  56. package/dist/types/src/components/GridSheet/GridSheet.d.ts.map +1 -1
  57. package/dist/types/src/components/GridSheet/GridSheet.stories.d.ts.map +1 -1
  58. package/dist/types/src/components/GridSheet/util.d.ts +2 -2
  59. package/dist/types/src/components/GridSheet/util.d.ts.map +1 -1
  60. package/dist/types/src/components/RangeList/RangeList.d.ts +7 -0
  61. package/dist/types/src/components/RangeList/RangeList.d.ts.map +1 -0
  62. package/dist/types/src/components/RangeList/index.d.ts +2 -0
  63. package/dist/types/src/components/RangeList/index.d.ts.map +1 -0
  64. package/dist/types/src/components/SheetContainer/SheetContainer.d.ts +6 -3
  65. package/dist/types/src/components/SheetContainer/SheetContainer.d.ts.map +1 -1
  66. package/dist/types/src/components/SheetContainer/SheetContainer.stories.d.ts.map +1 -1
  67. package/dist/types/src/components/SheetContext/SheetContext.d.ts +7 -5
  68. package/dist/types/src/components/SheetContext/SheetContext.d.ts.map +1 -1
  69. package/dist/types/src/components/Toolbar/Toolbar.d.ts +6 -3
  70. package/dist/types/src/components/Toolbar/Toolbar.d.ts.map +1 -1
  71. package/dist/types/src/components/index.d.ts +5 -2
  72. package/dist/types/src/components/index.d.ts.map +1 -1
  73. package/dist/types/src/compute-graph/compute-graph-registry.d.ts.map +1 -0
  74. package/dist/types/src/{graph → compute-graph}/compute-graph.d.ts +3 -3
  75. package/dist/types/src/compute-graph/compute-graph.d.ts.map +1 -0
  76. package/dist/types/src/compute-graph/compute-graph.stories.d.ts.map +1 -0
  77. package/dist/types/src/compute-graph/compute-graph.test.d.ts.map +1 -0
  78. package/dist/types/src/compute-graph/compute-node.d.ts.map +1 -0
  79. package/dist/types/src/compute-graph/functions/async-function.d.ts.map +1 -0
  80. package/dist/types/src/compute-graph/functions/edge-function.d.ts.map +1 -0
  81. package/dist/types/src/compute-graph/functions/function-defs.d.ts.map +1 -0
  82. package/dist/types/src/compute-graph/functions/index.d.ts.map +1 -0
  83. package/dist/types/src/compute-graph/hyperformula.test.d.ts.map +1 -0
  84. package/dist/types/src/compute-graph/index.d.ts.map +1 -0
  85. package/dist/types/src/compute-graph/testing/index.d.ts.map +1 -0
  86. package/dist/types/src/compute-graph/testing/test-builder.d.ts.map +1 -0
  87. package/dist/types/src/compute-graph/testing/test-plugin.d.ts.map +1 -0
  88. package/dist/types/src/compute-graph/util.d.ts.map +1 -0
  89. package/dist/types/src/defs/index.d.ts +1 -1
  90. package/dist/types/src/defs/index.d.ts.map +1 -1
  91. package/dist/types/src/defs/sheet-range-types.d.ts +2 -2
  92. package/dist/types/src/defs/sheet-range-types.d.ts.map +1 -1
  93. package/dist/types/src/defs/types.d.ts +6 -0
  94. package/dist/types/src/defs/types.d.ts.map +1 -1
  95. package/dist/types/src/defs/util.d.ts +3 -7
  96. package/dist/types/src/defs/util.d.ts.map +1 -1
  97. package/dist/types/src/extensions/compute.d.ts +1 -1
  98. package/dist/types/src/extensions/compute.d.ts.map +1 -1
  99. package/dist/types/src/extensions/editor/extension.d.ts +23 -3
  100. package/dist/types/src/extensions/editor/extension.d.ts.map +1 -1
  101. package/dist/types/src/index.d.ts +1 -1
  102. package/dist/types/src/index.d.ts.map +1 -1
  103. package/dist/types/src/integrations/index.d.ts +2 -0
  104. package/dist/types/src/integrations/index.d.ts.map +1 -0
  105. package/dist/types/src/integrations/thread-ranges.d.ts +7 -0
  106. package/dist/types/src/integrations/thread-ranges.d.ts.map +1 -0
  107. package/dist/types/src/meta.d.ts +1 -0
  108. package/dist/types/src/meta.d.ts.map +1 -1
  109. package/dist/types/src/model/index.d.ts +1 -1
  110. package/dist/types/src/model/index.d.ts.map +1 -1
  111. package/dist/types/src/model/sheet-model.d.ts +13 -6
  112. package/dist/types/src/model/sheet-model.d.ts.map +1 -1
  113. package/dist/types/src/{hooks → model}/useSheetModel.d.ts +1 -1
  114. package/dist/types/src/model/useSheetModel.d.ts.map +1 -0
  115. package/dist/types/src/serializer.d.ts +4 -0
  116. package/dist/types/src/serializer.d.ts.map +1 -0
  117. package/dist/types/src/testing/testing.d.ts +1 -1
  118. package/dist/types/src/testing/testing.d.ts.map +1 -1
  119. package/dist/types/src/translations.d.ts +18 -3
  120. package/dist/types/src/translations.d.ts.map +1 -1
  121. package/dist/types/src/types.d.ts +37 -33
  122. package/dist/types/src/types.d.ts.map +1 -1
  123. package/package.json +44 -50
  124. package/src/SheetPlugin.tsx +45 -12
  125. package/src/components/ComputeGraph/ComputeGraphContextProvider.tsx +19 -2
  126. package/src/components/FunctionEditor/FunctionEditor.tsx +6 -10
  127. package/src/components/GridSheet/GridSheet.stories.tsx +3 -1
  128. package/src/components/GridSheet/GridSheet.tsx +196 -36
  129. package/src/components/GridSheet/SheetCellEditor.stories.tsx +1 -1
  130. package/src/components/GridSheet/util.ts +41 -21
  131. package/src/components/RangeList/RangeList.tsx +53 -0
  132. package/src/components/RangeList/index.ts +5 -0
  133. package/src/components/SheetContainer/SheetContainer.stories.tsx +5 -3
  134. package/src/components/SheetContainer/SheetContainer.tsx +19 -12
  135. package/src/components/SheetContext/SheetContext.tsx +43 -20
  136. package/src/components/Toolbar/Toolbar.tsx +98 -86
  137. package/src/components/index.ts +1 -0
  138. package/src/{graph → compute-graph}/compute-graph.stories.tsx +2 -1
  139. package/src/{graph → compute-graph}/compute-graph.ts +27 -9
  140. package/src/{graph → compute-graph}/compute-node.ts +2 -3
  141. package/src/{graph → compute-graph}/functions/async-function.ts +1 -0
  142. package/src/{graph → compute-graph}/functions/edge-function.ts +5 -3
  143. package/src/defs/index.ts +1 -1
  144. package/src/defs/sheet-range-types.ts +9 -6
  145. package/src/defs/types.ts +6 -1
  146. package/src/defs/util.ts +4 -19
  147. package/src/extensions/compute.stories.tsx +2 -2
  148. package/src/extensions/compute.ts +2 -2
  149. package/src/extensions/editor/extension.test.ts +1 -1
  150. package/src/extensions/editor/extension.ts +48 -23
  151. package/src/index.ts +2 -2
  152. package/src/integrations/index.ts +5 -0
  153. package/src/integrations/thread-ranges.ts +101 -0
  154. package/src/meta.ts +1 -0
  155. package/src/model/index.ts +1 -1
  156. package/src/model/sheet-model.test.ts +6 -4
  157. package/src/model/sheet-model.ts +103 -26
  158. package/src/{hooks → model}/useSheetModel.ts +1 -1
  159. package/src/serializer.ts +27 -0
  160. package/src/testing/testing.tsx +1 -1
  161. package/src/translations.ts +18 -3
  162. package/src/types.ts +24 -2
  163. package/dist/lib/browser/SheetContainer-AKWROARP.mjs.map +0 -7
  164. package/dist/lib/browser/chunk-BWN5DZWZ.mjs.map +0 -7
  165. package/dist/lib/browser/chunk-FGMFOW6U.mjs.map +0 -7
  166. package/dist/lib/browser/chunk-GSV5QNLD.mjs.map +0 -7
  167. package/dist/lib/node/SheetContainer-N5IQGEFL.cjs.map +0 -7
  168. package/dist/lib/node/chunk-53BMSUIK.cjs.map +0 -7
  169. package/dist/lib/node/chunk-5XPK2V4A.cjs.map +0 -7
  170. package/dist/lib/node/chunk-NZARD7UP.cjs.map +0 -7
  171. package/dist/lib/node/graph-Q3N2X26H.cjs.map +0 -7
  172. package/dist/lib/node-esm/SheetContainer-46PBMF2E.mjs.map +0 -7
  173. package/dist/lib/node-esm/chunk-5WPZCXNS.mjs.map +0 -7
  174. package/dist/lib/node-esm/chunk-T3PRH7QS.mjs.map +0 -7
  175. package/dist/lib/node-esm/chunk-WFDTY3IC.mjs.map +0 -7
  176. package/dist/types/src/graph/compute-graph-registry.d.ts.map +0 -1
  177. package/dist/types/src/graph/compute-graph.d.ts.map +0 -1
  178. package/dist/types/src/graph/compute-graph.stories.d.ts.map +0 -1
  179. package/dist/types/src/graph/compute-graph.test.d.ts.map +0 -1
  180. package/dist/types/src/graph/compute-node.d.ts.map +0 -1
  181. package/dist/types/src/graph/functions/async-function.d.ts.map +0 -1
  182. package/dist/types/src/graph/functions/edge-function.d.ts.map +0 -1
  183. package/dist/types/src/graph/functions/function-defs.d.ts.map +0 -1
  184. package/dist/types/src/graph/functions/index.d.ts.map +0 -1
  185. package/dist/types/src/graph/hyperformula.test.d.ts.map +0 -1
  186. package/dist/types/src/graph/index.d.ts.map +0 -1
  187. package/dist/types/src/graph/testing/index.d.ts.map +0 -1
  188. package/dist/types/src/graph/testing/test-builder.d.ts.map +0 -1
  189. package/dist/types/src/graph/testing/test-plugin.d.ts.map +0 -1
  190. package/dist/types/src/graph/util.d.ts.map +0 -1
  191. package/dist/types/src/hooks/hooks.stories.d.ts +0 -6
  192. package/dist/types/src/hooks/hooks.stories.d.ts.map +0 -1
  193. package/dist/types/src/hooks/index.d.ts +0 -4
  194. package/dist/types/src/hooks/index.d.ts.map +0 -1
  195. package/dist/types/src/hooks/threads.d.ts +0 -8
  196. package/dist/types/src/hooks/threads.d.ts.map +0 -1
  197. package/dist/types/src/hooks/useComputeGraph.d.ts +0 -7
  198. package/dist/types/src/hooks/useComputeGraph.d.ts.map +0 -1
  199. package/dist/types/src/hooks/useSheetModel.d.ts.map +0 -1
  200. package/dist/types/src/model/decorations.d.ts +0 -26
  201. package/dist/types/src/model/decorations.d.ts.map +0 -1
  202. package/src/hooks/hooks.stories.tsx +0 -53
  203. package/src/hooks/index.ts +0 -7
  204. package/src/hooks/threads.ts +0 -147
  205. package/src/hooks/useComputeGraph.ts +0 -28
  206. package/src/model/decorations.ts +0 -66
  207. /package/dist/lib/browser/{graph-M4IQ76QX.mjs.map → compute-graph-GGWUX644.mjs.map} +0 -0
  208. /package/dist/lib/node-esm/{graph-SMPUMOV2.mjs.map → compute-graph-2SCZT7N5.mjs.map} +0 -0
  209. /package/dist/types/src/{graph → compute-graph}/compute-graph-registry.d.ts +0 -0
  210. /package/dist/types/src/{graph → compute-graph}/compute-graph.stories.d.ts +0 -0
  211. /package/dist/types/src/{graph → compute-graph}/compute-graph.test.d.ts +0 -0
  212. /package/dist/types/src/{graph → compute-graph}/compute-node.d.ts +0 -0
  213. /package/dist/types/src/{graph → compute-graph}/functions/async-function.d.ts +0 -0
  214. /package/dist/types/src/{graph → compute-graph}/functions/edge-function.d.ts +0 -0
  215. /package/dist/types/src/{graph → compute-graph}/functions/function-defs.d.ts +0 -0
  216. /package/dist/types/src/{graph → compute-graph}/functions/index.d.ts +0 -0
  217. /package/dist/types/src/{graph → compute-graph}/hyperformula.test.d.ts +0 -0
  218. /package/dist/types/src/{graph → compute-graph}/index.d.ts +0 -0
  219. /package/dist/types/src/{graph → compute-graph}/testing/index.d.ts +0 -0
  220. /package/dist/types/src/{graph → compute-graph}/testing/test-builder.d.ts +0 -0
  221. /package/dist/types/src/{graph → compute-graph}/testing/test-plugin.d.ts +0 -0
  222. /package/dist/types/src/{graph → compute-graph}/util.d.ts +0 -0
  223. /package/src/{graph → compute-graph}/compute-graph-registry.ts +0 -0
  224. /package/src/{graph → compute-graph}/compute-graph.test.ts +0 -0
  225. /package/src/{graph → compute-graph}/functions/function-defs.ts +0 -0
  226. /package/src/{graph → compute-graph}/functions/index.ts +0 -0
  227. /package/src/{graph → compute-graph}/hyperformula.test.ts +0 -0
  228. /package/src/{graph → compute-graph}/index.ts +0 -0
  229. /package/src/{graph → compute-graph}/testing/index.ts +0 -0
  230. /package/src/{graph → compute-graph}/testing/test-builder.ts +0 -0
  231. /package/src/{graph → compute-graph}/testing/test-plugin.ts +0 -0
  232. /package/src/{graph → compute-graph}/util.ts +0 -0
@@ -26,26 +26,50 @@ 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_5XPK2V4A_exports = {};
30
- __export(chunk_5XPK2V4A_exports, {
29
+ var chunk_O7XR4R7Y_exports = {};
30
+ __export(chunk_O7XR4R7Y_exports, {
31
31
  AsyncFunctionPlugin: () => AsyncFunctionPlugin,
32
32
  ComputeGraph: () => ComputeGraph,
33
33
  ComputeGraphRegistry: () => ComputeGraphRegistry,
34
34
  ComputeNode: () => ComputeNode,
35
+ DEFAULT_COLUMNS: () => DEFAULT_COLUMNS,
36
+ DEFAULT_ROWS: () => DEFAULT_ROWS,
35
37
  EDGE_FUNCTION_NAME: () => EDGE_FUNCTION_NAME,
36
38
  EdgeFunctionPlugin: () => EdgeFunctionPlugin,
37
39
  EdgeFunctionPluginTranslations: () => EdgeFunctionPluginTranslations,
38
40
  FunctionContext: () => FunctionContext,
41
+ MAX_COLUMNS: () => MAX_COLUMNS,
42
+ MAX_ROWS: () => MAX_ROWS,
43
+ RANGE_NOTATION: () => RANGE_NOTATION,
44
+ ReadonlyException: () => ReadonlyException,
45
+ addressFromA1Notation: () => addressFromA1Notation,
46
+ addressFromIndex: () => addressFromIndex,
47
+ addressToA1Notation: () => addressToA1Notation,
48
+ addressToIndex: () => addressToIndex,
49
+ alignKey: () => alignKey,
50
+ cellClassNameForRange: () => cellClassNameForRange,
51
+ compareIndexPositions: () => compareIndexPositions,
52
+ createSheet: () => createSheet,
39
53
  createSheetName: () => createSheetName,
40
54
  defaultFunctionContextOptions: () => defaultFunctionContextOptions,
41
55
  defaultFunctions: () => defaultFunctions,
42
56
  defaultOptions: () => defaultOptions,
43
57
  defaultPlugins: () => defaultPlugins,
44
- parseSheetName: () => parseSheetName
58
+ inRange: () => inRange,
59
+ initialize: () => initialize,
60
+ insertIndices: () => insertIndices,
61
+ isFormula: () => isFormula,
62
+ parseSheetName: () => parseSheetName,
63
+ rangeFromIndex: () => rangeFromIndex,
64
+ rangeToA1Notation: () => rangeToA1Notation,
65
+ rangeToIndex: () => rangeToIndex,
66
+ styleKey: () => styleKey
45
67
  });
46
- module.exports = __toCommonJS(chunk_5XPK2V4A_exports);
68
+ module.exports = __toCommonJS(chunk_O7XR4R7Y_exports);
69
+ var import_chunk_AWKOWDMI = require("./chunk-AWKOWDMI.cjs");
47
70
  var import_async = require("@dxos/async");
48
71
  var import_echo = require("@dxos/client/echo");
72
+ var import_echo2 = require("@dxos/client/echo");
49
73
  var import_context = require("@dxos/context");
50
74
  var import_echo_schema = require("@dxos/echo-schema");
51
75
  var import_invariant = require("@dxos/invariant");
@@ -57,12 +81,15 @@ var import_hyperformula = require("#hyperformula");
57
81
  var import_async2 = require("@dxos/async");
58
82
  var import_context2 = require("@dxos/context");
59
83
  var import_hyperformula2 = require("#hyperformula");
84
+ var import_invariant2 = require("@dxos/invariant");
85
+ var import_crypto = require("@dxos/crypto");
86
+ var import_echo_schema2 = require("@dxos/echo-schema");
60
87
  var import_lodash = __toESM(require("lodash.defaultsdeep"));
61
88
  var import_async3 = require("@dxos/async");
62
89
  var import_log2 = require("@dxos/log");
63
90
  var import_hyperformula3 = require("#hyperformula");
64
91
  var import_signals_core = require("@preact/signals-core");
65
- var import_echo2 = require("@dxos/client/echo");
92
+ var import_echo3 = require("@dxos/client/echo");
66
93
  var import_log3 = require("@dxos/log");
67
94
  var import_edge = require("@dxos/plugin-script/edge");
68
95
  var import_types2 = require("@dxos/plugin-script/types");
@@ -70,9 +97,195 @@ var import_util2 = require("@dxos/util");
70
97
  var import_hyperformula4 = require("#hyperformula");
71
98
  var import_lodash2 = __toESM(require("lodash.defaultsdeep"));
72
99
  var import_context3 = require("@dxos/context");
73
- var import_invariant2 = require("@dxos/invariant");
100
+ var import_invariant3 = require("@dxos/invariant");
74
101
  var import_log4 = require("@dxos/log");
75
102
  var import_hyperformula5 = require("#hyperformula");
103
+ var alignKey = "alignment";
104
+ var commentKey = "comment";
105
+ var styleKey = "style";
106
+ var cellClassNameForRange = ({ key, value }) => {
107
+ switch (key) {
108
+ case alignKey:
109
+ switch (value) {
110
+ case "start":
111
+ return "text-start";
112
+ case "center":
113
+ return "text-center";
114
+ case "end":
115
+ return "text-end";
116
+ default:
117
+ return void 0;
118
+ }
119
+ case commentKey:
120
+ return "bg-gridComment";
121
+ case styleKey:
122
+ switch (value) {
123
+ case "highlight":
124
+ return "!bg-gridHighlight";
125
+ case "softwrap":
126
+ return "!whitespace-normal";
127
+ default:
128
+ return void 0;
129
+ }
130
+ default:
131
+ return void 0;
132
+ }
133
+ };
134
+ var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-sheet/src/defs/types.ts";
135
+ var DEFAULT_ROWS = 50;
136
+ var DEFAULT_COLUMNS = 26;
137
+ var MAX_ROWS = 500;
138
+ var MAX_COLUMNS = 26 * 2;
139
+ var RANGE_NOTATION = /^[A-Z]+[0-9]+(:[A-Z]+[0-9]+)?$/;
140
+ var isFormula = (value) => typeof value === "string" && value.charAt(0) === "=";
141
+ var posEquals = (a, b) => {
142
+ return a?.col === b?.col && a?.row === b?.row;
143
+ };
144
+ var columnLetter = (col) => {
145
+ (0, import_invariant2.invariant)(col < MAX_COLUMNS, `Invalid column: ${col}`, {
146
+ F: __dxlog_file,
147
+ L: 31,
148
+ S: void 0,
149
+ A: [
150
+ "col < MAX_COLUMNS",
151
+ "`Invalid column: ${col}`"
152
+ ]
153
+ });
154
+ return (col >= 26 ? String.fromCharCode("A".charCodeAt(0) + Math.floor(col / 26) - 1) : "") + String.fromCharCode("A".charCodeAt(0) + col % 26);
155
+ };
156
+ var addressToA1Notation = ({ col, row }) => {
157
+ return `${columnLetter(col)}${row + 1}`;
158
+ };
159
+ var addressFromA1Notation = (ref) => {
160
+ const match = ref.match(/([A-Z]+)(\d+)/);
161
+ (0, import_invariant2.invariant)(match, `Invalid notation: ${ref}`, {
162
+ F: __dxlog_file,
163
+ L: 45,
164
+ S: void 0,
165
+ A: [
166
+ "match",
167
+ "`Invalid notation: ${ref}`"
168
+ ]
169
+ });
170
+ return {
171
+ row: parseInt(match[2], 10) - 1,
172
+ col: match[1].split("").reduce((acc, c) => acc * 26 + c.charCodeAt(0) - "A".charCodeAt(0) + 1, 0) - 1
173
+ };
174
+ };
175
+ var rangeToA1Notation = (range) => {
176
+ return [
177
+ range?.from && addressToA1Notation(range?.from),
178
+ range?.to && addressToA1Notation(range?.to)
179
+ ].filter(Boolean).join(":");
180
+ };
181
+ var inRange = (range, cell) => {
182
+ if (!range) {
183
+ return false;
184
+ }
185
+ const { from, to } = range;
186
+ if (from && posEquals(from, cell) || to && posEquals(to, cell)) {
187
+ return true;
188
+ }
189
+ if (!from || !to) {
190
+ return false;
191
+ }
192
+ const { col: c1, row: r1 } = from;
193
+ const { col: c2, row: r2 } = to;
194
+ const cMin = Math.min(c1, c2);
195
+ const cMax = Math.max(c1, c2);
196
+ const rMin = Math.min(r1, r2);
197
+ const rMax = Math.max(r1, r2);
198
+ const { col, row } = cell;
199
+ return col >= cMin && col <= cMax && row >= rMin && row <= rMax;
200
+ };
201
+ var ApiError = class extends Error {
202
+ };
203
+ var ReadonlyException = class extends ApiError {
204
+ };
205
+ var RangeException = class extends ApiError {
206
+ constructor(n) {
207
+ super();
208
+ }
209
+ };
210
+ var createIndex = (length = 8) => {
211
+ const characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
212
+ const charactersLength = characters.length;
213
+ const randomBuffer = (0, import_crypto.randomBytes)(length);
214
+ return Array.from(randomBuffer, (byte) => characters[byte % charactersLength]).join("");
215
+ };
216
+ var createIndices = (length) => Array.from({
217
+ length
218
+ }).map(() => createIndex());
219
+ var insertIndices = (indices, i, n, max) => {
220
+ if (i + n > max) {
221
+ throw new RangeException(i + n);
222
+ }
223
+ const idx = createIndices(n);
224
+ indices.splice(i, 0, ...idx);
225
+ return idx;
226
+ };
227
+ var initialize = (sheet, { rows = DEFAULT_ROWS, columns = DEFAULT_COLUMNS } = {}) => {
228
+ if (!sheet.rows.length) {
229
+ insertIndices(sheet.rows, 0, rows, MAX_ROWS);
230
+ }
231
+ if (!sheet.columns.length) {
232
+ insertIndices(sheet.columns, 0, columns, MAX_COLUMNS);
233
+ }
234
+ };
235
+ var createSheet = ({ name, cells, ...size } = {}) => {
236
+ const sheet = (0, import_echo_schema2.create)(import_chunk_AWKOWDMI.SheetType, {
237
+ name,
238
+ cells: {},
239
+ rows: [],
240
+ columns: [],
241
+ rowMeta: {},
242
+ columnMeta: {},
243
+ ranges: [],
244
+ threads: []
245
+ });
246
+ initialize(sheet, size);
247
+ if (cells) {
248
+ Object.entries(cells).forEach(([key, { value }]) => {
249
+ const idx = addressToIndex(sheet, addressFromA1Notation(key));
250
+ sheet.cells[idx] = {
251
+ value
252
+ };
253
+ });
254
+ }
255
+ return sheet;
256
+ };
257
+ var addressToIndex = (sheet, cell) => {
258
+ return `${sheet.columns[cell.col]}@${sheet.rows[cell.row]}`;
259
+ };
260
+ var addressFromIndex = (sheet, idx) => {
261
+ const [column, row] = idx.split("@");
262
+ return {
263
+ col: sheet.columns.indexOf(column),
264
+ row: sheet.rows.indexOf(row)
265
+ };
266
+ };
267
+ var rangeToIndex = (sheet, range) => {
268
+ return [
269
+ range.from,
270
+ range.to ?? range.from
271
+ ].map((cell) => addressToIndex(sheet, cell)).join(":");
272
+ };
273
+ var rangeFromIndex = (sheet, idx) => {
274
+ const [from, to] = idx.split(":").map((index) => addressFromIndex(sheet, index));
275
+ return {
276
+ from,
277
+ to
278
+ };
279
+ };
280
+ var compareIndexPositions = (sheet, indexA, indexB) => {
281
+ const { row: rowA, col: columnA } = addressFromIndex(sheet, indexA);
282
+ const { row: rowB, col: columnB } = addressFromIndex(sheet, indexB);
283
+ if (rowA !== rowB) {
284
+ return rowA - rowB;
285
+ } else {
286
+ return columnA - columnB;
287
+ }
288
+ };
76
289
  var ComputeNode = class extends import_context2.Resource {
77
290
  constructor(_graph, sheetId) {
78
291
  super();
@@ -98,7 +311,7 @@ var ComputeNode = class extends import_context2.Resource {
98
311
  return value;
99
312
  }
100
313
  setValue(cell, value) {
101
- const mappedValue = typeof value === "string" && value.charAt(0) === "=" ? this._graph.mapFormulaToNative(value) : value;
314
+ const mappedValue = isFormula(value) ? this._graph.mapFormulaToNative(value) : value;
102
315
  this._graph.hf.setCellContents({
103
316
  sheet: this.sheetId,
104
317
  row: cell.row,
@@ -113,7 +326,7 @@ var ComputeNode = class extends import_context2.Resource {
113
326
  async _open() {
114
327
  }
115
328
  };
116
- var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-sheet/src/graph/functions/async-function.ts";
329
+ var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-sheet/src/compute-graph/functions/async-function.ts";
117
330
  var defaultFunctionContextOptions = {
118
331
  defaultTtl: 5e3,
119
332
  debounceDelay: 200,
@@ -136,6 +349,12 @@ var FunctionContext = class _FunctionContext {
136
349
  this._invocations = {};
137
350
  this._options = (0, import_lodash.default)(_options ?? {}, defaultFunctionContextOptions);
138
351
  this._onUpdate = (0, import_async3.debounce)((update) => {
352
+ (0, import_log2.log)("update", update, {
353
+ F: __dxlog_file2,
354
+ L: 86,
355
+ S: this,
356
+ C: (f, a) => f(...a)
357
+ });
139
358
  this._hf.resumeEvaluation();
140
359
  this._options.onUpdate?.(update);
141
360
  }, this._options.debounceDelay);
@@ -187,8 +406,8 @@ var FunctionContext = class _FunctionContext {
187
406
  cell,
188
407
  value: value2
189
408
  }, {
190
- F: __dxlog_file,
191
- L: 143,
409
+ F: __dxlog_file2,
410
+ L: 144,
192
411
  S: this,
193
412
  C: (f, a) => f(...a)
194
413
  });
@@ -201,8 +420,8 @@ var FunctionContext = class _FunctionContext {
201
420
  cell,
202
421
  err
203
422
  }, {
204
- F: __dxlog_file,
205
- L: 147,
423
+ F: __dxlog_file2,
424
+ L: 148,
206
425
  S: this,
207
426
  C: (f, a) => f(...a)
208
427
  });
@@ -221,8 +440,8 @@ var FunctionContext = class _FunctionContext {
221
440
  args,
222
441
  cache: value
223
442
  }, {
224
- F: __dxlog_file,
225
- L: 155,
443
+ F: __dxlog_file2,
444
+ L: 156,
226
445
  S: this,
227
446
  C: (f, a) => f(...a)
228
447
  });
@@ -244,7 +463,7 @@ var AsyncFunctionPlugin = class extends import_hyperformula3.FunctionPlugin {
244
463
  });
245
464
  }
246
465
  };
247
- var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-sheet/src/graph/functions/edge-function.ts";
466
+ var __dxlog_file3 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-sheet/src/compute-graph/functions/edge-function.ts";
248
467
  var EDGE_FUNCTION_NAME = "DX";
249
468
  var FUNCTION_TTL = 1e4;
250
469
  var EdgeFunctionPlugin = class extends AsyncFunctionPlugin {
@@ -254,14 +473,14 @@ var EdgeFunctionPlugin = class extends AsyncFunctionPlugin {
254
473
  if (!space) {
255
474
  return new import_hyperformula4.CellError(import_hyperformula4.ErrorType.REF, "Missing space");
256
475
  }
257
- const { objects: [fn] } = await space.db.query(import_echo2.Filter.schema(import_types2.FunctionType, {
476
+ const { objects: [fn] } = await space.db.query(import_echo3.Filter.schema(import_types2.FunctionType, {
258
477
  binding
259
478
  })).run();
260
479
  if (!fn) {
261
480
  import_log3.log.info("Function not found", {
262
481
  binding
263
482
  }, {
264
- F: __dxlog_file2,
483
+ F: __dxlog_file3,
265
484
  L: 41,
266
485
  S: this,
267
486
  C: (f, a) => f(...a)
@@ -270,10 +489,10 @@ var EdgeFunctionPlugin = class extends AsyncFunctionPlugin {
270
489
  }
271
490
  if (subscribe) {
272
491
  const unsubscribe = (0, import_signals_core.effect)(() => {
273
- import_log3.log.info("function changed", {
492
+ (0, import_log3.log)("function changed", {
274
493
  fn
275
494
  }, {
276
- F: __dxlog_file2,
495
+ F: __dxlog_file3,
277
496
  L: 47,
278
497
  S: this,
279
498
  C: (f, a) => f(...a)
@@ -285,8 +504,8 @@ var EdgeFunctionPlugin = class extends AsyncFunctionPlugin {
285
504
  });
286
505
  this.context.createSubscription(ast.procedureName, unsubscribe);
287
506
  }
288
- const path = (0, import_edge.getUserFunctionUrlInMetadata)((0, import_echo2.getMeta)(fn));
289
- const result = await fetch(`${this.context.remoteFunctionUrl}${path}`, {
507
+ const path = (0, import_edge.getUserFunctionUrlInMetadata)((0, import_echo3.getMeta)(fn));
508
+ const response = await fetch(`${this.context.remoteFunctionUrl}${path}`, {
290
509
  method: "POST",
291
510
  headers: {
292
511
  "Content-Type": "application/json"
@@ -295,7 +514,16 @@ var EdgeFunctionPlugin = class extends AsyncFunctionPlugin {
295
514
  args: args.filter(import_util2.nonNullable)
296
515
  })
297
516
  });
298
- return await result.text();
517
+ const result = await response.text();
518
+ (0, import_log3.log)("function executed", {
519
+ result
520
+ }, {
521
+ F: __dxlog_file3,
522
+ L: 65,
523
+ S: this,
524
+ C: (f, a) => f(...a)
525
+ });
526
+ return result;
299
527
  };
300
528
  return this.runAsyncFunction(ast, state, handler(true), {
301
529
  ttl: FUNCTION_TTL
@@ -2727,8 +2955,8 @@ var defaultFunctions = [
2727
2955
  section: "Text"
2728
2956
  }
2729
2957
  ];
2730
- var __dxlog_file3 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-sheet/src/graph/compute-graph.ts";
2731
- var OBJECT_ID_LENGTH = 60;
2958
+ var __dxlog_file4 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-sheet/src/compute-graph/compute-graph.ts";
2959
+ var UNKNOWN_BINDING = "__UNKNOWN__";
2732
2960
  var createSheetName = ({ type, id }) => `${type}@${id}`;
2733
2961
  var parseSheetName = (name) => {
2734
2962
  const [type, id] = name.split("@");
@@ -2749,7 +2977,16 @@ var ComputeGraph = class extends import_context.Resource {
2749
2977
  this._nodes = /* @__PURE__ */ new Map();
2750
2978
  this._remoteFunctions = [];
2751
2979
  this.update = new import_async.Event();
2752
- this.context = new FunctionContext(this._hf, this._space, this._options);
2980
+ const contextOptions = {
2981
+ ...this._options,
2982
+ onUpdate: (update) => {
2983
+ this._options?.onUpdate?.(update);
2984
+ this.update.emit({
2985
+ type: "valuesUpdated"
2986
+ });
2987
+ }
2988
+ };
2989
+ this.context = new FunctionContext(this._hf, this._space, contextOptions);
2753
2990
  this._hf.updateConfig({
2754
2991
  context: this.context
2755
2992
  });
@@ -2796,8 +3033,8 @@ var ComputeGraph = class extends import_context.Resource {
2796
3033
  // The graph would then load the object and create a ComputeNode (model) of the appropriate type.
2797
3034
  getOrCreateNode(name) {
2798
3035
  (0, import_invariant.invariant)(name.length, void 0, {
2799
- F: __dxlog_file3,
2800
- L: 117,
3036
+ F: __dxlog_file4,
3037
+ L: 129,
2801
3038
  S: this,
2802
3039
  A: [
2803
3040
  "name.length",
@@ -2805,12 +3042,12 @@ var ComputeGraph = class extends import_context.Resource {
2805
3042
  ]
2806
3043
  });
2807
3044
  if (!this._hf.doesSheetExist(name)) {
2808
- import_log.log.info("created node", {
3045
+ (0, import_log.log)("created node", {
2809
3046
  space: this._space?.id,
2810
3047
  sheet: name
2811
3048
  }, {
2812
- F: __dxlog_file3,
2813
- L: 119,
3049
+ F: __dxlog_file4,
3050
+ L: 131,
2814
3051
  S: this,
2815
3052
  C: (f, a) => f(...a)
2816
3053
  });
@@ -2818,8 +3055,8 @@ var ComputeGraph = class extends import_context.Resource {
2818
3055
  }
2819
3056
  const sheetId = this._hf.getSheetId(name);
2820
3057
  (0, import_invariant.invariant)(sheetId !== void 0, void 0, {
2821
- F: __dxlog_file3,
2822
- L: 124,
3058
+ F: __dxlog_file4,
3059
+ L: 136,
2823
3060
  S: this,
2824
3061
  A: [
2825
3062
  "sheetId !== undefined",
@@ -2832,7 +3069,7 @@ var ComputeGraph = class extends import_context.Resource {
2832
3069
  }
2833
3070
  /**
2834
3071
  * Map bound value to custom function invocation.
2835
- * E.g., "HELLO(...args)" => "EDGE("HELLO", ...args)".
3072
+ * E.g., "HELLO(...args)" => "DX("HELLO", ...args)".
2836
3073
  */
2837
3074
  mapFormulaToNative(formula) {
2838
3075
  return formula.replace(/['"]?([ \w]+)['"]?!/, (_match, name) => {
@@ -2887,18 +3124,23 @@ var ComputeGraph = class extends import_context.Resource {
2887
3124
  * E.g., spaceId:objectId() => HELLO()
2888
3125
  */
2889
3126
  mapFunctionBindingFromId(formula) {
2890
- return formula.replace(/(\w+):([a-zA-Z0-9]+)\((.*)\)/g, (match, spaceId, objectId, args) => {
3127
+ const binding = formula.replace(/(\w+):([a-zA-Z0-9]+)\((.*)\)/g, (match, spaceId, objectId, args) => {
2891
3128
  const id = `${spaceId}:${objectId}`;
2892
- if (id.length !== OBJECT_ID_LENGTH) {
3129
+ if (id.length !== import_echo2.FQ_ID_LENGTH) {
2893
3130
  return match;
2894
3131
  }
2895
3132
  const fn = this._remoteFunctions.find((fn2) => (0, import_echo.fullyQualifiedId)(fn2) === id);
2896
3133
  if (fn?.binding) {
2897
3134
  return `${fn.binding}(${args})`;
2898
3135
  } else {
2899
- return match;
3136
+ return UNKNOWN_BINDING;
2900
3137
  }
2901
3138
  });
3139
+ if (binding.startsWith(`=${UNKNOWN_BINDING}`)) {
3140
+ return void 0;
3141
+ } else {
3142
+ return binding;
3143
+ }
2902
3144
  }
2903
3145
  async _open() {
2904
3146
  if (this._space) {
@@ -2918,7 +3160,7 @@ var ComputeGraph = class extends import_context.Resource {
2918
3160
  }
2919
3161
  }
2920
3162
  };
2921
- var __dxlog_file4 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-sheet/src/graph/compute-graph-registry.ts";
3163
+ var __dxlog_file5 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-sheet/src/compute-graph/compute-graph-registry.ts";
2922
3164
  var defaultOptions = {
2923
3165
  licenseKey: "gpl-v3"
2924
3166
  };
@@ -2948,7 +3190,7 @@ var ComputeGraphRegistry = class extends import_context3.Resource {
2948
3190
  (0, import_log4.log)("create graph", {
2949
3191
  space: space.id
2950
3192
  }, {
2951
- F: __dxlog_file4,
3193
+ F: __dxlog_file5,
2952
3194
  L: 69,
2953
3195
  S: this,
2954
3196
  C: (f, a) => f(...a)
@@ -2958,8 +3200,8 @@ var ComputeGraphRegistry = class extends import_context3.Resource {
2958
3200
  return graph;
2959
3201
  }
2960
3202
  createGraph(space) {
2961
- (0, import_invariant2.invariant)(!this._graphs.has(space.id), `ComputeGraph already exists for space: ${space.id}`, {
2962
- F: __dxlog_file4,
3203
+ (0, import_invariant3.invariant)(!this._graphs.has(space.id), `ComputeGraph already exists for space: ${space.id}`, {
3204
+ F: __dxlog_file5,
2963
3205
  L: 77,
2964
3206
  S: this,
2965
3207
  A: [
@@ -2985,15 +3227,37 @@ var ComputeGraphRegistry = class extends import_context3.Resource {
2985
3227
  ComputeGraph,
2986
3228
  ComputeGraphRegistry,
2987
3229
  ComputeNode,
3230
+ DEFAULT_COLUMNS,
3231
+ DEFAULT_ROWS,
2988
3232
  EDGE_FUNCTION_NAME,
2989
3233
  EdgeFunctionPlugin,
2990
3234
  EdgeFunctionPluginTranslations,
2991
3235
  FunctionContext,
3236
+ MAX_COLUMNS,
3237
+ MAX_ROWS,
3238
+ RANGE_NOTATION,
3239
+ ReadonlyException,
3240
+ addressFromA1Notation,
3241
+ addressFromIndex,
3242
+ addressToA1Notation,
3243
+ addressToIndex,
3244
+ alignKey,
3245
+ cellClassNameForRange,
3246
+ compareIndexPositions,
3247
+ createSheet,
2992
3248
  createSheetName,
2993
3249
  defaultFunctionContextOptions,
2994
3250
  defaultFunctions,
2995
3251
  defaultOptions,
2996
3252
  defaultPlugins,
2997
- parseSheetName
3253
+ inRange,
3254
+ initialize,
3255
+ insertIndices,
3256
+ isFormula,
3257
+ parseSheetName,
3258
+ rangeFromIndex,
3259
+ rangeToA1Notation,
3260
+ rangeToIndex,
3261
+ styleKey
2998
3262
  });
2999
- //# sourceMappingURL=chunk-5XPK2V4A.cjs.map
3263
+ //# sourceMappingURL=chunk-O7XR4R7Y.cjs.map