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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (299) hide show
  1. package/dist/lib/{browser/RangeList-S3SHV7T6.mjs → neutral/RangeList-HYB5S6KQ.mjs} +21 -28
  2. package/dist/lib/neutral/RangeList-HYB5S6KQ.mjs.map +7 -0
  3. package/dist/lib/neutral/SheetContainer-ZOVKGHLT.mjs +33 -0
  4. package/dist/lib/neutral/SheetContainer-ZOVKGHLT.mjs.map +7 -0
  5. package/dist/lib/neutral/SheetPlugin.mjs +48 -0
  6. package/dist/lib/neutral/SheetPlugin.mjs.map +7 -0
  7. package/dist/lib/neutral/SheetPlugin.node.mjs +27 -0
  8. package/dist/lib/neutral/SheetPlugin.node.mjs.map +7 -0
  9. package/dist/lib/{browser/anchor-sort-DZ3IHHJJ.mjs → neutral/anchor-sort-TTCKGX7V.mjs} +5 -7
  10. package/dist/lib/neutral/anchor-sort-TTCKGX7V.mjs.map +7 -0
  11. package/dist/lib/neutral/capabilities/index.mjs +25 -0
  12. package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
  13. package/dist/lib/neutral/chunk-4GWJDLTH.mjs +83 -0
  14. package/dist/lib/neutral/chunk-4GWJDLTH.mjs.map +7 -0
  15. package/dist/lib/{browser/chunk-NNWF7EKC.mjs → neutral/chunk-4SBAIU6F.mjs} +3 -3
  16. package/dist/lib/neutral/chunk-4SBAIU6F.mjs.map +7 -0
  17. package/dist/lib/neutral/chunk-J5LGTIGS.mjs +10 -0
  18. package/dist/lib/{browser/chunk-S445OQGW.mjs → neutral/chunk-KC2SMDNF.mjs} +167 -191
  19. package/dist/lib/neutral/chunk-KC2SMDNF.mjs.map +7 -0
  20. package/dist/lib/neutral/chunk-YFHTB6MX.mjs +8 -0
  21. package/dist/lib/neutral/chunk-YFHTB6MX.mjs.map +7 -0
  22. package/dist/lib/neutral/chunk-ZWOQCLH7.mjs +21 -0
  23. package/dist/lib/neutral/chunk-ZWOQCLH7.mjs.map +7 -0
  24. package/dist/lib/neutral/comment-config-ZBWNCJMZ.mjs +20 -0
  25. package/dist/lib/neutral/comment-config-ZBWNCJMZ.mjs.map +7 -0
  26. package/dist/lib/{browser/SheetContainer-I3NFVVDQ.mjs → neutral/components/index.mjs} +160 -414
  27. package/dist/lib/neutral/components/index.mjs.map +7 -0
  28. package/dist/lib/{browser/compute-graph-registry-W6HO2G3P.mjs → neutral/compute-graph-registry-IEQBF5XZ.mjs} +5 -6
  29. package/dist/lib/neutral/compute-graph-registry-IEQBF5XZ.mjs.map +7 -0
  30. package/dist/lib/neutral/containers/index.mjs +11 -0
  31. package/dist/lib/neutral/containers/index.mjs.map +7 -0
  32. package/dist/lib/neutral/create-object-OKQAXJCW.mjs +27 -0
  33. package/dist/lib/neutral/create-object-OKQAXJCW.mjs.map +7 -0
  34. package/dist/lib/neutral/drop-axis-G6UOXG54.mjs +23 -0
  35. package/dist/lib/neutral/drop-axis-G6UOXG54.mjs.map +7 -0
  36. package/dist/lib/{browser/types → neutral}/index.mjs +14 -5
  37. package/dist/lib/neutral/insert-axis-ZFFNG22G.mjs +16 -0
  38. package/dist/lib/neutral/insert-axis-ZFFNG22G.mjs.map +7 -0
  39. package/dist/lib/{browser/markdown-S6GVLHB4.mjs → neutral/markdown-I2AKJYPF.mjs} +5 -6
  40. package/dist/lib/neutral/markdown-I2AKJYPF.mjs.map +7 -0
  41. package/dist/lib/neutral/meta.json +1 -0
  42. package/dist/lib/neutral/meta.mjs +8 -0
  43. package/dist/lib/neutral/meta.mjs.map +7 -0
  44. package/dist/lib/neutral/operation-handler-TB6LFV2H.mjs +13 -0
  45. package/dist/lib/neutral/operation-handler-TB6LFV2H.mjs.map +7 -0
  46. package/dist/lib/neutral/operations/index.mjs +8 -0
  47. package/dist/lib/neutral/operations/index.mjs.map +7 -0
  48. package/dist/lib/neutral/plugin.mjs +16 -0
  49. package/dist/lib/neutral/plugin.mjs.map +7 -0
  50. package/dist/lib/{browser/react-surface-KIU6DGKW.mjs → neutral/react-surface-ID4JCAFR.mjs} +12 -19
  51. package/dist/lib/neutral/react-surface-ID4JCAFR.mjs.map +7 -0
  52. package/dist/lib/neutral/restore-axis-44DM6N54.mjs +16 -0
  53. package/dist/lib/neutral/restore-axis-44DM6N54.mjs.map +7 -0
  54. package/dist/lib/neutral/scroll-to-anchor-WHX3HJC7.mjs +33 -0
  55. package/dist/lib/neutral/scroll-to-anchor-WHX3HJC7.mjs.map +7 -0
  56. package/dist/lib/neutral/state-HPA27MX2.mjs +29 -0
  57. package/dist/lib/neutral/state-HPA27MX2.mjs.map +7 -0
  58. package/dist/lib/neutral/testing/index.mjs +103 -0
  59. package/dist/lib/neutral/testing/index.mjs.map +7 -0
  60. package/dist/lib/neutral/translations.mjs +55 -0
  61. package/dist/lib/neutral/translations.mjs.map +7 -0
  62. package/dist/lib/{node-esm → neutral}/types/index.mjs +6 -6
  63. package/dist/lib/neutral/types/index.mjs.map +7 -0
  64. package/dist/lib/neutral/undo-mappings-3FQLSTCZ.mjs +31 -0
  65. package/dist/lib/neutral/undo-mappings-3FQLSTCZ.mjs.map +7 -0
  66. package/dist/types/src/SheetPlugin.d.ts +1 -0
  67. package/dist/types/src/SheetPlugin.d.ts.map +1 -1
  68. package/dist/types/src/SheetPlugin.node.d.ts +4 -0
  69. package/dist/types/src/SheetPlugin.node.d.ts.map +1 -0
  70. package/dist/types/src/SheetPlugin.test.d.ts +2 -0
  71. package/dist/types/src/SheetPlugin.test.d.ts.map +1 -0
  72. package/dist/types/src/capabilities/anchor-sort.d.ts.map +1 -0
  73. package/dist/types/src/capabilities/comment-config.d.ts +12 -0
  74. package/dist/types/src/capabilities/comment-config.d.ts.map +1 -0
  75. package/dist/types/src/capabilities/compute-graph-registry.d.ts +5 -0
  76. package/dist/types/src/capabilities/compute-graph-registry.d.ts.map +1 -0
  77. package/dist/types/src/capabilities/create-object.d.ts +11 -0
  78. package/dist/types/src/capabilities/create-object.d.ts.map +1 -0
  79. package/dist/types/src/capabilities/index.d.ts +23 -5
  80. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  81. package/dist/types/src/capabilities/markdown.d.ts.map +1 -0
  82. package/dist/types/src/capabilities/operation-handler.d.ts +6 -0
  83. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
  84. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -0
  85. package/dist/types/src/capabilities/{compute-graph-registry/compute-graph-registry.d.ts → state.d.ts} +3 -2
  86. package/dist/types/src/capabilities/state.d.ts.map +1 -0
  87. package/dist/types/src/capabilities/undo-mappings.d.ts +5 -0
  88. package/dist/types/src/capabilities/undo-mappings.d.ts.map +1 -0
  89. package/dist/types/src/components/ComputeGraph/ComputeGraphContextProvider.d.ts +1 -1
  90. package/dist/types/src/components/ComputeGraph/ComputeGraphContextProvider.d.ts.map +1 -1
  91. package/dist/types/src/components/ComputeGraph/compute-graph.stories.d.ts.map +1 -1
  92. package/dist/types/src/components/Sheet/Sheet.d.ts +10 -4
  93. package/dist/types/src/components/Sheet/Sheet.d.ts.map +1 -1
  94. package/dist/types/src/components/SheetContent/SheetCellEditor.stories.d.ts.map +1 -1
  95. package/dist/types/src/components/SheetContent/SheetContent.d.ts +4 -3
  96. package/dist/types/src/components/SheetContent/SheetContent.d.ts.map +1 -1
  97. package/dist/types/src/components/SheetContent/SheetContent.stories.d.ts +77 -39
  98. package/dist/types/src/components/SheetContent/SheetContent.stories.d.ts.map +1 -1
  99. package/dist/types/src/components/SheetContent/util.d.ts +1 -1
  100. package/dist/types/src/components/SheetContent/util.d.ts.map +1 -1
  101. package/dist/types/src/components/SheetRoot/SheetRoot.d.ts +5 -3
  102. package/dist/types/src/components/SheetRoot/SheetRoot.d.ts.map +1 -1
  103. package/dist/types/src/components/SheetStatusbar/SheetStatusbar.d.ts +4 -3
  104. package/dist/types/src/components/SheetStatusbar/SheetStatusbar.d.ts.map +1 -1
  105. package/dist/types/src/components/SheetToolbar/SheetToolbar.d.ts +5 -8
  106. package/dist/types/src/components/SheetToolbar/SheetToolbar.d.ts.map +1 -1
  107. package/dist/types/src/components/SheetToolbar/SheetToolbar.stories.d.ts +72 -68
  108. package/dist/types/src/components/SheetToolbar/SheetToolbar.stories.d.ts.map +1 -1
  109. package/dist/types/src/components/SheetToolbar/align.d.ts +2 -2
  110. package/dist/types/src/components/SheetToolbar/align.d.ts.map +1 -1
  111. package/dist/types/src/components/SheetToolbar/style.d.ts +2 -2
  112. package/dist/types/src/components/SheetToolbar/style.d.ts.map +1 -1
  113. package/dist/types/src/components/SheetToolbar/useToolbarState.d.ts.map +1 -1
  114. package/dist/types/src/containers/RangeList/RangeList.d.ts +2 -2
  115. package/dist/types/src/containers/RangeList/RangeList.d.ts.map +1 -1
  116. package/dist/types/src/containers/RangeList/index.d.ts +1 -2
  117. package/dist/types/src/containers/RangeList/index.d.ts.map +1 -1
  118. package/dist/types/src/containers/SheetContainer/SheetContainer.d.ts +4 -4
  119. package/dist/types/src/containers/SheetContainer/SheetContainer.d.ts.map +1 -1
  120. package/dist/types/src/containers/SheetContainer/SheetContainer.stories.d.ts +74 -38
  121. package/dist/types/src/containers/SheetContainer/SheetContainer.stories.d.ts.map +1 -1
  122. package/dist/types/src/containers/SheetContainer/index.d.ts +1 -2
  123. package/dist/types/src/containers/SheetContainer/index.d.ts.map +1 -1
  124. package/dist/types/src/extensions/compute.d.ts +1 -1
  125. package/dist/types/src/extensions/compute.d.ts.map +1 -1
  126. package/dist/types/src/extensions/compute.stories.d.ts.map +1 -1
  127. package/dist/types/src/extensions/editor/sheet-extension.d.ts +1 -1
  128. package/dist/types/src/extensions/editor/sheet-extension.d.ts.map +1 -1
  129. package/dist/types/src/index.d.ts +2 -2
  130. package/dist/types/src/index.d.ts.map +1 -1
  131. package/dist/types/src/integrations/thread-ranges.d.ts +1 -3
  132. package/dist/types/src/integrations/thread-ranges.d.ts.map +1 -1
  133. package/dist/types/src/model/sheet-model.d.ts +2 -2
  134. package/dist/types/src/model/sheet-model.d.ts.map +1 -1
  135. package/dist/types/src/model/testing.d.ts +1 -1
  136. package/dist/types/src/model/testing.d.ts.map +1 -1
  137. package/dist/types/src/model/useSheetModel.d.ts +2 -2
  138. package/dist/types/src/model/useSheetModel.d.ts.map +1 -1
  139. package/dist/types/src/operations/drop-axis.d.ts +5 -0
  140. package/dist/types/src/operations/drop-axis.d.ts.map +1 -0
  141. package/dist/types/src/operations/index.d.ts +3 -0
  142. package/dist/types/src/operations/index.d.ts.map +1 -0
  143. package/dist/types/src/operations/insert-axis.d.ts +5 -0
  144. package/dist/types/src/operations/insert-axis.d.ts.map +1 -0
  145. package/dist/types/src/operations/restore-axis.d.ts +5 -0
  146. package/dist/types/src/operations/restore-axis.d.ts.map +1 -0
  147. package/dist/types/src/operations/scroll-to-anchor.d.ts +5 -0
  148. package/dist/types/src/operations/scroll-to-anchor.d.ts.map +1 -0
  149. package/dist/types/src/playwright/playwright.config.d.ts.map +1 -1
  150. package/dist/types/src/playwright/sheet-manager.d.ts.map +1 -1
  151. package/dist/types/src/plugin.d.ts +4 -0
  152. package/dist/types/src/plugin.d.ts.map +1 -0
  153. package/dist/types/src/serializer.d.ts +2 -2
  154. package/dist/types/src/serializer.d.ts.map +1 -1
  155. package/dist/types/src/testing/data.d.ts +1 -1
  156. package/dist/types/src/testing/data.d.ts.map +1 -1
  157. package/dist/types/src/testing/testing.d.ts +3 -3
  158. package/dist/types/src/testing/testing.d.ts.map +1 -1
  159. package/dist/types/src/translations.d.ts +74 -39
  160. package/dist/types/src/translations.d.ts.map +1 -1
  161. package/dist/types/src/types/Sheet.d.ts +2 -2
  162. package/dist/types/src/types/Sheet.d.ts.map +1 -1
  163. package/dist/types/src/types/SheetCapabilities.d.ts +16 -0
  164. package/dist/types/src/types/SheetCapabilities.d.ts.map +1 -0
  165. package/dist/types/src/types/SheetOperation.d.ts +45 -0
  166. package/dist/types/src/types/SheetOperation.d.ts.map +1 -0
  167. package/dist/types/src/types/index.d.ts +3 -2
  168. package/dist/types/src/types/index.d.ts.map +1 -1
  169. package/dist/types/src/types/sheet-range-types.d.ts +1 -1
  170. package/dist/types/src/types/sheet-range-types.d.ts.map +1 -1
  171. package/dist/types/src/types/types.d.ts +0 -92
  172. package/dist/types/src/types/types.d.ts.map +1 -1
  173. package/dist/types/src/types/util.d.ts +1 -1
  174. package/dist/types/src/types/util.d.ts.map +1 -1
  175. package/dist/types/tsconfig.tsbuildinfo +1 -1
  176. package/package.json +116 -73
  177. package/src/SheetPlugin.node.ts +21 -0
  178. package/src/SheetPlugin.test.ts +30 -0
  179. package/src/SheetPlugin.tsx +25 -35
  180. package/src/capabilities/{anchor-sort/anchor-sort.ts → anchor-sort.ts} +1 -1
  181. package/src/capabilities/comment-config.ts +24 -0
  182. package/src/capabilities/{compute-graph-registry/compute-graph-registry.ts → compute-graph-registry.ts} +4 -2
  183. package/src/capabilities/create-object.ts +30 -0
  184. package/src/capabilities/index.ts +17 -5
  185. package/src/capabilities/{markdown/markdown.ts → markdown.ts} +3 -2
  186. package/src/capabilities/operation-handler.ts +16 -0
  187. package/src/capabilities/{react-surface/react-surface.tsx → react-surface.tsx} +12 -9
  188. package/src/capabilities/state.ts +29 -0
  189. package/src/capabilities/undo-mappings.ts +30 -0
  190. package/src/components/ComputeGraph/ComputeGraphContextProvider.tsx +1 -1
  191. package/src/components/ComputeGraph/compute-graph.stories.tsx +17 -14
  192. package/src/components/SheetContent/SheetCellEditor.stories.tsx +8 -7
  193. package/src/components/SheetContent/SheetContent.stories.tsx +10 -10
  194. package/src/components/SheetContent/SheetContent.tsx +40 -23
  195. package/src/components/SheetContent/util.ts +3 -2
  196. package/src/components/SheetRoot/SheetRoot.tsx +18 -7
  197. package/src/components/SheetStatusbar/SheetStatusbar.tsx +15 -8
  198. package/src/components/SheetToolbar/SheetToolbar.stories.tsx +1 -1
  199. package/src/components/SheetToolbar/SheetToolbar.tsx +15 -20
  200. package/src/components/SheetToolbar/align.ts +9 -9
  201. package/src/components/SheetToolbar/style.ts +7 -7
  202. package/src/containers/RangeList/RangeList.tsx +17 -17
  203. package/src/containers/RangeList/index.ts +1 -3
  204. package/src/containers/SheetContainer/SheetContainer.stories.tsx +36 -20
  205. package/src/containers/SheetContainer/SheetContainer.tsx +8 -8
  206. package/src/containers/SheetContainer/index.ts +1 -3
  207. package/src/extensions/compute.stories.tsx +9 -9
  208. package/src/extensions/compute.ts +1 -1
  209. package/src/extensions/editor/sheet-extension.test.ts +1 -1
  210. package/src/extensions/editor/sheet-extension.ts +2 -2
  211. package/src/index.ts +2 -2
  212. package/src/integrations/thread-ranges.ts +7 -39
  213. package/src/meta.ts +1 -1
  214. package/src/model/sheet-model.test.ts +5 -5
  215. package/src/model/sheet-model.ts +17 -17
  216. package/src/model/testing.ts +2 -2
  217. package/src/model/useSheetModel.ts +3 -2
  218. package/src/operations/drop-axis.ts +26 -0
  219. package/src/operations/index.ts +12 -0
  220. package/src/operations/insert-axis.ts +19 -0
  221. package/src/operations/restore-axis.ts +19 -0
  222. package/src/operations/scroll-to-anchor.ts +30 -0
  223. package/src/playwright/sheet.spec.ts +2 -2
  224. package/src/plugin.ts +11 -0
  225. package/src/sanity.test.ts +6 -3
  226. package/src/serializer.ts +2 -2
  227. package/src/testing/data.ts +1 -1
  228. package/src/testing/testing.tsx +4 -4
  229. package/src/translations.ts +41 -36
  230. package/src/types/Sheet.ts +15 -9
  231. package/src/types/SheetCapabilities.ts +26 -0
  232. package/src/types/SheetOperation.ts +75 -0
  233. package/src/types/index.ts +4 -2
  234. package/src/types/types.ts +0 -80
  235. package/src/types/util.ts +1 -1
  236. package/dist/lib/browser/RangeList-S3SHV7T6.mjs.map +0 -7
  237. package/dist/lib/browser/SheetContainer-I3NFVVDQ.mjs.map +0 -7
  238. package/dist/lib/browser/anchor-sort-DZ3IHHJJ.mjs.map +0 -7
  239. package/dist/lib/browser/chunk-NNWF7EKC.mjs.map +0 -7
  240. package/dist/lib/browser/chunk-S445OQGW.mjs.map +0 -7
  241. package/dist/lib/browser/compute-graph-registry-W6HO2G3P.mjs.map +0 -7
  242. package/dist/lib/browser/index.mjs +0 -145
  243. package/dist/lib/browser/index.mjs.map +0 -7
  244. package/dist/lib/browser/markdown-S6GVLHB4.mjs.map +0 -7
  245. package/dist/lib/browser/meta.json +0 -1
  246. package/dist/lib/browser/operation-resolver-Z4X4UWNR.mjs +0 -79
  247. package/dist/lib/browser/operation-resolver-Z4X4UWNR.mjs.map +0 -7
  248. package/dist/lib/browser/react-surface-KIU6DGKW.mjs.map +0 -7
  249. package/dist/lib/node-esm/RangeList-IB23OJK2.mjs +0 -54
  250. package/dist/lib/node-esm/RangeList-IB23OJK2.mjs.map +0 -7
  251. package/dist/lib/node-esm/SheetContainer-KUXNCSFP.mjs +0 -1806
  252. package/dist/lib/node-esm/SheetContainer-KUXNCSFP.mjs.map +0 -7
  253. package/dist/lib/node-esm/anchor-sort-24OXMOSX.mjs +0 -25
  254. package/dist/lib/node-esm/anchor-sort-24OXMOSX.mjs.map +0 -7
  255. package/dist/lib/node-esm/chunk-M52YLLWU.mjs +0 -236
  256. package/dist/lib/node-esm/chunk-M52YLLWU.mjs.map +0 -7
  257. package/dist/lib/node-esm/chunk-NKZ3O4OR.mjs +0 -398
  258. package/dist/lib/node-esm/chunk-NKZ3O4OR.mjs.map +0 -7
  259. package/dist/lib/node-esm/compute-graph-registry-2C3Y2RPQ.mjs +0 -22
  260. package/dist/lib/node-esm/compute-graph-registry-2C3Y2RPQ.mjs.map +0 -7
  261. package/dist/lib/node-esm/index.mjs +0 -146
  262. package/dist/lib/node-esm/index.mjs.map +0 -7
  263. package/dist/lib/node-esm/markdown-YT5KJTQT.mjs +0 -30
  264. package/dist/lib/node-esm/markdown-YT5KJTQT.mjs.map +0 -7
  265. package/dist/lib/node-esm/meta.json +0 -1
  266. package/dist/lib/node-esm/operation-resolver-7VD2YXSQ.mjs +0 -80
  267. package/dist/lib/node-esm/operation-resolver-7VD2YXSQ.mjs.map +0 -7
  268. package/dist/lib/node-esm/react-surface-7FZAE3S7.mjs +0 -52
  269. package/dist/lib/node-esm/react-surface-7FZAE3S7.mjs.map +0 -7
  270. package/dist/types/src/capabilities/anchor-sort/anchor-sort.d.ts.map +0 -1
  271. package/dist/types/src/capabilities/anchor-sort/index.d.ts +0 -3
  272. package/dist/types/src/capabilities/anchor-sort/index.d.ts.map +0 -1
  273. package/dist/types/src/capabilities/compute-graph-registry/compute-graph-registry.d.ts.map +0 -1
  274. package/dist/types/src/capabilities/compute-graph-registry/index.d.ts +0 -3
  275. package/dist/types/src/capabilities/compute-graph-registry/index.d.ts.map +0 -1
  276. package/dist/types/src/capabilities/markdown/index.d.ts +0 -3
  277. package/dist/types/src/capabilities/markdown/index.d.ts.map +0 -1
  278. package/dist/types/src/capabilities/markdown/markdown.d.ts.map +0 -1
  279. package/dist/types/src/capabilities/operation-resolver/index.d.ts +0 -3
  280. package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +0 -1
  281. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +0 -5
  282. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +0 -1
  283. package/dist/types/src/capabilities/react-surface/index.d.ts +0 -3
  284. package/dist/types/src/capabilities/react-surface/index.d.ts.map +0 -1
  285. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +0 -1
  286. package/dist/types/src/types/capabilities.d.ts +0 -6
  287. package/dist/types/src/types/capabilities.d.ts.map +0 -1
  288. package/src/capabilities/anchor-sort/index.ts +0 -7
  289. package/src/capabilities/compute-graph-registry/index.ts +0 -7
  290. package/src/capabilities/markdown/index.ts +0 -7
  291. package/src/capabilities/operation-resolver/index.ts +0 -7
  292. package/src/capabilities/operation-resolver/operation-resolver.ts +0 -77
  293. package/src/capabilities/react-surface/index.ts +0 -7
  294. package/src/types/capabilities.ts +0 -14
  295. /package/dist/lib/{browser/types/index.mjs.map → neutral/chunk-J5LGTIGS.mjs.map} +0 -0
  296. /package/dist/lib/{node-esm/types → neutral}/index.mjs.map +0 -0
  297. /package/dist/types/src/capabilities/{anchor-sort/anchor-sort.d.ts → anchor-sort.d.ts} +0 -0
  298. /package/dist/types/src/capabilities/{markdown/markdown.d.ts → markdown.d.ts} +0 -0
  299. /package/dist/types/src/capabilities/{react-surface/react-surface.d.ts → react-surface.d.ts} +0 -0
