@jackuait/blok 0.9.0 → 0.10.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/codemod/migrate-editorjs-to-blok.js +50 -0
- package/codemod/test.js +39 -0
- package/dist/blok.mjs +2 -2
- package/dist/chunks/{blok-RJ3hyzDH.mjs → blok-wFPimG2f.mjs} +1266 -1254
- package/dist/chunks/{constants-A3iVmQL8.mjs → constants-B_TnFMSA.mjs} +56 -56
- package/dist/chunks/{i18next-loader-dH3UPF7S.mjs → i18next-loader-BOlOKRt8.mjs} +1 -1
- package/dist/chunks/{lightweight-i18n-1rbaxIZW.mjs → lightweight-i18n-D1n0OClP.mjs} +41 -1
- package/dist/{messages-CdX1odk_2.mjs → chunks/messages-0Nh_GHU02.mjs} +41 -1
- package/dist/chunks/{messages-Df2RYuup2.mjs → messages-16UmLAWZ2.mjs} +41 -1
- package/dist/{messages-D2HwpoUE.mjs → chunks/messages-2nj1xBDo.mjs} +41 -1
- package/dist/{messages-Phrqr7a6.mjs → chunks/messages-5WyxUYVR2.mjs} +41 -1
- package/dist/chunks/{messages-CjIA--kO.mjs → messages-7PIvzufT.mjs} +41 -1
- package/dist/{messages-D2Mf9z2D.mjs → chunks/messages-92ma9RJD2.mjs} +41 -1
- package/dist/{messages-Dbsx9m5q2.mjs → chunks/messages-A3Z4jxwt2.mjs} +41 -1
- package/dist/chunks/{messages-C9aKfCro.mjs → messages-B18MZnaY.mjs} +41 -1
- package/dist/chunks/{messages-DLPrj3Dh.mjs → messages-B1uFbxNg.mjs} +41 -1
- package/dist/chunks/{messages-CaRSYuhO.mjs → messages-B7Vlzmgw.mjs} +41 -1
- package/dist/chunks/{messages-Z762-GLL.mjs → messages-BF8c-lMm.mjs} +41 -1
- package/dist/{messages-Cpeko5kB.mjs → chunks/messages-BLD1DC722.mjs} +41 -1
- package/dist/chunks/{messages-DnuhgHG0.mjs → messages-BN_zp4oj.mjs} +41 -1
- package/dist/{messages-zHkURG6V2.mjs → chunks/messages-BORQKKT9.mjs} +41 -1
- package/dist/chunks/{messages-B1kDfIN82.mjs → messages-BPQA3B862.mjs} +41 -1
- package/dist/chunks/{messages-D8JFu42v.mjs → messages-BQvBhQem.mjs} +41 -1
- package/dist/chunks/{messages-DeSSxLsh.mjs → messages-BTyEo5Kb.mjs} +41 -1
- package/dist/chunks/{messages-Dkp-Eyu02.mjs → messages-BVl-X2wo2.mjs} +41 -1
- package/dist/{messages-DSX2HaeN2.mjs → chunks/messages-BivhofAQ2.mjs} +41 -1
- package/dist/chunks/{messages-DZzoT0T_.mjs → messages-BtZ8oQXS.mjs} +41 -1
- package/dist/chunks/{messages-C0hQPZmh2.mjs → messages-By-gACFM2.mjs} +41 -1
- package/dist/chunks/{messages-zGdqNZbH.mjs → messages-C1pm6RWX.mjs} +41 -1
- package/dist/{messages-Bsd4ruEY.mjs → chunks/messages-C7YpgZ9m.mjs} +41 -1
- package/dist/{messages-BE0DjTEC.mjs → chunks/messages-C9qPNbrJ2.mjs} +41 -1
- package/dist/chunks/{messages-BsZz1Hnn2.mjs → messages-CDV8VcSZ2.mjs} +41 -1
- package/dist/{messages-BfTBVFd9.mjs → chunks/messages-CQgP-Fo22.mjs} +41 -1
- package/dist/{messages-A8aZS7d_2.mjs → chunks/messages-CR48wvl32.mjs} +41 -1
- package/dist/{messages-cokJPuUp2.mjs → chunks/messages-CYZL_rhV2.mjs} +41 -1
- package/dist/chunks/{messages-qS8tM3Dk.mjs → messages-CYZgPXFK.mjs} +41 -1
- package/dist/{messages-C52AiyVV.mjs → chunks/messages-CbXL5f99.mjs} +41 -1
- package/dist/{messages-CxruHsuD2.mjs → chunks/messages-CkWidbwX2.mjs} +41 -1
- package/dist/chunks/{messages-BwKs-9DF.mjs → messages-CmSsyItg.mjs} +41 -1
- package/dist/{messages-CUDbNJG5.mjs → chunks/messages-CogKhvJL.mjs} +41 -1
- package/dist/{messages-diSPQ2Da2.mjs → chunks/messages-CqdYWY192.mjs} +41 -1
- package/dist/chunks/{messages-BSw88lIo2.mjs → messages-Ct_H_5cB2.mjs} +41 -1
- package/dist/chunks/{messages--eH7tTJV2.mjs → messages-CuHxfDvL2.mjs} +41 -1
- package/dist/chunks/{messages-DfU4yvkL.mjs → messages-CuJLHCj5.mjs} +41 -1
- package/dist/chunks/{messages-gaxTO-87.mjs → messages-CvA7Fbqf.mjs} +41 -1
- package/dist/{messages-C6o0FVy02.mjs → chunks/messages-D06U2QNl2.mjs} +41 -1
- package/dist/chunks/{messages-DdEWnfAR.mjs → messages-D3hNTep_.mjs} +41 -1
- package/dist/{messages-Cnz_SHE32.mjs → chunks/messages-D4QXMtW52.mjs} +41 -1
- package/dist/chunks/{messages-Da-SOTFW.mjs → messages-D5iRrf9M.mjs} +41 -1
- package/dist/chunks/{messages-DQ6bFum9.mjs → messages-D6ZvH6hX.mjs} +41 -1
- package/dist/{messages-Bm0nvUuj2.mjs → chunks/messages-D9SfB6MI.mjs} +41 -1
- package/dist/chunks/{messages-Dsapm4K9.mjs → messages-DBZ-uuAV.mjs} +41 -1
- package/dist/chunks/{messages-C5-aaU2b.mjs → messages-DDM4t-j8.mjs} +41 -1
- package/dist/chunks/{messages-_5Pg5fKy2.mjs → messages-DJ9yyqUO2.mjs} +41 -1
- package/dist/chunks/{messages-BG8Nq35G.mjs → messages-DQUUtL5v.mjs} +41 -1
- package/dist/{messages-C-4z1-Dh.mjs → chunks/messages-DcrkPXXn.mjs} +41 -1
- package/dist/{messages-DfEPVRdJ.mjs → chunks/messages-DiaQNuPV.mjs} +41 -1
- package/dist/{messages-C8ca-jEa.mjs → chunks/messages-DjhgPQtb.mjs} +41 -1
- package/dist/chunks/{messages-C4ZAJzBh.mjs → messages-Dl16RBg1.mjs} +41 -1
- package/dist/{messages-D6qfWi6H2.mjs → chunks/messages-Dn1ZDZUy.mjs} +41 -1
- package/dist/chunks/{messages-ComLU2T32.mjs → messages-Du6j7HqD2.mjs} +41 -1
- package/dist/chunks/{messages-Dyku8Cut.mjs → messages-FEjIF48t.mjs} +41 -1
- package/dist/{messages-C5pBfa_W.mjs → chunks/messages-IKrYzwFq.mjs} +41 -1
- package/dist/chunks/{messages-DRUkmDVZ.mjs → messages-KihEeXdr.mjs} +41 -1
- package/dist/chunks/{messages-Ct9UUOrl2.mjs → messages-LiSIeruD2.mjs} +41 -1
- package/dist/chunks/{messages-v9NkxRcL.mjs → messages-OFFQT8Fg.mjs} +41 -1
- package/dist/{messages-DgGZsxBB.mjs → chunks/messages-cMwiuDZM.mjs} +41 -1
- package/dist/{messages-B3jq5Hpa.mjs → chunks/messages-fitmpwb3.mjs} +41 -1
- package/dist/chunks/{messages-BW8arxf72.mjs → messages-i9ThpxZk2.mjs} +41 -1
- package/dist/chunks/{messages-BGE43_6M.mjs → messages-nZP1GShd.mjs} +41 -1
- package/dist/chunks/{messages-517llQmh.mjs → messages-naWwXCx3.mjs} +41 -1
- package/dist/{messages-COgvIEeW.mjs → chunks/messages-rnd6qiJ12.mjs} +41 -1
- package/dist/chunks/{messages-DxtnwNPo.mjs → messages-rxlf-Ule.mjs} +41 -1
- package/dist/chunks/{messages-D2OZ9dbO.mjs → messages-x6GyZWWT.mjs} +41 -1
- package/dist/chunks/{tools-nT6zA9QL.mjs → tools-TuZCMYTS.mjs} +688 -499
- package/dist/cli.mjs +1 -1
- package/dist/full.mjs +8 -8
- package/dist/locales.mjs +108 -68
- package/dist/{chunks/messages-Yj4Q1_uX2.mjs → messages-4kMr3vfK2.mjs} +41 -1
- package/dist/{chunks/messages-Dl03jd4b2.mjs → messages-6Cq_jyNk2.mjs} +41 -1
- package/dist/{messages-BxJv0qBn2.mjs → messages-6edZhK922.mjs} +41 -1
- package/dist/{messages-D1P0QGLz2.mjs → messages-B-lXqB1z2.mjs} +41 -1
- package/dist/{messages-BmnC-s4X.mjs → messages-BBauvpFc.mjs} +41 -1
- package/dist/{chunks/messages-CCH4OETw2.mjs → messages-BCIuVjwb.mjs} +41 -1
- package/dist/{messages-D_CUdqU12.mjs → messages-BHIdzfAS2.mjs} +41 -1
- package/dist/{chunks/messages-DmJf9laH2.mjs → messages-BLjz6V7y2.mjs} +41 -1
- package/dist/{messages-B2ZwD4n9.mjs → messages-BQi_l2vs.mjs} +41 -1
- package/dist/{messages-O6z1uabG.mjs → messages-BRlbE8SE.mjs} +41 -1
- package/dist/{chunks/messages-BkES2MDr2.mjs → messages-B_6S7hBj2.mjs} +41 -1
- package/dist/{chunks/messages-Dl6SVT1Z.mjs → messages-BfbYJ8Wk2.mjs} +41 -1
- package/dist/{messages-Dtih3ffa2.mjs → messages-BiK5fMYF2.mjs} +41 -1
- package/dist/{messages-B7jZvo-m.mjs → messages-BjEY7_jw.mjs} +41 -1
- package/dist/{messages-I03yFhup.mjs → messages-BkZDaKu6.mjs} +41 -1
- package/dist/{messages-BSLErTnW2.mjs → messages-BwyQiBdm2.mjs} +41 -1
- package/dist/{messages-DfXh-i9o.mjs → messages-BxcqzUx0.mjs} +41 -1
- package/dist/{messages-DdiPWkV8.mjs → messages-C-KPP7bC.mjs} +41 -1
- package/dist/{messages-3WhPEFd7.mjs → messages-C-v50b4r.mjs} +41 -1
- package/dist/{messages-DTNfG4ZH.mjs → messages-C672uqt-.mjs} +41 -1
- package/dist/{chunks/messages-CGh56r-H2.mjs → messages-CBWUNVHy.mjs} +41 -1
- package/dist/{chunks/messages-DHHZUf_H2.mjs → messages-CCBgCmyq.mjs} +41 -1
- package/dist/{messages-CZTcgUzd.mjs → messages-CGqRnKaM.mjs} +41 -1
- package/dist/{chunks/messages-C912bk5I.mjs → messages-CHaVGY89.mjs} +41 -1
- package/dist/{chunks/messages-BGssMBWM2.mjs → messages-CIpXgMRr2.mjs} +41 -1
- package/dist/{messages-CoCy2JIP.mjs → messages-CLB0caVL.mjs} +41 -1
- package/dist/{chunks/messages-BDvpl6Ox.mjs → messages-CLN3oL77.mjs} +41 -1
- package/dist/{chunks/messages-DKNULJpc.mjs → messages-CXlAjnEQ.mjs} +41 -1
- package/dist/{messages-BRcLIBCd2.mjs → messages-CZkwcbV12.mjs} +41 -1
- package/dist/{messages-CbVilNPE.mjs → messages-CcPrYMHE.mjs} +41 -1
- package/dist/{messages-yZj20Fvf.mjs → messages-CeyO7HXV.mjs} +41 -1
- package/dist/{messages-C8JVJUp12.mjs → messages-CfaiAQHW2.mjs} +41 -1
- package/dist/{messages-BRxNqmJ8.mjs → messages-CsVZUVra.mjs} +41 -1
- package/dist/{messages-DNAp0U4l2.mjs → messages-CyQQ8g9w2.mjs} +41 -1
- package/dist/{messages-D4mCIODv.mjs → messages-CyZZ10br.mjs} +41 -1
- package/dist/{chunks/messages-DAbCNake2.mjs → messages-D-bnq2qy.mjs} +41 -1
- package/dist/{messages-HNAtlVax.mjs → messages-D1-_eTfM.mjs} +41 -1
- package/dist/{messages-Ct468oX22.mjs → messages-D2GHT83V2.mjs} +41 -1
- package/dist/{chunks/messages-DngM4hda2.mjs → messages-D7Wofcg3.mjs} +41 -1
- package/dist/{chunks/messages-BtUqUzMG2.mjs → messages-DB1-0FXB.mjs} +41 -1
- package/dist/{chunks/messages-7uCUVFea.mjs → messages-DEKkIgU6.mjs} +41 -1
- package/dist/{chunks/messages-DJxXZi1D2.mjs → messages-DEfeDBuV2.mjs} +41 -1
- package/dist/{messages-BPRR6TMf.mjs → messages-DP9PhNTo.mjs} +41 -1
- package/dist/{chunks/messages-cegxHurd2.mjs → messages-DVHWIOfr2.mjs} +41 -1
- package/dist/{messages-DL000FUf2.mjs → messages-DVILiJw52.mjs} +41 -1
- package/dist/{messages-BLEVLZve.mjs → messages-DaFDdCrr.mjs} +41 -1
- package/dist/{chunks/messages-CqZ9vFyx.mjs → messages-Daza4lOM.mjs} +41 -1
- package/dist/{messages-VBFioL2M.mjs → messages-DbPt9d2U.mjs} +41 -1
- package/dist/{messages-sNSXCkeB.mjs → messages-DflAKRLd.mjs} +41 -1
- package/dist/{messages-C6WJx6Z0.mjs → messages-Dn-khi3a.mjs} +41 -1
- package/dist/{chunks/messages-COJ0CbVV2.mjs → messages-DnNNd3RW2.mjs} +41 -1
- package/dist/{messages-CxHn7cs2.mjs → messages-Dtw27ih4.mjs} +41 -1
- package/dist/{messages-DpGo_Da5.mjs → messages-Du0fWeyE.mjs} +41 -1
- package/dist/{chunks/messages-C7plNvNE2.mjs → messages-DwTwecgF2.mjs} +41 -1
- package/dist/{chunks/messages-OdEuBvgf.mjs → messages-DwroI9YW.mjs} +41 -1
- package/dist/{chunks/messages-D_6vPBzT.mjs → messages-DzlmoWqQ.mjs} +41 -1
- package/dist/{messages-Du62vI49.mjs → messages-Dzqb5lg6.mjs} +41 -1
- package/dist/{chunks/messages-C4X0xP3h.mjs → messages-QkGAxuVC2.mjs} +41 -1
- package/dist/{chunks/messages-CTuCPqpJ.mjs → messages-YlWV9cSl.mjs} +41 -1
- package/dist/{messages-DaOnbI6d.mjs → messages-ZMa-zmIc.mjs} +41 -1
- package/dist/{messages-DT4rHATO2.mjs → messages-axsznSTn2.mjs} +41 -1
- package/dist/{messages-CvIxHHp92.mjs → messages-h_VN1Kyo2.mjs} +41 -1
- package/dist/{messages-ypuLZyw12.mjs → messages-ke15helG2.mjs} +41 -1
- package/dist/{chunks/messages-0zhE8A9X.mjs → messages-kuLrhtV2.mjs} +41 -1
- package/dist/{chunks/messages-CFfpHyTU.mjs → messages-nosa-xnx2.mjs} +41 -1
- package/dist/{chunks/messages-B0t2L3bi.mjs → messages-uP6wmMOs.mjs} +41 -1
- package/dist/{messages-B2YeJw8s2.mjs → messages-us2JotS-2.mjs} +41 -1
- package/dist/react.mjs +2 -2
- package/dist/tools.mjs +3 -3
- package/package.json +1 -1
- package/src/components/i18n/locales/am/messages.json +41 -1
- package/src/components/i18n/locales/ar/messages.json +41 -1
- package/src/components/i18n/locales/az/messages.json +41 -1
- package/src/components/i18n/locales/bg/messages.json +41 -1
- package/src/components/i18n/locales/bn/messages.json +41 -1
- package/src/components/i18n/locales/bs/messages.json +41 -1
- package/src/components/i18n/locales/cs/messages.json +41 -1
- package/src/components/i18n/locales/da/messages.json +41 -1
- package/src/components/i18n/locales/de/messages.json +41 -1
- package/src/components/i18n/locales/dv/messages.json +41 -1
- package/src/components/i18n/locales/el/messages.json +41 -1
- package/src/components/i18n/locales/en/messages.json +41 -1
- package/src/components/i18n/locales/es/messages.json +41 -1
- package/src/components/i18n/locales/et/messages.json +41 -1
- package/src/components/i18n/locales/fa/messages.json +41 -1
- package/src/components/i18n/locales/fi/messages.json +41 -1
- package/src/components/i18n/locales/fil/messages.json +41 -1
- package/src/components/i18n/locales/fr/messages.json +41 -1
- package/src/components/i18n/locales/gu/messages.json +41 -1
- package/src/components/i18n/locales/he/messages.json +41 -1
- package/src/components/i18n/locales/hi/messages.json +41 -1
- package/src/components/i18n/locales/hr/messages.json +41 -1
- package/src/components/i18n/locales/hu/messages.json +41 -1
- package/src/components/i18n/locales/hy/messages.json +41 -1
- package/src/components/i18n/locales/id/messages.json +41 -1
- package/src/components/i18n/locales/it/messages.json +41 -1
- package/src/components/i18n/locales/ja/messages.json +41 -1
- package/src/components/i18n/locales/ka/messages.json +41 -1
- package/src/components/i18n/locales/km/messages.json +41 -1
- package/src/components/i18n/locales/kn/messages.json +41 -1
- package/src/components/i18n/locales/ko/messages.json +41 -1
- package/src/components/i18n/locales/ku/messages.json +41 -1
- package/src/components/i18n/locales/lo/messages.json +41 -1
- package/src/components/i18n/locales/lt/messages.json +41 -1
- package/src/components/i18n/locales/lv/messages.json +41 -1
- package/src/components/i18n/locales/mk/messages.json +41 -1
- package/src/components/i18n/locales/ml/messages.json +41 -1
- package/src/components/i18n/locales/mn/messages.json +41 -1
- package/src/components/i18n/locales/mr/messages.json +41 -1
- package/src/components/i18n/locales/ms/messages.json +41 -1
- package/src/components/i18n/locales/my/messages.json +41 -1
- package/src/components/i18n/locales/ne/messages.json +41 -1
- package/src/components/i18n/locales/nl/messages.json +41 -1
- package/src/components/i18n/locales/no/messages.json +41 -1
- package/src/components/i18n/locales/pa/messages.json +41 -1
- package/src/components/i18n/locales/pl/messages.json +41 -1
- package/src/components/i18n/locales/ps/messages.json +41 -1
- package/src/components/i18n/locales/pt/messages.json +41 -1
- package/src/components/i18n/locales/ro/messages.json +41 -1
- package/src/components/i18n/locales/ru/messages.json +41 -1
- package/src/components/i18n/locales/sd/messages.json +41 -1
- package/src/components/i18n/locales/si/messages.json +41 -1
- package/src/components/i18n/locales/sk/messages.json +41 -1
- package/src/components/i18n/locales/sl/messages.json +41 -1
- package/src/components/i18n/locales/sq/messages.json +41 -1
- package/src/components/i18n/locales/sr/messages.json +41 -1
- package/src/components/i18n/locales/sv/messages.json +41 -1
- package/src/components/i18n/locales/sw/messages.json +41 -1
- package/src/components/i18n/locales/ta/messages.json +41 -1
- package/src/components/i18n/locales/te/messages.json +41 -1
- package/src/components/i18n/locales/th/messages.json +41 -1
- package/src/components/i18n/locales/tr/messages.json +41 -1
- package/src/components/i18n/locales/ug/messages.json +41 -1
- package/src/components/i18n/locales/uk/messages.json +41 -1
- package/src/components/i18n/locales/ur/messages.json +41 -1
- package/src/components/i18n/locales/vi/messages.json +41 -1
- package/src/components/i18n/locales/yi/messages.json +41 -1
- package/src/components/i18n/locales/zh/messages.json +41 -1
- package/src/components/icons/index.ts +10 -0
- package/src/components/modules/renderer.ts +17 -0
- package/src/components/ui/toolbox.ts +9 -0
- package/src/components/utils/caret/boundaries.ts +15 -4
- package/src/tools/callout/emoji-picker/index.ts +38 -0
- package/src/tools/callout/index.ts +1 -0
- package/src/tools/divider/index.ts +2 -1
- package/src/tools/header/index.ts +2 -0
- package/src/tools/index.ts +2 -0
- package/src/tools/list/style-config.ts +3 -0
- package/src/tools/paragraph/index.ts +1 -0
- package/src/tools/quote/index.ts +229 -0
- package/src/tools/table/index.ts +1 -0
- package/src/tools/toggle/index.ts +1 -0
- package/types/tools/tool-settings.d.ts +7 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { $ as e,
|
|
1
|
+
import { $ as e, A as t, At as n, B as r, Bn as i, Bt as a, Ct as o, D as s, Dt as c, Et as l, F as u, Ft as d, G as f, Gt as p, H as m, I as h, It as g, J as ee, K as te, Kn as _, L as ne, Lt as re, M as ie, Mt as ae, N as oe, Nt as se, O as ce, Ot as le, P as ue, Pt as de, Q as fe, R as pe, St as me, Tt as he, U as ge, V as _e, W as ve, Wt as ye, X as be, Xt as v, Y as xe, Z as Se, Zt as y, _t as Ce, a as we, at as Te, bt as Ee, c as De, ct as Oe, d as ke, dt as Ae, en as je, et as Me, f as Ne, ft as Pe, g as Fe, gn as Ie, gt as Le, h as Re, ht as ze, i as Be, it as Ve, j as He, jt as Ue, kt as We, l as Ge, mt as Ke, n as qe, nt as Je, o as Ye, ot as Xe, p as Ze, q as Qe, qn as b, qt as $e, r as et, rt as tt, s as nt, st as rt, t as it, tn as at, tt as ot, u as x, ut as st, v as ct, vt as lt, xt as ut, yt as dt, z as ft } from "./constants-B_TnFMSA.mjs";
|
|
2
2
|
import { t as S } from "./objectSpread2-CyPxu8-u.mjs";
|
|
3
3
|
import { n as C } from "./tw-DmW6-pCY.mjs";
|
|
4
4
|
//#region src/components/utils/html.ts
|
|
5
|
-
var
|
|
5
|
+
var pt = (e) => {
|
|
6
6
|
if (!e || !e.includes("data-blok-fake-background")) return e;
|
|
7
7
|
let t = document.createElement("div");
|
|
8
8
|
return t.innerHTML = e, t.querySelectorAll("[data-blok-fake-background=\"true\"]").forEach((e) => {
|
|
@@ -21,7 +21,7 @@ var ft = (e) => {
|
|
|
21
21
|
"data-[blok-empty=true]:before:text-gray-text",
|
|
22
22
|
"data-[blok-empty=true]:before:cursor-text",
|
|
23
23
|
"data-[blok-empty=true]:before:content-[attr(data-placeholder)]"
|
|
24
|
-
],
|
|
24
|
+
], mt = [
|
|
25
25
|
"empty:before:pointer-events-none",
|
|
26
26
|
"empty:before:text-gray-text",
|
|
27
27
|
"empty:before:cursor-text",
|
|
@@ -30,7 +30,7 @@ var ft = (e) => {
|
|
|
30
30
|
"data-[empty=true]:before:text-gray-text",
|
|
31
31
|
"data-[empty=true]:before:cursor-text",
|
|
32
32
|
"data-[empty=true]:before:content-[attr(data-blok-placeholder-active)]"
|
|
33
|
-
],
|
|
33
|
+
], ht = [
|
|
34
34
|
"empty:focus:before:pointer-events-none",
|
|
35
35
|
"empty:focus:before:text-gray-text",
|
|
36
36
|
"empty:focus:before:cursor-text",
|
|
@@ -39,7 +39,7 @@ var ft = (e) => {
|
|
|
39
39
|
"[&[data-empty=true]:focus]:before:text-gray-text",
|
|
40
40
|
"[&[data-empty=true]:focus]:before:cursor-text",
|
|
41
41
|
"[&[data-empty=true]:focus]:before:content-[attr(data-blok-placeholder-active)]"
|
|
42
|
-
],
|
|
42
|
+
], gt = [
|
|
43
43
|
"empty:in-data-[blok-empty=true]:before:pointer-events-none",
|
|
44
44
|
"empty:in-data-[blok-empty=true]:before:text-gray-text",
|
|
45
45
|
"empty:in-data-[blok-empty=true]:before:cursor-text",
|
|
@@ -48,19 +48,19 @@ var ft = (e) => {
|
|
|
48
48
|
"[[data-blok-empty=true]_&[data-empty=true]]:before:text-gray-text",
|
|
49
49
|
"[[data-blok-empty=true]_&[data-empty=true]]:before:cursor-text",
|
|
50
50
|
"[[data-blok-empty=true]_&[data-empty=true]]:before:content-[attr(data-blok-placeholder-active)]"
|
|
51
|
-
],
|
|
51
|
+
], _t = (e) => {
|
|
52
52
|
let t = e.innerHTML.trim();
|
|
53
53
|
return t === "" || t === "<br>";
|
|
54
|
-
},
|
|
54
|
+
}, vt = (e) => {
|
|
55
55
|
e.innerHTML === "<br>" && (e.innerHTML = "");
|
|
56
56
|
let t = window.getSelection();
|
|
57
57
|
if (!t) return;
|
|
58
58
|
let n = document.createRange();
|
|
59
59
|
n.selectNodeContents(e), n.collapse(!0), t.removeAllRanges(), t.addRange(n);
|
|
60
|
-
},
|
|
61
|
-
|
|
62
|
-
},
|
|
63
|
-
e.setAttribute(n, t == null ? "" : t), e.addEventListener("focus", () =>
|
|
60
|
+
}, yt = (e) => {
|
|
61
|
+
_t(e) && vt(e);
|
|
62
|
+
}, T = (e, t, n = "data-placeholder") => {
|
|
63
|
+
e.setAttribute(n, t == null ? "" : t), e.addEventListener("focus", () => yt(e));
|
|
64
64
|
}, bt, xt = (e) => {
|
|
65
65
|
let t = document.createElement("div");
|
|
66
66
|
t.innerHTML = e.trim();
|
|
@@ -85,9 +85,9 @@ var ft = (e) => {
|
|
|
85
85
|
}
|
|
86
86
|
drawView() {
|
|
87
87
|
let t = document.createElement("DIV");
|
|
88
|
-
t.className = C(this.api.styles.block, e.WRAPPER_CLASSES,
|
|
88
|
+
t.className = C(this.api.styles.block, e.WRAPPER_CLASSES, ht, gt), t.setAttribute(_.tool, "paragraph"), t.contentEditable = "false";
|
|
89
89
|
let n = this.buildInlineStyles();
|
|
90
|
-
return Object.keys(n).length > 0 && Object.assign(t.style, n), this._data.text ? t.innerHTML = this._data.text : this.readOnly && (t.innerHTML = "<br>"), this.readOnly || (t.contentEditable = "true", t.addEventListener("keyup", this.onKeyUp),
|
|
90
|
+
return Object.keys(n).length > 0 && Object.assign(t.style, n), this._data.text ? t.innerHTML = this._data.text : this.readOnly && (t.innerHTML = "<br>"), this.readOnly || (t.contentEditable = "true", t.addEventListener("keyup", this.onKeyUp), T(t, this.api.i18n.t(this._placeholder), "data-blok-placeholder-active")), t;
|
|
91
91
|
}
|
|
92
92
|
render() {
|
|
93
93
|
return this._element = this.drawView(), this._element;
|
|
@@ -102,7 +102,7 @@ var ft = (e) => {
|
|
|
102
102
|
return !(e.text.trim() === "" && !this._preserveBlank);
|
|
103
103
|
}
|
|
104
104
|
save(e) {
|
|
105
|
-
return { text:
|
|
105
|
+
return { text: pt(e.innerHTML) };
|
|
106
106
|
}
|
|
107
107
|
onPaste(e) {
|
|
108
108
|
let t = e.detail;
|
|
@@ -134,14 +134,15 @@ var ft = (e) => {
|
|
|
134
134
|
}
|
|
135
135
|
static get toolbox() {
|
|
136
136
|
return {
|
|
137
|
-
icon:
|
|
137
|
+
icon: Ce,
|
|
138
138
|
title: "Text",
|
|
139
139
|
titleKey: "text",
|
|
140
140
|
searchTerms: [
|
|
141
141
|
"p",
|
|
142
142
|
"paragraph",
|
|
143
143
|
"plain"
|
|
144
|
-
]
|
|
144
|
+
],
|
|
145
|
+
searchTermKeys: ["paragraph", "plain"]
|
|
145
146
|
};
|
|
146
147
|
}
|
|
147
148
|
};
|
|
@@ -157,25 +158,25 @@ bt = St, bt.WRAPPER_CLASSES = [
|
|
|
157
158
|
//#region src/tools/toggle/dom-builder.ts
|
|
158
159
|
var Ct = (e) => {
|
|
159
160
|
let { data: t, readOnly: n, isOpen: r, keydownHandler: i, onArrowClick: a, onBodyPlaceholderClick: o } = e, s = document.createElement("div");
|
|
160
|
-
s.className =
|
|
161
|
+
s.className = we, s.setAttribute(_.tool, Ze), s.setAttribute(x.toggleOpen, String(r));
|
|
161
162
|
let c = document.createElement("div");
|
|
162
|
-
c.className =
|
|
163
|
+
c.className = Ne;
|
|
163
164
|
let l = wt(r, a, {}, e.ariaLabels), u = Et(t, n, i);
|
|
164
165
|
c.appendChild(l), c.appendChild(u);
|
|
165
|
-
let
|
|
166
|
-
return
|
|
166
|
+
let d = Tt(o, e.bodyPlaceholderText), f = document.createElement("div");
|
|
167
|
+
return f.className = ke, f.setAttribute(x.toggleChildren, ""), f.setAttribute("data-blok-mutation-free", "true"), f.id = `toggle-children-${Date.now()}-${Math.random().toString(36).slice(2)}`, l.setAttribute("aria-controls", f.id), s.appendChild(c), s.appendChild(d), s.appendChild(f), {
|
|
167
168
|
wrapper: s,
|
|
168
169
|
arrowElement: l,
|
|
169
170
|
contentElement: u,
|
|
170
|
-
bodyPlaceholderElement:
|
|
171
|
-
childContainerElement:
|
|
171
|
+
bodyPlaceholderElement: d,
|
|
172
|
+
childContainerElement: f
|
|
172
173
|
};
|
|
173
174
|
}, wt = (e, t, n = {}, r = {
|
|
174
175
|
collapse: "Collapse",
|
|
175
176
|
expand: "Expand"
|
|
176
177
|
}) => {
|
|
177
178
|
let i = document.createElement("span");
|
|
178
|
-
i.className =
|
|
179
|
+
i.className = Be, i.setAttribute(x.toggleArrow, ""), i.setAttribute(_.mutationFree, "true"), i.setAttribute("role", "button"), i.setAttribute("tabindex", "0"), i.setAttribute("aria-label", e ? r.collapse : r.expand), i.setAttribute("aria-expanded", String(e)), n.contentEditableFalse === !0 && (i.contentEditable = "false"), i.innerHTML = et;
|
|
179
180
|
let a = i.querySelector("svg");
|
|
180
181
|
return a && (a.style.transition = "transform 200ms ease-in-out", e && (a.style.transform = "rotate(90deg)")), t && (i.addEventListener("click", (e) => {
|
|
181
182
|
e.stopPropagation(), t();
|
|
@@ -184,14 +185,14 @@ var Ct = (e) => {
|
|
|
184
185
|
})), i;
|
|
185
186
|
}, Tt = (e, t) => {
|
|
186
187
|
let n = document.createElement("div");
|
|
187
|
-
return n.className =
|
|
188
|
+
return n.className = nt, n.setAttribute(x.toggleBodyPlaceholder, ""), n.setAttribute("data-blok-mutation-free", "true"), n.textContent = t, e && n.addEventListener("click", e), n;
|
|
188
189
|
}, Et = (e, t, n) => {
|
|
189
190
|
let r = document.createElement("div");
|
|
190
|
-
return r.className = C(
|
|
191
|
+
return r.className = C(De, mt, gt), r.setAttribute(x.toggleContent, ""), r.contentEditable = t ? "false" : "true", r.innerHTML = e.text, n && r.addEventListener("keydown", n), r;
|
|
191
192
|
}, Dt = (e) => {
|
|
192
193
|
let t = Ct(e);
|
|
193
|
-
return t.contentElement &&
|
|
194
|
-
},
|
|
194
|
+
return t.contentElement && T(t.contentElement, e.placeholder, "data-blok-placeholder-active"), t;
|
|
195
|
+
}, E = (e, t, n, r = {
|
|
195
196
|
collapse: "Collapse",
|
|
196
197
|
expand: "Expand"
|
|
197
198
|
}) => {
|
|
@@ -222,14 +223,14 @@ var Ct = (e) => {
|
|
|
222
223
|
n.caret.setToBlock(t.id, "start");
|
|
223
224
|
return;
|
|
224
225
|
}
|
|
225
|
-
n.blocks.splitBlock(r, { text: u },
|
|
226
|
+
n.blocks.splitBlock(r, { text: u }, Ze, { text: d }, f + 1), i.text = u;
|
|
226
227
|
}, jt = async (e, t) => {
|
|
227
|
-
let { api: n, blockId: r, data: i, getContentElement:
|
|
228
|
-
if (
|
|
229
|
-
let
|
|
230
|
-
if (!
|
|
231
|
-
let
|
|
232
|
-
|
|
228
|
+
let { api: n, blockId: r, data: i, getContentElement: o, syncContentFromDOM: s } = e;
|
|
229
|
+
if (s(), r === void 0) return;
|
|
230
|
+
let c = o();
|
|
231
|
+
if (!c || !a(c)) return;
|
|
232
|
+
let l = i.text;
|
|
233
|
+
l === "" && (t.preventDefault(), await n.blocks.convert(r, "paragraph", { text: l }));
|
|
233
234
|
}, Mt = (e, t, n) => {
|
|
234
235
|
var r;
|
|
235
236
|
let i = e.blocks.getChildren(t);
|
|
@@ -274,14 +275,14 @@ var Ct = (e) => {
|
|
|
274
275
|
isToggleable: !0
|
|
275
276
|
}, f + 1);
|
|
276
277
|
}, Ft = async (e, t) => {
|
|
277
|
-
let { api: n, blockId: r, getText: i, getContentElement:
|
|
278
|
-
if (
|
|
279
|
-
let
|
|
280
|
-
if (!
|
|
281
|
-
let
|
|
282
|
-
|
|
283
|
-
text:
|
|
284
|
-
level:
|
|
278
|
+
let { api: n, blockId: r, getText: i, getContentElement: o, syncContentFromDOM: s, currentLevel: c } = e;
|
|
279
|
+
if (s(), r === void 0) return;
|
|
280
|
+
let l = o();
|
|
281
|
+
if (!l || !a(l)) return;
|
|
282
|
+
let u = i();
|
|
283
|
+
u === "" && (t.preventDefault(), await n.blocks.convert(r, "header", {
|
|
284
|
+
text: u,
|
|
285
|
+
level: c
|
|
285
286
|
}));
|
|
286
287
|
}, It, Lt = class e {
|
|
287
288
|
constructor({ data: e, config: t, api: n, readOnly: r, block: i }) {
|
|
@@ -332,13 +333,13 @@ var Ct = (e) => {
|
|
|
332
333
|
this.api.events.off("block changed", this.handleBlockChanged), this._element.removeEventListener("keydown", this.handleKeyDown);
|
|
333
334
|
}
|
|
334
335
|
expand() {
|
|
335
|
-
!this._data.isToggleable || this._isOpen || (this._isOpen = !0, this._arrowElement && this._element &&
|
|
336
|
+
!this._data.isToggleable || this._isOpen || (this._isOpen = !0, this._arrowElement && this._element && E(this._arrowElement, this._element, this._isOpen, {
|
|
336
337
|
collapse: this.api.i18n.t("tools.toggle.ariaLabelCollapse"),
|
|
337
338
|
expand: this.api.i18n.t("tools.toggle.ariaLabelExpand")
|
|
338
339
|
}), this.updateChildrenVisibility(), this.updateBodyPlaceholderVisibility());
|
|
339
340
|
}
|
|
340
341
|
collapse() {
|
|
341
|
-
!this._data.isToggleable || !this._isOpen || (this._isOpen = !1, this._arrowElement && this._element &&
|
|
342
|
+
!this._data.isToggleable || !this._isOpen || (this._isOpen = !1, this._arrowElement && this._element && E(this._arrowElement, this._element, this._isOpen, {
|
|
342
343
|
collapse: this.api.i18n.t("tools.toggle.ariaLabelCollapse"),
|
|
343
344
|
expand: this.api.i18n.t("tools.toggle.ariaLabelExpand")
|
|
344
345
|
}), this.updateChildrenVisibility(), this.updateBodyPlaceholderVisibility());
|
|
@@ -373,7 +374,7 @@ var Ct = (e) => {
|
|
|
373
374
|
return typeof e.text == "string";
|
|
374
375
|
}
|
|
375
376
|
setData(e) {
|
|
376
|
-
return this._data = this.normalizeData(e), typeof e.text == "string" && (this._element.innerHTML = e.text), this._data.isToggleable && typeof this._data.isOpen == "boolean" && (this._isOpen = this._data.isOpen, this._arrowElement && this._element &&
|
|
377
|
+
return this._data = this.normalizeData(e), typeof e.text == "string" && (this._element.innerHTML = e.text), this._data.isToggleable && typeof this._data.isOpen == "boolean" && (this._isOpen = this._data.isOpen, this._arrowElement && this._element && E(this._arrowElement, this._element, this._isOpen, {
|
|
377
378
|
collapse: this.api.i18n.t("tools.toggle.ariaLabelCollapse"),
|
|
378
379
|
expand: this.api.i18n.t("tools.toggle.ariaLabelExpand")
|
|
379
380
|
}), this.updateChildrenVisibility(), this.updateBodyPlaceholderVisibility()), !0;
|
|
@@ -430,9 +431,9 @@ var Ct = (e) => {
|
|
|
430
431
|
let t = document.createElement(this.currentLevel.tag);
|
|
431
432
|
t.innerHTML = this._data.text || "", t.className = C(e.BASE_STYLES, this.currentLevel.styles, w, this._data.isToggleable ? "pl-8" : "");
|
|
432
433
|
let { inlineStyles: n } = this.currentLevel;
|
|
433
|
-
n && Object.assign(t.style, n), t.setAttribute(
|
|
434
|
+
n && Object.assign(t.style, n), t.setAttribute(_.tool, "header"), t.contentEditable = this.readOnly ? "false" : "true", this._data.isToggleable && t.setAttribute(x.toggleOpen, String(this._isOpen));
|
|
434
435
|
let r = this.api.i18n.t(this.currentLevel.nameKey), i = this.resolvePlaceholderText(r);
|
|
435
|
-
return this.readOnly ? t.setAttribute("data-placeholder", i) :
|
|
436
|
+
return this.readOnly ? t.setAttribute("data-placeholder", i) : T(t, i), !this.readOnly && this._data.isToggleable && t.addEventListener("keydown", this.handleKeyDown), t;
|
|
436
437
|
}
|
|
437
438
|
buildArrow() {
|
|
438
439
|
let e = wt(this._isOpen, () => this.toggleOpen(), {}, {
|
|
@@ -447,7 +448,7 @@ var Ct = (e) => {
|
|
|
447
448
|
let n = this.buildArrow();
|
|
448
449
|
this._arrowElement = n, t.appendChild(n), t.appendChild(this._element), e.appendChild(t);
|
|
449
450
|
let r = document.createElement("div");
|
|
450
|
-
r.className = C(
|
|
451
|
+
r.className = C(nt, "pl-8"), r.setAttribute(x.toggleBodyPlaceholder, ""), r.setAttribute("data-blok-mutation-free", "true"), r.textContent = this.api.i18n.t("tools.toggle.bodyPlaceholder"), this.readOnly || r.addEventListener("click", () => this.handleBodyPlaceholderClick()), this._bodyPlaceholderElement = r, e.appendChild(r);
|
|
451
452
|
let i = document.createElement("div");
|
|
452
453
|
return i.className = "pl-8", i.setAttribute(x.toggleChildren, ""), i.setAttribute("data-blok-mutation-free", "true"), this._childContainerElement = i, e.appendChild(i), e;
|
|
453
454
|
}
|
|
@@ -477,7 +478,7 @@ var Ct = (e) => {
|
|
|
477
478
|
await Pt(e.createKeyboardContext()), e.updateChildrenVisibility(), e.updateBodyPlaceholderVisibility();
|
|
478
479
|
}
|
|
479
480
|
toggleOpen() {
|
|
480
|
-
this._isOpen = !this._isOpen, this._arrowElement && this._element &&
|
|
481
|
+
this._isOpen = !this._isOpen, this._arrowElement && this._element && E(this._arrowElement, this._element, this._isOpen, {
|
|
481
482
|
collapse: this.api.i18n.t("tools.toggle.ariaLabelCollapse"),
|
|
482
483
|
expand: this.api.i18n.t("tools.toggle.ariaLabelExpand")
|
|
483
484
|
}), this.updateChildrenVisibility(), this.updateBodyPlaceholderVisibility();
|
|
@@ -562,11 +563,16 @@ var Ct = (e) => {
|
|
|
562
563
|
"header",
|
|
563
564
|
"heading"
|
|
564
565
|
],
|
|
566
|
+
searchTermKeys: [
|
|
567
|
+
"title",
|
|
568
|
+
"header",
|
|
569
|
+
"heading"
|
|
570
|
+
],
|
|
565
571
|
shortcut: "#".repeat(e.number)
|
|
566
572
|
})), n = {
|
|
567
|
-
1:
|
|
568
|
-
2:
|
|
569
|
-
3:
|
|
573
|
+
1: lt,
|
|
574
|
+
2: dt,
|
|
575
|
+
3: Ee
|
|
570
576
|
}, r = e.DEFAULT_LEVELS.filter((e) => e.number <= 3).map((e) => ({
|
|
571
577
|
icon: n[e.number],
|
|
572
578
|
title: `Toggle heading ${e.number}`,
|
|
@@ -582,6 +588,11 @@ var Ct = (e) => {
|
|
|
582
588
|
`h${e.number}`,
|
|
583
589
|
"collapsible"
|
|
584
590
|
],
|
|
591
|
+
searchTermKeys: [
|
|
592
|
+
"toggle",
|
|
593
|
+
"heading",
|
|
594
|
+
"collapsible"
|
|
595
|
+
],
|
|
585
596
|
shortcut: ">" + "#".repeat(e.number)
|
|
586
597
|
}));
|
|
587
598
|
return [...t, ...r];
|
|
@@ -593,7 +604,7 @@ It = Lt, It.BASE_STYLES = "py-[7px] px-[2px] m-0 leading-[1.3]! outline-hidden [
|
|
|
593
604
|
tag: "H1",
|
|
594
605
|
nameKey: "tools.header.heading1",
|
|
595
606
|
name: "Heading 1",
|
|
596
|
-
icon:
|
|
607
|
+
icon: ge,
|
|
597
608
|
styles: "text-3xl font-semibold mt-8 mb-px"
|
|
598
609
|
},
|
|
599
610
|
{
|
|
@@ -601,7 +612,7 @@ It = Lt, It.BASE_STYLES = "py-[7px] px-[2px] m-0 leading-[1.3]! outline-hidden [
|
|
|
601
612
|
tag: "H2",
|
|
602
613
|
nameKey: "tools.header.heading2",
|
|
603
614
|
name: "Heading 2",
|
|
604
|
-
icon:
|
|
615
|
+
icon: ve,
|
|
605
616
|
styles: "text-2xl font-semibold mt-[26px] mb-px"
|
|
606
617
|
},
|
|
607
618
|
{
|
|
@@ -609,7 +620,7 @@ It = Lt, It.BASE_STYLES = "py-[7px] px-[2px] m-0 leading-[1.3]! outline-hidden [
|
|
|
609
620
|
tag: "H3",
|
|
610
621
|
nameKey: "tools.header.heading3",
|
|
611
622
|
name: "Heading 3",
|
|
612
|
-
icon:
|
|
623
|
+
icon: f,
|
|
613
624
|
styles: "text-xl font-semibold mt-5 mb-px"
|
|
614
625
|
},
|
|
615
626
|
{
|
|
@@ -617,7 +628,7 @@ It = Lt, It.BASE_STYLES = "py-[7px] px-[2px] m-0 leading-[1.3]! outline-hidden [
|
|
|
617
628
|
tag: "H4",
|
|
618
629
|
nameKey: "tools.header.heading4",
|
|
619
630
|
name: "Heading 4",
|
|
620
|
-
icon:
|
|
631
|
+
icon: te,
|
|
621
632
|
styles: "text-lg font-semibold mt-3 mb-px"
|
|
622
633
|
},
|
|
623
634
|
{
|
|
@@ -625,7 +636,7 @@ It = Lt, It.BASE_STYLES = "py-[7px] px-[2px] m-0 leading-[1.3]! outline-hidden [
|
|
|
625
636
|
tag: "H5",
|
|
626
637
|
nameKey: "tools.header.heading5",
|
|
627
638
|
name: "Heading 5",
|
|
628
|
-
icon:
|
|
639
|
+
icon: Qe,
|
|
629
640
|
styles: "text-base font-semibold mt-3 mb-px"
|
|
630
641
|
},
|
|
631
642
|
{
|
|
@@ -633,7 +644,7 @@ It = Lt, It.BASE_STYLES = "py-[7px] px-[2px] m-0 leading-[1.3]! outline-hidden [
|
|
|
633
644
|
tag: "H6",
|
|
634
645
|
nameKey: "tools.header.heading6",
|
|
635
646
|
name: "Heading 6",
|
|
636
|
-
icon:
|
|
647
|
+
icon: ee,
|
|
637
648
|
styles: "text-sm font-semibold mt-3 mb-px"
|
|
638
649
|
}
|
|
639
650
|
];
|
|
@@ -663,7 +674,7 @@ var Rt = "outline-hidden py-[7px] mt-[2px] mb-px", zt = "outline-hidden pl-0.5 l
|
|
|
663
674
|
}, qt = (e) => {
|
|
664
675
|
var t;
|
|
665
676
|
let { data: n } = e, r = document.createElement("div");
|
|
666
|
-
return r.className = Rt, r.setAttribute(
|
|
677
|
+
return r.className = Rt, r.setAttribute(_.tool, Ut), r.setAttribute("data-list-style", n.style), r.setAttribute("data-list-depth", String((t = n.depth) == null ? 0 : t)), n.start !== void 0 && n.start !== 1 && r.setAttribute("data-list-start", String(n.start)), r;
|
|
667
678
|
}, Jt = (e) => {
|
|
668
679
|
var t;
|
|
669
680
|
let { data: n, itemColor: r, itemSize: i, placeholder: a } = e, o = document.createElement("div");
|
|
@@ -720,7 +731,7 @@ var Rt = "outline-hidden py-[7px] mt-[2px] mb-px", zt = "outline-hidden pl-0.5 l
|
|
|
720
731
|
}, $t = (e, t, n) => {
|
|
721
732
|
if (!t) return e;
|
|
722
733
|
let r = n(), i = S({
|
|
723
|
-
text: r ?
|
|
734
|
+
text: r ? pt(r.innerHTML) : e.text,
|
|
724
735
|
style: e.style
|
|
725
736
|
}, e.style === "checklist" ? { checked: !!e.checked } : {});
|
|
726
737
|
return e.start !== void 0 && e.start !== 1 && (i.start = e.start), e.depth !== void 0 && e.depth > 0 && (i.depth = e.depth), i;
|
|
@@ -936,7 +947,7 @@ var Rt = "outline-hidden py-[7px] mt-[2px] mb-px", zt = "outline-hidden pl-0.5 l
|
|
|
936
947
|
let a = i.holder;
|
|
937
948
|
a != null && a.querySelector("[data-list-style=\"ordered\"]") && kn(i, e, t, n);
|
|
938
949
|
});
|
|
939
|
-
},
|
|
950
|
+
}, D = (e, t, n = "end") => {
|
|
940
951
|
let r = () => {
|
|
941
952
|
let r = t.holder;
|
|
942
953
|
if (!r) return;
|
|
@@ -965,7 +976,7 @@ var Rt = "outline-hidden py-[7px] mt-[2px] mb-px", zt = "outline-hidden pl-0.5 l
|
|
|
965
976
|
}
|
|
966
977
|
let { beforeContent: u, afterContent: d } = sn(c, s.getRangeAt(0)), f = r ? (t = n.blocks.getBlockIndex(r)) == null ? n.blocks.getCurrentBlockIndex() : t : n.blocks.getCurrentBlockIndex();
|
|
967
978
|
if (!r) {
|
|
968
|
-
c.innerHTML = u, i.text = u,
|
|
979
|
+
c.innerHTML = u, i.text = u, D(n, n.blocks.insert(Ut, S(S({
|
|
969
980
|
text: d,
|
|
970
981
|
style: i.style
|
|
971
982
|
}, i.style === "checklist" ? { checked: !!i.checked } : {}), {}, { depth: i.depth }), void 0, f + 1, !0), "start");
|
|
@@ -975,14 +986,14 @@ var Rt = "outline-hidden py-[7px] mt-[2px] mb-px", zt = "outline-hidden pl-0.5 l
|
|
|
975
986
|
text: d,
|
|
976
987
|
style: i.style
|
|
977
988
|
}, i.style === "checklist" ? { checked: !!i.checked } : {}), {}, { depth: i.depth }), f + 1);
|
|
978
|
-
i.text = u,
|
|
989
|
+
i.text = u, D(n, p, "start");
|
|
979
990
|
}, Nn = async (e) => {
|
|
980
991
|
let { api: t, blockId: n, getDepth: r } = e;
|
|
981
992
|
if (r() > 0) {
|
|
982
993
|
await In(e);
|
|
983
994
|
return;
|
|
984
995
|
}
|
|
985
|
-
n !== void 0 &&
|
|
996
|
+
n !== void 0 && D(t, await t.blocks.convert(n, "paragraph", { text: "" }), "start");
|
|
986
997
|
}, Pn = async (e, t) => {
|
|
987
998
|
let { api: n, blockId: r, data: i, element: a, getContentElement: o, getDepth: s, syncContentFromDOM: c } = e, l = window.getSelection();
|
|
988
999
|
if (!l || !a) return;
|
|
@@ -1001,7 +1012,7 @@ var Rt = "outline-hidden py-[7px] mt-[2px] mb-px", zt = "outline-hidden pl-0.5 l
|
|
|
1001
1012
|
p > 0 && requestAnimationFrame(() => {
|
|
1002
1013
|
let e = m.holder;
|
|
1003
1014
|
e && (e.style.marginLeft = `${p * 27}px`, e.setAttribute("data-blok-depth", String(p)));
|
|
1004
|
-
}),
|
|
1015
|
+
}), D(n, m, "start");
|
|
1005
1016
|
}, Fn = async (e, t) => {
|
|
1006
1017
|
let { api: n, blockId: r, data: i, syncContentFromDOM: a, getDepth: o } = e, s = n.blocks.getCurrentBlockIndex();
|
|
1007
1018
|
if (s === 0) return;
|
|
@@ -1011,13 +1022,13 @@ var Rt = "outline-hidden py-[7px] mt-[2px] mb-px", zt = "outline-hidden pl-0.5 l
|
|
|
1011
1022
|
if (l > t.getBlockDepth(c)) return;
|
|
1012
1023
|
a();
|
|
1013
1024
|
let u = l + 1;
|
|
1014
|
-
i.depth = u,
|
|
1025
|
+
i.depth = u, D(n, await n.blocks.update(r || "", S(S({}, i), {}, { depth: u })));
|
|
1015
1026
|
}, In = async (e) => {
|
|
1016
1027
|
let { api: t, blockId: n, data: r, syncContentFromDOM: i, getDepth: a } = e, o = a();
|
|
1017
1028
|
if (o === 0) return;
|
|
1018
1029
|
i();
|
|
1019
1030
|
let s = o - 1;
|
|
1020
|
-
r.depth = s,
|
|
1031
|
+
r.depth = s, D(t, await t.blocks.update(n || "", S(S({}, r), {}, { depth: s })));
|
|
1021
1032
|
}, Ln = (e) => {
|
|
1022
1033
|
let { data: t, readOnly: n, placeholder: r, itemColor: i, itemSize: a, setupItemPlaceholder: o, onCheckboxChange: s, keydownHandler: c } = e, l = Kt({
|
|
1023
1034
|
data: t,
|
|
@@ -1267,23 +1278,23 @@ var Rt = "outline-hidden py-[7px] mt-[2px] mb-px", zt = "outline-hidden pl-0.5 l
|
|
|
1267
1278
|
name: "bulletedList",
|
|
1268
1279
|
titleKey: "bulletedList",
|
|
1269
1280
|
style: "unordered",
|
|
1270
|
-
icon:
|
|
1281
|
+
icon: Ve
|
|
1271
1282
|
},
|
|
1272
1283
|
{
|
|
1273
1284
|
name: "numberedList",
|
|
1274
1285
|
titleKey: "numberedList",
|
|
1275
1286
|
style: "ordered",
|
|
1276
|
-
icon:
|
|
1287
|
+
icon: Xe
|
|
1277
1288
|
},
|
|
1278
1289
|
{
|
|
1279
1290
|
name: "todoList",
|
|
1280
1291
|
titleKey: "todoList",
|
|
1281
1292
|
style: "checklist",
|
|
1282
|
-
icon:
|
|
1293
|
+
icon: Te
|
|
1283
1294
|
}
|
|
1284
1295
|
], er = () => [
|
|
1285
1296
|
{
|
|
1286
|
-
icon:
|
|
1297
|
+
icon: Ve,
|
|
1287
1298
|
title: "Bulleted list",
|
|
1288
1299
|
titleKey: "bulletedList",
|
|
1289
1300
|
data: { style: "unordered" },
|
|
@@ -1294,10 +1305,15 @@ var Rt = "outline-hidden py-[7px] mt-[2px] mb-px", zt = "outline-hidden pl-0.5 l
|
|
|
1294
1305
|
"unordered",
|
|
1295
1306
|
"list"
|
|
1296
1307
|
],
|
|
1308
|
+
searchTermKeys: [
|
|
1309
|
+
"bullet",
|
|
1310
|
+
"unordered",
|
|
1311
|
+
"list"
|
|
1312
|
+
],
|
|
1297
1313
|
shortcut: "-"
|
|
1298
1314
|
},
|
|
1299
1315
|
{
|
|
1300
|
-
icon:
|
|
1316
|
+
icon: Xe,
|
|
1301
1317
|
title: "Numbered list",
|
|
1302
1318
|
titleKey: "numberedList",
|
|
1303
1319
|
data: { style: "ordered" },
|
|
@@ -1308,10 +1324,15 @@ var Rt = "outline-hidden py-[7px] mt-[2px] mb-px", zt = "outline-hidden pl-0.5 l
|
|
|
1308
1324
|
"number",
|
|
1309
1325
|
"list"
|
|
1310
1326
|
],
|
|
1327
|
+
searchTermKeys: [
|
|
1328
|
+
"ordered",
|
|
1329
|
+
"number",
|
|
1330
|
+
"list"
|
|
1331
|
+
],
|
|
1311
1332
|
shortcut: "1."
|
|
1312
1333
|
},
|
|
1313
1334
|
{
|
|
1314
|
-
icon:
|
|
1335
|
+
icon: Te,
|
|
1315
1336
|
title: "To-do list",
|
|
1316
1337
|
titleKey: "todoList",
|
|
1317
1338
|
data: { style: "checklist" },
|
|
@@ -1323,6 +1344,13 @@ var Rt = "outline-hidden py-[7px] mt-[2px] mb-px", zt = "outline-hidden pl-0.5 l
|
|
|
1323
1344
|
"check",
|
|
1324
1345
|
"list"
|
|
1325
1346
|
],
|
|
1347
|
+
searchTermKeys: [
|
|
1348
|
+
"checkbox",
|
|
1349
|
+
"task",
|
|
1350
|
+
"todo",
|
|
1351
|
+
"check",
|
|
1352
|
+
"list"
|
|
1353
|
+
],
|
|
1326
1354
|
shortcut: "[]"
|
|
1327
1355
|
}
|
|
1328
1356
|
], tr = class {
|
|
@@ -1354,7 +1382,7 @@ var Rt = "outline-hidden py-[7px] mt-[2px] mb-px", zt = "outline-hidden pl-0.5 l
|
|
|
1354
1382
|
return this.api.i18n.t(Ht);
|
|
1355
1383
|
}
|
|
1356
1384
|
setupItemPlaceholder(e) {
|
|
1357
|
-
this.readOnly ||
|
|
1385
|
+
this.readOnly || T(e, this.placeholder);
|
|
1358
1386
|
}
|
|
1359
1387
|
render() {
|
|
1360
1388
|
return this._element = Ln({
|
|
@@ -1667,7 +1695,7 @@ var Rt = "outline-hidden py-[7px] mt-[2px] mb-px", zt = "outline-hidden pl-0.5 l
|
|
|
1667
1695
|
let { axis: t, startPos: n, unitSize: r } = this.dragState, i = (t === "row" ? e.clientY : e.clientX) - n, a = Math.floor(i / r);
|
|
1668
1696
|
for (; this.dragState.addedCount < a;) t === "row" ? this.onDragAddRow() : this.onDragAddCol(), this.dragState.addedCount++;
|
|
1669
1697
|
for (; this.dragState.addedCount > a;) t === "row" ? this.onDragRemoveRow() : this.onDragRemoveCol(), this.dragState.addedCount--;
|
|
1670
|
-
Math.abs(i) > ar && !this.dragState.didDrag && (this.dragState.didDrag = !0, document.body.style.cursor = t === "row" ? "row-resize" : "col-resize",
|
|
1698
|
+
Math.abs(i) > ar && !this.dragState.didDrag && (this.dragState.didDrag = !0, document.body.style.cursor = t === "row" ? "row-resize" : "col-resize", ye(), this.onDragStart());
|
|
1671
1699
|
}
|
|
1672
1700
|
handlePointerUp(e) {
|
|
1673
1701
|
if (!this.dragState) return;
|
|
@@ -1734,7 +1762,7 @@ var Rt = "outline-hidden py-[7px] mt-[2px] mb-px", zt = "outline-hidden pl-0.5 l
|
|
|
1734
1762
|
let e = document.createElement("div");
|
|
1735
1763
|
e.className = C(sr, "group/add", "items-start", "cursor-row-resize"), e.setAttribute(nr, ""), e.setAttribute("contenteditable", "false"), e.style.opacity = "0", e.style.pointerEvents = "none", e.style.position = "absolute", e.style.left = "0", e.style.bottom = "-36px", e.style.zIndex = "1", e.style.height = "32px";
|
|
1736
1764
|
let t = document.createElement("div");
|
|
1737
|
-
return t.className = C(cr), t.style.width = "100%", t.style.height = "16px", this.appendIcon(t), e.appendChild(t),
|
|
1765
|
+
return t.className = C(cr), t.style.width = "100%", t.style.height = "16px", this.appendIcon(t), e.appendChild(t), p(e, Re([this.i18n.t("tools.table.clickToAddRow"), this.i18n.t("tools.table.dragToAddRemoveRows")]), {
|
|
1738
1766
|
placement: "bottom",
|
|
1739
1767
|
marginTop: -16
|
|
1740
1768
|
}), e;
|
|
@@ -1743,14 +1771,14 @@ var Rt = "outline-hidden py-[7px] mt-[2px] mb-px", zt = "outline-hidden pl-0.5 l
|
|
|
1743
1771
|
let e = document.createElement("div");
|
|
1744
1772
|
e.className = C(sr, "group/add", "justify-start", "cursor-col-resize"), e.setAttribute(rr, ""), e.setAttribute("contenteditable", "false"), e.style.opacity = "0", e.style.pointerEvents = "none", e.style.position = "absolute", e.style.right = "-36px", e.style.top = "0px", e.style.bottom = "0px", e.style.width = "32px";
|
|
1745
1773
|
let t = document.createElement("div");
|
|
1746
|
-
return t.className = C(cr), t.style.width = "16px", t.style.height = "100%", this.appendIcon(t), e.appendChild(t),
|
|
1774
|
+
return t.className = C(cr), t.style.width = "16px", t.style.height = "100%", this.appendIcon(t), e.appendChild(t), p(e, Re([this.i18n.t("tools.table.clickToAddColumn"), this.i18n.t("tools.table.dragToAddRemoveColumns")]), { placement: "bottom" }), e;
|
|
1747
1775
|
}
|
|
1748
1776
|
appendIcon(e) {
|
|
1749
|
-
e.insertAdjacentHTML("beforeend",
|
|
1777
|
+
e.insertAdjacentHTML("beforeend", Ae);
|
|
1750
1778
|
let t = e.querySelector("svg");
|
|
1751
1779
|
t && (t.setAttribute("width", lr), t.setAttribute("height", lr), t.setAttribute("viewBox", "0 0 24 24"), t.classList.add("text-gray-500", "pointer-events-none"));
|
|
1752
1780
|
}
|
|
1753
|
-
},
|
|
1781
|
+
}, O = "data-blok-table-row", k = "data-blok-table-cell", dr = "1px solid var(--blok-table-border)", fr = ["flex"], pr = [
|
|
1754
1782
|
"py-1",
|
|
1755
1783
|
"px-2",
|
|
1756
1784
|
"min-h-[2em]",
|
|
@@ -1775,20 +1803,20 @@ var Rt = "outline-hidden py-[7px] mt-[2px] mb-px", zt = "outline-hidden pl-0.5 l
|
|
|
1775
1803
|
}
|
|
1776
1804
|
fillGrid(e, t) {}
|
|
1777
1805
|
addRow(e, t) {
|
|
1778
|
-
let n = this.getColumnCount(e), r = this.getRawCellWidths(e), i = this.createRow(n, r), a = e.querySelectorAll(`[${
|
|
1806
|
+
let n = this.getColumnCount(e), r = this.getRawCellWidths(e), i = this.createRow(n, r), a = e.querySelectorAll(`[${O}]`);
|
|
1779
1807
|
return t !== void 0 && t < a.length ? e.insertBefore(i, a[t]) : e.appendChild(i), i;
|
|
1780
1808
|
}
|
|
1781
1809
|
deleteRow(e, t) {
|
|
1782
|
-
let n = e.querySelectorAll(`[${
|
|
1810
|
+
let n = e.querySelectorAll(`[${O}]`);
|
|
1783
1811
|
t < n.length && n[t].remove();
|
|
1784
1812
|
}
|
|
1785
1813
|
addColumn(e, t, n, r) {
|
|
1786
|
-
let i = e.querySelectorAll(`[${
|
|
1814
|
+
let i = e.querySelectorAll(`[${O}]`), a = this.getColumnCount(e), o = n !== void 0 && n.length === a, s = o || this.detectWidthUnit(e) === "px";
|
|
1787
1815
|
return o && this.convertToPixelWidths(i, n), s ? (this.addColumnPx(i, a, t, r), !0) : (this.addColumnPercent(i, a, t), !0);
|
|
1788
1816
|
}
|
|
1789
1817
|
convertToPixelWidths(e, t) {
|
|
1790
1818
|
e.forEach((e) => {
|
|
1791
|
-
e.querySelectorAll(`[${
|
|
1819
|
+
e.querySelectorAll(`[${k}]`).forEach((e, n) => {
|
|
1792
1820
|
if (n < t.length) {
|
|
1793
1821
|
let r = e;
|
|
1794
1822
|
r.style.width = `${t[n]}px`;
|
|
@@ -1799,7 +1827,7 @@ var Rt = "outline-hidden py-[7px] mt-[2px] mb-px", zt = "outline-hidden pl-0.5 l
|
|
|
1799
1827
|
addColumnPx(e, t, n, r) {
|
|
1800
1828
|
let i = r == null ? this.computeHalfAvgPxWidth(e, t) : r;
|
|
1801
1829
|
e.forEach((e) => {
|
|
1802
|
-
let t = e.querySelectorAll(`[${
|
|
1830
|
+
let t = e.querySelectorAll(`[${k}]`), r = n === void 0 || n >= t.length, a = this.createCell(`${i}px`);
|
|
1803
1831
|
if (!r) {
|
|
1804
1832
|
e.insertBefore(a, t[n]);
|
|
1805
1833
|
return;
|
|
@@ -1808,17 +1836,17 @@ var Rt = "outline-hidden py-[7px] mt-[2px] mb-px", zt = "outline-hidden pl-0.5 l
|
|
|
1808
1836
|
});
|
|
1809
1837
|
}
|
|
1810
1838
|
computeHalfAvgPxWidth(e, t) {
|
|
1811
|
-
let n = e[0], r = n == null ? void 0 : n.querySelectorAll(`[${
|
|
1839
|
+
let n = e[0], r = n == null ? void 0 : n.querySelectorAll(`[${k}]`), i = Array.from(r == null ? [] : r).reduce((e, t) => e + (parseFloat(t.style.width) || 0), 0);
|
|
1812
1840
|
return t > 0 ? Math.round(i / t / 2 * 100) / 100 : 0;
|
|
1813
1841
|
}
|
|
1814
1842
|
addColumnPercent(e, t, n) {
|
|
1815
1843
|
let r = 1 - .5 / t;
|
|
1816
1844
|
e.forEach((e) => {
|
|
1817
|
-
e.querySelectorAll(`[${
|
|
1845
|
+
e.querySelectorAll(`[${k}]`).forEach((e) => {
|
|
1818
1846
|
let n = e, i = parseFloat(n.style.width) || 100 / t, a = Math.round(i * r * 100) / 100;
|
|
1819
1847
|
n.style.width = `${a}%`;
|
|
1820
1848
|
});
|
|
1821
|
-
let i = Math.round(100 / t / 2 * 100) / 100, a = e.querySelectorAll(`[${
|
|
1849
|
+
let i = Math.round(100 / t / 2 * 100) / 100, a = e.querySelectorAll(`[${k}]`), o = n === void 0 || n >= a.length, s = this.createCell(`${i}%`);
|
|
1822
1850
|
if (!o) {
|
|
1823
1851
|
e.insertBefore(s, a[n]);
|
|
1824
1852
|
return;
|
|
@@ -1827,77 +1855,77 @@ var Rt = "outline-hidden py-[7px] mt-[2px] mb-px", zt = "outline-hidden pl-0.5 l
|
|
|
1827
1855
|
});
|
|
1828
1856
|
}
|
|
1829
1857
|
deleteColumn(e, t) {
|
|
1830
|
-
e.querySelectorAll(`[${
|
|
1831
|
-
let n = e.querySelectorAll(`[${
|
|
1858
|
+
e.querySelectorAll(`[${O}]`).forEach((e) => {
|
|
1859
|
+
let n = e.querySelectorAll(`[${k}]`);
|
|
1832
1860
|
t >= n.length || n[t].remove();
|
|
1833
1861
|
});
|
|
1834
1862
|
}
|
|
1835
1863
|
moveRow(e, t, n) {
|
|
1836
1864
|
if (t === n) return;
|
|
1837
|
-
let r = Array.from(e.querySelectorAll(`[${
|
|
1865
|
+
let r = Array.from(e.querySelectorAll(`[${O}]`));
|
|
1838
1866
|
if (t >= r.length || n >= r.length) return;
|
|
1839
1867
|
let i = r[t];
|
|
1840
1868
|
i.remove();
|
|
1841
|
-
let a = Array.from(e.querySelectorAll(`[${
|
|
1869
|
+
let a = Array.from(e.querySelectorAll(`[${O}]`));
|
|
1842
1870
|
n >= a.length ? e.appendChild(i) : e.insertBefore(i, a[n]);
|
|
1843
1871
|
}
|
|
1844
1872
|
moveColumn(e, t, n) {
|
|
1845
|
-
t !== n && e.querySelectorAll(`[${
|
|
1846
|
-
let r = Array.from(e.querySelectorAll(`[${
|
|
1873
|
+
t !== n && e.querySelectorAll(`[${O}]`).forEach((e) => {
|
|
1874
|
+
let r = Array.from(e.querySelectorAll(`[${k}]`));
|
|
1847
1875
|
if (t >= r.length || n >= r.length) return;
|
|
1848
1876
|
let i = r[t];
|
|
1849
1877
|
i.remove();
|
|
1850
|
-
let a = Array.from(e.querySelectorAll(`[${
|
|
1878
|
+
let a = Array.from(e.querySelectorAll(`[${k}]`));
|
|
1851
1879
|
n >= a.length ? e.appendChild(i) : e.insertBefore(i, a[n]);
|
|
1852
1880
|
});
|
|
1853
1881
|
}
|
|
1854
1882
|
getRowCount(e) {
|
|
1855
|
-
return e.querySelectorAll(`[${
|
|
1883
|
+
return e.querySelectorAll(`[${O}]`).length;
|
|
1856
1884
|
}
|
|
1857
1885
|
getColumnCount(e) {
|
|
1858
|
-
let t = e.querySelector(`[${
|
|
1859
|
-
return t ? t.querySelectorAll(`[${
|
|
1886
|
+
let t = e.querySelector(`[${O}]`);
|
|
1887
|
+
return t ? t.querySelectorAll(`[${k}]`).length : 0;
|
|
1860
1888
|
}
|
|
1861
1889
|
getCell(e, t, n) {
|
|
1862
|
-
let r = e.querySelectorAll(`[${
|
|
1890
|
+
let r = e.querySelectorAll(`[${O}]`);
|
|
1863
1891
|
if (t >= r.length) return null;
|
|
1864
|
-
let i = r[t].querySelectorAll(`[${
|
|
1892
|
+
let i = r[t].querySelectorAll(`[${k}]`);
|
|
1865
1893
|
return n >= i.length ? null : i[n];
|
|
1866
1894
|
}
|
|
1867
1895
|
getColWidths(e) {
|
|
1868
|
-
let t = e.querySelector(`[${
|
|
1896
|
+
let t = e.querySelector(`[${O}]`);
|
|
1869
1897
|
if (!t) return [];
|
|
1870
|
-
let n = t.querySelectorAll(`[${
|
|
1898
|
+
let n = t.querySelectorAll(`[${k}]`), r = [];
|
|
1871
1899
|
return n.forEach((e) => {
|
|
1872
1900
|
let t = parseFloat(e.style.width);
|
|
1873
1901
|
r.push(isNaN(t) ? 0 : t);
|
|
1874
1902
|
}), r;
|
|
1875
1903
|
}
|
|
1876
1904
|
detectWidthUnit(e) {
|
|
1877
|
-
let t = e.querySelector(`[${
|
|
1905
|
+
let t = e.querySelector(`[${O}]`);
|
|
1878
1906
|
if (!t) return "%";
|
|
1879
|
-
let n = t.querySelector(`[${
|
|
1907
|
+
let n = t.querySelector(`[${k}]`);
|
|
1880
1908
|
return n && n.style.width.endsWith("px") ? "px" : "%";
|
|
1881
1909
|
}
|
|
1882
1910
|
getRawCellWidths(e) {
|
|
1883
|
-
let t = e.querySelector(`[${
|
|
1911
|
+
let t = e.querySelector(`[${O}]`);
|
|
1884
1912
|
if (!t) return [];
|
|
1885
|
-
let n = t.querySelectorAll(`[${
|
|
1913
|
+
let n = t.querySelectorAll(`[${k}]`);
|
|
1886
1914
|
return Array.from(n).map((e) => e.style.width);
|
|
1887
1915
|
}
|
|
1888
1916
|
createRow(e, t) {
|
|
1889
1917
|
let n = document.createElement("div");
|
|
1890
|
-
return n.className = C(fr), n.setAttribute(
|
|
1918
|
+
return n.className = C(fr), n.setAttribute(O, ""), Array.from({ length: e }).forEach((e, r) => {
|
|
1891
1919
|
n.appendChild(this.createCell(t[r]));
|
|
1892
1920
|
}), n;
|
|
1893
1921
|
}
|
|
1894
1922
|
createCell(e) {
|
|
1895
1923
|
let t = document.createElement("div");
|
|
1896
|
-
t.className = C(pr), t.style.borderRight = dr, t.style.borderBottom = dr, t.style.flexShrink = "0", t.style.overflow = "hidden", t.style.overflowWrap = "break-word", e !== void 0 && (t.style.width = typeof e == "string" ? e : `${e}%`), t.setAttribute(
|
|
1924
|
+
t.className = C(pr), t.style.borderRight = dr, t.style.borderBottom = dr, t.style.flexShrink = "0", t.style.overflow = "hidden", t.style.overflowWrap = "break-word", e !== void 0 && (t.style.width = typeof e == "string" ? e : `${e}%`), t.setAttribute(k, "");
|
|
1897
1925
|
let n = document.createElement("div");
|
|
1898
|
-
return n.setAttribute(
|
|
1926
|
+
return n.setAttribute(j, ""), t.appendChild(n), t;
|
|
1899
1927
|
}
|
|
1900
|
-
},
|
|
1928
|
+
}, A = (e) => typeof e == "object" && !!e && "blocks" in e, j = "data-blok-table-cell-blocks", gr = class {
|
|
1901
1929
|
constructor(e) {
|
|
1902
1930
|
var t;
|
|
1903
1931
|
this._activeCellWithBlocks = null, this.cellsPendingCheck = /* @__PURE__ */ new Set(), this.pendingCheckScheduled = !1, this.removedBlockCells = /* @__PURE__ */ new Map(), this.deferredEvents = [], this.isExitingTable = !1, this.handleBlockMutation = (e) => {
|
|
@@ -1919,9 +1947,9 @@ var Rt = "outline-hidden py-[7px] mt-[2px] mb-px", zt = "outline-hidden pl-0.5 l
|
|
|
1919
1947
|
this.claimBlockForCell(i.cell, n.target.id), this.syncBlockToModel(i.cell, n.target.id), this.cellsPendingCheck.delete(i.cell);
|
|
1920
1948
|
return;
|
|
1921
1949
|
}
|
|
1922
|
-
let a = n.target.holder, o = a.closest(`[${
|
|
1950
|
+
let a = n.target.holder, o = a.closest(`[${j}]`);
|
|
1923
1951
|
o && this.stripPlaceholders(o);
|
|
1924
|
-
let s = o && !this.model.findCellForBlock(n.target.id) ? o.closest(`[${
|
|
1952
|
+
let s = o && !this.model.findCellForBlock(n.target.id) ? o.closest(`[${k}]`) : null;
|
|
1925
1953
|
if (s && this.syncBlockToModel(s, n.target.id), o) return;
|
|
1926
1954
|
if (!this.gridElement.contains(a)) {
|
|
1927
1955
|
let e = this.api.blocks.getBlockIndex(this.tableBlockId), t = e === void 0 ? null : this.api.blocks.getBlockByIndex(e);
|
|
@@ -1937,11 +1965,11 @@ var Rt = "outline-hidden py-[7px] mt-[2px] mb-px", zt = "outline-hidden pl-0.5 l
|
|
|
1937
1965
|
}, this.handleCellBlankSpaceClick = (e) => {
|
|
1938
1966
|
let t = e.target;
|
|
1939
1967
|
if (!t) return;
|
|
1940
|
-
let n = t.hasAttribute(
|
|
1968
|
+
let n = t.hasAttribute(k), r = t.hasAttribute(j);
|
|
1941
1969
|
if (!n && !r) return;
|
|
1942
|
-
let i = n ? t : t.closest(`[${
|
|
1970
|
+
let i = n ? t : t.closest(`[${k}]`);
|
|
1943
1971
|
if (!i) return;
|
|
1944
|
-
let a = n ? i.querySelector(`[${
|
|
1972
|
+
let a = n ? i.querySelector(`[${j}]`) : t;
|
|
1945
1973
|
if (!a) return;
|
|
1946
1974
|
let o = a.querySelectorAll("[data-blok-id]"), s = o[o.length - 1];
|
|
1947
1975
|
if (!s) return;
|
|
@@ -2039,7 +2067,7 @@ var Rt = "outline-hidden py-[7px] mt-[2px] mb-px", zt = "outline-hidden pl-0.5 l
|
|
|
2039
2067
|
this.clearActiveCellWithBlocks();
|
|
2040
2068
|
let r = this.getCell(e.row, e.col);
|
|
2041
2069
|
if (!r) return;
|
|
2042
|
-
let i = r.querySelector(`[${
|
|
2070
|
+
let i = r.querySelector(`[${j}]`);
|
|
2043
2071
|
if (!i) return;
|
|
2044
2072
|
let a = i.querySelectorAll("[contenteditable=\"true\"]");
|
|
2045
2073
|
a.length !== 0 && ((t ? a[a.length - 1] : a[0]).focus(), (n = this.onNavigateToCell) == null || n.call(this, e));
|
|
@@ -2058,18 +2086,18 @@ var Rt = "outline-hidden py-[7px] mt-[2px] mb-px", zt = "outline-hidden pl-0.5 l
|
|
|
2058
2086
|
return r ? (n = r.querySelectorAll("[data-blok-table-cell]")[t]) == null ? null : n : null;
|
|
2059
2087
|
}
|
|
2060
2088
|
initializeCells(e) {
|
|
2061
|
-
let t = this.gridElement.querySelectorAll(`[${
|
|
2089
|
+
let t = this.gridElement.querySelectorAll(`[${O}]`), n = [];
|
|
2062
2090
|
return e.forEach((e, r) => {
|
|
2063
2091
|
let i = t[r];
|
|
2064
2092
|
if (!i) return;
|
|
2065
|
-
let a = i.querySelectorAll(`[${
|
|
2093
|
+
let a = i.querySelectorAll(`[${k}]`), o = [];
|
|
2066
2094
|
e.forEach((e, t) => {
|
|
2067
2095
|
let n = a[t];
|
|
2068
2096
|
if (!n) return;
|
|
2069
|
-
let r = n.querySelector(`[${
|
|
2097
|
+
let r = n.querySelector(`[${j}]`);
|
|
2070
2098
|
if (!r) return;
|
|
2071
|
-
let i =
|
|
2072
|
-
if (
|
|
2099
|
+
let i = A(e) && e.blocks.length > 0 ? [...e.blocks] : null, s = i ? this.mountBlocksInCell(r, i) : [], c = {};
|
|
2100
|
+
if (A(e) && (e.color !== void 0 && (c.color = e.color), e.textColor !== void 0 && (c.textColor = e.textColor)), s.length > 0) o.push(S({ blocks: i == null ? s : i }, c));
|
|
2073
2101
|
else {
|
|
2074
2102
|
var l;
|
|
2075
2103
|
let t = typeof e == "string" ? e : (l = e.text) == null ? "" : l, n = t.split(/<br\s*\/?>/i).map((e) => e.trim()).filter(Boolean), a = n.length > 0 ? n : [t], s = [];
|
|
@@ -2102,7 +2130,7 @@ var Rt = "outline-hidden py-[7px] mt-[2px] mb-px", zt = "outline-hidden pl-0.5 l
|
|
|
2102
2130
|
}
|
|
2103
2131
|
claimBlockForCell(e, t) {
|
|
2104
2132
|
var n, r;
|
|
2105
|
-
let i = e.querySelector(`[${
|
|
2133
|
+
let i = e.querySelector(`[${j}]`);
|
|
2106
2134
|
if (!i) return;
|
|
2107
2135
|
let a = this.api.blocks.getBlockIndex(t);
|
|
2108
2136
|
if (a === void 0) return;
|
|
@@ -2116,12 +2144,12 @@ var Rt = "outline-hidden py-[7px] mt-[2px] mb-px", zt = "outline-hidden pl-0.5 l
|
|
|
2116
2144
|
}
|
|
2117
2145
|
findCellForAdjacentBlock(e) {
|
|
2118
2146
|
if (e < 0 || e >= this.api.blocks.getBlocksCount()) return null;
|
|
2119
|
-
let t = this.api.blocks.getBlockByIndex(e), n = t == null ? void 0 : t.holder.closest(`[${
|
|
2147
|
+
let t = this.api.blocks.getBlockByIndex(e), n = t == null ? void 0 : t.holder.closest(`[${k}]`);
|
|
2120
2148
|
return n && this.gridElement.contains(n) ? n : null;
|
|
2121
2149
|
}
|
|
2122
2150
|
ensureCellHasBlock(e) {
|
|
2123
2151
|
var t, n;
|
|
2124
|
-
let r = e.querySelector(`[${
|
|
2152
|
+
let r = e.querySelector(`[${j}]`);
|
|
2125
2153
|
r && r.querySelector("[data-blok-id]") === null && ((t = (n = this.api.blocks).transactWithoutCapture) == null || t.call(n, () => {
|
|
2126
2154
|
let t = this.api.blocks.insert("paragraph", { text: "" }, {}, this.api.blocks.getBlocksCount(), !0);
|
|
2127
2155
|
r.appendChild(t.holder), this.api.blocks.setBlockParent(t.id, this.tableBlockId), this.syncBlockToModel(e, t.id), this.stripPlaceholders(r);
|
|
@@ -2143,11 +2171,11 @@ var Rt = "outline-hidden py-[7px] mt-[2px] mb-px", zt = "outline-hidden pl-0.5 l
|
|
|
2143
2171
|
n && this.model.addBlockToCell(n.row, n.col, t);
|
|
2144
2172
|
}
|
|
2145
2173
|
getCellPosition(e) {
|
|
2146
|
-
let t = e.closest(`[${
|
|
2174
|
+
let t = e.closest(`[${O}]`);
|
|
2147
2175
|
if (!t) return null;
|
|
2148
|
-
let n = Array.from(this.gridElement.querySelectorAll(`[${
|
|
2176
|
+
let n = Array.from(this.gridElement.querySelectorAll(`[${O}]`)).indexOf(t);
|
|
2149
2177
|
if (n < 0) return null;
|
|
2150
|
-
let r = Array.from(t.querySelectorAll(`[${
|
|
2178
|
+
let r = Array.from(t.querySelectorAll(`[${k}]`)).indexOf(e);
|
|
2151
2179
|
return r < 0 ? null : {
|
|
2152
2180
|
row: n,
|
|
2153
2181
|
col: r
|
|
@@ -2155,7 +2183,7 @@ var Rt = "outline-hidden py-[7px] mt-[2px] mb-px", zt = "outline-hidden pl-0.5 l
|
|
|
2155
2183
|
}
|
|
2156
2184
|
recordRemovedBlockCell(e) {
|
|
2157
2185
|
if (e.index === void 0) return;
|
|
2158
|
-
let t = e.target.holder.closest(`[${
|
|
2186
|
+
let t = e.target.holder.closest(`[${k}]`);
|
|
2159
2187
|
t && this.gridElement.contains(t) && this.removedBlockCells.set(e.target.id, {
|
|
2160
2188
|
cell: t,
|
|
2161
2189
|
index: e.index
|
|
@@ -2203,7 +2231,7 @@ var Rt = "outline-hidden py-[7px] mt-[2px] mb-px", zt = "outline-hidden pl-0.5 l
|
|
|
2203
2231
|
getBlockIdsFromCells(e) {
|
|
2204
2232
|
let t = [];
|
|
2205
2233
|
return Array.from(e).forEach((e) => {
|
|
2206
|
-
let n = e.querySelector(`[${
|
|
2234
|
+
let n = e.querySelector(`[${j}]`);
|
|
2207
2235
|
n && n.querySelectorAll("[data-blok-id]").forEach((e) => {
|
|
2208
2236
|
let n = e.getAttribute("data-blok-id");
|
|
2209
2237
|
n && t.push(n);
|
|
@@ -2216,7 +2244,7 @@ var Rt = "outline-hidden py-[7px] mt-[2px] mb-px", zt = "outline-hidden pl-0.5 l
|
|
|
2216
2244
|
});
|
|
2217
2245
|
}
|
|
2218
2246
|
deleteAllBlocks() {
|
|
2219
|
-
let e = this.gridElement.querySelectorAll(`[${
|
|
2247
|
+
let e = this.gridElement.querySelectorAll(`[${k}]`), t = this.getBlockIdsFromCells(e);
|
|
2220
2248
|
this.deleteBlocks(t);
|
|
2221
2249
|
}
|
|
2222
2250
|
destroy() {
|
|
@@ -2236,11 +2264,11 @@ var Rt = "outline-hidden py-[7px] mt-[2px] mb-px", zt = "outline-hidden pl-0.5 l
|
|
|
2236
2264
|
function _r() {
|
|
2237
2265
|
var e, t;
|
|
2238
2266
|
let n = document.documentElement.getAttribute("data-blok-theme");
|
|
2239
|
-
return n === "dark" ?
|
|
2267
|
+
return n === "dark" ? g : n === "light" ? d : typeof window < "u" && (e = (t = window).matchMedia) != null && e.call(t, "(prefers-color-scheme: dark)").matches ? g : d;
|
|
2240
2268
|
}
|
|
2241
2269
|
function vr(e, t) {
|
|
2242
2270
|
if (e === t) return !0;
|
|
2243
|
-
let n =
|
|
2271
|
+
let n = de(e), r = de(t);
|
|
2244
2272
|
return n === null || r === null ? !1 : n[0] === r[0] && n[1] === r[1] && n[2] === r[2];
|
|
2245
2273
|
}
|
|
2246
2274
|
var yr = "var(--blok-swatch-neutral-bg)";
|
|
@@ -2257,26 +2285,26 @@ function br(e) {
|
|
|
2257
2285
|
a.className = "grid gap-1", a.style.gridTemplateColumns = "repeat(5, 2.25rem)", s.push(a), n.appendChild(i), n.appendChild(a), o.appendChild(n);
|
|
2258
2286
|
});
|
|
2259
2287
|
let c = (e) => {
|
|
2260
|
-
let o = s[e], c = n[e],
|
|
2288
|
+
let o = s[e], c = n[e], l = _r();
|
|
2261
2289
|
o.innerHTML = "";
|
|
2262
|
-
let
|
|
2263
|
-
|
|
2290
|
+
let u = a.activeColors[c.key], d = document.createElement("button"), f = u === null;
|
|
2291
|
+
d.setAttribute("data-blok-testid", `${r}-swatch-${c.key}-default`), d.className = C("w-9 h-9 rounded-md cursor-pointer border-none outline-hidden", "flex items-center justify-center text-sm font-semibold", "transition-[box-shadow,transform] ring-inset hover:ring-2 hover:ring-swatch-ring-hover active:scale-90", f && "ring-2 ring-swatch-ring-hover"), d.textContent = c.presetField === "text" ? "A" : "", c.presetField === "text" && (d.style.color = "var(--blok-text-primary)"), d.style.backgroundColor = yr, d.addEventListener("click", () => {
|
|
2264
2292
|
i(null, c.key);
|
|
2265
2293
|
});
|
|
2266
2294
|
let m = t.t("tools.colorPicker.defaultSwatchLabel").replace("{default}", t.t("tools.marker.default")).replace("{mode}", t.t(c.labelKey).toLowerCase());
|
|
2267
|
-
|
|
2268
|
-
for (let e of
|
|
2269
|
-
let n = document.createElement("button"), a = c.presetField === "text" ? e.text : e.bg, s =
|
|
2270
|
-
n.setAttribute("data-blok-testid", `${r}-swatch-${c.key}-${e.name}`), n.className = C("w-9 h-9 rounded-md cursor-pointer border-none outline-hidden", "flex items-center justify-center text-sm font-semibold", "transition-[box-shadow,transform] ring-inset hover:ring-2 hover:ring-swatch-ring-hover active:scale-90", s && "ring-2 ring-swatch-ring-hover"), n.textContent = c.presetField === "text" ? "A" : "", c.presetField === "text" ? (n.style.color = e.text, n.style.backgroundColor = yr) : (n.style.color =
|
|
2295
|
+
p(d, m.charAt(0).toUpperCase() + m.slice(1), { placement: "top" }), o.appendChild(d);
|
|
2296
|
+
for (let e of l) {
|
|
2297
|
+
let n = document.createElement("button"), a = c.presetField === "text" ? e.text : e.bg, s = u !== null && vr(a, u);
|
|
2298
|
+
n.setAttribute("data-blok-testid", `${r}-swatch-${c.key}-${e.name}`), n.className = C("w-9 h-9 rounded-md cursor-pointer border-none outline-hidden", "flex items-center justify-center text-sm font-semibold", "transition-[box-shadow,transform] ring-inset hover:ring-2 hover:ring-swatch-ring-hover active:scale-90", s && "ring-2 ring-swatch-ring-hover"), n.textContent = c.presetField === "text" ? "A" : "", c.presetField === "text" ? (n.style.color = e.text, n.style.backgroundColor = yr) : (n.style.color = l === g ? e.text : "#37352f", n.style.backgroundColor = e.bg), n.addEventListener("click", () => {
|
|
2271
2299
|
i(a, c.key);
|
|
2272
2300
|
});
|
|
2273
|
-
let
|
|
2274
|
-
|
|
2301
|
+
let d = t.t("tools.colorPicker.colorSwatchLabel").replace("{color}", t.t("tools.colorPicker.color." + e.name)).replace("{mode}", t.t(c.labelKey).toLowerCase());
|
|
2302
|
+
p(n, d.charAt(0).toUpperCase() + d.slice(1), { placement: "top" }), o.appendChild(n);
|
|
2275
2303
|
}
|
|
2276
|
-
},
|
|
2304
|
+
}, l = () => {
|
|
2277
2305
|
n.forEach((e, t) => c(t));
|
|
2278
2306
|
};
|
|
2279
|
-
return
|
|
2307
|
+
return l(), {
|
|
2280
2308
|
element: o,
|
|
2281
2309
|
setActiveColor: (e, t) => {
|
|
2282
2310
|
let r = n.findIndex((e) => e.key === t);
|
|
@@ -2284,7 +2312,7 @@ function br(e) {
|
|
|
2284
2312
|
},
|
|
2285
2313
|
reset: () => {
|
|
2286
2314
|
for (let e of n) a.activeColors[e.key] = null;
|
|
2287
|
-
|
|
2315
|
+
l();
|
|
2288
2316
|
}
|
|
2289
2317
|
};
|
|
2290
2318
|
}
|
|
@@ -2371,7 +2399,7 @@ var xr = (e) => {
|
|
|
2371
2399
|
r !== 0 && this.showProgrammaticSelection(e, 0, e, r - 1);
|
|
2372
2400
|
}
|
|
2373
2401
|
selectColumn(e) {
|
|
2374
|
-
let t = this.grid.querySelectorAll(`[${
|
|
2402
|
+
let t = this.grid.querySelectorAll(`[${O}]`).length;
|
|
2375
2403
|
t !== 0 && this.showProgrammaticSelection(0, e, t - 1, e);
|
|
2376
2404
|
}
|
|
2377
2405
|
clearActiveSelection() {
|
|
@@ -2485,20 +2513,20 @@ var xr = (e) => {
|
|
|
2485
2513
|
minCol: i,
|
|
2486
2514
|
maxCol: a
|
|
2487
2515
|
};
|
|
2488
|
-
let o = this.grid.querySelectorAll(`[${
|
|
2516
|
+
let o = this.grid.querySelectorAll(`[${O}]`);
|
|
2489
2517
|
this.selectedCells = this.collectCellsInRange(o, n, r, i, a), this.selectedCells.forEach((e) => {
|
|
2490
2518
|
e.setAttribute(Or, "");
|
|
2491
2519
|
});
|
|
2492
|
-
let s = (e = o[n]) == null ? void 0 : e.querySelectorAll(`[${
|
|
2520
|
+
let s = (e = o[n]) == null ? void 0 : e.querySelectorAll(`[${k}]`)[i], c = (t = o[r]) == null ? void 0 : t.querySelectorAll(`[${k}]`)[a];
|
|
2493
2521
|
if (!s || !c) return;
|
|
2494
|
-
let l = this.grid.getBoundingClientRect(), u = s.getBoundingClientRect(), d = c.getBoundingClientRect(), f = getComputedStyle(this.grid), p = parseFloat(f.borderTopWidth) || 0, m = parseFloat(f.borderLeftWidth) || 0, h = d.right - u.left + 1, g = d.bottom - u.top + 1,
|
|
2495
|
-
this.overlay || (this.overlay = document.createElement("div"), this.overlay.setAttribute("data-blok-table-selection-overlay", ""), this.overlay.style.position = "absolute", this.overlay.style.border = kr, this.overlay.style.pointerEvents = "none", this.overlay.style.boxSizing = "border-box", this.overlay.style.borderRadius = "2px", this.grid.appendChild(this.overlay)), this.overlay.style.top = `${
|
|
2522
|
+
let l = this.grid.getBoundingClientRect(), u = s.getBoundingClientRect(), d = c.getBoundingClientRect(), f = getComputedStyle(this.grid), p = parseFloat(f.borderTopWidth) || 0, m = parseFloat(f.borderLeftWidth) || 0, h = d.right - u.left + 1, g = d.bottom - u.top + 1, ee = u.top - l.top - p - 1, te = u.left - l.left - m - 1;
|
|
2523
|
+
this.overlay || (this.overlay = document.createElement("div"), this.overlay.setAttribute("data-blok-table-selection-overlay", ""), this.overlay.style.position = "absolute", this.overlay.style.border = kr, this.overlay.style.pointerEvents = "none", this.overlay.style.boxSizing = "border-box", this.overlay.style.borderRadius = "2px", this.grid.appendChild(this.overlay)), this.overlay.style.top = `${ee}px`, this.overlay.style.left = `${te}px`, this.overlay.style.width = `${h}px`, this.overlay.style.height = `${g}px`, this.pill || (this.pill = this.createPill(), this.grid.appendChild(this.pill)), this.pill.style.left = `${te + h - 1}px`, this.pill.style.top = `${ee + g / 2}px`, this.observeCellResizes();
|
|
2496
2524
|
}
|
|
2497
2525
|
repositionOverlay() {
|
|
2498
2526
|
var e, t;
|
|
2499
2527
|
let n = this.lastPaintedRange;
|
|
2500
2528
|
if (!n || !this.overlay) return;
|
|
2501
|
-
let r = this.grid.querySelectorAll(`[${
|
|
2529
|
+
let r = this.grid.querySelectorAll(`[${O}]`), i = (e = r[n.minRow]) == null ? void 0 : e.querySelectorAll(`[${k}]`)[n.minCol], a = (t = r[n.maxRow]) == null ? void 0 : t.querySelectorAll(`[${k}]`)[n.maxCol];
|
|
2502
2530
|
if (!i || !a) return;
|
|
2503
2531
|
let o = this.grid.getBoundingClientRect(), s = i.getBoundingClientRect(), c = a.getBoundingClientRect(), l = getComputedStyle(this.grid), u = parseFloat(l.borderTopWidth) || 0, d = parseFloat(l.borderLeftWidth) || 0, f = c.right - s.left + 1, p = c.bottom - s.top + 1, m = s.top - o.top - u - 1, h = s.left - o.left - d - 1;
|
|
2504
2532
|
this.overlay.style.top = `${m}px`, this.overlay.style.left = `${h}px`, this.overlay.style.width = `${f}px`, this.overlay.style.height = `${p}px`, this.pill && (this.pill.style.left = `${h + f - 1}px`, this.pill.style.top = `${m + p / 2}px`);
|
|
@@ -2529,7 +2557,7 @@ var xr = (e) => {
|
|
|
2529
2557
|
openPillPopover() {
|
|
2530
2558
|
if (this.destroyPillPopover(), !this.pill) return;
|
|
2531
2559
|
this.expandPill();
|
|
2532
|
-
let e =
|
|
2560
|
+
let e = at === "Meta" ? "⌘C" : "Ctrl+C", n = [];
|
|
2533
2561
|
if (this.onColorChange !== void 0) {
|
|
2534
2562
|
let { element: e } = xr({
|
|
2535
2563
|
i18n: this.i18n,
|
|
@@ -2538,24 +2566,24 @@ var xr = (e) => {
|
|
|
2538
2566
|
(n = this.onColorChange) == null || n.call(this, [...this.selectedCells], e, t);
|
|
2539
2567
|
}
|
|
2540
2568
|
});
|
|
2541
|
-
|
|
2542
|
-
icon:
|
|
2569
|
+
n.push({
|
|
2570
|
+
icon: Oe,
|
|
2543
2571
|
title: this.i18n.t("tools.table.cellColor"),
|
|
2544
2572
|
name: "cellColor",
|
|
2545
2573
|
children: {
|
|
2546
2574
|
items: [{
|
|
2547
|
-
type:
|
|
2575
|
+
type: v.Html,
|
|
2548
2576
|
element: e
|
|
2549
2577
|
}],
|
|
2550
2578
|
isFlippable: !1
|
|
2551
2579
|
}
|
|
2552
2580
|
});
|
|
2553
2581
|
}
|
|
2554
|
-
this.pillPopover = new
|
|
2582
|
+
this.pillPopover = new Fe({
|
|
2555
2583
|
items: [
|
|
2556
|
-
...
|
|
2584
|
+
...n,
|
|
2557
2585
|
{
|
|
2558
|
-
icon:
|
|
2586
|
+
icon: t,
|
|
2559
2587
|
title: this.i18n.t("tools.table.copySelection"),
|
|
2560
2588
|
secondaryLabel: e,
|
|
2561
2589
|
closeOnActivate: !0,
|
|
@@ -2565,7 +2593,7 @@ var xr = (e) => {
|
|
|
2565
2593
|
}
|
|
2566
2594
|
},
|
|
2567
2595
|
{
|
|
2568
|
-
icon:
|
|
2596
|
+
icon: He,
|
|
2569
2597
|
title: this.i18n.t("tools.table.clearSelection"),
|
|
2570
2598
|
secondaryLabel: "Del",
|
|
2571
2599
|
closeOnActivate: !0,
|
|
@@ -2577,7 +2605,7 @@ var xr = (e) => {
|
|
|
2577
2605
|
],
|
|
2578
2606
|
trigger: this.pill,
|
|
2579
2607
|
flippable: !0
|
|
2580
|
-
}), this.pillPopover.on(
|
|
2608
|
+
}), this.pillPopover.on(ct.Closed, () => {
|
|
2581
2609
|
this.pillPopover !== null && (this.destroyPillPopover(), this.collapsePill());
|
|
2582
2610
|
}), this.pillPopover.show();
|
|
2583
2611
|
}
|
|
@@ -2600,13 +2628,13 @@ var xr = (e) => {
|
|
|
2600
2628
|
}
|
|
2601
2629
|
}
|
|
2602
2630
|
resolveCellCoord(e) {
|
|
2603
|
-
let t = e.closest(`[${
|
|
2631
|
+
let t = e.closest(`[${k}]`);
|
|
2604
2632
|
if (!t) return null;
|
|
2605
|
-
let n = t.closest(`[${
|
|
2633
|
+
let n = t.closest(`[${O}]`);
|
|
2606
2634
|
if (!n || !this.grid.contains(n)) return null;
|
|
2607
|
-
let r = Array.from(this.grid.querySelectorAll(`[${
|
|
2635
|
+
let r = Array.from(this.grid.querySelectorAll(`[${O}]`)).indexOf(n);
|
|
2608
2636
|
if (r < 0) return null;
|
|
2609
|
-
let i = Array.from(n.querySelectorAll(`[${
|
|
2637
|
+
let i = Array.from(n.querySelectorAll(`[${k}]`)).indexOf(t);
|
|
2610
2638
|
return i < 0 ? null : {
|
|
2611
2639
|
row: r,
|
|
2612
2640
|
col: i
|
|
@@ -2615,7 +2643,7 @@ var xr = (e) => {
|
|
|
2615
2643
|
clampExtentToEdge(e) {
|
|
2616
2644
|
var t, n, r, i, a, o;
|
|
2617
2645
|
if (!this.anchorCell || !this.isSelecting) return;
|
|
2618
|
-
let s = this.grid.getBoundingClientRect(), c = this.grid.querySelectorAll(`[${
|
|
2646
|
+
let s = this.grid.getBoundingClientRect(), c = this.grid.querySelectorAll(`[${O}]`), l = c.length, u = (t = (n = c[0]) == null ? void 0 : n.querySelectorAll("[data-blok-table-cell]").length) == null ? 0 : t;
|
|
2619
2647
|
if (l === 0 || u === 0) return;
|
|
2620
2648
|
let d = {
|
|
2621
2649
|
row: this.clampAxis(e.clientY, s.top, s.bottom, l, (r = (i = this.extentCell) == null ? void 0 : i.row) == null ? this.anchorCell.row : r),
|
|
@@ -2625,22 +2653,22 @@ var xr = (e) => {
|
|
|
2625
2653
|
}
|
|
2626
2654
|
collectCellsInRange(e, t, n, r, i) {
|
|
2627
2655
|
return Array.from(e).slice(t, n + 1).flatMap((e) => {
|
|
2628
|
-
let t = e.querySelectorAll(`[${
|
|
2656
|
+
let t = e.querySelectorAll(`[${k}]`);
|
|
2629
2657
|
return Array.from(t).slice(r, i + 1).filter((e) => e instanceof HTMLElement);
|
|
2630
2658
|
});
|
|
2631
2659
|
}
|
|
2632
2660
|
clampAxis(e, t, n, r, i) {
|
|
2633
2661
|
return e < t ? 0 : e > n ? r - 1 : i;
|
|
2634
2662
|
}
|
|
2635
|
-
},
|
|
2636
|
-
let t = e.querySelector(`[${
|
|
2663
|
+
}, M = (e) => {
|
|
2664
|
+
let t = e.querySelector(`[${O}]`);
|
|
2637
2665
|
if (!t) return [];
|
|
2638
|
-
let n = t.querySelectorAll(`[${
|
|
2666
|
+
let n = t.querySelectorAll(`[${k}]`);
|
|
2639
2667
|
return Array.from(n).map((e) => e.getBoundingClientRect().width);
|
|
2640
2668
|
}, Lr = (e, t) => {
|
|
2641
2669
|
let n = t.reduce((e, t) => e + t, 0), r = e;
|
|
2642
|
-
r.style.width = `${n + 1}px`, e.querySelectorAll(`[${
|
|
2643
|
-
e.querySelectorAll(`[${
|
|
2670
|
+
r.style.width = `${n + 1}px`, e.querySelectorAll(`[${O}]`).forEach((e) => {
|
|
2671
|
+
e.querySelectorAll(`[${k}]`).forEach((e, n) => {
|
|
2644
2672
|
if (n < t.length) {
|
|
2645
2673
|
let r = e;
|
|
2646
2674
|
r.style.width = `${t[n]}px`;
|
|
@@ -2648,34 +2676,34 @@ var xr = (e) => {
|
|
|
2648
2676
|
});
|
|
2649
2677
|
});
|
|
2650
2678
|
}, Rr = (e, t) => {
|
|
2651
|
-
let n = Array.from(e.querySelectorAll(`[${
|
|
2679
|
+
let n = Array.from(e.querySelectorAll(`[${O}]`)), r = n.findIndex((e) => Array.from(e.querySelectorAll(`[${k}]`)).includes(t));
|
|
2652
2680
|
return r === -1 ? null : {
|
|
2653
2681
|
row: r,
|
|
2654
|
-
col: Array.from(n[r].querySelectorAll(`[${
|
|
2682
|
+
col: Array.from(n[r].querySelectorAll(`[${k}]`)).indexOf(t)
|
|
2655
2683
|
};
|
|
2656
2684
|
}, zr = (e) => {
|
|
2657
2685
|
var t;
|
|
2658
|
-
let n = e.querySelector(`[${
|
|
2686
|
+
let n = e.querySelector(`[${j}]`);
|
|
2659
2687
|
return n ? ((t = n.textContent) == null ? "" : t).trim().length === 0 : !0;
|
|
2660
2688
|
}, Br = (e, t) => {
|
|
2661
|
-
let n = e.querySelectorAll(`[${
|
|
2689
|
+
let n = e.querySelectorAll(`[${O}]`)[t];
|
|
2662
2690
|
if (!n) return !0;
|
|
2663
|
-
let r = n.querySelectorAll(`[${
|
|
2691
|
+
let r = n.querySelectorAll(`[${k}]`);
|
|
2664
2692
|
return Array.from(r).every((e) => zr(e));
|
|
2665
2693
|
}, Vr = (e, t) => {
|
|
2666
|
-
let n = e.querySelectorAll(`[${
|
|
2694
|
+
let n = e.querySelectorAll(`[${O}]`);
|
|
2667
2695
|
return Array.from(n).every((e) => {
|
|
2668
|
-
let n = e.querySelectorAll(`[${
|
|
2696
|
+
let n = e.querySelectorAll(`[${k}]`)[t];
|
|
2669
2697
|
return !n || zr(n);
|
|
2670
2698
|
});
|
|
2671
2699
|
}, Hr = (e) => {
|
|
2672
|
-
let t = e.querySelectorAll(`[${
|
|
2700
|
+
let t = e.querySelectorAll(`[${O}]`), n = t[0];
|
|
2673
2701
|
if (!n) return;
|
|
2674
|
-
let r = n.querySelectorAll(`[${
|
|
2702
|
+
let r = n.querySelectorAll(`[${k}]`), i = Array.from(r).reduce((e, t) => e + (parseFloat(t.style.width) || 0), 0);
|
|
2675
2703
|
if (i <= 0) return;
|
|
2676
2704
|
let a = 100 / i;
|
|
2677
2705
|
t.forEach((e) => {
|
|
2678
|
-
e.querySelectorAll(`[${
|
|
2706
|
+
e.querySelectorAll(`[${k}]`).forEach((e) => {
|
|
2679
2707
|
let t = e, n = parseFloat(t.style.width) || 0;
|
|
2680
2708
|
t.style.width = `${Math.round(n * a * 100) / 100}%`;
|
|
2681
2709
|
});
|
|
@@ -2689,42 +2717,42 @@ var xr = (e) => {
|
|
|
2689
2717
|
let n = [...e];
|
|
2690
2718
|
return n.splice(t, 1), n.length > 0 ? n : void 0;
|
|
2691
2719
|
}, Gr = (e, t, n, r, i) => {
|
|
2692
|
-
let a = n == null ?
|
|
2720
|
+
let a = n == null ? M(e) : n, o = r === void 0 ? N(a) : Math.round(r / 2 * 100) / 100;
|
|
2693
2721
|
i.addColumn(e, t, a, o);
|
|
2694
2722
|
let s = [...a];
|
|
2695
2723
|
return s.splice(t, 0, o), s;
|
|
2696
|
-
},
|
|
2724
|
+
}, N = (e) => Math.round(e.reduce((e, t) => e + t, 0) / e.length / 2 * 100) / 100, Kr = (e) => e.length === 0 ? 0 : Math.round(e.reduce((e, t) => e + t, 0) / e.length * 100) / 100, qr = (e, t, n) => {
|
|
2697
2725
|
var r;
|
|
2698
2726
|
if (!e) return [];
|
|
2699
|
-
let i = e.querySelectorAll(`[${
|
|
2727
|
+
let i = e.querySelectorAll(`[${O}]`)[n];
|
|
2700
2728
|
return i ? (r = t == null ? void 0 : t.getBlockIdsFromCells(i.querySelectorAll("[data-blok-table-cell]"))) == null ? [] : r : [];
|
|
2701
2729
|
}, Jr = (e, t, n) => {
|
|
2702
2730
|
var r;
|
|
2703
2731
|
if (!e) return [];
|
|
2704
|
-
let i = e.querySelectorAll(`[${
|
|
2732
|
+
let i = e.querySelectorAll(`[${O}]`), a = [];
|
|
2705
2733
|
return i.forEach((e) => {
|
|
2706
|
-
let t = e.querySelectorAll(`[${
|
|
2734
|
+
let t = e.querySelectorAll(`[${k}]`);
|
|
2707
2735
|
n < t.length && a.push(t[n]);
|
|
2708
2736
|
}), (r = t == null ? void 0 : t.getBlockIdsFromCells(a)) == null ? [] : r;
|
|
2709
|
-
},
|
|
2710
|
-
e.querySelectorAll(`[${
|
|
2737
|
+
}, P = (e, t) => {
|
|
2738
|
+
e.querySelectorAll(`[${k}]`).forEach((e) => {
|
|
2711
2739
|
t == null || t.ensureCellHasBlock(e);
|
|
2712
2740
|
});
|
|
2713
2741
|
}, Yr = (e, t, n, r) => {
|
|
2714
|
-
let i = e.querySelectorAll(`[${
|
|
2742
|
+
let i = e.querySelectorAll(`[${O}]`);
|
|
2715
2743
|
t.forEach((e, t) => {
|
|
2716
2744
|
let r = i[t];
|
|
2717
2745
|
if (!r) return;
|
|
2718
|
-
let a = r.querySelectorAll(`[${
|
|
2746
|
+
let a = r.querySelectorAll(`[${k}]`);
|
|
2719
2747
|
e.forEach((e, t) => {
|
|
2720
2748
|
var r;
|
|
2721
2749
|
let i = a[t];
|
|
2722
2750
|
if (!i) return;
|
|
2723
|
-
let o = i.querySelector(`[${
|
|
2751
|
+
let o = i.querySelector(`[${j}]`);
|
|
2724
2752
|
if (!o) return;
|
|
2725
2753
|
let s = o.querySelectorAll("[data-blok-id]").length > 0;
|
|
2726
|
-
if (!(!
|
|
2727
|
-
if (!
|
|
2754
|
+
if (!(!A(e) && s)) {
|
|
2755
|
+
if (!A(e)) {
|
|
2728
2756
|
o.innerHTML = e;
|
|
2729
2757
|
return;
|
|
2730
2758
|
}
|
|
@@ -2765,35 +2793,35 @@ var xr = (e) => {
|
|
|
2765
2793
|
};
|
|
2766
2794
|
}, Zr = (e, t) => {
|
|
2767
2795
|
e.addEventListener("keydown", (n) => {
|
|
2768
|
-
let r = n.target.closest(`[${
|
|
2796
|
+
let r = n.target.closest(`[${k}]`);
|
|
2769
2797
|
if (!r) return;
|
|
2770
2798
|
let i = Rr(e, r);
|
|
2771
2799
|
i && (t == null || t.handleKeyDown(n, i));
|
|
2772
2800
|
});
|
|
2773
2801
|
}, Qr = ["overflow-x-auto", "overflow-y-hidden"], $r = (e) => {
|
|
2774
2802
|
e == null || e.classList.add(...Qr);
|
|
2775
|
-
},
|
|
2803
|
+
}, F = (e, t) => {
|
|
2776
2804
|
if (!e) return;
|
|
2777
|
-
let n = e.querySelectorAll(`[${
|
|
2805
|
+
let n = e.querySelectorAll(`[${O}]`);
|
|
2778
2806
|
n.forEach((e) => {
|
|
2779
2807
|
e.removeAttribute("data-blok-table-heading");
|
|
2780
2808
|
}), t && n.length > 0 && n[0].setAttribute("data-blok-table-heading", "");
|
|
2781
|
-
},
|
|
2782
|
-
let n = e.querySelectorAll(`[${
|
|
2809
|
+
}, I = (e, t) => {
|
|
2810
|
+
let n = e.querySelectorAll(`[${O}]`);
|
|
2783
2811
|
t.forEach((e, t) => {
|
|
2784
2812
|
if (t >= n.length) return;
|
|
2785
|
-
let r = n[t].querySelectorAll(`[${
|
|
2813
|
+
let r = n[t].querySelectorAll(`[${k}]`);
|
|
2786
2814
|
e.forEach((e, t) => {
|
|
2787
2815
|
if (t >= r.length) return;
|
|
2788
2816
|
let n = r[t];
|
|
2789
|
-
|
|
2817
|
+
A(e) && e.color ? n.style.backgroundColor = e.color : n.style.backgroundColor = "", A(e) && e.textColor ? n.style.color = e.textColor : n.style.color = "";
|
|
2790
2818
|
});
|
|
2791
2819
|
});
|
|
2792
|
-
},
|
|
2793
|
-
e && (e.querySelectorAll(`[${
|
|
2820
|
+
}, L = (e, t) => {
|
|
2821
|
+
e && (e.querySelectorAll(`[${k}]`).forEach((e) => {
|
|
2794
2822
|
e.removeAttribute("data-blok-table-heading-col");
|
|
2795
|
-
}), t && e.querySelectorAll(`[${
|
|
2796
|
-
let t = e.querySelector(`[${
|
|
2823
|
+
}), t && e.querySelectorAll(`[${O}]`).forEach((e) => {
|
|
2824
|
+
let t = e.querySelector(`[${k}]`);
|
|
2797
2825
|
t && t.setAttribute("data-blok-table-heading-col", "");
|
|
2798
2826
|
}));
|
|
2799
2827
|
}, ei = (e) => !!(/^#[0-9a-f]{3,4}$/i.test(e) || /^#[0-9a-f]{6}([0-9a-f]{2})?$/i.test(e) || /^rgba?\(\s*[\d.]+\s*,\s*[\d.]+\s*,\s*[\d.]+\s*(,\s*[\d.]+\s*)?\)$/i.test(e) || /^hsla?\(\s*[\d.]+\s*,\s*[\d.]+%\s*,\s*[\d.]+%\s*(,\s*[\d.]+\s*)?\)$/i.test(e) || e === "transparent"), ti = class {
|
|
@@ -3013,7 +3041,7 @@ var xr = (e) => {
|
|
|
3013
3041
|
return !e || !Array.isArray(e) ? [] : e.map((e) => (e == null ? [] : e).map((e) => this.normalizeCell(e)));
|
|
3014
3042
|
}
|
|
3015
3043
|
normalizeCell(e) {
|
|
3016
|
-
if (
|
|
3044
|
+
if (A(e)) {
|
|
3017
3045
|
let t = { blocks: [...e.blocks] };
|
|
3018
3046
|
return e.color !== void 0 && ei(e.color) && (t.color = e.color), e.textColor !== void 0 && ei(e.textColor) && (t.textColor = e.textColor), t;
|
|
3019
3047
|
}
|
|
@@ -3123,7 +3151,7 @@ var xr = (e) => {
|
|
|
3123
3151
|
});
|
|
3124
3152
|
});
|
|
3125
3153
|
}
|
|
3126
|
-
}, ci = (e, t, n) => (n.grid.addRow(e, t),
|
|
3154
|
+
}, ci = (e, t, n) => (n.grid.addRow(e, t), P(e, n.cellBlocks), {
|
|
3127
3155
|
pendingHighlight: {
|
|
3128
3156
|
type: "row",
|
|
3129
3157
|
index: t
|
|
@@ -3134,7 +3162,7 @@ var xr = (e) => {
|
|
|
3134
3162
|
withHeadingColumn: n.data.withHeadingColumn
|
|
3135
3163
|
}), li = (e, t, n) => {
|
|
3136
3164
|
let r = Gr(e, t, n.data.colWidths, n.data.initialColWidth, n.grid);
|
|
3137
|
-
return
|
|
3165
|
+
return P(e, n.cellBlocks), {
|
|
3138
3166
|
pendingHighlight: {
|
|
3139
3167
|
type: "col",
|
|
3140
3168
|
index: t
|
|
@@ -3220,8 +3248,8 @@ var xr = (e) => {
|
|
|
3220
3248
|
};
|
|
3221
3249
|
}
|
|
3222
3250
|
}, hi = 10, gi = "data-blok-table-drag-ghost", _i = (e) => {
|
|
3223
|
-
let t = e.querySelector(`[${
|
|
3224
|
-
return t ? Array.from(t.querySelectorAll(`[${
|
|
3251
|
+
let t = e.querySelector(`[${O}]`);
|
|
3252
|
+
return t ? Array.from(t.querySelectorAll(`[${k}]`)).reduce((e, t) => {
|
|
3225
3253
|
let n = e[e.length - 1];
|
|
3226
3254
|
return [...e, n + t.offsetWidth];
|
|
3227
3255
|
}, [0]) : [0];
|
|
@@ -3265,7 +3293,7 @@ var xr = (e) => {
|
|
|
3265
3293
|
this.grid.style.userSelect = "none", document.body.style.cursor = "grabbing", (e = this.onDragStateChange) == null || e.call(this, !0, this.dragType), this.highlightSourceCells(), this.createDropIndicator(), this.createGhost();
|
|
3266
3294
|
}
|
|
3267
3295
|
highlightSourceCells() {
|
|
3268
|
-
let e = this.grid.querySelectorAll(`[${
|
|
3296
|
+
let e = this.grid.querySelectorAll(`[${O}]`);
|
|
3269
3297
|
if (this.dragType === "row") {
|
|
3270
3298
|
this.highlightRowCells(e);
|
|
3271
3299
|
return;
|
|
@@ -3276,7 +3304,7 @@ var xr = (e) => {
|
|
|
3276
3304
|
let t = e[this.dragFromIndex];
|
|
3277
3305
|
if (!t) return;
|
|
3278
3306
|
let n = this.getDragSourceBg();
|
|
3279
|
-
t.querySelectorAll(`[${
|
|
3307
|
+
t.querySelectorAll(`[${k}]`).forEach((e) => {
|
|
3280
3308
|
let t = e;
|
|
3281
3309
|
t.style.backgroundColor = n, t.style.opacity = "0.7", this.dragOverlayCells.push(t);
|
|
3282
3310
|
});
|
|
@@ -3284,7 +3312,7 @@ var xr = (e) => {
|
|
|
3284
3312
|
highlightColumnCells(e) {
|
|
3285
3313
|
let t = this.getDragSourceBg();
|
|
3286
3314
|
e.forEach((e) => {
|
|
3287
|
-
let n = e.querySelectorAll(`[${
|
|
3315
|
+
let n = e.querySelectorAll(`[${k}]`);
|
|
3288
3316
|
if (this.dragFromIndex >= n.length) return;
|
|
3289
3317
|
let r = n[this.dragFromIndex];
|
|
3290
3318
|
r.style.backgroundColor = t, r.style.opacity = "0.7", this.dragOverlayCells.push(r);
|
|
@@ -3303,7 +3331,7 @@ var xr = (e) => {
|
|
|
3303
3331
|
let e = this.dropIndicator.style;
|
|
3304
3332
|
if (e.position = "absolute", e.backgroundColor = "#3b82f6", e.borderRadius = "1.5px", e.zIndex = "5", e.pointerEvents = "none", this.dropIndicator.setAttribute("contenteditable", "false"), this.dragType === "row") e.height = "3px", e.left = "-1px", e.right = "0", e.transition = "top 100ms ease";
|
|
3305
3333
|
else {
|
|
3306
|
-
let t = this.grid.querySelectorAll(`[${
|
|
3334
|
+
let t = this.grid.querySelectorAll(`[${O}]`), n = t[t.length - 1], r = n ? n.offsetTop + n.offsetHeight : 0;
|
|
3307
3335
|
e.width = "3px", e.top = "-1px", e.height = `${r + 1}px`, e.transition = "left 100ms ease";
|
|
3308
3336
|
}
|
|
3309
3337
|
this.grid.appendChild(this.dropIndicator);
|
|
@@ -3365,22 +3393,22 @@ var xr = (e) => {
|
|
|
3365
3393
|
}
|
|
3366
3394
|
getRowSourceRect() {
|
|
3367
3395
|
var e;
|
|
3368
|
-
let t = this.grid.querySelectorAll(`[${
|
|
3396
|
+
let t = this.grid.querySelectorAll(`[${O}]`)[this.dragFromIndex];
|
|
3369
3397
|
return (e = t == null ? void 0 : t.getBoundingClientRect()) == null ? null : e;
|
|
3370
3398
|
}
|
|
3371
3399
|
getColSourceRect() {
|
|
3372
|
-
let e = this.grid.querySelectorAll(`[${
|
|
3400
|
+
let e = this.grid.querySelectorAll(`[${O}]`), t = e[0], n = e[e.length - 1];
|
|
3373
3401
|
if (!t || !n) return null;
|
|
3374
|
-
let r = t.querySelectorAll(`[${
|
|
3402
|
+
let r = t.querySelectorAll(`[${k}]`)[this.dragFromIndex], i = n.querySelectorAll(`[${k}]`)[this.dragFromIndex];
|
|
3375
3403
|
if (!r || !i) return null;
|
|
3376
3404
|
let a = r.getBoundingClientRect(), o = i.getBoundingClientRect();
|
|
3377
3405
|
return new DOMRect(a.left, a.top, a.width, o.bottom - a.top);
|
|
3378
3406
|
}
|
|
3379
3407
|
buildRowGhost() {
|
|
3380
|
-
let e = this.grid.querySelectorAll(`[${
|
|
3408
|
+
let e = this.grid.querySelectorAll(`[${O}]`)[this.dragFromIndex];
|
|
3381
3409
|
if (!e || !this.ghostEl) return;
|
|
3382
3410
|
let t = this.ghostEl.style;
|
|
3383
|
-
t.display = "flex", t.height = `${e.offsetHeight}px`, e.querySelectorAll(`[${
|
|
3411
|
+
t.display = "flex", t.height = `${e.offsetHeight}px`, e.querySelectorAll(`[${k}]`).forEach((e) => {
|
|
3384
3412
|
var t;
|
|
3385
3413
|
let n = e, r = n.cloneNode(!0);
|
|
3386
3414
|
r.style.width = `${n.offsetWidth}px`, r.style.flexShrink = "0", r.removeAttribute("contenteditable"), (t = this.ghostEl) == null || t.appendChild(r);
|
|
@@ -3388,10 +3416,10 @@ var xr = (e) => {
|
|
|
3388
3416
|
}
|
|
3389
3417
|
buildColumnGhost() {
|
|
3390
3418
|
if (!this.ghostEl) return;
|
|
3391
|
-
let e = this.grid.querySelectorAll(`[${
|
|
3419
|
+
let e = this.grid.querySelectorAll(`[${O}]`), t = this.ghostEl.style;
|
|
3392
3420
|
t.display = "flex", t.flexDirection = "column", e.forEach((e) => {
|
|
3393
3421
|
var t;
|
|
3394
|
-
let n = e.querySelectorAll(`[${
|
|
3422
|
+
let n = e.querySelectorAll(`[${k}]`);
|
|
3395
3423
|
if (this.dragFromIndex >= n.length) return;
|
|
3396
3424
|
let r = n[this.dragFromIndex], i = r.cloneNode(!0);
|
|
3397
3425
|
i.style.width = `${r.offsetWidth}px`, i.style.height = `${r.offsetHeight}px`, i.removeAttribute("contenteditable"), (t = this.ghostEl) == null || t.appendChild(i);
|
|
@@ -3403,7 +3431,7 @@ var xr = (e) => {
|
|
|
3403
3431
|
this.dragType === "row" && (t.top = `${e.clientY - this.ghostOffsetY}px`), this.dragType === "col" && (t.left = `${e.clientX - this.ghostOffsetX}px`);
|
|
3404
3432
|
}
|
|
3405
3433
|
getRowDropIndex(e) {
|
|
3406
|
-
let t = Array.from(this.grid.querySelectorAll(`[${
|
|
3434
|
+
let t = Array.from(this.grid.querySelectorAll(`[${O}]`)), n = t.map((e) => e.offsetTop);
|
|
3407
3435
|
if (t.length > 0) {
|
|
3408
3436
|
let e = t[t.length - 1];
|
|
3409
3437
|
n.push(e.offsetTop + e.offsetHeight);
|
|
@@ -3412,7 +3440,7 @@ var xr = (e) => {
|
|
|
3412
3440
|
return r.indexOf(i);
|
|
3413
3441
|
}
|
|
3414
3442
|
getRowDropTopPx(e) {
|
|
3415
|
-
let t = this.grid.querySelectorAll(`[${
|
|
3443
|
+
let t = this.grid.querySelectorAll(`[${O}]`);
|
|
3416
3444
|
if (e < t.length) return t[e].offsetTop;
|
|
3417
3445
|
if (t.length > 0) {
|
|
3418
3446
|
let e = t[t.length - 1];
|
|
@@ -3490,17 +3518,17 @@ var xr = (e) => {
|
|
|
3490
3518
|
}), o;
|
|
3491
3519
|
}, Ti = (e, t) => {
|
|
3492
3520
|
let n = e === 0 ? [{
|
|
3493
|
-
type:
|
|
3521
|
+
type: v.Html,
|
|
3494
3522
|
element: wi({
|
|
3495
|
-
icon:
|
|
3523
|
+
icon: be,
|
|
3496
3524
|
label: t.i18n.t("tools.table.headerColumn"),
|
|
3497
3525
|
isActive: t.isHeadingColumn(),
|
|
3498
3526
|
onToggle: () => {
|
|
3499
3527
|
t.onAction({ type: "toggle-heading-column" });
|
|
3500
3528
|
}
|
|
3501
3529
|
})
|
|
3502
|
-
}, { type:
|
|
3503
|
-
icon:
|
|
3530
|
+
}, { type: v.Separator }] : [], r = [{
|
|
3531
|
+
icon: Me,
|
|
3504
3532
|
title: t.i18n.t("tools.table.insertColumnLeft"),
|
|
3505
3533
|
closeOnActivate: !0,
|
|
3506
3534
|
onActivate: () => {
|
|
@@ -3510,7 +3538,7 @@ var xr = (e) => {
|
|
|
3510
3538
|
});
|
|
3511
3539
|
}
|
|
3512
3540
|
}, {
|
|
3513
|
-
icon:
|
|
3541
|
+
icon: ot,
|
|
3514
3542
|
title: t.i18n.t("tools.table.insertColumnRight"),
|
|
3515
3543
|
closeOnActivate: !0,
|
|
3516
3544
|
onActivate: () => {
|
|
@@ -3519,8 +3547,8 @@ var xr = (e) => {
|
|
|
3519
3547
|
index: e
|
|
3520
3548
|
});
|
|
3521
3549
|
}
|
|
3522
|
-
}], i = t.getColumnCount() > 1, a = [{ type:
|
|
3523
|
-
icon:
|
|
3550
|
+
}], i = t.getColumnCount() > 1, a = [{ type: v.Separator }, {
|
|
3551
|
+
icon: me,
|
|
3524
3552
|
title: t.i18n.t("tools.table.deleteColumn"),
|
|
3525
3553
|
isDestructive: !0,
|
|
3526
3554
|
isDisabled: !i,
|
|
@@ -3539,17 +3567,17 @@ var xr = (e) => {
|
|
|
3539
3567
|
];
|
|
3540
3568
|
}, Ei = (t, n) => {
|
|
3541
3569
|
let r = t === 0 ? [{
|
|
3542
|
-
type:
|
|
3570
|
+
type: v.Html,
|
|
3543
3571
|
element: wi({
|
|
3544
|
-
icon:
|
|
3572
|
+
icon: Se,
|
|
3545
3573
|
label: n.i18n.t("tools.table.headerRow"),
|
|
3546
3574
|
isActive: n.isHeadingRow(),
|
|
3547
3575
|
onToggle: () => {
|
|
3548
3576
|
n.onAction({ type: "toggle-heading" });
|
|
3549
3577
|
}
|
|
3550
3578
|
})
|
|
3551
|
-
}, { type:
|
|
3552
|
-
icon:
|
|
3579
|
+
}, { type: v.Separator }] : [], i = [{
|
|
3580
|
+
icon: fe,
|
|
3553
3581
|
title: n.i18n.t("tools.table.insertRowAbove"),
|
|
3554
3582
|
closeOnActivate: !0,
|
|
3555
3583
|
onActivate: () => {
|
|
@@ -3568,8 +3596,8 @@ var xr = (e) => {
|
|
|
3568
3596
|
index: t
|
|
3569
3597
|
});
|
|
3570
3598
|
}
|
|
3571
|
-
}], a = n.getRowCount() > 1, o = [{ type:
|
|
3572
|
-
icon:
|
|
3599
|
+
}], a = n.getRowCount() > 1, o = [{ type: v.Separator }, {
|
|
3600
|
+
icon: me,
|
|
3573
3601
|
title: n.i18n.t("tools.table.deleteRow"),
|
|
3574
3602
|
isDestructive: !0,
|
|
3575
3603
|
isDisabled: !a,
|
|
@@ -3593,12 +3621,12 @@ var xr = (e) => {
|
|
|
3593
3621
|
popover: null,
|
|
3594
3622
|
grip: null
|
|
3595
3623
|
};
|
|
3596
|
-
let o = new
|
|
3624
|
+
let o = new Fe({
|
|
3597
3625
|
items: e === "col" ? Ti(t, r) : Ei(t, r),
|
|
3598
3626
|
trigger: a,
|
|
3599
3627
|
flippable: !0
|
|
3600
3628
|
});
|
|
3601
|
-
return o.on(
|
|
3629
|
+
return o.on(ct.Closed, () => {
|
|
3602
3630
|
var e;
|
|
3603
3631
|
i.destroyPopover(), i.applyVisibleClasses(a), i.scheduleHideAll(), (e = i.onGripPopoverClose) == null || e.call(i);
|
|
3604
3632
|
}), i.hideAllGripsExcept(a), i.applyActiveClasses(a), e === "col" ? a.style.height = "16px" : a.style.width = "16px", {
|
|
@@ -3657,7 +3685,7 @@ var xr = (e) => {
|
|
|
3657
3685
|
}
|
|
3658
3686
|
handleUnlockGrip(e) {
|
|
3659
3687
|
document.removeEventListener("pointerdown", this.boundUnlockGrip), this.lockedGrip && (this.applyIdleClasses(this.lockedGrip), this.lockedGrip = null);
|
|
3660
|
-
let t = e.target instanceof HTMLElement ? e.target : null, n = t == null ? void 0 : t.closest(`[${
|
|
3688
|
+
let t = e.target instanceof HTMLElement ? e.target : null, n = t == null ? void 0 : t.closest(`[${k}]`);
|
|
3661
3689
|
if (n) {
|
|
3662
3690
|
let e = this.getCellPosition(n);
|
|
3663
3691
|
e && (this.clearHideTimeout(), this.showColGrip(e.col), this.showRowGrip(e.row), this.isInsideTable = !0);
|
|
@@ -3713,7 +3741,7 @@ var xr = (e) => {
|
|
|
3713
3741
|
}), n;
|
|
3714
3742
|
}
|
|
3715
3743
|
positionGrips() {
|
|
3716
|
-
let e = this.grid.querySelectorAll(`[${
|
|
3744
|
+
let e = this.grid.querySelectorAll(`[${O}]`);
|
|
3717
3745
|
if (!e[0]) return;
|
|
3718
3746
|
let t = _i(this.grid), n = this.overlay && this.scrollContainer ? this.scrollContainer.scrollLeft : 0, r = this.overlay && this.scrollContainer ? this.scrollContainer.clientWidth : Infinity;
|
|
3719
3747
|
this.colGrips.forEach((e, i) => {
|
|
@@ -3730,7 +3758,7 @@ var xr = (e) => {
|
|
|
3730
3758
|
var e;
|
|
3731
3759
|
(e = this.rowResizeObserver) == null || e.disconnect(), this.rowResizeObserver = new ResizeObserver(() => {
|
|
3732
3760
|
this.positionGrips();
|
|
3733
|
-
}), this.grid.querySelectorAll(`[${
|
|
3761
|
+
}), this.grid.querySelectorAll(`[${O}]`).forEach((e) => {
|
|
3734
3762
|
var t;
|
|
3735
3763
|
(t = this.rowResizeObserver) == null || t.observe(e);
|
|
3736
3764
|
});
|
|
@@ -3740,7 +3768,7 @@ var xr = (e) => {
|
|
|
3740
3768
|
}
|
|
3741
3769
|
handleMouseOver(e) {
|
|
3742
3770
|
if (this.isGripInteractionLocked()) return;
|
|
3743
|
-
let t = e.target.closest(`[${
|
|
3771
|
+
let t = e.target.closest(`[${k}]`);
|
|
3744
3772
|
if (!t) return;
|
|
3745
3773
|
this.clearHideTimeout();
|
|
3746
3774
|
let n = this.getCellPosition(t);
|
|
@@ -3750,11 +3778,11 @@ var xr = (e) => {
|
|
|
3750
3778
|
this.isGripInteractionLocked() || this.scheduleHideAll();
|
|
3751
3779
|
}
|
|
3752
3780
|
getCellPosition(e) {
|
|
3753
|
-
let t = e.closest(`[${
|
|
3781
|
+
let t = e.closest(`[${O}]`);
|
|
3754
3782
|
if (!t) return null;
|
|
3755
|
-
let n = Array.from(this.grid.querySelectorAll(`[${
|
|
3783
|
+
let n = Array.from(this.grid.querySelectorAll(`[${O}]`)).indexOf(t);
|
|
3756
3784
|
if (n < 0) return null;
|
|
3757
|
-
let r = Array.from(t.querySelectorAll(`[${
|
|
3785
|
+
let r = Array.from(t.querySelectorAll(`[${k}]`)).indexOf(e);
|
|
3758
3786
|
return r < 0 ? null : {
|
|
3759
3787
|
row: n,
|
|
3760
3788
|
col: r
|
|
@@ -3940,7 +3968,7 @@ var xr = (e) => {
|
|
|
3940
3968
|
constructor({ data: e, config: t, api: n, readOnly: r, block: i }) {
|
|
3941
3969
|
this.initialContent = null, this.resize = null, this.addControls = null, this.rowColControls = null, this.cellBlocks = null, this.cellSelection = null, this.scrollHaze = null, this.element = null, this.gridElement = null, this.scrollContainer = null, this.gripOverlay = null, this.pendingHighlight = null, this.isNewTable = !1, this.unregisterRestrictedTools = null, this.setDataGeneration = 0, this.structuralOpDepth = 0, this.api = n, this.readOnly = r, this.config = t == null ? {} : t;
|
|
3942
3970
|
let a = Xr(e, this.config);
|
|
3943
|
-
this.initialContent = a.content, this.grid = new hr({ readOnly: r }), this.model = new ti(a), this.blockId = i == null ? void 0 : i.id, this.config.restrictedTools !== void 0 && (this.unregisterRestrictedTools =
|
|
3971
|
+
this.initialContent = a.content, this.grid = new hr({ readOnly: r }), this.model = new ti(a), this.blockId = i == null ? void 0 : i.id, this.config.restrictedTools !== void 0 && (this.unregisterRestrictedTools = Ie(this.config.restrictedTools));
|
|
3944
3972
|
}
|
|
3945
3973
|
runStructuralOp(e, t = !1) {
|
|
3946
3974
|
this.structuralOpDepth++;
|
|
@@ -3975,13 +4003,18 @@ var xr = (e) => {
|
|
|
3975
4003
|
}
|
|
3976
4004
|
static get toolbox() {
|
|
3977
4005
|
return {
|
|
3978
|
-
icon:
|
|
4006
|
+
icon: Le,
|
|
3979
4007
|
title: "Table",
|
|
3980
4008
|
titleKey: "tools.table.title",
|
|
3981
4009
|
searchTerms: [
|
|
3982
4010
|
"table",
|
|
3983
4011
|
"grid",
|
|
3984
4012
|
"spreadsheet"
|
|
4013
|
+
],
|
|
4014
|
+
searchTermKeys: [
|
|
4015
|
+
"table",
|
|
4016
|
+
"grid",
|
|
4017
|
+
"spreadsheet"
|
|
3985
4018
|
]
|
|
3986
4019
|
};
|
|
3987
4020
|
}
|
|
@@ -4008,7 +4041,7 @@ var xr = (e) => {
|
|
|
4008
4041
|
em: !0,
|
|
4009
4042
|
mark: (e) => {
|
|
4010
4043
|
let t = e.style, n = Array.from({ length: t.length }, (e, n) => t.item(n));
|
|
4011
|
-
for (let e of n)
|
|
4044
|
+
for (let e of n) he.has(e) || t.removeProperty(e);
|
|
4012
4045
|
return t.length > 0 ? { style: !0 } : {};
|
|
4013
4046
|
},
|
|
4014
4047
|
a: { href: !0 },
|
|
@@ -4029,7 +4062,7 @@ var xr = (e) => {
|
|
|
4029
4062
|
render() {
|
|
4030
4063
|
var e, t, n, r, i, a;
|
|
4031
4064
|
let o = document.createElement("div");
|
|
4032
|
-
o.className = C(Xi, !this.readOnly && Zi), o.setAttribute(
|
|
4065
|
+
o.className = C(Xi, !this.readOnly && Zi), o.setAttribute(_.tool, "table"), this.readOnly && o.setAttribute("data-blok-table-readonly", ""), this.isNewTable = ((e = (t = this.initialContent) == null ? void 0 : t.length) == null ? 0 : e) === 0;
|
|
4033
4066
|
let s = ((n = this.initialContent) == null ? void 0 : n.length) || this.config.rows || Ji, c = ((r = this.initialContent) == null ? void 0 : r.reduce((e, t) => {
|
|
4034
4067
|
var n;
|
|
4035
4068
|
return Math.max(e, (n = t == null ? void 0 : t.length) == null ? 0 : n);
|
|
@@ -4048,7 +4081,7 @@ var xr = (e) => {
|
|
|
4048
4081
|
let e = document.createElement("div");
|
|
4049
4082
|
e.setAttribute("data-blok-table-grip-overlay", ""), e.style.position = "absolute", e.style.inset = "0", e.style.pointerEvents = "none", e.style.zIndex = "3", o.appendChild(e), this.gripOverlay = e;
|
|
4050
4083
|
}
|
|
4051
|
-
return this.element = o, this.model.withHeadings &&
|
|
4084
|
+
return this.element = o, this.model.withHeadings && F(this.gridElement, this.model.withHeadings), this.model.withHeadingColumn && L(this.gridElement, this.model.withHeadingColumn), this.readOnly || (this.initCellBlocks(l), Zr(l, this.cellBlocks)), o;
|
|
4052
4085
|
}
|
|
4053
4086
|
rendered() {
|
|
4054
4087
|
if (!this.element || this.initialContent === null) return;
|
|
@@ -4057,22 +4090,22 @@ var xr = (e) => {
|
|
|
4057
4090
|
let t = this.initialContent;
|
|
4058
4091
|
if (this.initialContent = null, this.readOnly) {
|
|
4059
4092
|
var n;
|
|
4060
|
-
Yr(e, t, this.api, (n = this.blockId) == null ? "" : n),
|
|
4093
|
+
Yr(e, t, this.api, (n = this.blockId) == null ? "" : n), I(e, this.model.snapshot().content), this.initScrollHaze();
|
|
4061
4094
|
return;
|
|
4062
4095
|
}
|
|
4063
4096
|
if (this.runTransactedStructuralOp(() => {
|
|
4064
4097
|
var n, r;
|
|
4065
|
-
let i = (n = (r = this.cellBlocks) == null ? void 0 : r.initializeCells(t)) == null ? t : n, a = this.isNewTable && i.length === 0 ? Array.from(e.querySelectorAll(`[${
|
|
4066
|
-
let t = e.querySelectorAll(`[${
|
|
4098
|
+
let i = (n = (r = this.cellBlocks) == null ? void 0 : r.initializeCells(t)) == null ? t : n, a = this.isNewTable && i.length === 0 ? Array.from(e.querySelectorAll(`[${O}]`), (e) => {
|
|
4099
|
+
let t = e.querySelectorAll(`[${k}]`).length;
|
|
4067
4100
|
return Array.from({ length: t }, () => ({ blocks: [] }));
|
|
4068
4101
|
}) : i;
|
|
4069
|
-
this.model.replaceAll(S(S({}, this.model.snapshot()), {}, { content: a })), this.isNewTable &&
|
|
4102
|
+
this.model.replaceAll(S(S({}, this.model.snapshot()), {}, { content: a })), this.isNewTable && P(e, this.cellBlocks), this.removeGhostChildren();
|
|
4070
4103
|
}, !0), this.model.initialColWidth === void 0) {
|
|
4071
4104
|
var r;
|
|
4072
|
-
let t = (r = this.model.colWidths) == null ?
|
|
4105
|
+
let t = (r = this.model.colWidths) == null ? M(e) : r;
|
|
4073
4106
|
this.model.setInitialColWidth(t.length > 0 ? Kr(t) : void 0);
|
|
4074
4107
|
}
|
|
4075
|
-
if (this.initSubsystems(e),
|
|
4108
|
+
if (this.initSubsystems(e), I(e, this.model.snapshot().content), this.isNewTable) {
|
|
4076
4109
|
var i;
|
|
4077
4110
|
(i = this.cellSelection) == null || i.selectRange({
|
|
4078
4111
|
minRow: 0,
|
|
@@ -4114,7 +4147,7 @@ var xr = (e) => {
|
|
|
4114
4147
|
let f = this.gridElement;
|
|
4115
4148
|
if (f) {
|
|
4116
4149
|
if (this.readOnly) {
|
|
4117
|
-
|
|
4150
|
+
I(f, this.model.snapshot().content);
|
|
4118
4151
|
return;
|
|
4119
4152
|
}
|
|
4120
4153
|
o === this.setDataGeneration && (this.runStructuralOp(() => {
|
|
@@ -4122,50 +4155,50 @@ var xr = (e) => {
|
|
|
4122
4155
|
let i = (e = (t = (n = this.cellBlocks) == null ? void 0 : n.initializeCells((r = this.initialContent) == null ? [] : r)) == null ? this.initialContent : t) == null ? [] : e;
|
|
4123
4156
|
if (o === this.setDataGeneration) {
|
|
4124
4157
|
if (this.api.blocks.isSyncingFromYjs && i.length === 0 && f) {
|
|
4125
|
-
let e = Array.from(f.querySelectorAll(`[${
|
|
4126
|
-
let t = e.querySelectorAll(`[${
|
|
4158
|
+
let e = Array.from(f.querySelectorAll(`[${O}]`), (e) => {
|
|
4159
|
+
let t = e.querySelectorAll(`[${k}]`).length;
|
|
4127
4160
|
return Array.from({ length: t }, () => ({ blocks: [] }));
|
|
4128
4161
|
});
|
|
4129
|
-
this.model.replaceAll(S(S({}, this.model.snapshot()), {}, { content: e })),
|
|
4162
|
+
this.model.replaceAll(S(S({}, this.model.snapshot()), {}, { content: e })), P(f, this.cellBlocks);
|
|
4130
4163
|
} else this.model.replaceAll(S(S({}, this.model.snapshot()), {}, { content: i }));
|
|
4131
4164
|
this.initialContent = null;
|
|
4132
4165
|
}
|
|
4133
|
-
}, !0), o === this.setDataGeneration && (this.initSubsystems(f), l !== null && this.cellSelection !== null && this.cellSelection.selectRange(l), u !== null && this.rowColControls !== null && this.rowColControls.restoreVisibleGrips(u.col, u.row),
|
|
4166
|
+
}, !0), o === this.setDataGeneration && (this.initSubsystems(f), l !== null && this.cellSelection !== null && this.cellSelection.selectRange(l), u !== null && this.rowColControls !== null && this.rowColControls.restoreVisibleGrips(u.col, u.row), I(f, this.model.snapshot().content)));
|
|
4134
4167
|
}
|
|
4135
4168
|
}
|
|
4136
4169
|
onPaste(e) {
|
|
4137
4170
|
var t, n;
|
|
4138
|
-
let r = e.detail.data, i = r.querySelectorAll("tr"), a = [],
|
|
4171
|
+
let r = e.detail.data, i = r.querySelectorAll("tr"), a = [], o = [];
|
|
4139
4172
|
i.forEach((e) => {
|
|
4140
4173
|
let t = e.querySelectorAll("td, th"), n = [], r = [];
|
|
4141
4174
|
t.forEach((e) => {
|
|
4142
4175
|
var t;
|
|
4143
4176
|
n.push(e.innerHTML);
|
|
4144
|
-
let i = (t = e.getAttribute("style")) == null ? "" : t, a = {},
|
|
4145
|
-
|
|
4146
|
-
let
|
|
4147
|
-
|
|
4148
|
-
}), n.length > 0 && (a.push(n),
|
|
4177
|
+
let i = (t = e.getAttribute("style")) == null ? "" : t, a = {}, o = /background-color\s*:\s*([^;]+)/i.exec(i);
|
|
4178
|
+
o != null && o[1] && (a.color = ae(o[1].trim(), "bg"));
|
|
4179
|
+
let s = (/* @__PURE__ */ RegExp("(?<![a-z-])color\\s*:\\s*([^;]+)", "i")).exec(i);
|
|
4180
|
+
s != null && s[1] && !le(s[1].trim()) && (a.textColor = ae(s[1].trim(), "text")), r.push(a);
|
|
4181
|
+
}), n.length > 0 && (a.push(n), o.push(r));
|
|
4149
4182
|
});
|
|
4150
|
-
let
|
|
4151
|
-
this.initialContent = a, this.model.setWithHeadings(
|
|
4183
|
+
let s = r.querySelector("thead") !== null, c = ((t = i[0]) == null ? void 0 : t.querySelector("th")) !== null, l = s || c;
|
|
4184
|
+
this.initialContent = a, this.model.setWithHeadings(l), this.model.setWithHeadingColumn(!1), this.model.setColWidths(void 0), this.runStructuralOp(() => {
|
|
4152
4185
|
var e;
|
|
4153
4186
|
(e = this.cellBlocks) == null || e.deleteAllBlocks();
|
|
4154
4187
|
}, !0), (n = this.cellBlocks) == null || n.destroy(), this.teardownSubsystems();
|
|
4155
|
-
let
|
|
4156
|
-
if (!(
|
|
4157
|
-
let
|
|
4158
|
-
|
|
4159
|
-
let
|
|
4160
|
-
!this.readOnly &&
|
|
4188
|
+
let u = this.element;
|
|
4189
|
+
if (!(u != null && u.parentNode)) return;
|
|
4190
|
+
let d = this.render();
|
|
4191
|
+
u.parentNode.replaceChild(d, u);
|
|
4192
|
+
let f = this.gridElement;
|
|
4193
|
+
!this.readOnly && f && (this.runStructuralOp(() => {
|
|
4161
4194
|
var e, t, n, r;
|
|
4162
4195
|
let i = (e = (t = (n = this.cellBlocks) == null ? void 0 : n.initializeCells((r = this.initialContent) == null ? [] : r)) == null ? this.initialContent : t) == null ? [] : e;
|
|
4163
|
-
this.model.replaceAll(S(S({}, this.model.snapshot()), {}, { content: i })), this.initialContent = null,
|
|
4196
|
+
this.model.replaceAll(S(S({}, this.model.snapshot()), {}, { content: i })), this.initialContent = null, o.forEach((e, t) => {
|
|
4164
4197
|
e.forEach((e, n) => {
|
|
4165
4198
|
e.color !== void 0 && this.model.setCellColor(t, n, e.color), e.textColor !== void 0 && this.model.setCellTextColor(t, n, e.textColor);
|
|
4166
4199
|
});
|
|
4167
4200
|
});
|
|
4168
|
-
}, !0), this.initSubsystems(
|
|
4201
|
+
}, !0), this.initSubsystems(f), I(f, this.model.snapshot().content));
|
|
4169
4202
|
}
|
|
4170
4203
|
destroy() {
|
|
4171
4204
|
var e, t;
|
|
@@ -4207,20 +4240,20 @@ var xr = (e) => {
|
|
|
4207
4240
|
i18n: this.api.i18n,
|
|
4208
4241
|
getNewColumnWidth: () => {
|
|
4209
4242
|
var t;
|
|
4210
|
-
let n = (t = this.model.colWidths) == null ?
|
|
4211
|
-
return this.model.initialColWidth === void 0 ?
|
|
4243
|
+
let n = (t = this.model.colWidths) == null ? M(e) : t;
|
|
4244
|
+
return this.model.initialColWidth === void 0 ? N(n) : Math.round(this.model.initialColWidth / 2 * 100) / 100;
|
|
4212
4245
|
},
|
|
4213
4246
|
onAddRow: () => {
|
|
4214
4247
|
this.runTransactedStructuralOp(() => {
|
|
4215
4248
|
var t, n;
|
|
4216
|
-
this.grid.addRow(e), this.model.addRow(),
|
|
4249
|
+
this.grid.addRow(e), this.model.addRow(), P(e, this.cellBlocks), F(this.gridElement, this.model.withHeadings), L(this.gridElement, this.model.withHeadingColumn), this.initResize(e), (t = this.addControls) == null || t.syncRowButtonWidth(), (n = this.rowColControls) == null || n.refresh();
|
|
4217
4250
|
});
|
|
4218
4251
|
},
|
|
4219
4252
|
onAddColumn: () => {
|
|
4220
4253
|
this.runTransactedStructuralOp(() => {
|
|
4221
4254
|
var t, n, r;
|
|
4222
|
-
let i = (t = this.model.colWidths) == null ?
|
|
4223
|
-
this.grid.addColumn(e, void 0, i, a), this.model.addColumn(void 0, a), this.model.setColWidths([...i, a]),
|
|
4255
|
+
let i = (t = this.model.colWidths) == null ? M(e) : t, a = this.model.initialColWidth === void 0 ? N(i) : Math.round(this.model.initialColWidth / 2 * 100) / 100;
|
|
4256
|
+
this.grid.addColumn(e, void 0, i, a), this.model.addColumn(void 0, a), this.model.setColWidths([...i, a]), P(e, this.cellBlocks), L(this.gridElement, this.model.withHeadingColumn), this.initResize(e), (n = this.rowColControls) == null || n.refresh(), this.scrollContainer && (this.scrollContainer.scrollLeft = this.scrollContainer.scrollWidth), (r = this.addControls) == null || r.syncRowButtonWidth();
|
|
4224
4257
|
});
|
|
4225
4258
|
},
|
|
4226
4259
|
onDragStart: () => {
|
|
@@ -4229,7 +4262,7 @@ var xr = (e) => {
|
|
|
4229
4262
|
},
|
|
4230
4263
|
onDragAddRow: () => {
|
|
4231
4264
|
this.runTransactedStructuralOp(() => {
|
|
4232
|
-
this.grid.addRow(e), this.model.addRow(),
|
|
4265
|
+
this.grid.addRow(e), this.model.addRow(), P(e, this.cellBlocks), F(this.gridElement, this.model.withHeadings), L(this.gridElement, this.model.withHeadingColumn);
|
|
4233
4266
|
});
|
|
4234
4267
|
},
|
|
4235
4268
|
onDragRemoveRow: () => {
|
|
@@ -4245,8 +4278,8 @@ var xr = (e) => {
|
|
|
4245
4278
|
onDragAddCol: () => {
|
|
4246
4279
|
this.runTransactedStructuralOp(() => {
|
|
4247
4280
|
var t;
|
|
4248
|
-
let r = (t = this.model.colWidths) == null ?
|
|
4249
|
-
this.grid.addColumn(e, void 0, r, i), this.model.addColumn(void 0, i), this.model.setColWidths(a), Lr(e, a),
|
|
4281
|
+
let r = (t = this.model.colWidths) == null ? M(e) : t, i = this.model.initialColWidth === void 0 ? N(r) : Math.round(this.model.initialColWidth / 2 * 100) / 100, a = [...r, i];
|
|
4282
|
+
this.grid.addColumn(e, void 0, r, i), this.model.addColumn(void 0, i), this.model.setColWidths(a), Lr(e, a), P(e, this.cellBlocks), L(this.gridElement, this.model.withHeadingColumn), this.initResize(e), n.addedCols++, this.scrollContainer && (this.scrollContainer.scrollLeft = this.scrollContainer.scrollWidth);
|
|
4250
4283
|
});
|
|
4251
4284
|
},
|
|
4252
4285
|
onDragRemoveCol: () => {
|
|
@@ -4328,7 +4361,7 @@ var xr = (e) => {
|
|
|
4328
4361
|
blocksToDelete: o
|
|
4329
4362
|
});
|
|
4330
4363
|
if (n !== this.setDataGeneration || this.gridElement !== e) return;
|
|
4331
|
-
if (this.model.setColWidths(s.colWidths), this.model.setWithHeadings(s.withHeadings), this.model.setWithHeadingColumn(s.withHeadingColumn), this.pendingHighlight = s.pendingHighlight,
|
|
4364
|
+
if (this.model.setColWidths(s.colWidths), this.model.setWithHeadings(s.withHeadings), this.model.setWithHeadingColumn(s.withHeadingColumn), this.pendingHighlight = s.pendingHighlight, F(this.gridElement, this.model.withHeadings), L(this.gridElement, this.model.withHeadingColumn), this.initResize(e), (r = this.addControls) == null || r.syncRowButtonWidth(), !(t.type === "toggle-heading" || t.type === "toggle-heading-column")) {
|
|
4332
4365
|
var c;
|
|
4333
4366
|
(c = this.rowColControls) == null || c.refresh();
|
|
4334
4367
|
}
|
|
@@ -4374,7 +4407,7 @@ var xr = (e) => {
|
|
|
4374
4407
|
initResize(e) {
|
|
4375
4408
|
var t, n;
|
|
4376
4409
|
(t = this.resize) == null || t.destroy();
|
|
4377
|
-
let r = this.model.colWidths === void 0, i = (n = this.model.colWidths) == null ?
|
|
4410
|
+
let r = this.model.colWidths === void 0, i = (n = this.model.colWidths) == null ? M(e) : n;
|
|
4378
4411
|
r || $r(this.ensureScrollContainer()), this.resize = new si(e, i, (e) => {
|
|
4379
4412
|
var t, n, r;
|
|
4380
4413
|
this.model.setColWidths(e), $r(this.ensureScrollContainer()), (t = this.rowColControls) == null || t.positionGrips(), (n = this.addControls) == null || n.syncRowButtonWidth(), (r = this.scrollHaze) == null || r.update();
|
|
@@ -4399,16 +4432,16 @@ var xr = (e) => {
|
|
|
4399
4432
|
handleCellCopy(e, t) {
|
|
4400
4433
|
let n = this.collectCellBlockData(e);
|
|
4401
4434
|
if (n.length === 0) return;
|
|
4402
|
-
let
|
|
4403
|
-
t.setData("text/html",
|
|
4435
|
+
let r = Ue(n);
|
|
4436
|
+
t.setData("text/html", l(r)), t.setData("text/plain", c(r));
|
|
4404
4437
|
}
|
|
4405
4438
|
handleCellCopyViaButton(e) {
|
|
4406
4439
|
let t = this.collectCellBlockData(e);
|
|
4407
4440
|
if (t.length === 0) return;
|
|
4408
|
-
let n =
|
|
4441
|
+
let n = Ue(t), r = l(n), i = c(n), a = new Blob([r], { type: "text/html" }), o = new Blob([i], { type: "text/plain" });
|
|
4409
4442
|
navigator.clipboard.write([new ClipboardItem({
|
|
4410
|
-
"text/html":
|
|
4411
|
-
"text/plain":
|
|
4443
|
+
"text/html": a,
|
|
4444
|
+
"text/plain": o
|
|
4412
4445
|
})]);
|
|
4413
4446
|
}
|
|
4414
4447
|
handleCellColorChange(e, t, n) {
|
|
@@ -4423,12 +4456,12 @@ var xr = (e) => {
|
|
|
4423
4456
|
collectCellBlockData(e) {
|
|
4424
4457
|
let t = this.gridElement;
|
|
4425
4458
|
if (!t) return [];
|
|
4426
|
-
let n = Array.from(t.querySelectorAll(`[${
|
|
4459
|
+
let n = Array.from(t.querySelectorAll(`[${O}]`));
|
|
4427
4460
|
return e.map((e) => {
|
|
4428
4461
|
var t;
|
|
4429
|
-
let r = e.closest(`[${
|
|
4462
|
+
let r = e.closest(`[${O}]`);
|
|
4430
4463
|
if (!r) return null;
|
|
4431
|
-
let i = n.indexOf(r), a = Array.from(r.querySelectorAll(`[${
|
|
4464
|
+
let i = n.indexOf(r), a = Array.from(r.querySelectorAll(`[${k}]`)).indexOf(e), o = e.querySelector(`[${j}]`), s = [];
|
|
4432
4465
|
if (!o) return {
|
|
4433
4466
|
row: i,
|
|
4434
4467
|
col: a,
|
|
@@ -4519,21 +4552,21 @@ var xr = (e) => {
|
|
|
4519
4552
|
}
|
|
4520
4553
|
handleGridPaste(e, t) {
|
|
4521
4554
|
if (this.readOnly || !e.clipboardData || e.defaultPrevented) return;
|
|
4522
|
-
let
|
|
4523
|
-
if (!
|
|
4524
|
-
let
|
|
4525
|
-
if (!
|
|
4526
|
-
let
|
|
4527
|
-
if (!
|
|
4528
|
-
let
|
|
4529
|
-
if (!
|
|
4530
|
-
if (
|
|
4531
|
-
e.preventDefault(), e.stopPropagation(), this.insertSingleCellPayloadInline(
|
|
4555
|
+
let r = e.clipboardData.getData("text/html"), i = We(r), a = i === null ? n(r) : null, o = i == null ? a : i;
|
|
4556
|
+
if (!o || a !== null && new DOMParser().parseFromString(r, "text/html").querySelectorAll("table").length > 1) return;
|
|
4557
|
+
let s = document.activeElement;
|
|
4558
|
+
if (!s) return;
|
|
4559
|
+
let c = s.closest(`[${k}]`);
|
|
4560
|
+
if (!c || !t.contains(c)) return;
|
|
4561
|
+
let l = c.closest(`[${O}]`);
|
|
4562
|
+
if (!l) return;
|
|
4563
|
+
if (o.rows === 1 && o.cols === 1) {
|
|
4564
|
+
e.preventDefault(), e.stopPropagation(), this.insertSingleCellPayloadInline(o.cells[0][0]);
|
|
4532
4565
|
return;
|
|
4533
4566
|
}
|
|
4534
4567
|
e.preventDefault(), e.stopPropagation();
|
|
4535
|
-
let
|
|
4536
|
-
this.pastePayloadIntoCells(t,
|
|
4568
|
+
let u = Array.from(t.querySelectorAll(`[${O}]`)).indexOf(l), d = Array.from(l.querySelectorAll(`[${k}]`)).indexOf(c);
|
|
4569
|
+
this.pastePayloadIntoCells(t, o, u, d);
|
|
4537
4570
|
}
|
|
4538
4571
|
insertSingleCellPayloadInline(e) {
|
|
4539
4572
|
let t = e.blocks.map((e) => typeof e.data.text == "string" ? e.data.text : "").filter(Boolean).join("<br>");
|
|
@@ -4553,11 +4586,11 @@ var xr = (e) => {
|
|
|
4553
4586
|
this.runTransactedStructuralOp(() => {
|
|
4554
4587
|
var i, a;
|
|
4555
4588
|
this.expandGridForPaste(e, n + t.rows, r + t.cols);
|
|
4556
|
-
let o = e.querySelectorAll(`[${
|
|
4589
|
+
let o = e.querySelectorAll(`[${O}]`);
|
|
4557
4590
|
Array.from({ length: t.rows }, (e, t) => t).forEach((e) => {
|
|
4558
4591
|
let i = o[n + e];
|
|
4559
4592
|
if (!i) return;
|
|
4560
|
-
let a = i.querySelectorAll(`[${
|
|
4593
|
+
let a = i.querySelectorAll(`[${k}]`);
|
|
4561
4594
|
Array.from({ length: t.cols }, (e, t) => t).forEach((i) => {
|
|
4562
4595
|
let o = a[r + i];
|
|
4563
4596
|
if (o) {
|
|
@@ -4572,7 +4605,7 @@ var xr = (e) => {
|
|
|
4572
4605
|
});
|
|
4573
4606
|
}), this.initResize(e), (i = this.addControls) == null || i.syncRowButtonWidth(), (a = this.rowColControls) == null || a.refresh();
|
|
4574
4607
|
});
|
|
4575
|
-
let i = e.querySelectorAll(`[${
|
|
4608
|
+
let i = e.querySelectorAll(`[${O}]`)[n + t.rows - 1], a = i == null ? void 0 : i.querySelectorAll(`[${k}]`)[r + t.cols - 1];
|
|
4576
4609
|
if (!a || !this.cellBlocks || !this.api.caret) return;
|
|
4577
4610
|
let o = this.cellBlocks.getBlockIdsFromCells([a]), s = o[o.length - 1];
|
|
4578
4611
|
s !== void 0 && this.api.caret.setToBlock(s, "end");
|
|
@@ -4580,11 +4613,11 @@ var xr = (e) => {
|
|
|
4580
4613
|
expandGridForPaste(e, t, n) {
|
|
4581
4614
|
let r = this.grid.getRowCount(e), i = this.grid.getColumnCount(e);
|
|
4582
4615
|
Array.from({ length: Math.max(0, t - r) }).forEach(() => {
|
|
4583
|
-
this.grid.addRow(e), this.model.addRow(),
|
|
4616
|
+
this.grid.addRow(e), this.model.addRow(), P(e, this.cellBlocks), F(this.gridElement, this.model.withHeadings), L(this.gridElement, this.model.withHeadingColumn);
|
|
4584
4617
|
}), Array.from({ length: Math.max(0, n - i) }).forEach(() => {
|
|
4585
4618
|
var t;
|
|
4586
|
-
let n = (t = this.model.colWidths) == null ?
|
|
4587
|
-
this.grid.addColumn(e, void 0, n, r), this.model.addColumn(void 0, r), this.model.setColWidths([...n, r]),
|
|
4619
|
+
let n = (t = this.model.colWidths) == null ? M(e) : t, r = this.model.initialColWidth === void 0 ? N(n) : Math.round(this.model.initialColWidth / 2 * 100) / 100;
|
|
4620
|
+
this.grid.addColumn(e, void 0, n, r), this.model.addColumn(void 0, r), this.model.setColWidths([...n, r]), P(e, this.cellBlocks), L(this.gridElement, this.model.withHeadingColumn);
|
|
4588
4621
|
});
|
|
4589
4622
|
}
|
|
4590
4623
|
pasteCellPayload(e, t) {
|
|
@@ -4592,7 +4625,7 @@ var xr = (e) => {
|
|
|
4592
4625
|
let t = this.cellBlocks.getBlockIdsFromCells([e]);
|
|
4593
4626
|
this.cellBlocks.deleteBlocks(t);
|
|
4594
4627
|
}
|
|
4595
|
-
let n = e.querySelector(`[${
|
|
4628
|
+
let n = e.querySelector(`[${j}]`);
|
|
4596
4629
|
if (n) {
|
|
4597
4630
|
if (t.blocks.length === 0) {
|
|
4598
4631
|
var r;
|
|
@@ -4615,7 +4648,7 @@ var xr = (e) => {
|
|
|
4615
4648
|
if (!t) return e;
|
|
4616
4649
|
let i = n();
|
|
4617
4650
|
return {
|
|
4618
|
-
text: i ?
|
|
4651
|
+
text: i ? pt(i.innerHTML) : e.text,
|
|
4619
4652
|
isOpen: r
|
|
4620
4653
|
};
|
|
4621
4654
|
}, ta = (e, t) => {
|
|
@@ -4657,7 +4690,7 @@ var xr = (e) => {
|
|
|
4657
4690
|
}
|
|
4658
4691
|
get placeholder() {
|
|
4659
4692
|
if (this._settings.placeholder) return this._settings.placeholder;
|
|
4660
|
-
let e = this.api.i18n.t(
|
|
4693
|
+
let e = this.api.i18n.t(Ge);
|
|
4661
4694
|
return e === "tools.toggle.placeholder" ? "Toggle" : e;
|
|
4662
4695
|
}
|
|
4663
4696
|
render() {
|
|
@@ -4669,10 +4702,10 @@ var xr = (e) => {
|
|
|
4669
4702
|
keydownHandler: this.readOnly ? null : this.handleKeyDown.bind(this),
|
|
4670
4703
|
onArrowClick: () => this.toggleOpen(),
|
|
4671
4704
|
onBodyPlaceholderClick: this.readOnly ? null : () => this.handleBodyPlaceholderClick(),
|
|
4672
|
-
bodyPlaceholderText: this.api.i18n.t(
|
|
4705
|
+
bodyPlaceholderText: this.api.i18n.t(Ye),
|
|
4673
4706
|
ariaLabels: {
|
|
4674
|
-
collapse: this.api.i18n.t(
|
|
4675
|
-
expand: this.api.i18n.t(
|
|
4707
|
+
collapse: this.api.i18n.t(it),
|
|
4708
|
+
expand: this.api.i18n.t(qe)
|
|
4676
4709
|
}
|
|
4677
4710
|
});
|
|
4678
4711
|
return this._element = e.wrapper, this._contentElement = e.contentElement, this._arrowElement = e.arrowElement, this._bodyPlaceholderElement = e.bodyPlaceholderElement, this._childContainerElement = e.childContainerElement, this._element;
|
|
@@ -4696,16 +4729,16 @@ var xr = (e) => {
|
|
|
4696
4729
|
onPaste(t) {
|
|
4697
4730
|
let n = t.detail;
|
|
4698
4731
|
if (!("data" in n)) return;
|
|
4699
|
-
let r = n.data, i = r.querySelector("summary"), a =
|
|
4732
|
+
let r = n.data, i = r.querySelector("summary"), a = $e(i === null ? r.innerHTML : i.innerHTML, e.sanitize.text);
|
|
4700
4733
|
this._data = { text: a };
|
|
4701
4734
|
let o = this.getContentElement();
|
|
4702
4735
|
o !== null && (o.innerHTML = a);
|
|
4703
4736
|
}
|
|
4704
4737
|
setData(e) {
|
|
4705
4738
|
let t = na(this._data, e, this.getContentElement.bind(this));
|
|
4706
|
-
return this._data = t.newData, typeof this._data.isOpen == "boolean" && (this._isOpen = this._data.isOpen), this._arrowElement && this._element &&
|
|
4707
|
-
collapse: this.api.i18n.t(
|
|
4708
|
-
expand: this.api.i18n.t(
|
|
4739
|
+
return this._data = t.newData, typeof this._data.isOpen == "boolean" && (this._isOpen = this._data.isOpen), this._arrowElement && this._element && E(this._arrowElement, this._element, this._isOpen, {
|
|
4740
|
+
collapse: this.api.i18n.t(it),
|
|
4741
|
+
expand: this.api.i18n.t(qe)
|
|
4709
4742
|
}), this.updateChildrenVisibility(), this.updateBodyPlaceholderVisibility(), t.inPlace;
|
|
4710
4743
|
}
|
|
4711
4744
|
renderSettings() {
|
|
@@ -4727,9 +4760,9 @@ var xr = (e) => {
|
|
|
4727
4760
|
return this._contentElement;
|
|
4728
4761
|
}
|
|
4729
4762
|
setOpenState(e) {
|
|
4730
|
-
this._isOpen = e, this._arrowElement && this._element &&
|
|
4731
|
-
collapse: this.api.i18n.t(
|
|
4732
|
-
expand: this.api.i18n.t(
|
|
4763
|
+
this._isOpen = e, this._arrowElement && this._element && E(this._arrowElement, this._element, this._isOpen, {
|
|
4764
|
+
collapse: this.api.i18n.t(it),
|
|
4765
|
+
expand: this.api.i18n.t(qe)
|
|
4733
4766
|
}), this.updateChildrenVisibility(), this.updateBodyPlaceholderVisibility();
|
|
4734
4767
|
}
|
|
4735
4768
|
toggleOpen() {
|
|
@@ -4786,16 +4819,22 @@ var xr = (e) => {
|
|
|
4786
4819
|
}
|
|
4787
4820
|
static get toolbox() {
|
|
4788
4821
|
return {
|
|
4789
|
-
icon:
|
|
4822
|
+
icon: ut,
|
|
4790
4823
|
title: "Toggle list",
|
|
4791
4824
|
titleKey: "toggleList",
|
|
4792
|
-
name:
|
|
4825
|
+
name: Ze,
|
|
4793
4826
|
searchTerms: [
|
|
4794
4827
|
"toggle",
|
|
4795
4828
|
"collapse",
|
|
4796
4829
|
"expand",
|
|
4797
4830
|
"accordion"
|
|
4798
4831
|
],
|
|
4832
|
+
searchTermKeys: [
|
|
4833
|
+
"toggle",
|
|
4834
|
+
"collapse",
|
|
4835
|
+
"expand",
|
|
4836
|
+
"accordion"
|
|
4837
|
+
],
|
|
4799
4838
|
shortcut: ">"
|
|
4800
4839
|
};
|
|
4801
4840
|
}
|
|
@@ -5024,15 +5063,15 @@ var Ra = {
|
|
|
5024
5063
|
symbols: ba,
|
|
5025
5064
|
flags: xa
|
|
5026
5065
|
}, za = [
|
|
5027
|
-
["callout",
|
|
5028
|
-
["people",
|
|
5029
|
-
["nature",
|
|
5030
|
-
["foods",
|
|
5031
|
-
["activity",
|
|
5032
|
-
["places",
|
|
5033
|
-
["objects",
|
|
5034
|
-
["symbols",
|
|
5035
|
-
["flags",
|
|
5066
|
+
["callout", r],
|
|
5067
|
+
["people", pe],
|
|
5068
|
+
["nature", ft],
|
|
5069
|
+
["foods", _e],
|
|
5070
|
+
["activity", oe],
|
|
5071
|
+
["places", u],
|
|
5072
|
+
["objects", ne],
|
|
5073
|
+
["symbols", h],
|
|
5074
|
+
["flags", ue]
|
|
5036
5075
|
], Ba = [
|
|
5037
5076
|
"✋",
|
|
5038
5077
|
"✋🏻",
|
|
@@ -5040,7 +5079,23 @@ var Ra = {
|
|
|
5040
5079
|
"✋🏽",
|
|
5041
5080
|
"✋🏾",
|
|
5042
5081
|
"✋🏿"
|
|
5043
|
-
], Va = "
|
|
5082
|
+
], Va = "blok-emoji-skin-tone";
|
|
5083
|
+
function Ha() {
|
|
5084
|
+
try {
|
|
5085
|
+
let e = localStorage.getItem(Va);
|
|
5086
|
+
if (e === null) return 0;
|
|
5087
|
+
let t = parseInt(e, 10);
|
|
5088
|
+
return t >= 0 && t <= 5 ? t : 0;
|
|
5089
|
+
} catch (e) {
|
|
5090
|
+
return 0;
|
|
5091
|
+
}
|
|
5092
|
+
}
|
|
5093
|
+
function Ua(e) {
|
|
5094
|
+
try {
|
|
5095
|
+
localStorage.setItem(Va, String(e));
|
|
5096
|
+
} catch (e) {}
|
|
5097
|
+
}
|
|
5098
|
+
var Wa = "<svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\"><rect x=\"1.5\" y=\"1.5\" width=\"11\" height=\"11\" rx=\"2\" stroke=\"currentColor\" stroke-width=\"1.2\"/><circle cx=\"4.5\" cy=\"4.5\" r=\".9\" fill=\"currentColor\"/><circle cx=\"7\" cy=\"7\" r=\".9\" fill=\"currentColor\"/><circle cx=\"9.5\" cy=\"9.5\" r=\".9\" fill=\"currentColor\"/></svg>", Ga = class {
|
|
5044
5099
|
constructor(e) {
|
|
5045
5100
|
this._localeData = null, this._open = !1, this._allEmojis = [], this._skinTone = 0, this._showingEmptyState = !1, this._anchorEl = null, this._backdrop = null, this._savedOverflow = "", this._navButtons = /* @__PURE__ */ new Map(), this._sectionEls = /* @__PURE__ */ new Map(), this._activeNavId = "", this._navRafId = 0, this._skinToneButtons = [], this.onSelect = e.onSelect, this.onRemove = e.onRemove, this.i18n = e.i18n, this._locale = e.locale, this._element = this.buildElement();
|
|
5046
5101
|
let t = this._element.querySelector("[data-emoji-picker-body]"), n = this._element.querySelector("[data-emoji-picker-nav]"), r = this._element.querySelector("input[type=\"text\"]");
|
|
@@ -5057,7 +5112,13 @@ var Ra = {
|
|
|
5057
5112
|
}
|
|
5058
5113
|
async open(e) {
|
|
5059
5114
|
var t = this;
|
|
5060
|
-
|
|
5115
|
+
t._anchorEl = e, t._open = !0, t._filterInput.value = "", t._element.setAttribute("data-theme", t.resolveTheme());
|
|
5116
|
+
let n = Ha();
|
|
5117
|
+
if (n !== t._skinTone) {
|
|
5118
|
+
t._skinTone = n, t._skinToneToggle.textContent = Ba[n];
|
|
5119
|
+
for (let [e, r] of t._skinToneButtons.entries()) t.applySkinToneActiveStyle(r, e === n);
|
|
5120
|
+
}
|
|
5121
|
+
if (t._allEmojis.length === 0 && (t._allEmojis = await Ma()), t._locale !== "en" && t._localeData === null) {
|
|
5061
5122
|
let e = await La(t._locale);
|
|
5062
5123
|
e !== null && (t._localeData = e);
|
|
5063
5124
|
}
|
|
@@ -5079,7 +5140,7 @@ var Ra = {
|
|
|
5079
5140
|
let n = document.createElement("div");
|
|
5080
5141
|
n.className = "relative flex-1 min-w-0";
|
|
5081
5142
|
let r = document.createElement("span");
|
|
5082
|
-
r.className = ["pointer-events-none absolute left-2.5 top-1/2 -translate-y-1/2 flex items-center", "text-neutral-400 theme-dark:text-neutral-500 [&>svg]:w-[16px] [&>svg]:h-[16px]"].join(" "), r.innerHTML =
|
|
5143
|
+
r.className = ["pointer-events-none absolute left-2.5 top-1/2 -translate-y-1/2 flex items-center", "text-neutral-400 theme-dark:text-neutral-500 [&>svg]:w-[16px] [&>svg]:h-[16px]"].join(" "), r.innerHTML = Ke;
|
|
5083
5144
|
let i = document.createElement("input");
|
|
5084
5145
|
i.type = "text", i.placeholder = this.i18n.t(la), i.className = [
|
|
5085
5146
|
"w-full text-[13px] rounded-lg py-[7px] pl-8 pr-3 outline-hidden",
|
|
@@ -5103,7 +5164,7 @@ var Ra = {
|
|
|
5103
5164
|
"text-neutral-400 hover:bg-neutral-100 hover:text-neutral-600",
|
|
5104
5165
|
"theme-dark:hover:bg-neutral-800 theme-dark:hover:text-neutral-300",
|
|
5105
5166
|
"transition-colors duration-100 cursor-pointer"
|
|
5106
|
-
].join(" "), s.innerHTML =
|
|
5167
|
+
].join(" "), s.innerHTML = Wa, s.addEventListener("click", () => this.pickRandom()), p(s, this.i18n.t(fa), { placement: "bottom" });
|
|
5107
5168
|
let c = document.createElement("button");
|
|
5108
5169
|
c.type = "button", c.setAttribute("data-emoji-picker-remove", ""), c.setAttribute("aria-label", this.i18n.t(ca)), c.className = [
|
|
5109
5170
|
"flex-shrink-0 w-[34px] h-[34px] flex items-center justify-center rounded-lg",
|
|
@@ -5112,7 +5173,7 @@ var Ra = {
|
|
|
5112
5173
|
"transition-colors duration-100 cursor-pointer"
|
|
5113
5174
|
].join(" "), c.innerHTML = "<svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\"><path d=\"M3.5 3.5l7 7M10.5 3.5l-7 7\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"/></svg>", c.addEventListener("click", () => {
|
|
5114
5175
|
this.onRemove(), this.close();
|
|
5115
|
-
}),
|
|
5176
|
+
}), p(c, this.i18n.t(ca), { placement: "bottom" });
|
|
5116
5177
|
let l = document.createElement("div");
|
|
5117
5178
|
l.className = "flex items-center gap-1", l.appendChild(s), l.appendChild(c), t.appendChild(n), t.appendChild(a), t.appendChild(l), e.appendChild(t);
|
|
5118
5179
|
let u = document.createElement("div");
|
|
@@ -5173,7 +5234,7 @@ var Ra = {
|
|
|
5173
5234
|
e ? this._skinToneToggle.classList.add(...t) : this._skinToneToggle.classList.remove(...t);
|
|
5174
5235
|
}
|
|
5175
5236
|
setSkinTone(e) {
|
|
5176
|
-
this._skinTone = e, this._skinToneToggle.textContent = Ba[e];
|
|
5237
|
+
this._skinTone = e, Ua(e), this._skinToneToggle.textContent = Ba[e];
|
|
5177
5238
|
for (let [t, n] of this._skinToneButtons.entries()) this.applySkinToneActiveStyle(n, t === e);
|
|
5178
5239
|
let t = Array.from(this._body.querySelectorAll("[data-emoji-native]"));
|
|
5179
5240
|
for (let e of t) {
|
|
@@ -5266,7 +5327,7 @@ var Ra = {
|
|
|
5266
5327
|
"animate-[blok-emoji-empty-in_300ms_ease-out_both]"
|
|
5267
5328
|
].join(" ");
|
|
5268
5329
|
let t = document.createElement("span");
|
|
5269
|
-
t.className = "mb-3 opacity-20 [&>svg]:w-9 [&>svg]:h-9", t.innerHTML =
|
|
5330
|
+
t.className = "mb-3 opacity-20 [&>svg]:w-9 [&>svg]:h-9", t.innerHTML = Ke;
|
|
5270
5331
|
let n = document.createElement("span");
|
|
5271
5332
|
n.className = "text-[13px] font-medium", n.textContent = this.i18n.t(da), e.appendChild(t), e.appendChild(n), this._body.appendChild(e);
|
|
5272
5333
|
}
|
|
@@ -5299,7 +5360,7 @@ var Ra = {
|
|
|
5299
5360
|
"transition-transform duration-75"
|
|
5300
5361
|
].join(" "), e.addEventListener("click", () => {
|
|
5301
5362
|
this.onSelect(this.getSkinnedNative(n)), this.close();
|
|
5302
|
-
}),
|
|
5363
|
+
}), p(e, this.getDisplayName(n), { placement: "bottom" }), t.appendChild(e);
|
|
5303
5364
|
}
|
|
5304
5365
|
return t;
|
|
5305
5366
|
}
|
|
@@ -5326,10 +5387,10 @@ var Ra = {
|
|
|
5326
5387
|
};
|
|
5327
5388
|
//#endregion
|
|
5328
5389
|
//#region src/tools/callout/index.ts
|
|
5329
|
-
function
|
|
5390
|
+
function Ka(e) {
|
|
5330
5391
|
return e.isEmojiVisible === !1 ? "" : typeof e.emoji == "string" && e.emoji.length > 0 ? e.emoji : Sa;
|
|
5331
5392
|
}
|
|
5332
|
-
var
|
|
5393
|
+
var qa = {
|
|
5333
5394
|
general: null,
|
|
5334
5395
|
note: "blue",
|
|
5335
5396
|
important: "purple",
|
|
@@ -5337,7 +5398,7 @@ var Wa = {
|
|
|
5337
5398
|
additional: "yellow",
|
|
5338
5399
|
recommendation: "green",
|
|
5339
5400
|
caution: "red"
|
|
5340
|
-
},
|
|
5401
|
+
}, Ja = class {
|
|
5341
5402
|
constructor({ data: e, api: t, readOnly: n, block: r }) {
|
|
5342
5403
|
this._dom = null, this._emojiPicker = null, this._colorPicker = null, this.api = t, this.readOnly = n, this._data = this.normalizeData(e), r && (this.blockId = r.id);
|
|
5343
5404
|
}
|
|
@@ -5350,9 +5411,9 @@ var Wa = {
|
|
|
5350
5411
|
};
|
|
5351
5412
|
}
|
|
5352
5413
|
normalizeLegacyData(e) {
|
|
5353
|
-
let t = typeof e.variant == "string" ? e.variant : "general", n = t in
|
|
5414
|
+
let t = typeof e.variant == "string" ? e.variant : "general", n = t in qa ? qa[t] : null;
|
|
5354
5415
|
return {
|
|
5355
|
-
emoji:
|
|
5416
|
+
emoji: Ka(e),
|
|
5356
5417
|
textColor: null,
|
|
5357
5418
|
backgroundColor: n == null ? null : n
|
|
5358
5419
|
};
|
|
@@ -5406,24 +5467,24 @@ var Wa = {
|
|
|
5406
5467
|
presetField: "bg"
|
|
5407
5468
|
}],
|
|
5408
5469
|
onColorSelect: (t, n) => {
|
|
5409
|
-
let r = t === null ? null :
|
|
5470
|
+
let r = t === null ? null : se(t, n === "color" ? "text" : "bg");
|
|
5410
5471
|
n === "color" ? this._data.textColor = r : this._data.backgroundColor = r, e.setActiveColor(t, n), this.applyColors();
|
|
5411
5472
|
}
|
|
5412
5473
|
});
|
|
5413
5474
|
this._colorPicker = e;
|
|
5414
5475
|
}
|
|
5415
5476
|
return this.syncPickerActiveColors(), [{
|
|
5416
|
-
icon:
|
|
5477
|
+
icon: pe,
|
|
5417
5478
|
title: this.api.i18n.t(oa),
|
|
5418
5479
|
name: "callout-edit-icon",
|
|
5419
5480
|
closeOnActivate: !0,
|
|
5420
5481
|
onActivate: () => this.openEmojiPicker()
|
|
5421
5482
|
}, {
|
|
5422
|
-
icon:
|
|
5483
|
+
icon: st,
|
|
5423
5484
|
title: this.api.i18n.t(aa),
|
|
5424
5485
|
name: "callout-color",
|
|
5425
5486
|
children: { items: [{
|
|
5426
|
-
type:
|
|
5487
|
+
type: v.Html,
|
|
5427
5488
|
element: this._colorPicker.element
|
|
5428
5489
|
}] }
|
|
5429
5490
|
}];
|
|
@@ -5432,13 +5493,13 @@ var Wa = {
|
|
|
5432
5493
|
syncPickerActiveColors() {
|
|
5433
5494
|
if (this._colorPicker === null) return;
|
|
5434
5495
|
let e = this._data.textColor, t = this._data.backgroundColor;
|
|
5435
|
-
this._colorPicker.setActiveColor(e === null ? null :
|
|
5496
|
+
this._colorPicker.setActiveColor(e === null ? null : re(e, "text"), "color"), this._colorPicker.setActiveColor(t === null ? null : re(t, "bg"), "background-color");
|
|
5436
5497
|
}
|
|
5437
5498
|
applyColors() {
|
|
5438
5499
|
if (this._dom === null) return;
|
|
5439
5500
|
let { textColor: e, backgroundColor: t } = this._data;
|
|
5440
|
-
if (e === null ? this._dom.wrapper.style.color = "" : this._dom.wrapper.style.color =
|
|
5441
|
-
let e =
|
|
5501
|
+
if (e === null ? this._dom.wrapper.style.color = "" : this._dom.wrapper.style.color = re(e, "text"), t !== null) {
|
|
5502
|
+
let e = re(t, "bg");
|
|
5442
5503
|
this._dom.wrapper.style.backgroundColor = e, this._dom.wrapper.style.border = "", this._dom.wrapper.style.setProperty("--blok-search-input-bg", `light-dark(color-mix(in srgb, ${e} 70%, white), color-mix(in srgb, ${e} 85%, white))`);
|
|
5443
5504
|
} else this._dom.wrapper.style.backgroundColor = "", this._dom.wrapper.style.border = "1px solid var(--blok-callout-default-border, #e5e7eb)", this._dom.wrapper.style.removeProperty("--blok-search-input-bg"), this._dom.wrapper.style.removeProperty("--blok-search-input-border");
|
|
5444
5505
|
}
|
|
@@ -5457,7 +5518,7 @@ var Wa = {
|
|
|
5457
5518
|
});
|
|
5458
5519
|
}
|
|
5459
5520
|
openEmojiPicker() {
|
|
5460
|
-
this._dom !== null && (this._emojiPicker === null && (this._emojiPicker = new
|
|
5521
|
+
this._dom !== null && (this._emojiPicker === null && (this._emojiPicker = new Ga({
|
|
5461
5522
|
onSelect: (e) => this.setEmoji(e),
|
|
5462
5523
|
onRemove: () => this.setEmoji(""),
|
|
5463
5524
|
i18n: this.api.i18n,
|
|
@@ -5469,7 +5530,7 @@ var Wa = {
|
|
|
5469
5530
|
}
|
|
5470
5531
|
static get toolbox() {
|
|
5471
5532
|
return {
|
|
5472
|
-
icon:
|
|
5533
|
+
icon: ce,
|
|
5473
5534
|
title: "Callout",
|
|
5474
5535
|
titleKey: "callout",
|
|
5475
5536
|
name: ia,
|
|
@@ -5480,6 +5541,14 @@ var Wa = {
|
|
|
5480
5541
|
"warning",
|
|
5481
5542
|
"tip",
|
|
5482
5543
|
"alert"
|
|
5544
|
+
],
|
|
5545
|
+
searchTermKeys: [
|
|
5546
|
+
"callout",
|
|
5547
|
+
"note",
|
|
5548
|
+
"info",
|
|
5549
|
+
"warning",
|
|
5550
|
+
"tip",
|
|
5551
|
+
"alert"
|
|
5483
5552
|
]
|
|
5484
5553
|
};
|
|
5485
5554
|
}
|
|
@@ -5500,7 +5569,7 @@ var Wa = {
|
|
|
5500
5569
|
static get isReadOnlySupported() {
|
|
5501
5570
|
return !0;
|
|
5502
5571
|
}
|
|
5503
|
-
},
|
|
5572
|
+
}, Ya = class {
|
|
5504
5573
|
constructor(e) {
|
|
5505
5574
|
this.element = null;
|
|
5506
5575
|
}
|
|
@@ -5518,7 +5587,7 @@ var Wa = {
|
|
|
5518
5587
|
}
|
|
5519
5588
|
static get toolbox() {
|
|
5520
5589
|
return {
|
|
5521
|
-
icon:
|
|
5590
|
+
icon: ie,
|
|
5522
5591
|
titleKey: "divider",
|
|
5523
5592
|
shortcut: "---",
|
|
5524
5593
|
searchTerms: [
|
|
@@ -5526,7 +5595,16 @@ var Wa = {
|
|
|
5526
5595
|
"line",
|
|
5527
5596
|
"separator",
|
|
5528
5597
|
"rule",
|
|
5529
|
-
"---"
|
|
5598
|
+
"---",
|
|
5599
|
+
"divider",
|
|
5600
|
+
"delimiter",
|
|
5601
|
+
"splitter"
|
|
5602
|
+
],
|
|
5603
|
+
searchTermKeys: [
|
|
5604
|
+
"divider",
|
|
5605
|
+
"separator",
|
|
5606
|
+
"delimiter",
|
|
5607
|
+
"splitter"
|
|
5530
5608
|
]
|
|
5531
5609
|
};
|
|
5532
5610
|
}
|
|
@@ -5539,36 +5617,146 @@ var Wa = {
|
|
|
5539
5617
|
static get sanitize() {
|
|
5540
5618
|
return {};
|
|
5541
5619
|
}
|
|
5542
|
-
},
|
|
5620
|
+
}, Xa = "tools.quote.placeholder", Za = [
|
|
5621
|
+
"border-l-[3px]",
|
|
5622
|
+
"border-current",
|
|
5623
|
+
"pl-[0.9em]",
|
|
5624
|
+
"pr-[0.9em]",
|
|
5625
|
+
"py-[0.2em]",
|
|
5626
|
+
"leading-[1.5]",
|
|
5627
|
+
"outline-hidden",
|
|
5628
|
+
"mt-[0.3em]",
|
|
5629
|
+
"mb-[0.3em]"
|
|
5630
|
+
], Qa = "text-[1.2em]", $a = class {
|
|
5631
|
+
constructor({ data: e, api: t, readOnly: n }) {
|
|
5632
|
+
var r, i;
|
|
5633
|
+
this._element = null, this.api = t, this.readOnly = n, this._data = {
|
|
5634
|
+
text: (r = e == null ? void 0 : e.text) == null ? "" : r,
|
|
5635
|
+
size: (i = e == null ? void 0 : e.size) == null ? "default" : i
|
|
5636
|
+
}, this.readOnly || (this.onKeyUp = this.onKeyUp.bind(this));
|
|
5637
|
+
}
|
|
5638
|
+
onKeyUp(e) {
|
|
5639
|
+
e.code !== "Backspace" && e.code !== "Delete" || this._element && this._element.textContent === "" && (this._element.innerHTML = "");
|
|
5640
|
+
}
|
|
5641
|
+
render() {
|
|
5642
|
+
let e = document.createElement("blockquote");
|
|
5643
|
+
return e.className = C(this.api.styles.block, Za, ht, this._data.size === "large" ? Qa : ""), e.setAttribute(_.tool, "quote"), e.contentEditable = "false", this._data.text ? e.innerHTML = this._data.text : this.readOnly && (e.innerHTML = "<br>"), this.readOnly || (e.contentEditable = "true", e.addEventListener("keyup", this.onKeyUp), T(e, this.api.i18n.t(Xa), "data-blok-placeholder-active")), this._element = e, e;
|
|
5644
|
+
}
|
|
5645
|
+
save(e) {
|
|
5646
|
+
return {
|
|
5647
|
+
text: pt(e.innerHTML),
|
|
5648
|
+
size: this._data.size
|
|
5649
|
+
};
|
|
5650
|
+
}
|
|
5651
|
+
validate(e) {
|
|
5652
|
+
return e.text.trim() !== "";
|
|
5653
|
+
}
|
|
5654
|
+
merge(e) {
|
|
5655
|
+
if (!this._element) return;
|
|
5656
|
+
this._data.text += e.text;
|
|
5657
|
+
let t = document.createElement("div");
|
|
5658
|
+
t.innerHTML = e.text.trim();
|
|
5659
|
+
let n = document.createDocumentFragment();
|
|
5660
|
+
n.append(...Array.from(t.childNodes)), this._element.appendChild(n), this._element.normalize();
|
|
5661
|
+
}
|
|
5662
|
+
renderSettings() {
|
|
5663
|
+
return [{
|
|
5664
|
+
icon: Pe,
|
|
5665
|
+
title: this.api.i18n.t("tools.quote.size"),
|
|
5666
|
+
name: "quote-size",
|
|
5667
|
+
children: { items: [{
|
|
5668
|
+
icon: Pe,
|
|
5669
|
+
title: this.api.i18n.t("tools.quote.defaultSize"),
|
|
5670
|
+
onActivate: () => this.setSize("default"),
|
|
5671
|
+
closeOnActivate: !0,
|
|
5672
|
+
isActive: this._data.size === "default"
|
|
5673
|
+
}, {
|
|
5674
|
+
icon: Pe,
|
|
5675
|
+
title: this.api.i18n.t("tools.quote.largeSize"),
|
|
5676
|
+
onActivate: () => this.setSize("large"),
|
|
5677
|
+
closeOnActivate: !0,
|
|
5678
|
+
isActive: this._data.size === "large"
|
|
5679
|
+
}] }
|
|
5680
|
+
}];
|
|
5681
|
+
}
|
|
5682
|
+
setSize(e) {
|
|
5683
|
+
this._data.size = e, this._element && (this._element.className = C(this.api.styles.block, Za, ht, e === "large" ? Qa : ""));
|
|
5684
|
+
}
|
|
5685
|
+
onPaste(e) {
|
|
5686
|
+
let t = e.detail;
|
|
5687
|
+
"data" in t && (this._data = {
|
|
5688
|
+
text: t.data.innerHTML,
|
|
5689
|
+
size: this._data.size
|
|
5690
|
+
}, this._element && (this._element.innerHTML = this._data.text || ""));
|
|
5691
|
+
}
|
|
5692
|
+
static get toolbox() {
|
|
5693
|
+
return {
|
|
5694
|
+
icon: Pe,
|
|
5695
|
+
title: "Quote",
|
|
5696
|
+
titleKey: "quote",
|
|
5697
|
+
searchTerms: [
|
|
5698
|
+
"quote",
|
|
5699
|
+
"blockquote",
|
|
5700
|
+
"citation"
|
|
5701
|
+
],
|
|
5702
|
+
searchTermKeys: [
|
|
5703
|
+
"quote",
|
|
5704
|
+
"blockquote",
|
|
5705
|
+
"citation"
|
|
5706
|
+
]
|
|
5707
|
+
};
|
|
5708
|
+
}
|
|
5709
|
+
static get conversionConfig() {
|
|
5710
|
+
return {
|
|
5711
|
+
export: "text",
|
|
5712
|
+
import: "text"
|
|
5713
|
+
};
|
|
5714
|
+
}
|
|
5715
|
+
static get sanitize() {
|
|
5716
|
+
return { text: {
|
|
5717
|
+
br: !0,
|
|
5718
|
+
b: !0,
|
|
5719
|
+
i: !0,
|
|
5720
|
+
a: !0,
|
|
5721
|
+
mark: { style: !0 }
|
|
5722
|
+
} };
|
|
5723
|
+
}
|
|
5724
|
+
static get isReadOnlySupported() {
|
|
5725
|
+
return !0;
|
|
5726
|
+
}
|
|
5727
|
+
static get pasteConfig() {
|
|
5728
|
+
return { tags: ["BLOCKQUOTE"] };
|
|
5729
|
+
}
|
|
5730
|
+
}, R = (e) => {
|
|
5543
5731
|
let t = e.tagName;
|
|
5544
5732
|
return t === "B" || t === "STRONG";
|
|
5545
|
-
},
|
|
5733
|
+
}, eo = (e) => !!(e && e.nodeType === Node.ELEMENT_NODE && R(e)), to = (e) => e.textContent.length === 0, z = (e) => e ? e.nodeType === Node.ELEMENT_NODE && R(e) ? B(e) : z(e.parentNode) : null, B = (e) => {
|
|
5546
5734
|
if (e.tagName === "STRONG") return e;
|
|
5547
5735
|
let t = document.createElement("strong");
|
|
5548
5736
|
for (e.hasAttributes() && Array.from(e.attributes).forEach((e) => {
|
|
5549
5737
|
t.setAttribute(e.name, e.value);
|
|
5550
5738
|
}); e.firstChild;) t.appendChild(e.firstChild);
|
|
5551
5739
|
return e.replaceWith(t), t;
|
|
5552
|
-
},
|
|
5740
|
+
}, no = (e) => {
|
|
5553
5741
|
let t = e.nextSibling;
|
|
5554
5742
|
if ((t == null ? void 0 : t.nodeType) === Node.TEXT_NODE) return t;
|
|
5555
5743
|
let n = e.parentNode;
|
|
5556
5744
|
if (!n) return null;
|
|
5557
5745
|
let r = e.ownerDocument.createTextNode("");
|
|
5558
5746
|
return n.insertBefore(r, t), r;
|
|
5559
|
-
},
|
|
5747
|
+
}, ro = (e) => {
|
|
5560
5748
|
if (!e.boldElement.isConnected) return null;
|
|
5561
|
-
let t =
|
|
5749
|
+
let t = B(e.boldElement), n = e.boundary, r = n.isConnected && n.previousSibling === t ? n : no(t);
|
|
5562
5750
|
return r ? {
|
|
5563
5751
|
boundary: r,
|
|
5564
5752
|
boldElement: t
|
|
5565
5753
|
} : null;
|
|
5566
|
-
},
|
|
5754
|
+
}, io = (e, t) => e ? e === t || t.contains(e) : !1, ao, V = {
|
|
5567
5755
|
COLLAPSED_LENGTH: "data-blok-bold-collapsed-length",
|
|
5568
5756
|
COLLAPSED_ACTIVE: "data-blok-bold-collapsed-active",
|
|
5569
5757
|
PREV_LENGTH: "data-blok-bold-prev-length",
|
|
5570
5758
|
LEADING_WHITESPACE: "data-blok-bold-leading-ws"
|
|
5571
|
-
},
|
|
5759
|
+
}, H = class e {
|
|
5572
5760
|
constructor() {
|
|
5573
5761
|
this.records = /* @__PURE__ */ new Set();
|
|
5574
5762
|
}
|
|
@@ -5582,15 +5770,15 @@ var Wa = {
|
|
|
5582
5770
|
return this.records.size > 0;
|
|
5583
5771
|
}
|
|
5584
5772
|
isActivePlaceholder(e) {
|
|
5585
|
-
return e.getAttribute(
|
|
5773
|
+
return e.getAttribute(V.COLLAPSED_ACTIVE) === "true" || e.hasAttribute(V.COLLAPSED_LENGTH);
|
|
5586
5774
|
}
|
|
5587
5775
|
static get ATTR() {
|
|
5588
|
-
return
|
|
5776
|
+
return V;
|
|
5589
5777
|
}
|
|
5590
5778
|
enter(e, t) {
|
|
5591
5779
|
if (!e.collapsed) return;
|
|
5592
5780
|
let n = document.createElement("strong"), r = document.createTextNode("");
|
|
5593
|
-
n.appendChild(r), n.setAttribute(
|
|
5781
|
+
n.appendChild(r), n.setAttribute(V.COLLAPSED_ACTIVE, "true");
|
|
5594
5782
|
let i = e.startContainer, a = e.startOffset;
|
|
5595
5783
|
if (!(i.nodeType === Node.TEXT_NODE ? this.insertCollapsedBoldIntoText(i, n, a) : i.nodeType === Node.ELEMENT_NODE && (this.insertCollapsedBoldIntoElement(i, n, a), !0))) return;
|
|
5596
5784
|
let o = document.createRange();
|
|
@@ -5607,23 +5795,23 @@ var Wa = {
|
|
|
5607
5795
|
let i = e.textContent, a = i.slice(0, n), o = i.slice(n);
|
|
5608
5796
|
e.textContent = a;
|
|
5609
5797
|
let s = o.length ? document.createTextNode(o) : null;
|
|
5610
|
-
return s && r.insertBefore(s, e.nextSibling), r.insertBefore(t, s == null ? e.nextSibling : s), t.setAttribute(
|
|
5798
|
+
return s && r.insertBefore(s, e.nextSibling), r.insertBefore(t, s == null ? e.nextSibling : s), t.setAttribute(V.PREV_LENGTH, a.length.toString()), !0;
|
|
5611
5799
|
}
|
|
5612
5800
|
insertCollapsedBoldIntoElement(e, t, n) {
|
|
5613
5801
|
var r;
|
|
5614
5802
|
let i = (r = e.childNodes[n]) == null ? null : r;
|
|
5615
|
-
e.insertBefore(t, i), t.setAttribute(
|
|
5803
|
+
e.insertBefore(t, i), t.setAttribute(V.PREV_LENGTH, "0");
|
|
5616
5804
|
}
|
|
5617
5805
|
exit(e, t) {
|
|
5618
|
-
let n =
|
|
5619
|
-
if (r) return
|
|
5806
|
+
let n = B(t), r = n.parentNode;
|
|
5807
|
+
if (r) return to(n) ? this.removeEmptyBoldElement(e, n, r) : this.exitBoldWithContent(e, n, r);
|
|
5620
5808
|
}
|
|
5621
5809
|
removeEmptyBoldElement(e, t, n) {
|
|
5622
5810
|
let r = document.createRange();
|
|
5623
5811
|
return r.setStartBefore(t), r.collapse(!0), n.removeChild(t), e.removeAllRanges(), e.addRange(r), r;
|
|
5624
5812
|
}
|
|
5625
5813
|
exitBoldWithContent(e, t, n) {
|
|
5626
|
-
t.setAttribute(
|
|
5814
|
+
t.setAttribute(V.COLLAPSED_LENGTH, t.textContent.length.toString()), t.removeAttribute(V.PREV_LENGTH), t.removeAttribute(V.COLLAPSED_ACTIVE), t.removeAttribute(V.LEADING_WHITESPACE);
|
|
5627
5815
|
let r = t.nextSibling, i = !r || r.nodeType !== Node.TEXT_NODE, a = i ? document.createTextNode("") : null;
|
|
5628
5816
|
a && n.insertBefore(a, r);
|
|
5629
5817
|
let o = a == null ? r : a;
|
|
@@ -5640,7 +5828,7 @@ var Wa = {
|
|
|
5640
5828
|
}
|
|
5641
5829
|
maintain() {
|
|
5642
5830
|
if (!(typeof document > "u")) for (let e of Array.from(this.records)) {
|
|
5643
|
-
let t =
|
|
5831
|
+
let t = ro(e);
|
|
5644
5832
|
if (!t) {
|
|
5645
5833
|
this.records.delete(e);
|
|
5646
5834
|
continue;
|
|
@@ -5673,12 +5861,12 @@ var Wa = {
|
|
|
5673
5861
|
}
|
|
5674
5862
|
synchronize(e) {
|
|
5675
5863
|
var t, n;
|
|
5676
|
-
let r = (t = e == null ? void 0 : e.anchorNode) == null ? e == null ? void 0 : e.focusNode : t, i = r && r.nodeType === Node.ELEMENT_NODE ? r : r == null ? void 0 : r.parentElement, a = (n = i == null ? void 0 : i.closest(_
|
|
5864
|
+
let r = (t = e == null ? void 0 : e.anchorNode) == null ? e == null ? void 0 : e.focusNode : t, i = r && r.nodeType === Node.ELEMENT_NODE ? r : r == null ? void 0 : r.parentElement, a = (n = i == null ? void 0 : i.closest(b(_.editor))) == null ? i == null ? void 0 : i.ownerDocument : n;
|
|
5677
5865
|
if (!a) return;
|
|
5678
|
-
let o = `strong[${
|
|
5866
|
+
let o = `strong[${V.COLLAPSED_ACTIVE}="true"]`;
|
|
5679
5867
|
a.querySelectorAll(o).forEach((t) => {
|
|
5680
5868
|
var n;
|
|
5681
|
-
let r = t.getAttribute(
|
|
5869
|
+
let r = t.getAttribute(V.PREV_LENGTH), i = t.previousSibling;
|
|
5682
5870
|
if (!r || !i || i.nodeType !== Node.TEXT_NODE) return;
|
|
5683
5871
|
let a = Number(r);
|
|
5684
5872
|
if (!Number.isFinite(a)) return;
|
|
@@ -5687,26 +5875,26 @@ var Wa = {
|
|
|
5687
5875
|
let c = s.slice(0, a), l = s.slice(a);
|
|
5688
5876
|
o.textContent = c;
|
|
5689
5877
|
let u = l.match(/^[\u00A0\s]+/);
|
|
5690
|
-
if (u && !t.hasAttribute(
|
|
5691
|
-
let d = t.textContent, f = d + l, p = (n = t.getAttribute(
|
|
5878
|
+
if (u && !t.hasAttribute(V.LEADING_WHITESPACE) && t.setAttribute(V.LEADING_WHITESPACE, u[0]), l.length === 0) return;
|
|
5879
|
+
let d = t.textContent, f = d + l, p = (n = t.getAttribute(V.LEADING_WHITESPACE)) == null ? "" : n, m = p.length > 0 && d.length === 0 && !f.startsWith(p) ? p + f : f, h = document.createTextNode(m);
|
|
5692
5880
|
for (; t.firstChild;) t.removeChild(t.firstChild);
|
|
5693
|
-
if (t.appendChild(h), !(e != null && e.isCollapsed) || !
|
|
5694
|
-
let g = document.createRange(),
|
|
5695
|
-
g.setStart(h,
|
|
5881
|
+
if (t.appendChild(h), !(e != null && e.isCollapsed) || !io(e.focusNode, o)) return;
|
|
5882
|
+
let g = document.createRange(), ee = h.textContent.length;
|
|
5883
|
+
g.setStart(h, ee), g.collapse(!0), e.removeAllRanges(), e.addRange(g);
|
|
5696
5884
|
});
|
|
5697
5885
|
}
|
|
5698
5886
|
enforceLengths(e) {
|
|
5699
5887
|
var t;
|
|
5700
5888
|
let n = (t = e == null ? void 0 : e.anchorNode) == null ? e == null ? void 0 : e.focusNode : t;
|
|
5701
5889
|
if (!n) return;
|
|
5702
|
-
let r = n.nodeType === Node.ELEMENT_NODE ? n : n.parentElement, i = r == null ? void 0 : r.closest(_
|
|
5703
|
-
i && i.querySelectorAll(`strong[${
|
|
5890
|
+
let r = n.nodeType === Node.ELEMENT_NODE ? n : n.parentElement, i = r == null ? void 0 : r.closest(b(_.editor));
|
|
5891
|
+
i && i.querySelectorAll(`strong[${V.COLLAPSED_LENGTH}]`).forEach((t) => {
|
|
5704
5892
|
var n;
|
|
5705
|
-
let r = t.getAttribute(
|
|
5893
|
+
let r = t.getAttribute(V.COLLAPSED_LENGTH);
|
|
5706
5894
|
if (!r) return;
|
|
5707
5895
|
let i = Number(r), a = t.textContent;
|
|
5708
5896
|
if (!Number.isFinite(i)) return;
|
|
5709
|
-
let o = a.length > i, s = o ? this.splitCollapsedBoldText(t, i, a) : null, c = t.getAttribute(
|
|
5897
|
+
let o = a.length > i, s = o ? this.splitCollapsedBoldText(t, i, a) : null, c = t.getAttribute(V.PREV_LENGTH), l = c ? Number(c) : NaN, u = t.previousSibling, d = (u == null ? void 0 : u.nodeType) === Node.TEXT_NODE ? u : null, f = (n = d == null ? void 0 : d.textContent) == null ? "" : n, p = !!(c && Number.isFinite(l) && d && f.length > l);
|
|
5710
5898
|
if (p && d) {
|
|
5711
5899
|
var m;
|
|
5712
5900
|
let e = f.slice(0, l), n = f.slice(l);
|
|
@@ -5714,11 +5902,11 @@ var Wa = {
|
|
|
5714
5902
|
let r = document.createTextNode(n);
|
|
5715
5903
|
(m = t.parentNode) == null || m.insertBefore(r, t.nextSibling);
|
|
5716
5904
|
}
|
|
5717
|
-
if (p && t.removeAttribute(
|
|
5905
|
+
if (p && t.removeAttribute(V.PREV_LENGTH), e != null && e.isCollapsed && s && io(e.focusNode, t)) {
|
|
5718
5906
|
let t = document.createRange(), n = s.textContent.length;
|
|
5719
5907
|
t.setStart(s, n), t.collapse(!0), e.removeAllRanges(), e.addRange(t);
|
|
5720
5908
|
}
|
|
5721
|
-
o && t.removeAttribute(
|
|
5909
|
+
o && t.removeAttribute(V.COLLAPSED_LENGTH);
|
|
5722
5910
|
});
|
|
5723
5911
|
}
|
|
5724
5912
|
splitCollapsedBoldText(e, t, n) {
|
|
@@ -5750,8 +5938,8 @@ var Wa = {
|
|
|
5750
5938
|
if (!e.rangeCount) return;
|
|
5751
5939
|
let t = e.getRangeAt(0);
|
|
5752
5940
|
if (!t.collapsed) return;
|
|
5753
|
-
let n =
|
|
5754
|
-
(n == null ? void 0 : n.getAttribute(
|
|
5941
|
+
let n = z(t.startContainer);
|
|
5942
|
+
(n == null ? void 0 : n.getAttribute(V.COLLAPSED_ACTIVE)) !== "true" && (this.moveCaretFromElementContainer(e, t) || this.moveCaretFromTextContainer(e, t));
|
|
5755
5943
|
}
|
|
5756
5944
|
moveCaretFromElementContainer(e, t) {
|
|
5757
5945
|
if (t.startContainer.nodeType !== Node.ELEMENT_NODE) return !1;
|
|
@@ -5781,7 +5969,7 @@ var Wa = {
|
|
|
5781
5969
|
this.setCaret(e, n, i.length);
|
|
5782
5970
|
return;
|
|
5783
5971
|
}
|
|
5784
|
-
let o =
|
|
5972
|
+
let o = z(n);
|
|
5785
5973
|
if (!o || t.startOffset !== n.textContent.length) return;
|
|
5786
5974
|
let s = this.ensureFollowingTextNode(o, o.nextSibling);
|
|
5787
5975
|
if (s) {
|
|
@@ -5808,18 +5996,18 @@ var Wa = {
|
|
|
5808
5996
|
return t.tagName === "STRONG" || t.tagName === "B";
|
|
5809
5997
|
}
|
|
5810
5998
|
};
|
|
5811
|
-
|
|
5999
|
+
ao = H, ao.instance = null;
|
|
5812
6000
|
//#endregion
|
|
5813
6001
|
//#region src/components/inline-tools/services/bold-normalization-pass.ts
|
|
5814
|
-
var
|
|
6002
|
+
var oo = {
|
|
5815
6003
|
convertLegacyTags: !0,
|
|
5816
6004
|
normalizeWhitespace: !0,
|
|
5817
6005
|
removeEmpty: !0,
|
|
5818
6006
|
mergeAdjacent: !0,
|
|
5819
6007
|
preserveNode: null
|
|
5820
|
-
},
|
|
6008
|
+
}, U = class e {
|
|
5821
6009
|
constructor(e) {
|
|
5822
|
-
this.options = S(S({},
|
|
6010
|
+
this.options = S(S({}, oo), e);
|
|
5823
6011
|
}
|
|
5824
6012
|
run(e) {
|
|
5825
6013
|
if (typeof document > "u") return;
|
|
@@ -5854,7 +6042,7 @@ var $a = {
|
|
|
5854
6042
|
processCollectedElements(e, t) {
|
|
5855
6043
|
this.options.convertLegacyTags && e.forEach((e) => {
|
|
5856
6044
|
if (e.isConnected) {
|
|
5857
|
-
let n =
|
|
6045
|
+
let n = B(e);
|
|
5858
6046
|
t.push(n);
|
|
5859
6047
|
}
|
|
5860
6048
|
}), t.forEach((e) => {
|
|
@@ -5872,19 +6060,19 @@ var $a = {
|
|
|
5872
6060
|
t.includes("\xA0") && (e.textContent = t.replace(/\u00A0/g, " "));
|
|
5873
6061
|
}
|
|
5874
6062
|
isEmptyAndSafe(e) {
|
|
5875
|
-
return e.textContent.length !== 0 ||
|
|
6063
|
+
return e.textContent.length !== 0 || H.getInstance().isActivePlaceholder(e) ? !1 : !(this.options.preserveNode && io(this.options.preserveNode, e));
|
|
5876
6064
|
}
|
|
5877
6065
|
mergeWithAdjacent(e) {
|
|
5878
6066
|
let t = e.previousSibling;
|
|
5879
|
-
if (t &&
|
|
6067
|
+
if (t && eo(t)) {
|
|
5880
6068
|
this.mergeStrongNodes(t, e);
|
|
5881
6069
|
return;
|
|
5882
6070
|
}
|
|
5883
6071
|
let n = e.nextSibling;
|
|
5884
|
-
n &&
|
|
6072
|
+
n && eo(n) && this.mergeStrongNodes(e, n);
|
|
5885
6073
|
}
|
|
5886
6074
|
mergeStrongNodes(e, t) {
|
|
5887
|
-
let n =
|
|
6075
|
+
let n = B(e), r = B(t);
|
|
5888
6076
|
for (; r.firstChild;) n.appendChild(r.firstChild);
|
|
5889
6077
|
r.remove();
|
|
5890
6078
|
}
|
|
@@ -5893,9 +6081,9 @@ var $a = {
|
|
|
5893
6081
|
let r = (t = e == null ? void 0 : e.anchorNode) == null ? e == null ? void 0 : e.focusNode : t;
|
|
5894
6082
|
if (!r) return null;
|
|
5895
6083
|
let i = r.nodeType === Node.ELEMENT_NODE ? r : r.parentElement;
|
|
5896
|
-
return i ? ((n = i.closest("[data-blok-component=\"paragraph\"]")) == null ? i.closest(_
|
|
6084
|
+
return i ? ((n = i.closest("[data-blok-component=\"paragraph\"]")) == null ? i.closest(b(_.elementContent)) : n) || i.closest(b(_.editor)) : null;
|
|
5897
6085
|
}
|
|
5898
|
-
},
|
|
6086
|
+
}, so, co = class e {
|
|
5899
6087
|
constructor() {
|
|
5900
6088
|
this.handlers = /* @__PURE__ */ new Map(), this.listenersRegistered = !1, this.handleSelectionChange = () => {
|
|
5901
6089
|
let e = this.getSelection();
|
|
@@ -5952,10 +6140,10 @@ var $a = {
|
|
|
5952
6140
|
return !(t.meta && !n || t.ctrl && !e.ctrlKey);
|
|
5953
6141
|
}
|
|
5954
6142
|
};
|
|
5955
|
-
|
|
6143
|
+
so = co, so.instance = null;
|
|
5956
6144
|
//#endregion
|
|
5957
6145
|
//#region src/components/inline-tools/utils/formatting-range-utils.ts
|
|
5958
|
-
var
|
|
6146
|
+
var lo = (e, t) => {
|
|
5959
6147
|
try {
|
|
5960
6148
|
return e.intersectsNode(t);
|
|
5961
6149
|
} catch (n) {
|
|
@@ -5964,26 +6152,26 @@ var no = (e, t) => {
|
|
|
5964
6152
|
let i = e.compareBoundaryPoints(Range.END_TO_START, r) > 0, a = e.compareBoundaryPoints(Range.START_TO_END, r) < 0;
|
|
5965
6153
|
return i && a;
|
|
5966
6154
|
}
|
|
5967
|
-
},
|
|
6155
|
+
}, uo = (e) => {
|
|
5968
6156
|
var t;
|
|
5969
6157
|
let n = e.commonAncestorContainer, r = n.nodeType === Node.TEXT_NODE ? (t = n.parentNode) == null ? n : t : n;
|
|
5970
|
-
return document.createTreeWalker(r, NodeFilter.SHOW_TEXT, { acceptNode: (t) =>
|
|
5971
|
-
},
|
|
5972
|
-
if (e.collapsed) return
|
|
5973
|
-
let r =
|
|
6158
|
+
return document.createTreeWalker(r, NodeFilter.SHOW_TEXT, { acceptNode: (t) => lo(e, t) ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT });
|
|
6159
|
+
}, W = (e, t, n) => !e || e === n ? null : e.nodeType === Node.ELEMENT_NODE && t(e) ? e : W(e.parentNode, t, n), fo = (e, t) => W(e, t) !== null, G = (e, t, n = {}) => {
|
|
6160
|
+
if (e.collapsed) return W(e.startContainer, t) !== null;
|
|
6161
|
+
let r = uo(e), i = [];
|
|
5974
6162
|
for (; r.nextNode();) {
|
|
5975
6163
|
let e = r.currentNode, t = e.textContent;
|
|
5976
6164
|
n.ignoreWhitespace && t.trim().length === 0 || t.length !== 0 && i.push(e);
|
|
5977
6165
|
}
|
|
5978
|
-
return i.length === 0 ?
|
|
5979
|
-
},
|
|
5980
|
-
let n = /* @__PURE__ */ new Set(), r =
|
|
6166
|
+
return i.length === 0 ? W(e.startContainer, t) !== null : i.every((e) => fo(e, t));
|
|
6167
|
+
}, K = (e, t) => {
|
|
6168
|
+
let n = /* @__PURE__ */ new Set(), r = uo(e);
|
|
5981
6169
|
for (; r.nextNode();) {
|
|
5982
|
-
let e =
|
|
6170
|
+
let e = W(r.currentNode, t);
|
|
5983
6171
|
e && n.add(e);
|
|
5984
6172
|
}
|
|
5985
6173
|
return Array.from(n);
|
|
5986
|
-
},
|
|
6174
|
+
}, q, po = class e {
|
|
5987
6175
|
static get sanitize() {
|
|
5988
6176
|
return {
|
|
5989
6177
|
strong: {},
|
|
@@ -5995,7 +6183,7 @@ var no = (e, t) => {
|
|
|
5995
6183
|
}
|
|
5996
6184
|
static initializeGlobalListeners() {
|
|
5997
6185
|
if (typeof document > "u") return !1;
|
|
5998
|
-
let t =
|
|
6186
|
+
let t = co.getInstance();
|
|
5999
6187
|
return t.hasHandler("bold") ? !0 : (t.register("bold", {
|
|
6000
6188
|
shortcut: {
|
|
6001
6189
|
key: "b",
|
|
@@ -6011,20 +6199,20 @@ var no = (e, t) => {
|
|
|
6011
6199
|
onInput: (t, n) => {
|
|
6012
6200
|
e.refreshSelectionState("input");
|
|
6013
6201
|
},
|
|
6014
|
-
onBeforeInput: (e) => e.inputType === "formatBold" ? (
|
|
6202
|
+
onBeforeInput: (e) => e.inputType === "formatBold" ? (U.normalizeAroundSelection(window.getSelection()), !0) : !1,
|
|
6015
6203
|
isRelevant: (t) => e.isSelectionInsideBlok(t)
|
|
6016
6204
|
}), e.guardKeydownListenerRegistered || (document.addEventListener("keydown", (e) => {
|
|
6017
|
-
|
|
6205
|
+
H.getInstance().guardBoundaryKeydown(e);
|
|
6018
6206
|
}, !0), e.guardKeydownListenerRegistered = !0), e.ensureMutationObserver(), !0);
|
|
6019
6207
|
}
|
|
6020
6208
|
static mergeStrongNodes(e, t) {
|
|
6021
|
-
let n =
|
|
6209
|
+
let n = B(e), r = B(t);
|
|
6022
6210
|
for (; r.firstChild;) n.appendChild(r.firstChild);
|
|
6023
6211
|
return r.remove(), n;
|
|
6024
6212
|
}
|
|
6025
6213
|
render() {
|
|
6026
6214
|
return {
|
|
6027
|
-
icon:
|
|
6215
|
+
icon: s,
|
|
6028
6216
|
name: "bold",
|
|
6029
6217
|
onActivate: () => {
|
|
6030
6218
|
this.toggleBold();
|
|
@@ -6055,11 +6243,11 @@ var no = (e, t) => {
|
|
|
6055
6243
|
r && n && (r.removeAllRanges(), r.addRange(n));
|
|
6056
6244
|
let i = this.findBoldElementFromRangeOrSelection(n, r);
|
|
6057
6245
|
if (!i) {
|
|
6058
|
-
|
|
6246
|
+
U.normalizeAroundSelection(r), this.notifySelectionChange();
|
|
6059
6247
|
return;
|
|
6060
6248
|
}
|
|
6061
6249
|
let a = this.mergeAdjacentBold(i);
|
|
6062
|
-
this.selectElementContents(a),
|
|
6250
|
+
this.selectElementContents(a), U.normalizeAroundSelection(r), this.notifySelectionChange();
|
|
6063
6251
|
}
|
|
6064
6252
|
unwrapBoldTags(t) {
|
|
6065
6253
|
let n = this.collectBoldAncestors(t), r = window.getSelection();
|
|
@@ -6068,7 +6256,7 @@ var no = (e, t) => {
|
|
|
6068
6256
|
i.setAttribute("data-blok-bold-marker", `unwrap-${e.markerSequence++}`), i.appendChild(a), this.removeNestedBold(i), t.insertNode(i);
|
|
6069
6257
|
let o = document.createRange();
|
|
6070
6258
|
for (o.selectNodeContents(i), r.removeAllRanges(), r.addRange(o);;) {
|
|
6071
|
-
let e =
|
|
6259
|
+
let e = z(i);
|
|
6072
6260
|
if (!e) break;
|
|
6073
6261
|
this.moveMarkerOutOfBold(i, e);
|
|
6074
6262
|
}
|
|
@@ -6076,8 +6264,8 @@ var no = (e, t) => {
|
|
|
6076
6264
|
this.unwrapElement(i), s && c && (() => {
|
|
6077
6265
|
let e = document.createRange();
|
|
6078
6266
|
return e.setStartBefore(s), e.setEndAfter(c), r.removeAllRanges(), r.addRange(e), e;
|
|
6079
|
-
})() || r.removeAllRanges(),
|
|
6080
|
-
|
|
6267
|
+
})() || r.removeAllRanges(), U.normalizeAroundSelection(r), n.forEach((e) => {
|
|
6268
|
+
to(e) && e.remove();
|
|
6081
6269
|
}), this.notifySelectionChange();
|
|
6082
6270
|
}
|
|
6083
6271
|
replaceRangeWithHtml(t, n) {
|
|
@@ -6117,7 +6305,7 @@ var no = (e, t) => {
|
|
|
6117
6305
|
n.selectNodeContents(e), t.removeAllRanges(), t.addRange(n);
|
|
6118
6306
|
}
|
|
6119
6307
|
isRangeBold(e, t) {
|
|
6120
|
-
return
|
|
6308
|
+
return G(e, R, t);
|
|
6121
6309
|
}
|
|
6122
6310
|
removeNestedBold(e) {
|
|
6123
6311
|
e.querySelectorAll("b,strong").forEach((e) => {
|
|
@@ -6134,33 +6322,33 @@ var no = (e, t) => {
|
|
|
6134
6322
|
t.removeChild(e);
|
|
6135
6323
|
}
|
|
6136
6324
|
findBoldElementFromRangeOrSelection(e, t) {
|
|
6137
|
-
return e ?
|
|
6325
|
+
return e ? z(e.startContainer) || z(e.commonAncestorContainer) || (e.startContainer.nodeType === Node.ELEMENT_NODE && R(e.startContainer) ? e.startContainer : null) : t ? z(t.focusNode) : null;
|
|
6138
6326
|
}
|
|
6139
6327
|
mergeAdjacentBold(t) {
|
|
6140
|
-
let n =
|
|
6141
|
-
return a && a.nodeType === Node.ELEMENT_NODE &&
|
|
6328
|
+
let n = B(t), r = n.previousSibling, i = r && r.nodeType === Node.ELEMENT_NODE && R(r) ? e.mergeStrongNodes(r, n) : n, a = i.nextSibling;
|
|
6329
|
+
return a && a.nodeType === Node.ELEMENT_NODE && R(a) ? e.mergeStrongNodes(i, a) : i;
|
|
6142
6330
|
}
|
|
6143
6331
|
toggleCollapsedSelection() {
|
|
6144
6332
|
let t = window.getSelection();
|
|
6145
6333
|
if (!t || t.rangeCount === 0) return;
|
|
6146
|
-
let n = t.getRangeAt(0), r =
|
|
6147
|
-
if (r && r.getAttribute(
|
|
6334
|
+
let n = t.getRangeAt(0), r = z(n.startContainer), i = (() => {
|
|
6335
|
+
if (r && r.getAttribute(H.ATTR.COLLAPSED_ACTIVE) !== "true") return H.getInstance().exit(t, r);
|
|
6148
6336
|
let i = r == null ? e.getBoundaryBold(n) : r;
|
|
6149
|
-
return i ?
|
|
6337
|
+
return i ? H.getInstance().exit(t, i) : this.startCollapsedBold(n);
|
|
6150
6338
|
})();
|
|
6151
|
-
document.dispatchEvent(new Event("selectionchange")), i && (t.removeAllRanges(), t.addRange(i)),
|
|
6339
|
+
document.dispatchEvent(new Event("selectionchange")), i && (t.removeAllRanges(), t.addRange(i)), U.normalizeAroundSelection(t), this.notifySelectionChange();
|
|
6152
6340
|
}
|
|
6153
6341
|
startCollapsedBold(e) {
|
|
6154
|
-
let t =
|
|
6155
|
-
return
|
|
6342
|
+
let t = H.getInstance().enter(e, (e) => this.mergeAdjacentBold(e)), n = window.getSelection();
|
|
6343
|
+
return U.normalizeAroundSelection(n), n && t && (n.removeAllRanges(), n.addRange(t)), this.notifySelectionChange(), t;
|
|
6156
6344
|
}
|
|
6157
6345
|
notifySelectionChange() {
|
|
6158
|
-
|
|
6346
|
+
H.getInstance().enforceLengths(window.getSelection()), document.dispatchEvent(new Event("selectionchange")), this.updateToolbarButtonState();
|
|
6159
6347
|
}
|
|
6160
6348
|
updateToolbarButtonState() {
|
|
6161
6349
|
let e = window.getSelection();
|
|
6162
6350
|
if (!e) return;
|
|
6163
|
-
let t = e.anchorNode, n = (t == null ? void 0 : t.nodeType) === Node.ELEMENT_NODE ? t : t == null ? void 0 : t.parentElement, r = n == null ? void 0 : n.closest(_
|
|
6351
|
+
let t = e.anchorNode, n = (t == null ? void 0 : t.nodeType) === Node.ELEMENT_NODE ? t : t == null ? void 0 : t.parentElement, r = n == null ? void 0 : n.closest(b(_.editor));
|
|
6164
6352
|
if (!r) return;
|
|
6165
6353
|
let i = r.querySelector("[data-blok-testid=inline-toolbar]");
|
|
6166
6354
|
if (!(i instanceof HTMLElement)) return;
|
|
@@ -6169,7 +6357,7 @@ var no = (e, t) => {
|
|
|
6169
6357
|
}
|
|
6170
6358
|
static refreshSelectionState(e) {
|
|
6171
6359
|
let t = window.getSelection();
|
|
6172
|
-
|
|
6360
|
+
H.getInstance().enforceLengths(t), H.getInstance().maintain(), H.getInstance().synchronize(t), U.normalizeAroundSelection(t, { normalizeWhitespace: !1 }), e === "input" && t && H.getInstance().moveCaretAfterBoundaryBold(t);
|
|
6173
6361
|
}
|
|
6174
6362
|
static ensureMutationObserver() {
|
|
6175
6363
|
if (typeof MutationObserver > "u" || e.mutationObserver) return;
|
|
@@ -6178,7 +6366,7 @@ var no = (e, t) => {
|
|
|
6178
6366
|
e.isProcessingMutation = !0;
|
|
6179
6367
|
try {
|
|
6180
6368
|
let n = (e) => {
|
|
6181
|
-
e && new
|
|
6369
|
+
e && new U({
|
|
6182
6370
|
mergeAdjacent: !1,
|
|
6183
6371
|
removeEmpty: !1,
|
|
6184
6372
|
normalizeWhitespace: !1
|
|
@@ -6202,7 +6390,7 @@ var no = (e, t) => {
|
|
|
6202
6390
|
}
|
|
6203
6391
|
static findBlokScopeFromNode(e) {
|
|
6204
6392
|
let t = e.nodeType === Node.ELEMENT_NODE ? e : e.parentElement;
|
|
6205
|
-
return !t || typeof t.closest != "function" ? null : t.closest(`${_
|
|
6393
|
+
return !t || typeof t.closest != "function" ? null : t.closest(`${b(_.interface)}, ${b(_.editor)}`);
|
|
6206
6394
|
}
|
|
6207
6395
|
static getBoundaryBold(t) {
|
|
6208
6396
|
let n = t.startContainer;
|
|
@@ -6210,21 +6398,21 @@ var no = (e, t) => {
|
|
|
6210
6398
|
}
|
|
6211
6399
|
static getBoundaryBoldForText(e, t) {
|
|
6212
6400
|
let n = t.textContent.length;
|
|
6213
|
-
if (e.startOffset === n) return
|
|
6401
|
+
if (e.startOffset === n) return z(t);
|
|
6214
6402
|
if (e.startOffset !== 0) return null;
|
|
6215
6403
|
let r = t.previousSibling;
|
|
6216
|
-
return
|
|
6404
|
+
return eo(r) ? r : null;
|
|
6217
6405
|
}
|
|
6218
6406
|
static getBoundaryBoldForElement(e, t) {
|
|
6219
6407
|
if (e.startOffset <= 0) return null;
|
|
6220
6408
|
let n = t.childNodes[e.startOffset - 1];
|
|
6221
|
-
return
|
|
6409
|
+
return eo(n) ? n : null;
|
|
6222
6410
|
}
|
|
6223
6411
|
static isSelectionInsideBlok(e) {
|
|
6224
6412
|
let t = e.anchorNode;
|
|
6225
6413
|
if (!t) return !1;
|
|
6226
6414
|
let n = t.nodeType === Node.ELEMENT_NODE ? t : t.parentElement;
|
|
6227
|
-
return !!(n != null && n.closest(_
|
|
6415
|
+
return !!(n != null && n.closest(b(_.editor)));
|
|
6228
6416
|
}
|
|
6229
6417
|
getRangeHtmlWithoutBold(e) {
|
|
6230
6418
|
let t = e.cloneContents();
|
|
@@ -6237,16 +6425,16 @@ var no = (e, t) => {
|
|
|
6237
6425
|
return t.innerHTML = e, t.content;
|
|
6238
6426
|
}
|
|
6239
6427
|
collectBoldAncestors(e) {
|
|
6240
|
-
return
|
|
6428
|
+
return K(e, R);
|
|
6241
6429
|
}
|
|
6242
6430
|
};
|
|
6243
|
-
|
|
6431
|
+
q = po, q.isInline = !0, q.title = "Bold", q.titleKey = "bold", q.markerSequence = 0, q.isProcessingMutation = !1, q.instances = /* @__PURE__ */ new Set(), q.guardKeydownListenerRegistered = !1, q.shortcut = "CMD+B";
|
|
6244
6432
|
//#endregion
|
|
6245
6433
|
//#region src/components/inline-tools/inline-tool-italic.ts
|
|
6246
|
-
var
|
|
6434
|
+
var J, mo = (e) => {
|
|
6247
6435
|
let t = e.tagName;
|
|
6248
6436
|
return t === "I" || t === "EM";
|
|
6249
|
-
},
|
|
6437
|
+
}, ho = class {
|
|
6250
6438
|
static get sanitize() {
|
|
6251
6439
|
return {
|
|
6252
6440
|
i: {},
|
|
@@ -6255,7 +6443,7 @@ var q, oo = (e) => {
|
|
|
6255
6443
|
}
|
|
6256
6444
|
render() {
|
|
6257
6445
|
return {
|
|
6258
|
-
icon:
|
|
6446
|
+
icon: Je,
|
|
6259
6447
|
name: "italic",
|
|
6260
6448
|
onActivate: () => {
|
|
6261
6449
|
this.toggleItalic();
|
|
@@ -6295,7 +6483,7 @@ var q, oo = (e) => {
|
|
|
6295
6483
|
return this.isRangeItalic(t, { ignoreWhitespace: !0 });
|
|
6296
6484
|
}
|
|
6297
6485
|
isRangeItalic(e, t) {
|
|
6298
|
-
return
|
|
6486
|
+
return G(e, mo, t);
|
|
6299
6487
|
}
|
|
6300
6488
|
wrapWithItalic(e) {
|
|
6301
6489
|
let t = this.getRangeHtmlWithoutItalic(e), n = this.replaceRangeWithHtml(e, `<i>${t}</i>`), r = window.getSelection();
|
|
@@ -6321,13 +6509,13 @@ var q, oo = (e) => {
|
|
|
6321
6509
|
});
|
|
6322
6510
|
}
|
|
6323
6511
|
hasItalicParent(e) {
|
|
6324
|
-
return
|
|
6512
|
+
return fo(e, mo);
|
|
6325
6513
|
}
|
|
6326
6514
|
findItalicElement(e) {
|
|
6327
|
-
return
|
|
6515
|
+
return W(e, mo);
|
|
6328
6516
|
}
|
|
6329
6517
|
collectItalicAncestors(e) {
|
|
6330
|
-
return
|
|
6518
|
+
return K(e, mo);
|
|
6331
6519
|
}
|
|
6332
6520
|
getRangeHtmlWithoutItalic(e) {
|
|
6333
6521
|
let t = e.cloneContents();
|
|
@@ -6384,10 +6572,10 @@ var q, oo = (e) => {
|
|
|
6384
6572
|
n.insertBefore(r, t.nextSibling), n.insertBefore(e, r);
|
|
6385
6573
|
}
|
|
6386
6574
|
};
|
|
6387
|
-
|
|
6575
|
+
J = ho, J.isInline = !0, J.title = "Italic", J.titleKey = "italic", J.shortcut = "CMD+I";
|
|
6388
6576
|
//#endregion
|
|
6389
6577
|
//#region src/components/inline-tools/inline-tool-link.ts
|
|
6390
|
-
var
|
|
6578
|
+
var Y, go = "flex items-center gap-2 w-full mt-0.5 px-1.5 py-1.5 rounded-md text-left cursor-pointer can-hover:hover:bg-item-hover-bg transition-colors", _o = "flex items-center gap-2 w-full mt-0.5 px-1.5 py-1.5 rounded-md text-left pointer-events-none", vo = class {
|
|
6391
6579
|
static get sanitize() {
|
|
6392
6580
|
return { a: {
|
|
6393
6581
|
href: !0,
|
|
@@ -6411,13 +6599,13 @@ var J, co = "flex items-center gap-2 w-full mt-0.5 px-1.5 py-1.5 rounded-md text
|
|
|
6411
6599
|
}
|
|
6412
6600
|
render() {
|
|
6413
6601
|
return {
|
|
6414
|
-
icon:
|
|
6602
|
+
icon: tt,
|
|
6415
6603
|
name: "link",
|
|
6416
6604
|
isActive: () => !!this.selection.findParentTag("A"),
|
|
6417
6605
|
children: {
|
|
6418
6606
|
hideChevron: !0,
|
|
6419
6607
|
items: [{
|
|
6420
|
-
type:
|
|
6608
|
+
type: v.Html,
|
|
6421
6609
|
element: this.nodes.inputWrapper
|
|
6422
6610
|
}],
|
|
6423
6611
|
onOpen: () => {
|
|
@@ -6447,7 +6635,7 @@ var J, co = "flex items-center gap-2 w-full mt-0.5 px-1.5 py-1.5 rounded-md text
|
|
|
6447
6635
|
let t = document.createElement("div");
|
|
6448
6636
|
t.className = "mt-1 mb-0.5 h-px bg-link-input-border";
|
|
6449
6637
|
let n = document.createElement("button");
|
|
6450
|
-
n.type = "button", n.className =
|
|
6638
|
+
n.type = "button", n.className = go, n.setAttribute("data-link-suggestion-row", "");
|
|
6451
6639
|
let r = document.createElement("span");
|
|
6452
6640
|
r.className = "text-gray-text shrink-0 flex [&>svg]:size-7", r.setAttribute("data-link-suggestion-icon", "");
|
|
6453
6641
|
let i = document.createElement("span");
|
|
@@ -6465,20 +6653,20 @@ var J, co = "flex items-center gap-2 w-full mt-0.5 px-1.5 py-1.5 rounded-md text
|
|
|
6465
6653
|
return;
|
|
6466
6654
|
}
|
|
6467
6655
|
let n = this.isLinkComplete(t), { icon: r, label: i } = this.getLinkTypeInfo(t), a = this.nodes.suggestion.querySelector("[data-link-suggestion-icon]"), o = this.nodes.suggestion.querySelector("[data-link-suggestion-url]"), s = this.nodes.suggestion.querySelector("[data-link-suggestion-type]"), c = this.nodes.suggestion.querySelector("[data-link-suggestion-row]");
|
|
6468
|
-
a && (a.innerHTML = r, a.className = `${n ? "text-gray-text" : "text-gray-text opacity-40"} shrink-0 flex [&>svg]:size-7`), o && (o.textContent = t, o.className = `block text-xs font-medium truncate ${n ? "text-text-primary" : "text-gray-text"}`), s && (s.textContent = n ? i : "Keep typing to add a link", s.className = "block text-[10.5px] text-gray-text leading-tight mt-px"), c && (c.className = n ?
|
|
6656
|
+
a && (a.innerHTML = r, a.className = `${n ? "text-gray-text" : "text-gray-text opacity-40"} shrink-0 flex [&>svg]:size-7`), o && (o.textContent = t, o.className = `block text-xs font-medium truncate ${n ? "text-text-primary" : "text-gray-text"}`), s && (s.textContent = n ? i : "Keep typing to add a link", s.className = "block text-[10.5px] text-gray-text leading-tight mt-px"), c && (c.className = n ? go : _o), this.nodes.suggestion.classList.remove("hidden");
|
|
6469
6657
|
}
|
|
6470
6658
|
isLinkComplete(e) {
|
|
6471
6659
|
return /^https?:\/\//i.test(e) ? e.replace(/^https?:\/\//i, "").length > 0 : /^\w+:\/\//.test(e) ? e.replace(/^\w+:\/\//, "").length > 0 : /^\w+:/.test(e) ? e.slice(e.indexOf(":") + 1).length > 0 : e.startsWith("//") ? e.slice(2).length > 0 : e.startsWith("#") ? e.length > 1 : e.startsWith("/") ? !0 : /\.[a-zA-Z]{2,}/.test(e) || /^\d{1,3}(\.\d{1,3}){3}/.test(e);
|
|
6472
6660
|
}
|
|
6473
6661
|
getLinkTypeInfo(e) {
|
|
6474
6662
|
return e.startsWith("mailto:") ? {
|
|
6475
|
-
icon:
|
|
6663
|
+
icon: rt,
|
|
6476
6664
|
label: "Email address"
|
|
6477
6665
|
} : e.startsWith("#") ? {
|
|
6478
|
-
icon:
|
|
6666
|
+
icon: xe,
|
|
6479
6667
|
label: "Jump to section"
|
|
6480
6668
|
} : {
|
|
6481
|
-
icon:
|
|
6669
|
+
icon: m,
|
|
6482
6670
|
label: "Link to web page"
|
|
6483
6671
|
};
|
|
6484
6672
|
}
|
|
@@ -6514,7 +6702,7 @@ var J, co = "flex items-center gap-2 w-full mt-0.5 px-1.5 py-1.5 rounded-md text
|
|
|
6514
6702
|
}, 0));
|
|
6515
6703
|
}
|
|
6516
6704
|
getButtonElement() {
|
|
6517
|
-
let e = document.querySelector(`${_
|
|
6705
|
+
let e = document.querySelector(`${b(_.interface, je)} [data-blok-item-name="link"]`);
|
|
6518
6706
|
return e && e !== this.nodes.button && (e.addEventListener("click", this.handleButtonClick, !0), this.nodes.button = e), e;
|
|
6519
6707
|
}
|
|
6520
6708
|
updateButtonStateAttributes(e) {
|
|
@@ -6552,7 +6740,7 @@ var J, co = "flex items-center gap-2 w-full mt-0.5 px-1.5 py-1.5 rounded-md text
|
|
|
6552
6740
|
this.notifier.show({
|
|
6553
6741
|
message: this.i18n.t("tools.link.invalidLink"),
|
|
6554
6742
|
style: "error"
|
|
6555
|
-
}),
|
|
6743
|
+
}), i("Incorrect Link pasted", "warn", t);
|
|
6556
6744
|
return;
|
|
6557
6745
|
}
|
|
6558
6746
|
let n = this.prepareLink(t);
|
|
@@ -6594,13 +6782,13 @@ var J, co = "flex items-center gap-2 w-full mt-0.5 px-1.5 py-1.5 rounded-md text
|
|
|
6594
6782
|
e && e.setAttribute(t, n ? "true" : "false");
|
|
6595
6783
|
}
|
|
6596
6784
|
};
|
|
6597
|
-
|
|
6785
|
+
Y = vo, Y.isInline = !0, Y.title = "Link", Y.titleKey = "link", Y.shortcut = "CMD+K";
|
|
6598
6786
|
//#endregion
|
|
6599
6787
|
//#region src/components/inline-tools/utils/marker-dom-utils.ts
|
|
6600
|
-
var
|
|
6788
|
+
var X = (e) => e.tagName === "MARK", yo = (e) => W(e, X), Z, bo = {
|
|
6601
6789
|
color: "background-color",
|
|
6602
6790
|
"background-color": "color"
|
|
6603
|
-
},
|
|
6791
|
+
}, xo = class e {
|
|
6604
6792
|
static get sanitize() {
|
|
6605
6793
|
return { mark: (t) => {
|
|
6606
6794
|
let n = t.style, r = Array.from({ length: n.length }, (e, t) => n.item(t));
|
|
@@ -6628,12 +6816,12 @@ var Y = (e) => e.tagName === "MARK", X = (e) => U(e, Y), Z, fo = {
|
|
|
6628
6816
|
}
|
|
6629
6817
|
render() {
|
|
6630
6818
|
return {
|
|
6631
|
-
icon:
|
|
6819
|
+
icon: Oe,
|
|
6632
6820
|
name: "marker",
|
|
6633
6821
|
isActive: () => {
|
|
6634
6822
|
let e = window.getSelection();
|
|
6635
6823
|
if (!e || e.rangeCount === 0) return !1;
|
|
6636
|
-
let t = e.getRangeAt(0), n =
|
|
6824
|
+
let t = e.getRangeAt(0), n = G(t, X, { ignoreWhitespace: !0 });
|
|
6637
6825
|
if (n) {
|
|
6638
6826
|
let e = this.detectBothSelectionColors(t);
|
|
6639
6827
|
this.updateToolbarColors(e.text, e.bg);
|
|
@@ -6643,7 +6831,7 @@ var Y = (e) => e.tagName === "MARK", X = (e) => U(e, Y), Z, fo = {
|
|
|
6643
6831
|
children: {
|
|
6644
6832
|
hideChevron: !0,
|
|
6645
6833
|
items: [{
|
|
6646
|
-
type:
|
|
6834
|
+
type: v.Html,
|
|
6647
6835
|
element: this.picker.element
|
|
6648
6836
|
}],
|
|
6649
6837
|
onOpen: () => {
|
|
@@ -6684,10 +6872,10 @@ var Y = (e) => e.tagName === "MARK", X = (e) => U(e, Y), Z, fo = {
|
|
|
6684
6872
|
if (!r || r.rangeCount === 0) return;
|
|
6685
6873
|
let i = r.getRangeAt(0), a = i.startContainer, o = i.startOffset, s = i.endContainer, c = i.endOffset, l = i.toString(), u = i.commonAncestorContainer, d = u.nodeType === Node.ELEMENT_NODE ? u : u.parentElement, f = d != null && d.closest("mark") ? (t = (n = d.closest("mark")) == null ? void 0 : n.parentElement) == null ? d : t : d;
|
|
6686
6874
|
this.splitMarksAtBoundaries(i);
|
|
6687
|
-
let p =
|
|
6875
|
+
let p = K(i, X);
|
|
6688
6876
|
for (let t of p) {
|
|
6689
6877
|
t.style.removeProperty(e);
|
|
6690
|
-
let n =
|
|
6878
|
+
let n = bo[e], r = t.style.getPropertyValue(n);
|
|
6691
6879
|
r !== "" && r !== "transparent" ? this.ensureTransparentBg(t) : this.unwrapElement(t);
|
|
6692
6880
|
}
|
|
6693
6881
|
let m = a.isConnected, h = s.isConnected;
|
|
@@ -6715,7 +6903,7 @@ var Y = (e) => e.tagName === "MARK", X = (e) => U(e, Y), Z, fo = {
|
|
|
6715
6903
|
this.selection.removeFakeBackground(), this.selection.savedSelectionRange && this.selection.restore(), this.selection.clearSaved();
|
|
6716
6904
|
}
|
|
6717
6905
|
detectBothSelectionColors(e) {
|
|
6718
|
-
let t =
|
|
6906
|
+
let t = yo(e.startContainer);
|
|
6719
6907
|
if (!t) return {
|
|
6720
6908
|
text: null,
|
|
6721
6909
|
bg: null
|
|
@@ -6735,7 +6923,7 @@ var Y = (e) => e.tagName === "MARK", X = (e) => U(e, Y), Z, fo = {
|
|
|
6735
6923
|
text: null,
|
|
6736
6924
|
bg: null
|
|
6737
6925
|
};
|
|
6738
|
-
let t =
|
|
6926
|
+
let t = yo(e.getRangeAt(0).startContainer);
|
|
6739
6927
|
if (!t) return {
|
|
6740
6928
|
text: null,
|
|
6741
6929
|
bg: null
|
|
@@ -6755,14 +6943,14 @@ var Y = (e) => e.tagName === "MARK", X = (e) => U(e, Y), Z, fo = {
|
|
|
6755
6943
|
this.selection.savedSelectionRange && (this.selection.removeFakeBackground(), this.selection.restore(), this.selection.clearSaved());
|
|
6756
6944
|
}
|
|
6757
6945
|
findContainingMark(e) {
|
|
6758
|
-
let t =
|
|
6946
|
+
let t = yo(e.startContainer), n = yo(e.endContainer);
|
|
6759
6947
|
return t && t === n ? t : null;
|
|
6760
6948
|
}
|
|
6761
6949
|
removeNestedMarkStyle(e, t) {
|
|
6762
|
-
let n =
|
|
6950
|
+
let n = K(e, X);
|
|
6763
6951
|
for (let e of n) {
|
|
6764
6952
|
e.style.removeProperty(t);
|
|
6765
|
-
let n =
|
|
6953
|
+
let n = bo[t], r = e.style.getPropertyValue(n);
|
|
6766
6954
|
r !== "" && r !== "transparent" ? this.ensureTransparentBg(e) : this.unwrapElement(e);
|
|
6767
6955
|
}
|
|
6768
6956
|
}
|
|
@@ -6793,7 +6981,7 @@ var Y = (e) => e.tagName === "MARK", X = (e) => U(e, Y), Z, fo = {
|
|
|
6793
6981
|
}
|
|
6794
6982
|
}
|
|
6795
6983
|
splitMarksAtBoundaries(e) {
|
|
6796
|
-
let t =
|
|
6984
|
+
let t = K(e, X);
|
|
6797
6985
|
for (let n of t) {
|
|
6798
6986
|
let t = document.createRange();
|
|
6799
6987
|
t.selectNodeContents(n);
|
|
@@ -6858,20 +7046,20 @@ var Y = (e) => e.tagName === "MARK", X = (e) => U(e, Y), Z, fo = {
|
|
|
6858
7046
|
}
|
|
6859
7047
|
resolveToVar(e, t) {
|
|
6860
7048
|
if (e.startsWith("var(")) return e;
|
|
6861
|
-
let n = t === "color" ? "text" : "bg", r =
|
|
6862
|
-
return r === null ? e :
|
|
7049
|
+
let n = t === "color" ? "text" : "bg", r = se(e, n);
|
|
7050
|
+
return r === null ? e : re(r, n);
|
|
6863
7051
|
}
|
|
6864
7052
|
};
|
|
6865
|
-
Z =
|
|
7053
|
+
Z = xo, Z.isInline = !0, Z.title = "Color", Z.titleKey = "marker", Z.shortcut = "CMD+SHIFT+H", Z.ALLOWED_STYLE_PROPS = new Set(["color", "background-color"]);
|
|
6866
7054
|
//#endregion
|
|
6867
7055
|
//#region src/components/inline-tools/inline-tool-underline.ts
|
|
6868
|
-
var Q,
|
|
7056
|
+
var Q, So = (e) => e.tagName === "U", Co = class {
|
|
6869
7057
|
static get sanitize() {
|
|
6870
7058
|
return { u: {} };
|
|
6871
7059
|
}
|
|
6872
7060
|
render() {
|
|
6873
7061
|
return {
|
|
6874
|
-
icon:
|
|
7062
|
+
icon: o,
|
|
6875
7063
|
name: "underline",
|
|
6876
7064
|
onActivate: () => {
|
|
6877
7065
|
this.toggleUnderline();
|
|
@@ -6911,7 +7099,7 @@ var Q, mo = (e) => e.tagName === "U", ho = class {
|
|
|
6911
7099
|
return this.isRangeUnderline(t, { ignoreWhitespace: !0 });
|
|
6912
7100
|
}
|
|
6913
7101
|
isRangeUnderline(e, t) {
|
|
6914
|
-
return
|
|
7102
|
+
return G(e, So, t);
|
|
6915
7103
|
}
|
|
6916
7104
|
wrapWithUnderline(e) {
|
|
6917
7105
|
let t = this.getRangeHtmlWithoutUnderline(e), n = this.replaceRangeWithHtml(e, `<u>${t}</u>`), r = window.getSelection();
|
|
@@ -6937,13 +7125,13 @@ var Q, mo = (e) => e.tagName === "U", ho = class {
|
|
|
6937
7125
|
});
|
|
6938
7126
|
}
|
|
6939
7127
|
hasUnderlineParent(e) {
|
|
6940
|
-
return
|
|
7128
|
+
return fo(e, So);
|
|
6941
7129
|
}
|
|
6942
7130
|
findUnderlineElement(e) {
|
|
6943
|
-
return
|
|
7131
|
+
return W(e, So);
|
|
6944
7132
|
}
|
|
6945
7133
|
collectUnderlineAncestors(e) {
|
|
6946
|
-
return
|
|
7134
|
+
return K(e, So);
|
|
6947
7135
|
}
|
|
6948
7136
|
getRangeHtmlWithoutUnderline(e) {
|
|
6949
7137
|
let t = e.cloneContents();
|
|
@@ -7000,16 +7188,16 @@ var Q, mo = (e) => e.tagName === "U", ho = class {
|
|
|
7000
7188
|
n.insertBefore(r, t.nextSibling), n.insertBefore(e, r);
|
|
7001
7189
|
}
|
|
7002
7190
|
};
|
|
7003
|
-
Q =
|
|
7191
|
+
Q = Co, Q.isInline = !0, Q.title = "Underline", Q.titleKey = "underline", Q.shortcut = "CMD+U";
|
|
7004
7192
|
//#endregion
|
|
7005
7193
|
//#region src/components/inline-tools/inline-tool-strikethrough.ts
|
|
7006
|
-
var $,
|
|
7194
|
+
var $, wo = (e) => e.tagName === "S", To = class {
|
|
7007
7195
|
static get sanitize() {
|
|
7008
7196
|
return { s: {} };
|
|
7009
7197
|
}
|
|
7010
7198
|
render() {
|
|
7011
7199
|
return {
|
|
7012
|
-
icon:
|
|
7200
|
+
icon: ze,
|
|
7013
7201
|
name: "strikethrough",
|
|
7014
7202
|
onActivate: () => {
|
|
7015
7203
|
this.toggleStrikethrough();
|
|
@@ -7049,7 +7237,7 @@ var $, go = (e) => e.tagName === "S", _o = class {
|
|
|
7049
7237
|
return this.isRangeStrikethrough(t, { ignoreWhitespace: !0 });
|
|
7050
7238
|
}
|
|
7051
7239
|
isRangeStrikethrough(e, t) {
|
|
7052
|
-
return
|
|
7240
|
+
return G(e, wo, t);
|
|
7053
7241
|
}
|
|
7054
7242
|
wrapWithStrikethrough(e) {
|
|
7055
7243
|
let t = this.getRangeHtmlWithoutStrikethrough(e), n = this.replaceRangeWithHtml(e, `<s>${t}</s>`), r = window.getSelection();
|
|
@@ -7075,13 +7263,13 @@ var $, go = (e) => e.tagName === "S", _o = class {
|
|
|
7075
7263
|
});
|
|
7076
7264
|
}
|
|
7077
7265
|
hasStrikethroughParent(e) {
|
|
7078
|
-
return
|
|
7266
|
+
return fo(e, wo);
|
|
7079
7267
|
}
|
|
7080
7268
|
findStrikethroughElement(e) {
|
|
7081
|
-
return
|
|
7269
|
+
return W(e, wo);
|
|
7082
7270
|
}
|
|
7083
7271
|
collectStrikethroughAncestors(e) {
|
|
7084
|
-
return
|
|
7272
|
+
return K(e, wo);
|
|
7085
7273
|
}
|
|
7086
7274
|
getRangeHtmlWithoutStrikethrough(e) {
|
|
7087
7275
|
let t = e.cloneContents();
|
|
@@ -7138,18 +7326,19 @@ var $, go = (e) => e.tagName === "S", _o = class {
|
|
|
7138
7326
|
n.insertBefore(r, t.nextSibling), n.insertBefore(e, r);
|
|
7139
7327
|
}
|
|
7140
7328
|
};
|
|
7141
|
-
$ =
|
|
7329
|
+
$ = To, $.isInline = !0, $.title = "Strikethrough", $.titleKey = "strikethrough", $.shortcut = "CMD+SHIFT+S";
|
|
7142
7330
|
//#endregion
|
|
7143
7331
|
//#region src/tools/index.ts
|
|
7144
|
-
var
|
|
7332
|
+
var Eo = {
|
|
7145
7333
|
paragraph: { preserveBlank: !0 },
|
|
7146
7334
|
header: {},
|
|
7147
7335
|
list: {},
|
|
7148
7336
|
table: {},
|
|
7149
7337
|
toggle: {},
|
|
7150
7338
|
callout: {},
|
|
7151
|
-
divider: {}
|
|
7152
|
-
|
|
7339
|
+
divider: {},
|
|
7340
|
+
quote: {}
|
|
7341
|
+
}, Do = {
|
|
7153
7342
|
bold: {},
|
|
7154
7343
|
italic: {},
|
|
7155
7344
|
link: {},
|
|
@@ -7158,4 +7347,4 @@ var vo = {
|
|
|
7158
7347
|
strikethrough: {}
|
|
7159
7348
|
};
|
|
7160
7349
|
//#endregion
|
|
7161
|
-
export {
|
|
7350
|
+
export { xo as a, po as c, Ja as d, ra as f, St as g, Lt as h, Co as i, $a as l, tr as m, Do as n, vo as o, Qi as p, To as r, ho as s, Eo as t, Ya as u };
|