@templatical/editor 0.0.6 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (159) hide show
  1. package/LICENSE +56 -0
  2. package/README.md +69 -0
  3. package/dist/{AiChatSidebar-CNhSl_ty.js → AiChatSidebar-DgAjDWO1.js} +68 -68
  4. package/dist/{AiFeatureMenu-BFVsjUJY.js → AiFeatureMenu-j6oaiRVi.js} +25 -25
  5. package/dist/{CloudEditor-Bz5Xkxej.js → CloudEditor-yCOkIkZ-.js} +428 -437
  6. package/dist/{CollaboratorBar-D2Gu5Xj2.js → CollaboratorBar-CWVdp2Y6.js} +23 -23
  7. package/dist/CommentsSidebar-CSPHhbQH.js +439 -0
  8. package/dist/CountdownBlock-DK6P_RaQ.js +92 -0
  9. package/dist/CountdownToolbar-Dv-Sz4ui.js +210 -0
  10. package/dist/{DesignReferenceSidebar-u2tKSQK0.js → DesignReferenceSidebar-D7zfvux6.js} +58 -58
  11. package/dist/LoadingTrack-Cdz2SSq9.js +10 -0
  12. package/dist/ModuleBrowserModal-BLYuCZht.js +205 -0
  13. package/dist/ModulePreviewCanvas-CHYqP6K3.js +106 -0
  14. package/dist/NumberWithSuffix-D-5-AZc3.js +424 -0
  15. package/dist/{ParagraphEditor-CYrzYJO5.js → ParagraphEditor-DivLBNWv.js} +237 -236
  16. package/dist/{RichTextEditorContent-BeqlWlWB.js → RichTextEditorContent-G1lXgVJR.js} +42 -42
  17. package/dist/{SaveModuleDialog-Kde6X13X.js → SaveModuleDialog-DGVfiOmE.js} +29 -29
  18. package/dist/{SnapshotHistory-B3EfIcLW.js → SnapshotHistory-DM__MqSu.js} +38 -38
  19. package/dist/{TemplateScoringPanel-D2vCRGgx.js → TemplateScoringPanel-CW13Tlol.js} +80 -80
  20. package/dist/{TestEmailModal-Egk0DFDf.js → TestEmailModal-B8bYqWCY.js} +28 -28
  21. package/dist/TitleEditor-4Jrp3C4m.js +167 -0
  22. package/dist/{TplModal-BCruYWks.js → TplModal-BkoIz0oz.js} +14 -14
  23. package/dist/{_plugin-vue_export-helper-5TQrnOhO.js → _plugin-vue_export-helper-OO6pH1Dh.js} +11 -11
  24. package/dist/{blockTypeIcons-rW4BUUNC.js → blockTypeIcons-4AS3CvXn.js} +2 -2
  25. package/dist/cdn/chunks/{AiFeatureMenu-Dcbshcfu.js → AiFeatureMenu-BcHyzTQy.js} +4 -4
  26. package/dist/cdn/chunks/{AiFeatureMenu-Dcbshcfu.js.map → AiFeatureMenu-BcHyzTQy.js.map} +1 -1
  27. package/dist/cdn/chunks/{CloudEditor-Bca3RyBW.js → CloudEditor-TaEZq-YW.js} +179 -188
  28. package/dist/cdn/chunks/CloudEditor-TaEZq-YW.js.map +1 -0
  29. package/dist/cdn/chunks/{CollaboratorBar-sToKJfHi.js → CollaboratorBar-DbC5-3If.js} +4 -4
  30. package/dist/cdn/chunks/{CollaboratorBar-sToKJfHi.js.map → CollaboratorBar-DbC5-3If.js.map} +1 -1
  31. package/dist/cdn/chunks/CountdownBlock-CfPmCQ7j.js +93 -0
  32. package/dist/cdn/chunks/CountdownBlock-CfPmCQ7j.js.map +1 -0
  33. package/dist/cdn/chunks/CountdownToolbar-CB0EVxwN.js +212 -0
  34. package/dist/cdn/chunks/CountdownToolbar-CB0EVxwN.js.map +1 -0
  35. package/dist/cdn/chunks/{ModuleBrowserModal-BNhwXbWw.js → ModuleBrowserModal-Df2fp9dj.js} +7 -7
  36. package/dist/cdn/chunks/{ModuleBrowserModal-BNhwXbWw.js.map → ModuleBrowserModal-Df2fp9dj.js.map} +1 -1
  37. package/dist/cdn/chunks/{ModulePreviewCanvas-DylUylPU.js → ModulePreviewCanvas-Dw1OCpvV.js} +19 -19
  38. package/dist/cdn/chunks/{ModulePreviewCanvas-DylUylPU.js.map → ModulePreviewCanvas-Dw1OCpvV.js.map} +1 -1
  39. package/dist/cdn/chunks/NumberWithSuffix-BU6ycXyG.js +425 -0
  40. package/dist/cdn/chunks/NumberWithSuffix-BU6ycXyG.js.map +1 -0
  41. package/dist/cdn/chunks/{ParagraphEditor-BBw90y_p.js → ParagraphEditor-BMRNg_BX.js} +37 -37
  42. package/dist/cdn/chunks/{ParagraphEditor-BBw90y_p.js.map → ParagraphEditor-BMRNg_BX.js.map} +1 -1
  43. package/dist/cdn/chunks/{RichTextEditorContent-DvyIO3nR.js → RichTextEditorContent-BKYY1YMZ.js} +5 -5
  44. package/dist/cdn/chunks/{RichTextEditorContent-DvyIO3nR.js.map → RichTextEditorContent-BKYY1YMZ.js.map} +1 -1
  45. package/dist/cdn/chunks/{SaveModuleDialog-DvbSHvhF.js → SaveModuleDialog-D977Tg7t.js} +5 -5
  46. package/dist/cdn/chunks/{SaveModuleDialog-DvbSHvhF.js.map → SaveModuleDialog-D977Tg7t.js.map} +1 -1
  47. package/dist/cdn/chunks/{TitleEditor-tS3mgoVr.js → TitleEditor-q9IzNy38.js} +11 -11
  48. package/dist/cdn/chunks/{TitleEditor-tS3mgoVr.js.map → TitleEditor-q9IzNy38.js.map} +1 -1
  49. package/dist/cdn/chunks/{blockTypeIcons-DbnbyEQE.js → blockTypeIcons-L0fRc3qs.js} +3 -3
  50. package/dist/cdn/chunks/{blockTypeIcons-DbnbyEQE.js.map → blockTypeIcons-L0fRc3qs.js.map} +1 -1
  51. package/dist/cdn/chunks/{de-CgUR_S5I.js → de-3exf7MYE.js} +1 -1
  52. package/dist/cdn/chunks/{de-CgUR_S5I.js.map → de-3exf7MYE.js.map} +1 -1
  53. package/dist/cdn/chunks/{de-D8oDPhBD.js → de-C8LxVUsb.js} +1 -1
  54. package/dist/cdn/chunks/{de-D8oDPhBD.js.map → de-C8LxVUsb.js.map} +1 -1
  55. package/dist/cdn/chunks/{dist-BUmN5e4r.js → dist-D5g00M8N.js} +6 -2
  56. package/dist/cdn/chunks/dist-D5g00M8N.js.map +1 -0
  57. package/dist/cdn/chunks/{draggable-m78lz0gI.js → draggable-Bcb86AsV.js} +5 -5
  58. package/dist/cdn/chunks/draggable-Bcb86AsV.js.map +1 -0
  59. package/dist/cdn/chunks/{emojiData-CNNgvDqx.js → emojiData-DUHzsh4j.js} +1 -1
  60. package/dist/cdn/chunks/{emojiData-CNNgvDqx.js.map → emojiData-DUHzsh4j.js.map} +1 -1
  61. package/dist/cdn/chunks/{en-HseRPPeK.js → en-BoEycuqw.js} +1 -1
  62. package/dist/cdn/chunks/{en-HseRPPeK.js.map → en-BoEycuqw.js.map} +1 -1
  63. package/dist/cdn/chunks/{en-BBmfBDqY.js → en-KNPUKxYp.js} +1 -1
  64. package/dist/cdn/chunks/{en-BBmfBDqY.js.map → en-KNPUKxYp.js.map} +1 -1
  65. package/dist/cdn/chunks/{extensions-ClpY3m0W.js → extensions-BZ1POyiv.js} +11 -11
  66. package/dist/cdn/chunks/{extensions-ClpY3m0W.js.map → extensions-BZ1POyiv.js.map} +1 -1
  67. package/dist/cdn/chunks/{features-B5dGxWLi.js → features-Ccqmm6-M.js} +549 -627
  68. package/dist/cdn/chunks/features-Ccqmm6-M.js.map +1 -0
  69. package/dist/cdn/chunks/{icons-hflTyPmb.js → icons-x53__2GC.js} +8 -8
  70. package/dist/cdn/chunks/icons-x53__2GC.js.map +1 -0
  71. package/dist/cdn/chunks/{liquid.browser-BxyRVCKv.js → liquid.browser-CEMn-ZqL.js} +2 -2
  72. package/dist/cdn/chunks/liquid.browser-CEMn-ZqL.js.map +1 -0
  73. package/dist/cdn/chunks/{media-library-Dgy-V-JA.js → media-library-DUoQk-w7.js} +97 -97
  74. package/dist/cdn/chunks/media-library-DUoQk-w7.js.map +1 -0
  75. package/dist/cdn/chunks/{pusher-D-m2WSdL.js → pusher-DwSQn6BA.js} +2 -2
  76. package/dist/cdn/chunks/pusher-DwSQn6BA.js.map +1 -0
  77. package/dist/cdn/chunks/{src-TDwMmqm0.js → src-DskCIAr8.js} +8 -8
  78. package/dist/cdn/chunks/{src-TDwMmqm0.js.map → src-DskCIAr8.js.map} +1 -1
  79. package/dist/cdn/chunks/{styleConstants-DFe3I4Op.js → styleConstants-DP1VOca8.js} +1 -1
  80. package/dist/cdn/chunks/{styleConstants-DFe3I4Op.js.map → styleConstants-DP1VOca8.js.map} +1 -1
  81. package/dist/cdn/chunks/{styles-hCOCOR6K.js → styles-BIlpNe52.js} +622 -1238
  82. package/dist/cdn/chunks/styles-BIlpNe52.js.map +1 -0
  83. package/dist/cdn/chunks/{tiptap-C28NLMX8.js → tiptap-hPC_BgDO.js} +850 -826
  84. package/dist/cdn/chunks/tiptap-hPC_BgDO.js.map +1 -0
  85. package/dist/cdn/editor.css +1 -1
  86. package/dist/cdn/editor.js +92 -97
  87. package/dist/cdn/editor.js.map +1 -1
  88. package/dist/{check-B5S-C0bz.js → check-Bff5NzCh.js} +1 -1
  89. package/dist/{chevron-down-CjsV1T0W.js → chevron-down-Bbv4SJwx.js} +1 -1
  90. package/dist/{circle-alert-CVTmJHKW.js → circle-alert-Dpr8MgkR.js} +1 -1
  91. package/dist/{clock-CAjdSHBy.js → clock-raVPKfl4.js} +1 -1
  92. package/dist/{dist-DJrDTuRr.js → dist-BHgEdO-M.js} +1001 -983
  93. package/dist/dist-BibwE8Y0.js +5 -0
  94. package/dist/{dist-DPM-DFvh.js → dist-BnlZ_HwX.js} +340 -340
  95. package/dist/{dist-BTtKPcd2.js → dist-C9yhcxsf.js} +2 -2
  96. package/dist/{dist-COguaIvm.js → dist-CGffNO8z.js} +2 -2
  97. package/dist/dist-CfGpCUSx.js +5 -0
  98. package/dist/{dist-COOFiBFV.js → dist-Chd-H2S3.js} +5 -5
  99. package/dist/{dist-DfqLGwSF.js → dist-Cq0OFLMj.js} +2 -2
  100. package/dist/{dist-B4LTlrAn.js → dist-D42og5Sc.js} +191 -185
  101. package/dist/{dist-CBr-qhie.js → dist-Owxo48fF.js} +2 -2
  102. package/dist/{dist-Crqkuf-w.js → dist-UZ8UzVZ-.js} +15 -15
  103. package/dist/dist-n0PkFNGl.js +314 -0
  104. package/dist/{dist-DHYuVJ_7.js → dist-skgH9dyo.js} +2 -2
  105. package/dist/{extensions-C6xp_B7K.js → extensions-DQKaICBH.js} +81 -81
  106. package/dist/{image-up-vZa1Txr-.js → image-up-B1AEiHCh.js} +1 -1
  107. package/dist/index.d.ts +17 -6
  108. package/dist/{keys-C0MQRs8d.js → keys-CIw9mUI2.js} +1 -1
  109. package/dist/{liquid.browser-C02owkex.js → liquid.browser-Bm53dnK1.js} +1 -1
  110. package/dist/{loader-circle-DilFjHSk.js → loader-circle-BYeKJ3to.js} +1 -1
  111. package/dist/{message-circle-Dpcnc2oa.js → message-circle-PhNlI7e7.js} +1 -1
  112. package/dist/{refresh-cw-4r7rkHHX.js → refresh-cw-DhDYRBDd.js} +1 -1
  113. package/dist/{rolldown-runtime-gEudmnaM.js → rolldown-runtime-BZGGJVDF.js} +2 -5
  114. package/dist/{scan-line-684IxPQ0.js → scan-line-Bw8bauvt.js} +1 -1
  115. package/dist/{send-ChDw64yL.js → send-CJPSzbLO.js} +1 -1
  116. package/dist/{shield-check-9dhLdyST.js → shield-check-DdEvVYMH.js} +1 -1
  117. package/dist/{sparkles-Co9fkDcv.js → sparkles-DT_27AYs.js} +1 -1
  118. package/dist/style.css +2 -0
  119. package/dist/{styleConstants-RV3eYwkD.js → styleConstants-Dqz9z3aa.js} +6 -45
  120. package/dist/styles-tcwlvlEB.js +2942 -0
  121. package/dist/templatical-editor.js +114 -119
  122. package/dist/text-align-start-4Hx15GUf.js +43 -0
  123. package/dist/{trash-2-CZkMtjeC.js → trash-2-BY-xp5hg.js} +1 -1
  124. package/dist/{triangle-alert-Dvt51agD.js → triangle-alert-DG72vdb2.js} +1 -1
  125. package/dist/useEditorCore-DMH2QpUL.js +8946 -0
  126. package/dist/{useI18n-D6m7ZUgY.js → useI18n-B8CN2iWs.js} +4 -4
  127. package/dist/{useMergeTag-CSXcnFBc.js → useMergeTag-Dz_Dx2Jz.js} +3 -3
  128. package/dist/vue.runtime.esm-bundler-DryoQb-v.js +5775 -0
  129. package/dist/{x-CU2XZOkQ.js → x-D-7GkO6Z.js} +1 -1
  130. package/package.json +31 -15
  131. package/dist/CommentsSidebar-CTeEAZTj.js +0 -439
  132. package/dist/LoadingTrack--aUassFH.js +0 -10
  133. package/dist/ModuleBrowserModal-DNxODPlX.js +0 -205
  134. package/dist/ModulePreviewCanvas-DnGe1Y-2.js +0 -106
  135. package/dist/TitleEditor-DwUpo4gF.js +0 -167
  136. package/dist/cdn/chunks/CloudEditor-Bca3RyBW.js.map +0 -1
  137. package/dist/cdn/chunks/dist-BUmN5e4r.js.map +0 -1
  138. package/dist/cdn/chunks/draggable-m78lz0gI.js.map +0 -1
  139. package/dist/cdn/chunks/features-B5dGxWLi.js.map +0 -1
  140. package/dist/cdn/chunks/icons-hflTyPmb.js.map +0 -1
  141. package/dist/cdn/chunks/liquid.browser-BxyRVCKv.js.map +0 -1
  142. package/dist/cdn/chunks/media-library-Dgy-V-JA.js.map +0 -1
  143. package/dist/cdn/chunks/pusher-D-m2WSdL.js.map +0 -1
  144. package/dist/cdn/chunks/styles-hCOCOR6K.js.map +0 -1
  145. package/dist/cdn/chunks/tiptap-C28NLMX8.js.map +0 -1
  146. package/dist/dist-Ac4o1O4a.js +0 -314
  147. package/dist/dist-DEJZ9iAU.js +0 -5
  148. package/dist/dist-DmVOCJjI.js +0 -5
  149. package/dist/styles-nvxFh6L6.js +0 -3557
  150. package/dist/templatical-editor.css +0 -2
  151. package/dist/templatical-editor.umd.cjs +0 -178
  152. package/dist/useEditorCore-ColJh1ST.js +0 -5695
  153. /package/dist/cdn/chunks/{_rolldown_dynamic_import_helper-DMEI4TQ3.js → _rolldown_dynamic_import_helper-BRcA6nWq.js} +0 -0
  154. /package/dist/{de-Dh8ON-dm.js → de-CN0xu_Tp.js} +0 -0
  155. /package/dist/{emojiData-Qc8mH_zW.js → emojiData-CwKEDxVf.js} +0 -0
  156. /package/dist/{en-C7IShRSD.js → en-DXvHkaUF.js} +0 -0
  157. /package/dist/{formatRelativeTime-D8f6NR7i.js → formatRelativeTime-BSpx5DHC.js} +0 -0
  158. /package/dist/{readableTextColor-B809bF5J.js → readableTextColor-CYCxm1jQ.js} +0 -0
  159. /package/dist/{timeouts-CmBrLeZA.js → timeouts-BSGxjuUF.js} +0 -0
