@dxos/plugin-sheet 0.8.4-main.c85a9c8dae → 0.8.4-main.d9fc60f731

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 (321) hide show
  1. package/LICENSE +102 -5
  2. package/PLUGIN.mdl +359 -0
  3. package/dist/lib/{browser/RangeList-S3SHV7T6.mjs → neutral/RangeList-HYB5S6KQ.mjs} +21 -28
  4. package/dist/lib/neutral/RangeList-HYB5S6KQ.mjs.map +7 -0
  5. package/dist/lib/neutral/SheetArticle-5AJRM3V3.mjs +33 -0
  6. package/dist/lib/neutral/SheetArticle-5AJRM3V3.mjs.map +7 -0
  7. package/dist/lib/neutral/SheetPlugin.mjs +59 -0
  8. package/dist/lib/neutral/SheetPlugin.mjs.map +7 -0
  9. package/dist/lib/neutral/SheetPlugin.node.mjs +27 -0
  10. package/dist/lib/neutral/SheetPlugin.node.mjs.map +7 -0
  11. package/dist/lib/neutral/SheetPlugin.workerd.mjs +21 -0
  12. package/dist/lib/neutral/SheetPlugin.workerd.mjs.map +7 -0
  13. package/dist/lib/{browser/anchor-sort-DZ3IHHJJ.mjs → neutral/anchor-sort-2POWTKTD.mjs} +6 -8
  14. package/dist/lib/neutral/anchor-sort-2POWTKTD.mjs.map +7 -0
  15. package/dist/lib/neutral/capabilities/index.mjs +25 -0
  16. package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
  17. package/dist/lib/neutral/chunk-3AIMSE7U.mjs +83 -0
  18. package/dist/lib/neutral/chunk-3AIMSE7U.mjs.map +7 -0
  19. package/dist/lib/neutral/chunk-7ZUM64KO.mjs +8 -0
  20. package/dist/lib/neutral/chunk-7ZUM64KO.mjs.map +7 -0
  21. package/dist/lib/{browser/chunk-NNWF7EKC.mjs → neutral/chunk-ERHMBRSU.mjs} +4 -4
  22. package/dist/lib/neutral/chunk-ERHMBRSU.mjs.map +7 -0
  23. package/dist/lib/{browser/chunk-S445OQGW.mjs → neutral/chunk-EUM3RVML.mjs} +173 -196
  24. package/dist/lib/neutral/chunk-EUM3RVML.mjs.map +7 -0
  25. package/dist/lib/neutral/chunk-FQHTXKMF.mjs +34 -0
  26. package/dist/lib/neutral/chunk-FQHTXKMF.mjs.map +7 -0
  27. package/dist/lib/neutral/chunk-J5LGTIGS.mjs +10 -0
  28. package/dist/lib/neutral/comment-config-6JAROASH.mjs +21 -0
  29. package/dist/lib/neutral/comment-config-6JAROASH.mjs.map +7 -0
  30. package/dist/lib/{browser/SheetContainer-I3NFVVDQ.mjs → neutral/components/index.mjs} +163 -416
  31. package/dist/lib/neutral/components/index.mjs.map +7 -0
  32. package/dist/lib/neutral/compute-graph-registry-YYINTFC2.mjs +26 -0
  33. package/dist/lib/neutral/compute-graph-registry-YYINTFC2.mjs.map +7 -0
  34. package/dist/lib/neutral/containers/index.mjs +11 -0
  35. package/dist/lib/neutral/containers/index.mjs.map +7 -0
  36. package/dist/lib/neutral/create-object-6FZSSROF.mjs +28 -0
  37. package/dist/lib/neutral/create-object-6FZSSROF.mjs.map +7 -0
  38. package/dist/lib/neutral/drop-axis-MO3KUU4C.mjs +23 -0
  39. package/dist/lib/neutral/drop-axis-MO3KUU4C.mjs.map +7 -0
  40. package/dist/lib/{browser/types → neutral}/index.mjs +14 -5
  41. package/dist/lib/neutral/insert-axis-V7E5PTMG.mjs +16 -0
  42. package/dist/lib/neutral/insert-axis-V7E5PTMG.mjs.map +7 -0
  43. package/dist/lib/{browser/markdown-S6GVLHB4.mjs → neutral/markdown-O37EE3ER.mjs} +5 -6
  44. package/dist/lib/neutral/markdown-O37EE3ER.mjs.map +7 -0
  45. package/dist/lib/neutral/meta.json +1 -0
  46. package/dist/lib/neutral/meta.mjs +8 -0
  47. package/dist/lib/neutral/meta.mjs.map +7 -0
  48. package/dist/lib/neutral/operation-handler-TB6LFV2H.mjs +13 -0
  49. package/dist/lib/neutral/operation-handler-TB6LFV2H.mjs.map +7 -0
  50. package/dist/lib/neutral/operations/index.mjs +8 -0
  51. package/dist/lib/neutral/operations/index.mjs.map +7 -0
  52. package/dist/lib/neutral/plugin.mjs +16 -0
  53. package/dist/lib/neutral/plugin.mjs.map +7 -0
  54. package/dist/lib/{browser/react-surface-KIU6DGKW.mjs → neutral/react-surface-4H3PC4WG.mjs} +13 -20
  55. package/dist/lib/neutral/react-surface-4H3PC4WG.mjs.map +7 -0
  56. package/dist/lib/neutral/restore-axis-BAM44OPG.mjs +16 -0
  57. package/dist/lib/neutral/restore-axis-BAM44OPG.mjs.map +7 -0
  58. package/dist/lib/neutral/scroll-to-anchor-TBE2FTTT.mjs +33 -0
  59. package/dist/lib/neutral/scroll-to-anchor-TBE2FTTT.mjs.map +7 -0
  60. package/dist/lib/neutral/state-HPA27MX2.mjs +29 -0
  61. package/dist/lib/neutral/state-HPA27MX2.mjs.map +7 -0
  62. package/dist/lib/neutral/testing/index.mjs +103 -0
  63. package/dist/lib/neutral/testing/index.mjs.map +7 -0
  64. package/dist/lib/neutral/translations.mjs +56 -0
  65. package/dist/lib/neutral/translations.mjs.map +7 -0
  66. package/dist/lib/{node-esm → neutral}/types/index.mjs +6 -6
  67. package/dist/lib/neutral/types/index.mjs.map +7 -0
  68. package/dist/lib/neutral/undo-mappings-3FQLSTCZ.mjs +31 -0
  69. package/dist/lib/neutral/undo-mappings-3FQLSTCZ.mjs.map +7 -0
  70. package/dist/types/src/SheetPlugin.d.ts +1 -0
  71. package/dist/types/src/SheetPlugin.d.ts.map +1 -1
  72. package/dist/types/src/SheetPlugin.node.d.ts +4 -0
  73. package/dist/types/src/SheetPlugin.node.d.ts.map +1 -0
  74. package/dist/types/src/SheetPlugin.test.d.ts +2 -0
  75. package/dist/types/src/SheetPlugin.test.d.ts.map +1 -0
  76. package/dist/types/src/SheetPlugin.workerd.d.ts +4 -0
  77. package/dist/types/src/SheetPlugin.workerd.d.ts.map +1 -0
  78. package/dist/types/src/capabilities/anchor-sort.d.ts.map +1 -0
  79. package/dist/types/src/capabilities/comment-config.d.ts +12 -0
  80. package/dist/types/src/capabilities/comment-config.d.ts.map +1 -0
  81. package/dist/types/src/capabilities/compute-graph-registry.d.ts +11 -0
  82. package/dist/types/src/capabilities/compute-graph-registry.d.ts.map +1 -0
  83. package/dist/types/src/capabilities/create-object.d.ts +11 -0
  84. package/dist/types/src/capabilities/create-object.d.ts.map +1 -0
  85. package/dist/types/src/capabilities/index.d.ts +23 -5
  86. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  87. package/dist/types/src/capabilities/markdown.d.ts.map +1 -0
  88. package/dist/types/src/capabilities/operation-handler.d.ts +6 -0
  89. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
  90. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -0
  91. package/dist/types/src/capabilities/{compute-graph-registry/compute-graph-registry.d.ts → state.d.ts} +3 -2
  92. package/dist/types/src/capabilities/state.d.ts.map +1 -0
  93. package/dist/types/src/capabilities/undo-mappings.d.ts +5 -0
  94. package/dist/types/src/capabilities/undo-mappings.d.ts.map +1 -0
  95. package/dist/types/src/components/ComputeGraph/ComputeGraphContextProvider.d.ts +1 -1
  96. package/dist/types/src/components/ComputeGraph/ComputeGraphContextProvider.d.ts.map +1 -1
  97. package/dist/types/src/components/ComputeGraph/compute-graph.stories.d.ts.map +1 -1
  98. package/dist/types/src/components/Sheet/Sheet.d.ts +10 -4
  99. package/dist/types/src/components/Sheet/Sheet.d.ts.map +1 -1
  100. package/dist/types/src/components/SheetContent/SheetCellEditor.stories.d.ts.map +1 -1
  101. package/dist/types/src/components/SheetContent/SheetContent.d.ts +4 -3
  102. package/dist/types/src/components/SheetContent/SheetContent.d.ts.map +1 -1
  103. package/dist/types/src/components/SheetContent/SheetContent.stories.d.ts +77 -39
  104. package/dist/types/src/components/SheetContent/SheetContent.stories.d.ts.map +1 -1
  105. package/dist/types/src/components/SheetContent/util.d.ts +1 -1
  106. package/dist/types/src/components/SheetContent/util.d.ts.map +1 -1
  107. package/dist/types/src/components/SheetRoot/SheetRoot.d.ts +5 -3
  108. package/dist/types/src/components/SheetRoot/SheetRoot.d.ts.map +1 -1
  109. package/dist/types/src/components/SheetStatusbar/SheetStatusbar.d.ts +4 -3
  110. package/dist/types/src/components/SheetStatusbar/SheetStatusbar.d.ts.map +1 -1
  111. package/dist/types/src/components/SheetToolbar/SheetToolbar.d.ts +5 -8
  112. package/dist/types/src/components/SheetToolbar/SheetToolbar.d.ts.map +1 -1
  113. package/dist/types/src/components/SheetToolbar/SheetToolbar.stories.d.ts +72 -68
  114. package/dist/types/src/components/SheetToolbar/SheetToolbar.stories.d.ts.map +1 -1
  115. package/dist/types/src/components/SheetToolbar/align.d.ts +2 -2
  116. package/dist/types/src/components/SheetToolbar/align.d.ts.map +1 -1
  117. package/dist/types/src/components/SheetToolbar/style.d.ts +2 -2
  118. package/dist/types/src/components/SheetToolbar/style.d.ts.map +1 -1
  119. package/dist/types/src/components/SheetToolbar/useToolbarState.d.ts.map +1 -1
  120. package/dist/types/src/containers/RangeList/RangeList.d.ts +2 -2
  121. package/dist/types/src/containers/RangeList/RangeList.d.ts.map +1 -1
  122. package/dist/types/src/containers/RangeList/index.d.ts +1 -2
  123. package/dist/types/src/containers/RangeList/index.d.ts.map +1 -1
  124. package/dist/types/src/containers/SheetArticle/SheetArticle.d.ts +12 -0
  125. package/dist/types/src/containers/SheetArticle/SheetArticle.d.ts.map +1 -0
  126. package/dist/types/src/containers/SheetArticle/SheetArticle.stories.d.ts +92 -0
  127. package/dist/types/src/containers/SheetArticle/SheetArticle.stories.d.ts.map +1 -0
  128. package/dist/types/src/containers/SheetArticle/index.d.ts +2 -0
  129. package/dist/types/src/containers/SheetArticle/index.d.ts.map +1 -0
  130. package/dist/types/src/containers/index.d.ts +1 -1
  131. package/dist/types/src/containers/index.d.ts.map +1 -1
  132. package/dist/types/src/extensions/compute.d.ts +1 -1
  133. package/dist/types/src/extensions/compute.d.ts.map +1 -1
  134. package/dist/types/src/extensions/compute.stories.d.ts.map +1 -1
  135. package/dist/types/src/extensions/editor/sheet-extension.d.ts +1 -1
  136. package/dist/types/src/extensions/editor/sheet-extension.d.ts.map +1 -1
  137. package/dist/types/src/index.d.ts +2 -2
  138. package/dist/types/src/index.d.ts.map +1 -1
  139. package/dist/types/src/integrations/thread-ranges.d.ts +1 -3
  140. package/dist/types/src/integrations/thread-ranges.d.ts.map +1 -1
  141. package/dist/types/src/meta.d.ts +1 -1
  142. package/dist/types/src/meta.d.ts.map +1 -1
  143. package/dist/types/src/model/sheet-model.d.ts +27 -3
  144. package/dist/types/src/model/sheet-model.d.ts.map +1 -1
  145. package/dist/types/src/model/testing.d.ts +1 -1
  146. package/dist/types/src/model/testing.d.ts.map +1 -1
  147. package/dist/types/src/model/useSheetModel.d.ts +2 -2
  148. package/dist/types/src/model/useSheetModel.d.ts.map +1 -1
  149. package/dist/types/src/operations/drop-axis.d.ts +5 -0
  150. package/dist/types/src/operations/drop-axis.d.ts.map +1 -0
  151. package/dist/types/src/operations/index.d.ts +3 -0
  152. package/dist/types/src/operations/index.d.ts.map +1 -0
  153. package/dist/types/src/operations/insert-axis.d.ts +5 -0
  154. package/dist/types/src/operations/insert-axis.d.ts.map +1 -0
  155. package/dist/types/src/operations/restore-axis.d.ts +5 -0
  156. package/dist/types/src/operations/restore-axis.d.ts.map +1 -0
  157. package/dist/types/src/operations/scroll-to-anchor.d.ts +5 -0
  158. package/dist/types/src/operations/scroll-to-anchor.d.ts.map +1 -0
  159. package/dist/types/src/playwright/playwright.config.d.ts.map +1 -1
  160. package/dist/types/src/playwright/sheet-manager.d.ts.map +1 -1
  161. package/dist/types/src/plugin.d.ts +4 -0
  162. package/dist/types/src/plugin.d.ts.map +1 -0
  163. package/dist/types/src/serializer.d.ts +2 -2
  164. package/dist/types/src/serializer.d.ts.map +1 -1
  165. package/dist/types/src/testing/data.d.ts +1 -1
  166. package/dist/types/src/testing/data.d.ts.map +1 -1
  167. package/dist/types/src/testing/testing.d.ts +5 -5
  168. package/dist/types/src/testing/testing.d.ts.map +1 -1
  169. package/dist/types/src/translations.d.ts +74 -39
  170. package/dist/types/src/translations.d.ts.map +1 -1
  171. package/dist/types/src/types/Sheet.d.ts +5 -6
  172. package/dist/types/src/types/Sheet.d.ts.map +1 -1
  173. package/dist/types/src/types/SheetCapabilities.d.ts +16 -0
  174. package/dist/types/src/types/SheetCapabilities.d.ts.map +1 -0
  175. package/dist/types/src/types/SheetOperation.d.ts +45 -0
  176. package/dist/types/src/types/SheetOperation.d.ts.map +1 -0
  177. package/dist/types/src/types/index.d.ts +3 -2
  178. package/dist/types/src/types/index.d.ts.map +1 -1
  179. package/dist/types/src/types/sheet-range-types.d.ts +1 -1
  180. package/dist/types/src/types/sheet-range-types.d.ts.map +1 -1
  181. package/dist/types/src/types/types.d.ts +0 -92
  182. package/dist/types/src/types/types.d.ts.map +1 -1
  183. package/dist/types/src/types/util.d.ts +1 -1
  184. package/dist/types/src/types/util.d.ts.map +1 -1
  185. package/dist/types/tsconfig.tsbuildinfo +1 -1
  186. package/package.json +120 -94
  187. package/src/SheetPlugin.node.ts +21 -0
  188. package/src/SheetPlugin.test.ts +30 -0
  189. package/src/SheetPlugin.tsx +31 -36
  190. package/src/SheetPlugin.workerd.ts +18 -0
  191. package/src/capabilities/{anchor-sort/anchor-sort.ts → anchor-sort.ts} +3 -3
  192. package/src/capabilities/comment-config.ts +25 -0
  193. package/src/capabilities/compute-graph-registry.ts +42 -0
  194. package/src/capabilities/create-object.ts +31 -0
  195. package/src/capabilities/index.ts +17 -5
  196. package/src/capabilities/{markdown/markdown.ts → markdown.ts} +3 -2
  197. package/src/capabilities/operation-handler.ts +16 -0
  198. package/src/capabilities/{react-surface/react-surface.tsx → react-surface.tsx} +13 -10
  199. package/src/capabilities/state.ts +29 -0
  200. package/src/capabilities/undo-mappings.ts +30 -0
  201. package/src/components/ComputeGraph/ComputeGraphContextProvider.tsx +1 -1
  202. package/src/components/ComputeGraph/compute-graph.stories.tsx +23 -15
  203. package/src/components/SheetContent/SheetCellEditor.stories.tsx +8 -7
  204. package/src/components/SheetContent/SheetContent.stories.tsx +11 -11
  205. package/src/components/SheetContent/SheetContent.tsx +40 -23
  206. package/src/components/SheetContent/util.ts +4 -3
  207. package/src/components/SheetRoot/SheetRoot.tsx +18 -7
  208. package/src/components/SheetStatusbar/SheetStatusbar.tsx +16 -8
  209. package/src/components/SheetToolbar/SheetToolbar.stories.tsx +1 -1
  210. package/src/components/SheetToolbar/SheetToolbar.tsx +15 -20
  211. package/src/components/SheetToolbar/align.ts +9 -9
  212. package/src/components/SheetToolbar/style.ts +7 -7
  213. package/src/containers/RangeList/RangeList.tsx +17 -17
  214. package/src/containers/RangeList/index.ts +1 -3
  215. package/src/containers/{SheetContainer/SheetContainer.stories.tsx → SheetArticle/SheetArticle.stories.tsx} +42 -26
  216. package/src/containers/{SheetContainer/SheetContainer.tsx → SheetArticle/SheetArticle.tsx} +12 -12
  217. package/src/containers/SheetArticle/index.ts +5 -0
  218. package/src/containers/index.ts +1 -1
  219. package/src/extensions/compute.stories.tsx +11 -11
  220. package/src/extensions/compute.ts +1 -1
  221. package/src/extensions/editor/sheet-extension.test.ts +1 -1
  222. package/src/extensions/editor/sheet-extension.ts +3 -3
  223. package/src/index.ts +2 -2
  224. package/src/integrations/thread-ranges.ts +10 -42
  225. package/src/meta.ts +18 -6
  226. package/src/model/sheet-model.test.ts +5 -5
  227. package/src/model/sheet-model.ts +19 -19
  228. package/src/model/testing.ts +2 -2
  229. package/src/model/useSheetModel.ts +3 -2
  230. package/src/operations/drop-axis.ts +26 -0
  231. package/src/operations/index.ts +12 -0
  232. package/src/operations/insert-axis.ts +19 -0
  233. package/src/operations/restore-axis.ts +19 -0
  234. package/src/operations/scroll-to-anchor.ts +30 -0
  235. package/src/playwright/sheet.spec.ts +3 -3
  236. package/src/plugin.ts +11 -0
  237. package/src/sanity.test.ts +10 -3
  238. package/src/serializer.ts +2 -2
  239. package/src/testing/data.ts +1 -1
  240. package/src/testing/testing.tsx +4 -4
  241. package/src/translations.ts +43 -37
  242. package/src/types/Sheet.ts +13 -13
  243. package/src/types/SheetCapabilities.ts +26 -0
  244. package/src/types/SheetOperation.ts +84 -0
  245. package/src/types/index.ts +4 -2
  246. package/src/types/types.ts +0 -80
  247. package/src/types/util.ts +4 -4
  248. package/src/vite-env.d.ts +10 -0
  249. package/dist/lib/browser/RangeList-S3SHV7T6.mjs.map +0 -7
  250. package/dist/lib/browser/SheetContainer-I3NFVVDQ.mjs.map +0 -7
  251. package/dist/lib/browser/anchor-sort-DZ3IHHJJ.mjs.map +0 -7
  252. package/dist/lib/browser/chunk-NNWF7EKC.mjs.map +0 -7
  253. package/dist/lib/browser/chunk-S445OQGW.mjs.map +0 -7
  254. package/dist/lib/browser/compute-graph-registry-W6HO2G3P.mjs +0 -21
  255. package/dist/lib/browser/compute-graph-registry-W6HO2G3P.mjs.map +0 -7
  256. package/dist/lib/browser/index.mjs +0 -145
  257. package/dist/lib/browser/index.mjs.map +0 -7
  258. package/dist/lib/browser/markdown-S6GVLHB4.mjs.map +0 -7
  259. package/dist/lib/browser/meta.json +0 -1
  260. package/dist/lib/browser/operation-resolver-Z4X4UWNR.mjs +0 -79
  261. package/dist/lib/browser/operation-resolver-Z4X4UWNR.mjs.map +0 -7
  262. package/dist/lib/browser/react-surface-KIU6DGKW.mjs.map +0 -7
  263. package/dist/lib/node-esm/RangeList-IB23OJK2.mjs +0 -54
  264. package/dist/lib/node-esm/RangeList-IB23OJK2.mjs.map +0 -7
  265. package/dist/lib/node-esm/SheetContainer-KUXNCSFP.mjs +0 -1806
  266. package/dist/lib/node-esm/SheetContainer-KUXNCSFP.mjs.map +0 -7
  267. package/dist/lib/node-esm/anchor-sort-24OXMOSX.mjs +0 -25
  268. package/dist/lib/node-esm/anchor-sort-24OXMOSX.mjs.map +0 -7
  269. package/dist/lib/node-esm/chunk-M52YLLWU.mjs +0 -236
  270. package/dist/lib/node-esm/chunk-M52YLLWU.mjs.map +0 -7
  271. package/dist/lib/node-esm/chunk-NKZ3O4OR.mjs +0 -398
  272. package/dist/lib/node-esm/chunk-NKZ3O4OR.mjs.map +0 -7
  273. package/dist/lib/node-esm/compute-graph-registry-2C3Y2RPQ.mjs +0 -22
  274. package/dist/lib/node-esm/compute-graph-registry-2C3Y2RPQ.mjs.map +0 -7
  275. package/dist/lib/node-esm/index.mjs +0 -146
  276. package/dist/lib/node-esm/index.mjs.map +0 -7
  277. package/dist/lib/node-esm/markdown-YT5KJTQT.mjs +0 -30
  278. package/dist/lib/node-esm/markdown-YT5KJTQT.mjs.map +0 -7
  279. package/dist/lib/node-esm/meta.json +0 -1
  280. package/dist/lib/node-esm/operation-resolver-7VD2YXSQ.mjs +0 -80
  281. package/dist/lib/node-esm/operation-resolver-7VD2YXSQ.mjs.map +0 -7
  282. package/dist/lib/node-esm/react-surface-7FZAE3S7.mjs +0 -52
  283. package/dist/lib/node-esm/react-surface-7FZAE3S7.mjs.map +0 -7
  284. package/dist/types/src/capabilities/anchor-sort/anchor-sort.d.ts.map +0 -1
  285. package/dist/types/src/capabilities/anchor-sort/index.d.ts +0 -3
  286. package/dist/types/src/capabilities/anchor-sort/index.d.ts.map +0 -1
  287. package/dist/types/src/capabilities/compute-graph-registry/compute-graph-registry.d.ts.map +0 -1
  288. package/dist/types/src/capabilities/compute-graph-registry/index.d.ts +0 -3
  289. package/dist/types/src/capabilities/compute-graph-registry/index.d.ts.map +0 -1
  290. package/dist/types/src/capabilities/markdown/index.d.ts +0 -3
  291. package/dist/types/src/capabilities/markdown/index.d.ts.map +0 -1
  292. package/dist/types/src/capabilities/markdown/markdown.d.ts.map +0 -1
  293. package/dist/types/src/capabilities/operation-resolver/index.d.ts +0 -3
  294. package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +0 -1
  295. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +0 -5
  296. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +0 -1
  297. package/dist/types/src/capabilities/react-surface/index.d.ts +0 -3
  298. package/dist/types/src/capabilities/react-surface/index.d.ts.map +0 -1
  299. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +0 -1
  300. package/dist/types/src/containers/SheetContainer/SheetContainer.d.ts +0 -12
  301. package/dist/types/src/containers/SheetContainer/SheetContainer.d.ts.map +0 -1
  302. package/dist/types/src/containers/SheetContainer/SheetContainer.stories.d.ts +0 -56
  303. package/dist/types/src/containers/SheetContainer/SheetContainer.stories.d.ts.map +0 -1
  304. package/dist/types/src/containers/SheetContainer/index.d.ts +0 -3
  305. package/dist/types/src/containers/SheetContainer/index.d.ts.map +0 -1
  306. package/dist/types/src/types/capabilities.d.ts +0 -6
  307. package/dist/types/src/types/capabilities.d.ts.map +0 -1
  308. package/src/capabilities/anchor-sort/index.ts +0 -7
  309. package/src/capabilities/compute-graph-registry/compute-graph-registry.ts +0 -27
  310. package/src/capabilities/compute-graph-registry/index.ts +0 -7
  311. package/src/capabilities/markdown/index.ts +0 -7
  312. package/src/capabilities/operation-resolver/index.ts +0 -7
  313. package/src/capabilities/operation-resolver/operation-resolver.ts +0 -77
  314. package/src/capabilities/react-surface/index.ts +0 -7
  315. package/src/containers/SheetContainer/index.ts +0 -7
  316. package/src/types/capabilities.ts +0 -14
  317. /package/dist/lib/{browser/types/index.mjs.map → neutral/chunk-J5LGTIGS.mjs.map} +0 -0
  318. /package/dist/lib/{node-esm/types → neutral}/index.mjs.map +0 -0
  319. /package/dist/types/src/capabilities/{anchor-sort/anchor-sort.d.ts → anchor-sort.d.ts} +0 -0
  320. /package/dist/types/src/capabilities/{markdown/markdown.d.ts → markdown.d.ts} +0 -0
  321. /package/dist/types/src/capabilities/{react-surface/react-surface.d.ts → react-surface.d.ts} +0 -0
