@templatical/editor 0.12.1 → 0.14.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 (155) hide show
  1. package/dist/{AiChatSidebar-CXH7l1Ar.js → AiChatSidebar-J8iO_sX7.js} +16 -16
  2. package/dist/{AiFeatureMenu-BKbUUc1D.js → AiFeatureMenu-F2diEDgV.js} +10 -10
  3. package/dist/{BlockIssueBadge-C-EPqWsh.js → BlockIssueBadge-a-qlByxF.js} +5 -5
  4. package/dist/{CloudEditor-CB16QzKM.js → CloudEditor-CDjtwb4i.js} +284 -250
  5. package/dist/{CollaboratorBar-ACUA7lBJ.js → CollaboratorBar-B_EnJLtW.js} +4 -4
  6. package/dist/{CommentsSidebar-CpRLN40c.js → CommentsSidebar-DaP9BA_r.js} +18 -18
  7. package/dist/{CountdownBlock-C-6o19qS.js → CountdownBlock-DtAokAVw.js} +3 -3
  8. package/dist/{CountdownToolbar-Dol7Q0Pv.js → CountdownToolbar-Dtqgwy0g.js} +3 -3
  9. package/dist/{DesignReferenceSidebar-0dTsBW08.js → DesignReferenceSidebar-BHRlTqlT.js} +21 -33
  10. package/dist/{IssuesPanel-I0z6k6-H.js → IssuesPanel-u7ee3Wrl.js} +11 -11
  11. package/dist/{LoadingTrack-C7mGWPHS.js → LoadingTrack-CV3ID80N.js} +1 -1
  12. package/dist/ModuleBrowserModal-DOsdaS6s.js +201 -0
  13. package/dist/{ModulePreviewCanvas-CpaumPMS.js → ModulePreviewCanvas-Cx4MOJ0X.js} +21 -21
  14. package/dist/{NumberWithSuffix-Bp40ik4l.js → NumberWithSuffix-D2mW_DhT.js} +4 -4
  15. package/dist/{ParagraphEditor-BqRFV_Y-.js → ParagraphEditor-DMzkVnST.js} +156 -136
  16. package/dist/{RichTextEditorContent-Q5altsx1.js → RichTextEditorContent-CRCxCwKf.js} +7 -7
  17. package/dist/{SaveModuleDialog-DmfvH5D0.js → SaveModuleDialog-DuEKgumL.js} +8 -8
  18. package/dist/{SnapshotHistory-C052o-8U.js → SnapshotHistory-CVgiNJtE.js} +12 -12
  19. package/dist/{TemplateScoringPanel-CUs8XmIi.js → TemplateScoringPanel-lm0_9nYi.js} +26 -26
  20. package/dist/{TestEmailModal-BIIxRWUt.js → TestEmailModal-WBMdiW5S.js} +5 -5
  21. package/dist/{TitleEditor-FMh54Cx5.js → TitleEditor-eyT0h-Sa.js} +71 -55
  22. package/dist/{TplModal-utMtXzSO.js → TplModal-tjQ7OB0g.js} +4 -4
  23. package/dist/{blockTypeIcons-C6UGDmrC.js → blockTypeIcons-DdB3uTKD.js} +5 -5
  24. package/dist/bundle-stats.json +8 -8
  25. package/dist/cdn/chunks/{AiFeatureMenu-4NhCFeTh.js → AiFeatureMenu-D7rB2SBs.js} +9 -9
  26. package/dist/cdn/chunks/{AiFeatureMenu-4NhCFeTh.js.map → AiFeatureMenu-D7rB2SBs.js.map} +1 -1
  27. package/dist/cdn/chunks/{BlockIssueBadge-BYKThwhE.js → BlockIssueBadge-DHOe0pgx.js} +6 -6
  28. package/dist/cdn/chunks/{BlockIssueBadge-BYKThwhE.js.map → BlockIssueBadge-DHOe0pgx.js.map} +1 -1
  29. package/dist/cdn/chunks/{CloudEditor-DSeihOan.js → CloudEditor-DNed_Ym0.js} +273 -239
  30. package/dist/cdn/chunks/CloudEditor-DNed_Ym0.js.map +1 -0
  31. package/dist/cdn/chunks/{CollaboratorBar-Dn5gXNDt.js → CollaboratorBar-sj_9Lee3.js} +4 -4
  32. package/dist/cdn/chunks/{CollaboratorBar-Dn5gXNDt.js.map → CollaboratorBar-sj_9Lee3.js.map} +1 -1
  33. package/dist/cdn/chunks/{CountdownBlock-hYoJdVOt.js → CountdownBlock-C1Ikjpn4.js} +3 -3
  34. package/dist/cdn/chunks/{CountdownBlock-hYoJdVOt.js.map → CountdownBlock-C1Ikjpn4.js.map} +1 -1
  35. package/dist/cdn/chunks/{CountdownToolbar-BQn0Kj0X.js → CountdownToolbar-j1G_X8rB.js} +4 -4
  36. package/dist/cdn/chunks/CountdownToolbar-j1G_X8rB.js.map +1 -0
  37. package/dist/cdn/chunks/{IssuesPanel-_5fEnivU.js → IssuesPanel-CTOf3PsH.js} +11 -11
  38. package/dist/cdn/chunks/{IssuesPanel-_5fEnivU.js.map → IssuesPanel-CTOf3PsH.js.map} +1 -1
  39. package/dist/cdn/chunks/{ModuleBrowserModal-DtCksAeW.js → ModuleBrowserModal-DCh88-rr.js} +13 -10
  40. package/dist/cdn/chunks/{ModuleBrowserModal-DtCksAeW.js.map → ModuleBrowserModal-DCh88-rr.js.map} +1 -1
  41. package/dist/cdn/chunks/{ModulePreviewCanvas-CCOvabZd.js → ModulePreviewCanvas-DJqvTKmg.js} +19 -19
  42. package/dist/cdn/chunks/{ModulePreviewCanvas-CCOvabZd.js.map → ModulePreviewCanvas-DJqvTKmg.js.map} +1 -1
  43. package/dist/cdn/chunks/{NumberWithSuffix-cdWjAK6y.js → NumberWithSuffix-Bu45XWSl.js} +5 -5
  44. package/dist/cdn/chunks/{NumberWithSuffix-cdWjAK6y.js.map → NumberWithSuffix-Bu45XWSl.js.map} +1 -1
  45. package/dist/cdn/chunks/{ParagraphEditor-BnhnFOW1.js → ParagraphEditor-DwZqLJp2.js} +131 -111
  46. package/dist/cdn/chunks/ParagraphEditor-DwZqLJp2.js.map +1 -0
  47. package/dist/cdn/chunks/{RichTextEditorContent-DV2yknp8.js → RichTextEditorContent-CIuZ-2DV.js} +5 -5
  48. package/dist/cdn/chunks/{RichTextEditorContent-DV2yknp8.js.map → RichTextEditorContent-CIuZ-2DV.js.map} +1 -1
  49. package/dist/cdn/chunks/{SaveModuleDialog-CCX5U7VA.js → SaveModuleDialog-Bep0X2s_.js} +6 -6
  50. package/dist/cdn/chunks/{SaveModuleDialog-CCX5U7VA.js.map → SaveModuleDialog-Bep0X2s_.js.map} +1 -1
  51. package/dist/cdn/chunks/{TitleEditor-CQqklX0D.js → TitleEditor-DO1-h3RY.js} +62 -46
  52. package/dist/cdn/chunks/TitleEditor-DO1-h3RY.js.map +1 -0
  53. package/dist/cdn/chunks/blockTypeIcons-8o24HVJu.js +22 -0
  54. package/dist/cdn/chunks/{blockTypeIcons-CpGPHppB.js.map → blockTypeIcons-8o24HVJu.js.map} +1 -1
  55. package/dist/cdn/chunks/{de-BpseTWOA.js → de-LsV0u1tP.js} +20 -2
  56. package/dist/cdn/chunks/de-LsV0u1tP.js.map +1 -0
  57. package/dist/cdn/chunks/{draggable-Bci-fq8y.js → draggable-kPCz_3zM.js} +14 -5
  58. package/dist/cdn/chunks/{draggable-Bci-fq8y.js.map → draggable-kPCz_3zM.js.map} +1 -1
  59. package/dist/cdn/chunks/{en-VGIQ0WNq.js → en-Bb8X1bOs.js} +20 -2
  60. package/dist/cdn/chunks/en-Bb8X1bOs.js.map +1 -0
  61. package/dist/cdn/chunks/{extensions-Ds9GnMcd.js → extensions-iwBXnEwq.js} +21 -21
  62. package/dist/cdn/chunks/{extensions-Ds9GnMcd.js.map → extensions-iwBXnEwq.js.map} +1 -1
  63. package/dist/cdn/chunks/{features-DxWz_Enw.js → features-CkTMVylx.js} +996 -817
  64. package/dist/cdn/chunks/features-CkTMVylx.js.map +1 -0
  65. package/dist/cdn/chunks/{icons-BflGUmFY.js → icons-9zjCuoJx.js} +158 -152
  66. package/dist/cdn/chunks/icons-9zjCuoJx.js.map +1 -0
  67. package/dist/cdn/chunks/liquid.browser-DKKBzRQu.js.map +1 -1
  68. package/dist/cdn/chunks/{media-library-C479-QcE.js → media-library-DMRIPx4g.js} +373 -371
  69. package/dist/cdn/chunks/media-library-DMRIPx4g.js.map +1 -0
  70. package/dist/cdn/chunks/{pt-BR-zAqpLQbW.js → pt-BR-BwJY_cvb.js} +20 -2
  71. package/dist/cdn/chunks/pt-BR-BwJY_cvb.js.map +1 -0
  72. package/dist/cdn/chunks/{pusher-BICWUP2j.js → pusher-CdEqyLwF.js} +6 -3
  73. package/dist/cdn/chunks/{pusher-BICWUP2j.js.map → pusher-CdEqyLwF.js.map} +1 -1
  74. package/dist/cdn/chunks/quality-CyeUgs_c.js +2176 -0
  75. package/dist/cdn/chunks/{quality-BL_pEvFP.js.map → quality-CyeUgs_c.js.map} +1 -1
  76. package/dist/cdn/chunks/{renderer-C0vdAODQ.js → renderer-BIKUEKDD.js} +38 -29
  77. package/dist/cdn/chunks/{renderer-C0vdAODQ.js.map → renderer-BIKUEKDD.js.map} +1 -1
  78. package/dist/cdn/chunks/{src-DzvOWQ9S.js → src-pDy_imWG.js} +56 -56
  79. package/dist/cdn/chunks/{src-DzvOWQ9S.js.map → src-pDy_imWG.js.map} +1 -1
  80. package/dist/cdn/chunks/{styles-LfeoSNRA.js → styles-D4Bd3SCx.js} +1356 -905
  81. package/dist/cdn/chunks/styles-D4Bd3SCx.js.map +1 -0
  82. package/dist/cdn/chunks/{tiptap-CwScfbsM.js → tiptap-BlLFFU3M.js} +2233 -2213
  83. package/dist/cdn/chunks/tiptap-BlLFFU3M.js.map +1 -0
  84. package/dist/cdn/editor.css +1 -1
  85. package/dist/cdn/editor.js +101 -97
  86. package/dist/cdn/editor.js.map +1 -1
  87. package/dist/{check-BRzXxFHr.js → check-CYJwFmjy.js} +1 -1
  88. package/dist/{chevron-down-DmEgzmYT.js → chevron-down-C5l-DzAA.js} +1 -1
  89. package/dist/{circle-alert-BStvZr3O.js → circle-alert-wf5HUFZY.js} +1 -1
  90. package/dist/{clock-Blwp_1R6.js → clock-Bj0bQw-K.js} +1 -1
  91. package/dist/{cloud-_olro76D.js → cloud-CoFDm9YA.js} +1 -1
  92. package/dist/{createLucideIcon-CmPAC-gt.js → createLucideIcon-Bad2kKE0.js} +4 -4
  93. package/dist/{de-BpseTWOA.js → de-LsV0u1tP.js} +19 -1
  94. package/dist/{dist-BwgjpLfr.js → dist-34OcyoK1.js} +1 -1
  95. package/dist/{dist-Cz79qrLL.js → dist-B7w6xTU6.js} +1 -1
  96. package/dist/{dist-DULfKmTh.js → dist-BX3gGwL8.js} +5 -5
  97. package/dist/{dist-412xXefB.js → dist-Bn703mnA.js} +1 -1
  98. package/dist/{dist-u0iIJH3V.js → dist-CADDCv0o.js} +1 -1
  99. package/dist/{dist-BNEdeWub.js → dist-CGvz7vkq.js} +1 -1
  100. package/dist/{dist-BlG7k25W.js → dist-CLpPNKy9.js} +1 -1
  101. package/dist/{dist-BCQZZUE9.js → dist-ChMninLH.js} +1 -1
  102. package/dist/{dist-b7Ak-CuM.js → dist-CrQZ_af9.js} +1 -1
  103. package/dist/{dist-DhKTdU52.js → dist-CyjyYg52.js} +1426 -1406
  104. package/dist/{dist-D6x1cQeh.js → dist-Dd3ibRZm.js} +2 -2
  105. package/dist/{dist-DJ9aD8yA.js → dist-DuCzdgDA.js} +54 -5
  106. package/dist/{dist-o73iaGqy.js → dist-U5vfDdYI.js} +1 -1
  107. package/dist/{en-VGIQ0WNq.js → en-Bb8X1bOs.js} +19 -1
  108. package/dist/{extensions-XPlNAKIL.js → extensions-J439b7y7.js} +5 -5
  109. package/dist/{image-up-BFPbw_Zq.js → image-up-x8-WXfsx.js} +1 -1
  110. package/dist/index.d.ts +17 -0
  111. package/dist/{info-B_qLEBN2.js → info-RS_fGcGi.js} +1 -1
  112. package/dist/keys-DgYXDafq.js +10 -0
  113. package/dist/{list-checks-CGg7JxPm.js → list-checks-Bf7XdDyv.js} +1 -1
  114. package/dist/{loader-circle-CDF8eR_Q.js → loader-circle-CLZ0_FvW.js} +1 -1
  115. package/dist/{message-circle-C3cHsCJl.js → message-circle-B-1bN9ab.js} +1 -1
  116. package/dist/{pt-BR-zAqpLQbW.js → pt-BR-BwJY_cvb.js} +19 -1
  117. package/dist/{refresh-cw-Butml7Q4.js → refresh-cw-CWKWqJYG.js} +1 -1
  118. package/dist/scan-line-BtK5dEai.js +31 -0
  119. package/dist/{send-k7npFJNO.js → send-Cn1IUdzh.js} +1 -1
  120. package/dist/{shield-check-CV6GbmCu.js → shield-check-CrvMk4Ea.js} +1 -1
  121. package/dist/{sparkles-C965Xop4.js → sparkles-CgfjwvnG.js} +1 -1
  122. package/dist/style.css +1 -1
  123. package/dist/{styles-DSm9Ijxt.js → styles-BUwDOWd3.js} +1335 -882
  124. package/dist/templatical-editor.js +143 -139
  125. package/dist/{text-align-start-Bxnps8fH.js → text-align-start-C3r_Rnvy.js} +1 -1
  126. package/dist/{trash-2-DpGb7fIt.js → trash-2-CjERg4x9.js} +1 -1
  127. package/dist/{triangle-alert-BKYElAwz.js → triangle-alert-Chkny574.js} +1 -1
  128. package/dist/upload-e5kDRkPb.js +17 -0
  129. package/dist/{useAliveFlag-BinvbqQR.js → useAliveFlag-cUQj9rmB.js} +1 -1
  130. package/dist/{useCloudI18n-L3H2XvdW.js → useCloudI18n-CYJKqXtI.js} +2 -2
  131. package/dist/{useEditorCore-D7dQFRkw.js → useEditorCore-8JxXDOA4.js} +1075 -894
  132. package/dist/{useI18n-CTs_bP9d.js → useI18n-BWqM8i78.js} +2 -2
  133. package/dist/{useMergeTag-e3RSY-s3.js → useMergeTag-NHC4ylza.js} +3 -3
  134. package/dist/usePopoverRoot-B1sdY4es.js +8 -0
  135. package/dist/{vue.runtime.esm-bundler-B2k01iQh.js → vue.runtime.esm-bundler-BPa483TZ.js} +13 -4
  136. package/dist/{x-CGjkjdKK.js → x-DiPIbccg.js} +1 -1
  137. package/package.json +12 -12
  138. package/dist/ModuleBrowserModal-Bz9hSjMS.js +0 -198
  139. package/dist/cdn/chunks/CloudEditor-DSeihOan.js.map +0 -1
  140. package/dist/cdn/chunks/CountdownToolbar-BQn0Kj0X.js.map +0 -1
  141. package/dist/cdn/chunks/ParagraphEditor-BnhnFOW1.js.map +0 -1
  142. package/dist/cdn/chunks/TitleEditor-CQqklX0D.js.map +0 -1
  143. package/dist/cdn/chunks/blockTypeIcons-CpGPHppB.js +0 -22
  144. package/dist/cdn/chunks/de-BpseTWOA.js.map +0 -1
  145. package/dist/cdn/chunks/en-VGIQ0WNq.js.map +0 -1
  146. package/dist/cdn/chunks/features-DxWz_Enw.js.map +0 -1
  147. package/dist/cdn/chunks/icons-BflGUmFY.js.map +0 -1
  148. package/dist/cdn/chunks/media-library-C479-QcE.js.map +0 -1
  149. package/dist/cdn/chunks/pt-BR-zAqpLQbW.js.map +0 -1
  150. package/dist/cdn/chunks/quality-BL_pEvFP.js +0 -2176
  151. package/dist/cdn/chunks/styles-LfeoSNRA.js.map +0 -1
  152. package/dist/cdn/chunks/tiptap-CwScfbsM.js.map +0 -1
  153. package/dist/keys-mFiJ5N0_.js +0 -10
  154. package/dist/scan-line-XYEqim_E.js +0 -25
  155. package/dist/usePopoverRoot-DVh7NY1q.js +0 -8
