@panphora/clayjs 1.23.0 → 1.24.1

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 (471) hide show
  1. package/dist/all.js +1 -1
  2. package/dist/blockeditor/themes/light-1.css +431 -0
  3. package/dist/clay-dom.js +1 -1
  4. package/dist/clay-events.js +1 -1
  5. package/dist/clay-internals.js +1 -1
  6. package/dist/clay-options.js +1 -1
  7. package/dist/clay-router.js +1 -1
  8. package/dist/clay-ui.js +1 -1
  9. package/dist/clay-utils.js +1 -1
  10. package/dist/clay.js +1 -1
  11. package/dist/clay.standalone.js +30285 -26613
  12. package/dist/m/c-277QP5ET.js +1 -0
  13. package/dist/m/c-2BLVA6IN.js +5 -0
  14. package/dist/m/c-2OJMOUPC.js +1 -0
  15. package/dist/m/c-2PVGJFI5.js +1 -0
  16. package/dist/m/{c-AYVGD6A6.js → c-3UW5EJ77.js} +1 -1
  17. package/dist/m/{c-T5NK2TVY.js → c-42ZNV7LI.js} +1 -1
  18. package/dist/m/{c-3TLG3OLG.js → c-46LJAZZJ.js} +1 -1
  19. package/dist/m/c-47IBJGPQ.js +1 -0
  20. package/dist/m/c-5FXEKU4Y.js +1 -0
  21. package/dist/m/c-5KXDKC5G.js +1 -0
  22. package/dist/m/{c-EUGJVHDD.js → c-5RZNFTWD.js} +1 -1
  23. package/dist/m/c-65LJU2H2.js +72 -0
  24. package/dist/m/{c-NQJRVJ56.js → c-6IJEVE6B.js} +1 -1
  25. package/dist/m/{c-NW54NHKE.js → c-6LEYVQJK.js} +1 -1
  26. package/dist/m/{c-GSRLXYWL.js → c-6Q6RGFBF.js} +1 -1
  27. package/dist/m/c-6RGEQNVV.js +1 -0
  28. package/dist/m/c-7CM4GMTS.js +6 -0
  29. package/dist/m/c-7NCWENHV.js +1 -0
  30. package/dist/m/c-7V6MGMX2.js +1 -0
  31. package/dist/m/{c-LKSL4AUJ.js → c-7WZSUTYP.js} +1 -1
  32. package/dist/m/c-A4L7APIU.js +1 -0
  33. package/dist/m/c-APGHGDZM.js +1 -0
  34. package/dist/m/c-AT7GLQGV.js +34 -0
  35. package/dist/m/{c-ZRXJD4G6.js → c-B7GOFGQR.js} +1 -1
  36. package/dist/m/{c-KDXIJEEF.js → c-BGN7RCTJ.js} +1 -1
  37. package/dist/m/c-BKM46LUJ.js +1 -0
  38. package/dist/m/c-BOMQIQ3V.js +1 -0
  39. package/dist/m/{c-62HZW5DH.js → c-C5AKJVRH.js} +1 -1
  40. package/dist/m/{c-BXYSDKAN.js → c-CJ7QYEWI.js} +1 -1
  41. package/dist/m/c-CTGRDT6E.js +1 -0
  42. package/dist/m/c-CV4T65JE.js +6 -0
  43. package/dist/m/c-CVSWLX3X.js +1 -0
  44. package/dist/m/c-CZHTXGJS.js +1 -0
  45. package/dist/m/c-D7NT5S4F.js +1 -0
  46. package/dist/m/c-DD26VXAP.js +1 -0
  47. package/dist/m/{c-ANNFZFLN.js → c-DDS23EY6.js} +1 -1
  48. package/dist/m/{c-ALDVFPWL.js → c-DFKBGSN2.js} +1 -1
  49. package/dist/m/c-DIKR7H57.js +147 -0
  50. package/dist/m/c-DXPOFLEJ.js +1 -0
  51. package/dist/m/c-EDE45NM7.js +1 -0
  52. package/dist/m/c-EILLN2H2.js +1 -0
  53. package/dist/m/c-EODTTNVA.js +1 -0
  54. package/dist/m/{c-G6COVIZB.js → c-ESK4S67I.js} +1 -1
  55. package/dist/m/c-FDWR3FL7.js +1 -0
  56. package/dist/m/{c-WQZTI5P2.js → c-FEC6LGFF.js} +1 -1
  57. package/dist/m/c-FLEIU6CG.js +1 -0
  58. package/dist/m/c-FQAQRXGK.js +1 -0
  59. package/dist/m/{c-W4JCVLAB.js → c-FSQXFG5T.js} +1 -1
  60. package/dist/m/c-FVPNX2GO.js +135 -0
  61. package/dist/m/c-FYDKYW6E.js +1 -0
  62. package/dist/m/c-GNI7WHKF.js +32 -0
  63. package/dist/m/c-GO635CRU.js +3 -0
  64. package/dist/m/c-H3FNLBHN.js +2 -0
  65. package/dist/m/c-HDVH3MVC.js +72 -0
  66. package/dist/m/c-HIX5H5L7.js +1 -0
  67. package/dist/m/c-HKSLOVU4.js +1 -0
  68. package/dist/m/{c-SGRIYOAJ.js → c-HL6BLJNA.js} +1 -1
  69. package/dist/m/c-HTLYXCUH.js +1 -0
  70. package/dist/m/{c-QIR5CAKM.js → c-IUL7PU4P.js} +1 -1
  71. package/dist/m/c-IXO7EI2Q.js +1 -0
  72. package/dist/m/{c-W5E5P2TZ.js → c-JQF2EUCG.js} +1 -1
  73. package/dist/m/{c-NEL7HQW3.js → c-JWDCQL6J.js} +1 -1
  74. package/dist/m/c-KQKKIVLW.js +20 -0
  75. package/dist/m/c-LATNQ6Q5.js +1 -0
  76. package/dist/m/c-LD6UVV5R.js +1 -0
  77. package/dist/m/c-LS7IVQVW.js +1 -0
  78. package/dist/m/{c-JCOQVZYS.js → c-LSVN3OLG.js} +1 -1
  79. package/dist/m/{c-JDZDF2QM.js → c-LTSPHVAK.js} +1 -1
  80. package/dist/m/c-MFOSMAVM.js +3 -0
  81. package/dist/m/c-MJ7GVE46.js +1 -0
  82. package/dist/m/c-MP6S4AZU.js +6 -0
  83. package/dist/m/c-MQKSKQHG.js +2 -0
  84. package/dist/m/{c-UHUNXWKN.js → c-MQYEDF3Q.js} +1 -1
  85. package/dist/m/{c-IHUWUKIU.js → c-MR75YPRT.js} +1 -1
  86. package/dist/m/c-ND3Q2G2I.js +1 -0
  87. package/dist/m/c-NEQRFC4O.js +1 -0
  88. package/dist/m/{c-5FKRZNJV.js → c-NFQFV7OP.js} +1 -1
  89. package/dist/m/c-NHXOBD6A.js +1 -0
  90. package/dist/m/{c-QIKT6SKM.js → c-NICICT4P.js} +1 -1
  91. package/dist/m/c-NQAPWM7O.js +1 -0
  92. package/dist/m/{c-QUGCKMWF.js → c-NVU3DORS.js} +1 -1
  93. package/dist/m/{c-LWIDDWAR.js → c-OCYG4NBQ.js} +22 -22
  94. package/dist/m/c-OH2FPYSY.js +19 -0
  95. package/dist/m/c-OYHI67B6.js +1 -0
  96. package/dist/m/{c-R2XUODVY.js → c-OYW5MFPZ.js} +1 -1
  97. package/dist/m/{c-5B4YBZXC.js → c-P2HKMJAW.js} +1 -1
  98. package/dist/m/{c-TSBVMWAH.js → c-PCNJETUA.js} +1 -1
  99. package/dist/m/c-PDBNCJCT.js +1 -0
  100. package/dist/m/c-PGSBXHUE.js +1 -0
  101. package/dist/m/{c-5TIZ2I64.js → c-PYG2NGWU.js} +1 -1
  102. package/dist/m/c-Q26XHBLQ.js +1 -0
  103. package/dist/m/c-Q6BG3ZLO.js +1 -0
  104. package/dist/m/c-QENKN7QI.js +1 -0
  105. package/dist/m/c-QQFHEODI.js +1 -0
  106. package/dist/m/c-QTEUO2K6.js +1 -0
  107. package/dist/m/c-R23UHMXG.js +1 -0
  108. package/dist/m/c-RETTCOWO.js +10 -0
  109. package/dist/m/c-SE3SIY7Y.js +7 -0
  110. package/dist/m/{c-XX75FFNL.js → c-SGGGCIVD.js} +1 -1
  111. package/dist/m/c-SGH3UTF3.js +1 -0
  112. package/dist/m/c-SIM7Z3U7.js +1 -0
  113. package/dist/m/{c-X5LNHET5.js → c-SKMIR5HQ.js} +1 -1
  114. package/dist/m/{c-R27DWQKX.js → c-STRI73GQ.js} +1 -1
  115. package/dist/m/c-SUXHUL7U.js +1 -0
  116. package/dist/m/c-SXGEWPFC.js +10 -0
  117. package/dist/m/c-SXNSSHPP.js +1 -0
  118. package/dist/m/c-T3P3AXEW.js +1 -0
  119. package/dist/m/{c-PXLTUYZC.js → c-TFLRT5JX.js} +1 -1
  120. package/dist/m/{c-YCLU4UNT.js → c-TGIMBAWE.js} +1 -1
  121. package/dist/m/c-TGSHHFO6.js +1 -0
  122. package/dist/m/c-U4NTUVDZ.js +1 -0
  123. package/dist/m/c-UOOIF2AL.js +1 -0
  124. package/dist/m/{c-6TYGD5AB.js → c-UOUUI265.js} +1 -1
  125. package/dist/m/c-V2U3F4QX.js +1 -0
  126. package/dist/m/c-V2V5FKXX.js +1 -0
  127. package/dist/m/c-VBXRXTVS.js +26 -0
  128. package/dist/m/c-VHSMPITY.js +1 -0
  129. package/dist/m/c-VPXCXBDT.js +1 -0
  130. package/dist/m/c-WCG6AKA7.js +1 -0
  131. package/dist/m/c-WNOLMHI2.js +1 -0
  132. package/dist/m/{c-CRPIDGXC.js → c-X6MOYATI.js} +1 -1
  133. package/dist/m/{c-FQGHR32O.js → c-X75G43SZ.js} +1 -1
  134. package/dist/m/c-XB6EAIAR.js +13 -0
  135. package/dist/m/c-XMIDHEKF.js +1 -0
  136. package/dist/m/c-XUZMRQ7O.js +4 -0
  137. package/dist/m/{c-2Z22FCFK.js → c-XW5TIYYB.js} +1 -1
  138. package/dist/m/c-YDW4VCHP.js +1 -0
  139. package/dist/m/{c-QGAPG7OM.js → c-YLHTD3KX.js} +1 -1
  140. package/dist/m/c-YNIEIPBS.js +1 -0
  141. package/dist/m/c-Z4G2UK6T.js +4 -0
  142. package/dist/m/c-Z6MROEQ4.js +1 -0
  143. package/dist/m/c-ZFO5RW6G.js +2 -0
  144. package/dist/m/c-ZGCO4J3H.js +8 -0
  145. package/dist/m/c-ZKKAF4UT.js +3 -0
  146. package/dist/m/c-ZRGEN6QQ.js +4 -0
  147. package/dist/m/core/{admin-attrs-U7IJNYBG.js → admin-attrs-ONRWVXPK.js} +1 -1
  148. package/dist/m/core/{autosave-F5YQCKVL.js → autosave-TBKAAAFB.js} +1 -1
  149. package/dist/m/core/conflict-notice-FOEE6I7E.js +1 -0
  150. package/dist/m/core/draft-mode-4MCL3LYI.js +1 -0
  151. package/dist/m/core/{host-permission-6EVJGNPL.js → host-permission-X4BENZEU.js} +1 -1
  152. package/dist/m/core/{is-edit-mode-GCX6767E.js → is-edit-mode-FFHCQ5DR.js} +1 -1
  153. package/dist/m/core/{persist-CJXIL7D4.js → persist-6ILUR34S.js} +1 -1
  154. package/dist/m/core/{recovery-DRFZRJED.js → recovery-APWADU4K.js} +1 -1
  155. package/dist/m/core/save-6HT2LABE.js +1 -0
  156. package/dist/m/core/save-core-EVMNZQ4V.js +1 -0
  157. package/dist/m/core/site-edits-G4BOZMV4.js +1 -0
  158. package/dist/m/core/{unsaved-warning-HNQVTA2D.js → unsaved-warning-ITZDIZ2I.js} +1 -1
  159. package/dist/m/internals/{index-NRPNDTSA.js → index-HS3CQDFW.js} +1 -1
  160. package/dist/m/loader-GLLVDUZA.js +1 -0
  161. package/dist/m/manifest-50FF1C45.js +1 -0
  162. package/dist/m/manifest-edit-BE1A621D.js +1 -0
  163. package/dist/m/manifest.json +2072 -1811
  164. package/dist/m/page/editor-KAZDJNND.js +307 -0
  165. package/dist/m/plugins/ai-edit-LABECCSN.js +6 -0
  166. package/dist/m/plugins/{cms-H7DTMUQX.js → cms-T2HLI7JG.js} +16 -16
  167. package/dist/m/plugins/{demo-42BSYQ7T.js → demo-T7B4RIKL.js} +1 -1
  168. package/dist/m/plugins/{derive-QVI3LI3A.js → derive-6LPJOCAV.js} +1 -1
  169. package/dist/m/plugins/indicator-J4ABFARX.js +1 -0
  170. package/dist/m/plugins/{live-DCUBKXY4.js → live-PGBIEMGB.js} +1 -1
  171. package/dist/m/plugins/menu-YZL3X2AJ.js +1 -0
  172. package/dist/m/plugins/page-WOCNX2IN.js +2 -0
  173. package/dist/m/plugins/page-view-SJODOOGE.js +1 -0
  174. package/dist/m/plugins/{people-5XRNRP5U.js → people-C4TCWFOQ.js} +1 -1
  175. package/dist/m/plugins/{quickcrop-WWF5I422.js → quickcrop-X5MRIBAP.js} +2 -2
  176. package/dist/m/plugins/richclay-Y2NV44NA.js +549 -0
  177. package/dist/m/plugins/sortable-XCHQG65Z.js +1 -0
  178. package/dist/m/plugins/{source-6BKMK4PO.js → source-YK7MO23W.js} +1 -1
  179. package/dist/m/plugins/{undo-3JEYK5QY.js → undo-VLRBQNPN.js} +1 -1
  180. package/dist/m/plugins/upgrade-NNTJBSK2.js +1 -0
  181. package/dist/m/plugins/{upload-TTCQRIM5.js → upload-ZKKJV76X.js} +1 -1
  182. package/dist/m/plugins/visitor-drafts-RTZNONHT.js +20 -0
  183. package/dist/m/plugins/{visitor-drafts-owner-Z5B2OQBR.js → visitor-drafts-owner-LHUHFU3L.js} +1 -1
  184. package/dist/m/plugins/{visitor-menu-4LQMKLPP.js → visitor-menu-FY4KM2SW.js} +1 -1
  185. package/dist/m/plugins/wire-M2NR354P.js +1 -0
  186. package/dist/m/{reader-core-POFQCKRV.js → reader-core-T2S3JC4E.js} +2 -2
  187. package/dist/m/sync/live-sync-Z64YREWQ.js +1 -0
  188. package/dist/m/ui/index-MGTWOW2C.js +1 -0
  189. package/dist/m/vendor/{sap-core.vendor-OA5SKL7Q.js → sap-core.vendor-QAEPMETX.js} +1 -1
  190. package/dist/offline-manifest.json +1250 -1082
  191. package/dist/server/core.cjs +132 -109
  192. package/dist/server/page-compaction-worker.cjs +5 -5
  193. package/dist/server/rooms.mjs +3 -1
  194. package/docs/guide.md +89 -44
  195. package/entries/clay-data.js +1 -1
  196. package/entries/sap.js +1 -1
  197. package/package.json +5 -3
  198. package/src/blockeditor/themes/content.css +70 -0
  199. package/src/blockeditor/themes/light-1.css +431 -0
  200. package/src/blockeditor/themes/light-1.source.css +270 -0
  201. package/src/blockeditor/themes/light-2.css +211 -0
  202. package/src/blockeditor/themes/light-3.css +130 -0
  203. package/src/blockeditor/themes/light-4.css +299 -0
  204. package/src/core/conflict-notice.js +28 -0
  205. package/src/core/draft-mode.js +6 -0
  206. package/src/core/host-meta.js +6 -6
  207. package/src/core/is-edit-mode.js +9 -3
  208. package/src/core/mode-support.js +3 -0
  209. package/src/core/mode-switch.js +4 -4
  210. package/src/core/mode-transition.js +3 -1
  211. package/src/core/page-format-wire.js +1 -1
  212. package/src/core/page-format.js +8 -8
  213. package/src/core/save-accepted.js +6 -7
  214. package/src/core/save-core.js +52 -23
  215. package/src/core/save-failure-notice.js +37 -0
  216. package/src/core/save-feedback.js +6 -0
  217. package/src/core/save-replace.js +1 -1
  218. package/src/core/save-size.js +2 -2
  219. package/src/core/save.js +78 -15
  220. package/src/core/site-edits.js +166 -0
  221. package/src/core/unsaved-warning.js +2 -2
  222. package/src/core/upgrade-run.js +4 -4
  223. package/src/lib/ai-comment.js +23 -0
  224. package/src/lib/effect.js +8 -0
  225. package/src/lib/idb-error-code.js +20 -0
  226. package/src/live/fast-lane.js +10 -10
  227. package/src/live/local-lane.js +10 -10
  228. package/src/live/page-compaction.js +8 -8
  229. package/src/live/server-lane.js +1 -1
  230. package/src/loader-logic.js +48 -18
  231. package/src/loader.js +11 -6
  232. package/src/page/adopt-boot.js +1 -1
  233. package/src/page/adopt.js +2 -2
  234. package/src/page/ai-area.js +182 -0
  235. package/src/page/ai-preview.js +80 -0
  236. package/src/page/ai-surface.js +257 -0
  237. package/src/page/ai-tool.js +308 -145
  238. package/src/page/announce.js +2 -2
  239. package/src/page/awareness.js +18 -18
  240. package/src/page/blocks.js +35 -34
  241. package/src/page/blocksel.js +2 -2
  242. package/src/page/board-drag.js +11 -11
  243. package/src/page/board-face.js +1 -1
  244. package/src/page/board-panel.js +26 -26
  245. package/src/page/board-style.js +127 -127
  246. package/src/page/board-view.js +48 -48
  247. package/src/page/chart.js +29 -29
  248. package/src/page/checkpoint-proof.js +19 -19
  249. package/src/page/chrome.js +74 -65
  250. package/src/page/clipboard-shape.js +1 -1
  251. package/src/page/csv-import.js +4 -4
  252. package/src/page/drag.js +5 -5
  253. package/src/page/editor.js +301 -296
  254. package/src/page/export-html.js +8 -8
  255. package/src/page/features/checklist.js +36 -36
  256. package/src/page/features/export-html.js +19 -19
  257. package/src/page/features/export-markdown.js +10 -10
  258. package/src/page/features/import-markdown.js +13 -13
  259. package/src/page/features/media.js +50 -50
  260. package/src/page/features/table.js +17 -17
  261. package/src/page/features/title-cover.js +17 -17
  262. package/src/page/features/title-icon.js +7 -7
  263. package/src/page/features/toc.js +1 -1
  264. package/src/page/features/tool.js +42 -18
  265. package/src/page/format-command.js +4 -4
  266. package/src/page/format-gate.js +6 -6
  267. package/src/page/format-host.js +6 -6
  268. package/src/page/format-level.js +3 -3
  269. package/src/page/format-native-commands.js +2 -2
  270. package/src/page/highlight-slot.js +1 -1
  271. package/src/page/highlight.js +4 -4
  272. package/src/page/history-intent.js +2 -2
  273. package/src/page/image-actions.js +4 -4
  274. package/src/page/link.js +10 -10
  275. package/src/page/media.js +3 -3
  276. package/src/page/mention-picker.js +7 -7
  277. package/src/page/merge.js +1 -1
  278. package/src/page/placeholder.js +3 -3
  279. package/src/page/projection.js +11 -11
  280. package/src/page/reader-patch.js +2 -2
  281. package/src/page/recover.js +26 -26
  282. package/src/page/recovery-ui.js +28 -28
  283. package/src/page/rich/chart.js +1 -1
  284. package/src/page/rich/page-tool.js +21 -6
  285. package/src/page/rich/tool-runtime.js +3 -2
  286. package/src/page/save-projection.js +2 -2
  287. package/src/page/save-states.js +9 -9
  288. package/src/page/schema.js +9 -9
  289. package/src/page/table-style.js +21 -21
  290. package/src/page/toc-link.js +1 -1
  291. package/src/page/tool-capability.js +8 -3
  292. package/src/page/tool-transport.js +52 -0
  293. package/src/page/tool-views.js +4 -0
  294. package/src/page/tools.js +6 -1
  295. package/src/page/view.js +6 -6
  296. package/src/page/ybind/binding.js +1 -1
  297. package/src/page/ybind/conversion.js +1 -1
  298. package/src/page/ybind/layout.js +4 -4
  299. package/src/page/ybind/migrate.js +1 -1
  300. package/src/page/ybind/origins.js +2 -2
  301. package/src/page/ybind/provider.js +2 -2
  302. package/src/page/ybind/recovery-proof.js +3 -3
  303. package/src/page/ybind/recovery-replay.js +2 -2
  304. package/src/plugins/ai-edit/picker.js +235 -0
  305. package/src/plugins/ai-edit.js +220 -34
  306. package/src/plugins/indicator-chip.js +39 -34
  307. package/src/plugins/indicator.js +13 -4
  308. package/src/plugins/live.js +21 -13
  309. package/src/plugins/menu/actions.js +89 -17
  310. package/src/plugins/menu/seo.js +32 -6
  311. package/src/plugins/menu/shell-style.js +26 -7
  312. package/src/plugins/menu/shell.js +12 -7
  313. package/src/plugins/menu/variants.js +6 -10
  314. package/src/plugins/menu/visitor.js +44 -34
  315. package/src/plugins/menu.js +3 -2
  316. package/src/plugins/page-view.js +2 -2
  317. package/src/plugins/page.js +257 -98
  318. package/src/plugins/sortable.js +7 -0
  319. package/src/plugins/upgrade.js +2 -1
  320. package/src/plugins/visitor-drafts/commit.js +303 -0
  321. package/src/plugins/visitor-drafts/idb.js +221 -0
  322. package/src/plugins/visitor-drafts/intro-style.js +1 -1
  323. package/src/plugins/visitor-drafts/intro.js +8 -25
  324. package/src/plugins/visitor-drafts/prompt.js +30 -4
  325. package/src/plugins/visitor-drafts/session.js +345 -0
  326. package/src/plugins/visitor-drafts/store.js +351 -32
  327. package/src/plugins/visitor-drafts.js +158 -27
  328. package/src/server/checkpoint/index.js +8 -8
  329. package/src/server/rooms/index.js +2 -2
  330. package/src/server/rooms/live-data-rooms.js +35 -35
  331. package/src/server/rooms/live-page-history.js +2 -2
  332. package/src/server/rooms/page-admission.js +34 -6
  333. package/src/server/rooms/page-conversion.js +1 -1
  334. package/src/server/rooms/page-lineage.js +4 -4
  335. package/src/server/rooms/page-rebase.js +4 -4
  336. package/src/server/rooms/page-room-conformance.js +14 -14
  337. package/src/server/rooms/page-state.js +2 -2
  338. package/src/server/rooms/page-write-admission.js +7 -7
  339. package/src/server/rooms/page-write-guard.js +3 -3
  340. package/src/sync/data-guard-notice.js +265 -0
  341. package/src/sync/live-sync.js +54 -11
  342. package/src/sync/page-relay.js +4 -4
  343. package/src/sync/presence-store.js +1 -1
  344. package/src/sync/presence-target.js +3 -3
  345. package/src/sync/presence.js +1 -1
  346. package/src/sync/stream.js +54 -13
  347. package/src/sync/wire-profile.js +8 -3
  348. package/src/ui/bevel.js +1 -1
  349. package/src/ui/index.js +9 -10
  350. package/src/ui/skins/cms.js +1 -1
  351. package/src/ui/skins/quickcrop.js +1 -1
  352. package/src/ui/skins/richclay.js +2 -2
  353. package/src/ui/toast-lazy.js +12 -3
  354. package/src/ui/toast.js +9 -3
  355. package/src/vendor/hyper-html-api-data.vendor.js +1 -1
  356. package/src/vendor/hyper-html-api-upgrade.vendor.js +2 -2
  357. package/src/vendor/hypercms.vendor.js +16 -16
  358. package/src/vendor/richclay.vendor.js +48 -20
  359. package/src/vendor/sap-core.vendor.js +1 -1
  360. package/tool-generation/context.md +44 -0
  361. package/tool-generation/system.md +23 -0
  362. package/dist/m/c-24PMUJIV.js +0 -2
  363. package/dist/m/c-2AYVYEI4.js +0 -1
  364. package/dist/m/c-2AZDZWCK.js +0 -1
  365. package/dist/m/c-2L6O5PDS.js +0 -6
  366. package/dist/m/c-2RYOGUQM.js +0 -2
  367. package/dist/m/c-2ZVOEU4M.js +0 -1
  368. package/dist/m/c-37NAONZA.js +0 -1
  369. package/dist/m/c-3GJ4SDE2.js +0 -1
  370. package/dist/m/c-3O7OBDCM.js +0 -1
  371. package/dist/m/c-5OJ7YF2N.js +0 -1
  372. package/dist/m/c-5WMXEKFH.js +0 -135
  373. package/dist/m/c-6RDOKLN7.js +0 -1
  374. package/dist/m/c-A4IP6MBC.js +0 -1
  375. package/dist/m/c-A6L3FMUS.js +0 -1
  376. package/dist/m/c-ATKAOH23.js +0 -1
  377. package/dist/m/c-B6O7AJYG.js +0 -32
  378. package/dist/m/c-BCGWJYXW.js +0 -1
  379. package/dist/m/c-BGKAT2FL.js +0 -7
  380. package/dist/m/c-BYTKL6UX.js +0 -1
  381. package/dist/m/c-DHBRA6DL.js +0 -1
  382. package/dist/m/c-DTMZ3ZHI.js +0 -1
  383. package/dist/m/c-E3ZXARWA.js +0 -1
  384. package/dist/m/c-EK63G3CG.js +0 -1
  385. package/dist/m/c-ELYIIYRS.js +0 -1
  386. package/dist/m/c-EXKHPOVC.js +0 -3
  387. package/dist/m/c-FCSZ3DC5.js +0 -20
  388. package/dist/m/c-FTWGYI5E.js +0 -1
  389. package/dist/m/c-G4PWUDD5.js +0 -1
  390. package/dist/m/c-GBKB5WDL.js +0 -2
  391. package/dist/m/c-GBTVCJXC.js +0 -1
  392. package/dist/m/c-GC2HICFJ.js +0 -1
  393. package/dist/m/c-GRWMD6O5.js +0 -1
  394. package/dist/m/c-HCNWJE4A.js +0 -4
  395. package/dist/m/c-HG2C77BM.js +0 -4
  396. package/dist/m/c-JGHEACGK.js +0 -1
  397. package/dist/m/c-JGLX6TBK.js +0 -1
  398. package/dist/m/c-JNRKHYWO.js +0 -1
  399. package/dist/m/c-KBS3UV6B.js +0 -1
  400. package/dist/m/c-KQ7E3PYY.js +0 -1
  401. package/dist/m/c-L3F5ZLIV.js +0 -1
  402. package/dist/m/c-L4KMT7FO.js +0 -6
  403. package/dist/m/c-L5VFATT6.js +0 -1
  404. package/dist/m/c-LCYPMULG.js +0 -1
  405. package/dist/m/c-LIGQYZ7M.js +0 -6
  406. package/dist/m/c-LKIWEPAV.js +0 -1
  407. package/dist/m/c-MPSKIU2I.js +0 -1
  408. package/dist/m/c-N7JPUPGC.js +0 -1
  409. package/dist/m/c-NK33MMYF.js +0 -1
  410. package/dist/m/c-NQLWOHLH.js +0 -10
  411. package/dist/m/c-NTHUTABN.js +0 -1
  412. package/dist/m/c-NWX3MFT4.js +0 -1
  413. package/dist/m/c-OKXI52N7.js +0 -1
  414. package/dist/m/c-OPONJ2UK.js +0 -128
  415. package/dist/m/c-OWQWOGYI.js +0 -1
  416. package/dist/m/c-P6Q2ZTFQ.js +0 -1
  417. package/dist/m/c-QEN6HZCA.js +0 -1
  418. package/dist/m/c-QIXT3Q7C.js +0 -28
  419. package/dist/m/c-QM5LXRDT.js +0 -9
  420. package/dist/m/c-QYYUVLVG.js +0 -1
  421. package/dist/m/c-RQRMPZXD.js +0 -1
  422. package/dist/m/c-SBCBXKOZ.js +0 -26
  423. package/dist/m/c-SKF5HL4I.js +0 -4
  424. package/dist/m/c-SRPC3VBE.js +0 -1
  425. package/dist/m/c-TANBH7FI.js +0 -1
  426. package/dist/m/c-THGQQDYY.js +0 -1
  427. package/dist/m/c-UD5JZTDL.js +0 -1
  428. package/dist/m/c-UDGEFWNU.js +0 -1
  429. package/dist/m/c-UGNV5MFB.js +0 -1
  430. package/dist/m/c-VIRFF5HG.js +0 -8
  431. package/dist/m/c-VJYEVRYK.js +0 -1
  432. package/dist/m/c-VQCEOGKH.js +0 -13
  433. package/dist/m/c-VYJ7O4RI.js +0 -34
  434. package/dist/m/c-W7IPVCAA.js +0 -1
  435. package/dist/m/c-WBGWGOM7.js +0 -1
  436. package/dist/m/c-WJ5DRBHT.js +0 -72
  437. package/dist/m/c-X5WC4PX5.js +0 -1
  438. package/dist/m/c-XCFQEWW6.js +0 -3
  439. package/dist/m/c-XGH4GS2T.js +0 -1
  440. package/dist/m/c-XLQ3BDMM.js +0 -1
  441. package/dist/m/c-ZQXNHZZT.js +0 -72
  442. package/dist/m/core/conflict-notice-42H4ASLA.js +0 -1
  443. package/dist/m/core/draft-mode-WSQAT67S.js +0 -1
  444. package/dist/m/core/save-ESPSQPLV.js +0 -1
  445. package/dist/m/core/save-core-6SQHOR6W.js +0 -1
  446. package/dist/m/loader-FBDE2UAB.js +0 -1
  447. package/dist/m/manifest-1D2F5CA5.js +0 -1
  448. package/dist/m/manifest-edit-F7CC5CFD.js +0 -1
  449. package/dist/m/page/editor-OSKOW6RS.js +0 -304
  450. package/dist/m/plugins/ai-edit-VV4QTINH.js +0 -6
  451. package/dist/m/plugins/indicator-WVPGMOZ7.js +0 -1
  452. package/dist/m/plugins/menu-Q4MFFQ6E.js +0 -1
  453. package/dist/m/plugins/page-OAWUJQEL.js +0 -2
  454. package/dist/m/plugins/page-view-DZ26ZDDQ.js +0 -1
  455. package/dist/m/plugins/richclay-PGOOJ4OK.js +0 -517
  456. package/dist/m/plugins/sortable-266HY6TR.js +0 -1
  457. package/dist/m/plugins/upgrade-BNZVFHMZ.js +0 -1
  458. package/dist/m/plugins/visitor-drafts-2AUYKAIJ.js +0 -20
  459. package/dist/m/plugins/wire-W2EV36KZ.js +0 -1
  460. package/dist/m/sync/live-sync-XGUPHI3I.js +0 -1
  461. package/dist/m/ui/index-VGYAKAKI.js +0 -1
  462. package/dist/page/themes/light-1.css +0 -431
  463. package/src/page/themes/content.css +0 -70
  464. package/src/page/themes/light-1.css +0 -431
  465. package/src/page/themes/light-1.source.css +0 -270
  466. package/src/page/themes/light-2.css +0 -211
  467. package/src/page/themes/light-3.css +0 -130
  468. package/src/page/themes/light-4.css +0 -299
  469. /package/dist/m/{c-FILLTJA7.js → c-QTTJYJMA.js} +0 -0
  470. /package/dist/m/plugins/{quickcrop-WWF5I422.js.LEGAL.txt → quickcrop-X5MRIBAP.js.LEGAL.txt} +0 -0
  471. /package/dist/m/plugins/{richclay-PGOOJ4OK.js.LEGAL.txt → richclay-Y2NV44NA.js.LEGAL.txt} +0 -0
