@dxos/plugin-sheet 0.6.11 → 0.6.12-main.15a606f

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 (260) hide show
  1. package/dist/lib/browser/SheetContainer-V4GCCZTX.mjs +261 -0
  2. package/dist/lib/browser/SheetContainer-V4GCCZTX.mjs.map +7 -0
  3. package/dist/lib/browser/{chunk-D5AGLXJP.mjs → chunk-6ZMQVB4Z.mjs} +359 -671
  4. package/dist/lib/browser/chunk-6ZMQVB4Z.mjs.map +7 -0
  5. package/dist/lib/browser/{chunk-JRL5LGCE.mjs → chunk-QILRZNE5.mjs} +2 -5
  6. package/dist/lib/browser/chunk-QILRZNE5.mjs.map +7 -0
  7. package/dist/lib/browser/{chunk-FUAGSXA4.mjs → chunk-T3NJFTD4.mjs} +8 -15
  8. package/dist/lib/browser/chunk-T3NJFTD4.mjs.map +7 -0
  9. package/dist/lib/browser/{SheetContainer-U4H5D34A.mjs → chunk-U2JHW3L6.mjs} +1020 -240
  10. package/dist/lib/browser/chunk-U2JHW3L6.mjs.map +7 -0
  11. package/dist/lib/browser/graph-T27BOBOV.mjs +21 -0
  12. package/dist/lib/browser/graph-T27BOBOV.mjs.map +7 -0
  13. package/dist/lib/browser/index.mjs +68 -56
  14. package/dist/lib/browser/index.mjs.map +3 -3
  15. package/dist/lib/browser/meta.json +1 -1
  16. package/dist/lib/browser/meta.mjs +1 -1
  17. package/dist/lib/browser/types.mjs +4 -6
  18. package/dist/lib/node/SheetContainer-3ZY7MPWJ.cjs +279 -0
  19. package/dist/lib/node/SheetContainer-3ZY7MPWJ.cjs.map +7 -0
  20. package/dist/lib/node/{chunk-BJ6ZD7MN.cjs → chunk-BNARJ5GM.cjs} +5 -18
  21. package/dist/lib/node/chunk-BNARJ5GM.cjs.map +7 -0
  22. package/dist/lib/node/{chunk-5KKJ4NPP.cjs → chunk-DD6FIXWC.cjs} +360 -667
  23. package/dist/lib/node/chunk-DD6FIXWC.cjs.map +7 -0
  24. package/dist/lib/node/{SheetContainer-AXQV3ZT5.cjs → chunk-OTTD7FBK.cjs} +1050 -279
  25. package/dist/lib/node/chunk-OTTD7FBK.cjs.map +7 -0
  26. package/dist/lib/node/{chunk-DSYKOI4E.cjs → chunk-Q3HBHPRL.cjs} +12 -20
  27. package/dist/lib/node/chunk-Q3HBHPRL.cjs.map +7 -0
  28. package/dist/lib/node/graph-SPKGX7W4.cjs +43 -0
  29. package/dist/lib/node/graph-SPKGX7W4.cjs.map +7 -0
  30. package/dist/lib/node/index.cjs +83 -64
  31. package/dist/lib/node/index.cjs.map +3 -3
  32. package/dist/lib/node/meta.cjs +3 -3
  33. package/dist/lib/node/meta.cjs.map +1 -1
  34. package/dist/lib/node/meta.json +1 -1
  35. package/dist/lib/node/types.cjs +10 -12
  36. package/dist/lib/node/types.cjs.map +2 -2
  37. package/dist/lib/node-esm/SheetContainer-PXSJX6XK.mjs +262 -0
  38. package/dist/lib/node-esm/SheetContainer-PXSJX6XK.mjs.map +7 -0
  39. package/dist/lib/node-esm/chunk-7HVSOTGA.mjs +2553 -0
  40. package/dist/lib/node-esm/chunk-7HVSOTGA.mjs.map +7 -0
  41. package/dist/lib/node-esm/chunk-BMNA27EX.mjs +76 -0
  42. package/dist/lib/node-esm/chunk-BMNA27EX.mjs.map +7 -0
  43. package/dist/lib/node-esm/chunk-D6KU5MI7.mjs +2925 -0
  44. package/dist/lib/node-esm/chunk-D6KU5MI7.mjs.map +7 -0
  45. package/dist/lib/node-esm/chunk-IU2L277A.mjs +17 -0
  46. package/dist/lib/node-esm/chunk-IU2L277A.mjs.map +7 -0
  47. package/dist/lib/node-esm/graph-U67IO4UC.mjs +22 -0
  48. package/dist/lib/node-esm/graph-U67IO4UC.mjs.map +7 -0
  49. package/dist/lib/node-esm/index.mjs +261 -0
  50. package/dist/lib/node-esm/index.mjs.map +7 -0
  51. package/dist/lib/node-esm/meta.json +1 -0
  52. package/dist/lib/node-esm/meta.mjs +10 -0
  53. package/dist/lib/node-esm/meta.mjs.map +7 -0
  54. package/dist/lib/node-esm/types.mjs +21 -0
  55. package/dist/lib/node-esm/types.mjs.map +7 -0
  56. package/dist/types/src/SheetPlugin.d.ts.map +1 -1
  57. package/dist/types/src/components/CellEditor/CellEditor.d.ts +23 -3
  58. package/dist/types/src/components/CellEditor/CellEditor.d.ts.map +1 -1
  59. package/dist/types/src/components/CellEditor/CellEditor.stories.d.ts +2 -2
  60. package/dist/types/src/components/CellEditor/CellEditor.stories.d.ts.map +1 -1
  61. package/dist/types/src/components/CellEditor/extension.d.ts +1 -1
  62. package/dist/types/src/components/CellEditor/extension.d.ts.map +1 -1
  63. package/dist/types/src/components/ComputeGraph/ComputeGraphContextProvider.d.ts +11 -0
  64. package/dist/types/src/components/ComputeGraph/ComputeGraphContextProvider.d.ts.map +1 -0
  65. package/dist/types/src/components/ComputeGraph/index.d.ts +1 -3
  66. package/dist/types/src/components/ComputeGraph/index.d.ts.map +1 -1
  67. package/dist/types/src/components/GridSheet/GridSheet.d.ts +10 -0
  68. package/dist/types/src/components/GridSheet/GridSheet.d.ts.map +1 -0
  69. package/dist/types/src/components/GridSheet/GridSheet.stories.d.ts +9 -0
  70. package/dist/types/src/components/GridSheet/GridSheet.stories.d.ts.map +1 -0
  71. package/dist/types/src/components/GridSheet/util.d.ts +6 -0
  72. package/dist/types/src/components/GridSheet/util.d.ts.map +1 -0
  73. package/dist/types/src/components/Sheet/Sheet.d.ts +1 -1
  74. package/dist/types/src/components/Sheet/Sheet.d.ts.map +1 -1
  75. package/dist/types/src/components/Sheet/Sheet.stories.d.ts +5 -6
  76. package/dist/types/src/components/Sheet/Sheet.stories.d.ts.map +1 -1
  77. package/dist/types/src/components/Sheet/decorations.d.ts +24 -0
  78. package/dist/types/src/components/Sheet/decorations.d.ts.map +1 -0
  79. package/dist/types/src/components/Sheet/grid.d.ts +2 -2
  80. package/dist/types/src/components/Sheet/grid.d.ts.map +1 -1
  81. package/dist/types/src/components/Sheet/nav.d.ts +3 -3
  82. package/dist/types/src/components/Sheet/nav.d.ts.map +1 -1
  83. package/dist/types/src/components/Sheet/sheet-context.d.ts +6 -5
  84. package/dist/types/src/components/Sheet/sheet-context.d.ts.map +1 -1
  85. package/dist/types/src/components/Sheet/threads.d.ts +2 -0
  86. package/dist/types/src/components/Sheet/threads.d.ts.map +1 -0
  87. package/dist/types/src/components/SheetContainer.d.ts +2 -3
  88. package/dist/types/src/components/SheetContainer.d.ts.map +1 -1
  89. package/dist/types/src/components/Toolbar/Toolbar.d.ts +19 -3
  90. package/dist/types/src/components/Toolbar/Toolbar.d.ts.map +1 -1
  91. package/dist/types/src/components/Toolbar/Toolbar.stories.d.ts +18 -13
  92. package/dist/types/src/components/Toolbar/Toolbar.stories.d.ts.map +1 -1
  93. package/dist/types/src/components/index.d.ts +2 -2
  94. package/dist/types/src/components/index.d.ts.map +1 -1
  95. package/dist/types/src/defs/index.d.ts +3 -0
  96. package/dist/types/src/defs/index.d.ts.map +1 -0
  97. package/dist/types/src/{model → defs}/types.d.ts +8 -3
  98. package/dist/types/src/defs/types.d.ts.map +1 -0
  99. package/dist/types/src/defs/types.test.d.ts.map +1 -0
  100. package/dist/types/src/defs/util.d.ts +43 -0
  101. package/dist/types/src/defs/util.d.ts.map +1 -0
  102. package/dist/types/src/extensions/compute.d.ts +5 -0
  103. package/dist/types/src/extensions/compute.d.ts.map +1 -0
  104. package/dist/types/src/extensions/compute.stories.d.ts +26 -0
  105. package/dist/types/src/extensions/compute.stories.d.ts.map +1 -0
  106. package/dist/types/src/extensions/index.d.ts +2 -0
  107. package/dist/types/src/extensions/index.d.ts.map +1 -0
  108. package/dist/types/src/{components/ComputeGraph → graph}/async-function.d.ts +1 -1
  109. package/dist/types/src/graph/async-function.d.ts.map +1 -0
  110. package/dist/types/src/graph/compute-graph.browser.test.d.ts +2 -0
  111. package/dist/types/src/graph/compute-graph.browser.test.d.ts.map +1 -0
  112. package/dist/types/src/graph/compute-graph.d.ts +81 -0
  113. package/dist/types/src/graph/compute-graph.d.ts.map +1 -0
  114. package/dist/types/src/graph/compute-graph.stories.d.ts +10 -0
  115. package/dist/types/src/graph/compute-graph.stories.d.ts.map +1 -0
  116. package/dist/types/src/graph/compute-node.d.ts +19 -0
  117. package/dist/types/src/graph/compute-node.d.ts.map +1 -0
  118. package/dist/types/src/{components/ComputeGraph/custom.d.ts → graph/custom-function.d.ts} +1 -1
  119. package/dist/types/src/graph/custom-function.d.ts.map +1 -0
  120. package/dist/types/src/graph/edge-function.d.ts.map +1 -0
  121. package/dist/types/src/{model/functions.d.ts → graph/function-defs.d.ts} +1 -1
  122. package/dist/types/src/graph/function-defs.d.ts.map +1 -0
  123. package/dist/types/src/graph/hyperformula.test.d.ts +2 -0
  124. package/dist/types/src/graph/hyperformula.test.d.ts.map +1 -0
  125. package/dist/types/src/graph/index.d.ts +4 -0
  126. package/dist/types/src/graph/index.d.ts.map +1 -0
  127. package/dist/types/src/graph/util.d.ts +2 -0
  128. package/dist/types/src/graph/util.d.ts.map +1 -0
  129. package/dist/types/src/hooks/hooks.stories.d.ts +11 -0
  130. package/dist/types/src/hooks/hooks.stories.d.ts.map +1 -0
  131. package/dist/types/src/hooks/index.d.ts +4 -0
  132. package/dist/types/src/hooks/index.d.ts.map +1 -0
  133. package/dist/types/src/hooks/useComputeGraph.d.ts +7 -0
  134. package/dist/types/src/hooks/useComputeGraph.d.ts.map +1 -0
  135. package/dist/types/src/hooks/useFormattingModel.d.ts +3 -0
  136. package/dist/types/src/hooks/useFormattingModel.d.ts.map +1 -0
  137. package/dist/types/src/hooks/useSheetModel.d.ts +8 -0
  138. package/dist/types/src/hooks/useSheetModel.d.ts.map +1 -0
  139. package/dist/types/src/meta.d.ts +1 -4
  140. package/dist/types/src/meta.d.ts.map +1 -1
  141. package/dist/types/src/model/formatting-model.d.ts +16 -0
  142. package/dist/types/src/model/formatting-model.d.ts.map +1 -0
  143. package/dist/types/src/model/index.d.ts +2 -3
  144. package/dist/types/src/model/index.d.ts.map +1 -1
  145. package/dist/types/src/model/{model.d.ts → sheet-model.d.ts} +9 -64
  146. package/dist/types/src/model/sheet-model.d.ts.map +1 -0
  147. package/dist/types/src/sanity.test.d.ts +2 -0
  148. package/dist/types/src/sanity.test.d.ts.map +1 -0
  149. package/dist/types/src/testing/index.d.ts +2 -0
  150. package/dist/types/src/testing/index.d.ts.map +1 -0
  151. package/dist/types/src/testing/testing.d.ts +9 -0
  152. package/dist/types/src/testing/testing.d.ts.map +1 -0
  153. package/dist/types/src/translations.d.ts +17 -12
  154. package/dist/types/src/translations.d.ts.map +1 -1
  155. package/dist/types/src/types.d.ts +83 -3
  156. package/dist/types/src/types.d.ts.map +1 -1
  157. package/dist/vendor/hyperformula.mjs +37145 -0
  158. package/package.json +48 -41
  159. package/src/SheetPlugin.tsx +43 -70
  160. package/src/components/CellEditor/CellEditor.stories.tsx +4 -3
  161. package/src/components/CellEditor/CellEditor.tsx +59 -9
  162. package/src/components/CellEditor/extension.test.ts +4 -5
  163. package/src/components/CellEditor/extension.ts +1 -3
  164. package/src/components/ComputeGraph/ComputeGraphContextProvider.tsx +20 -0
  165. package/src/components/ComputeGraph/index.ts +1 -3
  166. package/src/components/GridSheet/GridSheet.stories.tsx +35 -0
  167. package/src/components/GridSheet/GridSheet.tsx +153 -0
  168. package/src/components/GridSheet/util.ts +89 -0
  169. package/src/components/Sheet/Sheet.stories.tsx +45 -82
  170. package/src/components/Sheet/Sheet.tsx +57 -18
  171. package/src/components/Sheet/decorations.ts +62 -0
  172. package/src/components/Sheet/grid.ts +3 -3
  173. package/src/components/Sheet/nav.ts +19 -19
  174. package/src/components/Sheet/sheet-context.tsx +16 -78
  175. package/src/components/Sheet/threads.tsx +205 -0
  176. package/src/components/SheetContainer.tsx +73 -19
  177. package/src/components/Toolbar/Toolbar.tsx +53 -12
  178. package/src/components/index.ts +1 -0
  179. package/src/defs/index.ts +6 -0
  180. package/src/{model → defs}/types.test.ts +8 -9
  181. package/src/{model → defs}/types.ts +23 -14
  182. package/src/defs/util.ts +135 -0
  183. package/src/extensions/compute.stories.tsx +151 -0
  184. package/src/extensions/compute.ts +98 -0
  185. package/src/extensions/index.ts +5 -0
  186. package/src/{components/ComputeGraph → graph}/async-function.ts +3 -1
  187. package/src/graph/compute-graph.browser.test.ts +104 -0
  188. package/src/graph/compute-graph.stories.tsx +92 -0
  189. package/src/graph/compute-graph.ts +290 -0
  190. package/src/graph/compute-node.ts +51 -0
  191. package/src/{components/ComputeGraph/custom.ts → graph/custom-function.ts} +2 -6
  192. package/src/{components/ComputeGraph → graph}/edge-function.ts +2 -1
  193. package/src/graph/hyperformula.test.ts +15 -0
  194. package/src/graph/index.ts +7 -0
  195. package/src/graph/util.ts +8 -0
  196. package/src/hooks/hooks.stories.tsx +50 -0
  197. package/src/hooks/index.ts +7 -0
  198. package/src/hooks/useComputeGraph.ts +20 -0
  199. package/src/hooks/useFormattingModel.ts +11 -0
  200. package/src/hooks/useSheetModel.ts +43 -0
  201. package/src/meta.tsx +1 -5
  202. package/src/{components/Sheet/formatting.ts → model/formatting-model.ts} +20 -13
  203. package/src/model/index.ts +2 -3
  204. package/src/model/sheet-model.ts +399 -0
  205. package/src/sanity.test.ts +40 -0
  206. package/src/testing/index.ts +5 -0
  207. package/src/testing/testing.tsx +66 -0
  208. package/src/translations.ts +6 -1
  209. package/src/types.ts +30 -5
  210. package/dist/lib/browser/SheetContainer-U4H5D34A.mjs.map +0 -7
  211. package/dist/lib/browser/chunk-APHOLYUB.mjs +0 -175
  212. package/dist/lib/browser/chunk-APHOLYUB.mjs.map +0 -7
  213. package/dist/lib/browser/chunk-D5AGLXJP.mjs.map +0 -7
  214. package/dist/lib/browser/chunk-FUAGSXA4.mjs.map +0 -7
  215. package/dist/lib/browser/chunk-JRL5LGCE.mjs.map +0 -7
  216. package/dist/lib/browser/chunk-NU4PBN33.mjs +0 -8
  217. package/dist/lib/browser/chunk-NU4PBN33.mjs.map +0 -7
  218. package/dist/lib/browser/testing.mjs +0 -92
  219. package/dist/lib/browser/testing.mjs.map +0 -7
  220. package/dist/lib/node/SheetContainer-AXQV3ZT5.cjs.map +0 -7
  221. package/dist/lib/node/chunk-5KKJ4NPP.cjs.map +0 -7
  222. package/dist/lib/node/chunk-BJ6ZD7MN.cjs.map +0 -7
  223. package/dist/lib/node/chunk-CN3RPESU.cjs +0 -202
  224. package/dist/lib/node/chunk-CN3RPESU.cjs.map +0 -7
  225. package/dist/lib/node/chunk-DSYKOI4E.cjs.map +0 -7
  226. package/dist/lib/node/chunk-PYXHNAAK.cjs +0 -40
  227. package/dist/lib/node/chunk-PYXHNAAK.cjs.map +0 -7
  228. package/dist/lib/node/testing.cjs +0 -111
  229. package/dist/lib/node/testing.cjs.map +0 -7
  230. package/dist/types/src/components/ComputeGraph/async-function.d.ts.map +0 -1
  231. package/dist/types/src/components/ComputeGraph/custom.d.ts.map +0 -1
  232. package/dist/types/src/components/ComputeGraph/edge-function.d.ts.map +0 -1
  233. package/dist/types/src/components/ComputeGraph/graph-context.d.ts +0 -12
  234. package/dist/types/src/components/ComputeGraph/graph-context.d.ts.map +0 -1
  235. package/dist/types/src/components/ComputeGraph/graph.browser.test.d.ts +0 -2
  236. package/dist/types/src/components/ComputeGraph/graph.browser.test.d.ts.map +0 -1
  237. package/dist/types/src/components/ComputeGraph/graph.d.ts +0 -26
  238. package/dist/types/src/components/ComputeGraph/graph.d.ts.map +0 -1
  239. package/dist/types/src/components/Sheet/formatting.d.ts +0 -14
  240. package/dist/types/src/components/Sheet/formatting.d.ts.map +0 -1
  241. package/dist/types/src/model/functions.d.ts.map +0 -1
  242. package/dist/types/src/model/model.browser.test.d.ts +0 -2
  243. package/dist/types/src/model/model.browser.test.d.ts.map +0 -1
  244. package/dist/types/src/model/model.d.ts.map +0 -1
  245. package/dist/types/src/model/types.d.ts.map +0 -1
  246. package/dist/types/src/model/types.test.d.ts.map +0 -1
  247. package/dist/types/src/model/util.d.ts +0 -15
  248. package/dist/types/src/model/util.d.ts.map +0 -1
  249. package/dist/types/src/testing.d.ts +0 -9
  250. package/dist/types/src/testing.d.ts.map +0 -1
  251. package/src/components/ComputeGraph/graph-context.tsx +0 -50
  252. package/src/components/ComputeGraph/graph.browser.test.ts +0 -50
  253. package/src/components/ComputeGraph/graph.ts +0 -62
  254. package/src/model/model.browser.test.ts +0 -100
  255. package/src/model/model.ts +0 -550
  256. package/src/model/util.ts +0 -36
  257. package/src/testing.ts +0 -50
  258. /package/dist/types/src/{model → defs}/types.test.d.ts +0 -0
  259. /package/dist/types/src/{components/ComputeGraph → graph}/edge-function.d.ts +0 -0
  260. /package/src/{model/functions.ts → graph/function-defs.ts} +0 -0
