@dxos/plugin-sheet 0.8.3 → 0.8.4-main.1c7ec43d41

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 (375) hide show
  1. package/dist/lib/browser/SheetPlugin-ANKNNNUM.mjs +48 -0
  2. package/dist/lib/browser/SheetPlugin-ANKNNNUM.mjs.map +7 -0
  3. package/dist/lib/browser/chunk-5TXOUIGZ.mjs +118 -0
  4. package/dist/lib/browser/chunk-5TXOUIGZ.mjs.map +7 -0
  5. package/dist/lib/browser/chunk-J5LGTIGS.mjs +10 -0
  6. package/dist/lib/browser/chunk-J5LGTIGS.mjs.map +7 -0
  7. package/dist/lib/browser/chunk-SVGX3MWY.mjs +262 -0
  8. package/dist/lib/browser/chunk-SVGX3MWY.mjs.map +7 -0
  9. package/dist/lib/browser/drop-axis-ZLERPPPH.mjs +23 -0
  10. package/dist/lib/browser/drop-axis-ZLERPPPH.mjs.map +7 -0
  11. package/dist/lib/browser/index.mjs +21 -142
  12. package/dist/lib/browser/index.mjs.map +4 -4
  13. package/dist/lib/browser/insert-axis-WTRA3HE7.mjs +16 -0
  14. package/dist/lib/browser/insert-axis-WTRA3HE7.mjs.map +7 -0
  15. package/dist/lib/browser/meta.json +1 -1
  16. package/dist/lib/browser/operations/index.mjs +13 -0
  17. package/dist/lib/browser/operations/index.mjs.map +7 -0
  18. package/dist/lib/browser/restore-axis-PYGPW2TB.mjs +16 -0
  19. package/dist/lib/browser/restore-axis-PYGPW2TB.mjs.map +7 -0
  20. package/dist/lib/browser/scroll-to-anchor-6I4DNKBW.mjs +65 -0
  21. package/dist/lib/browser/scroll-to-anchor-6I4DNKBW.mjs.map +7 -0
  22. package/dist/lib/browser/translations.mjs +55 -0
  23. package/dist/lib/browser/translations.mjs.map +7 -0
  24. package/dist/lib/browser/types/index.mjs +6 -12
  25. package/dist/lib/node-esm/SheetPlugin-JMR3XCIU.mjs +49 -0
  26. package/dist/lib/node-esm/SheetPlugin-JMR3XCIU.mjs.map +7 -0
  27. package/dist/lib/node-esm/chunk-4A2KAXTF.mjs +263 -0
  28. package/dist/lib/node-esm/chunk-4A2KAXTF.mjs.map +7 -0
  29. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +11 -0
  30. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +7 -0
  31. package/dist/lib/node-esm/chunk-MCZFRYOP.mjs +119 -0
  32. package/dist/lib/node-esm/chunk-MCZFRYOP.mjs.map +7 -0
  33. package/dist/lib/node-esm/drop-axis-FV2GXSZP.mjs +24 -0
  34. package/dist/lib/node-esm/drop-axis-FV2GXSZP.mjs.map +7 -0
  35. package/dist/lib/node-esm/index.mjs +21 -142
  36. package/dist/lib/node-esm/index.mjs.map +4 -4
  37. package/dist/lib/node-esm/insert-axis-THXK6DCC.mjs +17 -0
  38. package/dist/lib/node-esm/insert-axis-THXK6DCC.mjs.map +7 -0
  39. package/dist/lib/node-esm/meta.json +1 -1
  40. package/dist/lib/node-esm/operations/index.mjs +14 -0
  41. package/dist/lib/node-esm/operations/index.mjs.map +7 -0
  42. package/dist/lib/node-esm/restore-axis-JIFT3Q7Z.mjs +17 -0
  43. package/dist/lib/node-esm/restore-axis-JIFT3Q7Z.mjs.map +7 -0
  44. package/dist/lib/node-esm/scroll-to-anchor-JRDC5KK2.mjs +66 -0
  45. package/dist/lib/node-esm/scroll-to-anchor-JRDC5KK2.mjs.map +7 -0
  46. package/dist/lib/node-esm/translations.mjs +56 -0
  47. package/dist/lib/node-esm/translations.mjs.map +7 -0
  48. package/dist/lib/node-esm/types/index.mjs +6 -12
  49. package/dist/types/src/SheetPlugin.d.ts +3 -1
  50. package/dist/types/src/SheetPlugin.d.ts.map +1 -1
  51. package/dist/types/src/SheetPlugin.node.d.ts +4 -0
  52. package/dist/types/src/SheetPlugin.node.d.ts.map +1 -0
  53. package/dist/types/src/SheetPlugin.test.d.ts +2 -0
  54. package/dist/types/src/SheetPlugin.test.d.ts.map +1 -0
  55. package/dist/types/src/capabilities/anchor-sort.d.ts +4 -4
  56. package/dist/types/src/capabilities/anchor-sort.d.ts.map +1 -1
  57. package/dist/types/src/capabilities/comment-config.d.ts +12 -0
  58. package/dist/types/src/capabilities/comment-config.d.ts.map +1 -0
  59. package/dist/types/src/capabilities/compute-graph-registry.d.ts +3 -2
  60. package/dist/types/src/capabilities/compute-graph-registry.d.ts.map +1 -1
  61. package/dist/types/src/capabilities/create-object.d.ts +11 -0
  62. package/dist/types/src/capabilities/create-object.d.ts.map +1 -0
  63. package/dist/types/src/capabilities/index.d.ts +23 -11
  64. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  65. package/dist/types/src/capabilities/markdown.d.ts +3 -4
  66. package/dist/types/src/capabilities/markdown.d.ts.map +1 -1
  67. package/dist/types/src/capabilities/operation-handler.d.ts +6 -0
  68. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
  69. package/dist/types/src/capabilities/react-surface.d.ts +3 -2
  70. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  71. package/dist/types/src/capabilities/state.d.ts +6 -0
  72. package/dist/types/src/capabilities/state.d.ts.map +1 -0
  73. package/dist/types/src/capabilities/undo-mappings.d.ts +5 -0
  74. package/dist/types/src/capabilities/undo-mappings.d.ts.map +1 -0
  75. package/dist/types/src/components/ComputeGraph/ComputeGraphContextProvider.d.ts +1 -1
  76. package/dist/types/src/components/ComputeGraph/ComputeGraphContextProvider.d.ts.map +1 -1
  77. package/dist/types/src/components/ComputeGraph/compute-graph.stories.d.ts +9 -4
  78. package/dist/types/src/components/ComputeGraph/compute-graph.stories.d.ts.map +1 -1
  79. package/dist/types/src/components/Sheet/Sheet.d.ts +17 -0
  80. package/dist/types/src/components/Sheet/Sheet.d.ts.map +1 -0
  81. package/dist/types/src/components/Sheet/index.d.ts +2 -0
  82. package/dist/types/src/components/Sheet/index.d.ts.map +1 -0
  83. package/dist/types/src/components/SheetContent/SheetCellEditor.stories.d.ts +16 -0
  84. package/dist/types/src/components/SheetContent/SheetCellEditor.stories.d.ts.map +1 -0
  85. package/dist/types/src/components/SheetContent/SheetContent.d.ts +6 -0
  86. package/dist/types/src/components/SheetContent/SheetContent.d.ts.map +1 -0
  87. package/dist/types/src/components/SheetContent/SheetContent.stories.d.ts +93 -0
  88. package/dist/types/src/components/SheetContent/SheetContent.stories.d.ts.map +1 -0
  89. package/dist/types/src/components/SheetContent/index.d.ts +2 -0
  90. package/dist/types/src/components/SheetContent/index.d.ts.map +1 -0
  91. package/dist/types/src/components/{GridSheet → SheetContent}/util.d.ts +2 -2
  92. package/dist/types/src/components/SheetContent/util.d.ts.map +1 -0
  93. package/dist/types/src/components/{SheetContext/SheetContext.d.ts → SheetRoot/SheetRoot.d.ts} +9 -7
  94. package/dist/types/src/components/SheetRoot/SheetRoot.d.ts.map +1 -0
  95. package/dist/types/src/components/SheetRoot/index.d.ts +2 -0
  96. package/dist/types/src/components/SheetRoot/index.d.ts.map +1 -0
  97. package/dist/types/src/components/SheetStatusbar/SheetStatusbar.d.ts +6 -0
  98. package/dist/types/src/components/SheetStatusbar/SheetStatusbar.d.ts.map +1 -0
  99. package/dist/types/src/components/SheetStatusbar/index.d.ts +2 -0
  100. package/dist/types/src/components/SheetStatusbar/index.d.ts.map +1 -0
  101. package/dist/types/src/components/SheetToolbar/SheetToolbar.d.ts +5 -6
  102. package/dist/types/src/components/SheetToolbar/SheetToolbar.d.ts.map +1 -1
  103. package/dist/types/src/components/SheetToolbar/SheetToolbar.stories.d.ts +92 -4
  104. package/dist/types/src/components/SheetToolbar/SheetToolbar.stories.d.ts.map +1 -1
  105. package/dist/types/src/components/SheetToolbar/align.d.ts +14 -21
  106. package/dist/types/src/components/SheetToolbar/align.d.ts.map +1 -1
  107. package/dist/types/src/components/SheetToolbar/style.d.ts +14 -20
  108. package/dist/types/src/components/SheetToolbar/style.d.ts.map +1 -1
  109. package/dist/types/src/components/SheetToolbar/useToolbarState.d.ts +14 -1
  110. package/dist/types/src/components/SheetToolbar/useToolbarState.d.ts.map +1 -1
  111. package/dist/types/src/components/index.d.ts +1 -4
  112. package/dist/types/src/components/index.d.ts.map +1 -1
  113. package/dist/types/src/containers/RangeList/RangeList.d.ts +7 -0
  114. package/dist/types/src/containers/RangeList/RangeList.d.ts.map +1 -0
  115. package/dist/types/src/containers/RangeList/index.d.ts +2 -0
  116. package/dist/types/src/containers/RangeList/index.d.ts.map +1 -0
  117. package/dist/types/src/containers/SheetContainer/SheetContainer.d.ts +12 -0
  118. package/dist/types/src/containers/SheetContainer/SheetContainer.d.ts.map +1 -0
  119. package/dist/types/src/containers/SheetContainer/SheetContainer.stories.d.ts +92 -0
  120. package/dist/types/src/containers/SheetContainer/SheetContainer.stories.d.ts.map +1 -0
  121. package/dist/types/src/containers/SheetContainer/index.d.ts +2 -0
  122. package/dist/types/src/containers/SheetContainer/index.d.ts.map +1 -0
  123. package/dist/types/src/containers/index.d.ts +4 -0
  124. package/dist/types/src/containers/index.d.ts.map +1 -0
  125. package/dist/types/src/extensions/compute.d.ts +2 -2
  126. package/dist/types/src/extensions/compute.d.ts.map +1 -1
  127. package/dist/types/src/extensions/compute.stories.d.ts +10 -13
  128. package/dist/types/src/extensions/compute.stories.d.ts.map +1 -1
  129. package/dist/types/src/extensions/editor/index.d.ts +1 -1
  130. package/dist/types/src/extensions/editor/index.d.ts.map +1 -1
  131. package/dist/types/src/extensions/editor/{extension.d.ts → sheet-extension.d.ts} +2 -2
  132. package/dist/types/src/extensions/editor/sheet-extension.d.ts.map +1 -0
  133. package/dist/types/src/extensions/editor/sheet-extension.test.d.ts +2 -0
  134. package/dist/types/src/extensions/editor/sheet-extension.test.d.ts.map +1 -0
  135. package/dist/types/src/index.d.ts +3 -2
  136. package/dist/types/src/index.d.ts.map +1 -1
  137. package/dist/types/src/integrations/thread-ranges.d.ts +1 -3
  138. package/dist/types/src/integrations/thread-ranges.d.ts.map +1 -1
  139. package/dist/types/src/meta.d.ts +2 -3
  140. package/dist/types/src/meta.d.ts.map +1 -1
  141. package/dist/types/src/model/sheet-model.d.ts +7 -7
  142. package/dist/types/src/model/sheet-model.d.ts.map +1 -1
  143. package/dist/types/src/model/testing.d.ts +2 -2
  144. package/dist/types/src/model/testing.d.ts.map +1 -1
  145. package/dist/types/src/model/useSheetModel.d.ts +3 -3
  146. package/dist/types/src/model/useSheetModel.d.ts.map +1 -1
  147. package/dist/types/src/operations/definitions.d.ts +45 -0
  148. package/dist/types/src/operations/definitions.d.ts.map +1 -0
  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 +4 -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 +3 -0
  160. package/dist/types/src/playwright/playwright.config.d.ts.map +1 -0
  161. package/dist/types/src/{testing/playwright → playwright}/sheet-manager.d.ts +1 -1
  162. package/dist/types/src/playwright/sheet-manager.d.ts.map +1 -0
  163. package/dist/types/src/playwright/sheet.spec.d.ts.map +1 -0
  164. package/dist/types/src/serializer.d.ts +2 -2
  165. package/dist/types/src/serializer.d.ts.map +1 -1
  166. package/dist/types/src/testing/data.d.ts +2 -2
  167. package/dist/types/src/testing/data.d.ts.map +1 -1
  168. package/dist/types/src/testing/testing.d.ts +28 -4
  169. package/dist/types/src/testing/testing.d.ts.map +1 -1
  170. package/dist/types/src/translations.d.ts +73 -92
  171. package/dist/types/src/translations.d.ts.map +1 -1
  172. package/dist/types/src/types/Sheet.d.ts +76 -0
  173. package/dist/types/src/types/Sheet.d.ts.map +1 -0
  174. package/dist/types/src/types/capabilities.d.ts +18 -0
  175. package/dist/types/src/types/capabilities.d.ts.map +1 -0
  176. package/dist/types/src/types/index.d.ts +2 -1
  177. package/dist/types/src/types/index.d.ts.map +1 -1
  178. package/dist/types/src/types/sheet-range-types.d.ts +2 -2
  179. package/dist/types/src/types/sheet-range-types.d.ts.map +1 -1
  180. package/dist/types/src/types/types.d.ts +3 -78
  181. package/dist/types/src/types/types.d.ts.map +1 -1
  182. package/dist/types/src/types/util.d.ts +11 -11
  183. package/dist/types/src/types/util.d.ts.map +1 -1
  184. package/dist/types/tsconfig.tsbuildinfo +1 -1
  185. package/package.json +109 -80
  186. package/src/SheetPlugin.node.ts +21 -0
  187. package/src/SheetPlugin.test.ts +30 -0
  188. package/src/SheetPlugin.tsx +48 -70
  189. package/src/capabilities/anchor-sort.ts +20 -15
  190. package/src/capabilities/comment-config.ts +24 -0
  191. package/src/capabilities/compute-graph-registry.ts +21 -20
  192. package/src/capabilities/create-object.ts +30 -0
  193. package/src/capabilities/index.ts +16 -8
  194. package/src/capabilities/markdown.ts +23 -14
  195. package/src/capabilities/operation-handler.ts +16 -0
  196. package/src/capabilities/react-surface.tsx +38 -28
  197. package/src/capabilities/state.ts +29 -0
  198. package/src/capabilities/undo-mappings.ts +30 -0
  199. package/src/components/ComputeGraph/ComputeGraphContextProvider.tsx +2 -2
  200. package/src/components/ComputeGraph/compute-graph.stories.tsx +33 -29
  201. package/src/components/Sheet/Sheet.tsx +20 -0
  202. package/src/components/Sheet/index.ts +5 -0
  203. package/src/components/SheetContent/SheetCellEditor.stories.tsx +95 -0
  204. package/src/components/SheetContent/SheetContent.stories.tsx +60 -0
  205. package/src/components/{GridSheet/GridSheet.tsx → SheetContent/SheetContent.tsx} +100 -69
  206. package/src/components/{RangeList → SheetContent}/index.ts +1 -1
  207. package/src/components/{GridSheet → SheetContent}/util.ts +23 -16
  208. package/src/components/{SheetContext/SheetContext.tsx → SheetRoot/SheetRoot.tsx} +55 -42
  209. package/src/components/{GridSheet → SheetRoot}/index.ts +1 -1
  210. package/src/components/{FunctionEditor/FunctionEditor.tsx → SheetStatusbar/SheetStatusbar.tsx} +19 -7
  211. package/src/components/{FunctionEditor → SheetStatusbar}/index.ts +1 -1
  212. package/src/components/SheetToolbar/SheetToolbar.stories.tsx +20 -14
  213. package/src/components/SheetToolbar/SheetToolbar.tsx +62 -56
  214. package/src/components/SheetToolbar/align.ts +50 -24
  215. package/src/components/SheetToolbar/style.ts +52 -22
  216. package/src/components/SheetToolbar/useToolbarState.ts +22 -5
  217. package/src/components/index.ts +1 -7
  218. package/src/containers/RangeList/RangeList.tsx +65 -0
  219. package/src/containers/RangeList/index.ts +5 -0
  220. package/src/containers/SheetContainer/SheetContainer.stories.tsx +110 -0
  221. package/src/containers/SheetContainer/SheetContainer.tsx +57 -0
  222. package/src/containers/SheetContainer/index.ts +5 -0
  223. package/src/containers/index.ts +8 -0
  224. package/src/extensions/compute.stories.tsx +50 -36
  225. package/src/extensions/compute.ts +4 -5
  226. package/src/extensions/editor/index.ts +1 -1
  227. package/src/extensions/editor/{extension.test.ts → sheet-extension.test.ts} +2 -2
  228. package/src/extensions/editor/{extension.ts → sheet-extension.ts} +18 -15
  229. package/src/index.ts +8 -2
  230. package/src/integrations/thread-ranges.ts +21 -62
  231. package/src/meta.ts +9 -7
  232. package/src/model/sheet-model.test.ts +7 -6
  233. package/src/model/sheet-model.ts +87 -55
  234. package/src/model/testing.ts +5 -5
  235. package/src/model/useSheetModel.ts +4 -3
  236. package/src/operations/definitions.ts +73 -0
  237. package/src/operations/drop-axis.ts +26 -0
  238. package/src/operations/index.ts +14 -0
  239. package/src/operations/insert-axis.ts +19 -0
  240. package/src/operations/restore-axis.ts +19 -0
  241. package/src/operations/scroll-to-anchor.ts +31 -0
  242. package/src/playwright/playwright.config.ts +17 -0
  243. package/src/{testing/playwright → playwright}/sheet-manager.ts +1 -1
  244. package/src/{testing/playwright → playwright}/sheet.spec.ts +5 -4
  245. package/src/sanity.test.ts +6 -4
  246. package/src/serializer.ts +4 -4
  247. package/src/testing/data.ts +2 -2
  248. package/src/testing/testing.tsx +13 -7
  249. package/src/translations.ts +46 -38
  250. package/src/types/Sheet.ts +103 -0
  251. package/src/types/capabilities.ts +26 -0
  252. package/src/types/index.ts +2 -1
  253. package/src/types/sheet-range-types.ts +5 -5
  254. package/src/types/types.ts +6 -51
  255. package/src/types/util.ts +15 -42
  256. package/dist/lib/browser/SheetContainer-BDZXBB5U.mjs +0 -351
  257. package/dist/lib/browser/SheetContainer-BDZXBB5U.mjs.map +0 -7
  258. package/dist/lib/browser/anchor-sort-NYYZLRAA.mjs +0 -24
  259. package/dist/lib/browser/anchor-sort-NYYZLRAA.mjs.map +0 -7
  260. package/dist/lib/browser/chunk-5TA43LO4.mjs +0 -847
  261. package/dist/lib/browser/chunk-5TA43LO4.mjs.map +0 -7
  262. package/dist/lib/browser/chunk-D3G4UGEK.mjs +0 -18
  263. package/dist/lib/browser/chunk-D3G4UGEK.mjs.map +0 -7
  264. package/dist/lib/browser/chunk-FJRLDX7Z.mjs +0 -234
  265. package/dist/lib/browser/chunk-FJRLDX7Z.mjs.map +0 -7
  266. package/dist/lib/browser/chunk-I7FZ4TWJ.mjs +0 -892
  267. package/dist/lib/browser/chunk-I7FZ4TWJ.mjs.map +0 -7
  268. package/dist/lib/browser/chunk-IR42IS3F.mjs +0 -15
  269. package/dist/lib/browser/chunk-IR42IS3F.mjs.map +0 -7
  270. package/dist/lib/browser/compute-graph-registry-IXGGJJBU.mjs +0 -30
  271. package/dist/lib/browser/compute-graph-registry-IXGGJJBU.mjs.map +0 -7
  272. package/dist/lib/browser/intent-resolver-IBBI6B74.mjs +0 -56
  273. package/dist/lib/browser/intent-resolver-IBBI6B74.mjs.map +0 -7
  274. package/dist/lib/browser/markdown-T4TUP4BF.mjs +0 -26
  275. package/dist/lib/browser/markdown-T4TUP4BF.mjs.map +0 -7
  276. package/dist/lib/browser/react-surface-UI46P43F.mjs +0 -53
  277. package/dist/lib/browser/react-surface-UI46P43F.mjs.map +0 -7
  278. package/dist/lib/node/SheetContainer-VWPM3HYJ.cjs +0 -351
  279. package/dist/lib/node/SheetContainer-VWPM3HYJ.cjs.map +0 -7
  280. package/dist/lib/node/anchor-sort-A7NABMJM.cjs +0 -39
  281. package/dist/lib/node/anchor-sort-A7NABMJM.cjs.map +0 -7
  282. package/dist/lib/node/chunk-FIM6EZ6M.cjs +0 -256
  283. package/dist/lib/node/chunk-FIM6EZ6M.cjs.map +0 -7
  284. package/dist/lib/node/chunk-JSIDCZHB.cjs +0 -41
  285. package/dist/lib/node/chunk-JSIDCZHB.cjs.map +0 -7
  286. package/dist/lib/node/chunk-LJWWS53Z.cjs +0 -34
  287. package/dist/lib/node/chunk-LJWWS53Z.cjs.map +0 -7
  288. package/dist/lib/node/chunk-N7FSEUIN.cjs +0 -927
  289. package/dist/lib/node/chunk-N7FSEUIN.cjs.map +0 -7
  290. package/dist/lib/node/chunk-ST3WA73J.cjs +0 -855
  291. package/dist/lib/node/chunk-ST3WA73J.cjs.map +0 -7
  292. package/dist/lib/node/compute-graph-registry-ARLDHPFW.cjs +0 -56
  293. package/dist/lib/node/compute-graph-registry-ARLDHPFW.cjs.map +0 -7
  294. package/dist/lib/node/index.cjs +0 -173
  295. package/dist/lib/node/index.cjs.map +0 -7
  296. package/dist/lib/node/intent-resolver-2657YDOU.cjs +0 -69
  297. package/dist/lib/node/intent-resolver-2657YDOU.cjs.map +0 -7
  298. package/dist/lib/node/markdown-DBPOAYI7.cjs +0 -40
  299. package/dist/lib/node/markdown-DBPOAYI7.cjs.map +0 -7
  300. package/dist/lib/node/meta.json +0 -1
  301. package/dist/lib/node/react-surface-XQEIRKWU.cjs +0 -71
  302. package/dist/lib/node/react-surface-XQEIRKWU.cjs.map +0 -7
  303. package/dist/lib/node/types/index.cjs +0 -84
  304. package/dist/lib/node/types/index.cjs.map +0 -7
  305. package/dist/lib/node-esm/SheetContainer-V632Q4HA.mjs +0 -352
  306. package/dist/lib/node-esm/SheetContainer-V632Q4HA.mjs.map +0 -7
  307. package/dist/lib/node-esm/anchor-sort-JTNZOE67.mjs +0 -25
  308. package/dist/lib/node-esm/anchor-sort-JTNZOE67.mjs.map +0 -7
  309. package/dist/lib/node-esm/chunk-C4IKYVTV.mjs +0 -893
  310. package/dist/lib/node-esm/chunk-C4IKYVTV.mjs.map +0 -7
  311. package/dist/lib/node-esm/chunk-IQ76YE6M.mjs +0 -16
  312. package/dist/lib/node-esm/chunk-IQ76YE6M.mjs.map +0 -7
  313. package/dist/lib/node-esm/chunk-NMCVJWDT.mjs +0 -236
  314. package/dist/lib/node-esm/chunk-NMCVJWDT.mjs.map +0 -7
  315. package/dist/lib/node-esm/chunk-SOC52B67.mjs +0 -848
  316. package/dist/lib/node-esm/chunk-SOC52B67.mjs.map +0 -7
  317. package/dist/lib/node-esm/chunk-Y6ND5HWX.mjs +0 -20
  318. package/dist/lib/node-esm/chunk-Y6ND5HWX.mjs.map +0 -7
  319. package/dist/lib/node-esm/compute-graph-registry-7PDWXMHF.mjs +0 -31
  320. package/dist/lib/node-esm/compute-graph-registry-7PDWXMHF.mjs.map +0 -7
  321. package/dist/lib/node-esm/intent-resolver-M2HNR7PJ.mjs +0 -57
  322. package/dist/lib/node-esm/intent-resolver-M2HNR7PJ.mjs.map +0 -7
  323. package/dist/lib/node-esm/markdown-WWUJ3E5F.mjs +0 -27
  324. package/dist/lib/node-esm/markdown-WWUJ3E5F.mjs.map +0 -7
  325. package/dist/lib/node-esm/react-surface-OLXO2MVB.mjs +0 -54
  326. package/dist/lib/node-esm/react-surface-OLXO2MVB.mjs.map +0 -7
  327. package/dist/types/src/capabilities/capabilities.d.ts +0 -5
  328. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  329. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  330. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  331. package/dist/types/src/components/FunctionEditor/FunctionEditor.d.ts +0 -3
  332. package/dist/types/src/components/FunctionEditor/FunctionEditor.d.ts.map +0 -1
  333. package/dist/types/src/components/FunctionEditor/index.d.ts +0 -2
  334. package/dist/types/src/components/FunctionEditor/index.d.ts.map +0 -1
  335. package/dist/types/src/components/GridSheet/GridSheet.d.ts +0 -3
  336. package/dist/types/src/components/GridSheet/GridSheet.d.ts.map +0 -1
  337. package/dist/types/src/components/GridSheet/GridSheet.stories.d.ts +0 -7
  338. package/dist/types/src/components/GridSheet/GridSheet.stories.d.ts.map +0 -1
  339. package/dist/types/src/components/GridSheet/SheetCellEditor.stories.d.ts +0 -25
  340. package/dist/types/src/components/GridSheet/SheetCellEditor.stories.d.ts.map +0 -1
  341. package/dist/types/src/components/GridSheet/index.d.ts +0 -2
  342. package/dist/types/src/components/GridSheet/index.d.ts.map +0 -1
  343. package/dist/types/src/components/GridSheet/util.d.ts.map +0 -1
  344. package/dist/types/src/components/RangeList/RangeList.d.ts +0 -7
  345. package/dist/types/src/components/RangeList/RangeList.d.ts.map +0 -1
  346. package/dist/types/src/components/RangeList/index.d.ts +0 -2
  347. package/dist/types/src/components/RangeList/index.d.ts.map +0 -1
  348. package/dist/types/src/components/SheetContainer/SheetContainer.d.ts +0 -11
  349. package/dist/types/src/components/SheetContainer/SheetContainer.d.ts.map +0 -1
  350. package/dist/types/src/components/SheetContainer/SheetContainer.stories.d.ts +0 -8
  351. package/dist/types/src/components/SheetContainer/SheetContainer.stories.d.ts.map +0 -1
  352. package/dist/types/src/components/SheetContainer/index.d.ts +0 -3
  353. package/dist/types/src/components/SheetContainer/index.d.ts.map +0 -1
  354. package/dist/types/src/components/SheetContext/SheetContext.d.ts.map +0 -1
  355. package/dist/types/src/components/SheetContext/index.d.ts +0 -2
  356. package/dist/types/src/components/SheetContext/index.d.ts.map +0 -1
  357. package/dist/types/src/extensions/editor/extension.d.ts.map +0 -1
  358. package/dist/types/src/extensions/editor/extension.test.d.ts +0 -2
  359. package/dist/types/src/extensions/editor/extension.test.d.ts.map +0 -1
  360. package/dist/types/src/testing/playwright/sheet-manager.d.ts.map +0 -1
  361. package/dist/types/src/testing/playwright/sheet.spec.d.ts.map +0 -1
  362. package/dist/types/src/types/schema.d.ts +0 -37
  363. package/dist/types/src/types/schema.d.ts.map +0 -1
  364. package/src/capabilities/capabilities.ts +0 -14
  365. package/src/capabilities/intent-resolver.ts +0 -38
  366. package/src/components/GridSheet/GridSheet.stories.tsx +0 -53
  367. package/src/components/GridSheet/SheetCellEditor.stories.tsx +0 -93
  368. package/src/components/RangeList/RangeList.tsx +0 -60
  369. package/src/components/SheetContainer/SheetContainer.stories.tsx +0 -89
  370. package/src/components/SheetContainer/SheetContainer.tsx +0 -36
  371. package/src/components/SheetContainer/index.ts +0 -7
  372. package/src/components/SheetContext/index.ts +0 -5
  373. package/src/testing/playwright/playwright.config.cts +0 -18
  374. package/src/types/schema.ts +0 -60
  375. /package/dist/types/src/{testing/playwright → playwright}/sheet.spec.d.ts +0 -0