@@ -1,31 +1,11 @@
1
1
  import {
2
2
  rangeExtension,
3
3
  sheetExtension
4
- } from "./chunk-NNWF7EKC.mjs";
4
+ } from "../chunk-4SBAIU6F.mjs";
5
5
  import {
6
- DEFAULT_COLS,
7
- DEFAULT_ROWS,
8
- MAX_COLS,
9
- MAX_ROWS,
10
- ReadonlyException,
11
- SheetOperation,
12
- addressFromIndex,
13
- addressToIndex,
14
- alignKey,
15
- cellClassNameForRange,
16
- initialize,
17
- insertIndices,
18
- mapFormulaIndicesToRefs,
19
- mapFormulaRefsToIndices,
20
- meta,
21
- rangeFromIndex,
22
- rangeToIndex
23
- } from "./chunk-S445OQGW.mjs";
24
-
25
- // src/containers/SheetContainer/SheetContainer.tsx
26
- import React6 from "react";
27
- import { Obj as Obj7 } from "@dxos/echo";
28
- import { Panel } from "@dxos/react-ui";
6
+ useSelectThreadOnCellFocus
7
+ } from "../chunk-4GWJDLTH.mjs";
8
+ import "../chunk-J5LGTIGS.mjs";
29
9
 
30
10
  // src/components/ComputeGraph/ComputeGraphContextProvider.tsx
