@jackuait/blok 0.7.2 → 0.7.3-beta.2
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/dist/blok.mjs +3 -3
- package/dist/chunks/{blok-3RuPZd3G.mjs → blok-Cv1zWiST.mjs} +2147 -2099
- package/dist/chunks/{constants-BkelccB1.mjs → constants-DWpV4hCh.mjs} +186 -58
- package/dist/chunks/{i18next-loader-qjweOJ-t.mjs → i18next-loader-D5HxE5ZQ.mjs} +1 -1
- package/dist/chunks/{lightweight-i18n-vbtPx5C4.mjs → lightweight-i18n-Safdy0ua.mjs} +0 -1
- package/dist/chunks/{messages-CjcSWeud.mjs → messages-1C3OS98e.mjs} +0 -1
- package/dist/chunks/{messages-3bOAVT3X2.mjs → messages-3ePgbbpx2.mjs} +0 -1
- package/dist/chunks/{messages-CG2xl0IV.mjs → messages-6EJxSImH.mjs} +0 -1
- package/dist/{messages-BjnJajTO2.mjs → chunks/messages-6z-ULVyk.mjs} +0 -1
- package/dist/{messages-B8jjwMLK.mjs → chunks/messages-BKtWlK39.mjs} +0 -1
- package/dist/chunks/{messages-CpnXbVOK2.mjs → messages-BM1Su_Uy2.mjs} +0 -1
- package/dist/{messages-DZo0x7Bd.mjs → chunks/messages-BUy3odZo.mjs} +0 -1
- package/dist/{messages-BflWzIcP2.mjs → chunks/messages-BZ45xBlV.mjs} +0 -1
- package/dist/chunks/{messages-Dr7yA3xM.mjs → messages-B_90PYaG.mjs} +0 -1
- package/dist/{messages-49ZJ_ISf.mjs → chunks/messages-B_nVGWdk.mjs} +0 -1
- package/dist/{messages-cOqXp22e.mjs → chunks/messages-BjkDJuqh.mjs} +0 -1
- package/dist/chunks/{messages-CvamFN6x.mjs → messages-BtNOlsMj.mjs} +0 -1
- package/dist/{messages-DmX52AQr.mjs → chunks/messages-C1iQkKu82.mjs} +0 -1
- package/dist/{messages-CaAdEXoh2.mjs → chunks/messages-C1lqY56F2.mjs} +0 -1
- package/dist/chunks/{messages-BoTtYEct2.mjs → messages-C232njMF2.mjs} +0 -1
- package/dist/chunks/{messages-DPe7kW6J.mjs → messages-C3AJz_i6.mjs} +0 -1
- package/dist/{messages-BEDVb3ZX.mjs → chunks/messages-C9XSSqS5.mjs} +0 -1
- package/dist/chunks/{messages-DriB5lEF.mjs → messages-CRxkRJRN.mjs} +0 -1
- package/dist/{messages-XwPD18Kk.mjs → chunks/messages-CVzvKl6U.mjs} +0 -1
- package/dist/chunks/{messages-B_Qcy8kr2.mjs → messages-Cb-x47kY2.mjs} +0 -1
- package/dist/{messages-DvTVsLOK2.mjs → chunks/messages-CejEH4FW2.mjs} +0 -1
- package/dist/{messages-CicggErN2.mjs → chunks/messages-CficsmSH2.mjs} +0 -1
- package/dist/chunks/{messages-CFr0Ha6p2.mjs → messages-ClOxDE0y2.mjs} +0 -1
- package/dist/chunks/{messages-BRrtoRdw2.mjs → messages-Cn5n0nHe2.mjs} +0 -1
- package/dist/{messages-DwPfgL_u.mjs → chunks/messages-CnzaTbel.mjs} +0 -1
- package/dist/chunks/{messages-CIGX0FfW.mjs → messages-Cq6wj6FG.mjs} +0 -1
- package/dist/chunks/{messages-Csq7JatN.mjs → messages-CteKp81J.mjs} +0 -1
- package/dist/{messages-Dr-YJYIK2.mjs → chunks/messages-CvLXClh9.mjs} +0 -1
- package/dist/chunks/{messages-43N0Vfg42.mjs → messages-CxTq0x772.mjs} +0 -1
- package/dist/chunks/{messages-DkSwQvmi2.mjs → messages-CzCqu58X2.mjs} +0 -1
- package/dist/{messages-CkVfziK_2.mjs → chunks/messages-D6SAC8Lc2.mjs} +0 -1
- package/dist/chunks/{messages-Doxcj7Qy.mjs → messages-D7aoKTPD.mjs} +0 -1
- package/dist/chunks/{messages-B0cg-ThO2.mjs → messages-D9nReG4C2.mjs} +0 -1
- package/dist/{messages-g58itYPI.mjs → chunks/messages-D9qyilS0.mjs} +0 -1
- package/dist/chunks/{messages-BQZtOYxr2.mjs → messages-DDRCk44J2.mjs} +0 -1
- package/dist/chunks/{messages-B87-89os.mjs → messages-DDr8J4FE.mjs} +0 -1
- package/dist/{messages-DzhR8Klk.mjs → chunks/messages-DJWRON2S.mjs} +0 -1
- package/dist/{messages-DBwaWI0X.mjs → chunks/messages-DK6pBwD2.mjs} +0 -1
- package/dist/chunks/{messages-BFiMCfDX2.mjs → messages-DNrK8lCg2.mjs} +0 -1
- package/dist/chunks/{messages-D7fI9Pj52.mjs → messages-DQ4VyVJf2.mjs} +0 -1
- package/dist/{messages-BHOI7R4K.mjs → chunks/messages-DacahKek.mjs} +0 -1
- package/dist/chunks/{messages-Bn6LwI4B.mjs → messages-DbS9Oibb.mjs} +0 -1
- package/dist/chunks/{messages-Dg6kSnxq.mjs → messages-DcPtg90i.mjs} +0 -1
- package/dist/{messages-BpA30dPf.mjs → chunks/messages-DfTU2I8J.mjs} +0 -1
- package/dist/{messages-BdA_xvxj.mjs → chunks/messages-Dhe8_mnQ.mjs} +0 -1
- package/dist/{messages-CCKZS2f4.mjs → chunks/messages-DjOY_EqX.mjs} +0 -1
- package/dist/chunks/{messages-DRYKKPk8.mjs → messages-DnPkoMz1.mjs} +0 -1
- package/dist/chunks/{messages-B_uTiuQ-.mjs → messages-DoDbCS02.mjs} +0 -1
- package/dist/chunks/{messages-CRMdL0jG.mjs → messages-DotEkUpQ.mjs} +0 -1
- package/dist/chunks/{messages-DV5c_ZRQ.mjs → messages-Dxrg70jo.mjs} +0 -1
- package/dist/chunks/{messages-CwRhVVui.mjs → messages-DziA-L3p.mjs} +0 -1
- package/dist/{messages-CkAWTSc4.mjs → chunks/messages-IJhiftj5.mjs} +0 -1
- package/dist/chunks/{messages-yuqArCc6.mjs → messages-JRavIeeW.mjs} +0 -1
- package/dist/{messages-CERs9LC9.mjs → chunks/messages-Ul43l29K2.mjs} +0 -1
- package/dist/chunks/{messages-BU_YdaAf.mjs → messages-Yk__PXZQ.mjs} +0 -1
- package/dist/{messages-BX2KVzJp2.mjs → chunks/messages-h474TGR72.mjs} +0 -1
- package/dist/chunks/{messages-M8noQ6Kp2.mjs → messages-hngFJrES2.mjs} +0 -1
- package/dist/chunks/{messages-D0v0Xa_i2.mjs → messages-kHTrX3wo2.mjs} +0 -1
- package/dist/chunks/{messages-DqGQvcXv2.mjs → messages-m6bLP64R2.mjs} +0 -1
- package/dist/chunks/{messages-ClDJuy8K2.mjs → messages-nE9Ko73n2.mjs} +0 -1
- package/dist/chunks/{messages-C0ZWDShx2.mjs → messages-ni0ahgYk2.mjs} +0 -1
- package/dist/chunks/{messages-B7LU-b6n2.mjs → messages-pKUiAqlX2.mjs} +0 -1
- package/dist/{messages-BSlQrYwp.mjs → chunks/messages-rJdSnvyi.mjs} +0 -1
- package/dist/{messages-BrPEPj382.mjs → chunks/messages-tBHnC2Rj2.mjs} +0 -1
- package/dist/chunks/{messages-Cimsel4e.mjs → messages-tg78NAmW.mjs} +0 -1
- package/dist/{messages-CCm71gq3.mjs → chunks/messages-uLIUXFmU.mjs} +0 -1
- package/dist/{messages-BfgHOkAy.mjs → chunks/messages-yJmwc3zD.mjs} +0 -1
- package/dist/chunks/{tools-rsbC2UUN.mjs → tools-CUIpIxxP.mjs} +645 -641
- package/dist/full.mjs +3 -3
- package/dist/locales.mjs +67 -68
- package/dist/{chunks/messages-BhZcNoIQ.mjs → messages--XEfVx572.mjs} +0 -1
- package/dist/{messages-BTNuOkhL.mjs → messages-3aRjZXpv.mjs} +0 -1
- package/dist/{chunks/messages-JyZvGvrN.mjs → messages-6G0Eia-2.mjs} +0 -1
- package/dist/{messages-C3tLCwJp2.mjs → messages-B2bHgIcC2.mjs} +0 -1
- package/dist/{messages-aNMLsF8T2.mjs → messages-B8M4YRFO2.mjs} +0 -1
- package/dist/{messages-Bt_9ptDu.mjs → messages-B9qltgXa.mjs} +0 -1
- package/dist/{messages-CLQvtc_8.mjs → messages-BBgyeB_N.mjs} +0 -1
- package/dist/{messages-BigRnQS92.mjs → messages-BENRci-_2.mjs} +0 -1
- package/dist/{chunks/messages-DihczS7L.mjs → messages-BOxe7ewT.mjs} +0 -1
- package/dist/{chunks/messages-CA-jms9R.mjs → messages-BP8ZuVaD.mjs} +0 -1
- package/dist/{messages-DYlxQEIv.mjs → messages-BQJzUYP-.mjs} +0 -1
- package/dist/{chunks/messages-Cn1AC0Qk.mjs → messages-BU9luYgO.mjs} +0 -1
- package/dist/{messages-CYLYnOV82.mjs → messages-BZgGD0zf2.mjs} +0 -1
- package/dist/{messages-MBBSKGjJ2.mjs → messages-BbLCMWln2.mjs} +0 -1
- package/dist/{chunks/messages-elZUbCrN.mjs → messages-BdJ1lCo_.mjs} +0 -1
- package/dist/{chunks/messages-D3JVx_CH2.mjs → messages-Be1CCcsp2.mjs} +0 -1
- package/dist/{messages-D5KmRsUV2.mjs → messages-BlnZ8CkJ2.mjs} +0 -1
- package/dist/{messages-DDGzypb4.mjs → messages-Bsz7Qgj_.mjs} +0 -1
- package/dist/{messages-DdUpYaJ1.mjs → messages-Bw-GC0m5.mjs} +0 -1
- package/dist/{chunks/messages-FB_MePlt.mjs → messages-BwdowdYD.mjs} +0 -1
- package/dist/{chunks/messages-kC92TJI72.mjs → messages-BxQ1gzJF2.mjs} +0 -1
- package/dist/{messages-C45IBZtA2.mjs → messages-BztXgybv2.mjs} +0 -1
- package/dist/{chunks/messages-M0HT-kBW.mjs → messages-C0gyqo4h2.mjs} +0 -1
- package/dist/{messages-DhdWq5oQ2.mjs → messages-C7R0m6oE2.mjs} +0 -1
- package/dist/{chunks/messages-CtufKbaD.mjs → messages-C8iAUPzI.mjs} +0 -1
- package/dist/{messages-BaGwIHPb2.mjs → messages-CAffVeAE2.mjs} +0 -1
- package/dist/{messages-vssmW7KO.mjs → messages-CB0RKGVM.mjs} +0 -1
- package/dist/{messages-CPx1R-PH.mjs → messages-CE305J0p.mjs} +0 -1
- package/dist/{chunks/messages-Byp0YFMg.mjs → messages-CEhkWwqI.mjs} +0 -1
- package/dist/{messages-D0i5Vdyy2.mjs → messages-CJYE0_hr2.mjs} +0 -1
- package/dist/{messages-CYFdbooL2.mjs → messages-COU4L-pL2.mjs} +0 -1
- package/dist/{messages-BRPH_a6a.mjs → messages-CRMZ79Xf.mjs} +0 -1
- package/dist/{messages-CA0hwajz.mjs → messages-CVBsztOg.mjs} +0 -1
- package/dist/{messages-YfjdnhUF.mjs → messages-C_4VGaBC.mjs} +0 -1
- package/dist/{chunks/messages-D4jR5Oc-.mjs → messages-C_RPN2GV.mjs} +0 -1
- package/dist/{messages-CsM2iz1H2.mjs → messages-CaJRIGUu2.mjs} +0 -1
- package/dist/{messages-BeJaje7e2.mjs → messages-Cb5JJ8C_2.mjs} +0 -1
- package/dist/{chunks/messages-KdvbGwLH.mjs → messages-Cgy54529.mjs} +0 -1
- package/dist/{chunks/messages-CRdl14uE.mjs → messages-CkmVEyEQ2.mjs} +0 -1
- package/dist/{chunks/messages-CzCezryo.mjs → messages-CzSLUJQt.mjs} +0 -1
- package/dist/{chunks/messages-BWbZYIs12.mjs → messages-D6Sr5cUE.mjs} +0 -1
- package/dist/{messages-C0cXOCHN2.mjs → messages-DAssrN5L2.mjs} +0 -1
- package/dist/{messages-CYZVFnaF.mjs → messages-DB9U3VIh.mjs} +0 -1
- package/dist/{messages-DxKIxLKw.mjs → messages-DCOKudVN.mjs} +0 -1
- package/dist/{chunks/messages-DLrmLkco2.mjs → messages-DGZQXeav2.mjs} +0 -1
- package/dist/{chunks/messages-CqsES1wk2.mjs → messages-DZbsds_k2.mjs} +0 -1
- package/dist/{messages-RNusm48G2.mjs → messages-DkkrjINb2.mjs} +0 -1
- package/dist/{messages-DQGzw4IC.mjs → messages-DlrZrm3s.mjs} +0 -1
- package/dist/{messages-D-12TeCM2.mjs → messages-DpY9s4Qi2.mjs} +0 -1
- package/dist/{chunks/messages-BrvAiuWT.mjs → messages-DrouoDgp.mjs} +0 -1
- package/dist/{messages-DWZyaZNA.mjs → messages-GrVSCmXW.mjs} +0 -1
- package/dist/{chunks/messages-BLxyso1L.mjs → messages-K7ROT6ea.mjs} +0 -1
- package/dist/{chunks/messages-B3StvafX.mjs → messages-Kye1BINC.mjs} +0 -1
- package/dist/{chunks/messages-BdWTM73p.mjs → messages-MaHxNgKA.mjs} +0 -1
- package/dist/{messages-2iHnlF0U.mjs → messages-TseLyyoU.mjs} +0 -1
- package/dist/{chunks/messages-iWMOMK822.mjs → messages-e-KHuxtY2.mjs} +0 -1
- package/dist/{messages-DgstU8GH.mjs → messages-eCyczLYY.mjs} +0 -1
- package/dist/{messages-BFT0F9pw.mjs → messages-gldjQk7M.mjs} +0 -1
- package/dist/{chunks/messages-v1HkA3kF2.mjs → messages-huTzItxA.mjs} +0 -1
- package/dist/{messages-BEEr6Vh82.mjs → messages-m1uf_AMy2.mjs} +0 -1
- package/dist/{messages-Dc1yFFBM.mjs → messages-mVFAkdcY.mjs} +0 -1
- package/dist/{chunks/messages-tfyq1JIh2.mjs → messages-oH0ADQ362.mjs} +0 -1
- package/dist/{chunks/messages-Cuk0QaLM.mjs → messages-pgqtPci-.mjs} +0 -1
- package/dist/{messages-DuubRyFf.mjs → messages-q7HzQPVt.mjs} +0 -1
- package/dist/{messages-vfkwiKQo.mjs → messages-ruU_e2LK.mjs} +0 -1
- package/dist/{chunks/messages-Dgfbmyf-.mjs → messages-voUPclMU.mjs} +0 -1
- package/dist/{chunks/messages-DGodJU2R.mjs → messages-wRvz0vQ3.mjs} +0 -1
- package/dist/react.mjs +2 -2
- package/dist/tools.mjs +2 -2
- package/package.json +1 -1
- package/src/blok.ts +0 -1
- package/src/components/constants/data-attributes.ts +2 -0
- package/src/components/core.ts +1 -1
- package/src/components/i18n/locales/am/messages.json +0 -1
- package/src/components/i18n/locales/ar/messages.json +0 -1
- package/src/components/i18n/locales/az/messages.json +0 -1
- package/src/components/i18n/locales/bg/messages.json +0 -1
- package/src/components/i18n/locales/bn/messages.json +0 -1
- package/src/components/i18n/locales/bs/messages.json +0 -1
- package/src/components/i18n/locales/cs/messages.json +0 -1
- package/src/components/i18n/locales/da/messages.json +0 -1
- package/src/components/i18n/locales/de/messages.json +0 -1
- package/src/components/i18n/locales/dv/messages.json +0 -1
- package/src/components/i18n/locales/el/messages.json +0 -1
- package/src/components/i18n/locales/en/messages.json +0 -1
- package/src/components/i18n/locales/es/messages.json +0 -1
- package/src/components/i18n/locales/et/messages.json +0 -1
- package/src/components/i18n/locales/fa/messages.json +0 -1
- package/src/components/i18n/locales/fi/messages.json +0 -1
- package/src/components/i18n/locales/fil/messages.json +0 -1
- package/src/components/i18n/locales/fr/messages.json +1 -2
- package/src/components/i18n/locales/gu/messages.json +0 -1
- package/src/components/i18n/locales/he/messages.json +0 -1
- package/src/components/i18n/locales/hi/messages.json +0 -1
- package/src/components/i18n/locales/hr/messages.json +0 -1
- package/src/components/i18n/locales/hu/messages.json +0 -1
- package/src/components/i18n/locales/hy/messages.json +0 -1
- package/src/components/i18n/locales/id/messages.json +0 -1
- package/src/components/i18n/locales/it/messages.json +0 -1
- package/src/components/i18n/locales/ja/messages.json +0 -1
- package/src/components/i18n/locales/ka/messages.json +0 -1
- package/src/components/i18n/locales/km/messages.json +0 -1
- package/src/components/i18n/locales/kn/messages.json +0 -1
- package/src/components/i18n/locales/ko/messages.json +0 -1
- package/src/components/i18n/locales/ku/messages.json +0 -1
- package/src/components/i18n/locales/lo/messages.json +0 -1
- package/src/components/i18n/locales/lt/messages.json +0 -1
- package/src/components/i18n/locales/lv/messages.json +0 -1
- package/src/components/i18n/locales/mk/messages.json +0 -1
- package/src/components/i18n/locales/ml/messages.json +0 -1
- package/src/components/i18n/locales/mn/messages.json +0 -1
- package/src/components/i18n/locales/mr/messages.json +0 -1
- package/src/components/i18n/locales/ms/messages.json +0 -1
- package/src/components/i18n/locales/my/messages.json +0 -1
- package/src/components/i18n/locales/ne/messages.json +0 -1
- package/src/components/i18n/locales/nl/messages.json +0 -1
- package/src/components/i18n/locales/no/messages.json +0 -1
- package/src/components/i18n/locales/pa/messages.json +0 -1
- package/src/components/i18n/locales/pl/messages.json +0 -1
- package/src/components/i18n/locales/ps/messages.json +0 -1
- package/src/components/i18n/locales/pt/messages.json +0 -1
- package/src/components/i18n/locales/ro/messages.json +0 -1
- package/src/components/i18n/locales/ru/messages.json +0 -1
- package/src/components/i18n/locales/sd/messages.json +0 -1
- package/src/components/i18n/locales/si/messages.json +0 -1
- package/src/components/i18n/locales/sk/messages.json +0 -1
- package/src/components/i18n/locales/sl/messages.json +0 -1
- package/src/components/i18n/locales/sq/messages.json +0 -1
- package/src/components/i18n/locales/sr/messages.json +0 -1
- package/src/components/i18n/locales/sv/messages.json +0 -1
- package/src/components/i18n/locales/sw/messages.json +0 -1
- package/src/components/i18n/locales/ta/messages.json +0 -1
- package/src/components/i18n/locales/te/messages.json +0 -1
- package/src/components/i18n/locales/th/messages.json +0 -1
- package/src/components/i18n/locales/tr/messages.json +0 -1
- package/src/components/i18n/locales/ug/messages.json +0 -1
- package/src/components/i18n/locales/uk/messages.json +0 -1
- package/src/components/i18n/locales/ur/messages.json +0 -1
- package/src/components/i18n/locales/vi/messages.json +0 -1
- package/src/components/i18n/locales/yi/messages.json +0 -1
- package/src/components/i18n/locales/zh/messages.json +0 -1
- package/src/components/icons/index.ts +0 -16
- package/src/components/modules/api/index.ts +1 -1
- package/src/components/modules/api/theme.ts +17 -0
- package/src/components/modules/index.ts +8 -6
- package/src/components/modules/themeManager.ts +160 -0
- package/src/components/modules/toolbar/blockSettings.ts +12 -0
- package/src/components/modules/toolbar/index.ts +27 -1
- package/src/components/ui/toolbox.ts +3 -1
- package/src/components/utils/data-model-transform.ts +149 -5
- package/src/components/utils/popover/popover-desktop.ts +329 -44
- package/src/styles/main.css +1 -1
- package/src/tools/toggle/index.ts +14 -0
- package/src/types-internal/blok-modules.d.ts +6 -4
- package/types/api/index.d.ts +2 -1
- package/types/api/theme.d.ts +29 -0
- package/types/configs/blok-config.d.ts +10 -20
- package/types/index.d.ts +8 -4
- package/types/utils/popover/popover.d.ts +7 -0
- package/src/components/block-tunes/block-tune-width.ts +0 -39
- package/src/components/modules/api/width.ts +0 -17
- package/src/components/modules/widthManager.ts +0 -69
- package/types/api/width.d.ts +0 -19
|
@@ -79,6 +79,13 @@ export interface PopoverParams {
|
|
|
79
79
|
*/
|
|
80
80
|
width?: string;
|
|
81
81
|
|
|
82
|
+
/**
|
|
83
|
+
* Minimum width of the popover in pixels (e.g. '250px').
|
|
84
|
+
* When width is 'auto', the measured content width is clamped
|
|
85
|
+
* to at least this value.
|
|
86
|
+
*/
|
|
87
|
+
minWidth?: string;
|
|
88
|
+
|
|
82
89
|
/**
|
|
83
90
|
* Optional element whose left edge should be used for horizontal positioning.
|
|
84
91
|
* When provided, the popover's left position uses this element's left coordinate
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import type { API, BlockTune } from '../../../types';
|
|
2
|
-
import type { MenuConfig } from '../../../types/tools/menu-config';
|
|
3
|
-
import { IconWidthNarrow, IconWidthFull } from '../icons';
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* WidthTune — opt-in block tune for toggling editor width mode.
|
|
7
|
-
*
|
|
8
|
-
* Register via:
|
|
9
|
-
* import Blok, { WidthTune } from '@blok/editor'
|
|
10
|
-
* new Blok({ tools: { width: WidthTune }, tunes: ['width'] })
|
|
11
|
-
*/
|
|
12
|
-
export class WidthTune implements BlockTune {
|
|
13
|
-
public static readonly isTune = true;
|
|
14
|
-
|
|
15
|
-
private readonly api: API;
|
|
16
|
-
|
|
17
|
-
constructor({ api }: { api: API }) {
|
|
18
|
-
this.api = api;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Tune's appearance in block settings menu
|
|
23
|
-
*/
|
|
24
|
-
public render(): MenuConfig {
|
|
25
|
-
const current = this.api.width.get();
|
|
26
|
-
|
|
27
|
-
return {
|
|
28
|
-
name: 'toggle-width',
|
|
29
|
-
icon: current === 'full' ? IconWidthFull : IconWidthNarrow,
|
|
30
|
-
title: this.api.i18n.t('blockSettings.toggleWidth'),
|
|
31
|
-
isActive: current === 'full',
|
|
32
|
-
toggle: true,
|
|
33
|
-
closeOnActivate: true,
|
|
34
|
-
onActivate: (): void => {
|
|
35
|
-
this.api.width.toggle();
|
|
36
|
-
},
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import type { Width } from '../../../../types/api';
|
|
2
|
-
import { Module } from '../../__module';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* API module for editor-level width mode control.
|
|
6
|
-
*/
|
|
7
|
-
export class WidthAPI extends Module {
|
|
8
|
-
public get methods(): Width {
|
|
9
|
-
const widthManager = this.Blok.WidthManager;
|
|
10
|
-
|
|
11
|
-
return {
|
|
12
|
-
get: () => widthManager.getWidth(),
|
|
13
|
-
set: (mode) => widthManager.setWidth(mode),
|
|
14
|
-
toggle: () => widthManager.toggle(),
|
|
15
|
-
};
|
|
16
|
-
}
|
|
17
|
-
}
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
import { Module } from '../__module';
|
|
2
|
-
|
|
3
|
-
const DEFAULT_NARROW_WIDTH = '650px';
|
|
4
|
-
const DEFAULT_FULL_WIDTH = '100%';
|
|
5
|
-
const CSS_VAR = '--blok-content-width';
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Manages the editor-level width mode.
|
|
9
|
-
*
|
|
10
|
-
* Applies a CSS custom property (--blok-content-width) to the editor wrapper
|
|
11
|
-
* element, which block content elements read via CSS cascade.
|
|
12
|
-
*/
|
|
13
|
-
export class WidthManager extends Module {
|
|
14
|
-
private currentMode: 'narrow' | 'full' = 'narrow';
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* Called by Core after all modules are constructed and wired.
|
|
18
|
-
*/
|
|
19
|
-
public prepare(): void {
|
|
20
|
-
const initialMode = this.config.defaultWidth ?? 'narrow';
|
|
21
|
-
this.currentMode = initialMode;
|
|
22
|
-
this.applyWidth(initialMode);
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* Returns the current width mode.
|
|
27
|
-
*/
|
|
28
|
-
public getWidth(): 'narrow' | 'full' {
|
|
29
|
-
return this.currentMode;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* Sets the editor width mode.
|
|
34
|
-
* No-op if already in the requested mode.
|
|
35
|
-
*/
|
|
36
|
-
public setWidth(mode: 'narrow' | 'full'): void {
|
|
37
|
-
if (this.currentMode === mode) {
|
|
38
|
-
return;
|
|
39
|
-
}
|
|
40
|
-
this.currentMode = mode;
|
|
41
|
-
this.applyWidth(mode);
|
|
42
|
-
|
|
43
|
-
const callback = this.config.onWidthChange;
|
|
44
|
-
if (typeof callback === 'function') {
|
|
45
|
-
callback(mode, this.resolveValue(mode));
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* Toggles between 'narrow' and 'full'.
|
|
51
|
-
*/
|
|
52
|
-
public toggle(): void {
|
|
53
|
-
this.setWidth(this.currentMode === 'narrow' ? 'full' : 'narrow');
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
// ─── Private ───────────────────────────────────────────────────────────────
|
|
57
|
-
|
|
58
|
-
private applyWidth(mode: 'narrow' | 'full'): void {
|
|
59
|
-
const value = this.resolveValue(mode);
|
|
60
|
-
this.Blok.UI.nodes.wrapper.style.setProperty(CSS_VAR, value);
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
private resolveValue(mode: 'narrow' | 'full'): string {
|
|
64
|
-
if (mode === 'narrow') {
|
|
65
|
-
return this.config.narrowWidth ?? DEFAULT_NARROW_WIDTH;
|
|
66
|
-
}
|
|
67
|
-
return this.config.fullWidth ?? DEFAULT_FULL_WIDTH;
|
|
68
|
-
}
|
|
69
|
-
}
|
package/types/api/width.d.ts
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Describes the editor-level width mode API
|
|
3
|
-
*/
|
|
4
|
-
export interface Width {
|
|
5
|
-
/**
|
|
6
|
-
* Returns the current width mode
|
|
7
|
-
*/
|
|
8
|
-
get(): 'narrow' | 'full';
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Sets the width mode
|
|
12
|
-
*/
|
|
13
|
-
set(mode: 'narrow' | 'full'): void;
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* Toggles between 'narrow' and 'full'
|
|
17
|
-
*/
|
|
18
|
-
toggle(): void;
|
|
19
|
-
}
|