@@ -1,256 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var chunk_FIM6EZ6M_exports = {};
20
- __export(chunk_FIM6EZ6M_exports, {
21
- computeGraphFacet: () => computeGraphFacet,
22
- rangeExtension: () => rangeExtension,
23
- sheetExtension: () => sheetExtension
24
- });
25
- module.exports = __toCommonJS(chunk_FIM6EZ6M_exports);
26
- var import_language = require("@codemirror/language");
27
- var import_state = require("@codemirror/state");
28
- var import_view = require("@codemirror/view");
29
- var import_async = require("@dxos/async");
30
- var import_compute = require("@dxos/compute");
31
- var import_invariant = require("@dxos/invariant");
32
- var import_react_ui_editor = require("@dxos/react-ui-editor");
33
- var import_autocomplete = require("@codemirror/autocomplete");
34
- var import_language2 = require("@codemirror/language");
35
- var import_view2 = require("@codemirror/view");
36
- var import_highlight = require("@lezer/highlight");
37
- var import_codemirror_lang_spreadsheet = require("codemirror-lang-spreadsheet");
38
- var import_compute2 = require("@dxos/compute");
39
- var import_react_ui_editor2 = require("@dxos/react-ui-editor");
40
- var import_react_ui_theme = require("@dxos/react-ui-theme");
41
- var updateAllDecorations = import_state.StateEffect.define();
42
- var computeGraphFacet = (0, import_react_ui_editor.singleValueFacet)();
43
- var highlightStyles = import_language2.HighlightStyle.define([
44
- // Function.
45
- {
46
- tag: import_highlight.tags.name,
47
- class: "text-accentText"
48
- },
49
- // Range.
50
- {
51
- tag: import_highlight.tags.tagName,
52
- class: "text-pinkText"
53
- },
54
- // Values.
55
- {
56
- tag: import_highlight.tags.number,
57
- class: "text-tealText"
58
- },
59
- {
60
- tag: import_highlight.tags.bool,
61
- class: "text-tealText"
62
- },
63
- {
64
- tag: import_highlight.tags.string,
65
- class: "text-tealText"
66
- },
67
- // Error.
68
- {
69
- tag: import_highlight.tags.invalid,
70
- class: "text-unAccent"
71
- }
72
- ]);
73
- var languageFacet = (0, import_react_ui_editor2.singleValueFacet)();
74
- var sheetExtension = ({ debug, functions = [] }) => {
75
- const { extension, language } = (0, import_codemirror_lang_spreadsheet.spreadsheet)({
76
- idiom: "en-US",
77
- decimalSeparator: "."
78
- });
79
- const createCompletion = (name) => {
80
- const { section = "Custom", description, syntax } = functions.find((value) => value.name === name) ?? {};
81
- return {
82
- section,
83
- label: name,
84
- info: () => {
85
- if (!description && !syntax) {
86
- return null;
87
- }
88
- const root = document.createElement("div");
89
- root.className = "flex flex-col gap-2 text-sm";
90
- const title = document.createElement("h2");
91
- title.innerText = name;
92
- title.className = "text-lg font-mono text-accentText";
93
- root.appendChild(title);
94
- if (description) {
95
- const info = document.createElement("p");
96
- info.innerText = description;
97
- info.className = "text-subdued";
98
- root.appendChild(info);
99
- }
100
- if (syntax) {
101
- const detail = document.createElement("pre");
102
- detail.innerText = syntax;
103
- detail.className = "whitespace-pre-wrap text-greenText";
104
- root.appendChild(detail);
105
- }
106
- return root;
107
- },
108
- apply: (view, completion, from, to) => {
109
- const insertParens = to === view.state.doc.toString().length;
110
- view.dispatch(view.state.update({
111
- changes: {
112
- from,
113
- to,
114
- insert: completion.label + (insertParens ? "()" : "")
115
- },
116
- selection: {
117
- anchor: from + completion.label.length + 1
118
- }
119
- }));
120
- }
121
- };
122
- };
123
- return [
124
- extension,
125
- languageFacet.of(language),
126
- language.data.of({
127
- autocomplete: (context) => {
128
- if (context.state.doc.toString()[0] !== "=") {
129
- return null;
130
- }
131
- const match = context.matchBefore(/\w*/);
132
- if (!match || match.from === match.to) {
133
- return null;
134
- }
135
- const text = match.text.toUpperCase();
136
- if (!context.explicit && match.text.length < 2) {
137
- return null;
138
- }
139
- return {
140
- from: match.from,
141
- options: functions?.filter(({ name }) => name.startsWith(text)).map(({ name }) => createCompletion(name)) ?? []
142
- };
143
- }
144
- }),
145
- (0, import_language2.syntaxHighlighting)(highlightStyles),
146
- (0, import_autocomplete.autocompletion)({
147
- aboveCursor: false,
148
- defaultKeymap: true,
149
- activateOnTyping: true,
150
- closeOnBlur: !debug,
151
- icons: false,
152
- tooltipClass: () => (0, import_react_ui_theme.mx)("!-left-[1px] !top-[33px] !-m-0 border !border-t-0 [&>ul]:!min-w-[198px]", "[&>ul>li[aria-selected]]:!bg-accentSurface", "border-separator")
153
- }),
154
- import_view2.keymap.of([
155
- {
156
- key: "Tab",
157
- run: (view) => {
158
- return (0, import_autocomplete.completionStatus)(view.state) === "active" ? (0, import_autocomplete.acceptCompletion)(view) : (0, import_autocomplete.startCompletion)(view);
159
- }
160
- }
161
- ])
162
- ];
163
- };
164
- var rangeExtension = ({ onInit, onStateChange }) => {
165
- let view;
166
- let activeRange;
167
- const notifier = {
168
- setRange: (range) => {
169
- if (activeRange) {
170
- view.dispatch(view.state.update({
171
- changes: {
172
- ...activeRange,
173
- insert: range.toString()
174
- },
175
- selection: {
176
- anchor: activeRange.from + range.length
177
- }
178
- }));
179
- }
180
- view.focus();
181
- }
182
- };
183
- return import_view2.ViewPlugin.fromClass(class {
184
- constructor(_view) {
185
- view = _view;
186
- onInit?.(notifier);
187
- }
188
- update(view2) {
189
- const { anchor } = view2.state.selection.ranges[0];
190
- activeRange = void 0;
191
- const language = view2.state.facet(languageFacet);
192
- const { topNode } = language.parser.parse(view2.state.doc.toString());
193
- visitTree(topNode, ({ type, from, to }) => {
194
- if (from <= anchor && to >= anchor) {
195
- switch (type.name) {
196
- case "Function":
197
- activeRange = {
198
- from: to,
199
- to
200
- };
201
- break;
202
- case "CloseParen":
203
- activeRange = {
204
- from,
205
- to: from
206
- };
207
- break;
208
- case "RangeToken":
209
- case "CellToken":
210
- activeRange = {
211
- from,
212
- to
213
- };
214
- return true;
215
- }
216
- }
217
- return false;
218
- });
219
- if (!activeRange && view2.state.doc.toString()[0] === "=") {
220
- const str = view2.state.doc.sliceString(1);
221
- if (import_compute2.RANGE_NOTATION.test(str)) {
222
- activeRange = {
223
- from: 1,
224
- to: str.length + 1
225
- };
226
- } else {
227
- activeRange = {
228
- from: str.length + 1,
229
- to: str.length + 1
230
- };
231
- }
232
- }
233
- onStateChange?.({
234
- activeRange: activeRange ? view2.state.doc.sliceString(activeRange.from, activeRange.to) : void 0
235
- });
236
- }
237
- });
238
- };
239
- var visitTree = (node, callback) => {
240
- if (callback(node)) {
241
- return true;
242
- }
243
- for (let child = node.firstChild; child !== null; child = child.nextSibling) {
244
- if (visitTree(child, callback)) {
245
- return true;
246
- }
247
- }
248
- return false;
249
- };
250
- // Annotate the CommonJS export names for ESM import in node:
251
- 0 && (module.exports = {
252
- computeGraphFacet,
253
- rangeExtension,
254
- sheetExtension
255
- });
256
- //# sourceMappingURL=chunk-FIM6EZ6M.cjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/extensions/compute.ts", "../../../src/extensions/editor/extension.ts"],
4
- "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { syntaxTree } from '@codemirror/language';\nimport {\n type EditorState,\n type Extension,\n type RangeSet,\n RangeSetBuilder,\n StateEffect,\n StateField,\n type Transaction,\n} from '@codemirror/state';\nimport { Decoration, EditorView, ViewPlugin, WidgetType } from '@codemirror/view';\n\nimport { type CleanupFn, debounce } from '@dxos/async';\nimport {\n createSheetName,\n type CellAddress,\n type CellScalarValue,\n type ComputeGraph,\n type ComputeNode,\n} from '@dxos/compute';\nimport { invariant } from '@dxos/invariant';\nimport { documentId, singleValueFacet } from '@dxos/react-ui-editor';\n\nconst LANGUAGE_TAG = 'dx';\n\n// TODO(burdon): Create marker just for our decorator?\nconst updateAllDecorations = StateEffect.define<void>();\n\nexport const computeGraphFacet = singleValueFacet<ComputeGraph>();\n\nexport type ComputeOptions = {};\n\nexport const compute = (options: ComputeOptions = {}): Extension => {\n let computeNode: ComputeNode | undefined;\n\n const update = (state: EditorState, current?: RangeSet<Decoration>) => {\n const builder = new RangeSetBuilder<Decoration>();\n if (computeNode) {\n computeNode.clear();\n syntaxTree(state).iterate({\n enter: (node) => {\n switch (node.name) {\n case 'FencedCode': {\n const cursor = state.selection.main.head;\n if (state.readOnly || cursor < node.from || cursor > node.to) {\n const info = node.node.getChild('CodeInfo');\n if (info) {\n const type = state.sliceDoc(info.from, info.to);\n const text = node.node.getChild('CodeText');\n if (type === LANGUAGE_TAG && text) {\n const formula = state.sliceDoc(text.from, text.to);\n\n const iter = current?.iter(node.node.from);\n if (iter?.value && iter?.value.spec.formula === formula) {\n // Add existing widget.\n builder.add(node.from, node.to, iter.value);\n } else {\n // TODO(burdon): Create ordered list of cells on each decoration run.\n const cell: CellAddress = { col: node.node.from, row: 0 };\n invariant(computeNode);\n // NOTE: This triggers re-render (below).\n computeNode.setValue(cell, formula);\n const value = computeNode.getValue(cell);\n builder.add(\n node.from,\n node.to,\n Decoration.replace({\n widget: new ComputeWidget(formula, value),\n formula,\n }),\n );\n }\n }\n }\n }\n\n break;\n }\n }\n },\n });\n }\n\n return builder.finish();\n };\n\n return [\n ViewPlugin.fromClass(\n class {\n // Graph subscription.\n private _subscription?: CleanupFn;\n constructor(view: EditorView) {\n const id = view.state.facet(documentId);\n const computeGraph = view.state.facet(computeGraphFacet);\n if (id && computeGraph) {\n queueMicrotask(async () => {\n computeNode = computeGraph.getOrCreateNode(createSheetName({ type: '', id }));\n await computeNode.open();\n\n // Trigger re-render if values updated.\n // TODO(burdon): Trigger only if formula value updated (currently triggered during render).\n this._subscription = computeNode.update.on(\n debounce(({ type, ...rest }) => {\n if (type === 'valuesUpdated') {\n view.dispatch({\n effects: updateAllDecorations.of(),\n });\n }\n }, 250),\n );\n });\n }\n }\n\n destroy() {\n this._subscription?.();\n void computeNode?.close();\n computeNode = undefined;\n }\n },\n ),\n\n StateField.define<RangeSet<Decoration>>({\n create: (state) => update(state),\n update: (rangeSet: RangeSet<Decoration>, tr: Transaction) => update(tr.state, rangeSet),\n provide: (field) => EditorView.decorations.from(field),\n }),\n ];\n};\n\n// TODO(burdon): Click to edit.\nclass ComputeWidget extends WidgetType {\n constructor(\n private readonly formula: string,\n private readonly value: CellScalarValue,\n ) {\n super();\n }\n\n override toDOM(_view: EditorView): HTMLDivElement {\n const div = document.createElement('div');\n div.setAttribute('title', this.formula);\n div.innerText = String(this.value);\n return div;\n }\n}\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport {\n type Completion,\n type CompletionContext,\n type CompletionResult,\n acceptCompletion,\n autocompletion,\n completionStatus,\n startCompletion,\n} from '@codemirror/autocomplete';\nimport { HighlightStyle, type Language, syntaxHighlighting } from '@codemirror/language';\nimport { type Extension } from '@codemirror/state';\nimport { type EditorView, ViewPlugin, type ViewUpdate, keymap } from '@codemirror/view';\nimport { type SyntaxNode } from '@lezer/common';\nimport { tags } from '@lezer/highlight';\nimport { spreadsheet } from 'codemirror-lang-spreadsheet';\n\nimport { type FunctionDefinition } from '@dxos/compute';\nimport { RANGE_NOTATION } from '@dxos/compute';\nimport { singleValueFacet } from '@dxos/react-ui-editor';\nimport { mx } from '@dxos/react-ui-theme';\n\n/**\n * https://codemirror.net/examples/styling\n * https://lezer.codemirror.net/docs/ref/#highlight\n * https://github.com/luizzappa/codemirror-lang-spreadsheet/blob/main/src/index.ts#L28 (mapping)\n */\n// TODO(burdon): Define light/dark.\nconst highlightStyles = HighlightStyle.define([\n // Function.\n {\n tag: tags.name,\n class: 'text-accentText',\n },\n // Range.\n {\n tag: tags.tagName,\n class: 'text-pinkText',\n },\n // Values.\n {\n tag: tags.number,\n class: 'text-tealText',\n },\n {\n tag: tags.bool,\n class: 'text-tealText',\n },\n {\n tag: tags.string,\n class: 'text-tealText',\n },\n // Error.\n {\n tag: tags.invalid,\n class: 'text-unAccent',\n },\n]);\n\nconst languageFacet = singleValueFacet<Language>();\n\nexport type SheetExtensionOptions = {\n debug?: boolean;\n functions?: FunctionDefinition[];\n};\n\n/**\n * Spreadsheet formula extension and parser.\n * https://github.com/luizzappa/codemirror-lang-spreadsheet\n * https://github.com/luizzappa/codemirror-app-spreadsheet/blob/master/src/editor.ts\n * https://github.com/codemirror/lang-example\n * https://hyperformula.handsontable.com/guide/key-concepts.html#grammar\n */\nexport const sheetExtension = ({ debug, functions = [] }: SheetExtensionOptions): Extension => {\n const { extension, language } = spreadsheet({ idiom: 'en-US', decimalSeparator: '.' });\n\n const createCompletion = (name: string) => {\n const { section = 'Custom', description, syntax } = functions.find((value) => value.name === name) ?? {};\n\n return {\n section,\n label: name,\n info: () => {\n if (!description && !syntax) {\n return null;\n }\n\n // TODO(burdon): Standardize color styles.\n const root = document.createElement('div');\n root.className = 'flex flex-col gap-2 text-sm';\n\n const title = document.createElement('h2');\n title.innerText = name;\n title.className = 'text-lg font-mono text-accentText';\n root.appendChild(title);\n\n if (description) {\n const info = document.createElement('p');\n info.innerText = description;\n info.className = 'text-subdued';\n root.appendChild(info);\n }\n\n if (syntax) {\n const detail = document.createElement('pre');\n detail.innerText = syntax;\n detail.className = 'whitespace-pre-wrap text-greenText';\n root.appendChild(detail);\n }\n\n return root;\n },\n apply: (view, completion, from, to) => {\n const insertParens = to === view.state.doc.toString().length;\n view.dispatch(\n view.state.update({\n changes: {\n from,\n to,\n insert: completion.label + (insertParens ? '()' : ''),\n },\n selection: {\n anchor: from + completion.label.length + 1,\n },\n }),\n );\n },\n } satisfies Completion;\n };\n\n return [\n extension,\n languageFacet.of(language),\n language.data.of({\n autocomplete: (context: CompletionContext): CompletionResult | null => {\n if (context.state.doc.toString()[0] !== '=') {\n return null;\n }\n const match = context.matchBefore(/\\w*/);\n if (!match || match.from === match.to) {\n return null;\n }\n\n const text = match.text.toUpperCase();\n if (!context.explicit && match.text.length < 2) {\n return null;\n }\n\n return {\n from: match.from,\n options:\n functions?.filter(({ name }) => name.startsWith(text)).map(({ name }) => createCompletion(name)) ?? [],\n };\n },\n }),\n\n syntaxHighlighting(highlightStyles),\n autocompletion({\n aboveCursor: false,\n defaultKeymap: true,\n activateOnTyping: true,\n closeOnBlur: !debug,\n icons: false,\n tooltipClass: () =>\n mx(\n '!-left-[1px] !top-[33px] !-m-0 border !border-t-0 [&>ul]:!min-w-[198px]',\n '[&>ul>li[aria-selected]]:!bg-accentSurface',\n 'border-separator',\n ),\n }),\n keymap.of([\n {\n key: 'Tab',\n run: (view) => {\n return completionStatus(view.state) === 'active' ? acceptCompletion(view) : startCompletion(view);\n },\n },\n ]),\n\n // Parsing.\n // StateField.define({\n // create: (state) => {},\n // update: (value, tr) => {\n // log.info('update');\n // syntaxTree(tr.state).iterate({\n // enter: ({ type, from, to }) => {\n // log.info('node', { type: type.name, from, to });\n // },\n // });\n // },\n // }),\n ];\n};\n\nexport type SelectionRange = { from: number; to: number };\n\nexport interface RangeController {\n setRange(range: string): void;\n}\n\nexport type RangeExtensionOptions = {\n /**\n * Provides controller callback when extension is initialized.\n */\n onInit?: (controller: RangeController) => void;\n /**\n * Called when the active range changes.\n * @param state The current state.\n * @param state.activeRange undefined if no range is active, otherwise a possibly partially defined range.\n */\n onStateChange?: (state: { activeRange: string | undefined }) => void;\n};\n\n/**\n * Tracks the currently active cell within a formula and provides a callback to modify it.\n */\nexport const rangeExtension = ({ onInit, onStateChange }: RangeExtensionOptions): Extension => {\n let view: EditorView;\n let activeRange: SelectionRange | undefined;\n\n // Called externally to provide current range.\n const notifier: RangeController = {\n setRange: (range: string) => {\n if (activeRange) {\n view.dispatch(\n view.state.update({\n changes: { ...activeRange, insert: range.toString() },\n selection: { anchor: activeRange.from + range.length },\n }),\n );\n }\n\n view.focus();\n },\n };\n\n return ViewPlugin.fromClass(\n class {\n constructor(_view: EditorView) {\n view = _view;\n onInit?.(notifier);\n }\n\n update(view: ViewUpdate) {\n const { anchor } = view.state.selection.ranges[0];\n\n // Find first Range or cell at cursor.\n activeRange = undefined;\n const language = view.state.facet(languageFacet);\n const { topNode } = language.parser.parse(view.state.doc.toString());\n visitTree(topNode, ({ type, from, to }) => {\n if (from <= anchor && to >= anchor) {\n switch (type.name) {\n case 'Function':\n // Mark but keep looking.\n activeRange = { from: to, to };\n break;\n\n case 'CloseParen':\n // Mark but keep looking.\n activeRange = { from, to: from };\n break;\n\n case 'RangeToken':\n case 'CellToken':\n activeRange = { from, to };\n return true;\n }\n }\n\n return false;\n });\n\n // Allow start of formula.\n if (!activeRange && view.state.doc.toString()[0] === '=') {\n const str = view.state.doc.sliceString(1);\n if (RANGE_NOTATION.test(str)) {\n activeRange = { from: 1, to: str.length + 1 };\n } else {\n activeRange = { from: str.length + 1, to: str.length + 1 };\n }\n }\n\n onStateChange?.({\n activeRange: activeRange ? view.state.doc.sliceString(activeRange.from, activeRange.to) : undefined,\n });\n }\n },\n );\n};\n\n/**\n * Lezer parse result visitor.\n */\nconst visitTree = (node: SyntaxNode, callback: (node: SyntaxNode) => boolean): boolean => {\n if (callback(node)) {\n return true;\n }\n\n for (let child = node.firstChild; child !== null; child = child.nextSibling) {\n if (visitTree(child, callback)) {\n return true;\n }\n }\n\n return false;\n};\n"],
5
- "mappings": "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",
6
- "names": ["import_language", "import_view", "import_compute", "import_react_ui_editor", "updateAllDecorations", "StateEffect", "define", "computeGraphFacet", "singleValueFacet", "highlightStyles", "HighlightStyle", "tag", "tags", "name", "class", "tagName", "number", "bool", "string", "invalid", "languageFacet", "sheetExtension", "debug", "functions", "extension", "language", "spreadsheet", "idiom", "decimalSeparator", "createCompletion", "section", "description", "syntax", "find", "value", "label", "info", "root", "document", "createElement", "className", "title", "innerText", "appendChild", "detail", "apply", "view", "completion", "from", "to", "insertParens", "state", "doc", "toString", "length", "dispatch", "update", "changes", "insert", "selection", "anchor", "of", "data", "autocomplete", "context", "match", "matchBefore", "text", "toUpperCase", "explicit", "options", "filter", "startsWith", "map", "syntaxHighlighting", "autocompletion", "aboveCursor", "defaultKeymap", "activateOnTyping", "closeOnBlur", "icons", "tooltipClass", "mx", "keymap", "key", "run", "completionStatus", "acceptCompletion", "startCompletion", "rangeExtension", "onInit", "onStateChange", "activeRange", "notifier", "setRange", "range", "focus", "ViewPlugin", "fromClass", "_view", "ranges", "undefined", "facet", "topNode", "parser", "parse", "visitTree", "type", "str", "sliceString", "RANGE_NOTATION", "test", "node", "callback", "child", "firstChild", "nextSibling"]
7
- }
@@ -1,41 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var chunk_JSIDCZHB_exports = {};
20
- __export(chunk_JSIDCZHB_exports, {
21
- SHEET_PLUGIN: () => SHEET_PLUGIN,
22
- meta: () => meta
23
- });
24
- module.exports = __toCommonJS(chunk_JSIDCZHB_exports);
25
- var SHEET_PLUGIN = "dxos.org/plugin/sheet";
26
- var meta = {
27
- id: SHEET_PLUGIN,
28
- name: "Sheet",
29
- description: "Sheets in Composer are simple spreadsheets which allow you to leverage custom functions inside of cell grids. Leverage more than 400 pre-built formulas like Sum, Average, Count, Max, Min along with many others. You can also deploy your own custom functions using the Scripts plugin. ",
30
- icon: "ph--grid-nine--regular",
31
- source: "https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-sheet",
32
- screenshots: [
33
- "https://dxos.network/plugin-details-sheet-dark.png"
34
- ]
35
- };
36
- // Annotate the CommonJS export names for ESM import in node:
37
- 0 && (module.exports = {
38
- SHEET_PLUGIN,
39
- meta
40
- });
41
- //# sourceMappingURL=chunk-JSIDCZHB.cjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/meta.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type PluginMeta } from '@dxos/app-framework';\n\nexport const SHEET_PLUGIN = 'dxos.org/plugin/sheet';\n\nexport const meta: PluginMeta = {\n id: SHEET_PLUGIN,\n name: 'Sheet',\n description:\n 'Sheets in Composer are simple spreadsheets which allow you to leverage custom functions inside of cell grids. Leverage more than 400 pre-built formulas like Sum, Average, Count, Max, Min along with many others. You can also deploy your own custom functions using the Scripts plugin. ',\n icon: 'ph--grid-nine--regular',\n source: 'https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-sheet',\n screenshots: ['https://dxos.network/plugin-details-sheet-dark.png'],\n};\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAMO,IAAMA,eAAe;AAErB,IAAMC,OAAmB;EAC9BC,IAAIF;EACJG,MAAM;EACNC,aACE;EACFC,MAAM;EACNC,QAAQ;EACRC,aAAa;IAAC;;AAChB;",
6
- "names": ["SHEET_PLUGIN", "meta", "id", "name", "description", "icon", "source", "screenshots"]
7
- }
@@ -1,34 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var chunk_LJWWS53Z_exports = {};
20
- __export(chunk_LJWWS53Z_exports, {
21
- SheetCapabilities: () => SheetCapabilities
22
- });
23
- module.exports = __toCommonJS(chunk_LJWWS53Z_exports);
24
- var import_chunk_JSIDCZHB = require("./chunk-JSIDCZHB.cjs");
25
- var import_app_framework = require("@dxos/app-framework");
26
- (function(SheetCapabilities2) {
27
- SheetCapabilities2.ComputeGraphRegistry = (0, import_app_framework.defineCapability)(`${import_chunk_JSIDCZHB.SHEET_PLUGIN}/capability/compute-graph-registry`);
28
- })(SheetCapabilities || (SheetCapabilities = {}));
29
- var SheetCapabilities;
30
- // Annotate the CommonJS export names for ESM import in node:
31
- 0 && (module.exports = {
32
- SheetCapabilities
33
- });
34
- //# sourceMappingURL=chunk-LJWWS53Z.cjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/capabilities.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { defineCapability } from '@dxos/app-framework';\nimport { type ComputeGraphRegistry } from '@dxos/compute';\n\nimport { SHEET_PLUGIN } from '../meta';\n\nexport namespace SheetCapabilities {\n export const ComputeGraphRegistry = defineCapability<ComputeGraphRegistry>(\n `${SHEET_PLUGIN}/capability/compute-graph-registry`,\n );\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAIA,2BAAiC;UAKhBA,oBAAAA;qBACFC,2BAAuBC,uCAClC,GAAGC,kCAAAA,oCAAgD;AAEvD,GAJiBH,sBAAAA,oBAAAA,CAAAA,EAAAA;;",
6
- "names": ["SheetCapabilities", "ComputeGraphRegistry", "defineCapability", "SHEET_PLUGIN"]
7
- }