@templatical/editor 0.5.0 → 0.6.0

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.
Files changed (156) hide show
  1. package/dist/AccessibilityPanel-CvQGLdu6.js +108 -0
  2. package/dist/{AiChatSidebar-Cg206ewI.js → AiChatSidebar-Br9dhkIB.js} +17 -16
  3. package/dist/{AiFeatureMenu-vatvCD-m.js → AiFeatureMenu-Ceewb3uB.js} +13 -13
  4. package/dist/BlockA11yBadge-CXDLqkcJ.js +34 -0
  5. package/dist/{CloudEditor-Bxe8Jt9u.js → CloudEditor-D_flODpm.js} +306 -217
  6. package/dist/{CollaboratorBar-Dv7VT09N.js → CollaboratorBar-BcSxXVY-.js} +4 -4
  7. package/dist/{CommentsSidebar-BAma2apG.js → CommentsSidebar-DceMRyIS.js} +26 -25
  8. package/dist/{CountdownBlock-Ce3RFNpM.js → CountdownBlock-BNSj1jvJ.js} +2 -2
  9. package/dist/{CountdownToolbar-Bo3Jaiky.js → CountdownToolbar-ClJr2GzL.js} +3 -3
  10. package/dist/{DesignReferenceSidebar-B8DDnLHQ.js → DesignReferenceSidebar-50qFipmW.js} +30 -29
  11. package/dist/{LoadingTrack-DhxulLPM.js → LoadingTrack-B0CWFHXQ.js} +1 -1
  12. package/dist/{ModuleBrowserModal-DAnqdlyq.js → ModuleBrowserModal-BnSdG4DE.js} +10 -10
  13. package/dist/{ModulePreviewCanvas-CXApEVEG.js → ModulePreviewCanvas-B78PuZdk.js} +2 -2
  14. package/dist/{NumberWithSuffix-BysfchFp.js → NumberWithSuffix-DkXUez9t.js} +3 -3
  15. package/dist/{ParagraphEditor-Bjdakcoz.js → ParagraphEditor-CPBYk2m3.js} +44 -43
  16. package/dist/{RichTextEditorContent-jxPxfbfZ.js → RichTextEditorContent-DYkIauIk.js} +4 -4
  17. package/dist/{SaveModuleDialog-CZXltahx.js → SaveModuleDialog-Df__VToK.js} +7 -7
  18. package/dist/{SnapshotHistory-OqEkaA0W.js → SnapshotHistory-QBTbVrEK.js} +9 -9
  19. package/dist/{TemplateScoringPanel-BmAHdgLF.js → TemplateScoringPanel-4GTNHej5.js} +29 -27
  20. package/dist/{TestEmailModal-CvEK6MTy.js → TestEmailModal-DaDMACHY.js} +4 -4
  21. package/dist/{TitleEditor-CxCD70Bs.js → TitleEditor-PHShl4tS.js} +11 -11
  22. package/dist/{TplModal-C2Hoz1it.js → TplModal-DzlNkBYQ.js} +2 -2
  23. package/dist/_plugin-vue_export-helper-B0hnzhyu.js +8 -0
  24. package/dist/accessibility-e8JYu_zd.js +27 -0
  25. package/dist/{blockTypeIcons-DpJa9awv.js → blockTypeIcons-D0wkSpP9.js} +2 -2
  26. package/dist/bundle-stats.json +8 -8
  27. package/dist/cdn/chunks/AccessibilityPanel-DmQIqpp1.js +97 -0
  28. package/dist/cdn/chunks/AccessibilityPanel-DmQIqpp1.js.map +1 -0
  29. package/dist/cdn/chunks/{AiFeatureMenu-BggCm6wN.js → AiFeatureMenu-D0kJ0FMv.js} +5 -5
  30. package/dist/cdn/chunks/{AiFeatureMenu-BggCm6wN.js.map → AiFeatureMenu-D0kJ0FMv.js.map} +1 -1
  31. package/dist/cdn/chunks/BlockA11yBadge-DWi7e6UQ.js +33 -0
  32. package/dist/cdn/chunks/BlockA11yBadge-DWi7e6UQ.js.map +1 -0
  33. package/dist/cdn/chunks/{CloudEditor-CTNhzoZ1.js → CloudEditor-ulKjC0Ag.js} +253 -166
  34. package/dist/cdn/chunks/CloudEditor-ulKjC0Ag.js.map +1 -0
  35. package/dist/cdn/chunks/{CollaboratorBar-De-3lvDy.js → CollaboratorBar-Bp9LwcWB.js} +6 -6
  36. package/dist/cdn/chunks/{CollaboratorBar-De-3lvDy.js.map → CollaboratorBar-Bp9LwcWB.js.map} +1 -1
  37. package/dist/cdn/chunks/{CountdownBlock-CUAl8R-c.js → CountdownBlock-XFPbUKXw.js} +2 -2
  38. package/dist/cdn/chunks/{CountdownBlock-CUAl8R-c.js.map → CountdownBlock-XFPbUKXw.js.map} +1 -1
  39. package/dist/cdn/chunks/{CountdownToolbar-3zLcGAcb.js → CountdownToolbar-DndLWUgz.js} +3 -3
  40. package/dist/cdn/chunks/{CountdownToolbar-3zLcGAcb.js.map → CountdownToolbar-DndLWUgz.js.map} +1 -1
  41. package/dist/cdn/chunks/{ModuleBrowserModal-CxICY31A.js → ModuleBrowserModal-ClY6A8bi.js} +7 -7
  42. package/dist/cdn/chunks/{ModuleBrowserModal-CxICY31A.js.map → ModuleBrowserModal-ClY6A8bi.js.map} +1 -1
  43. package/dist/cdn/chunks/{ModulePreviewCanvas-Cv0zciNS.js → ModulePreviewCanvas-eQExlHRD.js} +18 -18
  44. package/dist/cdn/chunks/{ModulePreviewCanvas-Cv0zciNS.js.map → ModulePreviewCanvas-eQExlHRD.js.map} +1 -1
  45. package/dist/cdn/chunks/{NumberWithSuffix-BaVxnNI4.js → NumberWithSuffix-Cf5C9rpj.js} +4 -4
  46. package/dist/cdn/chunks/{NumberWithSuffix-BaVxnNI4.js.map → NumberWithSuffix-Cf5C9rpj.js.map} +1 -1
  47. package/dist/cdn/chunks/{ParagraphEditor-BrzlI8vp.js → ParagraphEditor-B5AvuetS.js} +57 -57
  48. package/dist/cdn/chunks/ParagraphEditor-B5AvuetS.js.map +1 -0
  49. package/dist/cdn/chunks/{RichTextEditorContent-9vq4MRDp.js → RichTextEditorContent-hCk4SA8U.js} +4 -4
  50. package/dist/cdn/chunks/{RichTextEditorContent-9vq4MRDp.js.map → RichTextEditorContent-hCk4SA8U.js.map} +1 -1
  51. package/dist/cdn/chunks/{SaveModuleDialog-Lco3k1xX.js → SaveModuleDialog-Borv00Kh.js} +3 -3
  52. package/dist/cdn/chunks/{SaveModuleDialog-Lco3k1xX.js.map → SaveModuleDialog-Borv00Kh.js.map} +1 -1
  53. package/dist/cdn/chunks/{TitleEditor-BiiEtH7x.js → TitleEditor-BkzRNsEg.js} +12 -12
  54. package/dist/cdn/chunks/TitleEditor-BkzRNsEg.js.map +1 -0
  55. package/dist/cdn/chunks/blockTypeIcons-Dlw0LR_y.js +22 -0
  56. package/dist/cdn/chunks/{blockTypeIcons-DWhn7E7O.js.map → blockTypeIcons-Dlw0LR_y.js.map} +1 -1
  57. package/dist/cdn/chunks/{de-CGu9U1iv.js → de-Ce-LbJ2J.js} +1 -1
  58. package/dist/cdn/chunks/{de-CGu9U1iv.js.map → de-Ce-LbJ2J.js.map} +1 -1
  59. package/dist/{de-tDioEErp.js → cdn/chunks/de-D8CnZxV9.js} +24 -4
  60. package/dist/cdn/chunks/de-D8CnZxV9.js.map +1 -0
  61. package/dist/{de-CbSb23fl.js → cdn/chunks/de-RQrZR56a.js} +8 -0
  62. package/dist/cdn/chunks/{de-Db6I9YdS.js.map → de-RQrZR56a.js.map} +1 -1
  63. package/dist/cdn/chunks/{emojiData-Vv_m5TSB.js → emojiData-EMFlj6FJ.js} +1 -1
  64. package/dist/cdn/chunks/{emojiData-Vv_m5TSB.js.map → emojiData-EMFlj6FJ.js.map} +1 -1
  65. package/dist/{en-W2p7oPaa.js → cdn/chunks/en-8FHaQv4V.js} +24 -4
  66. package/dist/cdn/chunks/en-8FHaQv4V.js.map +1 -0
  67. package/dist/{en-2fvenFu0.js → cdn/chunks/en-Bl1ecfRF.js} +8 -0
  68. package/dist/cdn/chunks/{en-BbqBJ2Q3.js.map → en-Bl1ecfRF.js.map} +1 -1
  69. package/dist/cdn/chunks/{en-C3WMCISl.js → en-DiCWK5fG.js} +1 -1
  70. package/dist/cdn/chunks/{en-C3WMCISl.js.map → en-DiCWK5fG.js.map} +1 -1
  71. package/dist/cdn/chunks/{extensions-C6oPJqKD.js → extensions-Bseybosy.js} +48 -36
  72. package/dist/cdn/chunks/{extensions-C6oPJqKD.js.map → extensions-Bseybosy.js.map} +1 -1
  73. package/dist/cdn/chunks/{features-DV4PhoBs.js → features-C256qERn.js} +828 -765
  74. package/dist/cdn/chunks/features-C256qERn.js.map +1 -0
  75. package/dist/cdn/chunks/{icons-LJ8U8lWI.js → icons-BfGy6HC_.js} +99 -52
  76. package/dist/cdn/chunks/icons-BfGy6HC_.js.map +1 -0
  77. package/dist/cdn/chunks/{media-library-CWQAvfov.js → media-library-hjXJlR6s.js} +217 -217
  78. package/dist/cdn/chunks/{media-library-CWQAvfov.js.map → media-library-hjXJlR6s.js.map} +1 -1
  79. package/dist/cdn/chunks/quality-CqLOOUnE.js +1404 -0
  80. package/dist/cdn/chunks/quality-CqLOOUnE.js.map +1 -0
  81. package/dist/cdn/chunks/{readableTextColor-Cd_cgWO_.js → readableTextColor-DhoK4XiZ.js} +1 -1
  82. package/dist/cdn/chunks/{readableTextColor-Cd_cgWO_.js.map → readableTextColor-DhoK4XiZ.js.map} +1 -1
  83. package/dist/cdn/chunks/{dist-DFfcnJJB.js → renderer-Dbtez0lY.js} +178 -126
  84. package/dist/cdn/chunks/renderer-Dbtez0lY.js.map +1 -0
  85. package/dist/cdn/chunks/{src-CVBDXDBH.js → src-MOXq0pRK.js} +11 -11
  86. package/dist/cdn/chunks/{src-CVBDXDBH.js.map → src-MOXq0pRK.js.map} +1 -1
  87. package/dist/cdn/chunks/{styles-CFnn-xE6.js → styles-COCYlkQY.js} +577 -485
  88. package/dist/cdn/chunks/styles-COCYlkQY.js.map +1 -0
  89. package/dist/cdn/chunks/{tiptap-kGWe8qnA.js → tiptap-CX3vCeHQ.js} +2 -2
  90. package/dist/cdn/chunks/{tiptap-kGWe8qnA.js.map → tiptap-CX3vCeHQ.js.map} +1 -1
  91. package/dist/cdn/editor.css +1 -1
  92. package/dist/cdn/editor.js +87 -86
  93. package/dist/cdn/editor.js.map +1 -1
  94. package/dist/{check-Om8IxvJb.js → check-Da05j8yl.js} +1 -1
  95. package/dist/{chevron-down-SG7QNtDl.js → chevron-down-R2uY34iD.js} +1 -1
  96. package/dist/{circle-alert-De74azaX.js → circle-alert-DZuGWPX-.js} +1 -1
  97. package/dist/{clock-Dr7rX_PG.js → clock-CRp2sIub.js} +1 -1
  98. package/dist/{cloud-B1NAFg44.js → cloud-WfWdqZVK.js} +1 -1
  99. package/dist/{_plugin-vue_export-helper-GRmvIR5A.js → createLucideIcon-C3pa2siy.js} +2 -6
  100. package/dist/{cdn/chunks/de-DEg-6TsA.js → de-Brqvgr43.js} +22 -6
  101. package/dist/{cdn/chunks/de-Db6I9YdS.js → de-DCaaCE5s.js} +6 -2
  102. package/dist/{dist-CuyhAnuE.js → dist-B1IR0bpH.js} +65 -53
  103. package/dist/{dist-QoJxR1uP.js → dist-BFawx6IS.js} +1 -1
  104. package/dist/{dist-H7npgW0s.js → dist-BaQIYPsn.js} +1 -1
  105. package/dist/{dist-C4m7p7Wb.js → dist-Cp0zXPAD.js} +1 -1
  106. package/dist/{dist--8ZUsIQD.js → dist-D6uC2xhi.js} +1 -1
  107. package/dist/{dist-BMMiVjHs.js → dist-D90y8dvT.js} +3 -3
  108. package/dist/{dist--e2w6FN-.js → dist-DDJIWTRY.js} +1 -1
  109. package/dist/{dist-e0ylhlSV.js → dist-DJmnUmW9.js} +2 -1
  110. package/dist/{dist-BOSn1353.js → dist-DjviJBCi.js} +1 -1
  111. package/dist/{dist-BsiDC2rP.js → dist-KoBJjK1G.js} +1 -1
  112. package/dist/{dist-BNZS_qhu.js → dist-aRzjfSRN.js} +1 -1
  113. package/dist/{dist-3AzSJz2x.js → dist-us-RpCWN.js} +1 -1
  114. package/dist/{dist-DPsMHsAW.js → dist-wzMIGj-D.js} +1 -1
  115. package/dist/{cdn/chunks/en-BbqBJ2Q3.js → en-DXCyK4-X.js} +6 -2
  116. package/dist/{cdn/chunks/en-DpHxxBnH.js → en-WDVp87TE.js} +22 -6
  117. package/dist/{extensions-BQjnrlGT.js → extensions-CUcl9Ok4.js} +37 -25
  118. package/dist/{image-up-10kxuulB.js → image-up-MBZKKg9p.js} +1 -1
  119. package/dist/index.d.ts +25 -8
  120. package/dist/info-CJEC7piy.js +19 -0
  121. package/dist/{keys-BeW4IrXP.js → keys-ciNfSSGj.js} +3 -3
  122. package/dist/{loader-circle-IS16T05j.js → loader-circle-DsY5Yg33.js} +1 -1
  123. package/dist/{message-circle-3R472hDc.js → message-circle-yElBbR2C.js} +1 -1
  124. package/dist/{refresh-cw-CpmOfpPK.js → refresh-cw-CE_AGtn8.js} +3 -18
  125. package/dist/{scan-line-J_fzG2Wo.js → scan-line-D0vcUekt.js} +1 -1
  126. package/dist/{send-DRkFf4hP.js → send-DH4oDQqC.js} +1 -1
  127. package/dist/{shield-check-DtXk7JKN.js → shield-check-CfJgs2Hd.js} +1 -1
  128. package/dist/{sparkles-CD7TiNiC.js → sparkles-CvRXGqFs.js} +1 -1
  129. package/dist/style.css +1 -1
  130. package/dist/{styles-CdrFC7-K.js → styles-B58wYIn4.js} +590 -477
  131. package/dist/templatical-editor.js +90 -89
  132. package/dist/{text-align-start-B8M9hruh.js → text-align-start-BT9VUDxK.js} +1 -1
  133. package/dist/{trash-2-cEVwp-r_.js → trash-2-DbP2Y6t2.js} +1 -1
  134. package/dist/{triangle-alert-8CkexIzx.js → triangle-alert-aOXceTSe.js} +1 -1
  135. package/dist/{useCloudI18n-D0Fi0hBU.js → useCloudI18n-BuIwR6OE.js} +1 -1
  136. package/dist/{useEditorCore-JdLcaPeJ.js → useEditorCore-Dz-qbVXX.js} +2100 -2049
  137. package/dist/{useI18n-Jp3X6Q0t.js → useI18n-lb2DHDiu.js} +1 -1
  138. package/dist/{useMergeTag-BfFykpYl.js → useMergeTag-CBwKnnNB.js} +4 -4
  139. package/dist/{x-BNc1bVzp.js → x-u2oVmjN_.js} +1 -1
  140. package/package.json +10 -5
  141. package/dist/cdn/chunks/CloudEditor-CTNhzoZ1.js.map +0 -1
  142. package/dist/cdn/chunks/ParagraphEditor-BrzlI8vp.js.map +0 -1
  143. package/dist/cdn/chunks/TitleEditor-BiiEtH7x.js.map +0 -1
  144. package/dist/cdn/chunks/blockTypeIcons-DWhn7E7O.js +0 -22
  145. package/dist/cdn/chunks/de-DEg-6TsA.js.map +0 -1
  146. package/dist/cdn/chunks/dist-DFfcnJJB.js.map +0 -1
  147. package/dist/cdn/chunks/en-DpHxxBnH.js.map +0 -1
  148. package/dist/cdn/chunks/features-DV4PhoBs.js.map +0 -1
  149. package/dist/cdn/chunks/icons-LJ8U8lWI.js.map +0 -1
  150. package/dist/cdn/chunks/styles-CFnn-xE6.js.map +0 -1
  151. /package/dist/{dist-CmrXHeJS.js → dist-iLBdeBDR.js} +0 -0
  152. /package/dist/{emojiData-DcYt1YZ3.js → emojiData-PQyVa4bU.js} +0 -0
  153. /package/dist/{formatRelativeTime-MungD2xr.js → formatRelativeTime-WvH3Au71.js} +0 -0
  154. /package/dist/{liquid.browser-BohVA1YU.js → liquid.browser-CdMv1BTn.js} +0 -0
  155. /package/dist/{readableTextColor-Uc7ntzXo.js → readableTextColor-CY3SiRnt.js} +0 -0
  156. /package/dist/{styleConstants-Beu6EmBc.js → styleConstants-fWzlIIwN.js} +0 -0
@@ -1,26 +1,34 @@
1
1
  import { a as e } from "./rolldown-runtime-BNuo_Jkg.js";
2
2
  import { $ as t, B as n, E as r, F as i, H as a, I as o, N as s, R as c, S as l, U as u, Z as d, _ as f, at as p, b as m, c as h, ct as g, d as _, g as v, h as y, k as b, l as x, lt as S, m as C, n as w, p as T, s as E, st as D, t as O, u as k, x as A, y as j } from "./draggable-Bcb86AsV.js";
3
- import { A as ee, B as M, Et as te, F as N, G as ne, Gt as re, H as ie, Ht as P, I as F, It as ae, K as oe, Kt as se, L as ce, Lt as le, M as ue, Mt as I, N as de, P as fe, Pt as pe, Q as me, Qt as he, R as ge, Rt as _e, St as ve, U as ye, Ut as be, V as xe, Vt as Se, W as Ce, Wt as we, Z as Te, _n as Ee, _t as De, at as Oe, bn as ke, bt as Ae, cn as je, dn as Me, dt as Ne, fn as Pe, gn as Fe, gt as Ie, j as Le, jt as Re, kt as ze, mn as Be, nt as Ve, qt as He, rt as Ue, sn as We, st as Ge, tt as L, un as Ke, vn as R, vt as qe, wt as Je, xt as Ye, yt as Xe } from "./features-DV4PhoBs.js";
4
- import { A as Ze, B as Qe, F as $e, I as et, M as tt, N as nt, O as rt, P as z, T as B, _ as it, a as V, b as at, c as ot, h as st, m as ct, o as H, q as lt, s as ut, u as dt, v as ft } from "./icons-LJ8U8lWI.js";
5
- import { t as pt } from "./readableTextColor-Cd_cgWO_.js";
6
- import { t as mt } from "./CountdownBlock-CUAl8R-c.js";
7
- import { t as ht } from "./blockTypeIcons-DWhn7E7O.js";
8
- import { _ as gt, c as _t, f as U, g as vt, h as W, l as yt, m as G, p as K, t as bt } from "./styleConstants-DP1VOca8.js";
9
- import { i as q, n as J, r as Y, t as xt } from "./NumberWithSuffix-BaVxnNI4.js";
3
+ import { A as ee, At as M, B as te, Bt as N, Ct as ne, Dt as re, F as ie, G as ae, Gt as P, H as F, I as oe, It as se, Jt as ce, K as le, Kt as ue, L as de, M as fe, Mt as pe, N as me, Nt as I, P as he, Pt as ge, Q as _e, R as ve, Rt as ye, Sn as be, St as xe, Tt as Se, U as Ce, Ut as we, V as Te, W as Ee, Wt as De, Yt as Oe, Z as ke, _t as Ae, bn as L, bt as je, ct as Me, en as Ne, fn as Pe, ft as Fe, gn as Ie, j as Le, ln as Re, mn as ze, nt as Be, ot as Ve, pn as He, qt as Ue, rt as We, tt as R, un as Ge, vn as Ke, vt as qe, xt as Je, yn as Ye, yt as Xe, zt as Ze } from "./features-C256qERn.js";
4
+ import { E as z, F as B, G as Qe, I as $e, L as et, N as tt, P as nt, Q as rt, V as it, Y as at, c as V, d as ot, g as st, h as ct, j as lt, k as ut, l as dt, o as H, s as ft, v as pt, x as mt, y as ht } from "./icons-BfGy6HC_.js";
5
+ import { t as gt } from "./readableTextColor-DhoK4XiZ.js";
6
+ import { t as _t } from "./CountdownBlock-XFPbUKXw.js";
7
+ import { t as vt } from "./blockTypeIcons-Dlw0LR_y.js";
8
+ import { _ as yt, c as bt, f as U, g as xt, h as W, l as St, m as G, p as K, t as Ct } from "./styleConstants-DP1VOca8.js";
9
+ import { i as q, n as J, r as Y, t as wt } from "./NumberWithSuffix-Cf5C9rpj.js";
10
+ //#region src/utils/resolveAccessibilityOptions.ts
11
+ function Tt(e) {
12
+ return {
13
+ ...e.accessibility,
14
+ locale: e.locale
15
+ };
16
+ }
17
+ //#endregion
10
18
  //#region src/components/Canvas.vue?vue&type=script&setup=true&lang.ts