@@ -0,0 +1,279 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var SheetContainer_3ZY7MPWJ_exports = {};
30
+ __export(SheetContainer_3ZY7MPWJ_exports, {
31
+ default: () => SheetContainer_default,
32
+ sectionToolbarLayout: () => sectionToolbarLayout
33
+ });
34
+ module.exports = __toCommonJS(SheetContainer_3ZY7MPWJ_exports);
35
+ var import_chunk_OTTD7FBK = require("./chunk-OTTD7FBK.cjs");
36
+ var import_chunk_Q3HBHPRL = require("./chunk-Q3HBHPRL.cjs");
37
+ var import_chunk_BNARJ5GM = require("./chunk-BNARJ5GM.cjs");
38
+ var import_chunk_DD6FIXWC = require("./chunk-DD6FIXWC.cjs");
39
+ var import_react = __toESM(require("react"));
40
+ var import_app_framework = require("@dxos/app-framework");
41
+ var import_echo = require("@dxos/react-client/echo");
42
+ var import_react_ui_attention = require("@dxos/react-ui-attention");
43
+ var import_react_ui_theme = require("@dxos/react-ui-theme");
44
+ var import_react2 = require("@phosphor-icons/react");
45
+ var import_react_context = require("@radix-ui/react-context");
46
+ var import_react3 = __toESM(require("react"));
47
+ var import_react_ui = require("@dxos/react-ui");
48
+ var import_util = require("@dxos/util");
49
+ var import_react4 = __toESM(require("react"));
50
+ var import_react_ui2 = require("@dxos/react-ui");
51
+ var import_react_ui_theme2 = require("@dxos/react-ui-theme");
52
+ var iconStyles = (0, import_react_ui_theme2.getSize)(5);
53
+ var buttonStyles = "min-bs-0 p-2";
54
+ var tooltipProps = {
55
+ side: "top",
56
+ classNames: "z-10"
57
+ };
58
+ var ToolbarSeparator = () => /* @__PURE__ */ import_react4.default.createElement("div", {
59
+ role: "separator",
60
+ className: "grow"
61
+ });
62
+ var ToolbarButton = ({ Icon, children, ...props }) => {
63
+ return /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.Tooltip.Root, null, /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.Tooltip.Trigger, {
64
+ asChild: true
65
+ }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.Toolbar.Button, {
66
+ variant: "ghost",
67
+ ...props,
68
+ classNames: buttonStyles
69
+ }, /* @__PURE__ */ import_react4.default.createElement(Icon, {
70
+ className: iconStyles
71
+ }), /* @__PURE__ */ import_react4.default.createElement("span", {
72
+ className: "sr-only"
73
+ }, children))), /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.Tooltip.Portal, null, /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.Tooltip.Content, tooltipProps, children, /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.Tooltip.Arrow, null))));
74
+ };
75
+ var ToolbarToggleButton = ({ Icon, children, ...props }) => {
76
+ return /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.Tooltip.Root, null, /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.Tooltip.Trigger, {
77
+ asChild: true
78
+ }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.Toolbar.ToggleGroupItem, {
79
+ variant: "ghost",
80
+ ...props,
81
+ classNames: buttonStyles
82
+ }, /* @__PURE__ */ import_react4.default.createElement(Icon, {
83
+ className: iconStyles
84
+ }), /* @__PURE__ */ import_react4.default.createElement("span", {
85
+ className: "sr-only"
86
+ }, children))), /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.Tooltip.Portal, null, /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.Tooltip.Content, tooltipProps, children, /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.Tooltip.Arrow, null))));
87
+ };
88
+ var [ToolbarContextProvider, useToolbarContext] = (0, import_react_context.createContext)("Toolbar");
89
+ var ToolbarRoot = ({ children, onAction, classNames }) => {
90
+ return /* @__PURE__ */ import_react3.default.createElement(ToolbarContextProvider, {
91
+ onAction
92
+ }, /* @__PURE__ */ import_react3.default.createElement(import_react_ui.DensityProvider, {
93
+ density: "fine"
94
+ }, /* @__PURE__ */ import_react3.default.createElement(import_react_ui.ElevationProvider, {
95
+ elevation: "chrome"
96
+ }, /* @__PURE__ */ import_react3.default.createElement(import_react_ui.Toolbar.Root, {
97
+ classNames: [
98
+ "is-full shrink-0 overflow-x-auto overflow-y-hidden p-1",
99
+ classNames
100
+ ]
101
+ }, children))));
102
+ };
103
+ var formatOptions = [
104
+ {
105
+ type: "date",
106
+ Icon: import_react2.Calendar,
107
+ getState: (state) => false
108
+ },
109
+ {
110
+ type: "currency",
111
+ Icon: import_react2.CurrencyDollar,
112
+ getState: (state) => false
113
+ }
114
+ ];
115
+ var Format = () => {
116
+ const { onAction } = useToolbarContext("Format");
117
+ const { t } = (0, import_react_ui.useTranslation)(import_chunk_BNARJ5GM.SHEET_PLUGIN);
118
+ return /* @__PURE__ */ import_react3.default.createElement(import_react_ui.Toolbar.ToggleGroup, {
119
+ type: "single"
120
+ }, formatOptions.map(({ type, getState, Icon }) => /* @__PURE__ */ import_react3.default.createElement(ToolbarToggleButton, {
121
+ key: type,
122
+ value: type,
123
+ Icon,
124
+ // disabled={state?.blockType === 'codeblock'}
125
+ // onClick={state ? () => onAction?.({ type, data: !getState(state) }) : undefined}
126
+ onClick: () => onAction?.({
127
+ type
128
+ })
129
+ }, t(`toolbar ${type} label`))));
130
+ };
131
+ var alignmentOptions = [
132
+ {
133
+ type: "left",
134
+ Icon: import_react2.TextAlignLeft,
135
+ getState: (state) => false
136
+ },
137
+ {
138
+ type: "center",
139
+ Icon: import_react2.TextAlignCenter,
140
+ getState: (state) => false
141
+ },
142
+ {
143
+ type: "right",
144
+ Icon: import_react2.TextAlignRight,
145
+ getState: (state) => false
146
+ }
147
+ ];
148
+ var Alignment = () => {
149
+ const { onAction } = useToolbarContext("Alignment");
150
+ const { t } = (0, import_react_ui.useTranslation)(import_chunk_BNARJ5GM.SHEET_PLUGIN);
151
+ return /* @__PURE__ */ import_react3.default.createElement(import_react_ui.Toolbar.ToggleGroup, {
152
+ type: "single"
153
+ }, alignmentOptions.map(({ type, getState, Icon }) => /* @__PURE__ */ import_react3.default.createElement(ToolbarToggleButton, {
154
+ key: type,
155
+ value: type,
156
+ Icon,
157
+ // disabled={state?.blockType === 'codeblock'}
158
+ // onClick={state ? () => onAction?.({ type, data: !getState(state) }) : undefined}
159
+ onClick: () => onAction?.({
160
+ type
161
+ })
162
+ }, t(`toolbar ${type} label`))));
163
+ };
164
+ var styleOptions = [
165
+ {
166
+ type: "clear",
167
+ Icon: import_react2.Eraser,
168
+ getState: (state) => false
169
+ },
170
+ {
171
+ type: "highlight",
172
+ Icon: import_react2.HighlighterCircle,
173
+ getState: (state) => false
174
+ }
175
+ ];
176
+ var Styles = () => {
177
+ const { onAction } = useToolbarContext("Alignment");
178
+ const { t } = (0, import_react_ui.useTranslation)(import_chunk_BNARJ5GM.SHEET_PLUGIN);
179
+ return /* @__PURE__ */ import_react3.default.createElement(import_react_ui.Toolbar.ToggleGroup, {
180
+ type: "single"
181
+ }, styleOptions.map(({ type, getState, Icon }) => /* @__PURE__ */ import_react3.default.createElement(ToolbarToggleButton, {
182
+ key: type,
183
+ value: type,
184
+ Icon,
185
+ // disabled={state?.blockType === 'codeblock'}
186
+ // onClick={state ? () => onAction?.({ type, data: !getState(state) }) : undefined}
187
+ onClick: () => onAction?.({
188
+ type
189
+ })
190
+ }, t(`toolbar ${type} label`))));
191
+ };
192
+ var Actions = () => {
193
+ const { onAction } = useToolbarContext("Actions");
194
+ const { cursor, range, model } = (0, import_chunk_OTTD7FBK.useSheetContext)();
195
+ const { t } = (0, import_react_ui.useTranslation)(import_chunk_BNARJ5GM.SHEET_PLUGIN);
196
+ const overlapsCommentAnchor = (model.sheet.threads ?? []).filter(import_util.nonNullable).filter((thread) => thread.status !== "resolved").some((thread) => {
197
+ if (!cursor) {
198
+ return false;
199
+ }
200
+ return (0, import_chunk_OTTD7FBK.addressToIndex)(model.sheet, cursor) === thread.anchor;
201
+ });
202
+ const hasCursor = !!cursor;
203
+ const cursorOnly = hasCursor && !range && !overlapsCommentAnchor;
204
+ const tooltipLabelKey = !hasCursor ? "no cursor label" : overlapsCommentAnchor ? "selection overlaps existing comment label" : range ? "comment ranges not supported label" : "comment label";
205
+ return /* @__PURE__ */ import_react3.default.createElement(ToolbarButton, {
206
+ value: "comment",
207
+ Icon: import_react2.ChatText,
208
+ "data-testid": "editor.toolbar.comment",
209
+ onClick: () => {
210
+ if (!cursor) {
211
+ return;
212
+ }
213
+ return onAction?.({
214
+ type: "comment",
215
+ anchor: (0, import_chunk_OTTD7FBK.addressToIndex)(model.sheet, cursor),
216
+ cellContent: model.getCellText(cursor)
217
+ });
218
+ },
219
+ disabled: !cursorOnly || overlapsCommentAnchor
220
+ }, t(tooltipLabelKey));
221
+ };
222
+ var Toolbar = {
223
+ Root: ToolbarRoot,
224
+ Separator: ToolbarSeparator,
225
+ Alignment,
226
+ Format,
227
+ Styles,
228
+ Actions
229
+ };
230
+ var attentionFragment = (0, import_react_ui_theme.mx)("group-focus-within/editor:attention-surface group-[[aria-current]]/editor:attention-surface", "group-focus-within/editor:border-separator");
231
+ var sectionToolbarLayout = "bs-[--rail-action] bg-[--sticky-bg] sticky block-start-0 __-block-start-px transition-opacity";
232
+ var SheetContainer = ({ sheet, space, role }) => {
233
+ const dispatch = (0, import_app_framework.useIntentDispatcher)();
234
+ const id = (0, import_echo.fullyQualifiedId)(sheet);
235
+ const isDirectlyAttended = (0, import_react_ui_attention.useIsDirectlyAttended)(id);
236
+ const handleAction = (0, import_react.useCallback)((action) => {
237
+ switch (action.type) {
238
+ case "comment": {
239
+ void dispatch({
240
+ action: "dxos.org/plugin/thread/action/create",
241
+ data: {
242
+ cursor: action.anchor,
243
+ name: action.cellContent,
244
+ subject: sheet
245
+ }
246
+ });
247
+ }
248
+ }
249
+ }, [
250
+ sheet,
251
+ dispatch
252
+ ]);
253
+ return /* @__PURE__ */ import_react.default.createElement("div", {
254
+ role: "none",
255
+ className: role === "article" ? "row-span-2 grid grid-rows-subgrid" : void 0
256
+ }, /* @__PURE__ */ import_react.default.createElement(import_chunk_OTTD7FBK.Sheet.Root, {
257
+ space,
258
+ sheet
259
+ }, /* @__PURE__ */ import_react.default.createElement("div", {
260
+ role: "none",
261
+ className: (0, import_react_ui_theme.mx)("flex flex-0 justify-center overflow-x-auto")
262
+ }, /* @__PURE__ */ import_react.default.createElement(Toolbar.Root, {
263
+ onAction: handleAction,
264
+ classNames: (0, import_react_ui_theme.mx)(role === "section" ? [
265
+ "z-[2] group-focus-within/section:visible",
266
+ !isDirectlyAttended && "invisible",
267
+ sectionToolbarLayout
268
+ ] : "group-focus-within/editor:border-separator group-[[aria-current]]/editor:border-separator")
269
+ }, /* @__PURE__ */ import_react.default.createElement(Toolbar.Separator, null), /* @__PURE__ */ import_react.default.createElement(Toolbar.Actions, null))), /* @__PURE__ */ import_react.default.createElement("div", {
270
+ role: "none",
271
+ className: (0, import_react_ui_theme.mx)(role === "section" && "aspect-square border-is border-bs border-be border-separator", role === "article" && "flex is-full overflow-hidden focus-visible:ring-inset row-span-1 data-[toolbar=disabled]:pbs-2 data-[toolbar=disabled]:row-span-2 border-bs border-separator", import_react_ui_theme.focusRing, attentionFragment)
272
+ }, /* @__PURE__ */ import_react.default.createElement(import_chunk_OTTD7FBK.Sheet.Main, null))));
273
+ };
274
+ var SheetContainer_default = SheetContainer;
275
+ // Annotate the CommonJS export names for ESM import in node:
276
+ 0 && (module.exports = {
277
+ sectionToolbarLayout
278
+ });
279
+ //# sourceMappingURL=SheetContainer-3ZY7MPWJ.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/SheetContainer.tsx", "../../../src/components/Toolbar/Toolbar.tsx", "../../../src/components/Toolbar/common.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { useCallback } from 'react';\n\nimport { useIntentDispatcher } from '@dxos/app-framework';\nimport { fullyQualifiedId } from '@dxos/react-client/echo';\nimport { useIsDirectlyAttended } from '@dxos/react-ui-attention';\nimport { focusRing, mx } from '@dxos/react-ui-theme';\n\nimport { Sheet, type SheetRootProps } from './Sheet';\nimport { Toolbar, type ToolbarAction } from './Toolbar';\n\n// TODO(Zan): Factor out, copied this from MarkdownPlugin.\nconst attentionFragment = mx(\n 'group-focus-within/editor:attention-surface group-[[aria-current]]/editor:attention-surface',\n 'group-focus-within/editor:border-separator',\n);\n\n// TODO(Zan): Factor out, copied this from MarkdownPlugin.\nexport const sectionToolbarLayout =\n 'bs-[--rail-action] bg-[--sticky-bg] sticky block-start-0 __-block-start-px transition-opacity';\n\nconst SheetContainer = ({ sheet, space, role }: SheetRootProps & { role?: string }) => {\n const dispatch = useIntentDispatcher();\n\n const id = fullyQualifiedId(sheet);\n const isDirectlyAttended = useIsDirectlyAttended(id);\n\n // TODO(Zan): Centralise the toolbar action handler. Current implementation in stories.\n const handleAction = useCallback(\n (action: ToolbarAction) => {\n switch (action.type) {\n case 'comment': {\n // TODO(Zan): We shouldn't hardcode the action ID.\n void dispatch({\n action: 'dxos.org/plugin/thread/action/create',\n data: {\n cursor: action.anchor,\n name: action.cellContent,\n subject: sheet,\n },\n });\n }\n }\n },\n [sheet, dispatch],\n );\n\n return (\n <div role='none' className={role === 'article' ? 'row-span-2 grid grid-rows-subgrid' : undefined}>\n <Sheet.Root space={space} sheet={sheet}>\n <div role='none' className={mx('flex flex-0 justify-center overflow-x-auto')}>\n <Toolbar.Root\n onAction={handleAction}\n classNames={mx(\n role === 'section'\n ? ['z-[2] group-focus-within/section:visible', !isDirectlyAttended && 'invisible', sectionToolbarLayout]\n : 'group-focus-within/editor:border-separator group-[[aria-current]]/editor:border-separator',\n )}\n >\n {/* TODO(Zan): Restore some of this functionality */}\n {/* <Toolbar.Styles /> */}\n {/* <Toolbar.Format /> */}\n {/* <Toolbar.Alignment /> */}\n <Toolbar.Separator />\n <Toolbar.Actions />\n </Toolbar.Root>\n </div>\n <div\n role='none'\n className={mx(\n role === 'section' && 'aspect-square border-is border-bs border-be border-separator',\n role === 'article' &&\n 'flex is-full overflow-hidden focus-visible:ring-inset row-span-1 data-[toolbar=disabled]:pbs-2 data-[toolbar=disabled]:row-span-2 border-bs border-separator',\n focusRing,\n attentionFragment,\n )}\n >\n <Sheet.Main />\n </div>\n </Sheet.Root>\n </div>\n );\n};\n\nexport default SheetContainer;\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport {\n type Icon,\n Calendar,\n ChatText,\n CurrencyDollar,\n Eraser,\n HighlighterCircle,\n TextAlignCenter,\n TextAlignLeft,\n TextAlignRight,\n} from '@phosphor-icons/react';\nimport { createContext } from '@radix-ui/react-context';\nimport React, { type PropsWithChildren } from 'react';\n\nimport {\n DensityProvider,\n ElevationProvider,\n Toolbar as NaturalToolbar,\n type ThemedClassName,\n useTranslation,\n} from '@dxos/react-ui';\nimport { nonNullable } from '@dxos/util';\n\nimport { ToolbarButton, ToolbarSeparator, ToolbarToggleButton } from './common';\nimport { addressToIndex } from '../../defs';\nimport { SHEET_PLUGIN } from '../../meta';\nimport { type Formatting } from '../../types';\nimport { useSheetContext } from '../Sheet/sheet-context';\n\n//\n// Root\n//\n\nexport type ToolbarAction =\n | { type: 'clear' }\n | { type: 'highlight' }\n | { type: 'left' }\n | { type: 'center' }\n | { type: 'right' }\n | { type: 'date' }\n | { type: 'currency' }\n | { type: 'comment'; anchor: string; cellContent?: string };\n\nexport type ToolbarActionType = ToolbarAction['type'];\n\nexport type ToolbarActionHandler = (action: ToolbarAction) => void;\n\nexport type ToolbarProps = ThemedClassName<\n PropsWithChildren<{\n onAction?: ToolbarActionHandler;\n }>\n>;\n\nconst [ToolbarContextProvider, useToolbarContext] = createContext<ToolbarProps>('Toolbar');\n\nconst ToolbarRoot = ({ children, onAction, classNames }: ToolbarProps) => {\n return (\n <ToolbarContextProvider onAction={onAction}>\n <DensityProvider density='fine'>\n <ElevationProvider elevation='chrome'>\n <NaturalToolbar.Root classNames={['is-full shrink-0 overflow-x-auto overflow-y-hidden p-1', classNames]}>\n {children}\n </NaturalToolbar.Root>\n </ElevationProvider>\n </DensityProvider>\n </ToolbarContextProvider>\n );\n};\n\n// TODO(burdon): Generalize.\n// TODO(burdon): Detect and display current state.\ntype ButtonProps = {\n type: ToolbarActionType;\n Icon: Icon;\n getState: (state: Formatting) => boolean;\n disabled?: (state: Formatting) => boolean;\n};\n\n//\n// Alignment\n//\n\nconst formatOptions: ButtonProps[] = [\n { type: 'date', Icon: Calendar, getState: (state) => false },\n { type: 'currency', Icon: CurrencyDollar, getState: (state) => false },\n];\n\nconst Format = () => {\n const { onAction } = useToolbarContext('Format');\n const { t } = useTranslation(SHEET_PLUGIN);\n\n return (\n <NaturalToolbar.ToggleGroup\n type='single'\n // value={cellStyles.filter(({ getState }) => state && getState(state)).map(({ type }) => type)}\n >\n {formatOptions.map(({ type, getState, Icon }) => (\n <ToolbarToggleButton\n key={type}\n value={type}\n Icon={Icon}\n // disabled={state?.blockType === 'codeblock'}\n // onClick={state ? () => onAction?.({ type, data: !getState(state) }) : undefined}\n onClick={() => onAction?.({ type: type as Exclude<typeof type, 'comment'> })}\n >\n {t(`toolbar ${type} label`)}\n </ToolbarToggleButton>\n ))}\n </NaturalToolbar.ToggleGroup>\n );\n};\n\nconst alignmentOptions: ButtonProps[] = [\n { type: 'left', Icon: TextAlignLeft, getState: (state) => false },\n { type: 'center', Icon: TextAlignCenter, getState: (state) => false },\n { type: 'right', Icon: TextAlignRight, getState: (state) => false },\n];\n\nconst Alignment = () => {\n const { onAction } = useToolbarContext('Alignment');\n const { t } = useTranslation(SHEET_PLUGIN);\n\n return (\n <NaturalToolbar.ToggleGroup\n type='single'\n // value={cellStyles.filter(({ getState }) => state && getState(state)).map(({ type }) => type)}\n >\n {alignmentOptions.map(({ type, getState, Icon }) => (\n <ToolbarToggleButton\n key={type}\n value={type}\n Icon={Icon}\n // disabled={state?.blockType === 'codeblock'}\n // onClick={state ? () => onAction?.({ type, data: !getState(state) }) : undefined}\n onClick={() => onAction?.({ type: type as Exclude<typeof type, 'comment'> })}\n >\n {t(`toolbar ${type} label`)}\n </ToolbarToggleButton>\n ))}\n </NaturalToolbar.ToggleGroup>\n );\n};\n\nconst styleOptions: ButtonProps[] = [\n { type: 'clear', Icon: Eraser, getState: (state) => false },\n { type: 'highlight', Icon: HighlighterCircle, getState: (state) => false },\n];\n\nconst Styles = () => {\n const { onAction } = useToolbarContext('Alignment');\n const { t } = useTranslation(SHEET_PLUGIN);\n\n return (\n <NaturalToolbar.ToggleGroup\n type='single'\n // value={cellStyles.filter(({ getState }) => state && getState(state)).map(({ type }) => type)}\n >\n {styleOptions.map(({ type, getState, Icon }) => (\n <ToolbarToggleButton\n key={type}\n value={type}\n Icon={Icon}\n // disabled={state?.blockType === 'codeblock'}\n // onClick={state ? () => onAction?.({ type, data: !getState(state) }) : undefined}\n onClick={() => onAction?.({ type: type as Exclude<typeof type, 'comment'> })}\n >\n {t(`toolbar ${type} label`)}\n </ToolbarToggleButton>\n ))}\n </NaturalToolbar.ToggleGroup>\n );\n};\n\n//\n// Actions\n//\n\nconst Actions = () => {\n const { onAction } = useToolbarContext('Actions');\n const { cursor, range, model } = useSheetContext();\n const { t } = useTranslation(SHEET_PLUGIN);\n\n const overlapsCommentAnchor = (model.sheet.threads ?? [])\n .filter(nonNullable)\n .filter((thread) => thread.status !== 'resolved')\n .some((thread) => {\n if (!cursor) {\n return false;\n }\n return addressToIndex(model.sheet, cursor) === thread.anchor;\n });\n\n const hasCursor = !!cursor;\n const cursorOnly = hasCursor && !range && !overlapsCommentAnchor;\n\n const tooltipLabelKey = !hasCursor\n ? 'no cursor label'\n : overlapsCommentAnchor\n ? 'selection overlaps existing comment label'\n : range\n ? 'comment ranges not supported label'\n : 'comment label';\n\n return (\n <ToolbarButton\n value='comment'\n Icon={ChatText}\n data-testid='editor.toolbar.comment'\n onClick={() => {\n if (!cursor) {\n return;\n }\n return onAction?.({\n type: 'comment',\n anchor: addressToIndex(model.sheet, cursor),\n cellContent: model.getCellText(cursor),\n });\n }}\n disabled={!cursorOnly || overlapsCommentAnchor}\n >\n {t(tooltipLabelKey)}\n </ToolbarButton>\n );\n};\n\nexport const Toolbar = {\n Root: ToolbarRoot,\n Separator: ToolbarSeparator,\n Alignment,\n Format,\n Styles,\n Actions,\n};\n\nexport { useToolbarContext };\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { type Icon } from '@phosphor-icons/react';\nimport React from 'react';\n\nimport {\n Toolbar as NaturalToolbar,\n Tooltip,\n type ToolbarButtonProps as NaturalToolbarButtonProps,\n type ToolbarToggleGroupItemProps as NaturalToolbarToggleGroupItemProps,\n} from '@dxos/react-ui';\nimport { getSize } from '@dxos/react-ui-theme';\n\n// TODO(burdon): Factor out in common with react-ui-editor.\n\nexport const iconStyles = getSize(5);\nexport const buttonStyles = 'min-bs-0 p-2';\nexport const tooltipProps = { side: 'top' as const, classNames: 'z-10' };\n\nexport const ToolbarSeparator = () => <div role='separator' className='grow' />;\n\n//\n// ToolbarButton\n//\n\ntype ToolbarButtonProps = NaturalToolbarButtonProps & { Icon: Icon };\n\nexport const ToolbarButton = ({ Icon, children, ...props }: ToolbarButtonProps) => {\n return (\n <Tooltip.Root>\n <Tooltip.Trigger asChild>\n <NaturalToolbar.Button variant='ghost' {...props} classNames={buttonStyles}>\n <Icon className={iconStyles} />\n <span className='sr-only'>{children}</span>\n </NaturalToolbar.Button>\n </Tooltip.Trigger>\n <Tooltip.Portal>\n <Tooltip.Content {...tooltipProps}>\n {children}\n <Tooltip.Arrow />\n </Tooltip.Content>\n </Tooltip.Portal>\n </Tooltip.Root>\n );\n};\n\n//\n// ToolbarToggleButton\n//\n\nexport type ToolbarToggleButtonProps = NaturalToolbarToggleGroupItemProps & { Icon: Icon };\n\nexport const ToolbarToggleButton = ({ Icon, children, ...props }: ToolbarToggleButtonProps) => {\n return (\n <Tooltip.Root>\n <Tooltip.Trigger asChild>\n <NaturalToolbar.ToggleGroupItem variant='ghost' {...props} classNames={buttonStyles}>\n <Icon className={iconStyles} />\n <span className='sr-only'>{children}</span>\n </NaturalToolbar.ToggleGroupItem>\n </Tooltip.Trigger>\n <Tooltip.Portal>\n <Tooltip.Content {...tooltipProps}>\n {children}\n <Tooltip.Arrow />\n </Tooltip.Content>\n </Tooltip.Portal>\n </Tooltip.Root>\n );\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["import_react", "import_react_ui", "import_react_ui_theme", "iconStyles", "getSize", "buttonStyles", "tooltipProps", "side", "classNames", "ToolbarSeparator", "React", "div", "role", "className", "ToolbarButton", "Icon", "children", "props", "Tooltip", "Root", "Trigger", "asChild", "NaturalToolbar", "Button", "variant", "span", "Portal", "Content", "Arrow", "ToolbarToggleButton", "ToggleGroupItem", "ToolbarContextProvider", "useToolbarContext", "createContext", "ToolbarRoot", "onAction", "DensityProvider", "density", "ElevationProvider", "elevation", "formatOptions", "type", "Calendar", "getState", "state", "CurrencyDollar", "Format", "t", "useTranslation", "SHEET_PLUGIN", "ToggleGroup", "map", "key", "value", "onClick", "alignmentOptions", "TextAlignLeft", "TextAlignCenter", "TextAlignRight", "Alignment", "styleOptions", "Eraser", "HighlighterCircle", "Styles", "Actions", "cursor", "range", "model", "useSheetContext", "overlapsCommentAnchor", "sheet", "threads", "filter", "nonNullable", "thread", "status", "some", "addressToIndex", "anchor", "hasCursor", "cursorOnly", "tooltipLabelKey", "ChatText", "data-testid", "cellContent", "getCellText", "disabled", "Toolbar", "Separator", "attentionFragment", "mx", "sectionToolbarLayout", "SheetContainer", "space", "dispatch", "useIntentDispatcher", "id", "fullyQualifiedId", "isDirectlyAttended", "useIsDirectlyAttended", "handleAction", "useCallback", "action", "data", "name", "subject", "undefined", "Sheet", "focusRing", "Main"]
7
+ }
@@ -1,9 +1,7 @@
1
1
  "use strict";
