@arbidocs/blocks 0.4.128 → 0.4.130

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 (236) hide show
  1. package/README.md +25 -10
  2. package/dist/{StreamedArtifactEditor-EEYAXJ4H.cjs → StreamedArtifactEditor-TQAND4H5.cjs} +6 -5
  3. package/dist/StreamedArtifactEditor-TQAND4H5.cjs.map +1 -0
  4. package/dist/{StreamedArtifactEditor-TDATDYD2.js → StreamedArtifactEditor-XQNANTWM.js} +4 -3
  5. package/dist/StreamedArtifactEditor-XQNANTWM.js.map +1 -0
  6. package/dist/agents/index.cjs +304 -304
  7. package/dist/agents/index.js +12 -12
  8. package/dist/artifacts/ArtifactCodeView.d.ts +6 -0
  9. package/dist/artifacts/ArtifactPreview.d.ts +22 -0
  10. package/dist/artifacts/index.cjs +50 -21
  11. package/dist/artifacts/index.d.ts +3 -0
  12. package/dist/artifacts/index.js +2 -1
  13. package/dist/artifacts/sandbox-policy.d.ts +34 -0
  14. package/dist/artifacts/sandboxDocument.d.ts +7 -0
  15. package/dist/calendar/CalendarPrint.d.ts +25 -0
  16. package/dist/calendar/booking-slots.d.ts +21 -0
  17. package/dist/calendar/index.cjs +440 -243
  18. package/dist/calendar/index.cjs.map +1 -1
  19. package/dist/calendar/index.d.ts +4 -0
  20. package/dist/calendar/index.js +282 -151
  21. package/dist/calendar/index.js.map +1 -1
  22. package/dist/calendar/print-layout.d.ts +16 -0
  23. package/dist/calendar/printCalendar.d.ts +6 -0
  24. package/dist/calls/composite-canvas.d.ts +52 -0
  25. package/dist/calls/index.cjs +376 -3
  26. package/dist/calls/index.cjs.map +1 -1
  27. package/dist/calls/index.d.ts +3 -0
  28. package/dist/calls/index.js +360 -5
  29. package/dist/calls/index.js.map +1 -1
  30. package/dist/calls/ringtone.d.ts +16 -0
  31. package/dist/calls/voice-levels.d.ts +32 -0
  32. package/dist/chat/ThreadVisualizer.d.ts +28 -0
  33. package/dist/chat/index.cjs +156 -140
  34. package/dist/chat/index.d.ts +2 -0
  35. package/dist/chat/index.js +5 -5
  36. package/dist/chat/open-document.d.ts +5 -1
  37. package/dist/chat/thread-diagram.d.ts +26 -0
  38. package/dist/{chunk-7HAM7Y5U.js → chunk-2DFDFOM7.js} +3 -3
  39. package/dist/{chunk-7HAM7Y5U.js.map → chunk-2DFDFOM7.js.map} +1 -1
  40. package/dist/{chunk-54ANPPMV.js → chunk-2PNNCEPH.js} +4 -4
  41. package/dist/{chunk-54ANPPMV.js.map → chunk-2PNNCEPH.js.map} +1 -1
  42. package/dist/{chunk-DQCYCEDR.js → chunk-2Q7FDZAY.js} +3 -3
  43. package/dist/{chunk-DQCYCEDR.js.map → chunk-2Q7FDZAY.js.map} +1 -1
  44. package/dist/{chunk-INW76PEL.cjs → chunk-2YV7FBLO.cjs} +175 -2
  45. package/dist/chunk-2YV7FBLO.cjs.map +1 -0
  46. package/dist/{chunk-S7PSMMRG.js → chunk-444XKG46.js} +3 -3
  47. package/dist/{chunk-S7PSMMRG.js.map → chunk-444XKG46.js.map} +1 -1
  48. package/dist/{chunk-FSBY2S4V.cjs → chunk-4QIIDXLF.cjs} +10 -10
  49. package/dist/{chunk-FSBY2S4V.cjs.map → chunk-4QIIDXLF.cjs.map} +1 -1
  50. package/dist/{chunk-OYMWV45N.js → chunk-4RLCRFZS.js} +63 -13
  51. package/dist/chunk-4RLCRFZS.js.map +1 -0
  52. package/dist/{chunk-NZUQFF35.cjs → chunk-4S5IDT5F.cjs} +234 -5
  53. package/dist/chunk-4S5IDT5F.cjs.map +1 -0
  54. package/dist/{chunk-CJBN5HIS.js → chunk-4UMXQPNA.js} +20 -8
  55. package/dist/chunk-4UMXQPNA.js.map +1 -0
  56. package/dist/{chunk-KELGOCJA.js → chunk-65S53MZK.js} +174 -5
  57. package/dist/chunk-65S53MZK.js.map +1 -0
  58. package/dist/{chunk-IBZJYCYM.js → chunk-66TA5IBN.js} +17 -25
  59. package/dist/chunk-66TA5IBN.js.map +1 -0
  60. package/dist/{chunk-HM23LXUP.cjs → chunk-6AALMYPS.cjs} +3 -3
  61. package/dist/{chunk-HM23LXUP.cjs.map → chunk-6AALMYPS.cjs.map} +1 -1
  62. package/dist/{chunk-OR4CO743.cjs → chunk-AAFX64WD.cjs} +3 -3
  63. package/dist/{chunk-OR4CO743.cjs.map → chunk-AAFX64WD.cjs.map} +1 -1
  64. package/dist/{chunk-MUMH3Z6K.cjs → chunk-ARDHLU73.cjs} +61 -11
  65. package/dist/chunk-ARDHLU73.cjs.map +1 -0
  66. package/dist/chunk-BIXHB4LV.cjs +178 -0
  67. package/dist/chunk-BIXHB4LV.cjs.map +1 -0
  68. package/dist/chunk-C4WSHRR6.cjs +166 -0
  69. package/dist/chunk-C4WSHRR6.cjs.map +1 -0
  70. package/dist/{chunk-ZAVEMQ37.cjs → chunk-DWZXSPMB.cjs} +3 -3
  71. package/dist/{chunk-ZAVEMQ37.cjs.map → chunk-DWZXSPMB.cjs.map} +1 -1
  72. package/dist/{chunk-VW2C2AZL.js → chunk-ENDP7JER.js} +3 -3
  73. package/dist/{chunk-VW2C2AZL.js.map → chunk-ENDP7JER.js.map} +1 -1
  74. package/dist/{chunk-5HFPRI3W.js → chunk-FUTMU4FR.js} +3 -3
  75. package/dist/{chunk-5HFPRI3W.js.map → chunk-FUTMU4FR.js.map} +1 -1
  76. package/dist/{chunk-P5ST47VY.js → chunk-GDBDHOI4.js} +3 -3
  77. package/dist/{chunk-P5ST47VY.js.map → chunk-GDBDHOI4.js.map} +1 -1
  78. package/dist/chunk-GTCC2VAR.js +153 -0
  79. package/dist/chunk-GTCC2VAR.js.map +1 -0
  80. package/dist/{chunk-3BJLNKOB.cjs → chunk-GZPTWHP5.cjs} +22 -10
  81. package/dist/chunk-GZPTWHP5.cjs.map +1 -0
  82. package/dist/{chunk-OUW6G4O2.cjs → chunk-HFGXA5CL.cjs} +4 -4
  83. package/dist/{chunk-OUW6G4O2.cjs.map → chunk-HFGXA5CL.cjs.map} +1 -1
  84. package/dist/{chunk-SWQX6CTT.cjs → chunk-JKB7WT7L.cjs} +2 -2
  85. package/dist/chunk-JKB7WT7L.cjs.map +1 -0
  86. package/dist/{chunk-D4YR56FV.cjs → chunk-KYDRUFWT.cjs} +5 -5
  87. package/dist/{chunk-D4YR56FV.cjs.map → chunk-KYDRUFWT.cjs.map} +1 -1
  88. package/dist/chunk-NS4JD2VR.js +22 -0
  89. package/dist/chunk-NS4JD2VR.js.map +1 -0
  90. package/dist/{chunk-S6BOINC4.cjs → chunk-OGBXV326.cjs} +7 -7
  91. package/dist/{chunk-S6BOINC4.cjs.map → chunk-OGBXV326.cjs.map} +1 -1
  92. package/dist/{chunk-DJM7DLCT.cjs → chunk-OPTBQSCV.cjs} +3 -3
  93. package/dist/{chunk-DJM7DLCT.cjs.map → chunk-OPTBQSCV.cjs.map} +1 -1
  94. package/dist/{chunk-GFYGYME3.js → chunk-OQ7RUNOC.js} +3 -3
  95. package/dist/{chunk-GFYGYME3.js.map → chunk-OQ7RUNOC.js.map} +1 -1
  96. package/dist/{chunk-WV4IDVDQ.cjs → chunk-PJJY6CYL.cjs} +11 -11
  97. package/dist/{chunk-WV4IDVDQ.cjs.map → chunk-PJJY6CYL.cjs.map} +1 -1
  98. package/dist/{chunk-CXLVI3SB.js → chunk-PUCY3UXN.js} +3 -3
  99. package/dist/{chunk-CXLVI3SB.js.map → chunk-PUCY3UXN.js.map} +1 -1
  100. package/dist/{chunk-ZV3BKLFY.cjs → chunk-QDEODGXE.cjs} +5 -5
  101. package/dist/{chunk-ZV3BKLFY.cjs.map → chunk-QDEODGXE.cjs.map} +1 -1
  102. package/dist/{chunk-7BJRLP3U.js → chunk-QYTYW74G.js} +5 -5
  103. package/dist/{chunk-7BJRLP3U.js.map → chunk-QYTYW74G.js.map} +1 -1
  104. package/dist/{chunk-A7NCSZAP.cjs → chunk-QZTNTP75.cjs} +17 -25
  105. package/dist/chunk-QZTNTP75.cjs.map +1 -0
  106. package/dist/{chunk-OB5F4577.cjs → chunk-R26BK7YL.cjs} +4 -4
  107. package/dist/{chunk-OB5F4577.cjs.map → chunk-R26BK7YL.cjs.map} +1 -1
  108. package/dist/{chunk-A2YAC22G.js → chunk-RI6DZA5X.js} +3 -3
  109. package/dist/{chunk-A2YAC22G.js.map → chunk-RI6DZA5X.js.map} +1 -1
  110. package/dist/{chunk-LC2KJSUS.cjs → chunk-SARREDFP.cjs} +46 -46
  111. package/dist/{chunk-LC2KJSUS.cjs.map → chunk-SARREDFP.cjs.map} +1 -1
  112. package/dist/{chunk-ZCHSJUCI.js → chunk-SZX44LCT.js} +231 -6
  113. package/dist/chunk-SZX44LCT.js.map +1 -0
  114. package/dist/{chunk-7QDX2CO4.cjs → chunk-TP6PLDNM.cjs} +4 -4
  115. package/dist/{chunk-7QDX2CO4.cjs.map → chunk-TP6PLDNM.cjs.map} +1 -1
  116. package/dist/{chunk-W27VK32R.cjs → chunk-TT6XV6WM.cjs} +84 -84
  117. package/dist/{chunk-W27VK32R.cjs.map → chunk-TT6XV6WM.cjs.map} +1 -1
  118. package/dist/{chunk-KLOSOT26.js → chunk-UMIY4SQS.js} +11 -11
  119. package/dist/{chunk-KLOSOT26.js.map → chunk-UMIY4SQS.js.map} +1 -1
  120. package/dist/chunk-VG24E4JJ.cjs +26 -0
  121. package/dist/chunk-VG24E4JJ.cjs.map +1 -0
  122. package/dist/{chunk-ECERC6TI.js → chunk-VHJHY7TT.js} +3 -3
  123. package/dist/{chunk-ECERC6TI.js.map → chunk-VHJHY7TT.js.map} +1 -1
  124. package/dist/{chunk-D3N67Q4D.js → chunk-W3VYZXNS.js} +3 -3
  125. package/dist/{chunk-D3N67Q4D.js.map → chunk-W3VYZXNS.js.map} +1 -1
  126. package/dist/{chunk-JK45LSIH.cjs → chunk-WXYQ66KC.cjs} +5 -5
  127. package/dist/{chunk-JK45LSIH.cjs.map → chunk-WXYQ66KC.cjs.map} +1 -1
  128. package/dist/{chunk-ZCF2JJFA.js → chunk-Y3KA6X7B.js} +3 -3
  129. package/dist/{chunk-ZCF2JJFA.js.map → chunk-Y3KA6X7B.js.map} +1 -1
  130. package/dist/{chunk-GYCQ3FNL.js → chunk-YBLIKTJK.js} +2 -2
  131. package/dist/chunk-YBLIKTJK.js.map +1 -0
  132. package/dist/chunk-YNIBUKV5.js +163 -0
  133. package/dist/chunk-YNIBUKV5.js.map +1 -0
  134. package/dist/citations/index.cjs +12 -11
  135. package/dist/citations/index.js +3 -2
  136. package/dist/collaboration/index.cjs +51 -51
  137. package/dist/collaboration/index.js +3 -3
  138. package/dist/components/DroppableContainer.d.ts +6 -0
  139. package/dist/components/GridRowNavigator.d.ts +29 -0
  140. package/dist/components/LoadingIndicator.d.ts +21 -0
  141. package/dist/components/RowNavigatorControls.d.ts +29 -0
  142. package/dist/components/SharedCell.d.ts +27 -0
  143. package/dist/connect/docx.cjs +7 -5
  144. package/dist/connect/docx.cjs.map +1 -1
  145. package/dist/connect/docx.js +6 -4
  146. package/dist/connect/docx.js.map +1 -1
  147. package/dist/connect/index.cjs +270 -227
  148. package/dist/connect/index.cjs.map +1 -1
  149. package/dist/connect/index.d.ts +1 -1
  150. package/dist/connect/index.js +199 -156
  151. package/dist/connect/index.js.map +1 -1
  152. package/dist/connection/ConnectedSettings.d.ts +46 -20
  153. package/dist/connection/ConnectionProvider.d.ts +5 -0
  154. package/dist/connection/mail/ConnectedMailComposer.d.ts +2 -3
  155. package/dist/connection/mail/ConnectedMailbox.d.ts +2 -3
  156. package/dist/connection/mail/MailComposerForm.d.ts +2 -3
  157. package/dist/connection/mail/index.d.ts +2 -2
  158. package/dist/connection/mail/mailbox.d.ts +1 -4
  159. package/dist/connection/mail/types.d.ts +0 -8
  160. package/dist/document-tools/index.cjs +1 -1
  161. package/dist/document-tools/index.js +1 -1
  162. package/dist/facts/fact-citations.d.ts +56 -0
  163. package/dist/facts/fact-table-column-resize.d.ts +18 -0
  164. package/dist/facts/index.cjs +198 -29
  165. package/dist/facts/index.cjs.map +1 -1
  166. package/dist/facts/index.d.ts +2 -1
  167. package/dist/facts/index.js +187 -27
  168. package/dist/facts/index.js.map +1 -1
  169. package/dist/files/index.cjs +4 -4
  170. package/dist/files/index.js +3 -3
  171. package/dist/home/index.cjs +20 -19
  172. package/dist/home/index.cjs.map +1 -1
  173. package/dist/home/index.js +5 -4
  174. package/dist/home/index.js.map +1 -1
  175. package/dist/index.cjs +877 -679
  176. package/dist/index.cjs.map +1 -1
  177. package/dist/index.d.ts +7 -1
  178. package/dist/index.js +207 -30
  179. package/dist/index.js.map +1 -1
  180. package/dist/provider/BlocksProvider.d.ts +39 -4
  181. package/dist/provider/dialogs.d.ts +31 -0
  182. package/dist/retrieval/index.cjs +5 -4
  183. package/dist/retrieval/index.js +3 -2
  184. package/dist/sandboxDocument-JLEETIWW.js +71 -0
  185. package/dist/sandboxDocument-JLEETIWW.js.map +1 -0
  186. package/dist/sandboxDocument-WQUNODSC.cjs +76 -0
  187. package/dist/sandboxDocument-WQUNODSC.cjs.map +1 -0
  188. package/dist/settings/DraggableHeader.d.ts +10 -0
  189. package/dist/settings/FilterChip.d.ts +15 -0
  190. package/dist/settings/MessageJsonTree.d.ts +7 -0
  191. package/dist/settings/MoreInfo.d.ts +25 -0
  192. package/dist/settings/PlanCard.d.ts +1 -1
  193. package/dist/settings/index.cjs +363 -266
  194. package/dist/settings/index.cjs.map +1 -1
  195. package/dist/settings/index.d.ts +4 -1
  196. package/dist/settings/index.js +317 -222
  197. package/dist/settings/index.js.map +1 -1
  198. package/dist/settings/message-schema-hints.d.ts +19 -0
  199. package/dist/shell/index.cjs +48 -47
  200. package/dist/shell/index.js +4 -3
  201. package/dist/site/index.cjs +5 -5
  202. package/dist/site/index.js +1 -1
  203. package/dist/studio/index.cjs +19 -18
  204. package/dist/studio/index.cjs.map +1 -1
  205. package/dist/studio/index.js +11 -10
  206. package/dist/studio/index.js.map +1 -1
  207. package/dist/workflow-canvas/index.cjs +65 -65
  208. package/dist/workflow-canvas/index.js +13 -13
  209. package/dist/workspaces/index.cjs +42 -3
  210. package/dist/workspaces/index.cjs.map +1 -1
  211. package/dist/workspaces/index.d.ts +1 -0
  212. package/dist/workspaces/index.js +38 -3
  213. package/dist/workspaces/index.js.map +1 -1
  214. package/dist/workspaces/workspace-type.d.ts +29 -0
  215. package/node_modules/@arbidocs/coedit/package.json +1 -1
  216. package/package.json +10 -4
  217. package/dist/StreamedArtifactEditor-EEYAXJ4H.cjs.map +0 -1
  218. package/dist/StreamedArtifactEditor-TDATDYD2.js.map +0 -1
  219. package/dist/chunk-3BJLNKOB.cjs.map +0 -1
  220. package/dist/chunk-76JDDMSP.js +0 -31
  221. package/dist/chunk-76JDDMSP.js.map +0 -1
  222. package/dist/chunk-A7NCSZAP.cjs.map +0 -1
  223. package/dist/chunk-C54XEN5T.cjs +0 -34
  224. package/dist/chunk-C54XEN5T.cjs.map +0 -1
  225. package/dist/chunk-CJBN5HIS.js.map +0 -1
  226. package/dist/chunk-GYCQ3FNL.js.map +0 -1
  227. package/dist/chunk-IBZJYCYM.js.map +0 -1
  228. package/dist/chunk-INW76PEL.cjs.map +0 -1
  229. package/dist/chunk-KELGOCJA.js.map +0 -1
  230. package/dist/chunk-MUMH3Z6K.cjs.map +0 -1
  231. package/dist/chunk-NZUQFF35.cjs.map +0 -1
  232. package/dist/chunk-OYMWV45N.js.map +0 -1
  233. package/dist/chunk-SWQX6CTT.cjs.map +0 -1
  234. package/dist/chunk-ZCHSJUCI.js.map +0 -1
  235. package/dist/facts/timezone.d.ts +0 -4
  236. package/dist/settings/FirmPool.d.ts +0 -82