11
- var St = /* @__PURE__ */ e(O(), 1), Ct = ["aria-label"], wt = { class: "tpl:relative" }, Tt = {
19
+ var Et = /* @__PURE__ */ e(O(), 1), Dt = ["aria-label"], Ot = { class: "tpl:relative" }, kt = {
12
20
  class: "tpl:inline-flex tpl:size-3 tpl:items-center tpl:justify-center tpl:rounded-full tpl:text-[8px] tpl:font-bold",
13
21
  style: { "background-color": "color-mix(\n in srgb,\n var(--tpl-bg) 30%,\n transparent\n )" }
14
- }, Et = {
22
+ }, At = {
15
23
  key: 0,
16
24
  class: "tpl-canvas-empty tpl:m-6 tpl:flex tpl:min-h-[400px] tpl:flex-col tpl:items-center tpl:justify-center tpl:rounded-xl tpl:border-2 tpl:border-dashed tpl:px-10 tpl:py-12 tpl:text-center tpl:border-[var(--tpl-primary)] tpl:bg-[var(--tpl-bg-elevated)] tpl:font-[var(--tpl-font-family)]"
17
- }, Dt = { class: "tpl-canvas-empty-icon tpl:mb-4 tpl:text-[var(--tpl-primary)]" }, Ot = { class: "tpl-canvas-empty-title tpl:m-0 tpl:mb-2 tpl:text-base tpl:font-semibold tpl:text-[var(--tpl-primary)]" }, kt = { class: "tpl-canvas-empty-text tpl:m-0 tpl:text-sm tpl:text-[var(--tpl-text-dim)]" }, At = {
25
+ }, jt = { class: "tpl-canvas-empty-icon tpl:mb-4 tpl:text-[var(--tpl-primary)]" }, Mt = { class: "tpl-canvas-empty-title tpl:m-0 tpl:mb-2 tpl:text-base tpl:font-semibold tpl:text-[var(--tpl-primary)]" }, Nt = { class: "tpl-canvas-empty-text tpl:m-0 tpl:text-sm tpl:text-[var(--tpl-text-dim)]" }, Pt = {
18
26
  key: 0,
19
27
  class: "tpl:m-0 tpl:mt-2 tpl:flex tpl:flex-wrap tpl:items-center tpl:justify-center tpl:gap-x-1 tpl:gap-y-0.5 tpl:text-sm tpl:text-[var(--tpl-text-dim)]"
20
- }, jt = {
28
+ }, Ft = {
21
29
  key: 1,
22
30
  class: "tpl:m-0 tpl:mt-4 tpl:flex tpl:flex-wrap tpl:items-center tpl:justify-center tpl:gap-x-1 tpl:gap-y-0.5 tpl:text-sm tpl:text-[var(--tpl-text-dim)]"
23
- }, Mt = /* @__PURE__ */ L(/* @__PURE__ */ l({
31
+ }, It = /* @__PURE__ */ R(/* @__PURE__ */ l({
24
32
  __name: "Canvas",
25
33
  props: {
26
34
  viewport: {},
@@ -37,21 +45,21 @@ var St = /* @__PURE__ */ e(O(), 1), Ct = ["aria-label"], wt = { class: "tpl:rela
37
45
  ],
38
46
  setup(e, { emit: t }) {
39
47
  let n = {
40
- section: F,
41
- title: ce,
42
- paragraph: xe,
43
- image: ye,
44
- button: ze,
45
- divider: ne,
46
- spacer: ue,
47
- html: Ce,
48
- social: de,
49
- menu: ie,
48
+ section: oe,
49
+ title: de,
50
+ paragraph: Te,
51
+ image: Ce,
52
+ button: M,
53
+ divider: ae,
54
+ spacer: fe,
55
+ html: Ee,
56
+ social: me,
57
+ menu: F,
50
58
  table: Le,
51
59
  video: ee,
52
- countdown: mt,
53
- custom: oe
54
- }, i = e, o = t, { t: l } = I(), { t: d } = me(), _ = he(we, "Canvas"), b = r(Se, null), x = r(le, null), w = r(_e, {}), E = T(() => (w.plan?.hasFeature("ai_generation") ?? !1) && (w.ai?.isFeatureEnabled("chat") ?? !1)), O = T(() => (w.plan?.hasFeature("ai_generation") ?? !1) && (w.ai?.isFeatureEnabled("designToTemplate") ?? !1)), k = T({
60
+ countdown: _t,
61
+ custom: le
62
+ }, i = e, o = t, { t: l } = I(), { t: d } = _e(), _ = Ne(ue, "Canvas"), b = r(we, null), x = r(Ze, null), w = r(N, {}), E = T(() => (w.plan?.hasFeature("ai_generation") ?? !1) && (w.ai?.isFeatureEnabled("chat") ?? !1)), O = T(() => (w.plan?.hasFeature("ai_generation") ?? !1) && (w.ai?.isFeatureEnabled("designToTemplate") ?? !1)), k = T({
55
63
  get: () => i.content.blocks,
56
64
  set: (e) => {
57
65
  _.setContent({
@@ -65,20 +73,20 @@ var St = /* @__PURE__ */ e(O(), 1), Ct = ["aria-label"], wt = { class: "tpl:rela
65
73
  case "tablet": return 768;
66
74
  default: return i.content.settings.width;
67
75
  }
68
- }), te = T(() => ({
76
+ }), ne = T(() => ({
69
77
  backgroundColor: i.content.settings.backgroundColor,
70
78
  fontFamily: i.content.settings.fontFamily
71
79
  }));
72
- function N(e) {
80
+ function re(e) {
73
81
  i.previewMode || e.target === e.currentTarget && o("select-block", null);
74
82
  }
75
- function re(e) {
76
- return M(e, x, n);
83
+ function ie(e) {
84
+ return te(e, x, n);
77
85
  }
78
86
  function P(e) {
79
87
  return i.lockedBlocks?.get(e) ?? null;
80
88
  }
81
- function ae(e, t) {
89
+ function se(e, t) {
82
90
  e.type === "custom" && _.updateBlock(e.id, {
83
91
  fieldValues: t.fieldValues,
84
92
  dataSourceFetched: t.dataSourceFetched
@@ -101,9 +109,9 @@ var St = /* @__PURE__ */ e(O(), 1), Ct = ["aria-label"], wt = { class: "tpl:rela
101
109
  "tpl-canvas--dark-mode": e.darkMode,
102
110
  "tpl-preview-mode": e.previewMode
103
111
  }]),
104
- style: g(te.value),
105
- onClick: N
106
- }, [m(p(St.default), {
112
+ style: g(ne.value),
113
+ onClick: re
114
+ }, [m(p(Et.default), {
107
115
  modelValue: k.value,
108
116
  "onUpdate:modelValue": n[2] ||= (e) => k.value = e,
109
117
  group: "blocks",
@@ -117,7 +125,7 @@ var St = /* @__PURE__ */ e(O(), 1), Ct = ["aria-label"], wt = { class: "tpl:rela
117
125
  disabled: e.previewMode,
118
126
  class: "tpl-canvas-blocks"
119
127
  }, {
120
- item: a(({ element: t }) => [u(C("div", null, [C("div", wt, [P(t.id) ? (s(), f("div", {
128
+ item: a(({ element: t }) => [u(C("div", null, [C("div", Ot, [P(t.id) ? (s(), f("div", {
121
129
  key: 0,
122
130
  class: "tpl-collab-lock tpl:pointer-events-none tpl:absolute tpl:inset-0 tpl:z-[4] tpl:rounded-sm",
123
131
  style: g({
@@ -128,19 +136,19 @@ var St = /* @__PURE__ */ e(O(), 1), Ct = ["aria-label"], wt = { class: "tpl:rela
128
136
  class: "tpl:absolute tpl:-top-0.5 tpl:left-1/2 tpl:z-[5] tpl:flex tpl:-translate-x-1/2 tpl:-translate-y-full tpl:items-center tpl:gap-1 tpl:rounded-full tpl:px-2 tpl:py-0.5 tpl:text-[10px] tpl:font-medium tpl:whitespace-nowrap",
129
137
  style: g({
130
138
  backgroundColor: P(t.id).color,
131
- color: p(pt)(P(t.id).color)
139
+ color: p(gt)(P(t.id).color)
132
140
  })
133
- }, [C("span", Tt, S(P(t.id).name.charAt(0)), 1), j(" " + S(P(t.id).name), 1)], 4)], 4)) : v("", !0), m(ge, {
141
+ }, [C("span", kt, S(P(t.id).name.charAt(0)), 1), j(" " + S(P(t.id).name), 1)], 4)], 4)) : v("", !0), m(ve, {
134
142
  block: t,
135
143
  "is-selected": !e.previewMode && e.selectedBlockId === t.id && !P(t.id),
136
144
  viewport: e.viewport,
137
145
  "preview-mode": e.previewMode,
138
146
  onSelect: (n) => e.previewMode || P(t.id) ? void 0 : o("select-block", t.id)
139
147
  }, {
140
- default: a(() => [(s(), y(c(re(t)), {
148
+ default: a(() => [(s(), y(c(ie(t)), {
141
149
  block: t,
142
150
  viewport: e.viewport,
143
- onFetchData: (e) => ae(t, e),
151
+ onFetchData: (e) => se(t, e),
144
152
  onUpdate: (e) => p(_).updateBlock(t.id, e)
145
153
  }, null, 40, [
146
154
  "block",
@@ -156,30 +164,30 @@ var St = /* @__PURE__ */ e(O(), 1), Ct = ["aria-label"], wt = { class: "tpl:rela
156
164
  "preview-mode",
157
165
  "onSelect"
158
166
  ])])], 512), [[h, !p(b)?.isHidden(t.id)]])]),
159
- footer: a(() => [k.value.length === 0 && !e.previewMode ? (s(), f("div", Et, [
160
- C("div", Dt, [m(p(st), {
167
+ footer: a(() => [k.value.length === 0 && !e.previewMode ? (s(), f("div", At, [
168
+ C("div", jt, [m(p(st), {
161
169
  size: 48,
162
170
  "stroke-width": 1
163
171
  })]),
164
- C("p", Ot, S(p(l).canvas.noBlocks), 1),
165
- C("p", kt, S(p(l).canvas.dragHint), 1),
166
- E.value && p(d) ? (s(), f("p", At, [
172
+ C("p", Mt, S(p(l).canvas.noBlocks), 1),
173
+ C("p", Nt, S(p(l).canvas.dragHint), 1),
174
+ E.value && p(d) ? (s(), f("p", Pt, [
167
175
  j(S(p(l).canvas.aiHintChat) + " ", 1),
168
176
  C("button", {
169
177
  class: "tpl:inline-flex tpl:shrink-0 tpl:cursor-pointer tpl:items-center tpl:gap-1 tpl:whitespace-nowrap tpl:rounded-[var(--tpl-radius-sm)] tpl:border-none tpl:px-2 tpl:py-0.5 tpl:text-sm tpl:font-semibold tpl:transition-colors tpl:duration-150 tpl:bg-[var(--tpl-primary-light)] tpl:text-[var(--tpl-primary-hover)]",
170
178
  onClick: n[0] ||= (e) => o("open-ai-chat")
171
- }, [m(p(Ge), {
179
+ }, [m(p(Me), {
172
180
  size: 14,
173
181
  "stroke-width": 2
174
182
  }), j(" " + S(p(d).aiMenu.aiAssistant), 1)]),
175
183
  j(" " + S(p(l).canvas.aiHintChatSuffix), 1)
176
184
  ])) : v("", !0),
177
- O.value && p(d) ? (s(), f("p", jt, [
185
+ O.value && p(d) ? (s(), f("p", Ft, [
178
186
  j(S(p(l).canvas.aiHintDesign) + " ", 1),
179
187
  C("button", {
180
188
  class: "tpl:inline-flex tpl:shrink-0 tpl:cursor-pointer tpl:items-center tpl:gap-1 tpl:whitespace-nowrap tpl:rounded-[var(--tpl-radius-sm)] tpl:border-none tpl:px-2 tpl:py-0.5 tpl:text-sm tpl:font-semibold tpl:transition-colors tpl:duration-150 tpl:bg-[var(--tpl-primary-light)] tpl:text-[var(--tpl-primary-hover)]",
181
189
  onClick: n[1] ||= (e) => o("open-design-reference")
182
- }, [m(p(qe), {
190
+ }, [m(p(Xe), {
183
191
  size: 14,
184
192
  "stroke-width": 2
185
193
  }), j(" " + S(p(d).aiMenu.designToTemplate), 1)]),
@@ -187,29 +195,29 @@ var St = /* @__PURE__ */ e(O(), 1), Ct = ["aria-label"], wt = { class: "tpl:rela
187
195
  ])) : v("", !0)
188
196
  ])) : v("", !0)]),
189
197
  _: 1
190
- }, 8, ["modelValue", "disabled"])], 6)], 12, Ct));
198
+ }, 8, ["modelValue", "disabled"])], 6)], 12, Dt));
191
199
  }
192
- }), [["__scopeId", "data-v-5a826917"]]), Nt = ["aria-label"], Pt = {
200
+ }), [["__scopeId", "data-v-5a826917"]]), Lt = ["aria-label"], Rt = {
193
201
  key: 0,
194
202
  class: "tpl:border-b tpl:px-1 tpl:pb-1 tpl:border-[var(--tpl-border)]"
195
- }, Ft = ["aria-label"], It = {
203
+ }, zt = ["aria-label"], Bt = {
196
204
  key: 0,
197
205
  class: "tpl:flex-1 tpl:truncate tpl:text-sm tpl:font-medium"
198
- }, Lt = {
206
+ }, Vt = {
199
207
  key: 1,
200
208
  class: "tpl:shrink-0 tpl:rounded-full tpl:px-1.5 tpl:py-0.5 tpl:text-[10px] tpl:font-medium tpl:bg-[var(--tpl-bg-hover)] tpl:text-[var(--tpl-text-muted)]"
201
- }, Rt = [
209
+ }, Ht = [
202
210
  "data-palette-type",
203
211
  "aria-label",
204
212
  "onClick",
205
213
  "onKeydown"
206
- ], zt = { class: "tpl:flex tpl:shrink-0 tpl:items-center tpl:justify-center tpl:transition-transform tpl:duration-[120ms] tpl:ease-[cubic-bezier(0.16,1,0.3,1)] hover:tpl:scale-105" }, Bt = {
214
+ ], Ut = { class: "tpl:flex tpl:shrink-0 tpl:items-center tpl:justify-center tpl:transition-transform tpl:duration-[120ms] tpl:ease-[cubic-bezier(0.16,1,0.3,1)] hover:tpl:scale-105" }, Wt = {
207
215
  key: 0,
208
216
  class: "tpl:truncate tpl:text-sm tpl:font-medium"
209
- }, Vt = /* @__PURE__ */ l({
217
+ }, Gt = /* @__PURE__ */ l({
210
218
  __name: "Sidebar",
211
219
  setup(e) {
212
- let { t: n, format: i } = I(), { t: o } = me(), l = r(P, []), u = r(ae, void 0), d = r(we, null), h = r(_e, {}), _ = T(() => (h.savedModules?.moduleCount.value ?? 0) > 0), b = t(!1), x = [
220
+ let { t: n, format: i } = I(), { t: o } = _e(), l = r(De, []), u = r(ye, void 0), d = r(ue, null), h = r(N, {}), _ = T(() => (h.savedModules?.moduleCount.value ?? 0) > 0), b = t(!1), x = [
213
221
  "section",
214
222
  "image",
215
223
  "title",
@@ -225,11 +233,11 @@ var St = /* @__PURE__ */ e(O(), 1), Ct = ["aria-label"], wt = { class: "tpl:rela
225
233
  ], w = T(() => {
226
234
  let e = x.map((e) => ({
227
235
  type: e,
228
- label: Re(e, n)
236
+ label: pe(e, n)
229
237
  }));
230
238
  return h.plan && e.splice(-1, 0, {
231
239
  type: "countdown",
232
- label: Re("countdown", n)
240
+ label: pe("countdown", n)
233
241
  }), e;
234
242
  }), E = T(() => l.map((e) => ({
235
243
  type: `custom:${e.type}`,
@@ -240,9 +248,9 @@ var St = /* @__PURE__ */ e(O(), 1), Ct = ["aria-label"], wt = { class: "tpl:rela
240
248
  function O(e) {
241
249
  if (e.isCustom) {
242
250
  let t = e.type.replace("custom:", ""), n = l.find((e) => e.type === t);
243
- if (n) return Ee(n);
251
+ if (n) return Ye(n);
244
252
  }
245
- return Fe(e.type, u);
253
+ return Ke(e.type, u);
246
254
  }
247
255
  function k(e) {
248
256
  if (!d) return;
@@ -266,21 +274,21 @@ var St = /* @__PURE__ */ e(O(), 1), Ct = ["aria-label"], wt = { class: "tpl:rela
266
274
  onMouseleave: t[2] ||= (e) => b.value = !1,
267
275
  onFocusin: t[3] ||= (e) => b.value = !0,
268
276
  onFocusout: t[4] ||= (e) => b.value = !1
269
- }, [_.value && p(o) ? (s(), f("div", Pt, [C("button", {
277
+ }, [_.value && p(o) ? (s(), f("div", Rt, [C("button", {
270
278
  type: "button",
271
279
  "aria-label": p(n).sidebarNav.browseModules,
272
280
  class: "tpl:flex tpl:h-10 tpl:w-full tpl:cursor-pointer tpl:items-center tpl:gap-3 tpl:rounded-[var(--tpl-radius-sm)] tpl:border-none tpl:bg-transparent tpl:px-3 tpl:text-[var(--tpl-text-muted)] tpl:transition-all tpl:duration-[120ms] hover:tpl:bg-[var(--tpl-primary-light)] hover:tpl:text-[var(--tpl-primary)]",
273
281
  style: g({ justifyContent: b.value ? "flex-start" : "center" }),
274
282
  onClick: t[0] ||= (e) => p(h).savedModules?.openBrowser()
275
283
  }, [
276
- m(p(Ze), {
284
+ m(p(lt), {
277
285
  size: 20,
278
286
  "stroke-width": 1.5,
279
287
  class: "tpl:shrink-0"
280
288
  }),
281
- b.value ? (s(), f("span", It, S(p(o).modules.title), 1)) : v("", !0),
282
- b.value ? (s(), f("span", Lt, S(p(h).savedModules?.moduleCount.value ?? 0), 1)) : v("", !0)
283
- ], 12, Ft)])) : v("", !0), m(p(St.default), {
289
+ b.value ? (s(), f("span", Bt, S(p(o).modules.title), 1)) : v("", !0),
290
+ b.value ? (s(), f("span", Vt, S(p(h).savedModules?.moduleCount.value ?? 0), 1)) : v("", !0)
291
+ ], 12, zt)])) : v("", !0), m(p(Et.default), {
284
292
  list: D.value,
285
293
  group: {
286
294
  name: "blocks",
@@ -302,23 +310,23 @@ var St = /* @__PURE__ */ e(O(), 1), Ct = ["aria-label"], wt = { class: "tpl:rela
302
310
  style: g({ justifyContent: b.value ? "flex-start" : "center" }),
303
311
  onClick: (t) => k(e),
304
312
  onKeydown: (t) => A(t, e)
305
- }, [C("div", zt, [p(ht)[e.type] ? (s(), y(c(p(ht)[e.type]), {
313
+ }, [C("div", Ut, [p(vt)[e.type] ? (s(), y(c(p(vt)[e.type]), {
306
314
  key: 0,
307
315
  size: 20,
308
316
  "stroke-width": 1.5
309
- })) : e.isCustom ? (s(), y(Ve, {
317
+ })) : e.isCustom ? (s(), y(Be, {
310
318
  key: 1,
311
319
  icon: e.icon,
312
320
  size: 20
313
- }, null, 8, ["icon"])) : v("", !0)]), b.value ? (s(), f("span", Bt, S(e.label), 1)) : v("", !0)], 44, Rt)]),
321
+ }, null, 8, ["icon"])) : v("", !0)]), b.value ? (s(), f("span", Wt, S(e.label), 1)) : v("", !0)], 44, Ht)]),
314
322
  _: 1
315
- }, 8, ["list"])], 44, Nt));
323
+ }, 8, ["list"])], 44, Lt));
316
324
  }
317
325
  });
318
326
  //#endregion
319
327
  //#region src/composables/useMergeTagField.ts
320
- function Ht(e) {
321
- let { modelValue: n, emit: r, elementRef: i } = e, { isEnabled: a, isRequesting: o, isMergeTagValue: s, getMergeTagLabel: c, requestMergeTag: l, syntax: u } = Te(), d = t(!1), f = !1, p = T(() => {
328
+ function Kt(e) {
329
+ let { modelValue: n, emit: r, elementRef: i } = e, { canRequestMergeTag: a, isRequesting: o, isMergeTagValue: s, getMergeTagLabel: c, requestMergeTag: l, syntax: u } = ke(), d = t(!1), f = !1, p = T(() => {
322
330
  let e = n();
323
331
  if (!e) return [];
324
332
  let t = [], r = `(${u.value.source}|${u.logic.source})`, i = new RegExp(r, "g"), a = 0, o;
@@ -332,10 +340,10 @@ function Ht(e) {
332
340
  type: "mergeTag",
333
341
  value: n,
334
342
  label: c(n)
335
- }) : Be(n, u) ? t.push({
343
+ }) : Ie(n, u) ? t.push({
336
344
  type: "logicMergeTag",
337
345
  value: n,
338
- keyword: Pe(n, u)
346
+ keyword: ze(n, u)
339
347
  }) : t.push({
340
348
  type: "text",
341
349
  value: n
@@ -382,7 +390,7 @@ function Ht(e) {
382
390
  return {
383
391
  segments: p,
384
392
  hasMergeTags: m,
385
- mergeTagEnabled: a,
393
+ canRequestMergeTag: a,
386
394
  isRequestingMergeTag: o,
387
395
  isEditing: d,
388
396
  startEditing: h,
@@ -394,10 +402,10 @@ function Ht(e) {
394
402
  }
395
403
  //#endregion
396
404
  //#region src/components/MergeTagSegments.vue?vue&type=script&setup=true&lang.ts
397
- var Ut = ["aria-label", "onKeydown"], Wt = ["data-tooltip"], Gt = ["data-tooltip"], Kt = {
405
+ var qt = ["aria-label", "onKeydown"], Jt = ["data-tooltip"], Yt = ["data-tooltip"], Xt = {
398
406
  key: 2,
399
407
  class: "tpl:text-sm tpl:text-[var(--tpl-text)]"
400
- }, qt = ["aria-label", "title"], Jt = /* @__PURE__ */ l({
408
+ }, Zt = ["aria-label", "title"], Qt = /* @__PURE__ */ l({
401
409
  __name: "MergeTagSegments",
402
410
  props: {
403
411
  segments: {},
@@ -425,7 +433,7 @@ var Ut = ["aria-label", "onKeydown"], Wt = ["data-tooltip"], Gt = ["data-tooltip
425
433
  "background-color": "color-mix(\n in srgb,\n var(--tpl-primary) 20%,\n transparent\n )",
426
434
  color: "var(--tpl-primary)"
427
435
  }
428
- }, S(e.label), 9, Wt)) : e.type === "logicMergeTag" ? (s(), f("span", {
436
+ }, S(e.label), 9, Jt)) : e.type === "logicMergeTag" ? (s(), f("span", {
429
437
  key: 1,
430
438
  class: "tpl-tooltip tpl:inline-flex tpl:items-center tpl:rounded tpl:px-1.5 tpl:py-0.5 tpl:text-[0.8em] tpl:font-bold tpl:tracking-wide tpl:uppercase",
431
439
  "data-tooltip": e.value,
@@ -434,22 +442,22 @@ var Ut = ["aria-label", "onKeydown"], Wt = ["data-tooltip"], Gt = ["data-tooltip
434
442
  border: "1.5px solid\n color-mix(in srgb, var(--tpl-primary) 50%, transparent)",
435
443
  color: "var(--tpl-primary)"
436
444
  }
437
- }, S(e.keyword), 9, Gt)) : (s(), f("span", Kt, S(e.value), 1))], 64))), 128)), C("button", {
445
+ }, S(e.keyword), 9, Yt)) : (s(), f("span", Xt, S(e.value), 1))], 64))), 128)), C("button", {
438
446
  type: "button",
439
447
  class: "tpl:ml-auto tpl:flex tpl:size-6 tpl:shrink-0 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded-full tpl:border-none tpl:bg-transparent tpl:p-0 tpl:text-[var(--tpl-text-dim)] tpl:opacity-60 tpl:transition-all hover:tpl:text-[var(--tpl-danger)] hover:tpl:opacity-100",
440
448
  "aria-label": p(r).mergeTag.remove,
441
449
  title: p(r).mergeTag.remove,
442
450
  onClick: o[0] ||= k((e) => n("clear"), ["stop"])
443
- }, [m(p(Ue), {
451
+ }, [m(p(We), {
444
452
  size: 12,
445
453
  "stroke-width": 2.5
446
- })], 8, qt)], 42, Ut));
454
+ })], 8, Zt)], 42, qt));
447
455
  }
448
- }), Yt = [
456
+ }), $t = [
449
457
  "aria-label",
450
458
  "title",
451
459
  "disabled"
452
- ], Xt = "tpl:flex tpl:items-center tpl:justify-center tpl:gap-1 tpl:rounded-[var(--tpl-radius-sm)] tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-hover)] tpl:px-2 tpl:py-1 tpl:text-xs tpl:text-[var(--tpl-text-muted)] tpl:transition-all tpl:duration-[120ms] hover:tpl:bg-[var(--tpl-primary-light)] hover:tpl:text-[var(--tpl-primary)] hover:tpl:border-[var(--tpl-primary)]", Zt = /* @__PURE__ */ l({
460
+ ], en = "tpl:flex tpl:items-center tpl:justify-center tpl:gap-1 tpl:rounded-[var(--tpl-radius-sm)] tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-hover)] tpl:px-2 tpl:py-1 tpl:text-xs tpl:text-[var(--tpl-text-muted)] tpl:transition-all tpl:duration-[120ms] hover:tpl:bg-[var(--tpl-primary-light)] hover:tpl:text-[var(--tpl-primary)] hover:tpl:border-[var(--tpl-primary)]", tn = /* @__PURE__ */ l({
453
461
  __name: "MergeTagInsertButton",
454
462
  props: { disabled: { type: Boolean } },
455
463
  emits: ["insert"],
@@ -457,21 +465,21 @@ var Ut = ["aria-label", "onKeydown"], Wt = ["data-tooltip"], Gt = ["data-tooltip
457
465
  let { t } = I();
458
466
  return (n, r) => (s(), f("button", {
459
467
  type: "button",
460
- class: D([Xt, "tpl:mt-1.5"]),
468
+ class: D([en, "tpl:mt-1.5"]),
461
469
  "aria-label": p(t).mergeTag.insert,
462
470
  title: p(t).mergeTag.insert,
463
471
  disabled: e.disabled,
464
472
  onClick: r[0] ||= (e) => n.$emit("insert")
465
- }, [m(p(at), {
473
+ }, [m(p(mt), {
466
474
  size: 12,
467
475
  "stroke-width": 2
468
- }), j(" " + S(p(t).mergeTag.insert), 1)], 10, Yt));
476
+ }), j(" " + S(p(t).mergeTag.insert), 1)], 10, $t));
469
477
  }
470
- }), Qt = { key: 0 }, $t = { key: 1 }, en = [
478
+ }), nn = { key: 0 }, rn = { key: 1 }, an = [
471
479
  "value",
472
480
  "placeholder",
473
481
  "rows"
474
- ], tn = "tpl:w-full tpl:resize-y tpl:rounded-[var(--tpl-radius-sm)] tpl:border tpl:shadow-xs tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:px-3 tpl:py-2 tpl:text-sm tpl:text-[var(--tpl-text)] tpl:outline-none tpl:transition-all tpl:duration-[120ms] tpl:ease-[cubic-bezier(0.16,1,0.3,1)] tpl:placeholder:text-[var(--tpl-text-dim)] tpl:focus:border-[var(--tpl-primary)] tpl:focus:shadow-[var(--tpl-ring)]", nn = "tpl:flex tpl:w-full tpl:min-h-[5rem] tpl:cursor-pointer tpl:items-start tpl:flex-wrap tpl:gap-1 tpl:rounded-[var(--tpl-radius-sm)] tpl:border tpl:shadow-xs tpl:bg-[var(--tpl-bg)] tpl:border-[var(--tpl-border)] tpl:px-3 tpl:py-2 tpl:transition-all tpl:duration-[120ms] tpl:ease-[cubic-bezier(0.16,1,0.3,1)]", rn = /* @__PURE__ */ l({
482
+ ], on = "tpl:w-full tpl:resize-y tpl:rounded-[var(--tpl-radius-sm)] tpl:border tpl:shadow-xs tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:px-3 tpl:py-2 tpl:text-sm tpl:text-[var(--tpl-text)] tpl:outline-none tpl:transition-all tpl:duration-[120ms] tpl:ease-[cubic-bezier(0.16,1,0.3,1)] tpl:placeholder:text-[var(--tpl-text-dim)] tpl:focus:border-[var(--tpl-primary)] tpl:focus:shadow-[var(--tpl-ring)]", sn = "tpl:flex tpl:w-full tpl:min-h-[5rem] tpl:cursor-pointer tpl:items-start tpl:flex-wrap tpl:gap-1 tpl:rounded-[var(--tpl-radius-sm)] tpl:border tpl:shadow-xs tpl:bg-[var(--tpl-bg)] tpl:border-[var(--tpl-border)] tpl:px-3 tpl:py-2 tpl:transition-all tpl:duration-[120ms] tpl:ease-[cubic-bezier(0.16,1,0.3,1)]", cn = /* @__PURE__ */ l({
475
483
  __name: "MergeTagTextarea",
476
484
  props: {
477
485
  modelValue: {},
@@ -480,46 +488,46 @@ var Ut = ["aria-label", "onKeydown"], Wt = ["data-tooltip"], Gt = ["data-tooltip
480
488
  },
481
489
  emits: ["update:modelValue"],
482
490
  setup(e, { emit: n }) {
483
- let r = e, i = n, a = t(null), { segments: o, hasMergeTags: c, mergeTagEnabled: l, isRequestingMergeTag: u, isEditing: d, startEditing: h, stopEditing: g, handleInput: _, clearValue: b, insertMergeTag: S } = Ht({
491
+ let r = e, i = n, a = t(null), { segments: o, hasMergeTags: c, canRequestMergeTag: l, isRequestingMergeTag: u, isEditing: d, startEditing: h, stopEditing: g, handleInput: _, clearValue: b, insertMergeTag: S } = Kt({
484
492
  modelValue: () => r.modelValue,
485
493
  emit: (e) => i("update:modelValue", e),
486
494
  elementRef: a
487
495
  });
488
- return (t, n) => p(c) && !p(d) ? (s(), f("div", Qt, [m(Jt, {
496
+ return (t, n) => p(c) && !p(d) ? (s(), f("div", nn, [m(Qt, {
489
497
  segments: p(o),
490
- "display-class": nn,
498
+ "display-class": sn,
491
499
  onEdit: p(h),
492
500
  onClear: p(b)
493
501
  }, null, 8, [
494
502
  "segments",
495
503
  "onEdit",
496
504
  "onClear"
497
- ]), p(l) ? (s(), y(Zt, {
505
+ ]), p(l) ? (s(), y(tn, {
498
506
  key: 0,
499
507
  disabled: p(u),
500
508
  onInsert: p(S)
501
- }, null, 8, ["disabled", "onInsert"])) : v("", !0)])) : (s(), f("div", $t, [C("textarea", {
509
+ }, null, 8, ["disabled", "onInsert"])) : v("", !0)])) : (s(), f("div", rn, [C("textarea", {
502
510
  ref_key: "textareaRef",
503
511
  ref: a,
504
- class: D(tn),
512
+ class: D(on),
505
513
  value: e.modelValue,
506
514
  placeholder: e.placeholder,
507
515
  rows: e.rows,
508
516
  onInput: n[0] ||= (...e) => p(_) && p(_)(...e),
509
517
  onBlur: n[1] ||= (...e) => p(g) && p(g)(...e),
510
518
  onKeydown: n[2] ||= x((...e) => p(g) && p(g)(...e), ["escape"])
511
- }, null, 40, en), p(l) ? (s(), y(Zt, {
519
+ }, null, 40, an), p(l) ? (s(), y(tn, {
512
520
  key: 0,
513
521
  disabled: p(u),
514
522
  onInsert: p(S)
515
523
  }, null, 8, ["disabled", "onInsert"])) : v("", !0)]));
516
524
  }
517
- }), an = { class: "tpl:flex tpl:w-full tpl:flex-1 tpl:flex-col tpl:bg-[var(--tpl-bg-elevated)]" }, on = { class: "tpl:flex tpl:flex-1 tpl:flex-col tpl:gap-3 tpl:overflow-y-auto tpl:p-4" }, sn = { class: "tpl:mb-3.5 tpl:flex tpl:items-center tpl:gap-2 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, cn = { class: "tpl:mb-3.5" }, ln = { class: "tpl:grid tpl:grid-cols-4 tpl:gap-1 tpl:rounded-[var(--tpl-radius-sm)] tpl:p-1 tpl:bg-[var(--tpl-bg-hover)]" }, un = ["onClick"], dn = { class: "tpl:flex tpl:items-stretch" }, fn = ["value"], pn = { class: "tpl:mb-3.5 tpl:flex tpl:items-center tpl:gap-2 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, mn = { class: "tpl:mb-3.5" }, hn = ["value"], gn = ["value"], _n = { class: "tpl:mb-3.5 tpl:flex tpl:items-center tpl:gap-2 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, vn = { class: "tpl:mt-1 tpl:flex tpl:items-start tpl:justify-between tpl:gap-2" }, yn = { class: "tpl:text-xs tpl:leading-relaxed tpl:text-[var(--tpl-text-dim)]" }, bn = { class: "tpl:shrink-0 tpl:text-xs tpl:tabular-nums tpl:text-[var(--tpl-text-dim)]" }, xn = { class: "tpl:rounded-[var(--tpl-radius)] tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:p-3" }, Sn = { class: "tpl:mb-2.5 tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text-muted)]" }, Cn = { class: "tpl:m-0 tpl:pl-[18px] tpl:text-xs tpl:leading-relaxed tpl:text-[var(--tpl-text-dim)]" }, wn = { class: "tpl:mb-1 tpl:last:mb-0" }, Tn = { class: "tpl:mb-1 tpl:last:mb-0" }, En = { class: "tpl:mb-1 tpl:last:mb-0" }, Dn = 150, On = /* @__PURE__ */ l({
525
+ }), ln = { class: "tpl:flex tpl:w-full tpl:flex-1 tpl:flex-col tpl:bg-[var(--tpl-bg-elevated)]" }, un = { class: "tpl:flex tpl:flex-1 tpl:flex-col tpl:gap-3 tpl:overflow-y-auto tpl:p-4" }, dn = { class: "tpl:mb-3.5 tpl:flex tpl:items-center tpl:gap-2 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, fn = { class: "tpl:mb-3.5" }, pn = { class: "tpl:grid tpl:grid-cols-4 tpl:gap-1 tpl:rounded-[var(--tpl-radius-sm)] tpl:p-1 tpl:bg-[var(--tpl-bg-hover)]" }, mn = ["onClick"], hn = { class: "tpl:flex tpl:items-stretch" }, gn = ["value"], _n = { class: "tpl:mb-3.5 tpl:flex tpl:items-center tpl:gap-2 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, vn = { class: "tpl:mb-3.5" }, yn = ["value"], bn = ["value"], xn = { class: "tpl:mb-3.5 tpl:flex tpl:items-center tpl:gap-2 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, Sn = ["value"], Cn = { class: "tpl:mt-1 tpl:text-xs tpl:leading-relaxed tpl:text-[var(--tpl-text-dim)]" }, wn = { class: "tpl:mb-3.5 tpl:flex tpl:items-center tpl:gap-2 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, Tn = { class: "tpl:mt-1 tpl:flex tpl:items-start tpl:justify-between tpl:gap-2" }, En = { class: "tpl:text-xs tpl:leading-relaxed tpl:text-[var(--tpl-text-dim)]" }, Dn = { class: "tpl:shrink-0 tpl:text-xs tpl:tabular-nums tpl:text-[var(--tpl-text-dim)]" }, On = { class: "tpl:rounded-[var(--tpl-radius)] tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:p-3" }, kn = { class: "tpl:mb-2.5 tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text-muted)]" }, An = { class: "tpl:m-0 tpl:pl-[18px] tpl:text-xs tpl:leading-relaxed tpl:text-[var(--tpl-text-dim)]" }, jn = { class: "tpl:mb-1 tpl:last:mb-0" }, Mn = { class: "tpl:mb-1 tpl:last:mb-0" }, Nn = { class: "tpl:mb-1 tpl:last:mb-0" }, Pn = 150, Fn = /* @__PURE__ */ l({
518
526
  __name: "TemplateSettings",
519
527
  props: { settings: {} },
520
528
  emits: ["update"],
521
529
  setup(e, { emit: t }) {
522
- let n = e, r = t, { t: a } = I(), o = he(re, "TemplateSettings"), c = T(() => o.fonts.value), l = T(() => c.value.some((e) => e.value === n.settings.fontFamily) ? n.settings.fontFamily : o.defaultFont.value), u = [
530
+ let n = e, r = t, { t: a } = I(), o = Ne(Ue, "TemplateSettings"), c = T(() => o.fonts.value), l = T(() => c.value.some((e) => e.value === n.settings.fontFamily) ? n.settings.fontFamily : o.defaultFont.value), u = [
523
531
  {
524
532
  value: 480,
525
533
  label: "480px"
@@ -537,14 +545,14 @@ var Ut = ["aria-label", "onKeydown"], Wt = ["data-tooltip"], Gt = ["data-tooltip
537
545
  label: "800px"
538
546
  }
539
547
  ];
540
- return (t, n) => (s(), f("aside", an, [C("div", on, [
541
- C("div", { class: D(p(yt)) }, [
542
- C("div", sn, [m(p(ct), {
548
+ return (t, n) => (s(), f("aside", ln, [C("div", un, [
549
+ C("div", { class: D(p(St)) }, [
550
+ C("div", dn, [m(p(ct), {
543
551
  class: "tpl:text-[var(--tpl-text-muted)]",
544
552
  size: 14,
545
553
  "stroke-width": 2
546
554
  }), C("span", null, S(p(a).templateSettings.layout), 1)]),
547
- C("div", cn, [C("label", { class: D(p(W)) }, S(p(a).templateSettings.widthPreset), 3), C("div", ln, [(s(), f(_, null, i(u, (t) => C("button", {
555
+ C("div", fn, [C("label", { class: D(p(W)) }, S(p(a).templateSettings.widthPreset), 3), C("div", pn, [(s(), f(_, null, i(u, (t) => C("button", {
548
556
  key: t.value,
549
557
  class: "tpl:cursor-pointer tpl:rounded-[var(--tpl-radius-sm)] tpl:border-none tpl:px-2 tpl:py-1.5 tpl:text-sm tpl:font-medium tpl:transition-all tpl:duration-[120ms] tpl:ease-[cubic-bezier(0.16,1,0.3,1)]",
550
558
  style: g({
@@ -553,25 +561,25 @@ var Ut = ["aria-label", "onKeydown"], Wt = ["data-tooltip"], Gt = ["data-tooltip
553
561
  boxShadow: e.settings.width === t.value ? "var(--tpl-shadow)" : "none"
554
562
  }),
555
563
  onClick: (e) => r("update", { width: t.value })
556
- }, S(t.label), 13, un)), 64))])]),
557
- C("div", null, [C("label", { class: D(p(W)) }, S(p(a).templateSettings.customWidth), 3), C("div", dn, [C("input", {
564
+ }, S(t.label), 13, mn)), 64))])]),
565
+ C("div", null, [C("label", { class: D(p(W)) }, S(p(a).templateSettings.customWidth), 3), C("div", hn, [C("input", {
558
566
  type: "number",
559
567
  class: D(p(K)),
560
568
  value: e.settings.width,
561
569
  min: "300",
562
570
  max: "900",
563
571
  onInput: n[0] ||= (e) => r("update", { width: Number(e.target.value) })
564
- }, null, 42, fn), C("span", { class: D(p(G)) }, "px", 2)])])
572
+ }, null, 42, gn), C("span", { class: D(p(G)) }, "px", 2)])])
565
573
  ], 2),
566
- C("div", { class: D(p(yt)) }, [
567
- C("div", pn, [m(p(lt), {
574
+ C("div", { class: D(p(St)) }, [
575
+ C("div", _n, [m(p(at), {
568
576
  class: "tpl:text-[var(--tpl-text-muted)]",
569
577
  size: 14,
570
578
  "stroke-width": 2
571
579
  }), C("span", null, S(p(a).templateSettings.appearance), 1)]),
572
- C("div", mn, [C("label", { class: D(p(W)) }, S(p(a).templateSettings.backgroundColor), 3), m(q, {
580
+ C("div", vn, [C("label", { class: D(p(W)) }, S(p(a).templateSettings.backgroundColor), 3), m(q, {
573
581
  "model-value": e.settings.backgroundColor,
574
- placeholder: p(bt),
582
+ placeholder: p(Ct),
575
583
  "onUpdate:modelValue": n[1] ||= (e) => r("update", { backgroundColor: e })
576
584
  }, null, 8, ["model-value", "placeholder"])]),
577
585
  C("div", null, [C("label", { class: D(p(W)) }, S(p(a).templateSettings.fontFamily), 3), C("select", {
@@ -581,33 +589,51 @@ var Ut = ["aria-label", "onKeydown"], Wt = ["data-tooltip"], Gt = ["data-tooltip
581
589
  }, [(s(!0), f(_, null, i(c.value, (e) => (s(), f("option", {
582
590
  key: e.value,
583
591
  value: e.value
584
- }, S(e.label), 9, gn))), 128))], 42, hn)])
592
+ }, S(e.label), 9, bn))), 128))], 42, yn)])
585
593
  ], 2),
586
- C("div", { class: D(p(yt)) }, [C("div", _n, [m(p(Xe), {
594
+ C("div", { class: D(p(St)) }, [C("div", xn, [m(p(Qe), {
595
+ class: "tpl:text-[var(--tpl-text-muted)]",
596
+ size: 14,
597
+ "stroke-width": 2
598
+ }), C("span", null, S(p(a).templateSettings.language), 1)]), C("div", null, [
599
+ C("label", { class: D(p(W)) }, S(p(a).templateSettings.contentLocale), 3),
600
+ C("input", {
601
+ type: "text",
602
+ class: D(p(U)),
603
+ value: e.settings.locale ?? "",
604
+ placeholder: "en",
605
+ spellcheck: "false",
606
+ autocapitalize: "off",
607
+ autocomplete: "off",
608
+ onInput: n[3] ||= (e) => r("update", { locale: e.target.value.trim() || void 0 })
609
+ }, null, 42, Sn),
610
+ C("p", Cn, S(p(a).templateSettings.contentLocaleHint), 1)
611
+ ])], 2),
612
+ C("div", { class: D(p(St)) }, [C("div", wn, [m(p(je), {
587
613
  class: "tpl:text-[var(--tpl-text-muted)]",
588
614
  size: 14,
589
615
  "stroke-width": 2
590
- }), C("span", null, S(p(a).templateSettings.preheaderText), 1)]), C("div", null, [m(rn, {
616
+ }), C("span", null, S(p(a).templateSettings.preheaderText), 1)]), C("div", null, [m(cn, {
591
617
  "model-value": e.settings.preheaderText ?? "",
592
618
  placeholder: p(a).templateSettings.preheaderTextPlaceholder,
593
619
  rows: 2,
594
- "onUpdate:modelValue": n[3] ||= (e) => r("update", { preheaderText: e.replace(/[\r\n]/g, " ") || void 0 })
595
- }, null, 8, ["model-value", "placeholder"]), C("div", vn, [C("span", yn, S(p(a).templateSettings.preheaderTextHint), 1), C("span", bn, S((e.settings.preheaderText ?? "").length) + "/" + S(Dn), 1)])])], 2),
596
- C("div", xn, [C("div", Sn, [m(p(Ie), {
620
+ "onUpdate:modelValue": n[4] ||= (e) => r("update", { preheaderText: e.replace(/[\r\n]/g, " ") || void 0 })
621
+ }, null, 8, ["model-value", "placeholder"]), C("div", Tn, [C("span", En, S(p(a).templateSettings.preheaderTextHint), 1), C("span", Dn, S((e.settings.preheaderText ?? "").length) + "/" + S(Pn), 1)])])], 2),
622
+ C("div", On, [C("div", kn, [m(p(Ae), {
597
623
  size: 14,
598
624
  "stroke-width": 2
599
- }), C("span", null, S(p(a).templateSettings.tips), 1)]), C("ul", Cn, [
600
- C("li", wn, S(p(a).templateSettings.tip1), 1),
601
- C("li", Tn, S(p(a).templateSettings.tip2), 1),
602
- C("li", En, S(p(a).templateSettings.tip3), 1)
625
+ }), C("span", null, S(p(a).templateSettings.tips), 1)]), C("ul", An, [
626
+ C("li", jn, S(p(a).templateSettings.tip1), 1),
627
+ C("li", Mn, S(p(a).templateSettings.tip2), 1),
628
+ C("li", Nn, S(p(a).templateSettings.tip3), 1)
603
629
  ])])
604
630
  ])]));
605
631
  }
606
- }), kn = { key: 0 }, An = { key: 1 }, jn = [
632
+ }), In = { key: 0 }, Ln = { key: 1 }, Rn = [
607
633
  "type",
608
634
  "value",
609
635
  "placeholder"
610
- ], Mn = "tpl:flex tpl:w-full tpl:min-h-10 tpl:cursor-pointer tpl:items-center tpl:flex-wrap tpl:gap-1 tpl:rounded-[var(--tpl-radius-sm)] tpl:border tpl:shadow-xs tpl:bg-[var(--tpl-bg)] tpl:border-[var(--tpl-border)] tpl:px-3.5 tpl:py-1.5 tpl:transition-all tpl:duration-[120ms] tpl:ease-[cubic-bezier(0.16,1,0.3,1)]", X = /* @__PURE__ */ L(/* @__PURE__ */ l({
636
+ ], zn = "tpl:flex tpl:w-full tpl:min-h-10 tpl:cursor-pointer tpl:items-center tpl:flex-wrap tpl:gap-1 tpl:rounded-[var(--tpl-radius-sm)] tpl:border tpl:shadow-xs tpl:bg-[var(--tpl-bg)] tpl:border-[var(--tpl-border)] tpl:px-3.5 tpl:py-1.5 tpl:transition-all tpl:duration-[120ms] tpl:ease-[cubic-bezier(0.16,1,0.3,1)]", X = /* @__PURE__ */ R(/* @__PURE__ */ l({
611
637
  __name: "MergeTagInput",
612
638
  props: {
613
639
  modelValue: {},
@@ -620,14 +646,14 @@ var Ut = ["aria-label", "onKeydown"], Wt = ["data-tooltip"], Gt = ["data-tooltip
620
646
  },
621
647
  emits: ["update:modelValue"],
622
648
  setup(e, { emit: n }) {
623
- let r = e, i = n, a = t(null), { segments: o, hasMergeTags: c, mergeTagEnabled: l, isRequestingMergeTag: u, isEditing: d, startEditing: h, stopEditing: g, handleInput: _, clearValue: b, insertMergeTag: S } = Ht({
649
+ let r = e, i = n, a = t(null), { segments: o, hasMergeTags: c, canRequestMergeTag: l, isRequestingMergeTag: u, isEditing: d, startEditing: h, stopEditing: g, handleInput: _, clearValue: b, insertMergeTag: S } = Kt({
624
650
  modelValue: () => r.modelValue,
625
651
  emit: (e) => i("update:modelValue", e),
626
652
  elementRef: a
627
653
  });
628
- return (t, n) => p(c) && !p(d) ? (s(), f("div", kn, [m(Jt, {
654
+ return (t, n) => p(c) && !p(d) ? (s(), f("div", In, [m(Qt, {
629
655
  segments: p(o),
630
- "display-class": Mn,
656
+ "display-class": zn,
631
657
  pulse: e.pulse,
632
658
  onEdit: p(h),
633
659
  onClear: p(b)
@@ -636,11 +662,11 @@ var Ut = ["aria-label", "onKeydown"], Wt = ["data-tooltip"], Gt = ["data-tooltip
636
662
  "pulse",
637
663
  "onEdit",
638
664
  "onClear"
639
- ]), p(l) ? (s(), y(Zt, {
665
+ ]), p(l) ? (s(), y(tn, {
640
666
  key: 0,
641
667
  disabled: p(u),
642
668
  onInsert: p(S)
643
- }, null, 8, ["disabled", "onInsert"])) : v("", !0)])) : (s(), f("div", An, [C("input", {
669
+ }, null, 8, ["disabled", "onInsert"])) : v("", !0)])) : (s(), f("div", Ln, [C("input", {
644
670
  ref_key: "inputRef",
645
671
  ref: a,
646
672
  type: e.type,
@@ -650,16 +676,16 @@ var Ut = ["aria-label", "onKeydown"], Wt = ["data-tooltip"], Gt = ["data-tooltip
650
676
  onInput: n[0] ||= (...e) => p(_) && p(_)(...e),
651
677
  onBlur: n[1] ||= (...e) => p(g) && p(g)(...e),
652
678
  onKeydown: n[2] ||= x((...e) => p(g) && p(g)(...e), ["escape"])
653
- }, null, 42, jn), p(l) ? (s(), y(Zt, {
679
+ }, null, 42, Rn), p(l) ? (s(), y(tn, {
654
680
  key: 0,
655
681
  disabled: p(u),
656
682
  onInsert: p(S)
657
683
  }, null, 8, ["disabled", "onInsert"])) : v("", !0)]));
658
684
  }
659
- }), [["__scopeId", "data-v-b982cc87"]]), Nn = { class: "tpl:mb-3.5" }, Pn = ["value"], Fn = { value: "" }, In = ["value"], Ln = { class: "tpl:mb-3.5" }, Rn = { class: "tpl:mb-3.5" }, zn = {
685
+ }), [["__scopeId", "data-v-358207dd"]]), Bn = { class: "tpl:mb-3.5" }, Vn = ["value"], Hn = { value: "" }, Un = ["value"], Wn = { class: "tpl:mb-3.5" }, Gn = { class: "tpl:mb-3.5" }, Kn = {
660
686
  key: 0,
661
687
  class: "tpl:mt-2 tpl:flex tpl:cursor-pointer tpl:items-center tpl:gap-2 tpl:text-[12px] tpl:text-[var(--tpl-text-muted)]"
662
- }, Bn = ["checked"], Vn = { class: "tpl:grid tpl:grid-cols-2 tpl:gap-3" }, Hn = { class: "tpl:mb-3.5" }, Un = { class: "tpl:mb-3.5" }, Wn = { class: "tpl:grid tpl:grid-cols-2 tpl:gap-3" }, Gn = { class: "tpl:mb-3.5" }, Kn = { class: "tpl:flex tpl:items-stretch" }, qn = ["value"], Jn = { class: "tpl:mb-3.5" }, Yn = { class: "tpl:flex tpl:items-stretch" }, Xn = ["value"], Zn = /* @__PURE__ */ l({
688
+ }, qn = ["checked"], Jn = { class: "tpl:grid tpl:grid-cols-2 tpl:gap-3" }, Yn = { class: "tpl:mb-3.5" }, Xn = { class: "tpl:mb-3.5" }, Zn = { class: "tpl:grid tpl:grid-cols-2 tpl:gap-3" }, Qn = { class: "tpl:mb-3.5" }, $n = { class: "tpl:flex tpl:items-stretch" }, er = ["value"], tr = { class: "tpl:mb-3.5" }, nr = { class: "tpl:flex tpl:items-stretch" }, rr = ["value"], ir = /* @__PURE__ */ l({
663
689
  __name: "ButtonToolbar",
664
690
  props: {
665
691
  block: {},
@@ -672,20 +698,20 @@ var Ut = ["aria-label", "onKeydown"], Wt = ["data-tooltip"], Gt = ["data-tooltip
672
698
  n("update", { [e]: t });
673
699
  }
674
700
  return (t, n) => (s(), f(_, null, [
675
- C("div", Nn, [C("label", { class: D(p(W)) }, S(p(r).button.fontFamily), 3), C("select", {
701
+ C("div", Bn, [C("label", { class: D(p(W)) }, S(p(r).button.fontFamily), 3), C("select", {
676
702
  class: D(p(U)),
677
703
  value: e.block.fontFamily || "",
678
704
  onChange: n[0] ||= (e) => a("fontFamily", e.target.value || void 0)
679
- }, [C("option", Fn, S(p(r).button.inheritFont), 1), (s(!0), f(_, null, i(e.fontFamilies, (e) => (s(), f("option", {
705
+ }, [C("option", Hn, S(p(r).button.inheritFont), 1), (s(!0), f(_, null, i(e.fontFamilies, (e) => (s(), f("option", {
680
706
  key: e.value,
681
707
  value: e.value
682
- }, S(e.label), 9, In))), 128))], 42, Pn)]),
683
- C("div", Ln, [C("label", { class: D(p(W)) }, S(p(r).button.text), 3), m(X, {
708
+ }, S(e.label), 9, Un))), 128))], 42, Vn)]),
709
+ C("div", Wn, [C("label", { class: D(p(W)) }, S(p(r).button.text), 3), m(X, {
684
710
  "model-value": e.block.text,
685
711
  type: "text",
686
712
  "onUpdate:modelValue": n[1] ||= (e) => a("text", e)
687
713
  }, null, 8, ["model-value"])]),
688
- C("div", Rn, [
714
+ C("div", Gn, [
689
715
  C("label", { class: D(p(W)) }, S(p(r).button.url), 3),
690
716
  m(X, {
691
717
  "model-value": e.block.url,
@@ -693,38 +719,38 @@ var Ut = ["aria-label", "onKeydown"], Wt = ["data-tooltip"], Gt = ["data-tooltip
693
719
  placeholder: p(r).button.urlPlaceholder,
694
720
  "onUpdate:modelValue": n[2] ||= (e) => a("url", e)
695
721
  }, null, 8, ["model-value", "placeholder"]),
696
- e.block.url ? (s(), f("label", zn, [C("input", {
722
+ e.block.url ? (s(), f("label", Kn, [C("input", {
697
723
  type: "checkbox",
698
724
  class: "tpl:size-3.5 tpl:cursor-pointer tpl:accent-[var(--tpl-primary)]",
699
725
  checked: e.block.openInNewTab ?? !1,
700
726
  onChange: n[3] ||= (e) => a("openInNewTab", e.target.checked)
701
- }, null, 40, Bn), j(" " + S(p(r).button.openInNewTab), 1)])) : v("", !0)
727
+ }, null, 40, qn), j(" " + S(p(r).button.openInNewTab), 1)])) : v("", !0)
702
728
  ]),
703
- C("div", Vn, [C("div", Hn, [C("label", { class: D(p(W)) }, S(p(r).button.background), 3), m(q, {
729
+ C("div", Jn, [C("div", Yn, [C("label", { class: D(p(W)) }, S(p(r).button.background), 3), m(q, {
704
730
  "model-value": e.block.backgroundColor,
705
731
  "onUpdate:modelValue": n[4] ||= (e) => a("backgroundColor", e)
706
- }, null, 8, ["model-value"])]), C("div", Un, [C("label", { class: D(p(W)) }, S(p(r).button.textColor), 3), m(q, {
732
+ }, null, 8, ["model-value"])]), C("div", Xn, [C("label", { class: D(p(W)) }, S(p(r).button.textColor), 3), m(q, {
707
733
  "model-value": e.block.textColor,
708
734
  "onUpdate:modelValue": n[5] ||= (e) => a("textColor", e)
709
735
  }, null, 8, ["model-value"])])]),
710
- C("div", Wn, [C("div", Gn, [C("label", { class: D(p(W)) }, S(p(r).button.borderRadius), 3), C("div", Kn, [C("input", {
736
+ C("div", Zn, [C("div", Qn, [C("label", { class: D(p(W)) }, S(p(r).button.borderRadius), 3), C("div", $n, [C("input", {
711
737
  type: "number",
712
738
  class: D(p(K)),
713
739
  value: e.block.borderRadius,
714
740
  min: "0",
715
741
  max: "50",
716
742
  onInput: n[6] ||= (e) => a("borderRadius", Number(e.target.value))
717
- }, null, 42, qn), C("span", { class: D(p(G)) }, "px", 2)])]), C("div", Jn, [C("label", { class: D(p(W)) }, S(p(r).button.fontSize), 3), C("div", Yn, [C("input", {
743
+ }, null, 42, er), C("span", { class: D(p(G)) }, "px", 2)])]), C("div", tr, [C("label", { class: D(p(W)) }, S(p(r).button.fontSize), 3), C("div", nr, [C("input", {
718
744
  type: "number",
719
745
  class: D(p(K)),
720
746
  value: e.block.fontSize,
721
747
  min: "10",
722
748
  max: "36",
723
749
  onInput: n[7] ||= (e) => a("fontSize", Number(e.target.value))
724
- }, null, 42, Xn), C("span", { class: D(p(G)) }, "px", 2)])])])
750
+ }, null, 42, rr), C("span", { class: D(p(G)) }, "px", 2)])])])
725
751
  ], 64));
726
752
  }
727
- }), Qn = { class: "spacing-control" }, $n = { class: "tpl:mb-2 tpl:block tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, er = { class: "tpl:flex tpl:flex-col tpl:items-center tpl:gap-1.5" }, tr = { class: "tpl:flex tpl:items-center" }, nr = ["aria-label"], rr = ["value", "aria-label"], ir = ["aria-label"], ar = { class: "tpl:flex tpl:items-center tpl:gap-2" }, or = { class: "tpl:flex tpl:items-center" }, sr = ["aria-label"], cr = ["value", "aria-label"], lr = ["aria-label"], ur = ["aria-label", "title"], dr = { class: "tpl:flex tpl:items-center" }, fr = ["aria-label"], pr = ["value", "aria-label"], mr = ["aria-label"], hr = { class: "tpl:flex tpl:items-center" }, gr = ["aria-label"], _r = ["value", "aria-label"], vr = ["aria-label"], Z = "tpl:flex tpl:items-center tpl:justify-center tpl:w-8 tpl:h-8 tpl:text-[var(--tpl-text-muted)] tpl:bg-[var(--tpl-bg)] tpl:border tpl:border-[var(--tpl-border)] tpl:cursor-pointer tpl:transition-all tpl:duration-[120ms] tpl:ease-[cubic-bezier(0.16,1,0.3,1)] hover:tpl:bg-[var(--tpl-bg-hover)] hover:tpl:text-[var(--tpl-text)] active:tpl:bg-[var(--tpl-bg-active)]", yr = "tpl:w-10 tpl:h-8 tpl:text-center tpl:text-xs tpl:font-medium tpl:border-y tpl:border-x-0 tpl:border-[var(--tpl-border)] tpl:text-[var(--tpl-text)] tpl:bg-[var(--tpl-bg)] tpl:outline-none tpl:transition-all tpl:duration-[120ms] focus:tpl:border-[var(--tpl-primary)] focus:tpl:shadow-[var(--tpl-ring)]", br = /* @__PURE__ */ L(/* @__PURE__ */ l({
753
+ }), ar = { class: "spacing-control" }, or = { class: "tpl:mb-2 tpl:block tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, sr = { class: "tpl:flex tpl:flex-col tpl:items-center tpl:gap-1.5" }, cr = { class: "tpl:flex tpl:items-center" }, lr = ["aria-label"], ur = ["value", "aria-label"], dr = ["aria-label"], fr = { class: "tpl:flex tpl:items-center tpl:gap-2" }, pr = { class: "tpl:flex tpl:items-center" }, mr = ["aria-label"], hr = ["value", "aria-label"], gr = ["aria-label"], _r = ["aria-label", "title"], vr = { class: "tpl:flex tpl:items-center" }, yr = ["aria-label"], br = ["value", "aria-label"], xr = ["aria-label"], Sr = { class: "tpl:flex tpl:items-center" }, Cr = ["aria-label"], wr = ["value", "aria-label"], Tr = ["aria-label"], Z = "tpl:flex tpl:items-center tpl:justify-center tpl:w-8 tpl:h-8 tpl:text-[var(--tpl-text-muted)] tpl:bg-[var(--tpl-bg)] tpl:border tpl:border-[var(--tpl-border)] tpl:cursor-pointer tpl:transition-all tpl:duration-[120ms] tpl:ease-[cubic-bezier(0.16,1,0.3,1)] hover:tpl:bg-[var(--tpl-bg-hover)] hover:tpl:text-[var(--tpl-text)] active:tpl:bg-[var(--tpl-bg-active)]", Er = "tpl:w-10 tpl:h-8 tpl:text-center tpl:text-xs tpl:font-medium tpl:border-y tpl:border-x-0 tpl:border-[var(--tpl-border)] tpl:text-[var(--tpl-text)] tpl:bg-[var(--tpl-bg)] tpl:outline-none tpl:transition-all tpl:duration-[120ms] focus:tpl:border-[var(--tpl-primary)] focus:tpl:shadow-[var(--tpl-ring)]", Dr = /* @__PURE__ */ R(/* @__PURE__ */ l({
728
754
  __name: "SpacingControl",
729
755
  props: {
730
756
  modelValue: {},
@@ -771,59 +797,59 @@ var Ut = ["aria-label", "onKeydown"], Wt = ["data-tooltip"], Gt = ["data-tooltip
771
797
  });
772
798
  }
773
799
  }
774
- return (t, n) => (s(), f("div", Qn, [C("label", $n, S(e.label), 1), C("div", er, [
775
- C("div", tr, [
800
+ return (t, n) => (s(), f("div", ar, [C("label", or, S(e.label), 1), C("div", sr, [
801
+ C("div", cr, [
776
802
  C("button", {
777
803
  "aria-label": p(o).spacingControl.decreaseTop,
778
804
  class: D([Z, "tpl:rounded-l-[var(--tpl-radius-sm)]"]),
779
805
  onClick: n[0] ||= (e) => u("top", -1)
780
- }, [m(p(z), {
806
+ }, [m(p(B), {
781
807
  size: 12,
782
808
  "stroke-width": 2
783
- })], 10, nr),
809
+ })], 10, lr),
784
810
  C("input", {
785
811
  type: "number",
786
- class: D(yr),
812
+ class: D(Er),
787
813
  value: e.modelValue.top,
788
814
  "aria-label": p(o).spacingControl.top,
789
815
  min: "0",
790
816
  onInput: n[1] ||= (e) => d("top", Number(e.target.value))
791
- }, null, 40, rr),
817
+ }, null, 40, ur),
792
818
  C("button", {
793
819
  "aria-label": p(o).spacingControl.increaseTop,
794
820
  class: D([Z, "tpl:rounded-r-[var(--tpl-radius-sm)]"]),
795
821
  onClick: n[2] ||= (e) => u("top", 1)
796
- }, [m(p(B), {
822
+ }, [m(p(z), {
797
823
  size: 12,
798
824
  "stroke-width": 2
799
- })], 10, ir)
825
+ })], 10, dr)
800
826
  ]),
801
- C("div", ar, [
802
- C("div", or, [
827
+ C("div", fr, [
828
+ C("div", pr, [
803
829
  C("button", {
804
830
  "aria-label": p(o).spacingControl.decreaseLeft,
805
831
  class: D([Z, "tpl:rounded-l-[var(--tpl-radius-sm)]"]),
806
832
  onClick: n[3] ||= (e) => u("left", -1)
807
- }, [m(p(z), {
833
+ }, [m(p(B), {
808
834
  size: 12,
809
835
  "stroke-width": 2
810
- })], 10, sr),
836
+ })], 10, mr),
811
837
  C("input", {
812
838
  type: "number",
813
- class: D(yr),
839
+ class: D(Er),
814
840
  value: e.modelValue.left,
815
841
  "aria-label": p(o).spacingControl.left,
816
842
  min: "0",
817
843
  onInput: n[4] ||= (e) => d("left", Number(e.target.value))
818
- }, null, 40, cr),
844
+ }, null, 40, hr),
819
845
  C("button", {
820
846
  "aria-label": p(o).spacingControl.increaseLeft,
821
847
  class: D([Z, "tpl:rounded-r-[var(--tpl-radius-sm)]"]),
822
848
  onClick: n[5] ||= (e) => u("left", 1)
823
- }, [m(p(B), {
849
+ }, [m(p(z), {
824
850
  size: 12,
825
851
  "stroke-width": 2
826
- })], 10, lr)
852
+ })], 10, gr)
827
853
  ]),
828
854
  C("button", {
829
855
  class: D(["tpl:flex tpl:h-8 tpl:w-8 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded-[var(--tpl-radius-sm)] tpl:border tpl:transition-all tpl:duration-[120ms] tpl:ease-[cubic-bezier(0.16,1,0.3,1)]", l.value ? "tpl:border-[var(--tpl-primary)] tpl:bg-[var(--tpl-primary-light)] tpl:text-[var(--tpl-primary)]" : "tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:text-[var(--tpl-text-muted)] hover:tpl:bg-[var(--tpl-bg-hover)]"]),
@@ -838,63 +864,63 @@ var Ut = ["aria-label", "onKeydown"], Wt = ["data-tooltip"], Gt = ["data-tooltip
838
864
  key: 1,
839
865
  size: 14,
840
866
  "stroke-width": 2
841
- }))], 10, ur),
842
- C("div", dr, [
867
+ }))], 10, _r),
868
+ C("div", vr, [
843
869
  C("button", {
844
870
  "aria-label": p(o).spacingControl.decreaseRight,
845
871
  class: D([Z, "tpl:rounded-l-[var(--tpl-radius-sm)]"]),
846
872
  onClick: n[6] ||= (e) => u("right", -1)
847
- }, [m(p(z), {
873
+ }, [m(p(B), {
848
874
  size: 12,
849
875
  "stroke-width": 2
850
- })], 10, fr),
876
+ })], 10, yr),
851
877
  C("input", {
852
878
  type: "number",
853
- class: D(yr),
879
+ class: D(Er),
854
880
  value: e.modelValue.right,
855
881
  "aria-label": p(o).spacingControl.right,
856
882
  min: "0",
857
883
  onInput: n[7] ||= (e) => d("right", Number(e.target.value))
858
- }, null, 40, pr),
884
+ }, null, 40, br),
859
885
  C("button", {
860
886
  "aria-label": p(o).spacingControl.increaseRight,
861
887
  class: D([Z, "tpl:rounded-r-[var(--tpl-radius-sm)]"]),
862
888
  onClick: n[8] ||= (e) => u("right", 1)
863
- }, [m(p(B), {
889
+ }, [m(p(z), {
864
890
  size: 12,
865
891
  "stroke-width": 2
866
- })], 10, mr)
892
+ })], 10, xr)
867
893
  ])
868
894
  ]),
869
- C("div", hr, [
895
+ C("div", Sr, [
870
896
  C("button", {
871
897
  "aria-label": p(o).spacingControl.decreaseBottom,
872
898
  class: D([Z, "tpl:rounded-l-[var(--tpl-radius-sm)]"]),
873
899
  onClick: n[9] ||= (e) => u("bottom", -1)
874
- }, [m(p(z), {
900
+ }, [m(p(B), {
875
901
  size: 12,
876
902
  "stroke-width": 2
877
- })], 10, gr),
903
+ })], 10, Cr),
878
904
  C("input", {
879
905
  type: "number",
880
- class: D(yr),
906
+ class: D(Er),
881
907
  value: e.modelValue.bottom,
882
908
  "aria-label": p(o).spacingControl.bottom,
883
909
  min: "0",
884
910
  onInput: n[10] ||= (e) => d("bottom", Number(e.target.value))
885
- }, null, 40, _r),
911
+ }, null, 40, wr),
886
912
  C("button", {
887
913
  "aria-label": p(o).spacingControl.increaseBottom,
888
914
  class: D([Z, "tpl:rounded-r-[var(--tpl-radius-sm)]"]),
889
915
  onClick: n[11] ||= (e) => u("bottom", 1)
890
- }, [m(p(B), {
916
+ }, [m(p(z), {
891
917
  size: 12,
892
918
  "stroke-width": 2
893
- })], 10, vr)
919
+ })], 10, Tr)
894
920
  ])
895
921
  ])]));
896
922
  }
897
- }), [["__scopeId", "data-v-9a9c8a07"]]), xr = { class: "tpl:mt-3" }, Q = /* @__PURE__ */ l({
923
+ }), [["__scopeId", "data-v-9a9c8a07"]]), Or = { class: "tpl:mt-3" }, Q = /* @__PURE__ */ l({
898
924
  __name: "CollapsibleSection",
899
925
  props: {
900
926
  title: {},
@@ -907,25 +933,25 @@ var Ut = ["aria-label", "onKeydown"], Wt = ["data-tooltip"], Gt = ["data-tooltip
907
933
  type: "button",
908
934
  class: "tpl:flex tpl:w-full tpl:cursor-pointer tpl:items-center tpl:gap-1.5 tpl:border-none tpl:bg-transparent tpl:p-0 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-text-muted)]",
909
935
  onClick: n[0] ||= (e) => t.$emit("toggle")
910
- }, [m(p(te), {
936
+ }, [m(p(re), {
911
937
  class: D(["tpl:transition-transform tpl:duration-200", e.open ? "tpl:rotate-0" : "tpl:-rotate-90"]),
912
938
  size: 12,
913
939
  "stroke-width": 2
914
- }, null, 8, ["class"]), C("span", null, S(e.title), 1)]), u(C("div", xr, [o(t.$slots, "default")], 512), [[h, e.open]])], 2));
940
+ }, null, 8, ["class"]), C("span", null, S(e.title), 1)]), u(C("div", Or, [o(t.$slots, "default")], 512), [[h, e.open]])], 2));
915
941
  }
916
- }), Sr = { class: "tpl:mt-4" }, Cr = { class: "tpl:space-y-2" }, wr = ["checked", "onChange"], Tr = ["value", "placeholder"], Er = { class: "tpl:space-y-2" }, Dr = ["value"], Or = { value: "" }, kr = ["label"], Ar = ["value"], jr = ["value"], Mr = {
942
+ }), kr = { class: "tpl:mt-4" }, Ar = { class: "tpl:space-y-2" }, jr = ["checked", "onChange"], Mr = ["value", "placeholder"], Nr = { class: "tpl:space-y-2" }, Pr = ["value"], Fr = { value: "" }, Ir = ["label"], Lr = ["value"], Rr = ["value"], zr = {
917
943
  key: 0,
918
944
  value: "__custom__"
919
- }, Nr = {
945
+ }, Br = {
920
946
  key: 0,
921
947
  class: "tpl:space-y-2"
922
- }, Pr = { class: "tpl:mb-1 tpl:block tpl:text-[11px] tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, Fr = { class: "tpl:mb-1 tpl:block tpl:text-[11px] tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, Ir = { class: "tpl:flex tpl:justify-end" }, Lr = ["disabled"], Rr = {
948
+ }, Vr = { class: "tpl:mb-1 tpl:block tpl:text-[11px] tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, Hr = { class: "tpl:mb-1 tpl:block tpl:text-[11px] tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, Ur = { class: "tpl:flex tpl:justify-end" }, Wr = ["disabled"], Gr = {
923
949
  key: 0,
924
950
  class: "tpl:text-[11px] tpl:text-[var(--tpl-text-muted)]"
925
- }, zr = { class: "tpl:space-y-1" }, Br = { class: "tpl:m-0 tpl:overflow-x-auto tpl:rounded tpl:bg-[var(--tpl-bg)] tpl:p-2 tpl:font-mono tpl:text-[10px] tpl:text-[var(--tpl-text-muted)]" }, Vr = {
951
+ }, Kr = { class: "tpl:space-y-1" }, qr = { class: "tpl:m-0 tpl:overflow-x-auto tpl:rounded tpl:bg-[var(--tpl-bg)] tpl:p-2 tpl:font-mono tpl:text-[10px] tpl:text-[var(--tpl-text-muted)]" }, Jr = {
926
952
  key: 0,
927
953
  class: "tpl:m-0 tpl:overflow-x-auto tpl:rounded tpl:bg-[var(--tpl-bg)] tpl:p-2 tpl:font-mono tpl:text-[10px] tpl:text-[var(--tpl-text-muted)]"
928
- }, Hr = /* @__PURE__ */ l({
954
+ }, Yr = /* @__PURE__ */ l({
929
955
  __name: "CommonBlockSettings",
930
956
  props: {
931
957
  block: {},
@@ -933,7 +959,7 @@ var Ut = ["aria-label", "onKeydown"], Wt = ["data-tooltip"], Gt = ["data-tooltip
933
959
  },
934
960
  emits: ["update"],
935
961
  setup(e, { emit: o }) {
936
- let l = e, h = o, { t: g } = I(), b = r(be, []), x = r(pe, !1), w = d(/* @__PURE__ */ new Set()), O = t(!1), k = t(""), A = t(""), ee = [
962
+ let l = e, h = o, { t: g } = I(), b = r(P, []), x = r(se, !1), w = d(/* @__PURE__ */ new Set()), O = t(!1), k = t(""), A = t(""), ee = [
937
963
  {
938
964
  key: "desktop",
939
965
  icon: nt,
@@ -941,12 +967,12 @@ var Ut = ["aria-label", "onKeydown"], Wt = ["data-tooltip"], Gt = ["data-tooltip
941
967
  },
942
968
  {
943
969
  key: "tablet",
944
- icon: ot,
970
+ icon: dt,
945
971
  labelKey: "showOnTablet"
946
972
  },
947
973
  {
948
974
  key: "mobile",
949
- icon: it,
975
+ icon: pt,
950
976
  labelKey: "showOnMobile"
951
977
  }
952
978
  ];
@@ -979,7 +1005,7 @@ var Ut = ["aria-label", "onKeydown"], Wt = ["data-tooltip"], Gt = ["data-tooltip
979
1005
  }
980
1006
  return e;
981
1007
  });
982
- function P(e, t) {
1008
+ function ae(e, t) {
983
1009
  h("update", { styles: {
984
1010
  ...l.block.styles,
985
1011
  [e]: t
@@ -988,7 +1014,7 @@ var Ut = ["aria-label", "onKeydown"], Wt = ["data-tooltip"], Gt = ["data-tooltip
988
1014
  function F(e) {
989
1015
  return l.block.visibility?.[e] !== !1;
990
1016
  }
991
- function ae(e) {
1017
+ function oe(e) {
992
1018
  let t = {
993
1019
  desktop: F("desktop"),
994
1020
  tablet: F("tablet"),
@@ -1003,14 +1029,14 @@ var Ut = ["aria-label", "onKeydown"], Wt = ["data-tooltip"], Gt = ["data-tooltip
1003
1029
  "no-border": e.isFirstSection,
1004
1030
  onToggle: n[2] ||= (e) => M("spacing")
1005
1031
  }, {
1006
- default: a(() => [m(br, {
1032
+ default: a(() => [m(Dr, {
1007
1033
  label: p(g).blockSettings.padding,
1008
1034
  "model-value": e.block.styles.padding,
1009
- "onUpdate:modelValue": n[0] ||= (e) => P("padding", e)
1010
- }, null, 8, ["label", "model-value"]), C("div", Sr, [m(br, {
1035
+ "onUpdate:modelValue": n[0] ||= (e) => ae("padding", e)
1036
+ }, null, 8, ["label", "model-value"]), C("div", kr, [m(Dr, {
1011
1037
  label: p(g).blockSettings.margin,
1012
1038
  "model-value": e.block.styles.margin,
1013
- "onUpdate:modelValue": n[1] ||= (e) => P("margin", e)
1039
+ "onUpdate:modelValue": n[1] ||= (e) => ae("margin", e)
1014
1040
  }, null, 8, ["label", "model-value"])])]),
1015
1041
  _: 1
1016
1042
  }, 8, [
@@ -1026,7 +1052,7 @@ var Ut = ["aria-label", "onKeydown"], Wt = ["data-tooltip"], Gt = ["data-tooltip
1026
1052
  default: a(() => [C("label", { class: D(p(W)) }, S(p(g).blockSettings.color), 3), m(q, {
1027
1053
  size: "large",
1028
1054
  "model-value": e.block.styles.backgroundColor || p("#ffffff"),
1029
- "onUpdate:modelValue": n[3] ||= (e) => P("backgroundColor", e)
1055
+ "onUpdate:modelValue": n[3] ||= (e) => ae("backgroundColor", e)
1030
1056
  }, null, 8, ["model-value"])]),
1031
1057
  _: 1
1032
1058
  }, 8, ["title", "open"]),
@@ -1035,7 +1061,7 @@ var Ut = ["aria-label", "onKeydown"], Wt = ["data-tooltip"], Gt = ["data-tooltip
1035
1061
  open: w.has("display"),
1036
1062
  onToggle: n[5] ||= (e) => M("display")
1037
1063
  }, {
1038
- default: a(() => [C("div", Cr, [(s(), f(_, null, i(ee, (e) => C("label", {
1064
+ default: a(() => [C("div", Ar, [(s(), f(_, null, i(ee, (e) => C("label", {
1039
1065
  key: e.key,
1040
1066
  class: "tpl:flex tpl:cursor-pointer tpl:items-center tpl:gap-2 tpl:text-xs tpl:text-[var(--tpl-text)]"
1041
1067
  }, [
@@ -1043,8 +1069,8 @@ var Ut = ["aria-label", "onKeydown"], Wt = ["data-tooltip"], Gt = ["data-tooltip
1043
1069
  type: "checkbox",
1044
1070
  class: "tpl:accent-[var(--tpl-primary)]",
1045
1071
  checked: F(e.key),
1046
- onChange: (t) => ae(e.key)
1047
- }, null, 40, wr),
1072
+ onChange: (t) => oe(e.key)
1073
+ }, null, 40, jr),
1048
1074
  (s(), y(c(e.icon), {
1049
1075
  size: 14,
1050
1076
  "stroke-width": 1.5
@@ -1062,9 +1088,9 @@ var Ut = ["aria-label", "onKeydown"], Wt = ["data-tooltip"], Gt = ["data-tooltip
1062
1088
  value: e.block.customCss || "",
1063
1089
  placeholder: p(g).blockSettings.cssPlaceholder,
1064
1090
  rows: "3",
1065
- class: D(p(vt)),
1091
+ class: D(p(xt)),
1066
1092
  onInput: n[6] ||= (e) => h("update", { customCss: e.target.value })
1067
- }, null, 42, Tr)]),
1093
+ }, null, 42, Mr)]),
1068
1094
  _: 1
1069
1095
  }, 8, ["title", "open"]),
1070
1096
  te.value ? (s(), y(Q, {
@@ -1073,7 +1099,7 @@ var Ut = ["aria-label", "onKeydown"], Wt = ["data-tooltip"], Gt = ["data-tooltip
1073
1099
  open: w.has("condition"),
1074
1100
  onToggle: n[11] ||= (e) => M("condition")
1075
1101
  }, {
1076
- default: a(() => [C("div", Er, [C("select", {
1102
+ default: a(() => [C("div", Nr, [C("select", {
1077
1103
  class: D(["tpl:w-full tpl:rounded-md tpl:border tpl:px-2.5 tpl:py-2 tpl:text-xs tpl:outline-none tpl:transition-all tpl:duration-150 tpl:focus:border-[var(--tpl-primary)] tpl:focus:shadow-[0_0_0_3px_var(--tpl-primary-light)]", e.block.displayCondition ? "tpl:border-[var(--tpl-primary)] tpl:bg-[var(--tpl-primary-light)] tpl:text-[var(--tpl-text)]" : "tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:text-[var(--tpl-text)]"]),
1078
1104
  value: O.value || N.value ? "__custom__" : e.block.displayCondition?.label ?? "",
1079
1105
  onChange: n[8] ||= (e) => {
@@ -1090,48 +1116,48 @@ var Ut = ["aria-label", "onKeydown"], Wt = ["data-tooltip"], Gt = ["data-tooltip
1090
1116
  n && h("update", { displayCondition: n });
1091
1117
  }
1092
1118
  }, [
1093
- C("option", Or, S(p(g).blockSettings.noCondition), 1),
1119
+ C("option", Fr, S(p(g).blockSettings.noCondition), 1),
1094
1120
  (s(!0), f(_, null, i(ie.value, (e, t) => (s(), f(_, { key: t }, [t ? (s(), f("optgroup", {
1095
1121
  key: 0,
1096
1122
  label: String(t)
1097
1123
  }, [(s(!0), f(_, null, i(e, (e) => (s(), f("option", {
1098
1124
  key: e.label,
1099
1125
  value: e.label
1100
- }, S(e.label), 9, Ar))), 128))], 8, kr)) : (s(!0), f(_, { key: 1 }, i(e, (e) => (s(), f("option", {
1126
+ }, S(e.label), 9, Lr))), 128))], 8, Ir)) : (s(!0), f(_, { key: 1 }, i(e, (e) => (s(), f("option", {
1101
1127
  key: e.label,
1102
1128
  value: e.label
1103
- }, S(e.label), 9, jr))), 128))], 64))), 128)),
1104
- p(x) ? (s(), f("option", Mr, S(p(g).blockSettings.customCondition), 1)) : v("", !0)
1105
- ], 42, Dr), O.value || N.value ? (s(), f("div", Nr, [
1106
- C("div", null, [C("label", Pr, S(p(g).blockSettings.customConditionBefore), 1), u(C("textarea", {
1129
+ }, S(e.label), 9, Rr))), 128))], 64))), 128)),
1130
+ p(x) ? (s(), f("option", zr, S(p(g).blockSettings.customCondition), 1)) : v("", !0)
1131
+ ], 42, Pr), O.value || N.value ? (s(), f("div", Br, [
1132
+ C("div", null, [C("label", Vr, S(p(g).blockSettings.customConditionBefore), 1), u(C("textarea", {
1107
1133
  "onUpdate:modelValue": n[9] ||= (e) => k.value = e,
1108
1134
  rows: "2",
1109
- class: D(p(vt))
1135
+ class: D(p(xt))
1110
1136
  }, null, 2), [[E, k.value]])]),
1111
- C("div", null, [C("label", Fr, S(p(g).blockSettings.customConditionAfter), 1), u(C("textarea", {
1137
+ C("div", null, [C("label", Hr, S(p(g).blockSettings.customConditionAfter), 1), u(C("textarea", {
1112
1138
  "onUpdate:modelValue": n[10] ||= (e) => A.value = e,
1113
1139
  rows: "2",
1114
- class: D(p(vt))
1140
+ class: D(p(xt))
1115
1141
  }, null, 2), [[E, A.value]])]),
1116
- C("div", Ir, [C("button", {
1142
+ C("div", Ur, [C("button", {
1117
1143
  type: "button",
1118
1144
  class: "tpl:cursor-pointer tpl:rounded-md tpl:border-none tpl:bg-[var(--tpl-primary)] tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-bg)] tpl:transition-all tpl:duration-150 tpl:hover:opacity-90 tpl:disabled:opacity-50",
1119
1145
  disabled: !k.value.trim(),
1120
1146
  onClick: re
1121
- }, S(p(g).blockSettings.applyCondition), 9, Lr)])
1122
- ])) : e.block.displayCondition && !N.value ? (s(), f(_, { key: 1 }, [e.block.displayCondition.description ? (s(), f("p", Rr, S(e.block.displayCondition.description), 1)) : v("", !0), C("div", zr, [C("pre", Br, S(e.block.displayCondition.before), 1), e.block.displayCondition.after ? (s(), f("pre", Vr, S(e.block.displayCondition.after), 1)) : v("", !0)])], 64)) : v("", !0)])]),
1147
+ }, S(p(g).blockSettings.applyCondition), 9, Wr)])
1148
+ ])) : e.block.displayCondition && !N.value ? (s(), f(_, { key: 1 }, [e.block.displayCondition.description ? (s(), f("p", Gr, S(e.block.displayCondition.description), 1)) : v("", !0), C("div", Kr, [C("pre", qr, S(e.block.displayCondition.before), 1), e.block.displayCondition.after ? (s(), f("pre", Jr, S(e.block.displayCondition.after), 1)) : v("", !0)])], 64)) : v("", !0)])]),
1123
1149
  _: 1
1124
1150
  }, 8, ["title", "open"])) : v("", !0)
1125
1151
  ], 2));
1126
1152
  }
1127
- }), Ur = ["title"], Wr = { class: "tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, Gr = {
1153
+ }), Xr = ["title"], Zr = { class: "tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, Qr = {
1128
1154
  key: 1,
1129
1155
  class: "tpl:text-[var(--tpl-danger)]"
1130
- }, Kr = [
1156
+ }, $r = [
1131
1157
  "aria-checked",
1132
1158
  "aria-label",
1133
1159
  "disabled"
1134
- ], qr = /* @__PURE__ */ l({
1160
+ ], ei = /* @__PURE__ */ l({
1135
1161
  __name: "BooleanField",
1136
1162
  props: {
1137
1163
  field: {},
@@ -1144,14 +1170,14 @@ var Ut = ["aria-label", "onKeydown"], Wt = ["data-tooltip"], Gt = ["data-tooltip
1144
1170
  return (t, i) => (s(), f("div", {
1145
1171
  class: "tpl:mb-3.5",
1146
1172
  title: e.readOnly ? p(r).customBlocks.dataSource.readOnlyTooltip : void 0
1147
- }, [C("label", { class: D(["tpl:flex tpl:items-center tpl:justify-between tpl:gap-2", e.readOnly ? "tpl:cursor-not-allowed" : "tpl:cursor-pointer"]) }, [C("span", Wr, [
1173
+ }, [C("label", { class: D(["tpl:flex tpl:items-center tpl:justify-between tpl:gap-2", e.readOnly ? "tpl:cursor-not-allowed" : "tpl:cursor-pointer"]) }, [C("span", Zr, [
1148
1174
  j(S(e.field.label) + " ", 1),
1149
1175
  e.readOnly ? (s(), y(p($e), {
1150
1176
  key: 0,
1151
1177
  size: 12,
1152
1178
  class: "tpl:inline tpl:text-[var(--tpl-text-dim)]"
1153
1179
  })) : v("", !0),
1154
- e.field.required ? (s(), f("span", Gr, " * ")) : v("", !0)
1180
+ e.field.required ? (s(), f("span", Qr, " * ")) : v("", !0)
1155
1181
  ]), C("button", {
1156
1182
  type: "button",
1157
1183
  role: "switch",
@@ -1164,9 +1190,9 @@ var Ut = ["aria-label", "onKeydown"], Wt = ["data-tooltip"], Gt = ["data-tooltip
1164
1190
  ]),
1165
1191
  disabled: e.readOnly,
1166
1192
  onClick: i[0] ||= (t) => !e.readOnly && n("update:modelValue", !e.modelValue)
1167
- }, [C("span", { class: D(["tpl:pointer-events-none tpl:inline-block tpl:size-4 tpl:rounded-full tpl:bg-[var(--tpl-bg)] tpl:shadow tpl:transition-transform tpl:duration-200", e.modelValue ? "tpl:translate-x-4" : "tpl:translate-x-0"]) }, null, 2)], 10, Kr)], 2)], 8, Ur));
1193
+ }, [C("span", { class: D(["tpl:pointer-events-none tpl:inline-block tpl:size-4 tpl:rounded-full tpl:bg-[var(--tpl-bg)] tpl:shadow tpl:transition-transform tpl:duration-200", e.modelValue ? "tpl:translate-x-4" : "tpl:translate-x-0"]) }, null, 2)], 10, $r)], 2)], 8, Xr));
1168
1194
  }
1169
- }), Jr = { class: "tpl:mb-3.5" }, Yr = {
1195
+ }), ti = { class: "tpl:mb-3.5" }, ni = {
1170
1196
  key: 1,
1171
1197
  class: "tpl:text-[var(--tpl-danger)]"
1172
1198
  }, $ = /* @__PURE__ */ l({
@@ -1177,17 +1203,17 @@ var Ut = ["aria-label", "onKeydown"], Wt = ["data-tooltip"], Gt = ["data-tooltip
1177
1203
  readOnly: { type: Boolean }
1178
1204
  },
1179
1205
  setup(e) {
1180
- return (t, n) => (s(), f("div", Jr, [C("label", { class: D(p(W)) }, [
1206
+ return (t, n) => (s(), f("div", ti, [C("label", { class: D(p(W)) }, [
1181
1207
  j(S(e.label) + " ", 1),
1182
1208
  e.readOnly ? (s(), y(p($e), {
1183
1209
  key: 0,
1184
1210
  size: 12,
1185
1211
  class: "tpl:inline tpl:text-[var(--tpl-text-dim)]"
1186
1212
  })) : v("", !0),
1187
- e.required ? (s(), f("span", Yr, "*")) : v("", !0)
1213
+ e.required ? (s(), f("span", ni, "*")) : v("", !0)
1188
1214
  ], 2), o(t.$slots, "default")]));
1189
1215
  }
1190
- }), Xr = /* @__PURE__ */ l({
1216
+ }), ri = /* @__PURE__ */ l({
1191
1217
  __name: "ColorField",
1192
1218
  props: {
1193
1219
  field: {},
@@ -1221,11 +1247,11 @@ var Ut = ["aria-label", "onKeydown"], Wt = ["data-tooltip"], Gt = ["data-tooltip
1221
1247
  "read-only"
1222
1248
  ]));
1223
1249
  }
1224
- }), Zr = [
1250
+ }), ii = [
1225
1251
  "value",
1226
1252
  "placeholder",
1227
1253
  "title"
1228
- ], Qr = ["value", "placeholder"], $r = /* @__PURE__ */ l({
1254
+ ], ai = ["value", "placeholder"], oi = /* @__PURE__ */ l({
1229
1255
  __name: "ImageField",
1230
1256
  props: {
1231
1257
  field: {},
@@ -1234,7 +1260,7 @@ var Ut = ["aria-label", "onKeydown"], Wt = ["data-tooltip"], Gt = ["data-tooltip
1234
1260
  },
1235
1261
  emits: ["update:modelValue"],
1236
1262
  setup(e, { emit: t }) {
1237
- let n = t, { t: i } = I(), o = r(He, null), c = T(() => !!o);
1263
+ let n = t, { t: i } = I(), o = r(Oe, null), c = T(() => !!o);
1238
1264
  async function l() {
1239
1265
  let e = await o?.({ accept: ["images"] });
1240
1266
  e && n("update:modelValue", e.url);
@@ -1252,18 +1278,18 @@ var Ut = ["aria-label", "onKeydown"], Wt = ["data-tooltip"], Gt = ["data-tooltip
1252
1278
  placeholder: e.field.placeholder || "https://...",
1253
1279
  disabled: "",
1254
1280
  title: p(i).customBlocks.dataSource.readOnlyTooltip
1255
- }, null, 10, Zr)) : (s(), f("input", {
1281
+ }, null, 10, ii)) : (s(), f("input", {
1256
1282
  key: 1,
1257
1283
  type: "url",
1258
1284
  class: D(p(U)),
1259
1285
  value: e.modelValue,
1260
1286
  placeholder: e.field.placeholder || "https://...",
1261
1287
  onInput: r[0] ||= (e) => n("update:modelValue", e.target.value)
1262
- }, null, 42, Qr)), c.value && !e.readOnly ? (s(), f("button", {
1288
+ }, null, 42, ai)), c.value && !e.readOnly ? (s(), f("button", {
1263
1289
  key: 2,
1264
1290
  class: "tpl:mt-2 tpl:flex tpl:w-full tpl:items-center tpl:justify-center tpl:gap-1.5 tpl:rounded-md tpl:border tpl:px-3 tpl:py-2 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150 tpl:border-[var(--tpl-border)] tpl:text-[var(--tpl-primary)] tpl:bg-[var(--tpl-bg)]",
1265
1291
  onClick: r[1] ||= (e) => l()
1266
- }, [m(p(De), {
1292
+ }, [m(p(qe), {
1267
1293
  size: 14,
1268
1294
  "stroke-width": 1.5
1269
1295
  }), j(" " + S(p(i).image.browseMedia), 1)])) : v("", !0)]),
@@ -1274,7 +1300,7 @@ var Ut = ["aria-label", "onKeydown"], Wt = ["data-tooltip"], Gt = ["data-tooltip
1274
1300
  "read-only"
1275
1301
  ]));
1276
1302
  }
1277
- }), ei = [
1303
+ }), si = [
1278
1304
  "value",
1279
1305
  "placeholder",
1280
1306
  "min",
@@ -1282,7 +1308,7 @@ var Ut = ["aria-label", "onKeydown"], Wt = ["data-tooltip"], Gt = ["data-tooltip
1282
1308
  "step",
1283
1309
  "disabled",
1284
1310
  "title"
1285
- ], ti = /* @__PURE__ */ l({
1311
+ ], ci = /* @__PURE__ */ l({
1286
1312
  __name: "NumberField",
1287
1313
  props: {
1288
1314
  field: {},
@@ -1308,7 +1334,7 @@ var Ut = ["aria-label", "onKeydown"], Wt = ["data-tooltip"], Gt = ["data-tooltip
1308
1334
  disabled: e.readOnly,
1309
1335
  title: e.readOnly ? p(r).customBlocks.dataSource.readOnlyTooltip : void 0,
1310
1336
  onInput: i[0] ||= (t) => !e.readOnly && n("update:modelValue", Number(t.target.value))
1311
- }, null, 42, ei)]),
1337
+ }, null, 42, si)]),
1312
1338
  _: 1
1313
1339
  }, 8, [
1314
1340
  "label",
@@ -1316,10 +1342,10 @@ var Ut = ["aria-label", "onKeydown"], Wt = ["data-tooltip"], Gt = ["data-tooltip
1316
1342
  "read-only"
1317
1343
  ]));
1318
1344
  }
1319
- }), ni = { class: "tpl:flex tpl:flex-col tpl:gap-2" }, ri = { class: "tpl:mb-2 tpl:flex tpl:items-center tpl:justify-between" }, ii = { class: "tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-dim)]" }, ai = ["title", "onClick"], oi = {
1345
+ }), li = { class: "tpl:flex tpl:flex-col tpl:gap-2" }, ui = { class: "tpl:mb-2 tpl:flex tpl:items-center tpl:justify-between" }, di = { class: "tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-dim)]" }, fi = ["title", "onClick"], pi = {
1320
1346
  key: 1,
1321
1347
  class: "tpl:m-0 tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-dim)]"
1322
- }, si = /* @__PURE__ */ l({
1348
+ }, mi = /* @__PURE__ */ l({
1323
1349
  __name: "RepeatableField",
1324
1350
  props: {
1325
1351
  field: {},
@@ -1351,20 +1377,20 @@ var Ut = ["aria-label", "onKeydown"], Wt = ["data-tooltip"], Gt = ["data-tooltip
1351
1377
  required: e.field.required,
1352
1378
  "read-only": e.readOnly
1353
1379
  }, {
1354
- default: a(() => [C("div", ni, [
1380
+ default: a(() => [C("div", li, [
1355
1381
  (s(!0), f(_, null, i(l.value, (t, n) => (s(), f("div", {
1356
1382
  key: `${e.field.key}-${n}`,
1357
1383
  class: "tpl:rounded-md tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-hover)] tpl:p-3"
1358
- }, [C("div", ri, [C("span", ii, " #" + S(n + 1), 1), d.value && !e.readOnly ? (s(), f("button", {
1384
+ }, [C("div", ui, [C("span", di, " #" + S(n + 1), 1), d.value && !e.readOnly ? (s(), f("button", {
1359
1385
  key: 0,
1360
1386
  type: "button",
1361
1387
  class: "tpl:flex tpl:size-6 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:text-[var(--tpl-text-muted)] tpl:transition-all tpl:duration-150 tpl:hover:border-[var(--tpl-danger)] tpl:hover:bg-[var(--tpl-danger-light)] tpl:hover:text-[var(--tpl-danger)]",
1362
1388
  title: p(o).customBlocks.fields.removeItem,
1363
1389
  onClick: (e) => g(n)
1364
- }, [m(p(Oe), {
1390
+ }, [m(p(Ve), {
1365
1391
  size: 12,
1366
1392
  "stroke-width": 2
1367
- })], 8, ai)) : v("", !0)]), (s(!0), f(_, null, i(e.field.fields, (r) => (s(), y(c(p(gi)(r.type)), {
1393
+ })], 8, fi)) : v("", !0)]), (s(!0), f(_, null, i(e.field.fields, (r) => (s(), y(c(p(Ci)(r.type)), {
1368
1394
  key: r.key,
1369
1395
  field: r,
1370
1396
  "model-value": t[r.key],
@@ -1379,13 +1405,13 @@ var Ut = ["aria-label", "onKeydown"], Wt = ["data-tooltip"], Gt = ["data-tooltip
1379
1405
  u.value && !e.readOnly ? (s(), f("button", {
1380
1406
  key: 0,
1381
1407
  type: "button",
1382
- class: D(p(_t)),
1408
+ class: D(p(bt)),
1383
1409
  onClick: h
1384
- }, [m(p(B), {
1410
+ }, [m(p(z), {
1385
1411
  size: 14,
1386
1412
  "stroke-width": 2
1387
1413
  }), j(" " + S(p(o).customBlocks.fields.addItem), 1)], 2)) : v("", !0),
1388
- !u.value && !e.readOnly ? (s(), f("p", oi, S(p(o).customBlocks.fields.maxItemsReached), 1)) : v("", !0)
1414
+ !u.value && !e.readOnly ? (s(), f("p", pi, S(p(o).customBlocks.fields.maxItemsReached), 1)) : v("", !0)
1389
1415
  ])]),
1390
1416
  _: 1
1391
1417
  }, 8, [
@@ -1394,11 +1420,11 @@ var Ut = ["aria-label", "onKeydown"], Wt = ["data-tooltip"], Gt = ["data-tooltip
1394
1420
  "read-only"
1395
1421
  ]));
1396
1422
  }
1397
- }), ci = [
1423
+ }), hi = [
1398
1424
  "value",
1399
1425
  "disabled",
1400
1426
  "title"
1401
- ], li = ["value"], ui = /* @__PURE__ */ l({
1427
+ ], gi = ["value"], _i = /* @__PURE__ */ l({
1402
1428
  __name: "SelectField",
1403
1429
  props: {
1404
1430
  field: {},
@@ -1422,7 +1448,7 @@ var Ut = ["aria-label", "onKeydown"], Wt = ["data-tooltip"], Gt = ["data-tooltip
1422
1448
  }, [(s(!0), f(_, null, i(e.field.options, (e) => (s(), f("option", {
1423
1449
  key: e.value,
1424
1450
  value: e.value
1425
- }, S(e.label), 9, li))), 128))], 42, ci)]),
1451
+ }, S(e.label), 9, gi))), 128))], 42, hi)]),
1426
1452
  _: 1
1427
1453
  }, 8, [
1428
1454
  "label",
@@ -1430,11 +1456,11 @@ var Ut = ["aria-label", "onKeydown"], Wt = ["data-tooltip"], Gt = ["data-tooltip
1430
1456
  "read-only"
1431
1457
  ]));
1432
1458
  }
1433
- }), di = [
1459
+ }), vi = [
1434
1460
  "value",
1435
1461
  "placeholder",
1436
1462
  "title"
1437
- ], fi = /* @__PURE__ */ l({
1463
+ ], yi = /* @__PURE__ */ l({
1438
1464
  __name: "TextField",
1439
1465
  props: {
1440
1466
  field: {},
@@ -1457,7 +1483,7 @@ var Ut = ["aria-label", "onKeydown"], Wt = ["data-tooltip"], Gt = ["data-tooltip
1457
1483
  placeholder: e.field.placeholder,
1458
1484
  disabled: "",
1459
1485
  title: p(r).customBlocks.dataSource.readOnlyTooltip
1460
- }, null, 10, di)) : (s(), y(X, {
1486
+ }, null, 10, vi)) : (s(), y(X, {
1461
1487
  key: 1,
1462
1488
  "model-value": e.modelValue,
1463
1489
  placeholder: e.field.placeholder,
@@ -1470,12 +1496,12 @@ var Ut = ["aria-label", "onKeydown"], Wt = ["data-tooltip"], Gt = ["data-tooltip
1470
1496
  "read-only"
1471
1497
  ]));
1472
1498
  }
1473
- }), pi = [
1499
+ }), bi = [
1474
1500
  "value",
1475
1501
  "placeholder",
1476
1502
  "title"
1477
- ], mi = "tpl:w-full tpl:resize-y tpl:rounded-md tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:px-3 tpl:py-2 tpl:text-sm tpl:text-[var(--tpl-text)] tpl:outline-none tpl:opacity-60 tpl:cursor-not-allowed", hi = {
1478
- text: fi,
1503
+ ], xi = "tpl:w-full tpl:resize-y tpl:rounded-md tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:px-3 tpl:py-2 tpl:text-sm tpl:text-[var(--tpl-text)] tpl:outline-none tpl:opacity-60 tpl:cursor-not-allowed", Si = {
1504
+ text: yi,
1479
1505
  textarea: /* @__PURE__ */ l({
1480
1506
  __name: "TextareaField",
1481
1507
  props: {
@@ -1498,8 +1524,8 @@ var Ut = ["aria-label", "onKeydown"], Wt = ["data-tooltip"], Gt = ["data-tooltip
1498
1524
  rows: "3",
1499
1525
  disabled: "",
1500
1526
  title: p(r).customBlocks.dataSource.readOnlyTooltip,
1501
- class: D(mi)
1502
- }, null, 8, pi)) : (s(), y(rn, {
1527
+ class: D(xi)
1528
+ }, null, 8, bi)) : (s(), y(cn, {
1503
1529
  key: 1,
1504
1530
  "model-value": e.modelValue,
1505
1531
  placeholder: e.field.placeholder,
@@ -1513,42 +1539,42 @@ var Ut = ["aria-label", "onKeydown"], Wt = ["data-tooltip"], Gt = ["data-tooltip
1513
1539
  ]));
1514
1540
  }
1515
1541
  }),
1516
- image: $r,
1517
- color: Xr,
1518
- number: ti,
1519
- select: ui,
1520
- boolean: qr,
1521
- repeatable: si
1542
+ image: oi,
1543
+ color: ri,
1544
+ number: ci,
1545
+ select: _i,
1546
+ boolean: ei,
1547
+ repeatable: mi
1522
1548
  };
1523
- function gi(e) {
1524
- return hi[e] ?? fi;
1549
+ function Ci(e) {
1550
+ return Si[e] ?? yi;
1525
1551
  }
1526
1552
  //#endregion
1527
1553
  //#region src/components/toolbar/CustomBlockToolbar.vue?vue&type=script&setup=true&lang.ts
1528
- var _i = {
1554
+ var wi = {
1529
1555
  key: 0,
1530
1556
  class: "tpl:p-4"
1531
- }, vi = { class: "tpl:m-0 tpl:text-center tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, yi = { key: 1 }, bi = {
1557
+ }, Ti = { class: "tpl:m-0 tpl:text-center tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Ei = { key: 1 }, Di = {
1532
1558
  key: 0,
1533
1559
  class: "tpl:m-0 tpl:mb-3 tpl:text-xs tpl:text-[var(--tpl-text-dim)]"
1534
- }, xi = {
1560
+ }, Oi = {
1535
1561
  key: 1,
1536
1562
  class: "tpl:mb-4"
1537
- }, Si = {
1563
+ }, ki = {
1538
1564
  key: 1,
1539
1565
  class: "tpl:flex tpl:h-[32px] tpl:items-center"
1540
- }, Ci = {
1566
+ }, Ai = {
1541
1567
  key: 0,
1542
1568
  class: "tpl:w-full tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-muted)]"
1543
- }, wi = {
1569
+ }, ji = {
1544
1570
  key: 2,
1545
1571
  class: "tpl:m-0 tpl:mt-2 tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-xs tpl:text-[var(--tpl-danger)]"
1546
- }, Ti = /* @__PURE__ */ l({
1572
+ }, Mi = /* @__PURE__ */ l({
1547
1573
  __name: "CustomBlockToolbar",
1548
1574
  props: { block: {} },
1549
1575
  emits: ["updateFieldValues", "updateDataSourceFetched"],
1550
1576
  setup(e, { emit: t }) {
1551
- let n = e, a = t, { t: o } = I(), l = r(P, []), u = T(() => l.find((e) => e.type === n.block.customType)), { isFetching: d, fetchError: h, fetch: g, hasDataSource: b, needsFetch: x } = je({
1577
+ let n = e, a = t, { t: o } = I(), l = r(De, []), u = T(() => l.find((e) => e.type === n.block.customType)), { isFetching: d, fetchError: h, fetch: g, hasDataSource: b, needsFetch: x } = Ge({
1552
1578
  definition: u,
1553
1579
  block: T(() => n.block),
1554
1580
  onUpdate: (e, t) => {
@@ -1564,23 +1590,23 @@ var _i = {
1564
1590
  [e]: t
1565
1591
  });
1566
1592
  }
1567
- return (t, n) => u.value ? (s(), f("div", yi, [
1568
- u.value.description ? (s(), f("p", bi, S(u.value.description), 1)) : v("", !0),
1569
- p(b) ? (s(), f("div", xi, [p(x) && !p(d) ? (s(), f("button", {
1593
+ return (t, n) => u.value ? (s(), f("div", Ei, [
1594
+ u.value.description ? (s(), f("p", Di, S(u.value.description), 1)) : v("", !0),
1595
+ p(b) ? (s(), f("div", Oi, [p(x) && !p(d) ? (s(), f("button", {
1570
1596
  key: 0,
1571
1597
  type: "button",
1572
1598
  class: "tpl:flex tpl:w-full tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded-md tpl:px-3 tpl:py-2.5 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-bg)] tpl:transition-all tpl:duration-150 tpl:bg-[var(--tpl-primary)]",
1573
1599
  onClick: n[0] ||= (...e) => p(g) && p(g)(...e)
1574
- }, S(u.value?.dataSource?.label || p(o).customBlocks.dataSource.fetchButton), 1)) : (s(), f("div", Si, [p(d) ? (s(), f("div", Ci, S(p(o).customBlocks.dataSource.fetching), 1)) : (s(), f("button", {
1600
+ }, S(u.value?.dataSource?.label || p(o).customBlocks.dataSource.fetchButton), 1)) : (s(), f("div", ki, [p(d) ? (s(), f("div", Ai, S(p(o).customBlocks.dataSource.fetching), 1)) : (s(), f("button", {
1575
1601
  key: 1,
1576
1602
  type: "button",
1577
1603
  class: "tpl:flex tpl:w-full tpl:items-center tpl:justify-center tpl:gap-1.5 tpl:rounded-md tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)] tpl:transition-all tpl:duration-150 tpl:hover:border-[var(--tpl-primary)] tpl:hover:text-[var(--tpl-primary)]",
1578
1604
  onClick: n[1] ||= (...e) => p(g) && p(g)(...e)
1579
- }, [m(p(Ne), { size: 12 }), j(" " + S(p(o).customBlocks.dataSource.changeButton), 1)]))])), p(h) ? (s(), f("p", wi, [m(p(Je), {
1605
+ }, [m(p(Fe), { size: 12 }), j(" " + S(p(o).customBlocks.dataSource.changeButton), 1)]))])), p(h) ? (s(), f("p", ji, [m(p(Se), {
1580
1606
  size: 14,
1581
1607
  class: "tpl:shrink-0"
1582
1608
  }), j(" " + S(p(o).customBlocks.dataSource.fetchError), 1)])) : v("", !0)])) : v("", !0),
1583
- (s(!0), f(_, null, i(u.value.fields, (t) => (s(), y(c(p(gi)(t.type)), {
1609
+ (s(!0), f(_, null, i(u.value.fields, (t) => (s(), y(c(p(Ci)(t.type)), {
1584
1610
  key: t.key,
1585
1611
  field: t,
1586
1612
  "model-value": e.block.fieldValues[t.key],
@@ -1592,9 +1618,9 @@ var _i = {
1592
1618
  "read-only",
1593
1619
  "onUpdate:modelValue"
1594
1620
  ]))), 128))
1595
- ])) : (s(), f("div", _i, [C("p", vi, S(p(o).customBlocks.toolbar.noDefinition), 1)]));
1621
+ ])) : (s(), f("div", wi, [C("p", Ti, S(p(o).customBlocks.toolbar.noDefinition), 1)]));
1596
1622
  }
1597
- }), Ei = { class: "tpl:mb-3.5" }, Di = { class: "tpl:mb-3.5" }, Oi = { class: "tpl:mb-3.5" }, ki = { class: "tpl:flex tpl:items-stretch" }, Ai = ["value"], ji = /* @__PURE__ */ l({
1623
+ }), Ni = { class: "tpl:mb-3.5" }, Pi = { class: "tpl:mb-3.5" }, Fi = { class: "tpl:mb-3.5" }, Ii = { class: "tpl:flex tpl:items-stretch" }, Li = ["value"], Ri = /* @__PURE__ */ l({
1598
1624
  __name: "DividerToolbar",
1599
1625
  props: { block: {} },
1600
1626
  emits: ["update"],
@@ -1604,7 +1630,7 @@ var _i = {
1604
1630
  n("update", { [e]: t });
1605
1631
  }
1606
1632
  return (t, n) => (s(), f(_, null, [
1607
- C("div", Ei, [C("label", { class: D(p(W)) }, S(p(r).divider.style), 3), m(Y, {
1633
+ C("div", Ni, [C("label", { class: D(p(W)) }, S(p(r).divider.style), 3), m(Y, {
1608
1634
  options: [
1609
1635
  {
1610
1636
  value: "solid",
@@ -1622,53 +1648,53 @@ var _i = {
1622
1648
  "model-value": e.block.lineStyle,
1623
1649
  "onUpdate:modelValue": n[0] ||= (e) => i("lineStyle", e)
1624
1650
  }, null, 8, ["options", "model-value"])]),
1625
- C("div", Di, [C("label", { class: D(p(W)) }, S(p(r).divider.color), 3), m(q, {
1651
+ C("div", Pi, [C("label", { class: D(p(W)) }, S(p(r).divider.color), 3), m(q, {
1626
1652
  "model-value": e.block.color,
1627
1653
  "onUpdate:modelValue": n[1] ||= (e) => i("color", e)
1628
1654
  }, null, 8, ["model-value"])]),
1629
- C("div", Oi, [C("label", { class: D(p(W)) }, S(p(r).divider.thickness), 3), C("div", ki, [C("input", {
1655
+ C("div", Fi, [C("label", { class: D(p(W)) }, S(p(r).divider.thickness), 3), C("div", Ii, [C("input", {
1630
1656
  type: "number",
1631
1657
  class: D(p(K)),
1632
1658
  value: e.block.thickness,
1633
1659
  min: "1",
1634
1660
  max: "10",
1635
1661
  onInput: n[2] ||= (e) => i("thickness", Number(e.target.value))
1636
- }, null, 42, Ai), C("span", { class: D(p(G)) }, "px", 2)])])
1662
+ }, null, 42, Li), C("span", { class: D(p(G)) }, "px", 2)])])
1637
1663
  ], 64));
1638
1664
  }
1639
- }), Mi = { class: "tpl:mb-3.5" }, Ni = ["value"], Pi = { class: "tpl:mt-1.5 tpl:flex tpl:items-start tpl:gap-1.5 tpl:text-[11px] tpl:text-[var(--tpl-text-dim)]" }, Fi = /* @__PURE__ */ l({
1665
+ }), zi = { class: "tpl:mb-3.5" }, Bi = ["value"], Vi = { class: "tpl:mt-1.5 tpl:flex tpl:items-start tpl:gap-1.5 tpl:text-[11px] tpl:text-[var(--tpl-text-dim)]" }, Hi = /* @__PURE__ */ l({
1640
1666
  __name: "HtmlToolbar",
1641
1667
  props: { block: {} },
1642
1668
  emits: ["update"],
1643
1669
  setup(e, { emit: t }) {
1644
1670
  let n = t, { t: r } = I();
1645
- return (t, i) => (s(), f("div", Mi, [
1671
+ return (t, i) => (s(), f("div", zi, [
1646
1672
  C("label", { class: D(p(W)) }, S(p(r).html.content), 3),
1647
1673
  C("textarea", {
1648
1674
  value: e.block.content,
1649
1675
  placeholder: "<div>...</div>",
1650
1676
  rows: "10",
1651
- class: D(p(vt)),
1677
+ class: D(p(xt)),
1652
1678
  onInput: i[0] ||= (e) => n("update", { content: e.target.value })
1653
- }, null, 42, Ni),
1654
- C("p", Pi, [m(p(Ie), {
1679
+ }, null, 42, Bi),
1680
+ C("p", Vi, [m(p(Ae), {
1655
1681
  size: 12,
1656
1682
  class: "tpl:mt-0.5 tpl:shrink-0"
1657
1683
  }), j(" " + S(p(r).html.sanitizationHint), 1)])
1658
1684
  ]));
1659
1685
  }
1660
- }), Ii = { class: "tpl:mb-3.5" }, Li = {
1686
+ }), Ui = { class: "tpl:mb-3.5" }, Wi = {
1661
1687
  key: 0,
1662
1688
  class: "tpl:mb-3.5"
1663
- }, Ri = ["value", "placeholder"], zi = { class: "tpl:mb-3.5" }, Bi = { class: "tpl:mb-3.5" }, Vi = ["value"], Hi = { value: "full" }, Ui = { class: "tpl:mb-3.5" }, Wi = { class: "tpl:mb-3.5" }, Gi = {
1689
+ }, Gi = ["value", "placeholder"], Ki = { class: "tpl:mb-3.5" }, qi = { class: "tpl:mt-2 tpl:flex tpl:cursor-pointer tpl:items-center tpl:gap-2 tpl:text-[12px] tpl:text-[var(--tpl-text-muted)]" }, Ji = ["checked"], Yi = { class: "tpl:block tpl:text-[var(--tpl-text-dim)]" }, Xi = { class: "tpl:mb-3.5" }, Zi = ["value"], Qi = { value: "full" }, $i = { class: "tpl:mb-3.5" }, ea = { class: "tpl:mb-3.5" }, ta = {
1664
1690
  key: 0,
1665
1691
  class: "tpl:mt-2 tpl:flex tpl:cursor-pointer tpl:items-center tpl:gap-2 tpl:text-[12px] tpl:text-[var(--tpl-text-muted)]"
1666
- }, Ki = ["checked"], qi = /* @__PURE__ */ l({
1692
+ }, na = ["checked"], ra = /* @__PURE__ */ l({
1667
1693
  __name: "ImageToolbar",
1668
1694
  props: { block: {} },
1669
1695
  emits: ["update"],
1670
1696
  setup(e, { emit: n }) {
1671
- let i = n, { t: a } = I(), o = r(He, null), c = r(se, Ke.liquid), l = T(() => !!o), u = t(!1), d = t(!1), { start: h } = We(() => {
1697
+ let i = n, { t: a } = I(), o = r(Oe, null), c = r(ce, Pe.liquid), l = T(() => !!o), u = t(!1), d = t(!1), { start: h } = Re(() => {
1672
1698
  u.value = !1;
1673
1699
  }, 1e3, { immediate: !1 });
1674
1700
  function g(e, t) {
@@ -1679,7 +1705,7 @@ var _i = {
1679
1705
  e && (g("src", e.url), e.alt && (g("alt", e.alt), d.value = !0), u.value = !0, h());
1680
1706
  }
1681
1707
  return (t, n) => (s(), f(_, null, [
1682
- C("div", Ii, [
1708
+ C("div", Ui, [
1683
1709
  C("label", { class: D(p(W)) }, S(p(a).image.imageUrl), 3),
1684
1710
  m(X, {
1685
1711
  "model-value": e.block.src,
@@ -1701,40 +1727,51 @@ var _i = {
1701
1727
  "background-color": "var(--tpl-bg)"
1702
1728
  },
1703
1729
  onClick: y
1704
- }, [m(p(De), {
1730
+ }, [m(p(qe), {
1705
1731
  size: 14,
1706
1732
  "stroke-width": 1.5
1707
1733
  }), j(" " + S(p(a).image.browseMedia), 1)])) : v("", !0)
1708
1734
  ]),
1709
- p(Me)(e.block.src, p(c)) ? (s(), f("div", Li, [C("label", { class: D(p(W)) }, [j(S(p(a).image.placeholderUrl) + " ", 1), n[7] ||= C("span", { class: "tpl:font-normal tpl:text-[var(--tpl-text-dim)]" }, S("(optional)"), -1)], 2), C("input", {
1735
+ p(He)(e.block.src, p(c)) ? (s(), f("div", Wi, [C("label", { class: D(p(W)) }, [j(S(p(a).image.placeholderUrl) + " ", 1), n[8] ||= C("span", { class: "tpl:font-normal tpl:text-[var(--tpl-text-dim)]" }, S("(optional)"), -1)], 2), C("input", {
1710
1736
  type: "url",
1711
1737
  class: D(p(U)),
1712
1738
  value: e.block.placeholderUrl || "",
1713
1739
  placeholder: p(a).image.placeholderUrlPlaceholder,
1714
1740
  onInput: n[1] ||= (e) => g("placeholderUrl", e.target.value)
1715
- }, null, 42, Ri)])) : v("", !0),
1716
- C("div", zi, [C("label", { class: D(p(W)) }, S(p(a).image.altText), 3), m(X, {
1717
- "model-value": e.block.alt,
1718
- type: "text",
1719
- placeholder: p(a).image.altTextPlaceholder,
1720
- pulse: d.value,
1721
- "onUpdate:modelValue": n[2] ||= (e) => g("alt", e)
1722
- }, null, 8, [
1723
- "model-value",
1724
- "placeholder",
1725
- "pulse"
1726
- ])]),
1727
- C("div", Bi, [C("label", { class: D(p(W)) }, S(p(a).image.width), 3), C("select", {
1741
+ }, null, 42, Gi)])) : v("", !0),
1742
+ C("div", Ki, [
1743
+ C("label", { class: D(p(W)) }, S(p(a).image.altText), 3),
1744
+ m(X, {
1745
+ "model-value": e.block.alt,
1746
+ type: "text",
1747
+ placeholder: p(a).image.altTextPlaceholder,
1748
+ pulse: d.value,
1749
+ disabled: e.block.decorative === !0,
1750
+ "onUpdate:modelValue": n[2] ||= (e) => g("alt", e)
1751
+ }, null, 8, [
1752
+ "model-value",
1753
+ "placeholder",
1754
+ "pulse",
1755
+ "disabled"
1756
+ ]),
1757
+ C("label", qi, [C("input", {
1758
+ type: "checkbox",
1759
+ class: "tpl:size-3.5 tpl:cursor-pointer tpl:accent-[var(--tpl-primary)]",
1760
+ checked: e.block.decorative === !0,
1761
+ onChange: n[3] ||= (e) => g("decorative", e.target.checked)
1762
+ }, null, 40, Ji), C("span", null, [j(S(p(a).image.decorative) + " ", 1), C("span", Yi, S(p(a).image.decorativeHint), 1)])])
1763
+ ]),
1764
+ C("div", Xi, [C("label", { class: D(p(W)) }, S(p(a).image.width), 3), C("select", {
1728
1765
  class: D(p(U)),
1729
1766
  value: e.block.width,
1730
- onChange: n[3] ||= (e) => g("width", e.target.value === "full" ? "full" : Number(e.target.value))
1767
+ onChange: n[4] ||= (e) => g("width", e.target.value === "full" ? "full" : Number(e.target.value))
1731
1768
  }, [
1732
- C("option", Hi, S(p(a).image.fullWidth), 1),
1733
- n[8] ||= C("option", { value: "300" }, "300px", -1),
1734
- n[9] ||= C("option", { value: "400" }, "400px", -1),
1735
- n[10] ||= C("option", { value: "500" }, "500px", -1)
1736
- ], 42, Vi)]),
1737
- C("div", Ui, [C("label", { class: D(p(W)) }, S(p(a).title.align), 3), m(Y, {
1769
+ C("option", Qi, S(p(a).image.fullWidth), 1),
1770
+ n[9] ||= C("option", { value: "300" }, "300px", -1),
1771
+ n[10] ||= C("option", { value: "400" }, "400px", -1),
1772
+ n[11] ||= C("option", { value: "500" }, "500px", -1)
1773
+ ], 42, Zi)]),
1774
+ C("div", $i, [C("label", { class: D(p(W)) }, S(p(a).title.align), 3), m(Y, {
1738
1775
  options: [
1739
1776
  {
1740
1777
  value: "left",
@@ -1750,30 +1787,30 @@ var _i = {
1750
1787
  }
1751
1788
  ],
1752
1789
  "model-value": e.block.align,
1753
- "onUpdate:modelValue": n[4] ||= (e) => g("align", e)
1790
+ "onUpdate:modelValue": n[5] ||= (e) => g("align", e)
1754
1791
  }, null, 8, ["options", "model-value"])]),
1755
- C("div", Wi, [
1792
+ C("div", ea, [
1756
1793
  C("label", { class: D(p(W)) }, S(p(a).image.linkUrl), 3),
1757
1794
  m(X, {
1758
1795
  "model-value": e.block.linkUrl || "",
1759
1796
  type: "url",
1760
1797
  placeholder: p(a).image.imageUrlPlaceholder,
1761
- "onUpdate:modelValue": n[5] ||= (e) => g("linkUrl", e)
1798
+ "onUpdate:modelValue": n[6] ||= (e) => g("linkUrl", e)
1762
1799
  }, null, 8, ["model-value", "placeholder"]),
1763
- e.block.linkUrl ? (s(), f("label", Gi, [C("input", {
1800
+ e.block.linkUrl ? (s(), f("label", ta, [C("input", {
1764
1801
  type: "checkbox",
1765
1802
  class: "tpl:size-3.5 tpl:cursor-pointer tpl:accent-[var(--tpl-primary)]",
1766
1803
  checked: e.block.linkOpenInNewTab ?? !1,
1767
- onChange: n[6] ||= (e) => g("linkOpenInNewTab", e.target.checked)
1768
- }, null, 40, Ki), j(" " + S(p(a).image.openInNewTab), 1)])) : v("", !0)
1804
+ onChange: n[7] ||= (e) => g("linkOpenInNewTab", e.target.checked)
1805
+ }, null, 40, na), j(" " + S(p(a).image.openInNewTab), 1)])) : v("", !0)
1769
1806
  ])
1770
1807
  ], 64));
1771
1808
  }
1772
- }), Ji = { class: "tpl:flex tpl:flex-col tpl:gap-2" }, Yi = { class: "tpl:flex tpl:items-center tpl:gap-2" }, Xi = [
1809
+ }), ia = { class: "tpl:flex tpl:flex-col tpl:gap-2" }, aa = { class: "tpl:flex tpl:items-center tpl:gap-2" }, oa = [
1773
1810
  "value",
1774
1811
  "placeholder",
1775
1812
  "onInput"
1776
- ], Zi = ["title", "onClick"], Qi = { class: "tpl:flex tpl:items-center tpl:gap-3 tpl:text-xs tpl:text-[var(--tpl-text-muted)]" }, $i = ["checked", "onChange"], ea = { class: "tpl:flex tpl:items-center tpl:gap-2" }, ta = ["value"], na = { value: "" }, ra = ["value"], ia = ["value"], aa = /* @__PURE__ */ l({
1813
+ ], sa = ["title", "onClick"], ca = { class: "tpl:flex tpl:items-center tpl:gap-3 tpl:text-xs tpl:text-[var(--tpl-text-muted)]" }, la = ["checked", "onChange"], ua = { class: "tpl:flex tpl:items-center tpl:gap-2" }, da = ["value"], fa = { value: "" }, pa = ["value"], ma = ["value"], ha = /* @__PURE__ */ l({
1777
1814
  __name: "MenuToolbar",
1778
1815
  props: {
1779
1816
  block: {},
@@ -1798,17 +1835,17 @@ var _i = {
1798
1835
  {
1799
1836
  value: "left",
1800
1837
  label: o.title.alignLeft,
1801
- icon: V
1838
+ icon: H
1802
1839
  },
1803
1840
  {
1804
1841
  value: "center",
1805
1842
  label: o.title.alignCenter,
1806
- icon: ut
1843
+ icon: V
1807
1844
  },
1808
1845
  {
1809
1846
  value: "right",
1810
1847
  label: o.title.alignRight,
1811
- icon: H
1848
+ icon: ft
1812
1849
  }
1813
1850
  ]);
1814
1851
  function u(e, t) {
@@ -1816,7 +1853,7 @@ var _i = {
1816
1853
  }
1817
1854
  function d() {
1818
1855
  let e = {
1819
- id: R(),
1856
+ id: L(),
1820
1857
  text: "",
1821
1858
  url: "",
1822
1859
  openInNewTab: !1,
@@ -1836,24 +1873,24 @@ var _i = {
1836
1873
  }
1837
1874
  return (t, n) => (s(), f(_, null, [
1838
1875
  m(J, { label: p(o).menu.items }, {
1839
- default: a(() => [C("div", Ji, [(s(!0), f(_, null, i(e.block.items, (t) => (s(), f("div", {
1876
+ default: a(() => [C("div", ia, [(s(!0), f(_, null, i(e.block.items, (t) => (s(), f("div", {
1840
1877
  key: t.id,
1841
1878
  class: "tpl:flex tpl:flex-col tpl:gap-1.5 tpl:rounded-md tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-hover)] tpl:p-2"
1842
1879
  }, [
1843
- C("div", Yi, [C("input", {
1880
+ C("div", aa, [C("input", {
1844
1881
  type: "text",
1845
1882
  class: D([p(U), "tpl:flex-1"]),
1846
1883
  value: t.text,
1847
1884
  placeholder: p(o).menu.text,
1848
1885
  onInput: (e) => h(t.id, "text", e.target.value)
1849
- }, null, 42, Xi), C("button", {
1850
- class: D(p(gt)),
1886
+ }, null, 42, oa), C("button", {
1887
+ class: D(p(yt)),
1851
1888
  title: p(o).menu.removeItem,
1852
1889
  onClick: (e) => g(t.id)
1853
- }, [m(p(Ue), {
1890
+ }, [m(p(We), {
1854
1891
  size: 14,
1855
1892
  "stroke-width": 2
1856
- })], 10, Zi)]),
1893
+ })], 10, sa)]),
1857
1894
  m(X, {
1858
1895
  "model-value": t.url,
1859
1896
  type: "url",
@@ -1864,7 +1901,7 @@ var _i = {
1864
1901
  "placeholder",
1865
1902
  "onUpdate:modelValue"
1866
1903
  ]),
1867
- C("div", Qi, [(s(!0), f(_, null, i(c.value, (e) => (s(), f("label", {
1904
+ C("div", ca, [(s(!0), f(_, null, i(c.value, (e) => (s(), f("label", {
1868
1905
  key: e.key,
1869
1906
  class: "tpl:flex tpl:cursor-pointer tpl:items-center tpl:gap-1"
1870
1907
  }, [C("input", {
@@ -1872,16 +1909,16 @@ var _i = {
1872
1909
  checked: t[e.key],
1873
1910
  class: "tpl:accent-[var(--tpl-primary)]",
1874
1911
  onChange: (n) => h(t.id, e.key, n.target.checked)
1875
- }, null, 40, $i), j(" " + S(e.label), 1)]))), 128))]),
1876
- C("div", ea, [C("label", { class: D([p(W), "tpl:!mb-0"]) }, S(p(o).menu.color), 3), m(q, {
1912
+ }, null, 40, la), j(" " + S(e.label), 1)]))), 128))]),
1913
+ C("div", ua, [C("label", { class: D([p(W), "tpl:!mb-0"]) }, S(p(o).menu.color), 3), m(q, {
1877
1914
  "swatch-only": "",
1878
1915
  "model-value": t.color || e.block.linkColor || e.block.color,
1879
1916
  "onUpdate:modelValue": (e) => h(t.id, "color", e)
1880
1917
  }, null, 8, ["model-value", "onUpdate:modelValue"])])
1881
1918
  ]))), 128)), C("button", {
1882
- class: D(p(_t)),
1919
+ class: D(p(bt)),
1883
1920
  onClick: d
1884
- }, [m(p(B), {
1921
+ }, [m(p(z), {
1885
1922
  size: 14,
1886
1923
  "stroke-width": 2
1887
1924
  }), j(" " + S(p(o).menu.addItem), 1)], 2)])]),
@@ -1892,14 +1929,14 @@ var _i = {
1892
1929
  class: D(p(U)),
1893
1930
  value: e.block.fontFamily || "",
1894
1931
  onChange: n[0] ||= (e) => u("fontFamily", e.target.value || void 0)
1895
- }, [C("option", na, S(p(o).title.inheritFont), 1), (s(!0), f(_, null, i(e.fontFamilies, (e) => (s(), f("option", {
1932
+ }, [C("option", fa, S(p(o).title.inheritFont), 1), (s(!0), f(_, null, i(e.fontFamilies, (e) => (s(), f("option", {
1896
1933
  key: e.value,
1897
1934
  value: e.value
1898
- }, S(e.label), 9, ra))), 128))], 42, ta)]),
1935
+ }, S(e.label), 9, pa))), 128))], 42, da)]),
1899
1936
  _: 1
1900
1937
  }, 8, ["label"]),
1901
1938
  m(J, { label: p(o).menu.fontSize }, {
1902
- default: a(() => [m(xt, {
1939
+ default: a(() => [m(wt, {
1903
1940
  "model-value": e.block.fontSize,
1904
1941
  min: 8,
1905
1942
  max: 48,
@@ -1936,7 +1973,7 @@ var _i = {
1936
1973
  class: D(p(U)),
1937
1974
  value: e.block.separator,
1938
1975
  onInput: n[5] ||= (e) => u("separator", e.target.value)
1939
- }, null, 42, ia)]),
1976
+ }, null, 42, ma)]),
1940
1977
  _: 1
1941
1978
  }, 8, ["label"]),
1942
1979
  m(J, { label: p(o).menu.separatorColor }, {
@@ -1947,7 +1984,7 @@ var _i = {
1947
1984
  _: 1
1948
1985
  }, 8, ["label"]),
1949
1986
  m(J, { label: p(o).menu.spacing }, {
1950
- default: a(() => [m(xt, {
1987
+ default: a(() => [m(wt, {
1951
1988
  "model-value": e.block.spacing,
1952
1989
  min: 0,
1953
1990
  max: 50,
@@ -1958,7 +1995,7 @@ var _i = {
1958
1995
  }, 8, ["label"])
1959
1996
  ], 64));
1960
1997
  }
1961
- }), oa = { class: "tpl:mb-3.5" }, sa = ["value"], ca = ["value"], la = /* @__PURE__ */ l({
1998
+ }), ga = { class: "tpl:mb-3.5" }, _a = ["value"], va = ["value"], ya = /* @__PURE__ */ l({
1962
1999
  __name: "SectionToolbar",
1963
2000
  props: { block: {} },
1964
2001
  emits: ["update"],
@@ -1985,16 +2022,16 @@ var _i = {
1985
2022
  label: r.section.ratio21
1986
2023
  }
1987
2024
  ]);
1988
- return (t, o) => (s(), f("div", oa, [C("label", { class: D(p(W)) }, S(p(r).section.columns), 3), C("select", {
2025
+ return (t, o) => (s(), f("div", ga, [C("label", { class: D(p(W)) }, S(p(r).section.columns), 3), C("select", {
1989
2026
  class: D(p(U)),
1990
2027
  value: e.block.columns,
1991
2028
  onChange: o[0] ||= (e) => n("update", { columns: e.target.value })
1992
2029
  }, [(s(!0), f(_, null, i(a.value, (e) => (s(), f("option", {
1993
2030
  key: e.value,
1994
2031
  value: e.value
1995
- }, S(e.label), 9, ca))), 128))], 42, sa)]));
2032
+ }, S(e.label), 9, va))), 128))], 42, _a)]));
1996
2033
  }
1997
- }), ua = { class: "tpl:mb-3.5" }, da = { class: "tpl:flex tpl:flex-col tpl:gap-2" }, fa = { class: "tpl:flex tpl:items-center tpl:gap-2" }, pa = ["value", "onChange"], ma = ["value"], ha = ["title", "onClick"], ga = { class: "tpl:mb-3.5" }, _a = { class: "tpl:mb-3.5" }, va = { class: "tpl:mb-3.5" }, ya = { class: "tpl:flex tpl:items-stretch" }, ba = ["value"], xa = { class: "tpl:mb-3.5" }, Sa = /* @__PURE__ */ l({
2034
+ }), ba = { class: "tpl:mb-3.5" }, xa = { class: "tpl:flex tpl:flex-col tpl:gap-2" }, Sa = { class: "tpl:flex tpl:items-center tpl:gap-2" }, Ca = ["value", "onChange"], wa = ["value"], Ta = ["title", "onClick"], Ea = { class: "tpl:mb-3.5" }, Da = { class: "tpl:mb-3.5" }, Oa = { class: "tpl:mb-3.5" }, ka = { class: "tpl:flex tpl:items-stretch" }, Aa = ["value"], ja = { class: "tpl:mb-3.5" }, Ma = /* @__PURE__ */ l({
1998
2035
  __name: "SocialToolbar",
1999
2036
  props: { block: {} },
2000
2037
  emits: ["update"],
@@ -2005,7 +2042,7 @@ var _i = {
2005
2042
  }
2006
2043
  function c() {
2007
2044
  let e = {
2008
- id: R(),
2045
+ id: L(),
2009
2046
  platform: "facebook",
2010
2047
  url: ""
2011
2048
  };
@@ -2021,24 +2058,24 @@ var _i = {
2021
2058
  r("update", { icons: n.block.icons.filter((t) => t.id !== e) });
2022
2059
  }
2023
2060
  return (t, n) => (s(), f(_, null, [
2024
- C("div", ua, [C("label", { class: D(p(W)) }, S(p(a).social.icons), 3), C("div", da, [(s(!0), f(_, null, i(e.block.icons, (e) => (s(), f("div", {
2061
+ C("div", ba, [C("label", { class: D(p(W)) }, S(p(a).social.icons), 3), C("div", xa, [(s(!0), f(_, null, i(e.block.icons, (e) => (s(), f("div", {
2025
2062
  key: e.id,
2026
2063
  class: "tpl:flex tpl:flex-col tpl:gap-1.5 tpl:rounded-md tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-hover)] tpl:p-2"
2027
- }, [C("div", fa, [C("select", {
2064
+ }, [C("div", Sa, [C("select", {
2028
2065
  class: D([p(U), "tpl:flex-1"]),
2029
2066
  value: e.platform,
2030
2067
  onChange: (t) => l(e.id, "platform", t.target.value)
2031
- }, [(s(!0), f(_, null, i(p(N), (e) => (s(), f("option", {
2068
+ }, [(s(!0), f(_, null, i(p(ie), (e) => (s(), f("option", {
2032
2069
  key: e,
2033
2070
  value: e
2034
- }, S(p(fe)[e].name), 9, ma))), 128))], 42, pa), C("button", {
2035
- class: D(p(gt)),
2071
+ }, S(p(he)[e].name), 9, wa))), 128))], 42, Ca), C("button", {
2072
+ class: D(p(yt)),
2036
2073
  title: p(a).social.removeIcon,
2037
2074
  onClick: (t) => u(e.id)
2038
- }, [m(p(Ue), {
2075
+ }, [m(p(We), {
2039
2076
  size: 14,
2040
2077
  "stroke-width": 2
2041
- })], 10, ha)]), m(X, {
2078
+ })], 10, Ta)]), m(X, {
2042
2079
  "model-value": e.url,
2043
2080
  type: "url",
2044
2081
  placeholder: p(a).social.urlPlaceholder,
@@ -2048,13 +2085,13 @@ var _i = {
2048
2085
  "placeholder",
2049
2086
  "onUpdate:modelValue"
2050
2087
  ])]))), 128)), C("button", {
2051
- class: D(p(_t)),
2088
+ class: D(p(bt)),
2052
2089
  onClick: c
2053
- }, [m(p(B), {
2090
+ }, [m(p(z), {
2054
2091
  size: 14,
2055
2092
  "stroke-width": 2
2056
2093
  }), j(" " + S(p(a).social.addIcon), 1)], 2)])]),
2057
- C("div", ga, [C("label", { class: D(p(W)) }, S(p(a).social.style), 3), m(Y, {
2094
+ C("div", Ea, [C("label", { class: D(p(W)) }, S(p(a).social.style), 3), m(Y, {
2058
2095
  options: [
2059
2096
  {
2060
2097
  value: "solid",
@@ -2080,7 +2117,7 @@ var _i = {
2080
2117
  "model-value": e.block.iconStyle,
2081
2118
  "onUpdate:modelValue": n[0] ||= (e) => o("iconStyle", e)
2082
2119
  }, null, 8, ["options", "model-value"])]),
2083
- C("div", _a, [C("label", { class: D(p(W)) }, S(p(a).social.size), 3), m(Y, {
2120
+ C("div", Da, [C("label", { class: D(p(W)) }, S(p(a).social.size), 3), m(Y, {
2084
2121
  options: [
2085
2122
  {
2086
2123
  value: "small",
@@ -2098,30 +2135,30 @@ var _i = {
2098
2135
  "model-value": e.block.iconSize,
2099
2136
  "onUpdate:modelValue": n[1] ||= (e) => o("iconSize", e)
2100
2137
  }, null, 8, ["options", "model-value"])]),
2101
- C("div", va, [C("label", { class: D(p(W)) }, S(p(a).social.spacing), 3), C("div", ya, [C("input", {
2138
+ C("div", Oa, [C("label", { class: D(p(W)) }, S(p(a).social.spacing), 3), C("div", ka, [C("input", {
2102
2139
  type: "number",
2103
2140
  class: D(p(K)),
2104
2141
  value: e.block.spacing,
2105
2142
  min: "0",
2106
2143
  max: "50",
2107
2144
  onInput: n[2] ||= (e) => o("spacing", Number(e.target.value))
2108
- }, null, 42, ba), C("span", { class: D(p(G)) }, "px", 2)])]),
2109
- C("div", xa, [C("label", { class: D(p(W)) }, S(p(a).social.align), 3), m(Y, {
2145
+ }, null, 42, Aa), C("span", { class: D(p(G)) }, "px", 2)])]),
2146
+ C("div", ja, [C("label", { class: D(p(W)) }, S(p(a).social.align), 3), m(Y, {
2110
2147
  options: [
2111
2148
  {
2112
2149
  value: "left",
2113
2150
  label: p(a).title.alignLeft,
2114
- icon: p(V)
2151
+ icon: p(H)
2115
2152
  },
2116
2153
  {
2117
2154
  value: "center",
2118
2155
  label: p(a).title.alignCenter,
2119
- icon: p(ut)
2156
+ icon: p(V)
2120
2157
  },
2121
2158
  {
2122
2159
  value: "right",
2123
2160
  label: p(a).title.alignRight,
2124
- icon: p(H)
2161
+ icon: p(ft)
2125
2162
  }
2126
2163
  ],
2127
2164
  "model-value": e.block.align,
@@ -2129,22 +2166,22 @@ var _i = {
2129
2166
  }, null, 8, ["options", "model-value"])])
2130
2167
  ], 64));
2131
2168
  }
2132
- }), Ca = { class: "tpl:mb-3.5" }, wa = { class: "tpl:flex tpl:items-stretch" }, Ta = ["value"], Ea = ["value"], Da = /* @__PURE__ */ l({
2169
+ }), Na = { class: "tpl:mb-3.5" }, Pa = { class: "tpl:flex tpl:items-stretch" }, Fa = ["value"], Ia = ["value"], La = /* @__PURE__ */ l({
2133
2170
  __name: "SpacerToolbar",
2134
2171
  props: { block: {} },
2135
2172
  emits: ["update"],
2136
2173
  setup(e, { emit: t }) {
2137
2174
  let n = t, { t: r } = I();
2138
- return (t, i) => (s(), f("div", Ca, [
2175
+ return (t, i) => (s(), f("div", Na, [
2139
2176
  C("label", { class: D(p(W)) }, S(p(r).spacer.height), 3),
2140
- C("div", wa, [C("input", {
2177
+ C("div", Pa, [C("input", {
2141
2178
  type: "number",
2142
2179
  class: D(p(K)),
2143
2180
  value: e.block.height,
2144
2181
  min: "10",
2145
2182
  max: "100",
2146
2183
  onInput: i[0] ||= (e) => n("update", { height: Number(e.target.value) })
2147
- }, null, 42, Ta), C("span", { class: D(p(G)) }, "px", 2)]),
2184
+ }, null, 42, Fa), C("span", { class: D(p(G)) }, "px", 2)]),
2148
2185
  C("input", {
2149
2186
  type: "range",
2150
2187
  class: "tpl:mt-2 tpl:w-full tpl:accent-[var(--tpl-primary)]",
@@ -2152,13 +2189,13 @@ var _i = {
2152
2189
  min: "10",
2153
2190
  max: "100",
2154
2191
  onInput: i[1] ||= (e) => n("update", { height: Number(e.target.value) })
2155
- }, null, 40, Ea)
2192
+ }, null, 40, Ia)
2156
2193
  ]));
2157
2194
  }
2158
- }), Oa = { class: "tpl:mb-3.5" }, ka = { class: "tpl:flex tpl:items-center tpl:gap-3" }, Aa = { class: "tpl:flex tpl:flex-1 tpl:items-center tpl:gap-1.5" }, ja = { class: "tpl:text-xs tpl:text-[var(--tpl-text-muted)]" }, Ma = { class: "tpl:flex tpl:items-center tpl:rounded-md tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)]" }, Na = ["disabled"], Pa = { class: "tpl:min-w-[20px] tpl:text-center tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)]" }, Fa = { class: "tpl:flex tpl:flex-1 tpl:items-center tpl:gap-1.5" }, Ia = { class: "tpl:text-xs tpl:text-[var(--tpl-text-muted)]" }, La = { class: "tpl:flex tpl:items-center tpl:rounded-md tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)]" }, Ra = ["disabled"], za = { class: "tpl:min-w-[20px] tpl:text-center tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)]" }, Ba = { class: "tpl:mb-3.5" }, Va = { class: "tpl:mb-1.5 tpl:flex tpl:cursor-pointer tpl:items-center tpl:gap-2 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, Ha = ["checked"], Ua = {
2195
+ }), Ra = { class: "tpl:mb-3.5" }, za = { class: "tpl:flex tpl:items-center tpl:gap-3" }, Ba = { class: "tpl:flex tpl:flex-1 tpl:items-center tpl:gap-1.5" }, Va = { class: "tpl:text-xs tpl:text-[var(--tpl-text-muted)]" }, Ha = { class: "tpl:flex tpl:items-center tpl:rounded-md tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)]" }, Ua = ["disabled"], Wa = { class: "tpl:min-w-[20px] tpl:text-center tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)]" }, Ga = { class: "tpl:flex tpl:flex-1 tpl:items-center tpl:gap-1.5" }, Ka = { class: "tpl:text-xs tpl:text-[var(--tpl-text-muted)]" }, qa = { class: "tpl:flex tpl:items-center tpl:rounded-md tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)]" }, Ja = ["disabled"], Ya = { class: "tpl:min-w-[20px] tpl:text-center tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)]" }, Xa = { class: "tpl:mb-3.5" }, Za = { class: "tpl:mb-1.5 tpl:flex tpl:cursor-pointer tpl:items-center tpl:gap-2 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, Qa = ["checked"], $a = {
2159
2196
  key: 0,
2160
2197
  class: "tpl:mb-3.5"
2161
- }, Wa = { class: "tpl:mb-3.5" }, Ga = { class: "tpl:mb-3.5" }, Ka = { class: "tpl:flex tpl:items-stretch" }, qa = ["value"], Ja = { class: "tpl:mb-3.5" }, Ya = { class: "tpl:flex tpl:items-stretch" }, Xa = ["value"], Za = { class: "tpl:mb-3.5" }, Qa = ["value"], $a = { value: "" }, eo = ["value"], to = { class: "tpl:mb-3.5" }, no = { class: "tpl:flex tpl:items-stretch" }, ro = ["value"], io = { class: "tpl:mb-3.5" }, ao = { class: "tpl:mb-3.5" }, oo = /* @__PURE__ */ l({
2198
+ }, eo = { class: "tpl:mb-3.5" }, to = { class: "tpl:mb-3.5" }, no = { class: "tpl:flex tpl:items-stretch" }, ro = ["value"], io = { class: "tpl:mb-3.5" }, ao = { class: "tpl:flex tpl:items-stretch" }, oo = ["value"], so = { class: "tpl:mb-3.5" }, co = ["value"], lo = { value: "" }, uo = ["value"], fo = { class: "tpl:mb-3.5" }, po = { class: "tpl:flex tpl:items-stretch" }, mo = ["value"], ho = { class: "tpl:mb-3.5" }, go = { class: "tpl:mb-3.5" }, _o = /* @__PURE__ */ l({
2162
2199
  __name: "TableToolbar",
2163
2200
  props: {
2164
2201
  block: {},
@@ -2172,9 +2209,9 @@ var _i = {
2172
2209
  }
2173
2210
  function l() {
2174
2211
  let e = n.block.rows.length > 0 ? n.block.rows[0].cells.length : 3, t = {
2175
- id: R(),
2212
+ id: L(),
2176
2213
  cells: Array.from({ length: e }, () => ({
2177
- id: R(),
2214
+ id: L(),
2178
2215
  content: ""
2179
2216
  }))
2180
2217
  };
@@ -2187,7 +2224,7 @@ var _i = {
2187
2224
  r("update", { rows: n.block.rows.map((e) => ({
2188
2225
  ...e,
2189
2226
  cells: [...e.cells, {
2190
- id: R(),
2227
+ id: L(),
2191
2228
  content: ""
2192
2229
  }]
2193
2230
  })) });
@@ -2199,108 +2236,108 @@ var _i = {
2199
2236
  })) });
2200
2237
  }
2201
2238
  return (t, n) => (s(), f(_, null, [
2202
- C("div", Oa, [C("label", { class: D(p(W)) }, S(p(a).table.dimensions), 3), C("div", ka, [C("div", Aa, [C("span", ja, S(p(a).table.rows), 1), C("div", Ma, [
2239
+ C("div", Ra, [C("label", { class: D(p(W)) }, S(p(a).table.dimensions), 3), C("div", za, [C("div", Ba, [C("span", Va, S(p(a).table.rows), 1), C("div", Ha, [
2203
2240
  C("button", {
2204
2241
  class: "tpl:flex tpl:items-center tpl:justify-center tpl:px-1.5 tpl:py-1 tpl:text-[var(--tpl-text-muted)] tpl:transition-colors tpl:duration-150 tpl:hover:text-[var(--tpl-primary)] tpl:disabled:opacity-30",
2205
2242
  disabled: e.block.rows.length <= 1,
2206
2243
  onClick: n[0] ||= (t) => u(e.block.rows[e.block.rows.length - 1].id)
2207
- }, [m(p(z), {
2244
+ }, [m(p(B), {
2208
2245
  size: 12,
2209
2246
  "stroke-width": 2
2210
- })], 8, Na),
2211
- C("span", Pa, S(e.block.rows.length), 1),
2247
+ })], 8, Ua),
2248
+ C("span", Wa, S(e.block.rows.length), 1),
2212
2249
  C("button", {
2213
2250
  class: "tpl:flex tpl:items-center tpl:justify-center tpl:px-1.5 tpl:py-1 tpl:text-[var(--tpl-text-muted)] tpl:transition-colors tpl:duration-150 tpl:hover:text-[var(--tpl-primary)]",
2214
2251
  onClick: l
2215
- }, [m(p(B), {
2252
+ }, [m(p(z), {
2216
2253
  size: 12,
2217
2254
  "stroke-width": 2
2218
2255
  })])
2219
- ])]), C("div", Fa, [C("span", Ia, S(p(a).table.columns), 1), C("div", La, [
2256
+ ])]), C("div", Ga, [C("span", Ka, S(p(a).table.columns), 1), C("div", qa, [
2220
2257
  C("button", {
2221
2258
  class: "tpl:flex tpl:items-center tpl:justify-center tpl:px-1.5 tpl:py-1 tpl:text-[var(--tpl-text-muted)] tpl:transition-colors tpl:duration-150 tpl:hover:text-[var(--tpl-primary)] tpl:disabled:opacity-30",
2222
2259
  disabled: o.value <= 1,
2223
2260
  onClick: n[1] ||= (e) => h(o.value - 1)
2224
- }, [m(p(z), {
2261
+ }, [m(p(B), {
2225
2262
  size: 12,
2226
2263
  "stroke-width": 2
2227
- })], 8, Ra),
2228
- C("span", za, S(o.value), 1),
2264
+ })], 8, Ja),
2265
+ C("span", Ya, S(o.value), 1),
2229
2266
  C("button", {
2230
2267
  class: "tpl:flex tpl:items-center tpl:justify-center tpl:px-1.5 tpl:py-1 tpl:text-[var(--tpl-text-muted)] tpl:transition-colors tpl:duration-150 tpl:hover:text-[var(--tpl-primary)]",
2231
2268
  onClick: d
2232
- }, [m(p(B), {
2269
+ }, [m(p(z), {
2233
2270
  size: 12,
2234
2271
  "stroke-width": 2
2235
2272
  })])
2236
2273
  ])])])]),
2237
- C("div", Ba, [C("label", Va, [C("input", {
2274
+ C("div", Xa, [C("label", Za, [C("input", {
2238
2275
  type: "checkbox",
2239
2276
  checked: e.block.hasHeaderRow,
2240
2277
  class: "tpl:accent-[var(--tpl-primary)]",
2241
2278
  onChange: n[2] ||= (e) => c("hasHeaderRow", e.target.checked)
2242
- }, null, 40, Ha), j(" " + S(p(a).table.hasHeaderRow), 1)])]),
2243
- e.block.hasHeaderRow ? (s(), f("div", Ua, [C("label", { class: D(p(W)) }, S(p(a).table.headerBackgroundColor), 3), m(q, {
2279
+ }, null, 40, Qa), j(" " + S(p(a).table.hasHeaderRow), 1)])]),
2280
+ e.block.hasHeaderRow ? (s(), f("div", $a, [C("label", { class: D(p(W)) }, S(p(a).table.headerBackgroundColor), 3), m(q, {
2244
2281
  "model-value": e.block.headerBackgroundColor || p("#f2f2f2"),
2245
2282
  placeholder: p(a).table.noHeaderBg,
2246
2283
  "onUpdate:modelValue": n[3] ||= (e) => c("headerBackgroundColor", e || null)
2247
2284
  }, null, 8, ["model-value", "placeholder"])])) : v("", !0),
2248
- C("div", Wa, [C("label", { class: D(p(W)) }, S(p(a).table.borderColor), 3), m(q, {
2285
+ C("div", eo, [C("label", { class: D(p(W)) }, S(p(a).table.borderColor), 3), m(q, {
2249
2286
  "model-value": e.block.borderColor,
2250
2287
  "onUpdate:modelValue": n[4] ||= (e) => c("borderColor", e)
2251
2288
  }, null, 8, ["model-value"])]),
2252
- C("div", Ga, [C("label", { class: D(p(W)) }, S(p(a).table.borderWidth), 3), C("div", Ka, [C("input", {
2289
+ C("div", to, [C("label", { class: D(p(W)) }, S(p(a).table.borderWidth), 3), C("div", no, [C("input", {
2253
2290
  type: "number",
2254
2291
  class: D(p(K)),
2255
2292
  value: e.block.borderWidth,
2256
2293
  min: "0",
2257
2294
  max: "10",
2258
2295
  onInput: n[5] ||= (e) => c("borderWidth", Number(e.target.value))
2259
- }, null, 42, qa), C("span", { class: D(p(G)) }, "px", 2)])]),
2260
- C("div", Ja, [C("label", { class: D(p(W)) }, S(p(a).table.cellPadding), 3), C("div", Ya, [C("input", {
2296
+ }, null, 42, ro), C("span", { class: D(p(G)) }, "px", 2)])]),
2297
+ C("div", io, [C("label", { class: D(p(W)) }, S(p(a).table.cellPadding), 3), C("div", ao, [C("input", {
2261
2298
  type: "number",
2262
2299
  class: D(p(K)),
2263
2300
  value: e.block.cellPadding,
2264
2301
  min: "0",
2265
2302
  max: "30",
2266
2303
  onInput: n[6] ||= (e) => c("cellPadding", Number(e.target.value))
2267
- }, null, 42, Xa), C("span", { class: D(p(G)) }, "px", 2)])]),
2268
- C("div", Za, [C("label", { class: D(p(W)) }, S(p(a).table.fontFamily), 3), C("select", {
2304
+ }, null, 42, oo), C("span", { class: D(p(G)) }, "px", 2)])]),
2305
+ C("div", so, [C("label", { class: D(p(W)) }, S(p(a).table.fontFamily), 3), C("select", {
2269
2306
  class: D(p(U)),
2270
2307
  value: e.block.fontFamily || "",
2271
2308
  onChange: n[7] ||= (e) => c("fontFamily", e.target.value || void 0)
2272
- }, [C("option", $a, S(p(a).title.inheritFont), 1), (s(!0), f(_, null, i(e.fontFamilies, (e) => (s(), f("option", {
2309
+ }, [C("option", lo, S(p(a).title.inheritFont), 1), (s(!0), f(_, null, i(e.fontFamilies, (e) => (s(), f("option", {
2273
2310
  key: e.value,
2274
2311
  value: e.value
2275
- }, S(e.label), 9, eo))), 128))], 42, Qa)]),
2276
- C("div", to, [C("label", { class: D(p(W)) }, S(p(a).table.fontSize), 3), C("div", no, [C("input", {
2312
+ }, S(e.label), 9, uo))), 128))], 42, co)]),
2313
+ C("div", fo, [C("label", { class: D(p(W)) }, S(p(a).table.fontSize), 3), C("div", po, [C("input", {
2277
2314
  type: "number",
2278
2315
  class: D(p(K)),
2279
2316
  value: e.block.fontSize,
2280
2317
  min: "10",
2281
2318
  max: "32",
2282
2319
  onInput: n[8] ||= (e) => c("fontSize", Number(e.target.value))
2283
- }, null, 42, ro), C("span", { class: D(p(G)) }, "px", 2)])]),
2284
- C("div", io, [C("label", { class: D(p(W)) }, S(p(a).table.color), 3), m(q, {
2320
+ }, null, 42, mo), C("span", { class: D(p(G)) }, "px", 2)])]),
2321
+ C("div", ho, [C("label", { class: D(p(W)) }, S(p(a).table.color), 3), m(q, {
2285
2322
  "model-value": e.block.color,
2286
2323
  "onUpdate:modelValue": n[9] ||= (e) => c("color", e)
2287
2324
  }, null, 8, ["model-value"])]),
2288
- C("div", ao, [C("label", { class: D(p(W)) }, S(p(a).table.textAlign), 3), m(Y, {
2325
+ C("div", go, [C("label", { class: D(p(W)) }, S(p(a).table.textAlign), 3), m(Y, {
2289
2326
  options: [
2290
2327
  {
2291
2328
  value: "left",
2292
2329
  label: p(a).title.alignLeft,
2293
- icon: p(V)
2330
+ icon: p(H)
2294
2331
  },
2295
2332
  {
2296
2333
  value: "center",
2297
2334
  label: p(a).title.alignCenter,
2298
- icon: p(ut)
2335
+ icon: p(V)
2299
2336
  },
2300
2337
  {
2301
2338
  value: "right",
2302
2339
  label: p(a).title.alignRight,
2303
- icon: p(H)
2340
+ icon: p(ft)
2304
2341
  }
2305
2342
  ],
2306
2343
  "model-value": e.block.textAlign,
@@ -2308,7 +2345,7 @@ var _i = {
2308
2345
  }, null, 8, ["options", "model-value"])])
2309
2346
  ], 64));
2310
2347
  }
2311
- }), so = { class: "tpl:mb-3.5" }, co = ["value"], lo = { value: 1 }, uo = { value: 2 }, fo = { value: 3 }, po = { value: 4 }, mo = { class: "tpl:mb-3.5" }, ho = ["value"], go = { value: "" }, _o = ["value"], vo = { class: "tpl:mb-3.5" }, yo = { class: "tpl:mb-3.5" }, bo = /* @__PURE__ */ l({
2348
+ }), vo = { class: "tpl:mb-3.5" }, yo = ["value"], bo = { value: 1 }, xo = { value: 2 }, So = { value: 3 }, Co = { value: 4 }, wo = { class: "tpl:mb-3.5" }, To = ["value"], Eo = { value: "" }, Do = ["value"], Oo = { class: "tpl:mb-3.5" }, ko = { class: "tpl:mb-3.5" }, Ao = /* @__PURE__ */ l({
2312
2349
  __name: "TitleToolbar",
2313
2350
  props: {
2314
2351
  block: {},
@@ -2321,44 +2358,44 @@ var _i = {
2321
2358
  n("update", { [e]: t });
2322
2359
  }
2323
2360
  return (t, n) => (s(), f(_, null, [
2324
- C("div", so, [C("label", { class: D(p(W)) }, S(p(r).title.level), 3), C("select", {
2361
+ C("div", vo, [C("label", { class: D(p(W)) }, S(p(r).title.level), 3), C("select", {
2325
2362
  class: D(p(U)),
2326
2363
  value: e.block.level,
2327
2364
  onChange: n[0] ||= (e) => a("level", Number(e.target.value))
2328
2365
  }, [
2329
- C("option", lo, S(p(r).title.heading1), 1),
2330
- C("option", uo, S(p(r).title.heading2), 1),
2331
- C("option", fo, S(p(r).title.heading3), 1),
2332
- C("option", po, S(p(r).title.heading4), 1)
2333
- ], 42, co)]),
2334
- C("div", mo, [C("label", { class: D(p(W)) }, S(p(r).title.fontFamily), 3), C("select", {
2366
+ C("option", bo, S(p(r).title.heading1), 1),
2367
+ C("option", xo, S(p(r).title.heading2), 1),
2368
+ C("option", So, S(p(r).title.heading3), 1),
2369
+ C("option", Co, S(p(r).title.heading4), 1)
2370
+ ], 42, yo)]),
2371
+ C("div", wo, [C("label", { class: D(p(W)) }, S(p(r).title.fontFamily), 3), C("select", {
2335
2372
  class: D(p(U)),
2336
2373
  value: e.block.fontFamily || "",
2337
2374
  onChange: n[1] ||= (e) => a("fontFamily", e.target.value || void 0)
2338
- }, [C("option", go, S(p(r).title.inheritFont), 1), (s(!0), f(_, null, i(e.fontFamilies, (e) => (s(), f("option", {
2375
+ }, [C("option", Eo, S(p(r).title.inheritFont), 1), (s(!0), f(_, null, i(e.fontFamilies, (e) => (s(), f("option", {
2339
2376
  key: e.value,
2340
2377
  value: e.value
2341
- }, S(e.label), 9, _o))), 128))], 42, ho)]),
2342
- C("div", vo, [C("label", { class: D(p(W)) }, S(p(r).title.color), 3), m(q, {
2378
+ }, S(e.label), 9, Do))), 128))], 42, To)]),
2379
+ C("div", Oo, [C("label", { class: D(p(W)) }, S(p(r).title.color), 3), m(q, {
2343
2380
  "model-value": e.block.color,
2344
2381
  "onUpdate:modelValue": n[2] ||= (e) => a("color", e)
2345
2382
  }, null, 8, ["model-value"])]),
2346
- C("div", yo, [C("label", { class: D(p(W)) }, S(p(r).title.align), 3), m(Y, {
2383
+ C("div", ko, [C("label", { class: D(p(W)) }, S(p(r).title.align), 3), m(Y, {
2347
2384
  options: [
2348
2385
  {
2349
2386
  value: "left",
2350
2387
  label: p(r).title.alignLeft,
2351
- icon: p(V)
2388
+ icon: p(H)
2352
2389
  },
2353
2390
  {
2354
2391
  value: "center",
2355
2392
  label: p(r).title.alignCenter,
2356
- icon: p(ut)
2393
+ icon: p(V)
2357
2394
  },
2358
2395
  {
2359
2396
  value: "right",
2360
2397
  label: p(r).title.alignRight,
2361
- icon: p(H)
2398
+ icon: p(ft)
2362
2399
  }
2363
2400
  ],
2364
2401
  "model-value": e.block.textAlign,
@@ -2366,7 +2403,7 @@ var _i = {
2366
2403
  }, null, 8, ["options", "model-value"])])
2367
2404
  ], 64));
2368
2405
  }
2369
- }), xo = ["aria-label"], So = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3.5" }, Co = { class: "tpl:flex tpl:items-center tpl:gap-2 tpl:text-[var(--tpl-primary)]" }, wo = { class: "tpl:m-0 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, To = { class: "tpl:flex tpl:gap-1" }, Eo = ["title"], Do = ["title"], Oo = { class: "tpl:flex-1 tpl:overflow-y-auto tpl:p-4" }, ko = /* @__PURE__ */ L(/* @__PURE__ */ l({
2406
+ }), jo = ["aria-label"], Mo = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3.5" }, No = { class: "tpl:flex tpl:items-center tpl:gap-2 tpl:text-[var(--tpl-primary)]" }, Po = { class: "tpl:m-0 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, Fo = { class: "tpl:flex tpl:gap-1" }, Io = ["title"], Lo = ["title"], Ro = { class: "tpl:flex-1 tpl:overflow-y-auto tpl:p-4" }, zo = /* @__PURE__ */ R(/* @__PURE__ */ l({
2370
2407
  __name: "Toolbar",
2371
2408
  props: { block: {} },
2372
2409
  emits: [
@@ -2375,83 +2412,83 @@ var _i = {
2375
2412
  "duplicate"
2376
2413
  ],
2377
2414
  setup(e, { emit: t }) {
2378
- let n = A(() => import("./CountdownToolbar-3zLcGAcb.js")), i = e, a = t, { t: o } = I(), l = he(re, "Toolbar"), u = r(P, []), d = T(() => i.block.type), h = T(() => ke(i.block)), g = T(() => {
2415
+ let n = A(() => import("./CountdownToolbar-DndLWUgz.js")), i = e, a = t, { t: o } = I(), l = Ne(Ue, "Toolbar"), u = r(De, []), d = T(() => i.block.type), h = T(() => be(i.block)), g = T(() => {
2379
2416
  if (h.value) return u.find((e) => e.type === i.block.customType);
2380
- }), b = T(() => h.value ? g.value?.name ?? i.block.customType : Re(d.value, o)), x = l.fonts;
2417
+ }), b = T(() => h.value ? g.value?.name ?? i.block.customType : pe(d.value, o)), x = l.fonts;
2381
2418
  function w(e) {
2382
2419
  a("update", e);
2383
2420
  }
2384
2421
  return (t, r) => (s(), f("aside", {
2385
2422
  "aria-label": p(o).landmarks.blockToolbar,
2386
2423
  class: "tpl:flex tpl:w-full tpl:flex-1 tpl:flex-col tpl:bg-[var(--tpl-bg-elevated)]"
2387
- }, [C("div", So, [C("div", Co, [p(ht)[d.value] ? (s(), y(c(p(ht)[d.value]), {
2424
+ }, [C("div", Mo, [C("div", No, [p(vt)[d.value] ? (s(), y(c(p(vt)[d.value]), {
2388
2425
  key: 0,
2389
2426
  size: 16,
2390
2427
  "stroke-width": 1.5
2391
- })) : h.value ? (s(), y(p(ve), {
2428
+ })) : h.value ? (s(), y(p(ne), {
2392
2429
  key: 1,
2393
2430
  size: 16,
2394
2431
  "stroke-width": 1.5
2395
- })) : v("", !0), C("h3", wo, S(b.value), 1)]), C("div", To, [C("button", {
2432
+ })) : v("", !0), C("h3", Po, S(b.value), 1)]), C("div", Fo, [C("button", {
2396
2433
  class: "tpl:flex tpl:size-7 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded-md tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-hover)] tpl:text-[var(--tpl-text-muted)] tpl:transition-all tpl:duration-150 tpl:hover:bg-[var(--tpl-bg-active)] tpl:hover:text-[var(--tpl-text)]",
2397
2434
  title: p(o).toolbar.duplicate,
2398
2435
  onClick: r[0] ||= (e) => a("duplicate")
2399
- }, [m(p(Ye), {
2436
+ }, [m(p(xe), {
2400
2437
  size: 14,
2401
2438
  "stroke-width": 2
2402
- })], 8, Eo), C("button", {
2439
+ })], 8, Io), C("button", {
2403
2440
  class: "tpl:flex tpl:size-7 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded-md tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-hover)] tpl:text-[var(--tpl-text-muted)] tpl:transition-all tpl:duration-150 tpl:hover:border-[var(--tpl-danger)] tpl:hover:bg-[var(--tpl-danger-light)] tpl:hover:text-[var(--tpl-danger)]",
2404
2441
  title: p(o).toolbar.delete,
2405
2442
  onClick: r[1] ||= (e) => a("delete")
2406
- }, [m(p(Oe), {
2443
+ }, [m(p(Ve), {
2407
2444
  size: 14,
2408
2445
  "stroke-width": 2
2409
- })], 8, Do)])]), C("div", Oo, [h.value ? (s(), y(Ti, {
2446
+ })], 8, Lo)])]), C("div", Ro, [h.value ? (s(), y(Mi, {
2410
2447
  key: 0,
2411
2448
  block: e.block,
2412
2449
  onUpdateFieldValues: r[2] ||= (e) => a("update", { fieldValues: e }),
2413
2450
  onUpdateDataSourceFetched: r[3] ||= (e) => a("update", { dataSourceFetched: e })
2414
- }, null, 8, ["block"])) : d.value === "section" ? (s(), y(la, {
2451
+ }, null, 8, ["block"])) : d.value === "section" ? (s(), y(ya, {
2415
2452
  key: 1,
2416
2453
  block: e.block,
2417
2454
  onUpdate: w
2418
- }, null, 8, ["block"])) : d.value === "title" ? (s(), y(bo, {
2455
+ }, null, 8, ["block"])) : d.value === "title" ? (s(), y(Ao, {
2419
2456
  key: 2,
2420
2457
  block: e.block,
2421
2458
  "font-families": p(x),
2422
2459
  onUpdate: w
2423
- }, null, 8, ["block", "font-families"])) : d.value === "paragraph" ? (s(), f(_, { key: 3 }, [], 64)) : d.value === "image" ? (s(), y(qi, {
2460
+ }, null, 8, ["block", "font-families"])) : d.value === "paragraph" ? (s(), f(_, { key: 3 }, [], 64)) : d.value === "image" ? (s(), y(ra, {
2424
2461
  key: 4,
2425
2462
  block: e.block,
2426
2463
  onUpdate: w
2427
- }, null, 8, ["block"])) : d.value === "button" ? (s(), y(Zn, {
2464
+ }, null, 8, ["block"])) : d.value === "button" ? (s(), y(ir, {
2428
2465
  key: 5,
2429
2466
  block: e.block,
2430
2467
  "font-families": p(x),
2431
2468
  onUpdate: w
2432
- }, null, 8, ["block", "font-families"])) : d.value === "divider" ? (s(), y(ji, {
2469
+ }, null, 8, ["block", "font-families"])) : d.value === "divider" ? (s(), y(Ri, {
2433
2470
  key: 6,
2434
2471
  block: e.block,
2435
2472
  onUpdate: w
2436
- }, null, 8, ["block"])) : d.value === "social" ? (s(), y(Sa, {
2473
+ }, null, 8, ["block"])) : d.value === "social" ? (s(), y(Ma, {
2437
2474
  key: 7,
2438
2475
  block: e.block,
2439
2476
  onUpdate: w
2440
- }, null, 8, ["block"])) : d.value === "menu" ? (s(), y(aa, {
2477
+ }, null, 8, ["block"])) : d.value === "menu" ? (s(), y(ha, {
2441
2478
  key: 8,
2442
2479
  block: e.block,
2443
2480
  "font-families": p(x),
2444
2481
  onUpdate: w
2445
- }, null, 8, ["block", "font-families"])) : d.value === "table" ? (s(), y(oo, {
2482
+ }, null, 8, ["block", "font-families"])) : d.value === "table" ? (s(), y(_o, {
2446
2483
  key: 9,
2447
2484
  block: e.block,
2448
2485
  "font-families": p(x),
2449
2486
  onUpdate: w
2450
- }, null, 8, ["block", "font-families"])) : d.value === "spacer" ? (s(), y(Da, {
2487
+ }, null, 8, ["block", "font-families"])) : d.value === "spacer" ? (s(), y(La, {
2451
2488
  key: 10,
2452
2489
  block: e.block,
2453
2490
  onUpdate: w
2454
- }, null, 8, ["block"])) : d.value === "html" ? (s(), y(Fi, {
2491
+ }, null, 8, ["block"])) : d.value === "html" ? (s(), y(Hi, {
2455
2492
  key: 11,
2456
2493
  block: e.block,
2457
2494
  onUpdate: w
@@ -2460,31 +2497,52 @@ var _i = {
2460
2497
  block: e.block,
2461
2498
  "font-families": p(x),
2462
2499
  onUpdate: w
2463
- }, null, 8, ["block", "font-families"])) : v("", !0), m(Hr, {
2500
+ }, null, 8, ["block", "font-families"])) : v("", !0), m(Yr, {
2464
2501
  block: e.block,
2465
2502
  "is-first-section": d.value === "paragraph",
2466
2503
  onUpdate: w
2467
- }, null, 8, ["block", "is-first-section"])])], 8, xo));
2504
+ }, null, 8, ["block", "is-first-section"])])], 8, jo));
2468
2505
  }
2469
- }), [["__scopeId", "data-v-0f4a9227"]]), Ao = ["aria-label"], jo = {
2506
+ }), [["__scopeId", "data-v-0f4a9227"]]), Bo = ["aria-label"], Vo = {
2470
2507
  role: "tablist",
2471
- class: "tpl:relative tpl:flex tpl:border-b tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-hover)]"
2472
- }, Mo = ["aria-selected"], No = ["aria-selected"], Po = {
2508
+ class: "tpl:relative tpl:flex tpl:gap-1 tpl:border-b tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-active)] tpl:p-1.5"
2509
+ }, Ho = [
2510
+ "aria-selected",
2511
+ "aria-label",
2512
+ "title"
2513
+ ], Uo = { key: 0 }, Wo = [
2514
+ "aria-selected",
2515
+ "aria-label",
2516
+ "title"
2517
+ ], Go = { key: 0 }, Ko = [
2518
+ "aria-selected",
2519
+ "aria-label",
2520
+ "title"
2521
+ ], qo = { key: 0 }, Jo = {
2522
+ key: 1,
2523
+ class: "tpl:ml-1 tpl:rounded-full tpl:bg-[var(--tpl-bg-hover)] tpl:px-1.5 tpl:text-[10px]"
2524
+ }, Yo = {
2473
2525
  key: 0,
2474
2526
  id: "tpl-tabpanel-content",
2475
2527
  role: "tabpanel",
2476
2528
  "aria-labelledby": "tpl-tab-content",
2477
2529
  class: "tpl:flex tpl:flex-1 tpl:flex-col tpl:overflow-y-auto"
2478
- }, Fo = {
2530
+ }, Xo = {
2479
2531
  key: 1,
2480
2532
  class: "tpl:flex tpl:flex-col tpl:items-center tpl:justify-center tpl:px-6 tpl:py-10 tpl:text-center tpl:text-[var(--tpl-text-muted)]"
2481
- }, Io = { class: "tpl:mb-4 tpl:text-[var(--tpl-text-dim)]" }, Lo = { class: "tpl:m-0 tpl:mb-2 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, Ro = { class: "tpl:m-0 tpl:text-sm tpl:leading-normal" }, zo = {
2533
+ }, Zo = { class: "tpl:mb-4 tpl:text-[var(--tpl-text-dim)]" }, Qo = { class: "tpl:m-0 tpl:mb-2 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, $o = { class: "tpl:m-0 tpl:text-sm tpl:leading-normal" }, es = {
2482
2534
  key: 1,
2483
2535
  id: "tpl-tabpanel-settings",
2484
2536
  role: "tabpanel",
2485
2537
  "aria-labelledby": "tpl-tab-settings",
2486
2538
  class: "tpl:flex tpl:flex-1 tpl:flex-col tpl:overflow-y-auto"
2487
- }, Bo = /* @__PURE__ */ l({
2539
+ }, ts = {
2540
+ key: 2,
2541
+ id: "tpl-tabpanel-accessibility",
2542
+ role: "tabpanel",
2543
+ "aria-labelledby": "tpl-tab-accessibility",
2544
+ class: "tpl:flex tpl:flex-1 tpl:flex-col tpl:overflow-y-auto"
2545
+ }, ns = /* @__PURE__ */ l({
2488
2546
  __name: "RightSidebar",
2489
2547
  props: {
2490
2548
  selectedBlock: {},
@@ -2497,65 +2555,99 @@ var _i = {
2497
2555
  "duplicate-block",
2498
2556
  "update-settings"
2499
2557
  ],
2500
- setup(e, { emit: r }) {
2501
- let i = e, a = r, { t: o } = I(), c = t("content"), l = T(() => c.value === "content" ? "tpl:translate-x-0" : "tpl:translate-x-full");
2502
- return n(() => i.selectedBlock, (e) => {
2503
- e && (c.value = "content");
2558
+ setup(e, { emit: i }) {
2559
+ let a = A(() => import("./AccessibilityPanel-DmQIqpp1.js")), o = e, c = i, { t: l } = I(), u = t("content"), d = r(ge, null), h = T(() => d !== null), _ = T(() => d?.issues.value.length ?? 0);
2560
+ function b(e) {
2561
+ return u.value === e ? "tpl:flex-1 tpl:text-[var(--tpl-primary)]" : "tpl:shrink-0 tpl:text-[var(--tpl-text-muted)] hover:tpl:text-[var(--tpl-text)]";
2562
+ }
2563
+ function x(e) {
2564
+ return u.value === e ? {
2565
+ backgroundColor: "var(--tpl-bg)",
2566
+ boxShadow: "var(--tpl-shadow-md)"
2567
+ } : { backgroundColor: "transparent" };
2568
+ }
2569
+ return n(() => o.selectedBlock, (e) => {
2570
+ e && (u.value = "content");
2504
2571
  }), (t, n) => (s(), f("aside", {
2505
- "aria-label": p(o).landmarks.rightSidebar,
2572
+ "aria-label": p(l).landmarks.rightSidebar,
2506
2573
  class: D(["tpl-right-sidebar tpl:absolute tpl:top-14 tpl:bottom-0 tpl:z-40 tpl:flex tpl:w-[320px] tpl:flex-col tpl:bg-[var(--tpl-bg-elevated)] tpl:transition-all tpl:duration-200 tpl:border-l tpl:border-[var(--tpl-border)]", e.shiftedLeft ? "tpl:right-[360px]" : "tpl:right-0"])
2507
2574
  }, [
2508
- C("div", jo, [
2509
- C("div", { class: D(["tpl:absolute tpl:bottom-0 tpl:left-0 tpl:h-full tpl:w-1/2 tpl:p-1.5 tpl:transition-transform tpl:duration-[120ms] tpl:ease-[cubic-bezier(0.16,1,0.3,1)]", l.value]) }, [...n[6] ||= [C("div", { class: "tpl:h-full tpl:w-full tpl:rounded-[var(--tpl-radius-sm)] tpl:bg-[var(--tpl-bg)] tpl:shadow-[var(--tpl-shadow)]" }, null, -1)]], 2),
2575
+ C("div", Vo, [
2510
2576
  C("button", {
2511
2577
  id: "tpl-tab-content",
2512
2578
  role: "tab",
2513
- "aria-selected": c.value === "content",
2579
+ "aria-selected": u.value === "content",
2514
2580
  "aria-controls": "tpl-tabpanel-content",
2515
- class: D(["tpl:relative tpl:z-10 tpl:flex tpl:flex-1 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:gap-1.5 tpl:border-none tpl:bg-transparent tpl:px-4 tpl:py-3 tpl:text-xs tpl:font-medium tpl:transition-colors tpl:duration-[120ms]", c.value === "content" ? "tpl:text-[var(--tpl-primary)]" : "tpl:text-[var(--tpl-text-muted)] hover:tpl:text-[var(--tpl-text)]"]),
2516
- onClick: n[0] ||= (e) => c.value = "content"
2517
- }, [m(p(rt), {
2581
+ "aria-label": p(l).sidebar.content,
2582
+ title: p(l).sidebar.content,
2583
+ class: D(["tpl:flex tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:gap-1.5 tpl:rounded-[var(--tpl-radius-sm)] tpl:border-none tpl:px-3 tpl:py-2 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-[120ms] tpl:ease-[cubic-bezier(0.16,1,0.3,1)]", b("content")]),
2584
+ style: g(x("content")),
2585
+ onClick: n[0] ||= (e) => u.value = "content"
2586
+ }, [m(p(ut), {
2518
2587
  size: 14,
2519
2588
  "stroke-width": 2
2520
- }), j(" " + S(p(o).sidebar.content), 1)], 10, Mo),
2589
+ }), u.value === "content" ? (s(), f("span", Uo, S(p(l).sidebar.content), 1)) : v("", !0)], 14, Ho),
2521
2590
  C("button", {
2522
2591
  id: "tpl-tab-settings",
2523
2592
  role: "tab",
2524
- "aria-selected": c.value === "settings",
2593
+ "aria-selected": u.value === "settings",
2525
2594
  "aria-controls": "tpl-tabpanel-settings",
2526
- class: D(["tpl:relative tpl:z-10 tpl:flex tpl:flex-1 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:gap-1.5 tpl:border-none tpl:bg-transparent tpl:px-4 tpl:py-3 tpl:text-xs tpl:font-medium tpl:transition-colors tpl:duration-[120ms]", c.value === "settings" ? "tpl:text-[var(--tpl-primary)]" : "tpl:text-[var(--tpl-text-muted)] hover:tpl:text-[var(--tpl-text)]"]),
2527
- onClick: n[1] ||= (e) => c.value = "settings"
2528
- }, [m(p(ft), {
2595
+ "aria-label": p(l).sidebar.settings,
2596
+ title: p(l).sidebar.settings,
2597
+ class: D(["tpl:flex tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:gap-1.5 tpl:rounded-[var(--tpl-radius-sm)] tpl:border-none tpl:px-3 tpl:py-2 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-[120ms] tpl:ease-[cubic-bezier(0.16,1,0.3,1)]", b("settings")]),
2598
+ style: g(x("settings")),
2599
+ onClick: n[1] ||= (e) => u.value = "settings"
2600
+ }, [m(p(ht), {
2529
2601
  size: 14,
2530
2602
  "stroke-width": 1.5
2531
- }), j(" " + S(p(o).sidebar.settings), 1)], 10, No)
2603
+ }), u.value === "settings" ? (s(), f("span", Go, S(p(l).sidebar.settings), 1)) : v("", !0)], 14, Wo),
2604
+ h.value ? (s(), f("button", {
2605
+ key: 0,
2606
+ id: "tpl-tab-accessibility",
2607
+ role: "tab",
2608
+ "aria-selected": u.value === "accessibility",
2609
+ "aria-controls": "tpl-tabpanel-accessibility",
2610
+ "aria-label": p(l).accessibility.panelTabLabel,
2611
+ title: p(l).accessibility.panelTabLabel,
2612
+ class: D(["tpl:flex tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:gap-1.5 tpl:rounded-[var(--tpl-radius-sm)] tpl:border-none tpl:px-3 tpl:py-2 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-[120ms] tpl:ease-[cubic-bezier(0.16,1,0.3,1)]", b("accessibility")]),
2613
+ style: g(x("accessibility")),
2614
+ onClick: n[2] ||= (e) => u.value = "accessibility"
2615
+ }, [
2616
+ m(p(rt), {
2617
+ size: 14,
2618
+ "stroke-width": 1.5
2619
+ }),
2620
+ u.value === "accessibility" ? (s(), f("span", qo, S(p(l).accessibility.panelTabLabel), 1)) : v("", !0),
2621
+ _.value > 0 ? (s(), f("span", Jo, S(_.value), 1)) : v("", !0)
2622
+ ], 14, Ko)) : v("", !0)
2532
2623
  ]),
2533
- c.value === "content" ? (s(), f("div", Po, [e.selectedBlock ? (s(), y(ko, {
2624
+ u.value === "content" ? (s(), f("div", Yo, [e.selectedBlock ? (s(), y(zo, {
2534
2625
  key: 0,
2535
2626
  block: e.selectedBlock,
2536
- onUpdate: n[2] ||= (e) => a("update-block", e),
2537
- onDelete: n[3] ||= (e) => a("delete-block"),
2538
- onDuplicate: n[4] ||= (e) => a("duplicate-block")
2539
- }, null, 8, ["block"])) : (s(), f("div", Fo, [
2540
- C("div", Io, [m(p(Qe), {
2627
+ onUpdate: n[3] ||= (e) => c("update-block", e),
2628
+ onDelete: n[4] ||= (e) => c("delete-block"),
2629
+ onDuplicate: n[5] ||= (e) => c("duplicate-block")
2630
+ }, null, 8, ["block"])) : (s(), f("div", Xo, [
2631
+ C("div", Zo, [m(p(it), {
2541
2632
  size: 40,
2542
2633
  "stroke-width": 1.5
2543
2634
  })]),
2544
- C("h3", Lo, S(p(o).sidebar.noSelection), 1),
2545
- C("p", Ro, S(p(o).sidebar.noSelectionHint), 1)
2635
+ C("h3", Qo, S(p(l).sidebar.noSelection), 1),
2636
+ C("p", $o, S(p(l).sidebar.noSelectionHint), 1)
2546
2637
  ]))])) : v("", !0),
2547
- c.value === "settings" ? (s(), f("div", zo, [m(On, {
2638
+ u.value === "settings" ? (s(), f("div", es, [m(Fn, {
2548
2639
  settings: e.settings,
2549
- onUpdate: n[5] ||= (e) => a("update-settings", e)
2550
- }, null, 8, ["settings"])])) : v("", !0)
2551
- ], 10, Ao));
2640
+ onUpdate: n[6] ||= (e) => c("update-settings", e)
2641
+ }, null, 8, ["settings"])])) : v("", !0),
2642
+ u.value === "accessibility" && h.value ? (s(), f("div", ts, [m(p(a))])) : v("", !0)
2643
+ ], 10, Bo));
2552
2644
  }
2553
- }), Vo = ["aria-label"], Ho = [
2645
+ }), rs = ["aria-label"], is = [
2554
2646
  "aria-checked",
2555
2647
  "aria-label",
2556
2648
  "title",
2557
2649
  "onClick"
2558
- ], Uo = /* @__PURE__ */ l({
2650
+ ], as = /* @__PURE__ */ l({
2559
2651
  __name: "ViewportToggle",
2560
2652
  props: { viewport: {} },
2561
2653
  emits: ["change"],
@@ -2608,21 +2700,21 @@ var _i = {
2608
2700
  key: 0,
2609
2701
  size: 18,
2610
2702
  "stroke-width": 1.5
2611
- })) : t.value === "tablet" ? (s(), y(p(ot), {
2703
+ })) : t.value === "tablet" ? (s(), y(p(dt), {
2612
2704
  key: 1,
2613
2705
  size: 18,
2614
2706
  "stroke-width": 1.5
2615
- })) : (s(), y(p(it), {
2707
+ })) : (s(), y(p(pt), {
2616
2708
  key: 2,
2617
2709
  size: 18,
2618
2710
  "stroke-width": 1.5
2619
- })), C("span", null, S(t.label), 1)], 12, Ho))), 128))], 12, Vo));
2711
+ })), C("span", null, S(t.label), 1)], 12, is))), 128))], 12, rs));
2620
2712
  }
2621
- }), Wo = [
2713
+ }), os = [
2622
2714
  "aria-label",
2623
2715
  "title",
2624
2716
  "aria-pressed"
2625
- ], Go = /* @__PURE__ */ L(/* @__PURE__ */ l({
2717
+ ], ss = /* @__PURE__ */ R(/* @__PURE__ */ l({
2626
2718
  __name: "PreviewToggle",
2627
2719
  props: { previewMode: { type: Boolean } },
2628
2720
  emits: ["change"],
@@ -2645,23 +2737,23 @@ var _i = {
2645
2737
  "leave-to-class": "tpl-icon-leave-to",
2646
2738
  mode: "out-in"
2647
2739
  }, {
2648
- default: a(() => [e.previewMode ? (s(), y(p(Xe), {
2740
+ default: a(() => [e.previewMode ? (s(), y(p(je), {
2649
2741
  key: "eye",
2650
2742
  size: 18,
2651
2743
  "stroke-width": 1.5
2652
- })) : (s(), y(p(Ae), {
2744
+ })) : (s(), y(p(Je), {
2653
2745
  key: "eye-off",
2654
2746
  size: 18,
2655
2747
  "stroke-width": 1.5
2656
2748
  }))]),
2657
2749
  _: 1
2658
- })], 12, Wo));
2750
+ })], 12, os));
2659
2751
  }
2660
- }), [["__scopeId", "data-v-af87d02a"]]), Ko = [
2752
+ }), [["__scopeId", "data-v-af87d02a"]]), cs = [
2661
2753
  "aria-label",
2662
2754
  "title",
2663
2755
  "aria-pressed"
2664
- ], qo = /* @__PURE__ */ L(/* @__PURE__ */ l({
2756
+ ], ls = /* @__PURE__ */ R(/* @__PURE__ */ l({
2665
2757
  __name: "DarkModeToggle",
2666
2758
  props: { darkMode: { type: Boolean } },
2667
2759
  emits: ["change"],
@@ -2688,33 +2780,33 @@ var _i = {
2688
2780
  key: "moon",
2689
2781
  size: 18,
2690
2782
  "stroke-width": 1.5
2691
- })) : (s(), y(p(dt), {
2783
+ })) : (s(), y(p(ot), {
2692
2784
  key: "sun",
2693
2785
  size: 18,
2694
2786
  "stroke-width": 1.5
2695
2787
  }))]),
2696
2788
  _: 1
2697
- })], 12, Ko));
2789
+ })], 12, cs));
2698
2790
  }
2699
- }), [["__scopeId", "data-v-f8694f76"]]), Jo = {
2791
+ }), [["__scopeId", "data-v-f8694f76"]]), us = {
2700
2792
  class: "tpl:pointer-events-auto tpl:flex tpl:items-center tpl:gap-1.5 tpl:rounded-tl-lg tpl:p-1",
2701
2793
  style: {
2702
2794
  "background-color": "color-mix(\n in srgb,\n var(--tpl-canvas-bg) 85%,\n transparent\n )",
2703
2795
  "backdrop-filter": "blur(8px)",
2704
2796
  "-webkit-backdrop-filter": "blur(8px)"
2705
2797
  }
2706
- }, Yo = {
2798
+ }, ds = {
2707
2799
  href: "https://github.com/templatical/sdk",
2708
2800
  target: "_blank",
2709
2801
  rel: "noopener noreferrer",
2710
2802
  class: "tpl:transition-colors tpl:duration-150 hover:tpl:opacity-80 tpl:text-[var(--tpl-text-dim)]",
2711
2803
  style: { "text-decoration": "none" }
2712
- }, Xo = /* @__PURE__ */ l({
2804
+ }, fs = /* @__PURE__ */ l({
2713
2805
  __name: "EditorFooter",
2714
2806
  props: { positionClass: {} },
2715
2807
  setup(e) {
2716
2808
  let { t } = I();
2717
- return (n, r) => (s(), f("footer", { class: D(["tpl:pointer-events-none tpl:absolute tpl:bottom-0 tpl:z-50 tpl:flex tpl:h-8 tpl:items-center tpl:justify-end tpl:pr-4 tpl:text-[9px] tpl:opacity-90 tpl:transition-all tpl:duration-300 tpl:text-[var(--tpl-text-dim)]", e.positionClass]) }, [C("div", Jo, [
2809
+ return (n, r) => (s(), f("footer", { class: D(["tpl:pointer-events-none tpl:absolute tpl:bottom-0 tpl:z-50 tpl:flex tpl:h-8 tpl:items-center tpl:justify-end tpl:pr-4 tpl:text-[9px] tpl:opacity-90 tpl:transition-all tpl:duration-300 tpl:text-[var(--tpl-text-dim)]", e.positionClass]) }, [C("div", us, [
2718
2810
  C("span", null, S(p(t).footer.poweredBy), 1),
2719
2811
  r[0] ||= C("a", {
2720
2812
  href: "https://templatical.com",
@@ -2729,11 +2821,11 @@ var _i = {
2729
2821
  alt: ""
2730
2822
  }), j(" Templatical ")], -1),
2731
2823
  r[1] ||= C("span", { class: "tpl:text-[var(--tpl-border)]" }, "·", -1),
2732
- C("a", Yo, S(p(t).footer.openSource), 1)
2824
+ C("a", ds, S(p(t).footer.openSource), 1)
2733
2825
  ])], 2));
2734
2826
  }
2735
2827
  });
2736
2828
  //#endregion
2737
- export { Bo as a, Uo as i, qo as n, Vt as o, Go as r, Mt as s, Xo as t };
2829
+ export { ns as a, Tt as c, as as i, ls as n, Gt as o, ss as r, It as s, fs as t };
2738
2830
 
2739
- //# sourceMappingURL=styles-CFnn-xE6.js.map
2831
+ //# sourceMappingURL=styles-COCYlkQY.js.map