@jackuait/blok 0.4.2 → 0.4.3-beta.10
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 +7 -5
- package/codemod/README.md +32 -10
- package/codemod/migrate-editorjs-to-blok.js +92 -0
- package/codemod/test.js +98 -0
- package/dist/blok.mjs +2 -2
- package/dist/chunks/{blok-BjgH1REI.mjs → blok-D85C_iyk.mjs} +1863 -1736
- package/dist/chunks/{i18next-loader-DfiUa_gd.mjs → i18next-loader-exc8oN3J.mjs} +1 -1
- package/dist/chunks/{index-5m5JWNey.mjs → index-fqgWb6Ue.mjs} +1 -1
- package/dist/chunks/{inline-tool-convert-Bx5BVd8I.mjs → inline-tool-convert-CYkcoF1r.mjs} +201 -203
- package/dist/chunks/{messages-BFiUomgG.mjs → messages--yMo5vYp.mjs} +1 -1
- package/dist/chunks/{messages-2434tVOK.mjs → messages-82j7Sb1f.mjs} +1 -1
- package/dist/chunks/{messages-p9BZJaFV.mjs → messages-9-pnvSWZ.mjs} +1 -1
- package/dist/{messages-D5WeksbV.mjs → chunks/messages-B-b_IFZh.mjs} +1 -1
- package/dist/chunks/{messages-ez3w5NBn.mjs → messages-B5OIvtYB.mjs} +1 -1
- package/dist/{messages-FTOZNhRD.mjs → chunks/messages-B7zIiLTq.mjs} +1 -1
- package/dist/{messages-JF2fzCkK.mjs → chunks/messages-BCidD-VB.mjs} +1 -1
- package/dist/chunks/{messages-WYWIbQwo.mjs → messages-BWDnoNq0.mjs} +1 -1
- package/dist/chunks/{messages-BIPNHHAV.mjs → messages-BXsoyz5-.mjs} +1 -1
- package/dist/{messages-CXHt3eCC.mjs → chunks/messages-BYeiscyc.mjs} +1 -1
- package/dist/chunks/{messages-er-kd-VO.mjs → messages-BZ-Ia4tk.mjs} +1 -1
- package/dist/chunks/{messages-CmymP_Ar.mjs → messages-BaaIMBL8.mjs} +1 -1
- package/dist/chunks/{messages-Dd5iZN3c.mjs → messages-BgbVziWf.mjs} +1 -1
- package/dist/chunks/{messages-76-iJV9Q.mjs → messages-BgmPDL9Z.mjs} +1 -1
- package/dist/chunks/{messages-BextV3Qh.mjs → messages-Bi0X1QMU.mjs} +1 -1
- package/dist/chunks/{messages-QgYhPL-3.mjs → messages-BjZll4R7.mjs} +1 -1
- package/dist/{messages-D_FCyfW6.mjs → chunks/messages-BnmcUH66.mjs} +1 -1
- package/dist/chunks/{messages-DueVe0F1.mjs → messages-Bo9JrN9m.mjs} +1 -1
- package/dist/{messages-f3uXjegd.mjs → chunks/messages-BuKgyEeU.mjs} +1 -1
- package/dist/chunks/{messages-ohwI1UGv.mjs → messages-CJQt8nzO.mjs} +1 -1
- package/dist/chunks/{messages-D3vTzIpL.mjs → messages-CNRsIuSS.mjs} +1 -1
- package/dist/chunks/{messages-qWkXPggi.mjs → messages-CPdlHIEi.mjs} +1 -1
- package/dist/{messages-CbmsBrB0.mjs → chunks/messages-CTeYgNo1.mjs} +1 -1
- package/dist/{messages-BCm2eudQ.mjs → chunks/messages-CVvHbBlx.mjs} +1 -1
- package/dist/{messages-D3GrDwXh.mjs → chunks/messages-CbP4KoKV.mjs} +1 -1
- package/dist/chunks/{messages-Dg1OHftD.mjs → messages-CbepBt3K.mjs} +1 -1
- package/dist/{messages-BqWaOGMn.mjs → chunks/messages-CbtBGtJT.mjs} +1 -1
- package/dist/chunks/{messages-BqkL2_Ro.mjs → messages-CcYGSGRh.mjs} +1 -1
- package/dist/{messages-57uL5htT.mjs → chunks/messages-CjksZqgf.mjs} +1 -1
- package/dist/chunks/{messages-CFrKE-TN.mjs → messages-Cm4WhO4g.mjs} +1 -1
- package/dist/{messages-BiXe9G-O.mjs → chunks/messages-CoY-hJgp.mjs} +1 -1
- package/dist/chunks/{messages-qIQ4L4rw.mjs → messages-CpkO-V0C.mjs} +1 -1
- package/dist/{messages-DKha57ZU.mjs → chunks/messages-CwYueRo5.mjs} +1 -1
- package/dist/chunks/{messages-3DcCwXMF.mjs → messages-D-tDNAzW.mjs} +1 -1
- package/dist/{messages-DehM7135.mjs → chunks/messages-D2h_bTrn.mjs} +1 -1
- package/dist/chunks/{messages-IQxGfQIV.mjs → messages-D5J2Xlpx.mjs} +1 -1
- package/dist/chunks/{messages-Cm0LJLtB.mjs → messages-D8VsV_Ro.mjs} +1 -1
- package/dist/chunks/{messages-CHz8VlG-.mjs → messages-D8sk1mxH.mjs} +1 -1
- package/dist/chunks/{messages-MOGl7I5v.mjs → messages-D8tlQmPj.mjs} +1 -1
- package/dist/chunks/{messages-BiPSFlUG.mjs → messages-D9xzl8Wn.mjs} +1 -1
- package/dist/{messages-BoO8gsVD.mjs → chunks/messages-DG2QXu_f.mjs} +1 -1
- package/dist/{messages-DGaab4EP.mjs → chunks/messages-DHdkT1vy.mjs} +1 -1
- package/dist/{messages-4kMwVAKY.mjs → chunks/messages-DIbeBo-6.mjs} +1 -1
- package/dist/{messages-DVbPLd_0.mjs → chunks/messages-DR0sRlko.mjs} +1 -1
- package/dist/{messages-BX-DPa-z.mjs → chunks/messages-DRTt_xBc.mjs} +1 -1
- package/dist/{messages-CV7OM_qk.mjs → chunks/messages-DT43ZUKr.mjs} +1 -1
- package/dist/{messages-Di6Flq-b.mjs → chunks/messages-DT5djAjs.mjs} +1 -1
- package/dist/{messages-C6tbPLoj.mjs → chunks/messages-Df6LYOt5.mjs} +1 -1
- package/dist/chunks/{messages-BUlwu9mo.mjs → messages-DhdzbzrS.mjs} +1 -1
- package/dist/chunks/{messages-Ceo1KtFx.mjs → messages-DiyoZ_Oa.mjs} +1 -1
- package/dist/chunks/{messages-8p86Eyf2.mjs → messages-DkJ5aV3V.mjs} +1 -1
- package/dist/{messages-Dx3eFwI0.mjs → chunks/messages-DvwZEFTL.mjs} +1 -1
- package/dist/{messages-Bl5z_Igo.mjs → chunks/messages-Dw5GZ4YT.mjs} +1 -1
- package/dist/chunks/{messages-CLixzySl.mjs → messages-HSxl9MoN.mjs} +1 -1
- package/dist/chunks/{messages-DOaujgMW.mjs → messages-JztkG3tZ.mjs} +1 -1
- package/dist/{messages-BnsE97ku.mjs → chunks/messages-KLzTvDED.mjs} +1 -1
- package/dist/{messages-BBX0p0Pi.mjs → chunks/messages-TulYnz1f.mjs} +1 -1
- package/dist/chunks/{messages-D0ohMB5H.mjs → messages-Uexhy7C9.mjs} +1 -1
- package/dist/{messages-Dqhhex6e.mjs → chunks/messages-ctRNTfv5.mjs} +1 -1
- package/dist/chunks/{messages-CA6T3-gQ.mjs → messages-dIzxSHR2.mjs} +1 -1
- package/dist/chunks/{messages-bSf31LJi.mjs → messages-g7Njot5w.mjs} +1 -1
- package/dist/chunks/{messages-w5foGze_.mjs → messages-iNIhRBkQ.mjs} +1 -1
- package/dist/chunks/{messages-FOtiUoKl.mjs → messages-jmh1Gbfd.mjs} +1 -1
- package/dist/chunks/{messages-a6A_LgDv.mjs → messages-oO_lJ-_I.mjs} +1 -1
- package/dist/chunks/{messages-BvCkXKX-.mjs → messages-qFesO1Lu.mjs} +1 -1
- package/dist/{messages-diGozhTn.mjs → chunks/messages-sSYZ0Mz9.mjs} +1 -1
- package/dist/chunks/{messages-CFFPFdWP.mjs → messages-zs9AgeBF.mjs} +1 -1
- package/dist/full.mjs +2 -2
- package/dist/locales.mjs +68 -68
- package/dist/{messages-BFiUomgG.mjs → messages--yMo5vYp.mjs} +1 -1
- package/dist/{messages-2434tVOK.mjs → messages-82j7Sb1f.mjs} +1 -1
- package/dist/{messages-p9BZJaFV.mjs → messages-9-pnvSWZ.mjs} +1 -1
- package/dist/{chunks/messages-D5WeksbV.mjs → messages-B-b_IFZh.mjs} +1 -1
- package/dist/{messages-ez3w5NBn.mjs → messages-B5OIvtYB.mjs} +1 -1
- package/dist/{chunks/messages-FTOZNhRD.mjs → messages-B7zIiLTq.mjs} +1 -1
- package/dist/{chunks/messages-JF2fzCkK.mjs → messages-BCidD-VB.mjs} +1 -1
- package/dist/{messages-WYWIbQwo.mjs → messages-BWDnoNq0.mjs} +1 -1
- package/dist/{messages-BIPNHHAV.mjs → messages-BXsoyz5-.mjs} +1 -1
- package/dist/{chunks/messages-CXHt3eCC.mjs → messages-BYeiscyc.mjs} +1 -1
- package/dist/{messages-er-kd-VO.mjs → messages-BZ-Ia4tk.mjs} +1 -1
- package/dist/{messages-CmymP_Ar.mjs → messages-BaaIMBL8.mjs} +1 -1
- package/dist/{messages-Dd5iZN3c.mjs → messages-BgbVziWf.mjs} +1 -1
- package/dist/{messages-76-iJV9Q.mjs → messages-BgmPDL9Z.mjs} +1 -1
- package/dist/{messages-BextV3Qh.mjs → messages-Bi0X1QMU.mjs} +1 -1
- package/dist/{messages-QgYhPL-3.mjs → messages-BjZll4R7.mjs} +1 -1
- package/dist/{chunks/messages-D_FCyfW6.mjs → messages-BnmcUH66.mjs} +1 -1
- package/dist/{messages-DueVe0F1.mjs → messages-Bo9JrN9m.mjs} +1 -1
- package/dist/{chunks/messages-f3uXjegd.mjs → messages-BuKgyEeU.mjs} +1 -1
- package/dist/{messages-ohwI1UGv.mjs → messages-CJQt8nzO.mjs} +1 -1
- package/dist/{messages-D3vTzIpL.mjs → messages-CNRsIuSS.mjs} +1 -1
- package/dist/{messages-qWkXPggi.mjs → messages-CPdlHIEi.mjs} +1 -1
- package/dist/{chunks/messages-CbmsBrB0.mjs → messages-CTeYgNo1.mjs} +1 -1
- package/dist/{chunks/messages-BCm2eudQ.mjs → messages-CVvHbBlx.mjs} +1 -1
- package/dist/{chunks/messages-D3GrDwXh.mjs → messages-CbP4KoKV.mjs} +1 -1
- package/dist/{messages-Dg1OHftD.mjs → messages-CbepBt3K.mjs} +1 -1
- package/dist/{chunks/messages-BqWaOGMn.mjs → messages-CbtBGtJT.mjs} +1 -1
- package/dist/{messages-BqkL2_Ro.mjs → messages-CcYGSGRh.mjs} +1 -1
- package/dist/{chunks/messages-57uL5htT.mjs → messages-CjksZqgf.mjs} +1 -1
- package/dist/{messages-CFrKE-TN.mjs → messages-Cm4WhO4g.mjs} +1 -1
- package/dist/{chunks/messages-BiXe9G-O.mjs → messages-CoY-hJgp.mjs} +1 -1
- package/dist/{messages-qIQ4L4rw.mjs → messages-CpkO-V0C.mjs} +1 -1
- package/dist/{chunks/messages-DKha57ZU.mjs → messages-CwYueRo5.mjs} +1 -1
- package/dist/{messages-3DcCwXMF.mjs → messages-D-tDNAzW.mjs} +1 -1
- package/dist/{chunks/messages-DehM7135.mjs → messages-D2h_bTrn.mjs} +1 -1
- package/dist/{messages-IQxGfQIV.mjs → messages-D5J2Xlpx.mjs} +1 -1
- package/dist/{messages-Cm0LJLtB.mjs → messages-D8VsV_Ro.mjs} +1 -1
- package/dist/{messages-CHz8VlG-.mjs → messages-D8sk1mxH.mjs} +1 -1
- package/dist/{messages-MOGl7I5v.mjs → messages-D8tlQmPj.mjs} +1 -1
- package/dist/{messages-BiPSFlUG.mjs → messages-D9xzl8Wn.mjs} +1 -1
- package/dist/{chunks/messages-BoO8gsVD.mjs → messages-DG2QXu_f.mjs} +1 -1
- package/dist/{chunks/messages-DGaab4EP.mjs → messages-DHdkT1vy.mjs} +1 -1
- package/dist/{chunks/messages-4kMwVAKY.mjs → messages-DIbeBo-6.mjs} +1 -1
- package/dist/{chunks/messages-DVbPLd_0.mjs → messages-DR0sRlko.mjs} +1 -1
- package/dist/{chunks/messages-BX-DPa-z.mjs → messages-DRTt_xBc.mjs} +1 -1
- package/dist/{chunks/messages-CV7OM_qk.mjs → messages-DT43ZUKr.mjs} +1 -1
- package/dist/{chunks/messages-Di6Flq-b.mjs → messages-DT5djAjs.mjs} +1 -1
- package/dist/{chunks/messages-C6tbPLoj.mjs → messages-Df6LYOt5.mjs} +1 -1
- package/dist/{messages-BUlwu9mo.mjs → messages-DhdzbzrS.mjs} +1 -1
- package/dist/{messages-Ceo1KtFx.mjs → messages-DiyoZ_Oa.mjs} +1 -1
- package/dist/{messages-8p86Eyf2.mjs → messages-DkJ5aV3V.mjs} +1 -1
- package/dist/{chunks/messages-Dx3eFwI0.mjs → messages-DvwZEFTL.mjs} +1 -1
- package/dist/{chunks/messages-Bl5z_Igo.mjs → messages-Dw5GZ4YT.mjs} +1 -1
- package/dist/{messages-CLixzySl.mjs → messages-HSxl9MoN.mjs} +1 -1
- package/dist/{messages-DOaujgMW.mjs → messages-JztkG3tZ.mjs} +1 -1
- package/dist/{chunks/messages-BnsE97ku.mjs → messages-KLzTvDED.mjs} +1 -1
- package/dist/{chunks/messages-BBX0p0Pi.mjs → messages-TulYnz1f.mjs} +1 -1
- package/dist/{messages-D0ohMB5H.mjs → messages-Uexhy7C9.mjs} +1 -1
- package/dist/{chunks/messages-Dqhhex6e.mjs → messages-ctRNTfv5.mjs} +1 -1
- package/dist/{messages-CA6T3-gQ.mjs → messages-dIzxSHR2.mjs} +1 -1
- package/dist/{messages-bSf31LJi.mjs → messages-g7Njot5w.mjs} +1 -1
- package/dist/{messages-w5foGze_.mjs → messages-iNIhRBkQ.mjs} +1 -1
- package/dist/{messages-FOtiUoKl.mjs → messages-jmh1Gbfd.mjs} +1 -1
- package/dist/{messages-a6A_LgDv.mjs → messages-oO_lJ-_I.mjs} +1 -1
- package/dist/{messages-BvCkXKX-.mjs → messages-qFesO1Lu.mjs} +1 -1
- package/dist/{chunks/messages-diGozhTn.mjs → messages-sSYZ0Mz9.mjs} +1 -1
- package/dist/{messages-CFFPFdWP.mjs → messages-zs9AgeBF.mjs} +1 -1
- package/dist/tools.mjs +131 -90
- package/package.json +16 -3
- package/src/components/flipper.ts +17 -1
- package/src/components/i18n/locales/am/messages.json +1 -1
- package/src/components/i18n/locales/ar/messages.json +1 -1
- package/src/components/i18n/locales/az/messages.json +1 -1
- package/src/components/i18n/locales/bg/messages.json +1 -1
- package/src/components/i18n/locales/bn/messages.json +1 -1
- package/src/components/i18n/locales/bs/messages.json +1 -1
- package/src/components/i18n/locales/cs/messages.json +1 -1
- package/src/components/i18n/locales/da/messages.json +1 -1
- package/src/components/i18n/locales/de/messages.json +1 -1
- package/src/components/i18n/locales/dv/messages.json +1 -1
- package/src/components/i18n/locales/el/messages.json +1 -1
- package/src/components/i18n/locales/en/messages.json +1 -1
- package/src/components/i18n/locales/es/messages.json +1 -1
- package/src/components/i18n/locales/et/messages.json +1 -1
- package/src/components/i18n/locales/fa/messages.json +1 -1
- package/src/components/i18n/locales/fi/messages.json +1 -1
- package/src/components/i18n/locales/fil/messages.json +1 -1
- package/src/components/i18n/locales/fr/messages.json +1 -1
- package/src/components/i18n/locales/gu/messages.json +1 -1
- package/src/components/i18n/locales/he/messages.json +1 -1
- package/src/components/i18n/locales/hi/messages.json +1 -1
- package/src/components/i18n/locales/hr/messages.json +1 -1
- package/src/components/i18n/locales/hu/messages.json +1 -1
- package/src/components/i18n/locales/hy/messages.json +1 -1
- package/src/components/i18n/locales/id/messages.json +1 -1
- package/src/components/i18n/locales/it/messages.json +1 -1
- package/src/components/i18n/locales/ja/messages.json +1 -1
- package/src/components/i18n/locales/ka/messages.json +1 -1
- package/src/components/i18n/locales/km/messages.json +1 -1
- package/src/components/i18n/locales/kn/messages.json +1 -1
- package/src/components/i18n/locales/ko/messages.json +1 -1
- package/src/components/i18n/locales/ku/messages.json +1 -1
- package/src/components/i18n/locales/lo/messages.json +1 -1
- package/src/components/i18n/locales/lt/messages.json +1 -1
- package/src/components/i18n/locales/lv/messages.json +1 -1
- package/src/components/i18n/locales/mk/messages.json +1 -1
- package/src/components/i18n/locales/ml/messages.json +1 -1
- package/src/components/i18n/locales/mn/messages.json +1 -1
- package/src/components/i18n/locales/mr/messages.json +1 -1
- package/src/components/i18n/locales/ms/messages.json +1 -1
- package/src/components/i18n/locales/my/messages.json +1 -1
- package/src/components/i18n/locales/ne/messages.json +1 -1
- package/src/components/i18n/locales/nl/messages.json +1 -1
- package/src/components/i18n/locales/no/messages.json +1 -1
- package/src/components/i18n/locales/pa/messages.json +1 -1
- package/src/components/i18n/locales/pl/messages.json +1 -1
- package/src/components/i18n/locales/ps/messages.json +1 -1
- package/src/components/i18n/locales/pt/messages.json +1 -1
- package/src/components/i18n/locales/ro/messages.json +1 -1
- package/src/components/i18n/locales/ru/messages.json +1 -1
- package/src/components/i18n/locales/sd/messages.json +1 -1
- package/src/components/i18n/locales/si/messages.json +1 -1
- package/src/components/i18n/locales/sk/messages.json +1 -1
- package/src/components/i18n/locales/sl/messages.json +1 -1
- package/src/components/i18n/locales/sq/messages.json +1 -1
- package/src/components/i18n/locales/sr/messages.json +1 -1
- package/src/components/i18n/locales/sv/messages.json +1 -1
- package/src/components/i18n/locales/sw/messages.json +1 -1
- package/src/components/i18n/locales/ta/messages.json +1 -1
- package/src/components/i18n/locales/te/messages.json +1 -1
- package/src/components/i18n/locales/th/messages.json +1 -1
- package/src/components/i18n/locales/tr/messages.json +1 -1
- package/src/components/i18n/locales/ug/messages.json +1 -1
- package/src/components/i18n/locales/uk/messages.json +1 -1
- package/src/components/i18n/locales/ur/messages.json +1 -1
- package/src/components/i18n/locales/vi/messages.json +1 -1
- package/src/components/i18n/locales/yi/messages.json +1 -1
- package/src/components/i18n/locales/zh/messages.json +1 -1
- package/src/components/modules/api/i18n.ts +1 -0
- package/src/components/modules/dragManager.ts +71 -13
- package/src/components/modules/i18n.ts +6 -11
- package/src/components/modules/rectangleSelection.ts +62 -19
- package/src/components/modules/toolbar/index.ts +2 -2
- package/src/components/modules/tools.ts +39 -3
- package/src/components/modules/ui.ts +83 -18
- package/src/components/selection.ts +2 -12
- package/src/components/tools/base.ts +29 -2
- package/src/components/tools/block.ts +20 -3
- package/src/components/tools/factory.ts +50 -1
- package/src/components/utils/tooltip.ts +0 -14
- package/src/tools/header/index.ts +82 -0
- package/src/tools/index.ts +13 -6
- package/src/tools/list/index.ts +2 -2
- package/types/api/i18n.d.ts +8 -0
- package/types/tools/tool-settings.d.ts +62 -4
package/dist/tools.mjs
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
3
|
-
var
|
|
4
|
-
var
|
|
5
|
-
var U = (f, t, e) => t in f ?
|
|
1
|
+
var rt = Object.defineProperty, st = Object.defineProperties;
|
|
2
|
+
var ot = Object.getOwnPropertyDescriptors;
|
|
3
|
+
var q = Object.getOwnPropertySymbols;
|
|
4
|
+
var it = Object.prototype.hasOwnProperty, at = Object.prototype.propertyIsEnumerable;
|
|
5
|
+
var U = (f, t, e) => t in f ? rt(f, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : f[t] = e, w = (f, t) => {
|
|
6
6
|
for (var e in t || (t = {}))
|
|
7
|
-
|
|
8
|
-
if (
|
|
9
|
-
for (var e of
|
|
10
|
-
|
|
7
|
+
it.call(t, e) && U(f, e, t[e]);
|
|
8
|
+
if (q)
|
|
9
|
+
for (var e of q(t))
|
|
10
|
+
at.call(t, e) && U(f, e, t[e]);
|
|
11
11
|
return f;
|
|
12
|
-
}, P = (f, t) =>
|
|
13
|
-
import { t as L, D as g, a9 as
|
|
14
|
-
import { a0 as Ot } from "./chunks/inline-tool-convert-
|
|
12
|
+
}, P = (f, t) => st(f, ot(t));
|
|
13
|
+
import { t as L, D as g, a9 as nt, aa as lt, ab as G, ac as ct, ad as dt, ae as ut, af as ht, ag as ft, ah as pt, ai as j, aj as $, ak as X, f as A, al as gt, am as mt, S as H, P as Et, an as Tt, l as Ct, J as At } from "./chunks/inline-tool-convert-CYkcoF1r.mjs";
|
|
14
|
+
import { a0 as Ot } from "./chunks/inline-tool-convert-CYkcoF1r.mjs";
|
|
15
15
|
const W = [
|
|
16
16
|
"empty:before:pointer-events-none",
|
|
17
17
|
"empty:before:text-gray-text",
|
|
@@ -41,7 +41,7 @@ const W = [
|
|
|
41
41
|
e.selectNodeContents(f), e.collapse(!0), t.removeAllRanges(), t.addRange(e);
|
|
42
42
|
}, Nt = (f) => {
|
|
43
43
|
bt(f) && St(f);
|
|
44
|
-
},
|
|
44
|
+
}, V = (f, t, e = "data-placeholder") => {
|
|
45
45
|
f.setAttribute(e, t != null ? t : "");
|
|
46
46
|
const n = () => Nt(f);
|
|
47
47
|
f.addEventListener("focus", n), f.addEventListener("input", n);
|
|
@@ -101,7 +101,7 @@ const W = [
|
|
|
101
101
|
yt
|
|
102
102
|
), t.setAttribute(g.tool, "paragraph"), t.contentEditable = "false";
|
|
103
103
|
const e = this.buildInlineStyles();
|
|
104
|
-
return Object.keys(e).length > 0 && Object.assign(t.style, e), this._data.text && (t.innerHTML = this._data.text), this.readOnly ? t.setAttribute("data-blok-placeholder-active", this.api.i18n.t(this._placeholder)) : (t.contentEditable = "true", t.addEventListener("keyup", this.onKeyUp),
|
|
104
|
+
return Object.keys(e).length > 0 && Object.assign(t.style, e), this._data.text && (t.innerHTML = this._data.text), this.readOnly ? t.setAttribute("data-blok-placeholder-active", this.api.i18n.t(this._placeholder)) : (t.contentEditable = "true", t.addEventListener("keyup", this.onKeyUp), V(t, this.api.i18n.t(this._placeholder), "data-blok-placeholder-active")), t;
|
|
105
105
|
}
|
|
106
106
|
/**
|
|
107
107
|
* Return Tool's view
|
|
@@ -142,7 +142,7 @@ const W = [
|
|
|
142
142
|
*/
|
|
143
143
|
save(t) {
|
|
144
144
|
return {
|
|
145
|
-
text:
|
|
145
|
+
text: nt(t.innerHTML)
|
|
146
146
|
};
|
|
147
147
|
}
|
|
148
148
|
/**
|
|
@@ -212,7 +212,7 @@ const W = [
|
|
|
212
212
|
*/
|
|
213
213
|
static get toolbox() {
|
|
214
214
|
return {
|
|
215
|
-
icon:
|
|
215
|
+
icon: lt,
|
|
216
216
|
title: "Text",
|
|
217
217
|
titleKey: "text"
|
|
218
218
|
};
|
|
@@ -226,8 +226,8 @@ M.WRAPPER_CLASSES = [
|
|
|
226
226
|
"[&>p:first-of-type]:mt-0",
|
|
227
227
|
"[&>p:last-of-type]:mb-0"
|
|
228
228
|
];
|
|
229
|
-
let
|
|
230
|
-
const
|
|
229
|
+
let Y = M;
|
|
230
|
+
const x = class x {
|
|
231
231
|
/**
|
|
232
232
|
* Render plugin's main Element and fill it with saved data
|
|
233
233
|
*
|
|
@@ -288,20 +288,61 @@ const I = class I {
|
|
|
288
288
|
* @returns MenuConfig array
|
|
289
289
|
*/
|
|
290
290
|
renderSettings() {
|
|
291
|
-
|
|
292
|
-
|
|
291
|
+
const t = this._settings._toolboxEntries, e = (t == null ? void 0 : t.length) === 1 && t[0].data === void 0 && (t[0].title === void 0 || t[0].title === "Heading");
|
|
292
|
+
return t !== void 0 && t.length > 0 && !e ? this.buildSettingsFromToolboxEntries(t) : this.levels.map((n) => {
|
|
293
|
+
const r = this.api.i18n.t(n.nameKey), s = r !== n.nameKey ? r : n.name;
|
|
293
294
|
return {
|
|
294
|
-
icon:
|
|
295
|
-
title:
|
|
296
|
-
onActivate: () => this.setLevel(
|
|
295
|
+
icon: n.icon,
|
|
296
|
+
title: s,
|
|
297
|
+
onActivate: () => this.setLevel(n.number),
|
|
298
|
+
closeOnActivate: !0,
|
|
299
|
+
isActive: this.currentLevel.number === n.number,
|
|
300
|
+
dataset: {
|
|
301
|
+
"blok-header-level": String(n.number)
|
|
302
|
+
}
|
|
303
|
+
};
|
|
304
|
+
});
|
|
305
|
+
}
|
|
306
|
+
/**
|
|
307
|
+
* Build settings menu items from toolbox entries.
|
|
308
|
+
* This allows users to customize which levels appear in block settings
|
|
309
|
+
* by configuring the toolbox.
|
|
310
|
+
*
|
|
311
|
+
* @param entries - Merged toolbox entries from user config
|
|
312
|
+
* @returns MenuConfig array
|
|
313
|
+
*/
|
|
314
|
+
buildSettingsFromToolboxEntries(t) {
|
|
315
|
+
return t.map((e) => {
|
|
316
|
+
var d, c, h, p;
|
|
317
|
+
const n = e.data, r = (d = n == null ? void 0 : n.level) != null ? d : this.defaultLevel.number, s = x.DEFAULT_LEVELS.find((m) => m.number === r), o = (c = s == null ? void 0 : s.name) != null ? c : `Heading ${r}`, a = this.resolveToolboxEntryTitle(e, o);
|
|
318
|
+
return {
|
|
319
|
+
icon: (p = (h = e.icon) != null ? h : s == null ? void 0 : s.icon) != null ? p : G,
|
|
320
|
+
title: a,
|
|
321
|
+
onActivate: () => this.setLevel(r),
|
|
297
322
|
closeOnActivate: !0,
|
|
298
|
-
isActive: this.currentLevel.number ===
|
|
323
|
+
isActive: this.currentLevel.number === r,
|
|
299
324
|
dataset: {
|
|
300
|
-
"blok-header-level": String(
|
|
325
|
+
"blok-header-level": String(r)
|
|
301
326
|
}
|
|
302
327
|
};
|
|
303
328
|
});
|
|
304
329
|
}
|
|
330
|
+
/**
|
|
331
|
+
* Resolves the title for a toolbox entry.
|
|
332
|
+
* Priority: custom title > i18n key translation > fallback
|
|
333
|
+
*
|
|
334
|
+
* @param entry - Toolbox entry
|
|
335
|
+
* @param fallback - Fallback title if no custom title or translation found
|
|
336
|
+
* @returns Resolved title string
|
|
337
|
+
*/
|
|
338
|
+
resolveToolboxEntryTitle(t, e) {
|
|
339
|
+
if (t.title !== void 0)
|
|
340
|
+
return t.title;
|
|
341
|
+
if (t.titleKey === void 0)
|
|
342
|
+
return e;
|
|
343
|
+
const n = `toolNames.${t.titleKey}`, r = this.api.i18n.t(n);
|
|
344
|
+
return r !== n ? r : e;
|
|
345
|
+
}
|
|
305
346
|
/**
|
|
306
347
|
* Callback for Block's settings buttons
|
|
307
348
|
*
|
|
@@ -402,9 +443,9 @@ const I = class I {
|
|
|
402
443
|
*/
|
|
403
444
|
getTag() {
|
|
404
445
|
const t = document.createElement(this.currentLevel.tag);
|
|
405
|
-
t.innerHTML = this._data.text || "", t.className = L(
|
|
446
|
+
t.innerHTML = this._data.text || "", t.className = L(x.BASE_STYLES, this.currentLevel.styles, W);
|
|
406
447
|
const { inlineStyles: e } = this.currentLevel;
|
|
407
|
-
return e && Object.assign(t.style, e), t.setAttribute(g.tool, "header"), t.contentEditable = this.readOnly ? "false" : "true", this.readOnly ? t.setAttribute("data-placeholder", this.api.i18n.t(this._settings.placeholder || "")) :
|
|
448
|
+
return e && Object.assign(t.style, e), t.setAttribute(g.tool, "header"), t.contentEditable = this.readOnly ? "false" : "true", this.readOnly ? t.setAttribute("data-placeholder", this.api.i18n.t(this._settings.placeholder || "")) : V(t, this.api.i18n.t(this._settings.placeholder || "")), t;
|
|
408
449
|
}
|
|
409
450
|
/**
|
|
410
451
|
* Get current level
|
|
@@ -432,7 +473,7 @@ const I = class I {
|
|
|
432
473
|
* @returns Level array
|
|
433
474
|
*/
|
|
434
475
|
get levels() {
|
|
435
|
-
const t = this._settings.levelOverrides || {}, e =
|
|
476
|
+
const t = this._settings.levelOverrides || {}, e = x.DEFAULT_LEVELS.map((n) => {
|
|
436
477
|
var o;
|
|
437
478
|
const r = t[n.number] || {}, s = {};
|
|
438
479
|
return r.size && (s.fontSize = r.size), r.marginTop && (s.marginTop = r.marginTop), r.marginBottom && (s.marginBottom = r.marginBottom), {
|
|
@@ -490,21 +531,21 @@ const I = class I {
|
|
|
490
531
|
*/
|
|
491
532
|
static get toolbox() {
|
|
492
533
|
return {
|
|
493
|
-
icon:
|
|
534
|
+
icon: G,
|
|
494
535
|
title: "Heading",
|
|
495
536
|
titleKey: "heading"
|
|
496
537
|
};
|
|
497
538
|
}
|
|
498
539
|
};
|
|
499
|
-
|
|
500
|
-
{ number: 1, tag: "H1", nameKey: "tools.header.heading1", name: "Heading 1", icon:
|
|
501
|
-
{ number: 2, tag: "H2", nameKey: "tools.header.heading2", name: "Heading 2", icon:
|
|
502
|
-
{ number: 3, tag: "H3", nameKey: "tools.header.heading3", name: "Heading 3", icon:
|
|
503
|
-
{ number: 4, tag: "H4", nameKey: "tools.header.heading4", name: "Heading 4", icon:
|
|
504
|
-
{ number: 5, tag: "H5", nameKey: "tools.header.heading5", name: "Heading 5", icon:
|
|
505
|
-
{ number: 6, tag: "H6", nameKey: "tools.header.heading6", name: "Heading 6", icon:
|
|
540
|
+
x.BASE_STYLES = "py-[3px] px-[2px] m-0 !leading-[1.3] outline-none [&_p]:!p-0 [&_p]:!m-0 [&_div]:!p-0 [&_div]:!m-0", x.DEFAULT_LEVELS = [
|
|
541
|
+
{ number: 1, tag: "H1", nameKey: "tools.header.heading1", name: "Heading 1", icon: ct, styles: "text-4xl font-bold mt-8 mb-1" },
|
|
542
|
+
{ number: 2, tag: "H2", nameKey: "tools.header.heading2", name: "Heading 2", icon: dt, styles: "text-3xl font-semibold mt-6 mb-px" },
|
|
543
|
+
{ number: 3, tag: "H3", nameKey: "tools.header.heading3", name: "Heading 3", icon: ut, styles: "text-2xl font-semibold mt-4 mb-px" },
|
|
544
|
+
{ number: 4, tag: "H4", nameKey: "tools.header.heading4", name: "Heading 4", icon: ht, styles: "text-xl font-semibold mt-3 mb-px" },
|
|
545
|
+
{ number: 5, tag: "H5", nameKey: "tools.header.heading5", name: "Heading 5", icon: ft, styles: "text-base font-semibold mt-3 mb-px" },
|
|
546
|
+
{ number: 6, tag: "H6", nameKey: "tools.header.heading6", name: "Heading 6", icon: pt, styles: "text-sm font-semibold mt-3 mb-px" }
|
|
506
547
|
];
|
|
507
|
-
let
|
|
548
|
+
let J = x;
|
|
508
549
|
const u = class u {
|
|
509
550
|
constructor({ data: t, config: e, api: n, readOnly: r, block: s }) {
|
|
510
551
|
this._element = null, this.handleBlockChanged = (o) => {
|
|
@@ -544,14 +585,14 @@ const u = class u {
|
|
|
544
585
|
return this._settings.itemSize;
|
|
545
586
|
}
|
|
546
587
|
get placeholder() {
|
|
547
|
-
return this.api.i18n.t(u.
|
|
588
|
+
return this.api.i18n.t(u.PLACEHOLDER_KEY);
|
|
548
589
|
}
|
|
549
590
|
applyItemStyles(t) {
|
|
550
591
|
const e = t.style;
|
|
551
592
|
this.itemColor && (e.color = this.itemColor), this.itemSize && (e.fontSize = this.itemSize);
|
|
552
593
|
}
|
|
553
594
|
setupItemPlaceholder(t) {
|
|
554
|
-
this.readOnly ||
|
|
595
|
+
this.readOnly || V(t, this.placeholder);
|
|
555
596
|
}
|
|
556
597
|
render() {
|
|
557
598
|
return this._element = this.createItemElement(), this._element;
|
|
@@ -1260,7 +1301,7 @@ const u = class u {
|
|
|
1260
1301
|
save() {
|
|
1261
1302
|
if (!this._element) return this._data;
|
|
1262
1303
|
const t = this.getContentElement(), n = {
|
|
1263
|
-
text: t ?
|
|
1304
|
+
text: t ? nt(t.innerHTML) : this._data.text,
|
|
1264
1305
|
style: this._data.style,
|
|
1265
1306
|
checked: this._data.checked
|
|
1266
1307
|
};
|
|
@@ -1375,21 +1416,21 @@ const u = class u {
|
|
|
1375
1416
|
static get toolbox() {
|
|
1376
1417
|
return [
|
|
1377
1418
|
{
|
|
1378
|
-
icon:
|
|
1419
|
+
icon: j,
|
|
1379
1420
|
title: "Bulleted list",
|
|
1380
1421
|
titleKey: "bulletedList",
|
|
1381
1422
|
data: { style: "unordered" },
|
|
1382
1423
|
name: "bulleted-list"
|
|
1383
1424
|
},
|
|
1384
1425
|
{
|
|
1385
|
-
icon:
|
|
1426
|
+
icon: $,
|
|
1386
1427
|
title: "Numbered list",
|
|
1387
1428
|
titleKey: "numberedList",
|
|
1388
1429
|
data: { style: "ordered" },
|
|
1389
1430
|
name: "numbered-list"
|
|
1390
1431
|
},
|
|
1391
1432
|
{
|
|
1392
|
-
icon:
|
|
1433
|
+
icon: X,
|
|
1393
1434
|
title: "To-do list",
|
|
1394
1435
|
titleKey: "todoList",
|
|
1395
1436
|
data: { style: "checklist" },
|
|
@@ -1399,11 +1440,11 @@ const u = class u {
|
|
|
1399
1440
|
}
|
|
1400
1441
|
};
|
|
1401
1442
|
u.BASE_STYLES = "outline-none", u.ITEM_STYLES = "outline-none py-0.5 pl-0.5 leading-[1.6em]", u.CHECKLIST_ITEM_STYLES = "flex items-start py-0.5 pl-0.5", u.CHECKBOX_STYLES = "mt-1 w-4 mr-2 h-4 cursor-pointer accent-current", u.STYLE_CONFIGS = [
|
|
1402
|
-
{ style: "unordered", name: "bulletedList", icon:
|
|
1403
|
-
{ style: "ordered", name: "numberedList", icon:
|
|
1404
|
-
{ style: "checklist", name: "todoList", icon:
|
|
1405
|
-
], u.pendingMarkerUpdate = !1, u.
|
|
1406
|
-
let
|
|
1443
|
+
{ style: "unordered", name: "bulletedList", icon: j },
|
|
1444
|
+
{ style: "ordered", name: "numberedList", icon: $ },
|
|
1445
|
+
{ style: "checklist", name: "todoList", icon: X }
|
|
1446
|
+
], u.pendingMarkerUpdate = !1, u.PLACEHOLDER_KEY = "tools.list.placeholder", u.INDENT_PER_LEVEL = 24, u.TOOL_NAME = "list";
|
|
1447
|
+
let Z = u;
|
|
1407
1448
|
const i = class i {
|
|
1408
1449
|
/**
|
|
1409
1450
|
* Sanitizer Rule
|
|
@@ -1470,16 +1511,16 @@ const i = class i {
|
|
|
1470
1511
|
}
|
|
1471
1512
|
const p = (n = l.textContent) != null ? n : "";
|
|
1472
1513
|
p.length > 1 && p.startsWith("") && (l.textContent = p.slice(1));
|
|
1473
|
-
const
|
|
1474
|
-
i.ensureCaretAtBoundary(
|
|
1475
|
-
const y = (r = l.textContent) != null ? r : "",
|
|
1476
|
-
C && (o.hasLeadingSpace = !0, o.leadingWhitespace = C[0]),
|
|
1477
|
-
const B = /^\s/.test(
|
|
1478
|
-
if (
|
|
1514
|
+
const m = window.getSelection();
|
|
1515
|
+
i.ensureCaretAtBoundary(m, l), i.scheduleBoundaryCaretAdjustment(l);
|
|
1516
|
+
const y = (r = l.textContent) != null ? r : "", E = y.replace(/\u200B/g, ""), C = E.match(/^\s+/), T = /\S/.test(E), N = y.startsWith("");
|
|
1517
|
+
C && (o.hasLeadingSpace = !0, o.leadingWhitespace = C[0]), T && (o.hasTypedContent = !0);
|
|
1518
|
+
const B = /^\s/.test(E), v = o.hasTypedContent && !N && ((s = d.textContent) != null ? s : "").length <= c, R = o.hasLeadingSpace && o.hasTypedContent && !B;
|
|
1519
|
+
if (v && R) {
|
|
1479
1520
|
const b = y.replace(/^[\u200B\s]+/, ""), S = o.leadingWhitespace || " ";
|
|
1480
|
-
l.textContent = `${S}${b}`, i.ensureCaretAtBoundary(
|
|
1521
|
+
l.textContent = `${S}${b}`, i.ensureCaretAtBoundary(m, l);
|
|
1481
1522
|
}
|
|
1482
|
-
|
|
1523
|
+
v && i.collapsedExitRecords.delete(o);
|
|
1483
1524
|
}
|
|
1484
1525
|
}
|
|
1485
1526
|
/**
|
|
@@ -2038,27 +2079,27 @@ const i = class i {
|
|
|
2038
2079
|
return;
|
|
2039
2080
|
const s = `strong[${i.DATA_ATTR_COLLAPSED_ACTIVE}="true"]`;
|
|
2040
2081
|
r.querySelectorAll(s).forEach((l) => {
|
|
2041
|
-
var k,
|
|
2082
|
+
var k, I, F, z, K;
|
|
2042
2083
|
const d = l.getAttribute(i.DATA_ATTR_PREV_LENGTH), c = l.previousSibling;
|
|
2043
2084
|
if (!d || !c || c.nodeType !== Node.TEXT_NODE)
|
|
2044
2085
|
return;
|
|
2045
2086
|
const h = Number(d);
|
|
2046
2087
|
if (!Number.isFinite(h))
|
|
2047
2088
|
return;
|
|
2048
|
-
const p = c,
|
|
2049
|
-
if (
|
|
2089
|
+
const p = c, m = (k = p.textContent) != null ? k : "";
|
|
2090
|
+
if (m.length <= h)
|
|
2050
2091
|
return;
|
|
2051
|
-
const y =
|
|
2092
|
+
const y = m.slice(0, h), E = m.slice(h);
|
|
2052
2093
|
p.textContent = y;
|
|
2053
|
-
const C =
|
|
2054
|
-
if (C && !l.hasAttribute(i.DATA_ATTR_LEADING_WHITESPACE) && l.setAttribute(i.DATA_ATTR_LEADING_WHITESPACE, C[0]),
|
|
2094
|
+
const C = E.match(/^[\u00A0\s]+/);
|
|
2095
|
+
if (C && !l.hasAttribute(i.DATA_ATTR_LEADING_WHITESPACE) && l.setAttribute(i.DATA_ATTR_LEADING_WHITESPACE, C[0]), E.length === 0)
|
|
2055
2096
|
return;
|
|
2056
|
-
const
|
|
2097
|
+
const T = (I = l.textContent) != null ? I : "", N = T + E, B = (F = l.getAttribute(i.DATA_ATTR_LEADING_WHITESPACE)) != null ? F : "", R = B.length > 0 && T.length === 0 && !N.startsWith(B) ? B + N : N, b = document.createTextNode(R);
|
|
2057
2098
|
for (; l.firstChild; )
|
|
2058
2099
|
l.removeChild(l.firstChild);
|
|
2059
2100
|
if (l.appendChild(b), !(t != null && t.isCollapsed) || !i.isNodeWithin(t.focusNode, p))
|
|
2060
2101
|
return;
|
|
2061
|
-
const S = document.createRange(), _ = (
|
|
2102
|
+
const S = document.createRange(), _ = (K = (z = b.textContent) == null ? void 0 : z.length) != null ? K : 0;
|
|
2062
2103
|
S.setStart(b, _), S.collapse(!0), t.removeAllRanges(), t.addRange(S);
|
|
2063
2104
|
});
|
|
2064
2105
|
}
|
|
@@ -2268,23 +2309,23 @@ const i = class i {
|
|
|
2268
2309
|
if (!r)
|
|
2269
2310
|
return;
|
|
2270
2311
|
r.querySelectorAll(`strong[${i.DATA_ATTR_COLLAPSED_LENGTH}]`).forEach((a) => {
|
|
2271
|
-
var
|
|
2312
|
+
var v, R, b, S, _;
|
|
2272
2313
|
const l = a, d = l.getAttribute(i.DATA_ATTR_COLLAPSED_LENGTH);
|
|
2273
2314
|
if (!d)
|
|
2274
2315
|
return;
|
|
2275
|
-
const c = Number(d), h = (
|
|
2316
|
+
const c = Number(d), h = (v = l.textContent) != null ? v : "";
|
|
2276
2317
|
if (!Number.isFinite(c))
|
|
2277
2318
|
return;
|
|
2278
|
-
const p = h.length > c,
|
|
2279
|
-
if (B &&
|
|
2280
|
-
const k = N.slice(0,
|
|
2281
|
-
|
|
2282
|
-
const F = document.createTextNode(
|
|
2319
|
+
const p = h.length > c, m = p ? i.splitCollapsedBoldText(l, c, h) : null, y = l.getAttribute(i.DATA_ATTR_PREV_LENGTH), E = y ? Number(y) : NaN, C = l.previousSibling, T = (C == null ? void 0 : C.nodeType) === Node.TEXT_NODE ? C : null, N = (R = T == null ? void 0 : T.textContent) != null ? R : "", B = !!(y && Number.isFinite(E) && T && N.length > E);
|
|
2320
|
+
if (B && T) {
|
|
2321
|
+
const k = N.slice(0, E), I = N.slice(E);
|
|
2322
|
+
T.textContent = k;
|
|
2323
|
+
const F = document.createTextNode(I);
|
|
2283
2324
|
(b = l.parentNode) == null || b.insertBefore(F, l.nextSibling);
|
|
2284
2325
|
}
|
|
2285
|
-
if (B && l.removeAttribute(i.DATA_ATTR_PREV_LENGTH), t != null && t.isCollapsed &&
|
|
2286
|
-
const k = document.createRange(),
|
|
2287
|
-
k.setStart(
|
|
2326
|
+
if (B && l.removeAttribute(i.DATA_ATTR_PREV_LENGTH), t != null && t.isCollapsed && m && i.isNodeWithin(t.focusNode, l)) {
|
|
2327
|
+
const k = document.createRange(), I = (_ = (S = m.textContent) == null ? void 0 : S.length) != null ? _ : 0;
|
|
2328
|
+
k.setStart(m, I), k.collapse(!0), t.removeAllRanges(), t.addRange(k);
|
|
2288
2329
|
}
|
|
2289
2330
|
p && l.removeAttribute(i.DATA_ATTR_COLLAPSED_LENGTH);
|
|
2290
2331
|
});
|
|
@@ -2399,19 +2440,19 @@ const i = class i {
|
|
|
2399
2440
|
* @param parent - Parent node that hosts the bold element
|
|
2400
2441
|
*/
|
|
2401
2442
|
static exitCollapsedBoldWithContent(t, e, n) {
|
|
2402
|
-
var p,
|
|
2403
|
-
e.setAttribute(i.DATA_ATTR_COLLAPSED_LENGTH, ((
|
|
2443
|
+
var p, m, y, E, C, T;
|
|
2444
|
+
e.setAttribute(i.DATA_ATTR_COLLAPSED_LENGTH, ((m = (p = e.textContent) == null ? void 0 : p.length) != null ? m : 0).toString()), e.removeAttribute(i.DATA_ATTR_PREV_LENGTH), e.removeAttribute(i.DATA_ATTR_COLLAPSED_ACTIVE), e.removeAttribute(i.DATA_ATTR_LEADING_WHITESPACE);
|
|
2404
2445
|
const r = e.nextSibling, s = !r || r.nodeType !== Node.TEXT_NODE, o = s ? document.createTextNode("") : null;
|
|
2405
2446
|
o && n.insertBefore(o, r);
|
|
2406
2447
|
const a = o != null ? o : r;
|
|
2407
2448
|
!s && ((y = a.textContent) != null ? y : "").length === 0 && (a.textContent = "");
|
|
2408
|
-
const l = document.createRange(), c = ((
|
|
2449
|
+
const l = document.createRange(), c = ((E = a.textContent) != null ? E : "").startsWith("") ? 1 : 0;
|
|
2409
2450
|
l.setStart(a, c), l.collapse(!0), t.removeAllRanges(), t.addRange(l);
|
|
2410
2451
|
const h = i.ensureStrongElement(e);
|
|
2411
2452
|
return i.collapsedExitRecords.add({
|
|
2412
2453
|
boundary: a,
|
|
2413
2454
|
boldElement: h,
|
|
2414
|
-
allowedLength: (
|
|
2455
|
+
allowedLength: (T = (C = h.textContent) == null ? void 0 : C.length) != null ? T : 0,
|
|
2415
2456
|
hasLeadingSpace: !1,
|
|
2416
2457
|
hasTypedContent: !1,
|
|
2417
2458
|
leadingWhitespace: ""
|
|
@@ -2549,7 +2590,7 @@ const i = class i {
|
|
|
2549
2590
|
}
|
|
2550
2591
|
};
|
|
2551
2592
|
i.isInline = !0, i.title = "Bold", i.titleKey = "bold", i.shortcutListenerRegistered = !1, i.selectionListenerRegistered = !1, i.inputListenerRegistered = !1, i.beforeInputListenerRegistered = !1, i.globalListenersInitialized = i.initializeGlobalListeners(), i.collapsedExitRecords = /* @__PURE__ */ new Set(), i.markerSequence = 0, i.isProcessingMutation = !1, i.DATA_ATTR_COLLAPSED_LENGTH = "data-blok-bold-collapsed-length", i.DATA_ATTR_COLLAPSED_ACTIVE = "data-blok-bold-collapsed-active", i.DATA_ATTR_PREV_LENGTH = "data-blok-bold-prev-length", i.DATA_ATTR_LEADING_WHITESPACE = "data-blok-bold-leading-ws", i.instances = /* @__PURE__ */ new Set(), i.pendingBoundaryCaretAdjustments = /* @__PURE__ */ new WeakSet(), i.shortcut = "CMD+B";
|
|
2552
|
-
let
|
|
2593
|
+
let Q = i;
|
|
2553
2594
|
const O = class O {
|
|
2554
2595
|
/**
|
|
2555
2596
|
* Sanitizer Rule
|
|
@@ -2822,7 +2863,7 @@ const O = class O {
|
|
|
2822
2863
|
}
|
|
2823
2864
|
};
|
|
2824
2865
|
O.isInline = !0, O.title = "Italic", O.titleKey = "italic", O.shortcut = "CMD+I";
|
|
2825
|
-
let
|
|
2866
|
+
let tt = O;
|
|
2826
2867
|
const D = class D {
|
|
2827
2868
|
/**
|
|
2828
2869
|
* @param api - Blok API
|
|
@@ -3050,24 +3091,24 @@ const D = class D {
|
|
|
3050
3091
|
}
|
|
3051
3092
|
};
|
|
3052
3093
|
D.isInline = !0, D.title = "Link", D.titleKey = "link", D.shortcut = "CMD+K";
|
|
3053
|
-
let
|
|
3094
|
+
let et = D;
|
|
3054
3095
|
const xt = {
|
|
3055
|
-
paragraph: {
|
|
3056
|
-
header: {
|
|
3057
|
-
list: {
|
|
3096
|
+
paragraph: { preserveBlank: !0 },
|
|
3097
|
+
header: {},
|
|
3098
|
+
list: {}
|
|
3058
3099
|
}, vt = {
|
|
3059
3100
|
bold: {},
|
|
3060
3101
|
italic: {},
|
|
3061
3102
|
link: {}
|
|
3062
3103
|
};
|
|
3063
3104
|
export {
|
|
3064
|
-
|
|
3105
|
+
Q as Bold,
|
|
3065
3106
|
Ot as Convert,
|
|
3066
|
-
|
|
3067
|
-
|
|
3068
|
-
|
|
3069
|
-
|
|
3070
|
-
|
|
3107
|
+
J as Header,
|
|
3108
|
+
tt as Italic,
|
|
3109
|
+
et as Link,
|
|
3110
|
+
Z as List,
|
|
3111
|
+
Y as Paragraph,
|
|
3071
3112
|
xt as defaultBlockTools,
|
|
3072
3113
|
vt as defaultInlineTools
|
|
3073
3114
|
};
|
package/package.json
CHANGED
|
@@ -1,9 +1,22 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jackuait/blok",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.3-beta.10",
|
|
4
4
|
"description": "Blok — headless, highly extensible rich text editor built for developers who need to implement a block-based editing experience (similar to Notion) without building it from scratch",
|
|
5
5
|
"module": "dist/blok.mjs",
|
|
6
6
|
"types": "./types/index.d.ts",
|
|
7
|
+
"typesVersions": {
|
|
8
|
+
"*": {
|
|
9
|
+
"tools": [
|
|
10
|
+
"./types/tools-entry.d.ts"
|
|
11
|
+
],
|
|
12
|
+
"full": [
|
|
13
|
+
"./types/full.d.ts"
|
|
14
|
+
],
|
|
15
|
+
"locales": [
|
|
16
|
+
"./types/locales.d.ts"
|
|
17
|
+
]
|
|
18
|
+
}
|
|
19
|
+
},
|
|
7
20
|
"exports": {
|
|
8
21
|
".": {
|
|
9
22
|
"types": "./types/index.d.ts",
|
|
@@ -133,7 +146,6 @@
|
|
|
133
146
|
"husky": "^9.1.7",
|
|
134
147
|
"jscpd": "4.0.5",
|
|
135
148
|
"jsdom": "27.2.0",
|
|
136
|
-
"nanoid": "5.1.6",
|
|
137
149
|
"playwright": "1.57.0",
|
|
138
150
|
"postcss": "8.5.6",
|
|
139
151
|
"rollup-plugin-license": "3.6.0",
|
|
@@ -149,6 +161,7 @@
|
|
|
149
161
|
"yaml": "2.8.1"
|
|
150
162
|
},
|
|
151
163
|
"dependencies": {
|
|
152
|
-
"i18next": "^25.7.3"
|
|
164
|
+
"i18next": "^25.7.3",
|
|
165
|
+
"nanoid": "^5.1.6"
|
|
153
166
|
}
|
|
154
167
|
}
|
|
@@ -447,12 +447,28 @@ export class Flipper {
|
|
|
447
447
|
}
|
|
448
448
|
}
|
|
449
449
|
|
|
450
|
+
/**
|
|
451
|
+
* Scrolls the given element into view using the best available method
|
|
452
|
+
* @param element - element to scroll into view
|
|
453
|
+
*/
|
|
454
|
+
private scrollElementIntoView(element: HTMLElement): void {
|
|
455
|
+
const el = element as HTMLElement & { scrollIntoViewIfNeeded?: (centerIfNeeded?: boolean) => void };
|
|
456
|
+
|
|
457
|
+
if (typeof el.scrollIntoViewIfNeeded === 'function') {
|
|
458
|
+
el.scrollIntoViewIfNeeded();
|
|
459
|
+
|
|
460
|
+
return;
|
|
461
|
+
}
|
|
462
|
+
|
|
463
|
+
el.scrollIntoView({ block: 'nearest' });
|
|
464
|
+
}
|
|
465
|
+
|
|
450
466
|
/**
|
|
451
467
|
* Fired after flipping in any direction
|
|
452
468
|
*/
|
|
453
469
|
private flipCallback(): void {
|
|
454
470
|
if (this.iterator?.currentItem) {
|
|
455
|
-
this.iterator.currentItem
|
|
471
|
+
this.scrollElementIntoView(this.iterator.currentItem);
|
|
456
472
|
}
|
|
457
473
|
|
|
458
474
|
this.flipCallbacks.forEach(cb => cb());
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"tools.header.heading4": "ርዕስ 4",
|
|
26
26
|
"tools.header.heading5": "ርዕስ 5",
|
|
27
27
|
"tools.header.heading6": "ርዕስ 6",
|
|
28
|
-
"tools.list.
|
|
28
|
+
"tools.list.placeholder": "ዝርዝር",
|
|
29
29
|
"blockSettings.delete": "ሰርዝ",
|
|
30
30
|
"a11y.dragHandle": "ብሎኩን ለማንቀሳቀስ ይጎትቱ ወይም ለምናሌ ጠቅ ያድርጉ",
|
|
31
31
|
"a11y.dragHandleRole": "መጎተቻ",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"tools.header.heading4": "عنوان 4",
|
|
26
26
|
"tools.header.heading5": "عنوان 5",
|
|
27
27
|
"tools.header.heading6": "عنوان 6",
|
|
28
|
-
"tools.list.
|
|
28
|
+
"tools.list.placeholder": "قائمة",
|
|
29
29
|
"blockSettings.delete": "حذف",
|
|
30
30
|
"a11y.dragHandle": "اسحب لتحريك الكتلة أو انقر للقائمة",
|
|
31
31
|
"a11y.dragHandleRole": "مقبض السحب",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"tools.header.heading4": "Başlıq 4",
|
|
26
26
|
"tools.header.heading5": "Başlıq 5",
|
|
27
27
|
"tools.header.heading6": "Başlıq 6",
|
|
28
|
-
"tools.list.
|
|
28
|
+
"tools.list.placeholder": "Siyahı",
|
|
29
29
|
"blockSettings.delete": "Sil",
|
|
30
30
|
"a11y.dragHandle": "Köçürmək üçün dartın və ya menyu üçün klikləyin",
|
|
31
31
|
"a11y.dragHandleRole": "dartma tutacağı",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"tools.header.heading4": "Заглавие 4",
|
|
26
26
|
"tools.header.heading5": "Заглавие 5",
|
|
27
27
|
"tools.header.heading6": "Заглавие 6",
|
|
28
|
-
"tools.list.
|
|
28
|
+
"tools.list.placeholder": "Списък",
|
|
29
29
|
"blockSettings.delete": "Изтриване",
|
|
30
30
|
"a11y.dragHandle": "Плъзнете за преместване на блок или щракнете за меню",
|
|
31
31
|
"a11y.dragHandleRole": "манипулатор за плъзгане",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"tools.header.heading4": "শিরোনাম 4",
|
|
26
26
|
"tools.header.heading5": "শিরোনাম 5",
|
|
27
27
|
"tools.header.heading6": "শিরোনাম 6",
|
|
28
|
-
"tools.list.
|
|
28
|
+
"tools.list.placeholder": "তালিকা",
|
|
29
29
|
"blockSettings.delete": "মুছুন",
|
|
30
30
|
"a11y.dragHandle": "ব্লক সরাতে টানুন বা মেনুর জন্য ক্লিক করুন",
|
|
31
31
|
"a11y.dragHandleRole": "টানার হ্যান্ডেল",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"tools.header.heading4": "Naslov 4",
|
|
26
26
|
"tools.header.heading5": "Naslov 5",
|
|
27
27
|
"tools.header.heading6": "Naslov 6",
|
|
28
|
-
"tools.list.
|
|
28
|
+
"tools.list.placeholder": "Lista",
|
|
29
29
|
"blockSettings.delete": "Obriši",
|
|
30
30
|
"a11y.dragHandle": "Prevucite za premještanje bloka ili kliknite za meni",
|
|
31
31
|
"a11y.dragHandleRole": "ručka za povlačenje",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"tools.header.heading4": "Nadpis 4",
|
|
26
26
|
"tools.header.heading5": "Nadpis 5",
|
|
27
27
|
"tools.header.heading6": "Nadpis 6",
|
|
28
|
-
"tools.list.
|
|
28
|
+
"tools.list.placeholder": "Seznam",
|
|
29
29
|
"blockSettings.delete": "Smazat",
|
|
30
30
|
"a11y.dragHandle": "Přetáhněte pro přesunutí nebo klikněte pro nabídku",
|
|
31
31
|
"a11y.dragHandleRole": "úchyt pro přetažení",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"tools.header.heading4": "Overskrift 4",
|
|
26
26
|
"tools.header.heading5": "Overskrift 5",
|
|
27
27
|
"tools.header.heading6": "Overskrift 6",
|
|
28
|
-
"tools.list.
|
|
28
|
+
"tools.list.placeholder": "Liste",
|
|
29
29
|
"blockSettings.delete": "Slet",
|
|
30
30
|
"a11y.dragHandle": "Træk for at flytte blok eller klik for menu",
|
|
31
31
|
"a11y.dragHandleRole": "trækhåndtag",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"tools.header.heading4": "Überschrift 4",
|
|
26
26
|
"tools.header.heading5": "Überschrift 5",
|
|
27
27
|
"tools.header.heading6": "Überschrift 6",
|
|
28
|
-
"tools.list.
|
|
28
|
+
"tools.list.placeholder": "Liste",
|
|
29
29
|
"blockSettings.delete": "Löschen",
|
|
30
30
|
"a11y.dragHandle": "Ziehen zum Verschieben oder klicken für Menü",
|
|
31
31
|
"a11y.dragHandleRole": "Ziehgriff",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"tools.header.heading4": "ސުރުޚީ 4",
|
|
26
26
|
"tools.header.heading5": "ސުރުޚީ 5",
|
|
27
27
|
"tools.header.heading6": "ސުރުޚީ 6",
|
|
28
|
-
"tools.list.
|
|
28
|
+
"tools.list.placeholder": "ލިސްޓް",
|
|
29
29
|
"blockSettings.delete": "ފޮހެލާ",
|
|
30
30
|
"a11y.dragHandle": "ބްލޮކް ބަދަލުކުރަން ދަމާލާ ނުވަތަ މެނޫއަށް ކްލިކް ކުރޭ",
|
|
31
31
|
"a11y.dragHandleRole": "ދެމުމުގެ ހެންޑަލް",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"tools.header.heading4": "Επικεφαλίδα 4",
|
|
26
26
|
"tools.header.heading5": "Επικεφαλίδα 5",
|
|
27
27
|
"tools.header.heading6": "Επικεφαλίδα 6",
|
|
28
|
-
"tools.list.
|
|
28
|
+
"tools.list.placeholder": "Λίστα",
|
|
29
29
|
"blockSettings.delete": "Διαγραφή",
|
|
30
30
|
"a11y.dragHandle": "Σύρετε για μετακίνηση ή κλικ για μενού",
|
|
31
31
|
"a11y.dragHandleRole": "λαβή μετακίνησης",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"tools.header.heading4": "Heading 4",
|
|
26
26
|
"tools.header.heading5": "Heading 5",
|
|
27
27
|
"tools.header.heading6": "Heading 6",
|
|
28
|
-
"tools.list.
|
|
28
|
+
"tools.list.placeholder": "List",
|
|
29
29
|
"blockSettings.delete": "Delete",
|
|
30
30
|
"a11y.dragHandle": "Drag to move block or click for menu",
|
|
31
31
|
"a11y.dragHandleRole": "drag handle",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"tools.header.heading4": "Encabezado 4",
|
|
26
26
|
"tools.header.heading5": "Encabezado 5",
|
|
27
27
|
"tools.header.heading6": "Encabezado 6",
|
|
28
|
-
"tools.list.
|
|
28
|
+
"tools.list.placeholder": "Lista",
|
|
29
29
|
"blockSettings.delete": "Eliminar",
|
|
30
30
|
"a11y.dragHandle": "Arrastra para mover o haz clic para el menú",
|
|
31
31
|
"a11y.dragHandleRole": "control de arrastre",
|