@jackuait/blok 0.4.1-beta.1 → 0.4.1-beta.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +138 -17
- package/codemod/README.md +45 -7
- package/codemod/migrate-editorjs-to-blok.js +960 -92
- package/codemod/test.js +780 -77
- package/dist/blok.mjs +5 -2
- package/dist/chunks/blok-oNSQ3HA6.mjs +13217 -0
- package/dist/chunks/i18next-CugVlwWp.mjs +1292 -0
- package/dist/chunks/i18next-loader-BdNRw4n4.mjs +43 -0
- package/dist/{index-CEXLTV6f.mjs → chunks/index-DHgXmfki.mjs} +2 -2
- package/dist/chunks/inline-tool-convert-CRqgjRim.mjs +1989 -0
- package/dist/chunks/messages-0tDXLuyH.mjs +48 -0
- package/dist/chunks/messages-2_xedlYw.mjs +48 -0
- package/dist/chunks/messages-AHESHJm_.mjs +48 -0
- package/dist/chunks/messages-B5hdXZwA.mjs +48 -0
- package/dist/chunks/messages-B5jGUnOy.mjs +48 -0
- package/dist/chunks/messages-B5puUm7R.mjs +48 -0
- package/dist/chunks/messages-B66ZSDCJ.mjs +48 -0
- package/dist/chunks/messages-B9Oba7sq.mjs +48 -0
- package/dist/chunks/messages-BA0rcTCY.mjs +48 -0
- package/dist/chunks/messages-BBJgd5jG.mjs +48 -0
- package/dist/chunks/messages-BPqWKx5Z.mjs +48 -0
- package/dist/chunks/messages-Bdv-IkfG.mjs +48 -0
- package/dist/chunks/messages-BeUhMpsr.mjs +48 -0
- package/dist/chunks/messages-Bf6Y3_GI.mjs +48 -0
- package/dist/chunks/messages-BiExzWJv.mjs +48 -0
- package/dist/chunks/messages-BlpqL8vG.mjs +48 -0
- package/dist/chunks/messages-BmKCChWZ.mjs +48 -0
- package/dist/chunks/messages-Bn253WWC.mjs +48 -0
- package/dist/chunks/messages-BrJHUxQL.mjs +48 -0
- package/dist/chunks/messages-C5b7hr_E.mjs +48 -0
- package/dist/chunks/messages-C7I_AVH2.mjs +48 -0
- package/dist/chunks/messages-CJoBtXU6.mjs +48 -0
- package/dist/chunks/messages-CQj2JU2j.mjs +48 -0
- package/dist/chunks/messages-CUZ1x1QD.mjs +48 -0
- package/dist/chunks/messages-CUy1vn-b.mjs +48 -0
- package/dist/chunks/messages-CVeWVKsV.mjs +48 -0
- package/dist/chunks/messages-CXHd9SUK.mjs +48 -0
- package/dist/chunks/messages-CbMyJSzS.mjs +48 -0
- package/dist/chunks/messages-CbhuIWRJ.mjs +48 -0
- package/dist/chunks/messages-CeCjVKMW.mjs +48 -0
- package/dist/chunks/messages-Cj-t1bdy.mjs +48 -0
- package/dist/chunks/messages-CkFT2gle.mjs +48 -0
- package/dist/chunks/messages-Cm9aLHeX.mjs +48 -0
- package/dist/chunks/messages-CnvW8Slp.mjs +48 -0
- package/dist/chunks/messages-Cr-RJ7YB.mjs +48 -0
- package/dist/chunks/messages-CrsJ1TEJ.mjs +48 -0
- package/dist/chunks/messages-Cu08aLS3.mjs +48 -0
- package/dist/chunks/messages-CvaqJFN-.mjs +48 -0
- package/dist/chunks/messages-CyDU5lz9.mjs +48 -0
- package/dist/chunks/messages-CySyfkMU.mjs +48 -0
- package/dist/chunks/messages-Cyi2AMmz.mjs +48 -0
- package/dist/chunks/messages-D00OjS2n.mjs +48 -0
- package/dist/chunks/messages-DDLgIPDF.mjs +48 -0
- package/dist/chunks/messages-DMQIHGRj.mjs +48 -0
- package/dist/chunks/messages-DOlC_Tty.mjs +48 -0
- package/dist/chunks/messages-DV6shA9b.mjs +48 -0
- package/dist/chunks/messages-DY94ykcE.mjs +48 -0
- package/dist/chunks/messages-DbVquYKN.mjs +48 -0
- package/dist/chunks/messages-DcKOuncK.mjs +48 -0
- package/dist/chunks/messages-Dg92dXZ5.mjs +48 -0
- package/dist/chunks/messages-DnbbyJT3.mjs +48 -0
- package/dist/chunks/messages-DteYq0rv.mjs +48 -0
- package/dist/chunks/messages-GC2PhgV3.mjs +48 -0
- package/dist/chunks/messages-JGsXAReJ.mjs +48 -0
- package/dist/chunks/messages-JZUhXTuV.mjs +48 -0
- package/dist/chunks/messages-LvFKBBPa.mjs +48 -0
- package/dist/chunks/messages-NP1myMGI.mjs +48 -0
- package/dist/chunks/messages-Q4kc_ZtL.mjs +48 -0
- package/dist/chunks/messages-RvMHb2Ht.mjs +48 -0
- package/dist/chunks/messages-ftMcCEuO.mjs +48 -0
- package/dist/chunks/messages-o24dK6CU.mjs +48 -0
- package/dist/chunks/messages-pA5TvcAj.mjs +48 -0
- package/dist/chunks/messages-rRSHQDCX.mjs +48 -0
- package/dist/chunks/messages-srxrv8Yh.mjs +48 -0
- package/dist/chunks/messages-wdqp4610.mjs +48 -0
- package/dist/chunks/messages-zS1AXZ0y.mjs +48 -0
- package/dist/chunks/messages-zSzDzXej.mjs +48 -0
- package/dist/full.mjs +50 -0
- package/dist/locales.mjs +228 -0
- package/dist/messages-0tDXLuyH.mjs +48 -0
- package/dist/messages-2_xedlYw.mjs +48 -0
- package/dist/messages-AHESHJm_.mjs +48 -0
- package/dist/messages-B5hdXZwA.mjs +48 -0
- package/dist/messages-B5jGUnOy.mjs +48 -0
- package/dist/messages-B5puUm7R.mjs +48 -0
- package/dist/messages-B66ZSDCJ.mjs +48 -0
- package/dist/messages-B9Oba7sq.mjs +48 -0
- package/dist/messages-BA0rcTCY.mjs +48 -0
- package/dist/messages-BBJgd5jG.mjs +48 -0
- package/dist/messages-BPqWKx5Z.mjs +48 -0
- package/dist/messages-Bdv-IkfG.mjs +48 -0
- package/dist/messages-BeUhMpsr.mjs +48 -0
- package/dist/messages-Bf6Y3_GI.mjs +48 -0
- package/dist/messages-BiExzWJv.mjs +48 -0
- package/dist/messages-BlpqL8vG.mjs +48 -0
- package/dist/messages-BmKCChWZ.mjs +48 -0
- package/dist/messages-Bn253WWC.mjs +48 -0
- package/dist/messages-BrJHUxQL.mjs +48 -0
- package/dist/messages-C5b7hr_E.mjs +48 -0
- package/dist/messages-C7I_AVH2.mjs +48 -0
- package/dist/messages-CJoBtXU6.mjs +48 -0
- package/dist/messages-CQj2JU2j.mjs +48 -0
- package/dist/messages-CUZ1x1QD.mjs +48 -0
- package/dist/messages-CUy1vn-b.mjs +48 -0
- package/dist/messages-CVeWVKsV.mjs +48 -0
- package/dist/messages-CXHd9SUK.mjs +48 -0
- package/dist/messages-CbMyJSzS.mjs +48 -0
- package/dist/messages-CbhuIWRJ.mjs +48 -0
- package/dist/messages-CeCjVKMW.mjs +48 -0
- package/dist/messages-Cj-t1bdy.mjs +48 -0
- package/dist/messages-CkFT2gle.mjs +48 -0
- package/dist/messages-Cm9aLHeX.mjs +48 -0
- package/dist/messages-CnvW8Slp.mjs +48 -0
- package/dist/messages-Cr-RJ7YB.mjs +48 -0
- package/dist/messages-CrsJ1TEJ.mjs +48 -0
- package/dist/messages-Cu08aLS3.mjs +48 -0
- package/dist/messages-CvaqJFN-.mjs +48 -0
- package/dist/messages-CyDU5lz9.mjs +48 -0
- package/dist/messages-CySyfkMU.mjs +48 -0
- package/dist/messages-Cyi2AMmz.mjs +48 -0
- package/dist/messages-D00OjS2n.mjs +48 -0
- package/dist/messages-DDLgIPDF.mjs +48 -0
- package/dist/messages-DMQIHGRj.mjs +48 -0
- package/dist/messages-DOlC_Tty.mjs +48 -0
- package/dist/messages-DV6shA9b.mjs +48 -0
- package/dist/messages-DY94ykcE.mjs +48 -0
- package/dist/messages-DbVquYKN.mjs +48 -0
- package/dist/messages-DcKOuncK.mjs +48 -0
- package/dist/messages-Dg92dXZ5.mjs +48 -0
- package/dist/messages-DnbbyJT3.mjs +48 -0
- package/dist/messages-DteYq0rv.mjs +48 -0
- package/dist/messages-GC2PhgV3.mjs +48 -0
- package/dist/messages-JGsXAReJ.mjs +48 -0
- package/dist/messages-JZUhXTuV.mjs +48 -0
- package/dist/messages-LvFKBBPa.mjs +48 -0
- package/dist/messages-NP1myMGI.mjs +48 -0
- package/dist/messages-Q4kc_ZtL.mjs +48 -0
- package/dist/messages-RvMHb2Ht.mjs +48 -0
- package/dist/messages-ftMcCEuO.mjs +48 -0
- package/dist/messages-o24dK6CU.mjs +48 -0
- package/dist/messages-pA5TvcAj.mjs +48 -0
- package/dist/messages-rRSHQDCX.mjs +48 -0
- package/dist/messages-srxrv8Yh.mjs +48 -0
- package/dist/messages-wdqp4610.mjs +48 -0
- package/dist/messages-zS1AXZ0y.mjs +48 -0
- package/dist/messages-zSzDzXej.mjs +48 -0
- package/dist/tools.mjs +3117 -0
- package/dist/vendor.LICENSE.txt +26 -225
- package/package.json +63 -24
- package/src/blok.ts +267 -0
- package/src/components/__module.ts +139 -0
- package/src/components/block/api.ts +155 -0
- package/src/components/block/index.ts +1428 -0
- package/src/components/block-tunes/block-tune-delete.ts +51 -0
- package/src/components/blocks.ts +352 -0
- package/src/components/constants/data-attributes.ts +344 -0
- package/src/components/constants.ts +76 -0
- package/src/components/core.ts +392 -0
- package/src/components/dom.ts +773 -0
- package/src/components/domIterator.ts +189 -0
- package/src/components/errors/critical.ts +5 -0
- package/src/components/events/BlockChanged.ts +16 -0
- package/src/components/events/BlockHovered.ts +21 -0
- package/src/components/events/BlockSettingsClosed.ts +12 -0
- package/src/components/events/BlockSettingsOpened.ts +12 -0
- package/src/components/events/BlokMobileLayoutToggled.ts +15 -0
- package/src/components/events/FakeCursorAboutToBeToggled.ts +17 -0
- package/src/components/events/FakeCursorHaveBeenSet.ts +17 -0
- package/src/components/events/HistoryStateChanged.ts +19 -0
- package/src/components/events/RedactorDomChanged.ts +14 -0
- package/src/components/events/index.ts +46 -0
- package/src/components/flipper.ts +497 -0
- package/src/components/i18n/i18next-loader.ts +84 -0
- package/src/components/i18n/lightweight-i18n.ts +86 -0
- package/src/components/i18n/locales/TRANSLATION_GUIDELINES.md +113 -0
- package/src/components/i18n/locales/am/messages.json +45 -0
- package/src/components/i18n/locales/ar/messages.json +45 -0
- package/src/components/i18n/locales/az/messages.json +45 -0
- package/src/components/i18n/locales/bg/messages.json +45 -0
- package/src/components/i18n/locales/bn/messages.json +45 -0
- package/src/components/i18n/locales/bs/messages.json +45 -0
- package/src/components/i18n/locales/cs/messages.json +45 -0
- package/src/components/i18n/locales/da/messages.json +45 -0
- package/src/components/i18n/locales/de/messages.json +45 -0
- package/src/components/i18n/locales/dv/messages.json +45 -0
- package/src/components/i18n/locales/el/messages.json +45 -0
- package/src/components/i18n/locales/en/messages.json +45 -0
- package/src/components/i18n/locales/es/messages.json +45 -0
- package/src/components/i18n/locales/et/messages.json +45 -0
- package/src/components/i18n/locales/fa/messages.json +45 -0
- package/src/components/i18n/locales/fi/messages.json +45 -0
- package/src/components/i18n/locales/fil/messages.json +45 -0
- package/src/components/i18n/locales/fr/messages.json +45 -0
- package/src/components/i18n/locales/gu/messages.json +45 -0
- package/src/components/i18n/locales/he/messages.json +45 -0
- package/src/components/i18n/locales/hi/messages.json +45 -0
- package/src/components/i18n/locales/hr/messages.json +45 -0
- package/src/components/i18n/locales/hu/messages.json +45 -0
- package/src/components/i18n/locales/hy/messages.json +45 -0
- package/src/components/i18n/locales/id/messages.json +45 -0
- package/src/components/i18n/locales/index.ts +231 -0
- package/src/components/i18n/locales/it/messages.json +45 -0
- package/src/components/i18n/locales/ja/messages.json +45 -0
- package/src/components/i18n/locales/ka/messages.json +45 -0
- package/src/components/i18n/locales/km/messages.json +45 -0
- package/src/components/i18n/locales/kn/messages.json +45 -0
- package/src/components/i18n/locales/ko/messages.json +45 -0
- package/src/components/i18n/locales/ku/messages.json +45 -0
- package/src/components/i18n/locales/lo/messages.json +45 -0
- package/src/components/i18n/locales/lt/messages.json +45 -0
- package/src/components/i18n/locales/lv/messages.json +45 -0
- package/src/components/i18n/locales/mk/messages.json +45 -0
- package/src/components/i18n/locales/ml/messages.json +45 -0
- package/src/components/i18n/locales/mn/messages.json +45 -0
- package/src/components/i18n/locales/mr/messages.json +45 -0
- package/src/components/i18n/locales/ms/messages.json +45 -0
- package/src/components/i18n/locales/my/messages.json +45 -0
- package/src/components/i18n/locales/ne/messages.json +45 -0
- package/src/components/i18n/locales/nl/messages.json +45 -0
- package/src/components/i18n/locales/no/messages.json +45 -0
- package/src/components/i18n/locales/pa/messages.json +45 -0
- package/src/components/i18n/locales/pl/messages.json +45 -0
- package/src/components/i18n/locales/ps/messages.json +45 -0
- package/src/components/i18n/locales/pt/messages.json +45 -0
- package/src/components/i18n/locales/ro/messages.json +45 -0
- package/src/components/i18n/locales/ru/messages.json +45 -0
- package/src/components/i18n/locales/sd/messages.json +45 -0
- package/src/components/i18n/locales/si/messages.json +45 -0
- package/src/components/i18n/locales/sk/messages.json +45 -0
- package/src/components/i18n/locales/sl/messages.json +45 -0
- package/src/components/i18n/locales/sq/messages.json +45 -0
- package/src/components/i18n/locales/sr/messages.json +45 -0
- package/src/components/i18n/locales/sv/messages.json +45 -0
- package/src/components/i18n/locales/sw/messages.json +45 -0
- package/src/components/i18n/locales/ta/messages.json +45 -0
- package/src/components/i18n/locales/te/messages.json +45 -0
- package/src/components/i18n/locales/th/messages.json +45 -0
- package/src/components/i18n/locales/tr/messages.json +45 -0
- package/src/components/i18n/locales/ug/messages.json +45 -0
- package/src/components/i18n/locales/uk/messages.json +45 -0
- package/src/components/i18n/locales/ur/messages.json +45 -0
- package/src/components/i18n/locales/vi/messages.json +45 -0
- package/src/components/i18n/locales/yi/messages.json +45 -0
- package/src/components/i18n/locales/zh/messages.json +45 -0
- package/src/components/icons/index.ts +242 -0
- package/src/components/inline-tools/inline-tool-bold.ts +2213 -0
- package/src/components/inline-tools/inline-tool-convert.ts +141 -0
- package/src/components/inline-tools/inline-tool-italic.ts +500 -0
- package/src/components/inline-tools/inline-tool-link.ts +539 -0
- package/src/components/modules/api/blocks.ts +377 -0
- package/src/components/modules/api/caret.ts +125 -0
- package/src/components/modules/api/events.ts +51 -0
- package/src/components/modules/api/history.ts +73 -0
- package/src/components/modules/api/i18n.ts +35 -0
- package/src/components/modules/api/index.ts +39 -0
- package/src/components/modules/api/inlineToolbar.ts +33 -0
- package/src/components/modules/api/listeners.ts +56 -0
- package/src/components/modules/api/notifier.ts +46 -0
- package/src/components/modules/api/readonly.ts +39 -0
- package/src/components/modules/api/sanitizer.ts +30 -0
- package/src/components/modules/api/saver.ts +52 -0
- package/src/components/modules/api/selection.ts +48 -0
- package/src/components/modules/api/styles.ts +72 -0
- package/src/components/modules/api/toolbar.ts +79 -0
- package/src/components/modules/api/tools.ts +16 -0
- package/src/components/modules/api/tooltip.ts +67 -0
- package/src/components/modules/api/ui.ts +36 -0
- package/src/components/modules/blockEvents.ts +1591 -0
- package/src/components/modules/blockManager.ts +1356 -0
- package/src/components/modules/blockSelection.ts +708 -0
- package/src/components/modules/caret.ts +853 -0
- package/src/components/modules/crossBlockSelection.ts +329 -0
- package/src/components/modules/dragManager.ts +1204 -0
- package/src/components/modules/history.ts +1098 -0
- package/src/components/modules/i18n.ts +332 -0
- package/src/components/modules/index.ts +139 -0
- package/src/components/modules/modificationsObserver.ts +147 -0
- package/src/components/modules/paste.ts +1092 -0
- package/src/components/modules/readonly.ts +136 -0
- package/src/components/modules/rectangleSelection.ts +711 -0
- package/src/components/modules/renderer.ts +155 -0
- package/src/components/modules/saver.ts +283 -0
- package/src/components/modules/toolbar/blockSettings.ts +781 -0
- package/src/components/modules/toolbar/index.ts +1315 -0
- package/src/components/modules/toolbar/inline.ts +956 -0
- package/src/components/modules/tools.ts +625 -0
- package/src/components/modules/ui.ts +1283 -0
- package/src/components/polyfills.ts +113 -0
- package/src/components/selection.ts +1179 -0
- package/src/components/tools/base.ts +301 -0
- package/src/components/tools/block.ts +339 -0
- package/src/components/tools/collection.ts +67 -0
- package/src/components/tools/factory.ts +138 -0
- package/src/components/tools/inline.ts +71 -0
- package/src/components/tools/tune.ts +33 -0
- package/src/components/ui/toolbox.ts +601 -0
- package/src/components/utils/announcer.ts +205 -0
- package/src/components/utils/api.ts +20 -0
- package/src/components/utils/bem.ts +26 -0
- package/src/components/utils/blocks.ts +284 -0
- package/src/components/utils/caret.ts +1067 -0
- package/src/components/utils/data-model-transform.ts +382 -0
- package/src/components/utils/events.ts +117 -0
- package/src/components/utils/keyboard.ts +60 -0
- package/src/components/utils/listeners.ts +296 -0
- package/src/components/utils/mutations.ts +39 -0
- package/src/components/utils/notifier/draw.ts +190 -0
- package/src/components/utils/notifier/index.ts +66 -0
- package/src/components/utils/notifier/types.ts +1 -0
- package/src/components/utils/notifier.ts +77 -0
- package/src/components/utils/placeholder.ts +140 -0
- package/src/components/utils/popover/components/hint/hint.const.ts +10 -0
- package/src/components/utils/popover/components/hint/hint.ts +46 -0
- package/src/components/utils/popover/components/hint/index.ts +6 -0
- package/src/components/utils/popover/components/popover-header/index.ts +2 -0
- package/src/components/utils/popover/components/popover-header/popover-header.const.ts +8 -0
- package/src/components/utils/popover/components/popover-header/popover-header.ts +80 -0
- package/src/components/utils/popover/components/popover-header/popover-header.types.ts +14 -0
- package/src/components/utils/popover/components/popover-item/index.ts +13 -0
- package/src/components/utils/popover/components/popover-item/popover-item-default/popover-item-default.const.ts +50 -0
- package/src/components/utils/popover/components/popover-item/popover-item-default/popover-item-default.ts +680 -0
- package/src/components/utils/popover/components/popover-item/popover-item-html/popover-item-html.const.ts +14 -0
- package/src/components/utils/popover/components/popover-item/popover-item-html/popover-item-html.ts +136 -0
- package/src/components/utils/popover/components/popover-item/popover-item-separator/popover-item-separator.const.ts +20 -0
- package/src/components/utils/popover/components/popover-item/popover-item-separator/popover-item-separator.ts +117 -0
- package/src/components/utils/popover/components/popover-item/popover-item.ts +186 -0
- package/src/components/utils/popover/components/search-input/index.ts +2 -0
- package/src/components/utils/popover/components/search-input/search-input.const.ts +8 -0
- package/src/components/utils/popover/components/search-input/search-input.ts +178 -0
- package/src/components/utils/popover/components/search-input/search-input.types.ts +59 -0
- package/src/components/utils/popover/index.ts +13 -0
- package/src/components/utils/popover/popover-abstract.ts +457 -0
- package/src/components/utils/popover/popover-desktop.ts +676 -0
- package/src/components/utils/popover/popover-inline.ts +338 -0
- package/src/components/utils/popover/popover-mobile.ts +201 -0
- package/src/components/utils/popover/popover.const.ts +81 -0
- package/src/components/utils/popover/utils/popover-states-history.ts +72 -0
- package/src/components/utils/promise-queue.ts +43 -0
- package/src/components/utils/sanitizer.ts +537 -0
- package/src/components/utils/scroll-locker.ts +87 -0
- package/src/components/utils/shortcut.ts +231 -0
- package/src/components/utils/shortcuts.ts +113 -0
- package/src/components/utils/tools.ts +110 -0
- package/src/components/utils/tooltip.ts +591 -0
- package/src/components/utils/tw.ts +241 -0
- package/src/components/utils.ts +1081 -0
- package/src/env.d.ts +13 -0
- package/src/full.ts +69 -0
- package/src/locales.ts +51 -0
- package/src/stories/Block.stories.ts +498 -0
- package/src/stories/EditorModes.stories.ts +505 -0
- package/src/stories/Header.stories.ts +137 -0
- package/src/stories/InlineToolbar.stories.ts +498 -0
- package/src/stories/List.stories.ts +259 -0
- package/src/stories/Notifier.stories.ts +340 -0
- package/src/stories/Paragraph.stories.ts +112 -0
- package/src/stories/Placeholder.stories.ts +319 -0
- package/src/stories/Popover.stories.ts +844 -0
- package/src/stories/Selection.stories.ts +250 -0
- package/src/stories/StubBlock.stories.ts +156 -0
- package/src/stories/Toolbar.stories.ts +223 -0
- package/src/stories/Toolbox.stories.ts +166 -0
- package/src/stories/Tooltip.stories.ts +198 -0
- package/src/stories/helpers.ts +463 -0
- package/src/styles/main.css +123 -0
- package/src/tools/header/index.ts +646 -0
- package/src/tools/index.ts +45 -0
- package/src/tools/list/index.ts +1819 -0
- package/src/tools/paragraph/index.ts +412 -0
- package/src/tools/stub/index.ts +107 -0
- package/src/types-internal/blok-modules.d.ts +87 -0
- package/src/types-internal/html-janitor.d.ts +28 -0
- package/src/types-internal/module-config.d.ts +11 -0
- package/src/variants/all-locales.ts +155 -0
- package/src/variants/blok-maximum.ts +20 -0
- package/src/variants/blok-minimum.ts +243 -0
- package/types/api/blocks.d.ts +9 -1
- package/types/api/history.d.ts +7 -0
- package/types/api/i18n.d.ts +22 -3
- package/types/api/selection.d.ts +6 -0
- package/types/api/styles.d.ts +23 -10
- package/types/configs/blok-config.d.ts +29 -0
- package/types/configs/i18n-config.d.ts +52 -2
- package/types/configs/i18n-dictionary.d.ts +16 -90
- package/types/data-attributes.d.ts +170 -0
- package/types/data-formats/output-data.d.ts +15 -0
- package/types/full.d.ts +80 -0
- package/types/index.d.ts +29 -13
- package/types/locales.d.ts +59 -0
- package/types/tools/adapters/inline-tool-adapter.d.ts +10 -0
- package/types/tools/block-tool.d.ts +9 -0
- package/types/tools/header.d.ts +18 -0
- package/types/tools/index.d.ts +1 -0
- package/types/tools/list.d.ts +91 -0
- package/types/tools/paragraph.d.ts +71 -0
- package/types/tools/tool-settings.d.ts +92 -6
- package/types/tools/tool.d.ts +6 -0
- package/types/tools-entry.d.ts +49 -0
- package/types/utils/popover/popover-item.d.ts +18 -5
- package/types/utils/popover/popover.d.ts +7 -0
- package/dist/blok-C8XbyLHh.mjs +0 -25795
- package/dist/blok.umd.js +0 -181
package/README.md
CHANGED
|
@@ -34,36 +34,157 @@ or
|
|
|
34
34
|
yarn add @jackuait/blok
|
|
35
35
|
```
|
|
36
36
|
|
|
37
|
-
##
|
|
37
|
+
## Quick Start
|
|
38
|
+
|
|
39
|
+
Blok uses a modular architecture for optimal bundle size. Import tools separately from the core:
|
|
40
|
+
|
|
41
|
+
```typescript
|
|
42
|
+
import { Blok } from '@jackuait/blok';
|
|
43
|
+
import { Header, Paragraph, List, Bold, Italic, Link } from '@jackuait/blok/tools';
|
|
44
|
+
|
|
45
|
+
const editor = new Blok({
|
|
46
|
+
holder: 'editor',
|
|
47
|
+
tools: {
|
|
48
|
+
// Block tools - inlineToolbar is enabled by default
|
|
49
|
+
paragraph: Paragraph,
|
|
50
|
+
header: { class: Header, placeholder: 'Enter a heading' },
|
|
51
|
+
list: List,
|
|
52
|
+
// Inline tools
|
|
53
|
+
bold: Bold,
|
|
54
|
+
italic: Italic,
|
|
55
|
+
link: Link,
|
|
56
|
+
},
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
// Save content as JSON
|
|
60
|
+
const data = await editor.save();
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Tool configuration is flat—no need for nested `config: {}`. Blok automatically extracts known settings (`class`, `inlineToolbar`, `shortcut`, etc.) and passes the rest to the tool.
|
|
64
|
+
|
|
65
|
+
### Entry Points
|
|
38
66
|
|
|
39
|
-
|
|
67
|
+
| Entry Point | Description |
|
|
68
|
+
|-------------|-------------|
|
|
69
|
+
| `@jackuait/blok` | Core editor (no tools included) |
|
|
70
|
+
| `@jackuait/blok/tools` | Built-in tools: Header, Paragraph, List, Bold, Italic, Link, Convert |
|
|
71
|
+
| `@jackuait/blok/locales` | Locale loading utilities |
|
|
40
72
|
|
|
41
|
-
|
|
73
|
+
This modular approach means you only bundle the tools you use, resulting in smaller bundles for your users.
|
|
42
74
|
|
|
43
|
-
|
|
75
|
+
## Migrating from EditorJS
|
|
76
|
+
|
|
77
|
+
Blok is designed as a drop-in replacement for EditorJS. The included codemod automatically transforms your imports, selectors, and configuration—so you can switch over in minutes, not hours.
|
|
78
|
+
|
|
79
|
+
### Quick Start
|
|
44
80
|
|
|
45
81
|
```bash
|
|
46
|
-
# Preview
|
|
82
|
+
# 1. Preview what will change (recommended first)
|
|
47
83
|
npx -p @jackuait/blok migrate-from-editorjs ./src --dry-run
|
|
48
84
|
|
|
49
|
-
# Apply changes
|
|
85
|
+
# 2. Apply the changes
|
|
50
86
|
npx -p @jackuait/blok migrate-from-editorjs ./src
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### Options
|
|
90
|
+
|
|
91
|
+
| Flag | Description |
|
|
92
|
+
|------|-------------|
|
|
93
|
+
| `--dry-run` | Preview changes without modifying files |
|
|
94
|
+
| `--verbose` | Show detailed output for each file processed |
|
|
95
|
+
| `--use-library-i18n` | Use Blok's built-in translations (36 languages) instead of custom i18n |
|
|
96
|
+
|
|
97
|
+
### Supported Files
|
|
98
|
+
|
|
99
|
+
The codemod processes: `.js`, `.jsx`, `.ts`, `.tsx`, `.vue`, `.svelte`, `.html`, `.css`, `.scss`, `.less`
|
|
100
|
+
|
|
101
|
+
### What Gets Transformed
|
|
102
|
+
|
|
103
|
+
- **Imports** — `@editorjs/editorjs` → `@jackuait/blok`
|
|
104
|
+
- **Tool imports** — `@editorjs/header` → `@jackuait/blok/tools`
|
|
105
|
+
- **Types** — `EditorConfig` → `BlokConfig`
|
|
106
|
+
- **CSS selectors** — `.ce-block`, `.ce-toolbar` → `[data-blok-*]` attributes
|
|
107
|
+
- **Data attributes** — `data-id` → `data-blok-id`
|
|
108
|
+
- **Default holder** — `#editorjs` → `#blok`
|
|
109
|
+
|
|
110
|
+
The codemod also handles **existing Blok users** upgrading to the modular architecture:
|
|
111
|
+
- Splits combined imports: `{ Blok, Header }` from `@jackuait/blok` → separate imports
|
|
112
|
+
- Updates static property access: `Blok.Header` → `Header`
|
|
113
|
+
|
|
114
|
+
### Limitations
|
|
51
115
|
|
|
52
|
-
|
|
53
|
-
|
|
116
|
+
Some patterns require manual attention:
|
|
117
|
+
- Dynamic imports with variable paths
|
|
118
|
+
- Complex nested CSS selectors
|
|
119
|
+
- Custom EditorJS plugins (need API adaptation)
|
|
120
|
+
|
|
121
|
+
### Learn More
|
|
122
|
+
|
|
123
|
+
- [MIGRATION.md](./MIGRATION.md) — Full list of breaking changes and manual steps
|
|
124
|
+
- [codemod/README.md](./codemod/README.md) — Programmatic usage and detailed examples
|
|
125
|
+
|
|
126
|
+
## Localization
|
|
127
|
+
|
|
128
|
+
Blok supports 68 languages with lazy loading—only English is bundled by default (~3KB). Additional locales are loaded on-demand, keeping your initial bundle small.
|
|
129
|
+
|
|
130
|
+
### Default Behavior
|
|
131
|
+
|
|
132
|
+
Out of the box, Blok uses English and auto-detects the user's browser language:
|
|
133
|
+
|
|
134
|
+
```typescript
|
|
135
|
+
import { Blok } from '@jackuait/blok';
|
|
136
|
+
|
|
137
|
+
new Blok({
|
|
138
|
+
holder: 'editor',
|
|
139
|
+
// Uses English by default, auto-detects browser language
|
|
140
|
+
});
|
|
54
141
|
```
|
|
55
142
|
|
|
56
|
-
The codemod handles:
|
|
57
|
-
- Import updates (`@editorjs/editorjs` → `@jackuait/blok`)
|
|
58
|
-
- Type renames (`EditorConfig` → `BlokConfig`)
|
|
59
|
-
- CSS selector updates (`.ce-*` → `[data-blok-*]`)
|
|
60
|
-
- Data attribute updates (`data-id` → `data-blok-id`)
|
|
61
|
-
- Bundled tool migrations (Header & Paragraph are now included)
|
|
62
143
|
|
|
63
|
-
###
|
|
144
|
+
### Preloading Locales
|
|
64
145
|
|
|
65
|
-
|
|
146
|
+
By default, locales are loaded on-demand. If you need to ensure locales are available before initializing the editor—for example, to avoid any loading delay or to support offline usage—you can preload them:
|
|
147
|
+
|
|
148
|
+
```typescript
|
|
149
|
+
import { Blok } from '@jackuait/blok';
|
|
150
|
+
import { preloadLocales, buildRegistry } from '@jackuait/blok/locales';
|
|
151
|
+
|
|
152
|
+
// Preload during app startup (triggers network requests and caches the locales)
|
|
153
|
+
await preloadLocales(['en', 'fr', 'de']);
|
|
154
|
+
|
|
155
|
+
// Build registry from preloaded locales (instant, no network request)
|
|
156
|
+
const locales = await buildRegistry(['en', 'fr', 'de']);
|
|
157
|
+
|
|
158
|
+
new Blok({
|
|
159
|
+
holder: 'editor',
|
|
160
|
+
i18n: {
|
|
161
|
+
locales,
|
|
162
|
+
locale: 'auto',
|
|
163
|
+
}
|
|
164
|
+
});
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
**When to preload:**
|
|
168
|
+
- Offline support (preload all needed locales before going offline)
|
|
169
|
+
- Eliminating any loading delay during editor initialization
|
|
170
|
+
- Progressive web apps that cache resources upfront
|
|
171
|
+
|
|
172
|
+
**When not to preload:**
|
|
173
|
+
- Most apps—just use `buildRegistry()` directly and accept the ~50-100ms loading time
|
|
174
|
+
- The on-demand loading is usually imperceptible
|
|
175
|
+
|
|
176
|
+
### Setting a Specific Locale
|
|
177
|
+
|
|
178
|
+
```typescript
|
|
179
|
+
new Blok({
|
|
180
|
+
holder: 'editor',
|
|
181
|
+
i18n: {
|
|
182
|
+
locale: 'fr', // Use French
|
|
183
|
+
defaultLocale: 'en', // Fallback if 'fr' unavailable
|
|
184
|
+
}
|
|
185
|
+
});
|
|
186
|
+
```
|
|
66
187
|
|
|
67
188
|
## Documentation
|
|
68
189
|
|
|
69
|
-
📚 **Documentation is coming soon!** We're working hard to provide comprehensive guides, API references, and examples. Stay tuned for updates.
|
|
190
|
+
📚 **Complete Documentation is coming soon!** We're working hard to provide comprehensive guides, API references, and examples. Stay tuned for updates.
|
package/codemod/README.md
CHANGED
|
@@ -34,14 +34,30 @@ npx migrate-from-editorjs ./src --dry-run
|
|
|
34
34
|
|
|
35
35
|
### Import Transformations
|
|
36
36
|
|
|
37
|
+
**EditorJS → Blok:**
|
|
37
38
|
```diff
|
|
38
39
|
- import EditorJS from '@editorjs/editorjs';
|
|
39
|
-
+ import Blok from '@jackuait/blok';
|
|
40
|
+
+ import { Blok } from '@jackuait/blok';
|
|
41
|
+
|
|
42
|
+
- import EditorJS, { EditorConfig } from '@editorjs/editorjs';
|
|
43
|
+
+ import { Blok, BlokConfig } from '@jackuait/blok';
|
|
40
44
|
|
|
41
45
|
- import Header from '@editorjs/header';
|
|
42
46
|
- import Paragraph from '@editorjs/paragraph';
|
|
43
|
-
|
|
44
|
-
+
|
|
47
|
+
- import List from '@editorjs/list';
|
|
48
|
+
+ import { Header, Paragraph, List } from '@jackuait/blok/tools';
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
**Blok default imports → named imports** (Blok only exports named exports):
|
|
52
|
+
```diff
|
|
53
|
+
- import Blok from '@jackuait/blok';
|
|
54
|
+
+ import { Blok } from '@jackuait/blok';
|
|
55
|
+
|
|
56
|
+
- import Editor from '@jackuait/blok';
|
|
57
|
+
+ import { Blok as Editor } from '@jackuait/blok';
|
|
58
|
+
|
|
59
|
+
- import Blok, { BlokConfig } from '@jackuait/blok';
|
|
60
|
+
+ import { Blok, BlokConfig } from '@jackuait/blok';
|
|
45
61
|
```
|
|
46
62
|
|
|
47
63
|
### Type Transformations
|
|
@@ -96,15 +112,25 @@ npx migrate-from-editorjs ./src --dry-run
|
|
|
96
112
|
|
|
97
113
|
### Tool Configuration Transformations
|
|
98
114
|
|
|
115
|
+
Old Blok static property references are converted to direct imports:
|
|
99
116
|
```diff
|
|
100
117
|
tools: {
|
|
101
|
-
- header: Header,
|
|
102
|
-
- paragraph: Paragraph,
|
|
103
|
-
|
|
104
|
-
+
|
|
118
|
+
- header: Blok.Header,
|
|
119
|
+
- paragraph: Blok.Paragraph,
|
|
120
|
+
- list: Blok.List,
|
|
121
|
+
+ header: Header,
|
|
122
|
+
+ paragraph: Paragraph,
|
|
123
|
+
+ list: List,
|
|
105
124
|
}
|
|
106
125
|
```
|
|
107
126
|
|
|
127
|
+
Combined Blok imports are split into core and tools:
|
|
128
|
+
```diff
|
|
129
|
+
- import { Blok, Header, Paragraph, List } from '@jackuait/blok';
|
|
130
|
+
+ import { Blok } from '@jackuait/blok';
|
|
131
|
+
+ import { Header, Paragraph, List } from '@jackuait/blok/tools';
|
|
132
|
+
```
|
|
133
|
+
|
|
108
134
|
### package.json Updates
|
|
109
135
|
|
|
110
136
|
```diff
|
|
@@ -113,6 +139,7 @@ tools: {
|
|
|
113
139
|
- "@editorjs/editorjs": "^2.28.0",
|
|
114
140
|
- "@editorjs/header": "^2.8.0",
|
|
115
141
|
- "@editorjs/paragraph": "^2.11.0",
|
|
142
|
+
- "@editorjs/list": "^1.9.0",
|
|
116
143
|
+ "@jackuait/blok": "latest"
|
|
117
144
|
}
|
|
118
145
|
}
|
|
@@ -124,8 +151,19 @@ tools: {
|
|
|
124
151
|
|--------|-------------|
|
|
125
152
|
| `--dry-run` | Preview changes without modifying files |
|
|
126
153
|
| `--verbose` | Show detailed output for each file |
|
|
154
|
+
| `--use-library-i18n` | Remove custom i18n messages and use Blok's built-in translations |
|
|
127
155
|
| `--help` | Show help message |
|
|
128
156
|
|
|
157
|
+
### Using `--use-library-i18n`
|
|
158
|
+
|
|
159
|
+
If your EditorJS project had custom translations, the codemod will by default convert them to Blok's flat format. However, Blok now ships with built-in translations for 36 languages. If you prefer to use these library translations instead of maintaining your own, use the `--use-library-i18n` flag:
|
|
160
|
+
|
|
161
|
+
```bash
|
|
162
|
+
npx -p @jackuait/blok migrate-from-editorjs ./src --use-library-i18n
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
This will remove the `messages` property from your i18n config, allowing Blok to auto-detect the user's locale from the browser and use the appropriate built-in translations.
|
|
166
|
+
|
|
129
167
|
## Supported File Types
|
|
130
168
|
|
|
131
169
|
- JavaScript: `.js`, `.jsx`
|