31
11
  import React, { createContext, useContext } from "react";
@@ -55,136 +35,34 @@ var useComputeGraph = (space) => {
55
35
  };
56
36
 
57
37
  // src/components/SheetContent/SheetContent.tsx
58
- import React3, { useCallback as useCallback3, useMemo as useMemo2, useRef, useState as useState4 } from "react";
59
- import { useOperationInvoker as useOperationInvoker2 } from "@dxos/app-framework/ui";
60
- import { rangeToA1Notation } from "@dxos/compute";
61
- import { Obj as Obj4 } from "@dxos/echo";
38
+ import React3, { useCallback as useCallback2, useEffect as useEffect3, useMemo, useRef, useState as useState4 } from "react";
39
+ import { useCapabilities, useOperationInvoker } from "@dxos/app-framework/ui";
40
+ import { rangeToA1Notation } from "@dxos/compute-hyperformula";
41
+ import { Obj as Obj2 } from "@dxos/echo";
62
42
  import { defaultColSize, defaultRowSize } from "@dxos/lit-grid";
63
43
  import { DropdownMenu, Icon, useTranslation } from "@dxos/react-ui";
64
44
  import { useAttention } from "@dxos/react-ui-attention";
65
45
  import { Grid as Grid2, GridCellEditor, closestCell, editorKeys, parseCellIndex } from "@dxos/react-ui-grid";
66
- import { mx as mx2, useComposableProps } from "@dxos/ui-theme";
67
-
68
- // src/integrations/thread-ranges.ts
69
- import * as Effect from "effect/Effect";
70
- import { useCallback, useEffect, useMemo } from "react";
71
- import { useOperationInvoker, useOperationResolver } from "@dxos/app-framework/ui";
72
- import { LayoutOperation } from "@dxos/app-toolkit";
73
- import { debounce } from "@dxos/async";
74
- import { inRange } from "@dxos/compute";
75
- import { Obj, Relation } from "@dxos/echo";
76
- import { OperationResolver } from "@dxos/operation";
77
- import { ATTENDABLE_PATH_SEPARATOR, DeckOperation } from "@dxos/plugin-deck/types";
78
- import { ThreadOperation } from "@dxos/plugin-thread/types";
79
- import { Filter, Query, useQuery } from "@dxos/react-client/echo";
80
- import { AnchoredTo, Thread } from "@dxos/types";
81
- var parseThreadAnchorAsCellRange = (cursor) => {
82
- const coords = cursor.split(",");
83
- if (coords.length !== 4) {
84
- return null;
85
- } else {
86
- const [fromCol, fromRow, toCol, toRow] = coords;
87
- return {
88
- from: {
89
- col: parseInt(fromCol),
90
- row: parseInt(fromRow)
91
- },
92
- to: {
93
- col: parseInt(toCol),
94
- row: parseInt(toRow)
95
- }
96
- };
97
- }
98
- };
99
- var useUpdateFocusedCellOnThreadSelection = (grid) => {
100
- const { model, setActiveRefs } = useSheetContext();
101
- const sheetId = Obj.getDXN(model.sheet).toString();
102
- const scrollIntoViewHandler = useMemo(() => OperationResolver.make({
103
- operation: LayoutOperation.ScrollIntoView,
104
- position: "hoist",
105
- filter: (input) => input.subject === sheetId && !!input.cursor,
106
- handler: (input) => Effect.sync(() => {
107
- const { cursor, ref } = input;
108
- if (cursor) {
109
- setActiveRefs(ref);
110
- const range = parseThreadAnchorAsCellRange(cursor);
111
- range && grid?.setFocus({
112
- ...range.to,
113
- plane: "grid"
114
- }, true);
115
- }
116
- })
117
- }), [
118
- sheetId,
119
- setActiveRefs,
120
- grid
121
- ]);
122
- useOperationResolver(meta.id, scrollIntoViewHandler);
123
- };
124
- var useSelectThreadOnCellFocus = () => {
125
- const { model, cursor } = useSheetContext();
126
- const { invokePromise } = useOperationInvoker();
127
- const db = Obj.getDatabase(model.sheet);
128
- const anchors = useQuery(db, Query.select(Filter.id(model.sheet.id)).targetOf(AnchoredTo.AnchoredTo));
129
- const selectClosestThread = useCallback((cellAddress) => {
130
- if (!cellAddress) {
131
- return;
132
- }
133
- const closestThread = anchors.find((anchor) => {
134
- const source = Relation.getSource(anchor);
135
- if (anchor.anchor && Obj.instanceOf(Thread.Thread, source)) {
136
- const range = parseThreadAnchorAsCellRange(anchor.anchor);
137
- return range ? inRange(range, cellAddress) : false;
138
- } else {
139
- return false;
140
- }
141
- });
142
- if (closestThread) {
143
- const primary = Obj.getDXN(model.sheet).toString();
144
- void (async () => {
145
- await invokePromise(ThreadOperation.Select, {
146
- current: Relation.getDXN(closestThread).toString()
147
- });
148
- await invokePromise(DeckOperation.ChangeCompanion, {
149
- companion: `${primary}${ATTENDABLE_PATH_SEPARATOR}comments`
150
- });
151
- })();
152
- }
153
- }, [
154
- invokePromise,
155
- anchors
156
- ]);
157
- const debounced = useMemo(() => {
158
- return debounce((cellCoords) => requestAnimationFrame(() => selectClosestThread(cellCoords)), 50);
159
- }, [
160
- selectClosestThread
161
- ]);
162
- useEffect(() => {
163
- if (!cursor) {
164
- return;
165
- }
166
- debounced(cursor);
167
- }, [
168
- cursor,
169
- debounced
170
- ]);
171
- };
46
+ import { composable, composableProps } from "@dxos/ui-theme";
47
+ import { meta } from "#meta";
48
+ import { SheetOperation } from "#types";
49
+ import { DEFAULT_COLS, DEFAULT_ROWS, SheetCapabilities } from "#types";
172
50
 
