@jackuait/blok 0.4.1-beta.5 → 0.4.1-beta.6
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 +136 -17
- package/codemod/README.md +16 -0
- package/codemod/migrate-editorjs-to-blok.js +868 -92
- package/codemod/test.js +682 -77
- package/dist/blok.mjs +5 -2
- package/dist/chunks/blok-B5qs7C5l.mjs +12838 -0
- package/dist/chunks/i18next-CugVlwWp.mjs +1292 -0
- package/dist/chunks/i18next-loader-CTrK3HzG.mjs +43 -0
- package/dist/{index-Cl_5rkKS.mjs → chunks/index-DDpzQn-0.mjs} +2 -2
- package/dist/chunks/inline-tool-convert-RBcopmCh.mjs +1988 -0
- package/dist/chunks/messages-2434tVOK.mjs +47 -0
- package/dist/chunks/messages-3DcCwXMF.mjs +47 -0
- package/dist/chunks/messages-4kMwVAKY.mjs +47 -0
- package/dist/chunks/messages-57uL5htT.mjs +47 -0
- package/dist/chunks/messages-76-iJV9Q.mjs +47 -0
- package/dist/chunks/messages-8p86Eyf2.mjs +47 -0
- package/dist/chunks/messages-BBX0p0Pi.mjs +47 -0
- package/dist/chunks/messages-BCm2eudQ.mjs +47 -0
- package/dist/chunks/messages-BFiUomgG.mjs +47 -0
- package/dist/chunks/messages-BIPNHHAV.mjs +47 -0
- package/dist/chunks/messages-BUlwu9mo.mjs +47 -0
- package/dist/chunks/messages-BX-DPa-z.mjs +47 -0
- package/dist/chunks/messages-BextV3Qh.mjs +47 -0
- package/dist/chunks/messages-BiPSFlUG.mjs +47 -0
- package/dist/chunks/messages-BiXe9G-O.mjs +47 -0
- package/dist/chunks/messages-Bl5z_Igo.mjs +47 -0
- package/dist/chunks/messages-BnsE97ku.mjs +47 -0
- package/dist/chunks/messages-BoO8gsVD.mjs +47 -0
- package/dist/chunks/messages-BqWaOGMn.mjs +47 -0
- package/dist/chunks/messages-BqkL2_Ro.mjs +47 -0
- package/dist/chunks/messages-BvCkXKX-.mjs +47 -0
- package/dist/chunks/messages-C6tbPLoj.mjs +47 -0
- package/dist/chunks/messages-CA6T3-gQ.mjs +47 -0
- package/dist/chunks/messages-CFFPFdWP.mjs +47 -0
- package/dist/chunks/messages-CFrKE-TN.mjs +47 -0
- package/dist/chunks/messages-CHz8VlG-.mjs +47 -0
- package/dist/chunks/messages-CLixzySl.mjs +47 -0
- package/dist/chunks/messages-CV7OM_qk.mjs +47 -0
- package/dist/chunks/messages-CXHt3eCC.mjs +47 -0
- package/dist/chunks/messages-CbmsBrB0.mjs +47 -0
- package/dist/chunks/messages-Ceo1KtFx.mjs +47 -0
- package/dist/chunks/messages-Cm0LJLtB.mjs +47 -0
- package/dist/chunks/messages-CmymP_Ar.mjs +47 -0
- package/dist/chunks/messages-D0ohMB5H.mjs +47 -0
- package/dist/chunks/messages-D3GrDwXh.mjs +47 -0
- package/dist/chunks/messages-D3vTzIpL.mjs +47 -0
- package/dist/chunks/messages-D5WeksbV.mjs +47 -0
- package/dist/chunks/messages-DGaab4EP.mjs +47 -0
- package/dist/chunks/messages-DKha57ZU.mjs +47 -0
- package/dist/chunks/messages-DOaujgMW.mjs +47 -0
- package/dist/chunks/messages-DVbPLd_0.mjs +47 -0
- package/dist/chunks/messages-D_FCyfW6.mjs +47 -0
- package/dist/chunks/messages-Dd5iZN3c.mjs +47 -0
- package/dist/chunks/messages-DehM7135.mjs +47 -0
- package/dist/chunks/messages-Dg1OHftD.mjs +47 -0
- package/dist/chunks/messages-Di6Flq-b.mjs +47 -0
- package/dist/chunks/messages-Dqhhex6e.mjs +47 -0
- package/dist/chunks/messages-DueVe0F1.mjs +47 -0
- package/dist/chunks/messages-Dx3eFwI0.mjs +47 -0
- package/dist/chunks/messages-FOtiUoKl.mjs +47 -0
- package/dist/chunks/messages-FTOZNhRD.mjs +47 -0
- package/dist/chunks/messages-IQxGfQIV.mjs +47 -0
- package/dist/chunks/messages-JF2fzCkK.mjs +47 -0
- package/dist/chunks/messages-MOGl7I5v.mjs +47 -0
- package/dist/chunks/messages-QgYhPL-3.mjs +47 -0
- package/dist/chunks/messages-WYWIbQwo.mjs +47 -0
- package/dist/chunks/messages-a6A_LgDv.mjs +47 -0
- package/dist/chunks/messages-bSf31LJi.mjs +47 -0
- package/dist/chunks/messages-diGozhTn.mjs +47 -0
- package/dist/chunks/messages-er-kd-VO.mjs +47 -0
- package/dist/chunks/messages-ez3w5NBn.mjs +47 -0
- package/dist/chunks/messages-f3uXjegd.mjs +47 -0
- package/dist/chunks/messages-ohwI1UGv.mjs +47 -0
- package/dist/chunks/messages-p9BZJaFV.mjs +47 -0
- package/dist/chunks/messages-qIQ4L4rw.mjs +47 -0
- package/dist/chunks/messages-qWkXPggi.mjs +47 -0
- package/dist/chunks/messages-w5foGze_.mjs +47 -0
- package/dist/full.mjs +50 -0
- package/dist/locales.mjs +227 -0
- package/dist/messages-2434tVOK.mjs +47 -0
- package/dist/messages-3DcCwXMF.mjs +47 -0
- package/dist/messages-4kMwVAKY.mjs +47 -0
- package/dist/messages-57uL5htT.mjs +47 -0
- package/dist/messages-76-iJV9Q.mjs +47 -0
- package/dist/messages-8p86Eyf2.mjs +47 -0
- package/dist/messages-BBX0p0Pi.mjs +47 -0
- package/dist/messages-BCm2eudQ.mjs +47 -0
- package/dist/messages-BFiUomgG.mjs +47 -0
- package/dist/messages-BIPNHHAV.mjs +47 -0
- package/dist/messages-BUlwu9mo.mjs +47 -0
- package/dist/messages-BX-DPa-z.mjs +47 -0
- package/dist/messages-BextV3Qh.mjs +47 -0
- package/dist/messages-BiPSFlUG.mjs +47 -0
- package/dist/messages-BiXe9G-O.mjs +47 -0
- package/dist/messages-Bl5z_Igo.mjs +47 -0
- package/dist/messages-BnsE97ku.mjs +47 -0
- package/dist/messages-BoO8gsVD.mjs +47 -0
- package/dist/messages-BqWaOGMn.mjs +47 -0
- package/dist/messages-BqkL2_Ro.mjs +47 -0
- package/dist/messages-BvCkXKX-.mjs +47 -0
- package/dist/messages-C6tbPLoj.mjs +47 -0
- package/dist/messages-CA6T3-gQ.mjs +47 -0
- package/dist/messages-CFFPFdWP.mjs +47 -0
- package/dist/messages-CFrKE-TN.mjs +47 -0
- package/dist/messages-CHz8VlG-.mjs +47 -0
- package/dist/messages-CLixzySl.mjs +47 -0
- package/dist/messages-CV7OM_qk.mjs +47 -0
- package/dist/messages-CXHt3eCC.mjs +47 -0
- package/dist/messages-CbmsBrB0.mjs +47 -0
- package/dist/messages-Ceo1KtFx.mjs +47 -0
- package/dist/messages-Cm0LJLtB.mjs +47 -0
- package/dist/messages-CmymP_Ar.mjs +47 -0
- package/dist/messages-D0ohMB5H.mjs +47 -0
- package/dist/messages-D3GrDwXh.mjs +47 -0
- package/dist/messages-D3vTzIpL.mjs +47 -0
- package/dist/messages-D5WeksbV.mjs +47 -0
- package/dist/messages-DGaab4EP.mjs +47 -0
- package/dist/messages-DKha57ZU.mjs +47 -0
- package/dist/messages-DOaujgMW.mjs +47 -0
- package/dist/messages-DVbPLd_0.mjs +47 -0
- package/dist/messages-D_FCyfW6.mjs +47 -0
- package/dist/messages-Dd5iZN3c.mjs +47 -0
- package/dist/messages-DehM7135.mjs +47 -0
- package/dist/messages-Dg1OHftD.mjs +47 -0
- package/dist/messages-Di6Flq-b.mjs +47 -0
- package/dist/messages-Dqhhex6e.mjs +47 -0
- package/dist/messages-DueVe0F1.mjs +47 -0
- package/dist/messages-Dx3eFwI0.mjs +47 -0
- package/dist/messages-FOtiUoKl.mjs +47 -0
- package/dist/messages-FTOZNhRD.mjs +47 -0
- package/dist/messages-IQxGfQIV.mjs +47 -0
- package/dist/messages-JF2fzCkK.mjs +47 -0
- package/dist/messages-MOGl7I5v.mjs +47 -0
- package/dist/messages-QgYhPL-3.mjs +47 -0
- package/dist/messages-WYWIbQwo.mjs +47 -0
- package/dist/messages-a6A_LgDv.mjs +47 -0
- package/dist/messages-bSf31LJi.mjs +47 -0
- package/dist/messages-diGozhTn.mjs +47 -0
- package/dist/messages-er-kd-VO.mjs +47 -0
- package/dist/messages-ez3w5NBn.mjs +47 -0
- package/dist/messages-f3uXjegd.mjs +47 -0
- package/dist/messages-ohwI1UGv.mjs +47 -0
- package/dist/messages-p9BZJaFV.mjs +47 -0
- package/dist/messages-qIQ4L4rw.mjs +47 -0
- package/dist/messages-qWkXPggi.mjs +47 -0
- package/dist/messages-w5foGze_.mjs +47 -0
- package/dist/tools.mjs +3073 -0
- package/dist/vendor.LICENSE.txt +59 -156
- package/package.json +48 -16
- 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 +1427 -0
- package/src/components/block-tunes/block-tune-delete.ts +51 -0
- package/src/components/blocks.ts +338 -0
- package/src/components/constants/data-attributes.ts +342 -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 +481 -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 +44 -0
- package/src/components/i18n/locales/ar/messages.json +44 -0
- package/src/components/i18n/locales/az/messages.json +44 -0
- package/src/components/i18n/locales/bg/messages.json +44 -0
- package/src/components/i18n/locales/bn/messages.json +44 -0
- package/src/components/i18n/locales/bs/messages.json +44 -0
- package/src/components/i18n/locales/cs/messages.json +44 -0
- package/src/components/i18n/locales/da/messages.json +44 -0
- package/src/components/i18n/locales/de/messages.json +44 -0
- package/src/components/i18n/locales/dv/messages.json +44 -0
- package/src/components/i18n/locales/el/messages.json +44 -0
- package/src/components/i18n/locales/en/messages.json +44 -0
- package/src/components/i18n/locales/es/messages.json +44 -0
- package/src/components/i18n/locales/et/messages.json +44 -0
- package/src/components/i18n/locales/fa/messages.json +44 -0
- package/src/components/i18n/locales/fi/messages.json +44 -0
- package/src/components/i18n/locales/fil/messages.json +44 -0
- package/src/components/i18n/locales/fr/messages.json +44 -0
- package/src/components/i18n/locales/gu/messages.json +44 -0
- package/src/components/i18n/locales/he/messages.json +44 -0
- package/src/components/i18n/locales/hi/messages.json +44 -0
- package/src/components/i18n/locales/hr/messages.json +44 -0
- package/src/components/i18n/locales/hu/messages.json +44 -0
- package/src/components/i18n/locales/hy/messages.json +44 -0
- package/src/components/i18n/locales/id/messages.json +44 -0
- package/src/components/i18n/locales/index.ts +225 -0
- package/src/components/i18n/locales/it/messages.json +44 -0
- package/src/components/i18n/locales/ja/messages.json +44 -0
- package/src/components/i18n/locales/ka/messages.json +44 -0
- package/src/components/i18n/locales/km/messages.json +44 -0
- package/src/components/i18n/locales/kn/messages.json +44 -0
- package/src/components/i18n/locales/ko/messages.json +44 -0
- package/src/components/i18n/locales/ku/messages.json +44 -0
- package/src/components/i18n/locales/lo/messages.json +44 -0
- package/src/components/i18n/locales/lt/messages.json +44 -0
- package/src/components/i18n/locales/lv/messages.json +44 -0
- package/src/components/i18n/locales/mk/messages.json +44 -0
- package/src/components/i18n/locales/ml/messages.json +44 -0
- package/src/components/i18n/locales/mn/messages.json +44 -0
- package/src/components/i18n/locales/mr/messages.json +44 -0
- package/src/components/i18n/locales/ms/messages.json +44 -0
- package/src/components/i18n/locales/my/messages.json +44 -0
- package/src/components/i18n/locales/ne/messages.json +44 -0
- package/src/components/i18n/locales/nl/messages.json +44 -0
- package/src/components/i18n/locales/no/messages.json +44 -0
- package/src/components/i18n/locales/pa/messages.json +44 -0
- package/src/components/i18n/locales/pl/messages.json +44 -0
- package/src/components/i18n/locales/ps/messages.json +44 -0
- package/src/components/i18n/locales/pt/messages.json +44 -0
- package/src/components/i18n/locales/ro/messages.json +44 -0
- package/src/components/i18n/locales/ru/messages.json +44 -0
- package/src/components/i18n/locales/sd/messages.json +44 -0
- package/src/components/i18n/locales/si/messages.json +44 -0
- package/src/components/i18n/locales/sk/messages.json +44 -0
- package/src/components/i18n/locales/sl/messages.json +44 -0
- package/src/components/i18n/locales/sq/messages.json +44 -0
- package/src/components/i18n/locales/sr/messages.json +44 -0
- package/src/components/i18n/locales/sv/messages.json +44 -0
- package/src/components/i18n/locales/sw/messages.json +44 -0
- package/src/components/i18n/locales/ta/messages.json +44 -0
- package/src/components/i18n/locales/te/messages.json +44 -0
- package/src/components/i18n/locales/th/messages.json +44 -0
- package/src/components/i18n/locales/tr/messages.json +44 -0
- package/src/components/i18n/locales/ug/messages.json +44 -0
- package/src/components/i18n/locales/uk/messages.json +44 -0
- package/src/components/i18n/locales/ur/messages.json +44 -0
- package/src/components/i18n/locales/vi/messages.json +44 -0
- package/src/components/i18n/locales/yi/messages.json +44 -0
- package/src/components/i18n/locales/zh/messages.json +44 -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 +363 -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 +33 -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 +1375 -0
- package/src/components/modules/blockManager.ts +1348 -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 +1141 -0
- package/src/components/modules/history.ts +1098 -0
- package/src/components/modules/i18n.ts +325 -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 +668 -0
- package/src/components/modules/renderer.ts +155 -0
- package/src/components/modules/saver.ts +283 -0
- package/src/components/modules/toolbar/blockSettings.ts +776 -0
- package/src/components/modules/toolbar/index.ts +1311 -0
- package/src/components/modules/toolbar/inline.ts +956 -0
- package/src/components/modules/tools.ts +589 -0
- package/src/components/modules/ui.ts +1179 -0
- package/src/components/polyfills.ts +113 -0
- package/src/components/selection.ts +1189 -0
- package/src/components/tools/base.ts +274 -0
- package/src/components/tools/block.ts +291 -0
- package/src/components/tools/collection.ts +67 -0
- package/src/components/tools/factory.ts +85 -0
- package/src/components/tools/inline.ts +71 -0
- package/src/components/tools/tune.ts +33 -0
- package/src/components/ui/toolbox.ts +497 -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 +666 -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 +187 -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 +181 -0
- package/src/components/utils/popover/components/search-input/search-input.types.ts +30 -0
- package/src/components/utils/popover/index.ts +13 -0
- package/src/components/utils/popover/popover-abstract.ts +448 -0
- package/src/components/utils/popover/popover-desktop.ts +643 -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 +105 -0
- package/src/components/utils/tooltip.ts +642 -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 +570 -0
- package/src/tools/index.ts +38 -0
- package/src/tools/list/index.ts +1803 -0
- package/src/tools/paragraph/index.ts +411 -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 +1 -1
- package/types/api/i18n.d.ts +5 -3
- package/types/api/selection.d.ts +6 -0
- package/types/api/styles.d.ts +0 -5
- package/types/configs/blok-config.d.ts +21 -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 +169 -0
- package/types/data-formats/output-data.d.ts +15 -0
- package/types/full.d.ts +80 -0
- package/types/index.d.ts +9 -12
- 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 +16 -2
- package/types/tools/tool.d.ts +6 -0
- package/types/tools-entry.d.ts +49 -0
- package/types/utils/popover/popover-item.d.ts +0 -5
- package/dist/blok-DvN73wsH.mjs +0 -19922
- package/dist/blok.umd.js +0 -166
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Minimal Tailwind class merger optimized for Blok's specific class usage patterns.
|
|
3
|
+
* Handles conflicts between classes in the same category where later classes should override earlier ones.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Regex patterns for class categories where conflicts can occur.
|
|
8
|
+
* Each pattern captures the "group" that defines conflict - classes in the same group override each other.
|
|
9
|
+
*/
|
|
10
|
+
const CLASS_PATTERNS: Array<{ pattern: RegExp; getGroup: (match: RegExpMatchArray) => string }> = [
|
|
11
|
+
// Max-width: max-w-* classes conflict with each other
|
|
12
|
+
{ pattern: /^max-w-(.+)$/, getGroup: () => 'max-w' },
|
|
13
|
+
|
|
14
|
+
// Width: w-* classes conflict with each other
|
|
15
|
+
{ pattern: /^w-(.+)$/, getGroup: () => 'w' },
|
|
16
|
+
|
|
17
|
+
// Min-width: min-w-* classes conflict with each other
|
|
18
|
+
{ pattern: /^min-w-(.+)$/, getGroup: () => 'min-w' },
|
|
19
|
+
|
|
20
|
+
// Height: h-* classes conflict with each other
|
|
21
|
+
{ pattern: /^h-(.+)$/, getGroup: () => 'h' },
|
|
22
|
+
|
|
23
|
+
// Display: block, inline-block, flex, hidden, etc.
|
|
24
|
+
{ pattern: /^(block|inline-block|inline|flex|inline-flex|grid|inline-grid|hidden|contents|flow-root|list-item)$/, getGroup: () => 'display' },
|
|
25
|
+
|
|
26
|
+
// Flex direction: flex-row, flex-col
|
|
27
|
+
{ pattern: /^flex-(row|col|row-reverse|col-reverse)$/, getGroup: () => 'flex-dir' },
|
|
28
|
+
|
|
29
|
+
// Justify content: justify-*
|
|
30
|
+
{ pattern: /^justify-(.+)$/, getGroup: () => 'justify' },
|
|
31
|
+
|
|
32
|
+
// Align items: items-*
|
|
33
|
+
{ pattern: /^items-(.+)$/, getGroup: () => 'items' },
|
|
34
|
+
|
|
35
|
+
// Text alignment: text-left, text-center, text-right
|
|
36
|
+
{ pattern: /^text-(left|center|right|justify|start|end)$/, getGroup: () => 'text-align' },
|
|
37
|
+
|
|
38
|
+
// Text color: text-{color} (but not text-align classes)
|
|
39
|
+
{ pattern: /^text-((?!left|center|right|justify|start|end).+)$/, getGroup: () => 'text-color' },
|
|
40
|
+
|
|
41
|
+
// Background: bg-*
|
|
42
|
+
{ pattern: /^bg-(.+)$/, getGroup: () => 'bg' },
|
|
43
|
+
|
|
44
|
+
// Opacity: opacity-*
|
|
45
|
+
{ pattern: /^opacity-(.+)$/, getGroup: () => 'opacity' },
|
|
46
|
+
|
|
47
|
+
// Z-index: z-*
|
|
48
|
+
{ pattern: /^z-(.+)$/, getGroup: () => 'z' },
|
|
49
|
+
|
|
50
|
+
// Position: static, fixed, absolute, relative, sticky
|
|
51
|
+
{ pattern: /^(static|fixed|absolute|relative|sticky)$/, getGroup: () => 'position' },
|
|
52
|
+
|
|
53
|
+
// Inset (all sides): inset-*
|
|
54
|
+
{ pattern: /^inset-(.+)$/, getGroup: () => 'inset' },
|
|
55
|
+
|
|
56
|
+
// Top/Right/Bottom/Left positioning
|
|
57
|
+
{ pattern: /^(top|right|bottom|left)-(.+)$/, getGroup: (m) => m[1] },
|
|
58
|
+
|
|
59
|
+
// Margin: m-*, mx-*, my-*, mt-*, mr-*, mb-*, ml-*
|
|
60
|
+
{ pattern: /^!?m-(.+)$/, getGroup: () => 'm' },
|
|
61
|
+
{ pattern: /^!?mx-(.+)$/, getGroup: () => 'mx' },
|
|
62
|
+
{ pattern: /^!?my-(.+)$/, getGroup: () => 'my' },
|
|
63
|
+
{ pattern: /^!?mt-(.+)$/, getGroup: () => 'mt' },
|
|
64
|
+
{ pattern: /^!?mr-(.+)$/, getGroup: () => 'mr' },
|
|
65
|
+
{ pattern: /^!?mb-(.+)$/, getGroup: () => 'mb' },
|
|
66
|
+
{ pattern: /^!?ml-(.+)$/, getGroup: () => 'ml' },
|
|
67
|
+
|
|
68
|
+
// Padding: p-*, px-*, py-*, pt-*, pr-*, pb-*, pl-*
|
|
69
|
+
{ pattern: /^p-(.+)$/, getGroup: () => 'p' },
|
|
70
|
+
{ pattern: /^px-(.+)$/, getGroup: () => 'px' },
|
|
71
|
+
{ pattern: /^py-(.+)$/, getGroup: () => 'py' },
|
|
72
|
+
{ pattern: /^pt-(.+)$/, getGroup: () => 'pt' },
|
|
73
|
+
{ pattern: /^pr-(.+)$/, getGroup: () => 'pr' },
|
|
74
|
+
{ pattern: /^pb-(.+)$/, getGroup: () => 'pb' },
|
|
75
|
+
{ pattern: /^pl-(.+)$/, getGroup: () => 'pl' },
|
|
76
|
+
|
|
77
|
+
// Gap: gap-*, gap-x-*, gap-y-*
|
|
78
|
+
{ pattern: /^gap-(.+)$/, getGroup: () => 'gap' },
|
|
79
|
+
|
|
80
|
+
// Border radius: rounded-*
|
|
81
|
+
{ pattern: /^rounded(-.*)?$/, getGroup: () => 'rounded' },
|
|
82
|
+
|
|
83
|
+
// Visibility: visible, invisible
|
|
84
|
+
{ pattern: /^(visible|invisible)$/, getGroup: () => 'visibility' },
|
|
85
|
+
|
|
86
|
+
// Overflow: overflow-*
|
|
87
|
+
{ pattern: /^overflow-(.+)$/, getGroup: () => 'overflow' },
|
|
88
|
+
|
|
89
|
+
// Cursor: cursor-*
|
|
90
|
+
{ pattern: /^cursor-(.+)$/, getGroup: () => 'cursor' },
|
|
91
|
+
|
|
92
|
+
// Pointer events: pointer-events-*
|
|
93
|
+
{ pattern: /^pointer-events-(.+)$/, getGroup: () => 'pointer-events' },
|
|
94
|
+
|
|
95
|
+
// Transition: transition-*
|
|
96
|
+
{ pattern: /^transition(-.*)?$/, getGroup: () => 'transition' },
|
|
97
|
+
|
|
98
|
+
// Duration: duration-*
|
|
99
|
+
{ pattern: /^duration-(.+)$/, getGroup: () => 'duration' },
|
|
100
|
+
|
|
101
|
+
// Ease: ease-*
|
|
102
|
+
{ pattern: /^ease-(.+)$/, getGroup: () => 'ease' },
|
|
103
|
+
|
|
104
|
+
// Animation: animate-*
|
|
105
|
+
{ pattern: /^animate-(.+)$/, getGroup: () => 'animate' },
|
|
106
|
+
|
|
107
|
+
// Font weight: font-*
|
|
108
|
+
{ pattern: /^font-(thin|extralight|light|normal|medium|semibold|bold|extrabold|black)$/, getGroup: () => 'font-weight' },
|
|
109
|
+
|
|
110
|
+
// Font size: text-{size}
|
|
111
|
+
{ pattern: /^text-(xs|sm|base|lg|xl|2xl|3xl|4xl|5xl|6xl|7xl|8xl|9xl)$/, getGroup: () => 'font-size' },
|
|
112
|
+
|
|
113
|
+
// Line height: leading-*
|
|
114
|
+
{ pattern: /^leading-(.+)$/, getGroup: () => 'leading' },
|
|
115
|
+
|
|
116
|
+
// Outline: outline-*
|
|
117
|
+
{ pattern: /^outline(-.*)?$/, getGroup: () => 'outline' },
|
|
118
|
+
|
|
119
|
+
// Border: border-*
|
|
120
|
+
{ pattern: /^border(-.*)?$/, getGroup: () => 'border' },
|
|
121
|
+
|
|
122
|
+
// Shadow: shadow-*
|
|
123
|
+
{ pattern: /^shadow(-.*)?$/, getGroup: () => 'shadow' },
|
|
124
|
+
];
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* Cache for class group lookups to avoid repeated regex matching
|
|
128
|
+
*/
|
|
129
|
+
const classGroupCache = new Map<string, string | null>();
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
* Gets the conflict group for a class, or null if it doesn't belong to a conflict group.
|
|
133
|
+
* Uses caching for performance.
|
|
134
|
+
*/
|
|
135
|
+
const getClassGroup = (className: string): string | null => {
|
|
136
|
+
const cached = classGroupCache.get(className);
|
|
137
|
+
|
|
138
|
+
if (cached !== undefined) {
|
|
139
|
+
return cached;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
for (const { pattern, getGroup } of CLASS_PATTERNS) {
|
|
143
|
+
const match = className.match(pattern);
|
|
144
|
+
|
|
145
|
+
if (match) {
|
|
146
|
+
const group = getGroup(match);
|
|
147
|
+
|
|
148
|
+
classGroupCache.set(className, group);
|
|
149
|
+
|
|
150
|
+
return group;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
classGroupCache.set(className, null);
|
|
155
|
+
|
|
156
|
+
return null;
|
|
157
|
+
};
|
|
158
|
+
|
|
159
|
+
type ClassValue = string | string[] | undefined | null | false;
|
|
160
|
+
|
|
161
|
+
/**
|
|
162
|
+
* Processes a single class and adds it to the result maps
|
|
163
|
+
*/
|
|
164
|
+
const processClass = (
|
|
165
|
+
cls: string,
|
|
166
|
+
result: Map<string, string>,
|
|
167
|
+
nonConflicting: string[]
|
|
168
|
+
): void => {
|
|
169
|
+
const group = getClassGroup(cls);
|
|
170
|
+
|
|
171
|
+
if (group) {
|
|
172
|
+
result.set(group, cls);
|
|
173
|
+
|
|
174
|
+
return;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
// Non-conflicting class - add if not already present
|
|
178
|
+
if (!nonConflicting.includes(cls)) {
|
|
179
|
+
nonConflicting.push(cls);
|
|
180
|
+
}
|
|
181
|
+
};
|
|
182
|
+
|
|
183
|
+
/**
|
|
184
|
+
* Flattens inputs into a single array of class strings
|
|
185
|
+
*/
|
|
186
|
+
const flattenInputs = (inputs: ClassValue[]): string[] => {
|
|
187
|
+
const strings: string[] = [];
|
|
188
|
+
|
|
189
|
+
for (const input of inputs) {
|
|
190
|
+
if (!input) {
|
|
191
|
+
continue;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
if (Array.isArray(input)) {
|
|
195
|
+
strings.push(...input.filter(Boolean) as string[]);
|
|
196
|
+
continue;
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
strings.push(input);
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
return strings;
|
|
203
|
+
};
|
|
204
|
+
|
|
205
|
+
/**
|
|
206
|
+
* Merges Tailwind CSS class names, resolving conflicts intelligently.
|
|
207
|
+
* Later classes override earlier ones when they conflict.
|
|
208
|
+
*
|
|
209
|
+
* @example
|
|
210
|
+
* twMerge('p-2 p-4') // => 'p-4'
|
|
211
|
+
* twMerge('text-red-500', 'text-blue-500') // => 'text-blue-500'
|
|
212
|
+
* twMerge('px-2 py-1', 'p-3') // => 'py-1 p-3' (p-3 overrides px-2, py-1 kept)
|
|
213
|
+
*
|
|
214
|
+
* Use this when extending base styles from api.styles.*
|
|
215
|
+
* @example
|
|
216
|
+
* const blockStyles = twMerge(api.styles.block, 'my-custom-padding')
|
|
217
|
+
*/
|
|
218
|
+
export const twMerge = (...inputs: ClassValue[]): string => {
|
|
219
|
+
const result = new Map<string, string>();
|
|
220
|
+
const nonConflicting: string[] = [];
|
|
221
|
+
const flatInputs = flattenInputs(inputs);
|
|
222
|
+
|
|
223
|
+
for (const input of flatInputs) {
|
|
224
|
+
const classes = input.split(/\s+/).filter(Boolean);
|
|
225
|
+
|
|
226
|
+
classes.forEach((cls) => processClass(cls, result, nonConflicting));
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
return [...nonConflicting, ...result.values()].join(' ');
|
|
230
|
+
};
|
|
231
|
+
|
|
232
|
+
/**
|
|
233
|
+
* Joins Tailwind CSS class names without conflict resolution.
|
|
234
|
+
* Use this when you know classes don't conflict and want faster execution.
|
|
235
|
+
*
|
|
236
|
+
* @example
|
|
237
|
+
* twJoin('flex', 'items-center', 'gap-2') // => 'flex items-center gap-2'
|
|
238
|
+
*/
|
|
239
|
+
export const twJoin = (...inputs: Array<string | undefined | null | false>): string => {
|
|
240
|
+
return inputs.filter(Boolean).join(' ');
|
|
241
|
+
};
|