@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,17 +1,17 @@
1
- import { A as e, Dt as t, H as n, M as r, Mt as i, Ot as a, Q as o, S as s, V as c, _ as l, b as u, c as d, g as f, h as p, it as m, j as h, m as g, n as _, t as v, w as y, y as b } from "./vue.runtime.esm-bundler-DpvJL-nX.js";
2
- import { r as x } from "./timeouts-BSGxjuUF.js";
3
- import { L as S, t as C, x as w } from "./useEditorCore-JdLcaPeJ.js";
4
- import { t as T } from "./_plugin-vue_export-helper-GRmvIR5A.js";
5
- import { a as E, c as ee, i as te, n as ne, o as re, r as D, s as O, t as k } from "./styles-CdrFC7-K.js";
1
+ import { A as e, Dt as t, H as n, M as r, Mt as i, Ot as a, Q as o, S as s, V as c, _ as l, b as u, c as d, g as f, h as p, it as m, j as h, m as g, n as _, t as ee, w as v, y } from "./vue.runtime.esm-bundler-DpvJL-nX.js";
2
+ import { r as b } from "./timeouts-BSGxjuUF.js";
3
+ import { L as x, t as S, x as C } from "./useEditorCore-Dz-qbVXX.js";
4
+ import { a as w, c as T, i as E, l as te, n as ne, o as re, r as D, s as O, t as k } from "./styles-B58wYIn4.js";
5
+ import { t as A } from "./_plugin-vue_export-helper-B0hnzhyu.js";
6
6
  //#region src/Editor.vue?vue&type=script&setup=true&lang.ts