@@ -1,6 +1,6 @@
1
1
  import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
2
- import { $ as t, D as n, E as r, H as i, J as a, K as o, O as ee, Q as te, R as s, S as c, X as l, b as u, j as d, r as f, rt as ne, x as re } from "./vue.runtime.esm-bundler-B2k01iQh.js";
3
- import { $ as ie, $t as ae, A as oe, At as se, B as ce, Bt as le, C as ue, Ct as p, D as m, Dt as h, E as g, Et as _, F as v, Ft as y, G as b, Gt as x, H as S, Ht as C, I as w, It as T, J as E, Jt as D, K as O, Kt as k, L as A, Lt as j, M, Mt as N, N as P, Nt as F, O as I, Ot as L, P as R, Pt as z, Q as B, Qt as V, R as H, Rt as U, S as de, St as fe, T as pe, Tt as me, U as he, Ut as ge, V as _e, Vt as ve, W as ye, Wt as be, X as xe, Xt as Se, Y as Ce, Yt as we, Z as Te, Zt as Ee, _ as De, _t as Oe, a as ke, an as Ae, at as je, b as Me, bt as Ne, c as Pe, cn as Fe, ct as Ie, d as Le, dn as Re, dt as ze, en as Be, et as Ve, f as W, fn as He, ft as Ue, g as We, gn as Ge, gt as Ke, h as qe, hn as Je, ht as Ye, i as Xe, in as Ze, it as Qe, j as $e, jt as et, k as tt, kt as nt, l as G, ln as rt, lt as it, m as at, mn as ot, mt as st, n as ct, nn as lt, nt as ut, o as dt, on as ft, ot as pt, p as mt, pn as ht, pt as gt, q as _t, qt as vt, r as yt, rn as bt, rt as xt, s as St, sn as Ct, st as wt, t as Tt, tn as Et, tt as Dt, u as Ot, un as kt, ut as At, v as jt, vt as K, w as Mt, wt as Nt, x as Pt, xt as Ft, y as It, yt as Lt, z as Rt, zt } from "./dist-DhKTdU52.js";
2
+ import { $ as t, D as n, E as r, H as i, J as a, K as o, O as ee, Q as te, R as s, S as c, X as l, b as u, j as d, r as f, rt as ne, x as re } from "./vue.runtime.esm-bundler-BPa483TZ.js";
3
+ import { $ as ie, $t as ae, A as oe, At as se, B as ce, Bt as le, C as ue, Ct as p, D as m, Dt as h, E as g, Et as _, F as v, Ft as y, G as b, Gt as x, H as S, Ht as C, I as w, It as T, J as E, Jt as D, K as O, Kt as k, L as A, Lt as j, M, Mt as N, N as P, Nt as F, O as I, Ot as L, P as R, Pt as z, Q as B, Qt as V, R as H, Rt as U, S as de, St as fe, T as pe, Tt as me, U as he, Ut as ge, V as _e, Vt as ve, W as ye, Wt as be, X as xe, Xt as Se, Y as Ce, Yt as we, Z as Te, Zt as Ee, _ as De, _t as Oe, a as ke, an as Ae, at as je, b as Me, bt as Ne, c as Pe, cn as Fe, ct as Ie, d as Le, dn as Re, dt as ze, en as Be, et as Ve, f as W, fn as He, ft as Ue, g as We, gn as Ge, gt as Ke, h as qe, hn as Je, ht as Ye, i as Xe, in as Ze, it as Qe, j as $e, jt as et, k as tt, kt as nt, l as G, ln as rt, lt as it, m as at, mn as ot, mt as st, n as ct, nn as lt, nt as ut, o as dt, on as ft, ot as pt, p as mt, pn as ht, pt as gt, q as _t, qt as vt, r as yt, rn as bt, rt as xt, s as St, sn as Ct, st as wt, t as Tt, tn as Et, tt as Dt, u as Ot, un as kt, ut as At, v as jt, vt as K, w as Mt, wt as Nt, x as Pt, xt as Ft, y as It, yt as Lt, z as Rt, zt } from "./dist-CyjyYg52.js";
4
4
  //#region ../../node_modules/.pnpm/@tiptap+vue-3@3.27.1_@floating-ui+dom@1.7.6_@tiptap+core@3.27.1_@tiptap+pm@3.27.1__@tip_533afe27a0e41f53f3674ff5bfd0331c/node_modules/@tiptap/vue-3/dist/index.js
