@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
|
@@ -2,7 +2,7 @@ import type { API } from '../../../types';
|
|
|
2
2
|
|
|
3
3
|
import type { TableCellBlocks } from './table-cell-blocks';
|
|
4
4
|
import { CELL_BLOCKS_ATTR } from './table-cell-blocks';
|
|
5
|
-
import { BORDER_WIDTH, ROW_ATTR, CELL_ATTR } from './table-core';
|
|
5
|
+
import { BORDER_WIDTH, ROW_ATTR, CELL_ATTR, CELL_COL_ATTR } from './table-core';
|
|
6
6
|
import type { TableGrid } from './table-core';
|
|
7
7
|
import type { LegacyCellContent, TableData } from './types';
|
|
8
8
|
import { isCellWithBlocks } from './types';
|
|
@@ -10,37 +10,51 @@ import { isCellWithBlocks } from './types';
|
|
|
10
10
|
// ─── Pure DOM helpers ───────────────────────────────────────────────
|
|
11
11
|
|
|
12
12
|
export const readPixelWidths = (gridEl: HTMLElement): number[] => {
|
|
13
|
-
const
|
|
13
|
+
const colgroup = gridEl.querySelector('colgroup');
|
|
14
14
|
|
|
15
|
-
if (!
|
|
15
|
+
if (!colgroup) {
|
|
16
16
|
return [];
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
-
const
|
|
19
|
+
const cols = colgroup.querySelectorAll('col');
|
|
20
|
+
const firstCol = cols[0] as HTMLElement | undefined;
|
|
20
21
|
|
|
21
|
-
return
|
|
22
|
-
|
|
22
|
+
// When columns use percentage widths, parseFloat would return the percentage
|
|
23
|
+
// number (e.g. 50 from "50%") which is not a pixel value. In that case,
|
|
24
|
+
// read actual rendered widths from the first row's cells.
|
|
25
|
+
if (firstCol && firstCol.style.width.endsWith('%')) {
|
|
26
|
+
const firstRow = gridEl.querySelector(`[${ROW_ATTR}]`);
|
|
27
|
+
|
|
28
|
+
if (firstRow) {
|
|
29
|
+
return Array.from(firstRow.querySelectorAll(`[${CELL_ATTR}]`)).map(
|
|
30
|
+
cell => Math.round(cell.getBoundingClientRect().width)
|
|
31
|
+
);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
return Array.from(cols).map(col =>
|
|
36
|
+
parseFloat((col as HTMLElement).style.width) || 0
|
|
23
37
|
);
|
|
24
38
|
};
|
|
25
39
|
|
|
26
40
|
export const applyPixelWidths = (gridEl: HTMLElement, widths: number[]): void => {
|
|
27
41
|
const totalWidth = widths.reduce((sum, w) => sum + w, 0);
|
|
28
|
-
const
|
|
42
|
+
const grid: HTMLElement = gridEl;
|
|
29
43
|
|
|
30
|
-
|
|
44
|
+
grid.style.width = `${totalWidth + BORDER_WIDTH}px`;
|
|
31
45
|
|
|
32
|
-
const
|
|
46
|
+
const colgroup = gridEl.querySelector('colgroup');
|
|
33
47
|
|
|
34
|
-
|
|
35
|
-
|
|
48
|
+
if (!colgroup) {
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
36
51
|
|
|
37
|
-
|
|
38
|
-
if (i < widths.length) {
|
|
39
|
-
const cellEl = node as HTMLElement;
|
|
52
|
+
const cols = Array.from(colgroup.querySelectorAll('col')) as HTMLElement[];
|
|
40
53
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
54
|
+
widths.forEach((w, i) => {
|
|
55
|
+
if (i < cols.length) {
|
|
56
|
+
cols[i].style.width = `${w}px`;
|
|
57
|
+
}
|
|
44
58
|
});
|
|
45
59
|
};
|
|
46
60
|
|
|
@@ -92,8 +106,7 @@ export const isColumnEmpty = (gridEl: HTMLElement, colIndex: number): boolean =>
|
|
|
92
106
|
const rows = gridEl.querySelectorAll(`[${ROW_ATTR}]`);
|
|
93
107
|
|
|
94
108
|
return Array.from(rows).every(row => {
|
|
95
|
-
const
|
|
96
|
-
const cell = cells[colIndex] as HTMLElement | undefined;
|
|
109
|
+
const cell = row.querySelector<HTMLElement>(`[${CELL_COL_ATTR}="${colIndex}"]`);
|
|
97
110
|
|
|
98
111
|
return !cell || isCellEmpty(cell);
|
|
99
112
|
});
|
|
@@ -102,16 +115,15 @@ export const isColumnEmpty = (gridEl: HTMLElement, colIndex: number): boolean =>
|
|
|
102
115
|
// ─── Percent-mode width redistribution ──────────────────────────────
|
|
103
116
|
|
|
104
117
|
export const redistributePercentWidths = (gridEl: HTMLElement): void => {
|
|
105
|
-
const
|
|
106
|
-
const firstRow = rows[0];
|
|
118
|
+
const colgroup = gridEl.querySelector('colgroup');
|
|
107
119
|
|
|
108
|
-
if (!
|
|
120
|
+
if (!colgroup) {
|
|
109
121
|
return;
|
|
110
122
|
}
|
|
111
123
|
|
|
112
|
-
const
|
|
113
|
-
const currentTotal = Array.from(
|
|
114
|
-
(sum,
|
|
124
|
+
const cols = colgroup.querySelectorAll('col');
|
|
125
|
+
const currentTotal = Array.from(cols).reduce(
|
|
126
|
+
(sum, col) => sum + (parseFloat((col as HTMLElement).style.width) || 0),
|
|
115
127
|
0,
|
|
116
128
|
);
|
|
117
129
|
|
|
@@ -121,15 +133,11 @@ export const redistributePercentWidths = (gridEl: HTMLElement): void => {
|
|
|
121
133
|
|
|
122
134
|
const scale = 100 / currentTotal;
|
|
123
135
|
|
|
124
|
-
|
|
125
|
-
const
|
|
126
|
-
|
|
127
|
-
cells.forEach(cell => {
|
|
128
|
-
const el = cell as HTMLElement;
|
|
129
|
-
const oldWidth = parseFloat(el.style.width) || 0;
|
|
136
|
+
cols.forEach(col => {
|
|
137
|
+
const el = col as HTMLElement;
|
|
138
|
+
const oldWidth = parseFloat(el.style.width) || 0;
|
|
130
139
|
|
|
131
|
-
|
|
132
|
-
});
|
|
140
|
+
el.style.width = `${Math.round(oldWidth * scale * 100) / 100}%`;
|
|
133
141
|
});
|
|
134
142
|
};
|
|
135
143
|
|
|
@@ -221,10 +229,10 @@ export const getBlockIdsInColumn = (element: HTMLElement | null, cellBlocks: Tab
|
|
|
221
229
|
const cellsInColumn: Element[] = [];
|
|
222
230
|
|
|
223
231
|
rows.forEach(row => {
|
|
224
|
-
const
|
|
232
|
+
const cell = row.querySelector(`[${CELL_COL_ATTR}="${colIndex}"]`);
|
|
225
233
|
|
|
226
|
-
if (
|
|
227
|
-
cellsInColumn.push(
|
|
234
|
+
if (cell) {
|
|
235
|
+
cellsInColumn.push(cell);
|
|
228
236
|
}
|
|
229
237
|
});
|
|
230
238
|
|
|
@@ -258,10 +266,8 @@ export const mountCellBlocksReadOnly = (
|
|
|
258
266
|
return;
|
|
259
267
|
}
|
|
260
268
|
|
|
261
|
-
const cells = row.querySelectorAll(`[${CELL_ATTR}]`);
|
|
262
|
-
|
|
263
269
|
rowData.forEach((cellContent, colIndex) => {
|
|
264
|
-
const cell =
|
|
270
|
+
const cell = row.querySelector<HTMLElement>(`[${CELL_COL_ATTR}="${colIndex}"]`);
|
|
265
271
|
|
|
266
272
|
if (!cell) {
|
|
267
273
|
return;
|
|
@@ -408,15 +414,13 @@ export const applyCellColors = (gridEl: HTMLElement, content: LegacyCellContent[
|
|
|
408
414
|
return;
|
|
409
415
|
}
|
|
410
416
|
|
|
411
|
-
const cells = rows[r].querySelectorAll(`[${CELL_ATTR}]`);
|
|
412
|
-
|
|
413
417
|
rowContent.forEach((cellContent, c) => {
|
|
414
|
-
|
|
418
|
+
const el = rows[r].querySelector<HTMLElement>(`[${CELL_COL_ATTR}="${c}"]`);
|
|
419
|
+
|
|
420
|
+
if (!el) {
|
|
415
421
|
return;
|
|
416
422
|
}
|
|
417
423
|
|
|
418
|
-
const el = cells[c] as HTMLElement;
|
|
419
|
-
|
|
420
424
|
if (isCellWithBlocks(cellContent) && cellContent.color) {
|
|
421
425
|
el.style.backgroundColor = cellContent.color;
|
|
422
426
|
} else {
|
|
@@ -432,6 +436,36 @@ export const applyCellColors = (gridEl: HTMLElement, content: LegacyCellContent[
|
|
|
432
436
|
});
|
|
433
437
|
};
|
|
434
438
|
|
|
439
|
+
export const applyCellPlacements = (gridEl: HTMLElement, content: LegacyCellContent[][]): void => {
|
|
440
|
+
const rows = gridEl.querySelectorAll(`[${ROW_ATTR}]`);
|
|
441
|
+
|
|
442
|
+
content.forEach((rowContent, r) => {
|
|
443
|
+
if (r >= rows.length) {
|
|
444
|
+
return;
|
|
445
|
+
}
|
|
446
|
+
|
|
447
|
+
rowContent.forEach((cellContent, c) => {
|
|
448
|
+
const el = rows[r].querySelector<HTMLElement>(`[${CELL_COL_ATTR}="${c}"]`);
|
|
449
|
+
|
|
450
|
+
if (!el) {
|
|
451
|
+
return;
|
|
452
|
+
}
|
|
453
|
+
|
|
454
|
+
const blocksContainer = el.querySelector<HTMLElement>(`[${CELL_BLOCKS_ATTR}]`);
|
|
455
|
+
|
|
456
|
+
if (!blocksContainer) {
|
|
457
|
+
return;
|
|
458
|
+
}
|
|
459
|
+
|
|
460
|
+
if (isCellWithBlocks(cellContent) && cellContent.placement && cellContent.placement !== 'top-left') {
|
|
461
|
+
blocksContainer.setAttribute('data-blok-cell-placement', cellContent.placement);
|
|
462
|
+
} else {
|
|
463
|
+
blocksContainer.removeAttribute('data-blok-cell-placement');
|
|
464
|
+
}
|
|
465
|
+
});
|
|
466
|
+
});
|
|
467
|
+
};
|
|
468
|
+
|
|
435
469
|
export const updateHeadingColumnStyles = (gridEl: HTMLElement | null, withHeadingColumn: boolean): void => {
|
|
436
470
|
if (!gridEl) {
|
|
437
471
|
return;
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import { BORDER_WIDTH } from './table-core';
|
|
2
2
|
|
|
3
3
|
const RESIZE_ATTR = 'data-blok-table-resize';
|
|
4
|
-
const CELL_ATTR = 'data-blok-table-cell';
|
|
5
|
-
const ROW_ATTR = 'data-blok-table-row';
|
|
6
4
|
const MIN_COL_WIDTH = 50;
|
|
7
5
|
const HANDLE_HIT_WIDTH = 16;
|
|
8
6
|
|
|
@@ -23,7 +21,7 @@ export class TableResize {
|
|
|
23
21
|
private dragStartX = 0;
|
|
24
22
|
private dragColIndex = -1;
|
|
25
23
|
private startColWidth = 0;
|
|
26
|
-
private
|
|
24
|
+
private dragColElements: HTMLElement[] | null = null;
|
|
27
25
|
private handles: HTMLElement[] = [];
|
|
28
26
|
private needsInitialApply: boolean;
|
|
29
27
|
|
|
@@ -74,7 +72,7 @@ export class TableResize {
|
|
|
74
72
|
this.gridEl.removeEventListener('pointerdown', this.boundPointerDown);
|
|
75
73
|
document.removeEventListener('pointermove', this.boundPointerMove);
|
|
76
74
|
document.removeEventListener('pointerup', this.boundPointerUp);
|
|
77
|
-
this.
|
|
75
|
+
this.dragColElements = null;
|
|
78
76
|
|
|
79
77
|
this.handles.forEach(handle => handle.remove());
|
|
80
78
|
this.handles = [];
|
|
@@ -170,7 +168,7 @@ export class TableResize {
|
|
|
170
168
|
this.isDragging = true;
|
|
171
169
|
this.dragStartX = e.clientX;
|
|
172
170
|
this.startColWidth = this.colWidths[this.dragColIndex];
|
|
173
|
-
this.
|
|
171
|
+
this.dragColElements = this.resolveColElements();
|
|
174
172
|
|
|
175
173
|
this.onDragStart?.();
|
|
176
174
|
this.gridEl.style.userSelect = 'none';
|
|
@@ -195,7 +193,7 @@ export class TableResize {
|
|
|
195
193
|
const newWidth = Math.max(MIN_COL_WIDTH, rawWidth);
|
|
196
194
|
|
|
197
195
|
this.colWidths[this.dragColIndex] = newWidth;
|
|
198
|
-
this.applyWidths(this.
|
|
196
|
+
this.applyWidths(this.dragColElements ?? undefined);
|
|
199
197
|
this.updateHandlePositions();
|
|
200
198
|
this.onDrag?.();
|
|
201
199
|
}
|
|
@@ -216,28 +214,32 @@ export class TableResize {
|
|
|
216
214
|
|
|
217
215
|
document.removeEventListener('pointermove', this.boundPointerMove);
|
|
218
216
|
document.removeEventListener('pointerup', this.boundPointerUp);
|
|
219
|
-
this.
|
|
217
|
+
this.dragColElements = null;
|
|
220
218
|
|
|
221
219
|
this.onChange([...this.colWidths]);
|
|
222
220
|
}
|
|
223
221
|
|
|
224
|
-
private
|
|
225
|
-
const
|
|
222
|
+
private resolveColElements(): HTMLElement[] {
|
|
223
|
+
const colgroup = this.gridEl.querySelector('colgroup');
|
|
226
224
|
|
|
227
|
-
|
|
225
|
+
if (!colgroup) {
|
|
226
|
+
return [];
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
return Array.from(colgroup.querySelectorAll<HTMLElement>('col'));
|
|
228
230
|
}
|
|
229
231
|
|
|
230
|
-
private applyWidths(
|
|
232
|
+
private applyWidths(cols: HTMLElement[] = this.resolveColElements()): void {
|
|
231
233
|
const totalWidth = this.colWidths.reduce((sum, w) => sum + w, 0);
|
|
232
234
|
|
|
233
235
|
this.gridEl.style.width = `${totalWidth + BORDER_WIDTH}px`;
|
|
234
236
|
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
}
|
|
240
|
-
}
|
|
237
|
+
cols.forEach((colEl, i) => {
|
|
238
|
+
if (i < this.colWidths.length) {
|
|
239
|
+
const el: HTMLElement = colEl;
|
|
240
|
+
|
|
241
|
+
el.style.width = `${this.colWidths[i]}px`;
|
|
242
|
+
}
|
|
241
243
|
});
|
|
242
244
|
}
|
|
243
245
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BORDER_WIDTH, CELL_ATTR, ROW_ATTR } from './table-core';
|
|
1
|
+
import { BORDER_WIDTH, CELL_ATTR, CELL_COL_ATTR, ROW_ATTR } from './table-core';
|
|
2
2
|
import type { RowColAction } from './table-row-col-controls';
|
|
3
3
|
|
|
4
4
|
const DRAG_THRESHOLD = 10;
|
|
@@ -10,6 +10,23 @@ const GHOST_ATTR = 'data-blok-table-drag-ghost';
|
|
|
10
10
|
* plus the right edge of the last column.
|
|
11
11
|
*/
|
|
12
12
|
export const getCumulativeColEdges = (grid: HTMLElement): number[] => {
|
|
13
|
+
const colgroup = grid.querySelector('colgroup');
|
|
14
|
+
|
|
15
|
+
if (colgroup) {
|
|
16
|
+
const cols = Array.from(colgroup.querySelectorAll('col'));
|
|
17
|
+
|
|
18
|
+
return cols.reduce<number[]>(
|
|
19
|
+
(edges, col) => {
|
|
20
|
+
const last = edges[edges.length - 1];
|
|
21
|
+
const width = (col as HTMLElement).offsetWidth || parseFloat((col as HTMLElement).style.width) || 0;
|
|
22
|
+
|
|
23
|
+
return [...edges, last + width];
|
|
24
|
+
},
|
|
25
|
+
[0]
|
|
26
|
+
);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
// Fallback for grids without colgroup
|
|
13
30
|
const firstRow = grid.querySelector(`[${ROW_ATTR}]`);
|
|
14
31
|
|
|
15
32
|
if (!firstRow) {
|
|
@@ -211,14 +228,12 @@ export class TableRowColDrag {
|
|
|
211
228
|
const dragBg = this.getDragSourceBg();
|
|
212
229
|
|
|
213
230
|
rows.forEach(row => {
|
|
214
|
-
const
|
|
231
|
+
const cellEl = row.querySelector<HTMLElement>(`[${CELL_COL_ATTR}="${this.dragFromIndex}"]`);
|
|
215
232
|
|
|
216
|
-
if (
|
|
233
|
+
if (!cellEl) {
|
|
217
234
|
return;
|
|
218
235
|
}
|
|
219
236
|
|
|
220
|
-
const cellEl = cells[this.dragFromIndex] as HTMLElement;
|
|
221
|
-
|
|
222
237
|
cellEl.style.backgroundColor = dragBg;
|
|
223
238
|
cellEl.style.opacity = '0.7';
|
|
224
239
|
this.dragOverlayCells.push(cellEl);
|
|
@@ -418,8 +433,8 @@ export class TableRowColDrag {
|
|
|
418
433
|
return null;
|
|
419
434
|
}
|
|
420
435
|
|
|
421
|
-
const firstCell = firstRow.
|
|
422
|
-
const lastCell = lastRow.
|
|
436
|
+
const firstCell = firstRow.querySelector<HTMLElement>(`[${CELL_COL_ATTR}="${this.dragFromIndex}"]`);
|
|
437
|
+
const lastCell = lastRow.querySelector<HTMLElement>(`[${CELL_COL_ATTR}="${this.dragFromIndex}"]`);
|
|
423
438
|
|
|
424
439
|
if (!firstCell || !lastCell) {
|
|
425
440
|
return null;
|
|
@@ -469,13 +484,12 @@ export class TableRowColDrag {
|
|
|
469
484
|
ghostStyle.flexDirection = 'column';
|
|
470
485
|
|
|
471
486
|
rows.forEach(row => {
|
|
472
|
-
const
|
|
487
|
+
const cellEl = row.querySelector<HTMLElement>(`[${CELL_COL_ATTR}="${this.dragFromIndex}"]`);
|
|
473
488
|
|
|
474
|
-
if (
|
|
489
|
+
if (!cellEl) {
|
|
475
490
|
return;
|
|
476
491
|
}
|
|
477
492
|
|
|
478
|
-
const cellEl = cells[this.dragFromIndex] as HTMLElement;
|
|
479
493
|
const clone = cellEl.cloneNode(true) as HTMLElement;
|
|
480
494
|
|
|
481
495
|
clone.style.width = `${cellEl.offsetWidth}px`;
|
package/src/tools/table/types.ts
CHANGED
|
@@ -1,10 +1,32 @@
|
|
|
1
1
|
import type { BlockToolData } from '../../../types';
|
|
2
2
|
|
|
3
|
+
/**
|
|
4
|
+
* Content placement within a cell.
|
|
5
|
+
* Describes vertical (top/middle/bottom) and horizontal (left/center/right) alignment.
|
|
6
|
+
*/
|
|
7
|
+
export type CellPlacement =
|
|
8
|
+
| 'top-left' | 'top-center' | 'top-right'
|
|
9
|
+
| 'middle-left' | 'middle-center' | 'middle-right'
|
|
10
|
+
| 'bottom-left' | 'bottom-center' | 'bottom-right';
|
|
11
|
+
|
|
3
12
|
/**
|
|
4
13
|
* Cell content always contains block IDs.
|
|
5
14
|
* Every cell in the table is represented as an array of block references.
|
|
6
15
|
*/
|
|
7
|
-
export type CellContent = {
|
|
16
|
+
export type CellContent = {
|
|
17
|
+
blocks: string[];
|
|
18
|
+
color?: string;
|
|
19
|
+
textColor?: string;
|
|
20
|
+
text?: string;
|
|
21
|
+
/** Content placement within the cell (vertical + horizontal alignment). */
|
|
22
|
+
placement?: CellPlacement;
|
|
23
|
+
/** Number of columns this cell spans (default 1 when omitted). Only set on origin cells. */
|
|
24
|
+
colspan?: number;
|
|
25
|
+
/** Number of rows this cell spans (default 1 when omitted). Only set on origin cells. */
|
|
26
|
+
rowspan?: number;
|
|
27
|
+
/** If set, this cell is covered by a merge whose origin is at [row, col]. */
|
|
28
|
+
mergedInto?: [number, number];
|
|
29
|
+
};
|
|
8
30
|
|
|
9
31
|
/**
|
|
10
32
|
* Legacy cell content type for migration from string-based cells.
|
|
@@ -73,5 +95,5 @@ export interface ClipboardBlockData {
|
|
|
73
95
|
export interface TableCellsClipboard {
|
|
74
96
|
rows: number;
|
|
75
97
|
cols: number;
|
|
76
|
-
cells: Array<Array<{ blocks: ClipboardBlockData[]; color?: string; textColor?: string }>>;
|
|
98
|
+
cells: Array<Array<{ blocks: ClipboardBlockData[]; color?: string; textColor?: string; placement?: CellPlacement }>>;
|
|
77
99
|
}
|
package/types/tools/code.d.ts
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|