@dxos/plugin-sheet 0.6.13-main.ed424a1 → 0.6.13

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 (323) hide show
  1. package/dist/lib/browser/SheetContainer-U4H5D34A.mjs +1772 -0
  2. package/dist/lib/browser/SheetContainer-U4H5D34A.mjs.map +7 -0
  3. package/dist/lib/browser/chunk-APHOLYUB.mjs +175 -0
  4. package/dist/lib/browser/chunk-APHOLYUB.mjs.map +7 -0
  5. package/dist/lib/{node-esm/chunk-5WPZCXNS.mjs → browser/chunk-D5AGLXJP.mjs} +678 -411
  6. package/dist/lib/browser/chunk-D5AGLXJP.mjs.map +7 -0
  7. package/dist/lib/browser/chunk-FUAGSXA4.mjs +82 -0
  8. package/dist/lib/browser/chunk-FUAGSXA4.mjs.map +7 -0
  9. package/dist/lib/browser/chunk-JRL5LGCE.mjs +18 -0
  10. package/dist/lib/browser/chunk-JRL5LGCE.mjs.map +7 -0
  11. package/dist/lib/browser/chunk-NU4PBN33.mjs +8 -0
  12. package/dist/lib/browser/chunk-NU4PBN33.mjs.map +7 -0
  13. package/dist/lib/browser/index.mjs +62 -93
  14. package/dist/lib/browser/index.mjs.map +3 -3
  15. package/dist/lib/browser/meta.json +1 -1
  16. package/dist/lib/browser/meta.mjs +1 -1
  17. package/dist/lib/browser/testing.mjs +92 -0
  18. package/dist/lib/browser/testing.mjs.map +7 -0
  19. package/dist/lib/browser/types.mjs +12 -6
  20. package/dist/lib/node/SheetContainer-AXQV3ZT5.cjs +1765 -0
  21. package/dist/lib/node/SheetContainer-AXQV3ZT5.cjs.map +7 -0
  22. package/dist/lib/node/{chunk-5XPK2V4A.cjs → chunk-5KKJ4NPP.cjs} +678 -418
  23. package/dist/lib/node/chunk-5KKJ4NPP.cjs.map +7 -0
  24. package/dist/lib/node/chunk-BJ6ZD7MN.cjs +51 -0
  25. package/dist/lib/node/chunk-BJ6ZD7MN.cjs.map +7 -0
  26. package/dist/lib/node/chunk-CN3RPESU.cjs +202 -0
  27. package/dist/lib/node/chunk-CN3RPESU.cjs.map +7 -0
  28. package/dist/lib/node/{chunk-NZARD7UP.cjs → chunk-DSYKOI4E.cjs} +51 -40
  29. package/dist/lib/node/chunk-DSYKOI4E.cjs.map +7 -0
  30. package/dist/lib/node/chunk-PYXHNAAK.cjs +40 -0
  31. package/dist/lib/node/chunk-PYXHNAAK.cjs.map +7 -0
  32. package/dist/lib/node/index.cjs +69 -105
  33. package/dist/lib/node/index.cjs.map +3 -3
  34. package/dist/lib/node/meta.cjs +3 -3
  35. package/dist/lib/node/meta.cjs.map +1 -1
  36. package/dist/lib/node/meta.json +1 -1
  37. package/dist/lib/node/testing.cjs +111 -0
  38. package/dist/lib/node/testing.cjs.map +7 -0
  39. package/dist/lib/node/types.cjs +15 -9
  40. package/dist/lib/node/types.cjs.map +2 -2
  41. package/dist/types/src/SheetPlugin.d.ts.map +1 -1
  42. package/dist/types/src/components/CellEditor/CellEditor.d.ts +14 -0
  43. package/dist/types/src/components/CellEditor/CellEditor.d.ts.map +1 -0
  44. package/dist/types/src/components/{GridSheet/SheetCellEditor.stories.d.ts → CellEditor/CellEditor.stories.d.ts} +4 -4
  45. package/dist/types/src/components/CellEditor/CellEditor.stories.d.ts.map +1 -0
  46. package/dist/types/src/{extensions/editor → components/CellEditor}/extension.d.ts +1 -1
  47. package/dist/types/src/components/CellEditor/extension.d.ts.map +1 -0
  48. package/dist/types/src/components/CellEditor/extension.test.d.ts.map +1 -0
  49. package/dist/types/src/components/CellEditor/index.d.ts +3 -0
  50. package/dist/types/src/components/CellEditor/index.d.ts.map +1 -0
  51. package/dist/types/src/{graph/functions → components/ComputeGraph}/async-function.d.ts +5 -14
  52. package/dist/types/src/components/ComputeGraph/async-function.d.ts.map +1 -0
  53. package/dist/types/src/components/ComputeGraph/custom.d.ts +21 -0
  54. package/dist/types/src/components/ComputeGraph/custom.d.ts.map +1 -0
  55. package/dist/types/src/components/ComputeGraph/edge-function.d.ts +20 -0
  56. package/dist/types/src/components/ComputeGraph/edge-function.d.ts.map +1 -0
  57. package/dist/types/src/components/ComputeGraph/graph-context.d.ts +12 -0
  58. package/dist/types/src/components/ComputeGraph/graph-context.d.ts.map +1 -0
  59. package/dist/types/src/components/ComputeGraph/graph.browser.test.d.ts +2 -0
  60. package/dist/types/src/components/ComputeGraph/graph.browser.test.d.ts.map +1 -0
  61. package/dist/types/src/components/ComputeGraph/graph.d.ts +26 -0
  62. package/dist/types/src/components/ComputeGraph/graph.d.ts.map +1 -0
  63. package/dist/types/src/components/ComputeGraph/index.d.ts +3 -1
  64. package/dist/types/src/components/ComputeGraph/index.d.ts.map +1 -1
  65. package/dist/types/src/components/Sheet/Sheet.d.ts +55 -0
  66. package/dist/types/src/components/Sheet/Sheet.d.ts.map +1 -0
  67. package/dist/types/src/components/Sheet/Sheet.stories.d.ts +54 -0
  68. package/dist/types/src/components/Sheet/Sheet.stories.d.ts.map +1 -0
  69. package/dist/types/src/components/Sheet/formatting.d.ts +14 -0
  70. package/dist/types/src/components/Sheet/formatting.d.ts.map +1 -0
  71. package/dist/types/src/components/Sheet/grid.d.ts +52 -0
  72. package/dist/types/src/components/Sheet/grid.d.ts.map +1 -0
  73. package/dist/types/src/components/Sheet/index.d.ts +2 -0
  74. package/dist/types/src/components/Sheet/index.d.ts.map +1 -0
  75. package/dist/types/src/components/Sheet/nav.d.ts +29 -0
  76. package/dist/types/src/components/Sheet/nav.d.ts.map +1 -0
  77. package/dist/types/src/components/Sheet/sheet-context.d.ts +25 -0
  78. package/dist/types/src/components/Sheet/sheet-context.d.ts.map +1 -0
  79. package/dist/types/src/components/Sheet/util.d.ts +18 -0
  80. package/dist/types/src/components/Sheet/util.d.ts.map +1 -0
  81. package/dist/types/src/components/SheetContainer.d.ts +9 -0
  82. package/dist/types/src/components/SheetContainer.d.ts.map +1 -0
  83. package/dist/types/src/components/Toolbar/Toolbar.d.ts +9 -33
  84. package/dist/types/src/components/Toolbar/Toolbar.d.ts.map +1 -1
  85. package/dist/types/src/components/Toolbar/Toolbar.stories.d.ts +15 -19
  86. package/dist/types/src/components/Toolbar/Toolbar.stories.d.ts.map +1 -1
  87. package/dist/types/src/components/Toolbar/common.d.ts +20 -0
  88. package/dist/types/src/components/Toolbar/common.d.ts.map +1 -0
  89. package/dist/types/src/components/index.d.ts +2 -3
  90. package/dist/types/src/components/index.d.ts.map +1 -1
  91. package/dist/types/src/meta.d.ts +9 -3
  92. package/dist/types/src/meta.d.ts.map +1 -1
  93. package/dist/types/src/{graph/functions/function-defs.d.ts → model/functions.d.ts} +1 -1
  94. package/dist/types/src/model/functions.d.ts.map +1 -0
  95. package/dist/types/src/model/index.d.ts +3 -2
  96. package/dist/types/src/model/index.d.ts.map +1 -1
  97. package/dist/types/src/model/model.browser.test.d.ts +2 -0
  98. package/dist/types/src/model/model.browser.test.d.ts.map +1 -0
  99. package/dist/types/src/model/{sheet-model.d.ts → model.d.ts} +67 -13
  100. package/dist/types/src/model/model.d.ts.map +1 -0
  101. package/dist/types/src/{defs → model}/types.d.ts +3 -8
  102. package/dist/types/src/model/types.d.ts.map +1 -0
  103. package/dist/types/src/model/types.test.d.ts.map +1 -0
  104. package/dist/types/src/model/util.d.ts +15 -0
  105. package/dist/types/src/model/util.d.ts.map +1 -0
  106. package/dist/types/src/testing.d.ts +9 -0
  107. package/dist/types/src/testing.d.ts.map +1 -0
  108. package/dist/types/src/translations.d.ts +12 -17
  109. package/dist/types/src/translations.d.ts.map +1 -1
  110. package/dist/types/src/types.d.ts +40 -125
  111. package/dist/types/src/types.d.ts.map +1 -1
  112. package/package.json +52 -58
  113. package/src/SheetPlugin.tsx +74 -52
  114. package/src/components/{GridSheet/SheetCellEditor.stories.tsx → CellEditor/CellEditor.stories.tsx} +8 -8
  115. package/src/components/CellEditor/CellEditor.tsx +113 -0
  116. package/src/{extensions/editor → components/CellEditor}/extension.test.ts +6 -4
  117. package/src/{extensions/editor → components/CellEditor}/extension.ts +6 -5
  118. package/src/{extensions/editor → components/CellEditor}/index.ts +1 -0
  119. package/src/{graph/functions → components/ComputeGraph}/async-function.ts +15 -25
  120. package/src/{graph/testing/test-plugin.ts → components/ComputeGraph/custom.ts} +14 -44
  121. package/src/{graph/functions → components/ComputeGraph}/edge-function.ts +14 -16
  122. package/src/components/ComputeGraph/graph-context.tsx +50 -0
  123. package/src/components/ComputeGraph/graph.browser.test.ts +50 -0
  124. package/src/components/ComputeGraph/graph.ts +62 -0
  125. package/src/components/ComputeGraph/index.ts +3 -1
  126. package/src/components/Sheet/Sheet.stories.tsx +287 -0
  127. package/src/components/Sheet/Sheet.tsx +1160 -0
  128. package/src/components/Sheet/formatting.ts +106 -0
  129. package/src/components/Sheet/grid.ts +191 -0
  130. package/src/{testing → components/Sheet}/index.ts +1 -1
  131. package/src/components/Sheet/nav.ts +157 -0
  132. package/src/components/Sheet/sheet-context.tsx +150 -0
  133. package/src/components/Sheet/util.ts +56 -0
  134. package/src/components/SheetContainer.tsx +34 -0
  135. package/src/components/Toolbar/Toolbar.tsx +112 -242
  136. package/src/components/Toolbar/common.tsx +72 -0
  137. package/src/components/index.ts +0 -2
  138. package/src/meta.tsx +18 -0
  139. package/src/model/index.ts +3 -2
  140. package/src/model/model.browser.test.ts +100 -0
  141. package/src/model/model.ts +550 -0
  142. package/src/{defs → model}/types.test.ts +9 -8
  143. package/src/{defs → model}/types.ts +14 -24
  144. package/src/model/util.ts +36 -0
  145. package/src/testing.ts +50 -0
  146. package/src/translations.ts +1 -6
  147. package/src/types.ts +47 -40
  148. package/dist/lib/browser/SheetContainer-RVRACGCZ.mjs +0 -290
  149. package/dist/lib/browser/SheetContainer-RVRACGCZ.mjs.map +0 -7
  150. package/dist/lib/browser/chunk-BWN5DZWZ.mjs +0 -74
  151. package/dist/lib/browser/chunk-BWN5DZWZ.mjs.map +0 -7
  152. package/dist/lib/browser/chunk-D3QTX46O.mjs +0 -14
  153. package/dist/lib/browser/chunk-D3QTX46O.mjs.map +0 -7
  154. package/dist/lib/browser/chunk-GSV5QNLD.mjs +0 -2966
  155. package/dist/lib/browser/chunk-GSV5QNLD.mjs.map +0 -7
  156. package/dist/lib/browser/chunk-HOG37RYS.mjs +0 -1528
  157. package/dist/lib/browser/chunk-HOG37RYS.mjs.map +0 -7
  158. package/dist/lib/browser/graph-M4IQ76QX.mjs +0 -33
  159. package/dist/lib/browser/graph-M4IQ76QX.mjs.map +0 -7
  160. package/dist/lib/node/SheetContainer-J7XROAMN.cjs +0 -300
  161. package/dist/lib/node/SheetContainer-J7XROAMN.cjs.map +0 -7
  162. package/dist/lib/node/chunk-5XPK2V4A.cjs.map +0 -7
  163. package/dist/lib/node/chunk-AXQZA2YS.cjs +0 -1527
  164. package/dist/lib/node/chunk-AXQZA2YS.cjs.map +0 -7
  165. package/dist/lib/node/chunk-NZARD7UP.cjs.map +0 -7
  166. package/dist/lib/node/chunk-QIFIGEKV.cjs +0 -37
  167. package/dist/lib/node/chunk-QIFIGEKV.cjs.map +0 -7
  168. package/dist/lib/node/graph-Q3N2X26H.cjs +0 -55
  169. package/dist/lib/node/graph-Q3N2X26H.cjs.map +0 -7
  170. package/dist/lib/node-esm/SheetContainer-YWQVKHQB.mjs +0 -291
  171. package/dist/lib/node-esm/SheetContainer-YWQVKHQB.mjs.map +0 -7
  172. package/dist/lib/node-esm/chunk-5WPZCXNS.mjs.map +0 -7
  173. package/dist/lib/node-esm/chunk-BPXXIAOQ.mjs +0 -1529
  174. package/dist/lib/node-esm/chunk-BPXXIAOQ.mjs.map +0 -7
  175. package/dist/lib/node-esm/chunk-VCYJWE3O.mjs +0 -16
  176. package/dist/lib/node-esm/chunk-VCYJWE3O.mjs.map +0 -7
  177. package/dist/lib/node-esm/chunk-WFDTY3IC.mjs +0 -75
  178. package/dist/lib/node-esm/chunk-WFDTY3IC.mjs.map +0 -7
  179. package/dist/lib/node-esm/graph-SMPUMOV2.mjs +0 -34
  180. package/dist/lib/node-esm/graph-SMPUMOV2.mjs.map +0 -7
  181. package/dist/lib/node-esm/index.mjs +0 -280
  182. package/dist/lib/node-esm/index.mjs.map +0 -7
  183. package/dist/lib/node-esm/meta.json +0 -1
  184. package/dist/lib/node-esm/meta.mjs +0 -10
  185. package/dist/lib/node-esm/meta.mjs.map +0 -7
  186. package/dist/lib/node-esm/types.mjs +0 -17
  187. package/dist/lib/node-esm/types.mjs.map +0 -7
  188. package/dist/types/src/components/ComputeGraph/ComputeGraphContextProvider.d.ts +0 -11
  189. package/dist/types/src/components/ComputeGraph/ComputeGraphContextProvider.d.ts.map +0 -1
  190. package/dist/types/src/components/FunctionEditor/FunctionEditor.d.ts +0 -3
  191. package/dist/types/src/components/FunctionEditor/FunctionEditor.d.ts.map +0 -1
  192. package/dist/types/src/components/FunctionEditor/index.d.ts +0 -2
  193. package/dist/types/src/components/FunctionEditor/index.d.ts.map +0 -1
  194. package/dist/types/src/components/GridSheet/GridSheet.d.ts +0 -3
  195. package/dist/types/src/components/GridSheet/GridSheet.d.ts.map +0 -1
  196. package/dist/types/src/components/GridSheet/GridSheet.stories.d.ts +0 -9
  197. package/dist/types/src/components/GridSheet/GridSheet.stories.d.ts.map +0 -1
  198. package/dist/types/src/components/GridSheet/SheetCellEditor.stories.d.ts.map +0 -1
  199. package/dist/types/src/components/GridSheet/index.d.ts +0 -2
  200. package/dist/types/src/components/GridSheet/index.d.ts.map +0 -1
  201. package/dist/types/src/components/GridSheet/util.d.ts +0 -16
  202. package/dist/types/src/components/GridSheet/util.d.ts.map +0 -1
  203. package/dist/types/src/components/SheetContainer/SheetContainer.d.ts +0 -6
  204. package/dist/types/src/components/SheetContainer/SheetContainer.d.ts.map +0 -1
  205. package/dist/types/src/components/SheetContainer/SheetContainer.stories.d.ts +0 -11
  206. package/dist/types/src/components/SheetContainer/SheetContainer.stories.d.ts.map +0 -1
  207. package/dist/types/src/components/SheetContainer/index.d.ts +0 -3
  208. package/dist/types/src/components/SheetContainer/index.d.ts.map +0 -1
  209. package/dist/types/src/components/SheetContext/SheetContext.d.ts +0 -26
  210. package/dist/types/src/components/SheetContext/SheetContext.d.ts.map +0 -1
  211. package/dist/types/src/components/SheetContext/index.d.ts +0 -2
  212. package/dist/types/src/components/SheetContext/index.d.ts.map +0 -1
  213. package/dist/types/src/defs/index.d.ts +0 -4
  214. package/dist/types/src/defs/index.d.ts.map +0 -1
  215. package/dist/types/src/defs/sheet-range-types.d.ts +0 -13
  216. package/dist/types/src/defs/sheet-range-types.d.ts.map +0 -1
  217. package/dist/types/src/defs/types.d.ts.map +0 -1
  218. package/dist/types/src/defs/types.test.d.ts.map +0 -1
  219. package/dist/types/src/defs/util.d.ts +0 -43
  220. package/dist/types/src/defs/util.d.ts.map +0 -1
  221. package/dist/types/src/extensions/compute.d.ts +0 -6
  222. package/dist/types/src/extensions/compute.d.ts.map +0 -1
  223. package/dist/types/src/extensions/compute.stories.d.ts +0 -26
  224. package/dist/types/src/extensions/compute.stories.d.ts.map +0 -1
  225. package/dist/types/src/extensions/editor/extension.d.ts.map +0 -1
  226. package/dist/types/src/extensions/editor/extension.test.d.ts.map +0 -1
  227. package/dist/types/src/extensions/editor/index.d.ts +0 -2
  228. package/dist/types/src/extensions/editor/index.d.ts.map +0 -1
  229. package/dist/types/src/extensions/index.d.ts +0 -3
  230. package/dist/types/src/extensions/index.d.ts.map +0 -1
  231. package/dist/types/src/graph/compute-graph-registry.d.ts +0 -34
  232. package/dist/types/src/graph/compute-graph-registry.d.ts.map +0 -1
  233. package/dist/types/src/graph/compute-graph.d.ts +0 -64
  234. package/dist/types/src/graph/compute-graph.d.ts.map +0 -1
  235. package/dist/types/src/graph/compute-graph.stories.d.ts +0 -10
  236. package/dist/types/src/graph/compute-graph.stories.d.ts.map +0 -1
  237. package/dist/types/src/graph/compute-graph.test.d.ts +0 -2
  238. package/dist/types/src/graph/compute-graph.test.d.ts.map +0 -1
  239. package/dist/types/src/graph/compute-node.d.ts +0 -26
  240. package/dist/types/src/graph/compute-node.d.ts.map +0 -1
  241. package/dist/types/src/graph/functions/async-function.d.ts.map +0 -1
  242. package/dist/types/src/graph/functions/edge-function.d.ts +0 -21
  243. package/dist/types/src/graph/functions/edge-function.d.ts.map +0 -1
  244. package/dist/types/src/graph/functions/function-defs.d.ts.map +0 -1
  245. package/dist/types/src/graph/functions/index.d.ts +0 -4
  246. package/dist/types/src/graph/functions/index.d.ts.map +0 -1
  247. package/dist/types/src/graph/hyperformula.test.d.ts +0 -2
  248. package/dist/types/src/graph/hyperformula.test.d.ts.map +0 -1
  249. package/dist/types/src/graph/index.d.ts +0 -5
  250. package/dist/types/src/graph/index.d.ts.map +0 -1
  251. package/dist/types/src/graph/testing/index.d.ts +0 -3
  252. package/dist/types/src/graph/testing/index.d.ts.map +0 -1
  253. package/dist/types/src/graph/testing/test-builder.d.ts +0 -15
  254. package/dist/types/src/graph/testing/test-builder.d.ts.map +0 -1
  255. package/dist/types/src/graph/testing/test-plugin.d.ts +0 -36
  256. package/dist/types/src/graph/testing/test-plugin.d.ts.map +0 -1
  257. package/dist/types/src/graph/util.d.ts +0 -2
  258. package/dist/types/src/graph/util.d.ts.map +0 -1
  259. package/dist/types/src/hooks/hooks.stories.d.ts +0 -11
  260. package/dist/types/src/hooks/hooks.stories.d.ts.map +0 -1
  261. package/dist/types/src/hooks/index.d.ts +0 -4
  262. package/dist/types/src/hooks/index.d.ts.map +0 -1
  263. package/dist/types/src/hooks/threads.d.ts +0 -8
  264. package/dist/types/src/hooks/threads.d.ts.map +0 -1
  265. package/dist/types/src/hooks/useComputeGraph.d.ts +0 -7
  266. package/dist/types/src/hooks/useComputeGraph.d.ts.map +0 -1
  267. package/dist/types/src/hooks/useSheetModel.d.ts +0 -8
  268. package/dist/types/src/hooks/useSheetModel.d.ts.map +0 -1
  269. package/dist/types/src/model/decorations.d.ts +0 -25
  270. package/dist/types/src/model/decorations.d.ts.map +0 -1
  271. package/dist/types/src/model/sheet-model.d.ts.map +0 -1
  272. package/dist/types/src/model/sheet-model.test.d.ts +0 -2
  273. package/dist/types/src/model/sheet-model.test.d.ts.map +0 -1
  274. package/dist/types/src/sanity.test.d.ts +0 -2
  275. package/dist/types/src/sanity.test.d.ts.map +0 -1
  276. package/dist/types/src/testing/index.d.ts +0 -2
  277. package/dist/types/src/testing/index.d.ts.map +0 -1
  278. package/dist/types/src/testing/testing.d.ts +0 -8
  279. package/dist/types/src/testing/testing.d.ts.map +0 -1
  280. package/dist/vendor/hyperformula.mjs +0 -37145
  281. package/src/components/ComputeGraph/ComputeGraphContextProvider.tsx +0 -20
  282. package/src/components/FunctionEditor/FunctionEditor.tsx +0 -45
  283. package/src/components/FunctionEditor/index.ts +0 -5
  284. package/src/components/GridSheet/GridSheet.stories.tsx +0 -41
  285. package/src/components/GridSheet/GridSheet.tsx +0 -163
  286. package/src/components/GridSheet/index.ts +0 -5
  287. package/src/components/GridSheet/util.ts +0 -158
  288. package/src/components/SheetContainer/SheetContainer.stories.tsx +0 -40
  289. package/src/components/SheetContainer/SheetContainer.tsx +0 -27
  290. package/src/components/SheetContainer/index.ts +0 -7
  291. package/src/components/SheetContext/SheetContext.tsx +0 -104
  292. package/src/components/SheetContext/index.ts +0 -5
  293. package/src/defs/index.ts +0 -7
  294. package/src/defs/sheet-range-types.ts +0 -46
  295. package/src/defs/util.ts +0 -151
  296. package/src/extensions/compute.stories.tsx +0 -151
  297. package/src/extensions/compute.ts +0 -147
  298. package/src/extensions/index.ts +0 -6
  299. package/src/graph/compute-graph-registry.ts +0 -90
  300. package/src/graph/compute-graph.stories.tsx +0 -93
  301. package/src/graph/compute-graph.test.ts +0 -87
  302. package/src/graph/compute-graph.ts +0 -242
  303. package/src/graph/compute-node.ts +0 -63
  304. package/src/graph/functions/index.ts +0 -7
  305. package/src/graph/hyperformula.test.ts +0 -14
  306. package/src/graph/index.ts +0 -8
  307. package/src/graph/testing/index.ts +0 -6
  308. package/src/graph/testing/test-builder.ts +0 -54
  309. package/src/graph/util.ts +0 -8
  310. package/src/hooks/hooks.stories.tsx +0 -50
  311. package/src/hooks/index.ts +0 -7
  312. package/src/hooks/threads.ts +0 -147
  313. package/src/hooks/useComputeGraph.ts +0 -28
  314. package/src/hooks/useSheetModel.ts +0 -40
  315. package/src/meta.ts +0 -14
  316. package/src/model/decorations.ts +0 -64
  317. package/src/model/sheet-model.test.ts +0 -57
  318. package/src/model/sheet-model.ts +0 -418
  319. package/src/sanity.test.ts +0 -40
  320. package/src/testing/testing.tsx +0 -68
  321. /package/dist/types/src/{extensions/editor → components/CellEditor}/extension.test.d.ts +0 -0
  322. /package/dist/types/src/{defs → model}/types.test.d.ts +0 -0
  323. /package/src/{graph/functions/function-defs.ts → model/functions.ts} +0 -0
