@jackuait/blok 0.16.0 → 0.16.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/blok.cjs +1 -1
- package/dist/blok.iife.js +2 -2
- package/dist/blok.mjs +2 -2
- package/dist/blok.umd.js +2 -2
- package/dist/chunks/{blok-RLzqfwql.mjs → blok-D1e9swtF.mjs} +69 -69
- package/dist/chunks/{blok-BTpZKZQ5.cjs → blok-DEVVs3xk.cjs} +3 -3
- package/dist/chunks/{constants-B1fDH6ZT.cjs → constants-B2Lcd7Kk.cjs} +1 -1
- package/dist/chunks/{constants-BUNgcIvY.mjs → constants-DfGAwzgk.mjs} +1 -1
- package/dist/chunks/messages-04T5j1ww2.cjs +1 -0
- package/dist/chunks/messages-0OyEWZDW.cjs +1 -0
- package/dist/{messages-CpqGtSQ9.mjs → chunks/messages-14GzwdH92.mjs} +7 -7
- package/dist/chunks/messages-3iHkF7Vy.cjs +1 -0
- package/dist/chunks/messages-5tb-mSXS.cjs +1 -0
- package/dist/{messages-ilnnXk3p.mjs → chunks/messages-8vGF8iWb.mjs} +8 -8
- package/dist/chunks/messages-98gouyMa.cjs +1 -0
- package/dist/chunks/messages-B-3_M44j.cjs +1 -0
- package/dist/chunks/{messages-R3IlcPVE2.mjs → messages-B3xnntgx2.mjs} +8 -8
- package/dist/chunks/{messages-Dly-_TB6.mjs → messages-B5eo-pGw.mjs} +21 -21
- package/dist/chunks/{messages-3H-mU8nV.mjs → messages-B94JmzMj.mjs} +11 -11
- package/dist/chunks/messages-BAgSlZpS.cjs +1 -0
- package/dist/chunks/{messages-BoGOF3jH.mjs → messages-BClegbPD.mjs} +15 -15
- package/dist/chunks/messages-BDNdC6-X.cjs +1 -0
- package/dist/chunks/messages-BG1Tn41d.cjs +1 -0
- package/dist/{messages-MYWse7vx2.mjs → chunks/messages-BGoPxZ5n.mjs} +8 -8
- package/dist/chunks/{messages-JiQBxj4o2.mjs → messages-BHE1mg5A2.mjs} +9 -9
- package/dist/chunks/messages-BItPVbHx.cjs +1 -0
- package/dist/chunks/messages-BJ7clJXu2.cjs +1 -0
- package/dist/chunks/messages-BPYQEADI.cjs +1 -0
- package/dist/chunks/{messages-BRWkudTR.mjs → messages-BQKWm9xB.mjs} +11 -11
- package/dist/chunks/{messages-D9MUpOtw2.mjs → messages-BSstxb1m2.mjs} +12 -12
- package/dist/chunks/messages-BSxgqWqe.cjs +1 -0
- package/dist/chunks/messages-BSyXBvUi2.cjs +1 -0
- package/dist/chunks/messages-BVuodJIJ.cjs +1 -0
- package/dist/chunks/{messages-vQ8eiHPr2.mjs → messages-BXmg4Rer2.mjs} +4 -4
- package/dist/chunks/messages-BdjiMHzU2.cjs +1 -0
- package/dist/{messages-BUfHXzRi2.mjs → chunks/messages-Beh905t72.mjs} +12 -12
- package/dist/chunks/messages-BfYWRC3o.cjs +1 -0
- package/dist/{messages-wB8V2U2i2.mjs → chunks/messages-Bh3E53-f2.mjs} +5 -5
- package/dist/chunks/{messages-BSHC8Ohs.mjs → messages-BhTV7PCN.mjs} +10 -10
- package/dist/chunks/messages-Bi3snvmH2.cjs +1 -0
- package/dist/chunks/{messages-Bh8al9kl.mjs → messages-Bnm45Rmp.mjs} +25 -25
- package/dist/{messages-CaJp3hwf2.mjs → chunks/messages-Bq7pLz_h2.mjs} +9 -9
- package/dist/chunks/{messages-DsWiXnOy2.mjs → messages-BqM6l_JM2.mjs} +12 -12
- package/dist/chunks/messages-Br3ERe172.cjs +1 -0
- package/dist/chunks/messages-Bs9JOJDc.cjs +1 -0
- package/dist/chunks/messages-BtEDKVO7.cjs +1 -0
- package/dist/chunks/messages-BtevAuQS2.cjs +1 -0
- package/dist/chunks/messages-Bttb4o0k.cjs +1 -0
- package/dist/chunks/messages-BxRX_hY12.cjs +1 -0
- package/dist/{messages-BSvuvR6i.mjs → chunks/messages-BxhJFFrR.mjs} +21 -21
- package/dist/{messages-BIRq0EVo.mjs → chunks/messages-BzC8TVYC.mjs} +15 -15
- package/dist/chunks/{messages-hT-pjCQL.mjs → messages-Bz_fTG46.mjs} +13 -13
- package/dist/chunks/messages-C-N1XBvh2.cjs +1 -0
- package/dist/chunks/messages-C2-v6HdR.cjs +1 -0
- package/dist/chunks/{messages-CHmoIrso.mjs → messages-C4Wacagz.mjs} +4 -4
- package/dist/{messages-CI7MWoEP2.mjs → chunks/messages-C62iC79d2.mjs} +20 -20
- package/dist/chunks/messages-C6Xc3L-B2.cjs +1 -0
- package/dist/chunks/messages-CEquPedm.cjs +1 -0
- package/dist/chunks/{messages-t_RiQ_y02.mjs → messages-CEslBsO62.mjs} +7 -7
- package/dist/chunks/messages-CFo-pG-t2.cjs +1 -0
- package/dist/{messages-BrycA2Yd.mjs → chunks/messages-CHizzxUv.mjs} +4 -4
- package/dist/chunks/messages-CO_hj1x6.cjs +1 -0
- package/dist/chunks/{messages-qjFVR3AK.mjs → messages-CSc7Lh_3.mjs} +5 -5
- package/dist/chunks/messages-CT025FgD2.cjs +1 -0
- package/dist/chunks/messages-CUxk6xrQ.cjs +1 -0
- package/dist/chunks/messages-CVHSfosB.cjs +1 -0
- package/dist/chunks/messages-CXlSU8cQ2.cjs +1 -0
- package/dist/chunks/{messages-BrLLU_Dm.mjs → messages-CZ4Jcn6y.mjs} +5 -5
- package/dist/chunks/messages-CZQuqbNz2.cjs +1 -0
- package/dist/{messages-BGfVV77O.mjs → chunks/messages-CZfG1cmA2.mjs} +15 -15
- package/dist/chunks/{messages-BrpXuY-6.mjs → messages-Cc56SxY7.mjs} +10 -10
- package/dist/chunks/{messages-bJ7cOoA_.mjs → messages-CcvcAZOt.mjs} +13 -13
- package/dist/chunks/{messages-Bxz0TVBv2.mjs → messages-Cd-FaIr_2.mjs} +61 -61
- package/dist/{messages-Cu5AHbR-2.mjs → chunks/messages-CdOX6JHb2.mjs} +10 -10
- package/dist/{messages-DJRg4kFv2.mjs → chunks/messages-Ced9OY9X.mjs} +12 -12
- package/dist/chunks/messages-Cf5mu1AT.cjs +1 -0
- package/dist/chunks/messages-Cf8u0aln2.cjs +1 -0
- package/dist/chunks/messages-Cg6qicee.cjs +1 -0
- package/dist/chunks/messages-CgGwGZs22.cjs +1 -0
- package/dist/chunks/messages-Cgg1HHSo.cjs +1 -0
- package/dist/chunks/messages-Ck6jEhXV.cjs +1 -0
- package/dist/chunks/{messages-36KiD2Bx2.mjs → messages-CkRbSW3z2.mjs} +7 -7
- package/dist/chunks/messages-Ckej-nnJ.cjs +1 -0
- package/dist/{messages-Bgf1E-Vj.mjs → chunks/messages-Cn0B5LU1.mjs} +17 -17
- package/dist/chunks/{messages-Dk_PadZz.mjs → messages-CpC5Cv_s.mjs} +7 -7
- package/dist/chunks/messages-CpJW0LBR.cjs +1 -0
- package/dist/chunks/messages-Cx1kdFH_2.cjs +1 -0
- package/dist/chunks/{messages-DTKpwQ9o.mjs → messages-CxVi9cnz.mjs} +11 -11
- package/dist/{messages-CwavcZov.mjs → chunks/messages-Cx_kyYnf2.mjs} +14 -14
- package/dist/chunks/messages-Cz7AbEFm.cjs +1 -0
- package/dist/{messages-B9s898dI.mjs → chunks/messages-D1gz17wt.mjs} +10 -10
- package/dist/chunks/messages-D2nTfhRa2.cjs +1 -0
- package/dist/chunks/{messages-DOCzIldx.mjs → messages-D8qYNZ_T.mjs} +10 -10
- package/dist/chunks/messages-DB6z9ybS.cjs +1 -0
- package/dist/chunks/{messages-DefTqLH32.mjs → messages-DDnB1EFE2.mjs} +20 -20
- package/dist/chunks/{messages-BoN_Bitl2.mjs → messages-DFUn1PHK2.mjs} +15 -15
- package/dist/chunks/messages-DG8Lmqf52.cjs +1 -0
- package/dist/chunks/messages-DNYtMplL2.cjs +1 -0
- package/dist/chunks/messages-DOBcfgRF.cjs +1 -0
- package/dist/{messages-7EaFUksm.mjs → chunks/messages-DQb9YRoO2.mjs} +7 -7
- package/dist/chunks/messages-DWeyV2N3.cjs +1 -0
- package/dist/{messages-C0RxvQ_B2.mjs → chunks/messages-DaqNOQ8p.mjs} +20 -20
- package/dist/chunks/{messages-BRN9bO60.mjs → messages-De0Fkl0K.mjs} +4 -4
- package/dist/chunks/{messages-D3exVYZD.mjs → messages-DgSRzW-Y.mjs} +24 -24
- package/dist/{messages-CRuD2YBl2.mjs → chunks/messages-DjSuzS2m2.mjs} +5 -5
- package/dist/chunks/messages-DkINYHo4.cjs +1 -0
- package/dist/chunks/messages-Dml6u25s2.cjs +1 -0
- package/dist/chunks/{messages-CH_Aqn-k.mjs → messages-Dp5C7vWz.mjs} +8 -8
- package/dist/chunks/{messages-B2hS--KC.mjs → messages-Dp5SW9D-.mjs} +7 -7
- package/dist/chunks/messages-DsWTIuli2.cjs +1 -0
- package/dist/{messages-BqjusG9f.mjs → chunks/messages-DuOkV5T_.mjs} +16 -16
- package/dist/{messages-D9CbvVgb.mjs → chunks/messages-DubJ63UL.mjs} +8 -8
- package/dist/chunks/{messages-VFdnkrDm2.mjs → messages-DwAl9zoh2.mjs} +4 -4
- package/dist/{messages-CasKwW-A.mjs → chunks/messages-DwU7qOBO2.mjs} +5 -5
- package/dist/{messages-CN5mXtal2.mjs → chunks/messages-DyuKfskv.mjs} +16 -16
- package/dist/chunks/{messages-M1tLUpjT.mjs → messages-DzZZDveu.mjs} +10 -10
- package/dist/chunks/{messages-D33lcfdb.mjs → messages-EI0ZLMIG.mjs} +10 -10
- package/dist/{messages-BTp7xsAK2.mjs → chunks/messages-GXQbRrHa2.mjs} +12 -12
- package/dist/{messages-D5u6vlu6.mjs → chunks/messages-ID7kZQyc.mjs} +6 -6
- package/dist/chunks/messages-JLj0J5so.cjs +1 -0
- package/dist/{messages-B-9u3fLG.mjs → chunks/messages-LWyC-1ol.mjs} +19 -19
- package/dist/{messages-BaYuAoTP2.mjs → chunks/messages-M2lNlKhI2.mjs} +33 -33
- package/dist/chunks/{messages-C3qdarW42.mjs → messages-PtDEkfSR2.mjs} +12 -12
- package/dist/chunks/{messages-CO6ZReE7.mjs → messages-S_Bmo_Qc.mjs} +7 -7
- package/dist/chunks/messages-UoKgx7_8.cjs +1 -0
- package/dist/chunks/messages-Vbqmvxs1.cjs +1 -0
- package/dist/chunks/{messages-Ci-rkkgx.mjs → messages-Vdmc6CaN.mjs} +6 -6
- package/dist/chunks/messages-XM0y9kXy2.cjs +1 -0
- package/dist/{messages-BY5WK3mB.mjs → chunks/messages-dZdV8VYV.mjs} +13 -13
- package/dist/chunks/messages-f1NcMMTR2.cjs +1 -0
- package/dist/chunks/{messages-CnvK1Abd2.mjs → messages-h43rfIyt2.mjs} +28 -28
- package/dist/chunks/messages-jAgR8EPP.cjs +1 -0
- package/dist/chunks/{messages-QeD4YPxL.mjs → messages-m_zk_AR3.mjs} +8 -8
- package/dist/{messages-DQiZK84h.mjs → chunks/messages-n1T_9w-Z.mjs} +24 -24
- package/dist/chunks/messages-o3omNKfH.cjs +1 -0
- package/dist/chunks/messages-p-1X5oFM2.cjs +1 -0
- package/dist/chunks/messages-p5w1kuc5.cjs +1 -0
- package/dist/chunks/messages-poLdFEEs2.cjs +1 -0
- package/dist/chunks/messages-px_8gpHT.cjs +1 -0
- package/dist/chunks/messages-s9I-JHCa.cjs +1 -0
- package/dist/chunks/messages-vdupz5T0.cjs +1 -0
- package/dist/chunks/{messages-DPX9kFey.mjs → messages-xMrks-Gg.mjs} +12 -12
- package/dist/chunks/tools-DiTb45BS.cjs +208 -0
- package/dist/chunks/{tools-ChneUeSu.mjs → tools-vX3wCW3a.mjs} +1228 -1203
- package/dist/full.cjs +1 -1
- package/dist/full.mjs +3 -3
- package/dist/locales.mjs +67 -67
- package/dist/{chunks/messages-7bt8ujXQ.mjs → messages-2jeEK-EB.mjs} +4 -4
- package/dist/{messages-DJMSsPuS.mjs → messages-2pXizYBd.mjs} +4 -4
- package/dist/{chunks/messages-8FnVkNsk2.mjs → messages-6RcfJ59a.mjs} +15 -15
- package/dist/{messages-Ca6_kMBT2.mjs → messages-B0n-WDK72.mjs} +12 -12
- package/dist/{messages-DCwlxqBz.mjs → messages-B4cc5O5K.mjs} +25 -25
- package/dist/{chunks/messages-BVV2uB2V2.mjs → messages-B8BXCJBA.mjs} +7 -7
- package/dist/{chunks/messages-BakdNtus2.mjs → messages-BCGyLzFB2.mjs} +5 -5
- package/dist/{messages-BfFFrhbd.mjs → messages-BCeeFrNO.mjs} +11 -11
- package/dist/{chunks/messages-c1uiUe552.mjs → messages-BEnINcno2.mjs} +12 -12
- package/dist/{messages-DGz70LLg2.mjs → messages-BInBVzW42.mjs} +12 -12
- package/dist/{messages-CSVzRRdj.mjs → messages-BOEP2ly_.mjs} +5 -5
- package/dist/{messages-B3YNVBd1.mjs → messages-BWzRZ5Un.mjs} +4 -4
- package/dist/{chunks/messages-DN9_Nlre2.mjs → messages-BXgGBpmY.mjs} +5 -5
- package/dist/{messages-B6p4UUC-.mjs → messages-BXs-Zwhx.mjs} +12 -12
- package/dist/{messages-CdLOD2b_2.mjs → messages-BYyRYlTQ2.mjs} +21 -21
- package/dist/{messages-BKrK8Axl.mjs → messages-B_XoP1A3.mjs} +11 -11
- package/dist/{chunks/messages-D21eomvf.mjs → messages-BbFJ2r9p.mjs} +8 -8
- package/dist/{messages-h1l_y01e.mjs → messages-Bd2Q-tnQ.mjs} +10 -10
- package/dist/{chunks/messages-CXbHVq05.mjs → messages-BfGAGIg-2.mjs} +16 -16
- package/dist/{messages--RL8UOhV.mjs → messages-Bj8K6_bv.mjs} +15 -15
- package/dist/{messages-BnpaaUnF2.mjs → messages-BkNVOuvO2.mjs} +7 -7
- package/dist/{messages-gmq1abXg.mjs → messages-BmKhZE7I.mjs} +10 -10
- package/dist/{chunks/messages-DiUTxAEQ.mjs → messages-BrkXHD2D2.mjs} +20 -20
- package/dist/{chunks/messages-DcgNt1Bg2.mjs → messages-BytEaMMs.mjs} +7 -7
- package/dist/{chunks/messages-Hsn-3QW0.mjs → messages-C-XKbE2c.mjs} +17 -17
- package/dist/{chunks/messages-DeK_vGCd2.mjs → messages-C1d7I7f_2.mjs} +20 -20
- package/dist/{messages-BqKW-hlt2.mjs → messages-C2pz0mJs2.mjs} +9 -9
- package/dist/{messages-BIUXljax.mjs → messages-C5sc4wjR.mjs} +8 -8
- package/dist/{chunks/messages-DqcQoY-I2.mjs → messages-C9XTx39w2.mjs} +5 -5
- package/dist/{messages-BGIle7Xo.mjs → messages-CGZPFOEr.mjs} +13 -13
- package/dist/{chunks/messages-B9kHL94V.mjs → messages-CJsMZvUv.mjs} +10 -10
- package/dist/{messages-CrcHeqGR.mjs → messages-CS6vG53A.mjs} +11 -11
- package/dist/{chunks/messages-8Qzw6Xju.mjs → messages-CSVEbRhT.mjs} +24 -24
- package/dist/{chunks/messages-7nxAnzdE2.mjs → messages-CUsdyCrN2.mjs} +10 -10
- package/dist/{messages-DZtr9UPl2.mjs → messages-CWWIbebM2.mjs} +8 -8
- package/dist/{messages-DA5IipN52.mjs → messages-CWdh59uz2.mjs} +15 -15
- package/dist/{messages-xSBQ46qE2.mjs → messages-CX2ioEBc2.mjs} +20 -20
- package/dist/{messages-eNnPQjam2.mjs → messages-CdmaH2dA2.mjs} +28 -28
- package/dist/{messages-BlkFLGrN.mjs → messages-Cg3w36Bc.mjs} +7 -7
- package/dist/{chunks/messages-CO9-5XrF2.mjs → messages-ChivLKDg2.mjs} +12 -12
- package/dist/{chunks/messages-C3ueCeDy.mjs → messages-Ck7HWiG_.mjs} +21 -21
- package/dist/{chunks/messages-CXzyyhBC.mjs → messages-CoSj68Ef2.mjs} +8 -8
- package/dist/{messages-m_U7v4rD.mjs → messages-CsHwUgSZ.mjs} +12 -12
- package/dist/{chunks/messages-BLtZ2DXE.mjs → messages-CzabNeP5.mjs} +6 -6
- package/dist/{messages-DPiPd88g.mjs → messages-D1jUHOKr.mjs} +6 -6
- package/dist/{messages-ZAVymtrA2.mjs → messages-DFKu1WGX2.mjs} +7 -7
- package/dist/{messages-CNzktVoM2.mjs → messages-DGwIRpOH2.mjs} +10 -10
- package/dist/{chunks/messages-DN6pprFJ2.mjs → messages-DMH0zRig2.mjs} +33 -33
- package/dist/{chunks/messages-ZjheBuhT2.mjs → messages-DPZsygzY.mjs} +14 -14
- package/dist/{messages-DlC9tgiV.mjs → messages-DPzZM5FG.mjs} +61 -61
- package/dist/{messages-CFSBN-tg.mjs → messages-DSmNNjPb.mjs} +7 -7
- package/dist/{chunks/messages-CIqhI4HT.mjs → messages-DaoTSrJW.mjs} +13 -13
- package/dist/{messages-CMG59Rb62.mjs → messages-DfnSbN512.mjs} +13 -13
- package/dist/{messages-DRdzJFUx2.mjs → messages-DvSC5JGC2.mjs} +7 -7
- package/dist/{messages-DO99T6qk2.mjs → messages-Dw7P8bMa2.mjs} +24 -24
- package/dist/{chunks/messages-B19gfehr.mjs → messages-GUgmAfdB.mjs} +15 -15
- package/dist/{chunks/messages-CC4xe9xv.mjs → messages-Nbssq1-N.mjs} +19 -19
- package/dist/{chunks/messages-DRKzAu-g.mjs → messages-S8uz2_bw2.mjs} +12 -12
- package/dist/{messages-DCqRZ9Pw.mjs → messages-TfPmsrxh.mjs} +8 -8
- package/dist/{messages-DL1HdFqf.mjs → messages-Z8HMjhe9.mjs} +5 -5
- package/dist/{messages-K1RIXLxa.mjs → messages-eFz25q1T.mjs} +4 -4
- package/dist/{chunks/messages-C81EnNxX.mjs → messages-gJWgJtGo.mjs} +8 -8
- package/dist/{chunks/messages-DPV70Ys22.mjs → messages-iJKNW8hW2.mjs} +9 -9
- package/dist/{messages-8wZYXCg7.mjs → messages-kb2GSl-V.mjs} +10 -10
- package/dist/{messages-mcif9RnD.mjs → messages-qjir1Zx9.mjs} +4 -4
- package/dist/{chunks/messages-R08pGvHm.mjs → messages-tcfLP2b2.mjs} +16 -16
- package/dist/{messages-C-_8o7te.mjs → messages-zoHZbvbe.mjs} +10 -10
- package/dist/react.cjs +1 -1
- package/dist/react.mjs +1 -1
- package/dist/tools.cjs +1 -1
- package/dist/tools.mjs +2 -2
- package/package.json +1 -1
- package/src/components/i18n/locales/am/messages.json +16 -17
- package/src/components/i18n/locales/ar/messages.json +6 -7
- package/src/components/i18n/locales/az/messages.json +15 -16
- package/src/components/i18n/locales/bg/messages.json +11 -12
- package/src/components/i18n/locales/bn/messages.json +21 -22
- package/src/components/i18n/locales/bs/messages.json +10 -11
- package/src/components/i18n/locales/cs/messages.json +13 -14
- package/src/components/i18n/locales/da/messages.json +10 -11
- package/src/components/i18n/locales/de/messages.json +12 -13
- package/src/components/i18n/locales/dv/messages.json +19 -20
- package/src/components/i18n/locales/el/messages.json +8 -9
- package/src/components/i18n/locales/es/messages.json +10 -11
- package/src/components/i18n/locales/et/messages.json +10 -11
- package/src/components/i18n/locales/fa/messages.json +8 -9
- package/src/components/i18n/locales/fi/messages.json +6 -7
- package/src/components/i18n/locales/fil/messages.json +13 -14
- package/src/components/i18n/locales/fr/messages.json +5 -6
- package/src/components/i18n/locales/gu/messages.json +8 -9
- package/src/components/i18n/locales/he/messages.json +11 -12
- package/src/components/i18n/locales/hi/messages.json +10 -11
- package/src/components/i18n/locales/hr/messages.json +17 -18
- package/src/components/i18n/locales/hu/messages.json +24 -25
- package/src/components/i18n/locales/hy/messages.json +11 -12
- package/src/components/i18n/locales/id/messages.json +15 -16
- package/src/components/i18n/locales/it/messages.json +4 -5
- package/src/components/i18n/locales/ja/messages.json +4 -5
- package/src/components/i18n/locales/ka/messages.json +7 -8
- package/src/components/i18n/locales/km/messages.json +14 -15
- package/src/components/i18n/locales/kn/messages.json +7 -8
- package/src/components/i18n/locales/ko/messages.json +7 -8
- package/src/components/i18n/locales/ku/messages.json +61 -62
- package/src/components/i18n/locales/lo/messages.json +5 -6
- package/src/components/i18n/locales/lt/messages.json +15 -16
- package/src/components/i18n/locales/lv/messages.json +4 -5
- package/src/components/i18n/locales/mk/messages.json +12 -13
- package/src/components/i18n/locales/ml/messages.json +4 -5
- package/src/components/i18n/locales/mn/messages.json +28 -29
- package/src/components/i18n/locales/mr/messages.json +8 -9
- package/src/components/i18n/locales/ms/messages.json +9 -10
- package/src/components/i18n/locales/my/messages.json +12 -13
- package/src/components/i18n/locales/ne/messages.json +12 -13
- package/src/components/i18n/locales/nl/messages.json +7 -8
- package/src/components/i18n/locales/no/messages.json +5 -6
- package/src/components/i18n/locales/pa/messages.json +33 -34
- package/src/components/i18n/locales/pl/messages.json +5 -6
- package/src/components/i18n/locales/ps/messages.json +20 -21
- package/src/components/i18n/locales/pt/messages.json +12 -13
- package/src/components/i18n/locales/ro/messages.json +12 -13
- package/src/components/i18n/locales/ru/messages.json +9 -10
- package/src/components/i18n/locales/sd/messages.json +20 -21
- package/src/components/i18n/locales/si/messages.json +15 -16
- package/src/components/i18n/locales/sk/messages.json +10 -11
- package/src/components/i18n/locales/sl/messages.json +12 -13
- package/src/components/i18n/locales/sq/messages.json +20 -21
- package/src/components/i18n/locales/sr/messages.json +24 -25
- package/src/components/i18n/locales/sv/messages.json +7 -8
- package/src/components/i18n/locales/sw/messages.json +16 -17
- package/src/components/i18n/locales/ta/messages.json +10 -11
- package/src/components/i18n/locales/te/messages.json +13 -14
- package/src/components/i18n/locales/th/messages.json +8 -9
- package/src/components/i18n/locales/tr/messages.json +7 -8
- package/src/components/i18n/locales/ug/messages.json +21 -22
- package/src/components/i18n/locales/uk/messages.json +8 -9
- package/src/components/i18n/locales/ur/messages.json +4 -5
- package/src/components/i18n/locales/vi/messages.json +5 -6
- package/src/components/i18n/locales/yi/messages.json +25 -26
- package/src/components/i18n/locales/zh/messages.json +7 -8
- package/src/styles/embed.css +4 -48
- package/src/tools/file/index.ts +30 -0
- package/src/tools/link/embed/index.ts +61 -11
- package/src/tools/link/embed/overlay.ts +12 -95
- package/src/tools/table/index.ts +37 -1
- package/src/tools/table/table-cell-blocks.ts +65 -0
- package/src/tools/table/table-operations.ts +51 -2
- package/src/tools/table/table-row-col-action-handler.ts +25 -2
- package/src/tools/table/table-subsystems.ts +6 -1
- package/dist/chunks/messages--XZLcuUK.cjs +0 -1
- package/dist/chunks/messages-6adLi-J9.cjs +0 -1
- package/dist/chunks/messages-9xZnfk_-.cjs +0 -1
- package/dist/chunks/messages-B-7wgQm5.cjs +0 -1
- package/dist/chunks/messages-B4-kmmK72.cjs +0 -1
- package/dist/chunks/messages-BBh7sF4o.cjs +0 -1
- package/dist/chunks/messages-BIhN9JOT.cjs +0 -1
- package/dist/chunks/messages-BJU_3KpD.cjs +0 -1
- package/dist/chunks/messages-BNfoWRc02.cjs +0 -1
- package/dist/chunks/messages-BOrASwT4.cjs +0 -1
- package/dist/chunks/messages-BPWs2ZiL.cjs +0 -1
- package/dist/chunks/messages-BR6HUjXI.cjs +0 -1
- package/dist/chunks/messages-BWZYYHHF.cjs +0 -1
- package/dist/chunks/messages-BY3nxQWj.cjs +0 -1
- package/dist/chunks/messages-BYpAVGd12.cjs +0 -1
- package/dist/chunks/messages-BZzpf1UP.cjs +0 -1
- package/dist/chunks/messages-B_12_UjB.cjs +0 -1
- package/dist/chunks/messages-BaZ-Dtr92.cjs +0 -1
- package/dist/chunks/messages-BeaFn5UT.cjs +0 -1
- package/dist/chunks/messages-BgosUxKq2.cjs +0 -1
- package/dist/chunks/messages-BgrhLzFS.cjs +0 -1
- package/dist/chunks/messages-BmP5kV232.cjs +0 -1
- package/dist/chunks/messages-Bnp8vNJz.cjs +0 -1
- package/dist/chunks/messages-BpkV__T7.cjs +0 -1
- package/dist/chunks/messages-BqYqYBH02.cjs +0 -1
- package/dist/chunks/messages-Bv7MXv7R.cjs +0 -1
- package/dist/chunks/messages-Byi8D3Hp.cjs +0 -1
- package/dist/chunks/messages-C2tGk63O2.cjs +0 -1
- package/dist/chunks/messages-C8lWOU7O.cjs +0 -1
- package/dist/chunks/messages-C9Usx2VK.cjs +0 -1
- package/dist/chunks/messages-C9vxfOaB2.cjs +0 -1
- package/dist/chunks/messages-CBqID_rf2.cjs +0 -1
- package/dist/chunks/messages-CKaebA4N2.cjs +0 -1
- package/dist/chunks/messages-CNuuKnxY.cjs +0 -1
- package/dist/chunks/messages-CS1dVWiH2.cjs +0 -1
- package/dist/chunks/messages-CSHcjK_N2.cjs +0 -1
- package/dist/chunks/messages-CSWjZBVp2.cjs +0 -1
- package/dist/chunks/messages-CVi9dbMY2.cjs +0 -1
- package/dist/chunks/messages-CXkEnOpM2.cjs +0 -1
- package/dist/chunks/messages-Ch4PcGQ42.cjs +0 -1
- package/dist/chunks/messages-Cj12Zgsk.cjs +0 -1
- package/dist/chunks/messages-CjFn_dGR2.cjs +0 -1
- package/dist/chunks/messages-CnFZ_js2.cjs +0 -1
- package/dist/chunks/messages-CstdYlPl.cjs +0 -1
- package/dist/chunks/messages-CzEXG3wA2.cjs +0 -1
- package/dist/chunks/messages-CzW0fnvJ2.cjs +0 -1
- package/dist/chunks/messages-D2BWvpXy.cjs +0 -1
- package/dist/chunks/messages-D2jPVYje2.cjs +0 -1
- package/dist/chunks/messages-D8DMxR-v2.cjs +0 -1
- package/dist/chunks/messages-DAF4iFuz.cjs +0 -1
- package/dist/chunks/messages-DJpBxc3X.cjs +0 -1
- package/dist/chunks/messages-DJqLD3KO.cjs +0 -1
- package/dist/chunks/messages-DSFJ_vqv.cjs +0 -1
- package/dist/chunks/messages-DW0CLNsD.cjs +0 -1
- package/dist/chunks/messages-DZFhIff62.cjs +0 -1
- package/dist/chunks/messages-Dd56p0Kf.cjs +0 -1
- package/dist/chunks/messages-DigHfTmz.cjs +0 -1
- package/dist/chunks/messages-DkuidYgG.cjs +0 -1
- package/dist/chunks/messages-DoZqsswJ.cjs +0 -1
- package/dist/chunks/messages-DvmpvSeR.cjs +0 -1
- package/dist/chunks/messages-Dvurigo8.cjs +0 -1
- package/dist/chunks/messages-Dx16KgRk2.cjs +0 -1
- package/dist/chunks/messages-EjezcPS22.cjs +0 -1
- package/dist/chunks/messages-EsgioDiN.cjs +0 -1
- package/dist/chunks/messages-cDH-bKpE.cjs +0 -1
- package/dist/chunks/messages-lhqD_WQA.cjs +0 -1
- package/dist/chunks/messages-xndoTJ282.cjs +0 -1
- package/dist/chunks/tools-I_BZLnbG.cjs +0 -208
|
@@ -1,208 +0,0 @@
|
|
|
1
|
-
const e=require(`./chunk-BL1yB9zm.cjs`),t=require(`./constants-B1fDH6ZT.cjs`),n=require(`./objectSpread2-iNkE6aJh.cjs`),r=require(`./tw-fzSjDKon.cjs`),i=require(`./lightweight-i18n-Clk37huC.cjs`),a=require(`./sanitize-url-D6Uvkl2q.cjs`);var o=[`empty:before:pointer-events-none`,`empty:before:text-gray-text`,`empty:before:cursor-text`,`empty:before:content-[attr(data-placeholder)]`,`data-[blok-empty=true]:before:pointer-events-none`,`data-[blok-empty=true]:before:text-gray-text`,`data-[blok-empty=true]:before:cursor-text`,`data-[blok-empty=true]:before:content-[attr(data-placeholder)]`],s=[`empty:before:pointer-events-none`,`empty:before:text-gray-text`,`empty:before:cursor-text`,`empty:before:content-[attr(data-blok-placeholder-active)]`,`data-[empty=true]:before:pointer-events-none`,`data-[empty=true]:before:text-gray-text`,`data-[empty=true]:before:cursor-text`,`data-[empty=true]:before:content-[attr(data-blok-placeholder-active)]`],c=[`empty:focus:before:pointer-events-none`,`empty:focus:before:text-gray-text`,`empty:focus:before:cursor-text`,`empty:focus:before:content-[attr(data-blok-placeholder-active)]`,`[&[data-empty=true]:focus]:before:pointer-events-none`,`[&[data-empty=true]:focus]:before:text-gray-text`,`[&[data-empty=true]:focus]:before:cursor-text`,`[&[data-empty=true]:focus]:before:content-[attr(data-blok-placeholder-active)]`],l=[`empty:in-data-[blok-empty=true]:before:pointer-events-none`,`empty:in-data-[blok-empty=true]:before:text-gray-text`,`empty:in-data-[blok-empty=true]:before:cursor-text`,`empty:in-data-[blok-empty=true]:before:content-[attr(data-blok-placeholder-active)]`,`[[data-blok-empty=true]_&[data-empty=true]]:before:pointer-events-none`,`[[data-blok-empty=true]_&[data-empty=true]]:before:text-gray-text`,`[[data-blok-empty=true]_&[data-empty=true]]:before:cursor-text`,`[[data-blok-empty=true]_&[data-empty=true]]:before:content-[attr(data-blok-placeholder-active)]`],u=e=>{let t=e.innerHTML.trim();return t===``||t===`<br>`},d=e=>{e.innerHTML===`<br>`&&(e.innerHTML=``);let t=window.getSelection();if(!t)return;let n=document.createRange();n.selectNodeContents(e),n.collapse(!0),t.removeAllRanges(),t.addRange(n)},f=e=>{u(e)&&d(e)},p=(e,t,n=`data-placeholder`)=>{e.setAttribute(n,t==null?``:t);let r=()=>f(e);return e.addEventListener(`focus`,r),()=>{e.removeEventListener(`focus`,r),e.removeAttribute(n)}},m,h=e=>{let t=document.createElement(`div`);t.innerHTML=e.trim();let n=document.createDocumentFragment();return n.append(...Array.from(t.childNodes)),n},g=class e{static get DEFAULT_PLACEHOLDER(){return`tools.paragraph.placeholder`}constructor({data:t,config:n,api:r,readOnly:i}){var a,o,s;this.placeholderCleanup=null,this.api=r,this.readOnly=i,this.onKeyUp=this.onKeyUp.bind(this),this._placeholder=(a=n==null?void 0:n.placeholder)==null?e.DEFAULT_PLACEHOLDER:a,this._data=t==null?{text:``}:t,this._element=null,this._preserveBlank=(o=n==null?void 0:n.preserveBlank)==null?!1:o,this._styles=(s=n==null?void 0:n.styles)==null?{}:s}onKeyUp(e){if(e.code!==`Backspace`&&e.code!==`Delete`||!this._element)return;let{textContent:t}=this._element;t===``&&(this._element.innerHTML=``)}buildInlineStyles(){let e={};return this._styles.size&&(e.fontSize=this._styles.size),this._styles.lineHeight&&(e.lineHeight=this._styles.lineHeight),this._styles.marginTop&&(e.marginTop=this._styles.marginTop),this._styles.marginBottom&&(e.marginBottom=this._styles.marginBottom),e}drawView(){let n=document.createElement(`DIV`);n.className=r.n(this.api.styles.block,e.WRAPPER_CLASSES,c,l),n.setAttribute(t.bi.tool,`paragraph`),n.contentEditable=`false`;let i=this.buildInlineStyles();return Object.keys(i).length>0&&Object.assign(n.style,i),this._data.text?n.innerHTML=this._data.text:this.readOnly&&(n.innerHTML=`<br>`),this.readOnly||(n.contentEditable=`true`,n.addEventListener(`keyup`,this.onKeyUp),this.placeholderCleanup=p(n,this.api.i18n.t(this._placeholder),`data-blok-placeholder-active`)),n}render(){return this._element||(this._element=this.drawView()),this._element}setReadOnly(e){this._element&&(this.readOnly=e,e?(this._element.contentEditable=`false`,this._element.removeEventListener(`keyup`,this.onKeyUp),this.placeholderCleanup&&(this.placeholderCleanup(),this.placeholderCleanup=null),u(this._element)&&(this._element.innerHTML=`<br>`)):(this._element.contentEditable=`true`,this._element.addEventListener(`keyup`,this.onKeyUp),this.placeholderCleanup=p(this._element,this.api.i18n.t(this._placeholder),`data-blok-placeholder-active`),this._element.innerHTML===`<br>`&&(this._element.innerHTML=``)))}merge(e){if(!this._element)return;this._data.text+=e.text;let t=h(e.text);this._element.appendChild(t),this._element.normalize()}validate(e){return!(e.text.trim()===``&&!this._preserveBlank)}save(e){return{text:t.Kr(e.innerHTML)}}onPaste(e){let t=e.detail;if(!(`data`in t))return;let n={text:t.data.innerHTML};this._data=n,this._element&&(this._element.innerHTML=this._data.text||``)}static get conversionConfig(){return{export:`text`,import:`text`}}static get sanitize(){return{text:{br:!0,img:{src:!0,style:!0},p:!0,ul:!0,li:!0}}}static get isReadOnlySupported(){return!0}static get pasteConfig(){return{tags:[`P`]}}static get toolbox(){return{icon:t.Cn,titleKey:`text`,searchTerms:[`p`,`paragraph`,`plain`],searchTermKeys:[`paragraph`,`plain`]}}};m=g,m.WRAPPER_CLASSES=[`leading-[1.5]`,`outline-hidden`,`mt-px`,`mb-px`,`[&>p:first-of-type]:mt-0`,`[&>p:last-of-type]:mb-0`];var _=e=>{let{data:n,readOnly:r,isOpen:i,keydownHandler:a,onArrowClick:o,onBodyPlaceholderClick:s}=e,c=document.createElement(`div`);c.className=t.a,c.setAttribute(t.bi.tool,t.p),c.setAttribute(t.u.toggleOpen,String(i)),c.setAttribute(t.u.toggleEmpty,`true`);let l=document.createElement(`div`);l.className=t.f;let u=v(i,o,{},e.ariaLabels),d=b(n,r,a);l.appendChild(u),l.appendChild(d);let f=y(s,e.bodyPlaceholderText),p=document.createElement(`div`);return p.className=t.d,p.setAttribute(t.u.toggleChildren,``),p.setAttribute(t.bi.nestedBlocks,``),p.setAttribute(`data-blok-mutation-free`,`true`),p.id=`toggle-children-${Date.now()}-${Math.random().toString(36).slice(2)}`,u.setAttribute(`aria-controls`,p.id),c.appendChild(l),c.appendChild(f),c.appendChild(p),{wrapper:c,arrowElement:u,contentElement:d,bodyPlaceholderElement:f,childContainerElement:p}},v=(e,n,r={},i={collapse:`Collapse`,expand:`Expand`})=>{let a=document.createElement(`span`);a.className=t.i,a.setAttribute(t.u.toggleArrow,``),a.setAttribute(t.bi.mutationFree,`true`),a.setAttribute(`role`,`button`),a.setAttribute(`tabindex`,`0`),a.setAttribute(`aria-label`,e?i.collapse:i.expand),a.setAttribute(`aria-expanded`,String(e)),r.contentEditableFalse===!0&&(a.contentEditable=`false`),a.innerHTML=t.r;let o=a.querySelector(`svg`);return o&&(o.style.transition=`transform 200ms ease-in-out`,e&&(o.style.transform=`rotate(90deg)`)),n&&(a.addEventListener(`click`,e=>{e.stopPropagation(),n()}),a.addEventListener(`keydown`,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),e.stopPropagation(),n())})),a},y=(e,n)=>{let r=document.createElement(`div`);return r.className=t.s,r.setAttribute(t.u.toggleBodyPlaceholder,``),r.setAttribute(`data-blok-mutation-free`,`true`),r.textContent=n,e&&r.addEventListener(`click`,e),r},b=(e,n,i)=>{let a=document.createElement(`div`);return a.className=r.n(t.c,s,l),a.setAttribute(t.u.toggleContent,``),a.contentEditable=n?`false`:`true`,a.innerHTML=e.text,i&&a.addEventListener(`keydown`,i),a},x=(e,n)=>{for(let r of n){if(r.holder.parentElement===e)continue;let n=r.holder.closest(`[${t.bi.nestedBlocks}]`);if(n!==null&&n!==e&&n.hasAttribute(`data-blok-columns`)&&n.contains(e)){e.appendChild(r.holder);continue}n===null&&e.appendChild(r.holder)}},S=(e,n)=>{var r;if(e===null)return;let i=((r=n==null?void 0:n.textContent)==null?``:r).trim()===``;e.setAttribute(t.u.toggleEmpty,String(i))},C=e=>{let t=_(e);return t.contentElement&&p(t.contentElement,e.placeholder,`data-blok-placeholder-active`),t},w=(e,n,r,i={collapse:`Collapse`,expand:`Expand`})=>{let a=e.querySelector(`svg`);a&&(a.style.transform=r?`rotate(90deg)`:``),e.setAttribute(`aria-label`,r?i.collapse:i.expand),e.setAttribute(`aria-expanded`,String(r)),n.setAttribute(t.u.toggleOpen,String(r))},T=(e,t,n,r,i)=>{let a=e.blocks.getChildren(t);!n&&r&&i&&r.contains(document.activeElement)&&i.focus(),r&&x(r,a);for(let e of a)n?e.holder.classList.remove(`hidden`):e.holder.classList.add(`hidden`);r&&(n?r.removeAttribute(`aria-hidden`):r.setAttribute(`aria-hidden`,`true`))},E=(e,t,n,r,i)=>{if(e===null)return;if(i){e.classList.add(`hidden`);return}let a=t.blocks.getChildren(n);r&&a.length===0?e.classList.remove(`hidden`):e.classList.add(`hidden`)},D=async e=>{var n;let{api:r,blockId:i,data:a,getContentElement:o,syncContentFromDOM:s,isOpen:c}=e;if(s(),i===void 0)return;let l=o(),u=window.getSelection();if(!l||!u||u.rangeCount===0)return;let{beforeContent:d,afterContent:f}=k(l,u.getRangeAt(0)),p=(n=r.blocks.getBlockIndex(i))==null?r.blocks.getCurrentBlockIndex():n;if(c&&f===``){let e=O(r,i,p),t=r.blocks.insertInsideParent(i,e);r.caret.setToBlock(t.id,`start`);return}r.blocks.splitBlock(i,{text:d},t.p,{text:f},p+1),a.text=d},ee=async(e,n)=>{let{api:r,blockId:i,data:a,getContentElement:o,syncContentFromDOM:s}=e;if(s(),i===void 0)return;let c=o();if(!c||!t.or(c))return;let l=a.text;l===``&&(n.preventDefault(),await r.blocks.convert(i,`paragraph`,{text:l}))},O=(e,t,n)=>{var r;let i=e.blocks.getChildren(t);if(i.length===0)return n+1;let a=i[i.length-1],o=(r=e.blocks.getBlockIndex(a.id))==null?n:r;return O(e,a.id,o)},k=(e,t)=>{if(!e.lastChild)return{beforeContent:``,afterContent:``};let n=document.createRange();n.setStart(e,0),n.setEnd(t.startContainer,t.startOffset);let r=document.createRange();r.setStart(t.endContainer,t.endOffset),r.setEndAfter(e.lastChild);let i=document.createElement(`div`);i.appendChild(n.cloneContents());let a=document.createElement(`div`);return a.appendChild(r.cloneContents()),{beforeContent:i.innerHTML,afterContent:a.innerHTML}},A=async e=>{var t;let{api:n,blockId:r,getContentElement:i,syncContentFromDOM:a,isOpen:o,currentLevel:s}=e;if(a(),r===void 0)return;let c=i(),l=window.getSelection();if(!c||!l||l.rangeCount===0)return;let{beforeContent:u,afterContent:d}=k(c,l.getRangeAt(0)),f=(t=n.blocks.getBlockIndex(r))==null?n.blocks.getCurrentBlockIndex():t;if(o&&d===``){let e=O(n,r,f),t=n.blocks.insertInsideParent(r,e);n.caret.setToBlock(t.id,`start`);return}n.blocks.splitBlock(r,{text:u,level:s,isToggleable:!0},`header`,{text:d,level:s,isToggleable:!0},f+1)},te=async(e,n)=>{let{api:r,blockId:i,getText:a,getContentElement:o,syncContentFromDOM:s,currentLevel:c}=e;if(s(),i===void 0)return;let l=o();if(!l||!t.or(l))return;let u=a();u===``&&(n.preventDefault(),await r.blocks.convert(i,`header`,{text:u,level:c}))},j,M=class e{constructor({data:e,config:t,api:n,readOnly:r,block:i}){var a;this.placeholderCleanup=null,this._arrowElement=null,this._wrapper=null,this._headerRow=null,this._childContainerElement=null,this._bodyPlaceholderElement=null,this.handleChildContainerInput=()=>{S(this._wrapper,this._childContainerElement)},this.handleKeyDown=e=>{if(e.key===`Enter`&&!e.shiftKey){e.preventDefault(),this.handleEnter();return}e.key===`Backspace`&&te(this.createKeyboardContext(),e)},this.handleBlockChanged=e=>{this.isBlockChangedPayload(e)&&(e.event.type===`block-removed`||e.event.type===`block-added`)&&this.updateBodyPlaceholderVisibility()},this.api=n,this.readOnly=r,this._settings=t||{},this._data=this.normalizeData(e),this._isOpen=(a=this._data.isOpen)==null?!0:a,this._element=this.getTag(),i&&(this.blockId=i.id),!r&&this._data.isToggleable&&this.api.events.on(`block changed`,this.handleBlockChanged)}get _CSS(){return{block:this.api.styles.block,wrapper:``}}isHeaderData(e){return typeof e==`object`&&!!e&&`text`in e}normalizeData(e){if(!this.isHeaderData(e))return{text:``,level:this.defaultLevel.number};let n=parseInt(String(e.level)),r=e.level!==void 0&&!isNaN(n),i={text:e.text||``,level:r?n:this.defaultLevel.number};if(e.isToggleable===!0&&(i.isToggleable=!0),typeof e.isOpen==`boolean`&&(i.isOpen=e.isOpen),i.text){let e=document.createElement(`div`);e.innerHTML=i.text;let n=e.querySelector(`[${t.u.toggleArrow}]`);n&&(n.remove(),i.text=e.innerHTML)}return i}render(){return this._data.isToggleable?(this._wrapper=this.buildWrapper(),this._wrapper):this._element}rendered(){this._data.isToggleable&&(this.updateChildrenVisibility(),this.updateBodyPlaceholderVisibility())}removed(){this.api.events.off(`block changed`,this.handleBlockChanged),this._element.removeEventListener(`keydown`,this.handleKeyDown)}setReadOnly(e){if(this._element)if(this.readOnly=e,e)this._element.contentEditable=`false`,this._data.isToggleable&&this._element.removeEventListener(`keydown`,this.handleKeyDown),this.placeholderCleanup&&(this.placeholderCleanup(),this.placeholderCleanup=null);else{this._element.contentEditable=`true`,this._data.isToggleable&&this._element.addEventListener(`keydown`,this.handleKeyDown);let e=this.api.i18n.t(this.currentLevel.nameKey),t=this.resolvePlaceholderText(e);this.placeholderCleanup=p(this._element,t)}}expand(){!this._data.isToggleable||this._isOpen||(this._isOpen=!0,this._arrowElement&&this._element&&w(this._arrowElement,this._element,this._isOpen,{collapse:this.api.i18n.t(`tools.toggle.ariaLabelCollapse`),expand:this.api.i18n.t(`tools.toggle.ariaLabelExpand`)}),this.updateChildrenVisibility(),this.updateBodyPlaceholderVisibility())}collapse(){!this._data.isToggleable||!this._isOpen||(this._isOpen=!1,this._arrowElement&&this._element&&w(this._arrowElement,this._element,this._isOpen,{collapse:this.api.i18n.t(`tools.toggle.ariaLabelCollapse`),expand:this.api.i18n.t(`tools.toggle.ariaLabelExpand`)}),this.updateChildrenVisibility(),this.updateBodyPlaceholderVisibility())}renderSettings(){return this.levels.map(e=>{let t=this.api.i18n.t(e.nameKey),n=t===e.nameKey?e.name:t;return{icon:e.icon,title:n,onActivate:()=>this.setLevel(e.number),closeOnActivate:!0,isActive:this.currentLevel.number===e.number,dataset:{"blok-header-level":String(e.number)}}})}setLevel(e){this.data={level:e,text:this.data.text,isToggleable:this._data.isToggleable}}merge(e){let n=document.createElement(`div`);n.innerHTML=e.text;let r=n.querySelector(`[${t.u.toggleArrow}]`);r&&r.remove(),this._element.insertAdjacentHTML(`beforeend`,n.innerHTML)}validate(e){return typeof e.text==`string`}setData(e){return this._data=this.normalizeData(e),typeof e.text==`string`&&(this._element.innerHTML=e.text),this._data.isToggleable&&typeof this._data.isOpen==`boolean`&&(this._isOpen=this._data.isOpen,this._arrowElement&&this._element&&w(this._arrowElement,this._element,this._isOpen,{collapse:this.api.i18n.t(`tools.toggle.ariaLabelCollapse`),expand:this.api.i18n.t(`tools.toggle.ariaLabelExpand`)}),this.updateChildrenVisibility(),this.updateBodyPlaceholderVisibility()),!0}save(e){let t={text:this._element.innerHTML,level:this.currentLevel.number};return this._data.isToggleable===!0&&(t.isToggleable=!0,t.isOpen=this._isOpen),t}static get conversionConfig(){return{export:`text`,import:`text`}}static get sanitize(){return{level:!1,text:{},isToggleable:!1,isOpen:!1}}static get isReadOnlySupported(){return!0}get data(){return this._data.text=this._element.innerHTML,this._data.level=this.currentLevel.number,this._data}set data(n){if(this._data=this.normalizeData(n),n.level!==void 0&&this._element.parentNode){this._element.removeEventListener(`keydown`,this.handleKeyDown);let e=this.getTag();e.innerHTML=this._element.innerHTML,this._element.parentNode.replaceChild(e,this._element),this._element=e}if(n.text!==void 0&&(this._element.innerHTML=this._data.text||``),this._data.isToggleable){if(this._element.setAttribute(t.u.toggleOpen,String(this._isOpen)),this._element.className=r.n(e.BASE_STYLES,this.currentLevel.styles,o,`pl-8`),!this._wrapper)this.createToggleWrapper();else if(!this._wrapper.querySelector(`[${t.u.toggleArrow}]`)){var i;let e=this.buildArrow();this._arrowElement=e,((i=this._headerRow)==null?this._wrapper:i).prepend(e)}}else if(this._element.removeAttribute(t.u.toggleOpen),this._element.className=r.n(e.BASE_STYLES,this.currentLevel.styles,o),this._arrowElement=null,this._wrapper){let e=this._wrapper.parentNode;e&&e.replaceChild(this._element,this._wrapper),this._wrapper=null,this._headerRow=null}}resolvePlaceholderText(e){return this._settings.placeholder?this.api.i18n.t(this._settings.placeholder):e===this.currentLevel.nameKey?this.currentLevel.name:e}getTag(){let n=document.createElement(this.currentLevel.tag);n.innerHTML=this._data.text||``,n.className=r.n(e.BASE_STYLES,this.currentLevel.styles,o,this._data.isToggleable?`pl-8`:``);let{inlineStyles:i}=this.currentLevel;i&&Object.assign(n.style,i),n.setAttribute(t.bi.tool,`header`),n.contentEditable=this.readOnly?`false`:`true`,this._data.isToggleable&&n.setAttribute(t.u.toggleOpen,String(this._isOpen));let a=this.api.i18n.t(this.currentLevel.nameKey),s=this.resolvePlaceholderText(a);return this.readOnly?n.setAttribute(`data-placeholder`,s):this.placeholderCleanup=p(n,s),!this.readOnly&&this._data.isToggleable&&n.addEventListener(`keydown`,this.handleKeyDown),n}buildArrow(){let e=v(this._isOpen,()=>this.toggleOpen(),{},{collapse:this.api.i18n.t(`tools.toggle.ariaLabelCollapse`),expand:this.api.i18n.t(`tools.toggle.ariaLabelExpand`)});return e.classList.add(`absolute`,`left-0`,`top-1/2`,`-translate-y-1/2`),e}buildWrapper(){let e=document.createElement(`div`);e.setAttribute(t.u.toggleEmpty,`true`);let n=document.createElement(`div`);n.className=`relative`,this._headerRow=n;let i=this.buildArrow();this._arrowElement=i,n.appendChild(i),n.appendChild(this._element),e.appendChild(n);let a=document.createElement(`div`);a.className=r.n(t.s,`pl-8`),a.setAttribute(t.u.toggleBodyPlaceholder,``),a.setAttribute(`data-blok-mutation-free`,`true`),a.textContent=this.api.i18n.t(`tools.toggle.bodyPlaceholder`),this.readOnly||a.addEventListener(`click`,()=>this.handleBodyPlaceholderClick()),this._bodyPlaceholderElement=a,e.appendChild(a);let o=document.createElement(`div`);return o.className=`pl-8`,o.setAttribute(t.u.toggleChildren,``),o.setAttribute(t.bi.nestedBlocks,``),o.setAttribute(`data-blok-mutation-free`,`true`),o.addEventListener(`input`,this.handleChildContainerInput),this._childContainerElement=o,e.appendChild(o),e}createToggleWrapper(){let e=this._element.parentNode;this._wrapper=document.createElement(`div`),this._wrapper.setAttribute(t.u.toggleEmpty,`true`);let n=document.createElement(`div`);n.className=`relative`,this._headerRow=n;let r=this.buildArrow();this._arrowElement=r,n.appendChild(r),e&&e.replaceChild(this._wrapper,this._element),n.appendChild(this._element),this._wrapper.appendChild(n)}createKeyboardContext(){return{api:this.api,blockId:this.blockId,getText:()=>this._element.innerHTML,getContentElement:()=>this._element,syncContentFromDOM:()=>{this._data.text=this._element.innerHTML},isOpen:this._isOpen,currentLevel:this.currentLevel.number}}async handleEnter(){var e=this;await A(e.createKeyboardContext()),e.updateChildrenVisibility(),e.updateBodyPlaceholderVisibility()}toggleOpen(){this._isOpen=!this._isOpen,this._arrowElement&&this._element&&w(this._arrowElement,this._element,this._isOpen,{collapse:this.api.i18n.t(`tools.toggle.ariaLabelCollapse`),expand:this.api.i18n.t(`tools.toggle.ariaLabelExpand`)}),this.updateChildrenVisibility(),this.updateBodyPlaceholderVisibility()}updateChildrenVisibility(){this.blockId!==void 0&&T(this.api,this.blockId,this._isOpen,this._childContainerElement,this._arrowElement)}updateBodyPlaceholderVisibility(){this.blockId!==void 0&&(E(this._bodyPlaceholderElement,this.api,this.blockId,this._isOpen,this.readOnly),S(this._wrapper,this._childContainerElement))}handleBodyPlaceholderClick(){var e;if(this.blockId===void 0)return;let t=this.api.blocks.getBlockIndex(this.blockId);if(t===void 0)return;let n=this.api.blocks.insertInsideParent(this.blockId,t+1);this.api.caret.setToBlock(n.id,`start`),(e=this._bodyPlaceholderElement)==null||e.classList.add(`hidden`)}isBlockChangedPayload(e){return typeof e==`object`&&!!e&&`event`in e&&typeof e.event==`object`&&e.event!==null&&`type`in e.event&&typeof e.event.type==`string`}get currentLevel(){let e=this.levels.find(e=>e.number===this._data.level);return e==null?this.defaultLevel:e}get defaultLevel(){return this._settings.defaultLevel?this.levels.find(e=>e.number===this._settings.defaultLevel)||(console.warn(`(ง'̀-'́)ง Heading Tool: the default level specified was not found in available levels`),this.levels[1]):this.levels[1]}get levels(){let t=this._settings.levelOverrides||{},n=e.DEFAULT_LEVELS.map(e=>{var n;let r=t[e.number]||{},i={};return r.size&&(i.fontSize=r.size),r.marginTop&&(i.marginTop=r.marginTop),r.marginBottom&&(i.marginBottom=r.marginBottom),{number:e.number,tag:((n=r.tag)==null?void 0:n.toUpperCase())||e.tag,nameKey:e.nameKey,name:r.name||e.name,icon:e.icon,styles:e.styles,inlineStyles:i}}),r=this._settings.levels;return r?n.filter(e=>r.includes(e.number)):n}onPaste(e){var t;let n=e.detail;if(!(`data`in n))return;let r=n.data,i=(t={H1:1,H2:2,H3:3,H4:4,H5:5,H6:6}[r.tagName])==null?this.defaultLevel.number:t,a=this._settings.levels?this._settings.levels.reduce((e,t)=>Math.abs(t-i)<Math.abs(e-i)?t:e):i;this.data={level:a,text:r.innerHTML}}static get pasteConfig(){return{tags:[`H1`,`H2`,`H3`,`H4`,`H5`,`H6`]}}static get toolbox(){let n=e.DEFAULT_LEVELS.map(e=>({icon:e.icon,title:e.name,titleKey:e.nameKey,name:`header-${e.number}`,data:{level:e.number},searchTerms:[`h${e.number}`,`title`,`header`,`heading`],searchTermKeys:[`title`,`header`,`heading`],shortcut:`#`.repeat(e.number)})),r={1:t.wn,2:t.Tn,3:t.En},i=e.DEFAULT_LEVELS.filter(e=>e.number<=3).map(e=>({icon:r[e.number],title:`Toggle heading ${e.number}`,titleKey:`tools.header.toggleHeading${e.number}`,name:`toggle-header-${e.number}`,data:{level:e.number,isToggleable:!0},searchTerms:[`toggle`,`heading`,`h${e.number}`,`collapsible`],searchTermKeys:[`toggle`,`heading`,`collapsible`],shortcut:`>`+`#`.repeat(e.number)}));return[...n,...i]}};j=M,j.BASE_STYLES=`py-[7px] px-[2px] m-0 leading-[1.3]! outline-hidden [&_p]:p-0! [&_p]:m-0! [&_div]:p-0! [&_div]:m-0!`,j.DEFAULT_LEVELS=[{number:1,tag:`H1`,nameKey:`tools.header.heading1`,name:`Heading 1`,icon:t.Ot,styles:`text-3xl font-semibold mt-8 mb-px`},{number:2,tag:`H2`,nameKey:`tools.header.heading2`,name:`Heading 2`,icon:t.kt,styles:`text-2xl font-semibold mt-[26px] mb-px`},{number:3,tag:`H3`,nameKey:`tools.header.heading3`,name:`Heading 3`,icon:t.At,styles:`text-xl font-semibold mt-5 mb-px`},{number:4,tag:`H4`,nameKey:`tools.header.heading4`,name:`Heading 4`,icon:t.jt,styles:`text-lg font-semibold mt-3 mb-px`},{number:5,tag:`H5`,nameKey:`tools.header.heading5`,name:`Heading 5`,icon:t.Mt,styles:`text-base font-semibold mt-3 mb-px`},{number:6,tag:`H6`,nameKey:`tools.header.heading6`,name:`Heading 6`,icon:t.Nt,styles:`text-sm font-semibold mt-3 mb-px`}];var ne=`outline-hidden py-[7px] mt-[2px] mb-px`,re=`outline-hidden pl-0.5 leading-[1.5] items-start`,N=`flex items-start pl-0.5`,ie=`mt-0.5 w-5 mr-2 h-5 cursor-pointer accent-current`,ae=`tools.list.placeholder`,oe=`list`,se={contentContainer:`list-content-container`,checklistContent:`list-checklist-content`},P=(e,t)=>{let n=e;n._placeholder=t,Object.defineProperty(n,`getPlaceholder`,{value:()=>n._placeholder,writable:!1,enumerable:!0,configurable:!1})},ce=e=>{let{data:t,keydownHandler:n,readOnly:r}=e,i=le(e),a=t.style===`checklist`?de(e):ue(e);i.appendChild(a),!r&&n&&i.addEventListener(`keydown`,n);let o=a.querySelector(`[data-list-marker]`),s=a.querySelector(`input[type="checkbox"]`),c=t.style===`checklist`?a.querySelector(`[data-blok-testid="${se.checklistContent}"]`):a.querySelector(`[data-blok-testid="${se.contentContainer}"]`);return{wrapper:i,contentElement:c==null?a:c,markerElement:o,checkboxElement:s}},le=e=>{var n;let{data:r}=e,i=document.createElement(`div`);return i.className=ne,i.setAttribute(t.bi.tool,oe),i.setAttribute(`data-list-style`,r.style),i.setAttribute(`data-list-depth`,String((n=r.depth)==null?0:n)),r.start!==void 0&&r.start!==1&&i.setAttribute(`data-list-start`,String(r.start)),i},ue=e=>{var t;let{data:n,itemColor:i,itemSize:a,placeholder:s,markerDepth:c}=e,l=document.createElement(`div`);l.setAttribute(`role`,`listitem`),l.className=r.n(re,`flex`,...o),i&&(l.style.color=i),a&&(l.style.fontSize=a);let u=(t=n.depth)==null?0:t;if(u>0){let e=n.style===`ordered`?26:27;l.style.marginLeft=`${u*e}px`}let d=fe(n.style,c==null?u:c);d.setAttribute(`data-list-marker`,`true`),d.setAttribute(`data-blok-mutation-free`,`true`),l.appendChild(d);let f=document.createElement(`div`);return f.className=r.n(`flex-1 min-w-0 outline-hidden`,...o),f.setAttribute(`data-blok-testid`,se.contentContainer),f.contentEditable=e.readOnly?`false`:`true`,f.innerHTML=n.text,P(f,s),l.appendChild(f),l},de=e=>{var t;let{data:n,itemColor:i,itemSize:a,placeholder:s,readOnly:c}=e,l=document.createElement(`div`);l.setAttribute(`role`,`listitem`),l.className=N,i&&(l.style.color=i),a&&(l.style.fontSize=a);let u=(t=n.depth)==null?0:t;u>0&&(l.style.marginLeft=`${u*27}px`);let d=document.createElement(`input`);d.type=`checkbox`,d.className=ie,d.checked=!!n.checked,d.disabled=c;let f=document.createElement(`div`);return f.className=r.n(`flex-1 outline-hidden leading-[1.5]`,n.checked?`line-through opacity-60`:``,...o),f.setAttribute(`data-blok-testid`,se.checklistContent),f.setAttribute(`data-checked`,String(n.checked)),f.contentEditable=c?`false`:`true`,f.innerHTML=n.text,P(f,s),l.appendChild(d),l.appendChild(f),l},fe=(e,t)=>{let n=document.createElement(`span`);return n.className=`shrink-0 select-none`,n.setAttribute(`aria-hidden`,`true`),n.contentEditable=`false`,e===`ordered`?(n.textContent=`1.`,n.className=r.n(n.className,`text-right`),n.style.paddingRight=`11px`,n.style.minWidth=`fit-content`):(n.textContent=pe(t),n.className=r.n(n.className,`w-6 text-center flex justify-center`),n.style.paddingLeft=`1px`,n.style.paddingRight=`13px`,n.style.fontSize=`24px`,n.style.fontFamily=`Arial`,n.style.lineHeight=`1.5rem`),n},pe=e=>{let t=[`•`,`◦`,`▪`];return t[e%t.length]},me=e=>{let{data:t,readOnly:n,placeholder:r,itemColor:i,itemSize:a,markerDepth:o,element:s,setupItemPlaceholder:c,onCheckboxChange:l,keydownHandler:u}=e;if(!s)return null;let d=s.parentNode;if(!d)return null;let f=ce({data:t,readOnly:n,placeholder:r,itemColor:i,itemSize:a,markerDepth:o,keydownHandler:u});if(f.contentElement&&c(f.contentElement),f.checkboxElement&&!n){let e=f.checkboxElement;e.addEventListener(`change`,()=>{l(e.checked,f.contentElement)})}return d.replaceChild(f.wrapper,s),f.wrapper},he=(e,r,i)=>{if(!r)return e;let a=i(),o=n.t({text:a?t.Kr(a.innerHTML):e.text,style:e.style},e.style===`checklist`?{checked:!!e.checked}:{});return e.start!==void 0&&e.start!==1&&(o.start=e.start),e.depth!==void 0&&e.depth>0&&(o.depth=e.depth),o},ge=(e,t,r,i,a)=>{var o,s;if(!r)return{newData:e,inPlace:!1};let c=(o=e.depth)==null?0:o,l=(s=t.depth)==null?0:s,u=e.style,d=t.style;if(u!==d)return{newData:e,inPlace:!1};let f=`depth`in t?t.depth:0,p=n.t(n.t(n.t({},e),t),{},{depth:f}),m=i();if(m&&typeof t.text==`string`&&(m.innerHTML=t.text),c!==l)return a.adjustDepthTo(l),a.updateMarkerForDepth(l,d),{newData:p,inPlace:!0};if(d===`checklist`){var h;a.updateCheckboxState((h=t.checked)==null?!1:h)}return{newData:p,inPlace:!0}},_e=(e,t)=>{let{element:n,getContentElement:r,parseHTML:i,data:a}=e;if(!n)return;a.text+=t.text;let o=r();if(o&&t.text){let e=i(t.text);o.appendChild(e),o.normalize()}},ve=(e,t,n,r)=>e.map(e=>({icon:e.icon,title:n(`toolNames.${e.titleKey}`),onActivate:()=>r(e.style),closeOnActivate:!0,isActive:t===e.style})),ye=e=>{if(!e)return;let t=(e.getAttribute(`style`)||``).match(/margin-left:\s*(\d+)px/);if(!t)return;let n=parseInt(t[1],10);return n>0?{left:n}:void 0},be=e=>{let t=e.closest(`[data-list-depth]`);if(!t)return;let n=t.getAttribute(`data-list-depth`);if(n===null)return;let r=parseInt(n,10);return r>0?{left:r*27}:void 0},xe=e=>{let t=ye(e.closest(`[role="listitem"]`)||e.querySelector(`[role="listitem"]`));return t===void 0?be(e):t},Se=(e,t)=>{let n=document.createRange();if(n.setStart(e,0),n.setEnd(t.startContainer,t.startOffset),!e.lastChild)return{beforeContent:``,afterContent:``};let r=document.createRange();return r.setStart(t.endContainer,t.endOffset),r.setEndAfter(e.lastChild),{beforeContent:Ce(n.cloneContents()),afterContent:Ce(r.cloneContents())}},Ce=e=>{let t=document.createElement(`div`);return t.appendChild(e),t.innerHTML},we=e=>{let t=document.createElement(`div`);t.innerHTML=e.trim();let n=document.createDocumentFragment();return n.append(...Array.from(t.childNodes)),n},Te=(e,t)=>{let n=document.createRange();return n.selectNodeContents(e),n.setEnd(t.startContainer,t.startOffset),n.toString().length===0},Ee=(e,t)=>{let n=document.createRange();n.selectNodeContents(e),n.setEnd(t.startContainer,t.startOffset);let r=n.toString().length===0,i=document.createRange();i.selectNodeContents(e),i.setStart(t.endContainer,t.endOffset);let a=i.toString().length===0;return r&&a},De=e=>{if(typeof e!=`object`||!e)return!1;let t=Object.entries(e).find(([e])=>e===`items`);return t===void 0?!1:Array.isArray(t[1])},Oe=e=>typeof e==`object`&&!!e,ke=e=>typeof e==`string`?e:``,Ae=(e,t)=>e===`unordered`||e===`ordered`||e===`checklist`?e:t,je=e=>!!e,Me=(e,t)=>typeof e==`number`?e:t,Ne=(e,t)=>{let r=t.defaultStyle||`unordered`;if(!e||typeof e!=`object`)return{text:``,style:r,checked:!1,depth:0};if(De(e)){let{text:t,checked:i}=(e=>{if(typeof e==`string`)return{text:e,checked:!1};if(typeof e==`object`&&e){var t,n,r;return{text:(t=(n=e.content)==null?e.text:n)==null?``:t,checked:(r=e.checked)==null?!1:r}}return{text:``,checked:!1}})(e.items[0]);return n.t({text:t,style:e.style||r,checked:!!i,depth:0},e.start!==void 0&&e.start!==1?{start:e.start}:{})}if(Oe(e)){let t=ke(e.text),i=Ae(e.style,r),a=je(e.checked),o=Me(e.depth,0),s=e.start,c=typeof s==`number`&&s!==void 0&&s!==1?s:void 0;return n.t({text:t,style:i,checked:a,depth:o},c===void 0?{}:{start:c})}return{text:``,style:r,checked:!1,depth:0}},Pe=class{constructor(e){this.blocks=e}getMaxAllowedDepth(e){if(e===0)return 1;let t=this.blocks.getBlockByIndex(e-1);return!t||t.name!==`list`?1:this.getBlockDepth(t)+1}getTargetDepthForMove(e){let{blockIndex:t,currentDepth:n,skipDepthPromotion:r}=e,i=this.getMaxAllowedDepth(t);if(n>i)return i;if(r)return n;let a=this.blocks.getBlockByIndex(t+1),o=a&&a.name===`list`,s=o?this.getBlockDepth(a):0;if(o&&s>n&&s<=i)return s;let c=t>0?this.blocks.getBlockByIndex(t-1):void 0,l=c&&c.name===`list`,u=l?this.getBlockDepth(c):0;return l&&!o&&u>n&&u<=i?u:n}isValidDepth(e,t){let n=this.getMaxAllowedDepth(e);return t>=0&&t<=n}getBlockDepth(e){var t;if(!e)return 0;let n=(t=e.holder)==null||(t=t.querySelector(`[role="listitem"]`))==null?void 0:t.getAttribute(`style`),r=n==null?void 0:n.match(/margin-left:\s*(\d+)px/);return r?Math.round(parseInt(r[1],10)/27):0}},Fe=(e,t)=>{if(!e)return null;if(t===`checklist`){let t=e.querySelector(`[data-blok-testid="list-checklist-content"]`);return t instanceof HTMLElement?t:null}let n=e.querySelector(`[data-blok-testid="list-content-container"]`);return n instanceof HTMLElement?n:null},Ie=(e,t,n)=>{e&&e.setAttribute(`data-list-depth`,String(n));let r=e==null?void 0:e.querySelector(`[role="listitem"]`);r instanceof HTMLElement&&(r.style.marginLeft=n>0?`${n*27}px`:``),t.depth=n},Le=(e,t)=>t.getBlockDepth(e),Re=(e,t)=>t.getBlockStyle(e),ze=(e,t)=>t.getBulletCharacter(e),Be=(e,t,n,r,i)=>{var a;let o=e?(a=r.getBlockIndex(e))==null?r.getCurrentBlockIndex():a:r.getCurrentBlockIndex();return o<=0?0:i.getSiblingIndex(o,t,n)},Ve=(e,t,n,r,i,a)=>{var o;if(e===0){var s;return(s=r.start)==null?1:s}let c=n?(o=i.getBlockIndex(n))==null?i.getCurrentBlockIndex():o:i.getCurrentBlockIndex(),l=a.findFirstItemIndex(c-1,t,e,r.style);return l===null?1:a.getBlockStartValue(l)},He=(e,t,n,r,i,a)=>{var o;let s=Ve(e,t,r,n,i,a)+e,c=r?(o=i.getBlockIndex(r))==null?i.getCurrentBlockIndex():o:i.getCurrentBlockIndex(),l=a.getVisualDepth(c,t);return a.formatNumber(s,l)},Ue=(e,t,n,r)=>r.findGroupStart(e,t,n),We=(e,t,n,r)=>{if(!e)return;let i=e.holder,a=i==null?void 0:i.querySelector(`[data-list-style="ordered"]`);if(!a)return;let o=a.querySelector(`[data-list-marker]`);if(!o)return;let s=t.getBlockIndex(e.id);if(s==null)return;let c=Le(e,n),l=Re(e,r)||`ordered`,u=r.getSiblingIndex(s,c,l),d=r.getGroupStartValue(s,c,u,l)+u,f=r.getVisualDepth(s,c);o.textContent=r.formatNumber(d,f)},Ge=(e,t,n,r,i,a,o,s)=>{let c=e=>{if(e>=t)return;if(e===n){c(e+1);return}let l=a.getBlockByIndex(e);if(!l||l.name!==`list`)return;let u=Le(l,o);if(!(u<r)){if(u>r){c(e+1);return}Re(l,s)===i&&(We(l,a,o,s),c(e+1))}};c(e)},Ke=(e,t,n)=>{let r=e.getBlocksCount();Array.from({length:r},(e,t)=>t).forEach(r=>{let i=e.getBlockByIndex(r);if(!i||i.name!==`list`)return;let a=i.holder;a!=null&&a.querySelector(`[data-list-style="ordered"]`)&&We(i,e,t,n)})},qe=(e,t,n=`end`)=>{let r=()=>{let r=t.holder;if(!r)return;let i=r.querySelector(`[contenteditable="true"]`);if(!(i instanceof HTMLElement)){e.caret.setToBlock(t,n),e.caret.updateLastCaretAfterPosition();return}i.focus();let a=window.getSelection();if(!a)return;let o=document.createRange();n===`start`?(o.setStart(i,0),o.collapse(!0)):(o.selectNodeContents(i),o.collapse(!1)),a.removeAllRanges(),a.addRange(o),e.caret.updateLastCaretAfterPosition()},i=t.holder;(i==null?void 0:i.querySelector(`[contenteditable="true"]`))instanceof HTMLElement?r():requestAnimationFrame(()=>r())},Je=async(e,t)=>{var r;let{api:i,blockId:a,data:o,element:s,getContentElement:c}=e,l=window.getSelection();if(!l||!s)return;let u=c();if(!u)return;let d=u.innerHTML.trim();if(d===``||d===`<br>`){await Ye(e,t);return}let{beforeContent:f,afterContent:p}=Se(u,l.getRangeAt(0)),m=a?(r=i.blocks.getBlockIndex(a))==null?i.blocks.getCurrentBlockIndex():r:i.blocks.getCurrentBlockIndex();if(!a){u.innerHTML=f,o.text=f,qe(i,i.blocks.insert(oe,n.t(n.t({text:p,style:o.style},o.style===`checklist`?{checked:!!o.checked}:{}),{},{depth:o.depth}),void 0,m+1,!0),`start`);return}let h=i.blocks.splitBlock(a,{text:f},oe,n.t(n.t({text:p,style:o.style},o.style===`checklist`?{checked:!!o.checked}:{}),{},{depth:o.depth}),m+1);o.text=f,qe(i,h,`start`)},Ye=async(e,t)=>{let{api:n,blockId:r,getDepth:i}=e;if(i()>0){await $e(e,t);return}r!==void 0&&qe(n,await n.blocks.convert(r,`paragraph`,{text:``}),`start`)},Xe=async(e,t)=>{let{api:n,blockId:r,data:i,element:a,getContentElement:o,getDepth:s,syncContentFromDOM:c}=e,l=window.getSelection();if(!l||!a)return;let u=l.getRangeAt(0),d=o();if(!d)return;c();let f=i.text,p=s();if(Ee(d,u)&&!l.isCollapsed){t.preventDefault(),d.innerHTML=``,i.text=``;let e=document.createRange();e.setStart(d,0),e.collapse(!0),l.removeAllRanges(),l.addRange(e);return}if(!Te(d,u)||(t.preventDefault(),r===void 0))return;let m=await n.blocks.convert(r,`paragraph`,{text:f});p>0&&requestAnimationFrame(()=>{let e=m.holder;e&&(e.style.marginLeft=`${p*27}px`,e.setAttribute(`data-blok-depth`,String(p)))}),qe(n,m,`start`)},Ze=async(e,t)=>{let{api:r,blockId:i,data:a,syncContentFromDOM:o,getDepth:s}=e,c=r.blocks.getCurrentBlockIndex(),l=s();if(l>=t.getMaxAllowedDepth(c))return;o();let u=l+1;a.depth=u,qe(r,await r.blocks.update(i||``,n.t(n.t({},a),{},{depth:u})))},Qe=async(e,t,n,r)=>{var i;let a=t?(i=e.blocks.getBlockIndex(t))==null?e.blocks.getCurrentBlockIndex():i:e.blocks.getCurrentBlockIndex(),o=e.blocks.getBlocksCount(),s=async t=>{if(t>=o)return;let i=e.blocks.getBlockByIndex(t);if(!i||i.name!==`list`)return;let a=r.getBlockDepth(i);a<=n||(await e.blocks.update(i.id,{depth:a-1}),await s(t+1))};await s(a+1)},$e=async(e,t)=>{let{api:r,blockId:i,data:a,syncContentFromDOM:o,getDepth:s}=e,c=s();if(c===0)return;o();let l=c-1;a.depth=l;let u=await r.blocks.update(i||``,n.t(n.t({},a),{},{depth:l}));t&&await Qe(r,i,c,t),qe(r,u)},et=e=>{let{data:t,readOnly:n,placeholder:r,itemColor:i,itemSize:a,markerDepth:o,setupItemPlaceholder:s,onCheckboxChange:c,keydownHandler:l}=e,u=ce({data:t,readOnly:n,placeholder:r,itemColor:i,itemSize:a,markerDepth:o,keydownHandler:l});if(u.contentElement&&s(u.contentElement),u.checkboxElement&&!n){let e=u.checkboxElement;e.addEventListener(`change`,()=>{c(e.checked,u.contentElement)})}return u.wrapper},tt=e=>{let t=e=>{if(e<=0)return``;let n=e-1;return t(Math.floor(n/26))+String.fromCharCode(97+n%26)};return t(e)},nt=e=>{let t=[[1e3,`m`],[900,`cm`],[500,`d`],[400,`cd`],[100,`c`],[90,`xc`],[50,`l`],[40,`xl`],[10,`x`],[9,`ix`],[5,`v`],[4,`iv`],[1,`i`]],n=(e,r)=>{if(e<=0||r>=t.length)return``;let[i,a]=t[r];return e>=i?a+n(e-i,r):n(e,r+1)};return n(e,0)},rt=class{constructor(e){this.blocks=e}getMarkerText(e){let{blockIndex:t,depth:n,style:r,start:i}=e;if(r!==`ordered`)return this.getBulletCharacter(n);let a=this.getSiblingIndex(t,n,r),o=(i==null?this.getGroupStartValue(t,n,a,r):i)+a;return this.formatNumber(o,n)}getBulletCharacter(e){let t=[`•`,`◦`,`▪`];return t[e%t.length]}getSiblingIndex(e,t,n){return e<=0?0:this.countPrecedingAtDepth(e-1,t,n)}findGroupStart(e,t,n){return this.findGroupStartRecursive(e-1,e,t,n)}formatNumber(e,t){let n=t%3;return n===1?`${tt(e)}.`:n===2?`${nt(e)}.`:`${e}.`}getGroupStartValue(e,t,n,r){if(n===0)return this.getBlockStartValue(e);let i=this.findFirstItemIndex(e-1,t,n,r);return i===null?1:this.getBlockStartValue(i)}getBlockStartValue(e){var t;let n=this.blocks.getBlockByIndex(e);if(!n)return 1;let r=(t=n.holder)==null?void 0:t.querySelector(`[data-list-style]`);if(!r)return 1;let i=r.getAttribute(`data-list-start`);return i?parseInt(i,10):1}findFirstItemIndex(e,t,n,r){if(e<0||n<=0)return e+1;let i=this.blocks.getBlockByIndex(e);if(!i||i.name!==`list`)return e+1;let a=this.getBlockDepth(i);if(a<t)return e+1;if(a>t)return this.findFirstItemIndex(e-1,t,n,r);let o=this.getBlockStyle(i);return r!==void 0&&o!==r?e+1:this.findFirstItemIndex(e-1,t,n-1,r)}getGroupBaseDepth(e){let t=e=>{if(e<=0)return 0;let n=this.blocks.getBlockByIndex(e-1);return!n||n.name!==`list`?e:t(e-1)},n=t(e),r=this.blocks.getBlockByIndex(n);return this.getBlockDepth(r)}getVisualDepth(e,t){return Math.max(0,t-this.getGroupBaseDepth(e))}getBlockDepth(e){var t;if(!e)return 0;let n=(t=e.holder)==null||(t=t.querySelector(`[role="listitem"]`))==null?void 0:t.getAttribute(`style`),r=n==null?void 0:n.match(/margin-left:\s*(\d+)px/);return r?Math.round(parseInt(r[1],10)/27):0}getBlockStyle(e){var t;if(!e)return null;let n=(t=e.holder)==null||(t=t.querySelector(`[data-list-style]`))==null?void 0:t.getAttribute(`data-list-style`);return this.isValidListItemStyle(n)?n:null}isValidListItemStyle(e){return e===`unordered`||e===`ordered`||e===`checklist`}countPrecedingAtDepth(e,t,n){if(e<0)return 0;let r=this.blocks.getBlockByIndex(e);if(!r||r.name!==`list`)return 0;let i=this.getBlockDepth(r);return i<t?0:i>t?this.countPrecedingAtDepth(e-1,t,n):this.getBlockStyle(r)===n?1+this.countPrecedingAtDepth(e-1,t,n):0}findGroupStartRecursive(e,t,n,r){if(e<0)return t;let i=this.blocks.getBlockByIndex(e);if(!i||i.name!==`list`)return t;let a=this.getBlockDepth(i);return a<n?t:a>n?this.findGroupStartRecursive(e-1,t,n,r):this.getBlockStyle(i)===r?this.findGroupStartRecursive(e-1,e,n,r):t}},it={value:!1},at=class{constructor(e){this.blocks=e,this.depthValidator=new Pe(e),this.markerCalculator=new rt(e)}updateMarker(e,t,n){let r=e.querySelector(`[data-list-marker]`);if(!r)return;let i=this.markerCalculator.getSiblingIndex(t,n,`ordered`),a=this.markerCalculator.getGroupStartValue(t,n,i,`ordered`),o=(i===0&&a===1?(()=>{let t=e.getAttribute(`data-list-start`);if(!t)return a;let n=parseInt(t,10);return isNaN(n)?a:n})():a)+i,s=this.markerCalculator.getVisualDepth(t,n);r.textContent=this.markerCalculator.formatNumber(o,s)}updateSiblingMarkers(e,t){let n=this.blocks.getBlocksCount(),r=this.findListGroupStartIndex(e,t,`ordered`);this.updateMarkersInRange(r,n,e,t,`ordered`)}updateAllMarkers(){let e=this.blocks.getBlocksCount();for(let t of Array.from({length:e},(e,t)=>t)){let e=this.blocks.getBlockByIndex(t);if(!e||e.name!==`list`)continue;let n=e.holder;n!=null&&n.querySelector(`[data-list-style="ordered"]`)&&this.updateBlockMarker(e)}}scheduleUpdateAll(){it.value||(it.value=!0,requestAnimationFrame(()=>{it.value=!1,this.updateAllMarkers()}))}findListGroupStartIndex(e,t,n){return this.markerCalculator.findGroupStart(e,t,n)}updateMarkersInRange(e,t,n,r,i){let a=Array.from({length:t-e},(t,n)=>e+n);for(let e of a){if(e===n)continue;let t=this.blocks.getBlockByIndex(e);if(!t||t.name!==`list`)return;let a=this.depthValidator.getBlockDepth(t);if(a<r)return;if(!(a>r)){if(this.getBlockStyle(t)!==i)return;this.updateBlockMarker(t)}}}getBlockStyle(e){return this.markerCalculator.getBlockStyle(e)}updateBlockMarker(e){if(!e)return;let t=e.holder,n=t==null?void 0:t.querySelector(`[data-list-style="ordered"]`);if(!n)return;let r=n.querySelector(`[data-list-marker]`);if(!r)return;let i=this.blocks.getBlockIndex(e.id);if(i==null)return;let a=this.depthValidator.getBlockDepth(e),o=this.getBlockStyle(e)||`ordered`,s=this.markerCalculator.getSiblingIndex(i,a,o),c=this.markerCalculator.getGroupStartValue(i,a,s,o),l=(s===0&&c===1?(()=>{let e=n.closest(`[data-list-start]`),t=e==null?void 0:e.getAttribute(`data-list-start`);if(!t)return c;let r=parseInt(t,10);return isNaN(r)?c:r})():c)+s,u=this.markerCalculator.getVisualDepth(i,a);r.textContent=this.markerCalculator.formatNumber(l,u)}},ot=e=>e instanceof HTMLElement,st=new Set(`decimal.decimal-leading-zero.lower-roman.upper-roman.lower-greek.lower-latin.upper-latin.lower-alpha.upper-alpha.arabic-indic.armenian.bengali.cambodian.cjk-decimal.devanagari.georgian.gujarati.gurmukhi.hebrew.kannada.khmer.lao.malayalam.mongolian.myanmar.oriya.persian.telugu.thai.tibetan`.split(`.`)),ct=new Set([`disc`,`circle`,`square`,`none`]),lt=e=>{let t=e.getAttribute(`data-list-style`);if(t===`ordered`)return`ordered`;if(t===`unordered`)return`unordered`;let n=e.getAttribute(`style`);if(!n)return null;let r=n.match(/list-style-type\s*:\s*([^;]+)/);if(!r)return null;let i=r[1].trim().toLowerCase();return st.has(i)?`ordered`:ct.has(i)?`unordered`:null},ut=(e,t)=>{let n=e.parentElement;return(n==null?void 0:n.tagName)===`OL`?`ordered`:(n==null?void 0:n.tagName)===`UL`?e.querySelector(`input[type="checkbox"]`)?`checklist`:`unordered`:lt(e)||t},dt=e=>{let t=e.innerHTML||e.textContent||``,n=e.querySelector(`input[type="checkbox"]`);return{text:t,checked:n instanceof HTMLInputElement?n.checked:!1}},ft=e=>{let t=e.getAttribute(`aria-level`);return t?Math.max(0,parseInt(t,10)-1):0},pt=()=>({text:{br:!0,a:{href:!0,target:`_blank`,rel:`nofollow`},b:!0,i:!0}}),mt=()=>({tags:[{li:{style:!0,"aria-level":!0}}]}),ht=()=>({export:e=>e.text,import:e=>({text:e,style:`unordered`,checked:!1})}),gt=[{name:`bulletedList`,titleKey:`bulletedList`,style:`unordered`,icon:t.Zt},{name:`numberedList`,titleKey:`numberedList`,style:`ordered`,icon:t.$t},{name:`todoList`,titleKey:`todoList`,style:`checklist`,icon:t.Qt}],_t=()=>[{icon:t.Zt,titleKey:`bulletedList`,data:{style:`unordered`},name:`bulleted-list`,searchTerms:[`ul`,`bullet`,`unordered`,`list`],searchTermKeys:[`bullet`,`unordered`,`list`],shortcut:`-`},{icon:t.$t,titleKey:`numberedList`,data:{style:`ordered`},name:`numbered-list`,searchTerms:[`ol`,`ordered`,`number`,`list`],searchTermKeys:[`ordered`,`number`,`list`],shortcut:`1.`},{icon:t.Qt,titleKey:`todoList`,data:{style:`checklist`},name:`check-list`,searchTerms:[`checkbox`,`task`,`todo`,`check`,`list`],searchTermKeys:[`checkbox`,`task`,`todo`,`check`,`list`],shortcut:`[]`}],vt=class{constructor({data:e,config:t,api:n,readOnly:r,block:i}){this._element=null,this.placeholderCleanup=null,this.boundHandleKeyDown=null,this.handleBlockChanged=e=>{if(this.isBlockChangedEventPayload(e)&&(e.event.type===`block-removed`||e.event.type===`block-added`)){var t;(t=this.markerManager)==null||t.scheduleUpdateAll()}},this.api=n,this.readOnly=r,this._settings=t||{},this._data=this.normalizeData(e),this.depthValidator=new Pe(n.blocks),this.markerCalculator=new rt(n.blocks),this.markerManager=this._data.style===`ordered`?new at(n.blocks):null,i&&(this.blockId=i.id),this._data.style===`ordered`&&this.api.events.on(`block changed`,this.handleBlockChanged)}isBlockChangedEventPayload(e){return typeof e==`object`&&!!e&&`event`in e&&typeof e.event==`object`&&e.event!==null&&`type`in e.event&&typeof e.event.type==`string`}normalizeData(e){return Ne(e,this._settings)}get availableStyles(){let e=this._settings.styles;return!e||e.length===0?gt:gt.filter(t=>e.includes(t.style))}get itemColor(){return this._settings.itemColor}get itemSize(){return this._settings.itemSize}get placeholder(){return this.api.i18n.t(ae)}setupItemPlaceholder(e){this.readOnly||(this.placeholderCleanup=p(e,this.placeholder))}render(){var e,t;if(this._element)return this._element;let n=this.blockId?(e=this.api.blocks.getBlockIndex(this.blockId))==null?this.api.blocks.getCurrentBlockIndex():e:this.api.blocks.getCurrentBlockIndex(),r=(t=this._data.depth)==null?0:t,i=this.markerCalculator.getVisualDepth(n,r);return this.boundHandleKeyDown||(this.boundHandleKeyDown=this.handleKeyDown.bind(this)),this._element=et({data:this._data,readOnly:this.readOnly,placeholder:this.placeholder,itemColor:this.itemColor,itemSize:this.itemSize,markerDepth:i,setupItemPlaceholder:this.setupItemPlaceholder.bind(this),onCheckboxChange:(e,t)=>{this._data.checked=e,t instanceof HTMLElement&&(t.classList.toggle(`line-through`,e),t.classList.toggle(`opacity-60`,e))},keydownHandler:this.readOnly?void 0:this.boundHandleKeyDown}),this._element}setReadOnly(e){if(!this._element)return;this.readOnly=e;let t=this.getContentElement();t&&(t.contentEditable=e?`false`:`true`);let n=this._element.querySelector(`input[type="checkbox"]`);n&&(n.disabled=e),e?(this.boundHandleKeyDown&&this._element.removeEventListener(`keydown`,this.boundHandleKeyDown),this.placeholderCleanup&&(this.placeholderCleanup(),this.placeholderCleanup=null)):(this.boundHandleKeyDown&&this._element.addEventListener(`keydown`,this.boundHandleKeyDown),t&&(this.placeholderCleanup=p(t,this.placeholder)))}rendered(){this.updateMarkersAfterPositionChange()}moved(e){this.validateAndAdjustDepthAfterMove(e.toIndex,e.isGroupMove),this.updateMarkersAfterPositionChange()}updateMarkersAfterPositionChange(){this._data.style!==`ordered`||!this._element||(this.updateMarker(),this.updateSiblingListMarkers())}validateAndAdjustDepthAfterMove(e,t){let n=this.getDepth(),r=this.depthValidator.getTargetDepthForMove({blockIndex:e,currentDepth:n,skipDepthPromotion:t});n!==r&&this.adjustDepthTo(r)}adjustDepthTo(e){Ie(this._element,this._data,e)}removed(){var e;this._data.style===`ordered`&&(this.api.events.off(`block changed`,this.handleBlockChanged),(e=this.markerManager)==null||e.scheduleUpdateAll())}updateAllOrderedListMarkers(){Ke(this.api.blocks,this.depthValidator,this.markerCalculator)}updateMarker(){var e;let t=(e=this._element)==null?void 0:e.querySelector(`[data-list-marker]`);if(!t)return;let n=this.getDepth();t.textContent=He(Be(this.blockId,n,this._data.style,this.api.blocks,this.markerCalculator),n,this._data,this.blockId,this.api.blocks,this.markerCalculator)}updateSiblingListMarkers(){var e;let t=this.blockId?(e=this.api.blocks.getBlockIndex(this.blockId))==null?this.api.blocks.getCurrentBlockIndex():e:this.api.blocks.getCurrentBlockIndex(),n=this.getDepth(),r=this._data.style,i=this.api.blocks.getBlocksCount();Ge(Ue(t,n,r,this.markerCalculator),i,t,n,r,this.api.blocks,this.depthValidator,this.markerCalculator)}updateMarkerForDepth(e,t){var n,r;let i=(n=this._element)==null?void 0:n.querySelector(`[aria-hidden="true"]`);if(!(i instanceof HTMLElement))return;let a=this.blockId?(r=this.api.blocks.getBlockIndex(this.blockId))==null?this.api.blocks.getCurrentBlockIndex():r:this.api.blocks.getCurrentBlockIndex(),o=this.markerCalculator.getVisualDepth(a,e);t===`ordered`?i.textContent=He(Be(this.blockId,e,this._data.style,this.api.blocks,this.markerCalculator),e,this._data,this.blockId,this.api.blocks,this.markerCalculator):i.textContent=ze(o,this.markerCalculator)}updateCheckboxState(e){var t;let n=(t=this._element)==null?void 0:t.querySelector(`input[type="checkbox"]`);n instanceof HTMLInputElement&&(n.checked=e)}getDepth(){var e;return(e=this._data.depth)==null?0:e}handleKeyDown(e){if(e.key===`Enter`&&!e.shiftKey){e.preventDefault(),this.handleEnter();return}if(e.key===`Backspace`){this.handleBackspace(e);return}if(e.key===`Tab`&&!(document.querySelectorAll(`[data-blok-selected="true"]`).length>1)){if(e.preventDefault(),e.shiftKey){this.handleOutdent();return}this.handleIndent()}}async handleEnter(){var e=this;await Je({api:e.api,blockId:e.blockId,data:e._data,element:e._element,getContentElement:e.getContentElement.bind(e),syncContentFromDOM:e.syncContentFromDOM.bind(e),getDepth:e.getDepth.bind(e)},e.depthValidator)}async handleBackspace(e){var t=this;await Xe({api:t.api,blockId:t.blockId,data:t._data,element:t._element,getContentElement:t.getContentElement.bind(t),syncContentFromDOM:t.syncContentFromDOM.bind(t),getDepth:t.getDepth.bind(t)},e)}async handleIndent(){var e=this;await Ze({api:e.api,blockId:e.blockId,data:e._data,element:e._element,getContentElement:e.getContentElement.bind(e),syncContentFromDOM:e.syncContentFromDOM.bind(e),getDepth:e.getDepth.bind(e)},e.depthValidator)}async handleOutdent(){var e=this;await $e({api:e.api,blockId:e.blockId,data:e._data,element:e._element,getContentElement:e.getContentElement.bind(e),syncContentFromDOM:e.syncContentFromDOM.bind(e),getDepth:e.getDepth.bind(e)},e.depthValidator)}syncContentFromDOM(){var e;let t=this.getContentElement();if(t&&(this._data.text=t.innerHTML),this._data.style!==`checklist`)return;let n=(e=this._element)==null?void 0:e.querySelector(`input[type="checkbox"]`);n instanceof HTMLInputElement&&(this._data.checked=n.checked)}getContentElement(){return Fe(this._element,this._data.style)}renderSettings(){return ve(this.availableStyles,this._data.style,this.api.i18n.t,e=>this.setStyle(e))}setStyle(e){let t=this._data.style;if(this._data.style=e,this.rerender(),t!==e){var n;(n=this.markerManager)==null||n.scheduleUpdateAll()}}rerender(){var e,t,n;let r=this.blockId?(e=this.api.blocks.getBlockIndex(this.blockId))==null?this.api.blocks.getCurrentBlockIndex():e:this.api.blocks.getCurrentBlockIndex(),i=(t=this._data.depth)==null?0:t,a=me({data:this._data,readOnly:this.readOnly,placeholder:this.placeholder,itemColor:this.itemColor,itemSize:this.itemSize,markerDepth:this.markerCalculator.getVisualDepth(r,i),element:this._element,setupItemPlaceholder:this.setupItemPlaceholder.bind(this),onCheckboxChange:(e,t)=>{this._data.checked=e,t instanceof HTMLElement&&(t.classList.toggle(`line-through`,e),t.classList.toggle(`opacity-60`,e))},keydownHandler:this.readOnly||(n=this.boundHandleKeyDown)==null?void 0:n});a&&(this._element=a,this.updateMarkersAfterPositionChange())}validate(e){return typeof e.text==`string`}save(){return he(this._data,this._element,this.getContentElement.bind(this))}setData(e){let t=ge(this._data,e,this._element,this.getContentElement.bind(this),{adjustDepthTo:this.adjustDepthTo.bind(this),updateMarkerForDepth:this.updateMarkerForDepth.bind(this),updateCheckboxState:this.updateCheckboxState.bind(this)});return this._data=t.newData,t.inPlace}merge(e){_e({data:this._data,element:this._element,getContentElement:this.getContentElement.bind(this),parseHTML:we},e)}static get conversionConfig(){return ht()}static get sanitize(){return pt()}static get pasteConfig(){return mt()}onPaste(e){let t=e.detail;if(!(`data`in t))return;let n=t.data;if(!ot(n))return;let{text:r,checked:i}=dt(n),a=ft(n);this._data={text:r,style:ut(n,this._data.style),checked:i,depth:a},this.rerender()}static get isReadOnlySupported(){return!0}getContentOffset(e){return xe(e)}static get toolbox(){return _t()}},F=`data-blok-table-row`,I=`data-blok-table-cell`,L=`data-blok-table-cell-row`,R=`data-blok-table-cell-col`,yt=`1px solid var(--blok-table-border)`,bt=[`py-1`,`px-2`,`min-h-[2em]`,`outline-hidden`,`leading-none`,`text-sm`,`cursor-text`],xt=e=>{let t=Math.round(100/e*100)/100;return Array.from({length:e},()=>t)},St=class{constructor(e){this.readOnly=e.readOnly}createGrid(e,t,n){let r=document.createElement(`table`);r.style.tableLayout=`fixed`,r.style.width=`100%`,r.style.borderCollapse=`separate`,r.style.borderSpacing=`0px`,r.style.borderTop=yt,r.style.borderLeft=yt;let i=n==null?xt(t):n,a=document.createElement(`colgroup`);i.forEach(e=>{a.appendChild(this.createCol(e))}),r.appendChild(a);let o=document.createElement(`tbody`);return Array.from({length:e}).forEach((e,n)=>{o.appendChild(this.createRow(t,n))}),r.appendChild(o),r}fillGrid(e,t){}createGridFromModel(e){var t;let n=document.createElement(`table`);n.style.tableLayout=`fixed`,n.style.width=`100%`,n.style.borderCollapse=`separate`,n.style.borderSpacing=`0px`,n.style.borderTop=yt,n.style.borderLeft=yt;let r=document.createElement(`colgroup`);((t=e.colWidths)==null?xt(e.cols):t).forEach(e=>r.appendChild(this.createCol(e))),n.appendChild(r);let i=document.createElement(`tbody`);return Array.from({length:e.rows}).forEach((t,n)=>{let r=document.createElement(`tr`);r.setAttribute(F,``),Array.from({length:e.cols}).forEach((t,i)=>{if(e.isSpannedCell(n,i))return;let a=this.createCell(n,i),o=e.getCellSpan(n,i);o.colspan>1&&(a.colSpan=o.colspan),o.rowspan>1&&(a.rowSpan=o.rowspan),r.appendChild(a)}),i.appendChild(r)}),n.appendChild(i),n}addRow(e,t){var n;let r=this.getColumnCount(e),i=this.createRow(r),a=(n=e.querySelector(`tbody`))==null?e:n,o=a.querySelectorAll(`[${F}]`);return t!==void 0&&t<o.length?a.insertBefore(i,o[t]):a.appendChild(i),this.reindexCoordinates(e),i}deleteRow(e,t){let n=e.querySelectorAll(`[${F}]`);t<n.length&&n[t].remove(),this.reindexCoordinates(e)}addColumn(e,t,n,r){let i=e.querySelector(`colgroup`),a=(i?Array.from(i.querySelectorAll(`col`)):[]).length,o=n!==void 0&&n.length===a,s=o||this.detectWidthUnit(e)===`px`;return o&&i&&this.applyWidthsToCols(i,n),s?this.addColumnPx(e,a,t,r):this.addColumnPercent(e,a,t),this.reindexCoordinates(e),!0}applyWidthsToCols(e,t){let n=Array.from(e.querySelectorAll(`col`));t.forEach((e,t)=>{t<n.length&&(n[t].style.width=`${e}px`)})}addColumnPx(e,t,n,r){let i=`${r==null?this.computeHalfAvgWidth(e,t):r}px`;this.insertColumn(e,n,i)}computeHalfAvgWidth(e,t){let n=e.querySelector(`colgroup`),r=(n?Array.from(n.querySelectorAll(`col`)):[]).reduce((e,t)=>e+(parseFloat(t.style.width)||0),0);return t>0?Math.round(r/t/2*100)/100:0}addColumnPercent(e,t,n){let r=1-.5/t,i=e.querySelector(`colgroup`);(i?Array.from(i.querySelectorAll(`col`)):[]).forEach(e=>{let n=e,i=parseFloat(n.style.width)||100/t,a=Math.round(i*r*100)/100;n.style.width=`${a}%`});let a=Math.round(100/t/2*100)/100;this.insertColumn(e,n,`${a}%`)}insertColumn(e,t,n){let r=e.querySelector(`colgroup`);if(r){let e=document.createElement(`col`);e.style.width=n;let i=r.querySelectorAll(`col`);t===void 0||t>=i.length?r.appendChild(e):r.insertBefore(e,i[t])}e.querySelectorAll(`[${F}]`).forEach(e=>{let n=e.querySelectorAll(`[${I}]`),r=t===void 0||t>=n.length,i=this.createCell();r?e.appendChild(i):e.insertBefore(i,n[t])})}deleteColumn(e,t){let n=e.querySelector(`colgroup`);if(n){let e=n.querySelectorAll(`col`);t<e.length&&e[t].remove()}e.querySelectorAll(`[${F}]`).forEach(e=>{let n=e.querySelectorAll(`[${I}]`);t>=n.length||n[t].remove()}),this.reindexCoordinates(e)}moveRow(e,t,n){var r;if(t===n)return;let i=(r=e.querySelector(`tbody`))==null?e:r,a=Array.from(i.querySelectorAll(`[${F}]`));if(t>=a.length||n>=a.length)return;let o=a[t];o.remove();let s=Array.from(i.querySelectorAll(`[${F}]`));n>=s.length?i.appendChild(o):i.insertBefore(o,s[n]),this.reindexCoordinates(e)}moveColumn(e,t,n){t!==n&&(this.reorderColElement(e,t,n),e.querySelectorAll(`[${F}]`).forEach(e=>{let r=Array.from(e.querySelectorAll(`[${I}]`));if(t>=r.length||n>=r.length)return;let i=r[t];i.remove();let a=Array.from(e.querySelectorAll(`[${I}]`));n>=a.length?e.appendChild(i):e.insertBefore(i,a[n])}),this.reindexCoordinates(e))}reindexCoordinates(e){let t=Array.from(e.querySelectorAll(`[${F}]`)),n=new Map;t.forEach((e,t)=>{var r;let i=Array.from(e.querySelectorAll(`[${I}]`)),a=(r=n.get(t))==null?new Set:r;i.reduce((e,r)=>{let i=r,o=e=>a.has(e)?o(e+1):e,s=o(e);r.setAttribute(L,String(t)),r.setAttribute(R,String(s));let c=i.colSpan||1,l=i.rowSpan||1;return l>1&&this.blockRowspanCols(n,t,s,l,c),s+c},0),n.delete(t)})}blockRowspanCols(e,t,n,r,i){Array.from({length:r-1},(e,t)=>t+1).forEach(r=>{let a=t+r;e.has(a)||e.set(a,new Set);let o=e.get(a);Array.from({length:i},(e,t)=>t).forEach(e=>{o.add(n+e)})})}getRowCount(e){return e.querySelectorAll(`[${F}]`).length}getColumnCount(e){let t=e.querySelector(`colgroup`);if(t)return t.querySelectorAll(`col`).length;let n=e.querySelector(`[${F}]`);return n?n.querySelectorAll(`[${I}]`).length:0}getCell(e,t,n){let r=e.querySelector(`[${L}="${t}"][${R}="${n}"]`);if(r)return r;let i=e.querySelectorAll(`[${F}]`);if(t>=i.length)return null;let a=i[t].querySelectorAll(`[${I}]`);return n>=a.length?null:a[n]}getColWidths(e){let t=e.querySelector(`colgroup`);if(!t)return[];let n=t.querySelectorAll(`col`),r=[];return n.forEach(e=>{let t=parseFloat(e.style.width);r.push(isNaN(t)?0:t)}),r}getColgroup(e){return e.querySelector(`colgroup`)}applyColWidths(e,t){let n=e.querySelector(`colgroup`);if(!n)return;let r=Array.from(n.querySelectorAll(`col`));t.forEach((e,t)=>{t<r.length&&(r[t].style.width=`${e}px`)})}reorderColElement(e,t,n){let r=e.querySelector(`colgroup`);if(!r)return;let i=Array.from(r.querySelectorAll(`col`));if(t>=i.length||n>=i.length)return;let a=i[t];a.remove();let o=Array.from(r.querySelectorAll(`col`));n>=o.length?r.appendChild(a):r.insertBefore(a,o[n])}detectWidthUnit(e){let t=e.querySelector(`colgroup`);if(!t)return`%`;let n=t.querySelector(`col`);return n&&n.style.width.endsWith(`px`)?`px`:`%`}createCol(e){let t=document.createElement(`col`);return t.style.width=typeof e==`string`?e:`${e}%`,t}createRow(e,t){let n=document.createElement(`tr`);return n.setAttribute(F,``),Array.from({length:e}).forEach((e,r)=>{n.appendChild(this.createCell(t,t===void 0?void 0:r))}),n}createCell(e,n){let i=document.createElement(`td`);i.className=r.n(bt),i.style.borderRight=yt,i.style.borderBottom=yt,i.style.overflow=`hidden`,i.style.overflowWrap=`break-word`,i.style.height=`0`,i.setAttribute(I,``),e!==void 0&&n!==void 0&&(i.setAttribute(L,String(e)),i.setAttribute(R,String(n)));let a=document.createElement(`div`);return a.setAttribute(U,``),a.setAttribute(t.bi.nestedBlocks,``),a.style.display=`flex`,a.style.flexDirection=`column`,a.style.minHeight=`100%`,i.appendChild(a),i}},z=e=>typeof e==`object`&&!!e&&`blocks`in e,B=e=>{let t=e.querySelector(`colgroup`);if(!t)return[];let n=t.querySelectorAll(`col`),r=n[0];if(r&&r.style.width.endsWith(`%`)){let t=e.querySelector(`[${F}]`);if(t)return Array.from(t.querySelectorAll(`[${I}]`)).map(e=>Math.round(e.getBoundingClientRect().width))}return Array.from(n).map(e=>parseFloat(e.style.width)||0)},Ct=(e,t)=>{let n=t.reduce((e,t)=>e+t,0),r=e;r.style.width=`${n+1}px`;let i=e.querySelector(`colgroup`);if(!i)return;let a=Array.from(i.querySelectorAll(`col`));t.forEach((e,t)=>{t<a.length&&(a[t].style.width=`${e}px`)})},wt=(e,t)=>{let n=t.closest(`[${F}]`);if(!n||!e.contains(n))return null;let r=Array.from(e.querySelectorAll(`[${F}]`)).indexOf(n),i=t.getAttribute(R);if(r<0||i===null)return null;let a=parseInt(i,10);return Number.isNaN(a)?null:{row:r,col:a}},Tt=e=>{var t;let n=e.querySelector(`[${U}]`);return n?((t=n.textContent)==null?``:t).trim().length===0:!0},Et=(e,t)=>{let n=e.querySelectorAll(`[${F}]`)[t];if(!n)return!0;let r=n.querySelectorAll(`[${I}]`);return Array.from(r).every(e=>Tt(e))},Dt=(e,t)=>{let n=e.querySelectorAll(`[${F}]`);return Array.from(n).every(e=>{let n=e.querySelector(`[${R}="${t}"]`);return!n||Tt(n)})},Ot=e=>{let t=e.querySelector(`colgroup`);if(!t)return;let n=t.querySelectorAll(`col`),r=Array.from(n).reduce((e,t)=>e+(parseFloat(t.style.width)||0),0);if(r<=0)return;let i=100/r;n.forEach(e=>{let t=e,n=parseFloat(t.style.width)||0;t.style.width=`${Math.round(n*i*100)/100}%`})},kt=(e,t,n)=>{if(!e)return e;let r=[...e],[i]=r.splice(t,1);return r.splice(n,0,i),r},At=(e,t)=>{if(!e)return e;let n=[...e];return n.splice(t,1),n.length>0?n:void 0},jt=(e,t,n,r,i)=>{let a=n==null?B(e):n,o=r===void 0?Mt(a):Math.round(r/2*100)/100;i.addColumn(e,t,a,o);let s=[...a];return s.splice(t,0,o),s},Mt=e=>Math.round(e.reduce((e,t)=>e+t,0)/e.length/2*100)/100,Nt=e=>e.length===0?0:Math.round(e.reduce((e,t)=>e+t,0)/e.length*100)/100,Pt=(e,t,n)=>{var r;if(!e)return[];let i=e.querySelectorAll(`[${F}]`)[n];return i?(r=t==null?void 0:t.getBlockIdsFromCells(i.querySelectorAll(`[data-blok-table-cell]`)))==null?[]:r:[]},Ft=(e,t,n)=>{var r;if(!e)return[];let i=e.querySelectorAll(`[${F}]`),a=[];return i.forEach(e=>{let t=e.querySelector(`[${R}="${n}"]`);t&&a.push(t)}),(r=t==null?void 0:t.getBlockIdsFromCells(a))==null?[]:r},V=(e,t)=>{e.querySelectorAll(`[${I}]`).forEach(e=>{t==null||t.ensureCellHasBlock(e)})},It=(e,n,r,i)=>{let a=e.querySelectorAll(`[${F}]`);n.forEach((e,n)=>{let o=a[n];o&&e.forEach((e,n)=>{var a;let s=o.querySelector(`[${R}="${n}"]`);if(!s)return;let c=s.querySelector(`[${U}]`);if(!c)return;let l=c.querySelectorAll(`[data-blok-id]`).length>0;if(!(!z(e)&&l)){if(!z(e)){let t=document.createElement(`div`);t.className=`leading-[1.5]`,t.innerHTML=e,c.replaceChildren(t);return}(l||((a=c.textContent)==null?``:a).length>0)&&c.replaceChildren();for(let n of e.blocks){let e=r.blocks.getBlockIndex(n);if(e===void 0)continue;let a=r.blocks.getBlockByIndex(e);if(a&&!(a.parentId!==null&&a.parentId!==void 0&&a.parentId!==i)){if(a.holder.closest(`[${t.bi.nestedBlocks}]`)){c.appendChild(a.holder.cloneNode(!0));continue}c.appendChild(a.holder)}}c.querySelectorAll(`[data-blok-placeholder-active]`).forEach(e=>{e.removeAttribute(`data-blok-placeholder-active`)}),c.querySelectorAll(`[data-placeholder]`).forEach(e=>{e.removeAttribute(`data-placeholder`)})}})})},Lt=(e,t)=>{var n,r,i,a,o,s,c;if(!(typeof e==`object`&&e&&`content`in e)){var l,u;return{withHeadings:(l=t.withHeadings)==null?!1:l,withHeadingColumn:!1,stretched:(u=t.stretched)==null?!1:u,content:[]}}let d=e,f=(n=d.content)==null||(n=n[0])==null?void 0:n.length,p=d.colWidths,m=p&&f&&p.length===f&&p.every(e=>Number.isFinite(e)&&e>0)?p:void 0;return{withHeadings:(r=(i=d.withHeadings)==null?t.withHeadings:i)==null?!1:r,withHeadingColumn:(a=d.withHeadingColumn)==null?!1:a,stretched:(o=(s=d.stretched)==null?t.stretched:s)==null?!1:o,content:(c=d.content)==null?[]:c,colWidths:m,initialColWidth:d.initialColWidth}},Rt=(e,t)=>{let n=n=>{let r=n.target.closest(`[${I}]`);if(!r)return;let i=wt(e,r);i&&(t==null||t.handleKeyDown(n,i))};return e.addEventListener(`keydown`,n),()=>{e.removeEventListener(`keydown`,n)}},zt=[`overflow-x-auto`,`overflow-y-hidden`],Bt=e=>{e==null||e.classList.add(...zt)},Vt=(e,t)=>{if(!e)return;let n=e.querySelectorAll(`[${F}]`);n.forEach(e=>{e.removeAttribute(`data-blok-table-heading`)}),t&&n.length>0&&n[0].setAttribute(`data-blok-table-heading`,``)},Ht=(e,t)=>{let n=e.querySelectorAll(`[${F}]`);t.forEach((e,t)=>{t>=n.length||e.forEach((e,r)=>{let i=n[t].querySelector(`[${R}="${r}"]`);i&&(z(e)&&e.color?i.style.backgroundColor=e.color:i.style.backgroundColor=``,z(e)&&e.textColor?i.style.color=e.textColor:i.style.color=``)})})},Ut=(e,t)=>{let n=e.querySelectorAll(`[${F}]`);t.forEach((e,t)=>{t>=n.length||e.forEach((e,r)=>{let i=n[t].querySelector(`[${R}="${r}"]`);if(!i)return;let a=i.querySelector(`[${U}]`);a&&(z(e)&&e.placement&&e.placement!==`top-left`?a.setAttribute(`data-blok-cell-placement`,e.placement):a.removeAttribute(`data-blok-cell-placement`))})})},H=(e,t)=>{e&&(e.querySelectorAll(`[${I}]`).forEach(e=>{e.removeAttribute(`data-blok-table-heading-col`)}),t&&e.querySelectorAll(`[${F}]`).forEach(e=>{let t=e.querySelector(`[${I}]`);t&&t.setAttribute(`data-blok-table-heading-col`,``)}))},U=`data-blok-table-cell-blocks`,Wt=class{constructor(e){var t;this._activeCellWithBlocks=null,this.cellsPendingCheck=new Set,this.pendingCheckScheduled=!1,this.removedBlockCells=new Map,this.deferredEvents=[],this.isExitingTable=!1,this.handleBlockMutation=e=>{if(this.isStructuralOpActive()&&!this.api.blocks.isSyncingFromYjs){this.deferredEvents.push(e);return}if(this.isExitingTable||!this.isBlockMutationEvent(e))return;let{type:t,detail:n}=e.event;if(t===`block-removed`){this.handleBlockRemoved(n);return}if(t===`block-moved`){this.handleBlockMoved(n);return}if(t!==`block-added`||n.target.id===this.tableBlockId)return;let r=this.model.findCellForBlock(n.target.id);if(r){let e=this.gridElement.querySelector(`[${L}="${r.row}"][${R}="${r.col}"]`);if(e){this.claimBlockForCell(e,n.target.id),this.cellsPendingCheck.delete(e);return}}let i=n.index;if(i===void 0)return;let a=this.findRemovedEntryForIndex(i);if(a&&this.isAdjacentToThisTable(i)){this.claimBlockForCell(a.cell,n.target.id),this.syncBlockToModel(a.cell,n.target.id),this.cellsPendingCheck.delete(a.cell);return}let o=n.target.holder,s=o.closest(`[${U}]`);s&&this.stripPlaceholders(s);let c=s&&!this.model.findCellForBlock(n.target.id)?s.closest(`[${I}]`):null;if(c&&this.syncBlockToModel(c,n.target.id),s)return;if(!this.gridElement.contains(o)){let e=this.api.blocks.getBlockIndex(this.tableBlockId),t=e===void 0?null:this.api.blocks.getBlockByIndex(e);if(t&&!t.holder.contains(o))return;let r=this.api.blocks.getCurrentBlockIndex(),a=r>=0?this.api.blocks.getBlockByIndex(r):null;if(!(a!=null&&this.getOwnedCellForBlock(a.id)!==null))return;let s=this.findCellForNewBlock(i);s&&(this.claimBlockForCell(s,n.target.id),this.syncBlockToModel(s,n.target.id),this.cellsPendingCheck.delete(s));return}let l=this.findCellForNewBlock(i);l&&(this.claimBlockForCell(l,n.target.id),this.syncBlockToModel(l,n.target.id),this.cellsPendingCheck.delete(l))},this.handleCellBlankSpaceClick=e=>{let t=e.target;if(!t)return;let n=t.hasAttribute(I),r=t.hasAttribute(U);if(!n&&!r)return;let i=n?t:t.closest(`[${I}]`);if(!i)return;let a=n?i.querySelector(`[${U}]`):t;if(!a)return;let o=a.querySelectorAll(`[data-blok-id]`),s=o[o.length-1];if(!s)return;let c=s.getAttribute(`data-blok-id`);c&&this.api.caret.setToBlock(c,`end`)},this.api=e.api,this.gridElement=e.gridElement,this.tableBlockId=e.tableBlockId,this.model=e.model,this.onNavigateToCell=e.onNavigateToCell,this.isStructuralOpActive=(t=e.isStructuralOpActive)==null?(()=>!1):t,this.api.events.on(`block changed`,this.handleBlockMutation),this.gridElement.addEventListener(`click`,this.handleCellBlankSpaceClick)}get activeCellWithBlocks(){return this._activeCellWithBlocks}setActiveCellWithBlocks(e){this._activeCellWithBlocks=e}clearActiveCellWithBlocks(){this._activeCellWithBlocks=null}handleKeyDown(e,t){if(e.key===`Tab`&&!e.shiftKey){e.preventDefault(),this.handleTabNavigation(t);return}if(e.key===`Tab`&&e.shiftKey){e.preventDefault(),this.handleShiftTabNavigation(t);return}e.key===`ArrowDown`&&!e.defaultPrevented&&t.row===this.getRowCount()-1&&(e.preventDefault(),this.exitTableForward())}handleTabNavigation(e){let t=this.findAdjacentLogicalCell(e,1);if(t){this.navigateToCell(t);return}this.exitTableForward()}handleShiftTabNavigation(e){let t=this.findAdjacentLogicalCell(e,-1);if(t){this.navigateToCell(t,!0);return}this.exitTableBackward()}findAdjacentLogicalCell(e,t){let n=this.getColumnCount(),r=this.getRowCount(),i=this.stepLogicalCell(e,t,n);return i.row<0||i.row>=r?null:this.model.isSpannedCell(i.row,i.col)?this.findAdjacentLogicalCell(i,t):i}stepLogicalCell(e,t,n){let r=e.col+t;return r>=n?{row:e.row+1,col:0}:r<0?{row:e.row-1,col:n-1}:{row:e.row,col:r}}exitTableForward(){let e=this.api.blocks.getBlockIndex(this.tableBlockId);if(e===void 0)return;let t=this.findFirstBlockAfterTable(e);if(t!==null){this.api.caret.setToBlock(t.id,`start`);return}this.isExitingTable=!0;try{let t=this.api.blocks.getBlocksCount(),n=this.api.blocks.insert(void 0,{},{},t,!0),r=this.gridElement.contains(n.holder)?this.api.blocks.getBlockByIndex(e):null;r&&r.holder.after(n.holder),this.api.caret.setToBlock(n.id,`start`)}finally{this.isExitingTable=!1}}exitTableBackward(){let e=this.api.blocks.getBlockIndex(this.tableBlockId);if(e===void 0||e===0)return;let t=this.api.blocks.getBlockByIndex(e-1);t&&this.api.caret.setToBlock(t.id,`end`)}findFirstBlockAfterTable(e){var t;let n=this.api.blocks.getBlocksCount();return(t=Array.from({length:n-e-1},(t,n)=>this.api.blocks.getBlockByIndex(e+1+n)).find(e=>e!=null&&!this.gridElement.contains(e.holder)))==null?null:t}navigateToCell(e,t=!1){var n;this.clearActiveCellWithBlocks();let r=this.getCell(e.row,e.col);if(!r)return;let i=r.querySelector(`[${U}]`);if(!i)return;let a=i.querySelectorAll(`[contenteditable="true"]`);a.length!==0&&((t?a[a.length-1]:a[0]).focus(),(n=this.onNavigateToCell)==null||n.call(this,e))}getRowCount(){return this.gridElement.querySelectorAll(`[data-blok-table-row]`).length}getColumnCount(){var e;let t=this.gridElement.querySelector(`colgroup`);if(t)return t.querySelectorAll(`col`).length;let n=this.gridElement.querySelector(`[data-blok-table-row]`);return(e=n==null?void 0:n.querySelectorAll(`[data-blok-table-cell]`).length)==null?0:e}getCell(e,t){var n;let r=this.gridElement.querySelectorAll(`[data-blok-table-row]`)[e];return r?(n=r.querySelector(`[data-blok-table-cell-col="${t}"]`))==null?null:n:null}initializeCells(e){let t=this.gridElement.querySelectorAll(`[${F}]`),r=[];return e.forEach((e,i)=>{let a=t[i];if(!a)return;let o=[];e.forEach((e,t)=>{if(z(e)&&e.mergedInto!==void 0){o.push({blocks:[],mergedInto:[...e.mergedInto]});return}let r=a.querySelector(`[${R}="${t}"]`);if(!r)return;let i=r.querySelector(`[${U}]`);if(!i)return;let s=z(e)&&e.blocks.length>0?[...e.blocks]:null,{mountedIds:c,replacements:l}=s?this.mountBlocksInCell(i,s):{mountedIds:[],replacements:new Map},u={},d={};if(z(e)&&(e.color!==void 0&&(u.color=e.color),e.textColor!==void 0&&(u.textColor=e.textColor),e.colspan!==void 0&&e.colspan>1&&(d.colspan=e.colspan),e.rowspan!==void 0&&e.rowspan>1&&(d.rowspan=e.rowspan),e.placement!==void 0&&(d.placement=e.placement)),c.length>0){let e=s==null?c:s,t=l.size>0?e.map(e=>{var t;return(t=l.get(e))==null?e:t}):e;o.push(n.t(n.t({blocks:t},u),d))}else{var f;let t=typeof e==`string`?e:(f=e.text)==null?``:f,r=t.split(/<br\s*\/?>/i).map(e=>e.trim()).filter(Boolean),a=r.length>0?r:[t],c=[];for(let e of a){let t=this.api.blocks.insert(`paragraph`,{text:e},{},this.api.blocks.getBlocksCount(),!1);i.appendChild(t.holder),this.api.blocks.setBlockParent(t.id,this.tableBlockId),c.push(t.id)}o.push(n.t(n.t({blocks:s===null?c:[...s,...c]},u),d))}this.stripPlaceholders(i)}),r.push(o)}),r}reclaimReferencedBlocks(){this.model.snapshot().content.forEach((e,t)=>{e.forEach((e,n)=>{if(!z(e)||e.blocks.length===0)return;let r=this.gridElement.querySelector(`[${L}="${t}"][${R}="${n}"]`);if(!r)return;let i=r.querySelector(`[${U}]`);if(i)for(let t of e.blocks){let e=this.api.blocks.getBlockIndex,n=this.api.blocks.getBlockByIndex;if(typeof e!=`function`||typeof n!=`function`)return;let a=e(t);if(a===void 0)continue;let o=n(a);o&&(i.contains(o.holder)||this.claimBlockForCell(r,t))}})})}stripPlaceholders(e){e.querySelectorAll(`[data-blok-placeholder-active]`).forEach(e=>{e.removeAttribute(`data-blok-placeholder-active`)}),e.querySelectorAll(`[data-placeholder]`).forEach(e=>{e.removeAttribute(`data-placeholder`)})}mountBlocksInCell(e,n){let r=[],i=new Map;for(let a of n){let n=this.api.blocks.getBlockIndex(a);if(n===void 0)continue;let o=this.api.blocks.getBlockByIndex(n);if(!o)continue;let s=o.parentId!=null&&o.parentId!==``&&o.parentId!==this.tableBlockId;if(o.holder.closest(`[${t.bi.nestedBlocks}]`)||s){let t=this.api.blocks.insert(o.name,o.preservedData,{},this.api.blocks.getBlocksCount(),!1);e.appendChild(t.holder),this.api.blocks.setBlockParent(t.id,this.tableBlockId),r.push(t.id),i.set(a,t.id);continue}e.appendChild(o.holder),this.api.blocks.setBlockParent(a,this.tableBlockId),r.push(a)}return{mountedIds:r,replacements:i}}claimBlockForCell(e,n){var r,i;let a=e.querySelector(`[${U}]`);if(!a)return;let o=this.api.blocks.getBlockIndex(n);if(o===void 0)return;let s=this.api.blocks.getBlockByIndex(o);if(!s||s.holder.contains(a))return;let c=s.parentId!=null&&s.parentId!==``&&s.parentId!==this.tableBlockId;if(s.holder.closest(`[${t.bi.nestedBlocks}]`)||c)return;let l=this.api.blocks.getBlocksCount(),u=(r=(i=Array.from({length:l-o-1},(e,t)=>this.api.blocks.getBlockByIndex(o+1+t)).find(e=>(e==null?void 0:e.holder.parentElement)===a))==null?void 0:i.holder)==null?null:r;a.insertBefore(s.holder,u),this.api.blocks.setBlockParent(n,this.tableBlockId),this.stripPlaceholders(a)}findCellForNewBlock(e){return this.findCellForAdjacentBlock(e-1)||this.findCellForAdjacentBlock(e+1)}findCellForAdjacentBlock(e){if(e<0||e>=this.api.blocks.getBlocksCount())return null;let t=this.api.blocks.getBlockByIndex(e),n=t==null?void 0:t.holder.closest(`[${I}]`);return n&&this.gridElement.contains(n)?n:null}ensureCellHasBlock(e){var t,n;let r=e.querySelector(`[${U}]`);r&&r.querySelector(`[data-blok-id]`)===null&&((t=(n=this.api.blocks).transactWithoutCapture)==null||t.call(n,()=>{let t=this.api.blocks.insert(`paragraph`,{text:``},{},this.api.blocks.getBlocksCount(),!0);r.appendChild(t.holder),this.api.blocks.setBlockParent(t.id,this.tableBlockId),this.syncBlockToModel(e,t.id),this.stripPlaceholders(r)}))}handleBlockRemoved(e){this.recordRemovedBlockCell(e);let t=e.target.id,n=this.model.findCellForBlock(t);if(!n){this.schedulePendingCellCheck();return}this.model.removeBlockFromCell(n.row,n.col,t);let r=this.getCell(n.row,n.col);r&&this.cellsPendingCheck.add(r),this.schedulePendingCellCheck()}handleBlockMoved(e){let t=e.target.id,n=this.model.findCellForBlock(t);n&&(this.gridElement.contains(e.target.holder)||this.model.removeBlockFromCell(n.row,n.col,t))}syncBlockToModel(e,t){let n=this.getCellPosition(e);n&&this.model.addBlockToCell(n.row,n.col,t)}getCellPosition(e){return wt(this.gridElement,e)}recordRemovedBlockCell(e){if(e.index===void 0)return;let t=e.target.holder.closest(`[${I}]`);t&&this.gridElement.contains(t)&&this.removedBlockCells.set(e.target.id,{cell:t,index:e.index})}findRemovedEntryForIndex(e){for(let[t,n]of this.removedBlockCells)if(n.index===e)return this.removedBlockCells.delete(t),n;return null}getOwnedCellForBlock(e){let t=this.model.findCellForBlock(e);if(!t)return null;let n=this.getCell(t.row,t.col);return n&&this.gridElement.contains(n)?n:null}isAdjacentToThisTable(e){let t=this.api.blocks.getBlocksCount();for(let n of[-1,1]){let r=e+n;if(r<0||r>=t)continue;let i=this.api.blocks.getBlockByIndex(r);if(i&&this.getOwnedCellForBlock(i.id))return!0}if(!this.isTableBlockAtPrevIndex(e))return!1;let n=e+1;if(n>=t)return!0;let r=this.api.blocks.getBlockByIndex(n);return r?this.getOwnedCellForBlock(r.id)!==null:!0}isTableBlockAtPrevIndex(e){let t=e-1;if(t<0)return!1;let n=this.api.blocks.getBlockByIndex(t);return(n==null?void 0:n.id)===this.tableBlockId}schedulePendingCellCheck(){this.pendingCheckScheduled||(this.pendingCheckScheduled=!0,queueMicrotask(()=>{if(this.pendingCheckScheduled=!1,!this.api.blocks.isSyncingFromYjs)for(let e of this.cellsPendingCheck)this.ensureCellHasBlock(e);this.cellsPendingCheck.clear(),this.removedBlockCells.clear()}))}isBlockMutationEvent(e){return typeof e==`object`&&!!e&&`event`in e&&typeof e.event==`object`&&e.event!==null}getBlockIdsFromCells(e){let t=[];return Array.from(e).forEach(e=>{let n=e.querySelector(`[${U}]`);n&&n.querySelectorAll(`[data-blok-id]`).forEach(e=>{let n=e.getAttribute(`data-blok-id`);n&&t.push(n)})}),t}deleteBlocks(e){let t=e.map(e=>this.api.blocks.getBlockIndex(e)).filter(e=>e!==void 0).sort((e,t)=>t-e),n=window.scrollY,r=t.map(e=>this.api.blocks.delete(e));Promise.all(r).then(()=>{window.scrollY!==n&&window.scrollTo(0,n)})}deleteAllBlocks(){let e=this.gridElement.querySelectorAll(`[${I}]`),t=this.getBlockIdsFromCells(e);this.deleteBlocks(t)}destroy(){this.gridElement.removeEventListener(`click`,this.handleCellBlankSpaceClick),this.api.events.off(`block changed`,this.handleBlockMutation),this._activeCellWithBlocks=null,this.cellsPendingCheck.clear(),this.removedBlockCells.clear(),this.deferredEvents.length=0}flushDeferredEvents(){let e=[...this.deferredEvents];this.deferredEvents.length=0;for(let t of e)this.handleBlockMutation(t)}discardDeferredEvents(){this.deferredEvents.length=0}},Gt=e=>!!(/^#[0-9a-f]{3,4}$/i.test(e)||/^#[0-9a-f]{6}([0-9a-f]{2})?$/i.test(e)||/^rgba?\(\s*[\d.]+\s*,\s*[\d.]+\s*,\s*[\d.]+\s*(,\s*[\d.]+\s*)?\)$/i.test(e)||/^hsla?\(\s*[\d.]+\s*,\s*[\d.]+%\s*,\s*[\d.]+%\s*(,\s*[\d.]+\s*)?\)$/i.test(e)||e===`transparent`),Kt=class{constructor(e){var t,n,r;this.withHeadingsValue=(t=e==null?void 0:e.withHeadings)==null?!1:t,this.withHeadingColumnValue=(n=e==null?void 0:e.withHeadingColumn)==null?!1:n,this.stretchedValue=(r=e==null?void 0:e.stretched)==null?!1:r,this.colWidthsValue=e!=null&&e.colWidths?[...e.colWidths]:void 0,this.initialColWidthValue=e==null?void 0:e.initialColWidth,this.contentGrid=this.normalizeContent(e==null?void 0:e.content),this.blockCellMap=new Map,this.rebuildBlockCellMap()}get rows(){return this.contentGrid.length}get cols(){return this.contentGrid.length>0?this.contentGrid[0].length:0}get withHeadings(){return this.withHeadingsValue}get withHeadingColumn(){return this.withHeadingColumnValue}get stretched(){return this.stretchedValue}get colWidths(){return this.colWidthsValue?[...this.colWidthsValue]:void 0}get initialColWidth(){return this.initialColWidthValue}snapshot(){let e={withHeadings:this.withHeadingsValue,withHeadingColumn:this.withHeadingColumnValue,stretched:this.stretchedValue,content:this.contentGrid.map(e=>e.map(e=>{let t={blocks:[...e.blocks]};return e.color!==void 0&&(t.color=e.color),e.textColor!==void 0&&(t.textColor=e.textColor),e.placement!==void 0&&(t.placement=e.placement),e.colspan!==void 0&&e.colspan>1&&(t.colspan=e.colspan),e.rowspan!==void 0&&e.rowspan>1&&(t.rowspan=e.rowspan),e.mergedInto!==void 0&&(t.mergedInto=[...e.mergedInto]),t}))};return this.colWidthsValue!==void 0&&(e.colWidths=[...this.colWidthsValue]),this.initialColWidthValue!==void 0&&(e.initialColWidth=this.initialColWidthValue),e}findCellForBlock(e){var t;return(t=this.blockCellMap.get(e))==null?null:t}addBlockToCell(e,t,n){if(!this.isInBounds(e,t)||this.isSpannedCell(e,t))return;let r=this.blockCellMap.get(n);if(r){let e=this.contentGrid[r.row][r.col];e.blocks=e.blocks.filter(e=>e!==n)}this.contentGrid[e][t].blocks.push(n),this.blockCellMap.set(n,{row:e,col:t})}removeBlockFromCell(e,t,n){if(!this.isInBounds(e,t))return;let r=this.contentGrid[e][t],i=r.blocks.indexOf(n);i!==-1&&(r.blocks.splice(i,1),this.blockCellMap.delete(n))}setCellBlocks(e,t,n){if(this.isInBounds(e,t)&&!this.isSpannedCell(e,t)){for(let n of this.contentGrid[e][t].blocks)this.blockCellMap.delete(n);for(let r of n){let n=this.blockCellMap.get(r);if(n!==void 0&&(n.row!==e||n.col!==t)){let e=this.contentGrid[n.row][n.col];e.blocks=e.blocks.filter(e=>e!==r)}}this.contentGrid[e][t].blocks=[...n];for(let r of n)this.blockCellMap.set(r,{row:e,col:t})}}getCellBlocks(e,t){return this.isInBounds(e,t)?[...this.contentGrid[e][t].blocks]:[]}setCellColor(e,t,n){this.isInBounds(e,t)&&(this.isSpannedCell(e,t)||(n===void 0?delete this.contentGrid[e][t].color:Gt(n)&&(this.contentGrid[e][t].color=n)))}getCellColor(e,t){if(this.isInBounds(e,t))return this.contentGrid[e][t].color}setCellTextColor(e,t,n){this.isInBounds(e,t)&&(this.isSpannedCell(e,t)||(n===void 0?delete this.contentGrid[e][t].textColor:Gt(n)&&(this.contentGrid[e][t].textColor=n)))}getCellTextColor(e,t){if(this.isInBounds(e,t))return this.contentGrid[e][t].textColor}setCellPlacement(e,t,n){this.isInBounds(e,t)&&(this.isSpannedCell(e,t)||(n===void 0?delete this.contentGrid[e][t].placement:this.contentGrid[e][t].placement=n))}getCellPlacement(e,t){if(this.isInBounds(e,t))return this.contentGrid[e][t].placement}addRow(e){let t=e===void 0?this.contentGrid.length:Math.min(Math.max(0,e),this.contentGrid.length),n=this.cols,r=Array.from({length:n},()=>({blocks:[]}));return this.contentGrid.splice(t,0,r),this.shiftMergedIntoRows(t,1),this.expandSpansForInsertedRow(t),this.rebuildBlockCellMap(),{type:`add-row`,index:t,cellsToPopulate:n}}deleteRow(e){if(!this.isRowInBounds(e))return{type:`delete-row`,index:e,blocksToDelete:[]};this.contractSpansForDeletedRow(e);let t=this.collectBlocksInRow(e);this.contentGrid.splice(e,1);for(let e of t)this.blockCellMap.delete(e);return this.shiftMergedIntoRows(e,-1),this.rebuildBlockCellMap(),{type:`delete-row`,index:e,blocksToDelete:t}}moveRow(e,t){if(!this.isRowInBounds(e)||!this.isRowInBounds(t)||e===t||this.isRowInvolvedInMerge(e))return{type:`move-row`,index:e,toIndex:t};let[n]=this.contentGrid.splice(e,1);return this.contentGrid.splice(t,0,n),this.rebuildMergedIntoRowCoordinates(e,t),this.rebuildBlockCellMap(),{type:`move-row`,index:e,toIndex:t}}addColumn(e,t){let n=e===void 0?this.cols:Math.min(Math.max(0,e),this.cols),r=[];if(this.contentGrid.forEach((e,t)=>{e.splice(n,0,{blocks:[]}),r.push({row:t,col:n})}),this.colWidthsValue!==void 0){let e=t==null?0:t;this.colWidthsValue.splice(n,0,e)}return this.shiftMergedIntoCols(n,1),this.expandSpansForInsertedCol(n),this.rebuildBlockCellMap(),{type:`add-column`,index:n,cellsToPopulate:r}}deleteColumn(e){var t;if(!this.isColInBounds(e))return{type:`delete-column`,index:e,blocksToDelete:[]};this.contractSpansForDeletedCol(e);let n=this.collectBlocksInColumn(e);for(let t of this.contentGrid)t.splice(e,1);for(let e of n)this.blockCellMap.delete(e);return this.colWidthsValue!==void 0&&this.colWidthsValue.splice(e,1),((t=this.colWidthsValue)==null?void 0:t.length)===0&&(this.colWidthsValue=void 0),this.shiftMergedIntoCols(e,-1),this.rebuildBlockCellMap(),{type:`delete-column`,index:e,blocksToDelete:n}}moveColumn(e,t){if(!this.isColInBounds(e)||!this.isColInBounds(t)||e===t||this.isColInvolvedInMerge(e))return{type:`move-column`,index:e,toIndex:t};for(let n of this.contentGrid){let[r]=n.splice(e,1);n.splice(t,0,r)}if(this.colWidthsValue!==void 0){let[n]=this.colWidthsValue.splice(e,1);this.colWidthsValue.splice(t,0,n)}return this.rebuildMergedIntoColCoordinates(e,t),this.rebuildBlockCellMap(),{type:`move-column`,index:e,toIndex:t}}replaceAll(e){var t;this.withHeadingsValue=e.withHeadings,this.withHeadingColumnValue=e.withHeadingColumn,this.stretchedValue=(t=e.stretched)==null?!1:t,this.colWidthsValue=e.colWidths?[...e.colWidths]:void 0,this.initialColWidthValue=e.initialColWidth,this.contentGrid=this.normalizeContent(e.content),this.blockCellMap.clear(),this.rebuildBlockCellMap()}canMergeCells(e){let{minRow:t,maxRow:n,minCol:r,maxCol:i}=e;return t===n&&r===i||t<0||n>=this.rows||r<0||i>=this.cols?!1:this.contentGrid.slice(t,n+1).every((e,a)=>{let o=t+a;return e.slice(r,i+1).every((e,a)=>{var s,c;let l=r+a,u=(s=e.colspan)==null?1:s,d=(c=e.rowspan)==null?1:c;if((u>1||d>1)&&(o+d-1>n||l+u-1>i))return!1;if(e.mergedInto!==void 0){let[n,i]=e.mergedInto;if(n<t||i<r)return!1}return!0})})}mergeCells(e){var t,n;let{minRow:r,maxRow:i,minCol:a,maxCol:o}=e,s={blocksToRelocate:[]};if(!this.canMergeCells(e))return s;let c=this.contentGrid[r][a];this.contentGrid.slice(r,i+1).forEach((e,t)=>{let n=r+t;e.slice(a,o+1).forEach((e,t)=>{var i,o;let s=a+t;n===r&&s===a||(((i=e.colspan)==null?1:i)>1||((o=e.rowspan)==null?1:o)>1)&&this.splitCellInternal(n,s)})}),(((t=c.colspan)==null?1:t)>1||((n=c.rowspan)==null?1:n)>1)&&this.splitCellInternal(r,a);let l=[];return this.contentGrid.slice(r,i+1).forEach((e,t)=>{let n=r+t;this.contentGrid[n].slice(a,o+1).forEach((e,t)=>{let i=a+t,o=this.contentGrid[n][i];for(let e of o.blocks)l.push(e),(n!==r||i!==a)&&s.blocksToRelocate.push(e);(n!==r||i!==a)&&(o.blocks=[],o.mergedInto=[r,a],delete o.colspan,delete o.rowspan,delete o.color,delete o.textColor,delete o.placement)})}),c.blocks=l,c.colspan=o-a+1,c.rowspan=i-r+1,delete c.mergedInto,delete c.placement,c.colspan===1&&delete c.colspan,c.rowspan===1&&delete c.rowspan,this.rebuildBlockCellMap(),s}splitCell(e,t){var n,r;if(!this.isInBounds(e,t))return;let i=this.contentGrid[e][t];((n=i.colspan)==null?1:n)<=1&&((r=i.rowspan)==null?1:r)<=1||(this.splitCellInternal(e,t),this.rebuildBlockCellMap())}isMergedCell(e,t){var n,r;if(!this.isInBounds(e,t))return!1;let i=this.contentGrid[e][t];return((n=i.colspan)==null?1:n)>1||((r=i.rowspan)==null?1:r)>1}isSpannedCell(e,t){return this.isInBounds(e,t)?this.contentGrid[e][t].mergedInto!==void 0:!1}getMergeOrigin(e,t){var n,r;if(!this.isInBounds(e,t))return null;let i=this.contentGrid[e][t];return i.mergedInto===void 0?((n=i.colspan)==null?1:n)>1||((r=i.rowspan)==null?1:r)>1?[e,t]:null:[i.mergedInto[0],i.mergedInto[1]]}hasMerges(){return this.contentGrid.some(e=>e.some(e=>{var t,n;return((t=e.colspan)==null?1:t)>1||((n=e.rowspan)==null?1:n)>1||e.mergedInto!==void 0}))}getCellSpan(e,t){var n,r;if(!this.isInBounds(e,t))return{colspan:1,rowspan:1};let i=this.contentGrid[e][t];return{colspan:(n=i.colspan)==null?1:n,rowspan:(r=i.rowspan)==null?1:r}}splitCellInternal(e,t){var n,r;let i=this.contentGrid[e][t],a=(n=i.colspan)==null?1:n,o=(r=i.rowspan)==null?1:r;this.contentGrid.slice(e,Math.min(e+o,this.rows)).forEach((n,r)=>{let i=e+r;this.contentGrid[i].slice(t,Math.min(t+a,this.cols)).forEach((n,r)=>{let a=t+r;if(i===e&&a===t)return;let o=this.contentGrid[i][a];delete o.mergedInto,o.blocks=[],delete o.placement,delete o.color,delete o.textColor})}),delete i.colspan,delete i.rowspan,delete i.placement}setWithHeadings(e){this.withHeadingsValue=e}setWithHeadingColumn(e){this.withHeadingColumnValue=e}setStretched(e){this.stretchedValue=e}setColWidths(e){this.colWidthsValue=e?[...e]:void 0}setInitialColWidth(e){this.initialColWidthValue=e}validateInvariants(){if(this.contentGrid.length>0){let e=this.contentGrid[0].length;this.contentGrid.forEach((t,n)=>{if(t.length!==e)throw Error(`Invariant violation: row ${n} has ${t.length} columns, expected ${e}`)})}if(this.colWidthsValue!==void 0&&this.contentGrid.length>0&&this.colWidthsValue.length!==this.contentGrid[0].length)throw Error(`Invariant violation: colWidths has ${this.colWidthsValue.length} entries but grid has ${this.contentGrid[0].length} columns`);let e=new Set;if(this.contentGrid.forEach((t,n)=>{t.forEach((t,r)=>{for(let i of t.blocks){if(e.has(i))throw Error(`Invariant violation: block "${i}" appears in multiple cells`);e.add(i);let t=this.blockCellMap.get(i);if(!t)throw Error(`Invariant violation: block "${i}" at [${n},${r}] not in blockCellMap`);if(t.row!==n||t.col!==r)throw Error(`Invariant violation: block "${i}" at [${n},${r}] mapped to [${t.row},${t.col}]`)}})}),this.contentGrid.forEach((e,t)=>{e.forEach((e,n)=>{var r,i;let a=(r=e.colspan)==null?1:r,o=(i=e.rowspan)==null?1:i;if(a>1||o>1){var s,c;if(t+o>this.contentGrid.length||n+a>((s=(c=this.contentGrid[0])==null?void 0:c.length)==null?0:s)){var l,u;throw Error(`Invariant violation: origin [${t},${n}] span extends beyond grid bounds (colspan=${a}, rowspan=${o}, rows=${this.contentGrid.length}, cols=${(l=(u=this.contentGrid[0])==null?void 0:u.length)==null?0:l})`)}}})}),this.contentGrid.forEach((e,t)=>{e.forEach((e,n)=>{var r,i,a,o;if(e.mergedInto===void 0)return;let[s,c]=e.mergedInto;if(s<0||s>=this.contentGrid.length||c<0||c>=((r=(i=this.contentGrid[0])==null?void 0:i.length)==null?0:r))throw Error(`Invariant violation: mergedInto at [${t},${n}] points to out-of-bounds [${s},${c}]`);let l=this.contentGrid[s][c],u=(a=l.colspan)==null?1:a,d=(o=l.rowspan)==null?1:o;if(u<=1&&d<=1)throw Error(`Invariant violation: mergedInto at [${t},${n}] points to [${s},${c}] which is not a merge origin`);if(t<s||t>=s+d||n<c||n>=c+u)throw Error(`Invariant violation: mergedInto at [${t},${n}] is outside the span of origin [${s},${c}] (colspan=${u}, rowspan=${d})`)})}),this.contentGrid.forEach((e,t)=>{e.forEach((e,n)=>{var r,i;let a=(r=e.colspan)==null?1:r,o=(i=e.rowspan)==null?1:i;a<=1&&o<=1||this.contentGrid.slice(t,t+o).forEach((e,r)=>{let i=t+r;e.slice(n,n+a).forEach((e,r)=>{let a=n+r;if(!(i===t&&a===n)&&!(e!=null&&e.mergedInto))throw Error(`Invariant violation: cell [${i},${a}] is within span of origin [${t},${n}] but has no mergedInto`)})})})}),this.blockCellMap.size!==e.size)throw Error(`Invariant violation: blockCellMap has ${this.blockCellMap.size} entries but grid has ${e.size} blocks`)}shiftMergedIntoRows(e,t){this.contentGrid.forEach((n,r)=>{this.contentGrid[r].forEach((n,i)=>{let a=this.contentGrid[r][i];a.mergedInto!==void 0&&a.mergedInto[0]>=e&&(a.mergedInto=[a.mergedInto[0]+t,a.mergedInto[1]])})})}shiftMergedIntoCols(e,t){this.contentGrid.forEach((n,r)=>{this.contentGrid[r].forEach((n,i)=>{let a=this.contentGrid[r][i];a.mergedInto!==void 0&&a.mergedInto[1]>=e&&(a.mergedInto=[a.mergedInto[0],a.mergedInto[1]+t])})})}expandSpansForInsertedRow(e){this.contentGrid.forEach((t,n)=>{this.contentGrid[n].forEach((t,r)=>{var i,a;let o=this.contentGrid[n][r],s=(i=o.rowspan)==null?1:i,c=(a=o.colspan)==null?1:a;s<=1&&c<=1||n>=e||n+s<=e||(o.rowspan=s+1,this.markInsertedRowCells(e,n,r,c))})})}markInsertedRowCells(e,t,n,r){this.contentGrid[e].slice(n,n+r).forEach((r,i)=>{let a=n+i;if(a===n&&t===e)return;let o=this.contentGrid[e][a];o.mergedInto=[t,n],o.blocks=[]})}expandSpansForInsertedCol(e){this.contentGrid.forEach((t,n)=>{this.contentGrid[n].forEach((t,r)=>{var i,a;let o=this.contentGrid[n][r],s=(i=o.rowspan)==null?1:i,c=(a=o.colspan)==null?1:a;s<=1&&c<=1||r>=e||r+c<=e||(o.colspan=c+1,this.markInsertedColCells(e,n,r,s))})})}markInsertedColCells(e,t,n,r){this.contentGrid.slice(t,t+r).forEach((r,i)=>{let a=t+i;if(a===t&&e===n)return;let o=this.contentGrid[a][e];o.mergedInto=[t,n],o.blocks=[]})}contractSpansForDeletedRow(e){this.contentGrid[e].forEach((t,n)=>{var r,i;let a=this.contentGrid[e][n];((r=a.colspan)==null?1:r)>1||((i=a.rowspan)==null?1:i)>1?this.handleOriginInDeletedRow(e,n):a.mergedInto!==void 0&&this.handleCoveredInDeletedRow(e,n)})}handleOriginInDeletedRow(e,t){var n,r;let i=this.contentGrid[e][t],a=(n=i.rowspan)==null?1:n,o=(r=i.colspan)==null?1:r;if(a<=1)return;let s=a-1,c=e+1;c<this.contentGrid.length&&this.transferOriginToNextRow(e,t,c,a,o,s),delete i.colspan,delete i.rowspan}transferOriginToNextRow(e,t,n,r,i,a){let o=this.contentGrid[e][t],s=this.contentGrid[n][t];if(s.blocks=[...o.blocks],o.blocks=[],delete s.mergedInto,a===1&&i===1){delete s.colspan,delete s.rowspan,this.clearMergedIntoRefs(n,e+r,t,t+i,e,t,n,t,void 0);return}a>1?s.rowspan=a:delete s.rowspan,i>1?s.colspan=i:delete s.colspan,this.clearMergedIntoRefs(n,e+r,t,t+i,e,t,n,t,[n,t])}handleCoveredInDeletedRow(e,t){var n,r,i;let[a,o]=this.contentGrid[e][t].mergedInto;if(a===e)return;let s=(n=this.contentGrid[a])==null?void 0:n[o];if(!s)return;let c=(r=s.rowspan)==null?1:r,l=(i=s.colspan)==null?1:i,u=c-1;u===1&&l===1?(delete s.colspan,delete s.rowspan,this.clearMergedIntoRefsForDissolve(a,a+c,o,o+l,a,o,e)):u>1?s.rowspan=u:delete s.rowspan}clearMergedIntoRefs(e,t,n,r,i,a,o,s,c){this.contentGrid.slice(e,t).forEach((t,l)=>{let u=e+l;this.contentGrid[u].slice(n,r).forEach((e,t)=>{var r,l,d;let f=n+t;if(u===o&&f===s)return;let p=(r=this.contentGrid[u])==null?void 0:r[f];(p==null||(l=p.mergedInto)==null?void 0:l[0])===i&&(p==null||(d=p.mergedInto)==null?void 0:d[1])===a&&(c===void 0?delete p.mergedInto:p.mergedInto=c)})})}clearMergedIntoRefsForDissolve(e,t,n,r,i,a,o){this.contentGrid.slice(e,t).forEach((t,s)=>{let c=e+s;c!==o&&this.contentGrid[c].slice(n,r).forEach((e,t)=>{var r;let o=n+t;if(c===i&&o===a)return;let s=(r=this.contentGrid[c])==null?void 0:r[o];s!=null&&s.mergedInto&&delete s.mergedInto})})}contractSpansForDeletedCol(e){this.contentGrid.forEach((t,n)=>{var r,i;let a=this.contentGrid[n][e];((r=a.colspan)==null?1:r)>1||((i=a.rowspan)==null?1:i)>1?this.handleOriginInDeletedCol(e,n):a.mergedInto!==void 0&&this.handleCoveredInDeletedCol(e,n)})}handleOriginInDeletedCol(e,t){var n,r,i,a;let o=this.contentGrid[t][e],s=(n=o.rowspan)==null?1:n,c=(r=o.colspan)==null?1:r;if(c<=1)return;let l=c-1,u=e+1;u<((i=(a=this.contentGrid[t])==null?void 0:a.length)==null?0:i)&&this.transferOriginToNextCol(e,t,u,s,c,l),delete o.colspan,delete o.rowspan}transferOriginToNextCol(e,t,n,r,i,a){let o=this.contentGrid[t][e],s=this.contentGrid[t][n];if(s.blocks=[...o.blocks],o.blocks=[],delete s.mergedInto,a===1&&r===1){delete s.colspan,delete s.rowspan,this.clearMergedIntoRefs(t,t+r,n,e+i,t,e,t,n,void 0);return}a>1?s.colspan=a:delete s.colspan,r>1?s.rowspan=r:delete s.rowspan,this.clearMergedIntoRefs(t,t+r,n,e+i,t,e,t,n,[t,n])}handleCoveredInDeletedCol(e,t){var n,r,i;let[a,o]=this.contentGrid[t][e].mergedInto;if(o===e)return;let s=(n=this.contentGrid[a])==null?void 0:n[o];if(!s)return;let c=(r=s.colspan)==null?1:r,l=(i=s.rowspan)==null?1:i,u=c-1;u===1&&l===1?(delete s.colspan,delete s.rowspan,this.clearMergedIntoRefsForDissolveCol(a,a+l,o,o+c,a,o,e)):u>1?s.colspan=u:delete s.colspan}clearMergedIntoRefsForDissolveCol(e,t,n,r,i,a,o){this.contentGrid.slice(e,t).forEach((t,s)=>{let c=e+s;this.contentGrid[c].slice(n,r).forEach((e,t)=>{var r;let s=n+t;if(c===i&&s===a||s===o)return;let l=(r=this.contentGrid[c])==null?void 0:r[s];l!=null&&l.mergedInto&&delete l.mergedInto})})}isRowInvolvedInMerge(e){return this.contentGrid[e].some(t=>{var n;return((n=t.rowspan)==null?1:n)>1?!0:t.mergedInto!==void 0&&t.mergedInto[0]!==e})}isColInvolvedInMerge(e){return this.contentGrid.some(t=>{var n;let r=t[e];return((n=r.colspan)==null?1:n)>1?!0:r.mergedInto!==void 0&&r.mergedInto[1]!==e})}rebuildMergedIntoRowCoordinates(e,t){let n=this.contentGrid.length,r=this.buildMoveMapping(n,e,t);this.contentGrid.forEach((e,t)=>{this.contentGrid[t].forEach((e,n)=>{let i=this.contentGrid[t][n];i.mergedInto!==void 0&&(i.mergedInto=[r[i.mergedInto[0]],i.mergedInto[1]])})})}rebuildMergedIntoColCoordinates(e,t){let n=this.cols,r=this.buildMoveMapping(n,e,t);this.contentGrid.forEach((e,t)=>{this.contentGrid[t].forEach((e,n)=>{let i=this.contentGrid[t][n];if(i.mergedInto!==void 0){let e=i.mergedInto[1];i.mergedInto=[i.mergedInto[0],r[e]]}})})}buildMoveMapping(e,t,n){return Array.from({length:e},(e,r)=>{if(r===t)return n;let i=r>t?r-1:r;return i>=n?i+1:i})}normalizeContent(e){if(!e||!Array.isArray(e))return[];let t=new Set;return e.map(e=>(e==null?[]:e).map(e=>{let n=this.normalizeCell(e);return n.blocks=n.blocks.filter(e=>t.has(e)?!1:(t.add(e),!0)),n}))}normalizeCell(e){if(z(e)){let t={blocks:[...e.blocks]};return e.color!==void 0&&Gt(e.color)&&(t.color=e.color),e.textColor!==void 0&&Gt(e.textColor)&&(t.textColor=e.textColor),e.placement!==void 0&&(t.placement=e.placement),e.colspan!==void 0&&e.colspan>1&&(t.colspan=e.colspan),e.rowspan!==void 0&&e.rowspan>1&&(t.rowspan=e.rowspan),e.mergedInto!==void 0&&(t.mergedInto=[...e.mergedInto]),t}return{blocks:[]}}rebuildBlockCellMap(){this.blockCellMap.clear(),this.contentGrid.forEach((e,t)=>{e.forEach((e,n)=>{for(let r of e.blocks)this.blockCellMap.set(r,{row:t,col:n})})})}isInBounds(e,t){return e>=0&&e<this.contentGrid.length&&t>=0&&(this.contentGrid.length===0||t<this.contentGrid[e].length)}isRowInBounds(e){return e>=0&&e<this.contentGrid.length}isColInBounds(e){return e>=0&&this.contentGrid.length>0&&e<this.contentGrid[0].length}collectBlocksInRow(e){let t=[];for(let n of this.contentGrid[e])t.push(...n.blocks);return t}collectBlocksInColumn(e){let t=[];for(let n of this.contentGrid)e<n.length&&t.push(...n[e].blocks);return t}},qt=`data-blok-table-add-row`,Jt=`data-blok-table-add-col`,Yt=150,Xt=5,Zt=40,Qt=[`flex`,`items-center`,`justify-center`,`transition-opacity`,`duration-150`],$t=[`flex`,`items-center`,`justify-center`,`border`,`border-gray-300`,`rounded-sm`,`group-hover/add:bg-gray-50`],en=`12`,tn=class{constructor(e){this.rowHideTimeout=null,this.colHideTimeout=null,this.rowVisible=!1,this.colVisible=!1,this.interactive=!0,this.dragState=null,this.scrollContainer=null,this.boundScrollHandler=null,this.scrollContainerResizeObserver=null,this.wrapper=e.wrapper,this.grid=e.grid,this.i18n=e.i18n,this.boundAddRowClick=e.onAddRow,this.boundAddColClick=e.onAddColumn,this.onDragStart=e.onDragStart,this.onDragAddRow=e.onDragAddRow,this.onDragRemoveRow=e.onDragRemoveRow,this.onDragAddCol=e.onDragAddCol,this.onDragRemoveCol=e.onDragRemoveCol,this.onDragEnd=e.onDragEnd,this.getTableSize=e.getTableSize,this.getNewColumnWidth=e.getNewColumnWidth,this.boundMouseMove=this.handleMouseMove.bind(this),this.boundDocumentMouseMove=this.handleDocumentMouseMove.bind(this),this.boundMouseLeave=this.handleMouseLeave.bind(this),this.boundPointerMove=this.handlePointerMove.bind(this),this.boundPointerUp=this.handlePointerUp.bind(this),this.boundPointerCancel=this.handlePointerCancel.bind(this),this.boundRowPointerDown=e=>this.handlePointerDown(`row`,e),this.boundColPointerDown=e=>this.handlePointerDown(`col`,e),this.addRowBtn=this.createAddRowButton(),this.addColBtn=this.createAddColumnButton(),this.wrapper.appendChild(this.addRowBtn),this.wrapper.appendChild(this.addColBtn),this.syncRowButtonWidth(),this.wrapper.addEventListener(`mousemove`,this.boundMouseMove),this.wrapper.addEventListener(`mouseleave`,this.boundMouseLeave),document.addEventListener(`mousemove`,this.boundDocumentMouseMove),this.addRowBtn.addEventListener(`pointerdown`,this.boundRowPointerDown),this.addColBtn.addEventListener(`pointerdown`,this.boundColPointerDown)}computeVisibleWidth(e,t,n){if(!t||n===null)return e;let r=this.wrapper.getBoundingClientRect();if(r.width>0){let e=this.grid.getBoundingClientRect(),t=n.getBoundingClientRect();return Math.min(e.right,t.right)-r.left}return n.clientWidth>0?Math.min(e,n.clientWidth):e}syncRowButtonWidth(){let e=this.grid.style.width;if(e&&e.endsWith(`px`)){let t=parseFloat(e),n=this.grid.parentElement,r=n!==null&&n!==this.wrapper,i=this.computeVisibleWidth(t,r,n);this.addRowBtn.style.width=`${i}px`,this.addRowBtn.style.right=``,this.addRowBtn.style.left=`0px`,this.addRowBtn.style.transform=``,this.addColBtn.style.left=`${i+4}px`,this.addColBtn.style.right=``}else{this.addRowBtn.style.width=``,this.addRowBtn.style.left=`0px`,this.addRowBtn.style.transform=``;let e=parseFloat(getComputedStyle(this.wrapper).paddingRight)||0;this.addRowBtn.style.right=`${e}px`,this.addColBtn.style.left=``,this.addColBtn.style.right=`${e-36}px`}let t=this.grid.getBoundingClientRect(),n=this.wrapper.getBoundingClientRect(),r=t.height;if(r>0){this.addColBtn.style.height=`${r}px`,this.addColBtn.style.bottom=``;let e=t.bottom-n.top;this.addRowBtn.style.top=`${e+4}px`,this.addRowBtn.style.bottom=``}else this.addColBtn.style.height=``,this.addColBtn.style.bottom=`0px`,this.addRowBtn.style.top=``,this.addRowBtn.style.bottom=`-36px`}setDisplay(e){let t=e?``:`none`;this.addRowBtn.style.display=t,this.addColBtn.style.display=t}setInteractive(e){if(this.interactive=e,!e){this.addRowBtn.style.pointerEvents=`none`,this.addColBtn.style.pointerEvents=`none`;return}this.addRowBtn.style.pointerEvents=this.rowVisible?``:`none`,this.addColBtn.style.pointerEvents=this.colVisible?``:`none`}attachScrollContainer(e){var t;this.scrollContainer&&this.boundScrollHandler&&this.scrollContainer.removeEventListener(`scroll`,this.boundScrollHandler),(t=this.scrollContainerResizeObserver)==null||t.disconnect(),this.scrollContainer=e,this.boundScrollHandler=()=>{this.syncRowButtonWidth()},e.addEventListener(`scroll`,this.boundScrollHandler,{passive:!0}),this.scrollContainerResizeObserver=new ResizeObserver(()=>{this.syncRowButtonWidth()}),this.scrollContainerResizeObserver.observe(e)}destroy(){var e;if(this.scrollContainer&&this.boundScrollHandler&&(this.scrollContainer.removeEventListener(`scroll`,this.boundScrollHandler),this.scrollContainer=null,this.boundScrollHandler=null),(e=this.scrollContainerResizeObserver)==null||e.disconnect(),this.scrollContainerResizeObserver=null,this.wrapper.removeEventListener(`mousemove`,this.boundMouseMove),this.wrapper.removeEventListener(`mouseleave`,this.boundMouseLeave),document.removeEventListener(`mousemove`,this.boundDocumentMouseMove),this.addRowBtn.removeEventListener(`pointerdown`,this.boundRowPointerDown),this.addColBtn.removeEventListener(`pointerdown`,this.boundColPointerDown),this.dragState){let e=this.dragState.axis===`row`?this.addRowBtn:this.addColBtn;e.removeEventListener(`pointermove`,this.boundPointerMove),e.removeEventListener(`pointerup`,this.boundPointerUp),e.removeEventListener(`pointercancel`,this.boundPointerCancel),document.body.style.cursor=``,this.dragState=null}this.clearRowTimeout(),this.clearColTimeout(),this.addRowBtn.remove(),this.addColBtn.remove()}showDimensionTooltip(){if(!this.dragState)return;let e=this.getTableSize(),n=this.dragState.axis===`row`?this.addRowBtn:this.addColBtn,r=this.dragState.axis===`row`?{placement:`bottom`,marginTop:-16}:{placement:`bottom`};t.fr(n,`${e.cols}\u00D7${e.rows}`,r)}handlePointerDown(e,t){t.preventDefault();let n=e===`row`?this.addRowBtn:this.addColBtn;n.setPointerCapture(t.pointerId);let r=this.measureUnitSize(e);this.dragState={axis:e,startPos:e===`row`?t.clientY:t.clientX,unitSize:r,addedCount:0,pointerId:t.pointerId,didDrag:!1},n.addEventListener(`pointermove`,this.boundPointerMove),n.addEventListener(`pointerup`,this.boundPointerUp),n.addEventListener(`pointercancel`,this.boundPointerCancel)}handlePointerMove(e){if(!this.dragState)return;let{axis:t,startPos:n,unitSize:r}=this.dragState,i=(t===`row`?e.clientY:e.clientX)-n,a=Math.floor(i/r);for(;this.dragState.addedCount<a&&(t===`row`?this.onDragAddRow():this.onDragAddCol());)this.dragState.addedCount++;for(;this.dragState.addedCount>a&&(t===`row`?this.onDragRemoveRow():this.onDragRemoveCol());)this.dragState.addedCount--;if(Math.abs(i)>Xt&&!this.dragState.didDrag){this.dragState.didDrag=!0,document.body.style.cursor=t===`row`?`row-resize`:`col-resize`,this.showDimensionTooltip(),this.onDragStart();return}this.dragState.didDrag&&this.showDimensionTooltip(),this.dragState.didDrag&&this.showDimensionTooltip()}handlePointerUp(e){if(!this.dragState)return;let{axis:n,pointerId:r,didDrag:i}=this.dragState,a=n===`row`?this.addRowBtn:this.addColBtn;if(a.releasePointerCapture(r),a.removeEventListener(`pointermove`,this.boundPointerMove),a.removeEventListener(`pointerup`,this.boundPointerUp),a.removeEventListener(`pointercancel`,this.boundPointerCancel),document.body.style.cursor=``,t.ur(),this.dragState=null,!i){(n===`row`?this.boundAddRowClick:this.boundAddColClick)();return}this.onDragEnd()}handlePointerCancel(e){if(!this.dragState)return;let{axis:n,didDrag:r}=this.dragState,i=n===`row`?this.addRowBtn:this.addColBtn;i.removeEventListener(`pointermove`,this.boundPointerMove),i.removeEventListener(`pointerup`,this.boundPointerUp),i.removeEventListener(`pointercancel`,this.boundPointerCancel),document.body.style.cursor=``,t.ur(),this.dragState=null,r&&this.onDragEnd()}measureUnitSize(e){if(e===`row`){let e=this.grid.querySelectorAll(`[data-blok-table-row]`),t=e[e.length-1];return(t==null?void 0:t.offsetHeight)||30}if(this.getNewColumnWidth)return this.getNewColumnWidth()||100;let t=this.grid.querySelector(`[data-blok-table-row]`);if(!t)return 100;let n=t.querySelectorAll(`[data-blok-table-cell]`),r=n[n.length-1];return(r==null?void 0:r.offsetWidth)||100}handleMouseMove(e){let t=this.grid.getBoundingClientRect(),n=this.grid.parentElement,r=n!==null&&n!==this.wrapper?Math.min(t.right,n.getBoundingClientRect().right):t.right,i=Math.abs(e.clientY-t.bottom),a=Math.abs(e.clientX-r);i<=Zt?this.showRow():this.scheduleHideRow(),a<=Zt?this.showCol():this.scheduleHideCol()}handleMouseLeave(){this.scheduleHideRow(),this.scheduleHideCol()}handleDocumentMouseMove(e){if(this.wrapper.contains(e.target))return;let t=this.grid.getBoundingClientRect(),n=Zt;e.clientX>=t.left-n&&e.clientX<=t.right+n&&e.clientY>=t.top-n&&e.clientY<=t.bottom+n?this.handleMouseMove(e):(this.scheduleHideRow(),this.scheduleHideCol())}showRow(){this.clearRowTimeout(),this.rowVisible||(this.addRowBtn.style.opacity=`1`,this.addRowBtn.style.pointerEvents=this.interactive?``:`none`,this.rowVisible=!0)}showCol(){this.clearColTimeout(),this.colVisible||(this.addColBtn.style.opacity=`1`,this.addColBtn.style.pointerEvents=this.interactive?``:`none`,this.colVisible=!0)}scheduleHideRow(){var e;!this.rowVisible||this.rowHideTimeout!==null||((e=this.dragState)==null?void 0:e.axis)===`row`||(this.rowHideTimeout=setTimeout(()=>{this.addRowBtn.style.opacity=`0`,this.addRowBtn.style.pointerEvents=`none`,this.rowVisible=!1,this.rowHideTimeout=null},Yt))}scheduleHideCol(){var e;!this.colVisible||this.colHideTimeout!==null||((e=this.dragState)==null?void 0:e.axis)===`col`||(this.colHideTimeout=setTimeout(()=>{this.addColBtn.style.opacity=`0`,this.addColBtn.style.pointerEvents=`none`,this.colVisible=!1,this.colHideTimeout=null},Yt))}clearRowTimeout(){this.rowHideTimeout!==null&&(clearTimeout(this.rowHideTimeout),this.rowHideTimeout=null)}clearColTimeout(){this.colHideTimeout!==null&&(clearTimeout(this.colHideTimeout),this.colHideTimeout=null)}createAddRowButton(){let e=document.createElement(`div`);e.className=r.n(Qt,`group/add`,`items-start`,`cursor-row-resize`),e.setAttribute(qt,``),e.setAttribute(`contenteditable`,`false`),e.style.opacity=`0`,e.style.pointerEvents=`none`,e.style.position=`absolute`,e.style.left=`0`,e.style.bottom=`-36px`,e.style.zIndex=`1`,e.style.height=`32px`;let n=document.createElement(`div`);return n.className=r.n($t),n.style.width=`100%`,n.style.height=`16px`,this.appendIcon(n),e.appendChild(n),t.dr(e,t.h([this.i18n.t(`tools.table.clickToAddRow`),this.i18n.t(`tools.table.dragToAddRemoveRows`)]),{placement:`bottom`,marginTop:-16}),e}createAddColumnButton(){let e=document.createElement(`div`);e.className=r.n(Qt,`group/add`,`justify-start`,`cursor-col-resize`),e.setAttribute(Jt,``),e.setAttribute(`contenteditable`,`false`),e.style.opacity=`0`,e.style.pointerEvents=`none`,e.style.position=`absolute`,e.style.right=`-36px`,e.style.top=`0px`,e.style.bottom=`0px`,e.style.width=`32px`;let n=document.createElement(`div`);return n.className=r.n($t),n.style.width=`16px`,n.style.height=`100%`,this.appendIcon(n),e.appendChild(n),t.dr(e,t.h([this.i18n.t(`tools.table.clickToAddColumn`),this.i18n.t(`tools.table.dragToAddRemoveColumns`)]),{placement:`bottom`}),e}appendIcon(e){e.insertAdjacentHTML(`beforeend`,t.fn);let n=e.querySelector(`svg`);n&&(n.setAttribute(`width`,en),n.setAttribute(`height`,en),n.setAttribute(`viewBox`,`0 0 24 24`),n.classList.add(`text-gray-500`,`pointer-events-none`))}};function nn(){var e,n;let r=document.documentElement.getAttribute(`data-blok-theme`);return r===`dark`?t.Jn:r===`light`?t.qn:typeof window<`u`&&(e=(n=window).matchMedia)!=null&&e.call(n,`(prefers-color-scheme: dark)`).matches?t.Jn:t.qn}function rn(e,n){if(e===n)return!0;let r=t.Wn(e),i=t.Wn(n);return r===null||i===null?!1:r[0]===i[0]&&r[1]===i[1]&&r[2]===i[2]}var an=`var(--blok-swatch-neutral-bg)`;function on(e){let{i18n:n,modes:i,testIdPrefix:a,onColorSelect:o}=e,s={activeColors:Object.fromEntries(i.map(e=>[e.key,null]))},c=document.createElement(`div`);c.setAttribute(`data-blok-testid`,`${a}-picker`),c.className=`flex flex-col gap-3 p-2`;let l=[];i.forEach(e=>{let t=document.createElement(`div`);t.setAttribute(`data-blok-testid`,`${a}-section-${e.key}`),t.className=`flex flex-col gap-1`;let r=document.createElement(`div`);r.className=`text-xs font-medium text-text-primary/60 px-0.5`,r.textContent=n.t(e.labelKey);let i=document.createElement(`div`);i.className=`grid gap-1`,i.style.gridTemplateColumns=`repeat(5, 2.25rem)`,l.push(i),t.appendChild(r),t.appendChild(i),c.appendChild(t)});let u=e=>{let c=l[e],u=i[e],d=nn();c.innerHTML=``;let f=s.activeColors[u.key],p=document.createElement(`button`),m=f===null;p.setAttribute(`data-blok-testid`,`${a}-swatch-${u.key}-default`),p.className=r.n(`w-9 h-9 rounded-md cursor-pointer border-none outline-hidden`,`flex items-center justify-center text-sm font-semibold`,`transition-[box-shadow,transform] ring-inset hover:ring-2 hover:ring-swatch-ring-hover active:scale-90`,m&&`ring-2 ring-swatch-ring-hover`),p.textContent=u.presetField===`text`?`A`:``,u.presetField===`text`&&(p.style.color=`var(--blok-text-primary)`),p.style.backgroundColor=an,p.addEventListener(`click`,()=>{o(null,u.key)});let h=n.t(`tools.colorPicker.defaultSwatchLabel`).replace(`{default}`,n.t(`tools.marker.default`)).replace(`{mode}`,n.t(u.labelKey).toLowerCase());t.dr(p,h.charAt(0).toUpperCase()+h.slice(1),{placement:`top`}),c.appendChild(p);for(let e of d){let i=document.createElement(`button`),s=u.presetField===`text`?e.text:e.bg,l=f!==null&&rn(s,f);i.setAttribute(`data-blok-testid`,`${a}-swatch-${u.key}-${e.name}`),i.className=r.n(`w-9 h-9 rounded-md cursor-pointer border-none outline-hidden`,`flex items-center justify-center text-sm font-semibold`,`transition-[box-shadow,transform] ring-inset hover:ring-2 hover:ring-swatch-ring-hover active:scale-90`,l&&`ring-2 ring-swatch-ring-hover`),i.textContent=u.presetField===`text`?`A`:``,u.presetField===`text`?(i.style.color=e.text,i.style.backgroundColor=an):(i.style.color=d===t.Jn?e.text:`#37352f`,i.style.backgroundColor=e.bg),i.addEventListener(`click`,()=>{o(s,u.key)});let p=n.t(`tools.colorPicker.colorSwatchLabel`).replace(`{color}`,n.t(`tools.colorPicker.color.`+e.name)).replace(`{mode}`,n.t(u.labelKey).toLowerCase());t.dr(i,p.charAt(0).toUpperCase()+p.slice(1),{placement:`top`}),c.appendChild(i)}},d=()=>{i.forEach((e,t)=>u(t))};return d(),{element:c,setActiveColor:(e,t)=>{let n=i.findIndex(e=>e.key===t);n!==-1&&(s.activeColors[t]=e,u(n))},reset:()=>{for(let e of i)s.activeColors[e.key]=null;d()}}}var sn=e=>{let t=on({i18n:e.i18n,testIdPrefix:`cell-color`,modes:[{key:`textColor`,labelKey:`tools.marker.textColor`,presetField:`text`},{key:`backgroundColor`,labelKey:`tools.marker.background`,presetField:`bg`}],onColorSelect:(n,r)=>{t.setActiveColor(n,r),e.onColorSelect(n,r)}});return{element:t.element}},cn=[`top-left`,`top-center`,`top-right`,`middle-left`,`middle-center`,`middle-right`,`bottom-left`,`bottom-center`,`bottom-right`],ln={"top-left":`tools.table.placementTopLeft`,"top-center":`tools.table.placementTopCenter`,"top-right":`tools.table.placementTopRight`,"middle-left":`tools.table.placementMiddleLeft`,"middle-center":`tools.table.placementMiddleCenter`,"middle-right":`tools.table.placementMiddleRight`,"bottom-left":`tools.table.placementBottomLeft`,"bottom-center":`tools.table.placementBottomCenter`,"bottom-right":`tools.table.placementBottomRight`},un={top:`flex-start`,middle:`center`,bottom:`flex-end`},dn={left:`flex-start`,center:`center`,right:`flex-end`},fn=e=>{var t;let n=(t=e.currentPlacement)==null?`top-left`:t,r=document.createElement(`div`);r.style.padding=`8px`;let i=document.createElement(`div`);i.style.display=`grid`,i.style.gridTemplateColumns=`repeat(3, 1fr)`,i.style.gap=`3px`;let a=document.createElement(`div`);a.style.textAlign=`center`,a.style.fontSize=`11px`,a.style.marginTop=`6px`,a.style.color=`var(--blok-text-secondary, #707684)`,a.textContent=e.i18n.t(ln[n]);for(let t of cn){let[r,o]=t.split(`-`),s=document.createElement(`div`);s.setAttribute(`data-placement`,t),s.style.width=`32px`,s.style.height=`26px`,s.style.borderRadius=`3px`,s.style.display=`flex`,s.style.flexDirection=`column`,s.style.alignItems=dn[o],s.style.justifyContent=un[r],s.style.padding=`3px`,s.style.cursor=`pointer`,s.style.gap=`1px`,t===n?(s.setAttribute(`data-active`,`true`),s.style.outline=`2px solid var(--blok-color-primary, #388AE5)`,s.style.outlineOffset=`-2px`,s.style.backgroundColor=`var(--blok-item-focus-bg, rgba(35, 131, 226, 0.14))`):s.style.backgroundColor=`var(--blok-bg-light, #eff2f5)`;let c=document.createElement(`div`);c.style.width=`14px`,c.style.height=`2px`,c.style.borderRadius=`1px`,c.style.backgroundColor=`currentColor`,c.style.opacity=`0.6`;let l=document.createElement(`div`);l.style.width=`9px`,l.style.height=`2px`,l.style.borderRadius=`1px`,l.style.backgroundColor=`currentColor`,l.style.opacity=`0.3`,s.appendChild(c),s.appendChild(l),s.addEventListener(`click`,()=>{i.querySelectorAll(`[data-placement]`).forEach(e=>{let t=e;t.removeAttribute(`data-active`),t.style.outline=``,t.style.outlineOffset=``,t.style.backgroundColor=`var(--blok-bg-tertiary, #f0f0f0)`}),s.setAttribute(`data-active`,`true`),s.style.outline=`2px solid var(--blok-color-primary, #388AE5)`,s.style.outlineOffset=`-2px`,s.style.backgroundColor=`var(--blok-item-focus-bg, rgba(35, 131, 226, 0.14))`,a.textContent=e.i18n.t(ln[t]),e.onPlacementSelect(t)}),i.appendChild(s)}return r.appendChild(i),r.appendChild(a),{element:r}},pn=(e,t,n)=>{t===`col`?Object.assign(e.style,{height:`${n}px`}):Object.assign(e.style,{width:`${n}px`})},mn=[[2,2],[8,2],[2,7],[8,7],[2,12],[8,12]],hn=[[2,2],[7,2],[12,2],[2,8],[7,8],[12,8]],gn=e=>{let t=document.createElementNS(`http://www.w3.org/2000/svg`,`svg`),n=e===`horizontal`;t.setAttribute(`width`,n?`14`:`10`),t.setAttribute(`height`,n?`10`:`14`),t.setAttribute(`viewBox`,n?`0 0 14 10`:`0 0 10 14`),t.setAttribute(`fill`,`currentColor`),t.classList.add(`opacity-0`,`transition-opacity`,`duration-150`,`text-gray-400`,`pointer-events-none`);let r=n?hn:mn;for(let[e,n]of r){let r=document.createElementNS(`http://www.w3.org/2000/svg`,`circle`);r.setAttribute(`cx`,String(e)),r.setAttribute(`cy`,String(n)),r.setAttribute(`r`,`1.5`),t.appendChild(r)}return t},_n=(e,t)=>{t===`col`?Object.assign(e.style,{height:`16px`}):Object.assign(e.style,{width:`16px`}),e.classList.add(`bg-gray-200`),e.classList.remove(`bg-gray-300`);let n=e.querySelector(`svg`);n&&(n.classList.remove(`opacity-0`),n.classList.add(`opacity-100`))},vn=(e,t,n)=>{pn(e,t,n),e.classList.remove(`bg-gray-200`),e.classList.add(`bg-gray-300`);let r=e.querySelector(`svg`);r&&(r.classList.add(`opacity-0`),r.classList.remove(`opacity-100`))},yn=`data-blok-table-cell-selected`,bn=`2px solid #3b82f6`,xn=`data-blok-table-selection-pill`,Sn=16,Cn=20,wn=4,Tn=[`absolute`,`z-3`,`rounded-sm`,`select-none`,`transition-[opacity,background-color,width]`,`duration-150`,`flex`,`items-center`,`justify-center`,`overflow-hidden`,`cursor-pointer`,`bg-blue-500`],En=e=>e.style.userSelect===`none`,Dn=class{constructor(e){this.anchorCell=null,this.extentCell=null,this.isSelecting=!1,this.hasSelection=!1,this.selectedCells=[],this.overlay=null,this.pill=null,this.pillPopover=null,this.resizeObserver=null,this.lastPaintedRange=null,this.preExpansionWasSingleCell=!1,this.grid=e.grid,this.rectangleSelection=e.rectangleSelection,this.onSelectionActiveChange=e.onSelectionActiveChange,this.onClearContent=e.onClearContent,this.onCopy=e.onCopy,this.onCut=e.onCut,this.onCopyViaButton=e.onCopyViaButton,this.onColorChange=e.onColorChange,this.onPlacementChange=e.onPlacementChange,this.getCellPlacement=e.getCellPlacement,this.onSelectionRangeChange=e.onSelectionRangeChange,this.onPointerDragActiveChange=e.onPointerDragActiveChange,this.isPopoverOpen=e.isPopoverOpen,this.canMergeCells=e.canMergeCells,this.onMergeCells=e.onMergeCells,this.isMergedCell=e.isMergedCell,this.onSplitCell=e.onSplitCell,this.getCellSpan=e.getCellSpan,this.i18n=e.i18n,this.grid.style.position=`relative`,this.boundPointerDown=this.handlePointerDown.bind(this),this.boundPointerMove=this.handlePointerMove.bind(this),this.boundPointerUp=this.handlePointerUp.bind(this),this.boundClearSelection=this.handleClearSelection.bind(this),this.boundCancelRectangle=this.handleCancelRectangle.bind(this),this.boundKeyDown=this.handleKeyDown.bind(this),this.boundCopyHandler=this.handleCopy.bind(this),this.boundCutHandler=this.handleCut.bind(this),this.boundPreventDragStart=this.handleDragStart.bind(this),this.grid.addEventListener(`pointerdown`,this.boundPointerDown),this.grid.addEventListener(`dragstart`,this.boundPreventDragStart),document.addEventListener(`keydown`,this.boundKeyDown),document.addEventListener(`copy`,this.boundCopyHandler),document.addEventListener(`cut`,this.boundCutHandler)}destroy(){if(this.destroyPillPopover(),this.disconnectResizeObserver(),this.clearSelection(),this.anchorCell){var e;(e=this.onPointerDragActiveChange)==null||e.call(this,!1),this.grid.style.userSelect=``}this.grid.removeEventListener(`pointerdown`,this.boundPointerDown),this.grid.removeEventListener(`dragstart`,this.boundPreventDragStart),document.removeEventListener(`pointermove`,this.boundPointerMove),document.removeEventListener(`pointerup`,this.boundPointerUp),document.removeEventListener(`pointercancel`,this.boundPointerUp),document.removeEventListener(`pointerdown`,this.boundClearSelection),document.removeEventListener(`mousemove`,this.boundCancelRectangle,!0),document.removeEventListener(`keydown`,this.boundKeyDown),document.removeEventListener(`copy`,this.boundCopyHandler),document.removeEventListener(`cut`,this.boundCutHandler)}selectRow(e){let t=this.getLogicalColumnCount();t!==0&&this.showProgrammaticSelection(e,0,e,t-1)}selectColumn(e){let t=this.grid.querySelectorAll(`[${F}]`).length;t!==0&&this.showProgrammaticSelection(0,e,t-1,e)}clearActiveSelection(){this.clearSelection()}getSelectedRange(){return this.hasSelection?this.lastPaintedRange:null}selectRange(e){this.showProgrammaticSelection(e.minRow,e.minCol,e.maxRow,e.maxCol)}handleDragStart(e){this.anchorCell&&e.preventDefault()}handlePointerDown(e){var t;if(En(this.grid)||e.button!==0)return;let n=e.target;if(n.closest(`[data-blok-table-grip]`)||n.closest(`[data-blok-table-resize]`)||n.closest(`[${xn}]`))return;let r=this.resolveCellCoord(n);r&&(this.hasSelection&&this.lastPaintedRange!==null&&this.lastPaintedRange.minRow===r.row&&this.lastPaintedRange.maxRow===r.row&&this.lastPaintedRange.minCol===r.col&&this.lastPaintedRange.maxCol===r.col?document.removeEventListener(`pointerdown`,this.boundClearSelection):this.hasSelection&&this.clearSelection(),this.anchorCell=r,this.isSelecting=!1,(t=this.onPointerDragActiveChange)==null||t.call(this,!0),document.addEventListener(`mousemove`,this.boundCancelRectangle,!0),document.addEventListener(`pointermove`,this.boundPointerMove),document.addEventListener(`pointerup`,this.boundPointerUp),document.addEventListener(`pointercancel`,this.boundPointerUp))}handlePointerMove(e){if(!this.anchorCell)return;let t=document.elementFromPoint(e.clientX,e.clientY);if(!t)return;let n=this.resolveCellCoord(t);if(!n){this.clampExtentToEdge(e);return}if(!(!this.isSelecting&&n.row===this.anchorCell.row&&n.col===this.anchorCell.col)){if(!this.isSelecting){var r,i;this.isSelecting=!0,(r=this.onSelectionActiveChange)==null||r.call(this,!0),this.grid.style.userSelect=`none`,(i=window.getSelection())==null||i.removeAllRanges()}(!this.extentCell||this.extentCell.row!==n.row||this.extentCell.col!==n.col)&&(this.extentCell=n,this.paintSelection())}}handleCancelRectangle(e){if(!this.rectangleSelection)return;this.rectangleSelection.cancelActiveSelection();let t=document.querySelector(`[data-blok-overlay-rectangle]`);if(!t)return;let n=t;n.style.display=`none`}handlePointerUp(){var e;if(document.removeEventListener(`mousemove`,this.boundCancelRectangle,!0),document.removeEventListener(`pointermove`,this.boundPointerMove),document.removeEventListener(`pointerup`,this.boundPointerUp),document.removeEventListener(`pointercancel`,this.boundPointerUp),(e=this.onPointerDragActiveChange)==null||e.call(this,!1),this.isSelecting){if(this.grid.style.userSelect=``,this.hasSelection=!0,this.lastPaintedRange){var t;(t=this.onSelectionRangeChange)==null||t.call(this,this.lastPaintedRange)}document.addEventListener(`pointerdown`,this.boundClearSelection)}else this.anchorCell&&(this.hasSelection?document.addEventListener(`pointerdown`,this.boundClearSelection):this.showProgrammaticSelection(this.anchorCell.row,this.anchorCell.col,this.anchorCell.row,this.anchorCell.col));this.isSelecting=!1,this.anchorCell=null,this.extentCell=null}handleClearSelection(e){let t=e.target;t instanceof HTMLElement&&t.closest(`[${xn}]`)||t instanceof HTMLElement&&t.closest(`[data-blok-popover-opened]`)!==null||(this.pillPopover!==null&&this.destroyPillPopover(),document.removeEventListener(`pointerdown`,this.boundClearSelection),this.clearSelection())}handleKeyDown(e){var t;this.hasSelection&&(e.key!==`Delete`&&e.key!==`Backspace`||this.selectedCells.length<=1||(e.preventDefault(),(t=this.onClearContent)==null||t.call(this,[...this.selectedCells]),this.clearSelection()))}handleCopy(e){var t;!this.hasSelection||!e.clipboardData||this.selectedCells.length<=1&&this.hasNativeTextSelection()||(e.preventDefault(),(t=this.onCopy)==null||t.call(this,[...this.selectedCells],e.clipboardData))}handleCut(e){var t,n;!this.hasSelection||!e.clipboardData||this.selectedCells.length<=1&&this.hasNativeTextSelection()||(e.preventDefault(),(t=this.onCut)==null||t.call(this,[...this.selectedCells],e.clipboardData),(n=this.onClearContent)==null||n.call(this,[...this.selectedCells]),this.clearSelection())}hasNativeTextSelection(){let e=window.getSelection();return e!==null&&!e.isCollapsed}clearSelection(){let e=this.hasSelection;if(this.restoreModifiedCells(),this.hasSelection=!1,this.lastPaintedRange=null,this.preExpansionWasSingleCell=!1,e){var t;(t=this.onSelectionActiveChange)==null||t.call(this,!1)}}restoreModifiedCells(){this.destroyPillPopover(),this.disconnectResizeObserver(),this.selectedCells.forEach(e=>{e.removeAttribute(yn)}),this.pill&&(this.pill.remove(),this.pill=null),this.overlay&&(this.overlay.remove(),this.overlay=null),this.selectedCells=[]}showProgrammaticSelection(e,t,n,r){var i;if(this.clearSelection(),this.anchorCell={row:e,col:t},this.extentCell={row:n,col:r},this.paintSelection(),this.hasSelection=!0,(i=this.onSelectionActiveChange)==null||i.call(this,!0),this.lastPaintedRange){var a;(a=this.onSelectionRangeChange)==null||a.call(this,this.lastPaintedRange)}this.anchorCell=null,this.extentCell=null,document.addEventListener(`pointerdown`,this.boundClearSelection)}expandRectToMergedSpans(e){return this.getCellSpan?this.expandRectStep(e):e}expandRectStep(e){let t=this.getCellSpan;if(!t)return e;let n=Array.from({length:e.maxRow-e.minRow+1},(t,n)=>e.minRow+n),r=Array.from({length:e.maxCol-e.minCol+1},(t,n)=>e.minCol+n),i=n.reduce((e,n)=>r.reduce((e,r)=>{let{colspan:i,rowspan:a}=t(n,r);return{minRow:e.minRow,maxRow:Math.max(e.maxRow,n+a-1),minCol:e.minCol,maxCol:Math.max(e.maxCol,r+i-1)}},e),e);return i.maxRow!==e.maxRow||i.maxCol!==e.maxCol?this.expandRectStep(i):i}paintSelection(){if(!this.anchorCell||!this.extentCell)return;this.selectedCells.forEach(e=>{e.removeAttribute(yn)}),this.selectedCells=[];let e=Math.min(this.anchorCell.row,this.extentCell.row),t=Math.max(this.anchorCell.row,this.extentCell.row),n=Math.min(this.anchorCell.col,this.extentCell.col),r=Math.max(this.anchorCell.col,this.extentCell.col);this.preExpansionWasSingleCell=e===t&&n===r,this.lastPaintedRange=this.expandRectToMergedSpans({minRow:e,maxRow:t,minCol:n,maxCol:r});let{minRow:i,maxRow:a,minCol:o,maxCol:s}=this.lastPaintedRange,c=this.grid.querySelectorAll(`[${F}]`);this.selectedCells=this.collectCellsInRange(c,i,a,o,s),this.selectedCells.forEach(e=>{e.setAttribute(yn,``)});let l=this.findCellByCoordOrIndex(c,i,o),u=this.findCellByCoordOrIndex(c,a,s);if(!l||!u)return;let d=this.grid.getBoundingClientRect(),f=l.getBoundingClientRect(),p=u.getBoundingClientRect(),m=getComputedStyle(this.grid),h=parseFloat(m.borderTopWidth)||0,g=parseFloat(m.borderLeftWidth)||0,_=p.right-f.left+1,v=p.bottom-f.top+1,y=f.top-d.top-h-1,b=f.left-d.left-g-1;this.overlay||(this.overlay=document.createElement(`div`),this.overlay.setAttribute(`data-blok-table-selection-overlay`,``),this.overlay.style.position=`absolute`,this.overlay.style.border=bn,this.overlay.style.pointerEvents=`none`,this.overlay.style.boxSizing=`border-box`,this.overlay.style.borderRadius=`2px`,this.grid.appendChild(this.overlay)),this.overlay.style.top=`${y}px`,this.overlay.style.left=`${b}px`,this.overlay.style.width=`${_}px`,this.overlay.style.height=`${v}px`,this.pill||(this.pill=this.createPill(),this.grid.appendChild(this.pill)),this.pill.style.left=`${b+_-1}px`,this.pill.style.top=`${y+v/2}px`,this.observeCellResizes()}repositionOverlay(){let e=this.lastPaintedRange;if(!e||!this.overlay)return;let t=this.grid.querySelectorAll(`[${F}]`),n=this.findCellByCoordOrIndex(t,e.minRow,e.minCol),r=this.findCellByCoordOrIndex(t,e.maxRow,e.maxCol);if(!n||!r)return;let i=this.grid.getBoundingClientRect(),a=n.getBoundingClientRect(),o=r.getBoundingClientRect(),s=getComputedStyle(this.grid),c=parseFloat(s.borderTopWidth)||0,l=parseFloat(s.borderLeftWidth)||0,u=o.right-a.left+1,d=o.bottom-a.top+1,f=a.top-i.top-c-1,p=a.left-i.left-l-1;this.overlay.style.top=`${f}px`,this.overlay.style.left=`${p}px`,this.overlay.style.width=`${u}px`,this.overlay.style.height=`${d}px`,this.pill&&(this.pill.style.left=`${p+u-1}px`,this.pill.style.top=`${f+d/2}px`)}observeCellResizes(){if(this.disconnectResizeObserver(),this.selectedCells.length!==0){this.resizeObserver=new ResizeObserver(()=>{this.repositionOverlay()});for(let e of this.selectedCells)this.resizeObserver.observe(e)}}disconnectResizeObserver(){this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null)}createPill(){let e=document.createElement(`div`);e.setAttribute(xn,``),e.setAttribute(`contenteditable`,`false`),e.className=r.n(Tn),e.style.width=`${wn}px`,e.style.height=`${Cn}px`,e.style.pointerEvents=`auto`,e.style.transform=`translate(-50%, -50%)`,e.style.outline=`2px solid var(--blok-table-grip-outline, transparent)`;let t=gn(`vertical`);return t.classList.remove(`text-gray-400`),t.classList.add(`text-white`),e.appendChild(t),e.addEventListener(`mouseenter`,()=>{this.pillPopover===null&&this.expandPill()}),e.addEventListener(`mouseleave`,()=>{this.pillPopover===null&&this.collapsePill()}),e.addEventListener(`pointerdown`,e=>{e.stopPropagation(),e.preventDefault(),this.openPillPopover()}),e}openPillPopover(){if(this.destroyPillPopover(),!this.pill)return;this.expandPill();let e=t.Cr===`Meta`?`⌘C`:`Ctrl+C`,n=[];if(this.onColorChange!==void 0){let{element:e}=sn({i18n:this.i18n,onColorSelect:(e,t)=>{var n;(n=this.onColorChange)==null||n.call(this,[...this.selectedCells],e,t)}});n.push({icon:t.nn,title:this.i18n.t(`tools.table.cellColor`),name:`cellColor`,children:{items:[{type:t.vr.Html,element:e}],isFlippable:!1}})}let r=[];if(this.onPlacementChange!==void 0){let e=this.lastPaintedRange&&this.getCellPlacement?this.getCellPlacement(this.lastPaintedRange.minRow,this.lastPaintedRange.minCol):void 0,{element:n}=fn({i18n:this.i18n,currentPlacement:e,onPlacementSelect:e=>{var t;(t=this.onPlacementChange)==null||t.call(this,[...this.selectedCells],e)}});r.push({icon:t.dn,title:this.i18n.t(`tools.table.placement`),name:`cellPlacement`,children:{items:[{type:t.vr.Html,element:n}],isFlippable:!1}})}let i=[];if(this.lastPaintedRange&&this.onMergeCells){var a;let e=this.lastPaintedRange;(e.minRow!==e.maxRow||e.minCol!==e.maxCol)&&!this.preExpansionWasSingleCell&&(a=this.canMergeCells)!=null&&a.call(this,e)&&i.push({icon:t.in,title:this.i18n.t(`tools.table.mergeCells`),closeOnActivate:!0,onActivate:()=>{var t;(t=this.onMergeCells)==null||t.call(this,e),this.clearSelection()}})}if(this.lastPaintedRange&&this.onSplitCell){var o,s;let e=this.lastPaintedRange,n=e.minRow===e.maxRow&&e.minCol===e.maxCol,r=this.preExpansionWasSingleCell&&((o=this.isMergedCell)==null?void 0:o.call(this,e.minRow,e.minCol));(n||r)&&(s=this.isMergedCell)!=null&&s.call(this,e.minRow,e.minCol)&&i.push({icon:t.yn,title:this.i18n.t(`tools.table.splitCell`),closeOnActivate:!0,onActivate:()=>{var t;(t=this.onSplitCell)==null||t.call(this,e.minRow,e.minCol),this.clearSelection()}})}let c=[...n,...r,...i,{icon:t.nt,title:this.i18n.t(`tools.table.copySelection`),secondaryLabel:e,closeOnActivate:!0,onActivate:()=>{var e;(e=this.onCopyViaButton)==null||e.call(this,[...this.selectedCells])}},{icon:t.at,title:this.i18n.t(`tools.table.clearSelection`),secondaryLabel:`Del`,closeOnActivate:!0,onActivate:()=>{var e;(e=this.onClearContent)==null||e.call(this,[...this.selectedCells]),this.clearSelection()}}];this.pillPopover=new t.C({items:c,trigger:this.pill,flippable:!0}),this.pillPopover.on(t.T.Closed,()=>{this.pillPopover!==null&&(this.destroyPillPopover(),this.collapsePill())}),this.pillPopover.show()}expandPill(){if(!this.pill)return;this.pill.style.width=`${Sn}px`;let e=this.pill.querySelector(`svg`);e&&(e.classList.remove(`opacity-0`),e.classList.add(`opacity-100`))}collapsePill(){if(!this.pill)return;this.pill.style.width=`${wn}px`;let e=this.pill.querySelector(`svg`);e&&(e.classList.add(`opacity-0`),e.classList.remove(`opacity-100`))}destroyPillPopover(){if(this.pillPopover!==null){let e=this.pillPopover;this.pillPopover=null,e.destroy()}}resolveCellCoord(e){let t=e.closest(`[${I}]`);if(!t)return null;let n=t.closest(`[${F}]`);if(!n||!this.grid.contains(n))return null;let r=t.getAttribute(L),i=t.getAttribute(R);if(r!==null&&i!==null){let e=parseInt(r,10),t=parseInt(i,10);if(!isNaN(e)&&!isNaN(t))return{row:e,col:t}}let a=Array.from(this.grid.querySelectorAll(`[${F}]`)).indexOf(n);if(a<0)return null;let o=Array.from(n.querySelectorAll(`[${I}]`)).indexOf(t);return o<0?null:{row:a,col:o}}clampExtentToEdge(e){var t,n,r,i;if(!this.anchorCell||!this.isSelecting)return;let a=this.grid.getBoundingClientRect(),o=this.grid.querySelectorAll(`[${F}]`).length,s=this.getLogicalColumnCount();if(o===0||s===0)return;let c={row:this.clampAxis(e.clientY,a.top,a.bottom,o,(t=(n=this.extentCell)==null?void 0:n.row)==null?this.anchorCell.row:t),col:this.clampAxis(e.clientX,a.left,a.right,s,(r=(i=this.extentCell)==null?void 0:i.col)==null?this.anchorCell.col:r)};(!this.extentCell||this.extentCell.row!==c.row||this.extentCell.col!==c.col)&&(this.extentCell=c,this.paintSelection())}collectCellsInRange(e,t,n,r,i){if(this.grid.querySelector(`[data-blok-table-cell-row]`)===null)return Array.from(e).slice(t,n+1).flatMap(e=>{let t=e.querySelectorAll(`[${I}]`);return Array.from(t).slice(r,i+1).filter(e=>e instanceof HTMLElement)});let a=this.grid.querySelectorAll(`[${I}]`);return Array.from(a).filter(e=>{let a=e.getAttribute(L),o=e.getAttribute(R);if(a===null||o===null)return!1;let s=Number(a),c=Number(o),l=e,u=s+(l.rowSpan||1)-1,d=c+(l.colSpan||1)-1;return s<=n&&u>=t&&c<=i&&d>=r})}findCellByCoordOrIndex(e,t,n){var r,i,a;return this.grid.querySelector(`[${L}="${t}"][${R}="${n}"]`)||((r=e[t])==null?void 0:r.querySelectorAll(`[${I}]`)[n])||Array.from((i=(a=e[t])==null?void 0:a.querySelectorAll(`[data-blok-table-cell]`))==null?[]:i).find(e=>{let t=Number(e.getAttribute(R)),r=e.colSpan||1;return t<=n&&t+r-1>=n})}getLogicalColumnCount(){var e,t;let n=(e=this.grid.querySelector(`colgroup`))==null?void 0:e.querySelectorAll(`col`).length;if(n!==void 0&&n>0)return n;let r=this.grid.querySelector(`[${F}]`);return(t=r==null?void 0:r.querySelectorAll(`[data-blok-table-cell]`).length)==null?0:t}clampAxis(e,t,n,r,i){return e<t?0:e>n?r-1:i}},On=`data-blok-table-corner-drag`,kn=5,An=class{constructor(e){var t;this.dragState=null,this.wrapper=e.wrapper,this.gridEl=e.gridEl,this.getTableSize=e.getTableSize,this.onAddRow=e.onAddRow,this.onAddColumn=e.onAddColumn,this.onRemoveLastRow=e.onRemoveLastRow,this.onRemoveLastColumn=e.onRemoveLastColumn,this.onDragStart=e.onDragStart,this.onDragEnd=e.onDragEnd,this.canRemoveLastRow=e.canRemoveLastRow,this.canRemoveLastColumn=e.canRemoveLastColumn,this.onClickAdd=(t=e.onClickAdd)==null?null:t,this.hitZone=document.createElement(`div`),this.hitZone.setAttribute(On,``),this.hitZone.setAttribute(`contenteditable`,`false`),this.hitZone.style.position=`absolute`,this.hitZone.style.width=`36px`,this.hitZone.style.height=`36px`,this.hitZone.style.cursor=`nwse-resize`,this.hitZone.style.zIndex=`2`,this.hitZone.style.pointerEvents=`auto`,this.hitZone.style.bottom=`-36px`,this.hitZone.style.right=`-16px`,this.boundMouseEnter=this.handleMouseEnter.bind(this),this.boundMouseLeave=this.handleMouseLeave.bind(this),this.boundPointerDown=this.handlePointerDown.bind(this),this.boundPointerMove=this.handlePointerMove.bind(this),this.boundPointerUp=this.handlePointerUp.bind(this),this.hitZone.addEventListener(`mouseenter`,this.boundMouseEnter),this.hitZone.addEventListener(`mouseleave`,this.boundMouseLeave),this.hitZone.addEventListener(`pointerdown`,this.boundPointerDown),this.wrapper.appendChild(this.hitZone)}updateTooltip(){let e=this.getTableSize();t.fr(this.hitZone,`${e.cols}\u00D7${e.rows}`,{placement:`bottom`})}handleMouseEnter(){this.updateTooltip()}handleMouseLeave(){this.dragState===null&&t.ur()}measureUnitHeight(){let e=this.gridEl.querySelectorAll(`[data-blok-table-row]`),t=e[e.length-1];return(t==null?void 0:t.offsetHeight)||30}measureUnitWidth(){let e=this.gridEl.querySelector(`[data-blok-table-row]`);if(!e)return 100;let t=e.querySelectorAll(`[data-blok-table-cell]`),n=t[t.length-1];return(n==null?void 0:n.offsetWidth)||100}handlePointerDown(e){this.dragState={startX:e.clientX,startY:e.clientY,unitWidth:this.measureUnitWidth(),unitHeight:this.measureUnitHeight(),addedRows:0,addedCols:0,pointerId:e.pointerId,didDrag:!1},this.updateTooltip(),this.hitZone.setPointerCapture(e.pointerId),this.hitZone.addEventListener(`pointermove`,this.boundPointerMove),this.hitZone.addEventListener(`pointerup`,this.boundPointerUp)}handlePointerMove(e){if(this.dragState===null)return;let t=e.clientX-this.dragState.startX,n=e.clientY-this.dragState.startY;if(!this.dragState.didDrag){if(Math.sqrt(t*t+n*n)<kn)return;this.dragState.didDrag=!0,document.body.style.cursor=`nwse-resize`,document.body.style.userSelect=`none`,this.onDragStart()}let{unitHeight:r,unitWidth:i}=this.dragState,a=Math.trunc(n/r),o=Math.trunc(t/i);for(;this.dragState.addedRows<a;)this.onAddRow(),this.dragState.addedRows++;for(;this.dragState.addedRows>a&&this.canRemoveLastRow();)this.onRemoveLastRow(),this.dragState.addedRows--;for(;this.dragState.addedCols<o;)this.onAddColumn(),this.dragState.addedCols++;for(;this.dragState.addedCols>o&&this.canRemoveLastColumn();)this.onRemoveLastColumn(),this.dragState.addedCols--;this.updateTooltip()}handlePointerUp(e){if(this.dragState===null)return;let{didDrag:n,pointerId:r}=this.dragState;this.dragState=null,t.ur(),this.hitZone.releasePointerCapture(r),this.hitZone.removeEventListener(`pointermove`,this.boundPointerMove),this.hitZone.removeEventListener(`pointerup`,this.boundPointerUp),n?(document.body.style.cursor=``,document.body.style.userSelect=``,this.onDragEnd()):this.onClickAdd?this.onClickAdd():(this.onAddRow(),this.onAddColumn())}setDisplay(e){this.hitZone.style.display=e?``:`none`}setInteractive(e){this.hitZone.style.pointerEvents=e?`auto`:`none`}destroy(){var e;this.hitZone.removeEventListener(`mouseenter`,this.boundMouseEnter),this.hitZone.removeEventListener(`mouseleave`,this.boundMouseLeave),this.hitZone.removeEventListener(`pointerdown`,this.boundPointerDown),this.hitZone.removeEventListener(`pointermove`,this.boundPointerMove),this.hitZone.removeEventListener(`pointerup`,this.boundPointerUp),(e=this.dragState)!=null&&e.didDrag&&(document.body.style.cursor=``,document.body.style.userSelect=``),this.dragState=null,t.ur(),this.hitZone.remove()}},jn=`data-blok-table-resize`,Mn=50,Nn=16,Pn=class{get enabled(){return this._enabled}set enabled(e){this._enabled=e;let t=e?``:`none`;this.handles.forEach(e=>{let n=e;n.style.pointerEvents=t})}constructor(e,t,n,r,i,a=!1){this._enabled=!0,this.isDragging=!1,this.dragStartX=0,this.dragColIndex=-1,this.startColWidth=0,this.dragColElements=null,this.handles=[],this.gridEl=e,this.colWidths=[...t],this.onChange=n,this.onDragStart=r==null?null:r,this.onDrag=i==null?null:i,this.needsInitialApply=a,this.boundPointerDown=this.onPointerDown.bind(this),this.boundPointerMove=this.onPointerMove.bind(this),this.boundPointerUp=this.onPointerUp.bind(this),this.gridEl.style.position=`relative`,a||this.applyWidths(),this.createHandles(),this.gridEl.addEventListener(`pointerdown`,this.boundPointerDown)}destroy(){this.gridEl.removeEventListener(`pointerdown`,this.boundPointerDown),document.removeEventListener(`pointermove`,this.boundPointerMove),document.removeEventListener(`pointerup`,this.boundPointerUp),this.dragColElements=null,this.handles.forEach(e=>e.remove()),this.handles=[]}createHandles(){let e=this.colWidths.length;e<2||Array.from({length:e}).forEach((e,t)=>{let n=this.createHandle(t);this.handles.push(n),this.gridEl.appendChild(n)})}createHandle(e){let t=document.createElement(`div`),n=this.getHandleLeftPx(e);return t.setAttribute(jn,``),t.setAttribute(`data-col`,String(e)),t.style.position=`absolute`,t.style.top=`-1px`,t.style.bottom=`0px`,t.style.width=`${Nn}px`,t.style.left=`${n-Nn/2}px`,t.style.cursor=`col-resize`,t.style.zIndex=`2`,t.style.background=`linear-gradient(to right, transparent 7px, #3b82f6 7px, #3b82f6 9px, transparent 9px)`,t.style.opacity=`0`,t.style.transition=`opacity 150ms ease`,t.setAttribute(`contenteditable`,`false`),t.addEventListener(`mouseenter`,()=>{this.isDragging||(t.style.opacity=`1`)}),t.addEventListener(`mouseleave`,()=>{this.isDragging||(t.style.opacity=`0`)}),t}getHandleLeftPx(e){return this.colWidths.slice(0,e+1).reduce((e,t)=>e+t,0)}updateHandlePositions(){this.handles.forEach((e,t)=>{let n=this.getHandleLeftPx(t),r=e;r.style.left=`${n-Nn/2}px`})}onPointerDown(e){var t;if(!this._enabled)return;let n=e.target;if(!n.hasAttribute(jn))return;e.preventDefault(),this.needsInitialApply&&(this.applyWidths(),this.updateHandlePositions(),this.needsInitialApply=!1);let r=n.getAttribute(`data-col`);r!==null&&(this.dragColIndex=Number(r),this.isDragging=!0,this.dragStartX=e.clientX,this.startColWidth=this.colWidths[this.dragColIndex],this.dragColElements=this.resolveColElements(),(t=this.onDragStart)==null||t.call(this),this.gridEl.style.userSelect=`none`,n.style.opacity=`1`,n.setPointerCapture&&n.setPointerCapture(e.pointerId),document.addEventListener(`pointermove`,this.boundPointerMove),document.addEventListener(`pointerup`,this.boundPointerUp))}onPointerMove(e){var t,n;if(!this.isDragging)return;let r=e.clientX-this.dragStartX,i=this.startColWidth+r,a=Math.max(Mn,i);this.colWidths[this.dragColIndex]=a,this.applyWidths((t=this.dragColElements)==null?void 0:t),this.updateHandlePositions(),(n=this.onDrag)==null||n.call(this)}onPointerUp(){if(!this.isDragging)return;this.isDragging=!1,this.gridEl.style.userSelect=``;let e=this.handles[this.dragColIndex];e&&(e.style.opacity=`0`),document.removeEventListener(`pointermove`,this.boundPointerMove),document.removeEventListener(`pointerup`,this.boundPointerUp),this.dragColElements=null,this.onChange([...this.colWidths])}resolveColElements(){let e=this.gridEl.querySelector(`colgroup`);return e?Array.from(e.querySelectorAll(`col`)):[]}applyWidths(e=this.resolveColElements()){let t=this.colWidths.reduce((e,t)=>e+t,0);this.gridEl.style.width=`${t+1}px`,e.forEach((e,t)=>{if(t<this.colWidths.length){let n=e;n.style.width=`${this.colWidths[t]}px`}})}},Fn=(e,t,n)=>(n.grid.addRow(e,t),V(e,n.cellBlocks),{pendingHighlight:{type:`row`,index:t},moveSelection:null,colWidths:n.data.colWidths,withHeadings:n.data.withHeadings,withHeadingColumn:n.data.withHeadingColumn}),In=(e,t,n)=>{let r=jt(e,t,n.data.colWidths,n.data.initialColWidth,n.grid);return V(e,n.cellBlocks),{pendingHighlight:{type:`col`,index:t},moveSelection:null,colWidths:r,withHeadings:n.data.withHeadings,withHeadingColumn:n.data.withHeadingColumn}},Ln=e=>({pendingHighlight:null,moveSelection:null,colWidths:e.data.colWidths,withHeadings:e.data.withHeadings,withHeadingColumn:e.data.withHeadingColumn}),Rn=(e,t,n,r)=>r.data.hasMerges?Ln(r):(r.grid.moveRow(e,t,n),{pendingHighlight:null,moveSelection:{type:`row`,index:n},colWidths:r.data.colWidths,withHeadings:r.data.withHeadings,withHeadingColumn:r.data.withHeadingColumn}),zn=(e,t,n,r)=>r.data.hasMerges?Ln(r):(r.grid.moveColumn(e,t,n),{pendingHighlight:null,moveSelection:{type:`col`,index:n},colWidths:kt(r.data.colWidths,t,n),withHeadings:r.data.withHeadings,withHeadingColumn:r.data.withHeadingColumn}),Bn=(e,t,n)=>{var r,i;return(r=n.cellBlocks)==null||r.deleteBlocks((i=n.blocksToDelete)==null?[]:i),n.grid.deleteRow(e,t),{pendingHighlight:{type:`row`,index:t<n.grid.getRowCount(e)?t:t-1},moveSelection:null,colWidths:n.data.colWidths,withHeadings:n.data.withHeadings,withHeadingColumn:n.data.withHeadingColumn}},Vn=(e,t,n)=>{var r,i;(r=n.cellBlocks)==null||r.deleteBlocks((i=n.blocksToDelete)==null?[]:i),n.grid.deleteColumn(e,t);let a=At(n.data.colWidths,t);return a?Ct(e,a):Ot(e),{pendingHighlight:{type:`col`,index:t<n.grid.getColumnCount(e)?t:t-1},moveSelection:null,colWidths:a,withHeadings:n.data.withHeadings,withHeadingColumn:n.data.withHeadingColumn}},Hn=(e,t,n)=>{switch(t.type){case`insert-row-above`:return Fn(e,t.index,n);case`insert-row-below`:return Fn(e,t.index+1,n);case`insert-col-left`:return In(e,t.index,n);case`insert-col-right`:return In(e,t.index+1,n);case`move-row`:return Rn(e,t.fromIndex,t.toIndex,n);case`move-col`:return zn(e,t.fromIndex,t.toIndex,n);case`delete-row`:return Bn(e,t.index,n);case`delete-col`:return Vn(e,t.index,n);case`toggle-heading`:return{pendingHighlight:{type:`row`,index:0},moveSelection:null,colWidths:n.data.colWidths,withHeadings:!n.data.withHeadings,withHeadingColumn:n.data.withHeadingColumn};case`toggle-heading-column`:return{pendingHighlight:{type:`col`,index:0},moveSelection:null,colWidths:n.data.colWidths,withHeadings:n.data.withHeadings,withHeadingColumn:!n.data.withHeadingColumn}}},Un=10,Wn=`data-blok-table-drag-ghost`,Gn=e=>{let t=e.querySelector(`colgroup`);if(t)return Array.from(t.querySelectorAll(`col`)).reduce((e,t)=>{let n=e[e.length-1],r=t.offsetWidth||parseFloat(t.style.width)||0;return[...e,n+r]},[0]);let n=e.querySelector(`[${F}]`);return n?Array.from(n.querySelectorAll(`[${I}]`)).reduce((e,t)=>{let n=e[e.length-1];return[...e,n+t.offsetWidth]},[0]):[0]},Kn=class{constructor(e){var t;this.isDragging=!1,this.dragType=null,this.dragFromIndex=-1,this.dragStartX=0,this.dragStartY=0,this.dropIndicator=null,this.dragOverlayCells=[],this.ghostEl=null,this.ghostOffsetX=0,this.ghostOffsetY=0,this.resolveTracking=null,this.grid=e.grid,this.onAction=e.onAction,this.onDragStateChange=(t=e.onDragStateChange)==null?null:t,this.boundDocPointerMove=this.handleDocPointerMove.bind(this),this.boundDocPointerUp=this.handleDocPointerUp.bind(this),this.boundDocPointerCancel=this.handleDocPointerCancel.bind(this)}beginTracking(e,t,n,r){return this.dragType=e,this.dragFromIndex=t,this.dragStartX=n,this.dragStartY=r,document.addEventListener(`pointermove`,this.boundDocPointerMove),document.addEventListener(`pointerup`,this.boundDocPointerUp),document.addEventListener(`pointercancel`,this.boundDocPointerCancel),new Promise(e=>{this.resolveTracking=e})}cleanup(){var e,t,n;this.grid.style.userSelect=``,document.body.style.cursor=``,this.dragOverlayCells.forEach(e=>{let t=e.el;t.style.backgroundColor=e.originalBg,t.style.opacity=``}),this.dragOverlayCells=[],(e=this.dropIndicator)==null||e.remove(),this.dropIndicator=null,(t=this.ghostEl)==null||t.remove(),this.ghostEl=null,document.removeEventListener(`pointermove`,this.boundDocPointerMove),document.removeEventListener(`pointerup`,this.boundDocPointerUp),document.removeEventListener(`pointercancel`,this.boundDocPointerCancel),(n=this.onDragStateChange)==null||n.call(this,!1,null),this.isDragging=!1,this.dragType=null,this.dragFromIndex=-1,this.resolveTracking=null}handleDocPointerMove(e){let t=Math.abs(e.clientX-this.dragStartX),n=Math.abs(e.clientY-this.dragStartY);!this.isDragging&&(t>Un||n>Un)&&(this.isDragging=!0,this.startDrag()),this.isDragging&&(this.updateDragIndicator(e),this.updateGhostPosition(e))}handleDocPointerUp(e){if(document.removeEventListener(`pointermove`,this.boundDocPointerMove),document.removeEventListener(`pointerup`,this.boundDocPointerUp),document.removeEventListener(`pointercancel`,this.boundDocPointerCancel),this.isDragging){var t;this.finishDrag(e),(t=this.resolveTracking)==null||t.call(this,!0)}else{var n;(n=this.resolveTracking)==null||n.call(this,!1)}this.cleanup()}handleDocPointerCancel(){var e;(e=this.resolveTracking)==null||e.call(this,this.isDragging),this.cleanup()}startDrag(){var e;this.grid.style.userSelect=`none`,document.body.style.cursor=`grabbing`,(e=this.onDragStateChange)==null||e.call(this,!0,this.dragType),this.highlightSourceCells(),this.createDropIndicator(),this.createGhost()}highlightSourceCells(){let e=this.grid.querySelectorAll(`[${F}]`);if(this.dragType===`row`){this.highlightRowCells(e);return}this.dragType===`col`&&this.highlightColumnCells(e)}highlightRowCells(e){let t=e[this.dragFromIndex];if(!t)return;let n=this.getDragSourceBg();t.querySelectorAll(`[${I}]`).forEach(e=>{let t=e;this.dragOverlayCells.push({el:t,originalBg:t.style.backgroundColor}),t.style.backgroundColor=n,t.style.opacity=`0.7`})}highlightColumnCells(e){let t=this.getDragSourceBg();e.forEach(e=>{let n=e.querySelector(`[${R}="${this.dragFromIndex}"]`);n&&(this.dragOverlayCells.push({el:n,originalBg:n.style.backgroundColor}),n.style.backgroundColor=t,n.style.opacity=`0.7`)})}getDragSourceBg(){return getComputedStyle(this.grid).getPropertyValue(`--blok-table-drag-source-bg`).trim()||`#f3f4f6`}isDarkMode(){var e,t,n;let r=document.documentElement.getAttribute(`data-blok-theme`);return r===`dark`?!0:r===`light`||(e=(t=(n=window).matchMedia)==null?void 0:t.call(n,`(prefers-color-scheme: dark)`).matches)==null?!1:e}createDropIndicator(){this.dropIndicator=document.createElement(`div`);let e=this.dropIndicator.style;if(e.position=`absolute`,e.backgroundColor=`#3b82f6`,e.borderRadius=`1.5px`,e.zIndex=`5`,e.pointerEvents=`none`,this.dropIndicator.setAttribute(`contenteditable`,`false`),this.dragType===`row`)e.height=`3px`,e.left=`-1px`,e.right=`0`,e.transition=`top 100ms ease`;else{let t=this.grid.querySelectorAll(`[${F}]`),n=t[t.length-1],r=n?n.offsetTop+n.offsetHeight:0;e.width=`3px`,e.top=`-1px`,e.height=`${r+1}px`,e.transition=`left 100ms ease`}this.grid.appendChild(this.dropIndicator)}updateDragIndicator(e){if(!this.dropIndicator)return;let t=this.grid.getBoundingClientRect();if(this.dragType===`row`){this.updateRowIndicator(e,t);return}this.dragType===`col`&&this.updateColIndicator(e,t)}updateRowIndicator(e,t){if(!this.dropIndicator)return;let n=e.clientY-t.top,r=this.getRowDropIndex(n),i=this.getRowDropTopPx(r);this.dropIndicator.style.top=`${i-1.5}px`}updateColIndicator(e,t){var n;if(!this.dropIndicator)return;let r=e.clientX-t.left,i=this.getColDropIndex(r),a=Gn(this.grid);this.dropIndicator.style.left=`${((n=a[i])==null?0:n)-1.5}px`}finishDrag(e){let t=this.grid.getBoundingClientRect();if(this.dragType===`row`){this.finishRowDrag(e,t);return}this.dragType===`col`&&this.finishColDrag(e,t)}finishRowDrag(e,t){let n=e.clientY-t.top,r=this.getRowDropIndex(n),i=r>this.dragFromIndex?r-1:r;i!==this.dragFromIndex&&this.onAction({type:`move-row`,fromIndex:this.dragFromIndex,toIndex:i})}finishColDrag(e,t){let n=e.clientX-t.left,r=this.getColDropIndex(n),i=r>this.dragFromIndex?r-1:r;i!==this.dragFromIndex&&this.onAction({type:`move-col`,fromIndex:this.dragFromIndex,toIndex:i})}createGhost(){let e=document.createElement(`div`);e.setAttribute(Wn,``),e.setAttribute(`contenteditable`,`false`);let t=e.style;t.position=`fixed`,t.pointerEvents=`none`,t.opacity=`0.5`,t.zIndex=`50`,t.borderRadius=`4px`,t.overflow=`hidden`,t.boxShadow=this.isDarkMode()?`0 8px 24px rgba(0, 0, 0, 0.6), 0 0 0 1px rgba(255, 255, 255, 0.08)`:`0 4px 12px rgba(0, 0, 0, 0.15)`,this.ghostEl=e;let n=this.getSourceRect();this.dragType===`row`&&this.buildRowGhost(),this.dragType===`col`&&this.buildColumnGhost(),document.body.appendChild(e),n&&(t.left=`${n.left}px`,t.top=`${n.top}px`,this.ghostOffsetX=this.dragStartX-n.left,this.ghostOffsetY=this.dragStartY-n.top)}getSourceRect(){return this.dragType===`row`?this.getRowSourceRect():this.dragType===`col`?this.getColSourceRect():null}getRowSourceRect(){var e;let t=this.grid.querySelectorAll(`[${F}]`)[this.dragFromIndex];return(e=t==null?void 0:t.getBoundingClientRect())==null?null:e}getColSourceRect(){let e=this.grid.querySelectorAll(`[${F}]`),t=e[0],n=e[e.length-1];if(!t||!n)return null;let r=t.querySelector(`[${R}="${this.dragFromIndex}"]`),i=n.querySelector(`[${R}="${this.dragFromIndex}"]`);if(!r||!i)return null;let a=r.getBoundingClientRect(),o=i.getBoundingClientRect();return new DOMRect(a.left,a.top,a.width,o.bottom-a.top)}buildRowGhost(){let e=this.grid.querySelectorAll(`[${F}]`)[this.dragFromIndex];if(!e||!this.ghostEl)return;let t=this.ghostEl.style;t.display=`flex`,t.height=`${e.offsetHeight}px`,e.querySelectorAll(`[${I}]`).forEach(e=>{var t;let n=e,r=n.cloneNode(!0);r.style.width=`${n.offsetWidth}px`,r.style.flexShrink=`0`,r.removeAttribute(`contenteditable`),(t=this.ghostEl)==null||t.appendChild(r)})}buildColumnGhost(){if(!this.ghostEl)return;let e=this.grid.querySelectorAll(`[${F}]`),t=this.ghostEl.style;t.display=`flex`,t.flexDirection=`column`,e.forEach(e=>{var t;let n=e.querySelector(`[${R}="${this.dragFromIndex}"]`);if(!n)return;let r=n.cloneNode(!0);r.style.width=`${n.offsetWidth}px`,r.style.height=`${n.offsetHeight}px`,r.removeAttribute(`contenteditable`),(t=this.ghostEl)==null||t.appendChild(r)})}updateGhostPosition(e){if(!this.ghostEl)return;let t=this.ghostEl.style;this.dragType===`row`&&(t.top=`${e.clientY-this.ghostOffsetY}px`),this.dragType===`col`&&(t.left=`${e.clientX-this.ghostOffsetX}px`)}getRowDropIndex(e){let t=Array.from(this.grid.querySelectorAll(`[${F}]`)),n=t.map(e=>e.offsetTop);if(t.length>0){let e=t[t.length-1];n.push(e.offsetTop+e.offsetHeight)}let r=n.map(t=>Math.abs(e-t)),i=Math.min(...r);return r.indexOf(i)}getRowDropTopPx(e){let t=this.grid.querySelectorAll(`[${F}]`);if(e<t.length)return t[e].offsetTop;if(t.length>0){let e=t[t.length-1];return e.offsetTop+e.offsetHeight}return 0}getColDropIndex(e){let t=Gn(this.grid).map(t=>Math.abs(e-t)),n=Math.min(...t);return t.indexOf(n)}},qn=[`flex`,`items-center`,`select-none`,`border-none`,`bg-transparent`,`rounded-md`,`p-(--item-padding)`,`text-text-primary`,`mb-px`,`cursor-pointer`,`can-hover:hover:bg-item-hover-bg`],Jn=[`flex`,`items-center`,`justify-center`,`w-[26px]`,`h-[26px]`,`mr-2`,`[&_svg]:w-icon`,`[&_svg]:h-icon`],Yn=[`mr-auto`,`truncate`,`text-sm`,`font-medium`,`leading-5`],Xn=[`relative`,`w-[30px]`,`h-[18px]`,`rounded-full`,`transition-colors`,`duration-[180ms]`,`ease-out`,`shrink-0`,`ml-2`],Zn=[`absolute`,`top-[2px]`,`w-[14px]`,`h-[14px]`,`rounded-full`,`bg-white`,`transition-[left]`,`duration-[220ms]`,`[transition-timing-function:cubic-bezier(0.34,1.56,0.64,1)]`],Qn=e=>{let{icon:t,label:n,isActive:i,onToggle:a}=e,o={active:i},s=document.createElement(`div`);s.className=r.n(qn);let c=document.createElement(`div`);c.className=r.n(Jn),c.innerHTML=t,s.appendChild(c);let l=document.createElement(`span`);l.className=r.n(Yn),l.textContent=n,s.appendChild(l);let u=document.createElement(`div`);u.className=r.n(Xn);let d=document.createElement(`div`);d.className=r.n(Zn),u.appendChild(d),s.appendChild(u);let f=()=>{u.style.backgroundColor=o.active?`var(--blok-toggle-on-bg)`:`var(--blok-toggle-off-bg)`,d.style.left=o.active?`14px`:`2px`,d.style.backgroundColor=o.active?`var(--blok-toggle-thumb-on-bg)`:``,d.style.boxShadow=o.active?`0 1px 3px rgba(0,0,0,0.35), 0 0 0 1px rgba(0,0,0,0.04)`:`0 1px 3px rgba(0,0,0,0.25), 0 0 0 1px rgba(0,0,0,0.06)`};return f(),s.addEventListener(`click`,e=>{e.stopPropagation(),o.active=!o.active,f(),a(o.active)}),s},$n=(e,n)=>{let r=e===0?[{type:t.vr.Html,element:Qn({icon:t.Ft,label:n.i18n.t(`tools.table.headerColumn`),isActive:n.isHeadingColumn(),onToggle:()=>{n.onAction({type:`toggle-heading-column`})}})},{type:t.vr.Separator}]:[],i=[{icon:t.Wt,title:n.i18n.t(`tools.table.insertColumnLeft`),closeOnActivate:!0,onActivate:()=>{n.onAction({type:`insert-col-left`,index:e})}},{icon:t.Gt,title:n.i18n.t(`tools.table.insertColumnRight`),closeOnActivate:!0,onActivate:()=>{n.onAction({type:`insert-col-right`,index:e})}}],a=n.getColumnCount()>1,o=[{type:t.vr.Separator},{icon:t.On,title:n.i18n.t(`tools.table.deleteColumn`),isDestructive:!0,isDisabled:!a,closeOnActivate:!0,onActivate:()=>{n.onAction({type:`delete-col`,index:e})}}];return[...r,...i,...o]},er=(e,n)=>{let r=e===0?[{type:t.vr.Html,element:Qn({icon:t.It,label:n.i18n.t(`tools.table.headerRow`),isActive:n.isHeadingRow(),onToggle:()=>{n.onAction({type:`toggle-heading`})}})},{type:t.vr.Separator}]:[],i=[{icon:t.Ht,title:n.i18n.t(`tools.table.insertRowAbove`),closeOnActivate:!0,onActivate:()=>{n.onAction({type:`insert-row-above`,index:e})}},{icon:t.Ut,title:n.i18n.t(`tools.table.insertRowBelow`),closeOnActivate:!0,onActivate:()=>{n.onAction({type:`insert-row-below`,index:e})}}],a=n.getRowCount()>1,o=[{type:t.vr.Separator},{icon:t.On,title:n.i18n.t(`tools.table.deleteRow`),isDestructive:!0,isDisabled:!a,closeOnActivate:!0,onActivate:()=>{n.onAction({type:`delete-row`,index:e})}}];return[...r,...i,...o]},tr=(e,n,r,i,a)=>{a.destroyPopover(),a.clearHideTimeout();let o=e===`col`?r.col[n]:r.row[n];if(!o)return{popover:null,grip:null};let s=new t.C({items:e===`col`?$n(n,i):er(n,i),trigger:o,flippable:!0});return s.on(t.T.Closed,()=>{var e;a.destroyPopover(),a.applyVisibleClasses(o),a.scheduleHideAll(),(e=a.onGripPopoverClose)==null||e.call(a)}),a.hideAllGripsExcept(o),a.applyActiveClasses(o),e===`col`?o.style.height=`16px`:o.style.width=`16px`,{popover:s,grip:o}},nr=`data-blok-table-grip`,rr=`data-blok-table-grip-col`,ir=`data-blok-table-grip-row`,ar=150,or=24,sr=4,cr=4,lr=20,ur=[`absolute`,`z-3`,`rounded-sm`,`cursor-grab`,`select-none`,`transition-[opacity,background-color,width,height]`,`duration-150`,`group`,`flex`,`items-center`,`justify-center`,`overflow-hidden`],dr=[`bg-gray-300`,`opacity-0`,`pointer-events-none`],fr=[`bg-gray-300`,`opacity-100`,`pointer-events-auto`],pr=[`bg-blue-500`,`text-white`,`opacity-100`,`pointer-events-auto`],mr=class{constructor(e){this.colGrips=[],this.rowGrips=[],this.popoverState={popover:null,grip:null},this.lockedGrip=null,this.hideTimeout=null,this.activeColGripIndex=-1,this.activeRowGripIndex=-1,this.isInsideTable=!1,this.rowResizeObserver=null,this.boundScrollHandler=null,this.grid=e.grid,this.overlay=e.overlay,this.scrollContainer=e.scrollContainer,this.getColumnCount=e.getColumnCount,this.getRowCount=e.getRowCount,this.isHeadingRow=e.isHeadingRow,this.isHeadingColumn=e.isHeadingColumn,this.onAction=e.onAction,this.onGripClick=e.onGripClick,this.onGripPopoverClose=e.onGripPopoverClose,this.i18n=e.i18n,this.drag=new Kn({grid:this.grid,onAction:this.onAction,onDragStateChange:(t,n)=>{var r;this.handleDragStateChange(t,n),(r=e.onDragStateChange)==null||r.call(e,t,n)}}),this.boundMouseOver=this.handleMouseOver.bind(this),this.boundMouseLeave=this.handleMouseLeave.bind(this),this.boundPointerDown=this.handlePointerDown.bind(this),this.boundUnlockGrip=this.handleUnlockGrip.bind(this),this.createGrips(),this.grid.addEventListener(`mouseover`,this.boundMouseOver),this.grid.addEventListener(`mouseleave`,this.boundMouseLeave)}refresh(){let e=this.popoverState.grip?this.detectGripType(this.popoverState.grip):null;if(this.destroyGrips(),this.createGrips(),!e)return;let t=e.type===`col`?this.colGrips[e.index]:this.rowGrips[e.index];t&&(this.popoverState.grip=t,this.hideAllGripsExcept(t),this.applyActiveClasses(t),e.type===`col`?t.style.height=`16px`:t.style.width=`16px`)}setActiveGrip(e,t){let n=e===`col`?this.colGrips[t]:this.rowGrips[t];n&&(this.unlockGrip(),this.clearHideTimeout(),this.hideAllGripsExcept(n),this.applyActiveClasses(n),e===`col`?n.style.height=`16px`:n.style.width=`16px`,this.lockedGrip=n,document.addEventListener(`pointerdown`,this.boundUnlockGrip))}handleUnlockGrip(e){document.removeEventListener(`pointerdown`,this.boundUnlockGrip),this.lockedGrip&&(this.applyIdleClasses(this.lockedGrip),this.lockedGrip=null);let t=e.target instanceof HTMLElement?e.target:null,n=t==null?void 0:t.closest(`[${I}]`);if(n){let e=this.getCellPosition(n);e&&(this.clearHideTimeout(),this.showColGrip(e.col),this.showRowGrip(e.row),this.isInsideTable=!0)}}unlockGrip(){document.removeEventListener(`pointerdown`,this.boundUnlockGrip),this.lockedGrip=null}getVisibleGripIndices(){return this.activeColGripIndex<0&&this.activeRowGripIndex<0?null:{col:this.activeColGripIndex,row:this.activeRowGripIndex}}restoreVisibleGrips(e,t){this.isInsideTable=e>=0||t>=0,e>=0&&this.showColGrip(e),t>=0&&this.showRowGrip(t)}get isPopoverOpen(){return this.popoverState.popover!==null}destroy(){this.destroyPopover(),this.unlockGrip(),this.drag.cleanup(),this.grid.removeEventListener(`mouseover`,this.boundMouseOver),this.grid.removeEventListener(`mouseleave`,this.boundMouseLeave),this.clearHideTimeout(),this.destroyGrips()}createGrips(){var e;let t=this.getColumnCount(),n=this.getRowCount(),r=(e=this.overlay)==null?this.grid:e;Array.from({length:t}).forEach((e,t)=>{let n=this.createGripElement(`col`,t);this.colGrips.push(n),r.appendChild(n)}),Array.from({length:n}).forEach((e,t)=>{let n=this.createGripElement(`row`,t);this.rowGrips.push(n),r.appendChild(n)}),this.positionGrips(),this.observeRowHeights(),this.attachScrollListener()}attachScrollListener(){this.overlay&&this.scrollContainer&&(this.boundScrollHandler=()=>this.positionGrips(),this.scrollContainer.addEventListener(`scroll`,this.boundScrollHandler))}detachScrollListener(){this.boundScrollHandler&&this.scrollContainer&&(this.scrollContainer.removeEventListener(`scroll`,this.boundScrollHandler),this.boundScrollHandler=null)}destroyGrips(){var e;(e=this.rowResizeObserver)==null||e.disconnect(),this.rowResizeObserver=null,this.detachScrollListener(),this.colGrips.forEach(e=>e.remove()),this.rowGrips.forEach(e=>e.remove()),this.colGrips=[],this.rowGrips=[],this.activeColGripIndex=-1,this.activeRowGripIndex=-1,this.isInsideTable=!1}createGripElement(e,t){let n=document.createElement(`div`);n.className=r.n(ur,dr),n.setAttribute(nr,``),n.setAttribute(e===`col`?rr:ir,String(t)),n.setAttribute(`contenteditable`,`false`);let i=e===`col`?or:cr,a=e===`col`?sr:lr,o=e===`col`?sr:cr;return n.style.width=`${i}px`,n.style.height=`${a}px`,n.style.transform=`translate(-50%, -50%)`,n.style.outline=`2px solid var(--blok-table-grip-outline, transparent)`,n.appendChild(gn(e===`col`?`horizontal`:`vertical`)),n.addEventListener(`pointerdown`,this.boundPointerDown),n.addEventListener(`mouseenter`,()=>{this.overlay&&this.clearHideTimeout(),this.isGripInteractionLocked()||_n(n,e)}),n.addEventListener(`mouseleave`,()=>{this.isGripInteractionLocked()||(vn(n,e,o),this.overlay&&this.scheduleHideAll())}),n}positionGrips(){let e=this.grid.querySelectorAll(`[${F}]`);if(!e[0])return;let t=Gn(this.grid),n=this.overlay&&this.scrollContainer?this.scrollContainer.scrollLeft:0,r=this.overlay&&this.scrollContainer?this.scrollContainer.clientWidth:1/0;this.colGrips.forEach((e,i)=>{if(i+1>=t.length)return;let a=(t[i]+t[i+1])/2-n,o=e.style;o.top=`${-1/2}px`,o.left=`${a}px`,this.overlay&&(o.visibility=a<0||a>r?`hidden`:``)}),this.rowGrips.forEach((t,n)=>{if(n>=e.length)return;let r=e[n],i=this.grid.querySelectorAll(`[${L}="${n}"]`),a=Array.from(i).reduce((e,t)=>{let n=t,r=e===null?0:e.rowSpan||1;return(n.rowSpan||1)>r?n:e},null);if((a===null?1:a.rowSpan||1)>1&&a!==null){var o;let e=((o=this.overlay)==null?this.grid:o).getBoundingClientRect(),n=a.getBoundingClientRect(),r=n.top-e.top+n.height/2,i=t.style;i.left=`${-1/2}px`,i.top=`${r}px`}else{let e=r.offsetTop+r.offsetHeight/2,n=t.style;n.left=`${-1/2}px`,n.top=`${e}px`}})}observeRowHeights(){var e;(e=this.rowResizeObserver)==null||e.disconnect(),this.rowResizeObserver=new ResizeObserver(()=>{this.positionGrips()}),this.grid.querySelectorAll(`[${F}]`).forEach(e=>{var t;(t=this.rowResizeObserver)==null||t.observe(e)})}isGripInteractionLocked(){return this.popoverState.popover!==null||this.lockedGrip!==null}handleMouseOver(e){if(this.isGripInteractionLocked())return;let t=e.target.closest(`[${I}]`);if(!t)return;this.clearHideTimeout();let n=this.getCellPosition(t);n&&(this.showColGrip(n.col),this.showRowGrip(n.row),this.isInsideTable=!0)}handleMouseLeave(){this.isGripInteractionLocked()||this.scheduleHideAll()}getCellPosition(e){let t=e.getAttribute(L),n=e.getAttribute(R);if(t===null||n===null)return null;let r=parseInt(t,10),i=parseInt(n,10);return isNaN(r)||isNaN(i)?null:{row:r,col:i}}setGripsDisplay(e){let t=e?``:`none`;[...this.colGrips,...this.rowGrips].forEach(n=>{let r=n;!e&&n===this.popoverState.grip||(r.style.display=t)})}hideAllGrips(){this.clearHideTimeout(),this.hideColGrip(),this.hideRowGrip(),this.isInsideTable=!1}showColGrip(e){this.activeColGripIndex!==e&&(this.hideColGrip(),this.activeColGripIndex=e,this.applyVisibleClasses(this.colGrips[e]))}hideColGrip(){this.activeColGripIndex>=0&&this.activeColGripIndex<this.colGrips.length&&this.applyIdleClasses(this.colGrips[this.activeColGripIndex]),this.activeColGripIndex=-1}showRowGrip(e){this.activeRowGripIndex!==e&&(this.hideRowGrip(),this.activeRowGripIndex=e,this.applyVisibleClasses(this.rowGrips[e]))}hideRowGrip(){this.activeRowGripIndex>=0&&this.activeRowGripIndex<this.rowGrips.length&&this.applyIdleClasses(this.rowGrips[this.activeRowGripIndex]),this.activeRowGripIndex=-1}applyVisibleClasses(e){let t=e,n=t.hasAttribute(rr);pn(t,n?`col`:`row`,n?sr:cr),this.isInsideTable&&(t.style.transition=`none`),t.className=r.n(ur,fr),t.setAttribute(`data-blok-table-grip-visible`,``),this.isInsideTable&&(t.offsetHeight,t.style.transition=``);let i=t.querySelector(`svg`);i&&(i.classList.remove(`text-white`,`opacity-100`),i.classList.add(`text-gray-400`,`opacity-0`))}applyActiveClasses(e){Object.assign(e,{className:r.n(ur,pr)}),e.setAttribute(`data-blok-table-grip-visible`,``);let t=e.querySelector(`svg`);t&&(t.classList.remove(`text-gray-400`,`opacity-0`),t.classList.add(`text-white`,`opacity-100`))}hideAllGripsExcept(e){[...this.colGrips,...this.rowGrips].forEach(t=>{t!==e&&this.applyIdleClasses(t)})}applyIdleClasses(e){let t=e,n=t.hasAttribute(rr),i=n?`col`:`row`,a=n?sr+12:cr+12;this.isInsideTable&&(t.style.transition=`none`),pn(t,i,a),t.className=r.n(ur,dr),t.removeAttribute(`data-blok-table-grip-visible`);let o=t.querySelector(`svg`);o&&(o.classList.add(`opacity-0`),o.classList.remove(`opacity-100`)),this.isInsideTable&&(t.offsetHeight,t.style.transition=``)}handleDragStateChange(e,t){[...this.colGrips,...this.rowGrips].forEach(t=>{let n=t;n.style.display=e?`none`:``})}scheduleHideAll(){this.hideTimeout=setTimeout(()=>{this.hideColGrip(),this.hideRowGrip(),this.isInsideTable=!1,this.hideTimeout=null},ar)}clearHideTimeout(){this.hideTimeout!==null&&(clearTimeout(this.hideTimeout),this.hideTimeout=null)}handlePointerDown(e){let t=e.target.closest(`[${nr}]`);if(!t)return;e.preventDefault(),e.stopPropagation();let n=this.detectGripType(t);n&&this.drag.beginTracking(n.type,n.index,e.clientX,e.clientY).then(e=>{e||this.openPopover(n.type,n.index)})}detectGripType(e){let t=e.getAttribute(rr);if(t!==null)return{type:`col`,index:Number(t)};let n=e.getAttribute(ir);return n===null?null:{type:`row`,index:Number(n)}}openPopover(e,t){var n,r;this.popoverState=tr(e,t,{col:this.colGrips,row:this.rowGrips},{getColumnCount:this.getColumnCount,getRowCount:this.getRowCount,isHeadingRow:this.isHeadingRow,isHeadingColumn:this.isHeadingColumn,onAction:this.onAction,i18n:this.i18n},{clearHideTimeout:()=>this.clearHideTimeout(),hideAllGripsExcept:e=>this.hideAllGripsExcept(e),applyActiveClasses:e=>this.applyActiveClasses(e),applyVisibleClasses:e=>this.applyVisibleClasses(e),scheduleHideAll:()=>this.scheduleHideAll(),destroyPopover:()=>this.destroyPopover(),onGripPopoverClose:this.onGripPopoverClose}),(n=this.popoverState.popover)==null||n.show(),(r=this.onGripClick)==null||r.call(this,e,t)}destroyPopover(){if(this.popoverState.popover!==null){let e=this.popoverState.popover;this.popoverState={popover:null,grip:null},e.destroy()}}},hr=`data-blok-table-haze`,gr=`data-blok-table-haze-visible`,_r=1,vr=[`absolute`,`top-0`,`bottom-0`,`w-12`,`pointer-events-none`,`opacity-0`,`transition-opacity`,`duration-150`,`z-1`],yr=[`left-0`,`bg-linear-to-r`,`from-white/80`,`to-transparent`],br=[`right-5`,`bg-linear-to-l`,`from-white/80`,`to-transparent`],xr=class{constructor(){this.leftHaze=null,this.rightHaze=null,this.scrollContainer=null,this.boundOnScroll=null,this.ticking=!1}init(e,t){this.scrollContainer=t,this.leftHaze=this.createHazeElement(`left`),this.rightHaze=this.createHazeElement(`right`),e.appendChild(this.leftHaze),e.appendChild(this.rightHaze),this.boundOnScroll=()=>{this.ticking||(requestAnimationFrame(()=>{this.syncVisibility(),this.ticking=!1}),this.ticking=!0)},t.addEventListener(`scroll`,this.boundOnScroll,{passive:!0}),this.syncVisibility()}update(){this.syncVisibility()}destroy(){var e,t;this.boundOnScroll&&this.scrollContainer&&this.scrollContainer.removeEventListener(`scroll`,this.boundOnScroll),(e=this.leftHaze)==null||e.remove(),(t=this.rightHaze)==null||t.remove(),this.leftHaze=null,this.rightHaze=null,this.scrollContainer=null,this.boundOnScroll=null,this.ticking=!1}createHazeElement(e){let t=document.createElement(`div`);return t.setAttribute(hr,e),t.setAttribute(`aria-hidden`,`true`),t.classList.add(...vr,...e===`left`?yr:br),t}syncVisibility(){let e=this.scrollContainer;if(!e)return;let{overflowX:t}=getComputedStyle(e);if(!(t===`auto`||t===`scroll`)){this.setVisible(this.leftHaze,!1),this.setVisible(this.rightHaze,!1);return}let{scrollLeft:n,scrollWidth:r,clientWidth:i}=e,a=r-i;this.setVisible(this.leftHaze,n>_r),this.setVisible(this.rightHaze,a>_r&&n<a-_r)}setVisible(e,t){e&&(t?e.setAttribute(gr,``):e.removeAttribute(gr))}},Sr=class{constructor(e){this.resize=null,this.addControls=null,this.rowColControls=null,this.cellSelection=null,this.cornerDrag=null,this.scrollHaze=null,this.gridPasteCleanup=null,this.pendingHighlight=null,this.host=e}get cellSelectionSubsystem(){return this.cellSelection}get rowColControlsSubsystem(){return this.rowColControls}attachScrollContainer(e){var t;(t=this.addControls)==null||t.attachScrollContainer(e)}initAll(e){this.initResize(e),this.initAddControls(e),this.initCornerDrag(e),this.initRowColControls(e),this.initCellSelection(e),this.initGridPasteListener(e),this.initScrollHaze()}initScrollHazeOnly(){this.initScrollHaze()}teardown(){var e,t,n,r,i,a,o;(e=this.resize)==null||e.destroy(),this.resize=null,(t=this.addControls)==null||t.destroy(),this.addControls=null,(n=this.cornerDrag)==null||n.destroy(),this.cornerDrag=null,(r=this.rowColControls)==null||r.destroy(),this.rowColControls=null,(i=this.cellSelection)==null||i.destroy(),this.cellSelection=null,(a=this.scrollHaze)==null||a.destroy(),this.scrollHaze=null,(o=this.gridPasteCleanup)==null||o.call(this),this.gridPasteCleanup=null}initAddControls(e){var t;if((t=this.addControls)==null||t.destroy(),!this.host.element)return;let n={addedCols:0};this.addControls=new tn({wrapper:this.host.element,grid:e,i18n:this.host.api.i18n,getTableSize:()=>({rows:this.host.model.rows,cols:this.host.model.cols}),getNewColumnWidth:()=>{var t;let n=(t=this.host.model.colWidths)==null?B(e):t;return this.host.model.initialColWidth===void 0?Mt(n):Math.round(this.host.model.initialColWidth/2*100)/100},onAddRow:()=>{this.host.runTransactedStructuralOp(()=>{var t,n;this.host.grid.addRow(e),this.host.model.addRow(),V(e,this.host.cellBlocks),Vt(this.host.gridElement,this.host.model.withHeadings),H(this.host.gridElement,this.host.model.withHeadingColumn),this.initResize(e),(t=this.addControls)==null||t.syncRowButtonWidth(),(n=this.rowColControls)==null||n.refresh()})},onAddColumn:()=>{this.host.runTransactedStructuralOp(()=>{var t,n,r;let i=(t=this.host.model.colWidths)==null?B(e):t,a=this.host.model.initialColWidth===void 0?Mt(i):Math.round(this.host.model.initialColWidth/2*100)/100;this.host.grid.addColumn(e,void 0,i,a),this.host.model.addColumn(void 0,a),this.host.model.setColWidths([...i,a]),V(e,this.host.cellBlocks),H(this.host.gridElement,this.host.model.withHeadingColumn),this.initResize(e),(n=this.rowColControls)==null||n.refresh(),this.host.scrollContainer&&(this.host.scrollContainer.scrollLeft=this.host.scrollContainer.scrollWidth),(r=this.addControls)==null||r.syncRowButtonWidth()})},onDragStart:()=>{var e,t;this.resize&&(this.resize.enabled=!1),(e=this.rowColControls)==null||e.hideAllGrips(),(t=this.rowColControls)==null||t.setGripsDisplay(!1)},onDragAddRow:()=>(this.host.runTransactedStructuralOp(()=>{this.host.grid.addRow(e),this.host.model.addRow(),V(e,this.host.cellBlocks),Vt(this.host.gridElement,this.host.model.withHeadings),H(this.host.gridElement,this.host.model.withHeadingColumn)}),!0),onDragRemoveRow:()=>this.host.runTransactedStructuralOp(()=>{var t;let n=this.host.grid.getRowCount(e);if(n<=1||!Et(e,n-1))return!1;let{blocksToDelete:r}=this.host.model.deleteRow(n-1);return(t=this.host.cellBlocks)==null||t.deleteBlocks(r),this.host.grid.deleteRow(e,n-1),!0}),onDragAddCol:()=>(this.host.runTransactedStructuralOp(()=>{var t;let r=(t=this.host.model.colWidths)==null?B(e):t,i=this.host.model.initialColWidth===void 0?Mt(r):Math.round(this.host.model.initialColWidth/2*100)/100,a=[...r,i];this.host.grid.addColumn(e,void 0,r,i),this.host.model.addColumn(void 0,i),this.host.model.setColWidths(a),Ct(e,a),V(e,this.host.cellBlocks),H(this.host.gridElement,this.host.model.withHeadingColumn),this.initResize(e),n.addedCols++,this.host.scrollContainer&&(this.host.scrollContainer.scrollLeft=this.host.scrollContainer.scrollWidth)}),!0),onDragRemoveCol:()=>this.host.runTransactedStructuralOp(()=>{var t;let r=this.host.grid.getColumnCount(e);if(r<=1||!Dt(e,r-1))return!1;let{blocksToDelete:i}=this.host.model.deleteColumn(r-1);(t=this.host.cellBlocks)==null||t.deleteBlocks(i),this.host.grid.deleteColumn(e,r-1);let a=this.host.model.colWidths;return a&&Ct(e,a),this.initResize(e),n.addedCols--,!0}),onDragEnd:()=>{var t,r;this.initResize(e),(t=this.rowColControls)==null||t.refresh(),this.host.scrollContainer&&(this.host.scrollContainer.scrollLeft=n.addedCols>0?this.host.scrollContainer.scrollWidth:0),(r=this.addControls)==null||r.syncRowButtonWidth(),n.addedCols=0}}),this.host.scrollContainer&&this.addControls.attachScrollContainer(this.host.scrollContainer)}initCornerDrag(e){var t;(t=this.cornerDrag)==null||t.destroy(),this.host.element&&(this.cornerDrag=new An({wrapper:this.host.element,gridEl:e,onAddRow:()=>{this.host.runStructuralOp(()=>{this.host.grid.addRow(e),this.host.model.addRow(),V(e,this.host.cellBlocks),Vt(this.host.gridElement,this.host.model.withHeadings),H(this.host.gridElement,this.host.model.withHeadingColumn)})},onAddColumn:()=>{this.host.runStructuralOp(()=>{var t,n;let r=(t=this.host.model.colWidths)==null?B(e):t,i=this.host.model.initialColWidth===void 0?Mt(r):Math.round(this.host.model.initialColWidth/2*100)/100,a=[...r,i];this.host.grid.addColumn(e,void 0,r,i),this.host.model.addColumn(void 0,i),this.host.model.setColWidths(a),Ct(e,a),Bt(this.host.ensureScrollContainer()),V(e,this.host.cellBlocks),H(this.host.gridElement,this.host.model.withHeadingColumn),(n=this.scrollHaze)==null||n.update()})},onRemoveLastRow:()=>{this.host.runStructuralOp(()=>{var t;let n=this.host.grid.getRowCount(e);if(n<=1)return;let{blocksToDelete:r}=this.host.model.deleteRow(n-1);(t=this.host.cellBlocks)==null||t.deleteBlocks(r),this.host.grid.deleteRow(e,n-1)})},onRemoveLastColumn:()=>{this.host.runStructuralOp(()=>{var t;let n=this.host.grid.getColumnCount(e);if(n<=1)return;let{blocksToDelete:r}=this.host.model.deleteColumn(n-1);(t=this.host.cellBlocks)==null||t.deleteBlocks(r),this.host.grid.deleteColumn(e,n-1);let i=this.host.model.colWidths;i&&Ct(e,i)})},onDragStart:()=>{var e,t,n;this.resize&&(this.resize.enabled=!1),(e=this.rowColControls)==null||e.hideAllGrips(),(t=this.rowColControls)==null||t.setGripsDisplay(!1),(n=this.addControls)==null||n.setDisplay(!1)},onDragEnd:()=>{var t,n,r;this.initResize(e),(t=this.rowColControls)==null||t.refresh(),(n=this.addControls)==null||n.setDisplay(!0),(r=this.addControls)==null||r.syncRowButtonWidth()},getTableSize:()=>({rows:this.host.model.rows,cols:this.host.model.cols}),canRemoveLastRow:()=>this.host.model.rows>1&&Et(e,this.host.model.rows-1),canRemoveLastColumn:()=>this.host.model.cols>1&&Dt(e,this.host.model.cols-1),onClickAdd:()=>{this.host.runTransactedStructuralOp(()=>{var t,n,r;this.host.grid.addRow(e),this.host.model.addRow(),V(e,this.host.cellBlocks),Vt(this.host.gridElement,this.host.model.withHeadings),H(this.host.gridElement,this.host.model.withHeadingColumn);let i=(t=this.host.model.colWidths)==null?B(e):t,a=this.host.model.initialColWidth===void 0?Mt(i):Math.round(this.host.model.initialColWidth/2*100)/100,o=[...i,a];this.host.grid.addColumn(e,void 0,i,a),this.host.model.addColumn(void 0,a),this.host.model.setColWidths(o),Ct(e,o),V(e,this.host.cellBlocks),H(this.host.gridElement,this.host.model.withHeadingColumn),this.initResize(e),(n=this.rowColControls)==null||n.refresh(),(r=this.addControls)==null||r.syncRowButtonWidth()})}}))}initRowColControls(e){var t,n,r;(t=this.rowColControls)==null||t.destroy(),this.host.element&&(this.rowColControls=new mr({grid:e,overlay:(n=this.host.gripOverlay)==null?void 0:n,scrollContainer:(r=this.host.scrollContainer)==null?void 0:r,getColumnCount:()=>this.host.grid.getColumnCount(e),getRowCount:()=>this.host.grid.getRowCount(e),isHeadingRow:()=>this.host.model.withHeadings,isHeadingColumn:()=>this.host.model.withHeadingColumn,i18n:this.host.api.i18n,onAction:t=>this.handleRowColAction(e,t),onDragStateChange:e=>{var t,n;this.resize&&(this.resize.enabled=!e),(t=this.addControls)==null||t.setDisplay(!e),(n=this.cornerDrag)==null||n.setDisplay(!e),e&&this.host.api.toolbar.close({setExplicitlyClosed:!1})},onGripClick:(e,t)=>{if(e===`row`){var n;(n=this.cellSelection)==null||n.selectRow(t)}else{var r;(r=this.cellSelection)==null||r.selectColumn(t)}},onGripPopoverClose:()=>{if(this.pendingHighlight){var e;let{type:t,index:n}=this.pendingHighlight;this.pendingHighlight=null,(e=this.rowColControls)==null||e.setActiveGrip(t,n),requestAnimationFrame(()=>{if(t===`row`){var e;(e=this.cellSelection)==null||e.selectRow(n)}else{var r;(r=this.cellSelection)==null||r.selectColumn(n)}})}else{var t;(t=this.cellSelection)==null||t.clearActiveSelection()}}}))}handleRowColAction(e,t){let n=this.host.setDataGeneration;this.host.runTransactedStructuralOp(()=>{var r,i;if(n!==this.host.setDataGeneration||this.host.gridElement!==e)return;let a=this.host.model.colWidths,{blocksToDelete:o}=this.syncModelForAction(t),s=Hn(e,t,{grid:this.host.grid,data:{colWidths:a,withHeadings:this.host.model.withHeadings,withHeadingColumn:this.host.model.withHeadingColumn,initialColWidth:this.host.model.initialColWidth,hasMerges:this.host.model.hasMerges()},cellBlocks:this.host.cellBlocks,blocksToDelete:o});if(n!==this.host.setDataGeneration||this.host.gridElement!==e)return;if(this.host.model.setColWidths(s.colWidths),this.host.model.setWithHeadings(s.withHeadings),this.host.model.setWithHeadingColumn(s.withHeadingColumn),this.pendingHighlight=s.pendingHighlight,Vt(this.host.gridElement,this.host.model.withHeadings),H(this.host.gridElement,this.host.model.withHeadingColumn),this.initResize(e),(r=this.addControls)==null||r.syncRowButtonWidth(),!(t.type===`toggle-heading`||t.type===`toggle-heading-column`)){var c;(c=this.rowColControls)==null||c.refresh()}if(!s.moveSelection)return;let{type:l,index:u}=s.moveSelection;if(l===`row`){var d;(d=this.cellSelection)==null||d.selectRow(u)}else{var f;(f=this.cellSelection)==null||f.selectColumn(u)}(i=this.rowColControls)==null||i.setActiveGrip(l,u)})}syncModelForAction(e){switch(e.type){case`insert-row-above`:this.host.model.addRow(e.index);break;case`insert-row-below`:this.host.model.addRow(e.index+1);break;case`insert-col-left`:this.host.model.addColumn(e.index);break;case`insert-col-right`:this.host.model.addColumn(e.index+1);break;case`move-row`:this.host.model.hasMerges()||this.host.model.moveRow(e.fromIndex,e.toIndex);break;case`move-col`:this.host.model.hasMerges()||this.host.model.moveColumn(e.fromIndex,e.toIndex);break;case`delete-row`:return this.host.model.deleteRow(e.index);case`delete-col`:return this.host.model.deleteColumn(e.index);case`toggle-heading`:case`toggle-heading-column`:break}return{}}initResize(e){var t,n,r;(t=this.resize)==null||t.destroy();let i=this.host.model.colWidths===void 0,a=(n=this.host.model.colWidths)==null?B(e):n;i||Bt(this.host.ensureScrollContainer()),this.resize=new Pn(e,a,e=>{var t,n,r;this.host.model.setColWidths(e),Bt(this.host.ensureScrollContainer()),(t=this.rowColControls)==null||t.positionGrips(),(n=this.addControls)==null||n.syncRowButtonWidth(),(r=this.scrollHaze)==null||r.update()},()=>{var e;(e=this.rowColControls)==null||e.hideAllGrips()},()=>{var e,t;(e=this.addControls)==null||e.syncRowButtonWidth(),(t=this.scrollHaze)==null||t.update()},i),(r=this.scrollHaze)==null||r.update()}handleCellCopy(e,n){let r=this.collectCellBlockData(e);if(r.length===0)return;let i=t.S(r);n.setData(`text/html`,t._(i)),n.setData(`text/plain`,t.v(i))}handleCellCopyViaButton(e){let n=this.collectCellBlockData(e);if(n.length===0)return;let r=t.S(n),i=t._(r),a=t.v(r),o=new Blob([i],{type:`text/html`}),s=new Blob([a],{type:`text/plain`});navigator.clipboard.write([new ClipboardItem({"text/html":o,"text/plain":s})])}handleCellColorChange(e,t,n){let r=this.host.gridElement;r&&this.host.runTransactedStructuralOp(()=>{for(let i of e){let e=wt(r,i);e&&(n===`backgroundColor`?(this.host.model.setCellColor(e.row,e.col,t==null?void 0:t),i.style.backgroundColor=t==null?``:t):(this.host.model.setCellTextColor(e.row,e.col,t==null?void 0:t),i.style.color=t==null?``:t))}})}handleCellPlacementChange(e,t){let n=this.host.gridElement;n&&this.host.runTransactedStructuralOp(()=>{for(let r of e){let e=wt(n,r);if(!e)continue;this.host.model.setCellPlacement(e.row,e.col,t===`top-left`?void 0:t);let i=r.querySelector(`[${U}]`);i&&(t===`top-left`?i.removeAttribute(`data-blok-cell-placement`):i.setAttribute(`data-blok-cell-placement`,t))}})}collectCellBlockData(e){return this.host.gridElement?e.map(e=>{var t,r,i;let a=parseInt((t=e.getAttribute(`data-blok-table-cell-row`))==null?`0`:t,10),o=parseInt((r=e.getAttribute(`data-blok-table-cell-col`))==null?`0`:r,10),s=e.querySelector(`[${U}]`),c=[];if(!s)return{row:a,col:o,blocks:c};s.querySelectorAll(`[data-blok-id]`).forEach(e=>{let t=e.getAttribute(`data-blok-id`);if(!t)return;let r=this.host.api.blocks.getBlockIndex(t);if(r===void 0)return;let i=this.host.api.blocks.getBlockByIndex(r);i&&c.push(n.t({tool:i.name,data:i.preservedData},Object.keys(i.preservedTunes).length>0?{tunes:i.preservedTunes}:{}))});let l=c.length===0?((i=s.innerHTML)==null?``:i).trim():``;c.length===0&&l.length>0&&c.push({tool:`paragraph`,data:{text:l}});let u=this.host.model.getCellColor(a,o),d=this.host.model.getCellTextColor(a,o);return n.t(n.t({row:a,col:o,blocks:c},u===void 0?{}:{color:u}),d===void 0?{}:{textColor:d})}):[]}initCellSelection(e){var t;(t=this.cellSelection)==null||t.destroy();let n=this.host.api.rectangleSelection;this.cellSelection=new Dn({grid:e,rectangleSelection:n,i18n:this.host.api.i18n,isPopoverOpen:()=>{var e,t;return(e=(t=this.rowColControls)==null?void 0:t.isPopoverOpen)==null?!1:e},onPointerDragActiveChange:e=>{var t,n;(t=(n=this.host.api.blocks).setPointerDragActive)==null||t.call(n,e)},onSelectionActiveChange:e=>{var t,n,r;this.resize&&(this.resize.enabled=!e),(t=this.addControls)==null||t.setInteractive(!e),(n=this.cornerDrag)==null||n.setInteractive(!e),(r=this.rowColControls)==null||r.setGripsDisplay(!e)},onSelectionRangeChange:()=>{var e;(e=this.rowColControls)==null||e.setGripsDisplay(!0)},onClearContent:e=>{let t=this.host.cellBlocks;t&&this.host.runTransactedStructuralOp(()=>{let n=t.getBlockIdsFromCells(e);t.deleteBlocks(n);let r=this.host.gridElement;if(r)for(let t of e){let e=wt(r,t);e&&(this.host.model.setCellColor(e.row,e.col,void 0),this.host.model.setCellTextColor(e.row,e.col,void 0),t.style.backgroundColor=``,t.style.color=``)}})},onCopy:(e,t)=>{this.handleCellCopy(e,t)},onCut:(e,t)=>{this.handleCellCopy(e,t)},onCopyViaButton:e=>{this.handleCellCopyViaButton(e)},onColorChange:(e,t,n)=>{this.handleCellColorChange(e,t,n)},onPlacementChange:(e,t)=>{this.handleCellPlacementChange(e,t)},getCellPlacement:(e,t)=>this.host.model.getCellPlacement(e,t),canMergeCells:e=>this.host.model.canMergeCells(e),onMergeCells:e=>{this.host.runTransactedStructuralOp(()=>{this.host.model.mergeCells(e),this.host.rebuildTableBody()})},isMergedCell:(e,t)=>this.host.model.isMergedCell(e,t),onSplitCell:(e,t)=>{this.host.runTransactedStructuralOp(()=>{this.host.model.splitCell(e,t),this.host.rebuildTableBody()})},getCellSpan:(e,t)=>this.host.model.getCellSpan(e,t)})}initScrollHaze(){var e;(e=this.scrollHaze)==null||e.destroy(),!(!this.host.element||!this.host.scrollContainer)&&(this.scrollHaze=new xr,this.scrollHaze.init(this.host.element,this.host.scrollContainer))}initGridPasteListener(e){let t=t=>{this.handleGridPaste(t,e)};e.addEventListener(`paste`,t),this.gridPasteCleanup=()=>{e.removeEventListener(`paste`,t)}}handleGridPaste(e,n){var r,i;if(this.host.readOnly||!e.clipboardData||e.defaultPrevented)return;let a=e.clipboardData.getData(`text/html`),o=t.b(a),s=o===null?t.x(a):null,c=o==null?s:o;if(!c||s!==null&&new DOMParser().parseFromString(a,`text/html`).querySelectorAll(`table`).length>1)return;let l=document.activeElement;if(!l)return;let u=l.closest(`[${I}]`);if(!u||!n.contains(u)||!u.closest(`[data-blok-table-row]`))return;e.preventDefault(),e.stopPropagation();let d=parseInt((r=u.getAttribute(`data-blok-table-cell-row`))==null?`0`:r,10),f=parseInt((i=u.getAttribute(`data-blok-table-cell-col`))==null?`0`:i,10);if(c.rows===1&&c.cols===1){let e=c.cells[0][0];if(e.blocks.every(e=>typeof e.data.text==`string`)){this.insertSingleCellPayloadInline(e);return}this.pastePayloadIntoCells(n,c,d,f);return}this.pastePayloadIntoCells(n,c,d,f)}insertSingleCellPayloadInline(e){let t=e.blocks.map(e=>typeof e.data.text==`string`?e.data.text:``).filter(Boolean).join(`<br>`);if(!t)return;let n=window.getSelection();if(!n||n.rangeCount===0)return;let r=n.getRangeAt(0);r.collapsed||r.deleteContents();let i=document.createDocumentFragment(),a=document.createElement(`div`);a.innerHTML=t,Array.from(a.childNodes).forEach(e=>i.appendChild(e)),i.childNodes.length===0&&i.appendChild(new Text);let o=i.lastChild;r.insertNode(i);let s=document.createRange(),c=o.nodeType===Node.TEXT_NODE?o:o.firstChild;c!==null&&c.textContent!==null&&s.setStart(c,c.textContent.length),n.removeAllRanges(),n.addRange(s)}splitMergesInRegion(e,t,n,r){let i=Array.from({length:n},(t,n)=>e+n),a=Array.from({length:r},(e,n)=>t+n),o=new Map;i.forEach(e=>{a.forEach(t=>{let n=this.host.model.getMergeOrigin(e,t);n!==null&&o.set(`${n[0]}:${n[1]}`,n)})}),o.size!==0&&(o.forEach(([e,t])=>this.host.model.splitCell(e,t)),this.host.rebuildTableBody())}pastePayloadIntoCells(e,t,n,r){this.host.runTransactedStructuralOp(()=>{var i,a;this.expandGridForPaste(e,n+t.rows,r+t.cols),this.splitMergesInRegion(n,r,t.rows,t.cols),Array.from({length:t.rows},(e,t)=>t).forEach(i=>{Array.from({length:t.cols},(e,t)=>t).forEach(a=>{let o=t.cells[i][a];if(o.covered)return;let s=this.host.grid.getCell(e,n+i,r+a);if(s){var c,l,u,d;this.pasteCellPayload(s,o);let e=(c=(l=this.host.cellBlocks)==null?void 0:l.getBlockIdsFromCells([s]))==null?[]:c;this.host.model.setCellBlocks(n+i,r+a,e);let t=n+i,f=r+a;this.host.model.setCellColor(t,f,o.color),s.style.backgroundColor=(u=o.color)==null?``:u,this.host.model.setCellTextColor(t,f,o.textColor),s.style.color=(d=o.textColor)==null?``:d}})}),this.initResize(e),(i=this.addControls)==null||i.syncRowButtonWidth(),(a=this.rowColControls)==null||a.refresh()});let i=this.host.grid.getCell(e,n+t.rows-1,r+t.cols-1);if(!i||!this.host.cellBlocks||!this.host.api.caret)return;let a=this.host.cellBlocks.getBlockIdsFromCells([i]),o=a[a.length-1];o!==void 0&&this.host.api.caret.setToBlock(o,`end`)}expandGridForPaste(e,t,n){let r=this.host.grid.getRowCount(e),i=this.host.grid.getColumnCount(e);Array.from({length:Math.max(0,t-r)}).forEach(()=>{this.host.grid.addRow(e),this.host.model.addRow(),V(e,this.host.cellBlocks),Vt(this.host.gridElement,this.host.model.withHeadings),H(this.host.gridElement,this.host.model.withHeadingColumn)}),Array.from({length:Math.max(0,n-i)}).forEach(()=>{var t;let n=(t=this.host.model.colWidths)==null?B(e):t,r=this.host.model.initialColWidth===void 0?Mt(n):Math.round(this.host.model.initialColWidth/2*100)/100;this.host.grid.addColumn(e,void 0,n,r),this.host.model.addColumn(void 0,r),this.host.model.setColWidths([...n,r]),V(e,this.host.cellBlocks),H(this.host.gridElement,this.host.model.withHeadingColumn)})}pasteCellPayload(e,t){if(this.host.cellBlocks){let t=this.host.cellBlocks.getBlockIdsFromCells([e]);this.host.cellBlocks.deleteBlocks(t)}let n=e.querySelector(`[${U}]`);if(n){if(t.blocks.length===0){var r;(r=this.host.cellBlocks)==null||r.ensureCellHasBlock(e);return}for(let e of t.blocks){var i;let t=this.host.api.blocks.insert(e.tool,e.data,{},this.host.api.blocks.getBlocksCount(),!1);n.appendChild(t.holder),this.host.api.blocks.setBlockParent(t.id,(i=this.host.blockId)==null?``:i)}}}},Cr=3,wr=3,Tr=[`my-2`,`pr-5`],Er=[`relative`,`mb-7`,`after:content-[""]`,`after:absolute`,`after:-bottom-10`,`after:left-0`,`after:right-0`,`after:h-10`,`after:pointer-events-none`],Dr=class{constructor({data:e,config:n,api:r,readOnly:i,block:a}){this.initialContent=null,this.cellBlocks=null,this.element=null,this.gridElement=null,this.scrollContainer=null,this.gripOverlay=null,this.isNewTable=!1,this.unregisterRestrictedTools=null,this.keyboardNavCleanup=null,this.setDataGeneration=0,this.structuralOpDepth=0,this.api=r,this.readOnly=i,this.config=n==null?{}:n;let o=Lt(e,this.config);this.initialContent=o.content,this.grid=new St({readOnly:i}),this.model=new Kt(o),this.blockId=a==null?void 0:a.id,this.block=a,this.subsystems=new Sr(this.createSubsystemHost()),this.config.restrictedTools!==void 0&&(this.unregisterRestrictedTools=t.zr(this.config.restrictedTools))}createSubsystemHost(){let e=this;return{get api(){return e.api},get readOnly(){return e.readOnly},get blockId(){return e.blockId},get model(){return e.model},get grid(){return e.grid},get cellBlocks(){return e.cellBlocks},get element(){return e.element},get gridElement(){return e.gridElement},get scrollContainer(){return e.scrollContainer},get gripOverlay(){return e.gripOverlay},get setDataGeneration(){return e.setDataGeneration},runStructuralOp:(t,n)=>e.runStructuralOp(t,n),runTransactedStructuralOp:(t,n)=>e.runTransactedStructuralOp(t,n),ensureScrollContainer:()=>e.ensureScrollContainer(),rebuildTableBody:()=>e.rebuildTableBody()}}runStructuralOp(e,t=!1){this.structuralOpDepth++;try{return e()}finally{this.structuralOpDepth--;let e=this.structuralOpDepth===0;if(e&&t){var n;(n=this.cellBlocks)==null||n.discardDeferredEvents()}if(e&&!t){var r;(r=this.cellBlocks)==null||r.flushDeferredEvents()}}}runTransactedStructuralOp(e,t=!1){if(!this.api.blocks.transact)return this.runStructuralOp(e,t);let n={current:void 0};return this.api.blocks.transact(()=>{n.current=this.runStructuralOp(e,t)}),n.current}teardownSubsystems(){var e;this.subsystems.teardown(),(e=this.keyboardNavCleanup)==null||e.call(this),this.keyboardNavCleanup=null}rebuildTableBody(){let e=this.gridElement;if(!e)return;let t=e.querySelector(`tbody`);if(!t)return;let n=new Map;t.querySelectorAll(`[data-blok-id]`).forEach(e=>{let t=e.getAttribute(`data-blok-id`);t&&n.set(t,e)});let r=this.grid.createGridFromModel(this.model).querySelector(`tbody`);if(!r)return;let i=this.model.snapshot().content;this.mountBlockHoldersInNewTbody(i,r,n),t.replaceWith(r)}mountBlockHoldersInNewTbody(e,t,n){let r=new Set;e.forEach((e,i)=>{e.forEach((e,a)=>{if(typeof e==`string`||e.mergedInto)return;let o=t.querySelector(`[${L}="${i}"][${R}="${a}"]`);if(!o)return;let s=o.querySelector(`[${U}]`);s&&e.blocks.forEach(e=>{let t=n.get(e);t&&!r.has(e)&&(s.appendChild(t),r.add(e))})})})}modelHasMerges(){return this.model.snapshot().content.some(e=>e.some(e=>{var t,n;return typeof e!=`string`&&(((t=e.colspan)==null?1:t)>1||((n=e.rowspan)==null?1:n)>1)}))}createFlatGrid(){var e,t;let n=((e=this.initialContent)==null?void 0:e.length)||this.config.rows||Cr,r=((t=this.initialContent)==null?void 0:t.reduce((e,t)=>{var n;return Math.max(e,(n=t==null?void 0:t.length)==null?0:n)},0))||this.config.cols||wr;return this.grid.createGrid(n,r,this.model.colWidths)}static get toolbox(){return{icon:t.Sn,titleKey:`tools.table.title`,searchTerms:[`table`,`grid`,`spreadsheet`],searchTermKeys:[`table`,`grid`,`spreadsheet`]}}static get isReadOnlySupported(){return!0}static get enableLineBreaks(){return!0}static get pasteConfig(){return{tags:[`TABLE`,`TR`,{TH:{style:!0}},{TD:{style:!0}}]}}static get sanitize(){return{content:{br:!0,b:!0,i:!0,strong:!0,em:!0,mark:e=>{let n=e.style,r=Array.from({length:n.length},(e,t)=>n.item(t));for(let e of r)t.g.has(e)||n.removeProperty(e);return n.length>0?{style:!0}:{}},a:{href:!0,target:`_blank`,rel:`nofollow`},input:{type:!0,checked:!0}}}}ensureScrollContainer(){if(this.scrollContainer)return this.scrollContainer;let e=document.createElement(`div`);e.setAttribute(`data-blok-table-scroll`,``);let t=this.gridElement;return t&&this.element&&(this.element.insertBefore(e,t),e.appendChild(t)),this.scrollContainer=e,this.subsystems.attachScrollContainer(e),e}render(){var e,n,i,a;let o=document.createElement(`div`);o.className=r.n(Tr,!this.readOnly&&Er),o.setAttribute(t.bi.tool,`table`),this.readOnly&&o.setAttribute(`data-blok-table-readonly`,``),this.isNewTable=((e=(n=this.initialContent)==null?void 0:n.length)==null?0:e)===0;let s=((i=(a=this.initialContent)==null?void 0:a.length)==null?0:i)>0,c=s&&this.modelHasMerges(),l=c?this.grid.createGridFromModel(this.model):this.createFlatGrid();if(s&&!c){var u;this.grid.fillGrid(l,(u=this.initialContent)==null?[]:u)}if(this.model.colWidths&&Ct(l,this.model.colWidths),this.gridElement=l,this.model.colWidths||!this.readOnly){let e=document.createElement(`div`);e.setAttribute(`data-blok-table-scroll`,``);let t=this.model.colWidths?zt:[];e.classList.add(...t),e.appendChild(l),o.appendChild(e),this.scrollContainer=e}else o.appendChild(l),this.scrollContainer=null;if(!this.readOnly){let e=document.createElement(`div`);e.setAttribute(`data-blok-table-grip-overlay`,``),e.style.position=`absolute`,e.style.inset=`0`,e.style.pointerEvents=`none`,e.style.zIndex=`3`,o.appendChild(e),this.gripOverlay=e}return this.element=o,this.model.withHeadings&&Vt(this.gridElement,this.model.withHeadings),this.model.withHeadingColumn&&H(this.gridElement,this.model.withHeadingColumn),this.readOnly||(this.initCellBlocks(l),this.keyboardNavCleanup=Rt(l,this.cellBlocks)),o}rendered(){if(!this.element||this.initialContent===null)return;this.block&&(this.block.stretched=this.model.stretched);let e=this.gridElement;if(!e)return;let t=this.initialContent;if(this.initialContent=null,this.readOnly){var r;It(e,t,this.api,(r=this.blockId)==null?``:r);let n=this.model.snapshot();Ht(e,n.content),Ut(e,n.content),this.subsystems.initScrollHazeOnly();return}if(this.runTransactedStructuralOp(()=>{var r,i;let a=(r=(i=this.cellBlocks)==null?void 0:i.initializeCells(t))==null?t:r,o=this.isNewTable&&a.length===0?Array.from(e.querySelectorAll(`[${F}]`),e=>{let t=e.querySelectorAll(`[${I}]`).length;return Array.from({length:t},()=>({blocks:[]}))}):a;this.model.replaceAll(n.t(n.t({},this.model.snapshot()),{},{content:o})),this.isNewTable&&V(e,this.cellBlocks),this.removeGhostChildren()},!0),this.model.initialColWidth===void 0){var i;let t=(i=this.model.colWidths)==null?B(e):i;this.model.setInitialColWidth(t.length>0?Nt(t):void 0)}this.subsystems.initAll(e);let a=this.model.snapshot();if(Ht(e,a.content),Ut(e,a.content),this.isNewTable){var o;(o=this.subsystems.cellSelectionSubsystem)==null||o.selectRange({minRow:0,maxRow:0,minCol:0,maxCol:0})}}setReadOnly(e){let t=this.element,n=this.gridElement;if(!(!t||!n))if(this.readOnly=e,e){var r,i;this.teardownSubsystems(),(r=this.cellBlocks)==null||r.destroy(),this.cellBlocks=null,this.gripOverlay&&(this.gripOverlay.remove(),this.gripOverlay=null),Er.forEach(e=>t.classList.remove(e)),t.setAttribute(`data-blok-table-readonly`,``),It(n,this.model.snapshot().content,this.api,(i=this.blockId)==null?``:i)}else{t.removeAttribute(`data-blok-table-readonly`),Er.forEach(e=>t.classList.add(e));let e=document.createElement(`div`);e.setAttribute(`data-blok-table-grip-overlay`,``),e.style.position=`absolute`,e.style.inset=`0`,e.style.pointerEvents=`none`,e.style.zIndex=`3`,t.appendChild(e),this.gripOverlay=e,this.initCellBlocks(n),this.runTransactedStructuralOp(()=>{n.querySelectorAll(`[${I}]`).forEach(e=>{var t;(t=this.cellBlocks)==null||t.ensureCellHasBlock(e)})},!0),this.keyboardNavCleanup=Rt(n,this.cellBlocks),this.subsystems.initAll(n)}}removeGhostChildren(){let e=this.blockId;if(e===void 0)return;let t=this.api.blocks.getChildren(e).filter(e=>this.model.findCellForBlock(e.id)===null).map(e=>({id:e.id,index:this.api.blocks.getBlockIndex(e.id)})).filter(e=>e.index!==void 0).sort((e,t)=>t.index-e.index);for(let{index:e}of t)this.api.blocks.delete(e)}save(e){var t;let r=this.model.snapshot(),i=(t=this.blockId)==null?``:t,a=this.gridElement;return r.content=r.content.map((e,t)=>e.map((e,r)=>{if(!z(e))return e;let o=e.blocks.filter(e=>{var t,n,r;let a=(t=(n=this.api.blocks).getById)==null?void 0:t.call(n,e);return a!=null&&((r=a.parentId)==null?``:r)===i});if(o.length===0&&a){let o=a.querySelector(`[${L}="${t}"][${R}="${r}"]`),s=o==null?void 0:o.querySelector(`[${U}]`),c=s?Array.from(s.querySelectorAll(`[data-blok-id]`)).map(e=>{var t;return(t=e.getAttribute(`data-blok-id`))==null?``:t}).filter(e=>{var t,n,r;if(!e)return!1;let a=(t=(n=this.api.blocks).getById)==null?void 0:t.call(n,e);return a!=null&&((r=a.parentId)==null?``:r)===i}):[];if(c.length>0)return n.t(n.t({},e),{},{blocks:c})}return n.t(n.t({},e),{},{blocks:o})})),r}validate(e){return e.content.length>0&&e.content.every(e=>Array.isArray(e)&&e.length>0)}setData(e){var t,r,i,a,o;this.setDataGeneration++;let s=this.setDataGeneration,c=Lt(n.t(n.t({},this.model.snapshot()),e),this.config);this.initialContent=c.content,this.model.replaceAll(c),this.api.blocks.isSyncingFromYjs||this.runStructuralOp(()=>{var e;(e=this.cellBlocks)==null||e.deleteAllBlocks()},!0),(t=this.cellBlocks)==null||t.destroy();let l=this.element;if(!(l!=null&&l.parentNode)||s!==this.setDataGeneration)return;let u=(r=(i=this.subsystems.cellSelectionSubsystem)==null?void 0:i.getSelectedRange())==null?null:r,d=(a=(o=this.subsystems.rowColControlsSubsystem)==null?void 0:o.getVisibleGripIndices())==null?null:a;this.teardownSubsystems();let f=this.render();l.parentNode.replaceChild(f,l);let p=this.gridElement;if(!p)return;if(this.readOnly){let e=this.model.snapshot();Ht(p,e.content),Ut(p,e.content);return}if(s!==this.setDataGeneration)return;let m=this.api.blocks.isSyncingFromYjs;if(this.runStructuralOp(()=>{var e,t,r,i;let a=(e=(t=(r=this.cellBlocks)==null?void 0:r.initializeCells((i=this.initialContent)==null?[]:i))==null?this.initialContent:t)==null?[]:e;if(s===this.setDataGeneration){if(this.api.blocks.isSyncingFromYjs&&a.length===0&&p){let e=Array.from(p.querySelectorAll(`[${F}]`),e=>{let t=e.querySelectorAll(`[${I}]`).length;return Array.from({length:t},()=>({blocks:[]}))});this.model.replaceAll(n.t(n.t({},this.model.snapshot()),{},{content:e}))}else this.model.replaceAll(n.t(n.t({},this.model.snapshot()),{},{content:a}));this.initialContent=null}},!0),s!==this.setDataGeneration)return;this.subsystems.initAll(p);let h=this.subsystems.cellSelectionSubsystem;u!==null&&h!==null&&h.selectRange(u);let g=this.subsystems.rowColControlsSubsystem;d!==null&&g!==null&&g.restoreVisibleGrips(d.col,d.row);let _=this.model.snapshot();if(Ht(p,_.content),Ut(p,_.content),m){var v;(v=this.cellBlocks)==null||v.reclaimReferencedBlocks(),Promise.resolve().then(()=>{var e;s===this.setDataGeneration&&((e=this.cellBlocks)==null||e.reclaimReferencedBlocks())})}}onPaste(e){var r,i;let a=e.detail.data,o=a.querySelectorAll(`tr`),s=[],c=[];o.forEach(e=>{let n=e.querySelectorAll(`td, th`),r=[],i=[];n.forEach(e=>{var n;r.push(e.innerHTML);let a=(n=e.getAttribute(`style`))==null?``:n,o={},s=/background-color\s*:\s*([^;]+)/i.exec(a);s!=null&&s[1]&&(o.color=t.Hn(s[1].trim(),`bg`));let c=RegExp(`(?<![a-z-])color\\s*:\\s*([^;]+)`,`i`).exec(a);c!=null&&c[1]&&!t.y(c[1].trim())&&(o.textColor=t.Hn(c[1].trim(),`text`)),i.push(o)}),r.length>0&&(s.push(r),c.push(i))});let l=a.querySelector(`thead`)!==null,u=((r=o[0])==null?void 0:r.querySelector(`th`))!==null,d=l||u;this.initialContent=s,this.model.setWithHeadings(d),this.model.setWithHeadingColumn(!1),this.model.setColWidths(void 0),this.runStructuralOp(()=>{var e;(e=this.cellBlocks)==null||e.deleteAllBlocks()},!0),(i=this.cellBlocks)==null||i.destroy(),this.teardownSubsystems();let f=this.element;if(!(f!=null&&f.parentNode))return;let p=this.render();f.parentNode.replaceChild(p,f);let m=this.gridElement;if(!this.readOnly&&m){this.runStructuralOp(()=>{var e,t,r,i;let a=(e=(t=(r=this.cellBlocks)==null?void 0:r.initializeCells((i=this.initialContent)==null?[]:i))==null?this.initialContent:t)==null?[]:e;this.model.replaceAll(n.t(n.t({},this.model.snapshot()),{},{content:a})),this.initialContent=null,c.forEach((e,t)=>{e.forEach((e,n)=>{e.color!==void 0&&this.model.setCellColor(t,n,e.color),e.textColor!==void 0&&this.model.setCellTextColor(t,n,e.textColor)})})},!0),this.subsystems.initAll(m);let e=this.model.snapshot();Ht(m,e.content),Ut(m,e.content)}}destroy(){var e,t;if((e=this.unregisterRestrictedTools)==null||e.call(this),this.unregisterRestrictedTools=null,!this.api.blocks.isSyncingFromYjs){var n;(n=this.cellBlocks)==null||n.deleteAllBlocks()}this.teardownSubsystems(),(t=this.cellBlocks)==null||t.destroy(),this.cellBlocks=null,this.gridElement=null,this.scrollContainer=null,this.element=null}deleteRowWithCleanup(e){let t=this.gridElement;t&&this.runTransactedStructuralOp(()=>{var n;let{blocksToDelete:r}=this.model.deleteRow(e);(n=this.cellBlocks)==null||n.deleteBlocks(r),this.grid.deleteRow(t,e)})}deleteColumnWithCleanup(e){let t=this.gridElement;t&&this.runTransactedStructuralOp(()=>{var n;let{blocksToDelete:r}=this.model.deleteColumn(e);(n=this.cellBlocks)==null||n.deleteBlocks(r),this.grid.deleteColumn(t,e)})}getBlockIdsInRow(e){return Pt(this.element,this.cellBlocks,e)}getBlockIdsInColumn(e){return Ft(this.element,this.cellBlocks,e)}initCellBlocks(e){var t;this.cellBlocks=new Wt({api:this.api,gridElement:e,tableBlockId:(t=this.blockId)==null?``:t,model:this.model,isStructuralOpActive:()=>this.structuralOpDepth>0})}},Or=e=>{let t=document.createElement(`div`);t.innerHTML=e.trim();let n=document.createDocumentFragment();return n.append(...Array.from(t.childNodes)),n},kr=(e,n,r,i)=>{if(!n)return e;let a=r();return{text:a?t.Kr(a.innerHTML):e.text,isOpen:i}},Ar=(e,t)=>{let{data:n,getContentElement:r}=e;n.text+=t.text;let i=r();if(i&&t.text){let n=e.parseHTML(t.text);i.appendChild(n),i.normalize()}},jr=(e,t,r)=>{let i=r();if(!i)return{newData:e,inPlace:!1};let a=n.t(n.t({},e),t);return typeof t.text==`string`&&(i.innerHTML=t.text),{newData:a,inPlace:!0}},Mr=class e{constructor({data:e,config:t,api:n,readOnly:r,block:i}){var a;this._element=null,this._contentElement=null,this._arrowElement=null,this._bodyPlaceholderElement=null,this._childContainerElement=null,this.handleChildContainerInput=()=>{S(this._element,this._childContainerElement)},this.handleBlockChanged=e=>{this.isBlockChangedPayload(e)&&(e.event.type===`block-removed`||e.event.type===`block-added`)&&this.updateBodyPlaceholderVisibility()},this.api=n,this.readOnly=r,this._settings=t||{},this._data=this.normalizeData(e),this._isOpen=(a=this._data.isOpen)==null?!0:a,i&&(this.blockId=i.id),r||this.api.events.on(`block changed`,this.handleBlockChanged)}normalizeData(e){if(typeof e==`object`&&e&&`text`in e){let t={text:typeof e.text==`string`?e.text:``};return typeof e.isOpen==`boolean`&&(t.isOpen=e.isOpen),t}if(typeof e==`object`&&e&&`title`in e){let t=e,n={text:typeof t.title==`string`?t.title:``};return typeof t.isExpanded==`boolean`&&(n.isOpen=t.isExpanded),n}return{text:``}}get placeholder(){if(this._settings.placeholder)return this._settings.placeholder;let e=this.api.i18n.t(t.l);return e===`tools.toggle.placeholder`?`Toggle`:e}render(){let e=C({data:this._data,readOnly:this.readOnly,isOpen:this._isOpen,placeholder:this.placeholder,keydownHandler:this.readOnly?null:this.handleKeyDown.bind(this),onArrowClick:()=>this.toggleOpen(),onBodyPlaceholderClick:this.readOnly?null:()=>this.handleBodyPlaceholderClick(),bodyPlaceholderText:this.api.i18n.t(t.o),ariaLabels:{collapse:this.api.i18n.t(t.t),expand:this.api.i18n.t(t.n)}});return this._element=e.wrapper,this._contentElement=e.contentElement,this._arrowElement=e.arrowElement,this._bodyPlaceholderElement=e.bodyPlaceholderElement,this._childContainerElement=e.childContainerElement,this._childContainerElement.addEventListener(`input`,this.handleChildContainerInput),this._element}rendered(){this.updateChildrenVisibility(),this.updateBodyPlaceholderVisibility()}save(){return kr(this._data,this._element,this.getContentElement.bind(this),this._isOpen)}validate(e){return!0}merge(e){Ar({data:this._data,getContentElement:this.getContentElement.bind(this),parseHTML:Or},e)}onPaste(n){let r=n.detail;if(!(`data`in r))return;let i=r.data,a=i.querySelector(`summary`),o=t.hr(a===null?i.innerHTML:a.innerHTML,e.sanitize.text);this._data={text:o};let s=this.getContentElement();s!==null&&(s.innerHTML=o)}setData(e){let n=jr(this._data,e,this.getContentElement.bind(this));return this._data=n.newData,typeof this._data.isOpen==`boolean`&&(this._isOpen=this._data.isOpen),this._arrowElement&&this._element&&w(this._arrowElement,this._element,this._isOpen,{collapse:this.api.i18n.t(t.t),expand:this.api.i18n.t(t.n)}),this.updateChildrenVisibility(),this.updateBodyPlaceholderVisibility(),n.inPlace}renderSettings(){return[]}expand(){this._isOpen||this.setOpenState(!0)}collapse(){this._isOpen&&this.setOpenState(!1)}setReadOnly(e){if(!this._element)return;let t=this.readOnly;this.readOnly=e,this._contentElement&&(this._contentElement.contentEditable=e?`false`:`true`),e&&!t?this.api.events.off(`block changed`,this.handleBlockChanged):!e&&t&&this.api.events.on(`block changed`,this.handleBlockChanged),this.updateBodyPlaceholderVisibility()}removed(){this.api.events.off(`block changed`,this.handleBlockChanged)}isBlockChangedPayload(e){return typeof e==`object`&&!!e&&`event`in e&&typeof e.event==`object`&&e.event!==null&&`type`in e.event&&typeof e.event.type==`string`}getContentElement(){return this._contentElement}setOpenState(e){this._isOpen=e,this._arrowElement&&this._element&&w(this._arrowElement,this._element,this._isOpen,{collapse:this.api.i18n.t(t.t),expand:this.api.i18n.t(t.n)}),this.updateChildrenVisibility(),this.updateBodyPlaceholderVisibility()}toggleOpen(){this.setOpenState(!this._isOpen)}updateChildrenVisibility(){this.blockId!==void 0&&T(this.api,this.blockId,this._isOpen,this._childContainerElement,this._arrowElement)}updateBodyPlaceholderVisibility(){this.blockId!==void 0&&(E(this._bodyPlaceholderElement,this.api,this.blockId,this._isOpen,this.readOnly),S(this._element,this._childContainerElement))}handleBodyPlaceholderClick(){var e;if(this.blockId===void 0)return;let t=this.api.blocks.getBlockIndex(this.blockId);if(t===void 0)return;let n=this.api.blocks.insertInsideParent(this.blockId,t+1);this.api.caret.setToBlock(n.id,`start`),(e=this._bodyPlaceholderElement)==null||e.classList.add(`hidden`)}handleKeyDown(e){if(e.key===`Enter`&&!e.shiftKey){e.preventDefault(),this.handleEnter();return}if(e.key===`Backspace`){this.handleBackspace(e);return}}createKeyboardContext(){return{api:this.api,blockId:this.blockId,data:this._data,element:this._element,getContentElement:this.getContentElement.bind(this),syncContentFromDOM:this.syncContentFromDOM.bind(this),isOpen:this._isOpen,setOpen:e=>{this._isOpen=e}}}async handleEnter(){var e=this;await D(e.createKeyboardContext()),e.updateBodyPlaceholderVisibility()}async handleBackspace(e){await ee(this.createKeyboardContext(),e)}syncContentFromDOM(){let e=this.getContentElement();e&&(this._data.text=e.innerHTML)}static get toolbox(){return{icon:t.Dn,titleKey:`toggleList`,name:t.p,searchTerms:[`toggle`,`collapse`,`expand`,`accordion`],searchTermKeys:[`toggle`,`collapse`,`expand`,`accordion`],shortcut:`>`}}static get conversionConfig(){return{export:`text`,import:`text`}}static get sanitize(){return{text:{br:!0,a:{href:!0,target:`_blank`,rel:`nofollow`},b:!0,i:!0,mark:{class:!0,style:!0},code:!0}}}static get pasteConfig(){return{tags:[`DETAILS`]}}static get isReadOnlySupported(){return!0}},Nr=`callout`,Pr=`tools.callout.color`,Fr=`tools.callout.editIcon`,Ir=`tools.callout.addEmoji`,Lr=`tools.callout.removeEmoji`,Rr=`tools.callout.filterEmojis`,zr=`tools.callout.calloutEmojiCategory`,Br=`tools.callout.noEmojisFound`,Vr=`tools.callout.pickRandom`,Hr=`tools.callout.skinTone`,Ur=`tools.callout.emojiCategoryPeople`,Wr=`tools.callout.emojiCategoryNature`,Gr=`tools.callout.emojiCategoryFood`,Kr=`tools.callout.emojiCategoryActivity`,qr=`tools.callout.emojiCategoryTravel`,Jr=`tools.callout.emojiCategoryObjects`,Yr=`tools.callout.emojiCategorySymbols`,Xr=`tools.callout.emojiCategoryFlags`,Zr=`💡`,Qr=`rounded-xl pl-8 pr-4 py-[5px] my-1 flex items-start gap-2 relative`,$r=`text-[1.5rem] leading-[1] cursor-pointer bg-transparent border-0 px-0 py-[7px] h-[38px] flex-shrink-0 select-none`,ei=`flex-1 min-w-0`;function ti(e){let{emoji:n,readOnly:r,addEmojiLabel:i}=e,a=document.createElement(`div`);a.className=Qr;let o=document.createElement(`button`);o.type=`button`,o.className=$r,o.textContent=n||``,o.setAttribute(`aria-label`,n===``?i:n),o.setAttribute(`tabindex`,`0`),o.setAttribute(`data-blok-testid`,`callout-emoji-btn`),r&&(o.disabled=!0);let s=document.createElement(`div`);return s.className=ei,s.setAttribute(t.u.toggleChildren,``),s.setAttribute(t.bi.nestedBlocks,``),s.setAttribute(`data-blok-child-toolbar`,``),s.setAttribute(`data-blok-mutation-free`,`true`),a.appendChild(o),a.appendChild(s),{wrapper:a,emojiButton:o,childContainer:s}}function ni(e){return{emoji:e.emoji,textColor:e.textColor,backgroundColor:e.backgroundColor}}async function ri(e){if(e.calloutBlockId===void 0)return;let t=e.api.blocks.getChildren(e.calloutBlockId);if(e.event.preventDefault(),t.length<=1){await e.api.blocks.convert(e.calloutBlockId,`paragraph`);return}let n=e.api.blocks.getBlockIndex(e.firstChildBlockId);n!==void 0&&await e.api.blocks.delete(n);let r=e.api.blocks.getBlockIndex(e.calloutBlockId);r!==void 0&&r>0&&e.api.caret.setToBlock(r-1,`end`)}var ii=[`💡`,`👉`,`☝️`,`✅`,`⚠️`,`🔑`,`🔥`,`📌`,`✂️`,`❓`,`🚫`,`⏰`,`♻️`,`🔒`,`📖`,`👣`,`➡️`,`📢`,`🛠️`,`⚙️`],ai={data:null};function oi(e,t){let n=[];for(let r of e.emojis){let i=t[r];if(i===void 0)continue;let a=i.skins[0];a!==void 0&&n.push({native:a.native,skins:i.skins.map(e=>e.native),id:i.id,name:i.name,keywords:i.keywords,category:e.id})}return n}async function si(){if(ai.data!==null)return ai.data;let e=await Promise.resolve().then(()=>require(`./native-D_f6tkBY.cjs`)),t=`default`in e&&e.default!==void 0?e.default:e,n=t.categories.flatMap(e=>oi(e,t.emojis));return ai.data=n,n}function ci(e,t,n){let r=t.toLowerCase();return e.filter(e=>{if(e.name.toLowerCase().includes(r)||e.keywords.some(e=>e.includes(r)))return!0;let t=n==null?void 0:n[e.native];return t===void 0?!1:t.n.toLowerCase().includes(r)||t.k!==void 0&&t.k.some(e=>e.toLowerCase().includes(r))})}function li(e){let t=new Map;for(let r of e){var n;let e=(n=t.get(r.category))==null?[]:n;e.push(r),t.set(r.category,e)}return t}var ui=new Map,di={am:()=>Promise.resolve().then(()=>require(`./am-B37aLxvu.cjs`)),ar:()=>Promise.resolve().then(()=>require(`./ar-ySo_KDqd.cjs`)),az:()=>Promise.resolve().then(()=>require(`./az-nCoWuGBd.cjs`)),bg:()=>Promise.resolve().then(()=>require(`./bg-BKB8_J3v.cjs`)),bn:()=>Promise.resolve().then(()=>require(`./bn-BQiBKtpR.cjs`)),bs:()=>Promise.resolve().then(()=>require(`./bs-D_lekdEb.cjs`)),cs:()=>Promise.resolve().then(()=>require(`./cs-Dv8Jg_Fa.cjs`)),da:()=>Promise.resolve().then(()=>require(`./da-D33rjz-t.cjs`)),de:()=>Promise.resolve().then(()=>require(`./de-I8YFq0Ej.cjs`)),el:()=>Promise.resolve().then(()=>require(`./el-BInM0nQo.cjs`)),es:()=>Promise.resolve().then(()=>require(`./es-Cj_AHhb9.cjs`)),et:()=>Promise.resolve().then(()=>require(`./et-BkMzN_qG.cjs`)),fa:()=>Promise.resolve().then(()=>require(`./fa-C3VQIfEJ.cjs`)),fi:()=>Promise.resolve().then(()=>require(`./fi-p8xxtchQ.cjs`)),fil:()=>Promise.resolve().then(()=>require(`./fil-DC8VTmfd.cjs`)),fr:()=>Promise.resolve().then(()=>require(`./fr-Cbstr5ii.cjs`)),gu:()=>Promise.resolve().then(()=>require(`./gu-DpPoUPem.cjs`)),he:()=>Promise.resolve().then(()=>require(`./he-Rlv-PVKK.cjs`)),hi:()=>Promise.resolve().then(()=>require(`./hi-CfLaLKZL.cjs`)),hr:()=>Promise.resolve().then(()=>require(`./hr-B6eFd_4M.cjs`)),hu:()=>Promise.resolve().then(()=>require(`./hu-DQcisouf.cjs`)),hy:()=>Promise.resolve().then(()=>require(`./hy-x9QOWTT6.cjs`)),id:()=>Promise.resolve().then(()=>require(`./id-G7ASv812.cjs`)),it:()=>Promise.resolve().then(()=>require(`./it-DXDwm7Aj.cjs`)),ja:()=>Promise.resolve().then(()=>require(`./ja-DHMurrnk.cjs`)),ka:()=>Promise.resolve().then(()=>require(`./ka-P0_q1_oW.cjs`)),km:()=>Promise.resolve().then(()=>require(`./km-DedsOdPY.cjs`)),kn:()=>Promise.resolve().then(()=>require(`./kn-CAGP6H3x.cjs`)),ko:()=>Promise.resolve().then(()=>require(`./ko-3D0kPtnu.cjs`)),ku:()=>Promise.resolve().then(()=>require(`./ku-BYzD3GnU.cjs`)),lo:()=>Promise.resolve().then(()=>require(`./lo-D9ixPNJD.cjs`)),lt:()=>Promise.resolve().then(()=>require(`./lt-CzfEJdVd.cjs`)),lv:()=>Promise.resolve().then(()=>require(`./lv-DWyBbTHI.cjs`)),mk:()=>Promise.resolve().then(()=>require(`./mk-Anl5AUSU.cjs`)),ml:()=>Promise.resolve().then(()=>require(`./ml-B1QmnbTX.cjs`)),mn:()=>Promise.resolve().then(()=>require(`./mn-DM3AWPQI.cjs`)),mr:()=>Promise.resolve().then(()=>require(`./mr-CPCMiBsx.cjs`)),ms:()=>Promise.resolve().then(()=>require(`./ms-BKg5zJ6g.cjs`)),my:()=>Promise.resolve().then(()=>require(`./my-BhrbZPAE.cjs`)),ne:()=>Promise.resolve().then(()=>require(`./ne-BsEUv3Vp.cjs`)),nl:()=>Promise.resolve().then(()=>require(`./nl-C1jFx32v.cjs`)),no:()=>Promise.resolve().then(()=>require(`./no-BWEOGeAo.cjs`)),pa:()=>Promise.resolve().then(()=>require(`./pa-BitCteAA.cjs`)),pl:()=>Promise.resolve().then(()=>require(`./pl-CbCrHaA6.cjs`)),ps:()=>Promise.resolve().then(()=>require(`./ps-4sPZuv3g.cjs`)),pt:()=>Promise.resolve().then(()=>require(`./pt-CSzjho-V.cjs`)),ro:()=>Promise.resolve().then(()=>require(`./ro-C9tN3AFF.cjs`)),ru:()=>Promise.resolve().then(()=>require(`./ru-BYPO5wNO.cjs`)),sd:()=>Promise.resolve().then(()=>require(`./sd-BWuglgs_.cjs`)),si:()=>Promise.resolve().then(()=>require(`./si-IX2P_DGB.cjs`)),sk:()=>Promise.resolve().then(()=>require(`./sk-CxtyIOlr.cjs`)),sl:()=>Promise.resolve().then(()=>require(`./sl-CPjYG80u.cjs`)),sq:()=>Promise.resolve().then(()=>require(`./sq-Do6UyHn9.cjs`)),sr:()=>Promise.resolve().then(()=>require(`./sr-BcyT-MWS.cjs`)),sv:()=>Promise.resolve().then(()=>require(`./sv-Bsz7ersx.cjs`)),sw:()=>Promise.resolve().then(()=>require(`./sw-CUElHZxL.cjs`)),ta:()=>Promise.resolve().then(()=>require(`./ta-D0DQba-y.cjs`)),te:()=>Promise.resolve().then(()=>require(`./te-DPMvJyXg.cjs`)),th:()=>Promise.resolve().then(()=>require(`./th-DtcrIt9J.cjs`)),tr:()=>Promise.resolve().then(()=>require(`./tr-BrEFaVNA.cjs`)),ug:()=>Promise.resolve().then(()=>require(`./ug-CqZXfhXi.cjs`)),uk:()=>Promise.resolve().then(()=>require(`./uk-DgReWEge.cjs`)),ur:()=>Promise.resolve().then(()=>require(`./ur-ByrwJnY1.cjs`)),vi:()=>Promise.resolve().then(()=>require(`./vi-lUD3w7gP.cjs`)),zh:()=>Promise.resolve().then(()=>require(`./zh-fSp1qOne.cjs`))};async function fi(e){if(e===`en`)return null;let t=ui.get(e);if(t!==void 0)return t;let n=di[e];if(n===void 0)return null;try{let t=(await n()).default;return ui.set(e,t),t}catch(e){return null}}var pi={callout:zr,people:Ur,nature:Wr,foods:Gr,activity:Kr,places:qr,objects:Jr,symbols:Yr,flags:Xr},mi=[[`callout`,t._t],[`people`,t.ht],[`nature`,t.gt],[`foods`,t.vt],[`activity`,t.ft],[`places`,t.Dt],[`objects`,t.mt],[`symbols`,t.Pt],[`flags`,t.pt]],hi=[`✋`,`✋🏻`,`✋🏼`,`✋🏽`,`✋🏾`,`✋🏿`],gi=`blok-emoji-skin-tone`;function _i(){try{let e=localStorage.getItem(gi);if(e===null)return 0;let t=parseInt(e,10);return t>=0&&t<=5?t:0}catch(e){return 0}}function vi(e){try{localStorage.setItem(gi,String(e))}catch(e){}}var yi=t.st,bi=class{constructor(e){this._localeData=null,this._open=!1,this._allEmojis=[],this._skinTone=0,this._showingEmptyState=!1,this._anchorEl=null,this._backdrop=null,this._savedOverflow=``,this._navButtons=new Map,this._sectionEls=new Map,this._activeNavId=``,this._navRafId=0,this._skinToneButtons=[],this.onSelect=e.onSelect,this.onRemove=e.onRemove,this.i18n=e.i18n,this._locale=e.locale,this._element=this.buildElement();let t=this._element.querySelector(`[data-emoji-picker-body]`),n=this._element.querySelector(`[data-emoji-picker-nav]`),r=this._element.querySelector(`input[type="text"]`);if(t===null||n===null||r===null)throw Error(`EmojiPicker: failed to build required elements`);this._body=t,this._nav=n,this._filterInput=r,this._body.addEventListener(`scroll`,()=>{cancelAnimationFrame(this._navRafId),this._navRafId=requestAnimationFrame(()=>this.updateActiveNav())},{passive:!0})}getElement(){return this._element}isOpen(){return this._open}async open(e){var t=this;t._anchorEl=e,t._open=!0,t._filterInput.value=``,t._element.setAttribute(`data-theme`,t.resolveTheme());let n=_i();if(n!==t._skinTone){t._skinTone=n,t._skinToneToggle.textContent=hi[n];for(let[e,r]of t._skinToneButtons.entries())t.applySkinToneActiveStyle(r,e===n)}if(t._allEmojis.length===0&&(t._allEmojis=await si()),t._locale!==`en`&&t._localeData===null){let e=await fi(t._locale);e!==null&&(t._localeData=e)}t.renderEmojiGrid(t._allEmojis),t.showBackdrop(),t._element.style.animation=`none`,t._element.hidden=!1,t.position(e),t._element.offsetHeight,t._element.style.animation=``,t._filterInput.focus()}close(){var e;this._open=!1,this._element.hidden=!0,this.closeSkinTonePopover(),this.removeBackdrop(),(e=this._anchorEl)==null||e.focus()}buildElement(){let e=document.createElement(`div`);e.setAttribute(`data-blok-emoji-picker`,``),e.className=[`fixed z-50 w-[400px] overflow-hidden rounded-xl`,`border border-neutral-200/70 bg-white shadow-2xl`,`theme-dark:border-neutral-700/50 theme-dark:bg-neutral-900`].join(` `),e.hidden=!0;let n=document.createElement(`div`);n.className=`flex items-center gap-2.5 px-3 pt-3 pb-2`;let r=document.createElement(`div`);r.className=`relative flex-1 min-w-0`;let i=document.createElement(`span`);i.className=[`pointer-events-none absolute left-2.5 top-1/2 -translate-y-1/2 flex items-center`,`text-neutral-400 theme-dark:text-neutral-500 [&>svg]:w-[16px] [&>svg]:h-[16px]`].join(` `),i.innerHTML=t._n;let a=document.createElement(`input`);a.type=`text`,a.placeholder=this.i18n.t(Rr),a.className=[`w-full text-[13px] rounded-lg py-[7px] pl-8 pr-3 outline-hidden`,`bg-neutral-100 text-neutral-800 placeholder:text-neutral-400`,`theme-dark:bg-neutral-800 theme-dark:text-neutral-200 theme-dark:placeholder:text-neutral-500`,`focus:ring-2 focus:ring-neutral-300/60 theme-dark:focus:ring-neutral-600/60`,`transition-shadow duration-150`].join(` `),a.addEventListener(`input`,()=>this.handleFilterChange(a.value)),r.appendChild(i),r.appendChild(a);let o=document.createElement(`div`);o.className=`relative flex-shrink-0`;let s=document.createElement(`button`);s.type=`button`,s.setAttribute(`data-emoji-picker-skin-toggle`,``),s.setAttribute(`aria-label`,this.i18n.t(Hr)),s.title=this.i18n.t(Hr),s.className=[`w-[28px] h-[28px] flex items-center justify-center rounded-lg`,`text-[14px] leading-none cursor-pointer select-none`,`hover:bg-neutral-100 theme-dark:hover:bg-neutral-800`,`active:scale-90 transition-all duration-100`].join(` `),s.textContent=hi[this._skinTone],s.addEventListener(`click`,()=>this.toggleSkinTonePopover()),this._skinToneToggle=s,o.appendChild(s),this._skinTonePopover=this.buildSkinTonePopover(),o.appendChild(this._skinTonePopover);let c=document.createElement(`button`);c.type=`button`,c.setAttribute(`data-emoji-picker-random`,``),c.setAttribute(`aria-label`,this.i18n.t(Vr)),c.className=[`flex-shrink-0 w-[34px] h-[34px] flex items-center justify-center rounded-lg`,`text-neutral-400 hover:bg-neutral-100 hover:text-neutral-600`,`theme-dark:hover:bg-neutral-800 theme-dark:hover:text-neutral-300`,`transition-colors duration-100 cursor-pointer`].join(` `),c.innerHTML=yi,c.addEventListener(`click`,()=>this.pickRandom()),t.dr(c,this.i18n.t(Vr),{placement:`bottom`});let l=document.createElement(`button`);l.type=`button`,l.setAttribute(`data-emoji-picker-remove`,``),l.setAttribute(`aria-label`,this.i18n.t(Lr)),l.className=[`flex-shrink-0 w-[34px] h-[34px] flex items-center justify-center rounded-lg`,`text-neutral-400 hover:bg-neutral-100 hover:text-neutral-600`,`theme-dark:hover:bg-neutral-800 theme-dark:hover:text-neutral-300`,`transition-colors duration-100 cursor-pointer`].join(` `),l.innerHTML=t.Z,l.addEventListener(`click`,()=>{this.onRemove(),this.close()}),t.dr(l,this.i18n.t(Lr),{placement:`bottom`});let u=document.createElement(`div`);u.className=`flex items-center gap-1`,u.appendChild(c),u.appendChild(l),n.appendChild(r),n.appendChild(o),n.appendChild(u),e.appendChild(n);let d=document.createElement(`div`);d.setAttribute(`data-emoji-picker-body`,``),d.className=`overflow-y-auto max-h-[260px] px-1.5 pb-2`,e.appendChild(d);let f=document.createElement(`div`);return f.setAttribute(`data-emoji-picker-nav`,``),f.className=[`flex items-center gap-1 px-2 pt-1 pb-1`,`border-t border-neutral-100 theme-dark:border-neutral-800`].join(` `),e.appendChild(f),e.addEventListener(`mousedown`,e=>{let t=e.target;!this._skinTonePopover.hidden&&!this._skinTonePopover.contains(t)&&!this._skinToneToggle.contains(t)&&this.closeSkinTonePopover()}),e.addEventListener(`keydown`,e=>{if(e.key===`Escape`){if(!this._skinTonePopover.hidden){this.closeSkinTonePopover();return}this.close()}}),e}buildSkinTonePopover(){let e=document.createElement(`div`);e.setAttribute(`data-emoji-picker-skin-tone`,``),e.className=[`absolute right-0 top-full mt-1.5 z-20`,`flex items-center gap-0.5 p-1 rounded-xl`,`bg-white border border-neutral-200/70 shadow-lg`,`theme-dark:bg-neutral-800 theme-dark:border-neutral-700/50`].join(` `),e.hidden=!0,this._skinToneButtons=[];for(let[t,n]of hi.entries()){let r=document.createElement(`button`);r.type=`button`,r.textContent=n,r.setAttribute(`aria-label`,`${this.i18n.t(Hr)} ${t+1}`),r.className=[`w-[32px] h-[32px] flex items-center justify-center rounded-lg`,`text-[1.2rem] leading-none cursor-pointer select-none`,`hover:bg-neutral-100 theme-dark:hover:bg-neutral-700`,`active:scale-90 transition-all duration-100`].join(` `),this.applySkinToneActiveStyle(r,t===this._skinTone),r.addEventListener(`click`,()=>{this.setSkinTone(t),this.closeSkinTonePopover()}),e.appendChild(r),this._skinToneButtons.push(r)}return e}applySkinToneActiveStyle(e,t){let n=[`bg-neutral-100`,`theme-dark:bg-neutral-700`,`ring-2`,`ring-neutral-300/60`,`theme-dark:ring-neutral-600/60`];t?e.classList.add(...n):e.classList.remove(...n)}toggleSkinTonePopover(){this._skinTonePopover.hidden=!this._skinTonePopover.hidden,this.updateSkinToneToggleActive()}closeSkinTonePopover(){this._skinTonePopover.hidden=!0,this.updateSkinToneToggleActive()}updateSkinToneToggleActive(){let e=!this._skinTonePopover.hidden,t=[`bg-neutral-100`,`theme-dark:bg-neutral-700`];e?this._skinToneToggle.classList.add(...t):this._skinToneToggle.classList.remove(...t)}setSkinTone(e){this._skinTone=e,vi(e),this._skinToneToggle.textContent=hi[e];for(let[t,n]of this._skinToneButtons.entries())this.applySkinToneActiveStyle(n,t===e);let t=Array.from(this._body.querySelectorAll(`[data-emoji-native]`));for(let e of t){let t=e.getAttribute(`data-emoji-native`);if(t===null)continue;let n=this._allEmojis.find(e=>e.native===t);n!==void 0&&(e.textContent=this.getSkinnedNative(n))}}pickRandom(){if(this._allEmojis.length===0)return;let e=Math.floor(Math.random()*this._allEmojis.length),t=this._allEmojis[e];t!==void 0&&this.onSelect(this.getSkinnedNative(t))}buildCategoryNav(e){this._nav.innerHTML=``,this._navButtons.clear(),this._activeNavId=``;for(let[t,n]of mi){if(!e.has(t))continue;let r=this.translateCategory(t),i=document.createElement(`button`);i.type=`button`,i.innerHTML=n,i.title=r,i.setAttribute(`aria-label`,r),i.setAttribute(`data-emoji-nav`,t),i.className=[`flex-1 h-[36px] flex items-center justify-center`,`rounded-lg cursor-pointer opacity-50`,`text-neutral-500 theme-dark:text-neutral-400`,`[&>svg]:w-[20px] [&>svg]:h-[20px]`,`hover:opacity-100 hover:bg-neutral-100`,`theme-dark:hover:bg-neutral-800`,`transition-all duration-100`].join(` `),i.addEventListener(`click`,()=>this.scrollToSection(t)),this._nav.appendChild(i),this._navButtons.set(t,i)}}scrollToSection(e){let t=this._sectionEls.get(e);if(t===void 0)return;let n=this._body.getBoundingClientRect(),r=t.getBoundingClientRect();this._body.scrollTo({top:this._body.scrollTop+(r.top-n.top),behavior:`smooth`})}updateActiveNav(){let e=this._body.getBoundingClientRect().top,t=[...this._sectionEls.entries()].filter(([,t])=>t.getBoundingClientRect().top-e<=20).reduce((e,[t])=>t,``);if(t!==this._activeNavId){this._activeNavId=t;for(let[e,n]of this._navButtons)e===t?(n.classList.remove(`opacity-50`),n.classList.add(`opacity-100`,`bg-neutral-100`,`theme-dark:bg-neutral-800`)):(n.classList.remove(`opacity-100`,`bg-neutral-100`,`theme-dark:bg-neutral-800`),n.classList.add(`opacity-50`))}}getSkinnedNative(e){var t;return(t=e.skins[this._skinTone])==null?e.native:t}handleFilterChange(e){if(e.trim()===``){this._nav.hidden=!1,this.renderEmojiGrid(this._allEmojis);return}this._nav.hidden=!0;let t=ci(this._allEmojis,e,this._localeData);if(t.length===0)this._showingEmptyState||this.renderEmptyState();else{this._body.innerHTML=``,this._sectionEls.clear(),this._showingEmptyState=!1;let e=li(t);for(let[t,n]of e){let e=this.buildSection(this.translateCategory(t),n);e.setAttribute(`data-emoji-section`,t),this._sectionEls.set(t,e),this._body.appendChild(e)}}}renderEmojiGrid(e){this._body.innerHTML=``,this._sectionEls.clear(),this._showingEmptyState=!1;let t=new Set,n=ii.map(t=>e.find(e=>e.native===t)).filter(e=>e!==void 0);if(n.length>0){t.add(`callout`);let e=this.buildSection(this.translateCategory(`callout`),n);e.setAttribute(`data-emoji-section`,`callout`),this._sectionEls.set(`callout`,e),this._body.appendChild(e)}let r=new Set(ii),i=li(e.filter(e=>!r.has(e.native)));for(let[e,n]of i){t.add(e);let r=this.buildSection(this.translateCategory(e),n);r.setAttribute(`data-emoji-section`,e),this._sectionEls.set(e,r),this._body.appendChild(r)}this.buildCategoryNav(t),this._nav.hidden=!1,requestAnimationFrame(()=>this.updateActiveNav())}renderEmptyState(){this._body.innerHTML=``,this._showingEmptyState=!0,this._sectionEls.clear();let e=document.createElement(`div`);e.className=[`flex flex-col items-center justify-center py-10`,`text-neutral-400 theme-dark:text-neutral-500 select-none`,`animate-[blok-emoji-empty-in_300ms_ease-out_both]`].join(` `);let n=document.createElement(`span`);n.className=`mb-3 opacity-20 [&>svg]:w-9 [&>svg]:h-9`,n.innerHTML=t._n;let r=document.createElement(`span`);r.className=`text-[13px] font-medium`,r.textContent=this.i18n.t(Br),e.appendChild(n),e.appendChild(r),this._body.appendChild(e)}translateCategory(e){let t=pi[e];return t===void 0?e:this.i18n.t(t)}buildSection(e,t){let n=document.createElement(`div`),r=document.createElement(`div`);return r.className=[`text-[11px] font-semibold uppercase tracking-wider px-2 pt-3 pb-1.5`,`text-neutral-400/80 theme-dark:text-neutral-500/80`,`sticky top-0 bg-white theme-dark:bg-neutral-900 z-10`].join(` `),r.textContent=e,n.appendChild(r),n.appendChild(this.buildGrid(t)),n}getDisplayName(e){var t,n;return((t=(n=this._localeData)==null||(n=n[e.native])==null?void 0:n.n)==null?e.name:t).toLocaleLowerCase()}buildGrid(e){let n=document.createElement(`div`);n.className=`grid grid-cols-10 gap-0.5 px-0.5 pt-1`;for(let r of e){let e=document.createElement(`button`);e.type=`button`,e.textContent=this.getSkinnedNative(r),e.setAttribute(`data-emoji-native`,r.native),e.className=[`aspect-square flex items-center justify-center`,`text-[1.25rem] leading-none rounded-lg cursor-pointer`,`hover:bg-neutral-100 theme-dark:hover:bg-neutral-800`,`hover:scale-110 active:scale-95`,`transition-transform duration-75`].join(` `),e.addEventListener(`click`,()=>{this.onSelect(this.getSkinnedNative(r)),this.close()}),t.dr(e,this.getDisplayName(r),{placement:`bottom`}),n.appendChild(e)}return n}resolveTheme(){let e=document.documentElement.getAttribute(`data-blok-theme`);return e===`dark`?`dark`:e===`light`?`light`:window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`}showBackdrop(){var e;this.removeBackdrop();let t=document.createElement(`div`);t.setAttribute(`data-blok-emoji-picker-backdrop`,``),t.style.position=`fixed`,t.style.inset=`0`,t.style.zIndex=`50`,t.addEventListener(`mousedown`,e=>{e.target===t&&this.close()}),(e=this._element.parentElement)==null||e.insertBefore(t,this._element),t.appendChild(this._element),this._backdrop=t,this._savedOverflow=document.documentElement.style.overflow,document.documentElement.style.overflow=`hidden`}removeBackdrop(){var e;this._backdrop!==null&&(document.documentElement.style.overflow=this._savedOverflow,(e=this._backdrop.parentElement)==null||e.insertBefore(this._element,this._backdrop),this._backdrop.remove(),this._backdrop=null)}position(e){let t=e.getBoundingClientRect(),n=this._element.getBoundingClientRect(),r=window.innerHeight,i=window.innerWidth,a=t.bottom+n.height>r?t.top-n.height-4:t.bottom+4,o=t.left-8,s=o+n.width>i?t.right-n.width:Math.max(0,o);this._element.style.top=`${a}px`,this._element.style.left=`${s}px`}};function xi(e){return e.isEmojiVisible===!1?``:typeof e.emoji==`string`&&e.emoji.length>0?e.emoji:Zr}var Si={general:null,note:`blue`,important:`purple`,warning:`orange`,additional:`yellow`,recommendation:`green`,caution:`red`},Ci=class{constructor({data:e,api:t,readOnly:n,block:r,config:i}){this._dom=null,this._emojiPicker=null,this._colorPicker=null,this._pendingChildText=null,this.api=t,this.readOnly=n;let a=typeof e.__importedText==`string`?e.__importedText:null;a!==null&&a.length>0&&(this._pendingChildText=a),this._data=this.normalizeData(e),r&&(this.blockId=r.id),this._customEmojiPicker=i==null?void 0:i.emojiPicker}normalizeData(e){let t=e;return`variant`in t||`isEmojiVisible`in t?this.normalizeLegacyData(t):{emoji:typeof e.emoji==`string`?e.emoji:Zr,textColor:typeof e.textColor==`string`?e.textColor:null,backgroundColor:typeof e.backgroundColor==`string`?e.backgroundColor:null}}normalizeLegacyData(e){let t=typeof e.variant==`string`?e.variant:`general`,n=t in Si?Si[t]:null;return{emoji:xi(e),textColor:null,backgroundColor:n==null?null:n}}render(){if(this._dom)return this._dom.wrapper;let e=ti({emoji:this._data.emoji,readOnly:this.readOnly,addEmojiLabel:this.api.i18n.t(Ir)});return this._dom=e,this.applyColors(),this.readOnly||(e.emojiButton.addEventListener(`click`,()=>this.openEmojiPicker()),e.emojiButton.addEventListener(`keydown`,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),this.openEmojiPicker())}),e.childContainer.addEventListener(`keydown`,e=>{e.key===`Backspace`&&this.handleChildBackspace(e)})),e.wrapper}rendered(){if(this.blockId===void 0||this._dom===null)return;let e=this.api.blocks.getChildren(this.blockId);if(x(this._dom.childContainer,e),e.length===0){let e=this.api.blocks.getBlockIndex(this.blockId);if(e!==void 0){let t=this._pendingChildText;this._pendingChildText=null;let n=t!==null&&t.length>0?{text:t}:void 0,r=this.api.blocks.insertInsideParent(this.blockId,e+1,n);this._dom.childContainer.appendChild(r.holder),this.api.caret.setToBlock(r.id,t===null?`start`:`end`)}}}save(){return ni({emoji:this._data.emoji,textColor:this._data.textColor,backgroundColor:this._data.backgroundColor})}validate(e){return!0}onPaste(e){var n;let r=(n=e.detail.data.getAttribute(`style`))==null?``:n,i=/background(?:-color)?\s*:\s*([^;]+)/i.exec(r);if(i!=null&&i[1]){let e=t.Un(i[1].trim(),`bg`);e&&(this._data.backgroundColor=e)}this.applyColors()}renderSettings(){if(this._colorPicker===null){let e=on({i18n:this.api.i18n,testIdPrefix:`callout-color`,modes:[{key:`color`,labelKey:`tools.marker.textColor`,presetField:`text`},{key:`background-color`,labelKey:`tools.marker.background`,presetField:`bg`}],onColorSelect:(n,r)=>{let i=n===null?null:t.Un(n,r===`color`?`text`:`bg`);r===`color`?this._data.textColor=i:this._data.backgroundColor=i,e.setActiveColor(n,r),this.applyColors()}});this._colorPicker=e}return this.syncPickerActiveColors(),[{icon:t.ht,title:this.api.i18n.t(Fr),name:`callout-edit-icon`,closeOnActivate:!0,onActivate:()=>this.openEmojiPicker()},{icon:t.ln,title:this.api.i18n.t(Pr),name:`callout-color`,children:{items:[{type:t.vr.Html,element:this._colorPicker.element}]}}]}removed(){}setReadOnly(e){this.readOnly=e,this._dom&&(this._dom.emojiButton.disabled=e)}syncPickerActiveColors(){if(this._colorPicker===null)return;let e=this._data.textColor,n=this._data.backgroundColor;this._colorPicker.setActiveColor(e===null?null:t.Yn(e,`text`),`color`),this._colorPicker.setActiveColor(n===null?null:t.Yn(n,`bg`),`background-color`)}applyColors(){if(this._dom===null)return;let{textColor:e,backgroundColor:n}=this._data;if(e===null?this._dom.wrapper.style.color=``:this._dom.wrapper.style.color=t.Yn(e,`text`),n!==null){let e=t.Yn(n,`bg`);this._dom.wrapper.style.backgroundColor=e,this._dom.wrapper.style.border=``,this._dom.wrapper.style.setProperty(`--blok-search-input-bg`,`light-dark(color-mix(in srgb, ${e} 70%, white), color-mix(in srgb, ${e} 85%, white))`)}else this._dom.wrapper.style.backgroundColor=``,this._dom.wrapper.style.border=`1px solid var(--blok-callout-default-border, #e5e7eb)`,this._dom.wrapper.style.removeProperty(`--blok-search-input-bg`),this._dom.wrapper.style.removeProperty(`--blok-search-input-border`)}handleChildBackspace(e){if(this.blockId===void 0||this._dom===null)return;let t=this.api.blocks.getChildren(this.blockId);if(t.length===0)return;let n=t[0],r=e.target;if(!n.holder.contains(r))return;let i=window.getSelection(),a=i!==null&&i.rangeCount>0&&i.getRangeAt(0).startOffset===0&&i.getRangeAt(0).collapsed;n.holder.textContent!==``||!a||ri({api:this.api,calloutBlockId:this.blockId,firstChildBlockId:n.id,event:e})}openEmojiPicker(){if(this._dom!==null){if(this._customEmojiPicker!==void 0){this._customEmojiPicker(e=>this.setEmoji(e));return}this._emojiPicker===null&&(this._emojiPicker=new bi({onSelect:e=>this.setEmoji(e),onRemove:()=>this.setEmoji(``),i18n:this.api.i18n,locale:this.api.i18n.getLocale()}),document.body.appendChild(this._emojiPicker.getElement())),this._emojiPicker.open(this._dom.emojiButton)}}setEmoji(e){this._data.emoji=e,this._dom!==null&&(this._dom.emojiButton.textContent=e,this._dom.emojiButton.setAttribute(`aria-label`,e===``?this.api.i18n.t(Ir):e))}static get toolbox(){return{icon:t.U,titleKey:`callout`,name:Nr,searchTerms:[`callout`,`note`,`info`,`warning`,`tip`,`alert`],searchTermKeys:[`callout`,`note`,`info`,`warning`,`tip`,`alert`]}}static get conversionConfig(){return{import:e=>({emoji:Zr,textColor:null,backgroundColor:null,__importedText:e})}}static get pasteConfig(){return{tags:[{ASIDE:{style:!0}}]}}static get sanitize(){return{emoji:!1,textColor:!1,backgroundColor:!1}}static get isReadOnlySupported(){return!0}},wi=`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz`;function Ti(e,t,n){let r=n[0];if(t!=null&&e>=t)throw Error(e+` >= `+t);if(e.slice(-1)===r||t&&t.slice(-1)===r)throw Error(`trailing zero`);if(t){let i=0;for(;(e[i]||r)===t[i];)i++;if(i>0)return t.slice(0,i)+Ti(e.slice(i),t.slice(i),n)}let i=e?n.indexOf(e[0]):0,a=t==null?n.length:n.indexOf(t[0]);return a-i>1?n[Math.round(.5*(i+a))]:t&&t.length>1?t.slice(0,1):n[i]+Ti(e.slice(1),null,n)}function Ei(e){if(e.length!==Di(e[0]))throw Error(`invalid integer part of order key: `+e)}function Di(e){if(e>=`a`&&e<=`z`)return e.charCodeAt(0)-97+2;if(e>=`A`&&e<=`Z`)return 90-e.charCodeAt(0)+2;throw Error(`invalid order key head: `+e)}function Oi(e){let t=Di(e[0]);if(t>e.length)throw Error(`invalid order key: `+e);return e.slice(0,t)}function ki(e,t){if(e===`A`+t[0].repeat(26))throw Error(`invalid order key: `+e);let n=Oi(e);if(e.slice(n.length).slice(-1)===t[0])throw Error(`invalid order key: `+e)}function Ai(e,t){Ei(e);let[n,...r]=e.split(``),i=!0;for(let e=r.length-1;i&&e>=0;e--){let n=t.indexOf(r[e])+1;n===t.length?r[e]=t[0]:(r[e]=t[n],i=!1)}if(i){if(n===`Z`)return`a`+t[0];if(n===`z`)return null;let e=String.fromCharCode(n.charCodeAt(0)+1);return e>`a`?r.push(t[0]):r.pop(),e+r.join(``)}else return n+r.join(``)}function ji(e,t){Ei(e);let[n,...r]=e.split(``),i=!0;for(let e=r.length-1;i&&e>=0;e--){let n=t.indexOf(r[e])-1;n===-1?r[e]=t.slice(-1):(r[e]=t[n],i=!1)}if(i){if(n===`a`)return`Z`+t.slice(-1);if(n===`A`)return null;let e=String.fromCharCode(n.charCodeAt(0)-1);return e<`Z`?r.push(t.slice(-1)):r.pop(),e+r.join(``)}else return n+r.join(``)}function Mi(e,t,n=wi){if(e!=null&&ki(e,n),t!=null&&ki(t,n),e!=null&&t!=null&&e>=t)throw Error(e+` >= `+t);if(e==null){if(t==null)return`a`+n[0];let e=Oi(t),r=t.slice(e.length);if(e===`A`+n[0].repeat(26))return e+Ti(``,r,n);if(e<t)return e;let i=ji(e,n);if(i==null)throw Error(`cannot decrement any more`);return i}if(t==null){let t=Oi(e),r=e.slice(t.length),i=Ai(t,n);return i==null?t+Ti(r,null,n):i}let r=Oi(e),i=e.slice(r.length),a=Oi(t),o=t.slice(a.length);if(r===a)return r+Ti(i,o,n);let s=Ai(r,n);if(s==null)throw Error(`cannot increment any more`);return s<t?s:r+Ti(i,null,n)}var Ni={notStarted:[`Not`,`started`].join(` `),inProgress:[`In`,`progress`].join(` `),done:[`Do`,`ne`].join(``)},Pi=class e{constructor(t){if(this.rows=[],(t==null?void 0:t.schema)!==void 0&&t.schema.length>0?this.schema=t.schema.map(e=>n.t({},e)):this.schema=e.createDefaultSchema(),(t==null?void 0:t.views)!==void 0&&t.views.length>0)this.views=t.views.map(e=>n.t(n.t({},e),{},{sorts:[...e.sorts],filters:[...e.filters],visibleProperties:[...e.visibleProperties]}));else{let t=this.schema.find(e=>e.type===`select`);this.views=[e.createDefaultView(t==null?void 0:t.id)]}this.activeViewId=(t==null?void 0:t.activeViewId)||(this.views.length>0?this.views[0].id:``)}getSchema(){return[...this.schema]}getProperty(e){return this.schema.find(t=>t.id===e)}addProperty(e,r,i){let a=this.schema.length>0?this.schema[this.schema.length-1].position:null,o=n.t({id:t.Jr(),name:e,type:r,position:Mi(a,null)},i===void 0?{}:{config:i});return this.schema.push(o),o}updateProperty(e,t){let n=this.schema.find(t=>t.id===e);n!==void 0&&(t.name!==void 0&&(n.name=t.name),t.config!==void 0&&(n.config=t.config))}deleteProperty(e){this.schema=this.schema.filter(t=>t.id!==e)}setRows(e){this.rows=e}getOrderedRows(){return[...this.rows].sort((e,t)=>e.position.localeCompare(t.position))}getRow(e){return this.rows.find(t=>t.id===e)}createRowData(e){let n=this.getOrderedRows(),r=n.length>0?n[n.length-1].position:null;return{id:t.Jr(),position:Mi(r,null),properties:e==null?{}:e}}getRowsGroupedBy(e){let t=new Map,n=this.getOrderedRows();for(let r of n){let n=r.properties[e],i=this.toGroupKey(n),a=t.get(i);a===void 0?t.set(i,[r]):a.push(r)}return t}getSelectOptions(e){var t,n;let r=this.getProperty(e);return r===void 0||r.type!==`select`&&r.type!==`multiSelect`?[]:[...(t=(n=r.config)==null?void 0:n.options)==null?[]:t].sort((e,t)=>e.position<t.position?-1:1)}getViews(){return[...this.views]}getView(e){return this.views.find(t=>t.id===e)}addView(e,n,r={}){var i,a,o;let s=[...this.views].sort((e,t)=>e.position<t.position?-1:1),c=s.length>0?s[s.length-1].position:null,l={id:t.Jr(),name:e,type:n,position:Mi(c,null),groupBy:r.groupBy,sorts:(i=r.sorts)==null?[]:i,filters:(a=r.filters)==null?[]:a,visibleProperties:(o=r.visibleProperties)==null?[]:o};return this.views.push(l),l}updateView(e,t){let n=this.views.find(t=>t.id===e);n!==void 0&&Object.assign(n,t)}deleteView(e){this.views=this.views.filter(t=>t.id!==e)}hydrate(e){e.schema!==void 0&&(this.schema=structuredClone(e.schema)),e.views!==void 0&&(this.views=structuredClone(e.views))}snapshot(){return{schema:structuredClone(this.schema),views:structuredClone(this.views),activeViewId:this.activeViewId}}toGroupKey(e){return e==null?``:typeof e==`string`?e:typeof e==`boolean`||typeof e==`number`?String(e):``}static positionBetween(e,t){return Mi(e,t)}static createDefaultSchema(){return[{id:t.Jr(),name:`Title`,type:`title`,position:`a0`},{id:t.Jr(),name:`Status`,type:`select`,position:`a1`,config:{options:[{id:t.Jr(),label:Ni.notStarted,color:`gray`,position:`a0`},{id:t.Jr(),label:Ni.inProgress,color:`blue`,position:`a1`},{id:t.Jr(),label:Ni.done,color:`green`,position:`a2`}]}}]}static createDefaultView(e){return{id:t.Jr(),name:`Board`,type:`board`,position:`a0`,groupBy:e,sorts:[],filters:[],visibleProperties:[]}}},Fi=class{constructor({readOnly:e,i18n:t,options:n,getRows:r,titlePropertyId:i,onTitleEdit:a}){this.readOnly=e,this.i18n=t,this.options=n,this.getRows=r,this.titlePropertyId=i,this.onTitleEdit=a}createView(){let e=document.createElement(`div`);e.setAttribute(`data-blok-tool`,`database`),e.setAttribute(`role`,`region`),e.setAttribute(`aria-label`,this.i18n.t(`tools.database.kanbanBoard`)),e.style.display=`flex`;let t=document.createElement(`div`);t.setAttribute(`data-blok-database-board`,``),t.style.display=`flex`,t.style.overflowX=`auto`,t.style.alignItems=`flex-start`,t.style.gap=`12px`,t.style.paddingBottom=`24px`,t.style.flex=`1`,t.style.minWidth=`0`;for(let e of this.options){let n=this.createColumnElement(e,this.getRows(e.id),this.titlePropertyId);t.appendChild(n)}if(!this.readOnly){let e=document.createElement(`button`);e.setAttribute(`data-blok-database-add-column`,``),e.setAttribute(`aria-label`,this.i18n.t(`tools.database.addColumn`)),e.textContent=`+ `+this.i18n.t(`tools.database.addColumn`),e.style.minWidth=`260px`,e.style.flex=`0 0 260px`,t.appendChild(e)}return e.appendChild(t),e}appendRow(e,t){let n=this.createCardElement(t,this.titlePropertyId);e.appendChild(n),this.updateColumnCount(e)}removeRow(e,t){let n=e.querySelector(`[data-row-id="${t}"]`),r=n==null?void 0:n.closest(`[data-blok-database-cards]`);n==null||n.remove(),r!==null&&this.updateColumnCount(r)}updateRowTitle(e,t,n){let r=e.querySelector(`[data-row-id="${t}"]`),i=r==null?void 0:r.querySelector(`[data-blok-database-card-title]`);i!=null&&(n?(i.textContent=n,i.removeAttribute(`data-placeholder`),r==null||r.removeAttribute(`data-empty`)):(i.textContent=this.i18n.t(`tools.database.cardTitlePlaceholder`),i.setAttribute(`data-placeholder`,``),r==null||r.setAttribute(`data-empty`,``)))}appendGroup(e,t){let n=this.createColumnElement(t,[],``),r=e.querySelector(`[data-blok-database-board]`),i=r==null?e:r,a=i.querySelector(`[data-blok-database-add-column]`);a?i.insertBefore(n,a):i.appendChild(n)}removeGroup(e,t){let n=e.querySelector(`[data-option-id="${t}"]`);n==null||n.remove()}createColumnElement(e,n,r){let i=document.createElement(`div`);i.setAttribute(`data-blok-database-column`,``),i.setAttribute(`data-option-id`,e.id),i.setAttribute(`role`,`group`),i.setAttribute(`aria-label`,e.label),i.style.display=`flex`,i.style.flexDirection=`column`,i.style.minWidth=`260px`,i.style.flex=`0 0 260px`,e.color!==void 0&&(i.style.backgroundColor=`var(--blok-color-${e.color}-bg)`,i.setAttribute(`data-color`,e.color));let a=document.createElement(`div`);a.setAttribute(`data-blok-database-column-header`,``),a.style.display=`flex`,a.style.alignItems=`center`,a.style.padding=`0 0 6px 0`,a.style.borderRadius=`4px`,a.style.gap=`6px`,a.style.cursor=`grab`;let o=document.createElement(`div`);if(o.setAttribute(`data-blok-database-column-pill`,``),e.color!==void 0){o.style.backgroundColor=`color-mix(in srgb, var(--blok-color-${e.color}-text) 20%, var(--blok-color-${e.color}-bg))`,o.style.color=`var(--blok-color-${e.color}-text)`;let t=document.createElement(`span`);t.setAttribute(`data-blok-database-column-dot`,``),t.style.backgroundColor=`var(--blok-color-${e.color}-text)`,o.appendChild(t)}let s=document.createElement(`div`);s.setAttribute(`data-blok-database-column-title`,``),s.textContent=e.label,o.appendChild(s),a.appendChild(o);let c=document.createElement(`span`);c.setAttribute(`data-blok-database-column-count`,``),c.textContent=String(n.length),e.color!==void 0&&(c.style.color=`var(--blok-color-${e.color}-text)`),a.appendChild(c),i.appendChild(a);let l=document.createElement(`div`);l.setAttribute(`data-blok-database-cards`,``),l.setAttribute(`role`,`list`),l.style.display=`flex`,l.style.flexDirection=`column`,l.style.gap=`8px`,l.style.paddingTop=`6px`,l.style.minHeight=`40px`;for(let e of n){let t=this.createCardElement(e,r);l.appendChild(t)}if(i.appendChild(l),!this.readOnly){let n=document.createElement(`button`);n.setAttribute(`data-blok-database-add-card`,``),n.setAttribute(`data-option-id`,e.id),n.setAttribute(`aria-label`,this.i18n.t(`tools.database.addCard`));let r=document.createElement(`span`);r.setAttribute(`data-blok-database-add-card-icon`,``),r.innerHTML=t.fn,n.appendChild(r);let a=document.createElement(`span`);a.textContent=this.i18n.t(`tools.database.newPage`),n.appendChild(a),e.color!==void 0&&(n.style.borderColor=`color-mix(in srgb, var(--blok-color-${e.color}-text) 30%, transparent)`,n.style.color=`var(--blok-color-${e.color}-text)`),i.appendChild(n)}return i}createCardElement(e,n){var r;let i=document.createElement(`div`),a=(r=e.properties[n])==null?``:r;i.setAttribute(`data-blok-database-card`,``),i.setAttribute(`data-row-id`,e.id),i.setAttribute(`role`,`listitem`),i.style.padding=`10px 12px`,i.style.borderRadius=`10px`,i.style.cursor=`pointer`,i.style.position=`relative`,i.style.backgroundColor=`var(--blok-database-card-bg)`,i.style.boxShadow=`var(--blok-database-card-shadow)`;let o=document.createElement(`div`);if(o.setAttribute(`data-blok-database-card-title`,``),a?o.textContent=a:(o.textContent=this.i18n.t(`tools.database.cardTitlePlaceholder`),o.setAttribute(`data-placeholder`,``),i.setAttribute(`data-empty`,``)),i.appendChild(o),!this.readOnly){let n=document.createElement(`div`);n.setAttribute(`data-blok-database-card-actions`,``);let r=document.createElement(`button`);r.setAttribute(`data-blok-database-edit-card`,``),r.setAttribute(`data-row-id`,e.id),r.setAttribute(`aria-label`,this.i18n.t(`tools.database.editCardTitle`)),r.innerHTML=t.un,r.addEventListener(`click`,t=>{t.stopPropagation(),this.startCardTitleEdit(i,e.id)});let a=document.createElement(`button`);a.setAttribute(`data-blok-database-card-menu`,``),a.setAttribute(`data-row-id`,e.id),a.setAttribute(`aria-label`,this.i18n.t(`tools.database.cardMenuLabel`)),a.innerHTML=t.lt,n.appendChild(r),n.appendChild(a),i.appendChild(n)}return i}startCardTitleEdit(e,t){var n;let r=e.querySelector(`[data-blok-database-card-title]`);if(r===null)return;let i=(n=r.textContent)==null?``:n,a=document.createElement(`input`);a.type=`text`,a.value=i,a.setAttribute(`data-blok-database-card-title-input`,``),a.setAttribute(`aria-label`,this.i18n.t(`tools.database.editCardTitle`)),a.style.width=`100%`,a.style.boxSizing=`border-box`;let o={committed:!1},s=()=>{if(o.committed)return;o.committed=!0;let n=a.value.trim()||i,r=document.createElement(`div`);if(r.setAttribute(`data-blok-database-card-title`,``),r.textContent=n,a.replaceWith(r),n!==i){var s;(s=this.onTitleEdit)==null||s.call(this,t,n)}n&&e.removeAttribute(`data-empty`)},c=()=>{if(o.committed)return;o.committed=!0;let e=document.createElement(`div`);e.setAttribute(`data-blok-database-card-title`,``),e.textContent=i,a.replaceWith(e)};a.addEventListener(`blur`,s),a.addEventListener(`keydown`,e=>{e.stopPropagation(),e.key===`Enter`?(a.removeEventListener(`blur`,s),s()):e.key===`Escape`&&(a.removeEventListener(`blur`,s),c())}),r.replaceWith(a),a.focus(),a.select()}updateColumnCount(e){let t=e.closest(`[data-blok-database-column]`);if(t===null)return;let n=t.querySelector(`[data-blok-database-column-count]`);if(n!==null){let t=e.querySelectorAll(`[data-blok-database-card]`).length;n.textContent=String(t)}}},Ii=class{constructor({readOnly:e,i18n:t,rows:n,titlePropertyId:r,schema:i,visiblePropertyIds:a,options:o,getRows:s}){this.readOnly=e,this.i18n=t,this.rows=n,this.titlePropertyId=r,this.schema=i,this.visiblePropertyIds=a,this.groupOptions=o,this.getGroupRows=s}createView(){let e=document.createElement(`div`);if(e.setAttribute(`data-blok-database-list`,``),this.groupOptions!==void 0&&this.groupOptions.length>0&&this.getGroupRows!==void 0)for(let t of this.groupOptions){let n=this.getGroupRows(t.id),r=this.createGroupElement(t,n);e.appendChild(r)}else{e.setAttribute(`role`,`list`),e.setAttribute(`aria-label`,this.i18n.t(`tools.database.listView`));for(let t of this.rows){let n=this.createRowElement(t);e.appendChild(n)}if(!this.readOnly){let t=this.createAddRowButton();e.appendChild(t)}}return e}createGroupElement(e,t){let n=document.createElement(`div`);n.setAttribute(`data-blok-database-list-group`,``),n.setAttribute(`data-option-id`,e.id);let r=document.createElement(`div`);r.setAttribute(`data-blok-database-list-group-header`,``);let i=document.createElement(`span`);i.setAttribute(`data-blok-database-list-group-toggle`,``),i.textContent=`▼`;let a=document.createElement(`span`);a.setAttribute(`data-blok-database-list-group-dot`,``),e.color!==void 0&&(a.style.backgroundColor=`var(--blok-color-${e.color}-text)`);let o=document.createElement(`span`);o.setAttribute(`data-blok-database-list-group-title`,``),o.textContent=e.label;let s=document.createElement(`span`);s.setAttribute(`data-blok-database-list-group-count`,``),s.textContent=String(t.length),r.appendChild(i),r.appendChild(a),r.appendChild(o),r.appendChild(s);let c=document.createElement(`div`);c.setAttribute(`data-blok-database-list-rows`,``),c.setAttribute(`role`,`list`);for(let e of t){let t=this.createRowElement(e);c.appendChild(t)}let l=this.readOnly?null:this.createAddRowButton(e.id);return r.addEventListener(`click`,()=>{let e=c.style.display===`none`;c.style.display=e?``:`none`,i.textContent=e?`▼`:`▶`,l!==null&&(l.style.display=e?``:`none`)}),n.appendChild(r),n.appendChild(c),l!==null&&n.appendChild(l),n}appendRow(e,t){let n=this.createRowElement(t),r=e.querySelector(`[data-blok-database-add-row]`);r===null?e.appendChild(n):e.insertBefore(n,r)}removeRow(e,t){let n=e.querySelector(`[data-row-id="${t}"]`);n==null||n.remove()}updateRowTitle(e,t,n){let r=e.querySelector(`[data-row-id="${t}"]`),i=r==null?void 0:r.querySelector(`[data-blok-database-list-row-title]`);i!=null&&(n?(i.textContent=n,i.removeAttribute(`data-placeholder`)):(i.textContent=this.i18n.t(`tools.database.rowTitlePlaceholder`),i.setAttribute(`data-placeholder`,``)))}createRowElement(e){var t;let n=document.createElement(`div`),r=(t=e.properties[this.titlePropertyId])==null?``:t;n.setAttribute(`data-blok-database-list-row`,``),n.setAttribute(`data-row-id`,e.id),n.setAttribute(`role`,`listitem`);let i=document.createElement(`div`);i.setAttribute(`data-blok-database-list-row-title`,``),r?i.textContent=r:(i.textContent=this.i18n.t(`tools.database.rowTitlePlaceholder`),i.setAttribute(`data-placeholder`,``)),n.appendChild(i);let a=this.createPropertiesElement(e);return n.appendChild(a),n}createPropertiesElement(e){let t=document.createElement(`div`);t.setAttribute(`data-blok-database-list-row-properties`,``);for(let n of this.visiblePropertyIds){let r=this.schema.find(e=>e.id===n);if(r===void 0)continue;let i=e.properties[n],a=this.createPropertyBadge(r,i);a!==null&&t.appendChild(a)}let n=document.createElement(`button`);if(n.setAttribute(`data-blok-database-list-row-open`,``),n.setAttribute(`aria-label`,this.i18n.t(`tools.database.openRow`)),t.appendChild(n),!this.readOnly){let n=document.createElement(`button`);n.setAttribute(`data-blok-database-delete-row`,``),n.setAttribute(`data-row-id`,e.id),n.setAttribute(`aria-label`,this.i18n.t(`tools.database.deleteRow`)),n.textContent=`×`,t.appendChild(n)}return t}createPropertyBadge(e,t){if(t==null)return null;let n=document.createElement(`span`);if(n.setAttribute(`data-blok-database-list-row-property`,``),n.setAttribute(`data-property-id`,e.id),e.type===`select`){var r,i;let a=((r=(i=e.config)==null?void 0:i.options)==null?[]:r).find(e=>e.id===t);if(a===void 0)return null;n.textContent=a.label,a.color!==void 0&&(n.style.backgroundColor=`var(--blok-color-${a.color}-bg)`,n.style.color=`var(--blok-color-${a.color}-text)`)}else if(e.type===`checkbox`){let e=document.createElement(`input`);e.type=`checkbox`,e.checked=t===!0,n.appendChild(e)}else if(typeof t==`string`||typeof t==`number`)n.textContent=String(t);else return null;return n}createAddRowButton(e){let t=document.createElement(`button`);return t.setAttribute(`data-blok-database-add-row`,``),t.setAttribute(`aria-label`,this.i18n.t(`tools.database.addRow`)),t.textContent=`+ `+this.i18n.t(`tools.database.newRow`),e!==void 0&&t.setAttribute(`data-option-id`,e),t}},Li=500,Ri=class{constructor(e,t){this.pendingTimers=new Map,this.pendingUpdates=new Map,this.pendingPropertyTimers=new Map,this.pendingPropertyUpdates=new Map,this.adapter=e,this.onError=t}async safeCall(e){var t=this;if(t.adapter!==void 0)try{return await e(t.adapter)}catch(e){var n;(n=t.onError)==null||n.call(t,e);return}}async syncLoadDatabase(){return this.safeCall(e=>e.loadDatabase())}async syncCreateRow(e){return this.safeCall(t=>t.createRow(e))}syncUpdateRow(e){if(this.adapter===void 0)return;let{rowId:t}=e,r=this.pendingTimers.get(t);r!==void 0&&clearTimeout(r);let i=this.pendingUpdates.get(t);this.pendingUpdates.set(t,i===void 0?e:n.t(n.t(n.t({},i),e),{},{properties:n.t(n.t({},i.properties),e.properties)})),this.pendingTimers.set(t,setTimeout(()=>{this.flushRow(t)},Li))}async syncMoveRow(e){var t=this;return t.flushRow(e.rowId),t.safeCall(t=>t.moveRow(e))}async syncDeleteRow(e){await this.safeCall(t=>t.deleteRow(e))}async syncCreateProperty(e){return this.safeCall(t=>t.createProperty(e))}async syncUpdateProperty(e){return this.safeCall(t=>t.updateProperty(e))}syncUpdatePropertyDebounced(e){if(this.adapter===void 0)return;let{propertyId:t}=e,n=this.pendingPropertyTimers.get(t);n!==void 0&&clearTimeout(n),this.pendingPropertyUpdates.set(t,e),this.pendingPropertyTimers.set(t,setTimeout(()=>{this.flushProperty(t)},Li))}async syncDeleteProperty(e){await this.safeCall(t=>t.deleteProperty(e))}async syncCreateView(e){return this.safeCall(t=>t.createView(e))}async syncUpdateView(e){return this.safeCall(t=>t.updateView(e))}async syncDeleteView(e){await this.safeCall(t=>t.deleteView(e))}flushPendingUpdates(){for(let e of this.pendingTimers.keys())this.flushRow(e)}flushPendingPropertyUpdates(){for(let e of this.pendingPropertyTimers.keys())this.flushProperty(e)}destroy(){for(let e of this.pendingTimers.values())clearTimeout(e);this.pendingTimers.clear(),this.pendingUpdates.clear();for(let e of this.pendingPropertyTimers.values())clearTimeout(e);this.pendingPropertyTimers.clear(),this.pendingPropertyUpdates.clear()}flushRow(e){let t=this.pendingTimers.get(e);t!==void 0&&clearTimeout(t),this.pendingTimers.delete(e);let n=this.pendingUpdates.get(e);this.pendingUpdates.delete(e),n!==void 0&&this.safeCall(e=>e.updateRow(n))}flushProperty(e){let t=this.pendingPropertyTimers.get(e);t!==void 0&&clearTimeout(t),this.pendingPropertyTimers.delete(e);let n=this.pendingPropertyUpdates.get(e);this.pendingPropertyUpdates.delete(e),n!==void 0&&this.safeCall(e=>e.updateProperty(n))}},zi=10,Bi=class{constructor(e){this.isDragging=!1,this.rowId=``,this.startX=0,this.startY=0,this.ghostEl=null,this.sourceCard=null,this.sourceCardHeight=0,this.ghostOffsetX=0,this.ghostOffsetY=0,this.gapTarget=null,this.gapContainer=null,this.wrapper=e.wrapper,this.onDrop=e.onDrop,this.boundPointerMove=this.handlePointerMove.bind(this),this.boundPointerUp=this.handlePointerUp.bind(this),this.boundPointerCancel=this.handlePointerCancel.bind(this),this.boundKeyDown=this.handleKeyDown.bind(this)}beginTracking(e,t,n){this.cleanup(),this.rowId=e,this.startX=t,this.startY=n,this.isDragging=!1,this.sourceCard=this.wrapper.querySelector(`[data-row-id="${e}"]`),document.addEventListener(`pointermove`,this.boundPointerMove),document.addEventListener(`pointerup`,this.boundPointerUp),document.addEventListener(`pointercancel`,this.boundPointerCancel),document.addEventListener(`keydown`,this.boundKeyDown)}cleanup(){var e;document.removeEventListener(`pointermove`,this.boundPointerMove),document.removeEventListener(`pointerup`,this.boundPointerUp),document.removeEventListener(`pointercancel`,this.boundPointerCancel),document.removeEventListener(`keydown`,this.boundKeyDown),(e=this.ghostEl)==null||e.remove(),this.ghostEl=null,this.clearGap(),this.wrapper.removeAttribute(`data-blok-database-dragging`),this.sourceCard&&(this.sourceCard.style.opacity=``,this.sourceCard=null),this.isDragging=!1,this.rowId=``,this.sourceCardHeight=0,this.ghostOffsetX=0,this.ghostOffsetY=0}destroy(){this.cleanup()}handlePointerMove(e){let t=Math.abs(e.clientX-this.startX),n=Math.abs(e.clientY-this.startY);!this.isDragging&&(t>zi||n>zi)&&(this.isDragging=!0,this.startActiveDrag(e)),this.isDragging&&(this.updateGhostPosition(e),this.updateDropIndicator(e))}handlePointerUp(e){this.isDragging&&this.commitDrop(e),this.cleanup()}handlePointerCancel(){this.cleanup()}handleKeyDown(e){e.key===`Escape`&&this.cleanup()}startActiveDrag(e){if(this.sourceCard){let e=this.sourceCard.getBoundingClientRect();this.sourceCardHeight=e.height,this.ghostOffsetX=this.startX-e.left,this.ghostOffsetY=this.startY-e.top,this.sourceCard.style.opacity=`0.4`}this.wrapper.setAttribute(`data-blok-database-dragging`,``),this.createGhost(e)}createGhost(e){let t=document.createElement(`div`);t.setAttribute(`data-blok-database-ghost`,``),t.setAttribute(`contenteditable`,`false`);let n=t.style;if(n.position=`fixed`,n.pointerEvents=`none`,n.opacity=`0.85`,n.zIndex=`50`,n.boxShadow=`0 12px 28px rgba(0, 0, 0, 0.2), 0 4px 10px rgba(0, 0, 0, 0.1)`,n.borderRadius=`8px`,n.overflow=`hidden`,n.transform=`rotate(2deg) scale(1.02)`,n.transformOrigin=`center center`,this.sourceCard){let r=this.sourceCard.cloneNode(!0);r.style.opacity=``,t.appendChild(r);let i=this.sourceCard.getBoundingClientRect();n.left=`${e.clientX-this.ghostOffsetX}px`,n.top=`${e.clientY-this.ghostOffsetY}px`,n.width=`${i.width}px`}else n.left=`${e.clientX}px`,n.top=`${e.clientY}px`;document.body.appendChild(t),this.ghostEl=t}updateGhostPosition(e){this.ghostEl&&(this.ghostEl.style.left=`${e.clientX-this.ghostOffsetX}px`,this.ghostEl.style.top=`${e.clientY-this.ghostOffsetY}px`)}updateDropIndicator(e){let t=this.findTargetColumn(e.clientX);if(!t){this.clearGap();return}let n=this.getDropPosition(t,e.clientY).beforeEl;if(n){if(n===this.gapTarget)return;this.clearGap(),n.style.marginTop=`${this.sourceCardHeight}px`,this.gapTarget=n}else{let e=t.querySelector(`[data-blok-database-cards]`);if(!e){this.clearGap();return}if(e===this.gapContainer)return;this.clearGap(),e.style.paddingBottom=`${this.sourceCardHeight}px`,this.gapContainer=e}}clearGap(){this.gapTarget&&(this.gapTarget.style.marginTop=``,this.gapTarget=null),this.gapContainer&&(this.gapContainer.style.paddingBottom=``,this.gapContainer=null)}findTargetColumn(e){let t=Array.from(this.wrapper.querySelectorAll(`[data-blok-database-column]`));for(let n of t){let t=n.getBoundingClientRect();if(e>=t.left&&e<=t.right)return n}return null}getDropPosition(e,t){let n=Array.from(e.querySelectorAll(`[data-blok-database-card]`)).filter(e=>e.getAttribute(`data-row-id`)!==this.rowId);for(let e of n){let n=e.getBoundingClientRect();if(t<n.top+n.height/2)return{beforeEl:e}}return{beforeEl:null}}resolveAfterRowId(e,t,n){return e?n>0?t[n-1].getAttribute(`data-row-id`):null:t.length>0?t[t.length-1].getAttribute(`data-row-id`):null}commitDrop(e){var t;let n=this.findTargetColumn(e.clientX);if(!n)return;let r=(t=n.getAttribute(`data-option-id`))==null?``:t,i=this.getDropPosition(n,e.clientY),a=Array.from(n.querySelectorAll(`[data-blok-database-card]`)).filter(e=>e.getAttribute(`data-row-id`)!==this.rowId),o=i.beforeEl?i.beforeEl.getAttribute(`data-row-id`):null,s=i.beforeEl?a.indexOf(i.beforeEl):-1,c=this.resolveAfterRowId(i.beforeEl,a,s);this.onDrop({rowId:this.rowId,toOptionId:r,beforeRowId:o,afterRowId:c})}},Vi=10,Hi=class{constructor(e){this.isDragging=!1,this.optionId=``,this.startX=0,this.startY=0,this.ghostEl=null,this.sourceColumn=null,this.sourceColumnWidth=0,this.ghostOffsetX=0,this.gapTarget=null,this.gapContainer=null,this.wrapper=e.wrapper,this.onDrop=e.onDrop,this.boundPointerMove=this.handlePointerMove.bind(this),this.boundPointerUp=this.handlePointerUp.bind(this),this.boundPointerCancel=this.handlePointerCancel.bind(this),this.boundKeyDown=this.handleKeyDown.bind(this)}beginTracking(e,t,n){this.cleanup(),this.optionId=e,this.startX=t,this.startY=n,this.isDragging=!1,this.sourceColumn=this.wrapper.querySelector(`[data-option-id="${e}"]`),document.addEventListener(`pointermove`,this.boundPointerMove),document.addEventListener(`pointerup`,this.boundPointerUp),document.addEventListener(`pointercancel`,this.boundPointerCancel),document.addEventListener(`keydown`,this.boundKeyDown)}cleanup(){var e;document.removeEventListener(`pointermove`,this.boundPointerMove),document.removeEventListener(`pointerup`,this.boundPointerUp),document.removeEventListener(`pointercancel`,this.boundPointerCancel),document.removeEventListener(`keydown`,this.boundKeyDown),(e=this.ghostEl)==null||e.remove(),this.ghostEl=null,this.clearGap(),this.wrapper.removeAttribute(`data-blok-database-column-reordering`),this.sourceColumn&&(this.sourceColumn.style.opacity=``,this.sourceColumn=null),this.isDragging=!1,this.optionId=``,this.sourceColumnWidth=0,this.ghostOffsetX=0}destroy(){this.cleanup()}handlePointerMove(e){let t=Math.abs(e.clientX-this.startX);!this.isDragging&&t>Vi&&(this.isDragging=!0,this.startActiveDrag(e)),this.isDragging&&(this.updateGhostPosition(e),this.updateDropIndicator(e.clientX))}handlePointerUp(e){this.isDragging&&this.commitDrop(e),this.cleanup()}handlePointerCancel(){this.cleanup()}handleKeyDown(e){e.key===`Escape`&&this.cleanup()}startActiveDrag(e){if(this.sourceColumn){let e=this.sourceColumn.getBoundingClientRect();this.sourceColumnWidth=e.width,this.ghostOffsetX=this.startX-e.left,this.sourceColumn.style.opacity=`0.4`}this.wrapper.setAttribute(`data-blok-database-column-reordering`,``),this.createGhost(e)}createGhost(e){let t=document.createElement(`div`);t.setAttribute(`data-blok-database-column-ghost`,``),t.setAttribute(`contenteditable`,`false`);let n=t.style;if(n.position=`fixed`,n.pointerEvents=`none`,n.opacity=`0.85`,n.zIndex=`50`,n.boxShadow=`0 12px 28px rgba(0, 0, 0, 0.2), 0 4px 10px rgba(0, 0, 0, 0.1)`,n.borderRadius=`10px`,n.overflow=`hidden`,n.transform=`rotate(1deg) scale(1.02)`,n.transformOrigin=`center center`,this.sourceColumn){let r=this.sourceColumn.cloneNode(!0);r.style.opacity=``,t.appendChild(r);let i=this.sourceColumn.getBoundingClientRect();n.left=`${e.clientX-this.ghostOffsetX}px`,n.top=`${i.top}px`,n.width=`${i.width}px`}else n.left=`${e.clientX}px`,n.top=`${e.clientY}px`;document.body.appendChild(t),this.ghostEl=t}updateGhostPosition(e){this.ghostEl&&(this.ghostEl.style.left=`${e.clientX-this.ghostOffsetX}px`)}updateDropIndicator(e){let t=this.getDropPosition(e);if(t.beforeColumn){if(t.beforeColumn===this.gapTarget)return;this.clearGap(),t.beforeColumn.style.marginLeft=`${this.sourceColumnWidth}px`,this.gapTarget=t.beforeColumn}else this.applyEndGap()}applyEndGap(){let e=this.wrapper.querySelector(`[data-blok-database-board]`);!e||e===this.gapContainer||(this.clearGap(),e.style.paddingRight=`${this.sourceColumnWidth}px`,this.gapContainer=e)}clearGap(){this.gapTarget&&(this.gapTarget.style.marginLeft=``,this.gapTarget=null),this.gapContainer&&(this.gapContainer.style.paddingRight=``,this.gapContainer=null)}getDropPosition(e){let t=Array.from(this.wrapper.querySelectorAll(`[data-blok-database-column]`)).filter(e=>e.getAttribute(`data-option-id`)!==this.optionId);for(let n of t){let r=n.getBoundingClientRect();if(e<r.left+r.width/2){let e=t.indexOf(n);return{beforeColumn:n,afterColumn:e>0?t[e-1]:null}}}return{beforeColumn:null,afterColumn:t.length>0?t[t.length-1]:null}}commitDrop(e){let t=this.getDropPosition(e.clientX),n=t.beforeColumn?t.beforeColumn.getAttribute(`data-option-id`):null,r=t.afterColumn?t.afterColumn.getAttribute(`data-option-id`):null;this.onDrop({optionId:this.optionId,beforeOptionId:n,afterOptionId:r})}},Ui=class{constructor(e){this.options=e,this.i18n=e.i18n}makeEditable(e,t){let n=e.querySelector(`[data-blok-database-column-title]`);if(n){var r;let e=document.createElement(`input`);e.type=`text`,e.value=(r=n.textContent)==null?``:r,e.setAttribute(`data-blok-database-column-title-input`,``),e.setAttribute(`aria-label`,this.i18n.t(`tools.database.renameColumn`));let i=()=>{e.size=Math.max(e.value.length,1)};i(),e.addEventListener(`input`,i),e.addEventListener(`change`,()=>{this.options.onRename(t,e.value)}),n.replaceWith(e)}this.appendDeleteButton(e,t)}appendDeleteButton(e,t){let n=document.createElement(`button`);n.setAttribute(`data-blok-database-delete-column`,``),n.setAttribute(`aria-label`,this.i18n.t(`tools.database.deleteColumn`)),n.setAttribute(`data-option-id`,t),n.addEventListener(`click`,()=>{this.options.onDelete(t)}),e.appendChild(n)}makePillTitleEditable(e,t){let n=e.querySelector(`[data-blok-database-column-title]`);n!==null&&(n.style.cursor=`text`,n.addEventListener(`click`,r=>{var i;r.stopPropagation();let a=(i=n.textContent)==null?``:i,o=document.createElement(`input`);o.type=`text`,o.value=a,o.setAttribute(`data-blok-database-column-title-input`,``),o.setAttribute(`aria-label`,this.i18n.t(`tools.database.renameColumn`));let s=()=>{o.size=Math.max(o.value.length,1)};s(),o.addEventListener(`input`,s),o.addEventListener(`input`,()=>{var e,n;(e=(n=this.options).onRenameInput)==null||e.call(n,t,o.value)});let c={done:!1},l=e=>{let t=document.createElement(`div`);return t.setAttribute(`data-blok-database-column-title`,``),t.style.cursor=`text`,t.textContent=e,t},u=()=>{if(c.done)return;c.done=!0;let n=o.value.trim()||a,r=l(n);if(o.replaceWith(r),this.makePillTitleEditable(e,t),n!==a){var i,s;(i=(s=this.options).onRenameCommit)==null||i.call(s,t,n),this.options.onRename(t,n)}},d=()=>{if(c.done)return;c.done=!0;let n=l(a);o.replaceWith(n),this.makePillTitleEditable(e,t)};o.addEventListener(`blur`,u),o.addEventListener(`keydown`,e=>{e.stopPropagation(),e.key===`Enter`?u():e.key===`Escape`&&(o.removeEventListener(`blur`,u),d())}),n.replaceWith(o),o.focus(),o.select()}))}destroy(){}},Wi=10,Gi=class{constructor(e){this.isDragging=!1,this.rowId=``,this.startY=0,this.ghostEl=null,this.sourceRow=null,this.sourceRowHeight=0,this.ghostOffsetY=0,this.gapTarget=null,this.wrapper=e.wrapper,this.onDrop=e.onDrop,this.boundPointerMove=this.handlePointerMove.bind(this),this.boundPointerUp=this.handlePointerUp.bind(this),this.boundPointerCancel=this.handlePointerCancel.bind(this),this.boundKeyDown=this.handleKeyDown.bind(this)}beginTracking(e,t,n){this.cleanup(),this.rowId=e,this.startY=n,this.isDragging=!1,this.sourceRow=this.wrapper.querySelector(`[data-row-id="${e}"]`),document.addEventListener(`pointermove`,this.boundPointerMove),document.addEventListener(`pointerup`,this.boundPointerUp),document.addEventListener(`pointercancel`,this.boundPointerCancel),document.addEventListener(`keydown`,this.boundKeyDown)}cleanup(){var e;document.removeEventListener(`pointermove`,this.boundPointerMove),document.removeEventListener(`pointerup`,this.boundPointerUp),document.removeEventListener(`pointercancel`,this.boundPointerCancel),document.removeEventListener(`keydown`,this.boundKeyDown),(e=this.ghostEl)==null||e.remove(),this.ghostEl=null,this.clearGap(),this.sourceRow&&(this.sourceRow.style.opacity=``,this.sourceRow=null),this.isDragging=!1,this.rowId=``,this.sourceRowHeight=0,this.ghostOffsetY=0}destroy(){this.cleanup()}handlePointerMove(e){let t=Math.abs(e.clientY-this.startY);!this.isDragging&&t>Wi&&(this.isDragging=!0,this.startActiveDrag(e)),this.isDragging&&(this.updateGhostPosition(e),this.updateDropIndicator(e))}handlePointerUp(e){this.isDragging&&this.commitDrop(e),this.cleanup()}handlePointerCancel(){this.cleanup()}handleKeyDown(e){e.key===`Escape`&&this.cleanup()}startActiveDrag(e){if(this.sourceRow){let e=this.sourceRow.getBoundingClientRect();this.sourceRowHeight=e.height,this.ghostOffsetY=this.startY-e.top,this.sourceRow.style.opacity=`0.4`}this.createGhost(e)}createGhost(e){let t=document.createElement(`div`);t.setAttribute(`data-blok-database-ghost`,``),t.setAttribute(`contenteditable`,`false`);let n=t.style;if(n.position=`fixed`,n.pointerEvents=`none`,n.opacity=`0.85`,n.zIndex=`50`,n.boxShadow=`0 12px 28px rgba(0, 0, 0, 0.2), 0 4px 10px rgba(0, 0, 0, 0.1)`,n.borderRadius=`8px`,n.overflow=`hidden`,this.sourceRow){let r=this.sourceRow.cloneNode(!0);r.style.opacity=``,t.appendChild(r);let i=this.sourceRow.getBoundingClientRect();n.left=`${i.left}px`,n.top=`${e.clientY-this.ghostOffsetY}px`,n.width=`${i.width}px`}else n.left=`0px`,n.top=`${e.clientY}px`;document.body.appendChild(t),this.ghostEl=t}updateGhostPosition(e){this.ghostEl&&(this.ghostEl.style.top=`${e.clientY-this.ghostOffsetY}px`)}updateDropIndicator(e){let t=this.getDropPosition(e.clientY).beforeEl;if(t){if(t===this.gapTarget)return;this.clearGap(),t.style.marginTop=`${this.sourceRowHeight}px`,this.gapTarget=t}else this.clearGap()}clearGap(){this.gapTarget&&(this.gapTarget.style.marginTop=``,this.gapTarget=null)}getDropPosition(e){let t=Array.from(this.wrapper.querySelectorAll(`[data-blok-database-list-row]`)).filter(e=>e.getAttribute(`data-row-id`)!==this.rowId);for(let n of t){let t=n.getBoundingClientRect();if(e<t.top+t.height/2)return{beforeEl:n}}return{beforeEl:null}}commitDrop(e){let t=this.getDropPosition(e.clientY),n=Array.from(this.wrapper.querySelectorAll(`[data-blok-database-list-row]`)).filter(e=>e.getAttribute(`data-row-id`)!==this.rowId),r=t.beforeEl?t.beforeEl.getAttribute(`data-row-id`):null,i=t.beforeEl?n.indexOf(t.beforeEl):-1,a=this.resolveAfterRowId(t.beforeEl,n,i);this.onDrop({rowId:this.rowId,beforeRowId:r,afterRowId:a})}resolveAfterRowId(e,t,n){return e?n>0?t[n-1].getAttribute(`data-row-id`):null:t.length>0?t[t.length-1].getAttribute(`data-row-id`):null}},Ki=[{type:`text`,icon:t.Cn,labelKey:`tools.database.propertyTypeText`},{type:`number`,icon:t.Pt,labelKey:`tools.database.propertyTypeNumber`},{type:`select`,icon:t.vn,labelKey:`tools.database.propertyTypeSelect`},{type:`multiSelect`,icon:t.sn,labelKey:`tools.database.propertyTypeMultiSelect`},{type:`date`,icon:t.H,labelKey:`tools.database.propertyTypeDate`},{type:`checkbox`,icon:t.Qt,labelKey:`tools.database.propertyTypeCheckbox`},{type:`url`,icon:t.Dt,labelKey:`tools.database.propertyTypeUrl`}],qi=class{constructor(e){this.popoverEl=null,this.boundOutsideClick=null,this.onSelect=e.onSelect,this.i18n=e.i18n}open(e){var t,n;this.close();let r=document.createElement(`div`);r.setAttribute(`data-blok-popover`,``),r.setAttribute(`data-blok-popover-opened`,``),r.setAttribute(`data-blok-database-property-type-popover`,``),r.style.position=`fixed`,r.style.zIndex=`1000`;let i=e.getBoundingClientRect();r.style.top=`${i.bottom+4}px`,r.style.left=`${i.left}px`;let a=document.createElement(`div`);a.setAttribute(`data-blok-database-property-type-heading`,``),a.textContent=(t=(n=this.i18n)==null?void 0:n.t(`tools.database.propertyTypeHeading`))==null?`tools.database.propertyTypeHeading`:t,r.appendChild(a);for(let e of Ki){var o,s;let t=document.createElement(`div`);t.setAttribute(`data-blok-database-property-type-option`,e.type);let n=document.createElement(`div`);n.setAttribute(`data-blok-database-property-type-option-icon`,``),n.innerHTML=e.icon,t.appendChild(n);let i=document.createElement(`span`);i.textContent=(o=(s=this.i18n)==null?void 0:s.t(e.labelKey))==null?e.labelKey:o,t.appendChild(i),t.addEventListener(`click`,()=>{this.onSelect(e.type),this.close()}),r.appendChild(t)}document.body.appendChild(r),this.popoverEl=r,this.boundOutsideClick=t=>{let n=t.target;!r.contains(n)&&!e.contains(n)&&this.close()},document.addEventListener(`mousedown`,this.boundOutsideClick)}close(){this.popoverEl!==null&&(this.popoverEl.remove(),this.popoverEl=null),this.boundOutsideClick!==null&&(document.removeEventListener(`mousedown`,this.boundOutsideClick),this.boundOutsideClick=null)}destroy(){this.close()}},Ji=class{constructor(e){this.drawer=null,this.currentRowId=null,this.currentRow=null,this.blokInstance=null,this.escapeHandler=null,this.outsideClickHandler=null,this.propertyTypePopover=null,this.wrapper=e.wrapper,this.readOnly=e.readOnly,this.i18n=e.i18n,this.toolsConfig=e.toolsConfig,this.titlePropertyId=e.titlePropertyId,this.descriptionPropertyId=e.descriptionPropertyId,this.schema=e.schema,this.onTitleChange=e.onTitleChange,this.onDescriptionChange=e.onDescriptionChange,this.onClose=e.onClose,this.onAddProperty=e.onAddProperty}get isOpen(){return this.drawer!==null}open(e){var n,r,i,a,o,s,c;if(this.drawer){if(e.id===this.currentRowId)return;this.loadCard(e);return}let l=this.wrapper.querySelector(`[data-blok-database-drawer]`);l==null||l.remove(),this.currentRowId=e.id,this.currentRow=e,this.updateActiveCard(e.id);let u=(n=e.properties[this.titlePropertyId])==null?``:n,d=document.createElement(`div`);d.setAttribute(`data-blok-database-drawer`,``),d.setAttribute(`role`,`complementary`),d.setAttribute(`aria-label`,(r=(i=this.i18n)==null?void 0:i.t(`tools.database.cardDetails`))==null?`tools.database.cardDetails`:r);let f=document.createElement(`div`);f.setAttribute(`data-blok-database-drawer-toolbar`,``);let p=document.createElement(`button`);p.setAttribute(`data-blok-database-drawer-close`,``),p.setAttribute(`aria-label`,`Close`),p.innerHTML=t.X+t.X,p.addEventListener(`click`,()=>{this.close()}),f.appendChild(p),d.appendChild(f);let m=document.createElement(`div`);m.setAttribute(`data-blok-database-drawer-content`,``);let h=document.createElement(`textarea`);h.setAttribute(`data-blok-database-drawer-title`,``),h.setAttribute(`aria-label`,(a=(o=this.i18n)==null?void 0:o.t(`tools.database.cardTitle`))==null?`tools.database.cardTitle`:a),h.placeholder=(s=(c=this.i18n)==null?void 0:c.t(`tools.database.cardTitlePlaceholder`))==null?`Empty page`:s,h.value=u,h.rows=1,h.readOnly=this.readOnly,h.addEventListener(`input`,()=>{this.currentRowId!==null&&this.onTitleChange(this.currentRowId,h.value),this.autoResizeTitle(h)}),h.addEventListener(`keydown`,e=>{e.key===`Enter`&&e.preventDefault()}),m.appendChild(h);let g=this.getRenderableSchema();m.appendChild(this.buildPropsSection(g,e));let _=document.createElement(`hr`);m.appendChild(_);let v=document.createElement(`div`);v.setAttribute(`data-blok-database-drawer-editor`,``),m.appendChild(v),d.appendChild(m),this.wrapper.appendChild(d),this.drawer=d,requestAnimationFrame(()=>{d.style.width=`45%`,d.addEventListener(`transitionend`,()=>{this.autoResizeTitle(h),u||h.focus()},{once:!0})}),this.initNestedEditor(v,e),this.escapeHandler=e=>{if(e.key!==`Escape`)return;let t=e.target;t&&v.contains(t)||this.close()},document.addEventListener(`keydown`,this.escapeHandler),this.outsideClickHandler=e=>{let t=e.target;t&&d.contains(t)||t instanceof Element&&t.closest(`[data-blok-popover-opened]`)!==null||t instanceof Element&&t.closest(`[data-blok-database-tab-bar]`)!==null||this.close()},document.addEventListener(`mousedown`,this.outsideClickHandler),h.focus()}loadCard(e){var t,n,r;if(this.drawer===null)return;this.cleanupEditor(),this.currentRowId=e.id,this.currentRow=e,this.updateActiveCard(e.id);let i=(t=e.properties[this.titlePropertyId])==null?``:t,a=this.drawer.querySelector(`[data-blok-database-drawer-title]`);a!==null&&(a.value=i,this.autoResizeTitle(a),i||a.focus()),(n=this.drawer.querySelector(`[data-blok-database-drawer-props]`))==null||n.remove();let o=this.getRenderableSchema(),s=this.drawer.querySelector(`[data-blok-database-drawer-content]`),c=(r=s==null?void 0:s.querySelector(`hr`))==null?null:r;s!==null&&s.insertBefore(this.buildPropsSection(o,e),c);let l=this.drawer.querySelector(`[data-blok-database-drawer-editor]`);l!==null&&(l.innerHTML=``,this.initNestedEditor(l,e))}close(){let e=this.drawer!==null;if(this.updateActiveCard(null),this.cleanupListeners(),this.cleanupEditor(),this.drawer){let e=this.drawer;this.drawer=null,e.style.width=`0px`,e.addEventListener(`transitionend`,()=>{e.remove()},{once:!0})}this.currentRowId=null,this.currentRow=null,e&&this.onClose()}destroy(){var e;this.cleanupListeners(),this.cleanupEditor(),(e=this.propertyTypePopover)==null||e.destroy(),this.propertyTypePopover=null,this.drawer&&(this.drawer.remove(),this.drawer=null);let t=this.wrapper.querySelector(`[data-blok-database-drawer]`);t==null||t.remove(),this.currentRowId=null,this.currentRow=null}refreshSchema(e){var t,n;if(this.schema=e,this.drawer===null||this.currentRow===null)return;(t=this.drawer.querySelector(`[data-blok-database-drawer-props]`))==null||t.remove();let r=this.getRenderableSchema(),i=this.drawer.querySelector(`[data-blok-database-drawer-content]`),a=(n=i==null?void 0:i.querySelector(`hr`))==null?null:n;i!==null&&i.insertBefore(this.buildPropsSection(r,this.currentRow),a)}buildPropsSection(e,t){let n=document.createElement(`div`);n.setAttribute(`data-blok-database-drawer-props`,``);for(let i of e){var r;n.appendChild(this.createPropertyRow(i,(r=t.properties[i.id])==null?null:r))}if(!this.readOnly){let e=document.createElement(`button`);e.setAttribute(`data-blok-database-drawer-add-prop`,``),e.textContent=`+ Add a property`,e.addEventListener(`click`,()=>{this.propertyTypePopover===null&&(this.propertyTypePopover=new qi({onSelect:e=>{var t,n;(t=this.onAddProperty)==null||t.call(this,e),(n=this.propertyTypePopover)==null||n.close()},i18n:this.i18n})),this.propertyTypePopover.open(e)}),n.appendChild(e)}return n}getRenderableSchema(){return[...this.schema].filter(e=>e.type!==`title`&&e.type!==`richText`).sort((e,t)=>e.position<t.position?-1:+(e.position>t.position))}createSelectPill(e){let t=document.createElement(`span`);if(t.setAttribute(`data-blok-database-drawer-prop-pill`,``),e.color!==void 0){t.style.backgroundColor=`var(--blok-color-${e.color}-bg)`,t.style.color=`var(--blok-color-${e.color}-text)`;let n=document.createElement(`span`);n.setAttribute(`data-blok-database-drawer-prop-dot`,``),n.style.backgroundColor=`var(--blok-color-${e.color}-text)`,t.appendChild(n)}let n=document.createElement(`span`);return n.textContent=e.label,t.appendChild(n),t}createPropertyRow(e,t){let n=document.createElement(`div`);n.setAttribute(`data-blok-database-drawer-prop-row`,``);let r=document.createElement(`span`);r.setAttribute(`data-blok-database-drawer-prop-label`,``),r.textContent=e.name,n.appendChild(r);let i=document.createElement(`span`);if(i.setAttribute(`data-blok-database-drawer-prop-value`,``),e.type===`select`){let n=e.config,r=typeof t==`string`?t:null,a=n==null?void 0:n.options.find(e=>e.id===r);a!==void 0&&i.appendChild(this.createSelectPill(a))}else if(e.type===`multiSelect`){let n=e.config;(Array.isArray(t)?t:[]).map(e=>n==null?void 0:n.options.find(t=>t.id===e)).filter(e=>e!==void 0).forEach(e=>i.appendChild(this.createSelectPill(e)))}else (typeof t==`string`||typeof t==`number`||typeof t==`boolean`)&&(i.textContent=String(t));return n.appendChild(i),n}updateActiveCard(e){let t=this.wrapper.querySelector(`[data-blok-database-card-active]`);if(t==null||t.removeAttribute(`data-blok-database-card-active`),e!==null){let t=this.wrapper.querySelector(`[data-blok-database-card][data-row-id="${e}"]`);t==null||t.setAttribute(`data-blok-database-card-active`,``)}}cleanupListeners(){this.escapeHandler&&(document.removeEventListener(`keydown`,this.escapeHandler),this.escapeHandler=null),this.outsideClickHandler&&(document.removeEventListener(`mousedown`,this.outsideClickHandler),this.outsideClickHandler=null)}cleanupEditor(){if(this.blokInstance){try{let e=this.blokInstance,t=this.currentRowId;e.save().then(n=>{t!==null&&this.onDescriptionChange(t,n),e.destroy()}).catch(()=>{e.destroy()})}catch(e){}this.blokInstance=null}}autoResizeTitle(e){let{style:t}=e;t.height=`auto`,e.scrollHeight>0&&(t.height=`${e.scrollHeight}px`)}initNestedEditor(e,t){var r=this;Promise.resolve().then(()=>require(`../blok.cjs`)).then(({Blok:i})=>{let a=t.id,o=this.descriptionPropertyId===void 0?void 0:t.properties[this.descriptionPropertyId],s=new i(n.t(n.t({},this.toolsConfig),{},{holder:e,data:o,readOnly:this.readOnly,onChange:async()=>{try{var e;let t=await((e=r.blokInstance)==null?void 0:e.save());t!==void 0&&r.onDescriptionChange(a,t)}catch(e){}}}));this.blokInstance=s}).catch(()=>{})}},Yi=class{constructor(e){this.boundKeydown=null,this.wrapper=e.wrapper,this.onEscape=e.onEscape}attach(){this.boundKeydown=e=>{e.key===`Escape`&&this.onEscape()&&e.stopPropagation()},this.wrapper.addEventListener(`keydown`,this.boundKeydown)}destroy(){this.boundKeydown&&(this.wrapper.removeEventListener(`keydown`,this.boundKeydown),this.boundKeydown=null)}},Xi=[{type:`board`,icon:t.z,labelKey:`tools.database.viewTypeBoard`,descriptionKey:`tools.database.viewTypeBoardDescription`},{type:`list`,icon:t.Xt,labelKey:`tools.database.viewTypeList`,descriptionKey:`tools.database.viewTypeListDescription`}],Zi=class{constructor(e){this.popover=null,this.onSelect=e.onSelect,this.onClose=e.onClose,this.api=e.api}translate(e,t){var n,r;return(n=(r=this.api)==null?void 0:r.i18n.t(e))==null?t:n}open(e){this.close();let n=document.createElement(`div`);n.setAttribute(`data-blok-database-view-popover-heading`,``),n.textContent=this.translate(`tools.database.addView`,[`Add`,`view`].join(` `));let r=[{type:t.vr.Html,element:n},...Xi.map(e=>{let n=this.createViewItem(e);return{type:t.vr.Html,element:n,closeOnActivate:!0}})];this.popover=new t.C({items:r,trigger:e,width:`auto`,minWidth:`200px`,flippable:!1,autoFocusFirstItem:!1}),this.popover.on(t.T.Closed,()=>{if(this.popover!==null){var e;let t=this.popover;this.popover=null,t.destroy(),(e=this.onClose)==null||e.call(this)}}),this.popover.show()}createViewItem(e){let t=document.createElement(`div`);t.setAttribute(`data-blok-database-view-option`,e.type);let n=document.createElement(`div`);n.setAttribute(`data-blok-database-view-option-icon`,``),n.innerHTML=e.icon,t.appendChild(n);let r=document.createElement(`div`);r.setAttribute(`data-blok-database-view-option-text`,``);let i=document.createElement(`span`);i.setAttribute(`data-blok-database-view-option-label`,``),i.textContent=this.translate(e.labelKey,``),r.appendChild(i);let a=document.createElement(`span`);return a.setAttribute(`data-blok-database-view-option-desc`,``),a.textContent=this.translate(e.descriptionKey,``),r.appendChild(a),t.appendChild(r),t.addEventListener(`click`,()=>{this.onSelect(e.type)}),t}close(){if(this.popover!==null){var e;let t=this.popover;this.popover=null,t.destroy(),(e=this.onClose)==null||e.call(this)}}destroy(){this.close()}},Qi=10,$i={board:t.z,list:t.Xt},ea=class{constructor(e){var t;this.element=null,this.barEl=null,this.addBtnEl=null,this.viewPopover=null,this.contextPopover=null,this.overflowDropdownEl=null,this.boundOverflowClose=null,this.moreBtnEl=null,this.isDragging=!1,this.dragViewId=``,this.dragStartX=0,this.ghostEl=null,this.options=e,this.views=e.views,this.onReorder=e.onReorder,this.readOnly=(t=e.readOnly)==null?!1:t,this.boundDragMove=this.handleDragMove.bind(this),this.boundDragUp=this.handleDragUp.bind(this),this.boundDragCancel=this.cleanupDrag.bind(this),this.boundDragKeyDown=e=>{e.key===`Escape`&&this.cleanupDrag()}}render(){let e=document.createElement(`div`);e.setAttribute(`data-blok-database-tab-bar`,``),this.barEl=e,this.element=e;let n=[...this.options.views].sort((e,t)=>e.position<t.position?-1:1);for(let t of n)e.appendChild(this.createTab(t));let r=document.createElement(`button`);return r.setAttribute(`data-blok-database-add-view`,``),r.innerHTML=t.fn,r.addEventListener(`click`,()=>{this.openViewPopover(r)}),this.addBtnEl=r,this.readOnly||e.appendChild(r),e.addEventListener(`click`,e=>{let t=e.target.closest(`[data-blok-database-tab]`);if(!(t instanceof HTMLElement))return;let n=t.getAttribute(`data-view-id`);n!==null&&(t.hasAttribute(`data-active`)||this.options.onTabClick(n))}),e.addEventListener(`contextmenu`,e=>{let t=e.target.closest(`[data-blok-database-tab]`);if(!(t instanceof HTMLElement))return;e.preventDefault();let n=t.getAttribute(`data-view-id`);n!==null&&this.openContextPopover(t,n)}),e.addEventListener(`dblclick`,e=>{let t=e.target.closest(`[data-blok-database-tab]`);if(!(t instanceof HTMLElement))return;let n=t.getAttribute(`data-view-id`);n!==null&&this.openContextPopover(t,n)}),e.addEventListener(`pointerdown`,e=>{let t=e.target.closest(`[data-blok-database-tab]`);if(t===null)return;let n=t.getAttribute(`data-view-id`);n!==null&&(this.dragViewId=n,this.dragStartX=e.clientX,this.isDragging=!1,document.addEventListener(`pointermove`,this.boundDragMove),document.addEventListener(`pointerup`,this.boundDragUp),document.addEventListener(`pointercancel`,this.boundDragCancel),document.addEventListener(`keydown`,this.boundDragKeyDown))}),typeof ResizeObserver<`u`&&new ResizeObserver(()=>{var e;if(this.element===null)return;let t=Array.from(this.element.querySelectorAll(`[data-blok-database-tab]`));for(let e of t)e.style.display=``;(e=this.moreBtnEl)==null||e.remove(),this.moreBtnEl=null;let n=this.element.clientWidth,r=t.findIndex((e,r)=>40+t.slice(0,r+1).reduce((e,t)=>e+t.offsetWidth+2,0)>n),i=r===-1?t.length:r;i<t.length&&this.handleOverflow(i)}).observe(e),e}createTab(e){var t;let n=document.createElement(`div`);n.setAttribute(`data-blok-database-tab`,``),n.setAttribute(`data-view-id`,e.id),e.id===this.options.activeViewId&&n.setAttribute(`data-active`,``);let r=document.createElement(`span`);r.innerHTML=(t=$i[e.type])==null?``:t,n.appendChild(r);let i=document.createElement(`span`);return i.setAttribute(`data-blok-database-tab-name`,``),i.textContent=e.name,n.appendChild(i),n}openContextPopover(e,n){this.closeContextPopover();let r=this.options.views.length>1,i=(e,t)=>{var n,r;return(n=(r=this.options.api)==null?void 0:r.i18n.t(e))==null?t:n},a=[{icon:t.un,title:i(`tools.database.renameView`,`Rename`),closeOnActivate:!0,onActivate:()=>{this.startInlineRename(e,n)}},{icon:t.nt,title:i(`tools.database.duplicateView`,`Duplicate`),closeOnActivate:!0,onActivate:()=>{this.options.onDuplicate(n)}}],o=r?[{type:t.vr.Separator},{icon:t.On,title:i(`tools.database.deleteView`,`Delete`),isDestructive:!0,closeOnActivate:!0,onActivate:()=>{this.options.onDelete(n)}}]:[];this.contextPopover=new t.C({trigger:e,width:`auto`,minWidth:`160px`,autoFocusFirstItem:!1,items:[...a,...o]}),this.contextPopover.on(t.T.Closed,()=>{if(this.contextPopover!==null){let e=this.contextPopover;this.contextPopover=null,e.destroy()}}),this.contextPopover.show()}closeContextPopover(){if(this.contextPopover!==null){let e=this.contextPopover;this.contextPopover=null,e.destroy()}}startInlineRename(e,t){var n;let r=e.querySelector(`[data-blok-database-tab-name]`);if(!(r instanceof HTMLElement))return;let i=(n=r.textContent)==null?``:n,a=document.createElement(`input`);a.setAttribute(`data-blok-database-tab-rename-input`,``),a.value=i,r.replaceWith(a),a.focus(),a.select();let o=()=>{let e=a.value.trim()||i,n=document.createElement(`span`);n.setAttribute(`data-blok-database-tab-name`,``),n.textContent=e,a.replaceWith(n),e!==i&&this.options.onRename(t,e)};a.addEventListener(`blur`,o),a.addEventListener(`keydown`,e=>{if(e.stopPropagation(),e.key===`Enter`)a.blur();else if(e.key===`Escape`){a.removeEventListener(`blur`,o);let e=document.createElement(`span`);e.setAttribute(`data-blok-database-tab-name`,``),e.textContent=i,a.replaceWith(e)}})}openViewPopover(e){var t;this.viewPopover!==null&&this.viewPopover.destroy(),e.setAttribute(`data-popover-open`,``),(t=this.barEl)==null||t.setAttribute(`data-popover-open`,``),this.viewPopover=new Zi({onSelect:e=>{this.options.onAddView(e)},onClose:()=>{var t;e.removeAttribute(`data-popover-open`),(t=this.barEl)==null||t.removeAttribute(`data-popover-open`)},api:this.options.api}),this.viewPopover.open(e)}handleOverflow(e){var t;if(this.element===null)return;(t=this.moreBtnEl)==null||t.remove();let n=[...this.views].sort((e,t)=>e.position<t.position?-1:1).length-e;if(n<=0)return;let r=Array.from(this.element.querySelectorAll(`[data-blok-database-tab]`));for(let t of r.slice(e))t.style.display=`none`;let i=document.createElement(`div`);i.setAttribute(`data-blok-database-tab-more`,``),i.textContent=`${n} more...`,i.style.cursor=`pointer`,i.addEventListener(`click`,()=>{this.openOverflowDropdown(i)});let a=this.element.querySelector(`[data-blok-database-add-view]`);a===null?this.element.appendChild(i):this.element.insertBefore(i,a),this.moreBtnEl=i}openOverflowDropdown(e){var t;this.closeOverflowDropdown();let n=document.createElement(`div`);n.setAttribute(`data-blok-popover`,``),n.setAttribute(`data-blok-database-tab-overflow-dropdown`,``),n.style.position=`fixed`,n.style.zIndex=`1000`;let r=e.getBoundingClientRect();n.style.top=`${r.bottom+4}px`,n.style.left=`${r.left}px`;let i=[...this.views].sort((e,t)=>e.position<t.position?-1:1);for(let e of i){var a;let t=document.createElement(`div`);t.setAttribute(`data-blok-database-tab-overflow-item`,``),t.setAttribute(`data-view-id`,e.id),e.id===this.options.activeViewId&&t.setAttribute(`data-active`,``);let r=document.createElement(`span`);r.innerHTML=(a=$i[e.type])==null?``:a,t.appendChild(r);let i=document.createElement(`span`);i.textContent=e.name,t.appendChild(i),t.addEventListener(`click`,()=>{e.id!==this.options.activeViewId&&this.options.onTabClick(e.id),this.closeOverflowDropdown()}),n.appendChild(t)}let o=document.createElement(`div`);o.setAttribute(`data-blok-database-tab-overflow-separator`,``),n.appendChild(o);let s=(t=this.element)==null?void 0:t.querySelector(`[data-blok-database-add-view]`),c=document.createElement(`div`);c.setAttribute(`data-blok-database-tab-overflow-new`,``),c.textContent=`+ New view`,c.addEventListener(`click`,()=>{this.closeOverflowDropdown(),s!=null&&this.openViewPopover(s)}),n.appendChild(c),document.body.appendChild(n),this.overflowDropdownEl=n,this.boundOverflowClose=t=>{let r=t.target;!n.contains(r)&&!e.contains(r)&&this.closeOverflowDropdown()},document.addEventListener(`mousedown`,this.boundOverflowClose)}closeOverflowDropdown(){this.overflowDropdownEl!==null&&(this.overflowDropdownEl.remove(),this.overflowDropdownEl=null),this.boundOverflowClose!==null&&(document.removeEventListener(`mousedown`,this.boundOverflowClose),this.boundOverflowClose=null)}handleDragMove(e){let t=Math.abs(e.clientX-this.dragStartX);if(!(!this.isDragging&&t<Qi)){if(!this.isDragging){var n,r;this.isDragging=!0,(n=this.element)==null||n.setAttribute(`data-dragging`,``);let e=(r=this.element)==null?void 0:r.querySelector(`[data-view-id="${this.dragViewId}"]`);if(e!==null){this.ghostEl=e.cloneNode(!0),this.ghostEl.setAttribute(`data-blok-database-tab-ghost`,``),this.ghostEl.style.position=`fixed`,this.ghostEl.style.pointerEvents=`none`,this.ghostEl.style.zIndex=`50`,this.ghostEl.style.opacity=`0.7`;let t=e.getBoundingClientRect();this.ghostEl.style.top=`${t.top}px`,this.ghostEl.style.width=`${t.width}px`,document.body.appendChild(this.ghostEl),e.style.opacity=`0.4`}}this.ghostEl!==null&&(this.ghostEl.style.left=`${e.clientX-50}px`)}}handleDragUp(e){var t,n,r,i;if(!this.isDragging){this.removeDragListeners();return}let a=Array.from((t=(n=this.element)==null?void 0:n.querySelectorAll(`[data-blok-database-tab]`))==null?[]:t).filter(e=>e.getAttribute(`data-view-id`)!==this.dragViewId),o=a.findIndex(t=>{let n=t.getBoundingClientRect();return e.clientX<(n.left+n.right)/2}),s=o>=0?a[o].getAttribute(`data-view-id`):null,c=o>0?a[o-1].getAttribute(`data-view-id`):o===-1&&a.length>0?a[a.length-1].getAttribute(`data-view-id`):null,l=[...this.views].sort((e,t)=>e.position<t.position?-1:1),u=s===null?null:l.find(e=>e.id===s),d=c===null?null:l.find(e=>e.id===c),f=Mi((r=d==null?void 0:d.position)==null?null:r,(i=u==null?void 0:u.position)==null?null:i);this.cleanupDrag(),this.onReorder(this.dragViewId,f)}cleanupDrag(){var e,t;this.ghostEl!==null&&(this.ghostEl.remove(),this.ghostEl=null),(e=this.element)==null||e.removeAttribute(`data-dragging`);let n=(t=this.element)==null?void 0:t.querySelector(`[data-view-id="${this.dragViewId}"]`);n!==null&&(n.style.opacity=``),this.isDragging=!1,this.removeDragListeners()}removeDragListeners(){document.removeEventListener(`pointermove`,this.boundDragMove),document.removeEventListener(`pointerup`,this.boundDragUp),document.removeEventListener(`pointercancel`,this.boundDragCancel),document.removeEventListener(`keydown`,this.boundDragKeyDown)}setReadOnly(e){this.readOnly!==e&&(this.readOnly=e,!(this.barEl===null||this.addBtnEl===null)&&(e?this.addBtnEl.remove():this.addBtnEl.isConnected||this.barEl.appendChild(this.addBtnEl)))}destroy(){this.cleanupDrag(),this.closeContextPopover(),this.closeOverflowDropdown(),this.viewPopover!==null&&(this.viewPopover.destroy(),this.viewPopover=null)}getAddBtnEl(){return this.addBtnEl}},ta=class{constructor({data:e,config:t,api:n,block:r,readOnly:i}){var a,o;this.element=null,this.titleElement=null,this.titleRowElement=null,this.boardContainer=null,this.tabBar=null,this.cardDrag=null,this.columnDrag=null,this.columnControls=null,this.listRowDrag=null,this.cardDrawer=null,this.keyboard=null,this.cardMenuPopover=null,this.api=n,this.block=r,this.readOnly=i,this.config=t==null?{}:t,this.title=(a=e==null?void 0:e.title)==null?``:a,this.model=new Pi(e);let s=this.model.getViews();this.activeViewId=(o=e==null?void 0:e.activeViewId)==null?s.length>0?s[0].id:``:o,this.activateView(this.activeViewId)}static get toolbox(){return[{icon:t.ot,titleKey:`database`,name:`database`,searchTerms:[`database`,`kanban`,`board`,`cards`,`columns`]},{icon:t.z,titleKey:`board`,name:`board`,searchTerms:[`board`,`kanban`,`cards`,`columns`,`database`]}]}static get isReadOnlySupported(){return!0}render(){let e=document.createElement(`div`);e.setAttribute(`data-blok-tool`,`database`),e.setAttribute(`data-blok-database-wrapper`,``),e.style.display=`flex`,e.style.flexDirection=`column`,this.element=e;let t=this.createTitleElement();this.titleElement=t;let n=document.createElement(`div`);n.setAttribute(`data-blok-database-title-row`,``),n.appendChild(t),this.titleRowElement=n,e.appendChild(n),this.tabBar=this.createTabBar(),e.appendChild(this.tabBar.render()),this.syncTitleRowAddBtn();let r=document.createElement(`div`);r.setAttribute(`data-blok-database-board-container`,``),r.style.overflow=`hidden`,r.style.position=`relative`,this.boardContainer=r,e.appendChild(r),this.syncRowsFromBlocks();let i=this.renderActiveView();return r.appendChild(i),this.readOnly||(this.attachViewListeners(i),this.initSubsystems(i)),e}createTitleElement(){let e=document.createElement(`div`);return e.setAttribute(`data-blok-database-title`,``),e.textContent=this.title,e.style.fontSize=`1.5rem`,e.style.fontWeight=`600`,e.style.lineHeight=`1.3`,e.style.color=`var(--blok-text-primary)`,e.style.outline=`none`,e.style.cursor=`text`,e.style.wordBreak=`break-word`,e.className=o.join(` `),p(e,`New database`),this.readOnly||(e.setAttribute(`contenteditable`,`true`),e.addEventListener(`keydown`,t=>{(t.key===`Enter`||t.key===`Tab`)&&(t.preventDefault(),e.blur())})),e}rendered(){this.block.stretched=!0;let e=this.model.getOrderedRows().length>0;this.syncRowsFromBlocks(),!e&&this.model.getOrderedRows().length>0&&this.rerenderView(),this.config.adapter!==void 0&&this.loadFromBackend()}async loadFromBackend(){var e=this;let t=await e.sync.syncLoadDatabase();if(t===void 0)return;e.model.hydrate(t);let n=e.model.getViews();n.length>0&&!n.some(t=>t.id===e.activeViewId)&&(e.activeViewId=n[0].id),e.rerenderView()}save(e){var t,r;let i=(t=(r=this.titleElement)==null?void 0:r.textContent)==null?this.title:t;return n.t(n.t({},this.model.snapshot()),{},{title:i,activeViewId:this.activeViewId})}validate(e){var t,n,r,i;let a=((t=(n=e.schema)==null?void 0:n.filter(e=>e.type===`title`).length)==null?0:t)===1,o=e.views!==void 0&&e.views.length>0,s=(r=(i=e.views)==null?void 0:i.filter(e=>e.type===`board`).every(e=>e.groupBy!==void 0))==null?!0:r;return a&&o&&s}destroy(){var e,t,n,r,i,a,o;(e=this.cardDrag)==null||e.destroy(),(t=this.columnDrag)==null||t.destroy(),(n=this.columnControls)==null||n.destroy(),(r=this.listRowDrag)==null||r.destroy(),this.listRowDrag=null,(i=this.cardDrawer)==null||i.destroy(),(a=this.keyboard)==null||a.destroy(),(o=this.tabBar)==null||o.destroy(),this.sync.flushPendingUpdates(),this.sync.flushPendingPropertyUpdates(),this.sync.destroy(),this.element=null,this.boardContainer=null,this.tabBar=null}setReadOnly(e){var t;this.readOnly!==e&&(this.readOnly=e,this.titleElement!==null&&this.titleElement.setAttribute(`contenteditable`,e?`false`:`true`),(t=this.tabBar)==null||t.setReadOnly(e),this.syncTitleRowAddBtn(),this.rerenderView())}getToolbarAnchorElement(){var e;return(e=this.titleElement)==null?void 0:e}syncRowsFromBlocks(){let e=this.api.blocks.getChildren(this.block.id).filter(e=>e.name===`database-row`).map(e=>{var t,n,r,i;return{id:e.id,position:(t=(n=e.preservedData)==null?void 0:n.position)==null?``:t,properties:(r=(i=e.preservedData)==null?void 0:i.properties)==null?{}:r}});this.model.setRows(e)}deleteRowBlock(e){let t=this.api.blocks.getBlockIndex(e);t!==void 0&&this.api.blocks.delete(t),this.syncRowsFromBlocks()}updateRowBlock(e,t){let n=this.api.blocks.getChildren(this.block.id).find(t=>t.id===e);n!==void 0&&(n.call(`updateProperties`,t),n.dispatchChange()),this.syncRowsFromBlocks()}moveRowBlock(e,t){let n=this.api.blocks.getChildren(this.block.id).find(t=>t.id===e);n!==void 0&&(n.call(`updatePosition`,{position:t}),n.dispatchChange()),this.syncRowsFromBlocks()}activateView(e){this.model.getView(e)!==void 0&&(this.activeViewId=e,this.sync=new Ri(this.config.adapter,e=>{let t=String(e).replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`).replace(/'/g,`'`);this.api.notifier.show({message:t,style:`error`})}))}switchView(e){var t,n,r,i,a;if(e===this.activeViewId||this.boardContainer===null)return;(t=this.cardDrag)==null||t.destroy(),(n=this.columnDrag)==null||n.destroy(),(r=this.columnControls)==null||r.destroy(),(i=this.listRowDrag)==null||i.destroy(),(a=this.keyboard)==null||a.destroy(),this.cardDrag=null,this.columnDrag=null,this.columnControls=null,this.listRowDrag=null,this.keyboard=null,this.sync.flushPendingUpdates(),this.sync.flushPendingPropertyUpdates(),this.sync.destroy(),this.activateView(e),this.boardContainer.innerHTML=``,this.syncRowsFromBlocks();let o=this.renderActiveView();this.boardContainer.appendChild(o),this.readOnly||(this.attachViewListeners(o),this.initSubsystems(o)),this.rebuildTabBar()}addView(e){let t=this.model.getSchema().find(e=>e.type===`select`),n=e===`list`?`List`:`Board`,r=this.model.addView(n,e,{groupBy:e===`board`?t==null?void 0:t.id:void 0});this.sync.syncCreateView({id:r.id,name:r.name,type:r.type,position:r.position,groupBy:r.groupBy}),this.switchView(r.id)}renameView(e,t){this.model.updateView(e,{name:t}),this.sync.syncUpdateView({viewId:e,changes:{name:t}})}duplicateView(e){let t=this.model.getView(e);if(t===void 0)return;let n=this.model.addView(t.name,t.type,{groupBy:t.groupBy,sorts:[...t.sorts],filters:[...t.filters],visibleProperties:[...t.visibleProperties]});this.sync.syncCreateView({id:n.id,name:n.name,type:n.type,position:n.position,groupBy:n.groupBy}),this.switchView(n.id)}deleteView(e){let t=this.model.getViews();if(t.length<=1)return;let n=t.findIndex(t=>t.id===e);if(n===-1)return;let r=e===this.activeViewId;if(this.model.deleteView(e),this.sync.syncDeleteView({viewId:e}),r){let e=this.model.getViews(),t=Math.min(n,e.length-1);this.switchView(e[t].id)}else this.rebuildTabBar()}reorderView(e,t){this.model.updateView(e,{position:t}),this.sync.syncUpdateView({viewId:e,changes:{position:t}}),this.rebuildTabBar()}rebuildTabBar(){if(this.element===null||this.tabBar===null)return;let e=this.element.querySelector(`[data-blok-database-tab-bar]`);this.tabBar.destroy(),this.tabBar=this.createTabBar();let t=this.tabBar.render();e===null?this.element.insertBefore(t,this.boardContainer):e.replaceWith(t),this.syncTitleRowAddBtn()}syncTitleRowAddBtn(){if(this.element===null||this.titleRowElement===null||this.tabBar===null)return;let e=this.element.querySelector(`[data-blok-database-tab-bar]`),t=this.model.getViews(),n=this.tabBar.getAddBtnEl();t.length===1&&!this.readOnly&&n!==null?(this.titleRowElement.appendChild(n),this.titleRowElement.setAttribute(`data-single-view`,``),e instanceof HTMLElement&&(e.style.display=`none`)):(this.titleRowElement.removeAttribute(`data-single-view`),this.titleRowElement.querySelectorAll(`[data-blok-database-add-view]`).forEach(e=>{e.remove()}),!this.readOnly&&n!==null&&e!==null&&!e.contains(n)&&e.appendChild(n),e instanceof HTMLElement&&(e.style.display=t.length>=2?``:`none`))}createTabBar(){return new ea({views:this.model.getViews(),activeViewId:this.activeViewId,onTabClick:e=>this.switchView(e),onAddView:e=>this.addView(e),onRename:(e,t)=>this.renameView(e,t),onDuplicate:e=>this.duplicateView(e),onDelete:e=>this.deleteView(e),onReorder:(e,t)=>this.reorderView(e,t),readOnly:this.readOnly})}renderActiveView(){var e;let t=this.model.getView(this.activeViewId),n=this.model.getSchema().find(e=>e.type===`title`),r=(e=n==null?void 0:n.id)==null?``:e,i=t==null?void 0:t.groupBy;return(t==null?void 0:t.type)===`list`?this.renderListView(r,i,t):this.renderBoardView(r,i)}renderBoardView(e,t){let n=t===void 0?[]:this.model.getSelectOptions(t),r=t===void 0?new Map:this.model.getRowsGroupedBy(t);return this.view=new Fi({readOnly:this.readOnly,i18n:this.api.i18n,options:n,getRows:e=>{var t;return(t=r.get(e))==null?[]:t},titlePropertyId:e,onTitleEdit:(e,t)=>{var n;let r=this.model.getSchema().find(e=>e.type===`title`),i=(n=r==null?void 0:r.id)==null?``:n;this.updateRowBlock(e,{[i]:t}),this.sync.syncUpdateRow({rowId:e,properties:{[i]:t}})}}),this.view.createView()}renderListView(e,t,n){let r=this.model.getSchema();if(t!==void 0){let i=this.model.getSelectOptions(t),a=this.model.getRowsGroupedBy(t);this.view=new Ii({readOnly:this.readOnly,i18n:this.api.i18n,rows:[],titlePropertyId:e,schema:r,visiblePropertyIds:n.visibleProperties,options:i,getRows:e=>{var t;return(t=a.get(e))==null?[]:t}})}else this.view=new Ii({readOnly:this.readOnly,i18n:this.api.i18n,rows:this.model.getOrderedRows(),titlePropertyId:e,schema:r,visiblePropertyIds:n.visibleProperties});return this.view.createView()}attachViewListeners(e){e.addEventListener(`click`,t=>{let n=t.target,r=n.closest(`[data-blok-database-add-card]`);if(r!==null){let t=r.getAttribute(`data-option-id`);t!==null&&this.handleAddRow(t,e);return}if(n.closest(`[data-blok-database-add-column]`)!==null){this.handleAddColumn(e);return}let i=n.closest(`[data-blok-database-card-menu]`);if(i instanceof HTMLElement){let n=i.getAttribute(`data-row-id`),r=i.closest(`[data-blok-database-card]`);n!==null&&r instanceof HTMLElement&&(t.stopPropagation(),this.openCardMenu(i,r,n,e));return}let a=n.closest(`[data-blok-database-add-row]`);if(a!==null){let t=a.getAttribute(`data-option-id`);this.handleAddListRow(t,e);return}let o=n.closest(`[data-blok-database-delete-row]`);if(o!==null){let n=o.getAttribute(`data-row-id`);n!==null&&(t.stopPropagation(),this.deleteRowBlock(n),this.view.removeRow(e,n),this.sync.syncDeleteRow({rowId:n}));return}let s=n.closest(`[data-blok-database-list-row]`);if(s!==null){let e=s.getAttribute(`data-row-id`);e!==null&&this.handleRowClick(e);return}let c=n.closest(`[data-blok-database-card]`);if(c!==null){let e=c.getAttribute(`data-row-id`);e!==null&&this.handleRowClick(e)}})}openCardMenu(e,n,r,i){n.setAttribute(`data-popover-open`,``),this.cardMenuPopover=new t.C({trigger:e,width:`auto`,minWidth:`140px`,autoFocusFirstItem:!1,items:[{type:t.vr.Default,title:this.api.i18n.t(`tools.database.deleteCard`),icon:t.On,onActivate:()=>{this.deleteRowBlock(r),this.view.removeRow(i,r),this.sync.syncDeleteRow({rowId:r})}}]}),this.cardMenuPopover.on(t.T.Closed,()=>{if(n.removeAttribute(`data-popover-open`),this.cardMenuPopover!==null){let e=this.cardMenuPopover;this.cardMenuPopover=null,e.destroy()}}),this.cardMenuPopover.show()}handleAddListRow(e,t){var n,r;let i=this.model.getSchema().find(e=>e.type===`title`),a=(n=i==null?void 0:i.id)==null?``:n,o=this.model.getView(this.activeViewId),s=o==null?void 0:o.groupBy,c={[a]:``};s!==void 0&&e!==null&&(c[s]=e);let l=this.model.createRowData(c),u=(r=this.api.blocks.getBlockIndex(this.block.id))==null?0:r;this.api.blocks.insert(`database-row`,{properties:l.properties,position:l.position},{},u+1,!1,!1,l.id),this.api.blocks.setBlockParent(l.id,this.block.id),this.syncRowsFromBlocks(),this.view.appendRow(t,l),this.sync.syncCreateRow({id:l.id,properties:l.properties,position:l.position})}handleAddRow(e,t){var n,r;let i=this.model.getView(this.activeViewId),a=i==null?void 0:i.groupBy;if(a===void 0)return;let o=this.model.getSchema().find(e=>e.type===`title`),s=(n=o==null?void 0:o.id)==null?``:n,c=this.model.createRowData({[s]:``,[a]:e}),l=(r=this.api.blocks.getBlockIndex(this.block.id))==null?0:r;this.api.blocks.insert(`database-row`,{properties:c.properties,position:c.position},{},l+1,!1,!1,c.id),this.api.blocks.setBlockParent(c.id,this.block.id),this.syncRowsFromBlocks();let u=t.querySelector(`[data-option-id="${e}"][data-blok-database-column]`);if(u===null)return;let d=u.querySelector(`[data-blok-database-cards]`);d!==null&&(this.view.appendRow(d,c),this.sync.syncCreateRow({id:c.id,properties:c.properties,position:c.position}))}handleAddColumn(e){var n,r;let i=this.model.getView(this.activeViewId),a=i==null?void 0:i.groupBy;if(a===void 0)return;let o=this.model.getProperty(a);if((o==null?void 0:o.config)===void 0)return;let s=o.config.options,c=s.length>0?s[s.length-1].position:null,l={id:t.Jr(),label:this.api.i18n.t(`tools.database.columnTitlePlaceholder`),position:Pi.positionBetween(c,null)};this.model.updateProperty(a,{config:{options:[...s,l]}}),(n=(r=this.view).appendGroup)==null||n.call(r,e,l),this.sync.syncUpdateProperty({propertyId:a,changes:{config:{options:[...s,l]}}})}initSubsystems(e){var t;if(this.element===null)return;let r=this.model.getView(this.activeViewId),i=(r==null?void 0:r.type)===`list`,a=this.model.getSchema().find(e=>e.type===`title`),o=(t=a==null?void 0:a.id)==null?``:t,s=this.model.getSchema().find(e=>e.type===`richText`),c=s==null?void 0:s.id;i?this.listRowDrag=new Gi({wrapper:e,onDrop:e=>this.handleListRowDrop(e)}):(this.cardDrag=new Bi({wrapper:e,onDrop:e=>this.handleRowDrop(e)}),this.columnDrag=new Hi({wrapper:e,onDrop:e=>this.handleGroupDrop(e)}),this.columnControls=new Ui({i18n:this.api.i18n,onRename:(e,t)=>this.handleOptionRename(e,t),onDelete:t=>this.handleOptionDelete(t,e),onRenameInput:(e,t)=>{this.handleOptionRename(e,t)},onRenameCommit:(e,t)=>{let r=this.model.getView(this.activeViewId),i=r==null?void 0:r.groupBy;if(i===void 0)return;let a=this.model.getProperty(i);if((a==null?void 0:a.config)===void 0)return;let o=a.config.options.map(r=>r.id===e?n.t(n.t({},r),{},{label:t}):r);this.sync.syncUpdatePropertyDebounced({propertyId:i,changes:{config:{options:o}}})}}),this.makeColumnHeadersEditable(e)),this.cardDrawer===null&&(this.cardDrawer=new Ji({wrapper:this.element,readOnly:this.readOnly,i18n:this.api.i18n,toolsConfig:this.api.tools.getToolsConfig(),titlePropertyId:o,descriptionPropertyId:c,schema:this.model.getSchema(),onTitleChange:(e,t)=>{var n,r,i;this.updateRowBlock(e,{[o]:t});let a=(n=(r=this.boardContainer)==null?void 0:r.querySelector(`[data-blok-database-board]`))==null?(i=this.boardContainer)==null?void 0:i.querySelector(`[data-blok-database-list]`):n;a!=null&&this.view.updateRowTitle(a,e,t),this.sync.syncUpdateRow({rowId:e,properties:{[o]:t}})},onDescriptionChange:(e,t)=>{c!==void 0&&(this.updateRowBlock(e,{[c]:t}),this.sync.syncUpdateRow({rowId:e,properties:{[c]:t}}))},onClose:()=>{},onAddProperty:e=>{var t;let n=this.model.addProperty(`Property`,e);this.sync.syncCreateProperty({id:n.id,name:n.name,type:n.type,position:n.position}),(t=this.cardDrawer)==null||t.refreshSchema(this.model.getSchema())}})),this.keyboard=new Yi({wrapper:e,onEscape:()=>{var e;return(e=this.cardDrawer)!=null&&e.isOpen?(this.cardDrawer.close(),!0):!1}}),this.keyboard.attach(),e.addEventListener(`pointerdown`,e=>{let t=e.target,n=t.closest(`[data-blok-database-column-header]`);if(n!==null){var r;if(t.closest(`[data-blok-database-column-pill]`)!==null)return;let a=n.closest(`[data-blok-database-column]`),o=(r=a==null?void 0:a.getAttribute(`data-option-id`))==null?null:r;if(o!==null){var i;e.preventDefault(),e.stopPropagation(),(i=this.columnDrag)==null||i.beginTracking(o,e.clientX,e.clientY)}return}let a=t.closest(`[data-blok-database-card]`);if(a!==null){let t=a.getAttribute(`data-row-id`);if(t!==null){var o;e.preventDefault(),e.stopPropagation(),(o=this.cardDrag)==null||o.beginTracking(t,e.clientX,e.clientY)}return}let s=t.closest(`[data-blok-database-list-row]`);if(s!==null){let t=s.getAttribute(`data-row-id`);if(t!==null){var c;e.preventDefault(),e.stopPropagation(),(c=this.listRowDrag)==null||c.beginTracking(t,e.clientX,e.clientY)}}})}makeColumnHeadersEditable(e){if(this.columnControls===null)return;let t=Array.from(e.querySelectorAll(`[data-blok-database-column-header]`));for(let e of t){let t=e.closest(`[data-blok-database-column]`),n=t==null?void 0:t.getAttribute(`data-option-id`);n!=null&&(this.columnControls.makePillTitleEditable(e,n),this.columnControls.appendDeleteButton(e,n))}}handleListRowDrop(e){var t,n;let{rowId:r,beforeRowId:i,afterRowId:a}=e,o=i===null?void 0:this.model.getRow(i),s=a===null?void 0:this.model.getRow(a),c=Pi.positionBetween((t=s==null?void 0:s.position)==null?null:t,(n=o==null?void 0:o.position)==null?null:n);this.moveRowBlock(r,c),this.rerenderView(),this.sync.syncMoveRow({rowId:r,position:c})}handleRowDrop(e){var t,n;let{rowId:r,toOptionId:i,beforeRowId:a,afterRowId:o}=e,s=this.model.getView(this.activeViewId),c=s==null?void 0:s.groupBy;if(c===void 0)return;let l=a===null?void 0:this.model.getRow(a),u=o===null?void 0:this.model.getRow(o),d=Pi.positionBetween((t=u==null?void 0:u.position)==null?null:t,(n=l==null?void 0:l.position)==null?null:n);this.updateRowBlock(r,{[c]:i}),this.moveRowBlock(r,d),this.rerenderView(),this.sync.syncUpdateRow({rowId:r,properties:{[c]:i}}),this.sync.syncMoveRow({rowId:r,position:d})}handleGroupDrop(e){var t,r;let{optionId:i,beforeOptionId:a,afterOptionId:o}=e,s=this.model.getView(this.activeViewId),c=s==null?void 0:s.groupBy;if(c===void 0)return;let l=this.model.getProperty(c);if((l==null?void 0:l.config)===void 0)return;let u=[...l.config.options],d=u.findIndex(e=>e.id===i);if(d===-1)return;let f=a===null?void 0:u.find(e=>e.id===a),p=o===null?void 0:u.find(e=>e.id===o),m=Pi.positionBetween((t=p==null?void 0:p.position)==null?null:t,(r=f==null?void 0:f.position)==null?null:r);u[d]=n.t(n.t({},u[d]),{},{position:m}),this.model.updateProperty(c,{config:{options:u}}),this.moveColumnInDom(i,a),this.sync.syncUpdateProperty({propertyId:c,changes:{config:{options:u}}})}moveColumnInDom(e,t){var n;let r=(n=this.boardContainer)==null?void 0:n.querySelector(`[data-blok-database-board]`);if(r==null)return;let i=r.querySelector(`[data-option-id="${e}"]`);if(i!==null)if(t!==null){let e=r.querySelector(`[data-option-id="${t}"]`);e!==null&&r.insertBefore(i,e)}else{let e=r.querySelector(`[data-blok-database-add-column]`);e===null?r.appendChild(i):r.insertBefore(i,e)}}handleOptionRename(e,t){let r=this.model.getView(this.activeViewId),i=r==null?void 0:r.groupBy;if(i===void 0)return;let a=this.model.getProperty(i);if((a==null?void 0:a.config)===void 0)return;let o=a.config.options.map(r=>r.id===e?n.t(n.t({},r),{},{label:t}):r);this.model.updateProperty(i,{config:{options:o}}),this.sync.syncUpdateProperty({propertyId:i,changes:{config:{options:o}}})}handleOptionDelete(e,t){var n,r,i;let a=this.model.getView(this.activeViewId),o=a==null?void 0:a.groupBy;if(o===void 0)return;let s=this.model.getProperty(o);if((s==null?void 0:s.config)===void 0||s.config.options.length<=1)return;let c=(n=this.model.getRowsGroupedBy(o).get(e))==null?[]:n;for(let e of c)this.deleteRowBlock(e.id),this.sync.syncDeleteRow({rowId:e.id});let l=s.config.options.filter(t=>t.id!==e);this.model.updateProperty(o,{config:{options:l}}),(r=(i=this.view).removeGroup)==null||r.call(i,t,e),this.sync.syncUpdateProperty({propertyId:o,changes:{config:{options:l}}})}handleRowClick(e){var t;let n=this.model.getRow(e);n!==void 0&&((t=this.cardDrawer)==null||t.open(n))}rerenderView(){var e,t,n,r,i,a,o,s,c,l;if(this.boardContainer===null)return;let u=(e=(t=(n=this.boardContainer.querySelector(`[data-blok-database-board]`))==null?void 0:n.closest(`[data-blok-tool]`))==null?this.boardContainer.querySelector(`[data-blok-database-list]`):t)==null?this.boardContainer.firstElementChild:e,d=this.boardContainer.querySelector(`[data-blok-database-board]`),f=(r=d==null?void 0:d.scrollLeft)==null?0:r;(i=this.cardDrag)==null||i.destroy(),(a=this.columnDrag)==null||a.destroy(),(o=this.columnControls)==null||o.destroy(),(s=this.listRowDrag)==null||s.destroy(),this.listRowDrag=null,(c=this.cardDrawer)==null||c.destroy(),this.cardDrawer=null,(l=this.keyboard)==null||l.destroy(),this.syncRowsFromBlocks();let p=this.renderActiveView();u==null?this.boardContainer.appendChild(p):u.replaceWith(p);let m=p.querySelector(`[data-blok-database-board]`);m!==null&&(m.scrollLeft=f),this.attachViewListeners(p),this.initSubsystems(p)}},na=class{constructor({data:e}){var t,n;this._data={properties:(t=e.properties)==null?{}:t,position:(n=e.position)==null?`a0`:n}}render(){let e=document.createElement(`div`);return e.setAttribute(`data-blok-tool`,`database-row`),e}save(e){return{properties:this._data.properties,position:this._data.position}}validate(e){return e.properties!==null&&e.properties!==void 0&&typeof e.properties==`object`}updateProperties(e){Object.assign(this._data.properties,e)}updatePosition(e){this._data.position=e.position}getProperties(){return this._data.properties}getPosition(){return this._data.position}static get isReadOnlySupported(){return!0}setReadOnly(e){}},ra=class{constructor(e){this.element=null}render(){let e=document.createElement(`div`);e.className=r.n(`py-3`,`leading-[1px]`);let t=document.createElement(`hr`);return t.setAttribute(`data-blok-divider`,``),t.className=r.n(`border-t`,`border-border-primary`,`border-b-0`,`border-l-0`,`border-r-0`),e.appendChild(t),this.element=e,e}save(){return{}}validate(e){return!0}static get toolbox(){return{icon:t.ct,titleKey:`divider`,shortcut:`---`,searchTerms:[`hr`,`line`,`separator`,`rule`,`---`,`divider`,`delimiter`,`splitter`],searchTermKeys:[`divider`,`separator`,`delimiter`,`splitter`]}}static get isReadOnlySupported(){return!0}static get pasteConfig(){return{tags:[`HR`],patterns:{divider:/^-{3,}$/}}}onPaste(e){}setReadOnly(e){}static get sanitize(){return{}}},ia=`tools.quote.placeholder`,aa=[`border-l-[3px]`,`border-current`,`pl-[0.9em]`,`pr-[0.9em]`,`py-[0.2em]`,`leading-[1.5]`,`outline-hidden`,`mt-[0.3em]`,`mb-[0.3em]`],oa=`text-[1.2em]`,sa=class{constructor({data:e,api:t,readOnly:n}){var r,i;this.placeholderCleanup=null,this._element=null,this.api=t,this.readOnly=n,this._data={text:(r=e==null?void 0:e.text)==null?``:r,size:(i=e==null?void 0:e.size)==null?`default`:i},this.onKeyUp=this.onKeyUp.bind(this)}onKeyUp(e){e.code!==`Backspace`&&e.code!==`Delete`||this._element&&this._element.textContent===``&&(this._element.innerHTML=``)}drawView(){let e=document.createElement(`blockquote`);return e.className=r.n(this.api.styles.block,aa,c,this._data.size===`large`?oa:``),e.setAttribute(t.bi.tool,`quote`),e.contentEditable=`false`,this._data.text?e.innerHTML=this._data.text:this.readOnly&&(e.innerHTML=`<br>`),this.readOnly||(e.contentEditable=`true`,e.addEventListener(`keyup`,this.onKeyUp),this.placeholderCleanup=p(e,this.api.i18n.t(ia),`data-blok-placeholder-active`)),e}render(){return this._element||(this._element=this.drawView()),this._element}setReadOnly(e){this._element&&(this.readOnly=e,e?(this._element.contentEditable=`false`,this._element.removeEventListener(`keyup`,this.onKeyUp),this.placeholderCleanup&&(this.placeholderCleanup(),this.placeholderCleanup=null),u(this._element)&&(this._element.innerHTML=`<br>`)):(this._element.contentEditable=`true`,this._element.addEventListener(`keyup`,this.onKeyUp),this.placeholderCleanup=p(this._element,this.api.i18n.t(ia),`data-blok-placeholder-active`),this._element.innerHTML===`<br>`&&(this._element.innerHTML=``)))}save(e){return{text:t.Kr(e.innerHTML),size:this._data.size}}validate(e){return e.text.trim()!==``}merge(e){if(!this._element)return;this._data.text+=e.text;let t=document.createElement(`div`);t.innerHTML=e.text.trim();let n=document.createDocumentFragment();n.append(...Array.from(t.childNodes)),this._element.appendChild(n),this._element.normalize()}renderSettings(){return[{icon:t.mn,title:this.api.i18n.t(`tools.quote.size`),name:`quote-size`,children:{items:[{icon:t.mn,title:this.api.i18n.t(`tools.quote.defaultSize`),onActivate:()=>this.setSize(`default`),closeOnActivate:!0,isActive:this._data.size===`default`},{icon:t.mn,title:this.api.i18n.t(`tools.quote.largeSize`),onActivate:()=>this.setSize(`large`),closeOnActivate:!0,isActive:this._data.size===`large`}]}}]}setSize(e){this._data.size=e,this._element&&(this._element.className=r.n(this.api.styles.block,aa,c,e===`large`?oa:``))}onPaste(e){let t=e.detail;if(!(`data`in t))return;let n=t.data;this._data={text:n.innerHTML,size:this._data.size},this._element&&(this._element.innerHTML=this._data.text||``)}static get toolbox(){return{icon:t.mn,titleKey:`quote`,shortcut:`"`,searchTerms:[`quote`,`blockquote`,`citation`],searchTermKeys:[`quote`,`blockquote`,`citation`]}}static get conversionConfig(){return{export:`text`,import:`text`}}static get sanitize(){return{text:{br:!0,b:!0,i:!0,a:!0,mark:{style:!0}}}}static get isReadOnlySupported(){return!0}static get pasteConfig(){return{tags:[`BLOCKQUOTE`]}}},ca=`tools.code.language`,la=`tools.code.copied`,ua=`tools.code.copyCode`,da=`tools.code.searchLanguage`,fa=`plain text`,pa=[{id:`plain text`,name:`Plain Text`},{id:`javascript`,name:`JavaScript`},{id:`typescript`,name:`TypeScript`},{id:`python`,name:`Python`},{id:`java`,name:`Java`},{id:`c`,name:`C`},{id:`cpp`,name:`C++`},{id:`csharp`,name:`C#`},{id:`go`,name:`Go`},{id:`rust`,name:`Rust`},{id:`ruby`,name:`Ruby`},{id:`php`,name:`PHP`},{id:`swift`,name:`Swift`},{id:`kotlin`,name:`Kotlin`},{id:`latex`,name:`LaTeX`},{id:`mermaid`,name:`Mermaid`},{id:`sql`,name:`SQL`},{id:`html`,name:`HTML`},{id:`css`,name:`CSS`},{id:`json`,name:`JSON`},{id:`yaml`,name:`YAML`},{id:`markdown`,name:`Markdown`},{id:`bash`,name:`Bash`},{id:`shell`,name:`Shell`},{id:`dockerfile`,name:`Dockerfile`},{id:`xml`,name:`XML`},{id:`graphql`,name:`GraphQL`},{id:`r`,name:`R`},{id:`scala`,name:`Scala`},{id:`dart`,name:`Dart`},{id:`lua`,name:`Lua`}],ma=`group/code flex flex-col rounded-xl border border-border-secondary bg-bg-secondary overflow-hidden my-2`,ha=`flex items-center gap-1 px-3 py-1.5 text-xs text-gray-text`,ga=`inline-flex items-center px-1.5 py-0.5 rounded cursor-pointer bg-transparent border-0 text-xs text-gray-text font-medium transition-colors can-hover:hover:bg-item-hover-bg select-none`,_a=`flex items-center gap-1 opacity-0 group-hover/code:opacity-100 transition-opacity`,va=`p-1 rounded cursor-pointer bg-transparent border-0 text-gray-text transition-colors can-hover:hover:bg-item-hover-bg flex items-center justify-center`,ya=`p-1.5 rounded-lg cursor-pointer bg-transparent border-0 text-gray-text transition-colors can-hover:hover:bg-item-hover-bg flex items-center justify-center`,ba=`block px-4 py-3 font-mono text-sm leading-relaxed outline-hidden whitespace-pre-wrap overflow-x-auto min-h-[1.5em] caret-text-primary`,xa=`text-xs text-gray-text font-medium select-none`,Sa=new Set([`latex`,`mermaid`]),Ca=`tools.code.codeTab`,wa=`tools.code.previewTab`,Ta=`px-4 py-3 overflow-x-auto min-h-[1.5em] flex justify-center`,Ea=`tools.code.sideBySide`,Da=`flex items-center rounded-lg border border-border-secondary p-0.5 gap-0.5`,Oa=`p-1 rounded cursor-pointer bg-transparent border-0 text-gray-text transition-colors flex items-center justify-center`,ka=`p-1 rounded cursor-pointer bg-item-hover-bg border-0 text-primary transition-colors flex items-center justify-center`,Aa=`flex flex-col overflow-hidden`,ja=`flex flex-row overflow-hidden`,Ma=`flex-1 min-w-0 overflow-hidden`,Na=new Set(pa.map(e=>e.id).filter(e=>e!==fa)),Pa=`flex overflow-hidden`,Fa=`select-none text-right pl-4 pr-3 py-3 font-mono text-sm leading-relaxed text-gray-text/40 shrink-0`,Ia=`leading-relaxed cursor-text`;function La(e){let n=document.createElement(`div`);n.className=Da,n.setAttribute(`role`,`group`),n.setAttribute(`data-blok-testid`,`code-view-mode`);let r=[{mode:`code`,icon:t.Q,label:e.code},{mode:`preview`,icon:t.pn,label:e.preview},{mode:`split`,icon:t.bn,label:e.split}];for(let{mode:e,icon:t,label:i}of r){let r=document.createElement(`button`);r.type=`button`,r.className=Oa,r.innerHTML=t,r.setAttribute(`aria-label`,i),r.setAttribute(`aria-pressed`,`false`),r.setAttribute(`data-blok-testid`,`code-mode-${e}`),r.setAttribute(`data-mode`,e),n.appendChild(r)}let i=document.createElement(`div`);i.className=Ta,i.setAttribute(`data-blok-testid`,`code-preview`);let a=document.createElement(`div`);return a.className=Aa,a.setAttribute(`data-blok-testid`,`code-split-container`),{viewModeContainer:n,previewElement:i,splitContainer:a}}function Ra(e,t){let n=Array.from(e.querySelectorAll(`[data-mode]`));for(let e of n){let n=e.getAttribute(`data-mode`)===t;e.setAttribute(`aria-pressed`,String(n)),e.className=n?ka:Oa}}function za(e){var n,r,i;let{code:a,languageName:o,readOnly:s,copyLabel:c,previewable:l,viewModeLabels:u}=e,d=document.createElement(`div`);d.className=ma;let f=document.createElement(`div`);f.className=ha;let p=document.createElement(`button`);p.type=`button`,p.className=ga,p.setAttribute(`aria-haspopup`,`listbox`),p.setAttribute(`data-blok-testid`,`code-language-btn`);let m=document.createElement(`span`);m.textContent=o,p.appendChild(m);let h=document.createElement(`span`);h.className=`inline-flex items-center ml-0.5 -mr-0.5`,h.innerHTML=t.J,p.appendChild(h);let g=document.createElement(`div`);g.className=`flex-1`;let _=!s&&u?La(u):null,v=(n=_==null?void 0:_.viewModeContainer)==null?null:n,y=(r=_==null?void 0:_.previewElement)==null?null:r,b=(i=_==null?void 0:_.splitContainer)==null?null:i;v&&(v.hidden=!l);let x=document.createElement(`button`);x.type=`button`,x.className=l?ya:va,x.innerHTML=t.nt,x.setAttribute(`aria-label`,c),x.setAttribute(`data-blok-testid`,`code-copy-btn`);let S=document.createElement(`code`);S.className=ba,S.setAttribute(`data-blok-testid`,`code-content`),a&&(S.textContent=a),s||(S.setAttribute(`contenteditable`,`plaintext-only`),S.setAttribute(`spellcheck`,`false`));let C=document.createElement(`div`);C.className=Fa,C.setAttribute(`aria-hidden`,`true`),C.setAttribute(`data-blok-testid`,`code-gutter`);let w=a?a.split(`
|
|
2
|
-
`).length:1;Array.from({length:w},(e,t)=>{let n=document.createElement(`div`);n.className=Ia,n.textContent=String(t+1),n.setAttribute(`data-line-index`,String(t)),C.appendChild(n)}),f.appendChild(p),f.appendChild(g);let T=document.createElement(`div`);T.className=_a,v&&T.appendChild(v),T.appendChild(x),f.appendChild(T);let E=document.createElement(`pre`);E.className=`flex-1 min-w-0`,E.appendChild(S);let D=document.createElement(`div`);if(D.className=Pa,D.appendChild(C),D.appendChild(E),d.appendChild(f),b&&y){let e=document.createElement(`div`);e.className=Ma,e.appendChild(D);let t=document.createElement(`div`);t.className=Ma,t.appendChild(y),b.appendChild(e),b.appendChild(t),d.appendChild(b)}else d.appendChild(D);return{wrapper:d,languageButton:p,copyButton:x,preElement:E,codeElement:S,gutterElement:C,viewModeContainer:v,previewElement:y,splitContainer:b}}function Ba(e,t,n){return e.key===`Enter`&&e.shiftKey?(n(),!0):e.key===`Enter`?(Ha(t),!0):e.key===`Tab`&&!e.shiftKey?(Ga(),!0):e.key===`Tab`&&e.shiftKey?(qa(t),!0):!1}var Va={"{":`}`,"(":`)`,"[":`]`};function Ha(e){var t;let n=window.getSelection();if(!n||n.rangeCount===0)return;let r=n.getRangeAt(0),i=Wa(e,r.startContainer,r.startOffset),a=Wa(e,r.endContainer,r.endOffset),o=(t=e.textContent)==null?``:t,s=o.substring(0,i),c=o.substring(a),l=s.lastIndexOf(`
|
|
3
|
-
`)+1,u=s.substring(l).match(/^[ \t]*/),d=u?u[0]:``,f=Va[s.length>0?s.charAt(s.length-1):``],p=c.charAt(0),{inserted:m,caretDelta:h}=Ua({indent:d,afterOpener:f!==void 0,betweenMatchedPair:f!==void 0&&p===f});for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(s+m+c)),Ja(e,i+h)}function Ua(e){let{indent:t,afterOpener:n,betweenMatchedPair:r}=e;return r?{inserted:`\n${t} \n${t}`,caretDelta:1+t.length+2}:n?{inserted:`\n${t} `,caretDelta:1+t.length+2}:{inserted:`\n${t}`,caretDelta:1+t.length}}function Wa(e,t,n){let r=document.createRange();return r.selectNodeContents(e),r.setEnd(t,n),r.toString().length}function Ga(){let e=window.getSelection();if(!e||e.rangeCount===0)return;let t=e.getRangeAt(0);t.deleteContents();let n=document.createTextNode(` `);t.insertNode(n),t.setStartAfter(n),t.collapse(!0),e.removeAllRanges(),e.addRange(t)}function Ka(e){let t=Math.min(2,e.length),n=e.substring(0,t).match(/^ */);return n?n[0].length:0}function qa(e){var t;let n=window.getSelection();if(!n||n.rangeCount===0)return;let r=n.getRangeAt(0),i=(t=e.textContent)==null?``:t,a=r.cloneRange();a.selectNodeContents(e),a.setEnd(r.startContainer,r.startOffset);let o=a.toString().length,s=i.lastIndexOf(`
|
|
4
|
-
`,o-1)+1,c=Ka(i.substring(s));if(c===0)return;let l=i.substring(0,s)+i.substring(s+c);for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(l)),Ja(e,Math.max(s,o-c))}function Ja(e,t){let n=window.getSelection();if(!n)return;let r=document.createTreeWalker(e,NodeFilter.SHOW_TEXT),i=e=>{var a;let o=r.nextNode();if(!o)return;let s=((a=o.textContent)==null?``:a).length;if(e+s>=t){let r=document.createRange();r.setStart(o,t-e),r.collapse(!0),n.removeAllRanges(),n.addRange(r);return}i(e+s)};i(0)}var Ya={katexPromise:null,cssInjected:!1};function Xa(){if(Ya.cssInjected)return;Ya.cssInjected=!0;let e=document.createElement(`link`);e.rel=`stylesheet`,e.setAttribute(`data-katex-css`,``),e.href=`https://cdn.jsdelivr.net/npm/katex@latest/dist/katex.min.css`,document.head.appendChild(e)}async function Za(){return Ya.katexPromise||(Ya.katexPromise=Promise.resolve().then(()=>require(`./katex-sAulFwQx.cjs`)).then(e=>e.n).then(e=>e.default)),Ya.katexPromise}async function Qa(e,t={}){Xa();try{var n;return(await Za()).renderToString(e,{throwOnError:!1,trust:!1,strict:`ignore`,maxSize:50,maxExpand:1e3,displayMode:(n=t.displayMode)==null?!0:n})}catch(e){return`<span class="text-red-500 text-sm">${e instanceof Error?e.message:`Unknown error`}</span>`}}var $a={mermaidPromise:null,initialized:!1};async function eo(){$a.mermaidPromise||($a.mermaidPromise=Promise.resolve().then(()=>require(`./mermaid.core-D0a42Z1S.cjs`)).then(e=>e.default));let e=await $a.mermaidPromise;return $a.initialized||($a.initialized=!0,e.initialize({startOnLoad:!1,securityLevel:`strict`})),e}async function to(e){try{let t=await eo();if(await t.parse(e,{suppressErrors:!0})===!1)return`<span class="text-red-500 text-sm">Invalid Mermaid syntax</span>`;let n=`mermaid-${crypto.randomUUID()}`;return(await t.render(n,e)).svg}catch(e){return`<span class="text-red-500 text-sm">${e instanceof Error?e.message:`Unknown error`}</span>`}}var no=e.t(((e,t)=>{var n=function(e){var t=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,n=0,r={},i={manual:e.Prism&&e.Prism.manual,disableWorkerMessageHandler:e.Prism&&e.Prism.disableWorkerMessageHandler,util:{encode:function e(t){return t instanceof a?new a(t.type,e(t.content),t.alias):Array.isArray(t)?t.map(e):t.replace(/&/g,`&`).replace(/</g,`<`).replace(/\u00a0/g,` `)},type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,`__id`,{value:++n}),e.__id},clone:function e(t,n){n=n||{};var r,a;switch(i.util.type(t)){case`Object`:if(a=i.util.objId(t),n[a])return n[a];for(var o in r={},n[a]=r,t)t.hasOwnProperty(o)&&(r[o]=e(t[o],n));return r;case`Array`:return a=i.util.objId(t),n[a]?n[a]:(r=[],n[a]=r,t.forEach(function(t,i){r[i]=e(t,n)}),r);default:return t}},getLanguage:function(e){for(;e;){var n=t.exec(e.className);if(n)return n[1].toLowerCase();e=e.parentElement}return`none`},setLanguage:function(e,n){e.className=e.className.replace(RegExp(t,`gi`),``),e.classList.add(`language-`+n)},currentScript:function(){if(typeof document>`u`)return null;if(document.currentScript&&document.currentScript.tagName===`SCRIPT`)return document.currentScript;try{throw Error()}catch(r){var e=(/at [^(\r\n]*\((.*):[^:]+:[^:]+\)$/i.exec(r.stack)||[])[1];if(e){var t=document.getElementsByTagName(`script`);for(var n in t)if(t[n].src==e)return t[n]}return null}},isActive:function(e,t,n){for(var r=`no-`+t;e;){var i=e.classList;if(i.contains(t))return!0;if(i.contains(r))return!1;e=e.parentElement}return!!n}},languages:{plain:r,plaintext:r,text:r,txt:r,extend:function(e,t){var n=i.util.clone(i.languages[e]);for(var r in t)n[r]=t[r];return n},insertBefore:function(e,t,n,r){r=r||i.languages;var a=r[e],o={};for(var s in a)if(a.hasOwnProperty(s)){if(s==t)for(var c in n)n.hasOwnProperty(c)&&(o[c]=n[c]);n.hasOwnProperty(s)||(o[s]=a[s])}var l=r[e];return r[e]=o,i.languages.DFS(i.languages,function(t,n){n===l&&t!=e&&(this[t]=o)}),o},DFS:function e(t,n,r,a){a=a||{};var o=i.util.objId;for(var s in t)if(t.hasOwnProperty(s)){n.call(t,s,t[s],r||s);var c=t[s],l=i.util.type(c);l===`Object`&&!a[o(c)]?(a[o(c)]=!0,e(c,n,null,a)):l===`Array`&&!a[o(c)]&&(a[o(c)]=!0,e(c,n,s,a))}}},plugins:{},highlightAll:function(e,t){i.highlightAllUnder(document,e,t)},highlightAllUnder:function(e,t,n){var r={callback:n,container:e,selector:`code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code`};i.hooks.run(`before-highlightall`,r),r.elements=Array.prototype.slice.apply(r.container.querySelectorAll(r.selector)),i.hooks.run(`before-all-elements-highlight`,r);for(var a=0,o;o=r.elements[a++];)i.highlightElement(o,t===!0,r.callback)},highlightElement:function(t,n,r){var a=i.util.getLanguage(t),o=i.languages[a];i.util.setLanguage(t,a);var s=t.parentElement;s&&s.nodeName.toLowerCase()===`pre`&&i.util.setLanguage(s,a);var c={element:t,language:a,grammar:o,code:t.textContent};function l(e){c.highlightedCode=e,i.hooks.run(`before-insert`,c),c.element.innerHTML=c.highlightedCode,i.hooks.run(`after-highlight`,c),i.hooks.run(`complete`,c),r&&r.call(c.element)}if(i.hooks.run(`before-sanity-check`,c),s=c.element.parentElement,s&&s.nodeName.toLowerCase()===`pre`&&!s.hasAttribute(`tabindex`)&&s.setAttribute(`tabindex`,`0`),!c.code){i.hooks.run(`complete`,c),r&&r.call(c.element);return}if(i.hooks.run(`before-highlight`,c),!c.grammar){l(i.util.encode(c.code));return}if(n&&e.Worker){var u=new Worker(i.filename);u.onmessage=function(e){l(e.data)},u.postMessage(JSON.stringify({language:c.language,code:c.code,immediateClose:!0}))}else l(i.highlight(c.code,c.grammar,c.language))},highlight:function(e,t,n){var r={code:e,grammar:t,language:n};if(i.hooks.run(`before-tokenize`,r),!r.grammar)throw Error(`The language "`+r.language+`" has no grammar.`);return r.tokens=i.tokenize(r.code,r.grammar),i.hooks.run(`after-tokenize`,r),a.stringify(i.util.encode(r.tokens),r.language)},tokenize:function(e,t){var n=t.rest;if(n){for(var r in n)t[r]=n[r];delete t.rest}var i=new c;return l(i,i.head,e),s(e,i,t,i.head,0),d(i)},hooks:{all:{},add:function(e,t){var n=i.hooks.all;n[e]=n[e]||[],n[e].push(t)},run:function(e,t){var n=i.hooks.all[e];if(!(!n||!n.length))for(var r=0,a;a=n[r++];)a(t)}},Token:a};e.Prism=i;function a(e,t,n,r){this.type=e,this.content=t,this.alias=n,this.length=(r||``).length|0}a.stringify=function e(t,n){if(typeof t==`string`)return t;if(Array.isArray(t)){var r=``;return t.forEach(function(t){r+=e(t,n)}),r}var a={type:t.type,content:e(t.content,n),tag:`span`,classes:[`token`,t.type],attributes:{},language:n},o=t.alias;o&&(Array.isArray(o)?Array.prototype.push.apply(a.classes,o):a.classes.push(o)),i.hooks.run(`wrap`,a);var s=``;for(var c in a.attributes)s+=` `+c+`="`+(a.attributes[c]||``).replace(/"/g,`"`)+`"`;return`<`+a.tag+` class="`+a.classes.join(` `)+`"`+s+`>`+a.content+`</`+a.tag+`>`};function o(e,t,n,r){e.lastIndex=t;var i=e.exec(n);if(i&&r&&i[1]){var a=i[1].length;i.index+=a,i[0]=i[0].slice(a)}return i}function s(e,t,n,r,c,d){for(var f in n)if(!(!n.hasOwnProperty(f)||!n[f])){var p=n[f];p=Array.isArray(p)?p:[p];for(var m=0;m<p.length;++m){if(d&&d.cause==f+`,`+m)return;var h=p[m],g=h.inside,_=!!h.lookbehind,v=!!h.greedy,y=h.alias;if(v&&!h.pattern.global){var b=h.pattern.toString().match(/[imsuy]*$/)[0];h.pattern=RegExp(h.pattern.source,b+`g`)}for(var x=h.pattern||h,S=r.next,C=c;S!==t.tail&&!(d&&C>=d.reach);C+=S.value.length,S=S.next){var w=S.value;if(t.length>e.length)return;if(!(w instanceof a)){var T=1,E;if(v){if(E=o(x,C,e,_),!E||E.index>=e.length)break;var D=E.index,ee=E.index+E[0].length,O=C;for(O+=S.value.length;D>=O;)S=S.next,O+=S.value.length;if(O-=S.value.length,C=O,S.value instanceof a)continue;for(var k=S;k!==t.tail&&(O<ee||typeof k.value==`string`);k=k.next)T++,O+=k.value.length;T--,w=e.slice(C,O),E.index-=C}else if(E=o(x,0,w,_),!E)continue;var D=E.index,A=E[0],te=w.slice(0,D),j=w.slice(D+A.length),M=C+w.length;d&&M>d.reach&&(d.reach=M);var ne=S.prev;te&&(ne=l(t,ne,te),C+=te.length),u(t,ne,T);var re=new a(f,g?i.tokenize(A,g):A,y,A);if(S=l(t,ne,re),j&&l(t,S,j),T>1){var N={cause:f+`,`+m,reach:M};s(e,t,n,S.prev,C,N),d&&N.reach>d.reach&&(d.reach=N.reach)}}}}}}function c(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function l(e,t,n){var r=t.next,i={value:n,prev:t,next:r};return t.next=i,r.prev=i,e.length++,i}function u(e,t,n){for(var r=t.next,i=0;i<n&&r!==e.tail;i++)r=r.next;t.next=r,r.prev=t,e.length-=i}function d(e){for(var t=[],n=e.head.next;n!==e.tail;)t.push(n.value),n=n.next;return t}if(!e.document)return e.addEventListener&&(i.disableWorkerMessageHandler||e.addEventListener(`message`,function(t){var n=JSON.parse(t.data),r=n.language,a=n.code,o=n.immediateClose;e.postMessage(i.highlight(a,i.languages[r],r)),o&&e.close()},!1)),i;var f=i.util.currentScript();f&&(i.filename=f.src,f.hasAttribute(`data-manual`)&&(i.manual=!0));function p(){i.manual||i.highlightAll()}if(!i.manual){var m=document.readyState;m===`loading`||m===`interactive`&&f&&f.defer?document.addEventListener(`DOMContentLoaded`,p):window.requestAnimationFrame?window.requestAnimationFrame(p):window.setTimeout(p,16)}return i}(typeof window<`u`?window:typeof WorkerGlobalScope<`u`&&self instanceof WorkerGlobalScope?self:{});t!==void 0&&t.exports&&(t.exports=n),typeof global<`u`&&(global.Prism=n),n.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:`attr-equals`},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:`named-entity`},/&#x?[\da-f]{1,8};/i]},n.languages.markup.tag.inside[`attr-value`].inside.entity=n.languages.markup.entity,n.languages.markup.doctype.inside[`internal-subset`].inside=n.languages.markup,n.hooks.add(`wrap`,function(e){e.type===`entity`&&(e.attributes.title=e.content.replace(/&/,`&`))}),Object.defineProperty(n.languages.markup.tag,`addInlined`,{value:function(e,t){var r={};r[`language-`+t]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:n.languages[t]},r.cdata=/^<!\[CDATA\[|\]\]>$/i;var i={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:r}};i[`language-`+t]={pattern:/[\s\S]+/,inside:n.languages[t]};var a={};a[e]={pattern:RegExp(`(<__[^>]*>)(?:<!\\[CDATA\\[(?:[^\\]]|\\](?!\\]>))*\\]\\]>|(?!<!\\[CDATA\\[)[\\s\\S])*?(?=<\\/__>)`.replace(/__/g,function(){return e}),`i`),lookbehind:!0,greedy:!0,inside:i},n.languages.insertBefore(`markup`,`cdata`,a)}}),Object.defineProperty(n.languages.markup.tag,`addAttribute`,{value:function(e,t){n.languages.markup.tag.inside[`special-attr`].push({pattern:RegExp(`(^|["'\\s])(?:`+e+`)\\s*=\\s*(?:"[^"]*"|'[^']*'|[^\\s'">=]+(?=[\\s>]))`,`i`),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,`language-`+t],inside:n.languages[t]},punctuation:[{pattern:/^=/,alias:`attr-equals`},/"|'/]}}}})}}),n.languages.html=n.languages.markup,n.languages.mathml=n.languages.markup,n.languages.svg=n.languages.markup,n.languages.xml=n.languages.extend(`markup`,{}),n.languages.ssml=n.languages.xml,n.languages.atom=n.languages.xml,n.languages.rss=n.languages.xml,(function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp(`@[\\w-](?:[^;{\\s"']|\\s+(?!\\s)|`+t.source+`)*?(?:;|(?=\\s*\\{))`),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:`selector`},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp(`\\burl\\((?:`+t.source+`|(?:[^\\\\\\r\\n()"']|\\\\[\\s\\S])*)\\)`,`i`),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp(`^`+t.source+`$`),alias:`url`}}},selector:{pattern:RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|`+t.source+`)*(?=\\s*\\{)`),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var n=e.languages.markup;n&&(n.tag.addInlined(`style`,`css`),n.tag.addAttribute(`style`,`css`))})(n),n.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},n.languages.javascript=n.languages.extend(`clike`,{"class-name":[n.languages.clike[`class-name`],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(`(^|[^\\w$])(?:NaN|Infinity|0[bB][01]+(?:_[01]+)*n?|0[oO][0-7]+(?:_[0-7]+)*n?|0[xX][\\dA-Fa-f]+(?:_[\\dA-Fa-f]+)*n?|\\d+(?:_\\d+)*n|(?:\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\.\\d+(?:_\\d+)*)(?:[Ee][+-]?\\d+(?:_\\d+)*)?)(?![\\w$])`),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),n.languages.javascript[`class-name`][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,n.languages.insertBefore(`javascript`,`keyword`,{regex:{pattern:RegExp(`((?:^|[^$\\w\\xA0-\\uFFFF."'\\])\\s]|\\b(?:return|yield))\\s*)\\/(?:(?:\\[(?:[^\\]\\\\\\r\\n]|\\\\.)*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}|(?:\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.)*\\])*\\])*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}v[dgimyus]{0,7})(?=(?:\\s|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*(?:$|[\\r\\n,.;:})\\]]|\\/\\/))`),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:`language-regex`,inside:n.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:`function`},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:n.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:n.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:n.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:n.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),n.languages.insertBefore(`javascript`,`string`,{hashbang:{pattern:/^#!.*/,greedy:!0,alias:`comment`},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:`string`},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:`punctuation`},rest:n.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:`property`}}),n.languages.insertBefore(`javascript`,`operator`,{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:`property`}}),n.languages.markup&&(n.languages.markup.tag.addInlined(`script`,`javascript`),n.languages.markup.tag.addAttribute(`on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)`,`javascript`)),n.languages.js=n.languages.javascript,(function(){if(n===void 0||typeof document>`u`)return;Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector);var e=`Loading…`,t=function(e,t){return`✖ Error `+e+` while fetching file: `+t},r=`✖ Error: File does not exist or is empty`,i={js:`javascript`,py:`python`,rb:`ruby`,ps1:`powershell`,psm1:`powershell`,sh:`bash`,bat:`batch`,h:`c`,tex:`latex`},a=`data-src-status`,o=`loading`,s=`loaded`,c=`failed`,l=`pre[data-src]:not([`+a+`="`+s+`"]):not([`+a+`="`+o+`"])`;function u(e,n,i){var a=new XMLHttpRequest;a.open(`GET`,e,!0),a.onreadystatechange=function(){a.readyState==4&&(a.status<400&&a.responseText?n(a.responseText):a.status>=400?i(t(a.status,a.statusText)):i(r))},a.send(null)}function d(e){var t=/^\s*(\d+)\s*(?:(,)\s*(?:(\d+)\s*)?)?$/.exec(e||``);if(t){var n=Number(t[1]),r=t[2],i=t[3];return r?i?[n,Number(i)]:[n,void 0]:[n,n]}}n.hooks.add(`before-highlightall`,function(e){e.selector+=`, `+l}),n.hooks.add(`before-sanity-check`,function(t){var r=t.element;if(r.matches(l)){t.code=``,r.setAttribute(a,o);var f=r.appendChild(document.createElement(`CODE`));f.textContent=e;var p=r.getAttribute(`data-src`),m=t.language;if(m===`none`){var h=(/\.(\w+)$/.exec(p)||[,`none`])[1];m=i[h]||h}n.util.setLanguage(f,m),n.util.setLanguage(r,m);var g=n.plugins.autoloader;g&&g.loadLanguages(m),u(p,function(e){r.setAttribute(a,s);var t=d(r.getAttribute(`data-range`));if(t){var i=e.split(/\r\n?|\n/g),o=t[0],c=t[1]==null?i.length:t[1];o<0&&(o+=i.length),o=Math.max(0,Math.min(o-1,i.length)),c<0&&(c+=i.length),c=Math.max(0,Math.min(c,i.length)),e=i.slice(o,c).join(`
|
|
5
|
-
`),r.hasAttribute(`data-start`)||r.setAttribute(`data-start`,String(o+1))}f.textContent=e,n.highlightElement(f)},function(e){r.setAttribute(a,c),f.textContent=e})}}),n.plugins.fileHighlight={highlight:function(e){for(var t=(e||document).querySelectorAll(l),r=0,i;i=t[r++];)n.highlightElement(i)}};var f=!1;n.fileHighlight=function(){f||(console.warn("Prism.fileHighlight is deprecated. Use `Prism.plugins.fileHighlight.highlight` instead."),f=!0),n.plugins.fileHighlight.highlight.apply(this,arguments)}})()})),ro=e.r(no());function io(){ro.default.languages.mermaid||(ro.default.languages.mermaid={directive:{pattern:/%%\{[\s\S]*?\}%%/,greedy:!0},comment:{pattern:/%%[^\n]*/,greedy:!0},"edge-label":{pattern:/\|[^|\n]*\|/,greedy:!0,inside:{"edge-delimiter":/^\||\|$/,"edge-label":/[^|]+/}},"node-definition":{pattern:/(?:\(\[|\[\[|\[\(|\[|\(+|>|\{|\(\()(?:[^\[\]{}()\n])*(?:\]\)|\]\]|\)\]|\]|\)+|\}|\)\))/,greedy:!0,inside:{"node-bracket":/^\(?[\[{(>]|[\]})]\)?$/,string:/[^\[\]{}()\n]+/}},"diagram-name":/^\s*(?:flowchart|graph|sequenceDiagram|classDiagram|erDiagram|stateDiagram(?:-v2)?|gitGraph|pie(?:\s+title)?|mindmap|timeline|quadrantChart|requirementDiagram|xychart-beta|C4Context|C4Container|C4Component)\b/m,keyword:/\b(?:TD|TB|LR|RL|BT|subgraph|end|direction|participant|actor|as|activate|deactivate|loop|alt|else|opt|par|and|rect|critical|note|over|title|section|classDef|class|linkStyle|style|click|left of|right of)\b/,operator:/[xo<]?(?:={2,}|(?:-\.{1,3}|-{2,5}))(?:[xo>]?>{0,2})|~{3}/,variable:/\b(?!(?:TD|TB|LR|RL|BT|end|subgraph|direction|participant|actor|as|activate|deactivate|loop|alt|else|opt|par|and|rect|critical|note|over|title|section|classDef|class|linkStyle|style|click)\b)[-\w]+\b/})}var ao={javascript:{grammar:`javascript`,importer:()=>Promise.resolve().then(()=>require(`./prism-javascript-ELk9U7yv.cjs`))},typescript:{grammar:`typescript`,importer:()=>Promise.resolve().then(()=>require(`./prism-typescript-DGlZWX5K.cjs`))},python:{grammar:`python`,importer:()=>Promise.resolve().then(()=>require(`./prism-python-DLqiSiAQ.cjs`))},java:{grammar:`java`,importer:()=>Promise.resolve().then(()=>require(`./prism-java-BpQ0ReAC.cjs`))},c:{grammar:`c`,importer:()=>Promise.resolve().then(()=>require(`./prism-c-BLyB6e2K.cjs`))},cpp:{grammar:`cpp`,importer:()=>Promise.resolve().then(()=>require(`./prism-cpp-OSmmdLuG.cjs`))},csharp:{grammar:`csharp`,importer:()=>Promise.resolve().then(()=>require(`./prism-csharp-16T9Ewqf.cjs`))},go:{grammar:`go`,importer:()=>Promise.resolve().then(()=>require(`./prism-go-DUV4QMTT.cjs`))},rust:{grammar:`rust`,importer:()=>Promise.resolve().then(()=>require(`./prism-rust-g2dmV4wL.cjs`))},ruby:{grammar:`ruby`,importer:()=>Promise.resolve().then(()=>require(`./prism-ruby-M4mhoFF5.cjs`))},php:{grammar:`php`,prereqs:[`markup`,`markup-templating`],importer:()=>Promise.resolve().then(()=>require(`./prism-php-V_A4SMVC.cjs`))},swift:{grammar:`swift`,importer:()=>Promise.resolve().then(()=>require(`./prism-swift-CqOmCgZp.cjs`))},kotlin:{grammar:`kotlin`,importer:()=>Promise.resolve().then(()=>require(`./prism-kotlin-WNUAhuoa.cjs`))},sql:{grammar:`sql`,importer:()=>Promise.resolve().then(()=>require(`./prism-sql-BjDuRopl.cjs`))},html:{grammar:`markup`,importer:()=>Promise.resolve().then(()=>require(`./prism-markup-DaGlO8wQ.cjs`))},css:{grammar:`css`,importer:()=>Promise.resolve().then(()=>require(`./prism-css-CMFNwvrI.cjs`))},json:{grammar:`json`,importer:()=>Promise.resolve().then(()=>require(`./prism-json-BdNUnMGb.cjs`))},yaml:{grammar:`yaml`,importer:()=>Promise.resolve().then(()=>require(`./prism-yaml-HqOYDhYZ.cjs`))},markdown:{grammar:`markdown`,importer:()=>Promise.resolve().then(()=>require(`./prism-markdown-DonI20ta.cjs`))},bash:{grammar:`bash`,importer:()=>Promise.resolve().then(()=>require(`./prism-bash-qitAYJtY.cjs`))},shell:{grammar:`bash`,importer:()=>Promise.resolve().then(()=>require(`./prism-bash-qitAYJtY.cjs`))},dockerfile:{grammar:`docker`,importer:()=>Promise.resolve().then(()=>require(`./prism-docker-CR4lKITl.cjs`))},xml:{grammar:`markup`,importer:()=>Promise.resolve().then(()=>require(`./prism-markup-DaGlO8wQ.cjs`))},graphql:{grammar:`graphql`,importer:()=>Promise.resolve().then(()=>require(`./prism-graphql-Cw4U0rOD.cjs`))},r:{grammar:`r`,importer:()=>Promise.resolve().then(()=>require(`./prism-r-zh9-I3-j.cjs`))},scala:{grammar:`scala`,importer:()=>Promise.resolve().then(()=>require(`./prism-scala-DdSRpf_v.cjs`))},dart:{grammar:`dart`,importer:()=>Promise.resolve().then(()=>require(`./prism-dart-DX2YtTGt.cjs`))},lua:{grammar:`lua`,importer:()=>Promise.resolve().then(()=>require(`./prism-lua-DhVb-IBs.cjs`))},latex:{grammar:`latex`,importer:()=>Promise.resolve().then(()=>require(`./prism-latex-BtyYjHKE.cjs`))},mermaid:{grammar:`mermaid`,importer:()=>Promise.resolve(io())}},oo={markup:()=>Promise.resolve().then(()=>require(`./prism-markup-DaGlO8wQ.cjs`)),"markup-templating":()=>Promise.resolve().then(()=>require(`./prism-markup-templating-DKZ_F63l.cjs`))},so=new Set;function co(e){return Na.has(e)}async function lo(e){if(so.has(e))return;let t=oo[e];if(t)try{await t(),so.add(e)}catch(t){console.warn(`[blok] Failed to load Prism prerequisite grammar "${e}":`,t)}}async function uo(e){let t=ao[e];if(!t)return!1;let n=t.grammar;if(so.has(n))return!0;if(t.prereqs)for(let e of t.prereqs)await lo(e);try{return await t.importer(),so.add(n),!0}catch(t){return console.warn(`[blok] Failed to load Prism grammar for "${e}":`,t),!1}}async function fo(e,t){if(!co(t))return null;let n=ao[t];if(!n||!await uo(t))return null;let r=ro.default.languages[n.grammar];if(!r)return null;try{return ro.default.highlight(e,r,n.grammar)}catch(e){return console.warn(`[blok] Prism highlight error for "${t}":`,e),null}}var po=null,mo=`
|
|
6
|
-
.blok-code .token.comment,
|
|
7
|
-
.blok-code .token.prolog,
|
|
8
|
-
.blok-code .token.doctype,
|
|
9
|
-
.blok-code .token.cdata { color: #6b7280; }
|
|
10
|
-
|
|
11
|
-
.blok-code .token.keyword,
|
|
12
|
-
.blok-code .token.operator,
|
|
13
|
-
.blok-code .token.important { color: #7c3aed; }
|
|
14
|
-
|
|
15
|
-
.blok-code .token.string,
|
|
16
|
-
.blok-code .token.attr-value,
|
|
17
|
-
.blok-code .token.char,
|
|
18
|
-
.blok-code .token.regex { color: #059669; }
|
|
19
|
-
|
|
20
|
-
.blok-code .token.number,
|
|
21
|
-
.blok-code .token.boolean,
|
|
22
|
-
.blok-code .token.constant,
|
|
23
|
-
.blok-code .token.symbol { color: #d97706; }
|
|
24
|
-
|
|
25
|
-
.blok-code .token.function,
|
|
26
|
-
.blok-code .token.class-name { color: #2563eb; }
|
|
27
|
-
|
|
28
|
-
.blok-code .token.builtin,
|
|
29
|
-
.blok-code .token.tag,
|
|
30
|
-
.blok-code .token.selector { color: #db2777; }
|
|
31
|
-
|
|
32
|
-
.blok-code .token.attr-name,
|
|
33
|
-
.blok-code .token.property,
|
|
34
|
-
.blok-code .token.variable { color: #ea580c; }
|
|
35
|
-
|
|
36
|
-
.blok-code .token.punctuation { color: #374151; }
|
|
37
|
-
|
|
38
|
-
/* --- Extended coverage: token classes Prism emits that the base palette missed.
|
|
39
|
-
* Grouped into the same hue families above so highlighting stays coherent
|
|
40
|
-
* across every supported language. (See test/unit/tools/code/prism-coverage.test.ts.) */
|
|
41
|
-
|
|
42
|
-
/* string family (green) — template/interpolated/literal string containers, imports, links, inline code */
|
|
43
|
-
.blok-code .token.template-string,
|
|
44
|
-
.blok-code .token.string-interpolation,
|
|
45
|
-
.blok-code .token.string-literal,
|
|
46
|
-
.blok-code .token.command-literal,
|
|
47
|
-
.blok-code .token.regex-literal,
|
|
48
|
-
.blok-code .token.import,
|
|
49
|
-
.blok-code .token.url,
|
|
50
|
-
.blok-code .token.code { color: #059669; }
|
|
51
|
-
|
|
52
|
-
/* function / class-name family (blue) — namespaces, definitions, code structures, types */
|
|
53
|
-
.blok-code .token.namespace,
|
|
54
|
-
.blok-code .token.method-definition,
|
|
55
|
-
.blok-code .token.expression,
|
|
56
|
-
.blok-code .token.scalar,
|
|
57
|
-
.blok-code .token.code-block,
|
|
58
|
-
.blok-code .token.base-clause,
|
|
59
|
-
.blok-code .token.generic-function { color: #2563eb; }
|
|
60
|
-
|
|
61
|
-
/* builtin family (pink) — decorators, package markers, markup entities */
|
|
62
|
-
.blok-code .token.decorator,
|
|
63
|
-
.blok-code .token.entity,
|
|
64
|
-
.blok-code .token.package { color: #db2777; }
|
|
65
|
-
|
|
66
|
-
/* attr-name / property family (orange) — interpolation, parameters, attributes, mapping keys */
|
|
67
|
-
.blok-code .token.interpolation,
|
|
68
|
-
.blok-code .token.parameter,
|
|
69
|
-
.blok-code .token.attribute,
|
|
70
|
-
.blok-code .token.atrule,
|
|
71
|
-
.blok-code .token.key,
|
|
72
|
-
.blok-code .token.property-query { color: #ea580c; }
|
|
73
|
-
|
|
74
|
-
/* keyword family (purple) — generics, at-rules, instructions, emphasis */
|
|
75
|
-
.blok-code .token.generics,
|
|
76
|
-
.blok-code .token.rule,
|
|
77
|
-
.blok-code .token.instruction,
|
|
78
|
-
.blok-code .token.code-language { color: #7c3aed; }
|
|
79
|
-
.blok-code .token.bold { color: #7c3aed; font-weight: 700; }
|
|
80
|
-
.blok-code .token.italic { color: #7c3aed; font-style: italic; }
|
|
81
|
-
|
|
82
|
-
/* pure syntax wrapper — match default text so it is covered without changing appearance */
|
|
83
|
-
.blok-code .token.php { color: #000000; }
|
|
84
|
-
|
|
85
|
-
/* Mermaid-specific tokens — scoped to lang-mermaid to avoid polluting other languages.
|
|
86
|
-
* Colors use Atom One Light palette:
|
|
87
|
-
* @hue-1 = #0184bc (cyan)
|
|
88
|
-
* @hue-6-2 = #c18401 (amber/gold — node IDs)
|
|
89
|
-
* @hue-4 = #50a14f (green — edge labels)
|
|
90
|
-
*/
|
|
91
|
-
.blok-code.lang-mermaid .token.diagram-name { color: #0184bc; }
|
|
92
|
-
.blok-code.lang-mermaid .token.node-bracket { color: #0184bc; }
|
|
93
|
-
.blok-code.lang-mermaid .token.edge-delimiter { color: #0184bc; }
|
|
94
|
-
.blok-code.lang-mermaid .token.edge-label { color: #50a14f; }
|
|
95
|
-
.blok-code.lang-mermaid .token.variable { color: #c18401; }
|
|
96
|
-
.blok-code.lang-mermaid .token.keyword,
|
|
97
|
-
.blok-code.lang-mermaid .token.operator,
|
|
98
|
-
.blok-code.lang-mermaid .token.string { color: inherit; }
|
|
99
|
-
`,ho=`
|
|
100
|
-
.dark .blok-code .token.comment,
|
|
101
|
-
.dark .blok-code .token.prolog,
|
|
102
|
-
.dark .blok-code .token.doctype,
|
|
103
|
-
.dark .blok-code .token.cdata { color: #9ca3af; }
|
|
104
|
-
|
|
105
|
-
.dark .blok-code .token.keyword,
|
|
106
|
-
.dark .blok-code .token.operator,
|
|
107
|
-
.dark .blok-code .token.important { color: #a78bfa; }
|
|
108
|
-
|
|
109
|
-
.dark .blok-code .token.string,
|
|
110
|
-
.dark .blok-code .token.attr-value,
|
|
111
|
-
.dark .blok-code .token.char,
|
|
112
|
-
.dark .blok-code .token.regex { color: #34d399; }
|
|
113
|
-
|
|
114
|
-
.dark .blok-code .token.number,
|
|
115
|
-
.dark .blok-code .token.boolean,
|
|
116
|
-
.dark .blok-code .token.constant,
|
|
117
|
-
.dark .blok-code .token.symbol { color: #fbbf24; }
|
|
118
|
-
|
|
119
|
-
.dark .blok-code .token.function,
|
|
120
|
-
.dark .blok-code .token.class-name { color: #60a5fa; }
|
|
121
|
-
|
|
122
|
-
.dark .blok-code .token.builtin,
|
|
123
|
-
.dark .blok-code .token.tag,
|
|
124
|
-
.dark .blok-code .token.selector { color: #f472b6; }
|
|
125
|
-
|
|
126
|
-
.dark .blok-code .token.attr-name,
|
|
127
|
-
.dark .blok-code .token.property,
|
|
128
|
-
.dark .blok-code .token.variable { color: #fb923c; }
|
|
129
|
-
|
|
130
|
-
.dark .blok-code .token.punctuation { color: #d1d5db; }
|
|
131
|
-
|
|
132
|
-
/* --- Extended coverage (dark) — mirrors the light-theme groups above. */
|
|
133
|
-
|
|
134
|
-
/* string family (green) */
|
|
135
|
-
.dark .blok-code .token.template-string,
|
|
136
|
-
.dark .blok-code .token.string-interpolation,
|
|
137
|
-
.dark .blok-code .token.string-literal,
|
|
138
|
-
.dark .blok-code .token.command-literal,
|
|
139
|
-
.dark .blok-code .token.regex-literal,
|
|
140
|
-
.dark .blok-code .token.import,
|
|
141
|
-
.dark .blok-code .token.url,
|
|
142
|
-
.dark .blok-code .token.code { color: #34d399; }
|
|
143
|
-
|
|
144
|
-
/* function / class-name family (blue) */
|
|
145
|
-
.dark .blok-code .token.namespace,
|
|
146
|
-
.dark .blok-code .token.method-definition,
|
|
147
|
-
.dark .blok-code .token.expression,
|
|
148
|
-
.dark .blok-code .token.scalar,
|
|
149
|
-
.dark .blok-code .token.code-block,
|
|
150
|
-
.dark .blok-code .token.base-clause,
|
|
151
|
-
.dark .blok-code .token.generic-function { color: #60a5fa; }
|
|
152
|
-
|
|
153
|
-
/* builtin family (pink) */
|
|
154
|
-
.dark .blok-code .token.decorator,
|
|
155
|
-
.dark .blok-code .token.entity,
|
|
156
|
-
.dark .blok-code .token.package { color: #f472b6; }
|
|
157
|
-
|
|
158
|
-
/* attr-name / property family (orange) */
|
|
159
|
-
.dark .blok-code .token.interpolation,
|
|
160
|
-
.dark .blok-code .token.parameter,
|
|
161
|
-
.dark .blok-code .token.attribute,
|
|
162
|
-
.dark .blok-code .token.atrule,
|
|
163
|
-
.dark .blok-code .token.key,
|
|
164
|
-
.dark .blok-code .token.property-query { color: #fb923c; }
|
|
165
|
-
|
|
166
|
-
/* keyword family (purple) */
|
|
167
|
-
.dark .blok-code .token.generics,
|
|
168
|
-
.dark .blok-code .token.rule,
|
|
169
|
-
.dark .blok-code .token.instruction,
|
|
170
|
-
.dark .blok-code .token.code-language { color: #a78bfa; }
|
|
171
|
-
.dark .blok-code .token.bold { color: #a78bfa; font-weight: 700; }
|
|
172
|
-
.dark .blok-code .token.italic { color: #a78bfa; font-style: italic; }
|
|
173
|
-
|
|
174
|
-
/* pure syntax wrapper — match dark default text */
|
|
175
|
-
.dark .blok-code .token.php { color: #e2e0dc; }
|
|
176
|
-
|
|
177
|
-
/* Mermaid-specific tokens — dark mode.
|
|
178
|
-
* Colors use Atom One Dark palette:
|
|
179
|
-
* @hue-1 = #56b5c2 (cyan)
|
|
180
|
-
* @hue-6-2 = #e4bf7a (amber/yellow — node IDs)
|
|
181
|
-
* @hue-4 = #97c279 (green — edge labels)
|
|
182
|
-
*/
|
|
183
|
-
.dark .blok-code.lang-mermaid .token.diagram-name { color: #56b5c2; }
|
|
184
|
-
.dark .blok-code.lang-mermaid .token.node-bracket { color: #56b5c2; }
|
|
185
|
-
.dark .blok-code.lang-mermaid .token.edge-delimiter { color: #56b5c2; }
|
|
186
|
-
.dark .blok-code.lang-mermaid .token.edge-label { color: #97c279; }
|
|
187
|
-
.dark .blok-code.lang-mermaid .token.variable { color: #e4bf7a; }
|
|
188
|
-
.dark .blok-code.lang-mermaid .token.keyword,
|
|
189
|
-
.dark .blok-code.lang-mermaid .token.operator,
|
|
190
|
-
.dark .blok-code.lang-mermaid .token.string { color: inherit; }
|
|
191
|
-
`;function go(){var e;if(po)return;po=new CSSStyleSheet,po.replaceSync(mo+ho);let t=(e=document.adoptedStyleSheets)==null?[]:e;document.adoptedStyleSheets=[...t,po]}function _o(e){let t=window.getSelection();if(!t||t.rangeCount===0)return-1;let n=t.getRangeAt(0).cloneRange();return n.selectNodeContents(e),n.setEnd(t.getRangeAt(0).endContainer,t.getRangeAt(0).endOffset),n.toString().length}function vo(e,t){if(t<0)return;let n=document.createTreeWalker(e,NodeFilter.SHOW_TEXT),r=t,i=null;for(;n.nextNode();){let e=n.currentNode;if(e.length>=r){i=e;break}r-=e.length}if(!i)return;let a=document.createRange();a.setStart(i,r),a.collapse(!0);let o=window.getSelection();o==null||o.removeAllRanges(),o==null||o.addRange(a)}function yo(e,t,n){var r;go();let i=(r=e.textContent)==null?``:r,a=_o(e);return e.classList.add(`blok-code`),n&&e.classList.add(`lang-${n}`),e.innerHTML=t,vo(e,a),()=>{e.innerHTML=i,e.classList.remove(`blok-code`),n&&e.classList.remove(`lang-${n}`)}}function bo(){var e;if(!po)return;let t=(e=document.adoptedStyleSheets)==null?[]:e;document.adoptedStyleSheets=t.filter(e=>e!==po),po=null}var xo=[`javascript`,`typescript`,`python`,`java`,`html`,`css`,`json`,`bash`,`sql`,`rust`,`go`,`cpp`,`yaml`,`markdown`,`php`],So=20,Co=2,wo=.2;async function To(e,t){var n;let r=await fo(e,t);if(!r)return null;let i=(n=r.match(/class="token ([^"]+)"/g))==null?[]:n;if(i.length===0)return null;let a=new Set(i.flatMap(e=>e.slice(13,-1).split(` `)));return a.size<Co?null:a.size/i.length}async function Eo(e){if(e.length<So)return null;let t=(await Promise.all(xo.map(async t=>({lang:t,score:await To(e,t)})))).reduce((e,{lang:t,score:n})=>n===null?e:n>e.score?{lang:t,score:n}:e,{lang:null,score:-1/0});return t.lang===null||t.score<wo?null:t.lang}var Do=1500;function Oo(e,t){var n;let r=((n=e.ownerDocument)==null?document:n).createTreeWalker(e,NodeFilter.SHOW_TEXT),i=n=>{var a,o;let s=r.nextNode();if(!s)return{node:e,offset:0};let c=(a=(o=s.nodeValue)==null?void 0:o.length)==null?0:a;return n+c>=t?{node:s,offset:t-n}:i(n+c)};return i(0)}var ko=class{constructor({data:e,api:t,readOnly:n}){var r,i,a;this._dom=null,this._lineNumbers=!0,this._picker=null,this._viewMode=`preview`,this._previewContainer=null,this._highlightRafId=null,this._detectedLanguage=null,this._detectionTimeoutId=null,this._highlightCleanup=null,this._highlightedLang=null,this.api=t,this.readOnly=n,this._data={code:(r=e==null?void 0:e.code)==null?``:r,language:(i=e==null?void 0:e.language)==null?fa:i,lineNumbers:e==null?void 0:e.lineNumbers},this._lineNumbers=(a=e==null?void 0:e.lineNumbers)==null?!0:a}render(){let e=Sa.has(this._data.language),n=za({code:this._data.code,languageName:this.getLanguageName(this._data.language),readOnly:this.readOnly,copyLabel:this.api.i18n.t(ua),previewable:this.readOnly?!1:e,viewModeLabels:this.readOnly?void 0:{code:this.api.i18n.t(Ca),preview:this.api.i18n.t(wa),split:this.api.i18n.t(Ea)}});if(this._dom=n,n.gutterElement.hidden=!this._lineNumbers,this.readOnly&&e){let e=document.createElement(`div`);e.className=Ta,e.setAttribute(`data-blok-testid`,`code-preview`),n.wrapper.appendChild(e),n.preElement.hidden=!0,n.gutterElement.hidden=!0,this._previewContainer=e,this.renderPreview()}if(!this.readOnly&&e&&n.previewElement&&(this._viewMode=`preview`,this._previewContainer=n.previewElement,this.applyViewMode(),this.renderPreview()),!this.readOnly&&n.viewModeContainer){let e=Array.from(n.viewModeContainer.querySelectorAll(`[data-mode]`));for(let n of e){var r;t.dr(n,(r=n.getAttribute(`aria-label`))==null?``:r,{placement:`bottom`}),n.addEventListener(`click`,()=>{let e=n.getAttribute(`data-mode`);e&&e!==this._viewMode&&this.setViewMode(e)})}}return this.readOnly||(n.gutterElement.addEventListener(`mousedown`,e=>{var t;let n=(t=e.target)==null?void 0:t.closest(`[data-line-index]`);if(!n)return;let r=Number(n.getAttribute(`data-line-index`));e.preventDefault(),this.focusLineEnd(r)}),n.codeElement.addEventListener(`keydown`,e=>{Ba(e,n.codeElement,()=>this.exitBlock())&&(e.preventDefault(),this.syncTrailingBr(),this.updateGutter(),this.scheduleHighlight(),this.scheduleDetection())}),n.codeElement.addEventListener(`input`,()=>{this.syncTrailingBr(),this.updateGutter(),this.scheduleHighlight(),this.scheduleDetection()}),n.codeElement.addEventListener(`paste`,()=>{requestAnimationFrame(()=>{this.syncTrailingBr(),this.updateGutter(),this.scheduleHighlight(),this.scheduleDetection()})})),n.copyButton.addEventListener(`click`,()=>this.copyCode()),t.dr(n.copyButton,this.api.i18n.t(ua),{placement:`bottom`}),this.readOnly||(this._picker=this.buildLanguagePicker(n.languageButton,n.wrapper),n.languageButton.addEventListener(`click`,()=>{var e;if((e=this._picker)!=null&&e.isShown)this._picker.hide();else{var t;(t=this._picker)==null||t.show()}})),n.wrapper}getToolbarAnchorElement(){var e;return(e=this._dom)==null?void 0:e.wrapper}rendered(){this.highlightCode()}setViewMode(e){this._viewMode=e,this.applyViewMode(),(e===`preview`||e===`split`)&&this.renderPreview()}applyViewMode(){var e,t;if(!((e=this._dom)!=null&&e.previewElement)||!this._dom.viewModeContainer||!this._dom.splitContainer)return;Ra(this._dom.viewModeContainer,this._viewMode);let n=(t=this._dom.preElement.parentElement)==null?void 0:t.parentElement;switch(this._viewMode){case`code`:this._dom.preElement.hidden=!1,this._dom.gutterElement.hidden=!this._lineNumbers,this._dom.previewElement.hidden=!0,n&&(n.hidden=!1),this._dom.splitContainer.className=Aa;break;case`preview`:this._dom.preElement.hidden=!0,this._dom.gutterElement.hidden=!0,this._dom.previewElement.hidden=!1,n&&(n.hidden=!0),this._dom.splitContainer.className=Aa;break;case`split`:this._dom.preElement.hidden=!1,this._dom.gutterElement.hidden=!this._lineNumbers,this._dom.previewElement.hidden=!1,n&&(n.hidden=!1),this._dom.splitContainer.className=ja;break}}async renderPreview(){var e=this,t,n;let r=e._previewContainer;if(!r)return;let i=(t=(n=e._dom)==null?void 0:n.codeElement.textContent)==null?e._data.code:t;r.innerHTML=e._data.language===`mermaid`?await to(i):await Qa(i)}setReadOnly(e){this.readOnly=e,this._dom&&(e?(this._dom.codeElement.setAttribute(`contenteditable`,`false`),this._dom.codeElement.removeAttribute(`spellcheck`)):(this._dom.codeElement.setAttribute(`contenteditable`,`plaintext-only`),this._dom.codeElement.setAttribute(`spellcheck`,`false`)))}save(e){var t,n;return{code:(t=(n=this._dom)==null?void 0:n.codeElement.textContent)==null?``:t,language:this._data.language,lineNumbers:this._lineNumbers}}setData(e){var t,n,r;let i=this._data.language;return this._data={code:(t=e.code)==null?``:t,language:(n=e.language)==null?fa:n,lineNumbers:e.lineNumbers},this._dom?(this._dom.codeElement.textContent=this._data.code,this.syncTrailingBr(),this._lineNumbers=(r=e.lineNumbers)==null?!0:r,this._dom.gutterElement.hidden=!this._lineNumbers,this.updateGutter(),e.language===i?(this._viewMode===`preview`||this._viewMode===`split`)&&this.renderPreview():this.applyLanguageChange(this._data.language),this.highlightCode(),!0):!0}applyLanguageChange(e){if(!this._dom)return;let t=this._dom.languageButton.querySelector(`span`);t&&(t.textContent=this.getLanguageName(e));let n=Sa.has(e);this._dom.viewModeContainer&&(this._dom.viewModeContainer.hidden=!n),n&&this._dom.previewElement?(this._previewContainer=this._dom.previewElement,(this._viewMode===`preview`||this._viewMode===`split`)&&this.renderPreview()):n||(this._previewContainer=null,this._viewMode!==`code`&&(this._viewMode=`code`,this.applyViewMode())),this._picker&&this._picker.destroy(),this._picker=this.buildLanguagePicker(this._dom.languageButton,this._dom.wrapper)}validate(e){return e.code.trim()!==``}merge(e){this._data.code+=`
|
|
192
|
-
`+e.code,this._dom&&(this._dom.codeElement.textContent=this._data.code,this.syncTrailingBr(),this.updateGutter()),this.highlightCode()}renderSettings(){let e=this._data.language,n=this._detectedLanguage,r=n!==null&&n!==e,i=[];if(r){let e=pa.find(e=>e.id===n);e&&(i.push({title:e.name,secondaryLabel:`auto`,icon:t.Nn,onActivate:()=>this.setLanguage(e.id),closeOnActivate:!0,isActive:()=>this._data.language===e.id}),i.push({type:t.vr.Separator}))}return i.push(...pa.map(n=>({title:n.name,trailingIcon:n.id===e?t.q:void 0,onActivate:()=>this.setLanguage(n.id),closeOnActivate:!0}))),[{icon:t.$,title:this.api.i18n.t(ca),name:`code-language`,children:{items:i}}]}onPaste(e){let t=e.detail;if(`data`in t){let e=t.data;if(e instanceof HTMLElement){var n;this._data.code=(n=e.textContent)==null?``:n}else if(typeof e==`string`){let t=e.replace(/^```[^\n]*\n?/,``).replace(/\n?```$/,``);this._data.code=t}}this._dom&&(this._dom.codeElement.textContent=this._data.code,this.syncTrailingBr(),this.updateGutter()),this.highlightCode()}setLanguage(e){this._data.language=e;let t=Sa.has(e);if(this._dom){let n=this._dom.languageButton.querySelector(`span`);n&&(n.textContent=this.getLanguageName(e)),this._dom.viewModeContainer&&(this._dom.viewModeContainer.hidden=!t),t&&this._dom.previewElement&&(this._previewContainer=this._dom.previewElement,this._viewMode=`preview`,this.applyViewMode(),this.renderPreview()),t||(this._previewContainer=null,this._viewMode=`code`,this.applyViewMode()),this._picker&&this._picker.destroy(),this._picker=this.buildLanguagePicker(this._dom.languageButton,this._dom.wrapper)}this.highlightCode()}buildLanguagePickerItems(){let e=this._data.language,n=this._detectedLanguage,r=n!==null&&n!==e,i=[];if(r){let e=pa.find(e=>e.id===n);e&&(i.push({title:e.name,name:e.id,icon:t.Nn,toggle:`language`,isActive:()=>this._data.language===e.id,closeOnActivate:!0,onActivate:()=>this.setLanguage(e.id)}),i.push({type:t.vr.Separator}))}return i.push(...pa.map(n=>({title:n.name,name:n.id,trailingIcon:n.id===e?t.q:void 0,toggle:`language`,closeOnActivate:!0,onActivate:()=>this.setLanguage(n.id)}))),i}buildLanguagePicker(e,n){return new t.C({items:this.buildLanguagePickerItems(),trigger:e,leftAlignElement:n,searchable:!0,width:`200px`,messages:{search:this.api.i18n.t(da)}})}getLanguageName(e){let t=pa.find(t=>t.id===e);return t?t.name:e}copyCode(){var e,t;let n=(e=(t=this._dom)==null?void 0:t.codeElement.textContent)==null?``:e;navigator.clipboard.writeText(n).then(()=>{if(!this._dom)return;let e=this._dom.copyButton,t=e.innerHTML;e.innerHTML=`<span class="${xa}">${this.api.i18n.t(la)}</span>`,setTimeout(()=>{e.innerHTML=t},Do)}).catch(()=>{})}updateGutter(){var e;if(!this._dom)return;let t=(e=this._dom.codeElement.textContent)==null?``:e,n=t?t.split(`
|
|
193
|
-
`).length:1,r=this._dom.gutterElement;r.children.length!==n&&(r.innerHTML=``,Array.from({length:n},(e,t)=>{let n=document.createElement(`div`);n.className=Ia,n.textContent=String(t+1),n.setAttribute(`data-line-index`,String(t)),r.appendChild(n)}))}syncTrailingBr(){var e;if(!this._dom)return;let t=this._dom.codeElement,n=(e=t.textContent)==null?``:e,r=t.lastChild instanceof HTMLBRElement;if(n.endsWith(`
|
|
194
|
-
`)&&!r){let e=document.createElement(`br`);t.appendChild(e),this.pinCaretBeforeSentinelBr(t,e)}else !n.endsWith(`
|
|
195
|
-
`)&&r&&t.lastChild.remove()}pinCaretBeforeSentinelBr(e,t){let n=window.getSelection();if(!n||n.rangeCount===0||!n.isCollapsed)return;let{startContainer:r,startOffset:i}=n.getRangeAt(0);if(r.nodeType!==Node.TEXT_NODE||!e.contains(r))return;let a=r;if(i!==a.length||!a.data.endsWith(`
|
|
196
|
-
`)||a.nextSibling!==t)return;let o=document.createRange();o.setStartBefore(t),o.collapse(!0),n.removeAllRanges(),n.addRange(o)}scheduleHighlight(){this._highlightRafId===null&&(this._highlightRafId=requestAnimationFrame(()=>{this._highlightRafId=null,this.highlightCode()}))}scheduleDetection(){this._detectionTimeoutId!==null&&clearTimeout(this._detectionTimeoutId),this._detectionTimeoutId=setTimeout(()=>{var e,t;this._detectionTimeoutId=null,Eo((e=(t=this._dom)==null?void 0:t.codeElement.textContent)==null?``:e).then(e=>{e!==this._detectedLanguage&&(this._detectedLanguage=e,this._dom&&(this._picker&&this._picker.destroy(),this._picker=this.buildLanguagePicker(this._dom.languageButton,this._dom.wrapper)))})},600)}async highlightCode(){var e=this,t,n;let r=e._data.language;if(!co(r))return;let i=(t=(n=e._dom)==null?void 0:n.codeElement.textContent)==null?``:t;if(!i.trim())return;let a=await fo(i,r);!a||!e._dom||e._dom.codeElement.textContent===i&&(e._highlightCleanup&&e._highlightedLang!==r&&(e._highlightCleanup(),e._highlightCleanup=null),e._highlightCleanup=yo(e._dom.codeElement,a,r),e._highlightedLang=r,e.syncTrailingBr())}focusLineEnd(e){var t;if(!this._dom)return;let n=this._dom.codeElement,r=((t=n.textContent)==null?``:t).split(`
|
|
197
|
-
`),i=Math.max(0,Math.min(e,r.length-1)),a=Oo(n,r.slice(0,i).reduce((e,t)=>e+t.length+1,0)+r[i].length),o=n.ownerDocument.createRange();o.setStart(a.node,a.offset),o.setEnd(a.node,a.offset);let s=n.ownerDocument.getSelection();s&&(s.removeAllRanges(),s.addRange(o)),n.focus({preventScroll:!0})}exitBlock(){let e=this.api.blocks.getCurrentBlockIndex();this.api.blocks.insert(void 0,void 0,void 0,e+1)}removed(){this._highlightCleanup&&(this._highlightCleanup(),this._highlightCleanup=null),this._highlightedLang=null,bo(),this._highlightRafId!==null&&(cancelAnimationFrame(this._highlightRafId),this._highlightRafId=null),this._detectionTimeoutId!==null&&(clearTimeout(this._detectionTimeoutId),this._detectionTimeoutId=null),this._picker&&(this._picker.destroy(),this._picker=null),this._dom=null}static get toolbox(){return{icon:t.$,titleKey:`code`,shortcut:"```",searchTerms:[`code`,`pre`,`snippet`,`program`],searchTermKeys:[`code`,`pre`,`snippet`,`program`]}}static get conversionConfig(){return{export:`code`,import:`code`}}static get sanitize(){return{code:!0}}static get isReadOnlySupported(){return!0}static get enableLineBreaks(){return!0}static get pasteConfig(){return{tags:[`PRE`],patterns:{code:/^```/}}}},Ao=[`image/jpeg`,`image/png`,`image/gif`,`image/webp`,`image/svg+xml`],jo=10*1024*1024,Mo=`Write a caption…`,No=/^https?:\/\/\S+\.(jpe?g|png|gif|webp|svg)(\?\S*)?$/i;function W(e,t){var n;return e!=null&&e.has(t)?e.t(t):(n=i.n[t])==null?t:n}var Po={"image/jpeg":`JPG`,"image/jpg":`JPG`,"image/png":`PNG`,"image/gif":`GIF`,"image/webp":`WebP`,"image/svg+xml":`SVG`,"image/avif":`AVIF`,"image/heic":`HEIC`,"image/heif":`HEIF`,"image/bmp":`BMP`,"image/tiff":`TIFF`,"image/x-icon":`ICO`,"application/pdf":`PDF`,"application/zip":`ZIP`};function Fo(e){let t=e.toLowerCase().trim();if(Po[t])return Po[t];let n=t.indexOf(`/`);return(n>=0?t.slice(n+1):t).replace(/^x-/,``).split(`+`)[0].toUpperCase()}function Io(e){let t=new Set,n=[];for(let r of e){if(r===`*`||r===`*/*`||!r.includes(`/`))continue;let e=Fo(r);t.has(e)||(t.add(e),n.push(e))}return n.join(` · `)}function Lo(e){if(!Number.isFinite(e)||e<=0)return``;if(e<1024)return`${e} B`;let t=e/1024;if(t<1024)return`${Math.round(t)} KB`;let n=t/1024;if(n<1024)return n<10?`${n.toFixed(1)} MB`:`${Math.round(n)} MB`;let r=n/1024;return r<10?`${r.toFixed(1)} GB`:`${Math.round(r)} GB`}function Ro(e){let t=document.createElement(`span`);return t.className=`blok-media-empty__tile`,t.setAttribute(`aria-hidden`,`true`),t.innerHTML=e,t}function zo(){return Math.random().toString(36).slice(2,9)}function Bo(e,t,n,r){let i=document.createElement(`button`);return i.type=`button`,i.className=`blok-media-empty__tab`,i.id=`blok-media-empty-tab-${zo()}`,i.setAttribute(`data-src`,e),i.setAttribute(`data-tab`,e),i.setAttribute(`role`,`tab`),i.setAttribute(`aria-controls`,n),i.setAttribute(`aria-selected`,r?`true`:`false`),i.tabIndex=r?0:-1,r&&i.setAttribute(`aria-current`,`true`),i.textContent=t,i}function Vo(e){return e instanceof Element?e.closest(`button, a, input, textarea, select, [role="button"], [role="tab"]`)!==null:!1}var Ho=`cubic-bezier(0.22, 1, 0.36, 1)`;function Uo(e){return typeof e.animate==`function`}function Wo(){return typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches}function Go(e,t){let n=e.getBoundingClientRect().height;e.classList.add(`is-swapping`);let r=e.animate([{height:`${t}px`},{height:`${n}px`}],{duration:260,easing:Ho}),i=()=>{e.classList.remove(`is-swapping`)};r.finished.then(i).catch(i);for(let t of Array.from(e.children))Uo(t)&&t.animate([{opacity:0},{opacity:1}],{duration:150,easing:`ease-out`,fill:`backwards`})}function Ko(e){let{labels:n}=e,r=e.acceptTypes,i=r.length?r.join(`,`):`*`,a=Io(r),o=e.maxSize===void 0?``:Lo(e.maxSize),s=document.createElement(`div`);s.className=`blok-media-empty`,s.setAttribute(`data-blok-media-empty-state`,``);let c=document.createElement(`div`);c.className=`blok-media-empty__card`,c.tabIndex=0,c.setAttribute(`role`,`group`),c.setAttribute(`aria-label`,n.add);let l=document.createElement(`span`);l.className=`blok-media-empty__label`,l.textContent=n.add;let u=document.createElement(`div`);u.className=`blok-media-empty__panel`,u.id=`blok-media-empty-panel-${zo()}`,u.setAttribute(`data-panel-host`,``),u.setAttribute(`role`,`tabpanel`);let d=document.createElement(`div`);d.className=`blok-media-empty__tabs`,d.setAttribute(`role`,`tablist`),d.setAttribute(`aria-label`,n.sourceAria);let f=Bo(`upload`,n.upload,u.id,!0),p=Bo(`embed`,n.embed,u.id,!1);d.append(f,p),u.setAttribute(`aria-labelledby`,f.id);let m=[f,p],h=[`upload`,`embed`],g=document.createElement(`div`);g.className=`blok-media-empty__drop-overlay`,g.setAttribute(`aria-hidden`,`true`);let _=document.createElement(`div`);_.className=`blok-media-empty__drop-inner`,_.innerHTML=`<span class="blok-media-empty__drop-icon">${t.L}</span><span>${n.dropToUpload}</span>`,g.appendChild(_);let v=document.createElement(`div`);v.className=`blok-media-empty__error`,v.setAttribute(`data-role`,`error`),v.hidden=!0;let y=document.createElement(`input`);y.type=`file`,y.accept=i,y.hidden=!0,y.setAttribute(`data-blok-testid`,`file-input`),y.addEventListener(`change`,()=>{var t;let n=(t=y.files)==null?void 0:t[0];n&&e.onFile(n)});let b=()=>{u.replaceChildren(),u.appendChild(Ro(t.An));let e=document.createElement(`div`);e.className=`blok-media-empty__content`;let r=document.createElement(`div`);r.className=`blok-media-empty__primary`;let i=document.createElement(`button`);i.type=`button`,i.className=`blok-media-empty__choose`,i.setAttribute(`data-action`,`choose-file`),i.innerHTML=`<span class="blok-media-empty__choose-icon">${t.R}</span><span>${n.chooseFile}</span>`,i.addEventListener(`click`,e=>{e.stopPropagation(),y.click()});let s=document.createElement(`span`);s.className=`blok-media-empty__hint`,s.textContent=n.orDropHere,r.append(i,s);let c=document.createElement(`div`);c.className=`blok-media-empty__meta`;let l=[];a&&l.push(a),o&&n.maxSize&&l.push(n.maxSize(o)),c.textContent=l.join(` · `),e.append(r),l.length&&e.append(c),u.append(e,y)},x=()=>{u.replaceChildren();let r=document.createElement(`div`);r.className=`blok-media-empty__embed-bar`,r.setAttribute(`data-valid`,`false`);let i=document.createElement(`span`);i.className=`blok-media-empty__embed-icon`,i.setAttribute(`aria-hidden`,`true`),i.innerHTML=t.Jt;let a=document.createElement(`input`);a.type=`url`,a.className=`blok-media-empty__embed-input`,a.placeholder=n.urlPlaceholder,a.setAttribute(`aria-label`,n.urlAria),a.autocomplete=`off`,a.spellcheck=!1;let o=document.createElement(`button`);o.type=`button`,o.className=`blok-media-empty__embed-submit`,o.setAttribute(`data-action`,`submit-url`);let s=document.createElement(`span`);s.className=`blok-media-empty__embed-submit-label`,s.textContent=n.submit;let c=document.createElement(`kbd`);c.className=`blok-media-empty__embed-kbd`,c.setAttribute(`aria-hidden`,`true`),c.textContent=`↵`,o.append(s,c);let l=e=>{let t=e.trim();if(!t)return!1;try{let e=new URL(t);return e.protocol===`http:`||e.protocol===`https:`}catch(e){return/^[\w-]+(\.[\w-]+)+([/?#].*)?$/i.test(t)}},d=()=>{let e=l(a.value);r.setAttribute(`data-valid`,e?`true`:`false`),o.setAttribute(`aria-disabled`,e?`false`:`true`)},f=()=>{let t=a.value.trim();t&&e.onUrl(t)};o.addEventListener(`click`,e=>{e.stopPropagation(),l(a.value)&&f()}),a.addEventListener(`click`,e=>e.stopPropagation()),a.addEventListener(`input`,d),a.addEventListener(`keydown`,e=>{e.key===`Enter`&&(e.preventDefault(),l(a.value)&&f())}),r.append(i,a,o),u.appendChild(r),d(),queueMicrotask(()=>a.focus())},S=(e,t=!1)=>{let n=t&&Uo(u)&&!Wo()?u.getBoundingClientRect().height:null,r=m[h.indexOf(e)];for(let e of m){let t=e===r;e.setAttribute(`aria-selected`,t?`true`:`false`),e.tabIndex=t?0:-1,t?e.setAttribute(`aria-current`,`true`):e.removeAttribute(`aria-current`)}u.setAttribute(`aria-labelledby`,r.id),c.setAttribute(`data-active-tab`,e),e===`upload`?b():x(),n!==null&&Go(u,n)};m.forEach((e,t)=>{e.addEventListener(`click`,n=>{n.stopPropagation(),S(h[t],!0),e.focus()}),e.addEventListener(`keydown`,e=>{if(e.key===`ArrowRight`||e.key===`ArrowLeft`){e.preventDefault();let n=(t+(e.key===`ArrowRight`?1:-1)+m.length)%m.length;S(h[n],!0),m[n].focus()}else if(e.key===`Home`)e.preventDefault(),S(h[0],!0),m[0].focus();else if(e.key===`End`){e.preventDefault();let t=m.length-1;S(h[t],!0),m[t].focus()}})}),u.addEventListener(`click`,e=>{c.getAttribute(`data-active-tab`)===`upload`&&(Vo(e.target)||y.click())}),c.addEventListener(`keydown`,e=>{e.target===c&&c.getAttribute(`data-active-tab`)===`upload`&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),y.click())}),c.addEventListener(`paste`,t=>{if(c.getAttribute(`data-active-tab`)!==`upload`)return;let n=t.clipboardData;if(n)for(let i of Array.from(n.items)){if(i.kind!==`file`)continue;let n=i.getAsFile();if(n&&(!r.length||r.some(e=>n.type===e))){t.preventDefault(),e.onFile(n);return}}});let C={depth:0};c.addEventListener(`dragenter`,e=>{var t;(t=e.dataTransfer)!=null&&t.types.includes(`Files`)&&(e.preventDefault(),C.depth+=1,c.classList.add(`is-dragover`))}),c.addEventListener(`dragover`,e=>{let t=e.dataTransfer;t!=null&&t.types.includes(`Files`)&&(e.preventDefault(),t.dropEffect=`copy`)}),c.addEventListener(`dragleave`,()=>{C.depth=Math.max(0,C.depth-1),C.depth===0&&c.classList.remove(`is-dragover`)}),c.addEventListener(`drop`,t=>{var n;t.preventDefault(),C.depth=0,c.classList.remove(`is-dragover`);let r=(n=t.dataTransfer)==null||(n=n.files)==null?void 0:n[0];r&&e.onFile(r)});let w=document.createElement(`div`);return w.className=`blok-media-empty__header`,w.append(l,d),c.append(w,u,g),s.append(c,v),S(`upload`),s.setError=e=>{if(!e){v.hidden=!0,v.textContent=``;return}v.hidden=!1,v.textContent=e},s}function qo(e){var t,n,r,i,a;let o=e.i18n;return Ko({acceptTypes:(t=e.acceptTypes)==null?[...Ao]:t,maxSize:e.maxSize,onFile:e.onFile,onUrl:e.onUrl,labels:{add:W(o,`tools.image.emptyAddImage`),upload:(n=e.uploadLabel)==null?W(o,`tools.image.emptyUpload`):n,embed:(r=e.embedLabel)==null?W(o,`tools.image.emptyLink`):r,chooseFile:W(o,`tools.image.emptyChooseFile`),orDropHere:W(o,`tools.image.emptyOrDropHere`),dropToUpload:W(o,`tools.image.emptyDropToUpload`),urlPlaceholder:(i=e.embedPlaceholder)==null?W(o,`tools.image.emptyUrlPlaceholder`):i,urlAria:W(o,`tools.image.emptyUrlAria`),submit:(a=e.submitLabel)==null?W(o,`tools.image.emptyInsert`):a,sourceAria:W(o,`tools.image.emptySourceAria`),maxSize:e=>o!=null&&o.has(`tools.image.emptyMaxSize`)?o.t(`tools.image.emptyMaxSize`,{size:e}):`max ${e}`}})}function Jo(e){var n,r,i;let a=document.createElement(`div`);a.className=`blok-image-error`,a.setAttribute(`data-role`,`error-state`);let o=(n=e.variant)==null?`broken`:n;a.setAttribute(`data-variant`,o);let s=document.createElement(`div`);s.className=`blok-image-error__icon`,s.setAttribute(`aria-hidden`,`true`),s.innerHTML=o===`upload`?t.jn:t.Vt;let c=document.createElement(`div`);c.className=`blok-image-error__body`;let l=document.createElement(`div`);l.className=`blok-image-error__title`,l.textContent=(r=e.title)==null?W(e.i18n,`tools.image.errorDefaultTitle`):r;let u=document.createElement(`div`);if(u.className=`blok-image-error__msg`,u.textContent=(i=e.message)==null?W(e.i18n,`tools.image.errorDefaultMessage`):i,c.append(l,u),a.append(s,c),e.onTryAgain||e.onSwap){let t=document.createElement(`div`);if(t.className=`blok-image-error__actions`,e.onTryAgain){let n=document.createElement(`button`);n.type=`button`,n.className=`blok-image-error__btn`,n.setAttribute(`data-action`,`retry`),n.textContent=W(e.i18n,`tools.image.errorRetry`),n.addEventListener(`click`,()=>{var t;(t=e.onTryAgain)==null||t.call(e)}),t.appendChild(n)}if(e.onSwap){let n=document.createElement(`button`);n.type=`button`,n.className=`blok-image-error__btn`,n.setAttribute(`data-action`,`replace`),n.textContent=W(e.i18n,`tools.image.errorReplace`),n.addEventListener(`click`,()=>{var t;(t=e.onSwap)==null||t.call(e)}),t.appendChild(n)}a.appendChild(t)}return a}var Yo=class extends Error{constructor(e,t){super(`${e}: ${t}`),this.name=`ImageError`,this.code=e,this.detail=t}};function Xo(e){return e===`left`?0:e===`right`?1:.5}function Zo(e,t=10){let n=Math.min(Math.max(t,10),100);return e<n?n:e>100?100:e}function Qo(e){var t;if(e.containerWidth<=0)return Zo(0);let n=(t=e.alignFrac)==null?0:t,r=e.edge===`right`?1-n:n,i=r===0?1:1/r,a=e.currentX-e.startX,o=i*(e.edge===`right`?a:-a),s=e.startWidth+o,c=e.minWidthPx===void 0?10:Math.round(e.minWidthPx/e.containerWidth*100);return Zo(Math.round(s/e.containerWidth*100),c)}function $o(e){var t;let n={active:!1,startX:0,startWidth:0,containerWidth:0,lastPercent:void 0},r=Xo((t=e.alignment)==null?`center`:t),i=t=>{n.active=!0,n.startX=t.clientX,n.startWidth=e.figure.getBoundingClientRect().width,n.containerWidth=e.container.getBoundingClientRect().width,n.lastPercent=void 0,e.handle.setPointerCapture(t.pointerId),t.preventDefault()},a=t=>{if(!n.active)return;let i=Qo({edge:e.edge,containerWidth:n.containerWidth,startWidth:n.startWidth,startX:n.startX,currentX:t.clientX,alignFrac:r,minWidthPx:e.minWidthPx});n.lastPercent=i,e.onPreview(i)},o=t=>{n.active&&(n.active=!1,e.handle.releasePointerCapture(t.pointerId),n.lastPercent!==void 0&&e.onCommit(n.lastPercent))};return e.handle.addEventListener(`pointerdown`,i),e.handle.addEventListener(`pointermove`,a),e.handle.addEventListener(`pointerup`,o),e.handle.addEventListener(`pointercancel`,o),()=>{e.handle.removeEventListener(`pointerdown`,i),e.handle.removeEventListener(`pointermove`,a),e.handle.removeEventListener(`pointerup`,o),e.handle.removeEventListener(`pointercancel`,o)}}var es={x:0,y:0,w:100,h:100},ts=5;function ns(e){return e.x===0&&e.y===0&&e.w===100&&e.h===100}function rs(e){let{x:t,y:n,w:r,h:i}=e,a=Math.max(ts,Math.min(100,r)),o=Math.max(ts,Math.min(100,i));return{x:Math.max(0,Math.min(100-a,t)),y:Math.max(0,Math.min(100-o,n)),w:a,h:o}}function is(e,t,n,r){let{x:i,y:a,w:o,h:s}=e,c=t.includes(`w`),l=t.includes(`e`),u=t.includes(`n`),d=t.includes(`s`),f=i+o,p=a+s,m=c?Math.max(0,Math.min(f-ts,i+n)):i,h=l?Math.max(i+ts,Math.min(100,f+n)):f,g=u?Math.max(0,Math.min(p-ts,a+r)):a,_=d?Math.max(a+ts,Math.min(100,p+r)):p;return{x:m,y:g,w:h-m,h:_-g}}function as(e,t,n){let r=t?t.w/t.h:1,i=n?n.w/n.h:1;if(!Number.isFinite(r)||!Number.isFinite(i)||r<=0||i<=0)return e;let a=i/r*e;return Math.round(Math.max(10,Math.min(100,a))*100)/100}function os(e,t,n){var r,i,a,o;if(t===null||!Number.isFinite(t)||t<=0)return e;let s=e.w,c=s/t,l=c>e.h?e.h*t:s,u=c>e.h?e.h:c,d=(r=n==null?void 0:n.includes(`w`))==null?!1:r,f=(i=n==null?void 0:n.includes(`e`))==null?!1:i,p=(a=n==null?void 0:n.includes(`n`))==null?!1:a,m=(o=n==null?void 0:n.includes(`s`))==null?!1:o,h=e.x+e.w/2,g=e.y+e.h/2;return rs({x:n===void 0?h-l/2:d&&!f?e.x+e.w-l:f&&!d?e.x:h-l/2,y:n===void 0?g-u/2:p&&!m?e.y+e.h-u:m&&!p?e.y:g-u/2,w:l,h:u})}var ss=.55;function cs(e,t){return e===0?0:(e<0?-1:1)*(1-1/(Math.abs(e)/t*ss+1))*t}function ls(e,t,n){return e>=-t&&e<=t?e:(e<0?-1:1)*(t+cs(Math.abs(e)-t,n))}var us={left:`left`,center:`center`,right:`right`},ds={left:t.zt,center:t.Rt,right:t.Bt};function fs(e,t,n,r){let i=t,a=()=>{let t=e.naturalWidth,a=e.naturalHeight;t>0&&a>0&&(i.style.aspectRatio=`${n*t} / ${r*a}`)};e.complete?a():e.addEventListener(`load`,a,{once:!0})}function ps(e,t){switch(t){case`left`:return W(e,`tools.image.alignmentLeftAria`);case`center`:return W(e,`tools.image.alignmentCenterAria`);case`right`:return W(e,`tools.image.alignmentRightAria`)}}function ms(e){var t,n;let r=(t=e.alignment)==null?`center`:t,i=document.createElement(`figure`);i.className=`blok-image-inner`,i.setAttribute(`data-role`,`image-figure`),i.style.margin=`0`,i.style.textAlign=us[r],i.style.position=`relative`,e.width!==void 0&&(i.style.width=`${e.width}%`);let a=document.createElement(`img`);if(a.setAttribute(`src`,e.url),a.setAttribute(`alt`,(n=e.alt)==null?``:n),a.draggable=!1,e.crop){let{x:t,y:n,w:r,h:o,shape:s}=e.crop,c=document.createElement(`div`);c.className=`blok-image-crop`,c.setAttribute(`data-role`,`image-crop`),c.style.overflow=`hidden`,c.style.position=`relative`,c.style.aspectRatio=`${r} / ${o}`,c.style.width=`100%`,s&&c.setAttribute(`data-shape`,s),(s===`circle`||s===`ellipse`)&&(c.style.borderRadius=`50%`),a.style.display=`block`,a.style.maxWidth=`none`,a.style.width=`${100/r*100}%`,a.style.transform=`translate(-${t}%, -${n}%)`,fs(a,c,r,o),c.appendChild(a),i.appendChild(c)}else i.appendChild(a);return i}function hs(e){let t=document.createElement(`div`);return t.className=`blok-image-caption`,t.setAttribute(`role`,`textbox`),t.setAttribute(`contenteditable`,e.readOnly?`false`:`true`),t.setAttribute(`data-placeholder`,e.placeholder),t.textContent=e.value,t.style.outline=`none`,t.style.textAlign=`left`,t}function gs(e){let t=document.createElement(`div`);if(t.className=`blok-image-caption-row`,t.appendChild(hs(e.caption)),e.onAlt){let n=W(e.i18n,`tools.image.altEdit`),r=document.createElement(`button`);r.type=`button`,r.className=`blok-image-caption-row__alt`,r.setAttribute(`data-action`,`alt-edit`),r.setAttribute(`aria-label`,n),r.setAttribute(`title`,n),r.setAttribute(`aria-pressed`,e.hasAlt?`true`:`false`),r.textContent=W(e.i18n,`tools.image.altButton`),r.addEventListener(`click`,t=>{var n;t.stopPropagation(),(n=e.onAlt)==null||n.call(e)}),t.appendChild(r)}return t}var _s=360,vs=280,ys=`cubic-bezier(0.22, 1, 0.36, 1)`,bs=`cubic-bezier(0.4, 0, 0.2, 1)`;function xs(e,t){let n=t.width>0?e.width/t.width:1,r=t.height>0?e.height/t.height:1,i=e.left+e.width/2,a=e.top+e.height/2,o=t.left+t.width/2,s=t.top+t.height/2;return{tx:i-o,ty:a-s,sx:n,sy:r}}function Ss(e){return`translate(${e.tx}px, ${e.ty}px) scale(${e.sx}, ${e.sy})`}function G(e){return typeof e.animate==`function`}var Cs=.25,ws=4,Ts=.25,Es=Math.log(1+Ts)/100;function Ds(e){var n,r,i,a;let o=document.activeElement instanceof HTMLElement?document.activeElement:null,s=document.createElement(`div`);s.setAttribute(`role`,`dialog`),s.setAttribute(`aria-modal`,`true`),s.setAttribute(`aria-label`,W(e.i18n,`tools.image.preview`)),s.className=`blok-image-lightbox`;let c=document.createElement(`div`);c.className=`blok-image-lightbox__backdrop`,c.setAttribute(`aria-hidden`,`true`),s.appendChild(c);let l=(n=(r=e.navigation)==null?void 0:r.items)==null?[]:n,u=l.length>1,d={url:e.url,alt:e.alt,fileName:e.fileName,crop:e.crop},f={index:u?Math.max(0,Math.min(l.length-1,(i=(a=e.navigation)==null?void 0:a.startIndex)==null?0:i)):0};function p(e){var t;let n=document.createElement(`img`);n.setAttribute(`src`,e.url),n.setAttribute(`alt`,(t=e.alt)==null?``:t),n.draggable=!1;let r=e.crop;if(!r)return n.className=`blok-image-lightbox__image`,n;let{x:i,y:a,w:o,h:s,shape:c}=r,l=document.createElement(`div`);return l.className=`blok-image-lightbox__image blok-image-lightbox__crop`,l.setAttribute(`data-role`,`lightbox-crop`),l.style.overflow=`hidden`,l.style.aspectRatio=`${o} / ${s}`,c&&l.setAttribute(`data-shape`,c),(c===`circle`||c===`ellipse`)&&(l.style.borderRadius=`50%`),n.style.display=`block`,n.style.maxWidth=`none`,n.style.width=`${100/o*100}%`,n.style.transform=`translate(-${i}%, -${a}%)`,fs(n,l,o,s),l.appendChild(n),l}let m={el:p(d)},h={value:1},g={x:0,y:0},_=()=>{m.el.style.transform=`translate(${g.x}px, ${g.y}px) scale(${h.value})`};function v(){let e=m.el.getBoundingClientRect();return{maxX:e.width/2,maxY:e.height/2,width:e.width,height:e.height}}function y(e){let{maxX:t,maxY:n}=v();return{x:Math.max(-t,Math.min(t,e.x)),y:Math.max(-n,Math.min(n,e.y))}}function b(e){let{maxX:t,maxY:n,width:r,height:i}=v();return{x:ls(e.x,t,r),y:ls(e.y,n,i)}}let x=(e,t={})=>{if(h.value=Math.min(ws,Math.max(Cs,e)),t.preservePan){let e=y(g);g.x=e.x,g.y=e.y}else g.x=0,g.y=0;_(),C(),w()};_();let S=Os({i18n:e.i18n,getZoom:()=>h.value,setZoom:x,onDownload:()=>{var e;let t=document.createElement(`a`);t.href=d.url,t.download=(e=d.fileName)==null?``:e,t.target=`_blank`,t.rel=`noopener`,document.body.appendChild(t),t.click(),t.remove()},onCopyUrl:()=>{let e=navigator.clipboard;e==null||e.writeText(d.url)},onCollapse:()=>oe()}),C=()=>{let e=S.querySelector(`[data-action="zoom-reset"]`);e&&(e.textContent=`${Math.round(h.value*100)}%`)},w=()=>{let e=S.querySelector(`[data-action="zoom-out"]`),t=S.querySelector(`[data-action="zoom-in"]`);e&&(e.disabled=h.value<=Cs),t&&(t.disabled=h.value>=ws)};w(),s.appendChild(m.el),s.appendChild(S);function T(e,t=`click`){var n;if(!u)return;let r=f.index+e;if(r<0||r>=l.length)return;f.index=r;let i=l[r];d.url=i.url,d.alt=i.alt,d.fileName=i.fileName,d.crop=i.crop,te((n=i.origin)==null?null:n),h.value=1,g.x=0,g.y=0;let a=m.el,o=p(d);a.replaceWith(o),m.el=o,_(),C(),w(),D();let s=e>0?160:-160;G(o)&&o.animate([{opacity:0,transform:`translate(${s}px, 0px) scale(0.92)`},{opacity:1,transform:`translate(0px, 0px) scale(1)`}],{duration:380,easing:ys,fill:`backwards`});let c=E==null?void 0:E.querySelector(e>0?`[data-action="lightbox-next"]`:`[data-action="lightbox-prev"]`);if(c&&G(c))if(t===`keyboard`){let t=e>0?6:-6;c.animate([{transform:`translateX(0) scale(1)`},{transform:`translateX(${t}px) scale(0.78)`,offset:.4},{transform:`translateX(0) scale(1)`}],{duration:320,easing:ys})}else c.animate([{transform:`scale(1)`},{transform:`scale(0.92)`,offset:.5},{transform:`scale(1)`}],{duration:160,easing:ys})}let E=u?As({i18n:e.i18n,onPrev:()=>T(-1),onNext:()=>T(1)}):null;E&&s.appendChild(E);function D(){if(!E)return;let e=E.querySelector(`[data-action="lightbox-prev"]`),t=E.querySelector(`[data-action="lightbox-next"]`);e&&(e.disabled=f.index<=0),t&&(t.disabled=f.index>=l.length-1)}D();function ee(e){return e instanceof Node?!!(S.contains(e)||E&&E.contains(e)):!1}document.body.appendChild(s),t.pr(s);let O={img:null,backdrop:null,toolbar:null,nav:null,closing:!1},k=e.origin&&e.origin.isConnected?e.origin:null,A={el:k,prevOpacity:k?k.style.opacity:``},te=e=>{let t=e&&e.isConnected?e:null;t!==A.el&&(A.el&&(A.el.style.opacity=A.prevOpacity),A.el=t,A.prevOpacity=t?t.style.opacity:``,t&&(t.style.opacity=`0`))},j=()=>{var e,t,n,r;(e=O.img)==null||e.cancel(),(t=O.backdrop)==null||t.cancel(),(n=O.toolbar)==null||n.cancel(),(r=O.nav)==null||r.cancel(),O.img=null,O.backdrop=null,O.toolbar=null,O.nav=null},M=(e,t,n)=>G(S)?S.animate([{opacity:e.opacity,transform:`translate(-50%, ${e.y}px)`},{opacity:t.opacity,transform:`translate(-50%, ${t.y}px)`}],n):null,ne=(e,t,n)=>!E||!G(E)?null:E.animate([{opacity:e.opacity,transform:`translate(${e.x}px, -50%)`},{opacity:t.opacity,transform:`translate(${t.x}px, -50%)`}],n),re=()=>{if(A.el&&G(m.el)){let e=A.el.getBoundingClientRect(),t=m.el.getBoundingClientRect();if(e.width>0&&e.height>0&&t.width>0&&t.height>0){let n=Ss(xs(e,t));A.el.style.opacity=`0`,O.img=m.el.animate([{transform:n},{transform:`translate(0px, 0px) scale(1)`}],{duration:_s,easing:ys,fill:`backwards`})}}G(c)&&(O.backdrop=c.animate([{opacity:0},{opacity:1}],{duration:260,easing:`linear`,fill:`backwards`})),O.toolbar=M({opacity:0,y:12},{opacity:1,y:0},{duration:320,delay:140,easing:ys,fill:`both`}),O.nav=ne({opacity:0,x:-12},{opacity:1,x:0},{duration:320,delay:140,easing:ys,fill:`both`})},N=()=>{var e;document.removeEventListener(`keydown`,se),t.mr(s),s.remove(),A.el&&(A.el.style.opacity=A.prevOpacity),o==null||(e=o.focus)==null||e.call(o)},ie=()=>{if(!G(c)){N();return}let e=c.animate([{opacity:1},{opacity:0}],{duration:180,easing:`linear`,fill:`forwards`});e.onfinish=N,e.oncancel=N,M({opacity:1,y:0},{opacity:0,y:12},{duration:180,easing:bs,fill:`forwards`}),ne({opacity:1,x:0},{opacity:0,x:-12},{duration:180,easing:bs,fill:`forwards`})},ae=e=>{let t=e.getBoundingClientRect();if(t.width===0||t.height===0){N();return}m.el.style.transition=`none`;let n=m.el.style.transform||`translate(0px, 0px) scale(1)`;m.el.style.transform=`none`;let r=m.el.getBoundingClientRect();m.el.style.transform=n;let i=Ss(xs(t,r));m.el.style.transform=i;let a=m.el.animate([{transform:n},{transform:i}],{duration:vs,easing:bs,fill:`forwards`});a.onfinish=N,a.oncancel=N,G(c)&&c.animate([{opacity:1},{opacity:0}],{duration:vs,easing:`linear`,fill:`forwards`}),M({opacity:1,y:0},{opacity:0,y:12},{duration:200,easing:bs,fill:`forwards`}),ne({opacity:1,x:0},{opacity:0,x:-12},{duration:200,easing:bs,fill:`forwards`})},oe=()=>{O.closing||(O.closing=!0,j(),A.el&&G(m.el)?ae(A.el):ie())};re();let se=e=>{if(e.key===`Escape`||e.key===` `){e.preventDefault(),oe();return}if(e.key===`+`||e.key===`=`){e.preventDefault(),x(h.value+Ts);return}if(e.key===`-`){e.preventDefault(),x(h.value-Ts);return}if(u&&e.key===`ArrowRight`){e.preventDefault(),T(1,`keyboard`);return}if(u&&e.key===`ArrowLeft`){e.preventDefault(),T(-1,`keyboard`);return}},P={pointerDown:!1,dragging:!1,startX:0,startY:0,originX:0,originY:0};s.addEventListener(`mousedown`,e=>{ee(e.target)||e.stopPropagation()}),s.addEventListener(`pointerdown`,e=>{ee(e.target)||(P.pointerDown=!0,P.dragging=!1,P.startX=e.clientX,P.startY=e.clientY,P.originX=g.x,P.originY=g.y,s.setPointerCapture(e.pointerId))}),s.addEventListener(`pointermove`,e=>{if(!P.pointerDown)return;let t=e.clientX-P.startX,n=e.clientY-P.startY;if(!P.dragging&&Math.hypot(t,n)>3&&(P.dragging=!0,s.classList.add(`is-dragging`)),!P.dragging)return;let r=b({x:P.originX+t,y:P.originY+n});g.x=r.x,g.y=r.y,_()});let ce=()=>{if(P.pointerDown&&(P.pointerDown=!1,s.classList.remove(`is-dragging`),P.dragging)){P.dragging=!1;let e=y(g);g.x=e.x,g.y=e.y,_();let t=e=>{ee(e.target)||(e.stopPropagation(),s.removeEventListener(`click`,t,!0))};s.addEventListener(`click`,t,!0)}};s.addEventListener(`pointerup`,ce),s.addEventListener(`pointercancel`,ce);let le={timer:null};return s.addEventListener(`wheel`,e=>{e.preventDefault();let t=Math.exp(-e.deltaY*Es),n=h.value,r=Math.min(ws,Math.max(Cs,n*t)),i=r/n,a=s.getBoundingClientRect(),o=e.clientX-(a.left+a.width/2),c=e.clientY-(a.top+a.height/2);g.x=o*(1-i)+g.x*i,g.y=c*(1-i)+g.y*i,s.classList.add(`is-wheel-zooming`),le.timer!==null&&clearTimeout(le.timer),le.timer=setTimeout(()=>{s.classList.remove(`is-wheel-zooming`),le.timer=null},120),x(r,{preservePan:!0})},{passive:!1}),s.addEventListener(`click`,e=>{ee(e.target)||oe()}),document.addEventListener(`keydown`,se),s.focus(),oe}function Os(e){let n=document.createElement(`div`);n.setAttribute(`data-role`,`lightbox-toolbar`),n.setAttribute(`role`,`toolbar`),n.setAttribute(`aria-label`,W(e.i18n,`tools.image.previewControls`)),n.className=`blok-image-lightbox__bar`,n.addEventListener(`click`,e=>e.stopPropagation());let r=t.In,i=t.Fn,a=t.dt,o=t.Jt,s=t.et;return K(n,{action:`zoom-out`,label:W(e.i18n,`tools.image.zoomOut`),shortcut:`−`,html:r,onClick:()=>e.setZoom(e.getZoom()-Ts)}),K(n,{action:`zoom-reset`,label:W(e.i18n,`tools.image.resetZoom`),html:`100%`,onClick:()=>e.setZoom(1),extraClass:`blok-image-lightbox__zoom-label`}),K(n,{action:`zoom-in`,label:W(e.i18n,`tools.image.zoomIn`),shortcut:`+`,html:i,onClick:()=>e.setZoom(e.getZoom()+Ts)}),ks(n),K(n,{action:`lightbox-download`,label:W(e.i18n,`tools.image.download`),html:a,onClick:e.onDownload}),K(n,{action:`lightbox-copy-url`,label:W(e.i18n,`tools.image.copyUrl`),html:o,onClick:e.onCopyUrl}),K(n,{action:`lightbox-collapse`,label:W(e.i18n,`tools.image.exitFullscreen`),shortcut:`Esc`,html:s,onClick:e.onCollapse}),n}function ks(e){let t=document.createElement(`div`);t.className=`blok-image-lightbox__divider`,t.setAttribute(`aria-hidden`,`true`),e.appendChild(t)}function As(e){let n=document.createElement(`div`);return n.setAttribute(`data-role`,`lightbox-nav`),n.setAttribute(`role`,`group`),n.setAttribute(`aria-label`,W(e.i18n,`tools.image.navigationControls`)),n.className=`blok-image-lightbox__nav`,n.addEventListener(`click`,e=>e.stopPropagation()),K(n,{action:`lightbox-prev`,label:W(e.i18n,`tools.image.previousImage`),shortcut:`←`,html:t.Y,onClick:e.onPrev,tooltipPlacement:`right`}),K(n,{action:`lightbox-next`,label:W(e.i18n,`tools.image.nextImage`),shortcut:`→`,html:t.X,onClick:e.onNext,tooltipPlacement:`right`}),n}function js(e,t){if(t===void 0)return e;let n=document.createElement(`span`);n.className=`blok-image-lightbox-tooltip`,n.append(document.createTextNode(e));let r=document.createElement(`span`);return r.className=`blok-image-lightbox-tooltip__shortcut`,r.textContent=t,n.appendChild(r),n}function K(e,n){var r;let i=document.createElement(`button`);i.type=`button`,i.setAttribute(`data-action`,n.action),i.setAttribute(`aria-label`,n.label),i.className=n.extraClass?`blok-image-lightbox__btn ${n.extraClass}`:`blok-image-lightbox__btn`,i.innerHTML=n.html,t.dr(i,js(n.label,n.shortcut),{placement:(r=n.tooltipPlacement)==null?`top`:r}),i.addEventListener(`click`,e=>{e.stopPropagation(),t.ur(),n.onClick()}),e.appendChild(i)}function Ms(e,t,n,r=80){return e<=0||t<=0||n<=0?!1:t/e*n<r}function Ns(e,t,n){Ms(t.naturalWidth,t.naturalHeight,n)?e.setAttribute(`data-auto-full`,`true`):e.removeAttribute(`data-auto-full`)}function Ps(e,t,n,r=230,i=80){t>0&&t<r||n!==void 0&&n>0&&n<i?e.setAttribute(`data-compact`,`true`):e.removeAttribute(`data-compact`)}function Fs(e){let n=document.createElement(`div`);n.setAttribute(`data-role`,`image-overlay`),n.className=`blok-image-toolbar`,Is(n,e),Ls(n),Rs(n,{action:`caption-toggle`,label:W(e.i18n,`tools.image.toggleCaption`),pressed:e.state.captionVisible,icon:t.G,onClick:e.onToggleCaption}),Rs(n,{action:`replace`,label:W(e.i18n,`tools.image.replace`),icon:t.gn,onClick:e.onReplace}),Rs(n,{action:`crop`,label:W(e.i18n,`tools.image.crop`),icon:t.it,onClick:e.onCrop}),Rs(n,{action:`fullscreen`,label:W(e.i18n,`tools.image.viewFullscreen`),icon:t.bt,onClick:e.onFullscreen}),Rs(n,{action:`download`,label:W(e.i18n,`tools.image.downloadOriginal`),icon:t.dt,onClick:e.onDownload}),Ls(n);let r=W(e.i18n,`tools.image.moreOptions`),i=document.createElement(`button`);i.type=`button`,i.setAttribute(`data-action`,`more`),i.setAttribute(`aria-label`,r),i.setAttribute(`aria-haspopup`,`menu`),i.setAttribute(`aria-expanded`,`false`),i.innerHTML=t.on,t.dr(i,r),n.appendChild(i);let a=document.createElement(`button`);return a.type=`button`,a.setAttribute(`data-action`,`delete`),a.setAttribute(`aria-label`,W(e.i18n,`blockSettings.delete`)),a.className=`blok-image-toolbar__alias is-danger`,a.style.display=`none`,a.addEventListener(`click`,t=>{t.stopPropagation(),e.onDelete()}),n.appendChild(a),n}function Is(e,n){let r=document.createElement(`div`);r.className=`blok-image-toolbar__align`,r.style.position=`relative`;let i=n.state.alignment,a=W(n.i18n,`tools.image.alignment`),o=document.createElement(`button`);o.type=`button`,o.setAttribute(`data-action`,`align-trigger`),o.setAttribute(`data-current`,i),o.setAttribute(`aria-label`,a),o.setAttribute(`aria-haspopup`,`true`),o.setAttribute(`aria-expanded`,`false`),o.innerHTML=ds[i],t.dr(o,a),r.appendChild(o);let s=document.createElement(`div`);s.setAttribute(`data-role`,`align-popover`),s.setAttribute(`role`,`group`),s.setAttribute(`aria-label`,a),s.className=`blok-image-toolbar__align-popover`,s.hidden=!0;for(let e of[`left`,`center`,`right`]){let r=ps(n.i18n,e),a=document.createElement(`button`);a.type=`button`,a.setAttribute(`data-action`,`align-${e}`),a.setAttribute(`aria-label`,r),a.setAttribute(`aria-pressed`,i===e?`true`:`false`),a.innerHTML=ds[e],t.dr(a,r),a.addEventListener(`click`,r=>{r.stopPropagation(),t.ur(),f(),n.onAlign(e)}),s.appendChild(a)}r.appendChild(s),e.appendChild(r);let c=e=>{e.key===`Escape`&&!s.hidden&&(e.stopPropagation(),f())},l=e=>{if(s.hidden)return;let t=e.target;t&&r.contains(t)||f()},u=()=>r.closest(`[data-blok-tool="image"]`),d=()=>{var e;s.hidden&&(s.hidden=!1,s.setAttribute(`data-blok-popover-opened`,`true`),(e=u())==null||e.setAttribute(`data-align-open`,`true`),o.setAttribute(`aria-expanded`,`true`),t.ur(),document.addEventListener(`keydown`,c),document.addEventListener(`mousedown`,l))};function f(){var e;s.hidden||(s.hidden=!0,s.removeAttribute(`data-blok-popover-opened`),(e=u())==null||e.removeAttribute(`data-align-open`),o.setAttribute(`aria-expanded`,`false`),document.removeEventListener(`keydown`,c),document.removeEventListener(`mousedown`,l))}o.addEventListener(`click`,e=>{e.stopPropagation(),s.hidden?d():f()})}function Ls(e){let t=document.createElement(`div`);t.className=`blok-image-toolbar__divider`,t.setAttribute(`aria-hidden`,`true`),e.appendChild(t)}function Rs(e,n){let r=document.createElement(`button`);r.type=`button`,r.setAttribute(`aria-label`,n.label),r.setAttribute(`data-action`,n.action),n.pressed!==void 0&&r.setAttribute(`aria-pressed`,n.pressed?`true`:`false`),r.innerHTML=n.icon,t.dr(r,n.label),r.addEventListener(`click`,e=>{e.stopPropagation(),t.ur(),n.onClick()}),e.appendChild(r)}var zs=[`nw`,`n`,`ne`,`e`,`se`,`s`,`sw`,`w`],Bs=new Set([`nw`,`ne`,`se`,`sw`]),Vs=[{label:`Free`,i18nKey:`tools.image.cropRatioFree`,key:`free`,value:null,shape:`rect`},{label:`1:1`,i18nKey:`tools.image.cropRatio1to1`,key:`1`,value:1,shape:`rect`},{label:`4:3`,i18nKey:`tools.image.cropRatio4to3`,key:`1.3333333333333333`,value:4/3,shape:`rect`},{label:`16:9`,i18nKey:`tools.image.cropRatio16to9`,key:`1.7777777777777777`,value:16/9,shape:`rect`},{label:`Circle`,i18nKey:`tools.image.cropRatioCircle`,key:`circle`,value:1,shape:`circle`},{label:`Oval`,i18nKey:`tools.image.cropRatioOval`,key:`ellipse`,value:null,shape:`ellipse`}];function Hs(e,t){if(!e)throw Error(`CropEditor: missing ${t}`);return e}function Us(e){let t=document.createElement(`span`);return t.setAttribute(`data-handle`,e),t.className=`blok-image-crop-editor__handle blok-image-crop-editor__handle--${Bs.has(e)?`corner`:`edge`} blok-image-crop-editor__handle--${e}`,Bs.has(e)&&(t.appendChild(Ws(`a`)),t.appendChild(Ws(`b`))),t}function Ws(e){let t=document.createElement(`i`);return t.className=`blok-image-crop-editor__handle-stroke blok-image-crop-editor__handle-stroke--${e}`,t}function Gs(e,t){var r,i,a,o;let s=(r=(i=t.initial)==null?void 0:i.shape)==null?`rect`:r,c=(a=Vs.find(e=>e.shape===s&&e.shape!==`rect`))==null?Vs[0]:a,l={rect:t.initial?rs(t.initial):n.t({},es),ratio:c.value,ratioKey:c.key,shape:c.shape},u=document.createElement(`div`);u.className=`blok-image-crop-editor`,u.setAttribute(`role`,`region`),u.setAttribute(`aria-label`,W(t.i18n,`tools.image.cropDialogLabel`));let d=document.createElement(`div`);d.className=`blok-image-crop-editor__stage`;let f=document.createElement(`div`);f.className=`blok-image-crop-editor__frame`,d.appendChild(f);let p=document.createElement(`img`);p.className=`blok-image-crop-editor__source`,p.src=t.url,p.alt=(o=t.alt)==null?``:o,p.draggable=!1,f.appendChild(p);let m=document.createElement(`div`);m.className=`blok-image-crop-editor__mask`,f.appendChild(m);let h=document.createElement(`div`);h.className=`blok-image-crop-editor__shape-mask-clip`,h.setAttribute(`aria-hidden`,`true`),f.appendChild(h);let g=document.createElement(`div`);g.className=`blok-image-crop-editor__shape-mask`,g.setAttribute(`data-shape`,l.shape),h.appendChild(g);let _=document.createElement(`div`);_.className=`blok-image-crop-editor__rect`,_.setAttribute(`data-shape`,l.shape),f.appendChild(_);for(let e of[`v-1`,`v-2`,`h-1`,`h-2`]){let t=document.createElement(`i`);t.className=`blok-image-crop-editor__grid-line blok-image-crop-editor__grid-line--${e}`,_.appendChild(t)}let v=document.createElement(`div`);v.className=`blok-image-crop-editor__size-pill`,v.hidden=!0,f.appendChild(v);let y={};for(let e of zs){let t=Us(e);_.appendChild(t),y[e]=t}let b=document.createElement(`div`);b.className=`blok-image-crop-editor__toolbar blok-image-crop-editor__toolbar--footer`,b.setAttribute(`role`,`toolbar`);let x=document.createElement(`div`);x.className=`blok-image-crop-editor__ratio-group`,x.setAttribute(`role`,`radiogroup`),x.setAttribute(`aria-label`,W(t.i18n,`tools.image.cropAspectRatio`)),x.setAttribute(`data-action`,`ratio`);let S={};for(let e of Vs){let n=document.createElement(`button`);n.type=`button`,n.className=`blok-image-crop-editor__ratio-chip`,n.setAttribute(`role`,`radio`),n.setAttribute(`data-ratio`,e.key),n.setAttribute(`data-active`,String(e.key===l.ratioKey)),n.setAttribute(`aria-checked`,String(e.key===l.ratioKey)),n.textContent=W(t.i18n,e.i18nKey),n.addEventListener(`click`,t=>{t.stopPropagation(),O(e)}),x.appendChild(n),S[e.key]=n}let C=document.createElement(`div`);C.className=`blok-image-crop-editor__actions`,C.innerHTML=`
|
|
198
|
-
<button type="button" class="blok-image-crop-editor__btn blok-image-crop-editor__btn--ghost" data-action="reset">${W(t.i18n,`tools.image.cropReset`)}</button>
|
|
199
|
-
<button type="button" class="blok-image-crop-editor__btn blok-image-crop-editor__btn--ghost" data-action="cancel">${W(t.i18n,`tools.image.cropCancel`)}</button>
|
|
200
|
-
<button type="button" class="blok-image-crop-editor__btn blok-image-crop-editor__btn--primary" data-action="done">${W(t.i18n,`tools.image.cropDone`)}</button>
|
|
201
|
-
`,b.appendChild(x),b.appendChild(C),u.appendChild(d),u.appendChild(b),e.appendChild(u);function w(){let e=p.naturalWidth,t=p.naturalHeight;if(!e||!t){v.hidden=!0;return}v.hidden=!1,v.textContent=`${Math.round(l.rect.w/100*e)} × ${Math.round(l.rect.h/100*t)} px`}function T(){let{rect:e}=l;_.style.left=`${e.x}%`,_.style.top=`${e.y}%`,_.style.width=`${e.w}%`,_.style.height=`${e.h}%`,v.style.left=`${e.x+e.w/2}%`,v.style.top=`${e.y}%`,g.style.left=`${e.x}%`,g.style.top=`${e.y}%`,g.style.width=`${e.w}%`,g.style.height=`${e.h}%`,m.style.clipPath=`polygon(
|
|
202
|
-
0 0, 100% 0, 100% 100%, 0 100%, 0 0,
|
|
203
|
-
${e.x}% ${e.y}%,
|
|
204
|
-
${e.x}% ${e.y+e.h}%,
|
|
205
|
-
${e.x+e.w}% ${e.y+e.h}%,
|
|
206
|
-
${e.x+e.w}% ${e.y}%,
|
|
207
|
-
${e.x}% ${e.y}%
|
|
208
|
-
)`,w()}T(),p.complete&&p.naturalWidth>0&&w(),p.addEventListener(`load`,w);function E(e,t){l.rect=os(rs(e),l.ratio,t),T()}function D(){for(let[e,t]of Object.entries(S)){let n=e===l.ratioKey;t.setAttribute(`data-active`,String(n)),t.setAttribute(`aria-checked`,String(n))}}function ee(){let e=l.ratio===null;for(let t of zs)Bs.has(t)||(y[t].hidden=!e)}ee();function O(e){l.ratio=e.value,l.ratioKey=e.key,l.shape=e.shape,_.setAttribute(`data-shape`,e.shape),g.setAttribute(`data-shape`,e.shape),D(),ee(),E(l.rect)}for(let e of zs)y[e].addEventListener(`pointerdown`,t=>A(t,e));_.addEventListener(`pointerdown`,e=>{e.target.closest(`[data-handle]`)||te(e)});function k(e,t){let n=f.getBoundingClientRect();return{x:(e-n.left)/n.width*100,y:(t-n.top)/n.height*100}}function A(e,t){e.preventDefault(),e.stopPropagation();let r=n.t({},l.rect),i=k(e.clientX,e.clientY),a=e=>{let n=k(e.clientX,e.clientY);E(is(r,t,n.x-i.x,n.y-i.y),t)},o=()=>{window.removeEventListener(`pointermove`,a),window.removeEventListener(`pointerup`,o)};window.addEventListener(`pointermove`,a),window.addEventListener(`pointerup`,o)}function te(e){e.preventDefault();let t=n.t({},l.rect),r=k(e.clientX,e.clientY),i=e=>{let i=k(e.clientX,e.clientY);E(n.t(n.t({},t),{},{x:t.x+(i.x-r.x),y:t.y+(i.y-r.y)}))},a=()=>{window.removeEventListener(`pointermove`,i),window.removeEventListener(`pointerup`,a)};window.addEventListener(`pointermove`,i),window.addEventListener(`pointerup`,a)}function j(){let e=l.shape;if(e===`circle`||e===`ellipse`){t.onApply(n.t(n.t({},l.rect),{},{shape:e}));return}t.onApply(ns(l.rect)?null:l.rect)}Hs(C.querySelector(`[data-action="done"]`),`done button`).addEventListener(`click`,j),Hs(C.querySelector(`[data-action="cancel"]`),`cancel button`).addEventListener(`click`,()=>t.onCancel()),Hs(C.querySelector(`[data-action="reset"]`),`reset button`).addEventListener(`click`,()=>E(n.t({},es)));let M=e=>{e.key===`Escape`?(e.preventDefault(),t.onCancel()):e.key===`Enter`&&(e.preventDefault(),j())};return document.addEventListener(`keydown`,M),()=>{document.removeEventListener(`keydown`,M),p.removeEventListener(`load`,w),u.remove()}}function Ks(e){if(typeof window>`u`)return``;try{return window.getComputedStyle(e).animationName||``}catch(e){return``}}function qs(){return typeof navigator>`u`?!1:!/jsdom/i.test(navigator.userAgent)}function Js(e){let n=document.activeElement instanceof HTMLElement?document.activeElement:null,r=document.createElement(`div`);r.className=`blok-image-crop-modal-backdrop`,r.setAttribute(`role`,`presentation`),r.setAttribute(`data-blok-testid`,`image-crop-backdrop`);let i=document.createElement(`div`);i.className=`blok-image-crop-modal-dialog`,i.setAttribute(`role`,`dialog`),i.setAttribute(`aria-modal`,`true`),i.setAttribute(`aria-label`,W(e.i18n,`tools.image.cropDialogLabel`)),i.tabIndex=-1;let a=document.createElement(`div`);a.className=`blok-image-crop-modal-body`,i.appendChild(a),r.appendChild(i),document.body.appendChild(r),t.pr(r);let o={detached:!1,closing:!1,editorDetach:null},s={downOnBackdrop:!1},c=()=>{var e,i;o.detached||(o.detached=!0,(e=o.editorDetach)==null||e.call(o),o.editorDetach=null,t.mr(r),r.remove(),n==null||(i=n.focus)==null||i.call(n))},l=()=>{o.detached||(o.closing=!0,r.removeEventListener(`mousedown`,d),r.removeEventListener(`click`,f),c())},u=()=>{var e,t;if(o.detached||o.closing)return;o.closing=!0,r.removeEventListener(`mousedown`,d),r.removeEventListener(`click`,f);let n=typeof window<`u`&&!!(!((e=(t=window).matchMedia)==null||(e=e.call(t,`(prefers-reduced-motion: reduce)`))==null)&&e.matches);if(r.setAttribute(`data-blok-closing`,`true`),n||!qs()){c();return}let a=Ks(i);if(!(a&&a!==`none`)){c();return}let s={settled:!1,fallback:0},l=()=>{s.settled||(s.settled=!0,i.removeEventListener(`animationend`,u),s.fallback!==0&&window.clearTimeout(s.fallback),c())},u=e=>{e.target===i&&l()};i.addEventListener(`animationend`,u),s.fallback=window.setTimeout(l,260)},d=e=>{s.downOnBackdrop=e.target===r},f=t=>{let n=t.target===r&&s.downOnBackdrop;s.downOnBackdrop=!1,n&&(u(),e.onCancel())};r.addEventListener(`mousedown`,d),r.addEventListener(`click`,f),o.editorDetach=Gs(a,{url:e.url,alt:e.alt,initial:e.initial,i18n:e.i18n,onApply:t=>{u(),e.onApply(t)},onCancel:()=>{u(),e.onCancel()}});let p=i.querySelector(`[data-action="done"]`);return p==null||p.focus(),l}function Ys(e){let n=document.createElement(`div`);n.className=`blok-image-alt-popover`,n.setAttribute(`data-role`,`image-alt-popover`),n.setAttribute(`role`,`dialog`),n.setAttribute(`aria-label`,W(e.i18n,`tools.image.altEdit`));let r=document.createElement(`p`);r.className=`blok-image-alt-popover__description`,r.textContent=W(e.i18n,`tools.image.altDescription`),n.appendChild(r);let i=document.createElement(`textarea`);i.className=`blok-image-alt-popover__input`,i.rows=2,i.value=e.value,i.placeholder=W(e.i18n,`tools.image.altPlaceholder`),n.appendChild(i),document.body.appendChild(n),t.pr(n),Xs(n,e.anchor),i.focus(),i.setSelectionRange(i.value.length,i.value.length);let a={detached:!1},o=()=>{a.detached||(a.detached=!0,document.removeEventListener(`keydown`,l),document.removeEventListener(`mousedown`,u),window.removeEventListener(`resize`,d),window.removeEventListener(`scroll`,d,!0),t.mr(n),n.remove())},s=()=>{let t=i.value;o(),e.onSave(t)},c=()=>{o(),e.onCancel()},l=e=>{if(e.key===`Escape`){e.preventDefault(),e.stopPropagation(),c();return}e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),e.stopPropagation(),s())},u=t=>{let r=t.target;r&&(n.contains(r)||e.anchor.contains(r))||s()};function d(){a.detached||Xs(n,e.anchor)}return i.addEventListener(`keydown`,l),document.addEventListener(`mousedown`,u),window.addEventListener(`resize`,d),window.addEventListener(`scroll`,d,!0),o}function Xs(e,t){let n=t.getBoundingClientRect(),{style:r}=e;r.position=`fixed`,r.top=`${n.bottom+8}px`,r.right=`${Math.max(8,window.innerWidth-n.right)}px`,r.left=`auto`}function Zs(e){if(e==null)return null;let t=/^(-?\d+(?:\.\d+)?)(px)?$/.exec(e.trim());if(!t)return null;let n=Number(t[1]);return Number.isFinite(n)&&n>0?n:null}function Qs(e){try{let{pathname:t}=new URL(e,`https://base.local`);return/\.svg(?:$|\?|#)/i.test(t)}catch(e){return!1}}async function $s(e){try{let t=await fetch(e);return t.ok?await t.text():null}catch(e){return null}}function ec(e){if(!e)return null;let t=e.trim().split(/[\s,]+/);if(t.length!==4)return null;let n=Zs(t[2]),r=Zs(t[3]);return n==null||r==null?null:{width:n,height:r}}async function tc(e){if(!Qs(e))return null;let t=await $s(e);if(t==null)return null;let n=new DOMParser().parseFromString(t,`image/svg+xml`).documentElement;if(!n||n.tagName.toLowerCase()!==`svg`)return null;let r=Zs(n.getAttribute(`width`)),i=Zs(n.getAttribute(`height`));return r!=null&&i!=null?{width:r,height:i}:ec(n.getAttribute(`viewBox`))}function nc(e,t){let n=Number(e),r=Number(t);return!Number.isFinite(n)||!Number.isFinite(r)||n<=0||r<=0?null:{width:n,height:r}}function rc(e){var t,n,r,i,a,o,s;let c=(t=(n=e.get(`size`))==null?e.get(`dim`):n)==null?e.get(`dimensions`):t;if(c){let e=/^(\d+)[xX](\d+)$/.exec(c);if(e)return nc(e[1],e[2])}let l=(r=e.get(`resize`))==null?e.get(`fit`):r;if(l){let e=/^(\d+),(\d+)$/.exec(l);if(e)return nc(e[1],e[2])}let u=(i=(a=e.get(`w`))==null?e.get(`width`):a)==null?e.get(`imwidth`):i,d=(o=(s=e.get(`h`))==null?e.get(`height`):s)==null?e.get(`imheight`):o;return u&&d?nc(u,d):null}function ic(e,t){for(let n of e){let e=t.exec(n);if(e)return e[1]}return null}function ac(e){let t=/\/(?:upload|fetch|private|authenticated)\/([^/]+(?:\/[^/]+)*)\//.exec(e);if(!t)return null;let n=t[1].split(`/`),r=ic(n,/(?:^|,)w_(\d+)(?:,|$)/),i=ic(n,/(?:^|,)h_(\d+)(?:,|$)/);return r&&i?nc(r,i):null}function oc(e){let t=/\/cdn-cgi\/image\/([^/]+)\//.exec(e);if(!t)return null;let n=/(?:^|,)width=(\d+)(?:,|$)/.exec(t[1]),r=/(?:^|,)height=(\d+)(?:,|$)/.exec(t[1]);return n&&r?nc(n[1],r[1]):null}function sc(e){let t=/\/tr:([^/]+)\//.exec(e);if(!t)return null;let n=/(?:^|,)w-(\d+)(?:,|$)/.exec(t[1]),r=/(?:^|,)h-(\d+)(?:,|$)/.exec(t[1]);return n&&r?nc(n[1],r[1]):null}function cc(e){var t,n;return(t=(n=ac(e))==null?oc(e):n)==null?sc(e):t}function lc(e){var t;let n=(t=e.split(`/`).pop())==null?``:t,r=/[-_](\d{2,5})[xX](\d{2,5})(?:[._-]|\.[a-z0-9]+$)/.exec(n);if(r)return nc(r[1],r[2]);let i=/[-_]w(\d+)[-_]h(\d+)/.exec(n);return i?nc(i[1],i[2]):null}function uc(e){try{return new URL(e,`https://base.local`)}catch(e){return null}}function dc(e){var t,n;if(!e)return null;let r=uc(e);return r?(t=(n=rc(r.searchParams))==null?cc(r.pathname):n)==null?lc(r.pathname):t:null}function fc(e){return new Promise(t=>{let n=new Image;n.onload=()=>{let e=n.naturalWidth,r=n.naturalHeight;t(e>0&&r>0?{width:e,height:r}:null)},n.onerror=()=>t(null),n.src=e})}async function pc(e){return e?dc(e)||await tc(e)||fc(e):null}function mc(e){return!Number.isFinite(e)||e<0?0:e>100?100:e}function hc(e){var n;let r=document.createElement(`div`);r.className=`blok-image-uploading`,r.setAttribute(`data-role`,`uploading`);let i=document.createElement(`div`);i.className=`blok-image-uploading__card`;let a=document.createElement(`div`);a.className=`blok-image-uploading__header`;let o=document.createElement(`span`);o.className=`blok-image-uploading__label`,o.textContent=W(e.i18n,`tools.image.uploadingLabel`);let s=document.createElement(`span`);s.className=`blok-image-uploading__filename`,s.setAttribute(`data-role`,`filename`),s.textContent=e.fileName,s.title=e.fileName;let c=document.createElement(`button`);c.type=`button`,c.className=`blok-image-uploading__cancel`,c.setAttribute(`data-action`,`cancel`),c.setAttribute(`aria-label`,W(e.i18n,`tools.image.cancelUpload`)),c.innerHTML=t.Z,c.addEventListener(`click`,()=>{var t;(t=e.onCancel)==null||t.call(e)}),a.append(o,s,c);let l=document.createElement(`div`);l.className=`blok-image-uploading__panel`;let u=document.createElement(`span`);u.className=`blok-image-uploading__tile`,u.setAttribute(`aria-hidden`,`true`),u.innerHTML=t.Lt;let d=document.createElement(`div`);d.className=`blok-image-uploading__content`;let f=document.createElement(`div`);f.className=`blok-image-uploading__sub`;let p=document.createElement(`span`);p.className=`blok-image-uploading__pct`,p.setAttribute(`data-role`,`pct`),p.textContent=`0%`;let m=document.createElement(`span`);m.className=`blok-image-uploading__sep`,m.setAttribute(`aria-hidden`,`true`),m.textContent=`·`;let h=document.createElement(`span`);h.className=`blok-image-uploading__size`,h.setAttribute(`data-role`,`size`),h.textContent=(n=e.sizeLabel)==null?``:n,f.append(p,m,h);let g=document.createElement(`div`);g.className=`blok-image-uploading__bar`,g.setAttribute(`role`,`progressbar`),g.setAttribute(`aria-valuemin`,`0`),g.setAttribute(`aria-valuemax`,`100`),g.setAttribute(`aria-valuenow`,`0`),g.setAttribute(`aria-label`,W(e.i18n,`tools.image.uploadProgress`));let _=document.createElement(`div`);return _.className=`blok-image-uploading__bar-fill`,_.setAttribute(`data-role`,`fill`),_.style.width=`0%`,g.appendChild(_),d.append(f,g),l.append(u,d),i.append(a,l),r.append(i),r.setProgress=(e,t)=>{let n=mc(e);_.style.width=`${n}%`,p.textContent=`${Math.round(n)}%`,g.setAttribute(`aria-valuenow`,String(Math.round(n))),t!==void 0&&(h.textContent=t)},r}function gc(e){try{return new URL(e)}catch(e){return null}}var _c=/^data:image\//i;function vc(e){return _c.test(e)}function yc(e){var t,n;let r=e.indexOf(`,`),i=e.slice(5,r),a=e.slice(r+1),o=i.endsWith(`;base64`),s=o?i.slice(0,-7):i.split(`;`)[0],c=o?atob(a):decodeURIComponent(a),l=Uint8Array.from(c,e=>e.charCodeAt(0)),u=(t=(n=s.split(`/`)[1])==null?void 0:n.split(`+`)[0])==null?`bin`:t;return new File([l],`pasted-image.${u}`,{type:s})}var bc=class{constructor(e){this.config=e}async handleUrl(e,t={}){var n=this,r;return vc(e)?n.handleDataUrl(e,t):(n.validateUrl(e),(r=n.config.uploader)!=null&&r.uploadByUrl?n.config.uploader.uploadByUrl(e,{onProgress:t.onProgress}):{url:e})}async handleFile(e,t={}){var n=this,r;return n.validateFile(e),(r=n.config.uploader)!=null&&r.uploadByFile?n.config.uploader.uploadByFile(e,{onProgress:t.onProgress}):{url:URL.createObjectURL(e),fileName:e.name}}async handleDataUrl(e,t){var n=this,r,i;return(r=n.config.uploader)!=null&&r.uploadByUrl?n.config.uploader.uploadByUrl(e,{onProgress:t.onProgress}):(i=n.config.uploader)!=null&&i.uploadByFile?n.handleFile(yc(e),t):{url:e}}validateUrl(e){let t=gc(e);if(!t)throw new Yo(`INVALID_URL`,e);if(t.protocol!==`http:`&&t.protocol!==`https:`)throw new Yo(`INVALID_URL`,t.protocol)}validateFile(e){var t,n;let r=(t=this.config.types)==null?[...Ao]:t,i=(n=this.config.maxSize)==null?jo:n;if(!r.includes(e.type))throw new Yo(`UNSUPPORTED_TYPE`,e.type||`unknown`);if(e.size>i)throw new Yo(`FILE_TOO_LARGE`,`${e.size} > ${i}`)}};function xc(e){return e!=null&&typeof e.animate==`function`}function Sc(){var e,t;return typeof window<`u`&&!!(!((e=(t=window).matchMedia)==null||(e=e.call(t,`(prefers-reduced-motion: reduce)`))==null)&&e.matches)}var Cc=class{constructor(e){var t,r,i;this.root=null,this.state=`EMPTY`,this.emptyStateEl=null,this.uploadingEl=null,this.resizeDetach=[],this.overlayResizeObserver=null,this.cropDetach=null,this.altPopoverDetach=null,this.errorMessage=null,this.lastFileName=null,this.lastSource=null,this.brokenImage=!1,this.retrying=!1,this.reloadAttempts=0,this.reportProgress=e=>{var t;(t=this.uploadingEl)==null||t.setProgress(e)},this.api=e.api,this.block=e.block,this.config=(t=e.config)==null?{}:t,this.readOnly=e.readOnly,this.data=n.t(n.t({},e.data),{},{url:(r=(i=e.data)==null?void 0:i.url)==null?``:r}),this.state=this.data.url?`RENDERED`:`EMPTY`,this.uploader=new bc(this.config)}render(){let e=document.createElement(`div`);return e.setAttribute(`data-blok-tool`,`image`),this.root=e,this.renderState(),e}save(e){let t={url:this.data.url};if(this.data.caption!==void 0&&(t.caption=this.data.caption),this.data.width!==void 0&&(t.width=this.data.width),this.data.alignment!==void 0&&(t.alignment=this.data.alignment),this.data.alt!==void 0&&(t.alt=this.data.alt),this.data.fileName!==void 0&&(t.fileName=this.data.fileName),this.data.size!==void 0&&(t.size=this.data.size),this.data.frame!==void 0&&(t.frame=this.data.frame),this.data.rounded!==void 0&&(t.rounded=this.data.rounded),this.data.captionVisible!==void 0&&(t.captionVisible=this.data.captionVisible),this.data.naturalWidth!==void 0&&(t.naturalWidth=this.data.naturalWidth),this.data.naturalHeight!==void 0&&(t.naturalHeight=this.data.naturalHeight),this.data.crop!==void 0){let{x:e,y:n,w:r,h:i,shape:a}=this.data.crop,o=e===0&&n===0&&r===100&&i===100,s=a===`circle`||a===`ellipse`;(!o||s)&&(t.crop=s?{x:e,y:n,w:r,h:i,shape:a}:{x:e,y:n,w:r,h:i})}return t}validate(e){return typeof e.url==`string`&&e.url.length>0}static get toolbox(){return{icon:t.Lt,titleKey:`image`,searchTerms:[`image`,`img`,`picture`,`photo`,`media`]}}static get isReadOnlySupported(){return!0}static get pasteConfig(){return{patterns:{image:No},tags:[{img:{src:!0,alt:!0}}],files:{mimeTypes:[`image/*`]}}}onPaste(e){if(e.type===`pattern`){let t=e.detail;this.applyResult({url:t.data});return}if(e.type===`tag`){var t,n;let r=e.detail.data,i=(t=r==null||(n=r.getAttribute)==null?void 0:n.call(r,`src`))==null?``:t;if(!i)return;this.startUrl(i);return}if(e.type===`file`){let t=e.detail;this.startUpload(t.file)}}startUpload(e){this.lastFileName=e.name,this.lastSource={kind:`file`,file:e},this.state=`LOADING`,this.errorMessage=null,this.brokenImage=!1,this.renderState(),this.uploader.handleFile(e,{onProgress:this.reportProgress}).then(e=>this.applyResult(e)).catch(e=>this.applyError(e))}startUrl(e){this.lastFileName=null,this.lastSource={kind:`url`,url:e},this.state=`LOADING`,this.errorMessage=null,this.brokenImage=!1,this.renderState(),this.uploader.handleUrl(e,{onProgress:this.reportProgress}).then(e=>this.applyResult(e)).catch(e=>this.applyError(e))}retryLastSource(){var e;let t=this.lastSource;if(!t){this.transitionToEmpty();return}this.retrying=!0,this.syncRetryingAttribute();let n=(e=this.root)==null?void 0:e.querySelector(`[data-role="error-state"] [data-action="retry"]`);n&&(n.disabled=!0),(t.kind===`file`?this.uploader.handleFile(t.file,{onProgress:this.reportProgress}):this.uploader.handleUrl(t.url,{onProgress:this.reportProgress})).then(e=>this.applyResult(e)).catch(e=>this.applyError(e))}applyResult(e){var t;this.data=n.t(n.t({},this.data),{},{url:e.url,fileName:(t=e.fileName)==null?this.data.fileName:t}),this.state=`RENDERED`,this.errorMessage=null,this.brokenImage=!1,this.retrying=!1,this.renderState(),this.block.dispatchChange()}applyError(e){this.state=`ERROR`,this.errorMessage=e instanceof Error?e.message:this.api.i18n.t(`tools.image.errorUploadFailed`),this.brokenImage=!1,this.retrying=!1,this.renderState(),e instanceof Yo||console.error(`[image] upload failed`,e)}applyBrokenImage(){this.state===`ERROR`&&this.brokenImage||(this.state=`ERROR`,this.brokenImage=!0,this.errorMessage=this.api.i18n.t(`tools.image.errorSourceOffline`),this.renderState())}cacheNaturalDimensions(e){let t=e.naturalWidth,n=e.naturalHeight;t<=0||n<=0||this.data.naturalWidth===t&&this.data.naturalHeight===n||(this.data.naturalWidth=t,this.data.naturalHeight=n,this.block.dispatchChange())}applyLoadingDimensions(e,t,n,r){e.getAttribute(`data-loading`)===`true`&&(e.style.setProperty(`aspect-ratio`,`${n} / ${r}`),e.style.setProperty(`min-height`,`0px`),t.style.setProperty(`min-height`,`0px`))}handleImgLoadFailure(e,t){if(this.reloadAttempts>=1){t.removeAttribute(`data-loading`),this.applyBrokenImage();return}this.reloadAttempts++,t.setAttribute(`data-loading`,`true`);let n=this.data.url,r=this.data.naturalWidth,i=this.data.naturalHeight;r&&i?this.applyLoadingDimensions(t,e,r,i):pc(n).then(n=>{n&&this.applyLoadingDimensions(t,e,n.width,n.height)}),e.setAttribute(`src`,``),e.setAttribute(`src`,n)}retryBrokenImage(){this.brokenImage=!1,this.errorMessage=null,this.state=`RENDERED`,this.renderState()}setReadOnly(e){this.readOnly=e,this.renderState()}getToolbarAnchorElement(){var e,t;return(e=(t=this.root)==null?void 0:t.querySelector(`.blok-image-inner`))==null?void 0:e}getContentOffset(e){let t=this.root,n=t==null?void 0:t.querySelector(`.blok-image-inner`);if(!t||!n)return;let r=n.getBoundingClientRect().left-t.getBoundingClientRect().left;return r>0?{left:r}:void 0}renderSettings(){var e,n,r;let i=this.api.i18n,a=(e=this.data.alignment)==null?`center`:e,o=this.data.captionVisible!==!1,s=[{value:`left`,title:i.t(`tools.image.alignmentLeft`),icon:t.F},{value:`center`,title:i.t(`tools.image.alignmentCenter`),icon:t.P},{value:`right`,title:i.t(`tools.image.alignmentRight`),icon:t.I}],c=(n=(r=s.find(e=>e.value===a))==null?void 0:r.icon)==null?s[1].icon:n,l=t.W,u=t.hn,d=t.rt,f=t.yt,p=t.ut;return[{icon:c,title:i.t(`tools.image.alignment`),name:`image-alignment`,children:{items:s.map(e=>({icon:e.icon,title:e.title,name:`image-alignment-${e.value}`,isActive:a===e.value,closeOnActivate:!0,onActivate:()=>this.setAlignment(e.value)}))}},{icon:l,title:i.t(`tools.image.caption`),name:`image-caption`,isActive:o,closeOnActivate:!0,onActivate:()=>this.toggleCaption()},{icon:u,title:i.t(`tools.image.replace`),name:`image-replace`,closeOnActivate:!0,onActivate:()=>this.transitionToEmpty()},{icon:d,title:i.t(`tools.image.crop`),name:`image-crop`,closeOnActivate:!0,onActivate:()=>this.enterCrop()},{icon:f,title:i.t(`tools.image.viewFullscreen`),name:`image-fullscreen`,closeOnActivate:!0,onActivate:()=>this.openFullscreen()},{icon:p,title:i.t(`tools.image.downloadOriginal`),name:`image-download`,closeOnActivate:!0,onActivate:()=>this.download()},{icon:t.nt,title:i.t(`tools.image.copyUrl`),name:`image-copy-url`,closeOnActivate:!0,onActivate:()=>this.copyUrl()}]}openFullscreen(){var e,t,n;let r=(e=this.root)==null?void 0:e.querySelector(`.blok-image-inner`),i=(t=(n=r==null?void 0:r.querySelector(`.blok-image-crop`))==null?r==null?void 0:r.querySelector(`img`):n)==null?void 0:t;Ds({url:this.data.url,alt:this.data.alt,fileName:this.data.fileName,crop:this.data.crop,origin:i,i18n:this.api.i18n,navigation:this.collectNavigation()})}collectNavigation(){let e=this.api.blocks;if(!(e!=null&&e.getBlocksCount)||!e.getBlockByIndex)return;let t=e.getBlocksCount(),n=Array.from({length:t},(t,n)=>e.getBlockByIndex(n)).filter(e=>e!==void 0&&e.name===`image`).map(e=>{var t,n,r,i,a,o,s;let c=(t=e.holder)==null?void 0:t.querySelector(`[data-blok-tool="image"]`);if((c==null?void 0:c.getAttribute(`data-state`))===`error`)return null;let l=(n=e.holder)==null?void 0:n.querySelector(`.blok-image-inner img`);if(l&&l.complete&&l.naturalWidth===0)return null;let u=(r=(i=(a=e.holder)==null?void 0:a.querySelector(`.blok-image-crop`))==null?l:i)==null?void 0:r,d=e.preservedData,f=typeof(d==null?void 0:d.url)==`string`?d.url:``;if(f)return{blockId:e.id,item:{url:f,alt:d==null?void 0:d.alt,fileName:d==null?void 0:d.fileName,crop:d==null?void 0:d.crop,origin:u}};let p=(o=l==null?void 0:l.getAttribute(`src`))==null?``:o;if(!p)return null;let m=(s=l==null?void 0:l.getAttribute(`alt`))==null?void 0:s;return{blockId:e.id,item:{url:p,alt:m,fileName:d==null?void 0:d.fileName,crop:d==null?void 0:d.crop,origin:u}}}).filter(e=>e!==null);if(n.length<2)return;let r=n.findIndex(e=>e.blockId===this.block.id),i=r===-1?0:r;return{items:n.map(e=>e.item),startIndex:i}}enterCrop(){this.cropDetach||(this.closeAlignmentPopover(),this.cropDetach=Js({url:this.data.url,alt:this.data.alt,initial:this.data.crop,onApply:e=>this.applyCrop(e),onCancel:()=>this.cancelCrop(),i18n:this.api.i18n}))}applyCrop(e){this.cropDetach=null;let t=this.data.crop;this.data.width!==void 0&&(this.data.width=as(this.data.width,t,e)),e===null?delete this.data.crop:this.data.crop=e,this.block.dispatchChange(),this.renderState()}cancelCrop(){this.cropDetach=null}detachCrop(){var e;(e=this.cropDetach)==null||e.call(this),this.cropDetach=null}closeAlignmentPopover(){var e;if(!this.root)return;let t=this.root.querySelector(`[data-role="align-popover"]:not([hidden])`);t&&(t.hidden=!0,t.removeAttribute(`data-blok-popover-opened`),this.root.removeAttribute(`data-align-open`),(e=this.root.querySelector(`[data-action="align-trigger"]`))==null||e.setAttribute(`aria-expanded`,`false`))}removed(){var e;this.detachResize(),this.detachCrop(),(e=this.altPopoverDetach)==null||e.call(this),this.altPopoverDetach=null,this.data.url.startsWith(`blob:`)&&URL.revokeObjectURL(this.data.url)}detachResize(){for(var e;this.resizeDetach.length>0;){let e=this.resizeDetach.pop();e&&e()}(e=this.overlayResizeObserver)==null||e.disconnect(),this.overlayResizeObserver=null}syncRootAttributes(){var e,t,n;if(!this.root)return;let r=this.root;r.setAttribute(`data-state`,this.state.toLowerCase()),r.setAttribute(`data-size`,(e=this.data.size)==null?`md`:e),r.setAttribute(`data-align`,(t=this.data.alignment)==null?`center`:t),r.setAttribute(`data-frame`,(n=this.data.frame)==null?`none`:n),r.setAttribute(`data-rounded`,this.data.rounded===!1?`off`:`on`),r.setAttribute(`data-caption`,this.data.captionVisible===!1?`off`:`on`),r.setAttribute(`data-alt`,this.data.alt?`set`:`none`),r.setAttribute(`data-selected`,`false`),r.removeAttribute(`data-align-open`),this.syncRetryingAttribute()}syncRetryingAttribute(){this.root&&(this.retrying?this.root.setAttribute(`data-retrying`,`true`):this.root.removeAttribute(`data-retrying`))}renderState(){if(this.root){if(this.detachResize(),this.root.replaceChildren(),this.syncRootAttributes(),this.state===`EMPTY`){this.renderEmpty();return}if(this.state===`LOADING`){this.renderLoading();return}if(this.state===`ERROR`){this.renderError();return}this.renderRendered()}}renderEmpty(){if(!this.root)return;let e=qo({onFile:e=>this.startUpload(e),onUrl:e=>this.startUrl(e),acceptTypes:this.config.types,maxSize:this.config.maxSize,i18n:this.api.i18n});this.emptyStateEl=e,this.root.appendChild(e)}renderLoading(){var e;if(!this.root)return;let t=hc({fileName:(e=this.lastFileName)==null?this.api.i18n.t(`tools.image.uploading`):e,onCancel:()=>this.transitionToEmpty(),i18n:this.api.i18n});this.uploadingEl=t,this.root.appendChild(t)}renderError(){var e;if(!this.root)return;let t=this.brokenImage,n=Jo({variant:t?`broken`:`upload`,title:t?this.api.i18n.t(`tools.image.errorImageFailedToLoad`):this.api.i18n.t(`tools.image.errorUploadFailedTitle`),message:(e=this.errorMessage)==null?void 0:e,onTryAgain:t?()=>this.retryBrokenImage():()=>this.retryLastSource(),onSwap:()=>this.transitionToEmpty(),i18n:this.api.i18n});this.root.appendChild(n)}renderRendered(){var e,t,n,r;if(!this.root)return;let i=ms(this.data);this.data.naturalWidth&&this.data.naturalHeight&&i.style.setProperty(`aspect-ratio`,`${this.data.naturalWidth} / ${this.data.naturalHeight}`);let a=i.querySelector(`img`),o=(e=(t=i.querySelector(`.blok-image-crop`))==null?a:t)==null?void 0:e;if(a&&(a.style.cursor=`zoom-in`,a.addEventListener(`click`,()=>Ds({url:this.data.url,alt:this.data.alt,fileName:this.data.fileName,crop:this.data.crop,origin:o,i18n:this.api.i18n,navigation:this.collectNavigation()})),this.reloadAttempts=0,a.addEventListener(`error`,()=>this.handleImgLoadFailure(a,i)),a.addEventListener(`load`,()=>{i.removeAttribute(`data-loading`),i.style.removeProperty(`aspect-ratio`),i.style.removeProperty(`min-height`),a.style.removeProperty(`min-height`),this.cacheNaturalDimensions(a)}),a.complete&&a.naturalWidth===0)){this.applyBrokenImage();return}if(!this.readOnly){var s,c;let e=Fs({state:{alignment:(s=this.data.alignment)==null?`center`:s,captionVisible:this.data.captionVisible!==!1,size:(c=this.data.size)==null?`md`:c},onAlign:e=>this.setAlignment(e),onSize:e=>this.setSize(e),onReplace:()=>this.transitionToEmpty(),onDelete:()=>this.deleteBlock(),onDownload:()=>this.download(),onFullscreen:()=>Ds({url:this.data.url,alt:this.data.alt,fileName:this.data.fileName,crop:this.data.crop,origin:o,i18n:this.api.i18n,navigation:this.collectNavigation()}),onCopyUrl:()=>this.copyUrl(),onToggleCaption:()=>this.toggleCaption(),onCrop:()=>this.enterCrop(),i18n:this.api.i18n});i.appendChild(e);let t=e.querySelector(`[data-action="more"]`);t==null||t.addEventListener(`click`,e=>{e.stopPropagation(),this.openBlockSettings(t)}),this.observeOverlayWidth(i,e)}let l=(n=this.config.captionPlaceholder)==null?Mo:n,u=this.data.captionVisible!==!1,d=gs({caption:{value:(r=this.data.caption)==null?``:r,placeholder:l,readOnly:this.readOnly},onAlt:this.readOnly||!u?void 0:()=>this.promptAlt(),hasAlt:!!this.data.alt,i18n:this.api.i18n}),f=d.querySelector(`.blok-image-caption`);f==null||f.addEventListener(`blur`,()=>{var e;let t=(e=f.textContent)==null?``:e;t!==this.data.caption&&(this.data.caption=t,this.block.dispatchChange())}),i.appendChild(d),this.root.appendChild(i),this.readOnly||this.attachResizeHandles(i)}openBlockSettings(e){var t;let n=this.api.toolbar;if(!(n!=null&&n.toggleBlockSettings))return;(t=this.root)==null||t.setAttribute(`data-settings-open`,`true`),e==null||e.setAttribute(`aria-expanded`,`true`);let r=()=>{var t;(t=this.root)==null||t.removeAttribute(`data-settings-open`),e==null||e.setAttribute(`aria-expanded`,`false`),this.api.events.off(`block-settings-closed`,r)};this.api.events.on(`block-settings-closed`,r),n.toggleBlockSettings(!0,e,{placeLeftOfAnchor:!1})}observeOverlayWidth(e,t){let n=e.querySelector(`img`),r=()=>{if(this.root&&n&&n.naturalWidth>0){var r;let t=this.root.parentElement,i=(r=t==null?void 0:t.clientWidth)==null?e.clientWidth:r;Ns(this.root,n,i)}Ps(t,e.clientWidth,e.clientHeight)};r(),n&&!n.complete&&n.addEventListener(`load`,r,{once:!0}),!(typeof ResizeObserver>`u`)&&(this.overlayResizeObserver=new ResizeObserver(r),this.overlayResizeObserver.observe(e))}attachResizeHandles(e){for(let r of[`left`,`right`]){var t,n;let i=this.createResizeHandle(r);e.appendChild(i);let a=$o({handle:i,figure:e,container:(t=e.parentElement)==null?e:t,edge:r,alignment:(n=this.data.alignment)==null?`center`:n,onPreview:t=>{e.style.setProperty(`width`,`${t}%`)},onCommit:e=>{this.data.width=e,this.block.dispatchChange()}});this.resizeDetach.push(a)}}createResizeHandle(e){let t=document.createElement(`div`);return t.setAttribute(`data-role`,`resize-handle`),t.setAttribute(`data-edge`,e),t}setAlignment(e){var t,n;if(this.data.alignment===e)return;let r=(t=this.root)==null?void 0:t.querySelector(`.blok-image-inner`),i=r==null?void 0:r.getBoundingClientRect();if(this.data.alignment=e,this.block.dispatchChange(),this.renderState(),!i)return;let a=(n=this.root)==null?void 0:n.querySelector(`.blok-image-inner`);if(!a)return;let o=a.getBoundingClientRect(),s=i.left-o.left;if(Math.abs(s)<.5)return;a.style.transition=`none`,a.style.transform=`translateX(${s}px)`,a.offsetWidth,a.style.transition=`transform 320ms cubic-bezier(0.22, 1, 0.36, 1)`,a.style.transform=`translateX(0)`;let c=()=>{a.style.transition=``,a.style.transform=``,a.removeEventListener(`transitionend`,c)};a.addEventListener(`transitionend`,c)}setSize(e){this.data.size!==e&&(this.data.size=e,this.block.dispatchChange(),this.renderState())}setFrame(e){this.data.frame!==e&&(this.data.frame=e,this.block.dispatchChange(),this.renderState())}setRounded(e){this.data.rounded!==e&&(this.data.rounded=e,this.block.dispatchChange(),this.renderState())}toggleCaption(){this.data.captionVisible=this.data.captionVisible===!1,this.block.dispatchChange(),this.renderState()}transitionToEmpty(){var e,t;let r=(e=(t=this.root)==null?void 0:t.firstElementChild)==null?null:e;this.data=n.t(n.t({},this.data),{},{url:``}),this.state=`EMPTY`,this.errorMessage=null,this.brokenImage=!1,this.lastSource=null,this.lastFileName=null,this.swapToEmptyAnimated(r),this.block.dispatchChange()}swapToEmptyAnimated(e){let t=()=>{this.renderState();let e=this.emptyStateEl;xc(e)&&e.animate([{opacity:0,transform:`scale(0.97)`},{opacity:1,transform:`scale(1)`}],{duration:200,easing:`cubic-bezier(0.22, 1, 0.36, 1)`})};if(Sc()||!xc(e)){t();return}let n=e.animate([{opacity:1,transform:`scale(1)`},{opacity:0,transform:`scale(0.98)`}],{duration:140,easing:`cubic-bezier(0.4, 0, 1, 1)`});n.onfinish=t,n.oncancel=t}promptAlt(){var e;if(this.altPopoverDetach||!this.root)return;let t=this.root.querySelector(`.blok-image-caption-row [data-action="alt-edit"]`);t&&(this.closeAlignmentPopover(),t.setAttribute(`aria-expanded`,`true`),this.root.setAttribute(`data-alt-open`,`true`),this.altPopoverDetach=Ys({anchor:t,value:(e=this.data.alt)==null?``:e,i18n:this.api.i18n,onSave:e=>{var n,r;this.altPopoverDetach=null,t.setAttribute(`aria-expanded`,`false`),(n=this.root)==null||n.removeAttribute(`data-alt-open`);let i=e.trim();i!==((r=this.data.alt)==null?``:r)&&(i===``?delete this.data.alt:this.data.alt=i,this.block.dispatchChange(),this.renderState())},onCancel:()=>{var e;this.altPopoverDetach=null,t.setAttribute(`aria-expanded`,`false`),(e=this.root)==null||e.removeAttribute(`data-alt-open`)}}))}deleteBlock(){var e;let t=this.api.blocks;t==null||(e=t.delete)==null||e.call(t,this.block.id)}download(){var e;let t=document.createElement(`a`);t.href=this.data.url,t.download=(e=this.data.fileName)==null?``:e,t.target=`_blank`,t.rel=`noopener`,document.body.appendChild(t),t.click(),t.remove()}copyUrl(){let e=navigator.clipboard;e&&typeof e.writeText==`function`&&e.writeText(this.data.url)}},wc=[`application/*`,`text/*`,`audio/*`,`video/*`,`font/*`,`model/*`],Tc=[`pdf`,`doc`,`docx`,`xls`,`xlsx`,`ppt`,`pptx`,`zip`,`rar`,`7z`,`gz`,`tar`,`csv`,`txt`,`rtf`,`md`,`json`,`mp3`,`wav`,`ogg`,`mp4`,`mov`,`avi`,`mkv`],Ec=`Write a caption…`;function Dc(e){let{i18n:t}=e;return Ko({acceptTypes:e.acceptTypes,maxSize:e.maxSize,onFile:e.onFile,onUrl:e.onUrl,labels:{add:t.t(`tools.file.emptyAddFile`),upload:t.t(`tools.file.emptyUpload`),embed:t.t(`tools.file.emptyLink`),chooseFile:t.t(`tools.file.emptyChooseFile`),orDropHere:t.t(`tools.file.emptyDropHint`),dropToUpload:t.t(`tools.file.emptyDropToUpload`),urlPlaceholder:t.t(`tools.file.emptyUrlPlaceholder`),urlAria:t.t(`tools.file.emptyUrlAria`),submit:t.t(`tools.file.emptyInsert`),sourceAria:t.t(`tools.file.emptySourceAria`)}})}function Oc(e){return Math.min(100,Math.max(0,e))}function kc(e){let t=document.createElement(`div`);t.className=`blok-file-uploading`;let n=document.createElement(`span`);n.className=`blok-file-uploading-label`,n.textContent=e.fileName?`${e.labels.uploading} ${e.fileName}`:e.labels.uploading;let r=document.createElement(`div`);r.className=`blok-file-bar`,r.setAttribute(`role`,`progressbar`),r.setAttribute(`aria-label`,e.labels.progress),r.setAttribute(`aria-valuemin`,`0`),r.setAttribute(`aria-valuemax`,`100`),r.setAttribute(`aria-valuenow`,`0`);let i=document.createElement(`div`);i.className=`blok-file-bar-fill`,i.setAttribute(`data-role`,`fill`),i.style.width=`0%`,r.appendChild(i);let a=document.createElement(`button`);return a.type=`button`,a.className=`blok-file-cancel`,a.setAttribute(`data-action`,`cancel`),a.setAttribute(`aria-label`,e.labels.cancel),a.textContent=e.labels.cancel,a.addEventListener(`click`,()=>e.onCancel()),t.setProgress=e=>{let t=Oc(e);i.style.width=`${t}%`,r.setAttribute(`aria-valuenow`,String(Math.round(t)))},t.append(n,r,a),t}var Ac={js:`javascript`,jsx:`javascript`,mjs:`javascript`,cjs:`javascript`,ts:`typescript`,tsx:`typescript`,py:`python`,rb:`ruby`,go:`go`,rs:`rust`,java:`java`,c:`c`,cpp:`cpp`,cc:`cpp`,cxx:`cpp`,h:`cpp`,hpp:`cpp`,cs:`csharp`,php:`php`,swift:`swift`,kt:`kotlin`,kts:`kotlin`,sql:`sql`,html:`html`,htm:`html`,css:`css`,scss:`css`,json:`json`,yaml:`yaml`,yml:`yaml`,sh:`bash`,bash:`bash`,graphql:`graphql`,gql:`graphql`,lua:`lua`,dart:`dart`,r:`r`,scala:`scala`};function jc(e){var t;return(t=Ac[e.toLowerCase()])==null?null:t}var Mc=new Set([`md`,`markdown`]),Nc=new Set([`txt`,`csv`,`log`,`ini`,`conf`,`env`]),Pc=`application/vnd.openxmlformats-officedocument.wordprocessingml.document`,Fc=`application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`,Ic=`application/vnd.openxmlformats-officedocument.presentationml.presentation`;function Lc(e){let t=e.split(`?`)[0].split(`#`)[0],n=t.lastIndexOf(`.`);return n<0||n===t.length-1?``:t.slice(n+1).toLowerCase()}function Rc(e){var t,n,r;let i=(t=e.fileName)==null?e.url:t,a=i===void 0?``:Lc(i);return e.mimeType===`application/pdf`||a===`pdf`?`pdf`:e.mimeType===Pc||a===`docx`?`docx`:e.mimeType===Fc||a===`xlsx`?`xlsx`:e.mimeType===Ic||a===`pptx`?`pptx`:e.mimeType===`text/markdown`||Mc.has(a)?`markdown`:jc(a)===null?(n=(r=e.mimeType)==null?void 0:r.startsWith(`text/`))!=null&&n||Nc.has(a)?`text`:null:`code`}function zc(e){return Rc(e)!==null}var Bc=new Set([`doc`,`docx`,`rtf`,`odt`,`pages`]),Vc=new Set([`xls`,`xlsx`,`csv`,`tsv`,`ods`,`numbers`]),Hc=new Set([`ppt`,`pptx`,`odp`,`key`]),Uc=new Set([`zip`,`rar`,`7z`,`gz`,`tgz`,`tar`,`bz2`,`xz`]),Wc=new Set([`mp3`,`wav`,`ogg`,`flac`,`m4a`,`aac`,`opus`]),Gc=new Set([`mp4`,`mov`,`avi`,`mkv`,`webm`,`wmv`,`m4v`]),Kc=new Set([`png`,`jpg`,`jpeg`,`gif`,`webp`,`svg`,`bmp`,`avif`,`heic`]),qc=new Set([`txt`,`md`,`markdown`,`log`,`ini`,`conf`,`env`]),Jc={pdf:t.wt,document:t.Ct,spreadsheet:t.Tt,presentation:t.Et,archive:t.St,audio:t.cn,video:t.Mn,image:t.Lt,code:t.Q,text:t.xt,generic:t.xt};function Yc(e){var t,n;let r=(t=e.mimeType)==null?``:t,i=(n=e.fileName)==null?e.url:n,a=i===void 0?``:Lc(i);return r===`application/pdf`||a===`pdf`?`pdf`:Uc.has(a)?`archive`:Vc.has(a)||r.includes(`spreadsheet`)||r===`application/vnd.ms-excel`?`spreadsheet`:Hc.has(a)||r.includes(`presentation`)||r===`application/vnd.ms-powerpoint`?`presentation`:Bc.has(a)||r.includes(`wordprocessing`)||r===`application/msword`?`document`:r.startsWith(`audio/`)||Wc.has(a)?`audio`:r.startsWith(`video/`)||Gc.has(a)?`video`:r.startsWith(`image/`)||Kc.has(a)?`image`:jc(a)===null?r.startsWith(`text/`)||qc.has(a)?`text`:`generic`:`code`}function Xc(e){let t=Yc(e);return{category:t,icon:Jc[t]}}var Zc=[`B`,`KB`,`MB`,`GB`,`TB`];function Qc(e){if(e===void 0)return``;if(e<1024)return`${e} B`;let t=Math.min(Math.floor(Math.log(e)/Math.log(1024)),Zc.length-1),n=e/1024**t,r=Math.round(n*10)/10;return`${Number.isInteger(r)?String(r):r.toFixed(1)} ${Zc[t]}`}function $c(e){try{let t=new URL(e,window.location.href);return t.protocol===`http:`||t.protocol===`https:`?t.href:null}catch(e){return null}}function el(e){try{let t=new URL(e);return t.protocol===`http:`||t.protocol===`https:`||t.protocol===`blob:`?t.href:null}catch(e){return null}}function tl(e){let t=document.createElement(`button`);return t.type=`button`,t.setAttribute(`data-action`,`preview`),t.addEventListener(`click`,()=>{e()}),t}function nl(e,t){let n=document.createElement(`a`);return n.setAttribute(`data-action`,`download`),e!==null&&n.setAttribute(`href`,e),n.setAttribute(`target`,`_blank`),n.setAttribute(`rel`,`noopener noreferrer`),n.setAttribute(`download`,t),n}function rl(e,n,r,i){var a,o;let s=document.createElement(`div`);s.className=`blok-file-card-wrapper`,s.setAttribute(`data-role`,`file-card-wrapper`);let c=$c(e.url),l=(a=e.fileName)==null?``:a,u=n?tl(n):nl(c,l);u.className=`blok-file-card`,u.setAttribute(`data-role`,`file-card`);let{category:d,icon:f}=Xc(e),p=document.createElement(`span`);p.className=`blok-file-icon`,p.setAttribute(`aria-hidden`,`true`),p.setAttribute(`data-file-category`,d),p.innerHTML=f;let m=document.createElement(`span`);m.className=`blok-file-meta`;let h=document.createElement(`span`);h.className=`blok-file-name`,h.setAttribute(`data-role`,`file-name`);let g=(o=e.fileName)==null?e.url:o;h.textContent=g,i&&(h.setAttribute(`contenteditable`,`true`),h.setAttribute(`role`,`textbox`),h.addEventListener(`click`,e=>{e.stopPropagation(),e.preventDefault()}),h.addEventListener(`keydown`,e=>{e.key===`Enter`&&(e.preventDefault(),h.blur())}),h.addEventListener(`blur`,()=>{var e;let t=((e=h.textContent)==null?``:e).trim();if(t===``||t===g){h.textContent=g;return}i(t)})),m.appendChild(h);let _=Qc(e.size);if(_){let e=document.createElement(`span`);e.className=`blok-file-size`,e.setAttribute(`data-role`,`file-size`),e.textContent=_,m.appendChild(e)}u.append(p,m);let v=document.createElement(`a`);return v.className=`blok-file-download`,v.setAttribute(`data-action`,`download`),c!==null&&v.setAttribute(`href`,c),v.setAttribute(`target`,`_blank`),v.setAttribute(`rel`,`noopener noreferrer`),v.setAttribute(`download`,l),r!==void 0&&v.setAttribute(`aria-label`,r),v.innerHTML=t.ut,s.append(u,v),s}function il(e){let t=document.createElement(`div`);t.className=`blok-file-caption-row`;let n=document.createElement(`div`);return n.className=`blok-file-caption`,n.setAttribute(`data-role`,`file-caption`),n.setAttribute(`role`,`textbox`),n.setAttribute(`contenteditable`,e.readOnly?`false`:`true`),n.setAttribute(`data-placeholder`,e.placeholder),n.textContent=e.value,n.addEventListener(`blur`,()=>{var t;e.onChange((t=n.textContent)==null?``:t)}),t.appendChild(n),t}var al=class extends Error{constructor(e,t){super(`${e}: ${t}`),this.name=`FileToolError`,this.code=e,this.detail=t}};function ol(e){try{return new URL(e)}catch(e){return null}}var sl=class{constructor(e){this.config=e}async handleFile(e,t={}){var n=this,r;if(n.validateFile(e),(r=n.config.uploader)!=null&&r.uploadByFile)return n.config.uploader.uploadByFile(e,{onProgress:t.onProgress});let i=n.fileEndpoint();return i===void 0?{url:URL.createObjectURL(e),fileName:e.name,size:e.size,mimeType:e.type||void 0}:n.uploadFileToEndpoint(i,e)}async handleUrl(e,t={}){var n=this,r;if(n.validateUrl(e),(r=n.config.uploader)!=null&&r.uploadByUrl)return n.config.uploader.uploadByUrl(e,{onProgress:t.onProgress});let i=n.urlEndpoint();return i===void 0?{url:e}:n.uploadUrlToEndpoint(i,e)}fileEndpoint(){let{endpoints:e}=this.config;return typeof e==`string`?e:e==null?void 0:e.byFile}urlEndpoint(){let{endpoints:e}=this.config;return typeof e==`string`?e:e==null?void 0:e.byUrl}async uploadFileToEndpoint(e,t){var n=this,r;let i=new FormData;i.append((r=n.config.field)==null?`file`:r,t);let a=await fetch(e,{method:`POST`,body:i,headers:n.config.additionalRequestHeaders});return n.parseResponse(a,t.name,t.size,t.type)}async uploadUrlToEndpoint(e,t){var r=this;let i=await fetch(e,{method:`POST`,headers:n.t({"Content-Type":`application/json`},r.config.additionalRequestHeaders),body:JSON.stringify({url:t})});return r.parseResponse(i)}async parseResponse(e,t,n,r){if(!e.ok)throw new al(`UPLOAD_FAILED`,String(e.status));let i=await e.json().catch(()=>null);if(typeof i!=`object`||!i||typeof i.url!=`string`)throw new al(`UPLOAD_FAILED`,`malformed response`);let a=i,o={url:a.url},s=typeof a.fileName==`string`?a.fileName:t;s!==void 0&&(o.fileName=s);let c=typeof a.size==`number`?a.size:n;c!==void 0&&(o.size=c);let l=typeof a.mimeType==`string`?a.mimeType:r||void 0;return l!==void 0&&(o.mimeType=l),o}validateUrl(e){let t=ol(e);if(!t)throw new al(`INVALID_URL`,e);if(t.protocol!==`http:`&&t.protocol!==`https:`)throw new al(`INVALID_URL`,t.protocol)}validateFile(e){let{types:t,maxSize:n}=this.config;if(t!==void 0&&!t.includes(e.type))throw new al(`UNSUPPORTED_TYPE`,e.type||`unknown`);if(n!==void 0&&e.size>n)throw new al(`FILE_TOO_LARGE`,`${e.size} > ${n}`)}};async function cl(e){try{let t=await fetch(e);return t.ok?{ok:!0,text:await t.text()}:{ok:!1,reason:`fetch-error`}}catch(e){return{ok:!1,reason:`fetch-error`}}}var ll=`p.div.span.a.img.picture.source.strong.em.b.i.u.s.del.ins.mark.small.abbr.code.pre.kbd.samp.br.hr.sub.sup.ul.ol.li.dl.dt.dd.blockquote.h1.h2.h3.h4.h5.h6.table.thead.tbody.tfoot.tr.th.td.caption.figure.figcaption.details.summary`.split(`.`),ul=[`href`,`src`,`alt`,`title`,`align`,`width`,`height`,`colspan`,`rowspan`,`start`,`open`];function dl(e,t){if(t===void 0||t===``)return e;try{return new URL(e,t).href}catch(t){return e}}var fl={base:void 0,purify:null};function pl(e){var t;if(e.tagName!==`A`||!e.hasAttribute(`href`))return;let n=a.n(dl((t=e.getAttribute(`href`))==null?``:t,fl.base));if(n===null){e.removeAttribute(`href`);return}e.setAttribute(`href`,n),e.setAttribute(`target`,`_blank`),e.setAttribute(`rel`,`noopener noreferrer nofollow`)}function ml(e){var t;if(e.tagName!==`IMG`||(e.removeAttribute(`srcset`),!e.hasAttribute(`src`)))return;let n=a.r(dl((t=e.getAttribute(`src`))==null?``:t,fl.base));n===null?e.removeAttribute(`src`):e.setAttribute(`src`,n)}async function hl(){return fl.purify===null&&(fl.purify=Promise.resolve().then(()=>require(`./purify.es-CuAfFv_m.cjs`)).then(({default:e})=>{let t=e;return t.addHook(`afterSanitizeAttributes`,e=>{pl(e),ml(e)}),t})),fl.purify}async function gl(e,t){let n=await hl();return fl.base=t,n.sanitize(e,{ALLOWED_TAGS:ll,ALLOWED_ATTR:ul,FORBID_ATTR:[`style`],ALLOW_DATA_ATTR:!1})}var _l=RegExp(`\\$\\$[\\s\\S]+?\\$\\$|(?<!\\$)\\$(?!\\$)(?=\\S)[^$]+(?<=\\S)\\$(?!\\$)`,``),vl=[`note`,`tip`,`important`,`warning`,`caution`],yl=/^\[!(NOTE|TIP|IMPORTANT|WARNING|CAUTION)\]\s*/;function q(e){return e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`)}function bl(){let e=new Map;return t=>{var n;let r=t.toLowerCase().trim().replace(/[^\w\s-]/g,``).replace(/[\s_]+/g,`-`).replace(/-+/g,`-`).replace(/^-+|-+$/g,``)||`section`,i=(n=e.get(r))==null?0:n;return e.set(r,i+1),i===0?r:`${r}-${i}`}}function xl(e){return e.map(e=>e.type===`text`||e.type===`inlineCode`||e.type===`inlineMath`?e.value:`children`in e&&Array.isArray(e.children)?xl(e.children):``).join(``)}function Sl(e){if(e===``)return null;if(co(e))return e;let t=jc(e);return t!==null&&co(t)?t:null}async function Cl(){let[{math:e},{mathFromMarkdown:t}]=await Promise.all([Promise.resolve().then(()=>require(`./micromark-extension-math-DzUShrcn.cjs`)),Promise.resolve().then(()=>require(`./mdast-util-math-BTbbgXQ4.cjs`))]);return{mathSyntax:e(),mathFromMarkdown:t()}}async function wl(e,t={}){let n=[a.a()],r=[a.i()];if(_l.test(e)){let{mathSyntax:e,mathFromMarkdown:t}=await Cl();n.push(e),r.push(t)}let i=a.o(e,{extensions:n,mdastExtensions:r}).children,o={definitions:new Map,footnoteDefs:new Map,footnoteOrder:[],footnoteNumbers:new Map,slug:bl(),baseUrl:t.baseUrl};for(let e of i)e.type===`definition`?o.definitions.set(e.identifier,e):e.type===`footnoteDefinition`&&o.footnoteDefs.set(e.identifier,e);return await Tl(i,o)+await Vl(o)}async function Tl(e,t){return(await Promise.all(e.map(e=>El(e,t)))).join(``)}async function El(e,t){return e.type===`heading`?Dl(e,t):e.type===`paragraph`?`<p>${await Fl(e.children,t)}</p>`:e.type===`thematicBreak`?`<hr>`:e.type===`blockquote`?Ol(e,t):e.type===`list`?Al(e,t):e.type===`code`?Ml(e):e.type===`math`?Qa(e.value,{displayMode:!0}):e.type===`table`?Nl(e,t):e.type===`html`?gl(e.value,t.baseUrl):``}async function Dl(e,t){let n=await Fl(e.children,t),r=t.slug(xl(e.children));return`<h${e.depth} id="${q(r)}">${n}</h${e.depth}>`}async function Ol(e,t){let n=kl(e);if(n!==null){let e=await Tl(n.children,t),r=n.kind.charAt(0).toUpperCase()+n.kind.slice(1);return`<div class="blok-md-alert blok-md-alert-${n.kind}"><p class="blok-md-alert-title">${r}</p>${e}</div>`}return`<blockquote>${await Tl(e.children,t)}</blockquote>`}function kl(e){let[t]=e.children;if(t===void 0||t.type!==`paragraph`)return null;let[r]=t.children;if(r===void 0||r.type!==`text`)return null;let i=yl.exec(r.value);if(i===null)return null;let a=i[1].toLowerCase();if(!vl.includes(a))return null;let o=r.value.slice(i[0].length).replace(/^\n+/,``),s=o===``?t.children.slice(1).filter(e=>e.type!==`break`):[n.t(n.t({},r),{},{value:o}),...t.children.slice(1)];return{kind:a,children:s.length>0?[n.t(n.t({},t),{},{children:s}),...e.children.slice(1)]:e.children.slice(1)}}async function Al(e,t){let n=e.ordered===!0?`ol`:`ul`;return`<${n}${e.ordered===!0&&e.start!=null&&e.start!==1?` start="${e.start}"`:``}>${(await Promise.all(e.children.map(e=>jl(e,t)))).join(``)}</${n}>`}async function jl(e,t){let n=await Tl(e.children,t);return e.checked===!0||e.checked===!1?`<li class="blok-md-task"><input type="checkbox" disabled${e.checked?` checked`:``}>${n}</li>`:`<li>${n}</li>`}async function Ml(e){var t;let n=Sl((t=e.lang)==null?``:t);if(n!==null){let t=await fo(e.value,n);if(t!==null)return`<pre class="blok-code lang-${n}"><code>${t}</code></pre>`}return`<pre><code>${q(e.value)}</code></pre>`}async function Nl(e,t){let[n,...r]=e.children;return`<table>${n===void 0?``:`<thead><tr>${await Pl(n,`th`,t)}</tr></thead>`}<tbody>${(await Promise.all(r.map(async e=>`<tr>${await Pl(e,`td`,t)}</tr>`))).join(``)}</tbody></table>`}async function Pl(e,t,n){return(await Promise.all(e.children.map(async e=>`<${t}>${await Fl(e.children,n)}</${t}>`))).join(``)}async function Fl(e,t){return(await Promise.all(e.map(e=>Il(e,t)))).join(``)}async function Il(e,t){switch(e.type){case`text`:return q(e.value);case`strong`:return`<strong>${await Fl(e.children,t)}</strong>`;case`emphasis`:return`<i>${await Fl(e.children,t)}</i>`;case`delete`:return`<s>${await Fl(e.children,t)}</s>`;case`inlineCode`:return`<code>${q(e.value)}</code>`;case`break`:return`<br>`;case`link`:{let n=a.n(e.url),r=await Fl(e.children,t);return n===null?r:Ll(n,r)}case`image`:var n;return Rl(e.url,(n=e.alt)==null?``:n);case`linkReference`:{let n=t.definitions.get(e.identifier),i=await Fl(e.children,t);if(n===void 0){var r;return zl((r=e.label)==null?e.identifier:r,i,!1)}let o=a.n(n.url);return o===null?i:Ll(o,i)}case`imageReference`:{var i;let n=t.definitions.get(e.identifier),r=(i=e.alt)==null?``:i;if(n===void 0){var o;return zl((o=e.label)==null?e.identifier:o,q(r),!0)}return Rl(n.url,r)}case`footnoteReference`:return Bl(e.identifier,t);case`inlineMath`:return Qa(e.value,{displayMode:!1});case`math`:return Qa(e.value,{displayMode:!0});case`html`:return q(e.value);default:return``}}function Ll(e,t){return`<a href="${q(e)}" target="_blank" rel="noopener noreferrer nofollow">${t}</a>`}function Rl(e,t){let n=a.r(e);return n===null?``:`<img src="${q(n)}" alt="${q(t)}">`}function zl(e,t,n){return`${n?`!`:``}[${t}][${q(e)}]`}function Bl(e,t){t.footnoteNumbers.has(e)||(t.footnoteOrder.push(e),t.footnoteNumbers.set(e,t.footnoteOrder.length));let n=t.footnoteNumbers.get(e),r=q(e);return`<sup class="blok-md-fnref" id="fnref-${r}"><a href="#fn-${r}">${n}</a></sup>`}async function Vl(e){return e.footnoteOrder.length===0?``:`<section class="blok-md-footnotes"><hr><ol>${(await Promise.all(e.footnoteOrder.map(async t=>{let n=q(t),r=e.footnoteDefs.get(t);return`<li id="fn-${n}">${r===void 0?``:await Tl(r.children,e)}<a class="blok-md-fnback" href="#fnref-${n}" aria-label="Back to content">↩</a></li>`}))).join(``)}</ol></section>`}function Hl(e,t){var n;e.replaceChildren();let r=document.createElement(`div`);r.className=`blok-file-preview-error`,r.setAttribute(`data-role`,`file-preview-error`),r.textContent=(n=t.labels.error)==null?`Couldn't load preview`:n;let i=$c(t.url);if(i!==null){var a,o;let e=document.createElement(`a`);e.className=`blok-file-preview-download`,e.setAttribute(`data-action`,`preview-download`),e.href=i,e.download=(a=t.fileName)==null?``:a,e.target=`_blank`,e.rel=`noopener noreferrer`,e.textContent=(o=t.labels.download)==null?`Download`:o,r.appendChild(e)}e.appendChild(r)}async function Ul(e){try{let t=await fetch(e);return t.ok?{ok:!0,buf:await t.arrayBuffer()}:{ok:!1,reason:`fetch-error`}}catch(e){return{ok:!1,reason:`fetch-error`}}}async function Wl(){let e=await Promise.resolve().then(()=>require(`./docx-preview-Cr8yuQhl.cjs`));return(t,n)=>e.renderAsync(t,n,void 0,{inWrapper:!0,className:`blok-docx`,ignoreHeight:!0})}async function Gl(){var t;let n=await Promise.resolve().then(()=>e.r(require(`./jszip.min-DeIYb0l-.cjs`).default));return(t=n.default)==null?n:t}async function Kl(){let e=await Promise.resolve().then(()=>require(`./aiden0z-pptx-renderer.es-BjqroPtk.cjs`));return{open:(t,n)=>e.PptxViewer.open(t,n,{fitMode:`contain`,zipLimits:e.RECOMMENDED_ZIP_LIMITS,pdfjs:!1})}}var ql=new Set([`docx`,`xlsx`,`pptx`]);function Jl(e){return e!==null&&ql.has(e)}var Yl=/^([A-Z]+)/;function Xl(e){return Array.from({length:Math.max(0,e)},(e,t)=>t+1)}function Zl(e){var t,n;return Number((t=(n=/sheet(\d+)\.xml$/.exec(e))==null?void 0:n[1])==null?`0`:t)}function Ql(e){var t,n;let r=(t=(n=Yl.exec(e))==null?void 0:n[1])==null?``:t;return Array.from(r).reduce((e,t)=>e*26+(t.charCodeAt(0)-64),0)}function $l(e,t){var n,r;let i=e.getAttribute(`t`);if(i===`s`){var a,o,s;return(s=t[Number((a=(o=e.getElementsByTagName(`v`)[0])==null?void 0:o.textContent)==null?``:a)])==null?``:s}return i===`inlineStr`?Array.from(e.getElementsByTagName(`t`)).map(e=>{var t;return(t=e.textContent)==null?``:t}).join(``):(n=(r=e.getElementsByTagName(`v`)[0])==null?void 0:r.textContent)==null?``:n}function eu(e){return Array.from(e.getElementsByTagName(`t`)).map(e=>{var t;return(t=e.textContent)==null?``:t}).join(``)}function tu(e,t){let n=e.getAttribute(`t`);return n===`s`||n===`inlineStr`||n===`str`?!1:t.trim()!==``&&Number.isFinite(Number(t))}function nu(e,t){let n=Array.from(e.getElementsByTagName(`c`)),r=new Map;n.forEach((e,n)=>{let i=e.getAttribute(`r`),a=$l(e,t);r.set(i===null?n+1:Ql(i),{text:a,numeric:tu(e,a)})});let i=n.reduce((e,t)=>{let n=t.getAttribute(`r`);return n===null?e:Math.max(e,Ql(n))},n.length),a=document.createElement(`tr`);for(let e of Xl(i)){var o;let t=document.createElement(`td`),n=r.get(e);t.textContent=(o=n==null?void 0:n.text)==null?``:o,(n==null?void 0:n.numeric)===!0&&(t.className=`blok-file-preview-xlsx-num`),a.appendChild(t)}return a}function ru(e,t){let n=document.createElement(`table`);n.className=`blok-file-preview-xlsx-table`;for(let r of Array.from(e.getElementsByTagName(`row`)))n.appendChild(nu(r,t));return n}async function iu(e,t){let n=await(await Gl()).loadAsync(e),r=new DOMParser,i=n.file(`xl/sharedStrings.xml`),a=i===null?[]:Array.from(r.parseFromString(await i.async(`text`),`application/xml`).getElementsByTagName(`si`)).map(eu),o=Object.keys(n.files).filter(e=>/^xl\/worksheets\/sheet\d+\.xml$/.test(e)).sort((e,t)=>Zl(e)-Zl(t));for(let e of o){let i=n.file(e);if(i===null)continue;let o=r.parseFromString(await i.async(`text`),`application/xml`);t.appendChild(ru(o,a))}}async function au(e,t,n){if(n===`docx`){await(await Wl())(e,t);return}if(n===`xlsx`){await iu(e,t);return}await(await Kl()).open(e,t)}async function ou(e,t,n,r){let i=await Ul(t.url);if(r())return;if(!i.ok){Hl(e,t);return}let a=document.createElement(`div`);a.className=`blok-file-preview-office blok-file-preview-${n}`,a.setAttribute(`data-role`,`file-preview-${n}`),e.replaceChildren(a);try{await au(i.buf,a,n)}catch(i){console.warn(`[blok] Failed to render ${n} preview:`,i),r()||Hl(e,t)}}var su=[`top`,`bottom`,`left`,`right`],cu=1,lu=class{constructor(){this.strips=new Map,this.body=null,this.refresh=null,this.observer=null,this.ticking=!1}init(e){this.body=e;for(let t of su){let n=document.createElement(`div`);n.className=`blok-file-preview-haze`,n.setAttribute(`data-blok-haze`,t),n.setAttribute(`aria-hidden`,`true`),e.appendChild(n),this.strips.set(t,n)}this.refresh=()=>{this.ticking||(this.ticking=!0,requestAnimationFrame(()=>{this.update(),this.ticking=!1}))},e.addEventListener(`scroll`,this.refresh,{capture:!0,passive:!0}),window.addEventListener(`resize`,this.refresh,{passive:!0}),this.observer=new MutationObserver(this.refresh),this.observer.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`hidden`,`style`,`class`]}),this.update()}update(){let e=this.activeScroller();if(e===null){for(let e of su)this.setVisible(e,!1);return}let t=getComputedStyle(e).backgroundColor;t!==``&&this.body!==null&&this.body.style.setProperty(`--blok-haze-color`,t);let{scrollTop:n,scrollLeft:r,scrollWidth:i,scrollHeight:a,clientWidth:o,clientHeight:s}=e,c=i-o,l=a-s;this.setVisible(`top`,n>cu),this.setVisible(`bottom`,l>cu&&n<l-cu),this.setVisible(`left`,r>cu),this.setVisible(`right`,c>cu&&r<c-cu)}destroy(){var e;this.refresh!==null&&this.body!==null&&(this.body.removeEventListener(`scroll`,this.refresh,{capture:!0}),window.removeEventListener(`resize`,this.refresh)),(e=this.observer)==null||e.disconnect(),this.strips.forEach(e=>e.remove()),this.strips.clear(),this.body=null,this.refresh=null,this.observer=null,this.ticking=!1}activeScroller(){var e,t;if(this.body===null)return null;let n=Array.from(this.body.children).filter(e=>e instanceof HTMLElement&&!e.classList.contains(`blok-file-preview-haze`)&&!e.hidden&&getComputedStyle(e).display!==`none`);return(e=(t=n.find(e=>e.scrollHeight>e.clientHeight||e.scrollWidth>e.clientWidth))==null?n[0]:t)==null?null:e}setVisible(e,t){let n=this.strips.get(e);n!==void 0&&(t?n.setAttribute(`data-blok-haze-visible`,``):n.removeAttribute(`data-blok-haze-visible`))}},uu=260;function du(e){if(typeof window>`u`)return``;try{return window.getComputedStyle(e).animationName||``}catch(e){return``}}function fu(){return typeof navigator>`u`?!1:!/jsdom/i.test(navigator.userAgent)}function pu(){var e,t;return typeof window<`u`&&!!(!((e=(t=window).matchMedia)==null||(e=e.call(t,`(prefers-reduced-motion: reduce)`))==null)&&e.matches)}function mu(e,t){var n;let r=document.createElement(`div`);if(r.className=`blok-file-preview-body`,t===`pdf`){var i;let t=el(e.url);if(t===null){let e=document.createElement(`div`);return e.className=`blok-file-preview-error`,e.setAttribute(`data-role`,`file-preview-error`),r.appendChild(e),r}let n=document.createElement(`iframe`);return n.className=`blok-file-preview-frame`,n.setAttribute(`data-role`,`file-preview-frame`),n.setAttribute(`title`,(i=e.fileName)==null?e.labels.close:i),n.src=t,r.appendChild(n),r}let a=document.createElement(`div`);return a.className=`blok-file-preview-loading`,a.setAttribute(`data-role`,`file-preview-loading`),a.textContent=(n=e.labels.loading)==null?`Loading…`:n,r.appendChild(a),r}function hu(e,t){e.replaceChildren();let n=document.createElement(`pre`);n.className=`blok-file-preview-pre`,n.setAttribute(`data-role`,`file-preview-text`),n.textContent=t,e.appendChild(n)}async function gu(e,t,n){e.replaceChildren();let r=document.createElement(`pre`);r.className=`blok-file-preview-pre`,r.setAttribute(`data-role`,`file-preview-code`);let i=document.createElement(`code`);if(i.textContent=t,r.appendChild(i),e.appendChild(r),co(n)){let e=await fo(t,n);e!==null&&yo(i,e,n)}}async function _u(e,t,n,r){var i,a,o,s;e.replaceChildren();let c=document.createElement(`div`);c.className=`blok-file-preview-toggle`,c.setAttribute(`role`,`group`),c.setAttribute(`aria-label`,`${(i=r.labels.render)==null?`Rendered`:i} / ${(a=r.labels.raw)==null?`Raw`:a}`);let l=document.createElement(`button`);l.type=`button`,l.setAttribute(`data-action`,`preview-render`),l.textContent=(o=r.labels.render)==null?`Rendered`:o;let u=document.createElement(`button`);u.type=`button`,u.setAttribute(`data-action`,`preview-raw`),u.textContent=(s=r.labels.raw)==null?`Raw`:s;let d=document.createElement(`span`);d.className=`blok-file-preview-toggle-indicator`,d.setAttribute(`aria-hidden`,`true`),c.append(d,l,u);let f=document.createElement(`div`);f.className=`blok-file-preview-md`,f.setAttribute(`data-role`,`file-preview-md-render`);let p=document.createElement(`pre`);p.className=`blok-file-preview-pre`,p.setAttribute(`data-role`,`file-preview-md-raw`);let m=document.createElement(`code`);m.textContent=n,p.appendChild(m),p.hidden=!0,t.appendChild(c),e.append(f,p);let h=e=>{let t=e?u:l;d.style.width=`${t.offsetWidth}px`,d.style.transform=`translateX(${t.offsetLeft}px)`},g=e=>{p.hidden=!e,f.hidden=e,l.setAttribute(`aria-pressed`,String(!e)),u.setAttribute(`aria-pressed`,String(e)),h(e)};l.addEventListener(`click`,()=>g(!1)),u.addEventListener(`click`,()=>g(!0)),d.style.transition=`none`,g(!1),d.offsetWidth,d.style.transition=``,go(),f.innerHTML=await wl(n,{baseUrl:r.url});let _=await fo(n,`markdown`);_!==null&&yo(m,_,`markdown`)}async function vu(e,t,n,r,i){let a=await cl(n.url);if(!i()){if(!a.ok){Hl(e,n);return}if(r===`markdown`)await _u(e,t,a.text,n);else if(r===`code`){var o,s;let t=Lc((o=n.fileName)==null?n.url:o);await gu(e,a.text,(s=jc(t))==null?`plain`:s)}else hu(e,a.text)}}function yu(e){var n;let r=(n=e.fileName)==null?e.labels.close:n,i=document.createElement(`div`);i.className=`blok-file-preview-backdrop`,i.setAttribute(`data-role`,`file-preview-backdrop`);let a=document.createElement(`div`);a.className=`blok-file-preview`,a.setAttribute(`role`,`dialog`),a.setAttribute(`aria-modal`,`true`),a.setAttribute(`aria-label`,r);let o=document.createElement(`div`);o.className=`blok-file-preview-header`;let s=document.createElement(`span`);s.className=`blok-file-preview-title`;let c=document.createElement(`span`);c.className=`blok-file-preview-title-icon`,c.setAttribute(`aria-hidden`,`true`),c.innerHTML=t.xt;let l=document.createElement(`span`);l.className=`blok-file-preview-title-text`,e.fileName&&(l.textContent=e.fileName),s.append(c,l);let u=document.createElement(`button`);u.type=`button`,u.className=`blok-file-preview-close`,u.setAttribute(`data-action`,`close-preview`),u.setAttribute(`aria-label`,e.labels.close),u.innerHTML=t.at;let d=document.createElement(`div`);d.className=`blok-file-preview-actions`;let f=Rc({url:e.url,fileName:e.fileName,mimeType:e.mimeType}),p=f===`pdf`?el(e.url):null;if(p!==null){let n=document.createElement(`a`);n.className=`blok-file-preview-open`,n.setAttribute(`data-action`,`preview-open-tab`),n.href=p,n.target=`_blank`,n.rel=`noopener noreferrer`,e.labels.openInNewTab&&(n.setAttribute(`aria-label`,e.labels.openInNewTab),n.title=e.labels.openInNewTab),n.innerHTML=t.Yt,d.appendChild(n)}d.appendChild(u),o.append(s,d);let m=mu(e,f==null?`text`:f);return a.append(o,m),i.appendChild(a),{backdrop:i,dialog:a,header:o,closeButton:u,body:m,kind:f}}function bu(e){let n=document.activeElement,{backdrop:r,dialog:i,header:a,closeButton:o,body:s,kind:c}=yu(e),l=Jl(c)?c:null,u=c===null||c===`pdf`||l!==null?null:c,d=document.body.style.overflow,f={closed:!1},p=new lu,m=()=>{f.closed||(f.closed=!0,p.destroy(),document.removeEventListener(`keydown`,g),document.body.style.overflow=d,r.parentNode&&(t.mr(r),r.parentNode.removeChild(r)),n instanceof HTMLElement&&n.isConnected&&n.focus())},h=()=>{if(f.closed)return;if(r.setAttribute(`data-blok-closing`,`true`),pu()||!fu()){m();return}let e=du(i);if(e===``||e===`none`){m();return}let t={done:!1,fallback:0},n=e=>{e.target===i&&a()},a=()=>{t.done||(t.done=!0,i.removeEventListener(`animationend`,n),t.fallback!==0&&window.clearTimeout(t.fallback),m())};i.addEventListener(`animationend`,n),t.fallback=window.setTimeout(a,uu)},g=e=>{e.key===`Escape`&&h()};return r.addEventListener(`click`,e=>{i.contains(e.target instanceof Node?e.target:null)||h()}),o.addEventListener(`click`,()=>h()),document.addEventListener(`keydown`,g),document.body.appendChild(r),document.body.style.overflow=`hidden`,t.pr(r),o.focus(),(l===null?u===null?Promise.resolve():vu(s,a,e,u,()=>f.closed):ou(s,e,l,()=>f.closed)).then(()=>{!f.closed&&c!==`pdf`&&p.init(s)}),m}var xu=class{constructor(e){var t,r,i;this.root=null,this.uploadingEl=null,this.lastFileName=null,this.previewTeardown=null,this.api=e.api,this.block=e.block,this.config=(t=e.config)==null?{}:t,this.readOnly=e.readOnly,this.data=n.t(n.t({},e.data),{},{url:(r=(i=e.data)==null?void 0:i.url)==null?``:r}),this.state=this.data.url?`RENDERED`:`EMPTY`,this.uploader=new sl(this.config)}render(){let e=document.createElement(`div`);return e.setAttribute(`data-blok-tool`,`file`),this.root=e,this.renderState(),e}save(){let e={url:this.data.url};return this.data.fileName!==void 0&&(e.fileName=this.data.fileName),this.data.size!==void 0&&(e.size=this.data.size),this.data.mimeType!==void 0&&(e.mimeType=this.data.mimeType),this.data.caption!==void 0&&this.data.caption!==``&&(e.caption=this.data.caption),this.data.captionVisible!==void 0&&(e.captionVisible=this.data.captionVisible),e}validate(e){return typeof e.url==`string`&&e.url.length>0}setReadOnly(e){this.readOnly=e,this.renderState()}getToolbarAnchorElement(){var e,t;return(e=(t=this.root)==null?void 0:t.querySelector(`[data-role="file-card"]`))==null?void 0:e}onPaste(e){e.type===`file`&&this.startUpload(e.detail.file)}renderSettings(){var e,n;let r=this.api.i18n,i=(e=this.data.captionVisible)==null?((n=this.data.caption)==null?``:n)!==``:e;return[{icon:t.W,title:r.t(`tools.file.toggleCaption`),name:`file-caption`,isActive:i,closeOnActivate:!0,onActivate:()=>this.toggleCaption()},{icon:t.hn,title:r.t(`tools.file.replace`),name:`file-replace`,closeOnActivate:!0,onActivate:()=>this.transitionToEmpty()},{icon:t.ut,title:r.t(`tools.file.download`),name:`file-download`,closeOnActivate:!0,onActivate:()=>this.download()},{icon:t.nt,title:r.t(`tools.file.copyUrl`),name:`file-copy-url`,closeOnActivate:!0,onActivate:()=>{var e;(e=navigator.clipboard)==null||e.writeText(this.data.url)}}]}static get toolbox(){return{icon:t.xt,titleKey:`file`,searchTerms:[`file`,`attachment`,`upload`,`download`,`pdf`,`document`]}}static get isReadOnlySupported(){return!0}static get pasteConfig(){return{files:{mimeTypes:[...wc],extensions:[...Tc]}}}startUpload(e){this.lastFileName=e.name,this.state=`LOADING`,this.renderState(),this.uploader.handleFile(e,{onProgress:e=>{var t;return(t=this.uploadingEl)==null?void 0:t.setProgress(e)}}).then(e=>this.applyResult(e)).catch(()=>this.applyError())}startUrl(e){this.lastFileName=null,this.state=`LOADING`,this.renderState(),this.uploader.handleUrl(e,{onProgress:e=>{var t;return(t=this.uploadingEl)==null?void 0:t.setProgress(e)}}).then(e=>this.applyResult(e)).catch(()=>this.applyError())}applyResult(e){var t,r,i,a;this.data=n.t(n.t({},this.data),{},{url:e.url,fileName:(t=(r=e.fileName)==null?this.lastFileName:r)==null?this.data.fileName:t,size:(i=e.size)==null?this.data.size:i,mimeType:(a=e.mimeType)==null?this.data.mimeType:a}),this.state=`RENDERED`,this.renderState(),this.block.dispatchChange()}applyError(){this.state=`ERROR`,this.renderState()}transitionToEmpty(){this.data=n.t(n.t({},this.data),{},{url:``}),this.state=`EMPTY`,this.renderState(),this.block.dispatchChange()}renameFile(e){e!==this.data.fileName&&(this.data=n.t(n.t({},this.data),{},{fileName:e}),this.renderState(),this.block.dispatchChange())}toggleCaption(){var e,t;let r=(e=this.data.captionVisible)==null?((t=this.data.caption)==null?``:t)!==``:e;this.data=n.t(n.t({},this.data),{},{captionVisible:!r}),this.renderState(),this.block.dispatchChange()}download(){var e,t;let n=(e=this.root)==null?void 0:e.querySelector(`a[data-action="download"]`);if(n){n.click();return}let r=$c(this.data.url);if(r===null)return;let i=document.createElement(`a`);i.href=r,i.download=(t=this.data.fileName)==null?``:t,i.target=`_blank`,i.rel=`noopener noreferrer`,i.click()}openPreview(){var e;(e=this.previewTeardown)==null||e.call(this),this.previewTeardown=bu({url:this.data.url,fileName:this.data.fileName,mimeType:this.data.mimeType,labels:{close:this.api.i18n.t(`tools.file.previewClose`),raw:this.api.i18n.t(`tools.file.previewRaw`),render:this.api.i18n.t(`tools.file.previewRender`),loading:this.api.i18n.t(`tools.file.previewLoading`),error:this.api.i18n.t(`tools.file.previewError`),download:this.api.i18n.t(`tools.file.previewDownload`),openInNewTab:this.api.i18n.t(`tools.file.previewOpenInNewTab`)}})}removed(){var e;(e=this.previewTeardown)==null||e.call(this),this.previewTeardown=null}renderState(){var e;if(this.root){if((e=this.previewTeardown)==null||e.call(this),this.previewTeardown=null,this.root.innerHTML=``,this.uploadingEl=null,this.state===`EMPTY`){this.root.appendChild(this.buildEmpty());return}if(this.state===`LOADING`){this.uploadingEl=this.buildUploading(),this.root.appendChild(this.uploadingEl);return}if(this.state===`ERROR`){this.root.appendChild(this.buildError());return}this.root.appendChild(this.buildRendered())}}buildEmpty(){var e;return Dc({acceptTypes:(e=this.config.types)==null?[]:e,i18n:this.api.i18n,onFile:e=>this.startUpload(e),onUrl:e=>this.startUrl(e)})}buildUploading(){let e=this.api.i18n;return kc({fileName:this.lastFileName,labels:{uploading:e.t(`tools.file.uploading`),cancel:e.t(`tools.file.cancelUpload`),progress:e.t(`tools.file.uploadProgress`)},onCancel:()=>this.transitionToEmpty()})}buildError(){let e=this.api.i18n,t=document.createElement(`div`);t.className=`blok-file-error-state`,t.setAttribute(`data-role`,`file-error`);let n=document.createElement(`span`);n.textContent=e.t(`tools.file.errorUploadFailed`);let r=document.createElement(`button`);return r.type=`button`,r.className=`blok-file-retry`,r.setAttribute(`data-action`,`replace`),r.textContent=e.t(`tools.file.errorReplace`),r.addEventListener(`click`,()=>this.transitionToEmpty()),t.append(n,r),t}buildRendered(){var e,t;let r=document.createElement(`div`);r.className=`blok-file-rendered`;let i=zc(this.data)?()=>this.openPreview():void 0,a=this.readOnly?void 0:e=>this.renameFile(e);r.appendChild(rl(this.data,i,this.api.i18n.t(`tools.file.download`),a));let o=((e=this.data.caption)==null?``:e)!==``;if(((t=this.data.captionVisible)==null?o:t)&&(!this.readOnly||o)){var s,c;r.appendChild(il({value:(s=this.data.caption)==null?``:s,placeholder:(c=this.config.captionPlaceholder)==null?Ec:c,readOnly:this.readOnly,onChange:e=>{e!==this.data.caption&&(this.data=n.t(n.t({},this.data),{},{caption:e}),this.block.dispatchChange())}}))}return r}},Su=class{constructor({data:e,api:t,block:r,readOnly:i}){this.container=null,this.api=t,this._data=n.t({},e),this.blockId=r.id,this.readOnly=i}render(){let e=document.createElement(`div`);return e.className=r.n(`flex`,`flex-row`,`flex-wrap`,`gap-y-4`,`w-full`),e.setAttribute(t.Xn,``),e.setAttribute(`data-blok-testid`,`column-list`),e.setAttribute(t.bi.nestedBlocks,``),this.container=e,e}rendered(){if(this.container===null)return;let e=this.api.blocks.getChildren(this.blockId);if(e.length===0){this._data.noSeed!==!0&&this.seedColumns();return}x(this.container,e),t.tr(this.container,e.map(e=>e.holder),this.readOnly,this.api,this.blockId)}seedColumns(){var e;let r=this.container;if(r===null)return;let i=(e=this._data.columnCount)==null?2:e,a=this.api.blocks.getBlockIndex(this.blockId);a!==void 0&&(this._data=n.t(n.t({},this._data),{},{columnCount:void 0}),t.tr(r,Array.from({length:i}).map((e,n)=>{let i=this.api.blocks.insert(t.er,{noFocus:n!==0},{},a+1+n,!1,!1);return this.api.blocks.setBlockParent(i.id,this.blockId),r.appendChild(i.holder),i}).map(e=>e.holder),this.readOnly,this.api,this.blockId))}setReadOnly(e){if(this.readOnly=e,this.container===null)return;if(e){this.container.querySelectorAll(`[${t.$n}]`).forEach(e=>e.remove());return}let n=this.api.blocks.getChildren(this.blockId);t.tr(this.container,n.map(e=>e.holder),!1,this.api,this.blockId)}save(){return{}}validate(e){return!0}static get toolbox(){let e={searchTerms:[`columns`,`cols`,`layout`,`grid`],searchTermKeys:[`columns`,`layout`]};return[2,3,4,5].map(r=>n.t(n.t({},e),{},{icon:t.Ln(r),titleKey:`tools.columns.col${r}`,name:`column_list-${r}`,data:{columnCount:r},searchTerms:[...e.searchTerms,`${r}c`,`c${r}`]}))}static get isReadOnlySupported(){return!0}},Cu=class{constructor({data:e,api:t,block:r}){this.childContainer=null,this.populated=!1,this.api=t,this._data=n.t({},e),this.blockId=r.id,this.block=r}render(){let e=document.createElement(`div`);e.className=r.n(`flex`,`flex-col`,`min-w-0`,`break-words`),e.setAttribute(t.Zn,``);let n=document.createElement(`div`);return n.setAttribute(t.bi.nestedBlocks,``),e.appendChild(n),this.childContainer=n,e}rendered(){var e;if(this.childContainer===null)return;this.block.holder.style.flexGrow=String((e=this._data.widthRatio)==null?1:e),this.block.holder.style.minWidth=`0`;let t=this.api.blocks.getChildren(this.blockId);if(t.length>0){this.populated=!0,x(this.childContainer,t);return}if(this.populated){this.deleteSelf();return}if(this._data.noSeed===!0){this._data.noSeed=!1;return}this.seedParagraph(),this.populated=!0}deleteSelf(){queueMicrotask(()=>{if(this.api.blocks.getChildren(this.blockId).length>0)return;let e=this.api.blocks.getBlockIndex(this.blockId);e!==void 0&&this.api.blocks.delete(e)})}seedParagraph(){let e=this.api.blocks.getBlockIndex(this.blockId);if(e===void 0||this.childContainer===null)return;let t=this.api.blocks.insertInsideParent(this.blockId,e+1);this.childContainer.appendChild(t.holder),this._data.noFocus!==!0&&this.api.caret.setToBlock(t.id,`start`)}save(){var e;let t=(e=this.block.holder)==null?void 0:e.style.flexGrow,n=t!==void 0&&t!==``?Number(t):this._data.widthRatio;return n!==void 0&&n!==1?{widthRatio:n}:{}}validate(e){return!0}setReadOnly(e){}removed(){queueMicrotask(()=>{let e=this.block.parentId;e!==null&&t.rr(this.api,e,this.blockId)})}static get isReadOnlySupported(){return!0}},wu=class{static get provides(){return{column_list:Su,column:Cu}}},Tu={left:t.zt,center:t.Rt,right:t.Bt},Eu={left:`tools.image.alignmentLeftAria`,center:`tools.image.alignmentCenterAria`,right:`tools.image.alignmentRightAria`},Du=[`left`,`center`,`right`];function Ou(e){let n=document.createElement(`div`);return n.setAttribute(`data-role`,`embed-overlay`),n.className=`blok-embed-toolbar`,ku(n,e),Pu(n),Mu(n,{action:`caption-toggle`,label:e.i18n.t(`tools.image.toggleCaption`),icon:t.G,pressed:e.captionVisible,onClick:e.onToggleCaption}),Au(n,e),Pu(n),ju(n,e),n}function ku(e,t){let n=document.createElement(`div`);n.className=`blok-embed-toolbar__align`,n.style.position=`relative`;let r=t.i18n.t(`tools.image.alignment`),i=document.createElement(`button`);i.type=`button`,i.setAttribute(`data-action`,`align-trigger`),i.setAttribute(`data-current`,t.alignment),i.setAttribute(`aria-label`,r),i.setAttribute(`aria-haspopup`,`true`),i.setAttribute(`aria-expanded`,`false`),i.innerHTML=Tu[t.alignment],n.appendChild(i);let a=document.createElement(`div`);a.setAttribute(`data-role`,`align-popover`),a.setAttribute(`role`,`group`),a.setAttribute(`aria-label`,r),a.className=`blok-embed-toolbar__align-popover`,a.hidden=!0;let o=Fu(i,a);for(let e of Du){let n=document.createElement(`button`);n.type=`button`,n.setAttribute(`data-action`,`align-${e}`),n.setAttribute(`aria-label`,t.i18n.t(Eu[e])),n.setAttribute(`aria-pressed`,t.alignment===e?`true`:`false`),n.innerHTML=Tu[e],n.addEventListener(`click`,n=>{n.stopPropagation(),o(!1),t.onAlign(e)}),a.appendChild(n)}n.appendChild(a),e.appendChild(n)}function Au(e,n){let r=document.createElement(`a`);r.setAttribute(`data-action`,`open-original`),r.className=`blok-embed-toolbar__btn`,r.href=n.source,r.target=`_blank`,r.rel=`noreferrer nofollow`,r.setAttribute(`aria-label`,n.i18n.t(`tools.embed.openOriginal`)),r.innerHTML=t.Yt,r.addEventListener(`click`,e=>e.stopPropagation()),e.appendChild(r)}function ju(e,n){let r=document.createElement(`div`);r.className=`blok-embed-toolbar__more`,r.style.position=`relative`;let i=document.createElement(`button`);i.type=`button`,i.setAttribute(`data-action`,`more`),i.setAttribute(`aria-label`,n.i18n.t(`tools.image.moreOptions`)),i.setAttribute(`aria-haspopup`,`menu`),i.setAttribute(`aria-expanded`,`false`),i.innerHTML=t.on,r.appendChild(i);let a=document.createElement(`div`);a.setAttribute(`data-role`,`more-popover`),a.setAttribute(`role`,`menu`),a.className=`blok-embed-toolbar__more-popover`,a.hidden=!0;let o=Fu(i,a);Nu(a,{action:`replace`,label:n.i18n.t(`tools.embed.replace`),icon:t.hn,onClick:()=>{o(!1),n.onReplace()}}),Nu(a,{action:`copy-link`,label:n.i18n.t(`tools.image.copyUrl`),icon:t.qt,onClick:()=>{o(!1),n.onCopyLink()}}),Nu(a,{action:`delete`,label:n.i18n.t(`blockSettings.delete`),icon:t.On,danger:!0,onClick:()=>{o(!1),n.onDelete()}}),r.appendChild(a),e.appendChild(r)}function Mu(e,t){let n=document.createElement(`button`);n.type=`button`,n.className=`blok-embed-toolbar__btn`,n.setAttribute(`data-action`,t.action),n.setAttribute(`aria-label`,t.label),t.pressed!==void 0&&n.setAttribute(`aria-pressed`,t.pressed?`true`:`false`),n.innerHTML=t.icon,n.addEventListener(`click`,e=>{e.stopPropagation(),t.onClick()}),e.appendChild(n)}function Nu(e,t){let n=document.createElement(`button`);n.type=`button`,n.setAttribute(`role`,`menuitem`),n.setAttribute(`data-action`,t.action),n.setAttribute(`aria-label`,t.label),n.className=t.danger?`blok-embed-toolbar__menu-item is-danger`:`blok-embed-toolbar__menu-item`;let r=document.createElement(`span`);r.className=`blok-embed-toolbar__menu-icon`,r.setAttribute(`aria-hidden`,`true`),r.innerHTML=t.icon;let i=document.createElement(`span`);i.textContent=t.label,n.append(r,i),n.addEventListener(`click`,e=>{e.stopPropagation(),t.onClick()}),e.appendChild(n)}function Pu(e){let t=document.createElement(`div`);t.className=`blok-embed-toolbar__divider`,t.setAttribute(`aria-hidden`,`true`),e.appendChild(t)}function Fu(e,t){let n=e=>{e.key===`Escape`&&!t.hidden&&(e.stopPropagation(),i(!1))},r=n=>{if(t.hidden)return;let r=n.target;r&&(t.contains(r)||e.contains(r))||i(!1)};function i(i){let a=i==null?t.hidden:i;t.toggleAttribute(`hidden`,!a),e.setAttribute(`aria-expanded`,a?`true`:`false`),a?(document.addEventListener(`keydown`,n),document.addEventListener(`mousedown`,r)):(document.removeEventListener(`keydown`,n),document.removeEventListener(`mousedown`,r))}return e.addEventListener(`click`,e=>{e.stopPropagation(),i()}),i}var Iu=`https://telegram.org/js/telegram-widget.js?22`,Lu=`https://platform.twitter.com/widgets.js`,Ru=`https://www.threads.com/embed.js`,zu=580,Bu=320,Vu=100,Hu=`allow-scripts allow-same-origin allow-popups allow-presentation`,Uu=`encrypted-media; fullscreen; picture-in-picture`,Wu=class{constructor(e){this.root=null,this.resizeDetach=[],this.api=e.api,this.block=e.block,this.readOnly=e.readOnly,this.data=n.t({},e.data)}static get toolbox(){return{icon:t.Dt,titleKey:`embed`,searchTerms:[`embed`,`iframe`,`video`,`youtube`,`media`]}}static get isReadOnlySupported(){return!0}static get pasteConfig(){return{patterns:Object.fromEntries(Object.entries(t.Rn).map(([e,t])=>[e,t.regex]))}}onPaste(e){e.type===`pattern`&&this.resolveAndSet(e.detail.data)}resolveAndSet(e){let n=t.Bn(e);if(n){var r,i;let a=t.Rn[n.service];return this.data={service:n.service,source:e,embed:n.embedUrl,kind:n.kind,width:(r=a.width)==null?zu:r,height:(i=a.height)==null?Bu:i},this.renderState(),!0}return this.isGenericAllowed()&&t.zn(e)?(this.data={service:``,source:e,embed:e,kind:`iframe`,width:zu,height:Bu},this.renderState(),!0):!1}isGenericAllowed(){var e;return((e=this.api.config)==null||(e=e.linkPaste)==null?void 0:e.allowGenericEmbed)===!0}render(){let e=document.createElement(`div`);return e.className=`my-2`,e.setAttribute(`data-blok-tool`,`embed`),this.root=e,this.renderState(),e}save(){var e,t,r,i,a,o;return n.t(n.t(n.t(n.t({service:(e=this.data.service)==null?``:e,source:(t=this.data.source)==null?``:t,embed:(r=this.data.embed)==null?``:r,kind:(i=this.data.kind)==null?`iframe`:i,width:(a=this.data.width)==null?zu:a,height:(o=this.data.height)==null?Bu:o},this.data.widthPercent===void 0?{}:{widthPercent:this.data.widthPercent}),this.data.alignment===void 0?{}:{alignment:this.data.alignment}),this.data.caption===void 0?{}:{caption:this.data.caption}),this.data.captionVisible===void 0?{}:{captionVisible:this.data.captionVisible})}validate(e){return!!e.source&&!!e.embed}setReadOnly(e){var t,n;this.readOnly=e;let r=(t=this.root)==null?void 0:t.querySelector(`[data-role="embed-figure"]`);if(!r){this.renderState();return}let i=r.querySelector(`[data-role="embed-caption"]`);if(i){var a,o;let e=(a=i.textContent)==null?``:a;e!==((o=this.data.caption)==null?``:o)&&(this.data.caption=e)}i==null||i.remove();let s=this.buildCaption();if(s){var c;(c=r.querySelector(`[data-role="embed-aspect"]`))==null||c.after(s)}this.detachResizers(),r.querySelectorAll(`[data-role="resize-handle"]`).forEach(e=>e.remove()),(n=r.querySelector(`[data-role="embed-overlay"]`))==null||n.remove(),e||(this.attachResizeHandles(r),r.appendChild(this.buildOverlay()))}getToolbarAnchorElement(){var e,t;return(e=(t=this.root)==null?void 0:t.querySelector(`[data-role="embed-figure"]`))==null?void 0:e}getContentOffset(e){let t=this.root,n=t==null?void 0:t.querySelector(`[data-role="embed-figure"]`);if(!t||!n)return;let r=n.getBoundingClientRect().left-t.getBoundingClientRect().left;return r>0?{left:r}:void 0}renderState(){if(!this.root)return;if(this.detachResizers(),!this.data.embed){this.root.replaceChildren(this.buildEmpty());return}if(this.data.kind===`script`){this.root.replaceChildren(this.buildScript());return}let e=this.buildIframeFigure();this.root.replaceChildren(e);let t=this.buildCaption();t&&e.appendChild(t),this.readOnly||(this.attachResizeHandles(e),e.appendChild(this.buildOverlay()))}detachResizers(){for(;this.resizeDetach.length>0;){var e;(e=this.resizeDetach.pop())==null||e()}}buildScript(){var e,n,r;let i=document.createElement(`div`);i.setAttribute(`data-blok-testid`,`embed-script`);let a=this.data.source?(e=(n=t.Bn(this.data.source))==null?void 0:n.remoteId)==null?``:e:``;if(this.data.service===`telegram`){let e=document.createElement(`script`);return e.async=!0,e.src=Iu,e.setAttribute(`data-telegram-post`,a),e.setAttribute(`data-width`,`100%`),i.appendChild(e),i}if(this.data.service===`threads`){var o,s;let e=document.createElement(`blockquote`);e.className=`text-post-media`,e.setAttribute(`data-text-post-permalink`,(o=this.data.embed)==null?``:o),e.setAttribute(`data-text-post-version`,`0`);let t=document.createElement(`a`);t.href=(s=this.data.embed)==null?``:s,e.appendChild(t),i.appendChild(e);let n=document.createElement(`script`);return n.async=!0,n.src=Ru,i.appendChild(n),i}let c=document.createElement(`blockquote`);c.className=`twitter-tweet`;let l=document.createElement(`a`);l.href=(r=this.data.source)==null?``:r,c.appendChild(l),i.appendChild(c);let u=document.createElement(`script`);return u.async=!0,u.src=Lu,i.appendChild(u),i}buildEmpty(){let e=document.createElement(`div`);if(e.setAttribute(`data-blok-testid`,`embed-empty`),e.className=`blok-embed-empty`,this.readOnly){e.classList.add(`blok-embed-empty--readonly`);let n=document.createElement(`span`);n.className=`blok-embed-empty__readonly`,n.innerHTML=`<span class="blok-embed-empty__readonly-glyph" aria-hidden="true">${t.Dt}</span>`;let r=document.createElement(`span`);return r.textContent=this.api.i18n.t(`tools.embed.empty`),n.appendChild(r),e.appendChild(n),e}let n=document.createElement(`form`);n.setAttribute(`data-role`,`embed-url-form`),n.className=`blok-embed-empty__form`;let r=document.createElement(`div`);r.setAttribute(`data-role`,`embed-url-bar`),r.setAttribute(`data-valid`,`false`),r.className=`blok-embed-empty__bar`;let i=document.createElement(`span`);i.className=`blok-embed-empty__bar-icon`,i.setAttribute(`aria-hidden`,`true`),i.innerHTML=t.Jt;let a=document.createElement(`input`);a.type=`url`,a.setAttribute(`data-role`,`embed-url-input`),a.className=`blok-embed-empty__input`,a.setAttribute(`placeholder`,this.api.i18n.t(`tools.embed.urlPlaceholder`)),a.setAttribute(`aria-label`,this.api.i18n.t(`tools.embed.urlPlaceholder`)),a.autocomplete=`off`,a.spellcheck=!1;let o=document.createElement(`button`);o.type=`submit`,o.setAttribute(`data-role`,`embed-url-submit`),o.className=`blok-embed-empty__submit`;let s=document.createElement(`span`);s.className=`blok-embed-empty__submit-label`,s.textContent=this.api.i18n.t(`tools.embed.urlSubmit`);let c=document.createElement(`kbd`);return c.className=`blok-embed-empty__kbd`,c.setAttribute(`aria-hidden`,`true`),c.textContent=`↵`,o.append(s,c),a.addEventListener(`input`,()=>{r.setAttribute(`data-valid`,this.looksLikeUrl(a.value)?`true`:`false`)}),r.append(i,a,o),n.appendChild(r),n.addEventListener(`submit`,t=>{t.preventDefault(),this.submitUrl(a.value.trim(),e)}),e.appendChild(n),e}looksLikeUrl(e){let n=e.trim();return n===``?!1:t.zn(n)||/^[\w-]+(\.[\w-]+)+([/?#].*)?$/i.test(n)}submitUrl(e,t){var n;if((n=t.querySelector(`[data-role="embed-url-error"]`))==null||n.remove(),e!==``&&this.resolveAndSet(e))return;let r=document.createElement(`div`);r.setAttribute(`data-role`,`embed-url-error`),r.setAttribute(`role`,`alert`),r.textContent=this.api.i18n.t(`tools.embed.invalidUrl`),t.appendChild(r)}buildIframeFigure(){var e,n,r;let i=document.createElement(`figure`),a=this.data.width&&this.data.width>0?this.data.width:zu,o=this.data.height&&this.data.height>0?this.data.height:Bu,s=this.data.service!==void 0&&((e=t.Rn[this.data.service])==null?void 0:e.fixedWidth)===!0;i.setAttribute(`data-role`,`embed-figure`),i.style.position=`relative`,i.style.maxWidth=s?`${a}px`:`100%`,i.style.width=`${(n=this.data.widthPercent)==null?Vu:n}%`;let c=(r=this.data.alignment)==null?`center`:r;i.style.marginLeft=c===`left`?`0`:`auto`,i.style.marginRight=c===`right`?`0`:`auto`;let l=document.createElement(`div`);return l.setAttribute(`data-role`,`embed-aspect`),l.style.position=`relative`,l.style.width=`100%`,l.style.aspectRatio=`${a} / ${o}`,l.appendChild(this.buildIframe()),i.appendChild(l),i}buildIframe(){var e;let t=document.createElement(`iframe`);return t.setAttribute(`data-blok-testid`,`embed-frame`),t.src=(e=this.data.embed)==null?``:e,t.style.width=`100%`,t.style.height=`100%`,t.style.border=`0`,t.setAttribute(`sandbox`,Hu),t.setAttribute(`allow`,Uu),t.setAttribute(`loading`,`lazy`),t.setAttribute(`frameborder`,`0`),t}attachResizeHandles(e){var n;let r=[`left`,`right`],i=this.data.service===void 0||(n=t.Rn[this.data.service])==null?void 0:n.minWidth;for(let t of r){var a,o;let n=document.createElement(`div`);n.setAttribute(`data-role`,`resize-handle`),n.setAttribute(`data-edge`,t),e.appendChild(n);let r=$o({handle:n,figure:e,container:(a=e.parentElement)==null?e:a,edge:t,alignment:(o=this.data.alignment)==null?`center`:o,minWidthPx:i,onPreview:t=>{e.style.setProperty(`width`,`${t}%`)},onCommit:e=>{this.data.widthPercent=e,this.block.dispatchChange()}});this.resizeDetach.push(r)}}isCaptionVisible(){var e,t;return(e=this.data.captionVisible)==null?((t=this.data.caption)==null?``:t)!==``:e}buildCaption(){var e;if(!this.isCaptionVisible())return null;let t=(e=this.data.caption)==null?``:e,n=document.createElement(`div`);return n.setAttribute(`data-role`,`embed-caption`),n.setAttribute(`role`,`textbox`),n.setAttribute(`contenteditable`,this.readOnly?`false`:`true`),n.setAttribute(`data-placeholder`,this.api.i18n.t(`tools.embed.captionPlaceholder`)),n.textContent=t,this.readOnly||n.addEventListener(`blur`,()=>{var e;let t=(e=n.textContent)==null?``:e;t!==this.data.caption&&(this.data.caption=t,this.block.dispatchChange())}),n}buildOverlay(){var e,t;return Ou({alignment:(e=this.data.alignment)==null?`center`:e,captionVisible:this.isCaptionVisible(),source:(t=this.data.source)==null?``:t,i18n:this.api.i18n,onAlign:e=>this.setAlignment(e),onToggleCaption:()=>this.toggleCaption(),onCopyLink:()=>this.copyLink(),onReplace:()=>this.replaceSource(),onDelete:()=>this.deleteBlock()})}replaceSource(){this.data=n.t(n.t({},this.data),{},{embed:``,source:``}),this.block.dispatchChange(),this.renderState()}setAlignment(e){var t,n;if(((t=this.data.alignment)==null?`center`:t)===e)return;let r=(n=this.root)==null?void 0:n.querySelector(`[data-role="embed-figure"]`);if(!r){this.data.alignment=e,this.renderState(),this.block.dispatchChange();return}let i=r.getBoundingClientRect();this.data.alignment=e,this.block.dispatchChange(),r.style.marginLeft=e===`left`?`0`:`auto`,r.style.marginRight=e===`right`?`0`:`auto`,this.refreshChrome(r);let a=r.getBoundingClientRect(),o=i.left-a.left;if(Math.abs(o)<.5)return;r.style.transition=`none`,r.style.transform=`translateX(${o}px)`,r.offsetWidth,r.style.transition=`transform 320ms cubic-bezier(0.22, 1, 0.36, 1)`,r.style.transform=`translateX(0)`;let s=()=>{r.style.transition=``,r.style.transform=``,r.removeEventListener(`transitionend`,s)};r.addEventListener(`transitionend`,s)}refreshChrome(e){var t;this.readOnly||(this.detachResizers(),e.querySelectorAll(`[data-role="resize-handle"]`).forEach(e=>e.remove()),(t=e.querySelector(`[data-role="embed-overlay"]`))==null||t.remove(),this.attachResizeHandles(e),e.appendChild(this.buildOverlay()))}toggleCaption(){var e,t;this.data.captionVisible=!this.isCaptionVisible(),this.block.dispatchChange();let n=(e=this.root)==null?void 0:e.querySelector(`[data-role="embed-figure"]`);if(!n){this.renderState();return}(t=n.querySelector(`[data-role="embed-caption"]`))==null||t.remove();let r=this.buildCaption();if(r){var i;(i=n.querySelector(`[data-role="embed-aspect"]`))==null||i.after(r)}this.refreshChrome(n)}copyLink(){var e;let t=navigator.clipboard;t==null||t.writeText((e=this.data.source)==null?``:e)}deleteBlock(){var e;let t=this.api.blocks;t==null||(e=t.delete)==null||e.call(t,this.block.id)}},Gu=class{constructor(e){this.config=e}async fetch(e){var n=this,r,i;if(!n.config.endpoint)throw Error("Bookmark tool requires an `endpoint` config to fetch link metadata.");let a=`${n.config.endpoint}?url=${encodeURIComponent(e)}`,o=await fetch(a,{headers:n.config.headers});if(!o.ok)throw Error(`Metadata request failed with status ${o.status}.`);let s=await o.json();if(s.success!==1)throw Error(`Metadata request was unsuccessful.`);let c=(r=s.meta)==null?{}:r;return{url:s.link&&t.zn(s.link)?s.link:e,title:c.title,description:c.description,image:(i=c.image)==null?void 0:i.url,favicon:c.favicon,domain:c.domain}}},Ku=/https?:\/\/\S+/,qu=class{constructor(e){var t,r,i;this.root=null,this.api=e.api,this.fetcher=new Gu((t=e.config)==null?{endpoint:``}:t),this.data=n.t(n.t({},e.data),{},{url:(r=(i=e.data)==null?void 0:i.url)==null?``:r}),this.state=this.data.url?`RENDERED`:`EMPTY`}static get toolbox(){return{icon:t.qt,titleKey:`bookmark`,searchTerms:[`bookmark`,`link`,`url`,`preview`,`card`]}}static get isReadOnlySupported(){return!0}static get pasteConfig(){return{patterns:{bookmark:Ku}}}onPaste(e){if(e.type!==`pattern`)return;let n=e.detail.data;t.zn(n)&&this.startFetch(n)}render(){let e=document.createElement(`div`);return e.className=`my-1`,e.setAttribute(`data-blok-tool`,`bookmark`),this.root=e,this.renderState(),e}save(){let e={url:this.data.url};return this.data.title!==void 0&&(e.title=this.data.title),this.data.description!==void 0&&(e.description=this.data.description),this.data.image!==void 0&&(e.image=this.data.image),this.data.favicon!==void 0&&(e.favicon=this.data.favicon),this.data.domain!==void 0&&(e.domain=this.data.domain),e}validate(e){return typeof e.url==`string`&&e.url.length>0}setReadOnly(e){}startFetch(e){this.data={url:e},this.state=`LOADING`,this.renderState(),this.fetcher.fetch(e).then(e=>{this.data=n.t({},e),this.state=`RENDERED`,this.renderState()}).catch(()=>{this.state=`ERROR`,this.renderState()})}renderState(){this.root&&this.root.replaceChildren(this.buildStateElement())}buildStateElement(){switch(this.state){case`LOADING`:return this.buildLoading();case`RENDERED`:return this.buildCard();case`ERROR`:return this.buildError();case`EMPTY`:return this.buildEmpty()}}buildEmpty(){return this.buildPlaceholder(`bookmark-empty`,`tools.bookmark.empty`)}buildLoading(){return this.buildPlaceholder(`bookmark-loading`,`tools.bookmark.loading`)}buildError(){return this.buildPlaceholder(`bookmark-error`,`tools.bookmark.error`)}buildPlaceholder(e,t){let n=document.createElement(`div`);return n.classList.add(`blok-bookmark__placeholder`),n.setAttribute(`data-blok-testid`,e),n.textContent=this.api.i18n.t(t),n}buildCard(){var e;let n=document.createElement(`a`);n.classList.add(`blok-bookmark`),n.setAttribute(`data-blok-testid`,`bookmark-card`),t.zn(this.data.url)&&(n.href=this.data.url),n.target=`_blank`,n.rel=`noopener noreferrer`;let r=document.createElement(`div`);r.classList.add(`blok-bookmark__content`),r.setAttribute(`data-role`,`bookmark-content`);let i=document.createElement(`div`);if(i.classList.add(`blok-bookmark__title`),i.setAttribute(`data-role`,`bookmark-title`),i.textContent=(e=this.data.title)==null?this.fallbackTitle():e,r.appendChild(i),this.data.description){let e=document.createElement(`div`);e.classList.add(`blok-bookmark__description`),e.setAttribute(`data-role`,`bookmark-description`),e.textContent=this.data.description,r.appendChild(e)}let a=document.createElement(`div`);if(a.classList.add(`blok-bookmark__link-row`),a.setAttribute(`data-role`,`bookmark-link-row`),this.data.favicon){let e=document.createElement(`img`);e.classList.add(`blok-bookmark__favicon`),e.setAttribute(`data-role`,`bookmark-favicon`),e.src=this.data.favicon,e.alt=``,a.appendChild(e)}let o=document.createElement(`span`);if(o.classList.add(`blok-bookmark__url`),o.setAttribute(`data-role`,`bookmark-url`),o.textContent=this.data.url,a.appendChild(o),r.appendChild(a),n.appendChild(r),this.data.image){let e=document.createElement(`div`);e.classList.add(`blok-bookmark__image`),e.setAttribute(`data-role`,`bookmark-image`);let t=document.createElement(`img`);t.src=this.data.image,t.alt=``,e.appendChild(t),n.appendChild(e)}return n}fallbackTitle(){try{let{hostname:e}=new URL(this.data.url);return e||this.data.url}catch(e){return this.data.url}}},Ju=e=>{let t=e.tagName;return t===`B`||t===`STRONG`},Yu=e=>!!(e&&e.nodeType===Node.ELEMENT_NODE&&Ju(e)),Xu=e=>e.textContent.length===0,J=e=>e?e.nodeType===Node.ELEMENT_NODE&&Ju(e)?Y(e):J(e.parentNode):null,Y=e=>{if(e.tagName===`STRONG`)return e;let t=document.createElement(`strong`);for(e.hasAttributes()&&Array.from(e.attributes).forEach(e=>{t.setAttribute(e.name,e.value)});e.firstChild;)t.appendChild(e.firstChild);return e.replaceWith(t),t},Zu=e=>{let t=e.nextSibling;if((t==null?void 0:t.nodeType)===Node.TEXT_NODE)return t;let n=e.parentNode;if(!n)return null;let r=e.ownerDocument.createTextNode(``);return n.insertBefore(r,t),r},Qu=e=>{if(!e.boldElement.isConnected)return null;let t=Y(e.boldElement),n=e.boundary,r=n.isConnected&&n.previousSibling===t?n:Zu(t);return r?{boundary:r,boldElement:t}:null},$u=(e,t)=>e?e===t||t.contains(e):!1,ed,X={COLLAPSED_LENGTH:`data-blok-bold-collapsed-length`,COLLAPSED_ACTIVE:`data-blok-bold-collapsed-active`,PREV_LENGTH:`data-blok-bold-prev-length`,LEADING_WHITESPACE:`data-blok-bold-leading-ws`},Z=class e{constructor(){this.records=new Set}static getInstance(){return e.instance||(e.instance=new e),e.instance}static reset(){e.instance&&e.instance.records.clear(),e.instance=null}hasActiveRecords(){return this.records.size>0}isActivePlaceholder(e){return e.getAttribute(X.COLLAPSED_ACTIVE)===`true`||e.hasAttribute(X.COLLAPSED_LENGTH)}static get ATTR(){return X}enter(e,t){if(!e.collapsed)return;let n=document.createElement(`strong`),r=document.createTextNode(``);n.appendChild(r),n.setAttribute(X.COLLAPSED_ACTIVE,`true`);let i=e.startContainer,a=e.startOffset;if(!(i.nodeType===Node.TEXT_NODE?this.insertCollapsedBoldIntoText(i,n,a):i.nodeType===Node.ELEMENT_NODE&&(this.insertCollapsedBoldIntoElement(i,n,a),!0)))return;let o=document.createRange();o.setStart(r,0),o.collapse(!0);let s=t(n);return s.firstChild instanceof Text?(()=>{let e=document.createRange();return e.setStart(s.firstChild,s.firstChild.textContent.length),e.collapse(!0),e})():o}insertCollapsedBoldIntoText(e,t,n){let r=e.parentNode;if(!r)return!1;let i=e.textContent,a=i.slice(0,n),o=i.slice(n);e.textContent=a;let s=o.length?document.createTextNode(o):null;return s&&r.insertBefore(s,e.nextSibling),r.insertBefore(t,s==null?e.nextSibling:s),t.setAttribute(X.PREV_LENGTH,a.length.toString()),!0}insertCollapsedBoldIntoElement(e,t,n){var r;let i=(r=e.childNodes[n])==null?null:r;e.insertBefore(t,i),t.setAttribute(X.PREV_LENGTH,`0`)}exit(e,t){let n=Y(t),r=n.parentNode;if(r)return Xu(n)?this.removeEmptyBoldElement(e,n,r):this.exitBoldWithContent(e,n,r)}removeEmptyBoldElement(e,t,n){let r=document.createRange();return r.setStartBefore(t),r.collapse(!0),n.removeChild(t),e.removeAllRanges(),e.addRange(r),r}exitBoldWithContent(e,t,n){t.setAttribute(X.COLLAPSED_LENGTH,t.textContent.length.toString()),t.removeAttribute(X.PREV_LENGTH),t.removeAttribute(X.COLLAPSED_ACTIVE),t.removeAttribute(X.LEADING_WHITESPACE);let r=t.nextSibling,i=!r||r.nodeType!==Node.TEXT_NODE,a=i?document.createTextNode(``):null;a&&n.insertBefore(a,r);let o=a==null?r:a;!i&&o.textContent.length===0&&(o.textContent=``);let s=document.createRange(),c=+!!o.textContent.startsWith(``);return s.setStart(o,c),s.collapse(!0),e.removeAllRanges(),e.addRange(s),this.records.add({boundary:o,boldElement:t,allowedLength:t.textContent.length,hasLeadingSpace:!1,hasTypedContent:!1,leadingWhitespace:``}),s}maintain(){if(!(typeof document>`u`))for(let e of Array.from(this.records)){let t=Qu(e);if(!t){this.records.delete(e);continue}e.boundary=t.boundary,e.boldElement=t.boldElement,this.enforceTextBoundary(e),this.cleanupZeroWidthSpace(e),this.updateRecordState(e),this.checkForRecordDeletion(e)}}enforceTextBoundary(e){let{boundary:t,boldElement:n,allowedLength:r}=e,i=n.textContent;if(i.length>r){let e=i.slice(0,r),a=i.slice(r);n.textContent=e,t.textContent=a+t.textContent}}cleanupZeroWidthSpace(e){let{boundary:t}=e,n=t.textContent;n.length>1&&n.startsWith(``)&&(t.textContent=n.slice(1))}updateRecordState(e){let{boundary:t}=e,n=t.textContent.replace(/\u200B/g,``),r=n.match(/^\s+/),i=/\S/.test(n);r&&(e.hasLeadingSpace=!0,e.leadingWhitespace=r[0]),i&&(e.hasTypedContent=!0)}checkForRecordDeletion(e){let{boundary:t,boldElement:n,allowedLength:r}=e,i=t.textContent,a=i.replace(/\u200B/g,``),o=i.startsWith(``),s=/^\s/.test(a),c=e.hasTypedContent&&!o&&n.textContent.length<=r,l=e.hasLeadingSpace&&e.hasTypedContent&&!s;if(c&&l){let n=i.replace(/^[\u200B\s]+/,``);t.textContent=`${e.leadingWhitespace||` `}${n}`}c&&this.records.delete(e)}synchronize(e){var n,r;let i=(n=e==null?void 0:e.anchorNode)==null?e==null?void 0:e.focusNode:n,a=i&&i.nodeType===Node.ELEMENT_NODE?i:i==null?void 0:i.parentElement,o=(r=a==null?void 0:a.closest(t.xi(t.bi.editor)))==null?a==null?void 0:a.ownerDocument:r;if(!o)return;let s=`strong[${X.COLLAPSED_ACTIVE}="true"]`;o.querySelectorAll(s).forEach(t=>{var n;let r=t.getAttribute(X.PREV_LENGTH),i=t.previousSibling;if(!r||!i||i.nodeType!==Node.TEXT_NODE)return;let a=Number(r);if(!Number.isFinite(a))return;let o=i,s=o.textContent;if(s.length<=a)return;let c=s.slice(0,a),l=s.slice(a);o.textContent=c;let u=l.match(/^[\u00A0\s]+/);if(u&&!t.hasAttribute(X.LEADING_WHITESPACE)&&t.setAttribute(X.LEADING_WHITESPACE,u[0]),l.length===0)return;let d=t.textContent,f=d+l,p=(n=t.getAttribute(X.LEADING_WHITESPACE))==null?``:n,m=p.length>0&&d.length===0&&!f.startsWith(p)?p+f:f,h=document.createTextNode(m);for(;t.firstChild;)t.removeChild(t.firstChild);if(t.appendChild(h),!(e!=null&&e.isCollapsed)||!$u(e.focusNode,o))return;let g=document.createRange(),_=h.textContent.length;g.setStart(h,_),g.collapse(!0),e.removeAllRanges(),e.addRange(g)})}enforceLengths(e){var n;let r=(n=e==null?void 0:e.anchorNode)==null?e==null?void 0:e.focusNode:n;if(!r)return;let i=r.nodeType===Node.ELEMENT_NODE?r:r.parentElement,a=i==null?void 0:i.closest(t.xi(t.bi.editor));a&&a.querySelectorAll(`strong[${X.COLLAPSED_LENGTH}]`).forEach(t=>{var n;let r=t.getAttribute(X.COLLAPSED_LENGTH);if(!r)return;let i=Number(r),a=t.textContent;if(!Number.isFinite(i))return;let o=a.length>i,s=o?this.splitCollapsedBoldText(t,i,a):null,c=t.getAttribute(X.PREV_LENGTH),l=c?Number(c):NaN,u=t.previousSibling,d=(u==null?void 0:u.nodeType)===Node.TEXT_NODE?u:null,f=(n=d==null?void 0:d.textContent)==null?``:n,p=!!(c&&Number.isFinite(l)&&d&&f.length>l);if(p&&d){var m;let e=f.slice(0,l),n=f.slice(l);d.textContent=e;let r=document.createTextNode(n);(m=t.parentNode)==null||m.insertBefore(r,t.nextSibling)}if(p&&t.removeAttribute(X.PREV_LENGTH),e!=null&&e.isCollapsed&&s&&$u(e.focusNode,t)){let t=document.createRange(),n=s.textContent.length;t.setStart(s,n),t.collapse(!0),e.removeAllRanges(),e.addRange(t)}o&&t.removeAttribute(X.COLLAPSED_LENGTH)})}splitCollapsedBoldText(e,t,n){let r=e.parentNode;if(!r)return null;let i=n.slice(0,t),a=n.slice(t);e.textContent=i;let o=document.createTextNode(a);return r.insertBefore(o,e.nextSibling),o}guardBoundaryKeydown(e){if(e.defaultPrevented||e.metaKey||e.ctrlKey||e.altKey||e.key.length!==1)return;let t=window.getSelection();if(!t||!t.isCollapsed||t.rangeCount===0)return;let n=t.getRangeAt(0);if(n.startContainer.nodeType!==Node.TEXT_NODE)return;let r=n.startContainer,i=r.textContent;if(i.length===0||n.startOffset!==0)return;let a=r.previousSibling;if(!a||a.nodeType!==Node.ELEMENT_NODE)return;let o=a;o.tagName!==`STRONG`&&o.tagName!==`B`||/^\s/.test(i)&&this.setCaret(t,r,i.length)}setCaret(e,t,n){let r=document.createRange();r.setStart(t,n),r.collapse(!0),e.removeAllRanges(),e.addRange(r)}moveCaretAfterBoundaryBold(e){if(!e.rangeCount)return;let t=e.getRangeAt(0);if(!t.collapsed)return;let n=J(t.startContainer);(n==null?void 0:n.getAttribute(X.COLLAPSED_ACTIVE))!==`true`&&(this.moveCaretFromElementContainer(e,t)||this.moveCaretFromTextContainer(e,t))}moveCaretFromElementContainer(e,t){if(t.startContainer.nodeType!==Node.ELEMENT_NODE)return!1;let n=t.startContainer;return this.moveCaretAfterPreviousBold(e,n,t.startOffset)?!0:this.moveCaretBeforeNextBold(e,n,t.startOffset)}moveCaretAfterPreviousBold(e,t,n){var r;let i=n>0?(r=t.childNodes[n-1])==null?null:r:null;if(!this.isBoldElement(i)||!i)return!1;let a=this.ensureFollowingTextNode(i,i.nextSibling);if(!a)return!1;let o=a.textContent.length;return this.setCaret(e,a,o),!0}moveCaretBeforeNextBold(e,t,n){var r;let i=(r=t.childNodes[n])==null?null:r;if(!this.isBoldElement(i))return!1;let a=this.ensureFollowingTextNode(i,i.nextSibling);return a?(this.setCaret(e,a,0),!0):(this.setCaretAfterNode(e,i),!0)}moveCaretFromTextContainer(e,t){if(t.startContainer.nodeType!==Node.TEXT_NODE)return;let n=t.startContainer,r=n.previousSibling,i=n.textContent,a=/^\s/.test(i);if(t.startOffset===0&&this.isBoldElement(r)&&(i.length===0||a)){this.setCaret(e,n,i.length);return}let o=J(n);if(!o||t.startOffset!==n.textContent.length)return;let s=this.ensureFollowingTextNode(o,o.nextSibling);if(s){this.setCaret(e,s,0);return}this.setCaretAfterNode(e,o)}setCaretAfterNode(e,t){if(!t)return;let n=document.createRange();n.setStartAfter(t),n.collapse(!0),e.removeAllRanges(),e.addRange(n)}ensureFollowingTextNode(e,t){let n=e.parentNode;if(!n)return null;if(t&&t.nodeType===Node.TEXT_NODE)return t;let r=document.createTextNode(``);return n.insertBefore(r,t),r}isBoldElement(e){if(!e||e.nodeType!==Node.ELEMENT_NODE)return!1;let t=e;return t.tagName===`STRONG`||t.tagName===`B`}};ed=Z,ed.instance=null;var td={convertLegacyTags:!0,normalizeWhitespace:!0,removeEmpty:!0,mergeAdjacent:!0,preserveNode:null},nd=class e{constructor(e){this.options=n.t(n.t({},td),e)}run(e){if(typeof document>`u`)return;let{bElements:t,strongElements:n}=this.traverseAndNormalize(e);this.processCollectedElements(t,n)}static normalizeAroundSelection(t,n){let r=e.findScopeFromSelection(t);r&&new e(n).run(r)}traverseAndNormalize(e){let t=[],n=[],r=document.createTreeWalker(e,NodeFilter.SHOW_TEXT|NodeFilter.SHOW_ELEMENT,null);for(let e=r.currentNode;e;e=r.nextNode())this.processNode(e,t,n);return{bElements:t,strongElements:n}}processNode(e,t,n){if(e.nodeType===Node.TEXT_NODE&&this.options.normalizeWhitespace){this.replaceNbspInTextNode(e);return}if(e.nodeType!==Node.ELEMENT_NODE)return;let r=e;if(this.options.convertLegacyTags&&r.tagName===`B`){t.push(r);return}r.tagName===`STRONG`&&n.push(r)}processCollectedElements(e,t){this.options.convertLegacyTags&&e.forEach(e=>{if(e.isConnected){let n=Y(e);t.push(n)}}),t.forEach(e=>{if(e.isConnected){if(this.options.removeEmpty&&this.isEmptyAndSafe(e)){e.remove();return}this.options.mergeAdjacent&&this.mergeWithAdjacent(e)}})}replaceNbspInTextNode(e){let t=e.textContent;t.includes(`\xA0`)&&(e.textContent=t.replace(/\u00A0/g,` `))}isEmptyAndSafe(e){return e.textContent.length!==0||Z.getInstance().isActivePlaceholder(e)?!1:!(this.options.preserveNode&&$u(this.options.preserveNode,e))}mergeWithAdjacent(e){let t=e.previousSibling;if(t&&Yu(t)){this.mergeStrongNodes(t,e);return}let n=e.nextSibling;n&&Yu(n)&&this.mergeStrongNodes(e,n)}mergeStrongNodes(e,t){let n=Y(e),r=Y(t);for(;r.firstChild;)n.appendChild(r.firstChild);r.remove()}static findScopeFromSelection(e){var n,r;let i=(n=e==null?void 0:e.anchorNode)==null?e==null?void 0:e.focusNode:n;if(!i)return null;let a=i.nodeType===Node.ELEMENT_NODE?i:i.parentElement;return a?((r=a.closest(`[data-blok-component="paragraph"]`))==null?a.closest(t.xi(t.bi.elementContent)):r)||a.closest(t.xi(t.bi.editor)):null}},rd,id=class e{constructor(){this.handlers=new Map,this.listenersRegistered=!1,this.handleSelectionChange=()=>{let e=this.getSelection();e&&this.handlers.forEach(t=>{var n;t.isRelevant&&!t.isRelevant(e)||(n=t.onSelectionChange)==null||n.call(t,e)})},this.handleInput=e=>{let t=this.getSelection();t&&this.handlers.forEach(n=>{var r;n.isRelevant&&!n.isRelevant(t)||(r=n.onInput)==null||r.call(n,e,t)})},this.handleBeforeInput=e=>{let t=e,n=this.getSelection();n&&this.handlers.forEach(r=>{var i;r.isRelevant&&!r.isRelevant(n)||(i=r.onBeforeInput)!=null&&i.call(r,t,n)&&(e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation())})},this.handleKeydown=e=>{let t=this.getSelection();!t||!t.rangeCount||this.handlers.forEach(n=>{!n.shortcut||!n.onShortcut||this.matchesShortcut(e,n.shortcut)&&(n.isRelevant&&!n.isRelevant(t)||(e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation(),n.onShortcut(e,t)))})},this.initializeListeners()}static getInstance(){return e.instance||(e.instance=new e),e.instance}static reset(){e.instance&&(e.instance.removeListeners(),e.instance.handlers.clear()),e.instance=null}register(e,t){this.handlers.set(e,t)}unregister(e){this.handlers.delete(e)}hasHandler(e){return this.handlers.has(e)}initializeListeners(){typeof document>`u`||this.listenersRegistered||(document.addEventListener(`selectionchange`,this.handleSelectionChange,!0),document.addEventListener(`input`,this.handleInput,!0),document.addEventListener(`beforeinput`,this.handleBeforeInput,!0),document.addEventListener(`keydown`,this.handleKeydown,!0),this.listenersRegistered=!0)}removeListeners(){typeof document>`u`||!this.listenersRegistered||(document.removeEventListener(`selectionchange`,this.handleSelectionChange,!0),document.removeEventListener(`input`,this.handleInput,!0),document.removeEventListener(`beforeinput`,this.handleBeforeInput,!0),document.removeEventListener(`keydown`,this.handleKeydown,!0),this.listenersRegistered=!1)}getSelection(){return typeof window<`u`?window.getSelection():null}matchesShortcut(e,t){if(e.key.toLowerCase()!==t.key.toLowerCase()||e.altKey)return!1;let n=(typeof navigator<`u`?navigator.userAgent.toLowerCase():``).includes(`mac`)?e.metaKey:e.ctrlKey;return!(t.meta&&!n||t.ctrl&&!e.ctrlKey)}};rd=id,rd.instance=null;var ad=(e,t)=>{try{return e.intersectsNode(t)}catch(n){let r=document.createRange();r.selectNodeContents(t);let i=e.compareBoundaryPoints(Range.END_TO_START,r)>0,a=e.compareBoundaryPoints(Range.START_TO_END,r)<0;return i&&a}},od=e=>{var t;let n=e.commonAncestorContainer,r=n.nodeType===Node.TEXT_NODE?(t=n.parentNode)==null?n:t:n;return document.createTreeWalker(r,NodeFilter.SHOW_TEXT,{acceptNode:t=>ad(e,t)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT})},Q=(e,t,n)=>!e||e===n?null:e.nodeType===Node.ELEMENT_NODE&&t(e)?e:Q(e.parentNode,t,n),sd=(e,t)=>Q(e,t)!==null,cd=(e,t,n={})=>{if(e.collapsed)return Q(e.startContainer,t)!==null;let r=od(e),i=[];for(;r.nextNode();){let e=r.currentNode,t=e.textContent;n.ignoreWhitespace&&t.trim().length===0||t.length!==0&&i.push(e)}return i.length===0?Q(e.startContainer,t)!==null:i.every(e=>sd(e,t))},ld=e=>{let t=e.lastChild;return t===null?e.nodeType===Node.TEXT_NODE?e:null:ld(t)},ud=e=>{var t;let n=e.endContainer;if(n.nodeType===Node.TEXT_NODE){var r;let t=(r=n.textContent)==null?``:r,i=e.endOffset;if(i>=t.length)return;let a=t.slice(i);a.length>0&&a.trim().length===0&&e.setEnd(n,t.length);return}let i=ld(n);if(i===null)return;let a=(t=i.textContent)==null?``:t;a.length!==0&&/\s+$/.test(a)&&e.setEnd(i,a.length)},dd=(e,t)=>{let n=new Set,r=od(e);for(;r.nextNode();){let e=Q(r.currentNode,t);e&&n.add(e)}return Array.from(n)},$,fd=class e{static get sanitize(){return{strong:{},b:{}}}constructor(){typeof document>`u`||(e.instances.add(this),e.initializeGlobalListeners())}static initializeGlobalListeners(){if(typeof document>`u`)return!1;let t=id.getInstance();return t.hasHandler(`bold`)?!0:(t.register(`bold`,{shortcut:{key:`b`,meta:!0},onShortcut:(t,n)=>{let r=e.instances.values().next().value;r&&r.toggleBold()},onSelectionChange:t=>{e.refreshSelectionState(`selectionchange`)},onInput:(t,n)=>{e.refreshSelectionState(`input`)},onBeforeInput:e=>e.inputType===`formatBold`?(nd.normalizeAroundSelection(window.getSelection()),!0):!1,isRelevant:t=>e.isSelectionInsideBlok(t)}),e.guardKeydownListenerRegistered||(document.addEventListener(`keydown`,e=>{Z.getInstance().guardBoundaryKeydown(e)},!0),e.guardKeydownListenerRegistered=!0),e.ensureMutationObserver(),!0)}static mergeStrongNodes(e,t){let n=Y(e),r=Y(t);for(;r.firstChild;)n.appendChild(r.firstChild);return r.remove(),n}render(){return{icon:t.B,name:`bold`,onActivate:()=>{this.toggleBold()},isActive:()=>{let e=window.getSelection();return e?this.isSelectionVisuallyBold(e):!1}}}toggleBold(){let e=window.getSelection();if(!e||e.rangeCount===0)return;let t=e.getRangeAt(0);if(t.collapsed){this.toggleCollapsedSelection();return}this.isRangeBold(t,{ignoreWhitespace:!0})?this.unwrapBoldTags(t):this.wrapWithBold(t)}isSelectionVisuallyBold(e){if(e.rangeCount===0)return!1;let t=e.getRangeAt(0);return this.isRangeBold(t,{ignoreWhitespace:!0})}wrapWithBold(e){ud(e);let t=this.getRangeHtmlWithoutBold(e),n=this.replaceRangeWithHtml(e,`<strong>${t}</strong>`),r=window.getSelection();r&&n&&(r.removeAllRanges(),r.addRange(n));let i=this.findBoldElementFromRangeOrSelection(n,r);if(!i){nd.normalizeAroundSelection(r),this.notifySelectionChange();return}let a=this.mergeAdjacentBold(i);this.selectElementContents(a),nd.normalizeAroundSelection(r),this.notifySelectionChange()}unwrapBoldTags(t){let n=this.collectBoldAncestors(t),r=window.getSelection();if(!r)return;let i=document.createElement(`span`),a=t.extractContents();i.setAttribute(`data-blok-bold-marker`,`unwrap-${e.markerSequence++}`),i.appendChild(a),this.removeNestedBold(i),t.insertNode(i);let o=document.createRange();for(o.selectNodeContents(i),r.removeAllRanges(),r.addRange(o);;){let e=J(i);if(!e)break;this.moveMarkerOutOfBold(i,e)}let s=i.firstChild,c=i.lastChild;this.unwrapElement(i),s&&c&&(()=>{let e=document.createRange();return e.setStartBefore(s),e.setEndAfter(c),r.removeAllRanges(),r.addRange(e),e})()||r.removeAllRanges(),nd.normalizeAroundSelection(r),n.forEach(e=>{e.isConnected&&(Xu(e)?e.remove():e.textContent.trim().length===0&&this.unwrapElement(e))}),this.notifySelectionChange()}replaceRangeWithHtml(t,n){var r,i;let a=e.createFragmentFromHtml(n),o=(r=a.firstChild)==null?null:r,s=(i=a.lastChild)==null?null:i;if(t.deleteContents(),!o||!s)return;t.insertNode(a);let c=document.createRange();return c.setStartBefore(o),c.setEndAfter(s),c}moveMarkerOutOfBold(e,t){let n=t.parentNode;if(!n)return;if(Array.from(t.childNodes).forEach(e=>{var t;e.nodeType===Node.TEXT_NODE&&((t=e.textContent)==null?``:t).length===0&&e.remove()}),t.childNodes.length===1&&t.firstChild===e){t.replaceWith(e);return}if(t.firstChild===e){n.insertBefore(e,t);return}if(t.lastChild===e){n.insertBefore(e,t.nextSibling);return}let r=t.cloneNode(!1);for(;e.nextSibling;)r.appendChild(e.nextSibling);n.insertBefore(r,t.nextSibling),n.insertBefore(e,r)}selectElementContents(e){let t=window.getSelection();if(!t)return;let n=document.createRange();n.selectNodeContents(e),t.removeAllRanges(),t.addRange(n)}isRangeBold(e,t){return cd(e,Ju,t)}removeNestedBold(e){e.querySelectorAll(`b,strong`).forEach(e=>{this.unwrapElement(e)})}unwrapElement(e){let t=e.parentNode;if(!t){e.remove();return}for(;e.firstChild;)t.insertBefore(e.firstChild,e);t.removeChild(e)}findBoldElementFromRangeOrSelection(e,t){return e?J(e.startContainer)||J(e.commonAncestorContainer)||(e.startContainer.nodeType===Node.ELEMENT_NODE&&Ju(e.startContainer)?e.startContainer:null):t?J(t.focusNode):null}mergeAdjacentBold(t){let n=Y(t),r=n.previousSibling,i=r&&r.nodeType===Node.ELEMENT_NODE&&Ju(r)?e.mergeStrongNodes(r,n):n,a=i.nextSibling;return a&&a.nodeType===Node.ELEMENT_NODE&&Ju(a)?e.mergeStrongNodes(i,a):i}toggleCollapsedSelection(){let t=window.getSelection();if(!t||t.rangeCount===0)return;let n=t.getRangeAt(0),r=J(n.startContainer),i=(()=>{if(r&&r.getAttribute(Z.ATTR.COLLAPSED_ACTIVE)!==`true`)return Z.getInstance().exit(t,r);let i=r==null?e.getBoundaryBold(n):r;return i?Z.getInstance().exit(t,i):this.startCollapsedBold(n)})();document.dispatchEvent(new Event(`selectionchange`)),i&&(t.removeAllRanges(),t.addRange(i)),nd.normalizeAroundSelection(t),this.notifySelectionChange()}startCollapsedBold(e){let t=Z.getInstance().enter(e,e=>this.mergeAdjacentBold(e)),n=window.getSelection();return nd.normalizeAroundSelection(n),n&&t&&(n.removeAllRanges(),n.addRange(t)),this.notifySelectionChange(),t}notifySelectionChange(){Z.getInstance().enforceLengths(window.getSelection()),document.dispatchEvent(new Event(`selectionchange`)),this.updateToolbarButtonState()}updateToolbarButtonState(){let e=window.getSelection();if(!e)return;let n=e.anchorNode,r=(n==null?void 0:n.nodeType)===Node.ELEMENT_NODE?n:n==null?void 0:n.parentElement,i=r==null?void 0:r.closest(t.xi(t.bi.editor));if(!i)return;let a=i.querySelector(`[data-blok-testid=inline-toolbar]`);if(!(a instanceof HTMLElement))return;let o=a.querySelector(`[data-blok-item-name="bold"]`);o instanceof HTMLElement&&(this.isSelectionVisuallyBold(e)?o.setAttribute(`data-blok-popover-item-active`,`true`):o.removeAttribute(`data-blok-popover-item-active`))}static refreshSelectionState(e){let t=window.getSelection();Z.getInstance().enforceLengths(t),Z.getInstance().maintain(),Z.getInstance().synchronize(t),nd.normalizeAroundSelection(t,{normalizeWhitespace:!1}),e===`input`&&t&&Z.getInstance().moveCaretAfterBoundaryBold(t)}static ensureMutationObserver(){if(typeof MutationObserver>`u`||e.mutationObserver)return;let t=new MutationObserver(t=>{if(!e.isProcessingMutation){e.isProcessingMutation=!0;try{let n=e=>{e&&new nd({mergeAdjacent:!1,removeEmpty:!1,normalizeWhitespace:!1}).run(e)};t.forEach(t=>{t.addedNodes.forEach(t=>{n(e.findBlokScopeFromNode(t))}),t.type===`characterData`&&n(e.findBlokScopeFromNode(t.target))})}finally{e.isProcessingMutation=!1}}});t.observe(document.body,{subtree:!0,childList:!0,characterData:!0}),e.mutationObserver=t}static findBlokScopeFromNode(e){let n=e.nodeType===Node.ELEMENT_NODE?e:e.parentElement;return!n||typeof n.closest!=`function`?null:n.closest(`${t.xi(t.bi.interface)}, ${t.xi(t.bi.editor)}`)}static getBoundaryBold(t){let n=t.startContainer;return n.nodeType===Node.TEXT_NODE?e.getBoundaryBoldForText(t,n):n.nodeType===Node.ELEMENT_NODE?e.getBoundaryBoldForElement(t,n):null}static getBoundaryBoldForText(e,t){let n=t.textContent.length;if(e.startOffset===n)return J(t);if(e.startOffset!==0)return null;let r=t.previousSibling;return Yu(r)?r:null}static getBoundaryBoldForElement(e,t){if(e.startOffset<=0)return null;let n=t.childNodes[e.startOffset-1];return Yu(n)?n:null}static isSelectionInsideBlok(e){let n=e.anchorNode;if(!n)return!1;let r=n.nodeType===Node.ELEMENT_NODE?n:n.parentElement;return!!(r!=null&&r.closest(t.xi(t.bi.editor)))}getRangeHtmlWithoutBold(e){let t=e.cloneContents();this.removeNestedBold(t);let n=document.createElement(`div`);return n.appendChild(t),n.innerHTML}static createFragmentFromHtml(e){let t=document.createElement(`template`);return t.innerHTML=e,t.content}collectBoldAncestors(e){return dd(e,Ju)}};$=fd,$.isInline=!0,$.title=`Bold`,$.titleKey=`bold`,$.markerSequence=0,$.isProcessingMutation=!1,$.instances=new Set,$.guardKeydownListenerRegistered=!1,$.shortcut=`CMD+B`;var pd,md=e=>{let t=e.tagName;return t===`I`||t===`EM`},hd=class{static get sanitize(){return{i:{},em:{}}}render(){return{icon:t.Kt,name:`italic`,onActivate:()=>{this.toggleItalic()},isActive:()=>{let e=window.getSelection();return e?this.isSelectionVisuallyItalic(e):!1}}}toggleItalic(){let e=window.getSelection();if(!e||e.rangeCount===0)return;let t=e.getRangeAt(0);if(t.collapsed){this.toggleCollapsedItalic(t,e);return}this.isRangeItalic(t,{ignoreWhitespace:!0})?this.unwrapItalicTags(t):this.wrapWithItalic(t)}toggleCollapsedItalic(e,t){if(this.isRangeItalic(e,{ignoreWhitespace:!0})){let n=document.createTextNode(``);e.insertNode(n),e.selectNode(n),this.unwrapItalicTags(e);let r=document.createRange();r.setStart(n,1),r.setEnd(n,1),t.removeAllRanges(),t.addRange(r)}else{let n=document.createElement(`i`),r=document.createTextNode(``);n.appendChild(r),e.insertNode(n);let i=document.createRange();i.setStart(r,1),i.setEnd(r,1),t.removeAllRanges(),t.addRange(i)}}isSelectionVisuallyItalic(e){if(e.rangeCount===0)return!1;let t=e.getRangeAt(0);return this.isRangeItalic(t,{ignoreWhitespace:!0})}isRangeItalic(e,t){return cd(e,md,t)}wrapWithItalic(e){ud(e);let t=this.getRangeHtmlWithoutItalic(e),n=this.replaceRangeWithHtml(e,`<i>${t}</i>`),r=window.getSelection();if(r&&n){let e=n.startContainer.childNodes[n.startOffset],t=document.createRange();e?(this.normalizeNbspInElement(e),t.selectNodeContents(e)):(t.setStart(n.startContainer,n.startOffset),t.setEnd(n.endContainer,n.endOffset)),r.removeAllRanges(),r.addRange(t)}}normalizeNbspInElement(e){let t=document.createTreeWalker(e,NodeFilter.SHOW_TEXT);for(;;){var n;let e=t.nextNode();if(e===null)break;(n=e.textContent)!=null&&n.includes(`\xA0`)&&(e.textContent=e.textContent.replace(/\u00A0/g,` `))}}unwrapItalicTags(e){let t=this.collectItalicAncestors(e),n=window.getSelection();if(!n)return;let r=document.createElement(`span`),i=e.extractContents();r.appendChild(i),this.removeNestedItalic(r),e.insertNode(r);let a=document.createRange();for(a.selectNodeContents(r),n.removeAllRanges(),n.addRange(a);;){let e=this.findItalicElement(r);if(!e)break;this.moveMarkerOutOfItalic(r,e)}let o=r.firstChild,s=r.lastChild;this.unwrapElement(r),o&&s&&(()=>{let e=document.createRange();return e.setStartBefore(o),e.setEndAfter(s),n.removeAllRanges(),n.addRange(e),e})()||n.removeAllRanges(),t.forEach(e=>{e.textContent.length===0&&e.remove()})}hasItalicParent(e){return sd(e,md)}findItalicElement(e){return Q(e,md)}collectItalicAncestors(e){return dd(e,md)}getRangeHtmlWithoutItalic(e){let t=e.cloneContents();this.removeNestedItalic(t);let n=document.createElement(`div`);return n.appendChild(t),n.innerHTML}removeNestedItalic(e){e.querySelectorAll(`i,em`).forEach(e=>{this.unwrapElement(e)})}unwrapElement(e){let t=e.parentNode;if(!t){e.remove();return}for(;e.firstChild;)t.insertBefore(e.firstChild,e);t.removeChild(e)}replaceRangeWithHtml(e,t){var n,r;let i=this.createFragmentFromHtml(t),a=(n=i.firstChild)==null?null:n,o=(r=i.lastChild)==null?null:r;if(e.deleteContents(),!a||!o)return;e.insertNode(i);let s=document.createRange();return s.setStartBefore(a),s.setEndAfter(o),s}createFragmentFromHtml(e){let t=document.createElement(`template`);return t.innerHTML=e,t.content}moveMarkerOutOfItalic(e,t){let n=t.parentNode;if(!n)return;if(Array.from(t.childNodes).forEach(e=>{var t;e.nodeType===Node.TEXT_NODE&&((t=e.textContent)==null?``:t).length===0&&e.remove()}),t.childNodes.length===1&&t.firstChild===e){t.replaceWith(e);return}if(t.firstChild===e){n.insertBefore(e,t);return}if(t.lastChild===e){n.insertBefore(e,t.nextSibling);return}let r=t.cloneNode(!1);for(;e.nextSibling;)r.appendChild(e.nextSibling);n.insertBefore(r,t.nextSibling),n.insertBefore(e,r)}};pd=hd,pd.isInline=!0,pd.title=`Italic`,pd.titleKey=`italic`,pd.shortcut=`CMD+I`;var gd,_d=`flex items-center gap-2 w-full mt-0.5 px-1.5 py-1.5 rounded-md text-left cursor-pointer can-hover:hover:bg-item-hover-bg transition-colors`,vd=`flex items-center gap-2 w-full mt-0.5 px-1.5 py-1.5 rounded-md text-left pointer-events-none`,yd=class{static get sanitize(){return{a:{href:!0,target:`_blank`,rel:`nofollow`}}}constructor({api:e}){this.INPUT_BASE_CLASSES=`hidden w-[200px] m-0 px-2 py-1 text-sm leading-[22px] font-medium text-text-primary bg-item-hover-bg border border-link-input-border rounded-lg! outline-hidden box-border appearance-none font-[inherit] placeholder:text-gray-text mobile:text-[15px] mobile:font-medium`,this.DATA_ATTRIBUTES={buttonActive:`data-blok-link-tool-active`,buttonUnlink:`data-blok-link-tool-unlink`,inputOpened:`data-blok-link-tool-input-opened`},this.nodes={input:null,inputWrapper:null,suggestion:null,button:null},this.inputOpened=!1,this.unlinkAvailable=!1,this.handleButtonClick=e=>{!this.inputOpened||!this.unlinkAvailable||(e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation(),this.restoreSelection(),this.unlink(),this.inlineToolbar.close())},this.toolbar=e.toolbar,this.inlineToolbar=e.inlineToolbar,this.notifier=e.notifier,this.i18n=e.i18n,this.selection=new t.yr,this.nodes.input=this.createInput(),this.nodes.suggestion=this.createSuggestion(),this.nodes.inputWrapper=document.createElement(`div`),this.nodes.inputWrapper.append(this.nodes.input,this.nodes.suggestion)}render(){return{icon:t.qt,name:`link`,isActive:()=>!!this.selection.findParentTag(`A`),children:{hideChevron:!0,items:[{type:t.vr.Html,element:this.nodes.inputWrapper}],onOpen:()=>{this.openActions(!0)},onClose:()=>{this.closeActions()}}}}createInput(){let e=document.createElement(`input`);return e.placeholder=this.i18n.t(`tools.link.addLink`),e.enterKeyHint=`done`,e.className=this.INPUT_BASE_CLASSES,e.setAttribute(`data-blok-testid`,`inline-tool-input`),this.setBooleanStateAttribute(e,this.DATA_ATTRIBUTES.inputOpened,!1),e.addEventListener(`keydown`,e=>{e.key===`Enter`&&this.enterPressed(e)}),e.addEventListener(`paste`,()=>{requestAnimationFrame(()=>{this.updateSuggestion(e.value)})}),e.addEventListener(`input`,()=>{this.updateSuggestion(e.value)}),e}createSuggestion(){let e=document.createElement(`div`);e.className=`hidden`,e.setAttribute(`data-link-suggestion`,``);let t=document.createElement(`div`);t.className=`mt-1 mb-0.5 h-px bg-link-input-border`;let n=document.createElement(`button`);n.type=`button`,n.className=_d,n.setAttribute(`data-link-suggestion-row`,``);let r=document.createElement(`span`);r.className=`text-gray-text shrink-0 flex [&>svg]:size-7`,r.setAttribute(`data-link-suggestion-icon`,``);let i=document.createElement(`span`);i.className=`flex-1 min-w-0`;let a=document.createElement(`span`);a.className=`block text-xs font-medium text-text-primary truncate`,a.setAttribute(`data-link-suggestion-url`,``);let o=document.createElement(`span`);return o.className=`block text-[10.5px] text-gray-text leading-tight mt-px`,o.setAttribute(`data-link-suggestion-type`,``),i.append(a,o),n.append(r,i),e.append(t,n),n.addEventListener(`mousedown`,e=>e.preventDefault()),n.addEventListener(`click`,()=>this.confirmLink()),e}updateSuggestion(e){if(!this.nodes.suggestion)return;let t=e.trim();if(!t){this.nodes.suggestion.classList.add(`hidden`);return}let n=this.isLinkComplete(t),{icon:r,label:i}=this.getLinkTypeInfo(t),a=this.nodes.suggestion.querySelector(`[data-link-suggestion-icon]`),o=this.nodes.suggestion.querySelector(`[data-link-suggestion-url]`),s=this.nodes.suggestion.querySelector(`[data-link-suggestion-type]`),c=this.nodes.suggestion.querySelector(`[data-link-suggestion-row]`);a&&(a.innerHTML=r,a.className=`${n?`text-gray-text`:`text-gray-text opacity-40`} shrink-0 flex [&>svg]:size-7`),o&&(o.textContent=t,o.className=`block text-xs font-medium truncate ${n?`text-text-primary`:`text-gray-text`}`),s&&(s.textContent=n?i:`Keep typing to add a link`,s.className=`block text-[10.5px] text-gray-text leading-tight mt-px`),c&&(c.className=n?_d:vd),this.nodes.suggestion.classList.remove(`hidden`)}isLinkComplete(e){return/^https?:\/\//i.test(e)?e.replace(/^https?:\/\//i,``).length>0:/^\w+:\/\//.test(e)?e.replace(/^\w+:\/\//,``).length>0:/^\w+:/.test(e)?e.slice(e.indexOf(`:`)+1).length>0:e.startsWith(`//`)?e.slice(2).length>0:e.startsWith(`#`)?e.length>1:e.startsWith(`/`)?!0:/\.[a-zA-Z]{2,}/.test(e)||/^\d{1,3}(\.\d{1,3}){3}/.test(e)}getLinkTypeInfo(e){return e.startsWith(`mailto:`)?{icon:t.en,label:`Email address`}:e.startsWith(`#`)?{icon:t.Pt,label:`Jump to section`}:{icon:t.Dt,label:`Link to web page`}}confirmLink(){if(!this.nodes.input)return;let e=this.nodes.input.value||``;if(!e.trim()||!this.isLinkComplete(e.trim()))return;if(!this.validateURL(e)){this.notifier.show({message:this.i18n.t(`tools.link.invalidLink`),style:`error`});return}let t=this.prepareLink(e);this.selection.removeFakeBackground(),this.selection.restore(),this.insertLink(t),this.selection.collapseToEnd(),this.inlineToolbar.close()}openActions(e=!1){if(!this.nodes.input)return;let t=this.selection.findParentTag(`A`),n=!!t;if(this.updateButtonStateAttributes(n),this.unlinkAvailable=n,t){let e=t.getAttribute(`href`);this.nodes.input.value=e===null?``:e}else this.nodes.input.value=``;this.updateSuggestion(this.nodes.input.value),this.nodes.input.className=r.n(this.INPUT_BASE_CLASSES,`block`),this.setBooleanStateAttribute(this.nodes.input,this.DATA_ATTRIBUTES.inputOpened,!0),this.selection.setFakeBackground(),this.selection.save(),e&&this.focusInputWithRetry(),this.inputOpened=!0}focusInputWithRetry(){this.nodes.input&&(this.nodes.input.focus(),!(typeof window>`u`||typeof document>`u`)&&window.setTimeout(()=>{if(document.activeElement!==this.nodes.input){var e;(e=this.nodes.input)==null||e.focus()}},0))}getButtonElement(){let e=document.querySelector(`${t.xi(t.bi.interface,t.Sr)} [data-blok-item-name="link"]`);return e&&e!==this.nodes.button&&(e.addEventListener(`click`,this.handleButtonClick,!0),this.nodes.button=e),e}updateButtonStateAttributes(e){let t=this.getButtonElement();if(!t)return;let n=typeof e==`boolean`?e:!!this.selection.findParentTag(`A`);this.setBooleanStateAttribute(t,this.DATA_ATTRIBUTES.buttonActive,n),this.setBooleanStateAttribute(t,this.DATA_ATTRIBUTES.buttonUnlink,n)}closeActions(e=!0){var t;(this.selection.isFakeBackgroundEnabled||e&&this.selection.savedSelectionRange)&&this.restoreSelection(),this.nodes.input&&(this.nodes.input.className=this.INPUT_BASE_CLASSES,this.setBooleanStateAttribute(this.nodes.input,this.DATA_ATTRIBUTES.inputOpened,!1),this.nodes.input.value=``,(t=this.nodes.suggestion)==null||t.classList.add(`hidden`),this.updateButtonStateAttributes(!1),this.unlinkAvailable=!1,e&&this.selection.clearSaved(),this.inputOpened=!1)}restoreSelection(){let e=new t.yr,n=t.yr.isAtBlok;if(n&&e.save(),this.selection.removeFakeBackground(),this.selection.restore(),!n&&this.selection.savedSelectionRange){let e=this.selection.savedSelectionRange.commonAncestorContainer,t=e.nodeType===Node.ELEMENT_NODE?e:e.parentElement;t==null||t.focus()}if(!n)return;e.restore();let r=e.savedSelectionRange;if(r){let e=r.commonAncestorContainer,t=e.nodeType===Node.ELEMENT_NODE?e:e.parentElement;t==null||t.focus()}}enterPressed(e){if(!this.nodes.input)return;let n=this.nodes.input.value||``;if(!n.trim()){this.selection.restore(),this.unlink(),e.preventDefault(),this.closeActions(),this.inlineToolbar.close();return}if(!this.validateURL(n)){this.notifier.show({message:this.i18n.t(`tools.link.invalidLink`),style:`error`}),t.mi(`Incorrect Link pasted`,`warn`,n);return}let r=this.prepareLink(n);this.selection.removeFakeBackground(),this.selection.restore(),this.insertLink(r),e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation(),this.selection.collapseToEnd(),this.inlineToolbar.close()}validateURL(e){return!(/\s/.test(e)||a.t(e))}prepareLink(e){return this.addProtocol(e.trim())}addProtocol(e){if(/^(\w+):(\/\/)?/.test(e))return e;let t=/^\/[^/\s]/.test(e),n=e.substring(0,1)===`#`,r=/^\/\/[^/\s]/.test(e);return!t&&!n&&!r?`http://`+e:e}insertLink(e){let n=this.selection.findParentTag(`A`);if(n instanceof HTMLAnchorElement){this.selection.expandToTag(n),n.href=e,n.target=`_blank`,n.rel=`nofollow`;return}let r=t.yr.range;if(!r)return;let i=document.createElement(`a`);i.href=e,i.target=`_blank`,i.rel=`nofollow`,i.appendChild(r.extractContents()),r.insertNode(i),this.selection.expandToTag(i)}unlink(){let e=this.selection.findParentTag(`A`);e&&(this.unwrap(e),this.updateButtonStateAttributes(!1),this.unlinkAvailable=!1)}unwrap(e){var t;let n=document.createDocumentFragment();for(;e.firstChild;)n.appendChild(e.firstChild);(t=e.parentNode)==null||t.replaceChild(n,e)}setBooleanStateAttribute(e,t,n){e&&e.setAttribute(t,n?`true`:`false`)}};gd=yd,gd.isInline=!0,gd.title=`Link`,gd.titleKey=`link`,gd.shortcut=`CMD+K`;var bd=e=>e.tagName===`MARK`,xd=e=>Q(e,bd),Sd,Cd={color:`background-color`,"background-color":`color`},wd=class e{static get sanitize(){return{mark:n=>{let r=n.style,i=Array.from({length:r.length},(e,t)=>r.item(t));for(let t of i)e.ALLOWED_STYLE_PROPS.has(t)||r.removeProperty(t);let a=r.getPropertyValue(`background-color`);return a&&(t.Kn(a)||t.Gn(a))&&r.removeProperty(`background-color`),r.getPropertyValue(`color`)&&!r.getPropertyValue(`background-color`)&&r.setProperty(`background-color`,`transparent`),r.length>0?{style:!0}:{}}}}constructor({api:e}){this.colorMode=`color`,this.activeTextColor=null,this.activeBgColor=null,this.i18n=e.i18n,this.inlineToolbar=e.inlineToolbar,this.selection=new t.yr,this.picker=on({i18n:this.i18n,testIdPrefix:`marker`,modes:[{key:`color`,labelKey:`tools.marker.textColor`,presetField:`text`},{key:`background-color`,labelKey:`tools.marker.background`,presetField:`bg`}],onColorSelect:(e,t)=>{this.colorMode=t,e===null?this.removeColor(this.colorMode):this.applyColor(this.colorMode,e),t===`color`?this.activeTextColor=e:this.activeBgColor=e,this.picker.setActiveColor(e,t),this.updateToolbarColors(this.activeTextColor,this.activeBgColor),this.selection.setFakeBackground(),this.selection.save()}})}render(){return{icon:t.nn,name:`marker`,isActive:()=>{let e=window.getSelection();if(!e||e.rangeCount===0)return!1;let t=e.getRangeAt(0),n=cd(t,bd,{ignoreWhitespace:!0});if(n){let e=this.detectBothSelectionColors(t);this.updateToolbarColors(e.text,e.bg)}return n},children:{hideChevron:!0,items:[{type:t.vr.Html,element:this.picker.element}],onOpen:()=>{this.onPickerOpen()},onClose:()=>{this.onPickerClose()}}}}applyColor(e,t){this.restoreSelectionIfSaved();let n=window.getSelection();if(!n||n.rangeCount===0)return;let r=n.getRangeAt(0);if(r.collapsed)return;let i=this.resolveToVar(t,e),a=this.findContainingMark(r);if(a){let t=document.createRange();if(t.selectNodeContents(a),r.compareBoundaryPoints(Range.START_TO_START,t)<=0&&r.compareBoundaryPoints(Range.END_TO_END,t)>=0){a.style.setProperty(e,i),this.ensureTransparentBg(a);return}this.splitMarkAroundRange(a,r,e,i);return}this.splitMarksAtBoundaries(r),this.removeNestedMarkStyle(r,e);let o=document.createElement(`mark`);o.style.setProperty(e,i),this.ensureTransparentBg(o),o.appendChild(r.extractContents()),r.insertNode(o),n.removeAllRanges();let s=document.createRange();s.selectNodeContents(o),n.addRange(s)}removeColor(e){var t,n;this.restoreSelectionIfSaved();let r=window.getSelection();if(!r||r.rangeCount===0)return;let i=r.getRangeAt(0),a=i.startContainer,o=i.startOffset,s=i.endContainer,c=i.endOffset,l=i.toString(),u=i.commonAncestorContainer,d=u.nodeType===Node.ELEMENT_NODE?u:u.parentElement,f=d!=null&&d.closest(`mark`)?(t=(n=d.closest(`mark`))==null?void 0:n.parentElement)==null?d:t:d;this.splitMarksAtBoundaries(i);let p=dd(i,bd);for(let t of p){t.style.removeProperty(e);let n=Cd[e],r=t.style.getPropertyValue(n);r!==``&&r!==`transparent`?this.ensureTransparentBg(t):this.unwrapElement(t)}let m=a.isConnected,h=s.isConnected;if(m&&h)try{let e=document.createRange();e.setStart(a,o),e.setEnd(s,c),r.removeAllRanges(),r.addRange(e)}catch(e){this.restoreSelectionByText(r,f,l)}else this.restoreSelectionByText(r,f,l)}onPickerOpen(){this.activeTextColor=null,this.activeBgColor=null,this.picker.reset();let e=this.detectBothSelectionComputedColors();e.text!==null&&(this.picker.setActiveColor(e.text,`color`),this.activeTextColor=e.text),e.bg!==null&&(this.picker.setActiveColor(e.bg,`background-color`),this.activeBgColor=e.bg),this.updateToolbarColors(this.activeTextColor,this.activeBgColor),this.selection.setFakeBackground(),this.selection.save()}updateToolbarColors(e,t){let n=document.querySelector(`[data-blok-item-name="marker"]`);if(!n)return;e===null?t===null?n.style.removeProperty(`color`):n.style.setProperty(`color`,`var(--blok-text-primary)`):n.style.setProperty(`color`,e);let r=n.querySelector(`svg rect`);t===null?e===null?(r&&(r.style.fill=``),n.style.removeProperty(`background-color`)):(r&&(r.style.fill=`var(--blok-swatch-neutral-bg)`),n.style.setProperty(`background-color`,`transparent`)):(r&&(r.style.fill=t),n.style.setProperty(`background-color`,`transparent`))}onPickerClose(){this.selection.removeFakeBackground(),this.selection.savedSelectionRange&&this.selection.restore(),this.selection.clearSaved()}detectBothSelectionColors(e){let t=xd(e.startContainer);if(!t)return{text:null,bg:null};let n=e=>{let n=t.style.getPropertyValue(e);return n&&n!==`transparent`?n:null};return{text:n(`color`),bg:n(`background-color`)}}detectBothSelectionComputedColors(){let e=window.getSelection();if(!e||e.rangeCount===0)return{text:null,bg:null};let t=xd(e.getRangeAt(0).startContainer);if(!t)return{text:null,bg:null};let n=window.getComputedStyle(t),r=e=>{let r=t.style.getPropertyValue(e);if(!r||r===`transparent`)return null;let i=n.getPropertyValue(e);return i&&i!==`transparent`?i:null};return{text:r(`color`),bg:r(`background-color`)}}restoreSelectionIfSaved(){this.selection.savedSelectionRange&&(this.selection.removeFakeBackground(),this.selection.restore(),this.selection.clearSaved())}findContainingMark(e){let t=xd(e.startContainer),n=xd(e.endContainer);return t&&t===n?t:null}removeNestedMarkStyle(e,t){let n=dd(e,bd);for(let e of n){e.style.removeProperty(t);let n=Cd[t],r=e.style.getPropertyValue(n);r!==``&&r!==`transparent`?this.ensureTransparentBg(e):this.unwrapElement(e)}}splitMarkAroundRange(e,t,n,r){let i=e.parentNode;if(!i)return;let a=document.createRange();a.setStart(e,0),a.setEnd(t.startContainer,t.startOffset);let o=document.createRange();o.setStart(t.endContainer,t.endOffset),o.setEnd(e,e.childNodes.length);let s=a.extractContents(),c=t.extractContents(),l=o.extractContents(),u=document.createElement(`mark`);u.style.cssText=e.style.cssText,u.style.setProperty(n,r),this.ensureTransparentBg(u),u.appendChild(c);let d=document.createDocumentFragment();if(s.textContent){let t=document.createElement(`mark`);t.style.cssText=e.style.cssText,this.ensureTransparentBg(t),t.appendChild(s),d.appendChild(t)}if(d.appendChild(u),l.textContent){let t=document.createElement(`mark`);t.style.cssText=e.style.cssText,this.ensureTransparentBg(t),t.appendChild(l),d.appendChild(t)}i.replaceChild(d,e);let f=window.getSelection();if(f){f.removeAllRanges();let e=document.createRange();e.selectNodeContents(u),f.addRange(e)}}splitMarksAtBoundaries(e){let t=dd(e,bd);for(let n of t){let t=document.createRange();t.selectNodeContents(n);let r=e.compareBoundaryPoints(Range.START_TO_START,t)<=0,i=e.compareBoundaryPoints(Range.END_TO_END,t)>=0;r&&i||n.parentNode&&(i||this.extractTrailingMark(n,e.endContainer,e.endOffset),r||this.extractLeadingMark(n,e.startContainer,e.startOffset))}}extractTrailingMark(e,t,n){let r=document.createRange();r.setStart(t,n),r.setEnd(e,e.childNodes.length);let i=r.extractContents();if(!i.textContent)return;let a=document.createElement(`mark`);a.style.cssText=e.style.cssText,a.appendChild(i),e.after(a)}extractLeadingMark(e,t,n){let r=document.createRange();r.setStart(e,0),r.setEnd(t,n);let i=r.extractContents();if(!i.textContent)return;let a=document.createElement(`mark`);a.style.cssText=e.style.cssText,a.appendChild(i),e.before(a)}restoreSelectionByText(e,t,n){var r;if(!t||n.length===0)return;let i=((r=t.textContent)==null?``:r).indexOf(n);if(i===-1)return;let a=i+n.length,{startNode:o,startNodeOffset:s,endNode:c,endNodeOffset:l}=this.findTextBoundaries(t,i,a);if(o&&c){let t=document.createRange();t.setStart(o,s),t.setEnd(c,l),e.removeAllRanges(),e.addRange(t)}}findTextBoundaries(e,t,n){let r=document.createTreeWalker(e,NodeFilter.SHOW_TEXT),i={startNode:null,startNodeOffset:0,endNode:null,endNodeOffset:0},a={value:0};for(;r.nextNode();){var o,s;let e=r.currentNode,c=(o=(s=e.textContent)==null?void 0:s.length)==null?0:o;if(i.startNode===null&&a.value+c>t&&(i.startNode=e,i.startNodeOffset=t-a.value),a.value+c>=n){i.endNode=e,i.endNodeOffset=n-a.value;break}a.value+=c}return i}unwrapElement(e){let t=e.parentNode;if(t){for(;e.firstChild;)t.insertBefore(e.firstChild,e);t.removeChild(e)}}ensureTransparentBg(e){e.style.getPropertyValue(`color`)&&!e.style.getPropertyValue(`background-color`)&&e.style.setProperty(`background-color`,`transparent`)}resolveToVar(e,n){if(e.startsWith(`var(`))return e;let r=n===`color`?`text`:`bg`,i=t.Un(e,r);return i===null?e:t.Yn(i,r)}};Sd=wd,Sd.isInline=!0,Sd.title=`Color`,Sd.titleKey=`marker`,Sd.shortcut=`CMD+SHIFT+H`,Sd.ALLOWED_STYLE_PROPS=new Set([`color`,`background-color`]);var Td,Ed=e=>e.tagName===`U`,Dd=class{static get sanitize(){return{u:{}}}render(){return{icon:t.kn,name:`underline`,onActivate:()=>{this.toggleUnderline()},isActive:()=>{let e=window.getSelection();return e?this.isSelectionVisuallyUnderline(e):!1}}}toggleUnderline(){let e=window.getSelection();if(!e||e.rangeCount===0)return;let t=e.getRangeAt(0);if(t.collapsed){this.toggleCollapsedUnderline(t,e);return}this.isRangeUnderline(t,{ignoreWhitespace:!0})?this.unwrapUnderlineTags(t):this.wrapWithUnderline(t)}toggleCollapsedUnderline(e,t){if(this.isRangeUnderline(e,{ignoreWhitespace:!0})){let n=document.createTextNode(``);e.insertNode(n),e.selectNode(n),this.unwrapUnderlineTags(e);let r=document.createRange();r.setStart(n,1),r.setEnd(n,1),t.removeAllRanges(),t.addRange(r)}else{let n=document.createElement(`u`),r=document.createTextNode(``);n.appendChild(r),e.insertNode(n);let i=document.createRange();i.setStart(r,1),i.setEnd(r,1),t.removeAllRanges(),t.addRange(i)}}isSelectionVisuallyUnderline(e){if(e.rangeCount===0)return!1;let t=e.getRangeAt(0);return this.isRangeUnderline(t,{ignoreWhitespace:!0})}isRangeUnderline(e,t){return cd(e,Ed,t)}wrapWithUnderline(e){ud(e);let t=this.getRangeHtmlWithoutUnderline(e),n=this.replaceRangeWithHtml(e,`<u>${t}</u>`),r=window.getSelection();if(r&&n){let e=n.startContainer.childNodes[n.startOffset],t=document.createRange();e?(this.normalizeNbspInElement(e),t.selectNodeContents(e)):(t.setStart(n.startContainer,n.startOffset),t.setEnd(n.endContainer,n.endOffset)),r.removeAllRanges(),r.addRange(t)}}normalizeNbspInElement(e){let t=document.createTreeWalker(e,NodeFilter.SHOW_TEXT);for(;;){var n;let e=t.nextNode();if(e===null)break;(n=e.textContent)!=null&&n.includes(`\xA0`)&&(e.textContent=e.textContent.replace(/\u00A0/g,` `))}}unwrapUnderlineTags(e){let t=this.collectUnderlineAncestors(e),n=window.getSelection();if(!n)return;let r=document.createElement(`span`),i=e.extractContents();r.appendChild(i),this.removeNestedUnderline(r),e.insertNode(r);let a=document.createRange();for(a.selectNodeContents(r),n.removeAllRanges(),n.addRange(a);;){let e=this.findUnderlineElement(r);if(!e)break;this.moveMarkerOutOfUnderline(r,e)}let o=r.firstChild,s=r.lastChild;this.unwrapElement(r),o&&s&&(()=>{let e=document.createRange();return e.setStartBefore(o),e.setEndAfter(s),n.removeAllRanges(),n.addRange(e),e})()||n.removeAllRanges(),t.forEach(e=>{e.textContent.length===0&&e.remove()})}hasUnderlineParent(e){return sd(e,Ed)}findUnderlineElement(e){return Q(e,Ed)}collectUnderlineAncestors(e){return dd(e,Ed)}getRangeHtmlWithoutUnderline(e){let t=e.cloneContents();this.removeNestedUnderline(t);let n=document.createElement(`div`);return n.appendChild(t),n.innerHTML}removeNestedUnderline(e){e.querySelectorAll(`u`).forEach(e=>{this.unwrapElement(e)})}unwrapElement(e){let t=e.parentNode;if(!t){e.remove();return}for(;e.firstChild;)t.insertBefore(e.firstChild,e);t.removeChild(e)}replaceRangeWithHtml(e,t){var n,r;let i=this.createFragmentFromHtml(t),a=(n=i.firstChild)==null?null:n,o=(r=i.lastChild)==null?null:r;if(e.deleteContents(),!a||!o)return;e.insertNode(i);let s=document.createRange();return s.setStartBefore(a),s.setEndAfter(o),s}createFragmentFromHtml(e){let t=document.createElement(`template`);return t.innerHTML=e,t.content}moveMarkerOutOfUnderline(e,t){let n=t.parentNode;if(!n)return;if(Array.from(t.childNodes).forEach(e=>{var t;e.nodeType===Node.TEXT_NODE&&((t=e.textContent)==null?``:t).length===0&&e.remove()}),t.childNodes.length===1&&t.firstChild===e){t.replaceWith(e);return}if(t.firstChild===e){n.insertBefore(e,t);return}if(t.lastChild===e){n.insertBefore(e,t.nextSibling);return}let r=t.cloneNode(!1);for(;e.nextSibling;)r.appendChild(e.nextSibling);n.insertBefore(r,t.nextSibling),n.insertBefore(e,r)}};Td=Dd,Td.isInline=!0,Td.title=`Underline`,Td.titleKey=`underline`,Td.shortcut=`CMD+U`;var Od,kd=e=>e.tagName===`S`,Ad=class{static get sanitize(){return{s:{}}}render(){return{icon:t.xn,name:`strikethrough`,onActivate:()=>{this.toggleStrikethrough()},isActive:()=>{let e=window.getSelection();return e?this.isSelectionVisuallyStrikethrough(e):!1}}}toggleStrikethrough(){let e=window.getSelection();if(!e||e.rangeCount===0)return;let t=e.getRangeAt(0);if(t.collapsed){this.toggleCollapsedStrikethrough(t,e);return}this.isRangeStrikethrough(t,{ignoreWhitespace:!0})?this.unwrapStrikethroughTags(t):this.wrapWithStrikethrough(t)}toggleCollapsedStrikethrough(e,t){if(this.isRangeStrikethrough(e,{ignoreWhitespace:!0})){let n=document.createTextNode(``);e.insertNode(n),e.selectNode(n),this.unwrapStrikethroughTags(e);let r=document.createRange();r.setStart(n,1),r.setEnd(n,1),t.removeAllRanges(),t.addRange(r)}else{let n=document.createElement(`s`),r=document.createTextNode(``);n.appendChild(r),e.insertNode(n);let i=document.createRange();i.setStart(r,1),i.setEnd(r,1),t.removeAllRanges(),t.addRange(i)}}isSelectionVisuallyStrikethrough(e){if(e.rangeCount===0)return!1;let t=e.getRangeAt(0);return this.isRangeStrikethrough(t,{ignoreWhitespace:!0})}isRangeStrikethrough(e,t){return cd(e,kd,t)}wrapWithStrikethrough(e){ud(e);let t=this.getRangeHtmlWithoutStrikethrough(e),n=this.replaceRangeWithHtml(e,`<s>${t}</s>`),r=window.getSelection();if(r&&n){let e=n.startContainer.childNodes[n.startOffset],t=document.createRange();e?(this.normalizeNbspInElement(e),t.selectNodeContents(e)):(t.setStart(n.startContainer,n.startOffset),t.setEnd(n.endContainer,n.endOffset)),r.removeAllRanges(),r.addRange(t)}}normalizeNbspInElement(e){let t=document.createTreeWalker(e,NodeFilter.SHOW_TEXT);for(;;){var n;let e=t.nextNode();if(e===null)break;(n=e.textContent)!=null&&n.includes(`\xA0`)&&(e.textContent=e.textContent.replace(/\u00A0/g,` `))}}unwrapStrikethroughTags(e){let t=this.collectStrikethroughAncestors(e),n=window.getSelection();if(!n)return;let r=document.createElement(`span`),i=e.extractContents();r.appendChild(i),this.removeNestedStrikethrough(r),e.insertNode(r);let a=document.createRange();for(a.selectNodeContents(r),n.removeAllRanges(),n.addRange(a);;){let e=this.findStrikethroughElement(r);if(!e)break;this.moveMarkerOutOfStrikethrough(r,e)}let o=r.firstChild,s=r.lastChild;this.unwrapElement(r),o&&s&&(()=>{let e=document.createRange();return e.setStartBefore(o),e.setEndAfter(s),n.removeAllRanges(),n.addRange(e),e})()||n.removeAllRanges(),t.forEach(e=>{e.textContent.length===0&&e.remove()})}hasStrikethroughParent(e){return sd(e,kd)}findStrikethroughElement(e){return Q(e,kd)}collectStrikethroughAncestors(e){return dd(e,kd)}getRangeHtmlWithoutStrikethrough(e){let t=e.cloneContents();this.removeNestedStrikethrough(t);let n=document.createElement(`div`);return n.appendChild(t),n.innerHTML}removeNestedStrikethrough(e){e.querySelectorAll(`s`).forEach(e=>{this.unwrapElement(e)})}unwrapElement(e){let t=e.parentNode;if(!t){e.remove();return}for(;e.firstChild;)t.insertBefore(e.firstChild,e);t.removeChild(e)}replaceRangeWithHtml(e,t){var n,r;let i=this.createFragmentFromHtml(t),a=(n=i.firstChild)==null?null:n,o=(r=i.lastChild)==null?null:r;if(e.deleteContents(),!a||!o)return;e.insertNode(i);let s=document.createRange();return s.setStartBefore(a),s.setEndAfter(o),s}createFragmentFromHtml(e){let t=document.createElement(`template`);return t.innerHTML=e,t.content}moveMarkerOutOfStrikethrough(e,t){let n=t.parentNode;if(!n)return;if(Array.from(t.childNodes).forEach(e=>{var t;e.nodeType===Node.TEXT_NODE&&((t=e.textContent)==null?``:t).length===0&&e.remove()}),t.childNodes.length===1&&t.firstChild===e){t.replaceWith(e);return}if(t.firstChild===e){n.insertBefore(e,t);return}if(t.lastChild===e){n.insertBefore(e,t.nextSibling);return}let r=t.cloneNode(!1);for(;e.nextSibling;)r.appendChild(e.nextSibling);n.insertBefore(r,t.nextSibling),n.insertBefore(e,r)}};Od=Ad,Od.isInline=!0,Od.title=`Strikethrough`,Od.titleKey=`strikethrough`,Od.shortcut=`CMD+SHIFT+S`;var jd,Md=e=>e.tagName===`CODE`,Nd=class{static get sanitize(){return{code:{}}}render(){return{icon:t.Q,name:`inlineCode`,onActivate:()=>{this.toggleCode()},isActive:()=>{let e=window.getSelection();return e?this.isSelectionVisuallyCode(e):!1}}}toggleCode(){let e=window.getSelection();if(!e||e.rangeCount===0)return;let t=e.getRangeAt(0);if(t.collapsed){this.toggleCollapsedCode(t,e);return}this.isRangeCode(t,{ignoreWhitespace:!0})?this.unwrapCodeTags(t):this.wrapWithCode(t)}toggleCollapsedCode(e,t){if(this.isRangeCode(e,{ignoreWhitespace:!0})){let n=document.createTextNode(``);e.insertNode(n),e.selectNode(n),this.unwrapCodeTags(e);let r=document.createRange();r.setStart(n,1),r.setEnd(n,1),t.removeAllRanges(),t.addRange(r)}else{let n=document.createElement(`code`),r=document.createTextNode(``);n.appendChild(r),e.insertNode(n);let i=document.createRange();i.setStart(r,1),i.setEnd(r,1),t.removeAllRanges(),t.addRange(i)}}isSelectionVisuallyCode(e){if(e.rangeCount===0)return!1;let t=e.getRangeAt(0);return this.isRangeCode(t,{ignoreWhitespace:!0})}isRangeCode(e,t){return cd(e,Md,t)}wrapWithCode(e){ud(e);let t=this.getRangeHtmlWithoutCode(e),n=this.replaceRangeWithHtml(e,`<code>${t}</code>`),r=window.getSelection();if(r&&n){let e=n.startContainer.childNodes[n.startOffset],t=document.createRange();e?(this.normalizeNbspInElement(e),t.selectNodeContents(e)):(t.setStart(n.startContainer,n.startOffset),t.setEnd(n.endContainer,n.endOffset)),r.removeAllRanges(),r.addRange(t)}}normalizeNbspInElement(e){let t=document.createTreeWalker(e,NodeFilter.SHOW_TEXT);for(;;){var n;let e=t.nextNode();if(e===null)break;(n=e.textContent)!=null&&n.includes(`\xA0`)&&(e.textContent=e.textContent.replace(/\u00A0/g,` `))}}unwrapCodeTags(e){let t=this.collectCodeAncestors(e),n=window.getSelection();if(!n)return;let r=document.createElement(`span`),i=e.extractContents();r.appendChild(i),this.removeNestedCode(r),e.insertNode(r);let a=document.createRange();for(a.selectNodeContents(r),n.removeAllRanges(),n.addRange(a);;){let e=this.findCodeElement(r);if(!e)break;this.moveMarkerOutOfCode(r,e)}let o=r.firstChild,s=r.lastChild;this.unwrapElement(r),o&&s&&(()=>{let e=document.createRange();return e.setStartBefore(o),e.setEndAfter(s),n.removeAllRanges(),n.addRange(e),e})()||n.removeAllRanges(),t.forEach(e=>{e.textContent.length===0&&e.remove()})}findCodeElement(e){return Q(e,Md)}collectCodeAncestors(e){return dd(e,Md)}getRangeHtmlWithoutCode(e){let t=e.cloneContents();this.removeNestedCode(t);let n=document.createElement(`div`);return n.appendChild(t),n.innerHTML}removeNestedCode(e){e.querySelectorAll(`code`).forEach(e=>{this.unwrapElement(e)})}unwrapElement(e){let t=e.parentNode;if(!t){e.remove();return}for(;e.firstChild;)t.insertBefore(e.firstChild,e);t.removeChild(e)}replaceRangeWithHtml(e,t){var n,r;let i=this.createFragmentFromHtml(t),a=(n=i.firstChild)==null?null:n,o=(r=i.lastChild)==null?null:r;if(e.deleteContents(),!a||!o)return;e.insertNode(i);let s=document.createRange();return s.setStartBefore(a),s.setEndAfter(o),s}createFragmentFromHtml(e){let t=document.createElement(`template`);return t.innerHTML=e,t.content}moveMarkerOutOfCode(e,t){let n=t.parentNode;if(!n)return;if(Array.from(t.childNodes).forEach(e=>{var t;e.nodeType===Node.TEXT_NODE&&((t=e.textContent)==null?``:t).length===0&&e.remove()}),t.childNodes.length===1&&t.firstChild===e){t.replaceWith(e);return}if(t.firstChild===e){n.insertBefore(e,t);return}if(t.lastChild===e){n.insertBefore(e,t.nextSibling);return}let r=t.cloneNode(!1);for(;e.nextSibling;)r.appendChild(e.nextSibling);n.insertBefore(r,t.nextSibling),n.insertBefore(e,r)}};jd=Nd,jd.isInline=!0,jd.title=`Code`,jd.titleKey=`inlineCode`,jd.shortcut=`CMD+E`;var Pd={paragraph:{preserveBlank:!0},header:{},list:{},table:{},toggle:{},callout:{},database:{},"database-row":{},divider:{},quote:{},code:{inlineToolbar:!1},image:{},file:{},column_list:{},column:{},embed:{},bookmark:{}},Fd={bold:{},italic:{},link:{},marker:{},underline:{},strikethrough:{},inlineCode:{}};Object.defineProperty(exports,`C`,{enumerable:!0,get:function(){return Mr}}),Object.defineProperty(exports,`D`,{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,`E`,{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,`S`,{enumerable:!0,get:function(){return Ci}}),Object.defineProperty(exports,`T`,{enumerable:!0,get:function(){return vt}}),Object.defineProperty(exports,`_`,{enumerable:!0,get:function(){return ko}}),Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return Dd}}),Object.defineProperty(exports,`b`,{enumerable:!0,get:function(){return na}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return hd}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return Wu}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return wu}}),Object.defineProperty(exports,`g`,{enumerable:!0,get:function(){return Cc}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return xu}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return Ad}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return fd}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return Su}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return Fd}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return wd}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return Cu}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return Nd}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return yd}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return Pd}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return qu}}),Object.defineProperty(exports,`v`,{enumerable:!0,get:function(){return sa}}),Object.defineProperty(exports,`w`,{enumerable:!0,get:function(){return Dr}}),Object.defineProperty(exports,`x`,{enumerable:!0,get:function(){return ta}}),Object.defineProperty(exports,`y`,{enumerable:!0,get:function(){return ra}});
|