@dxos/plugin-sheet 0.8.4-main.bc674ce → 0.8.4-main.bcb3aa67d6

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 (281) hide show
  1. package/dist/lib/browser/{chunk-KE3AKN5W.mjs → chunk-CBNIKBPQ.mjs} +21 -140
  2. package/dist/lib/browser/chunk-CBNIKBPQ.mjs.map +7 -0
  3. package/dist/lib/browser/chunk-GZ2EV64I.mjs +118 -0
  4. package/dist/lib/browser/chunk-GZ2EV64I.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/drop-axis-PB7F3LBV.mjs +23 -0
  8. package/dist/lib/browser/drop-axis-PB7F3LBV.mjs.map +7 -0
  9. package/dist/lib/browser/index.mjs +104 -86
  10. package/dist/lib/browser/index.mjs.map +4 -4
  11. package/dist/lib/browser/insert-axis-DH5CO4AY.mjs +16 -0
  12. package/dist/lib/browser/insert-axis-DH5CO4AY.mjs.map +7 -0
  13. package/dist/lib/browser/meta.json +1 -1
  14. package/dist/lib/browser/operations/index.mjs +13 -0
  15. package/dist/lib/browser/operations/index.mjs.map +7 -0
  16. package/dist/lib/browser/restore-axis-Y5H5IOC6.mjs +16 -0
  17. package/dist/lib/browser/restore-axis-Y5H5IOC6.mjs.map +7 -0
  18. package/dist/lib/browser/scroll-to-anchor-MN36E3X7.mjs +65 -0
  19. package/dist/lib/browser/scroll-to-anchor-MN36E3X7.mjs.map +7 -0
  20. package/dist/lib/browser/types/index.mjs +2 -3
  21. package/dist/lib/node-esm/{chunk-6J5L47IB.mjs → chunk-3ZYLQWHC.mjs} +21 -140
  22. package/dist/lib/node-esm/chunk-3ZYLQWHC.mjs.map +7 -0
  23. package/dist/lib/node-esm/chunk-74MOADQ7.mjs +119 -0
  24. package/dist/lib/node-esm/chunk-74MOADQ7.mjs.map +7 -0
  25. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +11 -0
  26. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +7 -0
  27. package/dist/lib/node-esm/drop-axis-UBBQCU6D.mjs +24 -0
  28. package/dist/lib/node-esm/drop-axis-UBBQCU6D.mjs.map +7 -0
  29. package/dist/lib/node-esm/index.mjs +104 -86
  30. package/dist/lib/node-esm/index.mjs.map +4 -4
  31. package/dist/lib/node-esm/insert-axis-S7BR2RSJ.mjs +17 -0
  32. package/dist/lib/node-esm/insert-axis-S7BR2RSJ.mjs.map +7 -0
  33. package/dist/lib/node-esm/meta.json +1 -1
  34. package/dist/lib/node-esm/operations/index.mjs +14 -0
  35. package/dist/lib/node-esm/operations/index.mjs.map +7 -0
  36. package/dist/lib/node-esm/restore-axis-6B25SOHX.mjs +17 -0
  37. package/dist/lib/node-esm/restore-axis-6B25SOHX.mjs.map +7 -0
  38. package/dist/lib/node-esm/scroll-to-anchor-YLB4MYGF.mjs +66 -0
  39. package/dist/lib/node-esm/scroll-to-anchor-YLB4MYGF.mjs.map +7 -0
  40. package/dist/lib/node-esm/types/index.mjs +2 -3
  41. package/dist/types/src/SheetPlugin.d.ts.map +1 -1
  42. package/dist/types/src/capabilities/anchor-sort.d.ts +6 -0
  43. package/dist/types/src/capabilities/anchor-sort.d.ts.map +1 -0
  44. package/dist/types/src/capabilities/compute-graph-registry.d.ts +5 -0
  45. package/dist/types/src/capabilities/compute-graph-registry.d.ts.map +1 -0
  46. package/dist/types/src/capabilities/index.d.ts +9 -5
  47. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  48. package/dist/types/src/capabilities/markdown.d.ts +5 -0
  49. package/dist/types/src/capabilities/markdown.d.ts.map +1 -0
  50. package/dist/types/src/capabilities/operation-handler.d.ts +6 -0
  51. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
  52. package/dist/types/src/capabilities/react-surface.d.ts +5 -0
  53. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -0
  54. package/dist/types/src/capabilities/state.d.ts +6 -0
  55. package/dist/types/src/capabilities/state.d.ts.map +1 -0
  56. package/dist/types/src/capabilities/undo-mappings.d.ts +5 -0
  57. package/dist/types/src/capabilities/undo-mappings.d.ts.map +1 -0
  58. package/dist/types/src/components/ComputeGraph/compute-graph.stories.d.ts.map +1 -1
  59. package/dist/types/src/components/Sheet/Sheet.d.ts +29 -0
  60. package/dist/types/src/components/Sheet/Sheet.d.ts.map +1 -0
  61. package/dist/types/src/components/Sheet/index.d.ts +2 -0
  62. package/dist/types/src/components/Sheet/index.d.ts.map +1 -0
  63. package/dist/types/src/components/SheetContent/SheetCellEditor.stories.d.ts.map +1 -0
  64. package/dist/types/src/components/SheetContent/SheetContent.d.ts +10 -0
  65. package/dist/types/src/components/SheetContent/SheetContent.d.ts.map +1 -0
  66. package/dist/types/src/components/SheetContent/SheetContent.stories.d.ts +63 -0
  67. package/dist/types/src/components/SheetContent/SheetContent.stories.d.ts.map +1 -0
  68. package/dist/types/src/components/SheetContent/index.d.ts +2 -0
  69. package/dist/types/src/components/SheetContent/index.d.ts.map +1 -0
  70. package/dist/types/src/components/SheetContent/util.d.ts.map +1 -0
  71. package/dist/types/src/components/{SheetContext/SheetContext.d.ts → SheetRoot/SheetRoot.d.ts} +7 -5
  72. package/dist/types/src/components/SheetRoot/SheetRoot.d.ts.map +1 -0
  73. package/dist/types/src/components/SheetRoot/index.d.ts +2 -0
  74. package/dist/types/src/components/SheetRoot/index.d.ts.map +1 -0
  75. package/dist/types/src/components/SheetStatusbar/SheetStatusbar.d.ts +10 -0
  76. package/dist/types/src/components/SheetStatusbar/SheetStatusbar.d.ts.map +1 -0
  77. package/dist/types/src/components/SheetStatusbar/index.d.ts +2 -0
  78. package/dist/types/src/components/SheetStatusbar/index.d.ts.map +1 -0
  79. package/dist/types/src/components/SheetToolbar/SheetToolbar.d.ts +9 -5
  80. package/dist/types/src/components/SheetToolbar/SheetToolbar.d.ts.map +1 -1
  81. package/dist/types/src/components/SheetToolbar/SheetToolbar.stories.d.ts +72 -68
  82. package/dist/types/src/components/SheetToolbar/SheetToolbar.stories.d.ts.map +1 -1
  83. package/dist/types/src/components/SheetToolbar/align.d.ts +1 -1
  84. package/dist/types/src/components/SheetToolbar/align.d.ts.map +1 -1
  85. package/dist/types/src/components/SheetToolbar/style.d.ts +1 -1
  86. package/dist/types/src/components/SheetToolbar/style.d.ts.map +1 -1
  87. package/dist/types/src/components/index.d.ts +1 -4
  88. package/dist/types/src/components/index.d.ts.map +1 -1
  89. package/dist/types/src/{components → containers}/RangeList/RangeList.d.ts +1 -1
  90. package/dist/types/src/containers/RangeList/RangeList.d.ts.map +1 -0
  91. package/dist/types/src/containers/RangeList/index.d.ts +3 -0
  92. package/dist/types/src/containers/RangeList/index.d.ts.map +1 -0
  93. package/dist/types/src/containers/SheetContainer/SheetContainer.d.ts +12 -0
  94. package/dist/types/src/containers/SheetContainer/SheetContainer.d.ts.map +1 -0
  95. package/dist/types/src/containers/SheetContainer/SheetContainer.stories.d.ts +58 -0
  96. package/dist/types/src/containers/SheetContainer/SheetContainer.stories.d.ts.map +1 -0
  97. package/dist/types/src/{components → containers}/SheetContainer/index.d.ts.map +1 -1
  98. package/dist/types/src/containers/index.d.ts +4 -0
  99. package/dist/types/src/containers/index.d.ts.map +1 -0
  100. package/dist/types/src/extensions/compute.stories.d.ts.map +1 -1
  101. package/dist/types/src/integrations/thread-ranges.d.ts +0 -2
  102. package/dist/types/src/integrations/thread-ranges.d.ts.map +1 -1
  103. package/dist/types/src/model/sheet-model.d.ts +1 -1
  104. package/dist/types/src/model/sheet-model.d.ts.map +1 -1
  105. package/dist/types/src/model/testing.d.ts +1 -1
  106. package/dist/types/src/model/testing.d.ts.map +1 -1
  107. package/dist/types/src/model/useSheetModel.d.ts +1 -1
  108. package/dist/types/src/model/useSheetModel.d.ts.map +1 -1
  109. package/dist/types/src/operations/definitions.d.ts +45 -0
  110. package/dist/types/src/operations/definitions.d.ts.map +1 -0
  111. package/dist/types/src/operations/drop-axis.d.ts +5 -0
  112. package/dist/types/src/operations/drop-axis.d.ts.map +1 -0
  113. package/dist/types/src/operations/index.d.ts +4 -0
  114. package/dist/types/src/operations/index.d.ts.map +1 -0
  115. package/dist/types/src/operations/insert-axis.d.ts +5 -0
  116. package/dist/types/src/operations/insert-axis.d.ts.map +1 -0
  117. package/dist/types/src/operations/restore-axis.d.ts +5 -0
  118. package/dist/types/src/operations/restore-axis.d.ts.map +1 -0
  119. package/dist/types/src/operations/scroll-to-anchor.d.ts +5 -0
  120. package/dist/types/src/operations/scroll-to-anchor.d.ts.map +1 -0
  121. package/dist/types/src/serializer.d.ts +1 -1
  122. package/dist/types/src/serializer.d.ts.map +1 -1
  123. package/dist/types/src/testing/data.d.ts +1 -1
  124. package/dist/types/src/testing/data.d.ts.map +1 -1
  125. package/dist/types/src/testing/testing.d.ts +5 -5
  126. package/dist/types/src/testing/testing.d.ts.map +1 -1
  127. package/dist/types/src/translations.d.ts +38 -36
  128. package/dist/types/src/translations.d.ts.map +1 -1
  129. package/dist/types/src/types/Sheet.d.ts +7 -7
  130. package/dist/types/src/types/Sheet.d.ts.map +1 -1
  131. package/dist/types/src/types/capabilities.d.ts +12 -0
  132. package/dist/types/src/types/capabilities.d.ts.map +1 -1
  133. package/dist/types/src/types/types.d.ts +0 -92
  134. package/dist/types/src/types/types.d.ts.map +1 -1
  135. package/dist/types/tsconfig.tsbuildinfo +1 -1
  136. package/package.json +81 -63
  137. package/src/SheetPlugin.tsx +46 -28
  138. package/src/capabilities/{anchor-sort/anchor-sort.ts → anchor-sort.ts} +4 -3
  139. package/src/capabilities/{compute-graph-registry/compute-graph-registry.ts → compute-graph-registry.ts} +2 -2
  140. package/src/capabilities/index.ts +13 -5
  141. package/src/capabilities/{markdown/markdown.ts → markdown.ts} +2 -2
  142. package/src/capabilities/operation-handler.ts +16 -0
  143. package/src/capabilities/react-surface.tsx +49 -0
  144. package/src/capabilities/state.ts +29 -0
  145. package/src/capabilities/undo-mappings.ts +30 -0
  146. package/src/components/ComputeGraph/compute-graph.stories.tsx +13 -8
  147. package/src/components/Sheet/Sheet.tsx +20 -0
  148. package/src/components/Sheet/index.ts +5 -0
  149. package/src/components/{GridSheet → SheetContent}/SheetCellEditor.stories.tsx +6 -6
  150. package/src/components/{GridSheet/GridSheet.stories.tsx → SheetContent/SheetContent.stories.tsx} +15 -14
  151. package/src/components/{GridSheet/GridSheet.tsx → SheetContent/SheetContent.tsx} +42 -22
  152. package/src/components/{RangeList → SheetContent}/index.ts +1 -1
  153. package/src/components/{GridSheet → SheetContent}/util.ts +4 -4
  154. package/src/components/{SheetContext/SheetContext.tsx → SheetRoot/SheetRoot.tsx} +45 -38
  155. package/src/components/{GridSheet → SheetRoot}/index.ts +1 -1
  156. package/src/components/{FunctionEditor/FunctionEditor.tsx → SheetStatusbar/SheetStatusbar.tsx} +19 -7
  157. package/src/components/{FunctionEditor → SheetStatusbar}/index.ts +1 -1
  158. package/src/components/SheetToolbar/SheetToolbar.stories.tsx +4 -4
  159. package/src/components/SheetToolbar/SheetToolbar.tsx +18 -21
  160. package/src/components/SheetToolbar/align.ts +13 -13
  161. package/src/components/SheetToolbar/style.ts +10 -10
  162. package/src/components/index.ts +1 -7
  163. package/src/{components → containers}/RangeList/RangeList.tsx +16 -15
  164. package/src/containers/RangeList/index.ts +7 -0
  165. package/src/{components → containers}/SheetContainer/SheetContainer.stories.tsx +38 -42
  166. package/src/containers/SheetContainer/SheetContainer.tsx +57 -0
  167. package/src/{components → containers}/SheetContainer/index.ts +1 -1
  168. package/src/containers/index.ts +8 -0
  169. package/src/extensions/compute.stories.tsx +13 -12
  170. package/src/extensions/editor/sheet-extension.ts +10 -10
  171. package/src/integrations/thread-ranges.ts +6 -39
  172. package/src/meta.ts +1 -1
  173. package/src/model/sheet-model.test.ts +3 -3
  174. package/src/model/sheet-model.ts +38 -36
  175. package/src/model/testing.ts +1 -1
  176. package/src/model/useSheetModel.ts +1 -1
  177. package/src/operations/definitions.ts +73 -0
  178. package/src/operations/drop-axis.ts +26 -0
  179. package/src/operations/index.ts +14 -0
  180. package/src/operations/insert-axis.ts +19 -0
  181. package/src/operations/restore-axis.ts +19 -0
  182. package/src/operations/scroll-to-anchor.ts +31 -0
  183. package/src/playwright/playwright.config.ts +1 -1
  184. package/src/playwright/sheet.spec.ts +1 -1
  185. package/src/sanity.test.ts +6 -3
  186. package/src/serializer.ts +1 -1
  187. package/src/testing/data.ts +1 -1
  188. package/src/testing/testing.tsx +2 -2
  189. package/src/translations.ts +38 -36
  190. package/src/types/Sheet.ts +13 -7
  191. package/src/types/capabilities.ts +14 -2
  192. package/src/types/sheet-range-types.ts +3 -3
  193. package/src/types/types.ts +0 -80
  194. package/dist/lib/browser/SheetContainer-J72HS2FI.mjs +0 -397
  195. package/dist/lib/browser/SheetContainer-J72HS2FI.mjs.map +0 -7
  196. package/dist/lib/browser/anchor-sort-LLO7PZKF.mjs +0 -23
  197. package/dist/lib/browser/anchor-sort-LLO7PZKF.mjs.map +0 -7
  198. package/dist/lib/browser/chunk-IFLWVS2V.mjs +0 -234
  199. package/dist/lib/browser/chunk-IFLWVS2V.mjs.map +0 -7
  200. package/dist/lib/browser/chunk-KE3AKN5W.mjs.map +0 -7
  201. package/dist/lib/browser/chunk-S27QJYTN.mjs +0 -1473
  202. package/dist/lib/browser/chunk-S27QJYTN.mjs.map +0 -7
  203. package/dist/lib/browser/compute-graph-registry-RC5L7RE4.mjs +0 -21
  204. package/dist/lib/browser/compute-graph-registry-RC5L7RE4.mjs.map +0 -7
  205. package/dist/lib/browser/markdown-D2T2DOVX.mjs +0 -29
  206. package/dist/lib/browser/markdown-D2T2DOVX.mjs.map +0 -7
  207. package/dist/lib/browser/operation-resolver-YDOW72CN.mjs +0 -79
  208. package/dist/lib/browser/operation-resolver-YDOW72CN.mjs.map +0 -7
  209. package/dist/lib/browser/react-surface-JIYVFH42.mjs +0 -51
  210. package/dist/lib/browser/react-surface-JIYVFH42.mjs.map +0 -7
  211. package/dist/lib/node-esm/SheetContainer-OGSSDOZU.mjs +0 -398
  212. package/dist/lib/node-esm/SheetContainer-OGSSDOZU.mjs.map +0 -7
  213. package/dist/lib/node-esm/anchor-sort-OX5I2YOW.mjs +0 -24
  214. package/dist/lib/node-esm/anchor-sort-OX5I2YOW.mjs.map +0 -7
  215. package/dist/lib/node-esm/chunk-6J5L47IB.mjs.map +0 -7
  216. package/dist/lib/node-esm/chunk-PPOYR7DK.mjs +0 -236
  217. package/dist/lib/node-esm/chunk-PPOYR7DK.mjs.map +0 -7
  218. package/dist/lib/node-esm/chunk-Y4V6HVHO.mjs +0 -1474
  219. package/dist/lib/node-esm/chunk-Y4V6HVHO.mjs.map +0 -7
  220. package/dist/lib/node-esm/compute-graph-registry-ZGXVLVGD.mjs +0 -22
  221. package/dist/lib/node-esm/compute-graph-registry-ZGXVLVGD.mjs.map +0 -7
  222. package/dist/lib/node-esm/markdown-PTV72DLO.mjs +0 -30
  223. package/dist/lib/node-esm/markdown-PTV72DLO.mjs.map +0 -7
  224. package/dist/lib/node-esm/operation-resolver-Q63VQBVA.mjs +0 -80
  225. package/dist/lib/node-esm/operation-resolver-Q63VQBVA.mjs.map +0 -7
  226. package/dist/lib/node-esm/react-surface-SWRZSZVR.mjs +0 -52
  227. package/dist/lib/node-esm/react-surface-SWRZSZVR.mjs.map +0 -7
  228. package/dist/types/src/capabilities/anchor-sort/anchor-sort.d.ts +0 -5
  229. package/dist/types/src/capabilities/anchor-sort/anchor-sort.d.ts.map +0 -1
  230. package/dist/types/src/capabilities/anchor-sort/index.d.ts +0 -3
  231. package/dist/types/src/capabilities/anchor-sort/index.d.ts.map +0 -1
  232. package/dist/types/src/capabilities/compute-graph-registry/compute-graph-registry.d.ts +0 -5
  233. package/dist/types/src/capabilities/compute-graph-registry/compute-graph-registry.d.ts.map +0 -1
  234. package/dist/types/src/capabilities/compute-graph-registry/index.d.ts +0 -3
  235. package/dist/types/src/capabilities/compute-graph-registry/index.d.ts.map +0 -1
  236. package/dist/types/src/capabilities/markdown/index.d.ts +0 -3
  237. package/dist/types/src/capabilities/markdown/index.d.ts.map +0 -1
  238. package/dist/types/src/capabilities/markdown/markdown.d.ts +0 -5
  239. package/dist/types/src/capabilities/markdown/markdown.d.ts.map +0 -1
  240. package/dist/types/src/capabilities/operation-resolver/index.d.ts +0 -3
  241. package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +0 -1
  242. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +0 -5
  243. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +0 -1
  244. package/dist/types/src/capabilities/react-surface/index.d.ts +0 -3
  245. package/dist/types/src/capabilities/react-surface/index.d.ts.map +0 -1
  246. package/dist/types/src/capabilities/react-surface/react-surface.d.ts +0 -5
  247. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +0 -1
  248. package/dist/types/src/components/FunctionEditor/FunctionEditor.d.ts +0 -3
  249. package/dist/types/src/components/FunctionEditor/FunctionEditor.d.ts.map +0 -1
  250. package/dist/types/src/components/FunctionEditor/index.d.ts +0 -2
  251. package/dist/types/src/components/FunctionEditor/index.d.ts.map +0 -1
  252. package/dist/types/src/components/GridSheet/GridSheet.d.ts +0 -3
  253. package/dist/types/src/components/GridSheet/GridSheet.d.ts.map +0 -1
  254. package/dist/types/src/components/GridSheet/GridSheet.stories.d.ts +0 -55
  255. package/dist/types/src/components/GridSheet/GridSheet.stories.d.ts.map +0 -1
  256. package/dist/types/src/components/GridSheet/SheetCellEditor.stories.d.ts.map +0 -1
  257. package/dist/types/src/components/GridSheet/index.d.ts +0 -2
  258. package/dist/types/src/components/GridSheet/index.d.ts.map +0 -1
  259. package/dist/types/src/components/GridSheet/util.d.ts.map +0 -1
  260. package/dist/types/src/components/RangeList/RangeList.d.ts.map +0 -1
  261. package/dist/types/src/components/RangeList/index.d.ts +0 -2
  262. package/dist/types/src/components/RangeList/index.d.ts.map +0 -1
  263. package/dist/types/src/components/SheetContainer/SheetContainer.d.ts +0 -10
  264. package/dist/types/src/components/SheetContainer/SheetContainer.d.ts.map +0 -1
  265. package/dist/types/src/components/SheetContainer/SheetContainer.stories.d.ts +0 -57
  266. package/dist/types/src/components/SheetContainer/SheetContainer.stories.d.ts.map +0 -1
  267. package/dist/types/src/components/SheetContext/SheetContext.d.ts.map +0 -1
  268. package/dist/types/src/components/SheetContext/index.d.ts +0 -2
  269. package/dist/types/src/components/SheetContext/index.d.ts.map +0 -1
  270. package/src/capabilities/anchor-sort/index.ts +0 -7
  271. package/src/capabilities/compute-graph-registry/index.ts +0 -7
  272. package/src/capabilities/markdown/index.ts +0 -7
  273. package/src/capabilities/operation-resolver/index.ts +0 -7
  274. package/src/capabilities/operation-resolver/operation-resolver.ts +0 -77
  275. package/src/capabilities/react-surface/index.ts +0 -7
  276. package/src/capabilities/react-surface/react-surface.tsx +0 -43
  277. package/src/components/SheetContainer/SheetContainer.tsx +0 -48
  278. package/src/components/SheetContext/index.ts +0 -5
  279. /package/dist/types/src/components/{GridSheet → SheetContent}/SheetCellEditor.stories.d.ts +0 -0
  280. /package/dist/types/src/components/{GridSheet → SheetContent}/util.d.ts +0 -0
  281. /package/dist/types/src/{components → containers}/SheetContainer/index.d.ts +0 -0