7
- var A = ["data-tpl-theme"], j = {
7
+ var j = ["data-tpl-theme"], M = {
8
8
  class: "tpl-header tpl:absolute tpl:top-0 tpl:right-0 tpl:left-0 tpl:z-50 tpl:grid tpl:h-14 tpl:grid-cols-[1fr_auto_1fr] tpl:items-center tpl:px-4 tpl:shadow-[var(--tpl-shadow-md)] tpl:border-b tpl:border-[var(--tpl-border)]",
9
9
  style: {
10
10
  "background-color": "color-mix(in srgb, var(--tpl-bg) 80%, transparent)",
11
11
  "backdrop-filter": "blur(12px)",
12
12
  "-webkit-backdrop-filter": "blur(12px)"
13
13
  }
14
- }, M = { class: "tpl:flex tpl:items-center tpl:justify-center tpl:gap-10" }, N = { class: "tpl:sticky tpl:top-0 tpl:z-40 tpl:h-0" }, P = { class: "tpl:flex tpl:justify-center tpl:p-8" }, F = ["aria-label"], I = /* @__PURE__ */ T(/* @__PURE__ */ s({
14
+ }, N = { class: "tpl:flex tpl:items-center tpl:justify-center tpl:gap-10" }, P = { class: "tpl:sticky tpl:top-0 tpl:z-40 tpl:h-0" }, F = { class: "tpl:flex tpl:justify-center tpl:p-8" }, I = ["aria-label"], L = /* @__PURE__ */ A(/* @__PURE__ */ s({
15
15
  __name: "Editor",
16
16
  props: {
17
17
  config: {},
@@ -19,11 +19,11 @@ var A = ["data-tpl-theme"], j = {
19
19
  fontsManager: {}
20
20
  },
21
21
  setup(o, { expose: s }) {
22
- let _ = o, y = S({
22
+ let _ = o, v = x({
23
23
  content: _.config.content,
24
24
  templateDefaults: _.config.templateDefaults
25
- }), x = C({
26
- editor: y,
25
+ }), b = S({
26
+ editor: v,
27
27
  config: {
28
28
  uiTheme: _.config.uiTheme,
29
29
  theme: _.config.theme,
@@ -32,66 +32,67 @@ var A = ["data-tpl-theme"], j = {
32
32
  mergeTags: _.config.mergeTags,
33
33
  displayConditions: _.config.displayConditions,
34
34
  onRequestMedia: _.config.onRequestMedia,
35
- onSave: _.config.onSave ? () => _.config.onSave(JSON.parse(JSON.stringify(y.state.content))) : void 0
35
+ accessibility: T(_.config),
36
+ onSave: _.config.onSave ? () => _.config.onSave(JSON.parse(JSON.stringify(v.state.content))) : void 0
36
37
  },
37
38
  translations: _.translations,
38
39
  fontsManager: _.fontsManager,
39
- autoSaveOptions: _.config.onChange ? { onChange: () => _.config.onChange(JSON.parse(JSON.stringify(y.state.content))) } : null
40
+ autoSaveOptions: _.config.onChange ? { onChange: () => _.config.onChange(JSON.parse(JSON.stringify(v.state.content))) } : null
40
41
  });
41
42
  return e(async () => {
42
43
  await _.fontsManager.loadCustomFonts();
43
44
  }), h(() => {
44
- _.fontsManager.cleanupFontLinks(), x.destroy();
45
+ _.fontsManager.cleanupFontLinks(), b.destroy();
45
46
  }), s({
46
- getContent: () => y.content.value,
47
- setContent: (e) => y.setContent(e),
48
- setTheme: (e) => y.setUiTheme(e),
49
- renderCustomBlock: x.registry.renderCustomBlock
47
+ getContent: () => v.content.value,
48
+ setContent: (e) => v.setContent(e),
49
+ setTheme: (e) => v.setUiTheme(e),
50
+ renderCustomBlock: b.registry.renderCustomBlock
50
51
  }), (e, s) => (r(), l("div", {
51
- class: t(["tpl tpl:relative tpl:h-full tpl:overflow-hidden", { "tpl:dark": m(y).state.darkMode }]),
52
- "data-tpl-theme": m(x).resolvedTheme.value,
53
- style: a(m(x).themeStyles.value)
52
+ class: t(["tpl tpl:relative tpl:h-full tpl:overflow-hidden", { "tpl:dark": m(v).state.darkMode }]),
53
+ "data-tpl-theme": m(b).resolvedTheme.value,
54
+ style: a(m(b).themeStyles.value)
54
55
  }, [
55
- g("header", j, [
56
+ g("header", M, [
56
57
  s[5] ||= g("div", { class: "tpl:flex tpl:items-center tpl:gap-2.5" }, null, -1),
57
- g("div", M, [
58
- u(te, {
59
- viewport: m(y).state.viewport,
60
- onChange: m(y).setViewport
58
+ g("div", N, [
59
+ u(E, {
60
+ viewport: m(v).state.viewport,
61
+ onChange: m(v).setViewport
61
62
  }, null, 8, ["viewport", "onChange"]),
62
63
  u(ne, {
63
- "dark-mode": m(y).state.darkMode,
64
- onChange: m(y).setDarkMode
64
+ "dark-mode": m(v).state.darkMode,
65
+ onChange: m(v).setDarkMode
65
66
  }, null, 8, ["dark-mode", "onChange"]),
66
67
  u(D, {
67
- "preview-mode": m(y).state.previewMode,
68
- onChange: m(y).setPreviewMode
68
+ "preview-mode": m(v).state.previewMode,
69
+ onChange: m(v).setPreviewMode
69
70
  }, null, 8, ["preview-mode", "onChange"])
70
71
  ]),
71
72
  s[6] ||= g("div", { class: "tpl:flex tpl:min-w-[200px] tpl:items-center tpl:justify-end tpl:gap-3" }, null, -1)
72
73
  ]),
73
- n(u(re, null, null, 512), [[d, !m(y).state.previewMode]]),
74
+ n(u(re, null, null, 512), [[d, !m(v).state.previewMode]]),
74
75
  g("div", {
75
- class: t(["tpl-body tpl:absolute tpl:bottom-0 tpl:overflow-auto tpl:bg-[var(--tpl-canvas-bg)]", [m(y).state.previewMode ? "tpl:left-0 tpl:right-0" : "tpl:left-12 tpl:right-[320px]", "tpl:top-14"]]),
76
+ class: t(["tpl-body tpl:absolute tpl:bottom-0 tpl:overflow-auto tpl:bg-[var(--tpl-canvas-bg)]", [m(v).state.previewMode ? "tpl:left-0 tpl:right-0" : "tpl:left-12 tpl:right-[320px]", "tpl:top-14"]]),
76
77
  style: { transition: "all 300ms cubic-bezier(0.34, 1.56, 0.64, 1)" }
77
- }, [g("div", N, [u(v, { name: "tpl-restore-btn" }, {
78
- default: c(() => [m(x).conditionPreview.hasHiddenBlocks.value ? (r(), l("button", {
78
+ }, [g("div", P, [u(ee, { name: "tpl-restore-btn" }, {
79
+ default: c(() => [m(b).conditionPreview.hasHiddenBlocks.value ? (r(), l("button", {
79
80
  key: 0,
80
81
  class: "tpl:absolute tpl:left-1/2 tpl:top-2 tpl:-translate-x-1/2 tpl:inline-flex tpl:items-center tpl:gap-1.5 tpl:rounded-full tpl:border tpl:px-3.5 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:whitespace-nowrap tpl:shadow-md tpl:hover:opacity-80 tpl:bg-[var(--tpl-warning-light)] tpl:text-[var(--tpl-warning)] tpl:border-[var(--tpl-warning)]",
81
82
  style: { "backdrop-filter": "blur(8px)" },
82
- onClick: s[0] ||= (e) => m(x).conditionPreview.reset()
83
- }, [u(m(ee), {
83
+ onClick: s[0] ||= (e) => m(b).conditionPreview.reset()
84
+ }, [u(m(te), {
84
85
  size: 13,
85
86
  "stroke-width": 2
86
- }), b(" " + i(m(x).t.blockSettings.restoreHiddenBlocks), 1)])) : f("", !0)]),
87
+ }), y(" " + i(m(b).t.blockSettings.restoreHiddenBlocks), 1)])) : f("", !0)]),
87
88
  _: 1
88
- })]), g("div", P, [u(O, {
89
- viewport: m(y).state.viewport,
90
- content: m(y).content.value,
91
- "selected-block-id": m(y).state.selectedBlockId,
92
- "dark-mode": m(y).state.darkMode,
93
- "preview-mode": m(y).state.previewMode,
94
- onSelectBlock: m(y).selectBlock
89
+ })]), g("div", F, [u(O, {
90
+ viewport: m(v).state.viewport,
91
+ content: m(v).content.value,
92
+ "selected-block-id": m(v).state.selectedBlockId,
93
+ "dark-mode": m(v).state.darkMode,
94
+ "preview-mode": m(v).state.previewMode,
95
+ onSelectBlock: m(v).selectBlock
95
96
  }, null, 8, [
96
97
  "viewport",
97
98
  "content",
@@ -102,58 +103,58 @@ var A = ["data-tpl-theme"], j = {
102
103
  ])])], 2),
103
104
  o.config.branding === !1 ? f("", !0) : (r(), p(k, {
104
105
  key: 0,
105
- "position-class": [m(y).state.previewMode ? "tpl:left-0 tpl:right-0" : "tpl:left-12 tpl:right-[320px]"]
106
+ "position-class": [m(v).state.previewMode ? "tpl:left-0 tpl:right-0" : "tpl:left-12 tpl:right-[320px]"]
106
107
  }, null, 8, ["position-class"])),
107
108
  g("div", {
108
109
  class: "tpl-sr-only",
109
110
  role: "status",
110
111
  "aria-live": "polite",
111
112
  "aria-atomic": "true",
112
- "aria-label": m(x).t.landmarks.reorderAnnouncements
113
- }, i(m(x).keyboardReorder.announcement.value), 9, F),
114
- n(u(E, {
115
- "selected-block": m(y).selectedBlock.value,
116
- settings: m(y).content.value.settings,
117
- onUpdateBlock: s[1] ||= (e) => m(y).updateBlock(m(y).state.selectedBlockId, e),
113
+ "aria-label": m(b).t.landmarks.reorderAnnouncements
114
+ }, i(m(b).keyboardReorder.announcement.value), 9, I),
115
+ n(u(w, {
116
+ "selected-block": m(v).selectedBlock.value,
117
+ settings: m(v).content.value.settings,
118
+ onUpdateBlock: s[1] ||= (e) => m(v).updateBlock(m(v).state.selectedBlockId, e),
118
119
  onDeleteBlock: s[2] ||= () => {
119
- m(y).state.selectedBlockId && m(x).blockActions.deleteBlock(m(y).state.selectedBlockId);
120
+ m(v).state.selectedBlockId && m(b).blockActions.deleteBlock(m(v).state.selectedBlockId);
120
121
  },
121
122
  onDuplicateBlock: s[3] ||= () => {
122
- m(y).selectedBlock.value && m(x).blockActions.duplicateBlock(m(y).selectedBlock.value);
123
+ m(v).selectedBlock.value && m(b).blockActions.duplicateBlock(m(v).selectedBlock.value);
123
124
  },
124
- onUpdateSettings: s[4] ||= (e) => m(y).updateSettings(e)
125
- }, null, 8, ["selected-block", "settings"]), [[d, !m(y).state.previewMode]])
126
- ], 14, A));
125
+ onUpdateSettings: s[4] ||= (e) => m(v).updateSettings(e)
126
+ }, null, 8, ["selected-block", "settings"]), [[d, !m(v).state.previewMode]])
127
+ ], 14, j));
127
128
  }
128
- }), [["__scopeId", "data-v-1bfc44e9"]]), L = /* @__PURE__ */ Object.assign({
129
- "./locales/de.ts": () => import("./de-tDioEErp.js"),
130
- "./locales/en.ts": () => import("./en-W2p7oPaa.js")
131
- }), R = /* @__PURE__ */ Object.assign({
132
- "./locales/cloud/de.ts": () => import("./de-CbSb23fl.js"),
133
- "./locales/cloud/en.ts": () => import("./en-2fvenFu0.js")
129
+ }), [["__scopeId", "data-v-9ffdcb5e"]]), R = /* @__PURE__ */ Object.assign({
130
+ "./locales/de.ts": () => import("./de-Brqvgr43.js"),
131
+ "./locales/en.ts": () => import("./en-WDVp87TE.js")
132
+ }), z = /* @__PURE__ */ Object.assign({
133
+ "./locales/cloud/de.ts": () => import("./de-DCaaCE5s.js"),
134
+ "./locales/cloud/en.ts": () => import("./en-DXCyK4-X.js")
134
135
  });
135
- function z(e) {
136
+ function B(e) {
136
137
  return Object.keys(e).map((e) => e.match(/\/([^/]+)\.ts$/)?.[1]).filter((e) => !!e);
137
138
  }
138
- var B = z(L), V = z(R);
139
- function H(e) {
139
+ var V = B(R), H = B(z);
140
+ function U(e) {
140
141
  return e.split("-")[0].toLowerCase();
141
142
  }
142
- function U(e, t) {
143
- let n = H(e);
143
+ function W(e, t) {
144
+ let n = U(e);
144
145
  return t.includes(n) ? n : "en";
145
146
  }
146
- async function W(e) {
147
- let t = L[`./locales/${U(e, B)}.ts`];
147
+ async function G(e) {
148
+ let t = R[`./locales/${W(e, V)}.ts`];
148
149
  return (await t()).default;
149
150
  }
150
- async function G(e) {
151
- let t = R[`./locales/cloud/${U(e, V)}.ts`];
151
+ async function K(e) {
152
+ let t = z[`./locales/cloud/${W(e, H)}.ts`];
152
153
  return (await t()).default;
153
154
  }
154
155
  //#endregion
155
156
  //#region src/utils/toMjml.ts
156
- async function K(e) {
157
+ async function q(e) {
157
158
  let t;
158
159
  try {
159
160
  t = await import("@templatical/renderer");
@@ -164,48 +165,48 @@ async function K(e) {
164
165
  }
165
166
  //#endregion
166
167
  //#region src/index.ts
167
- var q = null, J = o(null);
168
- async function Y(e) {
168
+ var J = null, Y = o(null);
169
+ async function ie(e) {
169
170
  let t = typeof e.container == "string" ? document.querySelector(e.container) : e.container;
170
171
  if (!t) throw Error(`[Templatical] Container element not found: ${e.container}`);
171
- let n = await W(e.locale ?? "en"), r = w(e.fonts);
172
- q && Q(), q = _({ setup() {
173
- return () => y(I, {
172
+ let n = await G(e.locale ?? "en"), r = C(e.fonts);
173
+ J && Q(), J = _({ setup() {
174
+ return () => v(L, {
174
175
  config: e,
175
176
  translations: n,
176
177
  fontsManager: r,
177
- ref: J
178
+ ref: Y
178
179
  });
179
- } }), q.mount(t);
180
+ } }), J.mount(t);
180
181
  let i = {
181
182
  getContent() {
182
- return J.value ? JSON.parse(JSON.stringify(J.value.getContent())) : JSON.parse(JSON.stringify(e.content));
183
+ return Y.value ? JSON.parse(JSON.stringify(Y.value.getContent())) : JSON.parse(JSON.stringify(e.content));
183
184
  },
184
185
  setContent(t) {
185
- J.value && J.value.setContent(t), e.content = t;
186
+ Y.value && Y.value.setContent(t), e.content = t;
186
187
  },
187
188
  setTheme(e) {
188
- J.value && J.value.setTheme(e);
189
+ Y.value && Y.value.setTheme(e);
189
190
  },
190
191
  unmount: Q,
191
192
  renderCustomBlock(e) {
192
- return J.value ? J.value.renderCustomBlock(e) : Promise.reject(/* @__PURE__ */ Error("[Templatical] Editor not ready"));
193
+ return Y.value ? Y.value.renderCustomBlock(e) : Promise.reject(/* @__PURE__ */ Error("[Templatical] Editor not ready"));
193
194
  },
194
- toMjml: () => K(i)
195
+ toMjml: () => q(i)
195
196
  };
196
197
  return i;
197
198
  }
198
199
  var X = null, Z = o(null);
199
- async function ie(e) {
200
+ async function ae(e) {
200
201
  let t = typeof e.container == "string" ? document.querySelector(e.container) : e.container;
201
202
  if (!t) throw Error(`[Templatical] Container element not found: ${e.container}`);
202
- let { default: n } = await import("./CloudEditor-Bxe8Jt9u.js"), [r, i] = await Promise.all([W(e.locale ?? "en"), G(e.locale ?? "en")]), a = w(e.fonts);
203
+ let { default: n } = await import("./CloudEditor-D_flODpm.js"), [r, i] = await Promise.all([G(e.locale ?? "en"), K(e.locale ?? "en")]), a = C(e.fonts);
203
204
  return X && $(), await new Promise((o, s) => {
204
205
  let c = setTimeout(() => {
205
206
  s(/* @__PURE__ */ Error("[Templatical] Cloud editor initialization timed out"));
206
- }, x);
207
+ }, b);
207
208
  X = _({ setup() {
208
- return () => y(n, {
209
+ return () => v(n, {
209
210
  config: e,
210
211
  translations: r,
211
212
  cloudTranslations: i,
@@ -239,10 +240,10 @@ async function ie(e) {
239
240
  };
240
241
  }
241
242
  function Q() {
242
- q && (q.unmount(), q = null, J.value = null);
243
+ J && (J.unmount(), J = null, Y.value = null);
243
244
  }
244
245
  function $() {
245
246
  X && (X.unmount(), X = null, Z.value = null);
246
247
  }
247
248
  //#endregion
248
- export { Y as init, ie as initCloud, Q as unmount, w as useFonts };
249
+ export { ie as init, ae as initCloud, Q as unmount, C as useFonts };
@@ -1,4 +1,4 @@
1
- import { n as e } from "./_plugin-vue_export-helper-GRmvIR5A.js";
1
+ import { t as e } from "./createLucideIcon-C3pa2siy.js";
2
2
  var t = e("text-align-center", [
3
3
  ["path", {
4
4
  d: "M21 5H3",
@@ -1,4 +1,4 @@
1
- import { n as e } from "./_plugin-vue_export-helper-GRmvIR5A.js";
1
+ import { t as e } from "./createLucideIcon-C3pa2siy.js";
2
2
  var t = e("trash-2", [
3
3
  ["path", {
4
4
  d: "M10 11v6",
@@ -1,4 +1,4 @@
1
- import { n as e } from "./_plugin-vue_export-helper-GRmvIR5A.js";
1
+ import { t as e } from "./createLucideIcon-C3pa2siy.js";
2
2
  var t = e("triangle-alert", [
3
3
  ["path", {
4
4
  d: "m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",
@@ -1,5 +1,5 @@
1
1
  import { E as e, q as t } from "./vue.runtime.esm-bundler-DpvJL-nX.js";
2
- import { c as n } from "./keys-BeW4IrXP.js";
2
+ import { l as n } from "./keys-ciNfSSGj.js";
3
3
  //#region src/composables/useCloudI18n.ts
4
4
  function r(e, t) {
5
5
  return e.replace(/\{(\w+)\}/g, (e, n) => n in t ? String(t[n]) : `{${n}}`);