@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,549 @@
1
+ import{a as wo}from"../c-NFQFV7OP.js";import"../c-MR75YPRT.js";import"../c-4JZDZFF6.js";import"../c-5RZNFTWD.js";import"../c-PKCCHJ5X.js";import"../c-NUHP2XDB.js";import{k as xo}from"../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-WRBKEJD4.js";import"../c-VHNSBD2M.js";var Eo=[".richclay-toolbar",".richclay-float",".richclay-dialog"],Co=`@layer clay-skin{
2
+ :is(.richclay-toolbar, .richclay-float, .richclay-dialog),:is(.richclay-toolbar, .richclay-float, .richclay-dialog) *{--richclay-surface:light-dark(#FFFCF6, #11131E) !important;--richclay-surface-alt:light-dark(#F4ECDF, #1A1D2C) !important;--richclay-text:light-dark(#2B241B, #ECEAF2) !important;--richclay-muted:light-dark(#6B5942, #8A90AB) !important;--richclay-border:light-dark(#D8C8AF, #353B52) !important;--richclay-accent:light-dark(#8F6310, #D9A445) !important;--richclay-accent-ink:light-dark(#FDF8F0, #0B0C13) !important;--richclay-focus:light-dark(#8F6310, #D9A445) !important;--richclay-danger:light-dark(#A83A2C, #FF5566) !important;--richclay-radius:0px !important;--richclay-control-size:32px !important;--richclay-shadow:0 1px 2px rgba(0,0,0,.12),0 10px 28px -12px rgba(0,0,0,.35) !important}
3
+ :is(.richclay-toolbar, .richclay-float, .richclay-dialog){font-family:system-ui,-apple-system,"Segoe UI",sans-serif !important}
4
+ :where(.richclay-float, .richclay-dialog):is(.richclay-toolbar, .richclay-float, .richclay-dialog){color:light-dark(#2B241B, #ECEAF2) !important;background:light-dark(#FFFCF6, #11131E) !important;border:1px solid light-dark(#D8C8AF, #353B52) !important}
5
+ :is(.richclay-toolbar, .richclay-float, .richclay-dialog) .richclay-toolbar{gap:3px !important;margin:0 !important;padding:8px !important;border:1px solid light-dark(#D8C8AF, #353B52) !important;border-radius:0 !important;background:light-dark(#F4ECDF, #1A1D2C) !important;color:light-dark(#2B241B, #ECEAF2) !important}
6
+ .richclay-toolbar:is(.richclay-toolbar, .richclay-float, .richclay-dialog){gap:3px !important;padding:8px !important;border:1px solid light-dark(#D8C8AF, #353B52) !important;border-radius:0 !important;background:light-dark(#F4ECDF, #1A1D2C) !important;color:light-dark(#2B241B, #ECEAF2) !important}
7
+ :is(.richclay-toolbar, .richclay-float, .richclay-dialog) .richclay-button{min-width:32px !important;height:32px !important;padding:0 7px !important;gap:6px !important;border:2px solid !important;border-color:light-dark(#FFF9ED, #3C4260) light-dark(#D6C3A5, #1B2033) light-dark(#D6C3A5, #1B2033) light-dark(#FFF9ED, #3C4260) !important;border-radius:0 !important;background:light-dark(#F1E7D4, #22273E) !important;font:14px system-ui,-apple-system,"Segoe UI",sans-serif !important;cursor:pointer !important}
8
+ :is(.richclay-toolbar, .richclay-float, .richclay-dialog) .richclay-button:is([aria-pressed="true"], [aria-expanded="true"]){background:light-dark(#E3D0B3, #28304D) !important;border-color:light-dark(#B89F7B, #1F2339) light-dark(#F0E1C9, #4D587A) light-dark(#F0E1C9, #4D587A) light-dark(#B89F7B, #1F2339) !important;box-shadow:none !important;color:light-dark(#2B241B, #ECEAF2) !important}
9
+ :is(.richclay-toolbar, .richclay-float, .richclay-dialog) .richclay-button[aria-pressed="true"] > svg{translate:1px 1px !important}
10
+ :is(.richclay-toolbar, .richclay-float, .richclay-dialog) .richclay-button:disabled{opacity:.45 !important;cursor:not-allowed !important}
11
+ :is(.richclay-toolbar, .richclay-float, .richclay-dialog) .richclay-button:hover:not([aria-pressed="true"], [aria-expanded="true"], :disabled){border-color:light-dark(#FFF9ED, #3C4260) light-dark(#D6C3A5, #1B2033) light-dark(#D6C3A5, #1B2033) light-dark(#FFF9ED, #3C4260) !important;background:color-mix(in srgb, light-dark(#F1E7D4, #22273E), light-dark(#FFF9ED, #3C4260) 45%) !important}
12
+ :is(.richclay-toolbar, .richclay-float, .richclay-dialog) .richclay-separator{align-self:center !important;height:22px !important;margin:0 5px !important;background:light-dark(#D8C8AF, #353B52) !important}
13
+ :is(.richclay-toolbar, .richclay-float, .richclay-dialog) .richclay-menu{inset-block-start:38px !important;min-width:210px !important;padding:5px !important;border-radius:0 !important;box-shadow:0 1px 2px rgba(0,0,0,.12),0 10px 28px -12px rgba(0,0,0,.35) !important}
14
+ :is(.richclay-toolbar, .richclay-float, .richclay-dialog) .richclay-menu-item{padding:8px 10px !important;border:0 !important;border-radius:0 !important;font:14px system-ui,-apple-system,"Segoe UI",sans-serif !important}
15
+ :is(.richclay-toolbar, .richclay-float, .richclay-dialog) .richclay-menu-item[aria-checked="true"]{background:light-dark(#F4ECDF, #1A1D2C) !important;box-shadow:inset 2px 0 light-dark(#8F6310, #D9A445) !important}
16
+ .richclay-dialog:is(.richclay-toolbar, .richclay-float, .richclay-dialog){width:min(100%, 360px) !important;padding:14px 16px 12px !important;border:1px solid light-dark(#D8C8AF, #353B52) !important;border-radius:0 !important;background:light-dark(#FFFCF6, #11131E) !important;color:light-dark(#2B241B, #ECEAF2) !important;box-shadow:0 1px 2px rgba(0,0,0,.12),0 10px 28px -12px rgba(0,0,0,.35) !important}
17
+ .richclay-dialog:is(.richclay-toolbar, .richclay-float, .richclay-dialog)::before{content:"" !important;position:absolute !important;left:calc(var(--richclay-dialog-arrow, 28px) - 6px) !important;top:-7px !important;width:12px !important;height:12px !important;background:light-dark(#FFFCF6, #11131E) !important;border-top:1px solid light-dark(#D8C8AF, #353B52) !important;border-left:1px solid light-dark(#D8C8AF, #353B52) !important;transform:rotate(45deg) !important}
18
+ .richclay-dialog:is(.richclay-toolbar, .richclay-float, .richclay-dialog)[data-richclay-side="above"]::before{top:auto !important;bottom:-7px !important;border:0 !important;border-right:1px solid light-dark(#D8C8AF, #353B52) !important;border-bottom:1px solid light-dark(#D8C8AF, #353B52) !important}
19
+ :is(.richclay-toolbar, .richclay-float, .richclay-dialog) .richclay-dialog-title{margin-bottom:2px !important;font:500 10px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace !important;text-transform:uppercase !important;letter-spacing:.12em !important}
20
+ :is(.richclay-toolbar, .richclay-float, .richclay-dialog) .richclay-field{gap:5px !important}
21
+ :is(.richclay-toolbar, .richclay-float, .richclay-dialog) .richclay-field > span{color:light-dark(#4A4033, #C9CDE0) !important;font-size:12px !important}
22
+ :is(.richclay-toolbar, .richclay-float, .richclay-dialog) .richclay-input{min-height:30px !important;padding:4px 8px !important;border:2px solid !important;border-color:light-dark(#B89F7B, #1F2339) light-dark(#F0E1C9, #4D587A) light-dark(#F0E1C9, #4D587A) light-dark(#B89F7B, #1F2339) !important;border-radius:0 !important;background:light-dark(#F4ECDF, #1A1D2C) !important;color:light-dark(#2B241B, #ECEAF2) !important;font:13px system-ui,-apple-system,"Segoe UI",sans-serif !important}
23
+ :is(.richclay-toolbar, .richclay-float, .richclay-dialog) .richclay-dialog-actions{margin-top:4px !important;padding-top:12px !important;border-top:1px solid light-dark(#E8DCC6, #262B42) !important;flex-wrap:wrap !important}
24
+ :is(.richclay-toolbar, .richclay-float, .richclay-dialog) :is(.richclay-primary, .richclay-secondary){min-height:30px !important;padding:4px 10px !important;border:2px solid !important;border-color:light-dark(#FFF9ED, #3C4260) light-dark(#D6C3A5, #1B2033) light-dark(#D6C3A5, #1B2033) light-dark(#FFF9ED, #3C4260) !important;border-radius:0 !important;background:light-dark(#F1E7D4, #22273E) !important;color:light-dark(#2B241B, #ECEAF2) !important;font:13px system-ui,-apple-system,"Segoe UI",sans-serif !important}
25
+ :is(.richclay-toolbar, .richclay-float, .richclay-dialog) .richclay-primary{background:light-dark(#2B241B, #ECEAF2) !important;color:light-dark(#FDF8F0, #0B0C13) !important;border-color:color-mix(in srgb, light-dark(#2B241B, #ECEAF2), white 24%) color-mix(in srgb, light-dark(#2B241B, #ECEAF2), black 32%) color-mix(in srgb, light-dark(#2B241B, #ECEAF2), black 32%) color-mix(in srgb, light-dark(#2B241B, #ECEAF2), white 24%) !important}
26
+ .richclay-float:is(.richclay-toolbar, .richclay-float, .richclay-dialog){border-radius:0 !important;box-shadow:0 1px 2px rgba(0,0,0,.12),0 10px 28px -12px rgba(0,0,0,.35) !important}
27
+ .richclay-float:is(.richclay-toolbar, .richclay-float, .richclay-dialog) > .richclay-toolbar{padding:5px !important}
28
+ .richclay-toolbar{align-items:center !important;background:var(--richclay-surface-alt) !important;border:1px solid var(--richclay-border) !important;border-radius:var(--richclay-radius) !important;color:var(--richclay-text) !important;display:flex !important;flex-wrap:wrap !important;gap:2px !important;margin-block:0 6px !important;padding:4px !important}
29
+ .richclay-toolbar:has(+ .richclay-editor){margin-block-end:0 !important;border-bottom-left-radius:0 !important;border-bottom-right-radius:0 !important}
30
+ .richclay-button{align-items:center !important;appearance:none !important;background:transparent !important;border:1px solid transparent !important;border-radius:5px !important;color:currentColor !important;display:inline-flex !important;height:var(--richclay-control-size) !important;justify-content:center !important;margin:0 !important;min-width:var(--richclay-control-size) !important;padding:0 !important;position:relative !important}
31
+ .richclay-button:hover,.richclay-button[aria-expanded="true"],.richclay-menu-item:hover{background:var(--richclay-surface) !important;border-color:var(--richclay-border) !important}
32
+ .richclay-button.is-active,.richclay-button[aria-pressed="true"],.richclay-menu-item.is-active{background:rgb(0 0 0 / 0.13) !important;border-color:rgb(0 0 0 / 0.22) !important;color:var(--richclay-text) !important;box-shadow:inset 0 1px 3px rgb(0 0 0 / 0.26) !important}
33
+ .richclay-button:focus-visible,.richclay-menu-item:focus-visible,.richclay-input:focus-visible,.richclay-primary:focus-visible,.richclay-secondary:focus-visible{outline:3px solid var(--richclay-focus) !important;outline-offset:2px !important}
34
+ .richclay-button:disabled{color:var(--richclay-muted) !important;cursor:not-allowed !important;opacity:0.55 !important}
35
+ .richclay-separator{align-self:stretch !important;background:var(--richclay-border) !important;display:inline-block !important;margin:5px 4px !important;width:1px !important}
36
+ .richclay-menu-wrap{display:inline-flex !important;position:relative !important}
37
+ .richclay-menu{background:var(--richclay-surface) !important;border:1px solid var(--richclay-border) !important;border-radius:var(--richclay-radius) !important;box-shadow:var(--richclay-shadow) !important;color:var(--richclay-text) !important;display:grid !important;gap:2px !important;inset-block-start:calc(100% + 4px) !important;inset-inline-start:0 !important;min-width:160px !important;padding:4px !important;position:absolute !important;z-index:1000 !important}
38
+ .richclay-menu[hidden]{display:none !important}
39
+ .richclay-menu-item{align-items:center !important;appearance:none !important;background:transparent !important;border:1px solid transparent !important;border-radius:4px !important;color:inherit !important;display:flex !important;font:inherit !important;gap:8px !important;min-height:32px !important;padding:5px 9px !important;text-align:start !important}
40
+ .richclay-float{left:0 !important;position:fixed !important;top:0 !important;will-change:transform !important;z-index:99999 !important}
41
+ .richclay-float .richclay-toolbar{box-shadow:var(--richclay-shadow) !important;margin-block:0 !important}
42
+ .richclay-float-rail .richclay-toolbar{--richclay-control-size:28px !important;flex-direction:column !important;flex-wrap:nowrap !important}
43
+ .richclay-float-rail .richclay-toolbar svg{height:15px !important;width:15px !important}
44
+ .richclay-float-rail .richclay-separator{align-self:stretch !important;height:1px !important;margin:4px 5px !important;width:auto !important}
45
+ .richclay-float-rail .richclay-menu{inset-block-start:0 !important;inset-inline-start:calc(100% + 4px) !important}
46
+ .richclay-dialog{background:var(--richclay-surface) !important;border:1px solid var(--richclay-border) !important;border-radius:var(--richclay-radius) !important;box-shadow:var(--richclay-shadow) !important;color:var(--richclay-text) !important;display:grid !important;gap:10px !important;box-sizing:border-box !important;width:min(420px, calc(100vw - 16px)) !important;z-index:99999 !important;padding:12px !important}
47
+ .richclay-dialog-title{font-weight:650 !important}
48
+ .richclay-dialog.richclay-link-popover{align-items:center !important;display:flex !important;gap:6px !important;max-width:min(420px, calc(100vw - 16px)) !important;padding:6px !important;width:auto !important}
49
+ .richclay-link-address{color:inherit !important;font-size:0.875rem !important;max-width:260px !important;overflow:hidden !important;padding:0 6px !important;text-overflow:ellipsis !important;white-space:nowrap !important}
50
+ .richclay-link-popover .richclay-secondary{min-height:30px !important;padding:3px 9px !important}
51
+ .richclay-field{display:grid !important;gap:4px !important}
52
+ .richclay-field span{color:var(--richclay-muted) !important;font-size:0.875rem !important}
53
+ .richclay-input{background:var(--richclay-surface) !important;border:1px solid var(--richclay-border) !important;border-radius:4px !important;color:var(--richclay-text) !important;font:inherit !important;min-height:36px !important;padding:6px 8px !important}
54
+ .richclay-dialog-actions{display:flex !important;gap:8px !important;justify-content:flex-end !important}
55
+ .richclay-dialog-actions [data-richclay-remove-link]{margin-inline-end:auto !important}
56
+ .richclay-primary,.richclay-secondary{appearance:none !important;border:1px solid var(--richclay-border) !important;border-radius:4px !important;font:inherit !important;min-height:34px !important;padding:5px 10px !important}
57
+ .richclay-primary{background:var(--richclay-accent) !important;border-color:var(--richclay-accent) !important;color:var(--richclay-accent-ink) !important}
58
+ .richclay-secondary{background:var(--richclay-surface-alt) !important;color:var(--richclay-text) !important}
59
+ .richclay-sr-only{border:0 !important;clip:rect(0 0 0 0) !important;clip-path:inset(50%) !important;height:1px !important;margin:-1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;white-space:nowrap !important;width:1px !important}
60
+ @media (forced-colors: active){
61
+ .richclay-toolbar,.richclay-menu,.richclay-input{border-color:CanvasText !important}
62
+ .richclay-dialog{border-color:CanvasText !important}
63
+ .richclay-button.is-active,.richclay-button[aria-pressed="true"],.richclay-menu-item.is-active,.richclay-primary{background:Highlight !important;color:HighlightText !important}
64
+ .richclay-button:focus-visible,.richclay-menu-item:focus-visible,.richclay-input:focus-visible{outline-color:Highlight !important}
65
+ }
66
+ .richclay-toolbar[hidden]{display:none !important}
67
+ .richclay-button[hidden]{display:none !important}
68
+ .richclay-separator[hidden]{display:none !important}
69
+ .richclay-menu-wrap[hidden]{display:none !important}
70
+ .richclay-menu[hidden]{display:none !important}
71
+ .richclay-menu-item[hidden]{display:none !important}
72
+ .richclay-dialog[hidden]{display:none !important}
73
+ .richclay-dialog.richclay-link-popover[hidden]{display:none !important}
74
+ .richclay-field[hidden]{display:none !important}
75
+ .richclay-dialog-actions[hidden]{display:none !important}
76
+ }`;var Qe=(()=>{var v=Object.defineProperty,ct=Object.getOwnPropertyDescriptor,lt=Object.getOwnPropertyNames,Je=Object.prototype.hasOwnProperty,_o=(t,e)=>{for(var i in e)v(t,i,{get:e[i],enumerable:!0})},Ao=(t,e,i,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of lt(e))!Je.call(t,n)&&n!==i&&v(t,n,{get:()=>e[n],enumerable:!(r=ct(e,n))||r.enumerable});return t},No=t=>Ao(v({},"__esModule",{value:!0}),t),pr={};_o(pr,{RichClay:()=>$i,default:()=>Ss,stopAutoWatch:()=>Cs});var Lo=()=>!0,et=class{constructor(t,e,i){this.root=t,this.currentNode=t,this.nodeType=e,this.filter=i||Lo}isAcceptableNode(t){let e=t.nodeType;return!!((e===Node.ELEMENT_NODE?1:e===Node.TEXT_NODE?4:0)&this.nodeType)&&this.filter(t)}nextNode(){let t=this.root,e=this.currentNode,i;for(;;){for(i=e.firstChild;!i&&e&&e!==t;)i=e.nextSibling,i||(e=e.parentNode);if(!i)return null;if(this.isAcceptableNode(i))return this.currentNode=i,i;e=i}}previousNode(){let t=this.root,e=this.currentNode,i;for(;;){if(e===t)return null;if(i=e.previousSibling,i)for(;e=i.lastChild;)i=e;else i=e.parentNode;if(!i)return null;if(this.isAcceptableNode(i))return this.currentNode=i,i;e=i}}previousPONode(){let t=this.root,e=this.currentNode,i;for(;;){for(i=e.lastChild;!i&&e&&e!==t;)i=e.previousSibling,i||(e=e.parentNode);if(!i)return null;if(this.isAcceptableNode(i))return this.currentNode=i,i;e=i}}},It=navigator.userAgent,ti=/Mac OS X/.test(It),fr=/Windows NT/.test(It),mr=/iP(?:ad|hone|od)/.test(It)||ti&&!!navigator.maxTouchPoints,ac=/Android/.test(It),Do=/Gecko\//.test(It),_e=/Edge\//.test(It),Oo=!_e&&/WebKit\//.test(It),Q=ti||mr?"Meta-":"Ctrl-",Ae=Oo,Ro="onbeforeinput"in document&&"inputType"in new InputEvent("input"),dt=/[^ \t\r\n\u200B]/,Mo=/^(?:#text|A(?:BBR|CRONYM)?|B(?:R|D[IO])?|C(?:ITE|ODE)|D(?:ATA|EL|FN)|EM|FONT|HR|I(?:FRAME|MG|NPUT|NS)?|KBD|Q|R(?:P|T|UBY)|S(?:AMP|MALL|PAN|TR(?:IKE|ONG)|U[BP])?|TIME|U|VAR|WBR)$/,Io=new Set(["BR","HR","IFRAME","IMG","INPUT"]),Bo=0,ei=1,gr=2,yr=3,Ne=new WeakMap,br=()=>{Ne=new WeakMap},kt=t=>Io.has(t.nodeName),ii=t=>{switch(t.nodeType){case 8:case 3:return ei;case 1:case 11:if(Ne.has(t))return Ne.get(t);break;default:return Bo}let e;return Array.from(t.childNodes).every(_)?Mo.test(t.nodeName)?e=ei:e=gr:e=yr,Ne.set(t,e),e},_=t=>ii(t)===ei,Tt=t=>ii(t)===gr,Zt=t=>ii(t)===yr,x=(t,e,i)=>{let r=document.createElement(t);if(e instanceof Array&&(i=e,e=null),e)for(let n in e){let o=e[n];o!==void 0&&r.setAttribute(n,o)}return i&&i.forEach(n=>r.appendChild(n)),r},vr=(t,e)=>kt(t)||t.nodeType!==e.nodeType||t.nodeName!==e.nodeName?!1:t instanceof HTMLElement&&e instanceof HTMLElement?t.nodeName!=="A"&&t.className===e.className&&t.style.cssText===e.style.cssText:!0,ri=(t,e,i)=>{if(t.nodeName!==e)return!1;for(let r in i)if(!("getAttribute"in t)||t.getAttribute(r)!==i[r])return!1;return!0},A=(t,e,i,r)=>{for(;t&&t!==e;){if(ri(t,i,r))return t;t=t.parentNode}return null},ni=(t,e)=>{let i=t.childNodes;for(;e&&t instanceof Element;)t=i[e-1],i=t.childNodes,e=i.length;return t},xr=(t,e)=>{let i=t;if(i instanceof Element){let r=i.childNodes;if(e<r.length)i=r[e];else{for(;i&&!i.nextSibling;)i=i.parentNode;i&&(i=i.nextSibling)}}return i},at=t=>t instanceof Element||t instanceof DocumentFragment?t.childNodes.length:t instanceof CharacterData?t.length:0,N=t=>{let e=document.createDocumentFragment(),i=t.firstChild;for(;i;)e.appendChild(i),i=t.firstChild;return e},z=t=>{let e=t.parentNode;return e&&e.removeChild(t),t},Z=(t,e)=>{let i=t.parentNode;i&&i.replaceChild(e,t)},Fo=t=>t instanceof Element?t.nodeName==="BR":dt.test(t.data),Le=(t,e)=>{let i=t.parentNode;for(;_(i);)i=i.parentNode;let r=new et(i,5,Fo);return r.currentNode=t,!!r.nextNode()||e&&!r.previousNode()},De=(t,e)=>{let i=new et(t,4),r,n;for(;r=i.nextNode();)for(;(n=r.data.indexOf("\u200B"))>-1&&(!e||r.parentNode!==e);)if(r.length===1){let o=r,a=o.parentNode;for(;a&&(a.removeChild(o),i.currentNode=a,!(!_(a)||at(a)));)o=a,a=o.parentNode;break}else r.deleteData(n,1)},Po=0,Ho=1,Uo=2,qo=3,_t=(t,e,i)=>{let r=document.createRange();if(r.selectNode(e),i){let n=t.compareBoundaryPoints(qo,r)>-1,o=t.compareBoundaryPoints(Ho,r)<1;return!n&&!o}else{let n=t.compareBoundaryPoints(Po,r)<1,o=t.compareBoundaryPoints(Uo,r)>-1;return n&&o}},Y=t=>{let{startContainer:e,startOffset:i,endContainer:r,endOffset:n}=t;for(;!(e instanceof Text);){let o=e.childNodes[i];if(!o||kt(o)){if(i&&(o=e.childNodes[i-1],o instanceof Text)){let a=o,l;for(;!a.length&&(l=a.previousSibling)&&l instanceof Text;)a.remove(),a=l;e=a,i=a.data.length}break}e=o,i=0}if(n)for(;!(r instanceof Text);){let o=r.childNodes[n-1];if(!o||kt(o)){if(o&&o.nodeName==="BR"&&!Le(o,!1)){n-=1;continue}break}r=o,n=at(r)}else for(;!(r instanceof Text);){let o=r.firstChild;if(!o||kt(o))break;r=o}t.setStart(e,i),t.setEnd(r,n)},Bt=(t,e,i,r)=>{let n=t.startContainer,o=t.startOffset,a=t.endContainer,l=t.endOffset,c;for(e||(e=t.commonAncestorContainer),i||(i=e);!o&&n!==e&&n!==r;)c=n.parentNode,o=Array.from(c.childNodes).indexOf(n),n=c;for(;!(a===i||a===r||(a.nodeType!==3&&a.childNodes[l]&&a.childNodes[l].nodeName==="BR"&&!Le(a.childNodes[l],!1)&&(l+=1),l!==at(a)));)c=a.parentNode,l=Array.from(c.childNodes).indexOf(a)+1,a=c;t.setStart(n,o),t.setEnd(a,l)},wr=(t,e,i)=>{let r=A(t.endContainer,i,e);if(r&&(r=r.parentNode)){let n=t.cloneRange();Bt(n,r,r,i),n.endContainer===r&&(t.setStart(n.endContainer,n.endOffset),t.setEnd(n.endContainer,n.endOffset))}return t},W=t=>{let e=null;if(t instanceof Text)return t;if(_(t)){let i=t.firstChild;if(Ae)for(;i&&i instanceof Text&&!i.data;)t.removeChild(i),i=t.firstChild;i||(Ae?e=document.createTextNode("\u200B"):e=document.createTextNode(""))}else if((t instanceof Element||t instanceof DocumentFragment)&&!t.querySelector("BR")&&!dt.test(t.textContent||"")){e=x("BR");let i=t,r;for(;(r=i.lastElementChild)&&!_(r);)i=r;t=i,t instanceof HTMLElement&&t.contentEditable==="true"&&(t=x("DIV"),i.appendChild(t))}if(e)try{t.appendChild(e)}catch{}return t},ut=(t,e)=>{let i=null;return/^(?:TABLE|TBODY|TR|TH|TD|P)/.test(t.nodeName)||(Array.from(t.childNodes).forEach(r=>{let n=r.nodeName==="BR";!n&&_(r)?(i||(i=x("DIV")),i.appendChild(r)):(n||i)&&(i||(i=x("DIV")),W(i),n?t.replaceChild(i,r):t.insertBefore(i,r),i=null),Zt(r)&&ut(r,e)}),i&&t.appendChild(W(i))),t},st=(t,e,i,r)=>{if(!i.contains(t))throw new Error("split: stopNode does not contain node");if(t instanceof Text&&t!==i){if(typeof e!="number")throw new Error("Offset must be a number to split text node!");if(!t.parentNode)throw new Error("Cannot split text node with no parent!");return st(t.parentNode,t.splitText(e),i,r)}let n=typeof e=="number"?e<t.childNodes.length?t.childNodes[e]:null:e,o=t.parentNode;if(!o||t===i||!(t instanceof Element))return n;let a=t.cloneNode(!1);for(;n;){let l=n.nextSibling;a.appendChild(n),n=l}return t instanceof HTMLOListElement&&A(t,r,"BLOCKQUOTE")&&(a.start=(+t.start||1)+t.childNodes.length-1),W(t),W(a),o.insertBefore(a,t.nextSibling),st(o,a,i,r)},Er=(t,e)=>{let i=t.childNodes,r=i.length,n=[];for(;r--;){let o=i[r],a=r?i[r-1]:null;if(a&&_(o)&&vr(o,a))e.startContainer===o&&(e.startContainer=a,e.startOffset+=at(a)),e.endContainer===o&&(e.endContainer=a,e.endOffset+=at(a)),e.startContainer===t&&(e.startOffset>r?e.startOffset-=1:e.startOffset===r&&(e.startContainer=a,e.startOffset=at(a))),e.endContainer===t&&(e.endOffset>r?e.endOffset-=1:e.endOffset===r&&(e.endContainer=a,e.endOffset=at(a))),z(o),o instanceof Text?a.appendData(o.data):n.push(N(o));else if(o instanceof Element){let l;for(;l=n.pop();)o.appendChild(l);Er(o,e)}}},Yt=(t,e)=>{let i=t instanceof Text?t.parentNode:t;if(i instanceof Element){let r={startContainer:e.startContainer,startOffset:e.startOffset,endContainer:e.endContainer,endOffset:e.endOffset};Er(i,r),e.setStart(r.startContainer,r.startOffset),e.setEnd(r.endContainer,r.endOffset)}},le=(t,e,i,r)=>{let n=e,o,a;for(;(o=n.parentNode)&&o!==r&&o instanceof Element&&o.childNodes.length===1;)n=o;z(n),a=t.childNodes.length;let l=t.lastChild;l&&l.nodeName==="BR"&&(t.removeChild(l),a-=1),t.appendChild(N(e)),i.setStart(t,a),i.collapse(!0),Yt(t,i)},vt=(t,e)=>{let i=t.previousSibling,r=t.firstChild,n=t.nodeName==="LI";if(!(n&&(!r||!/^[OU]L$/.test(r.nodeName)))){if(i&&vr(i,t)){if(!Zt(i))if(n){let a=x("DIV");a.appendChild(N(i)),i.appendChild(a)}else return;z(t);let o=!Zt(t);i.appendChild(N(t)),o&&ut(i,e),r&&vt(r,e)}else if(n){let o=x("DIV");t.insertBefore(o,r),W(o)}}},Cr={"font-weight":{regexp:/^bold|^700/i,replace(){return x("B")}},"font-style":{regexp:/^italic/i,replace(){return x("I")}},"font-family":{regexp:dt,replace(t,e){let i=x("SPAN",{class:t.fontFamily});return i.style.fontFamily=e,i}},"font-size":{regexp:dt,replace(t,e){let i=x("SPAN",{class:t.fontSize});return i.style.fontSize=e,i}},"text-decoration":{regexp:/^underline/i,replace(){return x("U")}}},zo=(t,e,i)=>{let r=t.style,n,o;for(let a in Cr){let l=Cr[a],c=r.getPropertyValue(a);if(c&&l.regexp.test(c)){let h=l.replace(i.classNames,c);if(h.nodeName===t.nodeName&&h.className===t.className)continue;o||(o=h),n&&n.appendChild(h),n=h,t.style.removeProperty(a)}}return o&&n&&(n.appendChild(N(t)),t.style.cssText?t.appendChild(o):Z(t,o)),n||t},Oe=t=>(e,i)=>{let r=x(t),n=e.attributes;for(let o=0,a=n.length;o<a;o+=1){let l=n[o];r.setAttribute(l.name,l.value)}return i.replaceChild(r,e),r.appendChild(N(e)),r},Wo={1:"10",2:"13",3:"16",4:"18",5:"24",6:"32",7:"48"},Ko={STRONG:Oe("B"),EM:Oe("I"),INS:Oe("U"),STRIKE:Oe("S"),SPAN:zo,FONT:(t,e,i)=>{let r=t,n=r.face,o=r.size,a=r.color,l=i.classNames,c,h,u,d,f;return n&&(c=x("SPAN",{class:l.fontFamily}),c.style.fontFamily=n,f=c,d=c),o&&(h=x("SPAN",{class:l.fontSize}),h.style.fontSize=Wo[o]+"px",f||(f=h),d&&d.appendChild(h),d=h),a&&/^#?([\dA-F]{3}){1,2}$/i.test(a)&&(a.charAt(0)!=="#"&&(a="#"+a),u=x("SPAN",{class:l.color}),u.style.color=a,f||(f=u),d&&d.appendChild(u),d=u),(!f||!d)&&(f=d=x("SPAN")),e.replaceChild(f,r),d.appendChild(N(r)),d},TT:(t,e,i)=>{let r=x("SPAN",{class:i.classNames.fontFamily,style:'font-family:menlo,consolas,"courier new",monospace'});return e.replaceChild(r,t),r.appendChild(N(t)),r}},$o=/^(?:A(?:DDRESS|RTICLE|SIDE|UDIO)|BLOCKQUOTE|CAPTION|D(?:[DLT]|IV)|F(?:IGURE|IGCAPTION|OOTER)|H[1-6]|HEADER|L(?:ABEL|EGEND|I)|O(?:L|UTPUT)|P(?:RE)?|SECTION|T(?:ABLE|BODY|D|FOOT|H|HEAD|R)|COL(?:GROUP)?|UL)$/,jo=/^(?:HEAD|META|STYLE)/,oi=(t,e,i)=>{let r=t.childNodes,n=t;for(;_(n);)n=n.parentNode;let o=new et(n,5);for(let a=0,l=r.length;a<l;a+=1){let c=r[a],h=c.nodeName,u=Ko[h];if(c instanceof HTMLElement){let d=c.childNodes.length;if(u)c=u(c,t,e);else if(jo.test(h)){t.removeChild(c),a-=1,l-=1;continue}else if(!$o.test(h)&&!_(c)){a-=1,l+=d-1,t.replaceChild(N(c),c);continue}d&&oi(c,e,i||h==="PRE")}else{if(c instanceof Text){let d=c.data,f=!dt.test(d.charAt(0)),y=!dt.test(d.charAt(d.length-1));if(i||!f&&!y)continue;if(f){o.currentNode=c;let g;for(;(g=o.previousPONode())&&!(g.nodeName==="IMG"||g instanceof Text&&dt.test(g.data));)if(!_(g)){g=null;break}d=d.replace(/^[ \t\r\n]+/g,g?" ":"")}if(y){o.currentNode=c;let g;for(;(g=o.nextNode())&&!(g.nodeName==="IMG"||g instanceof Text&&dt.test(g.data));)if(!_(g)){g=null;break}d=d.replace(/[ \t\r\n]+$/g,g?" ":"")}if(d){c.data=d;continue}}t.removeChild(c),a-=1,l-=1}}return t},ai=t=>{let e=t.childNodes,i=e.length;for(;i--;){let r=e[i];r instanceof Element&&!kt(r)?(ai(r),_(r)&&!r.firstChild&&t.removeChild(r)):r instanceof Text&&!r.data&&t.removeChild(r)}},li=(t,e,i)=>{let r=t.querySelectorAll("BR"),n=[],o=r.length;for(let a=0;a<o;a+=1)n[a]=Le(r[a],i);for(;o--;){let a=r[o],l=a.parentNode;l&&(n[o]?_(l)||ut(l,e):z(a))}},Sr=t=>t.split("&").join("&amp;").split("<").join("&lt;").split(">").join("&gt;").split('"').join("&quot;"),Re=(t,e)=>{let i=new et(e,1,Tt);return i.currentNode=t,i},Ft=(t,e)=>{let i=Re(t,e).previousNode();return i!==e?i:null},xt=(t,e)=>{let i=Re(t,e).nextNode();return i!==e?i:null},si=t=>!t.textContent&&!t.querySelector("IMG"),it=(t,e)=>{let i=t.startContainer,r;if(_(i))r=Ft(i,e);else if(i!==e&&i instanceof HTMLElement&&Tt(i))r=i;else{let n=ni(i,t.startOffset);r=xt(n,e)}return r&&_t(t,r,!0)?r:null},Pt=(t,e)=>{let i=t.endContainer,r;if(_(i))r=Ft(i,e);else if(i!==e&&i instanceof HTMLElement&&Tt(i))r=i;else{let n=xr(i,t.endOffset);if(!n||!e.contains(n)){n=e;let o;for(;o=n.lastChild;)n=o}r=Ft(n,e)}return r&&_t(t,r,!0)?r:null},kr=t=>t instanceof Text?dt.test(t.data):t.nodeName==="IMG",se=(t,e)=>{let i=t.startContainer,r=t.startOffset,n;if(i instanceof Text){let l=i.data;for(let c=r;c>0;c-=1)if(l.charAt(c-1)!=="\u200B")return!1;n=i}else if(n=xr(i,r),n&&!e.contains(n)&&(n=null),!n&&(n=ni(i,r),n instanceof Text&&n.length))return!1;let o=it(t,e);if(!o)return!1;let a=new et(o,5,kr);return a.currentNode=n,!a.previousNode()},ce=(t,e)=>{let i=t.endContainer,r=t.endOffset,n;if(i instanceof Text){let l=i.data,c=l.length;for(let h=r;h<c;h+=1)if(l.charAt(h)!=="\u200B")return!1;n=i}else n=ni(i,r);let o=Pt(t,e);if(!o)return!1;let a=new et(o,5,kr);return a.currentNode=n,!a.nextNode()},Tr=(t,e)=>{let i=it(t,e),r=Pt(t,e),n;i&&r&&(n=i.parentNode,t.setStart(n,Array.from(n.childNodes).indexOf(i)),n=r.parentNode,t.setEnd(n,Array.from(n.childNodes).indexOf(r)+1))};function Ht(t,e,i,r){let n=document.createRange();return n.setStart(t,e),i&&typeof r=="number"?n.setEnd(i,r):n.setEnd(t,e),n}var wt=(t,e)=>{let{startContainer:i,startOffset:r,endContainer:n,endOffset:o}=t,a;if(i instanceof Text){let c=i.parentNode;if(a=c.childNodes,r===i.length)r=Array.from(a).indexOf(i)+1,t.collapsed&&(n=c,o=r);else{if(r){let h=i.splitText(r);n===i?(o-=r,n=h):n===c&&(o+=1),i=h}r=Array.from(a).indexOf(i)}i=c}else a=i.childNodes;let l=a.length;r===l?i.appendChild(e):i.insertBefore(e,a[r]),i===n&&(o+=a.length-l),t.setStart(i,r),t.setEnd(n,o)},_r=(t,e,i)=>{let r=document.createDocumentFragment();if(t.collapsed)return r;e||(e=t.commonAncestorContainer),e instanceof Text&&(e=e.parentNode);let n=t.startContainer,o=t.startOffset,a=st(t.endContainer,t.endOffset,e,i),l=0,c=st(n,o,e,i);for(;c&&c!==a;){let h=c.nextSibling;r.appendChild(c),c=h}return c=a&&a.previousSibling,c&&c instanceof Text&&a instanceof Text&&(l=c.length,c.appendData(a.data),z(a),a=c),t.setStart(n,o),a?t.setEnd(a,l):t.setEnd(e,e.childNodes.length),W(e),r},Ar=(t,e,i)=>{t.currentNode=i;let r;for(;r=t[e]();){if(r instanceof Text||kt(r))return r;if(!_(r))return null}return null},Ut=(t,e)=>{let i=it(t,e),r=Pt(t,e),n=i!==r;i&&r&&(Y(t),Bt(t,i,r,e));let o=_r(t,null,e);Y(t),n&&(r=Pt(t,e),i&&r&&i!==r&&le(i,r,t,e)),i&&W(i);let a=e.firstChild;(!a||a.nodeName==="BR")&&(W(e),e.firstChild&&t.selectNodeContents(e.firstChild)),t.collapse(!0);let l=t.startContainer,c=t.startOffset,h=new et(e,5),u=l,d=c;(!(u instanceof Text)||d===u.data.length)&&(u=Ar(h,"nextNode",u),d=0);let f=l,y=c-1;(!(f instanceof Text)||y===-1)&&(f=Ar(h,"previousPONode",u||(l instanceof Text?l:l.childNodes[c]||l)),f instanceof Text&&(y=f.data.length));let g=null,w=0;return u instanceof Text&&u.data.charAt(d)===" "&&se(t,e)?(g=u,w=d):f instanceof Text&&f.data.charAt(y)===" "&&(u instanceof Text&&u.data.charAt(d)===" "||ce(t,e))&&(g=f,w=y),g&&g.replaceData(w,1,"\xA0"),t.setStart(l,c),t.collapse(!0),o},Vo=(t,e,i)=>{let r=e.firstChild&&_(e.firstChild),n;for(ut(e,i),n=e;n=xt(n,i);)W(n);t.collapsed||Ut(t,i),Y(t),t.collapse(!1);let o=A(t.endContainer,i,"BLOCKQUOTE")||i,a=it(t,i),l=null,c=xt(e,e),h=!r&&!!a&&si(a);if(a&&c&&!h&&!A(c,e,"PRE")&&!A(c,e,"TABLE")){Bt(t,a,a,i),t.collapse(!0);let u=t.endContainer,d=t.endOffset;if(li(a,i,!1),_(u)){let f=st(u,d,Ft(u,i)||i,i);u=f.parentNode,d=Array.from(u.childNodes).indexOf(f)}if(d!==at(u))for(l=document.createDocumentFragment();n=u.childNodes[d];)l.appendChild(n);le(u,c,t,i),u===i?t.setEnd(i,at(i)):(d=Array.from(u.parentNode.childNodes).indexOf(u)+1,u=u.parentNode,t.setEnd(u,d))}if(at(e)){h&&a&&(t.setEndBefore(a),t.collapse(!1),z(a)),o.contains(t.endContainer)||(i.contains(t.endContainer)||(t.setEnd(i,at(i)),t.collapse(!1)),o=A(t.endContainer,i,"BLOCKQUOTE")||i),Bt(t,o,o,i);let u=st(t.endContainer,t.endOffset,o,i),d=u?u.previousSibling:o.lastChild;o.insertBefore(e,u),u?t.setEndBefore(u):t.setEnd(o,at(o)),a=Pt(t,i),Y(t);let f=t.endContainer,y=t.endOffset;u&&Zt(u)&&vt(u,i),u=d&&d.nextSibling,u&&Zt(u)&&vt(u,i),t.setEnd(f,y)}if(l&&a){let u=t.cloneRange();W(l),le(a,l,u,i),t.setEnd(u.endContainer,u.endOffset)}Y(t)},Nr=t=>{if(t.collapsed)return"";let e=t.startContainer,i=t.endContainer,r=new et(t.commonAncestorContainer,5,c=>_t(t,c,!0));r.currentNode=e;let n=e,o="",a=!1,l;for((!(n instanceof Element)&&!(n instanceof Text)||!r.filter(n))&&(n=r.nextNode());n;)n instanceof Text?(l=n.data,l&&/\S/.test(l)&&(n===i&&(l=l.slice(0,t.endOffset)),n===e&&(l=l.slice(t.startOffset)),o+=l,a=!0)):(n.nodeName==="BR"||a&&!_(n))&&(o+=`
77
+ `,a=!1),n=r.nextNode();return o=o.replace(/ /g," "),o},ci=Array.prototype.indexOf,Lr=(t,e,i,r,n)=>{let o=n?"":Nr(t),a=it(t,e),l=Pt(t,e),c=t.commonAncestorContainer,h=e;a===l&&a?.contains(c)&&(h=a);let u;for(i?(u=Ut(t,e),c.isConnected||(c=t.commonAncestorContainer)):u=t.cloneContents(),c instanceof Text&&(c=c.parentNode);c&&c!==h;){let f=c.cloneNode(!1);f.appendChild(u),u=f,c=c.parentNode}let d;if(u.childNodes.length===1&&u.childNodes[0]instanceof Text)o=u.childNodes[0].data.replace(/ /g," "),d=void 0;else{let f=x("DIV");f.appendChild(u),d=f.innerHTML,r&&(d=r(d))}return n&&d!==void 0&&(o=n(d)),o===d&&(d=void 0),fr&&(o=o.replace(/\r?\n/g,`\r
78
+ `)),d&&(d="<!-- squire -->"+d),[o,d]},Dr=(t,e,i,r,n,o,a)=>{let l=t.clipboardData;if(_e||!l)return!1;let[c,h]=Lr(e,i,r,n,o);return t.preventDefault(),!a&&h&&l.setData("text/html",h),l.setData("text/plain",c),!0},Go=function(t){let e=this.getSelection(),i=this._root;if(e.collapsed){t.preventDefault();return}this.saveUndoState(e),Dr(t,e,i,!0,this._config.willCutCopy,this._config.toPlainText,!1)||setTimeout(()=>{try{this._ensureBottomLine()}catch(r){this._config.didError(r)}},0),this.setSelection(e)},Zo=function(t){Dr(t,this.getSelection(),this._root,!1,this._config.willCutCopy,this._config.toPlainText,!1)},Or=function(t){this._isShiftDown=t.shiftKey},Yo=function(t){let e=t.clipboardData,i=e?.items,r=this._isShiftDown,n=!1,o=!1,a=null,l=null;if(i){let E=i.length;for(;E--;){let D=i[E],H=D.type;H==="text/html"?l=D:H==="text/plain"||H==="text/uri-list"?a=D:H==="text/rtf"?n=!0:/^image\/.*/.test(H)&&(o=!0)}if(o&&!(n&&l)&&!a){t.preventDefault(),this.fireEvent("pasteImage",{clipboardData:e});return}if(!_e){t.preventDefault(),l&&(!r||!a)?l.getAsString(D=>{this.insertHTML(D,!0)}):a&&a.getAsString(D=>{let H=this.getSelection();if(!H.collapsed&&dt.test(H.toString())){let J=this.linkRegExp.exec(D);if(J&&J[0].length===D.length){let q=J[1]?/^(?:ht|f)tps?:/i.test(J[1])?J[1]:"http://"+J[1]:"mailto:"+J[0];this.makeLink(q);return}}this.insertPlainText(D,!0)});return}}let c=e?.types;if(!_e&&c&&(ci.call(c,"text/html")>-1||!Do&&ci.call(c,"text/plain")>-1&&ci.call(c,"text/rtf")<0)){t.preventDefault();let E;!r&&(E=e.getData("text/html"))?this.insertHTML(E,!0):((E=e.getData("text/plain"))||(E=e.getData("text/uri-list")))&&this.insertPlainText(E,!0);return}let h=document.body,u=this.getSelection(),d=u.startContainer,f=u.startOffset,y=u.endContainer,g=u.endOffset,w=x("DIV",{contenteditable:"true",style:"position:fixed; overflow:hidden; top:0; right:100%; width:1px; height:1px;"});h.appendChild(w),u.selectNodeContents(w),this.setSelection(u),setTimeout(()=>{try{let E="",D=w,H;for(;w=D;)D=w.nextSibling,z(w),H=w.firstChild,H&&H===w.lastChild&&H instanceof HTMLDivElement&&(w=H),E+=w.innerHTML;this.setSelection(Ht(d,f,y,g)),E&&this.insertHTML(E,!0)}catch(E){this._config.didError(E)}},0)},Qo=function(){let t=this.getSelection();t&&!t.collapsed&&this._root.contains(t.commonAncestorContainer)?this._dragRange=t.cloneRange():this._dragRange=null},Xo=function(){this._dragRange=null},Jo=(t,e,i)=>{let r=null,n=document;if(n.caretPositionFromPoint){let o=n.caretPositionFromPoint(t,e);o&&(r=document.createRange(),r.setStart(o.offsetNode,o.offset),r.collapse(!0))}else n.caretRangeFromPoint&&(r=n.caretRangeFromPoint(t,e));return r&&!i.contains(r.commonAncestorContainer)?null:r},ta=(t,e)=>t.compareBoundaryPoints(Range.START_TO_START,e)>=0&&t.compareBoundaryPoints(Range.END_TO_END,e)<=0,ea=function(t){let e=t.dataTransfer;if(!e)return;let i=e.types,r=!1,n=!1;for(let u=0,d=i.length;u<d;u+=1)switch(i[u]){case"text/plain":r=!0;break;case"text/html":n=!0;break}if(!r&&!n)return;t.preventDefault();let o=this._root,a=Jo(t.clientX,t.clientY,o),l=this._dragRange;if(this._dragRange=null,!a)return;let c,h;if(l){if(ta(a,l))return;this._recordUndoState(l,this._isInUndoState);let u=document.createComment("");a.insertNode(u),this._getRangeAndRemoveBookmark(l),[c,h]=Lr(l,o,e.dropEffect!=="copy",this._config.willCutCopy,this._config.toPlainText),u.replaceWith(x("INPUT",{id:this.startSelectionId,type:"hidden"}),x("INPUT",{id:this.endSelectionId,type:"hidden"})),this._getRangeAndRemoveBookmark(a),br()}else this.saveUndoState(a),n?h=e.getData("text/html"):c=e.getData("text/plain");this.setSelection(a),h!==void 0?this.insertHTML(h,!0):c!==void 0&&this.insertPlainText(c,!0)},Rr=(t,e,i)=>{e.preventDefault(),t.splitBlock(e.shiftKey,i)},he=(t,e)=>{try{e||(e=t.getSelection());let i=e.startContainer;i instanceof Text&&(i=i.parentNode);let r=i;for(;r!==t._root&&_(r)&&(!r.textContent||r.textContent==="\u200B");)i=r,r=i.parentNode;i!==r&&(e.setStart(r,Array.from(r.childNodes).indexOf(i)),e.collapse(!0),r.removeChild(i),Tt(r)||(r=Ft(r,t._root)||t._root),W(r),Y(e)),i===t._root&&(i=i.firstChild)&&i.nodeName==="BR"&&z(i),t._ensureBottomLine(),t.setSelection(e),t._updatePath(e,!0)}catch(i){t._config.didError(i)}},Mr=(t,e)=>{let i;for(;(i=t.parentNode)&&!(i===e||i.isContentEditable);)t=i;z(t)},Ir=(t,e,i)=>{if(A(e,t._root,"A"))return;let r=e.data||"",n=Math.max(r.lastIndexOf(" ",i-1),r.lastIndexOf("\xA0",i-1))+1,o=r.slice(n,i),a=t.linkRegExp.exec(o);if(a){let l=t.getSelection();t._docWasChanged(),t._recordUndoState(l),t._getRangeAndRemoveBookmark(l);let c=n+a.index,h=c+a[0].length,u=l.startContainer===e,d=l.startOffset-h;c&&(e=e.splitText(c));let f=t._config.tagAttributes.a,y=x("A",Object.assign({href:a[1]?/^(?:ht|f)tps?:/i.test(a[1])?a[1]:"http://"+a[1]:"mailto:"+a[0]},f));y.textContent=r.slice(c,h),e.parentNode.insertBefore(y,e),e.data=r.slice(h),u&&(l.setStart(e,d),l.setEnd(e,d)),t.setSelection(l)}},ia=(t,e,i)=>{let r=t._root;if(t._removeZWS(),t.saveUndoState(i),!i.collapsed)e.preventDefault(),Ut(i,r),he(t,i);else if(se(i,r)){e.preventDefault();let n=it(i,r);if(!n)return;let o=n;ut(o.parentNode,r);let a=Ft(o,r);if(a){if(!a.isContentEditable){Mr(a,r);return}for(le(a,o,i,r),o=a.parentNode;o!==r&&!o.nextSibling;)o=o.parentNode;o!==r&&(o=o.nextSibling)&&vt(o,r),t.setSelection(i)}else if(o){if(A(o,r,"UL")||A(o,r,"OL")){t.decreaseListLevel(i);return}else if(A(o,r,"BLOCKQUOTE")){t.removeQuote(i);return}t.setSelection(i),t._updatePath(i,!0)}}else{Y(i);let n=i.startContainer,o=i.startOffset,a=n.parentNode;n instanceof Text&&a instanceof HTMLAnchorElement&&o&&a.href.includes(n.data)?(n.deleteData(o-1,1),t.setSelection(i),t.removeLink(),e.preventDefault()):(t.setSelection(i),setTimeout(()=>{he(t)},0))}},ra=(t,e,i)=>{let r=t._root,n,o,a,l,c,h;if(t._removeZWS(),t.saveUndoState(i),!i.collapsed)e.preventDefault(),Ut(i,r),he(t,i);else if(ce(i,r)){if(e.preventDefault(),n=it(i,r),!n)return;if(ut(n.parentNode,r),o=xt(n,r),o){if(!o.isContentEditable){Mr(o,r);return}for(le(n,o,i,r),o=n.parentNode;o!==r&&!o.nextSibling;)o=o.parentNode;o!==r&&(o=o.nextSibling)&&vt(o,r),t.setSelection(i),t._updatePath(i,!0)}}else{if(a=i.cloneRange(),Bt(i,r,r,r),l=i.endContainer,c=i.endOffset,l instanceof Element&&(h=l.childNodes[c],h&&h.nodeName==="IMG")){e.preventDefault(),z(h),Y(i),he(t,i);return}t.setSelection(a),setTimeout(()=>{he(t)},0)}},na=(t,e,i)=>{let r=t._root;if(t._removeZWS(),i.collapsed&&se(i,r)){let n=it(i,r),o;for(;o=n.parentNode;){if(o.nodeName==="UL"||o.nodeName==="OL"){e.preventDefault(),t.increaseListLevel(i);break}n=o}}},oa=(t,e,i)=>{let r=t._root;if(t._removeZWS(),i.collapsed&&se(i,r)){let n=i.startContainer;(A(n,r,"UL")||A(n,r,"OL"))&&(e.preventDefault(),t.decreaseListLevel(i))}},aa=(t,e,i)=>{let r,n=t._root;if(t._recordUndoState(i),t._getRangeAndRemoveBookmark(i),!i.collapsed)Ut(i,n),t._ensureBottomLine(),t.setSelection(i),t._updatePath(i,!0);else if(ce(i,n)){let o=it(i,n);if(o&&o.nodeName!=="PRE"){let a=o.textContent?.trimEnd().replace("\u200B","");if(a==="*"||a==="1."){e.preventDefault(),t.insertPlainText(" ",!1),t._docWasChanged(),t.saveUndoState(i);let l=new et(o,4),c;for(;c=l.nextNode();)z(c);a==="*"?t.makeUnorderedList():t.makeOrderedList();return}}}if(r=i.endContainer,i.endOffset===at(r))do if(r.nodeName==="A"){i.setStartAfter(r);break}while(!r.nextSibling&&(r=r.parentNode)&&r!==n);if(t._config.addLinks){let o=i.cloneRange();Y(o);let a=o.startContainer,l=o.startOffset;setTimeout(()=>{Ir(t,a,l)},0)}t.setSelection(i)},la=function(t){if(t.defaultPrevented||t.isComposing)return;let e=t.key,i="",r=t.code;/^Digit\d$/.test(r)&&(e=r.slice(-1)),e!=="Backspace"&&e!=="Delete"&&(t.altKey&&(i+="Alt-"),t.ctrlKey&&(i+="Ctrl-"),t.metaKey&&(i+="Meta-"),t.shiftKey&&(i+="Shift-")),fr&&t.shiftKey&&e==="Delete"&&(i+="Shift-"),e=i+e;let n=this.getSelection(),o=this._keyHandlers[e];o?o(this,t,n):!n.collapsed&&!t.ctrlKey&&!t.metaKey&&e.length===1&&(this.saveUndoState(n),Ut(n,this._root),this._ensureBottomLine(),this.setSelection(n),this._updatePath(n,!0))},F={Backspace:ia,Delete:ra,Tab:na,"Shift-Tab":oa," ":aa,ArrowLeft(t){t._removeZWS()},ArrowRight(t,e,i){t._removeZWS();let r=t.getRoot();if(ce(i,r)){Y(i);let n=i.endContainer;do if(n.nodeName==="CODE"){let o=n.nextSibling;if(!(o instanceof Text)||o.length===0){let a=document.createTextNode("\xA0");n.parentNode.insertBefore(a,o),o=a}i.setStart(o,1),t.setSelection(i),e.preventDefault();break}while(!n.nextSibling&&(n=n.parentNode)&&n!==r)}}};Ro||(F.Enter=Rr,F["Shift-Enter"]=Rr),!ti&&!mr&&(F.PageUp=t=>{t.moveCursorToStart()},F.PageDown=t=>{t.moveCursorToEnd()});var Qt=(t,e)=>(e=e||null,(i,r)=>{r.preventDefault();let n=i.getSelection();i.hasFormat(t,null,n)?i.changeFormat(null,{tag:t},n):i.changeFormat({tag:t},e,n)});F[Q+"b"]=Qt("B"),F[Q+"i"]=Qt("I"),F[Q+"u"]=Qt("U"),F[Q+"Shift-7"]=Qt("S"),F[Q+"Shift-5"]=Qt("SUB",{tag:"SUP"}),F[Q+"Shift-6"]=Qt("SUP",{tag:"SUB"}),F[Q+"Shift-8"]=(t,e)=>{e.preventDefault();let i=t.getPath();/(?:^|>)UL/.test(i)?t.removeList():t.makeUnorderedList()},F[Q+"Shift-9"]=(t,e)=>{e.preventDefault();let i=t.getPath();/(?:^|>)OL/.test(i)?t.removeList():t.makeOrderedList()},F[Q+"["]=(t,e)=>{e.preventDefault();let i=t.getPath();/(?:^|>)BLOCKQUOTE/.test(i)||!/(?:^|>)[OU]L/.test(i)?t.decreaseQuoteLevel():t.decreaseListLevel()},F[Q+"]"]=(t,e)=>{e.preventDefault();let i=t.getPath();/(?:^|>)BLOCKQUOTE/.test(i)||!/(?:^|>)[OU]L/.test(i)?t.increaseQuoteLevel():t.increaseListLevel()},F[Q+"d"]=(t,e)=>{e.preventDefault(),t.toggleCode()},F[Q+"z"]=(t,e)=>{e.preventDefault(),t.undo()},F[Q+"y"]=F[Q+"Shift-z"]=F[Q+"Shift-Z"]=(t,e)=>{e.preventDefault(),t.redo()};var hi=8,Br=40,di=1200,sa=[{pos:"nw",cursor:"nwse-resize"},{pos:"n",cursor:"ns-resize"},{pos:"ne",cursor:"nesw-resize"},{pos:"e",cursor:"ew-resize"},{pos:"se",cursor:"nwse-resize"},{pos:"s",cursor:"ns-resize"},{pos:"sw",cursor:"nesw-resize"},{pos:"w",cursor:"ew-resize"}],ca={ArrowUp:(t,e,i)=>{let r=it(e,i);if(r){let n=Ft(r,i);n&&(e.selectNodeContents(n),e.collapse(!1),t.setSelection(e).focus())}},ArrowDown:(t,e,i)=>{let r=it(e,i);if(r){let n=xt(r,i);n&&(e.selectNodeContents(n),e.collapse(!0),t.setSelection(e).focus())}},Delete:(t,e)=>{t.replaceWithBlankLine(e)},Backspace:(t,e)=>{t.replaceWithBlankLine(e)}},ha=class{constructor(t,e){this._currentImage=null,this._resizeContainer=null,this._handles=null,this._currentHandle=null,this._startX=0,this._startY=0,this._startWidth=0,this._startHeight=0,this._maxWidth=di,this._originalRatio=1,this._editor=e,this._root=t,document.addEventListener("click",this),e.addEventListener("drop",this)}destroy(){this._deselectImage(),this._editor.removeEventListener("drop",this),document.removeEventListener("click",this)}handleEvent(t){switch(t.type){case"click":this._onClick(t);break;case"pointerdown":this._onPointerDown(t);break;case"pointermove":this._onPointerMove(t);break;case"pointercancel":case"pointerup":this._onPointerUp(t);break;case"keydown":this._onKeyDown(t);break;case"drop":this._deselectImage();break}}_onClick(t){let e=t.target;e.nodeName==="IMG"&&this._root.contains(e)?(t.stopPropagation(),this._selectImage(e)):this._currentImage&&this._handles&&!this._handles.some(i=>i.element===e)&&this._deselectImage()}_deselectImage(){this._currentImage&&(document.removeEventListener("keydown",this,!0),this._currentHandle&&this._onPointerUp({preventDefault(){},target:this._currentHandle.element}),this._handles&&this._handles.forEach(({element:t})=>t.removeEventListener("pointerdown",this)),this._resizeContainer&&this._resizeContainer.remove(),this._currentImage.removeAttribute("tabindex"),this._handles=null,this._resizeContainer=null,this._currentImage=null)}_selectImage(t){if(this._currentImage===t)return;this._deselectImage(),this._root.blur();let e=sa.map(({pos:n,cursor:o})=>{let a=hi/2,l="";switch(n){case"nw":l=`left: -${a}px; top: -${a}px;`;break;case"n":l=`left: calc(50% - ${a}px); top: -${a}px;`;break;case"ne":l=`right: -${a}px; top: -${a}px;`;break;case"e":l=`right: -${a}px; top: calc(50% - ${a}px);`;break;case"se":l=`right: -${a}px; bottom: -${a}px;`;break;case"s":l=`left: calc(50% - ${a}px); bottom: -${a}px;`;break;case"sw":l=`left: -${a}px; bottom: -${a}px;`;break;case"w":l=`left: -${a}px; top: calc(50% - ${a}px);`;break}let c=x("div",{class:`squire-resize-handle squire-resize-handle-${n}`,style:`
79
+ position: absolute;
80
+ width: ${hi}px;
81
+ height: ${hi}px;
82
+ background: #0067b9;
83
+ border: 1px solid #fff;
84
+ cursor: ${o};
85
+ pointer-events: auto;
86
+ touch-action: none;
87
+ box-shadow: 0 1px 3px rgba(0,0,0,0.3);
88
+ ${l}
89
+ `});return c.addEventListener("pointerdown",this),{element:c,cursor:o,position:n}}),i=x("div",{class:"squire-image-resize-container","editor-ui":"",style:"position: absolute; pointer-events: none; z-index: 1000;"},e.map(n=>n.element));this._currentImage=t,this._resizeContainer=i,this._handles=e,this._root.appendChild(this._resizeContainer);let r=t.naturalWidth;this._originalRatio=r/t.naturalHeight,this._maxWidth=Math.min(r*2,t.parentElement?t.parentElement.offsetWidth:di,di),this._positionResizeContainer(),t.tabIndex=-1,t.focus(),document.addEventListener("keydown",this,!0)}_positionResizeContainer(){let t=this._resizeContainer,e=this._root,i=this._currentImage;if(!t||!i)return;let r=e.getBoundingClientRect(),n=i.getBoundingClientRect(),o=n.top-r.top+e.scrollTop,a=n.left-r.left+e.scrollLeft,l=n.width,c=n.height;t.style.top=o+"px",t.style.left=a+"px",t.style.width=l+"px",t.style.height=c+"px"}_onPointerDown(t){if(this._currentHandle||!this._handles)return;let e=t.target,i=this._handles.find(o=>o.element===e)||null;if(!i)return;let r=this._currentImage;if(!r)return;t.preventDefault(),t.stopPropagation(),e.addEventListener("pointermove",this),e.addEventListener("pointerup",this),e.addEventListener("pointercancel",this),e.setPointerCapture(t.pointerId),this._currentHandle=i,this._startX=t.clientX,this._startY=t.clientY;let n=getComputedStyle(r);this._startWidth=parseFloat(n.width),this._startHeight=parseFloat(n.height),document.body.style.cursor=i.cursor}_onPointerMove(t){t.preventDefault();let e=this._currentHandle,i=this._currentImage;if(!e||!i)return;let r=t.clientX-this._startX,n=t.clientY-this._startY,o=this._maxWidth,a=this._originalRatio,l=this._startWidth,c=this._startHeight;switch(e.position){case"sw":case"nw":case"w":l-=2*r;break;case"se":case"ne":case"e":l+=2*r;break;case"n":c-=n,l=c*a;break;case"s":c+=n,l=c*a;break}l<Br?l=Br:l>o&&(l=o);let h=i.style;h.width=l+"px",h.height="auto",this._positionResizeContainer()}_onPointerUp(t){t.preventDefault();let e=t.target;e&&(e.removeEventListener("pointermove",this),e.removeEventListener("pointerup",this),e.removeEventListener("pointercancel",this)),this._currentHandle=null,document.body.style.cursor=""}_onKeyDown(t){t.preventDefault(),t.stopPropagation();let e=ca[t.key];if(!e)return;let i=this._currentImage;if(!i)return;let r=this._editor,n=this._root;this._deselectImage();let o=r.getSelection();o.selectNode(i),e(r,o,n)}},da=class{constructor(t,e){this.customEvents=new Set(["pathChange","select","input","pasteImage","undoStateChange"]),this.startSelectionId="squire-selection-start",this.endSelectionId="squire-selection-end",this.linkRegExp=/\b(?:((?:(?:ht|f)tps?:\/\/|www\d{0,3}[.]|[a-z0-9][a-z0-9.\-]*[.][a-z]{2,}\/)(?:[^\s()<>]+|\([^\s()<>]+\))+(?:[^\s?&`!()\[\]{};:'".,<>«»“”‘’]|\([^\s()<>]+\)))|([\w\-.%+]+@(?:[\w\-]+\.)+[a-z]{2,}\b(?:[?][^&?\s]+=[^\s?&`!()\[\]{};:'".,<>«»“”‘’]+(?:&[^&?\s]+=[^\s?&`!()\[\]{};:'".,<>«»“”‘’]+)*)?))/i,this.tagAfterSplit={DT:"DD",DD:"DT",LI:"LI",PRE:"PRE"},this._root=t,this._config=this._makeConfig(e),this._isFocused=!1,this._lastSelection=Ht(t,0),this._willRestoreSelection=!1,this._mayHaveZWS=!1,this._lastAnchorNode=null,this._lastFocusNode=null,this._path="",this._events=new Map,this._undoIndex=-1,this._undoStack=[],this._undoStackLength=0,this._isInUndoState=!1,this._ignoreChange=!1,this._ignoreAllChanges=!1,this.addEventListener("selectionchange",this._updatePathOnEvent),this.addEventListener("blur",this._enableRestoreSelection),this.addEventListener("mousedown",this._disableRestoreSelection),this.addEventListener("touchstart",this._disableRestoreSelection),this.addEventListener("focus",this._restoreSelection),this.addEventListener("blur",this._removeZWS),this._isShiftDown=!1,this.addEventListener("cut",Go),this.addEventListener("copy",Zo),this.addEventListener("paste",Yo),this._dragRange=null,this.addEventListener("dragstart",Qo),this.addEventListener("dragend",Xo),this.addEventListener("drop",ea),this.addEventListener("keydown",Or),this.addEventListener("keyup",Or),this.addEventListener("keydown",la),this._keyHandlers=Object.create(F);let i=new MutationObserver(r=>this._onMutations(r));i.observe(t,{childList:!0,attributes:!0,attributeOldValue:!0,characterData:!0,subtree:!0}),this._mutation=i,t.setAttribute("contenteditable","true"),this.addEventListener("beforeinput",this._beforeInput),this._imageResizer=new ha(t,this),this.setHTML("")}destroy(){this._events.forEach((t,e)=>{this.removeEventListener(e)}),this._mutation.disconnect(),this._imageResizer.destroy(),this._undoIndex=-1,this._undoStack=[],this._undoStackLength=0}_makeConfig(t){let e={blockTag:"DIV",blockAttributes:null,tagAttributes:{},classNames:{color:"color",fontFamily:"font",fontSize:"size",highlight:"highlight"},undo:{documentSizeThreshold:-1,undoLimit:-1},addLinks:!0,willCutCopy:null,toPlainText:null,sanitizeToDOMFragment:i=>{let r=DOMPurify.sanitize(i,{ALLOW_UNKNOWN_PROTOCOLS:!0,WHOLE_DOCUMENT:!1,RETURN_DOM:!0,RETURN_DOM_FRAGMENT:!0,FORCE_BODY:!1});return r?document.importNode(r,!0):document.createDocumentFragment()},didError:i=>console.log(i)};return t&&(Object.assign(e,t),e.blockTag=e.blockTag.toUpperCase()),e}setKeyHandler(t,e){return this._keyHandlers[t]=e,this}_beforeInput(t){switch(t.inputType){case"insertLineBreak":t.preventDefault(),this.splitBlock(!0);break;case"insertParagraph":t.preventDefault(),this.splitBlock(!1);break;case"insertOrderedList":t.preventDefault(),this.makeOrderedList();break;case"insertUnoderedList":t.preventDefault(),this.makeUnorderedList();break;case"historyUndo":t.preventDefault(),this.undo();break;case"historyRedo":t.preventDefault(),this.redo();break;case"formatBold":t.preventDefault(),this.bold();break;case"formatItalic":t.preventDefault(),this.italic();break;case"formatUnderline":t.preventDefault(),this.underline();break;case"formatStrikeThrough":t.preventDefault(),this.strikethrough();break;case"formatSuperscript":t.preventDefault(),this.superscript();break;case"formatSubscript":t.preventDefault(),this.subscript();break;case"formatJustifyFull":case"formatJustifyCenter":case"formatJustifyRight":case"formatJustifyLeft":{t.preventDefault();let e=t.inputType.slice(13).toLowerCase();e==="full"&&(e="justify"),this.setTextAlignment(e);break}case"formatRemove":t.preventDefault(),this.removeAllFormatting();break;case"formatSetBlockTextDirection":{t.preventDefault();let e=t.data;e==="null"&&(e=null),this.setTextDirection(e);break}case"formatBackColor":t.preventDefault(),this.setHighlightColor(t.data);break;case"formatFontColor":t.preventDefault(),this.setTextColor(t.data);break;case"formatFontName":t.preventDefault(),this.setFontFace(t.data);break}}handleEvent(t){this.fireEvent(t.type,t)}fireEvent(t,e){let i=this._events.get(t);if(/^(?:focus|blur)/.test(t)){let r=this._root===document.activeElement;if(t==="focus"){if(!r||this._isFocused)return this;this._isFocused=!0}else{if(r||!this._isFocused)return this;this._isFocused=!1}}if(i){let r=e instanceof Event?e:new CustomEvent(t,{detail:e});i=i.slice();for(let n of i)try{"handleEvent"in n?n.handleEvent(r):n.call(this,r)}catch(o){this._config.didError(o)}}return this}addEventListener(t,e){let i=this._events.get(t),r=this._root;return i||(i=[],this._events.set(t,i),this.customEvents.has(t)||(t==="selectionchange"&&(r=document),r.addEventListener(t,this,!0))),i.push(e),this}removeEventListener(t,e){let i=this._events.get(t),r=this._root;if(i){if(e){let n=i.length;for(;n--;)i[n]===e&&i.splice(n,1)}else i.length=0;i.length||(this._events.delete(t),this.customEvents.has(t)||(t==="selectionchange"&&(r=document),r.removeEventListener(t,this,!0)))}return this}focus(){return this._root.focus({preventScroll:!0}),this}blur(){return this._root.blur(),this}_enableRestoreSelection(){this._willRestoreSelection=!0}_disableRestoreSelection(){this._willRestoreSelection=!1}_restoreSelection(){this._willRestoreSelection&&this.setSelection(this._lastSelection)}_removeZWS(){this._mayHaveZWS&&(De(this._root),this._mayHaveZWS=!1)}_saveRangeToBookmark(t){let e=x("INPUT",{id:this.startSelectionId,type:"hidden"}),i=x("INPUT",{id:this.endSelectionId,type:"hidden"}),r;wt(t,e),t.collapse(!1),wt(t,i),e.compareDocumentPosition(i)&Node.DOCUMENT_POSITION_PRECEDING&&(e.id=this.endSelectionId,i.id=this.startSelectionId,r=e,e=i,i=r),t.setStartAfter(e),t.setEndBefore(i)}_getRangeAndRemoveBookmark(t){let e=this._root,i=e.querySelectorAll("#"+this.startSelectionId),r=e.querySelectorAll("#"+this.endSelectionId),n=i[0],o=r[0];if(n&&o&&n.compareDocumentPosition(o)&Node.DOCUMENT_POSITION_FOLLOWING){let a=n.parentNode,l=o.parentNode,c=Array.from(a.childNodes).indexOf(n),h=Array.from(l.childNodes).indexOf(o);a===l&&(h-=1),n.remove(),o.remove(),t||(t=document.createRange()),t.setStart(a,c),t.setEnd(l,h),Yt(a,t),a!==l&&Yt(l,t),t.collapsed&&(a=t.startContainer,a instanceof Text&&(l=a.childNodes[t.startOffset],(!l||!(l instanceof Text))&&(l=a.childNodes[t.startOffset-1]),l&&l instanceof Text&&(t.setStart(l,0),t.collapse(!0))))}for(let a=0;a<i.length;a+=1)i[a].remove();for(let a=0;a<r.length;a+=1)r[a].remove();return t||null}getSelection(){let t=window.getSelection(),e=this._root,i=null;if(this._isFocused&&t&&t.rangeCount){i=t.getRangeAt(0).cloneRange();let r=i.startContainer,n=i.endContainer;r&&kt(r)&&i.setStartBefore(r),n&&kt(n)&&i.setEndBefore(n)}return i&&e.contains(i.commonAncestorContainer)?this._lastSelection=i:(i=this._lastSelection,document.contains(i.commonAncestorContainer)||(i=null)),i||(i=Ht(e.firstElementChild||e,0)),i}setSelection(t){if(this._lastSelection=t,!this._isFocused)this._enableRestoreSelection();else{let e=window.getSelection();e&&("setBaseAndExtent"in Selection.prototype?e.setBaseAndExtent(t.startContainer,t.startOffset,t.endContainer,t.endOffset):(e.removeAllRanges(),e.addRange(t)))}return this}_moveCursorTo(t){let e=this._root,i=Ht(e,t?0:e.childNodes.length);return Y(i),this.setSelection(i),this}moveCursorToStart(){return this._moveCursorTo(!0)}moveCursorToEnd(){return this._moveCursorTo(!1)}getCursorPosition(){let t=this.getSelection(),e=t.getBoundingClientRect();if(e&&!e.top){this._ignoreChange=!0;let i=x("SPAN");i.textContent="\u200B",wt(t,i),e=i.getBoundingClientRect();let r=i.parentNode;r.removeChild(i),Yt(r,t)}return e}getPath(){return this._path}_updatePathOnEvent(){this._isFocused&&this._updatePath(this.getSelection())}_updatePath(t,e){let i=t.startContainer,r=t.endContainer,n;(e||i!==this._lastAnchorNode||r!==this._lastFocusNode)&&(this._lastAnchorNode=i,this._lastFocusNode=r,n=i&&r?i===r?this._getPath(r):"(selection)":"",(this._path!==n||i!==r)&&(this._path=n,this.fireEvent("pathChange",{path:n}))),this.fireEvent(t.collapsed?"cursor":"select",{range:t})}_getPath(t){let e=this._root,i=this._config,r="";if(t&&t!==e){let n=t.parentNode;if(r=n?this._getPath(n):"",t instanceof HTMLElement){let o=t.id,a=t.classList,l=Array.from(a).sort(),c=t.dir,h=i.classNames;r+=(r?">":"")+t.nodeName,o&&(r+="#"+o),l.length&&(r+=".",r+=l.join(".")),c&&(r+="[dir="+c+"]"),a.contains(h.highlight)&&(r+="[backgroundColor="+t.style.backgroundColor.replace(/ /g,"")+"]"),a.contains(h.color)&&(r+="[color="+t.style.color.replace(/ /g,"")+"]"),a.contains(h.fontFamily)&&(r+="[fontFamily="+t.style.fontFamily.replace(/ /g,"")+"]"),a.contains(h.fontSize)&&(r+="[fontSize="+t.style.fontSize+"]")}}return r}modifyDocument(t){let e=this._mutation;return e&&((()=>{let i=e.takeRecords();i.length&&this._onMutations(i)})(),e.disconnect()),this._ignoreAllChanges=!0,t(),this._ignoreAllChanges=!1,e&&(e.observe(this._root,{childList:!0,attributes:!0,attributeOldValue:!0,characterData:!0,subtree:!0}),this._ignoreChange=!1),this}_onMutations(t){let e=this._config.onMutations;return e?e(t,this):this._docWasChanged()}_docWasChanged(){if(br(),this._mayHaveZWS=!0,!this._ignoreAllChanges){if(this._ignoreChange){this._ignoreChange=!1;return}this._isInUndoState&&(this._isInUndoState=!1,this.fireEvent("undoStateChange",{canUndo:!0,canRedo:!1})),this.fireEvent("input")}}_recordUndoState(t,e){let i=this._isInUndoState;if(!i||e){let r=this._undoIndex+1,n=this._undoStack,o=this._config.undo,a=o.documentSizeThreshold,l=o.undoLimit;if(r<this._undoStackLength&&(n.length=this._undoStackLength=r),t&&this._saveRangeToBookmark(t),i)return this;let c=this._getRawHTML();e&&(r-=1),a>-1&&c.length*2>a&&l>-1&&r>l&&(n.splice(0,r-l),r=l,this._undoStackLength=l),n[r]=c,this._undoIndex=r,this._undoStackLength+=1,this._isInUndoState=!0}return this}saveUndoState(t){let e=!1;return t||(t=this.getSelection(),e=!0),this._recordUndoState(t,this._isInUndoState),this._getRangeAndRemoveBookmark(t),e&&this.setSelection(t),this}undo(){if(this._undoIndex!==0||!this._isInUndoState){this._recordUndoState(this.getSelection(),!1),this._undoIndex-=1,this._setRawHTML(this._undoStack[this._undoIndex]);let t=this._getRangeAndRemoveBookmark();t&&this.setSelection(t),this._isInUndoState=!0,this.fireEvent("undoStateChange",{canUndo:this._undoIndex!==0,canRedo:!0}),this.fireEvent("input")}return this.focus()}redo(){let t=this._undoIndex,e=this._undoStackLength;if(t+1<e&&this._isInUndoState){this._undoIndex+=1,this._setRawHTML(this._undoStack[this._undoIndex]);let i=this._getRangeAndRemoveBookmark();i&&this.setSelection(i),this.fireEvent("undoStateChange",{canUndo:!0,canRedo:t+2<e}),this.fireEvent("input")}return this.focus()}getRoot(){return this._root}_getRawHTML(){let t=this._config.serializeRoot;return t?t(this._root,this):this._root.innerHTML}_setRawHTML(t){let e=this._root;this._config.replaceRoot?this._config.replaceRoot(e,t,this):e.innerHTML=t;let i=e,r=i.firstChild;if(!r||r.nodeName==="BR"){let n=this.createDefaultBlock();r?i.replaceChild(n,r):i.appendChild(n)}else for(;i=xt(i,e);)W(i);return this._ignoreChange=!0,this}getHTML(t){if(this._config.serializeRoot)return this._config.serializeRoot(this._root,this,t?this.getSelection():null).replace(/\u200B/g,"");let e,i="";return this.modifyDocument(()=>{t&&(e=this.getSelection(),this._saveRangeToBookmark(e)),i=this._getRawHTML().replace(/\u200B/g,""),t&&this._getRangeAndRemoveBookmark(e)}),i}setHTML(t){let e=this._config.sanitizeToDOMFragment(t,this),i=this._root;oi(e,this._config),li(e,i,!1),ut(e,i);let r=e,n=r.firstChild;if(!n||n.nodeName==="BR"){let a=this.createDefaultBlock();n?r.replaceChild(a,n):r.appendChild(a)}else for(;r=xt(r,i);)W(r);for(this._ignoreChange=!0;n=i.lastChild;)i.removeChild(n);i.appendChild(e),this._undoIndex=-1,this._undoStack.length=0,this._undoStackLength=0,this._isInUndoState=!1;let o=this._getRangeAndRemoveBookmark()||Ht(i.firstElementChild||i,0);return this.saveUndoState(o),this.setSelection(o),this._updatePath(o,!0),this}insertHTML(t,e){let i=this._config,r=i.sanitizeToDOMFragment(t,this),n=this.getSelection();this.saveUndoState(n);try{let o=this._root;i.addLinks&&this.addDetectedLinks(r,r),oi(r,this._config),li(r,o,!1),ai(r),r.normalize();let a=r;for(;a=xt(a,r);)W(a);let l=!0;if(e){let c=new CustomEvent("willPaste",{cancelable:!0,detail:{html:t,fragment:r}});this.fireEvent("willPaste",c),r=c.detail.fragment,l=!c.defaultPrevented}l&&(Vo(n,r,o),n.collapse(!1),wr(n,"A",o),this._ensureBottomLine()),this.setSelection(n),this._updatePath(n,!0),e&&this.focus()}catch(o){this._config.didError(o)}return this}insertElement(t,e){if(e||(e=this.getSelection()),e.collapse(!0),_(t))wt(e,t),e.setStartAfter(t);else{let i=this._root,r=it(e,i),n=r||i,o=null;for(;n!==i&&!n.nextSibling;)n=n.parentNode;if(n!==i){let l=n.parentNode;o=st(l,n.nextSibling,i,i)}r&&si(r)&&z(r),i.insertBefore(t,o);let a=this.createDefaultBlock();i.insertBefore(a,o),e.setStart(a,0),e.setEnd(a,0),Y(e)}return this.focus(),this.setSelection(e),this._updatePath(e),this}insertImage(t,e){let i=x("IMG",Object.assign({src:t},e));return this.insertElement(i),i}insertPlainText(t,e){let i=this.getSelection();if(i.collapsed&&A(i.startContainer,this._root,"PRE")){let h=i.startContainer,u=i.startOffset,d;if(!h||!(h instanceof Text)){let y=document.createTextNode("");h.insertBefore(y,h.childNodes[u]),d=y,u=0}else d=h;let f=!0;if(e){let y=new CustomEvent("willPaste",{cancelable:!0,detail:{text:t}});this.fireEvent("willPaste",y),t=y.detail.text,f=!y.defaultPrevented}return f&&(this.saveUndoState(i),d.insertData(u,t),i.setStart(d,u+t.length),i.collapse(!0)),this.setSelection(i),this}let r=t.split(`
90
+ `),n=this._config,o=n.blockTag,a=n.blockAttributes,l="</"+o+">",c="<"+o;for(let h in a)c+=" "+h+'="'+Sr(a[h])+'"';c+=">";for(let h=0,u=r.length;h<u;h+=1){let d=r[h];d=Sr(d).replace(/ (?=(?: |$))/g,"&nbsp;"),h&&(d=c+(d||"<BR>")+l),r[h]=d}return this.insertHTML(r.join(""),e)}getSelectedText(t){return Nr(t||this.getSelection())}getFontInfo(t){let e={color:void 0,backgroundColor:void 0,fontFamily:void 0,fontSize:void 0};t||(t=this.getSelection()),Y(t);let i=0,r=t.commonAncestorContainer;if(t.collapsed||r instanceof Text)for(r instanceof Text&&(r=r.parentNode);i<4&&r;){let n=r.style;if(n){let o=n.color;!e.color&&o&&(e.color=o,i+=1);let a=n.backgroundColor;!e.backgroundColor&&a&&(e.backgroundColor=a,i+=1);let l=n.fontFamily;!e.fontFamily&&l&&(e.fontFamily=l,i+=1);let c=n.fontSize;!e.fontSize&&c&&(e.fontSize=c,i+=1)}r=r.parentNode}return e}hasFormat(t,e,i){t=t.toUpperCase(),e||(e={}),i||(i=this.getSelection()),!i.collapsed&&i.startContainer instanceof Text&&i.startOffset===i.startContainer.length&&i.startContainer.nextSibling&&i.setStartBefore(i.startContainer.nextSibling),!i.collapsed&&i.endContainer instanceof Text&&i.endOffset===0&&i.endContainer.previousSibling&&i.setEndAfter(i.endContainer.previousSibling);let r=this._root,n=i.commonAncestorContainer;if(A(n,r,t,e))return!0;if(n instanceof Text)return!1;let o=new et(n,4,c=>_t(i,c,!0)),a=!1,l;for(;l=o.nextNode();){if(!A(l,r,t,e))return!1;a=!0}return a}changeFormat(t,e,i,r){return i||(i=this.getSelection()),this.saveUndoState(i),e&&(i=this._removeFormat(e.tag.toUpperCase(),e.attributes||{},i,r)),t&&(i=this._addFormat(t.tag.toUpperCase(),t.attributes||{},i)),this.setSelection(i),this._updatePath(i,!0),this.focus()}_addFormat(t,e,i){let r=this._root;if(i.collapsed){let n=W(x(t,e));wt(i,n);let o=n.firstChild||n,a=o instanceof Text?o.length:0;i.setStart(o,a),i.collapse(!0);let l=n;for(;_(l);)l=l.parentNode;De(l,n)}else{let n=new et(i.commonAncestorContainer,5,h=>(h instanceof Text||h.nodeName==="BR"||h.nodeName==="IMG")&&_t(i,h,!0)),{startContainer:o,startOffset:a,endContainer:l,endOffset:c}=i;if(n.currentNode=o,!(o instanceof Element)&&!(o instanceof Text)||!n.filter(o)){let h=n.nextNode();if(!h)return i;o=h,a=0}do{let h=n.currentNode;if(!A(h,r,t,e)){h===l&&h.length>c&&h.splitText(c),h===o&&a&&(h=h.splitText(a),l===o?(l=h,c-=a):l===o.parentNode&&(c+=1),o=h,a=0);let u=x(t,e);Z(h,u),u.appendChild(h)}}while(n.nextNode());i=Ht(o,a,l,c)}return i}_removeFormat(t,e,i,r){this._saveRangeToBookmark(i);let n;i.collapsed&&(Ae?n=document.createTextNode("\u200B"):n=document.createTextNode(""),wt(i,n));let o=i.commonAncestorContainer;for(;o!==this._root&&_(o);)o=o.parentNode;let a=i.startContainer,l=i.startOffset,c=i.endContainer,h=i.endOffset,u=[],d=(y,g)=>{if(_t(i,y,!1))return;let w,E;if(!_t(i,y,!0)){!(y instanceof HTMLInputElement)&&(!(y instanceof Text)||y.data)&&u.push([g,y]);return}if(y instanceof Text)y===c&&h!==y.length&&u.push([g,y.splitText(h)]),y===a&&l&&(y.splitText(l),u.push([g,y]));else for(w=y.firstChild;w;w=E)E=w.nextSibling,d(w,g)},f=Array.from(o.getElementsByTagName(t)).filter(y=>_t(i,y,!0)&&ri(y,t,e));if(r||f.forEach(y=>{d(y,y)}),u.forEach(([y,g])=>{y=y.cloneNode(!1),Z(g,y),y.appendChild(g)}),f.forEach(y=>{Z(y,N(y))}),Ae&&n){n=n.parentNode;let y=n;for(;y&&_(y);)y=y.parentNode;y&&De(y,n)}return this._getRangeAndRemoveBookmark(i),n&&i.collapse(!1),Yt(o,i),i}bold(){return this.changeFormat({tag:"B"})}removeBold(){return this.changeFormat(null,{tag:"B"})}italic(){return this.changeFormat({tag:"I"})}removeItalic(){return this.changeFormat(null,{tag:"I"})}underline(){return this.changeFormat({tag:"U"})}removeUnderline(){return this.changeFormat(null,{tag:"U"})}strikethrough(){return this.changeFormat({tag:"S"})}removeStrikethrough(){return this.changeFormat(null,{tag:"S"})}subscript(){return this.changeFormat({tag:"SUB"},{tag:"SUP"})}removeSubscript(){return this.changeFormat(null,{tag:"SUB"})}superscript(){return this.changeFormat({tag:"SUP"},{tag:"SUB"})}removeSuperscript(){return this.changeFormat(null,{tag:"SUP"})}makeLink(t,e){let i=this.getSelection();if(i.collapsed){let r=t.indexOf(":")+1;if(r)for(;t[r]==="/";)r+=1;wt(i,document.createTextNode(t.slice(r)))}return e=Object.assign({href:t},this._config.tagAttributes.a,e),this.changeFormat({tag:"A",attributes:e},{tag:"A"},i)}removeLink(){return this.changeFormat(null,{tag:"A"},this.getSelection(),!0)}addDetectedLinks(t,e){let i=new et(t,4,a=>!A(a,e||this._root,"A")),r=this.linkRegExp,n=this._config.tagAttributes.a,o;for(;o=i.nextNode();){let a=o.parentNode,l=o.data,c;for(;c=r.exec(l);){let h=c.index,u=h+c[0].length;h&&a.insertBefore(document.createTextNode(l.slice(0,h)),o);let d=x("A",Object.assign({href:c[1]?/^(?:ht|f)tps?:/i.test(c[1])?c[1]:"http://"+c[1]:"mailto:"+c[0]},n));d.textContent=l.slice(h,u),a.insertBefore(d,o),o.data=l=l.slice(u)}}return this}setFontFace(t){let e=this._config.classNames.fontFamily;return this.changeFormat(t?{tag:"SPAN",attributes:{class:e,style:"font-family: "+t+", sans-serif;"}}:null,{tag:"SPAN",attributes:{class:e}})}setFontSize(t){let e=this._config.classNames.fontSize;return this.changeFormat(t?{tag:"SPAN",attributes:{class:e,style:"font-size: "+(typeof t=="number"?t+"px":t)}}:null,{tag:"SPAN",attributes:{class:e}})}setTextColor(t){let e=this._config.classNames.color;return this.changeFormat(t?{tag:"SPAN",attributes:{class:e,style:"color:"+t}}:null,{tag:"SPAN",attributes:{class:e}})}setHighlightColor(t){let e=this._config.classNames.highlight;return this.changeFormat(t?{tag:"SPAN",attributes:{class:e,style:"background-color:"+t}}:null,{tag:"SPAN",attributes:{class:e}})}_ensureBottomLine(){let t=this._root,e=t.lastElementChild,i=null;for(;e&&(e.matches("[editor-ui],[clay~=editor-ui]")||e.closest("[editor-ui],[clay~=editor-ui]"));)i=e,e=e.previousElementSibling;(!e||e.nodeName!==this._config.blockTag||!Tt(e))&&t.insertBefore(this.createDefaultBlock(),i)}createDefaultBlock(t){let e=this._config;return W(x(e.blockTag,e.blockAttributes,t))}splitBlock(t,e){e||(e=this.getSelection());let i=this._root,r,n,o,a;if(this._recordUndoState(e),this._removeZWS(),this._getRangeAndRemoveBookmark(e),e.collapsed||Ut(e,i),this._config.addLinks){Y(e);let d=e.startContainer,f=e.startOffset;setTimeout(()=>{Ir(this,d,f)},0)}if(r=it(e,i),r&&(n=A(r,i,"PRE"))){Y(e),o=e.startContainer;let d=e.startOffset;return o instanceof Text||(o=document.createTextNode(""),n.insertBefore(o,n.firstChild),d=0),!t&&o instanceof Text&&(o.data.charAt(d-1)===`
91
+ `||se(e,i))&&(o.data.charAt(d)===`
92
+ `||ce(e,i))?(o.deleteData(d&&d-1,d?2:1),a=st(o,d&&d-1,i,i),o=a.previousSibling,o.textContent||z(o),o=this.createDefaultBlock(),a.parentNode.insertBefore(o,a),a.textContent||z(a),e.setStart(o,0)):(o.insertData(d,`
93
+ `),o.nextSibling||n.appendChild(x("BR")),o.length===d+1?e.setStartAfter(o):e.setStart(o,d+1)),e.collapse(!0),this.setSelection(e),this._updatePath(e,!0),this._docWasChanged(),this}if(!r||t||/^T[HD]$/.test(r.nodeName))return wr(e,"A",i),wt(e,x("BR")),e.collapse(!1),this.setSelection(e),this._updatePath(e,!0),this;if((n=A(r,i,"LI"))&&(r=n),si(r)){if(A(r,i,"UL")||A(r,i,"OL"))return this.decreaseListLevel(e),this;if(A(r,i,"BLOCKQUOTE"))return this.replaceWithBlankLine(e),this}o=e.startContainer;let l=e.startOffset,c=this.tagAfterSplit[r.nodeName];a=st(o,l,r.parentNode,this._root);let h=this._config,u=null;for(c||(c=h.blockTag,u=h.blockAttributes),ri(a,c,u)||(r=x(c,u),a.dir&&(r.dir=a.dir),Z(a,r),r.appendChild(N(a)),a=r),De(r),ai(r),W(r);a instanceof Element;){let d=a.firstChild,f;if(a.nodeName==="A"&&(!a.textContent||a.textContent==="\u200B")){d=document.createTextNode(""),Z(a,d),a=d;break}for(;d&&d instanceof Text&&!d.data&&(f=d.nextSibling,!(!f||f.nodeName==="BR"));)z(d),d=f;if(!d||d.nodeName==="BR"||d instanceof Text)break;a=d}return e=Ht(a,0),this.setSelection(e),this._updatePath(e,!0),this}forEachBlock(t,e,i){i||(i=this.getSelection()),e&&this.saveUndoState(i);let r=this._root,n=it(i,r),o=Pt(i,r);if(n&&o)do if(t(n)||n===o)break;while(n=xt(n,r));return e&&(this.setSelection(i),this._updatePath(i,!0)),this}modifyBlocks(t,e){e||(e=this.getSelection()),this._recordUndoState(e,this._isInUndoState);let i=this._root;Tr(e,i),Bt(e,i,i,i);let r=_r(e,i,i);if(!e.collapsed){let n=e.endContainer;if(n===i)e.collapse(!1);else{for(;n.parentNode!==i;)n=n.parentNode;e.setStartBefore(n),e.collapse(!0)}}return wt(e,t.call(this,r)),e.endOffset<e.endContainer.childNodes.length&&vt(e.endContainer.childNodes[e.endOffset],i),vt(e.startContainer.childNodes[e.startOffset],i),this._getRangeAndRemoveBookmark(e),this.setSelection(e),this._updatePath(e,!0),this}setTextAlignment(t){return this.forEachBlock(e=>{let i=e.className.split(/\s+/).filter(r=>!!r&&!/^align/.test(r)).join(" ");t?(e.className=i+" align-"+t,e.style.textAlign=t):(e.className=i,e.style.textAlign="")},!0),this.focus()}setTextDirection(t){return this.forEachBlock(e=>{t?e.dir=t:e.removeAttribute("dir")},!0),this.focus()}_getListSelection(t,e){let i=t.commonAncestorContainer,r=t.startContainer,n=t.endContainer;for(;i&&i!==e&&!/^[OU]L$/.test(i.nodeName);)i=i.parentNode;if(!i||i===e)return null;for(r===i&&(r=r.childNodes[t.startOffset]),n===i&&(n=n.childNodes[t.endOffset]);r&&r.parentNode!==i;)r=r.parentNode;for(;n&&n.parentNode!==i;)n=n.parentNode;return[i,r,n]}increaseListLevel(t){t||(t=this.getSelection());let e=this._root,i=this._getListSelection(t,e);if(!i)return this.focus();let[r,n,o]=i;if(!n||n===r.firstChild)return this.focus();this._recordUndoState(t,this._isInUndoState);let a=r.nodeName,l=n.previousSibling,c,h;l.nodeName!==a&&(c=this._config.tagAttributes[a.toLowerCase()],l=x(a,c),r.insertBefore(l,n));do h=n===o?null:n.nextSibling,l.appendChild(n);while(n=h);return h=l.nextSibling,h&&vt(h,e),this._getRangeAndRemoveBookmark(t),this.setSelection(t),this._updatePath(t,!0),this.focus()}decreaseListLevel(t){t||(t=this.getSelection());let e=this._root,i=this._getListSelection(t,e);if(!i)return this.focus();let[r,n,o]=i;n||(n=r.firstChild),o||(o=r.lastChild),this._recordUndoState(t,this._isInUndoState);let a,l=null;if(n){let c=r.parentNode;if(l=o.nextSibling?st(r,o.nextSibling,c,e):r.nextSibling,c!==e&&c.nodeName==="LI"){for(c=c.parentNode;l;)a=l.nextSibling,o.appendChild(l),l=a;l=r.parentNode.nextSibling}let h=!/^[OU]L$/.test(c.nodeName);do a=n===o?null:n.nextSibling,r.removeChild(n),h&&n.nodeName==="LI"&&(n=this.createDefaultBlock([N(n)])),c.insertBefore(n,l);while(n=a)}return r.firstChild||z(r),l&&vt(l,e),this._getRangeAndRemoveBookmark(t),this.setSelection(t),this._updatePath(t,!0),this.focus()}_makeList(t,e){let i=Re(t,this._root),r=this._config.tagAttributes,n=r[e.toLowerCase()],o=r.li,a;for(;a=i.nextNode();)if(a.parentNode instanceof HTMLLIElement&&(a=a.parentNode,i.currentNode=a.lastChild),a instanceof HTMLLIElement){a=a.parentNode;let l=a.nodeName;l!==e&&/^[OU]L$/.test(l)&&Z(a,x(e,n,[N(a)]))}else{let l=x("LI",o);a.dir&&(l.dir=a.dir);let c=a.previousSibling;c&&c.nodeName===e?(c.appendChild(l),z(a)):Z(a,x(e,n,[l])),l.appendChild(N(a)),i.currentNode=l}return t}makeUnorderedList(){return this.modifyBlocks(t=>this._makeList(t,"UL")),this.focus()}makeOrderedList(){return this.modifyBlocks(t=>this._makeList(t,"OL")),this.focus()}removeList(){return this.modifyBlocks(t=>{let e=t.querySelectorAll("UL, OL"),i=t.querySelectorAll("LI"),r=this._root;for(let n=0,o=e.length;n<o;n+=1){let a=e[n],l=N(a);ut(l,r),Z(a,l)}for(let n=0,o=i.length;n<o;n+=1){let a=i[n];Tt(a)?Z(a,this.createDefaultBlock([N(a)])):(ut(a,r),Z(a,N(a)))}return t}),this.focus()}increaseQuoteLevel(t){return this.modifyBlocks(e=>x("BLOCKQUOTE",this._config.tagAttributes.blockquote,[e]),t),this.focus()}decreaseQuoteLevel(t){return this.modifyBlocks(e=>(Array.from(e.querySelectorAll("blockquote")).filter(i=>!A(i.parentNode,e,"BLOCKQUOTE")).forEach(i=>{Z(i,N(i))}),e),t),this.focus()}removeQuote(t){return this.modifyBlocks(e=>(Array.from(e.querySelectorAll("blockquote")).forEach(i=>{Z(i,N(i))}),e),t),this.focus()}replaceWithBlankLine(t){return this.modifyBlocks(()=>this.createDefaultBlock([x("INPUT",{id:this.startSelectionId,type:"hidden"}),x("INPUT",{id:this.endSelectionId,type:"hidden"})]),t),this.focus()}code(){let t=this.getSelection();return t.collapsed||Zt(t.commonAncestorContainer)?(this.modifyBlocks(e=>{let i=this._root,r=document.createDocumentFragment(),n=Re(e,i),o;for(;o=n.nextNode();){let l=o.querySelectorAll("BR"),c=[],h=l.length;for(let u=0;u<h;u+=1)c[u]=Le(l[u],!1);for(;h--;){let u=l[h];c[h]?Z(u,document.createTextNode(`
94
+ `)):z(u)}for(l=o.querySelectorAll("CODE"),h=l.length;h--;)Z(l[h],N(l[h]));r.childNodes.length&&r.appendChild(document.createTextNode(`
95
+ `)),r.appendChild(N(o))}let a=new et(r,4);for(;o=a.nextNode();)o.data=o.data.replace(/ /g," ");return r.normalize(),W(x("PRE",this._config.tagAttributes.pre,[r]))},t),this.focus()):this.changeFormat({tag:"CODE",attributes:this._config.tagAttributes.code},null,t),this}removeCode(){let t=this.getSelection(),e=t.commonAncestorContainer;return A(e,this._root,"PRE")?(this.modifyBlocks(i=>{let r=this._root,n=i.querySelectorAll("PRE"),o=n.length;for(;o--;){let a=n[o],l=new et(a,4),c;for(;c=l.nextNode();){let h=c.data;h=h.replace(/ (?= )/g,"\xA0");let u=document.createDocumentFragment(),d;for(;(d=h.indexOf(`
96
+ `))>-1;)u.appendChild(document.createTextNode(h.slice(0,d))),u.appendChild(x("BR")),h=h.slice(d+1);c.parentNode.insertBefore(u,c),c.data=h}ut(a,r),Z(a,N(a))}return i},t),this.focus()):this.changeFormat(null,{tag:"CODE"},t),this}toggleCode(){return this.hasFormat("PRE")||this.hasFormat("CODE")?this.removeCode():this.code(),this}_removeFormatting(t,e){for(let i=t.firstChild,r;i;i=r){if(r=i.nextSibling,_(i)){if(i instanceof Text||i.nodeName==="BR"||i.nodeName==="IMG"){e.appendChild(i);continue}}else if(Tt(i)){e.appendChild(this.createDefaultBlock([this._removeFormatting(i,document.createDocumentFragment())]));continue}this._removeFormatting(i,e)}return e}removeAllFormatting(t){if(t||(t=this.getSelection()),t.collapsed)return this.focus();let e=this._root,i=t.commonAncestorContainer;for(;i&&i!==e&&!Tt(i);)i=i.parentNode;if(i||(Tr(t,e),i=e),i instanceof Text)return this.focus();this.saveUndoState(t),Bt(t,i,i,e);let r=t.startContainer,n=t.startOffset,o=t.endContainer,a=t.endOffset,l=document.createDocumentFragment(),c=document.createDocumentFragment(),h=st(o,a,i,e),u=st(r,n,i,e),d;for(;u!==h;)d=u.nextSibling,l.appendChild(u),u=d;if(this._removeFormatting(l,c),c.normalize(),u=c.firstChild,d=c.lastChild,u){i.insertBefore(c,h);let f=Array.from(i.childNodes);n=f.indexOf(u),a=d?f.indexOf(d)+1:0}else h&&(n=Array.from(i.childNodes).indexOf(h),a=n);return t.setStart(i,n),t.setEnd(i,a),Yt(i,t),Y(t),this.setSelection(t),this._updatePath(t,!0),this.focus()}},ua=da;function Fr(t,e){(e==null||e>t.length)&&(e=t.length);for(var i=0,r=Array(e);i<e;i++)r[i]=t[i];return r}function pa(t){if(Array.isArray(t))return t}function fa(t,e){var i=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(i!=null){var r,n,o,a,l=[],c=!0,h=!1;try{if(o=(i=i.call(t)).next,e!==0)for(;!(c=(r=o.call(i)).done)&&(l.push(r.value),l.length!==e);c=!0);}catch(u){h=!0,n=u}finally{try{if(!c&&i.return!=null&&(a=i.return(),Object(a)!==a))return}finally{if(h)throw n}}return l}}function ma(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
97
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ga(t,e){return pa(t)||fa(t,e)||ya(t,e)||ma()}function ya(t,e){if(t){if(typeof t=="string")return Fr(t,e);var i={}.toString.call(t).slice(8,-1);return i==="Object"&&t.constructor&&(i=t.constructor.name),i==="Map"||i==="Set"?Array.from(t):i==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?Fr(t,e):void 0}}var Pr=Object.entries,Hr=Object.setPrototypeOf,ba=Object.isFrozen,va=Object.getPrototypeOf,xa=Object.getOwnPropertyDescriptor,j=Object.freeze,V=Object.seal,Xt=Object.create,Ur=typeof Reflect<"u"&&Reflect,ui=Ur.apply,pi=Ur.construct;j||(j=function(t){return t}),V||(V=function(t){return t}),ui||(ui=function(t,e){for(var i=arguments.length,r=new Array(i>2?i-2:0),n=2;n<i;n++)r[n-2]=arguments[n];return t.apply(e,r)}),pi||(pi=function(t){for(var e=arguments.length,i=new Array(e>1?e-1:0),r=1;r<e;r++)i[r-1]=arguments[r];return new t(...i)});var de=P(Array.prototype.forEach),wa=P(Array.prototype.lastIndexOf),qr=P(Array.prototype.pop),Jt=P(Array.prototype.push),Ea=P(Array.prototype.splice),At=Array.isArray,ue=P(String.prototype.toLowerCase),fi=P(String.prototype.toString),zr=P(String.prototype.match),pe=P(String.prototype.replace),Wr=P(String.prototype.indexOf),Ca=P(String.prototype.trim),Sa=P(Number.prototype.toString),ka=P(Boolean.prototype.toString),Kr=typeof BigInt>"u"?null:P(BigInt.prototype.toString),$r=typeof Symbol>"u"?null:P(Symbol.prototype.toString),K=P(Object.prototype.hasOwnProperty),fe=P(Object.prototype.toString),G=P(RegExp.prototype.test),qt=Ta(TypeError);function P(t){return function(e){e instanceof RegExp&&(e.lastIndex=0);for(var i=arguments.length,r=new Array(i>1?i-1:0),n=1;n<i;n++)r[n-1]=arguments[n];return ui(t,e,r)}}function Ta(t){return function(){for(var e=arguments.length,i=new Array(e),r=0;r<e;r++)i[r]=arguments[r];return pi(t,i)}}function S(t,e){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:ue;if(Hr&&Hr(t,null),!At(e))return t;let r=e.length;for(;r--;){let n=e[r];if(typeof n=="string"){let o=i(n);o!==n&&(ba(e)||(e[r]=o),n=o)}t[n]=!0}return t}function _a(t){for(let e=0;e<t.length;e++)K(t,e)||(t[e]=null);return t}function X(t){let e=Xt(null);for(let r of Pr(t)){var i=ga(r,2);let n=i[0],o=i[1];K(t,n)&&(At(o)?e[n]=_a(o):o&&typeof o=="object"&&o.constructor===Object?e[n]=X(o):e[n]=o)}return e}function Aa(t){switch(typeof t){case"string":return t;case"number":return Sa(t);case"boolean":return ka(t);case"bigint":return Kr?Kr(t):"0";case"symbol":return $r?$r(t):"Symbol()";case"undefined":return fe(t);case"function":case"object":{if(t===null)return fe(t);let e=t,i=pt(e,"toString");if(typeof i=="function"){let r=i(e);return typeof r=="string"?r:fe(r)}return fe(t)}default:return fe(t)}}function pt(t,e){for(;t!==null;){let r=xa(t,e);if(r){if(r.get)return P(r.get);if(typeof r.value=="function")return P(r.value)}t=va(t)}function i(){return null}return i}function Na(t){try{return G(t,""),!0}catch{return!1}}var jr=j(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),mi=j(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),gi=j(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),La=j(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),yi=j(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),Da=j(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),Vr=j(["#text"]),Gr=j(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","command","commandfor","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns"]),bi=j(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","mask-type","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),Zr=j(["accent","accentunder","align","bevelled","close","columnalign","columnlines","columnspacing","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lquote","lspace","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),Me=j(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),Oa=V(/{{[\w\W]*|^[\w\W]*}}/g),Ra=V(/<%[\w\W]*|^[\w\W]*%>/g),Ma=V(/\${[\w\W]*/g),Ia=V(/^data-[\-\w.\u00B7-\uFFFF]+$/),Ba=V(/^aria-[\-\w]+$/),Yr=V(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Fa=V(/^(?:\w+script|data):/i),Pa=V(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Ha=V(/^html$/i),Ua=V(/^[a-z][.\w]*(-[.\w]+)+$/i),Qr=V(/<[/\w!]/g),qa=V(/<[/\w]/g),za=V(/<\/no(script|embed|frames)/i),Wa=V(/\/>/i),ft={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,processingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},Ka=function(){return typeof window>"u"?null:window},$a=function(t,e){if(typeof t!="object"||typeof t.createPolicy!="function")return null;let i=null,r="data-tt-policy-suffix";e&&e.hasAttribute(r)&&(i=e.getAttribute(r));let n="dompurify"+(i?"#"+i:"");try{return t.createPolicy(n,{createHTML(o){return o},createScriptURL(o){return o}})}catch{return console.warn("TrustedTypes policy "+n+" could not be created."),null}},Xr=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},Nt=function(t,e,i,r){return K(t,e)&&At(t[e])?S(r.base?X(r.base):{},t[e],r.transform):i};function Jr(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Ka(),e=s=>Jr(s);if(e.version="3.4.11",e.removed=[],!t||!t.document||t.document.nodeType!==ft.document||!t.Element)return e.isSupported=!1,e;let i=t.document,r=i,n=r.currentScript;t.DocumentFragment;let o=t.HTMLTemplateElement,a=t.Node,l=t.Element,c=t.NodeFilter;t.NamedNodeMap===void 0&&(t.NamedNodeMap||t.MozNamedAttrMap),t.HTMLFormElement;let u=t.DOMParser,d=t.trustedTypes,f=l.prototype,y=pt(f,"cloneNode"),g=pt(f,"remove"),w=pt(f,"nextSibling"),E=pt(f,"childNodes"),D=pt(f,"parentNode"),H=pt(f,"shadowRoot"),J=pt(f,"attributes"),q=a&&a.prototype?pt(a.prototype,"nodeType"):null,ht=a&&a.prototype?pt(a.prototype,"nodeName"):null;if(typeof o=="function"){let s=i.createElement("template");s.content&&s.content.ownerDocument&&(i=s.content.ownerDocument)}let nt,Wt="",Zi,Kn=!1,Ee=0,$n=function(){if(Ee>0)throw qt('A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.')},ee=function(s){$n(),Ee++;try{return nt.createHTML(s)}finally{Ee--}},ks=function(s){$n(),Ee++;try{return nt.createScriptURL(s)}finally{Ee--}},Ts=function(){return Kn||(Zi=$a(d,n),Kn=!0),Zi},We=i,Yi=We.implementation,jn=We.createNodeIterator,_s=We.createDocumentFragment,As=We.getElementsByTagName,Ns=r.importNode,B=Xr();e.isSupported=typeof Pr=="function"&&typeof D=="function"&&Yi&&Yi.createHTMLDocument!==void 0;let Ls=Oa,Ds=Ra,Os=Ma,Rs=Ia,Ms=Ba,Is=Fa,Vn=Pa,Bs=Ua,Gn=Yr,O=null,Zn=S({},[...jr,...mi,...gi,...yi,...Vr]),R=null,Yn=S({},[...Gr,...bi,...Zr,...Me]),M=Object.seal(Xt(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Ce=null,Qn=null,Dt=Object.seal(Xt(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),Xn=!0,Qi=!0,Jn=!1,to=!0,Ot=!1,Se=!0,Kt=!1,Xi=!1,Ji=null,tr=null,er=!1,ie=!1,Ke=!1,$e=!1,eo=!0,io=!1,ro="user-content-",ir=!0,rr=!1,re={},gt=null,nr=S({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","selectedcontent","style","svg","template","thead","title","video","xmp"]),no=null,oo=S({},["audio","video","img","source","image","track"]),or=null,ao=S({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),je="http://www.w3.org/1998/Math/MathML",Ve="http://www.w3.org/2000/svg",yt="http://www.w3.org/1999/xhtml",ne=yt,ar=!1,lr=null,Fs=S({},[je,Ve,yt],fi),lo=j(["mi","mo","mn","ms","mtext"]),sr=S({},lo),so=j(["annotation-xml"]),cr=S({},so),Ps=S({},["title","style","font","a","script"]),ke=null,Hs=["application/xhtml+xml","text/html"],Us="text/html",I=null,oe=null,qs=i.createElement("form"),co=function(s){return s instanceof RegExp||s instanceof Function},hr=function(){let s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(oe&&oe===s)return;(!s||typeof s!="object")&&(s={}),s=X(s),ke=Hs.indexOf(s.PARSER_MEDIA_TYPE)===-1?Us:s.PARSER_MEDIA_TYPE,I=ke==="application/xhtml+xml"?fi:ue,O=Nt(s,"ALLOWED_TAGS",Zn,{transform:I}),R=Nt(s,"ALLOWED_ATTR",Yn,{transform:I}),lr=Nt(s,"ALLOWED_NAMESPACES",Fs,{transform:fi}),or=Nt(s,"ADD_URI_SAFE_ATTR",ao,{transform:I,base:ao}),no=Nt(s,"ADD_DATA_URI_TAGS",oo,{transform:I,base:oo}),gt=Nt(s,"FORBID_CONTENTS",nr,{transform:I}),Ce=Nt(s,"FORBID_TAGS",X({}),{transform:I}),Qn=Nt(s,"FORBID_ATTR",X({}),{transform:I}),re=K(s,"USE_PROFILES")?s.USE_PROFILES&&typeof s.USE_PROFILES=="object"?X(s.USE_PROFILES):s.USE_PROFILES:!1,Xn=s.ALLOW_ARIA_ATTR!==!1,Qi=s.ALLOW_DATA_ATTR!==!1,Jn=s.ALLOW_UNKNOWN_PROTOCOLS||!1,to=s.ALLOW_SELF_CLOSE_IN_ATTR!==!1,Ot=s.SAFE_FOR_TEMPLATES||!1,Se=s.SAFE_FOR_XML!==!1,Kt=s.WHOLE_DOCUMENT||!1,ie=s.RETURN_DOM||!1,Ke=s.RETURN_DOM_FRAGMENT||!1,$e=s.RETURN_TRUSTED_TYPE||!1,er=s.FORCE_BODY||!1,eo=s.SANITIZE_DOM!==!1,io=s.SANITIZE_NAMED_PROPS||!1,ir=s.KEEP_CONTENT!==!1,rr=s.IN_PLACE||!1,Gn=Na(s.ALLOWED_URI_REGEXP)?s.ALLOWED_URI_REGEXP:Yr,ne=typeof s.NAMESPACE=="string"?s.NAMESPACE:yt,sr=K(s,"MATHML_TEXT_INTEGRATION_POINTS")&&s.MATHML_TEXT_INTEGRATION_POINTS&&typeof s.MATHML_TEXT_INTEGRATION_POINTS=="object"?X(s.MATHML_TEXT_INTEGRATION_POINTS):S({},lo),cr=K(s,"HTML_INTEGRATION_POINTS")&&s.HTML_INTEGRATION_POINTS&&typeof s.HTML_INTEGRATION_POINTS=="object"?X(s.HTML_INTEGRATION_POINTS):S({},so);let p=K(s,"CUSTOM_ELEMENT_HANDLING")&&s.CUSTOM_ELEMENT_HANDLING&&typeof s.CUSTOM_ELEMENT_HANDLING=="object"?X(s.CUSTOM_ELEMENT_HANDLING):Xt(null);if(M=Xt(null),K(p,"tagNameCheck")&&co(p.tagNameCheck)&&(M.tagNameCheck=p.tagNameCheck),K(p,"attributeNameCheck")&&co(p.attributeNameCheck)&&(M.attributeNameCheck=p.attributeNameCheck),K(p,"allowCustomizedBuiltInElements")&&typeof p.allowCustomizedBuiltInElements=="boolean"&&(M.allowCustomizedBuiltInElements=p.allowCustomizedBuiltInElements),V(M),Ot&&(Qi=!1),Ke&&(ie=!0),re&&(O=S({},Vr),R=Xt(null),re.html===!0&&(S(O,jr),S(R,Gr)),re.svg===!0&&(S(O,mi),S(R,bi),S(R,Me)),re.svgFilters===!0&&(S(O,gi),S(R,bi),S(R,Me)),re.mathMl===!0&&(S(O,yi),S(R,Zr),S(R,Me))),Dt.tagCheck=null,Dt.attributeCheck=null,K(s,"ADD_TAGS")&&(typeof s.ADD_TAGS=="function"?Dt.tagCheck=s.ADD_TAGS:At(s.ADD_TAGS)&&(O===Zn&&(O=X(O)),S(O,s.ADD_TAGS,I))),K(s,"ADD_ATTR")&&(typeof s.ADD_ATTR=="function"?Dt.attributeCheck=s.ADD_ATTR:At(s.ADD_ATTR)&&(R===Yn&&(R=X(R)),S(R,s.ADD_ATTR,I))),K(s,"ADD_URI_SAFE_ATTR")&&At(s.ADD_URI_SAFE_ATTR)&&S(or,s.ADD_URI_SAFE_ATTR,I),K(s,"FORBID_CONTENTS")&&At(s.FORBID_CONTENTS)&&(gt===nr&&(gt=X(gt)),S(gt,s.FORBID_CONTENTS,I)),K(s,"ADD_FORBID_CONTENTS")&&At(s.ADD_FORBID_CONTENTS)&&(gt===nr&&(gt=X(gt)),S(gt,s.ADD_FORBID_CONTENTS,I)),ir&&(O["#text"]=!0),Kt&&S(O,["html","head","body"]),O.table&&(S(O,["tbody"]),delete Ce.tbody),s.TRUSTED_TYPES_POLICY){if(typeof s.TRUSTED_TYPES_POLICY.createHTML!="function")throw qt('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof s.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw qt('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');let m=nt;nt=s.TRUSTED_TYPES_POLICY;try{Wt=ee("")}catch(b){throw nt=m,b}}else s.TRUSTED_TYPES_POLICY===null?(nt=void 0,Wt=""):(nt===void 0&&(nt=Ts()),nt&&typeof Wt=="string"&&(Wt=ee("")));j&&j(s),oe=s},ho=S({},[...mi,...gi,...La]),uo=S({},[...yi,...Da]),zs=function(s,p,m){return p.namespaceURI===yt?s==="svg":p.namespaceURI===je?s==="svg"&&(m==="annotation-xml"||sr[m]):!!ho[s]},Ws=function(s,p,m){return p.namespaceURI===yt?s==="math":p.namespaceURI===Ve?s==="math"&&cr[m]:!!uo[s]},Ks=function(s,p,m){return p.namespaceURI===Ve&&!cr[m]||p.namespaceURI===je&&!sr[m]?!1:!uo[s]&&(Ps[s]||!ho[s])},$s=function(s){let p=D(s);(!p||!p.tagName)&&(p={namespaceURI:ne,tagName:"template"});let m=ue(s.tagName),b=ue(p.tagName);return lr[s.namespaceURI]?s.namespaceURI===Ve?zs(m,p,b):s.namespaceURI===je?Ws(m,p,b):s.namespaceURI===yt?Ks(m,p,b):!!(ke==="application/xhtml+xml"&&lr[s.namespaceURI]):!1},$t=function(s){Jt(e.removed,{element:s});try{D(s).removeChild(s)}catch{if(g(s),!D(s))throw qt("a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place")}},po=function(s){let p=E(s);if(p){let b=[];de(p,C=>{Jt(b,C)}),de(b,C=>{try{g(C)}catch{}})}let m=J(s);if(m)for(let b=m.length-1;b>=0;--b){let C=m[b],k=C&&C.name;if(typeof k=="string")try{s.removeAttribute(k)}catch{}}},jt=function(s,p){try{Jt(e.removed,{attribute:p.getAttributeNode(s),from:p})}catch{Jt(e.removed,{attribute:null,from:p})}if(p.removeAttribute(s),s==="is")if(ie||Ke)try{$t(p)}catch{}else try{p.setAttribute(s,"")}catch{}},js=function(s){let p=J(s);if(p)for(let m=p.length-1;m>=0;--m){let b=p[m],C=b&&b.name;if(!(typeof C!="string"||R[I(C)]))try{s.removeAttribute(C)}catch{}}},Vs=function(s){let p=[s];for(;p.length>0;){let m=p.pop();(q?q(m):m.nodeType)===ft.element&&js(m);let b=E(m);if(b)for(let C=b.length-1;C>=0;--C)p.push(b[C])}},fo=function(s){let p=null,m=null;if(er)s="<remove></remove>"+s;else{let k=zr(s,/^[\r\n\t ]+/);m=k&&k[0]}ke==="application/xhtml+xml"&&ne===yt&&(s='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+s+"</body></html>");let b=nt?ee(s):s;if(ne===yt)try{p=new u().parseFromString(b,ke)}catch{}if(!p||!p.documentElement){p=Yi.createDocument(ne,"template",null);try{p.documentElement.innerHTML=ar?Wt:b}catch{}}let C=p.body||p.documentElement;return s&&m&&C.insertBefore(i.createTextNode(m),C.childNodes[0]||null),ne===yt?As.call(p,Kt?"html":"body")[0]:Kt?p.documentElement:C},mo=function(s){return jn.call(s.ownerDocument||s,s,c.SHOW_ELEMENT|c.SHOW_COMMENT|c.SHOW_TEXT|c.SHOW_PROCESSING_INSTRUCTION|c.SHOW_CDATA_SECTION,null)},Ge=function(s){return s=pe(s,Ls," "),s=pe(s,Ds," "),s=pe(s,Os," "),s},dr=function(s){var p;s.normalize();let m=jn.call(s.ownerDocument||s,s,c.SHOW_TEXT|c.SHOW_COMMENT|c.SHOW_CDATA_SECTION|c.SHOW_PROCESSING_INSTRUCTION,null),b=m.nextNode();for(;b;)b.data=Ge(b.data),b=m.nextNode();let C=(p=s.querySelectorAll)===null||p===void 0?void 0:p.call(s,"template");C&&de(C,k=>{ae(k.content)&&dr(k.content)})},Ze=function(s){let p=ht?ht(s):null;return typeof p!="string"||I(p)!=="form"?!1:typeof s.nodeName!="string"||typeof s.textContent!="string"||typeof s.removeChild!="function"||s.attributes!==J(s)||typeof s.removeAttribute!="function"||typeof s.setAttribute!="function"||typeof s.namespaceURI!="string"||typeof s.insertBefore!="function"||typeof s.hasChildNodes!="function"||s.nodeType!==q(s)||s.childNodes!==E(s)},ae=function(s){if(!q||typeof s!="object"||s===null)return!1;try{return q(s)===ft.documentFragment}catch{return!1}},Te=function(s){if(!q||typeof s!="object"||s===null)return!1;try{return typeof q(s)=="number"}catch{return!1}};function St(s,p,m){s.length!==0&&de(s,b=>{b.call(e,p,m,oe)})}let Gs=function(s,p){return!!(Se&&s.hasChildNodes()&&!Te(s.firstElementChild)&&G(Qr,s.textContent)&&G(Qr,s.innerHTML)||Se&&s.namespaceURI===yt&&p==="style"&&Te(s.firstElementChild)||s.nodeType===ft.processingInstruction||Se&&s.nodeType===ft.comment&&G(qa,s.data))},Zs=function(s,p){if(!Ce[p]&&bo(p)&&(M.tagNameCheck instanceof RegExp&&G(M.tagNameCheck,p)||M.tagNameCheck instanceof Function&&M.tagNameCheck(p)))return!1;if(ir&&!gt[p]){let m=D(s),b=E(s);if(b&&m){let C=b.length;for(let k=C-1;k>=0;--k){let T=rr?b[k]:y(b[k],!0);m.insertBefore(T,w(s))}}}return $t(s),!0},go=function(s){if(St(B.beforeSanitizeElements,s,null),Ze(s))return $t(s),!0;let p=I(ht?ht(s):s.nodeName);if(St(B.uponSanitizeElement,s,{tagName:p,allowedTags:O}),Gs(s,p))return $t(s),!0;if(Ce[p]||!(Dt.tagCheck instanceof Function&&Dt.tagCheck(p))&&!O[p])return Zs(s,p);if((q?q(s):s.nodeType)===ft.element&&!$s(s)||(p==="noscript"||p==="noembed"||p==="noframes")&&G(za,s.innerHTML))return $t(s),!0;if(Ot&&s.nodeType===ft.text){let m=Ge(s.textContent);s.textContent!==m&&(Jt(e.removed,{element:s.cloneNode()}),s.textContent=m)}return St(B.afterSanitizeElements,s,null),!1},yo=function(s,p,m){if(Qn[p]||eo&&(p==="id"||p==="name")&&(m in i||m in qs))return!1;let b=R[p]||Dt.attributeCheck instanceof Function&&Dt.attributeCheck(p,s);if(!(Qi&&G(Rs,p))&&!(Xn&&G(Ms,p))){if(b){if(!or[p]&&!G(Gn,pe(m,Vn,""))&&!((p==="src"||p==="xlink:href"||p==="href")&&s!=="script"&&Wr(m,"data:")===0&&no[s])&&!(Jn&&!G(Is,pe(m,Vn,"")))&&m)return!1}else if(!(bo(s)&&(M.tagNameCheck instanceof RegExp&&G(M.tagNameCheck,s)||M.tagNameCheck instanceof Function&&M.tagNameCheck(s))&&(M.attributeNameCheck instanceof RegExp&&G(M.attributeNameCheck,p)||M.attributeNameCheck instanceof Function&&M.attributeNameCheck(p,s))||p==="is"&&M.allowCustomizedBuiltInElements&&(M.tagNameCheck instanceof RegExp&&G(M.tagNameCheck,m)||M.tagNameCheck instanceof Function&&M.tagNameCheck(m))))return!1}return!0},Ys=S({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),bo=function(s){return!Ys[ue(s)]&&G(Bs,s)},Qs=function(s,p,m,b){if(nt&&typeof d=="object"&&typeof d.getAttributeType=="function"&&!m)switch(d.getAttributeType(s,p)){case"TrustedHTML":return ee(b);case"TrustedScriptURL":return ks(b)}return b},Xs=function(s,p,m,b){try{m?s.setAttributeNS(m,p,b):s.setAttribute(p,b),Ze(s)?$t(s):qr(e.removed)}catch{jt(p,s)}},vo=function(s){St(B.beforeSanitizeAttributes,s,null);let p=s.attributes;if(!p||Ze(s))return;let m={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:R,forceKeepAttr:void 0},b=p.length,C=I(s.nodeName);for(;b--;){let k=p[b],T=k.name,Vt=k.namespaceURI,Rt=k.value,ot=I(T),Mt=Rt,tt=T==="value"?Mt:Ca(Mt);if(m.attrName=ot,m.attrValue=tt,m.keepAttr=!0,m.forceKeepAttr=void 0,St(B.uponSanitizeAttribute,s,m),tt=m.attrValue,io&&(ot==="id"||ot==="name")&&Wr(tt,ro)!==0&&(jt(T,s),tt=ro+tt),Se&&G(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,tt)){jt(T,s);continue}if(ot==="attributename"&&zr(tt,"href")){jt(T,s);continue}if(!m.forceKeepAttr){if(!m.keepAttr){jt(T,s);continue}if(!to&&G(Wa,tt)){jt(T,s);continue}if(Ot&&(tt=Ge(tt)),!yo(C,ot,tt)){jt(T,s);continue}tt=Qs(C,ot,Vt,tt),tt!==Mt&&Xs(s,T,Vt,tt)}}St(B.afterSanitizeAttributes,s,null)},Ye=function(s){let p=null,m=mo(s);for(St(B.beforeSanitizeShadowDOM,s,null);p=m.nextNode();)if(St(B.uponSanitizeShadowNode,p,null),go(p),vo(p),ae(p.content)&&Ye(p.content),(q?q(p):p.nodeType)===ft.element){let b=H(p);ae(b)&&(ur(b),Ye(b))}St(B.afterSanitizeShadowDOM,s,null)},ur=function(s){let p=[{node:s,shadow:null}];for(;p.length>0;){let m=p.pop();if(m.shadow){Ye(m.shadow);continue}let b=m.node,C=(q?q(b):b.nodeType)===ft.element,k=E(b);if(k)for(let T=k.length-1;T>=0;--T)p.push({node:k[T],shadow:null});if(C){let T=ht?ht(b):null;if(typeof T=="string"&&I(T)==="template"){let Vt=b.content;ae(Vt)&&p.push({node:Vt,shadow:null})}}if(C){let T=H(b);ae(T)&&p.push({node:null,shadow:T},{node:T,shadow:null})}}};return e.sanitize=function(s){let p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},m=null,b=null,C=null,k=null;if(ar=!s,ar&&(s="<!-->"),typeof s!="string"&&!Te(s)&&(s=Aa(s),typeof s!="string"))throw qt("dirty is not a string, aborting");if(!e.isSupported)return s;Xi?(O=Ji,R=tr):hr(p),(B.uponSanitizeElement.length>0||B.uponSanitizeAttribute.length>0)&&(O=X(O)),B.uponSanitizeAttribute.length>0&&(R=X(R)),e.removed=[];let T=rr&&typeof s!="string"&&Te(s);if(T){let ot=ht?ht(s):s.nodeName;if(typeof ot=="string"){let Mt=I(ot);if(!O[Mt]||Ce[Mt])throw qt("root node is forbidden and cannot be sanitized in-place")}if(Ze(s))throw qt("root node is clobbered and cannot be sanitized in-place");try{ur(s)}catch(Mt){throw po(s),Mt}}else if(Te(s))m=fo("<!---->"),b=m.ownerDocument.importNode(s,!0),b.nodeType===ft.element&&b.nodeName==="BODY"||b.nodeName==="HTML"?m=b:m.appendChild(b),ur(b);else{if(!ie&&!Ot&&!Kt&&s.indexOf("<")===-1)return nt&&$e?ee(s):s;if(m=fo(s),!m)return ie?null:$e?Wt:""}m&&er&&$t(m.firstChild);let Vt=mo(T?s:m);try{for(;C=Vt.nextNode();)go(C),vo(C),ae(C.content)&&Ye(C.content)}catch(ot){throw T&&po(s),ot}if(T)return de(e.removed,ot=>{ot.element&&Vs(ot.element)}),Ot&&dr(s),s;if(ie){if(Ot&&dr(m),Ke)for(k=_s.call(m.ownerDocument);m.firstChild;)k.appendChild(m.firstChild);else k=m;return(R.shadowroot||R.shadowrootmode)&&(k=Ns.call(r,k,!0)),k}let Rt=Kt?m.outerHTML:m.innerHTML;return Kt&&O["!doctype"]&&m.ownerDocument&&m.ownerDocument.doctype&&m.ownerDocument.doctype.name&&G(Ha,m.ownerDocument.doctype.name)&&(Rt="<!DOCTYPE "+m.ownerDocument.doctype.name+`>
98
+ `+Rt),Ot&&(Rt=Ge(Rt)),nt&&$e?ee(Rt):Rt},e.setConfig=function(){let s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};hr(s),Xi=!0,Ji=O,tr=R},e.clearConfig=function(){oe=null,Xi=!1,Ji=null,tr=null,nt=Zi,Wt=""},e.isValidAttribute=function(s,p,m){oe||hr({});let b=I(s),C=I(p);return yo(b,C,m)},e.addHook=function(s,p){typeof p=="function"&&K(B,s)&&Jt(B[s],p)},e.removeHook=function(s,p){if(K(B,s)){if(p!==void 0){let m=wa(B[s],p);return m===-1?void 0:Ea(B[s],m,1)[0]}return qr(B[s])}},e.removeHooks=function(s){K(B,s)&&(B[s]=[])},e.removeAllHooks=function(){B=Xr()},e}var ja=Jr(),U=(t,e="0 0 18 18")=>`<svg viewBox="${e}" width="18" height="18" aria-hidden="true" focusable="false">${t}</svg>`,L={bold:U('<path fill="currentColor" d="M178.48,115.7A44,44,0,0,0,148,40H80a8,8,0,0,0-8,8V200a8,8,0,0,0,8,8h80a48,48,0,0,0,18.48-92.3ZM88,56h60a28,28,0,0,1,0,56H88Zm72,136H88V128h72a32,32,0,0,1,0,64Z"/>',"0 0 256 256"),italic:U('<path fill="currentColor" d="M200,56a8,8,0,0,1-8,8H157.77L115.1,192H144a8,8,0,0,1,0,16H64a8,8,0,0,1,0-16H98.23L140.9,64H112a8,8,0,0,1,0-16h80A8,8,0,0,1,200,56Z"/>',"0 0 256 256"),underline:U('<path fill="currentColor" d="M200,224a8,8,0,0,1-8,8H64a8,8,0,0,1,0-16H192A8,8,0,0,1,200,224Zm-72-24a64.07,64.07,0,0,0,64-64V56a8,8,0,0,0-16,0v80a48,48,0,0,1-96,0V56a8,8,0,0,0-16,0v80A64.07,64.07,0,0,0,128,200Z"/>',"0 0 256 256"),strike:U('<path fill="currentColor" d="M224,128a8,8,0,0,1-8,8H175.93c9.19,7.11,16.07,17.2,16.07,32,0,13.34-7,25.7-19.75,34.79C160.33,211.31,144.61,216,128,216s-32.33-4.69-44.25-13.21C71,193.7,64,181.34,64,168a8,8,0,0,1,16,0c0,17.35,22,32,48,32s48-14.65,48-32c0-14.85-10.54-23.58-38.77-32H40a8,8,0,0,1,0-16H216A8,8,0,0,1,224,128ZM76.33,104a8,8,0,0,0,7.61-10.49A17.3,17.3,0,0,1,83.11,88c0-18.24,19.3-32,44.89-32,18.84,0,34.16,7.42,41,19.85a8,8,0,0,0,14-7.7C173.33,50.52,152.77,40,128,40,93.29,40,67.11,60.63,67.11,88a33.73,33.73,0,0,0,1.62,10.49A8,8,0,0,0,76.33,104Z"/>',"0 0 256 256"),link:U('<path fill="currentColor" d="M240,88.23a54.43,54.43,0,0,1-16,37L189.25,160a54.27,54.27,0,0,1-38.63,16h-.05A54.63,54.63,0,0,1,96,119.84a8,8,0,0,1,16,.45A38.62,38.62,0,0,0,150.58,160h0a38.39,38.39,0,0,0,27.31-11.31l34.75-34.75a38.63,38.63,0,0,0-54.63-54.63l-11,11A8,8,0,0,1,135.7,59l11-11A54.65,54.65,0,0,1,224,48,54.86,54.86,0,0,1,240,88.23ZM109,185.66l-11,11A38.41,38.41,0,0,1,70.6,208h0a38.63,38.63,0,0,1-27.29-65.94L78,107.31A38.63,38.63,0,0,1,144,135.71a8,8,0,0,0,16,.45A54.86,54.86,0,0,0,144,96a54.65,54.65,0,0,0-77.27,0L32,130.75A54.62,54.62,0,0,0,70.56,224h0a54.28,54.28,0,0,0,38.64-16l11-11A8,8,0,0,0,109,185.66Z"/>',"0 0 256 256"),unlink:U('<path fill="currentColor" d="M198.63,57.37a32,32,0,0,0-45.19-.06L141.79,69.52a8,8,0,0,1-11.58-11l11.72-12.29a1.59,1.59,0,0,1,.13-.13,48,48,0,0,1,67.88,67.88,1.59,1.59,0,0,1-.13.13l-12.29,11.72a8,8,0,0,1-11-11.58l12.21-11.65A32,32,0,0,0,198.63,57.37ZM114.21,186.48l-11.65,12.21a32,32,0,0,1-45.25-45.25l12.21-11.65a8,8,0,0,0-11-11.58L46.19,141.93a1.59,1.59,0,0,0-.13.13,48,48,0,0,0,67.88,67.88,1.59,1.59,0,0,0,.13-.13l11.72-12.29a8,8,0,1,0-11.58-11ZM216,152H192a8,8,0,0,0,0,16h24a8,8,0,0,0,0-16ZM40,104H64a8,8,0,0,0,0-16H40a8,8,0,0,0,0,16Zm120,80a8,8,0,0,0-8,8v24a8,8,0,0,0,16,0V192A8,8,0,0,0,160,184ZM96,72a8,8,0,0,0,8-8V40a8,8,0,0,0-16,0V64A8,8,0,0,0,96,72Z"/>',"0 0 256 256"),ul:U('<path fill="currentColor" d="M80,64a8,8,0,0,1,8-8H216a8,8,0,0,1,0,16H88A8,8,0,0,1,80,64Zm136,56H88a8,8,0,0,0,0,16H216a8,8,0,0,0,0-16Zm0,64H88a8,8,0,0,0,0,16H216a8,8,0,0,0,0-16ZM44,52A12,12,0,1,0,56,64,12,12,0,0,0,44,52Zm0,64a12,12,0,1,0,12,12A12,12,0,0,0,44,116Zm0,64a12,12,0,1,0,12,12A12,12,0,0,0,44,180Z"/>',"0 0 256 256"),ol:U('<path fill="currentColor" d="M224,128a8,8,0,0,1-8,8H104a8,8,0,0,1,0-16H216A8,8,0,0,1,224,128ZM104,72H216a8,8,0,0,0,0-16H104a8,8,0,0,0,0,16ZM216,184H104a8,8,0,0,0,0,16H216a8,8,0,0,0,0-16ZM43.58,55.16,48,52.94V104a8,8,0,0,0,16,0V40a8,8,0,0,0-11.58-7.16l-16,8a8,8,0,0,0,7.16,14.32ZM79.77,156.72a23.73,23.73,0,0,0-9.6-15.95,24.86,24.86,0,0,0-34.11,4.7,23.63,23.63,0,0,0-3.57,6.46,8,8,0,1,0,15,5.47,7.84,7.84,0,0,1,1.18-2.13,8.76,8.76,0,0,1,12-1.59A7.91,7.91,0,0,1,63.93,159a7.64,7.64,0,0,1-1.57,5.78,1,1,0,0,0-.08.11L33.59,203.21A8,8,0,0,0,40,216H72a8,8,0,0,0,0-16H56l19.08-25.53A23.47,23.47,0,0,0,79.77,156.72Z"/>',"0 0 256 256"),quote:U('<path fill="currentColor" d="M100,56H40A16,16,0,0,0,24,72v64a16,16,0,0,0,16,16h60v8a32,32,0,0,1-32,32,8,8,0,0,0,0,16,48.05,48.05,0,0,0,48-48V72A16,16,0,0,0,100,56Zm0,80H40V72h60ZM216,56H156a16,16,0,0,0-16,16v64a16,16,0,0,0,16,16h60v8a32,32,0,0,1-32,32,8,8,0,0,0,0,16,48.05,48.05,0,0,0,48-48V72A16,16,0,0,0,216,56Zm0,80H156V72h60Z"/>',"0 0 256 256"),undo:U('<path fill="currentColor" d="M224,128a96,96,0,0,1-94.71,96H128A95.38,95.38,0,0,1,62.1,197.8a8,8,0,0,1,11-11.63A80,80,0,1,0,71.43,71.39a3.07,3.07,0,0,1-.26.25L44.59,96H72a8,8,0,0,1,0,16H24a8,8,0,0,1-8-8V56a8,8,0,0,1,16,0V85.8L60.25,60A96,96,0,0,1,224,128Z"/>',"0 0 256 256"),redo:U('<path fill="currentColor" d="M240,56v48a8,8,0,0,1-8,8H184a8,8,0,0,1,0-16H211.4L184.81,71.64l-.25-.24a80,80,0,1,0-1.67,114.78,8,8,0,0,1,11,11.63A95.44,95.44,0,0,1,128,224h-1.32A96,96,0,1,1,195.75,60L224,85.8V56a8,8,0,1,1,16,0Z"/>',"0 0 256 256"),clear:U('<path fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="square" stroke-linejoin="miter" d="M3 3l18 18M5 5v3M9 5h10v3M12 5v3M12 12v7M8 19h8"/>',"0 0 24 24"),code:U('<path fill="currentColor" d="M69.12,94.15,28.5,128l40.62,33.85a8,8,0,1,1-10.24,12.29l-48-40a8,8,0,0,1,0-12.29l48-40a8,8,0,0,1,10.24,12.3Zm176,27.7-48-40a8,8,0,1,0-10.24,12.3L227.5,128l-40.62,33.85a8,8,0,1,0,10.24,12.29l48-40a8,8,0,0,0,0-12.29ZM162.73,32.48a8,8,0,0,0-10.25,4.79l-64,176a8,8,0,0,0,4.79,10.26A8.14,8.14,0,0,0,96,224a8,8,0,0,0,7.52-5.27l64-176A8,8,0,0,0,162.73,32.48Z"/>',"0 0 256 256"),indent:U('<path fill="currentColor" d="M224,128a8,8,0,0,1-8,8H112a8,8,0,0,1,0-16H216A8,8,0,0,1,224,128ZM112,72H216a8,8,0,0,0,0-16H112a8,8,0,0,0,0,16ZM216,184H40a8,8,0,0,0,0,16H216a8,8,0,0,0,0-16ZM34.34,141.66a8,8,0,0,0,11.32,0l40-40a8,8,0,0,0,0-11.32l-40-40A8,8,0,0,0,34.34,61.66L68.69,96,34.34,130.34A8,8,0,0,0,34.34,141.66Z"/>',"0 0 256 256"),outdent:U('<path fill="currentColor" d="M224,128a8,8,0,0,1-8,8H112a8,8,0,0,1,0-16H216A8,8,0,0,1,224,128ZM112,72H216a8,8,0,0,0,0-16H112a8,8,0,0,0,0,16ZM216,184H40a8,8,0,0,0,0,16H216a8,8,0,0,0,0-16ZM72,144a8,8,0,0,0,5.66-13.66L43.31,96,77.66,61.66A8,8,0,0,0,66.34,50.34l-40,40a8,8,0,0,0,0,11.32l40,40A8,8,0,0,0,72,144Z"/>',"0 0 256 256"),blocks:U('<path fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="square" stroke-linejoin="miter" d="M19 4h-9a4.5 4.5 0 0 0 0 9h3M13 4v16M17 4v16"/>',"0 0 24 24"),h1:U('<path fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" d="M3.5 5.5v12M12 5.5v12M3.5 11.5H12M17 12l3-2v10"/>',"0 0 24 24"),h2:U('<path fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" d="M3.5 5.5v12M12 5.5v12M3.5 11.5H12M16 12.5c0-3.5 6-3.5 6 0 0 2-2.5 3.5-6 7.5h6"/>',"0 0 24 24"),h3:U('<path fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" d="M3.5 5.5v12M12 5.5v12M3.5 11.5H12M16 11c1.5-1.5 6-1.5 6 1.5 0 1.5-1.5 2.5-3 2.5h-1M19 15c1.5 0 3 1 3 2.5 0 3-4.5 3-6 1.5"/>',"0 0 24 24")},Et=t=>t.blocksStayOut(),Va=t=>!!t.element.closest("a"),Ie={minimal:["bold","italic","link","unorderedList"],inline:["bold","italic","underline","strikethrough","code","link","undo","redo","clearFormatting"],standard:["blockMenu","bold","italic","underline","strikethrough","code","link","unorderedList","orderedList","quote","outdent","indent","undo","redo","clearFormatting"]};function Ga(){return new Map(Ya.map(t=>[t.id,t]))}function me(t=globalThis){let e=t?.navigator;return e?/Mac|iPhone|iPad|iPod/.test(e.platform||e.userAgent||""):!1}function Za(t,e=globalThis){return t?t.replace("Mod",me(e)?"Cmd":"Ctrl"):""}var Ya=[Lt("bold","Bold",L.bold,"Mod+B","inline",t=>t.toggleFormat("B","bold","removeBold")),Lt("italic","Italic",L.italic,"Mod+I","inline",t=>t.toggleFormat("I","italic","removeItalic")),Lt("underline","Underline",L.underline,"Mod+U","inline",t=>t.toggleFormat("U","underline","removeUnderline")),Lt("strikethrough","Strikethrough",L.strike,"Mod+Shift+7","inline",t=>t.toggleFormat("S","strikethrough","removeStrikethrough")),Lt("code","Code",L.code,null,"inline",t=>t.toggleCode(),t=>t.selectionHasFormat("CODE")||t.selectionHasFormat("PRE")),{id:"link",label:"Link",ariaLabel:"Insert or edit link",icon:L.link,group:"links",shortcut:"Mod+K",mutates:!1,isDisabled:Va,run:t=>t.openLinkDialog(),isActive:t=>!!t.currentLinkElement()},{id:"unlink",label:"Remove link",ariaLabel:"Remove link",icon:L.unlink,group:"links",run:t=>t.squire.removeLink()},Lt("unorderedList","Bulleted list",L.ul,"Mod+Shift+8","lists",t=>t.toggleList("UL"),t=>t.pathHas("UL"),Et),Lt("orderedList","Numbered list",L.ol,"Mod+Shift+9","lists",t=>t.toggleList("OL"),t=>t.pathHas("OL"),Et),Lt("quote","Quote",L.quote,null,"blocks",t=>t.pathHas("BLOCKQUOTE")?t.squire.decreaseQuoteLevel():t.squire.increaseQuoteLevel(),t=>t.pathHas("BLOCKQUOTE"),Et),{id:"outdent",label:"Outdent",ariaLabel:"Decrease indent",icon:L.outdent,group:"blocks",shortcut:"Mod+[",isDisabled:Et,run:t=>t.outdent()},{id:"indent",label:"Indent",ariaLabel:"Increase indent",icon:L.indent,group:"blocks",shortcut:"Mod+]",isDisabled:Et,run:t=>t.indent()},{id:"undo",label:"Undo",ariaLabel:"Undo",icon:L.undo,group:"history",shortcut:"Mod+Z",mutates:!1,run:t=>t.squire.undo()},{id:"redo",label:"Redo",ariaLabel:"Redo",icon:L.redo,group:"history",shortcut:"Mod+Shift+Z",mutates:!1,run:t=>t.squire.redo()},{id:"clearFormatting",label:"Clear formatting",ariaLabel:"Clear formatting",icon:L.clear,group:"cleanup",run:t=>t.squire.removeAllFormatting()},{id:"blockMenu",type:"menu",label:"Block style",ariaLabel:"Choose block style",icon:L.blocks,group:"blocks",isDisabled:Et,options:[Be("Paragraph","P",L.blocks),Be("Heading 1","H1",L.h1),Be("Heading 2","H2",L.h2),Be("Heading 3","H3",L.h3),{label:"Quote",icon:L.quote,value:"BLOCKQUOTE",isDisabled:Et,run:t=>t.squire.increaseQuoteLevel(),isActive:t=>t.pathHas("BLOCKQUOTE")},{label:"Code block",icon:L.code,value:"PRE",isDisabled:Et,run:t=>t.setBlockType("PRE"),isActive:t=>t.pathHas("PRE")}]}];function Lt(t,e,i,r,n,o,a=c=>c.selectionHasFormat(Qa(t)),l){return{id:t,label:e,ariaLabel:e,icon:i,group:n,shortcut:r,isDisabled:l,run:o,isActive:a}}function Qa(t){return{bold:"B",italic:"I",underline:"U",strikethrough:"S"}[t]}function Be(t,e,i){return{label:t,icon:i,value:e,isDisabled:Et,run:r=>r.setBlockType(e),isActive:r=>r.pathHas(e)}}var vi=/^(?:#text|A(?:BBR|CRONYM)?|B(?:R|D[IO])?|C(?:ITE|ODE)|D(?:ATA|EL|FN)|EM|FONT|HR|I(?:FRAME|MG|NPUT|NS)?|KBD|Q|R(?:P|T|UBY)|S(?:AMP|MALL|PAN|TR(?:IKE|ONG)|U[BP])?|TIME|U|VAR|WBR)$/,Fe=/[^ \t\r\n]/,Xa=new Set(["BR","HR","IFRAME","IMG","INPUT","WBR"]),xi=t=>t?.nodeType===1&&t.matches('[editor-ui],[clay~="editor-ui"]'),ge=new Set(["svg","math"]);function Pe(t){let e=t.nodeType;return e===3||e===8?!0:e!==1?!1:ge.has(t.nodeName)?!0:vi.test(t.nodeName)?Array.from(t.childNodes).every(Pe):!1}function ye(t){return Array.from(t.childNodes).some(e=>!Pe(e))}var wi=t=>t?.nodeType===1&&!ge.has(t.nodeName)&&!vi.test(t.nodeName);function Ei(t,e){let i=Array.from(t.childNodes),r=0;return i.forEach((n,o)=>{if(!(n.nodeType!==1||ge.has(n.nodeName))&&(r+=Ei(n,e),!!wi(n))){for(wi(i[o-1])&&t.insertBefore(e(),n);n.firstChild;)t.insertBefore(n.firstChild,n);n.remove(),r+=1}}),r}var Ci=new Set(["TABLE","THEAD","TBODY","TFOOT","TR","COLGROUP"]);function Si(t){return!!t.closest?.("p")||Ci.has(t.nodeName)}var Ja=new Set(["P","H1","H2","H3","H4","H5","H6","PRE","LABEL","LEGEND","LI","TD","TH","DT","DD","FIGCAPTION","SUMMARY","CAPTION"]);function tl(t){return Ja.has(t.nodeName)||ki(t)}var tn=new Set(["AREA","BASE","BR","COL","EMBED","HR","IMG","INPUT","LINK","META","PARAM","SOURCE","TRACK","WBR"]),el=new Set(["SCRIPT","STYLE","TEXTAREA","TITLE","IFRAME","NOSCRIPT","XMP"]),en="http://www.w3.org/1999/xhtml";function il(t){return Ci.has(t.nodeName)||tn.has(t.nodeName)||el.has(t.nodeName)||t.nodeName==="TEMPLATE"||!!t.namespaceURI&&t.namespaceURI!==en}function rl(t){return Ci.has(t.nodeName)?"a table element cannot be an editable region. Move the editable attribute to a <td>, a <th>, or an element inside one.":t.namespaceURI&&t.namespaceURI!==en?"an SVG or MathML element cannot be an editable region: an edit puts an HTML block inside it, and the next page load moves that text out of the graphic entirely. Put a <foreignObject> in the SVG and mark an HTML element inside it instead.":tn.has(t.nodeName)?"this element cannot contain anything, so there is nothing to edit. Move the editable attribute to an element that holds text.":t.nodeName==="TEMPLATE"?"a <template> keeps its content out of the document, so edits to it are never saved.":"this element treats its content as plain text, so any edit would be saved as visible markup rather than formatting."}function ki(t){return t.nodeType===1&&!ge.has(t.nodeName)&&vi.test(t.nodeName)}function rn(t){return Array.from(t.querySelectorAll("*")).some(wi)}function nl(t,e={}){let{blockTag:i="DIV",wrapBareRoot:r=!1,onBareRootWrapped:n,blocksAllowed:o=!Si(t)}=e;return on(t),o&&sl(t,i,r,n),t}var ol=t=>Pe(t)&&t.nodeType!==8&&!xi(t),al=t=>t.nodeType!==8&&!xi(t)&&!(t.nodeType===3&&!Fe.test(t.nodeValue));function ll(t,{wrapBareRoot:e=!1,blocksAllowed:i=!Si(t)}={}){return i?ye(t)?Array.from(t.childNodes).some(ol)||nn(t):e:!1}function nn(t){return Array.from(t.children).some(e=>ye(e)?!Ti(e)&&Array.from(e.childNodes).some(i=>i.nodeType===3&&!Fe.test(i.nodeValue))||nn(e):!1)}function on(t){ye(t)&&(Ti(t)||Array.from(t.childNodes).forEach(e=>{e.nodeType===3&&!Fe.test(e.nodeValue)&&e.remove()}),Array.from(t.children).forEach(on))}function sl(t,e,i,r){if(!ye(t)){if(!i)return;let a=t.ownerDocument.createElement(e);if(!Array.from(t.childNodes).some(al)){a.appendChild(t.ownerDocument.createElement("BR")),t.appendChild(a);return}for(;t.firstChild;)a.appendChild(t.firstChild);t.appendChild(a),r?.(t,a);return}let n=[],o=()=>{let a=n;if(n=[],!a.some(c=>c.nodeType!==8))return;let l=t.ownerDocument.createElement(e);t.insertBefore(l,a[0]),a.forEach(c=>l.appendChild(c))};Array.from(t.childNodes).forEach(a=>{xi(a)?o():Pe(a)?n.push(a):o()}),o()}function Ti(t){return t.nodeName==="PRE"}function cl(t,e){return{start:an(t,e.startContainer,e.startOffset),end:an(t,e.endContainer,e.endOffset),collapsed:e.collapsed}}function hl(t,e,i){sn(e,"setStart",t,i.start),i.collapsed?e.collapse(!0):sn(e,"setEnd",t,i.end)}function an(t,e,i){if(!t.contains(e))return{scope:t,after:[],before:[]};if(e.nodeType===3){if(!dl(e))return{container:e,offset:i};let r=e.parentNode;return ln(r,Array.from(r.childNodes).indexOf(e))}return{container:e,offset:i,childCount:e.childNodes.length,...ln(e,i)}}function ln(t,e){let i=Array.from(t.childNodes),r=Math.max(0,e);return{scope:t,after:i.slice(r),before:i.slice(0,r).reverse()}}function sn(t,e,i,r){let{container:n,childCount:o}=r;if(n&&i.contains(n)&&(o===void 0||o===n.childNodes.length)){t[e](n,Math.min(r.offset,_i(n)));return}let a=r.after?.find(h=>i.contains(h));if(a){t[e](He(a,!0),0);return}let l=r.before?.find(h=>i.contains(h));if(l){let h=He(l,!1);t[e](h,_i(h));return}let c=r.scope&&i.contains(r.scope)?r.scope:i;t[e](c,0)}function dl(t){return t.nodeType===3&&!Fe.test(t.nodeValue)&&!!t.parentNode&&t.parentNode.nodeType===1&&ye(t.parentNode)&&!Ti(t.parentNode)}var be=t=>t.nodeType===1||t.nodeType===3;function He(t,e=!0){let i=t;for(;i.nodeType===1&&!ge.has(i.nodeName);){let r=Array.from(i.childNodes).filter(be),n=e?r[0]:r[r.length-1];if(!n||Xa.has(n.nodeName))break;i=n}return i}function _i(t){return t.nodeType===3?t.nodeValue.length:t.childNodes.length}var mt="[data-richclay], [richclay], [editable], [clay-editable]",ul="[data-richclay], [richclay], [clay-editable]",pl=["editable","clay-editable"],Ai=':is([editable~="single-line"], [clay-editable~="single-line"])';function cn(t){return!t||typeof t.matches!="function"?!1:t.tagName.includes("-")?t.matches(ul):!0}var fl="[data-richclay-toolbar], [data-richclay-menu], [data-richclay-dialog], [data-richclay-link-popover], [data-richclay-live], [data-richclay-float]",ml=["richclay-editor","richclay-inline","richclay-active","richclay-empty","richclay-focused"],Ni=new WeakSet,hn=new WeakSet,dn=["clay:ready","hyperclay:ready"];function un(t){return[t.clay?.ready,t.hyperclay?.ready].find(e=>e&&typeof e.then=="function")||null}function pn(t){return typeof t.clay?.isEditMode=="boolean"?t.clay.isEditMode:typeof t.hyperclay?.isEditMode=="boolean"?t.hyperclay.isEditMode:null}function gl(t){let e=t.hyperclayModules,i=t.__hyperclayNoAutoExport===!1&&e&&typeof e=="object"&&typeof e.nodeType!="number";return pn(t)!==null||!!un(t)||!!i}function yl(t){return t.clay?.addDocumentTransform||t.hyperclay?.beforeSave||null}function bl(t){return t.clay?.onSnapshot||t.hyperclay?.onSnapshot||null}var vl={boxSizing:"border-box",minWidth:"100%",overflow:"auto",width:"0"};function Li(t={},e=window){return t.hyperclay===!1?!1:t.hyperclay===!0?!0:!!(gl(e)||Nl(e))}function fn(t=window){let e=bn(t);if(e!==null)return e;if(typeof t.__hyperclayEditMode=="boolean")return t.__hyperclayEditMode;let i=pn(t);return i!==null?i:Ll(t)}function xl(t={},e=window){return t.readOnly?!1:Li(t,e)?fn(e):!0}function wl(t){let e=pl.find(n=>t.hasAttribute(n));if(!e)return null;let i=new Set((t.getAttribute(e)||"").trim().split(/\s+/).filter(Boolean)),r={inline:!0,singleLine:i.has("single-line"),toolbarOnSelect:i.has("toolbar-on-select")};return i.has("no-toolbar")&&(r.toolbar=!1),i.has("link-label")&&(r.singleLine=!0,r.linkLabel=!0,r.toolbar=["link","undo","redo"]),r}function mn(t=window){if(Ni.has(t))return;let e=bl(t)||yl(t);if(typeof e!="function"){El(t);return}e(i=>gn(i)),Ni.add(t)}function El(t){if(hn.has(t))return;let e=t.document,i=un(t);if(!e&&!i)return;hn.add(t);let r=()=>{mn(t),Ni.has(t)&&n()},n=()=>{e&&dn.forEach(o=>e.removeEventListener(o,r))};e&&dn.forEach(o=>e.addEventListener(o,r)),i&&i.then(r,()=>{})}function gn(t){t.querySelectorAll?.(fl).forEach(e=>e.remove()),t.querySelectorAll?.(mt).forEach(e=>{if(e.getAttribute("data-richclay-active")==="true"){if(Oi(e,"save"),Tl(e)){let i=e.ownerDocument,r=!!e.matches?.(Ai);Ei(e,()=>r?i.createTextNode(" "):i.createElement("br")),e.querySelectorAll(e.localName).forEach(n=>{for(;n.firstChild;)n.parentNode.insertBefore(n.firstChild,n);n.remove()})}e.matches?.(Ai)&&Al(e),e.querySelectorAll("#squire-selection-start, #squire-selection-end").forEach(i=>{i.remove()}),e.querySelectorAll(".squire-image-resize-container").forEach(i=>i.remove()),_l(e),(e.matches?.("pre")?[e,...e.querySelectorAll("pre")]:Array.from(e.querySelectorAll("pre"))).filter(i=>i.hasAttribute("data-richclay-pre")).forEach(i=>{Object.entries(vl).forEach(([r,n])=>{i.style[r]||(i.style[r]=n)}),i.removeAttribute("data-richclay-pre")})}}),t.querySelectorAll?.("#squire-selection-start, #squire-selection-end").forEach(e=>e.remove())}var Cl="p, td, th, li, dl, dt, dd, table, blockquote, div, section, article, aside, main, header, footer, figure, figcaption",Di="data-richclay-measure";function Sl(t){let e=t.ownerDocument,i=t.closest(Cl)||t;t.setAttribute(Di,"");let r=e.createElement("div");try{r.innerHTML=i.outerHTML}finally{t.removeAttribute(Di)}let n=r.querySelector(`[${Di}]`);return!n||n.textContent!==t.textContent}var kl=t=>!!t.querySelector(t.localName),Tl=t=>!!t.matches?.(Ai)||(rn(t)||kl(t))&&Sl(t);function Oi(t,e){let i=t.getAttribute("data-richclay-runtime-contenteditable");t.hasAttribute("contenteditable")&&(i==="true"?t.removeAttribute("contenteditable"):i?e==="destroy"?t.setAttribute("contenteditable",i):(t.setAttribute("inert-contenteditable",i),t.removeAttribute("contenteditable")):e==="save"&&(t.setAttribute("inert-contenteditable",t.getAttribute("contenteditable")),t.removeAttribute("contenteditable"))),ml.forEach(r=>t.classList.remove(r)),t.getAttribute("class")===""&&t.removeAttribute("class"),Ri(t,"role","data-richclay-runtime-role"),Ri(t,"aria-multiline","data-richclay-runtime-aria-multiline"),Ri(t,"no-undo","data-richclay-runtime-no-undo"),t.getAttribute("data-richclay-runtime-display")==="true"&&(t.style.removeProperty("display"),t.getAttribute("style")===""&&t.removeAttribute("style")),Dl(t),t.removeAttribute("data-richclay-active"),t.removeAttribute("data-richclay-placeholder"),t.removeAttribute("data-richclay-pre"),t.removeAttribute("data-richclay-runtime-role"),t.removeAttribute("data-richclay-runtime-aria-multiline"),t.removeAttribute("data-richclay-runtime-no-undo"),t.removeAttribute("data-richclay-runtime-describedby"),t.removeAttribute("data-richclay-runtime-contenteditable"),t.removeAttribute("data-richclay-runtime-display"),t.getAttribute("data-richclay-runtime-marker")==="true"&&t.removeAttribute("data-richclay"),t.removeAttribute("data-richclay-runtime-marker")}function _l(t){let e=[t];for(;e.length;)e.pop().childNodes.forEach(i=>{i.nodeType===3?i.nodeValue.includes("\u200B")&&(i.nodeValue=i.nodeValue.split("\u200B").join("")):i.nodeType===1&&e.push(i)});t.querySelectorAll("b, i, u, s, em, strong, code, sub, sup, span").forEach(i=>{i.children.length===0&&(i.textContent||"")===""&&i.attributes.length===0&&i.remove()})}function Al(t){let e=Array.from(t.childNodes).filter(r=>r.nodeType!==3||(r.nodeValue||"").trim()!=="");if(e.length!==1)return;let i=e[0];if(!(i.nodeType!==1||i.nodeName!=="P"||i.attributes.length>0)){for(;i.firstChild;)t.insertBefore(i.firstChild,i);i.remove()}}function yn(t){if(!t.hasAttribute("inert-contenteditable"))return null;let e=t.getAttribute("inert-contenteditable");return["false","plaintext-only"].includes(e)||(e="true"),t.setAttribute("contenteditable",e),t.removeAttribute("inert-contenteditable"),e==="true"&&t.setAttribute("data-richclay-runtime-contenteditable","true"),e}function zt(t){return t.setAttribute("snapshot-remove",""),t.setAttribute("no-watch",""),t}function bn(t){try{let e=new URLSearchParams(t.location?.search||"");if(e.get("editmode")==="true")return!0;if(e.get("editmode")==="false")return!1}catch{return null}return null}function Nl(t){return bn(t)!==null||typeof t.__hyperclayEditMode=="boolean"}function Ll(t){let e=(t.document?.cookie||"").match(/(?:^|;\s*)isAdminOfCurrentResource=([^;]*)/);return!!(e&&e[1]!=="")}function Ri(t,e,i){t.hasAttribute(i)&&t.removeAttribute(e)}function Dl(t){let e=t.getAttribute("data-richclay-runtime-describedby");if(!e)return;let i=(t.getAttribute("aria-describedby")||"").split(/\s+/).filter(Boolean).filter(r=>r!==e);i.length?t.setAttribute("aria-describedby",i.join(" ")):t.removeAttribute("aria-describedby")}var Ol=0;function Rl(t=document){let e=t.createElement("div");return e.id=`richclay-live-${++Ol}`,e.className="richclay-sr-only",e.setAttribute("aria-live","polite"),e.setAttribute("aria-atomic","true"),e.setAttribute("data-richclay-live",""),zt(e),t.body.appendChild(e),e}function ve(t,e){!t||!e||(t.textContent="",t.ownerDocument.defaultView.setTimeout(()=>{t.textContent=e},20))}function Mi(t){t.preventDefault()}function vn(t){try{return t?.cloneRange?.()||null}catch{return null}}function xe(t){try{return vn(t?.getSelection?.())}catch{return null}}function Ii(t,e){if(!t||!e)return!1;try{return t.setSelection(e),!0}catch{return!1}}function Bi(t,e,i,r){t.hasAttribute(e)||t.setAttribute(r,"true"),t.setAttribute(e,i)}function Ml(t,e){let i=new Set((t.getAttribute("aria-describedby")||"").split(/\s+/).filter(Boolean));i.add(e.id),t.setAttribute("aria-describedby",Array.from(i).join(" ")),t.setAttribute("data-richclay-runtime-describedby",e.id)}var Il=0,xn=class{constructor(t,e,i={}){this.editor=t,this.controls=e,this.options=i,this.id=++Il,this.items=[],this.menus=new Map,this.activeIndex=0,this.root=this.createRoot(),this.onRootKeydown=r=>this.handleRootKeydown(r),this.onRootClick=r=>this.handleRootClick(r),this.onRootPointerDown=r=>this.handleRootPointerDown(r),this.onDocumentPointerDown=r=>this.handleDocumentPointerDown(r),this.render(),this.root.addEventListener("keydown",this.onRootKeydown),this.root.addEventListener("click",this.onRootClick),this.root.addEventListener("mousedown",this.onRootPointerDown),this.root.ownerDocument.addEventListener("mousedown",this.onDocumentPointerDown)}destroy(){this.closeMenus(),this.root.removeEventListener("keydown",this.onRootKeydown),this.root.removeEventListener("click",this.onRootClick),this.root.removeEventListener("mousedown",this.onRootPointerDown),this.root.ownerDocument.removeEventListener("mousedown",this.onDocumentPointerDown),this.root.remove()}update(){this.items.forEach(t=>{let{def:e,button:i}=t;if(typeof e.isActive=="function"){let r=!!e.isActive(this.editor);i.setAttribute("aria-pressed",r?"true":"false"),i.classList.toggle("is-active",r)}typeof e.isDisabled=="function"&&(i.disabled=!!e.isDisabled(this.editor))}),this.ensureSingleTabStop()}focusFirst(){this.activeIndex=0,this.ensureSingleTabStop(),this.items[0]?.button.focus()}createRoot(){let t=this.editor.element.ownerDocument,e=t.createElement("div");e.className="richclay-toolbar",e.setAttribute("role","toolbar"),e.setAttribute("aria-label",this.options.ariaLabel||"Rich text formatting"),e.setAttribute("data-richclay-toolbar",""),zt(e);let i=Bl(this.options.toolbarContainer,t);return i?i.appendChild(e):this.editor.element.insertAdjacentElement("beforebegin",e),e}render(){this.root.textContent="",this.items=[],this.menus.clear();let t=null;this.visibleControls().forEach((e,i)=>{if(e.type==="separator"){this.root.appendChild(En(this.root.ownerDocument)),t=null;return}t&&e.group&&e.group!==t&&this.root.appendChild(En(this.root.ownerDocument)),t=e.group||t,e.type==="menu"?this.renderMenu(e,i):this.renderButton(e,i)}),this.ensureSingleTabStop(),this.update()}visibleControls(){let t=this.controls.filter(i=>i.type==="separator"||!i.isDisabled?.(this.editor)),e=[];for(t.forEach(i=>{let r=e[e.length-1];i.type==="separator"&&(!r||r.type==="separator")||e.push(i)});e[e.length-1]?.type==="separator";)e.pop();return e}renderButton(t,e){let i=wn(this.root.ownerDocument,t);i.dataset.richclayControl=t.id,i.dataset.richclayIndex=String(e),typeof t.isActive=="function"&&i.setAttribute("aria-pressed","false"),this.root.appendChild(i),this.items.push({def:t,button:i,type:"button"})}renderMenu(t,e){let i=this.root.ownerDocument,r=wn(i,t),n=`richclay-menu-${this.id}-${t.id}`;r.dataset.richclayControl=t.id,r.dataset.richclayIndex=String(e),r.setAttribute("aria-haspopup","menu"),r.setAttribute("aria-expanded","false"),r.setAttribute("aria-controls",n);let o=i.createElement("div");o.id=n,o.className="richclay-menu",o.hidden=!0,o.setAttribute("role","menu"),o.setAttribute("data-richclay-menu",""),zt(o),t.options.forEach((l,c)=>{let h=i.createElement("button");h.type="button",h.className="richclay-menu-item",h.setAttribute("role","menuitemradio"),h.setAttribute("tabindex","-1"),h.dataset.richclayMenuItem=t.id,h.dataset.richclayOptionIndex=String(c),h.innerHTML=l.icon||"",h.appendChild(i.createTextNode(l.label)),h.addEventListener("mousedown",Mi),h.addEventListener("click",u=>{u.preventDefault(),this.chooseMenuItem(t,l,r)}),h.addEventListener("keydown",u=>this.handleMenuKeydown(u,t,r)),o.appendChild(h)});let a=i.createElement("span");a.className="richclay-menu-wrap",a.append(r,o),this.root.appendChild(a),this.items.push({def:t,button:r,type:"menu",menu:o}),this.menus.set(t.id,{def:t,button:r,menu:o})}handleRootPointerDown(t){let e=t.target.closest?.("[data-richclay-control]");!e||!this.root.contains(e)||(Mi(t),this.editor.saveSelection())}handleRootClick(t){let e=t.target.closest?.("[data-richclay-control]");if(!e||!this.root.contains(e))return;t.preventDefault();let i=this.items.find(r=>r.button===e);if(!(!i||e.disabled)){if(this.activeIndex=this.items.indexOf(i),this.ensureSingleTabStop(),i.type==="menu"){this.toggleMenu(i.def.id);return}this.closeMenus(),this.editor.runControl(i.def)}}handleRootKeydown(t){let e=t.key,i={ArrowRight:1,ArrowDown:1,ArrowLeft:-1,ArrowUp:-1};if(e in i){t.preventDefault(),this.moveFocus(i[e]);return}if(e==="Home"){t.preventDefault(),this.setFocusIndex(0);return}if(e==="End"){t.preventDefault(),this.setFocusIndex(this.items.length-1);return}let r=this.items[this.activeIndex];if(r&&((e==="Enter"||e===" ")&&r.type==="menu"&&(t.preventDefault(),this.openMenu(r.def.id,"first")),e==="Escape")){let n=Array.from(this.menus.values()).some(o=>!o.menu.hidden);this.closeMenus(),n?r.button.focus():this.editor.focus()}}handleMenuKeydown(t,e,i){t.stopPropagation();let r=this.menus.get(e.id)?.menu,n=Array.from(r.querySelectorAll(".richclay-menu-item")),o=n.indexOf(t.currentTarget),a=o;if(t.key==="ArrowDown"&&(a=(o+1)%n.length),t.key==="ArrowUp"&&(a=(o-1+n.length)%n.length),t.key==="Home"&&(a=0),t.key==="End"&&(a=n.length-1),a!==o){t.preventDefault(),n[a].focus();return}if(t.key==="Escape"){t.preventDefault(),this.closeMenus(),i.focus();return}if(t.key==="Enter"||t.key===" "){t.preventDefault();let l=e.options[o];this.chooseMenuItem(e,l,i)}}handleDocumentPointerDown(t){this.root.contains(t.target)||this.closeMenus()}chooseMenuItem(t,e,i){this.closeMenus(),this.editor.runControl({...e,id:`${t.id}:${e.value}`,ariaLabel:e.label}),i.focus()}toggleMenu(t){let e=this.menus.get(t);e&&(e.menu.hidden?this.openMenu(t,"first"):this.closeMenus())}openMenu(t,e="first"){this.closeMenus(t);let i=this.menus.get(t);if(!i)return;i.menu.hidden=!1,i.button.setAttribute("aria-expanded","true"),this.updateMenuState(i);let r=Array.from(i.menu.querySelectorAll(".richclay-menu-item")),n=r.find(o=>o.getAttribute("aria-checked")==="true");(e==="active"&&n||r[0])?.focus()}closeMenus(t=null){this.menus.forEach((e,i)=>{i!==t&&(e.menu.hidden=!0,e.button.setAttribute("aria-expanded","false"))})}updateMenuState(t){Array.from(t.menu.querySelectorAll(".richclay-menu-item")).forEach((e,i)=>{let r=!!t.def.options[i].isActive?.(this.editor);e.setAttribute("aria-checked",r?"true":"false"),e.classList.toggle("is-active",r)})}moveFocus(t){if(!this.items.length)return;let e=this.activeIndex;do e=(e+t+this.items.length)%this.items.length;while(this.items[e].button.disabled&&e!==this.activeIndex);this.setFocusIndex(e)}setFocusIndex(t){this.activeIndex=Math.max(0,Math.min(t,this.items.length-1)),this.ensureSingleTabStop(),this.items[this.activeIndex]?.button.focus()}ensureSingleTabStop(){let t=this.items.filter(e=>!e.button.disabled);t.length&&(t.includes(this.items[this.activeIndex])||(this.activeIndex=this.items.indexOf(t[0])),this.items.forEach((e,i)=>{e.button.tabIndex=i===this.activeIndex?0:-1}))}};function wn(t,e){let i=t.createElement("button");i.type="button",i.className="richclay-button";let r=Za(e.shortcut,t.defaultView),n=r?`${e.ariaLabel||e.label} (${r})`:e.ariaLabel||e.label;return i.setAttribute("aria-label",n),i.title=n,i.innerHTML=`${e.icon||""}<span class="richclay-sr-only">${e.label}</span>`,i}function En(t){let e=t.createElement("span");return e.className="richclay-separator",e.setAttribute("role","separator"),e.setAttribute("aria-orientation","vertical"),e}function Bl(t,e){return t?typeof t=="string"?e.querySelector(t):t:null}var Cn=16,Fl=[16,8,0],$=8,Pl=4;function Hl({anchor:t,bar:e,rail:i,viewport:r,current:n=null}){let o=f=>n===f?Pl:0;if(t.bottom<=0||t.top>=r.height||t.right<=0||t.left>=r.width)return{mode:"hidden",x:0,y:0};let a=f=>Math.max($,Math.min(t.left,r.width-f-$)),l=t.top-Cn-e.height;if(l>=$-o("above"))return{mode:"above",x:a(e.width),y:l};let c=t.bottom+Cn;if(c+e.height<=r.height-$+o("below"))return{mode:"below",x:a(e.width),y:c};let h=r.width-t.right-$,u=t.left-$,d=h>=u?[["rail-right",h],["rail-left",u]]:[["rail-left",u],["rail-right",h]];for(let[f,y]of d)for(let g of Fl){if(i.width+g>y+o(f))continue;let w=f==="rail-right"?Math.min(t.right+g,r.width-i.width-$):Math.max(t.left-g-i.width,$),E=Math.min(t.bottom,r.height-$)-i.height,D=Math.max($,Math.min(Math.max(t.top,$),E));return{mode:f,x:w,y:D,gap:g}}return{mode:"pinned",x:a(e.width),y:$}}var Ul=10,ql=28;function Sn({anchor:t,box:e,viewport:i,gap:r=Ul}){let n=i.height-$-t.bottom-r,o=t.top-r-$,a=n>=e.height||n>=o?"below":"above",l=a==="below"?t.bottom+r:t.top-r-e.height,c=Math.max($,Math.min(l,i.height-$-e.height)),h=(t.left+t.right)/2,u=Math.max($,Math.min(h-ql,i.width-$-e.width)),d=Math.max(14,Math.min(h-u,e.width-14));return{side:a,x:u,y:c,arrow:d}}function rt(t,e,i){t.style.setProperty(e,i,"important")}var zl=class{constructor(t,e){this.editor=t,this.mode=null,this.hidden=!1,this.frame=0,this.bar={width:0,height:0},this.rail={width:0,height:0};let i=t.element.ownerDocument;this.doc=i,this.win=i.defaultView||globalThis,this.root=i.createElement("div"),this.root.className="richclay-float",this.root.setAttribute("data-richclay-float",""),this.root.setAttribute("save-remove",""),zt(this.root),i.body.appendChild(this.root),this.toolbar=new xn(t,e,{toolbarContainer:this.root}),this.onScroll=()=>this.schedule(),this.onResize=()=>{this.measure(),this.schedule()},i.addEventListener("scroll",this.onScroll,{capture:!0,passive:!0}),this.win.addEventListener("resize",this.onResize,{passive:!0}),this.win.visualViewport?.addEventListener("resize",this.onResize,{passive:!0}),this.win.visualViewport?.addEventListener("scroll",this.onScroll,{passive:!0}),this.resizeObserver=typeof this.win.ResizeObserver=="function"?new this.win.ResizeObserver(()=>this.schedule()):null,this.resizeObserver?.observe(t.element),this.measure(),this.reposition()}measure(){let t=this.root.classList.contains("richclay-float-rail");rt(this.root,"visibility","hidden"),this.root.classList.remove("richclay-float-rail"),this.bar={width:this.root.offsetWidth||0,height:this.root.offsetHeight||0},this.root.classList.add("richclay-float-rail"),this.rail={width:this.root.offsetWidth||0,height:this.root.offsetHeight||0},this.root.classList.toggle("richclay-float-rail",t),this.root.style.removeProperty("visibility")}schedule(){if(!this.win.requestAnimationFrame){this.reposition();return}this.frame||(this.frame=this.win.requestAnimationFrame(()=>{this.frame=0,this.reposition()}))}setVisible(t){this.hidden=!t,this.reposition()}reposition(){if(this.hidden){rt(this.root,"display","none");return}let t=this.editor.element.getBoundingClientRect(),e={width:this.win.visualViewport?.width??this.win.innerWidth,height:this.win.visualViewport?.height??this.win.innerHeight},i=Hl({anchor:t,bar:this.bar,rail:this.rail,viewport:e,current:this.mode});if(this.mode=i.mode,i.mode==="hidden"){rt(this.root,"display","none");return}this.root.style.removeProperty("display"),this.root.classList.toggle("richclay-float-rail",i.mode==="rail-left"||i.mode==="rail-right"),this.root.classList.toggle("richclay-float-pinned",i.mode==="pinned"),rt(this.root,"transform",`translate(${Math.round(i.x)}px, ${Math.round(i.y)}px)`)}destroy(){this.frame&&this.win.cancelAnimationFrame?.(this.frame),this.frame=0,this.doc.removeEventListener("scroll",this.onScroll,{capture:!0}),this.win.removeEventListener("resize",this.onResize),this.win.visualViewport?.removeEventListener("resize",this.onResize),this.win.visualViewport?.removeEventListener("scroll",this.onScroll),this.resizeObserver?.disconnect(),this.toolbar.destroy(),this.root.remove()}},Wl={ALLOWED_TAGS:["a","b","blockquote","br","code","div","em","h1","h2","h3","h4","h5","h6","i","li","ol","p","pre","s","span","strong","sub","sup","u","ul"],ALLOWED_ATTR:["aria-label","href","rel","target","title"],ALLOW_DATA_ATTR:!1,ALLOW_ARIA_ATTR:!0,ALLOWED_URI_REGEXP:/^(?:(?:(?:f|ht)tps?|mailto|tel):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i,FORBID_TAGS:["script","style","iframe","object","embed","form","input"],FORBID_ATTR:["style","srcset","onerror","onclick","onload"]};function Kl(t={},e=document){let i=Ue(e);return{sanitizeHTML(r){return kn(r,t,e,i)},sanitizeElement(r){return Tn(r,t,i)},sanitizeToDOMFragment(r,n){let o=n?.getRoot?.().ownerDocument||e;return $l(r,t,o,i)}}}function kn(t,e={},i=document,r=Ue(i)){let n=i.createElement("template");return n.innerHTML=r.sanitize(String(t||""),Fi(e)),Pi(n.content),n.innerHTML}function Tn(t,e={},i=Ue(t.ownerDocument)){let r=t.ownerDocument.createElement("div");for(;t.firstChild;)r.appendChild(t.firstChild);for(i.sanitize(r,{...Fi(e),IN_PLACE:!0}),Pi(r);r.firstChild;)t.appendChild(r.firstChild);return t}function $l(t,e={},i=document,r=Ue(i)){let n=r.sanitize(String(t||""),{...Fi(e),RETURN_DOM_FRAGMENT:!0}),o=n?.ownerDocument===i?n:i.importNode(n,!0);return Pi(o),o||i.createDocumentFragment()}function Fi(t){return{...Wl,...t}}var jl=new Set(["http","https","mailto","tel"]),Vl=new RegExp("[\\u0000-\\u0020\\u007F-\\u009F]","g");function _n(t){let e=(String(t??"").replace(Vl,"").match(/^([a-z][a-z0-9+.\-]*):/i)||[])[1];return!e||jl.has(e.toLowerCase())}var Gl=/^[^\s/?#:]+\.(?:html?|pdf|txt|csv|json|xml|svg|png|jpe?g|gif|webp|docx?|xlsx?|pptx?|bib|tex|zip)(?:[?#]\S*)?$/i,Zl=/^[^\s/?#:.]+\/\S*$/;function Yl(t){let e=String(t??"").trim();return!e||!_n(e)?"":/^(?:https?:|mailto:|tel:)/i.test(e)?e:/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e)?`mailto:${e}`:/^(?:[#?]|\/|\.{1,2}\/)/.test(e)||Gl.test(e)||Zl.test(e)?e:`https://${e}`}function Ue(t){let e=globalThis.DOMPurify;if(e?.sanitize)return e;if(typeof e=="function")return e(t.defaultView||globalThis);throw new Error("RichClay requires DOMPurify. Load vendor/purify.min.js before richclay.js or provide globalThis.DOMPurify.")}function Pi(t){t.querySelectorAll?.("a[href]").forEach(e=>{let i=e.getAttribute("href")||"";if(/^\s*javascript:/i.test(i)&&e.removeAttribute("href"),e.getAttribute("target")==="_blank"){let r=new Set((e.getAttribute("rel")||"").split(/\s+/).filter(Boolean));r.add("noopener"),r.add("noreferrer"),e.setAttribute("rel",Array.from(r).join(" "))}})}var An={ADD_TAGS:["img"],ADD_ATTR:["class","id","src","alt","width","height"]};function Ql(t={}){return{...t,ADD_TAGS:[...new Set([...An.ADD_TAGS,...t.ADD_TAGS||[]])],ADD_ATTR:[...new Set([...An.ADD_ATTR,...t.ADD_ATTR||[]])],ALLOW_DATA_ATTR:t.ALLOW_DATA_ATTR??!0}}var Nn="p, div, h1, h2, h3, h4, h5, h6, blockquote, pre, ul, ol, li, figure, figcaption, table, thead, tbody, tr, td, th";function Xl(t){let e=t.ownerDocument||document;t.querySelectorAll?.("br").forEach(r=>r.replaceWith(e.createTextNode(" ")));let i=t.querySelector?.(Nn);for(;i;){let r=i.parentNode;for(r.insertBefore(e.createTextNode(" "),i);i.firstChild;)r.insertBefore(i.firstChild,i);r.insertBefore(e.createTextNode(" "),i),i.remove(),i=t.querySelector(Nn)}return Jl(t,e),t}function Jl(t,e){t.normalize?.();let i=e.createTreeWalker(t,4),r=[];for(;i.nextNode();)r.push(i.currentNode);r.forEach(a=>{a.nodeValue=a.nodeValue.replace(/\s+/g," ")});let n=t.firstChild;n?.nodeType===3&&(n.nodeValue=n.nodeValue.replace(/^\s+/,""));let o=t.lastChild;o?.nodeType===3&&(o.nodeValue=o.nodeValue.replace(/\s+$/,""))}var ts=300,es=t=>t.replace(/^mailto:/i,"").replace(/^https?:\/\//i,""),is=class{constructor(t){this.editor=t,this.root=null,this.anchor=null,this.href=null,this.dismissed=null,this.hideTimer=null,this.pointerInside=!1,this.cleanup=null}currentAnchor(){let t=this.editor;if(!t.active||t.options.readOnly||t.dialog)return null;let e=t.element.ownerDocument;if(e.hidden)return null;let i=e.getSelection?.();return!i||!i.rangeCount||!t.element.contains(i.anchorNode)?null:t.currentLinkElement()}update(){let t=this.currentAnchor();if(!(t&&t===this.dismissed)){if(this.dismissed=null,!t){this.scheduleHide();return}this.cancelHide(),this.show(t)}}show(t){this.root||this.mount();let e=t.getAttribute("href")||"";if(t!==this.anchor||e!==this.href){this.anchor=t,this.href=e;let i=this.root.querySelector(".richclay-link-address");i.textContent=es(e)||e,i.title=e,e&&_n(e)?i.setAttribute("href",e):i.removeAttribute("href"),/^(?:mailto|tel):/i.test(e)?i.removeAttribute("target"):i.setAttribute("target","_blank")}this.position()}mount(){let t=this.editor,e=t.element.ownerDocument,i=e.defaultView||globalThis,r=e.createElement("div");r.className="richclay-dialog richclay-link-popover",r.setAttribute("role","group"),r.setAttribute("aria-label","Link"),r.setAttribute("data-richclay-link-popover",""),zt(r),r.setAttribute("save-remove",""),r.innerHTML=`
99
+ <a class="richclay-link-address" rel="noopener noreferrer"></a>
100
+ <button type="button" class="richclay-secondary" data-richclay-link-edit>Edit</button>
101
+ <button type="button" class="richclay-secondary" data-richclay-link-remove>Remove</button>
102
+ `,t.options.linkLabel&&r.querySelector("[data-richclay-link-remove]").remove(),r.addEventListener("pointerdown",Mi),r.addEventListener("pointerenter",()=>{this.pointerInside=!0,this.cancelHide()}),r.addEventListener("pointerleave",()=>{this.pointerInside=!1,this.update()}),r.querySelector("[data-richclay-link-edit]").addEventListener("click",()=>{let c=this.anchor;if(!c||!t.element.contains(c))return this.hide();t.selectElement(c),t.openLinkDialog()}),r.querySelector("[data-richclay-link-remove]")?.addEventListener("click",()=>{let c=this.anchor;this.hide(),t.removeLinkElement(c),t.focus()});let n=t.element.closest("dialog")||e.body,o=typeof r.showPopover=="function";o&&r.setAttribute("popover","manual"),rt(r,"position","fixed"),rt(r,"inset","0px auto auto 0px"),rt(r,"margin","0"),rt(r,"overflow","visible"),n.appendChild(r),o&&r.showPopover(),this.root=r;let a=()=>this.position(),l=c=>{c.key!=="Escape"||!this.root||(this.dismissed=this.anchor,this.hide())};e.addEventListener("scroll",a,{capture:!0,passive:!0}),i.addEventListener("resize",a,{passive:!0}),t.element.addEventListener("keydown",l),this.cleanup=()=>{e.removeEventListener("scroll",a,{capture:!0}),i.removeEventListener("resize",a),t.element.removeEventListener("keydown",l)}}position(){let t=this.root;if(!t||!this.anchor)return;let e=t.ownerDocument.defaultView||globalThis,i=Sn({anchor:this.anchor.getBoundingClientRect(),box:{width:t.offsetWidth||0,height:t.offsetHeight||0},viewport:{width:e.visualViewport?.width??e.innerWidth,height:e.visualViewport?.height??e.innerHeight}});t.setAttribute("data-richclay-side",i.side),t.style.setProperty("--richclay-dialog-arrow",`${Math.round(i.arrow)}px`),rt(t,"transform",`translate(${Math.round(i.x)}px, ${Math.round(i.y)}px)`)}scheduleHide(){if(!this.root||this.hideTimer!==null)return;let t=this.root.ownerDocument.defaultView||globalThis;this.hideTimer=t.setTimeout(()=>{this.hideTimer=null,this.pointerInside||this.hide()},ts)}cancelHide(){this.hideTimer!==null&&((this.editor.element.ownerDocument.defaultView||globalThis).clearTimeout(this.hideTimer),this.hideTimer=null)}onEditorBlur(t){let e=t?.relatedTarget;e&&this.editor.ownsFocusTarget(e)||this.hide()}hide(){this.cancelHide(),this.cleanup?.(),this.cleanup=null,this.root?.remove(),this.root=null,this.anchor=null,this.href=null,this.pointerInside=!1}destroy(){this.hide(),this.dismissed=null}},Ln="richclay-styles",Hi=new WeakSet,Ui="";function rs(t){Ui=t||""}function ns(t=document){if(!t||Hi.has(t))return;if(t.getElementById(Ln)){Hi.add(t);return}if(!Ui)return;let e=t.createElement("style");e.id=Ln,e.setAttribute("save-remove",""),e.setAttribute("save-ignore",""),e.textContent=Ui,(t.head||t.documentElement).appendChild(e),Hi.add(t)}var qi=Object.freeze({data:Object.freeze({tokens:["no-data"],bundles:["editor-ui"]}),save:Object.freeze({tokens:["no-save"],bundles:["editor-ui"]}),snapshot:Object.freeze({tokens:["no-snapshot"],bundles:["editor-ui"]}),watch:Object.freeze({tokens:["no-watch"],bundles:["editor-ui"]}),undo:Object.freeze({tokens:["no-undo"],bundles:["editor-ui"]}),history:Object.freeze({tokens:[],bundles:["editor-ui"]})}),os=Object.freeze({"editor-ui":Object.freeze(["no-data","no-save","no-snapshot","no-watch","no-undo"])}),lc=Object.freeze(["no-save","no-snapshot","no-trigger-autosave","no-dirty","no-watch","no-undo","no-data","freeze","editor-ui","live"]);function qe(t,e){if(!t||t.nodeType!==1)return!1;let i=t.getAttribute?.("clay");return!!(i&&i.split(/\s+/).includes(e)||t.hasAttribute?.(e))}function Dn(t,e){if(qe(t,e))return!0;for(let[i,r]of Object.entries(os))if(r.includes(e)&&qe(t,i))return!0;return!1}function zi(t){let e=qi[t];if(!e)throw new Error(`Unknown region capability: ${t}`);return[...e.tokens,...e.bundles].flatMap(i=>[`[clay~="${i}"]`,`[${i}]`]).join(", ")}function Wi(t,e){let i=t&&t.nodeType===1?t:t?.parentElement;for(;i&&i.nodeType===1;){let r=qi[e];if(!r)throw new Error(`Unknown region capability: ${e}`);if(r.tokens.some(n=>Dn(i,n))||r.bundles.some(n=>qe(i,n)))return i;i=i.parentElement}return null}function as(t,e){return!!Wi(t,e)}var ls=/:(?:focus(?:-within|-visible)?|hover|active|visited|defined)\b/i;function ss(t,e){if(!/^(INPUT|TEXTAREA|SELECT|OPTION)$/.test(t.tagName||""))return;let i=(t.getAttribute?.("type")||"").toLowerCase();"value"in t&&"value"in e&&t.tagName!=="OPTION"&&i!=="checkbox"&&i!=="radio"&&i!=="file"&&(e.value=t.value),t.tagName==="INPUT"&&(i==="checkbox"||i==="radio")&&(e.checked=t.checked),t.tagName==="OPTION"&&(e.selected=t.selected),"indeterminate"in t&&"indeterminate"in e&&(e.indeterminate=t.indeterminate)}function On(t,e,i,r){if(r)return!!t.closest?.(e);let n=t;for(;n?.nodeType===1;){if(n.matches(e))return!0;if(n===i)break;n=n.parentElement}return!1}function Rn(t,e,i,r,n,o){return(o?as(t,e):On(t,i,n,!1))||!!(r&&(o&&t!==n?t.matches(r):On(t,r,n,o)))}function cs(t,e){let i=qi[e];return i.tokens.some(r=>Dn(t,r))||i.bundles.some(r=>qe(t,r))}var hs=new Set(["INPUT","TEXTAREA","SELECT","OPTION"]);function Mn(t,e,i,r){if(t.nodeType===1&&r(t)){i.dropped.push(e);return}i.cloneToLive.set(e,t),i.liveToClone.set(t,e);let n=t,o=e;if(t.nodeType===1){if(hs.has(t.tagName)&&i.controls.push(t,e),t.tagName==="TEMPLATE"){for(;e.firstChild;)e.removeChild(e.firstChild);n=t.content,o=e.content,i.cloneToLive.set(o,n),i.liveToClone.set(n,o)}}else if(t.nodeType!==11)return;let a=o.firstChild;for(let l=n.firstChild;l&&a;l=l.nextSibling)Mn(l,a,i,r),a=a.nextSibling}function In(t,{capability:e="data",exclude:i=null,inherit:r=!0,provenance:n=null}={}){if(!t)throw new TypeError("createContentView requires a DOM context");let o=t.nodeType===9?t:t.ownerDocument;if(!o?.implementation?.createHTMLDocument)throw new TypeError("createContentView requires an HTML DOM implementation");let a=o.implementation.createHTMLDocument(""),l=n||new WeakMap,c=new WeakMap,h=t.nodeType===9?t.documentElement:t;i&&a.documentElement.matches(i);let u=zi(e),d=r?g=>cs(g,e)||!!(i&&g.matches(i)):g=>Rn(g,e,u,i,h,!1),f=null;if(h.nodeType!==1||!Rn(h,e,u,i,h,r)){f=a.importNode(h,!0);let g={cloneToLive:l,liveToClone:c,dropped:[],controls:[]};Mn(h,f,g,d);for(let w of g.dropped)w.remove();for(let w=0;w<g.controls.length;w+=2)ss(g.controls[w],g.controls[w+1])}t.nodeType===9&&f&&(a.replaceChild(f,a.documentElement),c.set(t,a),l.set(a,t));let y=g=>{if(ls.test(g))throw new Error(`Filtered content queries do not support stateful selector: ${g}`)};return{root:f,document:a,capability:e,selector:zi(e),cloneToLive:l,liveToClone:c,original(g){return l.get(g)||null},cloneOf(g){return c.get(g)||null},query(g,w=f){return y(g),Array.from(w.querySelectorAll(g),E=>l.get(E)||E)},text(g=f){return(g===f?f:c.get(g))?.textContent||""},html(g=f){return(g===f?f:c.get(g))?.innerHTML??""},clone(g=f){let w=g===f?f:c.get(g);return w?a.importNode(w,!0):null}}}var ds=zi("history");function Bn(t,e){let i=e.createElement("template");i.innerHTML=String(t||"");for(let r of i.content.querySelectorAll(ds))r.remove();return i.innerHTML}function Fn(t,e){return Bn(t,e)}function us(t,e){let i=e.createElement("template");i.innerHTML=Fn(t,e);let r=new Set(["ADDRESS","ARTICLE","ASIDE","BLOCKQUOTE","DIV","DL","FIELDSET","FIGCAPTION","FIGURE","FOOTER","FORM","H1","H2","H3","H4","H5","H6","HEADER","HR","LI","MAIN","NAV","OL","P","PRE","SECTION","TABLE","UL"]),n="",o=a=>{if(a.nodeType===3)n+=a.data;else if(a.nodeType===1&&a.tagName==="BR")n+=`
103
+ `;else{let l=a.nodeType===1&&r.has(a.tagName);l&&n&&!n.endsWith(`
104
+ `)&&(n+=`
105
+ `);for(let c of a.childNodes||[])o(c);l&&n&&!n.endsWith(`
106
+ `)&&(n+=`
107
+ `)}};return o(i.content),n.replace(/\n{3,}/g,`
108
+
109
+ `).replace(/^\n|\n$/g,"")}function ps(t,e,i=null){let r=In(t,{capability:"history",inherit:!1}),n=r.root,o=(l,c)=>{for(;l&&!r.cloneOf(l);){let d=l.parentNode;if(!d)return{container:n,offset:0};c=Array.from(d.childNodes).indexOf(l),l=d}let h=r.cloneOf(l)||n;if(l?.nodeType===3)return{container:h,offset:Math.min(c,h.length)};let u=Array.from(l?.childNodes||[]).slice(0,c).filter(d=>r.cloneOf(d)).length;return{container:h,offset:Math.min(u,h.childNodes.length)}},a=(l,c,h)=>{let u=o(c,h),d=n.ownerDocument.createElement("input");d.id=l,d.type="hidden";let f=n.ownerDocument.createRange();f.setStart(u.container,u.offset),f.collapse(!0),f.insertNode(d)};if(i)a(e.endSelectionId,i.endContainer,i.endOffset),a(e.startSelectionId,i.startContainer,i.startOffset);else for(let l of[e.startSelectionId,e.endSelectionId]){if(n.querySelector(`#${l}`))continue;let c=t.querySelector(`#${l}`);c&&a(l,c.parentNode,Array.from(c.parentNode.childNodes).indexOf(c))}return n.innerHTML}var Ct=new WeakMap,Pn=new WeakMap,ze=new WeakMap,Ki=Ga(),Hn=Symbol("richclay-keep-focus"),Un=["cut","paste","drop"],fs=["Alt","Ctrl","Meta","Shift"],qn=0;function ms(t){return typeof t.clay?.mode=="string"}var gs={toolbar:"standard",toolbarContainer:null,sanitize:{},placeholder:"",readOnly:!1,hyperclay:"auto",onChange:null,Squire:null,inline:!1,singleLine:!1,toolbarOnSelect:!1,linkPopover:!0,linkLabel:!1},zn=["link","undo","redo"],$i=class Gt{static presets=Ie;static selector=mt;constructor(e,i={}){if(!e)throw new Error("RichClay requires an element.");let r=Ct.get(e);if(r)return r;this.element=e,this.unsupported=ji(e)||vs(e);let n={...wl(e),...i};this.options={...gs,...n},this.options.singleLine&&!("toolbar"in n)&&(this.options.toolbar="inline"),this._blockTag=this.options.inline?"DIV":"P",this.registry=new Map(Ki),this.toolbar=null,this.float=null,this._onToolbarKey=null,this._onFloatFocusOut=null,this._onDocPointerDown=null,this.liveRegion=null,this.description=null,this.dialog=null,this.dialogCleanup=null,this.linkPopover=null,this.savedSelection=null,this.path="",this.active=!1,this._squire=null,this._squireListeners=[],this._onBeforeInput=null,this._onRootBeforeInput=null,this._onRootKeydown=null,this._onRootTransfer=null,this._shortcutKeys=[],this._appleDeleteKeys=new Set,this._authoredPres=new WeakSet,this._warnedInlineBlock=!1,this._onFocus=()=>{this.element.classList.add("richclay-focused"),this.options.inline&&this.ensureFloatingToolbar()},this._onBlur=o=>{this.element.classList.remove("richclay-focused"),this.linkPopover?.onEditorBlur(o),this.options.inline&&this.scheduleFloatTeardown(o)},this._onLinkActivation=o=>{if(!this.active||this.options.readOnly)return;let a=o.target?.nodeType===1?o.target:o.target?.parentElement,l=a?.closest("a[href]");if(!l)return;let c=Wi(a,"history");c&&c!==this.element&&this.element.contains(c)&&c.contains(l)||o.preventDefault()},this._onExternalWrite=()=>{this._squire&&(this._squire._mutation?.takeRecords(),this.options.linkLabel&&(this._labelHref=this.element.querySelector("a[href]")?.getAttribute("href")??this._labelHref),this.resetSquireUndoBaseline(),this.updatePlaceholder())},this.ensureMarker(),this.hyperclay=Li(this.options,this.window),this.hyperclay&&mn(this.window),Ct.set(e,this),this.sanitizeConfig=this.options.inline?Ql(this.options.sanitize):this.options.sanitize,this.sanitizer=Kl(this.sanitizeConfig,this.element.ownerDocument),this.options.inline||Tn(this.element,this.sanitizeConfig),xl(this.options,this.window)&&this.activate()}get squire(){return this._squire}get window(){return this.element.ownerDocument.defaultView||window}static init(e=mt,i={}){let r=e===mt?cn:()=>!0;return ys(e).filter(r).filter(n=>!ji(n)).map(n=>new Gt(n,i))}static autoInit(e=typeof window<"u"?window:void 0){if(!e||!e.document)return()=>{};let i=Pn.get(e);if(i)return i;let r=!1,n=null,o=()=>{r||ms(e)||Li({},e)&&fn(e)&&(Gt.init(),n=Gt.watch(e))},a=()=>{r=!0,n?.()};return Pn.set(e,a),e.document.readyState==="loading"?e.document.addEventListener("DOMContentLoaded",o,{once:!0}):o(),a}static watch(e=typeof window<"u"?window:void 0,i={}){if(!e||!e.document)return()=>{};let r=ze.get(e);if(r)return r;let n=h=>{we(h)&&!Ct.has(h)&&!ji(h)&&new Gt(h,i)},o=h=>Ct.get(h)?.destroy(),a=new e.MutationObserver(h=>{h.forEach(u=>{if(u.type==="attributes"){let d=u.target;we(d)?n(d):o(d);return}u.addedNodes.forEach(d=>{d.nodeType===1&&(d.matches?.(mt)&&n(d),d.querySelectorAll?.(mt).forEach(n))}),u.removedNodes.forEach(d=>{if(d.nodeType!==1)return;let f=y=>{y.isConnected||Ct.get(y)?.destroy()};d.matches?.(mt)&&f(d),d.querySelectorAll?.(mt).forEach(f)})})}),l=!1,c=()=>{l||(l=!0,a.disconnect(),ze.get(e)===c&&ze.delete(e))};return a.observe(e.document.documentElement||e.document,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["editable","clay-editable","data-richclay","richclay"]}),ze.set(e,c),c}static registerButton(e){return Vi(e),Ki.set(e.id,e),Gt}static unregisterButton(e){return Ki.delete(e),Gt}static stripFromClone(e){gn(e)}static stripElement(e){if(!e||typeof e.getAttribute!="function")return;let i=Ct.get(e);if(i){i.destroy();return}Oi(e,"destroy")}registerButton(e){return Vi(e),this.registry.set(e.id,e),this.active&&this.renderToolbar(),this}unregisterButton(e){return this.registry.delete(e),this.active&&this.renderToolbar(),this}activate(){if(this.unsupported||this.active)return;this.active=!0,this.applyInlineBox(),ns(this.element.ownerDocument),yn(this.element);let e=this.options.inline?Array.from(this.element.childNodes):null,i=this.options.inline?null:this.element.innerHTML,r=this.options.Squire||this.window.Squire||globalThis.Squire;if(!r)throw new Error("RichClay requires Squire. Load vendor/squire.js before richclay.js.");if(this.setupEditorAttributes(),this.liveRegion=Rl(this.element.ownerDocument),this._squire=new r(this.element,{blockTag:this._blockTag,serializeRoot:ps,willCutCopy:n=>Fn(n,this.element.ownerDocument),toPlainText:n=>us(n,this.element.ownerDocument),replaceRoot:(n,o,a)=>{let l=this.window.clay?.morph||this.window.hyperclay?.morph;if(typeof l!="function"){if(n.querySelector('[editor-ui], [clay~="editor-ui"]'))throw new Error("RichClay requires a retention-aware morph host to replay history containing editor-ui.");n.innerHTML=o;return}l(n,o,{morphStyle:"innerHTML",restoreFocus:!1,scripts:{handle:!1,merge:!1},policy:"history"}),a._ensureBottomLine(),a._mutation?.takeRecords()},onMutations:(n,o)=>{let a=(h,u)=>{let d=Wi(h,u);return!!d&&d!==this.element&&this.element.contains(d)},l=!1,c=!1;for(let h of n){if(a(h.target,"history"))continue;let u=h.type==="childList"?[...h.addedNodes,...h.removedNodes]:[h.target];for(let d of u)a(d,"history")||(a(h.target,"undo")||a(d,"undo")?c=!0:l=!0)}if(l){let h=o._ignoreChange;o._docWasChanged(),c&&h&&o.fireEvent("input"),this.options.linkLabel&&this.keepOneLink()}else c?(o._mayHaveZWS=!0,o.fireEvent("input")):o._ignoreChange=!1},sanitizeToDOMFragment:(n,o)=>{let a=this.sanitizer.sanitizeToDOMFragment(Bn(n,this.element.ownerDocument),o);return this.options.singleLine?Xl(a):a},didError:n=>{console.error("RichClay/Squire error",n)}}),this.options.inline?(this.element.replaceChildren(...e),this.resetSquireUndoBaseline()):this._squire.setHTML(i),this.bindSquire(),this.options.singleLine&&this.installSingleLineGuards(),this.options.inline&&!this.options.singleLine&&this.installRootGuards(),this.installAppleDeleteKeys(),this.blocksStayOut()&&(this._squire._ensureBottomLine=()=>{}),this.maskSquireCodeShortcut(),this.maskSquireBlockShortcuts(),this.installShortcuts(),this.options.linkLabel&&this.maskFormattingShortcuts(),this.options.inline&&(this._onToolbarKey=n=>{n.altKey&&n.key==="F10"&&(n.preventDefault(),this.ensureFloatingToolbar(),this.float?.toolbar.focusFirst())},this.element.addEventListener("keydown",this._onToolbarKey)),this.blocksStayOut()){let n=o=>{let a=o.detail?.fragment;if(!a)return;let l=this.element.ownerDocument;Ei(a,()=>this.options.singleLine?l.createTextNode(" "):l.createElement("br"))};this._squire.addEventListener("willPaste",n),this._squireListeners.push(["willPaste",n])}if(this.options.linkLabel){let n=o=>{let a=o.detail?.fragment;if(!a)return;let l=a.textContent.replace(/\s+/g," ");a.replaceChildren(this.element.ownerDocument.createTextNode(l))};this._squire.addEventListener("willPaste",n),this._squireListeners.push(["willPaste",n]),this._labelHref=this.element.querySelector("a[href]")?.getAttribute("href")??null}this.renderToolbar(),this.updatePlaceholder(),this.warnOnBlockInInlineRegion(),this.element.querySelectorAll("pre").forEach(n=>this._authoredPres.add(n))}reattach(){return this.unsupported||!this.active||this.element.getAttribute("contenteditable")==="true"&&this.element.getAttribute("data-richclay-active")==="true"&&we(this.element)?!1:(this.ensureMarker(),this.applyInlineBox(),yn(this.element),this.setupEditorAttributes(),!0)}applyInlineBox(){ki(this.element)&&!this.element.style.display&&(this.element.style.display="inline-block",this.element.setAttribute("data-richclay-runtime-display","true"))}getHTML(){return this._squire?this._squire.getHTML():this.element.innerHTML}setHTML(e){return this._squire?this._squire.setHTML(String(e||"")):this.element.innerHTML=kn(e,this.sanitizeConfig,this.element.ownerDocument),this.updatePlaceholder(),this.toolbar?.update(),this.options.onChange?.(this.getHTML()),this}focus(){return this._squire?this._squire.focus():this.element.focus(),this}destroy(){this.closeLinkDialog(),this.linkPopover?.destroy(),this.linkPopover=null,this.teardownFloatingToolbar(),this.toolbar?.destroy(),this.toolbar=null,this._onToolbarKey&&(this.element.removeEventListener("keydown",this._onToolbarKey),this._onToolbarKey=null),this.liveRegion?.remove(),this.liveRegion=null,this.description?.remove(),this.description=null,this._shortcutKeys.forEach(i=>this._squire?.setKeyHandler?.(i,null)),this._squireListeners.forEach(([i,r])=>{this._squire?.removeEventListener?.(i,r)}),this._squireListeners=[],this._shortcutKeys=[],this._onBeforeInput&&(this.element.ownerDocument.removeEventListener("beforeinput",this._onBeforeInput,!0),this._onBeforeInput=null);let e=this.element.ownerDocument;this._onRootBeforeInput&&(e.removeEventListener("beforeinput",this._onRootBeforeInput,!0),this._onRootBeforeInput=null),this._onRootKeydown&&(e.removeEventListener("keydown",this._onRootKeydown,!0),this._onRootKeydown=null),this._onRootTransfer&&(Un.forEach(i=>e.removeEventListener(i,this._onRootTransfer,!0)),this._onRootTransfer=null),this._squire?.destroy?.(),this._squire=null,this.cleanupEditorAttributes(),Ct.delete(this.element)}saveSelection(){return this.savedSelection=xe(this._squire)||this.savedSelection,this.savedSelection}restoreSelection(){return Ii(this._squire,this.savedSelection)}installRootGuards(){let e=this.element.ownerDocument,i=r=>this.element.contains(r.target);this._onRootBeforeInput=r=>{!i(r)||r.isComposing||/^history/.test(r.inputType||"")||this.ensureRootIsEditable()},this._onRootKeydown=r=>{!i(r)||r.defaultPrevented||r.isComposing||this.isEditingKey(r)&&this.ensureRootIsEditable()},this._onRootTransfer=r=>{i(r)&&this.ensureRootIsEditable()},e.addEventListener("beforeinput",this._onRootBeforeInput,!0),e.addEventListener("keydown",this._onRootKeydown,!0),Un.forEach(r=>{e.addEventListener(r,this._onRootTransfer,!0)})}ensureRootIsEditable(){if(!this._squire||this.options.singleLine)return;let e=this.options.inline,i=!this.blocksStayOut();if(!ll(this.element,{wrapBareRoot:e,blocksAllowed:i}))return;let r=xe(this._squire),n=r?cl(this.element,r):null,o=()=>{nl(this.element,{blockTag:this._blockTag,wrapBareRoot:e,blocksAllowed:i,onBareRootWrapped:(a,l)=>{console.warn(`richclay: wrapped this region's loose text in a <div> so multi-line editing works. Wrap the content in your own block element to keep the markup you wrote, or use editable="single-line" if it is meant to be one line.`,a,l)}})};typeof this._squire.modifyDocument=="function"?this._squire.modifyDocument(o):o(),n&&(hl(this.element,r,n),Ii(this._squire,r),this.savedSelection=vn(r))}isEditingKey(e){return["Backspace","Delete","Enter"].includes(e.key)?!0:e.key==="Tab"?this.caretIsInList():e.key.length!==1?!1:!e.ctrlKey&&!e.metaKey&&!e.altKey?!0:e.ctrlKey&&!e.metaKey&&!e.altKey&&this._appleDeleteKeys.has(e.key.toLowerCase())}caretIsInList(){let e=this._squire?.getSelection()?.startContainer;if(!e)return!1;let i=e.nodeType===1?e:e.parentElement;return!!(i&&this.element.contains(i)&&i.closest("ul, ol"))}runControl(e){if(!this._squire||typeof e.run!="function"||e.isDisabled?.(this))return;this.restoreSelection(),e.mutates!==!1&&this.ensureRootIsEditable();let i=e.run(this);this.element.querySelectorAll("pre:not([data-richclay-pre])").forEach(r=>{this._authoredPres.has(r)||r.setAttribute("data-richclay-pre","")}),e.mutates!==!1&&(this.ensureRootIsEditable(),this.anchorSelectionInBlock()),this.saveSelection(),this.toolbar?.update(),this.updatePlaceholder(),this.announceControl(e),i!==Hn&&this.focus(),this.warnOnBlockInInlineRegion()}anchorSelectionInBlock(){let e=xe(this._squire);if(!e?.collapsed||e.startContainer!==this.element)return;let i=Array.from(this.element.childNodes),r=e.startOffset>=i.length,n=r?i.filter(be).pop():i.slice(e.startOffset).find(be)||i.slice(0,e.startOffset).filter(be).pop();if(!n)return;let o=He(n,!r);e.setStart(o,r?_i(o):0),e.collapse(!0),Ii(this._squire,e)}selectionHasFormat(e){if(!e||!this._squire?.hasFormat)return!1;try{return this._squire.hasFormat(e)}catch{return!1}}pathHas(e){let i=xe(this._squire);if(!i)return!1;let r=e.toLowerCase(),n=Wn(this.element,i.startContainer,i.startOffset,!0,r);return!!n&&n===Wn(this.element,i.endContainer,i.endOffset,!1,r)}blocksStayOut(){return this.options.singleLine||Si(this.element)||tl(this.element)}warnOnBlockInInlineRegion(){if(this._warnedInlineBlock||!ki(this.element)||!rn(this.element))return;this._warnedInlineBlock=!0;let e=this.element.nodeName.toLowerCase();console.warn(`richclay: a block element inside <${e} editable> is not valid HTML. It stays where it is and saves correctly, but a validator will flag it. Put the editable attribute on a block element if you want blocks here.`,this.element)}toggleFormat(e,i,r){return this.selectionHasFormat(e)?this._squire[r]():this._squire[i]()}toggleList(e){return this.pathHas(e)?this._squire.removeList():e==="UL"?this._squire.makeUnorderedList():this._squire.makeOrderedList()}indent(){return this.pathHas("UL")||this.pathHas("OL")?this._squire.increaseListLevel():this._squire.increaseQuoteLevel()}outdent(){return this.pathHas("UL")||this.pathHas("OL")?this._squire.decreaseListLevel():this._squire.decreaseQuoteLevel()}setBlockType(e){let i=e.toUpperCase();return i==="BLOCKQUOTE"?this._squire.increaseQuoteLevel():this._squire.modifyBlocks(r=>{let n=this.element.ownerDocument,o=n.createDocumentFragment();return Array.from(r.childNodes).forEach(a=>{if(a.nodeType!==1){o.appendChild(a);return}if(a.nodeName===i){o.appendChild(a);return}let l=n.createElement(i);for(;a.firstChild;)l.appendChild(a.firstChild);o.appendChild(l)}),o})}openLinkDialog(){this.saveSelection(),this.closeLinkDialog(),this.linkPopover?.hide();let e=this.element.ownerDocument,i=this.currentLinkElement(),r=i?.getAttribute("href")||"",n=e.createElement("form"),o=`richclay-link-label-${++qn}`;n.className="richclay-dialog",n.setAttribute("role","dialog"),n.setAttribute("aria-modal","true"),n.setAttribute("aria-labelledby",o),n.setAttribute("data-richclay-dialog",""),zt(n),n.setAttribute("save-remove",""),n.innerHTML=`
110
+ <div class="richclay-dialog-title" id="${o}">${i?"Edit link":"Insert link"}</div>
111
+ <label class="richclay-field">
112
+ <span>URL</span>
113
+ <input class="richclay-input" name="url" type="text" inputmode="url" autocomplete="url" placeholder="https://example.com">
114
+ </label>
115
+ <div class="richclay-dialog-actions">
116
+ ${i&&!this.options.linkLabel?'<button type="button" class="richclay-secondary" data-richclay-remove-link>Remove link</button>':""}
117
+ <button type="button" class="richclay-secondary" data-richclay-cancel>Cancel</button>
118
+ <button type="submit" class="richclay-primary">Apply</button>
119
+ </div>
120
+ `;let a=()=>{this.closeLinkDialog(),this.toolbar?.update(),this.focus(),this.updateLinkPopover()},l=()=>{this.restoreSelection(),this.removeLinkElement(this.currentLinkElement()),a()},c=()=>{a(),this.restoreSelection(),this.updateLinkPopover()};n.addEventListener("submit",E=>{E.preventDefault();let D=new FormData(n),H=String(D.get("url")||"").trim();if(!H&&i){l();return}let J=Yl(H);if(!J){ve(this.liveRegion,"Enter a valid URL");return}this.restoreSelection();let q=this.options.linkLabel?null:this.currentLinkElement();if(this.options.linkLabel){let ht=this.element.ownerDocument.createRange();ht.selectNodeContents(this.element),this._squire.setSelection(ht)}q?(this.selectElement(q),this._squire.saveUndoState(),q.setAttribute("href",J)):this._squire.makeLink(J),ve(this.liveRegion,"Link applied"),a()}),n.querySelector("[data-richclay-remove-link]")?.addEventListener("click",l),n.querySelector("[data-richclay-cancel]").addEventListener("click",c),n.addEventListener("keydown",E=>{E.key==="Escape"?(E.preventDefault(),c()):E.key==="Tab"&&ws(E,n)});let h=this.element.closest("dialog")||e.body,u=typeof n.showPopover=="function";u&&n.setAttribute("popover","manual"),rt(n,"position","fixed"),rt(n,"inset","0px auto auto 0px"),rt(n,"margin","0"),rt(n,"overflow","visible"),h.appendChild(n),u&&n.showPopover(),this.dialog=n;let d=e.defaultView||globalThis,f=()=>this.positionLinkDialog(),y=E=>{n.contains(E.target)||this.closeLinkDialog()},g=typeof d.ResizeObserver=="function"?new d.ResizeObserver(f):null;g?.observe(n),e.addEventListener("scroll",f,{capture:!0,passive:!0}),d.addEventListener("resize",f,{passive:!0}),d.visualViewport?.addEventListener("resize",f,{passive:!0}),d.visualViewport?.addEventListener("scroll",f,{passive:!0}),e.addEventListener("pointerdown",y,!0),this.dialogCleanup=()=>{g?.disconnect(),e.removeEventListener("scroll",f,{capture:!0}),d.removeEventListener("resize",f),d.visualViewport?.removeEventListener("resize",f),d.visualViewport?.removeEventListener("scroll",f),e.removeEventListener("pointerdown",y,!0)},this.positionLinkDialog();let w=n.querySelector("input");return w.value=r,w.focus(),w.select(),Hn}removeLinkElement(e){return!e||!this.element.contains(e)?!1:(this.selectElement(e),this._squire.removeLink(),ve(this.liveRegion,"Link removed"),!0)}updateLinkPopover(){if(!(this.options.linkPopover===!1||this.options.readOnly||!this._squire)){if(!this.linkPopover){if(this.dialog||!this.currentLinkElement())return;this.linkPopover=new is(this)}this.linkPopover.update()}}currentLinkElement(){let e=xe(this._squire);if(!e||!this.element.contains(e.commonAncestorContainer))return null;if(e.collapsed){let i=e.startContainer,r=(i.nodeType===1?i:i.parentElement)?.closest("a[href]");return r&&r!==this.element&&this.element.contains(r)?r:null}for(let i of this.element.querySelectorAll("a[href]")){let r=i.ownerDocument.createRange(),n=i,o=i;for(;n.firstChild;)n=n.firstChild;for(;o.lastChild;)o=o.lastChild;if(r.setStart(n,0),r.setEnd(o,o.nodeType===3?o.length:o.childNodes.length),e.compareBoundaryPoints(e.END_TO_START,r)<0&&e.compareBoundaryPoints(e.START_TO_END,r)>0)return i}return null}currentLinkHref(){let e=this.currentLinkElement();return e&&e.getAttribute("href")||""}selectElement(e){let i=e.ownerDocument.createRange();return i.selectNode(e),this._squire.setSelection(i),this.saveSelection(),i}linkAnchorRect(){let e=this.savedSelection;if(typeof e?.getClientRects=="function"){let i=[...e.getClientRects()].filter(r=>r.width||r.height);if(i.length)return e.collapsed?i[0]:e.getBoundingClientRect()}return(this.toolbar?.items.find(i=>i.def.id==="link")?.button||this.toolbar?.root||this.element).getBoundingClientRect()}positionLinkDialog(){let e=this.dialog;if(!e)return;let i=e.ownerDocument.defaultView||globalThis,r=Sn({anchor:this.linkAnchorRect(),box:{width:e.offsetWidth||0,height:e.offsetHeight||0},viewport:{width:i.visualViewport?.width??i.innerWidth,height:i.visualViewport?.height??i.innerHeight}});e.setAttribute("data-richclay-side",r.side),e.style.setProperty("--richclay-dialog-arrow",`${Math.round(r.arrow)}px`),rt(e,"transform",`translate(${Math.round(r.x)}px, ${Math.round(r.y)}px)`)}closeLinkDialog(){this.dialogCleanup?.(),this.dialogCleanup=null,this.dialog?.remove(),this.dialog=null}ensureMarker(){we(this.element)||(this.element.setAttribute("data-richclay-runtime-marker","true"),this.element.setAttribute("data-richclay",""))}setupEditorAttributes(){if(this.element.classList.add(this.options.inline?"richclay-inline":"richclay-editor","richclay-active"),this.element.setAttribute("data-richclay-active","true"),!this.element.hasAttribute("data-richclay-runtime-contenteditable")){let e=this.element.getAttribute("contenteditable");e===null?this.element.setAttribute("data-richclay-runtime-contenteditable","true"):e!=="true"&&e!==""&&this.element.setAttribute("data-richclay-runtime-contenteditable",e)}this.element.setAttribute("contenteditable","true"),this.element.hasAttribute("role")||Bi(this.element,"role","textbox","data-richclay-runtime-role"),this.element.hasAttribute("aria-multiline")||Bi(this.element,"aria-multiline",this.options.singleLine?"false":"true","data-richclay-runtime-aria-multiline"),this.element.hasAttribute("no-undo")||Bi(this.element,"no-undo","","data-richclay-runtime-no-undo"),this.options.placeholder&&(this.element.setAttribute("data-richclay-placeholder",this.options.placeholder),this.description||(this.description=this.element.ownerDocument.createElement("div"),this.description.id=`richclay-placeholder-${++qn}`,this.description.className="richclay-sr-only",this.description.textContent=this.options.placeholder,this.description.setAttribute("data-richclay-live",""),zt(this.description)),this.description.isConnected||this.element.insertAdjacentElement("afterend",this.description),Ml(this.element,this.description)),this.element.addEventListener("focus",this._onFocus),this.element.addEventListener("blur",this._onBlur),this.element.addEventListener("click",this._onLinkActivation,!0),this.element.addEventListener("auxclick",this._onLinkActivation,!0),this.element.addEventListener("clay:external-write",this._onExternalWrite)}cleanupEditorAttributes(){Oi(this.element,"destroy"),this.element.removeEventListener("focus",this._onFocus),this.element.removeEventListener("blur",this._onBlur),this.element.removeEventListener("click",this._onLinkActivation,!0),this.element.removeEventListener("auxclick",this._onLinkActivation,!0),this.element.removeEventListener("clay:external-write",this._onExternalWrite)}keepOneLink(){let e=this.element,i=e.ownerDocument,r=e.querySelector("a[href]"),n=r?.getAttribute("href")??this._labelHref;if(!n)return;this._labelHref=n;let o=e.textContent.replace(/\u200B/g,"").replace(/\s*[\r\n]+\s*/g," "),a=e.childNodes.length===1&&e.firstChild===r?r:null;if(a&&[...a.childNodes].every(h=>h.nodeType===3)&&!a.textContent.includes("\u200B")||!o)return;let l=this._squire.getSelection(),c=o.length;if(l&&e.contains(l.startContainer)){let h=i.createRange();h.selectNodeContents(e),h.setEnd(l.startContainer,l.startOffset),c=h.toString().replace(/\u200B/g,"").replace(/\s*[\r\n]+\s*/g," ").length}this._squire.modifyDocument(()=>{let h=r??i.createElement("a");r||h.setAttribute("href",n),h.replaceChildren(i.createTextNode(o)),e.replaceChildren(h);let u=i.createRange();u.setStart(h.firstChild,Math.min(c,o.length)),u.collapse(!0),this._squire.setSelection(u)})}bindSquire(){let e=()=>{this.saveSelection(),this.updatePlaceholder(),this.options.onChange?.(this.getHTML()),this.toolbar?.update(),this.updateLinkPopover()},i=n=>{this.path=n.detail?.path||this._squire.getPath?.()||"",this.saveSelection(),this.toolbar?.update(),this.updateLinkPopover()},r=()=>{this.saveSelection(),this.toolbar?.update(),this.options.toolbarOnSelect&&this.updateFloatVisibility(),this.updateLinkPopover()};[["input",e],["pathChange",i],["select",r],["cursor",r],["undoStateChange",()=>this.toolbar?.update()]].forEach(([n,o])=>{this._squire.addEventListener(n,o),this._squireListeners.push([n,o])})}renderToolbar(){if(!this.active||this.options.readOnly)return;if(this.options.inline){this.float&&(this.teardownFloatingToolbar(),this.ensureFloatingToolbar());return}this.toolbar?.destroy(),this.toolbar=null;let e=this.resolveToolbarControls(this.options.toolbar);e.length&&(this.toolbar=new xn(this,e,{toolbarContainer:this.options.toolbarContainer}))}ensureFloatingToolbar(){if(this.float||!this.active||this.options.readOnly)return;let e=this.resolveToolbarControls(this.options.toolbar);e.length&&(this.float=new zl(this,e),this._onFloatFocusOut=i=>this.scheduleFloatTeardown(i),this.float.root.addEventListener("focusout",this._onFloatFocusOut),this._onDocPointerDown=i=>{if(this.ownsFocusTarget(i.target))return;let r=this.element.ownerDocument;r.activeElement&&this.ownsFocusTarget(r.activeElement)&&r.activeElement.blur?.(),this.teardownFloatingToolbar()},this.element.ownerDocument.addEventListener("pointerdown",this._onDocPointerDown,!0),this.toolbar=this.float.toolbar,this.toolbar.update(),this.options.toolbarOnSelect&&this.updateFloatVisibility())}teardownFloatingToolbar(){this.float&&(this._onFloatFocusOut&&(this.float.root.removeEventListener("focusout",this._onFloatFocusOut),this._onFloatFocusOut=null),this._onDocPointerDown&&(this.element.ownerDocument.removeEventListener("pointerdown",this._onDocPointerDown,!0),this._onDocPointerDown=null),this.float.destroy(),this.float=null,this.toolbar=null)}scheduleFloatTeardown(e){let i=e?.relatedTarget;if(i&&this.ownsFocusTarget(i))return;let r=this.element.ownerDocument;(r.defaultView||globalThis).setTimeout(()=>{let n=r.activeElement;n&&this.ownsFocusTarget(n)||this.teardownFloatingToolbar()},0)}ownsFocusTarget(e){return e===this.element||this.element.contains(e)||!!this.float?.root.contains(e)||!!this.dialog?.contains(e)||!!this.linkPopover?.root?.contains(e)}updateFloatVisibility(){if(!this.float)return;let e=this.savedSelection;this.float.setVisible(!!(e&&!e.collapsed))}resolveToolbarControls(e){return e===!1||e===null||e==="none"?[]:(Array.isArray(e)?e:Ie[e]||Ie.standard).map(i=>{if(typeof i=="string"){let r=this.registry.get(i);if(!r)throw new Error(`Unknown RichClay toolbar control: ${i}`);return r}return i?.type==="separator"||Vi(i),i})}installShortcuts(){let e=new Set,i=[...this.registry.values()].filter(r=>(!this.options.singleLine||Ie.inline.includes(r.id))&&(!this.options.linkLabel||zn.includes(r.id)));[...this.resolveToolbarControls(this.options.toolbar),...i].forEach(r=>{if(r.type==="menu"||r.type==="separator"||!r.shortcut||!r.id||e.has(r.id))return;if(r.isDisabled?.(this)){let o=Gi(r.shortcut,this.window);this._squire.setKeyHandler(o,null),this._shortcutKeys.push(o);return}e.add(r.id);let n=Gi(r.shortcut,this.window);this._squire.setKeyHandler(n,(o,a)=>{a.preventDefault(),this.runControl(r)}),this._shortcutKeys.push(n)})}maskFormattingShortcuts(){for(let e of this.registry.values()){if(!e.shortcut||zn.includes(e.id))continue;let i=Gi(e.shortcut,this.window);this._squire.setKeyHandler(i,(r,n)=>n.preventDefault()),this._shortcutKeys.push(i)}}maskSquireCodeShortcut(){let e=`${me(this.window)?"Meta":"Ctrl"}-d`;this._squire.setKeyHandler(e,null),this._shortcutKeys.push(e)}maskSquireBlockShortcuts(){if(!this.blocksStayOut())return;let e=me(this.window)?"Meta":"Ctrl";[`${e}-]`,`${e}-[`,`${e}-Shift-8`,`${e}-Shift-9`].forEach(i=>{this._squire.setKeyHandler(i,null),this._shortcutKeys.push(i)})}toggleCode(){return this.blocksStayOut()?this.selectionHasFormat("CODE")?this._squire.changeFormat(null,{tag:"CODE"}):this._squire.changeFormat({tag:"CODE"},null):this._squire.toggleCode()}installAppleDeleteKeys(){if(!me(this.window))return;let e=this._squire._keyHandlers;e&&[["Ctrl-d","Delete"],["Ctrl-h","Backspace"]].forEach(([i,r])=>{typeof e[r]=="function"&&(this._squire.setKeyHandler(i,e[r]),this._shortcutKeys.push(i),this._appleDeleteKeys.add(i.slice(5)))})}installSingleLineGuards(){["Enter","Shift-Enter"].forEach(e=>{this._squire.setKeyHandler(e,(i,r)=>r.preventDefault()),this._shortcutKeys.push(e)}),this._onBeforeInput=e=>{if(!this.element.contains(e.target))return;let i=this.options.linkLabel&&e.inputType.startsWith("format");(e.inputType==="insertParagraph"||e.inputType==="insertLineBreak"||i)&&(e.preventDefault(),e.stopPropagation())},this.element.ownerDocument.addEventListener("beforeinput",this._onBeforeInput,!0)}resetSquireUndoBaseline(){let e=this._squire;!e||!Array.isArray(e._undoStack)||typeof e.saveUndoState!="function"||(e._undoStack.length=0,e._undoStackLength=0,e._undoIndex=-1,e._isInUndoState=!1,e.saveUndoState())}updatePlaceholder(){let e=In(this.element,{capability:"history",inherit:!1}),i=e.text().replace(/\u200B/g,"").trim(),r=e.root.querySelector("img, video, audio, iframe, table"),n=!i&&!r;this.element.classList.toggle("richclay-empty",n)}announceControl(e){if(!this.liveRegion)return;let i=e.ariaLabel||e.label;i&&(typeof e.isActive=="function"?ve(this.liveRegion,`${i} ${e.isActive(this)?"on":"off"}`):ve(this.liveRegion,`${i} applied`))}};function ys(t){return typeof t=="string"?Array.from(document.querySelectorAll(t)):t?.nodeType===1?[t]:Array.from(t||[])}function Wn(t,e,i,r,n){let o=e;if(o===t){let l=Array.from(t.childNodes).filter(be);if(!l.length)return null;let c=Math.min(r?i:Math.max(i-1,0),l.length-1);o=He(l[c],r)}let a=(o?.nodeType===1?o:o?.parentElement)?.closest?.(n);return a&&t.contains(a)&&a!==t?a:null}function bs(t){let e=t.parentElement;for(;e;){if(Ct.has(e)||we(e))return e;e=e.parentElement}return null}function we(t){return!!t.matches?.(mt)&&cn(t)}function ji(t){let e=bs(t),i=Array.from(t.querySelectorAll?.(mt)||[]).find(n=>Ct.has(n)),r=e||i;return r?(console.warn("richclay: nested editable regions are not supported, so this one was skipped. Remove the editable attribute from either it or the other region.",t,r),!0):!1}function vs(t){return il(t)?(console.warn(`richclay: ${rl(t)} This region was skipped.`,t),!0):!1}function Vi(t){if(!t||!t.id)throw new Error("RichClay button definitions require an id.");if(t.type!=="menu"&&typeof t.run!="function")throw new Error(`RichClay button "${t.id}" requires a run(editor) function.`)}function Gi(t,e){let i=t.split("+"),r=i[i.length-1],n=new Set(i.slice(0,-1).map(xs));n.delete("Mod")&&n.add(me(e)?"Meta":"Ctrl");let o=r.length===1?n.has("Shift")?r.toUpperCase():r.toLowerCase():r,a=fs.filter(l=>n.has(l)).join("-");return`${a?`${a}-`:""}${o}`}function xs(t){return t==="Cmd"?"Meta":t}function ws(t,e){let i=e.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');if(!i.length)return;let r=i[0],n=i[i.length-1],o=e.ownerDocument.activeElement;t.shiftKey&&o===r?(t.preventDefault(),n.focus()):!t.shiftKey&&o===n&&(t.preventDefault(),r.focus())}var Es=`:root {
121
+ --richclay-surface: #ffffff;
122
+ --richclay-surface-alt: #f6f7f9;
123
+ --richclay-text: #0b0e14;
124
+ --richclay-muted: #667085;
125
+ --richclay-border: #c9ced8;
126
+ --richclay-accent: #0f766e;
127
+ --richclay-accent-ink: #ffffff;
128
+ --richclay-focus: #2563eb;
129
+ --richclay-danger: #b42318;
130
+ --richclay-radius: 6px;
131
+ --richclay-control-size: 34px;
132
+ --richclay-shadow: 0 10px 24px rgb(15 23 42 / 0.16);
133
+ --richclay-dialog-arrow: 28px;
134
+ }
135
+
136
+ @media (prefers-color-scheme: dark) {
137
+ :root {
138
+ --richclay-surface: #16181d;
139
+ --richclay-surface-alt: #22252c;
140
+ --richclay-text: #ffffff;
141
+ --richclay-muted: #a3aab8;
142
+ --richclay-border: #4a5260;
143
+ --richclay-accent: #2dd4bf;
144
+ --richclay-accent-ink: #05201d;
145
+ --richclay-focus: #93c5fd;
146
+ --richclay-shadow: 0 12px 28px rgb(0 0 0 / 0.35);
147
+ }
148
+ }
149
+
150
+ .richclay-toolbar {
151
+ align-items: center;
152
+ background: var(--richclay-surface-alt);
153
+ border: 1px solid var(--richclay-border);
154
+ border-radius: var(--richclay-radius);
155
+ color: var(--richclay-text);
156
+ display: flex;
157
+ flex-wrap: wrap;
158
+ gap: 2px;
159
+ margin-block: 0 6px;
160
+ padding: 4px;
161
+ }
162
+
163
+ /* Seamless card: in the default layout the toolbar sits directly above the
164
+ editor. Fuse them into a single bordered card with one divider \u2014 the
165
+ toolbar's bottom border \u2014 instead of two stacked, separated boxes. */
166
+ .richclay-toolbar:has(+ .richclay-editor) {
167
+ margin-block-end: 0;
168
+ border-bottom-left-radius: 0;
169
+ border-bottom-right-radius: 0;
170
+ }
171
+
172
+ .richclay-toolbar + .richclay-editor {
173
+ border-top: 0;
174
+ border-top-left-radius: 0;
175
+ border-top-right-radius: 0;
176
+ }
177
+
178
+ /* In a fused card, draw the focus ring inside the body so it never crosses
179
+ the toolbar divider. */
180
+ .richclay-toolbar + .richclay-editor:focus-visible {
181
+ outline-offset: -3px;
182
+ }
183
+
184
+ .richclay-button {
185
+ align-items: center;
186
+ appearance: none;
187
+ background: transparent;
188
+ border: 1px solid transparent;
189
+ border-radius: 5px;
190
+ color: currentColor;
191
+ display: inline-flex;
192
+ height: var(--richclay-control-size);
193
+ justify-content: center;
194
+ margin: 0;
195
+ min-width: var(--richclay-control-size);
196
+ padding: 0;
197
+ position: relative;
198
+ }
199
+
200
+ .richclay-button:hover,
201
+ .richclay-button[aria-expanded="true"],
202
+ .richclay-menu-item:hover {
203
+ background: var(--richclay-surface);
204
+ border-color: var(--richclay-border);
205
+ }
206
+
207
+ .richclay-button.is-active,
208
+ .richclay-button[aria-pressed="true"],
209
+ .richclay-menu-item.is-active {
210
+ background: rgb(0 0 0 / 0.13);
211
+ border-color: rgb(0 0 0 / 0.22);
212
+ color: var(--richclay-text);
213
+ box-shadow: inset 0 1px 3px rgb(0 0 0 / 0.26);
214
+ }
215
+
216
+ .richclay-button:focus-visible,
217
+ .richclay-menu-item:focus-visible,
218
+ .richclay-editor:focus-visible,
219
+ .richclay-input:focus-visible,
220
+ .richclay-primary:focus-visible,
221
+ .richclay-secondary:focus-visible {
222
+ outline: 3px solid var(--richclay-focus);
223
+ outline-offset: 2px;
224
+ }
225
+
226
+ .richclay-button:disabled {
227
+ color: var(--richclay-muted);
228
+ cursor: not-allowed;
229
+ opacity: 0.55;
230
+ }
231
+
232
+ .richclay-separator {
233
+ align-self: stretch;
234
+ background: var(--richclay-border);
235
+ display: inline-block;
236
+ margin: 5px 4px;
237
+ width: 1px;
238
+ }
239
+
240
+ .richclay-menu-wrap {
241
+ display: inline-flex;
242
+ position: relative;
243
+ }
244
+
245
+ .richclay-menu {
246
+ background: var(--richclay-surface);
247
+ border: 1px solid var(--richclay-border);
248
+ border-radius: var(--richclay-radius);
249
+ box-shadow: var(--richclay-shadow);
250
+ color: var(--richclay-text);
251
+ display: grid;
252
+ gap: 2px;
253
+ inset-block-start: calc(100% + 4px);
254
+ inset-inline-start: 0;
255
+ min-width: 160px;
256
+ padding: 4px;
257
+ position: absolute;
258
+ z-index: 1000;
259
+ }
260
+
261
+ .richclay-menu[hidden] {
262
+ display: none;
263
+ }
264
+
265
+ .richclay-menu-item {
266
+ align-items: center;
267
+ appearance: none;
268
+ background: transparent;
269
+ border: 1px solid transparent;
270
+ border-radius: 4px;
271
+ color: inherit;
272
+ display: flex;
273
+ font: inherit;
274
+ gap: 8px;
275
+ min-height: 32px;
276
+ padding: 5px 9px;
277
+ text-align: start;
278
+ }
279
+
280
+ .richclay-editor {
281
+ background: var(--richclay-surface);
282
+ border: 1px solid var(--richclay-border);
283
+ border-radius: var(--richclay-radius);
284
+ color: var(--richclay-text);
285
+ min-height: 9rem;
286
+ /* Break a long unbreakable string (e.g. a bare URL) in prose rather than let
287
+ it widen the editor. \`anywhere\` also lowers min-content, so the editor can't
288
+ grow even as a flex/grid item. Inert on the code <pre> (white-space: pre). */
289
+ overflow-wrap: anywhere;
290
+ padding: 12px;
291
+ position: relative;
292
+ }
293
+
294
+ .richclay-editor.richclay-empty::before {
295
+ color: var(--richclay-muted);
296
+ content: attr(data-richclay-placeholder);
297
+ inset-block-start: 12px;
298
+ inset-inline-start: 12px;
299
+ pointer-events: none;
300
+ position: absolute;
301
+ }
302
+
303
+ .richclay-editor p,
304
+ .richclay-editor h1,
305
+ .richclay-editor h2,
306
+ .richclay-editor h3,
307
+ .richclay-editor h4,
308
+ .richclay-editor h5,
309
+ .richclay-editor h6,
310
+ .richclay-editor blockquote,
311
+ .richclay-editor pre,
312
+ .richclay-editor ul,
313
+ .richclay-editor ol {
314
+ margin-block: 0 0.75em;
315
+ }
316
+
317
+ .richclay-editor > :last-child {
318
+ margin-block-end: 0;
319
+ }
320
+
321
+ /* Inline editors ([editable]) inherit the page's own styling. richclay adds
322
+ only a caret, a discoverability outline, and empty-state affordances. */
323
+ .richclay-inline {
324
+ caret-color: currentColor;
325
+ }
326
+
327
+ .richclay-inline:hover {
328
+ outline: 1px dashed var(--richclay-border);
329
+ outline-offset: 2px;
330
+ }
331
+
332
+ .richclay-inline.richclay-focused,
333
+ .richclay-inline:focus-visible {
334
+ outline: 2px dashed var(--richclay-focus);
335
+ outline-offset: 2px;
336
+ }
337
+
338
+ .richclay-inline.richclay-empty {
339
+ min-height: 1em;
340
+ min-width: 1ch;
341
+ }
342
+
343
+ .richclay-inline.richclay-empty::before {
344
+ color: var(--richclay-muted);
345
+ content: attr(data-richclay-placeholder);
346
+ pointer-events: none;
347
+ }
348
+
349
+ /* Floating toolbar shell for inline editors. Fixed-position and body-mounted:
350
+ fixed elements never create scrollbars, and body mounting avoids transformed
351
+ ancestors silently turning fixed into ancestor-relative. */
352
+ .richclay-float {
353
+ left: 0;
354
+ position: fixed;
355
+ top: 0;
356
+ will-change: transform;
357
+ z-index: 99999;
358
+ }
359
+
360
+ .richclay-float .richclay-toolbar {
361
+ box-shadow: var(--richclay-shadow);
362
+ margin-block: 0;
363
+ }
364
+
365
+ /* Compact vertical rail for narrow margins. */
366
+ .richclay-float-rail .richclay-toolbar {
367
+ --richclay-control-size: 28px;
368
+ flex-direction: column;
369
+ flex-wrap: nowrap;
370
+ }
371
+
372
+ .richclay-float-rail .richclay-toolbar svg {
373
+ height: 15px;
374
+ width: 15px;
375
+ }
376
+
377
+ .richclay-float-rail .richclay-separator {
378
+ align-self: stretch;
379
+ height: 1px;
380
+ margin: 4px 5px;
381
+ width: auto;
382
+ }
383
+
384
+ .richclay-float-rail .richclay-menu {
385
+ inset-block-start: 0;
386
+ inset-inline-start: calc(100% + 4px);
387
+ }
388
+
389
+ .richclay-editor blockquote {
390
+ border-inline-start: 3px solid var(--richclay-border);
391
+ color: var(--richclay-muted);
392
+ margin-inline: 0;
393
+ padding-inline-start: 12px;
394
+ }
395
+
396
+ /* Code blocks scroll horizontally inside the editor instead of widening it.
397
+ \`width: 0; min-width: 100%\` zeroes the pre's intrinsic-width contribution so a
398
+ long unbreakable line can't push an intrinsically-sized ancestor (flex/grid
399
+ item, inline-block, table cell) wider, while still filling the editor and
400
+ scrolling its own overflow. box-sizing keeps padding inside that 100%.
401
+ Containment applies to inline editors too: \`white-space: pre\` never wraps, so
402
+ without it one code block runs off the side of the page. Only the decoration
403
+ below stays card-scoped, since inline mode keeps the page's own typography. */
404
+ .richclay-editor pre,
405
+ .richclay-inline pre {
406
+ box-sizing: border-box;
407
+ min-width: 100%;
408
+ overflow: auto;
409
+ width: 0;
410
+ }
411
+
412
+ .richclay-editor pre {
413
+ background: var(--richclay-surface-alt);
414
+ border-radius: 4px;
415
+ padding: 10px;
416
+ }
417
+
418
+ .richclay-dialog {
419
+ background: var(--richclay-surface);
420
+ border: 1px solid var(--richclay-border);
421
+ border-radius: var(--richclay-radius);
422
+ box-shadow: var(--richclay-shadow);
423
+ color: var(--richclay-text);
424
+ display: grid;
425
+ gap: 10px;
426
+ box-sizing: border-box;
427
+ width: min(420px, calc(100vw - 16px));
428
+ z-index: 99999;
429
+ padding: 12px;
430
+ }
431
+
432
+ .richclay-dialog-title {
433
+ font-weight: 650;
434
+ }
435
+
436
+ .richclay-dialog.richclay-link-popover {
437
+ align-items: center;
438
+ display: flex;
439
+ gap: 6px;
440
+ max-width: min(420px, calc(100vw - 16px));
441
+ padding: 6px;
442
+ width: auto;
443
+ }
444
+
445
+ .richclay-link-address {
446
+ color: inherit;
447
+ font-size: 0.875rem;
448
+ max-width: 260px;
449
+ overflow: hidden;
450
+ padding: 0 6px;
451
+ text-overflow: ellipsis;
452
+ white-space: nowrap;
453
+ }
454
+
455
+ .richclay-link-popover .richclay-secondary {
456
+ min-height: 30px;
457
+ padding: 3px 9px;
458
+ }
459
+
460
+ .richclay-field {
461
+ display: grid;
462
+ gap: 4px;
463
+ }
464
+
465
+ .richclay-field span {
466
+ color: var(--richclay-muted);
467
+ font-size: 0.875rem;
468
+ }
469
+
470
+ .richclay-input {
471
+ background: var(--richclay-surface);
472
+ border: 1px solid var(--richclay-border);
473
+ border-radius: 4px;
474
+ color: var(--richclay-text);
475
+ font: inherit;
476
+ min-height: 36px;
477
+ padding: 6px 8px;
478
+ }
479
+
480
+ .richclay-dialog-actions {
481
+ display: flex;
482
+ gap: 8px;
483
+ justify-content: flex-end;
484
+ }
485
+
486
+ .richclay-dialog-actions [data-richclay-remove-link] {
487
+ margin-inline-end: auto;
488
+ }
489
+
490
+ .richclay-primary,
491
+ .richclay-secondary {
492
+ appearance: none;
493
+ border: 1px solid var(--richclay-border);
494
+ border-radius: 4px;
495
+ font: inherit;
496
+ min-height: 34px;
497
+ padding: 5px 10px;
498
+ }
499
+
500
+ .richclay-primary {
501
+ background: var(--richclay-accent);
502
+ border-color: var(--richclay-accent);
503
+ color: var(--richclay-accent-ink);
504
+ }
505
+
506
+ .richclay-secondary {
507
+ background: var(--richclay-surface-alt);
508
+ color: var(--richclay-text);
509
+ }
510
+
511
+ .richclay-sr-only {
512
+ border: 0;
513
+ clip: rect(0 0 0 0);
514
+ clip-path: inset(50%);
515
+ height: 1px;
516
+ margin: -1px;
517
+ overflow: hidden;
518
+ padding: 0;
519
+ position: absolute;
520
+ white-space: nowrap;
521
+ width: 1px;
522
+ }
523
+
524
+ @media (forced-colors: active) {
525
+ .richclay-toolbar,
526
+ .richclay-editor,
527
+ .richclay-menu,
528
+ .richclay-dialog,
529
+ .richclay-input {
530
+ border-color: CanvasText;
531
+ }
532
+
533
+ .richclay-button.is-active,
534
+ .richclay-button[aria-pressed="true"],
535
+ .richclay-menu-item.is-active,
536
+ .richclay-primary {
537
+ background: Highlight;
538
+ color: HighlightText;
539
+ }
540
+
541
+ .richclay-button:focus-visible,
542
+ .richclay-menu-item:focus-visible,
543
+ .richclay-editor:focus-visible,
544
+ .richclay-input:focus-visible {
545
+ outline-color: Highlight;
546
+ }
547
+ }
548
+ `,te=typeof globalThis<"u"?globalThis:self;te&&!te.Squire&&(te.Squire=ua),te&&!te.DOMPurify&&(te.DOMPurify=ja),rs(Es);var Cs=$i.autoInit(),Ss=$i;return No(pr)})();window.__hyperclayNoAutoExport||(window.hyperclay=window.hyperclay||{},window.hyperclay.RichClay=Qe.default,window.RichClay=window.RichClay||Qe.default,window.h=window.hyperclay);var bt=Qe.default,cc=Qe.default;wo("richclay",Co,{roots:Eo});var Xe=null,So=(v,ct)=>Object.assign(new Error(`clay:richclay: ${v}`),{code:ct}),Js=v=>v?v.signal?.aborted?!0:typeof v.isCurrent=="function"&&!v.isCurrent():!1,tc=v=>({root:v,win:v.ownerDocument?.defaultView||window,admitted:!1,stopWatch:null,subscriber:null}),To=v=>[...v.root.querySelectorAll(bt.selector)];function ko(v){for(let ct of bt.init(To(v)))ct.reattach()}function ec(v){let ct=()=>ko(v);return{enable(){if(v.admitted)return;v.admitted=!0,ko(v),v.stopWatch=bt.watch(v.win);let lt=v.root.ownerDocument||document;v.subscriber={target:lt,type:"clay:sync-applied",handler:ct},lt.addEventListener(v.subscriber.type,ct)},quiesce(){v.admitted=!1,v.stopWatch&&(v.stopWatch(),v.stopWatch=null)},resume(){v.admitted||(v.admitted=!0,v.stopWatch=bt.watch(v.win))},dispose(){v.admitted=!1,v.stopWatch&&(v.stopWatch(),v.stopWatch=null);let lt=v.subscriber;v.subscriber=null,lt&&lt.target.removeEventListener(lt.type,lt.handler);for(let Je of To(v))bt.stripElement(Je);Xe===v&&(Xe=null)}}}function ic(v=document){return{id:"clay:richclay",order:310,async prepare(ct={}){if(ct.initial===!0)return rc();if(typeof bt.watch!="function"||typeof bt.stripElement!="function")throw So("this vendor build has no watchable lifecycle","unsupported-plugin");if(Js(ct))throw So("prepared for a stale generation","stale-document");let lt=bt.autoInit?.();return typeof lt=="function"&&lt(),ec(Xe||(Xe=tc(v)))}}}async function rc(){let v=await oc;return{enable(){},quiesce:()=>v?.quiesce(),resume:()=>v?.resume(),dispose:()=>v?.dispose()}}async function nc(){if(!xo())return null;let v=await ic().prepare();return v.enable(),v}var oc=nc();var wc=bt;export{bt as RichClay,wc as default,nc as init,ic as modeParticipant,oc as ready,ic as richclayParticipant};
549
+ /*! For license information please see richclay-Y2NV44NA.js.LEGAL.txt */