package/README.md CHANGED
@@ -33,14 +33,28 @@ The blocks are styled with Tailwind v4 utilities. Tailwind skips `node_modules`
33
33
  class names, so you must point it at the package. Order matters:
34
34
 
35
35
  ```css
36
- /* app.css */
37
- @import '@arbidocs/blocks/tokens.css'; /* 1. token defaults, light + dark */
38
- @import '@arbidocs/blocks/blocks.css'; /* 2. blocks helpers (declares the layer order) */
39
- @import '@arbidocs/blocks/grid.css'; /* only if you use /files, /facts or /databases */
40
- @import 'tailwindcss'; /* 3. Tailwind */
41
- @import '@arbidocs/blocks/source.css'; /* 4. tells Tailwind to scan blocks' AND react's dist */
36
+ /* app.css: one stylesheet, in this order */
37
+ @import '@arbidocs/blocks/tokens.css'; /* 1. token defaults, light + dark */
38
+ @import '@arbidocs/blocks/blocks.css'; /* 2. blocks helpers; declares the layer order, so it
39
+ comes before any other blocks sheet */
40
+ @import '@arbidocs/blocks/workflow-canvas.css'; /* 3. per entry, only for the entries you use: */
41
+ /* /workflow-canvas */
42
+ @import '@arbidocs/blocks/grid.css'; /* /files, /facts, /databases */
43
+ @import '@arbidocs/blocks/calendar.css'; /* /calendar */
44
+ @import '@arbidocs/blocks/calls.css'; /* /calls */
45
+ @import 'tailwindcss'; /* 4. Tailwind, after every other @import */
46
+ @import '@arbidocs/blocks/source.css'; /* 5. tells Tailwind to scan blocks' AND react's dist */
42
47
  ```