@@ -0,0 +1 @@
1
+ import{a as O}from"./c-WN3MXOLT.js";import{d as A}from"./c-QQFHEODI.js";var p=1,D=8*1024,B=256,L=1024,Y=128,X=128,G=Object.freeze(["title","description","labels","members","dates","checklist","comment","attachments"]),m=250,E=5e3,it=15e3;var W=new Set(["kind","id","field"]),$=new Set(["kind","v","epoch","generation","selection"]),q=new Set(["kind","anchor","head"]),F=new Set(["kind","ids"]),J=new Set(["kind","block","row","col"]),V=new Set(["block","rel"]),H=/^[\x20-\x7e]+$/,U=/^[A-Za-z0-9+/]+={0,2}$/,Z=/[\u0000-\u001f\u007f]/,o=t=>({ok:!1,reason:t}),a=t=>({ok:!0,target:t}),g=t=>!!t&&typeof t=="object"&&!Array.isArray(t),d=(t,e)=>{for(let n of Object.keys(t))if(!e.has(n))return!1;return!0};function T(t){let e=0;for(let n of t){let s=n.codePointAt(0);e+=s<128?1:s<2048?2:s<65536?3:4}return e}function u(t){return typeof t=="string"&&t.length>0&&!Z.test(t)&&T(t)<=B}function Q(t){if(typeof t!="string"||!t.length||t.length%4!==0||!U.test(t))return!1;let e=t.endsWith("==")?2:t.endsWith("=")?1:0;return t.length/4*3-e<=L}function _(t){return!g(t)||!d(t,V)||!u(t.block)||!Q(t.rel)?null:{block:t.block,rel:t.rel}}function v(t){if(!g(t))return null;if(t.kind==="text"){if(!d(t,q))return null;let e=_(t.anchor),n=_(t.head);return e&&n?{kind:"text",anchor:e,head:n}:null}if(t.kind==="blocks"){if(!d(t,F)||!Array.isArray(t.ids)||!t.ids.length||t.ids.length>X)return null;for(let e of t.ids)if(!u(e))return null;return{kind:"blocks",ids:[...t.ids]}}return t.kind==="cell"?!d(t,J)||!u(t.block)||!u(t.row)||!u(t.col)?null:{kind:"cell",block:t.block,row:t.row,col:t.col}:null}function w(t){return T(JSON.stringify(t))<=D}function tt(t){if(!d(t,W))return o("key");let e=t.id;if(typeof e!="string"||!e.length||e.length>Y||!H.test(e))return o("id");if(t.field===void 0){let s={kind:"record",id:e};return w(s)?a(s):o("size")}if(typeof t.field!="string"||!G.includes(t.field))return o("field");let n={kind:"record",id:e,field:t.field};return w(n)?a(n):o("size")}function et(t){if(!d(t,$))return o("key");if(t.v!==p)return o("version");if(!u(t.epoch))return o("epoch");if(!Number.isSafeInteger(t.generation)||t.generation<0)return o("generation");let e=v(t.selection);if(!e)return o("selection");let n={kind:"blockeditor",v:p,epoch:t.epoch,generation:t.generation,selection:e};return w(n)?a(n):o("size")}function y(t){return t===null?a(null):typeof t=="string"?O.test(t)?a(t):o("path"):g(t)?t.kind==="record"?tt(t):t.kind==="blockeditor"?et(t):o("kind"):o("shape")}function R(t){let e=y(t===void 0?null:t);return!e.ok||e.target!==null&&typeof e.target=="object"&&e.target.kind!=="record"?null:e.target}function z(t){return t==null?"":typeof t=="string"?`path:${t}`:`target:${JSON.stringify(t)}`}function C(t,e=null){let n=Array.isArray(t)?t:[],s=[];for(let i of n){if(!g(i))continue;let r=u(i.id)?i.id:null;if(!r)continue;let h=Number.isSafeInteger(i.n)&&i.n>=0?i.n:0,c=e&&e.get(r);if(c&&h<c.n){s.push(c);continue}let f=y(i.editing===void 0?null:i.editing);s.push({id:r,you:i.you===!0,n:h,editing:f.ok?f.target:null})}return s}function I(t){if(!g(t))return null;let e=u(t.id)?t.id:null,n=typeof t.token=="string"&&t.token.length?t.token:null;return e&&n?{id:e,token:n}:null}function N({target:t=null,session:e=null,n=0}){if(t==null||typeof t=="string")return{editing:t??null};let s=e&&typeof e.token=="string"&&e.token.length?e.token:null;return s?!Number.isSafeInteger(n)||n<0?null:{v:p,session:s,n,editing:t}:t.kind==="record"?{editing:t}:null}var nt=()=>Object.freeze({supported:!1,recordAwareness:!1,pageAwareness:!1,people:Object.freeze([]),anonymous:0}),k=class{constructor(){this.supported=!1,this.recordAwareness=!1,this.pageAwareness=!1,this.people=[],this.anonymous=0,this.snapshot=nt(),this.listeners=new Set,this.sessions=new Map,this.session=null,this.target=null,this.heldKey="",this.owner=null,this.explicit=!1,this.connecting=null,this.n=0,this.sentKey=null,this.timer=null,this.timerKind=null,this.inflight=!1,this.inflightOwner=null,this.inflightKey=null}getSnapshot(){return this.snapshot}subscribe(e){if(typeof e!="function")throw new TypeError("clay.presence.subscribe needs a listener function");return this.listeners.add(e),e(this.snapshot),()=>{this.listeners.delete(e)}}setCapabilities({supported:e=!1,recordAwareness:n=!1,pageAwareness:s=!1}={}){let i=e===!0,r=n===!0,h=s===!0;return i===this.supported&&r===this.recordAwareness&&h===this.pageAwareness?this.snapshot:(this.supported=i,this.recordAwareness=r,this.pageAwareness=h,this.emit())}receive(e){let n=e&&typeof e=="object"?e:{},s=Array.isArray(n.people)?n.people:[],i=this.sessions,r=new Map,h=[];for(let l of s){if(!l||typeof l.id!="string"||!l.id)continue;let P=typeof l.name=="string"&&l.name.trim()?l.name.trim():"Someone",b=C(l.sessions,i);for(let K of b)r.set(K.id,K);let x={id:l.id,name:P,you:l.you===!0,editing:R(l.editing),sessions:b};typeof l.canEdit=="boolean"&&(x.canEdit=l.canEdit),h.push(x)}this.people=h,this.sessions=r;let c=n.anonymous;this.anonymous=typeof c=="number"&&Number.isFinite(c)&&c>0?Math.floor(c):0;let f=I(n.selfSession),M=!this.session||!this.session.token;f&&(this.session=f);let j=this.emit();return f&&M&&this.owner&&this.target!==null&&(this.sentKey=null,this.flush()),j}clear(){return this.people=[],this.anonymous=0,this.sessions=new Map,this.session=null,this.cancel(),this.sentKey=null,this.emit()}setTarget(e){let n=y(e===void 0?null:e);return n.ok?(this.explicit=!0,this.hold(n.target)):!1}setGeneric(e){if(this.explicit)return!1;let n=y(e===void 0?null:e);return n.ok?this.hold(n.target):!1}releaseTarget(){return this.explicit?(this.explicit=!1,this.hold(null)):!1}hold(e){let n=z(e);return n===this.heldKey?(this.owner&&this.sentKey!==n&&this.schedule(m),!0):(this.target=e,this.heldKey=n,e===null?(this.cancel(),this.flush(),!0):(this.schedule(m),!0))}attachTransport(e){if(!e||typeof e.send!="function")throw new TypeError("clay.presence.attachTransport needs a transport with a send function");let n=this,s={send:e.send,get active(){return n.owner===s},detach(){if(n.owner!==s)return;let i=n.heldKey===""&&typeof n.inflightKey=="string"&&n.inflightKey!=="";if(n.owner=null,n.session=null,n.n=0,n.sentKey=null,n.inflight=!1,n.inflightOwner=null,n.inflightKey=null,n.cancel(),n.target=null,n.heldKey="",n.explicit=!1,n.clear(),i)try{Promise.resolve(s.send({editing:null})).catch(()=>{})}catch{}}};return this.owner=s,this.session=null,this.n=0,this.sentKey=null,this.inflight=!1,this.inflightOwner=null,this.inflightKey=null,this.cancel(),this.target!==null&&this.flush(),s}connect({send:e=null}={}){return this.connecting?this.connecting:(this.connecting=A().then(n=>{let s=Array.isArray(n?.extensions)?n.extensions:[],i=n?.document&&typeof n.document=="object"?n.document.awareness:null;if(i&&i.transport==="broadcast"&&(s.includes("blockeditor-awareness-v1")||s.includes("record-awareness-v1"))){let r=typeof i.scope=="string"&&i.scope?i.scope:null;return import("./c-C5AKJVRH.js").then(({localPresence:h})=>{let c=h({scope:r,store:this}),f=c.start();return f?Object.defineProperty(f,"stop",{value:()=>c.stop()}):null})}return typeof e=="function"&&s.includes("presence-editing")?this.attachTransport({send:e}):null}).finally(()=>{this.connecting=null}),this.connecting)}reconnect(){this.session=null,this.n=0,this.sentKey=null,this.cancel(),!(!this.owner||this.target===null)&&this.flush()}emit(){let e=this.people.map(n=>Object.freeze({...n,sessions:Object.freeze(n.sessions)}));this.snapshot=Object.freeze({supported:this.supported,recordAwareness:this.recordAwareness,pageAwareness:this.pageAwareness,people:Object.freeze(e),anonymous:this.anonymous});for(let n of[...this.listeners])n(this.snapshot);return this.snapshot}schedule(e,n="coalesce"){if(this.timer!==null){if(this.timerKind==="coalesce")return;clearTimeout(this.timer)}this.timerKind=n,this.timer=setTimeout(()=>{this.timer=null,this.timerKind=null,this.flush()},e)}cancel(){this.timer!==null&&(clearTimeout(this.timer),this.timer=null,this.timerKind=null)}renew(){this.timer!==null||!this.owner||this.target===null||this.schedule(E,"renew")}flush(){if(this.inflight)return;let e=this.owner;if(!e)return;let n=this.n+1,s=N({target:this.target,session:this.session,n});if(!s)return;this.cancel(),this.sentKey=this.heldKey,this.inflight=!0,this.inflightOwner=e,this.inflightKey=this.sentKey,s.v===p&&(this.n=n);let i=r=>{if(this.inflightOwner===e&&(this.inflight=!1,this.inflightOwner=null,this.inflightKey=null,this.owner===e)){if(this.heldKey!==this.sentKey){this.flush();return}r?this.renew():this.schedule(E,"renew")}};Promise.resolve(e.send(s)).then(r=>i(!!r),()=>i(!1))}},S=new k,ct=S;if(typeof window<"u"&&(window.clay=window.clay||{},!window.clay.presence)){window.clay.presence=S;try{document.dispatchEvent(new CustomEvent("clay:presence-ready",{detail:{presence:S}}))}catch{}}export{p as a,E as b,it as c,y as d,k as e,S as f,ct as g};
@@ -0,0 +1 @@
1
+ import{b as N}from"./c-7WZSUTYP.js";import{a as _}from"./c-I2SCCUEW.js";import{c as k,d as h,e as G,f as b,i as M}from"./c-PGSBXHUE.js";import"./c-VHNSBD2M.js";var x="blockeditor-format-command",U="This document uses a newer page format; update the editor in the other tabs to keep writing",R=i=>({status:"upgrade-required",code:h,required:i,minimum:i,message:U});function J({host:i,capability:A=1,supported:T=()=>!0,installed:y=()=>null,revision:w=()=>null,lane:E=null}={}){if(!i||typeof i.activate!="function")throw new TypeError("format-gate: a host adapter is required");let t=0,d=null,l=!1,u=null,f=!1,v=Promise.resolve(!1),c=null,s=!1;function p(e){return t=Math.max(t,G(e)),M(t),t>=1&&P(),t}function P(){return f||s||(f=!0,l=!0,v=m(null)),v}async function F(){try{let e=await i.read();p(e?.floor??b(e?.html))}catch{}return t}async function D(){try{let e=await i.capabilities();return Array.isArray(e)?e:[]}catch{return[]}}async function O(){try{return await T()!==!1}catch{return!1}}async function S(){if(s)return{status:"disposed",retry:!1};if(!await O())return{status:"unsupported-host",code:"blockeditor-format-unsupported",extension:k};if(await F(),t>=1)return await P(),{status:"active",floor:t};let e=await D(),a=N({floor:t,required:1,capability:A,admitted:e});if(!a.ok)return R(a.minimum);let o={revision:w(),installed:y()},n;try{n=await i.activate({floor:1,capability:A,revision:o.revision,installed:o.installed})}catch(q){return{status:"failed",code:"blockeditor-format-activation-failed",error:q,retry:!0}}return!n||n.accepted!==!0?n?.code===h?R(1):{status:"failed",code:n?.code??"blockeditor-format-activation-failed",retry:!0}:s?(f=!0,p(1),{status:"disposed",retry:!1}):(f=!0,p(1),l=!0,u=n.receipt??null,await m(u),{status:"active",floor:t,receipt:u})}async function m(e){if(!E||!l)return!1;if(c)return c;let a=e??u;c=(async()=>{try{let o=await E.switchScope(1,{covered:!!a,receipt:a});if(o&&(o.status==="switched"||o.status==="already"))return l=!1,u=null,!0}catch{}return!1})();try{return await c}finally{c=null}}function g(){return s?Promise.resolve({status:"disposed",retry:!1}):t>=1?m(null).then(()=>({status:"active",floor:t})):(d||(d=S().finally(()=>{d=null})),d)}return{get floor(){return t},get disposed(){return s},note:p,read:F,activate:g,async run(e){let a={revision:w(),installed:y()},o=_({id:x,isPending:()=>!0});try{let n=await g();return n.status!=="active"?n:s?{status:"disposed",retry:!1}:w()!==a.revision||y()!==a.installed?{status:"retry",code:"format-gate-stale",retry:!0}:{status:"applied",floor:t,result:await e?.apply?.(a)}}finally{o.dispose()}},async retry(){return s?{status:"disposed",retry:!1}:await m(null)?{status:"active",floor:t}:g()},dispose(){return s=!0,l=!1,u=null,{status:"disposed"}}}}export{J as createFormatGate};
@@ -0,0 +1 @@
1
+ import{C as h,d as f,h as x}from"./c-ZRGEN6QQ.js";import{A as g,c as I,d as $}from"./c-OH2FPYSY.js";import{b as E}from"./c-RETTCOWO.js";var{Plugin:B,PluginKey:j}=E,k=$.nodes,m=new j("blockeditor-media"),L=1.5*1024*1024,u=new WeakMap,C=new WeakMap,U=(t,o)=>{let s=t.resolve(Math.max(0,Math.min(o,t.content.size)));return s.depth===0?s.pos:s.after(1)};function b(t,o){let s=x(t.doc),e=s[Math.min(o,s.length-1)],a=e.node.type===k.paragraph&&e.node.content.size===0;return{hostId:e.node.attrs.id,at:a?e.at:s[e.subEnd].end,parent:e.node.attrs.parent??null,replaceId:a?e.node.attrs.id:null}}var O={init:()=>({items:[],placed:{},picker:null}),apply(t,o){let{items:s,placed:e,picker:a}=o;if(t.docChanged&&(s=s.map(r=>({...r,pos:U(t.doc,t.mapping.map(r.pos,-1))}))),a&&t.docChanged&&(a={...a,place:{...a.place,at:U(t.doc,t.mapping.map(a.place.at,-1))}},a.remove)){let r=t.mapping.map(a.remove.from,1),c=t.mapping.map(a.remove.to,-1);a=r<=c&&t.doc.textBetween(r,c)===a.remove.text?{...a,remove:{...a.remove,from:r,to:c}}:null}let n=t.getMeta(m);if(n?.picker!==void 0&&(a=n.picker),n?.add&&(s=[...s,...n.add]),n?.update&&(s=s.map(r=>r.id===n.update.id?{...r,...n.update}:r)),n?.placed){let{id:r,at:c,size:d,blockId:p}=n.placed,i=o.items.find(l=>l.id===r);s=s.filter(l=>l.id!==r).map(l=>i&&l.pos===c&&l.group===i.group&&l.order>i.order?{...l,pos:l.pos+d}:l),i&&(e={...e,[i.group]:[...e[i.group]||[],p]})}n?.remove&&(s=s.filter(r=>r.id!==n.remove));for(let r of Object.keys(e))s.some(c=>c.group===r)||(e={...e},delete e[r]);return{items:s,placed:e,picker:a}}};function R(t,o,s){if(!o)return;let e=null,a=null;t.doc.forEach((n,r)=>{n.attrs.id===o&&e&&s.includes(e.attrs.id)&&(a={n,off:r}),e=n}),a&&a.n.type===k.paragraph&&a.n.content.size===0&&t.delete(a.off,a.off+a.n.nodeSize)}function P(t,o,s){let{items:e,placed:a}=m.getState(t),n=e.find(i=>i.id===o);if(!n)return null;let r=U(t.doc,n.pos),c=g(),d=(n.kind==="image"?k.image:k.file).create({...s,id:c,pos:null,parent:n.parent}),p=t.tr.insert(r,d);return e.some(i=>i.group===n.group&&i.id!==o)||R(p,n.replaceId,[...a[n.group]||[],c]),h(p).setMeta(m,{placed:{id:o,at:r,size:d.nodeSize,blockId:c}})}function F(t,o){let{items:s,placed:e}=m.getState(t),a=s.find(r=>r.id===o);if(!a)return null;let n=t.tr;return s.some(r=>r.group===a.group&&r.id!==o)||R(n,a.replaceId,e[a.group]||[]),n.docChanged&&h(n),n.setMeta(m,{remove:o})}function y(t,o,s=b(t.state,t.state.selection.$head.index(0))){if(o=[...o].filter(Boolean),!o.length)return!1;let e=g("g"),a=o.map((n,r)=>{let c=/^image\//.test(n.type||"")?"image":"file";return{id:g("u"),pos:s.at,group:e,order:r,file:n,kind:c,name:n.name||(c==="image"?"image":"file"),parent:s.parent,replaceId:s.replaceId,state:"uploading",percent:0,preview:c==="image"&&globalThis.URL?.createObjectURL?URL.createObjectURL(n):null}});t.dispatch(t.state.tr.setMeta(m,{add:a}));for(let n of a)H(t,n);return f(t,o.length===1?`Uploading ${a[0].name}`:`Uploading ${o.length} files`),!0}var z=(t,o)=>m.getState(t.state).items.find(s=>s.id===o),M=(t,o,s)=>t.dispatch(t.state.tr.setMeta(m,{update:{id:o,...s}})),A=(t,o)=>t.kind==="image"?{src:o,alt:"",caption:""}:{src:o,name:t.name,size:t.file.size??null,mime:t.file.type||null};function T(t,o,s){t.preview&&URL.revokeObjectURL?.(t.preview),s&&o.dispatch(s)}async function H(t,o){let s=u.get(t),e=new AbortController;s.aborts.set(o.id,e);let a=-5,n=({percent:d})=>{d-a<5&&d!==100||(a=d,u.has(t)&&z(t,o.id)&&M(t,o.id,{percent:d}))},r;try{r=await s.upload(o.file,{onProgress:n,signal:e.signal})}catch{r={code:"network",msg:"Upload failed"}}if(s.aborts.delete(o.id),!u.has(t)||!z(t,o.id))return;if(r?.ok){let d=I(r.uploads?.[0]?.url);if(d){T(o,t,P(t.state,o.id,A(o,d))),f(t,`${o.name} added`);return}r={code:"bad-response",msg:"The upload returned an invalid address"}}if((!r||typeof r!="object")&&(r={code:"bad-response",msg:"The upload returned an invalid response"}),r.code==="aborted")return T(o,t,F(t.state,o.id));if(r.code==="unsupported"){let d=/^image\/(png|jpeg|gif|webp)$/i.test(o.file.type)&&o.file.size<=L,p=d?"This host doesn't store files. You can keep this image inside the document, which makes the document larger.":o.kind==="image"&&o.file.size>L?"This host doesn't store files, and this image is over 1.5 MB, too large to keep inside the document.":"This host doesn't store files.";M(t,o.id,{state:d?"embed-choice":"error",code:r.code,message:p}),f(t,`${o.name}: ${p}`);return}let c=r.code==="timeout"?"The upload timed out. It may have arrived; trying again is safe.":r.msg||"Upload failed";M(t,o.id,{state:"error",code:r.code,message:c}),f(t,`${o.name}: ${c}`)}var Y=t=>t.replace(/<(meta|style|img)\b[^>]*>/gi,"").replace(/<[^>]+>/g,"").trim()!=="";function Q({upload:t,features:o=null}){let s=e=>{!o||o.has("media")||!u.has(e)||o.ensure("media").catch(()=>{})};return new B({key:m,state:O,view(e){let n=e.dom.ownerDocument.createElement("input");n.type="file",n.multiple=!0,n.hidden=!0,n.className="blockeditor-file-input",e.dom.parentElement.append(n),u.set(e,{upload:t,aborts:new Map,input:n}),n.addEventListener("change",()=>{let c=[...n.files??[]],d=m.getState(e.state).picker;if(e.dispatch(e.state.tr.setMeta(m,{picker:null})),c.length&&d){let{remove:p}=d;p&&e.state.doc.textBetween(p.from,p.to)===p.text&&e.dispatch(h(e.state.tr.delete(p.from,p.to)));let i=_(e.state.doc,d.place.hostId);(!d.place.hostId||i>=0)&&(y(e,c,i>=0?b(e.state,i):d.place),s(e))}n.value="",e.focus()}),n.addEventListener("cancel",()=>e.dispatch(e.state.tr.setMeta(m,{picker:null})));let r=c=>{let d=c.target.closest?.(".blockeditor-upload-btn");if(!d)return;c.preventDefault();let p=C.get(e),i=d.dataset.upload;d.dataset.act==="retry"?p?.retryUpload(e,i):d.dataset.act==="embed"?p?.embedUpload(e,i):p?.cancelUpload(e,i)};return e.dom.addEventListener("click",r),{destroy(){e.dom.removeEventListener("click",r);let c=u.get(e);u.delete(e);for(let d of m.getState(e.state).items)d.preview&&URL.revokeObjectURL?.(d.preview);for(let d of c.aborts.values())d.abort();n.remove()}}},props:{handlePaste(e,a){let n=a.clipboardData,r=[...n?.files??[]];if(!r.length||e.state.selection.$from.parent.type.spec.code||Y(n.getData("text/html")||""))return!1;let c=b(e.state,e.state.selection.$head.index(0));return a.preventDefault(),y(e,r,c),s(e),!0},handleDrop(e,a,n,r){let c=[...a.dataTransfer?.files??[]];if(r||!c.length)return!1;let d=e.posAtCoords({left:a.clientX,top:a.clientY});if(!d)return!1;let p=x(e.state.doc),i=Math.min(e.state.doc.resolve(d.pos).index(0),p.length-1),l=e.nodeDOM(p[i].at)?.getBoundingClientRect?.(),D=l&&a.clientY<l.top+l.height/2;a.preventDefault();let S={at:D?p[i].at:p[p[i].subEnd].end,parent:p[i].node.attrs.parent??null,replaceId:null};return y(e,c,S),s(e),!0}}})}var _=(t,o)=>{let s=-1;return t.forEach((e,a,n)=>{e.attrs.id===o&&(s=n)}),s};function V(t,o,s=b(t.state,t.state.selection.$head.index(0)),e=null){let a=u.get(t);if(!a)return!1;let n={place:s,remove:e&&{...e,text:t.state.doc.textBetween(e.from,e.to)}};return t.dispatch(t.state.tr.setMeta(m,{picker:n})),a.input.accept=o,a.input.click(),!0}export{m as a,L as b,u as c,C as d,U as e,b as f,P as g,F as h,z as i,M as j,A as k,T as l,H as m,Q as n,V as o};
@@ -1,4 +1,4 @@
1
- import{b as x}from"./c-QY7F6EN6.js";import{a as w}from"./c-5B4YBZXC.js";import"./c-I2SCCUEW.js";import"./c-XGH4GS2T.js";import"./c-3O7OBDCM.js";import"./c-BPF2NSPV.js";import"./c-P7KNDG34.js";import"./c-CYWLPPUS.js";import"./c-N7JPUPGC.js";import"./c-HA6INT6J.js";import"./c-ICMAOOGK.js";import"./c-WRBKEJD4.js";import"./c-VHNSBD2M.js";var S=`.clay-upload {
1
+ import{b as x}from"./c-QY7F6EN6.js";import{a as w}from"./c-P2HKMJAW.js";import"./c-I2SCCUEW.js";import"./c-QQFHEODI.js";import"./c-EDE45NM7.js";import"./c-BPF2NSPV.js";import"./c-P7KNDG34.js";import"./c-CYWLPPUS.js";import"./c-U4NTUVDZ.js";import"./c-HA6INT6J.js";import"./c-ICMAOOGK.js";import"./c-WRBKEJD4.js";import"./c-VHNSBD2M.js";var S=`.clay-upload {
2
2
  display: flex;
3
3
  flex-wrap: wrap;
4
4
  align-items: center;
@@ -1 +1 @@
1
- import{d as A,e as I}from"./c-XGH4GS2T.js";import{f as b,j as T}from"./c-3O7OBDCM.js";import{c as M}from"./c-BPF2NSPV.js";var B=15e3,P=12e4,K=15e3,V=4e3,W=5e3,U=50,y=new Set(["sent","acked"]),R=new Set(["done","error","cancelled"]),j="wire",a=new Map,k=new Set,f=null,g=null,D=0,h=null;function Q(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():`page-${Date.now()}-${Math.random().toString(16).slice(2)}`}function H(e){return new URL(e,window.location.origin).href}function N(){let e=M();return typeof e=="string"&&e!==""?e:null}function w(e){return{id:e.id,type:e.type,state:e.state,helper:e.helper,text:e.text,result:e.result,error:e.error,errorCode:e.errorCode,errorDetails:e.errorDetails,errorSource:e.errorSource,startedAt:e.startedAt}}function m(e,t){let n=w(e);for(let r of k)try{r(n,t||null)}catch(s){console.error("clay.wire: a listener threw",s)}document.dispatchEvent(new CustomEvent("clay:wire-state",{detail:n}))}function Y(e,t){e.state!==t&&(e.state=t,m(e))}function v(e,t,n,{cancelFirst:r=!1,errorCode:s=null}={}){clearTimeout(e.timer),e.timer=setTimeout(()=>{e.timer=null,r&&z(e),l(e,"error",n,{errorCode:s,errorSource:"client"})},t)}function q(e){clearTimeout(e.timer),e.timer=null}function Z(){if(!(a.size<=U))for(let[e,t]of a){if(a.size<=U)break;!y.has(t.state)&&t.state!=="landing"&&a.delete(e)}}function ee(){if(g)return g;let e=N(),t=`/_/wire/subscribe?page-url=${encodeURIComponent(window.location.href)}`+(e?`&token=${encodeURIComponent(e)}`:"");return f=new EventSource(H(t)),f.onmessage=n=>{let r;try{r=JSON.parse(n.data)}catch{return}te(r)},f.onerror=()=>{},g=new Promise(n=>{let r=!1,s=()=>{r||(r=!0,n())};f.onopen=s,setTimeout(s,2e3)}),g}function L(){for(let e of a.values())if(y.has(e.state))return;f&&(f.close(),f=null,g=null)}function te(e){if(!e||typeof e.id!="string")return;let t=a.get(e.id);if(!(!t||!y.has(t.state)))switch(e.type){case"wire/ack":e.payload?.mode==="jsonl"&&Number.isFinite(e.payload.budgetMs)&&e.payload.budgetMs>0?(t.structured=!0,v(t,e.payload.budgetMs+K,"the helper did not finish within its execution budget",{cancelFirst:!0,errorCode:"helper_timeout"})):v(t,P,"the agent stopped responding"),Y(t,"acked");break;case"wire/status":t.structured||v(t,P,"the agent stopped responding"),t.text=typeof e.text=="string"?e.text:"",t.state="acked",ne(t,e),m(t,e);break;case"wire/done":t.result=Object.prototype.hasOwnProperty.call(e,"payload")?e.payload:null,t.document==="edit"?ie(t):l(t,"done",null);break;case"wire/error":re(t,e);break;default:break}}function ne(e,t){if(!e.onStatus||typeof t.text!="string")return;let n={text:t.text};t.payload&&typeof t.payload=="object"&&Object.prototype.hasOwnProperty.call(t.payload,"progress")&&(n.progress=t.payload.progress);try{e.onStatus(n)}catch(r){console.error("clay.wire: an onStatus listener threw",r)}}function re(e,t){let n=t.payload,r=n&&typeof n=="object"&&!Array.isArray(n)&&(n.source==="application"||n.source==="host")&&typeof n.code=="string"&&n.code,s=typeof t.text=="string"&&t.text?t.text:"the handler reported an error";if(!r){l(e,"error",s);return}let i=n.source==="host"&&n.code==="helper_cancelled"?"cancelled":"error";l(e,i,s,{errorCode:n.code,errorDetails:Object.prototype.hasOwnProperty.call(n,"details")?n.details:null,errorSource:n.source})}function oe(){h||(h=e=>{if(e.detail?.source!=="peer"){for(let t of a.values())if(t.state==="landing"){l(t,"done",null);return}}},document.addEventListener("clay:sync-applied",h))}function se(){D>0||!h||(document.removeEventListener("clay:sync-applied",h),h=null)}function ie(e){R.has(e.state)||e.state==="landing"||(q(e),e.state="landing",D++,oe(),e.landingTimer=setTimeout(()=>{l(e,"done",null)},V),m(e),L())}function l(e,t,n,r={}){if(R.has(e.state))return;let s=e.state==="landing";if(q(e),clearTimeout(e.landingTimer),e.landingTimer=null,e.abort?.abort(),s&&(D--,se()),e.error=n,Object.prototype.hasOwnProperty.call(r,"errorCode")&&(e.errorCode=r.errorCode),Object.prototype.hasOwnProperty.call(r,"errorDetails")&&(e.errorDetails=r.errorDetails),Object.prototype.hasOwnProperty.call(r,"errorSource")&&(e.errorSource=r.errorSource),e.state=t,e.signal&&e.signalHandler&&(e.signal.removeEventListener("abort",e.signalHandler),e.signalHandler=null),ue(e),m(e),L(),Z(),e.settle){let i=e.settle;e.settle=null,i(w(e))}}var C=0,$=null,E=null;function ae(){return E||(E=import("./core/save-ESPSQPLV.js")),E}async function le(e){if(!b||e.holdsSave)return;let t=await ae();e.state==="sent"&&($=t,e.holdsSave=!0,!(C++>0)&&t.suspendAutosave())}function ue(e){e.holdsSave&&(e.holdsSave=!1,!(--C>0)&&(C=0,$?.resumeAutosave()))}var c=null,de=()=>!c||c.admitted,ce=(e,t,n)=>Object.assign(new Error(`clay.wire: ${e}`),{code:t,pending:n});function O(e){return e.document!=="edit"||e.generation===T().generation&&de()?!0:(l(e,"error","the page changed mode before this request went out",{errorCode:"stale-document",errorSource:"client"}),!1)}function _e(){return{id:"clay:wire",order:900,prepare(e={}){let t={admitted:e.initial===!0};return c=t,{enable(){c===t&&(t.admitted=!0)},quiesce(){if(c!==t)return;t.admitted=!1;let n=[...a.values()].filter(r=>r.document==="edit"&&(r.holdsSave||y.has(r.state))).map(r=>r.id);if(n.length)throw ce("a request on this page has not settled","pending-input",n)},resume(){c===t&&(t.admitted=!0)},dispose(){c===t&&(c=null)}}}}}function fe(e,t){return new Promise(n=>{let r=!1,s=()=>{r||(r=!0,document.removeEventListener(e,s),n())};document.addEventListener(e,s),setTimeout(s,t)})}async function pe(){if(!b)return;let e=window.clay;if(!e||typeof e.save!="function")return;let{isSaveInProgress:t}=await import("./core/save-core-6SQHOR6W.js"),{savesHeld:n,saveHoldReason:r}=await import("./core/save-ESPSQPLV.js");if(n())throw new Error(r());let s=Date.now()+W;for(let i=0;i<3;i++){t()&&await fe("clay:save-saved",Math.max(0,s-Date.now()));let u=await e.save();if(u?.ok||u?.msgType==="skipped"&&!t())return;if(u?.msgType==="error"||u?.msgType==="unknown")throw new Error(`could not save this page first: ${u.msg||u.msgType}`);if(Date.now()>=s)break}throw new Error("could not save this page before sending")}async function F(e,t){let n={"Content-Type":"application/json","Page-URL":window.location.href},r=N();r&&(n["Save-Token"]=r);let s=await fetch(H("/_/wire/send"),{method:"POST",headers:n,body:JSON.stringify(e),signal:t}),i=null;try{i=await s.json()}catch{i=null}return{ok:s.ok,status:s.status,reply:i}}function he(e,t={}){let n=typeof t.id=="string"&&t.id?t.id:Q(),r=typeof t.type=="string"&&t.type?t.type:"wire/request",s=Object.prototype.hasOwnProperty.call(t,"helper"),i=s&&typeof t.helper=="string"&&t.helper?t.helper:null,u=t.document===void 0?i?"none":"edit":t.document;if(s&&!i)return _(n,r,null,"helper must be a nonempty string","invalid_helper");if(u!=="edit"&&u!=="none")return _(n,r,i,'document must be "edit" or "none"',"invalid_document");if(a.has(n))return _(n,r,i,"a request with this id is already on the wire","duplicate_request");let o={id:n,type:r,state:"sent",helper:i,document:u,structured:!1,onStatus:typeof t.onStatus=="function"?t.onStatus:null,text:"",result:null,error:null,errorCode:null,errorDetails:null,errorSource:null,startedAt:Date.now(),timer:null,landingTimer:null,abort:typeof AbortController=="function"?new AbortController:null,holdsSave:!1,generation:T().generation,settle:null,signal:t.signal&&typeof t.signal.addEventListener=="function"?t.signal:null,signalHandler:null};return o.done=new Promise(d=>{o.settle=d}),a.set(n,o),m(o),o.signal&&(o.signalHandler=()=>x(n),o.signal.addEventListener("abort",o.signalHandler,{once:!0}),o.signal.aborted&&o.signalHandler()),(async()=>{if(o.state!=="sent")return;if(o.helper){let X=await I(j);if(o.state!=="sent")return;if(!X){l(o,"error","this host does not support named wire helpers",{errorCode:"helper_protocol_unsupported",errorSource:"client"});return}}if(!O(o)||o.document==="edit"&&(await le(o),o.state!=="sent"||!O(o)||(await pe(),o.state!=="sent")||!O(o)))return;if(await ee(),o.state!=="sent"){L();return}v(o,B,"the agent never answered",o.helper?{cancelFirst:!0,errorCode:"ack_timeout"}:void 0);let d={type:o.type,id:o.id,text:t.text,payload:e};o.helper&&(d.helper=o.helper),(o.helper||t.document!==void 0)&&(d.document=o.document);let{ok:G,status:J,reply:S}=await F(d,o.abort?.signal);if(o.state!=="sent")return;if(!G){l(o,"error",`the wire refused this request (${J})`);return}let p=S&&S.refused;if(p&&typeof p.code=="string"&&p.code){l(o,"error",p.message||"the handler refused this request",{errorCode:p.code,errorSource:p.source==="application"?"application":"host",errorDetails:null});return}(!S||S.delivered===0)&&l(o,"error",o.helper?`The local program "${o.helper}" is not connected to this file.`:"No program is connected to this file.")})().catch(d=>{l(o,"error",d&&d.message?d.message:String(d))}),{id:n,get state(){return o.state},done:o.done,cancel:()=>x(n)}}function _(e,t,n,r,s){let i={id:e,type:t,state:"error",helper:n,text:"",result:null,error:r,errorCode:s,errorDetails:null,errorSource:"client",startedAt:Date.now()};return{id:e,get state(){return i.state},done:Promise.resolve(w(i)),cancel:()=>!1}}function x(e){let t=a.get(e);return!t||!y.has(t.state)?!1:(z(t),l(t,"cancelled",null),!0)}function z(e){F({type:"wire/cancel",id:e.id}).catch(()=>{})}function ye(e){let t=a.get(e);return t?w(t):void 0}function ge(){return[...a.values()].map(w)}function we(){for(let e of a.values())if(y.has(e.state))return!0;return!1}function me(e){return typeof e!="function"?()=>{}:(k.add(e),()=>k.delete(e))}async function Se(){let e=await A({fresh:!0});if(!e.extensions.includes(j))return[];let t=e.document?.helpers;return Array.isArray(t)?t.filter(n=>n&&typeof n.name=="string"&&["ready","denied","unavailable"].includes(n.state)).map(({name:n,state:r})=>({name:n,state:r})):[]}var ve={send:he,cancel:x,get:ye,list:ge,isBusy:we,on:me,helpers:Se},ke=ve;export{_e as a,ve as b,ke as c};
1
+ import{d as A,e as I}from"./c-QQFHEODI.js";import{f as b,j as T}from"./c-EDE45NM7.js";import{c as M}from"./c-BPF2NSPV.js";var B=15e3,P=12e4,K=15e3,V=4e3,W=5e3,U=50,y=new Set(["sent","acked"]),R=new Set(["done","error","cancelled"]),j="wire",a=new Map,k=new Set,f=null,g=null,D=0,h=null;function Q(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():`page-${Date.now()}-${Math.random().toString(16).slice(2)}`}function H(e){return new URL(e,window.location.origin).href}function N(){let e=M();return typeof e=="string"&&e!==""?e:null}function w(e){return{id:e.id,type:e.type,state:e.state,helper:e.helper,text:e.text,result:e.result,error:e.error,errorCode:e.errorCode,errorDetails:e.errorDetails,errorSource:e.errorSource,startedAt:e.startedAt}}function m(e,t){let n=w(e);for(let r of k)try{r(n,t||null)}catch(s){console.error("clay.wire: a listener threw",s)}document.dispatchEvent(new CustomEvent("clay:wire-state",{detail:n}))}function Y(e,t){e.state!==t&&(e.state=t,m(e))}function v(e,t,n,{cancelFirst:r=!1,errorCode:s=null}={}){clearTimeout(e.timer),e.timer=setTimeout(()=>{e.timer=null,r&&z(e),l(e,"error",n,{errorCode:s,errorSource:"client"})},t)}function q(e){clearTimeout(e.timer),e.timer=null}function Z(){if(!(a.size<=U))for(let[e,t]of a){if(a.size<=U)break;!y.has(t.state)&&t.state!=="landing"&&a.delete(e)}}function ee(){if(g)return g;let e=N(),t=`/_/wire/subscribe?page-url=${encodeURIComponent(window.location.href)}`+(e?`&token=${encodeURIComponent(e)}`:"");return f=new EventSource(H(t)),f.onmessage=n=>{let r;try{r=JSON.parse(n.data)}catch{return}te(r)},f.onerror=()=>{},g=new Promise(n=>{let r=!1,s=()=>{r||(r=!0,n())};f.onopen=s,setTimeout(s,2e3)}),g}function L(){for(let e of a.values())if(y.has(e.state))return;f&&(f.close(),f=null,g=null)}function te(e){if(!e||typeof e.id!="string")return;let t=a.get(e.id);if(!(!t||!y.has(t.state)))switch(e.type){case"wire/ack":e.payload?.mode==="jsonl"&&Number.isFinite(e.payload.budgetMs)&&e.payload.budgetMs>0?(t.structured=!0,v(t,e.payload.budgetMs+K,"the helper did not finish within its execution budget",{cancelFirst:!0,errorCode:"helper_timeout"})):v(t,P,"the agent stopped responding"),Y(t,"acked");break;case"wire/status":t.structured||v(t,P,"the agent stopped responding"),t.text=typeof e.text=="string"?e.text:"",t.state="acked",ne(t,e),m(t,e);break;case"wire/done":t.result=Object.prototype.hasOwnProperty.call(e,"payload")?e.payload:null,t.document==="edit"?ie(t):l(t,"done",null);break;case"wire/error":re(t,e);break;default:break}}function ne(e,t){if(!e.onStatus||typeof t.text!="string")return;let n={text:t.text};t.payload&&typeof t.payload=="object"&&Object.prototype.hasOwnProperty.call(t.payload,"progress")&&(n.progress=t.payload.progress);try{e.onStatus(n)}catch(r){console.error("clay.wire: an onStatus listener threw",r)}}function re(e,t){let n=t.payload,r=n&&typeof n=="object"&&!Array.isArray(n)&&(n.source==="application"||n.source==="host")&&typeof n.code=="string"&&n.code,s=typeof t.text=="string"&&t.text?t.text:"the handler reported an error";if(!r){l(e,"error",s);return}let i=n.source==="host"&&n.code==="helper_cancelled"?"cancelled":"error";l(e,i,s,{errorCode:n.code,errorDetails:Object.prototype.hasOwnProperty.call(n,"details")?n.details:null,errorSource:n.source})}function oe(){h||(h=e=>{if(e.detail?.source!=="peer"){for(let t of a.values())if(t.state==="landing"){l(t,"done",null);return}}},document.addEventListener("clay:sync-applied",h))}function se(){D>0||!h||(document.removeEventListener("clay:sync-applied",h),h=null)}function ie(e){R.has(e.state)||e.state==="landing"||(q(e),e.state="landing",D++,oe(),e.landingTimer=setTimeout(()=>{l(e,"done",null)},V),m(e),L())}function l(e,t,n,r={}){if(R.has(e.state))return;let s=e.state==="landing";if(q(e),clearTimeout(e.landingTimer),e.landingTimer=null,e.abort?.abort(),s&&(D--,se()),e.error=n,Object.prototype.hasOwnProperty.call(r,"errorCode")&&(e.errorCode=r.errorCode),Object.prototype.hasOwnProperty.call(r,"errorDetails")&&(e.errorDetails=r.errorDetails),Object.prototype.hasOwnProperty.call(r,"errorSource")&&(e.errorSource=r.errorSource),e.state=t,e.signal&&e.signalHandler&&(e.signal.removeEventListener("abort",e.signalHandler),e.signalHandler=null),ue(e),m(e),L(),Z(),e.settle){let i=e.settle;e.settle=null,i(w(e))}}var C=0,$=null,E=null;function ae(){return E||(E=import("./core/save-6HT2LABE.js")),E}async function le(e){if(!b||e.holdsSave)return;let t=await ae();e.state==="sent"&&($=t,e.holdsSave=!0,!(C++>0)&&t.suspendAutosave())}function ue(e){e.holdsSave&&(e.holdsSave=!1,!(--C>0)&&(C=0,$?.resumeAutosave()))}var c=null,de=()=>!c||c.admitted,ce=(e,t,n)=>Object.assign(new Error(`clay.wire: ${e}`),{code:t,pending:n});function O(e){return e.document!=="edit"||e.generation===T().generation&&de()?!0:(l(e,"error","the page changed mode before this request went out",{errorCode:"stale-document",errorSource:"client"}),!1)}function _e(){return{id:"clay:wire",order:900,prepare(e={}){let t={admitted:e.initial===!0};return c=t,{enable(){c===t&&(t.admitted=!0)},quiesce(){if(c!==t)return;t.admitted=!1;let n=[...a.values()].filter(r=>r.document==="edit"&&(r.holdsSave||y.has(r.state))).map(r=>r.id);if(n.length)throw ce("a request on this page has not settled","pending-input",n)},resume(){c===t&&(t.admitted=!0)},dispose(){c===t&&(c=null)}}}}}function fe(e,t){return new Promise(n=>{let r=!1,s=()=>{r||(r=!0,document.removeEventListener(e,s),n())};document.addEventListener(e,s),setTimeout(s,t)})}async function pe(){if(!b)return;let e=window.clay;if(!e||typeof e.save!="function")return;let{isSaveInProgress:t}=await import("./core/save-core-EVMNZQ4V.js"),{savesHeld:n,saveHoldReason:r}=await import("./core/save-6HT2LABE.js");if(n())throw new Error(r());let s=Date.now()+W;for(let i=0;i<3;i++){t()&&await fe("clay:save-saved",Math.max(0,s-Date.now()));let u=await e.save();if(u?.ok||u?.msgType==="skipped"&&!t())return;if(u?.msgType==="error"||u?.msgType==="unknown")throw new Error(`could not save this page first: ${u.msg||u.msgType}`);if(Date.now()>=s)break}throw new Error("could not save this page before sending")}async function F(e,t){let n={"Content-Type":"application/json","Page-URL":window.location.href},r=N();r&&(n["Save-Token"]=r);let s=await fetch(H("/_/wire/send"),{method:"POST",headers:n,body:JSON.stringify(e),signal:t}),i=null;try{i=await s.json()}catch{i=null}return{ok:s.ok,status:s.status,reply:i}}function he(e,t={}){let n=typeof t.id=="string"&&t.id?t.id:Q(),r=typeof t.type=="string"&&t.type?t.type:"wire/request",s=Object.prototype.hasOwnProperty.call(t,"helper"),i=s&&typeof t.helper=="string"&&t.helper?t.helper:null,u=t.document===void 0?i?"none":"edit":t.document;if(s&&!i)return _(n,r,null,"helper must be a nonempty string","invalid_helper");if(u!=="edit"&&u!=="none")return _(n,r,i,'document must be "edit" or "none"',"invalid_document");if(a.has(n))return _(n,r,i,"a request with this id is already on the wire","duplicate_request");let o={id:n,type:r,state:"sent",helper:i,document:u,structured:!1,onStatus:typeof t.onStatus=="function"?t.onStatus:null,text:"",result:null,error:null,errorCode:null,errorDetails:null,errorSource:null,startedAt:Date.now(),timer:null,landingTimer:null,abort:typeof AbortController=="function"?new AbortController:null,holdsSave:!1,generation:T().generation,settle:null,signal:t.signal&&typeof t.signal.addEventListener=="function"?t.signal:null,signalHandler:null};return o.done=new Promise(d=>{o.settle=d}),a.set(n,o),m(o),o.signal&&(o.signalHandler=()=>x(n),o.signal.addEventListener("abort",o.signalHandler,{once:!0}),o.signal.aborted&&o.signalHandler()),(async()=>{if(o.state!=="sent")return;if(o.helper){let X=await I(j);if(o.state!=="sent")return;if(!X){l(o,"error","this host does not support named wire helpers",{errorCode:"helper_protocol_unsupported",errorSource:"client"});return}}if(!O(o)||o.document==="edit"&&(await le(o),o.state!=="sent"||!O(o)||(await pe(),o.state!=="sent")||!O(o)))return;if(await ee(),o.state!=="sent"){L();return}v(o,B,"the agent never answered",o.helper?{cancelFirst:!0,errorCode:"ack_timeout"}:void 0);let d={type:o.type,id:o.id,text:t.text,payload:e};o.helper&&(d.helper=o.helper),(o.helper||t.document!==void 0)&&(d.document=o.document);let{ok:G,status:J,reply:S}=await F(d,o.abort?.signal);if(o.state!=="sent")return;if(!G){l(o,"error",`the wire refused this request (${J})`);return}let p=S&&S.refused;if(p&&typeof p.code=="string"&&p.code){l(o,"error",p.message||"the handler refused this request",{errorCode:p.code,errorSource:p.source==="application"?"application":"host",errorDetails:null});return}(!S||S.delivered===0)&&l(o,"error",o.helper?`The local program "${o.helper}" is not connected to this file.`:"No program is connected to this file.")})().catch(d=>{l(o,"error",d&&d.message?d.message:String(d))}),{id:n,get state(){return o.state},done:o.done,cancel:()=>x(n)}}function _(e,t,n,r,s){let i={id:e,type:t,state:"error",helper:n,text:"",result:null,error:r,errorCode:s,errorDetails:null,errorSource:"client",startedAt:Date.now()};return{id:e,get state(){return i.state},done:Promise.resolve(w(i)),cancel:()=>!1}}function x(e){let t=a.get(e);return!t||!y.has(t.state)?!1:(z(t),l(t,"cancelled",null),!0)}function z(e){F({type:"wire/cancel",id:e.id}).catch(()=>{})}function ye(e){let t=a.get(e);return t?w(t):void 0}function ge(){return[...a.values()].map(w)}function we(){for(let e of a.values())if(y.has(e.state))return!0;return!1}function me(e){return typeof e!="function"?()=>{}:(k.add(e),()=>k.delete(e))}async function Se(){let e=await A({fresh:!0});if(!e.extensions.includes(j))return[];let t=e.document?.helpers;return Array.isArray(t)?t.filter(n=>n&&typeof n.name=="string"&&["ready","denied","unavailable"].includes(n.state)).map(({name:n,state:r})=>({name:n,state:r})):[]}var ve={send:he,cancel:x,get:ye,list:ge,isBusy:we,on:me,helpers:Se},ke=ve;export{_e as a,ve as b,ke as c};
@@ -0,0 +1,147 @@
1
+ import{b as Z}from"./c-QY7F6EN6.js";var he=`@layer clay-menu-safety {
2
+ .clay-menu-dock [hidden], .clay-menu-spots[hidden], .clay-menu-dock[hidden] { display: none !important; }
3
+ .clay-menu :focus-visible:not(.clay-menu-edit) { outline: 2px solid var(--bevel-brass) !important; outline-offset: -2px !important; }
4
+ @media (pointer: coarse), (max-width: 680px) {
5
+ /* A dismissible row's message and Dismiss sit inline on one line; their reach comes from MENU_TOUCH's pseudo-elements. */
6
+ .clay-menu-goo, .clay-menu-list [part~="step"], .clay-menu-list [role^="menuitem"]:not(.clay-menu-row > *) { min-width: 44px !important; min-height: 44px !important; }
7
+ }
8
+ @media (prefers-reduced-motion: reduce) {
9
+ .clay-menu-dock *, .clay-menu-dock *::before, .clay-menu-dock *::after { transition: none !important; animation: none !important; }
10
+ }
11
+ @media (forced-colors: active) {
12
+ .clay-menu-list { border: 1px solid CanvasText !important; }
13
+ .clay-menu :focus-visible:not(.clay-menu-edit) { outline-color: Highlight !important; }
14
+ }
15
+ }
16
+ `,ie=`.clay-menu-dock, .clay-menu-spots, .clay-seo {
17
+ --bevel-font-sans: system-ui, -apple-system, "Segoe UI", sans-serif;
18
+ --bevel-font-serif: Newsreader, Georgia, "Times New Roman", serif;
19
+ --bevel-font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
20
+ --bevel-ground: light-dark(#FDF8F0, #0B0C13);
21
+ --bevel-surface: light-dark(#FFFCF6, #1A1D2C);
22
+ --bevel-sunk: light-dark(#F4ECDF, #22263A);
23
+ --bevel-ink: light-dark(#2B241B, #ECEAF2);
24
+ --bevel-ink-2: light-dark(#4A4033, #C9CDE0);
25
+ --bevel-muted: light-dark(#6B5942, #A3A9C2);
26
+ --bevel-faint: light-dark(#9A8A70, #6A7090);
27
+ --bevel-line: light-dark(#E8DCC6, #2C3149);
28
+ --bevel-line-2: light-dark(#D8C8AF, #3A4058);
29
+ --bevel-line-3: light-dark(#C4B192, #4A536F);
30
+ --bevel-brass: light-dark(#8F6310, #D9A445);
31
+ --bevel-brass-soft: light-dark(#F0E4CC, #3A2F17);
32
+ --bevel-ox: light-dark(#A83A2C, #FF6B79);
33
+ --bevel-ox-soft: light-dark(#F6DED6, #3A2226);
34
+ --bevel-teal: light-dark(#256056, #4E9C8C);
35
+ --bevel-teal-soft: light-dark(#DCEBE7, #17332E);
36
+ --bevel-face: light-dark(#F1E7D4, #2A2F48);
37
+ --bevel-edge-hi: light-dark(#FFF9ED, #454C6C);
38
+ --bevel-edge-lo: light-dark(#D6C3A5, #171B2C);
39
+ --bevel-face-in: light-dark(#E3D0B3, #20253B);
40
+ --bevel-edge-in: light-dark(#B89F7B, #12152A);
41
+ --bevel-edge-in-hi: light-dark(#F0E1C9, #4D587A);
42
+ --bevel-knob: light-dark(#FCF8F1, #5A6286);
43
+ --bevel-knob-hi: light-dark(#FFF9ED, #7A83A8);
44
+ --clay-shadow: 0 1px 2px light-dark(rgb(43 36 27 / .07), rgb(0 0 0 / .35)), 0 10px 28px -10px light-dark(rgb(43 36 27 / .32), rgb(0 0 0 / .7));
45
+ --clay-sheet-shadow: 0 16px 30px -22px light-dark(rgb(43 36 27 / .45), rgb(0 0 0 / .85));
46
+ color-scheme: inherit;
47
+ font-family: var(--bevel-font-sans);
48
+ color: var(--bevel-ink);
49
+ -webkit-text-size-adjust: 100%;
50
+ text-size-adjust: 100%;
51
+ }
52
+
53
+ .clay-menu-dock { display: flex; align-items: center; gap: 6px; font-size: 13px; line-height: 1.4; }
54
+ .clay-menu-dock[data-embedded] { position: relative; display: inline-flex; }
55
+ .clay-menu-dock[hidden], .clay-menu-spots[hidden], .clay-menu-dock [hidden], .clay-seo [hidden] { display: none !important; }
56
+
57
+ .clay-menu { box-sizing: border-box; display: inline-flex; align-items: center; gap: 2px; user-select: none; -webkit-user-select: none; }
58
+
59
+ `,le=`.clay-menu-goo { position: relative; display: inline-grid; place-items: center; box-sizing: border-box; margin: 0; padding: 0; cursor: pointer; }
60
+ .clay-menu-goo svg { display: block; }
61
+ .clay-menu-dot { position: absolute; top: -1px; right: -2px; width: 8px; height: 8px; border-radius: 50%; background: var(--bevel-brass); box-shadow: 0 0 0 2px var(--bevel-surface); }
62
+
63
+ .clay-menu :focus-visible, .clay-roster:focus-visible { outline: 2px solid var(--bevel-brass); outline-offset: 2px; }
64
+ .clay-menu-edit:focus-visible { outline: none; }
65
+ .clay-menu-edit:focus-visible .clay-menu-track { outline: 2px solid var(--bevel-brass); outline-offset: 2px; }
66
+
67
+ `,re=`/* Popovers: the menu, the people panel, the status note. Below the dock, above it in a bottom corner. */
68
+ .clay-menu-list, .clay-people, .clay-menu-note { position: absolute; z-index: 1; top: calc(100% + 8px); right: 0; box-sizing: border-box; margin: 0; color: var(--bevel-ink); text-align: left; }
69
+ .clay-people, .clay-menu-note { border: 1px solid var(--bevel-line-2); background: var(--bevel-surface); box-shadow: var(--clay-shadow); }
70
+
71
+ .clay-menu-list { width: max-content; max-width: calc(100vw - 24px); max-height: calc(100dvh - 72px); overflow-y: auto; overscroll-behavior: contain; }
72
+ .clay-menu-list[popover] { position: fixed; inset: auto; margin: 0; }
73
+ .clay-menu-list [role^="menuitem"] { box-sizing: border-box; display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; margin: 0; border: 0; background: none; text-align: left; text-decoration: none; cursor: pointer; }
74
+ .clay-menu-list [role^="menuitem"]:hover:not([aria-disabled="true"]), .clay-menu-list [role^="menuitem"]:focus-visible { outline: none; background: var(--bevel-sunk); }
75
+ .clay-menu-list [role^="menuitem"][aria-disabled="true"] { cursor: default; }
76
+ .clay-menu-pair { display: flex; flex-wrap: wrap; gap: 12px; padding: 3px 9px; }
77
+ .clay-menu-list .clay-menu-pair [role="menuitem"] { flex: none; width: auto; justify-content: flex-start; gap: 9px; }
78
+ .clay-menu-list kbd { flex: none; white-space: nowrap; }
79
+ /* The message, then a small Dismiss right after its last word (David, Nov 11). Both are inline, so
80
+ Dismiss follows the text wherever it wraps; the message reaches over the whole row, and Dismiss
81
+ sits above it with its own reach. */
82
+ .clay-menu-row { position: relative; padding: 5px 9px; }
83
+ .clay-menu-row:has(> [part~="item"]:hover, > [part~="item"]:focus-visible) { background: var(--bevel-sunk); }
84
+ .clay-menu-list .clay-menu-row > [part~="item"], .clay-menu-list .clay-menu-row > [part~="item"]:is(:hover, :focus-visible) { display: inline; width: auto; padding: 0; background: none; }
85
+ .clay-menu-list .clay-menu-row > [part~="item"]::before { content: ""; position: absolute; inset: 0; }
86
+ .clay-menu-list .clay-menu-row > [part~="dismiss"], .clay-menu-list .clay-menu-row > [part~="dismiss"]:is(:hover, :focus-visible) { position: relative; z-index: 1; display: inline; width: auto; min-height: 0; margin-left: 6px; padding: 0; background: none; white-space: nowrap; }
87
+ .clay-menu-list .clay-menu-row > [part~="dismiss"]::after { content: ""; position: absolute; inset: -6px -6px; }
88
+ .clay-menu-row [part~="dismiss-label"] { display: inline-block; padding: 2px 7px; border-radius: 4px; background: var(--bevel-sunk); color: var(--bevel-ink-2); font: 500 11px/1.3 var(--bevel-font-sans); }
89
+ .clay-menu-row > [part~="dismiss"]:hover [part~="dismiss-label"], .clay-menu-row > [part~="dismiss"]:focus-visible [part~="dismiss-label"] { color: var(--bevel-ink); }
90
+ .clay-menu-upgrade { display: inline-flex; align-items: center; gap: 8px; }
91
+ .clay-menu-upgrade::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--bevel-brass); }
92
+ .clay-menu-toggle .clay-menu-track { flex: none; }
93
+ .clay-menu-version { box-sizing: border-box; margin: 0; padding: 7px 9px; }
94
+
95
+ .clay-menu-note { z-index: 2; width: max-content; max-width: 264px; padding: 8px 12px; font-size: 13px; line-height: 1.45; }
96
+
97
+ .clay-menu-stepper { display: flex; align-items: center; gap: 2px; padding-left: 9px; font: 400 13px/1.35 var(--bevel-font-sans); color: var(--bevel-ink); }
98
+ .clay-menu-stepper-label { flex: 1; margin-right: 12px; white-space: nowrap; }
99
+ .clay-menu-stepper-value { min-width: 5.5em; text-align: center; white-space: nowrap; font-variant-numeric: tabular-nums; }
100
+ .clay-menu-list .clay-menu-stepper [role="menuitem"] { flex: none; display: inline-grid; place-items: center; box-sizing: border-box; width: 36px; min-height: 36px; padding: 0; }
101
+ .clay-menu-stepper svg { display: block; width: 16px; height: 16px; fill: currentColor; }
102
+
103
+ `,xe=ie+le+re,ye=`/* The dock: the roster (when a page opts in) and the capsule, fixed in one corner. */
104
+ .clay-menu-dock { position: fixed; z-index: 2147482000; top: max(12px, env(safe-area-inset-top)); right: max(12px, env(safe-area-inset-right)); }
105
+ .clay-menu-dock[data-corner$="left"] { right: auto; left: max(12px, env(safe-area-inset-left)); flex-direction: row-reverse; }
106
+ .clay-menu-dock[data-corner^="bottom"] { top: auto; bottom: max(12px, env(safe-area-inset-bottom)); }
107
+ .clay-menu-dock[data-corner$="left"] :is(.clay-menu-list, .clay-people, .clay-menu-note) { right: auto; left: 0; }
108
+ .clay-menu-dock[data-corner^="bottom"] :is(.clay-menu-list, .clay-people, .clay-menu-note) { top: auto; bottom: calc(100% + 8px); }
109
+ `,ge=`.clay-menu { height: 34px; padding: 0 4px 0 2px; border: 1px solid var(--bevel-line-3); background: var(--bevel-surface); box-shadow: var(--clay-shadow); }
110
+ .clay-menu-goo { width: 28px; height: 28px; min-height: 0; border-radius: 0; border: 2px solid transparent; background: none; color: var(--bevel-ink); }
111
+ .clay-menu-goo::before { content: ""; position: absolute; inset: -8px -8px -8px -4px; }
112
+ .clay-menu-goo svg { width: 18px; height: auto; fill: currentColor; }
113
+ .clay-menu-goo:hover svg { translate: 0 -1px; }
114
+ .clay-menu-goo:active, .clay-menu-goo[aria-expanded="true"] { background: var(--bevel-face-in); border-color: var(--bevel-edge-in) var(--bevel-edge-in-hi) var(--bevel-edge-in-hi) var(--bevel-edge-in); }
115
+ .clay-menu-goo:active svg, .clay-menu-goo[aria-expanded="true"] svg { translate: 1px 1px; }
116
+ .clay-menu-list { min-width: 284px; padding: 6px; border: 1px solid var(--bevel-line-2); background: var(--bevel-surface); box-shadow: var(--clay-shadow); }
117
+ .clay-menu-list [role^="menuitem"] { min-height: 32px; padding: 5px 9px; font: 400 13px/1.35 var(--bevel-font-sans); color: var(--bevel-ink); }
118
+ .clay-menu-list [role^="menuitem"][aria-disabled="true"] { color: var(--bevel-faint); }
119
+ .clay-menu-list [role^="menuitem"][aria-disabled="true"] kbd { opacity: .6; }
120
+ .clay-menu-list .clay-menu-pair [role="menuitem"] { min-height: 30px; padding: 4px 6px 4px 9px; border: 1px solid var(--bevel-line); }
121
+ .clay-menu-list kbd { font: 500 11px/1 var(--bevel-font-mono); padding: 3px 5px; border: 1px solid var(--bevel-line-2); background: var(--bevel-sunk); color: var(--bevel-muted); }
122
+ .clay-menu-list [part~="quiet"] { font-size: 12px; color: var(--bevel-muted); }
123
+ .clay-menu-sep { height: 1px; margin: 4px 2px; background: var(--bevel-line); }
124
+ .clay-menu-version { font: 400 13px/1.35 var(--bevel-font-sans); color: var(--bevel-ink); }
125
+ `,ve=`@media (pointer: coarse), (max-width: 680px) {
126
+ /* A phone menu fits the screen and never scrolls sideways: a little wider than on a desktop, long
127
+ labels wrap, and the shortcut keys a phone cannot press are hidden (David, Nov 11). */
128
+ .clay-menu-list { min-width: min(300px, calc(100vw - 16px)) !important; max-width: calc(100vw - 16px) !important; overflow-x: hidden !important; }
129
+ .clay-menu-list [role^="menuitem"], .clay-menu-list .clay-menu-version { white-space: normal; overflow-wrap: anywhere; }
130
+ .clay-menu-list kbd { display: none !important; }
131
+ .clay-menu-list .clay-menu-row { box-sizing: border-box; min-height: 44px; padding: 11px 9px; }
132
+ /* Dismiss sits inline after the message's last word, so its reach never goes up or left into the
133
+ message's own text: a taller label plus reach to the right and down makes the 44px. */
134
+ .clay-menu-row [part~="dismiss-label"] { padding: 7px 12px; font-size: 13px; }
135
+ .clay-menu-list .clay-menu-row > [part~="dismiss"]::after { inset: -2px -10px -11px 0; }
136
+ .clay-menu-list [role^="menuitem"] { min-height: 44px; font-size: 15px; }
137
+ .clay-menu-list .clay-menu-version { display: flex; align-items: center; min-height: 44px; font-size: 15px; }
138
+ .clay-menu-list .clay-menu-pair [role="menuitem"] { min-height: 44px; }
139
+ .clay-menu-list .clay-menu-stepper [role="menuitem"] { width: 44px; min-height: 44px; }
140
+ :is(.clay-menu-dock, .clay-seo) :is(input, textarea, select) { font-size: 16px; }
141
+ .clay-seo-input, .clay-people-input { min-height: 40px; }
142
+ .clay-menu-btn { min-height: 40px; }
143
+ }
144
+ @media (prefers-reduced-motion: reduce) {
145
+ .clay-menu-track, .clay-menu-thumb { transition: none; }
146
+ }
147
+ `;var j='<svg xmlns="http://www.w3.org/2000/svg" viewBox="-45.87 -57.96 100.26 60.98" fill="currentColor" aria-hidden="true" focusable="false"><path fill-rule="evenodd" d="M44.35 -4.56Q40.03 -0.52 34.69 -0.39Q29.34 -0.25 24.81 -0.14Q20.27 -0.02 15.6 0Q10.93 0.02 6.41 0Q1.89 -0.02 -2.79 -0.02Q-7.48 -0.02 -12.11 -0.14Q-16.73 -0.25 -21.64 -0.27Q-26.55 -0.3 -31.72 -2.25Q-36.88 -4.2 -39.87 -9.12Q-42.87 -14.03 -42.8 -19.61Q-42.74 -25.18 -40.43 -29.94Q-38.12 -34.69 -34.82 -38.78Q-31.52 -42.87 -27.25 -45.6Q-22.98 -48.33 -18.35 -50.59Q-13.73 -52.85 -8.7 -53.88Q-3.68 -54.91 1.32 -54.93Q6.32 -54.96 11.44 -54.56Q16.55 -54.16 21.35 -52.2Q26.16 -50.24 30.69 -48.01Q35.22 -45.78 38.99 -42.18Q42.76 -38.59 45.67 -34.37Q48.59 -30.15 49.99 -24.87Q51.39 -19.59 50.04 -14.09Q48.68 -8.6 44.35 -4.56ZM0.66 -30.49C0.5 -28.73 -0.88 -27.42 -2.42 -27.57C-3.96 -27.71 -5.08 -29.25 -4.91 -31.01C-4.75 -32.77 -3.36 -34.08 -1.83 -33.94C-0.29 -33.79 0.83 -32.25 0.66 -30.49ZM13.61 -29.28C13.44 -27.52 12.06 -26.21 10.52 -26.35C8.98 -26.5 7.87 -28.04 8.03 -29.8C8.2 -31.56 9.58 -32.87 11.12 -32.73C12.66 -32.58 13.77 -31.04 13.61 -29.28ZM-1.23 -17.71Q-0.62 -17.35 -0.03 -17.08Q0.56 -16.81 1.15 -16.54Q1.73 -16.28 2.4 -16Q3.07 -15.72 3.87 -15.6Q4.66 -15.48 5.4 -15.55Q6.13 -15.62 6.77 -15.79Q7.41 -15.96 7.97 -16.23Q8.53 -16.5 9 -16.91Q9.46 -17.32 9.73 -17.9Q9.99 -18.47 10.08 -19.12Q10.17 -19.77 10.08 -20.42Q9.99 -21.06 9.45 -21.32Q8.91 -21.58 8.27 -21.38Q7.63 -21.17 6.99 -20.91Q6.36 -20.65 5.7 -20.61Q5.04 -20.56 4.33 -20.73Q3.62 -20.9 2.92 -21.14Q2.23 -21.39 1.54 -21.68Q0.85 -21.97 0.16 -22.27Q-0.52 -22.56 -1.22 -22.79Q-1.92 -23.03 -2.49 -22.61Q-3.05 -22.19 -3.23 -21.5Q-3.4 -20.81 -3.2 -20.09Q-3.01 -19.38 -3.02 -19.15Q-3.02 -18.93 -2.42 -18.5Q-1.83 -18.06 -1.23 -17.71Z"/></svg>';var G="1",w=8,se="Dismiss",ce='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" aria-hidden="true" focusable="false"><path d="M224,128a8,8,0,0,1-8,8H59.31l58.35,58.34a8,8,0,0,1-11.32,11.32l-72-72a8,8,0,0,1,0-11.32l72-72a8,8,0,0,1,11.32,11.32L59.31,120H216A8,8,0,0,1,224,128Z"/></svg>',ue='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" aria-hidden="true" focusable="false"><path d="M221.66,133.66l-72,72a8,8,0,0,1-11.32-11.32L196.69,136H40a8,8,0,0,1,0-16H196.69L138.34,61.66a8,8,0,0,1,11.32-11.32l72,72A8,8,0,0,1,221.66,133.66Z"/></svg>',de='<span class="clay-menu-track" aria-hidden="true"><span class="clay-menu-thumb"></span></span>',pe=6e3;function me(){let h=document.querySelectorAll("[clay-menu-slot]");return h.length>1&&console.warn("[clay] This page has more than one clay-menu-slot. The menu uses the first."),h[0]||null}function be(){let h=document.querySelector("style[clay-menu-skin]");return h?h.getAttribute("clay-menu-skin")!==G?(console.warn(`[clay] This runtime reads clay-menu-skin="${G}". The menu keeps its default look.`),null):h.textContent:null}function Ce({capsuleStart:h="",sections:z=[null],icon:W=j,label:I="Clay menu"}={}){let K=new Set(z.flat().filter(Boolean)),k=me(),y=!!k,V=y?be():null,s=document.createElement("div");s.className="clay-menu-dock",s.setAttribute("clay","editor-ui"),s.setAttribute("part","dock"),y&&(s.dataset.embedded=""),s.dataset.corner="top-right",s.innerHTML='<div class="clay-menu" part="capsule" clay="editor-ui">'+h+`<button type="button" class="clay-menu-goo" part="button" aria-haspopup="menu" aria-expanded="false" aria-label="${I}">${W}</button></div><div class="clay-menu-list" part="list" role="menu" aria-label="${I}" hidden></div><div class="clay-menu-note" part="note" role="status" hidden></div>`;let u=s.querySelector(".clay-menu-goo"),i=s.querySelector(".clay-menu-list"),A=s.querySelector(".clay-menu-note"),d=new Map,H=[];if(y){let e=k.querySelector("template[clay-menu-icon]");e&&u.replaceChildren(e.content.cloneNode(!0));let n=k.getAttribute("clay-menu-label");n&&(u.setAttribute("aria-label",n),u.title=n,i.setAttribute("aria-label",n))}let F=y&&typeof i.showPopover=="function";F&&i.setAttribute("popover","manual");function q(){let e=u.getBoundingClientRect(),{offsetWidth:n,offsetHeight:t}=i,a=Math.max(w,Math.min(e.right-n,window.innerWidth-n-w)),o=e.bottom+w,l=o+t>window.innerHeight-w?Math.max(w,e.top-t-w):o;i.style.left=`${Math.round(a)}px`,i.style.top=`${Math.round(l)}px`}let D=()=>s.getRootNode().activeElement||null,m=()=>!i.hidden;function _(e){i.hidden=!e,u.setAttribute("aria-expanded",e?"true":"false"),F&&(e?(i.showPopover(),q()):i.matches(":popover-open")&&i.hidePopover())}let B=()=>[...i.querySelectorAll('[role^="menuitem"]:not([aria-disabled="true"])')];function E(e){let n=B();n.length&&n[(e+n.length)%n.length].focus()}function x(){m()&&_(!1)}function N(){if(!m()){for(let e of H)e();C(),_(!0)}}function T(e){let n=e.href&&!e.disabled,t=document.createElement(n?"a":"button");if(n?(t.href=e.href,t.target="_blank",t.rel="noopener"):t.type="button",t.setAttribute("role","menuitem"),t.setAttribute("part",e.quiet?"item quiet":"item"),t.dataset.menuId=e.id,e.badge&&e.id==="upgrade"){let a=document.createElement("span");a.className="clay-menu-upgrade",a.textContent=e.label,t.append(a)}else t.textContent=e.label;if(e.keys){let a=document.createElement("kbd");a.textContent=e.keys,t.append(a)}return e.toggle&&(t.setAttribute("role","menuitemcheckbox"),t.setAttribute("aria-checked",e.checked?"true":"false"),t.classList.add("clay-menu-toggle"),t.insertAdjacentHTML("beforeend",de)),e.disabled&&t.setAttribute("aria-disabled","true"),t.addEventListener("click",()=>{e.disabled||(!e.toggle&&!e.keepOpen&&x(),e.run&&e.run({anchor:u}))}),t}function X(e){if(e.text){let n=document.createElement("p");return n.className="clay-menu-version",n.setAttribute("part","text"),n.dataset.menuId=e.id,n.textContent=e.label,n}if(e.pair){let n=document.createElement("div");n.className="clay-menu-pair",n.dataset.menuId=e.id;for(let t of e.pair)n.append(T(t));return n}return e.stepper?J(e):e.dismiss?Y(e):T(e)}function Y(e){let n=document.createElement("div");n.className="clay-menu-row",n.dataset.menuId=e.id;let t=document.createElement("button");t.type="button",t.setAttribute("role","menuitem"),t.setAttribute("part","dismiss"),t.dataset.menuId=`${e.id}.dismiss`,t.title=e.dismiss.label;let a=document.createElement("span");return a.setAttribute("part","dismiss-label"),a.textContent=se,t.append(a),t.addEventListener("click",async()=>{t.disabled=!0;let o;try{o=await e.dismiss.run?.()}catch(l){console.warn("[clay] A menu item could not be removed.",l),t.disabled=!1,$("That didn't work. Try again.");return}if(o===!1){t.disabled=!1;return}R(e.id)}),n.append(T(e),t),n}function J(e){let{label:n,value:t,prevLabel:a,nextLabel:o}=e.stepper,l=document.createElement("div");l.className="clay-menu-stepper",l.setAttribute("part","stepper"),l.dataset.menuId=e.id;let r=document.createElement("span");r.className="clay-menu-stepper-label",r.textContent=n;let b=document.createElement("span");b.className="clay-menu-stepper-value",b.setAttribute("aria-live","polite"),b.textContent=t;let Q=(g,M,v)=>{let p=document.createElement("button");return p.type="button",p.setAttribute("role","menuitem"),p.setAttribute("part","step"),p.setAttribute("aria-label",v),p.dataset.menuId=`${e.id}.${g}`,p.innerHTML=M,p.addEventListener("click",()=>d.get(e.id)?.stepper?.[g]?.()),p};return l.append(r,Q("prev",ce,a),b,Q("next",ue,o)),l}function ee(){let e=a=>[...d.values()].filter(o=>o.section===a),n=[...d.keys()].filter(a=>!K.has(a)&&!d.get(a).section),t=z.map(a=>(a||n).map(o=>d.get(o)).filter(Boolean));return[e("start"),...t,e("end")].filter(a=>a.length)}function C(){let e=D(),n=e&&i.contains(e)?e.dataset.menuId:null;i.textContent="",ee().forEach((o,l)=>{if(l){let r=document.createElement("div");r.className="clay-menu-sep",r.setAttribute("role","separator"),r.setAttribute("part","separator"),i.append(r)}for(let r of o)i.append(X(r))});let t=u.querySelector(".clay-menu-dot"),a=[...d.values()].some(o=>o.badge);if(a&&!t){let o=document.createElement("span");o.className="clay-menu-dot",o.setAttribute("aria-hidden","true"),u.append(o)}else!a&&t&&t.remove();if(n){let o=B().find(l=>l.dataset.menuId===n);o?o.focus():E(0)}}let O=({id:e,label:n,run:t,badge:a,keys:o,disabled:l,href:r,keepOpen:b})=>({id:e,href:typeof r=="string"?r:"",label:String(n??""),run:typeof t=="function"?t:null,badge:!!a,keys:o?String(o):"",disabled:!!l,keepOpen:!!b});function te({id:e,label:n,run:t,badge:a,keys:o,disabled:l,text:r,pair:b,href:Q,section:g,quiet:M,dismiss:v,toggle:p,checked:ae,keepOpen:oe,stepper:f}={}){if(!e)return null;let c=O({id:e,label:n,run:t,badge:a,keys:o,disabled:l,href:Q,keepOpen:oe});if((g==="start"||g==="end")&&(c.section=g),M&&(c.quiet=!0),f){c.stepper={label:String(f.label??""),value:String(f.value??""),prev:typeof f.prev=="function"?f.prev:null,next:typeof f.next=="function"?f.next:null,prevLabel:String(f.prevLabel||"Previous"),nextLabel:String(f.nextLabel||"Next")};let P=[...i.querySelectorAll(".clay-menu-stepper")].find(L=>L.dataset.menuId===e)?.querySelector(".clay-menu-stepper-value"),S=d.get(e);if(S?.stepper&&["label","prevLabel","nextLabel"].every(L=>S.stepper[L]===c.stepper[L])&&S.section===c.section&&S.quiet===c.quiet&&P)return d.set(e,c),P.textContent=c.stepper.value,e}return r&&(c.text=!0),Array.isArray(b)&&(c.pair=b.map(O)),p&&(c.toggle=!0,c.checked=!!ae),v&&(c.dismiss={label:String(v.label||"Dismiss"),run:typeof v.run=="function"?v.run:null}),d.set(e,c),C(),e}function R(e){d.delete(e)&&C()}function $(e){e&&(A.textContent=e,A.hidden=!1,clearTimeout(U),U=setTimeout(()=>{A.hidden=!0,A.textContent=""},pe))}let U=0;u.addEventListener("click",()=>{m()?x():N()}),document.addEventListener("click",e=>{m()&&!e.composedPath().includes(s)&&x()}),s.addEventListener("keydown",e=>{if(e.key==="Escape"){if(!m())return;e.preventDefault(),x(),u.focus();return}if(e.target===u&&(e.key==="Enter"||e.key===" ")){e.preventDefault(),m()?x():(N(),E(0));return}if(!m())return;if(e.key==="Enter"&&i.contains(e.target)){e.preventDefault(),e.target.click();return}let n=B();if(!n.length)return;let t=n.indexOf(D());e.key==="ArrowDown"?(e.preventDefault(),E(t<0?0:t+1)):e.key==="ArrowUp"&&(e.preventDefault(),E(t<0?n.length-1:t-1))});function ne(e){let n=Z({name:"menu",content:s,css:e,parent:k||document.body,attributes:{"clay-mode-toggle":""}});return y&&(window.addEventListener("resize",x),window.addEventListener("scroll",()=>{F&&m()&&q()},{capture:!0,passive:!0})),n}return{root:s,goo:u,list:i,slot:k,embedded:y,skin:V,items:d,addItem:te,removeItem:R,render:C,open:N,close:x,isOpen:m,note:$,beforeOpen:H,focusedEl:D,mount:ne}}export{he as a,ie as b,le as c,re as d,xe as e,ye as f,ge as g,ve as h,de as i,be as j,Ce as k};
@@ -0,0 +1 @@
1
+ import{a,b}from"./c-UOUUI265.js";import"./c-QHWJ5ZIJ.js";import"./c-ESK4S67I.js";import"./c-MR75YPRT.js";import"./c-4JZDZFF6.js";import"./c-5RZNFTWD.js";import"./c-PKCCHJ5X.js";import"./c-46XYM55L.js";import"./c-NUHP2XDB.js";import"./c-VHNSBD2M.js";export{a as SURFACE_THEME,b as default};
@@ -0,0 +1 @@
1
+ import{b as k,d as l,e as i}from"./c-BPF2NSPV.js";import{a as M}from"./c-P7KNDG34.js";import{a as S}from"./c-CYWLPPUS.js";import{e as b}from"./c-U4NTUVDZ.js";var A=Object.fromEntries(new URLSearchParams(window.location.search)),n=A;var w=()=>S("mode-receipt"),R=3e4;function T(){try{return performance.getEntriesByType("navigation")[0]?.type??null}catch{return null}}function P(){let e=null;try{e=sessionStorage.getItem(w()),sessionStorage.removeItem(w())}catch{return null}if(!e)return null;let t;try{t=JSON.parse(e)}catch{return null}return t?.v!==1||t.path!==location.pathname||t.mode!=="edit"&&t.mode!=="view"||Date.now()-t.at>R||!t.internal&&T()!=="reload"?null:t}function J({mode:e,canEdit:t,internal:s}){try{sessionStorage.setItem(w(),JSON.stringify({v:1,path:location.pathname,mode:e,canEdit:t,at:Date.now(),internal:s}))}catch{}}var o=null;typeof window<"u"&&(window.clayEditMode!=null?o=!!window.clayEditMode:window.__hyperclayEditMode!=null&&(o=!!window.__hyperclayEditMode));var r=typeof document<"u"&&document.documentElement.hasAttribute("viewonly"),B=typeof document<"u"&&b(),p=!!M.get("isAdminOfCurrentResource"),g=n.editmode==="document",y=B&&n.editmode!=="false"&&!((n.editmode==="true"||g)&&p)&&!r&&!i()&&o==null&&!l(),u=typeof window<"u"?P():null,x=typeof document<"u"&&document.documentElement.getAttribute("opens-in")==="edit",D=g?!r&&!i()&&o!==!1:n.editmode?n.editmode==="true"||!r&&!i()&&(o??(l()||p)):r||i()?!1:o??(l()||p),V=u?.canEdit===!0&&o!==!1&&!i()&&!(r&&n.editmode!=="true"),h=D||V,q=y||i()||o===!1||n.editmode==="false"||r&&n.editmode!=="true",m=h,I=null;function z(e){I=typeof e=="boolean"?e:null;let t=e===!1?!1:e===!0?h||!q:h;t!==m&&(m=t,typeof document<"u"&&document.dispatchEvent(new Event("clay:capabilitychange")))}function Q(){return I}var F=u?u.mode==="edit"||x&&!u.internal:n.editmode&&!g?n.editmode==="true":o===!0||x,d=y?!0:m&&F,O=y?"draft":d?"edit":"view",Y=p,c={phase:"idle",destination:y?"draft":"host",generation:0,reason:null};function Z(e){e.mode!==void 0&&(O=e.mode),e.isEditMode!==void 0&&(d=e.isEditMode,typeof window<"u"&&(window.__hyperclayEditMode=d)),e.canEdit!==void 0&&(m=e.canEdit);for(let t in c)e[t]!==void 0&&(c[t]=e[t])}var U=()=>({mode:O,...c});function ee(){return d&&U().phase==="idle"}var a=typeof window>"u"||!window.clay?[]:(window.clay.modeParticipants||Object.defineProperty(window.clay,"modeParticipants",{value:[],writable:!0,configurable:!0}),window.clay.modeParticipants),f=new Set,_=()=>{},te=e=>_=e,ne=()=>a.slice(),E=e=>{throw new TypeError(`clay.modeLifecycle: ${e}`)},W=()=>{(c.phase!=="idle"||d)&&E("the page is not idle in view")},C=()=>{c.phase==="blocked"&&!d||W()};function oe(){return f.clear(),a.splice(0)}function ie(e){let t=e&&e.id;(typeof t!="string"||!t||typeof e.prepare!="function")&&E("a participant needs an id and a prepare()"),f.has(t)&&E(`duplicate participant id "${t}"`),C(),f.add(t),a.push(e);let s=!0;return()=>{if(!s)return;C(),s=!1,f.delete(t);let v=a.indexOf(e);v!==-1&&a.splice(v,1),_(t)}}var re=k;export{J as a,y as b,m as c,z as d,Q as e,d as f,O as g,Y as h,Z as i,U as j,ee as k,te as l,ne as m,oe as n,ie as o,re as p};
@@ -0,0 +1 @@
1
+ import{j as z}from"./c-U4NTUVDZ.js";import"./c-VHNSBD2M.js";function M(e){let n=e?.name||"";return n==="QuotaExceededError"||n==="NS_ERROR_DOM_QUOTA_REACHED"?"quota":n==="VersionError"?"unknown-schema":n==="DataCloneError"?"uncloneable":n==="AbortError"||n==="TransactionInactiveError"||n==="InvalidStateError"?"aborted":n==="SecurityError"||n==="UnknownError"||n==="NotSupportedError"?"unavailable":"error"}var ve="clay-visitor-drafts",Se=1,P="records",Y="parts",Ee=2e3;function T(e,n){let p=new Error(`visitor-drafts: the draft database failed (${e})`);return p.code=e,n!==void 0&&(p.cause=n),p}function ue(e,n){return new Promise((p,w)=>{let b=[],f=e.openCursor(n);f.onerror=()=>w(f.error),f.onsuccess=()=>{let o=f.result;if(!o)return p(b);b.push([o.key,o.value]),o.continue()}})}function de({factory:e=globalThis.indexedDB,keyRange:n=globalThis.IDBKeyRange,name:p=ve,timeout:w=Ee}={}){return new Promise((b,f)=>{if(!e||typeof e.open!="function"||!n)return f(T("unavailable"));let o;try{o=e.open(p,Se)}catch(d){return f(T(M(d),d))}let S=!1,u=(d,h)=>S?!1:(S=!0,clearTimeout(t),d(h),!0),t=setTimeout(()=>u(f,T("blocked")),w);o.onupgradeneeded=()=>{let d=o.result;d.objectStoreNames.contains(P)||d.createObjectStore(P),d.objectStoreNames.contains(Y)||d.createObjectStore(Y)},o.onsuccess=()=>{let d=o.result;u(b,Oe(d,n))||d.close()},o.onerror=()=>u(f,T(M(o.error),o.error)),o.onblocked=()=>u(f,T("blocked"))})}function Oe(e,n){let p=!1;e.onversionchange=()=>{p=!0;try{e.close()}catch{}};function w(t,d){if(p)throw T("closed");try{return e.transaction(t,d)}catch(h){throw T(M(h),h)}}async function b(t){let d=w(P,"readonly"),h=n.bound(t,t+":\uFFFF");try{let s=await ue(d.objectStore(P),h);return new Map(s.filter(([i])=>i===t||i.startsWith(t+":")))}catch(s){throw T(M(s),s)}}async function f(t,d){let h=w(Y,"readonly"),s=n.bound([t,d],[t,d,[]]);try{let i=await ue(h.objectStore(Y),s);return new Map(i.map(([y,g])=>[y[2],g]))}catch(i){throw T(M(i),i)}}function o(t,d,{timeout:h=0}={}){return new Promise((s,i)=>{let y;try{y=w([P,Y],"readwrite")}catch(l){return i(l)}let g=null,k,D=!1,c,E=(l,v)=>{D||(D=!0,clearTimeout(c),l(v))};h>0&&(c=setTimeout(()=>{g=T("blocked");try{y.abort()}catch{}E(i,g)},h)),y.oncomplete=()=>E(s,k),y.onabort=()=>E(i,g||T(y.error?M(y.error):"aborted",y.error));try{let l=y.objectStore(P),v=n.bound(t+":op:",t+":op:\uFFFF"),O={record:l.get(t),meta:l.get(t+":meta"),v1base:l.get(t+":v1base"),names:l.getAllKeys(v),values:l.getAll(v)};O.values.onsuccess=()=>{if(!D)try{let R={record:O.record.result??null,meta:O.meta.result??null,v1base:O.v1base.result??null,rows:O.names.result.map((N,F)=>[N,O.values.result[F]])},x=d(R);for(let[N,F]of x.puts)l.put(F,N);for(let N of x.deletes)l.delete(N);k=x.result}catch(R){g=T(M(R),R);try{y.abort()}catch{}}}}catch(l){g=T(M(l),l);try{y.abort()}catch{}}})}function S(t,d){return new Promise((h,s)=>{if(!/:op:[^:]+$/.test(t))return s(T("bad-op"));let i;try{i=w(P,"readwrite"),i.objectStore(P).put(d,t),i.commit?.()}catch(y){return s(y instanceof Error&&y.code?y:T(M(y),y))}i.oncomplete=()=>h(),i.onabort=()=>s(T(i.error?M(i.error):"aborted",i.error))})}function u(){p=!0;try{e.close()}catch{}}return{readAll:b,readParts:f,change:o,putRow:S,close:u}}var _=e=>e===void 0?void 0:JSON.parse(JSON.stringify(e)),K=e=>e!==null&&typeof e=="object"&&!Array.isArray(e),Ae=e=>e+":meta",se=(e,n)=>`${e}:op:${n}`,le=(e,n)=>n===void 0?e+":conflict":`${e}:conflict:${n}`,Z=(e,n)=>`${e}:recovery:${n}`,H=e=>K(e)&&e.v===1&&e.w===void 0&&K(e.data),J=e=>typeof e.id=="string"?e.id:"at:"+e.savedAt,he=(e,n)=>`${e}~${n}`;function Q(e){let n=/^(\d+)~/.exec(e??"");return n?Number(n[1]):null}function Ie(e,n,p){let w={...e},b={...e};for(let[f,o]of Object.entries(n))"b"in o?w[f]=o.b:delete w[f],"m"in o?b[f]=o.m:delete b[f];return p(w,b,e)}var oe=e=>K(e)&&typeof e.tab=="string"&&typeof e.reset=="string"&&Array.isArray(e.ops),$=e=>oe(e)?`op:${e.tab}:${e.ops.at(-1)?.seq??e.acked??0}`:J(e);function ie(e,n){if(K(e)&&n.recovery?.includes($(e)))return!0;if(!oe(e))return!1;let p=Math.max(e.acked??0,e.reset===n.reset?n.tabs[e.tab]?.seq??0:0);return e.ops.every(w=>w.seq<=p)}function ae(e=null){return{gen:Q(e)??1,rev:0,reset:e??"",tabs:{},foreign:null,unit:null}}var q=e=>e&&e.blockeditor?{live:e.live,blockeditor:e.blockeditor}:null;function pe(e,n,p){let w=[...e,n?.id,...n?.ancestry??[]].filter(b=>typeof b=="string");return w.length?w.slice(0,32):["root:"+p.reset]}function ke(e,{record:n,seen:p,direct:w,v1base:b,meta:f}){let o=K(p)&&p.v===1&&K(p.data)&&p.w?.reset===f.reset?p:null,S=t=>t&&typeof t.id=="string"?e.indexOf(t.id):-1,u=[[n,S(n)],[o,o&&w?0:S(o)],[b,S(b)]].filter(([,t])=>t>=0);return u.length?u.reduce((t,d)=>d[1]<t[1]?d:t)[0]:null}function Te(e,{seed:n,newId:p,now:w,merge3:b,unitMark:f,marker:o=null,resets:S=[],chains:u=[],local:t=null,seen:d=null,direct:h=!1}){let s=e.meta?_(e.meta):ae(o);!e.meta&&Number.isInteger(t?.w?.rev)&&(s.rev=t.w.rev);let i=e.record?_(e.record):null,y=e.v1base?_(e.v1base):null,g={conflicts:[],recovered:[],released:[],dropped:[],stale:[],applied:{},changed:!e.meta};function k(c,E=[]){let l=$(c);if(s.recovery?.includes(l))return;g.recovered.push(_(c));let v=[l,...(s.recovery??[]).filter(O=>O!==l&&!E.includes(O))].slice(0,8);return g.dropped=[...new Set([...g.dropped,...s.recovery??[]])].filter(O=>!v.includes(O)),s.recovery=v,g.changed=!0,!0}let D=[...S];o&&o!==s.reset&&D.push({ends:Q(o)===null?null:Q(o)-1,marker:o});for(let c of D){if(c.marker===s.reset||s.ended?.includes(c.marker)||c.ends!==null&&c.ends<s.gen)continue;c.ends!==s.gen&&i&&k(i);let E=typeof t?.reset=="string"?t.reset===c.marker:c.ends===null||Array.isArray(t?.ancestry)&&t.ancestry.includes("root:"+c.marker);H(t)&&J(t)!==s.foreign&&!E&&(k(t),s.foreign=J(t)),s.ended=[...s.ended??[],s.reset].slice(-32),Object.assign(s,{gen:s.gen+1,reset:c.marker,tabs:{},unit:null}),s.rev++,i=null,y=null,g.changed=!0}if(!e.meta&&!i&&K(t)&&t.v===1&&K(t.data)&&(t.w===void 0||t.w.reset===s.reset)){let{w:c,...E}=t;i=_(E),c===void 0&&(y=_(E),s.foreign=J(t),s.rev++)}if(e.meta||(s.unit=f(q(i))),e.meta&&H(t)&&J(t)!==s.foreign){let c=J(t),E=Array.isArray(t.ancestry)?t.ancestry:[],l=i?ke(E,{record:i,seen:d,direct:h,v1base:y,meta:s}):null;if(typeof t.reset=="string"&&s.ended?.includes(t.reset))k(t,E)&&g.released.push(_(t));else if(!i)i=_(t),y=_(t),s.unit=f(q(i)),s.rev++;else if(l){let v=b(l.data,t.data,i.data),O=q(t),R=!!O&&f(O)!==f(q(l)),x=R&&q(i)&&f(q(l))!==s.unit;(v.conflict||x)&&g.conflicts.push(_(i));let N=R?O:q(i);i={v:1,savedAt:t.savedAt??new Date(w).toISOString(),id:p(),ancestry:pe(typeof t.id=="string"?[t.id]:[],i,s),data:v.value,...N&&{live:N.live,blockeditor:N.blockeditor}},R&&(s.unit=f(N)),y=_(t),s.rev++}else k(t,E)&&g.released.push(_(t));s.foreign=c,g.changed=!0}for(let c of u){if(!oe(c))continue;if(c.reset!==s.reset){let v=c.reset===e.meta?.reset?e.meta.tabs[c.tab]?.seq??0:0;c.ops.some(O=>O.seq>Math.max(v,c.acked??0))&&k(c),g.stale.includes(c.tab)||g.stale.push(c.tab);continue}let E=s.tabs[c.tab]?.seq??0,l=Math.max(E,Number.isInteger(c.acked)?c.acked:0);for(let v of c.ops){if(v.seq<=l)continue;if(v.seq!==l+1)break;let O=Ie(i?i.data:n,v.keys??{},b),R=v.unit!==void 0&&i&&q(i)&&v.unit.seen!==s.unit;i&&(O.conflict||R)&&g.conflicts.push(_(i));let x=v.unit!==void 0?v.unit.to:q(i),N=p();i={v:1,savedAt:v.savedAt??new Date(w).toISOString(),id:N,ancestry:pe([],i,s),data:O.value,...x&&{live:x.live,blockeditor:x.blockeditor}},v.unit!==void 0&&(s.unit=f(x)),s.rev++,l=v.seq,g.changed=!0}(l!==E||s.tabs[c.tab])&&(s.tabs[c.tab]={seq:l,at:w},g.changed=!0),g.applied[c.tab]=l}for(let[c,E]of Object.entries(s.tabs))w-(E.at??0)>2592e6&&(delete s.tabs[c],g.changed=!0);return{meta:s,record:i,v1base:y,...g}}var X=e=>{if(e==null)return null;try{return JSON.parse(e)}catch{return null}};function me(e,n,p,w){return e.change(n,b=>{let f={meta:X(b.meta),record:X(b.record),v1base:X(b.v1base)},o=b.rows.map(([h,s])=>[h,X(s)]),S=p(f),u=Te(f,{...S,chains:[...o.map(([,h])=>h),...S.chains??[]]}),t=[],d=[];u.changed&&(t.push([Ae(n),JSON.stringify(u.meta)]),u.record?t.push([n,JSON.stringify(u.record)]):f.record&&d.push(n),u.v1base?t.push([n+":v1base",JSON.stringify(u.v1base)]):f.v1base&&d.push(n+":v1base"));for(let h of u.conflicts)t.push([le(n,J(h)),JSON.stringify(h)]);u.conflicts.length&&t.push([le(n),JSON.stringify(u.conflicts[u.conflicts.length-1])]);for(let h of u.recovered)t.push([Z(n,$(h)),JSON.stringify(h)]);for(let h of u.dropped)d.push(Z(n,h));for(let[h,s]of o)ie(s,u.meta)&&d.push(h);return{puts:t,deletes:d,result:u}},w)}var xe=256*1024,Ne=2*1024,_e=new Set(["v","savedAt","id","ancestry","reset","data"]),Re=10*1e3,Me=1500,ge=2e3,De="This draft was started over in another tab.",qe="This draft was started over in another tab. The earlier draft was kept aside in this browser.",Je="A tab that was open before an update saved another copy of this draft. That copy was kept aside, and this draft was not changed. Reload that tab to go on from this draft.",B=e=>{if(e==null)return null;try{return JSON.parse(e)}catch{return null}};function Pe(e,n){let p={},w=Object.keys(e).every(b=>_e.has(b));for(let[b,f]of Object.entries(e.data))JSON.stringify(f).length<Ne?p[b]=f:w=!1;return JSON.stringify({v:2,savedAt:e.savedAt,id:e.id,ancestry:e.ancestry,idb:!0,...w&&{full:!0},data:p,w:n})}async function je({store:e,storage:n,doc:p=document,now:w=()=>Date.now(),reload:b=()=>window.location.reload()}){let f=await de(),{key:o}=e,S=o+":reset",u=r=>{try{return n?.getItem(r)??null}catch{return null}},t=r=>{try{n?.removeItem(r)}catch{}},d=o+":started-over",h=o+":recovery-notice";try{window.sessionStorage.getItem(d)&&(window.sessionStorage.removeItem(d),window.sessionStorage.getItem(h)||import("./c-NVU3DORS.js").then(r=>r.toastPersistent(De,"info")).catch(()=>{}))}catch{}let s=null,i="",y=null,g=null,k=null,D=0,c=!1,E=e.held()?.id,l=null,v=null,O=new Set;try{let r=window.sessionStorage.getItem(h);if(r){window.sessionStorage.removeItem(h);let a=B(r);ce({id:a?.mark??r},!!a?.reset)}}catch{}function R(r){try{window.sessionStorage.setItem(h,JSON.stringify({mark:r,reset:!0}))}catch{}}function x(r){try{window.sessionStorage.setItem(o+":generation",JSON.stringify({marker:i,reset:r}))}catch{}}function N(){let r=u(S);i=r??"";let a=e.journalSlots().filter(I=>I!==e.slotKey).map(I=>B(u(I)));k=e.stopped()?null:g,D=e.chain().ops.at(-1)?.seq??0;let m=e.held();m?.v===1&&m.w!==void 0&&(l=m);let A=k?[k]:[];return{seed:e.seed(),newId:e.newId,merge3:e.merge3,unitMark:e.unitMark,now:w(),marker:r,resets:A,local:m,seen:l,direct:v!==null&&u(o)===v,chains:e.pending()?[...a,e.chain()]:a}}function F(r){let a=w();for(let m of e.journalSlots()){if(m===e.slotKey)continue;let A=B(u(m));ie(A,r)&&a-(A?.at??0)>Re&&t(m)}}function ee({meta:r,record:a}){let m=e.held();if(H(m)&&J(m)!==r.foreign)return void setTimeout(G,0);if((u(S)??"")!==r.reset)return;if(!a)return void(m&&t(o));if(m?.w&&m.w.reset===r.reset&&m.w.rev>=r.rev)return;let A={rev:r.rev,reset:r.reset},I=JSON.stringify({...a,w:A});try{if(I.length<=xe){n.setItem(o,I),l={...a,w:A};return}}catch{}try{n.setItem(o,Pe(a,A))}catch{}}async function te(r){c=!0;let a=e.chain(),m=$(a),A=a.ops.some(C=>C.seq>D)||r.meta.recovery?.includes(m)?m:r.meta.recovery?.includes(E)?E:null;if(e.acknowledge(D),e.stop({keepPending:!0}),e.unsafe()){try{await f.putRow(se(o,e.tab),JSON.stringify(e.chain()))}catch(C){throw e.failed(C)}e.acknowledge(e.chain().ops.at(-1)?.seq??0)}ee(r),A&&R(A);let I=e.held();I?.w&&I.w.reset!==r.meta.reset&&t(o);try{window.sessionStorage.setItem(d,"1")}catch{}return x(r.meta.reset),c=!1,b(),r}async function we(){let r=e.generation(),a=()=>{e.stop(),z(!1)},m=()=>(u(S)??"")!==r&&(y===null||(u(S)??"")!==i);if(m())return a();let A=y??Q(r);if(A===null){let L=await re.catch(()=>f.change(o,({meta:U})=>({puts:[],deletes:[],result:{meta:B(U)??ae(r)}}),{timeout:ge}));if(m())return a();if(A=L.meta.gen,L.meta.reset!==r){g={ends:null,marker:r};let U=await W();if(e.stopped())return a();A=U.meta.gen}}let I=he(A+1,e.newId());g={ends:A,marker:I};let C=u(o);e.held()?.w&&t(o);try{n.setItem(S,I)}catch{}let fe;try{let L=W();u(S)!==I?await L:await Promise.race([L.catch(()=>{}),new Promise(U=>{fe=setTimeout(U,Me)})]),a()}catch(L){if(g=null,C!==null&&u(o)===null&&(u(S)??"")===r)try{n.setItem(o,C)}catch{}throw L}finally{clearTimeout(fe)}}function ce(r,a=!1){console.warn(a?"visitor-drafts: the draft was started over; the earlier draft was kept in this browser's draft database under":"visitor-drafts: a tab on an earlier ClayJS saved a copy that could not be merged exactly; it was kept in this browser's draft database under",Z(o,$(r))),!O.has(a)&&(O.add(a),import("./c-NVU3DORS.js").then(m=>m.toastPersistent(a?qe:Je,"warning")).catch(()=>{}))}function be(r){let{meta:a,record:m}=r;if(i!==a.reset&&(u(S)??"")===i)try{n.setItem(S,a.reset)}catch{}if(k&&k===g&&a.reset!==e.generation()&&(k.marker===a.reset&&x(a.reset),e.stop(),z(!1)),k===g&&(g=null),e.stopped())return c?te(r):(ee(r),r);if(r.conflicts.length&&console.warn("visitor-drafts: another tab changed the same thing; its copy was kept in this browser's draft database under",o+":conflict"),r.stale.includes(e.tab))return te(r);if(a.reset!==e.generation()){if(!e.fresh())return te(r);e.enter(a.reset)}r.released.length&&ce(r.released[0]),y=a.gen,x(a.reset);let A=e.acknowledge(a.tabs[e.tab]?.seq??0);if(F(a),ee(r),e.pending())return r;if(A&&(z(!1),p.dispatchEvent(new CustomEvent("clay:drafts-saved",{detail:{data:m.data}}))),!e.shown())return s=a.rev,r;e.changed()||(m&&a.rev!==s&&e.take(m.data),E=m?.id,s=a.rev);let I=e.externalUnit(m);return I&&p.dispatchEvent(new CustomEvent("clay:drafts-blockeditor-external",{detail:{live:I.live,adopted:()=>e.adoptedUnit(I)}})),r}let V=null,j=null;function ne(r){return V=me(f,o,N,r).then(be,a=>{throw e.pending()?e.failed(a):a}).finally(()=>{V=null}),V}function W(){return j||(V?(j=V.then(()=>{},()=>{}).then(()=>(j=null,ne())),j):ne())}let G=()=>{W().catch(()=>{})};function ye(){e.unsafe()&&f.putRow(se(o,e.tab),JSON.stringify(e.chain())).catch(()=>{}),e.pending()&&G()}window.addEventListener("storage",r=>{if(r.key===o){let[a,m]=[B(r.oldValue),B(r.newValue)];m?.v===1&&m.w!==void 0?l=m:H(m)&&a?.v===1&&a.w!==void 0&&([l,v]=[a,r.newValue])}(r.key===null||r.key===o||r.key===S)&&G()}),window.addEventListener("pageshow",r=>{r.persisted&&G()}),p.addEventListener("clay:drafts-blockeditor-listening",G);let re=ne({timeout:ge});return re.catch(()=>{}),{first:re,sync:W,hide:ye,startOver:we}}export{xe as FULL_COPY_LIMIT,je as openSession};
@@ -0,0 +1 @@
1
+ import{a,b,c}from"./c-ESK4S67I.js";import"./c-MR75YPRT.js";import"./c-4JZDZFF6.js";import"./c-5RZNFTWD.js";import"./c-PKCCHJ5X.js";import"./c-NUHP2XDB.js";import"./c-VHNSBD2M.js";export{c as bevelDialog,a as dismissOf,b as keepFocusIn};
@@ -1 +1 @@
1
- import{a as L,b as T,c as w,d as A,f as C,j as v,k as M,l as P,n as S}from"./c-IHUWUKIU.js";import{b as N,e as b,f as O,g as f}from"./c-EUGJVHDD.js";import{a as D}from"./c-PKCCHJ5X.js";import{a as I,b as c}from"./c-NUHP2XDB.js";var q=new WeakMap,W='a[href], input:not([disabled]):not([type="hidden"]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), [contenteditable], [tabindex]:not([tabindex^="-"])';function G(u,a){let t=[...u.querySelectorAll(W)].filter(i=>i.offsetParent!==null);if(!t.length)return;let s=t.indexOf(document.activeElement);s===-1?(t[0].focus(),a.preventDefault()):a.shiftKey&&s===0?(t[t.length-1].focus(),a.preventDefault()):!a.shiftKey&&s===t.length-1&&(t[0].focus(),a.preventDefault())}var B=`1px solid ${b["line-2"]}`;function K(u,a,t=null,s=[],i=[]){let x=f.dialogCloseHover[0].slice(11),g=["position:absolute","top:-1px","right:-1px","z-index:2","display:grid","place-items:center",a?"height:calc(100% + 1px)":"height:62px","margin:0","padding:0","border:0",...f.dialogClose,...a?[]:[`border-bottom:${B}`],"cursor:pointer","outline:none"],e=v("button",g);if(e.type="button",e.setAttribute("aria-label",u),e.title=u,e.innerHTML=O.dialogClose,!L(t))return C(e.firstElementChild,16),e.addEventListener("pointerenter",()=>c(e,"background",x)),e.addEventListener("pointerleave",()=>c(e,"background",b.face)),e.addEventListener("focus",()=>{c(e,"outline",`2px solid ${b.brass}`),c(e,"outline-offset","-4px")}),e.addEventListener("blur",()=>c(e,"outline","none")),e;let n=["close",...s],r=["icon",...i];A(e,t,n),A(e.firstElementChild,t,r);let o={hover:!1,focus:!1,pressed:!1},l=()=>{let d={hover:o.hover,active:o.pressed,focus:o.focus},h=e.firstElementChild;h.style.cssText="",C(h,16),I(h,w(t,r,d)),M(e,[...g,...o.hover?[`background:${x}`]:[],...o.focus?[`outline:2px solid ${b.brass}`,"outline-offset:-4px"]:[],...T(t,"close",d),...w(t,n,d)])};return e.addEventListener("pointerenter",()=>{o.hover=!0,l()}),e.addEventListener("pointerleave",()=>{o.hover=!1,o.pressed=!1,l()}),e.addEventListener("pointerdown",d=>{d.button!==void 0&&d.button!==0||(o.pressed=!0,l())}),e.addEventListener("pointerup",()=>{o.pressed=!1,l()}),e.addEventListener("focus",()=>{o.focus=!0,l()}),e.addEventListener("blur",()=>{o.focus=!1,o.pressed=!1,l()}),l(),e}function Y({zIndex:u="100",width:a="600px",closable:t=!1,titled:s=!1,theme:i=null,surface:x="modal"}={}){let g=L(i),e=g?i.tokens:{},n=e.spacing,r=k=>x==="modal"?[`dialog.${k}`]:[`dialog.${k}`,`${x}.${k}`],o=v("div",["display:block"],{theme:i,parts:r("root")});o.setAttribute("data-clay-modal",""),g&&o.setAttribute("data-clay-ui",x),o.setAttribute("aria-hidden","true");let l=g&&i.scheme!=="light dark",d=Math.min(parseFloat(a)||600,innerWidth-32),h={x:(innerWidth-d)/2,y:Math.min(96,innerHeight*.1),width:d,height:160};c(o,"color-scheme",l?i.scheme:D(h).scheme);let m=v("div",["position:fixed","inset:0",`z-index:${u}`,"overflow:auto","display:flex","align-items:flex-start","justify-content:center","padding:min(96px, 10vh) 16px 16px",`background:color-mix(in srgb, ${b.ground} 72%, transparent)`],{theme:i,parts:r("overlay"),role:"overlay"});m.tabIndex=-1;let p=P("form",["position:relative","display:flex","flex-direction:column","margin:0",`width:min(${a}, 100%)`,"max-height:calc(100dvh - min(96px, 10vh) - 16px)",...f.dialogPanel],{theme:i,parts:r("panel")});p.setAttribute("role","dialog"),p.setAttribute("aria-modal","true");let $=null,y=null;s&&($=v("div",["position:relative","display:block","flex:none",`padding:20px ${t?"68px":"22px"} 16px 22px`,...f.dialogHeader,...e.border?[`border-bottom-color:${e.border}`]:[],...n?[`padding:${n} ${t?`calc(${n} + 46px)`:n} calc(${n} * .7) ${n}`]:[]],{theme:i,parts:r("header")}),y=S("div",["display:block",...f.dialogHeading,"overflow-wrap:anywhere"],void 0,{theme:i,parts:r("title"),role:"heading"}),y.setAttribute("role","heading"),y.setAttribute("aria-level","2"),$.append(y),p.append($));let F=S("div",["display:block","flex:1 1 auto","min-height:0","overflow-y:auto","overflow-x:hidden",`padding:20px ${t&&!s?"84px":"22px"} 20px 22px`,"overflow-wrap:anywhere",`font:14.5px/1.55 ${N}`,...n?[`padding:${n} ${t&&!s?`calc(${n} + 62px)`:n} ${n} ${n}`]:[]],void 0,{theme:i,parts:r("body")}),H=v("div",["display:flex","flex:none","flex-wrap:wrap","justify-content:flex-end","align-items:center",...f.dialogFooter,...e.border?[`border-top-color:${e.border}`]:[],...n?[`padding:calc(${n} * .65) ${n}`,`gap:calc(${n} / 2)`]:[]],{theme:i,parts:[...r("footer"),...r("actions")]});p.append(F,H);let E=t?K("Close",s,i,r("close"),r("closeIcon")):null;return E&&($||p).append(E),m.append(p),o.append(m),{root:o,overlay:m,panel:p,header:$,heading:y,body:F,footer:H,close:E,theme:i}}export{q as a,G as b,Y as c};
1
+ import{a as L,b as T,c as w,d as A,f as C,j as v,k as M,l as P,n as S}from"./c-MR75YPRT.js";import{b as N,e as b,f as O,g as f}from"./c-5RZNFTWD.js";import{a as D}from"./c-PKCCHJ5X.js";import{a as I,b as c}from"./c-NUHP2XDB.js";var q=new WeakMap,W='a[href], input:not([disabled]):not([type="hidden"]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), [contenteditable], [tabindex]:not([tabindex^="-"])';function G(u,a){let t=[...u.querySelectorAll(W)].filter(i=>i.offsetParent!==null);if(!t.length)return;let s=t.indexOf(document.activeElement);s===-1?(t[0].focus(),a.preventDefault()):a.shiftKey&&s===0?(t[t.length-1].focus(),a.preventDefault()):!a.shiftKey&&s===t.length-1&&(t[0].focus(),a.preventDefault())}var B=`1px solid ${b["line-2"]}`;function K(u,a,t=null,s=[],i=[]){let x=f.dialogCloseHover[0].slice(11),g=["position:absolute","top:-1px","right:-1px","z-index:2","display:grid","place-items:center",a?"height:calc(100% + 1px)":"height:62px","margin:0","padding:0","border:0",...f.dialogClose,...a?[]:[`border-bottom:${B}`],"cursor:pointer","outline:none"],e=v("button",g);if(e.type="button",e.setAttribute("aria-label",u),e.title=u,e.innerHTML=O.dialogClose,!L(t))return C(e.firstElementChild,16),e.addEventListener("pointerenter",()=>c(e,"background",x)),e.addEventListener("pointerleave",()=>c(e,"background",b.face)),e.addEventListener("focus",()=>{c(e,"outline",`2px solid ${b.brass}`),c(e,"outline-offset","-4px")}),e.addEventListener("blur",()=>c(e,"outline","none")),e;let n=["close",...s],r=["icon",...i];A(e,t,n),A(e.firstElementChild,t,r);let o={hover:!1,focus:!1,pressed:!1},l=()=>{let d={hover:o.hover,active:o.pressed,focus:o.focus},h=e.firstElementChild;h.style.cssText="",C(h,16),I(h,w(t,r,d)),M(e,[...g,...o.hover?[`background:${x}`]:[],...o.focus?[`outline:2px solid ${b.brass}`,"outline-offset:-4px"]:[],...T(t,"close",d),...w(t,n,d)])};return e.addEventListener("pointerenter",()=>{o.hover=!0,l()}),e.addEventListener("pointerleave",()=>{o.hover=!1,o.pressed=!1,l()}),e.addEventListener("pointerdown",d=>{d.button!==void 0&&d.button!==0||(o.pressed=!0,l())}),e.addEventListener("pointerup",()=>{o.pressed=!1,l()}),e.addEventListener("focus",()=>{o.focus=!0,l()}),e.addEventListener("blur",()=>{o.focus=!1,o.pressed=!1,l()}),l(),e}function Y({zIndex:u="100",width:a="600px",closable:t=!1,titled:s=!1,theme:i=null,surface:x="modal"}={}){let g=L(i),e=g?i.tokens:{},n=e.spacing,r=k=>x==="modal"?[`dialog.${k}`]:[`dialog.${k}`,`${x}.${k}`],o=v("div",["display:block"],{theme:i,parts:r("root")});o.setAttribute("data-clay-modal",""),g&&o.setAttribute("data-clay-ui",x),o.setAttribute("aria-hidden","true");let l=g&&i.scheme!=="light dark",d=Math.min(parseFloat(a)||600,innerWidth-32),h={x:(innerWidth-d)/2,y:Math.min(96,innerHeight*.1),width:d,height:160};c(o,"color-scheme",l?i.scheme:D(h).scheme);let m=v("div",["position:fixed","inset:0",`z-index:${u}`,"overflow:auto","display:flex","align-items:flex-start","justify-content:center","padding:min(96px, 10vh) 16px 16px",`background:color-mix(in srgb, ${b.ground} 72%, transparent)`],{theme:i,parts:r("overlay"),role:"overlay"});m.tabIndex=-1;let p=P("form",["position:relative","display:flex","flex-direction:column","margin:0",`width:min(${a}, 100%)`,"max-height:calc(100dvh - min(96px, 10vh) - 16px)",...f.dialogPanel],{theme:i,parts:r("panel")});p.setAttribute("role","dialog"),p.setAttribute("aria-modal","true");let $=null,y=null;s&&($=v("div",["position:relative","display:block","flex:none",`padding:20px ${t?"68px":"22px"} 16px 22px`,...f.dialogHeader,...e.border?[`border-bottom-color:${e.border}`]:[],...n?[`padding:${n} ${t?`calc(${n} + 46px)`:n} calc(${n} * .7) ${n}`]:[]],{theme:i,parts:r("header")}),y=S("div",["display:block",...f.dialogHeading,"overflow-wrap:anywhere"],void 0,{theme:i,parts:r("title"),role:"heading"}),y.setAttribute("role","heading"),y.setAttribute("aria-level","2"),$.append(y),p.append($));let F=S("div",["display:block","flex:1 1 auto","min-height:0","overflow-y:auto","overflow-x:hidden",`padding:20px ${t&&!s?"84px":"22px"} 20px 22px`,"overflow-wrap:anywhere",`font:14.5px/1.55 ${N}`,...n?[`padding:${n} ${t&&!s?`calc(${n} + 62px)`:n} ${n} ${n}`]:[]],void 0,{theme:i,parts:r("body")}),H=v("div",["display:flex","flex:none","flex-wrap:wrap","justify-content:flex-end","align-items:center",...f.dialogFooter,...e.border?[`border-top-color:${e.border}`]:[],...n?[`padding:calc(${n} * .65) ${n}`,`gap:calc(${n} / 2)`]:[]],{theme:i,parts:[...r("footer"),...r("actions")]});p.append(F,H);let E=t?K("Close",s,i,r("close"),r("closeIcon")):null;return E&&($||p).append(E),m.append(p),o.append(m),{root:o,overlay:m,panel:p,header:$,heading:y,body:F,footer:H,close:E,theme:i}}export{q as a,G as b,Y as c};
@@ -0,0 +1 @@
1
+ import{g as y,j as L,l as $,n as B,q as m}from"./c-MR75YPRT.js";import{a as _}from"./c-4JZDZFF6.js";import{b as R,c as T,d as N,e as S}from"./c-5RZNFTWD.js";import{b as F}from"./c-PKCCHJ5X.js";import{b}from"./c-NUHP2XDB.js";import{h as P}from"./c-ICMAOOGK.js";import"./c-WRBKEJD4.js";import"./c-VHNSBD2M.js";var D="p,h1,h2,h3,h4,h5,h6,li,dt,dd,blockquote,pre,figcaption,td,th",K="section,article,aside,header,footer,nav,main,div,ul,ol,dl,table,figure,form",v=4,C=()=>typeof matchMedia=="function"&&!!matchMedia("(pointer: coarse)").matches;function w(l,d,f){return l.setAttribute(d,f),l}function H(l=document){let d=n=>n instanceof l.defaultView.Element&&n!==l.body&&n!==l.documentElement&&!n.closest("[data-clay-ai-edit]")&&!n.closest(P),f=n=>{if(!n||!d(n))return null;let r=n.closest(D)||n.closest(K);return r&&r!==l.body?r:null};return{targetAt(n,r){let a=typeof l.elementsFromPoint=="function"?l.elementsFromPoint(n,r):[];for(let s of a||[]){let t=f(s);if(t)return t}return null},between(n,r){if(!n)return r||null;if(!r||n===r)return n;let a=n.compareDocumentPosition(r)&4?n:r,s=a===n?r:n,t=a;for(;t&&!t.contains(s);)t=t.parentElement;return t?t===l.body||t.matches(D)||t.matches(K)?t:f(t)||t:null},rectOf(n){return n.getBoundingClientRect()}}}function U({coarse:l}){let d=`color-scheme:${_()}`,f=(u,i)=>w(u,"data-clay-ai-edit-part",i),n=w(L("div",["position:fixed","inset:0","z-index:99997","background:transparent","touch-action:pan-y","cursor:crosshair",d]),"data-clay-ai-edit","picker"),r=w(L("div",["box-sizing:content-box","position:fixed","z-index:99998","pointer-events:none",`border:2px solid ${S.brass}`,"border-radius:0",d]),"data-clay-ai-edit","picker-ring");m(r,!1);let a=w($("div",["position:fixed","left:50%","bottom:16px","transform:translateX(-50%)","z-index:99999","width:min(35rem, calc(100vw - 32px))","padding:8px 10px","border-radius:12px","gap:8px","align-items:center",`box-shadow:${N}`,`font:13px/1.5 ${R}`,d]),"data-clay-ai-edit","picker-bar");m(a,!1,"flex");let s=f(B("div",["display:block","flex:1","min-width:0","overflow:hidden","text-overflow:ellipsis","white-space:nowrap",`color:${S.muted}`,`font:12.5px/1.5 ${T}`]),"picker-hint");s.textContent="Click or drag blocks";let t=f(y("Whole page",{extra:["flex:none"]}),"picker-whole"),h=f(y("Cancel",{variant:"quiet",extra:["flex:none"]}),"picker-cancel"),c=l?f(y("Continue",{variant:"primary",extra:["flex:none"]}),"picker-continue"):null;c&&m(c,!1,"inline-flex"),a.append(s,t,...c?[c]:[],h),document.body.append(n,r,a);for(let u of[n,r,a])F(u);return{overlay:n,ring:r,bar:a,hint:s,whole:t,more:c,cancel:h}}function ee({surface:l,onPicked:d,onWholePage:f,onCancel:n,build:r}={}){let a=document,s=l||H(a),t=null,h=null,c=!1,u=null,i=null,M=e=>e&&(typeof s.rectOf=="function"?s.rectOf(e):e.getBoundingClientRect())||null,k=e=>s.targetAt(e.clientX,e.clientY)||null;function E(e){if(!t)return;let o=M(e);if(!o){m(t.ring,!1);return}b(t.ring,"left",o.left-5+"px"),b(t.ring,"top",o.top-5+"px"),b(t.ring,"width",o.width+6+"px"),b(t.ring,"height",o.height+6+"px"),m(t.ring,!0)}function X(e,o){if(!e)return;let p=u&&(o||C())&&s.between(u,e)||e;u=p,E(p),t.more&&m(t.more,!0,"inline-flex"),!C()&&d?.(p)}function z(e){!c||e.button>0||(e.preventDefault(),i={x:e.clientX,y:e.clientY,from:k(e),moved:!1,shift:!!e.shiftKey})}function Y(e){if(!c)return;let o=k(e);if(i){let p=e.clientX-i.x,x=e.clientY-i.y;if(!i.moved&&p*p+x*x>v*v&&(i.moved=!0),i.moved){E(i.from&&o?s.between(i.from,o)||o:o||i.from);return}}E(o)}function q(e){if(!c||!i)return;let o=i;i=null;let p=e.clientX-o.x,x=e.clientY-o.y,G=o.moved||p*p+x*x>v*v,g=k(e),A=G&&o.from&&g?s.between(o.from,g)||g:g||o.from;A&&X(A,!!(o.shift||e.shiftKey))}function I(e){!c||e.key!=="Escape"||(O(),n?.())}function V(){if(c)return;c=!0,u=null,i=null,t=(r||U)({coarse:C()}),h=new AbortController;let{signal:e}=h,{overlay:o}=t;o.addEventListener("pointerdown",z,{signal:e}),o.addEventListener("pointermove",Y,{signal:e}),o.addEventListener("pointerup",q,{signal:e}),o.addEventListener("pointercancel",()=>{i=null},{signal:e}),t.whole.addEventListener("click",()=>{c&&f?.()},{signal:e}),t.more?.addEventListener("click",()=>{c&&u&&d?.(u)},{signal:e}),t.cancel.addEventListener("click",()=>{O(),n?.()},{signal:e}),a.addEventListener("keydown",I,{signal:e}),m(t.bar,!0,"flex"),t.whole.focus({preventScroll:!0})}function O(){if(!(!c&&!t)){if(c=!1,u=null,i=null,h?.abort(),h=null,t)for(let e of[t.overlay,t.ring,t.bar])e.remove();t=null}}function W(e){return!t||!e?!1:t.overlay.contains(e)||t.bar.contains(e)}return{open:V,close:O,contains:W,get picking(){return c}}}export{ee as createPicker,H as genericSurface};
@@ -1 +1 @@
1
- import{a as w}from"./c-UGNV5MFB.js";import{b as m,c as v}from"./c-UHUNXWKN.js";import"./c-VKEDWYDF.js";import{m as f,o as y}from"./c-3O7OBDCM.js";import"./c-BPF2NSPV.js";import"./c-P7KNDG34.js";import"./c-CYWLPPUS.js";import"./c-N7JPUPGC.js";import"./c-PWJSJEJU.js";import"./c-XQXZAO7N.js";import"./c-S7LK4KUE.js";import"./c-VG5XIN4T.js";import"./c-2YYDMLNZ.js";import"./c-HA6INT6J.js";import"./c-ICMAOOGK.js";import"./c-WRBKEJD4.js";import"./c-VHNSBD2M.js";var L="script[editmode\\:resource]";function d(e=document){let t=[...e.querySelectorAll(L)];return{reversible:t.length===0,scripts:t}}function R(e=document){return{enable(){m(e)},quiesce(){},resume(){},dispose(){v()}}}function g(e=document){return{id:"clay:resources",order:100,prepare(){let{reversible:t}=d(e);if(!t)throw Object.assign(new Error("clay.modeLifecycle: an editmode:resource script cannot be re-run"),{code:"unsupported-plugin"});return R(e)}}}var b=!1,S=()=>{let e=new Set;for(let t of f()){if(typeof t?.then=="function")continue;let n=t?.id;if(typeof n!="string"||typeof t?.prepare!="function"||e.has(n))return!1;e.add(n)}return!0},j=e=>[...e?.edit?.core??[],...e?.edit?.plugins??[],...e?.edit?.late??[],...e?.view?.plugins??[],...e?.view?.late??[]];function A(e){return[...new Set(j(e))].filter(t=>w(t)===null)}function T(e){return S()&&A(e).length===0&&d().reversible}function _(){b||(b=!0,y(g()))}var l=()=>Object.assign(new Error("clay.modeLifecycle: the import was cancelled"),{name:"AbortError",code:"aborted"}),O=15e3,E=(e,t)=>Object.assign(new Error(`clayjs: ${e}`),{code:t}),q=(e,t)=>new Promise((n,s)=>{if(t?.aborted)return s(l());let o=()=>s(l());t?.addEventListener?.("abort",o),Promise.resolve(e).then(i=>{t?.removeEventListener?.("abort",o),n(i)},i=>{t?.removeEventListener?.("abort",o),s(i)})}),h=e=>!e?.represented||e.represented.bytes===null,P=e=>e&&(e.liveSync??e.default??e)||null;async function k(e,t={}){let n=t.signal,s={signal:n,deadline:O},o=e?.loaded?.["plugins/page-view.js"];if(o?.ready){await q(o.acquired,n);let a=await o.prepareHandoff(s);if(h(a))throw E("the reader has no file to hand over","not-acquired");return a}let i=P(e?.loaded?.["sync/live-sync.js"]);if(i&&!i.isDestroyed&&i.lane==="saved"){let a=await i.prepareHandoff(s);if(h(a))throw E("the reader has no file to hand over","not-acquired");return a}return null}function I(e,t=null){let n=e?.loaded?.["plugins/page-view.js"],s=Array.isArray(e?.view?.plugins)?e.view.plugins.includes("sync/live-sync.js"):!!e?.loaded?.["sync/live-sync.js"];if(n&&((n.restart??n.start)({sync:s,represented:t}),!s))return;let o=P(e?.loaded?.["sync/live-sync.js"]);if(o)return o.start(o.currentFile,{lane:"saved",represented:t})}async function V(e,t,{signal:n}={}){let s=e.inflight||=new Map,o=[],i=()=>{if(n?.aborted)throw l()},a=e.loadEditHints?.();if(a)try{await a}catch{}let u=r=>{if(!s.has(r)){let c=Promise.resolve().then(()=>e.modules[r]()).catch(x=>{throw s.delete(r),x});s.set(r,c)}return s.get(r)};for(let r of t.core??[]){if(e.loaded[r])continue;i();let c=await u(r);e.loaded[r]=c,c.install?.()}e.attachEditCore(e.loaded);for(let r of t.plugins??[]){if(e.loaded[r])continue;i();let c=await u(r);e.loaded[r]=c,e.attach(r,c),o.push(r)}let p=(t.late??[]).filter(r=>!e.loaded[r]);if(p.length){i();try{await e.late}catch{}for(let r of p){if(e.loaded[r])continue;i();let c=await u(r);e.loaded[r]=c,e.attach(r,c),o.push(r)}}return o}export{V as importPlan,T as liveAllowed,_ as openResources,k as prepareReader,I as startReader,A as unsupportedPaths};
1
+ import{a as w}from"./c-MJ7GVE46.js";import{b as m,c as v}from"./c-MQYEDF3Q.js";import"./c-VKEDWYDF.js";import{m as f,o as y}from"./c-EDE45NM7.js";import"./c-BPF2NSPV.js";import"./c-P7KNDG34.js";import"./c-CYWLPPUS.js";import"./c-U4NTUVDZ.js";import"./c-PWJSJEJU.js";import"./c-XQXZAO7N.js";import"./c-S7LK4KUE.js";import"./c-VG5XIN4T.js";import"./c-2YYDMLNZ.js";import"./c-HA6INT6J.js";import"./c-ICMAOOGK.js";import"./c-WRBKEJD4.js";import"./c-VHNSBD2M.js";var L="script[editmode\\:resource]";function d(e=document){let t=[...e.querySelectorAll(L)];return{reversible:t.length===0,scripts:t}}function R(e=document){return{enable(){m(e)},quiesce(){},resume(){},dispose(){v()}}}function g(e=document){return{id:"clay:resources",order:100,prepare(){let{reversible:t}=d(e);if(!t)throw Object.assign(new Error("clay.modeLifecycle: an editmode:resource script cannot be re-run"),{code:"unsupported-plugin"});return R(e)}}}var b=!1,S=()=>{let e=new Set;for(let t of f()){if(typeof t?.then=="function")continue;let n=t?.id;if(typeof n!="string"||typeof t?.prepare!="function"||e.has(n))return!1;e.add(n)}return!0},j=e=>[...e?.edit?.core??[],...e?.edit?.plugins??[],...e?.edit?.late??[],...e?.view?.plugins??[],...e?.view?.late??[]];function A(e){return[...new Set(j(e))].filter(t=>w(t)===null)}function T(e){return S()&&A(e).length===0&&d().reversible}function _(){b||(b=!0,y(g()))}var l=()=>Object.assign(new Error("clay.modeLifecycle: the import was cancelled"),{name:"AbortError",code:"aborted"}),O=15e3,E=(e,t)=>Object.assign(new Error(`clayjs: ${e}`),{code:t}),q=(e,t)=>new Promise((n,s)=>{if(t?.aborted)return s(l());let o=()=>s(l());t?.addEventListener?.("abort",o),Promise.resolve(e).then(i=>{t?.removeEventListener?.("abort",o),n(i)},i=>{t?.removeEventListener?.("abort",o),s(i)})}),h=e=>!e?.represented||e.represented.bytes===null,P=e=>e&&(e.liveSync??e.default??e)||null;async function k(e,t={}){let n=t.signal,s={signal:n,deadline:O},o=e?.loaded?.["plugins/page-view.js"];if(o?.ready){await q(o.acquired,n);let a=await o.prepareHandoff(s);if(h(a))throw E("the reader has no file to hand over","not-acquired");return a}let i=P(e?.loaded?.["sync/live-sync.js"]);if(i&&!i.isDestroyed&&i.lane==="saved"){let a=await i.prepareHandoff(s);if(h(a))throw E("the reader has no file to hand over","not-acquired");return a}return null}function I(e,t=null){let n=e?.loaded?.["plugins/page-view.js"],s=Array.isArray(e?.view?.plugins)?e.view.plugins.includes("sync/live-sync.js"):!!e?.loaded?.["sync/live-sync.js"];if(n&&((n.restart??n.start)({sync:s,represented:t}),!s))return;let o=P(e?.loaded?.["sync/live-sync.js"]);if(o)return o.start(o.currentFile,{lane:"saved",represented:t})}async function V(e,t,{signal:n}={}){let s=e.inflight||=new Map,o=[],i=()=>{if(n?.aborted)throw l()},a=e.loadEditHints?.();if(a)try{await a}catch{}let u=r=>{if(!s.has(r)){let c=Promise.resolve().then(()=>e.modules[r]()).catch(x=>{throw s.delete(r),x});s.set(r,c)}return s.get(r)};for(let r of t.core??[]){if(e.loaded[r])continue;i();let c=await u(r);e.loaded[r]=c,c.install?.()}e.attachEditCore(e.loaded);for(let r of t.plugins??[]){if(e.loaded[r])continue;i();let c=await u(r);e.loaded[r]=c,e.attach(r,c),o.push(r)}let p=(t.late??[]).filter(r=>!e.loaded[r]);if(p.length){i();try{await e.late}catch{}for(let r of p){if(e.loaded[r])continue;i();let c=await u(r);e.loaded[r]=c,e.attach(r,c),o.push(r)}}return o}export{V as importPlan,T as liveAllowed,_ as openResources,k as prepareReader,I as startReader,A as unsupportedPaths};
@@ -0,0 +1 @@
1
+ import{C as h}from"./c-ZRGEN6QQ.js";import"./c-OH2FPYSY.js";import"./c-RETTCOWO.js";import"./c-VHNSBD2M.js";var u=(t,s)=>{let l=-1;return t.forEach((n,a,c)=>{n.attrs.id===s&&(l=c)}),l};function k(t,s,l){let n=t.state,a=u(n.doc,s);if(a<0)return!1;let c=0;for(let e=0;e<a;e++)c+=n.doc.child(e).nodeSize;let r=n.doc.child(a);return t.dispatch(h(n.tr.setNodeMarkup(c,null,{...r.attrs,...l}))),!0}function E(t,s){let l=u(t.state.doc,s);if(l<0)return!1;let n=t.dom.parentElement,a=n.ownerDocument,c=0;for(let o=0;o<l;o++)c+=t.state.doc.child(o).nodeSize;let r=a.createElement("div");r.className="blockeditor-link",r.dataset.mode="alt";let e=a.createElement("input");e.className="blockeditor-link-input",e.type="text",e.value=t.state.doc.child(l).attrs.alt||"",e.placeholder="Describe the image",e.setAttribute("aria-label","Alt text"),r.append(e);let d=t.nodeDOM(c)?.getBoundingClientRect?.(),p=n.getBoundingClientRect();d&&(r.style.setProperty("--blockeditor-pop-x",`${d.left-p.left}px`),r.style.setProperty("--blockeditor-pop-y",`${d.bottom-p.top+6}px`)),n.append(r);let f=!1,i=(o,b=!0)=>{if(f)return;f=!0;let m=e.value.trim();r.remove();let x=u(t.state.doc,s);o&&x>=0&&m!==t.state.doc.child(x).attrs.alt&&k(t,s,{alt:m}),b&&t.focus()};return e.addEventListener("keydown",o=>{o.key==="Enter"?(o.preventDefault(),i(!0)):o.key==="Escape"&&(o.preventDefault(),o.stopPropagation(),i(!1))}),e.addEventListener("blur",()=>i(!0,!1)),e.focus(),!0}export{E as openAltEditor,k as setImageAttrs};
@@ -0,0 +1 @@
1
+ import{c as a}from"./c-H3FNLBHN.js";import"./c-3LDGIBMN.js";import"./c-VHNSBD2M.js";export{a as createToolHost};
@@ -1 +1 @@
1
- import{b as c}from"./c-QIXT3Q7C.js";var s=new WeakMap,f=new WeakMap;function l(e,n){let o=s.get(e)??new Set;return s.set(e,o),o.add(n),()=>o.delete(n)}function i(){let e=null,n=new WeakMap;return new c.Plugin({view:o=>(e=o,n.set(o,(n.get(o)??0)+1),{update:t=>{for(let r of s.get(t)??[])r.update?.(t)},destroy:()=>{n.set(o,n.get(o)-1),e===o&&(e=null),queueMicrotask(()=>{if(n.get(o))return;let t=s.get(o);if(t){for(let r of t)r.destroy?.(o);t.clear()}})}}),props:{decorations(o){let t=e?s.get(e):null;if(!t)return null;let r=null;for(let d of t){let u=d.decorations?.(o);u&&(r=r?r.add(o.doc,u.find()):u)}return r}}})}export{s as a,f as b,l as c,i as d};
1
+ import{b as c}from"./c-RETTCOWO.js";var s=new WeakMap,f=new WeakMap;function l(e,n){let o=s.get(e)??new Set;return s.set(e,o),o.add(n),()=>o.delete(n)}function i(){let e=null,n=new WeakMap;return new c.Plugin({view:o=>(e=o,n.set(o,(n.get(o)??0)+1),{update:t=>{for(let r of s.get(t)??[])r.update?.(t)},destroy:()=>{n.set(o,n.get(o)-1),e===o&&(e=null),queueMicrotask(()=>{if(n.get(o))return;let t=s.get(o);if(t){for(let r of t)r.destroy?.(o);t.clear()}})}}),props:{decorations(o){let t=e?s.get(e):null;if(!t)return null;let r=null;for(let d of t){let u=d.decorations?.(o);u&&(r=r?r.add(o.doc,u.find()):u)}return r}}})}export{s as a,f as b,l as c,i as d};