@@ -0,0 +1,210 @@
1
+ import { Ct as e, M as t, Ot as n, P as r, S as i, V as a, _ as o, b as s, d as c, h as l, m as u, p as d, tt as f, y as p } from "./vue.runtime.esm-bundler-DryoQb-v.js";
2
+ import { t as m } from "./useI18n-B8CN2iWs.js";
3
+ import { f as h } from "./styleConstants-Dqz9z3aa.js";
4
+ import { i as g, n as _, r as v, t as y } from "./NumberWithSuffix-D-5-AZc3.js";
5
+ //#region src/components/toolbar/CheckboxItem.vue?vue&type=script&setup=true&lang.ts
6
+ var b = { class: "tpl:flex tpl:cursor-pointer tpl:items-center tpl:gap-2 tpl:text-[12px] tpl:text-[var(--tpl-text)]" }, x = ["checked"], S = /* @__PURE__ */ i({
7
+ __name: "CheckboxItem",
8
+ props: {
9
+ modelValue: { type: Boolean },
10
+ label: {}
11
+ },
12
+ emits: ["update:modelValue"],
13
+ setup(e, { emit: r }) {
14
+ let i = r;
15
+ return (r, a) => (t(), o("label", b, [u("input", {
16
+ type: "checkbox",
17
+ class: "tpl:size-3.5 tpl:cursor-pointer tpl:accent-[var(--tpl-primary)]",
18
+ checked: e.modelValue,
19
+ onChange: a[0] ||= (e) => i("update:modelValue", e.target.checked)
20
+ }, null, 40, x), p(" " + n(e.label), 1)]));
21
+ }
22
+ }), C = ["value"], w = ["value"], T = ["value"], E = { class: "tpl:grid tpl:grid-cols-2 tpl:gap-2" }, D = ["value"], O = { value: "" }, k = ["value"], A = { class: "tpl:grid tpl:grid-cols-2 tpl:gap-3" }, j = { class: "tpl:grid tpl:grid-cols-2 tpl:gap-3" }, M = { class: "tpl:grid tpl:grid-cols-2 tpl:gap-2" }, N = [
23
+ "value",
24
+ "placeholder",
25
+ "onInput"
26
+ ], P = ["value", "placeholder"], F = ["value"], I = /* @__PURE__ */ i({
27
+ __name: "CountdownToolbar",
28
+ props: {
29
+ block: {},
30
+ fontFamilies: {}
31
+ },
32
+ emits: ["update"],
33
+ setup(i, { emit: p }) {
34
+ let b = p, { t: x } = m(), I = [
35
+ "UTC",
36
+ "America/New_York",
37
+ "America/Chicago",
38
+ "America/Denver",
39
+ "America/Los_Angeles",
40
+ "Europe/London",
41
+ "Europe/Berlin",
42
+ "Europe/Paris",
43
+ "Europe/Moscow",
44
+ "Asia/Dubai",
45
+ "Asia/Kolkata",
46
+ "Asia/Shanghai",
47
+ "Asia/Tokyo",
48
+ "Australia/Sydney",
49
+ "Pacific/Auckland"
50
+ ], L = [
51
+ {
52
+ value: ":",
53
+ label: ":"
54
+ },
55
+ {
56
+ value: "-",
57
+ label: "-"
58
+ },
59
+ {
60
+ value: " ",
61
+ label: "␣"
62
+ }
63
+ ], R = [
64
+ "Days",
65
+ "Hours",
66
+ "Minutes",
67
+ "Seconds"
68
+ ], z = d(() => R.map((e) => ({
69
+ unit: e,
70
+ showKey: `show${e}`,
71
+ labelKey: `label${e}`,
72
+ translationKey: e.toLowerCase()
73
+ })));
74
+ function B(e, t) {
75
+ b("update", { [e]: t });
76
+ }
77
+ return (d, p) => (t(), o(c, null, [
78
+ s(_, { label: f(x).countdown.targetDate }, {
79
+ default: a(() => [u("input", {
80
+ type: "datetime-local",
81
+ class: e(f(h)),
82
+ value: i.block.targetDate,
83
+ onInput: p[0] ||= (e) => B("targetDate", e.target.value)
84
+ }, null, 42, C)]),
85
+ _: 1
86
+ }, 8, ["label"]),
87
+ s(_, { label: f(x).countdown.timezone }, {
88
+ default: a(() => [u("select", {
89
+ class: e(f(h)),
90
+ value: i.block.timezone,
91
+ onChange: p[1] ||= (e) => B("timezone", e.target.value)
92
+ }, [(t(), o(c, null, r(I, (e) => u("option", {
93
+ key: e,
94
+ value: e
95
+ }, n(e), 9, T)), 64))], 42, w)]),
96
+ _: 1
97
+ }, 8, ["label"]),
98
+ s(_, { label: f(x).countdown.display }, {
99
+ default: a(() => [u("div", E, [(t(!0), o(c, null, r(z.value, (e) => (t(), l(S, {
100
+ key: e.unit,
101
+ "model-value": i.block[e.showKey],
102
+ label: f(x).countdown[e.translationKey],
103
+ "onUpdate:modelValue": (t) => B(e.showKey, t)
104
+ }, null, 8, [
105
+ "model-value",
106
+ "label",
107
+ "onUpdate:modelValue"
108
+ ]))), 128))])]),
109
+ _: 1
110
+ }, 8, ["label"]),
111
+ s(_, { label: f(x).countdown.separator }, {
112
+ default: a(() => [s(v, {
113
+ options: L,
114
+ "model-value": i.block.separator,
115
+ "onUpdate:modelValue": p[2] ||= (e) => B("separator", e)
116
+ }, null, 8, ["model-value"])]),
117
+ _: 1
118
+ }, 8, ["label"]),
119
+ s(_, { label: f(x).countdown.fontFamily }, {
120
+ default: a(() => [u("select", {
121
+ class: e(f(h)),
122
+ value: i.block.fontFamily || "",
123
+ onChange: p[3] ||= (e) => B("fontFamily", e.target.value || void 0)
124
+ }, [u("option", O, n(f(x).countdown.inheritFont), 1), (t(!0), o(c, null, r(i.fontFamilies, (e) => (t(), o("option", {
125
+ key: e.value,
126
+ value: e.value
127
+ }, n(e.label), 9, k))), 128))], 42, D)]),
128
+ _: 1
129
+ }, 8, ["label"]),
130
+ u("div", A, [s(_, { label: f(x).countdown.digitFontSize }, {
131
+ default: a(() => [s(y, {
132
+ "model-value": i.block.digitFontSize,
133
+ min: 12,
134
+ max: 72,
135
+ suffix: "px",
136
+ "onUpdate:modelValue": p[4] ||= (e) => B("digitFontSize", e)
137
+ }, null, 8, ["model-value"])]),
138
+ _: 1
139
+ }, 8, ["label"]), s(_, { label: f(x).countdown.labelFontSize }, {
140
+ default: a(() => [s(y, {
141
+ "model-value": i.block.labelFontSize,
142
+ min: 8,
143
+ max: 24,
144
+ suffix: "px",
145
+ "onUpdate:modelValue": p[5] ||= (e) => B("labelFontSize", e)
146
+ }, null, 8, ["model-value"])]),
147
+ _: 1
148
+ }, 8, ["label"])]),
149
+ u("div", j, [s(_, { label: f(x).countdown.digitColor }, {
150
+ default: a(() => [s(g, {
151
+ "model-value": i.block.digitColor,
152
+ "onUpdate:modelValue": p[6] ||= (e) => B("digitColor", e)
153
+ }, null, 8, ["model-value"])]),
154
+ _: 1
155
+ }, 8, ["label"]), s(_, { label: f(x).countdown.labelColor }, {
156
+ default: a(() => [s(g, {
157
+ "model-value": i.block.labelColor,
158
+ "onUpdate:modelValue": p[7] ||= (e) => B("labelColor", e)
159
+ }, null, 8, ["model-value"])]),
160
+ _: 1
161
+ }, 8, ["label"])]),
162
+ s(_, { label: f(x).countdown.background }, {
163
+ default: a(() => [s(g, {
164
+ "model-value": i.block.backgroundColor,
165
+ "onUpdate:modelValue": p[8] ||= (e) => B("backgroundColor", e)
166
+ }, null, 8, ["model-value"])]),
167
+ _: 1
168
+ }, 8, ["label"]),
169
+ s(_, { label: f(x).countdown.labels }, {
170
+ default: a(() => [u("div", M, [(t(!0), o(c, null, r(z.value, (n) => (t(), o("input", {
171
+ key: n.unit,
172
+ type: "text",
173
+ class: e(f(h)),
174
+ value: i.block[n.labelKey],
175
+ placeholder: f(x).countdown[n.translationKey],
176
+ onInput: (e) => B(n.labelKey, e.target.value)
177
+ }, null, 42, N))), 128))])]),
178
+ _: 1
179
+ }, 8, ["label"]),
180
+ s(_, { label: f(x).countdown.expiry }, {
181
+ default: a(() => [u("input", {
182
+ type: "text",
183
+ class: e(f(h)),
184
+ value: i.block.expiredMessage,
185
+ placeholder: f(x).countdown.expiredMessagePlaceholder,
186
+ onInput: p[9] ||= (e) => B("expiredMessage", e.target.value)
187
+ }, null, 42, P)]),
188
+ _: 1
189
+ }, 8, ["label"]),
190
+ s(_, { label: f(x).countdown.expiredImageUrl }, {
191
+ default: a(() => [u("input", {
192
+ type: "url",
193
+ class: e(f(h)),
194
+ value: i.block.expiredImageUrl,
195
+ placeholder: "https://...",
196
+ onInput: p[10] ||= (e) => B("expiredImageUrl", e.target.value)
197
+ }, null, 42, F)]),
198
+ _: 1
199
+ }, 8, ["label"]),
200
+ s(S, {
201
+ "model-value": i.block.hideOnExpiry,
202
+ label: f(x).countdown.hideOnExpiry,
203
+ class: "tpl:mb-3.5",
204
+ "onUpdate:modelValue": p[11] ||= (e) => B("hideOnExpiry", e)
205
+ }, null, 8, ["model-value", "label"])
206
+ ], 64));
207
+ }
208
+ });
209
+ //#endregion
210
+ export { I as default };
@@ -1,14 +1,14 @@
1
- import "./timeouts-CmBrLeZA.js";
2
- import { T as e, f as t, r as n } from "./keys-C0MQRs8d.js";
3
- import { t as ee } from "./useI18n-D6m7ZUgY.js";
4
- import { n as r, t as i } from "./_plugin-vue_export-helper-5TQrnOhO.js";
5
- import { t as te } from "./circle-alert-CVTmJHKW.js";
6
- import { t as a } from "./image-up-vZa1Txr-.js";
7
- import { t as o } from "./x-CU2XZOkQ.js";
8
- import { t as ne } from "./LoadingTrack--aUassFH.js";
9
- import { Transition as re, computed as ie, createBlock as ae, createCommentVNode as s, createElementBlock as c, createElementVNode as l, createTextVNode as u, createVNode as d, defineComponent as f, normalizeClass as oe, normalizeStyle as p, openBlock as m, ref as h, toDisplayString as g, unref as _, vModelText as v, watch as se, withCtx as ce, withDirectives as le } from "vue";
10
- import { useDesignReference as ue } from "@templatical/core/cloud";
11
- var de = r("file-image", [
1
+ import { Ct as e, H as t, M as n, Ot as r, S as i, V as ee, Y as a, _ as o, b as s, g as c, h as te, m as l, p as u, s as ne, t as d, tt as f, wt as p, y as m, z as re } from "./vue.runtime.esm-bundler-DryoQb-v.js";
2
+ import "./timeouts-BSGxjuUF.js";
3
+ import { T as h, f as ie, r as ae } from "./keys-CIw9mUI2.js";
4
+ import { t as oe } from "./useI18n-B8CN2iWs.js";
5
+ import { n as g, t as _ } from "./_plugin-vue_export-helper-OO6pH1Dh.js";
6
+ import { t as se } from "./circle-alert-Dpr8MgkR.js";
7
+ import { t as v } from "./image-up-B1AEiHCh.js";
8
+ import { t as y } from "./x-D-7GkO6Z.js";
9
+ import { t as ce } from "./LoadingTrack-Cdz2SSq9.js";
10
+ import { useDesignReference as le } from "@templatical/core/cloud";
11
+ var ue = g("file-image", [
12
12
  ["path", {
13
13
  d: "M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",
14
14
  key: "1oefj6"
@@ -27,7 +27,7 @@ var de = r("file-image", [
27
27
  d: "m20 17-1.296-1.296a2.41 2.41 0 0 0-3.408 0L9 22",
28
28
  key: "wt3hpn"
29
29
  }]
30
- ]), y = r("file-text", [
30
+ ]), b = g("file-text", [
31
31
  ["path", {
32
32
  d: "M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",
33
33
  key: "1oefj6"
@@ -48,7 +48,7 @@ var de = r("file-image", [
48
48
  d: "M16 17H8",
49
49
  key: "z1uh3a"
50
50
  }]
51
- ]), fe = r("upload", [
51
+ ]), de = g("upload", [
52
52
  ["path", {
53
53
  d: "M12 3v12",
54
54
  key: "1x0j5s"
@@ -61,10 +61,10 @@ var de = r("file-image", [
61
61
  d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",
62
62
  key: "ih7n3h"
63
63
  }]
64
- ]), pe = {
64
+ ]), fe = {
65
65
  key: 0,
66
66
  class: "tpl-design-sidebar tpl:absolute tpl:top-14 tpl:right-0 tpl:bottom-0 tpl:z-panel tpl:flex tpl:w-[360px] tpl:flex-col tpl:border-l tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-elevated)]"
67
- }, me = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3" }, he = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-primary)]" }, b = { class: "tpl:flex-1 tpl:overflow-y-auto tpl:p-4" }, x = {
67
+ }, pe = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3" }, me = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-primary)]" }, he = { class: "tpl:flex-1 tpl:overflow-y-auto tpl:p-4" }, x = {
68
68
  key: 0,
69
69
  class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
70
70
  }, S = { class: "tpl:flex tpl:w-full tpl:flex-col tpl:items-center tpl:gap-3" }, C = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, w = {
@@ -82,19 +82,19 @@ var de = r("file-image", [
82
82
  }, R = { class: "tpl:text-xs tpl:leading-snug tpl:text-[var(--tpl-text)]" }, ge = { class: "tpl:flex tpl:gap-2" }, _e = {
83
83
  key: 1,
84
84
  class: "tpl:flex tpl:items-start tpl:gap-2 tpl:rounded-lg tpl:px-3 tpl:py-2 tpl:text-xs tpl:bg-[var(--tpl-danger-light)] tpl:text-[var(--tpl-danger)]"
85
- }, ve = ["disabled"], ye = { class: "tpl:m-0 tpl:pt-1 tpl:text-center tpl:text-[11px] tpl:text-[var(--tpl-text-dim)]" }, z = /* @__PURE__ */ i(/* @__PURE__ */ f({
85
+ }, ve = ["disabled"], ye = { class: "tpl:m-0 tpl:pt-1 tpl:text-center tpl:text-[11px] tpl:text-[var(--tpl-text-dim)]" }, z = /* @__PURE__ */ _(/* @__PURE__ */ i({
86
86
  __name: "DesignReferenceSidebar",
87
87
  props: {
88
88
  visible: { type: Boolean },
89
89
  hasExistingBlocks: { type: Boolean }
90
90
  },
91
91
  emits: ["close", "apply"],
92
- setup(r, { emit: i }) {
93
- let f = r, z = i, { t: B } = ee(), be = e(t, "DesignReferenceSidebar"), V = ue({
94
- authManager: e(n, "DesignReferenceSidebar"),
92
+ setup(i, { emit: g }) {
93
+ let _ = i, z = g, { t: B } = oe(), be = h(ie, "DesignReferenceSidebar"), V = le({
94
+ authManager: h(ae, "DesignReferenceSidebar"),
95
95
  getTemplateId: () => be.state.template?.id ?? null,
96
96
  onApply: (e) => z("apply", e)
97
- }), H = h(null), U = h("image"), W = h(null), G = h(""), K = h(null), q = h(!1), J = h(!1), Y = ie(() => V.isGenerating.value ? !1 : W.value !== null);
97
+ }), H = a(null), U = a("image"), W = a(null), G = a(""), K = a(null), q = a(!1), J = a(!1), Y = u(() => V.isGenerating.value ? !1 : W.value !== null);
98
98
  function X(e) {
99
99
  U.value = e, Q();
100
100
  }
@@ -139,7 +139,7 @@ var de = r("file-image", [
139
139
  }
140
140
  function $() {
141
141
  if (!Y.value) return;
142
- if (f.hasExistingBlocks && !q.value) {
142
+ if (_.hasExistingBlocks && !q.value) {
143
143
  q.value = !0;
144
144
  return;
145
145
  }
@@ -150,9 +150,9 @@ var de = r("file-image", [
150
150
  function Te() {
151
151
  q.value = !1;
152
152
  }
153
- return se(() => f.visible, (e) => {
153
+ return re(() => _.visible, (e) => {
154
154
  e || (q.value = !1);
155
- }), (e, t) => (m(), ae(re, {
155
+ }), (a, u) => (n(), te(d, {
156
156
  "enter-active-class": "tpl-design-slide-enter-active",
157
157
  "enter-from-class": "tpl:translate-x-full",
158
158
  "enter-to-class": "tpl:translate-x-0",
@@ -160,16 +160,16 @@ var de = r("file-image", [
160
160
  "leave-from-class": "tpl:translate-x-0",
161
161
  "leave-to-class": "tpl:translate-x-full"
162
162
  }, {
163
- default: ce(() => [r.visible ? (m(), c("div", pe, [l("div", me, [l("div", he, [d(_(a), {
163
+ default: ee(() => [i.visible ? (n(), o("div", fe, [l("div", pe, [l("div", me, [s(f(v), {
164
164
  size: 13,
165
165
  "stroke-width": 2
166
- }), l("span", null, g(_(B).designReference.title), 1)]), l("button", {
166
+ }), l("span", null, r(f(B).designReference.title), 1)]), l("button", {
167
167
  class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
168
- onClick: t[0] ||= (e) => z("close")
169
- }, [d(_(o), {
168
+ onClick: u[0] ||= (e) => z("close")
169
+ }, [s(f(y), {
170
170
  size: 14,
171
171
  "stroke-width": 2
172
- })])]), l("div", b, [_(V).isGenerating.value ? (m(), c("div", x, [l("div", S, [d(ne), l("p", C, g(_(B).designReference.generating), 1)])])) : (m(), c("div", w, [
172
+ })])]), l("div", he, [f(V).isGenerating.value ? (n(), o("div", x, [l("div", S, [s(ce), l("p", C, r(f(B).designReference.generating), 1)])])) : (n(), o("div", w, [
173
173
  l("div", T, [l("button", {
174
174
  class: "tpl:flex tpl:flex-1 tpl:items-center tpl:justify-center tpl:gap-1.5 tpl:rounded-[var(--tpl-radius-sm)] tpl:px-2 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150",
175
175
  style: p({
@@ -177,56 +177,56 @@ var de = r("file-image", [
177
177
  color: U.value === "image" ? "var(--tpl-primary)" : "var(--tpl-text-muted)",
178
178
  boxShadow: U.value === "image" ? "var(--tpl-shadow)" : "none"
179
179
  }),
180
- onClick: t[1] ||= (e) => X("image")
181
- }, [d(_(de), {
180
+ onClick: u[1] ||= (e) => X("image")
181
+ }, [s(f(ue), {
182
182
  size: 12,
183
183
  "stroke-width": 2
184
- }), u(" " + g(_(B).designReference.uploadImage), 1)], 4), l("button", {
184
+ }), m(" " + r(f(B).designReference.uploadImage), 1)], 4), l("button", {
185
185
  class: "tpl:flex tpl:flex-1 tpl:items-center tpl:justify-center tpl:gap-1.5 tpl:rounded-[var(--tpl-radius-sm)] tpl:px-2 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150",
186
186
  style: p({
187
187
  backgroundColor: U.value === "pdf" ? "var(--tpl-bg)" : "transparent",
188
188
  color: U.value === "pdf" ? "var(--tpl-primary)" : "var(--tpl-text-muted)",
189
189
  boxShadow: U.value === "pdf" ? "var(--tpl-shadow)" : "none"
190
190
  }),
191
- onClick: t[2] ||= (e) => X("pdf")
192
- }, [d(_(y), {
191
+ onClick: u[2] ||= (e) => X("pdf")
192
+ }, [s(f(b), {
193
193
  size: 12,
194
194
  "stroke-width": 2
195
- }), u(" " + g(_(B).designReference.uploadPdf), 1)], 4)]),
196
- l("div", null, [W.value ? (m(), c("div", E, [l("div", D, [K.value ? (m(), c("img", {
195
+ }), m(" " + r(f(B).designReference.uploadPdf), 1)], 4)]),
196
+ l("div", null, [W.value ? (n(), o("div", E, [l("div", D, [K.value ? (n(), o("img", {
197
197
  key: 0,
198
198
  src: K.value,
199
199
  alt: W.value.name,
200
200
  class: "tpl:h-auto tpl:max-h-48 tpl:w-full tpl:object-contain"
201
- }, null, 8, O)) : (m(), c("div", k, [d(_(y), {
201
+ }, null, 8, O)) : (n(), o("div", k, [s(f(b), {
202
202
  size: 32,
203
203
  "stroke-width": 1.5,
204
204
  class: "tpl:text-[var(--tpl-text-dim)]"
205
- }), l("span", A, g(W.value.name), 1)])), l("button", {
205
+ }), l("span", A, r(W.value.name), 1)])), l("button", {
206
206
  class: "tpl:absolute tpl:top-2 tpl:right-2 tpl:rounded-full tpl:p-1 tpl:transition-colors tpl:duration-150 tpl:bg-[var(--tpl-bg)] tpl:text-[var(--tpl-text-muted)] tpl:shadow-[var(--tpl-shadow)]",
207
207
  onClick: Q
208
- }, [d(_(o), {
208
+ }, [s(f(y), {
209
209
  size: 12,
210
210
  "stroke-width": 2
211
- })])])])) : (m(), c("div", {
211
+ })])])])) : (n(), o("div", {
212
212
  key: 1,
213
213
  class: "tpl-design-dropzone tpl:flex tpl:cursor-pointer tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded-[var(--tpl-radius)] tpl:border-2 tpl:border-dashed tpl:px-4 tpl:py-8 tpl:transition-colors tpl:duration-150",
214
214
  style: p({
215
215
  borderColor: J.value ? "var(--tpl-primary)" : "var(--tpl-border-light)",
216
216
  backgroundColor: J.value ? "var(--tpl-primary-light)" : "var(--tpl-bg)"
217
217
  }),
218
- onClick: t[3] ||= (e) => H.value?.click(),
218
+ onClick: u[3] ||= (e) => H.value?.click(),
219
219
  onDragover: Se,
220
220
  onDragleave: Ce,
221
221
  onDrop: we
222
222
  }, [
223
- d(_(fe), {
223
+ s(f(de), {
224
224
  size: 24,
225
225
  "stroke-width": 1.5,
226
226
  class: "tpl:text-[var(--tpl-text-dim)]"
227
227
  }),
228
- l("span", j, g(_(B).designReference.dropHint), 1),
229
- l("span", M, g(U.value === "image" ? _(B).designReference.acceptedImages : _(B).designReference.acceptedPdf), 1)
228
+ l("span", j, r(f(B).designReference.dropHint), 1),
229
+ l("span", M, r(U.value === "image" ? f(B).designReference.acceptedImages : f(B).designReference.acceptedPdf), 1)
230
230
  ], 36)), l("input", {
231
231
  ref_key: "fileInput",
232
232
  ref: H,
@@ -235,36 +235,36 @@ var de = r("file-image", [
235
235
  accept: U.value === "image" ? "image/png,image/jpeg,image/webp" : "application/pdf",
236
236
  onChange: xe
237
237
  }, null, 40, N)]),
238
- l("div", P, [l("label", F, g(_(B).designReference.promptLabel), 1), le(l("textarea", {
239
- "onUpdate:modelValue": t[4] ||= (e) => G.value = e,
240
- class: oe(["tpl:min-h-[72px] tpl:w-full tpl:resize-none tpl:rounded-[var(--tpl-radius-sm)] tpl:border tpl:px-3 tpl:py-2 tpl:font-sans tpl:text-sm tpl:outline-none tpl:transition-colors tpl:duration-150 tpl:border-[var(--tpl-border)] tpl:text-[var(--tpl-text)] tpl:bg-[var(--tpl-bg)]", ["tpl-design-prompt-input"]]),
241
- placeholder: _(B).designReference.promptPlaceholder,
238
+ l("div", P, [l("label", F, r(f(B).designReference.promptLabel), 1), t(l("textarea", {
239
+ "onUpdate:modelValue": u[4] ||= (e) => G.value = e,
240
+ class: e(["tpl:min-h-[72px] tpl:w-full tpl:resize-none tpl:rounded-[var(--tpl-radius-sm)] tpl:border tpl:px-3 tpl:py-2 tpl:font-sans tpl:text-sm tpl:outline-none tpl:transition-colors tpl:duration-150 tpl:border-[var(--tpl-border)] tpl:text-[var(--tpl-text)] tpl:bg-[var(--tpl-bg)]", ["tpl-design-prompt-input"]]),
241
+ placeholder: f(B).designReference.promptPlaceholder,
242
242
  rows: "3"
243
- }, null, 8, I), [[v, G.value]])]),
244
- q.value ? (m(), c("div", L, [l("p", R, g(_(B).designReference.replaceWarning), 1), l("div", ge, [l("button", {
243
+ }, null, 8, I), [[ne, G.value]])]),
244
+ q.value ? (n(), o("div", L, [l("p", R, r(f(B).designReference.replaceWarning), 1), l("div", ge, [l("button", {
245
245
  class: "tpl:flex-1 tpl:rounded-[var(--tpl-radius-sm)] tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150 tpl:text-[var(--tpl-text-muted)] tpl:border tpl:border-[var(--tpl-border)]",
246
246
  style: { "background-color": "transparent" },
247
247
  onClick: Te
248
- }, g(_(B).designReference.replaceCancel), 1), l("button", {
248
+ }, r(f(B).designReference.replaceCancel), 1), l("button", {
249
249
  class: "tpl:flex-1 tpl:rounded-[var(--tpl-radius-sm)] tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150 tpl:hover:opacity-90 tpl:bg-[var(--tpl-primary)] tpl:text-[var(--tpl-bg)]",
250
250
  onClick: $
251
- }, g(_(B).designReference.replaceConfirm), 1)])])) : s("", !0),
252
- _(V).error.value ? (m(), c("div", _e, [d(_(te), {
251
+ }, r(f(B).designReference.replaceConfirm), 1)])])) : c("", !0),
252
+ f(V).error.value ? (n(), o("div", _e, [s(f(se), {
253
253
  size: 14,
254
254
  "stroke-width": 2,
255
255
  class: "tpl:mt-0.5 tpl:shrink-0"
256
- }), l("span", null, g(_(B).designReference.error), 1)])) : s("", !0),
257
- q.value ? s("", !0) : (m(), c("button", {
256
+ }), l("span", null, r(f(B).designReference.error), 1)])) : c("", !0),
257
+ q.value ? c("", !0) : (n(), o("button", {
258
258
  key: 2,
259
259
  class: "tpl:flex tpl:w-full tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded-[var(--tpl-radius-sm)] tpl:px-4 tpl:py-2.5 tpl:text-sm tpl:font-medium tpl:transition-all tpl:duration-150 tpl:hover:opacity-90 tpl:disabled:cursor-not-allowed tpl:disabled:opacity-50 tpl:bg-[var(--tpl-primary)] tpl:text-[var(--tpl-bg)]",
260
260
  disabled: !Y.value,
261
261
  onClick: $
262
- }, [d(_(a), {
262
+ }, [s(f(v), {
263
263
  size: 16,
264
264
  "stroke-width": 2
265
- }), u(" " + g(_(B).designReference.generate), 1)], 8, ve)),
266
- l("p", ye, g(_(B).aiMenu.disclaimer), 1)
267
- ]))])])) : s("", !0)]),
265
+ }), m(" " + r(f(B).designReference.generate), 1)], 8, ve)),
266
+ l("p", ye, r(f(B).aiMenu.disclaimer), 1)
267
+ ]))])])) : c("", !0)]),
268
268
  _: 1
269
269
  }));
270
270
  }
@@ -0,0 +1,10 @@
1
+ import { M as e, _ as t } from "./vue.runtime.esm-bundler-DryoQb-v.js";
2
+ import { t as n } from "./_plugin-vue_export-helper-OO6pH1Dh.js";
3
+ //#region src/components/LoadingTrack.vue
4
+ var r = {}, i = { class: "tpl-loading-track" };
5
+ function a(n, r) {
6
+ return e(), t("div", i);
7
+ }
8
+ var o = /* @__PURE__ */ n(r, [["render", a], ["__scopeId", "data-v-1ed538ec"]]);
9
+ //#endregion
10
+ export { o as t };