@@ -1,236 +0,0 @@
1
- import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
-
3
- // src/extensions/compute.ts
4
- import { syntaxTree } from "@codemirror/language";
5
- import { RangeSetBuilder, StateEffect, StateField } from "@codemirror/state";
6
- import { Decoration, EditorView, ViewPlugin, WidgetType } from "@codemirror/view";
7
- import { debounce } from "@dxos/async";
8
- import { createSheetName } from "@dxos/compute";
9
- import { invariant } from "@dxos/invariant";
10
- import { documentId, singleValueFacet } from "@dxos/ui-editor";
11
- var updateAllDecorations = StateEffect.define();
12
- var computeGraphFacet = singleValueFacet();
13
-
14
- // src/extensions/editor/sheet-extension.ts
15
- import { acceptCompletion, autocompletion, completionStatus, startCompletion } from "@codemirror/autocomplete";
16
- import { HighlightStyle, syntaxHighlighting } from "@codemirror/language";
17
- import { ViewPlugin as ViewPlugin2, keymap } from "@codemirror/view";
18
- import { tags } from "@lezer/highlight";
19
- import { spreadsheet } from "codemirror-lang-spreadsheet";
20
- import { RANGE_NOTATION } from "@dxos/compute";
21
- import { singleValueFacet as singleValueFacet2 } from "@dxos/ui-editor";
22
- import { mx } from "@dxos/ui-theme";
23
- var highlightStyles = HighlightStyle.define([
24
- // Function.
25
- {
26
- tag: tags.name,
27
- class: "text-accentText"
28
- },
29
- // Range.
30
- {
31
- tag: tags.tagName,
32
- class: "text-pinkText"
33
- },
34
- // Values.
35
- {
36
- tag: tags.number,
37
- class: "text-tealText"
38
- },
39
- {
40
- tag: tags.bool,
41
- class: "text-tealText"
42
- },
43
- {
44
- tag: tags.string,
45
- class: "text-tealText"
46
- },
47
- // Error.
48
- {
49
- tag: tags.invalid,
50
- class: "text-unAccent"
51
- }
52
- ]);
53
- var languageFacet = singleValueFacet2();
54
- var sheetExtension = ({ debug, functions = [] }) => {
55
- const { extension, language } = spreadsheet({
56
- idiom: "en-US",
57
- decimalSeparator: "."
58
- });
59
- const createCompletion = (name) => {
60
- const { section = "Custom", description, syntax } = functions.find((value) => value.name === name) ?? {};
61
- return {
62
- section,
63
- label: name,
64
- info: () => {
65
- if (!description && !syntax) {
66
- return null;
67
- }
68
- const root = document.createElement("div");
69
- root.className = "flex flex-col gap-2 text-sm";
70
- const title = document.createElement("h2");
71
- title.innerText = name;
72
- title.className = "text-lg font-mono text-accentText";
73
- root.appendChild(title);
74
- if (description) {
75
- const info = document.createElement("p");
76
- info.innerText = description;
77
- info.className = "text-subdued";
78
- root.appendChild(info);
79
- }
80
- if (syntax) {
81
- const detail = document.createElement("pre");
82
- detail.innerText = syntax;
83
- detail.className = "whitespace-pre-wrap text-greenText";
84
- root.appendChild(detail);
85
- }
86
- return root;
87
- },
88
- apply: (view, completion, from, to) => {
89
- const insertParens = to === view.state.doc.toString().length;
90
- view.dispatch(view.state.update({
91
- changes: {
92
- from,
93
- to,
94
- insert: completion.label + (insertParens ? "()" : "")
95
- },
96
- selection: {
97
- anchor: from + completion.label.length + 1
98
- }
99
- }));
100
- }
101
- };
102
- };
103
- return [
104
- extension,
105
- languageFacet.of(language),
106
- language.data.of({
107
- autocomplete: (context) => {
108
- if (context.state.doc.toString()[0] !== "=") {
109
- return null;
110
- }
111
- const match = context.matchBefore(/\w*/);
112
- if (!match || match.from === match.to) {
113
- return null;
114
- }
115
- const text = match.text.toUpperCase();
116
- if (!context.explicit && match.text.length < 2) {
117
- return null;
118
- }
119
- return {
120
- from: match.from,
121
- options: functions?.filter(({ name }) => name.startsWith(text)).map(({ name }) => createCompletion(name)) ?? []
122
- };
123
- }
124
- }),
125
- syntaxHighlighting(highlightStyles),
126
- autocompletion({
127
- aboveCursor: false,
128
- defaultKeymap: true,
129
- activateOnTyping: true,
130
- closeOnBlur: !debug,
131
- icons: false,
132
- tooltipClass: () => mx("!-left-[1px] !top-[33px] !-m-0 border !border-bs-0 [&>ul]:!min-w-[198px]", "[&>ul>li[aria-selected]]:!bg-accentSurface", "border-separator")
133
- }),
134
- keymap.of([
135
- {
136
- key: "Tab",
137
- run: (view) => {
138
- return completionStatus(view.state) === "active" ? acceptCompletion(view) : startCompletion(view);
139
- }
140
- }
141
- ])
142
- ];
143
- };
144
- var rangeExtension = ({ onInit, onStateChange }) => {
145
- let view;
146
- let activeRange;
147
- const notifier = {
148
- setRange: (range) => {
149
- if (activeRange) {
150
- view.dispatch(view.state.update({
151
- changes: {
152
- ...activeRange,
153
- insert: range.toString()
154
- },
155
- selection: {
156
- anchor: activeRange.from + range.length
157
- }
158
- }));
159
- }
160
- view.focus();
161
- }
162
- };
163
- return ViewPlugin2.fromClass(class {
164
- constructor(_view) {
165
- view = _view;
166
- onInit?.(notifier);
167
- }
168
- update(view2) {
169
- const { anchor } = view2.state.selection.ranges[0];
170
- activeRange = void 0;
171
- const language = view2.state.facet(languageFacet);
172
- const { topNode } = language.parser.parse(view2.state.doc.toString());
173
- visitTree(topNode, ({ type, from, to }) => {
174
- if (from <= anchor && to >= anchor) {
175
- switch (type.name) {
176
- case "Function":
177
- activeRange = {
178
- from: to,
179
- to
180
- };
181
- break;
182
- case "CloseParen":
183
- activeRange = {
184
- from,
185
- to: from
186
- };
187
- break;
188
- case "RangeToken":
189
- case "CellToken":
190
- activeRange = {
191
- from,
192
- to
193
- };
194
- return true;
195
- }
196
- }
197
- return false;
198
- });
199
- if (!activeRange && view2.state.doc.toString()[0] === "=") {
200
- const str = view2.state.doc.sliceString(1);
201
- if (RANGE_NOTATION.test(str)) {
202
- activeRange = {
203
- from: 1,
204
- to: str.length + 1
205
- };
206
- } else {
207
- activeRange = {
208
- from: str.length + 1,
209
- to: str.length + 1
210
- };
211
- }
212
- }
213
- onStateChange?.({
214
- activeRange: activeRange ? view2.state.doc.sliceString(activeRange.from, activeRange.to) : void 0
215
- });
216
- }
217
- });
218
- };
219
- var visitTree = (node, callback) => {
220
- if (callback(node)) {
221
- return true;
222
- }
223
- for (let child = node.firstChild; child !== null; child = child.nextSibling) {
224
- if (visitTree(child, callback)) {
225
- return true;
226
- }
227
- }
228
- return false;
229
- };
230
-
231
- export {
232
- computeGraphFacet,
233
- sheetExtension,
234
- rangeExtension
235
- };
236
- //# sourceMappingURL=chunk-PPOYR7DK.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/extensions/compute.ts", "../../../src/extensions/editor/sheet-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 type CellAddress,\n type CellScalarValue,\n type ComputeGraph,\n type ComputeNode,\n createSheetName,\n} from '@dxos/compute';\nimport { invariant } from '@dxos/invariant';\nimport { documentId, singleValueFacet } from '@dxos/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 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/ui-editor';\nimport { mx } from '@dxos/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({\n idiom: 'en-US',\n decimalSeparator: '.',\n });\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-bs-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": ["syntaxTree", "RangeSetBuilder", "StateEffect", "StateField", "Decoration", "EditorView", "ViewPlugin", "WidgetType", "debounce", "createSheetName", "invariant", "documentId", "singleValueFacet", "updateAllDecorations", "StateEffect", "define", "computeGraphFacet", "singleValueFacet", "acceptCompletion", "autocompletion", "completionStatus", "startCompletion", "HighlightStyle", "syntaxHighlighting", "ViewPlugin", "keymap", "tags", "spreadsheet", "RANGE_NOTATION", "singleValueFacet", "mx", "highlightStyles", "HighlightStyle", "define", "tag", "tags", "name", "class", "tagName", "number", "bool", "string", "invalid", "languageFacet", "singleValueFacet", "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
- }