173
51
  // src/components/SheetRoot/SheetRoot.tsx
174
- import React2, { createContext as createContext2, useCallback as useCallback2, useContext as useContext2, useState as useState2 } from "react";
52
+ import React2, { createContext as createContext2, useCallback, useContext as useContext2, useState as useState2 } from "react";
175
53
  import { raise as raise2 } from "@dxos/debug";
176
- import { Obj as Obj3 } from "@dxos/echo";
177
54
  import { Grid, useGridContext } from "@dxos/react-ui-grid";
178
55
 
179
56
  // src/model/sheet-model.ts
180
57
  import { Event } from "@dxos/async";
181
- import { DetailedCellError, ExportedCellChange, addressFromA1Notation, addressToA1Notation, createSheetName, isFormula } from "@dxos/compute";
58
+ import { DetailedCellError, ExportedCellChange, addressFromA1Notation, addressToA1Notation, createSheetName, isFormula } from "@dxos/compute-hyperformula";
182
59
  import { Resource } from "@dxos/context";
183
- import { Obj as Obj2 } from "@dxos/echo";
60
+ import { Obj } from "@dxos/echo";
184
61
  import { Format, TypeEnum } from "@dxos/echo/internal";
185
62
  import { invariant } from "@dxos/invariant";
186
63
  import { PublicKey } from "@dxos/keys";
187
64
  import { log } from "@dxos/log";
65
+ import { MAX_COLS, MAX_ROWS, ReadonlyException, addressFromIndex, addressToIndex, initialize, insertIndices, mapFormulaIndicesToRefs, mapFormulaRefsToIndices } from "#types";
188
66
  var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-sheet/src/model/sheet-model.ts";
