@dxos/plugin-sheet 0.8.4-main.dedc0f3 → 0.8.4-main.dfabb4ec29

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 (357) hide show
  1. package/dist/lib/neutral/RangeList-HYB5S6KQ.mjs +46 -0
  2. package/dist/lib/neutral/RangeList-HYB5S6KQ.mjs.map +7 -0
  3. package/dist/lib/neutral/SheetContainer-ZOVKGHLT.mjs +33 -0
  4. package/dist/lib/neutral/SheetContainer-ZOVKGHLT.mjs.map +7 -0
  5. package/dist/lib/neutral/SheetPlugin.mjs +48 -0
  6. package/dist/lib/neutral/SheetPlugin.mjs.map +7 -0
  7. package/dist/lib/neutral/SheetPlugin.node.mjs +27 -0
  8. package/dist/lib/neutral/SheetPlugin.node.mjs.map +7 -0
  9. package/dist/lib/neutral/anchor-sort-TTCKGX7V.mjs +22 -0
  10. package/dist/lib/neutral/anchor-sort-TTCKGX7V.mjs.map +7 -0
  11. package/dist/lib/neutral/capabilities/index.mjs +25 -0
  12. package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
  13. package/dist/lib/neutral/chunk-4GWJDLTH.mjs +83 -0
  14. package/dist/lib/neutral/chunk-4GWJDLTH.mjs.map +7 -0
  15. package/dist/lib/{browser/chunk-SSN4HYJL.mjs → neutral/chunk-4SBAIU6F.mjs} +19 -19
  16. package/dist/lib/neutral/chunk-4SBAIU6F.mjs.map +7 -0
  17. package/dist/lib/neutral/chunk-J5LGTIGS.mjs +10 -0
  18. package/dist/lib/neutral/chunk-KC2SMDNF.mjs +373 -0
  19. package/dist/lib/neutral/chunk-KC2SMDNF.mjs.map +7 -0
  20. package/dist/lib/neutral/chunk-YFHTB6MX.mjs +8 -0
  21. package/dist/lib/neutral/chunk-YFHTB6MX.mjs.map +7 -0
  22. package/dist/lib/neutral/chunk-ZWOQCLH7.mjs +21 -0
  23. package/dist/lib/neutral/chunk-ZWOQCLH7.mjs.map +7 -0
  24. package/dist/lib/neutral/comment-config-ZBWNCJMZ.mjs +20 -0
  25. package/dist/lib/neutral/comment-config-ZBWNCJMZ.mjs.map +7 -0
  26. package/dist/lib/neutral/components/index.mjs +1551 -0
  27. package/dist/lib/neutral/components/index.mjs.map +7 -0
  28. package/dist/lib/neutral/compute-graph-registry-IEQBF5XZ.mjs +20 -0
  29. package/dist/lib/neutral/compute-graph-registry-IEQBF5XZ.mjs.map +7 -0
  30. package/dist/lib/neutral/containers/index.mjs +11 -0
  31. package/dist/lib/neutral/containers/index.mjs.map +7 -0
  32. package/dist/lib/neutral/create-object-OKQAXJCW.mjs +27 -0
  33. package/dist/lib/neutral/create-object-OKQAXJCW.mjs.map +7 -0
  34. package/dist/lib/neutral/drop-axis-G6UOXG54.mjs +23 -0
  35. package/dist/lib/neutral/drop-axis-G6UOXG54.mjs.map +7 -0
  36. package/dist/lib/{node-esm/types → neutral}/index.mjs +16 -13
  37. package/dist/lib/neutral/insert-axis-ZFFNG22G.mjs +16 -0
  38. package/dist/lib/neutral/insert-axis-ZFFNG22G.mjs.map +7 -0
  39. package/dist/lib/neutral/markdown-I2AKJYPF.mjs +28 -0
  40. package/dist/lib/neutral/markdown-I2AKJYPF.mjs.map +7 -0
  41. package/dist/lib/neutral/meta.json +1 -0
  42. package/dist/lib/neutral/meta.mjs +8 -0
  43. package/dist/lib/neutral/meta.mjs.map +7 -0
  44. package/dist/lib/neutral/operation-handler-TB6LFV2H.mjs +13 -0
  45. package/dist/lib/neutral/operation-handler-TB6LFV2H.mjs.map +7 -0
  46. package/dist/lib/neutral/operations/index.mjs +8 -0
  47. package/dist/lib/neutral/operations/index.mjs.map +7 -0
  48. package/dist/lib/neutral/plugin.mjs +16 -0
  49. package/dist/lib/neutral/plugin.mjs.map +7 -0
  50. package/dist/lib/neutral/react-surface-ID4JCAFR.mjs +44 -0
  51. package/dist/lib/neutral/react-surface-ID4JCAFR.mjs.map +7 -0
  52. package/dist/lib/neutral/restore-axis-44DM6N54.mjs +16 -0
  53. package/dist/lib/neutral/restore-axis-44DM6N54.mjs.map +7 -0
  54. package/dist/lib/neutral/scroll-to-anchor-WHX3HJC7.mjs +33 -0
  55. package/dist/lib/neutral/scroll-to-anchor-WHX3HJC7.mjs.map +7 -0
  56. package/dist/lib/neutral/state-HPA27MX2.mjs +29 -0
  57. package/dist/lib/neutral/state-HPA27MX2.mjs.map +7 -0
  58. package/dist/lib/neutral/testing/index.mjs +103 -0
  59. package/dist/lib/neutral/testing/index.mjs.map +7 -0
  60. package/dist/lib/neutral/translations.mjs +55 -0
  61. package/dist/lib/neutral/translations.mjs.map +7 -0
  62. package/dist/lib/{browser → neutral}/types/index.mjs +8 -12
  63. package/dist/lib/neutral/types/index.mjs.map +7 -0
  64. package/dist/lib/neutral/undo-mappings-3FQLSTCZ.mjs +31 -0
  65. package/dist/lib/neutral/undo-mappings-3FQLSTCZ.mjs.map +7 -0
  66. package/dist/types/src/SheetPlugin.d.ts +3 -1
  67. package/dist/types/src/SheetPlugin.d.ts.map +1 -1
  68. package/dist/types/src/SheetPlugin.node.d.ts +4 -0
  69. package/dist/types/src/SheetPlugin.node.d.ts.map +1 -0
  70. package/dist/types/src/SheetPlugin.test.d.ts +2 -0
  71. package/dist/types/src/SheetPlugin.test.d.ts.map +1 -0
  72. package/dist/types/src/capabilities/anchor-sort.d.ts +4 -4
  73. package/dist/types/src/capabilities/anchor-sort.d.ts.map +1 -1
  74. package/dist/types/src/capabilities/comment-config.d.ts +12 -0
  75. package/dist/types/src/capabilities/comment-config.d.ts.map +1 -0
  76. package/dist/types/src/capabilities/compute-graph-registry.d.ts +3 -2
  77. package/dist/types/src/capabilities/compute-graph-registry.d.ts.map +1 -1
  78. package/dist/types/src/capabilities/create-object.d.ts +11 -0
  79. package/dist/types/src/capabilities/create-object.d.ts.map +1 -0
  80. package/dist/types/src/capabilities/index.d.ts +23 -9
  81. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  82. package/dist/types/src/capabilities/markdown.d.ts +3 -2
  83. package/dist/types/src/capabilities/markdown.d.ts.map +1 -1
  84. package/dist/types/src/capabilities/operation-handler.d.ts +6 -0
  85. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
  86. package/dist/types/src/capabilities/react-surface.d.ts +3 -2
  87. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  88. package/dist/types/src/capabilities/state.d.ts +6 -0
  89. package/dist/types/src/capabilities/state.d.ts.map +1 -0
  90. package/dist/types/src/capabilities/undo-mappings.d.ts +5 -0
  91. package/dist/types/src/capabilities/undo-mappings.d.ts.map +1 -0
  92. package/dist/types/src/components/ComputeGraph/ComputeGraphContextProvider.d.ts +1 -1
  93. package/dist/types/src/components/ComputeGraph/ComputeGraphContextProvider.d.ts.map +1 -1
  94. package/dist/types/src/components/ComputeGraph/compute-graph.stories.d.ts +0 -1
  95. package/dist/types/src/components/ComputeGraph/compute-graph.stories.d.ts.map +1 -1
  96. package/dist/types/src/components/Sheet/Sheet.d.ts +17 -0
  97. package/dist/types/src/components/Sheet/Sheet.d.ts.map +1 -0
  98. package/dist/types/src/components/Sheet/index.d.ts +2 -0
  99. package/dist/types/src/components/Sheet/index.d.ts.map +1 -0
  100. package/dist/types/src/components/{GridSheet → SheetContent}/SheetCellEditor.stories.d.ts +2 -3
  101. package/dist/types/src/components/SheetContent/SheetCellEditor.stories.d.ts.map +1 -0
  102. package/dist/types/src/components/SheetContent/SheetContent.d.ts +6 -0
  103. package/dist/types/src/components/SheetContent/SheetContent.d.ts.map +1 -0
  104. package/dist/types/src/components/SheetContent/SheetContent.stories.d.ts +93 -0
  105. package/dist/types/src/components/SheetContent/SheetContent.stories.d.ts.map +1 -0
  106. package/dist/types/src/components/SheetContent/index.d.ts +2 -0
  107. package/dist/types/src/components/SheetContent/index.d.ts.map +1 -0
  108. package/dist/types/src/components/{GridSheet → SheetContent}/util.d.ts +1 -1
  109. package/dist/types/src/components/SheetContent/util.d.ts.map +1 -0
  110. package/dist/types/src/components/{SheetContext/SheetContext.d.ts → SheetRoot/SheetRoot.d.ts} +9 -7
  111. package/dist/types/src/components/SheetRoot/SheetRoot.d.ts.map +1 -0
  112. package/dist/types/src/components/SheetRoot/index.d.ts +2 -0
  113. package/dist/types/src/components/SheetRoot/index.d.ts.map +1 -0
  114. package/dist/types/src/components/SheetStatusbar/SheetStatusbar.d.ts +6 -0
  115. package/dist/types/src/components/SheetStatusbar/SheetStatusbar.d.ts.map +1 -0
  116. package/dist/types/src/components/SheetStatusbar/index.d.ts +2 -0
  117. package/dist/types/src/components/SheetStatusbar/index.d.ts.map +1 -0
  118. package/dist/types/src/components/SheetToolbar/SheetToolbar.d.ts +5 -6
  119. package/dist/types/src/components/SheetToolbar/SheetToolbar.d.ts.map +1 -1
  120. package/dist/types/src/components/SheetToolbar/SheetToolbar.stories.d.ts +73 -68
  121. package/dist/types/src/components/SheetToolbar/SheetToolbar.stories.d.ts.map +1 -1
  122. package/dist/types/src/components/SheetToolbar/align.d.ts +14 -21
  123. package/dist/types/src/components/SheetToolbar/align.d.ts.map +1 -1
  124. package/dist/types/src/components/SheetToolbar/style.d.ts +14 -20
  125. package/dist/types/src/components/SheetToolbar/style.d.ts.map +1 -1
  126. package/dist/types/src/components/SheetToolbar/useToolbarState.d.ts +14 -1
  127. package/dist/types/src/components/SheetToolbar/useToolbarState.d.ts.map +1 -1
  128. package/dist/types/src/components/index.d.ts +1 -4
  129. package/dist/types/src/components/index.d.ts.map +1 -1
  130. package/dist/types/src/containers/RangeList/RangeList.d.ts +7 -0
  131. package/dist/types/src/containers/RangeList/RangeList.d.ts.map +1 -0
  132. package/dist/types/src/containers/RangeList/index.d.ts +2 -0
  133. package/dist/types/src/containers/RangeList/index.d.ts.map +1 -0
  134. package/dist/types/src/containers/SheetContainer/SheetContainer.d.ts +12 -0
  135. package/dist/types/src/containers/SheetContainer/SheetContainer.d.ts.map +1 -0
  136. package/dist/types/src/containers/SheetContainer/SheetContainer.stories.d.ts +92 -0
  137. package/dist/types/src/containers/SheetContainer/SheetContainer.stories.d.ts.map +1 -0
  138. package/dist/types/src/containers/SheetContainer/index.d.ts +2 -0
  139. package/dist/types/src/containers/SheetContainer/index.d.ts.map +1 -0
  140. package/dist/types/src/containers/index.d.ts +4 -0
  141. package/dist/types/src/containers/index.d.ts.map +1 -0
  142. package/dist/types/src/extensions/compute.d.ts +1 -1
  143. package/dist/types/src/extensions/compute.d.ts.map +1 -1
  144. package/dist/types/src/extensions/compute.stories.d.ts +2 -3
  145. package/dist/types/src/extensions/compute.stories.d.ts.map +1 -1
  146. package/dist/types/src/extensions/editor/sheet-extension.d.ts +1 -1
  147. package/dist/types/src/extensions/editor/sheet-extension.d.ts.map +1 -1
  148. package/dist/types/src/index.d.ts +2 -2
  149. package/dist/types/src/index.d.ts.map +1 -1
  150. package/dist/types/src/integrations/thread-ranges.d.ts +1 -3
  151. package/dist/types/src/integrations/thread-ranges.d.ts.map +1 -1
  152. package/dist/types/src/meta.d.ts +2 -3
  153. package/dist/types/src/meta.d.ts.map +1 -1
  154. package/dist/types/src/model/sheet-model.d.ts +7 -7
  155. package/dist/types/src/model/sheet-model.d.ts.map +1 -1
  156. package/dist/types/src/model/testing.d.ts +2 -2
  157. package/dist/types/src/model/testing.d.ts.map +1 -1
  158. package/dist/types/src/model/useSheetModel.d.ts +3 -3
  159. package/dist/types/src/model/useSheetModel.d.ts.map +1 -1
  160. package/dist/types/src/operations/drop-axis.d.ts +5 -0
  161. package/dist/types/src/operations/drop-axis.d.ts.map +1 -0
  162. package/dist/types/src/operations/index.d.ts +3 -0
  163. package/dist/types/src/operations/index.d.ts.map +1 -0
  164. package/dist/types/src/operations/insert-axis.d.ts +5 -0
  165. package/dist/types/src/operations/insert-axis.d.ts.map +1 -0
  166. package/dist/types/src/operations/restore-axis.d.ts +5 -0
  167. package/dist/types/src/operations/restore-axis.d.ts.map +1 -0
  168. package/dist/types/src/operations/scroll-to-anchor.d.ts +5 -0
  169. package/dist/types/src/operations/scroll-to-anchor.d.ts.map +1 -0
  170. package/dist/types/src/playwright/playwright.config.d.ts.map +1 -1
  171. package/dist/types/src/playwright/sheet-manager.d.ts.map +1 -1
  172. package/dist/types/src/plugin.d.ts +4 -0
  173. package/dist/types/src/plugin.d.ts.map +1 -0
  174. package/dist/types/src/serializer.d.ts +3 -3
  175. package/dist/types/src/serializer.d.ts.map +1 -1
  176. package/dist/types/src/testing/data.d.ts +2 -2
  177. package/dist/types/src/testing/data.d.ts.map +1 -1
  178. package/dist/types/src/testing/testing.d.ts +28 -4
  179. package/dist/types/src/testing/testing.d.ts.map +1 -1
  180. package/dist/types/src/translations.d.ts +74 -38
  181. package/dist/types/src/translations.d.ts.map +1 -1
  182. package/dist/types/src/types/Sheet.d.ts +76 -0
  183. package/dist/types/src/types/Sheet.d.ts.map +1 -0
  184. package/dist/types/src/types/SheetCapabilities.d.ts +16 -0
  185. package/dist/types/src/types/SheetCapabilities.d.ts.map +1 -0
  186. package/dist/types/src/types/SheetOperation.d.ts +45 -0
  187. package/dist/types/src/types/SheetOperation.d.ts.map +1 -0
  188. package/dist/types/src/types/index.d.ts +3 -1
  189. package/dist/types/src/types/index.d.ts.map +1 -1
  190. package/dist/types/src/types/sheet-range-types.d.ts +2 -2
  191. package/dist/types/src/types/sheet-range-types.d.ts.map +1 -1
  192. package/dist/types/src/types/types.d.ts +3 -78
  193. package/dist/types/src/types/types.d.ts.map +1 -1
  194. package/dist/types/src/types/util.d.ts +11 -11
  195. package/dist/types/src/types/util.d.ts.map +1 -1
  196. package/dist/types/tsconfig.tsbuildinfo +1 -1
  197. package/package.json +131 -81
  198. package/src/SheetPlugin.node.ts +21 -0
  199. package/src/SheetPlugin.test.ts +30 -0
  200. package/src/SheetPlugin.tsx +46 -68
  201. package/src/capabilities/anchor-sort.ts +20 -15
  202. package/src/capabilities/comment-config.ts +24 -0
  203. package/src/capabilities/compute-graph-registry.ts +21 -20
  204. package/src/capabilities/create-object.ts +30 -0
  205. package/src/capabilities/index.ts +16 -8
  206. package/src/capabilities/markdown.ts +21 -13
  207. package/src/capabilities/operation-handler.ts +16 -0
  208. package/src/capabilities/react-surface.tsx +38 -29
  209. package/src/capabilities/state.ts +29 -0
  210. package/src/capabilities/undo-mappings.ts +30 -0
  211. package/src/components/ComputeGraph/ComputeGraphContextProvider.tsx +1 -1
  212. package/src/components/ComputeGraph/compute-graph.stories.tsx +23 -22
  213. package/src/components/Sheet/Sheet.tsx +20 -0
  214. package/src/components/Sheet/index.ts +5 -0
  215. package/src/components/{GridSheet → SheetContent}/SheetCellEditor.stories.tsx +18 -15
  216. package/src/components/SheetContent/SheetContent.stories.tsx +60 -0
  217. package/src/components/{GridSheet/GridSheet.tsx → SheetContent/SheetContent.tsx} +84 -54
  218. package/src/components/{RangeList → SheetContent}/index.ts +1 -1
  219. package/src/components/{GridSheet → SheetContent}/util.ts +17 -10
  220. package/src/components/{SheetContext/SheetContext.tsx → SheetRoot/SheetRoot.tsx} +55 -42
  221. package/src/components/{GridSheet → SheetRoot}/index.ts +1 -1
  222. package/src/components/{FunctionEditor/FunctionEditor.tsx → SheetStatusbar/SheetStatusbar.tsx} +19 -7
  223. package/src/components/{FunctionEditor → SheetStatusbar}/index.ts +1 -1
  224. package/src/components/SheetToolbar/SheetToolbar.stories.tsx +11 -8
  225. package/src/components/SheetToolbar/SheetToolbar.tsx +51 -46
  226. package/src/components/SheetToolbar/align.ts +50 -25
  227. package/src/components/SheetToolbar/style.ts +52 -22
  228. package/src/components/SheetToolbar/useToolbarState.ts +22 -5
  229. package/src/components/index.ts +1 -7
  230. package/src/containers/RangeList/RangeList.tsx +65 -0
  231. package/src/containers/RangeList/index.ts +5 -0
  232. package/src/containers/SheetContainer/SheetContainer.stories.tsx +110 -0
  233. package/src/containers/SheetContainer/SheetContainer.tsx +57 -0
  234. package/src/containers/SheetContainer/index.ts +5 -0
  235. package/src/containers/index.ts +8 -0
  236. package/src/extensions/compute.stories.tsx +38 -25
  237. package/src/extensions/compute.ts +2 -2
  238. package/src/extensions/editor/sheet-extension.test.ts +1 -1
  239. package/src/extensions/editor/sheet-extension.ts +18 -15
  240. package/src/index.ts +2 -2
  241. package/src/integrations/thread-ranges.ts +19 -61
  242. package/src/meta.ts +9 -7
  243. package/src/model/sheet-model.test.ts +6 -6
  244. package/src/model/sheet-model.ts +82 -50
  245. package/src/model/testing.ts +5 -5
  246. package/src/model/useSheetModel.ts +4 -3
  247. package/src/operations/drop-axis.ts +26 -0
  248. package/src/operations/index.ts +12 -0
  249. package/src/operations/insert-axis.ts +19 -0
  250. package/src/operations/restore-axis.ts +19 -0
  251. package/src/operations/scroll-to-anchor.ts +30 -0
  252. package/src/playwright/playwright.config.ts +1 -1
  253. package/src/playwright/sheet.spec.ts +4 -3
  254. package/src/plugin.ts +11 -0
  255. package/src/sanity.test.ts +5 -3
  256. package/src/serializer.ts +5 -5
  257. package/src/testing/data.ts +2 -2
  258. package/src/testing/testing.tsx +13 -7
  259. package/src/translations.ts +42 -36
  260. package/src/types/Sheet.ts +103 -0
  261. package/src/types/SheetCapabilities.ts +26 -0
  262. package/src/types/SheetOperation.ts +75 -0
  263. package/src/types/index.ts +4 -1
  264. package/src/types/sheet-range-types.ts +5 -5
  265. package/src/types/types.ts +6 -52
  266. package/src/types/util.ts +12 -39
  267. package/dist/lib/browser/SheetContainer-OUN6AARA.mjs +0 -350
  268. package/dist/lib/browser/SheetContainer-OUN6AARA.mjs.map +0 -7
  269. package/dist/lib/browser/anchor-sort-7WD2VGXW.mjs +0 -24
  270. package/dist/lib/browser/anchor-sort-7WD2VGXW.mjs.map +0 -7
  271. package/dist/lib/browser/chunk-6AKBCBL4.mjs +0 -18
  272. package/dist/lib/browser/chunk-6AKBCBL4.mjs.map +0 -7
  273. package/dist/lib/browser/chunk-KJWZUQVA.mjs +0 -15
  274. package/dist/lib/browser/chunk-KJWZUQVA.mjs.map +0 -7
  275. package/dist/lib/browser/chunk-SSN4HYJL.mjs.map +0 -7
  276. package/dist/lib/browser/chunk-X4EWLDT3.mjs +0 -851
  277. package/dist/lib/browser/chunk-X4EWLDT3.mjs.map +0 -7
  278. package/dist/lib/browser/chunk-XSXUU6FO.mjs +0 -906
  279. package/dist/lib/browser/chunk-XSXUU6FO.mjs.map +0 -7
  280. package/dist/lib/browser/compute-graph-registry-6YJHXORG.mjs +0 -30
  281. package/dist/lib/browser/compute-graph-registry-6YJHXORG.mjs.map +0 -7
  282. package/dist/lib/browser/index.mjs +0 -155
  283. package/dist/lib/browser/index.mjs.map +0 -7
  284. package/dist/lib/browser/intent-resolver-ROEY4LHM.mjs +0 -56
  285. package/dist/lib/browser/intent-resolver-ROEY4LHM.mjs.map +0 -7
  286. package/dist/lib/browser/markdown-VOY636TS.mjs +0 -26
  287. package/dist/lib/browser/markdown-VOY636TS.mjs.map +0 -7
  288. package/dist/lib/browser/meta.json +0 -1
  289. package/dist/lib/browser/react-surface-XCNAVF2M.mjs +0 -53
  290. package/dist/lib/browser/react-surface-XCNAVF2M.mjs.map +0 -7
  291. package/dist/lib/node-esm/SheetContainer-NFLLTGNV.mjs +0 -351
  292. package/dist/lib/node-esm/SheetContainer-NFLLTGNV.mjs.map +0 -7
  293. package/dist/lib/node-esm/anchor-sort-ACQDUIPU.mjs +0 -25
  294. package/dist/lib/node-esm/anchor-sort-ACQDUIPU.mjs.map +0 -7
  295. package/dist/lib/node-esm/chunk-3K5VNYOF.mjs +0 -20
  296. package/dist/lib/node-esm/chunk-3K5VNYOF.mjs.map +0 -7
  297. package/dist/lib/node-esm/chunk-6SK5LJ5S.mjs +0 -16
  298. package/dist/lib/node-esm/chunk-6SK5LJ5S.mjs.map +0 -7
  299. package/dist/lib/node-esm/chunk-IK4O7FUJ.mjs +0 -236
  300. package/dist/lib/node-esm/chunk-IK4O7FUJ.mjs.map +0 -7
  301. package/dist/lib/node-esm/chunk-ODP4L4OV.mjs +0 -907
  302. package/dist/lib/node-esm/chunk-ODP4L4OV.mjs.map +0 -7
  303. package/dist/lib/node-esm/chunk-PYF4ZJXN.mjs +0 -852
  304. package/dist/lib/node-esm/chunk-PYF4ZJXN.mjs.map +0 -7
  305. package/dist/lib/node-esm/compute-graph-registry-ET5KJNLV.mjs +0 -31
  306. package/dist/lib/node-esm/compute-graph-registry-ET5KJNLV.mjs.map +0 -7
  307. package/dist/lib/node-esm/index.mjs +0 -156
  308. package/dist/lib/node-esm/index.mjs.map +0 -7
  309. package/dist/lib/node-esm/intent-resolver-HESRI2ML.mjs +0 -57
  310. package/dist/lib/node-esm/intent-resolver-HESRI2ML.mjs.map +0 -7
  311. package/dist/lib/node-esm/markdown-P4CLZ24C.mjs +0 -27
  312. package/dist/lib/node-esm/markdown-P4CLZ24C.mjs.map +0 -7
  313. package/dist/lib/node-esm/meta.json +0 -1
  314. package/dist/lib/node-esm/react-surface-KE3EEVF4.mjs +0 -54
  315. package/dist/lib/node-esm/react-surface-KE3EEVF4.mjs.map +0 -7
  316. package/dist/types/src/capabilities/capabilities.d.ts +0 -5
  317. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  318. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  319. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  320. package/dist/types/src/components/FunctionEditor/FunctionEditor.d.ts +0 -3
  321. package/dist/types/src/components/FunctionEditor/FunctionEditor.d.ts.map +0 -1
  322. package/dist/types/src/components/FunctionEditor/index.d.ts +0 -2
  323. package/dist/types/src/components/FunctionEditor/index.d.ts.map +0 -1
  324. package/dist/types/src/components/GridSheet/GridSheet.d.ts +0 -3
  325. package/dist/types/src/components/GridSheet/GridSheet.d.ts.map +0 -1
  326. package/dist/types/src/components/GridSheet/GridSheet.stories.d.ts +0 -54
  327. package/dist/types/src/components/GridSheet/GridSheet.stories.d.ts.map +0 -1
  328. package/dist/types/src/components/GridSheet/SheetCellEditor.stories.d.ts.map +0 -1
  329. package/dist/types/src/components/GridSheet/index.d.ts +0 -2
  330. package/dist/types/src/components/GridSheet/index.d.ts.map +0 -1
  331. package/dist/types/src/components/GridSheet/util.d.ts.map +0 -1
  332. package/dist/types/src/components/RangeList/RangeList.d.ts +0 -7
  333. package/dist/types/src/components/RangeList/RangeList.d.ts.map +0 -1
  334. package/dist/types/src/components/RangeList/index.d.ts +0 -2
  335. package/dist/types/src/components/RangeList/index.d.ts.map +0 -1
  336. package/dist/types/src/components/SheetContainer/SheetContainer.d.ts +0 -11
  337. package/dist/types/src/components/SheetContainer/SheetContainer.d.ts.map +0 -1
  338. package/dist/types/src/components/SheetContainer/SheetContainer.stories.d.ts +0 -55
  339. package/dist/types/src/components/SheetContainer/SheetContainer.stories.d.ts.map +0 -1
  340. package/dist/types/src/components/SheetContainer/index.d.ts +0 -3
  341. package/dist/types/src/components/SheetContainer/index.d.ts.map +0 -1
  342. package/dist/types/src/components/SheetContext/SheetContext.d.ts.map +0 -1
  343. package/dist/types/src/components/SheetContext/index.d.ts +0 -2
  344. package/dist/types/src/components/SheetContext/index.d.ts.map +0 -1
  345. package/dist/types/src/types/schema.d.ts +0 -37
  346. package/dist/types/src/types/schema.d.ts.map +0 -1
  347. package/src/capabilities/capabilities.ts +0 -14
  348. package/src/capabilities/intent-resolver.ts +0 -38
  349. package/src/components/GridSheet/GridSheet.stories.tsx +0 -56
  350. package/src/components/RangeList/RangeList.tsx +0 -60
  351. package/src/components/SheetContainer/SheetContainer.stories.tsx +0 -92
  352. package/src/components/SheetContainer/SheetContainer.tsx +0 -36
  353. package/src/components/SheetContainer/index.ts +0 -7
  354. package/src/components/SheetContext/index.ts +0 -5
  355. package/src/types/schema.ts +0 -61
  356. /package/dist/lib/{browser/types/index.mjs.map → neutral/chunk-J5LGTIGS.mjs.map} +0 -0
  357. /package/dist/lib/{node-esm/types → neutral}/index.mjs.map +0 -0
