@panphora/clayjs 1.15.2 → 1.16.0
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.
- package/README.md +4 -5
- package/THIRD-PARTY-NOTICES.md +16 -0
- package/compat/highlight-11.9.0.min.js +1213 -0
- package/compat/highlight-LICENSE +29 -0
- package/compat/journal-assets.lock.json +22 -0
- package/compat/overtype-2.6.1.min.js +116 -0
- package/compat/overtype-LICENSE +21 -0
- package/dist/all.js +90 -0
- package/dist/clay-dom.js +84 -0
- package/dist/clay-events.js +103 -0
- package/dist/clay-internals.js +85 -0
- package/dist/clay-options.js +93 -0
- package/dist/clay-router.js +98 -0
- package/dist/clay-ui.js +95 -0
- package/dist/clay-utils.js +84 -0
- package/dist/clay.js +146 -0
- package/dist/clay.standalone.js +83090 -58706
- package/dist/m/attrs/add-from-T5LJXFFI.js +1 -0
- package/dist/m/attrs/onaftersave-OKSWEJQF.js +1 -0
- package/dist/m/attrs/refetch-on-save-NWPPXOCZ.js +1 -0
- package/dist/m/attrs/save-freeze-FUP4Q4X3.js +1 -0
- package/dist/m/c-2AZDZWCK.js +1 -0
- package/dist/m/c-2JL6E75N.js +1 -0
- package/dist/m/c-2M73252O.js +1 -0
- package/dist/m/c-2SPVQSHC.js +1 -0
- package/dist/m/c-33HUYEDI.js +1 -0
- package/dist/m/c-33JJ6CBX.js +2 -0
- package/dist/m/c-35NBGMZB.js +1 -0
- package/dist/m/c-3GJ4SDE2.js +1 -0
- package/dist/m/c-3IQRECYS.js +1 -0
- package/dist/m/c-3OWDMNJR.js +2 -0
- package/dist/m/c-46XYM55L.js +1 -0
- package/dist/m/c-4B6H4G5V.js +1 -0
- package/dist/m/c-4DRMS4QG.js +9 -0
- package/dist/m/c-4FFHZM32.js +1 -0
- package/dist/m/c-4JZDZFF6.js +1 -0
- package/dist/m/c-4L3BTFRK.js +1 -0
- package/dist/m/c-4Q2XTQ2N.js +2 -0
- package/dist/m/c-4WKFKEKF.js +1 -0
- package/dist/m/c-4YSCRICO.js +1 -0
- package/dist/m/c-54RCDCBU.js +1 -0
- package/dist/m/c-5M4YEKCX.js +4 -0
- package/dist/m/c-5R4PTRG2.js +1 -0
- package/dist/m/c-5V3MOVJT.js +1 -0
- package/dist/m/c-5VYOWDTI.js +1 -0
- package/dist/m/c-5Y6TNX5W.js +34 -0
- package/dist/m/c-5YIHJ3TJ.js +1 -0
- package/dist/m/c-66O32MV3.js +28 -0
- package/dist/m/c-6HMB24EV.js +1 -0
- package/dist/m/c-7DJDKPGL.js +1 -0
- package/dist/m/c-7O6AFR65.js +1 -0
- package/dist/m/c-7SWMYKAI.js +1 -0
- package/dist/m/c-7VGZ7RU5.js +1 -0
- package/dist/m/c-A7LS5UZW.js +1 -0
- package/dist/m/c-ANQTJ3B5.js +2 -0
- package/dist/m/c-AQLFEATB.js +1 -0
- package/dist/m/c-AYVOREBE.js +1 -0
- package/dist/m/c-B2ZXPOS3.js +3 -0
- package/dist/m/c-BBVGTQG7.js +1 -0
- package/dist/m/c-BMIZKMPV.js +1 -0
- package/dist/m/c-BTDI4Y23.js +1 -0
- package/dist/m/c-BWFVSBDF.js +1 -0
- package/dist/m/c-BYTKL6UX.js +1 -0
- package/dist/m/c-CFHW5AMY.js +6 -0
- package/dist/m/c-CJZSLMVQ.js +1 -0
- package/dist/m/c-CYWLPPUS.js +1 -0
- package/dist/m/c-CZUSOB7V.js +1 -0
- package/dist/m/c-DBE6ORSI.js +1 -0
- package/dist/m/c-DCFSEJZG.js +1 -0
- package/dist/m/c-DNZ5IFM6.js +1 -0
- package/dist/m/c-EDHUR4MX.js +1 -0
- package/dist/m/c-EJTGYSLN.js +1 -0
- package/dist/m/c-EY6UOM54.js +1 -0
- package/dist/m/c-F3CKJTJS.js +1 -0
- package/dist/m/c-F7Y6FLPY.js +1 -0
- package/dist/m/c-FA4DZVTC.js +1 -0
- package/dist/m/c-FILLTJA7.js +1 -0
- package/dist/m/c-G2BUZITR.js +1 -0
- package/dist/m/c-GB3JTV6E.js +1 -0
- package/dist/m/c-GBGWXTX4.js +1 -0
- package/dist/m/c-GHBCCVG4.js +1 -0
- package/dist/m/c-GJAEGGXY.js +1 -0
- package/dist/m/c-GOWBDM6J.js +1 -0
- package/dist/m/c-GQ6F6IDK.js +1 -0
- package/dist/m/c-H4LG442Q.js +1 -0
- package/dist/m/c-HA6INT6J.js +1 -0
- package/dist/m/c-HPURYVZS.js +2 -0
- package/dist/m/c-HRDCD3WN.js +67 -0
- package/dist/m/c-HT33EQRN.js +1 -0
- package/dist/m/c-HVYXIS72.js +1 -0
- package/dist/m/c-IB52R237.js +1 -0
- package/dist/m/c-IJUK2GPW.js +1 -0
- package/dist/m/c-IKWNE4R4.js +1 -0
- package/dist/m/c-IU3IYEU6.js +1 -0
- package/dist/m/c-IZ2EBRAJ.js +1 -0
- package/dist/m/c-J7CA54IP.js +1 -0
- package/dist/m/c-JAX2667S.js +6 -0
- package/dist/m/c-KI7M4AY3.js +1 -0
- package/dist/m/c-KIPQJX4B.js +1 -0
- package/dist/m/c-KKWLDOPM.js +1 -0
- package/dist/m/c-KR4UW4KW.js +1 -0
- package/dist/m/c-KY3VJGUA.js +8 -0
- package/dist/m/c-L4WQSC27.js +1 -0
- package/dist/m/c-LFPHCXY3.js +1 -0
- package/dist/m/c-LR4CGEPT.js +91 -0
- package/dist/m/c-LRPUO2MX.js +1 -0
- package/dist/m/c-LTGMXXKO.js +1 -0
- package/dist/m/c-LXENEBV7.js +1 -0
- package/dist/m/c-LZJPNR2W.js +1 -0
- package/dist/m/c-MMUIUUZG.js +2 -0
- package/dist/m/c-MTQHWQC3.js +1 -0
- package/dist/m/c-N326R2JD.js +1 -0
- package/dist/m/c-N7JPUPGC.js +1 -0
- package/dist/m/c-NMJRXKPC.js +8 -0
- package/dist/m/c-NRPJEVJS.js +1 -0
- package/dist/m/c-NUHP2XDB.js +1 -0
- package/dist/m/c-NZMNXVF6.js +1 -0
- package/dist/m/c-OCSZ4QGN.js +1 -0
- package/dist/m/c-OIBUTDXI.js +1 -0
- package/dist/m/c-OIDRZKAF.js +1 -0
- package/dist/m/c-OYTFP5QN.js +1 -0
- package/dist/m/c-P7KNDG34.js +1 -0
- package/dist/m/c-PPOSCAQD.js +1 -0
- package/dist/m/c-PQ5LK6QE.js +993 -0
- package/dist/m/c-PZ4XEPUP.js +2 -0
- package/dist/m/c-QHIWXHRO.js +1 -0
- package/dist/m/c-QHWJ5ZIJ.js +1 -0
- package/dist/m/c-QIX5BJYN.js +1 -0
- package/dist/m/c-QNKREOL6.js +1 -0
- package/dist/m/c-QQHEX6HA.js +1 -0
- package/dist/m/c-R7RMANJI.js +9 -0
- package/dist/m/c-RI4NT75Y.js +1 -0
- package/dist/m/c-RM7J7BV2.js +1 -0
- package/dist/m/c-RUJKSUQW.js +1 -0
- package/dist/m/c-RVMWGXEJ.js +1 -0
- package/dist/m/c-S7H2DRCB.js +1 -0
- package/dist/m/c-S7LK4KUE.js +1 -0
- package/dist/m/c-SGCCC4FW.js +25 -0
- package/dist/m/c-SGIA4IEQ.js +188 -0
- package/dist/m/c-SWRJFCNN.js +1 -0
- package/dist/m/c-T4VO4OCB.js +1 -0
- package/dist/m/c-TCCA5BZN.js +2 -0
- package/dist/m/c-TQEMVJCS.js +1 -0
- package/dist/m/c-TQZ2JYHD.js +1 -0
- package/dist/m/c-TR6RMDQ7.js +3 -0
- package/dist/m/c-TRS6TM6O.js +1 -0
- package/dist/m/c-UGHH4MB3.js +1 -0
- package/dist/m/c-UKHTLWUW.js +1 -0
- package/dist/m/c-UL2YUY52.js +1 -0
- package/dist/m/c-UNN7LWCT.js +1 -0
- package/dist/m/c-UXBMRDZB.js +235 -0
- package/dist/m/c-V7PZZRG7.js +1 -0
- package/dist/m/c-VAK7SG37.js +1 -0
- package/dist/m/c-VDSS4K3Z.js +1 -0
- package/dist/m/c-VFX45IZQ.js +1 -0
- package/dist/m/c-VHNSBD2M.js +1 -0
- package/dist/m/c-VKEDWYDF.js +1 -0
- package/dist/m/c-VL52ADDR.js +1 -0
- package/dist/m/c-WN5AY3OZ.js +1 -0
- package/dist/m/c-WNYBLIOZ.js +1 -0
- package/dist/m/c-WRBKEJD4.js +1 -0
- package/dist/m/c-WWDBYXLK.js +1 -0
- package/dist/m/c-WYFDLITL.js +1 -0
- package/dist/m/c-XN6MBKI6.js +67 -0
- package/dist/m/c-XNNW2CWK.js +1 -0
- package/dist/m/c-XPELB6E5.js +1 -0
- package/dist/m/c-XQXZAO7N.js +1 -0
- package/dist/m/c-Y6USGTS5.js +5 -0
- package/dist/m/c-YDH7Q3NY.js +1 -0
- package/dist/m/c-YG2NJYS6.js +135 -0
- package/dist/m/c-Z36J63PP.js +1 -0
- package/dist/m/c-Z4VRC7GU.js +7 -0
- package/dist/m/c-Z6K52OLP.js +19 -0
- package/dist/m/c-ZDY2MDAA.js +21 -0
- package/dist/m/c-ZE46QDIH.js +1 -0
- package/dist/m/c-ZUCOKOHT.js +1 -0
- package/dist/m/core/admin-attrs-VGNLAUDK.js +1 -0
- package/dist/m/core/autosave-E4PEFPZ6.js +1 -0
- package/dist/m/core/conflict-notice-VQ6Y64PH.js +1 -0
- package/dist/m/core/draft-mode-WSQAT67S.js +1 -0
- package/dist/m/core/host-permission-XN3K2IW3.js +1 -0
- package/dist/m/core/is-edit-mode-JXHDVGUL.js +1 -0
- package/dist/m/core/persist-HKHA66IY.js +3 -0
- package/dist/m/core/recovery-TBBSICE2.js +1 -0
- package/dist/m/core/save-WUCHTQBE.js +1 -0
- package/dist/m/core/save-core-FJVHT5M3.js +1 -0
- package/dist/m/core/snapshot-F3SWDZMM.js +1 -0
- package/dist/m/core/unsaved-warning-STKBHE6G.js +1 -0
- package/dist/m/dom/all-APS5ZSKP.js +1 -0
- package/dist/m/dom/dom-helpers-L7OSR6S4.js +1 -0
- package/dist/m/events/index-23DPTUT4.js +1 -0
- package/dist/m/internals/index-WOVAP3RU.js +1 -0
- package/dist/m/lib/cache-bust-CGWT6ZJI.js +1 -0
- package/dist/m/lib/region-policy-SB2AWVG5.js +1 -0
- package/dist/m/loader-HXX6YNH5.js +1 -0
- package/dist/m/manifest-F22DEDAC.js +1 -0
- package/dist/m/manifest-edit-C3C7376B.js +1 -0
- package/dist/m/manifest.json +3491 -0
- package/dist/m/options/options-2LH76JQ3.js +1 -0
- package/dist/m/page/editor-XUTB2HB2.js +189 -0
- package/dist/m/plugins/ai-edit-ZQ4CGWIP.js +6 -0
- package/dist/m/plugins/bind-text-NX46N5UV.js +1 -0
- package/dist/m/plugins/cms-HP3LSTPN.js +2293 -0
- package/dist/m/plugins/demo-ZIBFAA3R.js +1 -0
- package/dist/m/plugins/derive-UAAA4V4S.js +1 -0
- package/dist/m/plugins/indicator-PV4YW2ID.js +1 -0
- package/dist/m/plugins/live-NUTTXSBS.js +1 -0
- package/dist/m/plugins/menu-HCKO3DSP.js +138 -0
- package/dist/m/plugins/message-LQ6EDH4V.js +1 -0
- package/dist/m/plugins/page-KSUH7G6J.js +2 -0
- package/dist/m/plugins/page-view-W73OW7WI.js +1 -0
- package/dist/m/plugins/people-AJJ32YCG.js +1 -0
- package/dist/m/plugins/quickcrop-QNY3PKLD.js +26 -0
- package/dist/m/plugins/quickcrop-QNY3PKLD.js.LEGAL.txt +7 -0
- package/dist/m/plugins/richclay-RC3L2F6X.js +517 -0
- package/dist/m/plugins/richclay-RC3L2F6X.js.LEGAL.txt +1 -0
- package/dist/m/plugins/sortable-YRMQX3ZU.js +1 -0
- package/dist/m/plugins/source-KHK5UUSK.js +1 -0
- package/dist/m/plugins/undo-OF2L3CXU.js +1 -0
- package/dist/m/plugins/unsent-HJFLQJ2O.js +1 -0
- package/dist/m/plugins/upgrade-ZNYODP5Y.js +1 -0
- package/dist/m/plugins/upload-XSGNILUY.js +1 -0
- package/dist/m/plugins/visitor-drafts-XK5GW55Q.js +21 -0
- package/dist/m/plugins/visitor-drafts-owner-KSSH75EV.js +1 -0
- package/dist/m/plugins/wire-ZWVWKF76.js +1 -0
- package/dist/m/reader-core-ILWLXVMP.js +68 -0
- package/dist/m/route/route-KOCZSEGN.js +1 -0
- package/dist/m/sync/live-sync-4AUVXVJU.js +1 -0
- package/dist/m/ui/index-EVHKMKBL.js +1 -0
- package/dist/m/utils/index-4TJCVLT7.js +1 -0
- package/dist/m/vendor/Sortable.vendor-A755ITLN.js +3 -0
- package/dist/m/vendor/Sortable.vendor-A755ITLN.js.LEGAL.txt +1 -0
- package/dist/m/vendor/sap-core.vendor-A7BMUYZT.js +6 -0
- package/dist/offline-manifest.json +3800 -0
- package/dist/page/themes/light-1.css +406 -0
- package/dist/server/core.cjs +23662 -22860
- package/dist/server/offline-runtime.cjs +4954 -0
- package/dist/server/offline-runtime.mjs +4923 -0
- package/dist/server/rooms.mjs +9 -0
- package/docs/guide.md +1078 -669
- package/entries/all.js +2 -0
- package/entries/clay-data.js +1 -1
- package/entries/clay-dom.js +2 -0
- package/entries/clay-events.js +2 -0
- package/entries/clay-internals.js +2 -0
- package/entries/clay-options.js +2 -0
- package/entries/clay-router.js +2 -0
- package/entries/clay-ui.js +2 -0
- package/entries/clay-utils.js +2 -0
- package/entries/clay.js +2 -0
- package/entries/sap.js +6 -6
- package/fonts/ibm-plex-mono-LICENSE +93 -0
- package/fonts/ibm-plex-mono-latin-300-normal.woff2 +0 -0
- package/fonts/ibm-plex-mono-latin-400-italic.woff2 +0 -0
- package/fonts/ibm-plex-mono-latin-400-normal.woff2 +0 -0
- package/fonts/ibm-plex-mono-latin-500-normal.woff2 +0 -0
- package/fonts/ibm-plex-mono-latin-600-normal.woff2 +0 -0
- package/fonts/ibm-plex-sans-LICENSE +93 -0
- package/fonts/ibm-plex-sans-latin-400-normal.woff2 +0 -0
- package/fonts/ibm-plex-sans-latin-500-normal.woff2 +0 -0
- package/fonts/ibm-plex-sans-latin-600-normal.woff2 +0 -0
- package/fonts/ibm-plex.css +71 -0
- package/fonts/inter-LICENSE +93 -0
- package/fonts/inter-cyrillic-ext-wght-normal.woff2 +0 -0
- package/fonts/inter-cyrillic-wght-normal.woff2 +0 -0
- package/fonts/inter-greek-ext-wght-normal.woff2 +0 -0
- package/fonts/inter-greek-wght-normal.woff2 +0 -0
- package/fonts/inter-latin-ext-wght-normal.woff2 +0 -0
- package/fonts/inter-latin-wght-normal.woff2 +0 -0
- package/fonts/inter-vietnamese-wght-normal.woff2 +0 -0
- package/fonts/inter.css +62 -0
- package/fonts/newsreader-LICENSE +93 -0
- package/fonts/newsreader-latin-ext-opsz-normal.woff2 +0 -0
- package/fonts/newsreader-latin-opsz-normal.woff2 +0 -0
- package/fonts/newsreader-vietnamese-opsz-normal.woff2 +0 -0
- package/fonts/newsreader.css +26 -0
- package/fonts/work-sans-LICENSE +93 -0
- package/fonts/work-sans-latin-wght-normal.woff2 +0 -0
- package/fonts/work-sans.css +8 -0
- package/package.json +20 -3
- package/packed-contract.json +1 -0
- package/src/attrs/add-from.js +27 -4
- package/src/attrs/save-freeze.js +7 -52
- package/src/core/admin-attrs.js +119 -12
- package/src/core/admin-contenteditable.js +12 -10
- package/src/core/admin-inputs.js +14 -15
- package/src/core/admin-onclick.js +2 -0
- package/src/core/autosave.js +74 -21
- package/src/core/conflict-download.js +22 -0
- package/src/core/conflict-notice-ui.js +1173 -0
- package/src/core/conflict-notice.js +140 -697
- package/src/core/edit-mode.js +147 -14
- package/src/core/etag.js +30 -12
- package/src/core/host-meta.js +72 -8
- package/src/core/host-permission.js +29 -0
- package/src/core/is-edit-mode.js +145 -12
- package/src/core/mode-key.js +125 -0
- package/src/core/mode-lifecycle.js +544 -0
- package/src/core/mode-receipt.js +30 -0
- package/src/core/mode-refusal.js +13 -0
- package/src/core/mode-resources.js +52 -0
- package/src/core/mode-support.js +82 -0
- package/src/core/mode-switch.js +259 -0
- package/src/core/mode-transition.js +112 -0
- package/src/core/page-data-write.js +305 -0
- package/src/core/page-data.js +26 -227
- package/src/core/page-format-wire.js +4 -0
- package/src/core/page-format.js +58 -0
- package/src/core/persist.js +37 -9
- package/src/core/preserve-authored.js +114 -0
- package/src/core/recovery.js +772 -0
- package/src/core/runtime-url.js +105 -0
- package/src/core/save-core.js +109 -12
- package/src/core/save-replace.js +72 -0
- package/src/core/save-size-notice.js +134 -0
- package/src/core/save-size.js +140 -0
- package/src/core/save.js +805 -118
- package/src/core/snapshot.js +121 -11
- package/src/core/source-map.js +157 -9
- package/src/core/unsaved-warning.js +14 -4
- package/src/core/upgrade-run.js +408 -0
- package/src/core/version.js +18 -0
- package/src/lib/assets.js +30 -0
- package/src/lib/autosave-debug-gate.js +50 -0
- package/src/lib/autosave-scheduler.js +141 -0
- package/src/lib/boot-imports.js +8 -0
- package/src/lib/derived.js +3 -1
- package/src/lib/dirty-gate.js +15 -0
- package/src/lib/doc-storage.js +33 -0
- package/src/lib/effect.js +9 -4
- package/src/lib/mutation.js +4 -2
- package/src/lib/offline-runtime.js +226 -0
- package/src/lib/preload.js +48 -0
- package/src/lib/root-attrs.js +1 -1
- package/src/lib/trash.js +18 -0
- package/src/lib/undo/capture-move.js +152 -0
- package/src/live/local-channel.js +61 -0
- package/src/live/local-lane.js +60 -9
- package/src/live/server-lane.js +6 -3
- package/src/loader-logic.js +76 -15
- package/src/loader.js +218 -30
- package/src/page/adopt-boot.js +76 -22
- package/src/page/adopt.js +25 -4
- package/src/page/awareness.js +230 -0
- package/src/page/blocks.js +79 -5
- package/src/page/blocksel.js +20 -4
- package/src/page/board-face.js +13 -0
- package/src/page/board-panel.js +5 -17
- package/src/page/board-style.js +2 -13
- package/src/page/board-view.js +1 -11
- package/src/page/board-views.js +17 -0
- package/src/page/board.js +2 -2
- package/src/page/boot-pack.js +26 -0
- package/src/page/boot.js +237 -0
- package/src/page/checklist.js +1 -1
- package/src/page/chrome.js +411 -61
- package/src/page/csv-import.js +17 -2
- package/src/page/document-title-dom.js +40 -0
- package/src/page/document-title-runtime.js +76 -0
- package/src/page/document-title.js +9 -0
- package/src/page/drag.js +48 -13
- package/src/page/drop.js +2 -1
- package/src/page/editor.js +330 -86
- package/src/page/feature-loader.js +72 -0
- package/src/page/features/board.js +12 -0
- package/src/page/features/code.js +13 -0
- package/src/page/features/media.js +290 -0
- package/src/page/features/registry.js +23 -0
- package/src/page/features/table.js +383 -0
- package/src/page/{tool-view.js → features/tool.js} +33 -2
- package/src/page/format-codec.js +215 -0
- package/src/page/format-gate.js +179 -0
- package/src/page/format-level.js +157 -0
- package/src/page/highlight-slot.js +23 -0
- package/src/page/highlight.js +30 -16
- package/src/page/history-intent.js +78 -0
- package/src/page/inline.js +18 -25
- package/src/page/items.js +52 -11
- package/src/page/link.js +1 -0
- package/src/page/markdown.js +86 -1
- package/src/page/media-views.js +3 -0
- package/src/page/media.js +33 -245
- package/src/page/outline-cache.js +11 -0
- package/src/page/placeholder.js +27 -7
- package/src/page/projection.js +196 -50
- package/src/page/reader-patch.js +306 -0
- package/src/page/recover.js +1 -1
- package/src/page/rich/page-tool.js +1 -4
- package/src/page/runtime-owner.js +27 -0
- package/src/page/save-projection.js +7 -4
- package/src/page/schema.js +14 -0
- package/src/page/table-rect-key.js +3 -0
- package/src/page/table-select.js +4 -3
- package/src/page/table-style.js +1 -1
- package/src/page/table-views.js +3 -0
- package/src/page/table.js +8 -293
- package/src/page/themes/light-1.css +139 -2
- package/src/page/themes/light-1.source.css +269 -0
- package/src/page/tool-capability.js +3 -0
- package/src/page/tool-views.js +3 -0
- package/src/page/view.js +390 -107
- package/src/page/ybind/awareness.js +172 -0
- package/src/page/ybind/binding.js +9 -1
- package/src/page/ybind/bridge.js +50 -47
- package/src/page/ybind/decode.js +52 -19
- package/src/page/ybind/doc.js +27 -2
- package/src/page/ybind/group.js +12 -3
- package/src/page/ybind/index.js +2 -0
- package/src/page/ybind/lineage.js +71 -0
- package/src/page/ybind/marks.js +25 -1
- package/src/page/ybind/migrate.js +48 -13
- package/src/page/ybind/moves.js +32 -21
- package/src/page/ybind/positions.js +50 -0
- package/src/page/ybind/provider.js +84 -22
- package/src/page/ybind/recovery-proof.js +191 -0
- package/src/page/ybind/recovery-replay.js +130 -0
- package/src/page/ybind/tokens.js +15 -6
- package/src/page/ybind/walk.js +10 -3
- package/src/page/ybind/writer.js +48 -4
- package/src/plugins/ai-edit.js +167 -32
- package/src/plugins/bind-text.js +218 -0
- package/src/plugins/cms.js +93 -0
- package/src/plugins/indicator.js +57 -5
- package/src/plugins/live.js +282 -34
- package/src/plugins/menu/claygoo.svg.js +1 -0
- package/src/plugins/menu/seo-head.js +323 -0
- package/src/plugins/menu/seo.js +849 -0
- package/src/plugins/menu.js +425 -0
- package/src/plugins/page-view.js +131 -0
- package/src/plugins/page.js +1022 -275
- package/src/plugins/people.js +158 -31
- package/src/plugins/richclay.js +119 -9
- package/src/plugins/sortable.js +370 -60
- package/src/plugins/source.js +189 -366
- package/src/plugins/undo.js +289 -19
- package/src/plugins/unsent.js +132 -0
- package/src/plugins/upgrade-run.js +1 -0
- package/src/plugins/upgrade.js +210 -0
- package/src/plugins/upload-task.js +571 -0
- package/src/plugins/upload-ui.js +265 -0
- package/src/plugins/upload.js +34 -153
- package/src/plugins/visitor-drafts/inert.js +32 -0
- package/src/plugins/visitor-drafts/owner-chip.js +3 -0
- package/src/plugins/visitor-drafts/prompt.js +2 -2
- package/src/plugins/visitor-drafts-owner.js +85 -0
- package/src/plugins/visitor-drafts.js +31 -42
- package/src/plugins/wire.js +82 -1
- package/src/reader-core.js +26 -0
- package/src/recovery/conflicts.js +287 -0
- package/src/recovery/identity.js +154 -0
- package/src/recovery/store.js +792 -0
- package/src/recovery/undo.js +257 -0
- package/src/server/checkpoint/index.js +68 -4
- package/src/server/offline-runtime/index.js +214 -0
- package/src/server/rooms/index.js +2 -1
- package/src/server/rooms/live-data-rooms.js +2 -2
- package/src/server/rooms/page-admission.js +33 -0
- package/src/server/rooms/page-lineage.js +56 -0
- package/src/server/rooms/page-rebase.js +11 -5
- package/src/server/rooms/page-state.js +2 -0
- package/src/server/rooms/page-write-admission.js +9 -3
- package/src/source/session.js +705 -0
- package/src/sync/conflict-revert.js +5 -4
- package/src/sync/conflicts-edit.js +119 -0
- package/src/sync/conflicts-facade.js +49 -0
- package/src/sync/conflicts.js +99 -1
- package/src/sync/editing-marker.js +37 -6
- package/src/sync/editing-sender.js +8 -1
- package/src/sync/live-sync-edit.js +63 -0
- package/src/sync/live-sync.js +364 -119
- package/src/sync/local-presence.js +187 -0
- package/src/sync/merge-declarations.js +10 -0
- package/src/sync/merge-engine.js +12 -0
- package/src/sync/presence-store.js +412 -0
- package/src/sync/presence-target.js +243 -0
- package/src/sync/presence.js +72 -41
- package/src/sync/saved-handoff.js +200 -0
- package/src/sync/saved-stream.js +535 -0
- package/src/sync/version-guard.js +92 -0
- package/src/sync/wire-profile.js +81 -0
- package/src/ui/bevel-controls.js +2 -8
- package/src/ui/page-scheme.js +7 -0
- package/src/ui/skins/cms.js +1 -1
- package/src/ui/theme-config.js +150 -0
- package/src/ui/theme.js +6 -138
- package/src/ui/toast-lazy.js +11 -0
- package/src/vendor/LICENSES-optional.md +253 -0
- package/src/vendor/highlight.vendor.js +3 -0
- package/src/vendor/hljs-bash.vendor.js +2 -0
- package/src/vendor/hljs-css.vendor.js +2 -0
- package/src/vendor/hljs-javascript.vendor.js +2 -0
- package/src/vendor/hljs-json.vendor.js +2 -0
- package/src/vendor/hljs-python.vendor.js +2 -0
- package/src/vendor/hljs-xml.vendor.js +2 -0
- package/src/vendor/hyper-html-api-data.vendor.js +1 -1
- package/src/vendor/hyper-html-api-upgrade.vendor.js +5 -0
- package/src/vendor/hyper-morph-identity.vendor.js +2 -0
- package/src/vendor/hyper-morph-json.vendor.js +3 -0
- package/src/vendor/hyper-morph.vendor.js +6 -6
- package/src/vendor/hyper-undo.vendor.js +1 -1
- package/src/vendor/hypercms.vendor.js +169 -84
- package/src/vendor/marked.vendor.js +68 -0
- package/src/vendor/overtype.vendor.js +994 -0
- package/src/vendor/richclay.vendor.js +17 -17
- package/src/vendor/sap-core.vendor.js +5 -5
- package/src/vendor/sap-ownership.vendor.js +11 -7
|
@@ -0,0 +1 @@
|
|
|
1
|
+
/*! @license DOMPurify 3.4.11 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.11/LICENSE */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as E,d as x,e as g,f as $,g as I}from"../c-7DJDKPGL.js";import{a as F}from"../c-HT33EQRN.js";import"../c-IJUK2GPW.js";import{i as k,n as D}from"../c-7O6AFR65.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-N7JPUPGC.js";import{i as R}from"../c-35NBGMZB.js";import"../c-XQXZAO7N.js";import"../c-S7LK4KUE.js";import"../c-GHBCCVG4.js";import"../c-HA6INT6J.js";import"../c-DCFSEJZG.js";import{e as O}from"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";var T=O("history"),Q="[cms-template]",q=["draggable","style"],W=["pointerup","pointercancel","dragend","drop"],y=new Set,h=null,A=null,p=null;function N(e,t,n,r,i){let s={target:t,type:n,handler:r,options:i};return t.addEventListener(n,r,i),e.listeners.push(s),s}function z(e,t){t.target.removeEventListener(t.type,t.handler,t.options);let n=e.listeners.indexOf(t);n!==-1&&e.listeners.splice(n,1)}function U(e,t){let n=setTimeout(()=>{e.timers.delete(n),t()},0);return e.timers.add(n),n}function X(e,t){return{Sortable:e,root:t,admitted:!1,instances:new Set,listeners:[],timers:new Set,presses:new Set,stop:null}}var Y={admitted:!0,instances:new Set,listeners:[],timers:new Set,presses:new Set};function Z(e){return[e,...e.querySelectorAll("*")].filter(t=>!t.closest(T)).map(t=>[t,q.map(n=>t.getAttribute(n))])}function _(e){for(let[t,n]of e)q.forEach((r,i)=>{let s=n[i],a=t.getAttribute(r);if(a!==s)if(s===null){if(r==="style"&&a)return;t.removeAttribute(r)}else t.setAttribute(r,s)})}function H(e){return/^(UL|OL)$/.test(e.tagName)?"li":"*"}function C(e){return`> ${H(e)}:not(${T})`}function B(e,t){return!e||!t||t.nodeType!==1||!t.matches(H(e))?!1:!t.closest(T)&&!t.closest(Q)}function M(e,t){return!e||!t||t.parentElement!==e?!1:B(e,t)}function ee(e,t){let n=t.nextElementSibling;for(;n&&!M(e,n);)n=n.nextElementSibling;return n}function P(e,t){return Array.prototype.indexOf.call(e.children,t)}function V(e,t){if(t)try{new Function(`return (async function(evt) { ${t} })`)().call(e.from,e)}catch(n){console.error("Error in onsorted execution:",n)}e.from.dispatchEvent(new CustomEvent("clay:sorted",{bubbles:!0,detail:{item:e.item,from:e.from,to:e.to,oldIndex:e.oldIndex,newIndex:e.newIndex}})),e.from.dispatchEvent(new Event("input",{bubbles:!0}))}function j(e,t,n=Y){let r={};if(r.draggable=C(e),t.get(e))return;let i=e.getAttribute("sortable");i&&(r.group=i);let s=e.querySelectorAll("[sortable-handle]"),a=e.querySelectorAll("[sortable]");Array.from(s).some(o=>!Array.from(a).some(l=>l.contains(o)))&&(r.handle="[sortable-handle]");let c=e.getAttribute("onsorting");c&&(r.onMove=function(o){if(n.admitted)try{new Function(`return (async function(evt) { ${c} })`)().call(e,o)}catch(l){console.error("Error in onsorting execution:",l)}});let f=e.getAttribute("onsorted");r.onEnd=function(o){if(!n.admitted)return;let l={item:o.item,from:o.from,to:o.to,oldIndex:o.oldIndex,newIndex:o.newIndex},b=u;u=null,m&&(_(m),m=null),b&&(I(b,l),g(b)),V(l,f)};let d=null,u=null,m=null,w=!1,v=[],J=()=>{let o=u;u=null,m=null,g(o)},L=()=>{let o=d;d=null,o&&(n.presses.delete(o),y.delete(o),m=o),v.forEach(l=>z(n,l)),v=[],o&&U(n,()=>_(o))},K=()=>{w?x(u):(g(u),u=null),w=!1,L(),U(n,J)};N(n,e,"pointerdown",o=>{let l=o.target instanceof Element?o.target:null;for(;l&&l.parentElement!==e;)l=l.parentElement;!l||d||(d=Z(l),u=E(l),w=!1,n.presses.add(d),y.add(d),v=W.map(b=>N(n,document,b,K,!0)))},!0),r.onUnchoose=L,r.onStart=()=>{w=!0},t.create(e,r),n.instances.add(e)}function te(e,t,n=null){let r=f=>({ok:!1,code:f});if(!k||p&&!p.admitted)return r("not-editable");let i=document;if(!e||e.nodeType!==1||!e.isConnected||e.ownerDocument!==i)return r("detached");let s=e.parentElement;if(!s||!s.isConnected||!t||t.nodeType!==1||!t.isConnected||t.ownerDocument!==i)return r("detached");if(!s.hasAttribute("sortable")||!M(s,e)||!t.hasAttribute("sortable")||!B(t,e)||e===t||e.contains(t))return r("item");if(s!==t){let f=s.getAttribute("sortable");if(!f||f!==t.getAttribute("sortable"))return r("group")}if(n===e)return{ok:!0,moved:!1};if(n!==null&&!M(t,n))return r("anchor");if(s===t&&ee(s,e)===n)return{ok:!0,moved:!1};let a=P(s,e),S=E(e);x(S);let c;try{t.insertBefore(e,n),c={item:e,from:s,to:t,oldIndex:a,newIndex:P(t,e)},I(S,c)}finally{g(S)}return V(c,s.getAttribute("onsorted")),{ok:!0,moved:!0,...c}}function ne(){return h||(h=import("../vendor/Sortable.vendor-A755ITLN.js").then(e=>window.Sortable||e.default),h.catch(()=>{h=null})),h}function re(){return A||(R((e,{original:t})=>{for(let r of e.querySelectorAll("[sortable] .sortable-chosen, [sortable] .sortable-ghost, [sortable] .sortable-drag"))r.classList.remove("sortable-chosen","sortable-ghost","sortable-drag"),r.classList.length||r.removeAttribute("class");if(!y.size)return;let n=new Map;for(let r of y)for(let[i,s]of r)n.set(i,s);for(let r of e.querySelectorAll("[sortable] *")){let i=n.get(t(r));i&&q.forEach((s,a)=>{i[a]===null?r.removeAttribute(s):r.setAttribute(s,i[a])})}}),A=!0,A)}function se(e){return{enable(){if(!e.admitted){e.admitted=!0;for(let t of e.root.querySelectorAll("[sortable]"))j(t,e.Sortable,e);e.stop=F.onAddElement({selectorFilter:"[sortable]",debounce:200,require:"observed",pausable:!1},t=>{e.admitted&&t.forEach(({element:n})=>{j(n,e.Sortable,e)})})}},quiesce(){e.admitted=!1},resume(){e.admitted=!0},dispose(){e.admitted=!1,e.stop&&(e.stop(),e.stop=null);for(let t of[...e.listeners])z(e,t);for(let t of e.timers)clearTimeout(t);e.timers.clear();for(let t of e.presses)y.delete(t);e.presses.clear(),$();for(let t of e.instances)e.Sortable?.get?.(t)?.destroy?.();e.instances.clear(),p===e&&(p=null)}}}var oe=e=>e?e.signal?.aborted?!0:typeof e.isCurrent=="function"&&!e.isCurrent():!1;function le(e=document){return{id:"clay:sortable",order:300,async prepare(t={}){if(t.initial===!0)return ie();let n=await ne();if(oe(t))throw Object.assign(new Error("clay:sortable prepared for a stale generation"),{code:"stale-document"});return re(),se(p||(p=X(n,e)))}}}async function ie(){let e=await ae;return{enable(){},quiesce:()=>e?.quiesce(),resume:()=>e?.resume(),dispose:()=>e?.dispose()}}async function G(){if(!D())return null;let e=await le().prepare();return e.enable(),e}var ae=G(),me=Object.freeze({move:te});var be=G;export{be as default,G as init,j as makeSortable,le as modeParticipant,te as move,ae as ready,me as sortable,le as sortableParticipant};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{g as p}from"../c-B2ZXPOS3.js";import"../c-TQEMVJCS.js";import"../c-3IQRECYS.js";import"../c-AYVOREBE.js";import"../c-IJUK2GPW.js";import{n as d}from"../c-7O6AFR65.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-N7JPUPGC.js";import"../c-35NBGMZB.js";import"../c-XQXZAO7N.js";import"../c-S7LK4KUE.js";import"../c-GHBCCVG4.js";import"../c-HA6INT6J.js";import"../c-DCFSEJZG.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";var g={installed:!1,refused:null,sourceBytes:null,paired:0,unresolved:0,unmatchedLive:0,unmatchedSource:0,attrDiffs:0,saves:0,reprints:0,lastReprint:null,partialReprints:0,lastPartialReprint:null,lastRenderMs:null,lastBytes:null,refreshes:0,timing:{fetch:null,model:null,pair:null,refresh:null}},l=null,c=null,i=null,u=d(),s=0,r=null,a=!1,o=null;function v(){return o??=import("../c-5M4YEKCX.js").catch(e=>{throw o=null,e}),o}function f(e,t,n){typeof e=="string"&&(i=Object.freeze({bytes:e,etag:t??null,seq:n??null}))}function h(){if(r)return r;let e=s,t=c;return r=v().then(n=>(l=n,e!==s?(r=null,null):n.start({context:t,latest:()=>i}))).catch(n=>(r=null,console.info("clayjs: source map off ("+(n&&n.message?n.message:n)+"); saves use the full serialization"),null)).then(n=>(e===s&&(a=!0),n)),r}function x(){return!u||a?null:h()}function m(){s++,u=!1,a=!1,r=null,c=null,l&&l.release()}p((e,t)=>{f(e,i?i.etag:null,i?i.seq:null),l&&!l.installed()&&l.adoptAccepted(e,t)});document.addEventListener("clay:sync-applied",e=>{let t=e&&e.detail;!t||t.source!=="disk"||typeof t.html!="string"||(f(t.html,t.etag,t.seq),l&&!l.installed()&&l.adoptAccepted(t.html,null))});function y(e,t,n={}){return l?l.renderSave(e,t,n):t}var A={get ready(){return u?h():null},stats:()=>l?l.stats():{...g},text:()=>l?l.text():null,locate:e=>l?l.locateLive(e):null,unpaired:()=>l?l.unpaired():null,ensureForSave:x};function L(){return{id:"clay:source",order:30,prepare(e={}){let t=e&&e.represented;if(t&&(c={represented:t},f(t.bytes,t.etag,t.seq)),e&&e.initial===!0)return u=!0,{enable(){},quiesce(){},resume(){},dispose:m};let n=++s;return u=!1,a=!1,r=null,{enable(){n===s&&(u=!0)},quiesce(){},resume(){n===s&&(u=!0)},dispose(){n===s&&m()}}}}}var R=A;export{R as default,L as modeParticipant,y as renderSave,A as source,L as sourceParticipant};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as Ge,c as Ye}from"../c-7DJDKPGL.js";import{g as te}from"../c-7VGZ7RU5.js";import{a as ee}from"../c-WYFDLITL.js";import"../c-HT33EQRN.js";import"../c-IJUK2GPW.js";import{n as Fe}from"../c-7O6AFR65.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-N7JPUPGC.js";import{b as Xe}from"../c-GHBCCVG4.js";import{l as Je}from"../c-HA6INT6J.js";import"../c-DCFSEJZG.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";var Ze=(()=>{var d=Object.defineProperty,c=Object.getOwnPropertyDescriptor,b=Object.getOwnPropertyNames,w=Object.prototype.hasOwnProperty,N=(e,r)=>{for(var t in r)d(e,t,{get:r[t],enumerable:!0})},B=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let i of b(r))!w.call(e,i)&&i!==t&&d(e,i,{get:()=>r[i],enumerable:!(n=c(r,i))||n.enumerable});return e},F=e=>B(d({},"__esModule",{value:!0}),e),C={};N(C,{default:()=>Ht,undo:()=>de});function X(e,r=null){let t=[];if(e.type==="attributes"){let n=e.target,i=e.attributeName,a=e.oldValue,l=n.getAttribute(i);return a==null&&l!=null?t.push({kind:"attr-add",target:n,name:i,newValue:l}):a!=null&&l==null?t.push({kind:"attr-remove",target:n,name:i,oldValue:a}):a!==l&&t.push({kind:"attr-set",target:n,name:i,oldValue:a,newValue:l}),t}if(e.type==="characterData")return t.push({kind:"text",target:e.target,oldValue:e.oldValue,newValue:e.target.data}),t;if(e.type==="childList"){let n=e.target,i=e.nextSibling,a=e.nextSibling;for(;a&&r?.(a);)a=a.nextSibling;let l=e.previousSibling;for(;l&&r?.(l);)l=l.previousSibling;let s=r?Array.from(e.addedNodes).filter(v=>!r(v)):Array.from(e.addedNodes),m=r?Array.from(e.removedNodes).filter(v=>!r(v)):Array.from(e.removedNodes);return s.length>0&&t.push({kind:"add",parent:n,nodes:s,before:i,afterAuthored:a,beforeAuthored:l,record:e}),m.length>0&&t.push({kind:"remove",parent:n,nodes:m,before:i,afterAuthored:a,beforeAuthored:l,record:e}),t}return t}function it(e,r=null){let t=[],n=new Map;for(let i of e){if(i.type==="attributes"){let a=i.target,l=i.attributeName,s=n.get(a);s||(s=new Map,n.set(a,s)),s.has(l)||(s.set(l,{idx:t.length,oldValue:i.oldValue}),t.push(null));continue}for(let a of X(i,r))t.push(a)}for(let[i,a]of n)for(let[l,s]of a){let m=s.oldValue,v=i.getAttribute(l),h=null;m===v?h=null:m==null?h={kind:"attr-add",target:i,name:l,newValue:v}:v==null?h={kind:"attr-remove",target:i,name:l,oldValue:m}:h={kind:"attr-set",target:i,name:l,oldValue:m,newValue:v},t[s.idx]=h}return t.filter(i=>i!=null)}function at(e){let r=[],t=new Map;for(let i of e){let a=be(i);if(a==null){r.push(i);continue}let l=t.get(i.target);l||(l=new Map,t.set(i.target,l));let s=l.get(a);if(s==null){let m=ve(i);if(m.oldValue===m.newValue)continue;l.set(a,r.length),r.push({...i,...m})}else r[s]={...r[s],newValue:ve(i).newValue}}let n=[];for(let i of r){if(be(i)==null){n.push(i);continue}i.oldValue!==i.newValue&&n.push(lt(i))}return n}var ut=new Set(["attr-set","attr-add","attr-remove","text","value"]);function be(e){return ut.has(e.kind)?e.kind==="text"?"#text":e.kind==="value"?`#${e.prop||"value"}`:e.name==null?null:`@${e.name}`:null}function ve(e){return e.kind==="attr-add"?{oldValue:null,newValue:e.newValue}:e.kind==="attr-remove"?{oldValue:e.oldValue,newValue:null}:{oldValue:e.oldValue,newValue:e.newValue}}function lt(e){return e.kind!=="attr-add"&&e.kind!=="attr-remove"?e:e.oldValue==null&&e.newValue!=null?{...e,kind:"attr-add"}:e.oldValue!=null&&e.newValue==null?{...e,kind:"attr-remove"}:{...e,kind:"attr-set"}}var ke=new WeakMap,dt=0;function O(e){let r=ke.get(e);return r||(r=`n${++dt}`,ke.set(e,r)),r}function x(e){return!!e&&typeof e=="object"&&typeof e.nodeType=="number"}function st(e){return e.kind==="add"||e.kind==="remove"}function Ae(e,r){let t=[],n=e.childNodes;if(!n)return t;for(let i of n)r&&r(i)||t.push(O(i));return t}function W(e,r,t=null,n=null){if(!x(e))return null;if(e.nodeType===3)return`#text:${JSON.stringify(e.data)}`;if(e.nodeType===8)return`#comment:${JSON.stringify(e.data)}`;if(e.nodeType!==1)return`#node:${e.nodeType}`;let i=[];if(e.attributes){for(let l of e.attributes)ct(l.name,e,r,t)||i.push(`${l.name}=${JSON.stringify(l.value)}`);i.sort()}let a=[];if(e.childNodes)for(let l of e.childNodes)ft(l,n)||a.push(W(l,r,t,n));return`<${String(e.tagName||"").toLowerCase()}${i.length?` ${i.join(" ")}`:""}>${a.join("")}</>`}function ne(e,r=[]){if(!x(e))return r;if(e.nodeType===1){let t=e.getAttribute&&e.getAttribute("data-id");t&&r.push(t)}if(e.childNodes)for(let t of e.childNodes)ne(t,r);return r}function ct(e,r,t,n=null){if(typeof t!="function")return!1;try{return!!t(e,r,n)}catch{return!1}}function ft(e,r){if(typeof r!="function")return!1;try{return!!r(e)}catch{return!1}}function Ee(e,r){if(typeof r!="function")return[];let t=[],n=i=>{if(!x(i))return;let a=!1;try{a=!!r(i)}catch{a=!1}if(a&&t.push(R(i,"protected")),i.childNodes)for(let l of i.childNodes)n(l)};for(let i of e)n(i);return t}function R(e,r,t=null){let n=e;n&&n.nodeType!==1&&(n=n.parentElement);let i=n&&typeof n.closest=="function"?n.closest("[data-id]"):null;return!i&&t&&typeof t.closest=="function"&&(i=t.closest("[data-id]")),{id:(i?i.getAttribute("data-id"):null)||null,kind:r||null}}function pt(e,r,t=null){return(e||[]).filter(x).map(n=>R(n,r,t))}function H(e){return{replayable:!1,reason:e,steps:[]}}function G(e,r){let t=[[r.afterAuthored,i=>i],[r.beforeAuthored,i=>i+1],[r.before,i=>i]],n=!1;for(let[i,a]of t){if(!x(i))continue;n=!0;let l=e.indexOf(O(i));if(l>=0)return a(l)}return n?null:e.length}function mt(e,r={}){let t=r.isIgnored||null,n=r.ignoreAttribute||null,i=at(e),a=[];for(let h of i){if(!st(h)){if(!x(h.target))return H("non-dom-target");continue}if(!x(h.parent))return H("non-dom-parent");let k=Array.from(h.nodes||[]).filter(x);if(k.length!==0){if(k.length!==Array.from(h.nodes||[]).length)return H("non-dom-node");a.push({primitive:h,nodes:k,parent:h.parent})}}if(gt(a))return H("in-record-move");let l=ht(a,t);if(!l)return H("ambiguous-structure");let s=yt(a,l),m=new Map(a.map(h=>[h.primitive,h])),v=[];for(let h of i){let k=m.get(h);if(!k){v.push(bt(h));continue}let V=s.get(k);if(V){V.at===k&&v.push(V.step);continue}v.push(wt(k,l.get(k),n,t))}return{replayable:!0,reason:null,steps:v}}function gt(e){let r=new Map;for(let t of e){let n=t.primitive.record;if(!n)continue;let i=r.get(n);i||(i=new Map,r.set(n,i));for(let a of t.nodes){let l=i.get(a);l||(l=new Set,i.set(a,l)),l.add(t.primitive.kind)}}for(let t of r.values())for(let n of t.values())if(n.size>1)return!0;return!1}function ht(e,r){let t=new Map;for(let i of e)t.has(i.parent)||t.set(i.parent,Ae(i.parent,r));let n=new Map;for(let i=e.length-1;i>=0;i--){let a=e[i],l=t.get(a.parent);if(!l)return null;let s=l.slice(),m;if(a.primitive.kind==="add"){let v=a.nodes.map(O);if(!v.every(h=>l.includes(h)))return null;m=l.filter(h=>!v.includes(h))}else{let v=G(s,a.primitive);if(v==null)return null;m=s.slice(),m.splice(v,0,...a.nodes.map(O))}n.set(a,{before:m,after:s}),t.set(a.parent,m)}return n}function yt(e,r){let t=new Map,n=new Map;e.forEach((a,l)=>{for(let s of a.nodes){let m=O(s);a.primitive.kind==="remove"?t.set(m,{item:a,index:l,node:s}):n.set(m,{item:a,index:l,node:s})}});let i=new Map;for(let[a,l]of t){let s=n.get(a);if(!s||s.index<l.index||l.item.nodes.length!==1||s.item.nodes.length!==1)continue;let m={type:"move",node:l.node,sourceParent:l.item.parent,destParent:s.item.parent,source:r.get(l.item),dest:r.get(s.item),sourceSlot:l.item.primitive,destSlot:s.item.primitive,targets:[R(l.node,"move")]};i.set(l.item,{step:m,at:s.item}),i.set(s.item,{step:m,at:s.item})}return i}function wt(e,r,t,n){let i=e.primitive.kind;return{type:i==="add"?"add":"restore",parent:e.parent,nodes:e.nodes,seqBefore:r.before,seqAfter:r.after,slot:e.primitive,content:e.nodes.map(a=>W(a,t,e.parent,n)),ids:i==="remove"?e.nodes.flatMap(a=>ne(a)):[],targets:pt(e.nodes,i==="add"?"added":"removed",e.parent)}}function bt(e){return{type:e.kind,primitive:e,targets:[R(e.target,e.name||e.prop||"text")]}}function vt(e,r,t={}){if(!e||!e.replayable)return{ok:!1,code:"unsupported",targets:[]};let n={isIgnored:t.isIgnored||null,ignoreAttribute:t.ignoreAttribute||null,isProtected:t.isProtected||null,inScope:t.inScope||(()=>!0),liveNodesWithIds:t.liveNodesWithIds||(()=>[]),sim:new Map,planned:new Map,operations:[]};for(let i=0;i<e.steps.length;i++){let a=e.steps[r==="undo"?e.steps.length-1-i:i],l=At(a,r,n);if(l)return{ok:!1,code:l.code,targets:l.targets}}return{ok:!0,operations:n.operations}}function q(e,r){return e.sim.has(r)||e.sim.set(r,Ae(r,e.isIgnored)),e.sim.get(r)}function Ve(e,r){for(let t=e;t;t=t.parentNode)if(r.planned.has(t))return r.planned.get(t);return r.inScope(e)}function Ne(e,r){return r.liveNodesWithIds(e).filter(t=>Ve(t,r)).length>0}function E(e,r){return{code:e,targets:r||[]}}function kt(e){return e.kind==="text"?e.target.data:e.kind==="value"?typeof e.read=="function"?e.read(e.target):e.target[e.prop||"value"]:e.target.getAttribute(e.name)}function At(e,r,t){let n=r==="undo";return e.type==="move"?Pt(e,n,t):e.type==="add"?Vt(e,n,t):e.type==="restore"?Nt(e,n,t):Et(e,n,t)}function Et(e,r,t){let n=e.primitive,i=r?n.newValue:n.oldValue,a=r?n.oldValue:n.newValue;return x(n.target)?Ve(n.target,t)?n.kind==="value"&&typeof n.write=="function"&&typeof n.read!="function"?E("unsupported",e.targets):kt(n)!==i?E("content-changed",e.targets):(n.kind==="value"?t.operations.push({type:"value",target:n.target,prop:n.prop||"value",value:a,read:n.read||null,write:n.write||null}):n.kind==="text"?t.operations.push({type:"text",target:n.target,data:a}):t.operations.push({type:"attr",target:n.target,name:n.name,value:a??null}),null):E("target-detached",e.targets):E("unsupported",e.targets)}function Vt(e,r,t){if(!x(e.parent)||!t.inScope(e.parent))return E("target-detached",e.targets);if(r){if(!$(q(t,e.parent),e.seqAfter))return E("structure-changed",e.targets);let s=Ee(e.nodes,t.isProtected);if(s.length>0)return E("protected",s);for(let m=0;m<e.nodes.length;m++)if(W(e.nodes[m],t.ignoreAttribute,e.parent,t.isIgnored)!==e.content[m])return E("content-changed",e.targets);for(let m of e.nodes)t.operations.push({type:"remove",node:m}),t.planned.set(m,!1);return t.sim.set(e.parent,e.seqBefore.slice()),null}if(!$(q(t,e.parent),e.seqBefore))return E("structure-changed",e.targets);for(let s of e.nodes)if(s.parentNode)return E("structure-changed",e.targets);let n=e.nodes.flatMap(s=>ne(s));if(n.length>0&&Ne(n,t))return E("duplicate-id",e.targets);let i=G(e.seqBefore,e.slot);if(i==null)return E("unsupported",e.targets);let a=e.seqBefore.slice(),l=i;for(let s of e.nodes)t.operations.push({type:"insert",parent:e.parent,node:s,beforeId:a[l]??null}),a=a.slice(0,l).concat(O(s),a.slice(l)),l+=1,t.planned.set(s,!0);return t.sim.set(e.parent,e.seqAfter.slice()),null}function Nt(e,r,t){if(!x(e.parent)||!t.inScope(e.parent))return E("target-detached",e.targets);if(r){if(!$(q(t,e.parent),e.seqAfter))return E("structure-changed",e.targets);for(let s=0;s<e.nodes.length;s++){let m=e.nodes[s];if(m.parentNode||W(m,t.ignoreAttribute,e.parent,t.isIgnored)!==e.content[s])return E("content-changed",e.targets)}if(e.ids.length>0&&Ne(e.ids,t))return E("duplicate-id",e.targets);let i=G(e.seqAfter,e.slot);if(i==null)return E("unsupported",e.targets);let a=e.seqAfter.slice(),l=i;for(let s of e.nodes)t.operations.push({type:"insert",parent:e.parent,node:s,beforeId:a[l]??null}),a=a.slice(0,l).concat(O(s),a.slice(l)),l+=1,t.planned.set(s,!0);return t.sim.set(e.parent,e.seqBefore.slice()),null}if(!$(q(t,e.parent),e.seqBefore))return E("structure-changed",e.targets);let n=Ee(e.nodes,t.isProtected);if(n.length>0)return E("protected",n);for(let i=0;i<e.nodes.length;i++){let a=e.nodes[i];if(a.parentNode!==e.parent||W(a,t.ignoreAttribute,e.parent,t.isIgnored)!==e.content[i])return E("content-changed",e.targets)}for(let i of e.nodes)t.operations.push({type:"remove",node:i}),t.planned.set(i,!1);return t.sim.set(e.parent,e.seqAfter.slice()),null}function xt(e,r){let t=e.indexOf(r);return t<0?null:e.slice(0,t).concat(e.slice(t+1))}function Pt(e,r,t){let n=O(e.node),i=r?e.destParent:e.sourceParent,a=r?e.sourceParent:e.destParent,l=q(t,i),s=q(t,a),m=r?e.dest.after:e.source.before,v=r?e.source.after:e.dest.before,h=r?e.sourceSlot:e.destSlot;if(!x(i)||!x(a)||!t.inScope(i)||!t.inScope(a))return E("target-detached",e.targets);if(!$(l,m))return E("structure-changed",e.targets);let k=i===a?xt(s,n):s;if(!$(k,v))return E("structure-changed",e.targets);let V=G(v,h);return V==null?E("unsupported",e.targets):(t.operations.push({type:"insert",parent:a,node:e.node,beforeId:v[V]??null}),t.planned.set(e.node,!0),r?(t.sim.set(a,e.source.before.slice()),i!==a&&t.sim.set(i,e.dest.before.slice())):(t.sim.set(a,e.dest.after.slice()),i!==a&&t.sim.set(i,e.source.after.slice())),null)}function $(e,r){if(!e||!r||e.length!==r.length)return!1;for(let t=0;t<e.length;t++)if(e[t]!==r[t])return!1;return!0}function St(e,r){for(let t of e.childNodes||[])if(O(t)===r)return t;return null}function xe(e,r){typeof e.write=="function"?e.write(e.target,r):e.target[e.prop]=r}function It(e){let r=[];try{for(let t of e)Rt(t,r);return{ok:!0}}catch(t){for(let n=r.length-1;n>=0;n--)try{r[n]()}catch{}return{ok:!1,error:t}}}function Rt(e,r){if(e.type==="attr"){let t=e.target.getAttribute(e.name);e.value==null?e.target.removeAttribute(e.name):e.target.setAttribute(e.name,e.value),r.push(()=>{t==null?e.target.removeAttribute(e.name):e.target.setAttribute(e.name,t)});return}if(e.type==="text"){let t=e.target.data;e.target.data=e.data,r.push(()=>{e.target.data=t});return}if(e.type==="value"){let t=typeof e.read=="function"?e.read(e.target):e.target[e.prop];xe(e,e.value),r.push(()=>xe(e,t));return}if(e.type==="insert"){let t=e.beforeId==null?null:St(e.parent,e.beforeId);if(e.beforeId!=null&&!t)throw new Error("hyper-undo: replay anchor vanished");let n=e.node.parentNode,i=e.node.nextSibling;e.parent.insertBefore(e.node,t),r.push(()=>{n?n.insertBefore(e.node,i&&i.parentNode===n?i:null):e.node.parentNode===e.parent&&e.parent.removeChild(e.node)});return}if(e.type==="remove"){let t=e.node.parentNode;if(!t)throw new Error("hyper-undo: replay target is no longer attached");let n=e.node.nextSibling;t.removeChild(e.node),r.push(()=>t.insertBefore(e.node,n))}}var Ct=['[src^="chrome-extension://"]','[href^="chrome-extension://"]','[src^="moz-extension://"]','[href^="moz-extension://"]','[src^="safari-web-extension://"]','[href^="safari-web-extension://"]','[id="1p-menu-live-region"]',"com-1password-button","com-1password-menu","com-1password-notification","grammarly-extension","grammarly-desktop-integration","lt-div","lt-card","lt-toolbar","lt-highlighter","[data-lastpass-root]","[data-lastpass-icon-root]","[data-dashlane-shadowhost]","[data-klarna-extension]",'[class*="klarna-extension"]',".skiptranslate","#goog-gt-tt",".goog-te-banner-frame",".goog-te-balloon-frame","style.darkreader","style[data-darkreader-mode]","style[data-darkreader-scheme]","#loom-companion-mv3","loom-container","[ext-id]"],Ot=["data-grammarly","data-lt","data-1p","data-com-onepassword","data-lastpass","data-lp","data-kwimpala","data-bitwarden","data-bw","data-dashlane","data-np","data-protonpass","data-proton-pass","data-keeper","data-rf","data-roboform","data-honey","data-rakuten","data-capital-one","data-wikibuy","data-klarna","data-darkreader","data-evernote","data-pocket","data-pin"],Mt=Ct.join(","),Tt=new RegExp("^(?:"+Ot.join("|")+")(?:-|$)"),$r=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"]})}),jt=Object.freeze({"editor-ui":Object.freeze(["no-data","no-save","no-snapshot","no-watch","no-undo"])}),qt=Object.freeze(["no-save","no-snapshot","no-trigger-autosave","no-dirty","no-watch","no-undo","no-data","freeze","editor-ui","live"]);function oe(e,r){if(!e||e.nodeType!==1)return!1;let t=e.getAttribute?.("clay");return!!(t&&t.split(/\s+/).includes(r)||e.hasAttribute?.(r))}function Pe(e,r){if(oe(e,r))return!0;for(let[t,n]of Object.entries(jt))if(n.includes(r)&&oe(e,t))return!0;return!1}function $t(e){return e==="clay"||qt.includes(e)}var Lt=["mutations-ignore","save-remove","save-ignore","save-freeze","no-undo","no-watch"];function Kt(){if(typeof window>"u")return null;let e=window.clay?.region||window.hyperclay?.region;return e&&typeof e.resolveRegionPolicy=="function"?e.resolveRegionPolicy:null}function ie(e){let r=Kt();if(r)try{if(!r(e).undoable)return!0}catch{}let t=e&&e.nodeType!==1?e.parentElement:e;if(t&&t.closest&&t.closest(Mt))return!0;for(;t&&t.nodeType===1;){if(Pe(t,"no-undo")||Pe(t,"no-watch"))return!0;for(let n of Lt)if(oe(t,n))return!0;t=t.parentElement}return!1}function zt(e){let r=e.target,t=r.cloneNode(!1),n=t;for(;r.parentElement;){r=r.parentElement;let i=r.cloneNode(!1);i.appendChild(t),t=i}return e.oldValue==null?n.removeAttribute(e.attributeName):n.setAttribute(e.attributeName,e.oldValue),ie(n)}function ae(e,r,t){if(t?.type==="attributes"&&$t(t.attributeName)){if(ie(e)&&zt(t))return!0}else if(ie(e))return!0;if(t&&t.type==="attributes"){if(t.attributeName&&Tt.test(t.attributeName.toLowerCase()))return!0;if(r)try{if(r(t.attributeName,t.target))return!0}catch{}}return!1}function Dt(){let e=new Map;function r(i,a){let l=e.get(i);return l||(l=new Set,e.set(i,l)),l.add(a),()=>t(i,a)}function t(i,a){let l=e.get(i);l&&l.delete(a)}function n(i,a){let l=e.get(i);if(l)for(let s of Array.from(l))try{s(a)}catch(m){console.error("[hyper-undo] listener threw",m)}}return{on:r,off:t,emit:n}}var _t={maxHistory:100,idleWindowMs:500,idleLabel:"Edit",recording:"automatic",ignoreAttribute:null,isProtected:null,ignoreNode:null,debug:!1};function Se(e){let r={..._t,...e};if(!r.scope)throw new Error("hyper-undo: scope is required");let t=Dt(),n=[],i=[],a=`u${Math.random().toString(36).slice(2,8)}`,l=0,s=null,m=[],v=null,h=null,k=0,V=!1,L=r.recording==="commands"?"commands":"automatic",S=null,K=!1;function P(...o){r.debug&&console.log("[hyper-undo]",...o)}function Jt(){V||(V=!0,h=Ft(z),h.observe(r.scope,{childList:!0,attributes:!0,characterData:!0,subtree:!0,attributeOldValue:!0,characterDataOldValue:!0}),P("started"))}function Ft(o){let u=typeof document<"u"&&r.scope===document.body,f=typeof window<"u"&&(window.clay?.Mutation||window.hyperclay?.Mutation)||null;return u&&f&&typeof f.createObserver=="function"?(P("sourcing records from the platform Mutation hub (shared observer)"),f.createObserver(o)):new MutationObserver(o)}function Oe(){V&&(V=!1,h&&(h.disconnect(),h=null),D(),n.length=0,i.length=0,m=[],s=null,S=null,K=!1,k=0,P("stopped"))}function Xt(){let o=r.scope;return!!(o&&o.nodeType===1&&o.isConnected===!1)}function z(o){Me(o,!1)}function Me(o,u){if(S){for(let g of o)S.records.push(g);return}if(L==="commands"||k>0)return;let f=se(Gt(o),u);if(f.length>0){for(let g of f)m.push(g);Te()}}function Gt(o){return typeof r.ignoreNode!="function"?o:o.filter(u=>{if(u.type!=="childList")return!0;let f=[...u.addedNodes,...u.removedNodes];return f.length===0?!0:!f.every(g=>Yt(g))})}function Yt(o){try{return!!r.ignoreNode(o)}catch{return!1}}function se(o,u=!1){let f=o.filter(g=>(mr(g.target)||u&&He(g.target))&&!ae(g.target,r.ignoreAttribute,g));return it(f,g=>ae(g,r.ignoreAttribute))}function Te(){D(),v=setTimeout(je,r.idleWindowMs)}function D(){v!=null&&(clearTimeout(v),v=null)}function je(){if(v=null,m.length===0)return;let o=m;m=[],Y(r.idleLabel,o)}function Y(o,u){let f=mt(u,{isIgnored:ce,ignoreAttribute:qe});if(f.steps.length===0)return P("commit",o,"with nothing to record"),t.emit("commit"),null;let g={id:`${a}-${++l}`,label:o,timestamp:Date.now(),primitives:u,certificate:f};for(n.push(g),i.length=0,s=null;n.length>r.maxHistory;)n.shift();return P("commit",o,"primitives:",u.length),t.emit("commit"),g}function ce(o){return ae(o,r.ignoreAttribute)}function qe(o,u,f=null){if(typeof r.ignoreAttribute!="function")return!1;try{return!!r.ignoreAttribute(o,u,f)}catch{return!1}}function Zt(o){if(typeof r.isProtected!="function")return!1;try{return!!r.isProtected(o)}catch{return!1}}function Qt(o,u){if(!V)throw new Error("hyper-undo: scope not started");if(L==="commands")return Ke(o,u,{honorPause:!0,receipt:!1});z(h.takeRecords()),_();let f=k===0?$e():null,g=u();if(g&&typeof g.then=="function")throw new Error("hyper-undo: commit() fn must be synchronous; returned a Promise");if(Me(h.takeRecords(),!0),f!=null&&Le(f),m.length===0){t.emit("commit");return}D();let A=m;m=[],Y(o,A)}function er(o){if(!V)throw new Error("hyper-undo: scope not started");if(!h)return;if(k>1){h.takeRecords();return}_();let u=se(h.takeRecords(),!0);u.length!==0&&(D(),Y(o,u))}function tr(){h&&h.takeRecords()}function fe(){let o=r.scope;return o&&o.ownerDocument||(typeof document<"u"?document:null)}function Z(){let o=fe();return!o||!o.head||typeof o.head.querySelector!="function"?null:o.head.querySelector("title")}function $e(){let o=Z();return o?o.textContent:null}function Le(o){let u=Z();if(!u||o==null)return;let f=u.textContent;f!==o&&De({kind:"value",target:u,prop:"textContent",oldValue:o,newValue:f})}function rr(o){if(!o)return null;let u=fe();if(!u||o.target!==u||o.prop!=="title")return o;let f=Z();return f?{kind:"value",target:f,prop:"textContent",oldValue:o.oldValue,newValue:o.newValue}:null}function nr(){if(typeof window>"u")return!1;let o=window.clay?.effect||window.hyperclay?.effect;return!!(o&&o.running)}function or(){h&&z(h.takeRecords()),_(),S={records:[],primitives:[]}}function ir(){let o=S;if(S=null,!o)return[];let u=se(o.records,!0);for(let f of o.primitives)u.push(f);return u}function Ke(o,u,{honorPause:f,receipt:g}){if(typeof u!="function")throw new Error("hyper-undo: command() needs a synchronous function");if(S)throw new Error("hyper-undo: command() cannot nest inside another command");if(K)throw new Error("hyper-undo: command() cannot run during undo or redo");if(nr())throw new Error("hyper-undo: command() cannot run inside a derived-effect context");if(u.constructor&&u.constructor.name==="AsyncFunction")throw new Error("hyper-undo: command() fn must be synchronous; it was declared async");let A=f&&k>0,I=A?null:$e();or();let M=[],j=null,U;try{try{U=u()}catch(wr){j=wr}if(h&&z(h.takeRecords()),U&&typeof U.then=="function"){try{U.then(void 0,()=>{})}catch{}j||(j=new Error("hyper-undo: command() fn must be synchronous; returned a Promise"))}A||Le(I)}finally{M=ir()}let Q=A||M.length===0?null:Y(o,M);if(j)throw j;return g?Q?{id:Q.id,label:Q.label}:null:Q}function ar(o,u){if(!V)throw new Error("hyper-undo: scope not started");return Ke(o,u,{honorPause:!1,receipt:!0})}function ur(o){if(o!=="automatic"&&o!=="commands")throw new Error("hyper-undo: setRecording() takes 'automatic' or 'commands'");if(S)throw new Error("hyper-undo: setRecording() cannot change while a command is running");return L===o||(_(),L=o,P("recording",o)),L}function ze(o){if(!V||!o||!S&&(k>0||L==="commands"))return;let u=rr(o);u&&De(u)}function De(o){if(S){S.primitives.push(o);return}m.push(o),Te()}function lr(o,{prop:u="value",oldValue:f,newValue:g,read:A,write:I}={}){!o||f===g||ze({kind:"value",target:o,prop:u,oldValue:f,newValue:g,read:A,write:I})}function _(){k===0&&h&&z(h.takeRecords()),m.length!==0&&(D(),je())}function _e(){k===0&&h&&z(h.takeRecords()),k++,P("paused",k)}function Ue(){k!==0&&(k--,k===0&&h&&h.takeRecords(),P("resumed",k))}function Be(o,u){if(Xt())return Oe(),{ok:!1,code:"disconnected"};_();let f=o==="undo"?n:i,g=o==="undo"?i:n,A=f.at(-1);if(!A)return{ok:!1,code:"empty"};if(u&&u!==A.id){let U=We(u)||A;return pe(U,o,"stale-entry")}let I;K=!0;try{I=vt(A.certificate,o,{isIgnored:ce,ignoreAttribute:qe,isProtected:Zt,inScope:gr,liveNodesWithIds:hr})}finally{K=!1}if(!I.ok)return pe(A,o,I.code,I.targets);_e();let M;K=!0;try{M=It(I.operations)}finally{K=!1,Ue()}if(!M.ok)return P(`${o} failed and was rolled back`,M.error),pe(A,o,"replay-error");f.pop(),g.push(A),s=null;let j={ok:!0,entryId:A.id,label:A.label,direction:o};return P(o,A.label),t.emit(o,j),j}function dr(o){return Be("undo",o&&o.entryId)}function sr(o){return Be("redo",o&&o.entryId)}function We(o){return n.find(u=>u.id===o)||i.find(u=>u.id===o)||null}function pe(o,u,f,g=[]){return s={entryId:o.id,direction:u,code:f,targets:g},P("refused",u,f),t.emit("refused",{entryId:o.id,label:o.label,direction:u,code:f,targets:g}),{ok:!1,code:f,entryId:o.id,label:o.label,direction:u}}function cr(o){if(!s||s.entryId!==o)return{ok:!1,code:"not-refused",entryId:o};let u=s.direction,f=u==="undo"?n:i,g=f.at(-1);return!g||g.id!==o?{ok:!1,code:"stale-entry",entryId:o}:(f.pop(),s=null,P("discarded",g.label),t.emit("discard",{entryId:o,label:g.label,direction:u}),{ok:!0,entryId:o,direction:u})}function fr(o){let u=We(o);if(!u||!u.certificate||!u.certificate.replayable)return null;let f=s&&s.entryId===u.id?{direction:s.direction,code:s.code,targets:(s.targets||[]).map(g=>({id:g.id??null,kind:g.kind??null}))}:null;return{id:u.id,label:u.label,timestamp:u.timestamp,refused:f,steps:u.certificate.steps.map(pr)}}function pr(o){if(o.type==="move")return{kind:"move",node:{id:R(o.node).id},from:{id:R(o.sourceParent).id},to:{id:R(o.destParent).id}};if(o.type==="add"||o.type==="restore")return{kind:o.type==="add"?"add":"remove",parent:{id:R(o.parent).id},nodes:o.nodes.map((I,M)=>({id:R(I).id,html:o.content[M]??null}))};let u=o.primitive,f={id:R(u.target).id},g=u.oldValue??null,A=u.newValue??null;return o.type==="value"?{kind:"value",target:f,prop:u.prop??"value",before:g,after:A}:o.type==="text"?{kind:"text",target:f,before:g,after:A}:o.type==="attr-set"||o.type==="attr-add"||o.type==="attr-remove"?{kind:"attribute",target:f,name:u.name??null,before:g,after:A}:{kind:o.type,target:f,before:g,after:A}}function mr(o){let u=r.scope;return!u||!o?!1:o===u||typeof u.contains=="function"&&u.contains(o)}function He(o){let u=fe(),f=u&&u.head;if(!f||!o)return!1;let g=o.nodeType===1?o:o.parentElement;for(;g&&g!==f;g=g.parentElement)if(g.localName==="title")return!1;return g===f}function gr(o){let u=r.scope;return!o||!u?!1:o===u||Z()===o||He(o)?!0:typeof u.contains=="function"?u.contains(o):!1}function hr(o){let u=r.scope;if(!o||o.length===0||typeof u?.querySelectorAll!="function")return[];let f=new Set(o),g=[];for(let A of u.querySelectorAll("[data-id]"))f.has(A.getAttribute("data-id"))&&(ce(A)||g.push(A));return g}function yr(){h&&h.takeRecords(),n.length=0,i.length=0,m=[],s=null,D(),P("cleared"),t.emit("clear")}return{_config:r,start:Jt,stop:Oe,commit:Qt,commitCaptured:er,discardCaptured:tr,flush:_,command:ar,setRecording:ur,record:ze,recordValue:lr,undo:dr,redo:sr,clear:yr,discard:cr,describe:fr,pause:_e,resume:Ue,on:t.on,off:t.off,get canUndo(){return n.length>0},get canRedo(){return i.length>0},get isPaused(){return k>0},get history(){return n.map(o=>{let u={id:o.id,label:o.label,timestamp:o.timestamp};return s&&s.entryId===o.id&&(u.refused={direction:s.direction,code:s.code,targets:s.targets}),u})},get future(){return i.map(o=>{let u={id:o.id,label:o.label,timestamp:o.timestamp};return s&&s.entryId===o.id&&(u.refused={direction:s.direction,code:s.code,targets:s.targets}),u}).reverse()},get scope(){return r.scope}}}function Ut(e){let r=typeof e.composedPath=="function"?e.composedPath():[],t=r.length>0?r:Bt(e.target);for(let n of t){if(!n||n.nodeType!==1)continue;let i=String(n.tagName||"").toUpperCase();if(i==="INPUT"||i==="TEXTAREA"||i==="SELECT"||n.isContentEditable===!0)return!0;let a=n.getAttribute&&n.getAttribute("contenteditable");if(a!=null&&String(a).toLowerCase()!=="false")return!0}return!1}function Bt(e){let r=[];for(let t=e;t;t=t.parentNode||(t.host??null))r.push(t);return r}function Wt(e,r){let t=n=>{let i=e.scope;if(i&&i.nodeType===1&&i.isConnected===!1){r&&r();return}if(n.defaultPrevented||n.isComposing||n.keyCode===229||Ut(n))return;let a=n.target,l=e._config.shadowKeydownIn;if(a&&a.closest&&Array.isArray(l))for(let m of l)try{if(a.closest(m))return}catch{}if(!(n.metaKey||n.ctrlKey))return;let s=(n.key||"").toLowerCase();if(s==="z"&&!n.shiftKey){n.preventDefault(),n.stopPropagation(),e.undo();return}if(s==="z"&&n.shiftKey){n.preventDefault(),n.stopPropagation(),e.redo();return}if(s==="y"&&!n.shiftKey){n.preventDefault(),n.stopPropagation(),e.redo();return}};return window.addEventListener("keydown",t,!0),()=>window.removeEventListener("keydown",t,!0)}var ue=[".CodeMirror",".cm-editor",".monaco-editor",".ace_editor",".ql-editor",".tiptap",".ProseMirror",".overtype-input","[data-richclay-active]"],p=null,le=null,Ie=null,T=null;function Re(e,r){if(T){if(T.inst===e)return T.cleanup;throw new Error("hyper-undo: another scope already owns the global Cmd+Z binding (bindKeys: true). Stop it first, or use bindKeys: false for additional scopes.")}let t=Wt(e,r);return T={inst:e,cleanup:t},t}function Ce(e){T&&T.inst===e&&(T.cleanup(),T=null)}var de={defaults:{shadowKeydownIn:ue},start(e={}){let r=e.scope||(typeof document<"u"?document.body:null);if(!r)throw new Error("hyper-undo: no scope (need document.body or explicit { scope })");if(p){if(le===r)return console.warn("[hyper-undo] start() called again on existing singleton; ignoring new options"),p;throw new Error("hyper-undo: start() called with a different scope while the singleton is already started. Use undo.create({ scope }) for additional scopes, or call undo.stop() first.")}let t={...e,scope:r,shadowKeydownIn:e.shadowKeydownIn||ue};return p=Se(t),p.start(),le=r,e.bindKeys!==!1&&(Ie=Re(p,()=>de.stop())),p},stop(){p&&(Ce(p),Ie=null,p.stop(),p=null,le=null)},create(e={}){let r=e.scope||(typeof document<"u"?document.body:null);if(!r)throw new Error("hyper-undo: no scope (need document.body or explicit { scope })");let t={...e,scope:r,shadowKeydownIn:e.shadowKeydownIn||ue},n=Se(t),i=null,a={_config:n._config,commit:n.commit,command:n.command,setRecording:n.setRecording,commitCaptured:n.commitCaptured,discardCaptured:n.discardCaptured,flush:n.flush,record:n.record,recordValue:n.recordValue,undo:n.undo,redo:n.redo,clear:n.clear,discard:n.discard,describe:n.describe,pause:n.pause,resume:n.resume,on:n.on,off:n.off,get canUndo(){return n.canUndo},get canRedo(){return n.canRedo},get isPaused(){return n.isPaused},get history(){return n.history},get future(){return n.future},get scope(){return n.scope},start(){e.bindKeys&&(i=Re(n,()=>a.stop())),n.start()},stop(){Ce(n),i=null,n.stop()}};return a},commit(e,r){return p?p.commit(e,r):void 0},command(e,r){return p?p.command(e,r):void 0},setRecording(e){return p?p.setRecording(e):void 0},commitCaptured(e){return p?p.commitCaptured(e):void 0},discardCaptured(){return p?p.discardCaptured():void 0},record(e){return p?p.record(e):void 0},recordValue(e,r){return p?p.recordValue(e,r):void 0},undo(e){return p?p.undo(e):void 0},redo(e){return p?p.redo(e):void 0},clear(){return p?p.clear():void 0},discard(e){return p?p.discard(e):void 0},describe(e){return p?p.describe(e):void 0},pause(){return p?p.pause():void 0},resume(){return p?p.resume():void 0},flush(){return p?p.flush():void 0},on(e,r){return p?p.on(e,r):void 0},off(e,r){return p?p.off(e,r):void 0},get canUndo(){return p?p.canUndo:!1},get canRedo(){return p?p.canRedo:!1},get history(){return p?p.history:[]},get future(){return p?p.future:[]},get isPaused(){return p?p.isPaused:!1}},Ht=de;return F(C)})();window.__hyperclayNoAutoExport||(window.hyperclay=window.hyperclay||{},window.hyperclay.undo=Ze.undo,window.h=window.hyperclay);var y=Ze.undo;var ge=new Set,nt=(d={})=>{let c=d.ignoreAttribute;return{...d,ignoreAttribute:(b,w,N)=>ge.has(b)||Je(b,w)||Xe(w,b,N)||Ge(b,w)||(c?c(b,w,N):!1),isProtected:d.isProtected||br,ignoreNode:d.ignoreNode||Ye}};function br(d){let c=window.clay?.region?.resolveRegionPolicy;if(!c||d.nodeType!==1)return!1;let b=c(d);if(b.undoable!==!1||b.persist==="none")return!1;let w=d.parentElement;return!w||c(w).undoable!==!1}var vr=y.create.bind(y);y.create=d=>vr(nt(d));var he=null,kr=y.setRecording.bind(y);y.setRecording=d=>(he=d??null,kr(d));var Qe=()=>y.history.at(-1)?.id??null,Ar=y.command.bind(y);y.command=(d,c)=>{let b=Ar(d,c);return b&&te(),b};var Er=y.commit.bind(y),et=!1;y.commit=(d,c)=>{!et&&window.clay?.effect?.running&&(et=!0,console.warn(`clay.effect: undo.commit("${d}") was called inside an effect. Run commands from event handlers, not from an effect.`));let b=Qe(),w=Er(d,c);return(w||Qe()!==b)&&te(),w};var Vr=`input${ee}:not([type="password"]):not([type="hidden"]):not([type="file"]), textarea${ee}, select${ee}`;function Nr(){let d=c=>window.clay?.region?.resolveRegionPolicy?.(c)?.undoable!==!1;document.querySelectorAll(Vr).forEach(c=>{if(!d(c))return;if(c.tagName==="SELECT"){for(let C of c.options){let X=C.hasAttribute("selected");C.selected!==X&&(C.selected=X)}return}let b=(c.getAttribute("type")||"text").toLowerCase();if(c.tagName==="INPUT"&&(b==="checkbox"||b==="radio")){let C=c.hasAttribute("checked");c.checked!==C&&(c.checked=C);return}let w=c.tagName==="TEXTAREA"?c.getAttribute("data-value")??c.textContent:c.getAttribute("value")??"";if(c.value===w)return;let N=c===document.activeElement,B,F;try{B=c.selectionStart,F=c.selectionEnd}catch{}if(c.value=w,N&&B!=null)try{c.setSelectionRange(Math.min(B,w.length),Math.min(F,w.length))}catch{}})}var tt=d=>{d?.ok&&(te(),Nr())},rt=({entryId:d,label:c,direction:b,code:w})=>{document.dispatchEvent(new CustomEvent("clay:undo-refused",{detail:{ok:!1,code:w,entryId:d,label:c,direction:b}})),xr({ok:!1,code:w,entryId:d,label:c,direction:b})},me=null;function ot(){return me??=import("../c-QQHEX6HA.js").catch(d=>(me=null,console.error("clayjs: the undo recovery module could not be downloaded; a refused step stays in this tab only",d),null)),me}async function xr(d){let c={ok:!1,code:"unavailable"};try{let w=await ot();w&&(c=await w.keepRefusal(y,d))}catch{c={ok:!1,code:"error"}}let b=c?.ok===!0?{ok:!0,entryId:d.entryId,direction:d.direction}:{ok:!1,code:c?.code||"error",entryId:d.entryId,direction:d.direction};document.dispatchEvent(new CustomEvent("clay:undo-kept",{detail:b}))}var we=(d,c)=>(...b)=>ot().then(w=>w?w[d](...b):c,()=>c),Pr=we("keep",{ok:!1,code:"unavailable"});y.ignoreAttribute=d=>{let c=String(d||"");return c?(ge.add(c),()=>{ge.delete(c)}):()=>{}};y.keep=async d=>{let c=await Pr(d);return c?.ok===!0&&document.dispatchEvent(new CustomEvent("clay:undo-kept",{detail:{ok:!0,key:d?.key==null?null:`app:${d.key}`}})),c};y.kept=we("kept",{ok:!1,code:"unavailable",records:[]});y.dismissKept=we("dismissKept",{ok:!1,code:"unavailable"});var ye=new Set;y.reviewActions=d=>typeof d!="function"?()=>{}:(ye.add(d),()=>{ye.delete(d)});y.reviewActionsFor=d=>{let c=[];for(let b of ye){let w;try{w=b(d)}catch(N){console.error("clayjs: a review action could not describe itself; the copy stays reviewable",N);continue}for(let N of Array.isArray(w)?w:[])N&&typeof N.run=="function"&&N.label&&c.push(N)}return c};var Sr=["commit","undo","redo","refused","discard","clear"],re=()=>{let d=!!J?.started;document.dispatchEvent(new CustomEvent("clay:undo-change",{detail:{canUndo:d&&y.canUndo,canRedo:d&&y.canRedo,undo:d&&y.history.at(-1)||null,redo:d&&y.future?.[0]||null}}))},J=null;function Ir(){return{started:!1,admitted:!1,subscriptions:[]}}var Rr=d=>d?d.signal?.aborted?!0:typeof d.isCurrent=="function"&&!d.isCurrent():!1;function Cr(){return typeof document>"u"||document.readyState!=="loading"?Promise.resolve():new Promise(d=>document.addEventListener("DOMContentLoaded",d,{once:!0}))}function Or(d){return{enable(){if(!d.started){d.started=!0,d.admitted=!0,y.start(nt({bindKeys:!0,...he?{recording:he}:{}}));for(let c of["undo","redo"])y.on(c,tt),d.subscriptions.push({type:c,handler:tt});y.on("refused",rt),d.subscriptions.push({type:"refused",handler:rt});for(let c of Sr)y.on(c,re),d.subscriptions.push({type:c,handler:re});re()}},quiesce(){d.admitted&&(d.admitted=!1,y.pause())},resume(){d.admitted||(d.admitted=!0,y.resume())},dispose(){if(d.admitted=!1,J===d&&(J=null),!!d.started){d.started=!1;for(let{type:c,handler:b}of d.subscriptions.splice(0))y.off(c,b);y.stop(),re()}}}}function Mr(){return{id:"clay:undo",order:350,async prepare(d={}){if(d.initial===!0)return Tr();if(await Cr(),Rr(d))throw Object.assign(new Error("clay:undo prepared for a stale generation"),{code:"stale-document"});return Or(J||(J=Ir()))}}}async function Tr(){let d=await qr;return{enable(){},quiesce:()=>d?.quiesce(),resume:()=>d?.resume(),dispose:()=>d?.dispose()}}async function jr(){if(!Fe()||typeof document>"u")return null;let d=await Mr().prepare();return d.enable(),d}var qr=jr();var Jr=y;export{Jr as default,jr as init,Mr as modeParticipant,qr as ready,Nr as restoreControls,y as undo,Mr as undoParticipant};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as l}from"../c-2SPVQSHC.js";import{b as u}from"../c-CYWLPPUS.js";import"../c-VHNSBD2M.js";var p="unsent",o=new Map(Object.entries(u.session.get(p)||{})),r=new WeakMap,m=l({id:"unsent",isPending:()=>o.size>0}),d=e=>{let t=e.closest("[unsent-key]"),n=t&&t.getAttribute("unsent-key")||e.closest("[data-id]")?.dataset.id,s=e.getAttribute("unsent");return n&&s?`${n}|${s}`:null},g=e=>{let t=e.indexOf("|");return[e.slice(0,t),e.slice(t+1)]};function c(){u.session.set(p,Object.fromEntries(o)),m.changed(),document.dispatchEvent(new CustomEvent("clay:unsent-changed",{detail:{count:o.size}}))}function v(e){let t=e.target.closest?.("[unsent]");t&&!r.has(t)&&r.set(t,t.value)}function y(e){let t=e.target.closest?.("[unsent]"),n=t&&d(t);if(!n)return;let s=r.get(t)??o.get(n)?.base??"";t.value===s?(o.delete(n),r.delete(t)):o.set(n,{base:s,text:t.value}),c()}function i(e){let t=d(e),n=t&&o.get(t);if(!n)return;let s=e.value;r.set(e,n.base),e.value=n.text,e.dispatchEvent(new CustomEvent("clay:unsent-restored",{bubbles:!0,detail:{base:n.base,current:s,stale:s!==n.base}}))}var E=new MutationObserver(e=>{for(let t of e)for(let n of t.addedNodes)if(n.nodeType===1){n.matches("[unsent]")&&i(n);for(let s of n.querySelectorAll("[unsent]"))i(s)}});function b(){for(let e of document.querySelectorAll("[unsent]"))i(e)}var f=!1;function a(){f||(f=!0,document.addEventListener("beforeinput",v,!0),document.addEventListener("input",y,!0),E.observe(document.body,{childList:!0,subtree:!0}))}a();b();function k(){return{id:"clay:unsent",order:320,prepare(e={}){return e.initial===!0?{enable(){},quiesce(){},resume(){},dispose(){}}:(a(),{enable(){a(),b()},quiesce(){},resume(){},dispose(){}})}}}var w={get size(){return o.size},list:()=>[...o].map(([e,t])=>{let[n,s]=g(e);return{record:n,name:s,...t}}),clear(e){let t=d(e);t&&o.delete(t)&&c(),r.delete(e)},drop(e,t){o.delete(`${e}|${t}`)&&c()}};export{k as modeParticipant,w as unsent,k as unsentParticipant};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as y}from"../c-4WKFKEKF.js";import"../c-VHNSBD2M.js";var U="hha:upgrade-check:",L=1440*60*1e3,b="upgrade-dismissed",A="A new version of this template is available.";function g(t,e){let n=t.querySelector(`meta[name="${e}"]`),a=n?n.getAttribute("content"):null;return a&&a.trim()?a.trim():null}function C(t){try{let e=globalThis.localStorage.getItem(t);return e?JSON.parse(e):null}catch{return null}}function I(t,e){try{globalThis.localStorage.setItem(t,JSON.stringify(e))}catch{}}async function R(t){let e=globalThis.crypto&&globalThis.crypto.subtle;if(!e)return null;let n=await e.digest("SHA-256",t);return[...new Uint8Array(n)].map(a=>a.toString(16).padStart(2,"0")).join("")}async function E(t,e){try{let n=await t(e,{credentials:"omit"});return n.ok?n:null}catch{return null}}async function k(t,e,{fetchFn:n,now:a}){let r=new URL(t);r.pathname=r.pathname.replace(/\.html$/,".json");let u=`${U}${r.href}:${e}`,l=C(u);if(l&&typeof l.checkedAt=="number"&&a-l.checkedAt<L)return{latest:l.latest,latestUrl:r};let i=await E(n,r.href);if(!i)return{latest:null,latestUrl:r};let s=null;try{s=await i.json()}catch{return{latest:null,latestUrl:r}}return I(u,{checkedAt:a,latest:s}),{latest:s,latestUrl:r}}async function M({doc:t=document,loc:e=location,fetchFn:n=(r,u)=>fetch(r,u),now:a=Date.now()}={}){let r=typeof window<"u"&&window.clay||{};if(!r.canEdit||r.isDraftMode)return null;let u=g(t,"hyper-source"),l=g(t,"hyper-version");if(!u||!l)return null;let i;try{i=new URL(u,e?e.href:void 0)}catch{return null}if(!i.pathname.endsWith(".html")||e&&i.origin===e.origin&&i.pathname===e.pathname)return null;let s=new URL(i.href);s.pathname=s.pathname.replace(/\.html$/,".json");let{latest:o}=await k(i.href,l,{fetchFn:n,now:a});if(!o||typeof o!="object"||typeof o.version!="string"||!y(o.version,l))return null;let f=r.storage&&r.storage.local;if(f&&f.get(b)===o.version||typeof o.html!="string"||!o.html)return null;let h=new URL(o.html,s).href,m=await E(n,h);if(!m)return null;let p;try{p=await m.arrayBuffer()}catch{return null}let d=await R(p);return!d||d!==String(o.sha256||"").toLowerCase()?null:{version:o.version,html:h,sha256:d,latestUrl:s.href}}function P(t){let e=window.clay,n=e&&e.storage&&e.storage.local;n&&n.set(b,t)}function T(t){return!!(t&&Array.isArray(t.plugins)&&t.plugins.includes("menu"))}function S(t){return!!(t&&t.menu&&typeof t.menu.addItem=="function")}function $(t){return S(t)||!T(t)?Promise.resolve():new Promise(e=>{let n=a=>{!a.detail||a.detail.plugin!=="menu"||(document.removeEventListener("clay:plugin-ready",n),document.removeEventListener("clay:plugin-failed",n),e())};document.addEventListener("clay:plugin-ready",n),document.addEventListener("clay:plugin-failed",n)})}async function j(t,e=typeof window<"u"?window.clay:null){let n=()=>document.dispatchEvent(new CustomEvent("clay:upgrade-requested",{detail:t}));return await $(e),S(e)?(e.menu.addItem({id:"upgrade",label:`Upgrade to version ${t.version}`,badge:!0,run:n}),"menu"):e&&typeof e.toastPersistent=="function"?(e.toastPersistent(A,"info",{actions:[{label:"Upgrade",onClick:n},{label:"Not now",onClick:()=>P(t.version)}]}),"notice"):null}var w=!1;async function v(t={}){if(w)return null;w=!0;let e=window.clay;await Promise.resolve(e&&e.loaded&&e.loaded.ui).catch(()=>{});let n=await M(t).catch(()=>null);return n?(await j(n),n):null}async function O(t,e){return(await import("../c-DBE6ORSI.js")).replace(t,e)}function N(t){import("../c-ANQTJ3B5.js").then(e=>e.start(t.detail)).catch(e=>console.error("clayjs: the upgrade could not start:",e))}var c=typeof window<"u"?window.clay:null;if(c&&c.canEdit&&!c.isDraftMode){document.addEventListener("clay:upgrade-requested",N);let t=c.ready;t&&typeof t.then=="function"?t.then(()=>v(),()=>{}):v()}export{j as announce,M as findUpdate,O as replace,v as start};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as r,c as p,d as n,e as u}from"../c-VFX45IZQ.js";import"../c-2SPVQSHC.js";import"../c-AYVOREBE.js";import"../c-7O6AFR65.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-N7JPUPGC.js";import"../c-HA6INT6J.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";function o(a,{requiredAccess:t,...i}={}){return r(t),p(a,{...i,requiredAccess:t})}o.mount=async(a,t)=>(await import("../c-LR4CGEPT.js")).mount(a,t);o.start=n;var c=o;export{c as default,u as modeParticipant,o as upload};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import{b as We,c as Ue}from"../c-BTDI4Y23.js";import{a as qe,b as _e,c as ze,d as Fe}from"../c-MTQHWQC3.js";import{c as Ie,f as Be,i as He,k as me}from"../c-7O6AFR65.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import{d as te,f as De,h as Pe,j as F}from"../c-N7JPUPGC.js";import"../c-HA6INT6J.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";var Ut=Object.defineProperty,qt=(e,t)=>{for(var r in t)Ut(e,r,{get:t[r],enumerable:!0})},ut=["textContent","innerText","innerHTML","outerHTML","value","checked","selected","disabled","readOnly","type","tagName","nodeName","nodeType","nodeValue","childElementCount","id","className","classList","baseURI","offsetWidth","offsetHeight","clientWidth","clientHeight","scrollWidth","scrollHeight","dataset","currentSrc","duration","paused","title","documentURI","contentType"],_t=new Set(ut),zt=new Set(["textContent","innerText","innerHTML","value","checked","selected","disabled","readOnly","type","id","className","title"]),ct=new Set(["tagName","nodeName","nodeType","nodeValue","childElementCount","classList","baseURI","documentURI","contentType","offsetWidth","offsetHeight","clientWidth","clientHeight","scrollWidth","scrollHeight","currentSrc","duration","paused","dataset"]),Ve=new Set(["checked","selected","disabled","readOnly","paused"]);function Ft(e,t){return t==null?Ve.has(e)?!1:"":Ve.has(e)?t==="false"?!1:!!t:t}var P={};qt(P,{EmptyListInsert:()=>Z,MAX_RULE_DEPTH:()=>se,MaxRuleDepthExceeded:()=>Te,NoRulesTag:()=>Kt,RuleTargetReadOnly:()=>pt,RulesParseError:()=>Ee,ShapeMismatch:()=>ft,UnknownRulesVersion:()=>dt,WriteNotRoundTripped:()=>Jt,WriteRefused:()=>ht,WriteRejected:()=>Zt});var Ee=class extends Error{constructor(e,t){super(e),this.name="RulesParseError",this.cause=t}},dt=class extends Error{constructor(e){super(`unknown rules version: ${e}. Library supports "1".`),this.name="UnknownRulesVersion",this.version=e}},se=20,Te=class extends Error{constructor(e){super(`rule depth exceeded ${se} at path: ${e.join(".")}`),this.name="MaxRuleDepthExceeded",this.path=e}},ft=class extends Error{constructor(e){super(`shape mismatch: ${e.length} field(s) failed validation`),this.name="ShapeMismatch",this.mismatches=e}},Z=class extends Error{constructor(e,t){super(t?`cannot add items to empty list at "${e.join(".")}" \u2014 ${t}`:`cannot add items to empty list at "${e.join(".")}" \u2014 no sibling to clone as template. Seed the list with a hidden item first.`),this.name="EmptyListInsert",this.path=e}},pt=class extends Error{constructor(e){super(`cannot write to read-only DOM property "${e}"`),this.name="RuleTargetReadOnly",this.target=e}},ht=class extends Error{constructor(e){super(`write refused: ${e.length} write(s) broke the content-only policy`),this.name="WriteRefused",this.refusals=e}};function Vt(e){return e.reduce((t,r)=>typeof r=="number"?`${t}[${r}]`:t?`${t}.${r}`:String(r),"")||"(root)"}var Jt=class extends Error{constructor(e){super(`write did not round-trip at "${Vt(e)}"`),this.name="WriteNotRoundTripped",this.path=e}},Kt=class extends Error{constructor(e){super(`no <script data-rules-name~="${e}"> rules tag in this document`),this.name="NoRulesTag",this.token=e}},Zt=class extends Error{constructor(e,t){super(`write rejected: ${e.length} unknown key(s), ${t.length} rule(s) with no matching element`),this.name="WriteRejected",this.unknownKeys=e,this.unmatched=t}};function z(e){let t=0,r=null,n=-1;for(let o=0;o<e.length;o++){let l=e[o];l==="\\"?o++:r?l===r&&(r=null):l==='"'||l==="'"?r=l:l==="["||l==="("?t++:l==="]"||l===")"?t>0&&t--:l==="@"&&t===0&&(n=o)}return n}function Xt(e){let t=z(e);return t===-1?{selector:e,prop:null}:{selector:e.slice(0,t),prop:e.slice(t+1)||null}}function mt(e){let t=0,r=null,n=-1,o=!1;for(let l=0;l<e.length;l++){let a=e[l];a==="\\"?l++:r?a===r&&(r=null):a==='"'||a==="'"?r=a:a==="["||a==="("?t++:a==="]"||a===")"?t>0&&t--:t===0&&a===">"?n=l:t===0&&a===","&&(o=!0)}return o||n===-1||!Yt(e,n+1)?null:e.slice(0,n).trim()||null}function Yt(e,t){let r=t,n=e.replace(/\s+$/,"").length;for(;r<n&&/\s/.test(e[r]);)r++;let o=0,l=null;for(;r<n;r++){let a=e[r];if(a==="\\")r++;else if(l)a===l&&(l=null);else if(a==='"'||a==="'")l=a;else if(a==="["||a==="(")o++;else if(a==="]"||a===")")o>0&&o--;else if(o===0&&(a==="+"||a==="~"||/\s/.test(a)))return!1}return!0}var Gt=/^--[A-Za-z0-9_-]+$/;function Oe(e){return typeof e=="string"&&Gt.test(e)}function yt(e){let t=[],r=[],n=null,o=0;for(let l=0;l<e.length;l++){let a=e[l];if(n){a==="\\"?l++:a===n&&(n=null);continue}if(a==="/"&&e[l+1]==="*"){let i=e.indexOf("*/",l+2);l=i===-1?e.length:i+1;continue}a==='"'||a==="'"?n=a:a==="("?r.push(")"):a==="["?r.push("]"):a==="{"?r.push("}"):(a===")"||a==="]"||a==="}")&&r[r.length-1]===a?r.pop():a===";"&&r.length===0&&(t.push(e.slice(o,l)),o=l+1)}return t.push(e.slice(o)),t}function Qt(e){let t="",r=null;for(let n=0;n<e.length;n++){let o=e[n];if(r){t+=o,o==="\\"&&n+1<e.length?t+=e[++n]:o===r&&(r=null);continue}if(o==="/"&&e[n+1]==="*"){let l=e.indexOf("*/",n+2);n=l===-1?e.length:l+1,t+=" ";continue}(o==='"'||o==="'")&&(r=o),t+=o}return t}function gt(e){e=Qt(e);let t=e.indexOf(":");if(t===-1)return null;let r=e.slice(0,t).trim(),n=e.slice(t+1).trim(),o=/!\s*important\s*$/i.exec(n);return o&&(n=n.slice(0,o.index).trim()),{name:r,value:n,important:!!o}}function xe(e,t){if(e==null)return null;let r=null;for(let n of yt(String(e))){let o=gt(n);!o||o.name!==t||(!r||o.important||!r.important)&&(r=o)}return r?r.value:null}function er(e,t,r){let n=e==null?"":String(e),o=r==null||r==="",l=yt(n),a=l.map(gt),i=a.some(h=>h&&h.name===t&&h.important),s=[],u=!1;l.forEach((h,p)=>{let A=a[p];if(!A||A.name!==t){s.push(h);return}if(o||u)return;let d=/^\s*/.exec(h)[0];s.push(`${d}${t}: ${r}${i?" !important":""}`),u=!0});let c=s.join(";");if(!o&&!u){let h=c.trimEnd();c=h===""?`${t}: ${r}`:`${h}${h.endsWith(";")?" ":"; "}${t}: ${r}`}return c.trim()===""?null:c}function vt(e,t,r,n){let o=e.attr(t,"style");if((xe(o,r)??"")===n)return;let l=er(o,r,n);l==null?e.removeAttr(t,"style"):e.attr(t,"style",l)}function oe(e,t,r,n={}){if(Object.prototype.hasOwnProperty.call(n,"exclude")&&e.semanticExclude===!1)throw new Error("This adapter does not support semantic exclude queries; omit exclude or use the DOM adapter.");return ye(e,t,r,{depth:0,path:[]},n)}function ye(e,t,r,n,o){if(n.depth>se)throw new Te(n.path);if(typeof r=="string")return tr(e,t,r,n,o);if(Array.isArray(r)){let[l,a]=r,i=e.find(t,l,o);return wt(o,n,i),i.map((s,u)=>ye(e,s,a,{depth:n.depth+1,path:[...n.path,u]},o))}if(typeof r=="object"&&r!==null){let l={};for(let[a,i]of Object.entries(r))l[a]=ye(e,t,i,{depth:n.depth+1,path:[...n.path,a]},o);return l}return null}function tr(e,t,r,n,o){if(r.endsWith("[]")){let i=r.slice(0,-2),s=e.find(t,i,o);return wt(o,n,s),s.map(u=>e.text(u))}if(r.startsWith("@"))return Je(e,t,r.slice(1));let l=z(r);if(l!==-1){let i=r.slice(0,l),s=r.slice(l+1),u=i?e.find(t,i,o):[t];return u.length===0?null:Je(e,u[0],s)}if(r===".")return e.text(t);let a=e.find(t,r,o);return a.length===0?null:e.text(a[0])}function wt(e,t,r){if(typeof e.onRowsRead=="function")try{e.onRowsRead(t.path.slice(),r)}catch(n){console.warn(`[hyper-html-api] onRowsRead threw at "${t.path.join(".")||"(root)"}"`,n)}}function Je(e,t,r){if(Oe(r))return xe(e.attr(t,"style"),r);if(_t.has(r)){let o=e.prop(t,r);return o==null?null:String(o)}return e.attr(t,r)??null}function rr(e,t,r,n){let o=e.length,l=t.length,a=new Array(o).fill(-1);if(n){let f=new Set;for(let g=0;g<o;g++){let v=n[g];!(v>=0&&v<l)||f.has(v)||(a[g]=v,f.add(v))}}if(o===0||l===0)return a;let i=e.map(f=>Ke(f,r)),s=t.map(f=>Ke(f,r)),u=new Array(l).fill(!1);for(let f of a)f>=0&&(u[f]=!0);let c=new Map;s.forEach((f,g)=>{u[g]||c.set(f,c.has(f)?-1:g)});let h=new Map;i.forEach((f,g)=>{a[g]>=0||h.set(f,(h.get(f)||0)+1)}),i.forEach((f,g)=>{if(a[g]>=0||h.get(f)!==1)return;let v=c.get(f);v===void 0||v===-1||u[v]||(a[g]=v,u[v]=!0)});let p=[];for(let f=0;f<o;f++)a[f]<0&&p.push(f);let A=[];for(let f=0;f<l;f++)u[f]||A.push(f);if(p.length===0||A.length===0)return a;let d=o*l+1,m=nr(e,t,r),y=(f,g)=>m(f,g)*d+Math.abs(f-g);for(let[f,g]of or(p,A,y))a[f]=g;return a}var bt=e=>typeof e=="object"&&e!==null;function Ke(e,t){if(!bt(t))return e==null?" null":String(e);let r=Object.keys(t);return JSON.stringify(r.map(n=>{let o=JSON.stringify(e?.[n]);return o===void 0?" undef":o}))}function nr(e,t,r){if(!bt(r))return(i,s)=>e[i]===t[s]?0:1;let n=Object.keys(r),o=i=>n.map(s=>JSON.stringify(i?.[s])),l=e.map(o),a=t.map(o);return(i,s)=>{let u=l[i],c=a[s],h=0;for(let p=0;p<n.length;p++)u[p]!==c[p]&&h++;return h}}function or(e,t,r){return e.length<=t.length?Ze(e,t,r,!1):Ze(t,e,(n,o)=>r(o,n),!0)}function Ze(e,t,r,n){let o=e.length,l=t.length,a=[];for(let h=0;h<=o;h++)a.push(new Float64Array(l+1).fill(1/0));let i=[];for(let h=0;h<=o;h++)i.push(new Uint8Array(l+1));for(let h=0;h<=l;h++)a[o][h]=0;for(let h=o-1;h>=0;h--)for(let p=l-1;p>=0;p--){let A=r(e[h],t[p])+a[h+1][p+1],d=a[h][p+1];A<=d?(a[h][p]=A,i[h][p]=1):a[h][p]=d}let s=[],u=0,c=0;for(;u<o&&c<l;)i[u][c]&&(s.push(n?[t[c],e[u]]:[e[u],t[c]]),u++),c++;return s}function At(e,t,r,n,o,l,a,i={}){let s=e.find(t,r,i);if(o.length===0){s.forEach(T=>e.remove(T)),ge(i,"onRowsApplied",l.path,[]);return}let u=o.length>s.length,c=s[0]||null;if(u&&!c&&(c=sr(e,t,r,i),!c))throw new Z(l.path);let h=s.map(T=>ar(e,T,n,i)),p=null;if(u&&c){p=e.clone(c),i.templateAttr&&e.removeAttr(p,i.templateAttr);let T=e.stripIds(p);T>0&&console.warn(`[hyper-html-api] stripped ${T} id attribute(s) from cloned template at "${l.path.join(".")||"(root)"}"`)}let A=rr(o,h,n,lr(e,s,o,l,i)),d=s.length>0?e.parent(s[0]):fr(e,t,r,c,l,i),m=s.length>0?Et(e,d,s[0]):0,y=mr(e,s),f=new Set,g=[],v=o.map((T,O)=>{let x=A[O];if(x>=0)return f.add(x),g.push(!1),s[x];g.push(!0);let C=e.clone(p);return e.stripIds(C),C});s.forEach((T,O)=>{f.has(O)||e.remove(T)}),y?hr(e,d,m,v,g):yr(e,v,g,d,m),ir(e,v,n,o,l,a,i),ge(i,"onRowsApplied",l.path,v)}function ge(e,t,r,n){if(typeof e[t]=="function")try{return e[t](r.slice(),n)}catch(o){console.warn(`[hyper-html-api] ${t} threw at "${r.join(".")||"(root)"}"`,o);return}}function lr(e,t,r,n,o){let l=ge(o,"identifyRows",n.path,r);if(!Array.isArray(l))return null;let a=new Array(r.length).fill(-1),i=new Set,s=new Map(t.map((u,c)=>[e.identity(u),c]));for(let u=0;u<r.length;u++){if(!l[u])continue;let c=s.get(e.identity(l[u]));c===void 0||i.has(c)||(a[u]=c,i.add(c))}return a}function ir(e,t,r,n,o,l,a){t.forEach((i,s)=>{if(r===null){let u=n[s],c=u==null?"":String(u);e.text(i)!==c&&e.text(i,c)}else{let u=l(e,i,r,n[s],{depth:o.depth+1,path:[...o.path,s]},a);u&&u!==i&&(t[s]=u)}})}function ar(e,t,r,n){return r===null?e.text(t):oe(e,t,r,n.onRowsRead?{...n,onRowsRead:void 0}:n)}function Et(e,t,r){let n=e.children(t);for(let o=0;o<n.length;o++)if(e.sameNode(n[o],r))return o;return-1}function sr(e,t,r,n){if(!n.templateAttr)return null;let o=/^\s*:scope\s*>\s*/.test(r),l=new RegExp(":not\\(\\["+n.templateAttr.replace(/[.*+?^${}()|[\]\\-]/g,"\\$&")+"\\]\\)","g"),a=r.replace(/^\s*:scope\s*>\s*/,"").replace(l,""),i=o?ur(a):0,s=mt(a),u=t;for(;u;){let c=e.find(u,a,{includeRulesTag:!1,templateAttr:null});for(let h of c)if(e.attr(h,n.templateAttr)!=null&&!(o&&!dr(e,t,h,i))&&!(s&&!e.matches(e.parent(h),s)))return h;u=e.parent(u)}return null}function ur(e){let t=0,r=null,n=1;for(let o=0;o<e.length;o++){let l=e[o];if(l==="\\")o++;else if(r)l===r&&(r=null);else if(l==='"'||l==="'")r=l;else if(l==="["||l==="(")t++;else if(l==="]"||l===")")t>0&&t--;else if(t===0&&l===">")n++;else{if(t===0&&(l==="+"||l==="~"))return null;if(t===0&&/\s/.test(l)){if(!cr(e,o))return null;for(;o+1<e.length&&/\s/.test(e[o+1]);)o++}}}return n}function cr(e,t){let r=t;for(;r<e.length&&/\s/.test(e[r]);)r++;let n=t>0?e[t-1]:"",o=r<e.length?e[r]:"";return Xe(n)||Xe(o)}function Xe(e){return e===">"||e==="+"||e==="~"}function dr(e,t,r,n){if(n===null)return!0;let o=r;for(let s=0;s<n;s++)if(o=e.parent(o),!o)return!1;let l=e.prop(t,"tagName");if(!l)return!0;let a=e.prop(o,"tagName");if(!a||String(a).toLowerCase()!==String(l).toLowerCase())return!1;let i=new Set(Ye(e,o));return Ye(e,t).every(s=>i.has(s))}function Ye(e,t){let r=e.attr(t,"class");return r?String(r).split(/\s+/).filter(Boolean):[]}function fr(e,t,r,n,o,l){let a=e.parent(n);if(a&&pr(e,t,a)&&!Qe(e,a,l))return a;let i=mt(r);if(!i)throw new Z(o.path,`the list selector "${r}" names no container to hold the new rows \u2014 write it as "container > row" (for example "ol.comments > li") so the cloned row lands in the list`);let s=(i===":scope"?e.prop(t,"tagName")?[t]:[]:e.find(t,i,l)).filter(u=>!Qe(e,u,l));if(s.length===0)throw new Z(o.path,`no container matching "${i}" inside this context to hold the new rows`);if(s.length>1)throw new Z(o.path,`"${i}" matches ${s.length} containers inside this context, so the new rows have no single destination`);return s[0]}function pr(e,t,r){let n=r;for(;n;){if(e.sameNode(n,t))return!0;n=e.parent(n)}return e.parent(t)?!1:e.find(t,"*",{includeRulesTag:!0,templateAttr:null}).some(o=>e.sameNode(o,r))}var Ge=["no-data","editor-ui"];function Qe(e,t,r){let n=t;for(;n;){if(r.templateAttr&&e.attr(n,r.templateAttr)!=null||Ge.some(l=>e.attr(n,l)!=null))return!0;let o=e.attr(n,"clay");if(o&&o.split(/\s+/).some(l=>Ge.includes(l)))return!0;n=e.parent(n)}return!1}function hr(e,t,r,n,o){let l=e.children(t),a=l.map(s=>e.identity(s)),i=!1;n.forEach((s,u)=>{let c=e.identity(s),h=r+u;if(a[h]===c)return;if(!o[u]){let A=a.indexOf(c);A!==-1&&(a.splice(A,1),l.splice(A,1))}let p=Math.min(h,l.length);p<l.length?e.insertBefore(l[p],s):l.length?i?e.insertAfter(l[l.length-1],s):(e.insertAt(t,s,h),i=!0):e.insertAt(t,s,0),a.splice(p,0,c),l.splice(p,0,s)})}function mr(e,t){if(t.length<=1)return!0;let r=e.parent(t[0]);if(!r)return!1;let n=new Map(e.children(r).map((l,a)=>[e.identity(l),a])),o=[];for(let l of t){let a=n.get(e.identity(l));if(a===void 0)return!1;o.push(a)}return o.sort((l,a)=>l-a),o[o.length-1]-o[0]===o.length-1}function yr(e,t,r,n,o){let l=null,a=o;for(let i=0;i<t.length;i++){if(!r[i]){l=t[i];continue}let s=l?e.parent(l):n;if(!s)continue;let u=l?Et(e,s,l)+1:a++;e.insertAt(s,t[i],u),l=t[i]}}function le(e,t,r,n,o={}){if(Object.prototype.hasOwnProperty.call(o,"exclude")&&e.semanticExclude===!1)throw new Error("This adapter does not support semantic exclude queries; omit exclude or use the DOM adapter.");let l=[];if(ve(r,n,[],l),l.length)throw new ft(l);ie(e,t,r,n,{depth:0,path:[]},o)}function ie(e,t,r,n,o,l={}){if(o.depth>se)throw new Te(o.path);if(n===void 0)return t;if(typeof r=="string")return gr(e,t,r,n,o,l);if(Array.isArray(r)){let[a,i]=r;return At(e,t,a,i,n,o,ie,l),t}if(typeof r=="object"&&r!==null){for(let[a,i]of Object.entries(r)){let s=ie(e,t,i,n==null?n:n[a],{depth:o.depth+1,path:[...o.path,a]},l);s&&s!==t&&(t=s)}return t}return t}function gr(e,t,r,n,o,l){if(r.endsWith("[]")){let s=r.slice(0,-2);return At(e,t,s,null,n,o,ie,l),t}if(r.startsWith("@"))return tt(e,t,r.slice(1),n);let a=z(r);if(a!==-1){let s=r.slice(0,a),u=r.slice(a+1),c=s?e.find(t,s,l):[t];return c.length===0||tt(e,c[0],u,n),t}if(r===".")return et(e,t,n),t;let i=e.find(t,r,l);return i.length===0||et(e,i[0],n),t}function et(e,t,r){let n=r==null?"":String(r);e.text(t)!==n&&e.text(t,n)}function vr(e,t,r,n){if(e.styleVar){e.styleVar(t,r,n);return}vt(e,t,r,n)}function tt(e,t,r,n){if(Oe(r))return vr(e,t,r,n==null?"":String(n).trim()),t;if(ct.has(r)){let o=e.prop(t,r);if(o===n||o!=null&&n!=null&&String(o)===String(n))return t;throw new pt(r)}if(r==="outerHTML"){let o=n==null?"":String(n);return e.replaceWith(t,o)}if(zt.has(r)){let o=Ft(r,n);return e.prop(t,r)!==o&&e.prop(t,r,o),t}if(n==null)e.attr(t,r)!=null&&e.removeAttr(t,r);else{let o=String(n);e.attr(t,r)!==o&&e.attr(t,r,o)}return t}function ve(e,t,r,n){if(t!==void 0){if(typeof e=="string"){if(e.endsWith("[]")){Array.isArray(t)?t.forEach((o,l)=>{typeof o=="object"&&o!==null&&n.push({path:J([...r,l]),expected:"scalar",got:V(o)})}):n.push({path:J(r),expected:"array",got:V(t)});return}t!==null&&typeof t=="object"&&n.push({path:J(r),expected:"scalar",got:V(t)});return}if(Array.isArray(e)){if(!Array.isArray(t)){n.push({path:J(r),expected:"array",got:V(t)});return}let o=e[1];t.forEach((l,a)=>ve(o,l,[...r,a],n));return}if(typeof e=="object"&&e!==null){if(t===null||Array.isArray(t)||typeof t!="object"){n.push({path:J(r),expected:"object",got:V(t)});return}for(let[o,l]of Object.entries(e))ve(l,t[o],[...r,o],n)}}}function V(e){return e===null?"null":Array.isArray(e)?"array":typeof e}function J(e){return e.join(".")}function wr(e){try{return JSON.parse(e)}catch(t){throw new Ee(`Invalid strict JSON: ${t.message}`,t)}}function Tt(e){try{return JSON.parse(e)}catch{}let t={BRACE_OPEN:"{",BRACE_CLOSE:"}",BRACKET_OPEN:"[",BRACKET_CLOSE:"]",COLON:":",COMMA:",",STRING:"STRING",SELECTOR:"SELECTOR",IDENTIFIER:"IDENTIFIER",NUMBER:"NUMBER",BOOLEAN:"BOOLEAN"};function r(o){let l=[],a=0;for(;a<o.length;){let i=o[a];if(/\s/.test(i)){a++;continue}if("{}".includes(i)){l.push({type:i,value:i}),a++;continue}if(i==="["){let h=!1,p=a+1;for(;p<o.length&&/\s/.test(o[p]);)p++;if(p<o.length&&/[a-zA-Z_]/.test(o[p])&&(h=!0),!h){l.push({type:i,value:i}),a++;continue}}if(i==="]"){l.push({type:i,value:i}),a++;continue}if(i===":"){l.push({type:t.COLON,value:i}),a++;continue}if(i===","){l.push({type:t.COMMA,value:i}),a++;continue}if(i==='"'||i==="'"){let h=i,p=a+1;for(;p<o.length&&o[p]!==h;)o[p]==="\\"&&p++,p++;l.push({type:t.STRING,value:o.substring(a+1,p),quoted:!0,sourceQuote:h}),a=p+1;continue}let s=a,u;for(;s<o.length&&!/[{},]/.test(o[s]);)if(o[s]===":"){let h=[":first",":last",":nth-child",":nth-of-type",":first-child",":last-child",":first-of-type",":last-of-type",":only-child",":only-of-type",":hover",":focus",":active",":visited",":disabled",":enabled",":checked",":empty",":root",":target",":not",":before",":after",":nth-last-child",":nth-last-of-type"],p=!1;for(let A of h){let d=A.substring(1);if(o.substring(s+1,s+1+d.length)===d){p=!0,s+=d.length;break}}if(!p)break}else if(o[s]==="["){for(s++;s<o.length&&o[s]!=="]";){if(o[s]==='"'||o[s]==="'"){let h=o[s];for(s++;s<o.length&&o[s]!==h;)o[s]==="\\"&&s++,s++}s++}s<o.length&&o[s]==="]"&&s++}else s++;u=o.substring(a,s);let c=t.IDENTIFIER;/^-?\d+(\.\d+)?$/.test(u)?c=t.NUMBER:u==="true"||u==="false"||u==="null"?c=t.BOOLEAN:/^[.#@\[]|[.#@\[]| /.test(u)&&(c=t.SELECTOR),l.push({type:c,value:u,quoted:!1}),a=s}return l}function n(o){let l="";for(let a=0;a<o.length;a++){let i=o[a];if("{}".includes(i.type)||"[]".includes(i.type)){l+=i.value;continue}if(i.type===t.COLON){l+=i.value;continue}if(i.type===t.COMMA){let s=o[a+1];if(s&&(s.type==="}"||s.type==="]"))continue;l+=i.value;continue}if(i.type===t.STRING&&i.quoted){let s=i.value;i.sourceQuote==="'"&&(s=s.replace(/\\'/g,"'"),s=s.replace(/(\\*)"/g,(u,c)=>c.length%2===0?c+'\\"':u)),l+=`"${s}"`;continue}if(i.type===t.NUMBER||i.type===t.BOOLEAN){l+=i.value;continue}if(i.type===t.SELECTOR||i.type===t.IDENTIFIER){l+=`"${i.value}"`;continue}l+=`"${i.value}"`}return l}try{let o=r(e),l=n(o);return JSON.parse(l)}catch(o){throw new Ee("Invalid extraction rules syntax: "+o.message,o)}}var br="1",rt=/^[a-zA-Z0-9_-]+$/;function ke(e,t,r){let n;if(r===void 0)n="script[data-rules-name]";else{if(typeof r!="string"||!rt.test(r))throw new Error(`hyper-html-api: invalid rules token ${JSON.stringify(r)} (must match ${rt})`);n=`script[data-rules-name~="${r}"]`}let o=e.find(t,n,{includeRulesTag:!0});if(o.length===0)return null;r!==void 0&&o.length>1&&console.warn(`hyper-html-api: ${o.length} rules tags match data-rules-name~="${r}"; using the first.`);let l=o[0],a=e.attr(l,"data-rules-version");if(a!==br)throw new dt(a);return{rules:Tt(e.text(l)),tagNode:l}}var Se=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"]})}),Ar=Object.freeze({"editor-ui":Object.freeze(["no-data","no-save","no-snapshot","no-watch","no-undo"])}),Er=Object.freeze(["no-save","no-snapshot","no-trigger-autosave","no-dirty","no-watch","no-undo","no-data","freeze","editor-ui","live"]);function ae(e,t){if(!e||e.nodeType!==1)return!1;let r=e.getAttribute?.("clay");return!!(r&&r.split(/\s+/).includes(t)||e.hasAttribute?.(t))}function Ot(e,t){if(ae(e,t))return!0;for(let[r,n]of Object.entries(Ar))if(n.includes(t)&&ae(e,r))return!0;return!1}function we(e){let t=Se[e];if(!t)throw new Error(`Unknown region capability: ${e}`);return[...t.tokens,...t.bundles].flatMap(r=>[`[clay~="${r}"]`,`[${r}]`]).join(", ")}function Tr(e,t){let r=e&&e.nodeType===1?e:e?.parentElement;for(;r&&r.nodeType===1;){let n=Se[t];if(!n)throw new Error(`Unknown region capability: ${t}`);if(n.tokens.some(o=>Ot(r,o))||n.bundles.some(o=>ae(r,o)))return r;r=r.parentElement}return null}function Or(e,t){return!!Tr(e,t)}var Ne=Object.freeze({refusedRuleForms:["innerHTML","outerHTML"],refusedTargets:["script","style","template","noscript","iframe","object","embed","xmp","plaintext","noembed","noframes","meta","link","base","animate","set","animatemotion","animatetransform"],refusedAttributes:["style","srcdoc","is","http-equiv","sandbox","allow","nonce","integrity","charset","htmlclaytoken","htmlclayid","data-rules-name","data-rules-version","clay","contenteditable",...Er],refusedAttributePrefixes:["on"],urlAttributes:["href","src","srcset","action","formaction","poster","cite","data","ping","background","longdesc","usemap","xlink:href","manifest","codebase","icon"],refusedSchemes:["javascript","vbscript","data"],customPropertyValues:Object.freeze({maxLength:200,refusedCharacters:[";","{","}","<",">","\\"],refusedFunctions:["url","src","image","image-set","-webkit-image-set","cross-fade","element","expression","paint"]})}),xr=new Set(["textContent","innerText"]);function kr(e){let t=String(e).replace(/^[\u0000- ]+|[\u0000- ]+$/g,"").replace(/[\t\n\r]/g,"").match(/^([a-zA-Z][a-zA-Z0-9+.-]*):/);return t?t[1].toLowerCase():null}var Sr=/^[^\t\n\f\r "'>/=\u0000-\u001f\u007f]+$/;function Nr(e,t,r=Ne){if(!Sr.test(String(e)))return`attribute name ${JSON.stringify(String(e))} is not valid`;let n=String(e).toLowerCase();if(r.refusedAttributePrefixes.some(o=>n.startsWith(o)))return`attribute "${n}" can run script`;if(r.refusedAttributes.includes(n))return`attribute "${n}" is not content`;if(r.urlAttributes.includes(n)&&t!=null){let o=n==="srcset"?String(t).split(",").map(l=>l.trim().split(/\s+/)[0]).filter(Boolean):[String(t)];for(let l of o){let a=kr(l);if(a&&r.refusedSchemes.includes(a))return`"${a}:" URLs are not allowed in "${n}"`}}return null}function Le(e,t){let r=e.prop(t,"tagName");return r?String(r).toLowerCase():""}function Lr(e,t){let r=Le(e,t)||"node",n=e.attr(t,"id");return n?`<${r}#${n}>`:`<${r}>`}function Rr(e,t,r){let n=t;for(;n;){let o=Le(e,n);if(o&&r.refusedTargets.includes(o))return o;n=e.parent(n)}return null}function xt(e,t){return e.find(t,"script[data-rules-name]",{includeRulesTag:!0,templateAttr:null}).length>0}function Cr(e,t){return Le(e,t)==="script"&&e.attr(t,"data-rules-name")!=null?!0:xt(e,t)}function $r(e){if(/[\u0000-\u001f\u007f]/.test(e))return"control characters are not allowed in a custom property value";let t=[],r=null;for(let n=0;n<e.length;n++){let o=e[n];if(r){o===r&&(r=null);continue}if(o==='"'||o==="'")r=o;else{if(o==="/"&&e[n+1]==="*")return"comments are not allowed in a custom property value";if(o==="(")t.push(")");else if(o==="[")t.push("]");else if((o===")"||o==="]")&&t.pop()!==o)return`"${o}" does not close anything in this custom property value`}}return r?"a custom property value must close its quotes":t.length?"a custom property value must close its brackets":null}function Mr(e,t=Ne){let r=t.customPropertyValues,n=String(e);if(n.length>r.maxLength)return`custom property values are limited to ${r.maxLength} characters`;let o=r.refusedCharacters.find(s=>n.includes(s));if(o)return`${JSON.stringify(o)} is not allowed in a custom property value`;let l=$r(n);if(l)return l;let a=n.toLowerCase(),i=r.refusedFunctions.find(s=>new RegExp(`(^|[^a-z0-9_-])${s.replace(/[-]/g,"\\-")}\\s*\\(`).test(a));return i?`"${i}()" is not allowed in a custom property value`:null}function nt(e,t=Ne){let r=[],n=(i,s)=>(r.push({target:Lr(e,i),reason:s}),!1),o=i=>{let s=Rr(e,i,t);return s?n(i,`inside <${s}>, which is not content`):!0},l=i=>o(i)?xt(e,i)?n(i,"a text write here would delete the data rules tag"):!0:!1,a=(i,s,u)=>{if(!o(i))return!1;let c=Nr(s,u,t);return c?n(i,c):!0};return{...e,text(i,s){if(s===void 0)return e.text(i);l(i)&&e.text(i,s)},attr(i,s,u){if(u===void 0)return e.attr(i,s);a(i,s,u)&&e.attr(i,s,u)},removeAttr(i,s){a(i,s,null)&&e.removeAttr(i,s)},styleVar(i,s,u){if((xe(e.attr(i,"style"),s)??"")!==u&&o(i)){if(!Oe(s))return n(i,`"${s}" is not a custom property`);if(u!==""){let c=Mr(u,t);if(c)return n(i,c)}vt(e,i,s,u)}},prop(i,s,u){if(u===void 0)return e.prop(i,s);if(t.refusedRuleForms.includes(s))return n(i,`"@${s}" writes HTML, only text is allowed`);if(xr.has(s)){l(i)&&e.prop(i,s,u);return}a(i,s==="className"?"class":s,u)&&e.prop(i,s,u)},remove(i){if(Cr(e,i)){n(i,"removing this would delete the data rules tag");return}e.remove(i)},replaceWith(i,s){return s===e.prop(i,"outerHTML")||n(i,'"@outerHTML" writes HTML, only text is allowed'),i},refusals:r,assertClean(){if(r.length)throw new ht(r.slice())}}}function K(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function ot(e){return e.reduce((t,r)=>typeof r=="number"?`${t}[${r}]`:t?`${t}.${r}`:r,"")}function jr(e,t,r,n,o={}){let l=[],a=[];function i(u,c,h){if(Array.isArray(u)){let[,p]=u;if(!Array.isArray(c)||!K(p))return;c.forEach((A,d)=>i(p,A,[...h,d]));return}if(!(!K(u)||!K(c)))for(let p of Object.keys(c))Object.prototype.hasOwnProperty.call(u,p)?i(u[p],c[p],[...h,p]):l.push(ot([...h,p]))}function s(u,c,h,p){if(h!==void 0){if(typeof c=="string"){if(c.endsWith("[]")||c==="."||c.startsWith("@"))return;let A=z(c),d=A===-1?c:c.slice(0,A);if(!d)return;e.find(u,d,o).length===0&&a.push({path:ot(p),selector:d});return}if(!Array.isArray(c)&&K(c)&&K(h))for(let[A,d]of Object.entries(c))s(u,d,h[A],[...p,A])}}return i(r,n,[]),s(t,r,n,[]),{unknownKeys:l,unmatched:a}}function lt(e,t,r){if(r&&typeof r=="object")return{rules:r,tagNode:null};if(typeof r=="string"){let n=t&&t.ownerDocument?t.ownerDocument:t;return ke(e,n,r)}return null}var Ir=/:(?:focus(?:-within|-visible)?|hover|active|visited|defined)\b/i;function Dr(e,t){if(!/^(INPUT|TEXTAREA|SELECT|OPTION)$/.test(e.tagName||""))return;let r=(e.getAttribute?.("type")||"").toLowerCase();"value"in e&&"value"in t&&e.tagName!=="OPTION"&&r!=="checkbox"&&r!=="radio"&&r!=="file"&&(t.value=e.value),e.tagName==="INPUT"&&(r==="checkbox"||r==="radio")&&(t.checked=e.checked),e.tagName==="OPTION"&&(t.selected=e.selected),"indeterminate"in e&&"indeterminate"in t&&(t.indeterminate=e.indeterminate)}function it(e,t,r,n){if(n)return!!e.closest?.(t);let o=e;for(;o?.nodeType===1;){if(o.matches(t))return!0;if(o===r)break;o=o.parentElement}return!1}function at(e,t,r,n,o,l){return(l?Or(e,t):it(e,r,o,!1))||!!(n&&(l&&e!==o?e.matches(n):it(e,n,o,l)))}function Pr(e,t){let r=Se[t];return r.tokens.some(n=>Ot(e,n))||r.bundles.some(n=>ae(e,n))}var Br=new Set(["INPUT","TEXTAREA","SELECT","OPTION"]);function kt(e,t,r,n){if(e.nodeType===1&&n(e)){r.dropped.push(t);return}r.cloneToLive.set(t,e),r.liveToClone.set(e,t);let o=e,l=t;if(e.nodeType===1){if(Br.has(e.tagName)&&r.controls.push(e,t),e.tagName==="TEMPLATE"){for(;t.firstChild;)t.removeChild(t.firstChild);o=e.content,l=t.content,r.cloneToLive.set(l,o),r.liveToClone.set(o,l)}}else if(e.nodeType!==11)return;let a=l.firstChild;for(let i=o.firstChild;i&&a;i=i.nextSibling)kt(i,a,r,n),a=a.nextSibling}function re(e,{capability:t="data",exclude:r=null,inherit:n=!0,provenance:o=null}={}){if(!e)throw new TypeError("createContentView requires a DOM context");let l=e.nodeType===9?e:e.ownerDocument;if(!l?.implementation?.createHTMLDocument)throw new TypeError("createContentView requires an HTML DOM implementation");let a=l.implementation.createHTMLDocument(""),i=o||new WeakMap,s=new WeakMap,u=e.nodeType===9?e.documentElement:e;r&&a.documentElement.matches(r);let c=we(t),h=n?d=>Pr(d,t)||!!(r&&d.matches(r)):d=>at(d,t,c,r,u,!1),p=null;if(u.nodeType!==1||!at(u,t,c,r,u,n)){p=a.importNode(u,!0);let d={cloneToLive:i,liveToClone:s,dropped:[],controls:[]};kt(u,p,d,h);for(let m of d.dropped)m.remove();for(let m=0;m<d.controls.length;m+=2)Dr(d.controls[m],d.controls[m+1])}e.nodeType===9&&p&&(a.replaceChild(p,a.documentElement),s.set(e,a),i.set(a,e));let A=d=>{if(Ir.test(d))throw new Error(`Filtered content queries do not support stateful selector: ${d}`)};return{root:p,document:a,capability:t,selector:we(t),cloneToLive:i,liveToClone:s,original(d){return i.get(d)||null},cloneOf(d){return s.get(d)||null},query(d,m=p){return A(d),Array.from(m.querySelectorAll(d),y=>i.get(y)||y)},text(d=p){return(d===p?p:s.get(d))?.textContent||""},html(d=p){return(d===p?p:s.get(d))?.innerHTML??""},clone(d=p){let m=d===p?p:s.get(d);return m?a.importNode(m,!0):null}}}function St(e){return e&&e.nodeType===1&&e.tagName==="SCRIPT"&&e.hasAttribute&&e.hasAttribute("data-rules-name")}function Hr(e){return e?(e.nodeType===9||e.nodeType,e):null}function st(e,t,r){!e||e.nodeType!==1||(t==="value"&&e.tagName==="INPUT"?e.value=r===null?"":r:t==="checked"&&e.tagName==="INPUT"?e.checked=r!==null:t==="selected"&&e.tagName==="OPTION"&&(e.selected=r!==null))}function Nt(e,t){e&&e.tagName==="TEXTAREA"&&(e.value=t)}function Lt(e){if(!e||e.nodeType!==1)return;let t=[e,...e.querySelectorAll?e.querySelectorAll("textarea, input, option"):[]];for(let r of t)if(r.tagName==="TEXTAREA")r.value=r.defaultValue;else if(r.tagName==="INPUT"){let n=r.type;n!=="file"&&n!=="checkbox"&&n!=="radio"&&(r.value=r.defaultValue),r.checked=r.defaultChecked}else r.tagName==="OPTION"&&(r.selected=r.defaultSelected)}var S={semanticExclude:!0,find(e,t,r={}){let n=Hr(e);if(!n||!n.querySelectorAll)return[];let o=Array.from(n.querySelectorAll(t));r.includeRulesTag||(o=o.filter(i=>!St(i)));let l=[];r.skip&&l.push(r.skip);let a=r.templateAttr===null?null:r.templateAttr||"cms-template";if(a&&l.push("["+a+"]"),l.length){let i=l.join(", ");o=o.filter(s=>!s.closest||!s.closest(i))}return o},parent(e){return e?e.parentElement:null},children(e){return e?Array.from(e.children):[]},matches(e,t){return!!(e&&e.matches)&&e.matches(t)},text(e,t){if(t===void 0)return(e.textContent||"").trim();e.textContent=t,Nt(e,t)},attr(e,t,r){if(r===void 0)return e.hasAttribute&&e.hasAttribute(t)?e.getAttribute(t):null;e.setAttribute(t,r),st(e,t,r)},removeAttr(e,t){e&&e.removeAttribute&&e.removeAttribute(t),st(e,t,null)},prop(e,t,r){if(r===void 0){let n=e?e[t]:void 0;return n!==void 0?n:null}e[t]=r},clone(e){let t=e.cloneNode(!0);return Lt(t),t},insertAt(e,t,r){let n=e.children[r]||null;e.insertBefore(t,n)},insertBefore(e,t){e.parentNode.insertBefore(t,e)},insertAfter(e,t){e.parentNode.insertBefore(t,e.nextSibling)},identity(e){return e||null},remove(e){e&&e.parentNode&&e.parentNode.removeChild(e)},replaceWith(e,t){if(!e||!e.parentNode)throw new Error("dom.replaceWith: node has no parent");let r=e.ownerDocument.createElement("template");r.innerHTML=t;let n=r.content.firstElementChild;if(!n)throw new Error("dom.replaceWith: html did not parse to an element");return e.parentNode.replaceChild(n,e),n},stripIds(e){let t=0;return e.id&&(e.removeAttribute("id"),t++),(e.querySelectorAll?e.querySelectorAll("[id]"):[]).forEach(r=>{r.removeAttribute("id"),t++}),t},sameNode(e,t){return e===t}};function H(e,t={}){if(t.exclude===null)return S;let r=[we("data"),t.exclude].filter(Boolean).join(", "),n=e.nodeType===9?e:e.ownerDocument||e,o=e.nodeType===9?e.documentElement:e;if(!t._write&&!o?.matches?.(r)&&!o?.querySelector?.(r)&&!n?.querySelector?.(r))return S;let l=e.nodeType===9||!e.isConnected?e:e.ownerDocument,a=e.nodeType===9?e:e.ownerDocument,i=null,s=()=>i||(i=re(l,{capability:"data",exclude:t.exclude||null})),u=d=>{let m=s();return d===e?m.cloneOf(e):m.cloneOf(d)||d},c=d=>i?.original(d)||d,h=(d,m)=>{s().liveToClone.set(d,m),s().cloneToLive.set(m,d);let y=d.childNodes||[],f=m.childNodes||[];for(let g=0;g<Math.min(y.length,f.length);g++)h(y[g],f[g])},p=(d,m,y,f)=>{let g=Array.from(d.childNodes).filter(x=>i.cloneOf(x)),v=g[0];for(;v&&g.includes(v);)v=v.nextSibling;for(let x of g)x.remove();if(y==="innerHTML"){let x=a.createElement("template");x.innerHTML=f;for(let C of Array.from(x.content.childNodes))d.insertBefore(C,v||null)}else d.insertBefore(a.createTextNode(f),v||null),Nt(d,f);let T=re(d,{capability:"data",exclude:t.exclude||null});m.replaceChildren(...Array.from(T.root?.childNodes||[]));let O=x=>{let C=T.original(x);C&&(i.liveToClone.set(C,x),i.cloneToLive.set(x,C));for(let W of Array.from(x.childNodes||[]))O(W)};for(let x of Array.from(m.childNodes))O(x)},A={...S,find(d,m,y={}){let f=u(d);if(!f?.querySelectorAll)return[];let g=s().query(m,f);y.includeRulesTag||(g=g.filter(O=>!St(O)));let v=[];y.skip&&v.push(y.skip);let T=y.templateAttr===null?null:y.templateAttr||"cms-template";if(T&&v.push(`[${T}]`),v.length){let O=v.join(", ");g=g.filter(x=>!x.closest?.(O))}return g},parent(d){let m=u(d)?.parentElement;return m?c(m):null},children(d){return Array.from(u(d)?.children||[],c)},text(d,m){if(m===void 0){let g=c(d);return!g?.matches?.(r)&&!g?.querySelector?.(r)?S.text(g):(u(d)?.textContent||"").trim()}let y=c(d);if(!y?.matches?.(r)&&!y?.querySelector?.(r)&&!i){S.text(y,m);return}let f=s().cloneOf(y);f?p(y,f,"textContent",m):S.text(y,m)},attr(d,m,y){let f=c(d);if(y===void 0)return S.attr(f,m);S.attr(f,m,y);let g=i?.cloneOf(f);g&&(S.attr(g,m,y),re(f,{capability:"data",exclude:t.exclude||null}).root===null&&(g.remove(),i.liveToClone.delete(f),i.cloneToLive.delete(g)))},removeAttr(d,m){let y=c(d);S.removeAttr(y,m);let f=i?.cloneOf(y);f&&S.removeAttr(f,m)},prop(d,m,y){let f=c(d);if(y===void 0)return m==="innerHTML"||m==="outerHTML"||m==="textContent"||m==="innerText"?S.prop(u(f),m):S.prop(f,m);let g=m==="innerHTML"||m==="textContent"||m==="innerText",v=g?s().cloneOf(f):i?.cloneOf(f);v&&g?p(f,v,m,y):(S.prop(f,m,y),v&&S.prop(v,m,y))},clone(d){let m=u(d);if(m===d)return S.clone(d);let y=a.importNode(m,!0);return Lt(y),y},insertAt(d,m,y){let f=c(d),g=A.children(f)[y]||(()=>{for(let O=f.children.length-1;O>=0;O--){let x=f.children[O];if(s().cloneOf(x))return x.nextElementSibling}return f.firstElementChild})(),v=c(m);f.insertBefore(v,g||null);let T=s().cloneOf(f);if(T){let O=s().cloneOf(v);O||(O=a.importNode(v,!0),h(v,O));let x=Array.from(T.children);T.insertBefore(O,x[y]||null)}},insertBefore(d,m){let y=c(d),f=c(m);y.parentNode.insertBefore(f,y);let g=s().cloneOf(y.parentNode);if(g){let v=s().cloneOf(f);v||(v=a.importNode(f,!0),h(f,v));let T=s().cloneOf(y);T?T.before(v):g.appendChild(v)}},insertAfter(d,m){let y=c(d),f=c(m);y.parentNode.insertBefore(f,y.nextSibling);let g=s().cloneOf(y.parentNode);if(g){let v=s().cloneOf(f);v||(v=a.importNode(f,!0),h(f,v));let T=s().cloneOf(y);T?T.after(v):g.appendChild(v)}},identity(d){return c(d)||null},remove(d){let m=c(d),y=s().cloneOf(m);S.remove(m),y&&S.remove(y)},replaceWith(d,m){let y=c(d),f=s().cloneOf(y),g=S.replaceWith(y,m);if(f){let v=re(g,{capability:"data",exclude:t.exclude||null});if(!v.root)f.remove();else{f.replaceWith(v.root);let T=O=>{let x=v.original(O);x&&(i.liveToClone.set(x,O),i.cloneToLive.set(O,x));for(let C of Array.from(O.childNodes||[]))T(C)};T(v.root)}}return g}};return A}var ne=S,ue={extract:(e,t,r={})=>oe(H(e,r),e,t,r),apply:(e,t,r,n={})=>le(H(e,{...n,_write:!0}),e,t,r,n),findRulesIn:(e,t)=>ke(ne,e,t),findRules:(e,t)=>lt(ne,e,t),bind:(e,t,r={})=>{let n=lt(ne,e,t);if(!n){let o=typeof t=="string"?`data-rules-name~="${t}"`:"the provided rules object";throw new Error(`hyper-html-api: could not resolve rules for ${o}`)}return{...n,get:()=>oe(H(e,r),e,n.rules,r),set:o=>le(H(e,{...r,_write:!0}),e,n.rules,o,r)}},parseStrict:wr,parseRelaxed:Tt,ruleAttrIndex:z,splitRule:Xt,errors:P,DOM_PROPERTIES:ut},be=e=>!!e&&typeof e.nodeType=="number";function Rt(e){let t=e&&e.ownerDocument?e.ownerDocument:e,r=ke(ne,t,"api");if(!r)throw new P.NoRulesTag("api");return r.rules}function Wr(e){if(e.nodeType===9)return e;let t=e.ownerDocument?.documentElement;if(t?.contains(e))return t;let r=e;for(;r.parentNode;)r=r.parentNode;return r}function Ur(e){if(e.nodeType!==11||!e.host)return e.cloneNode(!0);let t=e.ownerDocument.createDocumentFragment();for(let r of e.childNodes)t.appendChild(r.cloneNode(!0));return t}function qr(e,t){let r=[];for(;t!==e;){let n=t.parentNode;r.push(Array.prototype.indexOf.call(n.childNodes,t)),t=n}return r.reverse()}function _r(e,t){return t.reduce((r,n)=>r.childNodes[n],e)}function _(e,t){let r=e.querySelectorAll?Array.from(e.querySelectorAll(t)):[];return e.matches?.(t)&&r.unshift(e),r}function zr(e,t){let r=_(e,"option"),n=_(t,"option");r.forEach((s,u)=>n[u].selected=s.selected);let o=_(e,"input"),l=_(t,"input");o.forEach((s,u)=>{let c=s.type.toLowerCase();c!=="file"&&(l[u].value=s.value),(c==="checkbox"||c==="radio")&&(l[u].checked=s.checked)});let a=_(e,"textarea"),i=_(t,"textarea");a.forEach((s,u)=>i[u].value=s.value)}function Ae(e,t){if(t!==void 0){if(typeof e=="string"){if(e.endsWith("[]"))return;let r=e.startsWith("@")?0:z(e);if(r===-1)return;let n=e.slice(r+1);if(ct.has(n))throw new P.RuleTargetReadOnly(n);return}if(Array.isArray(e)){if(!Array.isArray(t))return;t.forEach(r=>Ae(e[1],r));return}if(e&&typeof e=="object"&&t&&typeof t=="object"&&!Array.isArray(t))for(let[r,n]of Object.entries(e))Ae(n,t[r])}}function Fr(e,t,r){let n={templateAttr:"cms-template"},o=Wr(e),l=qr(o,e),a=Ur(o);zr(o,a);let i=_r(a,l),s=H(a,{...n,_write:!0}),u=jr(s,i,t,r,n);if(u.unknownKeys.length||u.unmatched.length)throw new P.WriteRejected(u.unknownKeys,u.unmatched);let c=nt(s);le(c,i,t,r,n),c.assertClean(),Ae(t,r);let h=nt(H(o,{...n,_write:!0}));le(h,e,t,r,n),h.assertClean()}function Vr(e){if(!(e instanceof Error))return e;let t=e.name||"Error";try{e.code=t}catch{Object.defineProperty(e,"code",{value:t,configurable:!0,enumerable:!0})}return e instanceof P.WriteRefused?e.details=e.refusals:e instanceof P.WriteRejected?e.details={unknownKeys:e.unknownKeys,unmatched:e.unmatched}:e instanceof P.ShapeMismatch?e.details=e.mismatches:Array.isArray(e.path)?e.details={path:e.path}:typeof e.target=="string"?e.details={target:e.target}:e.token!==void 0?e.details={token:e.token}:e.version!==void 0?e.details={version:e.version}:e.details={},e}function X(e,t){let r=be(e)?e:document,n=be(e)?t:e;return n===void 0?oe(H(r),r,Rt(r)):ue.bind(r,n).get()}function Y(e,t,r){try{if(!be(e))throw new Error("hyper-html-api: applyData(root, data, source?) needs a DOM root as the first argument.");let n=r===void 0?Rt(e):ue.bind(e,r).rules;Fr(e,n,t)}catch(n){throw Vr(n)}return e}var Jr="clay:visitor-drafts:",Ct=1;function Ce(){try{return window.localStorage}catch{return null}}var I=e=>e!==null&&typeof e=="object"&&!Array.isArray(e);function Kr(e){let t=[];for(let r of e.matchAll(/([^.[\]]+)|\[(\d+)\]/g))t.push(r[2]!==void 0?Number(r[2]):r[1]);return t}function Zr(e,t){let r=Kr(t),n=e;for(let o=0;o<r.length-1;o++)if(n=n?.[r[o]],n==null||typeof n!="object")return;n&&typeof n=="object"&&delete n[r[r.length-1]]}function B(e,t){return Array.isArray(e)?Array.isArray(t)&&t.length===e.length&&e.every((r,n)=>B(r,t[n])):I(e)?I(t)&&Object.keys(e).every(r=>B(e[r],t[r])):e===t}function ce(e,t){return B(e,t)&&B(t,e)}var $t=e=>Array.isArray(e)&&e.every(t=>I(t)&&(typeof t.id=="string"||typeof t.id=="number"))&&new Set(e.map(t=>t.id)).size===e.length;function de(e,t,r=!1){if(I(e)&&I(t)){let n={...e};for(let o of Object.keys(t))o in e?n[o]=de(e[o],t[o]):r||(n[o]=t[o]);return n}if($t(e)&&$t(t)){let n=new Map(t.map(o=>[o.id,o]));return e.map(o=>n.has(o.id)?de(o,n.get(o.id)):o)}return e}function Mt(e,t,r){if(ce(t,r)||ce(r,e))return{value:t,conflict:!1};if(ce(t,e))return{value:r,conflict:!1};if(I(t)&&I(r)){let n={},o=!1;for(let l of new Set([...Object.keys(t),...Object.keys(r)])){let a=Mt(I(e)?e[l]:void 0,t[l],r[l]);o||=a.conflict,a.value!==void 0&&(n[l]=a.value)}return{value:n,conflict:o}}return{value:t,conflict:!0}}function Re(e,t){F(!0),e.dispatchEvent(new CustomEvent("clay:drafts-store-failed",{detail:{error:t}}));let r=new Error("Couldn't save in this browser. Storage is full or turned off.");return r.code="draft-storage",r}function jt({doc:e=document,storage:t=Ce(),now:r=()=>new Date}={}){let n=te(e),o=Jr+n,l=ue.findRulesIn(e,"api").rules,a=null,i=null,s=null,u=!1;function c(){try{return t?t.getItem(o):null}catch{return null}}function h(b){try{let w=JSON.parse(b);if(I(w)&&w.v===Ct&&I(w.data))return w}catch{}return null}function p(){let b=c();return b==null?null:{raw:b,record:h(b)}}function A(){return X(e,l)}function d(){let b=window.clay?.getHTML;return typeof b!="function"?A():X(new DOMParser().parseFromString(b.call(window.clay),"text/html"),l)}function m(){try{if(typeof t.keys=="function")return t.keys();let b=[];for(let w=0;w<t.length;w++)b.push(t.key(w));return b}catch{return[]}}function y(){try{return JSON.stringify(d())}catch{return null}}function f(b,{keepSlot:w=!1}={}){let k=m().find(j=>j.startsWith(o+":unreadable:")&&t.getItem(j)===b);if(k){if(s=null,!w)try{t.removeItem(o)}catch{}return k}let N=o+":unreadable:"+r().toISOString();try{t.setItem(N,b)}catch{return s=b,console.warn("visitor-drafts: this browser's saved copy no longer fits the page, and there is no room to keep it aside; nothing will be saved over it"),null}if(s=null,!w)try{t.removeItem(o)}catch{}return console.warn(w?"visitor-drafts: part of this browser's saved copy no longer fits the page; the original was kept under":"visitor-drafts: this browser's saved copy no longer fits the page; it was kept under",N),N}function g(b){let w=de(JSON.parse(JSON.stringify(b)),A(),!0),k=[];for(let N=0;N<4;N++){let j=e.cloneNode(!0);try{Y(j,w,l)}catch(R){let pe=R?.details?.unknownKeys??R?.unknownKeys;if(Array.isArray(pe)&&pe.length){for(let q of pe)Zr(w,q);continue}let he=Object.keys(w).filter(q=>{try{return Y(e.cloneNode(!0),{[q]:w[q]},l),!1}catch{return!0}});if(!he.length)return null;for(let q of he)delete w[q];k.push(...he);continue}let ee=X(j,l),U=Object.keys(w).filter(R=>!B(w[R],ee[R]));if(!U.length)return{data:w,dropped:k};for(let R of U)delete w[R];k.push(...U)}return null}function v(b){let w=f(b);return w||(a=b),i=A(),w?{restored:!1,hadDraft:!0,parked:!0}:{restored:!1,hadDraft:!0,parked:!1,blocked:!0}}function T(){let b=p();if(!b)return i=A(),{restored:!1,hadDraft:!1};if(!b.record)return v(b.raw);let w=g(b.record.data);if(!w||!Object.keys(w.data).length)return v(b.raw);if(Y(e,w.data,l),a=b.raw,i=A(),w.dropped.length){let k=f(b.raw,{keepSlot:!0});return{restored:!0,hadDraft:!0,data:w.data,partial:!0,parked:!!k,blocked:!k}}return{restored:!0,hadDraft:!0,data:w.data}}function O(){if(u)return!1;try{return!B(d(),i)}catch{return!0}}function x(b){let w=o+":conflict";try{t.setItem(w,b)}catch(k){throw Re(e,k)}console.warn("visitor-drafts: another tab changed the same thing; its copy was kept under",w)}function C(b){let w=c(),k=w==null?null:h(w);if(!k)return{data:b,stored:null};let N=b;if(w!==a){let j=Mt(i,b,k.data);j.conflict&&x(w),N=j.value}return N=de(N,k.data),{data:N,stored:ce(N,k.data)?w:null}}function W(b){let w=g(b);if(!w||!Object.keys(w.data).length)return null;Y(e,w.data,l);try{window.Sap?.refresh?.()}catch{}return e.dispatchEvent(new CustomEvent("clay:drafts-restored",{detail:{restored:!0,hadDraft:!0,parked:!1,external:!0}})),w.data}function Q(b){if(u)return null;if(s!=null&&f(s,{keepSlot:!0})===null)throw Re(e,new Error("an earlier saved copy could not be kept aside"));let w=X(new DOMParser().parseFromString(b,"text/html"),l),k=c();if(B(w,i)&&(k===a||k==null))return F(!1),e.dispatchEvent(new CustomEvent("clay:drafts-saved",{detail:{data:w,unchanged:!0}})),w;let{data:N,stored:j}=C(w),ee=j??JSON.stringify({v:Ct,savedAt:r().toISOString(),data:N});if(!j)try{if(!t)throw new Error("no storage");t.setItem(o,ee)}catch(R){throw Re(e,R)}let U=Object.keys(w).filter(R=>!B(w[R],N[R]));return U.length&&W(Object.fromEntries(U.map(R=>[R,N[R]]))),a=ee,i=N,F(!1),e.dispatchEvent(new CustomEvent("clay:drafts-saved",{detail:{data:N}})),N}function E(){try{return Q(window.clay.getHTML()),!0}catch{return!1}}function L(){return u||!O()?!0:E()}function $(){if(u)return!1;let b=c();if(b==null||b===a||O())return!1;let w=h(b),k=w&&W(w.data);return k?(a=b,i={...i,...k},!0):!1}function D(){u=!0,s=null,F(!1);try{t.removeItem(o)}catch{}}return{slot:n,key:o,rules:l,read:p,restore:T,write:Q,writeLive:E,flush:L,changed:O,adoptExternal:$,park:f,clear:D,snapshot:y}}function It(e,t){let r=`clay:visitor-drafts:${e}:ui`,n=()=>({v:1,prompt:{},intro:{done:null},src:null}),o=n();try{let l=JSON.parse(t?.getItem(r)||"null");l&&typeof l=="object"&&l.v===1&&(o={...n(),...l})}catch{}return{get:()=>o,save(){try{t?.setItem(r,JSON.stringify(o))}catch{}},reset(){o=n();try{t?.removeItem(r)}catch{}}}}var Xr=/^[a-z0-9][a-z0-9-]{0,39}$/;function Dt(e,t=window.location.search){let r=e.get(),n=null;try{n=new URLSearchParams(t).get("src")}catch{}return!r.src&&n&&Xr.test(n)&&(r.src=n,e.save()),r.src}function Pt(e,t=window.location){let r=t.pathname.replace(/\/+$/,"");return r&&!/\.(html|htmlclay)$/.test(r)&&(r+=".html"),`/_/download${r}?as=htmlclay${e?`&src=${encodeURIComponent(e)}`:""}`}var Yr="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@500&family=IBM+Plex+Sans:wght@400;500;600&family=Newsreader:opsz,wght@6..72,500&display=swap",Gr=`<aside class="hcp" id="hcp" hidden aria-label="Download this app" data-hcp-state="tab" data-hcp-reason="open" sap-ignore clay="editor-ui">
|
|
2
|
+
<section class="hcp-card" id="hcp-card" role="dialog" aria-modal="false" aria-labelledby="hcp-title">
|
|
3
|
+
<button type="button" class="hcp-x" data-hcp="minimize" aria-label="Minimize"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="square" aria-hidden="true"><path d="M5 12h14"/></svg></button>
|
|
4
|
+
<div class="hcp-kicker">Free download</div>
|
|
5
|
+
<h2 class="hcp-title" id="hcp-title"><span data-hcp-for="use">Your work is saved in this browser only.</span><span data-hcp-for="open">This app is free to keep.</span><span data-hcp-for="return">Your work is saved in this browser only.</span><span data-hcp-for="error">Your work isn't being saved in this browser.</span></h2>
|
|
6
|
+
<p class="hcp-body"><span data-hcp-for="open">Download it as one file and use it on your computer, no account needed.</span><span data-hcp-for="use">Download the file to keep it on your computer for good.</span><span data-hcp-for="return">Download the file to keep it on your computer for good.</span><span data-hcp-for="error">Storage is full or turned off here. Download the file to keep what you've done.</span></p>
|
|
7
|
+
<div class="hcp-file">
|
|
8
|
+
<svg width="20" height="20" viewBox="0 0 256 256" fill="currentColor" aria-hidden="true"><path d="M224,144v64a8,8,0,0,1-8,8H40a8,8,0,0,1-8-8V144a8,8,0,0,1,16,0v56H208V144a8,8,0,0,1,16,0Zm-101.66,5.66a8,8,0,0,0,11.32,0l40-40a8,8,0,0,0-11.32-11.32L136,124.69V32a8,8,0,0,0-16,0v92.69L93.66,98.34a8,8,0,0,0-11.32,11.32Z"/></svg>
|
|
9
|
+
<div><b class="hcp-name" data-hcp-name>This app</b><small>One file with the whole app and your work in it</small></div>
|
|
10
|
+
</div>
|
|
11
|
+
<div class="hcp-actions">
|
|
12
|
+
<a class="hcp-btn hcp-btn--primary" data-hcp-link href="/_/download?as=htmlclay"><span><svg width="16" height="16" viewBox="0 0 256 256" fill="currentColor" aria-hidden="true"><path d="M224,144v64a8,8,0,0,1-8,8H40a8,8,0,0,1-8-8V144a8,8,0,0,1,16,0v56H208V144a8,8,0,0,1,16,0Zm-101.66,5.66a8,8,0,0,0,11.32,0l40-40a8,8,0,0,0-11.32-11.32L136,124.69V32a8,8,0,0,0-16,0v92.69L93.66,98.34a8,8,0,0,0-11.32,11.32Z"/></svg>Download free</span></a>
|
|
13
|
+
</div>
|
|
14
|
+
<div class="hcp-foot"><button type="button" class="hcp-quiet" data-hcp="dismiss">Don’t show again</button></div>
|
|
15
|
+
</section>
|
|
16
|
+
<div class="hcp-dock">
|
|
17
|
+
<button type="button" class="hcp-btn hcp-tab" data-hcp="open" aria-controls="hcp-card" aria-expanded="false" aria-label="This app is free to keep"><span><svg width="16" height="16" viewBox="0 0 256 256" fill="currentColor" aria-hidden="true"><path d="M224,144v64a8,8,0,0,1-8,8H40a8,8,0,0,1-8-8V144a8,8,0,0,1,16,0v56H208V144a8,8,0,0,1,16,0Zm-101.66,5.66a8,8,0,0,0,11.32,0l40-40a8,8,0,0,0-11.32-11.32L136,124.69V32a8,8,0,0,0-16,0v92.69L93.66,98.34a8,8,0,0,0-11.32,11.32Z"/></svg><span class="hcp-tab__label">This app is free to keep</span><span class="hcp-tab__mini">Keep</span></span></button>
|
|
18
|
+
<button type="button" class="hcp-x" data-hcp="minimize" aria-label="Minimize download notice"><svg width="12" height="12" viewBox="0 0 12 12" fill="currentColor" aria-hidden="true"><path d="M1.4 0 6 4.6 10.6 0 12 1.4 7.4 6 12 10.6 10.6 12 6 7.4 1.4 12 0 10.6 4.6 6 0 1.4z"/></svg></button>
|
|
19
|
+
</div>
|
|
20
|
+
</aside>`;async function Bt({memory:e,appName:t,link:r}){if(!document.getElementById("hcp-style")){let{PROMPT_CSS:E}=await import("../c-SGIA4IEQ.js");document.head.insertAdjacentHTML("beforeend",`<link rel="stylesheet" clay="editor-ui" href="${Yr}">
|
|
21
|
+
<style clay="editor-ui" id="hcp-style">${E}</style>`)}document.getElementById("hcp")||document.body.insertAdjacentHTML("beforeend",Gr);let n=document.getElementById("hcp"),o=e.get();(!o.prompt||typeof o.prompt!="object")&&(o.prompt={});let l=o.prompt,a=3,i=2500,s=/^(INPUT|TEXTAREA|SELECT)$/,u="#hcp, .clay-intro, .clay-owner",c=n.querySelector("[data-hcp-link]");c.href=r,t&&(n.querySelector("[data-hcp-name]").textContent=t);let h=n.querySelector("[data-hcp=open]");function p(E,L){n.hidden=!1,n.setAttribute("data-hcp-state",E),L&&n.setAttribute("data-hcp-reason",L),h.setAttribute("aria-expanded",E==="card"?"true":"false"),(E==="card"||E==="mini")&&(l.shown=!0,e.save(),n.setAttribute("data-hcp-arrived","")),O()}function A(E){return E&&!n.contains(E)&&!E.closest(u)&&(s.test(E.tagName)||E.isContentEditable)}let d=null;function m(E){clearTimeout(d),d=setTimeout(()=>{if(l.shown||l.dismissed||n.getAttribute("data-hcp-state")!=="tab")return;let L=document.activeElement;if(A(L)){let $=L.getBoundingClientRect(),D=Math.min(360,innerWidth-32);if(innerWidth<700||$.right>innerWidth-D-32&&$.bottom>innerHeight-380)return}p("card",E)},i)}let y=[];function f(E){n.contains(E.target)||!A(E.target)||(y.indexOf(E.target)<0&&y.push(E.target),l.uses=Math.max(l.uses||0,y.length),l.shown||e.save(),y.length>=a&&m("use"))}function g(E){A(E.target)&&(n.getAttribute("data-hcp-state")==="card"&&p(l.shown?"mini":"tab"),innerWidth<700&&n.setAttribute("data-hcp-typing",""))}function v(){setTimeout(()=>{A(document.activeElement)||n.removeAttribute("data-hcp-typing")},50)}let T=0;function O(){T||(T=requestAnimationFrame(()=>{T=0;let L=Ue(innerWidth-24,$=>n.contains($)||$.closest("[data-hcp-preview], .clay-owner"))+"px";n.style.getPropertyValue("--hcp-lift")!==L&&n.style.setProperty("--hcp-lift",L),We()}))}function x(){let E=window.clay&&window.clay.getHTML;if(typeof E!="function"||typeof URL>"u"||typeof URL.createObjectURL!="function")return!1;let L=location.pathname.split("/").filter(Boolean).pop()||"index.html",$=URL.createObjectURL(new Blob([E()],{type:"text/html"})),D=document.createElement("a");return D.href=$,D.download=L.replace(/\.html$/,".htmlclay"),document.body.appendChild(D),D.click(),D.remove(),setTimeout(()=>URL.revokeObjectURL?.($),1e3),!0}n.addEventListener("click",E=>{let L=E.target.closest("[data-hcp]");if(L){let $=L.getAttribute("data-hcp");$==="open"?(p("card","open"),c.focus()):$==="minimize"?(p("mini"),h.focus()):$==="dismiss"&&(n.getAttribute("data-hcp-reason")==="error"?(p("mini"),h.focus()):(l.dismissed=!0,p("mini"),h.focus()));return}E.target.closest("[data-hcp-link]")&&(n.getAttribute("data-hcp-reason")==="error"&&(E.preventDefault(),x()),l.downloaded=!0,l.shown=!0,e.save())}),n.addEventListener("animationend",E=>{(E.animationName==="hcp-arrive"||E.animationName==="hcp-arrive-fade")&&n.setAttribute("data-hcp-arrived","")}),n.addEventListener("keydown",E=>{E.key==="Escape"&&n.getAttribute("data-hcp-state")==="card"&&(p("mini"),h.focus())});function C(){p("card","error")}function W(){n.getAttribute("data-hcp-reason")==="error"&&n.setAttribute("data-hcp-reason","use")}let Q={set:p,root:n,showError:C,clearError:W};return document.addEventListener("input",f,!0),document.addEventListener("change",f,!0),document.addEventListener("focusin",g),document.addEventListener("focusout",v),addEventListener("scroll",O,{passive:!0}),addEventListener("resize",O),document.addEventListener("transitionend",O,!0),p(l.shown||l.dismissed?"mini":"tab"),!l.shown&&(l.uses||0)>=a&&m("return"),Q}var M=null,G=null,Me=qe,je=null,Ht=Promise.resolve();function Wt(){return import("../c-HRDCD3WN.js").then(e=>e.mountOwnerChip()).catch(e=>(console.warn("visitor-drafts: the owner chip did not load",e),null))}function Qr(e){return e.template?import("../c-Z6K52OLP.js").then(t=>t.mountIntro(e)).catch(t=>(console.warn("visitor-drafts: the intro did not load",t),null)):Promise.resolve(null)}var fe=te(),$e=document.querySelector('script[data-rules-name~="api"]');if(Be&&fe&&$e){M=jt(),De(a=>M.write(a));let e=M.restore();G={restored:e.restored,hadDraft:e.hadDraft,parked:!!e.parked,...e.partial&&{partial:!0},...e.blocked&&{blocked:!0}},document.dispatchEvent(new CustomEvent("clay:drafts-restored",{detail:G}));let t=It(fe,Ce());je=Dt(t),Me=Pt(je);let r=document.querySelector('meta[name="application-name"]')?.content?.trim()||document.title.split(/:|\s\|\s/)[0].trim()||"This app",n=document.querySelector("template[visitor-intro]"),o=()=>{Ht=Bt({memory:t,appName:r,link:Me}).then(a=>Qr({memory:t,template:n,appName:r,hadDraft:e.hadDraft}).then(()=>a)).then(a=>(document.addEventListener("clay:drafts-store-failed",()=>a.showError()),document.addEventListener("clay:drafts-saved",()=>a.clearError()),(me?Wt():Promise.resolve(null)).then(()=>a)))};document.readyState==="loading"?document.addEventListener("DOMContentLoaded",o,{once:!0}):o(),Pe(()=>M.flush()),window.addEventListener("storage",a=>{a.key===M.key&&M.adoptExternal()});let l=()=>M.flush();document.addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&l()}),window.addEventListener("pagehide",l)}else if(!fe||!$e){let e=[];fe||e.push('a visitor-drafts="<slot>" attribute on <html>'),$e||e.push('a <script data-rules-name~="api"> rules tag'),console.warn(`visitor-drafts: this page keeps no draft (missing ${e.join(" and ")})`)}else me&&He&&!Ie()&&(Ht=Wt());var Sn=M?{active:!0,slot:M.slot,key:M.key,hasDraft:()=>!!M.read(),restored:()=>G,saveNow:()=>M.writeLive(),reset(){return M.clear(),window.location.reload(),!0},onRestore(e){return G?(e(G),!0):(document.addEventListener("clay:drafts-restored",t=>e(t.detail),{once:!0}),!1)},editOriginal:_e,backToDraft:ze,downloadUrl:()=>Me,source:je}:Fe();export{Ht as ready,Sn as visitorDrafts};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{d as m}from"../c-MTQHWQC3.js";import{c as a,i as u,k as f}from"../c-7O6AFR65.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import{d as l}from"../c-N7JPUPGC.js";import"../c-HA6INT6J.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";var o=l(),i=document.querySelector('script[data-rules-name~="api"]'),e=null,n=null,s=0,c=()=>f&&u&&!a()&&!!o&&!!i;function p(){if(e)return Promise.resolve(e);if(!n){let t=s;n=import("../c-HRDCD3WN.js").then(({mountOwnerChip:d})=>{let r=d()||document.getElementById("clay-owner");return t===s?(e=r,r):(r?.liftOff?.(),r?.remove(),null)}).finally(()=>{n=null})}return n}function h(){s+=1,e?.liftOff?.(),e?.remove(),e=null,document.getElementById("clay-owner-vars")?.remove()}if(!o||!i){let t=[];o||t.push('a visitor-drafts="<slot>" attribute on <html>'),i||t.push('a <script data-rules-name~="api"> rules tag'),console.warn(`visitor-drafts: this page keeps no draft (missing ${t.join(" and ")})`)}var v=c()?p():Promise.resolve(null),O=v;function P(){return{id:"clay:drafts-owner",order:400,prepare(t={}){return{enable(){t.initial!==!0&&c()&&p()},quiesce(){},resume(){},dispose(){h()}}}}}var k=m();export{P as draftsOwnerParticipant,P as modeParticipant,O as ready,k as visitorDrafts};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a,b,c}from"../c-4B6H4G5V.js";import"../c-AYVOREBE.js";import"../c-7O6AFR65.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-N7JPUPGC.js";import"../c-HA6INT6J.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";export{c as default,a as modeParticipant,b as wire,a as wireParticipant};
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import{b as S,c as q}from"./c-NUHP2XDB.js";import{g as U}from"./c-QIX5BJYN.js";import{a as f}from"./c-VKEDWYDF.js";import{b as K}from"./c-HT33EQRN.js";import{e as I}from"./c-AYVOREBE.js";import"./c-IJUK2GPW.js";import{b as O,d as $,e as k,f as u,g as a,i as c,j as o,k as b,m as D,r as j}from"./c-7O6AFR65.js";import"./c-P7KNDG34.js";import"./c-CYWLPPUS.js";import"./c-N7JPUPGC.js";import"./c-GHBCCVG4.js";import"./c-HA6INT6J.js";import"./c-DCFSEJZG.js";import"./c-WRBKEJD4.js";import{a as E}from"./c-VHNSBD2M.js";var R={};E(R,{activateInitialMode:()=>ce,canEdit:()=>a,default:()=>pe,init:()=>L,isEditMode:()=>c,isOwner:()=>b,mode:()=>o,modeLifecycle:()=>se,noteLiveSwitch:()=>de,setMode:()=>w,setPageTypeOnPageLoad:()=>V,toggleEditMode:()=>F});var M=!1,ie=e=>{if(typeof e?.id=="string"&&e.id.startsWith("clay:"))throw new TypeError(`clay.modeLifecycle: the id "${e.id}" is reserved`);return j(e)},se={register:ie,canWrite:()=>D().phase==="idle"&&c,get state(){return Object.freeze(D())}},T=null,_=()=>T||=import("./c-WWDBYXLK.js").catch(()=>T=null),A=null,de=e=>{A=e};async function ce(){if(c)try{await(await _()).activateInitial()}catch(e){console.error("clayjs: the mode lifecycle failed to start:",e)}}var m=null;async function w(e){if(e!=="edit"&&e!=="view")throw new TypeError(`clay.setMode: unknown mode "${e}"`);if(m)return m.target===e?m.promise:{ok:!1,mode:o,code:"busy"};if(e===o&&!T)return{ok:!0,mode:o,changed:!1};if(u)return{ok:!1,mode:o,code:"not-allowed"};let t=le(e);m={target:e,promise:t};try{return await t}finally{m?.promise===t&&(m=null)}}async function le(e){let t=typeof window<"u"?window.clay?._requestHostMode:void 0;if(typeof t=="function"&&e!==o){let r;try{r=await t(e)}catch{return{ok:!1,mode:o,code:"host-failed"}}if(r?.reason!=="host-unsupported")return r?.ok?(M=!0,{ok:!0,mode:e,changed:!0,reloading:!0}):{ok:!1,mode:o,code:r?.reason||"host-refused"}}return e==="edit"&&o!=="edit"?ue():!a&&!(e==="view"&&o==="edit")?{ok:!1,mode:o,code:"not-allowed"}:H(e)}async function ue(){let e=location.pathname,{checkHostPermission:t}=await import("./core/host-permission-XN3K2IW3.js"),r=await t({fresh:!0});return location.pathname!==e?{ok:!1,mode:o,code:"cancelled"}:r===!1?{ok:!1,mode:o,code:"permission-denied"}:a?H("edit"):{ok:!1,mode:o,code:"not-allowed"}}async function H(e){if(A){let t=await _(),r=t&&await t.switchMode(e,A);if(r)return r}if(e===o)return{ok:!0,mode:o,changed:!1};if(o==="edit"){let t;try{t=await window.clay?.save?.flush?.()}catch(r){return{ok:!1,mode:o,code:"save-failed",state:r?.state}}if(t&&t.state&&t.state!=="saved"&&t.state!=="clean")return{ok:!1,mode:o,code:"save-failed",state:t.state}}return M=!0,k({mode:e,canEdit:a,internal:!0}),location.reload(),{ok:!0,mode:e,changed:!0,reloading:!0}}function fe(){let e=new URL(window.location.href);e.searchParams.set("editmode","true"),window.location.href=e.toString()}var F=()=>u?fe():w(o==="edit"?"view":"edit");function me(){!a||u||window.addEventListener("pagehide",()=>{M||k({mode:o,canEdit:a,internal:!1})})}function z(){a?document.documentElement.setAttribute("canedit","true"):document.documentElement.removeAttribute("canedit")}function V(){f(()=>{document.documentElement.setAttribute("editmode",c?"true":"false"),document.documentElement.setAttribute("pageowner",b?"true":"false"),z(),document.addEventListener("clay:capabilitychange",z),u?document.documentElement.setAttribute("draftmode","true"):document.documentElement.removeAttribute("draftmode")})}function L(){V(),me()}L();var pe={init:L,setMode:w,toggleEditMode:F,isEditMode:c,isOwner:b,canEdit:a,mode:o};var B={};var W=typeof navigator<"u"&&/Mac|iPhone|iPad/.test(navigator.platform||navigator.userAgent),we=W?"\u2318\u21E7E":"Ctrl+Shift+E",he=`.clay-mode-note {
|
|
2
|
+
position: fixed;
|
|
3
|
+
right: calc(16px + env(safe-area-inset-right, 0px));
|
|
4
|
+
bottom: calc(16px + env(safe-area-inset-bottom, 0px));
|
|
5
|
+
z-index: 2147482000;
|
|
6
|
+
display: flex;
|
|
7
|
+
align-items: center;
|
|
8
|
+
gap: 10px;
|
|
9
|
+
max-width: min(420px, calc(100vw - 32px));
|
|
10
|
+
padding: 10px 10px 10px 14px;
|
|
11
|
+
border: 1px solid rgba(23, 28, 36, .16);
|
|
12
|
+
border-radius: 12px;
|
|
13
|
+
font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
|
|
14
|
+
font-size: 13px;
|
|
15
|
+
line-height: 1.45;
|
|
16
|
+
text-align: left;
|
|
17
|
+
color: var(--clay-ui-fg, #1F2328);
|
|
18
|
+
background: var(--clay-ui-bg, #F4F4F5);
|
|
19
|
+
box-shadow: 0 8px 24px -12px rgba(23, 28, 36, .45);
|
|
20
|
+
transition: opacity .25s ease, transform .25s ease;
|
|
21
|
+
}
|
|
22
|
+
.clay-mode-note kbd {
|
|
23
|
+
font: inherit;
|
|
24
|
+
font-weight: 600;
|
|
25
|
+
padding: 1px 5px;
|
|
26
|
+
border: 1px solid rgba(23, 28, 36, .2);
|
|
27
|
+
border-radius: 5px;
|
|
28
|
+
background: rgba(23, 28, 36, .07);
|
|
29
|
+
}
|
|
30
|
+
.clay-mode-note button {
|
|
31
|
+
flex: none;
|
|
32
|
+
display: inline-flex;
|
|
33
|
+
align-items: center;
|
|
34
|
+
justify-content: center;
|
|
35
|
+
width: 24px;
|
|
36
|
+
height: 24px;
|
|
37
|
+
padding: 0;
|
|
38
|
+
border: 0;
|
|
39
|
+
border-radius: 6px;
|
|
40
|
+
font: inherit;
|
|
41
|
+
font-size: 16px;
|
|
42
|
+
line-height: 1;
|
|
43
|
+
color: inherit;
|
|
44
|
+
background: none;
|
|
45
|
+
cursor: pointer;
|
|
46
|
+
opacity: .65;
|
|
47
|
+
}
|
|
48
|
+
.clay-mode-note button:hover { opacity: 1; background: rgba(23, 28, 36, .08); }
|
|
49
|
+
@media (prefers-color-scheme: dark) {
|
|
50
|
+
.clay-mode-note {
|
|
51
|
+
border-color: rgba(233, 233, 236, .16);
|
|
52
|
+
color: var(--clay-ui-fg, #E9E9EC);
|
|
53
|
+
background: var(--clay-ui-bg, #26282C);
|
|
54
|
+
box-shadow: 0 8px 24px -12px rgba(0, 0, 0, .7);
|
|
55
|
+
}
|
|
56
|
+
.clay-mode-note kbd { border-color: rgba(233, 233, 236, .22); background: rgba(233, 233, 236, .1); }
|
|
57
|
+
.clay-mode-note button:hover { background: rgba(233, 233, 236, .12); }
|
|
58
|
+
}
|
|
59
|
+
@media (prefers-reduced-motion: reduce) {
|
|
60
|
+
.clay-mode-note { transition: none; }
|
|
61
|
+
}
|
|
62
|
+
@media (max-width: 559px) {
|
|
63
|
+
.clay-mode-note {
|
|
64
|
+
left: calc(16px + env(safe-area-inset-left, 0px));
|
|
65
|
+
right: calc(16px + env(safe-area-inset-right, 0px));
|
|
66
|
+
max-width: none;
|
|
67
|
+
}
|
|
68
|
+
}`;function ge(){if(document.getElementById("clay-mode-note-style"))return;let e=document.createElement("style");e.id="clay-mode-note-style",e.setAttribute("clay","editor-ui"),e.textContent=he,document.head.append(e)}function ye(e){(a||o==="edit")&&(!(W?e.metaKey:e.ctrlKey)||!e.shiftKey||e.altKey||e.code!=="KeyE"||e.isComposing||(e.preventDefault(),w(o==="edit"?"view":"edit").then(t=>{t.ok||import("./c-QHIWXHRO.js").then(({modeRefusalText:r})=>{let n=r(t);n&&window.clay?.toast?.(n,"error")})})))}function be(){ge();let e=document.createElement("div");e.setAttribute("clay","editor-ui"),e.setAttribute("role","status"),e.className="clay-mode-note",e.innerHTML=`<span>This page opens in view mode. Press <kbd>${we}</kbd> to edit.</span><button type="button" aria-label="Dismiss">\xD7</button>`;let t=()=>e.remove();e.querySelector("button").addEventListener("click",t),addEventListener("keydown",r=>{r.key==="Escape"&&t()},{once:!0}),setTimeout(t,12e3),document.body.append(e)}u||(document.addEventListener("keydown",ye),f(()=>{!a||o!=="view"||document.querySelector("[clay-mode-toggle]")||queueMicrotask(()=>{if(window.clay?.menu)return;let e=window.clay?.storage?.local;!e||e.get("mode-note")||(e.set("mode-note",!0),be())})}));var P={};E(P,{whenShown:()=>De});var ve="This page can't be edited: the app serving it is out of date. Update HTML Clay to 1.9.0 or newer.",i=null,l=null;function h(){if(!i)return;let e=window.visualViewport,t=e?Math.max(0,window.innerHeight-e.height-e.offsetTop):0;S(i,"bottom",`calc(${16+t}px + env(safe-area-inset-bottom,0px))`)}function xe(){i&&(S(i,"display","none"),window.visualViewport?.removeEventListener("resize",h),window.visualViewport?.removeEventListener("scroll",h))}function Ee(){i=l.bevelSurface("div",["position:fixed","left:50%","transform:translateX(-50%)","z-index:2147483001","display:flex","align-items:center","gap:10px 12px","width:max-content","max-width:calc(100vw - 24px)","flex-wrap:wrap","padding:8px 8px 8px 14px","text-align:left",`color-scheme:${l.pageScheme()}`]),i.setAttribute("clay",l.RUNTIME_ONLY),i.setAttribute("data-clay-stale-host",""),i.setAttribute("role","alert");let e=q("span",["all:initial","color-scheme:inherit","display:inline-block","flex:none","width:8px","height:8px","border-radius:50%",`background:${l.TOKENS.ox}`]);e.setAttribute("clay",l.RUNTIME_ONLY);let t=l.bevelButton("Dismiss",{small:!0,variant:"quiet",onClick:xe});t.setAttribute("aria-label","Dismiss this message"),i.append(e,l.bevelText("span",[],ve),t),document.body.appendChild(i),h(),window.visualViewport?.addEventListener("resize",h),window.visualViewport?.addEventListener("scroll",h)}async function ke(){if(!$()||c)return;let[e,t]=await Promise.all([import("./c-6HMB24EV.js"),import("./c-ZE46QDIH.js")]);l={...e,TOKENS:t.TOKENS},Ee()}var G=Promise.resolve();f(()=>{G=ke()});var De=()=>G;var N={};E(N,{createPageDataApi:()=>X,readData:()=>Re,setPageDataLiveSync:()=>Ce,writeData:()=>Pe});var Se="data-read",Te="data-write";function v(e,t,r){let n=new Error(t);return n.code=e,n.details=r,n}async function Y(e){if(typeof e.json=="function")return e.json();let t=await e.text();return t?JSON.parse(t):null}async function Ae(e){let t={};try{t=await Y(e)||{}}catch{}let r=t.message||t.error||e.statusText||`Request failed (${e.status})`,n=new Error(r);return n.status=e.status,n.error=t.error,n.details=t.details,n}function Me(e){let t=e.headers?.get?.("ETag");return typeof t=="string"&&t?t:null}function Le(e,t){let r=`${t.origin}${t.pathname}`;return e!==void 0?`${r}?data=${encodeURIComponent(JSON.stringify(e))}`:`${t.origin}/_/api${t.pathname}`}async function J(){let{isDraftMode:e}=await import("./core/is-edit-mode-JXHDVGUL.js");return e?v("DataUnavailableInDraft","Page data is kept in this browser for this visitor."):null}function X({supports:e=I,token:t=O,fetchImpl:r=(...g)=>fetch(...g),getLocation:n=()=>window.location,eventTarget:Q=document,loadWriteModules:Z,syncTimeoutMs:ee,httpTimeoutMs:te}={}){let g=null,p=null;function oe(s){g=s}async function re(s){let y=await J();if(y)throw y;if(!await e(Se))throw v("DataReadUnsupported","This host does not support reading page data.");let d;try{d=await r(Le(s,n()),{method:"GET",credentials:"same-origin",cache:"no-store",redirect:"error"})}catch(x){throw Object.assign(v("DataReadFailed",x?.message||"Could not read page data."),{cause:x})}if(!d.ok)throw await Ae(d);return{data:await Y(d),etag:Me(d)}}function ne(){return p||(p=import("./c-NZMNXVF6.js").then(({createPageDataWrite:s})=>s({supports:e,token:t,fetchImpl:r,getLocation:n,eventTarget:Q,getLiveSync:()=>g,loadWriteModules:Z,syncTimeoutMs:ee,httpTimeoutMs:te})).catch(s=>{throw p=null,s}),p)}async function ae(s,y){let d=await J();if(d)throw d;if(!await e(Te))throw v("DataWriteUnsupported","This host does not support writing page data.");return(await ne()).writeData(s,y)}return{readData:re,writeData:ae,setLiveSync:oe}}var C=X(),Re=C.readData,Pe=C.writeData,Ce=C.setLiveSync;var Ve={"lib/mutation.js":K,"core/preserve-authored.js":U,"core/edit-mode.js":R,"core/mode-key.js":B,"core/stale-host-notice.js":P,"core/page-data.js":N};export{Ve as core};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"../c-VHNSBD2M.js";var E=/^[a-z][a-z0-9-]*$/,d="route-",f="route-active",L=/^\s*([a-z][a-z0-9-]*)(?:\s+by\s+(\S+))?\s*$/,h={},y="",p=!1,i=null,m=!1;function b(o){let t=Object.create(null),e=String(o||"").replace(/^#/,"");if(!e.includes("="))return t;for(let[r,n]of new URLSearchParams(e)){if(!E.test(r)||r==="active"){console.warn(`clay-router: ignoring hash param "${r}"; names are lowercase letters, digits and hyphens, and "active" is reserved`);continue}n!==""&&(t[r]=n)}return t}function x(o){let t=new URLSearchParams;for(let[r,n]of Object.entries(o))n!=null&&n!==""&&t.set(r,String(n));let e=t.toString();return e?"#"+e:""}function w(o){let t=document.documentElement;for(let e of[...t.attributes])e.name.startsWith(d)&&!(e.name.slice(d.length)in o)&&t.removeAttribute(e.name);for(let[e,r]of Object.entries(o))t.getAttribute(d+e)!==r&&t.setAttribute(d+e,r)}function O(o){let t=new Set,e=new Set,r=new Set;for(let n of document.querySelectorAll("[route]")){let a=L.exec(n.getAttribute("route")||"");if(!a)continue;let[,s,A="data-id"]=a;e.add(s);let g=o[s];if(g!=null)for(let l of n.children)l.getAttribute(A)===g&&(t.add(l),r.add(s),l.getAttribute(f)!==s&&l.setAttribute(f,s))}for(let n of document.querySelectorAll(`[${f}]`))t.has(n)||n.removeAttribute(f);return[...e].filter(n=>o[n]!=null&&!r.has(n)).sort()}function c(){let o=b(location.hash);w(o);let t=document.body?O(o):[],e=h,r=[...new Set([...Object.keys(e),...Object.keys(o)])].filter(a=>e[a]!==o[a]);h=o;let n=t.join(" ");!r.length&&n===y||(y=n,document.dispatchEvent(new CustomEvent("clay:route",{detail:{params:{...o},previous:{...e},changed:r,unmatched:t}})))}function j(){return{...h}}function q(o,{replace:t=!1}={}){let e=b(location.hash);for(let[a,s]of Object.entries(o||{}))s==null||s===""?delete e[a]:e[a]=String(s);let r=x(e);if(r===(location.hash.includes("=")?location.hash:""))return;let n=location.pathname+location.search;t?(history.replaceState(history.state,"",n+r),c()):r?location.hash=r:(history.pushState(history.state,"",n),c())}function u(){m||(m=!0,queueMicrotask(()=>{m=!1,c()}))}function C(o){for(let t of o)if(t.type==="childList"){if(t.target.nodeType===1&&t.target.hasAttribute("route")){u();return}for(let e of t.addedNodes)if(e.nodeType===1&&(e.hasAttribute("route")||e.querySelector("[route]"))){u();return}}}function v(){c(),!i&&typeof MutationObserver=="function"&&(i=new MutationObserver(C),i.observe(document.body,{childList:!0,subtree:!0}))}function M(){p||(p=!0,w(b(location.hash)),window.addEventListener("hashchange",c),document.addEventListener("clay:sync-applied",u),document.addEventListener("clay:ready",u),document.readyState==="loading"?document.addEventListener("DOMContentLoaded",v,{once:!0}):v())}function k(){p=!1,h={},y="",window.removeEventListener("hashchange",c),document.removeEventListener("clay:sync-applied",u),document.removeEventListener("clay:ready",u),document.removeEventListener("DOMContentLoaded",v),i&&i.disconnect(),i=null}var S={get:j,set:q,apply:c},R=window.clay=window.clay||{};R.route=S;M();var z=S;export{c as apply,z as default,x as formatHash,j as get,b as parseHash,q as set,M as start,k as stop};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a,b as c,c as d,d as e,e as f,f as g,g as h}from"../c-KR4UW4KW.js";import{e as b}from"../c-Z36J63PP.js";import"../c-LZJPNR2W.js";import"../c-FILLTJA7.js";import"../c-5VYOWDTI.js";import"../c-7VGZ7RU5.js";import"../c-WYFDLITL.js";import"../c-HT33EQRN.js";import"../c-TQEMVJCS.js";import"../c-3IQRECYS.js";import"../c-AYVOREBE.js";import"../c-IJUK2GPW.js";import"../c-7O6AFR65.js";import"../c-P7KNDG34.js";import"../c-CYWLPPUS.js";import"../c-N7JPUPGC.js";import"../c-35NBGMZB.js";import"../c-XQXZAO7N.js";import"../c-S7LK4KUE.js";import"../c-GHBCCVG4.js";import"../c-HA6INT6J.js";import"../c-DCFSEJZG.js";import"../c-WRBKEJD4.js";import"../c-VHNSBD2M.js";export{e as LiveSync,d as REMOTE_WINS_SELECTOR,c as SYNC_IGNORE_SELECTOR,b as WIRE_PROFILES,a as conflicts,h as default,f as liveSync,g as morph};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as r,b as l,c as m,d as c}from"../c-5R4PTRG2.js";import{a as s,b as n,c as o}from"../c-ZUCOKOHT.js";import{b as d}from"../c-KIPQJX4B.js";import"../c-QHWJ5ZIJ.js";import"../c-UL2YUY52.js";import"../c-LFPHCXY3.js";import{a}from"../c-2AZDZWCK.js";import"../c-OIBUTDXI.js";import"../c-4JZDZFF6.js";import"../c-VAK7SG37.js";import{f as i}from"../c-46XYM55L.js";import"../c-NUHP2XDB.js";import"../c-VKEDWYDF.js";import"../c-VHNSBD2M.js";i();var t=window.clay=window.clay||{};t.toast=o;t.toastPersistent=s;t.ask=r;t.confirm=l;t.tell=m;t.snippet=c;t.modal=d;typeof window.toast>"u"&&(window.toast=o);typeof window.toastPersistent>"u"&&(window.toastPersistent=s);a.toasts=!0;a.savedToast=!!t.saveToast;Object.defineProperty(t,"saveToast",{get:()=>a.savedToast,set:e=>{a.savedToast=!!e},enumerable:!0,configurable:!0});document.addEventListener("clay:save-saved",e=>{n("Couldn't save"),n("Offline, not saved"),e.detail?.msgType==="warning"?o(e.detail.msg||"Saved","warning"):(!a.chip||a.savedToast)&&o(e.detail?.msg||"Saved","success")});document.addEventListener("clay:save-error",()=>s("Couldn't save","error"));document.addEventListener("clay:save-offline",()=>s("Offline, not saved","warning"));document.addEventListener("clay:live-notice",e=>{e.detail?.code==="save-uncertain"&&s(e.detail.message,"warning"),e.detail?.code==="op-too-large"&&o(e.detail.message,"warning")});export{r as ask,l as consent,c as snippet,m as tell,d as themodal,o as toast,s as toastPersistent};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as u}from"../c-UL2YUY52.js";import{a as s}from"../c-GQ6F6IDK.js";import{a as i}from"../c-P7KNDG34.js";import"../c-VHNSBD2M.js";function g(e,o){let r,t=[];return function(...n){let c=this;return clearTimeout(r),new Promise((l,m)=>{t.push({resolve:l,reject:m}),r=setTimeout(()=>{let d=t;t=[],h(e,c,n,d)},o)})}}function h(e,o,r,t){let n;try{n=e.apply(o,r)}catch(c){for(let l of t)l.reject(c);return}Promise.resolve(n).then(c=>{for(let l of t)l.resolve(c)},c=>{for(let l of t)l.reject(c)})}var a=g;function y(e){if(e==null)return"";let o=e.toString().match(/\.(html|htmlclay)$/i),r=o?o[0].toLowerCase():"";return(o?e.toString().slice(0,-r.length):e.toString()).toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/\s+/g,"-").replace(/[^\w\-]+/g,"").replace(/\-\-+/g,"-").replace(/^-+/,"").replace(/-+$/,"")+r}var p=y;var f=window.clay=window.clay||{};f.utils={throttle:s,debounce:a,cookie:i,slugify:p,copyToClipboard:u};var v=f.utils;export{v as default};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
(function(Tt,K){typeof exports=="object"&&typeof module<"u"?module.exports=K():typeof define=="function"&&define.amd?define(K):(Tt=Tt||self).Sortable=K()})(void 0,function(){"use strict";function Tt(t,e){var o,i=Object.keys(t);return Object.getOwnPropertySymbols&&(o=Object.getOwnPropertySymbols(t),e&&(o=o.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),i.push.apply(i,o)),i}function K(t){for(var e=1;e<arguments.length;e++){var o=arguments[e]!=null?arguments[e]:{};e%2?Tt(Object(o),!0).forEach(function(i){var n,r;n=t,i=o[r=i],r in n?Object.defineProperty(n,r,{value:i,enumerable:!0,configurable:!0,writable:!0}):n[r]=i}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(o)):Tt(Object(o)).forEach(function(i){Object.defineProperty(t,i,Object.getOwnPropertyDescriptor(o,i))})}return t}function xe(t){return(xe=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(t)}function $(){return($=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var o,i=arguments[e];for(o in i)Object.prototype.hasOwnProperty.call(i,o)&&(t[o]=i[o])}return t}).apply(this,arguments)}function Je(t,e){if(t==null)return{};var o,i=(function(l,a){if(l==null)return{};for(var s,u={},h=Object.keys(l),f=0;f<h.length;f++)s=h[f],0<=a.indexOf(s)||(u[s]=l[s]);return u})(t,e);if(Object.getOwnPropertySymbols)for(var n=Object.getOwnPropertySymbols(t),r=0;r<n.length;r++)o=n[r],0<=e.indexOf(o)||Object.prototype.propertyIsEnumerable.call(t,o)&&(i[o]=t[o]);return i}function to(t){return(function(e){if(Array.isArray(e))return se(e)})(t)||(function(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)})(t)||(function(e,o){if(e){if(typeof e=="string")return se(e,o);var i=Object.prototype.toString.call(e).slice(8,-1);return(i=i==="Object"&&e.constructor?e.constructor.name:i)==="Map"||i==="Set"?Array.from(e):i==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?se(e,o):void 0}})(t)||(function(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
2
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)})()}function se(t,e){(e==null||e>t.length)&&(e=t.length);for(var o=0,i=new Array(e);o<e;o++)i[o]=t[o];return i}function rt(t){if(typeof window<"u"&&window.navigator)return!!navigator.userAgent.match(t)}var at=rt(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i),Ot=rt(/Edge/i),Ne=rt(/firefox/i),Mt=rt(/safari/i)&&!rt(/chrome/i)&&!rt(/android/i),ce=rt(/iP(ad|od|hone)/i),Bt=rt(/chrome/i)&&rt(/android/i),Ie={capture:!1,passive:!1};function y(t,e,o){t.addEventListener(e,o,!at&&Ie)}function b(t,e,o){t.removeEventListener(e,o,!at&&Ie)}function ue(t,e){if(e&&(e[0]===">"&&(e=e.substring(1)),t))try{if(t.matches)return t.matches(e);if(t.msMatchesSelector)return t.msMatchesSelector(e);if(t.webkitMatchesSelector)return t.webkitMatchesSelector(e)}catch{return}}function Pe(t){return t.host&&t!==document&&t.host.nodeType?t.host:t.parentNode}function W(t,e,o,i){if(t){o=o||document;do if(e!=null&&(e[0]!==">"||t.parentNode===o)&&ue(t,e)||i&&t===o)return t;while(t!==o&&(t=Pe(t)))}return null}var At,ke=/\s+/g;function A(t,e,o){var i;t&&e&&(t.classList?t.classList[o?"add":"remove"](e):(i=(" "+t.className+" ").replace(ke," ").replace(" "+e+" "," "),t.className=(i+(o?" "+e:"")).replace(ke," ")))}function d(t,e,o){var i=t&&t.style;if(i){if(o===void 0)return document.defaultView&&document.defaultView.getComputedStyle?o=document.defaultView.getComputedStyle(t,""):t.currentStyle&&(o=t.currentStyle),e===void 0?o:o[e];i[e=e in i||e.indexOf("webkit")!==-1?e:"-webkit-"+e]=o+(typeof o=="string"?"":"px")}}function gt(t,e){var o="";if(typeof t=="string")o=t;else do var i=d(t,"transform");while(i&&i!=="none"&&(o=i+" "+o),!e&&(t=t.parentNode));var n=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return n&&new n(o)}function Re(t,e,o){if(t){var i=t.getElementsByTagName(e),n=0,r=i.length;if(o)for(;n<r;n++)o(i[n],n);return i}return[]}function et(){var t=document.scrollingElement;return t||document.documentElement}function O(t,e,o,i,n){if(t.getBoundingClientRect||t===window){var r,l,a,s,u,h,f=t!==window&&t.parentNode&&t!==et()?(l=(r=t.getBoundingClientRect()).top,a=r.left,s=r.bottom,u=r.right,h=r.height,r.width):(a=l=0,s=window.innerHeight,u=window.innerWidth,h=window.innerHeight,window.innerWidth);if((e||o)&&t!==window&&(n=n||t.parentNode,!at))do if(n&&n.getBoundingClientRect&&(d(n,"transform")!=="none"||o&&d(n,"position")!=="static")){var T=n.getBoundingClientRect();l-=T.top+parseInt(d(n,"border-top-width")),a-=T.left+parseInt(d(n,"border-left-width")),s=l+r.height,u=a+r.width;break}while(n=n.parentNode);return i&&t!==window&&(i=(e=gt(n||t))&&e.a,t=e&&e.d,e&&(s=(l/=t)+(h/=t),u=(a/=i)+(f/=i))),{top:l,left:a,bottom:s,right:u,width:f,height:h}}}function Xe(t,e,o){for(var i=ut(t,!0),n=O(t)[e];i;){var r=O(i)[o];if(!(o==="top"||o==="left"?r<=n:n<=r))return i;if(i===et())break;i=ut(i,!1)}return!1}function wt(t,e,o,i){for(var n=0,r=0,l=t.children;r<l.length;){if(l[r].style.display!=="none"&&l[r]!==p.ghost&&(i||l[r]!==p.dragged)&&W(l[r],o.draggable,t,!1)){if(n===e)return l[r];n++}r++}return null}function de(t,e){for(var o=t.lastElementChild;o&&(o===p.ghost||d(o,"display")==="none"||e&&!ue(o,e));)o=o.previousElementSibling;return o||null}function I(t,e){var o=0;if(!t||!t.parentNode)return-1;for(;t=t.previousElementSibling;)t.nodeName.toUpperCase()==="TEMPLATE"||t===p.clone||e&&!ue(t,e)||o++;return o}function Ye(t){var e=0,o=0,i=et();if(t)do var r=gt(t),n=r.a,r=r.d;while(e+=t.scrollLeft*n,o+=t.scrollTop*r,t!==i&&(t=t.parentNode));return[e,o]}function ut(t,e){if(!t||!t.getBoundingClientRect)return et();var o=t,i=!1;do if(o.clientWidth<o.scrollWidth||o.clientHeight<o.scrollHeight){var n=d(o);if(o.clientWidth<o.scrollWidth&&(n.overflowX=="auto"||n.overflowX=="scroll")||o.clientHeight<o.scrollHeight&&(n.overflowY=="auto"||n.overflowY=="scroll")){if(!o.getBoundingClientRect||o===document.body)return et();if(i||e)return o;i=!0}}while(o=o.parentNode);return et()}function he(t,e){return Math.round(t.top)===Math.round(e.top)&&Math.round(t.left)===Math.round(e.left)&&Math.round(t.height)===Math.round(e.height)&&Math.round(t.width)===Math.round(e.width)}function Be(t,e){return function(){var o;At||((o=arguments).length===1?t.call(this,o[0]):t.apply(this,o),At=setTimeout(function(){At=void 0},e))}}function Fe(t,e,o){t.scrollLeft+=e,t.scrollTop+=o}function pe(t){var e=window.Polymer,o=window.jQuery||window.Zepto;return e&&e.dom?e.dom(t).cloneNode(!0):o?o(t).clone(!0)[0]:t.cloneNode(!0)}function je(t,e){d(t,"position","absolute"),d(t,"top",e.top),d(t,"left",e.left),d(t,"width",e.width),d(t,"height",e.height)}function fe(t){d(t,"position",""),d(t,"top",""),d(t,"left",""),d(t,"width",""),d(t,"height","")}function He(t,e,o){var i={};return Array.from(t.children).forEach(function(n){var r;W(n,e.draggable,t,!1)&&!n.animated&&n!==o&&(r=O(n),i.left=Math.min((n=i.left)!==null&&n!==void 0?n:1/0,r.left),i.top=Math.min((n=i.top)!==null&&n!==void 0?n:1/0,r.top),i.right=Math.max((n=i.right)!==null&&n!==void 0?n:-1/0,r.right),i.bottom=Math.max((n=i.bottom)!==null&&n!==void 0?n:-1/0,r.bottom))}),i.width=i.right-i.left,i.height=i.bottom-i.top,i.x=i.left,i.y=i.top,i}var B="Sortable"+new Date().getTime();function eo(){var t,e=[];return{captureAnimationState:function(){e=[],this.options.animation&&[].slice.call(this.el.children).forEach(function(o){var i,n;d(o,"display")!=="none"&&o!==p.ghost&&(e.push({target:o,rect:O(o)}),i=K({},e[e.length-1].rect),!o.thisAnimationDuration||(n=gt(o,!0))&&(i.top-=n.f,i.left-=n.e),o.fromRect=i)})},addAnimationState:function(o){e.push(o)},removeAnimationState:function(o){e.splice((function(i,n){for(var r in i)if(i.hasOwnProperty(r)){for(var l in n)if(n.hasOwnProperty(l)&&n[l]===i[r][l])return Number(r)}return-1})(e,{target:o}),1)},animateAll:function(o){var i=this;if(!this.options.animation)return clearTimeout(t),void(typeof o=="function"&&o());var n=!1,r=0;e.forEach(function(l){var a=0,s=l.target,u=s.fromRect,h=O(s),f=s.prevFromRect,T=s.prevToRect,D=l.rect,E=gt(s,!0);E&&(h.top-=E.f,h.left-=E.e),s.toRect=h,s.thisAnimationDuration&&he(f,h)&&!he(u,h)&&(D.top-h.top)/(D.left-h.left)==(u.top-h.top)/(u.left-h.left)&&(l=D,E=f,f=T,T=i.options,a=Math.sqrt(Math.pow(E.top-l.top,2)+Math.pow(E.left-l.left,2))/Math.sqrt(Math.pow(E.top-f.top,2)+Math.pow(E.left-f.left,2))*T.animation),he(h,u)||(s.prevFromRect=u,s.prevToRect=h,a=a||i.options.animation,i.animate(s,D,h,a)),a&&(n=!0,r=Math.max(r,a),clearTimeout(s.animationResetTimer),s.animationResetTimer=setTimeout(function(){s.animationTime=0,s.prevFromRect=null,s.fromRect=null,s.prevToRect=null,s.thisAnimationDuration=null},a),s.thisAnimationDuration=a)}),clearTimeout(t),n?t=setTimeout(function(){typeof o=="function"&&o()},r):typeof o=="function"&&o(),e=[]},animate:function(o,i,n,r){var l,a;r&&(d(o,"transition",""),d(o,"transform",""),l=(a=gt(this.el))&&a.a,a=a&&a.d,l=(i.left-n.left)/(l||1),a=(i.top-n.top)/(a||1),o.animatingX=!!l,o.animatingY=!!a,d(o,"transform","translate3d("+l+"px,"+a+"px,0)"),this.forRepaintDummy=o.offsetWidth,d(o,"transition","transform "+r+"ms"+(this.options.easing?" "+this.options.easing:"")),d(o,"transform","translate3d(0,0,0)"),typeof o.animated=="number"&&clearTimeout(o.animated),o.animated=setTimeout(function(){d(o,"transition",""),d(o,"transform",""),o.animated=!1,o.animatingX=!1,o.animatingY=!1},r))}}}var Dt=[],ge={initializeByDefault:!0},xt={mount:function(t){for(var e in ge)!ge.hasOwnProperty(e)||e in t||(t[e]=ge[e]);Dt.forEach(function(o){if(o.pluginName===t.pluginName)throw"Sortable: Cannot mount plugin ".concat(t.pluginName," more than once")}),Dt.push(t)},pluginEvent:function(t,e,o){var i=this;this.eventCanceled=!1,o.cancel=function(){i.eventCanceled=!0};var n=t+"Global";Dt.forEach(function(r){e[r.pluginName]&&(e[r.pluginName][n]&&e[r.pluginName][n](K({sortable:e},o)),e.options[r.pluginName]&&e[r.pluginName][t]&&e[r.pluginName][t](K({sortable:e},o)))})},initializePlugins:function(t,e,o,i){for(var n in Dt.forEach(function(l){var a=l.pluginName;(t.options[a]||l.initializeByDefault)&&((l=new l(t,e,t.options)).sortable=t,l.options=t.options,t[a]=l,$(o,l.defaults))}),t.options){var r;t.options.hasOwnProperty(n)&&(r=this.modifyOption(t,n,t.options[n]))!==void 0&&(t.options[n]=r)}},getEventProperties:function(t,e){var o={};return Dt.forEach(function(i){typeof i.eventProperties=="function"&&$(o,i.eventProperties.call(e[i.pluginName],t))}),o},modifyOption:function(t,e,o){var i;return Dt.forEach(function(n){t[n.pluginName]&&n.optionListeners&&typeof n.optionListeners[e]=="function"&&(i=n.optionListeners[e].call(t[n.pluginName],o))}),i}};function Nt(t){var e=t.sortable,o=t.rootEl,i=t.name,n=t.targetEl,r=t.cloneEl,l=t.toEl,a=t.fromEl,s=t.oldIndex,u=t.newIndex,h=t.oldDraggableIndex,f=t.newDraggableIndex,T=t.originalEvent,D=t.putSortable,E=t.extraEventProperties;if(e=e||o&&o[B]){var w,X=e.options,t="on"+i.charAt(0).toUpperCase()+i.substr(1);!window.CustomEvent||at||Ot?(w=document.createEvent("Event")).initEvent(i,!0,!0):w=new CustomEvent(i,{bubbles:!0,cancelable:!0}),w.to=l||o,w.from=a||o,w.item=n||o,w.clone=r,w.oldIndex=s,w.newIndex=u,w.oldDraggableIndex=h,w.newDraggableIndex=f,w.originalEvent=T,w.pullMode=D?D.lastPutMode:void 0;var m,Y=K(K({},E),xt.getEventProperties(i,e));for(m in Y)w[m]=Y[m];o&&o.dispatchEvent(w),X[t]&&X[t].call(e,w)}}function z(t,e){var o=(i=2<arguments.length&&arguments[2]!==void 0?arguments[2]:{}).evt,i=Je(i,oo);xt.pluginEvent.bind(p)(t,e,K({dragEl:c,parentEl:P,ghostEl:v,rootEl:M,nextEl:mt,lastDownEl:Kt,cloneEl:k,cloneHidden:dt,dragStarted:Pt,putSortable:L,activeSortable:p.active,originalEvent:o,oldIndex:Et,oldDraggableIndex:It,newIndex:U,newDraggableIndex:ht,hideGhostForTarget:qe,unhideGhostForTarget:Ve,cloneNowHidden:function(){dt=!0},cloneNowShown:function(){dt=!1},dispatchSortableEvent:function(n){H({sortable:e,name:n,originalEvent:o})}},i))}var oo=["evt"];function H(t){Nt(K({putSortable:L,cloneEl:k,targetEl:c,rootEl:M,oldIndex:Et,oldDraggableIndex:It,newIndex:U,newDraggableIndex:ht},t))}var c,P,v,M,mt,Kt,k,dt,Et,U,It,ht,Wt,L,vt,Q,me,ve,Le,Ke,Pt,_t,kt,zt,F,St=!1,Gt=!1,Ut=[],Rt=!1,qt=!1,be=[],ye=!1,Vt=[],Zt=typeof document<"u",$t=ce,We=Ot||at?"cssFloat":"float",no=Zt&&!Bt&&!ce&&"draggable"in document.createElement("div"),ze=(function(){if(Zt){if(at)return!1;var t=document.createElement("x");return t.style.cssText="pointer-events:auto",t.style.pointerEvents==="auto"}})(),Ge=function(u,e){var o=d(u),i=parseInt(o.width)-parseInt(o.paddingLeft)-parseInt(o.paddingRight)-parseInt(o.borderLeftWidth)-parseInt(o.borderRightWidth),n=wt(u,0,e),r=wt(u,1,e),l=n&&d(n),a=r&&d(r),s=l&&parseInt(l.marginLeft)+parseInt(l.marginRight)+O(n).width,u=a&&parseInt(a.marginLeft)+parseInt(a.marginRight)+O(r).width;return o.display==="flex"?o.flexDirection==="column"||o.flexDirection==="column-reverse"?"vertical":"horizontal":o.display==="grid"?o.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal":n&&l.float&&l.float!=="none"?(e=l.float==="left"?"left":"right",!r||a.clear!=="both"&&a.clear!==e?"horizontal":"vertical"):n&&(l.display==="block"||l.display==="flex"||l.display==="table"||l.display==="grid"||i<=s&&o[We]==="none"||r&&o[We]==="none"&&i<s+u)?"vertical":"horizontal"},Ue=function(t){function e(n,r){return function(l,a,s,u){var h=l.options.group.name&&a.options.group.name&&l.options.group.name===a.options.group.name;return n==null&&(r||h)?!0:n==null||n===!1?!1:r&&n==="clone"?n:typeof n=="function"?e(n(l,a,s,u),r)(l,a,s,u):(a=(r?l:a).options.group.name,n===!0||typeof n=="string"&&n===a||n.join&&-1<n.indexOf(a))}}var o={},i=t.group;i&&xe(i)=="object"||(i={name:i}),o.name=i.name,o.checkPull=e(i.pull,!0),o.checkPut=e(i.put),o.revertClone=i.revertClone,t.group=o},qe=function(){!ze&&v&&d(v,"display","none")},Ve=function(){!ze&&v&&d(v,"display","")};Zt&&!Bt&&document.addEventListener("click",function(t){if(Gt)return t.preventDefault(),t.stopPropagation&&t.stopPropagation(),t.stopImmediatePropagation&&t.stopImmediatePropagation(),Gt=!1},!0);function bt(t){if(c){t=t.touches?t.touches[0]:t;var e=(n=t.clientX,r=t.clientY,Ut.some(function(a){var s=a[B].options.emptyInsertThreshold;if(s&&!de(a)){var u=O(a),h=n>=u.left-s&&n<=u.right+s,s=r>=u.top-s&&r<=u.bottom+s;return h&&s?l=a:void 0}}),l);if(e){var o,i={};for(o in t)t.hasOwnProperty(o)&&(i[o]=t[o]);i.target=i.rootEl=e,i.preventDefault=void 0,i.stopPropagation=void 0,e[B]._onDragOver(i)}}var n,r,l}function io(t){c&&c.parentNode[B]._isOutsideThisEl(t.target)}function p(t,e){if(!t||!t.nodeType||t.nodeType!==1)throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(t));this.el=t,this.options=e=$({},e),t[B]=this;var o,i,n={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(t.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return Ge(t,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(r,l){r.setData("Text",l.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:p.supportPointer!==!1&&"PointerEvent"in window&&(!Mt||ce),emptyInsertThreshold:5};for(o in xt.initializePlugins(this,t,n),n)o in e||(e[o]=n[o]);for(i in Ue(e),this)i.charAt(0)==="_"&&typeof this[i]=="function"&&(this[i]=this[i].bind(this));this.nativeDraggable=!e.forceFallback&&no,this.nativeDraggable&&(this.options.touchStartThreshold=1),e.supportPointer?y(t,"pointerdown",this._onTapStart):(y(t,"mousedown",this._onTapStart),y(t,"touchstart",this._onTapStart)),this.nativeDraggable&&(y(t,"dragover",this),y(t,"dragenter",this)),Ut.push(this.el),e.store&&e.store.get&&this.sort(e.store.get(this)||[]),$(this,eo())}function Qt(t,e,o,i,n,r,l,a){var s,u,h=t[B],f=h.options.onMove;return!window.CustomEvent||at||Ot?(s=document.createEvent("Event")).initEvent("move",!0,!0):s=new CustomEvent("move",{bubbles:!0,cancelable:!0}),s.to=e,s.from=t,s.dragged=o,s.draggedRect=i,s.related=n||e,s.relatedRect=r||O(e),s.willInsertAfter=a,s.originalEvent=l,t.dispatchEvent(s),u=f?f.call(h,s,l):u}function we(t){t.draggable=!1}function ro(){ye=!1}function Jt(t){return setTimeout(t,0)}function De(t){return clearTimeout(t)}p.prototype={constructor:p,_isOutsideThisEl:function(t){this.el.contains(t)||t===this.el||(_t=null)},_getDirection:function(t,e){return typeof this.options.direction=="function"?this.options.direction.call(this,t,e,c):this.options.direction},_onTapStart:function(t){if(t.cancelable){var e=this,o=this.el,i=this.options,n=i.preventOnFilter,r=t.type,l=t.touches&&t.touches[0]||t.pointerType&&t.pointerType==="touch"&&t,a=(l||t).target,s=t.target.shadowRoot&&(t.path&&t.path[0]||t.composedPath&&t.composedPath()[0])||a,u=i.filter;if((function(h){Vt.length=0;for(var f=h.getElementsByTagName("input"),T=f.length;T--;){var D=f[T];D.checked&&Vt.push(D)}})(o),!c&&!(/mousedown|pointerdown/.test(r)&&t.button!==0||i.disabled)&&!s.isContentEditable&&(this.nativeDraggable||!Mt||!a||a.tagName.toUpperCase()!=="SELECT")&&!((a=W(a,i.draggable,o,!1))&&a.animated||Kt===a)){if(Et=I(a),It=I(a,i.draggable),typeof u=="function"){if(u.call(this,t,a,this))return H({sortable:e,rootEl:s,name:"filter",targetEl:a,toEl:o,fromEl:o}),z("filter",e,{evt:t}),void(n&&t.preventDefault())}else if(u=u&&u.split(",").some(function(h){if(h=W(s,h.trim(),o,!1))return H({sortable:e,rootEl:h,name:"filter",targetEl:a,fromEl:o,toEl:o}),z("filter",e,{evt:t}),!0}))return void(n&&t.preventDefault());i.handle&&!W(s,i.handle,o,!1)||this._prepareDragStart(t,l,a)}}},_prepareDragStart:function(t,e,o){var i,n=this,r=n.el,l=n.options,a=r.ownerDocument;o&&!c&&o.parentNode===r&&(i=O(o),M=r,P=(c=o).parentNode,mt=c.nextSibling,Kt=o,Wt=l.group,vt={target:p.dragged=c,clientX:(e||t).clientX,clientY:(e||t).clientY},Le=vt.clientX-i.left,Ke=vt.clientY-i.top,this._lastX=(e||t).clientX,this._lastY=(e||t).clientY,c.style["will-change"]="all",i=function(){z("delayEnded",n,{evt:t}),p.eventCanceled?n._onDrop():(n._disableDelayedDragEvents(),!Ne&&n.nativeDraggable&&(c.draggable=!0),n._triggerDragStart(t,e),H({sortable:n,name:"choose",originalEvent:t}),A(c,l.chosenClass,!0))},l.ignore.split(",").forEach(function(s){Re(c,s.trim(),we)}),y(a,"dragover",bt),y(a,"mousemove",bt),y(a,"touchmove",bt),l.supportPointer?(y(a,"pointerup",n._onDrop),this.nativeDraggable||y(a,"pointercancel",n._onDrop)):(y(a,"mouseup",n._onDrop),y(a,"touchend",n._onDrop),y(a,"touchcancel",n._onDrop)),Ne&&this.nativeDraggable&&(this.options.touchStartThreshold=4,c.draggable=!0),z("delayStart",this,{evt:t}),!l.delay||l.delayOnTouchOnly&&!e||this.nativeDraggable&&(Ot||at)?i():p.eventCanceled?this._onDrop():(l.supportPointer?(y(a,"pointerup",n._disableDelayedDrag),y(a,"pointercancel",n._disableDelayedDrag)):(y(a,"mouseup",n._disableDelayedDrag),y(a,"touchend",n._disableDelayedDrag),y(a,"touchcancel",n._disableDelayedDrag)),y(a,"mousemove",n._delayedDragTouchMoveHandler),y(a,"touchmove",n._delayedDragTouchMoveHandler),l.supportPointer&&y(a,"pointermove",n._delayedDragTouchMoveHandler),n._dragStartTimer=setTimeout(i,l.delay)))},_delayedDragTouchMoveHandler:function(t){t=t.touches?t.touches[0]:t,Math.max(Math.abs(t.clientX-this._lastX),Math.abs(t.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){c&&we(c),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var t=this.el.ownerDocument;b(t,"mouseup",this._disableDelayedDrag),b(t,"touchend",this._disableDelayedDrag),b(t,"touchcancel",this._disableDelayedDrag),b(t,"pointerup",this._disableDelayedDrag),b(t,"pointercancel",this._disableDelayedDrag),b(t,"mousemove",this._delayedDragTouchMoveHandler),b(t,"touchmove",this._delayedDragTouchMoveHandler),b(t,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(t,e){e=e||t.pointerType=="touch"&&t,!this.nativeDraggable||e?this.options.supportPointer?y(document,"pointermove",this._onTouchMove):y(document,e?"touchmove":"mousemove",this._onTouchMove):(y(c,"dragend",this),y(M,"dragstart",this._onDragStart));try{document.selection?Jt(function(){document.selection.empty()}):window.getSelection().removeAllRanges()}catch{}},_dragStarted:function(t,e){var o;St=!1,M&&c?(z("dragStarted",this,{evt:e}),this.nativeDraggable&&y(document,"dragover",io),o=this.options,t||A(c,o.dragClass,!1),A(c,o.ghostClass,!0),p.active=this,t&&this._appendGhost(),H({sortable:this,name:"start",originalEvent:e})):this._nulling()},_emulateDragOver:function(){if(Q){this._lastX=Q.clientX,this._lastY=Q.clientY,qe();for(var t=document.elementFromPoint(Q.clientX,Q.clientY),e=t;t&&t.shadowRoot&&(t=t.shadowRoot.elementFromPoint(Q.clientX,Q.clientY))!==e;)e=t;if(c.parentNode[B]._isOutsideThisEl(t),e)do if(e[B]&&e[B]._onDragOver({clientX:Q.clientX,clientY:Q.clientY,target:t,rootEl:e})&&!this.options.dragoverBubble)break;while(e=Pe(t=e));Ve()}},_onTouchMove:function(t){if(vt){var r=this.options,e=r.fallbackTolerance,o=r.fallbackOffset,i=t.touches?t.touches[0]:t,n=v&>(v,!0),l=v&&n&&n.a,a=v&&n&&n.d,r=$t&&F&&Ye(F),l=(i.clientX-vt.clientX+o.x)/(l||1)+(r?r[0]-be[0]:0)/(l||1),a=(i.clientY-vt.clientY+o.y)/(a||1)+(r?r[1]-be[1]:0)/(a||1);if(!p.active&&!St){if(e&&Math.max(Math.abs(i.clientX-this._lastX),Math.abs(i.clientY-this._lastY))<e)return;this._onDragStart(t,!0)}v&&(n?(n.e+=l-(me||0),n.f+=a-(ve||0)):n={a:1,b:0,c:0,d:1,e:l,f:a},n="matrix(".concat(n.a,",").concat(n.b,",").concat(n.c,",").concat(n.d,",").concat(n.e,",").concat(n.f,")"),d(v,"webkitTransform",n),d(v,"mozTransform",n),d(v,"msTransform",n),d(v,"transform",n),me=l,ve=a,Q=i),t.cancelable&&t.preventDefault()}},_appendGhost:function(){if(!v){var t=this.options.fallbackOnBody?document.body:M,e=O(c,!0,$t,!0,t),o=this.options;if($t){for(F=t;d(F,"position")==="static"&&d(F,"transform")==="none"&&F!==document;)F=F.parentNode;F!==document.body&&F!==document.documentElement?(F===document&&(F=et()),e.top+=F.scrollTop,e.left+=F.scrollLeft):F=et(),be=Ye(F)}A(v=c.cloneNode(!0),o.ghostClass,!1),A(v,o.fallbackClass,!0),A(v,o.dragClass,!0),d(v,"transition",""),d(v,"transform",""),d(v,"box-sizing","border-box"),d(v,"margin",0),d(v,"top",e.top),d(v,"left",e.left),d(v,"width",e.width),d(v,"height",e.height),d(v,"opacity","0.8"),d(v,"position",$t?"absolute":"fixed"),d(v,"zIndex","100000"),d(v,"pointerEvents","none"),p.ghost=v,t.appendChild(v),d(v,"transform-origin",Le/parseInt(v.style.width)*100+"% "+Ke/parseInt(v.style.height)*100+"%")}},_onDragStart:function(t,e){var o=this,i=t.dataTransfer,n=o.options;z("dragStart",this,{evt:t}),p.eventCanceled?this._onDrop():(z("setupClone",this),p.eventCanceled||((k=pe(c)).removeAttribute("id"),k.draggable=!1,k.style["will-change"]="",this._hideClone(),A(k,this.options.chosenClass,!1),p.clone=k),o.cloneId=Jt(function(){z("clone",o),p.eventCanceled||(o.options.removeCloneOnHide||M.insertBefore(k,c),o._hideClone(),H({sortable:o,name:"clone"}))}),e||A(c,n.dragClass,!0),e?(Gt=!0,o._loopId=setInterval(o._emulateDragOver,50)):(b(document,"mouseup",o._onDrop),b(document,"touchend",o._onDrop),b(document,"touchcancel",o._onDrop),i&&(i.effectAllowed="move",n.setData&&n.setData.call(o,i,c)),y(document,"drop",o),d(c,"transform","translateZ(0)")),St=!0,o._dragStartId=Jt(o._dragStarted.bind(o,e,t)),y(document,"selectstart",o),Pt=!0,window.getSelection().removeAllRanges(),Mt&&d(document.body,"user-select","none"))},_onDragOver:function(t){var e,o,i,n,r,l=this.el,a=t.target,s=this.options,u=s.group,h=p.active,f=Wt===u,T=s.sort,D=L||h,E=this,w=!1;if(!ye){if(t.preventDefault!==void 0&&t.cancelable&&t.preventDefault(),a=W(a,s.draggable,l,!0),lt("dragOver"),p.eventCanceled)return w;if(c.contains(t.target)||a.animated&&a.animatingX&&a.animatingY||E._ignoreWhileAnimating===a)return nt(!1);if(Gt=!1,h&&!s.disabled&&(f?T||(o=P!==M):L===this||(this.lastPutMode=Wt.checkPull(this,h,c,t))&&u.checkPut(this,h,c,t))){if(i=this._getDirection(t,a)==="vertical",e=O(c),lt("dragOverValid"),p.eventCanceled)return w;if(o)return P=M,yt(),this._hideClone(),lt("revert"),p.eventCanceled||(mt?M.insertBefore(c,mt):M.appendChild(c)),nt(!0);var X=de(l,s.draggable);if(X&&(_=t,u=i,N=O(de((S=this).el,S.options.draggable)),S=He(S.el,S.options,v),!(u?_.clientX>S.right+10||_.clientY>N.bottom&&_.clientX>N.left:_.clientY>S.bottom+10||_.clientX>N.right&&_.clientY>N.top)||X.animated)){if(X&&(n=t,r=i,x=O(wt((j=this).el,0,j.options,!0)),j=He(j.el,j.options,v),r?n.clientX<j.left-10||n.clientY<x.top&&n.clientX<x.right:n.clientY<j.top-10||n.clientY<x.bottom&&n.clientX<x.left)){var m=wt(l,0,s,!0);if(m===c)return nt(!1);if(V=O(a=m),Qt(M,l,c,e,a,V,t,!1)!==!1)return yt(),l.insertBefore(c,m),P=l,re(),nt(!0)}else if(a.parentNode===l){var Y,Z,ot,V=O(a),S=c.parentNode!==l,_=(_=c.animated&&c.toRect||e,N=a.animated&&a.toRect||V,j=(r=i)?_.left:_.top,n=r?_.right:_.bottom,x=r?_.width:_.height,m=r?N.left:N.top,_=r?N.right:N.bottom,N=r?N.width:N.height,!(j===m||n===_||j+x/2===m+N/2)),j=i?"top":"left",x=Xe(a,"top","top")||Xe(c,"top","top"),m=x?x.scrollTop:void 0;if(_t!==a&&(Z=V[j],Rt=!1,qt=!_&&s.invertSwap||S),(Y=(function(ft,ae,it,ct,Ae,le,Qe,so){var st=ct?ft.clientY:ft.clientX,pt=ct?it.height:it.width,ft=ct?it.top:it.left,ct=ct?it.bottom:it.right,it=!1;if(!Qe){if(so&&zt<pt*Ae){if(Rt=!Rt&&(kt===1?ft+pt*le/2<st:st<ct-pt*le/2)?!0:Rt)it=!0;else if(kt===1?st<ft+zt:ct-zt<st)return-kt}else if(ft+pt*(1-Ae)/2<st&&st<ct-pt*(1-Ae)/2)return(function(co){return I(c)<I(co)?1:-1})(ae)}return(it=it||Qe)&&(st<ft+pt*le/2||ct-pt*le/2<st)?ft+pt/2<st?1:-1:0})(t,a,V,i,_?1:s.swapThreshold,s.invertedSwapThreshold==null?s.swapThreshold:s.invertedSwapThreshold,qt,_t===a))!==0)for(var ie=I(c);(ot=P.children[ie-=Y])&&(d(ot,"display")==="none"||ot===v););if(Y===0||ot===a)return nt(!1);kt=Y;var N=(_t=a).nextElementSibling,S=!1,_=Qt(M,l,c,e,a,V,t,S=Y===1);if(_!==!1)return _!==1&&_!==-1||(S=_===1),ye=!0,setTimeout(ro,30),yt(),S&&!N?l.appendChild(c):a.parentNode.insertBefore(c,S?N:a),x&&Fe(x,0,m-x.scrollTop),P=c.parentNode,Z===void 0||qt||(zt=Math.abs(Z-O(a)[j])),re(),nt(!0)}}else{if(X===c)return nt(!1);if((a=X&&l===t.target?X:a)&&(V=O(a)),Qt(M,l,c,e,a,V,t,!!a)!==!1)return yt(),X&&X.nextSibling?l.insertBefore(c,X.nextSibling):l.appendChild(c),P=l,re(),nt(!0)}if(l.contains(c))return nt(!1)}return!1}function lt(Lt,ao){z(Lt,E,K({evt:t,isOwner:f,axis:i?"vertical":"horizontal",revert:o,dragRect:e,targetRect:V,canSort:T,fromSortable:D,target:a,completed:nt,onMove:function(ae,lo){return Qt(M,l,c,e,ae,O(ae),t,lo)},changed:re},ao))}function yt(){lt("dragOverAnimationCapture"),E.captureAnimationState(),E!==D&&D.captureAnimationState()}function nt(Lt){return lt("dragOverCompleted",{insertion:Lt}),Lt&&(f?h._hideClone():h._showClone(E),E!==D&&(A(c,(L||h).options.ghostClass,!1),A(c,s.ghostClass,!0)),L!==E&&E!==p.active?L=E:E===p.active&&L&&(L=null),D===E&&(E._ignoreWhileAnimating=a),E.animateAll(function(){lt("dragOverAnimationComplete"),E._ignoreWhileAnimating=null}),E!==D&&(D.animateAll(),D._ignoreWhileAnimating=null)),(a===c&&!c.animated||a===l&&!a.animated)&&(_t=null),s.dragoverBubble||t.rootEl||a===document||(c.parentNode[B]._isOutsideThisEl(t.target),Lt||bt(t)),!s.dragoverBubble&&t.stopPropagation&&t.stopPropagation(),w=!0}function re(){U=I(c),ht=I(c,s.draggable),H({sortable:E,name:"change",toEl:l,newIndex:U,newDraggableIndex:ht,originalEvent:t})}},_ignoreWhileAnimating:null,_offMoveEvents:function(){b(document,"mousemove",this._onTouchMove),b(document,"touchmove",this._onTouchMove),b(document,"pointermove",this._onTouchMove),b(document,"dragover",bt),b(document,"mousemove",bt),b(document,"touchmove",bt)},_offUpEvents:function(){var t=this.el.ownerDocument;b(t,"mouseup",this._onDrop),b(t,"touchend",this._onDrop),b(t,"pointerup",this._onDrop),b(t,"pointercancel",this._onDrop),b(t,"touchcancel",this._onDrop),b(document,"selectstart",this)},_onDrop:function(t){var e=this.el,o=this.options;U=I(c),ht=I(c,o.draggable),z("drop",this,{evt:t}),P=c&&c.parentNode,U=I(c),ht=I(c,o.draggable),p.eventCanceled||(Rt=qt=St=!1,clearInterval(this._loopId),clearTimeout(this._dragStartTimer),De(this.cloneId),De(this._dragStartId),this.nativeDraggable&&(b(document,"drop",this),b(e,"dragstart",this._onDragStart)),this._offMoveEvents(),this._offUpEvents(),Mt&&d(document.body,"user-select",""),d(c,"transform",""),t&&(Pt&&(t.cancelable&&t.preventDefault(),o.dropBubble||t.stopPropagation()),v&&v.parentNode&&v.parentNode.removeChild(v),(M===P||L&&L.lastPutMode!=="clone")&&k&&k.parentNode&&k.parentNode.removeChild(k),c&&(this.nativeDraggable&&b(c,"dragend",this),we(c),c.style["will-change"]="",Pt&&!St&&A(c,(L||this).options.ghostClass,!1),A(c,this.options.chosenClass,!1),H({sortable:this,name:"unchoose",toEl:P,newIndex:null,newDraggableIndex:null,originalEvent:t}),M!==P?(0<=U&&(H({rootEl:P,name:"add",toEl:P,fromEl:M,originalEvent:t}),H({sortable:this,name:"remove",toEl:P,originalEvent:t}),H({rootEl:P,name:"sort",toEl:P,fromEl:M,originalEvent:t}),H({sortable:this,name:"sort",toEl:P,originalEvent:t})),L&&L.save()):U!==Et&&0<=U&&(H({sortable:this,name:"update",toEl:P,originalEvent:t}),H({sortable:this,name:"sort",toEl:P,originalEvent:t})),p.active&&(U!=null&&U!==-1||(U=Et,ht=It),H({sortable:this,name:"end",toEl:P,originalEvent:t}),this.save())))),this._nulling()},_nulling:function(){z("nulling",this),M=c=P=v=mt=k=Kt=dt=vt=Q=Pt=U=ht=Et=It=_t=kt=L=Wt=p.dragged=p.ghost=p.clone=p.active=null,Vt.forEach(function(t){t.checked=!0}),Vt.length=me=ve=0},handleEvent:function(t){switch(t.type){case"drop":case"dragend":this._onDrop(t);break;case"dragenter":case"dragover":c&&(this._onDragOver(t),(function(e){e.dataTransfer&&(e.dataTransfer.dropEffect="move"),e.cancelable&&e.preventDefault()})(t));break;case"selectstart":t.preventDefault()}},toArray:function(){for(var t,e=[],o=this.el.children,i=0,n=o.length,r=this.options;i<n;i++)W(t=o[i],r.draggable,this.el,!1)&&e.push(t.getAttribute(r.dataIdAttr)||(function(l){for(var a=l.tagName+l.className+l.src+l.href+l.textContent,s=a.length,u=0;s--;)u+=a.charCodeAt(s);return u.toString(36)})(t));return e},sort:function(t,e){var o={},i=this.el;this.toArray().forEach(function(n,r){r=i.children[r],W(r,this.options.draggable,i,!1)&&(o[n]=r)},this),e&&this.captureAnimationState(),t.forEach(function(n){o[n]&&(i.removeChild(o[n]),i.appendChild(o[n]))}),e&&this.animateAll()},save:function(){var t=this.options.store;t&&t.set&&t.set(this)},closest:function(t,e){return W(t,e||this.options.draggable,this.el,!1)},option:function(t,e){var o=this.options;if(e===void 0)return o[t];var i=xt.modifyOption(this,t,e);o[t]=i!==void 0?i:e,t==="group"&&Ue(o)},destroy:function(){z("destroy",this);var t=this.el;t[B]=null,b(t,"mousedown",this._onTapStart),b(t,"touchstart",this._onTapStart),b(t,"pointerdown",this._onTapStart),this.nativeDraggable&&(b(t,"dragover",this),b(t,"dragenter",this)),Array.prototype.forEach.call(t.querySelectorAll("[draggable]"),function(e){e.removeAttribute("draggable")}),this._onDrop(),this._disableDelayedDragEvents(),Ut.splice(Ut.indexOf(this.el),1),this.el=t=null},_hideClone:function(){dt||(z("hideClone",this),p.eventCanceled||(d(k,"display","none"),this.options.removeCloneOnHide&&k.parentNode&&k.parentNode.removeChild(k),dt=!0))},_showClone:function(t){t.lastPutMode==="clone"?dt&&(z("showClone",this),p.eventCanceled||(c.parentNode!=M||this.options.group.revertClone?mt?M.insertBefore(k,mt):M.appendChild(k):M.insertBefore(k,c),this.options.group.revertClone&&this.animate(c,k),d(k,"display",""),dt=!1)):this._hideClone()}},Zt&&y(document,"touchmove",function(t){(p.active||St)&&t.cancelable&&t.preventDefault()}),p.utils={on:y,off:b,css:d,find:Re,is:function(t,e){return!!W(t,e,t,!1)},extend:function(t,e){if(t&&e)for(var o in e)e.hasOwnProperty(o)&&(t[o]=e[o]);return t},throttle:Be,closest:W,toggleClass:A,clone:pe,index:I,nextTick:Jt,cancelNextTick:De,detectDirection:Ge,getChild:wt,expando:B},p.get=function(t){return t[B]},p.mount=function(){for(var t=arguments.length,e=new Array(t),o=0;o<t;o++)e[o]=arguments[o];(e=e[0].constructor===Array?e[0]:e).forEach(function(i){if(!i.prototype||!i.prototype.constructor)throw"Sortable: Mounted plugin must be a constructor function, not ".concat({}.toString.call(i));i.utils&&(p.utils=K(K({},p.utils),i.utils)),xt.mount(i)})},p.create=function(t,e){return new p(t,e)};var Xt,Ee,_e,Se,te,Yt,R=[],Ce=!(p.version="1.15.6");function ee(){R.forEach(function(t){clearInterval(t.pid)}),R=[]}function Ze(){clearInterval(Yt)}var J,Te=Be(function(t,e,o,i){if(e.scroll){var n,r=(t.touches?t.touches[0]:t).clientX,l=(t.touches?t.touches[0]:t).clientY,a=e.scrollSensitivity,s=e.scrollSpeed,u=et(),h=!1;Ee!==o&&(Ee=o,ee(),Xt=e.scroll,n=e.scrollFn,Xt===!0&&(Xt=ut(o,!0)));var f=0,T=Xt;do{var D=T,S=O(D),E=S.top,w=S.bottom,X=S.left,m=S.right,Y=S.width,Z=S.height,ot=void 0,ie=void 0,V=D.scrollWidth,j=D.scrollHeight,x=d(D),N=D.scrollLeft,S=D.scrollTop,ie=D===u?(ot=Y<V&&(x.overflowX==="auto"||x.overflowX==="scroll"||x.overflowX==="visible"),Z<j&&(x.overflowY==="auto"||x.overflowY==="scroll"||x.overflowY==="visible")):(ot=Y<V&&(x.overflowX==="auto"||x.overflowX==="scroll"),Z<j&&(x.overflowY==="auto"||x.overflowY==="scroll")),N=ot&&(Math.abs(m-r)<=a&&N+Y<V)-(Math.abs(X-r)<=a&&!!N),S=ie&&(Math.abs(w-l)<=a&&S+Z<j)-(Math.abs(E-l)<=a&&!!S);if(!R[f])for(var _=0;_<=f;_++)R[_]||(R[_]={});R[f].vx==N&&R[f].vy==S&&R[f].el===D||(R[f].el=D,R[f].vx=N,R[f].vy=S,clearInterval(R[f].pid),N==0&&S==0||(h=!0,R[f].pid=setInterval(function(){i&&this.layer===0&&p.active._onTouchMove(te);var lt=R[this.layer].vy?R[this.layer].vy*s:0,yt=R[this.layer].vx?R[this.layer].vx*s:0;typeof n=="function"&&n.call(p.dragged.parentNode[B],yt,lt,t,te,R[this.layer].el)!=="continue"||Fe(R[this.layer].el,yt,lt)}.bind({layer:f}),24))),f++}while(e.bubbleScroll&&T!==u&&(T=ut(T,!1)));Ce=h}},30),Bt=function(a){var e=a.originalEvent,o=a.putSortable,i=a.dragEl,n=a.activeSortable,r=a.dispatchSortableEvent,l=a.hideGhostForTarget,a=a.unhideGhostForTarget;e&&(n=o||n,l(),e=e.changedTouches&&e.changedTouches.length?e.changedTouches[0]:e,e=document.elementFromPoint(e.clientX,e.clientY),a(),n&&!n.el.contains(e)&&(r("spill"),this.onSpill({dragEl:i,putSortable:o})))};function Oe(){}function Me(){}Oe.prototype={startIndex:null,dragStart:function(t){t=t.oldDraggableIndex,this.startIndex=t},onSpill:function(t){var e=t.dragEl,o=t.putSortable;this.sortable.captureAnimationState(),o&&o.captureAnimationState(),t=wt(this.sortable.el,this.startIndex,this.options),t?this.sortable.el.insertBefore(e,t):this.sortable.el.appendChild(e),this.sortable.animateAll(),o&&o.animateAll()},drop:Bt},$(Oe,{pluginName:"revertOnSpill"}),Me.prototype={onSpill:function(o){var e=o.dragEl,o=o.putSortable||this.sortable;o.captureAnimationState(),e.parentNode&&e.parentNode.removeChild(e),o.animateAll()},drop:Bt},$(Me,{pluginName:"removeOnSpill"});var Ft,tt,C,jt,oe,g=[],q=[],Ht=!1,G=!1,Ct=!1;function $e(t,e){q.forEach(function(o,i){i=e.children[o.sortableIndex+(t?Number(i):0)],i?e.insertBefore(o,i):e.appendChild(o)})}function ne(){g.forEach(function(t){t!==C&&t.parentNode&&t.parentNode.removeChild(t)})}return p.mount(new function(){function t(){for(var e in this.defaults={scroll:!0,forceAutoScrollFallback:!1,scrollSensitivity:30,scrollSpeed:10,bubbleScroll:!0},this)e.charAt(0)==="_"&&typeof this[e]=="function"&&(this[e]=this[e].bind(this))}return t.prototype={dragStarted:function(e){e=e.originalEvent,this.sortable.nativeDraggable?y(document,"dragover",this._handleAutoScroll):this.options.supportPointer?y(document,"pointermove",this._handleFallbackAutoScroll):e.touches?y(document,"touchmove",this._handleFallbackAutoScroll):y(document,"mousemove",this._handleFallbackAutoScroll)},dragOverCompleted:function(e){e=e.originalEvent,this.options.dragOverBubble||e.rootEl||this._handleAutoScroll(e)},drop:function(){this.sortable.nativeDraggable?b(document,"dragover",this._handleAutoScroll):(b(document,"pointermove",this._handleFallbackAutoScroll),b(document,"touchmove",this._handleFallbackAutoScroll),b(document,"mousemove",this._handleFallbackAutoScroll)),Ze(),ee(),clearTimeout(At),At=void 0},nulling:function(){te=Ee=Xt=Ce=Yt=_e=Se=null,R.length=0},_handleFallbackAutoScroll:function(e){this._handleAutoScroll(e,!0)},_handleAutoScroll:function(e,o){var i,n=this,r=(e.touches?e.touches[0]:e).clientX,l=(e.touches?e.touches[0]:e).clientY,a=document.elementFromPoint(r,l);te=e,o||this.options.forceAutoScrollFallback||Ot||at||Mt?(Te(e,this.options,a,o),i=ut(a,!0),!Ce||Yt&&r===_e&&l===Se||(Yt&&Ze(),Yt=setInterval(function(){var s=ut(document.elementFromPoint(r,l),!0);s!==i&&(i=s,ee()),Te(e,n.options,s,o)},10),_e=r,Se=l)):this.options.bubbleScroll&&ut(a,!0)!==et()?Te(e,this.options,ut(a,!1),!1):ee()}},$(t,{pluginName:"scroll",initializeByDefault:!0})}),p.mount(Me,Oe),p.mount(new function(){function t(){this.defaults={swapClass:"sortable-swap-highlight"}}return t.prototype={dragStart:function(e){e=e.dragEl,J=e},dragOverValid:function(e){var o=e.completed,i=e.target,n=e.onMove,r=e.activeSortable,l=e.changed,a=e.cancel;r.options.swap&&(e=this.sortable.el,r=this.options,i&&i!==e&&(e=J,J=n(i)!==!1?(A(i,r.swapClass,!0),i):null,e&&e!==J&&A(e,r.swapClass,!1)),l(),o(!0),a())},drop:function(e){var o,i,n=e.activeSortable,r=e.putSortable,l=e.dragEl,a=r||this.sortable,s=this.options;J&&A(J,s.swapClass,!1),J&&(s.swap||r&&r.options.swap)&&l!==J&&(a.captureAnimationState(),a!==n&&n.captureAnimationState(),i=J,e=(o=l).parentNode,s=i.parentNode,e&&s&&!e.isEqualNode(i)&&!s.isEqualNode(o)&&(r=I(o),l=I(i),e.isEqualNode(s)&&r<l&&l++,e.insertBefore(i,e.children[r]),s.insertBefore(o,s.children[l])),a.animateAll(),a!==n&&n.animateAll())},nulling:function(){J=null}},$(t,{pluginName:"swap",eventProperties:function(){return{swapItem:J}}})}),p.mount(new function(){function t(e){for(var o in this)o.charAt(0)==="_"&&typeof this[o]=="function"&&(this[o]=this[o].bind(this));e.options.avoidImplicitDeselect||(e.options.supportPointer?y(document,"pointerup",this._deselectMultiDrag):(y(document,"mouseup",this._deselectMultiDrag),y(document,"touchend",this._deselectMultiDrag))),y(document,"keydown",this._checkKeyDown),y(document,"keyup",this._checkKeyUp),this.defaults={selectedClass:"sortable-selected",multiDragKey:null,avoidImplicitDeselect:!1,setData:function(i,n){var r="";g.length&&tt===e?g.forEach(function(l,a){r+=(a?", ":"")+l.textContent}):r=n.textContent,i.setData("Text",r)}}}return t.prototype={multiDragKeyDown:!1,isMultiDrag:!1,delayStartGlobal:function(e){e=e.dragEl,C=e},delayEnded:function(){this.isMultiDrag=~g.indexOf(C)},setupClone:function(i){var o=i.sortable,i=i.cancel;if(this.isMultiDrag){for(var n=0;n<g.length;n++)q.push(pe(g[n])),q[n].sortableIndex=g[n].sortableIndex,q[n].draggable=!1,q[n].style["will-change"]="",A(q[n],this.options.selectedClass,!1),g[n]===C&&A(q[n],this.options.chosenClass,!1);o._hideClone(),i()}},clone:function(r){var o=r.sortable,i=r.rootEl,n=r.dispatchSortableEvent,r=r.cancel;this.isMultiDrag&&(this.options.removeCloneOnHide||g.length&&tt===o&&($e(!0,i),n("clone"),r()))},showClone:function(n){var o=n.cloneNowShown,i=n.rootEl,n=n.cancel;this.isMultiDrag&&($e(!1,i),q.forEach(function(r){d(r,"display","")}),o(),oe=!1,n())},hideClone:function(n){var o=this,i=(n.sortable,n.cloneNowHidden),n=n.cancel;this.isMultiDrag&&(q.forEach(function(r){d(r,"display","none"),o.options.removeCloneOnHide&&r.parentNode&&r.parentNode.removeChild(r)}),i(),oe=!0,n())},dragStartGlobal:function(e){e.sortable,!this.isMultiDrag&&tt&&tt.multiDrag._deselectMultiDrag(),g.forEach(function(o){o.sortableIndex=I(o)}),g=g.sort(function(o,i){return o.sortableIndex-i.sortableIndex}),Ct=!0},dragStarted:function(n){var o,i=this,n=n.sortable;this.isMultiDrag&&(this.options.sort&&(n.captureAnimationState(),this.options.animation&&(g.forEach(function(r){r!==C&&d(r,"position","absolute")}),o=O(C,!1,!0,!0),g.forEach(function(r){r!==C&&je(r,o)}),Ht=G=!0)),n.animateAll(function(){Ht=G=!1,i.options.animation&&g.forEach(function(r){fe(r)}),i.options.sort&&ne()}))},dragOver:function(n){var o=n.target,i=n.completed,n=n.cancel;G&&~g.indexOf(o)&&(i(!1),n())},revert:function(e){var o,i,n=e.fromSortable,r=e.rootEl,l=e.sortable,a=e.dragRect;1<g.length&&(g.forEach(function(s){l.addAnimationState({target:s,rect:G?O(s):a}),fe(s),s.fromRect=a,n.removeAnimationState(s)}),G=!1,o=!this.options.removeCloneOnHide,i=r,g.forEach(function(s,u){u=i.children[s.sortableIndex+(o?Number(u):0)],u?i.insertBefore(s,u):i.appendChild(s)}))},dragOverCompleted:function(u){var o,i=u.sortable,n=u.isOwner,r=u.insertion,l=u.activeSortable,a=u.parentEl,s=u.putSortable,u=this.options;r&&(n&&l._hideClone(),Ht=!1,u.animation&&1<g.length&&(G||!n&&!l.options.sort&&!s)&&(o=O(C,!1,!0,!0),g.forEach(function(h){h!==C&&(je(h,o),a.appendChild(h))}),G=!0),n||(G||ne(),1<g.length?(n=oe,l._showClone(i),l.options.animation&&!oe&&n&&q.forEach(function(h){l.addAnimationState({target:h,rect:jt}),h.fromRect=jt,h.thisAnimationDuration=null})):l._showClone(i)))},dragOverAnimationCapture:function(n){var o=n.dragRect,i=n.isOwner,n=n.activeSortable;g.forEach(function(r){r.thisAnimationDuration=null}),n.options.animation&&!i&&n.multiDrag.isMultiDrag&&(jt=$({},o),o=gt(C,!0),jt.top-=o.f,jt.left-=o.e)},dragOverAnimationComplete:function(){G&&(G=!1,ne())},drop:function(w){var o,i,n,r,l,a,s,u=w.originalEvent,h=w.rootEl,f=w.parentEl,T=w.sortable,D=w.dispatchSortableEvent,E=w.oldIndex,w=w.putSortable,X=w||this.sortable;u&&(o=this.options,i=f.children,Ct||(o.multiDragKey&&!this.multiDragKeyDown&&this._deselectMultiDrag(),A(C,o.selectedClass,!~g.indexOf(C)),~g.indexOf(C)?(g.splice(g.indexOf(C),1),Ft=null,Nt({sortable:T,rootEl:h,name:"deselect",targetEl:C,originalEvent:u})):(g.push(C),Nt({sortable:T,rootEl:h,name:"select",targetEl:C,originalEvent:u}),u.shiftKey&&Ft&&T.el.contains(Ft)?(n=I(Ft),r=I(C),~n&&~r&&n!==r&&(function(){for(var m,Y=n<r?(m=n,r):(m=r,n+1),Z=o.filter;m<Y;m++)~g.indexOf(i[m])||W(i[m],o.draggable,f,!1)&&(Z&&(typeof Z=="function"?Z.call(T,u,i[m],T):Z.split(",").some(function(ot){return W(i[m],ot.trim(),f,!1)}))||(A(i[m],o.selectedClass,!0),g.push(i[m]),Nt({sortable:T,rootEl:h,name:"select",targetEl:i[m],originalEvent:u})))})()):Ft=C,tt=X)),Ct&&this.isMultiDrag&&(G=!1,(f[B].options.sort||f!==h)&&1<g.length&&(l=O(C),a=I(C,":not(."+this.options.selectedClass+")"),!Ht&&o.animation&&(C.thisAnimationDuration=null),X.captureAnimationState(),Ht||(o.animation&&(C.fromRect=l,g.forEach(function(m){var Y;m.thisAnimationDuration=null,m!==C&&(Y=G?O(m):l,m.fromRect=Y,X.addAnimationState({target:m,rect:Y}))})),ne(),g.forEach(function(m){i[a]?f.insertBefore(m,i[a]):f.appendChild(m),a++}),E===I(C)&&(s=!1,g.forEach(function(m){m.sortableIndex!==I(m)&&(s=!0)}),s&&(D("update"),D("sort")))),g.forEach(function(m){fe(m)}),X.animateAll()),tt=X),(h===f||w&&w.lastPutMode!=="clone")&&q.forEach(function(m){m.parentNode&&m.parentNode.removeChild(m)}))},nullingGlobal:function(){this.isMultiDrag=Ct=!1,q.length=0},destroyGlobal:function(){this._deselectMultiDrag(),b(document,"pointerup",this._deselectMultiDrag),b(document,"mouseup",this._deselectMultiDrag),b(document,"touchend",this._deselectMultiDrag),b(document,"keydown",this._checkKeyDown),b(document,"keyup",this._checkKeyUp)},_deselectMultiDrag:function(e){if(!(Ct!==void 0&&Ct||tt!==this.sortable||e&&W(e.target,this.options.draggable,this.sortable.el,!1)||e&&e.button!==0))for(;g.length;){var o=g[0];A(o,this.options.selectedClass,!1),g.shift(),Nt({sortable:this.sortable,rootEl:this.sortable.el,name:"deselect",targetEl:o,originalEvent:e})}},_checkKeyDown:function(e){e.key===this.options.multiDragKey&&(this.multiDragKeyDown=!0)},_checkKeyUp:function(e){e.key===this.options.multiDragKey&&(this.multiDragKeyDown=!1)}},$(t,{pluginName:"multiDrag",utils:{select:function(e){var o=e.parentNode[B];o&&o.options.multiDrag&&!~g.indexOf(e)&&(tt&&tt!==o&&(tt.multiDrag._deselectMultiDrag(),tt=o),A(e,o.options.selectedClass,!0),g.push(e))},deselect:function(e){var o=e.parentNode[B],i=g.indexOf(e);o&&o.options.multiDrag&&~i&&(A(e,o.options.selectedClass,!1),g.splice(i,1))}},eventProperties:function(){var e=this,o=[],i=[];return g.forEach(function(n){var r;o.push({multiDragElement:n,index:n.sortableIndex}),r=G&&n!==C?-1:G?I(n,":not(."+e.options.selectedClass+")"):I(n),i.push({multiDragElement:n,index:r})}),{items:to(g),clones:[].concat(q),oldIndicies:o,newIndicies:i}},optionListeners:{multiDragKey:function(e){return(e=e.toLowerCase())==="ctrl"?e="Control":1<e.length&&(e=e.charAt(0).toUpperCase()+e.substr(1)),e}}})}),p});
|
|
3
|
+
/*! For license information please see Sortable.vendor-A755ITLN.js.LEGAL.txt */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
/*! Sortable 1.15.6 - MIT | git://github.com/SortableJS/Sortable.git */
|