189
67
  var typeMap = {
190
68
  BOOLEAN: {
@@ -262,13 +140,8 @@ var SheetModel = class extends Resource {
262
140
  async _open() {
263
141
  log("initialize", {
264
142
  id: this.id
265
- }, {
266
- F: __dxlog_file,
267
- L: 124,
268
- S: this,
269
- C: (f, a) => f(...a)
270
- });
271
- Obj2.change(this._sheet, (obj) => {
143
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 96, S: this });
144
+ Obj.update(this._sheet, (obj) => {
272
145
  initialize(obj);
273
146
  });
274
147
  this._graph.update.on((event) => {
@@ -277,7 +150,7 @@ var SheetModel = class extends Resource {
277
150
  }
278
151
  });
279
152
  this._node = this._graph.getOrCreateNode(createSheetName({
280
- type: Obj2.getTypename(this._sheet),
153
+ type: Obj.getTypename(this._sheet),
281
154
  id: this._sheet.id
282
155
  }));
283
156
  await this._node.open();
@@ -291,26 +164,10 @@ var SheetModel = class extends Resource {
291
164
  * @deprecated
292
165
  */
293
166
  reset() {
294
- invariant(this._node, void 0, {
295
- F: __dxlog_file,
296
- L: 154,
297
- S: this,
298
- A: [
299
- "this._node",
300
- ""
301
- ]
302
- });
167
+ invariant(this._node, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 123, S: this, A: ["this._node", ""] });
303
168
  this._node.graph.hf.clearSheet(this._node.sheetId);
304
169
  Object.entries(this._sheet.cells).forEach(([key, { value }]) => {
305
- invariant(this._node, void 0, {
306
- F: __dxlog_file,
307
- L: 157,
308
- S: this,
309
- A: [
310
- "this._node",
311
- ""
312
- ]
313
- });
170
+ invariant(this._node, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 126, S: this, A: ["this._node", ""] });
314
171
  const { col, row } = addressFromIndex(this._sheet, key);
315
172
  if (isFormula(value)) {
316
173
  const binding = this._graph.mapFunctionBindingFromId(mapFormulaIndicesToRefs(this._sheet, value));
@@ -339,7 +196,7 @@ var SheetModel = class extends Resource {
339
196
  }
340
197
  insertRows(i, n = 1) {
341
198
  let idx = [];
342
- Obj2.change(this._sheet, (obj) => {
199
+ Obj.update(this._sheet, (obj) => {
343
200
  idx = insertIndices(obj.rows, i, n, MAX_ROWS);
344
201
  });
345
202
  this.reset();
@@ -347,7 +204,7 @@ var SheetModel = class extends Resource {
347
204
  }
348
205
  insertColumns(i, n = 1) {
349
206
  let idx = [];
350
- Obj2.change(this._sheet, (obj) => {
207
+ Obj.update(this._sheet, (obj) => {
351
208
  idx = insertIndices(obj.columns, i, n, MAX_COLS);
352
209
  });
353
210
  this.reset();
@@ -361,7 +218,7 @@ var SheetModel = class extends Resource {
361
218
  const values = this.getCellValues(range).flat();
362
219
  const index = this._sheet.rows.indexOf(rowIndex);
363
220
  this.clear(range);
364
- Obj2.change(this._sheet, (obj) => {
221
+ Obj.update(this._sheet, (obj) => {
365
222
  obj.rows.splice(index, 1);
366
223
  delete obj.rowMeta[rowIndex];
367
224
  });
@@ -382,7 +239,7 @@ var SheetModel = class extends Resource {
382
239
  const values = this.getCellValues(range).flat();
383
240
  const index = this._sheet.columns.indexOf(colIndex);
384
241
  this.clear(range);
385
- Obj2.change(this._sheet, (obj) => {
242
+ Obj.update(this._sheet, (obj) => {
386
243
  obj.columns.splice(index, 1);
387
244
  delete obj.columnMeta[colIndex];
388
245
  });
@@ -396,7 +253,7 @@ var SheetModel = class extends Resource {
396
253
  };
397
254
  }
398
255
  restoreRow({ index, axisIndex, axisMeta, values }) {
399
- Obj2.change(this._sheet, (obj) => {
256
+ Obj.update(this._sheet, (obj) => {
400
257
  obj.rows.splice(index, 0, axisIndex);
401
258
  values.forEach((value, col) => {
402
259
  if (value) {
@@ -412,7 +269,7 @@ var SheetModel = class extends Resource {
412
269
  this.reset();
413
270
  }
414
271
  restoreColumn({ index, axisIndex, axisMeta, values }) {
415
- Obj2.change(this._sheet, (obj) => {
272
+ Obj.update(this._sheet, (obj) => {
416
273
  obj.columns.splice(index, 0, axisIndex);
417
274
  values.forEach((value, row) => {
418
275
  if (value) {
@@ -435,19 +292,11 @@ var SheetModel = class extends Resource {
435
292
  * Clear range of values.
436
293
  */
437
294
  clear(range) {
438
- invariant(this._node, void 0, {
439
- F: __dxlog_file,
440
- L: 276,
441
- S: this,
442
- A: [
443
- "this._node",
444
- ""
445
- ]
446
- });
295
+ invariant(this._node, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 251, S: this, A: ["this._node", ""] });
447
296
  const topLeft = getTopLeft(range);
448
297
  const values = this._iterRange(range, () => null);
449
298
  this._node.graph.hf.setCellContents(toSimpleCellAddress(this._node.sheetId, topLeft), values);
450
- Obj2.change(this._sheet, (obj) => {
299
+ Obj.update(this._sheet, (obj) => {
451
300
  this._iterRange(range, (cell) => {
452
301
  const idx = addressToIndex(this._sheet, cell);
453
302
  delete obj.cells[idx];
@@ -455,17 +304,9 @@ var SheetModel = class extends Resource {
455
304
  });
456
305
  }
457
306
  cut(range) {
458
- invariant(this._node, void 0, {
459
- F: __dxlog_file,
460
- L: 289,
461
- S: this,
462
- A: [
463
- "this._node",
464
- ""
465
- ]
466
- });
307
+ invariant(this._node, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 263, S: this, A: ["this._node", ""] });
467
308
  this._node.graph.hf.cut(toModelRange(this._node.sheetId, range));
468
- Obj2.change(this._sheet, (obj) => {
309
+ Obj.update(this._sheet, (obj) => {
469
310
  this._iterRange(range, (cell) => {
470
311
  const idx = addressToIndex(this._sheet, cell);
471
312
  delete obj.cells[idx];
@@ -473,30 +314,14 @@ var SheetModel = class extends Resource {
473
314
  });
474
315
  }
475
316
  copy(range) {
476
- invariant(this._node, void 0, {
477
- F: __dxlog_file,
478
- L: 300,
479
- S: this,
480
- A: [
481
- "this._node",
482
- ""
483
- ]
484
- });
317
+ invariant(this._node, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 273, S: this, A: ["this._node", ""] });
485
318
  this._node.graph.hf.copy(toModelRange(this._node.sheetId, range));
486
319
  }
487
320
  paste(cell) {
488
- invariant(this._node, void 0, {
489
- F: __dxlog_file,
490
- L: 305,
491
- S: this,
492
- A: [
493
- "this._node",
494
- ""
495
- ]
496
- });
321
+ invariant(this._node, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 277, S: this, A: ["this._node", ""] });
497
322
  if (!this._node.graph.hf.isClipboardEmpty()) {
498
323
  const changes = this._node.graph.hf.paste(toSimpleCellAddress(this._node.sheetId, cell));
499
- Obj2.change(this._sheet, (obj) => {
324
+ Obj.update(this._sheet, (obj) => {
500
325
  for (const change of changes) {
501
326
  if (change instanceof ExportedCellChange) {
502
327
  const { address, newValue } = change;
@@ -514,29 +339,13 @@ var SheetModel = class extends Resource {
514
339
  }
515
340
  // TODO(burdon): Display undo/redo state.
516
341
  undo() {
517
- invariant(this._node, void 0, {
518
- F: __dxlog_file,
519
- L: 322,
520
- S: this,
521
- A: [
522
- "this._node",
523
- ""
524
- ]
525
- });
342
+ invariant(this._node, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 298, S: this, A: ["this._node", ""] });
526
343
  if (this._node.graph.hf.isThereSomethingToUndo()) {
527
344
  this._node.graph.hf.undo();
528
345
  }
529
346
  }
530
347
  redo() {
531
- invariant(this._node, void 0, {
532
- F: __dxlog_file,
533
- L: 330,
534
- S: this,
535
- A: [
536
- "this._node",
537
- ""
538
- ]
539
- });
348
+ invariant(this._node, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 305, S: this, A: ["this._node", ""] });
540
349
  if (this._node.graph.hf.isThereSomethingToRedo()) {
541
350
  this._node.graph.hf.redo();
542
351
  }
@@ -572,27 +381,14 @@ var SheetModel = class extends Resource {
572
381
  * Gets the regular or computed value from the engine.
573
382
  */
574
383
  getValue(cell) {
575
- invariant(this._node, void 0, {
576
- F: __dxlog_file,
577
- L: 373,
578
- S: this,
579
- A: [
580
- "this._node",
581
- ""
582
- ]
583
- });
384
+ invariant(this._node, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 339, S: this, A: ["this._node", ""] });
584
385
  const address = toSimpleCellAddress(this._node.sheetId, cell);
585
386
  const value = this._node.graph.hf.getCellValue(address);
586
387
  if (value instanceof DetailedCellError) {
587
388
  log.warn("cell error", {
588
389
  cell,
589
390
  error: value
590
- }, {
591
- F: __dxlog_file,
592
- L: 378,
593
- S: this,
594
- C: (f, a) => f(...a)
595
- });
391
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 344, S: this });
596
392
  return value.toString();
597
393
  }
598
394
  return value;
@@ -601,15 +397,7 @@ var SheetModel = class extends Resource {
601
397
  * Get value type.
602
398
  */
603
399
  getValueDescription(cell) {
604
- invariant(this._node, void 0, {
605
- F: __dxlog_file,
606
- L: 389,
607
- S: this,
608
- A: [
609
- "this._node",
610
- ""
611
- ]
612
- });
400
+ invariant(this._node, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 355, S: this, A: ["this._node", ""] });
613
401
  const addr = toSimpleCellAddress(this._node.sheetId, cell);
614
402
  const type = this._node.graph.hf.getCellValueDetailedType(addr);
615
403
  return typeMap[type];
@@ -618,27 +406,19 @@ var SheetModel = class extends Resource {
618
406
  * Sets the value, updating the sheet and engine.
619
407
  */
620
408
  setValue(cell, value) {
621
- invariant(this._node, void 0, {
622
- F: __dxlog_file,
623
- L: 399,
624
- S: this,
625
- A: [
626
- "this._node",
627
- ""
628
- ]
629
- });
409
+ invariant(this._node, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 363, S: this, A: ["this._node", ""] });
630
410
  if (this._options.readonly) {
631
411
  throw new ReadonlyException();
632
412
  }
633
413
  let refresh = false;
634
414
  if (cell.row >= this._sheet.rows.length) {
635
- Obj2.change(this._sheet, (obj) => {
415
+ Obj.update(this._sheet, (obj) => {
636
416
  insertIndices(obj.rows, cell.row, 1, MAX_ROWS);
637
417
  });
638
418
  refresh = true;
639
419
  }
640
420
  if (cell.col >= this._sheet.columns.length) {
641
- Obj2.change(this._sheet, (obj) => {
421
+ Obj.update(this._sheet, (obj) => {
642
422
  insertIndices(obj.columns, cell.col, 1, MAX_COLS);
643
423
  });
644
424
  refresh = true;
@@ -657,14 +437,14 @@ var SheetModel = class extends Resource {
657
437
  ]);
658
438
  const idx = addressToIndex(this._sheet, cell);
659
439
  if (value === void 0 || value === null) {
660
- Obj2.change(this._sheet, (obj) => {
440
+ Obj.update(this._sheet, (obj) => {
661
441
  delete obj.cells[idx];
662
442
  });
663
443
  } else {
664
444
  if (isFormula(value)) {
665
445
  value = this._graph.mapFunctionBindingToId(mapFormulaRefsToIndices(this._sheet, value));
666
446
  }
667
- Obj2.change(this._sheet, (obj) => {
447
+ Obj.update(this._sheet, (obj) => {
668
448
  obj.cells[idx] = {
669
449
  value
670
450
  };
@@ -720,15 +500,7 @@ var SheetModel = class extends Resource {
720
500
  * Map from indices to A1 notation.
721
501
  */
722
502
  mapFormulaIndicesToRefs(formula) {
723
- invariant(isFormula(formula), void 0, {
724
- F: __dxlog_file,
725
- L: 492,
726
- S: this,
727
- A: [
728
- "isFormula(formula)",
729
- ""
730
- ]
731
- });
503
+ invariant(isFormula(formula), void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 458, S: this, A: ["isFormula(formula)", ""] });
732
504
  return formula.replace(/([a-zA-Z0-9]+)@([a-zA-Z0-9]+)/g, (idx) => {
733
505
  return addressToA1Notation(addressFromIndex(this._sheet, idx));
734
506
  });
@@ -746,48 +518,24 @@ var SheetModel = class extends Resource {
746
518
  return new Date(year, month - 1, day, hours, minutes, seconds);
747
519
  }
748
520
  toDateTime(num) {
749
- invariant(this._node, void 0, {
750
- F: __dxlog_file,
751
- L: 513,
752
- S: this,
753
- A: [
754
- "this._node",
755
- ""
756
- ]
757
- });
521
+ invariant(this._node, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 475, S: this, A: ["this._node", ""] });
758
522
  return this._node.graph.hf.numberToDateTime(num);
759
523
  }
760
524
  toDate(num) {
761
- invariant(this._node, void 0, {
762
- F: __dxlog_file,
763
- L: 518,
764
- S: this,
765
- A: [
766
- "this._node",
767
- ""
768
- ]
769
- });
525
+ invariant(this._node, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 479, S: this, A: ["this._node", ""] });
770
526
  return this._node.graph.hf.numberToDate(num);
771
527
  }
772
528
  toTime(num) {
773
- invariant(this._node, void 0, {
774
- F: __dxlog_file,
775
- L: 523,
776
- S: this,
777
- A: [
778
- "this._node",
779
- ""
780
- ]
781
- });
529
+ invariant(this._node, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 483, S: this, A: ["this._node", ""] });
782
530
  return this._node.graph.hf.numberToTime(num);
783
531
  }
784
532
  };
785
533
 
786
534
  // src/model/useSheetModel.ts
787
- import { useEffect as useEffect2, useState } from "react";
535
+ import { useEffect, useState } from "react";
788
536
  var useSheetModel = (graph, sheet, { readonly } = {}) => {
789
537
  const [model, setModel] = useState();
790
- useEffect2(() => {
538
+ useEffect(() => {
791
539
  if (!graph || !sheet) {
792
540
  return;
793
541
  }
@@ -816,7 +564,7 @@ var SheetContext = /* @__PURE__ */ createContext2(void 0);
816
564
  var useSheetContext = () => {
817
565
  return useContext2(SheetContext) ?? raise2(new Error("Missing SheetContext"));
818
566
  };
819
- var SheetRoot = ({ children, graph, sheet, readonly, ignoreAttention, onInfo }) => {
567
+ var SheetRoot = ({ children, graph, sheet, attendableId, readonly, ignoreAttention, onInfo }) => {
820
568
  const model = useSheetModel(graph, sheet, {
821
569
  readonly
822
570
  });
@@ -824,20 +572,21 @@ var SheetRoot = ({ children, graph, sheet, readonly, ignoreAttention, onInfo })
824
572
  return null;
825
573
  }
826
574
  return /* @__PURE__ */ React2.createElement(Grid.Root, {
827
- id: Obj3.getDXN(sheet).toString()
575
+ id: attendableId
828
576
  }, /* @__PURE__ */ React2.createElement(SheetProviderImpl, {
829
577
  model,
578
+ attendableId,
830
579
  onInfo,
831
580
  ignoreAttention
832
581
  }, children));
833
582
  };
834
- var SheetProviderImpl = ({ __gridScope, children, ignoreAttention, model, onInfo }) => {
583
+ var SheetProviderImpl = ({ __gridScope, children, attendableId, ignoreAttention, model, onInfo }) => {
835
584
  const { id, editing, setEditing } = useGridContext("SheetProvider", __gridScope);
836
585
  const [cursor, setCursorInternal] = useState2();
837
586
  const [range, setRangeInternal] = useState2();
838
587
  const [cursorFallbackRange, setCursorFallbackRange] = useState2();
839
588
  const [activeRefs, setActiveRefs] = useState2("");
840
- const setCursor = useCallback2((nextCursor) => {
589
+ const setCursor = useCallback((nextCursor) => {
841
590
  setCursorInternal(nextCursor);
842
591
  setCursorFallbackRange(range?.to ? range : nextCursor ? {
843
592
  from: nextCursor,
@@ -846,7 +595,7 @@ var SheetProviderImpl = ({ __gridScope, children, ignoreAttention, model, onInfo
846
595
  }, [
847
596
  range
848
597
  ]);
849
- const setRange = useCallback2((nextRange) => {
598
+ const setRange = useCallback((nextRange) => {
850
599
  setRangeInternal(nextRange);
851
600
  setCursorFallbackRange(nextRange?.to ? nextRange : cursor ? {
852
601
  from: cursor,
@@ -858,6 +607,7 @@ var SheetProviderImpl = ({ __gridScope, children, ignoreAttention, model, onInfo
858
607
  return /* @__PURE__ */ React2.createElement(SheetContext.Provider, {
859
608
  value: {
860
609
  id,
610
+ attendableId,
861
611
  model,
862
612
  editing,
863
613
  setEditing,
@@ -876,12 +626,13 @@ var SheetProviderImpl = ({ __gridScope, children, ignoreAttention, model, onInfo
876
626
  };
877
627
 
878
628
  // src/components/SheetContent/util.ts
879
- import { useEffect as useEffect3, useState as useState3 } from "react";
880
- import { inRange as inRange2 } from "@dxos/compute";
629
+ import { useEffect as useEffect2, useState as useState3 } from "react";
630
+ import { inRange } from "@dxos/compute-hyperformula";
881
631
  import { createDocAccessor } from "@dxos/echo-db";
882
632
  import { cellClassesForFieldType, parseValue } from "@dxos/react-ui-form";
883
633
  import { colToA1Notation, commentedClassName, rowToA1Notation } from "@dxos/react-ui-grid";
884
634
  import { mx } from "@dxos/ui-theme";
635
+ import { cellClassNameForRange, rangeFromIndex } from "#types";
885
636
  var createDxGridColumns = (model) => {
886
637
  return model.sheet.columns.reduce((acc, columnId, numericIndex) => {
887
638
  if (model.sheet.columnMeta[columnId] && model.sheet.columnMeta[columnId].size) {
@@ -914,7 +665,7 @@ var projectCellProps = (model, col, row) => {
914
665
  row
915
666
  };
916
667
  const rawValue = model.getValue(address);
917
- const ranges = model.sheet.ranges?.filter(({ range }) => inRange2(rangeFromIndex(model.sheet, range), address));
668
+ const ranges = model.sheet.ranges?.filter(({ range }) => inRange(rangeFromIndex(model.sheet, range), address));
918
669
  const threadRefs = void 0;
919
670
  const description = model.getValueDescription(address);
920
671
  const type = description?.type;
@@ -997,7 +748,7 @@ var cellGetter = (model) => {
997
748
  var useSheetModelDxGridProps = (dxGrid, model) => {
998
749
  const [columns, setColumns] = useState3(createDxGridColumns(model));
999
750
  const [rows, setRows] = useState3(createDxGridRows(model));
1000
- useEffect3(() => {
751
+ useEffect2(() => {
1001
752
  const cellsAccessor = createDocAccessor(model.sheet, [
1002
753
  "cells"
1003
754
  ]);
@@ -1017,7 +768,7 @@ var useSheetModelDxGridProps = (dxGrid, model) => {
1017
768
  model,
1018
769
  dxGrid
1019
770
  ]);
1020
- useEffect3(() => {
771
+ useEffect2(() => {
1021
772
  const columnMetaAccessor = createDocAccessor(model.sheet, [
1022
773
  "columnMeta"
1023
774
  ]);
@@ -1093,16 +844,15 @@ var sheetRowDefault = {
1093
844
  resizeable: true
1094
845
  }
1095
846
  };
1096
- var SheetContent = (props) => {
847
+ var SheetContent = composable((props, forwardedRef) => {
1097
848
  const { t } = useTranslation(meta.id);
1098
- const { id, model, editing, setCursor, setRange, cursor, cursorFallbackRange, activeRefs, ignoreAttention } = useSheetContext();
849
+ const { id, attendableId, model, editing, setCursor, setRange, cursor, cursorFallbackRange, activeRefs, setActiveRefs, ignoreAttention } = useSheetContext();
1099
850
  const [dxGrid, setDxGrid] = useState4(null);
1100
851
  const [extraplanarFocus, setExtraplanarFocus] = useState4(null);
1101
- const { invokePromise } = useOperationInvoker2();
852
+ const { invokePromise } = useOperationInvoker();
1102
853
  const rangeController = useRef(null);
1103
854
  const { hasAttention } = useAttention(id);
1104
- const { className, ...rest } = useComposableProps(props);
1105
- const handleFocus = useCallback3((event) => {
855
+ const handleFocus = useCallback2((event) => {
1106
856
  if (!editing) {
1107
857
  const cell = closestCell(event.target);
1108
858
  if (cell) {
@@ -1122,7 +872,7 @@ var SheetContent = (props) => {
1122
872
  }, [
1123
873
  editing
1124
874
  ]);
1125
- const handleClose = useCallback3((_value, event) => {
875
+ const handleClose = useCallback2((_value, event) => {
1126
876
  if (event) {
1127
877
  const { key, shift } = event;
1128
878
  const axis = [
@@ -1145,7 +895,7 @@ var SheetContent = (props) => {
1145
895
  editing,
1146
896
  dxGrid
1147
897
  ]);
1148
- const handleBlur = useCallback3((value) => {
898
+ const handleBlur = useCallback2((value) => {
1149
899
  if (value !== void 0) {
1150
900
  model.setValue(parseCellIndex(editing.index), value);
1151
901
  }
@@ -1153,8 +903,8 @@ var SheetContent = (props) => {
1153
903
  model,
1154
904
  editing
1155
905
  ]);
1156
- const handleAxisResize = useCallback3(({ axis, size, index: numericIndex }) => {
1157
- Obj4.change(model.sheet, (sheet) => {
906
+ const handleAxisResize = useCallback2(({ axis, size, index: numericIndex }) => {
907
+ Obj2.update(model.sheet, (sheet) => {
1158
908
  if (axis === "row") {
1159
909
  const rowId = sheet.rows[parseInt(numericIndex)];
1160
910
  sheet.rowMeta[rowId] ??= {};
@@ -1168,7 +918,7 @@ var SheetContent = (props) => {
1168
918
  }, [
1169
919
  model
1170
920
  ]);
1171
- const handleSelect = useCallback3(({ minCol, maxCol, minRow, maxRow }) => {
921
+ const handleSelect = useCallback2(({ minCol, maxCol, minRow, maxRow }) => {
1172
922
  const range = {
1173
923
  from: {
1174
924
  col: minCol,
@@ -1189,7 +939,7 @@ var SheetContent = (props) => {
1189
939
  }, [
1190
940
  editing
1191
941
  ]);
1192
- const handleWheel = useCallback3((event) => {
942
+ const handleWheel = useCallback2((event) => {
1193
943
  if (!ignoreAttention && !hasAttention) {
1194
944
  event.stopPropagation();
1195
945
  }
@@ -1197,7 +947,7 @@ var SheetContent = (props) => {
1197
947
  hasAttention,
1198
948
  ignoreAttention
1199
949
  ]);
1200
- const selectEntireAxis = useCallback3((pos) => {
950
+ const selectEntireAxis = useCallback2((pos) => {
1201
951
  switch (pos.plane) {
1202
952
  case "frozenRowsStart":
1203
953
  return dxGrid?.setSelection({
@@ -1230,7 +980,7 @@ var SheetContent = (props) => {
1230
980
  dxGrid,
1231
981
  model.sheet
1232
982
  ]);
1233
- const handleClick = useCallback3((event) => {
983
+ const handleClick = useCallback2((event) => {
1234
984
  const cell = closestCell(event.target);
1235
985
  if (cell) {
1236
986
  selectEntireAxis(cell);
@@ -1238,7 +988,7 @@ var SheetContent = (props) => {
1238
988
  }, [
1239
989
  selectEntireAxis
1240
990
  ]);
1241
- const handleKeyDown = useCallback3((event) => {
991
+ const handleKeyDown = useCallback2((event) => {
1242
992
  switch (event.key) {
1243
993
  case "Backspace":
1244
994
  case "Delete":
@@ -1288,7 +1038,7 @@ var SheetContent = (props) => {
1288
1038
  const contextMenuAnchorRef = useRef(null);
1289
1039
  const [contextMenuOpen, setContextMenuOpen] = useState4(null);
1290
1040
  const contextMenuAxis = contextMenuOpen?.plane.startsWith("frozenRows") ? "col" : "row";
1291
- const handleContextMenu = useCallback3((event) => {
1041
+ const handleContextMenu = useCallback2((event) => {
1292
1042
  const cell = closestCell(event.target);
1293
1043
  if (cell && cell.plane.startsWith("frozen")) {
1294
1044
  event.preventDefault();
@@ -1296,7 +1046,7 @@ var SheetContent = (props) => {
1296
1046
  setContextMenuOpen(cell);
1297
1047
  }
1298
1048
  }, []);
1299
- const handleAxisMenuAction = useCallback3((operation) => {
1049
+ const handleAxisMenuAction = useCallback2((operation) => {
1300
1050
  switch (operation) {
1301
1051
  case "insert-before":
1302
1052
  case "insert-after":
@@ -1319,7 +1069,7 @@ var SheetContent = (props) => {
1319
1069
  invokePromise
1320
1070
  ]);
1321
1071
  const { columns, rows } = useSheetModelDxGridProps(dxGrid, model);
1322
- const extensions = useMemo2(() => [
1072
+ const extensions = useMemo(() => [
1323
1073
  editorKeys({
1324
1074
  onClose: handleClose,
1325
1075
  ...editing?.initialContent && {
@@ -1342,17 +1092,29 @@ var SheetContent = (props) => {
1342
1092
  handleClose,
1343
1093
  editing
1344
1094
  ]);
1345
- const getCellContent = useCallback3((index) => {
1095
+ const getCellContent = useCallback2((index) => {
1346
1096
  return model.getCellText(parseCellIndex(index));
1347
1097
  }, [
1348
1098
  model
1349
1099
  ]);
1350
- useUpdateFocusedCellOnThreadSelection(dxGrid);
1100
+ const [gridInstances] = useCapabilities(SheetCapabilities.GridInstances);
1101
+ useEffect3(() => {
1102
+ if (dxGrid && gridInstances) {
1103
+ gridInstances.register(attendableId, dxGrid, setActiveRefs);
1104
+ return () => gridInstances.unregister(attendableId);
1105
+ }
1106
+ }, [
1107
+ dxGrid,
1108
+ gridInstances,
1109
+ attendableId,
1110
+ setActiveRefs
1111
+ ]);
1351
1112
  useSelectThreadOnCellFocus();
1352
1113
  return /* @__PURE__ */ React3.createElement("div", {
1353
- ...rest,
1354
- role: "none",
1355
- className: mx2("relative min-h-0", className)
1114
+ ref: forwardedRef,
1115
+ ...composableProps(props, {
1116
+ classNames: "relative min-h-0"
1117
+ })
1356
1118
  }, /* @__PURE__ */ React3.createElement(GridCellEditor, {
1357
1119
  getCellContent,
1358
1120
  extensions,
@@ -1391,43 +1153,44 @@ var SheetContent = (props) => {
1391
1153
  onClick: () => handleAxisMenuAction("insert-before"),
1392
1154
  "data-testid": `grid.${contextMenuAxis}.insert-before`
1393
1155
  }, /* @__PURE__ */ React3.createElement(Icon, {
1394
- size: 5,
1395
1156
  icon: contextMenuAxis === "col" ? "ph--columns-plus-left--regular" : "ph--rows-plus-top--regular"
1396
- }), /* @__PURE__ */ React3.createElement("span", null, t(`add ${contextMenuAxis} before label`))), /* @__PURE__ */ React3.createElement(DropdownMenu.Item, {
1157
+ }), /* @__PURE__ */ React3.createElement("span", null, t(`add-${contextMenuAxis}-before.label`))), /* @__PURE__ */ React3.createElement(DropdownMenu.Item, {
1397
1158
  onClick: () => handleAxisMenuAction("insert-after"),
1398
1159
  "data-testid": `grid.${contextMenuAxis}.insert-after`
1399
1160
  }, /* @__PURE__ */ React3.createElement(Icon, {
1400
- size: 5,
1401
1161
  icon: contextMenuAxis === "col" ? "ph--columns-plus-right--regular" : "ph--rows-plus-bottom--regular"
1402
- }), /* @__PURE__ */ React3.createElement("span", null, t(`add ${contextMenuAxis} after label`))), /* @__PURE__ */ React3.createElement(DropdownMenu.Item, {
1162
+ }), /* @__PURE__ */ React3.createElement("span", null, t(`add-${contextMenuAxis}-after.label`))), /* @__PURE__ */ React3.createElement(DropdownMenu.Item, {
1403
1163
  onClick: () => handleAxisMenuAction("drop"),
1404
1164
  "data-testid": `grid.${contextMenuAxis}.drop`
1405
1165
  }, /* @__PURE__ */ React3.createElement(Icon, {
1406
- size: 5,
1407
1166
  icon: "ph--backspace--regular"
1408
- }), /* @__PURE__ */ React3.createElement("span", null, t(`delete ${contextMenuAxis} label`)))), /* @__PURE__ */ React3.createElement(DropdownMenu.Arrow, null))));
1409
- };
1167
+ }), /* @__PURE__ */ React3.createElement("span", null, t(`delete-${contextMenuAxis}.label`)))), /* @__PURE__ */ React3.createElement(DropdownMenu.Arrow, null))));
1168
+ });
1410
1169
 
1411
1170
  // src/components/SheetStatusbar/SheetStatusbar.tsx
1412
1171
  import React4 from "react";
1413
- import { addressToA1Notation as addressToA1Notation2, isFormula as isFormula2, rangeToA1Notation as rangeToA1Notation2 } from "@dxos/compute";
1172
+ import { addressToA1Notation as addressToA1Notation2, isFormula as isFormula2, rangeToA1Notation as rangeToA1Notation2 } from "@dxos/compute-hyperformula";
1414
1173
  import { Icon as Icon2 } from "@dxos/react-ui";
1415
- var SheetStatusbar = (props) => {
1174
+ import { composable as composable2, composableProps as composableProps2, mx as mx2 } from "@dxos/ui-theme";
1175
+ import { mapFormulaIndicesToRefs as mapFormulaIndicesToRefs2 } from "#types";
1176
+ var SheetStatusbar = composable2((props, forwardedRef) => {
1177
+ const { className, ...rest } = composableProps2(props);
1416
1178
  const { model, cursor, range } = useSheetContext();
1417
1179
  let value;
1418
1180
  let formula = false;
1419
1181
  if (cursor) {
1420
1182
  value = model.getCellValue(cursor);
1421
1183
  if (isFormula2(value)) {
1422
- value = model.graph.mapFunctionBindingFromId(mapFormulaIndicesToRefs(model.sheet, value));
1184
+ value = model.graph.mapFunctionBindingFromId(mapFormulaIndicesToRefs2(model.sheet, value));
1423
1185
  formula = true;
1424
1186
  } else if (value != null) {
1425
1187
  value = String(value);
1426
1188
  }
1427
1189
  }
1428
1190
  return /* @__PURE__ */ React4.createElement("div", {
1429
- ...props,
1430
- className: "flex shrink-0 justify-between items-center px-4 py-1 text-sm bg-toolbar-surface border-y !border-subdued-separator"
1191
+ ref: forwardedRef,
1192
+ ...rest,
1193
+ className: mx2("flex shrink-0 justify-between items-center px-4 py-1 text-sm bg-toolbar-surface border-y !border-subdued-separator", className)
1431
1194
  }, /* @__PURE__ */ React4.createElement("div", {
1432
1195
  className: "flex gap-4 items-center"
1433
1196
  }, /* @__PURE__ */ React4.createElement("div", {
@@ -1443,20 +1206,23 @@ var SheetStatusbar = (props) => {
1443
1206
  }), /* @__PURE__ */ React4.createElement("span", {
1444
1207
  className: "font-mono"
1445
1208
  }, value))));
1446
- };
1209
+ });
1447
1210
 
1448
1211
  // src/components/SheetToolbar/SheetToolbar.tsx
1449
1212
  import { Atom as Atom2, RegistryContext as RegistryContext4 } from "@effect-atom/atom-react";
1450
- import React5, { useContext as useContext6, useMemo as useMemo4 } from "react";
1213
+ import React5, { useContext as useContext6, useMemo as useMemo3 } from "react";
1451
1214
  import { useAppGraph } from "@dxos/app-toolkit/ui";
1452
1215
  import { Menu, createGapSeparator, useMenuActions } from "@dxos/react-ui-menu";
1216
+ import { composable as composable3, composableProps as composableProps3 } from "@dxos/ui-theme";
1453
1217
 
1454
1218
  // src/components/SheetToolbar/align.ts
1455
1219
  import { RegistryContext } from "@effect-atom/atom-react";
1456
1220
  import { useContext as useContext3, useEffect as useEffect4 } from "react";
1457
- import { inRange as inRange3 } from "@dxos/compute";
1458
- import { Obj as Obj5 } from "@dxos/echo";
1221
+ import { inRange as inRange2 } from "@dxos/compute-hyperformula";
1222
+ import { Obj as Obj3 } from "@dxos/echo";
1459
1223
  import { createMenuAction, createMenuItemGroup } from "@dxos/react-ui-menu";
1224
+ import { meta as meta2 } from "#meta";
1225
+ import { alignKey, rangeFromIndex as rangeFromIndex2, rangeToIndex } from "#types";
1460
1226
  var aligns = {
1461
1227
  start: "ph--text-align-left--regular",
1462
1228
  center: "ph--text-align-center--regular",
@@ -1466,7 +1232,7 @@ var useAlignState = (stateAtom) => {
1466
1232
  const registry = useContext3(RegistryContext);
1467
1233
  const { cursor, model } = useSheetContext();
1468
1234
  useEffect4(() => {
1469
- const alignValue = cursor ? model.sheet.ranges?.findLast(({ range, key }) => key === alignKey && inRange3(rangeFromIndex(model.sheet, range), cursor))?.value : void 0;
1235
+ const alignValue = cursor ? model.sheet.ranges?.findLast(({ range, key }) => key === alignKey && inRange2(rangeFromIndex2(model.sheet, range), cursor))?.value : void 0;
1470
1236
  const prev = registry.get(stateAtom);
1471
1237
  registry.set(stateAtom, {
1472
1238
  ...prev,
@@ -1481,9 +1247,9 @@ var useAlignState = (stateAtom) => {
1481
1247
  };
1482
1248
  var createAlignGroupAction = (value) => createMenuItemGroup("align", {
1483
1249
  label: [
1484
- "align label",
1250
+ "align.label",
1485
1251
  {
1486
- ns: meta.id
1252
+ ns: meta2.id
1487
1253
  }
1488
1254
  ],
1489
1255
  variant: "toggleGroup",
@@ -1495,7 +1261,7 @@ var createAlignActions = ({ model, state, stateAtom, registry, cursorFallbackRan
1495
1261
  if (!cursorFallbackRange) {
1496
1262
  return;
1497
1263
  }
1498
- const index = model.sheet.ranges?.findIndex((range) => range.key === alignKey && inRange3(rangeFromIndex(model.sheet, range.range), cursorFallbackRange.from)) ?? -1;
1264
+ const index = model.sheet.ranges?.findIndex((range) => range.key === alignKey && inRange2(rangeFromIndex2(model.sheet, range.range), cursorFallbackRange.from)) ?? -1;
1499
1265
  const nextRangeEntity = {
1500
1266
  range: rangeToIndex(model.sheet, cursorFallbackRange),
1501
1267
  key: alignKey,
@@ -1503,7 +1269,7 @@ var createAlignActions = ({ model, state, stateAtom, registry, cursorFallbackRan
1503
1269
  };
1504
1270
  const currentState = registry.get(stateAtom);
1505
1271
  if (index < 0) {
1506
- Obj5.change(model.sheet, (obj) => {
1272
+ Obj3.update(model.sheet, (obj) => {
1507
1273
  obj.ranges?.push(nextRangeEntity);
1508
1274
  });
1509
1275
  registry.set(stateAtom, {
@@ -1511,7 +1277,7 @@ var createAlignActions = ({ model, state, stateAtom, registry, cursorFallbackRan
1511
1277
  [alignKey]: nextRangeEntity.value
1512
1278
  });
1513
1279
  } else if (model.sheet.ranges[index].value === nextRangeEntity.value) {
1514
- Obj5.change(model.sheet, (obj) => {
1280
+ Obj3.update(model.sheet, (obj) => {
1515
1281
  obj.ranges?.splice(index, 1);
1516
1282
  });
1517
1283
  registry.set(stateAtom, {
@@ -1519,7 +1285,7 @@ var createAlignActions = ({ model, state, stateAtom, registry, cursorFallbackRan
1519
1285
  [alignKey]: void 0
1520
1286
  });
1521
1287
  } else {
1522
- Obj5.change(model.sheet, (obj) => {
1288
+ Obj3.update(model.sheet, (obj) => {
1523
1289
  obj.ranges?.splice(index, 1, nextRangeEntity);
1524
1290
  });
1525
1291
  registry.set(stateAtom, {
@@ -1532,9 +1298,9 @@ var createAlignActions = ({ model, state, stateAtom, registry, cursorFallbackRan
1532
1298
  value: alignValue,
1533
1299
  checked: state[alignKey] === alignValue,
1534
1300
  label: [
1535
- `range value ${alignValue} label`,
1301
+ `range-value.${alignValue}.label`,
1536
1302
  {
1537
- ns: meta.id
1303
+ ns: meta2.id
1538
1304
  }
1539
1305
  ],
1540
1306
  icon,
@@ -1567,9 +1333,11 @@ var createAlign = (context) => {
1567
1333
  // src/components/SheetToolbar/style.ts
1568
1334
  import { RegistryContext as RegistryContext2 } from "@effect-atom/atom-react";
1569
1335
  import { useContext as useContext4, useEffect as useEffect5 } from "react";
1570
- import { inRange as inRange4 } from "@dxos/compute";
1571
- import { Obj as Obj6 } from "@dxos/echo";
1336
+ import { inRange as inRange3 } from "@dxos/compute-hyperformula";
1337
+ import { Obj as Obj4 } from "@dxos/echo";
1572
1338
  import { createMenuAction as createMenuAction2, createMenuItemGroup as createMenuItemGroup2 } from "@dxos/react-ui-menu";
1339
+ import { meta as meta3 } from "#meta";
1340
+ import { rangeFromIndex as rangeFromIndex3, rangeToIndex as rangeToIndex2 } from "#types";
1573
1341
  var styles = {
1574
1342
  highlight: "ph--highlighter--regular",
1575
1343
  softwrap: "ph--paragraph--regular"
@@ -1581,7 +1349,7 @@ var useStyleState = (stateAtom) => {
1581
1349
  let highlight = false;
1582
1350
  let softwrap = false;
1583
1351
  if (cursorFallbackRange && model.sheet.ranges) {
1584
- model.sheet.ranges.filter(({ range, key }) => key === "style" && inRange4(rangeFromIndex(model.sheet, range), cursorFallbackRange.from)).forEach(({ value }) => {
1352
+ model.sheet.ranges.filter(({ range, key }) => key === "style" && inRange3(rangeFromIndex3(model.sheet, range), cursorFallbackRange.from)).forEach(({ value }) => {
1585
1353
  if (value === "highlight") {
1586
1354
  highlight = true;
1587
1355
  }
@@ -1615,16 +1383,16 @@ var createStyleActions = ({ model, state, stateAtom, registry, cursorFallbackRan
1615
1383
  if (!cursorFallbackRange) {
1616
1384
  return;
1617
1385
  }
1618
- const index = model.sheet.ranges?.findIndex((range) => range.key === "style" && inRange4(rangeFromIndex(model.sheet, range.range), cursorFallbackRange.from)) ?? -1;
1386
+ const index = model.sheet.ranges?.findIndex((range) => range.key === "style" && inRange3(rangeFromIndex3(model.sheet, range.range), cursorFallbackRange.from)) ?? -1;
1619
1387
  const nextRangeEntity = {
1620
- range: rangeToIndex(model.sheet, cursorFallbackRange),
1388
+ range: rangeToIndex2(model.sheet, cursorFallbackRange),
1621
1389
  key: "style",
1622
1390
  value: styleValue
1623
1391
  };
1624
1392
  const currentState = registry.get(stateAtom);
1625
- if (model.sheet.ranges.filter(({ range, key: rangeKey }) => rangeKey === "style" && inRange4(rangeFromIndex(model.sheet, range), cursorFallbackRange.from)).some(({ value: rangeValue }) => rangeValue === styleValue)) {
1393
+ if (model.sheet.ranges.filter(({ range, key: rangeKey }) => rangeKey === "style" && inRange3(rangeFromIndex3(model.sheet, range), cursorFallbackRange.from)).some(({ value: rangeValue }) => rangeValue === styleValue)) {
1626
1394
  if (index >= 0) {
1627
- Obj6.change(model.sheet, (obj) => {
1395
+ Obj4.update(model.sheet, (obj) => {
1628
1396
  obj.ranges?.splice(index, 1);
1629
1397
  });
1630
1398
  }
@@ -1633,7 +1401,7 @@ var createStyleActions = ({ model, state, stateAtom, registry, cursorFallbackRan
1633
1401
  [nextRangeEntity.value]: false
1634
1402
  });
1635
1403
  } else {
1636
- Obj6.change(model.sheet, (obj) => {
1404
+ Obj4.update(model.sheet, (obj) => {
1637
1405
  obj.ranges?.push(nextRangeEntity);
1638
1406
  });
1639
1407
  registry.set(stateAtom, {
@@ -1646,9 +1414,9 @@ var createStyleActions = ({ model, state, stateAtom, registry, cursorFallbackRan
1646
1414
  value: styleValue,
1647
1415
  icon,
1648
1416
  label: [
1649
- `range value ${styleValue} label`,
1417
+ `range-value.${styleValue}.label`,
1650
1418
  {
1651
- ns: meta.id
1419
+ ns: meta3.id
1652
1420
  }
1653
1421
  ],
1654
1422
  checked: !!state[styleValue]
@@ -1679,9 +1447,9 @@ var createStyle = (context) => {
1679
1447
 
1680
1448
  // src/components/SheetToolbar/useToolbarState.ts
1681
1449
  import { Atom, RegistryContext as RegistryContext3, useAtomValue } from "@effect-atom/atom-react";
1682
- import { useContext as useContext5, useMemo as useMemo3 } from "react";
1450
+ import { useContext as useContext5, useMemo as useMemo2 } from "react";
1683
1451
  var useToolbarState = (initialState = {}) => {
1684
- return useMemo3(() => Atom.make(initialState).pipe(Atom.keepAlive), []);
1452
+ return useMemo2(() => Atom.make(initialState).pipe(Atom.keepAlive), []);
1685
1453
  };
1686
1454
 
1687
1455
  // src/components/SheetToolbar/SheetToolbar.tsx
@@ -1718,16 +1486,16 @@ var createToolbarActions = ({ model, stateAtom, registry, cursorFallbackRange, c
1718
1486
  return graph;
1719
1487
  });
1720
1488
  };
1721
- var SheetToolbar = ({ id, ...props }) => {
1722
- const { model, cursorFallbackRange } = useSheetContext();
1489
+ var SheetToolbar = composable3((props, forwardedRef) => {
1490
+ const { attendableId, model, cursorFallbackRange } = useSheetContext();
1723
1491
  const stateAtom = useToolbarState({});
1724
1492
  const registry = useContext6(RegistryContext4);
1725
1493
  useAlignState(stateAtom);
1726
1494
  useStyleState(stateAtom);
1727
1495
  const { graph } = useAppGraph();
1728
- const customActions = useMemo4(() => {
1496
+ const customActions = useMemo3(() => {
1729
1497
  return Atom2.make((get) => {
1730
- const actions = get(graph.actions(id));
1498
+ const actions = get(graph.actions(attendableId));
1731
1499
  const nodes = actions.filter((action) => action.properties.disposition === "toolbar");
1732
1500
  return {
1733
1501
  nodes,
@@ -1740,9 +1508,9 @@ var SheetToolbar = ({ id, ...props }) => {
1740
1508
  });
1741
1509
  }, [
1742
1510
  graph,
1743
- id
1511
+ attendableId
1744
1512
  ]);
1745
- const actionsCreator = useMemo4(() => createToolbarActions({
1513
+ const actionsCreator = useMemo3(() => createToolbarActions({
1746
1514
  model,
1747
1515
  stateAtom,
1748
1516
  registry,
@@ -1755,13 +1523,16 @@ var SheetToolbar = ({ id, ...props }) => {
1755
1523
  cursorFallbackRange,
1756
1524
  customActions
1757
1525
  ]);
1758
- const menu = useMenuActions(actionsCreator);
1526
+ const menuActions = useMenuActions(actionsCreator);
1759
1527
  return /* @__PURE__ */ React5.createElement(Menu.Root, {
1760
- ...props,
1761
- ...menu,
1762
- attendableId: id
1763
- }, /* @__PURE__ */ React5.createElement(Menu.Toolbar, null));
1764
- };
1528
+ ...menuActions,
1529
+ attendableId
1530
+ }, /* @__PURE__ */ React5.createElement(Menu.Toolbar, {
1531
+ ...composableProps3(props),
1532
+ ref: forwardedRef
1533
+ }));
1534
+ });
1535
+ SheetToolbar.displayName = "SheetToolbar";
1765
1536
 
1766
1537
  // src/components/Sheet/Sheet.tsx
1767
1538
  var Sheet = {
@@ -1770,36 +1541,11 @@ var Sheet = {
1770
1541
  Content: SheetContent,
1771
1542
  Statusbar: SheetStatusbar
1772
1543
  };
1773
-
1774
- // src/containers/SheetContainer/SheetContainer.tsx
1775
- var SheetContainer = ({ registry, ...props }) => /* @__PURE__ */ React6.createElement(ComputeGraphContextProvider, {
1776
- registry
1777
- }, /* @__PURE__ */ React6.createElement(SheetContainerInner, props));
1778
- var SheetContainerInner = ({ role, subject: sheet, space, ignoreAttention }) => {
1779
- const graph = useComputeGraph(space);
1780
- if (!graph) {
1781
- return null;
1782
- }
1783
- return /* @__PURE__ */ React6.createElement(Sheet.Root, {
1784
- graph,
1785
- sheet,
1786
- ignoreAttention
1787
- }, /* @__PURE__ */ React6.createElement(Panel.Root, {
1788
- classNames: role === "section" && "aspect-aquare"
1789
- }, /* @__PURE__ */ React6.createElement(Panel.Toolbar, {
1790
- asChild: true
1791
- }, /* @__PURE__ */ React6.createElement(Sheet.Toolbar, {
1792
- id: Obj7.getDXN(sheet).toString()
1793
- })), /* @__PURE__ */ React6.createElement(Panel.Content, {
1794
- asChild: true
1795
- }, /* @__PURE__ */ React6.createElement(Sheet.Content, null)), /* @__PURE__ */ React6.createElement(Panel.Statusbar, {
1796
- asChild: true
1797
- }, /* @__PURE__ */ React6.createElement(Sheet.Statusbar, null))));
1798
- };
1799
-
1800
- // src/containers/SheetContainer/index.ts
1801
- var SheetContainer_default = SheetContainer;
1802
1544
  export {
1803
- SheetContainer_default as default
1545
+ ComputeGraphContext,
1546
+ ComputeGraphContextProvider,
1547
+ Sheet,
1548
+ useComputeGraph,
1549
+ useSheetContext
1804
1550
  };
1805
- //# sourceMappingURL=SheetContainer-I3NFVVDQ.mjs.map
1551
+ //# sourceMappingURL=index.mjs.map