2
- var __create = Object.create;
3
2
  var __defProp = Object.defineProperty;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
8
6
  var __export = (target, all) => {
9
7
  for (var name in all)
@@ -17,35 +15,24 @@ var __copyProps = (to, from, except, desc) => {
17
15
  }
18
16
  return to;
19
17
  };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var chunk_BJ6ZD7MN_exports = {};
30
- __export(chunk_BJ6ZD7MN_exports, {
19
+ var chunk_BNARJ5GM_exports = {};
20
+ __export(chunk_BNARJ5GM_exports, {
31
21
  SHEET_PLUGIN: () => SHEET_PLUGIN,
32
22
  meta_default: () => meta_default
33
23
  });
34
- module.exports = __toCommonJS(chunk_BJ6ZD7MN_exports);
35
- var import_react = require("@phosphor-icons/react");
36
- var import_react2 = __toESM(require("react"));
24
+ module.exports = __toCommonJS(chunk_BNARJ5GM_exports);
37
25
  var import_app_framework = require("@dxos/app-framework");
38
26
  var SHEET_PLUGIN = "dxos.org/plugin/sheet";
39
27
  var meta_default = (0, import_app_framework.pluginMeta)({
40
28
  id: SHEET_PLUGIN,
41
29
  name: "Sheet",
42
30
  description: "A simple spreadsheet plugin.",
43
- iconComponent: (props) => /* @__PURE__ */ import_react2.default.createElement(import_react.GridNine, props),
44
- iconSymbol: "ph--grid-nine--regular"
31
+ icon: "ph--grid-nine--regular"
45
32
  });
46
33
  // Annotate the CommonJS export names for ESM import in node:
47
34
  0 && (module.exports = {
48
35
  SHEET_PLUGIN,
49
36
  meta_default
50
37
  });
51
- //# sourceMappingURL=chunk-BJ6ZD7MN.cjs.map
38
+ //# sourceMappingURL=chunk-BNARJ5GM.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/meta.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { pluginMeta } from '@dxos/app-framework';\n\nexport const SHEET_PLUGIN = 'dxos.org/plugin/sheet';\n\nexport default pluginMeta({\n id: SHEET_PLUGIN,\n name: 'Sheet',\n description: 'A simple spreadsheet plugin.',\n icon: 'ph--grid-nine--regular',\n});\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAIA,2BAA2B;AAEpB,IAAMA,eAAe;AAE5B,IAAA,mBAAeC,iCAAW;EACxBC,IAAIF;EACJG,MAAM;EACNC,aAAa;EACbC,MAAM;AACR,CAAA;",
6
+ "names": ["SHEET_PLUGIN", "pluginMeta", "id", "name", "description", "icon"]
7
+ }