@@ -1,34 +1,42 @@
1
- var __defProp = Object.defineProperty;
2
- var __export = (target, all) => {
3
- for (var name in all)
4
- __defProp(target, name, { get: all[name], enumerable: true });
5
- };
6
-
7
- // src/types/capabilities.ts
8
- import { Capability } from "@dxos/app-framework";
1
+ import {
2
+ __export
3
+ } from "./chunk-J5LGTIGS.mjs";
9
4
 
10
- // src/meta.ts
11
- import { trim } from "@dxos/util";
12
- var meta = {
13
- id: "dxos.org/plugin/sheet",
14
- name: "Sheet",
15
- description: trim`
16
- Full-featured spreadsheet application with over 400 built-in formulas for calculations and data analysis.
17
- Create custom JavaScript functions and integrate with AI agents for advanced automation.
18
- `,
19
- icon: "ph--grid-nine--regular",
20
- iconHue: "indigo",
21
- source: "https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-sheet",
22
- screenshots: [
23
- "https://dxos.network/plugin-details-sheet-dark.png"
24
- ]
5
+ // src/types/sheet-range-types.ts
6
+ var alignKey = "alignment";
7
+ var commentKey = "comment";
8
+ var styleKey = "style";
9
+ var cellClassNameForRange = ({ key, value }) => {
10
+ switch (key) {
11
+ case alignKey:
12
+ switch (value) {
13
+ case "start":
14
+ return "text-start";
15
+ case "center":
16
+ return "text-center";
17
+ case "end":
18
+ return "text-end";
19
+ default:
20
+ return void 0;
21
+ }
22
+ case commentKey:
23
+ return "bg-grid-comment";
24
+ case styleKey:
25
+ switch (value) {
26
+ case "highlight":
27
+ return "bg-grid-highlight!";
28
+ case "softwrap":
29
+ return "whitespace-normal!";
30
+ default:
31
+ return void 0;
32
+ }
33
+ default:
34
+ return void 0;
35
+ }
25
36
  };
26
37
 
27
- // src/types/capabilities.ts
28
- (function(SheetCapabilities2) {
29
- SheetCapabilities2.ComputeGraphRegistry = Capability.make(`${meta.id}/capability/compute-graph-registry`);
30
- })(SheetCapabilities || (SheetCapabilities = {}));
31
- var SheetCapabilities;
38
+ // src/types/types.ts
39
+ import * as Schema2 from "effect/Schema";
32
40
 
33
41
  // src/types/Sheet.ts
34
42
  var Sheet_exports = {};
@@ -40,15 +48,14 @@ __export(Sheet_exports, {
40
48
  make: () => make
41
49
  });
42
50
  import * as Schema from "effect/Schema";
43
- import { addressFromA1Notation as addressFromA1Notation2, isFormula as isFormula2 } from "@dxos/compute";
44
- import { Obj, Type } from "@dxos/echo";
51
+ import { addressFromA1Notation as addressFromA1Notation2, isFormula as isFormula2 } from "@dxos/compute-hyperformula";
52
+ import { DXN, Annotation, Obj, Type } from "@dxos/echo";
45
53
  import { FormInputAnnotation } from "@dxos/echo/internal";
46
54
 
47
55
  // src/types/util.ts
48
- import { addressFromA1Notation, addressToA1Notation, isFormula } from "@dxos/compute";
56
+ import { addressFromA1Notation, addressToA1Notation, isFormula } from "@dxos/compute-hyperformula";
49
57
  import { randomBytes } from "@dxos/crypto";
50
- import { invariant } from "@dxos/invariant";
51
- var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-sheet/src/types/util.ts";
58
+ import { assertArgument } from "@dxos/invariant";
52
59
  var MAX_ROWS = 500;
53
60
  var MAX_COLS = 676;
54
61
  var DEFAULT_ROWS = 50;
@@ -120,29 +127,13 @@ var compareIndexPositions = (sheet, indexA, indexB) => {
120
127
  }
121
128
  };
