@jackuait/blok 0.10.0-beta.6 → 0.10.0-beta.7
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/codemod/migrate-editorjs-to-blok.js +0 -2
- package/codemod/test.js +0 -6
- package/dist/blok.mjs +2 -2
- package/dist/chunks/_basePickBy-BHRNO12X.mjs +410 -0
- package/dist/chunks/_baseUniq-DtFPDBML.mjs +1045 -0
- package/dist/chunks/_getTag-ozrhqxk_.mjs +26 -0
- package/dist/chunks/arc-BEqJP9HX.mjs +80 -0
- package/dist/chunks/architecture-YZFGNWBL-Bcu-90pi.mjs +3 -0
- package/dist/chunks/architectureDiagram-Q4EWVU46-BMno5LCn.mjs +4066 -0
- package/dist/chunks/array-Cyf-61SV.mjs +6 -0
- package/dist/chunks/blockDiagram-DXYQGD6D-DlP_cPth.mjs +3259 -0
- package/dist/chunks/{blok-BdlR_lX6.mjs → blok-CiLRmoHI.mjs} +850 -855
- package/dist/chunks/c4Diagram-AHTNJAMY-BbVV8EXj.mjs +2956 -0
- package/dist/chunks/channel-DPcniO2B.mjs +5 -0
- package/dist/chunks/chunk-2KRD3SAO-CazES4VS.mjs +20 -0
- package/dist/chunks/chunk-336JU56O-heO72r_k.mjs +49 -0
- package/dist/chunks/chunk-426QAEUC-CmCcml1z.mjs +13 -0
- package/dist/chunks/chunk-4BX2VUAB-B10DxOza.mjs +19 -0
- package/dist/chunks/chunk-4TB4RGXK-B0snhZOU.mjs +3250 -0
- package/dist/chunks/chunk-55IACEB6-CGkn5ABd.mjs +8 -0
- package/dist/chunks/chunk-5FUZZQ4R-USdumo_u.mjs +3786 -0
- package/dist/chunks/chunk-5PVQY5BW-CxUGVzQL.mjs +1692 -0
- package/dist/chunks/chunk-67CJDMHE-Bvw55oRa.mjs +20 -0
- package/dist/chunks/chunk-7N4EOEYR-Bs2qDy88.mjs +29 -0
- package/dist/chunks/chunk-AA7GKIK3-Bss0LgrN.mjs +24 -0
- package/dist/chunks/chunk-BSJP7CBP-CpUW7gi5.mjs +83 -0
- package/dist/chunks/chunk-CIAEETIT-DlRbLLf3.mjs +20 -0
- package/dist/chunks/{chunk-Byubey_H.mjs → chunk-D6kmoKXy.mjs} +5 -5
- package/dist/chunks/chunk-EDXVE4YY-DEcX4XWm.mjs +26 -0
- package/dist/chunks/chunk-ENJZ2VHE-B4THRZkR.mjs +566 -0
- package/dist/chunks/chunk-FMBD7UC4-CF6BKEiV.mjs +5 -0
- package/dist/chunks/chunk-FOC6F5B3--xuza7Yn.mjs +20 -0
- package/dist/chunks/chunk-ICPOFSXX-BMja8cuy.mjs +3290 -0
- package/dist/chunks/chunk-K5T4RW27-CHEqGHFS.mjs +16370 -0
- package/dist/chunks/chunk-KGLVRYIC-DHYYpR8v.mjs +20 -0
- package/dist/chunks/chunk-LIHQZDEY-AvbOvyLE.mjs +55 -0
- package/dist/chunks/chunk-ORNJ4GCN-38fbR5OS.mjs +25 -0
- package/dist/chunks/chunk-OYMX7WX6-BiqlATPA.mjs +2038 -0
- package/dist/chunks/chunk-QZHKN3VN-DitZIvj8.mjs +12 -0
- package/dist/chunks/chunk-U2HBQHQK-DJytnHmZ.mjs +1875 -0
- package/dist/chunks/chunk-X2U36JSP-DlOifw1K.mjs +68 -0
- package/dist/chunks/chunk-XPW4576I-s4fsi4XO.mjs +1146 -0
- package/dist/chunks/chunk-YZCP3GAM-Ch258bXC.mjs +60 -0
- package/dist/chunks/chunk-ZZ45TVLE-DWziaKxP.mjs +33 -0
- package/dist/chunks/classDiagram-6PBFFD2Q-BOkAe08u.mjs +30 -0
- package/dist/chunks/classDiagram-v2-HSJHXN6E-DeKatSvh.mjs +30 -0
- package/dist/chunks/clone-CJCz7VRp.mjs +8 -0
- package/dist/chunks/{constants-Cp8O0UfP.mjs → constants-DFS8l39Y.mjs} +49 -50
- package/dist/chunks/cose-bilkent-S5V4N54A-CzLGVqvr.mjs +2246 -0
- package/dist/chunks/cytoscape.esm-D0iglm-M.mjs +18108 -0
- package/dist/chunks/dagre-KV5264BT-XbHSjleO.mjs +298 -0
- package/dist/chunks/dagre-XY8CZ1sg.mjs +1536 -0
- package/dist/chunks/defaultLocale-DFhS1600.mjs +201 -0
- package/dist/chunks/diagram-5BDNPKRD-CM7c3UTI.mjs +112 -0
- package/dist/chunks/diagram-G4DWMVQ6-Bhg4ps6b.mjs +546 -0
- package/dist/chunks/diagram-MMDJMWI5-C-UCVaxB.mjs +234 -0
- package/dist/chunks/diagram-TYMM5635-BOHSujSD.mjs +144 -0
- package/dist/chunks/dist-DHsXIYdd.mjs +59 -0
- package/dist/chunks/erDiagram-SMLLAGMA-CwKxXFMB.mjs +1712 -0
- package/dist/chunks/flowDiagram-DWJPFMVM-rQJKfyuO.mjs +4175 -0
- package/dist/chunks/ganttDiagram-T4ZO3ILL-DfaZirLX.mjs +3083 -0
- package/dist/chunks/gitGraph-7Q5UKJZL-BKG8cHGz.mjs +3 -0
- package/dist/chunks/gitGraphDiagram-UUTBAWPF-CRa-ymsI.mjs +792 -0
- package/dist/chunks/graphlib-CuDElSdG.mjs +223 -0
- package/dist/chunks/{i18next-loader-oDO9ZKUV.mjs → i18next-loader-CasQQb5s.mjs} +2 -2
- package/dist/chunks/info-OMHHGYJF-FKqYyUn9.mjs +3 -0
- package/dist/chunks/infoDiagram-42DDH7IO-CvyJU2nE.mjs +29 -0
- package/dist/chunks/init-JlKGZtuT.mjs +15 -0
- package/dist/chunks/ishikawaDiagram-UXIWVN3A-CIpbw1BK.mjs +719 -0
- package/dist/chunks/journeyDiagram-VCZTEJTY-H96UcUK9.mjs +885 -0
- package/dist/chunks/kanban-definition-6JOO6SKY-BYZT3srA.mjs +980 -0
- package/dist/chunks/{katex-NjLaA6AJ.mjs → katex-JyOgX6MW.mjs} +1 -1
- package/dist/chunks/{lightweight-i18n-DTySD6f6.mjs → lightweight-i18n-Cvv8CWh4.mjs} +13 -0
- package/dist/chunks/line-B9xUUA7k.mjs +34 -0
- package/dist/chunks/linear-Dj-1yA_B.mjs +289 -0
- package/dist/chunks/mermaid-parser.core-D6OPAUtM.mjs +57 -0
- package/dist/chunks/mermaid.core-BPN9ZHKQ.mjs +989 -0
- package/dist/{messages-B4lhNMKm2.mjs → chunks/messages--YKhFEDE.mjs} +28 -3
- package/dist/chunks/{messages-CF_PfacZ.mjs → messages-0Uwu1AMJ2.mjs} +26 -1
- package/dist/{messages-Bug6Du35.mjs → chunks/messages-1__0Ph4Q.mjs} +26 -1
- package/dist/chunks/{messages-CnQydQJd2.mjs → messages-4sm9Pb0C.mjs} +26 -1
- package/dist/chunks/{messages-BDXl53cy2.mjs → messages-4uxjtzKW.mjs} +26 -1
- package/dist/{messages-DQN1y6E9.mjs → chunks/messages-B-SwLgkQ.mjs} +28 -3
- package/dist/chunks/{messages-BlcRm2I3.mjs → messages-B1ylBxXQ.mjs} +26 -1
- package/dist/{messages-12_eyAo-.mjs → chunks/messages-B5m3dhKc.mjs} +26 -1
- package/dist/chunks/{messages-D8-N0FmU.mjs → messages-B6n2zDtv.mjs} +27 -2
- package/dist/chunks/{messages-BMq9k_lI.mjs → messages-BC9w4zAT.mjs} +26 -1
- package/dist/{messages-CsiGzUSP2.mjs → chunks/messages-BOj-7N3p.mjs} +26 -1
- package/dist/chunks/{messages-CvlMT1e62.mjs → messages-BRYHTS18.mjs} +26 -1
- package/dist/{messages-hrSlVSHp.mjs → chunks/messages-BSBbVjor.mjs} +33 -8
- package/dist/{messages-uCsQjz7M.mjs → chunks/messages-BUUkmUGc.mjs} +26 -1
- package/dist/chunks/{messages-DopbvJlg.mjs → messages-Bb3YEV2P.mjs} +31 -6
- package/dist/{messages-KqWQKmIu2.mjs → chunks/messages-Be_6YLzJ.mjs} +27 -2
- package/dist/chunks/{messages-BXn9Vzbx2.mjs → messages-BevRhv5d.mjs} +26 -1
- package/dist/chunks/{messages-DQ5ng0_t2.mjs → messages-Bhqr7Im2.mjs} +26 -1
- package/dist/{messages-B3Yhiycb2.mjs → chunks/messages-BpJFjSKa.mjs} +27 -2
- package/dist/chunks/{messages-BaoJwsEZ.mjs → messages-BqYlq_Bn.mjs} +26 -1
- package/dist/chunks/{messages-vN4T4r67.mjs → messages-BtAwCUfD.mjs} +26 -1
- package/dist/{messages-Cb3wXGnc.mjs → chunks/messages-Bthbp65G.mjs} +27 -2
- package/dist/{messages-x353UCBI.mjs → chunks/messages-BvHMZ8Pi2.mjs} +26 -1
- package/dist/{messages-BOE2mzCj2.mjs → chunks/messages-Bw1BE9jW.mjs} +26 -1
- package/dist/chunks/{messages-C5aCWL7B.mjs → messages-Bx6Wt285.mjs} +26 -1
- package/dist/{messages-C8f1I5EQ2.mjs → chunks/messages-BzslJRYv.mjs} +27 -2
- package/dist/chunks/{messages-CZ5Sbf8U.mjs → messages-C02M0Tpw.mjs} +26 -1
- package/dist/chunks/{messages-DN-194c32.mjs → messages-C1u3E9qg.mjs} +26 -1
- package/dist/chunks/{messages-DdmWzF5M.mjs → messages-C68WgSKk.mjs} +27 -2
- package/dist/chunks/{messages-Dgng6KN8.mjs → messages-C8w8JCP0.mjs} +28 -3
- package/dist/chunks/{messages-B5fKJXd6.mjs → messages-CFOZdSk4.mjs} +26 -1
- package/dist/chunks/{messages-5ArOv8cj.mjs → messages-CGOY79lr.mjs} +26 -1
- package/dist/{messages-mipkPgwQ2.mjs → chunks/messages-CGaSMZPu.mjs} +26 -1
- package/dist/{messages-Dq_v7slw2.mjs → chunks/messages-CJJgQ0BH.mjs} +26 -1
- package/dist/chunks/{messages-DUGEqDEG.mjs → messages-CTD6rtQj2.mjs} +26 -1
- package/dist/{messages-DIKCwGog.mjs → chunks/messages-CZymJML9.mjs} +30 -5
- package/dist/chunks/{messages-CcyIKgGU.mjs → messages-CfeFJbiv.mjs} +30 -5
- package/dist/chunks/{messages-BXSXk3oS2.mjs → messages-Cgatzu_z.mjs} +28 -3
- package/dist/{messages-CBPiFbEf2.mjs → chunks/messages-Ch2zBI602.mjs} +26 -1
- package/dist/chunks/{messages-yszqJukE.mjs → messages-CiAHsUfO.mjs} +26 -1
- package/dist/chunks/{messages-bmwto4UV.mjs → messages-Cuzq-tNW.mjs} +26 -1
- package/dist/{messages-JK9Okzsy2.mjs → chunks/messages-Cw4qiMwb.mjs} +26 -1
- package/dist/chunks/{messages-DSO2U-ul.mjs → messages-Cyh-mz40.mjs} +26 -1
- package/dist/{messages-DbZsJAff.mjs → chunks/messages-D-I2QO8H.mjs} +26 -1
- package/dist/chunks/{messages-BhcYsC_M2.mjs → messages-D0D2gruy.mjs} +26 -1
- package/dist/{messages-X80Nh0ib.mjs → chunks/messages-D1BKxfLD.mjs} +27 -2
- package/dist/chunks/{messages-CjVPwkVy.mjs → messages-D4eDs6R_.mjs} +26 -1
- package/dist/{messages-C5Uufygq.mjs → chunks/messages-D9Xr-hES.mjs} +26 -1
- package/dist/{messages-DkvQ-6HC2.mjs → chunks/messages-D9eJPHia.mjs} +28 -3
- package/dist/chunks/{messages-DRv4g-IA.mjs → messages-DBFWSzKY2.mjs} +26 -1
- package/dist/chunks/{messages-SSDr5fGF2.mjs → messages-DC0wu2S7.mjs} +26 -1
- package/dist/{messages-Bdk4ocMI.mjs → chunks/messages-DF9o19rG.mjs} +26 -1
- package/dist/chunks/{messages-DVKifYlq.mjs → messages-DFS_n986.mjs} +49 -24
- package/dist/{messages-CvvbLyTy2.mjs → chunks/messages-DGS4H30T.mjs} +26 -1
- package/dist/{messages-PvMdmlxI.mjs → chunks/messages-DKjddpzJ.mjs} +28 -3
- package/dist/chunks/{messages-DGD6BiGd.mjs → messages-DMvTdUXC.mjs} +28 -3
- package/dist/{messages-CD8K1g_t2.mjs → chunks/messages-DQUX-QYI2.mjs} +26 -1
- package/dist/chunks/{messages-CqgEz7C5.mjs → messages-DUigq8FO2.mjs} +26 -1
- package/dist/chunks/{messages-ByAqzAhB.mjs → messages-DY0FJdpH.mjs} +26 -1
- package/dist/{messages-DACg1XAu.mjs → chunks/messages-DfVXiqt-2.mjs} +26 -1
- package/dist/{messages-BYQ769S5.mjs → chunks/messages-DgZc9TJw.mjs} +26 -1
- package/dist/{messages-Dj79y02X.mjs → chunks/messages-QD4BCUDP.mjs} +26 -1
- package/dist/{messages-BeI2HORe2.mjs → chunks/messages-USmweex9.mjs} +26 -1
- package/dist/{messages-CEEzfqMO2.mjs → chunks/messages-a1JTi0Qm.mjs} +29 -4
- package/dist/chunks/{messages-Dz3UhEco2.mjs → messages-jcgCHPRn.mjs} +26 -1
- package/dist/{messages--cUQf9JX.mjs → chunks/messages-tnnqHpbd.mjs} +27 -2
- package/dist/chunks/{messages-DZwCufSb.mjs → messages-vzWKPLJO.mjs} +26 -1
- package/dist/chunks/{micromark-extension-math-CCEGWpdz.mjs → micromark-extension-math-Cz_ZZ_0Y.mjs} +1 -1
- package/dist/chunks/mindmap-definition-QFDTVHPH-BswFuNN6.mjs +1013 -0
- package/dist/chunks/ordinal-D1_lEgAO.mjs +65 -0
- package/dist/chunks/packet-4T2RLAQJ-DTUW2U0C.mjs +3 -0
- package/dist/chunks/path-6nYPAvNb.mjs +85 -0
- package/dist/chunks/pie-ZZUOXDRM-D-umqvEM.mjs +3 -0
- package/dist/chunks/pieDiagram-DEJITSTG-1WJgvK1w.mjs +179 -0
- package/dist/chunks/quadrantDiagram-34T5L4WZ-B_YH8QGl.mjs +1960 -0
- package/dist/chunks/radar-PYXPWWZC-DkQelf08.mjs +3 -0
- package/dist/chunks/requirementDiagram-MS252O5E-DRl0YJRI.mjs +2224 -0
- package/dist/chunks/rough.esm-CSWJruu5.mjs +1353 -0
- package/dist/chunks/sankeyDiagram-XADWPNL6-B-8IrknH.mjs +909 -0
- package/dist/chunks/sequenceDiagram-FGHM5R23-DTLb8qmO.mjs +4181 -0
- package/dist/chunks/src-CRgEHLPW.mjs +2149 -0
- package/dist/chunks/stateDiagram-FHFEXIEX-B0JFjLFy.mjs +218 -0
- package/dist/chunks/stateDiagram-v2-QKLJ7IA2-Co9CUU_z.mjs +28 -0
- package/dist/chunks/timeline-definition-GMOUNBTQ-CS9KTh-Q.mjs +1084 -0
- package/dist/chunks/{tools-DGOsJbHH.mjs → tools-CSYsrnud.mjs} +2116 -1268
- package/dist/chunks/treeView-SZITEDCU-DOOoyNP9.mjs +3 -0
- package/dist/chunks/treemap-W4RFUUIX-CsOoUA-u.mjs +3 -0
- package/dist/chunks/vennDiagram-DHZGUBPP-0BNu5Wna.mjs +1876 -0
- package/dist/chunks/wardley-RL74JXVD-CCzZcmEk.mjs +3 -0
- package/dist/chunks/wardleyDiagram-NUSXRM2D-Ca9XByNH.mjs +594 -0
- package/dist/chunks/xychartDiagram-5P7HB3ND-C8AyKUAE.mjs +2017 -0
- package/dist/cli.mjs +1 -1
- package/dist/full.mjs +3 -3
- package/dist/locales.mjs +80 -67
- package/dist/markdown.mjs +2 -2
- package/dist/{chunks/messages-9l49jauY.mjs → messages-5jvKxQNu2.mjs} +26 -1
- package/dist/{messages-CkySRhtd2.mjs → messages-7QD-X6XT2.mjs} +26 -1
- package/dist/{chunks/messages-Btr121zI2.mjs → messages-96iaAUds2.mjs} +27 -2
- package/dist/{chunks/messages-BAP2OAQk.mjs → messages-B19o-Teb.mjs} +28 -3
- package/dist/{messages-DJU4YLij.mjs → messages-B1ZUQagA.mjs} +26 -1
- package/dist/{messages-Dg2CDXZi2.mjs → messages-B7ieAJBd2.mjs} +26 -1
- package/dist/{messages-CByBLxWk.mjs → messages-BECMxmfX.mjs} +26 -1
- package/dist/{messages-CwCEcbWG.mjs → messages-BIHc0KHY.mjs} +27 -2
- package/dist/{messages-D8WvwU42.mjs → messages-BIoeoik5.mjs} +26 -1
- package/dist/{messages-D38h5XlF.mjs → messages-BJeGJksD.mjs} +26 -1
- package/dist/{messages-Cd23UgLV2.mjs → messages-BRZX964b2.mjs} +27 -2
- package/dist/{chunks/messages-B9N__q552.mjs → messages-BTQPpoM42.mjs} +29 -4
- package/dist/{messages-CUzBNjnc.mjs → messages-BYNcD6uR.mjs} +26 -1
- package/dist/{messages-DjWfVYHS2.mjs → messages-BYmmMDrN2.mjs} +26 -1
- package/dist/{chunks/messages-DkTxBa1V.mjs → messages-BbYq1pk-.mjs} +26 -1
- package/dist/{chunks/messages-BHhbHLoq.mjs → messages-BiUGXvYr2.mjs} +26 -1
- package/dist/{messages-So3SHdIc2.mjs → messages-BiiongNz2.mjs} +26 -1
- package/dist/{chunks/messages-BxBID_0B.mjs → messages-Bm0Feca1.mjs} +30 -5
- package/dist/{messages-C2veeQpU.mjs → messages-BmAn22OX.mjs} +26 -1
- package/dist/{messages-KbYSpNrE.mjs → messages-Bq3F2Tp_.mjs} +26 -1
- package/dist/{chunks/messages-Dux1S0-D2.mjs → messages-BsycN_JI2.mjs} +26 -1
- package/dist/{messages-DRU_IgoW.mjs → messages-BwHs4cm1.mjs} +30 -5
- package/dist/{messages-Cv-DKlZd.mjs → messages-CJTy6JZt.mjs} +26 -1
- package/dist/{chunks/messages-D7n_wJK7.mjs → messages-CR_L_UtK.mjs} +26 -1
- package/dist/{messages-DnhEzmXJ2.mjs → messages-CSUHBs4c2.mjs} +26 -1
- package/dist/{messages-C_HmWyXc2.mjs → messages-CWIXvnDf2.mjs} +26 -1
- package/dist/{messages-KSxF8eib.mjs → messages-CcF4y-E4.mjs} +26 -1
- package/dist/{chunks/messages-CL3mCbi6.mjs → messages-Ce6KVEbT.mjs} +27 -2
- package/dist/{chunks/messages-C-jA6Rf7.mjs → messages-Ci0KqX-J.mjs} +33 -8
- package/dist/{chunks/messages-DMyRdafk2.mjs → messages-CjbnogEC.mjs} +26 -1
- package/dist/{chunks/messages-BlO_37l_.mjs → messages-CmB406HW.mjs} +28 -3
- package/dist/{messages-Cho2VTAX.mjs → messages-CqXtJTpU.mjs} +26 -1
- package/dist/{messages-CWEL1WDy2.mjs → messages-D0aw5_0k2.mjs} +28 -3
- package/dist/{messages-CgEDVri-2.mjs → messages-D8FQWulF2.mjs} +26 -1
- package/dist/{chunks/messages-B5aAzExz.mjs → messages-DBiVgUs2.mjs} +27 -2
- package/dist/{chunks/messages-DYizZHT2.mjs → messages-DIJlIqlQ2.mjs} +26 -1
- package/dist/{messages-BPL7riv-.mjs → messages-DLX_iBDJ.mjs} +26 -1
- package/dist/{messages-vptt-pVF.mjs → messages-DLlc9QPw.mjs} +26 -1
- package/dist/{chunks/messages-876bKyUj2.mjs → messages-DMr62KiO2.mjs} +26 -1
- package/dist/{chunks/messages-CgedvWCf.mjs → messages-DPA-mMWC2.mjs} +27 -2
- package/dist/{messages-vcoib5Ga.mjs → messages-DTh9a8mR.mjs} +26 -1
- package/dist/{chunks/messages-DgEGJECT.mjs → messages-DY4IqlhY.mjs} +26 -1
- package/dist/{chunks/messages-CdzF0Hvl.mjs → messages-DYTTu0O12.mjs} +26 -1
- package/dist/{messages-rbox5gSb2.mjs → messages-DbySKTKt2.mjs} +28 -3
- package/dist/{chunks/messages-BGCQCeWd.mjs → messages-Ddnj2iTG2.mjs} +26 -1
- package/dist/{chunks/messages-CNEJxD8q2.mjs → messages-DkLU_rWm.mjs} +26 -1
- package/dist/{chunks/messages-FYl9woii2.mjs → messages-Dl3Sv6Rq2.mjs} +27 -2
- package/dist/{messages-Clsh86WQ.mjs → messages-Dl5Y2-Ia.mjs} +49 -24
- package/dist/{chunks/messages-CKRJDX0K2.mjs → messages-DnG0ef8t2.mjs} +28 -3
- package/dist/{chunks/messages-CyxDkx8a.mjs → messages-DnGJD4TL.mjs} +26 -1
- package/dist/{chunks/messages-DnJHflSh.mjs → messages-Dnp9N6RU2.mjs} +26 -1
- package/dist/{chunks/messages-Jps5Tc77.mjs → messages-Dvn35ksS.mjs} +26 -1
- package/dist/{messages-ChTWmxS8.mjs → messages-Dw__BcTj.mjs} +26 -1
- package/dist/{messages-D7juvhHp.mjs → messages-Dy-Y_nEI.mjs} +26 -1
- package/dist/{messages-CNNcKuGH.mjs → messages-E_ZuzGDt.mjs} +26 -1
- package/dist/{chunks/messages-DJO0ERQT.mjs → messages-F2xRoY1w.mjs} +26 -1
- package/dist/{messages-DqJTZbwt.mjs → messages-Smt4GBbj.mjs} +31 -6
- package/dist/{chunks/messages-D8dKkyII2.mjs → messages-aMXpHt5X2.mjs} +26 -1
- package/dist/{chunks/messages-DWD0ry9x.mjs → messages-aWZH50vu2.mjs} +28 -3
- package/dist/{chunks/messages-BbfLRqLh2.mjs → messages-dv19AkyJ.mjs} +26 -1
- package/dist/{chunks/messages-Dw2rmKMi2.mjs → messages-hWwSRF-2.mjs} +26 -1
- package/dist/{messages-En8LDjUB.mjs → messages-j7o5rT9s.mjs} +26 -1
- package/dist/{chunks/messages-NJsvFwJj.mjs → messages-nUVjeh7K.mjs} +27 -2
- package/dist/{messages-Cg1CF4pw.mjs → messages-nlhESX9t.mjs} +26 -1
- package/dist/{messages-CSl0Wla62.mjs → messages-rk-A1Wa42.mjs} +28 -3
- package/dist/{messages-nOe1gJYu.mjs → messages-xh2eOLvs.mjs} +26 -1
- package/dist/{messages-B_sKqaeK.mjs → messages-ynAe7ewZ.mjs} +26 -1
- package/dist/react.mjs +2 -2
- package/dist/tools.mjs +2 -2
- package/dist/vendor.LICENSE.txt +3254 -297
- package/package.json +7 -2
- package/src/components/constants/data-attributes.ts +0 -2
- package/src/components/i18n/locales/am/messages.json +26 -1
- package/src/components/i18n/locales/ar/messages.json +26 -1
- package/src/components/i18n/locales/az/messages.json +26 -1
- package/src/components/i18n/locales/bg/messages.json +26 -1
- package/src/components/i18n/locales/bn/messages.json +26 -1
- package/src/components/i18n/locales/bs/messages.json +28 -3
- package/src/components/i18n/locales/cs/messages.json +30 -5
- package/src/components/i18n/locales/da/messages.json +33 -8
- package/src/components/i18n/locales/de/messages.json +31 -6
- package/src/components/i18n/locales/dv/messages.json +26 -1
- package/src/components/i18n/locales/el/messages.json +26 -1
- package/src/components/i18n/locales/en/messages.json +13 -0
- package/src/components/i18n/locales/es/messages.json +27 -2
- package/src/components/i18n/locales/et/messages.json +30 -5
- package/src/components/i18n/locales/fa/messages.json +26 -1
- package/src/components/i18n/locales/fi/messages.json +26 -1
- package/src/components/i18n/locales/fil/messages.json +49 -24
- package/src/components/i18n/locales/fr/messages.json +27 -2
- package/src/components/i18n/locales/gu/messages.json +26 -1
- package/src/components/i18n/locales/he/messages.json +26 -1
- package/src/components/i18n/locales/hi/messages.json +26 -1
- package/src/components/i18n/locales/hr/messages.json +28 -3
- package/src/components/i18n/locales/hu/messages.json +27 -2
- package/src/components/i18n/locales/hy/messages.json +26 -1
- package/src/components/i18n/locales/id/messages.json +26 -1
- package/src/components/i18n/locales/it/messages.json +27 -2
- package/src/components/i18n/locales/ja/messages.json +26 -1
- package/src/components/i18n/locales/ka/messages.json +26 -1
- package/src/components/i18n/locales/km/messages.json +26 -1
- package/src/components/i18n/locales/kn/messages.json +26 -1
- package/src/components/i18n/locales/ko/messages.json +26 -1
- package/src/components/i18n/locales/ku/messages.json +26 -1
- package/src/components/i18n/locales/lo/messages.json +26 -1
- package/src/components/i18n/locales/lt/messages.json +26 -1
- package/src/components/i18n/locales/lv/messages.json +26 -1
- package/src/components/i18n/locales/mk/messages.json +26 -1
- package/src/components/i18n/locales/ml/messages.json +26 -1
- package/src/components/i18n/locales/mn/messages.json +26 -1
- package/src/components/i18n/locales/mr/messages.json +26 -1
- package/src/components/i18n/locales/ms/messages.json +28 -3
- package/src/components/i18n/locales/my/messages.json +26 -1
- package/src/components/i18n/locales/ne/messages.json +26 -1
- package/src/components/i18n/locales/nl/messages.json +28 -3
- package/src/components/i18n/locales/no/messages.json +29 -4
- package/src/components/i18n/locales/pa/messages.json +26 -1
- package/src/components/i18n/locales/pl/messages.json +27 -2
- package/src/components/i18n/locales/ps/messages.json +26 -1
- package/src/components/i18n/locales/pt/messages.json +27 -2
- package/src/components/i18n/locales/ro/messages.json +27 -2
- package/src/components/i18n/locales/ru/messages.json +26 -1
- package/src/components/i18n/locales/sd/messages.json +26 -1
- package/src/components/i18n/locales/si/messages.json +26 -1
- package/src/components/i18n/locales/sk/messages.json +28 -3
- package/src/components/i18n/locales/sl/messages.json +28 -3
- package/src/components/i18n/locales/sq/messages.json +27 -2
- package/src/components/i18n/locales/sr/messages.json +26 -1
- package/src/components/i18n/locales/sv/messages.json +28 -3
- package/src/components/i18n/locales/sw/messages.json +26 -1
- package/src/components/i18n/locales/ta/messages.json +26 -1
- package/src/components/i18n/locales/te/messages.json +26 -1
- package/src/components/i18n/locales/th/messages.json +26 -1
- package/src/components/i18n/locales/tr/messages.json +26 -1
- package/src/components/i18n/locales/ug/messages.json +26 -1
- package/src/components/i18n/locales/uk/messages.json +26 -1
- package/src/components/i18n/locales/ur/messages.json +26 -1
- package/src/components/i18n/locales/vi/messages.json +26 -1
- package/src/components/i18n/locales/yi/messages.json +26 -1
- package/src/components/i18n/locales/zh/messages.json +26 -1
- package/src/components/icons/index.ts +38 -0
- package/src/components/modules/ui.ts +0 -13
- package/src/stories/EditorModes.stories.ts +0 -60
- package/src/styles/main.css +39 -1
- package/src/tools/callout/emoji-picker/index.ts +3 -2
- package/src/tools/code/code-keyboard.ts +16 -9
- package/src/tools/code/constants.ts +26 -3
- package/src/tools/code/dom-builder.ts +40 -5
- package/src/tools/code/highlight-applier.ts +229 -0
- package/src/tools/code/index.ts +141 -1
- package/src/tools/code/mermaid-loader.ts +45 -0
- package/src/tools/code/shiki-loader.ts +135 -0
- package/src/tools/table/core/table-commands.ts +16 -0
- package/src/tools/table/core/table-controller.ts +29 -0
- package/src/tools/table/core/table-events.ts +17 -0
- package/src/tools/table/index.ts +194 -11
- package/src/tools/table/table-cell-blocks.ts +9 -6
- package/src/tools/table/table-cell-clipboard.ts +6 -1
- package/src/tools/table/table-cell-placement-picker.ts +133 -0
- package/src/tools/table/table-cell-selection.ts +174 -19
- package/src/tools/table/table-core.ts +321 -113
- package/src/tools/table/table-map.ts +279 -0
- package/src/tools/table/table-model.ts +901 -1
- package/src/tools/table/table-operations.ts +78 -44
- package/src/tools/table/table-resize.ts +19 -17
- package/src/tools/table/table-row-col-drag.ts +24 -10
- package/src/tools/table/types.ts +24 -2
- package/types/data-attributes.d.ts +0 -1
- package/types/tools/code.d.ts +2 -0
- /package/dist/chunks/{am-CS-JjQ0N.mjs → am-rVzV1W41.mjs} +0 -0
- /package/dist/chunks/{ar-Dt4XzR5U.mjs → ar-C710lkoH.mjs} +0 -0
- /package/dist/chunks/{az-CaDTXby8.mjs → az-BOp1pgua.mjs} +0 -0
- /package/dist/chunks/{bg-D1pLog-R.mjs → bg-CL9p09ZD.mjs} +0 -0
- /package/dist/chunks/{bn-Db_ae60m.mjs → bn-CNmSeyAy.mjs} +0 -0
- /package/dist/chunks/{bs-DJTg1R9e.mjs → bs-BRzMGqzk.mjs} +0 -0
- /package/dist/chunks/{cs-_Gc21gSL.mjs → cs-BYPBLmnF.mjs} +0 -0
- /package/dist/chunks/{da-xDB8uhCd.mjs → da-CBC_LR1c.mjs} +0 -0
- /package/dist/chunks/{de-B6gVjh1Z.mjs → de-DxRFMoAj.mjs} +0 -0
- /package/dist/chunks/{el-ClbRSnOs.mjs → el-Bk6YbySf.mjs} +0 -0
- /package/dist/chunks/{es-CuY9rnLK.mjs → es-DpT3FCMR.mjs} +0 -0
- /package/dist/chunks/{et-BLu5lDVc.mjs → et-DE9Dr_g9.mjs} +0 -0
- /package/dist/chunks/{fa-P3gnrZH8.mjs → fa-Banj1QUE.mjs} +0 -0
- /package/dist/chunks/{fi-B8PVHLjq.mjs → fi-DfN3M5ER.mjs} +0 -0
- /package/dist/chunks/{fil-B9JII5iF.mjs → fil-DbCsRS1d.mjs} +0 -0
- /package/dist/chunks/{fr-BWLDZdcc.mjs → fr-D1clKhgt.mjs} +0 -0
- /package/dist/chunks/{gu-BH3R_s4c.mjs → gu-1CsZyRwT.mjs} +0 -0
- /package/dist/chunks/{he-CCmeCVR_.mjs → he-qQdnL6eK.mjs} +0 -0
- /package/dist/chunks/{hi-BBav00DN.mjs → hi-DxM0Nff1.mjs} +0 -0
- /package/dist/chunks/{hr-B5ZX0r9G.mjs → hr-Onldyi-u.mjs} +0 -0
- /package/dist/chunks/{hu-1jgDa3YU.mjs → hu-CAn3pBuY.mjs} +0 -0
- /package/dist/chunks/{hy-LX4Kp2PE.mjs → hy-D43q7NxE.mjs} +0 -0
- /package/dist/chunks/{i18next-KNC_XV5x.mjs → i18next-BBGW2sDE.mjs} +0 -0
- /package/dist/chunks/{id-CcG40D1H.mjs → id-Xrw5Dd0Y.mjs} +0 -0
- /package/dist/chunks/{it-Cb8_K72W.mjs → it-CA9ZDMSc.mjs} +0 -0
- /package/dist/chunks/{ja-ipCH91mv.mjs → ja-D0J6WRFh.mjs} +0 -0
- /package/dist/chunks/{ka-BRvREIgq.mjs → ka-BZL7xDuY.mjs} +0 -0
- /package/dist/chunks/{km-BJwVw7Fg.mjs → km-BimgQZVU.mjs} +0 -0
- /package/dist/chunks/{kn-BPgUazCC.mjs → kn-C2n2cPHK.mjs} +0 -0
- /package/dist/chunks/{ko-CQLzxe7k.mjs → ko-n4Cn93D3.mjs} +0 -0
- /package/dist/chunks/{ku-BHhHu8Iz.mjs → ku-BYZCgT44.mjs} +0 -0
- /package/dist/chunks/{lo-DsTgYblY.mjs → lo-DVXiAE4N.mjs} +0 -0
- /package/dist/chunks/{lt-CDzHJm71.mjs → lt-B9KlQFnY.mjs} +0 -0
- /package/dist/chunks/{lv-MLLIAnIX.mjs → lv-BINeOdyx.mjs} +0 -0
- /package/dist/chunks/{mdast-util-math-yS0EygZV.mjs → mdast-util-math-CHYUxOHk.mjs} +0 -0
- /package/dist/chunks/{mk-DQdmUquZ.mjs → mk-_-QrPrLN.mjs} +0 -0
- /package/dist/chunks/{ml-DqehZnra.mjs → ml-KvJSC1KT.mjs} +0 -0
- /package/dist/chunks/{mn-4cFkKFjW.mjs → mn-CjFjWnRG.mjs} +0 -0
- /package/dist/chunks/{mr-DWiztOP4.mjs → mr-DqAZ7FRX.mjs} +0 -0
- /package/dist/chunks/{ms-BSz-iSnc.mjs → ms-BZcV4UG_.mjs} +0 -0
- /package/dist/chunks/{my-DbtbM1MW.mjs → my-97SC9jYN.mjs} +0 -0
- /package/dist/chunks/{ne-CqALWw_f.mjs → ne-Bs-M2TyF.mjs} +0 -0
- /package/dist/chunks/{nl-D_ra6RvH.mjs → nl-2ZwQilo-.mjs} +0 -0
- /package/dist/chunks/{no-Cg_kz_jl.mjs → no-fOQTpFq1.mjs} +0 -0
- /package/dist/chunks/{notifier-BOwxj_Ok.mjs → notifier-B1zCi9G1.mjs} +0 -0
- /package/dist/chunks/{pa-NLAsNqwY.mjs → pa-DLOqkMi0.mjs} +0 -0
- /package/dist/chunks/{pl-NHKp4YDg.mjs → pl-FYs9QrXU.mjs} +0 -0
- /package/dist/chunks/{ps-D1zEqNeg.mjs → ps-CTXe6pSe.mjs} +0 -0
- /package/dist/chunks/{pt-DBtqbUEB.mjs → pt-B1X4x7d1.mjs} +0 -0
- /package/dist/chunks/{ro-lqr63ai5.mjs → ro-Bf7S2FaR.mjs} +0 -0
- /package/dist/chunks/{ru-BycNnDyN.mjs → ru-B8lqnu_j.mjs} +0 -0
- /package/dist/chunks/{sd-DpHpIN9Z.mjs → sd-CHRYJm2r.mjs} +0 -0
- /package/dist/chunks/{si-BwiwaC7N.mjs → si-CI0Hs6vH.mjs} +0 -0
- /package/dist/chunks/{sk-CqRHT2Gp.mjs → sk-Bdvq1Kb_.mjs} +0 -0
- /package/dist/chunks/{sl-DA348uQ_.mjs → sl-B_qiFTV5.mjs} +0 -0
- /package/dist/chunks/{sq-D7JNgve1.mjs → sq-E0j1hysP.mjs} +0 -0
- /package/dist/chunks/{sr-D8RK6Kwp.mjs → sr-VPpVNTZw.mjs} +0 -0
- /package/dist/chunks/{sv-dwgT67ZG.mjs → sv-gKmDSR3d.mjs} +0 -0
- /package/dist/chunks/{sw-ZRRJnkem.mjs → sw-zeFLiO23.mjs} +0 -0
- /package/dist/chunks/{ta-5x4L5Krl.mjs → ta-Ci-j89hR.mjs} +0 -0
- /package/dist/chunks/{te-BZpEimwA.mjs → te-qyMI0M7a.mjs} +0 -0
- /package/dist/chunks/{th-Bhr-33kv.mjs → th-DPxHtpdb.mjs} +0 -0
- /package/dist/chunks/{tr-6tSNKGNB.mjs → tr-CRV6GS-G.mjs} +0 -0
- /package/dist/chunks/{ug-_e-jvr2b.mjs → ug-DW0YFpo5.mjs} +0 -0
- /package/dist/chunks/{uk-DooSc2Ja.mjs → uk-ssteuphK.mjs} +0 -0
- /package/dist/chunks/{ur-rb-krkIO.mjs → ur-qhY3-jY7.mjs} +0 -0
- /package/dist/chunks/{vi-CQkLn2AQ.mjs → vi-CHriMMC8.mjs} +0 -0
- /package/dist/chunks/{zh-CXQ40Q2_.mjs → zh-BJktawVN.mjs} +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { t as e } from "./chunk-
|
|
2
|
-
import { $
|
|
1
|
+
import { t as e } from "./chunk-D6kmoKXy.mjs";
|
|
2
|
+
import { $n as t, $t as n, An as r, At as i, Bn as a, Bt as o, C as s, Dn as c, E as l, En as u, Fn as d, Gn as f, Gt as p, Hn as m, In as h, It as g, Jn as _, Jt as v, Kn as ee, Kt as y, Ln as te, Mn as ne, Nn as re, On as ie, Ot as ae, Pn as oe, Qn as se, Qt as ce, Rn as le, S as ue, Sn as de, T as fe, Tn as pe, Un as b, Vn as x, Wn as me, Wt as he, Xn as ge, Xt as _e, Yn as ve, Yt as ye, Zn as S, Zt as be, _ as xe, _n as Se, an as Ce, b as C, bn as we, dn as Te, en as Ee, er as w, fn as De, ft as Oe, g as ke, gn as Ae, gt as je, h as Me, hn as Ne, in as T, jn as Pe, k as Fe, kn as Ie, ln as Le, m as Re, mn as ze, nn as Be, p as Ve, pn as He, qn as E, qt as Ue, rn as D, sn as We, tn as Ge, u as Ke, un as qe, v as Je, vn as Ye, vt as Xe, w as Ze, wn as O, x as Qe, xn as $e, y as et, yn as tt, zn as nt, zt as rt } from "./constants-DFS8l39Y.mjs";
|
|
3
3
|
import { n as it, t as k } from "./objectSpread2-CWwMYL_U.mjs";
|
|
4
4
|
import { n as A, t as at } from "./tw-CqxBf-1Y.mjs";
|
|
5
|
-
import { r as ot, t as st } from "./lightweight-i18n-
|
|
5
|
+
import { r as ot, t as st } from "./lightweight-i18n-Cvv8CWh4.mjs";
|
|
6
6
|
//#region node_modules/@babel/register/lib/browser.cjs
|
|
7
7
|
var ct = /* @__PURE__ */ e(((e, t) => {
|
|
8
8
|
function n() {}
|
|
@@ -20,7 +20,7 @@ var ct = /* @__PURE__ */ e(((e, t) => {
|
|
|
20
20
|
this._isDestroyed = !0;
|
|
21
21
|
}
|
|
22
22
|
constructor({ config: t, eventsDispatcher: n }) {
|
|
23
|
-
if (this.nodes = {}, this._isDestroyed = !1, this.listeners = new
|
|
23
|
+
if (this.nodes = {}, this._isDestroyed = !1, this.listeners = new tt(), this.readOnlyMutableListeners = {
|
|
24
24
|
on: (e, t, n, r = !1) => {
|
|
25
25
|
let i = this.listeners.on(e, t, n, r);
|
|
26
26
|
i && this.mutableListenerIds.push(i);
|
|
@@ -139,7 +139,7 @@ var ct = /* @__PURE__ */ e(((e, t) => {
|
|
|
139
139
|
if (typeof n == "function") try {
|
|
140
140
|
return await n.call(t.toolInstance, e), t.lastSavedDataInternal = e, !0;
|
|
141
141
|
} catch (e) {
|
|
142
|
-
return
|
|
142
|
+
return E(`Tool ${t.name} setData failed: ${e instanceof Error ? e.message : String(e)}`, "warn"), !1;
|
|
143
143
|
}
|
|
144
144
|
let r = t.getToolRenderedElement();
|
|
145
145
|
if (!r) return !1;
|
|
@@ -151,10 +151,10 @@ var ct = /* @__PURE__ */ e(((e, t) => {
|
|
|
151
151
|
return t.toolInstance.validate instanceof Function ? await t.toolInstance.validate(e) : !0;
|
|
152
152
|
}
|
|
153
153
|
async exportDataAsString(e) {
|
|
154
|
-
return
|
|
154
|
+
return Te(await this.data, e);
|
|
155
155
|
}
|
|
156
156
|
get data() {
|
|
157
|
-
return this.save().then((e) => e && !
|
|
157
|
+
return this.save().then((e) => e && !x(e.data) ? e.data : {});
|
|
158
158
|
}
|
|
159
159
|
get lastSavedData() {
|
|
160
160
|
return this.lastSavedDataInternal;
|
|
@@ -181,7 +181,7 @@ var ct = /* @__PURE__ */ e(((e, t) => {
|
|
|
181
181
|
return e.sanitizeEmptyFields(r), r;
|
|
182
182
|
} catch (t) {
|
|
183
183
|
let n = t instanceof Error ? t : Error(String(t));
|
|
184
|
-
|
|
184
|
+
E(`Saving process for ${e.name} tool failed due to the ${n}`, "log", n);
|
|
185
185
|
return;
|
|
186
186
|
}
|
|
187
187
|
}
|
|
@@ -190,7 +190,7 @@ var ct = /* @__PURE__ */ e(((e, t) => {
|
|
|
190
190
|
let n = e[t];
|
|
191
191
|
if (typeof n != "string") return;
|
|
192
192
|
let r = document.createElement("div");
|
|
193
|
-
r.innerHTML = n,
|
|
193
|
+
r.innerHTML = n, O.isEmpty(r) && (e[t] = "");
|
|
194
194
|
};
|
|
195
195
|
t("text"), t("html");
|
|
196
196
|
}
|
|
@@ -202,7 +202,7 @@ var ct = /* @__PURE__ */ e(((e, t) => {
|
|
|
202
202
|
}
|
|
203
203
|
get inputs() {
|
|
204
204
|
if (this.cachedInputs.length !== 0) return this.cachedInputs;
|
|
205
|
-
let e =
|
|
205
|
+
let e = O.findAllInputs(this.holder);
|
|
206
206
|
return e.length > 0 && this.inputIndex > e.length - 1 && (this.inputIndex = e.length - 1), this.cachedInputs = e, e;
|
|
207
207
|
}
|
|
208
208
|
get currentInput() {
|
|
@@ -231,16 +231,16 @@ var ct = /* @__PURE__ */ e(((e, t) => {
|
|
|
231
231
|
}
|
|
232
232
|
updateCurrentInput() {
|
|
233
233
|
var e;
|
|
234
|
-
let t =
|
|
234
|
+
let t = T.anchorNode, n = document.activeElement, r = (e) => {
|
|
235
235
|
if (!e) return;
|
|
236
236
|
let t = e instanceof HTMLElement ? e : e.parentElement;
|
|
237
237
|
if (t === null) return;
|
|
238
238
|
let n = this.inputs.find((e) => e === t || e.contains(t));
|
|
239
239
|
if (n !== void 0) return n;
|
|
240
|
-
let r = t.closest(
|
|
240
|
+
let r = t.closest(O.allInputsSelector);
|
|
241
241
|
if (r instanceof HTMLElement) return this.inputs.find((e) => e === r);
|
|
242
242
|
};
|
|
243
|
-
if (
|
|
243
|
+
if (O.isNativeInput(n)) {
|
|
244
244
|
this.currentInput = n;
|
|
245
245
|
return;
|
|
246
246
|
}
|
|
@@ -256,12 +256,12 @@ var ct = /* @__PURE__ */ e(((e, t) => {
|
|
|
256
256
|
}
|
|
257
257
|
addInputEvents() {
|
|
258
258
|
this.inputs.forEach((e) => {
|
|
259
|
-
e.addEventListener("focus", this.handleFocus),
|
|
259
|
+
e.addEventListener("focus", this.handleFocus), O.isNativeInput(e) && e.addEventListener("input", this.onInputEvent);
|
|
260
260
|
});
|
|
261
261
|
}
|
|
262
262
|
removeInputEvents() {
|
|
263
263
|
this.inputs.forEach((e) => {
|
|
264
|
-
e.removeEventListener("focus", this.handleFocus),
|
|
264
|
+
e.removeEventListener("focus", this.handleFocus), O.isNativeInput(e) && e.removeEventListener("input", this.onInputEvent);
|
|
265
265
|
});
|
|
266
266
|
}
|
|
267
267
|
destroy() {
|
|
@@ -319,11 +319,11 @@ var ct = /* @__PURE__ */ e(((e, t) => {
|
|
|
319
319
|
...Array.from(n),
|
|
320
320
|
i
|
|
321
321
|
], o = (e) => {
|
|
322
|
-
if (!
|
|
322
|
+
if (!O.isElement(e)) {
|
|
323
323
|
var t;
|
|
324
|
-
return (t = e.parentElement) == null ?
|
|
324
|
+
return (t = e.parentElement) == null ? O.isElement(i) ? i : null : t;
|
|
325
325
|
}
|
|
326
|
-
return e.isConnected ? e :
|
|
326
|
+
return e.isConnected ? e : O.isElement(i) ? i : null;
|
|
327
327
|
};
|
|
328
328
|
return a.every((e) => {
|
|
329
329
|
let t = o(e);
|
|
@@ -338,13 +338,13 @@ var ct = /* @__PURE__ */ e(((e, t) => {
|
|
|
338
338
|
this.holder = e, this.getContentElement = t, this.getStretched = n, this.blokEventBus = r, this.styleManager = i;
|
|
339
339
|
}
|
|
340
340
|
set selected(e) {
|
|
341
|
-
var
|
|
342
|
-
e ? this.holder.setAttribute(
|
|
343
|
-
let
|
|
344
|
-
!
|
|
341
|
+
var n, r;
|
|
342
|
+
e ? this.holder.setAttribute(t.selected, "true") : this.holder.removeAttribute(t.selected), this.handleFakeCursor(e);
|
|
343
|
+
let i = e && T.isRangeInsideContainer(this.holder), a = !e && T.isFakeCursorInsideContainer(this.holder);
|
|
344
|
+
!i && !a || ((n = this.blokEventBus) == null || n.emit("fake cursor is about to be toggled", { state: e }), i && T.addFakeCursor(), a && T.removeFakeCursor(this.holder), (r = this.blokEventBus) == null || r.emit("fake cursor have been set", { state: e }));
|
|
345
345
|
}
|
|
346
346
|
get selected() {
|
|
347
|
-
return this.holder.getAttribute(
|
|
347
|
+
return this.holder.getAttribute(t.selected) === "true";
|
|
348
348
|
}
|
|
349
349
|
handleFakeCursor(e) {
|
|
350
350
|
let t = this.getContentElement(), n = this.getStretched();
|
|
@@ -360,11 +360,11 @@ var ct = /* @__PURE__ */ e(((e, t) => {
|
|
|
360
360
|
static get contentStyles() {
|
|
361
361
|
return e.styles.content;
|
|
362
362
|
}
|
|
363
|
-
setStretchState(e,
|
|
364
|
-
e ? this.holder.setAttribute(
|
|
363
|
+
setStretchState(e, n = !1) {
|
|
364
|
+
e ? this.holder.setAttribute(t.stretched, "true") : this.holder.removeAttribute(t.stretched), this.contentElement && !n && this.updateContentState(!1, e);
|
|
365
365
|
}
|
|
366
366
|
get stretched() {
|
|
367
|
-
return this.holder.getAttribute(
|
|
367
|
+
return this.holder.getAttribute(t.stretched) === "true";
|
|
368
368
|
}
|
|
369
369
|
updateContentState(e, t) {
|
|
370
370
|
this.contentElement && (this.contentElement.className = this.getContentClasses(e, t));
|
|
@@ -401,18 +401,18 @@ var wt = class {
|
|
|
401
401
|
return this.toolRenderedElementInternal;
|
|
402
402
|
}
|
|
403
403
|
compose() {
|
|
404
|
-
let e =
|
|
405
|
-
this.contentElementInternal =
|
|
406
|
-
let
|
|
407
|
-
|
|
408
|
-
let
|
|
409
|
-
return e.appendChild(
|
|
404
|
+
let e = O.make("div", this.getWrapperStyles()), n = O.make("div", this.getContentStyles());
|
|
405
|
+
this.contentElementInternal = n, e.setAttribute(t.element, ""), n.setAttribute(t.elementContent, ""), n.setAttribute("data-blok-testid", "block-content"), e.setAttribute("data-blok-testid", "block-wrapper"), this.name && !e.hasAttribute("data-blok-component") && e.setAttribute("data-blok-component", this.name), e.setAttribute("data-blok-id", this.id);
|
|
406
|
+
let r = this.toolInstance.render();
|
|
407
|
+
r instanceof Promise ? this.handleAsyncRender(r, n, e) : this.handleSyncRender(r, n, e);
|
|
408
|
+
let i = this.tunesManager.wrapContent(n);
|
|
409
|
+
return e.appendChild(i), e;
|
|
410
410
|
}
|
|
411
411
|
refreshToolRootElement(e) {
|
|
412
|
-
let
|
|
413
|
-
if (!
|
|
414
|
-
let
|
|
415
|
-
|
|
412
|
+
let n = e.querySelector(`[${t.elementContent}]`);
|
|
413
|
+
if (!n) return;
|
|
414
|
+
let r = n.firstElementChild;
|
|
415
|
+
r && r !== this.toolRenderedElementInternal && (this.toolRenderedElementInternal = r);
|
|
416
416
|
}
|
|
417
417
|
handleSyncRender(e, t, n) {
|
|
418
418
|
this.toolRenderedElementInternal = e, this.addToolDataAttributes(e, n), t.appendChild(e), this.invokeRenderedLifecycle();
|
|
@@ -422,7 +422,7 @@ var wt = class {
|
|
|
422
422
|
this.toolRenderedElementInternal = e, this.addToolDataAttributes(e, n), t.appendChild(e), this.invokeRenderedLifecycle();
|
|
423
423
|
}).catch((e) => {
|
|
424
424
|
var t;
|
|
425
|
-
|
|
425
|
+
E("Tool render promise rejected: %o", "error", e), (t = this.readyResolver) == null || t.call(this);
|
|
426
426
|
});
|
|
427
427
|
}
|
|
428
428
|
invokeRenderedLifecycle() {
|
|
@@ -433,7 +433,7 @@ var wt = class {
|
|
|
433
433
|
try {
|
|
434
434
|
e.call(n);
|
|
435
435
|
} catch (e) {
|
|
436
|
-
|
|
436
|
+
E(`${r}: rendered() threw: ${e instanceof Error ? e.message : String(e)}`, "warn");
|
|
437
437
|
} finally {
|
|
438
438
|
t == null || t();
|
|
439
439
|
}
|
|
@@ -474,35 +474,35 @@ var wt = class {
|
|
|
474
474
|
this.tunes = e, this.blockAPI = n, this.tunesInstances = /* @__PURE__ */ new Map(), this.defaultTunesInstances = /* @__PURE__ */ new Map(), this.unavailableTunesData = {}, this.composeTunes(t);
|
|
475
475
|
}
|
|
476
476
|
getMenuConfig(e) {
|
|
477
|
-
let
|
|
477
|
+
let t = [], n = [], r = (e, t) => {
|
|
478
478
|
if (e) {
|
|
479
|
-
if (
|
|
480
|
-
|
|
481
|
-
type:
|
|
479
|
+
if (O.isElement(e)) {
|
|
480
|
+
t.push({
|
|
481
|
+
type: D.Html,
|
|
482
482
|
element: e
|
|
483
483
|
});
|
|
484
484
|
return;
|
|
485
485
|
}
|
|
486
486
|
if (Array.isArray(e)) {
|
|
487
|
-
|
|
487
|
+
t.push(...e);
|
|
488
488
|
return;
|
|
489
489
|
}
|
|
490
|
-
|
|
490
|
+
t.push(e);
|
|
491
491
|
}
|
|
492
492
|
};
|
|
493
|
-
return
|
|
494
|
-
|
|
493
|
+
return r(e, t), [...this.tunesInstances.values(), ...this.defaultTunesInstances.values()].map((e) => e.render()).forEach((e) => {
|
|
494
|
+
r(e, n);
|
|
495
495
|
}), {
|
|
496
|
-
toolTunes:
|
|
497
|
-
commonTunes:
|
|
496
|
+
toolTunes: t,
|
|
497
|
+
commonTunes: n
|
|
498
498
|
};
|
|
499
499
|
}
|
|
500
500
|
wrapContent(e) {
|
|
501
501
|
return [...this.tunesInstances.values(), ...this.defaultTunesInstances.values()].reduce((e, t) => {
|
|
502
|
-
if (
|
|
502
|
+
if (m(t.wrap)) try {
|
|
503
503
|
return t.wrap(e);
|
|
504
504
|
} catch (n) {
|
|
505
|
-
return
|
|
505
|
+
return E(`Tune ${t.constructor.name} wrap method throws an Error %o`, "warn", n), e;
|
|
506
506
|
}
|
|
507
507
|
return e;
|
|
508
508
|
}, e);
|
|
@@ -510,10 +510,10 @@ var wt = class {
|
|
|
510
510
|
extractTunesData() {
|
|
511
511
|
let e = k({}, this.unavailableTunesData);
|
|
512
512
|
return [...this.tunesInstances.entries(), ...this.defaultTunesInstances.entries()].forEach(([t, n]) => {
|
|
513
|
-
if (
|
|
513
|
+
if (m(n.save)) try {
|
|
514
514
|
e[t] = n.save();
|
|
515
515
|
} catch (e) {
|
|
516
|
-
|
|
516
|
+
E(`Tune ${n.constructor.name} save method throws an Error %o`, "warn", e);
|
|
517
517
|
}
|
|
518
518
|
}), e;
|
|
519
519
|
}
|
|
@@ -532,16 +532,16 @@ var wt = class {
|
|
|
532
532
|
}
|
|
533
533
|
}, N = /* @__PURE__ */ function(e) {
|
|
534
534
|
return e.RENDERED = "rendered", e.MOVED = "moved", e.UPDATED = "updated", e.REMOVED = "removed", e.ON_PASTE = "onPaste", e;
|
|
535
|
-
}({}), Et = class extends
|
|
536
|
-
constructor({ id: e =
|
|
535
|
+
}({}), Et = class extends Le {
|
|
536
|
+
constructor({ id: e = c(), data: t, tool: n, readOnly: r, tunesData: i, parentId: a, contentIds: o, bindMutationWatchersImmediately: s = !1 }, l) {
|
|
537
537
|
super(), this.blokEventBus = null, this.draggableCleanup = null, this.didMutated = (e = void 0) => {
|
|
538
538
|
let t = this.mutationHandler.handleMutation(e);
|
|
539
539
|
t.newToolRoot && (this.toolRenderer.toolRenderedElement = t.newToolRoot), t.shouldFireUpdate && (this.inputManager.dropCache(), this.inputManager.updateCurrentInput(), this.toggleInputsEmptyMark(), this.call(N.UPDATED), this.emit("didMutated", this));
|
|
540
|
-
}, this.name = n.name, this.id = e, this.parentId = a == null ? null : a, this.contentIds =
|
|
540
|
+
}, this.name = n.name, this.id = e, this.parentId = a == null ? null : a, this.contentIds = o == null ? [] : o, this.settings = n.settings, this.config = this.settings, this.blokEventBus = l || null, this.blockAPI = new M(this), this.tool = n, this.toolInstance = n.create(t, this.blockAPI, r), this.tunes = n.tunes, this.tunesManager = new Tt(this.tunes, i, this.blockAPI), this.toolRenderer = new wt(this.toolInstance, this.name, this.id, this.tunesManager, this.config), this.holder = this.toolRenderer.compose(), this.ready = this.toolRenderer.ready, this.styleManager = new Ct(this.holder, this.toolRenderer.contentElement), this.selectionManager = new xt(this.holder, () => this.toolRenderer.contentElement, () => this.styleManager.stretched, this.blokEventBus, this.styleManager), this.inputManager = new dt(this.holder, () => this.didMutated()), this.mutationHandler = new bt(() => this.toolRenderer.toolRenderedElement, this.blokEventBus, (e) => this.didMutated(e)), this.dataPersistenceManager = new ut(this.toolInstance, () => this.toolRenderer.toolRenderedElement, this.tunesManager, this.name, () => this.isEmpty, this.inputManager, () => this.call(N.UPDATED), () => this.toggleInputsEmptyMark(), t, i);
|
|
541
541
|
let u = () => {
|
|
542
542
|
this.mutationHandler.watch(), this.inputManager.addInputEvents(), this.toggleInputsEmptyMark();
|
|
543
543
|
};
|
|
544
|
-
|
|
544
|
+
s ? u() : window.requestIdleCallback(u);
|
|
545
545
|
}
|
|
546
546
|
setupDraggable(e, t) {
|
|
547
547
|
this.cleanupDraggable(), this.draggableCleanup = t.setupDragHandle(e, this);
|
|
@@ -551,15 +551,15 @@ var wt = class {
|
|
|
551
551
|
}
|
|
552
552
|
call(e, t) {
|
|
553
553
|
let n = this.toolInstance[e];
|
|
554
|
-
if (
|
|
554
|
+
if (m(n)) try {
|
|
555
555
|
n.call(this.toolInstance, t);
|
|
556
556
|
} catch (t) {
|
|
557
|
-
|
|
557
|
+
E(`Error during '${e}' call: ${t instanceof Error ? t.message : String(t)}`, "error");
|
|
558
558
|
}
|
|
559
559
|
}
|
|
560
560
|
async mergeWith(e) {
|
|
561
561
|
var t = this;
|
|
562
|
-
if (!
|
|
562
|
+
if (!m(t.toolInstance.merge)) throw Error(`Block tool "${t.name}" does not support merging`);
|
|
563
563
|
await t.toolInstance.merge(e);
|
|
564
564
|
}
|
|
565
565
|
getContentOffset(e) {
|
|
@@ -587,7 +587,7 @@ var wt = class {
|
|
|
587
587
|
return this.dataPersistenceManager.setData(e);
|
|
588
588
|
}
|
|
589
589
|
destroy() {
|
|
590
|
-
this.mutationHandler.destroy(), this.inputManager.destroy(), this.draggableCleanup && (this.draggableCleanup(), this.draggableCleanup = null), super.destroy(),
|
|
590
|
+
this.mutationHandler.destroy(), this.inputManager.destroy(), this.draggableCleanup && (this.draggableCleanup(), this.draggableCleanup = null), super.destroy(), m(this.toolInstance.destroy) && this.toolInstance.destroy();
|
|
591
591
|
}
|
|
592
592
|
async getActiveToolboxEntry() {
|
|
593
593
|
var e = this;
|
|
@@ -595,7 +595,7 @@ var wt = class {
|
|
|
595
595
|
if (!t) return;
|
|
596
596
|
if (t.length === 1) return Promise.resolve(t[0]);
|
|
597
597
|
let n = await e.data;
|
|
598
|
-
return t.find((e) => e.data !== void 0 &&
|
|
598
|
+
return t.find((e) => e.data !== void 0 && Ae(e.data, n));
|
|
599
599
|
}
|
|
600
600
|
async exportDataAsString() {
|
|
601
601
|
var e = this, t;
|
|
@@ -638,13 +638,13 @@ var wt = class {
|
|
|
638
638
|
return this.tool.sanitizeConfig;
|
|
639
639
|
}
|
|
640
640
|
get mergeable() {
|
|
641
|
-
return
|
|
641
|
+
return m(this.toolInstance.merge);
|
|
642
642
|
}
|
|
643
643
|
get focusable() {
|
|
644
644
|
return this.inputs.length !== 0;
|
|
645
645
|
}
|
|
646
646
|
get isEmpty() {
|
|
647
|
-
let e =
|
|
647
|
+
let e = O.isEmpty(this.pluginsContent, "/"), t = !this.hasMedia;
|
|
648
648
|
return e && t;
|
|
649
649
|
}
|
|
650
650
|
get hasMedia() {
|
|
@@ -684,7 +684,7 @@ var wt = class {
|
|
|
684
684
|
this.toolRenderer.refreshToolRootElement(this.holder), this.inputManager.dropCache();
|
|
685
685
|
}
|
|
686
686
|
toggleInputsEmptyMark() {
|
|
687
|
-
this.inputs.forEach(
|
|
687
|
+
this.inputs.forEach(u);
|
|
688
688
|
}
|
|
689
689
|
}, Dt = class extends j {
|
|
690
690
|
constructor(...e) {
|
|
@@ -693,7 +693,7 @@ var wt = class {
|
|
|
693
693
|
let s = e == null ? this.config.defaultBlock : e, c = (() => {
|
|
694
694
|
if (!s) return s;
|
|
695
695
|
let e = r == null ? this.Blok.BlockManager.currentBlockIndex : r, t = this.Blok.BlockManager.getBlockByIndex(e);
|
|
696
|
-
return t !== void 0 &&
|
|
696
|
+
return t !== void 0 && $e(t) && de(s) ? "paragraph" : s;
|
|
697
697
|
})();
|
|
698
698
|
return new M(this.Blok.BlockManager.insert({
|
|
699
699
|
id: o,
|
|
@@ -719,15 +719,15 @@ var wt = class {
|
|
|
719
719
|
return new M(await i.update(a, n, r));
|
|
720
720
|
}, this.convert = async (e, n, r) => {
|
|
721
721
|
var i, a;
|
|
722
|
-
let { BlockManager: o, Tools:
|
|
723
|
-
if (!
|
|
724
|
-
let
|
|
725
|
-
if (!
|
|
726
|
-
let
|
|
727
|
-
if (
|
|
722
|
+
let { BlockManager: o, Tools: s } = t.Blok, c = o.getBlockById(e);
|
|
723
|
+
if (!c) throw Error(`Block with id "${e}" not found`);
|
|
724
|
+
let l = s.blockTools.get(c.name), u = s.blockTools.get(n);
|
|
725
|
+
if (!u) throw Error(`Block Tool with type "${n}" not found`);
|
|
726
|
+
let d = (l == null || (i = l.conversionConfig) == null ? void 0 : i.export) !== void 0, f = ((a = u.conversionConfig) == null ? void 0 : a.import) !== void 0;
|
|
727
|
+
if (d && f) return new M(await o.convert(c, n, r));
|
|
728
728
|
{
|
|
729
|
-
let e = [
|
|
730
|
-
throw Error(`Conversion from "${
|
|
729
|
+
let e = [d ? !1 : Pe(c.name), f ? !1 : Pe(n)].filter(Boolean).join(" and ");
|
|
730
|
+
throw Error(`Conversion from "${c.name}" to "${n}" is not possible. ${e} tool(s) should provide a "conversionConfig"`);
|
|
731
731
|
}
|
|
732
732
|
}, this.insertMany = (e, t = this.Blok.BlockManager.blocks.length - 1) => {
|
|
733
733
|
this.validateIndex(t);
|
|
@@ -792,7 +792,7 @@ var wt = class {
|
|
|
792
792
|
getBlockIndex(e) {
|
|
793
793
|
let t = this.Blok.BlockManager.getBlockById(e);
|
|
794
794
|
if (!t) {
|
|
795
|
-
|
|
795
|
+
_("There is no block with id `" + e + "`", "warn");
|
|
796
796
|
return;
|
|
797
797
|
}
|
|
798
798
|
return this.Blok.BlockManager.getBlockIndex(t);
|
|
@@ -800,20 +800,20 @@ var wt = class {
|
|
|
800
800
|
getBlockByIndex(e) {
|
|
801
801
|
let t = this.Blok.BlockManager.getBlockByIndex(e);
|
|
802
802
|
if (t === void 0) {
|
|
803
|
-
|
|
803
|
+
_("There is no block at index `" + e + "`", "warn");
|
|
804
804
|
return;
|
|
805
805
|
}
|
|
806
806
|
return new M(t);
|
|
807
807
|
}
|
|
808
808
|
getById(e) {
|
|
809
809
|
let t = this.Blok.BlockManager.getBlockById(e);
|
|
810
|
-
return t === void 0 ? (
|
|
810
|
+
return t === void 0 ? (_("There is no block with id `" + e + "`", "warn"), null) : new M(t);
|
|
811
811
|
}
|
|
812
812
|
getBlockByElement(e) {
|
|
813
813
|
let t = this.Blok.BlockManager.getBlock(e);
|
|
814
814
|
if (t === void 0) {
|
|
815
815
|
var n, r;
|
|
816
|
-
|
|
816
|
+
_(`There is no block corresponding to element <${(n = (r = e.tagName) == null ? void 0 : r.toLowerCase()) == null ? "unknown" : n}>`, "warn");
|
|
817
817
|
return;
|
|
818
818
|
}
|
|
819
819
|
return new M(t);
|
|
@@ -828,13 +828,13 @@ var wt = class {
|
|
|
828
828
|
var t = this;
|
|
829
829
|
let n = t.Blok.BlockManager.getBlockByIndex(e);
|
|
830
830
|
if (n === void 0) {
|
|
831
|
-
|
|
831
|
+
_(`There is no block at index \`${e}\``, "warn");
|
|
832
832
|
return;
|
|
833
833
|
}
|
|
834
834
|
try {
|
|
835
835
|
await t.Blok.BlockManager.removeBlock(n);
|
|
836
836
|
} catch (e) {
|
|
837
|
-
|
|
837
|
+
_(e, "warn");
|
|
838
838
|
return;
|
|
839
839
|
}
|
|
840
840
|
t.Blok.BlockManager.currentBlock && t.Blok.Caret.setToBlock(t.Blok.BlockManager.currentBlock, t.Blok.Caret.positions.END), t.Blok.Toolbar.close();
|
|
@@ -871,7 +871,7 @@ var wt = class {
|
|
|
871
871
|
setBlockParent(e, t) {
|
|
872
872
|
let n = this.Blok.BlockManager.getBlockById(e);
|
|
873
873
|
if (n === void 0) {
|
|
874
|
-
|
|
874
|
+
_("There is no block with id `" + e + "`", "warn");
|
|
875
875
|
return;
|
|
876
876
|
}
|
|
877
877
|
this.Blok.BlockManager.setBlockParent(n, t);
|
|
@@ -1026,7 +1026,7 @@ var wt = class {
|
|
|
1026
1026
|
this.notifierModule = null, this.loadingPromise = null;
|
|
1027
1027
|
}
|
|
1028
1028
|
loadNotifierModule() {
|
|
1029
|
-
return this.notifierModule === null ? (this.loadingPromise === null && (this.loadingPromise = import("./notifier-
|
|
1029
|
+
return this.notifierModule === null ? (this.loadingPromise === null && (this.loadingPromise = import("./notifier-B1zCi9G1.mjs").then((e) => {
|
|
1030
1030
|
let t = e;
|
|
1031
1031
|
if (!this.isNotifierModule(t)) throw Error("notifier module does not expose a \"show\" method.");
|
|
1032
1032
|
return this.notifierModule = t, t;
|
|
@@ -1082,7 +1082,7 @@ var wt = class {
|
|
|
1082
1082
|
return { clean: (e, t) => this.clean(e, t) };
|
|
1083
1083
|
}
|
|
1084
1084
|
clean(e, t) {
|
|
1085
|
-
return
|
|
1085
|
+
return Ee(e, t);
|
|
1086
1086
|
}
|
|
1087
1087
|
}, Bt = class extends j {
|
|
1088
1088
|
get methods() {
|
|
@@ -1091,7 +1091,7 @@ var wt = class {
|
|
|
1091
1091
|
async save() {
|
|
1092
1092
|
var e = this, t, n;
|
|
1093
1093
|
let r = "Blok's content can not be saved in read-only mode";
|
|
1094
|
-
if (e.Blok.ReadOnly.isEnabled) throw
|
|
1094
|
+
if (e.Blok.ReadOnly.isEnabled) throw _(r, "warn"), Error(r);
|
|
1095
1095
|
let i = await e.Blok.Saver.save();
|
|
1096
1096
|
if (i !== void 0) return i;
|
|
1097
1097
|
let a = (t = (n = e.Blok.Saver).getLastSaveError) == null ? void 0 : t.call(n);
|
|
@@ -1101,7 +1101,7 @@ var wt = class {
|
|
|
1101
1101
|
}
|
|
1102
1102
|
}, Vt = class extends j {
|
|
1103
1103
|
constructor(...e) {
|
|
1104
|
-
super(...e), this.selectionUtils = new
|
|
1104
|
+
super(...e), this.selectionUtils = new T();
|
|
1105
1105
|
}
|
|
1106
1106
|
get methods() {
|
|
1107
1107
|
return {
|
|
@@ -1152,14 +1152,14 @@ var wt = class {
|
|
|
1152
1152
|
}
|
|
1153
1153
|
toggleBlockSettings(e) {
|
|
1154
1154
|
if (this.Blok.BlockManager.currentBlockIndex === -1) {
|
|
1155
|
-
|
|
1155
|
+
_("Could't toggle the Toolbar because there is no block selected ", "warn");
|
|
1156
1156
|
return;
|
|
1157
1157
|
}
|
|
1158
1158
|
(e == null ? !this.Blok.BlockSettings.opened : e) ? (this.Blok.Toolbar.moveAndOpen(), this.Blok.BlockSettings.open()) : this.Blok.BlockSettings.close();
|
|
1159
1159
|
}
|
|
1160
1160
|
toggleToolbox(e) {
|
|
1161
1161
|
if (this.Blok.BlockManager.currentBlockIndex === -1) {
|
|
1162
|
-
|
|
1162
|
+
_("Could't toggle the Toolbox because there is no block selected ", "warn");
|
|
1163
1163
|
return;
|
|
1164
1164
|
}
|
|
1165
1165
|
(e == null ? !this.Blok.Toolbar.toolbox.opened : e) ? (this.Blok.Toolbar.moveAndOpen(), this.Blok.Toolbar.toolbox.open()) : this.Blok.Toolbar.toolbox.close();
|
|
@@ -1182,14 +1182,14 @@ var wt = class {
|
|
|
1182
1182
|
onHover: (e, t, n) => this.onHover(e, t, n)
|
|
1183
1183
|
};
|
|
1184
1184
|
}
|
|
1185
|
-
show(e, t,
|
|
1186
|
-
|
|
1185
|
+
show(e, t, r) {
|
|
1186
|
+
n(e, t, r);
|
|
1187
1187
|
}
|
|
1188
1188
|
hide() {
|
|
1189
|
-
|
|
1189
|
+
be();
|
|
1190
1190
|
}
|
|
1191
1191
|
onHover(e, t, n) {
|
|
1192
|
-
|
|
1192
|
+
ce(e, t, n);
|
|
1193
1193
|
}
|
|
1194
1194
|
}, Kt = class extends j {
|
|
1195
1195
|
get methods() {
|
|
@@ -1410,16 +1410,16 @@ var En = (e, t) => an(t, () => e).join(""), Dn = class {
|
|
|
1410
1410
|
}
|
|
1411
1411
|
}, Zn = (e) => Error(e), R = () => {
|
|
1412
1412
|
throw Zn("Method unimplemented");
|
|
1413
|
-
},
|
|
1413
|
+
}, Qn = () => {
|
|
1414
1414
|
throw Zn("Unexpected case");
|
|
1415
1415
|
};
|
|
1416
1416
|
crypto.subtle;
|
|
1417
|
-
var
|
|
1417
|
+
var $n = crypto.getRandomValues.bind(crypto), er = () => $n(new Uint32Array(1))[0], tr = "10000000-1000-4000-8000-100000000000", nr = () => tr.replace(/[018]/g, (e) => (e ^ er() & 15 >> e / 4).toString(16)), rr = Date.now, ir = (e) => new Promise(e);
|
|
1418
1418
|
Promise.all.bind(Promise);
|
|
1419
1419
|
//#endregion
|
|
1420
1420
|
//#region node_modules/lib0/conditions.js
|
|
1421
1421
|
/* c8 ignore next */
|
|
1422
|
-
var
|
|
1422
|
+
var ar = (e) => e === void 0 ? null : e, or = new class {
|
|
1423
1423
|
constructor() {
|
|
1424
1424
|
this.map = /* @__PURE__ */ new Map();
|
|
1425
1425
|
}
|
|
@@ -1432,37 +1432,37 @@ var ir = (e) => e === void 0 ? null : e, ar = new class {
|
|
|
1432
1432
|
}();
|
|
1433
1433
|
/* c8 ignore start */
|
|
1434
1434
|
try {
|
|
1435
|
-
typeof localStorage < "u" && localStorage && (
|
|
1435
|
+
typeof localStorage < "u" && localStorage && (or = localStorage);
|
|
1436
1436
|
} catch (e) {}
|
|
1437
1437
|
/* c8 ignore stop */
|
|
1438
1438
|
/* c8 ignore next */
|
|
1439
|
-
var
|
|
1439
|
+
var sr = or, cr = Symbol("Equality"), lr = (e, t) => {
|
|
1440
1440
|
var n;
|
|
1441
|
-
return e === t || !!(!(e == null || (n = e[
|
|
1442
|
-
},
|
|
1441
|
+
return e === t || !!(!(e == null || (n = e[cr]) == null) && n.call(e, t)) || !1;
|
|
1442
|
+
}, ur = (e) => typeof e == "object", dr = Object.assign, fr = Object.keys, pr = (e, t) => {
|
|
1443
1443
|
for (let n in e) t(e[n], n);
|
|
1444
|
-
},
|
|
1444
|
+
}, mr = (e) => fr(e).length, hr = (e) => {
|
|
1445
1445
|
for (let t in e) return !1;
|
|
1446
1446
|
return !0;
|
|
1447
|
-
},
|
|
1447
|
+
}, gr = (e, t) => {
|
|
1448
1448
|
for (let n in e) if (!t(e[n], n)) return !1;
|
|
1449
1449
|
return !0;
|
|
1450
|
-
},
|
|
1450
|
+
}, _r = (e, t) => Object.prototype.hasOwnProperty.call(e, t), vr = (e, t) => e === t || mr(e) === mr(t) && gr(e, (e, n) => (e !== void 0 || _r(t, n)) && lr(t[n], e)), yr = Object.freeze, br = (e) => {
|
|
1451
1451
|
for (let t in e) {
|
|
1452
1452
|
let n = e[t];
|
|
1453
|
-
(typeof n == "object" || typeof n == "function") &&
|
|
1453
|
+
(typeof n == "object" || typeof n == "function") && br(e[t]);
|
|
1454
1454
|
}
|
|
1455
|
-
return
|
|
1456
|
-
},
|
|
1455
|
+
return yr(e);
|
|
1456
|
+
}, xr = (e, t, n = 0) => {
|
|
1457
1457
|
try {
|
|
1458
1458
|
for (; n < e.length; n++) e[n](...t);
|
|
1459
1459
|
} finally {
|
|
1460
|
-
n < e.length &&
|
|
1460
|
+
n < e.length && xr(e, t, n + 1);
|
|
1461
1461
|
}
|
|
1462
|
-
},
|
|
1462
|
+
}, Sr = (e, t) => {
|
|
1463
1463
|
if (e === t) return !0;
|
|
1464
1464
|
if (e == null || t == null || e.constructor !== t.constructor && (e.constructor || Object) !== (t.constructor || Object)) return !1;
|
|
1465
|
-
if (e[
|
|
1465
|
+
if (e[cr] != null) return e[cr](t);
|
|
1466
1466
|
switch (e.constructor) {
|
|
1467
1467
|
case ArrayBuffer: e = new Uint8Array(e), t = new Uint8Array(t);
|
|
1468
1468
|
case Uint8Array:
|
|
@@ -1475,47 +1475,47 @@ var or = ar, sr = Symbol("Equality"), cr = (e, t) => {
|
|
|
1475
1475
|
break;
|
|
1476
1476
|
case Map:
|
|
1477
1477
|
if (e.size !== t.size) return !1;
|
|
1478
|
-
for (let n of e.keys()) if (!t.has(n) || !
|
|
1478
|
+
for (let n of e.keys()) if (!t.has(n) || !Sr(e.get(n), t.get(n))) return !1;
|
|
1479
1479
|
break;
|
|
1480
1480
|
case void 0:
|
|
1481
1481
|
case Object:
|
|
1482
|
-
if (
|
|
1483
|
-
for (let n in e) if (!
|
|
1482
|
+
if (mr(e) !== mr(t)) return !1;
|
|
1483
|
+
for (let n in e) if (!_r(e, n) || !Sr(e[n], t[n])) return !1;
|
|
1484
1484
|
break;
|
|
1485
1485
|
case Array:
|
|
1486
1486
|
if (e.length !== t.length) return !1;
|
|
1487
|
-
for (let n = 0; n < e.length; n++) if (!
|
|
1487
|
+
for (let n = 0; n < e.length; n++) if (!Sr(e[n], t[n])) return !1;
|
|
1488
1488
|
break;
|
|
1489
1489
|
default: return !1;
|
|
1490
1490
|
}
|
|
1491
1491
|
return !0;
|
|
1492
|
-
},
|
|
1492
|
+
}, Cr = (e, t) => t.includes(e), wr = typeof process < "u" && process.release && /node|io\.js/.test(process.release.name) && Object.prototype.toString.call(typeof process < "u" ? process : 0) === "[object process]";
|
|
1493
1493
|
typeof navigator < "u" && /Mac/.test(navigator.platform);
|
|
1494
|
-
var
|
|
1495
|
-
if (
|
|
1496
|
-
|
|
1494
|
+
var z, Tr = [], Er = () => {
|
|
1495
|
+
if (z === void 0) if (wr) {
|
|
1496
|
+
z = P();
|
|
1497
1497
|
let e = process.argv, t = null;
|
|
1498
1498
|
for (let n = 0; n < e.length; n++) {
|
|
1499
1499
|
let r = e[n];
|
|
1500
|
-
r[0] === "-" ? (t !== null &&
|
|
1500
|
+
r[0] === "-" ? (t !== null && z.set(t, ""), t = r) : t === null ? Tr.push(r) : (z.set(t, r), t = null);
|
|
1501
1501
|
}
|
|
1502
|
-
t !== null &&
|
|
1503
|
-
} else typeof location == "object" ? (
|
|
1502
|
+
t !== null && z.set(t, "");
|
|
1503
|
+
} else typeof location == "object" ? (z = P(), (location.search || "?").slice(1).split("&").forEach((e) => {
|
|
1504
1504
|
if (e.length !== 0) {
|
|
1505
1505
|
let [t, n] = e.split("=");
|
|
1506
|
-
|
|
1506
|
+
z.set(`--${xn(t, "-")}`, n), z.set(`-${xn(t, "-")}`, n);
|
|
1507
1507
|
}
|
|
1508
|
-
})) :
|
|
1509
|
-
return
|
|
1510
|
-
},
|
|
1508
|
+
})) : z = P();
|
|
1509
|
+
return z;
|
|
1510
|
+
}, Dr = (e) => Er().has(e), Or = (e) => ar(wr ? process.env[e.toUpperCase().replaceAll("-", "_")] : sr.getItem(e)), kr = (e) => Dr("--" + e) || Or(e) !== null, Ar = kr("production"), jr = wr && Cr(process.env.FORCE_COLOR, [
|
|
1511
1511
|
"true",
|
|
1512
1512
|
"1",
|
|
1513
1513
|
"2"
|
|
1514
|
-
]) || !
|
|
1514
|
+
]) || !Dr("--no-colors") && !kr("no-color") && (!wr || process.stdout.isTTY) && (!wr || Dr("--color") || Or("COLORTERM") !== null || (Or("TERM") || "").includes("color")), Mr = class {
|
|
1515
1515
|
constructor(e, t) {
|
|
1516
1516
|
this.left = e, this.right = t;
|
|
1517
1517
|
}
|
|
1518
|
-
},
|
|
1518
|
+
}, B = (e, t) => new Mr(e, t), Nr = (e) => e.next() >= .5, Pr = (e, t, n) => cn(e.next() * (n + 1 - t) + t), Fr = (e, t, n) => cn(e.next() * (n + 1 - t) + t), Ir = (e, t, n) => Fr(e, t, n), Lr = (e) => gn(Ir(e, 97, 122)), Rr = (e, t = 0, n = 20) => {
|
|
1519
1519
|
let r = Ir(e, t, n), i = "";
|
|
1520
1520
|
for (let t = 0; t < r; t++) i += Lr(e);
|
|
1521
1521
|
return i;
|
|
@@ -1540,15 +1540,15 @@ var B, wr = [], Tr = () => {
|
|
|
1540
1540
|
}
|
|
1541
1541
|
return e.join("\n");
|
|
1542
1542
|
}
|
|
1543
|
-
}, Ur = (e, t) => e === t ? !0 : e == null || t == null || e.constructor !== t.constructor ? !1 : e[
|
|
1544
|
-
Br =
|
|
1543
|
+
}, Ur = (e, t) => e === t ? !0 : e == null || t == null || e.constructor !== t.constructor ? !1 : e[cr] ? lr(e, t) : on(e) ? nn(e, (e) => rn(t, (t) => Ur(e, t))) : ur(e) ? gr(e, (e, n) => Ur(e, t[n])) : !1;
|
|
1544
|
+
Br = cr;
|
|
1545
1545
|
var V = class {
|
|
1546
1546
|
extends(e) {
|
|
1547
1547
|
let [t, n] = [this.shape, e.shape];
|
|
1548
1548
|
return this.constructor._dilutes && ([n, t] = [t, n]), Ur(t, n);
|
|
1549
1549
|
}
|
|
1550
1550
|
equals(e) {
|
|
1551
|
-
return this.constructor === e.constructor &&
|
|
1551
|
+
return this.constructor === e.constructor && Sr(this.shape, e.shape);
|
|
1552
1552
|
}
|
|
1553
1553
|
[Vr]() {
|
|
1554
1554
|
return !0;
|
|
@@ -1613,7 +1613,7 @@ var Kr = class extends V {
|
|
|
1613
1613
|
if (ji.check(e)) return [".*"];
|
|
1614
1614
|
if (xi.check(e)) return e.shape.map(Xr).flat(1);
|
|
1615
1615
|
/* c8 ignore next 2 */
|
|
1616
|
-
|
|
1616
|
+
Qn();
|
|
1617
1617
|
};
|
|
1618
1618
|
H(class extends V {
|
|
1619
1619
|
constructor(e) {
|
|
@@ -1649,8 +1649,8 @@ var ti = class e extends V {
|
|
|
1649
1649
|
return new e(this.shape, !0);
|
|
1650
1650
|
}
|
|
1651
1651
|
check(e, t) {
|
|
1652
|
-
return e == null ? (t == null || t.extend(null, "object", "null"), !1) :
|
|
1653
|
-
let i = this._isPartial && !
|
|
1652
|
+
return e == null ? (t == null || t.extend(null, "object", "null"), !1) : gr(this.shape, (n, r) => {
|
|
1653
|
+
let i = this._isPartial && !_r(e, r) || n.check(e[r], t);
|
|
1654
1654
|
return !i && (t == null || t.extend(r.toString(), n.toString(), typeof e[r], "Object property does not match")), i;
|
|
1655
1655
|
});
|
|
1656
1656
|
}
|
|
@@ -1664,7 +1664,7 @@ var ni = (e) => new ti(e), ri = H(ti), ii = U((e) => e != null && (e.constructor
|
|
|
1664
1664
|
};
|
|
1665
1665
|
}
|
|
1666
1666
|
check(e, t) {
|
|
1667
|
-
return e != null &&
|
|
1667
|
+
return e != null && gr(e, (n, r) => {
|
|
1668
1668
|
let i = this.shape.keys.check(r, t);
|
|
1669
1669
|
return !i && (t == null || t.extend(r + "", "Record", typeof e, i ? "Key doesn't match schema" : "Value doesn't match value")), i && this.shape.values.check(n, t);
|
|
1670
1670
|
});
|
|
@@ -1674,7 +1674,7 @@ var ni = (e) => new ti(e), ri = H(ti), ii = U((e) => e != null && (e.constructor
|
|
|
1674
1674
|
super(), this.shape = e;
|
|
1675
1675
|
}
|
|
1676
1676
|
check(e, t) {
|
|
1677
|
-
return e != null &&
|
|
1677
|
+
return e != null && gr(this.shape, (n, r) => {
|
|
1678
1678
|
let i = n.check(e[r], t);
|
|
1679
1679
|
return !i && (t == null || t.extend(r.toString(), "Tuple", typeof n)), i;
|
|
1680
1680
|
});
|
|
@@ -1748,8 +1748,8 @@ var Ri = (e) => {
|
|
|
1748
1748
|
else if (Li.check(e)) return qr(e);
|
|
1749
1749
|
else if (vi.check(e)) return H(e);
|
|
1750
1750
|
/* c8 ignore next */
|
|
1751
|
-
|
|
1752
|
-
}, zi =
|
|
1751
|
+
Qn();
|
|
1752
|
+
}, zi = Ar ? () => {} : (e, t) => {
|
|
1753
1753
|
let n = new Hr();
|
|
1754
1754
|
if (!t.check(e, n)) throw Zn(`Expected value to be of type ${t.constructor.name}.\n${n.toString()}`);
|
|
1755
1755
|
}, Bi = class {
|
|
@@ -1835,21 +1835,21 @@ var Yi = Symbol, Xi = Yi(), Zi = Yi(), Qi = Yi(), $i = Yi(), ea = Yi(), ta = Yi(
|
|
|
1835
1835
|
}
|
|
1836
1836
|
return r;
|
|
1837
1837
|
};
|
|
1838
|
-
|
|
1838
|
+
rr();
|
|
1839
1839
|
/* c8 ignore stop */
|
|
1840
1840
|
//#endregion
|
|
1841
1841
|
//#region node_modules/lib0/logging.js
|
|
1842
1842
|
var oa = {
|
|
1843
|
-
[Xi]:
|
|
1844
|
-
[Zi]:
|
|
1845
|
-
[Qi]:
|
|
1846
|
-
[ea]:
|
|
1847
|
-
[$i]:
|
|
1848
|
-
[ta]:
|
|
1849
|
-
[na]:
|
|
1850
|
-
[ra]:
|
|
1851
|
-
[ia]:
|
|
1852
|
-
}, sa =
|
|
1843
|
+
[Xi]: B("font-weight", "bold"),
|
|
1844
|
+
[Zi]: B("font-weight", "normal"),
|
|
1845
|
+
[Qi]: B("color", "blue"),
|
|
1846
|
+
[ea]: B("color", "green"),
|
|
1847
|
+
[$i]: B("color", "grey"),
|
|
1848
|
+
[ta]: B("color", "red"),
|
|
1849
|
+
[na]: B("color", "purple"),
|
|
1850
|
+
[ra]: B("color", "orange"),
|
|
1851
|
+
[ia]: B("color", "black")
|
|
1852
|
+
}, sa = jr ? (e) => {
|
|
1853
1853
|
var t;
|
|
1854
1854
|
e.length === 1 && ((t = e[0]) == null ? void 0 : t.constructor) === Function && (e = e[0]());
|
|
1855
1855
|
let n = [], r = [], i = P(), a = [], o = 0;
|
|
@@ -1950,14 +1950,14 @@ var oa = {
|
|
|
1950
1950
|
e.writeDsClock(r.clock), e.writeDsLen(r.len);
|
|
1951
1951
|
}
|
|
1952
1952
|
});
|
|
1953
|
-
}, wa =
|
|
1954
|
-
constructor({ guid: e =
|
|
1955
|
-
super(), this.gc = n, this.gcFilter = r, this.clientID = wa(), this.guid = e, this.collectionid = t, this.share = /* @__PURE__ */ new Map(), this.store = new Ga(), this._transaction = null, this._transactionCleanups = [], this.subdocs = /* @__PURE__ */ new Set(), this._item = null, this.shouldLoad = o, this.autoLoad = a, this.meta = i, this.isLoaded = !1, this.isSynced = !1, this.isDestroyed = !1, this.whenLoaded =
|
|
1953
|
+
}, wa = er, Ta = class e extends sn {
|
|
1954
|
+
constructor({ guid: e = nr(), collectionid: t = null, gc: n = !0, gcFilter: r = () => !0, meta: i = null, autoLoad: a = !1, shouldLoad: o = !0 } = {}) {
|
|
1955
|
+
super(), this.gc = n, this.gcFilter = r, this.clientID = wa(), this.guid = e, this.collectionid = t, this.share = /* @__PURE__ */ new Map(), this.store = new Ga(), this._transaction = null, this._transactionCleanups = [], this.subdocs = /* @__PURE__ */ new Set(), this._item = null, this.shouldLoad = o, this.autoLoad = a, this.meta = i, this.isLoaded = !1, this.isSynced = !1, this.isDestroyed = !1, this.whenLoaded = ir((e) => {
|
|
1956
1956
|
this.on("load", () => {
|
|
1957
1957
|
this.isLoaded = !0, e(this);
|
|
1958
1958
|
});
|
|
1959
1959
|
});
|
|
1960
|
-
let s = () =>
|
|
1960
|
+
let s = () => ir((e) => {
|
|
1961
1961
|
let t = (n) => {
|
|
1962
1962
|
(n === void 0 || n === !0) && (this.off("sync", t), e());
|
|
1963
1963
|
};
|
|
@@ -2097,7 +2097,7 @@ var oa = {
|
|
|
2097
2097
|
this.dsCurrVal = e, I(this.restEncoder, t);
|
|
2098
2098
|
}
|
|
2099
2099
|
writeDsLen(e) {
|
|
2100
|
-
e === 0 &&
|
|
2100
|
+
e === 0 && Qn(), I(this.restEncoder, e - 1), this.dsCurrVal += e;
|
|
2101
2101
|
}
|
|
2102
2102
|
}, ka = class extends Oa {
|
|
2103
2103
|
constructor() {
|
|
@@ -2167,13 +2167,13 @@ var oa = {
|
|
|
2167
2167
|
}, Pa = () => new Na(), Fa = (e, t) => e.l.push(t), Ia = (e, t) => {
|
|
2168
2168
|
let n = e.l, r = n.length;
|
|
2169
2169
|
e.l = n.filter((e) => t !== e), r === e.l.length && console.error("[yjs] Tried to remove event handler that doesn't exist.");
|
|
2170
|
-
}, La = (e, t, n) =>
|
|
2170
|
+
}, La = (e, t, n) => xr(e.l, [t, n]), Ra = class {
|
|
2171
2171
|
constructor(e, t) {
|
|
2172
2172
|
this.client = e, this.clock = t;
|
|
2173
2173
|
}
|
|
2174
2174
|
}, za = (e, t) => e === t || e !== null && t !== null && e.client === t.client && e.clock === t.clock, W = (e, t) => new Ra(e, t), Ba = (e) => {
|
|
2175
2175
|
for (let [t, n] of e.doc.share.entries()) if (n === e) return t;
|
|
2176
|
-
throw
|
|
2176
|
+
throw Qn();
|
|
2177
2177
|
}, Va = (e, t) => {
|
|
2178
2178
|
for (; t !== null;) {
|
|
2179
2179
|
if (t.parent === e) return !0;
|
|
@@ -2211,7 +2211,7 @@ var Ua = (e, t) => t === void 0 ? !e.deleted : t.sv.has(e.id.client) && (t.sv.ge
|
|
|
2211
2211
|
if (n === void 0) n = [], e.clients.set(t.id.client, n);
|
|
2212
2212
|
else {
|
|
2213
2213
|
let e = n[n.length - 1];
|
|
2214
|
-
if (e.id.clock + e.length !== t.id.clock) throw
|
|
2214
|
+
if (e.id.clock + e.length !== t.id.clock) throw Qn();
|
|
2215
2215
|
}
|
|
2216
2216
|
n.push(t);
|
|
2217
2217
|
}, Ja = (e, t) => {
|
|
@@ -2225,7 +2225,7 @@ var Ua = (e, t) => t === void 0 ? !e.deleted : t.sv.has(e.id.client) && (t.sv.ge
|
|
|
2225
2225
|
} else r = o - 1;
|
|
2226
2226
|
o = cn((n + r) / 2);
|
|
2227
2227
|
}
|
|
2228
|
-
throw
|
|
2228
|
+
throw Qn();
|
|
2229
2229
|
}, Ya = (e, t) => {
|
|
2230
2230
|
let n = e.clients.get(t.client);
|
|
2231
2231
|
return n[Ja(n, t.clock)];
|
|
@@ -2303,7 +2303,7 @@ var Ua = (e, t) => t === void 0 ? !e.deleted : t.sv.has(e.id.client) && (t.sv.ge
|
|
|
2303
2303
|
}), e.push(() => r.emit("afterTransaction", [n, r])), e.push(() => {
|
|
2304
2304
|
n._needFormattingCleanup && is(n);
|
|
2305
2305
|
});
|
|
2306
|
-
}),
|
|
2306
|
+
}), xr(e, []);
|
|
2307
2307
|
} finally {
|
|
2308
2308
|
r.gc && io(a, i, r.gcFilter), ao(a, i), n.afterState.forEach((e, t) => {
|
|
2309
2309
|
let r = n.beforeState.get(t) || 0;
|
|
@@ -2418,7 +2418,7 @@ var Ua = (e, t) => t === void 0 ? !e.deleted : t.sv.has(e.id.client) && (t.sv.ge
|
|
|
2418
2418
|
let r = e.beforeState.get(n) || 0, a = t - r;
|
|
2419
2419
|
a > 0 && xa(i, n, r, a);
|
|
2420
2420
|
});
|
|
2421
|
-
let a =
|
|
2421
|
+
let a = rr(), o = !1;
|
|
2422
2422
|
if (this.lastChange > 0 && a - this.lastChange < this.captureTimeout && r.length > 0 && !t && !n) {
|
|
2423
2423
|
let t = r[r.length - 1];
|
|
2424
2424
|
t.deletions = ba([t.deletions, e.deleteSet]), t.insertions = ba([t.insertions, i]);
|
|
@@ -2964,12 +2964,12 @@ var Ua = (e, t) => t === void 0 ? !e.deleted : t.sv.has(e.id.client) && (t.sv.ge
|
|
|
2964
2964
|
_write(e) {
|
|
2965
2965
|
e.writeTypeRef(ws);
|
|
2966
2966
|
}
|
|
2967
|
-
}, Go = (e, t) => e === t || typeof e == "object" && typeof t == "object" && e && t &&
|
|
2967
|
+
}, Go = (e, t) => e === t || typeof e == "object" && typeof t == "object" && e && t && vr(e, t), Ko = class {
|
|
2968
2968
|
constructor(e, t, n, r) {
|
|
2969
2969
|
this.left = e, this.right = t, this.index = n, this.currentAttributes = r;
|
|
2970
2970
|
}
|
|
2971
2971
|
forward() {
|
|
2972
|
-
switch (this.right === null &&
|
|
2972
|
+
switch (this.right === null && Qn(), this.right.content.constructor) {
|
|
2973
2973
|
case Z:
|
|
2974
2974
|
this.right.deleted || Xo(this.currentAttributes, this.right.content);
|
|
2975
2975
|
break;
|
|
@@ -3178,7 +3178,7 @@ var Ua = (e, t) => t === void 0 ? !e.deleted : t.sv.has(e.id.client) && (t.sv.ge
|
|
|
3178
3178
|
}))), s = "";
|
|
3179
3179
|
break;
|
|
3180
3180
|
case "retain":
|
|
3181
|
-
c > 0 && (e = { retain: c },
|
|
3181
|
+
c > 0 && (e = { retain: c }, hr(o) || (e.attributes = dr({}, o))), c = 0;
|
|
3182
3182
|
break;
|
|
3183
3183
|
}
|
|
3184
3184
|
e && t.push(e), a = null;
|
|
@@ -3513,7 +3513,7 @@ var Ua = (e, t) => t === void 0 ? !e.deleted : t.sv.has(e.id.client) && (t.sv.ge
|
|
|
3513
3513
|
}
|
|
3514
3514
|
clone() {
|
|
3515
3515
|
let t = new e(this.nodeName);
|
|
3516
|
-
return
|
|
3516
|
+
return pr(this.getAttributes(), (e, n) => {
|
|
3517
3517
|
t.setAttribute(n, e);
|
|
3518
3518
|
}), t.insert(0, this.toArray().map((e) => e instanceof Y ? e.clone() : e)), t;
|
|
3519
3519
|
}
|
|
@@ -3767,9 +3767,9 @@ var Ua = (e, t) => t === void 0 ? !e.deleted : t.sv.has(e.id.client) && (t.sv.ge
|
|
|
3767
3767
|
getRef() {
|
|
3768
3768
|
return 6;
|
|
3769
3769
|
}
|
|
3770
|
-
}, bs =
|
|
3770
|
+
}, bs = Or("node_env") === "development", xs = class e {
|
|
3771
3771
|
constructor(e) {
|
|
3772
|
-
this.arr = e, bs &&
|
|
3772
|
+
this.arr = e, bs && br(e);
|
|
3773
3773
|
}
|
|
3774
3774
|
getLength() {
|
|
3775
3775
|
return this.arr.length;
|
|
@@ -4028,7 +4028,7 @@ var Ua = (e, t) => t === void 0 ? !e.deleted : t.sv.has(e.id.client) && (t.sv.ge
|
|
|
4028
4028
|
}
|
|
4029
4029
|
}
|
|
4030
4030
|
gc(e, t) {
|
|
4031
|
-
if (!this.deleted) throw
|
|
4031
|
+
if (!this.deleted) throw Qn();
|
|
4032
4032
|
this.content.gc(e), t ? Qa(e, this, new ms(this.id, this.length)) : this.content = new gs(this.length);
|
|
4033
4033
|
}
|
|
4034
4034
|
write(e, t) {
|
|
@@ -4041,7 +4041,7 @@ var Ua = (e, t) => t === void 0 ? !e.deleted : t.sv.has(e.id.client) && (t.sv.ge
|
|
|
4041
4041
|
let n = Ba(t);
|
|
4042
4042
|
e.writeParentInfo(!0), e.writeString(n);
|
|
4043
4043
|
} else e.writeParentInfo(!1), e.writeLeftID(n.id);
|
|
4044
|
-
} else t.constructor === String ? (e.writeParentInfo(!0), e.writeString(t)) : t.constructor === Ra ? (e.writeParentInfo(!1), e.writeLeftID(t)) :
|
|
4044
|
+
} else t.constructor === String ? (e.writeParentInfo(!0), e.writeString(t)) : t.constructor === Ra ? (e.writeParentInfo(!1), e.writeLeftID(t)) : Qn();
|
|
4045
4045
|
i !== null && e.writeString(i);
|
|
4046
4046
|
}
|
|
4047
4047
|
this.content.write(e, t);
|
|
@@ -4190,7 +4190,7 @@ var Is = class {
|
|
|
4190
4190
|
let r = this.getBlockById(e);
|
|
4191
4191
|
if (r === void 0) return;
|
|
4192
4192
|
let i = r.get("data");
|
|
4193
|
-
|
|
4193
|
+
Ie(i.get(t), n) || this.transact(() => {
|
|
4194
4194
|
i.set(t, n);
|
|
4195
4195
|
}, "local");
|
|
4196
4196
|
}
|
|
@@ -4275,9 +4275,9 @@ var Is = class {
|
|
|
4275
4275
|
e.focus();
|
|
4276
4276
|
let r = window.getSelection();
|
|
4277
4277
|
if (!r) return;
|
|
4278
|
-
let i = n ?
|
|
4278
|
+
let i = n ? O.getDeepestNode(e, !1) : O.getDeepestNode(e, !0);
|
|
4279
4279
|
if (!i) return;
|
|
4280
|
-
let a = document.createRange(), o = n ? 0 :
|
|
4280
|
+
let a = document.createRange(), o = n ? 0 : O.getContentLength(i);
|
|
4281
4281
|
try {
|
|
4282
4282
|
a.setStart(i, o), a.setEnd(i, o), r.removeAllRanges(), r.addRange(a);
|
|
4283
4283
|
} catch (t) {
|
|
@@ -4285,7 +4285,7 @@ var Is = class {
|
|
|
4285
4285
|
}
|
|
4286
4286
|
}, Ws = (e, t = !0) => {
|
|
4287
4287
|
var n, r, i, a;
|
|
4288
|
-
if (
|
|
4288
|
+
if (O.isNativeInput(e)) {
|
|
4289
4289
|
e.focus();
|
|
4290
4290
|
let n = t ? 0 : e.value.length;
|
|
4291
4291
|
e.setSelectionRange(n, n);
|
|
@@ -4313,15 +4313,15 @@ var Is = class {
|
|
|
4313
4313
|
let a = i.getBoundingClientRect();
|
|
4314
4314
|
return a.height !== 0 || a.top !== 0 ? a : t.getBoundingClientRect();
|
|
4315
4315
|
}, Ks = (e) => {
|
|
4316
|
-
if (
|
|
4317
|
-
if (
|
|
4316
|
+
if (O.isNativeInput(e) && e.tagName === "INPUT") return !0;
|
|
4317
|
+
if (O.isNativeInput(e)) {
|
|
4318
4318
|
var t;
|
|
4319
4319
|
let n = e, r = (t = n.selectionStart) == null ? 0 : t;
|
|
4320
4320
|
return !n.value.substring(0, r).includes("\n");
|
|
4321
4321
|
}
|
|
4322
4322
|
let n = window.getSelection();
|
|
4323
4323
|
if (!n || n.rangeCount === 0) return !0;
|
|
4324
|
-
let r = Gs(n.getRangeAt(0), e), i =
|
|
4324
|
+
let r = Gs(n.getRangeAt(0), e), i = O.getDeepestNode(e, !1);
|
|
4325
4325
|
if (!i) return !0;
|
|
4326
4326
|
let a = document.createRange();
|
|
4327
4327
|
try {
|
|
@@ -4336,17 +4336,17 @@ var Is = class {
|
|
|
4336
4336
|
}
|
|
4337
4337
|
return Math.abs(r.top - o.top) < 5;
|
|
4338
4338
|
}, qs = (e) => {
|
|
4339
|
-
if (
|
|
4340
|
-
if (
|
|
4339
|
+
if (O.isNativeInput(e) && e.tagName === "INPUT") return !0;
|
|
4340
|
+
if (O.isNativeInput(e)) {
|
|
4341
4341
|
var t;
|
|
4342
4342
|
let n = e, r = (t = n.selectionEnd) == null ? n.value.length : t;
|
|
4343
4343
|
return !n.value.substring(r).includes("\n");
|
|
4344
4344
|
}
|
|
4345
4345
|
let n = window.getSelection();
|
|
4346
4346
|
if (!n || n.rangeCount === 0) return !0;
|
|
4347
|
-
let r = Gs(n.getRangeAt(0), e), i =
|
|
4347
|
+
let r = Gs(n.getRangeAt(0), e), i = O.getDeepestNode(e, !0);
|
|
4348
4348
|
if (!i) return !0;
|
|
4349
|
-
let a = document.createRange(), o =
|
|
4349
|
+
let a = document.createRange(), o = O.getContentLength(i);
|
|
4350
4350
|
try {
|
|
4351
4351
|
a.setStart(i, o), a.setEnd(i, o);
|
|
4352
4352
|
} catch (e) {
|
|
@@ -4363,7 +4363,7 @@ var Is = class {
|
|
|
4363
4363
|
try {
|
|
4364
4364
|
if (n) r.setStart(t, 0), r.setEnd(t, 0);
|
|
4365
4365
|
else {
|
|
4366
|
-
let e =
|
|
4366
|
+
let e = O.getContentLength(t);
|
|
4367
4367
|
r.setStart(t, e), r.setEnd(t, e);
|
|
4368
4368
|
}
|
|
4369
4369
|
if (typeof r.getBoundingClientRect != "function") {
|
|
@@ -4390,7 +4390,7 @@ var Is = class {
|
|
|
4390
4390
|
let r = window.getSelection();
|
|
4391
4391
|
if (!r) return;
|
|
4392
4392
|
e.focus();
|
|
4393
|
-
let i = n ?
|
|
4393
|
+
let i = n ? O.getDeepestNode(e, !1) : O.getDeepestNode(e, !0);
|
|
4394
4394
|
if (!i) {
|
|
4395
4395
|
Us(e, r, n);
|
|
4396
4396
|
return;
|
|
@@ -4429,7 +4429,7 @@ var Is = class {
|
|
|
4429
4429
|
let i = Zs(e, 0, r.length, t);
|
|
4430
4430
|
e.setSelectionRange(i, i);
|
|
4431
4431
|
}, $s = (e, t, n) => {
|
|
4432
|
-
if (
|
|
4432
|
+
if (O.isNativeInput(e)) {
|
|
4433
4433
|
Qs(e, t, n);
|
|
4434
4434
|
return;
|
|
4435
4435
|
}
|
|
@@ -4471,14 +4471,14 @@ var Is = class {
|
|
|
4471
4471
|
typeof window < "u" && window.document !== void 0 && lc(window.document);
|
|
4472
4472
|
var uc = (e) => {
|
|
4473
4473
|
var t;
|
|
4474
|
-
if (!sc(e) ||
|
|
4474
|
+
if (!sc(e) || O.isSingleTag(e) || O.isNativeInput(e)) return !1;
|
|
4475
4475
|
if (e.childNodes.length === 0) return !0;
|
|
4476
4476
|
let n = (t = e.textContent) == null ? "" : t;
|
|
4477
|
-
return n.includes(tc) || !
|
|
4477
|
+
return n.includes(tc) || !pe(n) ? !1 : Array.from(e.children).every((e) => uc(e));
|
|
4478
4478
|
}, dc = (e) => {
|
|
4479
4479
|
var t;
|
|
4480
4480
|
lc(e.ownerDocument);
|
|
4481
|
-
let [n, r] =
|
|
4481
|
+
let [n, r] = v();
|
|
4482
4482
|
if (n === null || !e.contains(n) || n.nodeType === rc && r < ((t = n.textContent) == null ? "" : t).length) return null;
|
|
4483
4483
|
let i = document.createTreeWalker(e, ic);
|
|
4484
4484
|
for (i.currentNode = n;;) {
|
|
@@ -4500,7 +4500,7 @@ var uc = (e) => {
|
|
|
4500
4500
|
let u = Array.from(l.querySelectorAll("*")).some((e) => {
|
|
4501
4501
|
var t;
|
|
4502
4502
|
let n = (t = e.textContent) == null ? "" : t;
|
|
4503
|
-
return n.length === 0 ||
|
|
4503
|
+
return n.length === 0 || pe(n);
|
|
4504
4504
|
}), d = ac.has(e);
|
|
4505
4505
|
if (!(!u && !d)) return d && ac.delete(e), {
|
|
4506
4506
|
node: e,
|
|
@@ -4630,7 +4630,7 @@ var uc = (e) => {
|
|
|
4630
4630
|
if (n != null) return t.setCurrentBlockByChildNode(n);
|
|
4631
4631
|
})() : e;
|
|
4632
4632
|
if (n === void 0) return null;
|
|
4633
|
-
let r = n.currentInput, i = r === void 0 ? 0 :
|
|
4633
|
+
let r = n.currentInput, i = r === void 0 ? 0 : ye(r);
|
|
4634
4634
|
return {
|
|
4635
4635
|
blockId: n.id,
|
|
4636
4636
|
inputIndex: n.currentInputIndex,
|
|
@@ -4794,14 +4794,14 @@ var mc = class extends j {
|
|
|
4794
4794
|
this.blockObserver.destroy(), this.undoHistory.destroy(), this.documentStore.destroy();
|
|
4795
4795
|
}
|
|
4796
4796
|
}, hc = {
|
|
4797
|
-
Backspace:
|
|
4798
|
-
Delete:
|
|
4799
|
-
Enter:
|
|
4800
|
-
Tab:
|
|
4801
|
-
ArrowDown:
|
|
4802
|
-
ArrowRight:
|
|
4803
|
-
ArrowUp:
|
|
4804
|
-
ArrowLeft:
|
|
4797
|
+
Backspace: S.BACKSPACE,
|
|
4798
|
+
Delete: S.DELETE,
|
|
4799
|
+
Enter: S.ENTER,
|
|
4800
|
+
Tab: S.TAB,
|
|
4801
|
+
ArrowDown: S.DOWN,
|
|
4802
|
+
ArrowRight: S.RIGHT,
|
|
4803
|
+
ArrowUp: S.UP,
|
|
4804
|
+
ArrowLeft: S.LEFT
|
|
4805
4805
|
}, gc = new Set([
|
|
4806
4806
|
"Enter",
|
|
4807
4807
|
"Process",
|
|
@@ -4852,7 +4852,7 @@ var mc = class extends j {
|
|
|
4852
4852
|
handleDeletion(e) {
|
|
4853
4853
|
let { BlockSelection: t, BlockManager: n, Caret: r, BlockSettings: i } = this.Blok;
|
|
4854
4854
|
if (i.contains(e.target) || !(e.key === "Backspace" || e.key === "Delete")) return !1;
|
|
4855
|
-
let a =
|
|
4855
|
+
let a = T.isSelectionExists, o = T.isCollapsed === !0;
|
|
4856
4856
|
if (!(t.anyBlockSelected && (!a || o))) return !1;
|
|
4857
4857
|
let s = n.deleteSelectedBlocksAndInsertReplacement();
|
|
4858
4858
|
return s && r.setToBlock(s, r.positions.START), t.clearSelection(e), e.preventDefault(), e.stopImmediatePropagation(), e.stopPropagation(), !0;
|
|
@@ -4894,9 +4894,9 @@ var mc = class extends j {
|
|
|
4894
4894
|
t.opened || this.isCurrentBlockInsideTableCell || (e.shiftKey ? n.navigatePrevious(!0) : n.navigateNext(!0)) && e.preventDefault();
|
|
4895
4895
|
}
|
|
4896
4896
|
handleEnter(e) {
|
|
4897
|
-
let { BlockManager: t, UI:
|
|
4898
|
-
|
|
4899
|
-
let e = this.createBlockOnEnter(
|
|
4897
|
+
let { BlockManager: t, UI: n } = this.Blok, r = t.currentBlock;
|
|
4898
|
+
r !== void 0 && (r.tool.isLineBreaksEnabled || n.someToolbarOpened && n.someFlipperButtonFocused || e.shiftKey && !oe || (this.Blok.YjsManager.markCaretBeforeChange(), this.Blok.BlockManager.transactForTool(() => {
|
|
4899
|
+
let e = this.createBlockOnEnter(r);
|
|
4900
4900
|
this.Blok.Caret.setToBlock(e), this.Blok.Toolbar.moveAndOpen(e);
|
|
4901
4901
|
}), e.preventDefault()));
|
|
4902
4902
|
}
|
|
@@ -4908,11 +4908,11 @@ var mc = class extends j {
|
|
|
4908
4908
|
return this.Blok.BlockManager.insertDefaultBlockAtIndex(n + 1);
|
|
4909
4909
|
}
|
|
4910
4910
|
createBlockOnEnter(e) {
|
|
4911
|
-
if (e.currentInput !== void 0 &&
|
|
4911
|
+
if (e.currentInput !== void 0 && Ue(e.currentInput) && !e.hasMedia && (e.parentId === null || !e.isEmpty)) {
|
|
4912
4912
|
let t = this.Blok.BlockManager.insertDefaultBlockAtIndex(this.Blok.BlockManager.currentBlockIndex);
|
|
4913
4913
|
return e.parentId !== null && this.Blok.BlockManager.setBlockParent(t, e.parentId), e;
|
|
4914
4914
|
}
|
|
4915
|
-
if (e.currentInput &&
|
|
4915
|
+
if (e.currentInput && y(e.currentInput)) {
|
|
4916
4916
|
let t = this.promoteLastEmptyToggleChild(e);
|
|
4917
4917
|
if (t !== null) return t;
|
|
4918
4918
|
let n = this.Blok.BlockManager.insertDefaultBlockAtIndex(this.Blok.BlockManager.currentBlockIndex + 1), r = e.holder.querySelector("[data-blok-toggle-open]");
|
|
@@ -4922,7 +4922,7 @@ var mc = class extends j {
|
|
|
4922
4922
|
}
|
|
4923
4923
|
handleBackspace(e) {
|
|
4924
4924
|
let { BlockManager: t, Caret: n } = this.Blok, { currentBlock: r, previousBlock: i } = t;
|
|
4925
|
-
if (r !== void 0 &&
|
|
4925
|
+
if (r !== void 0 && T.isCollapsed && !(!r.currentInput || !Ue(r.currentInput))) {
|
|
4926
4926
|
if (e.preventDefault(), this.closeToolbarIfNotInTableCell(), r.currentInput !== r.firstInput) {
|
|
4927
4927
|
n.navigatePrevious();
|
|
4928
4928
|
return;
|
|
@@ -4942,13 +4942,13 @@ var mc = class extends j {
|
|
|
4942
4942
|
e && n.setToBlock(e, n.positions.END);
|
|
4943
4943
|
return;
|
|
4944
4944
|
}
|
|
4945
|
-
|
|
4945
|
+
qe(i, r) ? this.mergeBlocks(i, r) : n.setToBlock(i, n.positions.END);
|
|
4946
4946
|
}
|
|
4947
4947
|
}
|
|
4948
4948
|
}
|
|
4949
4949
|
handleDelete(e) {
|
|
4950
4950
|
let { BlockManager: t, Caret: n } = this.Blok, { currentBlock: r, nextBlock: i } = t;
|
|
4951
|
-
if (r !== void 0 &&
|
|
4951
|
+
if (r !== void 0 && T.isCollapsed && !(!r.currentInput || !y(r.currentInput))) {
|
|
4952
4952
|
if (e.preventDefault(), this.closeToolbarIfNotInTableCell(), r.currentInput !== r.lastInput) {
|
|
4953
4953
|
n.navigateNext();
|
|
4954
4954
|
return;
|
|
@@ -4966,7 +4966,7 @@ var mc = class extends j {
|
|
|
4966
4966
|
i && n.setToBlock(i, n.positions.START), this.closeToolbarIfNotInTableCell();
|
|
4967
4967
|
return;
|
|
4968
4968
|
}
|
|
4969
|
-
|
|
4969
|
+
qe(r, i) ? this.mergeBlocks(r, i) : n.setToBlock(i, n.positions.START);
|
|
4970
4970
|
}
|
|
4971
4971
|
}
|
|
4972
4972
|
}
|
|
@@ -4980,40 +4980,40 @@ var mc = class extends j {
|
|
|
4980
4980
|
var t;
|
|
4981
4981
|
let n = jc(e);
|
|
4982
4982
|
if (n === null || Nc(e, "down")) return;
|
|
4983
|
-
let r =
|
|
4983
|
+
let r = p.usedKeys.includes(n) && (!e.shiftKey || n === S.TAB);
|
|
4984
4984
|
if (this.Blok.UI.someToolbarOpened && r) return;
|
|
4985
4985
|
!e.shiftKey && !this.isCurrentBlockInsideTableCell && this.Blok.InlineToolbar.close();
|
|
4986
|
-
let i =
|
|
4986
|
+
let i = T.get();
|
|
4987
4987
|
i != null && i.anchorNode && !this.Blok.BlockSelection.anyBlockSelected && this.Blok.BlockManager.setCurrentBlockByChildNode(i.anchorNode);
|
|
4988
4988
|
let { currentBlock: a } = this.Blok.BlockManager, o = e.target, s = document.activeElement instanceof HTMLElement ? document.activeElement : null, c = [
|
|
4989
4989
|
a == null ? void 0 : a.inputs.find((e) => o !== null && e.contains(o)),
|
|
4990
4990
|
a == null ? void 0 : a.inputs.find((e) => s !== null && e.contains(s)),
|
|
4991
4991
|
o == null ? void 0 : o.closest(_c),
|
|
4992
4992
|
s == null ? void 0 : s.closest(_c)
|
|
4993
|
-
], l = (t = a == null ? void 0 : a.currentInput) == null ? c.find((e) => e instanceof HTMLElement) : t, u = (l === void 0 ? void 0 :
|
|
4994
|
-
if (
|
|
4993
|
+
], l = (t = a == null ? void 0 : a.currentInput) == null ? c.find((e) => e instanceof HTMLElement) : t, u = (l === void 0 ? void 0 : y(l)) || this.Blok.BlockSelection.anyBlockSelected, d = e.shiftKey && n === S.DOWN;
|
|
4994
|
+
if (d && u) {
|
|
4995
4995
|
this.Blok.CrossBlockSelection.toggleBlockSelectedState();
|
|
4996
4996
|
return;
|
|
4997
4997
|
}
|
|
4998
|
-
|
|
4999
|
-
let
|
|
5000
|
-
if (
|
|
5001
|
-
|
|
4998
|
+
d && this.Blok.InlineToolbar.tryToShow();
|
|
4999
|
+
let f = n === S.RIGHT && !e.shiftKey && !this.isRtl && l instanceof HTMLElement ? dc(l) : null;
|
|
5000
|
+
if (f !== null) {
|
|
5001
|
+
T.setCursor(f.node, f.offset), e.preventDefault();
|
|
5002
5002
|
return;
|
|
5003
5003
|
}
|
|
5004
|
-
let m = n ===
|
|
5004
|
+
let m = n === S.DOWN, h = n === S.RIGHT && !this.isRtl;
|
|
5005
5005
|
if (m ? this.Blok.Caret.navigateVerticalNext() : h && this.Blok.Caret.navigateNext()) {
|
|
5006
5006
|
e.preventDefault(), this.Blok.Toolbar.moveAndOpen(this.Blok.BlockManager.currentBlock);
|
|
5007
5007
|
return;
|
|
5008
5008
|
}
|
|
5009
|
-
|
|
5009
|
+
nt(() => {
|
|
5010
5010
|
this.Blok.BlockManager.currentBlock && this.Blok.BlockManager.currentBlock.updateCurrentInput();
|
|
5011
5011
|
}, 20)(), this.Blok.BlockSelection.clearSelection(e);
|
|
5012
5012
|
}
|
|
5013
5013
|
handleArrowLeftAndUp(e) {
|
|
5014
5014
|
var t;
|
|
5015
5015
|
let n = this.Blok.UI.someToolbarOpened, r = jc(e);
|
|
5016
|
-
if (r === null || Nc(e, "up") || n &&
|
|
5016
|
+
if (r === null || Nc(e, "up") || n && p.usedKeys.includes(r) && (!e.shiftKey || r === S.TAB)) return;
|
|
5017
5017
|
n && !this.isCurrentBlockInsideTableCell && this.Blok.UI.closeAllToolbars(), !e.shiftKey && !this.isCurrentBlockInsideTableCell && this.Blok.InlineToolbar.close();
|
|
5018
5018
|
let i = window.getSelection();
|
|
5019
5019
|
i != null && i.anchorNode && !this.Blok.BlockSelection.anyBlockSelected && this.Blok.BlockManager.setCurrentBlockByChildNode(i.anchorNode);
|
|
@@ -5022,18 +5022,18 @@ var mc = class extends j {
|
|
|
5022
5022
|
a == null ? void 0 : a.inputs.find((e) => s !== null && e.contains(s)),
|
|
5023
5023
|
o == null ? void 0 : o.closest(_c),
|
|
5024
5024
|
s == null ? void 0 : s.closest(_c)
|
|
5025
|
-
], l = (t = a == null ? void 0 : a.currentInput) == null ? c.find((e) => e instanceof HTMLElement) : t, u = (l === void 0 ? void 0 :
|
|
5026
|
-
if (
|
|
5025
|
+
], l = (t = a == null ? void 0 : a.currentInput) == null ? c.find((e) => e instanceof HTMLElement) : t, u = (l === void 0 ? void 0 : Ue(l)) || this.Blok.BlockSelection.anyBlockSelected, d = e.shiftKey && r === S.UP;
|
|
5026
|
+
if (d && u) {
|
|
5027
5027
|
this.Blok.CrossBlockSelection.toggleBlockSelectedState(!1);
|
|
5028
5028
|
return;
|
|
5029
5029
|
}
|
|
5030
|
-
|
|
5031
|
-
let
|
|
5032
|
-
if (
|
|
5030
|
+
d && this.Blok.InlineToolbar.tryToShow();
|
|
5031
|
+
let f = r === S.UP, m = r === S.LEFT && !this.isRtl;
|
|
5032
|
+
if (f ? this.Blok.Caret.navigateVerticalPrevious() : m && this.Blok.Caret.navigatePrevious()) {
|
|
5033
5033
|
e.preventDefault(), this.Blok.Toolbar.moveAndOpen(this.Blok.BlockManager.currentBlock);
|
|
5034
5034
|
return;
|
|
5035
5035
|
}
|
|
5036
|
-
|
|
5036
|
+
nt(() => {
|
|
5037
5037
|
this.Blok.BlockManager.currentBlock && this.Blok.BlockManager.currentBlock.updateCurrentInput();
|
|
5038
5038
|
}, 20)(), this.Blok.BlockSelection.clearSelection(e);
|
|
5039
5039
|
}
|
|
@@ -5243,24 +5243,24 @@ var mc = class extends j {
|
|
|
5243
5243
|
keydown(e) {
|
|
5244
5244
|
if (!this.navigationMode.handleKey(e) && !this.navigationMode.handleEscape(e) && (this.beforeKeydownProcessing(e), !this.blockSelectionKeys.handleDeletion(e) && !e.defaultPrevented)) {
|
|
5245
5245
|
switch (jc(e)) {
|
|
5246
|
-
case
|
|
5246
|
+
case S.BACKSPACE:
|
|
5247
5247
|
this.keyboardNavigation.handleBackspace(e);
|
|
5248
5248
|
break;
|
|
5249
|
-
case
|
|
5249
|
+
case S.DELETE:
|
|
5250
5250
|
this.keyboardNavigation.handleDelete(e);
|
|
5251
5251
|
break;
|
|
5252
|
-
case
|
|
5252
|
+
case S.ENTER:
|
|
5253
5253
|
this.keyboardNavigation.handleEnter(e);
|
|
5254
5254
|
break;
|
|
5255
|
-
case
|
|
5256
|
-
case
|
|
5255
|
+
case S.DOWN:
|
|
5256
|
+
case S.RIGHT:
|
|
5257
5257
|
this.keyboardNavigation.handleArrowRightAndDown(e);
|
|
5258
5258
|
break;
|
|
5259
|
-
case
|
|
5260
|
-
case
|
|
5259
|
+
case S.UP:
|
|
5260
|
+
case S.LEFT:
|
|
5261
5261
|
this.keyboardNavigation.handleArrowLeftAndUp(e);
|
|
5262
5262
|
break;
|
|
5263
|
-
case
|
|
5263
|
+
case S.TAB:
|
|
5264
5264
|
if (this.blockSelectionKeys.handleIndent(e)) return;
|
|
5265
5265
|
this.keyboardNavigation.handleTab(e);
|
|
5266
5266
|
break;
|
|
@@ -5310,7 +5310,7 @@ var mc = class extends j {
|
|
|
5310
5310
|
this.Blok.Toolbar.opened || this.Blok.Toolbar.moveAndOpen(), this.Blok.BlockSettings.opened || Promise.resolve(this.Blok.BlockSettings.open()).catch(() => {});
|
|
5311
5311
|
}
|
|
5312
5312
|
needToolbarClosing(e) {
|
|
5313
|
-
let t = jc(e), n = t ===
|
|
5313
|
+
let t = jc(e), n = t === S.ENTER, r = t === S.TAB, i = n && this.Blok.Toolbar.toolbox.opened, a = n && this.Blok.BlockSettings.opened, o = n && this.Blok.InlineToolbar.opened, s = r, c = this.Blok.Toolbar.toolbox.opened && !n && !r;
|
|
5314
5314
|
return !(e.shiftKey || s || i || a || o || c);
|
|
5315
5315
|
}
|
|
5316
5316
|
}, Rc = "block-added", zc = "block-changed", Bc = "block-removed", Vc = class {
|
|
@@ -5659,7 +5659,7 @@ var Xc = (e, t) => {
|
|
|
5659
5659
|
let t = r == null ? this.dependencies.config.defaultBlock : r;
|
|
5660
5660
|
if (t === void 0) throw Error("Could not insert Block. Tool name is not specified.");
|
|
5661
5661
|
let n = s || (e = this.repository.getBlockByIndex(d - 1)) == null ? this.repository.getBlockByIndex(d) : e;
|
|
5662
|
-
if (n !== void 0 &&
|
|
5662
|
+
if (n !== void 0 && $e(n) && de(t)) {
|
|
5663
5663
|
var i;
|
|
5664
5664
|
return (i = this.dependencies.config.defaultBlock) == null ? "paragraph" : i;
|
|
5665
5665
|
}
|
|
@@ -5681,8 +5681,8 @@ var Xc = (e, t) => {
|
|
|
5681
5681
|
}, d);
|
|
5682
5682
|
}
|
|
5683
5683
|
if (this.currentBlockIndex !== g && !this.suppressStopCapturing) {
|
|
5684
|
-
var
|
|
5685
|
-
(
|
|
5684
|
+
var v;
|
|
5685
|
+
(v = this.dependencies.YjsManager) == null || v.stopCapturing();
|
|
5686
5686
|
}
|
|
5687
5687
|
return m;
|
|
5688
5688
|
}
|
|
@@ -5745,7 +5745,7 @@ var Xc = (e, t) => {
|
|
|
5745
5745
|
}
|
|
5746
5746
|
}
|
|
5747
5747
|
replace(e, t, n, r) {
|
|
5748
|
-
let i = this.repository.getBlockIndex(e), a =
|
|
5748
|
+
let i = this.repository.getBlockIndex(e), a = c(), o = e.parentId, s = [...e.contentIds];
|
|
5749
5749
|
this.dependencies.YjsManager.transact(() => {
|
|
5750
5750
|
this.dependencies.YjsManager.removeBlock(e.id), this.dependencies.YjsManager.addBlock({
|
|
5751
5751
|
id: a,
|
|
@@ -5761,33 +5761,33 @@ var Xc = (e, t) => {
|
|
|
5761
5761
|
replace: !0,
|
|
5762
5762
|
skipYjsSync: !0
|
|
5763
5763
|
}, r);
|
|
5764
|
-
if (
|
|
5765
|
-
l.parentId =
|
|
5766
|
-
let t = this.repository.getBlockById(
|
|
5764
|
+
if (o !== null) {
|
|
5765
|
+
l.parentId = o;
|
|
5766
|
+
let t = this.repository.getBlockById(o);
|
|
5767
5767
|
t !== void 0 && (t.contentIds = t.contentIds.map((t) => t === e.id ? l.id : t));
|
|
5768
5768
|
}
|
|
5769
5769
|
let u = t === "toggle" || t === "callout" || t === "header" && n.isToggleable === !0;
|
|
5770
|
-
if (
|
|
5770
|
+
if (s.length > 0 && !u) {
|
|
5771
5771
|
let e = this.repository.getBlockIndex(l);
|
|
5772
|
-
|
|
5772
|
+
s.forEach((t, n) => {
|
|
5773
5773
|
let i = this.repository.getBlockById(t);
|
|
5774
5774
|
i !== void 0 && (i.parentId = null, r.insert(e + 1 + n, i, !1, !1));
|
|
5775
5775
|
}), l.contentIds = [];
|
|
5776
|
-
} else this.reparentChildren(
|
|
5776
|
+
} else this.reparentChildren(s, l.id), l.contentIds = s;
|
|
5777
5777
|
return l;
|
|
5778
5778
|
}
|
|
5779
5779
|
move(e, t, n, r, i = !1) {
|
|
5780
5780
|
if (isNaN(e) || isNaN(t)) {
|
|
5781
|
-
|
|
5781
|
+
E("Warning during 'move' call: incorrect indices provided.", "warn");
|
|
5782
5782
|
return;
|
|
5783
5783
|
}
|
|
5784
5784
|
if (!this.repository.validateIndex(e) || !this.repository.validateIndex(t)) {
|
|
5785
|
-
|
|
5785
|
+
E("Warning during 'move' call: indices cannot be lower than 0 or greater than the amount of blocks.", "warn");
|
|
5786
5786
|
return;
|
|
5787
5787
|
}
|
|
5788
5788
|
let a = this.repository.getBlockByIndex(t), o = this.repository.getBlockByIndex(e);
|
|
5789
|
-
if (a !== void 0 && o !== void 0 &&
|
|
5790
|
-
|
|
5789
|
+
if (a !== void 0 && o !== void 0 && $e(o) && de(a.name)) {
|
|
5790
|
+
E(`Warning during 'move' call: '${a.name}' is restricted in table cells.`, "warn");
|
|
5791
5791
|
return;
|
|
5792
5792
|
}
|
|
5793
5793
|
this.suppressStopCapturing = !0;
|
|
@@ -5806,43 +5806,43 @@ var Xc = (e, t) => {
|
|
|
5806
5806
|
}
|
|
5807
5807
|
}
|
|
5808
5808
|
async mergeBlocks(e, t, n) {
|
|
5809
|
-
var
|
|
5810
|
-
let
|
|
5811
|
-
let a = k(k({}, await e.data),
|
|
5812
|
-
|
|
5813
|
-
for (let [t, n] of Object.entries(a))
|
|
5814
|
-
|
|
5815
|
-
}),
|
|
5816
|
-
e.mergeWith(
|
|
5809
|
+
var r = this;
|
|
5810
|
+
let i = async (i) => {
|
|
5811
|
+
let a = k(k({}, await e.data), i);
|
|
5812
|
+
r.dependencies.YjsManager.transact(() => {
|
|
5813
|
+
for (let [t, n] of Object.entries(a)) r.dependencies.YjsManager.updateBlockData(e.id, t, n);
|
|
5814
|
+
r.dependencies.YjsManager.removeBlock(t.id);
|
|
5815
|
+
}), r.yjsSync.withAtomicOperation(() => {
|
|
5816
|
+
e.mergeWith(i).then(() => r.removeBlock(t, !0, !0, n)), r.currentBlockIndexValue = r.repository.getBlockIndex(e);
|
|
5817
5817
|
});
|
|
5818
|
-
},
|
|
5819
|
-
if (
|
|
5818
|
+
}, a = e.name === t.name && e.mergeable, o = a ? await t.data : void 0;
|
|
5819
|
+
if (a && x(o)) {
|
|
5820
5820
|
console.error("Could not merge Block. Failed to extract original Block data.");
|
|
5821
5821
|
return;
|
|
5822
5822
|
}
|
|
5823
|
-
if (
|
|
5824
|
-
let [n] =
|
|
5825
|
-
data:
|
|
5823
|
+
if (a && o !== void 0) {
|
|
5824
|
+
let [n] = Be([{
|
|
5825
|
+
data: o,
|
|
5826
5826
|
tool: t.name
|
|
5827
|
-
}], e.tool.sanitizeConfig,
|
|
5828
|
-
await
|
|
5827
|
+
}], e.tool.sanitizeConfig, r.dependencies.config.sanitizer);
|
|
5828
|
+
await i(n.data);
|
|
5829
5829
|
return;
|
|
5830
5830
|
}
|
|
5831
|
-
if (e.mergeable &&
|
|
5832
|
-
var
|
|
5833
|
-
let n = await t.exportDataAsString(),
|
|
5834
|
-
await
|
|
5831
|
+
if (e.mergeable && Ne(t, "export") && Ne(e, "import")) {
|
|
5832
|
+
var s;
|
|
5833
|
+
let n = await t.exportDataAsString(), r = (s = e.tool.conversionConfig) == null ? void 0 : s.import;
|
|
5834
|
+
await i(De(Ee(n, me(r) && b(e.tool.sanitizeConfig[r]) ? e.tool.sanitizeConfig[r] : e.tool.sanitizeConfig), e.tool.conversionConfig));
|
|
5835
5835
|
}
|
|
5836
5836
|
}
|
|
5837
5837
|
split(e) {
|
|
5838
5838
|
let t = this.currentBlock;
|
|
5839
5839
|
if (t === void 0) throw Error("Cannot split: no current block");
|
|
5840
|
-
let n =
|
|
5840
|
+
let n = c(), r = this.currentBlockIndex + 1;
|
|
5841
5841
|
return this.yjsSync.withAtomicOperation(() => {
|
|
5842
5842
|
var i, a;
|
|
5843
5843
|
let o = this.dependencies.Caret.extractFragmentFromCaretPosition(), s = document.createElement("div");
|
|
5844
5844
|
s.appendChild(o);
|
|
5845
|
-
let c =
|
|
5845
|
+
let c = O.isEmpty(s) ? "" : s.innerHTML, l = (i = (a = t.holder.querySelector("[contenteditable=\"true\"]")) == null ? void 0 : a.innerHTML) == null ? "" : i;
|
|
5846
5846
|
this.dependencies.YjsManager.transact(() => {
|
|
5847
5847
|
var e;
|
|
5848
5848
|
this.dependencies.YjsManager.updateBlockData(t.id, "text", l), this.dependencies.YjsManager.addBlock({
|
|
@@ -5863,36 +5863,36 @@ var Xc = (e, t) => {
|
|
|
5863
5863
|
});
|
|
5864
5864
|
}
|
|
5865
5865
|
splitBlockWithData(e, t, n, r, i, a) {
|
|
5866
|
-
let
|
|
5867
|
-
if (
|
|
5868
|
-
let
|
|
5866
|
+
let o = this.repository.getBlockById(e);
|
|
5867
|
+
if (o === void 0) throw Error(`Block with id "${e}" not found`);
|
|
5868
|
+
let s = c();
|
|
5869
5869
|
return this.yjsSync.withAtomicOperation(() => {
|
|
5870
5870
|
this.dependencies.YjsManager.transact(() => {
|
|
5871
5871
|
var a;
|
|
5872
5872
|
for (let [n, r] of Object.entries(t)) this.dependencies.YjsManager.updateBlockData(e, n, r);
|
|
5873
5873
|
this.dependencies.YjsManager.addBlock({
|
|
5874
|
-
id:
|
|
5874
|
+
id: s,
|
|
5875
5875
|
type: n,
|
|
5876
5876
|
data: r,
|
|
5877
|
-
parent: (a =
|
|
5877
|
+
parent: (a = o.parentId) == null ? void 0 : a
|
|
5878
5878
|
}, i);
|
|
5879
5879
|
});
|
|
5880
|
-
let
|
|
5881
|
-
|
|
5880
|
+
let c = o.holder.querySelector("[contenteditable=\"true\"]");
|
|
5881
|
+
c !== null && typeof t.text == "string" && (c.innerHTML = t.text);
|
|
5882
5882
|
let l = this.insert({
|
|
5883
|
-
id:
|
|
5883
|
+
id: s,
|
|
5884
5884
|
tool: n,
|
|
5885
5885
|
data: r,
|
|
5886
5886
|
index: i,
|
|
5887
5887
|
needToFocus: !1,
|
|
5888
5888
|
skipYjsSync: !0
|
|
5889
5889
|
}, a);
|
|
5890
|
-
return this.currentBlockIndex = i,
|
|
5890
|
+
return this.currentBlockIndex = i, o.parentId !== null && this.hierarchy.setBlockParent(l, o.parentId), l;
|
|
5891
5891
|
});
|
|
5892
5892
|
}
|
|
5893
5893
|
insertInsideParent(e, t, n) {
|
|
5894
5894
|
if (this.repository.getBlockById(e) === void 0) throw Error(`Parent block with id "${e}" not found`);
|
|
5895
|
-
let r =
|
|
5895
|
+
let r = c();
|
|
5896
5896
|
return this.yjsSync.withAtomicOperation(() => {
|
|
5897
5897
|
var i;
|
|
5898
5898
|
this.dependencies.YjsManager.transact(() => {
|
|
@@ -5915,14 +5915,14 @@ var Xc = (e, t) => {
|
|
|
5915
5915
|
return this.currentBlockIndex = t, this.hierarchy.setBlockParent(a, e), a;
|
|
5916
5916
|
});
|
|
5917
5917
|
}
|
|
5918
|
-
async convert(e, t, n,
|
|
5919
|
-
var
|
|
5920
|
-
let
|
|
5921
|
-
if (!
|
|
5922
|
-
let
|
|
5923
|
-
if (!
|
|
5924
|
-
let
|
|
5925
|
-
return
|
|
5918
|
+
async convert(e, t, n, r) {
|
|
5919
|
+
var i = this, a;
|
|
5920
|
+
let o = await e.save();
|
|
5921
|
+
if (!o || o.data === void 0) throw Error("Could not convert Block. Failed to extract original Block data.");
|
|
5922
|
+
let s = i.factory.getTool(t);
|
|
5923
|
+
if (!s) throw Error(`Could not convert Block. Tool «${t}» not found.`);
|
|
5924
|
+
let c = await e.exportDataAsString(), l = (a = s.conversionConfig) == null ? void 0 : a.import, u = me(l) && b(s.sanitizeConfig[l]) ? s.sanitizeConfig[l] : s.sanitizeConfig, d = De(Ee(c, Ge(i.dependencies.config.sanitizer, u)), s.conversionConfig, s.settings), f = r ? Object.assign(d, r) : d;
|
|
5925
|
+
return i.replace(e, s.name, f, n);
|
|
5926
5926
|
}
|
|
5927
5927
|
async paste(e, t, n = !1, r) {
|
|
5928
5928
|
var i = this, a, o;
|
|
@@ -6012,17 +6012,17 @@ var Xc = (e, t) => {
|
|
|
6012
6012
|
}
|
|
6013
6013
|
getBlock(e) {
|
|
6014
6014
|
if (!e) return;
|
|
6015
|
-
let
|
|
6016
|
-
if (!
|
|
6017
|
-
let
|
|
6018
|
-
if (
|
|
6015
|
+
let n = O.isElement(e) ? e : e.parentNode;
|
|
6016
|
+
if (!n) return;
|
|
6017
|
+
let r = n.closest(w(t.element));
|
|
6018
|
+
if (r) return this.blocks.find((e) => e.holder === r);
|
|
6019
6019
|
}
|
|
6020
6020
|
getBlockByChildNode(e) {
|
|
6021
6021
|
if (!(e instanceof Node)) return;
|
|
6022
|
-
let
|
|
6023
|
-
if (!
|
|
6024
|
-
let
|
|
6025
|
-
if (
|
|
6022
|
+
let n = O.isElement(e) ? e : e.parentNode;
|
|
6023
|
+
if (!n) return;
|
|
6024
|
+
let r = n.closest(w(t.element));
|
|
6025
|
+
if (r) return this.blocks.find((e) => e.holder === r);
|
|
6026
6026
|
}
|
|
6027
6027
|
validateIndex(e) {
|
|
6028
6028
|
return !(e < 0 || e >= this.blocksStore.length);
|
|
@@ -6594,7 +6594,7 @@ var Xc = (e, t) => {
|
|
|
6594
6594
|
if (e.length === 0) return;
|
|
6595
6595
|
let t = e.length === this.blocks.length, n = e[e.length - 1].index, r = e.map(({ block: e }) => e.id), i = this.config.defaultBlock;
|
|
6596
6596
|
if (i === void 0) throw Error("Could not insert default Block. Default block tool is not defined in the configuration.");
|
|
6597
|
-
let a = t ?
|
|
6597
|
+
let a = t ? c() : void 0;
|
|
6598
6598
|
this.Blok.YjsManager.transact(() => {
|
|
6599
6599
|
for (let e of r) this.Blok.YjsManager.removeBlock(e);
|
|
6600
6600
|
t && a !== void 0 && this.Blok.YjsManager.addBlock({
|
|
@@ -6677,10 +6677,10 @@ var Xc = (e, t) => {
|
|
|
6677
6677
|
return this.repository.getBlock(e);
|
|
6678
6678
|
}
|
|
6679
6679
|
setCurrentBlockByChildNode(e) {
|
|
6680
|
-
let
|
|
6681
|
-
if (!
|
|
6682
|
-
let
|
|
6683
|
-
if (
|
|
6680
|
+
let n = this.repository.getBlockByChildNode(e);
|
|
6681
|
+
if (!n) return;
|
|
6682
|
+
let r = n.holder.closest(`[${t.editor}]`), i = this.Blok.UI.nodes.wrapper;
|
|
6683
|
+
if (r != null && r.isEqualNode(i)) return this.currentBlockIndex = this.repository.getBlockIndex(n), n.updateCurrentInput(), n;
|
|
6684
6684
|
}
|
|
6685
6685
|
getBlockByChildNode(e) {
|
|
6686
6686
|
return this.repository.getBlockByChildNode(e);
|
|
@@ -6697,7 +6697,7 @@ var Xc = (e, t) => {
|
|
|
6697
6697
|
}
|
|
6698
6698
|
async clear(e = !1) {
|
|
6699
6699
|
var t = this;
|
|
6700
|
-
let n = [...t.blocks], r = n.map((e) => e.id), i = e ?
|
|
6700
|
+
let n = [...t.blocks], r = n.map((e) => e.id), i = e ? c() : void 0, a = t.config.defaultBlock;
|
|
6701
6701
|
t.Blok.YjsManager.transact(() => {
|
|
6702
6702
|
for (let e of r) t.Blok.YjsManager.removeBlock(e);
|
|
6703
6703
|
e && i !== void 0 && a !== void 0 && t.Blok.YjsManager.addBlock({
|
|
@@ -6760,10 +6760,10 @@ var Xc = (e, t) => {
|
|
|
6760
6760
|
}
|
|
6761
6761
|
}, ll = class extends j {
|
|
6762
6762
|
constructor(...e) {
|
|
6763
|
-
super(...e), this.anyBlockSelectedCache = null, this._navigationModeEnabled = !1, this.navigationFocusIndex = -1, this.needToSelectAll = !1, this.nativeInputSelected = !1, this.readyToBlockSelection = !1, this.selection = new
|
|
6763
|
+
super(...e), this.anyBlockSelectedCache = null, this._navigationModeEnabled = !1, this.navigationFocusIndex = -1, this.needToSelectAll = !1, this.nativeInputSelected = !1, this.readyToBlockSelection = !1, this.selection = new T();
|
|
6764
6764
|
}
|
|
6765
6765
|
get sanitizerConfig() {
|
|
6766
|
-
return
|
|
6766
|
+
return Ge(this.config.sanitizer, {
|
|
6767
6767
|
p: {},
|
|
6768
6768
|
h1: {},
|
|
6769
6769
|
h2: {},
|
|
@@ -6810,7 +6810,7 @@ var Xc = (e, t) => {
|
|
|
6810
6810
|
if (!(!this._navigationModeEnabled || this.navigationFocusIndex < 0)) return this.Blok.BlockManager.getBlockByIndex(this.navigationFocusIndex);
|
|
6811
6811
|
}
|
|
6812
6812
|
prepare() {
|
|
6813
|
-
this.selection = new
|
|
6813
|
+
this.selection = new T(), $.add({
|
|
6814
6814
|
name: "CMD+A",
|
|
6815
6815
|
handler: (e) => {
|
|
6816
6816
|
let { BlockManager: t, ReadOnly: n } = this.Blok;
|
|
@@ -6824,7 +6824,7 @@ var Xc = (e, t) => {
|
|
|
6824
6824
|
});
|
|
6825
6825
|
}
|
|
6826
6826
|
toggleReadOnly() {
|
|
6827
|
-
let e =
|
|
6827
|
+
let e = T.get();
|
|
6828
6828
|
e == null || e.removeAllRanges(), this.allBlocksSelected = !1;
|
|
6829
6829
|
}
|
|
6830
6830
|
unSelectBlockByIndex(e) {
|
|
@@ -6835,14 +6835,14 @@ var Xc = (e, t) => {
|
|
|
6835
6835
|
let { RectangleSelection: n } = this.Blok;
|
|
6836
6836
|
this.needToSelectAll = !1, this.nativeInputSelected = !1, this.readyToBlockSelection = !1, this._navigationModeEnabled && this.disableNavigationMode();
|
|
6837
6837
|
let r = e && e instanceof KeyboardEvent, i = e, a = r && i.key && i.key.length === 1;
|
|
6838
|
-
this.anyBlockSelected && r && a && !
|
|
6838
|
+
this.anyBlockSelected && r && a && !T.isSelectionExists && this.replaceSelectedBlocksWithPrintableKey(e), this.Blok.CrossBlockSelection.clear(e), t && this.selection.restore(), n.isRectActivated() && this.Blok.RectangleSelection.clearSelection(), this.anyBlockSelected && (this.allBlocksSelected = !1);
|
|
6839
6839
|
}
|
|
6840
6840
|
async copySelectedBlocks(e) {
|
|
6841
6841
|
var t = this;
|
|
6842
6842
|
e.preventDefault();
|
|
6843
6843
|
let n = e.clipboardData;
|
|
6844
6844
|
if (!n) return;
|
|
6845
|
-
let r =
|
|
6845
|
+
let r = O.make("div"), i = [], a = ((e) => {
|
|
6846
6846
|
let n = [], r = /* @__PURE__ */ new Set(), i = (e) => {
|
|
6847
6847
|
if (!r.has(e.id)) {
|
|
6848
6848
|
r.add(e.id), n.push(e);
|
|
@@ -6864,11 +6864,11 @@ var Xc = (e, t) => {
|
|
|
6864
6864
|
}));
|
|
6865
6865
|
t.selectedBlocks.forEach((e) => {
|
|
6866
6866
|
var n;
|
|
6867
|
-
let a =
|
|
6867
|
+
let a = Ee(e.holder.innerHTML, t.sanitizerConfig), o = O.make("div");
|
|
6868
6868
|
o.innerHTML = a;
|
|
6869
6869
|
let s = (n = o.textContent) == null ? "" : n;
|
|
6870
6870
|
if (i.push(s), !Array.from(o.childNodes).some((e) => e.nodeType === Node.ELEMENT_NODE) && s.trim().length > 0) {
|
|
6871
|
-
let e =
|
|
6871
|
+
let e = O.make("p");
|
|
6872
6872
|
e.innerHTML = o.innerHTML, r.appendChild(e);
|
|
6873
6873
|
} else for (; o.firstChild;) r.appendChild(o.firstChild);
|
|
6874
6874
|
});
|
|
@@ -6886,7 +6886,7 @@ var Xc = (e, t) => {
|
|
|
6886
6886
|
}
|
|
6887
6887
|
selectBlock(e) {
|
|
6888
6888
|
this.selection.save();
|
|
6889
|
-
let t =
|
|
6889
|
+
let t = T.get();
|
|
6890
6890
|
t == null || t.removeAllRanges();
|
|
6891
6891
|
let n = e;
|
|
6892
6892
|
n.selected = !0, this.clearCache(), this.Blok.InlineToolbar.close();
|
|
@@ -6929,7 +6929,7 @@ var Xc = (e, t) => {
|
|
|
6929
6929
|
if (!n) return;
|
|
6930
6930
|
let r = this.navigationFocusedBlock;
|
|
6931
6931
|
r && r.holder.removeAttribute("data-blok-navigation-focused"), this.navigationFocusIndex = e, n.holder.setAttribute("data-blok-navigation-focused", "true");
|
|
6932
|
-
let i =
|
|
6932
|
+
let i = T.get();
|
|
6933
6933
|
i == null || i.removeAllRanges(), document.activeElement instanceof HTMLElement && document.activeElement.blur(), n.holder.scrollIntoView({
|
|
6934
6934
|
behavior: "smooth",
|
|
6935
6935
|
block: "nearest"
|
|
@@ -6939,7 +6939,7 @@ var Xc = (e, t) => {
|
|
|
6939
6939
|
$.remove(this.Blok.UI.nodes.redactor, "CMD+A");
|
|
6940
6940
|
}
|
|
6941
6941
|
handleCommandA(e) {
|
|
6942
|
-
if (this.Blok.RectangleSelection.clearSelection(),
|
|
6942
|
+
if (this.Blok.RectangleSelection.clearSelection(), O.isNativeInput(e.target) && !this.readyToBlockSelection) {
|
|
6943
6943
|
this.readyToBlockSelection = !0;
|
|
6944
6944
|
return;
|
|
6945
6945
|
}
|
|
@@ -6962,12 +6962,12 @@ var Xc = (e, t) => {
|
|
|
6962
6962
|
}
|
|
6963
6963
|
selectAllBlocks() {
|
|
6964
6964
|
this.selection.save();
|
|
6965
|
-
let e =
|
|
6965
|
+
let e = T.get();
|
|
6966
6966
|
e == null || e.removeAllRanges(), this.allBlocksSelected = !0, this.Blok.InlineToolbar.close(), this.Blok.Toolbar.moveAndOpenForMultipleBlocks();
|
|
6967
6967
|
}
|
|
6968
6968
|
replaceSelectedBlocksWithPrintableKey(e) {
|
|
6969
6969
|
let { BlockManager: t, Caret: n } = this.Blok, r = t.deleteSelectedBlocksAndInsertReplacement();
|
|
6970
|
-
r && n.setToBlock(r),
|
|
6970
|
+
r && n.setToBlock(r), nt(() => {
|
|
6971
6971
|
let t = e.key;
|
|
6972
6972
|
n.insertContentAtCaretPosition(t.length > 1 ? "" : t);
|
|
6973
6973
|
}, 20)();
|
|
@@ -7014,16 +7014,16 @@ var Xc = (e, t) => {
|
|
|
7014
7014
|
if (!o) return;
|
|
7015
7015
|
let { node: s, offset: c } = ((e) => {
|
|
7016
7016
|
if (t === this.positions.START) return {
|
|
7017
|
-
node:
|
|
7017
|
+
node: O.getDeepestNode(e, !1),
|
|
7018
7018
|
offset: 0
|
|
7019
7019
|
};
|
|
7020
7020
|
if (t === this.positions.END) return this.resolveEndPositionNode(e);
|
|
7021
|
-
let { node: r, offset: i } =
|
|
7021
|
+
let { node: r, offset: i } = O.getNodeByOffset(e, n);
|
|
7022
7022
|
return r ? {
|
|
7023
7023
|
node: r,
|
|
7024
7024
|
offset: i
|
|
7025
7025
|
} : {
|
|
7026
|
-
node:
|
|
7026
|
+
node: O.getDeepestNode(e, !1),
|
|
7027
7027
|
offset: 0
|
|
7028
7028
|
};
|
|
7029
7029
|
})(o);
|
|
@@ -7033,18 +7033,18 @@ var Xc = (e, t) => {
|
|
|
7033
7033
|
l && (l.currentInput = o);
|
|
7034
7034
|
}
|
|
7035
7035
|
resolveEndPositionNode(e) {
|
|
7036
|
-
let t =
|
|
7037
|
-
if (t instanceof HTMLElement &&
|
|
7036
|
+
let t = O.getDeepestNode(e, !0);
|
|
7037
|
+
if (t instanceof HTMLElement && O.isNativeInput(t)) return {
|
|
7038
7038
|
node: t,
|
|
7039
|
-
offset:
|
|
7039
|
+
offset: O.getContentLength(t)
|
|
7040
7040
|
};
|
|
7041
7041
|
let n = pl(e);
|
|
7042
7042
|
return n ? {
|
|
7043
7043
|
node: n,
|
|
7044
|
-
offset:
|
|
7044
|
+
offset: O.getContentLength(n)
|
|
7045
7045
|
} : t ? {
|
|
7046
7046
|
node: t,
|
|
7047
|
-
offset:
|
|
7047
|
+
offset: O.getContentLength(t)
|
|
7048
7048
|
} : {
|
|
7049
7049
|
node: null,
|
|
7050
7050
|
offset: 0
|
|
@@ -7093,15 +7093,15 @@ var Xc = (e, t) => {
|
|
|
7093
7093
|
this.setCaretToOffset(e, n);
|
|
7094
7094
|
}
|
|
7095
7095
|
setCaretToStart(e) {
|
|
7096
|
-
let t =
|
|
7096
|
+
let t = O.getDeepestNode(e, !1);
|
|
7097
7097
|
t && this.set(t, 0);
|
|
7098
7098
|
}
|
|
7099
7099
|
setCaretToEnd(e) {
|
|
7100
|
-
let t =
|
|
7101
|
-
t && this.set(t,
|
|
7100
|
+
let t = O.getDeepestNode(e, !0);
|
|
7101
|
+
t && this.set(t, O.getContentLength(t));
|
|
7102
7102
|
}
|
|
7103
7103
|
setCaretToOffset(e, t) {
|
|
7104
|
-
let { node: n, offset: r } =
|
|
7104
|
+
let { node: n, offset: r } = O.getNodeByOffset(e, t);
|
|
7105
7105
|
if (n) {
|
|
7106
7106
|
this.set(n, r);
|
|
7107
7107
|
return;
|
|
@@ -7109,7 +7109,7 @@ var Xc = (e, t) => {
|
|
|
7109
7109
|
this.setCaretToEnd(e);
|
|
7110
7110
|
}
|
|
7111
7111
|
set(e, t = 0) {
|
|
7112
|
-
let { top: n, bottom: r } =
|
|
7112
|
+
let { top: n, bottom: r } = T.setCursor(e, t), { innerHeight: i } = window;
|
|
7113
7113
|
if (n < 0) {
|
|
7114
7114
|
window.scrollBy(0, n - 30);
|
|
7115
7115
|
return;
|
|
@@ -7125,13 +7125,13 @@ var Xc = (e, t) => {
|
|
|
7125
7125
|
}
|
|
7126
7126
|
}
|
|
7127
7127
|
extractFragmentFromCaretPosition() {
|
|
7128
|
-
let e =
|
|
7128
|
+
let e = T.get();
|
|
7129
7129
|
if (!e || !e.rangeCount) return;
|
|
7130
7130
|
let t = e.getRangeAt(0), n = this.Blok.BlockManager.currentBlock;
|
|
7131
7131
|
if (!n) return;
|
|
7132
7132
|
let r = n.currentInput;
|
|
7133
7133
|
if (t.deleteContents(), !r) return;
|
|
7134
|
-
if (
|
|
7134
|
+
if (O.isNativeInput(r)) {
|
|
7135
7135
|
var i;
|
|
7136
7136
|
let e = r, t = document.createDocumentFragment(), n = (i = e.selectionStart) == null ? 0 : i, a = e.value.substring(0, n);
|
|
7137
7137
|
return t.textContent = e.value.substring(n), e.value = a, t;
|
|
@@ -7142,7 +7142,7 @@ var Xc = (e, t) => {
|
|
|
7142
7142
|
navigateNext(e = !1) {
|
|
7143
7143
|
let { BlockManager: t } = this.Blok, { currentBlock: n, nextVisibleBlock: r } = t;
|
|
7144
7144
|
if (n === void 0) return !1;
|
|
7145
|
-
let { nextInput: i, currentInput: a } = n, o = a === void 0 ? void 0 :
|
|
7145
|
+
let { nextInput: i, currentInput: a } = n, o = a === void 0 ? void 0 : y(a), s = e || o || !n.focusable;
|
|
7146
7146
|
if (i && s) return this.setToInput(i, this.positions.START), !0;
|
|
7147
7147
|
let c = r === null ? n.tool.isDefault || !s ? null : t.insertAtEnd() : r;
|
|
7148
7148
|
return c !== null && s ? (this.setToBlock(c, this.positions.START), !0) : !1;
|
|
@@ -7150,7 +7150,7 @@ var Xc = (e, t) => {
|
|
|
7150
7150
|
navigatePrevious(e = !1) {
|
|
7151
7151
|
let { currentBlock: t, previousVisibleBlock: n } = this.Blok.BlockManager;
|
|
7152
7152
|
if (!t) return !1;
|
|
7153
|
-
let { previousInput: r, currentInput: i } = t, a = i === void 0 ? void 0 :
|
|
7153
|
+
let { previousInput: r, currentInput: i } = t, a = i === void 0 ? void 0 : Ue(i), o = e || a || !t.focusable;
|
|
7154
7154
|
return r && o ? (this.setToInput(r, this.positions.END), !0) : n !== null && o ? (this.setToBlock(n, this.positions.END), !0) : !1;
|
|
7155
7155
|
}
|
|
7156
7156
|
navigateToBlock(e, t) {
|
|
@@ -7174,7 +7174,7 @@ var Xc = (e, t) => {
|
|
|
7174
7174
|
return this.setToBlock(r, this.positions.START), !0;
|
|
7175
7175
|
}
|
|
7176
7176
|
if (n !== null) return this.setToBlockAtXPosition(n, i, !0), !0;
|
|
7177
|
-
let o = r === void 0 ? !0 :
|
|
7177
|
+
let o = r === void 0 ? !0 : y(r);
|
|
7178
7178
|
if (!t.tool.isDefault && o) {
|
|
7179
7179
|
let t = e.insertAtEnd();
|
|
7180
7180
|
return this.setToBlock(t, this.positions.START), !0;
|
|
@@ -7202,12 +7202,12 @@ var Xc = (e, t) => {
|
|
|
7202
7202
|
restoreCaret(e) {
|
|
7203
7203
|
let t = e.querySelector("[data-blok-testid=\"shadow-caret\"]");
|
|
7204
7204
|
if (!t) return;
|
|
7205
|
-
new
|
|
7205
|
+
new T().expandToTag(t);
|
|
7206
7206
|
let n = document.createRange();
|
|
7207
7207
|
n.selectNode(t), n.extractContents();
|
|
7208
7208
|
}
|
|
7209
7209
|
insertContentAtCaretPosition(e) {
|
|
7210
|
-
let t = document.createDocumentFragment(), n = document.createElement("div"), r =
|
|
7210
|
+
let t = document.createDocumentFragment(), n = document.createElement("div"), r = T.get(), i = T.range;
|
|
7211
7211
|
if (!r || !i) return;
|
|
7212
7212
|
n.innerHTML = e, Array.from(n.childNodes).forEach((e) => t.appendChild(e)), t.childNodes.length === 0 && t.appendChild(new Text());
|
|
7213
7213
|
let a = t.lastChild;
|
|
@@ -7228,7 +7228,7 @@ var Xc = (e, t) => {
|
|
|
7228
7228
|
if (c !== s) {
|
|
7229
7229
|
if (this.firstSelectedBlock && s === this.firstSelectedBlock) {
|
|
7230
7230
|
var l;
|
|
7231
|
-
(l =
|
|
7231
|
+
(l = T.get()) == null || l.removeAllRanges(), s.selected = !0, c.selected = !0, r.clearCache();
|
|
7232
7232
|
return;
|
|
7233
7233
|
}
|
|
7234
7234
|
if (this.firstSelectedBlock && c === this.firstSelectedBlock) {
|
|
@@ -7248,7 +7248,7 @@ var Xc = (e, t) => {
|
|
|
7248
7248
|
});
|
|
7249
7249
|
}
|
|
7250
7250
|
watchSelection(e) {
|
|
7251
|
-
if (e.button !==
|
|
7251
|
+
if (e.button !== se.LEFT) return;
|
|
7252
7252
|
let { BlockManager: t } = this.Blok, n = t.getBlock(e.target);
|
|
7253
7253
|
n && (this.firstSelectedBlock = n, this.lastSelectedBlock = n, this.listeners.on(document, "mouseover", this.onMouseOver), this.listeners.on(document, "mouseup", this.onMouseUp));
|
|
7254
7254
|
}
|
|
@@ -7260,7 +7260,7 @@ var Xc = (e, t) => {
|
|
|
7260
7260
|
if (!this.lastSelectedBlock && !r) return;
|
|
7261
7261
|
if (!this.lastSelectedBlock && r && (this.lastSelectedBlock = this.firstSelectedBlock = r), this.firstSelectedBlock === this.lastSelectedBlock && this.firstSelectedBlock) {
|
|
7262
7262
|
var i;
|
|
7263
|
-
this.firstSelectedBlock.selected = !0, n.clearCache(), (i =
|
|
7263
|
+
this.firstSelectedBlock.selected = !0, n.clearCache(), (i = T.get()) == null || i.removeAllRanges(), this.Blok.Toolbar.close();
|
|
7264
7264
|
}
|
|
7265
7265
|
if (!this.lastSelectedBlock) return;
|
|
7266
7266
|
let a = t.blocks.indexOf(this.lastSelectedBlock) + (e ? 1 : -1), o = t.blocks[a];
|
|
@@ -7291,7 +7291,7 @@ var Xc = (e, t) => {
|
|
|
7291
7291
|
let { UI: t, Toolbar: n } = this.Blok;
|
|
7292
7292
|
if (!t.nodes.redactor || this.Blok.RectangleSelection.isRectActivated()) return;
|
|
7293
7293
|
let r = n.nodes.wrapper;
|
|
7294
|
-
r && r.contains(e.target) || (
|
|
7294
|
+
r && r.contains(e.target) || (T.isCollapsed || this.Blok.BlockSelection.clearSelection(e), t.nodes.redactor.contains(e.target) ? this.watchSelection(e) : this.Blok.BlockSelection.clearSelection(e));
|
|
7295
7295
|
}
|
|
7296
7296
|
toggleBlocksSelectedState(e, t) {
|
|
7297
7297
|
let { BlockManager: n, BlockSelection: r } = this.Blok, i = n.blocks.indexOf(e), a = n.blocks.indexOf(t), o = e.selected !== t.selected, s = Math.min(i, a), c = Math.max(i, a);
|
|
@@ -7482,7 +7482,7 @@ var Xc = (e, t) => {
|
|
|
7482
7482
|
}
|
|
7483
7483
|
createSingle(e, t, n) {
|
|
7484
7484
|
var r, i, a;
|
|
7485
|
-
let o =
|
|
7485
|
+
let o = O.make("div", _l.base), s = e.cloneNode(!0);
|
|
7486
7486
|
(r = s.querySelector("[data-blok-toggle-children]")) == null || r.remove(), s.className = A(_l.content, t ? "max-w-none" : "");
|
|
7487
7487
|
let c = e.getBoundingClientRect().width;
|
|
7488
7488
|
c > 0 && (s.style.width = `${c}px`);
|
|
@@ -7490,13 +7490,13 @@ var Xc = (e, t) => {
|
|
|
7490
7490
|
l && (l.className = A(l.className, "m-0!")), o.appendChild(s);
|
|
7491
7491
|
let u = (i = n == null || (a = n.contentIds) == null ? void 0 : a.length) == null ? 0 : i;
|
|
7492
7492
|
if (u > 0) {
|
|
7493
|
-
let e =
|
|
7493
|
+
let e = O.make("span", "absolute bottom-1 right-1 text-xs text-gray-400 bg-white/80 px-1 rounded");
|
|
7494
7494
|
e.setAttribute("data-blok-children-badge", ""), e.textContent = `+${u}`, o.appendChild(e);
|
|
7495
7495
|
}
|
|
7496
7496
|
return this.element = o, o;
|
|
7497
7497
|
}
|
|
7498
7498
|
createMulti(e) {
|
|
7499
|
-
let t =
|
|
7499
|
+
let t = O.make("div", _l.base), n = e.map((e) => {
|
|
7500
7500
|
let t = e.holder.getBoundingClientRect(), n = e.holder.querySelector("[data-blok-element-content]");
|
|
7501
7501
|
if (!n) return {
|
|
7502
7502
|
width: 0,
|
|
@@ -7679,29 +7679,29 @@ var Xc = (e, t) => {
|
|
|
7679
7679
|
setSourceBlocks(e) {
|
|
7680
7680
|
this.sourceBlocks = e;
|
|
7681
7681
|
}
|
|
7682
|
-
findDropTargetBlock(e,
|
|
7683
|
-
let
|
|
7684
|
-
if (
|
|
7685
|
-
let e =
|
|
7682
|
+
findDropTargetBlock(e, n, r) {
|
|
7683
|
+
let i = e.closest("[data-blok-toggle-body-placeholder]");
|
|
7684
|
+
if (i) {
|
|
7685
|
+
let e = i.closest(w(t.element));
|
|
7686
7686
|
if (!(e instanceof HTMLElement)) return {
|
|
7687
7687
|
block: void 0,
|
|
7688
7688
|
holder: null
|
|
7689
7689
|
};
|
|
7690
|
-
let
|
|
7691
|
-
if (
|
|
7692
|
-
block:
|
|
7690
|
+
let n = this.blockManager.blocks.find((t) => t.holder === e);
|
|
7691
|
+
if (n) return {
|
|
7692
|
+
block: n,
|
|
7693
7693
|
holder: e
|
|
7694
7694
|
};
|
|
7695
7695
|
}
|
|
7696
|
-
let
|
|
7697
|
-
if (
|
|
7698
|
-
block: this.blockManager.blocks.find((e) => e.holder ===
|
|
7699
|
-
holder:
|
|
7696
|
+
let a = e.closest(w(t.element));
|
|
7697
|
+
if (a instanceof HTMLElement) return {
|
|
7698
|
+
block: this.blockManager.blocks.find((e) => e.holder === a),
|
|
7699
|
+
holder: a
|
|
7700
7700
|
};
|
|
7701
|
-
let
|
|
7702
|
-
return
|
|
7703
|
-
block:
|
|
7704
|
-
holder:
|
|
7701
|
+
let o = this.findBlockInLeftDropZone(n, r);
|
|
7702
|
+
return o ? {
|
|
7703
|
+
block: o,
|
|
7704
|
+
holder: o.holder
|
|
7705
7705
|
} : {
|
|
7706
7706
|
block: void 0,
|
|
7707
7707
|
holder: null
|
|
@@ -7779,13 +7779,13 @@ var Xc = (e, t) => {
|
|
|
7779
7779
|
}
|
|
7780
7780
|
return k(k({}, e), {}, { parentId: null });
|
|
7781
7781
|
}
|
|
7782
|
-
redirectToTableBlock(e,
|
|
7783
|
-
let
|
|
7784
|
-
if (!
|
|
7785
|
-
let
|
|
7782
|
+
redirectToTableBlock(e, n) {
|
|
7783
|
+
let r = e.closest(w(t.element)), i = r ? this.blockManager.blocks.find((e) => e.holder === r) : void 0;
|
|
7784
|
+
if (!i) return null;
|
|
7785
|
+
let a = i.holder.getBoundingClientRect();
|
|
7786
7786
|
return {
|
|
7787
|
-
block:
|
|
7788
|
-
edge:
|
|
7787
|
+
block: i,
|
|
7788
|
+
edge: n < a.top + a.height / 2 ? "top" : "bottom",
|
|
7789
7789
|
depth: 0,
|
|
7790
7790
|
parentId: null
|
|
7791
7791
|
};
|
|
@@ -7880,12 +7880,12 @@ var Pl = class {
|
|
|
7880
7880
|
cancelTracking() {
|
|
7881
7881
|
Sl(this.stateMachine.getState()) && !Cl(this.stateMachine.getState()) && this.cleanup(!1, !0);
|
|
7882
7882
|
}
|
|
7883
|
-
setupDragHandle(e,
|
|
7884
|
-
let
|
|
7885
|
-
e.button === 0 && document.querySelector(`[${
|
|
7883
|
+
setupDragHandle(e, n) {
|
|
7884
|
+
let r = (e) => {
|
|
7885
|
+
e.button === 0 && document.querySelector(`[${t.popoverOpened}]`) === null && this.startDragTracking(e, n);
|
|
7886
7886
|
};
|
|
7887
|
-
return e.addEventListener("mousedown",
|
|
7888
|
-
e.removeEventListener("mousedown",
|
|
7887
|
+
return e.addEventListener("mousedown", r), () => {
|
|
7888
|
+
e.removeEventListener("mousedown", r);
|
|
7889
7889
|
};
|
|
7890
7890
|
}
|
|
7891
7891
|
startDragTracking(e, t) {
|
|
@@ -7911,10 +7911,10 @@ var Pl = class {
|
|
|
7911
7911
|
}
|
|
7912
7912
|
startActualDrag(e) {
|
|
7913
7913
|
this.stateMachine.startDrag(), this.Blok.Toolbar.skipNextSettingsToggle(), this.preview.show();
|
|
7914
|
-
let
|
|
7915
|
-
|
|
7916
|
-
let
|
|
7917
|
-
Xc(this.Blok.I18n.t(
|
|
7914
|
+
let n = this.Blok.UI.nodes.wrapper;
|
|
7915
|
+
n.setAttribute(t.dragging, "true"), e > 1 && n.setAttribute(t.draggingMulti, "true"), e === 1 && this.Blok.BlockSelection.clearSelection(), be(), this.Blok.Toolbar.close({ setExplicitlyClosed: !1 });
|
|
7916
|
+
let r = e > 1 ? "a11y.dragStartedMultiple" : "a11y.dragStarted", i = e > 1 ? { count: e } : void 0;
|
|
7917
|
+
Xc(this.Blok.I18n.t(r, i), { politeness: "assertive" });
|
|
7918
7918
|
}
|
|
7919
7919
|
updateDropTarget(e, t) {
|
|
7920
7920
|
let n = this.stateMachine.getState(), r = this.stateMachine.getSourceBlock();
|
|
@@ -8018,23 +8018,23 @@ var Pl = class {
|
|
|
8018
8018
|
e.key === "Alt" && Cl(this.stateMachine.getState()) && this.setDuplicationMode(!1);
|
|
8019
8019
|
}
|
|
8020
8020
|
setDuplicationMode(e) {
|
|
8021
|
-
let
|
|
8022
|
-
e ?
|
|
8021
|
+
let n = this.Blok.UI.nodes.wrapper;
|
|
8022
|
+
e ? n.setAttribute(t.duplicating, "true") : n.removeAttribute(t.duplicating);
|
|
8023
8023
|
}
|
|
8024
|
-
cleanup(e = !1,
|
|
8024
|
+
cleanup(e = !1, n = !1) {
|
|
8025
8025
|
if (e && Cl(this.stateMachine.getState()) && Xc(this.Blok.I18n.t("a11y.dropCancelled"), { politeness: "polite" }), e) {
|
|
8026
|
-
var
|
|
8027
|
-
(
|
|
8026
|
+
var r, i, a, o;
|
|
8027
|
+
(r = (i = this.Blok.UI).resetBlockHoverState) == null || r.call(i), (a = (o = this.Blok.Toolbar).resetExplicitlyClosed) == null || a.call(o);
|
|
8028
8028
|
}
|
|
8029
8029
|
this.autoScroll && (this.autoScroll.destroy(), this.autoScroll = null), this.a11y && this.a11y.reset();
|
|
8030
|
-
let
|
|
8031
|
-
(
|
|
8032
|
-
let
|
|
8033
|
-
|
|
8034
|
-
let
|
|
8035
|
-
if (this.stateMachine.reset(), this.targetDetector && this.targetDetector.setSourceBlocks([]), e ||
|
|
8036
|
-
let
|
|
8037
|
-
|
|
8030
|
+
let s = this.stateMachine.getState();
|
|
8031
|
+
(s.type === "dragging" || s.type === "dropped") && s.targetBlock && (s.targetBlock.holder.removeAttribute("data-drop-indicator"), s.targetBlock.holder.style.removeProperty("--drop-indicator-depth")), this.springLoader.cancel(), this.preview.destroy();
|
|
8032
|
+
let c = this.Blok.UI.nodes.wrapper;
|
|
8033
|
+
c.removeAttribute(t.dragging), c.removeAttribute(t.draggingMulti), c.removeAttribute(t.duplicating), this.boundHandlers && (document.removeEventListener("mousemove", this.boundHandlers.onMouseMove), document.removeEventListener("mouseup", this.boundHandlers.onMouseUp), document.removeEventListener("keydown", this.boundHandlers.onKeyDown), document.removeEventListener("keyup", this.boundHandlers.onKeyUp), this.boundHandlers = null);
|
|
8034
|
+
let l = this.stateMachine.getSourceBlock();
|
|
8035
|
+
if (this.stateMachine.reset(), this.targetDetector && this.targetDetector.setSourceBlocks([]), e || n) return;
|
|
8036
|
+
let u = l == null ? this.Blok.BlockManager.currentBlock : l;
|
|
8037
|
+
u && this.Blok.Toolbar.moveAndOpen(u);
|
|
8038
8038
|
}
|
|
8039
8039
|
getHierarchyDescendants(e) {
|
|
8040
8040
|
let t = [], n = (e) => {
|
|
@@ -8065,74 +8065,74 @@ var Pl = class {
|
|
|
8065
8065
|
}), Vl = /* @__PURE__ */ "am.ar.az.bg.bn.bs.cs.da.de.dv.el.en.es.et.fa.fi.fil.fr.gu.he.hi.hr.hu.hy.id.it.ja.ka.km.kn.ko.ku.lo.lt.lv.mk.ml.mn.mr.ms.my.ne.nl.no.pa.pl.ps.pt.ro.ru.sd.si.sk.sl.sq.sr.sv.sw.ta.te.th.tr.ug.uk.ur.vi.yi.zh".split("."), Hl = Bl("en", ot), Ul = /* @__PURE__ */ new Map();
|
|
8066
8066
|
Ul.set("en", Hl);
|
|
8067
8067
|
var Wl = {
|
|
8068
|
-
am: () => import("./messages-
|
|
8069
|
-
ar: () => import("./messages-
|
|
8070
|
-
az: () => import("./messages-
|
|
8071
|
-
bg: () => import("./messages-
|
|
8072
|
-
bn: () => import("./messages-
|
|
8073
|
-
bs: () => import("./messages-
|
|
8074
|
-
cs: () => import("./messages-
|
|
8075
|
-
da: () => import("./messages-
|
|
8076
|
-
de: () => import("./messages-
|
|
8077
|
-
dv: () => import("./messages-
|
|
8078
|
-
el: () => import("./messages-
|
|
8068
|
+
am: () => import("./messages-BC9w4zAT.mjs"),
|
|
8069
|
+
ar: () => import("./messages-D9Xr-hES.mjs"),
|
|
8070
|
+
az: () => import("./messages-BtAwCUfD.mjs"),
|
|
8071
|
+
bg: () => import("./messages-C02M0Tpw.mjs"),
|
|
8072
|
+
bn: () => import("./messages-BUUkmUGc.mjs"),
|
|
8073
|
+
bs: () => import("./messages-DKjddpzJ.mjs"),
|
|
8074
|
+
cs: () => import("./messages-CfeFJbiv.mjs"),
|
|
8075
|
+
da: () => import("./messages-BSBbVjor.mjs"),
|
|
8076
|
+
de: () => import("./messages-Bb3YEV2P.mjs"),
|
|
8077
|
+
dv: () => import("./messages-DY0FJdpH.mjs"),
|
|
8078
|
+
el: () => import("./messages-BqYlq_Bn.mjs"),
|
|
8079
8079
|
en: () => Promise.resolve({ default: ot }),
|
|
8080
|
-
es: () => import("./messages-
|
|
8081
|
-
et: () => import("./messages-
|
|
8082
|
-
fa: () => import("./messages-
|
|
8083
|
-
fi: () => import("./messages-
|
|
8084
|
-
fil: () => import("./messages-
|
|
8085
|
-
fr: () => import("./messages-
|
|
8086
|
-
gu: () => import("./messages-
|
|
8087
|
-
he: () => import("./messages-
|
|
8088
|
-
hi: () => import("./messages-
|
|
8089
|
-
hr: () => import("./messages-
|
|
8090
|
-
hu: () => import("./messages-
|
|
8091
|
-
hy: () => import("./messages-
|
|
8092
|
-
id: () => import("./messages-
|
|
8093
|
-
it: () => import("./messages-
|
|
8094
|
-
ja: () => import("./messages-
|
|
8095
|
-
ka: () => import("./messages-
|
|
8096
|
-
km: () => import("./messages-
|
|
8097
|
-
kn: () => import("./messages-
|
|
8098
|
-
ko: () => import("./messages-
|
|
8099
|
-
ku: () => import("./messages-
|
|
8100
|
-
lo: () => import("./messages-
|
|
8101
|
-
lt: () => import("./messages-
|
|
8102
|
-
lv: () => import("./messages-
|
|
8103
|
-
mk: () => import("./messages-
|
|
8104
|
-
ml: () => import("./messages-
|
|
8105
|
-
mn: () => import("./messages-
|
|
8106
|
-
mr: () => import("./messages-
|
|
8107
|
-
ms: () => import("./messages
|
|
8108
|
-
my: () => import("./messages-
|
|
8109
|
-
ne: () => import("./messages-
|
|
8110
|
-
nl: () => import("./messages-
|
|
8111
|
-
no: () => import("./messages-
|
|
8112
|
-
pa: () => import("./messages-
|
|
8113
|
-
pl: () => import("./messages-
|
|
8114
|
-
ps: () => import("./messages-
|
|
8115
|
-
pt: () => import("./messages-
|
|
8116
|
-
ro: () => import("./messages-
|
|
8117
|
-
ru: () => import("./messages-
|
|
8118
|
-
sd: () => import("./messages-
|
|
8119
|
-
si: () => import("./messages-
|
|
8120
|
-
sk: () => import("./messages-
|
|
8121
|
-
sl: () => import("./messages-
|
|
8122
|
-
sq: () => import("./messages-
|
|
8123
|
-
sr: () => import("./messages-
|
|
8124
|
-
sv: () => import("./messages-
|
|
8125
|
-
sw: () => import("./messages-
|
|
8126
|
-
ta: () => import("./messages-
|
|
8127
|
-
te: () => import("./messages-
|
|
8128
|
-
th: () => import("./messages-
|
|
8129
|
-
tr: () => import("./messages-
|
|
8130
|
-
ug: () => import("./messages-
|
|
8131
|
-
uk: () => import("./messages-
|
|
8132
|
-
ur: () => import("./messages-
|
|
8133
|
-
vi: () => import("./messages-
|
|
8134
|
-
yi: () => import("./messages-
|
|
8135
|
-
zh: () => import("./messages-
|
|
8080
|
+
es: () => import("./messages-D1BKxfLD.mjs"),
|
|
8081
|
+
et: () => import("./messages-CZymJML9.mjs"),
|
|
8082
|
+
fa: () => import("./messages-CGOY79lr.mjs"),
|
|
8083
|
+
fi: () => import("./messages-D-I2QO8H.mjs"),
|
|
8084
|
+
fil: () => import("./messages-DFS_n986.mjs"),
|
|
8085
|
+
fr: () => import("./messages-Bthbp65G.mjs"),
|
|
8086
|
+
gu: () => import("./messages-DgZc9TJw.mjs"),
|
|
8087
|
+
he: () => import("./messages-CFOZdSk4.mjs"),
|
|
8088
|
+
hi: () => import("./messages-Cyh-mz40.mjs"),
|
|
8089
|
+
hr: () => import("./messages-B-SwLgkQ.mjs"),
|
|
8090
|
+
hu: () => import("./messages-C68WgSKk.mjs"),
|
|
8091
|
+
hy: () => import("./messages-vzWKPLJO.mjs"),
|
|
8092
|
+
id: () => import("./messages-CiAHsUfO.mjs"),
|
|
8093
|
+
it: () => import("./messages-tnnqHpbd.mjs"),
|
|
8094
|
+
ja: () => import("./messages-Cuzq-tNW.mjs"),
|
|
8095
|
+
ka: () => import("./messages-BRYHTS18.mjs"),
|
|
8096
|
+
km: () => import("./messages-C1u3E9qg.mjs"),
|
|
8097
|
+
kn: () => import("./messages-4uxjtzKW.mjs"),
|
|
8098
|
+
ko: () => import("./messages-B5m3dhKc.mjs"),
|
|
8099
|
+
ku: () => import("./messages-QD4BCUDP.mjs"),
|
|
8100
|
+
lo: () => import("./messages-BevRhv5d.mjs"),
|
|
8101
|
+
lt: () => import("./messages-Bhqr7Im2.mjs"),
|
|
8102
|
+
lv: () => import("./messages-jcgCHPRn.mjs"),
|
|
8103
|
+
mk: () => import("./messages-DF9o19rG.mjs"),
|
|
8104
|
+
ml: () => import("./messages-1__0Ph4Q.mjs"),
|
|
8105
|
+
mn: () => import("./messages-4sm9Pb0C.mjs"),
|
|
8106
|
+
mr: () => import("./messages-Cw4qiMwb.mjs"),
|
|
8107
|
+
ms: () => import("./messages--YKhFEDE.mjs"),
|
|
8108
|
+
my: () => import("./messages-DGS4H30T.mjs"),
|
|
8109
|
+
ne: () => import("./messages-D0D2gruy.mjs"),
|
|
8110
|
+
nl: () => import("./messages-Cgatzu_z.mjs"),
|
|
8111
|
+
no: () => import("./messages-a1JTi0Qm.mjs"),
|
|
8112
|
+
pa: () => import("./messages-CGaSMZPu.mjs"),
|
|
8113
|
+
pl: () => import("./messages-BpJFjSKa.mjs"),
|
|
8114
|
+
ps: () => import("./messages-DC0wu2S7.mjs"),
|
|
8115
|
+
pt: () => import("./messages-BzslJRYv.mjs"),
|
|
8116
|
+
ro: () => import("./messages-Be_6YLzJ.mjs"),
|
|
8117
|
+
ru: () => import("./messages-CJJgQ0BH.mjs"),
|
|
8118
|
+
sd: () => import("./messages-D4eDs6R_.mjs"),
|
|
8119
|
+
si: () => import("./messages-USmweex9.mjs"),
|
|
8120
|
+
sk: () => import("./messages-DMvTdUXC.mjs"),
|
|
8121
|
+
sl: () => import("./messages-C8w8JCP0.mjs"),
|
|
8122
|
+
sq: () => import("./messages-B6n2zDtv.mjs"),
|
|
8123
|
+
sr: () => import("./messages-BOj-7N3p.mjs"),
|
|
8124
|
+
sv: () => import("./messages-D9eJPHia.mjs"),
|
|
8125
|
+
sw: () => import("./messages-Bx6Wt285.mjs"),
|
|
8126
|
+
ta: () => import("./messages-B1ylBxXQ.mjs"),
|
|
8127
|
+
te: () => import("./messages-Bw1BE9jW.mjs"),
|
|
8128
|
+
th: () => import("./messages-Ch2zBI602.mjs"),
|
|
8129
|
+
tr: () => import("./messages-DQUX-QYI2.mjs"),
|
|
8130
|
+
ug: () => import("./messages-CTD6rtQj2.mjs"),
|
|
8131
|
+
uk: () => import("./messages-0Uwu1AMJ2.mjs"),
|
|
8132
|
+
ur: () => import("./messages-BvHMZ8Pi2.mjs"),
|
|
8133
|
+
vi: () => import("./messages-DfVXiqt-2.mjs"),
|
|
8134
|
+
yi: () => import("./messages-DBFWSzKY2.mjs"),
|
|
8135
|
+
zh: () => import("./messages-DUigq8FO2.mjs")
|
|
8136
8136
|
}, Gl = async (e) => {
|
|
8137
8137
|
let t = Ul.get(e);
|
|
8138
8138
|
if (t !== void 0) return t;
|
|
@@ -8193,7 +8193,7 @@ var Wl = {
|
|
|
8193
8193
|
async ensureI18nextLoaded(e, t) {
|
|
8194
8194
|
var n = this;
|
|
8195
8195
|
if (n.i18nextWrapper !== null) return;
|
|
8196
|
-
let { loadI18next: r } = await import("./i18next-loader-
|
|
8196
|
+
let { loadI18next: r } = await import("./i18next-loader-CasQQb5s.mjs");
|
|
8197
8197
|
n.i18nextWrapper = await r(e, t);
|
|
8198
8198
|
}
|
|
8199
8199
|
updateConfigDirection(e) {
|
|
@@ -8249,7 +8249,7 @@ var Wl = {
|
|
|
8249
8249
|
this.mutationObserver.disconnect(), this.disabled = !0;
|
|
8250
8250
|
}
|
|
8251
8251
|
particularBlockChanged(e) {
|
|
8252
|
-
this.disabled || !
|
|
8252
|
+
this.disabled || !m(this.config.onChange) || (this.batchingOnChangeQueue.set(`block:${e.detail.target.id}:event:${e.type}`, e), this.batchingTimeout && clearTimeout(this.batchingTimeout), this.batchingTimeout = setTimeout(() => {
|
|
8253
8253
|
let e = Array.from(this.batchingOnChangeQueue.values());
|
|
8254
8254
|
if (e.length === 0) return;
|
|
8255
8255
|
let t = e.length === 1 ? e[0] : e;
|
|
@@ -8338,7 +8338,7 @@ function ru(e) {
|
|
|
8338
8338
|
}
|
|
8339
8339
|
function iu(e, t, n, r, i) {
|
|
8340
8340
|
if (!t && !n) return e;
|
|
8341
|
-
let a = t && r !== void 0 ?
|
|
8341
|
+
let a = t && r !== void 0 ? rt(r, "text") : "", o = n && i !== void 0 ? rt(i, "bg") : "", s = [t ? `color: ${a}` : "", Ql(n, t, o)].filter(Boolean).join("; ");
|
|
8342
8342
|
return s ? `<mark style="${s};">${e}</mark>` : e;
|
|
8343
8343
|
}
|
|
8344
8344
|
function au(e, t) {
|
|
@@ -8360,8 +8360,8 @@ function su(e) {
|
|
|
8360
8360
|
var t, n, r;
|
|
8361
8361
|
let e = (t = i.getAttribute("style")) == null ? "" : t, a = (/* @__PURE__ */ RegExp("(?<![a-z-])color\\s*:\\s*([^;]+)", "i")).exec(e), o = /background-color\s*:\s*([^;]+)/i.exec(e), s = a == null || (n = a[1]) == null ? void 0 : n.trim(), c = o == null || (r = o[1]) == null ? void 0 : r.trim(), l = s !== void 0 && !$l(s) && s !== "inherit", u = c !== void 0 && c !== "transparent" && c !== "inherit";
|
|
8362
8362
|
if (!l && !u) continue;
|
|
8363
|
-
let d = l ?
|
|
8364
|
-
|
|
8363
|
+
let d = l ? rt(s, "text") : "", f = u ? rt(c, "bg") : "", p = [l ? `color: ${d}` : "", Ql(u, l, f)].filter(Boolean).join("; "), m = i;
|
|
8364
|
+
m.innerHTML = `<mark style="${p};">${m.innerHTML}</mark>`, m.style.removeProperty("color"), m.style.removeProperty("background-color");
|
|
8365
8365
|
}
|
|
8366
8366
|
}
|
|
8367
8367
|
function cu(e) {
|
|
@@ -8391,7 +8391,7 @@ var lu = class {
|
|
|
8391
8391
|
}
|
|
8392
8392
|
redirectToTableParentIfNeeded(e, t) {
|
|
8393
8393
|
var n, r;
|
|
8394
|
-
let i = t.currentBlock, a = i == null || (n = i.holder) == null ? void 0 : n.closest("[data-blok-table-cell-blocks]"), o = new Set(
|
|
8394
|
+
let i = t.currentBlock, a = i == null || (n = i.holder) == null ? void 0 : n.closest("[data-blok-table-cell-blocks]"), o = new Set(we()), s = e.some((e) => o.has(e.tool));
|
|
8395
8395
|
if (!a || !s || i === void 0) return;
|
|
8396
8396
|
let c = (r = i.holder.closest("[data-blok-tool=\"table\"]")) == null ? void 0 : r.closest("[data-blok-element]");
|
|
8397
8397
|
c && t.setCurrentBlockByChildNode(c);
|
|
@@ -8438,7 +8438,7 @@ var lu = class {
|
|
|
8438
8438
|
}
|
|
8439
8439
|
async processSingleBlock(e, t) {
|
|
8440
8440
|
var n = this;
|
|
8441
|
-
let { Caret: r, BlockManager: i } = n.Blok, { currentBlock: a } = i, o =
|
|
8441
|
+
let { Caret: r, BlockManager: i } = n.Blok, { currentBlock: a } = i, o = O;
|
|
8442
8442
|
if (!a || e.tool !== a.name || !o.containsOnlyInlineElements(e.content.innerHTML)) {
|
|
8443
8443
|
await n.insertBlock(e, t);
|
|
8444
8444
|
return;
|
|
@@ -8453,7 +8453,7 @@ var lu = class {
|
|
|
8453
8453
|
return;
|
|
8454
8454
|
}
|
|
8455
8455
|
let s = o.tool.baseSanitizeConfig;
|
|
8456
|
-
i.insertContentAtCaretPosition(
|
|
8456
|
+
i.insertContentAtCaretPosition(Ee(a.innerHTML, s));
|
|
8457
8457
|
}
|
|
8458
8458
|
}, uu, du = class e extends lu {
|
|
8459
8459
|
constructor(e, t, n) {
|
|
@@ -8530,7 +8530,7 @@ var fu = class extends lu {
|
|
|
8530
8530
|
}
|
|
8531
8531
|
insertBlokBlocks(e, t) {
|
|
8532
8532
|
var n, r;
|
|
8533
|
-
let { BlockManager: i, Caret: a, Tools: o } = this.Blok, s =
|
|
8533
|
+
let { BlockManager: i, Caret: a, Tools: o } = this.Blok, s = Be(e, (e) => {
|
|
8534
8534
|
var t, n;
|
|
8535
8535
|
return (t = (n = o.blockTools.get(e)) == null ? void 0 : n.sanitizeConfig) == null ? {} : t;
|
|
8536
8536
|
}, this.config.sanitizer), c = t && !!((n = i.currentBlock) != null && n.tool.isDefault) && !!((r = i.currentBlock) != null && r.isEmpty), l = new Set(e.map((e) => e.id)), u = [], d = [];
|
|
@@ -8629,7 +8629,7 @@ var mu = (e) => typeof e == "object" && !!e && "files" in e && "types" in e && "
|
|
|
8629
8629
|
super(e, t, n);
|
|
8630
8630
|
}
|
|
8631
8631
|
canHandle(e) {
|
|
8632
|
-
return typeof e != "string" || !e.trim() || !
|
|
8632
|
+
return typeof e != "string" || !e.trim() || !O.isHTMLString(e) ? 0 : 40;
|
|
8633
8633
|
}
|
|
8634
8634
|
async handle(e, t) {
|
|
8635
8635
|
var n = this;
|
|
@@ -8638,7 +8638,7 @@ var mu = (e) => typeof e == "object" && !!e && "files" in e && "types" in e && "
|
|
|
8638
8638
|
return r.length ? (await n.insertPasteData(r, t.canReplaceCurrentBlock), !0) : !1;
|
|
8639
8639
|
}
|
|
8640
8640
|
processHTML(e) {
|
|
8641
|
-
let { Tools: t } = this.Blok, n =
|
|
8641
|
+
let { Tools: t } = this.Blok, n = O.make("DIV");
|
|
8642
8642
|
n.innerHTML = e;
|
|
8643
8643
|
let r = this.getNodes(n), i = [];
|
|
8644
8644
|
for (let e of r) {
|
|
@@ -8659,7 +8659,7 @@ var mu = (e) => typeof e == "object" && !!e && "files" in e && "types" in e && "
|
|
|
8659
8659
|
let i = (() => {
|
|
8660
8660
|
switch (e.nodeType) {
|
|
8661
8661
|
case Node.DOCUMENT_FRAGMENT_NODE: {
|
|
8662
|
-
let n =
|
|
8662
|
+
let n = O.make("div");
|
|
8663
8663
|
return n.appendChild(e), {
|
|
8664
8664
|
content: n,
|
|
8665
8665
|
tool: t.defaultTool,
|
|
@@ -8695,7 +8695,7 @@ var mu = (e) => typeof e == "object" && !!e && "files" in e && "types" in e && "
|
|
|
8695
8695
|
}), o = /* @__PURE__ */ new Map(), s = [];
|
|
8696
8696
|
for (let e of a) {
|
|
8697
8697
|
if (!e) continue;
|
|
8698
|
-
let { data: t, originalIndex: n } = e, r =
|
|
8698
|
+
let { data: t, originalIndex: n } = e, r = O.isEmpty(t.content), i = O.isSingleTag(t.content);
|
|
8699
8699
|
(!r || i) && (o.set(n, s.length), s.push(t));
|
|
8700
8700
|
}
|
|
8701
8701
|
for (let e of s) e.parentPasteIndex !== void 0 && (e.parentPasteIndex = o.get(e.parentPasteIndex));
|
|
@@ -8706,7 +8706,7 @@ var mu = (e) => typeof e == "object" && !!e && "files" in e && "types" in e && "
|
|
|
8706
8706
|
return e.pasteConfig === !1 ? {} : (((t = e.pasteConfig) == null ? void 0 : t.tags) || []).reduce((e, t) => {
|
|
8707
8707
|
let n = Yl(t), r = k({}, e);
|
|
8708
8708
|
return n.forEach((e) => {
|
|
8709
|
-
let n =
|
|
8709
|
+
let n = b(t) ? t[e] : null;
|
|
8710
8710
|
r[e.toLowerCase()] = n == null ? {} : n;
|
|
8711
8711
|
}), r;
|
|
8712
8712
|
}, {});
|
|
@@ -8714,7 +8714,7 @@ var mu = (e) => typeof e == "object" && !!e && "files" in e && "types" in e && "
|
|
|
8714
8714
|
sanitizeContent(e, t) {
|
|
8715
8715
|
if (e.tagName.toLowerCase() !== "table") {
|
|
8716
8716
|
let n = e.cloneNode(!0);
|
|
8717
|
-
return n.innerHTML =
|
|
8717
|
+
return n.innerHTML = Ee(e.innerHTML, t), n;
|
|
8718
8718
|
}
|
|
8719
8719
|
return this.sanitizerBuilder.sanitizeTable(e, t);
|
|
8720
8720
|
}
|
|
@@ -8725,7 +8725,7 @@ var mu = (e) => typeof e == "object" && !!e && "files" in e && "types" in e && "
|
|
|
8725
8725
|
n,
|
|
8726
8726
|
i
|
|
8727
8727
|
];
|
|
8728
|
-
let l =
|
|
8728
|
+
let l = O.blockElements.includes(i.tagName.toLowerCase()), u = Jl.has(i.tagName.toLowerCase()), d = Array.from(i.children).some(({ tagName: e }) => r.includes(e) && !s.includes(e)), f = Array.from(i.children).some(({ tagName: e }) => O.blockElements.includes(e.toLowerCase()));
|
|
8729
8729
|
if (!l && !c && !d) return n.appendChild(i), [...t, n];
|
|
8730
8730
|
if (c && !d || l && !f && !d || u && !d) return [
|
|
8731
8731
|
...t,
|
|
@@ -8735,8 +8735,8 @@ var mu = (e) => typeof e == "object" && !!e && "files" in e && "types" in e && "
|
|
|
8735
8735
|
}
|
|
8736
8736
|
getNodes(e) {
|
|
8737
8737
|
let t = Array.from(e.childNodes), n = (e, t) => {
|
|
8738
|
-
if (
|
|
8739
|
-
let r = e[e.length - 1], { destNode: i, remainingNodes: a } = r !== void 0 &&
|
|
8738
|
+
if (O.isEmpty(t) && !O.isSingleTag(t)) return e;
|
|
8739
|
+
let r = e[e.length - 1], { destNode: i, remainingNodes: a } = r !== void 0 && O.isFragment(r) ? {
|
|
8740
8740
|
destNode: r,
|
|
8741
8741
|
remainingNodes: e.slice(0, -1)
|
|
8742
8742
|
} : {
|
|
@@ -8793,12 +8793,12 @@ var yu = class extends lu {
|
|
|
8793
8793
|
super(e, t, n);
|
|
8794
8794
|
}
|
|
8795
8795
|
canHandle(e) {
|
|
8796
|
-
return typeof e == "string" ?
|
|
8796
|
+
return typeof e == "string" ? g(e) === null ? 0 : 90 : 0;
|
|
8797
8797
|
}
|
|
8798
8798
|
async handle(e, t) {
|
|
8799
8799
|
var n = this;
|
|
8800
8800
|
if (typeof e != "string") return !1;
|
|
8801
|
-
let r =
|
|
8801
|
+
let r = g(e);
|
|
8802
8802
|
if (!r) return !1;
|
|
8803
8803
|
let i = document.activeElement;
|
|
8804
8804
|
if (i != null && i.closest("[data-blok-table-cell]")) return !1;
|
|
@@ -8837,7 +8837,7 @@ var yu = class extends lu {
|
|
|
8837
8837
|
processPlain(e) {
|
|
8838
8838
|
let { defaultBlock: t } = this.config;
|
|
8839
8839
|
return !e || !t ? [] : e.split(/\r?\n/).filter((e) => e.trim()).map((e) => {
|
|
8840
|
-
let n =
|
|
8840
|
+
let n = O.make("div");
|
|
8841
8841
|
return n.textContent = e, {
|
|
8842
8842
|
content: n,
|
|
8843
8843
|
tool: t,
|
|
@@ -8876,16 +8876,16 @@ var yu = class extends lu {
|
|
|
8876
8876
|
let n = ((t = e.pasteConfig) == null ? void 0 : t.tags) || [], r = {};
|
|
8877
8877
|
return n.forEach((e) => {
|
|
8878
8878
|
Yl(e).forEach((t) => {
|
|
8879
|
-
let n =
|
|
8879
|
+
let n = b(e) ? e[t] : null;
|
|
8880
8880
|
r[t.toLowerCase()] = n == null ? {} : n;
|
|
8881
8881
|
});
|
|
8882
8882
|
}), r;
|
|
8883
8883
|
}
|
|
8884
8884
|
composeConfigs(...e) {
|
|
8885
|
-
return
|
|
8885
|
+
return Ge({}, ...e);
|
|
8886
8886
|
}
|
|
8887
8887
|
sanitizeTable(e, t) {
|
|
8888
|
-
let n =
|
|
8888
|
+
let n = Ee(e.outerHTML, t), r = document.createElement("div");
|
|
8889
8889
|
r.innerHTML = n;
|
|
8890
8890
|
let i = r.firstChild;
|
|
8891
8891
|
return !i || !(i instanceof HTMLElement) ? null : i;
|
|
@@ -8904,7 +8904,7 @@ var yu = class extends lu {
|
|
|
8904
8904
|
if (!e.hasOnPasteHandler) return;
|
|
8905
8905
|
this.getTagsConfig(e), this.getFilesConfig(e), this.getPatternsConfig(e);
|
|
8906
8906
|
} catch (t) {
|
|
8907
|
-
|
|
8907
|
+
E(`Paste handling for «${e.name}» Tool hasn't been set up because of the error`, "warn", t);
|
|
8908
8908
|
}
|
|
8909
8909
|
};
|
|
8910
8910
|
}
|
|
@@ -8920,10 +8920,10 @@ var yu = class extends lu {
|
|
|
8920
8920
|
let r = Yl(t);
|
|
8921
8921
|
n.push(...r), r.forEach((n) => {
|
|
8922
8922
|
if (Object.prototype.hasOwnProperty.call(this.toolsTags, n)) {
|
|
8923
|
-
|
|
8923
|
+
E(`Paste handler for «${e.name}» Tool on «${n}» tag is skipped because it is already used by «${this.toolsTags[n].tool.name}» Tool.`, "warn");
|
|
8924
8924
|
return;
|
|
8925
8925
|
}
|
|
8926
|
-
let r =
|
|
8926
|
+
let r = b(t) ? t[n] : void 0;
|
|
8927
8927
|
this.toolsTags[n.toUpperCase()] = {
|
|
8928
8928
|
tool: e,
|
|
8929
8929
|
sanitizationConfig: r
|
|
@@ -8935,7 +8935,7 @@ var yu = class extends lu {
|
|
|
8935
8935
|
if (e.pasteConfig === !1) return;
|
|
8936
8936
|
let { files: t = {} } = e.pasteConfig, { extensions: n, mimeTypes: r } = t;
|
|
8937
8937
|
if (!n && !r) return;
|
|
8938
|
-
let i = n == null ? [] : Array.isArray(n) ? n : (
|
|
8938
|
+
let i = n == null ? [] : Array.isArray(n) ? n : (E(`«extensions» property of the paste config for «${e.name}» Tool should be an array`), []), a = r == null ? [] : Array.isArray(r) ? r.filter((t) => h(t) ? !0 : (E(`MIME type value «${t}» for the «${e.name}» Tool is not a valid MIME type`, "warn"), !1)) : (E(`«mimeTypes» property of the paste config for «${e.name}» Tool should be an array`), []);
|
|
8939
8939
|
this.toolsFiles[e.name] = {
|
|
8940
8940
|
extensions: i,
|
|
8941
8941
|
mimeTypes: a
|
|
@@ -8945,7 +8945,7 @@ var yu = class extends lu {
|
|
|
8945
8945
|
if (e.pasteConfig === !1 || !e.pasteConfig.patterns) return;
|
|
8946
8946
|
let t = e.pasteConfig.patterns;
|
|
8947
8947
|
Object.keys(t).length !== 0 && Object.entries(t).forEach(([t, n]) => {
|
|
8948
|
-
n instanceof RegExp ||
|
|
8948
|
+
n instanceof RegExp || E(`Pattern ${n} for «${e.name}» Tool is skipped because it should be a Regexp instance.`, "warn"), this.toolsPatterns.push({
|
|
8949
8949
|
key: t,
|
|
8950
8950
|
pattern: n,
|
|
8951
8951
|
tool: e
|
|
@@ -9040,7 +9040,7 @@ var yu = class extends lu {
|
|
|
9040
9040
|
if (e instanceof hu) return t;
|
|
9041
9041
|
if (e instanceof du || e instanceof yu || e instanceof xu) return n;
|
|
9042
9042
|
if (!(e instanceof gu)) return;
|
|
9043
|
-
let a = this.sanitizerBuilder.buildToolsTagsConfig(this.toolRegistry.toolsTags), o = this.Blok.Tools.getAllInlineToolsSanitizeConfig(), s = Object.fromEntries([...Jl].map((e) => [e, {}])), c =
|
|
9043
|
+
let a = this.sanitizerBuilder.buildToolsTagsConfig(this.toolRegistry.toolsTags), o = this.Blok.Tools.getAllInlineToolsSanitizeConfig(), s = Object.fromEntries([...Jl].map((e) => [e, {}])), c = Ge(this.config.sanitizer, s, a, o, { br: {} }), l = Ee(Xl(r), c), u = O.isHTMLString(l);
|
|
9044
9044
|
return !l.trim() || l.trim() === n || !u ? void 0 : l;
|
|
9045
9045
|
}
|
|
9046
9046
|
async processAsText(e) {
|
|
@@ -9060,7 +9060,7 @@ var yu = class extends lu {
|
|
|
9060
9060
|
this.listeners.off(this.Blok.UI.nodes.holder, "paste", this.handlePasteEventWrapper);
|
|
9061
9061
|
}
|
|
9062
9062
|
isNativeBehaviour(e) {
|
|
9063
|
-
return
|
|
9063
|
+
return O.isNativeInput(e);
|
|
9064
9064
|
}
|
|
9065
9065
|
};
|
|
9066
9066
|
wu = Tu, wu.PATTERN_PROCESSING_MAX_LENGTH = 450;
|
|
@@ -9120,18 +9120,18 @@ var Eu = class extends j {
|
|
|
9120
9120
|
prepare() {
|
|
9121
9121
|
this.enableModuleBindings();
|
|
9122
9122
|
}
|
|
9123
|
-
startSelection(e,
|
|
9124
|
-
let { UI:
|
|
9125
|
-
if (!
|
|
9126
|
-
let
|
|
9127
|
-
if (!(
|
|
9128
|
-
let
|
|
9129
|
-
|
|
9130
|
-
|
|
9131
|
-
|
|
9132
|
-
|
|
9123
|
+
startSelection(e, n, r = !1) {
|
|
9124
|
+
let { UI: i } = this.Blok, a = i.nodes.redactor;
|
|
9125
|
+
if (!a) return;
|
|
9126
|
+
let o = a.getBoundingClientRect(), s = n - this.getScrollTop();
|
|
9127
|
+
if (!(s >= o.top && s <= o.bottom)) return;
|
|
9128
|
+
let c = this.getScrollLeft(), l = e - c, u = this.Blok.UI.contentRect, d = l >= u.left && l <= u.right, f = document.elementFromPoint(e - c, s);
|
|
9129
|
+
f && (!f.closest(w(t.toolbar)) && !r && (this.Blok.BlockSelection.allBlocksSelected = !1, this.Blok.BlockSelection.disableNavigationMode(), this.clearSelection(), this.stackOfSelected = [], this.anchorBlockIndex = null), ![
|
|
9130
|
+
w(t.elementContent),
|
|
9131
|
+
w(t.toolbar),
|
|
9132
|
+
w(t.popover),
|
|
9133
9133
|
"[data-blok-interface=inline-toolbar]"
|
|
9134
|
-
].some((e) => !!
|
|
9134
|
+
].some((e) => !!f.closest(e)) && (d && this.Blok.Toolbar.close(), this.mousedown = !0, this.startX = e, this.startY = n));
|
|
9135
9135
|
}
|
|
9136
9136
|
endSelection() {
|
|
9137
9137
|
this.mousedown = !1, this.mouseDownWithinBoundsFromContentEditable = !1, this.startX = 0, this.startY = 0, this.anchorBlockIndex = null, this.stackOfSelected = [], this.overlayRectangle !== null && (this.overlayRectangle.style.display = "none");
|
|
@@ -9152,13 +9152,13 @@ var Eu = class extends j {
|
|
|
9152
9152
|
this.genHTML(), this.listeners.on(document.body, "mousedown", (e) => {
|
|
9153
9153
|
this.processMouseDown(e);
|
|
9154
9154
|
}, !1);
|
|
9155
|
-
let e =
|
|
9155
|
+
let e = a((e) => {
|
|
9156
9156
|
e instanceof MouseEvent && this.processMouseMove(e);
|
|
9157
9157
|
}, 10);
|
|
9158
9158
|
this.listeners.on(document.body, "mousemove", e, { passive: !0 }), this.listeners.on(document.body, "mouseleave", () => {
|
|
9159
9159
|
this.processMouseLeave();
|
|
9160
9160
|
});
|
|
9161
|
-
let t =
|
|
9161
|
+
let t = a((e) => {
|
|
9162
9162
|
this.processScroll(e);
|
|
9163
9163
|
}, 10);
|
|
9164
9164
|
this.listeners.on(window, "scroll", t, { passive: !0 }), this.listeners.on(document, "mouseup", () => {
|
|
@@ -9167,7 +9167,7 @@ var Eu = class extends j {
|
|
|
9167
9167
|
}
|
|
9168
9168
|
processMouseDown(e) {
|
|
9169
9169
|
if (e.button !== this.MAIN_MOUSE_BUTTON) return;
|
|
9170
|
-
if (e.target.closest(
|
|
9170
|
+
if (e.target.closest(O.allInputsSelector) === null) {
|
|
9171
9171
|
this.startSelection(e.pageX, e.pageY, e.shiftKey);
|
|
9172
9172
|
return;
|
|
9173
9173
|
}
|
|
@@ -9194,27 +9194,27 @@ var Eu = class extends j {
|
|
|
9194
9194
|
this.isScrolling || (this.scrollVertical(this.inScrollZone === this.TOP_SCROLL_ZONE ? -this.SCROLL_SPEED : this.SCROLL_SPEED), this.isScrolling = !0);
|
|
9195
9195
|
}
|
|
9196
9196
|
genHTML() {
|
|
9197
|
-
let { UI: e } = this.Blok,
|
|
9197
|
+
let { UI: e } = this.Blok, n = e.nodes.holder.querySelector(w(t.editor)), r = O.make("div", [
|
|
9198
9198
|
"fixed",
|
|
9199
9199
|
"inset-0",
|
|
9200
9200
|
"z-overlay",
|
|
9201
9201
|
"pointer-events-none",
|
|
9202
9202
|
"overflow-hidden"
|
|
9203
|
-
], {}),
|
|
9203
|
+
], {}), i = O.make("div", [
|
|
9204
9204
|
"relative",
|
|
9205
9205
|
"pointer-events-auto",
|
|
9206
9206
|
"z-0"
|
|
9207
|
-
], {}),
|
|
9207
|
+
], {}), a = O.make("div", [
|
|
9208
9208
|
"absolute",
|
|
9209
9209
|
"pointer-events-none",
|
|
9210
9210
|
"bg-selection-highlight",
|
|
9211
9211
|
"border",
|
|
9212
9212
|
"border-transparent"
|
|
9213
9213
|
], {});
|
|
9214
|
-
if (
|
|
9215
|
-
return
|
|
9216
|
-
container:
|
|
9217
|
-
overlay:
|
|
9214
|
+
if (r.setAttribute(t.overlay, ""), i.setAttribute(t.overlayContainer, ""), a.setAttribute(t.overlayRectangle, ""), r.setAttribute("data-blok-testid", "overlay"), a.setAttribute("data-blok-testid", "overlay-rectangle"), !n) throw Error("RectangleSelection: blok wrapper not found");
|
|
9215
|
+
return i.appendChild(a), r.appendChild(i), n.appendChild(r), this.overlayRectangle = a, {
|
|
9216
|
+
container: n,
|
|
9217
|
+
overlay: r
|
|
9218
9218
|
};
|
|
9219
9219
|
}
|
|
9220
9220
|
scrollVertical(e) {
|
|
@@ -9238,7 +9238,7 @@ var Eu = class extends j {
|
|
|
9238
9238
|
}
|
|
9239
9239
|
if (this.updateRectangleSize(), this.Blok.Toolbar.close(), n === void 0) return;
|
|
9240
9240
|
this.trySelectNextBlock(n), this.inverseSelection();
|
|
9241
|
-
let a =
|
|
9241
|
+
let a = T.get();
|
|
9242
9242
|
a && a.removeAllRanges();
|
|
9243
9243
|
}
|
|
9244
9244
|
shrinkRectangleToPoint() {
|
|
@@ -9366,11 +9366,11 @@ var Au = ["parent", "content"], ju = {
|
|
|
9366
9366
|
format: "flat",
|
|
9367
9367
|
hasHierarchy: !1
|
|
9368
9368
|
};
|
|
9369
|
-
}, Yu = (e, t, n, r, i, a,
|
|
9370
|
-
let
|
|
9369
|
+
}, Yu = (e, t, n, r, i, a, o) => {
|
|
9370
|
+
let s = [];
|
|
9371
9371
|
return e.forEach((e, l) => {
|
|
9372
|
-
let u = Fu(e), d =
|
|
9373
|
-
|
|
9372
|
+
let u = Fu(e), d = c();
|
|
9373
|
+
s.push(d);
|
|
9374
9374
|
let f = r === "ordered" && n === 0 && l === 0 && i !== void 0 && i !== 1, p = u.items && u.items.length > 0, m = k(k({
|
|
9375
9375
|
id: d,
|
|
9376
9376
|
type: "list",
|
|
@@ -9380,25 +9380,25 @@ var Au = ["parent", "content"], ju = {
|
|
|
9380
9380
|
style: r
|
|
9381
9381
|
}, n > 0 ? { depth: n } : {}), f ? { start: i } : {})
|
|
9382
9382
|
}, a === void 0 ? {} : { tunes: a }), t === void 0 ? {} : { parent: t });
|
|
9383
|
-
if (
|
|
9384
|
-
let h = Yu(u.items, d, n + 1, r, void 0, a,
|
|
9383
|
+
if (o.push(m), !p || !u.items) return;
|
|
9384
|
+
let h = Yu(u.items, d, n + 1, r, void 0, a, o);
|
|
9385
9385
|
h.length > 0 && (m.content = h);
|
|
9386
|
-
}),
|
|
9386
|
+
}), s;
|
|
9387
9387
|
}, Xu = (e, t) => {
|
|
9388
9388
|
let n = [], r = e.style, i = e.start;
|
|
9389
9389
|
return Yu(e.items, void 0, 0, r, i, t, n), n;
|
|
9390
9390
|
}, Zu = (e) => {
|
|
9391
9391
|
var t, n, r;
|
|
9392
|
-
let i = [], a = (t = e.id) == null ?
|
|
9393
|
-
for (let e of
|
|
9392
|
+
let i = [], a = (t = e.id) == null ? c() : t, o = (n = (r = e.data.body) == null ? void 0 : r.blocks) == null ? [] : n, s = [], l = [];
|
|
9393
|
+
for (let e of o) {
|
|
9394
9394
|
var u;
|
|
9395
|
-
let t = (u = e.id) == null ?
|
|
9396
|
-
|
|
9395
|
+
let t = (u = e.id) == null ? c() : u;
|
|
9396
|
+
s.push(t), l.push(k(k({}, e), {}, {
|
|
9397
9397
|
id: t,
|
|
9398
9398
|
parent: a
|
|
9399
9399
|
}));
|
|
9400
9400
|
}
|
|
9401
|
-
let d = k(k({ id: a }, e.tunes === void 0 ? {} : { tunes: e.tunes }),
|
|
9401
|
+
let d = k(k({ id: a }, e.tunes === void 0 ? {} : { tunes: e.tunes }), s.length > 0 ? { content: s } : {}), f = typeof e.data.isExpanded == "boolean" ? { isOpen: e.data.isExpanded } : {};
|
|
9402
9402
|
return typeof e.data.titleVariant == "number" ? i.push(k(k({}, d), {}, {
|
|
9403
9403
|
type: "header",
|
|
9404
9404
|
data: k({
|
|
@@ -9412,25 +9412,25 @@ var Au = ["parent", "content"], ju = {
|
|
|
9412
9412
|
})), i.push(...l), i;
|
|
9413
9413
|
}, Qu = (e) => {
|
|
9414
9414
|
var t, n, r, i, a;
|
|
9415
|
-
let
|
|
9415
|
+
let o = [], s = (t = e.id) == null ? c() : t, l = (n = (r = e.data.body) == null ? void 0 : r.blocks) == null ? [] : n, u = [], d = [];
|
|
9416
9416
|
for (let e of l) {
|
|
9417
9417
|
var f;
|
|
9418
|
-
let t = (f = e.id) == null ?
|
|
9418
|
+
let t = (f = e.id) == null ? c() : f;
|
|
9419
9419
|
u.push(t), d.push(k(k({}, e), {}, {
|
|
9420
9420
|
id: t,
|
|
9421
|
-
parent:
|
|
9421
|
+
parent: s
|
|
9422
9422
|
}));
|
|
9423
9423
|
}
|
|
9424
9424
|
let p = (i = e.data.variant) == null ? "general" : i, m = p in ju ? ju[p] : null, h = e.data.isEmojiVisible === !1 ? "" : (a = e.data.emoji) == null ? Nu : a;
|
|
9425
|
-
return
|
|
9426
|
-
id:
|
|
9425
|
+
return o.push(k(k({
|
|
9426
|
+
id: s,
|
|
9427
9427
|
type: "callout",
|
|
9428
9428
|
data: {
|
|
9429
9429
|
emoji: h,
|
|
9430
9430
|
textColor: null,
|
|
9431
9431
|
backgroundColor: m
|
|
9432
9432
|
}
|
|
9433
|
-
}, e.tunes === void 0 ? {} : { tunes: e.tunes }), u.length > 0 ? { content: u } : {})),
|
|
9433
|
+
}, e.tunes === void 0 ? {} : { tunes: e.tunes }), u.length > 0 ? { content: u } : {})), o.push(...d), o;
|
|
9434
9434
|
}, $u = (e) => {
|
|
9435
9435
|
let t = [];
|
|
9436
9436
|
for (let r of e) if (Uu(r)) {
|
|
@@ -9444,7 +9444,7 @@ var Au = ["parent", "content"], ju = {
|
|
|
9444
9444
|
t.push(...e);
|
|
9445
9445
|
} else {
|
|
9446
9446
|
var n;
|
|
9447
|
-
t.push(k(k({}, r), {}, { id: (n = r.id) == null ?
|
|
9447
|
+
t.push(k(k({}, r), {}, { id: (n = r.id) == null ? c() : n }));
|
|
9448
9448
|
}
|
|
9449
9449
|
return t;
|
|
9450
9450
|
}, ed = (e, t) => {
|
|
@@ -9573,8 +9573,8 @@ function _d(e) {
|
|
|
9573
9573
|
for (let t of hd) {
|
|
9574
9574
|
let n = e.style.getPropertyValue(t);
|
|
9575
9575
|
if (!n || n === "transparent" || n.startsWith("var(")) continue;
|
|
9576
|
-
let r =
|
|
9577
|
-
r !== null && e.style.setProperty(t,
|
|
9576
|
+
let r = o(n, gd[t]);
|
|
9577
|
+
r !== null && e.style.setProperty(t, he(r, gd[t]));
|
|
9578
9578
|
}
|
|
9579
9579
|
});
|
|
9580
9580
|
}
|
|
@@ -9612,7 +9612,7 @@ var vd = { delimiter: "divider" }, yd = class extends j {
|
|
|
9612
9612
|
return e !== void 0 && n.available.has(e) ? {
|
|
9613
9613
|
tool: e,
|
|
9614
9614
|
data: c
|
|
9615
|
-
} : (
|
|
9615
|
+
} : (_(`Tool «${s}» is not found. Check 'tools' property at the Blok config.`, "warn"), {
|
|
9616
9616
|
tool: n.stubTool,
|
|
9617
9617
|
data: this.composeStubDataForTool(s, c, i)
|
|
9618
9618
|
});
|
|
@@ -9628,7 +9628,7 @@ var vd = { delimiter: "divider" }, yd = class extends j {
|
|
|
9628
9628
|
contentIds: o
|
|
9629
9629
|
});
|
|
9630
9630
|
} catch (c) {
|
|
9631
|
-
|
|
9631
|
+
E(`Block «${e}» skipped because of plugins error`, "error", {
|
|
9632
9632
|
data: s,
|
|
9633
9633
|
error: c
|
|
9634
9634
|
});
|
|
@@ -9694,7 +9694,7 @@ var vd = { delimiter: "divider" }, yd = class extends j {
|
|
|
9694
9694
|
let n = [];
|
|
9695
9695
|
for (let e of t.imgSrcs) {
|
|
9696
9696
|
let r = {
|
|
9697
|
-
id:
|
|
9697
|
+
id: c(),
|
|
9698
9698
|
tool: "image",
|
|
9699
9699
|
data: { url: e },
|
|
9700
9700
|
isValid: !0,
|
|
@@ -9706,7 +9706,7 @@ var vd = { delimiter: "divider" }, yd = class extends j {
|
|
|
9706
9706
|
}
|
|
9707
9707
|
let a = /* @__PURE__ */ new Set();
|
|
9708
9708
|
for (let e of n.values()) a.add(e.parentTableId);
|
|
9709
|
-
let
|
|
9709
|
+
let o = /* @__PURE__ */ new Map();
|
|
9710
9710
|
for (let e of a) {
|
|
9711
9711
|
let n = t.get(e);
|
|
9712
9712
|
if (n === void 0) continue;
|
|
@@ -9715,40 +9715,40 @@ var vd = { delimiter: "divider" }, yd = class extends j {
|
|
|
9715
9715
|
let e = i.content.map((e) => e.map((e) => k(k({}, e), {}, { blocks: [...e.blocks] })));
|
|
9716
9716
|
r.data = k(k({}, n.data), {}, { content: e });
|
|
9717
9717
|
}
|
|
9718
|
-
r.contentIds = n.contentIds === void 0 ? [] : [...n.contentIds],
|
|
9718
|
+
r.contentIds = n.contentIds === void 0 ? [] : [...n.contentIds], o.set(e, r);
|
|
9719
9719
|
}
|
|
9720
9720
|
for (let [e, t] of i) {
|
|
9721
9721
|
let r = n.get(e);
|
|
9722
9722
|
if (r === void 0) continue;
|
|
9723
|
-
let i =
|
|
9723
|
+
let i = o.get(r.parentTableId);
|
|
9724
9724
|
if (i === void 0) continue;
|
|
9725
9725
|
let a = i.data;
|
|
9726
9726
|
if ((a == null ? void 0 : a.content) === void 0) continue;
|
|
9727
|
-
let
|
|
9727
|
+
let s = t.map((e) => {
|
|
9728
9728
|
var t;
|
|
9729
9729
|
return (t = e.id) == null ? "" : t;
|
|
9730
9730
|
});
|
|
9731
9731
|
a.content.flat().forEach((t) => {
|
|
9732
9732
|
let n = t.blocks.indexOf(e);
|
|
9733
|
-
n !== -1 && t.blocks.splice(n, 0, ...
|
|
9734
|
-
}), i.contentIds !== void 0 && i.contentIds.push(...
|
|
9733
|
+
n !== -1 && t.blocks.splice(n, 0, ...s);
|
|
9734
|
+
}), i.contentIds !== void 0 && i.contentIds.push(...s);
|
|
9735
9735
|
}
|
|
9736
|
-
let
|
|
9736
|
+
let s = [];
|
|
9737
9737
|
for (let t of e) {
|
|
9738
|
-
if (t.id !== void 0 &&
|
|
9739
|
-
|
|
9738
|
+
if (t.id !== void 0 && o.has(t.id)) {
|
|
9739
|
+
s.push(o.get(t.id));
|
|
9740
9740
|
continue;
|
|
9741
9741
|
}
|
|
9742
9742
|
if (t.id !== void 0 && n.has(t.id)) {
|
|
9743
9743
|
var l, u;
|
|
9744
|
-
|
|
9744
|
+
s.push(...(l = i.get(t.id)) == null ? [] : l);
|
|
9745
9745
|
let e = n.get(t.id), r = k(k({}, t), {}, { data: k(k({}, t.data), {}, { text: (u = e == null ? void 0 : e.cleanedText) == null ? "" : u }) });
|
|
9746
|
-
|
|
9746
|
+
s.push(r);
|
|
9747
9747
|
continue;
|
|
9748
9748
|
}
|
|
9749
|
-
|
|
9749
|
+
s.push(t);
|
|
9750
9750
|
}
|
|
9751
|
-
return
|
|
9751
|
+
return s;
|
|
9752
9752
|
}, Sd = class extends j {
|
|
9753
9753
|
constructor(...e) {
|
|
9754
9754
|
super(...e), this.pendingSave = null;
|
|
@@ -9773,7 +9773,7 @@ var vd = { delimiter: "divider" }, yd = class extends j {
|
|
|
9773
9773
|
if (a.length === 1 && a[0].isEmpty && a[0].tool.isDefault) return {
|
|
9774
9774
|
time: +/* @__PURE__ */ new Date(),
|
|
9775
9775
|
blocks: [],
|
|
9776
|
-
version:
|
|
9776
|
+
version: ge()
|
|
9777
9777
|
};
|
|
9778
9778
|
let o = a.map((t) => e.getSavedData(t));
|
|
9779
9779
|
e.lastSaveError = void 0;
|
|
@@ -9784,7 +9784,7 @@ var vd = { delimiter: "divider" }, yd = class extends j {
|
|
|
9784
9784
|
}, e.config.sanitizer));
|
|
9785
9785
|
return e.isDestroyed ? void 0 : e.makeOutput(n);
|
|
9786
9786
|
} catch (t) {
|
|
9787
|
-
e.lastSaveError = t,
|
|
9787
|
+
e.lastSaveError = t, _("Saving failed due to the Error %o", "error", t instanceof Error ? t : Error(String(t)));
|
|
9788
9788
|
return;
|
|
9789
9789
|
}
|
|
9790
9790
|
}
|
|
@@ -9808,11 +9808,11 @@ var vd = { delimiter: "divider" }, yd = class extends j {
|
|
|
9808
9808
|
e.forEach(({ id: e, tool: t, data: n, tunes: r, isValid: a, parentId: o, contentIds: s }) => {
|
|
9809
9809
|
let c = o != null;
|
|
9810
9810
|
if (!a && !c) {
|
|
9811
|
-
|
|
9811
|
+
E(`Block «${t}» skipped because saved data is invalid`);
|
|
9812
9812
|
return;
|
|
9813
9813
|
}
|
|
9814
9814
|
if (t === void 0 || n === void 0) {
|
|
9815
|
-
|
|
9815
|
+
E("Block skipped because saved data is missing required fields");
|
|
9816
9816
|
return;
|
|
9817
9817
|
}
|
|
9818
9818
|
if (t === this.Blok.Tools.stubTool && this.isStubSavedData(n)) {
|
|
@@ -9820,10 +9820,10 @@ var vd = { delimiter: "divider" }, yd = class extends j {
|
|
|
9820
9820
|
return;
|
|
9821
9821
|
}
|
|
9822
9822
|
if (t === this.Blok.Tools.stubTool) {
|
|
9823
|
-
|
|
9823
|
+
E("Stub block data is malformed and was skipped");
|
|
9824
9824
|
return;
|
|
9825
9825
|
}
|
|
9826
|
-
let l = r === void 0 ||
|
|
9826
|
+
let l = r === void 0 || x(r), u = s !== void 0 && s.length > 0, d = k(k(k({
|
|
9827
9827
|
id: e,
|
|
9828
9828
|
type: t,
|
|
9829
9829
|
data: n
|
|
@@ -9834,7 +9834,7 @@ var vd = { delimiter: "divider" }, yd = class extends j {
|
|
|
9834
9834
|
return {
|
|
9835
9835
|
time: +/* @__PURE__ */ new Date(),
|
|
9836
9836
|
blocks: a,
|
|
9837
|
-
version:
|
|
9837
|
+
version: ge()
|
|
9838
9838
|
};
|
|
9839
9839
|
}
|
|
9840
9840
|
sanitizeExtractedData(e, t, n) {
|
|
@@ -9845,7 +9845,7 @@ var vd = { delimiter: "divider" }, yd = class extends j {
|
|
|
9845
9845
|
data: e
|
|
9846
9846
|
});
|
|
9847
9847
|
}), r.length === 0) return e;
|
|
9848
|
-
let i =
|
|
9848
|
+
let i = Be(r.map(({ data: e }) => e), t, n), a = e.map((e) => k({}, e));
|
|
9849
9849
|
return r.forEach(({ index: e }, t) => {
|
|
9850
9850
|
let n = i[t];
|
|
9851
9851
|
a[e] = k(k({}, a[e]), {}, { data: n.data });
|
|
@@ -9855,7 +9855,7 @@ var vd = { delimiter: "divider" }, yd = class extends j {
|
|
|
9855
9855
|
return e.data !== void 0 && typeof e.tool == "string";
|
|
9856
9856
|
}
|
|
9857
9857
|
isStubSavedData(e) {
|
|
9858
|
-
if (!
|
|
9858
|
+
if (!b(e)) return !1;
|
|
9859
9859
|
let t = e;
|
|
9860
9860
|
return typeof t.type == "string" && t.data !== void 0;
|
|
9861
9861
|
}
|
|
@@ -9864,13 +9864,13 @@ var vd = { delimiter: "divider" }, yd = class extends j {
|
|
|
9864
9864
|
}
|
|
9865
9865
|
getPreservedSavedData(e) {
|
|
9866
9866
|
let t = e.preservedData;
|
|
9867
|
-
if (
|
|
9867
|
+
if (x(t)) return;
|
|
9868
9868
|
let n = e.preservedTunes;
|
|
9869
9869
|
return k(k({
|
|
9870
9870
|
id: e.id,
|
|
9871
9871
|
tool: e.name,
|
|
9872
9872
|
data: t
|
|
9873
|
-
},
|
|
9873
|
+
}, x(n) ? {} : { tunes: n }), {}, { time: 0 });
|
|
9874
9874
|
}
|
|
9875
9875
|
}, Cd = "38px", wd = "46px", Td = class extends ke {
|
|
9876
9876
|
get hasNestedPopoverOpen() {
|
|
@@ -9881,17 +9881,17 @@ var vd = { delimiter: "divider" }, yd = class extends j {
|
|
|
9881
9881
|
}
|
|
9882
9882
|
constructor(e) {
|
|
9883
9883
|
var n;
|
|
9884
|
-
let r = !
|
|
9885
|
-
focusedItemClass:
|
|
9884
|
+
let r = !d(), i = new p({
|
|
9885
|
+
focusedItemClass: l.focused,
|
|
9886
9886
|
allowedKeys: [
|
|
9887
|
-
|
|
9888
|
-
|
|
9889
|
-
|
|
9890
|
-
|
|
9887
|
+
S.TAB,
|
|
9888
|
+
S.UP,
|
|
9889
|
+
S.DOWN,
|
|
9890
|
+
S.ENTER
|
|
9891
9891
|
]
|
|
9892
9892
|
});
|
|
9893
9893
|
super(k(k({}, e), {}, { flipper: i }), {
|
|
9894
|
-
[
|
|
9894
|
+
[D.Default]: {
|
|
9895
9895
|
wrapperTag: "button",
|
|
9896
9896
|
hint: {
|
|
9897
9897
|
position: "top",
|
|
@@ -9901,7 +9901,7 @@ var vd = { delimiter: "divider" }, yd = class extends j {
|
|
|
9901
9901
|
iconWithGap: !1,
|
|
9902
9902
|
isInline: !0
|
|
9903
9903
|
},
|
|
9904
|
-
[
|
|
9904
|
+
[D.Html]: {
|
|
9905
9905
|
hint: {
|
|
9906
9906
|
position: "top",
|
|
9907
9907
|
alignment: "center",
|
|
@@ -9909,12 +9909,12 @@ var vd = { delimiter: "divider" }, yd = class extends j {
|
|
|
9909
9909
|
},
|
|
9910
9910
|
isInline: !0
|
|
9911
9911
|
},
|
|
9912
|
-
[
|
|
9912
|
+
[D.Separator]: { isInline: !0 }
|
|
9913
9913
|
}), this.hide = () => {
|
|
9914
9914
|
var e;
|
|
9915
|
-
this.setOpenTop(!1), this.setOpenLeft(!1), this.itemsDefault.forEach((e) => e.reset()), this.search !== void 0 && this.search.clear(), this.destroyNestedPopoverIfExists(), (e = this.flipper) == null || e.deactivate(), this.nodes.popover.className = A(
|
|
9916
|
-
}, this.nodes.popover.className = A(
|
|
9917
|
-
!(e instanceof
|
|
9915
|
+
this.setOpenTop(!1), this.setOpenLeft(!1), this.itemsDefault.forEach((e) => e.reset()), this.search !== void 0 && this.search.clear(), this.destroyNestedPopoverIfExists(), (e = this.flipper) == null || e.deactivate(), this.nodes.popover.className = A(Qe.popover), this.nodes.popoverContainer && (this.nodes.popoverContainer.className = A(C.popoverContainer, Qe.popoverContainer), this.nodes.popoverContainer.style.height = ""), s.instance.unregister(this), this.emit(Je.Closed);
|
|
9916
|
+
}, this.nodes.popover.className = A(Qe.popover), this.nodes.popoverContainer && (this.nodes.popoverContainer.className = A(C.popoverContainer, Qe.popoverContainer)), this.nodes.items && (this.nodes.items.className = A(C.items, "flex")), this.nodes.popover.style.setProperty("--height", Cd), this.nodes.popover.style.setProperty("--height-mobile", wd), this.nodes.popover.setAttribute(t.popoverInline, ""), (n = this.flipper) == null || n.setHandleContentEditableTargets(!0), this.items.forEach((e) => {
|
|
9917
|
+
!(e instanceof fe) && !(e instanceof Ze) || e.hasChildren && e.isChildrenOpen && this.showNestedItems(e);
|
|
9918
9918
|
});
|
|
9919
9919
|
}
|
|
9920
9920
|
get offsetLeft() {
|
|
@@ -9922,15 +9922,15 @@ var vd = { delimiter: "divider" }, yd = class extends j {
|
|
|
9922
9922
|
}
|
|
9923
9923
|
show() {
|
|
9924
9924
|
var e;
|
|
9925
|
-
if (super.show(), this.nodes.popover.className = A(
|
|
9926
|
-
this.nodes.popoverContainer.className = A(
|
|
9927
|
-
let e =
|
|
9925
|
+
if (super.show(), this.nodes.popover.className = A(Qe.popover, "inline-block"), this.nodes.popoverContainer) {
|
|
9926
|
+
this.nodes.popoverContainer.className = A(C.popoverContainer, C.popoverContainerOpened, Qe.popoverContainer);
|
|
9927
|
+
let e = d() ? "var(--height-mobile)" : "var(--height)";
|
|
9928
9928
|
this.nodes.popoverContainer.style.height = e;
|
|
9929
9929
|
}
|
|
9930
9930
|
let t = this.nestingLevel === 0 ? (e = this.nodes.popoverContainer) == null ? void 0 : e.getBoundingClientRect() : void 0;
|
|
9931
9931
|
if (t !== void 0) {
|
|
9932
9932
|
let e = `${t.width}px`, n = `${t.height}px`;
|
|
9933
|
-
this.nodes.popover.style.setProperty(
|
|
9933
|
+
this.nodes.popover.style.setProperty(et.InlinePopoverWidth, e), this.nodes.popover.style.width = e, this.nodes.popover.style.height = n;
|
|
9934
9934
|
}
|
|
9935
9935
|
queueMicrotask(() => {
|
|
9936
9936
|
var e, t;
|
|
@@ -9941,7 +9941,7 @@ var vd = { delimiter: "divider" }, yd = class extends j {
|
|
|
9941
9941
|
handleMouseLeave() {}
|
|
9942
9942
|
setTriggerItemPosition(e, t) {
|
|
9943
9943
|
let n = t.getElement(), r = n ? n.offsetLeft : 0, i = this.offsetLeft + r;
|
|
9944
|
-
e.style.setProperty(
|
|
9944
|
+
e.style.setProperty(et.TriggerItemLeft, i + "px");
|
|
9945
9945
|
}
|
|
9946
9946
|
showNestedItems(e) {
|
|
9947
9947
|
if (this.nestedPopoverTriggerItem === e) {
|
|
@@ -9951,19 +9951,19 @@ var vd = { delimiter: "divider" }, yd = class extends j {
|
|
|
9951
9951
|
super.showNestedItems(e);
|
|
9952
9952
|
}
|
|
9953
9953
|
showNestedPopoverForItem(e) {
|
|
9954
|
-
var
|
|
9955
|
-
let
|
|
9956
|
-
(
|
|
9957
|
-
let
|
|
9958
|
-
|
|
9959
|
-
let
|
|
9960
|
-
if (
|
|
9961
|
-
let t = e.getElement(),
|
|
9962
|
-
|
|
9963
|
-
let l =
|
|
9964
|
-
|
|
9965
|
-
}
|
|
9966
|
-
return
|
|
9954
|
+
var n;
|
|
9955
|
+
let r = super.showNestedPopoverForItem(e), i = r.getElement();
|
|
9956
|
+
(n = r.flipper) == null || n.setHandleContentEditableTargets(!0);
|
|
9957
|
+
let a = i.querySelector(`[${t.popoverContainer}]`);
|
|
9958
|
+
a && (a.className = A(a.className, "h-fit p-1.5 flex-col"));
|
|
9959
|
+
let o = i.querySelector(`[${t.popoverItems}]`);
|
|
9960
|
+
if (o && (o.className = A(o.className, "block w-full")), i.setAttribute(t.nestedLevel, ue(r.nestingLevel)), r.nestingLevel === 1 && a instanceof HTMLElement) {
|
|
9961
|
+
let t = e.getElement(), n = t ? t.offsetLeft + this.offsetLeft : 0, i = r.size.width, o = this.nodes.popoverContainer.offsetWidth, s = Math.max(0, o - i), c = Math.max(0, Math.min(n, s));
|
|
9962
|
+
a.style.left = `${c}px`;
|
|
9963
|
+
let l = d() ? "calc(var(--height-mobile) + 3px)" : "calc(var(--height) + 3px)";
|
|
9964
|
+
a.style.top = l;
|
|
9965
|
+
}
|
|
9966
|
+
return r;
|
|
9967
9967
|
}
|
|
9968
9968
|
handleItemClick(e) {
|
|
9969
9969
|
if (e !== this.nestedPopoverTriggerItem) {
|
|
@@ -9977,10 +9977,10 @@ var vd = { delimiter: "divider" }, yd = class extends j {
|
|
|
9977
9977
|
this.scrollPosition = null;
|
|
9978
9978
|
}
|
|
9979
9979
|
lock() {
|
|
9980
|
-
|
|
9980
|
+
oe ? this.lockHard() : (document.body.classList.add(e.CSS.overflowHidden), document.body.setAttribute(e.DATA_ATTR.scrollLocked, "true"));
|
|
9981
9981
|
}
|
|
9982
9982
|
unlock() {
|
|
9983
|
-
|
|
9983
|
+
oe ? this.unlockHard() : (document.body.classList.remove(e.CSS.overflowHidden), document.body.removeAttribute(e.DATA_ATTR.scrollLocked));
|
|
9984
9984
|
}
|
|
9985
9985
|
lockHard() {
|
|
9986
9986
|
this.scrollPosition = window.pageYOffset, document.documentElement.style.setProperty("--window-scroll-offset", `${this.scrollPosition}px`), document.body.classList.add(e.CSS.overflowHidden, e.CSS.fixed, e.CSS.wFull), document.body.style.top = "calc(-1 * var(--window-scroll-offset))", document.body.setAttribute(e.DATA_ATTR.scrollLockedHard, "true");
|
|
@@ -10004,19 +10004,19 @@ var Od = {
|
|
|
10004
10004
|
text: "text-lg font-semibold text-text-primary",
|
|
10005
10005
|
backButton: "border-0 bg-transparent w-9 h-9 text-text-primary cursor-pointer outline-hidden [&_svg]:block [&_svg]:w-7 [&_svg]:h-7"
|
|
10006
10006
|
}, kd = class {
|
|
10007
|
-
constructor({ text: e, onBackButtonClick:
|
|
10008
|
-
this.listeners = new
|
|
10009
|
-
root:
|
|
10007
|
+
constructor({ text: e, onBackButtonClick: n }) {
|
|
10008
|
+
this.listeners = new tt(), this.text = e, this.onBackButtonClick = n, this.nodes = {
|
|
10009
|
+
root: O.make("div", [Od.root], {
|
|
10010
10010
|
"data-blok-testid": "popover-header",
|
|
10011
|
-
[
|
|
10011
|
+
[t.popoverHeader]: ""
|
|
10012
10012
|
}),
|
|
10013
|
-
backButton:
|
|
10013
|
+
backButton: O.make("button", [Od.backButton], {
|
|
10014
10014
|
"data-blok-testid": "popover-header-back-button",
|
|
10015
|
-
[
|
|
10015
|
+
[t.popoverHeaderBackButton]: ""
|
|
10016
10016
|
}),
|
|
10017
|
-
text:
|
|
10017
|
+
text: O.make("div", [Od.text], {
|
|
10018
10018
|
"data-blok-testid": "popover-header-text",
|
|
10019
|
-
[
|
|
10019
|
+
[t.popoverHeaderText]: ""
|
|
10020
10020
|
})
|
|
10021
10021
|
}, this.nodes.backButton.innerHTML = Fe, this.nodes.root.appendChild(this.nodes.backButton), this.listeners.on(this.nodes.backButton, "click", this.onBackButtonClick), this.nodes.text.innerText = this.text, this.nodes.root.appendChild(this.nodes.text);
|
|
10022
10022
|
}
|
|
@@ -10045,24 +10045,24 @@ var Od = {
|
|
|
10045
10045
|
reset() {
|
|
10046
10046
|
for (; this.history.length > 1;) this.pop();
|
|
10047
10047
|
}
|
|
10048
|
-
}, jd = class extends
|
|
10048
|
+
}, jd = class extends xe {
|
|
10049
10049
|
constructor(e) {
|
|
10050
10050
|
super(e, {
|
|
10051
|
-
[
|
|
10052
|
-
[
|
|
10053
|
-
}), this.scrollLocker = new Dd(), this.history = new Ad(), this.isHidden = !0, this.nodes.overlay =
|
|
10054
|
-
[
|
|
10055
|
-
[
|
|
10051
|
+
[D.Default]: { hint: { enabled: !1 } },
|
|
10052
|
+
[D.Html]: { hint: { enabled: !1 } }
|
|
10053
|
+
}), this.scrollLocker = new Dd(), this.history = new Ad(), this.isHidden = !0, this.nodes.overlay = O.make("div", [C.popoverOverlay], {
|
|
10054
|
+
[t.popoverOverlay]: "",
|
|
10055
|
+
[t.overlayHidden]: "",
|
|
10056
10056
|
"data-blok-testid": "popover-overlay"
|
|
10057
10057
|
}), this.nodes.popover.insertBefore(this.nodes.overlay, this.nodes.popover.firstChild), this.listeners.on(this.nodes.overlay, "click", () => {
|
|
10058
10058
|
this.hide();
|
|
10059
|
-
}), this.history.push({ items: e.items }), this.nodes.popoverContainer.style.setProperty("--offset", "5px"), this.nodes.popoverContainer.className = A(
|
|
10059
|
+
}), this.history.push({ items: e.items }), this.nodes.popoverContainer.style.setProperty("--offset", "5px"), this.nodes.popoverContainer.className = A(C.popoverContainer, C.popoverContainerMobile);
|
|
10060
10060
|
}
|
|
10061
10061
|
show() {
|
|
10062
|
-
this.nodes.overlay.removeAttribute(
|
|
10062
|
+
this.nodes.overlay.removeAttribute(t.overlayHidden), this.nodes.overlay.className = A(C.popoverOverlay, "fixed inset-0 block visible z-3 opacity-50"), super.show(), this.nodes.popoverContainer.className = A(C.popoverContainer, C.popoverContainerMobile, C.popoverContainerOpened, "max-h-none z-4"), this.scrollLocker.lock(), this.isHidden = !1;
|
|
10063
10063
|
}
|
|
10064
10064
|
hide() {
|
|
10065
|
-
this.isHidden || (super.hide(), this.nodes.overlay.setAttribute(
|
|
10065
|
+
this.isHidden || (super.hide(), this.nodes.overlay.setAttribute(t.overlayHidden, ""), this.nodes.overlay.className = C.popoverOverlay, this.nodes.popoverContainer.className = A(C.popoverContainer, C.popoverContainerMobile), this.scrollLocker.unlock(), this.history.reset(), this.isHidden = !0);
|
|
10066
10066
|
}
|
|
10067
10067
|
destroy() {
|
|
10068
10068
|
super.destroy(), this.scrollLocker.unlock();
|
|
@@ -10095,18 +10095,18 @@ var Od = {
|
|
|
10095
10095
|
}
|
|
10096
10096
|
}, Md = class extends j {
|
|
10097
10097
|
constructor(...e) {
|
|
10098
|
-
super(...e), this.opened = !1, this.isOpening = !1, this.selection = new
|
|
10099
|
-
focusedItemClass:
|
|
10098
|
+
super(...e), this.opened = !1, this.isOpening = !1, this.selection = new T(), this.popover = null, this.flipperInstance = new p({
|
|
10099
|
+
focusedItemClass: l.focused,
|
|
10100
10100
|
allowedKeys: [
|
|
10101
|
-
|
|
10102
|
-
|
|
10103
|
-
|
|
10104
|
-
|
|
10105
|
-
|
|
10106
|
-
|
|
10101
|
+
S.TAB,
|
|
10102
|
+
S.UP,
|
|
10103
|
+
S.DOWN,
|
|
10104
|
+
S.ENTER,
|
|
10105
|
+
S.RIGHT,
|
|
10106
|
+
S.LEFT
|
|
10107
10107
|
]
|
|
10108
10108
|
}), this.flipperKeydownHandler = null, this.flipperKeydownSource = null, this.close = () => {
|
|
10109
|
-
this.opened && (this.opened = !1, this.isOpening = !1,
|
|
10109
|
+
this.opened && (this.opened = !1, this.isOpening = !1, T.isAtBlok || this.selection.restore(), this.selection.clearSaved(), this.detachFlipperKeydownListener(), this.clearBlockSelectionOnClose(), this.eventsDispatcher.emit(this.events.closed), this.popover && (this.popover.off(Je.Closed, this.onPopoverClose), this.popover.destroy(), this.popover.getElement().remove(), this.popover = null));
|
|
10110
10110
|
}, this.onPopoverClose = () => {
|
|
10111
10111
|
this.close();
|
|
10112
10112
|
};
|
|
@@ -10124,7 +10124,7 @@ var Od = {
|
|
|
10124
10124
|
return this.flipperInstance;
|
|
10125
10125
|
}
|
|
10126
10126
|
make() {
|
|
10127
|
-
this.nodes.wrapper =
|
|
10127
|
+
this.nodes.wrapper = O.make("div"), this.nodes.wrapper.setAttribute("data-blok-testid", "block-tunes-wrapper"), this.eventsDispatcher.on(ht, this.close);
|
|
10128
10128
|
}
|
|
10129
10129
|
destroy() {
|
|
10130
10130
|
this.detachFlipperKeydownListener(), this.removeAllNodes(), this.listeners.destroy(), this.eventsDispatcher.off(ht, this.close);
|
|
@@ -10136,7 +10136,7 @@ var Od = {
|
|
|
10136
10136
|
n.isOpening = !0;
|
|
10137
10137
|
try {
|
|
10138
10138
|
n.selection.save(), i || (n.Blok.BlockSelection.selectBlock(a), n.Blok.BlockSelection.clearCache());
|
|
10139
|
-
let { toolTunes: e, commonTunes: r } = a.getTunes(), o =
|
|
10139
|
+
let { toolTunes: e, commonTunes: r } = a.getTunes(), o = d() ? jd : ke, s = {
|
|
10140
10140
|
searchable: !0,
|
|
10141
10141
|
trigger: t || n.nodes.wrapper,
|
|
10142
10142
|
items: await n.getTunesItems(a, r, e),
|
|
@@ -10148,7 +10148,7 @@ var Od = {
|
|
|
10148
10148
|
autoFocusFirstItem: !1,
|
|
10149
10149
|
minWidth: "250px"
|
|
10150
10150
|
};
|
|
10151
|
-
o === ke && (s.flipper = n.flipperInstance), n.popover = new o(s), n.popover.getElement().setAttribute("data-blok-testid", "block-tunes-popover"), n.popover.on(
|
|
10151
|
+
o === ke && (s.flipper = n.flipperInstance), n.popover = new o(s), n.popover.getElement().setAttribute("data-blok-testid", "block-tunes-popover"), n.popover.on(Je.Closed, n.onPopoverClose), n.opened = !0, n.isOpening = !1, n.eventsDispatcher.emit(n.events.opened), n.popover.show(), n.attachFlipperKeydownListener(a);
|
|
10152
10152
|
} catch (e) {
|
|
10153
10153
|
n.isOpening = !1;
|
|
10154
10154
|
}
|
|
@@ -10161,50 +10161,50 @@ var Od = {
|
|
|
10161
10161
|
var t, n;
|
|
10162
10162
|
return !!((t = this.nodes.wrapper) != null && t.contains(e) || (n = this.popover) != null && n.hasNode(e));
|
|
10163
10163
|
}
|
|
10164
|
-
async getTunesItems(e,
|
|
10165
|
-
var
|
|
10166
|
-
let
|
|
10167
|
-
!
|
|
10168
|
-
let
|
|
10169
|
-
var
|
|
10170
|
-
let c =
|
|
10164
|
+
async getTunesItems(e, t, n) {
|
|
10165
|
+
var r = this;
|
|
10166
|
+
let i = [], a = r.Blok.BlockSelection.selectedBlocks, o = a.length > 1, s = Array.from(r.Blok.Tools.blockTools.values());
|
|
10167
|
+
!o && n !== void 0 && n.length > 0 && (i.push(...n), i.push({ type: D.Separator }));
|
|
10168
|
+
let c = (o ? await ze(a.map((e) => new M(e)), s) : await He(e, s)).reduce((t, n) => (n.toolbox === void 0 || n.toolbox.forEach((i) => {
|
|
10169
|
+
var s;
|
|
10170
|
+
let c = i.titleKey, l = c != null && c.includes(".") ? c : `toolNames.${c}`, u = c ? l : void 0, d = u ? r.Blok.I18n.getEnglishTranslation(u) : i.title;
|
|
10171
10171
|
t.push({
|
|
10172
|
-
icon:
|
|
10173
|
-
title:
|
|
10174
|
-
name: (
|
|
10172
|
+
icon: i.icon,
|
|
10173
|
+
title: Ye(r.Blok.I18n, i, n.name),
|
|
10174
|
+
name: (s = i.name) == null ? n.name : s,
|
|
10175
10175
|
englishTitle: d,
|
|
10176
|
-
searchTerms:
|
|
10176
|
+
searchTerms: i.searchTerms,
|
|
10177
10177
|
closeOnActivate: !0,
|
|
10178
10178
|
onActivate: async () => {
|
|
10179
|
-
let { Caret: t, Toolbar:
|
|
10179
|
+
let { Caret: t, Toolbar: s } = r.Blok, c = e.contentIds.length;
|
|
10180
10180
|
if (c > 0) {
|
|
10181
|
-
let e =
|
|
10181
|
+
let e = r.Blok.I18n.t("blockSettings.convertWithChildrenWarning", { count: c }), t = `This block has ${c} nested block${c === 1 ? "" : "s"}. Converting it will promote them to the top level. Continue?`;
|
|
10182
10182
|
if (!window.confirm(e === "blockSettings.convertWithChildrenWarning" ? t : e)) return;
|
|
10183
10183
|
}
|
|
10184
|
-
let l = await
|
|
10185
|
-
|
|
10184
|
+
let l = await r.convertBlock(e, a, o, n, i.data);
|
|
10185
|
+
s.close(), l && t.setToBlock(l, t.positions.END);
|
|
10186
10186
|
}
|
|
10187
10187
|
});
|
|
10188
10188
|
}), t), []);
|
|
10189
|
-
return
|
|
10190
|
-
icon:
|
|
10189
|
+
return c.length > 0 && (i.push({
|
|
10190
|
+
icon: Xe,
|
|
10191
10191
|
name: "convert-to",
|
|
10192
|
-
title:
|
|
10192
|
+
title: r.Blok.I18n.t("popover.convertTo"),
|
|
10193
10193
|
children: {
|
|
10194
|
-
items:
|
|
10194
|
+
items: c,
|
|
10195
10195
|
minWidth: "200px"
|
|
10196
10196
|
}
|
|
10197
|
-
}),
|
|
10198
|
-
icon:
|
|
10199
|
-
title:
|
|
10197
|
+
}), i.push({ type: D.Separator })), o ? i.push({
|
|
10198
|
+
icon: ae,
|
|
10199
|
+
title: r.Blok.I18n.t("blockSettings.delete"),
|
|
10200
10200
|
name: "delete",
|
|
10201
10201
|
isDestructive: !0,
|
|
10202
10202
|
closeOnActivate: !0,
|
|
10203
10203
|
onActivate: () => {
|
|
10204
|
-
let { BlockManager: e, Caret: t, Toolbar: n } =
|
|
10205
|
-
|
|
10204
|
+
let { BlockManager: e, Caret: t, Toolbar: n } = r.Blok, i = e.deleteSelectedBlocksAndInsertReplacement();
|
|
10205
|
+
i && t.setToBlock(i, t.positions.END), n.close();
|
|
10206
10206
|
}
|
|
10207
|
-
}) :
|
|
10207
|
+
}) : i.push(...t), i;
|
|
10208
10208
|
}
|
|
10209
10209
|
clearBlockSelectionOnClose() {
|
|
10210
10210
|
if (this.Blok.CrossBlockSelection.isCrossBlockSelectionStarted) return;
|
|
@@ -10314,29 +10314,29 @@ var Od = {
|
|
|
10314
10314
|
}
|
|
10315
10315
|
}, Nd = "block hovered", Pd = /* @__PURE__ */ function(e) {
|
|
10316
10316
|
return e.Opened = "toolbox-opened", e.Closed = "toolbox-closed", e.BlockAdded = "toolbox-block-added", e;
|
|
10317
|
-
}({}), Fd = class extends
|
|
10317
|
+
}({}), Fd = class extends Le {
|
|
10318
10318
|
get isEmpty() {
|
|
10319
10319
|
return this.toolsToBeDisplayed.length === 0;
|
|
10320
10320
|
}
|
|
10321
10321
|
static get CSS() {
|
|
10322
10322
|
return { toolbox: "" };
|
|
10323
10323
|
}
|
|
10324
|
-
constructor({ api: e, tools:
|
|
10325
|
-
super(), this.opened = !1, this.listeners = new
|
|
10324
|
+
constructor({ api: e, tools: n, i18nLabels: r, i18n: i, triggerElement: a, leftAlignElement: o }) {
|
|
10325
|
+
super(), this.opened = !1, this.listeners = new tt(), this.popover = null, this.currentBlockForSearch = null, this.currentContentEditable = null, this.isInsideTableCell = !1, this.openedWithSlash = !0, this.handleMobileLayoutToggle = () => {
|
|
10326
10326
|
this.destroyPopover(), this.initPopover();
|
|
10327
10327
|
}, this.onPopoverClose = () => {
|
|
10328
10328
|
this.isInsideTableCell && (this.toggleRestrictedToolsHidden(!1), this.isInsideTableCell = !1), this.stopListeningToBlockInput(), this.opened = !1, this.emit(Pd.Closed);
|
|
10329
10329
|
}, this.handleBlockInput = () => {
|
|
10330
10330
|
var e;
|
|
10331
10331
|
if (this.currentContentEditable === null) return;
|
|
10332
|
-
let
|
|
10333
|
-
if (this.openedWithSlash &&
|
|
10332
|
+
let n = this.currentContentEditable.textContent || "";
|
|
10333
|
+
if (this.openedWithSlash && n.lastIndexOf("/") === -1) {
|
|
10334
10334
|
this.close();
|
|
10335
10335
|
return;
|
|
10336
10336
|
}
|
|
10337
|
-
let
|
|
10338
|
-
this.currentContentEditable instanceof HTMLElement && this.currentContentEditable.setAttribute(
|
|
10339
|
-
}, this.api = e, this.tools =
|
|
10337
|
+
let r = this.openedWithSlash ? n.slice(n.lastIndexOf("/") + 1) : n;
|
|
10338
|
+
this.currentContentEditable instanceof HTMLElement && this.currentContentEditable.setAttribute(t.slashSearch, r.length === 0 ? this.i18nLabels.slashSearchPlaceholder : ""), (e = this.popover) == null || e.filterItems(r);
|
|
10339
|
+
}, this.api = e, this.tools = n, this.i18nLabels = r, this.i18n = i, this.triggerElement = a, this.leftAlignElement = o, this.enableShortcuts(), this.nodes = { toolbox: O.make("div") }, this.nodes.toolbox.setAttribute("data-blok-testid", "toolbox"), this.initPopover(), this.api.events.on(ht, this.handleMobileLayoutToggle);
|
|
10340
10340
|
}
|
|
10341
10341
|
updateLeftAlignElement(e) {
|
|
10342
10342
|
this.leftAlignElement = e, this.popover !== null && "setLeftAlignElement" in this.popover && this.popover.setLeftAlignElement(e);
|
|
@@ -10358,7 +10358,7 @@ var Od = {
|
|
|
10358
10358
|
}
|
|
10359
10359
|
destroy() {
|
|
10360
10360
|
var e;
|
|
10361
|
-
super.destroy(), this.nodes && this.nodes.toolbox && this.nodes.toolbox.remove(), this.removeAllShortcuts(), (e = this.popover) == null || e.off(
|
|
10361
|
+
super.destroy(), this.nodes && this.nodes.toolbox && this.nodes.toolbox.remove(), this.removeAllShortcuts(), (e = this.popover) == null || e.off(Je.Closed, this.onPopoverClose), this.listeners.destroy(), this.api.events.off(ht, this.handleMobileLayoutToggle);
|
|
10362
10362
|
}
|
|
10363
10363
|
async toolButtonActivated(e, t) {
|
|
10364
10364
|
await this.insertNewBlock(e, t);
|
|
@@ -10372,7 +10372,7 @@ var Od = {
|
|
|
10372
10372
|
this.isInsideTableCell = i !== void 0 && i.holder.closest("[data-blok-table-cell-blocks]") !== null, this.isInsideTableCell && this.toggleRestrictedToolsHidden(!0), (t = this.popover) == null || t.show();
|
|
10373
10373
|
let a = ((n = this.triggerElement) == null ? void 0 : n.getBoundingClientRect().height) === 0;
|
|
10374
10374
|
if ((this.isInsideTableCell || a) && this.popover instanceof ke) {
|
|
10375
|
-
let e =
|
|
10375
|
+
let e = T.rect;
|
|
10376
10376
|
this.popover.updatePosition(e);
|
|
10377
10377
|
} else if (!e && this.popover instanceof ke) {
|
|
10378
10378
|
let e = this.api.blocks.getBlockByIndex(r);
|
|
@@ -10388,7 +10388,7 @@ var Od = {
|
|
|
10388
10388
|
this.opened ? this.close() : this.open();
|
|
10389
10389
|
}
|
|
10390
10390
|
initPopover() {
|
|
10391
|
-
this.popover = new (
|
|
10391
|
+
this.popover = new (d() ? jd : ke)({
|
|
10392
10392
|
scopeElement: this.api.ui.nodes.redactor,
|
|
10393
10393
|
trigger: this.triggerElement || this.nodes.toolbox,
|
|
10394
10394
|
leftAlignElement: this.leftAlignElement,
|
|
@@ -10399,13 +10399,13 @@ var Od = {
|
|
|
10399
10399
|
items: this.toolboxItemsToBeDisplayed,
|
|
10400
10400
|
handleContentEditableNavigation: !0,
|
|
10401
10401
|
minWidth: "250px"
|
|
10402
|
-
}), this.popover.on(
|
|
10402
|
+
}), this.popover.on(Je.Closed, this.onPopoverClose), this.popover.getElement().setAttribute("data-blok-testid", "toolbox-popover");
|
|
10403
10403
|
}
|
|
10404
10404
|
destroyPopover() {
|
|
10405
|
-
this.popover !== null && (this.popover.hide(), this.popover.off(
|
|
10405
|
+
this.popover !== null && (this.popover.hide(), this.popover.off(Je.Closed, this.onPopoverClose), this.popover.destroy(), this.popover = null), this.nodes.toolbox !== null && (this.nodes.toolbox.innerHTML = "");
|
|
10406
10406
|
}
|
|
10407
10407
|
toggleRestrictedToolsHidden(e) {
|
|
10408
|
-
let t =
|
|
10408
|
+
let t = we();
|
|
10409
10409
|
for (let i of this.toolsToBeDisplayed) {
|
|
10410
10410
|
if (!t.includes(i.name)) continue;
|
|
10411
10411
|
let a = i.toolbox;
|
|
@@ -10428,23 +10428,23 @@ var Od = {
|
|
|
10428
10428
|
get toolboxItemsToBeDisplayed() {
|
|
10429
10429
|
if (this._toolboxItemsToBeDisplayed) return this._toolboxItemsToBeDisplayed;
|
|
10430
10430
|
let e = (e, t, n = !0) => {
|
|
10431
|
-
var
|
|
10432
|
-
let
|
|
10433
|
-
for (let t of (
|
|
10431
|
+
var i, a, o, s, c;
|
|
10432
|
+
let l = e.titleKey, u = l != null && l.includes(".") ? l : `toolNames.${l}`, d = l ? u : void 0, f = d ? this.api.i18n.getEnglishTranslation(d) : e.title, p = (i = e.searchTerms) == null ? [] : i, m = (a = t.searchTerms) == null ? [] : a, h = [...new Set([...p, ...m])];
|
|
10433
|
+
for (let t of (o = e.searchTermKeys) == null ? [] : o) {
|
|
10434
10434
|
let e = `searchTerms.${t}`;
|
|
10435
|
-
this.i18n.has(e) &&
|
|
10435
|
+
this.i18n.has(e) && h.push(this.i18n.t(e));
|
|
10436
10436
|
}
|
|
10437
|
-
let
|
|
10437
|
+
let g = (s = e.shortcut) == null ? n ? t.shortcut : void 0 : s;
|
|
10438
10438
|
return {
|
|
10439
10439
|
icon: e.icon,
|
|
10440
|
-
title:
|
|
10440
|
+
title: Ye(this.i18n, e, Pe(t.name)),
|
|
10441
10441
|
name: (c = e.name) == null ? t.name : c,
|
|
10442
10442
|
onActivate: () => {
|
|
10443
10443
|
this.toolButtonActivated(t.name, e.data);
|
|
10444
10444
|
},
|
|
10445
|
-
secondaryLabel:
|
|
10446
|
-
englishTitle:
|
|
10447
|
-
searchTerms:
|
|
10445
|
+
secondaryLabel: g ? r(g) : "",
|
|
10446
|
+
englishTitle: f,
|
|
10447
|
+
searchTerms: h
|
|
10448
10448
|
};
|
|
10449
10449
|
}, t = this.toolsToBeDisplayed.reduce((t, n) => {
|
|
10450
10450
|
let { toolbox: r } = n;
|
|
@@ -10501,15 +10501,15 @@ var Od = {
|
|
|
10501
10501
|
}) : n.block = e(), n.block;
|
|
10502
10502
|
}
|
|
10503
10503
|
startListeningToBlockInput() {
|
|
10504
|
-
let e = this.api.blocks.getCurrentBlockIndex(),
|
|
10505
|
-
if (!
|
|
10506
|
-
this.currentBlockForSearch =
|
|
10507
|
-
let
|
|
10508
|
-
this.currentContentEditable =
|
|
10504
|
+
let e = this.api.blocks.getCurrentBlockIndex(), n = this.api.blocks.getBlockByIndex(e);
|
|
10505
|
+
if (!n) return;
|
|
10506
|
+
this.currentBlockForSearch = n.holder;
|
|
10507
|
+
let r = document.activeElement;
|
|
10508
|
+
this.currentContentEditable = r instanceof HTMLElement && r.isContentEditable && this.currentBlockForSearch.contains(r) ? r : this.currentBlockForSearch.querySelector("[contenteditable=\"true\"]"), this.currentContentEditable instanceof HTMLElement && this.currentContentEditable.setAttribute(t.slashSearch, this.i18nLabels.slashSearchPlaceholder), this.listeners.on(this.currentBlockForSearch, "input", this.handleBlockInput);
|
|
10509
10509
|
}
|
|
10510
10510
|
stopListeningToBlockInput() {
|
|
10511
10511
|
var e;
|
|
10512
|
-
this.currentBlockForSearch !== null && (this.listeners.off(this.currentBlockForSearch, "input", this.handleBlockInput), this.currentContentEditable instanceof HTMLElement && this.currentContentEditable.removeAttribute(
|
|
10512
|
+
this.currentBlockForSearch !== null && (this.listeners.off(this.currentBlockForSearch, "input", this.handleBlockInput), this.currentContentEditable instanceof HTMLElement && this.currentContentEditable.removeAttribute(t.slashSearch), this.currentBlockForSearch = null, this.currentContentEditable = null), (e = this.popover) == null || e.filterItems("");
|
|
10513
10513
|
}
|
|
10514
10514
|
isBlockSlashSearchOnly(e) {
|
|
10515
10515
|
var t;
|
|
@@ -10550,23 +10550,23 @@ var Od = {
|
|
|
10550
10550
|
this.hoveredBlockInternal = e;
|
|
10551
10551
|
}
|
|
10552
10552
|
make(e) {
|
|
10553
|
-
let t = this.getBlok(), n =
|
|
10553
|
+
let t = this.getBlok(), n = O.make("div", [at("text-text-secondary cursor-pointer w-6 h-6 rounded-[5px] inline-flex justify-center items-center select-none", "shrink-0", "[&_svg]:h-[22px] [&_svg]:w-[22px]", "can-hover:hover:bg-bg-light", "group-data-[blok-toolbox-opened=true]:bg-bg-light", "mobile:bg-popover-bg mobile:border mobile:border-mobile-border mobile:shadow-overlay-pane mobile:rounded-[6px] mobile:z-2", "mobile:w-toolbox-btn-mobile mobile:h-toolbox-btn-mobile", "group-data-[blok-rtl=true]:right-[calc(-1*(var(--spacing-toolbox-btn)))] group-data-[blok-rtl=true]:left-auto")], { innerHTML: je });
|
|
10554
10554
|
n.setAttribute("data-blok-testid", "plus-button"), e.plusButton = n;
|
|
10555
|
-
let r =
|
|
10556
|
-
return
|
|
10555
|
+
let r = ne(), i = t.I18n.t(r.win ? "toolbox.ctrlAddAbove" : "toolbox.optionAddAbove");
|
|
10556
|
+
return ce(n, Me([t.I18n.t("toolbox.addBelow"), i]), { delay: 500 }), n;
|
|
10557
10557
|
}
|
|
10558
10558
|
handleClick(e = !1) {
|
|
10559
10559
|
var t, n, r;
|
|
10560
10560
|
let { BlockManager: i, BlockSettings: a, BlockSelection: o, Caret: s } = this.getBlok();
|
|
10561
|
-
if (a.opened && a.close(), o.anyBlockSelected && o.clearSelection(), (t =
|
|
10561
|
+
if (a.opened && a.close(), o.anyBlockSelected && o.clearSelection(), (t = T.get()) == null || t.removeAllRanges(), this.getToolboxOpened()) {
|
|
10562
10562
|
this.closeToolbox();
|
|
10563
10563
|
return;
|
|
10564
10564
|
}
|
|
10565
10565
|
let c = this.hoveredBlockInternal, l = (c == null ? void 0 : c.name) === "paragraph" && ((n = c.pluginsContent.textContent) == null ? void 0 : n.startsWith("/")), u = (r = i.currentBlock) == null ? null : r, d = c !== null && c.isEmpty, f = !d && u !== null && u !== c && u.isEmpty && c !== null && c.holder.contains(u.holder), p = d && c || f && u || null, m = c === null ? i.currentBlockIndex : i.getBlockIndex(c), h = e ? m : m + 1, g = i.blocks.slice(h), _ = (e) => {
|
|
10566
10566
|
var t;
|
|
10567
10567
|
return ((t = e.holder.parentElement) == null ? void 0 : t.closest("[data-blok-testid=\"block-wrapper\"]")) !== null;
|
|
10568
|
-
},
|
|
10569
|
-
|
|
10568
|
+
}, v = !e && c && g.length > 0 ? g.findIndex((e) => !_(e)) : 0, ee = h + (v === -1 ? g.length : v), y = l ? c : p == null ? i.insertDefaultBlockAtIndex(ee, !0) : p;
|
|
10569
|
+
y !== c && p === null && _(y) && (c == null || c.holder.after(y.holder)), l ? (s.setToBlock(y, s.positions.DEFAULT, 1), this.moveAndOpenToolbar(y), this.openToolbox()) : (s.setToBlock(y, s.positions.START), this.moveAndOpenToolbar(y), this.openToolboxWithoutSlash());
|
|
10570
10570
|
}
|
|
10571
10571
|
}, Rd = class {
|
|
10572
10572
|
constructor() {
|
|
@@ -10588,8 +10588,8 @@ var Od = {
|
|
|
10588
10588
|
var n, r, i;
|
|
10589
10589
|
let { targetBlock: a, hoveredTarget: o, isMobile: s } = e;
|
|
10590
10590
|
if (!a || !t) return null;
|
|
10591
|
-
let c = a.holder.getBoundingClientRect(), l = o == null ? void 0 : o.closest("[role=\"listitem\"]"), u = l == null ? void 0 : l.querySelector("[contenteditable]"), d = a.pluginsContent, f = d.matches("[contenteditable]") || (n = d.querySelector("[contenteditable]")) == null ? null : n, p = (r = (i = u == null ? l : u) == null ? f : i) == null ? d : r, m = p.getBoundingClientRect().top - c.top, h = window.getComputedStyle(p), g = parseInt(h.paddingTop, 10) || 0, _ = parseFloat(h.lineHeight) || 24,
|
|
10592
|
-
return s ? m -
|
|
10591
|
+
let c = a.holder.getBoundingClientRect(), l = o == null ? void 0 : o.closest("[role=\"listitem\"]"), u = l == null ? void 0 : l.querySelector("[contenteditable]"), d = a.pluginsContent, f = d.matches("[contenteditable]") || (n = d.querySelector("[contenteditable]")) == null ? null : n, p = (r = (i = u == null ? l : u) == null ? f : i) == null ? d : r, m = p.getBoundingClientRect().top - c.top, h = window.getComputedStyle(p), g = parseInt(h.paddingTop, 10) || 0, _ = parseFloat(h.lineHeight) || 24, v = parseInt(window.getComputedStyle(t).height, 10);
|
|
10592
|
+
return s ? m - v : m + g + _ / 2 - v / 2;
|
|
10593
10593
|
}
|
|
10594
10594
|
moveToY(e, t) {
|
|
10595
10595
|
let { wrapper: n } = e;
|
|
@@ -10629,12 +10629,12 @@ var Od = {
|
|
|
10629
10629
|
this.ignoreNextSettingsMouseUp = !0;
|
|
10630
10630
|
}
|
|
10631
10631
|
make(e) {
|
|
10632
|
-
let
|
|
10633
|
-
return
|
|
10632
|
+
let n = this.getBlok(), r = O.make("span", [at("text-text-secondary cursor-pointer w-[22px] h-6 rounded-[5px] inline-flex justify-center items-center select-none", "[&_svg]:h-[22px] [&_svg]:w-[22px]", "active:cursor-grabbing", "can-hover:hover:bg-bg-light can-hover:hover:cursor-grab", "can-hover:hover:group-data-[blok-toolbox-opened=true]:cursor-pointer", "group-data-[blok-block-settings-opened=true]:bg-bg-light", "can-hover:hover:group-data-[blok-block-settings-opened=true]:cursor-pointer", "mobile:bg-popover-bg mobile:border mobile:border-mobile-border mobile:shadow-overlay-pane mobile:rounded-[6px] mobile:z-2", "mobile:w-toolbox-btn-mobile mobile:h-toolbox-btn-mobile"), "group-data-[blok-dragging=true]:cursor-grabbing"], { innerHTML: Oe });
|
|
10633
|
+
return r.setAttribute(t.settingsToggler, ""), r.setAttribute(t.dragHandle, ""), r.setAttribute("data-blok-testid", "settings-toggler"), r.setAttribute("role", "button"), r.setAttribute("tabindex", "-1"), r.setAttribute("aria-label", n.I18n.t("a11y.dragHandle")), r.setAttribute("aria-roledescription", n.I18n.t("a11y.dragHandleRole")), e.settingsToggler = r, this.settingsTogglerElement = r, ce(r, Me([n.I18n.t("blockSettings.dragToMove"), n.I18n.t("blockSettings.clickToOpenMenu")]), { delay: 500 }), r;
|
|
10634
10634
|
}
|
|
10635
10635
|
createMousedownHandler() {
|
|
10636
10636
|
return (e) => {
|
|
10637
|
-
|
|
10637
|
+
be(), this.clickDragHandler.setup(e, () => {
|
|
10638
10638
|
this.handleClick(), this.getToolboxOpened() && this.closeToolbox();
|
|
10639
10639
|
}, { beforeCallback: () => this.ignoreNextSettingsMouseUp ? (this.ignoreNextSettingsMouseUp = !1, !1) : !0 });
|
|
10640
10640
|
};
|
|
@@ -10662,14 +10662,14 @@ var Od = {
|
|
|
10662
10662
|
settingsToggler: at("text-dark cursor-pointer w-toolbox-btn h-toolbox-btn rounded-[7px] inline-flex justify-center items-center select-none", "cursor-pointer select-none", "[&_svg]:h-6 [&_svg]:w-6", "active:cursor-grabbing", "can-hover:hover:bg-bg-light can-hover:hover:cursor-grab", "can-hover:hover:group-data-[blok-toolbox-opened=true]:cursor-pointer", "group-data-[blok-block-settings-opened=true]:bg-bg-light", "can-hover:hover:group-data-[blok-block-settings-opened=true]:cursor-pointer", "mobile:bg-popover-bg mobile:border mobile:border-mobile-border mobile:shadow-overlay-pane mobile:rounded-[6px] mobile:z-2", "mobile:w-toolbox-btn-mobile mobile:h-toolbox-btn-mobile", "not-mobile:w-6"),
|
|
10663
10663
|
settingsTogglerHidden: "hidden"
|
|
10664
10664
|
}), Vd = class extends j {
|
|
10665
|
-
constructor({ config: e, eventsDispatcher:
|
|
10665
|
+
constructor({ config: e, eventsDispatcher: n }) {
|
|
10666
10666
|
super({
|
|
10667
10667
|
config: e,
|
|
10668
|
-
eventsDispatcher:
|
|
10668
|
+
eventsDispatcher: n
|
|
10669
10669
|
}), this.hoveredBlock = null, this.explicitlyClosed = !1, this.hoveredBlockIsFromTableCell = !1, this.toolboxInstance = null, this.onBlockSettingsOpen = () => {
|
|
10670
|
-
this.Blok.UI.nodes.wrapper.setAttribute(
|
|
10670
|
+
this.Blok.UI.nodes.wrapper.setAttribute(t.blockSettingsOpened, "true");
|
|
10671
10671
|
}, this.onBlockSettingsClose = () => {
|
|
10672
|
-
this.Blok.UI.nodes.wrapper.removeAttribute(
|
|
10672
|
+
this.Blok.UI.nodes.wrapper.removeAttribute(t.blockSettingsOpened);
|
|
10673
10673
|
}, this.onBlockChanged = (e) => {
|
|
10674
10674
|
var t;
|
|
10675
10675
|
!this.opened || !this.hoveredBlock || this.Blok.BlockSettings.opened || this.Blok.BlockSettings.isOpening || (t = this.toolboxInstance) != null && t.opened || e.event.detail.target.id === this.hoveredBlock.id && this.repositionToolbar();
|
|
@@ -10714,7 +10714,7 @@ var Od = {
|
|
|
10714
10714
|
},
|
|
10715
10715
|
openWithoutSlash: () => {
|
|
10716
10716
|
if (this.toolboxInstance === null) {
|
|
10717
|
-
|
|
10717
|
+
E("toolbox.openWithoutSlash() called before initialization is finished", "warn");
|
|
10718
10718
|
return;
|
|
10719
10719
|
}
|
|
10720
10720
|
if (this.hoveredBlock && !this.hoveredBlockIsFromTableCell) {
|
|
@@ -10725,7 +10725,7 @@ var Od = {
|
|
|
10725
10725
|
},
|
|
10726
10726
|
open: () => {
|
|
10727
10727
|
if (this.toolboxInstance === null) {
|
|
10728
|
-
|
|
10728
|
+
E("toolbox.open() called before initialization is finished", "warn");
|
|
10729
10729
|
return;
|
|
10730
10730
|
}
|
|
10731
10731
|
if (this.hoveredBlock && !this.hoveredBlockIsFromTableCell) {
|
|
@@ -10736,7 +10736,7 @@ var Od = {
|
|
|
10736
10736
|
},
|
|
10737
10737
|
toggle: () => {
|
|
10738
10738
|
if (this.toolboxInstance === null) {
|
|
10739
|
-
|
|
10739
|
+
E("toolbox.toggle() called before initialization is finished", "warn");
|
|
10740
10740
|
return;
|
|
10741
10741
|
}
|
|
10742
10742
|
this.toolboxInstance.toggle();
|
|
@@ -10777,59 +10777,59 @@ var Od = {
|
|
|
10777
10777
|
await t.drawUI(), t.enableModuleBindings();
|
|
10778
10778
|
}, { timeout: 2e3 });
|
|
10779
10779
|
}
|
|
10780
|
-
moveAndOpen(e,
|
|
10780
|
+
moveAndOpen(e, n) {
|
|
10781
10781
|
if (this.toolboxInstance === null) {
|
|
10782
|
-
|
|
10782
|
+
E("Can't open Toolbar since Blok initialization is not finished yet", "warn");
|
|
10783
10783
|
return;
|
|
10784
10784
|
}
|
|
10785
10785
|
this.explicitlyClosed = !1, this.toolboxInstance.opened && this.toolboxInstance.close(), this.Blok.BlockSettings.opened && this.Blok.BlockSettings.close();
|
|
10786
|
-
let
|
|
10787
|
-
if (!
|
|
10788
|
-
let
|
|
10789
|
-
this.hoveredBlockIsFromTableCell =
|
|
10790
|
-
let
|
|
10791
|
-
this.hoveredBlock && this.hoveredBlock !==
|
|
10792
|
-
let { wrapper:
|
|
10793
|
-
if (!
|
|
10794
|
-
let
|
|
10795
|
-
|
|
10796
|
-
let
|
|
10797
|
-
|
|
10798
|
-
let
|
|
10799
|
-
targetBlock:
|
|
10800
|
-
hoveredTarget:
|
|
10801
|
-
isMobile:
|
|
10802
|
-
},
|
|
10803
|
-
if (
|
|
10804
|
-
this.positioner.moveToY(this.nodes,
|
|
10805
|
-
let
|
|
10806
|
-
|
|
10807
|
-
let
|
|
10808
|
-
this.Blok.BlockManager.blocks.length === 1 &&
|
|
10786
|
+
let r = e == null ? this.Blok.BlockManager.currentBlock : e;
|
|
10787
|
+
if (!r) return;
|
|
10788
|
+
let i = n instanceof Element && n.closest("[data-blok-table-cell-blocks]") !== null, a = r.holder.closest("[data-blok-table-cell-blocks]") !== null;
|
|
10789
|
+
this.hoveredBlockIsFromTableCell = i || a;
|
|
10790
|
+
let o = this.resolveTableCellBlock(r);
|
|
10791
|
+
this.hoveredBlock && this.hoveredBlock !== o && this.hoveredBlock.cleanupDraggable(), this.hoveredBlock = o, this.plusButtonHandler.setHoveredBlock(o), this.settingsTogglerHandler.setHoveredBlock(o), this.positioner.setHoveredTarget(n == null ? null : n), this.positioner.resetCachedPosition();
|
|
10792
|
+
let { wrapper: s, plusButton: c, settingsToggler: l } = this.nodes;
|
|
10793
|
+
if (!s || !c) return;
|
|
10794
|
+
let u = this.isFocusInsideTableCell(), d = this.isFirstChildOfCallout(o);
|
|
10795
|
+
c.style.display = d ? "none" : "", l && (l.style.display = u || d ? "none" : "");
|
|
10796
|
+
let f = d || o.name === "callout" ? null : this.getCalloutBackgroundColor(o);
|
|
10797
|
+
f === null ? s.style.removeProperty("--blok-bg-light") : s.style.setProperty("--blok-bg-light", `light-dark(color-mix(in srgb, ${f} 70%, white), color-mix(in srgb, ${f} 85%, white))`);
|
|
10798
|
+
let p = o.holder, { isMobile: m } = this.Blok.UI, h = this.positioner.calculateToolbarY({
|
|
10799
|
+
targetBlock: o,
|
|
10800
|
+
hoveredTarget: n == null ? null : n,
|
|
10801
|
+
isMobile: m
|
|
10802
|
+
}, c);
|
|
10803
|
+
if (h === null) return;
|
|
10804
|
+
this.positioner.moveToY(this.nodes, h), p.appendChild(s), l && !this.Blok.ReadOnly.isEnabled && o.setupDraggable(l, this.Blok.DragManager);
|
|
10805
|
+
let g = p.querySelector(`[${t.elementContent}]`);
|
|
10806
|
+
g && (this.toolboxInstance.updateLeftAlignElement(g), this.nodes.content && (this.nodes.content.style.marginLeft = getComputedStyle(g).marginLeft)), this.positioner.applyContentOffset(this.nodes, o);
|
|
10807
|
+
let _ = o.getTunes(), v = _.toolTunes.length > 0 || _.commonTunes.length > 0;
|
|
10808
|
+
this.Blok.BlockManager.blocks.length === 1 && o.isEmpty && !v ? this.blockTunesToggler.hide() : this.blockTunesToggler.show(), this.open();
|
|
10809
10809
|
}
|
|
10810
10810
|
moveAndOpenForMultipleBlocks(e) {
|
|
10811
10811
|
if (this.Blok.BlockSettings.opened || this.Blok.BlockSettings.isOpening) return;
|
|
10812
|
-
let
|
|
10813
|
-
if (
|
|
10812
|
+
let n = this.Blok.BlockSelection.selectedBlocks;
|
|
10813
|
+
if (n.length < 2) return;
|
|
10814
10814
|
if (this.toolboxInstance === null) {
|
|
10815
|
-
|
|
10815
|
+
E("Can't open Toolbar since Blok initialization is not finished yet", "warn");
|
|
10816
10816
|
return;
|
|
10817
10817
|
}
|
|
10818
10818
|
this.toolboxInstance.opened && this.toolboxInstance.close(), this.explicitlyClosed = !1;
|
|
10819
|
-
let
|
|
10820
|
-
this.hoveredBlock && this.hoveredBlock !==
|
|
10821
|
-
let { wrapper:
|
|
10822
|
-
if (!
|
|
10823
|
-
|
|
10824
|
-
let
|
|
10825
|
-
targetBlock:
|
|
10819
|
+
let r = e == null ? n[0] : e;
|
|
10820
|
+
this.hoveredBlock && this.hoveredBlock !== r && this.hoveredBlock.cleanupDraggable(), this.hoveredBlock = r, this.plusButtonHandler.setHoveredBlock(r), this.settingsTogglerHandler.setHoveredBlock(r), this.positioner.setHoveredTarget(null), this.positioner.resetCachedPosition();
|
|
10821
|
+
let { wrapper: i, plusButton: a, settingsToggler: o } = this.nodes;
|
|
10822
|
+
if (!i || !a) return;
|
|
10823
|
+
a.style.display = "", a.style.color = "", o && (o.style.display = "", o.style.color = "");
|
|
10824
|
+
let s = r.holder, c = this.positioner.calculateToolbarY({
|
|
10825
|
+
targetBlock: r,
|
|
10826
10826
|
hoveredTarget: null,
|
|
10827
10827
|
isMobile: !1
|
|
10828
|
-
},
|
|
10829
|
-
if (
|
|
10830
|
-
this.positioner.moveToY(this.nodes,
|
|
10831
|
-
let
|
|
10832
|
-
|
|
10828
|
+
}, a);
|
|
10829
|
+
if (c === null) return;
|
|
10830
|
+
this.positioner.moveToY(this.nodes, c), s.appendChild(i), o && !this.Blok.ReadOnly.isEnabled && r.setupDraggable(o, this.Blok.DragManager);
|
|
10831
|
+
let l = s.querySelector(`[${t.elementContent}]`);
|
|
10832
|
+
l && (this.toolboxInstance.updateLeftAlignElement(l), this.nodes.content && (this.nodes.content.style.marginLeft = getComputedStyle(l).marginLeft)), this.positioner.applyContentOffset(this.nodes, r), this.blockTunesToggler.show(), this.open();
|
|
10833
10833
|
}
|
|
10834
10834
|
close(e) {
|
|
10835
10835
|
var t, n, r, i;
|
|
@@ -10890,21 +10890,21 @@ var Od = {
|
|
|
10890
10890
|
}
|
|
10891
10891
|
async make() {
|
|
10892
10892
|
var e = this;
|
|
10893
|
-
let
|
|
10893
|
+
let n = O.make("div", [
|
|
10894
10894
|
e.CSS.toolbar,
|
|
10895
10895
|
e.CSS.toolbarClosed,
|
|
10896
10896
|
"group-data-[blok-dragging=true]:pointer-events-none"
|
|
10897
10897
|
]);
|
|
10898
|
-
e.nodes.wrapper =
|
|
10899
|
-
let
|
|
10900
|
-
e.nodes.content =
|
|
10901
|
-
let
|
|
10902
|
-
|
|
10903
|
-
let
|
|
10904
|
-
|
|
10905
|
-
let
|
|
10906
|
-
if (!
|
|
10907
|
-
|
|
10898
|
+
e.nodes.wrapper = n, n.setAttribute(t.toolbar, ""), n.setAttribute("data-blok-testid", "toolbar");
|
|
10899
|
+
let r = O.make("div", e.CSS.content), i = O.make("div", [e.CSS.actions]);
|
|
10900
|
+
e.nodes.content = r, e.nodes.actions = i, i.setAttribute("data-blok-testid", "toolbar-actions"), O.append(n, r), O.append(r, i);
|
|
10901
|
+
let a = e.plusButtonHandler.make(e.nodes);
|
|
10902
|
+
O.append(i, a);
|
|
10903
|
+
let o = e.settingsTogglerHandler.make(e.nodes);
|
|
10904
|
+
O.append(i, o), O.append(i, e.makeToolbox());
|
|
10905
|
+
let s = e.Blok.BlockSettings.getElement();
|
|
10906
|
+
if (!s) throw Error("Block Settings element was not created");
|
|
10907
|
+
O.append(i, s), O.append(e.Blok.UI.nodes.wrapper, n);
|
|
10908
10908
|
}
|
|
10909
10909
|
makeToolbox() {
|
|
10910
10910
|
this.toolboxInstance = new Fd({
|
|
@@ -10919,11 +10919,11 @@ var Od = {
|
|
|
10919
10919
|
triggerElement: this.nodes.plusButton
|
|
10920
10920
|
}), this.toolboxInstance.on(Pd.Opened, () => {
|
|
10921
10921
|
var e;
|
|
10922
|
-
this.Blok.UI.nodes.wrapper.classList.add(this.CSS.openedToolboxHolderModifier), this.Blok.UI.nodes.wrapper.setAttribute(
|
|
10923
|
-
let
|
|
10924
|
-
(e = this.toolboxInstance) == null || e.setCalloutBackground(
|
|
10922
|
+
this.Blok.UI.nodes.wrapper.classList.add(this.CSS.openedToolboxHolderModifier), this.Blok.UI.nodes.wrapper.setAttribute(t.toolboxOpened, "true");
|
|
10923
|
+
let n = this.hoveredBlock === null ? null : this.getCalloutBackgroundColor(this.hoveredBlock);
|
|
10924
|
+
(e = this.toolboxInstance) == null || e.setCalloutBackground(n);
|
|
10925
10925
|
}), this.toolboxInstance.on(Pd.Closed, () => {
|
|
10926
|
-
this.Blok.UI.nodes.wrapper.classList.remove(this.CSS.openedToolboxHolderModifier), this.Blok.UI.nodes.wrapper.removeAttribute(
|
|
10926
|
+
this.Blok.UI.nodes.wrapper.classList.remove(this.CSS.openedToolboxHolderModifier), this.Blok.UI.nodes.wrapper.removeAttribute(t.toolboxOpened);
|
|
10927
10927
|
}), this.toolboxInstance.on(Pd.BlockAdded, ({ block: e }) => {
|
|
10928
10928
|
let { BlockManager: t, Caret: n } = this.Blok, r = t.getBlockById(e.id);
|
|
10929
10929
|
if (!r || r.inputs.length !== 0) return;
|
|
@@ -10941,15 +10941,15 @@ var Od = {
|
|
|
10941
10941
|
enableModuleBindings() {
|
|
10942
10942
|
let e = this.nodes.plusButton;
|
|
10943
10943
|
e && this.readOnlyMutableListeners.on(e, "mousedown", (e) => {
|
|
10944
|
-
|
|
10945
|
-
let t =
|
|
10944
|
+
be(), this.clickDragHandler.setup(e, (e) => {
|
|
10945
|
+
let t = ne().win ? e.ctrlKey : e.altKey;
|
|
10946
10946
|
this.plusButtonHandler.handleClick(t);
|
|
10947
10947
|
});
|
|
10948
10948
|
}, !0);
|
|
10949
10949
|
let t = this.nodes.settingsToggler;
|
|
10950
10950
|
t && this.readOnlyMutableListeners.on(t, "mousedown", this.settingsTogglerHandler.createMousedownHandler(), !0), this.readOnlyMutableListeners.on(this.Blok.UI.nodes.wrapper, "focusin", () => {
|
|
10951
10951
|
this.updateToolbarButtonsForTableCellFocus();
|
|
10952
|
-
}),
|
|
10952
|
+
}), d() || this.eventsDispatcher.on(Nd, (e) => {
|
|
10953
10953
|
var t;
|
|
10954
10954
|
if (this.Blok.DragManager.isDragging || this.Blok.RectangleSelection.isRectActivated() || this.Blok.RectangleSelection.isMouseDownWithinBounds) return;
|
|
10955
10955
|
let n = e.block, r = e.target;
|
|
@@ -11058,29 +11058,29 @@ var Od = {
|
|
|
11058
11058
|
}
|
|
11059
11059
|
async build(e) {
|
|
11060
11060
|
var t = this;
|
|
11061
|
-
let n = [],
|
|
11062
|
-
for (let [e, [
|
|
11063
|
-
let
|
|
11064
|
-
for (let e of
|
|
11065
|
-
let r = t.processPopoverItem(e,
|
|
11061
|
+
let n = [], i = Array.from(e.entries());
|
|
11062
|
+
for (let [e, [a, o]] of i.entries()) {
|
|
11063
|
+
let i = await o.render(), { Tools: s } = t.getBlok(), c = s.inlineTools.get(a.name), l = c == null ? void 0 : c.shortcut, u = l === void 0 ? void 0 : r(l), d = Se(t.getI18n(), a.titleKey, a.title || Pe(a.name)), f = Array.isArray(i) ? i : [i], p = e === 0;
|
|
11064
|
+
for (let e of f) {
|
|
11065
|
+
let r = t.processPopoverItem(e, a.name, d, u, p);
|
|
11066
11066
|
n.push(...r);
|
|
11067
11067
|
}
|
|
11068
11068
|
}
|
|
11069
11069
|
return n;
|
|
11070
11070
|
}
|
|
11071
|
-
processPopoverItem(e, n, r, i
|
|
11072
|
-
let
|
|
11073
|
-
name:
|
|
11071
|
+
processPopoverItem(e, t, n, r, i) {
|
|
11072
|
+
let a = [], o = {
|
|
11073
|
+
name: t,
|
|
11074
11074
|
hint: {
|
|
11075
|
-
title:
|
|
11076
|
-
description:
|
|
11075
|
+
title: n,
|
|
11076
|
+
description: r
|
|
11077
11077
|
}
|
|
11078
11078
|
};
|
|
11079
|
-
if (e instanceof HTMLElement) return
|
|
11080
|
-
if (e.type ===
|
|
11081
|
-
if (e.type ===
|
|
11082
|
-
let
|
|
11083
|
-
return
|
|
11079
|
+
if (e instanceof HTMLElement) return a;
|
|
11080
|
+
if (e.type === D.Html) return a.push(k(k(k({}, o), e), {}, { type: D.Html })), a;
|
|
11081
|
+
if (e.type === D.Separator) return a.push({ type: D.Separator }), a;
|
|
11082
|
+
let s = k(k(k({}, o), e), {}, { type: D.Default });
|
|
11083
|
+
return a.push(s), "children" in s && i && a.push({ type: D.Separator }), a;
|
|
11084
11084
|
}
|
|
11085
11085
|
}, Gd = class {
|
|
11086
11086
|
constructor(e) {
|
|
@@ -11098,7 +11098,7 @@ var Od = {
|
|
|
11098
11098
|
this.getBlok = e;
|
|
11099
11099
|
}
|
|
11100
11100
|
canShow() {
|
|
11101
|
-
let e = ["IMG", "INPUT"], t = this.resolveSelection(), n =
|
|
11101
|
+
let e = ["IMG", "INPUT"], t = this.resolveSelection(), n = T.text;
|
|
11102
11102
|
if (!t || !t.anchorNode) return {
|
|
11103
11103
|
allowed: !1,
|
|
11104
11104
|
reason: "Selection is null or has no anchor node"
|
|
@@ -11107,7 +11107,7 @@ var Od = {
|
|
|
11107
11107
|
allowed: !1,
|
|
11108
11108
|
reason: "Selection is collapsed or empty"
|
|
11109
11109
|
};
|
|
11110
|
-
let r =
|
|
11110
|
+
let r = O.isElement(t.anchorNode) ? t.anchorNode : t.anchorNode.parentElement;
|
|
11111
11111
|
if (r === null) return {
|
|
11112
11112
|
allowed: !1,
|
|
11113
11113
|
reason: "Target element is null"
|
|
@@ -11116,7 +11116,7 @@ var Od = {
|
|
|
11116
11116
|
allowed: !1,
|
|
11117
11117
|
reason: `Target tag ${r.tagName} conflicts with selection`
|
|
11118
11118
|
};
|
|
11119
|
-
let i =
|
|
11119
|
+
let i = O.isElement(t.anchorNode) ? t.anchorNode : t.anchorNode.parentElement, { BlockManager: a } = this.getBlok(), o = i ? a.getBlock(i) : null, s = o == null ? a.currentBlock : o;
|
|
11120
11120
|
if (s == null) return {
|
|
11121
11121
|
allowed: !1,
|
|
11122
11122
|
reason: "Current block is null or undefined"
|
|
@@ -11130,7 +11130,7 @@ var Od = {
|
|
|
11130
11130
|
let l = s.holder;
|
|
11131
11131
|
if (l && (l.matches(c) ? l : l.closest(c))) return { allowed: !0 };
|
|
11132
11132
|
let { ReadOnly: u } = this.getBlok();
|
|
11133
|
-
return u.isEnabled ?
|
|
11133
|
+
return u.isEnabled ? T.isSelectionAtBlok(t) ? { allowed: !0 } : {
|
|
11134
11134
|
allowed: !1,
|
|
11135
11135
|
reason: "Read-only mode and selection not at Blok"
|
|
11136
11136
|
} : {
|
|
@@ -11143,16 +11143,16 @@ var Od = {
|
|
|
11143
11143
|
let { BlockManager: t, ReadOnly: n } = this.getBlok(), r = (e = t.currentBlock) == null ? (() => {
|
|
11144
11144
|
let e = this.resolveSelection(), n = e == null ? void 0 : e.anchorNode;
|
|
11145
11145
|
if (!n) return null;
|
|
11146
|
-
let r =
|
|
11146
|
+
let r = O.isElement(n) ? n : n.parentElement;
|
|
11147
11147
|
return r ? t.getBlock(r) : null;
|
|
11148
11148
|
})() : e;
|
|
11149
11149
|
return r ? Array.from(r.tool.inlineTools.values()).filter((e) => !(n.isEnabled && !e.isReadOnlySupported)) : [];
|
|
11150
11150
|
}
|
|
11151
11151
|
resolveSelection() {
|
|
11152
|
-
let e =
|
|
11152
|
+
let e = T.selection;
|
|
11153
11153
|
if (e !== void 0) return e;
|
|
11154
|
-
let t =
|
|
11155
|
-
return t === void 0 ?
|
|
11154
|
+
let t = T.instance;
|
|
11155
|
+
return t === void 0 ? T.get() : t;
|
|
11156
11156
|
}
|
|
11157
11157
|
}, qd = /* @__PURE__ */ function(e) {
|
|
11158
11158
|
return e[e.Block = 0] = "Block", e[e.Inline = 1] = "Inline", e[e.Tune = 2] = "Tune", e;
|
|
@@ -11186,11 +11186,11 @@ var Od = {
|
|
|
11186
11186
|
return this.isDefault && !("placeholder" in r) && this.defaultPlaceholder && (r.placeholder = this.defaultPlaceholder), r;
|
|
11187
11187
|
}
|
|
11188
11188
|
reset() {
|
|
11189
|
-
if (
|
|
11189
|
+
if (m(this.constructable.reset)) return this.constructable.reset();
|
|
11190
11190
|
}
|
|
11191
11191
|
prepare() {
|
|
11192
11192
|
let e = this.constructable.prepare;
|
|
11193
|
-
if (!
|
|
11193
|
+
if (!m(e)) return;
|
|
11194
11194
|
let t = {
|
|
11195
11195
|
toolName: this.name,
|
|
11196
11196
|
config: this.settings
|
|
@@ -11313,15 +11313,15 @@ var Od = {
|
|
|
11313
11313
|
return (e = t.currentBlock) == null ? (() => {
|
|
11314
11314
|
let e = this.resolveSelection(), n = e == null ? void 0 : e.anchorNode;
|
|
11315
11315
|
if (!n) return null;
|
|
11316
|
-
let r =
|
|
11316
|
+
let r = O.isElement(n) ? n : n.parentElement;
|
|
11317
11317
|
return r ? t.getBlock(r) : null;
|
|
11318
11318
|
})() : e;
|
|
11319
11319
|
}
|
|
11320
11320
|
resolveSelection() {
|
|
11321
|
-
let e =
|
|
11321
|
+
let e = T.selection;
|
|
11322
11322
|
if (e !== void 0) return e;
|
|
11323
|
-
let t =
|
|
11324
|
-
return t === void 0 ?
|
|
11323
|
+
let t = T.instance;
|
|
11324
|
+
return t === void 0 ? T.get() : t;
|
|
11325
11325
|
}
|
|
11326
11326
|
get inlineTools() {
|
|
11327
11327
|
let { Tools: e } = this.getBlok(), t = {};
|
|
@@ -11343,7 +11343,7 @@ var Od = {
|
|
|
11343
11343
|
super({
|
|
11344
11344
|
config: e,
|
|
11345
11345
|
eventsDispatcher: t
|
|
11346
|
-
}), this.opened = !1, this.popover = null, this.openingPromise = null, this.selection = new
|
|
11346
|
+
}), this.opened = !1, this.popover = null, this.openingPromise = null, this.selection = new T(), this.tools = /* @__PURE__ */ new Map(), this.positioner = new Gd(d());
|
|
11347
11347
|
let n = () => this.Blok;
|
|
11348
11348
|
this.shortcutManager = new tf(n, (e) => this.activateToolByShortcut(e)), this.toolsManager = new nf(n), this.selectionValidator = new Kd(n), this.popoverBuilder = new Wd(n, () => this.Blok.I18n), this.keyboardHandler = new Hd(() => this.popover, () => this.close()), this.lifecycleManager = new Ud(n, () => this.initialize()), this.listeners.on(window, "keydown", (e) => {
|
|
11349
11349
|
let t = e;
|
|
@@ -11401,14 +11401,14 @@ var Od = {
|
|
|
11401
11401
|
this.shortcutManager.destroy(), this.removeAllNodes();
|
|
11402
11402
|
}
|
|
11403
11403
|
make() {
|
|
11404
|
-
this.nodes.wrapper =
|
|
11404
|
+
this.nodes.wrapper = O.make("div", A("absolute top-0 left-0 z-3 opacity-100 visible", "transition-opacity duration-250 ease-out", "will-change-[opacity,left,top]", "**:[[hidden]]:hidden!")), this.nodes.wrapper.setAttribute(t.interface, We), this.nodes.wrapper.setAttribute("data-blok-testid", "inline-toolbar"), O.append(this.Blok.UI.nodes.wrapper, this.nodes.wrapper);
|
|
11405
11405
|
}
|
|
11406
11406
|
async open() {
|
|
11407
11407
|
var e = this, t, n, r, i, a, o, s, c, l, u, d, f, p, m;
|
|
11408
11408
|
if (e.opened) return;
|
|
11409
11409
|
if (e.initialize(), e.opened = !0, e.popover) {
|
|
11410
|
-
var h, g, _,
|
|
11411
|
-
(h = (g = e.popover).hide) == null || h.call(g), (_ = (
|
|
11410
|
+
var h, g, _, v;
|
|
11411
|
+
(h = (g = e.popover).hide) == null || h.call(g), (_ = (v = e.popover).destroy) == null || _.call(v), e.popover = null;
|
|
11412
11412
|
}
|
|
11413
11413
|
if (e.createToolsInstances(), !e.nodes.wrapper) return;
|
|
11414
11414
|
e.nodes.wrapper.innerHTML = "", e.popover = new Td({
|
|
@@ -11419,8 +11419,8 @@ var Od = {
|
|
|
11419
11419
|
search: e.Blok.I18n.t("popover.search")
|
|
11420
11420
|
}
|
|
11421
11421
|
});
|
|
11422
|
-
let
|
|
11423
|
-
e.applyPosition(
|
|
11422
|
+
let ee = (r = (i = (a = e.popover).getMountElement) == null ? void 0 : i.call(a)) == null ? (o = (s = e.popover).getElement) == null ? void 0 : o.call(s) : r, y = (c = (l = e.popover).getElement) == null ? void 0 : c.call(l), te = (u = (d = (f = e.popover.size) == null ? void 0 : f.width) == null ? y == null ? void 0 : y.getBoundingClientRect().width : d) == null ? 0 : u;
|
|
11423
|
+
e.applyPosition(te), ee && e.nodes.wrapper && e.nodes.wrapper.appendChild(ee), (p = (m = e.popover).show) == null || p.call(m);
|
|
11424
11424
|
}
|
|
11425
11425
|
async buildPopoverItems() {
|
|
11426
11426
|
var e = this;
|
|
@@ -11428,7 +11428,7 @@ var Od = {
|
|
|
11428
11428
|
}
|
|
11429
11429
|
applyPosition(e) {
|
|
11430
11430
|
if (!this.nodes.wrapper) return;
|
|
11431
|
-
let t = this.Blok.UI.nodes.wrapper, n = this.nodes.wrapper.offsetParent === t ? t.getBoundingClientRect() : new DOMRect(0, 0, 0, 0), r = this.Blok.UI.contentRect, i =
|
|
11431
|
+
let t = this.Blok.UI.nodes.wrapper, n = this.nodes.wrapper.offsetParent === t ? t.getBoundingClientRect() : new DOMRect(0, 0, 0, 0), r = this.Blok.UI.contentRect, i = T.rect;
|
|
11432
11432
|
this.positioner.apply({
|
|
11433
11433
|
wrapper: this.nodes.wrapper,
|
|
11434
11434
|
selectionRect: i,
|
|
@@ -11469,8 +11469,8 @@ var Od = {
|
|
|
11469
11469
|
return this.savedData;
|
|
11470
11470
|
}
|
|
11471
11471
|
make() {
|
|
11472
|
-
let e =
|
|
11473
|
-
return e.setAttribute(
|
|
11472
|
+
let e = O.make("div", "flex items-center py-3 px-[18px] my-2.5 rounded-[10px] bg-bg-light border border-line-gray text-gray-text text-sm [&_svg]:size-icon"), n = i, r = O.make("div", "ml-3.5"), a = O.make("div", "font-medium capitalize", { textContent: this.title }), o = O.make("div", "", { textContent: this.subtitle });
|
|
11473
|
+
return e.setAttribute(t.tool, "stub"), e.setAttribute(t.stub, ""), r.setAttribute(t.stubInfo, ""), a.setAttribute(t.stubTitle, ""), o.setAttribute(t.stubSubtitle, ""), e.innerHTML = n, r.appendChild(a), r.appendChild(o), e.appendChild(r), e;
|
|
11474
11474
|
}
|
|
11475
11475
|
};
|
|
11476
11476
|
af = of, af.isReadOnlySupported = !0;
|
|
@@ -11482,7 +11482,7 @@ var sf, cf = class {
|
|
|
11482
11482
|
}
|
|
11483
11483
|
render() {
|
|
11484
11484
|
return {
|
|
11485
|
-
icon:
|
|
11485
|
+
icon: ae,
|
|
11486
11486
|
title: this.api.i18n.t("blockSettings.delete"),
|
|
11487
11487
|
name: "delete",
|
|
11488
11488
|
isDestructive: !0,
|
|
@@ -11534,7 +11534,7 @@ var lf = class e extends Map {
|
|
|
11534
11534
|
}
|
|
11535
11535
|
get toolbox() {
|
|
11536
11536
|
let e = this.constructable[Zd.Toolbox], t = this.config[Yd.Toolbox];
|
|
11537
|
-
if (!e ||
|
|
11537
|
+
if (!e || x(e) || t === !1) return;
|
|
11538
11538
|
let n = this.mergeToolboxSettings(e, t), r = this.filterToolboxEntriesByStyles(n);
|
|
11539
11539
|
return this.filterToolboxEntriesByLevels(r);
|
|
11540
11540
|
}
|
|
@@ -11583,12 +11583,12 @@ var lf = class e extends Map {
|
|
|
11583
11583
|
get sanitizeConfig() {
|
|
11584
11584
|
if (this._sanitizeConfig) return this._sanitizeConfig;
|
|
11585
11585
|
let e = super.sanitizeConfig, t = this.baseSanitizeConfig;
|
|
11586
|
-
if (
|
|
11586
|
+
if (x(e)) return this._sanitizeConfig = t, t;
|
|
11587
11587
|
let n = {};
|
|
11588
11588
|
for (let r in e) {
|
|
11589
11589
|
if (!Object.prototype.hasOwnProperty.call(e, r)) continue;
|
|
11590
11590
|
let i = e[r];
|
|
11591
|
-
|
|
11591
|
+
b(i) ? n[r] = Object.assign({}, t, i) : n[r] = i;
|
|
11592
11592
|
}
|
|
11593
11593
|
return this._sanitizeConfig = n, n;
|
|
11594
11594
|
}
|
|
@@ -11687,7 +11687,7 @@ var lf = class e extends Map {
|
|
|
11687
11687
|
}), t;
|
|
11688
11688
|
}
|
|
11689
11689
|
}, gf, _f = (e) => {
|
|
11690
|
-
if (!
|
|
11690
|
+
if (!m(e)) throw Error("Tool constructable must be a function");
|
|
11691
11691
|
return e;
|
|
11692
11692
|
}, vf = class e extends j {
|
|
11693
11693
|
constructor(...e) {
|
|
@@ -11721,7 +11721,7 @@ var lf = class e extends Map {
|
|
|
11721
11721
|
async prepare() {
|
|
11722
11722
|
var e = this, t;
|
|
11723
11723
|
let n = (t = e.config.tools) == null ? {} : t;
|
|
11724
|
-
e.config.tools =
|
|
11724
|
+
e.config.tools = ie({}, e.internalTools, n), e.validateTools();
|
|
11725
11725
|
let r = e.config.tools;
|
|
11726
11726
|
if (!r || Object.keys(r).length === 0) throw Error("Can't start without tools");
|
|
11727
11727
|
let i = e.prepareConfig(r);
|
|
@@ -11735,7 +11735,7 @@ var lf = class e extends Map {
|
|
|
11735
11735
|
}, c = new hf();
|
|
11736
11736
|
a.forEach((e) => {
|
|
11737
11737
|
c.add(async () => {
|
|
11738
|
-
let t =
|
|
11738
|
+
let t = f(e.data) ? {} : e.data;
|
|
11739
11739
|
try {
|
|
11740
11740
|
await e.function(e.data), o(t);
|
|
11741
11741
|
} catch (e) {
|
|
@@ -11757,12 +11757,12 @@ var lf = class e extends Map {
|
|
|
11757
11757
|
try {
|
|
11758
11758
|
return e.reset();
|
|
11759
11759
|
} catch (t) {
|
|
11760
|
-
|
|
11760
|
+
E(`Tool "${e.name}" reset failed`, "warn", t);
|
|
11761
11761
|
return;
|
|
11762
11762
|
}
|
|
11763
11763
|
})();
|
|
11764
11764
|
t instanceof Promise && t.catch((t) => {
|
|
11765
|
-
|
|
11765
|
+
E(`Tool "${e.name}" reset failed`, "warn", t);
|
|
11766
11766
|
});
|
|
11767
11767
|
}
|
|
11768
11768
|
}
|
|
@@ -11790,7 +11790,7 @@ var lf = class e extends Map {
|
|
|
11790
11790
|
}
|
|
11791
11791
|
let n = t.getMissingMethods(["render"]);
|
|
11792
11792
|
if (n.length) {
|
|
11793
|
-
|
|
11793
|
+
E(`Incorrect Inline Tool: ${t.name}. Some of required methods is not implemented %o`, "warn", n), this.toolsUnavailable.set(t.name, t);
|
|
11794
11794
|
return;
|
|
11795
11795
|
}
|
|
11796
11796
|
this.toolsAvailable.set(t.name, t);
|
|
@@ -11808,7 +11808,7 @@ var lf = class e extends Map {
|
|
|
11808
11808
|
return {
|
|
11809
11809
|
function: async (e) => {
|
|
11810
11810
|
let r = t.class;
|
|
11811
|
-
if (!r || !
|
|
11811
|
+
if (!r || !m(r.prepare)) return;
|
|
11812
11812
|
let i = e == null ? n : e;
|
|
11813
11813
|
return r.prepare.call(r, i);
|
|
11814
11814
|
},
|
|
@@ -11859,7 +11859,7 @@ var lf = class e extends Map {
|
|
|
11859
11859
|
let t = this.internalTools;
|
|
11860
11860
|
for (let n in e) {
|
|
11861
11861
|
if (!Object.prototype.hasOwnProperty.call(e, n) || n in t) continue;
|
|
11862
|
-
let r = e[n], i =
|
|
11862
|
+
let r = e[n], i = m(r), a = m(r.class);
|
|
11863
11863
|
if (!i && !a) throw new lt(`Tool «${n}» must be a constructor function or an object with function in the «class» property`);
|
|
11864
11864
|
}
|
|
11865
11865
|
}
|
|
@@ -11868,7 +11868,7 @@ var lf = class e extends Map {
|
|
|
11868
11868
|
for (let n in e) {
|
|
11869
11869
|
if (!Object.prototype.hasOwnProperty.call(e, n)) continue;
|
|
11870
11870
|
let r = e[n];
|
|
11871
|
-
if (
|
|
11871
|
+
if (b(r)) {
|
|
11872
11872
|
t[n] = r;
|
|
11873
11873
|
continue;
|
|
11874
11874
|
}
|
|
@@ -11889,7 +11889,7 @@ var lf = class e extends Map {
|
|
|
11889
11889
|
for (let n of e) {
|
|
11890
11890
|
let e = this.inlineTools.get(n);
|
|
11891
11891
|
if (!e) {
|
|
11892
|
-
|
|
11892
|
+
E(`Inline tool "${n}" is not available and will be skipped`, "warn");
|
|
11893
11893
|
continue;
|
|
11894
11894
|
}
|
|
11895
11895
|
t.push([n, e]);
|
|
@@ -11901,7 +11901,7 @@ var lf = class e extends Map {
|
|
|
11901
11901
|
for (let n of e) {
|
|
11902
11902
|
let e = this.blockTunes.get(n);
|
|
11903
11903
|
if (!e) {
|
|
11904
|
-
|
|
11904
|
+
E(`Block tune "${n}" is not available and will be skipped`, "warn");
|
|
11905
11905
|
continue;
|
|
11906
11906
|
}
|
|
11907
11907
|
t.push([n, e]);
|
|
@@ -11920,9 +11920,9 @@ gf = vf, gf.BLOK_SETTINGS_KEYS = new Set([
|
|
|
11920
11920
|
]);
|
|
11921
11921
|
//#endregion
|
|
11922
11922
|
//#region src/styles/main.css?inline
|
|
11923
|
-
var yf = "/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */\n@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-border-style:solid;--tw-shadow:0 0 transparent;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 transparent;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 transparent;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 transparent;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 transparent;--tw-content:\"\";--tw-leading:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-gradient-position:initial;--tw-gradient-from:transparent;--tw-gradient-via:transparent;--tw-gradient-to:transparent;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-font-weight:initial;--tw-tracking:initial;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}::-ms-backdrop{--tw-border-style:solid;--tw-shadow:0 0 transparent;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 transparent;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 transparent;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 transparent;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 transparent;--tw-content:\"\";--tw-leading:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-gradient-position:initial;--tw-gradient-from:transparent;--tw-gradient-via:transparent;--tw-gradient-to:transparent;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-font-weight:initial;--tw-tracking:initial;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}::backdrop{--tw-border-style:solid;--tw-shadow:0 0 transparent;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 transparent;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 transparent;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 transparent;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 transparent;--tw-content:\"\";--tw-leading:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-gradient-position:initial;--tw-gradient-from:transparent;--tw-gradient-via:transparent;--tw-gradient-to:transparent;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-font-weight:initial;--tw-tracking:initial;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}:root{--font-mono:\"PT Mono\", \"Menlo\", \"Monaco\", \"Consolas\", \"Courier New\", monospace;--color-red-500:#fb2c36;--color-blue-500:#3080ff;--color-gray-50:#f9fafb;--color-gray-100:#f3f4f6;--color-gray-200:#e5e7eb;--color-gray-300:#d1d5dc;--color-gray-400:#99a1af;--color-gray-500:#6a7282;--color-neutral-100:#f5f5f5;--color-neutral-200:#e5e5e5;--color-neutral-300:#d4d4d4;--color-neutral-400:#a1a1a1;--color-neutral-500:#737373;--color-neutral-600:#525252;--color-neutral-700:#404040;--color-neutral-800:#262626;--color-neutral-900:#171717;--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-4xl:56rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.625;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-mono-font-family:var(--font-mono);--z-index-overlay:999;--spacing-content-width:650px;--spacing-narrow-mode-padding:50px;--spacing-toolbox-btn:26px;--spacing-toolbox-btn-mobile:36px;--spacing-icon:20px;--spacing-icon-mobile:28px;--max-width-content:720px;--animate-button-clicked:buttonClicked .75s cubic-bezier(.215, .61, .355, 1) forwards;--animate-rotation:rotation 1.2s infinite linear;--animate-notify-slide-in:notifySlideIn .4s cubic-bezier(.16, 1, .3, 1) both;--animate-notify-slide-out:notifySlideOut .25s cubic-bezier(.4, 0, 1, 1) both;--animate-notify-progress:notifyProgress linear forwards}@supports (color:color(display-p3 0 0 0)){:root{--color-red-500:color(display-p3 .903738 .262579 .253307);--color-blue-500:color(display-p3 .266422 .491219 .988624);--color-gray-50:color(display-p3 .977213 .98084 .985102);--color-gray-100:color(display-p3 .953567 .956796 .964321);--color-gray-200:color(display-p3 .899787 .906171 .92106);--color-gray-300:color(display-p3 .822033 .835264 .858521);--color-gray-400:color(display-p3 .605734 .630385 .680158);--color-gray-500:color(display-p3 .421287 .446085 .504784);--color-neutral-100:color(display-p3 .960587 .960587 .960587);--color-neutral-200:color(display-p3 .898161 .898161 .898161);--color-neutral-300:color(display-p3 .831444 .831444 .831444);--color-neutral-400:color(display-p3 .630163 .630163 .630163);--color-neutral-500:color(display-p3 .451519 .451519 .451519);--color-neutral-600:color(display-p3 .321993 .321993 .321993);--color-neutral-700:color(display-p3 .250471 .250471 .250471);--color-neutral-800:color(display-p3 .149382 .149382 .149382);--color-neutral-900:color(display-p3 .0905274 .0905274 .0905274)}}@supports (color:lab(0% 0 0)){:root{--color-red-500:lab(55.4814% 75.0732 48.8528);--color-blue-500:lab(54.1736% 13.3369 -74.6839);--color-gray-50:lab(98.2596% -.247031 -.706708);--color-gray-100:lab(96.1596% -.0823438 -1.13575);--color-gray-200:lab(91.6229% -.159115 -2.26791);--color-gray-300:lab(85.1236% -.612259 -3.7138);--color-gray-400:lab(65.9269% -.832707 -8.17473);--color-gray-500:lab(47.7841% -.393182 -10.0268);--color-neutral-100:lab(96.52% -.0000298023 .0000119209);--color-neutral-200:lab(90.952% 0 -.0000119209);--color-neutral-300:lab(84.92% 0 -.0000119209);--color-neutral-400:lab(66.128% -.0000298023 .0000119209);--color-neutral-500:lab(48.496% 0 0);--color-neutral-600:lab(34.924% 0 0);--color-neutral-700:lab(27.036% 0 0);--color-neutral-800:lab(15.204% 0 -.00000596046);--color-neutral-900:lab(7.78201% -.0000149012 0)}}:host{--font-mono:\"PT Mono\", \"Menlo\", \"Monaco\", \"Consolas\", \"Courier New\", monospace;--color-red-500:#fb2c36;--color-blue-500:#3080ff;--color-gray-50:#f9fafb;--color-gray-100:#f3f4f6;--color-gray-200:#e5e7eb;--color-gray-300:#d1d5dc;--color-gray-400:#99a1af;--color-gray-500:#6a7282;--color-neutral-100:#f5f5f5;--color-neutral-200:#e5e5e5;--color-neutral-300:#d4d4d4;--color-neutral-400:#a1a1a1;--color-neutral-500:#737373;--color-neutral-600:#525252;--color-neutral-700:#404040;--color-neutral-800:#262626;--color-neutral-900:#171717;--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-4xl:56rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.625;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-mono-font-family:var(--font-mono);--z-index-overlay:999;--spacing-content-width:650px;--spacing-narrow-mode-padding:50px;--spacing-toolbox-btn:26px;--spacing-toolbox-btn-mobile:36px;--spacing-icon:20px;--spacing-icon-mobile:28px;--max-width-content:720px;--animate-button-clicked:buttonClicked .75s cubic-bezier(.215, .61, .355, 1) forwards;--animate-rotation:rotation 1.2s infinite linear;--animate-notify-slide-in:notifySlideIn .4s cubic-bezier(.16, 1, .3, 1) both;--animate-notify-slide-out:notifySlideOut .25s cubic-bezier(.4, 0, 1, 1) both;--animate-notify-progress:notifyProgress linear forwards}@supports (color:color(display-p3 0 0 0)){:host{--color-red-500:color(display-p3 .903738 .262579 .253307);--color-blue-500:color(display-p3 .266422 .491219 .988624);--color-gray-50:color(display-p3 .977213 .98084 .985102);--color-gray-100:color(display-p3 .953567 .956796 .964321);--color-gray-200:color(display-p3 .899787 .906171 .92106);--color-gray-300:color(display-p3 .822033 .835264 .858521);--color-gray-400:color(display-p3 .605734 .630385 .680158);--color-gray-500:color(display-p3 .421287 .446085 .504784);--color-neutral-100:color(display-p3 .960587 .960587 .960587);--color-neutral-200:color(display-p3 .898161 .898161 .898161);--color-neutral-300:color(display-p3 .831444 .831444 .831444);--color-neutral-400:color(display-p3 .630163 .630163 .630163);--color-neutral-500:color(display-p3 .451519 .451519 .451519);--color-neutral-600:color(display-p3 .321993 .321993 .321993);--color-neutral-700:color(display-p3 .250471 .250471 .250471);--color-neutral-800:color(display-p3 .149382 .149382 .149382);--color-neutral-900:color(display-p3 .0905274 .0905274 .0905274)}}@supports (color:lab(0% 0 0)){:host{--color-red-500:lab(55.4814% 75.0732 48.8528);--color-blue-500:lab(54.1736% 13.3369 -74.6839);--color-gray-50:lab(98.2596% -.247031 -.706708);--color-gray-100:lab(96.1596% -.0823438 -1.13575);--color-gray-200:lab(91.6229% -.159115 -2.26791);--color-gray-300:lab(85.1236% -.612259 -3.7138);--color-gray-400:lab(65.9269% -.832707 -8.17473);--color-gray-500:lab(47.7841% -.393182 -10.0268);--color-neutral-100:lab(96.52% -.0000298023 .0000119209);--color-neutral-200:lab(90.952% 0 -.0000119209);--color-neutral-300:lab(84.92% 0 -.0000119209);--color-neutral-400:lab(66.128% -.0000298023 .0000119209);--color-neutral-500:lab(48.496% 0 0);--color-neutral-600:lab(34.924% 0 0);--color-neutral-700:lab(27.036% 0 0);--color-neutral-800:lab(15.204% 0 -.00000596046);--color-neutral-900:lab(7.78201% -.0000149012 0)}}.blok-input{border-style:var(--tw-border-style);border-width:1px;border-color:var(--blok-line-gray);width:100%;padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2.5);--tw-shadow:inset 0 1px 2px 0 var(--tw-shadow-color,rgba(35,44,72,.06));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-outline-style:none;border-radius:3px;outline-style:none}@media (forced-colors:active){.blok-input{outline-offset:2px;outline:2px solid transparent}}.blok-input[data-blok-placeholder]:before{content:var(--tw-content);pointer-events:none;content:var(--tw-content);content:var(--tw-content);content:var(--tw-content);width:calc(var(--spacing) * 0);content:var(--tw-content);white-space:nowrap;display:inline-block;position:static!important}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.blok-loader{border-style:var(--tw-border-style);border-width:1px;border-color:var(--blok-line-gray);position:relative}.blok-loader:before{content:var(--tw-content);content:var(--tw-content);content:var(--tw-content);content:var(--tw-content);content:var(--tw-content);content:var(--tw-content);content:var(--tw-content);content:var(--tw-content);width:18px;height:18px;animation:var(--animate-rotation);content:var(--tw-content);content:var(--tw-content);border-style:var(--tw-border-style);content:var(--tw-content);border-width:2px;border-color:var(--blok-line-gray);content:var(--tw-content);border-left-color:var(--blok-active-icon);--tw-content:\"\";content:var(--tw-content);border-radius:3.40282e38px;margin-top:-11px;margin-left:-11px;position:absolute;top:50%;left:50%}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:-webkit-sticky;position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.inset-\\[auto_var\\(--offset\\)_calc\\(var\\(--offset\\)\\+env\\(safe-area-inset-bottom\\)\\)_var\\(--offset\\)\\]{inset:auto var(--offset) calc(var(--offset) + env(safe-area-inset-bottom)) var(--offset)}.start:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){left:var(--spacing)}.start:not(:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){left:var(--spacing)}.start:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){left:var(--spacing)}.start:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:var(--spacing)}.start:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:var(--spacing)}.start:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:var(--spacing)}.end:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){right:var(--spacing)}.end:not(:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){right:var(--spacing)}.end:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){right:var(--spacing)}.end:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:var(--spacing)}.end:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:var(--spacing)}.end:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:var(--spacing)}.top-\\(--popover-top\\){top:var(--popover-top)}.top-0{top:calc(var(--spacing) * 0)}.top-1\\/2{top:50%}.top-\\[2px\\]{top:2px}.top-\\[7px\\]{top:7px}.top-auto{top:auto}.top-full{top:100%}.right-0{right:calc(var(--spacing) * 0)}.right-1{right:calc(var(--spacing) * 1)}.right-5{right:calc(var(--spacing) * 5)}.right-\\[7px\\]{right:7px}.right-full{right:100%}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-1{bottom:calc(var(--spacing) * 1)}.bottom-5{bottom:calc(var(--spacing) * 5)}.left-\\(--popover-left\\){left:var(--popover-left)}.left-0{left:calc(var(--spacing) * 0)}.left-2\\.5{left:calc(var(--spacing) * 2.5)}.left-5{left:calc(var(--spacing) * 5)}.left-auto{left:auto}.z-0{z-index:0}.z-1{z-index:1}.z-2{z-index:2}.z-3{z-index:3}.z-4{z-index:4}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-10000{z-index:10000}.z-overlay{z-index:var(--z-index-overlay)}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.blok-settings-button{margin:calc(var(--spacing) * 0);min-height:var(--spacing-toolbox-btn);min-width:var(--spacing-toolbox-btn);cursor:pointer;border-style:var(--tw-border-style);vertical-align:bottom;color:inherit;--tw-outline-style:none;background-color:transparent;border-width:0;border-radius:3px;outline-style:none;justify-content:center;align-items:center;display:inline-flex}@media (forced-colors:active){.blok-settings-button{outline-offset:2px;outline:2px solid transparent}}@media (max-width:650px){.blok-settings-button{height:var(--spacing-toolbox-btn-mobile);width:var(--spacing-toolbox-btn-mobile);border-radius:var(--radius-lg)}}@media (hover:hover){@media (hover:hover){.blok-settings-button:hover{background-color:var(--blok-bg-light)}}}.blok-settings-button svg{width:auto;height:auto}@media (max-width:650px){.blok-settings-button svg{height:var(--spacing-icon-mobile);width:var(--spacing-icon-mobile)}}.-m-px{margin:-1px}.m-0{margin:calc(var(--spacing) * 0)}.m-0\\!{margin:calc(var(--spacing) * 0)!important}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-block:calc(var(--spacing) * 1)}.my-2{margin-block:calc(var(--spacing) * 2)}.my-2\\.5{margin-block:calc(var(--spacing) * 2.5)}.my-4{margin-block:calc(var(--spacing) * 4)}.blok-button{cursor:pointer;border-style:var(--tw-border-style);border-width:1px;border-color:var(--blok-line-gray);background-color:var(--color-white);text-align:center;color:var(--blok-gray-text);--tw-shadow:0 2px 2px 0 var(--tw-shadow-color,rgba(18,30,57,.04));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);border-radius:3px;padding:13px;font-size:14.9px}@media (hover:hover){.blok-button:hover{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,rgba(18,30,57,.08));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);background-color:#fbfcfe}}.blok-button svg{margin-top:calc(var(--spacing) * -.5);height:calc(var(--spacing) * 5);margin-right:.2em}.-mt-\\[5px\\]{margin-top:-5px}.mt-0\\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-1\\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-\\[-5px\\]{margin-top:-5px}.mt-\\[0\\.3em\\]{margin-top:.3em}.mt-\\[2px\\]{margin-top:2px}.mt-\\[3px\\]{margin-top:3px}.mt-\\[5px\\]{margin-top:5px}.mt-\\[15px\\]{margin-top:15px}.mt-\\[26px\\]{margin-top:26px}.mt-\\[30px\\]{margin-top:30px}.mt-\\[50px\\]{margin-top:50px}.mt-px{margin-top:1px}.mr-0\\!{margin-right:calc(var(--spacing) * 0)!important}.mr-2{margin-right:calc(var(--spacing) * 2)}.mr-2\\!{margin-right:calc(var(--spacing) * 2)!important}.mr-3{margin-right:calc(var(--spacing) * 3)}.mr-6{margin-right:calc(var(--spacing) * 6)}.mr-auto{margin-right:auto}.mb-0\\!{margin-bottom:calc(var(--spacing) * 0)!important}.mb-0\\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1\\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-7{margin-bottom:calc(var(--spacing) * 7)}.mb-\\[0\\.3em\\]{margin-bottom:.3em}.mb-px{margin-bottom:1px}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-3\\.5{margin-left:calc(var(--spacing) * 3.5)}.ml-auto{margin-left:auto}.box-border{box-sizing:border-box}.blok-inline-tool-button{height:100%;width:calc(var(--spacing) * 7);cursor:pointer;border-style:var(--tw-border-style);padding:calc(var(--spacing) * 0);--tw-leading:var(--leading-normal);line-height:var(--leading-normal);color:var(--color-black);background-color:transparent;border-width:0;border-radius:.25rem;justify-content:center;align-items:center;display:flex}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.table-cell{display:table-cell}.table-row{display:table-row}.aspect-square{aspect-ratio:1}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-9{height:calc(var(--spacing) * 9)}.h-\\[2px\\]{height:2px}.h-\\[14px\\]{height:14px}.h-\\[18px\\]{height:18px}.h-\\[26px\\]{height:26px}.h-\\[28px\\]{height:28px}.h-\\[32px\\]{height:32px}.h-\\[34px\\]{height:34px}.h-\\[36px\\]{height:36px}.h-\\[38px\\]{height:38px}.h-\\[50px\\]{height:50px}.h-auto{height:auto}.h-fit{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content}.h-full{height:100%}.h-px{height:1px}.h-toolbox-btn{height:var(--spacing-toolbox-btn)}.max-h-\\(--max-height\\){max-height:var(--max-height)}.max-h-0{max-height:calc(var(--spacing) * 0)}.max-h-0\\!{max-height:calc(var(--spacing) * 0)!important}.max-h-5{max-height:calc(var(--spacing) * 5)}.max-h-9{max-height:calc(var(--spacing) * 9)}.max-h-\\[260px\\]{max-height:260px}.max-h-\\[300px\\]{max-height:300px}.max-h-none{max-height:none}.min-h-\\[1\\.5em\\]{min-height:1.5em}.min-h-\\[2em\\]{min-height:2em}.w-\\(--width\\){width:var(--width)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-9{width:calc(var(--spacing) * 9)}.w-12{width:calc(var(--spacing) * 12)}.w-\\[14px\\]{width:14px}.w-\\[22px\\]{width:22px}.w-\\[26px\\]{width:26px}.w-\\[28px\\]{width:28px}.w-\\[30px\\]{width:30px}.w-\\[32px\\]{width:32px}.w-\\[34px\\]{width:34px}.w-\\[200px\\]{width:200px}.w-\\[230px\\]{width:230px}.w-\\[240px\\]{width:240px}.w-\\[280px\\]{width:280px}.w-\\[400px\\]{width:400px}.w-auto{width:auto}.w-full{width:100%}.w-max{width:-webkit-max-content;width:-moz-max-content;width:max-content}.w-px{width:1px}.w-toolbox-btn{width:var(--spacing-toolbox-btn)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-\\[130px\\]{max-width:130px}.max-w-none{max-width:none}.min-w-\\(--width\\){min-width:var(--width)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\\[calc\\(100\\%-\\(--spacing\\(6\\)\\)-10px\\)\\]{min-width:calc(100% - (calc(var(--spacing) * 6)) - 10px)}.min-w-\\[calc\\(100\\%-var\\(--offset\\)\\*2\\)\\]{min-width:calc(100% - var(--offset) * 2)}.min-w-max{min-width:-webkit-max-content;min-width:-moz-max-content;min-width:max-content}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.translate-x-full{--tw-translate-x:100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-90{rotate:90deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-\\[blok-emoji-empty-in_300ms_ease-out_both\\]{animation:.3s ease-out both blok-emoji-empty-in}.animate-notify-progress{animation:var(--animate-notify-progress)}.animate-notify-slide-in{animation:var(--animate-notify-slide-in)}.animate-notify-slide-out{animation:var(--animate-notify-slide-out)}.blok-settings-button--focused-animated{animation:var(--animate-button-clicked)}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-pointer{cursor:pointer}.cursor-row-resize{cursor:row-resize}.cursor-text{cursor:text}.resize{resize:both}.appearance-none{-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none}.grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.grid-cols-\\[auto_1fr\\]{grid-template-columns:auto 1fr}.grid-rows-\\[auto\\]{grid-template-rows:auto}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-nowrap{flex-wrap:nowrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-start{justify-content:flex-start}.gap-0\\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.overscroll-contain{overscroll-behavior:contain}.rounded{border-radius:.25rem}.rounded-\\[3px\\]{border-radius:3px}.rounded-\\[4px\\]{border-radius:4px}.rounded-\\[5px\\]{border-radius:5px}.rounded-\\[6px\\]{border-radius:6px}.rounded-\\[7px\\]{border-radius:7px}.rounded-\\[10px\\]{border-radius:10px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-lg\\!{border-radius:var(--radius-lg)!important}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-b-\\[6px\\]{border-bottom-right-radius:6px;border-bottom-left-radius:6px}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r-0{border-right-style:var(--tw-border-style);border-right-width:0}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-0{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-0{border-left-style:var(--tw-border-style);border-left-width:0}.border-l-\\[3px\\]{border-left-style:var(--tw-border-style);border-left-width:3px}.border-none{--tw-border-style:none;border-style:none}.border-\\[\\#e8e8eb\\]{border-color:#e8e8eb}.border-\\[\\#f0f0f0\\]{border-color:#f0f0f0}.border-current{border-color:currentColor}.border-gray-300{border-color:var(--color-gray-300)}.border-line-gray{border-color:var(--blok-line-gray)}.border-link-input-border{border-color:var(--blok-link-input-border)}.border-neutral-100{border-color:var(--color-neutral-100)}.border-neutral-200\\/70{border-color:rgba(229,229,229,.7)}@supports (color:color-mix(in lab, red, red)){.border-neutral-200\\/70{border-color:color-mix(in oklab, var(--color-neutral-200) 70%, transparent)}}.border-search-input-border{border-color:var(--blok-search-input-border)}.border-transparent{border-color:transparent}.blok-inline-tool-button--active{background-color:var(--blok-icon-active-bg);color:var(--blok-icon-active-text)}.blok-settings-button--focused{background-color:var(--blok-item-focus-bg);--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,rgba(7,161,227,.08));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.bg-\\[\\#34c992\\]{background-color:#34c992}.bg-\\[\\#41ffb1\\]{background-color:#41ffb1}.bg-\\[\\#d1d5db\\]{background-color:#d1d5db}.bg-\\[\\#f2f5f7\\]{background-color:#f2f5f7}.bg-\\[\\#f7f7f7\\]{background-color:#f7f7f7}.bg-\\[\\#fafffe\\]\\!{background-color:#fafffe!important}.bg-\\[\\#fb5d5d\\]{background-color:#fb5d5d}.bg-\\[\\#fffbfb\\]\\!{background-color:#fffbfb!important}.bg-bg-light{background-color:var(--blok-bg-light)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-dark{background-color:var(--blok-dark)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-gray-300{background-color:var(--color-gray-300)}.bg-item-confirm-bg\\!{background-color:var(--blok-item-confirm-bg)!important}.bg-item-focus-bg\\!{background-color:var(--blok-item-focus-bg)!important}.bg-item-hover-bg{background-color:var(--blok-item-hover-bg)}.bg-link-input-border{background-color:var(--blok-link-input-border)}.bg-neutral-100{background-color:var(--color-neutral-100)}.bg-popover-bg{background-color:var(--blok-popover-bg)}.bg-popover-border\\/60{background-color:var(--blok-popover-border)}@supports (color:color-mix(in lab, red, red)){.bg-popover-border\\/60{background-color:color-mix(in oklab, var(--blok-popover-border) 60%, transparent)}}.bg-popover-icon-bg{background-color:var(--blok-popover-icon-bg)}.bg-search-input-bg{background-color:var(--blok-search-input-bg)}.bg-selection{background-color:var(--blok-selection)}.bg-selection-highlight{background-color:var(--blok-selection-highlight)}.bg-tooltip-bg{background-color:var(--blok-tooltip-bg)}.bg-transparent{background-color:transparent}.bg-white{background-color:var(--color-white)}.bg-white\\/80{background-color:rgba(255,255,255,.8)}@supports (color:color-mix(in lab, red, red)){.bg-white\\/80{background-color:color-mix(in oklab, var(--color-white) 80%, transparent)}}.bg-linear-to-l{--tw-gradient-position:to left}@supports (background-image:linear-gradient(in lab, red, red)){.bg-linear-to-l{--tw-gradient-position:to left in oklab}}.bg-linear-to-l{background-image:linear-gradient(var(--tw-gradient-stops))}.bg-linear-to-r{--tw-gradient-position:to right}@supports (background-image:linear-gradient(in lab, red, red)){.bg-linear-to-r{--tw-gradient-position:to right in oklab}}.bg-linear-to-r{background-image:linear-gradient(var(--tw-gradient-stops))}.from-white\\/80{--tw-gradient-from:rgba(255,255,255,.8)}@supports (color:color-mix(in lab, red, red)){.from-white\\/80{--tw-gradient-from:color-mix(in oklab, var(--color-white) 80%, transparent)}}.from-white\\/80{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.p-\\(--item-padding\\){padding:var(--item-padding)}.p-0{padding:calc(var(--spacing) * 0)}.p-1{padding:calc(var(--spacing) * 1)}.p-1\\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-\\[3px\\]{padding:3px}.p-\\[8px\\]{padding:8px}.p-\\[16px\\]{padding:16px}.blok-block{padding-top:7px;padding-bottom:7px;padding-left:2px;padding-right:2px}.blok-block::-webkit-input-placeholder{--tw-leading:var(--leading-normal)!important;line-height:var(--leading-normal)!important}.px-0{padding-inline:calc(var(--spacing) * 0)}.px-0\\.5{padding-inline:calc(var(--spacing) * .5)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-\\[2px\\]{padding-left:2px;padding-right:2px}.px-\\[3px\\]{padding-left:3px;padding-right:3px}.px-\\[5px\\]{padding-left:5px;padding-right:5px}.px-\\[18px\\]{padding-left:18px;padding-right:18px}.px-\\[30px\\]{padding-left:30px;padding-right:30px}.py-0{padding-block:calc(var(--spacing) * 0)}.py-0\\!{padding-block:calc(var(--spacing) * 0)!important}.py-0\\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-\\[0\\.2em\\]{padding-top:.2em;padding-bottom:.2em}.py-\\[5px\\]{padding-top:5px;padding-bottom:5px}.py-\\[7px\\]{padding-top:7px;padding-bottom:7px}.py-\\[13px\\]{padding-top:13px;padding-bottom:13px}.pt-1{padding-top:calc(var(--spacing) * 1)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-2\\.5{padding-top:calc(var(--spacing) * 2.5)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-\\[8px\\]{padding-top:8px}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-5{padding-right:calc(var(--spacing) * 5)}.pr-\\[0\\.9em\\]{padding-right:.9em}.pr-\\[5px\\]{padding-right:5px}.pb-1{padding-bottom:calc(var(--spacing) * 1)}.pb-1\\.5{padding-bottom:calc(var(--spacing) * 1.5)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-\\[8px\\]{padding-bottom:8px}.pl-0\\.5{padding-left:calc(var(--spacing) * .5)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-7{padding-left:calc(var(--spacing) * 7)}.pl-8{padding-left:calc(var(--spacing) * 8)}.pl-20{padding-left:calc(var(--spacing) * 20)}.pl-\\[0\\.9em\\]{padding-left:.9em}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-start:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){text-align:left}.text-start:not(:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){text-align:left}.text-start:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){text-align:left}.text-start:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){text-align:right}.text-start:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){text-align:right}.text-start:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){text-align:right}.font-\\[-apple-system\\,BlinkMacSystemFont\\,\\\"Segoe_UI\\\"\\,\\\"Roboto\\\"\\,\\\"Oxygen\\\"\\,\\\"Ubuntu\\\"\\,\\\"Cantarell\\\"\\,\\\"Fira_Sans\\\"\\,\\\"Droid_Sans\\\"\\,\\\"Helvetica_Neue\\\"\\,sans-serif\\]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.font-\\[inherit\\]{font-family:inherit}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\\[1\\.2em\\]{font-size:1.2em}.text-\\[1\\.2rem\\]{font-size:1.2rem}.text-\\[1\\.5rem\\]{font-size:1.5rem}.text-\\[1\\.25rem\\]{font-size:1.25rem}.text-\\[9px\\]{font-size:9px}.text-\\[10\\.5px\\]{font-size:10.5px}.text-\\[10px\\]{font-size:10px}.text-\\[11px\\]{font-size:11px}.text-\\[13px\\]{font-size:13px}.text-\\[14px\\]{font-size:14px}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-\\[1\\.3\\]\\!{--tw-leading:1.3!important;line-height:1.3!important}.leading-\\[1\\.4em\\]{--tw-leading:1.4em;line-height:1.4em}.leading-\\[1\\.5\\]{--tw-leading:1.5;line-height:1.5}.leading-\\[1\\]{--tw-leading:1;line-height:1}.leading-\\[1em\\]{--tw-leading:1em;line-height:1em}.leading-\\[1px\\]{--tw-leading:1px;line-height:1px}.leading-\\[22px\\]{--tw-leading:22px;line-height:22px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\\[0\\.02em\\]{--tw-tracking:.02em;letter-spacing:.02em}.tracking-\\[0\\.12em\\]{--tw-tracking:.12em;letter-spacing:.12em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.wrap-break-word{overflow-wrap:break-word}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.blok-settings-button--active{color:var(--blok-active-icon)}.text-\\[\\#9ca3af\\]{color:#9ca3af}.text-\\[\\#34c992\\]{color:#34c992}.text-\\[\\#656b7c\\]{color:#656b7c}.text-\\[\\#666\\]{color:#666}.text-\\[\\#999\\]{color:#999}.text-\\[\\#bbb\\]{color:#bbb}.text-\\[\\#fb5d5d\\]{color:#fb5d5d}.text-black{color:var(--color-black)}.text-blue-500{color:var(--color-blue-500)}.text-dark{color:var(--blok-dark)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-text,.text-gray-text\\/50{color:var(--blok-gray-text)}@supports (color:color-mix(in lab, red, red)){.text-gray-text\\/50{color:color-mix(in oklab, var(--blok-gray-text) 50%, transparent)}}.text-inherit{color:inherit}.text-neutral-400{color:var(--color-neutral-400)}.text-neutral-400\\/80{color:rgba(161,161,161,.8)}@supports (color:color-mix(in lab, red, red)){.text-neutral-400\\/80{color:color-mix(in oklab, var(--color-neutral-400) 80%, transparent)}}.text-neutral-500{color:var(--color-neutral-500)}.text-neutral-700{color:var(--color-neutral-700)}.text-neutral-800{color:var(--color-neutral-800)}.text-red-500{color:var(--color-red-500)}.text-text-primary,.text-text-primary\\/60{color:var(--blok-text-primary)}@supports (color:color-mix(in lab, red, red)){.text-text-primary\\/60{color:color-mix(in oklab, var(--blok-text-primary) 60%, transparent)}}.text-text-secondary,.text-text-secondary\\/60{color:var(--blok-text-secondary)}@supports (color:color-mix(in lab, red, red)){.text-text-secondary\\/60{color:color-mix(in oklab, var(--blok-text-secondary) 60%, transparent)}}.text-tooltip-font{color:var(--blok-tooltip-font)}.text-white{color:var(--color-white)}.text-white\\!{color:var(--color-white)!important}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.line-through{-webkit-text-decoration-line:line-through;text-decoration-line:line-through}.underline{-webkit-text-decoration-line:underline;text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.accent-current{accent-color:currentColor}.opacity-0{opacity:0}.opacity-20{opacity:.2}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-80{opacity:.8}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,rgba(0,0,0,.1)), 0 1px 2px -1px var(--tw-shadow-color,rgba(0,0,0,.1));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,rgba(0,0,0,.25));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\\[0_1px_1px_0_rgba\\(18\\,49\\,35\\,0\\.05\\)\\]{--tw-shadow:0 1px 1px 0 var(--tw-shadow-color,rgba(18,49,35,.05));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\\[0_2px_1px_0_rgba\\(16\\,19\\,29\\,0\\)\\]{--tw-shadow:0 2px 1px 0 var(--tw-shadow-color,rgba(16,19,29,0));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,rgba(0,0,0,.1)), 0 4px 6px -4px var(--tw-shadow-color,rgba(0,0,0,.1));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 transparent;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-notify{--tw-shadow:0 11px 17px 0 var(--tw-shadow-color,rgba(23,32,61,.13));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,rgba(0,0,0,.1)), 0 1px 2px -1px var(--tw-shadow-color,rgba(0,0,0,.1));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-tooltip{--tw-shadow:0 8px 12px 0 var(--tw-shadow-color,rgba(29,32,43,.17)), 0 4px 5px -3px var(--tw-shadow-color,rgba(5,6,12,.49));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,rgba(0,0,0,.1)), 0 8px 10px -6px var(--tw-shadow-color,rgba(0,0,0,.1));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-neutral-300\\/60{--tw-ring-color:rgba(212,212,212,.6)}@supports (color:color-mix(in lab, red, red)){.ring-neutral-300\\/60{--tw-ring-color:color-mix(in oklab, var(--color-neutral-300) 60%, transparent)}}.ring-swatch-ring-hover{--tw-ring-color:var(--blok-swatch-ring-hover)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid transparent}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.blur-sm{--tw-blur:blur(var(--blur-sm));filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.sepia{--tw-sepia:sepia(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,-webkit-text-decoration-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[box-shadow\\,transform\\]{transition-property:box-shadow,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[left\\]{transition-property:left;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[margin\\]{transition-property:margin;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[opacity\\,background-color\\,width\\,height\\]{transition-property:opacity,background-color,width,height;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[opacity\\,background-color\\,width\\]{transition-property:opacity,background-color,width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,-webkit-text-decoration-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-none{transition-property:none}.duration-75{--tw-duration:75ms;transition-duration:75ms}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-250{--tw-duration:.25s;transition-duration:.25s}.duration-\\[180ms\\]{--tw-duration:.18s;transition-duration:.18s}.duration-\\[220ms\\]{--tw-duration:.22s;transition-duration:.22s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-linear{--tw-ease:linear;transition-timing-function:linear}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.\\[transition-timing-function\\:cubic-bezier\\(0\\.34\\,1\\.56\\,0\\.64\\,1\\)\\]{transition-timing-function:cubic-bezier(.34,1.56,.64,1)}.will-change-\\[opacity\\,left\\,top\\]{will-change:opacity,left,top}.will-change-\\[opacity\\,top\\]{will-change:opacity,top}.outline-solid{--tw-outline-style:solid;outline-style:solid}.select-all{-webkit-user-select:all;-moz-user-select:all;-ms-user-select:all;user-select:all}.select-none{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.\\[clip\\:rect\\(0\\,0\\,0\\,0\\)\\]{clip:rect(0,0,0,0)}.\\[direction\\:rtl\\]{direction:rtl}.block-1{height:calc(var(--spacing) * 1)}.block-2{height:calc(var(--spacing) * 2)}.block-3{height:calc(var(--spacing) * 3)}.ring-inset{--tw-ring-inset:inset}@media (hover:hover){.group-hover\\:text-\\[\\#666\\]:is(:where(.group):hover *){color:#666}.group-hover\\/add\\:bg-gray-50:is(:where(.group\\/add):hover *){background-color:var(--color-gray-50)}}.group-data-\\[blok-block-settings-opened\\=true\\]\\:bg-bg-light:is(:where(.group)[data-blok-block-settings-opened=true] *){background-color:var(--blok-bg-light)}.group-data-\\[blok-dragging\\=true\\]\\:pointer-events-none:is(:where(.group)[data-blok-dragging=true] *){pointer-events:none}.group-data-\\[blok-dragging\\=true\\]\\:cursor-grabbing:is(:where(.group)[data-blok-dragging=true] *){cursor:grabbing}.group-data-\\[blok-rtl\\=true\\]\\:right-\\[calc\\(-1\\*\\(var\\(--spacing-toolbox-btn\\)\\)\\)\\]:is(:where(.group)[data-blok-rtl=true] *){right:calc(-1 * (var(--spacing-toolbox-btn)))}.group-data-\\[blok-rtl\\=true\\]\\:right-auto:is(:where(.group)[data-blok-rtl=true] *){right:auto}.group-data-\\[blok-rtl\\=true\\]\\:left-\\[calc\\(-1\\*\\(var\\(--spacing-toolbox-btn\\)\\)\\)\\]:is(:where(.group)[data-blok-rtl=true] *){left:calc(-1 * (var(--spacing-toolbox-btn)))}.group-data-\\[blok-rtl\\=true\\]\\:left-auto:is(:where(.group)[data-blok-rtl=true] *){left:auto}.group-data-\\[blok-toolbox-opened\\=true\\]\\:bg-bg-light:is(:where(.group)[data-blok-toolbox-opened=true] *){background-color:var(--blok-bg-light)}.placeholder\\:font-normal::-ms-input-placeholder{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.placeholder\\:font-normal::placeholder{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.placeholder\\:text-\\[\\#656b7c\\]::-ms-input-placeholder{color:#656b7c}.placeholder\\:text-\\[\\#656b7c\\]::placeholder{color:#656b7c}.placeholder\\:text-gray-text::-ms-input-placeholder{color:var(--blok-gray-text)}.placeholder\\:text-gray-text::placeholder{color:var(--blok-gray-text)}.placeholder\\:text-gray-text\\/80::-ms-input-placeholder{color:var(--blok-gray-text)}.placeholder\\:text-gray-text\\/80::placeholder{color:var(--blok-gray-text)}@supports (color:color-mix(in lab, red, red)){.placeholder\\:text-gray-text\\/80::-ms-input-placeholder{color:color-mix(in oklab, var(--blok-gray-text) 80%, transparent)}.placeholder\\:text-gray-text\\/80::placeholder{color:color-mix(in oklab, var(--blok-gray-text) 80%, transparent)}}.placeholder\\:text-neutral-400::-ms-input-placeholder{color:var(--color-neutral-400)}.placeholder\\:text-neutral-400::placeholder{color:var(--color-neutral-400)}.before\\:absolute:before{content:var(--tw-content);position:absolute}.before\\:inset-0:before{content:var(--tw-content);inset:calc(var(--spacing) * 0)}.before\\:top-0:before{content:var(--tw-content);top:calc(var(--spacing) * 0)}.before\\:left-0:before{content:var(--tw-content);left:calc(var(--spacing) * 0)}.before\\:-z-10:before{content:var(--tw-content);z-index:calc(10 * -1)}.before\\:m-\\[3px\\]:before{content:var(--tw-content);margin:3px}.before\\:block:before{content:var(--tw-content);display:block}.before\\:h-\\[calc\\(100\\%-6px\\)\\]:before{content:var(--tw-content);height:calc(100% - 6px)}.before\\:w-\\[3px\\]:before{content:var(--tw-content);width:3px}.before\\:rounded-\\[5px\\]:before{content:var(--tw-content);border-radius:5px}.before\\:rounded-lg:before{content:var(--tw-content);border-radius:var(--radius-lg)}.before\\:bg-\\[\\#41ffb1\\]\\!:before{content:var(--tw-content);background-color:#41ffb1!important}.before\\:bg-\\[\\#fb5d5d\\]\\!:before{content:var(--tw-content);background-color:#fb5d5d!important}.before\\:bg-tooltip-bg:before{content:var(--tw-content);background-color:var(--blok-tooltip-bg)}.before\\:bg-transparent:before{content:var(--tw-content);background-color:transparent}.before\\:content-\\[\\\"\\\"\\]:before{--tw-content:\"\";content:var(--tw-content)}.before\\:content-\\[\\\\\\'\\\\\\'\\]:before{--tw-content:\\'\\';content:var(--tw-content)}.after\\:pointer-events-none:after{content:var(--tw-content);pointer-events:none}.after\\:absolute:after{content:var(--tw-content);position:absolute}.after\\:right-0:after{content:var(--tw-content);right:calc(var(--spacing) * 0)}.after\\:-bottom-10:after{content:var(--tw-content);bottom:calc(var(--spacing) * -10)}.after\\:left-0:after{content:var(--tw-content);left:calc(var(--spacing) * 0)}.after\\:h-10:after{content:var(--tw-content);height:calc(var(--spacing) * 10)}.after\\:content-\\[\\\"\\\"\\]:after{--tw-content:\"\";content:var(--tw-content)}.first\\:mt-0:first-child{margin-top:calc(var(--spacing) * 0)}.last\\:mb-0:last-child{margin-bottom:calc(var(--spacing) * 0)}.last\\:ml-2\\.5:last-child{margin-left:calc(var(--spacing) * 2.5)}.last\\:pb-0:last-child{padding-bottom:calc(var(--spacing) * 0)}.empty\\:before\\:pointer-events-none:empty:before{content:var(--tw-content);pointer-events:none}.empty\\:before\\:cursor-text:empty:before{content:var(--tw-content);cursor:text}.empty\\:before\\:text-gray-text:empty:before{content:var(--tw-content);color:var(--blok-gray-text)}.empty\\:before\\:content-\\[attr\\(data-blok-placeholder\\)\\]:empty:before{--tw-content:attr(data-blok-placeholder);content:var(--tw-content)}.empty\\:before\\:content-\\[attr\\(data-blok-placeholder-active\\)\\]:empty:before{--tw-content:attr(data-blok-placeholder-active);content:var(--tw-content)}.empty\\:before\\:content-\\[attr\\(data-placeholder\\)\\]:empty:before{--tw-content:attr(data-placeholder);content:var(--tw-content)}.focus-within\\:border-search-input-focus-border:focus-within{border-color:var(--blok-search-input-focus-border)}.focus-within\\:shadow-\\[0_0_0_2px_rgba\\(35\\,131\\,226\\,0\\.15\\)\\]:focus-within{--tw-shadow:0 0 0 2px var(--tw-shadow-color,rgba(35,131,226,.15));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}@media (hover:hover){.hover\\:scale-110:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\\:border-\\[\\#ccc\\]:hover{border-color:#ccc}.hover\\:bg-\\[\\#2db583\\]:hover{background-color:#2db583}.hover\\:bg-\\[\\#e9ecee\\]:hover{background-color:#e9ecee}.hover\\:bg-\\[\\#f7f7f8\\]:hover{background-color:#f7f7f8}.hover\\:bg-neutral-100:hover{background-color:var(--color-neutral-100)}.hover\\:text-\\[\\#333\\]:hover{color:#333}.hover\\:text-neutral-600:hover{color:var(--color-neutral-600)}.hover\\:opacity-100:hover{opacity:1}.hover\\:ring-2:hover{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\\:ring-swatch-ring-hover:hover{--tw-ring-color:var(--blok-swatch-ring-hover)}}.focus\\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\\:ring-neutral-300\\/60:focus{--tw-ring-color:rgba(212,212,212,.6)}@supports (color:color-mix(in lab, red, red)){.focus\\:ring-neutral-300\\/60:focus{--tw-ring-color:color-mix(in oklab, var(--color-neutral-300) 60%, transparent)}}.focus\\:placeholder\\:text-\\[rgba\\(101\\,107\\,124\\,0\\.3\\)\\]:focus::-ms-input-placeholder{color:rgba(101,107,124,.3)}.focus\\:placeholder\\:text-\\[rgba\\(101\\,107\\,124\\,0\\.3\\)\\]:focus::placeholder{color:rgba(101,107,124,.3)}.empty\\:focus\\:before\\:pointer-events-none:empty:focus:before{content:var(--tw-content);pointer-events:none}.empty\\:focus\\:before\\:cursor-text:empty:focus:before{content:var(--tw-content);cursor:text}.empty\\:focus\\:before\\:text-gray-text:empty:focus:before{content:var(--tw-content);color:var(--blok-gray-text)}.empty\\:focus\\:before\\:content-\\[attr\\(data-blok-placeholder-active\\)\\]:empty:focus:before{--tw-content:attr(data-blok-placeholder-active);content:var(--tw-content)}.focus-visible\\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\\:ring-blue-500:focus-visible{--tw-ring-color:var(--color-blue-500)}.focus-visible\\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\\:scale-90:active{--tw-scale-x:90%;--tw-scale-y:90%;--tw-scale-z:90%;scale:var(--tw-scale-x) var(--tw-scale-y)}.active\\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.active\\:cursor-grabbing:active{cursor:grabbing}:where([data-blok-empty=true]) .empty\\:in-data-\\[blok-empty\\=true\\]\\:before\\:pointer-events-none:empty:before{content:var(--tw-content);pointer-events:none}:where([data-blok-empty=true]) .empty\\:in-data-\\[blok-empty\\=true\\]\\:before\\:cursor-text:empty:before{content:var(--tw-content);cursor:text}:where([data-blok-empty=true]) .empty\\:in-data-\\[blok-empty\\=true\\]\\:before\\:text-gray-text:empty:before{content:var(--tw-content);color:var(--blok-gray-text)}:where([data-blok-empty=true]) .empty\\:in-data-\\[blok-empty\\=true\\]\\:before\\:content-\\[attr\\(data-blok-placeholder-active\\)\\]:empty:before{--tw-content:attr(data-blok-placeholder-active);content:var(--tw-content)}.data-blok-force-hover\\:cursor-pointer[data-blok-force-hover]{cursor:pointer}.data-blok-force-hover\\:bg-item-hover-bg[data-blok-force-hover]{background-color:var(--blok-item-hover-bg)}.data-blok-popover-item-active\\:bg-icon-active-bg[data-blok-popover-item-active]{background-color:var(--blok-icon-active-bg)}.data-blok-popover-item-active\\:text-icon-active-text[data-blok-popover-item-active]{color:var(--blok-icon-active-text)}.data-blok-popover-item-no-hover\\:cursor-default[data-blok-popover-item-no-hover]{cursor:default}@media (hover:hover){.data-blok-popover-item-no-hover\\:hover\\:bg-transparent[data-blok-popover-item-no-hover]:hover{background-color:transparent}}.data-\\[blok-dragging\\=true\\]\\:cursor-grabbing[data-blok-dragging=true]{cursor:grabbing}.data-\\[blok-empty\\=true\\]\\:before\\:pointer-events-none[data-blok-empty=true]:before{content:var(--tw-content);pointer-events:none}.data-\\[blok-empty\\=true\\]\\:before\\:cursor-text[data-blok-empty=true]:before{content:var(--tw-content);cursor:text}.data-\\[blok-empty\\=true\\]\\:before\\:text-gray-text[data-blok-empty=true]:before{content:var(--tw-content);color:var(--blok-gray-text)}.data-\\[blok-empty\\=true\\]\\:before\\:content-\\[attr\\(data-blok-placeholder\\)\\][data-blok-empty=true]:before{--tw-content:attr(data-blok-placeholder);content:var(--tw-content)}.data-\\[blok-empty\\=true\\]\\:before\\:content-\\[attr\\(data-placeholder\\)\\][data-blok-empty=true]:before{--tw-content:attr(data-placeholder);content:var(--tw-content)}.data-\\[blok-focused\\=\\\"true\\\"\\]\\:bg-item-focus-bg[data-blok-focused=true]{background-color:var(--blok-item-focus-bg)}:is(.\\*\\*\\:data-\\[blok-tool\\=stub\\]\\:opacity-55 *)[data-blok-tool=stub]{opacity:.55}.data-\\[empty\\=true\\]\\:before\\:pointer-events-none[data-empty=true]:before{content:var(--tw-content);pointer-events:none}.data-\\[empty\\=true\\]\\:before\\:cursor-text[data-empty=true]:before{content:var(--tw-content);cursor:text}.data-\\[empty\\=true\\]\\:before\\:text-gray-text[data-empty=true]:before{content:var(--tw-content);color:var(--blok-gray-text)}.data-\\[empty\\=true\\]\\:before\\:content-\\[attr\\(data-blok-placeholder-active\\)\\][data-empty=true]:before{--tw-content:attr(data-blok-placeholder-active);content:var(--tw-content)}@media not all and (min-width:48rem){.max-md\\:px-5{padding-inline:calc(var(--spacing) * 5)}}@media (max-width:650px){.mobile\\:absolute{position:absolute}.mobile\\:right-auto{right:auto}.mobile\\:z-2{z-index:2}.mobile\\:hidden{display:none}.mobile\\:h-toolbox-btn-mobile{height:var(--spacing-toolbox-btn-mobile)}.mobile\\:w-toolbox-btn-mobile{width:var(--spacing-toolbox-btn-mobile)}.mobile\\:rounded-\\[6px\\]{border-radius:6px}.mobile\\:border{border-style:var(--tw-border-style);border-width:1px}.mobile\\:border-mobile-border{border-color:var(--blok-mobile-border)}.mobile\\:bg-popover-bg{background-color:var(--blok-popover-bg)}.mobile\\:p-1{padding:calc(var(--spacing) * 1)}.mobile\\:text-\\[15px\\]{font-size:15px}.mobile\\:font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.mobile\\:shadow-overlay-pane{--tw-shadow:0 3px 15px -3px var(--tw-shadow-color,rgba(13,20,33,.13));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.mobile\\:group-data-\\[blok-rtl\\=true\\]\\:mr-auto:is(:where(.group)[data-blok-rtl=true] *){margin-right:auto}.mobile\\:group-data-\\[blok-rtl\\=true\\]\\:ml-0:is(:where(.group)[data-blok-rtl=true] *){margin-left:calc(var(--spacing) * 0)}.mobile\\:group-data-\\[blok-rtl\\=true\\]\\:pr-0:is(:where(.group)[data-blok-rtl=true] *){padding-right:calc(var(--spacing) * 0)}.mobile\\:group-data-\\[blok-rtl\\=true\\]\\:pl-\\[10px\\]:is(:where(.group)[data-blok-rtl=true] *){padding-left:10px}}@media (min-width:651px){.not-mobile\\:w-6{width:calc(var(--spacing) * 6)}.not-mobile\\:group-data-\\[blok-narrow\\=true\\]\\:ml-\\(--spacing-narrow-mode-padding\\):is(:where(.group)[data-blok-narrow=true] *){margin-left:var(--spacing-narrow-mode-padding)}.not-mobile\\:group-data-\\[blok-rtl\\=true\\]\\:group-data-\\[blok-narrow\\=true\\]\\:mr-\\(--spacing-narrow-mode-padding\\):is(:where(.group)[data-blok-rtl=true] *):is(:where(.group)[data-blok-narrow=true] *){margin-right:var(--spacing-narrow-mode-padding)}.not-mobile\\:group-data-\\[blok-rtl\\=true\\]\\:group-data-\\[blok-narrow\\=true\\]\\:ml-0:is(:where(.group)[data-blok-rtl=true] *):is(:where(.group)[data-blok-narrow=true] *){margin-left:calc(var(--spacing) * 0)}}@media (hover:hover){@media (hover:hover){.can-hover\\:hover\\:cursor-grab:hover{cursor:grab}.can-hover\\:hover\\:cursor-pointer:hover{cursor:pointer}.can-hover\\:hover\\:bg-bg-light:hover{background-color:var(--blok-bg-light)}.can-hover\\:hover\\:bg-item-hover-bg:hover{background-color:var(--blok-item-hover-bg)}.can-hover\\:hover\\:bg-neutral-100:hover{background-color:var(--color-neutral-100)}.can-hover\\:hover\\:group-data-\\[blok-block-settings-opened\\=true\\]\\:cursor-pointer:hover:is(:where(.group)[data-blok-block-settings-opened=true] *){cursor:pointer}.can-hover\\:hover\\:group-data-\\[blok-toolbox-opened\\=true\\]\\:cursor-pointer:hover:is(:where(.group)[data-blok-toolbox-opened=true] *){cursor:pointer}.can-hover\\:data-blok-popover-item-destructive\\:hover\\:bg-item-destructive-hover-bg[data-blok-popover-item-destructive]:hover{background-color:var(--blok-item-destructive-hover-bg)}.can-hover\\:data-blok-popover-item-destructive\\:hover\\:text-item-destructive-text[data-blok-popover-item-destructive]:hover{color:var(--blok-item-destructive-text)}}}.theme-dark\\:border-neutral-700\\/50:where([data-theme=dark],[data-theme=dark] *){border-color:rgba(64,64,64,.5)}@supports (color:color-mix(in lab, red, red)){.theme-dark\\:border-neutral-700\\/50:where([data-theme=dark],[data-theme=dark] *){border-color:color-mix(in oklab, var(--color-neutral-700) 50%, transparent)}}.theme-dark\\:border-neutral-800:where([data-theme=dark],[data-theme=dark] *){border-color:var(--color-neutral-800)}.theme-dark\\:bg-neutral-700:where([data-theme=dark],[data-theme=dark] *){background-color:var(--color-neutral-700)}.theme-dark\\:bg-neutral-800:where([data-theme=dark],[data-theme=dark] *){background-color:var(--color-neutral-800)}.theme-dark\\:bg-neutral-900:where([data-theme=dark],[data-theme=dark] *){background-color:var(--color-neutral-900)}.theme-dark\\:text-neutral-200:where([data-theme=dark],[data-theme=dark] *){color:var(--color-neutral-200)}.theme-dark\\:text-neutral-300:where([data-theme=dark],[data-theme=dark] *){color:var(--color-neutral-300)}.theme-dark\\:text-neutral-400:where([data-theme=dark],[data-theme=dark] *){color:var(--color-neutral-400)}.theme-dark\\:text-neutral-500:where([data-theme=dark],[data-theme=dark] *){color:var(--color-neutral-500)}.theme-dark\\:text-neutral-500\\/80:where([data-theme=dark],[data-theme=dark] *){color:rgba(115,115,115,.8)}@supports (color:color-mix(in lab, red, red)){.theme-dark\\:text-neutral-500\\/80:where([data-theme=dark],[data-theme=dark] *){color:color-mix(in oklab, var(--color-neutral-500) 80%, transparent)}}.theme-dark\\:ring-neutral-600\\/60:where([data-theme=dark],[data-theme=dark] *){--tw-ring-color:rgba(82,82,82,.6)}@supports (color:color-mix(in lab, red, red)){.theme-dark\\:ring-neutral-600\\/60:where([data-theme=dark],[data-theme=dark] *){--tw-ring-color:color-mix(in oklab, var(--color-neutral-600) 60%, transparent)}}.theme-dark\\:placeholder\\:text-neutral-500:where([data-theme=dark],[data-theme=dark] *)::-ms-input-placeholder{color:var(--color-neutral-500)}.theme-dark\\:placeholder\\:text-neutral-500:where([data-theme=dark],[data-theme=dark] *)::placeholder{color:var(--color-neutral-500)}@media (hover:hover){.theme-dark\\:hover\\:bg-neutral-700:where([data-theme=dark],[data-theme=dark] *):hover{background-color:var(--color-neutral-700)}.theme-dark\\:hover\\:bg-neutral-800:where([data-theme=dark],[data-theme=dark] *):hover{background-color:var(--color-neutral-800)}.theme-dark\\:hover\\:text-neutral-300:where([data-theme=dark],[data-theme=dark] *):hover{color:var(--color-neutral-300)}}.theme-dark\\:focus\\:ring-neutral-600\\/60:where([data-theme=dark],[data-theme=dark] *):focus{--tw-ring-color:rgba(82,82,82,.6)}@supports (color:color-mix(in lab, red, red)){.theme-dark\\:focus\\:ring-neutral-600\\/60:where([data-theme=dark],[data-theme=dark] *):focus{--tw-ring-color:color-mix(in oklab, var(--color-neutral-600) 60%, transparent)}}@media (hover:hover){@media (hover:hover){.theme-dark\\:can-hover\\:hover\\:bg-neutral-800:where([data-theme=dark],[data-theme=dark] *):hover{background-color:var(--color-neutral-800)}}}.\\[\\&_\\:\\:selection\\]\\:bg-selection-inline ::-moz-selection{background-color:var(--blok-selection-inline)}.\\[\\&_\\:\\:selection\\]\\:bg-selection-inline ::selection{background-color:var(--blok-selection-inline)}.\\[\\&_\\[contenteditable\\]\\:empty\\]\\:after\\:content-\\[\\\"\\\\\\\\feff_\\\"\\] [contenteditable]:empty:after{--tw-content:\"\\\\feff \";content:var(--tw-content)}.\\[\\&_a\\]\\:cursor-pointer a{cursor:pointer}.\\[\\&_a\\]\\:text-link a{color:var(--blok-link)}.\\[\\&_a\\]\\:underline a{-webkit-text-decoration-line:underline;text-decoration-line:underline}.\\[\\&_b\\]\\:font-bold b{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.\\[\\&_div\\]\\:m-0\\! div{margin:calc(var(--spacing) * 0)!important}.\\[\\&_div\\]\\:p-0\\! div{padding:calc(var(--spacing) * 0)!important}.\\[\\&_i\\]\\:italic i{font-style:italic}.\\[\\&_img\\]\\:opacity-55 img{opacity:.55}.\\[\\&_p\\]\\:m-0\\! p{margin:calc(var(--spacing) * 0)!important}.\\[\\&_p\\]\\:p-0\\! p{padding:calc(var(--spacing) * 0)!important}.\\[\\&_path\\]\\:stroke-current path{stroke:currentColor}.\\[\\&_svg\\]\\:block svg{display:block}.\\[\\&_svg\\]\\:size-icon svg{width:var(--spacing-icon);height:var(--spacing-icon)}.\\[\\&_svg\\]\\:h-6 svg{height:calc(var(--spacing) * 6)}.\\[\\&_svg\\]\\:h-7 svg{height:calc(var(--spacing) * 7)}.\\[\\&_svg\\]\\:h-\\[22px\\] svg{height:22px}.\\[\\&_svg\\]\\:h-icon svg{height:var(--spacing-icon)}.\\[\\&_svg\\]\\:max-h-full svg{max-height:100%}.\\[\\&_svg\\]\\:w-6 svg{width:calc(var(--spacing) * 6)}.\\[\\&_svg\\]\\:w-7 svg{width:calc(var(--spacing) * 7)}.\\[\\&_svg\\]\\:w-\\[22px\\] svg{width:22px}.\\[\\&_svg\\]\\:w-icon svg{width:var(--spacing-icon)}.\\[\\&_svg\\]\\:text-gray-text svg{color:var(--blok-gray-text)}@media (max-width:650px){.mobile\\:\\[\\&_svg\\]\\:h-icon-mobile svg{height:var(--spacing-icon-mobile)}.mobile\\:\\[\\&_svg\\]\\:w-icon-mobile svg{width:var(--spacing-icon-mobile)}}:is(.\\*\\*\\:\\[\\[contenteditable\\]\\]\\:select-none *)[contenteditable]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:is(.\\*\\*\\:\\[\\[hidden\\]\\]\\:hidden\\! *)[hidden]{display:none!important}.\\[\\&\\>p\\:first-of-type\\]\\:mt-0>p:first-of-type{margin-top:calc(var(--spacing) * 0)}.\\[\\&\\>p\\:last-of-type\\]\\:mb-0>p:last-of-type{margin-bottom:calc(var(--spacing) * 0)}.\\[\\&\\>svg\\]\\:size-7>svg{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.\\[\\&\\>svg\\]\\:h-9>svg{height:calc(var(--spacing) * 9)}.\\[\\&\\>svg\\]\\:h-\\[16px\\]>svg{height:16px}.\\[\\&\\>svg\\]\\:h-\\[20px\\]>svg{height:20px}.\\[\\&\\>svg\\]\\:w-9>svg{width:calc(var(--spacing) * 9)}.\\[\\&\\>svg\\]\\:w-\\[16px\\]>svg{width:16px}.\\[\\&\\>svg\\]\\:w-\\[20px\\]>svg{width:20px}.\\[\\&\\[data-blok-popover-item-destructive\\]\\[data-blok-focused\\=\\\"true\\\"\\]\\]\\:bg-item-destructive-hover-bg[data-blok-popover-item-destructive][data-blok-focused=true]{background-color:var(--blok-item-destructive-hover-bg)}.\\[\\&\\[data-blok-popover-item-destructive\\]\\[data-blok-focused\\=\\\"true\\\"\\]\\]\\:text-item-destructive-text[data-blok-popover-item-destructive][data-blok-focused=true]{color:var(--blok-item-destructive-text)}.\\[\\&\\[data-blok-popover-item-destructive\\]\\[data-blok-force-hover\\]\\]\\:bg-item-destructive-hover-bg[data-blok-popover-item-destructive][data-blok-force-hover]{background-color:var(--blok-item-destructive-hover-bg)}.\\[\\&\\[data-blok-popover-item-destructive\\]\\[data-blok-force-hover\\]\\]\\:text-item-destructive-text[data-blok-popover-item-destructive][data-blok-force-hover]{color:var(--blok-item-destructive-text)}.\\[\\&\\[data-blok-toolbox-opened\\=true\\]_\\[contentEditable\\=true\\]\\[data-blok-placeholder\\]\\:focus\\]\\:before\\:opacity-0\\![data-blok-toolbox-opened=true] [contentEditable=\"true\"][data-blok-placeholder]:focus:before{content:var(--tw-content);opacity:0!important}.\\[\\&\\[data-empty\\=true\\]\\:focus\\]\\:before\\:pointer-events-none[data-empty=true]:focus:before{content:var(--tw-content);pointer-events:none}.\\[\\&\\[data-empty\\=true\\]\\:focus\\]\\:before\\:cursor-text[data-empty=true]:focus:before{content:var(--tw-content);cursor:text}.\\[\\&\\[data-empty\\=true\\]\\:focus\\]\\:before\\:text-gray-text[data-empty=true]:focus:before{content:var(--tw-content);color:var(--blok-gray-text)}.\\[\\&\\[data-empty\\=true\\]\\:focus\\]\\:before\\:content-\\[attr\\(data-blok-placeholder-active\\)\\][data-empty=true]:focus:before{--tw-content:attr(data-blok-placeholder-active);content:var(--tw-content)}[data-blok-empty=true] .\\[\\[data-blok-empty\\=true\\]_\\&\\[data-empty\\=true\\]\\]\\:before\\:pointer-events-none[data-empty=true]:before{content:var(--tw-content);pointer-events:none}[data-blok-empty=true] .\\[\\[data-blok-empty\\=true\\]_\\&\\[data-empty\\=true\\]\\]\\:before\\:cursor-text[data-empty=true]:before{content:var(--tw-content);cursor:text}[data-blok-empty=true] .\\[\\[data-blok-empty\\=true\\]_\\&\\[data-empty\\=true\\]\\]\\:before\\:text-gray-text[data-empty=true]:before{content:var(--tw-content);color:var(--blok-gray-text)}[data-blok-empty=true] .\\[\\[data-blok-empty\\=true\\]_\\&\\[data-empty\\=true\\]\\]\\:before\\:content-\\[attr\\(data-blok-placeholder-active\\)\\][data-empty=true]:before{--tw-content:attr(data-blok-placeholder-active);content:var(--tw-content)}[data-blok-interface=blok]{all:initial!important;box-sizing:border-box!important;z-index:1!important;display:block!important;position:relative!important}[data-blok-interface=blok][data-blok-rtl=true]{direction:rtl!important}[data-blok-interface=blok],[data-blok-interface=tooltip]{font-family:var(--blok-font-family,ui-sans-serif, system-ui, sans-serif)!important;color:var(--blok-text-primary)!important}[data-blok-interface=blok],[data-blok-interface=tooltip],[data-blok-popover]{--radius:.25rem;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--radius-4xl:2rem}[data-blok-popover]:not([data-blok-popover-inline]),[data-blok-interface=tooltip]{color:initial!important;font-family:var(--blok-font-family,ui-sans-serif, system-ui, sans-serif)!important;font-size:initial!important;font-weight:initial!important;font-style:initial!important;font-variant:initial!important;font-stretch:initial!important;line-height:initial!important;letter-spacing:initial!important;word-spacing:initial!important;text-align:initial!important;text-indent:initial!important;text-transform:initial!important;-webkit-text-decoration:initial!important;-webkit-text-decoration:initial!important;-webkit-text-decoration:initial!important;text-decoration:initial!important;text-shadow:initial!important;white-space:initial!important;word-break:initial!important;overflow-wrap:initial!important;cursor:initial!important;pointer-events:initial!important;user-select:initial!important;direction:initial!important;list-style:initial!important;quotes:initial!important;border-collapse:initial!important;border-spacing:initial!important;empty-cells:initial!important;caption-side:initial!important;scrollbar-width:initial!important;scrollbar-color:initial!important}:where([data-blok-interface],[data-blok-popover]) *{box-sizing:border-box;border:0 solid;margin:0;padding:0}:where([data-blok-interface],[data-blok-popover]) :after{box-sizing:border-box;border:0 solid;margin:0;padding:0}:where([data-blok-interface],[data-blok-popover]) :before{box-sizing:border-box;border:0 solid;margin:0;padding:0}:where([data-blok-interface],[data-blok-popover]) ::-ms-backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}:where([data-blok-interface],[data-blok-popover]) ::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}:where([data-blok-interface],[data-blok-popover]) ::-webkit-file-upload-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:where([data-blok-interface],[data-blok-popover]) ::-ms-browse{box-sizing:border-box;border:0 solid;margin:0;padding:0}:where([data-blok-interface],[data-blok-popover]) ::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:where([data-blok-interface],[data-blok-popover]) hr{height:0;color:inherit;border-top-width:1px}:where([data-blok-interface],[data-blok-popover]) abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}[data-blok-interface] :-webkit-any(h1,h2,h3,h4,h5,h6){letter-spacing:inherit!important;font-family:inherit!important}[data-blok-interface] :-moz-any(h1,h2,h3,h4,h5,h6){letter-spacing:inherit!important;font-family:inherit!important}[data-blok-interface] :is(h1,h2,h3,h4,h5,h6){letter-spacing:inherit!important;font-family:inherit!important}[data-blok-popover] :-webkit-any(h1,h2,h3,h4,h5,h6){letter-spacing:inherit!important;font-family:inherit!important}[data-blok-popover] :-moz-any(h1,h2,h3,h4,h5,h6){letter-spacing:inherit!important;font-family:inherit!important}[data-blok-popover] :is(h1,h2,h3,h4,h5,h6){letter-spacing:inherit!important;font-family:inherit!important}:where([data-blok-interface],[data-blok-popover]) a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}:where([data-blok-interface],[data-blok-popover]) :-webkit-any(b,strong){font-weight:bolder}:where([data-blok-interface],[data-blok-popover]) :-moz-any(b,strong){font-weight:bolder}:where([data-blok-interface],[data-blok-popover]) :is(b,strong){font-weight:bolder}:where([data-blok-interface],[data-blok-popover]) mark{color:inherit}:where([data-blok-interface],[data-blok-popover]) :-webkit-any(code,kbd,samp,pre){font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}:where([data-blok-interface],[data-blok-popover]) :-moz-any(code,kbd,samp,pre){font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}:where([data-blok-interface],[data-blok-popover]) :is(code,kbd,samp,pre){font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}:where([data-blok-interface],[data-blok-popover]) small{font-size:80%}:where([data-blok-interface],[data-blok-popover]) :-webkit-any(sub,sup){vertical-align:baseline;font-size:75%;line-height:0;position:relative}:where([data-blok-interface],[data-blok-popover]) :-moz-any(sub,sup){vertical-align:baseline;font-size:75%;line-height:0;position:relative}:where([data-blok-interface],[data-blok-popover]) :is(sub,sup){vertical-align:baseline;font-size:75%;line-height:0;position:relative}:where([data-blok-interface],[data-blok-popover]) sub{bottom:-.25em}:where([data-blok-interface],[data-blok-popover]) sup{top:-.5em}:where([data-blok-interface],[data-blok-popover]) table{text-indent:0;border-color:inherit;border-collapse:collapse}:where([data-blok-interface],[data-blok-popover]) :-moz-focusring{outline:auto}:where([data-blok-interface],[data-blok-popover]) progress{vertical-align:baseline}:where([data-blok-interface],[data-blok-popover]) summary{display:list-item}:where([data-blok-interface],[data-blok-popover]) :-webkit-any(ol,ul,menu){list-style:none}:where([data-blok-interface],[data-blok-popover]) :-moz-any(ol,ul,menu){list-style:none}:where([data-blok-interface],[data-blok-popover]) :is(ol,ul,menu){list-style:none}:where([data-blok-interface],[data-blok-popover]) :-webkit-any(img,svg,video,canvas,audio,iframe,embed,object){vertical-align:middle;display:block}:where([data-blok-interface],[data-blok-popover]) :-moz-any(img,svg,video,canvas,audio,iframe,embed,object){vertical-align:middle;display:block}:where([data-blok-interface],[data-blok-popover]) :is(img,svg,video,canvas,audio,iframe,embed,object){vertical-align:middle;display:block}:where([data-blok-interface],[data-blok-popover]) :-webkit-any(img,video){max-width:100%;height:auto}:where([data-blok-interface],[data-blok-popover]) :-moz-any(img,video){max-width:100%;height:auto}:where([data-blok-interface],[data-blok-popover]) :is(img,video){max-width:100%;height:auto}:where([data-blok-interface],[data-blok-popover]) :-webkit-any(button,input,select,optgroup,textarea){font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:transparent}:where([data-blok-interface],[data-blok-popover]) :-moz-any(button,input,select,optgroup,textarea){font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:transparent}:where([data-blok-interface],[data-blok-popover]) :is(button,input,select,optgroup,textarea){font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:transparent}:where([data-blok-interface],[data-blok-popover]) :where(select:-webkit-any([multiple],[size])) optgroup{font-weight:bolder}:where([data-blok-interface],[data-blok-popover]) :where(select:-moz-any([multiple],[size])) optgroup{font-weight:bolder}:where([data-blok-interface],[data-blok-popover]) :where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where([data-blok-interface],[data-blok-popover]) :where(select:-webkit-any([multiple],[size])) optgroup option:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-left:20px}:where([data-blok-interface],[data-blok-popover]) :where(select:-moz-any([multiple],[size])) optgroup option:not(:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-left:20px}:where([data-blok-interface],[data-blok-popover]) :where(select:is([multiple],[size])) optgroup option:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-left:20px}:where([data-blok-interface],[data-blok-popover]) :where(select:-webkit-any([multiple],[size])) optgroup option:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:20px}:where([data-blok-interface],[data-blok-popover]) :where(select:-moz-any([multiple],[size])) optgroup option:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:20px}:where([data-blok-interface],[data-blok-popover]) :where(select:is([multiple],[size])) optgroup option:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:20px}:where([data-blok-interface],[data-blok-popover]) :dir(ltr)::file-selector-button{margin-right:4px}:where([data-blok-interface],[data-blok-popover]) :dir(rtl)::file-selector-button{margin-left:4px}:where([data-blok-interface],[data-blok-popover]) ::-ms-input-placeholder{opacity:1}:where([data-blok-interface],[data-blok-popover]) ::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){:where([data-blok-interface],[data-blok-popover]) ::-ms-input-placeholder{color:currentColor}:where([data-blok-interface],[data-blok-popover]) ::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){:where([data-blok-interface],[data-blok-popover]) ::-ms-input-placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}:where([data-blok-interface],[data-blok-popover]) ::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}:where([data-blok-interface],[data-blok-popover]) textarea{resize:vertical}:where([data-blok-interface],[data-blok-popover]) ::-webkit-search-decoration{-webkit-appearance:none}:where([data-blok-interface],[data-blok-popover]) ::-webkit-search-cancel-button{-webkit-appearance:none}:where([data-blok-interface],[data-blok-popover]) ::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}:where([data-blok-interface],[data-blok-popover]) ::-webkit-datetime-edit{display:inline-flex}:where([data-blok-interface],[data-blok-popover]) ::-webkit-datetime-edit-fields-wrapper{padding:0}:where([data-blok-interface],[data-blok-popover]) :-webkit-any(){padding-top:0;padding-bottom:0}:where([data-blok-interface],[data-blok-popover]) :-moz-any(){padding-top:0;padding-bottom:0}:where([data-blok-interface],[data-blok-popover]) :is(){padding-top:0;padding-bottom:0}:where([data-blok-interface],[data-blok-popover]) ::-webkit-calendar-picker-indicator{line-height:1}:where([data-blok-interface],[data-blok-popover]) :-moz-ui-invalid{box-shadow:none}:where([data-blok-interface],[data-blok-popover]) :-webkit-any(button,input:where([type=button],[type=reset],[type=submit])){-webkit-appearance:button;-moz-appearance:button;-ms-appearance:button;appearance:button}:where([data-blok-interface],[data-blok-popover]) :-moz-any(button,input:where([type=button],[type=reset],[type=submit])){-webkit-appearance:button;-moz-appearance:button;-ms-appearance:button;appearance:button}:where([data-blok-interface],[data-blok-popover]) :is(button,input:where([type=button],[type=reset],[type=submit])){-webkit-appearance:button;-moz-appearance:button;-ms-appearance:button;appearance:button}:where([data-blok-interface],[data-blok-popover]) :-webkit-any(){height:auto}:where([data-blok-interface],[data-blok-popover]) :-moz-any(){height:auto}:where([data-blok-interface],[data-blok-popover]) :is(){height:auto}:where([data-blok-interface],[data-blok-popover]) [hidden]:where(:not([hidden=until-found])){display:none!important}[data-blok-interface] :focus:not(:focus-visible){outline:none}[data-blok-popover] :focus:not(:focus-visible){outline:none}[data-blok-interface] :-webkit-any([contenteditable],input,textarea):focus-visible{outline:none}[data-blok-interface] :-moz-any([contenteditable],input,textarea):focus-visible{outline:none}[data-blok-interface] :is([contenteditable],input,textarea):focus-visible{outline:none}[data-blok-popover] :-webkit-any([contenteditable],input,textarea):focus-visible{outline:none}[data-blok-popover] :-moz-any([contenteditable],input,textarea):focus-visible{outline:none}[data-blok-popover] :is([contenteditable],input,textarea):focus-visible{outline:none}[data-blok-interface] :focus-visible{outline:revert;outline-offset:revert;border-radius:revert}[data-blok-popover] :focus-visible{outline:revert;outline-offset:revert;border-radius:revert}[data-blok-interface] ::-moz-selection{background-color:revert;color:revert}[data-blok-interface] ::selection{background-color:revert;color:revert}[data-blok-popover] ::-moz-selection{background-color:revert;color:revert}[data-blok-popover] ::selection{background-color:revert;color:revert}[data-blok-interface] ::-webkit-scrollbar{width:revert;height:revert;background-color:revert}[data-blok-popover] ::-webkit-scrollbar{width:revert;height:revert;background-color:revert}@layer utilities{.max-w-blok-content{max-width:var(--max-width-content)}}[data-blok-interface],[data-blok-popover]{--blok-selection:#e1f2ff;--blok-selection-inline:#d4ecff;--blok-selection-highlight:rgba(46,170,220,.2);--blok-bg-light:#eff2f5;--blok-gray-text:#707684;--blok-dark:#1d202b;--blok-active-icon:#2383e2;--blok-link:#2383e2;--blok-line-gray:#eff0f1;--blok-tooltip-bg:#1d202b;--blok-tooltip-font:#cdd1e0;--blok-icon-active-bg:rgba(35,131,226,.14);--blok-icon-active-text:#2383e2;--blok-text-primary:black;--blok-text-secondary:#707684;--blok-popover-border:rgba(55,53,47,.09);--blok-popover-shadow:rgba(13,20,33,.1);--blok-popover-bg:#fff;--blok-popover-box-shadow:0 0 0 1px rgba(55,53,47,.09), 0 4px 16px rgba(0,0,0,.1), 0 16px 40px -8px rgba(0,0,0,.08);--blok-popover-border-icon:rgba(201,201,204,.48);--blok-popover-border-icon-disabled:#eff0f1;--blok-item-focus-bg:rgba(35,131,226,.14);--blok-item-focus-shadow:rgba(35,131,226,.14);--blok-item-hover-bg:rgba(55,53,47,.08);--blok-icon-bg:rgba(0,0,0,.04);--blok-item-confirm-bg:#e24a4a;--blok-item-confirm-hover-bg:#ce4343;--blok-item-destructive-text:#e24a4a;--blok-item-destructive-hover-bg:rgba(226,74,74,.08);--blok-notify-success-bg:#fafffe;--blok-notify-success-bar:#41ffb1;--blok-notify-error-bg:#fffbfb;--blok-notify-error-bar:#fb5d5d;--blok-notify-btn-cancel-bg:#f2f5f7;--blok-notify-btn-cancel-text:#656b7c;--blok-notify-btn-confirm-bg:#34c992;--blok-mobile-border:#e8e8eb;--blok-search-input-bg:#f8f8f8;--blok-search-input-border:rgba(226,226,229,.2);--blok-search-input-focus-border:rgba(35,131,226,.5);--blok-link-input-border:rgba(226,226,229,.2);--blok-popover-icon-bg:rgba(55,53,47,.06);--blok-popover-icon-active-bg:rgba(35,131,226,.1);--blok-table-border:#d1d5db;--blok-table-heading-bg:#f9fafb;--blok-table-grip-outline:transparent;--blok-table-drag-source-bg:#f3f4f6;--blok-toggle-off-bg:#d4d4d8;--blok-toggle-on-bg:#2383e2;--blok-toggle-thumb-on-bg:#fff;--blok-checklist-border:rgba(0,0,0,.28);--blok-checklist-shadow:rgba(0,0,0,.08);--blok-checklist-hover-ring:rgba(35,131,226,.14);--blok-checklist-readonly-fill:#94a3b8;--blok-swatch-neutral-bg:#f7f7f5;--blok-swatch-ring-hover:rgba(0,0,0,.1);--blok-swatch-ring-active:rgba(0,0,0,.3);--blok-color-gray-text:#787774;--blok-color-gray-bg:#f1f1ef;--blok-color-brown-text:#9f6b53;--blok-color-brown-bg:#f4eeee;--blok-color-orange-text:#d9730d;--blok-color-orange-bg:#fbecdd;--blok-color-yellow-text:#cb9b00;--blok-color-yellow-bg:#fbf3db;--blok-color-green-text:#448361;--blok-color-green-bg:#edf3ec;--blok-color-teal-text:#2b9a8f;--blok-color-teal-bg:#e4f5f3;--blok-color-blue-text:#337ea9;--blok-color-blue-bg:#e7f3f8;--blok-color-purple-text:#9065b0;--blok-color-purple-bg:#f6f3f9;--blok-color-pink-text:#c14c8a;--blok-color-pink-bg:#f9f0f5;--blok-color-red-text:#d44c47;--blok-color-red-bg:#fdebec}@media (prefers-color-scheme:dark){:root:not([data-blok-theme=light]) [data-blok-interface],:root:not([data-blok-theme=light]) [data-blok-popover]{--blok-selection:rgba(35,131,226,.2);--blok-selection-inline:rgba(35,131,226,.3);--blok-selection-highlight:rgba(35,131,226,.25);--blok-bg-light:rgba(255,255,255,.08);--blok-gray-text:#a39e98;--blok-dark:#191918;--blok-active-icon:#529cca;--blok-link:#529cca;--blok-line-gray:#37352f;--blok-tooltip-bg:#191918;--blok-tooltip-font:#e8e6e3;--blok-icon-active-bg:rgba(35,131,226,.2);--blok-icon-active-text:#529cca;--blok-text-primary:#e2e0dc;--blok-text-secondary:#a39e98;--blok-popover-border:rgba(255,255,255,.14);--blok-popover-shadow:rgba(0,0,0,.6);--blok-popover-bg:#252525;--blok-popover-box-shadow:0 0 0 1px rgba(255,255,255,.14), 0 4px 24px rgba(0,0,0,.5), 0 16px 40px -8px rgba(0,0,0,.4);--blok-popover-border-icon:#37352f;--blok-popover-border-icon-disabled:#2f2d29;--blok-item-focus-bg:rgba(35,131,226,.2);--blok-item-focus-shadow:rgba(35,131,226,.2);--blok-item-hover-bg:rgba(255,255,255,.055);--blok-icon-bg:rgba(255,255,255,.07);--blok-item-confirm-bg:#3d1f1f;--blok-item-confirm-hover-bg:#4a2020;--blok-item-destructive-text:#fb5d5d;--blok-item-destructive-hover-bg:rgba(251,93,93,.1);--blok-notify-success-bg:#1a2e22;--blok-notify-success-bar:#41ffb1;--blok-notify-error-bg:#2e1a1a;--blok-notify-error-bar:#fb5d5d;--blok-notify-btn-cancel-bg:#2f2d29;--blok-notify-btn-cancel-text:#a39e98;--blok-notify-btn-confirm-bg:#34c992;--blok-mobile-border:rgba(255,255,255,.07);--blok-search-input-bg:#363636;--blok-search-input-border:rgba(255,255,255,.2);--blok-search-input-focus-border:rgba(35,131,226,.5);--blok-link-input-border:#37352f;--blok-popover-icon-bg:rgba(255,255,255,.08);--blok-popover-icon-active-bg:rgba(35,131,226,.15);--blok-table-border:#3e3e3d;--blok-table-heading-bg:#272725;--blok-table-grip-outline:rgba(255,255,255,.12);--blok-table-drag-source-bg:rgba(255,255,255,.07);--blok-toggle-off-bg:#3f3f46;--blok-toggle-on-bg:#529cca;--blok-toggle-thumb-on-bg:#fff;--blok-checklist-border:rgba(255,255,255,.22);--blok-checklist-shadow:rgba(0,0,0,.3);--blok-checklist-hover-ring:rgba(82,156,202,.2);--blok-checklist-readonly-fill:#475569;--blok-swatch-neutral-bg:#3a3a38;--blok-swatch-ring-hover:rgba(255,255,255,.15);--blok-swatch-ring-active:rgba(255,255,255,.35);--blok-color-gray-text:#9b9b9b;--blok-color-gray-bg:#2f2f2f;--blok-color-brown-text:#c59177;--blok-color-brown-bg:#452a1c;--blok-color-orange-text:#dc8c47;--blok-color-orange-bg:#4d2f14;--blok-color-yellow-text:#d4ab49;--blok-color-yellow-bg:#544012;--blok-color-green-text:#5db184;--blok-color-green-bg:#1e432f;--blok-color-teal-text:#5cbcb3;--blok-color-teal-bg:#1b4642;--blok-color-blue-text:#5c9fcc;--blok-color-blue-bg:#123a54;--blok-color-purple-text:#a67dca;--blok-color-purple-bg:#341d49;--blok-color-pink-text:#d45e99;--blok-color-pink-bg:#4b1b33;--blok-color-red-text:#dd5e5a;--blok-color-red-bg:#4e1a18}}[data-blok-theme=dark] [data-blok-interface],[data-blok-theme=dark] [data-blok-popover]{--blok-selection:rgba(35,131,226,.2);--blok-selection-inline:rgba(35,131,226,.3);--blok-selection-highlight:rgba(35,131,226,.25);--blok-bg-light:rgba(255,255,255,.08);--blok-gray-text:#a39e98;--blok-dark:#191918;--blok-active-icon:#529cca;--blok-link:#529cca;--blok-line-gray:#37352f;--blok-tooltip-bg:#191918;--blok-tooltip-font:#e8e6e3;--blok-icon-active-bg:rgba(35,131,226,.2);--blok-icon-active-text:#529cca;--blok-text-primary:#e2e0dc;--blok-text-secondary:#a39e98;--blok-popover-border:rgba(255,255,255,.14);--blok-popover-shadow:rgba(0,0,0,.6);--blok-popover-bg:#252525;--blok-popover-box-shadow:0 0 0 1px rgba(255,255,255,.14), 0 4px 24px rgba(0,0,0,.5), 0 16px 40px -8px rgba(0,0,0,.4);--blok-popover-border-icon:#37352f;--blok-popover-border-icon-disabled:#2f2d29;--blok-item-focus-bg:rgba(35,131,226,.2);--blok-item-focus-shadow:rgba(35,131,226,.2);--blok-item-hover-bg:rgba(255,255,255,.055);--blok-icon-bg:rgba(255,255,255,.07);--blok-item-confirm-bg:#3d1f1f;--blok-item-confirm-hover-bg:#4a2020;--blok-item-destructive-text:#fb5d5d;--blok-item-destructive-hover-bg:rgba(251,93,93,.1);--blok-notify-success-bg:#1a2e22;--blok-notify-success-bar:#41ffb1;--blok-notify-error-bg:#2e1a1a;--blok-notify-error-bar:#fb5d5d;--blok-notify-btn-cancel-bg:#2f2d29;--blok-notify-btn-cancel-text:#a39e98;--blok-notify-btn-confirm-bg:#34c992;--blok-mobile-border:rgba(255,255,255,.07);--blok-search-input-bg:#363636;--blok-search-input-border:rgba(255,255,255,.2);--blok-search-input-focus-border:rgba(35,131,226,.5);--blok-link-input-border:#37352f;--blok-popover-icon-bg:rgba(255,255,255,.08);--blok-popover-icon-active-bg:rgba(35,131,226,.15);--blok-table-border:#3e3e3d;--blok-table-heading-bg:#272725;--blok-table-grip-outline:rgba(255,255,255,.12);--blok-table-drag-source-bg:rgba(255,255,255,.07);--blok-toggle-off-bg:#3f3f46;--blok-toggle-on-bg:#e4e4e7;--blok-toggle-thumb-on-bg:#252525;--blok-checklist-border:rgba(255,255,255,.22);--blok-checklist-shadow:rgba(0,0,0,.3);--blok-checklist-hover-ring:rgba(82,156,202,.2);--blok-swatch-neutral-bg:#3a3a38;--blok-swatch-ring-hover:rgba(255,255,255,.15);--blok-swatch-ring-active:rgba(255,255,255,.35);--blok-color-gray-text:#9b9b9b;--blok-color-gray-bg:#2f2f2f;--blok-color-brown-text:#c59177;--blok-color-brown-bg:#452a1c;--blok-color-orange-text:#dc8c47;--blok-color-orange-bg:#4d2f14;--blok-color-yellow-text:#d4ab49;--blok-color-yellow-bg:#544012;--blok-color-green-text:#5db184;--blok-color-green-bg:#1e432f;--blok-color-teal-text:#5cbcb3;--blok-color-teal-bg:#1b4642;--blok-color-blue-text:#5c9fcc;--blok-color-blue-bg:#123a54;--blok-color-purple-text:#a67dca;--blok-color-purple-bg:#341d49;--blok-color-pink-text:#d45e99;--blok-color-pink-bg:#4b1b33;--blok-color-red-text:#dd5e5a;--blok-color-red-bg:#4e1a18}@keyframes blok-checkbox-pop{0%{transform:scale(1)}35%{transform:scale(1.18)}65%{transform:scale(.9)}82%{transform:scale(1.07)}to{transform:scale(1)}}[data-blok-interface] [data-list-style=checklist] input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;border:2px solid var(--blok-checklist-border);box-shadow:inset 0 1px 2px var(--blok-checklist-shadow);background-color:transparent;border-radius:5px;flex-shrink:0;transition:background-color .15s,border-color .15s,transform .15s,box-shadow .15s}[data-blok-interface] [data-list-style=checklist] input[type=checkbox]:checked{background-color:var(--blok-active-icon);border-color:var(--blok-active-icon);box-shadow:none;background-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 10 10' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.5 5L4 7.5L8.5 2.5' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E\");background-position:50%;background-repeat:no-repeat;background-size:10px 10px;animation:.28s linear blok-checkbox-pop}[data-blok-interface] [data-list-style=checklist] input[type=checkbox]:not(:disabled):not(:checked):hover{border-color:var(--blok-active-icon);box-shadow:0 0 0 3px var(--blok-checklist-hover-ring), inset 0 1px 2px var(--blok-checklist-shadow);transform:scale(1.06)}[data-blok-interface] [data-list-style=checklist] input[type=checkbox]:not(:disabled):checked:hover{box-shadow:0 0 0 3px var(--blok-checklist-hover-ring)}[data-blok-interface] [data-list-style=checklist] input[type=checkbox]:disabled:not(:checked){opacity:.5}[data-blok-interface] [data-list-style=checklist] input[type=checkbox]:disabled:checked{background-color:var(--blok-checklist-readonly-fill);border-color:var(--blok-checklist-readonly-fill);box-shadow:none;animation:none}[data-blok-interface] [data-list-style=checklist] input[type=checkbox]:focus-visible{outline:2px solid var(--blok-active-icon);outline-offset:2px}@media (prefers-color-scheme:dark){:root:not([data-blok-theme=light]) [data-blok-interface] [data-list-style=checklist] [data-checked=true]{opacity:.45}}[data-blok-theme=dark] [data-blok-interface] [data-list-style=checklist] [data-checked=true]{opacity:.45}:where([data-blok-interface],[data-blok-popover]) *{border-color:var(--color-gray-200,currentcolor)}:where([data-blok-interface],[data-blok-popover]) :after{border-color:var(--color-gray-200,currentcolor)}:where([data-blok-interface],[data-blok-popover]) :before{border-color:var(--color-gray-200,currentcolor)}:where([data-blok-interface],[data-blok-popover]) ::-ms-backdrop{border-color:var(--color-gray-200,currentcolor)}:where([data-blok-interface],[data-blok-popover]) ::backdrop{border-color:var(--color-gray-200,currentcolor)}:where([data-blok-interface],[data-blok-popover]) ::-webkit-file-upload-button{border-color:var(--color-gray-200,currentcolor)}:where([data-blok-interface],[data-blok-popover]) ::-ms-browse{border-color:var(--color-gray-200,currentcolor)}:where([data-blok-interface],[data-blok-popover]) ::file-selector-button{border-color:var(--color-gray-200,currentcolor)}[data-blok-navigation-focused=true]{width:var(--spacing-content-width);border-radius:var(--radius-md);background-color:var(--blok-item-focus-bg);max-width:100%;margin-left:auto;margin-right:auto}@media (hover:hover){[data-blok-item-name=delete]:hover{color:var(--blok-item-confirm-bg);transition-property:color,background-color,border-color,outline-color,-webkit-text-decoration-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}[data-drop-indicator]{position:relative}[data-drop-indicator]:before{pointer-events:none;z-index:10;height:calc(var(--spacing) * 1.5);width:100%;max-width:var(--max-width-content);border-radius:var(--radius-xs);--tw-content:\"\";content:var(--tw-content);margin-left:calc(var(--drop-indicator-depth,0) * 12px);max-width:calc(650px - var(--drop-indicator-depth,0) * 24px);background-color:#d4e3fc;position:absolute;left:50%}[data-drop-indicator=bottom]:before{bottom:calc(var(--spacing) * 0);transform:translate(-50%)translateY(50%)}[data-drop-indicator=top]:before{top:calc(var(--spacing) * 0);transform:translate(-50%)translateY(-50%)}@keyframes spring-loaded-flash{0%{background-color:var(--blok-selection)}to{background-color:transparent}}[data-blok-spring-loaded] [data-blok-element-content]{border-radius:4px;animation:.7s ease-out forwards spring-loaded-flash}[data-blok-content-align=center] [data-blok-element-content]{margin-left:auto;margin-right:auto}[data-blok-content-align=right] [data-blok-element-content]{margin-left:auto}[data-blok-dragging-multi=true] [data-blok-selected=true]{opacity:.4;transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;transition-duration:.2s}[data-blok-selected=true] [data-blok-element-content]:has([data-list-style]){background-color:transparent}[data-blok-selected=true] [data-list-style] [role=listitem]{background-color:var(--blok-selection);border-radius:4px}[data-blok-selected=true] [data-list-style] [role=listitem] [contenteditable]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}[data-blok-toggle-children] :-webkit-any(h1,h2,h3,h4,h5,h6){margin-top:1px}[data-blok-toggle-children] :-moz-any(h1,h2,h3,h4,h5,h6){margin-top:1px}[data-blok-toggle-children] :is(h1,h2,h3,h4,h5,h6){margin-top:1px}[data-blok-component=callout] button:has(+[data-blok-toggle-children]>:first-child h1){margin-top:8.5px}[data-blok-component=callout] button:has(+[data-blok-toggle-children]>:first-child h2){margin-top:4.6px}[data-blok-component=callout] button:has(+[data-blok-toggle-children]>:first-child h3){margin-top:2px}[data-blok-table-cell-blocks]>[data-blok-element]{margin-block:calc(var(--spacing) * 0);padding-block:calc(var(--spacing) * 0)}[data-blok-table-cell-blocks] .blok-block{margin:calc(var(--spacing) * 0);min-height:1.6em;padding:calc(var(--spacing) * 0)}[data-blok-table-cell] [data-blok-element-content]{transition-property:background-color,border-color,outline-color,-webkit-text-decoration-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to}[data-blok-table-heading] [data-blok-table-cell],[data-blok-table-heading-col]{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);background-color:var(--blok-table-heading-bg)}[data-blok-table-haze][data-blok-table-haze-visible]{opacity:1}@media (prefers-color-scheme:dark){:root:not([data-blok-theme=light]) [data-blok-interface] [data-blok-table-grip]:not(.bg-gray-200):not(.bg-blue-500){background-color:#4a4a4a}:root:not([data-blok-theme=light]) [data-blok-interface] [data-blok-table-grip].bg-gray-200{background-color:#555554}:root:not([data-blok-theme=light]) [data-blok-interface] [data-blok-table-grip]:not(.bg-blue-500) svg{color:#fff}:root:not([data-blok-theme=light]) [data-blok-interface] :-webkit-any([data-blok-table-add-row],[data-blok-table-add-col]) .border-gray-300{background-color:#2c2c2b;border-color:rgba(255,255,255,.17)}:root:not([data-blok-theme=light]) [data-blok-interface] :-moz-any([data-blok-table-add-row],[data-blok-table-add-col]) .border-gray-300{background-color:#2c2c2b;border-color:rgba(255,255,255,.17)}:root:not([data-blok-theme=light]) [data-blok-interface] :is([data-blok-table-add-row],[data-blok-table-add-col]) .border-gray-300{background-color:#2c2c2b;border-color:rgba(255,255,255,.17)}:root:not([data-blok-theme=light]) [data-blok-interface] :-webkit-any([data-blok-table-add-row],[data-blok-table-add-col]):hover .border-gray-300{background-color:#2e2e2d}:root:not([data-blok-theme=light]) [data-blok-interface] :-moz-any([data-blok-table-add-row],[data-blok-table-add-col]):hover .border-gray-300{background-color:#2e2e2d}:root:not([data-blok-theme=light]) [data-blok-interface] :is([data-blok-table-add-row],[data-blok-table-add-col]):hover .border-gray-300{background-color:#2e2e2d}:root:not([data-blok-theme=light]) [data-blok-interface] :-webkit-any([data-blok-table-add-row],[data-blok-table-add-col]) .border-gray-300 svg{color:#9e9e9d}:root:not([data-blok-theme=light]) [data-blok-interface] :-moz-any([data-blok-table-add-row],[data-blok-table-add-col]) .border-gray-300 svg{color:#9e9e9d}:root:not([data-blok-theme=light]) [data-blok-interface] :is([data-blok-table-add-row],[data-blok-table-add-col]) .border-gray-300 svg{color:#9e9e9d}:root:not([data-blok-theme=light]) [data-blok-interface] [data-blok-table-haze=left]{background-image:linear-gradient(to right, var(--blok-dark), transparent)}:root:not([data-blok-theme=light]) [data-blok-interface] [data-blok-table-haze=right]{background-image:linear-gradient(to left, var(--blok-dark), transparent)}}[data-blok-theme=dark] [data-blok-interface] [data-blok-table-grip]:not(.bg-gray-200):not(.bg-blue-500){background-color:#4a4a4a}[data-blok-theme=dark] [data-blok-interface] [data-blok-table-grip].bg-gray-200{background-color:#555554}[data-blok-theme=dark] [data-blok-interface] [data-blok-table-grip]:not(.bg-blue-500) svg{color:#fff}[data-blok-theme=dark] [data-blok-interface] :-webkit-any([data-blok-table-add-row],[data-blok-table-add-col]) .border-gray-300{background-color:#2c2c2b;border-color:rgba(255,255,255,.17)}[data-blok-theme=dark] [data-blok-interface] :-moz-any([data-blok-table-add-row],[data-blok-table-add-col]) .border-gray-300{background-color:#2c2c2b;border-color:rgba(255,255,255,.17)}[data-blok-theme=dark] [data-blok-interface] :is([data-blok-table-add-row],[data-blok-table-add-col]) .border-gray-300{background-color:#2c2c2b;border-color:rgba(255,255,255,.17)}[data-blok-theme=dark] [data-blok-interface] :-webkit-any([data-blok-table-add-row],[data-blok-table-add-col]):hover .border-gray-300{background-color:#2e2e2d}[data-blok-theme=dark] [data-blok-interface] :-moz-any([data-blok-table-add-row],[data-blok-table-add-col]):hover .border-gray-300{background-color:#2e2e2d}[data-blok-theme=dark] [data-blok-interface] :is([data-blok-table-add-row],[data-blok-table-add-col]):hover .border-gray-300{background-color:#2e2e2d}[data-blok-theme=dark] [data-blok-interface] :-webkit-any([data-blok-table-add-row],[data-blok-table-add-col]) .border-gray-300 svg{color:#9e9e9d}[data-blok-theme=dark] [data-blok-interface] :-moz-any([data-blok-table-add-row],[data-blok-table-add-col]) .border-gray-300 svg{color:#9e9e9d}[data-blok-theme=dark] [data-blok-interface] :is([data-blok-table-add-row],[data-blok-table-add-col]) .border-gray-300 svg{color:#9e9e9d}[data-blok-theme=dark] [data-blok-interface] [data-blok-table-haze=left]{background-image:linear-gradient(to right, var(--blok-dark), transparent)}[data-blok-theme=dark] [data-blok-interface] [data-blok-table-haze=right]{background-image:linear-gradient(to left, var(--blok-dark), transparent)}[data-blok-slash-search]{background-color:var(--blok-search-input-bg);width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;max-width:240px;padding-inline:calc(var(--spacing) * 2);transition-property:color,background-color,border-color,outline-color,-webkit-text-decoration-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.15s;border-radius:10px;transition-duration:.15s}[data-blok-slash-search]:focus-visible{background-color:var(--blok-search-input-bg);width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;max-width:240px;padding-inline:calc(var(--spacing) * 2);transition-property:color,background-color,border-color,outline-color,-webkit-text-decoration-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.15s;border-radius:10px;transition-duration:.15s}[data-blok-slash-search]:after{content:attr(data-blok-slash-search);pointer-events:none;font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--blok-gray-text)}[data-blok-slash-search]:before{content:none!important}[data-blok-popover-items]{scrollbar-width:thin;scrollbar-color:var(--blok-popover-border) transparent}[data-blok-popover-items]::-webkit-scrollbar{width:4px}[data-blok-popover-items]::-webkit-scrollbar-track{background:0 0}[data-blok-popover-items]::-webkit-scrollbar-thumb{background:var(--blok-popover-border);border-radius:4px}[data-blok-popover-items]::-webkit-scrollbar-thumb:hover{background:var(--blok-gray-text)}:where([data-blok-emoji-picker]) :where(button,input){-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;color:inherit;font:inherit;background:0 0;border:none;margin:0;padding:0}:where([data-blok-emoji-picker][hidden]){display:none!important}:where([data-blok-emoji-picker]) :where([hidden]){display:none!important}[data-blok-emoji-picker]{transform-origin:0 0;animation:.18s cubic-bezier(.16,1,.3,1) blok-emoji-picker-in}@keyframes blok-emoji-picker-in{0%{opacity:0;transform:translateY(4px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes blok-emoji-empty-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}[data-emoji-picker-body]{scrollbar-width:thin;scrollbar-color:transparent transparent}[data-emoji-picker-body]:hover{scrollbar-color:currentColor transparent}@supports (color:color-mix(in lab, red, red)){[data-emoji-picker-body]:hover{scrollbar-color:color-mix(in srgb, currentColor 12%, transparent) transparent}}[data-emoji-picker-body]::-webkit-scrollbar{width:6px}[data-emoji-picker-body]::-webkit-scrollbar-track{background:0 0}[data-emoji-picker-body]::-webkit-scrollbar-thumb{background:0 0;border-radius:3px}[data-emoji-picker-body]:hover::-webkit-scrollbar-thumb{background:currentColor}@supports (color:color-mix(in lab, red, red)){[data-emoji-picker-body]:hover::-webkit-scrollbar-thumb{background:color-mix(in srgb, currentColor 12%, transparent)}}[data-emoji-picker-body]::-webkit-scrollbar-thumb:hover{background:currentColor}@supports (color:color-mix(in lab, red, red)){[data-emoji-picker-body]::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, currentColor 22%, transparent)}}@property --tw-border-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-shadow{syntax:\"*\";inherits:false;initial-value:0 0 transparent}@property --tw-shadow-color{syntax:\"*\";inherits:false}@property --tw-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 transparent}@property --tw-inset-shadow-color{syntax:\"*\";inherits:false}@property --tw-inset-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:\"*\";inherits:false}@property --tw-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 transparent}@property --tw-inset-ring-color{syntax:\"*\";inherits:false}@property --tw-inset-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 transparent}@property --tw-ring-inset{syntax:\"*\";inherits:false}@property --tw-ring-offset-width{syntax:\"<length>\";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:\"*\";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 transparent}@property --tw-content{syntax:\"*\";inherits:false;initial-value:\"\"}@property --tw-leading{syntax:\"*\";inherits:false}@property --tw-translate-x{syntax:\"*\";inherits:false;initial-value:0}@property --tw-translate-y{syntax:\"*\";inherits:false;initial-value:0}@property --tw-translate-z{syntax:\"*\";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:\"*\";inherits:false}@property --tw-rotate-y{syntax:\"*\";inherits:false}@property --tw-rotate-z{syntax:\"*\";inherits:false}@property --tw-skew-x{syntax:\"*\";inherits:false}@property --tw-skew-y{syntax:\"*\";inherits:false}@property --tw-gradient-position{syntax:\"*\";inherits:false}@property --tw-gradient-from{syntax:\"<color>\";inherits:false;initial-value:transparent}@property --tw-gradient-via{syntax:\"<color>\";inherits:false;initial-value:transparent}@property --tw-gradient-to{syntax:\"<color>\";inherits:false;initial-value:transparent}@property --tw-gradient-stops{syntax:\"*\";inherits:false}@property --tw-gradient-via-stops{syntax:\"*\";inherits:false}@property --tw-gradient-from-position{syntax:\"<length-percentage>\";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:\"<length-percentage>\";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:\"<length-percentage>\";inherits:false;initial-value:100%}@property --tw-font-weight{syntax:\"*\";inherits:false}@property --tw-tracking{syntax:\"*\";inherits:false}@property --tw-outline-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-blur{syntax:\"*\";inherits:false}@property --tw-brightness{syntax:\"*\";inherits:false}@property --tw-contrast{syntax:\"*\";inherits:false}@property --tw-grayscale{syntax:\"*\";inherits:false}@property --tw-hue-rotate{syntax:\"*\";inherits:false}@property --tw-invert{syntax:\"*\";inherits:false}@property --tw-opacity{syntax:\"*\";inherits:false}@property --tw-saturate{syntax:\"*\";inherits:false}@property --tw-sepia{syntax:\"*\";inherits:false}@property --tw-drop-shadow{syntax:\"*\";inherits:false}@property --tw-drop-shadow-color{syntax:\"*\";inherits:false}@property --tw-drop-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:\"*\";inherits:false}@property --tw-duration{syntax:\"*\";inherits:false}@property --tw-ease{syntax:\"*\";inherits:false}@property --tw-scale-x{syntax:\"*\";inherits:false;initial-value:1}@property --tw-scale-y{syntax:\"*\";inherits:false;initial-value:1}@property --tw-scale-z{syntax:\"*\";inherits:false;initial-value:1}@keyframes buttonClicked{0%{transform:scale3d(.95,.95,.95)}60%{transform:scale3d(1.02,1.02,1.02)}80%,to{transform:scale(1)}}@keyframes rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes notifySlideIn{0%{opacity:0;transform:translateY(16px)}70%{opacity:1;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}@keyframes notifySlideOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(8px)}}@keyframes notifyProgress{0%{width:100%}to{width:0%}}", bf = class {
|
|
11923
|
+
var yf = "/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */\n@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-border-style:solid;--tw-shadow:0 0 transparent;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 transparent;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 transparent;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 transparent;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 transparent;--tw-content:\"\";--tw-leading:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-gradient-position:initial;--tw-gradient-from:transparent;--tw-gradient-via:transparent;--tw-gradient-to:transparent;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-font-weight:initial;--tw-tracking:initial;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}::-ms-backdrop{--tw-border-style:solid;--tw-shadow:0 0 transparent;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 transparent;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 transparent;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 transparent;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 transparent;--tw-content:\"\";--tw-leading:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-gradient-position:initial;--tw-gradient-from:transparent;--tw-gradient-via:transparent;--tw-gradient-to:transparent;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-font-weight:initial;--tw-tracking:initial;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}::backdrop{--tw-border-style:solid;--tw-shadow:0 0 transparent;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 transparent;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 transparent;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 transparent;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 transparent;--tw-content:\"\";--tw-leading:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-gradient-position:initial;--tw-gradient-from:transparent;--tw-gradient-via:transparent;--tw-gradient-to:transparent;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-font-weight:initial;--tw-tracking:initial;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}:root{--font-mono:\"PT Mono\", \"Menlo\", \"Monaco\", \"Consolas\", \"Courier New\", monospace;--color-red-500:#fb2c36;--color-blue-500:#3080ff;--color-gray-50:#f9fafb;--color-gray-100:#f3f4f6;--color-gray-200:#e5e7eb;--color-gray-300:#d1d5dc;--color-gray-400:#99a1af;--color-gray-500:#6a7282;--color-neutral-100:#f5f5f5;--color-neutral-200:#e5e5e5;--color-neutral-300:#d4d4d4;--color-neutral-400:#a1a1a1;--color-neutral-500:#737373;--color-neutral-600:#525252;--color-neutral-700:#404040;--color-neutral-800:#262626;--color-neutral-900:#171717;--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-4xl:56rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.625;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-mono-font-family:var(--font-mono);--z-index-overlay:999;--spacing-content-width:650px;--spacing-toolbox-btn:26px;--spacing-toolbox-btn-mobile:36px;--spacing-icon:20px;--spacing-icon-mobile:28px;--max-width-content:720px;--animate-button-clicked:buttonClicked .75s cubic-bezier(.215, .61, .355, 1) forwards;--animate-rotation:rotation 1.2s infinite linear;--animate-notify-slide-in:notifySlideIn .4s cubic-bezier(.16, 1, .3, 1) both;--animate-notify-slide-out:notifySlideOut .25s cubic-bezier(.4, 0, 1, 1) both;--animate-notify-progress:notifyProgress linear forwards}@supports (color:color(display-p3 0 0 0)){:root{--color-red-500:color(display-p3 .903738 .262579 .253307);--color-blue-500:color(display-p3 .266422 .491219 .988624);--color-gray-50:color(display-p3 .977213 .98084 .985102);--color-gray-100:color(display-p3 .953567 .956796 .964321);--color-gray-200:color(display-p3 .899787 .906171 .92106);--color-gray-300:color(display-p3 .822033 .835264 .858521);--color-gray-400:color(display-p3 .605734 .630385 .680158);--color-gray-500:color(display-p3 .421287 .446085 .504784);--color-neutral-100:color(display-p3 .960587 .960587 .960587);--color-neutral-200:color(display-p3 .898161 .898161 .898161);--color-neutral-300:color(display-p3 .831444 .831444 .831444);--color-neutral-400:color(display-p3 .630163 .630163 .630163);--color-neutral-500:color(display-p3 .451519 .451519 .451519);--color-neutral-600:color(display-p3 .321993 .321993 .321993);--color-neutral-700:color(display-p3 .250471 .250471 .250471);--color-neutral-800:color(display-p3 .149382 .149382 .149382);--color-neutral-900:color(display-p3 .0905274 .0905274 .0905274)}}@supports (color:lab(0% 0 0)){:root{--color-red-500:lab(55.4814% 75.0732 48.8528);--color-blue-500:lab(54.1736% 13.3369 -74.6839);--color-gray-50:lab(98.2596% -.247031 -.706708);--color-gray-100:lab(96.1596% -.0823438 -1.13575);--color-gray-200:lab(91.6229% -.159115 -2.26791);--color-gray-300:lab(85.1236% -.612259 -3.7138);--color-gray-400:lab(65.9269% -.832707 -8.17473);--color-gray-500:lab(47.7841% -.393182 -10.0268);--color-neutral-100:lab(96.52% -.0000298023 .0000119209);--color-neutral-200:lab(90.952% 0 -.0000119209);--color-neutral-300:lab(84.92% 0 -.0000119209);--color-neutral-400:lab(66.128% -.0000298023 .0000119209);--color-neutral-500:lab(48.496% 0 0);--color-neutral-600:lab(34.924% 0 0);--color-neutral-700:lab(27.036% 0 0);--color-neutral-800:lab(15.204% 0 -.00000596046);--color-neutral-900:lab(7.78201% -.0000149012 0)}}:host{--font-mono:\"PT Mono\", \"Menlo\", \"Monaco\", \"Consolas\", \"Courier New\", monospace;--color-red-500:#fb2c36;--color-blue-500:#3080ff;--color-gray-50:#f9fafb;--color-gray-100:#f3f4f6;--color-gray-200:#e5e7eb;--color-gray-300:#d1d5dc;--color-gray-400:#99a1af;--color-gray-500:#6a7282;--color-neutral-100:#f5f5f5;--color-neutral-200:#e5e5e5;--color-neutral-300:#d4d4d4;--color-neutral-400:#a1a1a1;--color-neutral-500:#737373;--color-neutral-600:#525252;--color-neutral-700:#404040;--color-neutral-800:#262626;--color-neutral-900:#171717;--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-4xl:56rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.625;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-mono-font-family:var(--font-mono);--z-index-overlay:999;--spacing-content-width:650px;--spacing-toolbox-btn:26px;--spacing-toolbox-btn-mobile:36px;--spacing-icon:20px;--spacing-icon-mobile:28px;--max-width-content:720px;--animate-button-clicked:buttonClicked .75s cubic-bezier(.215, .61, .355, 1) forwards;--animate-rotation:rotation 1.2s infinite linear;--animate-notify-slide-in:notifySlideIn .4s cubic-bezier(.16, 1, .3, 1) both;--animate-notify-slide-out:notifySlideOut .25s cubic-bezier(.4, 0, 1, 1) both;--animate-notify-progress:notifyProgress linear forwards}@supports (color:color(display-p3 0 0 0)){:host{--color-red-500:color(display-p3 .903738 .262579 .253307);--color-blue-500:color(display-p3 .266422 .491219 .988624);--color-gray-50:color(display-p3 .977213 .98084 .985102);--color-gray-100:color(display-p3 .953567 .956796 .964321);--color-gray-200:color(display-p3 .899787 .906171 .92106);--color-gray-300:color(display-p3 .822033 .835264 .858521);--color-gray-400:color(display-p3 .605734 .630385 .680158);--color-gray-500:color(display-p3 .421287 .446085 .504784);--color-neutral-100:color(display-p3 .960587 .960587 .960587);--color-neutral-200:color(display-p3 .898161 .898161 .898161);--color-neutral-300:color(display-p3 .831444 .831444 .831444);--color-neutral-400:color(display-p3 .630163 .630163 .630163);--color-neutral-500:color(display-p3 .451519 .451519 .451519);--color-neutral-600:color(display-p3 .321993 .321993 .321993);--color-neutral-700:color(display-p3 .250471 .250471 .250471);--color-neutral-800:color(display-p3 .149382 .149382 .149382);--color-neutral-900:color(display-p3 .0905274 .0905274 .0905274)}}@supports (color:lab(0% 0 0)){:host{--color-red-500:lab(55.4814% 75.0732 48.8528);--color-blue-500:lab(54.1736% 13.3369 -74.6839);--color-gray-50:lab(98.2596% -.247031 -.706708);--color-gray-100:lab(96.1596% -.0823438 -1.13575);--color-gray-200:lab(91.6229% -.159115 -2.26791);--color-gray-300:lab(85.1236% -.612259 -3.7138);--color-gray-400:lab(65.9269% -.832707 -8.17473);--color-gray-500:lab(47.7841% -.393182 -10.0268);--color-neutral-100:lab(96.52% -.0000298023 .0000119209);--color-neutral-200:lab(90.952% 0 -.0000119209);--color-neutral-300:lab(84.92% 0 -.0000119209);--color-neutral-400:lab(66.128% -.0000298023 .0000119209);--color-neutral-500:lab(48.496% 0 0);--color-neutral-600:lab(34.924% 0 0);--color-neutral-700:lab(27.036% 0 0);--color-neutral-800:lab(15.204% 0 -.00000596046);--color-neutral-900:lab(7.78201% -.0000149012 0)}}.blok-input{border-style:var(--tw-border-style);border-width:1px;border-color:var(--blok-line-gray);width:100%;padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2.5);--tw-shadow:inset 0 1px 2px 0 var(--tw-shadow-color,rgba(35,44,72,.06));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-outline-style:none;border-radius:3px;outline-style:none}@media (forced-colors:active){.blok-input{outline-offset:2px;outline:2px solid transparent}}.blok-input[data-blok-placeholder]:before{content:var(--tw-content);pointer-events:none;content:var(--tw-content);content:var(--tw-content);content:var(--tw-content);width:calc(var(--spacing) * 0);content:var(--tw-content);white-space:nowrap;display:inline-block;position:static!important}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.blok-loader{border-style:var(--tw-border-style);border-width:1px;border-color:var(--blok-line-gray);position:relative}.blok-loader:before{content:var(--tw-content);content:var(--tw-content);content:var(--tw-content);content:var(--tw-content);content:var(--tw-content);content:var(--tw-content);content:var(--tw-content);content:var(--tw-content);width:18px;height:18px;animation:var(--animate-rotation);content:var(--tw-content);content:var(--tw-content);border-style:var(--tw-border-style);content:var(--tw-content);border-width:2px;border-color:var(--blok-line-gray);content:var(--tw-content);border-left-color:var(--blok-active-icon);--tw-content:\"\";content:var(--tw-content);border-radius:3.40282e38px;margin-top:-11px;margin-left:-11px;position:absolute;top:50%;left:50%}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:-webkit-sticky;position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.inset-\\[auto_var\\(--offset\\)_calc\\(var\\(--offset\\)\\+env\\(safe-area-inset-bottom\\)\\)_var\\(--offset\\)\\]{inset:auto var(--offset) calc(var(--offset) + env(safe-area-inset-bottom)) var(--offset)}.start:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){left:var(--spacing)}.start:not(:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){left:var(--spacing)}.start:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){left:var(--spacing)}.start:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:var(--spacing)}.start:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:var(--spacing)}.start:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:var(--spacing)}.end:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){right:var(--spacing)}.end:not(:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){right:var(--spacing)}.end:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){right:var(--spacing)}.end:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:var(--spacing)}.end:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:var(--spacing)}.end:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:var(--spacing)}.top-\\(--popover-top\\){top:var(--popover-top)}.top-0{top:calc(var(--spacing) * 0)}.top-1\\/2{top:50%}.top-\\[2px\\]{top:2px}.top-\\[7px\\]{top:7px}.top-auto{top:auto}.top-full{top:100%}.right-0{right:calc(var(--spacing) * 0)}.right-1{right:calc(var(--spacing) * 1)}.right-5{right:calc(var(--spacing) * 5)}.right-\\[7px\\]{right:7px}.right-full{right:100%}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-1{bottom:calc(var(--spacing) * 1)}.bottom-5{bottom:calc(var(--spacing) * 5)}.left-\\(--popover-left\\){left:var(--popover-left)}.left-0{left:calc(var(--spacing) * 0)}.left-2\\.5{left:calc(var(--spacing) * 2.5)}.left-5{left:calc(var(--spacing) * 5)}.left-auto{left:auto}.z-0{z-index:0}.z-1{z-index:1}.z-2{z-index:2}.z-3{z-index:3}.z-4{z-index:4}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-10000{z-index:10000}.z-overlay{z-index:var(--z-index-overlay)}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.blok-settings-button{margin:calc(var(--spacing) * 0);min-height:var(--spacing-toolbox-btn);min-width:var(--spacing-toolbox-btn);cursor:pointer;border-style:var(--tw-border-style);vertical-align:bottom;color:inherit;--tw-outline-style:none;background-color:transparent;border-width:0;border-radius:3px;outline-style:none;justify-content:center;align-items:center;display:inline-flex}@media (forced-colors:active){.blok-settings-button{outline-offset:2px;outline:2px solid transparent}}@media (max-width:650px){.blok-settings-button{height:var(--spacing-toolbox-btn-mobile);width:var(--spacing-toolbox-btn-mobile);border-radius:var(--radius-lg)}}@media (hover:hover){@media (hover:hover){.blok-settings-button:hover{background-color:var(--blok-bg-light)}}}.blok-settings-button svg{width:auto;height:auto}@media (max-width:650px){.blok-settings-button svg{height:var(--spacing-icon-mobile);width:var(--spacing-icon-mobile)}}.-m-px{margin:-1px}.m-0{margin:calc(var(--spacing) * 0)}.m-0\\!{margin:calc(var(--spacing) * 0)!important}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-block:calc(var(--spacing) * 1)}.my-2{margin-block:calc(var(--spacing) * 2)}.my-2\\.5{margin-block:calc(var(--spacing) * 2.5)}.my-4{margin-block:calc(var(--spacing) * 4)}.blok-button{cursor:pointer;border-style:var(--tw-border-style);border-width:1px;border-color:var(--blok-line-gray);background-color:var(--color-white);text-align:center;color:var(--blok-gray-text);--tw-shadow:0 2px 2px 0 var(--tw-shadow-color,rgba(18,30,57,.04));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);border-radius:3px;padding:13px;font-size:14.9px}@media (hover:hover){.blok-button:hover{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,rgba(18,30,57,.08));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);background-color:#fbfcfe}}.blok-button svg{margin-top:calc(var(--spacing) * -.5);height:calc(var(--spacing) * 5);margin-right:.2em}.-mt-\\[5px\\]{margin-top:-5px}.mt-0\\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-1\\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-\\[-5px\\]{margin-top:-5px}.mt-\\[0\\.3em\\]{margin-top:.3em}.mt-\\[2px\\]{margin-top:2px}.mt-\\[3px\\]{margin-top:3px}.mt-\\[5px\\]{margin-top:5px}.mt-\\[15px\\]{margin-top:15px}.mt-\\[26px\\]{margin-top:26px}.mt-\\[30px\\]{margin-top:30px}.mt-\\[50px\\]{margin-top:50px}.mt-px{margin-top:1px}.mr-0\\!{margin-right:calc(var(--spacing) * 0)!important}.mr-2{margin-right:calc(var(--spacing) * 2)}.mr-2\\!{margin-right:calc(var(--spacing) * 2)!important}.mr-3{margin-right:calc(var(--spacing) * 3)}.mr-6{margin-right:calc(var(--spacing) * 6)}.mr-auto{margin-right:auto}.mb-0\\!{margin-bottom:calc(var(--spacing) * 0)!important}.mb-0\\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1\\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-7{margin-bottom:calc(var(--spacing) * 7)}.mb-\\[0\\.3em\\]{margin-bottom:.3em}.mb-px{margin-bottom:1px}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-3\\.5{margin-left:calc(var(--spacing) * 3.5)}.ml-auto{margin-left:auto}.box-border{box-sizing:border-box}.blok-inline-tool-button{height:100%;width:calc(var(--spacing) * 7);cursor:pointer;border-style:var(--tw-border-style);padding:calc(var(--spacing) * 0);--tw-leading:var(--leading-normal);line-height:var(--leading-normal);color:var(--color-black);background-color:transparent;border-width:0;border-radius:.25rem;justify-content:center;align-items:center;display:flex}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.table-cell{display:table-cell}.table-row{display:table-row}.aspect-square{aspect-ratio:1}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-9{height:calc(var(--spacing) * 9)}.h-\\[2px\\]{height:2px}.h-\\[14px\\]{height:14px}.h-\\[18px\\]{height:18px}.h-\\[26px\\]{height:26px}.h-\\[28px\\]{height:28px}.h-\\[32px\\]{height:32px}.h-\\[34px\\]{height:34px}.h-\\[36px\\]{height:36px}.h-\\[38px\\]{height:38px}.h-\\[50px\\]{height:50px}.h-auto{height:auto}.h-fit{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content}.h-full{height:100%}.h-px{height:1px}.h-toolbox-btn{height:var(--spacing-toolbox-btn)}.max-h-\\(--max-height\\){max-height:var(--max-height)}.max-h-0{max-height:calc(var(--spacing) * 0)}.max-h-0\\!{max-height:calc(var(--spacing) * 0)!important}.max-h-5{max-height:calc(var(--spacing) * 5)}.max-h-9{max-height:calc(var(--spacing) * 9)}.max-h-\\[260px\\]{max-height:260px}.max-h-\\[300px\\]{max-height:300px}.max-h-none{max-height:none}.min-h-\\[1\\.5em\\]{min-height:1.5em}.min-h-\\[2em\\]{min-height:2em}.w-\\(--width\\){width:var(--width)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-9{width:calc(var(--spacing) * 9)}.w-12{width:calc(var(--spacing) * 12)}.w-\\[14px\\]{width:14px}.w-\\[22px\\]{width:22px}.w-\\[26px\\]{width:26px}.w-\\[28px\\]{width:28px}.w-\\[30px\\]{width:30px}.w-\\[32px\\]{width:32px}.w-\\[34px\\]{width:34px}.w-\\[200px\\]{width:200px}.w-\\[230px\\]{width:230px}.w-\\[240px\\]{width:240px}.w-\\[280px\\]{width:280px}.w-\\[400px\\]{width:400px}.w-auto{width:auto}.w-full{width:100%}.w-max{width:-webkit-max-content;width:-moz-max-content;width:max-content}.w-px{width:1px}.w-toolbox-btn{width:var(--spacing-toolbox-btn)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-\\[130px\\]{max-width:130px}.max-w-none{max-width:none}.min-w-\\(--width\\){min-width:var(--width)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\\[calc\\(100\\%-\\(--spacing\\(6\\)\\)-10px\\)\\]{min-width:calc(100% - (calc(var(--spacing) * 6)) - 10px)}.min-w-\\[calc\\(100\\%-var\\(--offset\\)\\*2\\)\\]{min-width:calc(100% - var(--offset) * 2)}.min-w-max{min-width:-webkit-max-content;min-width:-moz-max-content;min-width:max-content}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.translate-x-full{--tw-translate-x:100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-90{rotate:90deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-\\[blok-emoji-empty-in_300ms_ease-out_both\\]{animation:.3s ease-out both blok-emoji-empty-in}.animate-notify-progress{animation:var(--animate-notify-progress)}.animate-notify-slide-in{animation:var(--animate-notify-slide-in)}.animate-notify-slide-out{animation:var(--animate-notify-slide-out)}.blok-settings-button--focused-animated{animation:var(--animate-button-clicked)}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-pointer{cursor:pointer}.cursor-row-resize{cursor:row-resize}.cursor-text{cursor:text}.resize{resize:both}.appearance-none{-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none}.grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.grid-cols-\\[auto_1fr\\]{grid-template-columns:auto 1fr}.grid-rows-\\[auto\\]{grid-template-rows:auto}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-nowrap{flex-wrap:nowrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-start{justify-content:flex-start}.gap-0\\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.overscroll-contain{overscroll-behavior:contain}.rounded{border-radius:.25rem}.rounded-\\[3px\\]{border-radius:3px}.rounded-\\[4px\\]{border-radius:4px}.rounded-\\[5px\\]{border-radius:5px}.rounded-\\[6px\\]{border-radius:6px}.rounded-\\[7px\\]{border-radius:7px}.rounded-\\[10px\\]{border-radius:10px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-lg\\!{border-radius:var(--radius-lg)!important}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-b-\\[6px\\]{border-bottom-right-radius:6px;border-bottom-left-radius:6px}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-r-0{border-right-style:var(--tw-border-style);border-right-width:0}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-0{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-0{border-left-style:var(--tw-border-style);border-left-width:0}.border-l-\\[3px\\]{border-left-style:var(--tw-border-style);border-left-width:3px}.border-none{--tw-border-style:none;border-style:none}.border-\\[\\#e8e8eb\\]{border-color:#e8e8eb}.border-\\[\\#f0f0f0\\]{border-color:#f0f0f0}.border-current{border-color:currentColor}.border-gray-300{border-color:var(--color-gray-300)}.border-line-gray{border-color:var(--blok-line-gray)}.border-link-input-border{border-color:var(--blok-link-input-border)}.border-neutral-100{border-color:var(--color-neutral-100)}.border-neutral-200\\/70{border-color:rgba(229,229,229,.7)}@supports (color:color-mix(in lab, red, red)){.border-neutral-200\\/70{border-color:color-mix(in oklab, var(--color-neutral-200) 70%, transparent)}}.border-search-input-border{border-color:var(--blok-search-input-border)}.border-transparent{border-color:transparent}.blok-inline-tool-button--active{background-color:var(--blok-icon-active-bg);color:var(--blok-icon-active-text)}.blok-settings-button--focused{background-color:var(--blok-item-focus-bg);--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,rgba(7,161,227,.08));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.bg-\\[\\#34c992\\]{background-color:#34c992}.bg-\\[\\#41ffb1\\]{background-color:#41ffb1}.bg-\\[\\#d1d5db\\]{background-color:#d1d5db}.bg-\\[\\#f2f5f7\\]{background-color:#f2f5f7}.bg-\\[\\#f7f7f7\\]{background-color:#f7f7f7}.bg-\\[\\#fafffe\\]\\!{background-color:#fafffe!important}.bg-\\[\\#fb5d5d\\]{background-color:#fb5d5d}.bg-\\[\\#fffbfb\\]\\!{background-color:#fffbfb!important}.bg-bg-light{background-color:var(--blok-bg-light)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-dark{background-color:var(--blok-dark)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-gray-300{background-color:var(--color-gray-300)}.bg-item-confirm-bg\\!{background-color:var(--blok-item-confirm-bg)!important}.bg-item-focus-bg\\!{background-color:var(--blok-item-focus-bg)!important}.bg-item-hover-bg{background-color:var(--blok-item-hover-bg)}.bg-link-input-border{background-color:var(--blok-link-input-border)}.bg-neutral-100{background-color:var(--color-neutral-100)}.bg-popover-bg{background-color:var(--blok-popover-bg)}.bg-popover-border\\/60{background-color:var(--blok-popover-border)}@supports (color:color-mix(in lab, red, red)){.bg-popover-border\\/60{background-color:color-mix(in oklab, var(--blok-popover-border) 60%, transparent)}}.bg-popover-icon-bg{background-color:var(--blok-popover-icon-bg)}.bg-search-input-bg{background-color:var(--blok-search-input-bg)}.bg-selection{background-color:var(--blok-selection)}.bg-selection-highlight{background-color:var(--blok-selection-highlight)}.bg-tooltip-bg{background-color:var(--blok-tooltip-bg)}.bg-transparent{background-color:transparent}.bg-white{background-color:var(--color-white)}.bg-white\\/80{background-color:rgba(255,255,255,.8)}@supports (color:color-mix(in lab, red, red)){.bg-white\\/80{background-color:color-mix(in oklab, var(--color-white) 80%, transparent)}}.bg-linear-to-l{--tw-gradient-position:to left}@supports (background-image:linear-gradient(in lab, red, red)){.bg-linear-to-l{--tw-gradient-position:to left in oklab}}.bg-linear-to-l{background-image:linear-gradient(var(--tw-gradient-stops))}.bg-linear-to-r{--tw-gradient-position:to right}@supports (background-image:linear-gradient(in lab, red, red)){.bg-linear-to-r{--tw-gradient-position:to right in oklab}}.bg-linear-to-r{background-image:linear-gradient(var(--tw-gradient-stops))}.from-white\\/80{--tw-gradient-from:rgba(255,255,255,.8)}@supports (color:color-mix(in lab, red, red)){.from-white\\/80{--tw-gradient-from:color-mix(in oklab, var(--color-white) 80%, transparent)}}.from-white\\/80{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.p-\\(--item-padding\\){padding:var(--item-padding)}.p-0{padding:calc(var(--spacing) * 0)}.p-1{padding:calc(var(--spacing) * 1)}.p-1\\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-\\[3px\\]{padding:3px}.p-\\[8px\\]{padding:8px}.p-\\[16px\\]{padding:16px}.blok-block{padding-top:7px;padding-bottom:7px;padding-left:2px;padding-right:2px}.blok-block::-webkit-input-placeholder{--tw-leading:var(--leading-normal)!important;line-height:var(--leading-normal)!important}.px-0{padding-inline:calc(var(--spacing) * 0)}.px-0\\.5{padding-inline:calc(var(--spacing) * .5)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-\\[2px\\]{padding-left:2px;padding-right:2px}.px-\\[3px\\]{padding-left:3px;padding-right:3px}.px-\\[5px\\]{padding-left:5px;padding-right:5px}.px-\\[18px\\]{padding-left:18px;padding-right:18px}.px-\\[30px\\]{padding-left:30px;padding-right:30px}.py-0{padding-block:calc(var(--spacing) * 0)}.py-0\\!{padding-block:calc(var(--spacing) * 0)!important}.py-0\\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-\\[0\\.2em\\]{padding-top:.2em;padding-bottom:.2em}.py-\\[5px\\]{padding-top:5px;padding-bottom:5px}.py-\\[7px\\]{padding-top:7px;padding-bottom:7px}.py-\\[13px\\]{padding-top:13px;padding-bottom:13px}.pt-1{padding-top:calc(var(--spacing) * 1)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-2\\.5{padding-top:calc(var(--spacing) * 2.5)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-\\[8px\\]{padding-top:8px}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-5{padding-right:calc(var(--spacing) * 5)}.pr-\\[0\\.9em\\]{padding-right:.9em}.pr-\\[5px\\]{padding-right:5px}.pb-1{padding-bottom:calc(var(--spacing) * 1)}.pb-1\\.5{padding-bottom:calc(var(--spacing) * 1.5)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-\\[8px\\]{padding-bottom:8px}.pl-0\\.5{padding-left:calc(var(--spacing) * .5)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-7{padding-left:calc(var(--spacing) * 7)}.pl-8{padding-left:calc(var(--spacing) * 8)}.pl-20{padding-left:calc(var(--spacing) * 20)}.pl-\\[0\\.9em\\]{padding-left:.9em}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-start:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){text-align:left}.text-start:not(:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){text-align:left}.text-start:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){text-align:left}.text-start:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){text-align:right}.text-start:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){text-align:right}.text-start:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){text-align:right}.font-\\[-apple-system\\,BlinkMacSystemFont\\,\\\"Segoe_UI\\\"\\,\\\"Roboto\\\"\\,\\\"Oxygen\\\"\\,\\\"Ubuntu\\\"\\,\\\"Cantarell\\\"\\,\\\"Fira_Sans\\\"\\,\\\"Droid_Sans\\\"\\,\\\"Helvetica_Neue\\\"\\,sans-serif\\]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.font-\\[inherit\\]{font-family:inherit}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\\[1\\.2em\\]{font-size:1.2em}.text-\\[1\\.2rem\\]{font-size:1.2rem}.text-\\[1\\.5rem\\]{font-size:1.5rem}.text-\\[1\\.25rem\\]{font-size:1.25rem}.text-\\[9px\\]{font-size:9px}.text-\\[10\\.5px\\]{font-size:10.5px}.text-\\[10px\\]{font-size:10px}.text-\\[11px\\]{font-size:11px}.text-\\[13px\\]{font-size:13px}.text-\\[14px\\]{font-size:14px}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-\\[1\\.3\\]\\!{--tw-leading:1.3!important;line-height:1.3!important}.leading-\\[1\\.4em\\]{--tw-leading:1.4em;line-height:1.4em}.leading-\\[1\\.5\\]{--tw-leading:1.5;line-height:1.5}.leading-\\[1\\]{--tw-leading:1;line-height:1}.leading-\\[1em\\]{--tw-leading:1em;line-height:1em}.leading-\\[1px\\]{--tw-leading:1px;line-height:1px}.leading-\\[22px\\]{--tw-leading:22px;line-height:22px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\\[0\\.02em\\]{--tw-tracking:.02em;letter-spacing:.02em}.tracking-\\[0\\.12em\\]{--tw-tracking:.12em;letter-spacing:.12em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.wrap-break-word{overflow-wrap:break-word}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.blok-settings-button--active{color:var(--blok-active-icon)}.text-\\[\\#9ca3af\\]{color:#9ca3af}.text-\\[\\#34c992\\]{color:#34c992}.text-\\[\\#656b7c\\]{color:#656b7c}.text-\\[\\#666\\]{color:#666}.text-\\[\\#999\\]{color:#999}.text-\\[\\#bbb\\]{color:#bbb}.text-\\[\\#fb5d5d\\]{color:#fb5d5d}.text-black{color:var(--color-black)}.text-blue-500{color:var(--color-blue-500)}.text-dark{color:var(--blok-dark)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-text,.text-gray-text\\/40{color:var(--blok-gray-text)}@supports (color:color-mix(in lab, red, red)){.text-gray-text\\/40{color:color-mix(in oklab, var(--blok-gray-text) 40%, transparent)}}.text-gray-text\\/50{color:var(--blok-gray-text)}@supports (color:color-mix(in lab, red, red)){.text-gray-text\\/50{color:color-mix(in oklab, var(--blok-gray-text) 50%, transparent)}}.text-inherit{color:inherit}.text-neutral-400{color:var(--color-neutral-400)}.text-neutral-400\\/80{color:rgba(161,161,161,.8)}@supports (color:color-mix(in lab, red, red)){.text-neutral-400\\/80{color:color-mix(in oklab, var(--color-neutral-400) 80%, transparent)}}.text-neutral-500{color:var(--color-neutral-500)}.text-neutral-700{color:var(--color-neutral-700)}.text-neutral-800{color:var(--color-neutral-800)}.text-red-500{color:var(--color-red-500)}.text-text-primary,.text-text-primary\\/60{color:var(--blok-text-primary)}@supports (color:color-mix(in lab, red, red)){.text-text-primary\\/60{color:color-mix(in oklab, var(--blok-text-primary) 60%, transparent)}}.text-text-secondary,.text-text-secondary\\/60{color:var(--blok-text-secondary)}@supports (color:color-mix(in lab, red, red)){.text-text-secondary\\/60{color:color-mix(in oklab, var(--blok-text-secondary) 60%, transparent)}}.text-tooltip-font{color:var(--blok-tooltip-font)}.text-white{color:var(--color-white)}.text-white\\!{color:var(--color-white)!important}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.line-through{-webkit-text-decoration-line:line-through;text-decoration-line:line-through}.underline{-webkit-text-decoration-line:underline;text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.accent-current{accent-color:currentColor}.opacity-0{opacity:0}.opacity-20{opacity:.2}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-80{opacity:.8}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,rgba(0,0,0,.1)), 0 1px 2px -1px var(--tw-shadow-color,rgba(0,0,0,.1));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,rgba(0,0,0,.25));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\\[0_1px_1px_0_rgba\\(18\\,49\\,35\\,0\\.05\\)\\]{--tw-shadow:0 1px 1px 0 var(--tw-shadow-color,rgba(18,49,35,.05));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\\[0_2px_1px_0_rgba\\(16\\,19\\,29\\,0\\)\\]{--tw-shadow:0 2px 1px 0 var(--tw-shadow-color,rgba(16,19,29,0));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,rgba(0,0,0,.1)), 0 4px 6px -4px var(--tw-shadow-color,rgba(0,0,0,.1));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 transparent;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-notify{--tw-shadow:0 11px 17px 0 var(--tw-shadow-color,rgba(23,32,61,.13));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,rgba(0,0,0,.1)), 0 1px 2px -1px var(--tw-shadow-color,rgba(0,0,0,.1));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-tooltip{--tw-shadow:0 8px 12px 0 var(--tw-shadow-color,rgba(29,32,43,.17)), 0 4px 5px -3px var(--tw-shadow-color,rgba(5,6,12,.49));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,rgba(0,0,0,.1)), 0 8px 10px -6px var(--tw-shadow-color,rgba(0,0,0,.1));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-neutral-300\\/60{--tw-ring-color:rgba(212,212,212,.6)}@supports (color:color-mix(in lab, red, red)){.ring-neutral-300\\/60{--tw-ring-color:color-mix(in oklab, var(--color-neutral-300) 60%, transparent)}}.ring-swatch-ring-hover{--tw-ring-color:var(--blok-swatch-ring-hover)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid transparent}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.blur-sm{--tw-blur:blur(var(--blur-sm));filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.sepia{--tw-sepia:sepia(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,-webkit-text-decoration-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[box-shadow\\,transform\\]{transition-property:box-shadow,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[left\\]{transition-property:left;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[margin\\]{transition-property:margin;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[opacity\\,background-color\\,width\\,height\\]{transition-property:opacity,background-color,width,height;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[opacity\\,background-color\\,width\\]{transition-property:opacity,background-color,width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,-webkit-text-decoration-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-none{transition-property:none}.duration-75{--tw-duration:75ms;transition-duration:75ms}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-250{--tw-duration:.25s;transition-duration:.25s}.duration-\\[180ms\\]{--tw-duration:.18s;transition-duration:.18s}.duration-\\[220ms\\]{--tw-duration:.22s;transition-duration:.22s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-linear{--tw-ease:linear;transition-timing-function:linear}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.\\[transition-timing-function\\:cubic-bezier\\(0\\.34\\,1\\.56\\,0\\.64\\,1\\)\\]{transition-timing-function:cubic-bezier(.34,1.56,.64,1)}.will-change-\\[opacity\\,left\\,top\\]{will-change:opacity,left,top}.will-change-\\[opacity\\,top\\]{will-change:opacity,top}.outline-solid{--tw-outline-style:solid;outline-style:solid}.select-all{-webkit-user-select:all;-moz-user-select:all;-ms-user-select:all;user-select:all}.select-none{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.\\[clip\\:rect\\(0\\,0\\,0\\,0\\)\\]{clip:rect(0,0,0,0)}.\\[direction\\:rtl\\]{direction:rtl}.block-1{height:calc(var(--spacing) * 1)}.block-2{height:calc(var(--spacing) * 2)}.block-3{height:calc(var(--spacing) * 3)}.ring-inset{--tw-ring-inset:inset}@media (hover:hover){.group-hover\\:text-\\[\\#666\\]:is(:where(.group):hover *){color:#666}.group-hover\\/add\\:bg-gray-50:is(:where(.group\\/add):hover *){background-color:var(--color-gray-50)}}.group-data-\\[blok-block-settings-opened\\=true\\]\\:bg-bg-light:is(:where(.group)[data-blok-block-settings-opened=true] *){background-color:var(--blok-bg-light)}.group-data-\\[blok-dragging\\=true\\]\\:pointer-events-none:is(:where(.group)[data-blok-dragging=true] *){pointer-events:none}.group-data-\\[blok-dragging\\=true\\]\\:cursor-grabbing:is(:where(.group)[data-blok-dragging=true] *){cursor:grabbing}.group-data-\\[blok-rtl\\=true\\]\\:right-\\[calc\\(-1\\*\\(var\\(--spacing-toolbox-btn\\)\\)\\)\\]:is(:where(.group)[data-blok-rtl=true] *){right:calc(-1 * (var(--spacing-toolbox-btn)))}.group-data-\\[blok-rtl\\=true\\]\\:right-auto:is(:where(.group)[data-blok-rtl=true] *){right:auto}.group-data-\\[blok-rtl\\=true\\]\\:left-\\[calc\\(-1\\*\\(var\\(--spacing-toolbox-btn\\)\\)\\)\\]:is(:where(.group)[data-blok-rtl=true] *){left:calc(-1 * (var(--spacing-toolbox-btn)))}.group-data-\\[blok-rtl\\=true\\]\\:left-auto:is(:where(.group)[data-blok-rtl=true] *){left:auto}.group-data-\\[blok-toolbox-opened\\=true\\]\\:bg-bg-light:is(:where(.group)[data-blok-toolbox-opened=true] *){background-color:var(--blok-bg-light)}.placeholder\\:font-normal::-ms-input-placeholder{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.placeholder\\:font-normal::placeholder{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.placeholder\\:text-\\[\\#656b7c\\]::-ms-input-placeholder{color:#656b7c}.placeholder\\:text-\\[\\#656b7c\\]::placeholder{color:#656b7c}.placeholder\\:text-gray-text::-ms-input-placeholder{color:var(--blok-gray-text)}.placeholder\\:text-gray-text::placeholder{color:var(--blok-gray-text)}.placeholder\\:text-gray-text\\/80::-ms-input-placeholder{color:var(--blok-gray-text)}.placeholder\\:text-gray-text\\/80::placeholder{color:var(--blok-gray-text)}@supports (color:color-mix(in lab, red, red)){.placeholder\\:text-gray-text\\/80::-ms-input-placeholder{color:color-mix(in oklab, var(--blok-gray-text) 80%, transparent)}.placeholder\\:text-gray-text\\/80::placeholder{color:color-mix(in oklab, var(--blok-gray-text) 80%, transparent)}}.placeholder\\:text-neutral-400::-ms-input-placeholder{color:var(--color-neutral-400)}.placeholder\\:text-neutral-400::placeholder{color:var(--color-neutral-400)}.before\\:absolute:before{content:var(--tw-content);position:absolute}.before\\:inset-0:before{content:var(--tw-content);inset:calc(var(--spacing) * 0)}.before\\:top-0:before{content:var(--tw-content);top:calc(var(--spacing) * 0)}.before\\:left-0:before{content:var(--tw-content);left:calc(var(--spacing) * 0)}.before\\:-z-10:before{content:var(--tw-content);z-index:calc(10 * -1)}.before\\:m-\\[3px\\]:before{content:var(--tw-content);margin:3px}.before\\:block:before{content:var(--tw-content);display:block}.before\\:h-\\[calc\\(100\\%-6px\\)\\]:before{content:var(--tw-content);height:calc(100% - 6px)}.before\\:w-\\[3px\\]:before{content:var(--tw-content);width:3px}.before\\:rounded-\\[5px\\]:before{content:var(--tw-content);border-radius:5px}.before\\:rounded-lg:before{content:var(--tw-content);border-radius:var(--radius-lg)}.before\\:bg-\\[\\#41ffb1\\]\\!:before{content:var(--tw-content);background-color:#41ffb1!important}.before\\:bg-\\[\\#fb5d5d\\]\\!:before{content:var(--tw-content);background-color:#fb5d5d!important}.before\\:bg-tooltip-bg:before{content:var(--tw-content);background-color:var(--blok-tooltip-bg)}.before\\:bg-transparent:before{content:var(--tw-content);background-color:transparent}.before\\:content-\\[\\\"\\\"\\]:before{--tw-content:\"\";content:var(--tw-content)}.before\\:content-\\[\\\\\\'\\\\\\'\\]:before{--tw-content:\\'\\';content:var(--tw-content)}.after\\:pointer-events-none:after{content:var(--tw-content);pointer-events:none}.after\\:absolute:after{content:var(--tw-content);position:absolute}.after\\:right-0:after{content:var(--tw-content);right:calc(var(--spacing) * 0)}.after\\:-bottom-10:after{content:var(--tw-content);bottom:calc(var(--spacing) * -10)}.after\\:left-0:after{content:var(--tw-content);left:calc(var(--spacing) * 0)}.after\\:h-10:after{content:var(--tw-content);height:calc(var(--spacing) * 10)}.after\\:content-\\[\\\"\\\"\\]:after{--tw-content:\"\";content:var(--tw-content)}.first\\:mt-0:first-child{margin-top:calc(var(--spacing) * 0)}.last\\:mb-0:last-child{margin-bottom:calc(var(--spacing) * 0)}.last\\:ml-2\\.5:last-child{margin-left:calc(var(--spacing) * 2.5)}.last\\:pb-0:last-child{padding-bottom:calc(var(--spacing) * 0)}.empty\\:before\\:pointer-events-none:empty:before{content:var(--tw-content);pointer-events:none}.empty\\:before\\:cursor-text:empty:before{content:var(--tw-content);cursor:text}.empty\\:before\\:text-gray-text:empty:before{content:var(--tw-content);color:var(--blok-gray-text)}.empty\\:before\\:content-\\[attr\\(data-blok-placeholder\\)\\]:empty:before{--tw-content:attr(data-blok-placeholder);content:var(--tw-content)}.empty\\:before\\:content-\\[attr\\(data-blok-placeholder-active\\)\\]:empty:before{--tw-content:attr(data-blok-placeholder-active);content:var(--tw-content)}.empty\\:before\\:content-\\[attr\\(data-placeholder\\)\\]:empty:before{--tw-content:attr(data-placeholder);content:var(--tw-content)}.focus-within\\:border-search-input-focus-border:focus-within{border-color:var(--blok-search-input-focus-border)}.focus-within\\:shadow-\\[0_0_0_2px_rgba\\(35\\,131\\,226\\,0\\.15\\)\\]:focus-within{--tw-shadow:0 0 0 2px var(--tw-shadow-color,rgba(35,131,226,.15));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}@media (hover:hover){.hover\\:scale-110:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\\:border-\\[\\#ccc\\]:hover{border-color:#ccc}.hover\\:bg-\\[\\#2db583\\]:hover{background-color:#2db583}.hover\\:bg-\\[\\#e9ecee\\]:hover{background-color:#e9ecee}.hover\\:bg-\\[\\#f7f7f8\\]:hover{background-color:#f7f7f8}.hover\\:bg-neutral-100:hover{background-color:var(--color-neutral-100)}.hover\\:text-\\[\\#333\\]:hover{color:#333}.hover\\:text-neutral-600:hover{color:var(--color-neutral-600)}.hover\\:opacity-100:hover{opacity:1}.hover\\:ring-2:hover{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\\:ring-swatch-ring-hover:hover{--tw-ring-color:var(--blok-swatch-ring-hover)}}.focus\\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\\:ring-neutral-300\\/60:focus{--tw-ring-color:rgba(212,212,212,.6)}@supports (color:color-mix(in lab, red, red)){.focus\\:ring-neutral-300\\/60:focus{--tw-ring-color:color-mix(in oklab, var(--color-neutral-300) 60%, transparent)}}.focus\\:placeholder\\:text-\\[rgba\\(101\\,107\\,124\\,0\\.3\\)\\]:focus::-ms-input-placeholder{color:rgba(101,107,124,.3)}.focus\\:placeholder\\:text-\\[rgba\\(101\\,107\\,124\\,0\\.3\\)\\]:focus::placeholder{color:rgba(101,107,124,.3)}.empty\\:focus\\:before\\:pointer-events-none:empty:focus:before{content:var(--tw-content);pointer-events:none}.empty\\:focus\\:before\\:cursor-text:empty:focus:before{content:var(--tw-content);cursor:text}.empty\\:focus\\:before\\:text-gray-text:empty:focus:before{content:var(--tw-content);color:var(--blok-gray-text)}.empty\\:focus\\:before\\:content-\\[attr\\(data-blok-placeholder-active\\)\\]:empty:focus:before{--tw-content:attr(data-blok-placeholder-active);content:var(--tw-content)}.focus-visible\\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\\:ring-blue-500:focus-visible{--tw-ring-color:var(--color-blue-500)}.focus-visible\\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\\:scale-90:active{--tw-scale-x:90%;--tw-scale-y:90%;--tw-scale-z:90%;scale:var(--tw-scale-x) var(--tw-scale-y)}.active\\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.active\\:cursor-grabbing:active{cursor:grabbing}:where([data-blok-empty=true]) .empty\\:in-data-\\[blok-empty\\=true\\]\\:before\\:pointer-events-none:empty:before{content:var(--tw-content);pointer-events:none}:where([data-blok-empty=true]) .empty\\:in-data-\\[blok-empty\\=true\\]\\:before\\:cursor-text:empty:before{content:var(--tw-content);cursor:text}:where([data-blok-empty=true]) .empty\\:in-data-\\[blok-empty\\=true\\]\\:before\\:text-gray-text:empty:before{content:var(--tw-content);color:var(--blok-gray-text)}:where([data-blok-empty=true]) .empty\\:in-data-\\[blok-empty\\=true\\]\\:before\\:content-\\[attr\\(data-blok-placeholder-active\\)\\]:empty:before{--tw-content:attr(data-blok-placeholder-active);content:var(--tw-content)}.data-blok-force-hover\\:cursor-pointer[data-blok-force-hover]{cursor:pointer}.data-blok-force-hover\\:bg-item-hover-bg[data-blok-force-hover]{background-color:var(--blok-item-hover-bg)}.data-blok-popover-item-active\\:bg-icon-active-bg[data-blok-popover-item-active]{background-color:var(--blok-icon-active-bg)}.data-blok-popover-item-active\\:text-icon-active-text[data-blok-popover-item-active]{color:var(--blok-icon-active-text)}.data-blok-popover-item-no-hover\\:cursor-default[data-blok-popover-item-no-hover]{cursor:default}@media (hover:hover){.data-blok-popover-item-no-hover\\:hover\\:bg-transparent[data-blok-popover-item-no-hover]:hover{background-color:transparent}}.data-\\[blok-dragging\\=true\\]\\:cursor-grabbing[data-blok-dragging=true]{cursor:grabbing}.data-\\[blok-empty\\=true\\]\\:before\\:pointer-events-none[data-blok-empty=true]:before{content:var(--tw-content);pointer-events:none}.data-\\[blok-empty\\=true\\]\\:before\\:cursor-text[data-blok-empty=true]:before{content:var(--tw-content);cursor:text}.data-\\[blok-empty\\=true\\]\\:before\\:text-gray-text[data-blok-empty=true]:before{content:var(--tw-content);color:var(--blok-gray-text)}.data-\\[blok-empty\\=true\\]\\:before\\:content-\\[attr\\(data-blok-placeholder\\)\\][data-blok-empty=true]:before{--tw-content:attr(data-blok-placeholder);content:var(--tw-content)}.data-\\[blok-empty\\=true\\]\\:before\\:content-\\[attr\\(data-placeholder\\)\\][data-blok-empty=true]:before{--tw-content:attr(data-placeholder);content:var(--tw-content)}.data-\\[blok-focused\\=\\\"true\\\"\\]\\:bg-item-focus-bg[data-blok-focused=true]{background-color:var(--blok-item-focus-bg)}:is(.\\*\\*\\:data-\\[blok-tool\\=stub\\]\\:opacity-55 *)[data-blok-tool=stub]{opacity:.55}.data-\\[empty\\=true\\]\\:before\\:pointer-events-none[data-empty=true]:before{content:var(--tw-content);pointer-events:none}.data-\\[empty\\=true\\]\\:before\\:cursor-text[data-empty=true]:before{content:var(--tw-content);cursor:text}.data-\\[empty\\=true\\]\\:before\\:text-gray-text[data-empty=true]:before{content:var(--tw-content);color:var(--blok-gray-text)}.data-\\[empty\\=true\\]\\:before\\:content-\\[attr\\(data-blok-placeholder-active\\)\\][data-empty=true]:before{--tw-content:attr(data-blok-placeholder-active);content:var(--tw-content)}@media not all and (min-width:48rem){.max-md\\:px-5{padding-inline:calc(var(--spacing) * 5)}}@media (max-width:650px){.mobile\\:absolute{position:absolute}.mobile\\:right-auto{right:auto}.mobile\\:z-2{z-index:2}.mobile\\:hidden{display:none}.mobile\\:h-toolbox-btn-mobile{height:var(--spacing-toolbox-btn-mobile)}.mobile\\:w-toolbox-btn-mobile{width:var(--spacing-toolbox-btn-mobile)}.mobile\\:rounded-\\[6px\\]{border-radius:6px}.mobile\\:border{border-style:var(--tw-border-style);border-width:1px}.mobile\\:border-mobile-border{border-color:var(--blok-mobile-border)}.mobile\\:bg-popover-bg{background-color:var(--blok-popover-bg)}.mobile\\:p-1{padding:calc(var(--spacing) * 1)}.mobile\\:text-\\[15px\\]{font-size:15px}.mobile\\:font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.mobile\\:shadow-overlay-pane{--tw-shadow:0 3px 15px -3px var(--tw-shadow-color,rgba(13,20,33,.13));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.mobile\\:group-data-\\[blok-rtl\\=true\\]\\:mr-auto:is(:where(.group)[data-blok-rtl=true] *){margin-right:auto}.mobile\\:group-data-\\[blok-rtl\\=true\\]\\:ml-0:is(:where(.group)[data-blok-rtl=true] *){margin-left:calc(var(--spacing) * 0)}.mobile\\:group-data-\\[blok-rtl\\=true\\]\\:pr-0:is(:where(.group)[data-blok-rtl=true] *){padding-right:calc(var(--spacing) * 0)}.mobile\\:group-data-\\[blok-rtl\\=true\\]\\:pl-\\[10px\\]:is(:where(.group)[data-blok-rtl=true] *){padding-left:10px}}@media (min-width:651px){.not-mobile\\:w-6{width:calc(var(--spacing) * 6)}}@media (hover:hover){@media (hover:hover){.can-hover\\:hover\\:cursor-grab:hover{cursor:grab}.can-hover\\:hover\\:cursor-pointer:hover{cursor:pointer}.can-hover\\:hover\\:bg-bg-light:hover{background-color:var(--blok-bg-light)}.can-hover\\:hover\\:bg-item-hover-bg:hover{background-color:var(--blok-item-hover-bg)}.can-hover\\:hover\\:bg-neutral-100:hover{background-color:var(--color-neutral-100)}.can-hover\\:hover\\:group-data-\\[blok-block-settings-opened\\=true\\]\\:cursor-pointer:hover:is(:where(.group)[data-blok-block-settings-opened=true] *){cursor:pointer}.can-hover\\:hover\\:group-data-\\[blok-toolbox-opened\\=true\\]\\:cursor-pointer:hover:is(:where(.group)[data-blok-toolbox-opened=true] *){cursor:pointer}.can-hover\\:data-blok-popover-item-destructive\\:hover\\:bg-item-destructive-hover-bg[data-blok-popover-item-destructive]:hover{background-color:var(--blok-item-destructive-hover-bg)}.can-hover\\:data-blok-popover-item-destructive\\:hover\\:text-item-destructive-text[data-blok-popover-item-destructive]:hover{color:var(--blok-item-destructive-text)}}}.theme-dark\\:border-neutral-700\\/50:where([data-theme=dark],[data-theme=dark] *){border-color:rgba(64,64,64,.5)}@supports (color:color-mix(in lab, red, red)){.theme-dark\\:border-neutral-700\\/50:where([data-theme=dark],[data-theme=dark] *){border-color:color-mix(in oklab, var(--color-neutral-700) 50%, transparent)}}.theme-dark\\:border-neutral-800:where([data-theme=dark],[data-theme=dark] *){border-color:var(--color-neutral-800)}.theme-dark\\:bg-neutral-700:where([data-theme=dark],[data-theme=dark] *){background-color:var(--color-neutral-700)}.theme-dark\\:bg-neutral-800:where([data-theme=dark],[data-theme=dark] *){background-color:var(--color-neutral-800)}.theme-dark\\:bg-neutral-900:where([data-theme=dark],[data-theme=dark] *){background-color:var(--color-neutral-900)}.theme-dark\\:text-neutral-200:where([data-theme=dark],[data-theme=dark] *){color:var(--color-neutral-200)}.theme-dark\\:text-neutral-300:where([data-theme=dark],[data-theme=dark] *){color:var(--color-neutral-300)}.theme-dark\\:text-neutral-400:where([data-theme=dark],[data-theme=dark] *){color:var(--color-neutral-400)}.theme-dark\\:text-neutral-500:where([data-theme=dark],[data-theme=dark] *){color:var(--color-neutral-500)}.theme-dark\\:text-neutral-500\\/80:where([data-theme=dark],[data-theme=dark] *){color:rgba(115,115,115,.8)}@supports (color:color-mix(in lab, red, red)){.theme-dark\\:text-neutral-500\\/80:where([data-theme=dark],[data-theme=dark] *){color:color-mix(in oklab, var(--color-neutral-500) 80%, transparent)}}.theme-dark\\:ring-neutral-600\\/60:where([data-theme=dark],[data-theme=dark] *){--tw-ring-color:rgba(82,82,82,.6)}@supports (color:color-mix(in lab, red, red)){.theme-dark\\:ring-neutral-600\\/60:where([data-theme=dark],[data-theme=dark] *){--tw-ring-color:color-mix(in oklab, var(--color-neutral-600) 60%, transparent)}}.theme-dark\\:placeholder\\:text-neutral-500:where([data-theme=dark],[data-theme=dark] *)::-ms-input-placeholder{color:var(--color-neutral-500)}.theme-dark\\:placeholder\\:text-neutral-500:where([data-theme=dark],[data-theme=dark] *)::placeholder{color:var(--color-neutral-500)}@media (hover:hover){.theme-dark\\:hover\\:bg-neutral-700:where([data-theme=dark],[data-theme=dark] *):hover{background-color:var(--color-neutral-700)}.theme-dark\\:hover\\:bg-neutral-800:where([data-theme=dark],[data-theme=dark] *):hover{background-color:var(--color-neutral-800)}.theme-dark\\:hover\\:text-neutral-300:where([data-theme=dark],[data-theme=dark] *):hover{color:var(--color-neutral-300)}}.theme-dark\\:focus\\:ring-neutral-600\\/60:where([data-theme=dark],[data-theme=dark] *):focus{--tw-ring-color:rgba(82,82,82,.6)}@supports (color:color-mix(in lab, red, red)){.theme-dark\\:focus\\:ring-neutral-600\\/60:where([data-theme=dark],[data-theme=dark] *):focus{--tw-ring-color:color-mix(in oklab, var(--color-neutral-600) 60%, transparent)}}@media (hover:hover){@media (hover:hover){.theme-dark\\:can-hover\\:hover\\:bg-neutral-800:where([data-theme=dark],[data-theme=dark] *):hover{background-color:var(--color-neutral-800)}}}.\\[\\&_\\:\\:selection\\]\\:bg-selection-inline ::-moz-selection{background-color:var(--blok-selection-inline)}.\\[\\&_\\:\\:selection\\]\\:bg-selection-inline ::selection{background-color:var(--blok-selection-inline)}.\\[\\&_\\[contenteditable\\]\\:empty\\]\\:after\\:content-\\[\\\"\\\\\\\\feff_\\\"\\] [contenteditable]:empty:after{--tw-content:\"\\\\feff \";content:var(--tw-content)}.\\[\\&_a\\]\\:cursor-pointer a{cursor:pointer}.\\[\\&_a\\]\\:text-link a{color:var(--blok-link)}.\\[\\&_a\\]\\:underline a{-webkit-text-decoration-line:underline;text-decoration-line:underline}.\\[\\&_b\\]\\:font-bold b{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.\\[\\&_div\\]\\:m-0\\! div{margin:calc(var(--spacing) * 0)!important}.\\[\\&_div\\]\\:p-0\\! div{padding:calc(var(--spacing) * 0)!important}.\\[\\&_i\\]\\:italic i{font-style:italic}.\\[\\&_img\\]\\:opacity-55 img{opacity:.55}.\\[\\&_p\\]\\:m-0\\! p{margin:calc(var(--spacing) * 0)!important}.\\[\\&_p\\]\\:p-0\\! p{padding:calc(var(--spacing) * 0)!important}.\\[\\&_path\\]\\:stroke-current path{stroke:currentColor}.\\[\\&_svg\\]\\:block svg{display:block}.\\[\\&_svg\\]\\:size-icon svg{width:var(--spacing-icon);height:var(--spacing-icon)}.\\[\\&_svg\\]\\:h-6 svg{height:calc(var(--spacing) * 6)}.\\[\\&_svg\\]\\:h-7 svg{height:calc(var(--spacing) * 7)}.\\[\\&_svg\\]\\:h-\\[22px\\] svg{height:22px}.\\[\\&_svg\\]\\:h-icon svg{height:var(--spacing-icon)}.\\[\\&_svg\\]\\:max-h-full svg{max-height:100%}.\\[\\&_svg\\]\\:w-6 svg{width:calc(var(--spacing) * 6)}.\\[\\&_svg\\]\\:w-7 svg{width:calc(var(--spacing) * 7)}.\\[\\&_svg\\]\\:w-\\[22px\\] svg{width:22px}.\\[\\&_svg\\]\\:w-icon svg{width:var(--spacing-icon)}.\\[\\&_svg\\]\\:text-gray-text svg{color:var(--blok-gray-text)}@media (max-width:650px){.mobile\\:\\[\\&_svg\\]\\:h-icon-mobile svg{height:var(--spacing-icon-mobile)}.mobile\\:\\[\\&_svg\\]\\:w-icon-mobile svg{width:var(--spacing-icon-mobile)}}:is(.\\*\\*\\:\\[\\[contenteditable\\]\\]\\:select-none *)[contenteditable]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:is(.\\*\\*\\:\\[\\[hidden\\]\\]\\:hidden\\! *)[hidden]{display:none!important}.\\[\\&\\>p\\:first-of-type\\]\\:mt-0>p:first-of-type{margin-top:calc(var(--spacing) * 0)}.\\[\\&\\>p\\:last-of-type\\]\\:mb-0>p:last-of-type{margin-bottom:calc(var(--spacing) * 0)}.\\[\\&\\>svg\\]\\:size-7>svg{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.\\[\\&\\>svg\\]\\:h-9>svg{height:calc(var(--spacing) * 9)}.\\[\\&\\>svg\\]\\:h-\\[16px\\]>svg{height:16px}.\\[\\&\\>svg\\]\\:h-\\[20px\\]>svg{height:20px}.\\[\\&\\>svg\\]\\:w-9>svg{width:calc(var(--spacing) * 9)}.\\[\\&\\>svg\\]\\:w-\\[16px\\]>svg{width:16px}.\\[\\&\\>svg\\]\\:w-\\[20px\\]>svg{width:20px}.\\[\\&\\[data-blok-popover-item-destructive\\]\\[data-blok-focused\\=\\\"true\\\"\\]\\]\\:bg-item-destructive-hover-bg[data-blok-popover-item-destructive][data-blok-focused=true]{background-color:var(--blok-item-destructive-hover-bg)}.\\[\\&\\[data-blok-popover-item-destructive\\]\\[data-blok-focused\\=\\\"true\\\"\\]\\]\\:text-item-destructive-text[data-blok-popover-item-destructive][data-blok-focused=true]{color:var(--blok-item-destructive-text)}.\\[\\&\\[data-blok-popover-item-destructive\\]\\[data-blok-force-hover\\]\\]\\:bg-item-destructive-hover-bg[data-blok-popover-item-destructive][data-blok-force-hover]{background-color:var(--blok-item-destructive-hover-bg)}.\\[\\&\\[data-blok-popover-item-destructive\\]\\[data-blok-force-hover\\]\\]\\:text-item-destructive-text[data-blok-popover-item-destructive][data-blok-force-hover]{color:var(--blok-item-destructive-text)}.\\[\\&\\[data-blok-toolbox-opened\\=true\\]_\\[contentEditable\\=true\\]\\[data-blok-placeholder\\]\\:focus\\]\\:before\\:opacity-0\\![data-blok-toolbox-opened=true] [contentEditable=\"true\"][data-blok-placeholder]:focus:before{content:var(--tw-content);opacity:0!important}.\\[\\&\\[data-empty\\=true\\]\\:focus\\]\\:before\\:pointer-events-none[data-empty=true]:focus:before{content:var(--tw-content);pointer-events:none}.\\[\\&\\[data-empty\\=true\\]\\:focus\\]\\:before\\:cursor-text[data-empty=true]:focus:before{content:var(--tw-content);cursor:text}.\\[\\&\\[data-empty\\=true\\]\\:focus\\]\\:before\\:text-gray-text[data-empty=true]:focus:before{content:var(--tw-content);color:var(--blok-gray-text)}.\\[\\&\\[data-empty\\=true\\]\\:focus\\]\\:before\\:content-\\[attr\\(data-blok-placeholder-active\\)\\][data-empty=true]:focus:before{--tw-content:attr(data-blok-placeholder-active);content:var(--tw-content)}[data-blok-empty=true] .\\[\\[data-blok-empty\\=true\\]_\\&\\[data-empty\\=true\\]\\]\\:before\\:pointer-events-none[data-empty=true]:before{content:var(--tw-content);pointer-events:none}[data-blok-empty=true] .\\[\\[data-blok-empty\\=true\\]_\\&\\[data-empty\\=true\\]\\]\\:before\\:cursor-text[data-empty=true]:before{content:var(--tw-content);cursor:text}[data-blok-empty=true] .\\[\\[data-blok-empty\\=true\\]_\\&\\[data-empty\\=true\\]\\]\\:before\\:text-gray-text[data-empty=true]:before{content:var(--tw-content);color:var(--blok-gray-text)}[data-blok-empty=true] .\\[\\[data-blok-empty\\=true\\]_\\&\\[data-empty\\=true\\]\\]\\:before\\:content-\\[attr\\(data-blok-placeholder-active\\)\\][data-empty=true]:before{--tw-content:attr(data-blok-placeholder-active);content:var(--tw-content)}[data-blok-interface=blok]{all:initial!important;box-sizing:border-box!important;z-index:1!important;display:block!important;position:relative!important}[data-blok-interface=blok][data-blok-rtl=true]{direction:rtl!important}[data-blok-interface=blok],[data-blok-interface=tooltip]{font-family:var(--blok-font-family,ui-sans-serif, system-ui, sans-serif)!important;color:var(--blok-text-primary)!important}[data-blok-interface=blok],[data-blok-interface=tooltip],[data-blok-popover]{--radius:.25rem;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--radius-4xl:2rem}[data-blok-popover]:not([data-blok-popover-inline]),[data-blok-interface=tooltip]{color:initial!important;font-family:var(--blok-font-family,ui-sans-serif, system-ui, sans-serif)!important;font-size:initial!important;font-weight:initial!important;font-style:initial!important;font-variant:initial!important;font-stretch:initial!important;line-height:initial!important;letter-spacing:initial!important;word-spacing:initial!important;text-align:initial!important;text-indent:initial!important;text-transform:initial!important;-webkit-text-decoration:initial!important;-webkit-text-decoration:initial!important;-webkit-text-decoration:initial!important;text-decoration:initial!important;text-shadow:initial!important;white-space:initial!important;word-break:initial!important;overflow-wrap:initial!important;cursor:initial!important;pointer-events:initial!important;user-select:initial!important;direction:initial!important;list-style:initial!important;quotes:initial!important;border-collapse:initial!important;border-spacing:initial!important;empty-cells:initial!important;caption-side:initial!important;scrollbar-width:initial!important;scrollbar-color:initial!important}:where([data-blok-interface],[data-blok-popover]) *{box-sizing:border-box;border:0 solid;margin:0;padding:0}:where([data-blok-interface],[data-blok-popover]) :after{box-sizing:border-box;border:0 solid;margin:0;padding:0}:where([data-blok-interface],[data-blok-popover]) :before{box-sizing:border-box;border:0 solid;margin:0;padding:0}:where([data-blok-interface],[data-blok-popover]) ::-ms-backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}:where([data-blok-interface],[data-blok-popover]) ::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}:where([data-blok-interface],[data-blok-popover]) ::-webkit-file-upload-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:where([data-blok-interface],[data-blok-popover]) ::-ms-browse{box-sizing:border-box;border:0 solid;margin:0;padding:0}:where([data-blok-interface],[data-blok-popover]) ::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:where([data-blok-interface],[data-blok-popover]) hr{height:0;color:inherit;border-top-width:1px}:where([data-blok-interface],[data-blok-popover]) abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}[data-blok-interface] :-webkit-any(h1,h2,h3,h4,h5,h6){letter-spacing:inherit!important;font-family:inherit!important}[data-blok-interface] :-moz-any(h1,h2,h3,h4,h5,h6){letter-spacing:inherit!important;font-family:inherit!important}[data-blok-interface] :is(h1,h2,h3,h4,h5,h6){letter-spacing:inherit!important;font-family:inherit!important}[data-blok-popover] :-webkit-any(h1,h2,h3,h4,h5,h6){letter-spacing:inherit!important;font-family:inherit!important}[data-blok-popover] :-moz-any(h1,h2,h3,h4,h5,h6){letter-spacing:inherit!important;font-family:inherit!important}[data-blok-popover] :is(h1,h2,h3,h4,h5,h6){letter-spacing:inherit!important;font-family:inherit!important}:where([data-blok-interface],[data-blok-popover]) a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}:where([data-blok-interface],[data-blok-popover]) :-webkit-any(b,strong){font-weight:bolder}:where([data-blok-interface],[data-blok-popover]) :-moz-any(b,strong){font-weight:bolder}:where([data-blok-interface],[data-blok-popover]) :is(b,strong){font-weight:bolder}:where([data-blok-interface],[data-blok-popover]) mark{color:inherit}:where([data-blok-interface],[data-blok-popover]) :-webkit-any(code,kbd,samp,pre){font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}:where([data-blok-interface],[data-blok-popover]) :-moz-any(code,kbd,samp,pre){font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}:where([data-blok-interface],[data-blok-popover]) :is(code,kbd,samp,pre){font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}:where([data-blok-interface],[data-blok-popover]) small{font-size:80%}:where([data-blok-interface],[data-blok-popover]) :-webkit-any(sub,sup){vertical-align:baseline;font-size:75%;line-height:0;position:relative}:where([data-blok-interface],[data-blok-popover]) :-moz-any(sub,sup){vertical-align:baseline;font-size:75%;line-height:0;position:relative}:where([data-blok-interface],[data-blok-popover]) :is(sub,sup){vertical-align:baseline;font-size:75%;line-height:0;position:relative}:where([data-blok-interface],[data-blok-popover]) sub{bottom:-.25em}:where([data-blok-interface],[data-blok-popover]) sup{top:-.5em}:where([data-blok-interface],[data-blok-popover]) table{text-indent:0;border-color:inherit;border-collapse:collapse}:where([data-blok-interface],[data-blok-popover]) :-moz-focusring{outline:auto}:where([data-blok-interface],[data-blok-popover]) progress{vertical-align:baseline}:where([data-blok-interface],[data-blok-popover]) summary{display:list-item}:where([data-blok-interface],[data-blok-popover]) :-webkit-any(ol,ul,menu){list-style:none}:where([data-blok-interface],[data-blok-popover]) :-moz-any(ol,ul,menu){list-style:none}:where([data-blok-interface],[data-blok-popover]) :is(ol,ul,menu){list-style:none}:where([data-blok-interface],[data-blok-popover]) :-webkit-any(img,svg,video,canvas,audio,iframe,embed,object){vertical-align:middle;display:block}:where([data-blok-interface],[data-blok-popover]) :-moz-any(img,svg,video,canvas,audio,iframe,embed,object){vertical-align:middle;display:block}:where([data-blok-interface],[data-blok-popover]) :is(img,svg,video,canvas,audio,iframe,embed,object){vertical-align:middle;display:block}:where([data-blok-interface],[data-blok-popover]) :-webkit-any(img,video){max-width:100%;height:auto}:where([data-blok-interface],[data-blok-popover]) :-moz-any(img,video){max-width:100%;height:auto}:where([data-blok-interface],[data-blok-popover]) :is(img,video){max-width:100%;height:auto}:where([data-blok-interface],[data-blok-popover]) :-webkit-any(button,input,select,optgroup,textarea){font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:transparent}:where([data-blok-interface],[data-blok-popover]) :-moz-any(button,input,select,optgroup,textarea){font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:transparent}:where([data-blok-interface],[data-blok-popover]) :is(button,input,select,optgroup,textarea){font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:transparent}:where([data-blok-interface],[data-blok-popover]) :where(select:-webkit-any([multiple],[size])) optgroup{font-weight:bolder}:where([data-blok-interface],[data-blok-popover]) :where(select:-moz-any([multiple],[size])) optgroup{font-weight:bolder}:where([data-blok-interface],[data-blok-popover]) :where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where([data-blok-interface],[data-blok-popover]) :where(select:-webkit-any([multiple],[size])) optgroup option:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-left:20px}:where([data-blok-interface],[data-blok-popover]) :where(select:-moz-any([multiple],[size])) optgroup option:not(:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-left:20px}:where([data-blok-interface],[data-blok-popover]) :where(select:is([multiple],[size])) optgroup option:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-left:20px}:where([data-blok-interface],[data-blok-popover]) :where(select:-webkit-any([multiple],[size])) optgroup option:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:20px}:where([data-blok-interface],[data-blok-popover]) :where(select:-moz-any([multiple],[size])) optgroup option:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:20px}:where([data-blok-interface],[data-blok-popover]) :where(select:is([multiple],[size])) optgroup option:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:20px}:where([data-blok-interface],[data-blok-popover]) :dir(ltr)::file-selector-button{margin-right:4px}:where([data-blok-interface],[data-blok-popover]) :dir(rtl)::file-selector-button{margin-left:4px}:where([data-blok-interface],[data-blok-popover]) ::-ms-input-placeholder{opacity:1}:where([data-blok-interface],[data-blok-popover]) ::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){:where([data-blok-interface],[data-blok-popover]) ::-ms-input-placeholder{color:currentColor}:where([data-blok-interface],[data-blok-popover]) ::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){:where([data-blok-interface],[data-blok-popover]) ::-ms-input-placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}:where([data-blok-interface],[data-blok-popover]) ::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}:where([data-blok-interface],[data-blok-popover]) textarea{resize:vertical}:where([data-blok-interface],[data-blok-popover]) ::-webkit-search-decoration{-webkit-appearance:none}:where([data-blok-interface],[data-blok-popover]) ::-webkit-search-cancel-button{-webkit-appearance:none}:where([data-blok-interface],[data-blok-popover]) ::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}:where([data-blok-interface],[data-blok-popover]) ::-webkit-datetime-edit{display:inline-flex}:where([data-blok-interface],[data-blok-popover]) ::-webkit-datetime-edit-fields-wrapper{padding:0}:where([data-blok-interface],[data-blok-popover]) :-webkit-any(){padding-top:0;padding-bottom:0}:where([data-blok-interface],[data-blok-popover]) :-moz-any(){padding-top:0;padding-bottom:0}:where([data-blok-interface],[data-blok-popover]) :is(){padding-top:0;padding-bottom:0}:where([data-blok-interface],[data-blok-popover]) ::-webkit-calendar-picker-indicator{line-height:1}:where([data-blok-interface],[data-blok-popover]) :-moz-ui-invalid{box-shadow:none}:where([data-blok-interface],[data-blok-popover]) :-webkit-any(button,input:where([type=button],[type=reset],[type=submit])){-webkit-appearance:button;-moz-appearance:button;-ms-appearance:button;appearance:button}:where([data-blok-interface],[data-blok-popover]) :-moz-any(button,input:where([type=button],[type=reset],[type=submit])){-webkit-appearance:button;-moz-appearance:button;-ms-appearance:button;appearance:button}:where([data-blok-interface],[data-blok-popover]) :is(button,input:where([type=button],[type=reset],[type=submit])){-webkit-appearance:button;-moz-appearance:button;-ms-appearance:button;appearance:button}:where([data-blok-interface],[data-blok-popover]) :-webkit-any(){height:auto}:where([data-blok-interface],[data-blok-popover]) :-moz-any(){height:auto}:where([data-blok-interface],[data-blok-popover]) :is(){height:auto}:where([data-blok-interface],[data-blok-popover]) [hidden]:where(:not([hidden=until-found])){display:none!important}[data-blok-interface] :focus:not(:focus-visible){outline:none}[data-blok-popover] :focus:not(:focus-visible){outline:none}[data-blok-interface] :-webkit-any([contenteditable],input,textarea):focus-visible{outline:none}[data-blok-interface] :-moz-any([contenteditable],input,textarea):focus-visible{outline:none}[data-blok-interface] :is([contenteditable],input,textarea):focus-visible{outline:none}[data-blok-popover] :-webkit-any([contenteditable],input,textarea):focus-visible{outline:none}[data-blok-popover] :-moz-any([contenteditable],input,textarea):focus-visible{outline:none}[data-blok-popover] :is([contenteditable],input,textarea):focus-visible{outline:none}[data-blok-interface] :focus-visible{outline:revert;outline-offset:revert;border-radius:revert}[data-blok-popover] :focus-visible{outline:revert;outline-offset:revert;border-radius:revert}[data-blok-interface] ::-moz-selection{background-color:revert;color:revert}[data-blok-interface] ::selection{background-color:revert;color:revert}[data-blok-popover] ::-moz-selection{background-color:revert;color:revert}[data-blok-popover] ::selection{background-color:revert;color:revert}[data-blok-interface] ::-webkit-scrollbar{width:revert;height:revert;background-color:revert}[data-blok-popover] ::-webkit-scrollbar{width:revert;height:revert;background-color:revert}@layer utilities{.max-w-blok-content{max-width:var(--max-width-content)}}[data-blok-interface],[data-blok-popover]{--blok-selection:#e1f2ff;--blok-selection-inline:#d4ecff;--blok-selection-highlight:rgba(46,170,220,.2);--blok-bg-light:#eff2f5;--blok-gray-text:#707684;--blok-dark:#1d202b;--blok-active-icon:#2383e2;--blok-link:#2383e2;--blok-line-gray:#eff0f1;--blok-tooltip-bg:#1d202b;--blok-tooltip-font:#cdd1e0;--blok-icon-active-bg:rgba(35,131,226,.14);--blok-icon-active-text:#2383e2;--blok-text-primary:black;--blok-text-secondary:#707684;--blok-popover-border:rgba(55,53,47,.09);--blok-popover-shadow:rgba(13,20,33,.1);--blok-popover-bg:#fff;--blok-popover-box-shadow:0 0 0 1px rgba(55,53,47,.09), 0 4px 16px rgba(0,0,0,.1), 0 16px 40px -8px rgba(0,0,0,.08);--blok-popover-border-icon:rgba(201,201,204,.48);--blok-popover-border-icon-disabled:#eff0f1;--blok-item-focus-bg:rgba(35,131,226,.14);--blok-item-focus-shadow:rgba(35,131,226,.14);--blok-item-hover-bg:rgba(55,53,47,.08);--blok-icon-bg:rgba(0,0,0,.04);--blok-item-confirm-bg:#e24a4a;--blok-item-confirm-hover-bg:#ce4343;--blok-item-destructive-text:#e24a4a;--blok-item-destructive-hover-bg:rgba(226,74,74,.08);--blok-notify-success-bg:#fafffe;--blok-notify-success-bar:#41ffb1;--blok-notify-error-bg:#fffbfb;--blok-notify-error-bar:#fb5d5d;--blok-notify-btn-cancel-bg:#f2f5f7;--blok-notify-btn-cancel-text:#656b7c;--blok-notify-btn-confirm-bg:#34c992;--blok-mobile-border:#e8e8eb;--blok-search-input-bg:#f8f8f8;--blok-search-input-border:rgba(226,226,229,.2);--blok-search-input-focus-border:rgba(35,131,226,.5);--blok-link-input-border:rgba(226,226,229,.2);--blok-popover-icon-bg:rgba(55,53,47,.06);--blok-popover-icon-active-bg:rgba(35,131,226,.1);--blok-table-border:#d1d5db;--blok-table-heading-bg:#f9fafb;--blok-table-grip-outline:transparent;--blok-table-drag-source-bg:#f3f4f6;--blok-toggle-off-bg:#d4d4d8;--blok-toggle-on-bg:#2383e2;--blok-toggle-thumb-on-bg:#fff;--blok-checklist-border:rgba(0,0,0,.28);--blok-checklist-shadow:rgba(0,0,0,.08);--blok-checklist-hover-ring:rgba(35,131,226,.14);--blok-checklist-readonly-fill:#94a3b8;--blok-swatch-neutral-bg:#f7f7f5;--blok-swatch-ring-hover:rgba(0,0,0,.1);--blok-swatch-ring-active:rgba(0,0,0,.3);--blok-color-gray-text:#787774;--blok-color-gray-bg:#f1f1ef;--blok-color-brown-text:#9f6b53;--blok-color-brown-bg:#f4eeee;--blok-color-orange-text:#d9730d;--blok-color-orange-bg:#fbecdd;--blok-color-yellow-text:#cb9b00;--blok-color-yellow-bg:#fbf3db;--blok-color-green-text:#448361;--blok-color-green-bg:#edf3ec;--blok-color-teal-text:#2b9a8f;--blok-color-teal-bg:#e4f5f3;--blok-color-blue-text:#337ea9;--blok-color-blue-bg:#e7f3f8;--blok-color-purple-text:#9065b0;--blok-color-purple-bg:#f6f3f9;--blok-color-pink-text:#c14c8a;--blok-color-pink-bg:#f9f0f5;--blok-color-red-text:#d44c47;--blok-color-red-bg:#fdebec}@media (prefers-color-scheme:dark){:root:not([data-blok-theme=light]) [data-blok-interface],:root:not([data-blok-theme=light]) [data-blok-popover]{--blok-selection:rgba(35,131,226,.2);--blok-selection-inline:rgba(35,131,226,.3);--blok-selection-highlight:rgba(35,131,226,.25);--blok-bg-light:rgba(255,255,255,.08);--blok-gray-text:#a39e98;--blok-dark:#191918;--blok-active-icon:#529cca;--blok-link:#529cca;--blok-line-gray:#37352f;--blok-tooltip-bg:#191918;--blok-tooltip-font:#e8e6e3;--blok-icon-active-bg:rgba(35,131,226,.2);--blok-icon-active-text:#529cca;--blok-text-primary:#e2e0dc;--blok-text-secondary:#a39e98;--blok-popover-border:rgba(255,255,255,.14);--blok-popover-shadow:rgba(0,0,0,.6);--blok-popover-bg:#252525;--blok-popover-box-shadow:0 0 0 1px rgba(255,255,255,.14), 0 4px 24px rgba(0,0,0,.5), 0 16px 40px -8px rgba(0,0,0,.4);--blok-popover-border-icon:#37352f;--blok-popover-border-icon-disabled:#2f2d29;--blok-item-focus-bg:rgba(35,131,226,.2);--blok-item-focus-shadow:rgba(35,131,226,.2);--blok-item-hover-bg:rgba(255,255,255,.055);--blok-icon-bg:rgba(255,255,255,.07);--blok-item-confirm-bg:#3d1f1f;--blok-item-confirm-hover-bg:#4a2020;--blok-item-destructive-text:#fb5d5d;--blok-item-destructive-hover-bg:rgba(251,93,93,.1);--blok-notify-success-bg:#1a2e22;--blok-notify-success-bar:#41ffb1;--blok-notify-error-bg:#2e1a1a;--blok-notify-error-bar:#fb5d5d;--blok-notify-btn-cancel-bg:#2f2d29;--blok-notify-btn-cancel-text:#a39e98;--blok-notify-btn-confirm-bg:#34c992;--blok-mobile-border:rgba(255,255,255,.07);--blok-search-input-bg:#363636;--blok-search-input-border:rgba(255,255,255,.2);--blok-search-input-focus-border:rgba(35,131,226,.5);--blok-link-input-border:#37352f;--blok-popover-icon-bg:rgba(255,255,255,.08);--blok-popover-icon-active-bg:rgba(35,131,226,.15);--blok-table-border:#3e3e3d;--blok-table-heading-bg:#272725;--blok-table-grip-outline:rgba(255,255,255,.12);--blok-table-drag-source-bg:rgba(255,255,255,.07);--blok-toggle-off-bg:#3f3f46;--blok-toggle-on-bg:#529cca;--blok-toggle-thumb-on-bg:#fff;--blok-checklist-border:rgba(255,255,255,.22);--blok-checklist-shadow:rgba(0,0,0,.3);--blok-checklist-hover-ring:rgba(82,156,202,.2);--blok-checklist-readonly-fill:#475569;--blok-swatch-neutral-bg:#3a3a38;--blok-swatch-ring-hover:rgba(255,255,255,.15);--blok-swatch-ring-active:rgba(255,255,255,.35);--blok-color-gray-text:#9b9b9b;--blok-color-gray-bg:#2f2f2f;--blok-color-brown-text:#c59177;--blok-color-brown-bg:#452a1c;--blok-color-orange-text:#dc8c47;--blok-color-orange-bg:#4d2f14;--blok-color-yellow-text:#d4ab49;--blok-color-yellow-bg:#544012;--blok-color-green-text:#5db184;--blok-color-green-bg:#1e432f;--blok-color-teal-text:#5cbcb3;--blok-color-teal-bg:#1b4642;--blok-color-blue-text:#5c9fcc;--blok-color-blue-bg:#123a54;--blok-color-purple-text:#a67dca;--blok-color-purple-bg:#341d49;--blok-color-pink-text:#d45e99;--blok-color-pink-bg:#4b1b33;--blok-color-red-text:#dd5e5a;--blok-color-red-bg:#4e1a18}}[data-blok-theme=dark] [data-blok-interface],[data-blok-theme=dark] [data-blok-popover]{--blok-selection:rgba(35,131,226,.2);--blok-selection-inline:rgba(35,131,226,.3);--blok-selection-highlight:rgba(35,131,226,.25);--blok-bg-light:rgba(255,255,255,.08);--blok-gray-text:#a39e98;--blok-dark:#191918;--blok-active-icon:#529cca;--blok-link:#529cca;--blok-line-gray:#37352f;--blok-tooltip-bg:#191918;--blok-tooltip-font:#e8e6e3;--blok-icon-active-bg:rgba(35,131,226,.2);--blok-icon-active-text:#529cca;--blok-text-primary:#e2e0dc;--blok-text-secondary:#a39e98;--blok-popover-border:rgba(255,255,255,.14);--blok-popover-shadow:rgba(0,0,0,.6);--blok-popover-bg:#252525;--blok-popover-box-shadow:0 0 0 1px rgba(255,255,255,.14), 0 4px 24px rgba(0,0,0,.5), 0 16px 40px -8px rgba(0,0,0,.4);--blok-popover-border-icon:#37352f;--blok-popover-border-icon-disabled:#2f2d29;--blok-item-focus-bg:rgba(35,131,226,.2);--blok-item-focus-shadow:rgba(35,131,226,.2);--blok-item-hover-bg:rgba(255,255,255,.055);--blok-icon-bg:rgba(255,255,255,.07);--blok-item-confirm-bg:#3d1f1f;--blok-item-confirm-hover-bg:#4a2020;--blok-item-destructive-text:#fb5d5d;--blok-item-destructive-hover-bg:rgba(251,93,93,.1);--blok-notify-success-bg:#1a2e22;--blok-notify-success-bar:#41ffb1;--blok-notify-error-bg:#2e1a1a;--blok-notify-error-bar:#fb5d5d;--blok-notify-btn-cancel-bg:#2f2d29;--blok-notify-btn-cancel-text:#a39e98;--blok-notify-btn-confirm-bg:#34c992;--blok-mobile-border:rgba(255,255,255,.07);--blok-search-input-bg:#363636;--blok-search-input-border:rgba(255,255,255,.2);--blok-search-input-focus-border:rgba(35,131,226,.5);--blok-link-input-border:#37352f;--blok-popover-icon-bg:rgba(255,255,255,.08);--blok-popover-icon-active-bg:rgba(35,131,226,.15);--blok-table-border:#3e3e3d;--blok-table-heading-bg:#272725;--blok-table-grip-outline:rgba(255,255,255,.12);--blok-table-drag-source-bg:rgba(255,255,255,.07);--blok-toggle-off-bg:#3f3f46;--blok-toggle-on-bg:#e4e4e7;--blok-toggle-thumb-on-bg:#252525;--blok-checklist-border:rgba(255,255,255,.22);--blok-checklist-shadow:rgba(0,0,0,.3);--blok-checklist-hover-ring:rgba(82,156,202,.2);--blok-swatch-neutral-bg:#3a3a38;--blok-swatch-ring-hover:rgba(255,255,255,.15);--blok-swatch-ring-active:rgba(255,255,255,.35);--blok-color-gray-text:#9b9b9b;--blok-color-gray-bg:#2f2f2f;--blok-color-brown-text:#c59177;--blok-color-brown-bg:#452a1c;--blok-color-orange-text:#dc8c47;--blok-color-orange-bg:#4d2f14;--blok-color-yellow-text:#d4ab49;--blok-color-yellow-bg:#544012;--blok-color-green-text:#5db184;--blok-color-green-bg:#1e432f;--blok-color-teal-text:#5cbcb3;--blok-color-teal-bg:#1b4642;--blok-color-blue-text:#5c9fcc;--blok-color-blue-bg:#123a54;--blok-color-purple-text:#a67dca;--blok-color-purple-bg:#341d49;--blok-color-pink-text:#d45e99;--blok-color-pink-bg:#4b1b33;--blok-color-red-text:#dd5e5a;--blok-color-red-bg:#4e1a18}@keyframes blok-checkbox-pop{0%{transform:scale(1)}35%{transform:scale(1.18)}65%{transform:scale(.9)}82%{transform:scale(1.07)}to{transform:scale(1)}}[data-blok-interface] [data-list-style=checklist] input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;border:2px solid var(--blok-checklist-border);box-shadow:inset 0 1px 2px var(--blok-checklist-shadow);background-color:transparent;border-radius:5px;flex-shrink:0;transition:background-color .15s,border-color .15s,transform .15s,box-shadow .15s}[data-blok-interface] [data-list-style=checklist] input[type=checkbox]:checked{background-color:var(--blok-active-icon);border-color:var(--blok-active-icon);box-shadow:none;background-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 10 10' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.5 5L4 7.5L8.5 2.5' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E\");background-position:50%;background-repeat:no-repeat;background-size:10px 10px;animation:.28s linear blok-checkbox-pop}[data-blok-interface] [data-list-style=checklist] input[type=checkbox]:not(:disabled):not(:checked):hover{border-color:var(--blok-active-icon);box-shadow:0 0 0 3px var(--blok-checklist-hover-ring), inset 0 1px 2px var(--blok-checklist-shadow);transform:scale(1.06)}[data-blok-interface] [data-list-style=checklist] input[type=checkbox]:not(:disabled):checked:hover{box-shadow:0 0 0 3px var(--blok-checklist-hover-ring)}[data-blok-interface] [data-list-style=checklist] input[type=checkbox]:disabled:not(:checked){opacity:.5}[data-blok-interface] [data-list-style=checklist] input[type=checkbox]:disabled:checked{background-color:var(--blok-checklist-readonly-fill);border-color:var(--blok-checklist-readonly-fill);box-shadow:none;animation:none}[data-blok-interface] [data-list-style=checklist] input[type=checkbox]:focus-visible{outline:2px solid var(--blok-active-icon);outline-offset:2px}@media (prefers-color-scheme:dark){:root:not([data-blok-theme=light]) [data-blok-interface] [data-list-style=checklist] [data-checked=true]{opacity:.45}}[data-blok-theme=dark] [data-blok-interface] [data-list-style=checklist] [data-checked=true]{opacity:.45}:where([data-blok-interface],[data-blok-popover]) *{border-color:var(--color-gray-200,currentcolor)}:where([data-blok-interface],[data-blok-popover]) :after{border-color:var(--color-gray-200,currentcolor)}:where([data-blok-interface],[data-blok-popover]) :before{border-color:var(--color-gray-200,currentcolor)}:where([data-blok-interface],[data-blok-popover]) ::-ms-backdrop{border-color:var(--color-gray-200,currentcolor)}:where([data-blok-interface],[data-blok-popover]) ::backdrop{border-color:var(--color-gray-200,currentcolor)}:where([data-blok-interface],[data-blok-popover]) ::-webkit-file-upload-button{border-color:var(--color-gray-200,currentcolor)}:where([data-blok-interface],[data-blok-popover]) ::-ms-browse{border-color:var(--color-gray-200,currentcolor)}:where([data-blok-interface],[data-blok-popover]) ::file-selector-button{border-color:var(--color-gray-200,currentcolor)}[data-blok-navigation-focused=true]{width:var(--spacing-content-width);border-radius:var(--radius-md);background-color:var(--blok-item-focus-bg);max-width:100%;margin-left:auto;margin-right:auto}@media (hover:hover){[data-blok-item-name=delete]:hover{color:var(--blok-item-confirm-bg);transition-property:color,background-color,border-color,outline-color,-webkit-text-decoration-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}[data-drop-indicator]{position:relative}[data-drop-indicator]:before{pointer-events:none;z-index:10;height:calc(var(--spacing) * 1.5);width:100%;max-width:var(--max-width-content);border-radius:var(--radius-xs);--tw-content:\"\";content:var(--tw-content);margin-left:calc(var(--drop-indicator-depth,0) * 12px);max-width:calc(650px - var(--drop-indicator-depth,0) * 24px);background-color:#d4e3fc;position:absolute;left:50%}[data-drop-indicator=bottom]:before{bottom:calc(var(--spacing) * 0);transform:translate(-50%)translateY(50%)}[data-drop-indicator=top]:before{top:calc(var(--spacing) * 0);transform:translate(-50%)translateY(-50%)}@keyframes spring-loaded-flash{0%{background-color:var(--blok-selection)}to{background-color:transparent}}[data-blok-spring-loaded] [data-blok-element-content]{border-radius:4px;animation:.7s ease-out forwards spring-loaded-flash}[data-blok-content-align=center] [data-blok-element-content]{margin-left:auto;margin-right:auto}[data-blok-content-align=right] [data-blok-element-content]{margin-left:auto}[data-blok-dragging-multi=true] [data-blok-selected=true]{opacity:.4;transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;transition-duration:.2s}[data-blok-selected=true] [data-blok-element-content]:has([data-list-style]){background-color:transparent}[data-blok-selected=true] [data-list-style] [role=listitem]{background-color:var(--blok-selection);border-radius:4px}[data-blok-selected=true] [data-list-style] [role=listitem] [contenteditable]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}[data-blok-toggle-children] :-webkit-any(h1,h2,h3,h4,h5,h6){margin-top:1px}[data-blok-toggle-children] :-moz-any(h1,h2,h3,h4,h5,h6){margin-top:1px}[data-blok-toggle-children] :is(h1,h2,h3,h4,h5,h6){margin-top:1px}[data-blok-component=callout] button:has(+[data-blok-toggle-children]>:first-child h1){margin-top:8.5px}[data-blok-component=callout] button:has(+[data-blok-toggle-children]>:first-child h2){margin-top:4.6px}[data-blok-component=callout] button:has(+[data-blok-toggle-children]>:first-child h3){margin-top:2px}[data-blok-table-cell-blocks]>[data-blok-element]{margin-block:calc(var(--spacing) * 0);padding-block:calc(var(--spacing) * 0)}[data-blok-table-cell-blocks] .blok-block{margin:calc(var(--spacing) * 0);min-height:1.6em;padding:calc(var(--spacing) * 0)}[data-blok-cell-placement=top-center]{align-items:center}[data-blok-cell-placement=top-right]{align-items:flex-end}[data-blok-cell-placement=middle-left]{justify-content:center}[data-blok-cell-placement=middle-center]{justify-content:center;align-items:center}[data-blok-cell-placement=middle-right]{justify-content:center;align-items:flex-end}[data-blok-cell-placement=bottom-left]{justify-content:flex-end}[data-blok-cell-placement=bottom-center]{justify-content:flex-end;align-items:center}[data-blok-cell-placement=bottom-right]{justify-content:flex-end;align-items:flex-end}[data-blok-table-cell] [data-blok-element-content]{transition-property:background-color,border-color,outline-color,-webkit-text-decoration-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to}[data-blok-table-heading] [data-blok-table-cell],[data-blok-table-heading-col]{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);background-color:var(--blok-table-heading-bg)}[data-blok-table-haze][data-blok-table-haze-visible]{opacity:1}@media (prefers-color-scheme:dark){:root:not([data-blok-theme=light]) [data-blok-interface] [data-blok-table-grip]:not(.bg-gray-200):not(.bg-blue-500){background-color:#4a4a4a}:root:not([data-blok-theme=light]) [data-blok-interface] [data-blok-table-grip].bg-gray-200{background-color:#555554}:root:not([data-blok-theme=light]) [data-blok-interface] [data-blok-table-grip]:not(.bg-blue-500) svg{color:#fff}:root:not([data-blok-theme=light]) [data-blok-interface] :-webkit-any([data-blok-table-add-row],[data-blok-table-add-col]) .border-gray-300{background-color:#2c2c2b;border-color:rgba(255,255,255,.17)}:root:not([data-blok-theme=light]) [data-blok-interface] :-moz-any([data-blok-table-add-row],[data-blok-table-add-col]) .border-gray-300{background-color:#2c2c2b;border-color:rgba(255,255,255,.17)}:root:not([data-blok-theme=light]) [data-blok-interface] :is([data-blok-table-add-row],[data-blok-table-add-col]) .border-gray-300{background-color:#2c2c2b;border-color:rgba(255,255,255,.17)}:root:not([data-blok-theme=light]) [data-blok-interface] :-webkit-any([data-blok-table-add-row],[data-blok-table-add-col]):hover .border-gray-300{background-color:#2e2e2d}:root:not([data-blok-theme=light]) [data-blok-interface] :-moz-any([data-blok-table-add-row],[data-blok-table-add-col]):hover .border-gray-300{background-color:#2e2e2d}:root:not([data-blok-theme=light]) [data-blok-interface] :is([data-blok-table-add-row],[data-blok-table-add-col]):hover .border-gray-300{background-color:#2e2e2d}:root:not([data-blok-theme=light]) [data-blok-interface] :-webkit-any([data-blok-table-add-row],[data-blok-table-add-col]) .border-gray-300 svg{color:#9e9e9d}:root:not([data-blok-theme=light]) [data-blok-interface] :-moz-any([data-blok-table-add-row],[data-blok-table-add-col]) .border-gray-300 svg{color:#9e9e9d}:root:not([data-blok-theme=light]) [data-blok-interface] :is([data-blok-table-add-row],[data-blok-table-add-col]) .border-gray-300 svg{color:#9e9e9d}:root:not([data-blok-theme=light]) [data-blok-interface] [data-blok-table-haze=left]{background-image:linear-gradient(to right, var(--blok-dark), transparent)}:root:not([data-blok-theme=light]) [data-blok-interface] [data-blok-table-haze=right]{background-image:linear-gradient(to left, var(--blok-dark), transparent)}}[data-blok-theme=dark] [data-blok-interface] [data-blok-table-grip]:not(.bg-gray-200):not(.bg-blue-500){background-color:#4a4a4a}[data-blok-theme=dark] [data-blok-interface] [data-blok-table-grip].bg-gray-200{background-color:#555554}[data-blok-theme=dark] [data-blok-interface] [data-blok-table-grip]:not(.bg-blue-500) svg{color:#fff}[data-blok-theme=dark] [data-blok-interface] :-webkit-any([data-blok-table-add-row],[data-blok-table-add-col]) .border-gray-300{background-color:#2c2c2b;border-color:rgba(255,255,255,.17)}[data-blok-theme=dark] [data-blok-interface] :-moz-any([data-blok-table-add-row],[data-blok-table-add-col]) .border-gray-300{background-color:#2c2c2b;border-color:rgba(255,255,255,.17)}[data-blok-theme=dark] [data-blok-interface] :is([data-blok-table-add-row],[data-blok-table-add-col]) .border-gray-300{background-color:#2c2c2b;border-color:rgba(255,255,255,.17)}[data-blok-theme=dark] [data-blok-interface] :-webkit-any([data-blok-table-add-row],[data-blok-table-add-col]):hover .border-gray-300{background-color:#2e2e2d}[data-blok-theme=dark] [data-blok-interface] :-moz-any([data-blok-table-add-row],[data-blok-table-add-col]):hover .border-gray-300{background-color:#2e2e2d}[data-blok-theme=dark] [data-blok-interface] :is([data-blok-table-add-row],[data-blok-table-add-col]):hover .border-gray-300{background-color:#2e2e2d}[data-blok-theme=dark] [data-blok-interface] :-webkit-any([data-blok-table-add-row],[data-blok-table-add-col]) .border-gray-300 svg{color:#9e9e9d}[data-blok-theme=dark] [data-blok-interface] :-moz-any([data-blok-table-add-row],[data-blok-table-add-col]) .border-gray-300 svg{color:#9e9e9d}[data-blok-theme=dark] [data-blok-interface] :is([data-blok-table-add-row],[data-blok-table-add-col]) .border-gray-300 svg{color:#9e9e9d}[data-blok-theme=dark] [data-blok-interface] [data-blok-table-haze=left]{background-image:linear-gradient(to right, var(--blok-dark), transparent)}[data-blok-theme=dark] [data-blok-interface] [data-blok-table-haze=right]{background-image:linear-gradient(to left, var(--blok-dark), transparent)}[data-blok-slash-search]{background-color:var(--blok-search-input-bg);width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;max-width:240px;padding-inline:calc(var(--spacing) * 2);transition-property:color,background-color,border-color,outline-color,-webkit-text-decoration-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.15s;border-radius:10px;transition-duration:.15s}[data-blok-slash-search]:focus-visible{background-color:var(--blok-search-input-bg);width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;max-width:240px;padding-inline:calc(var(--spacing) * 2);transition-property:color,background-color,border-color,outline-color,-webkit-text-decoration-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.15s;border-radius:10px;transition-duration:.15s}[data-blok-slash-search]:after{content:attr(data-blok-slash-search);pointer-events:none;font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--blok-gray-text)}[data-blok-slash-search]:before{content:none!important}[data-blok-popover-items]{scrollbar-width:thin;scrollbar-color:var(--blok-popover-border) transparent}[data-blok-popover-items]::-webkit-scrollbar{width:4px}[data-blok-popover-items]::-webkit-scrollbar-track{background:0 0}[data-blok-popover-items]::-webkit-scrollbar-thumb{background:var(--blok-popover-border);border-radius:4px}[data-blok-popover-items]::-webkit-scrollbar-thumb:hover{background:var(--blok-gray-text)}:where([data-blok-emoji-picker]) :where(button,input){-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;color:inherit;font:inherit;background:0 0;border:none;margin:0;padding:0}:where([data-blok-emoji-picker][hidden]){display:none!important}:where([data-blok-emoji-picker]) :where([hidden]){display:none!important}[data-blok-emoji-picker]{transform-origin:0 0;animation:.18s cubic-bezier(.16,1,.3,1) blok-emoji-picker-in}@keyframes blok-emoji-picker-in{0%{opacity:0;transform:translateY(4px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes blok-emoji-empty-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}[data-emoji-picker-body]{scrollbar-width:thin;scrollbar-color:transparent transparent}[data-emoji-picker-body]:hover{scrollbar-color:currentColor transparent}@supports (color:color-mix(in lab, red, red)){[data-emoji-picker-body]:hover{scrollbar-color:color-mix(in srgb, currentColor 12%, transparent) transparent}}[data-emoji-picker-body]::-webkit-scrollbar{width:6px}[data-emoji-picker-body]::-webkit-scrollbar-track{background:0 0}[data-emoji-picker-body]::-webkit-scrollbar-thumb{background:0 0;border-radius:3px}[data-emoji-picker-body]:hover::-webkit-scrollbar-thumb{background:currentColor}@supports (color:color-mix(in lab, red, red)){[data-emoji-picker-body]:hover::-webkit-scrollbar-thumb{background:color-mix(in srgb, currentColor 12%, transparent)}}[data-emoji-picker-body]::-webkit-scrollbar-thumb:hover{background:currentColor}@supports (color:color-mix(in lab, red, red)){[data-emoji-picker-body]::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, currentColor 22%, transparent)}}@property --tw-border-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-shadow{syntax:\"*\";inherits:false;initial-value:0 0 transparent}@property --tw-shadow-color{syntax:\"*\";inherits:false}@property --tw-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 transparent}@property --tw-inset-shadow-color{syntax:\"*\";inherits:false}@property --tw-inset-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:\"*\";inherits:false}@property --tw-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 transparent}@property --tw-inset-ring-color{syntax:\"*\";inherits:false}@property --tw-inset-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 transparent}@property --tw-ring-inset{syntax:\"*\";inherits:false}@property --tw-ring-offset-width{syntax:\"<length>\";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:\"*\";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 transparent}@property --tw-content{syntax:\"*\";inherits:false;initial-value:\"\"}@property --tw-leading{syntax:\"*\";inherits:false}@property --tw-translate-x{syntax:\"*\";inherits:false;initial-value:0}@property --tw-translate-y{syntax:\"*\";inherits:false;initial-value:0}@property --tw-translate-z{syntax:\"*\";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:\"*\";inherits:false}@property --tw-rotate-y{syntax:\"*\";inherits:false}@property --tw-rotate-z{syntax:\"*\";inherits:false}@property --tw-skew-x{syntax:\"*\";inherits:false}@property --tw-skew-y{syntax:\"*\";inherits:false}@property --tw-gradient-position{syntax:\"*\";inherits:false}@property --tw-gradient-from{syntax:\"<color>\";inherits:false;initial-value:transparent}@property --tw-gradient-via{syntax:\"<color>\";inherits:false;initial-value:transparent}@property --tw-gradient-to{syntax:\"<color>\";inherits:false;initial-value:transparent}@property --tw-gradient-stops{syntax:\"*\";inherits:false}@property --tw-gradient-via-stops{syntax:\"*\";inherits:false}@property --tw-gradient-from-position{syntax:\"<length-percentage>\";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:\"<length-percentage>\";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:\"<length-percentage>\";inherits:false;initial-value:100%}@property --tw-font-weight{syntax:\"*\";inherits:false}@property --tw-tracking{syntax:\"*\";inherits:false}@property --tw-outline-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-blur{syntax:\"*\";inherits:false}@property --tw-brightness{syntax:\"*\";inherits:false}@property --tw-contrast{syntax:\"*\";inherits:false}@property --tw-grayscale{syntax:\"*\";inherits:false}@property --tw-hue-rotate{syntax:\"*\";inherits:false}@property --tw-invert{syntax:\"*\";inherits:false}@property --tw-opacity{syntax:\"*\";inherits:false}@property --tw-saturate{syntax:\"*\";inherits:false}@property --tw-sepia{syntax:\"*\";inherits:false}@property --tw-drop-shadow{syntax:\"*\";inherits:false}@property --tw-drop-shadow-color{syntax:\"*\";inherits:false}@property --tw-drop-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:\"*\";inherits:false}@property --tw-duration{syntax:\"*\";inherits:false}@property --tw-ease{syntax:\"*\";inherits:false}@property --tw-scale-x{syntax:\"*\";inherits:false;initial-value:1}@property --tw-scale-y{syntax:\"*\";inherits:false;initial-value:1}@property --tw-scale-z{syntax:\"*\";inherits:false;initial-value:1}@keyframes buttonClicked{0%{transform:scale3d(.95,.95,.95)}60%{transform:scale3d(1.02,1.02,1.02)}80%,to{transform:scale(1)}}@keyframes rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes notifySlideIn{0%{opacity:0;transform:translateY(16px)}70%{opacity:1;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}@keyframes notifySlideOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(8px)}}@keyframes notifyProgress{0%{width:100%}to{width:0%}}", bf = class {
|
|
11924
11924
|
constructor({ config: e, eventsDispatcher: t }) {
|
|
11925
|
-
this.listeners = new
|
|
11925
|
+
this.listeners = new tt(), this.readOnlyMutableListeners = {
|
|
11926
11926
|
on: (e, t, n, r = !1) => {
|
|
11927
11927
|
let i = this.listeners.on(e, t, n, r);
|
|
11928
11928
|
i && this.mutableListenerIds.push(i);
|
|
@@ -11945,7 +11945,7 @@ var yf = "/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */\n@la
|
|
|
11945
11945
|
super(e), this.blockHoveredState = { lastHoveredBlockId: null }, this.hoverDisabledUntil = 0;
|
|
11946
11946
|
}
|
|
11947
11947
|
enable() {
|
|
11948
|
-
let e =
|
|
11948
|
+
let e = a((e) => {
|
|
11949
11949
|
var t, n, r, i;
|
|
11950
11950
|
if (typeof MouseEvent > "u" || !(e instanceof MouseEvent) || Date.now() < this.hoverDisabledUntil) return;
|
|
11951
11951
|
let a = (t = e.target) == null ? void 0 : t.closest("[data-blok-testid=\"block-wrapper\"]"), o = (n = e.target) == null ? void 0 : n.closest("[data-blok-child-toolbar]");
|
|
@@ -12050,7 +12050,7 @@ var Cf = new Set([
|
|
|
12050
12050
|
r.keydown(e);
|
|
12051
12051
|
return;
|
|
12052
12052
|
}
|
|
12053
|
-
let i = t.currentBlockIndex >= 0, a =
|
|
12053
|
+
let i = t.currentBlockIndex >= 0, a = T.isSelectionExists, o = T.isCollapsed;
|
|
12054
12054
|
if (n.anyBlockSelected && (!a || o === !0)) {
|
|
12055
12055
|
n.clearSelection(e), e.preventDefault(), e.stopImmediatePropagation(), e.stopPropagation();
|
|
12056
12056
|
return;
|
|
@@ -12063,7 +12063,7 @@ var Cf = new Set([
|
|
|
12063
12063
|
}
|
|
12064
12064
|
handleBackspace(e) {
|
|
12065
12065
|
if (this.Blok.BlockSettings.contains(e.target)) return;
|
|
12066
|
-
let { BlockManager: t, BlockSelection: n, Caret: r } = this.Blok, i =
|
|
12066
|
+
let { BlockManager: t, BlockSelection: n, Caret: r } = this.Blok, i = T.isSelectionExists, a = T.isCollapsed;
|
|
12067
12067
|
if (!(n.anyBlockSelected && (!i || a === !0 || this.Blok.CrossBlockSelection.isCrossBlockSelectionStarted))) return;
|
|
12068
12068
|
let o = t.deleteSelectedBlocksAndInsertReplacement();
|
|
12069
12069
|
o && r.setToBlock(o, r.positions.START), n.clearSelection(e), e.preventDefault(), e.stopPropagation(), e.stopImmediatePropagation();
|
|
@@ -12077,8 +12077,8 @@ var Cf = new Set([
|
|
|
12077
12077
|
this.Blok.Toolbar.toolbox.close(), this.Blok.BlockManager.currentBlock && this.Blok.Caret.setToBlock(this.Blok.BlockManager.currentBlock, this.Blok.Caret.positions.END);
|
|
12078
12078
|
return;
|
|
12079
12079
|
}
|
|
12080
|
-
if (
|
|
12081
|
-
|
|
12080
|
+
if (s.instance.hasOpenPopovers()) {
|
|
12081
|
+
s.instance.closeTopmost();
|
|
12082
12082
|
return;
|
|
12083
12083
|
}
|
|
12084
12084
|
if (this.Blok.BlockSelection.anyBlockSelected) {
|
|
@@ -12143,12 +12143,12 @@ var Cf = new Set([
|
|
|
12143
12143
|
this.listeners.on(document, "selectionchange", this.selectionChangeDebounced);
|
|
12144
12144
|
}
|
|
12145
12145
|
handleSelectionChange() {
|
|
12146
|
-
let { CrossBlockSelection: e, BlockSelection: t } = this.Blok, n =
|
|
12146
|
+
let { CrossBlockSelection: e, BlockSelection: t } = this.Blok, n = T.anchorElement;
|
|
12147
12147
|
if (e.isCrossBlockSelectionStarted && t.anyBlockSelected) {
|
|
12148
12148
|
var r;
|
|
12149
|
-
(r =
|
|
12149
|
+
(r = T.get()) == null || r.removeAllRanges();
|
|
12150
12150
|
}
|
|
12151
|
-
if (this.shouldIgnoreSelectionChange() || (!n && !
|
|
12151
|
+
if (this.shouldIgnoreSelectionChange() || (!n && !T.range && this.Blok.InlineToolbar.close(), !n)) return;
|
|
12152
12152
|
let i = n.closest("[data-blok-testid=\"block-content\"]"), a = !this.wrapperElement || i === null || i.closest("[data-blok-testid=\"blok-editor\"]") !== this.wrapperElement, o = n.getAttribute("data-blok-inline-toolbar") === "true", s = a && !this.Blok.InlineToolbar.containsNode(n);
|
|
12153
12153
|
if (this.shouldCloseInlineToolbar()) {
|
|
12154
12154
|
this.Blok.InlineToolbar.close();
|
|
@@ -12161,7 +12161,7 @@ var Cf = new Set([
|
|
|
12161
12161
|
return document.querySelector("[data-blok-fake-background=\"true\"]") !== null && ((e = this.Blok) == null || (e = e.InlineToolbar) == null ? void 0 : e.opened);
|
|
12162
12162
|
}
|
|
12163
12163
|
shouldCloseInlineToolbar() {
|
|
12164
|
-
let e =
|
|
12164
|
+
let e = T.get(), t = !e || e.isCollapsed || T.text.length === 0, n = this.Blok.InlineToolbar.hasFlipperFocus;
|
|
12165
12165
|
return t && this.Blok.InlineToolbar.opened && !n;
|
|
12166
12166
|
}
|
|
12167
12167
|
shouldUpdateCurrentBlock() {
|
|
@@ -12169,7 +12169,7 @@ var Cf = new Set([
|
|
|
12169
12169
|
}
|
|
12170
12170
|
}, Ef = (e, t) => {
|
|
12171
12171
|
var n, r, i, a;
|
|
12172
|
-
let { Blok: o, nodes: s } = e, c = t.target, l = s.holder.contains(c) ||
|
|
12172
|
+
let { Blok: o, nodes: s } = e, c = t.target, l = s.holder.contains(c) || T.isAtBlok, u = s.redactor.contains(c), d = o.Toolbar.contains(c), f = o.InlineToolbar.containsNode(c), p = l || d, m = o.BlockSettings.contains(c), h = (n = (r = o.Toolbar.nodes.settingsToggler) == null ? void 0 : r.contains(c)) == null ? !1 : n, g = (i = (a = o.Toolbar.nodes.plusButton) == null ? void 0 : a.contains(c)) == null ? !1 : i;
|
|
12173
12173
|
return {
|
|
12174
12174
|
target: c,
|
|
12175
12175
|
clickedInsideOfBlok: l,
|
|
@@ -12260,9 +12260,9 @@ var Cf = new Set([
|
|
|
12260
12260
|
if (t === void 0) return;
|
|
12261
12261
|
let n = this.findToggleBlockForCurrent(t);
|
|
12262
12262
|
if (n === void 0) return;
|
|
12263
|
-
let r = n.holder.querySelector(`[${
|
|
12263
|
+
let r = n.holder.querySelector(`[${Ke.toggleOpen}]`);
|
|
12264
12264
|
if (r === null) return;
|
|
12265
|
-
let i = r.getAttribute(
|
|
12265
|
+
let i = r.getAttribute(Ke.toggleOpen) === "true";
|
|
12266
12266
|
n.call(i ? "collapse" : "expand");
|
|
12267
12267
|
}
|
|
12268
12268
|
toggleScoped() {
|
|
@@ -12302,10 +12302,10 @@ var Cf = new Set([
|
|
|
12302
12302
|
return n;
|
|
12303
12303
|
}
|
|
12304
12304
|
extractToggleBlockInfo(e) {
|
|
12305
|
-
let t = e.holder.querySelector(`[${
|
|
12305
|
+
let t = e.holder.querySelector(`[${Ke.toggleOpen}]`);
|
|
12306
12306
|
return t === null ? null : {
|
|
12307
12307
|
call: (t) => e.call(t),
|
|
12308
|
-
isOpen: t.getAttribute(
|
|
12308
|
+
isOpen: t.getAttribute(Ke.toggleOpen) === "true"
|
|
12309
12309
|
};
|
|
12310
12310
|
}
|
|
12311
12311
|
collectAllToggleBlocks() {
|
|
@@ -12313,9 +12313,9 @@ var Cf = new Set([
|
|
|
12313
12313
|
for (let n of Array.from({ length: e }, (e, t) => t)) {
|
|
12314
12314
|
let e = this.api.blocks.getBlockByIndex(n);
|
|
12315
12315
|
if (e === void 0) continue;
|
|
12316
|
-
let r = e.holder.querySelector(`[${
|
|
12316
|
+
let r = e.holder.querySelector(`[${Ke.toggleOpen}]`);
|
|
12317
12317
|
if (r === null) continue;
|
|
12318
|
-
let i = r.getAttribute(
|
|
12318
|
+
let i = r.getAttribute(Ke.toggleOpen) === "true";
|
|
12319
12319
|
t.push({
|
|
12320
12320
|
call: (t) => e.call(t),
|
|
12321
12321
|
isOpen: i
|
|
@@ -12403,7 +12403,7 @@ var Cf = new Set([
|
|
|
12403
12403
|
}
|
|
12404
12404
|
checkEmptiness() {
|
|
12405
12405
|
let { BlockManager: e } = this.Blok;
|
|
12406
|
-
this.nodes.wrapper.setAttribute(
|
|
12406
|
+
this.nodes.wrapper.setAttribute(t.empty, e.isBlokEmpty ? "true" : "false");
|
|
12407
12407
|
}
|
|
12408
12408
|
get someToolbarOpened() {
|
|
12409
12409
|
let { Toolbar: e, BlockSettings: t, InlineToolbar: n } = this.Blok;
|
|
@@ -12411,13 +12411,13 @@ var Cf = new Set([
|
|
|
12411
12411
|
}
|
|
12412
12412
|
get someFlipperButtonFocused() {
|
|
12413
12413
|
if (this.Blok.Toolbar.toolbox.hasFocus()) return !0;
|
|
12414
|
-
let e = (e) => typeof e == "object" && !!e && "flipper" in e && e.flipper instanceof
|
|
12414
|
+
let e = (e) => typeof e == "object" && !!e && "flipper" in e && e.flipper instanceof p;
|
|
12415
12415
|
return Object.values(this.Blok).some((t) => e(t) && t.flipper.hasFocus());
|
|
12416
12416
|
}
|
|
12417
12417
|
destroy() {
|
|
12418
12418
|
var e;
|
|
12419
12419
|
if ((e = this.toggleShortcuts) == null || e.unregister(), this.nodes.holder.innerHTML = "", this.unbindReadOnlyInsensitiveListeners(), this.unbindReadOnlySensitiveListeners(), this.fontStyleTagId !== null) {
|
|
12420
|
-
let e =
|
|
12420
|
+
let e = O.get(this.fontStyleTagId);
|
|
12421
12421
|
e && e.remove();
|
|
12422
12422
|
}
|
|
12423
12423
|
Qc();
|
|
@@ -12431,10 +12431,10 @@ var Cf = new Set([
|
|
|
12431
12431
|
e !== this.isMobile && this.eventsDispatcher.emit(ht, { isEnabled: this.isMobile }), this.isMobile = e;
|
|
12432
12432
|
}
|
|
12433
12433
|
make() {
|
|
12434
|
-
var e,
|
|
12435
|
-
let
|
|
12436
|
-
if (!
|
|
12437
|
-
this.nodes.holder =
|
|
12434
|
+
var e, n;
|
|
12435
|
+
let r = this.config.holder;
|
|
12436
|
+
if (!r) throw Error("Blok holder is not specified in the configuration.");
|
|
12437
|
+
this.nodes.holder = O.getHolder(r), this.nodes.wrapper = O.make("div", [
|
|
12438
12438
|
"group",
|
|
12439
12439
|
"relative",
|
|
12440
12440
|
"box-border",
|
|
@@ -12445,28 +12445,23 @@ var Cf = new Set([
|
|
|
12445
12445
|
"[&_::selection]:bg-selection-inline",
|
|
12446
12446
|
"[&[data-blok-toolbox-opened=true]_[contentEditable=true][data-blok-placeholder]:focus]:before:opacity-0!",
|
|
12447
12447
|
...this.isRtl ? ["[direction:rtl]"] : []
|
|
12448
|
-
]), this.nodes.wrapper.setAttribute(
|
|
12449
|
-
"not-mobile:group-data-[blok-narrow=true]:ml-(--spacing-narrow-mode-padding)",
|
|
12450
|
-
"not-mobile:group-data-[blok-rtl=true]:group-data-[blok-narrow=true]:mr-(--spacing-narrow-mode-padding)",
|
|
12451
|
-
"not-mobile:group-data-[blok-rtl=true]:group-data-[blok-narrow=true]:ml-0",
|
|
12452
|
-
"[&_[contenteditable]:empty]:after:content-[\"\\feff_\"]"
|
|
12453
|
-
]), this.nodes.redactor.setAttribute(C.redactor, ""), this.nodes.redactor.setAttribute("data-blok-testid", "redactor"), this.nodes.holder.offsetWidth < this.contentRect.width && this.nodes.wrapper.setAttribute(C.narrow, "true"), this.nodes.bottomZone = T.make("div", ["cursor-text"]), this.nodes.bottomZone.setAttribute("data-blok-bottom-zone", ""), this.nodes.bottomZone.setAttribute("data-blok-testid", "bottom-zone"), this.nodes.bottomZone.style.minHeight = this.config.minHeight + "px", this.nodes.wrapper.appendChild(this.nodes.redactor), this.nodes.wrapper.appendChild(this.nodes.bottomZone), this.nodes.holder.appendChild(this.nodes.wrapper), this.bindReadOnlyInsensitiveListeners();
|
|
12448
|
+
]), this.nodes.wrapper.setAttribute(t.interface, Ce), this.nodes.wrapper.setAttribute(t.editor, ""), this.nodes.wrapper.setAttribute("data-blok-testid", "blok-editor"), this.nodes.wrapper.setAttribute(t.contentAlign, (e = (n = this.config.style) == null ? void 0 : n.contentAlign) == null ? "left" : e), this.isRtl && this.nodes.wrapper.setAttribute(t.rtl, "true"), this.nodes.redactor = O.make("div", ["[&_[contenteditable]:empty]:after:content-[\"\\feff_\"]"]), this.nodes.redactor.setAttribute(t.redactor, ""), this.nodes.redactor.setAttribute("data-blok-testid", "redactor"), this.nodes.bottomZone = O.make("div", ["cursor-text"]), this.nodes.bottomZone.setAttribute("data-blok-bottom-zone", ""), this.nodes.bottomZone.setAttribute("data-blok-testid", "bottom-zone"), this.nodes.bottomZone.style.minHeight = this.config.minHeight + "px", this.nodes.wrapper.appendChild(this.nodes.redactor), this.nodes.wrapper.appendChild(this.nodes.bottomZone), this.nodes.holder.appendChild(this.nodes.wrapper), this.bindReadOnlyInsensitiveListeners();
|
|
12454
12449
|
}
|
|
12455
12450
|
loadStyles() {
|
|
12456
12451
|
let e = "blok-styles";
|
|
12457
|
-
if (
|
|
12458
|
-
let t =
|
|
12452
|
+
if (O.get(e)) return;
|
|
12453
|
+
let t = O.make("style", null, {
|
|
12459
12454
|
id: e,
|
|
12460
12455
|
textContent: yf.toString()
|
|
12461
12456
|
});
|
|
12462
|
-
this.config.style && !
|
|
12457
|
+
this.config.style && !x(this.config.style) && this.config.style.nonce && t.setAttribute("nonce", this.config.style.nonce), O.prepend(document.head, t);
|
|
12463
12458
|
}
|
|
12464
12459
|
loadFontStyles() {
|
|
12465
12460
|
var e, t, n;
|
|
12466
12461
|
let r = (e = this.config.style) == null ? void 0 : e.fontFamily;
|
|
12467
12462
|
if (!r) return;
|
|
12468
12463
|
let i = `blok-font-${this.nodes.holder.id === "" ? (t = this.nodes.wrapper.dataset.blokInterface) == null ? "default" : t : this.nodes.holder.id}`;
|
|
12469
|
-
if (this.fontStyleTagId = i,
|
|
12464
|
+
if (this.fontStyleTagId = i, O.get(i)) return;
|
|
12470
12465
|
let a = [
|
|
12471
12466
|
"[data-blok-interface=blok], [data-blok-interface=tooltip] {",
|
|
12472
12467
|
` --blok-font-family: ${r};`,
|
|
@@ -12474,11 +12469,11 @@ var Cf = new Set([
|
|
|
12474
12469
|
"[data-blok-popover]:not([data-blok-popover-inline]) {",
|
|
12475
12470
|
` --blok-font-family: ${r};`,
|
|
12476
12471
|
"}"
|
|
12477
|
-
].join("\n"), o =
|
|
12472
|
+
].join("\n"), o = O.make("style", null, {
|
|
12478
12473
|
id: i,
|
|
12479
12474
|
textContent: a
|
|
12480
12475
|
});
|
|
12481
|
-
(n = this.config.style) != null && n.nonce && o.setAttribute("nonce", this.config.style.nonce),
|
|
12476
|
+
(n = this.config.style) != null && n.nonce && o.setAttribute("nonce", this.config.style.nonce), O.prepend(document.head, o);
|
|
12482
12477
|
}
|
|
12483
12478
|
bindReadOnlyInsensitiveListeners() {
|
|
12484
12479
|
this.listeners.on(window, "resize", this.resizeDebouncer, { passive: !0 }), this.listeners.on(this.nodes.redactor, "mousedown", this.documentTouchedListener, {
|
|
@@ -12511,21 +12506,21 @@ var Cf = new Set([
|
|
|
12511
12506
|
this.contentRectCache = null, this.setIsMobile();
|
|
12512
12507
|
}
|
|
12513
12508
|
bottomZoneClicked(e) {
|
|
12514
|
-
if (!
|
|
12509
|
+
if (!T.isCollapsed) return;
|
|
12515
12510
|
let { BlockSelection: t, BlockManager: n, Caret: r, Toolbar: i } = this.Blok;
|
|
12516
12511
|
t.anyBlockSelected || n.lastBlock && (e.stopImmediatePropagation(), e.stopPropagation(), (!n.lastBlock.tool.isDefault || !n.lastBlock.isEmpty) && n.insertAtEnd(), r.setToTheLastBlock(), i.moveAndOpen(n.lastBlock));
|
|
12517
12512
|
}
|
|
12518
12513
|
redactorClicked(e) {
|
|
12519
12514
|
let t = e.target, n = e.metaKey || e.ctrlKey;
|
|
12520
|
-
if (!
|
|
12515
|
+
if (!O.isAnchor(t) || !n) return;
|
|
12521
12516
|
e.stopImmediatePropagation(), e.stopPropagation();
|
|
12522
12517
|
let r = t.getAttribute("href");
|
|
12523
|
-
r &&
|
|
12518
|
+
r && te(re(r));
|
|
12524
12519
|
}
|
|
12525
12520
|
enableInputsEmptyMark() {
|
|
12526
12521
|
let e = (e) => {
|
|
12527
12522
|
let t = e.target;
|
|
12528
|
-
|
|
12523
|
+
u(t);
|
|
12529
12524
|
};
|
|
12530
12525
|
this.readOnlyMutableListeners.on(this.nodes.wrapper, "input", e), this.readOnlyMutableListeners.on(this.nodes.wrapper, "focusin", e), this.readOnlyMutableListeners.on(this.nodes.wrapper, "focusout", e);
|
|
12531
12526
|
}
|
|
@@ -12615,22 +12610,22 @@ var Cf = new Set([
|
|
|
12615
12610
|
}, Vf = class {
|
|
12616
12611
|
constructor(e) {
|
|
12617
12612
|
var t = this;
|
|
12618
|
-
this.moduleInstances = {}, this.eventsDispatcher = new
|
|
12613
|
+
this.moduleInstances = {}, this.eventsDispatcher = new Le(), this.config = {}, this.isReady = new Promise((n, r) => {
|
|
12619
12614
|
Promise.resolve().then(async () => {
|
|
12620
12615
|
t.configuration = e, t.validate(), t.init(), await t.start(), await t.render();
|
|
12621
12616
|
let { BlockManager: r, Caret: i, UI: a, ModificationsObserver: o } = t.moduleInstances;
|
|
12622
12617
|
a.checkEmptiness(), o.enable(), t.configuration.autofocus === !0 && t.configuration.readOnly !== !0 && i.setToBlock(r.blocks[0], i.positions.START), n();
|
|
12623
12618
|
}).catch((e) => {
|
|
12624
|
-
|
|
12619
|
+
E(`Blok is not ready because of ${e}`, "error"), r(e);
|
|
12625
12620
|
});
|
|
12626
12621
|
});
|
|
12627
12622
|
}
|
|
12628
12623
|
set configuration(e) {
|
|
12629
12624
|
var t, n, r, i, a;
|
|
12630
|
-
|
|
12625
|
+
b(e) ? this.config = k({}, e) : this.config = { holder: e }, this.config.holder == null && (this.config.holder = "blok"), this.config.logLevel == null && (this.config.logLevel = ee.VERBOSE), ve(this.config.logLevel), this.config.defaultBlock = (t = this.config.defaultBlock) == null ? "paragraph" : t;
|
|
12631
12626
|
let o = this.config.tools, s = this.config.defaultBlock, c = o != null && Object.prototype.hasOwnProperty.call(o, s), l = (n = this.config.data) == null ? void 0 : n.blocks, u = Array.isArray(l) && l.length > 0;
|
|
12632
12627
|
if (s && s !== "paragraph" && !c && !u) {
|
|
12633
|
-
|
|
12628
|
+
E(`Default block "${s}" is not configured. Falling back to "paragraph" tool.`, "warn"), this.config.defaultBlock = "paragraph";
|
|
12634
12629
|
let e = this.config.tools, t = k({}, e == null ? {} : e), n = t.paragraph;
|
|
12635
12630
|
t.paragraph = this.createParagraphToolConfig(n), this.config.tools = t;
|
|
12636
12631
|
}
|
|
@@ -12639,15 +12634,15 @@ var Cf = new Set([
|
|
|
12639
12634
|
type: this.config.defaultBlock,
|
|
12640
12635
|
data: {}
|
|
12641
12636
|
};
|
|
12642
|
-
this.config.placeholder === void 0 && (this.config.placeholder = !1), this.config.sanitizer = (r = this.config.sanitizer) == null ? {} : r, this.config.hideToolbar = (i = this.config.hideToolbar) == null ? !1 : i, this.config.tools = this.config.tools || {}, this.config.i18n = this.config.i18n || {}, this.config.data = this.config.data || { blocks: [] }, this.config.onReady = this.config.onReady || (() => {}), this.config.onChange = this.config.onChange || (() => {}), this.config.inlineToolbar = this.config.inlineToolbar === void 0 ? !0 : this.config.inlineToolbar, (
|
|
12637
|
+
this.config.placeholder === void 0 && (this.config.placeholder = !1), this.config.sanitizer = (r = this.config.sanitizer) == null ? {} : r, this.config.hideToolbar = (i = this.config.hideToolbar) == null ? !1 : i, this.config.tools = this.config.tools || {}, this.config.i18n = this.config.i18n || {}, this.config.data = this.config.data || { blocks: [] }, this.config.onReady = this.config.onReady || (() => {}), this.config.onChange = this.config.onChange || (() => {}), this.config.inlineToolbar = this.config.inlineToolbar === void 0 ? !0 : this.config.inlineToolbar, (x(this.config.data) || this.config.data.blocks.length === 0) && (this.config.data = { blocks: [d] }), this.config.readOnly = (a = this.config.readOnly) == null ? !1 : a;
|
|
12643
12638
|
}
|
|
12644
12639
|
get configuration() {
|
|
12645
12640
|
return this.config;
|
|
12646
12641
|
}
|
|
12647
12642
|
validate() {
|
|
12648
12643
|
let { holder: e } = this.config;
|
|
12649
|
-
if (
|
|
12650
|
-
if (e &&
|
|
12644
|
+
if (me(e) && !O.get(e)) throw Error(`element with ID «${e}» is missing. Pass correct holder's ID.`);
|
|
12645
|
+
if (e && b(e) && !O.isElement(e)) throw Error("«holder» value must be an Element node");
|
|
12651
12646
|
}
|
|
12652
12647
|
init() {
|
|
12653
12648
|
this.constructModules(), this.configureModules();
|
|
@@ -12670,7 +12665,7 @@ var Cf = new Set([
|
|
|
12670
12665
|
await e.moduleInstances[n].prepare();
|
|
12671
12666
|
} catch (e) {
|
|
12672
12667
|
if (e instanceof lt) throw Error(e.message);
|
|
12673
|
-
|
|
12668
|
+
E(`Module ${n} was skipped because of %o`, "warn", e);
|
|
12674
12669
|
}
|
|
12675
12670
|
}), Promise.resolve());
|
|
12676
12671
|
}
|
|
@@ -12688,7 +12683,7 @@ var Cf = new Set([
|
|
|
12688
12683
|
eventsDispatcher: this.eventsDispatcher
|
|
12689
12684
|
});
|
|
12690
12685
|
} catch (t) {
|
|
12691
|
-
|
|
12686
|
+
E(`[constructModules] Module ${e} skipped because`, "error", t);
|
|
12692
12687
|
}
|
|
12693
12688
|
});
|
|
12694
12689
|
}
|
|
@@ -12697,13 +12692,13 @@ var Cf = new Set([
|
|
|
12697
12692
|
}
|
|
12698
12693
|
createParagraphToolConfig(e) {
|
|
12699
12694
|
if (e === void 0) return { config: { preserveBlank: !0 } };
|
|
12700
|
-
if (
|
|
12695
|
+
if (m(e)) return {
|
|
12701
12696
|
class: e,
|
|
12702
12697
|
config: { preserveBlank: !0 }
|
|
12703
12698
|
};
|
|
12704
|
-
if (
|
|
12699
|
+
if (b(e)) {
|
|
12705
12700
|
let t = e, n = t.config;
|
|
12706
|
-
return k(k({}, t), {}, { config: k(k({},
|
|
12701
|
+
return k(k({}, t), {}, { config: k(k({}, b(n) ? n : {}), {}, { preserveBlank: !0 }) });
|
|
12707
12702
|
}
|
|
12708
12703
|
return { config: { preserveBlank: !0 } };
|
|
12709
12704
|
}
|
|
@@ -12740,25 +12735,25 @@ typeof window < "u" && window.requestIdleCallback === void 0 && (window.requestI
|
|
|
12740
12735
|
let t = Wf.get(e);
|
|
12741
12736
|
t !== void 0 && (Wf.delete(e), Uf(t)), globalThis.clearTimeout(e);
|
|
12742
12737
|
}), ct();
|
|
12743
|
-
var Kf, qf =
|
|
12738
|
+
var Kf, qf = ge(), Jf = class e {
|
|
12744
12739
|
static get version() {
|
|
12745
|
-
return
|
|
12740
|
+
return ge();
|
|
12746
12741
|
}
|
|
12747
12742
|
constructor(e) {
|
|
12748
|
-
this.initialConfiguration =
|
|
12749
|
-
let t =
|
|
12743
|
+
this.initialConfiguration = b(e) ? k({}, e) : e;
|
|
12744
|
+
let t = b(e) && m(e.onReady) ? e.onReady : () => {}, n = new Vf(e), r = { pendingDestroy: !1 };
|
|
12750
12745
|
this.destroy = () => {
|
|
12751
12746
|
r.pendingDestroy = !0;
|
|
12752
12747
|
}, this.isReady = n.isReady.then(() => {
|
|
12753
12748
|
if (r.pendingDestroy) {
|
|
12754
12749
|
Object.values(n.moduleInstances).forEach((e) => {
|
|
12755
|
-
e != null &&
|
|
12750
|
+
e != null && m(e.markDestroyed) && e.markDestroyed();
|
|
12756
12751
|
}), Object.values(n.moduleInstances).forEach((e) => {
|
|
12757
12752
|
if (e == null) return;
|
|
12758
|
-
|
|
12753
|
+
m(e.destroy) && e.destroy();
|
|
12759
12754
|
let t = e.listeners;
|
|
12760
|
-
t &&
|
|
12761
|
-
}),
|
|
12755
|
+
t && m(t.removeAll) && t.removeAll();
|
|
12756
|
+
}), _e();
|
|
12762
12757
|
let e = Object.keys(this);
|
|
12763
12758
|
for (let t of e) delete this[t];
|
|
12764
12759
|
Object.setPrototypeOf(this, null);
|
|
@@ -12773,17 +12768,17 @@ var Kf, qf = ne(), Jf = class e {
|
|
|
12773
12768
|
this[e] = t[e];
|
|
12774
12769
|
return;
|
|
12775
12770
|
}
|
|
12776
|
-
let n = t.configuration, r =
|
|
12771
|
+
let n = t.configuration, r = b(this.initialConfiguration) || n == null ? this.initialConfiguration : n;
|
|
12777
12772
|
r !== void 0 && (this[e] = r);
|
|
12778
12773
|
}), this.destroy = () => {
|
|
12779
12774
|
Object.values(t.moduleInstances).forEach((e) => {
|
|
12780
|
-
e != null &&
|
|
12775
|
+
e != null && m(e.markDestroyed) && e.markDestroyed();
|
|
12781
12776
|
}), Object.values(t.moduleInstances).forEach((e) => {
|
|
12782
12777
|
if (e == null) return;
|
|
12783
|
-
|
|
12778
|
+
m(e.destroy) && e.destroy();
|
|
12784
12779
|
let t = e.listeners;
|
|
12785
|
-
t &&
|
|
12786
|
-
}),
|
|
12780
|
+
t && m(t.removeAll) && t.removeAll();
|
|
12781
|
+
}), _e();
|
|
12787
12782
|
let e = Object.keys(this);
|
|
12788
12783
|
for (let t of e) delete this[t];
|
|
12789
12784
|
Object.setPrototypeOf(this, null);
|
|
@@ -12842,6 +12837,6 @@ var Kf, qf = ne(), Jf = class e {
|
|
|
12842
12837
|
});
|
|
12843
12838
|
}
|
|
12844
12839
|
};
|
|
12845
|
-
Kf = Jf, Kf.DATA_ATTR =
|
|
12840
|
+
Kf = Jf, Kf.DATA_ATTR = t;
|
|
12846
12841
|
//#endregion
|
|
12847
12842
|
export { qf as n, ku as r, Jf as t };
|