@notectl/core 1.7.3 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +56 -31
- package/custom-elements.json +350 -6
- package/dist/chunks/AttrRegistry-B2AGfTE0.mjs +2 -0
- package/dist/chunks/AttrRegistry-B2AGfTE0.mjs.map +1 -0
- package/dist/chunks/AttributedMarkCommands-BB7lzFct.mjs +2 -0
- package/dist/chunks/{AttributedMarkCommands-BtLea72z.mjs.map → AttributedMarkCommands-BB7lzFct.mjs.map} +1 -1
- package/dist/chunks/BlockTypePickerRegistry-DcSE6IXB.mjs +2 -0
- package/dist/chunks/BlockTypePickerRegistry-DcSE6IXB.mjs.map +1 -0
- package/dist/chunks/ColorGrid-CpkbKfXg.mjs +2 -0
- package/dist/chunks/ColorGrid-CpkbKfXg.mjs.map +1 -0
- package/dist/chunks/ColorPickerPopup-DRzFvt7o.mjs +2 -0
- package/dist/chunks/ColorPickerPopup-DRzFvt7o.mjs.map +1 -0
- package/dist/chunks/ColorValidation-DCSKq9B2.mjs +2 -0
- package/dist/chunks/{ColorValidation-CV4f1wu6.mjs.map → ColorValidation-DCSKq9B2.mjs.map} +1 -1
- package/dist/chunks/Commands-P9wS8qtN.mjs +2 -0
- package/dist/chunks/Commands-P9wS8qtN.mjs.map +1 -0
- package/dist/chunks/Decoration-D49mFXrH.mjs +2 -0
- package/dist/chunks/Decoration-D49mFXrH.mjs.map +1 -0
- package/dist/chunks/Document-BFYAonMF.mjs +2 -0
- package/dist/chunks/{Document-Brtw2jL1.mjs.map → Document-BFYAonMF.mjs.map} +1 -1
- package/dist/chunks/DocumentParser-DFcvVMGY.mjs +2 -0
- package/dist/chunks/DocumentParser-DFcvVMGY.mjs.map +1 -0
- package/dist/chunks/DomUtils-Cdz1eDKM.mjs +2 -0
- package/dist/chunks/DomUtils-Cdz1eDKM.mjs.map +1 -0
- package/dist/chunks/HTMLUtils-CCvQ5f83.mjs +2 -0
- package/dist/chunks/HTMLUtils-CCvQ5f83.mjs.map +1 -0
- package/dist/chunks/HeadingPlugin-DYy3IoT_.mjs +2 -0
- package/dist/chunks/HeadingPlugin-DYy3IoT_.mjs.map +1 -0
- package/dist/chunks/KeyboardNav-DsYhKKuV.mjs +2 -0
- package/dist/chunks/KeyboardNav-DsYhKKuV.mjs.map +1 -0
- package/dist/chunks/LocaleService-B6Z-wyAF.mjs +2 -0
- package/dist/chunks/LocaleService-B6Z-wyAF.mjs.map +1 -0
- package/dist/chunks/MarkCommands-B_erV7zz.mjs +2 -0
- package/dist/chunks/{MarkCommands-6RUJ4L3r.mjs.map → MarkCommands-B_erV7zz.mjs.map} +1 -1
- package/dist/chunks/NavigationQueries-ogQuObz7.mjs +2 -0
- package/dist/chunks/NavigationQueries-ogQuObz7.mjs.map +1 -0
- package/dist/chunks/NotectlEditor-4NFnXLyD.mjs +2 -0
- package/dist/chunks/NotectlEditor-4NFnXLyD.mjs.map +1 -0
- package/dist/chunks/Platform-CU6itXZo.mjs +2 -0
- package/dist/chunks/Platform-CU6itXZo.mjs.map +1 -0
- package/dist/chunks/Plugin-OzM8Oxm_.mjs +2 -0
- package/dist/chunks/Plugin-OzM8Oxm_.mjs.map +1 -0
- package/dist/chunks/PluginHelpers-DjZt0pQi.mjs +2 -0
- package/dist/chunks/PluginHelpers-DjZt0pQi.mjs.map +1 -0
- package/dist/chunks/PopupManager-BM8IT6M7.mjs +2 -0
- package/dist/chunks/PopupManager-BM8IT6M7.mjs.map +1 -0
- package/dist/chunks/PopupPositioning-DtvqMSop.mjs +2 -0
- package/dist/chunks/PopupPositioning-DtvqMSop.mjs.map +1 -0
- package/dist/chunks/PrintTypes-ehbL7ipA.mjs +2 -0
- package/dist/chunks/PrintTypes-ehbL7ipA.mjs.map +1 -0
- package/dist/chunks/RangeIterator-CNI6smOg.mjs +2 -0
- package/dist/chunks/{RangeIterator-Bh4Vl_6D.mjs.map → RangeIterator-CNI6smOg.mjs.map} +1 -1
- package/dist/chunks/Selection-6-W6Flxc.mjs +2 -0
- package/dist/chunks/{Selection-BRTab5hO.mjs.map → Selection-6-W6Flxc.mjs.map} +1 -1
- package/dist/chunks/SelectionTransactions-q71GEzgE.mjs +2 -0
- package/dist/chunks/SelectionTransactions-q71GEzgE.mjs.map +1 -0
- package/dist/chunks/ShortcutFormatting-BLKS0Gys.mjs +2 -0
- package/dist/chunks/ShortcutFormatting-BLKS0Gys.mjs.map +1 -0
- package/dist/chunks/StyleRuntime-BmsLoEa8.mjs +2 -0
- package/dist/chunks/{StyleRuntime-CP4NCwKT.mjs.map → StyleRuntime-BmsLoEa8.mjs.map} +1 -1
- package/dist/chunks/TextDirectionLocale-DB_aqrMg.mjs +2 -0
- package/dist/chunks/TextDirectionLocale-DB_aqrMg.mjs.map +1 -0
- package/dist/chunks/TypeBrands-Bp_Z_o5Y.mjs +2 -0
- package/dist/chunks/{TypeBrands-C09nE2qO.mjs.map → TypeBrands-Bp_Z_o5Y.mjs.map} +1 -1
- package/dist/chunks/ar-B93SPJT7.mjs +2 -0
- package/dist/chunks/ar-B93SPJT7.mjs.map +1 -0
- package/dist/chunks/ar-BAmGa08u.mjs +2 -0
- package/dist/chunks/ar-BAmGa08u.mjs.map +1 -0
- package/dist/chunks/ar-BYNFEVLc.mjs +2 -0
- package/dist/chunks/ar-BYNFEVLc.mjs.map +1 -0
- package/dist/chunks/ar-Bnc7y8BP.mjs +2 -0
- package/dist/chunks/ar-Bnc7y8BP.mjs.map +1 -0
- package/dist/chunks/ar-Bp3rDZky.mjs +2 -0
- package/dist/chunks/ar-Bp3rDZky.mjs.map +1 -0
- package/dist/chunks/ar-BtOQ7lro.mjs +2 -0
- package/dist/chunks/ar-BtOQ7lro.mjs.map +1 -0
- package/dist/chunks/ar-C5JEHhw9.mjs +2 -0
- package/dist/chunks/ar-C5JEHhw9.mjs.map +1 -0
- package/dist/chunks/ar-CL3QL0tw.mjs +2 -0
- package/dist/chunks/ar-CL3QL0tw.mjs.map +1 -0
- package/dist/chunks/ar-CYtG-XlN.mjs +2 -0
- package/dist/chunks/ar-CYtG-XlN.mjs.map +1 -0
- package/dist/chunks/ar-CzVj8p__.mjs +2 -0
- package/dist/chunks/ar-CzVj8p__.mjs.map +1 -0
- package/dist/chunks/ar-D7PS3e2g.mjs +2 -0
- package/dist/chunks/ar-D7PS3e2g.mjs.map +1 -0
- package/dist/chunks/ar-D8adM2Uy.mjs +2 -0
- package/dist/chunks/ar-D8adM2Uy.mjs.map +1 -0
- package/dist/chunks/ar-D9jyShaB.mjs +2 -0
- package/dist/chunks/ar-D9jyShaB.mjs.map +1 -0
- package/dist/chunks/ar-DR6OA3ZO.mjs +2 -0
- package/dist/chunks/ar-DR6OA3ZO.mjs.map +1 -0
- package/dist/chunks/ar-Deibepjm.mjs +2 -0
- package/dist/chunks/ar-Deibepjm.mjs.map +1 -0
- package/dist/chunks/ar-Dlb5riUN.mjs +2 -0
- package/dist/chunks/ar-Dlb5riUN.mjs.map +1 -0
- package/dist/chunks/ar-DmmxE2W7.mjs +2 -0
- package/dist/chunks/ar-DmmxE2W7.mjs.map +1 -0
- package/dist/chunks/ar-Ds6Z2Gzf.mjs +2 -0
- package/dist/chunks/ar-Ds6Z2Gzf.mjs.map +1 -0
- package/dist/chunks/ar-DtIHQ8nU.mjs +2 -0
- package/dist/chunks/ar-DtIHQ8nU.mjs.map +1 -0
- package/dist/chunks/ar-J8B-on-0.mjs +2 -0
- package/dist/chunks/ar-J8B-on-0.mjs.map +1 -0
- package/dist/chunks/ar-iU02mRe5.mjs +2 -0
- package/dist/chunks/ar-iU02mRe5.mjs.map +1 -0
- package/dist/chunks/ar-mSCYQYnL.mjs +2 -0
- package/dist/chunks/ar-mSCYQYnL.mjs.map +1 -0
- package/dist/chunks/color-picker-Byjl_xr9.mjs +2 -0
- package/dist/chunks/color-picker-Byjl_xr9.mjs.map +1 -0
- package/dist/chunks/de-8aCC5jBM.mjs +2 -0
- package/dist/chunks/de-8aCC5jBM.mjs.map +1 -0
- package/dist/chunks/de-B4y4ndUw.mjs +2 -0
- package/dist/chunks/de-B4y4ndUw.mjs.map +1 -0
- package/dist/chunks/de-B5fcZ0FQ.mjs +2 -0
- package/dist/chunks/de-B5fcZ0FQ.mjs.map +1 -0
- package/dist/chunks/de-BT9VmwoJ.mjs +2 -0
- package/dist/chunks/de-BT9VmwoJ.mjs.map +1 -0
- package/dist/chunks/de-BZWSyJTG.mjs +2 -0
- package/dist/chunks/de-BZWSyJTG.mjs.map +1 -0
- package/dist/chunks/de-CFD_Wgik.mjs +2 -0
- package/dist/chunks/de-CFD_Wgik.mjs.map +1 -0
- package/dist/chunks/de-CLYtb6kD.mjs +2 -0
- package/dist/chunks/de-CLYtb6kD.mjs.map +1 -0
- package/dist/chunks/de-CP5v-98M.mjs +2 -0
- package/dist/chunks/de-CP5v-98M.mjs.map +1 -0
- package/dist/chunks/de-CYJ6uWno.mjs +2 -0
- package/dist/chunks/de-CYJ6uWno.mjs.map +1 -0
- package/dist/chunks/de-ChcKkF7A.mjs +2 -0
- package/dist/chunks/de-ChcKkF7A.mjs.map +1 -0
- package/dist/chunks/de-CicoU066.mjs +2 -0
- package/dist/chunks/de-CicoU066.mjs.map +1 -0
- package/dist/chunks/de-CjLAdBt2.mjs +2 -0
- package/dist/chunks/de-CjLAdBt2.mjs.map +1 -0
- package/dist/chunks/de-CtFvAXwF.mjs +2 -0
- package/dist/chunks/de-CtFvAXwF.mjs.map +1 -0
- package/dist/chunks/de-D1OAXtxJ.mjs +2 -0
- package/dist/chunks/de-D1OAXtxJ.mjs.map +1 -0
- package/dist/chunks/de-DBbzCQrm.mjs +2 -0
- package/dist/chunks/de-DBbzCQrm.mjs.map +1 -0
- package/dist/chunks/de-DOLwx_M7.mjs +2 -0
- package/dist/chunks/de-DOLwx_M7.mjs.map +1 -0
- package/dist/chunks/de-De2miMxo.mjs +2 -0
- package/dist/chunks/de-De2miMxo.mjs.map +1 -0
- package/dist/chunks/de-OTfhhinm.mjs +2 -0
- package/dist/chunks/de-OTfhhinm.mjs.map +1 -0
- package/dist/chunks/de-PZ9-LlBp.mjs +2 -0
- package/dist/chunks/de-PZ9-LlBp.mjs.map +1 -0
- package/dist/chunks/de-UREymH-5.mjs +2 -0
- package/dist/chunks/de-UREymH-5.mjs.map +1 -0
- package/dist/chunks/de-chYdoK9q.mjs +2 -0
- package/dist/chunks/de-chYdoK9q.mjs.map +1 -0
- package/dist/chunks/de-xJh5C_pk.mjs +2 -0
- package/dist/chunks/de-xJh5C_pk.mjs.map +1 -0
- package/dist/chunks/es-B9UhsaEI.mjs +2 -0
- package/dist/chunks/es-B9UhsaEI.mjs.map +1 -0
- package/dist/chunks/es-BHGwPgrP.mjs +2 -0
- package/dist/chunks/es-BHGwPgrP.mjs.map +1 -0
- package/dist/chunks/es-BbGOZGS_.mjs +2 -0
- package/dist/chunks/es-BbGOZGS_.mjs.map +1 -0
- package/dist/chunks/es-BjPsub0k.mjs +2 -0
- package/dist/chunks/es-BjPsub0k.mjs.map +1 -0
- package/dist/chunks/es-Bk0bRDFE.mjs +2 -0
- package/dist/chunks/es-Bk0bRDFE.mjs.map +1 -0
- package/dist/chunks/es-BkS6DsrM.mjs +2 -0
- package/dist/chunks/es-BkS6DsrM.mjs.map +1 -0
- package/dist/chunks/es-BzEpr4Bk.mjs +2 -0
- package/dist/chunks/es-BzEpr4Bk.mjs.map +1 -0
- package/dist/chunks/es-C2lnWyA0.mjs +2 -0
- package/dist/chunks/es-C2lnWyA0.mjs.map +1 -0
- package/dist/chunks/es-C7e35Muh.mjs +2 -0
- package/dist/chunks/es-C7e35Muh.mjs.map +1 -0
- package/dist/chunks/es-CBk43isB.mjs +2 -0
- package/dist/chunks/es-CBk43isB.mjs.map +1 -0
- package/dist/chunks/es-CE8t9fuM.mjs +2 -0
- package/dist/chunks/es-CE8t9fuM.mjs.map +1 -0
- package/dist/chunks/es-CFjzqIbS.mjs +2 -0
- package/dist/chunks/es-CFjzqIbS.mjs.map +1 -0
- package/dist/chunks/es-Ce-AEYxc.mjs +2 -0
- package/dist/chunks/es-Ce-AEYxc.mjs.map +1 -0
- package/dist/chunks/es-Co4AJr8Y.mjs +2 -0
- package/dist/chunks/es-Co4AJr8Y.mjs.map +1 -0
- package/dist/chunks/es-Cu5_OA4X.mjs +2 -0
- package/dist/chunks/es-Cu5_OA4X.mjs.map +1 -0
- package/dist/chunks/es-Cud6JXHf.mjs +2 -0
- package/dist/chunks/es-Cud6JXHf.mjs.map +1 -0
- package/dist/chunks/es-D-II7LZC.mjs +2 -0
- package/dist/chunks/es-D-II7LZC.mjs.map +1 -0
- package/dist/chunks/es-DBBSeOaD.mjs +2 -0
- package/dist/chunks/es-DBBSeOaD.mjs.map +1 -0
- package/dist/chunks/es-DCwjeUUu.mjs +2 -0
- package/dist/chunks/es-DCwjeUUu.mjs.map +1 -0
- package/dist/chunks/es-DvgH3-WZ.mjs +2 -0
- package/dist/chunks/es-DvgH3-WZ.mjs.map +1 -0
- package/dist/chunks/es-MgguVgIs.mjs +2 -0
- package/dist/chunks/es-MgguVgIs.mjs.map +1 -0
- package/dist/chunks/es-yXjjcxgb.mjs +2 -0
- package/dist/chunks/es-yXjjcxgb.mjs.map +1 -0
- package/dist/chunks/fr-B-_yKIAY.mjs +2 -0
- package/dist/chunks/fr-B-_yKIAY.mjs.map +1 -0
- package/dist/chunks/fr-BGyF2ym0.mjs +2 -0
- package/dist/chunks/fr-BGyF2ym0.mjs.map +1 -0
- package/dist/chunks/fr-BoRJ3B2-.mjs +2 -0
- package/dist/chunks/fr-BoRJ3B2-.mjs.map +1 -0
- package/dist/chunks/fr-BrKk4SPg.mjs +2 -0
- package/dist/chunks/fr-BrKk4SPg.mjs.map +1 -0
- package/dist/chunks/fr-C-y09LKg.mjs +2 -0
- package/dist/chunks/fr-C-y09LKg.mjs.map +1 -0
- package/dist/chunks/fr-C1W7jyd6.mjs +2 -0
- package/dist/chunks/fr-C1W7jyd6.mjs.map +1 -0
- package/dist/chunks/fr-C8CtmWBj.mjs +2 -0
- package/dist/chunks/fr-C8CtmWBj.mjs.map +1 -0
- package/dist/chunks/fr-C9oiPW0k.mjs +2 -0
- package/dist/chunks/fr-C9oiPW0k.mjs.map +1 -0
- package/dist/chunks/fr-CEkk4UyZ.mjs +2 -0
- package/dist/chunks/fr-CEkk4UyZ.mjs.map +1 -0
- package/dist/chunks/fr-Ccaetiwi.mjs +2 -0
- package/dist/chunks/fr-Ccaetiwi.mjs.map +1 -0
- package/dist/chunks/fr-Ccku5KzA.mjs +2 -0
- package/dist/chunks/fr-Ccku5KzA.mjs.map +1 -0
- package/dist/chunks/fr-CfUg1FxU.mjs +2 -0
- package/dist/chunks/fr-CfUg1FxU.mjs.map +1 -0
- package/dist/chunks/fr-DDkBcjmO.mjs +2 -0
- package/dist/chunks/fr-DDkBcjmO.mjs.map +1 -0
- package/dist/chunks/fr-DNwLChcm.mjs +2 -0
- package/dist/chunks/fr-DNwLChcm.mjs.map +1 -0
- package/dist/chunks/fr-DvneSjCf.mjs +2 -0
- package/dist/chunks/fr-DvneSjCf.mjs.map +1 -0
- package/dist/chunks/fr-Dx4Qqimj.mjs +2 -0
- package/dist/chunks/fr-Dx4Qqimj.mjs.map +1 -0
- package/dist/chunks/fr-RHXmueoO.mjs +2 -0
- package/dist/chunks/fr-RHXmueoO.mjs.map +1 -0
- package/dist/chunks/fr-Wiobfk5s.mjs +2 -0
- package/dist/chunks/fr-Wiobfk5s.mjs.map +1 -0
- package/dist/chunks/fr-YMiDtWuG.mjs +2 -0
- package/dist/chunks/fr-YMiDtWuG.mjs.map +1 -0
- package/dist/chunks/fr-_Oxf0k66.mjs +2 -0
- package/dist/chunks/fr-_Oxf0k66.mjs.map +1 -0
- package/dist/chunks/fr-gurfH-7T.mjs +2 -0
- package/dist/chunks/fr-gurfH-7T.mjs.map +1 -0
- package/dist/chunks/fr-zP7EjxDL.mjs +2 -0
- package/dist/chunks/fr-zP7EjxDL.mjs.map +1 -0
- package/dist/chunks/hi-B2W8pFqK.mjs +2 -0
- package/dist/chunks/hi-B2W8pFqK.mjs.map +1 -0
- package/dist/chunks/hi-B2m69ZCq.mjs +2 -0
- package/dist/chunks/hi-B2m69ZCq.mjs.map +1 -0
- package/dist/chunks/hi-BMIt3y_-.mjs +2 -0
- package/dist/chunks/hi-BMIt3y_-.mjs.map +1 -0
- package/dist/chunks/hi-BmkfaZpg.mjs +2 -0
- package/dist/chunks/hi-BmkfaZpg.mjs.map +1 -0
- package/dist/chunks/hi-C-l_R2SO.mjs +2 -0
- package/dist/chunks/hi-C-l_R2SO.mjs.map +1 -0
- package/dist/chunks/hi-C1LhM-oY.mjs +2 -0
- package/dist/chunks/hi-C1LhM-oY.mjs.map +1 -0
- package/dist/chunks/hi-CGEbGI1l.mjs +2 -0
- package/dist/chunks/hi-CGEbGI1l.mjs.map +1 -0
- package/dist/chunks/hi-CPuhj7IA.mjs +2 -0
- package/dist/chunks/hi-CPuhj7IA.mjs.map +1 -0
- package/dist/chunks/hi-CT5WERqi.mjs +2 -0
- package/dist/chunks/hi-CT5WERqi.mjs.map +1 -0
- package/dist/chunks/hi-CbLPPQ0b.mjs +2 -0
- package/dist/chunks/hi-CbLPPQ0b.mjs.map +1 -0
- package/dist/chunks/hi-ClvEtEKe.mjs +2 -0
- package/dist/chunks/hi-ClvEtEKe.mjs.map +1 -0
- package/dist/chunks/hi-CpBWHmYH.mjs +2 -0
- package/dist/chunks/hi-CpBWHmYH.mjs.map +1 -0
- package/dist/chunks/hi-DAfl8nU_.mjs +2 -0
- package/dist/chunks/hi-DAfl8nU_.mjs.map +1 -0
- package/dist/chunks/hi-DVof3w0y.mjs +2 -0
- package/dist/chunks/hi-DVof3w0y.mjs.map +1 -0
- package/dist/chunks/hi-DtlvSQkD.mjs +2 -0
- package/dist/chunks/hi-DtlvSQkD.mjs.map +1 -0
- package/dist/chunks/hi-FH3CAJuR.mjs +2 -0
- package/dist/chunks/hi-FH3CAJuR.mjs.map +1 -0
- package/dist/chunks/hi-Ga9h9a_1.mjs +2 -0
- package/dist/chunks/hi-Ga9h9a_1.mjs.map +1 -0
- package/dist/chunks/hi-Zc17M1T-.mjs +2 -0
- package/dist/chunks/hi-Zc17M1T-.mjs.map +1 -0
- package/dist/chunks/hi-g7i0bmig.mjs +2 -0
- package/dist/chunks/hi-g7i0bmig.mjs.map +1 -0
- package/dist/chunks/hi-js2P6byR.mjs +2 -0
- package/dist/chunks/hi-js2P6byR.mjs.map +1 -0
- package/dist/chunks/hi-ntUsOspQ.mjs +2 -0
- package/dist/chunks/hi-ntUsOspQ.mjs.map +1 -0
- package/dist/chunks/hi-yxAcR3w6.mjs +2 -0
- package/dist/chunks/hi-yxAcR3w6.mjs.map +1 -0
- package/dist/chunks/index-C8xtb3SM.mjs +2 -0
- package/dist/chunks/index-C8xtb3SM.mjs.map +1 -0
- package/dist/chunks/index-DAoSt12h.mjs +2 -0
- package/dist/chunks/index-DAoSt12h.mjs.map +1 -0
- package/dist/chunks/pt--IiroJQw.mjs +2 -0
- package/dist/chunks/pt--IiroJQw.mjs.map +1 -0
- package/dist/chunks/pt-BF72W8M5.mjs +2 -0
- package/dist/chunks/pt-BF72W8M5.mjs.map +1 -0
- package/dist/chunks/pt-BX_t4luI.mjs +2 -0
- package/dist/chunks/pt-BX_t4luI.mjs.map +1 -0
- package/dist/chunks/pt-B_XJ2s9X.mjs +2 -0
- package/dist/chunks/pt-B_XJ2s9X.mjs.map +1 -0
- package/dist/chunks/pt-C-Vp7Rxj.mjs +2 -0
- package/dist/chunks/pt-C-Vp7Rxj.mjs.map +1 -0
- package/dist/chunks/pt-CD2aCZXf.mjs +2 -0
- package/dist/chunks/pt-CD2aCZXf.mjs.map +1 -0
- package/dist/chunks/pt-CFjzqIbS.mjs +2 -0
- package/dist/chunks/pt-CFjzqIbS.mjs.map +1 -0
- package/dist/chunks/pt-CHjmBegF.mjs +2 -0
- package/dist/chunks/pt-CHjmBegF.mjs.map +1 -0
- package/dist/chunks/pt-CQRzEocL.mjs +2 -0
- package/dist/chunks/pt-CQRzEocL.mjs.map +1 -0
- package/dist/chunks/pt-Cem2WxUk.mjs +2 -0
- package/dist/chunks/pt-Cem2WxUk.mjs.map +1 -0
- package/dist/chunks/pt-D6kdF3fH.mjs +2 -0
- package/dist/chunks/pt-D6kdF3fH.mjs.map +1 -0
- package/dist/chunks/pt-DJfJVeY8.mjs +2 -0
- package/dist/chunks/pt-DJfJVeY8.mjs.map +1 -0
- package/dist/chunks/pt-DfB-IaYi.mjs +2 -0
- package/dist/chunks/pt-DfB-IaYi.mjs.map +1 -0
- package/dist/chunks/pt-DlNdH9pu.mjs +2 -0
- package/dist/chunks/pt-DlNdH9pu.mjs.map +1 -0
- package/dist/chunks/pt-DrJ0-8Yo.mjs +2 -0
- package/dist/chunks/pt-DrJ0-8Yo.mjs.map +1 -0
- package/dist/chunks/pt-DsBJpgpe.mjs +2 -0
- package/dist/chunks/pt-DsBJpgpe.mjs.map +1 -0
- package/dist/chunks/pt-DwdSYJzC.mjs +2 -0
- package/dist/chunks/pt-DwdSYJzC.mjs.map +1 -0
- package/dist/chunks/pt-Dx9UkZ3j.mjs +2 -0
- package/dist/chunks/pt-Dx9UkZ3j.mjs.map +1 -0
- package/dist/chunks/pt-TuA3_GDM.mjs +2 -0
- package/dist/chunks/pt-TuA3_GDM.mjs.map +1 -0
- package/dist/chunks/pt-cN6r-f7f.mjs +2 -0
- package/dist/chunks/pt-cN6r-f7f.mjs.map +1 -0
- package/dist/chunks/pt-uNGpVM3D.mjs +2 -0
- package/dist/chunks/pt-uNGpVM3D.mjs.map +1 -0
- package/dist/chunks/pt-v1E9u-Jx.mjs +2 -0
- package/dist/chunks/pt-v1E9u-Jx.mjs.map +1 -0
- package/dist/chunks/ru-0h51zrqE.mjs +2 -0
- package/dist/chunks/ru-0h51zrqE.mjs.map +1 -0
- package/dist/chunks/ru-4S8w6UN_.mjs +2 -0
- package/dist/chunks/ru-4S8w6UN_.mjs.map +1 -0
- package/dist/chunks/ru-B0cRw90L.mjs +2 -0
- package/dist/chunks/ru-B0cRw90L.mjs.map +1 -0
- package/dist/chunks/ru-B3O7WXNM.mjs +2 -0
- package/dist/chunks/ru-B3O7WXNM.mjs.map +1 -0
- package/dist/chunks/ru-B6zVAzvI.mjs +2 -0
- package/dist/chunks/ru-B6zVAzvI.mjs.map +1 -0
- package/dist/chunks/ru-B8teJin_.mjs +2 -0
- package/dist/chunks/ru-B8teJin_.mjs.map +1 -0
- package/dist/chunks/ru-BCriPw-8.mjs +2 -0
- package/dist/chunks/ru-BCriPw-8.mjs.map +1 -0
- package/dist/chunks/ru-BNOU16E5.mjs +2 -0
- package/dist/chunks/ru-BNOU16E5.mjs.map +1 -0
- package/dist/chunks/ru-BO6BIS5W.mjs +2 -0
- package/dist/chunks/ru-BO6BIS5W.mjs.map +1 -0
- package/dist/chunks/ru-Bdy1lLuc.mjs +2 -0
- package/dist/chunks/ru-Bdy1lLuc.mjs.map +1 -0
- package/dist/chunks/ru-BgBctNVm.mjs +2 -0
- package/dist/chunks/ru-BgBctNVm.mjs.map +1 -0
- package/dist/chunks/ru-CNLx7T3O.mjs +2 -0
- package/dist/chunks/ru-CNLx7T3O.mjs.map +1 -0
- package/dist/chunks/ru-CVSCT776.mjs +2 -0
- package/dist/chunks/ru-CVSCT776.mjs.map +1 -0
- package/dist/chunks/ru-CZvkdGnf.mjs +2 -0
- package/dist/chunks/ru-CZvkdGnf.mjs.map +1 -0
- package/dist/chunks/ru-CegMPuML.mjs +2 -0
- package/dist/chunks/ru-CegMPuML.mjs.map +1 -0
- package/dist/chunks/ru-CiLrD2Nz.mjs +2 -0
- package/dist/chunks/ru-CiLrD2Nz.mjs.map +1 -0
- package/dist/chunks/ru-ClEM6OKY.mjs +2 -0
- package/dist/chunks/ru-ClEM6OKY.mjs.map +1 -0
- package/dist/chunks/ru-CrbxCeQf.mjs +2 -0
- package/dist/chunks/ru-CrbxCeQf.mjs.map +1 -0
- package/dist/chunks/ru-D3j2x2xu.mjs +2 -0
- package/dist/chunks/ru-D3j2x2xu.mjs.map +1 -0
- package/dist/chunks/ru-DdHqb4Mh.mjs +2 -0
- package/dist/chunks/ru-DdHqb4Mh.mjs.map +1 -0
- package/dist/chunks/ru-DjgNdOdJ.mjs +2 -0
- package/dist/chunks/ru-DjgNdOdJ.mjs.map +1 -0
- package/dist/chunks/ru-XKNCzkR2.mjs +2 -0
- package/dist/chunks/ru-XKNCzkR2.mjs.map +1 -0
- package/dist/chunks/zh--oNSMazK.mjs +2 -0
- package/dist/chunks/zh--oNSMazK.mjs.map +1 -0
- package/dist/chunks/zh-BfeWdPIz.mjs +2 -0
- package/dist/chunks/zh-BfeWdPIz.mjs.map +1 -0
- package/dist/chunks/zh-BnOxGKxF.mjs +2 -0
- package/dist/chunks/zh-BnOxGKxF.mjs.map +1 -0
- package/dist/chunks/zh-BqMtE-jN.mjs +2 -0
- package/dist/chunks/zh-BqMtE-jN.mjs.map +1 -0
- package/dist/chunks/zh-C3aI7A2o.mjs +2 -0
- package/dist/chunks/zh-C3aI7A2o.mjs.map +1 -0
- package/dist/chunks/zh-C6YALJZt.mjs +2 -0
- package/dist/chunks/zh-C6YALJZt.mjs.map +1 -0
- package/dist/chunks/zh-CWdTbUOP.mjs +2 -0
- package/dist/chunks/zh-CWdTbUOP.mjs.map +1 -0
- package/dist/chunks/zh-CY01pMD4.mjs +2 -0
- package/dist/chunks/zh-CY01pMD4.mjs.map +1 -0
- package/dist/chunks/zh-Cmt7n9FY.mjs +2 -0
- package/dist/chunks/zh-Cmt7n9FY.mjs.map +1 -0
- package/dist/chunks/zh-CpP2kee3.mjs +2 -0
- package/dist/chunks/zh-CpP2kee3.mjs.map +1 -0
- package/dist/chunks/zh-Cpbg4evx.mjs +2 -0
- package/dist/chunks/zh-Cpbg4evx.mjs.map +1 -0
- package/dist/chunks/zh-Cqb55JWa.mjs +2 -0
- package/dist/chunks/zh-Cqb55JWa.mjs.map +1 -0
- package/dist/chunks/zh-DCQZ6gss.mjs +2 -0
- package/dist/chunks/zh-DCQZ6gss.mjs.map +1 -0
- package/dist/chunks/zh-DG2CNTUU.mjs +2 -0
- package/dist/chunks/zh-DG2CNTUU.mjs.map +1 -0
- package/dist/chunks/zh-DTiTJbzz.mjs +2 -0
- package/dist/chunks/zh-DTiTJbzz.mjs.map +1 -0
- package/dist/chunks/zh-Da1z6qbB.mjs +2 -0
- package/dist/chunks/zh-Da1z6qbB.mjs.map +1 -0
- package/dist/chunks/zh-DlBt06Pr.mjs +2 -0
- package/dist/chunks/zh-DlBt06Pr.mjs.map +1 -0
- package/dist/chunks/zh-Dt-wVrNr.mjs +2 -0
- package/dist/chunks/zh-Dt-wVrNr.mjs.map +1 -0
- package/dist/chunks/zh-ND6vW2M-.mjs +2 -0
- package/dist/chunks/zh-ND6vW2M-.mjs.map +1 -0
- package/dist/chunks/zh-Yd3GNsa0.mjs +2 -0
- package/dist/chunks/zh-Yd3GNsa0.mjs.map +1 -0
- package/dist/chunks/zh-lhynyH6Q.mjs +2 -0
- package/dist/chunks/zh-lhynyH6Q.mjs.map +1 -0
- package/dist/chunks/zh-v9NmlEIN.mjs +2 -0
- package/dist/chunks/zh-v9NmlEIN.mjs.map +1 -0
- package/dist/commands/Commands.d.ts +9 -3
- package/dist/commands/Commands.d.ts.map +1 -1
- package/dist/commands/GapCursorCommands.d.ts.map +1 -1
- package/dist/commands/MovementCommands.d.ts +1 -4
- package/dist/commands/MovementCommands.d.ts.map +1 -1
- package/dist/commands/NodeSelectionCommands.d.ts +3 -1
- package/dist/commands/NodeSelectionCommands.d.ts.map +1 -1
- package/dist/commands/WordBoundary.d.ts +4 -9
- package/dist/commands/WordBoundary.d.ts.map +1 -1
- package/dist/editor/Announcer.d.ts +1 -2
- package/dist/editor/Announcer.d.ts.map +1 -1
- package/dist/{model → editor}/BuiltinSpecs.d.ts +1 -1
- package/dist/editor/BuiltinSpecs.d.ts.map +1 -0
- package/dist/editor/ContentSerializer.d.ts +24 -0
- package/dist/editor/ContentSerializer.d.ts.map +1 -0
- package/dist/editor/EditorConfigController.d.ts +38 -0
- package/dist/editor/EditorConfigController.d.ts.map +1 -0
- package/dist/editor/EditorDOM.d.ts +3 -4
- package/dist/editor/EditorDOM.d.ts.map +1 -1
- package/dist/editor/EditorEventEmitter.d.ts +30 -0
- package/dist/editor/EditorEventEmitter.d.ts.map +1 -0
- package/dist/editor/EditorLifecycleCoordinator.d.ts +24 -0
- package/dist/editor/EditorLifecycleCoordinator.d.ts.map +1 -0
- package/dist/editor/EditorLocale.d.ts +9 -0
- package/dist/editor/EditorLocale.d.ts.map +1 -0
- package/dist/editor/EditorStyleCoordinator.d.ts +9 -0
- package/dist/editor/EditorStyleCoordinator.d.ts.map +1 -0
- package/dist/editor/NotectlEditor.d.ts +20 -54
- package/dist/editor/NotectlEditor.d.ts.map +1 -1
- package/dist/editor/PaperLayoutController.d.ts +1 -1
- package/dist/editor/PaperLayoutController.d.ts.map +1 -1
- package/dist/editor/PluginBootstrapper.d.ts +18 -0
- package/dist/editor/PluginBootstrapper.d.ts.map +1 -0
- package/dist/editor/locales/ar.d.ts +4 -0
- package/dist/editor/locales/ar.d.ts.map +1 -0
- package/dist/editor/locales/de.d.ts +4 -0
- package/dist/editor/locales/de.d.ts.map +1 -0
- package/dist/editor/locales/es.d.ts +4 -0
- package/dist/editor/locales/es.d.ts.map +1 -0
- package/dist/editor/locales/fr.d.ts +4 -0
- package/dist/editor/locales/fr.d.ts.map +1 -0
- package/dist/editor/locales/hi.d.ts +4 -0
- package/dist/editor/locales/hi.d.ts.map +1 -0
- package/dist/editor/locales/pt.d.ts +4 -0
- package/dist/editor/locales/pt.d.ts.map +1 -0
- package/dist/editor/locales/ru.d.ts +4 -0
- package/dist/editor/locales/ru.d.ts.map +1 -0
- package/dist/editor/locales/zh.d.ts +4 -0
- package/dist/editor/locales/zh.d.ts.map +1 -0
- package/dist/editor/styles/base.d.ts +1 -1
- package/dist/editor/styles/base.d.ts.map +1 -1
- package/dist/editor/styles/code-block.d.ts +1 -1
- package/dist/editor/styles/code-block.d.ts.map +1 -1
- package/dist/editor/styles/font-select.d.ts +1 -1
- package/dist/editor/styles/font-select.d.ts.map +1 -1
- package/dist/editor/styles/font-size-select.d.ts +1 -1
- package/dist/editor/styles/font-size-select.d.ts.map +1 -1
- package/dist/editor/styles/heading-select.d.ts +1 -1
- package/dist/editor/styles/heading-select.d.ts.map +1 -1
- package/dist/editor/styles/image.d.ts +1 -1
- package/dist/editor/styles/image.d.ts.map +1 -1
- package/dist/editor/styles/list.d.ts +1 -1
- package/dist/editor/styles/list.d.ts.map +1 -1
- package/dist/editor/styles/table.d.ts +1 -1
- package/dist/editor/styles/table.d.ts.map +1 -1
- package/dist/editor/styles/toolbar.d.ts +1 -1
- package/dist/editor/styles/toolbar.d.ts.map +1 -1
- package/dist/fonts.mjs +1 -6
- package/dist/fonts.mjs.map +1 -1
- package/dist/full.d.ts +45 -0
- package/dist/full.d.ts.map +1 -0
- package/dist/full.mjs +2 -0
- package/dist/full.mjs.map +1 -0
- package/dist/html.d.ts +16 -0
- package/dist/html.d.ts.map +1 -0
- package/dist/html.mjs +2 -0
- package/dist/html.mjs.map +1 -0
- package/dist/i18n/Locale.d.ts +1 -0
- package/dist/i18n/Locale.d.ts.map +1 -1
- package/dist/i18n/index.d.ts +0 -1
- package/dist/i18n/index.d.ts.map +1 -1
- package/dist/index.d.ts +29 -93
- package/dist/index.d.ts.map +1 -1
- package/dist/input/BlockInsertion.d.ts +51 -0
- package/dist/input/BlockInsertion.d.ts.map +1 -0
- package/dist/input/ClipboardHandler.d.ts +22 -0
- package/dist/input/ClipboardHandler.d.ts.map +1 -1
- package/dist/input/CompositionTracker.d.ts +2 -1
- package/dist/input/CompositionTracker.d.ts.map +1 -1
- package/dist/{model → input}/HTMLParser.d.ts +3 -3
- package/dist/input/HTMLParser.d.ts.map +1 -0
- package/dist/input/InputHandler.d.ts +1 -1
- package/dist/input/InputHandler.d.ts.map +1 -1
- package/dist/input/InputManager.d.ts +35 -0
- package/dist/input/InputManager.d.ts.map +1 -0
- package/dist/input/InternalClipboard.d.ts +11 -1
- package/dist/input/InternalClipboard.d.ts.map +1 -1
- package/dist/input/KeyboardHandler.d.ts +12 -1
- package/dist/input/KeyboardHandler.d.ts.map +1 -1
- package/dist/input/PasteHandler.d.ts +21 -17
- package/dist/input/PasteHandler.d.ts.map +1 -1
- package/dist/model/AttrRegistry.d.ts +1 -1
- package/dist/model/AttrRegistry.d.ts.map +1 -1
- package/dist/model/BlockAlignment.d.ts +8 -0
- package/dist/model/BlockAlignment.d.ts.map +1 -0
- package/dist/model/BlockTypeLabels.d.ts +7 -0
- package/dist/model/BlockTypeLabels.d.ts.map +1 -0
- package/dist/model/CompositionState.d.ts +8 -0
- package/dist/model/CompositionState.d.ts.map +1 -0
- package/dist/{input → model}/FileHandlerRegistry.d.ts +1 -1
- package/dist/{input → model}/FileHandlerRegistry.d.ts.map +1 -1
- package/dist/model/HTMLUtils.d.ts +6 -0
- package/dist/model/HTMLUtils.d.ts.map +1 -1
- package/dist/{input → model}/InputRule.d.ts.map +1 -1
- package/dist/{input → model}/InputRuleRegistry.d.ts.map +1 -1
- package/dist/{input → model}/Keymap.d.ts.map +1 -1
- package/dist/{input → model}/KeymapRegistry.d.ts.map +1 -1
- package/dist/model/MarkSpec.d.ts +2 -2
- package/dist/model/MarkSpec.d.ts.map +1 -1
- package/dist/model/NodeSpec.d.ts +0 -3
- package/dist/model/NodeSpec.d.ts.map +1 -1
- package/dist/model/PaperSize.d.ts.map +1 -0
- package/dist/model/WordBoundary.d.ts +12 -0
- package/dist/model/WordBoundary.d.ts.map +1 -0
- package/dist/notectl-core.mjs +1 -3888
- package/dist/notectl-core.mjs.map +1 -1
- package/dist/notectl-core.umd.js +1 -9523
- package/dist/notectl-core.umd.js.map +1 -1
- package/dist/{view → platform}/Platform.d.ts +2 -0
- package/dist/platform/Platform.d.ts.map +1 -0
- package/dist/plugins/Plugin.d.ts +5 -5
- package/dist/plugins/Plugin.d.ts.map +1 -1
- package/dist/plugins/PluginManager.d.ts +3 -3
- package/dist/plugins/alignment/AlignmentLocale.d.ts +3 -10
- package/dist/plugins/alignment/AlignmentLocale.d.ts.map +1 -1
- package/dist/plugins/alignment/AlignmentPlugin.d.ts +3 -13
- package/dist/plugins/alignment/AlignmentPlugin.d.ts.map +1 -1
- package/dist/plugins/alignment/index.d.ts +3 -1
- package/dist/plugins/alignment/index.d.ts.map +1 -1
- package/dist/plugins/alignment/locales/ar.d.ts +4 -0
- package/dist/plugins/alignment/locales/ar.d.ts.map +1 -0
- package/dist/plugins/alignment/locales/de.d.ts +4 -0
- package/dist/plugins/alignment/locales/de.d.ts.map +1 -0
- package/dist/plugins/alignment/locales/es.d.ts +4 -0
- package/dist/plugins/alignment/locales/es.d.ts.map +1 -0
- package/dist/plugins/alignment/locales/fr.d.ts +4 -0
- package/dist/plugins/alignment/locales/fr.d.ts.map +1 -0
- package/dist/plugins/alignment/locales/hi.d.ts +4 -0
- package/dist/plugins/alignment/locales/hi.d.ts.map +1 -0
- package/dist/plugins/alignment/locales/pt.d.ts +4 -0
- package/dist/plugins/alignment/locales/pt.d.ts.map +1 -0
- package/dist/plugins/alignment/locales/ru.d.ts +4 -0
- package/dist/plugins/alignment/locales/ru.d.ts.map +1 -0
- package/dist/plugins/alignment/locales/zh.d.ts +4 -0
- package/dist/plugins/alignment/locales/zh.d.ts.map +1 -0
- package/dist/plugins/alignment.mjs +1 -5
- package/dist/plugins/alignment.mjs.map +1 -1
- package/dist/plugins/blockquote/BlockquoteKeyboardHandlers.d.ts +4 -0
- package/dist/plugins/blockquote/BlockquoteKeyboardHandlers.d.ts.map +1 -0
- package/dist/plugins/blockquote/BlockquoteLocale.d.ts +1 -8
- package/dist/plugins/blockquote/BlockquoteLocale.d.ts.map +1 -1
- package/dist/plugins/blockquote/BlockquotePlugin.d.ts +1 -3
- package/dist/plugins/blockquote/BlockquotePlugin.d.ts.map +1 -1
- package/dist/plugins/blockquote/BlockquoteStyles.d.ts +3 -0
- package/dist/plugins/blockquote/BlockquoteStyles.d.ts.map +1 -0
- package/dist/plugins/blockquote/index.d.ts +2 -0
- package/dist/plugins/blockquote/index.d.ts.map +1 -1
- package/dist/plugins/blockquote/locales/ar.d.ts +4 -0
- package/dist/plugins/blockquote/locales/ar.d.ts.map +1 -0
- package/dist/plugins/blockquote/locales/de.d.ts +4 -0
- package/dist/plugins/blockquote/locales/de.d.ts.map +1 -0
- package/dist/plugins/blockquote/locales/es.d.ts +4 -0
- package/dist/plugins/blockquote/locales/es.d.ts.map +1 -0
- package/dist/plugins/blockquote/locales/fr.d.ts +4 -0
- package/dist/plugins/blockquote/locales/fr.d.ts.map +1 -0
- package/dist/plugins/blockquote/locales/hi.d.ts +4 -0
- package/dist/plugins/blockquote/locales/hi.d.ts.map +1 -0
- package/dist/plugins/blockquote/locales/pt.d.ts +4 -0
- package/dist/plugins/blockquote/locales/pt.d.ts.map +1 -0
- package/dist/plugins/blockquote/locales/ru.d.ts +4 -0
- package/dist/plugins/blockquote/locales/ru.d.ts.map +1 -0
- package/dist/plugins/blockquote/locales/zh.d.ts +4 -0
- package/dist/plugins/blockquote/locales/zh.d.ts.map +1 -0
- package/dist/plugins/blockquote.mjs +1 -4
- package/dist/plugins/blockquote.mjs.map +1 -1
- package/dist/plugins/caret-navigation/CaretNavigationLocale.d.ts +21 -0
- package/dist/plugins/caret-navigation/CaretNavigationLocale.d.ts.map +1 -0
- package/dist/plugins/caret-navigation/CaretNavigationPlugin.d.ts +2 -1
- package/dist/plugins/caret-navigation/CaretNavigationPlugin.d.ts.map +1 -1
- package/dist/plugins/caret-navigation/index.d.ts +2 -0
- package/dist/plugins/caret-navigation/index.d.ts.map +1 -1
- package/dist/plugins/caret-navigation/locales/ar.d.ts +4 -0
- package/dist/plugins/caret-navigation/locales/ar.d.ts.map +1 -0
- package/dist/plugins/caret-navigation/locales/de.d.ts +4 -0
- package/dist/plugins/caret-navigation/locales/de.d.ts.map +1 -0
- package/dist/plugins/caret-navigation/locales/es.d.ts +4 -0
- package/dist/plugins/caret-navigation/locales/es.d.ts.map +1 -0
- package/dist/plugins/caret-navigation/locales/fr.d.ts +4 -0
- package/dist/plugins/caret-navigation/locales/fr.d.ts.map +1 -0
- package/dist/plugins/caret-navigation/locales/hi.d.ts +4 -0
- package/dist/plugins/caret-navigation/locales/hi.d.ts.map +1 -0
- package/dist/plugins/caret-navigation/locales/pt.d.ts +4 -0
- package/dist/plugins/caret-navigation/locales/pt.d.ts.map +1 -0
- package/dist/plugins/caret-navigation/locales/ru.d.ts +4 -0
- package/dist/plugins/caret-navigation/locales/ru.d.ts.map +1 -0
- package/dist/plugins/caret-navigation/locales/zh.d.ts +4 -0
- package/dist/plugins/caret-navigation/locales/zh.d.ts.map +1 -0
- package/dist/plugins/caret-navigation.mjs +1 -4
- package/dist/plugins/caret-navigation.mjs.map +1 -1
- package/dist/plugins/code-block/CodeBlockLocale.d.ts +5 -8
- package/dist/plugins/code-block/CodeBlockLocale.d.ts.map +1 -1
- package/dist/plugins/code-block/CodeBlockNodeView.d.ts +2 -1
- package/dist/plugins/code-block/CodeBlockNodeView.d.ts.map +1 -1
- package/dist/plugins/code-block/CodeBlockPlugin.d.ts +2 -2
- package/dist/plugins/code-block/CodeBlockPlugin.d.ts.map +1 -1
- package/dist/plugins/code-block/CodeBlockService.d.ts.map +1 -1
- package/dist/plugins/code-block/CodeBlockTypes.d.ts +0 -1
- package/dist/plugins/code-block/CodeBlockTypes.d.ts.map +1 -1
- package/dist/plugins/code-block/index.d.ts +2 -0
- package/dist/plugins/code-block/index.d.ts.map +1 -1
- package/dist/plugins/code-block/locales/ar.d.ts +4 -0
- package/dist/plugins/code-block/locales/ar.d.ts.map +1 -0
- package/dist/plugins/code-block/locales/de.d.ts +4 -0
- package/dist/plugins/code-block/locales/de.d.ts.map +1 -0
- package/dist/plugins/code-block/locales/es.d.ts +4 -0
- package/dist/plugins/code-block/locales/es.d.ts.map +1 -0
- package/dist/plugins/code-block/locales/fr.d.ts +4 -0
- package/dist/plugins/code-block/locales/fr.d.ts.map +1 -0
- package/dist/plugins/code-block/locales/hi.d.ts +4 -0
- package/dist/plugins/code-block/locales/hi.d.ts.map +1 -0
- package/dist/plugins/code-block/locales/pt.d.ts +4 -0
- package/dist/plugins/code-block/locales/pt.d.ts.map +1 -0
- package/dist/plugins/code-block/locales/ru.d.ts +4 -0
- package/dist/plugins/code-block/locales/ru.d.ts.map +1 -0
- package/dist/plugins/code-block/locales/zh.d.ts +4 -0
- package/dist/plugins/code-block/locales/zh.d.ts.map +1 -0
- package/dist/plugins/code-block.mjs +1 -5
- package/dist/plugins/code-block.mjs.map +1 -1
- package/dist/plugins/font/FontLocale.d.ts +1 -8
- package/dist/plugins/font/FontLocale.d.ts.map +1 -1
- package/dist/plugins/font/FontPlugin.d.ts +1 -3
- package/dist/plugins/font/FontPlugin.d.ts.map +1 -1
- package/dist/plugins/font/index.d.ts +2 -0
- package/dist/plugins/font/index.d.ts.map +1 -1
- package/dist/plugins/font/locales/ar.d.ts +4 -0
- package/dist/plugins/font/locales/ar.d.ts.map +1 -0
- package/dist/plugins/font/locales/de.d.ts +4 -0
- package/dist/plugins/font/locales/de.d.ts.map +1 -0
- package/dist/plugins/font/locales/es.d.ts +4 -0
- package/dist/plugins/font/locales/es.d.ts.map +1 -0
- package/dist/plugins/font/locales/fr.d.ts +4 -0
- package/dist/plugins/font/locales/fr.d.ts.map +1 -0
- package/dist/plugins/font/locales/hi.d.ts +4 -0
- package/dist/plugins/font/locales/hi.d.ts.map +1 -0
- package/dist/plugins/font/locales/pt.d.ts +4 -0
- package/dist/plugins/font/locales/pt.d.ts.map +1 -0
- package/dist/plugins/font/locales/ru.d.ts +4 -0
- package/dist/plugins/font/locales/ru.d.ts.map +1 -0
- package/dist/plugins/font/locales/zh.d.ts +4 -0
- package/dist/plugins/font/locales/zh.d.ts.map +1 -0
- package/dist/plugins/font-size/FontSizeLocale.d.ts +1 -8
- package/dist/plugins/font-size/FontSizeLocale.d.ts.map +1 -1
- package/dist/plugins/font-size/FontSizePlugin.d.ts +1 -3
- package/dist/plugins/font-size/FontSizePlugin.d.ts.map +1 -1
- package/dist/plugins/font-size/FontSizePopup.d.ts +1 -1
- package/dist/plugins/font-size/FontSizePopup.d.ts.map +1 -1
- package/dist/plugins/font-size/index.d.ts +2 -0
- package/dist/plugins/font-size/index.d.ts.map +1 -1
- package/dist/plugins/font-size/locales/ar.d.ts +4 -0
- package/dist/plugins/font-size/locales/ar.d.ts.map +1 -0
- package/dist/plugins/font-size/locales/de.d.ts +4 -0
- package/dist/plugins/font-size/locales/de.d.ts.map +1 -0
- package/dist/plugins/font-size/locales/es.d.ts +4 -0
- package/dist/plugins/font-size/locales/es.d.ts.map +1 -0
- package/dist/plugins/font-size/locales/fr.d.ts +4 -0
- package/dist/plugins/font-size/locales/fr.d.ts.map +1 -0
- package/dist/plugins/font-size/locales/hi.d.ts +4 -0
- package/dist/plugins/font-size/locales/hi.d.ts.map +1 -0
- package/dist/plugins/font-size/locales/pt.d.ts +4 -0
- package/dist/plugins/font-size/locales/pt.d.ts.map +1 -0
- package/dist/plugins/font-size/locales/ru.d.ts +4 -0
- package/dist/plugins/font-size/locales/ru.d.ts.map +1 -0
- package/dist/plugins/font-size/locales/zh.d.ts +4 -0
- package/dist/plugins/font-size/locales/zh.d.ts.map +1 -0
- package/dist/plugins/font-size.mjs +1 -4
- package/dist/plugins/font-size.mjs.map +1 -1
- package/dist/plugins/font.mjs +1 -4
- package/dist/plugins/font.mjs.map +1 -1
- package/dist/plugins/gap-cursor/GapCursorLocale.d.ts +7 -0
- package/dist/plugins/gap-cursor/GapCursorLocale.d.ts.map +1 -0
- package/dist/plugins/gap-cursor/GapCursorPlugin.d.ts +7 -3
- package/dist/plugins/gap-cursor/GapCursorPlugin.d.ts.map +1 -1
- package/dist/plugins/gap-cursor/locales/ar.d.ts +4 -0
- package/dist/plugins/gap-cursor/locales/ar.d.ts.map +1 -0
- package/dist/plugins/gap-cursor/locales/de.d.ts +4 -0
- package/dist/plugins/gap-cursor/locales/de.d.ts.map +1 -0
- package/dist/plugins/gap-cursor/locales/es.d.ts +4 -0
- package/dist/plugins/gap-cursor/locales/es.d.ts.map +1 -0
- package/dist/plugins/gap-cursor/locales/fr.d.ts +4 -0
- package/dist/plugins/gap-cursor/locales/fr.d.ts.map +1 -0
- package/dist/plugins/gap-cursor/locales/hi.d.ts +4 -0
- package/dist/plugins/gap-cursor/locales/hi.d.ts.map +1 -0
- package/dist/plugins/gap-cursor/locales/pt.d.ts +4 -0
- package/dist/plugins/gap-cursor/locales/pt.d.ts.map +1 -0
- package/dist/plugins/gap-cursor/locales/ru.d.ts +4 -0
- package/dist/plugins/gap-cursor/locales/ru.d.ts.map +1 -0
- package/dist/plugins/gap-cursor/locales/zh.d.ts +4 -0
- package/dist/plugins/gap-cursor/locales/zh.d.ts.map +1 -0
- package/dist/plugins/gap-cursor.mjs +1 -64
- package/dist/plugins/gap-cursor.mjs.map +1 -1
- package/dist/plugins/hard-break.mjs +1 -4
- package/dist/plugins/hard-break.mjs.map +1 -1
- package/dist/plugins/heading/HeadingBlockTypePicker.d.ts +1 -1
- package/dist/plugins/heading/HeadingBlockTypePicker.d.ts.map +1 -1
- package/dist/plugins/heading/HeadingLocale.d.ts +1 -8
- package/dist/plugins/heading/HeadingLocale.d.ts.map +1 -1
- package/dist/plugins/heading/HeadingPlugin.d.ts +2 -4
- package/dist/plugins/heading/HeadingPlugin.d.ts.map +1 -1
- package/dist/plugins/heading/index.d.ts +3 -0
- package/dist/plugins/heading/index.d.ts.map +1 -1
- package/dist/plugins/heading/locales/ar.d.ts +4 -0
- package/dist/plugins/heading/locales/ar.d.ts.map +1 -0
- package/dist/plugins/heading/locales/de.d.ts +4 -0
- package/dist/plugins/heading/locales/de.d.ts.map +1 -0
- package/dist/plugins/heading/locales/es.d.ts +4 -0
- package/dist/plugins/heading/locales/es.d.ts.map +1 -0
- package/dist/plugins/heading/locales/fr.d.ts +4 -0
- package/dist/plugins/heading/locales/fr.d.ts.map +1 -0
- package/dist/plugins/heading/locales/hi.d.ts +4 -0
- package/dist/plugins/heading/locales/hi.d.ts.map +1 -0
- package/dist/plugins/heading/locales/pt.d.ts +4 -0
- package/dist/plugins/heading/locales/pt.d.ts.map +1 -0
- package/dist/plugins/heading/locales/ru.d.ts +4 -0
- package/dist/plugins/heading/locales/ru.d.ts.map +1 -0
- package/dist/plugins/heading/locales/zh.d.ts +4 -0
- package/dist/plugins/heading/locales/zh.d.ts.map +1 -0
- package/dist/plugins/heading.mjs +1 -4
- package/dist/plugins/heading.mjs.map +1 -1
- package/dist/plugins/highlight/HighlightLocale.d.ts +1 -8
- package/dist/plugins/highlight/HighlightLocale.d.ts.map +1 -1
- package/dist/plugins/highlight/HighlightPlugin.d.ts +1 -3
- package/dist/plugins/highlight/HighlightPlugin.d.ts.map +1 -1
- package/dist/plugins/highlight/index.d.ts +2 -0
- package/dist/plugins/highlight/index.d.ts.map +1 -1
- package/dist/plugins/highlight/locales/ar.d.ts +4 -0
- package/dist/plugins/highlight/locales/ar.d.ts.map +1 -0
- package/dist/plugins/highlight/locales/de.d.ts +4 -0
- package/dist/plugins/highlight/locales/de.d.ts.map +1 -0
- package/dist/plugins/highlight/locales/es.d.ts +4 -0
- package/dist/plugins/highlight/locales/es.d.ts.map +1 -0
- package/dist/plugins/highlight/locales/fr.d.ts +4 -0
- package/dist/plugins/highlight/locales/fr.d.ts.map +1 -0
- package/dist/plugins/highlight/locales/hi.d.ts +4 -0
- package/dist/plugins/highlight/locales/hi.d.ts.map +1 -0
- package/dist/plugins/highlight/locales/pt.d.ts +4 -0
- package/dist/plugins/highlight/locales/pt.d.ts.map +1 -0
- package/dist/plugins/highlight/locales/ru.d.ts +4 -0
- package/dist/plugins/highlight/locales/ru.d.ts.map +1 -0
- package/dist/plugins/highlight/locales/zh.d.ts +4 -0
- package/dist/plugins/highlight/locales/zh.d.ts.map +1 -0
- package/dist/plugins/highlight.mjs +1 -4
- package/dist/plugins/highlight.mjs.map +1 -1
- package/dist/plugins/horizontal-rule/HorizontalRuleLocale.d.ts +1 -8
- package/dist/plugins/horizontal-rule/HorizontalRuleLocale.d.ts.map +1 -1
- package/dist/plugins/horizontal-rule/HorizontalRulePlugin.d.ts +1 -3
- package/dist/plugins/horizontal-rule/HorizontalRulePlugin.d.ts.map +1 -1
- package/dist/plugins/horizontal-rule/index.d.ts +2 -0
- package/dist/plugins/horizontal-rule/index.d.ts.map +1 -1
- package/dist/plugins/horizontal-rule/locales/ar.d.ts +4 -0
- package/dist/plugins/horizontal-rule/locales/ar.d.ts.map +1 -0
- package/dist/plugins/horizontal-rule/locales/de.d.ts +4 -0
- package/dist/plugins/horizontal-rule/locales/de.d.ts.map +1 -0
- package/dist/plugins/horizontal-rule/locales/es.d.ts +4 -0
- package/dist/plugins/horizontal-rule/locales/es.d.ts.map +1 -0
- package/dist/plugins/horizontal-rule/locales/fr.d.ts +4 -0
- package/dist/plugins/horizontal-rule/locales/fr.d.ts.map +1 -0
- package/dist/plugins/horizontal-rule/locales/hi.d.ts +4 -0
- package/dist/plugins/horizontal-rule/locales/hi.d.ts.map +1 -0
- package/dist/plugins/horizontal-rule/locales/pt.d.ts +4 -0
- package/dist/plugins/horizontal-rule/locales/pt.d.ts.map +1 -0
- package/dist/plugins/horizontal-rule/locales/ru.d.ts +4 -0
- package/dist/plugins/horizontal-rule/locales/ru.d.ts.map +1 -0
- package/dist/plugins/horizontal-rule/locales/zh.d.ts +4 -0
- package/dist/plugins/horizontal-rule/locales/zh.d.ts.map +1 -0
- package/dist/plugins/horizontal-rule.mjs +1 -4
- package/dist/plugins/horizontal-rule.mjs.map +1 -1
- package/dist/plugins/image/ImageLocale.d.ts +9 -8
- package/dist/plugins/image/ImageLocale.d.ts.map +1 -1
- package/dist/plugins/image/ImageNodeView.d.ts +8 -1
- package/dist/plugins/image/ImageNodeView.d.ts.map +1 -1
- package/dist/plugins/image/ImagePlugin.d.ts +2 -2
- package/dist/plugins/image/ImagePlugin.d.ts.map +1 -1
- package/dist/plugins/image/ImageUpload.d.ts +1 -2
- package/dist/plugins/image/ImageUpload.d.ts.map +1 -1
- package/dist/plugins/image/index.d.ts +2 -0
- package/dist/plugins/image/index.d.ts.map +1 -1
- package/dist/plugins/image/locales/ar.d.ts +4 -0
- package/dist/plugins/image/locales/ar.d.ts.map +1 -0
- package/dist/plugins/image/locales/de.d.ts +4 -0
- package/dist/plugins/image/locales/de.d.ts.map +1 -0
- package/dist/plugins/image/locales/es.d.ts +4 -0
- package/dist/plugins/image/locales/es.d.ts.map +1 -0
- package/dist/plugins/image/locales/fr.d.ts +4 -0
- package/dist/plugins/image/locales/fr.d.ts.map +1 -0
- package/dist/plugins/image/locales/hi.d.ts +4 -0
- package/dist/plugins/image/locales/hi.d.ts.map +1 -0
- package/dist/plugins/image/locales/pt.d.ts +4 -0
- package/dist/plugins/image/locales/pt.d.ts.map +1 -0
- package/dist/plugins/image/locales/ru.d.ts +4 -0
- package/dist/plugins/image/locales/ru.d.ts.map +1 -0
- package/dist/plugins/image/locales/zh.d.ts +4 -0
- package/dist/plugins/image/locales/zh.d.ts.map +1 -0
- package/dist/plugins/image.mjs +1 -6
- package/dist/plugins/image.mjs.map +1 -1
- package/dist/plugins/link/LinkLocale.d.ts +1 -8
- package/dist/plugins/link/LinkLocale.d.ts.map +1 -1
- package/dist/plugins/link/LinkPlugin.d.ts +1 -3
- package/dist/plugins/link/LinkPlugin.d.ts.map +1 -1
- package/dist/plugins/link/index.d.ts +2 -0
- package/dist/plugins/link/index.d.ts.map +1 -1
- package/dist/plugins/link/locales/ar.d.ts +4 -0
- package/dist/plugins/link/locales/ar.d.ts.map +1 -0
- package/dist/plugins/link/locales/de.d.ts +4 -0
- package/dist/plugins/link/locales/de.d.ts.map +1 -0
- package/dist/plugins/link/locales/es.d.ts +4 -0
- package/dist/plugins/link/locales/es.d.ts.map +1 -0
- package/dist/plugins/link/locales/fr.d.ts +4 -0
- package/dist/plugins/link/locales/fr.d.ts.map +1 -0
- package/dist/plugins/link/locales/hi.d.ts +4 -0
- package/dist/plugins/link/locales/hi.d.ts.map +1 -0
- package/dist/plugins/link/locales/pt.d.ts +4 -0
- package/dist/plugins/link/locales/pt.d.ts.map +1 -0
- package/dist/plugins/link/locales/ru.d.ts +4 -0
- package/dist/plugins/link/locales/ru.d.ts.map +1 -0
- package/dist/plugins/link/locales/zh.d.ts +4 -0
- package/dist/plugins/link/locales/zh.d.ts.map +1 -0
- package/dist/plugins/link.mjs +1 -4
- package/dist/plugins/link.mjs.map +1 -1
- package/dist/plugins/list/ListLocale.d.ts +1 -8
- package/dist/plugins/list/ListLocale.d.ts.map +1 -1
- package/dist/plugins/list/ListPlugin.d.ts +1 -3
- package/dist/plugins/list/ListPlugin.d.ts.map +1 -1
- package/dist/plugins/list/index.d.ts +2 -0
- package/dist/plugins/list/index.d.ts.map +1 -1
- package/dist/plugins/list/locales/ar.d.ts +4 -0
- package/dist/plugins/list/locales/ar.d.ts.map +1 -0
- package/dist/plugins/list/locales/de.d.ts +4 -0
- package/dist/plugins/list/locales/de.d.ts.map +1 -0
- package/dist/plugins/list/locales/es.d.ts +4 -0
- package/dist/plugins/list/locales/es.d.ts.map +1 -0
- package/dist/plugins/list/locales/fr.d.ts +4 -0
- package/dist/plugins/list/locales/fr.d.ts.map +1 -0
- package/dist/plugins/list/locales/hi.d.ts +4 -0
- package/dist/plugins/list/locales/hi.d.ts.map +1 -0
- package/dist/plugins/list/locales/pt.d.ts +4 -0
- package/dist/plugins/list/locales/pt.d.ts.map +1 -0
- package/dist/plugins/list/locales/ru.d.ts +4 -0
- package/dist/plugins/list/locales/ru.d.ts.map +1 -0
- package/dist/plugins/list/locales/zh.d.ts +4 -0
- package/dist/plugins/list/locales/zh.d.ts.map +1 -0
- package/dist/plugins/list.mjs +1 -4
- package/dist/plugins/list.mjs.map +1 -1
- package/dist/plugins/print/PrintLocale.d.ts +1 -8
- package/dist/plugins/print/PrintLocale.d.ts.map +1 -1
- package/dist/plugins/print/PrintPlugin.d.ts +1 -1
- package/dist/plugins/print/PrintPlugin.d.ts.map +1 -1
- package/dist/plugins/print/PrintServiceImpl.d.ts.map +1 -1
- package/dist/plugins/print/PrintStyleCollector.d.ts.map +1 -1
- package/dist/plugins/print/PrintTypes.d.ts +1 -1
- package/dist/plugins/print/PrintTypes.d.ts.map +1 -1
- package/dist/plugins/print/index.d.ts +5 -0
- package/dist/plugins/print/index.d.ts.map +1 -0
- package/dist/plugins/print/locales/ar.d.ts +4 -0
- package/dist/plugins/print/locales/ar.d.ts.map +1 -0
- package/dist/plugins/print/locales/de.d.ts +4 -0
- package/dist/plugins/print/locales/de.d.ts.map +1 -0
- package/dist/plugins/print/locales/es.d.ts +4 -0
- package/dist/plugins/print/locales/es.d.ts.map +1 -0
- package/dist/plugins/print/locales/fr.d.ts +4 -0
- package/dist/plugins/print/locales/fr.d.ts.map +1 -0
- package/dist/plugins/print/locales/hi.d.ts +4 -0
- package/dist/plugins/print/locales/hi.d.ts.map +1 -0
- package/dist/plugins/print/locales/pt.d.ts +4 -0
- package/dist/plugins/print/locales/pt.d.ts.map +1 -0
- package/dist/plugins/print/locales/ru.d.ts +4 -0
- package/dist/plugins/print/locales/ru.d.ts.map +1 -0
- package/dist/plugins/print/locales/zh.d.ts +4 -0
- package/dist/plugins/print/locales/zh.d.ts.map +1 -0
- package/dist/plugins/print.mjs +2 -0
- package/dist/plugins/print.mjs.map +1 -0
- package/dist/plugins/shared/ColorGrid.d.ts.map +1 -1
- package/dist/plugins/shared/KeyboardNav.d.ts +17 -0
- package/dist/plugins/shared/KeyboardNav.d.ts.map +1 -0
- package/dist/plugins/shared/PluginHelpers.d.ts +10 -0
- package/dist/plugins/shared/PluginHelpers.d.ts.map +1 -0
- package/dist/plugins/shared/PopupKeyboardPatterns.d.ts +1 -1
- package/dist/plugins/shared/PopupKeyboardPatterns.d.ts.map +1 -1
- package/dist/plugins/shared/PopupManager.d.ts +2 -0
- package/dist/plugins/shared/PopupManager.d.ts.map +1 -1
- package/dist/plugins/shared/PopupPositioning.d.ts +1 -0
- package/dist/plugins/shared/PopupPositioning.d.ts.map +1 -1
- package/dist/plugins/shared/ShortcutFormatting.d.ts +9 -0
- package/dist/plugins/shared/ShortcutFormatting.d.ts.map +1 -0
- package/dist/plugins/shared/index.d.ts +12 -0
- package/dist/plugins/shared/index.d.ts.map +1 -0
- package/dist/plugins/shared.mjs +2 -0
- package/dist/plugins/shared.mjs.map +1 -0
- package/dist/plugins/strikethrough/StrikethroughLocale.d.ts +1 -8
- package/dist/plugins/strikethrough/StrikethroughLocale.d.ts.map +1 -1
- package/dist/plugins/strikethrough/StrikethroughPlugin.d.ts +1 -3
- package/dist/plugins/strikethrough/StrikethroughPlugin.d.ts.map +1 -1
- package/dist/plugins/strikethrough/index.d.ts +2 -0
- package/dist/plugins/strikethrough/index.d.ts.map +1 -1
- package/dist/plugins/strikethrough/locales/ar.d.ts +4 -0
- package/dist/plugins/strikethrough/locales/ar.d.ts.map +1 -0
- package/dist/plugins/strikethrough/locales/de.d.ts +4 -0
- package/dist/plugins/strikethrough/locales/de.d.ts.map +1 -0
- package/dist/plugins/strikethrough/locales/es.d.ts +4 -0
- package/dist/plugins/strikethrough/locales/es.d.ts.map +1 -0
- package/dist/plugins/strikethrough/locales/fr.d.ts +4 -0
- package/dist/plugins/strikethrough/locales/fr.d.ts.map +1 -0
- package/dist/plugins/strikethrough/locales/hi.d.ts +4 -0
- package/dist/plugins/strikethrough/locales/hi.d.ts.map +1 -0
- package/dist/plugins/strikethrough/locales/pt.d.ts +4 -0
- package/dist/plugins/strikethrough/locales/pt.d.ts.map +1 -0
- package/dist/plugins/strikethrough/locales/ru.d.ts +4 -0
- package/dist/plugins/strikethrough/locales/ru.d.ts.map +1 -0
- package/dist/plugins/strikethrough/locales/zh.d.ts +4 -0
- package/dist/plugins/strikethrough/locales/zh.d.ts.map +1 -0
- package/dist/plugins/strikethrough.mjs +1 -4
- package/dist/plugins/strikethrough.mjs.map +1 -1
- package/dist/plugins/super-sub/SuperSubLocale.d.ts +1 -8
- package/dist/plugins/super-sub/SuperSubLocale.d.ts.map +1 -1
- package/dist/plugins/super-sub/SuperSubPlugin.d.ts +1 -3
- package/dist/plugins/super-sub/SuperSubPlugin.d.ts.map +1 -1
- package/dist/plugins/super-sub/index.d.ts +2 -0
- package/dist/plugins/super-sub/index.d.ts.map +1 -1
- package/dist/plugins/super-sub/locales/ar.d.ts +4 -0
- package/dist/plugins/super-sub/locales/ar.d.ts.map +1 -0
- package/dist/plugins/super-sub/locales/de.d.ts +4 -0
- package/dist/plugins/super-sub/locales/de.d.ts.map +1 -0
- package/dist/plugins/super-sub/locales/es.d.ts +4 -0
- package/dist/plugins/super-sub/locales/es.d.ts.map +1 -0
- package/dist/plugins/super-sub/locales/fr.d.ts +4 -0
- package/dist/plugins/super-sub/locales/fr.d.ts.map +1 -0
- package/dist/plugins/super-sub/locales/hi.d.ts +4 -0
- package/dist/plugins/super-sub/locales/hi.d.ts.map +1 -0
- package/dist/plugins/super-sub/locales/pt.d.ts +4 -0
- package/dist/plugins/super-sub/locales/pt.d.ts.map +1 -0
- package/dist/plugins/super-sub/locales/ru.d.ts +4 -0
- package/dist/plugins/super-sub/locales/ru.d.ts.map +1 -0
- package/dist/plugins/super-sub/locales/zh.d.ts +4 -0
- package/dist/plugins/super-sub/locales/zh.d.ts.map +1 -0
- package/dist/plugins/super-sub.mjs +1 -4
- package/dist/plugins/super-sub.mjs.map +1 -1
- package/dist/plugins/table/TableCommands.d.ts +8 -8
- package/dist/plugins/table/TableCommands.d.ts.map +1 -1
- package/dist/plugins/table/TableContextMenu.d.ts.map +1 -1
- package/dist/plugins/table/TableControlsDOM.d.ts +4 -4
- package/dist/plugins/table/TableControlsDOM.d.ts.map +1 -1
- package/dist/plugins/table/TableLocale.d.ts +1 -8
- package/dist/plugins/table/TableLocale.d.ts.map +1 -1
- package/dist/plugins/table/TableNavigation.d.ts +1 -1
- package/dist/plugins/table/TableNavigation.d.ts.map +1 -1
- package/dist/plugins/table/TablePlugin.d.ts +3 -5
- package/dist/plugins/table/TablePlugin.d.ts.map +1 -1
- package/dist/plugins/table/TableSelection.d.ts +2 -0
- package/dist/plugins/table/TableSelection.d.ts.map +1 -1
- package/dist/plugins/table/index.d.ts +0 -5
- package/dist/plugins/table/index.d.ts.map +1 -1
- package/dist/plugins/table/locales/ar.d.ts +4 -0
- package/dist/plugins/table/locales/ar.d.ts.map +1 -0
- package/dist/plugins/table/locales/de.d.ts +4 -0
- package/dist/plugins/table/locales/de.d.ts.map +1 -0
- package/dist/plugins/table/locales/es.d.ts +4 -0
- package/dist/plugins/table/locales/es.d.ts.map +1 -0
- package/dist/plugins/table/locales/fr.d.ts +4 -0
- package/dist/plugins/table/locales/fr.d.ts.map +1 -0
- package/dist/plugins/table/locales/hi.d.ts +4 -0
- package/dist/plugins/table/locales/hi.d.ts.map +1 -0
- package/dist/plugins/table/locales/pt.d.ts +4 -0
- package/dist/plugins/table/locales/pt.d.ts.map +1 -0
- package/dist/plugins/table/locales/ru.d.ts +4 -0
- package/dist/plugins/table/locales/ru.d.ts.map +1 -0
- package/dist/plugins/table/locales/zh.d.ts +4 -0
- package/dist/plugins/table/locales/zh.d.ts.map +1 -0
- package/dist/plugins/table.mjs +1 -20
- package/dist/plugins/table.mjs.map +1 -1
- package/dist/plugins/text-color/TextColorLocale.d.ts +1 -8
- package/dist/plugins/text-color/TextColorLocale.d.ts.map +1 -1
- package/dist/plugins/text-color/TextColorPlugin.d.ts +1 -3
- package/dist/plugins/text-color/TextColorPlugin.d.ts.map +1 -1
- package/dist/plugins/text-color/index.d.ts +2 -0
- package/dist/plugins/text-color/index.d.ts.map +1 -1
- package/dist/plugins/text-color/locales/ar.d.ts +4 -0
- package/dist/plugins/text-color/locales/ar.d.ts.map +1 -0
- package/dist/plugins/text-color/locales/de.d.ts +4 -0
- package/dist/plugins/text-color/locales/de.d.ts.map +1 -0
- package/dist/plugins/text-color/locales/es.d.ts +4 -0
- package/dist/plugins/text-color/locales/es.d.ts.map +1 -0
- package/dist/plugins/text-color/locales/fr.d.ts +4 -0
- package/dist/plugins/text-color/locales/fr.d.ts.map +1 -0
- package/dist/plugins/text-color/locales/hi.d.ts +4 -0
- package/dist/plugins/text-color/locales/hi.d.ts.map +1 -0
- package/dist/plugins/text-color/locales/pt.d.ts +4 -0
- package/dist/plugins/text-color/locales/pt.d.ts.map +1 -0
- package/dist/plugins/text-color/locales/ru.d.ts +4 -0
- package/dist/plugins/text-color/locales/ru.d.ts.map +1 -0
- package/dist/plugins/text-color/locales/zh.d.ts +4 -0
- package/dist/plugins/text-color/locales/zh.d.ts.map +1 -0
- package/dist/plugins/text-color.mjs +1 -4
- package/dist/plugins/text-color.mjs.map +1 -1
- package/dist/plugins/text-direction/DirectionDetection.d.ts +17 -0
- package/dist/plugins/text-direction/DirectionDetection.d.ts.map +1 -0
- package/dist/plugins/text-direction/ShiftDirectionHandler.d.ts +12 -0
- package/dist/plugins/text-direction/ShiftDirectionHandler.d.ts.map +1 -0
- package/dist/plugins/text-direction/TextDirectionCorePlugin.d.ts +35 -0
- package/dist/plugins/text-direction/TextDirectionCorePlugin.d.ts.map +1 -0
- package/dist/plugins/text-direction/TextDirectionLocale.d.ts +20 -0
- package/dist/plugins/text-direction/TextDirectionLocale.d.ts.map +1 -0
- package/dist/plugins/text-direction/TextDirectionMiddleware.d.ts +18 -0
- package/dist/plugins/text-direction/TextDirectionMiddleware.d.ts.map +1 -0
- package/dist/plugins/text-direction/TextDirectionPlugin.d.ts +59 -0
- package/dist/plugins/text-direction/TextDirectionPlugin.d.ts.map +1 -0
- package/dist/plugins/text-direction/index.d.ts +5 -0
- package/dist/plugins/text-direction/index.d.ts.map +1 -0
- package/dist/plugins/text-direction/locales/ar.d.ts +4 -0
- package/dist/plugins/text-direction/locales/ar.d.ts.map +1 -0
- package/dist/plugins/text-direction/locales/de.d.ts +4 -0
- package/dist/plugins/text-direction/locales/de.d.ts.map +1 -0
- package/dist/plugins/text-direction/locales/es.d.ts +4 -0
- package/dist/plugins/text-direction/locales/es.d.ts.map +1 -0
- package/dist/plugins/text-direction/locales/fr.d.ts +4 -0
- package/dist/plugins/text-direction/locales/fr.d.ts.map +1 -0
- package/dist/plugins/text-direction/locales/hi.d.ts +4 -0
- package/dist/plugins/text-direction/locales/hi.d.ts.map +1 -0
- package/dist/plugins/text-direction/locales/pt.d.ts +4 -0
- package/dist/plugins/text-direction/locales/pt.d.ts.map +1 -0
- package/dist/plugins/text-direction/locales/ru.d.ts +4 -0
- package/dist/plugins/text-direction/locales/ru.d.ts.map +1 -0
- package/dist/plugins/text-direction/locales/zh.d.ts +4 -0
- package/dist/plugins/text-direction/locales/zh.d.ts.map +1 -0
- package/dist/plugins/text-direction-advanced/index.d.ts +5 -0
- package/dist/plugins/text-direction-advanced/index.d.ts.map +1 -0
- package/dist/plugins/text-direction-advanced.mjs +2 -0
- package/dist/plugins/text-direction-advanced.mjs.map +1 -0
- package/dist/plugins/text-direction.mjs +2 -0
- package/dist/plugins/text-direction.mjs.map +1 -0
- package/dist/plugins/text-formatting/TextFormattingLocale.d.ts +1 -8
- package/dist/plugins/text-formatting/TextFormattingLocale.d.ts.map +1 -1
- package/dist/plugins/text-formatting/TextFormattingPlugin.d.ts +1 -3
- package/dist/plugins/text-formatting/TextFormattingPlugin.d.ts.map +1 -1
- package/dist/plugins/text-formatting/index.d.ts +2 -0
- package/dist/plugins/text-formatting/index.d.ts.map +1 -1
- package/dist/plugins/text-formatting/locales/ar.d.ts +4 -0
- package/dist/plugins/text-formatting/locales/ar.d.ts.map +1 -0
- package/dist/plugins/text-formatting/locales/de.d.ts +4 -0
- package/dist/plugins/text-formatting/locales/de.d.ts.map +1 -0
- package/dist/plugins/text-formatting/locales/es.d.ts +4 -0
- package/dist/plugins/text-formatting/locales/es.d.ts.map +1 -0
- package/dist/plugins/text-formatting/locales/fr.d.ts +4 -0
- package/dist/plugins/text-formatting/locales/fr.d.ts.map +1 -0
- package/dist/plugins/text-formatting/locales/hi.d.ts +4 -0
- package/dist/plugins/text-formatting/locales/hi.d.ts.map +1 -0
- package/dist/plugins/text-formatting/locales/pt.d.ts +4 -0
- package/dist/plugins/text-formatting/locales/pt.d.ts.map +1 -0
- package/dist/plugins/text-formatting/locales/ru.d.ts +4 -0
- package/dist/plugins/text-formatting/locales/ru.d.ts.map +1 -0
- package/dist/plugins/text-formatting/locales/zh.d.ts +4 -0
- package/dist/plugins/text-formatting/locales/zh.d.ts.map +1 -0
- package/dist/plugins/text-formatting.mjs +1 -4
- package/dist/plugins/text-formatting.mjs.map +1 -1
- package/dist/plugins/toolbar/ToolbarItem.d.ts +2 -18
- package/dist/plugins/toolbar/ToolbarItem.d.ts.map +1 -1
- package/dist/plugins/toolbar/ToolbarKeyboardNav.d.ts +5 -11
- package/dist/plugins/toolbar/ToolbarKeyboardNav.d.ts.map +1 -1
- package/dist/plugins/toolbar/ToolbarLocale.d.ts +2 -8
- package/dist/plugins/toolbar/ToolbarLocale.d.ts.map +1 -1
- package/dist/plugins/toolbar/ToolbarOverflowController.d.ts.map +1 -1
- package/dist/plugins/toolbar/ToolbarPlugin.d.ts +2 -2
- package/dist/plugins/toolbar/ToolbarPlugin.d.ts.map +1 -1
- package/dist/plugins/toolbar/ToolbarPopupController.d.ts +3 -1
- package/dist/plugins/toolbar/ToolbarPopupController.d.ts.map +1 -1
- package/dist/plugins/toolbar/ToolbarRenderers.d.ts +2 -1
- package/dist/plugins/toolbar/ToolbarRenderers.d.ts.map +1 -1
- package/dist/plugins/toolbar/index.d.ts +4 -1
- package/dist/plugins/toolbar/index.d.ts.map +1 -1
- package/dist/plugins/toolbar/locales/ar.d.ts +4 -0
- package/dist/plugins/toolbar/locales/ar.d.ts.map +1 -0
- package/dist/plugins/toolbar/locales/de.d.ts +4 -0
- package/dist/plugins/toolbar/locales/de.d.ts.map +1 -0
- package/dist/plugins/toolbar/locales/es.d.ts +4 -0
- package/dist/plugins/toolbar/locales/es.d.ts.map +1 -0
- package/dist/plugins/toolbar/locales/fr.d.ts +4 -0
- package/dist/plugins/toolbar/locales/fr.d.ts.map +1 -0
- package/dist/plugins/toolbar/locales/hi.d.ts +4 -0
- package/dist/plugins/toolbar/locales/hi.d.ts.map +1 -0
- package/dist/plugins/toolbar/locales/pt.d.ts +4 -0
- package/dist/plugins/toolbar/locales/pt.d.ts.map +1 -0
- package/dist/plugins/toolbar/locales/ru.d.ts +4 -0
- package/dist/plugins/toolbar/locales/ru.d.ts.map +1 -0
- package/dist/plugins/toolbar/locales/zh.d.ts +4 -0
- package/dist/plugins/toolbar/locales/zh.d.ts.map +1 -0
- package/dist/plugins/toolbar.mjs +1 -7
- package/dist/plugins/toolbar.mjs.map +1 -1
- package/dist/presets/FullPreset.d.ts +4 -1
- package/dist/presets/FullPreset.d.ts.map +1 -1
- package/dist/presets/MinimalPreset.d.ts +3 -0
- package/dist/presets/MinimalPreset.d.ts.map +1 -1
- package/dist/presets/PresetTypes.d.ts +2 -0
- package/dist/presets/PresetTypes.d.ts.map +1 -1
- package/dist/presets/full.d.ts +17 -0
- package/dist/presets/full.d.ts.map +1 -0
- package/dist/presets/full.mjs +2 -0
- package/dist/presets/full.mjs.map +1 -0
- package/dist/presets/minimal.d.ts +17 -0
- package/dist/presets/minimal.d.ts.map +1 -0
- package/dist/presets/minimal.mjs +2 -0
- package/dist/presets/minimal.mjs.map +1 -0
- package/dist/presets.d.ts +20 -0
- package/dist/presets.d.ts.map +1 -0
- package/dist/presets.mjs +2 -0
- package/dist/presets.mjs.map +1 -0
- package/dist/serialization/CSSClassCollector.d.ts.map +1 -0
- package/dist/serialization/ContentHTMLTypes.d.ts.map +1 -0
- package/dist/serialization/DocumentParser.d.ts.map +1 -0
- package/dist/{editor → serialization}/DocumentSerializer.d.ts +2 -0
- package/dist/serialization/DocumentSerializer.d.ts.map +1 -0
- package/dist/{editor → serialization}/MarkSerializer.d.ts +3 -2
- package/dist/serialization/MarkSerializer.d.ts.map +1 -0
- package/dist/serialization/index.d.ts +12 -0
- package/dist/serialization/index.d.ts.map +1 -0
- package/dist/state/BlockBoundaryMovement.d.ts +7 -0
- package/dist/state/BlockBoundaryMovement.d.ts.map +1 -0
- package/dist/{model/NavigationUtils.d.ts → state/NavigationQueries.d.ts} +3 -3
- package/dist/state/NavigationQueries.d.ts.map +1 -0
- package/dist/test/PluginTestUtils.d.ts +0 -2
- package/dist/test/PluginTestUtils.d.ts.map +1 -1
- package/dist/test/TestUtils.d.ts +2 -2
- package/dist/test/TestUtils.d.ts.map +1 -1
- package/dist/view/BlockRendering.d.ts +10 -0
- package/dist/view/BlockRendering.d.ts.map +1 -0
- package/dist/view/BlockWrapperManagement.d.ts +27 -0
- package/dist/view/BlockWrapperManagement.d.ts.map +1 -0
- package/dist/view/CaretNavigation.d.ts +1 -8
- package/dist/view/CaretNavigation.d.ts.map +1 -1
- package/dist/view/CursorWrapper.d.ts.map +1 -1
- package/dist/view/DecorationRendering.d.ts +17 -0
- package/dist/view/DecorationRendering.d.ts.map +1 -0
- package/dist/view/DomUtils.d.ts +4 -0
- package/dist/view/DomUtils.d.ts.map +1 -0
- package/dist/view/EditorView.d.ts +7 -10
- package/dist/view/EditorView.d.ts.map +1 -1
- package/dist/view/GapCursorNavigation.d.ts +12 -0
- package/dist/view/GapCursorNavigation.d.ts.map +1 -0
- package/dist/view/InlineRendering.d.ts +11 -0
- package/dist/view/InlineRendering.d.ts.map +1 -0
- package/dist/view/MarkRendering.d.ts +5 -0
- package/dist/view/MarkRendering.d.ts.map +1 -1
- package/dist/view/Reconciler.d.ts +2 -6
- package/dist/view/Reconciler.d.ts.map +1 -1
- package/dist/view/SelectionSync.d.ts +41 -2
- package/dist/view/SelectionSync.d.ts.map +1 -1
- package/dist/view/ViewMovementCommands.d.ts.map +1 -1
- package/package.json +208 -8
- package/dist/chunks/AttrRegistry-D9Jx_RVb.mjs +0 -16
- package/dist/chunks/AttrRegistry-D9Jx_RVb.mjs.map +0 -1
- package/dist/chunks/AttributedMarkCommands-BtLea72z.mjs +0 -80
- package/dist/chunks/CaretNavigation-7JYpIKbs.mjs +0 -311
- package/dist/chunks/CaretNavigation-7JYpIKbs.mjs.map +0 -1
- package/dist/chunks/ColorGrid--lBQ7jCK.mjs +0 -81
- package/dist/chunks/ColorGrid--lBQ7jCK.mjs.map +0 -1
- package/dist/chunks/ColorPickerPopup-TpIRlXc8.mjs +0 -37
- package/dist/chunks/ColorPickerPopup-TpIRlXc8.mjs.map +0 -1
- package/dist/chunks/ColorValidation-CV4f1wu6.mjs +0 -39
- package/dist/chunks/Document-Brtw2jL1.mjs +0 -190
- package/dist/chunks/HTMLUtils-DTqQzcKR.mjs +0 -35
- package/dist/chunks/HTMLUtils-DTqQzcKR.mjs.map +0 -1
- package/dist/chunks/MarkCommands-6RUJ4L3r.mjs +0 -94
- package/dist/chunks/NavigationUtils-Cspt2ZrK.mjs +0 -47
- package/dist/chunks/NavigationUtils-Cspt2ZrK.mjs.map +0 -1
- package/dist/chunks/NodeResolver-C2XYkeOi.mjs +0 -81
- package/dist/chunks/NodeResolver-C2XYkeOi.mjs.map +0 -1
- package/dist/chunks/NodeSpec-NZVvcCuH.mjs +0 -8
- package/dist/chunks/NodeSpec-NZVvcCuH.mjs.map +0 -1
- package/dist/chunks/Platform-S_xqIqcM.mjs +0 -26
- package/dist/chunks/Platform-S_xqIqcM.mjs.map +0 -1
- package/dist/chunks/PopupPositioning-CgjgAKjp.mjs +0 -34
- package/dist/chunks/PopupPositioning-CgjgAKjp.mjs.map +0 -1
- package/dist/chunks/RangeIterator-Bh4Vl_6D.mjs +0 -16
- package/dist/chunks/Selection-BRTab5hO.mjs +0 -52
- package/dist/chunks/StyleRuntime-CP4NCwKT.mjs +0 -235
- package/dist/chunks/ToolbarItem-BpZggUGo.mjs +0 -8
- package/dist/chunks/ToolbarItem-BpZggUGo.mjs.map +0 -1
- package/dist/chunks/ToolbarKeyboardNav-DhpL8zNV.mjs +0 -46
- package/dist/chunks/ToolbarKeyboardNav-DhpL8zNV.mjs.map +0 -1
- package/dist/chunks/TypeBrands-C09nE2qO.mjs +0 -27
- package/dist/chunks/index--7pBhSF4.mjs +0 -542
- package/dist/chunks/index--7pBhSF4.mjs.map +0 -1
- package/dist/chunks/index-BXCkjDax.mjs +0 -161
- package/dist/chunks/index-BXCkjDax.mjs.map +0 -1
- package/dist/chunks/index-BXtw5PNN.mjs +0 -39
- package/dist/chunks/index-BXtw5PNN.mjs.map +0 -1
- package/dist/chunks/index-BcDRT4K2.mjs +0 -1019
- package/dist/chunks/index-BcDRT4K2.mjs.map +0 -1
- package/dist/chunks/index-BjFBWBOC.mjs +0 -168
- package/dist/chunks/index-BjFBWBOC.mjs.map +0 -1
- package/dist/chunks/index-C1opJocO.mjs +0 -92
- package/dist/chunks/index-C1opJocO.mjs.map +0 -1
- package/dist/chunks/index-CCyqQ0Dz.mjs +0 -228
- package/dist/chunks/index-CCyqQ0Dz.mjs.map +0 -1
- package/dist/chunks/index-Cd3uJLP3.mjs +0 -73
- package/dist/chunks/index-Cd3uJLP3.mjs.map +0 -1
- package/dist/chunks/index-DSAuGP4n.mjs +0 -410
- package/dist/chunks/index-DSAuGP4n.mjs.map +0 -1
- package/dist/chunks/index-DtRfqsq5.mjs +0 -924
- package/dist/chunks/index-DtRfqsq5.mjs.map +0 -1
- package/dist/chunks/index-Dum8yE_t.mjs +0 -62
- package/dist/chunks/index-Dum8yE_t.mjs.map +0 -1
- package/dist/chunks/index-DxbQirny.mjs +0 -63
- package/dist/chunks/index-DxbQirny.mjs.map +0 -1
- package/dist/chunks/index-ErZ5_a1o.mjs +0 -296
- package/dist/chunks/index-ErZ5_a1o.mjs.map +0 -1
- package/dist/chunks/index-WpbK_s_H.mjs +0 -119
- package/dist/chunks/index-WpbK_s_H.mjs.map +0 -1
- package/dist/chunks/index-WrqH1wG8.mjs +0 -50
- package/dist/chunks/index-WrqH1wG8.mjs.map +0 -1
- package/dist/chunks/index-fsVJLutn.mjs +0 -118
- package/dist/chunks/index-fsVJLutn.mjs.map +0 -1
- package/dist/chunks/index-fx3KIap3.mjs +0 -50
- package/dist/chunks/index-fx3KIap3.mjs.map +0 -1
- package/dist/chunks/index-oOJo-ywB.mjs +0 -467
- package/dist/chunks/index-oOJo-ywB.mjs.map +0 -1
- package/dist/chunks/index-toj88jtL.mjs +0 -101
- package/dist/chunks/index-toj88jtL.mjs.map +0 -1
- package/dist/chunks/resolvePluginLocale-B4w1OkPy.mjs +0 -34
- package/dist/chunks/resolvePluginLocale-B4w1OkPy.mjs.map +0 -1
- package/dist/editor/CSSClassCollector.d.ts.map +0 -1
- package/dist/editor/ContentHTMLTypes.d.ts.map +0 -1
- package/dist/editor/DocumentParser.d.ts.map +0 -1
- package/dist/editor/DocumentSerializer.d.ts.map +0 -1
- package/dist/editor/MarkSerializer.d.ts.map +0 -1
- package/dist/editor/PaperSize.d.ts.map +0 -1
- package/dist/i18n/resolvePluginLocale.d.ts +0 -3
- package/dist/i18n/resolvePluginLocale.d.ts.map +0 -1
- package/dist/model/BuiltinSpecs.d.ts.map +0 -1
- package/dist/model/HTMLParser.d.ts.map +0 -1
- package/dist/model/NavigationUtils.d.ts.map +0 -1
- package/dist/view/Platform.d.ts.map +0 -1
- /package/dist/{input → model}/InputRule.d.ts +0 -0
- /package/dist/{input → model}/InputRuleRegistry.d.ts +0 -0
- /package/dist/{input → model}/Keymap.d.ts +0 -0
- /package/dist/{input → model}/KeymapRegistry.d.ts +0 -0
- /package/dist/{editor → model}/PaperSize.d.ts +0 -0
- /package/dist/{editor → serialization}/CSSClassCollector.d.ts +0 -0
- /package/dist/{editor → serialization}/ContentHTMLTypes.d.ts +0 -0
- /package/dist/{editor → serialization}/DocumentParser.d.ts +0 -0
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
import { r as t } from "./resolvePluginLocale-B4w1OkPy.mjs";
|
|
2
|
-
import { m as s } from "./TypeBrands-C09nE2qO.mjs";
|
|
3
|
-
import { f as i } from "./ToolbarItem-BpZggUGo.mjs";
|
|
4
|
-
import { e, b as r } from "./MarkCommands-6RUJ4L3r.mjs";
|
|
5
|
-
const o = { superscriptLabel: "Superscript", superscriptTooltip: (t2) => `Superscript (${t2})`, subscriptLabel: "Subscript", subscriptTooltip: (t2) => `Subscript (${t2})` }, p = { en: o, de: { superscriptLabel: "Hochgestellt", superscriptTooltip: (t2) => `Hochgestellt (${t2})`, subscriptLabel: "Tiefgestellt", subscriptTooltip: (t2) => `Tiefgestellt (${t2})` }, es: { superscriptLabel: "Superíndice", superscriptTooltip: (t2) => `Superíndice (${t2})`, subscriptLabel: "Subíndice", subscriptTooltip: (t2) => `Subíndice (${t2})` }, fr: { superscriptLabel: "Exposant", superscriptTooltip: (t2) => `Exposant (${t2})`, subscriptLabel: "Indice", subscriptTooltip: (t2) => `Indice (${t2})` }, zh: { superscriptLabel: "上标", superscriptTooltip: (t2) => `上标 (${t2})`, subscriptLabel: "下标", subscriptTooltip: (t2) => `下标 (${t2})` }, ru: { superscriptLabel: "Надстрочный", superscriptTooltip: (t2) => `Надстрочный (${t2})`, subscriptLabel: "Подстрочный", subscriptTooltip: (t2) => `Подстрочный (${t2})` }, ar: { superscriptLabel: "مرتفع", superscriptTooltip: (t2) => `مرتفع (${t2})`, subscriptLabel: "منخفض", subscriptTooltip: (t2) => `منخفض (${t2})` }, hi: { superscriptLabel: "सुपरस्क्रिप्ट", superscriptTooltip: (t2) => `सुपरस्क्रिप्ट (${t2})`, subscriptLabel: "सबस्क्रिप्ट", subscriptTooltip: (t2) => `सबस्क्रिप्ट (${t2})` } }, c = { superscript: true, subscript: true }, a = [{ type: "superscript", opposite: "subscript", configKey: "superscript", rank: 4, tag: "sup", label: "Superscript", icon: ['<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">', '<path d="M16 7.41L11.41 12 16 16.59 14.59 18l-6-6 6-6z"', ' fill="none"/>', '<path d="M9.64 7.64c.23-.5.36-1.05.36-1.64', " 0-2.21-1.79-4-4-4H2v14h4.36c2.34 0 4.24-1.9", " 4.24-4.24 0-1.6-.89-2.99-2.2-3.71zM4.5 4.5H6c.83", " 0 1.5.67 1.5 1.5S6.83 7.5 6 7.5H4.5v-3zm2 9H4.5v-3H6.5c.83", ' 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5z" fill="none"/>', '<path d="M15.97 3.84c0-.47.19-.91.53-1.21.34-.31.8-.49', " 1.3-.49.5 0 .95.18 1.28.48.32.3.5.7.51 1.15h1.59c-.02", "-.96-.43-1.83-1.13-2.42C19.36.77 18.45.44 17.5.44c-.88", " 0-1.74.28-2.39.8-.67.53-1.06 1.28-1.06 2.1 0 .76.34", " 1.47.93 1.97.59.49 1.41.84 2.32 1.15.7.24 1.26.5 1.62.8.35.3.53.64.53", " 1.02 0 .48-.2.93-.55 1.24-.36.3-.84.48-1.37.48-.55 0-1.04-.2-1.39-.54", "-.34-.33-.53-.8-.53-1.32h-1.58c.01 1.02.43 1.95 1.16 2.57.72.62 1.67.96", " 2.67.96.92 0 1.81-.3 2.46-.84.67-.56 1.04-1.33 1.04-2.18 0-.81-.36-1.56", "-.99-2.08-.62-.51-1.48-.88-2.43-1.2-.67-.23-1.2-.47-1.52-.75-.32-.27-.46", '-.59-.46-.94z"/>', '<path d="M5.88 20h2.66l3.4-5.42L15.3 20h2.67l-4.73-7.38', ' 4.37-6.62h-2.6l-3.07 4.98L8.92 6h-2.6l4.26 6.58z"/>', "</svg>"].join(""), keyBinding: "Mod-.", toolbarPriority: 50, toHTMLString: (t2) => `<sup>${t2}</sup>`, parseHTML: [{ tag: "sup" }], sanitize: { tags: ["sup"] } }, { type: "subscript", opposite: "superscript", configKey: "subscript", rank: 4, tag: "sub", label: "Subscript", icon: ['<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">', '<path d="M15.97 16.84c0-.47.19-.91.53-1.21.34-.31.8-.49', " 1.3-.49.5 0 .95.18 1.28.48.32.3.5.7.51 1.15h1.59c-.02", "-.96-.43-1.83-1.13-2.42-.7-.58-1.61-.91-2.56-.91-.88", " 0-1.74.28-2.39.8-.67.53-1.06 1.28-1.06 2.1 0 .76.34", " 1.47.93 1.97.59.49 1.41.84 2.32 1.15.7.24 1.26.5 1.62.8.35.3.53.64.53", " 1.02 0 .48-.2.93-.55 1.24-.36.3-.84.48-1.37.48-.55 0-1.04-.2-1.39-.54", "-.34-.33-.53-.8-.53-1.32h-1.58c.01 1.02.43 1.95 1.16 2.57.72.62 1.67.96", " 2.67.96.92 0 1.81-.3 2.46-.84.67-.56 1.04-1.33 1.04-2.18 0-.81-.36-1.56", "-.99-2.08-.62-.51-1.48-.88-2.43-1.2-.67-.23-1.2-.47-1.52-.75-.32-.27-.46", '-.59-.46-.94z"/>', '<path d="M5.88 18h2.66l3.4-5.42L15.3 18h2.67l-4.73-7.38', ' 4.37-6.62h-2.6l-3.07 4.98L8.92 4h-2.6l4.26 6.58z"/>', "</svg>"].join(""), keyBinding: "Mod-,", toolbarPriority: 51, toHTMLString: (t2) => `<sub>${t2}</sub>`, parseHTML: [{ tag: "sub" }], sanitize: { tags: ["sub"] } }];
|
|
6
|
-
class l {
|
|
7
|
-
id = "super-sub";
|
|
8
|
-
name = "Superscript & Subscript";
|
|
9
|
-
priority = 23;
|
|
10
|
-
config;
|
|
11
|
-
locale;
|
|
12
|
-
constructor(t2) {
|
|
13
|
-
this.config = { ...c, ...t2 };
|
|
14
|
-
}
|
|
15
|
-
init(s2) {
|
|
16
|
-
this.locale = t(p, s2, this.config.locale);
|
|
17
|
-
const i2 = a.filter((t2) => this.config[t2.configKey]), e2 = i2.filter((t2) => this.isToolbarVisible(t2.configKey)).at(-1);
|
|
18
|
-
for (const t2 of i2) {
|
|
19
|
-
const i3 = !!this.config.separatorAfter && t2 === e2;
|
|
20
|
-
this.registerMark(s2, t2, i3);
|
|
21
|
-
}
|
|
22
|
-
this.registerKeymaps(s2, i2), this.registerExclusivityMiddleware(s2, i2), this.registerDisabledToolbarItems(s2);
|
|
23
|
-
}
|
|
24
|
-
registerMark(t2, o2, p2) {
|
|
25
|
-
const c2 = n(o2.type), a2 = this.isToolbarVisible(o2.configKey);
|
|
26
|
-
if (t2.registerMarkSpec({ type: o2.type, rank: o2.rank, toDOM: () => document.createElement(o2.tag), toHTMLString: (t3, s2) => o2.toHTMLString(s2), parseHTML: o2.parseHTML, sanitize: o2.sanitize }), t2.registerCommand(c2, () => {
|
|
27
|
-
const i2 = e(t2.getState(), s(o2.type));
|
|
28
|
-
return !!i2 && (t2.dispatch(i2), true);
|
|
29
|
-
}), a2) {
|
|
30
|
-
const e2 = "superscript" === o2.type ? this.locale.superscriptLabel : this.locale.subscriptLabel, a3 = "superscript" === o2.type ? this.locale.superscriptTooltip(i(o2.keyBinding)) : this.locale.subscriptTooltip(i(o2.keyBinding));
|
|
31
|
-
t2.registerToolbarItem({ id: o2.type, group: "format", icon: o2.icon, label: e2, tooltip: a3, command: c2, priority: o2.toolbarPriority, separatorAfter: p2, isActive: (t3) => r(t3, s(o2.type)) });
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
registerKeymaps(t2, s2) {
|
|
35
|
-
const i2 = {};
|
|
36
|
-
for (const e2 of s2) {
|
|
37
|
-
const s3 = n(e2.type);
|
|
38
|
-
i2[e2.keyBinding] = () => t2.executeCommand(s3);
|
|
39
|
-
}
|
|
40
|
-
Object.keys(i2).length > 0 && t2.registerKeymap(i2);
|
|
41
|
-
}
|
|
42
|
-
registerExclusivityMiddleware(t2, i2) {
|
|
43
|
-
i2.some((t3) => "superscript" === t3.type) && i2.some((t3) => "subscript" === t3.type) && t2.registerMiddleware((t3, i3, e2) => {
|
|
44
|
-
let r2 = false;
|
|
45
|
-
const o2 = [];
|
|
46
|
-
for (const i4 of t3.steps) {
|
|
47
|
-
if ("addMark" !== i4.type) {
|
|
48
|
-
o2.push(i4);
|
|
49
|
-
continue;
|
|
50
|
-
}
|
|
51
|
-
const t4 = i4.mark.type, e3 = a.find((s2) => s2.type === t4);
|
|
52
|
-
if (!e3) {
|
|
53
|
-
o2.push(i4);
|
|
54
|
-
continue;
|
|
55
|
-
}
|
|
56
|
-
r2 = true;
|
|
57
|
-
const p3 = { type: "removeMark", blockId: i4.blockId, from: i4.from, to: i4.to, mark: { type: s(e3.opposite) }, ...i4.path ? { path: i4.path } : {} };
|
|
58
|
-
o2.push(p3, i4);
|
|
59
|
-
}
|
|
60
|
-
let p2 = t3.storedMarksAfter;
|
|
61
|
-
if (p2) {
|
|
62
|
-
const t4 = p2.some((t5) => "superscript" === t5.type), s2 = p2.some((t5) => "subscript" === t5.type);
|
|
63
|
-
if (t4 && s2) {
|
|
64
|
-
const t5 = p2.findLastIndex((t6) => "superscript" === t6.type) > p2.findLastIndex((t6) => "subscript" === t6.type) ? "subscript" : "superscript";
|
|
65
|
-
p2 = p2.filter((s3) => s3.type !== t5), r2 = true;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
e2(r2 ? { ...t3, steps: o2, storedMarksAfter: p2 } : t3);
|
|
69
|
-
}, { name: "super-sub:exclusivity" });
|
|
70
|
-
}
|
|
71
|
-
registerDisabledToolbarItems(t2) {
|
|
72
|
-
if (this.config.toolbar) for (const s2 of a) {
|
|
73
|
-
const i2 = this.config[s2.configKey], e2 = this.config.toolbar[s2.configKey] ?? true;
|
|
74
|
-
if (!i2 && e2) {
|
|
75
|
-
const i3 = "superscript" === s2.type ? this.locale.superscriptLabel : this.locale.subscriptLabel;
|
|
76
|
-
t2.registerToolbarItem({ id: s2.type, group: "format", icon: s2.icon, label: i3, command: n(s2.type), priority: s2.toolbarPriority, isEnabled: () => false });
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
isToolbarVisible(t2) {
|
|
81
|
-
return !this.config.toolbar || (this.config.toolbar[t2] ?? true);
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
function n(t2) {
|
|
85
|
-
return `toggle${t2.charAt(0).toUpperCase()}${t2.slice(1)}`;
|
|
86
|
-
}
|
|
87
|
-
export {
|
|
88
|
-
l as S,
|
|
89
|
-
p as a,
|
|
90
|
-
o as b
|
|
91
|
-
};
|
|
92
|
-
//# sourceMappingURL=index-C1opJocO.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-C1opJocO.mjs","sources":["../../src/plugins/super-sub/SuperSubLocale.ts","../../src/plugins/super-sub/SuperSubPlugin.ts"],"sourcesContent":["/**\n * Locale interface and default English locale for the SuperSubPlugin.\n */\n\n// --- Locale Interface ---\n\nexport interface SuperSubLocale {\n\treadonly superscriptLabel: string;\n\treadonly superscriptTooltip: (shortcut: string) => string;\n\treadonly subscriptLabel: string;\n\treadonly subscriptTooltip: (shortcut: string) => string;\n}\n\n// --- Default English Locale ---\n\nexport const SUPER_SUB_LOCALE_EN: SuperSubLocale = {\n\tsuperscriptLabel: 'Superscript',\n\tsuperscriptTooltip: (shortcut: string) => `Superscript (${shortcut})`,\n\tsubscriptLabel: 'Subscript',\n\tsubscriptTooltip: (shortcut: string) => `Subscript (${shortcut})`,\n};\n\n// --- German Locale ---\n\nexport const SUPER_SUB_LOCALE_DE: SuperSubLocale = {\n\tsuperscriptLabel: 'Hochgestellt',\n\tsuperscriptTooltip: (shortcut: string) => `Hochgestellt (${shortcut})`,\n\tsubscriptLabel: 'Tiefgestellt',\n\tsubscriptTooltip: (shortcut: string) => `Tiefgestellt (${shortcut})`,\n};\n\n// --- Spanish Locale ---\n\nexport const SUPER_SUB_LOCALE_ES: SuperSubLocale = {\n\tsuperscriptLabel: 'Superíndice',\n\tsuperscriptTooltip: (shortcut: string) => `Superíndice (${shortcut})`,\n\tsubscriptLabel: 'Subíndice',\n\tsubscriptTooltip: (shortcut: string) => `Subíndice (${shortcut})`,\n};\n\n// --- French Locale ---\n\nexport const SUPER_SUB_LOCALE_FR: SuperSubLocale = {\n\tsuperscriptLabel: 'Exposant',\n\tsuperscriptTooltip: (shortcut: string) => `Exposant (${shortcut})`,\n\tsubscriptLabel: 'Indice',\n\tsubscriptTooltip: (shortcut: string) => `Indice (${shortcut})`,\n};\n\n// --- Chinese (Simplified) Locale ---\n\nexport const SUPER_SUB_LOCALE_ZH: SuperSubLocale = {\n\tsuperscriptLabel: '上标',\n\tsuperscriptTooltip: (shortcut: string) => `上标 (${shortcut})`,\n\tsubscriptLabel: '下标',\n\tsubscriptTooltip: (shortcut: string) => `下标 (${shortcut})`,\n};\n\n// --- Russian Locale ---\n\nexport const SUPER_SUB_LOCALE_RU: SuperSubLocale = {\n\tsuperscriptLabel: 'Надстрочный',\n\tsuperscriptTooltip: (shortcut: string) => `Надстрочный (${shortcut})`,\n\tsubscriptLabel: 'Подстрочный',\n\tsubscriptTooltip: (shortcut: string) => `Подстрочный (${shortcut})`,\n};\n\n// --- Arabic Locale ---\n\nexport const SUPER_SUB_LOCALE_AR: SuperSubLocale = {\n\tsuperscriptLabel: 'مرتفع',\n\tsuperscriptTooltip: (shortcut: string) => `مرتفع (${shortcut})`,\n\tsubscriptLabel: 'منخفض',\n\tsubscriptTooltip: (shortcut: string) => `منخفض (${shortcut})`,\n};\n\n// --- Hindi Locale ---\n\nexport const SUPER_SUB_LOCALE_HI: SuperSubLocale = {\n\tsuperscriptLabel: 'सुपरस्क्रिप्ट',\n\tsuperscriptTooltip: (shortcut: string) => `सुपरस्क्रिप्ट (${shortcut})`,\n\tsubscriptLabel: 'सबस्क्रिप्ट',\n\tsubscriptTooltip: (shortcut: string) => `सबस्क्रिप्ट (${shortcut})`,\n};\n\n// --- Locale Map ---\n\nexport const SUPER_SUB_LOCALES: Record<string, SuperSubLocale> = {\n\ten: SUPER_SUB_LOCALE_EN,\n\tde: SUPER_SUB_LOCALE_DE,\n\tes: SUPER_SUB_LOCALE_ES,\n\tfr: SUPER_SUB_LOCALE_FR,\n\tzh: SUPER_SUB_LOCALE_ZH,\n\tru: SUPER_SUB_LOCALE_RU,\n\tar: SUPER_SUB_LOCALE_AR,\n\thi: SUPER_SUB_LOCALE_HI,\n};\n","/**\n * SuperSubPlugin: registers superscript and subscript inline marks with\n * MarkSpecs, toggle commands, keyboard shortcuts, toolbar buttons, and\n * a middleware that enforces mutual exclusivity between the two marks.\n *\n * Data-driven — each mark type is defined declaratively and all\n * registrations are derived from the same definition table.\n */\n\nimport { isMarkActive, toggleMark } from '../../commands/Commands.js';\nimport { resolvePluginLocale } from '../../i18n/resolvePluginLocale.js';\nimport type { Mark } from '../../model/Document.js';\nimport type { ParseRule } from '../../model/ParseRule.js';\nimport type { SanitizeConfig } from '../../model/SanitizeConfig.js';\nimport { markType as mkType } from '../../model/TypeBrands.js';\nimport type { RemoveMarkStep, Step } from '../../state/Transaction.js';\nimport type { Plugin, PluginContext } from '../Plugin.js';\nimport { formatShortcut } from '../toolbar/ToolbarItem.js';\nimport { SUPER_SUB_LOCALES, type SuperSubLocale } from './SuperSubLocale.js';\n\n// --- Attribute Registry Augmentation ---\n\ndeclare module '../../model/AttrRegistry.js' {\n\tinterface MarkAttrRegistry {\n\t\tsuperscript: Record<string, never>;\n\t\tsubscript: Record<string, never>;\n\t}\n}\n\n// --- Configuration ---\n\n/** Controls toolbar button visibility per mark. */\nexport interface SuperSubToolbarConfig {\n\treadonly superscript?: boolean;\n\treadonly subscript?: boolean;\n}\n\n/** Controls which marks are enabled and which toolbar buttons are shown. */\nexport interface SuperSubConfig {\n\treadonly superscript: boolean;\n\treadonly subscript: boolean;\n\treadonly toolbar?: SuperSubToolbarConfig;\n\t/** When true, a separator is rendered after the last toolbar item. */\n\treadonly separatorAfter?: boolean;\n\treadonly locale?: SuperSubLocale;\n}\n\nconst DEFAULT_CONFIG: SuperSubConfig = {\n\tsuperscript: true,\n\tsubscript: true,\n};\n\n// --- Mark Definitions ---\n\ninterface MarkDefinition {\n\treadonly type: 'superscript' | 'subscript';\n\treadonly opposite: 'superscript' | 'subscript';\n\treadonly configKey: keyof Omit<SuperSubConfig, 'toolbar' | 'separatorAfter' | 'locale'>;\n\treadonly rank: number;\n\treadonly tag: string;\n\treadonly label: string;\n\treadonly icon: string;\n\treadonly keyBinding: string;\n\treadonly toolbarPriority: number;\n\treadonly toHTMLString: (content: string) => string;\n\treadonly parseHTML: readonly ParseRule[];\n\treadonly sanitize: SanitizeConfig;\n}\n\nconst SUPERSCRIPT_ICON: string = [\n\t'<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">',\n\t'<path d=\"M16 7.41L11.41 12 16 16.59 14.59 18l-6-6 6-6z\"',\n\t' fill=\"none\"/>',\n\t'<path d=\"M9.64 7.64c.23-.5.36-1.05.36-1.64',\n\t' 0-2.21-1.79-4-4-4H2v14h4.36c2.34 0 4.24-1.9',\n\t' 4.24-4.24 0-1.6-.89-2.99-2.2-3.71zM4.5 4.5H6c.83',\n\t' 0 1.5.67 1.5 1.5S6.83 7.5 6 7.5H4.5v-3zm2 9H4.5v-3H6.5c.83',\n\t' 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5z\" fill=\"none\"/>',\n\t'<path d=\"M15.97 3.84c0-.47.19-.91.53-1.21.34-.31.8-.49',\n\t' 1.3-.49.5 0 .95.18 1.28.48.32.3.5.7.51 1.15h1.59c-.02',\n\t'-.96-.43-1.83-1.13-2.42C19.36.77 18.45.44 17.5.44c-.88',\n\t' 0-1.74.28-2.39.8-.67.53-1.06 1.28-1.06 2.1 0 .76.34',\n\t' 1.47.93 1.97.59.49 1.41.84 2.32 1.15.7.24 1.26.5 1.62.8.35.3.53.64.53',\n\t' 1.02 0 .48-.2.93-.55 1.24-.36.3-.84.48-1.37.48-.55 0-1.04-.2-1.39-.54',\n\t'-.34-.33-.53-.8-.53-1.32h-1.58c.01 1.02.43 1.95 1.16 2.57.72.62 1.67.96',\n\t' 2.67.96.92 0 1.81-.3 2.46-.84.67-.56 1.04-1.33 1.04-2.18 0-.81-.36-1.56',\n\t'-.99-2.08-.62-.51-1.48-.88-2.43-1.2-.67-.23-1.2-.47-1.52-.75-.32-.27-.46',\n\t'-.59-.46-.94z\"/>',\n\t'<path d=\"M5.88 20h2.66l3.4-5.42L15.3 20h2.67l-4.73-7.38',\n\t' 4.37-6.62h-2.6l-3.07 4.98L8.92 6h-2.6l4.26 6.58z\"/>',\n\t'</svg>',\n].join('');\n\nconst SUBSCRIPT_ICON: string = [\n\t'<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">',\n\t'<path d=\"M15.97 16.84c0-.47.19-.91.53-1.21.34-.31.8-.49',\n\t' 1.3-.49.5 0 .95.18 1.28.48.32.3.5.7.51 1.15h1.59c-.02',\n\t'-.96-.43-1.83-1.13-2.42-.7-.58-1.61-.91-2.56-.91-.88',\n\t' 0-1.74.28-2.39.8-.67.53-1.06 1.28-1.06 2.1 0 .76.34',\n\t' 1.47.93 1.97.59.49 1.41.84 2.32 1.15.7.24 1.26.5 1.62.8.35.3.53.64.53',\n\t' 1.02 0 .48-.2.93-.55 1.24-.36.3-.84.48-1.37.48-.55 0-1.04-.2-1.39-.54',\n\t'-.34-.33-.53-.8-.53-1.32h-1.58c.01 1.02.43 1.95 1.16 2.57.72.62 1.67.96',\n\t' 2.67.96.92 0 1.81-.3 2.46-.84.67-.56 1.04-1.33 1.04-2.18 0-.81-.36-1.56',\n\t'-.99-2.08-.62-.51-1.48-.88-2.43-1.2-.67-.23-1.2-.47-1.52-.75-.32-.27-.46',\n\t'-.59-.46-.94z\"/>',\n\t'<path d=\"M5.88 18h2.66l3.4-5.42L15.3 18h2.67l-4.73-7.38',\n\t' 4.37-6.62h-2.6l-3.07 4.98L8.92 4h-2.6l4.26 6.58z\"/>',\n\t'</svg>',\n].join('');\n\nconst MARK_DEFINITIONS: readonly MarkDefinition[] = [\n\t{\n\t\ttype: 'superscript',\n\t\topposite: 'subscript',\n\t\tconfigKey: 'superscript',\n\t\trank: 4,\n\t\ttag: 'sup',\n\t\tlabel: 'Superscript',\n\t\ticon: SUPERSCRIPT_ICON,\n\t\tkeyBinding: 'Mod-.',\n\t\ttoolbarPriority: 50,\n\t\ttoHTMLString: (content) => `<sup>${content}</sup>`,\n\t\tparseHTML: [{ tag: 'sup' }],\n\t\tsanitize: { tags: ['sup'] },\n\t},\n\t{\n\t\ttype: 'subscript',\n\t\topposite: 'superscript',\n\t\tconfigKey: 'subscript',\n\t\trank: 4,\n\t\ttag: 'sub',\n\t\tlabel: 'Subscript',\n\t\ticon: SUBSCRIPT_ICON,\n\t\tkeyBinding: 'Mod-,',\n\t\ttoolbarPriority: 51,\n\t\ttoHTMLString: (content) => `<sub>${content}</sub>`,\n\t\tparseHTML: [{ tag: 'sub' }],\n\t\tsanitize: { tags: ['sub'] },\n\t},\n];\n\n// --- Plugin ---\n\nexport class SuperSubPlugin implements Plugin {\n\treadonly id = 'super-sub';\n\treadonly name = 'Superscript & Subscript';\n\treadonly priority = 23;\n\n\tprivate readonly config: SuperSubConfig;\n\tprivate locale!: SuperSubLocale;\n\n\tconstructor(config?: Partial<SuperSubConfig>) {\n\t\tthis.config = { ...DEFAULT_CONFIG, ...config };\n\t}\n\n\tinit(context: PluginContext): void {\n\t\tthis.locale = resolvePluginLocale(SUPER_SUB_LOCALES, context, this.config.locale);\n\n\t\tconst enabledMarks: MarkDefinition[] = MARK_DEFINITIONS.filter(\n\t\t\t(def) => this.config[def.configKey],\n\t\t);\n\n\t\tconst visibleToolbarMarks: MarkDefinition[] = enabledMarks.filter((def) =>\n\t\t\tthis.isToolbarVisible(def.configKey),\n\t\t);\n\t\tconst lastVisibleMark: MarkDefinition | undefined = visibleToolbarMarks.at(-1);\n\n\t\tfor (const def of enabledMarks) {\n\t\t\tconst isSeparatorTarget: boolean = !!this.config.separatorAfter && def === lastVisibleMark;\n\t\t\tthis.registerMark(context, def, isSeparatorTarget);\n\t\t}\n\n\t\tthis.registerKeymaps(context, enabledMarks);\n\t\tthis.registerExclusivityMiddleware(context, enabledMarks);\n\t\tthis.registerDisabledToolbarItems(context);\n\t}\n\n\tprivate registerMark(context: PluginContext, def: MarkDefinition, separatorAfter: boolean): void {\n\t\tconst commandName: string = toCommandName(def.type);\n\t\tconst toolbarVisible: boolean = this.isToolbarVisible(def.configKey);\n\n\t\tcontext.registerMarkSpec({\n\t\t\ttype: def.type,\n\t\t\trank: def.rank,\n\t\t\ttoDOM() {\n\t\t\t\treturn document.createElement(def.tag);\n\t\t\t},\n\t\t\ttoHTMLString: (_mark, content) => def.toHTMLString(content),\n\t\t\tparseHTML: def.parseHTML,\n\t\t\tsanitize: def.sanitize,\n\t\t});\n\n\t\tcontext.registerCommand(commandName, () => {\n\t\t\tconst tr = toggleMark(context.getState(), mkType(def.type));\n\t\t\tif (tr) {\n\t\t\t\tcontext.dispatch(tr);\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn false;\n\t\t});\n\n\t\tif (toolbarVisible) {\n\t\t\tconst label: string =\n\t\t\t\tdef.type === 'superscript' ? this.locale.superscriptLabel : this.locale.subscriptLabel;\n\t\t\tconst tooltip: string =\n\t\t\t\tdef.type === 'superscript'\n\t\t\t\t\t? this.locale.superscriptTooltip(formatShortcut(def.keyBinding))\n\t\t\t\t\t: this.locale.subscriptTooltip(formatShortcut(def.keyBinding));\n\t\t\tcontext.registerToolbarItem({\n\t\t\t\tid: def.type,\n\t\t\t\tgroup: 'format',\n\t\t\t\ticon: def.icon,\n\t\t\t\tlabel,\n\t\t\t\ttooltip,\n\t\t\t\tcommand: commandName,\n\t\t\t\tpriority: def.toolbarPriority,\n\t\t\t\tseparatorAfter,\n\t\t\t\tisActive: (state) => isMarkActive(state, mkType(def.type)),\n\t\t\t});\n\t\t}\n\t}\n\n\tprivate registerKeymaps(context: PluginContext, marks: readonly MarkDefinition[]): void {\n\t\tconst keymap: Record<string, () => boolean> = {};\n\t\tfor (const def of marks) {\n\t\t\tconst commandName: string = toCommandName(def.type);\n\t\t\tkeymap[def.keyBinding] = () => context.executeCommand(commandName);\n\t\t}\n\t\tif (Object.keys(keymap).length > 0) {\n\t\t\tcontext.registerKeymap(keymap);\n\t\t}\n\t}\n\n\t/**\n\t * Ensures superscript and subscript are mutually exclusive.\n\t * When an addMark step for one type is found, a removeMark step\n\t * for the opposite type is injected. For stored marks, the opposite\n\t * mark is filtered out.\n\t */\n\tprivate registerExclusivityMiddleware(\n\t\tcontext: PluginContext,\n\t\tenabledMarks: readonly MarkDefinition[],\n\t): void {\n\t\tconst bothEnabled: boolean =\n\t\t\tenabledMarks.some((d) => d.type === 'superscript') &&\n\t\t\tenabledMarks.some((d) => d.type === 'subscript');\n\n\t\tif (!bothEnabled) return;\n\n\t\tcontext.registerMiddleware(\n\t\t\t(tr, _state, next) => {\n\t\t\t\tlet patched = false;\n\n\t\t\t\t// Handle addMark steps: inject removeMark for the opposite type\n\t\t\t\tconst patchedSteps: Step[] = [];\n\t\t\t\tfor (const step of tr.steps) {\n\t\t\t\t\tif (step.type !== 'addMark') {\n\t\t\t\t\t\tpatchedSteps.push(step);\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst markName: string = step.mark.type;\n\t\t\t\t\tconst def: MarkDefinition | undefined = MARK_DEFINITIONS.find((d) => d.type === markName);\n\t\t\t\t\tif (!def) {\n\t\t\t\t\t\tpatchedSteps.push(step);\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tpatched = true;\n\t\t\t\t\tconst removeStep: RemoveMarkStep = {\n\t\t\t\t\t\ttype: 'removeMark',\n\t\t\t\t\t\tblockId: step.blockId,\n\t\t\t\t\t\tfrom: step.from,\n\t\t\t\t\t\tto: step.to,\n\t\t\t\t\t\tmark: { type: mkType(def.opposite) },\n\t\t\t\t\t\t...(step.path ? { path: step.path } : {}),\n\t\t\t\t\t};\n\t\t\t\t\tpatchedSteps.push(removeStep, step);\n\t\t\t\t}\n\n\t\t\t\t// Handle stored marks: remove the opposite mark\n\t\t\t\tlet storedMarksAfter: readonly Mark[] | null = tr.storedMarksAfter;\n\t\t\t\tif (storedMarksAfter) {\n\t\t\t\t\tconst hasSup: boolean = storedMarksAfter.some((m) => m.type === 'superscript');\n\t\t\t\t\tconst hasSub: boolean = storedMarksAfter.some((m) => m.type === 'subscript');\n\n\t\t\t\t\tif (hasSup && hasSub) {\n\t\t\t\t\t\t// Keep the one that was most recently added (last in array)\n\t\t\t\t\t\tconst lastSupIdx: number = storedMarksAfter.findLastIndex(\n\t\t\t\t\t\t\t(m) => m.type === 'superscript',\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst lastSubIdx: number = storedMarksAfter.findLastIndex(\n\t\t\t\t\t\t\t(m) => m.type === 'subscript',\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst removeType: string = lastSupIdx > lastSubIdx ? 'subscript' : 'superscript';\n\n\t\t\t\t\t\tstoredMarksAfter = storedMarksAfter.filter((m) => m.type !== removeType);\n\t\t\t\t\t\tpatched = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tnext(patched ? { ...tr, steps: patchedSteps, storedMarksAfter } : tr);\n\t\t\t},\n\t\t\t{ name: 'super-sub:exclusivity' },\n\t\t);\n\t}\n\n\t/**\n\t * Registers disabled toolbar buttons for marks whose feature is disabled\n\t * but whose toolbar button is explicitly requested.\n\t */\n\tprivate registerDisabledToolbarItems(context: PluginContext): void {\n\t\tif (!this.config.toolbar) return;\n\n\t\tfor (const def of MARK_DEFINITIONS) {\n\t\t\tconst featureEnabled: boolean = this.config[def.configKey];\n\t\t\tconst toolbarVisible: boolean = this.config.toolbar[def.configKey] ?? true;\n\n\t\t\tif (!featureEnabled && toolbarVisible) {\n\t\t\t\tconst label: string =\n\t\t\t\t\tdef.type === 'superscript' ? this.locale.superscriptLabel : this.locale.subscriptLabel;\n\t\t\t\tcontext.registerToolbarItem({\n\t\t\t\t\tid: def.type,\n\t\t\t\t\tgroup: 'format',\n\t\t\t\t\ticon: def.icon,\n\t\t\t\t\tlabel,\n\t\t\t\t\tcommand: toCommandName(def.type),\n\t\t\t\t\tpriority: def.toolbarPriority,\n\t\t\t\t\tisEnabled: () => false,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate isToolbarVisible(\n\t\tconfigKey: keyof Omit<SuperSubConfig, 'toolbar' | 'separatorAfter' | 'locale'>,\n\t): boolean {\n\t\tif (!this.config.toolbar) return true;\n\t\treturn this.config.toolbar[configKey] ?? true;\n\t}\n}\n\n/** Converts a mark type to its toggle command name (e.g. 'superscript' → 'toggleSuperscript'). */\nfunction toCommandName(markType: string): string {\n\treturn `toggle${markType.charAt(0).toUpperCase()}${markType.slice(1)}`;\n}\n"],"names":["SUPER_SUB_LOCALE_EN","superscriptLabel","superscriptTooltip","shortcut","subscriptLabel","subscriptTooltip","SUPER_SUB_LOCALES","en","de","es","fr","zh","ru","ar","hi","DEFAULT_CONFIG","superscript","subscript","MARK_DEFINITIONS","type","opposite","configKey","rank","tag","label","icon","join","keyBinding","toolbarPriority","toHTMLString","content","parseHTML","sanitize","tags","SuperSubPlugin","id","name","priority","config","locale","this","context","resolvePluginLocale","enabledMarks","filter","def","lastVisibleMark","isToolbarVisible","at","isSeparatorTarget","separatorAfter","registerMark","registerKeymaps","registerExclusivityMiddleware","registerDisabledToolbarItems","commandName","toCommandName","toolbarVisible","registerMarkSpec","toDOM","document","createElement","_mark","registerCommand","tr","toggleMark","getState","mkType","dispatch","tooltip","formatShortcut","registerToolbarItem","group","command","isActive","state","isMarkActive","marks","keymap","executeCommand","Object","keys","length","registerKeymap","some","d","registerMiddleware","_state","next","patched","patchedSteps","step","steps","push","markName","mark","find","removeStep","blockId","from","to","path","storedMarksAfter","hasSup","m","hasSub","removeType","findLastIndex","toolbar","featureEnabled","isEnabled","markType","charAt","toUpperCase","slice"],"mappings":"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"}
|
|
@@ -1,228 +0,0 @@
|
|
|
1
|
-
import { r as t } from "./resolvePluginLocale-B4w1OkPy.mjs";
|
|
2
|
-
import { a as e } from "./AttrRegistry-D9Jx_RVb.mjs";
|
|
3
|
-
import { m as n, u as i } from "./Document-Brtw2jL1.mjs";
|
|
4
|
-
import { c as s } from "./NodeSpec-NZVvcCuH.mjs";
|
|
5
|
-
import { i as c, a as r, b as l, d as o } from "./Selection-BRTab5hO.mjs";
|
|
6
|
-
import { n as a, b as d } from "./TypeBrands-C09nE2qO.mjs";
|
|
7
|
-
import { a as h } from "./StyleRuntime-CP4NCwKT.mjs";
|
|
8
|
-
const u = { bulletList: "Bullet List", numberedList: "Numbered List", checklist: "Checklist" }, p = { en: u, de: { bulletList: "Aufzählung", numberedList: "Nummerierte Liste", checklist: "Checkliste" }, es: { bulletList: "Lista con viñetas", numberedList: "Lista numerada", checklist: "Lista de verificación" }, fr: { bulletList: "Liste à puces", numberedList: "Liste numérotée", checklist: "Liste de contrôle" }, zh: { bulletList: "无序列表", numberedList: "有序列表", checklist: "清单" }, ru: { bulletList: "Маркированный список", numberedList: "Нумерованный список", checklist: "Чек-лист" }, ar: { bulletList: "قائمة نقطية", numberedList: "قائمة مرقمة", checklist: "قائمة تحقق" }, hi: { bulletList: "बुलेट सूची", numberedList: "क्रमांकित सूची", checklist: "चेकलिस्ट" } }, m = { types: ["bullet", "ordered", "checklist"], maxIndent: 4 }, g = [{ type: "bullet", label: "Bullet List", icon: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 10.5c-.83 0-1.5.67-1.5 1.5s.67 1.5 1.5 1.5 1.5-.67 1.5-1.5-.67-1.5-1.5-1.5zm0-6c-.83 0-1.5.67-1.5 1.5S3.17 7.5 4 7.5 5.5 6.83 5.5 6 4.83 4.5 4 4.5zm0 12c-.83 0-1.5.68-1.5 1.5s.68 1.5 1.5 1.5 1.5-.68 1.5-1.5-.67-1.5-1.5-1.5zM7 19h14v-2H7v2zm0-6h14v-2H7v2zm0-8v2h14V5H7z"/></svg>', inputPattern: /^[-*] $/, inputPrefix: "- " }, { type: "ordered", label: "Numbered List", icon: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M2 17h2v.5H3v1h1v.5H2v1h3v-4H2v1zm1-9h1V4H2v1h1v3zm-1 3h1.8L2 13.1v.9h3v-1H3.2L5 10.9V10H2v1zm5-6v2h14V5H7zm0 14h14v-2H7v2zm0-6h14v-2H7v2z"/></svg>', inputPattern: /^\d+\. $/, inputPrefix: "1. " }, { type: "checklist", label: "Checklist", icon: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M22 7h-9v2h9V7zm0 8h-9v2h9v-2zM5.54 11L2 7.46l1.41-1.41 2.12 2.12 4.24-4.24 1.41 1.41L5.54 11zm0 8L2 15.46l1.41-1.41 2.12 2.12 4.24-4.24 1.41 1.41L5.54 19z"/></svg>', inputPattern: /^\[[ x]] $/, inputPrefix: "[ ] " }];
|
|
9
|
-
class k {
|
|
10
|
-
id = "list";
|
|
11
|
-
name = "List";
|
|
12
|
-
priority = 35;
|
|
13
|
-
config;
|
|
14
|
-
locale;
|
|
15
|
-
context = null;
|
|
16
|
-
checkboxClickHandler = null;
|
|
17
|
-
constructor(t2) {
|
|
18
|
-
this.config = { ...m, ...t2 };
|
|
19
|
-
}
|
|
20
|
-
init(e2) {
|
|
21
|
-
this.context = e2, this.locale = t(p, e2, this.config.locale), e2.registerStyleSheet(`
|
|
22
|
-
/* List Wrappers — suppress native markers, we use ::before pseudo-elements */
|
|
23
|
-
.notectl-list {
|
|
24
|
-
list-style: none;
|
|
25
|
-
margin: 0;
|
|
26
|
-
padding: 0;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
/* Ordered List — each <ol> wrapper resets the counter */
|
|
30
|
-
.notectl-list--ordered {
|
|
31
|
-
counter-reset: notectl-ordered;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
/* List Items */
|
|
35
|
-
.notectl-list-item {
|
|
36
|
-
margin: 0;
|
|
37
|
-
padding: 2px 0 2px 24px;
|
|
38
|
-
min-height: 1.6em;
|
|
39
|
-
position: relative;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
.notectl-list-item::before {
|
|
43
|
-
position: absolute;
|
|
44
|
-
left: 0;
|
|
45
|
-
display: inline-block;
|
|
46
|
-
width: 24px;
|
|
47
|
-
text-align: center;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
/* Bullet List */
|
|
51
|
-
.notectl-list-item--bullet::before {
|
|
52
|
-
content: '\\2022';
|
|
53
|
-
color: var(--notectl-fg);
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
/* Ordered List — counter increment per item */
|
|
57
|
-
.notectl-list-item--ordered {
|
|
58
|
-
counter-increment: notectl-ordered;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
.notectl-list-item--ordered::before {
|
|
62
|
-
content: counter(notectl-ordered) '.';
|
|
63
|
-
color: var(--notectl-fg);
|
|
64
|
-
font-size: 14px;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
/* Checklist */
|
|
68
|
-
.notectl-list-item--checklist::before {
|
|
69
|
-
content: '\\2610';
|
|
70
|
-
font-size: 16px;
|
|
71
|
-
color: var(--notectl-fg-muted);
|
|
72
|
-
cursor: pointer;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
.notectl-list-item--checklist[data-checked="true"]::before {
|
|
76
|
-
content: '\\2611';
|
|
77
|
-
color: var(--notectl-success);
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
.notectl-list-item--checklist[data-checked="true"] {
|
|
81
|
-
color: var(--notectl-fg-muted);
|
|
82
|
-
text-decoration: line-through;
|
|
83
|
-
}
|
|
84
|
-
`), this.registerNodeSpec(e2), this.registerCommands(e2), this.registerKeymaps(e2), this.registerInputRules(e2), this.registerToolbarItems(e2), this.registerCheckboxClickHandler(e2);
|
|
85
|
-
}
|
|
86
|
-
destroy() {
|
|
87
|
-
this.checkboxClickHandler && this.context && this.context.getContainer().removeEventListener("mousedown", this.checkboxClickHandler), this.checkboxClickHandler = null, this.context = null;
|
|
88
|
-
}
|
|
89
|
-
registerNodeSpec(t2) {
|
|
90
|
-
t2.registerNodeSpec({ type: "list_item", group: "block", content: { allow: ["text"] }, attrs: { listType: { default: "bullet" }, indent: { default: 0 }, checked: { default: false } }, toDOM(t3) {
|
|
91
|
-
const e2 = t3.attrs?.listType ?? "bullet", n2 = t3.attrs?.indent ?? 0, i2 = t3.attrs?.checked ?? false, c2 = s("li", t3.id);
|
|
92
|
-
return c2.setAttribute("role", "listitem"), c2.setAttribute("data-list-type", e2), c2.setAttribute("data-indent", String(n2)), c2.className = `notectl-list-item notectl-list-item--${e2}`, n2 > 0 && h(c2, "marginLeft", 24 * n2 + "px"), "checklist" === e2 && (c2.setAttribute("data-checked", String(i2)), c2.setAttribute("aria-checked", String(i2))), c2.setAttribute("aria-level", String(n2 + 1)), c2;
|
|
93
|
-
}, wrapper(t3) {
|
|
94
|
-
const e2 = t3.attrs?.listType ?? "bullet";
|
|
95
|
-
return { tag: "ordered" === e2 ? "ol" : "ul", key: `list-${e2}`, className: `notectl-list notectl-list--${e2}`, attrs: { role: "list" } };
|
|
96
|
-
}, toHTML(t3, e2) {
|
|
97
|
-
const n2 = t3.attrs?.listType ?? "bullet", i2 = t3.attrs?.checked ?? false;
|
|
98
|
-
if ("checklist" === n2) {
|
|
99
|
-
const t4 = i2 ? " checked" : "";
|
|
100
|
-
return `<li role="checkbox" aria-checked="${String(i2)}"><input type="checkbox" disabled${t4}>${e2 || "<br>"}</li>`;
|
|
101
|
-
}
|
|
102
|
-
return `<li>${e2 || "<br>"}</li>`;
|
|
103
|
-
}, parseHTML: [{ tag: "li" }], sanitize: { tags: ["ul", "ol", "li", "input"], attrs: ["type", "disabled", "checked", "role", "aria-checked"] } });
|
|
104
|
-
}
|
|
105
|
-
registerCommands(t2) {
|
|
106
|
-
const e2 = this.getEnabledTypes();
|
|
107
|
-
for (const n2 of e2) t2.registerCommand(`toggleList:${n2.type}`, () => this.toggleList(t2, n2.type));
|
|
108
|
-
t2.registerCommand("indentListItem", () => this.indent(t2)), t2.registerCommand("outdentListItem", () => this.outdent(t2)), this.config.types.includes("checklist") && t2.registerCommand("toggleChecklistItem", () => this.toggleChecked(t2), { readonlyAllowed: true });
|
|
109
|
-
}
|
|
110
|
-
registerKeymaps(t2) {
|
|
111
|
-
t2.registerKeymap({ Enter: () => this.handleEnter(t2), Backspace: () => this.handleBackspace(t2), Tab: () => this.indent(t2), "Shift-Tab": () => this.outdent(t2) });
|
|
112
|
-
}
|
|
113
|
-
registerInputRules(t2) {
|
|
114
|
-
const e2 = this.getEnabledTypes();
|
|
115
|
-
for (const n2 of e2) t2.registerInputRule({ pattern: n2.inputPattern, handler: (t3, e3, i2, s2) => {
|
|
116
|
-
const d2 = t3.selection;
|
|
117
|
-
if (c(d2) || r(d2)) return null;
|
|
118
|
-
if (!l(d2)) return null;
|
|
119
|
-
const h2 = t3.getBlock(d2.anchor.blockId);
|
|
120
|
-
if (!h2 || "paragraph" !== h2.type) return null;
|
|
121
|
-
const u2 = e3[0] ?? "", p2 = u2.length, m2 = { listType: n2.type, indent: 0 };
|
|
122
|
-
return "checklist" === n2.type && (m2.checked = u2.includes("[x]")), t3.transaction("input").deleteTextAt(d2.anchor.blockId, i2, i2 + p2).setBlockType(d2.anchor.blockId, a("list_item"), m2).setSelection(o(d2.anchor.blockId, 0)).build();
|
|
123
|
-
} });
|
|
124
|
-
}
|
|
125
|
-
getListLabel(t2) {
|
|
126
|
-
return { bullet: this.locale.bulletList, ordered: this.locale.numberedList, checklist: this.locale.checklist }[t2];
|
|
127
|
-
}
|
|
128
|
-
registerToolbarItems(t2) {
|
|
129
|
-
const e2 = this.getEnabledTypes(), n2 = e2.at(-1);
|
|
130
|
-
for (const i2 of e2) t2.registerToolbarItem({ id: `list-${i2.type}`, group: "block", icon: i2.icon, label: this.getListLabel(i2.type), command: `toggleList:${i2.type}`, priority: "bullet" === i2.type ? 70 : "ordered" === i2.type ? 71 : 72, separatorAfter: this.config.separatorAfter && i2 === n2, isActive: (t3) => this.isListActive(t3, i2.type) });
|
|
131
|
-
}
|
|
132
|
-
toggleList(t2, n2) {
|
|
133
|
-
const i2 = t2.getState(), s2 = i2.selection;
|
|
134
|
-
if (c(s2) || r(s2)) return false;
|
|
135
|
-
const l2 = i2.getBlock(s2.anchor.blockId);
|
|
136
|
-
if (!l2) return false;
|
|
137
|
-
if ("list_item" === l2.type && l2.attrs?.listType === n2) {
|
|
138
|
-
const e2 = i2.transaction("command").setBlockType(s2.anchor.blockId, a("paragraph")).setSelection(s2).build();
|
|
139
|
-
return t2.dispatch(e2), true;
|
|
140
|
-
}
|
|
141
|
-
const o2 = { listType: n2, indent: e(l2, "list_item") ? l2.attrs.indent : 0 };
|
|
142
|
-
"checklist" === n2 && (o2.checked = false);
|
|
143
|
-
const d2 = i2.transaction("command").setBlockType(s2.anchor.blockId, a("list_item"), o2).setSelection(s2).build();
|
|
144
|
-
return t2.dispatch(d2), true;
|
|
145
|
-
}
|
|
146
|
-
indent(t2) {
|
|
147
|
-
const n2 = t2.getState();
|
|
148
|
-
if (c(n2.selection) || r(n2.selection)) return false;
|
|
149
|
-
const i2 = n2.getBlock(n2.selection.anchor.blockId);
|
|
150
|
-
return !(!i2 || !e(i2, "list_item")) && !(i2.attrs.indent >= this.config.maxIndent) && this.setIndent(t2, n2, i2.attrs.indent + 1);
|
|
151
|
-
}
|
|
152
|
-
outdent(t2) {
|
|
153
|
-
const n2 = t2.getState();
|
|
154
|
-
if (c(n2.selection) || r(n2.selection)) return false;
|
|
155
|
-
const i2 = n2.getBlock(n2.selection.anchor.blockId);
|
|
156
|
-
return !(!i2 || !e(i2, "list_item")) && !(i2.attrs.indent <= 0) && this.setIndent(t2, n2, i2.attrs.indent - 1);
|
|
157
|
-
}
|
|
158
|
-
setIndent(t2, e2, n2) {
|
|
159
|
-
const i2 = e2.selection;
|
|
160
|
-
if (c(i2) || r(i2)) return false;
|
|
161
|
-
const s2 = e2.getBlock(i2.anchor.blockId);
|
|
162
|
-
if (!s2) return false;
|
|
163
|
-
const l2 = { ...s2.attrs, indent: n2 }, o2 = e2.transaction("command").setBlockType(i2.anchor.blockId, a("list_item"), l2).setSelection(i2).build();
|
|
164
|
-
return t2.dispatch(o2), true;
|
|
165
|
-
}
|
|
166
|
-
toggleChecked(t2, e2) {
|
|
167
|
-
if (t2.isReadOnly() && !this.config.interactiveCheckboxes) return false;
|
|
168
|
-
const n2 = t2.getState(), i2 = e2 ?? (c(n2.selection) || r(n2.selection) ? null : n2.selection.anchor.blockId);
|
|
169
|
-
if (!i2) return false;
|
|
170
|
-
const s2 = n2.getBlock(i2);
|
|
171
|
-
if (!s2 || "list_item" !== s2.type || "checklist" !== s2.attrs?.listType) return false;
|
|
172
|
-
const l2 = !s2.attrs?.checked, o2 = { ...s2.attrs, checked: l2 }, d2 = n2.transaction("command").setBlockType(i2, a("list_item"), o2).setSelection(n2.selection).build();
|
|
173
|
-
return t2.dispatch(d2), true;
|
|
174
|
-
}
|
|
175
|
-
handleBackspace(t2) {
|
|
176
|
-
const e2 = t2.getState(), n2 = e2.selection;
|
|
177
|
-
if (c(n2) || r(n2)) return false;
|
|
178
|
-
if (!l(n2)) return false;
|
|
179
|
-
const i2 = e2.getBlock(n2.anchor.blockId);
|
|
180
|
-
if (!i2 || "list_item" !== i2.type) return false;
|
|
181
|
-
if (0 !== n2.anchor.offset) return false;
|
|
182
|
-
const s2 = e2.transaction("input").setBlockType(n2.anchor.blockId, a("paragraph")).setSelection(n2).build();
|
|
183
|
-
return t2.dispatch(s2), true;
|
|
184
|
-
}
|
|
185
|
-
handleEnter(t2) {
|
|
186
|
-
const s2 = t2.getState(), d2 = s2.selection;
|
|
187
|
-
if (c(d2) || r(d2)) return false;
|
|
188
|
-
if (!l(d2)) return false;
|
|
189
|
-
const h2 = s2.getBlock(d2.anchor.blockId);
|
|
190
|
-
if (!h2 || "list_item" !== h2.type) return false;
|
|
191
|
-
if ("" === n(h2)) {
|
|
192
|
-
const e2 = s2.transaction("input").setBlockType(d2.anchor.blockId, a("paragraph")).setSelection(d2).build();
|
|
193
|
-
return t2.dispatch(e2), true;
|
|
194
|
-
}
|
|
195
|
-
const u2 = i(), p2 = { listType: e(h2, "list_item") ? h2.attrs.listType : "bullet", indent: e(h2, "list_item") ? h2.attrs.indent : 0 };
|
|
196
|
-
"checklist" === p2.listType && (p2.checked = false);
|
|
197
|
-
const m2 = s2.transaction("input").splitBlock(d2.anchor.blockId, d2.anchor.offset, u2).setBlockType(u2, a("list_item"), p2).setSelection(o(u2, 0)).build();
|
|
198
|
-
return t2.dispatch(m2), true;
|
|
199
|
-
}
|
|
200
|
-
registerCheckboxClickHandler(t2) {
|
|
201
|
-
this.config.types.includes("checklist") && (this.checkboxClickHandler = (e2) => {
|
|
202
|
-
if (t2.isReadOnly() && !this.config.interactiveCheckboxes) return;
|
|
203
|
-
const n2 = e2.target;
|
|
204
|
-
if (!(n2 instanceof HTMLElement)) return;
|
|
205
|
-
const i2 = n2.closest(".notectl-list-item--checklist");
|
|
206
|
-
if (!i2) return;
|
|
207
|
-
const s2 = i2.getBoundingClientRect();
|
|
208
|
-
if (e2.clientX - s2.left >= 24) return;
|
|
209
|
-
e2.preventDefault();
|
|
210
|
-
const c2 = i2.getAttribute("data-block-id");
|
|
211
|
-
c2 && this.toggleChecked(t2, d(c2));
|
|
212
|
-
}, t2.getContainer().addEventListener("mousedown", this.checkboxClickHandler));
|
|
213
|
-
}
|
|
214
|
-
isListActive(t2, e2) {
|
|
215
|
-
if (c(t2.selection) || r(t2.selection)) return false;
|
|
216
|
-
const n2 = t2.getBlock(t2.selection.anchor.blockId);
|
|
217
|
-
return "list_item" === n2?.type && n2.attrs?.listType === e2;
|
|
218
|
-
}
|
|
219
|
-
getEnabledTypes() {
|
|
220
|
-
return g.filter((t2) => this.config.types.includes(t2.type));
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
export {
|
|
224
|
-
k as L,
|
|
225
|
-
p as a,
|
|
226
|
-
u as b
|
|
227
|
-
};
|
|
228
|
-
//# sourceMappingURL=index-CCyqQ0Dz.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-CCyqQ0Dz.mjs","sources":["../../src/editor/styles/list.ts","../../src/plugins/list/ListLocale.ts","../../src/plugins/list/ListPlugin.ts"],"sourcesContent":["/** Width of the list marker / checkbox area in pixels. */\nexport const LIST_MARKER_WIDTH = 24;\n\n/** List styles — bullet, ordered, checklist items. */\nexport const LIST_CSS = `\n/* List Wrappers — suppress native markers, we use ::before pseudo-elements */\n.notectl-list {\n\tlist-style: none;\n\tmargin: 0;\n\tpadding: 0;\n}\n\n/* Ordered List — each <ol> wrapper resets the counter */\n.notectl-list--ordered {\n\tcounter-reset: notectl-ordered;\n}\n\n/* List Items */\n.notectl-list-item {\n\tmargin: 0;\n\tpadding: 2px 0 2px ${LIST_MARKER_WIDTH}px;\n\tmin-height: 1.6em;\n\tposition: relative;\n}\n\n.notectl-list-item::before {\n\tposition: absolute;\n\tleft: 0;\n\tdisplay: inline-block;\n\twidth: ${LIST_MARKER_WIDTH}px;\n\ttext-align: center;\n}\n\n/* Bullet List */\n.notectl-list-item--bullet::before {\n\tcontent: '\\\\2022';\n\tcolor: var(--notectl-fg);\n}\n\n/* Ordered List — counter increment per item */\n.notectl-list-item--ordered {\n\tcounter-increment: notectl-ordered;\n}\n\n.notectl-list-item--ordered::before {\n\tcontent: counter(notectl-ordered) '.';\n\tcolor: var(--notectl-fg);\n\tfont-size: 14px;\n}\n\n/* Checklist */\n.notectl-list-item--checklist::before {\n\tcontent: '\\\\2610';\n\tfont-size: 16px;\n\tcolor: var(--notectl-fg-muted);\n\tcursor: pointer;\n}\n\n.notectl-list-item--checklist[data-checked=\"true\"]::before {\n\tcontent: '\\\\2611';\n\tcolor: var(--notectl-success);\n}\n\n.notectl-list-item--checklist[data-checked=\"true\"] {\n\tcolor: var(--notectl-fg-muted);\n\ttext-decoration: line-through;\n}\n`;\n","/**\n * Locale interface and default English locale for the ListPlugin.\n */\n\n// --- Locale Interface ---\n\nexport interface ListLocale {\n\treadonly bulletList: string;\n\treadonly numberedList: string;\n\treadonly checklist: string;\n}\n\n// --- Default English Locale ---\n\nexport const LIST_LOCALE_EN: ListLocale = {\n\tbulletList: 'Bullet List',\n\tnumberedList: 'Numbered List',\n\tchecklist: 'Checklist',\n};\n\n// --- German Locale ---\n\nexport const LIST_LOCALE_DE: ListLocale = {\n\tbulletList: 'Aufzählung',\n\tnumberedList: 'Nummerierte Liste',\n\tchecklist: 'Checkliste',\n};\n\n// --- Spanish Locale ---\n\nexport const LIST_LOCALE_ES: ListLocale = {\n\tbulletList: 'Lista con viñetas',\n\tnumberedList: 'Lista numerada',\n\tchecklist: 'Lista de verificación',\n};\n\n// --- French Locale ---\n\nexport const LIST_LOCALE_FR: ListLocale = {\n\tbulletList: 'Liste à puces',\n\tnumberedList: 'Liste numérotée',\n\tchecklist: 'Liste de contrôle',\n};\n\n// --- Chinese (Simplified) Locale ---\n\nexport const LIST_LOCALE_ZH: ListLocale = {\n\tbulletList: '无序列表',\n\tnumberedList: '有序列表',\n\tchecklist: '清单',\n};\n\n// --- Russian Locale ---\n\nexport const LIST_LOCALE_RU: ListLocale = {\n\tbulletList: 'Маркированный список',\n\tnumberedList: 'Нумерованный список',\n\tchecklist: 'Чек-лист',\n};\n\n// --- Arabic Locale ---\n\nexport const LIST_LOCALE_AR: ListLocale = {\n\tbulletList: 'قائمة نقطية',\n\tnumberedList: 'قائمة مرقمة',\n\tchecklist: 'قائمة تحقق',\n};\n\n// --- Hindi Locale ---\n\nexport const LIST_LOCALE_HI: ListLocale = {\n\tbulletList: 'बुलेट सूची',\n\tnumberedList: 'क्रमांकित सूची',\n\tchecklist: 'चेकलिस्ट',\n};\n\n// --- Locale Map ---\n\nexport const LIST_LOCALES: Record<string, ListLocale> = {\n\ten: LIST_LOCALE_EN,\n\tde: LIST_LOCALE_DE,\n\tes: LIST_LOCALE_ES,\n\tfr: LIST_LOCALE_FR,\n\tzh: LIST_LOCALE_ZH,\n\tru: LIST_LOCALE_RU,\n\tar: LIST_LOCALE_AR,\n\thi: LIST_LOCALE_HI,\n};\n","/**\n * ListPlugin: registers ordered, unordered, and checklist block types\n * with NodeSpecs, toggle commands, indent/outdent (Tab/Shift-Tab),\n * input rules, and toolbar buttons.\n *\n * List items are modeled as flat blocks with a `listType` and `indent` attribute,\n * allowing simple nesting representation without deep tree structures.\n */\n\nimport { LIST_CSS, LIST_MARKER_WIDTH } from '../../editor/styles/list.js';\nimport { resolvePluginLocale } from '../../i18n/resolvePluginLocale.js';\nimport { isNodeOfType } from '../../model/AttrRegistry.js';\nimport { generateBlockId, getBlockText } from '../../model/Document.js';\nimport { createBlockElement } from '../../model/NodeSpec.js';\nimport {\n\tcreateCollapsedSelection,\n\tisCollapsed,\n\tisGapCursor,\n\tisNodeSelection,\n} from '../../model/Selection.js';\nimport { type BlockId, blockId, nodeType } from '../../model/TypeBrands.js';\nimport type { EditorState } from '../../state/EditorState.js';\nimport { setStyleProperty } from '../../style/StyleRuntime.js';\nimport type { Plugin, PluginContext } from '../Plugin.js';\nimport { LIST_LOCALES, type ListLocale } from './ListLocale.js';\n\n// --- Attribute Registry Augmentation ---\n\nexport type ListType = 'bullet' | 'ordered' | 'checklist';\n\ndeclare module '../../model/AttrRegistry.js' {\n\tinterface NodeAttrRegistry {\n\t\tlist_item: { listType: ListType; indent: number; checked: boolean };\n\t}\n}\n\n// --- Configuration ---\n\nexport interface ListConfig {\n\t/** Which list types to enable. Defaults to all. */\n\treadonly types: readonly ListType[];\n\t/** Maximum indent depth. Defaults to 4. */\n\treadonly maxIndent: number;\n\t/** When true, a separator is rendered after the last list toolbar item. */\n\treadonly separatorAfter?: boolean;\n\t/**\n\t * When true, checklist checkboxes remain interactive even in read-only mode.\n\t * Defaults to false (checkboxes are fully read-only).\n\t */\n\treadonly interactiveCheckboxes?: boolean;\n\treadonly locale?: ListLocale;\n}\n\nconst DEFAULT_CONFIG: ListConfig = {\n\ttypes: ['bullet', 'ordered', 'checklist'],\n\tmaxIndent: 4,\n};\n\n// --- List Type Metadata ---\n\ninterface ListTypeDefinition {\n\treadonly type: ListType;\n\treadonly label: string;\n\treadonly icon: string;\n\treadonly inputPattern: RegExp;\n\treadonly inputPrefix: string;\n}\n\nconst BULLET_LIST_ICON =\n\t'<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M4 10.5c-.83 0-1.5.67-1.5 1.5s.67 1.5 1.5 1.5 1.5-.67 1.5-1.5-.67-1.5-1.5-1.5zm0-6c-.83 0-1.5.67-1.5 1.5S3.17 7.5 4 7.5 5.5 6.83 5.5 6 4.83 4.5 4 4.5zm0 12c-.83 0-1.5.68-1.5 1.5s.68 1.5 1.5 1.5 1.5-.68 1.5-1.5-.67-1.5-1.5-1.5zM7 19h14v-2H7v2zm0-6h14v-2H7v2zm0-8v2h14V5H7z\"/></svg>';\nconst NUMBERED_LIST_ICON =\n\t'<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M2 17h2v.5H3v1h1v.5H2v1h3v-4H2v1zm1-9h1V4H2v1h1v3zm-1 3h1.8L2 13.1v.9h3v-1H3.2L5 10.9V10H2v1zm5-6v2h14V5H7zm0 14h14v-2H7v2zm0-6h14v-2H7v2z\"/></svg>';\nconst CHECKLIST_ICON =\n\t'<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M22 7h-9v2h9V7zm0 8h-9v2h9v-2zM5.54 11L2 7.46l1.41-1.41 2.12 2.12 4.24-4.24 1.41 1.41L5.54 11zm0 8L2 15.46l1.41-1.41 2.12 2.12 4.24-4.24 1.41 1.41L5.54 19z\"/></svg>';\n\nconst LIST_TYPE_DEFINITIONS: readonly ListTypeDefinition[] = [\n\t{\n\t\ttype: 'bullet',\n\t\tlabel: 'Bullet List',\n\t\ticon: BULLET_LIST_ICON,\n\t\tinputPattern: /^[-*] $/,\n\t\tinputPrefix: '- ',\n\t},\n\t{\n\t\ttype: 'ordered',\n\t\tlabel: 'Numbered List',\n\t\ticon: NUMBERED_LIST_ICON,\n\t\tinputPattern: /^\\d+\\. $/,\n\t\tinputPrefix: '1. ',\n\t},\n\t{\n\t\ttype: 'checklist',\n\t\tlabel: 'Checklist',\n\t\ticon: CHECKLIST_ICON,\n\t\tinputPattern: /^\\[[ x]] $/,\n\t\tinputPrefix: '[ ] ',\n\t},\n];\n\n// --- Plugin ---\n\nexport class ListPlugin implements Plugin {\n\treadonly id = 'list';\n\treadonly name = 'List';\n\treadonly priority = 35;\n\n\tprivate readonly config: ListConfig;\n\tprivate locale!: ListLocale;\n\tprivate context: PluginContext | null = null;\n\tprivate checkboxClickHandler: ((e: MouseEvent) => void) | null = null;\n\n\tconstructor(config?: Partial<ListConfig>) {\n\t\tthis.config = { ...DEFAULT_CONFIG, ...config };\n\t}\n\n\tinit(context: PluginContext): void {\n\t\tthis.context = context;\n\t\tthis.locale = resolvePluginLocale(LIST_LOCALES, context, this.config.locale);\n\t\tcontext.registerStyleSheet(LIST_CSS);\n\t\tthis.registerNodeSpec(context);\n\t\tthis.registerCommands(context);\n\t\tthis.registerKeymaps(context);\n\t\tthis.registerInputRules(context);\n\t\tthis.registerToolbarItems(context);\n\t\tthis.registerCheckboxClickHandler(context);\n\t}\n\n\tdestroy(): void {\n\t\tif (this.checkboxClickHandler && this.context) {\n\t\t\tconst container: HTMLElement = this.context.getContainer();\n\t\t\tcontainer.removeEventListener('mousedown', this.checkboxClickHandler);\n\t\t}\n\t\tthis.checkboxClickHandler = null;\n\t\tthis.context = null;\n\t}\n\n\tprivate registerNodeSpec(context: PluginContext): void {\n\t\tcontext.registerNodeSpec({\n\t\t\ttype: 'list_item',\n\t\t\tgroup: 'block',\n\t\t\tcontent: { allow: ['text'] },\n\t\t\tattrs: {\n\t\t\t\tlistType: { default: 'bullet' },\n\t\t\t\tindent: { default: 0 },\n\t\t\t\tchecked: { default: false },\n\t\t\t},\n\t\t\ttoDOM(node) {\n\t\t\t\tconst listType = node.attrs?.listType ?? 'bullet';\n\t\t\t\tconst indent = node.attrs?.indent ?? 0;\n\t\t\t\tconst checked = node.attrs?.checked ?? false;\n\n\t\t\t\tconst li = createBlockElement('li', node.id);\n\t\t\t\tli.setAttribute('role', 'listitem');\n\t\t\t\tli.setAttribute('data-list-type', listType);\n\t\t\t\tli.setAttribute('data-indent', String(indent));\n\t\t\t\tli.className = `notectl-list-item notectl-list-item--${listType}`;\n\n\t\t\t\tif (indent > 0) {\n\t\t\t\t\tsetStyleProperty(li, 'marginLeft', `${indent * LIST_MARKER_WIDTH}px`);\n\t\t\t\t}\n\n\t\t\t\tif (listType === 'checklist') {\n\t\t\t\t\tli.setAttribute('data-checked', String(checked));\n\t\t\t\t\tli.setAttribute('aria-checked', String(checked));\n\t\t\t\t}\n\t\t\t\tli.setAttribute('aria-level', String(indent + 1));\n\n\t\t\t\treturn li;\n\t\t\t},\n\t\t\twrapper(node) {\n\t\t\t\tconst listType = node.attrs?.listType ?? 'bullet';\n\t\t\t\tconst tag = listType === 'ordered' ? 'ol' : 'ul';\n\t\t\t\treturn {\n\t\t\t\t\ttag,\n\t\t\t\t\tkey: `list-${listType}`,\n\t\t\t\t\tclassName: `notectl-list notectl-list--${listType}`,\n\t\t\t\t\tattrs: { role: 'list' },\n\t\t\t\t};\n\t\t\t},\n\t\t\ttoHTML(node, content) {\n\t\t\t\tconst listType: string = (node.attrs?.listType as string) ?? 'bullet';\n\t\t\t\tconst checked: boolean = (node.attrs?.checked as boolean) ?? false;\n\n\t\t\t\tif (listType === 'checklist') {\n\t\t\t\t\tconst checkedAttr: string = checked ? ' checked' : '';\n\t\t\t\t\tconst ariaChecked: string = String(checked);\n\t\t\t\t\treturn (\n\t\t\t\t\t\t`<li role=\"checkbox\" aria-checked=\"${ariaChecked}\">` +\n\t\t\t\t\t\t`<input type=\"checkbox\" disabled${checkedAttr}>` +\n\t\t\t\t\t\t`${content || '<br>'}</li>`\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn `<li>${content || '<br>'}</li>`;\n\t\t\t},\n\t\t\tparseHTML: [{ tag: 'li' }],\n\t\t\tsanitize: {\n\t\t\t\ttags: ['ul', 'ol', 'li', 'input'],\n\t\t\t\tattrs: ['type', 'disabled', 'checked', 'role', 'aria-checked'],\n\t\t\t},\n\t\t});\n\t}\n\n\tprivate registerCommands(context: PluginContext): void {\n\t\tconst enabledTypes = this.getEnabledTypes();\n\n\t\tfor (const def of enabledTypes) {\n\t\t\tcontext.registerCommand(`toggleList:${def.type}`, () => {\n\t\t\t\treturn this.toggleList(context, def.type);\n\t\t\t});\n\t\t}\n\n\t\tcontext.registerCommand('indentListItem', () => {\n\t\t\treturn this.indent(context);\n\t\t});\n\n\t\tcontext.registerCommand('outdentListItem', () => {\n\t\t\treturn this.outdent(context);\n\t\t});\n\n\t\tif (this.config.types.includes('checklist')) {\n\t\t\tcontext.registerCommand('toggleChecklistItem', () => this.toggleChecked(context), {\n\t\t\t\treadonlyAllowed: true,\n\t\t\t});\n\t\t}\n\t}\n\n\tprivate registerKeymaps(context: PluginContext): void {\n\t\tcontext.registerKeymap({\n\t\t\tEnter: () => this.handleEnter(context),\n\t\t\tBackspace: () => this.handleBackspace(context),\n\t\t\tTab: () => this.indent(context),\n\t\t\t'Shift-Tab': () => this.outdent(context),\n\t\t});\n\t}\n\n\tprivate registerInputRules(context: PluginContext): void {\n\t\tconst enabledTypes = this.getEnabledTypes();\n\n\t\tfor (const def of enabledTypes) {\n\t\t\tcontext.registerInputRule({\n\t\t\t\tpattern: def.inputPattern,\n\t\t\t\thandler: (state, match, start, _end) => {\n\t\t\t\t\tconst sel = state.selection;\n\t\t\t\t\tif (isNodeSelection(sel) || isGapCursor(sel)) return null;\n\t\t\t\t\tif (!isCollapsed(sel)) return null;\n\n\t\t\t\t\tconst block = state.getBlock(sel.anchor.blockId);\n\t\t\t\t\tif (!block || block.type !== 'paragraph') return null;\n\n\t\t\t\t\tconst matchStr = match[0] ?? '';\n\t\t\t\t\tconst matchLen = matchStr.length;\n\t\t\t\t\tconst attrs: Record<string, string | number | boolean> = {\n\t\t\t\t\t\tlistType: def.type,\n\t\t\t\t\t\tindent: 0,\n\t\t\t\t\t};\n\t\t\t\t\tif (def.type === 'checklist') {\n\t\t\t\t\t\tattrs.checked = matchStr.includes('[x]');\n\t\t\t\t\t}\n\n\t\t\t\t\treturn state\n\t\t\t\t\t\t.transaction('input')\n\t\t\t\t\t\t.deleteTextAt(sel.anchor.blockId, start, start + matchLen)\n\t\t\t\t\t\t.setBlockType(sel.anchor.blockId, nodeType('list_item'), attrs)\n\t\t\t\t\t\t.setSelection(createCollapsedSelection(sel.anchor.blockId, 0))\n\t\t\t\t\t\t.build();\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\t}\n\n\tprivate getListLabel(type: ListType): string {\n\t\tconst labels: Record<ListType, string> = {\n\t\t\tbullet: this.locale.bulletList,\n\t\t\tordered: this.locale.numberedList,\n\t\t\tchecklist: this.locale.checklist,\n\t\t};\n\t\treturn labels[type];\n\t}\n\n\tprivate registerToolbarItems(context: PluginContext): void {\n\t\tconst enabledTypes = this.getEnabledTypes();\n\t\tconst lastType = enabledTypes.at(-1);\n\n\t\tfor (const def of enabledTypes) {\n\t\t\tcontext.registerToolbarItem({\n\t\t\t\tid: `list-${def.type}`,\n\t\t\t\tgroup: 'block',\n\t\t\t\ticon: def.icon,\n\t\t\t\tlabel: this.getListLabel(def.type),\n\t\t\t\tcommand: `toggleList:${def.type}`,\n\t\t\t\tpriority: def.type === 'bullet' ? 70 : def.type === 'ordered' ? 71 : 72,\n\t\t\t\tseparatorAfter: this.config.separatorAfter && def === lastType,\n\t\t\t\tisActive: (state) => this.isListActive(state, def.type),\n\t\t\t});\n\t\t}\n\t}\n\n\t// --- Command Implementations ---\n\n\tprivate toggleList(context: PluginContext, listType: ListType): boolean {\n\t\tconst state = context.getState();\n\t\tconst sel = state.selection;\n\t\tif (isNodeSelection(sel) || isGapCursor(sel)) return false;\n\t\tconst block = state.getBlock(sel.anchor.blockId);\n\t\tif (!block) return false;\n\n\t\t// If already this list type, convert back to paragraph\n\t\tif (block.type === 'list_item' && block.attrs?.listType === listType) {\n\t\t\tconst tr = state\n\t\t\t\t.transaction('command')\n\t\t\t\t.setBlockType(sel.anchor.blockId, nodeType('paragraph'))\n\t\t\t\t.setSelection(sel)\n\t\t\t\t.build();\n\t\t\tcontext.dispatch(tr);\n\t\t\treturn true;\n\t\t}\n\n\t\t// Convert to list item\n\t\tconst attrs: Record<string, string | number | boolean> = {\n\t\t\tlistType,\n\t\t\tindent: isNodeOfType(block, 'list_item') ? block.attrs.indent : 0,\n\t\t};\n\t\tif (listType === 'checklist') {\n\t\t\tattrs.checked = false;\n\t\t}\n\n\t\tconst tr = state\n\t\t\t.transaction('command')\n\t\t\t.setBlockType(sel.anchor.blockId, nodeType('list_item'), attrs)\n\t\t\t.setSelection(sel)\n\t\t\t.build();\n\t\tcontext.dispatch(tr);\n\t\treturn true;\n\t}\n\n\tprivate indent(context: PluginContext): boolean {\n\t\tconst state = context.getState();\n\t\tif (isNodeSelection(state.selection) || isGapCursor(state.selection)) return false;\n\t\tconst block = state.getBlock(state.selection.anchor.blockId);\n\t\tif (!block || !isNodeOfType(block, 'list_item')) return false;\n\n\t\tif (block.attrs.indent >= this.config.maxIndent) return false;\n\n\t\treturn this.setIndent(context, state, block.attrs.indent + 1);\n\t}\n\n\tprivate outdent(context: PluginContext): boolean {\n\t\tconst state = context.getState();\n\t\tif (isNodeSelection(state.selection) || isGapCursor(state.selection)) return false;\n\t\tconst block = state.getBlock(state.selection.anchor.blockId);\n\t\tif (!block || !isNodeOfType(block, 'list_item')) return false;\n\n\t\tif (block.attrs.indent <= 0) return false;\n\n\t\treturn this.setIndent(context, state, block.attrs.indent - 1);\n\t}\n\n\tprivate setIndent(context: PluginContext, state: EditorState, indent: number): boolean {\n\t\tconst sel = state.selection;\n\t\tif (isNodeSelection(sel) || isGapCursor(sel)) return false;\n\t\tconst block = state.getBlock(sel.anchor.blockId);\n\t\tif (!block) return false;\n\n\t\tconst attrs = { ...block.attrs, indent } as Record<string, string | number | boolean>;\n\n\t\tconst tr = state\n\t\t\t.transaction('command')\n\t\t\t.setBlockType(sel.anchor.blockId, nodeType('list_item'), attrs)\n\t\t\t.setSelection(sel)\n\t\t\t.build();\n\t\tcontext.dispatch(tr);\n\t\treturn true;\n\t}\n\n\tprivate toggleChecked(context: PluginContext, targetId?: BlockId): boolean {\n\t\tif (context.isReadOnly() && !this.config.interactiveCheckboxes) return false;\n\n\t\tconst state = context.getState();\n\t\tconst bid: BlockId | null =\n\t\t\ttargetId ??\n\t\t\t(isNodeSelection(state.selection) || isGapCursor(state.selection)\n\t\t\t\t? null\n\t\t\t\t: state.selection.anchor.blockId);\n\t\tif (!bid) return false;\n\n\t\tconst block = state.getBlock(bid);\n\t\tif (!block || block.type !== 'list_item' || block.attrs?.listType !== 'checklist') {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst checked: boolean = !block.attrs?.checked;\n\t\tconst attrs = { ...block.attrs, checked } as Record<string, string | number | boolean>;\n\n\t\tconst tr = state\n\t\t\t.transaction('command')\n\t\t\t.setBlockType(bid, nodeType('list_item'), attrs)\n\t\t\t.setSelection(state.selection)\n\t\t\t.build();\n\t\tcontext.dispatch(tr);\n\t\treturn true;\n\t}\n\n\t/**\n\t * Handles Backspace at the start of a list item.\n\t * Converts the list item back to a paragraph, preserving text.\n\t */\n\tprivate handleBackspace(context: PluginContext): boolean {\n\t\tconst state = context.getState();\n\t\tconst sel = state.selection;\n\t\tif (isNodeSelection(sel) || isGapCursor(sel)) return false;\n\t\tif (!isCollapsed(sel)) return false;\n\n\t\tconst block = state.getBlock(sel.anchor.blockId);\n\t\tif (!block || block.type !== 'list_item') return false;\n\t\tif (sel.anchor.offset !== 0) return false;\n\n\t\tconst tr = state\n\t\t\t.transaction('input')\n\t\t\t.setBlockType(sel.anchor.blockId, nodeType('paragraph'))\n\t\t\t.setSelection(sel)\n\t\t\t.build();\n\t\tcontext.dispatch(tr);\n\t\treturn true;\n\t}\n\n\t/**\n\t * Handles Enter inside a list item.\n\t * Empty item → exit list (convert to paragraph).\n\t * Non-empty item → split and create a new list item with the same type.\n\t */\n\tprivate handleEnter(context: PluginContext): boolean {\n\t\tconst state = context.getState();\n\t\tconst sel = state.selection;\n\t\tif (isNodeSelection(sel) || isGapCursor(sel)) return false;\n\t\tif (!isCollapsed(sel)) return false;\n\n\t\tconst block = state.getBlock(sel.anchor.blockId);\n\t\tif (!block || block.type !== 'list_item') return false;\n\n\t\tconst text = getBlockText(block);\n\n\t\tif (text === '') {\n\t\t\t// Empty list item → convert to paragraph (exit list)\n\t\t\tconst tr = state\n\t\t\t\t.transaction('input')\n\t\t\t\t.setBlockType(sel.anchor.blockId, nodeType('paragraph'))\n\t\t\t\t.setSelection(sel)\n\t\t\t\t.build();\n\t\t\tcontext.dispatch(tr);\n\t\t\treturn true;\n\t\t}\n\n\t\t// Non-empty → split block and set new block to same list type\n\t\tconst newBlockId = generateBlockId();\n\t\tconst attrs: Record<string, string | number | boolean> = {\n\t\t\tlistType: isNodeOfType(block, 'list_item') ? block.attrs.listType : 'bullet',\n\t\t\tindent: isNodeOfType(block, 'list_item') ? block.attrs.indent : 0,\n\t\t};\n\t\tif (attrs.listType === 'checklist') {\n\t\t\tattrs.checked = false;\n\t\t}\n\n\t\tconst tr = state\n\t\t\t.transaction('input')\n\t\t\t.splitBlock(sel.anchor.blockId, sel.anchor.offset, newBlockId)\n\t\t\t.setBlockType(newBlockId, nodeType('list_item'), attrs)\n\t\t\t.setSelection(createCollapsedSelection(newBlockId, 0))\n\t\t\t.build();\n\t\tcontext.dispatch(tr);\n\t\treturn true;\n\t}\n\n\t// --- Checkbox Click Handling ---\n\n\tprivate registerCheckboxClickHandler(context: PluginContext): void {\n\t\tif (!this.config.types.includes('checklist')) return;\n\n\t\tthis.checkboxClickHandler = (e: MouseEvent) => {\n\t\t\tif (context.isReadOnly() && !this.config.interactiveCheckboxes) return;\n\n\t\t\tconst target: EventTarget | null = e.target;\n\t\t\tif (!(target instanceof HTMLElement)) return;\n\n\t\t\tconst li: HTMLElement | null = target.closest('.notectl-list-item--checklist');\n\t\t\tif (!li) return;\n\n\t\t\tconst rect: DOMRect = li.getBoundingClientRect();\n\t\t\tif (e.clientX - rect.left >= LIST_MARKER_WIDTH) return;\n\n\t\t\te.preventDefault();\n\n\t\t\tconst bid: string | null = li.getAttribute('data-block-id');\n\t\t\tif (!bid) return;\n\n\t\t\tthis.toggleChecked(context, blockId(bid));\n\t\t};\n\n\t\tconst container: HTMLElement = context.getContainer();\n\t\tcontainer.addEventListener('mousedown', this.checkboxClickHandler);\n\t}\n\n\t// --- Helpers ---\n\n\tprivate isListActive(state: EditorState, listType: ListType): boolean {\n\t\tif (isNodeSelection(state.selection) || isGapCursor(state.selection)) return false;\n\t\tconst block = state.getBlock(state.selection.anchor.blockId);\n\t\treturn block?.type === 'list_item' && block.attrs?.listType === listType;\n\t}\n\n\tprivate getEnabledTypes(): readonly ListTypeDefinition[] {\n\t\treturn LIST_TYPE_DEFINITIONS.filter((def) => this.config.types.includes(def.type));\n\t}\n}\n"],"names":["LIST_LOCALE_EN","bulletList","numberedList","checklist","LIST_LOCALES","en","de","es","fr","zh","ru","ar","hi","DEFAULT_CONFIG","types","maxIndent","LIST_TYPE_DEFINITIONS","type","label","icon","inputPattern","inputPrefix","ListPlugin","id","name","priority","config","locale","context","checkboxClickHandler","this","resolvePluginLocale","registerStyleSheet","registerNodeSpec","registerCommands","registerKeymaps","registerInputRules","registerToolbarItems","registerCheckboxClickHandler","getContainer","removeEventListener","group","content","allow","attrs","listType","default","indent","checked","node","li","createBlockElement","setAttribute","String","className","setStyleProperty","tag","key","role","checkedAttr","parseHTML","sanitize","tags","enabledTypes","getEnabledTypes","def","registerCommand","toggleList","outdent","includes","toggleChecked","readonlyAllowed","registerKeymap","Enter","handleEnter","Backspace","handleBackspace","Tab","registerInputRule","pattern","handler","state","match","start","_end","sel","selection","isNodeSelection","isGapCursor","isCollapsed","block","getBlock","anchor","blockId","matchStr","matchLen","length","transaction","deleteTextAt","setBlockType","nodeType","setSelection","createCollapsedSelection","build","bullet","ordered","lastType","at","registerToolbarItem","getListLabel","command","separatorAfter","isActive","isListActive","getState","tr","dispatch","isNodeOfType","setIndent","targetId","isReadOnly","interactiveCheckboxes","bid","offset","getBlockText","newBlockId","generateBlockId","splitBlock","e","target","HTMLElement","closest","rect","getBoundingClientRect","clientX","left","preventDefault","getAttribute","addEventListener","filter"],"mappings":"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"}
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import { r as e } from "./resolvePluginLocale-B4w1OkPy.mjs";
|
|
2
|
-
import { m as t } from "./TypeBrands-C09nE2qO.mjs";
|
|
3
|
-
import { f as i } from "./ToolbarItem-BpZggUGo.mjs";
|
|
4
|
-
import { e as a, b as r } from "./MarkCommands-6RUJ4L3r.mjs";
|
|
5
|
-
const o = { boldLabel: "Bold", italicLabel: "Italic", underlineLabel: "Underline" }, n = { en: o, de: { boldLabel: "Fett", italicLabel: "Kursiv", underlineLabel: "Unterstrichen" }, es: { boldLabel: "Negrita", italicLabel: "Cursiva", underlineLabel: "Subrayado" }, fr: { boldLabel: "Gras", italicLabel: "Italique", underlineLabel: "Souligné" }, zh: { boldLabel: "粗体", italicLabel: "斜体", underlineLabel: "下划线" }, ru: { boldLabel: "Жирный", italicLabel: "Курсив", underlineLabel: "Подчёркнутый" }, ar: { boldLabel: "غامق", italicLabel: "مائل", underlineLabel: "تحته خط" }, hi: { boldLabel: "बोल्ड", italicLabel: "इटैलिक", underlineLabel: "अंडरलाइन" } }, s = { bold: true, italic: true, underline: true }, l = [{ type: "bold", configKey: "bold", rank: 0, tag: "strong", label: "Bold", icon: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M15.6 10.79c.97-.67 1.65-1.77 1.65-2.79 0-2.26-1.75-4-4-4H7v14h7.04c2.09 0 3.71-1.7 3.71-3.79 0-1.52-.86-2.82-2.15-3.42zM10 6.5h3c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5h-3v-3zm3.5 9H10v-3h3.5c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5z"/></svg>', keyBinding: "Mod-B", toHTMLString: (e2) => `<strong>${e2}</strong>`, parseHTML: [{ tag: "strong" }, { tag: "b", getAttrs: (e2) => {
|
|
6
|
-
const t2 = e2.style.fontWeight;
|
|
7
|
-
return "normal" !== t2 && "400" !== t2 && {};
|
|
8
|
-
} }, { tag: "span", getAttrs: (e2) => {
|
|
9
|
-
const t2 = e2.style.fontWeight;
|
|
10
|
-
if (!t2) return false;
|
|
11
|
-
if ("bold" === t2) return {};
|
|
12
|
-
const i2 = Number.parseInt(t2, 10);
|
|
13
|
-
return !Number.isNaN(i2) && i2 >= 700 && {};
|
|
14
|
-
} }], sanitize: { tags: ["strong", "b"] } }, { type: "italic", configKey: "italic", rank: 1, tag: "em", label: "Italic", icon: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M10 4v3h2.21l-3.42 8H6v3h8v-3h-2.21l3.42-8H18V4z"/></svg>', keyBinding: "Mod-I", toHTMLString: (e2) => `<em>${e2}</em>`, parseHTML: [{ tag: "em" }, { tag: "i" }, { tag: "span", getAttrs: (e2) => "italic" === e2.style.fontStyle && {} }], sanitize: { tags: ["em", "i"] } }, { type: "underline", configKey: "underline", rank: 2, tag: "u", label: "Underline", icon: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 17c3.31 0 6-2.69 6-6V3h-2.5v8c0 1.93-1.57 3.5-3.5 3.5S8.5 12.93 8.5 11V3H6v8c0 3.31 2.69 6 6 6zm-7 2v2h14v-2H5z"/></svg>', keyBinding: "Mod-U", toHTMLString: (e2) => `<u>${e2}</u>`, parseHTML: [{ tag: "u" }, { tag: "span", getAttrs: (e2) => !!e2.style.textDecoration.includes("underline") && {} }], sanitize: { tags: ["u"] } }];
|
|
15
|
-
class g {
|
|
16
|
-
id = "text-formatting";
|
|
17
|
-
name = "Text Formatting";
|
|
18
|
-
priority = 20;
|
|
19
|
-
config;
|
|
20
|
-
locale;
|
|
21
|
-
constructor(e2) {
|
|
22
|
-
this.config = { ...s, ...e2 };
|
|
23
|
-
}
|
|
24
|
-
init(t2) {
|
|
25
|
-
this.locale = e(n, t2, this.config.locale);
|
|
26
|
-
const i2 = l.filter((e2) => this.config[e2.configKey]), a2 = i2.filter((e2) => this.isToolbarVisible(e2.configKey)).at(-1);
|
|
27
|
-
for (const e2 of i2) {
|
|
28
|
-
const i3 = this.config.separatorAfter && e2 === a2;
|
|
29
|
-
this.registerMark(t2, e2, i3);
|
|
30
|
-
}
|
|
31
|
-
this.registerKeymaps(t2, i2), this.registerDisabledToolbarItems(t2);
|
|
32
|
-
}
|
|
33
|
-
registerMark(e2, o2, n2) {
|
|
34
|
-
const s2 = c(o2.type), l2 = this.isToolbarVisible(o2.configKey);
|
|
35
|
-
if (e2.registerMarkSpec({ type: o2.type, rank: o2.rank, toDOM: () => document.createElement(o2.tag), toHTMLString: (e3, t2) => o2.toHTMLString(t2), parseHTML: o2.parseHTML, sanitize: o2.sanitize }), e2.registerCommand(s2, () => {
|
|
36
|
-
const i2 = a(e2.getState(), t(o2.type));
|
|
37
|
-
return !!i2 && (e2.dispatch(i2), true);
|
|
38
|
-
}), l2) {
|
|
39
|
-
const a2 = this.getMarkLabel(o2.type);
|
|
40
|
-
e2.registerToolbarItem({ id: o2.type, group: "format", icon: o2.icon, label: a2, tooltip: `${a2} (${i(o2.keyBinding)})`, command: s2, priority: 10 * o2.rank + 10, separatorAfter: n2, isActive: (e3) => r(e3, t(o2.type)) });
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
registerKeymaps(e2, t2) {
|
|
44
|
-
const i2 = {};
|
|
45
|
-
for (const a2 of t2) {
|
|
46
|
-
const t3 = c(a2.type);
|
|
47
|
-
i2[a2.keyBinding] = () => e2.executeCommand(t3);
|
|
48
|
-
}
|
|
49
|
-
Object.keys(i2).length > 0 && e2.registerKeymap(i2);
|
|
50
|
-
}
|
|
51
|
-
registerDisabledToolbarItems(e2) {
|
|
52
|
-
if (this.config.toolbar) for (const t2 of l) {
|
|
53
|
-
const i2 = this.config[t2.configKey], a2 = this.config.toolbar[t2.configKey] ?? true;
|
|
54
|
-
!i2 && a2 && e2.registerToolbarItem({ id: t2.type, group: "format", icon: t2.icon, label: this.getMarkLabel(t2.type), command: c(t2.type), priority: 10 * t2.rank + 10, isEnabled: () => false });
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
getMarkLabel(e2) {
|
|
58
|
-
const t2 = `${e2}Label`;
|
|
59
|
-
return this.locale[t2];
|
|
60
|
-
}
|
|
61
|
-
isToolbarVisible(e2) {
|
|
62
|
-
return !this.config.toolbar || (this.config.toolbar[e2] ?? true);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
function c(e2) {
|
|
66
|
-
return `toggle${e2.charAt(0).toUpperCase()}${e2.slice(1)}`;
|
|
67
|
-
}
|
|
68
|
-
export {
|
|
69
|
-
g as T,
|
|
70
|
-
n as a,
|
|
71
|
-
o as b
|
|
72
|
-
};
|
|
73
|
-
//# sourceMappingURL=index-Cd3uJLP3.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-Cd3uJLP3.mjs","sources":["../../src/plugins/text-formatting/TextFormattingLocale.ts","../../src/plugins/text-formatting/TextFormattingPlugin.ts"],"sourcesContent":["/**\n * Locale interface and default English locale for the TextFormattingPlugin.\n */\n\n// --- Locale Interface ---\n\nexport interface TextFormattingLocale {\n\treadonly boldLabel: string;\n\treadonly italicLabel: string;\n\treadonly underlineLabel: string;\n}\n\n// --- Default English Locale ---\n\nexport const TEXT_FORMATTING_LOCALE_EN: TextFormattingLocale = {\n\tboldLabel: 'Bold',\n\titalicLabel: 'Italic',\n\tunderlineLabel: 'Underline',\n};\n\n// --- German Locale ---\n\nexport const TEXT_FORMATTING_LOCALE_DE: TextFormattingLocale = {\n\tboldLabel: 'Fett',\n\titalicLabel: 'Kursiv',\n\tunderlineLabel: 'Unterstrichen',\n};\n\n// --- Spanish Locale ---\n\nexport const TEXT_FORMATTING_LOCALE_ES: TextFormattingLocale = {\n\tboldLabel: 'Negrita',\n\titalicLabel: 'Cursiva',\n\tunderlineLabel: 'Subrayado',\n};\n\n// --- French Locale ---\n\nexport const TEXT_FORMATTING_LOCALE_FR: TextFormattingLocale = {\n\tboldLabel: 'Gras',\n\titalicLabel: 'Italique',\n\tunderlineLabel: 'Souligné',\n};\n\n// --- Chinese (Simplified) Locale ---\n\nexport const TEXT_FORMATTING_LOCALE_ZH: TextFormattingLocale = {\n\tboldLabel: '粗体',\n\titalicLabel: '斜体',\n\tunderlineLabel: '下划线',\n};\n\n// --- Russian Locale ---\n\nexport const TEXT_FORMATTING_LOCALE_RU: TextFormattingLocale = {\n\tboldLabel: 'Жирный',\n\titalicLabel: 'Курсив',\n\tunderlineLabel: 'Подчёркнутый',\n};\n\n// --- Arabic Locale ---\n\nexport const TEXT_FORMATTING_LOCALE_AR: TextFormattingLocale = {\n\tboldLabel: 'غامق',\n\titalicLabel: 'مائل',\n\tunderlineLabel: 'تحته خط',\n};\n\n// --- Hindi Locale ---\n\nexport const TEXT_FORMATTING_LOCALE_HI: TextFormattingLocale = {\n\tboldLabel: 'बोल्ड',\n\titalicLabel: 'इटैलिक',\n\tunderlineLabel: 'अंडरलाइन',\n};\n\n// --- Locale Map ---\n\nexport const TEXT_FORMATTING_LOCALES: Record<string, TextFormattingLocale> = {\n\ten: TEXT_FORMATTING_LOCALE_EN,\n\tde: TEXT_FORMATTING_LOCALE_DE,\n\tes: TEXT_FORMATTING_LOCALE_ES,\n\tfr: TEXT_FORMATTING_LOCALE_FR,\n\tzh: TEXT_FORMATTING_LOCALE_ZH,\n\tru: TEXT_FORMATTING_LOCALE_RU,\n\tar: TEXT_FORMATTING_LOCALE_AR,\n\thi: TEXT_FORMATTING_LOCALE_HI,\n};\n","/**\n * TextFormattingPlugin: registers inline marks (bold, italic, underline)\n * with their MarkSpecs, toggle commands, keyboard shortcuts, and toolbar items.\n *\n * This plugin is data-driven — each mark type is defined declaratively and\n * all registrations (MarkSpec, command, keymap, toolbar item) are derived\n * from the same definition.\n *\n * Supports two separate config dimensions:\n * - Feature config (bold/italic/underline): controls whether the mark is\n * registered in the schema. When disabled, the keyboard shortcut does nothing.\n * - Toolbar config: controls whether the toolbar button is visible.\n * When a feature is disabled but toolbar is enabled, the button renders as disabled.\n */\n\nimport { isMarkActive, toggleMark } from '../../commands/Commands.js';\nimport { resolvePluginLocale } from '../../i18n/resolvePluginLocale.js';\nimport type { ParseRule } from '../../model/ParseRule.js';\nimport type { SanitizeConfig } from '../../model/SanitizeConfig.js';\nimport { markType as mkType } from '../../model/TypeBrands.js';\nimport type { Plugin, PluginContext } from '../Plugin.js';\nimport { formatShortcut } from '../toolbar/ToolbarItem.js';\nimport { TEXT_FORMATTING_LOCALES, type TextFormattingLocale } from './TextFormattingLocale.js';\n\n// --- Configuration ---\n\n/** Controls toolbar button visibility per mark. */\nexport interface TextFormattingToolbarConfig {\n\treadonly bold?: boolean;\n\treadonly italic?: boolean;\n\treadonly underline?: boolean;\n}\n\n/** Controls which inline marks are enabled and which toolbar buttons are shown. */\nexport interface TextFormattingConfig {\n\treadonly bold: boolean;\n\treadonly italic: boolean;\n\treadonly underline: boolean;\n\treadonly toolbar?: TextFormattingToolbarConfig;\n\t/** When true, a separator is rendered after the last text-formatting toolbar item. */\n\treadonly separatorAfter?: boolean;\n\treadonly locale?: TextFormattingLocale;\n}\n\nconst DEFAULT_CONFIG: TextFormattingConfig = {\n\tbold: true,\n\titalic: true,\n\tunderline: true,\n};\n\n// --- Mark Definitions ---\n\ninterface MarkDefinition {\n\treadonly type: string;\n\treadonly configKey: keyof Omit<TextFormattingConfig, 'toolbar' | 'separatorAfter' | 'locale'>;\n\treadonly rank: number;\n\treadonly tag: string;\n\treadonly label: string;\n\treadonly icon: string;\n\treadonly keyBinding: string;\n\treadonly toHTMLString: (content: string) => string;\n\treadonly parseHTML: readonly ParseRule[];\n\treadonly sanitize: SanitizeConfig;\n}\n\nconst BOLD_ICON =\n\t'<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M15.6 10.79c.97-.67 1.65-1.77 1.65-2.79 0-2.26-1.75-4-4-4H7v14h7.04c2.09 0 3.71-1.7 3.71-3.79 0-1.52-.86-2.82-2.15-3.42zM10 6.5h3c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5h-3v-3zm3.5 9H10v-3h3.5c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5z\"/></svg>';\nconst ITALIC_ICON =\n\t'<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M10 4v3h2.21l-3.42 8H6v3h8v-3h-2.21l3.42-8H18V4z\"/></svg>';\nconst UNDERLINE_ICON =\n\t'<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 17c3.31 0 6-2.69 6-6V3h-2.5v8c0 1.93-1.57 3.5-3.5 3.5S8.5 12.93 8.5 11V3H6v8c0 3.31 2.69 6 6 6zm-7 2v2h14v-2H5z\"/></svg>';\n\nconst MARK_DEFINITIONS: readonly MarkDefinition[] = [\n\t{\n\t\ttype: 'bold',\n\t\tconfigKey: 'bold',\n\t\trank: 0,\n\t\ttag: 'strong',\n\t\tlabel: 'Bold',\n\t\ticon: BOLD_ICON,\n\t\tkeyBinding: 'Mod-B',\n\t\ttoHTMLString: (content) => `<strong>${content}</strong>`,\n\t\tparseHTML: [\n\t\t\t{ tag: 'strong' },\n\t\t\t{\n\t\t\t\ttag: 'b',\n\t\t\t\tgetAttrs: (el: HTMLElement) => {\n\t\t\t\t\tconst fw: string = el.style.fontWeight;\n\t\t\t\t\treturn fw === 'normal' || fw === '400' ? false : {};\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\ttag: 'span',\n\t\t\t\tgetAttrs: (el: HTMLElement) => {\n\t\t\t\t\tconst fw: string = el.style.fontWeight;\n\t\t\t\t\tif (!fw) return false;\n\t\t\t\t\tif (fw === 'bold') return {};\n\t\t\t\t\tconst numeric: number = Number.parseInt(fw, 10);\n\t\t\t\t\treturn !Number.isNaN(numeric) && numeric >= 700 ? {} : false;\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t\tsanitize: { tags: ['strong', 'b'] },\n\t},\n\t{\n\t\ttype: 'italic',\n\t\tconfigKey: 'italic',\n\t\trank: 1,\n\t\ttag: 'em',\n\t\tlabel: 'Italic',\n\t\ticon: ITALIC_ICON,\n\t\tkeyBinding: 'Mod-I',\n\t\ttoHTMLString: (content) => `<em>${content}</em>`,\n\t\tparseHTML: [\n\t\t\t{ tag: 'em' },\n\t\t\t{ tag: 'i' },\n\t\t\t{\n\t\t\t\ttag: 'span',\n\t\t\t\tgetAttrs: (el: HTMLElement) => {\n\t\t\t\t\treturn el.style.fontStyle === 'italic' ? {} : false;\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t\tsanitize: { tags: ['em', 'i'] },\n\t},\n\t{\n\t\ttype: 'underline',\n\t\tconfigKey: 'underline',\n\t\trank: 2,\n\t\ttag: 'u',\n\t\tlabel: 'Underline',\n\t\ticon: UNDERLINE_ICON,\n\t\tkeyBinding: 'Mod-U',\n\t\ttoHTMLString: (content) => `<u>${content}</u>`,\n\t\tparseHTML: [\n\t\t\t{ tag: 'u' },\n\t\t\t{\n\t\t\t\ttag: 'span',\n\t\t\t\tgetAttrs: (el: HTMLElement) => {\n\t\t\t\t\treturn el.style.textDecoration.includes('underline') ? {} : false;\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t\tsanitize: { tags: ['u'] },\n\t},\n];\n\n// --- Plugin ---\n\nexport class TextFormattingPlugin implements Plugin {\n\treadonly id = 'text-formatting';\n\treadonly name = 'Text Formatting';\n\treadonly priority = 20;\n\n\tprivate readonly config: TextFormattingConfig;\n\tprivate locale!: TextFormattingLocale;\n\n\tconstructor(config?: Partial<TextFormattingConfig>) {\n\t\tthis.config = { ...DEFAULT_CONFIG, ...config };\n\t}\n\n\tinit(context: PluginContext): void {\n\t\tthis.locale = resolvePluginLocale(TEXT_FORMATTING_LOCALES, context, this.config.locale);\n\n\t\tconst enabledMarks = MARK_DEFINITIONS.filter((def) => this.config[def.configKey]);\n\n\t\t// Determine which marks will have visible toolbar items\n\t\tconst visibleToolbarMarks = enabledMarks.filter((def) => this.isToolbarVisible(def.configKey));\n\t\tconst lastVisibleMark = visibleToolbarMarks.at(-1);\n\n\t\tfor (const def of enabledMarks) {\n\t\t\tconst isSeparatorTarget = this.config.separatorAfter && def === lastVisibleMark;\n\t\t\tthis.registerMark(context, def, isSeparatorTarget);\n\t\t}\n\n\t\tthis.registerKeymaps(context, enabledMarks);\n\n\t\t// Register disabled placeholder buttons for marks that are disabled\n\t\t// as features but explicitly requested in the toolbar config\n\t\tthis.registerDisabledToolbarItems(context);\n\t}\n\n\tprivate registerMark(\n\t\tcontext: PluginContext,\n\t\tdef: MarkDefinition,\n\t\tseparatorAfter?: boolean,\n\t): void {\n\t\tconst commandName = toCommandName(def.type);\n\t\tconst toolbarVisible = this.isToolbarVisible(def.configKey);\n\n\t\tcontext.registerMarkSpec({\n\t\t\ttype: def.type,\n\t\t\trank: def.rank,\n\t\t\ttoDOM() {\n\t\t\t\treturn document.createElement(def.tag);\n\t\t\t},\n\t\t\ttoHTMLString: (_mark, content) => def.toHTMLString(content),\n\t\t\tparseHTML: def.parseHTML,\n\t\t\tsanitize: def.sanitize,\n\t\t});\n\n\t\tcontext.registerCommand(commandName, () => {\n\t\t\tconst tr = toggleMark(context.getState(), mkType(def.type));\n\t\t\tif (tr) {\n\t\t\t\tcontext.dispatch(tr);\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn false;\n\t\t});\n\n\t\tif (toolbarVisible) {\n\t\t\tconst label: string = this.getMarkLabel(def.type);\n\t\t\tcontext.registerToolbarItem({\n\t\t\t\tid: def.type,\n\t\t\t\tgroup: 'format',\n\t\t\t\ticon: def.icon,\n\t\t\t\tlabel,\n\t\t\t\ttooltip: `${label} (${formatShortcut(def.keyBinding)})`,\n\t\t\t\tcommand: commandName,\n\t\t\t\tpriority: def.rank * 10 + 10,\n\t\t\t\tseparatorAfter,\n\t\t\t\tisActive: (state) => isMarkActive(state, mkType(def.type)),\n\t\t\t});\n\t\t}\n\t}\n\n\tprivate registerKeymaps(context: PluginContext, marks: readonly MarkDefinition[]): void {\n\t\tconst keymap: Record<string, () => boolean> = {};\n\t\tfor (const def of marks) {\n\t\t\tconst commandName = toCommandName(def.type);\n\t\t\tkeymap[def.keyBinding] = () => context.executeCommand(commandName);\n\t\t}\n\t\tif (Object.keys(keymap).length > 0) {\n\t\t\tcontext.registerKeymap(keymap);\n\t\t}\n\t}\n\n\t/**\n\t * Registers disabled toolbar buttons for marks whose feature is disabled\n\t * but whose toolbar button is explicitly requested.\n\t */\n\tprivate registerDisabledToolbarItems(context: PluginContext): void {\n\t\tif (!this.config.toolbar) return;\n\n\t\tfor (const def of MARK_DEFINITIONS) {\n\t\t\tconst featureEnabled = this.config[def.configKey];\n\t\t\tconst toolbarVisible = this.config.toolbar[def.configKey] ?? true;\n\n\t\t\tif (!featureEnabled && toolbarVisible) {\n\t\t\t\tcontext.registerToolbarItem({\n\t\t\t\t\tid: def.type,\n\t\t\t\t\tgroup: 'format',\n\t\t\t\t\ticon: def.icon,\n\t\t\t\t\tlabel: this.getMarkLabel(def.type),\n\t\t\t\t\tcommand: toCommandName(def.type),\n\t\t\t\t\tpriority: def.rank * 10 + 10,\n\t\t\t\t\tisEnabled: () => false,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate getMarkLabel(type: string): string {\n\t\tconst key = `${type}Label` as keyof TextFormattingLocale;\n\t\treturn this.locale[key] as string;\n\t}\n\n\t/** Checks if a toolbar button should be visible for a given mark. */\n\tprivate isToolbarVisible(\n\t\tconfigKey: keyof Omit<TextFormattingConfig, 'toolbar' | 'separatorAfter' | 'locale'>,\n\t): boolean {\n\t\tif (!this.config.toolbar) return true;\n\t\treturn this.config.toolbar[configKey] ?? true;\n\t}\n}\n\n/** Converts a mark type to its toggle command name (e.g. 'bold' → 'toggleBold'). */\nfunction toCommandName(markType: string): string {\n\treturn `toggle${markType.charAt(0).toUpperCase()}${markType.slice(1)}`;\n}\n"],"names":["TEXT_FORMATTING_LOCALE_EN","boldLabel","italicLabel","underlineLabel","TEXT_FORMATTING_LOCALES","en","de","es","fr","zh","ru","ar","hi","DEFAULT_CONFIG","bold","italic","underline","MARK_DEFINITIONS","type","configKey","rank","tag","label","icon","keyBinding","toHTMLString","content","parseHTML","getAttrs","el","fw","style","fontWeight","numeric","Number","parseInt","isNaN","sanitize","tags","fontStyle","textDecoration","includes","TextFormattingPlugin","id","name","priority","config","locale","this","context","resolvePluginLocale","enabledMarks","filter","def","lastVisibleMark","isToolbarVisible","at","isSeparatorTarget","separatorAfter","registerMark","registerKeymaps","registerDisabledToolbarItems","commandName","toCommandName","toolbarVisible","registerMarkSpec","toDOM","document","createElement","_mark","registerCommand","tr","toggleMark","getState","mkType","dispatch","getMarkLabel","registerToolbarItem","group","tooltip","formatShortcut","command","isActive","state","isMarkActive","marks","keymap","executeCommand","Object","keys","length","registerKeymap","toolbar","featureEnabled","isEnabled","key","markType","charAt","toUpperCase","slice"],"mappings":"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"}
|