43
48
 
49
+ Two sheets are imported from the code that renders them rather than from `app.css`, because they
50
+ are large and only those pages need them: `import '@arbidocs/blocks/studio.css'` next to `/studio`,
51
+ and `import '@arbidocs/blocks/docx.css'` (with `@docx-editor.dev/react/styles.css`, see
52
+ [src/docx/README.md](src/docx/README.md)) next to `/docx`.
53
+
54
+ Every stylesheet is published with the package (`npm pack --dry-run` lists them under `src/`), and
55
+ the release checks that each one, and each file it `@import`s, is in the tarball
56
+ (`scripts/check-package-files.mjs`).
57
+
44
58
  `source.css` contains `@source` lines for the blocks' `dist` **and** `@arbidocs/react`'s `dist`
45
59
  (`../../react/dist` from `node_modules/@arbidocs/blocks/src`, `../../arbi-react/dist` in this
46
60
  monorepo). The react half matters: Dialog, Popover and the other primitives are defined in
@@ -54,7 +68,7 @@ lines yourself, relative to your stylesheet:
54
68
  ```
55
69
 
56
70
  Tailwind 4.1 or later is required (the `pointer-coarse:` variant). Dark mode is the `.dark` class
57
- or `[data-theme='dark']` on a parent. Studio pages also import `@arbidocs/blocks/studio.css`.
71
+ or `[data-theme='dark']` on a parent.
58
72
 
59
73
  ## Import from a subpath
60
74
 
@@ -90,9 +104,10 @@ import { PassagePill } from '@arbidocs/blocks/citations'
90
104
  </BlocksProvider>
91
105
  ```