@@ -0,0 +1,202 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var chunk_CN3RPESU_exports = {};
30
+ __export(chunk_CN3RPESU_exports, {
31
+ ComputeGraphContextProvider: () => ComputeGraphContextProvider,
32
+ EdgeFunctionPlugin: () => EdgeFunctionPlugin,
33
+ EdgeFunctionPluginTranslations: () => EdgeFunctionPluginTranslations,
34
+ useComputeGraph: () => useComputeGraph
35
+ });
36
+ module.exports = __toCommonJS(chunk_CN3RPESU_exports);
37
+ var import_chunk_5KKJ4NPP = require("./chunk-5KKJ4NPP.cjs");
38
+ var import_signals_core = require("@preact/signals-core");
39
+ var import_hyperformula = require("hyperformula");
40
+ var import_echo = require("@dxos/client/echo");
41
+ var import_log = require("@dxos/log");
42
+ var import_edge = require("@dxos/plugin-script/edge");
43
+ var import_types = require("@dxos/plugin-script/types");
44
+ var import_util = require("@dxos/util");
45
+ var import_react = __toESM(require("react"));
46
+ var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-sheet/src/components/ComputeGraph/edge-function.ts";
47
+ var EDGE_FUNCTION_TTL = 1e4;
48
+ var EdgeFunctionPlugin = class extends import_chunk_5KKJ4NPP.FunctionPluginAsync {
49
+ edge(ast, state) {
50
+ const handler = (subscribe = false) => async (binding, ...args) => {
51
+ const space = this.context.space;
52
+ if (!space) {
53
+ return new import_hyperformula.CellError(import_hyperformula.ErrorType.REF, "Missing space");
54
+ }
55
+ const { objects: [fn] } = await space.db.query(import_echo.Filter.schema(import_types.FunctionType, {
56
+ binding
57
+ })).run();
58
+ if (!fn) {
59
+ import_log.log.info("Function not found", {
60
+ binding
61
+ }, {
62
+ F: __dxlog_file,
63
+ L: 39,
64
+ S: this,
65
+ C: (f, a) => f(...a)
66
+ });
67
+ return new import_hyperformula.CellError(import_hyperformula.ErrorType.REF, "Function not found");
68
+ }
69
+ if (subscribe) {
70
+ const unsubscribe = (0, import_signals_core.effect)(() => {
71
+ import_log.log.info("function changed", {
72
+ fn
73
+ }, {
74
+ F: __dxlog_file,
75
+ L: 45,
76
+ S: this,
77
+ C: (f, a) => f(...a)
78
+ });
79
+ const _ = fn?.version;
80
+ this.runAsyncFunction(ast, state, handler(false), {
81
+ ttl: EDGE_FUNCTION_TTL
82
+ });
83
+ });
84
+ this.context.createSubscription(ast.procedureName, unsubscribe);
85
+ }
86
+ const path = (0, import_edge.getUserFunctionUrlInMetadata)((0, import_echo.getMeta)(fn));
87
+ const result = await fetch(`${this.context.remoteFunctionUrl}${path}`, {
88
+ method: "POST",
89
+ headers: {
90
+ "Content-Type": "application/json"
91
+ },
92
+ body: JSON.stringify({
93
+ args: args.filter(import_util.nonNullable)
94
+ })
95
+ });
96
+ return await result.text();
97
+ };
98
+ return this.runAsyncFunction(ast, state, handler(true), {
99
+ ttl: EDGE_FUNCTION_TTL
100
+ });
101
+ }
102
+ };
103
+ EdgeFunctionPlugin.implementedFunctions = {
104
+ EDGE: {
105
+ method: "edge",
106
+ parameters: [
107
+ // Binding
108
+ {
109
+ argumentType: import_hyperformula.FunctionArgumentType.STRING
110
+ },
111
+ // Remote function arguments (currently supporting up to 9).
112
+ {
113
+ argumentType: import_hyperformula.FunctionArgumentType.ANY,
114
+ optionalArg: true
115
+ },
116
+ {
117
+ argumentType: import_hyperformula.FunctionArgumentType.ANY,
118
+ optionalArg: true
119
+ },
120
+ {
121
+ argumentType: import_hyperformula.FunctionArgumentType.ANY,
122
+ optionalArg: true
123
+ },
124
+ {
125
+ argumentType: import_hyperformula.FunctionArgumentType.ANY,
126
+ optionalArg: true
127
+ },
128
+ {
129
+ argumentType: import_hyperformula.FunctionArgumentType.ANY,
130
+ optionalArg: true
131
+ },
132
+ {
133
+ argumentType: import_hyperformula.FunctionArgumentType.ANY,
134
+ optionalArg: true
135
+ },
136
+ {
137
+ argumentType: import_hyperformula.FunctionArgumentType.ANY,
138
+ optionalArg: true
139
+ },
140
+ {
141
+ argumentType: import_hyperformula.FunctionArgumentType.ANY,
142
+ optionalArg: true
143
+ },
144
+ {
145
+ argumentType: import_hyperformula.FunctionArgumentType.ANY,
146
+ optionalArg: true
147
+ }
148
+ ],
149
+ isVolatile: true
150
+ }
151
+ };
152
+ var EdgeFunctionPluginTranslations = {
153
+ enGB: {
154
+ EDGE: "EDGE"
155
+ },
156
+ enUS: {
157
+ EDGE: "EDGE"
158
+ }
159
+ };
160
+ var ComputeGraphContext = /* @__PURE__ */ (0, import_react.createContext)({
161
+ graphs: {},
162
+ setGraph: () => {
163
+ }
164
+ });
165
+ var ComputeGraphContextProvider = ({ children, graphs, setGraph }) => {
166
+ return /* @__PURE__ */ import_react.default.createElement(ComputeGraphContext.Provider, {
167
+ value: {
168
+ graphs,
169
+ setGraph
170
+ }
171
+ }, children);
172
+ };
173
+ var useComputeGraph = (space, options) => {
174
+ const { graphs, setGraph } = (0, import_react.useContext)(ComputeGraphContext);
175
+ const graph = graphs[space.id] ?? (0, import_chunk_5KKJ4NPP.createComputeGraph)([
176
+ {
177
+ plugin: EdgeFunctionPlugin,
178
+ translations: EdgeFunctionPluginTranslations
179
+ },
180
+ // TODO(wittjosiah): Remove. Needed for current test sheet generated data.
181
+ {
182
+ plugin: import_chunk_5KKJ4NPP.CustomPlugin,
183
+ translations: import_chunk_5KKJ4NPP.CustomPluginTranslations
184
+ }
185
+ ], space, options);
186
+ (0, import_react.useEffect)(() => {
187
+ if (!graphs[space.id]) {
188
+ setGraph(space.id, graph);
189
+ }
190
+ }, [
191
+ space
192
+ ]);
193
+ return graph;
194
+ };
195
+ // Annotate the CommonJS export names for ESM import in node:
196
+ 0 && (module.exports = {
197
+ ComputeGraphContextProvider,
198
+ EdgeFunctionPlugin,
199
+ EdgeFunctionPluginTranslations,
200
+ useComputeGraph
201
+ });
202
+ //# sourceMappingURL=chunk-CN3RPESU.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/ComputeGraph/edge-function.ts", "../../../src/components/ComputeGraph/graph-context.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { effect } from '@preact/signals-core';\nimport { CellError, ErrorType, FunctionArgumentType } from 'hyperformula';\nimport { type InterpreterState } from 'hyperformula/typings/interpreter/InterpreterState';\nimport { type ProcedureAst } from 'hyperformula/typings/parser';\n\nimport { Filter, getMeta } from '@dxos/client/echo';\nimport { log } from '@dxos/log';\nimport { getUserFunctionUrlInMetadata } from '@dxos/plugin-script/edge';\nimport { FunctionType } from '@dxos/plugin-script/types';\nimport { nonNullable } from '@dxos/util';\n\nimport { type AsyncFunction, FunctionPluginAsync } from './async-function';\n\nconst EDGE_FUNCTION_TTL = 10_000;\n\n/**\n * A hyperformula function plugin for calling EDGE functions.\n *\n * https://hyperformula.handsontable.com/guide/custom-functions.html#add-a-simple-custom-function\n */\nexport class EdgeFunctionPlugin extends FunctionPluginAsync {\n edge(ast: ProcedureAst, state: InterpreterState) {\n const handler =\n (subscribe = false): AsyncFunction =>\n async (binding: string, ...args: any) => {\n const space = this.context.space;\n if (!space) {\n return new CellError(ErrorType.REF, 'Missing space');\n }\n\n const {\n objects: [fn],\n } = await space.db.query(Filter.schema(FunctionType, { binding })).run();\n if (!fn) {\n log.info('Function not found', { binding });\n return new CellError(ErrorType.REF, 'Function not found');\n }\n\n if (subscribe) {\n const unsubscribe = effect(() => {\n log.info('function changed', { fn });\n const _ = fn?.version;\n\n // TODO(wittjosiah): `ttl` should be 0 to force a recalculation when a new version is deployed.\n // This needs a ttl to prevent a binding change from causing the function not to be found.\n this.runAsyncFunction(ast, state, handler(false), { ttl: EDGE_FUNCTION_TTL });\n });\n\n this.context.createSubscription(ast.procedureName, unsubscribe);\n }\n\n const path = getUserFunctionUrlInMetadata(getMeta(fn));\n const result = await fetch(`${this.context.remoteFunctionUrl}${path}`, {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ args: args.filter(nonNullable) }),\n });\n return await result.text();\n };\n\n return this.runAsyncFunction(ast, state, handler(true), { ttl: EDGE_FUNCTION_TTL });\n }\n}\n\nEdgeFunctionPlugin.implementedFunctions = {\n EDGE: {\n method: 'edge',\n parameters: [\n // Binding\n { argumentType: FunctionArgumentType.STRING },\n\n // Remote function arguments (currently supporting up to 9).\n { argumentType: FunctionArgumentType.ANY, optionalArg: true },\n { argumentType: FunctionArgumentType.ANY, optionalArg: true },\n { argumentType: FunctionArgumentType.ANY, optionalArg: true },\n { argumentType: FunctionArgumentType.ANY, optionalArg: true },\n { argumentType: FunctionArgumentType.ANY, optionalArg: true },\n { argumentType: FunctionArgumentType.ANY, optionalArg: true },\n { argumentType: FunctionArgumentType.ANY, optionalArg: true },\n { argumentType: FunctionArgumentType.ANY, optionalArg: true },\n { argumentType: FunctionArgumentType.ANY, optionalArg: true },\n ],\n isVolatile: true,\n },\n};\n\nexport const EdgeFunctionPluginTranslations = {\n enGB: {\n EDGE: 'EDGE',\n },\n enUS: {\n EDGE: 'EDGE',\n },\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { createContext, type PropsWithChildren, useContext, useEffect } from 'react';\n\nimport { type Space } from '@dxos/react-client/echo';\n\nimport { type FunctionContextOptions } from './async-function';\nimport { CustomPlugin, CustomPluginTranslations } from './custom';\nimport { EdgeFunctionPlugin, EdgeFunctionPluginTranslations } from './edge-function';\nimport { createComputeGraph, type ComputeGraph } from './graph';\n\nexport type ComputeGraphContextType = {\n graphs: Record<string, ComputeGraph>;\n setGraph: (key: string, graph: ComputeGraph) => void;\n};\n\nexport const ComputeGraphContext = createContext<ComputeGraphContextType>({ graphs: {}, setGraph: () => {} });\n\nexport const ComputeGraphContextProvider = ({\n children,\n graphs,\n setGraph,\n}: PropsWithChildren<ComputeGraphContextType>) => {\n return <ComputeGraphContext.Provider value={{ graphs, setGraph }}>{children}</ComputeGraphContext.Provider>;\n};\n\nexport const useComputeGraph = (space: Space, options?: Partial<FunctionContextOptions>): ComputeGraph => {\n const { graphs, setGraph } = useContext(ComputeGraphContext);\n const graph =\n graphs[space.id] ??\n createComputeGraph(\n [\n { plugin: EdgeFunctionPlugin, translations: EdgeFunctionPluginTranslations },\n // TODO(wittjosiah): Remove. Needed for current test sheet generated data.\n { plugin: CustomPlugin, translations: CustomPluginTranslations },\n ],\n space,\n options,\n );\n\n useEffect(() => {\n if (!graphs[space.id]) {\n setGraph(space.id, graph);\n }\n }, [space]);\n\n return graph;\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["EDGE_FUNCTION_TTL", "EdgeFunctionPlugin", "FunctionPluginAsync", "edge", "ast", "state", "handler", "subscribe", "binding", "args", "space", "context", "CellError", "ErrorType", "REF", "objects", "fn", "db", "query", "Filter", "schema", "FunctionType", "run", "log", "info", "unsubscribe", "effect", "_", "version", "runAsyncFunction", "ttl", "createSubscription", "procedureName", "path", "getUserFunctionUrlInMetadata", "getMeta", "result", "fetch", "remoteFunctionUrl", "method", "headers", "body", "JSON", "stringify", "filter", "nonNullable", "text", "implementedFunctions", "EDGE", "parameters", "argumentType", "FunctionArgumentType", "STRING", "ANY", "optionalArg", "isVolatile", "EdgeFunctionPluginTranslations", "enGB", "enUS", "ComputeGraphContext", "createContext", "graphs", "setGraph", "ComputeGraphContextProvider", "children", "React", "Provider", "value", "useComputeGraph", "options", "useContext", "graph", "id", "createComputeGraph", "plugin", "translations", "CustomPlugin", "CustomPluginTranslations", "useEffect"]
7
+ }
@@ -16,19 +16,21 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var chunk_NZARD7UP_exports = {};
20
- __export(chunk_NZARD7UP_exports, {
19
+ var chunk_DSYKOI4E_exports = {};
20
+ __export(chunk_DSYKOI4E_exports, {
21
21
  CellValue: () => CellValue,
22
- Range: () => Range,
22
+ Formatting: () => Formatting,
23
23
  RowColumnMeta: () => RowColumnMeta,
24
24
  SheetAction: () => SheetAction,
25
- SheetType: () => SheetType
25
+ SheetType: () => SheetType,
26
+ ValueType: () => ValueType,
27
+ ValueTypeEnum: () => ValueTypeEnum,
28
+ createSheet: () => createSheet
26
29
  });
27
- module.exports = __toCommonJS(chunk_NZARD7UP_exports);
28
- var import_chunk_QIFIGEKV = require("./chunk-QIFIGEKV.cjs");
30
+ module.exports = __toCommonJS(chunk_DSYKOI4E_exports);
31
+ var import_chunk_BJ6ZD7MN = require("./chunk-BJ6ZD7MN.cjs");
29
32
  var import_echo_schema = require("@dxos/echo-schema");
30
- var import_types = require("@dxos/plugin-space/types");
31
- var SHEET_ACTION = `${import_chunk_QIFIGEKV.SHEET_PLUGIN}/action`;
33
+ var SHEET_ACTION = `${import_chunk_BJ6ZD7MN.SHEET_PLUGIN}/action`;
32
34
  var SheetAction;
33
35
  (function(SheetAction2) {
34
36
  SheetAction2[SheetAction2["CREATE"] = `${SHEET_ACTION}/create`] = "CREATE";
@@ -37,21 +39,29 @@ var CellValue = import_echo_schema.S.Struct({
37
39
  // TODO(burdon): How to store dates (datetime, date, time), percentages, etc.
38
40
  // Consider import/export; natural access for other plugins. Special handling for currency (precision).
39
41
  // TODO(burdon): Automerge (long string) or short string or number.
42
+ // TODO(burdon): Arrays?
40
43
  value: import_echo_schema.S.Any
41
44
  });
42
- var Range = import_echo_schema.S.Struct({
43
- range: import_echo_schema.S.Struct({
44
- from: import_echo_schema.S.Struct({
45
- col: import_echo_schema.S.Number,
46
- row: import_echo_schema.S.Number
47
- }),
48
- to: import_echo_schema.S.Struct({
49
- col: import_echo_schema.S.Number,
50
- row: import_echo_schema.S.Number
51
- })
52
- }),
53
- key: import_echo_schema.S.String,
54
- value: import_echo_schema.S.String
45
+ var ValueTypeEnum;
46
+ (function(ValueTypeEnum2) {
47
+ ValueTypeEnum2[ValueTypeEnum2["Null"] = 0] = "Null";
48
+ ValueTypeEnum2[ValueTypeEnum2["Number"] = 1] = "Number";
49
+ ValueTypeEnum2[ValueTypeEnum2["Boolean"] = 2] = "Boolean";
50
+ ValueTypeEnum2[ValueTypeEnum2["String"] = 3] = "String";
51
+ ValueTypeEnum2[ValueTypeEnum2["Percent"] = 10] = "Percent";
52
+ ValueTypeEnum2[ValueTypeEnum2["Currency"] = 11] = "Currency";
53
+ ValueTypeEnum2[ValueTypeEnum2["DateTime"] = 20] = "DateTime";
54
+ ValueTypeEnum2[ValueTypeEnum2["Date"] = 21] = "Date";
55
+ ValueTypeEnum2[ValueTypeEnum2["Time"] = 22] = "Time";
56
+ ValueTypeEnum2[ValueTypeEnum2["URL"] = 30] = "URL";
57
+ ValueTypeEnum2[ValueTypeEnum2["DID"] = 31] = "DID";
58
+ })(ValueTypeEnum || (ValueTypeEnum = {}));
59
+ var ValueType = import_echo_schema.S.Enums(ValueTypeEnum);
60
+ var Formatting = import_echo_schema.S.Struct({
61
+ type: import_echo_schema.S.optional(ValueType),
62
+ format: import_echo_schema.S.optional(import_echo_schema.S.String),
63
+ precision: import_echo_schema.S.optional(import_echo_schema.S.Number),
64
+ classNames: import_echo_schema.S.optional(import_echo_schema.S.Array(import_echo_schema.S.String))
55
65
  });
56
66
  var RowColumnMeta = import_echo_schema.S.Struct({
57
67
  size: import_echo_schema.S.optional(import_echo_schema.S.Number)
@@ -60,38 +70,39 @@ var SheetType = class extends (0, import_echo_schema.TypedObject)({
60
70
  typename: "dxos.org/type/SheetType",
61
71
  version: "0.1.0"
62
72
  })({
63
- name: import_echo_schema.S.optional(import_echo_schema.S.String),
73
+ title: import_echo_schema.S.optional(import_echo_schema.S.String),
64
74
  // Sparse map of cells referenced by index.
65
- cells: import_echo_schema.S.mutable(import_echo_schema.S.Record({
66
- key: import_echo_schema.S.String,
67
- value: import_echo_schema.S.mutable(CellValue)
68
- })),
75
+ cells: import_echo_schema.S.mutable(import_echo_schema.S.Record(import_echo_schema.S.String, import_echo_schema.S.mutable(CellValue))),
69
76
  // Ordered row indices.
70
77
  rows: import_echo_schema.S.mutable(import_echo_schema.S.Array(import_echo_schema.S.String)),
71
78
  // Ordered column indices.
72
79
  columns: import_echo_schema.S.mutable(import_echo_schema.S.Array(import_echo_schema.S.String)),
73
80
  // Row metadata referenced by index.
74
- rowMeta: import_echo_schema.S.mutable(import_echo_schema.S.Record({
75
- key: import_echo_schema.S.String,
76
- value: import_echo_schema.S.mutable(RowColumnMeta)
77
- })),
81
+ rowMeta: import_echo_schema.S.mutable(import_echo_schema.S.Record(import_echo_schema.S.String, import_echo_schema.S.mutable(RowColumnMeta))),
78
82
  // Column metadata referenced by index.
79
- columnMeta: import_echo_schema.S.mutable(import_echo_schema.S.Record({
80
- key: import_echo_schema.S.String,
81
- value: import_echo_schema.S.mutable(RowColumnMeta)
82
- })),
83
+ columnMeta: import_echo_schema.S.mutable(import_echo_schema.S.Record(import_echo_schema.S.String, import_echo_schema.S.mutable(RowColumnMeta))),
83
84
  // Cell formatting referenced by indexed range.
84
- ranges: import_echo_schema.S.mutable(import_echo_schema.S.Array(Range)),
85
- // Threads associated with the sheet
86
- threads: import_echo_schema.S.optional(import_echo_schema.S.mutable(import_echo_schema.S.Array((0, import_echo_schema.ref)(import_types.ThreadType))))
85
+ formatting: import_echo_schema.S.mutable(import_echo_schema.S.Record(import_echo_schema.S.String, import_echo_schema.S.mutable(Formatting)))
87
86
  }) {
88
87
  };
88
+ var createSheet = (title) => (0, import_echo_schema.create)(SheetType, {
89
+ title,
90
+ cells: {},
91
+ rows: [],
92
+ columns: [],
93
+ rowMeta: {},
94
+ columnMeta: {},
95
+ formatting: {}
96
+ });
89
97
  // Annotate the CommonJS export names for ESM import in node:
90
98
  0 && (module.exports = {
91
99
  CellValue,
92
- Range,
100
+ Formatting,
93
101
  RowColumnMeta,
94
102
  SheetAction,
95
- SheetType
103
+ SheetType,
104
+ ValueType,
105
+ ValueTypeEnum,
106
+ createSheet
96
107
  });
97
- //# sourceMappingURL=chunk-NZARD7UP.cjs.map
108
+ //# sourceMappingURL=chunk-DSYKOI4E.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/types.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport type {\n GraphBuilderProvides,\n IntentResolverProvides,\n MetadataRecordsProvides,\n SurfaceProvides,\n TranslationsProvides,\n} from '@dxos/app-framework';\nimport { create, S, TypedObject } from '@dxos/echo-schema';\nimport { type SchemaProvides } from '@dxos/plugin-client';\nimport { type StackProvides } from '@dxos/plugin-stack';\n\nimport { SHEET_PLUGIN } from './meta';\n\nconst SHEET_ACTION = `${SHEET_PLUGIN}/action`;\n\nexport enum SheetAction {\n CREATE = `${SHEET_ACTION}/create`,\n}\n\nexport type SheetPluginProvides = SurfaceProvides &\n IntentResolverProvides &\n GraphBuilderProvides &\n MetadataRecordsProvides &\n TranslationsProvides &\n SchemaProvides &\n StackProvides;\n\nexport type CellScalarValue = number | string | boolean | null;\n\nexport const CellValue = S.Struct({\n // TODO(burdon): How to store dates (datetime, date, time), percentages, etc.\n // Consider import/export; natural access for other plugins. Special handling for currency (precision).\n // TODO(burdon): Automerge (long string) or short string or number.\n // TODO(burdon): Arrays?\n value: S.Any,\n});\n\nexport type CellValue = S.Schema.Type<typeof CellValue>;\n\n/**\n * https://www.tutorialsteacher.com/typescript/typescript-number\n */\n// TODO(burdon): Format vs. value.\nexport enum ValueTypeEnum {\n Null = 0,\n Number = 1,\n Boolean = 2,\n String = 3,\n\n // Special numbers.\n Percent = 10,\n Currency = 11,\n\n // Dates.\n DateTime = 20,\n Date = 21,\n Time = 22,\n\n // Validated string types.\n // TODO(burdon): Define effect types.\n URL = 30,\n DID = 31,\n}\n\nexport const ValueType = S.Enums(ValueTypeEnum);\n\nexport const Formatting = S.Struct({\n type: S.optional(ValueType),\n format: S.optional(S.String),\n precision: S.optional(S.Number),\n classNames: S.optional(S.Array(S.String)),\n});\n\nexport type Formatting = S.Schema.Type<typeof Formatting>;\n\n// TODO(burdon): Visibility, locked, frozen, etc.\nexport const RowColumnMeta = S.Struct({\n size: S.optional(S.Number),\n});\n\n// TODO(burdon): Index to all updates when rows/columns are inserted/deleted.\n// TODO(wittjosiah): Migrate typename to remove `Type` suffix.\n// TODO(wittjosiah): Rename title to name to align with other schemas.\nexport class SheetType extends TypedObject({ typename: 'dxos.org/type/SheetType', version: '0.1.0' })({\n title: S.optional(S.String),\n\n // Sparse map of cells referenced by index.\n cells: S.mutable(S.Record(S.String, S.mutable(CellValue))),\n\n // Ordered row indices.\n rows: S.mutable(S.Array(S.String)),\n\n // Ordered column indices.\n columns: S.mutable(S.Array(S.String)),\n\n // Row metadata referenced by index.\n rowMeta: S.mutable(S.Record(S.String, S.mutable(RowColumnMeta))),\n\n // Column metadata referenced by index.\n columnMeta: S.mutable(S.Record(S.String, S.mutable(RowColumnMeta))),\n\n // Cell formatting referenced by indexed range.\n formatting: S.mutable(S.Record(S.String, S.mutable(Formatting))),\n}) {}\n\n// TODO(burdon): Fix defaults.\nexport const createSheet = (title?: string): SheetType =>\n create(SheetType, { title, cells: {}, rows: [], columns: [], rowMeta: {}, columnMeta: {}, formatting: {} });\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,yBAAuC;AAMvC,IAAMA,eAAe,GAAGC,kCAAAA;;UAEZC,cAAAA;wCACD,GAAGF,YAAAA,SAAqB,IAAA;GADvBE,gBAAAA,cAAAA,CAAAA,EAAAA;AAcL,IAAMC,YAAYC,qBAAEC,OAAO;;;;;EAKhCC,OAAOF,qBAAEG;AACX,CAAA;;UAQYC,gBAAAA;;;;;;;;;;;;GAAAA,kBAAAA,gBAAAA,CAAAA,EAAAA;AAqBL,IAAMC,YAAYL,qBAAEM,MAAMF,aAAAA;AAE1B,IAAMG,aAAaP,qBAAEC,OAAO;EACjCO,MAAMR,qBAAES,SAASJ,SAAAA;EACjBK,QAAQV,qBAAES,SAAST,qBAAEW,MAAM;EAC3BC,WAAWZ,qBAAES,SAAST,qBAAEa,MAAM;EAC9BC,YAAYd,qBAAES,SAAST,qBAAEe,MAAMf,qBAAEW,MAAM,CAAA;AACzC,CAAA;AAKO,IAAMK,gBAAgBhB,qBAAEC,OAAO;EACpCgB,MAAMjB,qBAAES,SAAST,qBAAEa,MAAM;AAC3B,CAAA;AAKO,IAAMK,YAAN,kBAAwBC,gCAAY;EAAEC,UAAU;EAA2BC,SAAS;AAAQ,CAAA,EAAG;EACpGC,OAAOtB,qBAAES,SAAST,qBAAEW,MAAM;;EAG1BY,OAAOvB,qBAAEwB,QAAQxB,qBAAEyB,OAAOzB,qBAAEW,QAAQX,qBAAEwB,QAAQzB,SAAAA,CAAAA,CAAAA;;EAG9C2B,MAAM1B,qBAAEwB,QAAQxB,qBAAEe,MAAMf,qBAAEW,MAAM,CAAA;;EAGhCgB,SAAS3B,qBAAEwB,QAAQxB,qBAAEe,MAAMf,qBAAEW,MAAM,CAAA;;EAGnCiB,SAAS5B,qBAAEwB,QAAQxB,qBAAEyB,OAAOzB,qBAAEW,QAAQX,qBAAEwB,QAAQR,aAAAA,CAAAA,CAAAA;;EAGhDa,YAAY7B,qBAAEwB,QAAQxB,qBAAEyB,OAAOzB,qBAAEW,QAAQX,qBAAEwB,QAAQR,aAAAA,CAAAA,CAAAA;;EAGnDc,YAAY9B,qBAAEwB,QAAQxB,qBAAEyB,OAAOzB,qBAAEW,QAAQX,qBAAEwB,QAAQjB,UAAAA,CAAAA,CAAAA;AACrD,CAAA,EAAA;AAAI;AAGG,IAAMwB,cAAc,CAACT,cAC1BU,2BAAOd,WAAW;EAAEI;EAAOC,OAAO,CAAC;EAAGG,MAAM,CAAA;EAAIC,SAAS,CAAA;EAAIC,SAAS,CAAC;EAAGC,YAAY,CAAC;EAAGC,YAAY,CAAC;AAAE,CAAA;",
6
+ "names": ["SHEET_ACTION", "SHEET_PLUGIN", "SheetAction", "CellValue", "S", "Struct", "value", "Any", "ValueTypeEnum", "ValueType", "Enums", "Formatting", "type", "optional", "format", "String", "precision", "Number", "classNames", "Array", "RowColumnMeta", "size", "SheetType", "TypedObject", "typename", "version", "title", "cells", "mutable", "Record", "rows", "columns", "rowMeta", "columnMeta", "formatting", "createSheet", "create"]
7
+ }
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var chunk_PYXHNAAK_exports = {};
30
+ __export(chunk_PYXHNAAK_exports, {
31
+ SheetContainer: () => SheetContainer
32
+ });
33
+ module.exports = __toCommonJS(chunk_PYXHNAAK_exports);
34
+ var import_react = __toESM(require("react"));
35
+ var SheetContainer = import_react.default.lazy(() => import("./SheetContainer-AXQV3ZT5.cjs"));
36
+ // Annotate the CommonJS export names for ESM import in node:
37
+ 0 && (module.exports = {
38
+ SheetContainer
39
+ });
40
+ //# sourceMappingURL=chunk-PYXHNAAK.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/index.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nexport * from './ComputeGraph';\n\n// Lazily load components for content surfaces.\nexport const SheetContainer = React.lazy(() => import('./SheetContainer'));\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,mBAAkB;AAKX,IAAMA,iBAAiBC,aAAAA,QAAMC,KAAK,MAAM,OAAO,+BAAA,CAAA;",
6
+ "names": ["SheetContainer", "React", "lazy"]
7
+ }