5
5
  var q = /* @__PURE__ */ e({
6
6
  CommandManager: () => Tt,
@@ -1,4 +1,4 @@
1
- import { C as e, E as t, G as n, L as r, O as i, Q as a, R as o, U as s, X as c, Z as l, d as u, q as d, rt as f, tt as p, w as m, x as h } from "./vue.runtime.esm-bundler-B2k01iQh.js";
1
+ import { C as e, E as t, G as n, L as r, O as i, Q as a, R as o, U as s, X as c, Z as l, d as u, q as d, rt as f, tt as p, w as m, x as h } from "./vue.runtime.esm-bundler-BPa483TZ.js";
2
2
  //#region ../../node_modules/.pnpm/@vueuse+shared@14.3.0_vue@3.5.39_typescript@6.0.3_/node_modules/@vueuse/shared/dist/index.js
3
3
  function g(e, t) {
4
4
  return s() ? (d(e, t), !0) : !1;
@@ -276,7 +276,56 @@ function Z(e, t = {}) {
276
276
  l.value = e.matches;
277
277
  }, { passive: !0 }), u(() => l.value);
278
278
  }
279
- function Q(e, t, n = {}) {
279
+ function Q(e, t = {}) {
280
+ let n = a(!1), r = a(null), i = 0, o = !0;
281
+ if (y) {
282
+ let a = typeof t == "function" ? { onDrop: t } : t, s = a.multiple ?? !0, c = a.preventDefaultForUnhandled ?? !1, l = (e) => {
283
+ let t = Array.from(e.dataTransfer?.files ?? []);
284
+ return t.length === 0 ? null : s ? t : [t[0]];
285
+ }, u = (e) => {
286
+ let t = f(a.dataTypes);
287
+ return typeof t == "function" ? t(e) : t?.length ? e.length === 0 ? !1 : e.every((e) => t.some((t) => e.includes(t))) : !0;
288
+ }, d = (e) => {
289
+ if (a.checkValidity) return a.checkValidity(e);
290
+ let t = u(Array.from(e ?? []).map((e) => e.type)), n = s || e.length <= 1;
291
+ return t && n;
292
+ }, p = () => /^(?:(?!chrome|android).)*safari/i.test(navigator.userAgent) && !("chrome" in window), m = (e, t) => {
293
+ let s = e.dataTransfer?.items;
294
+ if (o = (s && d(s)) ?? !1, c && e.preventDefault(), !p() && !o) {
295
+ e.dataTransfer && (e.dataTransfer.dropEffect = "none");
296
+ return;
297
+ }
298
+ e.preventDefault(), e.dataTransfer && (e.dataTransfer.dropEffect = "copy");
299
+ let u = l(e);
300
+ switch (t) {
301
+ case "enter":
302
+ var f;
303
+ i += 1, n.value = !0, (f = a.onEnter) == null || f.call(a, null, e);
304
+ break;
305
+ case "over":
306
+ var m;
307
+ (m = a.onOver) == null || m.call(a, null, e);
308
+ break;
309
+ case "leave":
310
+ var h;
311
+ --i, i === 0 && (n.value = !1), (h = a.onLeave) == null || h.call(a, null, e);
312
+ break;
313
+ case "drop":
314
+ if (i = 0, n.value = !1, o) {
315
+ var g;
316
+ r.value = u, (g = a.onDrop) == null || g.call(a, u, e);
317
+ }
318
+ break;
319
+ }
320
+ };
321
+ U(e, "dragenter", (e) => m(e, "enter")), U(e, "dragover", (e) => m(e, "over")), U(e, "dragleave", (e) => m(e, "leave")), U(e, "drop", (e) => m(e, "drop"));
322
+ }
323
+ return {
324
+ files: r,
325
+ isOverDropZone: n
326
+ };
327
+ }
328
+ function $(e, t, n = {}) {
280
329
  let { window: i = V, ...a } = n, o, s = /* @__PURE__ */ q(() => i && "ResizeObserver" in i), c = () => {
281
330
  o &&= (o.disconnect(), void 0);
282
331
  }, l = r(u(() => {
@@ -298,7 +347,7 @@ function Q(e, t, n = {}) {
298
347
  stop: d
299
348
  };
300
349
  }
301
- function $(e, t = {}) {
350
+ function ee(e, t = {}) {
302
351
  let { reset: n = !0, windowResize: i = !0, windowScroll: o = !0, immediate: s = !0, updateTiming: c = "sync" } = t, l = a(0), u = a(0), d = a(0), f = a(0), p = a(0), m = a(0), h = a(0), g = a(0);
303
352
  function _() {
304
353
  let t = H(e);
@@ -312,7 +361,7 @@ function $(e, t = {}) {
312
361
  function v() {
313
362
  c === "sync" ? _() : c === "next-frame" && requestAnimationFrame(() => _());
314
363
  }
315
- return Q(e, v), r(() => H(e), (e) => !e && v()), J(e, v, { attributeFilter: ["style", "class"] }), o && U("scroll", v, {
364
+ return $(e, v), r(() => H(e), (e) => !e && v()), J(e, v, { attributeFilter: ["style", "class"] }), o && U("scroll", v, {
316
365
  capture: !0,
317
366
  passive: !0
318
367
  }), i && U("resize", v, { passive: !0 }), F(() => {
@@ -330,4 +379,4 @@ function $(e, t = {}) {
330
379
  };
331
380
  }
332
381
  //#endregion
333
- export { N as a, L as c, Z as i, R as l, $ as n, M as o, U as r, I as s, G as t, z as u };
382
+ export { Z as a, I as c, z as d, U as i, L as l, Q as n, N as o, ee as r, M as s, G as t, R as u };
@@ -1,4 +1,4 @@
1
- import { c as e, qt as t } from "./dist-DhKTdU52.js";
1
+ import { c as e, qt as t } from "./dist-CyjyYg52.js";
2
2
  //#region ../../node_modules/.pnpm/@tiptap+extension-underline@3.27.1_@tiptap+core@3.27.1_@tiptap+pm@3.27.1_/node_modules/@tiptap/extension-underline/dist/index.js
3
3
  var n = e.create({
4
4
  name: "underline",
@@ -101,7 +101,9 @@ var e = {
101
101
  column2: "2 Columns",
102
102
  column3: "3 Columns",
103
103
  ratio12: "1:2 Ratio",
104
- ratio21: "2:1 Ratio"
104
+ ratio21: "2:1 Ratio",
105
+ borderRadius: "Border Radius",
106
+ wrapperEnable: "Add wrapper"
105
107
  },
106
108
  linkDialog: {
107
109
  editLink: "Edit Link",
@@ -146,6 +148,8 @@ var e = {
146
148
  placeholderUrlTooltip: "Since the image URL uses a merge tag, you can provide a real image here to preview the layout while designing. This is not included in the final output.",
147
149
  clickToAdd: "Click to add image URL",
148
150
  browseMedia: "Browse Media",
151
+ dropToUpload: "Drop image to upload",
152
+ uploading: "Uploading…",
149
153
  decorative: "Decorative image",
150
154
  decorativeHint: "Hidden from screen readers. Use only for spacers and visual flourishes."
151
155
  },
@@ -390,6 +394,7 @@ var e = {
390
394
  clickToEdit: "Click to edit",
391
395
  remove: "Remove merge tag",
392
396
  insert: "Insert merge tag",
397
+ insertShort: "Merge tag",
393
398
  editValue: "Edit merge tag value",
394
399
  deleteMergeTag: "Delete merge tag",
395
400
  suggestionEmpty: "No matching merge tags",
@@ -405,6 +410,19 @@ var e = {
405
410
  groupCount: "{count}"
406
411
  }
407
412
  },
413
+ logicTag: {
414
+ insert: "Insert logic",
415
+ insertShort: "Logic",
416
+ picker: {
417
+ title: "Insert logic",
418
+ searchPlaceholder: "Search logic tags",
419
+ searchAriaLabel: "Search logic tags",
420
+ noResults: "No matching logic tags",
421
+ empty: "No logic tags configured",
422
+ otherGroup: "Other",
423
+ close: "Close"
424
+ }
425
+ },
408
426
  canvas: {
409
427
  noBlocks: "No blocks yet",
410
428
  dragHint: "Start from scratch by dragging blocks from the sidebar",
@@ -1,9 +1,9 @@
1
- import { A as e, B as t, E as n, M as r, S as i, X as a, a as o, at as s, b as c, c as l, d as u, f as d, h as f, l as p, m, n as h, ot as g, p as _, rt as v, s as y, st as b, z as x } from "./vue.runtime.esm-bundler-B2k01iQh.js";
1
+ import { A as e, B as t, E as n, M as r, S as i, X as a, a as o, at as s, b as c, c as l, d as u, f as d, h as f, l as p, m, n as h, ot as g, p as _, rt as v, s as y, st as b, z as x } from "./vue.runtime.esm-bundler-BPa483TZ.js";
2
2
  import { O as S, T as C, r as w, w as T } from "./dist-BctFrpeA.js";
3
- import { t as ee } from "./useI18n-CTs_bP9d.js";
4
- import { t as E } from "./useMergeTag-e3RSY-s3.js";
5
- import { F as D, Sn as O, i as k, o as A, p as j, qt as M, u as te, vn as ne, xn as re, yn as ie } from "./dist-DhKTdU52.js";
6
- import { n as ae, t as oe } from "./dist-D6x1cQeh.js";
3
+ import { t as ee } from "./useI18n-BWqM8i78.js";
4
+ import { t as E } from "./useMergeTag-NHC4ylza.js";
5
+ import { F as D, Sn as O, i as k, o as A, p as j, qt as M, u as te, vn as ne, xn as re, yn as ie } from "./dist-CyjyYg52.js";
6
+ import { n as ae, t as oe } from "./dist-Dd3ibRZm.js";
7
7
  //#region src/extensions/FontSize.ts
8
8
  var se = k.create({
9
9
  name: "fontSize",
@@ -1,4 +1,4 @@
1
- import { t as e } from "./createLucideIcon-CmPAC-gt.js";
1
+ import { t as e } from "./createLucideIcon-Bad2kKE0.js";
2
2
  var t = e("image-up", [
3
3
  ["path", {
4
4
  d: "M10.3 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10l-3.1-3.1a2 2 0 0 0-2.814.014L6 21",
package/dist/index.d.ts CHANGED
@@ -9,6 +9,9 @@ import { CustomFont } from '@templatical/types';
9
9
  import { DisplayConditionsConfig } from '@templatical/types';
10
10
  import { FontsConfig } from '@templatical/types';
11
11
  import { LintOptions } from '@templatical/quality';
12
+ import { LogicPair } from '@templatical/types';
13
+ import { LogicTag } from '@templatical/types';
14
+ import { LogicTagsConfig } from '@templatical/types';
12
15
  import type { McpConfig } from '@templatical/types';
13
16
  import type { MediaItem } from '@templatical/media-library';
14
17
  import type { MediaRequestContext } from '@templatical/media-library';
@@ -79,6 +82,12 @@ export declare function isCloudLocaleSupported(locale: string): boolean;
79
82
  /** Check if a locale has OSS translations (matched by exact locale, then base). */
80
83
  export declare function isLocaleSupported(locale: string): boolean;
81
84
 
85
+ export { LogicPair }
86
+
87
+ export { LogicTag }
88
+
89
+ export { LogicTagsConfig }
90
+
82
91
  export { MergeTagsConfig }
83
92
 
84
93
  /** Function type for media browser requests, used by both OSS and Cloud editors. */
@@ -173,6 +182,7 @@ export declare interface TemplaticalCloudEditorConfig {
173
182
  autoSave?: boolean;
174
183
  autoSaveDebounce?: number;
175
184
  mergeTags?: MergeTagsConfig;
185
+ logicTags?: LogicTagsConfig;
176
186
  displayConditions?: DisplayConditionsConfig;
177
187
  customBlocks?: CustomBlockDefinition[];
178
188
  /**
@@ -263,6 +273,13 @@ export declare interface TemplaticalEditorConfig {
263
273
  onError?: (error: Error) => void;
264
274
  onRequestMedia?: OnRequestMedia;
265
275
  mergeTags?: MergeTagsConfig;
276
+ /**
277
+ * Standalone logic tags — control-flow tokens (`{% else %}`) and open/close
278
+ * pairs (`{% if %}` … `{% endif %}`) inserted from a dedicated "Insert logic"
279
+ * button. Separate from `mergeTags`; typed/pasted logic is highlighted
280
+ * regardless of this config.
281
+ */
282
+ logicTags?: LogicTagsConfig;
266
283
  displayConditions?: DisplayConditionsConfig;
267
284
  customBlocks?: CustomBlockDefinition[];
268
285
  /**
@@ -1,4 +1,4 @@
1
- import { t as e } from "./createLucideIcon-CmPAC-gt.js";
1
+ import { t as e } from "./createLucideIcon-Bad2kKE0.js";
2
2
  var t = e("info", [
3
3
  ["circle", {
4
4
  cx: "12",
@@ -0,0 +1,10 @@
1
+ import { w as e } from "./vue.runtime.esm-bundler-BPa483TZ.js";
2
+ //#region src/keys.ts
3
+ var t = Symbol("translations"), n = Symbol("editor"), r = Symbol("history"), i = Symbol("blockActions"), a = Symbol("conditionPreview"), o = Symbol("fontsManager"), s = Symbol("themeStyles"), c = Symbol("tplUiTheme"), l = Symbol("blockDefaults"), u = Symbol("blockRegistry"), d = Symbol("customBlockDefinitions"), f = Symbol("paletteBlocks"), p = Symbol("customBlockStylesheets"), m = Symbol("mergeTags"), h = Symbol("mergeTagSyntax"), g = Symbol("onRequestMergeTag"), _ = Symbol("mergeTagAutocomplete"), v = Symbol("mergeTagPicker"), y = Symbol("logicTags"), b = Symbol("logicPairs"), x = Symbol("logicPicker"), S = Symbol("onRequestLogic"), C = Symbol("onRequestMedia"), w = Symbol("displayConditions"), T = Symbol("allowCustomConditions"), E = Symbol("capabilities"), D = Symbol("keyboardReorder"), O = Symbol("templateLint"), k = Symbol("editorRoot"), A = Symbol("popoverRoot"), j = Symbol("authManager"), M = Symbol("aiConfig"), N = Symbol("comments"), P = Symbol("savedModulesHeadless"), F = Symbol("scoring"), I = Symbol("cloudTranslations");
4
+ function L(t, n) {
5
+ let r = e(t, null);
6
+ if (r == null) throw Error(`${n} requires a provider for ${t.description ?? "unknown key"}. Ensure it is a descendant of Editor or CloudEditor.`);
7
+ return r;
8
+ }
9
+ //#endregion
10
+ export { A, _ as C, C as D, S as E, t as F, c as I, L, F as M, O as N, g as O, s as P, m as S, h as T, r as _, l as a, y as b, I as c, d, p as f, o as g, k as h, i, P as j, f as k, N as l, n as m, T as n, u as o, w as p, j as r, E as s, M as t, a as u, D as v, v as w, x, b as y };
@@ -1,4 +1,4 @@
1
- import { t as e } from "./createLucideIcon-CmPAC-gt.js";
1
+ import { t as e } from "./createLucideIcon-Bad2kKE0.js";
2
2
  var t = e("list-checks", [
3
3
  ["path", {
4
4
  d: "M13 5h8",
@@ -1,4 +1,4 @@
1
- import { t as e } from "./createLucideIcon-CmPAC-gt.js";
1
+ import { t as e } from "./createLucideIcon-Bad2kKE0.js";
2
2
  var t = e("loader-circle", [["path", {
3
3
  d: "M21 12a9 9 0 1 1-6.219-8.56",
4
4
  key: "13zald"
@@ -1,4 +1,4 @@
1
- import { t as e } from "./createLucideIcon-CmPAC-gt.js";
1
+ import { t as e } from "./createLucideIcon-Bad2kKE0.js";
2
2
  var t = e("message-circle", [["path", {
3
3
  d: "M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719",
4
4
  key: "1sd12s"
@@ -101,7 +101,9 @@ var e = {
101
101
  column2: "2 Colunas",
102
102
  column3: "3 Colunas",
103
103
  ratio12: "Proporção 1:2",
104
- ratio21: "Proporção 2:1"
104
+ ratio21: "Proporção 2:1",
105
+ borderRadius: "Arredondamento das Bordas",
106
+ wrapperEnable: "Adicionar wrapper"
105
107
  },
106
108
  linkDialog: {
107
109
  editLink: "Editar Link",
@@ -146,6 +148,8 @@ var e = {
146
148
  placeholderUrlTooltip: "Como a URL da imagem usa uma merge tag, você pode fornecer uma imagem real aqui para visualizar o layout durante o design. Isso não é incluído na saída final.",
147
149
  clickToAdd: "Clique para adicionar a URL da imagem",
148
150
  browseMedia: "Explorar Mídia",
151
+ dropToUpload: "Solte a imagem para enviar",
152
+ uploading: "Enviando…",
149
153
  decorative: "Imagem decorativa",
150
154
  decorativeHint: "Oculta para leitores de tela. Use apenas para espaçadores e elementos visuais."
151
155
  },
@@ -390,6 +394,7 @@ var e = {
390
394
  clickToEdit: "Clique para editar",
391
395
  remove: "Remover merge tag",
392
396
  insert: "Inserir merge tag",
397
+ insertShort: "Merge tag",
393
398
  editValue: "Editar valor da merge tag",
394
399
  deleteMergeTag: "Excluir merge tag",
395
400
  suggestionEmpty: "Nenhuma merge tag correspondente",
@@ -405,6 +410,19 @@ var e = {
405
410
  groupCount: "{count}"
406
411
  }
407
412
  },
413
+ logicTag: {
414
+ insert: "Inserir lógica",
415
+ insertShort: "Lógica",
416
+ picker: {
417
+ title: "Inserir lógica",
418
+ searchPlaceholder: "Buscar tags de lógica",
419
+ searchAriaLabel: "Buscar tags de lógica",
420
+ noResults: "Nenhuma tag de lógica correspondente",
421
+ empty: "Nenhuma tag de lógica configurada",
422
+ otherGroup: "Outros",
423
+ close: "Fechar"
424
+ }
425
+ },
408
426
  canvas: {
409
427
  noBlocks: "Nenhum bloco ainda",
410
428
  dragHint: "Comece do zero arrastando blocos da barra lateral",
@@ -1,4 +1,4 @@
1
- import { t as e } from "./createLucideIcon-CmPAC-gt.js";
1
+ import { t as e } from "./createLucideIcon-Bad2kKE0.js";
2
2
  var t = e("eye", [["path", {
3
3
  d: "M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",
4
4
  key: "1nclc0"
@@ -0,0 +1,31 @@
1
+ import { t as e } from "./createLucideIcon-Bad2kKE0.js";
2
+ var t = e("braces", [["path", {
3
+ d: "M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1",
4
+ key: "ezmyqa"
5
+ }], ["path", {
6
+ d: "M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1",
7
+ key: "e1hn23"
8
+ }]]), n = e("scan-line", [
9
+ ["path", {
10
+ d: "M3 7V5a2 2 0 0 1 2-2h2",
11
+ key: "aa7l1z"
12
+ }],
13
+ ["path", {
14
+ d: "M17 3h2a2 2 0 0 1 2 2v2",
15
+ key: "4qcy5o"
16
+ }],
17
+ ["path", {
18
+ d: "M21 17v2a2 2 0 0 1-2 2h-2",
19
+ key: "6vwrx8"
20
+ }],
21
+ ["path", {
22
+ d: "M7 21H5a2 2 0 0 1-2-2v-2",
23
+ key: "ioqczr"
24
+ }],
25
+ ["path", {
26
+ d: "M7 12h10",
27
+ key: "b7w52i"
28
+ }]
29
+ ]);
30
+ //#endregion
31
+ export { t as n, n as t };
@@ -1,4 +1,4 @@
1
- import { t as e } from "./createLucideIcon-CmPAC-gt.js";
1
+ import { t as e } from "./createLucideIcon-Bad2kKE0.js";
2
2
  var t = e("send", [["path", {
3
3
  d: "M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",
4
4
  key: "1ffxy3"
@@ -1,4 +1,4 @@
1
- import { t as e } from "./createLucideIcon-CmPAC-gt.js";
1
+ import { t as e } from "./createLucideIcon-Bad2kKE0.js";
2
2
  var t = e("shield-check", [["path", {
3
3
  d: "M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",
4
4
  key: "oel41y"
@@ -1,4 +1,4 @@
1
- import { t as e } from "./createLucideIcon-CmPAC-gt.js";
1
+ import { t as e } from "./createLucideIcon-Bad2kKE0.js";
2
2
  var t = e("sparkles", [
3
3
  ["path", {
4
4
  d: "M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",