92
106
 
93
- - `BlocksProvider` is optional; every field has a default. Without `notify`, success and failure
94
- messages (for example "link copied") go nowhere, so wire it to a toast region
95
- (`role="status"` for success, `role="alert"` for errors).
107
+ - `BlocksProvider` is optional; every field has a default. `notify` defaults to the shared
108
+ `@arbidocs/react` notify store, so mount its `<Toaster/>` (or pass your own `notify`);
109
+ `confirm` / `choose` default to the blocks prompt dialog. Navigation intents (`openDocument`,
110
+ `openConversation`, `openSettings`, `openProject`) and `runtimeConfig` are the host's to supply.
96
111
  - Fixed text is a typed `labels` prop with exported `DEFAULT_*_LABELS`; test ids are overridable
97
112
  through `testId` / `testIds`.
98
113
  - Parts are not polymorphic: `asChild` exists only where a part documents it.
@@ -2,7 +2,8 @@
2
2
  'use strict';
3
3
 
4
4
  var chunkQS4RV3MA_cjs = require('./chunk-QS4RV3MA.cjs');
5
- var chunkINW76PEL_cjs = require('./chunk-INW76PEL.cjs');
5
+ var chunk2YV7FBLO_cjs = require('./chunk-2YV7FBLO.cjs');
6
+ require('./chunk-VG24E4JJ.cjs');
6
7
  require('./chunk-QVBZESYQ.cjs');