122
129
  var mapFormulaRefsToIndices = (sheet, formula) => {
123
- invariant(isFormula(formula), void 0, {
124
- F: __dxlog_file,
125
- L: 125,
126
- S: void 0,
127
- A: [
128
- "isFormula(formula)",
129
- ""
130
- ]
131
- });
130
+ assertArgument(isFormula(formula), "formula");
132
131
  return formula.replace(/([a-zA-Z]+)([0-9]+)/g, (match) => {
133
132
  return addressToIndex(sheet, addressFromA1Notation(match));
134
133
  });
135
134
  };
136
135
  var mapFormulaIndicesToRefs = (sheet, formula) => {
137
- invariant(isFormula(formula), void 0, {
138
- F: __dxlog_file,
139
- L: 135,
140
- S: void 0,
141
- A: [
142
- "isFormula(formula)",
143
- ""
144
- ]
145
- });
136
+ assertArgument(isFormula(formula), "formula");
146
137
  return formula.replace(/([a-zA-Z0-9]+)@([a-zA-Z0-9]+)/g, (idx) => {
147
138
  return addressToA1Notation(addressFromIndex(sheet, idx));
148
139
  });
@@ -186,10 +177,10 @@ var Sheet = Schema.Struct({
186
177
  }).pipe(FormInputAnnotation.set(false)),
187
178
  // Cell formatting referenced by indexed range.
188
179
  ranges: Schema.Array(Range).pipe(FormInputAnnotation.set(false))
189
- }).pipe(Type.object({
190
- typename: "dxos.org/type/Sheet",
191
- version: "0.1.0"
192
- }));
180
+ }).pipe(Annotation.IconAnnotation.set({
181
+ icon: "ph--grid-nine--regular",
182
+ hue: "indigo"
183
+ }), Type.makeObject(DXN.make("org.dxos.type.sheet", "0.1.0")));
193
184
  var make = ({ name, cells = {}, ...size } = {}) => {
194
185
  const sheet = Obj.make(Sheet, {
195
186
  name,
@@ -200,15 +191,15 @@ var make = ({ name, cells = {}, ...size } = {}) => {
200
191
  columnMeta: {},
201
192
  ranges: []
202
193
  });
203
- Obj.change(sheet, (s) => {
204
- initialize(s, size);
194
+ Obj.update(sheet, (sheet2) => {
195
+ initialize(sheet2, size);
205
196
  if (cells) {
206
197
  Object.entries(cells).forEach(([key, { value }]) => {
207
- const idx = addressToIndex(s, addressFromA1Notation2(key));
198
+ const idx = addressToIndex(sheet2, addressFromA1Notation2(key));
208
199
  if (isFormula2(value)) {
209
- value = mapFormulaRefsToIndices(s, value);
200
+ value = mapFormulaRefsToIndices(sheet2, value);
210
201
  }
211
- s.cells[idx] = {
202
+ sheet2.cells[idx] = {
212
203
  value
213
204
  };
214
205
  });
@@ -217,45 +208,7 @@ var make = ({ name, cells = {}, ...size } = {}) => {
217
208
  return sheet;
218
209
  };
219
210
 
220
- // src/types/sheet-range-types.ts
221
- var alignKey = "alignment";
222
- var commentKey = "comment";
223
- var styleKey = "style";
224
- var cellClassNameForRange = ({ key, value }) => {
225
- switch (key) {
226
- case alignKey:
227
- switch (value) {
228
- case "start":
229
- return "text-start";
230
- case "center":
231
- return "text-center";
232
- case "end":
233
- return "text-end";
234
- default:
235
- return void 0;
236
- }
237
- case commentKey:
238
- return "bg-grid-comment";
239
- case styleKey:
240
- switch (value) {
241
- case "highlight":
242
- return "bg-grid-highlight!";
243
- case "softwrap":
244
- return "whitespace-normal!";
245
- default:
246
- return void 0;
247
- }
248
- default:
249
- return void 0;
250
- }
251
- };
252
-
253
211
  // src/types/types.ts
254
- import * as Schema2 from "effect/Schema";
255
- import { Capability as Capability2 } from "@dxos/app-framework";
256
- import { Collection } from "@dxos/echo";
257
- import { Operation } from "@dxos/operation";
258
- import { SpaceSchema } from "@dxos/react-client/echo";
259
212
  var ActionAxis = Schema2.Union(Schema2.Literal("row"), Schema2.Literal("col"));
260
213
  (function(SheetAction2) {
261
214
  SheetAction2.RestoreAxis = Schema2.Struct({
@@ -266,108 +219,135 @@ var ActionAxis = Schema2.Union(Schema2.Literal("row"), Schema2.Literal("col"));
266
219
  values: Schema2.Array(Schema2.Any)
267
220
  });
268
221
  })(SheetAction || (SheetAction = {}));
269
- var SHEET_OPERATION = `${meta.id}/operation`;
270
- var Axis = Schema2.Union(Schema2.Literal("row"), Schema2.Literal("col"));
271
- (function(SheetOperation2) {
272
- SheetOperation2.OnCreateSpace = Operation.make({
273
- meta: {
274
- key: `${SHEET_OPERATION}/on-create-space`,
275
- name: "On Create Space"
276
- },
277
- services: [
278
- Capability2.Service
279
- ],
280
- schema: {
281
- input: Schema2.Struct({
282
- space: SpaceSchema,
283
- rootCollection: Collection.Collection,
284
- isDefault: Schema2.optional(Schema2.Boolean)
285
- }),
286
- output: Schema2.Void
287
- }
288
- });
289
- SheetOperation2.InsertAxis = Operation.make({
290
- meta: {
291
- key: `${SHEET_OPERATION}/axis-insert`,
292
- name: "Insert Axis"
293
- },
294
- schema: {
295
- input: Schema2.Struct({
296
- model: Schema2.Any,
297
- axis: Axis,
298
- index: Schema2.Number,
299
- count: Schema2.optional(Schema2.Number)
300
- }),
301
- output: Schema2.Void
302
- }
303
- });
304
- SheetOperation2.DropAxisOutput = Schema2.Struct({
222
+ var SheetAction;
223
+
224
+ // src/types/SheetCapabilities.ts
225
+ var SheetCapabilities_exports = {};
226
+ __export(SheetCapabilities_exports, {
227
+ ComputeGraphRegistry: () => ComputeGraphRegistry,
228
+ GridInstances: () => GridInstances
229
+ });
230
+ import { Capability } from "@dxos/app-framework";
231
+ import { meta } from "#meta";
232
+ var ComputeGraphRegistry = Capability.make(`${meta.id}.capability.compute-graph-registry`);
233
+ var GridInstances = Capability.make(`${meta.id}.capability.grid-instances`);
234
+
235
+ // src/types/SheetOperation.ts
236
+ var SheetOperation_exports = {};
237
+ __export(SheetOperation_exports, {
238
+ DropAxis: () => DropAxis,
239
+ DropAxisOutput: () => DropAxisOutput,
240
+ InsertAxis: () => InsertAxis,
241
+ RestoreAxis: () => RestoreAxis,
242
+ ScrollToAnchor: () => ScrollToAnchor
243
+ });
244
+ import * as Schema3 from "effect/Schema";
245
+ import { Capability as Capability2 } from "@dxos/app-framework";
246
+ import { Operation } from "@dxos/compute";
247
+ import { DXN as DXN2 } from "@dxos/keys";
248
+ import { meta as meta2 } from "#meta";
249
+ var makeKey = (name) => DXN2.make(`${meta2.id}.operation.${name}`);
250
+ var Axis = Schema3.Union(Schema3.Literal("row"), Schema3.Literal("col"));
251
+ var InsertAxis = Operation.make({
252
+ meta: {
253
+ key: makeKey("axisInsert"),
254
+ name: "Insert Axis",
255
+ icon: "ph--plus--regular"
256
+ },
257
+ input: Schema3.Struct({
258
+ model: Schema3.Any,
259
+ axis: Axis,
260
+ index: Schema3.Number,
261
+ count: Schema3.optional(Schema3.Number)
262
+ }),
263
+ output: Schema3.Void
264
+ });
265
+ var DropAxisOutput = Schema3.Struct({
266
+ axis: Axis.annotations({
267
+ description: "The axis type (row or col)."
268
+ }),
269
+ axisIndex: Schema3.String.annotations({
270
+ description: "The dropped axis index."
271
+ }),
272
+ index: Schema3.Number.annotations({
273
+ description: "The position the axis was at."
274
+ }),
275
+ axisMeta: Schema3.Any.annotations({
276
+ description: "The row/column metadata."
277
+ }),
278
+ values: Schema3.Array(Schema3.Any).annotations({
279
+ description: "The cell values that were dropped."
280
+ })
281
+ });
282
+ var DropAxis = Operation.make({
283
+ meta: {
284
+ key: makeKey("axisDrop"),
285
+ name: "Drop Axis",
286
+ icon: "ph--trash--regular"
287
+ },
288
+ input: Schema3.Struct({
289
+ model: Schema3.Any,
290
+ axis: Axis,
291
+ axisIndex: Schema3.String
292
+ }),
293
+ output: DropAxisOutput
294
+ });
295
+ var ScrollToAnchor = Operation.make({
296
+ meta: {
297
+ key: makeKey("scrollToAnchor"),
298
+ name: "Scroll To Anchor",
299
+ icon: "ph--anchor-simple--regular"
300
+ },
301
+ services: [
302
+ Capability2.Service
303
+ ],
304
+ input: Schema3.Struct({
305
+ subject: Schema3.String.annotations({
306
+ description: "Attendable ID of the sheet."
307
+ }),
308
+ cursor: Schema3.String.annotations({
309
+ description: "Cell range coordinates."
310
+ }),
311
+ ref: Schema3.optional(Schema3.Any.annotations({
312
+ description: "Active refs for highlighting."
313
+ }))
314
+ }),
315
+ output: Schema3.Void
316
+ });
317
+ var RestoreAxis = Operation.make({
318
+ meta: {
319
+ key: makeKey("restoreAxis"),
320
+ name: "Restore Axis",
321
+ icon: "ph--clock-counter-clockwise--regular"
322
+ },
323
+ input: Schema3.Struct({
324
+ model: Schema3.Any.annotations({
325
+ description: "The sheet model."
326
+ }),
305
327
  axis: Axis.annotations({
306
328
  description: "The axis type (row or col)."
307
329
  }),
308
- axisIndex: Schema2.String.annotations({
309
- description: "The dropped axis index."
330
+ axisIndex: Schema3.String.annotations({
331
+ description: "The axis index to restore."
310
332
  }),
311
- index: Schema2.Number.annotations({
312
- description: "The position the axis was at."
333
+ index: Schema3.Number.annotations({
334
+ description: "The position to restore at."
313
335
  }),
314
- axisMeta: Schema2.Any.annotations({
336
+ axisMeta: Schema3.Any.annotations({
315
337
  description: "The row/column metadata."
316
338
  }),
317
- values: Schema2.Array(Schema2.Any).annotations({
318
- description: "The cell values that were dropped."
339
+ values: Schema3.Array(Schema3.Any).annotations({
340
+ description: "The cell values to restore."
319
341
  })
320
- });
321
- SheetOperation2.DropAxis = Operation.make({
322
- meta: {
323
- key: `${SHEET_OPERATION}/axis-drop`,
324
- name: "Drop Axis"
325
- },
326
- schema: {
327
- input: Schema2.Struct({
328
- model: Schema2.Any,
329
- axis: Axis,
330
- axisIndex: Schema2.String
331
- }),
332
- output: SheetOperation2.DropAxisOutput
333
- }
334
- });
335
- SheetOperation2.RestoreAxis = Operation.make({
336
- meta: {
337
- key: `${SHEET_OPERATION}/restore-axis`,
338
- name: "Restore Axis"
339
- },
340
- schema: {
341
- input: Schema2.Struct({
342
- model: Schema2.Any.annotations({
343
- description: "The sheet model."
344
- }),
345
- axis: Axis.annotations({
346
- description: "The axis type (row or col)."
347
- }),
348
- axisIndex: Schema2.String.annotations({
349
- description: "The axis index to restore."
350
- }),
351
- index: Schema2.Number.annotations({
352
- description: "The position to restore at."
353
- }),
354
- axisMeta: Schema2.Any.annotations({
355
- description: "The row/column metadata."
356
- }),
357
- values: Schema2.Array(Schema2.Any).annotations({
358
- description: "The cell values to restore."
359
- })
360
- }),
361
- output: Schema2.Void
362
- }
363
- });
364
- })(SheetOperation || (SheetOperation = {}));
365
- var SheetAction;
366
- var SheetOperation;
342
+ }),
343
+ output: Schema3.Void
344
+ });
367
345
 
368
346
  export {
369
- meta,
370
- SheetCapabilities,
347
+ alignKey,
348
+ commentKey,
349
+ styleKey,
350
+ cellClassNameForRange,
371
351
  MAX_ROWS,
372
352
  MAX_COLS,
373
353
  DEFAULT_ROWS,
@@ -387,11 +367,8 @@ export {
387
367
  mapFormulaRefsToIndices,
388
368
  mapFormulaIndicesToRefs,
389
369
  Sheet_exports,
390
- alignKey,
391
- commentKey,
392
- styleKey,
393
- cellClassNameForRange,
394
370
  SheetAction,
395
- SheetOperation
371
+ SheetCapabilities_exports,
372
+ SheetOperation_exports
396
373
  };
397
- //# sourceMappingURL=chunk-S445OQGW.mjs.map
374
+ //# sourceMappingURL=chunk-EUM3RVML.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/types/sheet-range-types.ts", "../../../src/types/types.ts", "../../../src/types/Sheet.ts", "../../../src/types/util.ts", "../../../src/types/SheetCapabilities.ts", "../../../src/types/SheetOperation.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { type ClassNameValue } from '@dxos/react-ui';\n\nimport { type Sheet } from '../types';\n\nexport const alignKey = 'alignment';\nexport type AlignKey = typeof alignKey;\nexport type AlignValue = 'start' | 'center' | 'end';\n\nexport const commentKey = 'comment';\nexport type CommentKey = typeof commentKey;\nexport type CommentValue = string;\n\nexport const styleKey = 'style';\nexport type StyleKey = typeof styleKey;\nexport type StyleValue = 'highlight' | 'softwrap';\n\n// TODO(burdon): Reconcile with plugin-table.\nexport const cellClassNameForRange = ({ key, value }: Sheet.Sheet['ranges'][number]): ClassNameValue => {\n switch (key) {\n case alignKey:\n switch (value) {\n case 'start':\n return 'text-start';\n case 'center':\n return 'text-center';\n case 'end':\n return 'text-end';\n default:\n return undefined;\n }\n\n case commentKey:\n return 'bg-grid-comment';\n\n case styleKey:\n switch (value) {\n case 'highlight':\n return 'bg-grid-highlight!';\n case 'softwrap':\n return 'whitespace-normal!';\n default:\n return undefined;\n }\n\n default:\n return undefined;\n }\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport * as Sheet from './Sheet';\n\n// TODO(wittjosiah): Factor out. This is `DxGridAxis` from `@dxos/react-ui-grid`.\nconst ActionAxis = Schema.Union(Schema.Literal('row'), Schema.Literal('col'));\n\nexport namespace SheetAction {\n export const RestoreAxis = Schema.Struct({\n axis: ActionAxis,\n axisIndex: Schema.String,\n index: Schema.Number,\n axisMeta: Sheet.RowColumnMeta,\n values: Schema.Array(Schema.Any),\n });\n\n export type RestoreAxis = Schema.Schema.Type<typeof RestoreAxis>;\n}\n", "//\n// Copyright 2023 DXOS.org\n//\n\n// @import-as-namespace\n\nimport * as Schema from 'effect/Schema';\n\nimport { addressFromA1Notation, isFormula } from '@dxos/compute-hyperformula';\nimport { DXN, Annotation, Obj, Type } from '@dxos/echo';\nimport { FormInputAnnotation } from '@dxos/echo/internal';\n\nimport { addressToIndex, initialize, mapFormulaRefsToIndices } from './util';\n\nexport type SheetSize = {\n rows: number;\n columns: number;\n};\n\nexport const CellValue = Schema.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 value: Schema.Any,\n});\n\nexport type CellValue = Schema.Schema.Type<typeof CellValue>;\n\n// TODO(burdon): IMPORTANT: Reconcile with Field definition.\nexport const Range = Schema.Struct({\n range: Schema.String,\n key: Schema.String,\n value: Schema.String,\n});\n\nexport type Range = Schema.Schema.Type<typeof Range>;\n\n// TODO(burdon): Visibility, locked, frozen, etc.\nexport const RowColumnMeta = Schema.Struct({\n size: Schema.optional(Schema.Number),\n});\n\n// TODO(burdon): Reconcile col/column (across packages).\n// TODO(burdon): Index to all updates when rows/columns are inserted/deleted.\nexport const Sheet = Schema.Struct({\n name: Schema.optional(Schema.String),\n\n // Sparse map of cells referenced by index.\n cells: Schema.Record({ key: Schema.String, value: CellValue }).pipe(FormInputAnnotation.set(false)),\n\n // Ordered row indices.\n rows: Schema.Array(Schema.String).pipe(FormInputAnnotation.set(false)),\n\n // Ordered column indices.\n columns: Schema.Array(Schema.String).pipe(FormInputAnnotation.set(false)),\n\n // Row metadata referenced by index.\n rowMeta: Schema.Record({ key: Schema.String, value: RowColumnMeta }).pipe(FormInputAnnotation.set(false)),\n\n // Column metadata referenced by index.\n columnMeta: Schema.Record({ key: Schema.String, value: RowColumnMeta }).pipe(FormInputAnnotation.set(false)),\n\n // Cell formatting referenced by indexed range.\n ranges: Schema.Array(Range).pipe(FormInputAnnotation.set(false)),\n}).pipe(\n Annotation.IconAnnotation.set({ icon: 'ph--grid-nine--regular', hue: 'indigo' }),\n Type.makeObject(DXN.make('org.dxos.type.sheet', '0.1.0')),\n);\n\nexport type Sheet = Type.InstanceType<typeof Sheet>;\n\nexport type SheetProps = {\n name?: string;\n cells?: Record<string, CellValue>;\n} & Partial<SheetSize>;\n\nexport const make = ({ name, cells = {}, ...size }: SheetProps = {}) => {\n const sheet = Obj.make(Sheet, { name, cells: {}, rows: [], columns: [], rowMeta: {}, columnMeta: {}, ranges: [] });\n\n // Initialize and set cells within Obj.update to satisfy change context requirements.\n Obj.update(sheet, (sheet) => {\n initialize(sheet, size);\n\n if (cells) {\n Object.entries(cells).forEach(([key, { value }]) => {\n const idx = addressToIndex(sheet, addressFromA1Notation(key));\n if (isFormula(value)) {\n value = mapFormulaRefsToIndices(sheet, value);\n }\n\n sheet.cells[idx] = { value };\n });\n }\n });\n\n return sheet;\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport {\n type CellAddress,\n type CellRange,\n type CompleteCellRange,\n addressFromA1Notation,\n addressToA1Notation,\n isFormula,\n} from '@dxos/compute-hyperformula';\nimport { randomBytes } from '@dxos/crypto';\nimport { type Obj } from '@dxos/echo';\nimport { assertArgument } from '@dxos/invariant';\n\nimport { type Sheet } from '../types';\n\nexport const MAX_ROWS = 500;\nexport const MAX_COLS = 676; // 26^2;\n\nexport const DEFAULT_ROWS = 50;\nexport const DEFAULT_COLS = 26;\n\n// TODO(burdon): Factor out from dxos/protocols to new common package.\nexport class ApiError extends Error {}\n\nexport class ReadonlyException extends ApiError {}\n\nexport class RangeException extends ApiError {\n constructor(n: number) {\n super();\n }\n}\n\n/**\n * With a string length of 8, the chance of a collision is 0.02% for a sheet with 10,000 strings.\n */\nexport const createIndex = (length = 8): string => {\n const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\n const charactersLength = characters.length;\n const randomBuffer = randomBytes(length);\n return Array.from(randomBuffer, (byte) => characters[byte % charactersLength]).join('');\n};\n\nexport const createIndices = (length: number): string[] => Array.from({ length }).map(() => createIndex());\n\nexport const insertIndices = (indices: string[], i: number, n: number, max: number) => {\n if (i + n > max) {\n throw new RangeException(i + n);\n }\n\n const idx = createIndices(n);\n indices.splice(i, 0, ...idx);\n return idx;\n};\n\nexport const initialize = (\n sheet: Obj.Mutable<Sheet.Sheet>,\n { rows = DEFAULT_ROWS, columns = DEFAULT_COLS }: Partial<Sheet.SheetSize> = {},\n) => {\n if (!sheet.rows.length) {\n insertIndices(sheet.rows, 0, rows, MAX_ROWS);\n }\n if (!sheet.columns.length) {\n insertIndices(sheet.columns, 0, columns, MAX_COLS);\n }\n};\n\n/**\n * E.g., \"A1\" => \"CA2@CB3\".\n */\nexport const addressToIndex = (sheet: Sheet.Sheet, cell: CellAddress): string => {\n return `${sheet.columns[cell.col]}@${sheet.rows[cell.row]}`;\n};\n\n/**\n * E.g., \"CA2@CB3\" => \"A1\".\n */\nexport const addressFromIndex = (sheet: Sheet.Sheet, idx: string): CellAddress => {\n const [column, row] = idx.split('@');\n return {\n col: sheet.columns.indexOf(column),\n row: sheet.rows.indexOf(row),\n };\n};\n\n/**\n * E.g., \"A1:B2\" => \"CA2@CB3:CC4@CD5\".\n */\nexport const rangeToIndex = (sheet: Sheet.Sheet, range: CellRange): string => {\n return [range.from, range.to ?? range.from].map((cell) => addressToIndex(sheet, cell)).join(':');\n};\n\n/**\n * E.g., \"CA2@CB3:CC4@CD5\" => \"A1:B2\".\n */\nexport const rangeFromIndex = (sheet: Sheet.Sheet, idx: string): CompleteCellRange => {\n const [from, to] = idx.split(':').map((index) => addressFromIndex(sheet, index));\n return { from, to };\n};\n\n/**\n * Compares the positions of two cell indexes in a sheet.\n * Sorts primarily by row, then by column if rows are equal.\n */\nexport const compareIndexPositions = (sheet: Sheet.Sheet, indexA: string, indexB: string): number => {\n const { row: rowA, col: columnA } = addressFromIndex(sheet, indexA);\n const { row: rowB, col: columnB } = addressFromIndex(sheet, indexB);\n\n // Sort by row first, then by column.\n if (rowA !== rowB) {\n return rowA - rowB;\n } else {\n return columnA - columnB;\n }\n};\n\n// TODO(burdon): Tests.\n\n/**\n * Map from A1 notation to indices.\n */\nexport const mapFormulaRefsToIndices = (sheet: Sheet.Sheet, formula: string): string => {\n assertArgument(isFormula(formula), 'formula');\n return formula.replace(/([a-zA-Z]+)([0-9]+)/g, (match) => {\n return addressToIndex(sheet, addressFromA1Notation(match));\n });\n};\n\n/**\n * Map from indices to A1 notation.\n */\nexport const mapFormulaIndicesToRefs = (sheet: Sheet.Sheet, formula: string): string => {\n assertArgument(isFormula(formula), 'formula');\n return formula.replace(/([a-zA-Z0-9]+)@([a-zA-Z0-9]+)/g, (idx) => {\n return addressToA1Notation(addressFromIndex(sheet, idx));\n });\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\n// @import-as-namespace\n\nimport { Capability } from '@dxos/app-framework';\nimport { type ComputeGraphRegistry as ComputeGraphRegistryType } from '@dxos/compute-hyperformula';\nimport { type DxGridElement, type GridContentProps } from '@dxos/react-ui-grid';\n\nimport { meta } from '#meta';\n\nexport type GridEntry = { grid: DxGridElement; setActiveRefs: (refs: GridContentProps['activeRefs']) => void };\n\nexport type GridRegistry = {\n register: (attendableId: string, grid: DxGridElement, setActiveRefs: GridEntry['setActiveRefs']) => void;\n unregister: (attendableId: string) => void;\n get: (attendableId: string) => GridEntry | undefined;\n};\n\nexport const ComputeGraphRegistry = Capability.make<ComputeGraphRegistryType>(\n `${meta.id}.capability.compute-graph-registry`,\n);\n\n/** Registry of active grid instances keyed by attendable ID. */\nexport const GridInstances = Capability.make<GridRegistry>(`${meta.id}.capability.grid-instances`);\n", "//\n// Copyright 2025 DXOS.org\n//\n\n// @import-as-namespace\n\nimport * as Schema from 'effect/Schema';\n\nimport { Capability } from '@dxos/app-framework';\nimport { Operation } from '@dxos/compute';\nimport { DXN } from '@dxos/keys';\n\nimport { meta } from '#meta';\n\nconst makeKey = (name: string) => DXN.make(`${meta.id}.operation.${name}`);\n\n// TODO(wittjosiah): Factor out. This is `DxGridAxis` from `@dxos/react-ui-grid`.\nconst Axis = Schema.Union(Schema.Literal('row'), Schema.Literal('col'));\n\nexport const InsertAxis = Operation.make({\n meta: { key: makeKey('axisInsert'), name: 'Insert Axis', icon: 'ph--plus--regular' },\n input: Schema.Struct({\n model: Schema.Any,\n axis: Axis,\n index: Schema.Number,\n count: Schema.optional(Schema.Number),\n }),\n output: Schema.Void,\n});\n\nexport const DropAxisOutput = Schema.Struct({\n axis: Axis.annotations({ description: 'The axis type (row or col).' }),\n axisIndex: Schema.String.annotations({ description: 'The dropped axis index.' }),\n index: Schema.Number.annotations({ description: 'The position the axis was at.' }),\n axisMeta: Schema.Any.annotations({ description: 'The row/column metadata.' }),\n values: Schema.Array(Schema.Any).annotations({ description: 'The cell values that were dropped.' }),\n});\n\nexport type DropAxisOutput = Schema.Schema.Type<typeof DropAxisOutput>;\n\nexport const DropAxis = Operation.make({\n meta: { key: makeKey('axisDrop'), name: 'Drop Axis', icon: 'ph--trash--regular' },\n input: Schema.Struct({\n model: Schema.Any,\n axis: Axis,\n axisIndex: Schema.String,\n }),\n output: DropAxisOutput,\n});\n\nexport const ScrollToAnchor = Operation.make({\n meta: {\n key: makeKey('scrollToAnchor'),\n name: 'Scroll To Anchor',\n icon: 'ph--anchor-simple--regular',\n },\n services: [Capability.Service],\n input: Schema.Struct({\n subject: Schema.String.annotations({ description: 'Attendable ID of the sheet.' }),\n cursor: Schema.String.annotations({ description: 'Cell range coordinates.' }),\n ref: Schema.optional(Schema.Any.annotations({ description: 'Active refs for highlighting.' })),\n }),\n output: Schema.Void,\n});\n\n/**\n * Restore a dropped axis (inverse of DropAxis).\n */\nexport const RestoreAxis = Operation.make({\n meta: {\n key: makeKey('restoreAxis'),\n name: 'Restore Axis',\n icon: 'ph--clock-counter-clockwise--regular',\n },\n input: Schema.Struct({\n model: Schema.Any.annotations({ description: 'The sheet model.' }),\n axis: Axis.annotations({ description: 'The axis type (row or col).' }),\n axisIndex: Schema.String.annotations({ description: 'The axis index to restore.' }),\n index: Schema.Number.annotations({ description: 'The position to restore at.' }),\n axisMeta: Schema.Any.annotations({ description: 'The row/column metadata.' }),\n values: Schema.Array(Schema.Any).annotations({ description: 'The cell values to restore.' }),\n }),\n output: Schema.Void,\n});\n"],
5
+ "mappings": "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",
6
+ "names": ["alignKey", "commentKey", "styleKey", "cellClassNameForRange", "key", "value", "undefined", "Schema", "Schema", "addressFromA1Notation", "isFormula", "DXN", "Annotation", "Obj", "Type", "FormInputAnnotation", "addressFromA1Notation", "addressToA1Notation", "isFormula", "randomBytes", "assertArgument", "MAX_ROWS", "MAX_COLS", "DEFAULT_ROWS", "DEFAULT_COLS", "ApiError", "Error", "ReadonlyException", "RangeException", "n", "createIndex", "length", "characters", "charactersLength", "randomBuffer", "Array", "from", "byte", "join", "createIndices", "map", "insertIndices", "indices", "i", "max", "idx", "splice", "initialize", "sheet", "rows", "columns", "addressToIndex", "cell", "col", "row", "addressFromIndex", "column", "split", "indexOf", "rangeToIndex", "range", "to", "rangeFromIndex", "index", "compareIndexPositions", "indexA", "indexB", "rowA", "columnA", "rowB", "columnB", "mapFormulaRefsToIndices", "formula", "replace", "match", "mapFormulaIndicesToRefs", "CellValue", "Struct", "value", "Any", "Range", "range", "String", "key", "RowColumnMeta", "size", "optional", "Number", "Sheet", "name", "cells", "Record", "pipe", "FormInputAnnotation", "set", "rows", "Array", "columns", "rowMeta", "columnMeta", "ranges", "Annotation", "IconAnnotation", "icon", "hue", "Type", "makeObject", "DXN", "make", "sheet", "Obj", "update", "initialize", "Object", "entries", "forEach", "idx", "addressToIndex", "addressFromA1Notation", "isFormula", "mapFormulaRefsToIndices", "ActionAxis", "Union", "Literal", "SheetAction", "RestoreAxis", "Struct", "axis", "axisIndex", "String", "index", "Number", "axisMeta", "RowColumnMeta", "values", "Array", "Any", "Capability", "meta", "ComputeGraphRegistry", "make", "id", "GridInstances", "Schema", "Capability", "Operation", "DXN", "meta", "makeKey", "name", "make", "id", "Axis", "Union", "Literal", "InsertAxis", "key", "icon", "input", "Struct", "model", "Any", "axis", "index", "Number", "count", "optional", "output", "Void", "DropAxisOutput", "annotations", "description", "axisIndex", "String", "axisMeta", "values", "Array", "DropAxis", "ScrollToAnchor", "services", "Service", "subject", "cursor", "ref", "RestoreAxis"]
7
+ }
@@ -0,0 +1,34 @@
1
+ // src/meta.ts
2
+ import { Plugin } from "@dxos/app-framework";
3
+ import { DXN } from "@dxos/keys";
4
+ import { trim } from "@dxos/util";
5
+ var meta = Plugin.makeMeta({
6
+ key: DXN.make("org.dxos.plugin.sheet"),
7
+ name: "Sheet",
8
+ author: "DXOS",
9
+ description: trim`
10
+ Full-featured spreadsheet for DXOS Composer backed by ECHO for local-first, real-time collaborative editing.
11
+ Cells, row/column metadata, and range-based formatting are all stored as ECHO objects and replicated to peers instantly.
12
+
13
+ Formula evaluation is powered by HyperFormula, providing over 400 built-in functions covering arithmetic, statistics,
14
+ text manipulation, date/time, financial, and logical operations. Formulas are stored with internal cell indices and
15
+ translated to A1-notation on display, keeping references stable across row and column insertions.
16
+
17
+ The plugin integrates with plugin-markdown to expose formula results inside document fenced code blocks, and
18
+ contributes anchor-navigation support so other plugins can scroll and highlight specific cell ranges by DXN reference.
19
+ AI agents can invoke sheet operations — insert/drop axes, scroll to anchor, and read or write cell values — through
20
+ the standard operations framework.
21
+ `,
22
+ icon: "ph--grid-nine--regular",
23
+ iconHue: "indigo",
24
+ source: "https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-sheet",
25
+ spec: "PLUGIN.mdl",
26
+ screenshots: [
27
+ "https://dxos.network/plugin-details-sheet-dark.png"
28
+ ]
29
+ });
30
+
31
+ export {
32
+ meta
33
+ };
34
+ //# sourceMappingURL=chunk-FQHTXKMF.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/meta.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Plugin } from '@dxos/app-framework';\nimport { DXN } from '@dxos/keys';\nimport { trim } from '@dxos/util';\n\nexport const meta = Plugin.makeMeta({\n key: DXN.make('org.dxos.plugin.sheet'),\n name: 'Sheet',\n author: 'DXOS',\n description: trim`\n Full-featured spreadsheet for DXOS Composer backed by ECHO for local-first, real-time collaborative editing.\n Cells, row/column metadata, and range-based formatting are all stored as ECHO objects and replicated to peers instantly.\n\n Formula evaluation is powered by HyperFormula, providing over 400 built-in functions covering arithmetic, statistics,\n text manipulation, date/time, financial, and logical operations. Formulas are stored with internal cell indices and\n translated to A1-notation on display, keeping references stable across row and column insertions.\n\n The plugin integrates with plugin-markdown to expose formula results inside document fenced code blocks, and\n contributes anchor-navigation support so other plugins can scroll and highlight specific cell ranges by DXN reference.\n AI agents can invoke sheet operations — insert/drop axes, scroll to anchor, and read or write cell values — through\n the standard operations framework.\n `,\n icon: 'ph--grid-nine--regular',\n iconHue: 'indigo',\n source: 'https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-sheet',\n spec: 'PLUGIN.mdl',\n screenshots: ['https://dxos.network/plugin-details-sheet-dark.png'],\n});\n"],
5
+ "mappings": ";AAIA,SAASA,cAAc;AACvB,SAASC,WAAW;AACpB,SAASC,YAAY;AAEd,IAAMC,OAAOH,OAAOI,SAAS;EAClCC,KAAKJ,IAAIK,KAAK,uBAAA;EACdC,MAAM;EACNC,QAAQ;EACRC,aAAaP;;;;;;;;;;;;;EAabQ,MAAM;EACNC,SAAS;EACTC,QAAQ;EACRC,MAAM;EACNC,aAAa;IAAC;;AAChB,CAAA;",
6
+ "names": ["Plugin", "DXN", "trim", "meta", "makeMeta", "key", "make", "name", "author", "description", "icon", "iconHue", "source", "spec", "screenshots"]
7
+ }
@@ -0,0 +1,10 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __export = (target, all) => {
3
+ for (var name in all)
4
+ __defProp(target, name, { get: all[name], enumerable: true });
5
+ };
6
+
7
+ export {
8
+ __export
9
+ };
10
+ //# sourceMappingURL=chunk-J5LGTIGS.mjs.map
@@ -0,0 +1,21 @@
1
+ import "./chunk-J5LGTIGS.mjs";
2
+
3
+ // src/capabilities/comment-config.ts
4
+ import * as Effect from "effect/Effect";
5
+ import { Capability } from "@dxos/app-framework";
6
+ import { AppCapabilities } from "@dxos/app-toolkit";
7
+ import { Type } from "@dxos/echo";
8
+ import { SheetOperation } from "#types";
9
+ import { Sheet } from "#types";
10
+ var comment_config_default = Capability.makeModule(Effect.fnUntraced(function* () {
11
+ const config = {
12
+ id: Type.getTypename(Sheet.Sheet),
13
+ comments: "anchored",
14
+ scrollToAnchor: SheetOperation.ScrollToAnchor
15
+ };
16
+ return Capability.contributes(AppCapabilities.CommentConfig, config);
17
+ }));
18
+ export {
19
+ comment_config_default as default
20
+ };
21
+ //# sourceMappingURL=comment-config-6JAROASH.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/comment-config.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability } from '@dxos/app-framework';\nimport { AppCapabilities } from '@dxos/app-toolkit';\n// eslint-disable-next-line unused-imports/no-unused-imports\nimport type { Operation } from '@dxos/compute';\nimport { Type } from '@dxos/echo';\n\nimport { SheetOperation } from '#types';\nimport { Sheet } from '#types';\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n const config: AppCapabilities.CommentConfig = {\n id: Type.getTypename(Sheet.Sheet),\n comments: 'anchored',\n scrollToAnchor: SheetOperation.ScrollToAnchor,\n };\n return Capability.contributes(AppCapabilities.CommentConfig, config);\n }),\n);\n"],
5
+ "mappings": ";;;AAIA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,uBAAuB;AAGhC,SAASC,YAAY;AAErB,SAASC,sBAAsB;AAC/B,SAASC,aAAa;AAEtB,IAAA,yBAAeJ,WAAWK,WACjBC,kBAAW,aAAA;AAChB,QAAMC,SAAwC;IAC5CC,IAAIN,KAAKO,YAAYL,MAAMA,KAAK;IAChCM,UAAU;IACVC,gBAAgBR,eAAeS;EACjC;AACA,SAAOZ,WAAWa,YAAYZ,gBAAgBa,eAAeP,MAAAA;AAC/D,CAAA,CAAA;",
6
+ "names": ["Effect", "Capability", "AppCapabilities", "Type", "SheetOperation", "Sheet", "makeModule", "fnUntraced", "config", "id", "getTypename", "comments", "scrollToAnchor", "ScrollToAnchor", "contributes", "CommentConfig"]
7
+ }