@@ -1,906 +0,0 @@
1
- import {
2
- SHEET_PLUGIN
3
- } from "./chunk-6AKBCBL4.mjs";
4
-
5
- // src/types/schema.ts
6
- import { Schema } from "effect";
7
- import { Type } from "@dxos/echo";
8
- var CellValue = Schema.Struct({
9
- // TODO(burdon): How to store dates (datetime, date, time), percentages, etc.
10
- // Consider import/export; natural access for other plugins. Special handling for currency (precision).
11
- // TODO(burdon): Automerge (long string) or short string or number.
12
- value: Schema.Any
13
- });
14
- var Range = Schema.Struct({
15
- range: Schema.String,
16
- key: Schema.String,
17
- value: Schema.String
18
- });
19
- var RowColumnMeta = Schema.Struct({
20
- size: Schema.optional(Schema.Number)
21
- });
22
- var SheetType = Schema.Struct({
23
- name: Schema.optional(Schema.String),
24
- // Sparse map of cells referenced by index.
25
- cells: Schema.mutable(Schema.Record({
26
- key: Schema.String,
27
- value: Schema.mutable(CellValue)
28
- })),
29
- // Ordered row indices.
30
- rows: Schema.mutable(Schema.Array(Schema.String)),
31
- // Ordered column indices.
32
- columns: Schema.mutable(Schema.Array(Schema.String)),
33
- // Row metadata referenced by index.
34
- rowMeta: Schema.mutable(Schema.Record({
35
- key: Schema.String,
36
- value: Schema.mutable(RowColumnMeta)
37
- })),
38
- // Column metadata referenced by index.
39
- columnMeta: Schema.mutable(Schema.Record({
40
- key: Schema.String,
41
- value: Schema.mutable(RowColumnMeta)
42
- })),
43
- // Cell formatting referenced by indexed range.
44
- ranges: Schema.mutable(Schema.Array(Range))
45
- }).pipe(Type.Obj({
46
- typename: "dxos.org/type/Sheet",
47
- version: "0.1.0"
48
- }));
49
-
50
- // src/types/sheet-range-types.ts
51
- var alignKey = "alignment";
52
- var commentKey = "comment";
53
- var styleKey = "style";
54
- var cellClassNameForRange = ({ key, value }) => {
55
- switch (key) {
56
- case alignKey:
57
- switch (value) {
58
- case "start":
59
- return "text-start";
60
- case "center":
61
- return "text-center";
62
- case "end":
63
- return "text-end";
64
- default:
65
- return void 0;
66
- }
67
- case commentKey:
68
- return "bg-gridComment";
69
- case styleKey:
70
- switch (value) {
71
- case "highlight":
72
- return "!bg-gridHighlight";
73
- case "softwrap":
74
- return "!whitespace-normal";
75
- default:
76
- return void 0;
77
- }
78
- default:
79
- return void 0;
80
- }
81
- };
82
-
83
- // src/types/types.ts
84
- import { Schema as Schema2 } from "effect";
85
-
86
- // src/model/sheet-model.ts
87
- import { Event } from "@dxos/async";
88
- import { DetailedCellError, ExportedCellChange, addressFromA1Notation, addressToA1Notation, createSheetName, isFormula } from "@dxos/compute";
89
- import { Resource } from "@dxos/context";
90
- import { Obj } from "@dxos/echo";
91
- import { FormatEnum, TypeEnum } from "@dxos/echo-schema";
92
- import { invariant } from "@dxos/invariant";
93
- import { PublicKey } from "@dxos/keys";
94
- import { log } from "@dxos/log";
95
- function _define_property(obj, key, value) {
96
- if (key in obj) {
97
- Object.defineProperty(obj, key, {
98
- value,
99
- enumerable: true,
100
- configurable: true,
101
- writable: true
102
- });
103
- } else {
104
- obj[key] = value;
105
- }
106
- return obj;
107
- }
108
- var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-sheet/src/model/sheet-model.ts";
109
- var typeMap = {
110
- BOOLEAN: {
111
- type: TypeEnum.Boolean
112
- },
113
- NUMBER_RAW: {
114
- type: TypeEnum.Number
115
- },
116
- NUMBER_PERCENT: {
117
- type: TypeEnum.Number,
118
- format: FormatEnum.Percent
119
- },
120
- NUMBER_CURRENCY: {
121
- type: TypeEnum.Number,
122
- format: FormatEnum.Currency
123
- },
124
- NUMBER_DATETIME: {
125
- type: TypeEnum.String,
126
- format: FormatEnum.DateTime
127
- },
128
- NUMBER_DATE: {
129
- type: TypeEnum.String,
130
- format: FormatEnum.Date
131
- },
132
- NUMBER_TIME: {
133
- type: TypeEnum.String,
134
- format: FormatEnum.Time
135
- }
136
- };
137
- var getTopLeft = (range) => {
138
- const to = range.to ?? range.from;
139
- return {
140
- row: Math.min(range.from.row, to.row),
141
- col: Math.min(range.from.col, to.col)
142
- };
143
- };
144
- var toSimpleCellAddress = (sheet, cell) => ({
145
- sheet,
146
- row: cell.row,
147
- col: cell.col
148
- });
149
- var toModelRange = (sheet, range) => ({
150
- start: toSimpleCellAddress(sheet, range.from),
151
- end: toSimpleCellAddress(sheet, range.to ?? range.from)
152
- });
153
- var SheetModel = class extends Resource {
154
- get graph() {
155
- return this._graph;
156
- }
157
- get sheet() {
158
- return this._sheet;
159
- }
160
- get readonly() {
161
- return this._options.readonly;
162
- }
163
- get bounds() {
164
- return {
165
- rows: this._sheet.rows.length,
166
- columns: this._sheet.columns.length
167
- };
168
- }
169
- /**
170
- * Initialize sheet and engine.
171
- */
172
- async _open() {
173
- log("initialize", {
174
- id: this.id
175
- }, {
176
- F: __dxlog_file,
177
- L: 124,
178
- S: this,
179
- C: (f, a) => f(...a)
180
- });
181
- initialize(this._sheet);
182
- this._graph.update.on((event) => {
183
- if (event.type === "functionsUpdated") {
184
- this.reset();
185
- }
186
- });
187
- this._node = this._graph.getOrCreateNode(createSheetName({
188
- type: Obj.getTypename(this._sheet),
189
- id: this._sheet.id
190
- }));
191
- await this._node.open();
192
- const unsubscribe = this._node.update.on((event) => this.update.emit(event));
193
- this._ctx.onDispose(unsubscribe);
194
- this.reset();
195
- }
196
- /**
197
- * Update engine.
198
- * NOTE: This resets the undo history.
199
- * @deprecated
200
- */
201
- reset() {
202
- invariant(this._node, void 0, {
203
- F: __dxlog_file,
204
- L: 152,
205
- S: this,
206
- A: [
207
- "this._node",
208
- ""
209
- ]
210
- });
211
- this._node.graph.hf.clearSheet(this._node.sheetId);
212
- Object.entries(this._sheet.cells).forEach(([key, { value }]) => {
213
- invariant(this._node, void 0, {
214
- F: __dxlog_file,
215
- L: 155,
216
- S: this,
217
- A: [
218
- "this._node",
219
- ""
220
- ]
221
- });
222
- const { col, row } = addressFromIndex(this._sheet, key);
223
- if (isFormula(value)) {
224
- const binding = this._graph.mapFunctionBindingFromId(mapFormulaIndicesToRefs(this._sheet, value));
225
- if (binding) {
226
- value = this._graph.mapFormulaToNative(binding);
227
- } else {
228
- value = "";
229
- }
230
- }
231
- this._node.graph.hf.setCellContents({
232
- sheet: this._node.sheetId,
233
- row,
234
- col
235
- }, value);
236
- });
237
- }
238
- /**
239
- * Recalculate formulas.
240
- * NOTE: This resets the undo history.
241
- * https://hyperformula.handsontable.com/guide/volatile-functions.html#volatile-actions
242
- * @deprecated
243
- */
244
- // TODO(burdon): Remove.
245
- recalculate() {
246
- this._node?.graph.hf.rebuildAndRecalculate();
247
- }
248
- insertRows(i, n = 1) {
249
- const idx = insertIndices(this._sheet.rows, i, n, MAX_ROWS);
250
- this.reset();
251
- return idx;
252
- }
253
- insertColumns(i, n = 1) {
254
- const idx = insertIndices(this._sheet.columns, i, n, MAX_COLS);
255
- this.reset();
256
- return idx;
257
- }
258
- dropRow(rowIndex) {
259
- const range = {
260
- from: addressFromIndex(this._sheet, `${this._sheet.columns[0]}@${rowIndex}`),
261
- to: addressFromIndex(this._sheet, `${this._sheet.columns[this._sheet.columns.length - 1]}@${rowIndex}`)
262
- };
263
- const values = this.getCellValues(range).flat();
264
- const index = this._sheet.rows.indexOf(rowIndex);
265
- this.clear(range);
266
- this._sheet.rows.splice(index, 1);
267
- delete this._sheet.rowMeta[rowIndex];
268
- this.reset();
269
- return {
270
- axis: "row",
271
- index,
272
- axisIndex: rowIndex,
273
- axisMeta: this._sheet.rowMeta[rowIndex],
274
- values
275
- };
276
- }
277
- dropColumn(colIndex) {
278
- const range = {
279
- from: addressFromIndex(this._sheet, `${colIndex}@${this._sheet.rows[0]}`),
280
- to: addressFromIndex(this._sheet, `${colIndex}@${this._sheet.rows[this._sheet.rows.length - 1]}`)
281
- };
282
- const values = this.getCellValues(range).flat();
283
- const index = this._sheet.columns.indexOf(colIndex);
284
- this.clear(range);
285
- this._sheet.columns.splice(index, 1);
286
- delete this._sheet.columnMeta[colIndex];
287
- this.reset();
288
- return {
289
- axis: "col",
290
- index,
291
- axisIndex: colIndex,
292
- axisMeta: this._sheet.rowMeta[colIndex],
293
- values
294
- };
295
- }
296
- restoreRow({ index, axisIndex, axisMeta, values }) {
297
- this._sheet.rows.splice(index, 0, axisIndex);
298
- values.forEach((value, col) => {
299
- if (value) {
300
- this._sheet.cells[`${this._sheet.columns[col]}@${axisIndex}`] = {
301
- value
302
- };
303
- }
304
- });
305
- if (axisMeta) {
306
- this._sheet.rowMeta[axisIndex] = axisMeta;
307
- }
308
- this.reset();
309
- }
310
- restoreColumn({ index, axisIndex, axisMeta, values }) {
311
- this._sheet.columns.splice(index, 0, axisIndex);
312
- values.forEach((value, row) => {
313
- if (value) {
314
- this._sheet.cells[`${axisIndex}@${this._sheet.rows[row]}`] = {
315
- value
316
- };
317
- }
318
- });
319
- if (axisMeta) {
320
- this._sheet.columnMeta[axisIndex] = axisMeta;
321
- }
322
- this.reset();
323
- }
324
- //
325
- // Undoable actions.
326
- // TODO(burdon): Group undoable methods; consistently update hf/sheet.
327
- //
328
- /**
329
- * Clear range of values.
330
- */
331
- clear(range) {
332
- invariant(this._node, void 0, {
333
- F: __dxlog_file,
334
- L: 258,
335
- S: this,
336
- A: [
337
- "this._node",
338
- ""
339
- ]
340
- });
341
- const topLeft = getTopLeft(range);
342
- const values = this._iterRange(range, () => null);
343
- this._node.graph.hf.setCellContents(toSimpleCellAddress(this._node.sheetId, topLeft), values);
344
- this._iterRange(range, (cell) => {
345
- const idx = addressToIndex(this._sheet, cell);
346
- delete this._sheet.cells[idx];
347
- });
348
- }
349
- cut(range) {
350
- invariant(this._node, void 0, {
351
- F: __dxlog_file,
352
- L: 269,
353
- S: this,
354
- A: [
355
- "this._node",
356
- ""
357
- ]
358
- });
359
- this._node.graph.hf.cut(toModelRange(this._node.sheetId, range));
360
- this._iterRange(range, (cell) => {
361
- const idx = addressToIndex(this._sheet, cell);
362
- delete this._sheet.cells[idx];
363
- });
364
- }
365
- copy(range) {
366
- invariant(this._node, void 0, {
367
- F: __dxlog_file,
368
- L: 278,
369
- S: this,
370
- A: [
371
- "this._node",
372
- ""
373
- ]
374
- });
375
- this._node.graph.hf.copy(toModelRange(this._node.sheetId, range));
376
- }
377
- paste(cell) {
378
- invariant(this._node, void 0, {
379
- F: __dxlog_file,
380
- L: 283,
381
- S: this,
382
- A: [
383
- "this._node",
384
- ""
385
- ]
386
- });
387
- if (!this._node.graph.hf.isClipboardEmpty()) {
388
- const changes = this._node.graph.hf.paste(toSimpleCellAddress(this._node.sheetId, cell));
389
- for (const change of changes) {
390
- if (change instanceof ExportedCellChange) {
391
- const { address, newValue } = change;
392
- const idx = addressToIndex(this._sheet, {
393
- row: address.row,
394
- col: address.col
395
- });
396
- this._sheet.cells[idx] = {
397
- value: newValue
398
- };
399
- }
400
- }
401
- }
402
- }
403
- // TODO(burdon): Display undo/redo state.
404
- undo() {
405
- invariant(this._node, void 0, {
406
- F: __dxlog_file,
407
- L: 298,
408
- S: this,
409
- A: [
410
- "this._node",
411
- ""
412
- ]
413
- });
414
- if (this._node.graph.hf.isThereSomethingToUndo()) {
415
- this._node.graph.hf.undo();
416
- }
417
- }
418
- redo() {
419
- invariant(this._node, void 0, {
420
- F: __dxlog_file,
421
- L: 306,
422
- S: this,
423
- A: [
424
- "this._node",
425
- ""
426
- ]
427
- });
428
- if (this._node.graph.hf.isThereSomethingToRedo()) {
429
- this._node.graph.hf.redo();
430
- }
431
- }
432
- /**
433
- * Get value from sheet.
434
- */
435
- getCellValue(cell) {
436
- const idx = addressToIndex(this._sheet, cell);
437
- return this._sheet.cells[idx]?.value ?? null;
438
- }
439
- /**
440
- * Get value as a string for editing.
441
- */
442
- getCellText(cell) {
443
- const value = this.getCellValue(cell);
444
- if (value == null) {
445
- return void 0;
446
- }
447
- if (isFormula(value)) {
448
- return this._graph.mapFunctionBindingFromId(mapFormulaIndicesToRefs(this._sheet, value));
449
- } else {
450
- return String(value);
451
- }
452
- }
453
- /**
454
- * Get array of raw values from sheet.
455
- */
456
- getCellValues(range) {
457
- return this._iterRange(range, (cell) => this.getCellValue(cell));
458
- }
459
- /**
460
- * Gets the regular or computed value from the engine.
461
- */
462
- getValue(cell) {
463
- invariant(this._node, void 0, {
464
- F: __dxlog_file,
465
- L: 349,
466
- S: this,
467
- A: [
468
- "this._node",
469
- ""
470
- ]
471
- });
472
- const address = toSimpleCellAddress(this._node.sheetId, cell);
473
- const value = this._node.graph.hf.getCellValue(address);
474
- if (value instanceof DetailedCellError) {
475
- log.warn("cell error", {
476
- cell,
477
- error: value
478
- }, {
479
- F: __dxlog_file,
480
- L: 354,
481
- S: this,
482
- C: (f, a) => f(...a)
483
- });
484
- return value.toString();
485
- }
486
- return value;
487
- }
488
- /**
489
- * Get value type.
490
- */
491
- getValueDescription(cell) {
492
- invariant(this._node, void 0, {
493
- F: __dxlog_file,
494
- L: 365,
495
- S: this,
496
- A: [
497
- "this._node",
498
- ""
499
- ]
500
- });
501
- const addr = toSimpleCellAddress(this._node.sheetId, cell);
502
- const type = this._node.graph.hf.getCellValueDetailedType(addr);
503
- return typeMap[type];
504
- }
505
- /**
506
- * Sets the value, updating the sheet and engine.
507
- */
508
- setValue(cell, value) {
509
- invariant(this._node, void 0, {
510
- F: __dxlog_file,
511
- L: 375,
512
- S: this,
513
- A: [
514
- "this._node",
515
- ""
516
- ]
517
- });
518
- if (this._options.readonly) {
519
- throw new ReadonlyException();
520
- }
521
- let refresh = false;
522
- if (cell.row >= this._sheet.rows.length) {
523
- insertIndices(this._sheet.rows, cell.row, 1, MAX_ROWS);
524
- refresh = true;
525
- }
526
- if (cell.col >= this._sheet.columns.length) {
527
- insertIndices(this._sheet.columns, cell.col, 1, MAX_COLS);
528
- refresh = true;
529
- }
530
- if (refresh) {
531
- this.reset();
532
- }
533
- this._node.graph.hf.setCellContents({
534
- sheet: this._node.sheetId,
535
- row: cell.row,
536
- col: cell.col
537
- }, [
538
- [
539
- isFormula(value) ? this._graph.mapFormulaToNative(value) : value
540
- ]
541
- ]);
542
- const idx = addressToIndex(this._sheet, cell);
543
- if (value === void 0 || value === null) {
544
- delete this._sheet.cells[idx];
545
- } else {
546
- if (isFormula(value)) {
547
- value = this._graph.mapFunctionBindingToId(mapFormulaRefsToIndices(this._sheet, value));
548
- }
549
- this._sheet.cells[idx] = {
550
- value
551
- };
552
- }
553
- }
554
- /**
555
- * Sets values from a simple map.
556
- */
557
- setValues(values) {
558
- Object.entries(values).forEach(([key, { value }]) => {
559
- this.setValue(addressFromA1Notation(key), value);
560
- });
561
- }
562
- /**
563
- * Iterate range.
564
- */
565
- _iterRange(range, cb) {
566
- const to = range.to ?? range.from;
567
- const rowRange = [
568
- Math.min(range.from.row, to.row),
569
- Math.max(range.from.row, to.row)
570
- ];
571
- const columnRange = [
572
- Math.min(range.from.col, to.col),
573
- Math.max(range.from.col, to.col)
574
- ];
575
- const rows = [];
576
- for (let row = rowRange[0]; row <= rowRange[1]; row++) {
577
- const rowCells = [];
578
- for (let column = columnRange[0]; column <= columnRange[1]; column++) {
579
- const value = cb({
580
- row,
581
- col: column
582
- });
583
- if (value !== void 0) {
584
- rowCells.push(value);
585
- }
586
- }
587
- rows.push(rowCells);
588
- }
589
- return rows;
590
- }
591
- // TODO(burdon): Delete index.
592
- _deleteIndices(indices, i, n) {
593
- throw new Error("Not implemented");
594
- }
595
- // TODO(burdon): Move. Cannot use fractional without changing. Switch back to using unique IDs?
596
- _moveIndices(indices, i, j, n) {
597
- throw new Error("Not implemented");
598
- }
599
- /**
600
- * Map from indices to A1 notation.
601
- */
602
- mapFormulaIndicesToRefs(formula) {
603
- invariant(isFormula(formula), void 0, {
604
- F: __dxlog_file,
605
- L: 460,
606
- S: this,
607
- A: [
608
- "isFormula(formula)",
609
- ""
610
- ]
611
- });
612
- return formula.replace(/([a-zA-Z0-9]+)@([a-zA-Z0-9]+)/g, (idx) => {
613
- return addressToA1Notation(addressFromIndex(this._sheet, idx));
614
- });
615
- }
616
- //
617
- // Values
618
- //
619
- /**
620
- * https://hyperformula.handsontable.com/guide/date-and-time-handling.html#example
621
- * https://hyperformula.handsontable.com/api/interfaces/configparams.html#nulldate
622
- * NOTE: TODAY() is number of FULL days since nullDate. It will typically be -1 days from NOW().
623
- */
624
- toLocalDate(num) {
625
- const { year, month, day, hours, minutes, seconds } = this.toDateTime(num);
626
- return new Date(year, month - 1, day, hours, minutes, seconds);
627
- }
628
- toDateTime(num) {
629
- invariant(this._node, void 0, {
630
- F: __dxlog_file,
631
- L: 481,
632
- S: this,
633
- A: [
634
- "this._node",
635
- ""
636
- ]
637
- });
638
- return this._node.graph.hf.numberToDateTime(num);
639
- }
640
- toDate(num) {
641
- invariant(this._node, void 0, {
642
- F: __dxlog_file,
643
- L: 486,
644
- S: this,
645
- A: [
646
- "this._node",
647
- ""
648
- ]
649
- });
650
- return this._node.graph.hf.numberToDate(num);
651
- }
652
- toTime(num) {
653
- invariant(this._node, void 0, {
654
- F: __dxlog_file,
655
- L: 491,
656
- S: this,
657
- A: [
658
- "this._node",
659
- ""
660
- ]
661
- });
662
- return this._node.graph.hf.numberToTime(num);
663
- }
664
- constructor(_graph, _sheet, _options = {}) {
665
- super(), _define_property(this, "_graph", void 0), _define_property(this, "_sheet", void 0), _define_property(this, "_options", void 0), _define_property(this, "id", void 0), // Wraps compute node.
666
- _define_property(this, "update", void 0), _define_property(this, "_node", void 0), this._graph = _graph, this._sheet = _sheet, this._options = _options, this.id = `model-${PublicKey.random().truncate()}`, this.update = new Event();
667
- }
668
- };
669
-
670
- // src/model/useSheetModel.ts
671
- import { useEffect, useState } from "react";
672
- var useSheetModel = (graph, sheet, { readonly } = {}) => {
673
- const [model, setModel] = useState();
674
- useEffect(() => {
675
- if (!graph || !sheet) {
676
- return;
677
- }
678
- let model2;
679
- const t = setTimeout(async () => {
680
- model2 = new SheetModel(graph, sheet, {
681
- readonly
682
- });
683
- await model2.open();
684
- setModel(model2);
685
- });
686
- return () => {
687
- clearTimeout(t);
688
- void model2?.close();
689
- };
690
- }, [
691
- graph,
692
- sheet,
693
- readonly
694
- ]);
695
- return model;
696
- };
697
-
698
- // src/types/types.ts
699
- (function(SheetAction2) {
700
- const SHEET_ACTION = `${SHEET_PLUGIN}/action`;
701
- class Create extends Schema2.TaggedClass()(`${SHEET_ACTION}/create`, {
702
- input: Schema2.Struct({
703
- name: Schema2.optional(Schema2.String)
704
- }),
705
- output: Schema2.Struct({
706
- object: SheetType
707
- })
708
- }) {
709
- }
710
- SheetAction2.Create = Create;
711
- const Axis = Schema2.Union(Schema2.Literal("row"), Schema2.Literal("col"));
712
- class InsertAxis extends Schema2.TaggedClass()(`${SHEET_ACTION}/axis-insert`, {
713
- input: Schema2.Struct({
714
- // TODO(wittjosiah): Schema.instanceOf(SheetModel) throws when running tests.
715
- model: Schema2.Any.pipe(Schema2.filter((model) => model instanceof SheetModel)),
716
- axis: Axis,
717
- index: Schema2.Number,
718
- count: Schema2.optional(Schema2.Number)
719
- }),
720
- output: Schema2.Void
721
- }) {
722
- }
723
- SheetAction2.InsertAxis = InsertAxis;
724
- SheetAction2.RestoreAxis = Schema2.Struct({
725
- axis: Axis,
726
- axisIndex: Schema2.String,
727
- index: Schema2.Number,
728
- axisMeta: RowColumnMeta,
729
- values: Schema2.Array(Schema2.Any)
730
- });
731
- class DropAxis extends Schema2.TaggedClass()(`${SHEET_ACTION}/axis-drop`, {
732
- input: Schema2.Struct({
733
- // TODO(wittjosiah): Schema.instanceOf(SheetModel) throws when running tests.
734
- model: Schema2.Any.pipe(Schema2.filter((model) => model instanceof SheetModel)),
735
- axis: Axis,
736
- axisIndex: Schema2.String,
737
- deletionData: Schema2.optional(SheetAction2.RestoreAxis)
738
- }),
739
- output: Schema2.Void
740
- }) {
741
- }
742
- SheetAction2.DropAxis = DropAxis;
743
- })(SheetAction || (SheetAction = {}));
744
- var SheetAction;
745
-
746
- // src/types/util.ts
747
- import { addressFromA1Notation as addressFromA1Notation2, addressToA1Notation as addressToA1Notation2, isFormula as isFormula2 } from "@dxos/compute";
748
- import { randomBytes } from "@dxos/crypto";
749
- import { Obj as Obj2 } from "@dxos/echo";
750
- import { invariant as invariant2 } from "@dxos/invariant";
751
- var __dxlog_file2 = "/__w/dxos/dxos/packages/plugins/plugin-sheet/src/types/util.ts";
752
- var MAX_ROWS = 500;
753
- var MAX_COLS = 676;
754
- var DEFAULT_ROWS = 50;
755
- var DEFAULT_COLS = 26;
756
- var ApiError = class extends Error {
757
- };
758
- var ReadonlyException = class extends ApiError {
759
- };
760
- var RangeException = class extends ApiError {
761
- constructor(n) {
762
- super();
763
- }
764
- };
765
- var createIndex = (length = 8) => {
766
- const characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
767
- const charactersLength = characters.length;
768
- const randomBuffer = randomBytes(length);
769
- return Array.from(randomBuffer, (byte) => characters[byte % charactersLength]).join("");
770
- };
771
- var createIndices = (length) => Array.from({
772
- length
773
- }).map(() => createIndex());
774
- var insertIndices = (indices, i, n, max) => {
775
- if (i + n > max) {
776
- throw new RangeException(i + n);
777
- }
778
- const idx = createIndices(n);
779
- indices.splice(i, 0, ...idx);
780
- return idx;
781
- };
782
- var initialize = (sheet, { rows = DEFAULT_ROWS, columns = DEFAULT_COLS } = {}) => {
783
- if (!sheet.rows.length) {
784
- insertIndices(sheet.rows, 0, rows, MAX_ROWS);
785
- }
786
- if (!sheet.columns.length) {
787
- insertIndices(sheet.columns, 0, columns, MAX_COLS);
788
- }
789
- };
790
- var createSheet = ({ name, cells, ...size } = {}) => {
791
- const sheet = Obj2.make(SheetType, {
792
- name,
793
- cells: {},
794
- rows: [],
795
- columns: [],
796
- rowMeta: {},
797
- columnMeta: {},
798
- ranges: []
799
- });
800
- initialize(sheet, size);
801
- if (cells) {
802
- Object.entries(cells).forEach(([key, { value }]) => {
803
- const idx = addressToIndex(sheet, addressFromA1Notation2(key));
804
- if (isFormula2(value)) {
805
- value = mapFormulaRefsToIndices(sheet, value);
806
- }
807
- sheet.cells[idx] = {
808
- value
809
- };
810
- });
811
- }
812
- return sheet;
813
- };
814
- var addressToIndex = (sheet, cell) => {
815
- return `${sheet.columns[cell.col]}@${sheet.rows[cell.row]}`;
816
- };
817
- var addressFromIndex = (sheet, idx) => {
818
- const [column, row] = idx.split("@");
819
- return {
820
- col: sheet.columns.indexOf(column),
821
- row: sheet.rows.indexOf(row)
822
- };
823
- };
824
- var rangeToIndex = (sheet, range) => {
825
- return [
826
- range.from,
827
- range.to ?? range.from
828
- ].map((cell) => addressToIndex(sheet, cell)).join(":");
829
- };
830
- var rangeFromIndex = (sheet, idx) => {
831
- const [from, to] = idx.split(":").map((index) => addressFromIndex(sheet, index));
832
- return {
833
- from,
834
- to
835
- };
836
- };
837
- var compareIndexPositions = (sheet, indexA, indexB) => {
838
- const { row: rowA, col: columnA } = addressFromIndex(sheet, indexA);
839
- const { row: rowB, col: columnB } = addressFromIndex(sheet, indexB);
840
- if (rowA !== rowB) {
841
- return rowA - rowB;
842
- } else {
843
- return columnA - columnB;
844
- }
845
- };
846
- var mapFormulaRefsToIndices = (sheet, formula) => {
847
- invariant2(isFormula2(formula), void 0, {
848
- F: __dxlog_file2,
849
- L: 152,
850
- S: void 0,
851
- A: [
852
- "isFormula(formula)",
853
- ""
854
- ]
855
- });
856
- return formula.replace(/([a-zA-Z]+)([0-9]+)/g, (match) => {
857
- return addressToIndex(sheet, addressFromA1Notation2(match));
858
- });
859
- };
860
- var mapFormulaIndicesToRefs = (sheet, formula) => {
861
- invariant2(isFormula2(formula), void 0, {
862
- F: __dxlog_file2,
863
- L: 162,
864
- S: void 0,
865
- A: [
866
- "isFormula(formula)",
867
- ""
868
- ]
869
- });
870
- return formula.replace(/([a-zA-Z0-9]+)@([a-zA-Z0-9]+)/g, (idx) => {
871
- return addressToA1Notation2(addressFromIndex(sheet, idx));
872
- });
873
- };
874
-
875
- export {
876
- CellValue,
877
- Range,
878
- RowColumnMeta,
879
- SheetType,
880
- alignKey,
881
- commentKey,
882
- styleKey,
883
- cellClassNameForRange,
884
- useSheetModel,
885
- SheetAction,
886
- MAX_ROWS,
887
- MAX_COLS,
888
- DEFAULT_ROWS,
889
- DEFAULT_COLS,
890
- ApiError,
891
- ReadonlyException,
892
- RangeException,
893
- createIndex,
894
- createIndices,
895
- insertIndices,
896
- initialize,
897
- createSheet,
898
- addressToIndex,
899
- addressFromIndex,
900
- rangeToIndex,
901
- rangeFromIndex,
902
- compareIndexPositions,
903
- mapFormulaRefsToIndices,
904
- mapFormulaIndicesToRefs
905
- };
906
- //# sourceMappingURL=chunk-XSXUU6FO.mjs.map