7
8
  require('./chunk-MHVNT4J3.cjs');
8
9
  require('./chunk-DES3K4SD.cjs');
@@ -54,7 +55,7 @@ function StreamedArtifactEditor({
54
55
  ),
55
56
  "data-testid": testId,
56
57
  children: /* @__PURE__ */ jsxRuntime.jsx(
57
- chunkINW76PEL_cjs.ArtifactEditor,
58
+ chunk2YV7FBLO_cjs.ArtifactEditor,
58
59
  {
59
60
  ...s.view,
60
61
  className: "min-h-[560px] flex-1",
@@ -62,7 +63,7 @@ function StreamedArtifactEditor({
62
63
  onOpenVersion: setOpenId,
63
64
  renderMarkdown: artifacts.renderArtifactMarkdown,
64
65
  editor: /* @__PURE__ */ jsxRuntime.jsx(chunkQS4RV3MA_cjs.ArtifactMarkdownEditor, { ...editorProps, ...s.editorProps }),
65
- redline: /* @__PURE__ */ jsxRuntime.jsx(chunkINW76PEL_cjs.ArtifactRedlineView, { ...s.redlineProps, renderMarkdown: artifacts.renderArtifactMarkdown }),
66
+ redline: /* @__PURE__ */ jsxRuntime.jsx(chunk2YV7FBLO_cjs.ArtifactRedlineView, { ...s.redlineProps, renderMarkdown: artifacts.renderArtifactMarkdown }),
66
67
  actions: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
67
68
  !hideDefaultActions && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
68
69
  /* @__PURE__ */ jsxRuntime.jsxs(
@@ -103,5 +104,5 @@ function StreamedArtifactEditor({
103
104
  }
104
105
 
105
106
  module.exports = StreamedArtifactEditor;
106
- //# sourceMappingURL=StreamedArtifactEditor-EEYAXJ4H.cjs.map
107
- //# sourceMappingURL=StreamedArtifactEditor-EEYAXJ4H.cjs.map
107
+ //# sourceMappingURL=StreamedArtifactEditor-TQAND4H5.cjs.map
108
+ //# sourceMappingURL=StreamedArtifactEditor-TQAND4H5.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/connection/StreamedArtifactEditor.tsx"],"names":["useState","useArtifactSession","jsx","cn","ArtifactEditor","renderArtifactMarkdown","ArtifactMarkdownEditor","ArtifactRedlineView","jsxs","Fragment","Button","Copy","Download"],"mappings":"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","file":"StreamedArtifactEditor-TQAND4H5.cjs","sourcesContent":["import { useState, type ReactNode } from 'react'\nimport { Copy, Download } from 'lucide-react'\nimport { Button, cn } from '@arbidocs/react/ui'\nimport { renderArtifactMarkdown, useArtifactSession } from '@arbidocs/react/artifacts'\nimport { ArtifactEditor, ArtifactRedlineView, type ArtifactEditorLabels } from '../artifacts'\nimport {\n ArtifactMarkdownEditor,\n type ArtifactMarkdownEditorProps,\n} from '../artifacts/editor/ArtifactMarkdownEditor'\n\nexport interface StreamedArtifactEditorProps {\n workspaceId: string | undefined\n /** The stored first version (the lineage's root as far as this panel goes). */\n docId: string\n /** File name for the versions saved from here. */\n title: string\n testId: string\n className?: string\n /** Extra props of the rich-text editor (`dictation`, labels). */\n editorProps?: Partial<Omit<ArtifactMarkdownEditorProps, 'markdown' | 'onChange' | 'onNormalized'>>\n /** Called after a version is saved. */\n onSaved?: (docId: string | undefined) => void\n onSaveError?: (error: unknown) => void\n /** Extra header actions next to the toolbar. */\n actions?: (ctx: { content: string; title: string }) => ReactNode\n /** Hide the default Copy and Download buttons. */\n hideDefaultActions?: boolean\n labels?: Partial<ArtifactEditorLabels>\n}\n\n/**\n * The editing stage of `StreamedArtifact`: `ArtifactEditor` bound to `useArtifactSession`. It is\n * a separate module because it pulls the rich-text editor (Lexical), which must stay behind a\n * `lazy()` boundary.\n */\nexport default function StreamedArtifactEditor({\n workspaceId,\n docId,\n title,\n testId,\n className,\n editorProps,\n onSaved,\n onSaveError,\n actions,\n hideDefaultActions,\n labels,\n}: StreamedArtifactEditorProps) {\n const [openId, setOpenId] = useState(docId)\n const s = useArtifactSession({\n workspaceId,\n docId: openId,\n title,\n onSaved: ({ docId: next }) => {\n if (next) setOpenId(next)\n onSaved?.(next)\n },\n onSaveError,\n })\n\n const copy = () => void navigator.clipboard.writeText(s.content)\n const download = () => {\n const url = URL.createObjectURL(new Blob([s.content], { type: 'text/markdown' }))\n const a = document.createElement('a')\n a.href = url\n a.download = `${title.replace(/\\.md$/i, '')}.md`\n a.click()\n URL.revokeObjectURL(url)\n }\n\n return (\n <div\n className={cn(\n 'flex min-h-[560px] flex-col rounded-xl border border-border bg-card',\n className\n )}\n data-testid={testId}\n >\n <ArtifactEditor\n {...s.view}\n className=\"min-h-[560px] flex-1\"\n labels={labels}\n onOpenVersion={setOpenId}\n renderMarkdown={renderArtifactMarkdown}\n editor={<ArtifactMarkdownEditor {...editorProps} {...s.editorProps} />}\n redline={\n <ArtifactRedlineView {...s.redlineProps} renderMarkdown={renderArtifactMarkdown} />\n }\n actions={\n <>\n {!hideDefaultActions && (\n <>\n <Button\n variant=\"ghost\"\n size=\"sm\"\n onClick={copy}\n data-testid={`${testId}-copy`}\n className=\"pointer-coarse:min-h-11\"\n >\n <Copy className=\"size-4\" aria-hidden /> Copy\n </Button>\n <Button\n variant=\"ghost\"\n size=\"sm\"\n onClick={download}\n data-testid={`${testId}-download`}\n className=\"pointer-coarse:min-h-11\"\n >\n <Download className=\"size-4\" aria-hidden /> Download\n </Button>\n </>\n )}\n {actions?.({ content: s.content, title })}\n </>\n }\n />\n </div>\n )\n}\n"]}
@@ -1,6 +1,7 @@
1
1
  "use client";
2
2
  import { ArtifactMarkdownEditor } from './chunk-NEFHQHQV.js';
3
- import { ArtifactEditor, ArtifactRedlineView } from './chunk-KELGOCJA.js';
3
+ import { ArtifactEditor, ArtifactRedlineView } from './chunk-65S53MZK.js';
4
+ import './chunk-NS4JD2VR.js';
4
5
  import './chunk-LOJVUGBJ.js';
5
6
  import './chunk-7F6CBP3Z.js';
6
7
  import './chunk-VUNV25KB.js';
@@ -101,5 +102,5 @@ function StreamedArtifactEditor({
101
102
  }
102
103
 
103
104
  export { StreamedArtifactEditor as default };
104
- //# sourceMappingURL=StreamedArtifactEditor-TDATDYD2.js.map
105
- //# sourceMappingURL=StreamedArtifactEditor-TDATDYD2.js.map
105
+ //# sourceMappingURL=StreamedArtifactEditor-XQNANTWM.js.map
106
+ //# sourceMappingURL=StreamedArtifactEditor-XQNANTWM.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/connection/StreamedArtifactEditor.tsx"],"names":[],"mappings":"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","file":"StreamedArtifactEditor-XQNANTWM.js","sourcesContent":["import { useState, type ReactNode } from 'react'\nimport { Copy, Download } from 'lucide-react'\nimport { Button, cn } from '@arbidocs/react/ui'\nimport { renderArtifactMarkdown, useArtifactSession } from '@arbidocs/react/artifacts'\nimport { ArtifactEditor, ArtifactRedlineView, type ArtifactEditorLabels } from '../artifacts'\nimport {\n ArtifactMarkdownEditor,\n type ArtifactMarkdownEditorProps,\n} from '../artifacts/editor/ArtifactMarkdownEditor'\n\nexport interface StreamedArtifactEditorProps {\n workspaceId: string | undefined\n /** The stored first version (the lineage's root as far as this panel goes). */\n docId: string\n /** File name for the versions saved from here. */\n title: string\n testId: string\n className?: string\n /** Extra props of the rich-text editor (`dictation`, labels). */\n editorProps?: Partial<Omit<ArtifactMarkdownEditorProps, 'markdown' | 'onChange' | 'onNormalized'>>\n /** Called after a version is saved. */\n onSaved?: (docId: string | undefined) => void\n onSaveError?: (error: unknown) => void\n /** Extra header actions next to the toolbar. */\n actions?: (ctx: { content: string; title: string }) => ReactNode\n /** Hide the default Copy and Download buttons. */\n hideDefaultActions?: boolean\n labels?: Partial<ArtifactEditorLabels>\n}\n\n/**\n * The editing stage of `StreamedArtifact`: `ArtifactEditor` bound to `useArtifactSession`. It is\n * a separate module because it pulls the rich-text editor (Lexical), which must stay behind a\n * `lazy()` boundary.\n */\nexport default function StreamedArtifactEditor({\n workspaceId,\n docId,\n title,\n testId,\n className,\n editorProps,\n onSaved,\n onSaveError,\n actions,\n hideDefaultActions,\n labels,\n}: StreamedArtifactEditorProps) {\n const [openId, setOpenId] = useState(docId)\n const s = useArtifactSession({\n workspaceId,\n docId: openId,\n title,\n onSaved: ({ docId: next }) => {\n if (next) setOpenId(next)\n onSaved?.(next)\n },\n onSaveError,\n })\n\n const copy = () => void navigator.clipboard.writeText(s.content)\n const download = () => {\n const url = URL.createObjectURL(new Blob([s.content], { type: 'text/markdown' }))\n const a = document.createElement('a')\n a.href = url\n a.download = `${title.replace(/\\.md$/i, '')}.md`\n a.click()\n URL.revokeObjectURL(url)\n }\n\n return (\n <div\n className={cn(\n 'flex min-h-[560px] flex-col rounded-xl border border-border bg-card',\n className\n )}\n data-testid={testId}\n >\n <ArtifactEditor\n {...s.view}\n className=\"min-h-[560px] flex-1\"\n labels={labels}\n onOpenVersion={setOpenId}\n renderMarkdown={renderArtifactMarkdown}\n editor={<ArtifactMarkdownEditor {...editorProps} {...s.editorProps} />}\n redline={\n <ArtifactRedlineView {...s.redlineProps} renderMarkdown={renderArtifactMarkdown} />\n }\n actions={\n <>\n {!hideDefaultActions && (\n <>\n <Button\n variant=\"ghost\"\n size=\"sm\"\n onClick={copy}\n data-testid={`${testId}-copy`}\n className=\"pointer-coarse:min-h-11\"\n >\n <Copy className=\"size-4\" aria-hidden /> Copy\n </Button>\n <Button\n variant=\"ghost\"\n size=\"sm\"\n onClick={download}\n data-testid={`${testId}-download`}\n className=\"pointer-coarse:min-h-11\"\n >\n <Download className=\"size-4\" aria-hidden /> Download\n </Button>\n </>\n )}\n {actions?.({ content: s.content, title })}\n </>\n }\n />\n </div>\n )\n}\n"]}