@templatical/editor 0.18.0 → 0.19.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 (109) hide show
  1. package/dist/{AiChatSidebar-BWIzNePR.js → AiChatSidebar-DAQTFuvi.js} +3 -3
  2. package/dist/{AiFeatureMenu-IoLW8c6m.js → AiFeatureMenu-aFSO20PR.js} +4 -4
  3. package/dist/{BlockIssueBadge-FbyZBJlf.js → BlockIssueBadge-BQmq1bxn.js} +2 -2
  4. package/dist/{CloudEditor-txLsdvcR.js → CloudEditor-D0K-m1GA.js} +14 -12
  5. package/dist/{CollaboratorBar-CpLOFt43.js → CollaboratorBar-CJO3l6Dt.js} +2 -2
  6. package/dist/ColorPicker-BsgpTJqK.js +552 -0
  7. package/dist/{CommentsSidebar-C8xFu9qy.js → CommentsSidebar-BYMVucZh.js} +4 -4
  8. package/dist/{CountdownBlock-CaU40Htk.js → CountdownBlock-Bn5w7C-p.js} +1 -1
  9. package/dist/{CountdownToolbar-CBbGAxmF.js → CountdownToolbar-PJI3ffi1.js} +3 -3
  10. package/dist/{DesignReferenceSidebar-BWZgqmT-.js → DesignReferenceSidebar-QfAV8XT9.js} +5 -5
  11. package/dist/{IssuesPanel-CBzfmzRM.js → IssuesPanel-CTjRgz8w.js} +2 -2
  12. package/dist/{ModuleBrowserModal-C9qHpjaS.js → ModuleBrowserModal-BNalLx0k.js} +7 -7
  13. package/dist/{ModulePreviewCanvas-xEMWMJwf.js → ModulePreviewCanvas-BwObwisa.js} +2 -2
  14. package/dist/{NumberWithSuffix-BreqtON_.js → NumberWithSuffix-D3BKz66W.js} +1 -1
  15. package/dist/{ParagraphEditor-iRJI_YbA.js → ParagraphEditor-Cf75UfSo.js} +42 -42
  16. package/dist/{RichTextEditorContent-DkXai9qP.js → RichTextEditorContent-MdaLz6Q3.js} +5 -5
  17. package/dist/{SaveModuleDialog-DqDmk0rO.js → SaveModuleDialog-MTjwiF9D.js} +6 -6
  18. package/dist/{SnapshotHistory-BVe5aCHi.js → SnapshotHistory-C_Y1LzAY.js} +4 -4
  19. package/dist/{TemplateScoringPanel-CRqt9-T5.js → TemplateScoringPanel-DikuKc6i.js} +77 -77
  20. package/dist/{TestEmailModal-jpy4hnYZ.js → TestEmailModal-BW8aTtzf.js} +3 -3
  21. package/dist/{TitleEditor-Bf6Jv2qI.js → TitleEditor-CCUkbRN0.js} +7 -7
  22. package/dist/{TplModal-DAtccv6o.js → TplModal-DoOwUKlT.js} +3 -3
  23. package/dist/{blockTypeIcons-CnlwyvkL.js → blockTypeIcons-BlPKjD7M.js} +1 -1
  24. package/dist/bundle-stats.json +6 -6
  25. package/dist/{ca-CSl--oWR.js → ca-DbWoy4rG.js} +2 -1
  26. package/dist/cdn/chunks/{AiFeatureMenu-B4oJlFQI.js → AiFeatureMenu-RwJiaPXZ.js} +5 -5
  27. package/dist/cdn/chunks/{AiFeatureMenu-B4oJlFQI.js.map → AiFeatureMenu-RwJiaPXZ.js.map} +1 -1
  28. package/dist/cdn/chunks/{BlockIssueBadge-C7Ts7bT7.js → BlockIssueBadge-DM-TDKbr.js} +5 -5
  29. package/dist/cdn/chunks/{BlockIssueBadge-C7Ts7bT7.js.map → BlockIssueBadge-DM-TDKbr.js.map} +1 -1
  30. package/dist/cdn/chunks/{CloudEditor-BRO-2CcF.js → CloudEditor-Dufl354p.js} +132 -130
  31. package/dist/cdn/chunks/CloudEditor-Dufl354p.js.map +1 -0
  32. package/dist/cdn/chunks/{CollaboratorBar-BsWOjOCS.js → CollaboratorBar-xsU20iPl.js} +3 -3
  33. package/dist/cdn/chunks/{CollaboratorBar-BsWOjOCS.js.map → CollaboratorBar-xsU20iPl.js.map} +1 -1
  34. package/dist/{ColorPicker-BXCcUYsZ.js → cdn/chunks/ColorPicker-y_obnw4o.js} +234 -157
  35. package/dist/cdn/chunks/ColorPicker-y_obnw4o.js.map +1 -0
  36. package/dist/cdn/chunks/{CountdownBlock-BUGxk8GI.js → CountdownBlock-sHsRMe1q.js} +2 -2
  37. package/dist/cdn/chunks/{CountdownBlock-BUGxk8GI.js.map → CountdownBlock-sHsRMe1q.js.map} +1 -1
  38. package/dist/cdn/chunks/{CountdownToolbar-C8tWWfGw.js → CountdownToolbar-Ckc_jEi-.js} +4 -4
  39. package/dist/cdn/chunks/{CountdownToolbar-C8tWWfGw.js.map → CountdownToolbar-Ckc_jEi-.js.map} +1 -1
  40. package/dist/cdn/chunks/{IssuesPanel-C5izyrbm.js → IssuesPanel-DF5Ajuna.js} +7 -7
  41. package/dist/cdn/chunks/{IssuesPanel-C5izyrbm.js.map → IssuesPanel-DF5Ajuna.js.map} +1 -1
  42. package/dist/cdn/chunks/{ModuleBrowserModal-DySKXKFF.js → ModuleBrowserModal-DG4AVFjH.js} +8 -8
  43. package/dist/cdn/chunks/{ModuleBrowserModal-DySKXKFF.js.map → ModuleBrowserModal-DG4AVFjH.js.map} +1 -1
  44. package/dist/cdn/chunks/{ModulePreviewCanvas-qqEvLBp2.js → ModulePreviewCanvas-Bc_PcJuc.js} +24 -24
  45. package/dist/cdn/chunks/{ModulePreviewCanvas-qqEvLBp2.js.map → ModulePreviewCanvas-Bc_PcJuc.js.map} +1 -1
  46. package/dist/cdn/chunks/{NumberWithSuffix-DttdbXsh.js → NumberWithSuffix-8fOO-LC_.js} +2 -2
  47. package/dist/cdn/chunks/{NumberWithSuffix-DttdbXsh.js.map → NumberWithSuffix-8fOO-LC_.js.map} +1 -1
  48. package/dist/cdn/chunks/{ParagraphEditor-CQJ23PXU.js → ParagraphEditor-BkafKSju.js} +107 -107
  49. package/dist/cdn/chunks/{ParagraphEditor-CQJ23PXU.js.map → ParagraphEditor-BkafKSju.js.map} +1 -1
  50. package/dist/cdn/chunks/{RichTextEditorContent-C4vxiXng.js → RichTextEditorContent-BthhzOZS.js} +5 -5
  51. package/dist/cdn/chunks/{RichTextEditorContent-C4vxiXng.js.map → RichTextEditorContent-BthhzOZS.js.map} +1 -1
  52. package/dist/cdn/chunks/{SaveModuleDialog-D5eddgzd.js → SaveModuleDialog-DhsfYf2n.js} +4 -4
  53. package/dist/cdn/chunks/{SaveModuleDialog-D5eddgzd.js.map → SaveModuleDialog-DhsfYf2n.js.map} +1 -1
  54. package/dist/cdn/chunks/{TitleEditor-5TkwDrPL.js → TitleEditor-DLv9cXba.js} +8 -8
  55. package/dist/cdn/chunks/{TitleEditor-5TkwDrPL.js.map → TitleEditor-DLv9cXba.js.map} +1 -1
  56. package/dist/cdn/chunks/{blockTypeIcons-CbmN4aSw.js → blockTypeIcons-B0uibGX7.js} +7 -7
  57. package/dist/cdn/chunks/{blockTypeIcons-CbmN4aSw.js.map → blockTypeIcons-B0uibGX7.js.map} +1 -1
  58. package/dist/cdn/chunks/{ca-CSl--oWR.js → ca-DbWoy4rG.js} +3 -2
  59. package/dist/cdn/chunks/{ca-CSl--oWR.js.map → ca-DbWoy4rG.js.map} +1 -1
  60. package/dist/{de-ZaffrKDP.js → cdn/chunks/de-CgGOnerg.js} +4 -1
  61. package/dist/cdn/chunks/{de-ZaffrKDP.js.map → de-CgGOnerg.js.map} +1 -1
  62. package/dist/cdn/chunks/{en-CHuXeJDt.js → en-DrUV9xth.js} +3 -2
  63. package/dist/cdn/chunks/{en-CHuXeJDt.js.map → en-DrUV9xth.js.map} +1 -1
  64. package/dist/{es-CaC8VQjO.js → cdn/chunks/es-DwbKjU7q.js} +4 -1
  65. package/dist/cdn/chunks/{es-CaC8VQjO.js.map → es-DwbKjU7q.js.map} +1 -1
  66. package/dist/cdn/chunks/{extensions-B3M4IqhZ.js → extensions-DLHvZ0UH.js} +19 -19
  67. package/dist/cdn/chunks/{extensions-B3M4IqhZ.js.map → extensions-DLHvZ0UH.js.map} +1 -1
  68. package/dist/cdn/chunks/{features-HBwOEo4D.js → features-Cnfv4QAY.js} +1382 -1298
  69. package/dist/cdn/chunks/features-Cnfv4QAY.js.map +1 -0
  70. package/dist/cdn/chunks/{icons-D4vTsN4p.js → icons-DbcM69bb.js} +2 -2
  71. package/dist/cdn/chunks/{icons-D4vTsN4p.js.map → icons-DbcM69bb.js.map} +1 -1
  72. package/dist/cdn/chunks/{media-library-CfExuiSG.js → media-library-DpSMwHd4.js} +524 -524
  73. package/dist/cdn/chunks/{media-library-CfExuiSG.js.map → media-library-DpSMwHd4.js.map} +1 -1
  74. package/dist/cdn/chunks/{pt-BR-C74zfEWH.js → pt-BR-Bcc5Tjed.js} +3 -2
  75. package/dist/cdn/chunks/{pt-BR-C74zfEWH.js.map → pt-BR-Bcc5Tjed.js.map} +1 -1
  76. package/dist/cdn/chunks/{quality-nh1R42eb.js → quality-D9QqkRcU.js} +77 -77
  77. package/dist/cdn/chunks/{quality-nh1R42eb.js.map → quality-D9QqkRcU.js.map} +1 -1
  78. package/dist/cdn/chunks/{renderer-BLvlUayY.js → renderer-BsLQZNXU.js} +14 -14
  79. package/dist/cdn/chunks/{renderer-BLvlUayY.js.map → renderer-BsLQZNXU.js.map} +1 -1
  80. package/dist/cdn/chunks/{src-Cks4RrLL.js → src-zu1ehVNN.js} +6 -6
  81. package/dist/cdn/chunks/{src-Cks4RrLL.js.map → src-zu1ehVNN.js.map} +1 -1
  82. package/dist/cdn/chunks/{styles-CPCN13az.js → styles-Dx-jXeCd.js} +184 -184
  83. package/dist/cdn/chunks/{styles-CPCN13az.js.map → styles-Dx-jXeCd.js.map} +1 -1
  84. package/dist/cdn/editor.css +1 -1
  85. package/dist/cdn/editor.js +54 -52
  86. package/dist/cdn/editor.js.map +1 -1
  87. package/dist/{cloud-BogxOeZu.js → cloud-B-RebwxI.js} +5 -5
  88. package/dist/{cdn/chunks/de-ZaffrKDP.js → de-CgGOnerg.js} +2 -3
  89. package/dist/{dist-DoRIUsfz.js → dist-BJbqgyPn.js} +108 -94
  90. package/dist/{en-CHuXeJDt.js → en-DrUV9xth.js} +2 -1
  91. package/dist/{cdn/chunks/es-CaC8VQjO.js → es-DwbKjU7q.js} +2 -3
  92. package/dist/{extensions-gpFdCinj.js → extensions-BCA9pyer.js} +11 -11
  93. package/dist/index.d.ts +31 -0
  94. package/dist/keys-DFaIbGR8.js +10 -0
  95. package/dist/{pt-BR-C74zfEWH.js → pt-BR-Bcc5Tjed.js} +2 -1
  96. package/dist/style.css +1 -1
  97. package/dist/{styles-CJ6WmkYL.js → styles-64uLkPJV.js} +47 -47
  98. package/dist/templatical-editor.js +13 -11
  99. package/dist/{useCloudI18n-DIn74fK2.js → useCloudI18n-PCDOC2kz.js} +1 -1
  100. package/dist/{useEditorCore-LJJNXXqC.js → useEditorCore-ea9OrrH3.js} +798 -755
  101. package/dist/{useI18n-OaMLWqhY.js → useI18n-BNMzZTM5.js} +1 -1
  102. package/dist/{useMergeTag-CZMgwVvr.js → useMergeTag-DfEY0eK5.js} +5 -5
  103. package/dist/{usePopoverPosition-QDY09q9H.js → usePopoverPosition-F9STHRIr.js} +33 -6
  104. package/package.json +7 -7
  105. package/dist/cdn/chunks/CloudEditor-BRO-2CcF.js.map +0 -1
  106. package/dist/cdn/chunks/ColorPicker-DEtVX4gN.js +0 -471
  107. package/dist/cdn/chunks/ColorPicker-DEtVX4gN.js.map +0 -1
  108. package/dist/cdn/chunks/features-HBwOEo4D.js.map +0 -1
  109. package/dist/keys-DAxnnmXs.js +0 -10
@@ -1,28 +1,28 @@
1
1
  import { $ as e, A as t, B as n, D as r, Dt as i, E as a, Et as o, H as s, I as c, J as l, K as u, N as d, O as f, Ot as p, R as m, T as h, W as g, Y as _, Z as v, _ as y, c as b, d as x, et as S, g as C, h as w, j as T, k as E, l as D, m as O, nt as k, q as ee, r as A, rt as te, s as j, tt as ne, u as M, v as re, w as ie, x as N, y as ae, z as oe } from "./vue.runtime.esm-bundler-B0xoGkDv.js";
2
2
  import { c as P, o as se, s as ce } from "./runtime-dom.esm-bundler-GdMI8WqG.js";
3
3
  import { t as le } from "./upload-y4gxiFp5.js";
4
- import { A as ue, C as de, D as fe, M as pe, N as me, O as he, P as ge, S as _e, T as ve, _ as ye, b as be, c as xe, d as Se, f as Ce, g as we, h as Te, j as Ee, k as De, l as Oe, m as ke, n as Ae, o as je, p as Me, r as Ne, s as Pe, t as Fe, u as Ie, v as Le, w as Re, x as ze, y as Be } from "./dist-DoRIUsfz.js";
5
- import { f as Ve, g as He, h as Ue, m as We } from "./dist-DYv_Pttj.js";
6
- import { a as Ge, c as Ke, o as qe, r as Je, s as Ye, t as Xe } from "./usePopoverPosition-QDY09q9H.js";
7
- import { A as Ze, C as Qe, D as $e, E as et, F as tt, I as nt, L as rt, M as it, O as at, R as ot, S as st, T as ct, _ as lt, a as ut, b as dt, d as ft, f as pt, g as mt, h as ht, i as gt, j as _t, k as vt, m as yt, n as bt, o as xt, p as St, s as Ct, u as wt, v as Tt, w as Et, x as Dt, y as Ot, z as kt } from "./keys-DAxnnmXs.js";
8
- import { t as At } from "./useI18n-OaMLWqhY.js";
4
+ import { A as ue, C as de, D as fe, E as pe, F as me, I as he, M as ge, N as _e, P as ve, S as ye, T as be, _ as xe, a as Se, b as Ce, c as we, d as Te, f as Ee, g as De, h as Oe, i as ke, j as Ae, k as je, l as Me, m as Ne, n as Pe, p as Fe, r as Ie, t as Le, u as Re, v as ze, w as Be, x as Ve, y as He } from "./dist-BJbqgyPn.js";
5
+ import { f as Ue, g as We, h as Ge, m as Ke } from "./dist-DYv_Pttj.js";
6
+ import { c as qe, d as Je, i as Ye, l as Xe, o as Ze, r as Qe, t as $e, u as et } from "./usePopoverPosition-F9STHRIr.js";
7
+ import { A as tt, B as nt, C as rt, D as it, E as at, I as ot, L as st, M as ct, N as lt, O as ut, R as dt, S as ft, T as pt, _ as mt, a as ht, b as gt, d as _t, f as vt, g as yt, h as bt, i as xt, j as St, k as Ct, l as wt, m as Tt, n as Et, o as Dt, p as Ot, s as kt, v as At, w as jt, x as Mt, y as Nt, z as Pt } from "./keys-DFaIbGR8.js";
8
+ import { t as Ft } from "./useI18n-BNMzZTM5.js";
9
9
  import { t as F } from "./createLucideIcon-FSF4peHQ.js";
10
- import { t as jt } from "./loader-circle-BT38qSm3.js";
11
- import { t as Mt } from "./message-circle-BAHcL9S-.js";
12
- import { t as Nt } from "./trash-2-CRBDolnR.js";
13
- import { t as Pt } from "./triangle-alert-B2g0ALvq.js";
14
- import { t as Ft } from "./LoadingTrack-KIcREPlS.js";
15
- import { t as It } from "./_plugin-vue_export-helper-B3ysoDQm.js";
16
- import "./useCloudI18n-DIn74fK2.js";
17
- import { t as Lt } from "./useMergeTag-CZMgwVvr.js";
18
- import { t as Rt } from "./useAliveFlag-C43EhZFY.js";
10
+ import { t as It } from "./loader-circle-BT38qSm3.js";
11
+ import { t as Lt } from "./message-circle-BAHcL9S-.js";
12
+ import { t as Rt } from "./trash-2-CRBDolnR.js";
13
+ import { t as zt } from "./triangle-alert-B2g0ALvq.js";
14
+ import { t as Bt } from "./LoadingTrack-KIcREPlS.js";
15
+ import { t as Vt } from "./_plugin-vue_export-helper-B3ysoDQm.js";
16
+ import "./useCloudI18n-PCDOC2kz.js";
17
+ import { t as Ht } from "./useMergeTag-DfEY0eK5.js";
18
+ import { t as Ut } from "./useAliveFlag-C43EhZFY.js";
19
19
  //#region ../core/dist/index.js
20
- function zt(e) {
20
+ function Wt(e) {
21
21
  return e === "1" ? 1 : e === "3" ? 3 : 2;
22
22
  }
23
- function Bt(e) {
23
+ function Gt(e) {
24
24
  let t = ee({
25
- content: e.content ?? Se(e.defaultFontFamily, e.templateDefaults),
25
+ content: e.content ?? Fe(e.defaultFontFamily, e.templateDefaults),
26
26
  selectedBlockId: null,
27
27
  viewport: "desktop",
28
28
  darkMode: !1,
@@ -111,7 +111,7 @@ function Bt(e) {
111
111
  if (c(n)) return;
112
112
  let o = a(t.content.blocks, n);
113
113
  if (o && o.type === "section") {
114
- if (r < 0 || r >= zt(o.columns)) return;
114
+ if (r < 0 || r >= Wt(o.columns)) return;
115
115
  o.children[r] = o.children[r] || [];
116
116
  let t = o.children[r];
117
117
  i !== void 0 && i < t.length ? t.splice(i, 0, e) : t.push(e);
@@ -144,7 +144,7 @@ function Bt(e) {
144
144
  let u;
145
145
  if (r) {
146
146
  let e = a(t.content.blocks, r);
147
- if (!e || e.type !== "section" || i < 0 || i >= zt(e.columns)) return;
147
+ if (!e || e.type !== "section" || i < 0 || i >= Wt(e.columns)) return;
148
148
  e.children[i] = e.children[i] || [], u = e.children[i];
149
149
  } else u = t.content.blocks;
150
150
  let [d] = o.blocks.splice(l, 1);
@@ -173,11 +173,11 @@ function Bt(e) {
173
173
  findBlockLocation: u
174
174
  };
175
175
  }
176
- var Vt = 50, Ht = 300, Ut = 1500;
177
- function Wt(e) {
178
- let { content: t, setContent: r, isRemoteOperation: i, maxSize: a = Vt } = e, o = _([]), s = _([]), c = _(!1), l = null, u = null, d = n(() => o.value.length > 0), f = n(() => s.value.length > 0);
176
+ var Kt = 50, qt = 300, Jt = 1500;
177
+ function Yt(e) {
178
+ let { content: t, setContent: r, isRemoteOperation: i, maxSize: a = Kt } = e, o = _([]), s = _([]), c = _(!1), l = null, u = null, d = n(() => o.value.length > 0), f = n(() => s.value.length > 0);
179
179
  function p() {
180
- return ge(t.value);
180
+ return he(t.value);
181
181
  }
182
182
  function m(e) {
183
183
  o.value.push(e), o.value.length > a && o.value.splice(0, o.value.length - a);
@@ -193,21 +193,21 @@ function Wt(e) {
193
193
  if (u && u.blockId === e) {
194
194
  clearTimeout(u.timeoutId), u.timeoutId = setTimeout(() => {
195
195
  u = null;
196
- }, Ht);
196
+ }, qt);
197
197
  return;
198
198
  }
199
199
  h(), m(p()), s.value = [], u = {
200
200
  blockId: e,
201
201
  timeoutId: setTimeout(() => {
202
202
  u = null;
203
- }, Ht)
203
+ }, qt)
204
204
  };
205
205
  }
206
206
  }
207
207
  function y() {
208
208
  c.value = !0, l && clearTimeout(l), l = setTimeout(() => {
209
209
  c.value = !1, l = null;
210
- }, Ut);
210
+ }, Jt);
211
211
  }
212
212
  function b() {
213
213
  if (o.value.length === 0) return;
@@ -239,33 +239,33 @@ function Wt(e) {
239
239
  destroy: C
240
240
  };
241
241
  }
242
- function Gt(e) {
242
+ function Xt(e) {
243
243
  e.type === "table" ? e.rows = e.rows.map((e) => ({
244
244
  ...e,
245
- id: de(),
245
+ id: be(),
246
246
  cells: e.cells.map((e) => ({
247
247
  ...e,
248
- id: de()
248
+ id: be()
249
249
  }))
250
250
  })) : e.type === "social" ? e.icons = e.icons.map((e) => ({
251
251
  ...e,
252
- id: de()
252
+ id: be()
253
253
  })) : e.type === "menu" && (e.items = e.items.map((e) => ({
254
254
  ...e,
255
- id: de()
255
+ id: be()
256
256
  })));
257
257
  }
258
- function Kt(e) {
258
+ function Zt(e) {
259
259
  let { addBlock: t, removeBlock: n, updateBlock: r, selectBlock: i, findBlockLocation: a } = e;
260
260
  function o(n, r, a) {
261
- let o = Pe(n, e.blockDefaults);
261
+ let o = Me(n, e.blockDefaults);
262
262
  return t(o, r, a), i(o.id), o;
263
263
  }
264
264
  function s(e, n, r) {
265
265
  let o = JSON.parse(JSON.stringify(e));
266
- if (o.id = de(), Gt(o), o.type === "section" && (o.children = o.children.map((e) => e.map((e) => {
266
+ if (o.id = be(), Xt(o), o.type === "section" && (o.children = o.children.map((e) => e.map((e) => {
267
267
  let t = JSON.parse(JSON.stringify(e));
268
- return t.id = de(), Gt(t), t;
268
+ return t.id = be(), Xt(t), t;
269
269
  }))), n !== void 0 || r !== void 0) t(o, n, r);
270
270
  else {
271
271
  let i = a?.(e.id) ?? null;
@@ -286,7 +286,7 @@ function Kt(e) {
286
286
  updateBlockProperty: l
287
287
  };
288
288
  }
289
- function qt(e) {
289
+ function Qt(e) {
290
290
  let { content: t, isDirty: n, onChange: r, debounce: i = 1e3, enabled: a = !0 } = e, o = null, s = !1;
291
291
  function c() {
292
292
  return typeof a == "function" ? a() : a;
@@ -322,7 +322,7 @@ function qt(e) {
322
322
  destroy: h
323
323
  };
324
324
  }
325
- function Jt(e) {
325
+ function $t(e) {
326
326
  let t = ee(/* @__PURE__ */ new Set()), r = n(() => t.size > 0);
327
327
  function i(e) {
328
328
  return t.has(e);
@@ -340,7 +340,7 @@ function Jt(e) {
340
340
  hasHiddenBlocks: r
341
341
  };
342
342
  }
343
- function Yt(e) {
343
+ function en(e) {
344
344
  let t = _(!1), r = _(!1), i = n(() => !!e.definition.value?.dataSource), a = n(() => i.value && !e.block.value.dataSourceFetched);
345
345
  async function o() {
346
346
  let n = e.definition.value;
@@ -370,7 +370,7 @@ function Yt(e) {
370
370
  needsFetch: a
371
371
  };
372
372
  }
373
- function Xt(e, t) {
373
+ function tn(e, t) {
374
374
  let n = e.addBlock, r = e.removeBlock, i = e.moveBlock, a = e.updateBlock, o = e.updateSettings;
375
375
  e.addBlock = (r, i, a, o) => {
376
376
  i && e.isBlockLocked(i) || (t.record(), n(r, i, a, o));
@@ -386,26 +386,26 @@ function Xt(e, t) {
386
386
  }
387
387
  //#endregion
388
388
  //#region src/utils/activeEditorTracker.ts
389
- var Zt = /* @__PURE__ */ new Set(), Qt = 0, $t = 0;
390
- function en() {
391
- let e = ++$t;
392
- return Zt.add(e), Qt === 0 && (Qt = e), {
389
+ var nn = /* @__PURE__ */ new Set(), rn = 0, an = 0;
390
+ function on() {
391
+ let e = ++an;
392
+ return nn.add(e), rn === 0 && (rn = e), {
393
393
  id: e,
394
- isActive: () => Zt.size <= 1 || Qt === e,
394
+ isActive: () => nn.size <= 1 || rn === e,
395
395
  claim: () => {
396
- Qt = e;
396
+ rn = e;
397
397
  },
398
398
  dispose: () => {
399
- if (Zt.delete(e), Qt === e) {
400
- let e = Array.from(Zt);
401
- Qt = e[e.length - 1] ?? 0;
399
+ if (nn.delete(e), rn === e) {
400
+ let e = Array.from(nn);
401
+ rn = e[e.length - 1] ?? 0;
402
402
  }
403
403
  }
404
404
  };
405
405
  }
406
406
  //#endregion
407
407
  //#region src/composables/useImageUrlResolver.ts
408
- function tn(e) {
408
+ function sn(e) {
409
409
  let t = ee(/* @__PURE__ */ new Map()), n = /* @__PURE__ */ new Set();
410
410
  function r(e) {
411
411
  return t.get(e);
@@ -438,8 +438,8 @@ function tn(e) {
438
438
  lookup: a
439
439
  };
440
440
  }
441
- function nn(e) {
442
- let t = N(Ot, null), n = j(e);
441
+ function cn(e) {
442
+ let t = N(gt, null), n = j(e);
443
443
  if (!t) return n;
444
444
  let r;
445
445
  function i() {
@@ -468,7 +468,7 @@ function nn(e) {
468
468
  }
469
469
  //#endregion
470
470
  //#region src/composables/useMergeTagPicker.ts
471
- function rn() {
471
+ function ln() {
472
472
  let e = _(!1), t = _([]), n = null;
473
473
  function r(r) {
474
474
  if (n) {
@@ -498,7 +498,7 @@ function rn() {
498
498
  }
499
499
  //#endregion
500
500
  //#region src/composables/useLogicTagPicker.ts
501
- function an() {
501
+ function un() {
502
502
  let e = _(!1), t = _([]), n = _([]), r = null;
503
503
  function i(i, a) {
504
504
  if (r) {
@@ -529,17 +529,17 @@ function an() {
529
529
  }
530
530
  //#endregion
531
531
  //#region src/composables/useTemplateLint.ts
532
- function on(e) {
532
+ function dn(e) {
533
533
  return e ? e.disabled === !0 || e.accessibility === !1 && e.structure === !1 && e.links === !1 : !1;
534
534
  }
535
- function sn(e) {
536
- let t = _([]), n = _(!1), r = _(!1), i = v(null), a = on(e.options), o = null, s = !1;
535
+ function fn(e) {
536
+ let t = _([]), n = _(!1), r = _(!1), i = v(null), a = dn(e.options), o = null, s = !1;
537
537
  a || l();
538
538
  async function l() {
539
539
  try {
540
540
  let t = await import("@templatical/quality");
541
541
  if (s) return;
542
- i.value = { lintTemplate: t.lintTemplate }, n.value = !0, u(), o = He(e.content, u, {
542
+ i.value = { lintTemplate: t.lintTemplate }, n.value = !0, u(), o = We(e.content, u, {
543
543
  debounce: e.debounce ?? 500,
544
544
  deep: !0
545
545
  });
@@ -574,12 +574,12 @@ function sn(e) {
574
574
  }
575
575
  //#endregion
576
576
  //#region src/utils/blockTypeLabels.ts
577
- function cn(e, t) {
577
+ function pn(e, t) {
578
578
  return t.blocks[e] ?? e;
579
579
  }
580
580
  //#endregion
581
581
  //#region src/composables/useKeyboardReorder.ts
582
- function ln(e, t) {
582
+ function mn(e, t) {
583
583
  let n = _(null), r = _(""), i = null;
584
584
  function a(t) {
585
585
  let n = e.content.value.blocks, r = n.findIndex((e) => e.id === t);
@@ -606,7 +606,7 @@ function ln(e, t) {
606
606
  let r = a(n);
607
607
  if (!r) return "";
608
608
  let i = (r.sectionId ? s(r.sectionId, r.columnIndex ?? 0) : e.content.value.blocks)?.[r.index];
609
- return i ? cn(i.type, t.t) : "";
609
+ return i ? pn(i.type, t.t) : "";
610
610
  }
611
611
  function s(t, n) {
612
612
  return e.content.value.blocks.find((e) => e.id === t && e.type === "section")?.children[n] ?? null;
@@ -675,13 +675,13 @@ function ln(e, t) {
675
675
  }
676
676
  //#endregion
677
677
  //#region src/composables/useUiTheme.ts
678
- function un(e) {
679
- let t = Ke("(prefers-color-scheme: dark)");
678
+ function hn(e) {
679
+ let t = Je("(prefers-color-scheme: dark)");
680
680
  return { resolvedTheme: j(() => e.value === "auto" ? t.value ? "dark" : "light" : e.value) };
681
681
  }
682
682
  //#endregion
683
683
  //#region src/composables/useThemeStyles.ts
684
- var dn = {
684
+ var gn = {
685
685
  bg: "--tpl-bg",
686
686
  bgElevated: "--tpl-bg-elevated",
687
687
  bgHover: "--tpl-bg-hover",
@@ -705,10 +705,10 @@ var dn = {
705
705
  dangerLight: "--tpl-danger-light",
706
706
  canvasBg: "--tpl-canvas-bg"
707
707
  };
708
- function fn({ themeOverrides: e, resolvedTheme: t, extraStyles: n }) {
708
+ function _n({ themeOverrides: e, resolvedTheme: t, extraStyles: n }) {
709
709
  return { themeStyles: j(() => {
710
710
  let r = {}, i = e.value, a = t.value === "dark" ? i.dark : i;
711
- if (a) for (let [e, t] of Object.entries(dn)) {
711
+ if (a) for (let [e, t] of Object.entries(gn)) {
712
712
  let n = a[e];
713
713
  n && (r[t] = n);
714
714
  }
@@ -717,27 +717,27 @@ function fn({ themeOverrides: e, resolvedTheme: t, extraStyles: n }) {
717
717
  }
718
718
  //#endregion
719
719
  //#region src/utils/logger.ts
720
- var pn = "[Templatical]";
721
- function mn() {
720
+ var vn = "[Templatical]";
721
+ function yn() {
722
722
  return typeof process < "u" && process.env.NODE_ENV === "production";
723
723
  }
724
- var hn = {
724
+ var bn = {
725
725
  warn(...e) {
726
- console.warn(pn, ...e);
726
+ console.warn(vn, ...e);
727
727
  },
728
728
  error(...e) {
729
- console.error(pn, ...e);
729
+ console.error(vn, ...e);
730
730
  },
731
731
  debug(...e) {
732
- mn() || console.debug(pn, ...e);
732
+ yn() || console.debug(vn, ...e);
733
733
  },
734
734
  info(...e) {
735
- mn() || console.info(pn, ...e);
735
+ yn() || console.info(vn, ...e);
736
736
  }
737
737
  };
738
738
  //#endregion
739
739
  //#region src/composables/useBlockRegistry.ts
740
- function gn() {
740
+ function xn() {
741
741
  let e = v(/* @__PURE__ */ new Map());
742
742
  function t(t, n) {
743
743
  e.value.set(t, n), ne(e);
@@ -745,7 +745,7 @@ function gn() {
745
745
  function n(t, n) {
746
746
  let r = `custom:${t.type}`, i = {
747
747
  component: n,
748
- createBlock: () => Ie(t),
748
+ createBlock: () => Ee(t),
749
749
  definition: t
750
750
  };
751
751
  e.value.set(r, i), ne(e);
@@ -777,7 +777,7 @@ function gn() {
777
777
  strictFilters: !1
778
778
  }).parseAndRender(t.template, e.fieldValues);
779
779
  } catch (t) {
780
- return hn.error(`Failed to render custom block "${e.customType}":`, t), o(`Render error: ${e.customType}`);
780
+ return bn.error(`Failed to render custom block "${e.customType}":`, t), o(`Render error: ${e.customType}`);
781
781
  }
782
782
  }
783
783
  function c(t) {
@@ -795,9 +795,9 @@ function gn() {
795
795
  }
796
796
  //#endregion
797
797
  //#region src/composables/useCustomBlockStylesheets.ts
798
- function _n(e, t) {
798
+ function Sn(e, t) {
799
799
  return j(() => {
800
- let n = vn(e.value.blocks);
800
+ let n = Cn(e.value.blocks);
801
801
  if (n.size === 0) return [];
802
802
  let r = /* @__PURE__ */ new Set(), i = [];
803
803
  for (let e of n) {
@@ -809,81 +809,81 @@ function _n(e, t) {
809
809
  return i;
810
810
  });
811
811
  }
812
- function vn(e) {
812
+ function Cn(e) {
813
813
  let t = /* @__PURE__ */ new Set();
814
- return yn(e, t), t;
814
+ return wn(e, t), t;
815
815
  }
816
- function yn(e, t) {
816
+ function wn(e, t) {
817
817
  for (let n of e) {
818
- if (he(n)) {
818
+ if (ue(n)) {
819
819
  t.add(n.customType);
820
820
  continue;
821
821
  }
822
822
  if (n.type === "section") {
823
823
  let e = n.children;
824
824
  if (!e) continue;
825
- for (let n of e) yn(n, t);
825
+ for (let n of e) wn(n, t);
826
826
  }
827
827
  }
828
828
  }
829
829
  //#endregion
830
830
  //#region src/utils/registerBuiltInBlocks.ts
831
- var bn = [
831
+ var Tn = [
832
832
  {
833
833
  type: "section",
834
- createBlock: ye
834
+ createBlock: He
835
835
  },
836
836
  {
837
837
  type: "title",
838
- createBlock: ze
838
+ createBlock: de
839
839
  },
840
840
  {
841
841
  type: "paragraph",
842
- createBlock: we
842
+ createBlock: ze
843
843
  },
844
844
  {
845
845
  type: "image",
846
- createBlock: ke
846
+ createBlock: De
847
847
  },
848
848
  {
849
849
  type: "button",
850
- createBlock: xe
850
+ createBlock: Re
851
851
  },
852
852
  {
853
853
  type: "divider",
854
- createBlock: Ce
854
+ createBlock: Ne
855
855
  },
856
856
  {
857
857
  type: "video",
858
- createBlock: _e
858
+ createBlock: Be
859
859
  },
860
860
  {
861
861
  type: "social",
862
- createBlock: Le
862
+ createBlock: Ce
863
863
  },
864
864
  {
865
865
  type: "menu",
866
- createBlock: Te
866
+ createBlock: xe
867
867
  },
868
868
  {
869
869
  type: "table",
870
- createBlock: be
870
+ createBlock: ye
871
871
  },
872
872
  {
873
873
  type: "spacer",
874
- createBlock: Be
874
+ createBlock: Ve
875
875
  },
876
876
  {
877
877
  type: "html",
878
- createBlock: Me
878
+ createBlock: Oe
879
879
  },
880
880
  {
881
881
  type: "countdown",
882
- createBlock: Oe
882
+ createBlock: Te
883
883
  }
884
884
  ];
885
- function xn(e, t) {
886
- for (let n of bn) {
885
+ function En(e, t) {
886
+ for (let n of Tn) {
887
887
  let r = t[n.type];
888
888
  r && e.registerBuiltIn(n.type, {
889
889
  component: r,
@@ -893,12 +893,33 @@ function xn(e, t) {
893
893
  }
894
894
  //#endregion
895
895
  //#region src/utils/resolveHtmlBlockPreview.ts
896
- function Sn(e) {
896
+ function Dn(e) {
897
897
  return typeof e == "boolean" ? e : e?.enabled ?? !1;
898
898
  }
899
899
  //#endregion
900
+ //#region src/utils/collectOffPaletteDefaults.ts
901
+ function On(e) {
902
+ return typeof e == "object" && !!e && !Array.isArray(e);
903
+ }
904
+ function kn(e, t, n) {
905
+ let r = new Set(e.map((e) => Qe(e))), i = [], a = (e, t) => {
906
+ for (let [n, o] of Object.entries(e)) typeof o == "string" ? o !== "" && /color$/i.test(n) && !r.has(Qe(o)) && i.push(`${t}.${n}: ${o}`) : On(o) && a(o, `${t}.${n}`);
907
+ }, o = t;
908
+ for (let [e, t] of Object.entries(Le)) {
909
+ let n = o?.[e];
910
+ a({
911
+ ...t,
912
+ ...On(n) ? n : {}
913
+ }, e);
914
+ }
915
+ return a({
916
+ ...Pe,
917
+ ...n ?? {}
918
+ }, "template"), i;
919
+ }
920
+ //#endregion
900
921
  //#region src/utils/keyboardShortcuts.ts
901
- function Cn(e) {
922
+ function An(e) {
902
923
  for (let t of e.composedPath()) {
903
924
  if (!(t instanceof HTMLElement)) continue;
904
925
  if (t.isContentEditable) return !0;
@@ -907,14 +928,14 @@ function Cn(e) {
907
928
  }
908
929
  return !1;
909
930
  }
910
- function wn(e, t) {
931
+ function jn(e, t) {
911
932
  let n = e.metaKey || e.ctrlKey;
912
933
  if (n && e.key.toLowerCase() === "s") {
913
934
  e.preventDefault(), t.onSave?.();
914
935
  return;
915
936
  }
916
937
  if (n && e.key.toLowerCase() === "z") {
917
- if (Cn(e)) return;
938
+ if (An(e)) return;
918
939
  e.preventDefault(), e.shiftKey ? t.history.redo() : (t.onBeforeUndo?.(), t.history.undo());
919
940
  return;
920
941
  }
@@ -922,11 +943,11 @@ function wn(e, t) {
922
943
  t.selectBlock(null);
923
944
  return;
924
945
  }
925
- (e.key === "Delete" || e.key === "Backspace") && t.getSelectedBlockId() && !Cn(e) && (e.preventDefault(), t.history.record(), t.removeBlock(t.getSelectedBlockId()));
946
+ (e.key === "Delete" || e.key === "Backspace") && t.getSelectedBlockId() && !An(e) && (e.preventDefault(), t.history.record(), t.removeBlock(t.getSelectedBlockId()));
926
947
  }
927
948
  //#endregion
928
949
  //#region src/utils/mergeTagLabelSegments.ts
929
- function Tn(e, t, n) {
950
+ function Mn(e, t, n) {
930
951
  if (!e) return [];
931
952
  let r = RegExp(`(${n.value.source}|${n.logic.source})`, "g"), i = [], a = 0, o;
932
953
  for (; (o = r.exec(e)) !== null;) {
@@ -935,12 +956,12 @@ function Tn(e, t, n) {
935
956
  value: e.slice(a, o.index)
936
957
  });
937
958
  let r = o[0];
938
- ue(r, n) ? i.push({
959
+ ge(r, n) ? i.push({
939
960
  type: "tag",
940
- value: ve(r, t)
941
- }) : De(r, n) ? i.push({
961
+ value: fe(r, t)
962
+ }) : Ae(r, n) ? i.push({
942
963
  type: "tag",
943
- value: Re(r, n)
964
+ value: pe(r, n)
944
965
  }) : i.push({
945
966
  type: "text",
946
967
  value: r
@@ -953,20 +974,20 @@ function Tn(e, t, n) {
953
974
  }
954
975
  //#endregion
955
976
  //#region src/components/MergeTagPreviewText.vue
956
- var En = y({
977
+ var Nn = y({
957
978
  name: "MergeTagPreviewText",
958
979
  props: { text: {
959
980
  type: String,
960
981
  required: !0
961
982
  } },
962
983
  setup(e) {
963
- let t = N(Et, []), n = N($e, Ne.liquid), r = j(() => Tn(e.text, t, n));
984
+ let t = N(pt, []), n = N(ut, Se.liquid), r = j(() => Mn(e.text, t, n));
964
985
  return () => r.value.map((e, t) => e.type === "tag" ? ae("span", {
965
986
  key: t,
966
987
  class: "tpl-merge-tag-label"
967
988
  }, e.value) : e.value);
968
989
  }
969
- }), Dn = { class: "tpl:text-center" }, On = ["href"], kn = /* @__PURE__ */ y({
990
+ }), Pn = { class: "tpl:text-center" }, Fn = ["href"], In = /* @__PURE__ */ y({
970
991
  __name: "ButtonBlock",
971
992
  props: {
972
993
  block: {},
@@ -987,17 +1008,17 @@ var En = y({
987
1008
  };
988
1009
  return t.block.fontFamily && (e.fontFamily = t.block.fontFamily), t.block.width === "full" ? (e.display = "block", e.width = "100%", e.boxSizing = "border-box") : typeof t.block.width == "number" && (e.width = `${t.block.width}px`, e.boxSizing = "border-box"), e;
989
1010
  });
990
- return (t, r) => (f(), x("div", Dn, [b("a", {
1011
+ return (t, r) => (f(), x("div", Pn, [b("a", {
991
1012
  href: e.block.url || "#",
992
1013
  style: i(n.value),
993
1014
  class: "tpl:cursor-default",
994
1015
  onClick: r[0] ||= P(() => {}, ["prevent"])
995
- }, [w(En, { text: e.block.text }, null, 8, ["text"])], 12, On)]));
1016
+ }, [w(Nn, { text: e.block.text }, null, 8, ["text"])], 12, Fn)]));
996
1017
  }
997
- }), An = F("bookmark", [["path", {
1018
+ }), Ln = F("bookmark", [["path", {
998
1019
  d: "M17 3a2 2 0 0 1 2 2v15a1 1 0 0 1-1.496.868l-4.512-2.578a2 2 0 0 0-1.984 0l-4.512 2.578A1 1 0 0 1 5 20V5a2 2 0 0 1 2-2z",
999
1020
  key: "oz39mx"
1000
- }]]), jn = F("box", [
1021
+ }]]), Rn = F("box", [
1001
1022
  ["path", {
1002
1023
  d: "M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z",
1003
1024
  key: "hh9hay"
@@ -1010,13 +1031,13 @@ var En = y({
1010
1031
  d: "M12 22V12",
1011
1032
  key: "d0xqtd"
1012
1033
  }]
1013
- ]), Mn = F("code", [["path", {
1034
+ ]), zn = F("code", [["path", {
1014
1035
  d: "m16 18 6-6-6-6",
1015
1036
  key: "eg8j8"
1016
1037
  }], ["path", {
1017
1038
  d: "m8 6-6 6 6 6",
1018
1039
  key: "ppft3o"
1019
- }]]), Nn = F("copy", [["rect", {
1040
+ }]]), Bn = F("copy", [["rect", {
1020
1041
  width: "14",
1021
1042
  height: "14",
1022
1043
  x: "8",
@@ -1027,7 +1048,7 @@ var En = y({
1027
1048
  }], ["path", {
1028
1049
  d: "M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",
1029
1050
  key: "zix9uf"
1030
- }]]), Pn = F("eye-off", [
1051
+ }]]), Vn = F("eye-off", [
1031
1052
  ["path", {
1032
1053
  d: "M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",
1033
1054
  key: "ct8e1f"
@@ -1044,10 +1065,10 @@ var En = y({
1044
1065
  d: "m2 2 20 20",
1045
1066
  key: "1ooewy"
1046
1067
  }]
1047
- ]), Fn = F("funnel", [["path", {
1068
+ ]), Hn = F("funnel", [["path", {
1048
1069
  d: "M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z",
1049
1070
  key: "sc7q7i"
1050
- }]]), In = F("grip-vertical", [
1071
+ }]]), Un = F("grip-vertical", [
1051
1072
  ["circle", {
1052
1073
  cx: "9",
1053
1074
  cy: "12",
@@ -1084,7 +1105,7 @@ var En = y({
1084
1105
  r: "1",
1085
1106
  key: "f4zoj3"
1086
1107
  }]
1087
- ]), Ln = F("image", [
1108
+ ]), Wn = F("image", [
1088
1109
  ["rect", {
1089
1110
  width: "18",
1090
1111
  height: "18",
@@ -1104,13 +1125,13 @@ var En = y({
1104
1125
  d: "m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",
1105
1126
  key: "1xmnt7"
1106
1127
  }]
1107
- ]), Rn = F("navigation", [["polygon", {
1128
+ ]), Gn = F("navigation", [["polygon", {
1108
1129
  points: "3 11 22 2 13 21 11 13 3 11",
1109
1130
  key: "1ltx0t"
1110
- }]]), zn = F("puzzle", [["path", {
1131
+ }]]), Kn = F("puzzle", [["path", {
1111
1132
  d: "M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z",
1112
1133
  key: "w46dr5"
1113
- }]]), Bn = F("share-2", [
1134
+ }]]), qn = F("share-2", [
1114
1135
  ["circle", {
1115
1136
  cx: "18",
1116
1137
  cy: "5",
@@ -1143,7 +1164,7 @@ var En = y({
1143
1164
  y2: "10.49",
1144
1165
  key: "1n3mei"
1145
1166
  }]
1146
- ]), Vn = F("table", [
1167
+ ]), Jn = F("table", [
1147
1168
  ["path", {
1148
1169
  d: "M12 3v18",
1149
1170
  key: "108xh3"
@@ -1164,7 +1185,7 @@ var En = y({
1164
1185
  d: "M3 15h18",
1165
1186
  key: "5xshup"
1166
1187
  }]
1167
- ]), Hn = F("video", [["path", {
1188
+ ]), Yn = F("video", [["path", {
1168
1189
  d: "m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5",
1169
1190
  key: "ftymec"
1170
1191
  }], ["rect", {
@@ -1174,11 +1195,11 @@ var En = y({
1174
1195
  height: "12",
1175
1196
  rx: "2",
1176
1197
  key: "158x01"
1177
- }]]), Un = ["innerHTML"], Wn = [
1198
+ }]]), Xn = ["innerHTML"], Zn = [
1178
1199
  "src",
1179
1200
  "width",
1180
1201
  "height"
1181
- ], Gn = /* @__PURE__ */ y({
1202
+ ], Qn = /* @__PURE__ */ y({
1182
1203
  __name: "CustomBlockIcon",
1183
1204
  props: {
1184
1205
  icon: {},
@@ -1194,14 +1215,14 @@ var En = y({
1194
1215
  height: `${n.value}px`
1195
1216
  }),
1196
1217
  innerHTML: e.icon
1197
- }, null, 12, Un)) : a.value ? (f(), x("img", {
1218
+ }, null, 12, Xn)) : a.value ? (f(), x("img", {
1198
1219
  key: 1,
1199
1220
  src: e.icon,
1200
1221
  width: n.value,
1201
1222
  height: n.value,
1202
1223
  class: "tpl:inline-block",
1203
1224
  alt: ""
1204
- }, null, 8, Wn)) : (f(), D(k(jn), {
1225
+ }, null, 8, Zn)) : (f(), D(k(Rn), {
1205
1226
  key: 2,
1206
1227
  size: n.value,
1207
1228
  "stroke-width": 1.5
@@ -1210,16 +1231,16 @@ var En = y({
1210
1231
  });
1211
1232
  //#endregion
1212
1233
  //#region src/composables/useEditorRoot.ts
1213
- function Kn() {
1214
- return N(ht, document) ?? document;
1234
+ function $n() {
1235
+ return N(yt, document) ?? document;
1215
1236
  }
1216
1237
  //#endregion
1217
1238
  //#region src/composables/useFocusTrap.ts
1218
- var qn = "a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex=\"-1\"])";
1219
- function Jn(e, t) {
1220
- let n = Kn(), r = null, i = null, a = null;
1239
+ var er = "a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex=\"-1\"])";
1240
+ function tr(e, t) {
1241
+ let n = $n(), r = null, i = null, a = null;
1221
1242
  function o() {
1222
- return e.value ? Array.from(e.value.querySelectorAll(qn)).filter((e) => e.offsetParent !== null) : [];
1243
+ return e.value ? Array.from(e.value.querySelectorAll(er)).filter((e) => e.offsetParent !== null) : [];
1223
1244
  }
1224
1245
  function s(e) {
1225
1246
  if (e.key !== "Tab") return;
@@ -1234,7 +1255,7 @@ function Jn(e, t) {
1234
1255
  a = null;
1235
1256
  let t = o();
1236
1257
  t.length > 0 && (e.value?.querySelector("[autofocus], input:not([disabled])") ?? t[0]).focus();
1237
- }), i = Ye(e, "keydown", s);
1258
+ }), i = et(e, "keydown", s);
1238
1259
  }
1239
1260
  function d(e = {}) {
1240
1261
  let t = e.restoreFocus !== !1;
@@ -1249,8 +1270,8 @@ function Jn(e, t) {
1249
1270
  }
1250
1271
  //#endregion
1251
1272
  //#region src/composables/useEmoji.ts
1252
- function Yn() {
1253
- let [e, t] = Ue(!1), n = v([]), r = !1;
1273
+ function nr() {
1274
+ let [e, t] = Ge(!1), n = v([]), r = !1;
1254
1275
  u(() => {
1255
1276
  r = !0;
1256
1277
  }), c(e, async (e) => {
@@ -1275,7 +1296,7 @@ function Yn() {
1275
1296
  }
1276
1297
  //#endregion
1277
1298
  //#region src/composables/useDragDrop.ts
1278
- function Xn(e) {
1299
+ function rr(e) {
1279
1300
  let { onBlockMove: t, onBlockAdd: n } = e, r = _(!1), i = _(null), a = _(null);
1280
1301
  function o(e) {
1281
1302
  r.value = !0, i.value = e;
@@ -1325,7 +1346,7 @@ function Xn(e) {
1325
1346
  }
1326
1347
  //#endregion
1327
1348
  //#region src/composables/useFonts.ts
1328
- var Zn = [
1349
+ var ir = [
1329
1350
  {
1330
1351
  value: "Arial",
1331
1352
  label: "Arial"
@@ -1354,7 +1375,7 @@ var Zn = [
1354
1375
  value: "Courier New",
1355
1376
  label: "Courier New"
1356
1377
  }
1357
- ], Qn = {
1378
+ ], ar = {
1358
1379
  arial: "Arial, sans-serif",
1359
1380
  helvetica: "Helvetica, sans-serif",
1360
1381
  georgia: "Georgia, serif",
@@ -1362,91 +1383,107 @@ var Zn = [
1362
1383
  verdana: "Verdana, sans-serif",
1363
1384
  "trebuchet ms": "'Trebuchet MS', sans-serif",
1364
1385
  "courier new": "'Courier New', monospace"
1365
- }, $n = "Arial, sans-serif";
1366
- function er(e) {
1367
- let t = _(e?.customFonts ?? []), n = _(!0), r = _(!1), i = j(() => e?.defaultFallback ?? $n);
1368
- function a(e) {
1386
+ }, or = "Arial, sans-serif";
1387
+ function sr(e) {
1388
+ if (e === void 0 || e === !0) return [...ir];
1389
+ if (e === !1) return [];
1390
+ let t = [], n = /* @__PURE__ */ new Set(), r = /* @__PURE__ */ new Set();
1391
+ for (let i of e) {
1392
+ let e = i.toLowerCase(), a = ir.find((t) => t.value.toLowerCase() === e);
1393
+ if (!a) {
1394
+ r.has(e) || (r.add(e), bn.warn(`config.fonts.builtIns: "${i}" is not a built-in font — skipping it. Built-in fonts are: ${ir.map((e) => e.value).join(", ")}.`));
1395
+ continue;
1396
+ }
1397
+ n.has(a.value) || (n.add(a.value), t.push(a));
1398
+ }
1399
+ return t;
1400
+ }
1401
+ function cr(e) {
1402
+ let t = _(e?.customFonts ?? []), n = _(!0), r = _(!1), i = sr(e?.builtIns), a = j(() => e?.defaultFallback ?? or);
1403
+ function o(e) {
1369
1404
  n.value = e;
1370
1405
  }
1371
- let o = j(() => {
1372
- let e = [...Zn];
1406
+ let c = j(() => {
1407
+ let e = [...i];
1373
1408
  if (!n.value) return e.sort((e, t) => e.label.localeCompare(t.label));
1374
1409
  let r = t.value.map((e) => ({
1375
1410
  value: e.name,
1376
1411
  label: e.name,
1377
1412
  isCustom: !0
1378
- })), i = [...e, ...r];
1379
- return i.sort((e, t) => e.label.localeCompare(t.label)), i;
1413
+ })), a = [...e, ...r];
1414
+ return a.sort((e, t) => e.label.localeCompare(t.label)), a;
1380
1415
  });
1381
- function c(e) {
1382
- return o.value.some((t) => t.label.toLowerCase() === e.toLowerCase() || t.value.toLowerCase().startsWith(e.toLowerCase()));
1383
- }
1384
1416
  function l(e) {
1385
- return Zn.some((t) => t.label.toLowerCase() === e.toLowerCase() || t.value.toLowerCase().startsWith(e.toLowerCase()));
1417
+ return c.value.some((t) => t.label.toLowerCase() === e.toLowerCase() || t.value.toLowerCase().startsWith(e.toLowerCase()));
1386
1418
  }
1387
- function d() {
1419
+ let d = e?.defaultFont ?? or.split(",")[0].trim();
1420
+ l(d) || bn.warn(`config.fonts: new templates seed "${d}", which the font picker doesn't offer — authors can't reselect it. Either add it to fonts.builtIns, or set fonts.defaultFont to an offered font.`);
1421
+ function f(e) {
1422
+ return ir.some((t) => t.label.toLowerCase() === e.toLowerCase() || t.value.toLowerCase().startsWith(e.toLowerCase()));
1423
+ }
1424
+ function p() {
1388
1425
  if (e?.defaultFont) {
1389
- if (!n.value && !l(e.defaultFont)) return $n;
1390
- if (c(e.defaultFont)) {
1391
- let t = o.value.find((t) => t.label.toLowerCase() === e.defaultFont.toLowerCase() || t.value.toLowerCase().startsWith(e.defaultFont.toLowerCase()));
1426
+ if (!n.value && !f(e.defaultFont)) return or;
1427
+ if (l(e.defaultFont)) {
1428
+ let t = c.value.find((t) => t.label.toLowerCase() === e.defaultFont.toLowerCase() || t.value.toLowerCase().startsWith(e.defaultFont.toLowerCase()));
1392
1429
  if (t) return t.value;
1393
1430
  }
1394
1431
  }
1395
- return $n;
1432
+ return or;
1396
1433
  }
1397
- let f = j(() => d());
1398
- function p(e) {
1399
- if (!e) return i.value;
1434
+ let m = j(() => p());
1435
+ function h(e) {
1436
+ if (!e) return a.value;
1400
1437
  let n = t.value.find((t) => t.name.toLowerCase() === e.toLowerCase());
1401
1438
  if (n) {
1402
- let e = n.fallback ?? i.value;
1439
+ let e = n.fallback ?? a.value;
1403
1440
  return `'${n.name}', ${e}`;
1404
1441
  }
1405
- return Qn[e.toLowerCase()] || (e.includes(",") ? e : `${e}, ${i.value}`);
1442
+ return ar[e.toLowerCase()] || (e.includes(",") ? e : `${e}, ${a.value}`);
1406
1443
  }
1407
- let m = [], h = !1;
1408
- async function g() {
1444
+ let g = [], v = !1;
1445
+ async function y() {
1409
1446
  if (t.value.length === 0) {
1410
- h || (r.value = !0);
1447
+ v || (r.value = !0);
1411
1448
  return;
1412
1449
  }
1413
1450
  let e = t.value.map(async (e) => {
1414
1451
  try {
1415
1452
  if (document.querySelector(`link[data-custom-font="${CSS.escape(e.name)}"]`)) return;
1416
1453
  let t = document.createElement("link");
1417
- t.rel = "stylesheet", t.href = e.url, t.setAttribute("data-custom-font", e.name), m.push(t), await new Promise((n, r) => {
1454
+ t.rel = "stylesheet", t.href = e.url, t.setAttribute("data-custom-font", e.name), g.push(t), await new Promise((n, r) => {
1418
1455
  t.onload = () => n(), t.onerror = () => r(/* @__PURE__ */ Error(`Failed to load font: ${e.name}`)), document.head.appendChild(t);
1419
1456
  });
1420
1457
  } catch (t) {
1421
- hn.warn(`Failed to load custom font "${e.name}":`, t);
1458
+ bn.warn(`Failed to load custom font "${e.name}":`, t);
1422
1459
  }
1423
1460
  });
1424
- await Promise.allSettled(e), !h && (r.value = !0);
1461
+ await Promise.allSettled(e), !v && (r.value = !0);
1425
1462
  }
1426
- function v() {
1427
- for (let e of m) e.remove();
1428
- m.length = 0;
1463
+ function b() {
1464
+ for (let e of g) e.remove();
1465
+ g.length = 0;
1429
1466
  }
1430
1467
  return s() && u(() => {
1431
- h = !0, v();
1468
+ v = !0, b();
1432
1469
  }), {
1433
- fonts: o,
1434
- defaultFont: f,
1435
- defaultFallback: i,
1470
+ fonts: c,
1471
+ defaultFont: m,
1472
+ defaultFallback: a,
1436
1473
  customFonts: t,
1437
1474
  customFontsEnabled: n,
1438
1475
  isLoaded: r,
1439
- setCustomFontsEnabled: a,
1440
- loadCustomFonts: g,
1441
- cleanupFontLinks: v,
1442
- getFontWithFallback: p,
1443
- getDefaultFont: d
1476
+ setCustomFontsEnabled: o,
1477
+ loadCustomFonts: y,
1478
+ cleanupFontLinks: b,
1479
+ getFontWithFallback: h,
1480
+ getDefaultFont: p
1444
1481
  };
1445
1482
  }
1446
1483
  //#endregion
1447
1484
  //#region src/composables/useLogicTag.ts
1448
- function tr() {
1449
- let e = N(st, []), t = N(Dt, []), n = N($e, Ne.liquid), r = N(at, null), i = N(Qe, null), a = _(!1), o = !!r || e.length > 0 || t.length > 0, s = e.length > 0 || t.length > 0;
1485
+ function lr() {
1486
+ let e = N(rt, []), t = N(ft, []), n = N(ut, Se.liquid), r = N(Ct, null), i = N(jt, null), a = _(!1), o = !!r || e.length > 0 || t.length > 0, s = e.length > 0 || t.length > 0;
1450
1487
  async function c() {
1451
1488
  if (r) {
1452
1489
  a.value = !0;
@@ -1477,12 +1514,12 @@ function tr() {
1477
1514
  }
1478
1515
  //#endregion
1479
1516
  //#region src/utils/mergeTagNodeSpec.ts
1480
- function nr(e, t, n) {
1481
- return De(e, n) ? {
1517
+ function ur(e, t, n) {
1518
+ return Ae(e, n) ? {
1482
1519
  type: "logicMergeTagNode",
1483
1520
  attrs: {
1484
1521
  value: e,
1485
- keyword: Re(e, n)
1522
+ keyword: pe(e, n)
1486
1523
  }
1487
1524
  } : {
1488
1525
  type: "mergeTagNode",
@@ -1494,15 +1531,15 @@ function nr(e, t, n) {
1494
1531
  }
1495
1532
  //#endregion
1496
1533
  //#region src/utils/insertLogicTag.ts
1497
- function rr(e) {
1534
+ function dr(e) {
1498
1535
  return "before" in e && "after" in e;
1499
1536
  }
1500
- function ir(e, t, n) {
1501
- if (!rr(t)) {
1502
- e.chain().focus().insertContent(nr(t.value, t.label, n)).run();
1537
+ function fr(e, t, n) {
1538
+ if (!dr(t)) {
1539
+ e.chain().focus().insertContent(ur(t.value, t.label, n)).run();
1503
1540
  return;
1504
1541
  }
1505
- let r = nr(t.before, t.label, n), i = nr(t.after, t.label, n), { from: a, to: o } = e.state.selection;
1542
+ let r = ur(t.before, t.label, n), i = ur(t.after, t.label, n), { from: a, to: o } = e.state.selection;
1506
1543
  if (a !== o) {
1507
1544
  e.chain().focus().insertContentAt(o, i).insertContentAt(a, r).run();
1508
1545
  return;
@@ -1511,20 +1548,20 @@ function ir(e, t, n) {
1511
1548
  }
1512
1549
  //#endregion
1513
1550
  //#region src/utils/linkColorExtension.ts
1514
- function ar(e) {
1551
+ function pr(e) {
1515
1552
  if (!e) return null;
1516
1553
  let t = e.trim();
1517
1554
  return /^#[0-9a-f]{3,8}$/i.test(t) || /^(rgb|rgba|hsl|hsla)\(\s*[0-9.,%/\s]+\)$/i.test(t) || /^[a-z]+$/i.test(t) ? t : null;
1518
1555
  }
1519
- function or(e) {
1556
+ function mr(e) {
1520
1557
  return e.extend({ addAttributes() {
1521
1558
  return {
1522
1559
  ...this.parent?.(),
1523
1560
  color: {
1524
1561
  default: null,
1525
- parseHTML: (e) => ar(Je(e.style.color)),
1562
+ parseHTML: (e) => pr(Ye(e.style.color)),
1526
1563
  renderHTML: (e) => {
1527
- let t = ar(e.color);
1564
+ let t = pr(e.color);
1528
1565
  return t ? { style: `color: ${t}` } : {};
1529
1566
  }
1530
1567
  }
@@ -1533,9 +1570,9 @@ function or(e) {
1533
1570
  }
1534
1571
  //#endregion
1535
1572
  //#region src/composables/useRichTextLinkDialog.ts
1536
- function sr(e) {
1573
+ function hr(e) {
1537
1574
  let t = _(!1), n = _(""), r = _(""), i = _(null);
1538
- Jn(i, t);
1575
+ tr(i, t);
1539
1576
  function a() {
1540
1577
  let i = e.value?.getAttributes("link") ?? {};
1541
1578
  n.value = i.href || "", r.value = i.color || "", t.value = !0;
@@ -1544,7 +1581,7 @@ function sr(e) {
1544
1581
  if (n.value) {
1545
1582
  let t = c(n.value);
1546
1583
  if (t !== null) {
1547
- let n = ar(r.value), i = e.value?.chain().focus().extendMarkRange("link").setLink({ href: t }).updateAttributes("link", { color: n });
1584
+ let n = pr(r.value), i = e.value?.chain().focus().extendMarkRange("link").setLink({ href: t }).updateAttributes("link", { color: n });
1548
1585
  n && typeof e.value?.commands.unsetColor == "function" && i?.unsetColor(), i?.run();
1549
1586
  }
1550
1587
  }
@@ -1591,8 +1628,8 @@ function sr(e) {
1591
1628
  }
1592
1629
  //#endregion
1593
1630
  //#region src/composables/useRichTextEditor.ts
1594
- function cr(e) {
1595
- let t = N(yt, null), { mergeTags: n, canRequestMergeTag: r, isRequesting: i, requestMergeTag: a, syntax: o, autocomplete: s } = Lt(), { canInsertLogicTag: l, isRequesting: u, requestLogicTag: d } = tr(), f = N(rt, null), p = (g(f) ? f.value : f)?.mergeTag?.suggestionEmpty ?? "No matching merge tags", m = fe(o), y = v(null), { showLinkDialog: b, linkUrl: x, linkColor: S, linkDialogRef: C, openLinkDialog: w, insertLink: T, removeLink: E, closeLinkDialog: D, handleLinkKeydown: O } = sr(y), { start: k, stop: ee } = We(() => y.value?.commands.focus("end"), 0, { immediate: !1 }), A = v(null), te = _(!0), j = _(null), ne = !1;
1631
+ function gr(e) {
1632
+ let t = N(bt, null), { mergeTags: n, canRequestMergeTag: r, isRequesting: i, requestMergeTag: a, syntax: o, autocomplete: s } = Ht(), { canInsertLogicTag: l, isRequesting: u, requestLogicTag: d } = lr(), f = N(dt, null), p = (g(f) ? f.value : f)?.mergeTag?.suggestionEmpty ?? "No matching merge tags", m = je(o), y = v(null), { showLinkDialog: b, linkUrl: x, linkColor: S, linkDialogRef: C, openLinkDialog: w, insertLink: T, removeLink: E, closeLinkDialog: D, handleLinkKeydown: O } = hr(y), { start: k, stop: ee } = Ke(() => y.value?.commands.focus("end"), 0, { immediate: !1 }), A = v(null), te = _(!0), j = _(null), ne = !1;
1596
1633
  async function M() {
1597
1634
  j.value = null, te.value = !0;
1598
1635
  try {
@@ -1622,7 +1659,7 @@ function cr(e) {
1622
1659
  y.value = l, te.value = !1, k();
1623
1660
  } catch (t) {
1624
1661
  if (ne) return;
1625
- hn.error(`[${e.editorName ?? "RichTextEditor"}] Failed to initialize TipTap editor:`, t), j.value = t instanceof Error ? t.message : "Failed to load editor", te.value = !1;
1662
+ bn.error(`[${e.editorName ?? "RichTextEditor"}] Failed to initialize TipTap editor:`, t), j.value = t instanceof Error ? t.message : "Failed to load editor", te.value = !1;
1626
1663
  }
1627
1664
  }
1628
1665
  function re() {
@@ -1640,7 +1677,7 @@ function cr(e) {
1640
1677
  let a = n.some((e) => e instanceof HTMLElement && e.classList.contains("tpl-color-popover"));
1641
1678
  r.closest(".tpl-text-editor-wrapper") || r.closest(".tpl-text-toolbar") || r.closest(".tpl-link-dialog") || a || e.onDone();
1642
1679
  }
1643
- Ye(document, "mousedown", ae), h(() => {
1680
+ et(document, "mousedown", ae), h(() => {
1644
1681
  ne = !0, ie(), ee(), y.value?.destroy();
1645
1682
  });
1646
1683
  async function oe() {
@@ -1652,7 +1689,7 @@ function cr(e) {
1652
1689
  }
1653
1690
  async function P() {
1654
1691
  let e = await d();
1655
- ne || (e && y.value ? ir(y.value, e, o) : y.value?.commands.focus());
1692
+ ne || (e && y.value ? fr(y.value, e, o) : y.value?.commands.focus());
1656
1693
  }
1657
1694
  return {
1658
1695
  editor: y,
@@ -1681,9 +1718,9 @@ function cr(e) {
1681
1718
  }
1682
1719
  //#endregion
1683
1720
  //#region src/composables/useSmallScreenNotice.ts
1684
- var lr = "(max-width: 767px)";
1685
- function ur(e) {
1686
- let t = Ke(lr);
1721
+ var _r = "(max-width: 767px)";
1722
+ function vr(e) {
1723
+ let t = Je(_r);
1687
1724
  return {
1688
1725
  isSmallScreen: t,
1689
1726
  showNotice: j(() => (S(e) ?? !0) && t.value)
@@ -1691,20 +1728,20 @@ function ur(e) {
1691
1728
  }
1692
1729
  //#endregion
1693
1730
  //#region src/components/blocks/CustomBlock.vue?vue&type=script&setup=true&lang.ts
1694
- var dr = { class: "tpl:w-full" }, fr = {
1731
+ var yr = { class: "tpl:w-full" }, br = {
1695
1732
  key: 0,
1696
1733
  class: "tpl:flex tpl:min-h-[80px] tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded tpl:border tpl:border-dashed tpl:py-4 tpl:border-[var(--tpl-warning)] tpl:bg-[var(--tpl-warning-light)]"
1697
- }, pr = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, mr = {
1734
+ }, xr = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Sr = {
1698
1735
  key: 1,
1699
1736
  class: "tpl:flex tpl:min-h-[80px] tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded tpl:border tpl:border-dashed tpl:py-4 tpl:border-[var(--tpl-danger)] tpl:bg-[var(--tpl-danger-light)]"
1700
- }, hr = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, gr = {
1737
+ }, Cr = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, wr = {
1701
1738
  key: 2,
1702
1739
  class: "tpl:relative"
1703
- }, _r = ["innerHTML"], vr = {
1740
+ }, Tr = ["innerHTML"], Er = {
1704
1741
  key: 0,
1705
1742
  class: "tpl:absolute tpl:inset-0 tpl:flex tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:rounded tpl:backdrop-blur-[2px]",
1706
1743
  style: { "background-color": "color-mix(in srgb, var(--tpl-bg) 80%, transparent)" }
1707
- }, yr = /* @__PURE__ */ y({
1744
+ }, Dr = /* @__PURE__ */ y({
1708
1745
  __name: "CustomBlock",
1709
1746
  props: {
1710
1747
  block: {},
@@ -1712,7 +1749,7 @@ var dr = { class: "tpl:w-full" }, fr = {
1712
1749
  },
1713
1750
  emits: ["fetchData"],
1714
1751
  setup(e, { emit: t }) {
1715
- let n = e, r = t, { t: i } = At(), o = N(xt, null), s = _(""), l = _(!1), u = j(() => o?.getDefinition(n.block.customType)), d = j(() => !!u.value), { isFetching: m, fetch: h, needsFetch: g, hasDataSource: v } = Yt({
1752
+ let n = e, r = t, { t: i } = Ft(), o = N(Dt, null), s = _(""), l = _(!1), u = j(() => o?.getDefinition(n.block.customType)), d = j(() => !!u.value), { isFetching: m, fetch: h, needsFetch: g, hasDataSource: v } = en({
1716
1753
  definition: u,
1717
1754
  block: j(() => n.block),
1718
1755
  onUpdate: (e, t) => {
@@ -1733,15 +1770,15 @@ var dr = { class: "tpl:w-full" }, fr = {
1733
1770
  }
1734
1771
  }
1735
1772
  }
1736
- let S = Ve(y, 150);
1773
+ let S = Ue(y, 150);
1737
1774
  return a(() => {
1738
1775
  y();
1739
1776
  }), c(() => n.block.fieldValues, () => {
1740
1777
  S();
1741
- }, { deep: !0 }), (e, t) => (f(), x("div", dr, [d.value ? l.value ? (f(), x("div", mr, [w(k(Pt), {
1778
+ }, { deep: !0 }), (e, t) => (f(), x("div", yr, [d.value ? l.value ? (f(), x("div", Sr, [w(k(zt), {
1742
1779
  size: 24,
1743
1780
  class: "tpl:text-[var(--tpl-danger)]"
1744
- }), b("span", hr, p(k(i).customBlocks.renderError), 1)])) : (f(), x("div", gr, [b("div", { innerHTML: s.value }, null, 8, _r), k(v) && k(g) ? (f(), x("div", vr, [k(m) ? (f(), D(Ft, {
1781
+ }), b("span", Cr, p(k(i).customBlocks.renderError), 1)])) : (f(), x("div", wr, [b("div", { innerHTML: s.value }, null, 8, Tr), k(v) && k(g) ? (f(), x("div", Er, [k(m) ? (f(), D(Bt, {
1745
1782
  key: 1,
1746
1783
  class: "tpl:w-48"
1747
1784
  })) : (f(), x("button", {
@@ -1749,16 +1786,16 @@ var dr = { class: "tpl:w-full" }, fr = {
1749
1786
  type: "button",
1750
1787
  class: "tpl:flex tpl:cursor-pointer tpl:items-center tpl:gap-2 tpl:rounded-[var(--tpl-radius-sm)] tpl:border tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-2 tpl:text-sm tpl:font-semibold tpl:shadow-sm tpl:transition-all tpl:duration-150 hover:tpl:border-[var(--tpl-primary)] hover:tpl:shadow-md tpl:bg-[var(--tpl-primary-light)] tpl:text-[var(--tpl-primary-hover)]",
1751
1788
  onClick: t[0] ||= P((...e) => k(h) && k(h)(...e), ["stop"])
1752
- }, [u.value?.icon ? (f(), D(Gn, {
1789
+ }, [u.value?.icon ? (f(), D(Qn, {
1753
1790
  key: 0,
1754
1791
  icon: u.value.icon,
1755
1792
  size: 16
1756
- }, null, 8, ["icon"])) : M("", !0), O(" " + p(u.value?.dataSource?.label || k(i).customBlocks.dataSource.fetchButton), 1)]))])) : M("", !0)])) : (f(), x("div", fr, [w(k(zn), {
1793
+ }, null, 8, ["icon"])) : M("", !0), O(" " + p(u.value?.dataSource?.label || k(i).customBlocks.dataSource.fetchButton), 1)]))])) : M("", !0)])) : (f(), x("div", br, [w(k(Kn), {
1757
1794
  size: 24,
1758
1795
  class: "tpl:text-[var(--tpl-warning)]"
1759
- }), b("span", pr, p(k(i).customBlocks.definitionNotFound), 1)]))]));
1796
+ }), b("span", xr, p(k(i).customBlocks.definitionNotFound), 1)]))]));
1760
1797
  }
1761
- }), br = { class: "tpl:w-full" }, xr = /* @__PURE__ */ y({
1798
+ }), Or = { class: "tpl:w-full" }, kr = /* @__PURE__ */ y({
1762
1799
  __name: "DividerBlock",
1763
1800
  props: {
1764
1801
  block: {},
@@ -1770,28 +1807,28 @@ var dr = { class: "tpl:w-full" }, fr = {
1770
1807
  width: t.block.width === "full" ? "100%" : `${t.block.width}px`,
1771
1808
  margin: t.block.width === "full" ? "0" : "0 auto"
1772
1809
  }));
1773
- return (e, t) => (f(), x("div", br, [b("hr", {
1810
+ return (e, t) => (f(), x("div", Or, [b("hr", {
1774
1811
  class: "tpl:m-0 tpl:border-none",
1775
1812
  style: i(n.value)
1776
1813
  }, null, 4)]));
1777
1814
  }
1778
- }), Sr = { class: "tpl:w-full" }, Cr = ["srcdoc", "title"], wr = {
1815
+ }), Ar = { class: "tpl:w-full" }, jr = ["srcdoc", "title"], Mr = {
1779
1816
  key: 1,
1780
1817
  class: "tpl:flex tpl:min-h-[80px] tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded tpl:border tpl:border-dashed tpl:py-4 tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-hover)]"
1781
- }, Tr = {
1818
+ }, Nr = {
1782
1819
  key: 0,
1783
1820
  class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]"
1784
- }, Er = {
1821
+ }, Pr = {
1785
1822
  key: 1,
1786
1823
  class: "tpl:text-sm tpl:text-[var(--tpl-text-dim)]"
1787
- }, Dr = /* @__PURE__ */ y({
1824
+ }, Fr = /* @__PURE__ */ y({
1788
1825
  __name: "HtmlBlock",
1789
1826
  props: {
1790
1827
  block: {},
1791
1828
  viewport: {}
1792
1829
  },
1793
1830
  setup(e) {
1794
- let t = e, { t: n } = At(), r = N(Tt, !1), a = j(() => t.block.content.trim().length > 0), o = j(() => r && a.value), s = _(null), l = _(60), u = null;
1831
+ let t = e, { t: n } = Ft(), r = N(Nt, !1), a = j(() => t.block.content.trim().length > 0), o = j(() => r && a.value), s = _(null), l = _(60), u = null;
1795
1832
  function d() {
1796
1833
  let e = s.value?.contentDocument;
1797
1834
  e && (l.value = Math.max(e.body?.scrollHeight ?? 0, e.documentElement?.scrollHeight ?? 0));
@@ -1805,7 +1842,7 @@ var dr = { class: "tpl:w-full" }, fr = {
1805
1842
  e || (u?.disconnect(), u = null);
1806
1843
  }), h(() => {
1807
1844
  u?.disconnect(), u = null;
1808
- }), (t, r) => (f(), x("div", Sr, [o.value ? (f(), x("iframe", {
1845
+ }), (t, r) => (f(), x("div", Ar, [o.value ? (f(), x("iframe", {
1809
1846
  key: 0,
1810
1847
  ref_key: "iframeRef",
1811
1848
  ref: s,
@@ -1815,18 +1852,18 @@ var dr = { class: "tpl:w-full" }, fr = {
1815
1852
  class: "tpl:block tpl:w-full tpl:border-0",
1816
1853
  style: i({ height: `${l.value}px` }),
1817
1854
  onLoad: m
1818
- }, null, 44, Cr)) : (f(), x("div", wr, [w(k(Mn), {
1855
+ }, null, 44, jr)) : (f(), x("div", Mr, [w(k(zn), {
1819
1856
  size: 24,
1820
1857
  class: "tpl:text-[var(--tpl-text-dim)]"
1821
- }), a.value ? (f(), x("span", Tr, p(k(n).html.preview), 1)) : (f(), x("span", Er, p(k(n).html.empty), 1))]))]));
1858
+ }), a.value ? (f(), x("span", Nr, p(k(n).html.preview), 1)) : (f(), x("span", Pr, p(k(n).html.empty), 1))]))]));
1822
1859
  }
1823
- }), Or = "image/";
1824
- function kr(e) {
1825
- let { target: t, onFiles: n, enabled: r } = e, i = () => r === void 0 || S(r), { isOverDropZone: a } = Ge(t, {
1860
+ }), Ir = "image/";
1861
+ function Lr(e) {
1862
+ let { target: t, onFiles: n, enabled: r } = e, i = () => r === void 0 || S(r), { isOverDropZone: a } = qe(t, {
1826
1863
  preventDefaultForUnhandled: !0,
1827
1864
  onDrop: (e) => {
1828
1865
  if (!i()) return;
1829
- let t = (e ?? []).filter((e) => e.type.startsWith(Or));
1866
+ let t = (e ?? []).filter((e) => e.type.startsWith(Ir));
1830
1867
  t.length > 0 && n([t[0]]);
1831
1868
  }
1832
1869
  });
@@ -1834,17 +1871,17 @@ function kr(e) {
1834
1871
  }
1835
1872
  //#endregion
1836
1873
  //#region src/components/blocks/ImageBlock.vue?vue&type=script&setup=true&lang.ts
1837
- var Ar = {
1874
+ var Rr = {
1838
1875
  key: 0,
1839
1876
  class: "tpl:pointer-events-none tpl:absolute tpl:inset-0 tpl:z-10 tpl:flex tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded tpl:border-2 tpl:border-dashed tpl:text-xs tpl:font-medium tpl:border-[var(--tpl-primary)] tpl:text-[var(--tpl-primary)]",
1840
1877
  style: { "background-color": "color-mix(in srgb, var(--tpl-bg) 85%, transparent)" }
1841
- }, jr = ["href"], Mr = ["src", "alt"], Nr = ["src", "alt"], Pr = {
1878
+ }, zr = ["href"], Br = ["src", "alt"], Vr = ["src", "alt"], Hr = {
1842
1879
  class: "tpl:max-w-full tpl:truncate tpl:px-3 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-primary)]",
1843
1880
  style: { opacity: "0.7" }
1844
- }, Fr = ["href"], Ir = ["src", "alt"], Lr = ["src", "alt"], Rr = {
1881
+ }, Ur = ["href"], Wr = ["src", "alt"], Gr = ["src", "alt"], Kr = {
1845
1882
  key: 4,
1846
1883
  class: "tpl:flex tpl:min-h-[100px] tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded tpl:border-2 tpl:border-dashed tpl:text-sm tpl:border-[var(--tpl-border-light)] tpl:bg-[var(--tpl-bg-hover)] tpl:text-[var(--tpl-text-dim)]"
1847
- }, zr = ["aria-label"], Br = { key: 1 }, Vr = /* @__PURE__ */ y({
1884
+ }, qr = ["aria-label"], Jr = { key: 1 }, Yr = /* @__PURE__ */ y({
1848
1885
  __name: "ImageBlock",
1849
1886
  props: {
1850
1887
  block: {},
@@ -1852,7 +1889,7 @@ var Ar = {
1852
1889
  },
1853
1890
  emits: ["update"],
1854
1891
  setup(e, { emit: t }) {
1855
- let n = e, r = t, { t: a } = At(), { syntax: o } = Lt(), s = N(vt, null), c = j(() => !!s), l = Rt();
1892
+ let n = e, r = t, { t: a } = Ft(), { syntax: o } = Ht(), s = N(tt, null), c = j(() => !!s), l = Ut();
1856
1893
  async function u() {
1857
1894
  let e = await s?.({ accept: ["images"] });
1858
1895
  if (l.alive && e) {
@@ -1879,7 +1916,7 @@ var Ar = {
1879
1916
  }
1880
1917
  }
1881
1918
  }
1882
- let { isOver: v } = kr({
1919
+ let { isOver: v } = Lr({
1883
1920
  target: d,
1884
1921
  enabled: h,
1885
1922
  onFiles: g
@@ -1892,14 +1929,14 @@ var Ar = {
1892
1929
  marginLeft: e === "center" || e === "right" ? "auto" : void 0,
1893
1930
  marginRight: e === "center" ? "auto" : void 0
1894
1931
  };
1895
- }), C = j(() => je(n.block.src, o)), T = nn(() => C.value ? void 0 : n.block.src), E = nn(() => C.value ? n.block.placeholderUrl : void 0);
1932
+ }), C = j(() => we(n.block.src, o)), T = cn(() => C.value ? void 0 : n.block.src), E = cn(() => C.value ? n.block.placeholderUrl : void 0);
1896
1933
  return (t, n) => (f(), x("div", {
1897
1934
  ref_key: "dropZoneRef",
1898
1935
  ref: d,
1899
1936
  "data-testid": "image-drop-zone",
1900
1937
  class: "tpl:relative tpl:w-full",
1901
1938
  style: i(y.value)
1902
- }, [h.value && (k(v) || m.value) ? (f(), x("div", Ar, [m.value ? (f(), x(A, { key: 0 }, [w(k(jt), {
1939
+ }, [h.value && (k(v) || m.value) ? (f(), x("div", Rr, [m.value ? (f(), x(A, { key: 0 }, [w(k(It), {
1903
1940
  class: "tpl-spinner",
1904
1941
  size: 20,
1905
1942
  "stroke-width": 2
@@ -1918,22 +1955,22 @@ var Ar = {
1918
1955
  src: k(E),
1919
1956
  alt: e.block.alt || k(a).image.altTextPlaceholder,
1920
1957
  style: i(S.value)
1921
- }, null, 12, Mr)], 8, jr)) : (f(), x("img", {
1958
+ }, null, 12, Br)], 8, zr)) : (f(), x("img", {
1922
1959
  key: 1,
1923
1960
  class: "tpl:border-0",
1924
1961
  src: k(E),
1925
1962
  alt: e.block.alt,
1926
1963
  style: i(S.value)
1927
- }, null, 12, Nr))], 64)) : e.block.src && C.value ? (f(), x("div", {
1964
+ }, null, 12, Vr))], 64)) : e.block.src && C.value ? (f(), x("div", {
1928
1965
  key: 2,
1929
1966
  class: "tpl:!flex tpl:min-h-[120px] tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded tpl:border-2 tpl:border-dashed tpl:text-center tpl:bg-[var(--tpl-bg-elevated)]",
1930
1967
  style: i([{ "border-color": "color-mix(in srgb, var(--tpl-primary) 40%, transparent)" }, S.value])
1931
- }, [w(k(Ln), {
1968
+ }, [w(k(Wn), {
1932
1969
  size: 32,
1933
1970
  "stroke-width": 1.5,
1934
1971
  class: "tpl:text-[var(--tpl-primary)]",
1935
1972
  style: { opacity: "0.5" }
1936
- }), b("span", Pr, [w(En, { text: e.block.src }, null, 8, ["text"])])], 4)) : e.block.src ? (f(), x(A, { key: 3 }, [e.block.linkUrl ? (f(), x("a", {
1973
+ }), b("span", Hr, [w(Nn, { text: e.block.src }, null, 8, ["text"])])], 4)) : e.block.src ? (f(), x(A, { key: 3 }, [e.block.linkUrl ? (f(), x("a", {
1937
1974
  key: 0,
1938
1975
  href: e.block.linkUrl,
1939
1976
  target: "_blank",
@@ -1945,33 +1982,33 @@ var Ar = {
1945
1982
  src: k(T),
1946
1983
  alt: e.block.alt || k(a).image.altTextPlaceholder,
1947
1984
  style: i(S.value)
1948
- }, null, 12, Ir)], 8, Fr)) : (f(), x("img", {
1985
+ }, null, 12, Wr)], 8, Ur)) : (f(), x("img", {
1949
1986
  key: 1,
1950
1987
  class: "tpl:border-0",
1951
1988
  src: k(T),
1952
1989
  alt: e.block.alt,
1953
1990
  style: i(S.value)
1954
- }, null, 12, Lr))], 64)) : (f(), x("div", Rr, [c.value ? (f(), x("button", {
1991
+ }, null, 12, Gr))], 64)) : (f(), x("div", Kr, [c.value ? (f(), x("button", {
1955
1992
  key: 0,
1956
1993
  "aria-label": k(a).image.browseMedia,
1957
1994
  class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:rounded-md tpl:border tpl:px-3 tpl:py-2 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150 tpl:cursor-pointer tpl:border-[var(--tpl-border)] tpl:text-[var(--tpl-primary)] tpl:bg-[var(--tpl-bg)]",
1958
1995
  onClick: P(u, ["stop"])
1959
- }, [w(k(Ln), {
1996
+ }, [w(k(Wn), {
1960
1997
  size: 14,
1961
1998
  "stroke-width": 1.5
1962
- }), O(" " + p(k(a).image.browseMedia), 1)], 8, zr)) : (f(), x("span", Br, p(k(a).image.clickToAdd), 1))]))], 4));
1999
+ }), O(" " + p(k(a).image.browseMedia), 1)], 8, qr)) : (f(), x("span", Jr, p(k(a).image.clickToAdd), 1))]))], 4));
1963
2000
  }
1964
- }), Hr = { class: "tpl:w-full" }, Ur = ["href"], Wr = {
2001
+ }), Xr = { class: "tpl:w-full" }, Zr = ["href"], Qr = {
1965
2002
  key: 1,
1966
2003
  class: "tpl:flex tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded tpl:border tpl:border-dashed tpl:py-4 tpl:text-sm tpl:border-[var(--tpl-border)] tpl:text-[var(--tpl-text-dim)]"
1967
- }, Gr = /* @__PURE__ */ y({
2004
+ }, $r = /* @__PURE__ */ y({
1968
2005
  __name: "MenuBlock",
1969
2006
  props: {
1970
2007
  block: {},
1971
2008
  viewport: {}
1972
2009
  },
1973
2010
  setup(e) {
1974
- let n = e, { t: r } = At(), a = j(() => ({
2011
+ let n = e, { t: r } = Ft(), a = j(() => ({
1975
2012
  display: "flex",
1976
2013
  flexWrap: "wrap",
1977
2014
  gap: `0 ${n.block.spacing}px`,
@@ -1983,7 +2020,7 @@ var Ar = {
1983
2020
  function s(e) {
1984
2021
  return e || n.block.linkColor || n.block.color;
1985
2022
  }
1986
- return (n, c) => (f(), x("div", Hr, [o.value ? (f(), x("div", {
2023
+ return (n, c) => (f(), x("div", Xr, [o.value ? (f(), x("div", {
1987
2024
  key: 0,
1988
2025
  style: i(a.value)
1989
2026
  }, [(f(!0), x(A, null, t(e.block.items, (t, n) => (f(), x(A, { key: t.id }, [b("a", {
@@ -1995,15 +2032,15 @@ var Ar = {
1995
2032
  textDecoration: t.underline ? "underline" : "none"
1996
2033
  }),
1997
2034
  onClick: c[0] ||= P(() => {}, ["prevent"])
1998
- }, [w(En, { text: t.text || "..." }, null, 8, ["text"])], 12, Ur), n < e.block.items.length - 1 ? (f(), x("span", {
2035
+ }, [w(Nn, { text: t.text || "..." }, null, 8, ["text"])], 12, Zr), n < e.block.items.length - 1 ? (f(), x("span", {
1999
2036
  key: 0,
2000
2037
  style: i({
2001
2038
  color: e.block.separatorColor,
2002
2039
  padding: `0 ${e.block.spacing}px`
2003
2040
  })
2004
- }, p(e.block.separator), 5)) : M("", !0)], 64))), 128))], 4)) : (f(), x("div", Wr, [w(k(Rn), { size: 16 }), b("span", null, p(k(r).menu.addLinks), 1)]))]));
2041
+ }, p(e.block.separator), 5)) : M("", !0)], 64))), 128))], 4)) : (f(), x("div", Qr, [w(k(Gn), { size: 16 }), b("span", null, p(k(r).menu.addLinks), 1)]))]));
2005
2042
  }
2006
- }), Kr = /* @__PURE__ */ new Set([
2043
+ }), ei = /* @__PURE__ */ new Set([
2007
2044
  "http",
2008
2045
  "https",
2009
2046
  "mailto",
@@ -2013,7 +2050,7 @@ var Ar = {
2013
2050
  "sms",
2014
2051
  "xmpp",
2015
2052
  "cid"
2016
- ]), qr = /* @__PURE__ */ new Set([
2053
+ ]), ti = /* @__PURE__ */ new Set([
2017
2054
  "SCRIPT",
2018
2055
  "STYLE",
2019
2056
  "IFRAME",
@@ -2023,7 +2060,7 @@ var Ar = {
2023
2060
  "META",
2024
2061
  "BASE",
2025
2062
  "FORM"
2026
- ]), Jr = /* @__PURE__ */ new Set([
2063
+ ]), ni = /* @__PURE__ */ new Set([
2027
2064
  "href",
2028
2065
  "xlink:href",
2029
2066
  "formaction",
@@ -2032,16 +2069,16 @@ var Ar = {
2032
2069
  "background",
2033
2070
  "poster"
2034
2071
  ]);
2035
- function Yr(e, t) {
2072
+ function ri(e, t) {
2036
2073
  let n = e.replace(/[\t\n\r]/g, "").replace(/^[\u0000-\u0020]+/, "").trimEnd();
2037
2074
  if (!n || n.startsWith("#")) return !0;
2038
2075
  let r = /^([a-z][a-z0-9+.-]*):/i.exec(n);
2039
2076
  if (!r) return !0;
2040
2077
  let i = r[1].toLowerCase();
2041
- return Kr.has(i) ? !0 : t && i === "data" ? /^data:image\/(png|jpe?g|gif|webp|svg\+xml);/i.test(n) : !1;
2078
+ return ei.has(i) ? !0 : t && i === "data" ? /^data:image\/(png|jpe?g|gif|webp|svg\+xml);/i.test(n) : !1;
2042
2079
  }
2043
- function Xr(e) {
2044
- if (qr.has(e.tagName)) {
2080
+ function ii(e) {
2081
+ if (ti.has(e.tagName)) {
2045
2082
  e.remove();
2046
2083
  return;
2047
2084
  }
@@ -2053,29 +2090,29 @@ function Xr(e) {
2053
2090
  e.removeAttribute(n);
2054
2091
  continue;
2055
2092
  }
2056
- if (Jr.has(t)) {
2057
- Yr(e.getAttribute(n) ?? "", !1) || e.removeAttribute(n);
2093
+ if (ni.has(t)) {
2094
+ ri(e.getAttribute(n) ?? "", !1) || e.removeAttribute(n);
2058
2095
  continue;
2059
2096
  }
2060
2097
  if (t === "src") {
2061
- Yr(e.getAttribute(n) ?? "", !0) || e.removeAttribute(n);
2098
+ ri(e.getAttribute(n) ?? "", !0) || e.removeAttribute(n);
2062
2099
  continue;
2063
2100
  }
2064
2101
  t === "srcdoc" && e.removeAttribute(n);
2065
2102
  }
2066
2103
  let n = Array.from(e.children);
2067
- for (let e of n) Xr(e);
2104
+ for (let e of n) ii(e);
2068
2105
  }
2069
- function Zr(e) {
2106
+ function ai(e) {
2070
2107
  if (typeof DOMParser > "u") return e;
2071
2108
  let t = new DOMParser().parseFromString(`<!doctype html><body>${e}</body>`, "text/html").body, n = Array.from(t.children);
2072
- for (let e of n) Xr(e);
2109
+ for (let e of n) ii(e);
2073
2110
  return t.innerHTML;
2074
2111
  }
2075
2112
  //#endregion
2076
2113
  //#region src/composables/useEditableTextBlock.ts
2077
- function Qr(e) {
2078
- let t = N(Et, []), { syntax: n } = Lt(), r = j(() => Zr(Ee(pe(e(), t), n))), i = _(!1), a = _(null), { top: o, left: s } = qe(a), { toLocal: c } = Xe(), l = j(() => c({
2114
+ function oi(e) {
2115
+ let t = N(pt, []), { syntax: n } = Ht(), r = j(() => ai(_e(ve(e(), t), n))), i = _(!1), a = _(null), { top: o, left: s } = Xe(a), { toLocal: c } = $e(), l = j(() => c({
2079
2116
  top: o.value - 8,
2080
2117
  left: s.value
2081
2118
  }));
@@ -2096,14 +2133,14 @@ function Qr(e) {
2096
2133
  }
2097
2134
  //#endregion
2098
2135
  //#region src/components/blocks/ParagraphBlock.vue?vue&type=script&setup=true&lang.ts
2099
- var $r = ["innerHTML"], ei = /* @__PURE__ */ y({
2136
+ var si = ["innerHTML"], ci = /* @__PURE__ */ y({
2100
2137
  __name: "ParagraphBlock",
2101
2138
  props: {
2102
2139
  block: {},
2103
2140
  viewport: {}
2104
2141
  },
2105
2142
  setup(e) {
2106
- let t = e, n = C(() => import("./ParagraphEditor-iRJI_YbA.js")), { isEditing: r, blockRef: i, toolbarPosition: a, resolvedContent: o, handleDoubleClick: s, handleEditorDone: c } = Qr(() => t.block.content);
2143
+ let t = e, n = C(() => import("./ParagraphEditor-Cf75UfSo.js")), { isEditing: r, blockRef: i, toolbarPosition: a, resolvedContent: o, handleDoubleClick: s, handleEditorDone: c } = oi(() => t.block.content);
2107
2144
  return (t, l) => (f(), x("div", {
2108
2145
  ref_key: "blockRef",
2109
2146
  ref: i,
@@ -2122,46 +2159,46 @@ var $r = ["innerHTML"], ei = /* @__PURE__ */ y({
2122
2159
  key: 1,
2123
2160
  class: "tpl-text-content tpl:outline-none [&_a]:tpl:underline [&_li]:tpl:my-1 [&_ol]:tpl:my-2 [&_ol]:tpl:pl-6 [&_p]:tpl:m-0 [&_p]:tpl:mb-2 [&_p:last-child]:tpl:mb-0 [&_s]:tpl:line-through [&_sub]:tpl:align-sub [&_sub]:tpl:text-[0.75em] [&_sup]:tpl:align-super [&_sup]:tpl:text-[0.75em] [&_ul]:tpl:my-2 [&_ul]:tpl:pl-6",
2124
2161
  innerHTML: k(o)
2125
- }, null, 8, $r))], 544));
2162
+ }, null, 8, si))], 544));
2126
2163
  }
2127
2164
  });
2128
2165
  //#endregion
2129
2166
  //#region src/utils/blockComponentResolver.ts
2130
- function ti(e, t, n) {
2167
+ function li(e, t, n) {
2131
2168
  if (t) {
2132
2169
  let n = t.getComponent(e);
2133
2170
  if (n) return n;
2134
2171
  }
2135
2172
  return n[e.type] ?? null;
2136
2173
  }
2137
- function ni(e) {
2174
+ function ui(e) {
2138
2175
  let { padding: t, backgroundColor: n } = e.styles, r = {
2139
2176
  padding: `${t.top}px ${t.right}px ${t.bottom}px ${t.left}px`,
2140
2177
  backgroundColor: n || "transparent"
2141
2178
  };
2142
2179
  return e.type === "section" && e.borderRadius && e.borderRadius > 0 && (r.borderRadius = `${e.borderRadius}px`), r;
2143
2180
  }
2144
- function ri(e) {
2181
+ function di(e) {
2145
2182
  if (e.type !== "section" || !e.wrapper) return null;
2146
2183
  let t = e.wrapper, n = {};
2147
2184
  return t.backgroundColor && (n.backgroundColor = t.backgroundColor), t.padding && (n.padding = `${t.padding.top}px ${t.padding.right}px ${t.padding.bottom}px ${t.padding.left}px`), t.borderRadius && t.borderRadius > 0 && (n.borderRadius = `${t.borderRadius}px`), n;
2148
2185
  }
2149
2186
  //#endregion
2150
2187
  //#region src/components/blocks/BlockWrapper.vue?vue&type=script&setup=true&lang.ts
2151
- var ii = ["data-block-id", "data-block-type"], ai = ["aria-label"], oi = [
2188
+ var fi = ["data-block-id", "data-block-type"], pi = ["aria-label"], mi = [
2152
2189
  "aria-label",
2153
2190
  "aria-pressed",
2154
2191
  "title"
2155
- ], si = ["aria-label", "title"], ci = ["aria-label", "title"], li = ["aria-label", "title"], ui = {
2192
+ ], hi = ["aria-label", "title"], gi = ["aria-label", "title"], _i = ["aria-label", "title"], vi = {
2156
2193
  key: 1,
2157
2194
  class: "tpl-block-hidden-overlay tpl:pointer-events-none tpl:absolute tpl:inset-0 tpl:z-[5] tpl:flex tpl:items-center tpl:justify-center tpl:rounded-sm"
2158
- }, di = { class: "tpl:flex tpl:items-center tpl:gap-1 tpl:rounded tpl:px-2 tpl:py-1 tpl:text-[10px] tpl:font-medium tpl:bg-[var(--tpl-bg-elevated)] tpl:text-[var(--tpl-text-muted)] tpl:shadow-[var(--tpl-shadow-sm)]" }, fi = {
2195
+ }, yi = { class: "tpl:flex tpl:items-center tpl:gap-1 tpl:rounded tpl:px-2 tpl:py-1 tpl:text-[10px] tpl:font-medium tpl:bg-[var(--tpl-bg-elevated)] tpl:text-[var(--tpl-text-muted)] tpl:shadow-[var(--tpl-shadow-sm)]" }, bi = {
2159
2196
  key: 2,
2160
2197
  class: "tpl:absolute tpl:-left-1 tpl:top-1/2 tpl:z-[5] tpl:-translate-x-full tpl:-translate-y-1/2"
2161
- }, pi = ["aria-label", "title"], mi = {
2198
+ }, xi = ["aria-label", "title"], Si = {
2162
2199
  key: 3,
2163
2200
  class: "tpl:absolute tpl:-right-1 tpl:-top-1 tpl:z-[5] tpl:translate-x-full"
2164
- }, hi = ["aria-label"], gi = /*#__PURE__*/ It(/* @__PURE__ */ y({
2201
+ }, Ci = ["aria-label"], wi = /*#__PURE__*/ Vt(/* @__PURE__ */ y({
2165
2202
  __name: "BlockWrapper",
2166
2203
  props: {
2167
2204
  block: {},
@@ -2171,7 +2208,7 @@ var ii = ["data-block-id", "data-block-type"], ai = ["aria-label"], oi = [
2171
2208
  },
2172
2209
  emits: ["select"],
2173
2210
  setup(e, { emit: t }) {
2174
- let n = C(() => import("./BlockIssueBadge-FbyZBJlf.js")), r = e, a = t, { t: s, format: c } = At(), l = N(dt, null), u = _(null), d = j(() => l?.liftedBlockId.value === r.block.id), m = j(() => d.value ? c(s.blockActions.dragLifted, { block: r.block.type }) : s.blockActions.drag);
2211
+ let n = C(() => import("./BlockIssueBadge-BQmq1bxn.js")), r = e, a = t, { t: s, format: c } = Ft(), l = N(Mt, null), u = _(null), d = j(() => l?.liftedBlockId.value === r.block.id), m = j(() => d.value ? c(s.blockActions.dragLifted, { block: r.block.type }) : s.blockActions.drag);
2175
2212
  async function h() {
2176
2213
  await ie(), u.value?.focus();
2177
2214
  }
@@ -2197,13 +2234,13 @@ var ii = ["data-block-id", "data-block-type"], ai = ["aria-label"], oi = [
2197
2234
  let v = j(() => !r.viewport || !r.block.visibility ? !1 : r.block.visibility[r.viewport] === !1), y = j(() => r.previewMode === !0 && v.value), S = j(() => r.viewport ? {
2198
2235
  desktop: s.viewport.desktop,
2199
2236
  mobile: s.viewport.mobile
2200
- }[r.viewport] ?? r.viewport : ""), E = j(() => !!r.block.displayCondition), D = N(gt, null), ee = N(wt, null), A = N(Ct, {}), te = j(() => !!A.savedModules), ne = j(() => A.comments?.getBlockCount(r.block.id) ?? 0), re = j(() => {
2201
- let e = ni(r.block), t = {
2237
+ }[r.viewport] ?? r.viewport : ""), E = j(() => !!r.block.displayCondition), D = N(xt, null), ee = N(_t, null), A = N(kt, {}), te = j(() => !!A.savedModules), ne = j(() => A.comments?.getBlockCount(r.block.id) ?? 0), re = j(() => {
2238
+ let e = ui(r.block), t = {
2202
2239
  padding: e.padding,
2203
2240
  backgroundColor: e.backgroundColor
2204
2241
  };
2205
2242
  return e.borderRadius && (t.borderRadius = e.borderRadius), t;
2206
- }), ae = j(() => ri(r.block));
2243
+ }), ae = j(() => di(r.block));
2207
2244
  function oe(e) {
2208
2245
  r.previewMode || (e.target?.closest("a") && e.preventDefault(), e.stopPropagation(), a("select"));
2209
2246
  }
@@ -2246,60 +2283,60 @@ var ii = ["data-block-id", "data-block-type"], ai = ["aria-label"], oi = [
2246
2283
  "aria-keyshortcuts": "Space Enter ArrowUp ArrowDown Escape",
2247
2284
  title: k(s).blockActions.drag,
2248
2285
  onKeydown: g
2249
- }, [w(k(In), {
2286
+ }, [w(k(Un), {
2250
2287
  size: 14,
2251
2288
  "stroke-width": 1.5
2252
- })], 40, oi),
2289
+ })], 40, mi),
2253
2290
  b("button", {
2254
2291
  class: "tpl-block-action-btn tpl:flex tpl:size-7 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded-sm tpl:border-none tpl:transition-colors tpl:duration-150",
2255
2292
  "aria-label": k(s).blockActions.duplicate,
2256
2293
  title: k(s).blockActions.duplicate,
2257
2294
  onClick: P(ce, ["stop"])
2258
- }, [w(k(Nn), {
2295
+ }, [w(k(Bn), {
2259
2296
  size: 14,
2260
2297
  "stroke-width": 1.5
2261
- })], 8, si),
2298
+ })], 8, hi),
2262
2299
  te.value ? (f(), x("button", {
2263
2300
  key: 0,
2264
2301
  class: "tpl-block-action-btn tpl:flex tpl:size-7 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded-sm tpl:border-none tpl:transition-colors tpl:duration-150",
2265
2302
  "aria-label": k(s).blockActions.saveAsModule,
2266
2303
  title: k(s).blockActions.saveAsModule,
2267
2304
  onClick: P(le, ["stop"])
2268
- }, [w(k(An), {
2305
+ }, [w(k(Ln), {
2269
2306
  size: 14,
2270
2307
  "stroke-width": 1.5
2271
- })], 8, ci)) : M("", !0),
2308
+ })], 8, gi)) : M("", !0),
2272
2309
  b("button", {
2273
2310
  class: "tpl-block-action-btn tpl-block-delete-btn tpl:flex tpl:size-7 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded-sm tpl:border-none tpl:transition-colors tpl:duration-150",
2274
2311
  "aria-label": k(s).blockActions.delete,
2275
2312
  title: k(s).blockActions.delete,
2276
2313
  onClick: P(se, ["stop"])
2277
- }, [w(k(Nt), {
2314
+ }, [w(k(Rt), {
2278
2315
  size: 14,
2279
2316
  "stroke-width": 1.5
2280
- })], 8, li)
2281
- ], 8, ai)) : M("", !0),
2282
- v.value ? (f(), x("div", ui, [b("span", di, [w(k(Pn), {
2317
+ })], 8, _i)
2318
+ ], 8, pi)) : M("", !0),
2319
+ v.value ? (f(), x("div", vi, [b("span", yi, [w(k(Vn), {
2283
2320
  size: 12,
2284
2321
  "stroke-width": 1.5
2285
2322
  }), O(" " + p(k(c)(k(s).blockActions.hiddenOnViewport, { viewport: S.value })), 1)])])) : M("", !0),
2286
- E.value && !v.value ? (f(), x("div", fi, [b("button", {
2323
+ E.value && !v.value ? (f(), x("div", bi, [b("button", {
2287
2324
  class: "tpl-condition-toggle tpl:flex tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded-md tpl:p-1 tpl:transition-colors tpl:duration-150 tpl:bg-[var(--tpl-bg-elevated)] tpl:text-[var(--tpl-primary)] tpl:border tpl:border-[var(--tpl-border)]",
2288
2325
  "aria-label": k(s).blockActions.conditionToggle,
2289
2326
  title: e.block.displayCondition?.label,
2290
2327
  onClick: P(ue, ["stop"])
2291
- }, [w(k(Fn), {
2328
+ }, [w(k(Hn), {
2292
2329
  size: 12,
2293
2330
  "stroke-width": 2
2294
- })], 8, pi)])) : M("", !0),
2295
- ne.value > 0 && !v.value ? (f(), x("div", mi, [b("button", {
2331
+ })], 8, xi)])) : M("", !0),
2332
+ ne.value > 0 && !v.value ? (f(), x("div", Si, [b("button", {
2296
2333
  class: "tpl-comment-indicator tpl:flex tpl:min-h-6 tpl:min-w-6 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:gap-0.5 tpl:rounded-full tpl:border-none tpl:px-2 tpl:py-0.5 tpl:text-[10px] tpl:font-semibold tpl:transition-colors tpl:duration-150 tpl:bg-[var(--tpl-primary-light)] tpl:text-[var(--tpl-primary)]",
2297
2334
  "aria-label": k(c)(k(s).blockActions.comments, { count: String(ne.value) }),
2298
2335
  onClick: r[0] ||= P((t) => k(A).comments?.openForBlock(e.block.id), ["stop"])
2299
- }, [w(k(Mt), {
2336
+ }, [w(k(Lt), {
2300
2337
  size: 12,
2301
2338
  "stroke-width": 2.5
2302
- }), O(" " + p(ne.value), 1)], 8, hi)])) : M("", !0),
2339
+ }), O(" " + p(ne.value), 1)], 8, Ci)])) : M("", !0),
2303
2340
  ae.value ? (f(), x("div", {
2304
2341
  key: 4,
2305
2342
  class: "tpl-section-wrapper",
@@ -2312,31 +2349,31 @@ var ii = ["data-block-id", "data-block-type"], ai = ["aria-label"], oi = [
2312
2349
  class: "tpl-block-content",
2313
2350
  style: i(re.value)
2314
2351
  }, [T(t.$slots, "default", {}, void 0, !0)], 4))
2315
- ], 10, ii));
2352
+ ], 10, fi));
2316
2353
  }
2317
2354
  }), [["__scopeId", "data-v-7d9e7893"]]);
2318
2355
  //#endregion
2319
2356
  //#region src/utils/unwrapParagraph.ts
2320
- function _i(e) {
2357
+ function Ti(e) {
2321
2358
  let t = e.match(/^\s*<p\b[^>]*>([\s\S]*)<\/p>\s*$/);
2322
2359
  return !t || /<\/p>\s*<p\b/i.test(t[1]) ? e : t[1];
2323
2360
  }
2324
2361
  //#endregion
2325
2362
  //#region src/components/blocks/TitleBlock.vue
2326
- var vi = /* @__PURE__ */ y({
2363
+ var Ei = /* @__PURE__ */ y({
2327
2364
  __name: "TitleBlock",
2328
2365
  props: {
2329
2366
  block: {},
2330
2367
  viewport: {}
2331
2368
  },
2332
2369
  setup(e) {
2333
- let t = e, n = C(() => import("./TitleEditor-Bf6Jv2qI.js")), { isEditing: r, blockRef: a, toolbarPosition: o, resolvedContent: s, handleDoubleClick: c, handleEditorDone: l } = Qr(() => t.block.content), u = j(() => {
2370
+ let t = e, n = C(() => import("./TitleEditor-CCUkbRN0.js")), { isEditing: r, blockRef: a, toolbarPosition: o, resolvedContent: s, handleDoubleClick: c, handleEditorDone: l } = oi(() => t.block.content), u = j(() => {
2334
2371
  let e = {
2335
- fontSize: `${Fe[t.block.level]}px`,
2372
+ fontSize: `${Ie[t.block.level]}px`,
2336
2373
  textAlign: t.block.textAlign
2337
2374
  };
2338
2375
  return t.block.color && (e.color = t.block.color), t.block.fontFamily && (e.fontFamily = t.block.fontFamily), e;
2339
- }), p = j(() => `h${t.block.level}`), m = j(() => _i(s.value));
2376
+ }), p = j(() => `h${t.block.level}`), m = j(() => Ti(s.value));
2340
2377
  return (t, s) => (f(), x("div", {
2341
2378
  ref_key: "blockRef",
2342
2379
  ref: a,
@@ -2362,88 +2399,88 @@ var vi = /* @__PURE__ */ y({
2362
2399
  });
2363
2400
  //#endregion
2364
2401
  //#region src/utils/sectionColumnDrop.ts
2365
- function yi(e) {
2402
+ function Di(e) {
2366
2403
  return e.dataset.blockType !== "section" && e.dataset.paletteType !== "section";
2367
2404
  }
2368
2405
  //#endregion
2369
2406
  //#region ../../node_modules/.pnpm/vue-draggable-plus@0.6.1_@types+sortablejs@1.15.9/node_modules/vue-draggable-plus/dist/vue-draggable-plus.js
2370
- var bi = Object.defineProperty, xi = Object.getOwnPropertySymbols, Si = Object.prototype.hasOwnProperty, Ci = Object.prototype.propertyIsEnumerable, wi = (e, t, n) => t in e ? bi(e, t, {
2407
+ var Oi = Object.defineProperty, ki = Object.getOwnPropertySymbols, Ai = Object.prototype.hasOwnProperty, ji = Object.prototype.propertyIsEnumerable, Mi = (e, t, n) => t in e ? Oi(e, t, {
2371
2408
  enumerable: !0,
2372
2409
  configurable: !0,
2373
2410
  writable: !0,
2374
2411
  value: n
2375
- }) : e[t] = n, Ti = (e, t) => {
2376
- for (var n in t ||= {}) Si.call(t, n) && wi(e, n, t[n]);
2377
- if (xi) for (var n of xi(t)) Ci.call(t, n) && wi(e, n, t[n]);
2412
+ }) : e[t] = n, Ni = (e, t) => {
2413
+ for (var n in t ||= {}) Ai.call(t, n) && Mi(e, n, t[n]);
2414
+ if (ki) for (var n of ki(t)) ji.call(t, n) && Mi(e, n, t[n]);
2378
2415
  return e;
2379
- }, Ei = (e, t) => {
2416
+ }, Pi = (e, t) => {
2380
2417
  var n = {};
2381
- for (var r in e) Si.call(e, r) && t.indexOf(r) < 0 && (n[r] = e[r]);
2382
- if (e != null && xi) for (var r of xi(e)) t.indexOf(r) < 0 && Ci.call(e, r) && (n[r] = e[r]);
2418
+ for (var r in e) Ai.call(e, r) && t.indexOf(r) < 0 && (n[r] = e[r]);
2419
+ if (e != null && ki) for (var r of ki(e)) t.indexOf(r) < 0 && ji.call(e, r) && (n[r] = e[r]);
2383
2420
  return n;
2384
- }, Di = "[vue-draggable-plus]: ";
2385
- function Oi(e) {
2386
- console.warn(Di + e);
2421
+ }, Fi = "[vue-draggable-plus]: ";
2422
+ function Ii(e) {
2423
+ console.warn(Fi + e);
2387
2424
  }
2388
- function ki(e) {
2389
- console.error(Di + e);
2425
+ function Li(e) {
2426
+ console.error(Fi + e);
2390
2427
  }
2391
- function Ai(e, t, n) {
2428
+ function Ri(e, t, n) {
2392
2429
  return n >= 0 && n < e.length && e.splice(n, 0, e.splice(t, 1)[0]), e;
2393
2430
  }
2394
- function ji(e) {
2431
+ function zi(e) {
2395
2432
  return e.replace(/-(\w)/g, (e, t) => t ? t.toUpperCase() : "");
2396
2433
  }
2397
- function Mi(e) {
2398
- return Object.keys(e).reduce((t, n) => (e[n] !== void 0 && (t[ji(n)] = e[n]), t), {});
2434
+ function Bi(e) {
2435
+ return Object.keys(e).reduce((t, n) => (e[n] !== void 0 && (t[zi(n)] = e[n]), t), {});
2399
2436
  }
2400
- function Ni(e, t) {
2437
+ function Vi(e, t) {
2401
2438
  return Array.isArray(e) && e.splice(t, 1), e;
2402
2439
  }
2403
- function Pi(e, t, n) {
2440
+ function Hi(e, t, n) {
2404
2441
  return Array.isArray(e) && e.splice(t, 0, n), e;
2405
2442
  }
2406
- function Fi(e) {
2443
+ function Ui(e) {
2407
2444
  return e === void 0;
2408
2445
  }
2409
- function Ii(e) {
2446
+ function Wi(e) {
2410
2447
  return typeof e == "string";
2411
2448
  }
2412
- function Li(e, t, n) {
2449
+ function Gi(e, t, n) {
2413
2450
  let r = e.children[n];
2414
2451
  e.insertBefore(t, r);
2415
2452
  }
2416
- function Ri(e) {
2453
+ function Ki(e) {
2417
2454
  e.parentNode && e.parentNode.removeChild(e);
2418
2455
  }
2419
- function zi(e, t = document) {
2456
+ function qi(e, t = document) {
2420
2457
  let n = null;
2421
- return n = typeof t?.querySelector == "function" ? (t?.querySelector)?.call(t, e) : document.querySelector(e), n || Oi(`Element not found: ${e}`), n;
2458
+ return n = typeof t?.querySelector == "function" ? (t?.querySelector)?.call(t, e) : document.querySelector(e), n || Ii(`Element not found: ${e}`), n;
2422
2459
  }
2423
- function Bi(e, t, n = null) {
2460
+ function Ji(e, t, n = null) {
2424
2461
  return function(...r) {
2425
2462
  return e.apply(n, r), t.apply(n, r);
2426
2463
  };
2427
2464
  }
2428
- function Vi(e, t) {
2429
- let n = Ti({}, e);
2465
+ function Yi(e, t) {
2466
+ let n = Ni({}, e);
2430
2467
  return Object.keys(t).forEach((r) => {
2431
- n[r] ? n[r] = Bi(e[r], t[r]) : n[r] = t[r];
2468
+ n[r] ? n[r] = Ji(e[r], t[r]) : n[r] = t[r];
2432
2469
  }), n;
2433
2470
  }
2434
- function Hi(e) {
2471
+ function Xi(e) {
2435
2472
  return e instanceof HTMLElement;
2436
2473
  }
2437
- function Ui(e, t) {
2474
+ function Zi(e, t) {
2438
2475
  Object.keys(e).forEach((n) => {
2439
2476
  t(n, e[n]);
2440
2477
  });
2441
2478
  }
2442
- function Wi(e) {
2479
+ function Qi(e) {
2443
2480
  return e.charCodeAt(0) === 111 && e.charCodeAt(1) === 110 && (e.charCodeAt(2) > 122 || e.charCodeAt(2) < 97);
2444
2481
  }
2445
- var Gi = Object.assign;
2446
- function Ki(e, t) {
2482
+ var $i = Object.assign;
2483
+ function ea(e, t) {
2447
2484
  var n = Object.keys(e);
2448
2485
  if (Object.getOwnPropertySymbols) {
2449
2486
  var r = Object.getOwnPropertySymbols(e);
@@ -2453,26 +2490,26 @@ function Ki(e, t) {
2453
2490
  }
2454
2491
  return n;
2455
2492
  }
2456
- function qi(e) {
2493
+ function ta(e) {
2457
2494
  for (var t = 1; t < arguments.length; t++) {
2458
2495
  var n = arguments[t] == null ? {} : arguments[t];
2459
- t % 2 ? Ki(Object(n), !0).forEach(function(t) {
2460
- Yi(e, t, n[t]);
2461
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : Ki(Object(n)).forEach(function(t) {
2496
+ t % 2 ? ea(Object(n), !0).forEach(function(t) {
2497
+ ra(e, t, n[t]);
2498
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : ea(Object(n)).forEach(function(t) {
2462
2499
  Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t));
2463
2500
  });
2464
2501
  }
2465
2502
  return e;
2466
2503
  }
2467
- function Ji(e) {
2504
+ function na(e) {
2468
2505
  "@babel/helpers - typeof";
2469
- return Ji = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
2506
+ return na = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
2470
2507
  return typeof e;
2471
2508
  } : function(e) {
2472
2509
  return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
2473
- }, Ji(e);
2510
+ }, na(e);
2474
2511
  }
2475
- function Yi(e, t, n) {
2512
+ function ra(e, t, n) {
2476
2513
  return t in e ? Object.defineProperty(e, t, {
2477
2514
  value: n,
2478
2515
  enumerable: !0,
@@ -2480,45 +2517,45 @@ function Yi(e, t, n) {
2480
2517
  writable: !0
2481
2518
  }) : e[t] = n, e;
2482
2519
  }
2483
- function Xi() {
2484
- return Xi = Object.assign || function(e) {
2520
+ function ia() {
2521
+ return ia = Object.assign || function(e) {
2485
2522
  for (var t = 1; t < arguments.length; t++) {
2486
2523
  var n = arguments[t];
2487
2524
  for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);
2488
2525
  }
2489
2526
  return e;
2490
- }, Xi.apply(this, arguments);
2527
+ }, ia.apply(this, arguments);
2491
2528
  }
2492
- function Zi(e, t) {
2529
+ function aa(e, t) {
2493
2530
  if (e == null) return {};
2494
2531
  var n = {}, r = Object.keys(e), i, a;
2495
2532
  for (a = 0; a < r.length; a++) i = r[a], !(t.indexOf(i) >= 0) && (n[i] = e[i]);
2496
2533
  return n;
2497
2534
  }
2498
- function Qi(e, t) {
2535
+ function oa(e, t) {
2499
2536
  if (e == null) return {};
2500
- var n = Zi(e, t), r, i;
2537
+ var n = aa(e, t), r, i;
2501
2538
  if (Object.getOwnPropertySymbols) {
2502
2539
  var a = Object.getOwnPropertySymbols(e);
2503
2540
  for (i = 0; i < a.length; i++) r = a[i], !(t.indexOf(r) >= 0) && Object.prototype.propertyIsEnumerable.call(e, r) && (n[r] = e[r]);
2504
2541
  }
2505
2542
  return n;
2506
2543
  }
2507
- var $i = "1.15.2";
2508
- function ea(e) {
2544
+ var sa = "1.15.2";
2545
+ function ca(e) {
2509
2546
  if (typeof window < "u" && window.navigator) return !!/* @__PURE__ */ navigator.userAgent.match(e);
2510
2547
  }
2511
- var ta = ea(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i), na = ea(/Edge/i), ra = ea(/firefox/i), ia = ea(/safari/i) && !ea(/chrome/i) && !ea(/android/i), aa = ea(/iP(ad|od|hone)/i), oa = ea(/chrome/i) && ea(/android/i), sa = {
2548
+ var la = ca(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i), ua = ca(/Edge/i), da = ca(/firefox/i), fa = ca(/safari/i) && !ca(/chrome/i) && !ca(/android/i), pa = ca(/iP(ad|od|hone)/i), ma = ca(/chrome/i) && ca(/android/i), ha = {
2512
2549
  capture: !1,
2513
2550
  passive: !1
2514
2551
  };
2515
2552
  function I(e, t, n) {
2516
- e.addEventListener(t, n, !ta && sa);
2553
+ e.addEventListener(t, n, !la && ha);
2517
2554
  }
2518
2555
  function L(e, t, n) {
2519
- e.removeEventListener(t, n, !ta && sa);
2556
+ e.removeEventListener(t, n, !la && ha);
2520
2557
  }
2521
- function ca(e, t) {
2558
+ function ga(e, t) {
2522
2559
  if (t) {
2523
2560
  if (t[0] === ">" && (t = t.substring(1)), e) try {
2524
2561
  if (e.matches) return e.matches(t);
@@ -2530,22 +2567,22 @@ function ca(e, t) {
2530
2567
  return !1;
2531
2568
  }
2532
2569
  }
2533
- function la(e) {
2570
+ function _a(e) {
2534
2571
  return e.host && e !== document && e.host.nodeType ? e.host : e.parentNode;
2535
2572
  }
2536
- function ua(e, t, n, r) {
2573
+ function va(e, t, n, r) {
2537
2574
  if (e) {
2538
2575
  n ||= document;
2539
2576
  do {
2540
- if (t != null && (t[0] === ">" ? e.parentNode === n && ca(e, t) : ca(e, t)) || r && e === n) return e;
2577
+ if (t != null && (t[0] === ">" ? e.parentNode === n && ga(e, t) : ga(e, t)) || r && e === n) return e;
2541
2578
  if (e === n) break;
2542
- } while (e = la(e));
2579
+ } while (e = _a(e));
2543
2580
  }
2544
2581
  return null;
2545
2582
  }
2546
- var da = /\s+/g;
2583
+ var ya = /\s+/g;
2547
2584
  function R(e, t, n) {
2548
- e && t && (e.classList ? e.classList[n ? "add" : "remove"](t) : e.className = ((" " + e.className + " ").replace(da, " ").replace(" " + t + " ", " ") + (n ? " " + t : "")).replace(da, " "));
2585
+ e && t && (e.classList ? e.classList[n ? "add" : "remove"](t) : e.className = ((" " + e.className + " ").replace(ya, " ").replace(" " + t + " ", " ") + (n ? " " + t : "")).replace(ya, " "));
2549
2586
  }
2550
2587
  function z(e, t, n) {
2551
2588
  var r = e && e.style;
@@ -2554,7 +2591,7 @@ function z(e, t, n) {
2554
2591
  !(t in r) && t.indexOf("webkit") === -1 && (t = "-webkit-" + t), r[t] = n + (typeof n == "string" ? "" : "px");
2555
2592
  }
2556
2593
  }
2557
- function fa(e, t) {
2594
+ function ba(e, t) {
2558
2595
  var n = "";
2559
2596
  if (typeof e == "string") n = e;
2560
2597
  else do {
@@ -2564,7 +2601,7 @@ function fa(e, t) {
2564
2601
  var i = window.DOMMatrix || window.WebKitCSSMatrix || window.CSSMatrix || window.MSCSSMatrix;
2565
2602
  return i && new i(n);
2566
2603
  }
2567
- function pa(e, t, n) {
2604
+ function xa(e, t, n) {
2568
2605
  if (e) {
2569
2606
  var r = e.getElementsByTagName(t), i = 0, a = r.length;
2570
2607
  if (n) for (; i < a; i++) n(r[i], i);
@@ -2572,13 +2609,13 @@ function pa(e, t, n) {
2572
2609
  }
2573
2610
  return [];
2574
2611
  }
2575
- function ma() {
2612
+ function Sa() {
2576
2613
  return document.scrollingElement || document.documentElement;
2577
2614
  }
2578
2615
  function B(e, t, n, r, i) {
2579
2616
  if (!(!e.getBoundingClientRect && e !== window)) {
2580
2617
  var a, o, s, c, l, u, d;
2581
- if (e !== window && e.parentNode && e !== ma() ? (a = e.getBoundingClientRect(), o = a.top, s = a.left, c = a.bottom, l = a.right, u = a.height, d = a.width) : (o = 0, s = 0, c = window.innerHeight, l = window.innerWidth, u = window.innerHeight, d = window.innerWidth), (t || n) && e !== window && (i ||= e.parentNode, !ta)) do
2618
+ if (e !== window && e.parentNode && e !== Sa() ? (a = e.getBoundingClientRect(), o = a.top, s = a.left, c = a.bottom, l = a.right, u = a.height, d = a.width) : (o = 0, s = 0, c = window.innerHeight, l = window.innerWidth, u = window.innerHeight, d = window.innerWidth), (t || n) && e !== window && (i ||= e.parentNode, !la)) do
2582
2619
  if (i && i.getBoundingClientRect && (z(i, "transform") !== "none" || n && z(i, "position") !== "static")) {
2583
2620
  var f = i.getBoundingClientRect();
2584
2621
  o -= f.top + parseInt(z(i, "border-top-width")), s -= f.left + parseInt(z(i, "border-left-width")), c = o + a.height, l = s + a.width;
@@ -2586,7 +2623,7 @@ function B(e, t, n, r, i) {
2586
2623
  }
2587
2624
  while (i = i.parentNode);
2588
2625
  if (r && e !== window) {
2589
- var p = fa(i || e), m = p && p.a, h = p && p.d;
2626
+ var p = ba(i || e), m = p && p.a, h = p && p.d;
2590
2627
  p && (o /= h, s /= m, d /= m, u /= h, c = o + u, l = s + d);
2591
2628
  }
2592
2629
  return {
@@ -2599,18 +2636,18 @@ function B(e, t, n, r, i) {
2599
2636
  };
2600
2637
  }
2601
2638
  }
2602
- function ha(e, t, n) {
2603
- for (var r = xa(e, !0), i = B(e)[t]; r;) {
2639
+ function Ca(e, t, n) {
2640
+ for (var r = ka(e, !0), i = B(e)[t]; r;) {
2604
2641
  var a = B(r)[n], o = void 0;
2605
2642
  if (o = i >= a, !o) return r;
2606
- if (r === ma()) break;
2607
- r = xa(r, !1);
2643
+ if (r === Sa()) break;
2644
+ r = ka(r, !1);
2608
2645
  }
2609
2646
  return !1;
2610
2647
  }
2611
- function ga(e, t, n, r) {
2648
+ function wa(e, t, n, r) {
2612
2649
  for (var i = 0, a = 0, o = e.children; a < o.length;) {
2613
- if (o[a].style.display !== "none" && o[a] !== Q.ghost && (r || o[a] !== Q.dragged) && ua(o[a], n.draggable, e, !1)) {
2650
+ if (o[a].style.display !== "none" && o[a] !== Q.ghost && (r || o[a] !== Q.dragged) && va(o[a], n.draggable, e, !1)) {
2614
2651
  if (i === t) return o[a];
2615
2652
  i++;
2616
2653
  }
@@ -2618,84 +2655,84 @@ function ga(e, t, n, r) {
2618
2655
  }
2619
2656
  return null;
2620
2657
  }
2621
- function _a(e, t) {
2622
- for (var n = e.lastElementChild; n && (n === Q.ghost || z(n, "display") === "none" || t && !ca(n, t));) n = n.previousElementSibling;
2658
+ function Ta(e, t) {
2659
+ for (var n = e.lastElementChild; n && (n === Q.ghost || z(n, "display") === "none" || t && !ga(n, t));) n = n.previousElementSibling;
2623
2660
  return n || null;
2624
2661
  }
2625
- function va(e, t) {
2662
+ function Ea(e, t) {
2626
2663
  var n = 0;
2627
2664
  if (!e || !e.parentNode) return -1;
2628
- for (; e = e.previousElementSibling;) e.nodeName.toUpperCase() !== "TEMPLATE" && e !== Q.clone && (!t || ca(e, t)) && n++;
2665
+ for (; e = e.previousElementSibling;) e.nodeName.toUpperCase() !== "TEMPLATE" && e !== Q.clone && (!t || ga(e, t)) && n++;
2629
2666
  return n;
2630
2667
  }
2631
- function ya(e) {
2632
- var t = 0, n = 0, r = ma();
2668
+ function Da(e) {
2669
+ var t = 0, n = 0, r = Sa();
2633
2670
  if (e) do {
2634
- var i = fa(e), a = i.a, o = i.d;
2671
+ var i = ba(e), a = i.a, o = i.d;
2635
2672
  t += e.scrollLeft * a, n += e.scrollTop * o;
2636
2673
  } while (e !== r && (e = e.parentNode));
2637
2674
  return [t, n];
2638
2675
  }
2639
- function ba(e, t) {
2676
+ function Oa(e, t) {
2640
2677
  for (var n in e) if (e.hasOwnProperty(n)) {
2641
2678
  for (var r in t) if (t.hasOwnProperty(r) && t[r] === e[n][r]) return Number(n);
2642
2679
  }
2643
2680
  return -1;
2644
2681
  }
2645
- function xa(e, t) {
2646
- if (!e || !e.getBoundingClientRect) return ma();
2682
+ function ka(e, t) {
2683
+ if (!e || !e.getBoundingClientRect) return Sa();
2647
2684
  var n = e, r = !1;
2648
2685
  do
2649
2686
  if (n.clientWidth < n.scrollWidth || n.clientHeight < n.scrollHeight) {
2650
2687
  var i = z(n);
2651
2688
  if (n.clientWidth < n.scrollWidth && (i.overflowX == "auto" || i.overflowX == "scroll") || n.clientHeight < n.scrollHeight && (i.overflowY == "auto" || i.overflowY == "scroll")) {
2652
- if (!n.getBoundingClientRect || n === document.body) return ma();
2689
+ if (!n.getBoundingClientRect || n === document.body) return Sa();
2653
2690
  if (r || t) return n;
2654
2691
  r = !0;
2655
2692
  }
2656
2693
  }
2657
2694
  while (n = n.parentNode);
2658
- return ma();
2695
+ return Sa();
2659
2696
  }
2660
- function Sa(e, t) {
2697
+ function Aa(e, t) {
2661
2698
  if (e && t) for (var n in t) t.hasOwnProperty(n) && (e[n] = t[n]);
2662
2699
  return e;
2663
2700
  }
2664
- function Ca(e, t) {
2701
+ function ja(e, t) {
2665
2702
  return Math.round(e.top) === Math.round(t.top) && Math.round(e.left) === Math.round(t.left) && Math.round(e.height) === Math.round(t.height) && Math.round(e.width) === Math.round(t.width);
2666
2703
  }
2667
- var wa;
2668
- function Ta(e, t) {
2704
+ var Ma;
2705
+ function Na(e, t) {
2669
2706
  return function() {
2670
- if (!wa) {
2707
+ if (!Ma) {
2671
2708
  var n = arguments, r = this;
2672
- n.length === 1 ? e.call(r, n[0]) : e.apply(r, n), wa = setTimeout(function() {
2673
- wa = void 0;
2709
+ n.length === 1 ? e.call(r, n[0]) : e.apply(r, n), Ma = setTimeout(function() {
2710
+ Ma = void 0;
2674
2711
  }, t);
2675
2712
  }
2676
2713
  };
2677
2714
  }
2678
- function Ea() {
2679
- clearTimeout(wa), wa = void 0;
2715
+ function Pa() {
2716
+ clearTimeout(Ma), Ma = void 0;
2680
2717
  }
2681
- function Da(e, t, n) {
2718
+ function Fa(e, t, n) {
2682
2719
  e.scrollLeft += t, e.scrollTop += n;
2683
2720
  }
2684
- function Oa(e) {
2721
+ function Ia(e) {
2685
2722
  var t = window.Polymer, n = window.jQuery || window.Zepto;
2686
2723
  return t && t.dom ? t.dom(e).cloneNode(!0) : n ? n(e).clone(!0)[0] : e.cloneNode(!0);
2687
2724
  }
2688
- function ka(e, t, n) {
2725
+ function La(e, t, n) {
2689
2726
  var r = {};
2690
2727
  return Array.from(e.children).forEach(function(i) {
2691
- if (!(!ua(i, t.draggable, e, !1) || i.animated || i === n)) {
2728
+ if (!(!va(i, t.draggable, e, !1) || i.animated || i === n)) {
2692
2729
  var a = B(i);
2693
2730
  r.left = Math.min(r.left ?? Infinity, a.left), r.top = Math.min(r.top ?? Infinity, a.top), r.right = Math.max(r.right ?? -Infinity, a.right), r.bottom = Math.max(r.bottom ?? -Infinity, a.bottom);
2694
2731
  }
2695
2732
  }), r.width = r.right - r.left, r.height = r.bottom - r.top, r.x = r.left, r.y = r.top, r;
2696
2733
  }
2697
2734
  var V = "Sortable" + (/* @__PURE__ */ new Date()).getTime();
2698
- function Aa() {
2735
+ function Ra() {
2699
2736
  var e = [], t;
2700
2737
  return {
2701
2738
  captureAnimationState: function() {
@@ -2705,9 +2742,9 @@ function Aa() {
2705
2742
  target: t,
2706
2743
  rect: B(t)
2707
2744
  });
2708
- var n = qi({}, e[e.length - 1].rect);
2745
+ var n = ta({}, e[e.length - 1].rect);
2709
2746
  if (t.thisAnimationDuration) {
2710
- var r = fa(t, !0);
2747
+ var r = ba(t, !0);
2711
2748
  r && (n.top -= r.f, n.left -= r.e);
2712
2749
  }
2713
2750
  t.fromRect = n;
@@ -2718,7 +2755,7 @@ function Aa() {
2718
2755
  e.push(t);
2719
2756
  },
2720
2757
  removeAnimationState: function(t) {
2721
- e.splice(ba(e, { target: t }), 1);
2758
+ e.splice(Oa(e, { target: t }), 1);
2722
2759
  },
2723
2760
  animateAll: function(n) {
2724
2761
  var r = this;
@@ -2728,8 +2765,8 @@ function Aa() {
2728
2765
  }
2729
2766
  var i = !1, a = 0;
2730
2767
  e.forEach(function(e) {
2731
- var t = 0, n = e.target, o = n.fromRect, s = B(n), c = n.prevFromRect, l = n.prevToRect, u = e.rect, d = fa(n, !0);
2732
- d && (s.top -= d.f, s.left -= d.e), n.toRect = s, n.thisAnimationDuration && Ca(c, s) && !Ca(o, s) && (u.top - s.top) / (u.left - s.left) === (o.top - s.top) / (o.left - s.left) && (t = Ma(u, c, l, r.options)), Ca(s, o) || (n.prevFromRect = o, n.prevToRect = s, t ||= r.options.animation, r.animate(n, u, s, t)), t && (i = !0, a = Math.max(a, t), clearTimeout(n.animationResetTimer), n.animationResetTimer = setTimeout(function() {
2768
+ var t = 0, n = e.target, o = n.fromRect, s = B(n), c = n.prevFromRect, l = n.prevToRect, u = e.rect, d = ba(n, !0);
2769
+ d && (s.top -= d.f, s.left -= d.e), n.toRect = s, n.thisAnimationDuration && ja(c, s) && !ja(o, s) && (u.top - s.top) / (u.left - s.left) === (o.top - s.top) / (o.left - s.left) && (t = Ba(u, c, l, r.options)), ja(s, o) || (n.prevFromRect = o, n.prevToRect = s, t ||= r.options.animation, r.animate(n, u, s, t)), t && (i = !0, a = Math.max(a, t), clearTimeout(n.animationResetTimer), n.animationResetTimer = setTimeout(function() {
2733
2770
  n.animationTime = 0, n.prevFromRect = null, n.fromRect = null, n.prevToRect = null, n.thisAnimationDuration = null;
2734
2771
  }, t), n.thisAnimationDuration = t);
2735
2772
  }), clearTimeout(t), i ? t = setTimeout(function() {
@@ -2739,26 +2776,26 @@ function Aa() {
2739
2776
  animate: function(e, t, n, r) {
2740
2777
  if (r) {
2741
2778
  z(e, "transition", ""), z(e, "transform", "");
2742
- var i = fa(this.el), a = i && i.a, o = i && i.d, s = (t.left - n.left) / (a || 1), c = (t.top - n.top) / (o || 1);
2743
- e.animatingX = !!s, e.animatingY = !!c, z(e, "transform", "translate3d(" + s + "px," + c + "px,0)"), this.forRepaintDummy = ja(e), z(e, "transition", "transform " + r + "ms" + (this.options.easing ? " " + this.options.easing : "")), z(e, "transform", "translate3d(0,0,0)"), typeof e.animated == "number" && clearTimeout(e.animated), e.animated = setTimeout(function() {
2779
+ var i = ba(this.el), a = i && i.a, o = i && i.d, s = (t.left - n.left) / (a || 1), c = (t.top - n.top) / (o || 1);
2780
+ e.animatingX = !!s, e.animatingY = !!c, z(e, "transform", "translate3d(" + s + "px," + c + "px,0)"), this.forRepaintDummy = za(e), z(e, "transition", "transform " + r + "ms" + (this.options.easing ? " " + this.options.easing : "")), z(e, "transform", "translate3d(0,0,0)"), typeof e.animated == "number" && clearTimeout(e.animated), e.animated = setTimeout(function() {
2744
2781
  z(e, "transition", ""), z(e, "transform", ""), e.animated = !1, e.animatingX = !1, e.animatingY = !1;
2745
2782
  }, r);
2746
2783
  }
2747
2784
  }
2748
2785
  };
2749
2786
  }
2750
- function ja(e) {
2787
+ function za(e) {
2751
2788
  return e.offsetWidth;
2752
2789
  }
2753
- function Ma(e, t, n, r) {
2790
+ function Ba(e, t, n, r) {
2754
2791
  return Math.sqrt((t.top - e.top) ** 2 + (t.left - e.left) ** 2) / Math.sqrt((t.top - n.top) ** 2 + (t.left - n.left) ** 2) * r.animation;
2755
2792
  }
2756
- var Na = [], Pa = { initializeByDefault: !0 }, Fa = {
2793
+ var Va = [], Ha = { initializeByDefault: !0 }, Ua = {
2757
2794
  mount: function(e) {
2758
- for (var t in Pa) Pa.hasOwnProperty(t) && !(t in e) && (e[t] = Pa[t]);
2759
- Na.forEach(function(t) {
2795
+ for (var t in Ha) Ha.hasOwnProperty(t) && !(t in e) && (e[t] = Ha[t]);
2796
+ Va.forEach(function(t) {
2760
2797
  if (t.pluginName === e.pluginName) throw `Sortable: Cannot mount plugin ${e.pluginName} more than once`;
2761
- }), Na.push(e);
2798
+ }), Va.push(e);
2762
2799
  },
2763
2800
  pluginEvent: function(e, t, n) {
2764
2801
  var r = this;
@@ -2766,16 +2803,16 @@ var Na = [], Pa = { initializeByDefault: !0 }, Fa = {
2766
2803
  r.eventCanceled = !0;
2767
2804
  };
2768
2805
  var i = e + "Global";
2769
- Na.forEach(function(r) {
2770
- t[r.pluginName] && (t[r.pluginName][i] && t[r.pluginName][i](qi({ sortable: t }, n)), t.options[r.pluginName] && t[r.pluginName][e] && t[r.pluginName][e](qi({ sortable: t }, n)));
2806
+ Va.forEach(function(r) {
2807
+ t[r.pluginName] && (t[r.pluginName][i] && t[r.pluginName][i](ta({ sortable: t }, n)), t.options[r.pluginName] && t[r.pluginName][e] && t[r.pluginName][e](ta({ sortable: t }, n)));
2771
2808
  });
2772
2809
  },
2773
2810
  initializePlugins: function(e, t, n, r) {
2774
- for (var i in Na.forEach(function(r) {
2811
+ for (var i in Va.forEach(function(r) {
2775
2812
  var i = r.pluginName;
2776
2813
  if (!(!e.options[i] && !r.initializeByDefault)) {
2777
2814
  var a = new r(e, t, e.options);
2778
- a.sortable = e, a.options = e.options, e[i] = a, Xi(n, a.defaults);
2815
+ a.sortable = e, a.options = e.options, e[i] = a, ia(n, a.defaults);
2779
2816
  }
2780
2817
  }), e.options) if (e.options.hasOwnProperty(i)) {
2781
2818
  var a = this.modifyOption(e, i, e.options[i]);
@@ -2784,56 +2821,56 @@ var Na = [], Pa = { initializeByDefault: !0 }, Fa = {
2784
2821
  },
2785
2822
  getEventProperties: function(e, t) {
2786
2823
  var n = {};
2787
- return Na.forEach(function(r) {
2788
- typeof r.eventProperties == "function" && Xi(n, r.eventProperties.call(t[r.pluginName], e));
2824
+ return Va.forEach(function(r) {
2825
+ typeof r.eventProperties == "function" && ia(n, r.eventProperties.call(t[r.pluginName], e));
2789
2826
  }), n;
2790
2827
  },
2791
2828
  modifyOption: function(e, t, n) {
2792
2829
  var r;
2793
- return Na.forEach(function(i) {
2830
+ return Va.forEach(function(i) {
2794
2831
  e[i.pluginName] && i.optionListeners && typeof i.optionListeners[t] == "function" && (r = i.optionListeners[t].call(e[i.pluginName], n));
2795
2832
  }), r;
2796
2833
  }
2797
2834
  };
2798
- function Ia(e) {
2835
+ function Wa(e) {
2799
2836
  var t = e.sortable, n = e.rootEl, r = e.name, i = e.targetEl, a = e.cloneEl, o = e.toEl, s = e.fromEl, c = e.oldIndex, l = e.newIndex, u = e.oldDraggableIndex, d = e.newDraggableIndex, f = e.originalEvent, p = e.putSortable, m = e.extraEventProperties;
2800
2837
  if (t ||= n && n[V], t) {
2801
2838
  var h, g = t.options, _ = "on" + r.charAt(0).toUpperCase() + r.substr(1);
2802
- window.CustomEvent && !ta && !na ? h = new CustomEvent(r, {
2839
+ window.CustomEvent && !la && !ua ? h = new CustomEvent(r, {
2803
2840
  bubbles: !0,
2804
2841
  cancelable: !0
2805
2842
  }) : (h = document.createEvent("Event"), h.initEvent(r, !0, !0)), h.to = o || n, h.from = s || n, h.item = i || n, h.clone = a, h.oldIndex = c, h.newIndex = l, h.oldDraggableIndex = u, h.newDraggableIndex = d, h.originalEvent = f, h.pullMode = p ? p.lastPutMode : void 0;
2806
- var v = qi(qi({}, m), Fa.getEventProperties(r, t));
2843
+ var v = ta(ta({}, m), Ua.getEventProperties(r, t));
2807
2844
  for (var y in v) h[y] = v[y];
2808
2845
  n && n.dispatchEvent(h), g[_] && g[_].call(t, h);
2809
2846
  }
2810
2847
  }
2811
- var La = ["evt"], H = function(e, t) {
2812
- var n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}, r = n.evt, i = Qi(n, La);
2813
- Fa.pluginEvent.bind(Q)(e, t, qi({
2848
+ var Ga = ["evt"], H = function(e, t) {
2849
+ var n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}, r = n.evt, i = oa(n, Ga);
2850
+ Ua.pluginEvent.bind(Q)(e, t, ta({
2814
2851
  dragEl: W,
2815
2852
  parentEl: G,
2816
2853
  ghostEl: K,
2817
2854
  rootEl: q,
2818
- nextEl: Ra,
2819
- lastDownEl: za,
2855
+ nextEl: Ka,
2856
+ lastDownEl: qa,
2820
2857
  cloneEl: J,
2821
- cloneHidden: Ba,
2822
- dragStarted: eo,
2858
+ cloneHidden: Ja,
2859
+ dragStarted: co,
2823
2860
  putSortable: X,
2824
2861
  activeSortable: Q.active,
2825
2862
  originalEvent: r,
2826
- oldIndex: Va,
2827
- oldDraggableIndex: Ha,
2863
+ oldIndex: Ya,
2864
+ oldDraggableIndex: Xa,
2828
2865
  newIndex: Y,
2829
- newDraggableIndex: Ua,
2830
- hideGhostForTarget: yo,
2831
- unhideGhostForTarget: bo,
2866
+ newDraggableIndex: Za,
2867
+ hideGhostForTarget: Do,
2868
+ unhideGhostForTarget: Oo,
2832
2869
  cloneNowHidden: function() {
2833
- Ba = !0;
2870
+ Ja = !0;
2834
2871
  },
2835
2872
  cloneNowShown: function() {
2836
- Ba = !1;
2873
+ Ja = !1;
2837
2874
  },
2838
2875
  dispatchSortableEvent: function(e) {
2839
2876
  U({
@@ -2845,45 +2882,45 @@ var La = ["evt"], H = function(e, t) {
2845
2882
  }, i));
2846
2883
  };
2847
2884
  function U(e) {
2848
- Ia(qi({
2885
+ Wa(ta({
2849
2886
  putSortable: X,
2850
2887
  cloneEl: J,
2851
2888
  targetEl: W,
2852
2889
  rootEl: q,
2853
- oldIndex: Va,
2854
- oldDraggableIndex: Ha,
2890
+ oldIndex: Ya,
2891
+ oldDraggableIndex: Xa,
2855
2892
  newIndex: Y,
2856
- newDraggableIndex: Ua
2893
+ newDraggableIndex: Za
2857
2894
  }, e));
2858
2895
  }
2859
- var W, G, K, q, Ra, za, J, Ba, Va, Y, Ha, Ua, Wa, X, Ga = !1, Ka = !1, qa = [], Ja, Ya, Xa, Za, Qa, $a, eo, to, no, ro = !1, io = !1, ao, Z, oo = [], so = !1, co = [], lo = typeof document < "u", uo = aa, fo = na || ta ? "cssFloat" : "float", po = lo && !oa && !aa && "draggable" in document.createElement("div"), mo = function() {
2860
- if (lo) {
2861
- if (ta) return !1;
2896
+ var W, G, K, q, Ka, qa, J, Ja, Ya, Y, Xa, Za, Qa, X, $a = !1, eo = !1, to = [], no, ro, io, ao, oo, so, co, lo, uo, fo = !1, po = !1, mo, Z, ho = [], go = !1, _o = [], vo = typeof document < "u", yo = pa, bo = ua || la ? "cssFloat" : "float", xo = vo && !ma && !pa && "draggable" in document.createElement("div"), So = function() {
2897
+ if (vo) {
2898
+ if (la) return !1;
2862
2899
  var e = document.createElement("x");
2863
2900
  return e.style.cssText = "pointer-events:auto", e.style.pointerEvents === "auto";
2864
2901
  }
2865
- }(), ho = function(e, t) {
2866
- var n = z(e), r = parseInt(n.width) - parseInt(n.paddingLeft) - parseInt(n.paddingRight) - parseInt(n.borderLeftWidth) - parseInt(n.borderRightWidth), i = ga(e, 0, t), a = ga(e, 1, t), o = i && z(i), s = a && z(a), c = o && parseInt(o.marginLeft) + parseInt(o.marginRight) + B(i).width, l = s && parseInt(s.marginLeft) + parseInt(s.marginRight) + B(a).width;
2902
+ }(), Co = function(e, t) {
2903
+ var n = z(e), r = parseInt(n.width) - parseInt(n.paddingLeft) - parseInt(n.paddingRight) - parseInt(n.borderLeftWidth) - parseInt(n.borderRightWidth), i = wa(e, 0, t), a = wa(e, 1, t), o = i && z(i), s = a && z(a), c = o && parseInt(o.marginLeft) + parseInt(o.marginRight) + B(i).width, l = s && parseInt(s.marginLeft) + parseInt(s.marginRight) + B(a).width;
2867
2904
  if (n.display === "flex") return n.flexDirection === "column" || n.flexDirection === "column-reverse" ? "vertical" : "horizontal";
2868
2905
  if (n.display === "grid") return n.gridTemplateColumns.split(" ").length <= 1 ? "vertical" : "horizontal";
2869
2906
  if (i && o.float && o.float !== "none") {
2870
2907
  var u = o.float === "left" ? "left" : "right";
2871
2908
  return a && (s.clear === "both" || s.clear === u) ? "vertical" : "horizontal";
2872
2909
  }
2873
- return i && (o.display === "block" || o.display === "flex" || o.display === "table" || o.display === "grid" || c >= r && n[fo] === "none" || a && n[fo] === "none" && c + l > r) ? "vertical" : "horizontal";
2874
- }, go = function(e, t, n) {
2910
+ return i && (o.display === "block" || o.display === "flex" || o.display === "table" || o.display === "grid" || c >= r && n[bo] === "none" || a && n[bo] === "none" && c + l > r) ? "vertical" : "horizontal";
2911
+ }, wo = function(e, t, n) {
2875
2912
  var r = n ? e.left : e.top, i = n ? e.right : e.bottom, a = n ? e.width : e.height, o = n ? t.left : t.top, s = n ? t.right : t.bottom, c = n ? t.width : t.height;
2876
2913
  return r === o || i === s || r + a / 2 === o + c / 2;
2877
- }, _o = function(e, t) {
2914
+ }, To = function(e, t) {
2878
2915
  var n;
2879
- return qa.some(function(r) {
2916
+ return to.some(function(r) {
2880
2917
  var i = r[V].options.emptyInsertThreshold;
2881
- if (!(!i || _a(r))) {
2918
+ if (!(!i || Ta(r))) {
2882
2919
  var a = B(r), o = e >= a.left - i && e <= a.right + i, s = t >= a.top - i && t <= a.bottom + i;
2883
2920
  if (o && s) return n = r;
2884
2921
  }
2885
2922
  }), n;
2886
- }, vo = function(e) {
2923
+ }, Eo = function(e) {
2887
2924
  function t(e, n) {
2888
2925
  return function(r, i, a, o) {
2889
2926
  var s = r.options.group.name && i.options.group.name && r.options.group.name === i.options.group.name;
@@ -2896,31 +2933,31 @@ var W, G, K, q, Ra, za, J, Ba, Va, Y, Ha, Ua, Wa, X, Ga = !1, Ka = !1, qa = [],
2896
2933
  };
2897
2934
  }
2898
2935
  var n = {}, r = e.group;
2899
- (!r || Ji(r) != "object") && (r = { name: r }), n.name = r.name, n.checkPull = t(r.pull, !0), n.checkPut = t(r.put), n.revertClone = r.revertClone, e.group = n;
2900
- }, yo = function() {
2901
- !mo && K && z(K, "display", "none");
2902
- }, bo = function() {
2903
- !mo && K && z(K, "display", "");
2936
+ (!r || na(r) != "object") && (r = { name: r }), n.name = r.name, n.checkPull = t(r.pull, !0), n.checkPut = t(r.put), n.revertClone = r.revertClone, e.group = n;
2937
+ }, Do = function() {
2938
+ !So && K && z(K, "display", "none");
2939
+ }, Oo = function() {
2940
+ !So && K && z(K, "display", "");
2904
2941
  };
2905
- lo && !oa && document.addEventListener("click", function(e) {
2906
- if (Ka) return e.preventDefault(), e.stopPropagation && e.stopPropagation(), e.stopImmediatePropagation && e.stopImmediatePropagation(), Ka = !1, !1;
2942
+ vo && !ma && document.addEventListener("click", function(e) {
2943
+ if (eo) return e.preventDefault(), e.stopPropagation && e.stopPropagation(), e.stopImmediatePropagation && e.stopImmediatePropagation(), eo = !1, !1;
2907
2944
  }, !0);
2908
- var xo = function(e) {
2945
+ var ko = function(e) {
2909
2946
  if (W) {
2910
2947
  e = e.touches ? e.touches[0] : e;
2911
- var t = _o(e.clientX, e.clientY);
2948
+ var t = To(e.clientX, e.clientY);
2912
2949
  if (t) {
2913
2950
  var n = {};
2914
2951
  for (var r in e) e.hasOwnProperty(r) && (n[r] = e[r]);
2915
2952
  n.target = n.rootEl = t, n.preventDefault = void 0, n.stopPropagation = void 0, t[V]._onDragOver(n);
2916
2953
  }
2917
2954
  }
2918
- }, So = function(e) {
2955
+ }, Ao = function(e) {
2919
2956
  W && W.parentNode[V]._isOutsideThisEl(e.target);
2920
2957
  };
2921
2958
  function Q(e, t) {
2922
2959
  if (!(e && e.nodeType && e.nodeType === 1)) throw `Sortable: \`el\` must be an HTMLElement, not ${{}.toString.call(e)}`;
2923
- this.el = e, this.options = t = Xi({}, t), e[V] = this;
2960
+ this.el = e, this.options = t = ia({}, t), e[V] = this;
2924
2961
  var n = {
2925
2962
  group: null,
2926
2963
  sort: !0,
@@ -2933,7 +2970,7 @@ function Q(e, t) {
2933
2970
  invertedSwapThreshold: null,
2934
2971
  removeCloneOnHide: !0,
2935
2972
  direction: function() {
2936
- return ho(e, this.options);
2973
+ return Co(e, this.options);
2937
2974
  },
2938
2975
  ghostClass: "sortable-ghost",
2939
2976
  chosenClass: "sortable-chosen",
@@ -2960,17 +2997,17 @@ function Q(e, t) {
2960
2997
  x: 0,
2961
2998
  y: 0
2962
2999
  },
2963
- supportPointer: Q.supportPointer !== !1 && "PointerEvent" in window && !ia,
3000
+ supportPointer: Q.supportPointer !== !1 && "PointerEvent" in window && !fa,
2964
3001
  emptyInsertThreshold: 5
2965
3002
  };
2966
- for (var r in Fa.initializePlugins(this, e, n), n) !(r in t) && (t[r] = n[r]);
2967
- for (var i in vo(t), this) i.charAt(0) === "_" && typeof this[i] == "function" && (this[i] = this[i].bind(this));
2968
- this.nativeDraggable = !t.forceFallback && po, this.nativeDraggable && (this.options.touchStartThreshold = 1), t.supportPointer ? I(e, "pointerdown", this._onTapStart) : (I(e, "mousedown", this._onTapStart), I(e, "touchstart", this._onTapStart)), this.nativeDraggable && (I(e, "dragover", this), I(e, "dragenter", this)), qa.push(this.el), t.store && t.store.get && this.sort(t.store.get(this) || []), Xi(this, Aa());
3003
+ for (var r in Ua.initializePlugins(this, e, n), n) !(r in t) && (t[r] = n[r]);
3004
+ for (var i in Eo(t), this) i.charAt(0) === "_" && typeof this[i] == "function" && (this[i] = this[i].bind(this));
3005
+ this.nativeDraggable = !t.forceFallback && xo, this.nativeDraggable && (this.options.touchStartThreshold = 1), t.supportPointer ? I(e, "pointerdown", this._onTapStart) : (I(e, "mousedown", this._onTapStart), I(e, "touchstart", this._onTapStart)), this.nativeDraggable && (I(e, "dragover", this), I(e, "dragenter", this)), to.push(this.el), t.store && t.store.get && this.sort(t.store.get(this) || []), ia(this, Ra());
2969
3006
  }
2970
3007
  Q.prototype = {
2971
3008
  constructor: Q,
2972
3009
  _isOutsideThisEl: function(e) {
2973
- !this.el.contains(e) && e !== this.el && (to = null);
3010
+ !this.el.contains(e) && e !== this.el && (lo = null);
2974
3011
  },
2975
3012
  _getDirection: function(e, t) {
2976
3013
  return typeof this.options.direction == "function" ? this.options.direction.call(this, e, t, W) : this.options.direction;
@@ -2978,8 +3015,8 @@ Q.prototype = {
2978
3015
  _onTapStart: function(e) {
2979
3016
  if (e.cancelable) {
2980
3017
  var t = this, n = this.el, r = this.options, i = r.preventOnFilter, a = e.type, o = e.touches && e.touches[0] || e.pointerType && e.pointerType === "touch" && e, s = (o || e).target, c = e.target.shadowRoot && (e.path && e.path[0] || e.composedPath && e.composedPath()[0]) || s, l = r.filter;
2981
- if (Mo(n), !W && !(/mousedown|pointerdown/.test(a) && e.button !== 0 || r.disabled) && !c.isContentEditable && !(!this.nativeDraggable && ia && s && s.tagName.toUpperCase() === "SELECT") && (s = ua(s, r.draggable, n, !1), !(s && s.animated) && za !== s)) {
2982
- if (Va = va(s), Ha = va(s, r.draggable), typeof l == "function") {
3018
+ if (Bo(n), !W && !(/mousedown|pointerdown/.test(a) && e.button !== 0 || r.disabled) && !c.isContentEditable && !(!this.nativeDraggable && fa && s && s.tagName.toUpperCase() === "SELECT") && (s = va(s, r.draggable, n, !1), !(s && s.animated) && qa !== s)) {
3019
+ if (Ya = Ea(s), Xa = Ea(s, r.draggable), typeof l == "function") {
2983
3020
  if (l.call(this, e, s, this)) {
2984
3021
  U({
2985
3022
  sortable: t,
@@ -2992,7 +3029,7 @@ Q.prototype = {
2992
3029
  return;
2993
3030
  }
2994
3031
  } else if (l && (l = l.split(",").some(function(r) {
2995
- if (r = ua(c, r.trim(), n, !1), r) return U({
3032
+ if (r = va(c, r.trim(), n, !1), r) return U({
2996
3033
  sortable: t,
2997
3034
  rootEl: r,
2998
3035
  name: "filter",
@@ -3004,7 +3041,7 @@ Q.prototype = {
3004
3041
  i && e.cancelable && e.preventDefault();
3005
3042
  return;
3006
3043
  }
3007
- r.handle && !ua(c, r.handle, n, !1) || this._prepareDragStart(e, o, s);
3044
+ r.handle && !va(c, r.handle, n, !1) || this._prepareDragStart(e, o, s);
3008
3045
  }
3009
3046
  }
3010
3047
  },
@@ -3012,23 +3049,23 @@ Q.prototype = {
3012
3049
  var r = this, i = r.el, a = r.options, o = i.ownerDocument, s;
3013
3050
  if (n && !W && n.parentNode === i) {
3014
3051
  var c = B(n);
3015
- if (q = i, W = n, G = W.parentNode, Ra = W.nextSibling, za = n, Wa = a.group, Q.dragged = W, Ja = {
3052
+ if (q = i, W = n, G = W.parentNode, Ka = W.nextSibling, qa = n, Qa = a.group, Q.dragged = W, no = {
3016
3053
  target: W,
3017
3054
  clientX: (t || e).clientX,
3018
3055
  clientY: (t || e).clientY
3019
- }, Qa = Ja.clientX - c.left, $a = Ja.clientY - c.top, this._lastX = (t || e).clientX, this._lastY = (t || e).clientY, W.style["will-change"] = "all", s = function() {
3056
+ }, oo = no.clientX - c.left, so = no.clientY - c.top, this._lastX = (t || e).clientX, this._lastY = (t || e).clientY, W.style["will-change"] = "all", s = function() {
3020
3057
  if (H("delayEnded", r, { evt: e }), Q.eventCanceled) {
3021
3058
  r._onDrop();
3022
3059
  return;
3023
3060
  }
3024
- r._disableDelayedDragEvents(), !ra && r.nativeDraggable && (W.draggable = !0), r._triggerDragStart(e, t), U({
3061
+ r._disableDelayedDragEvents(), !da && r.nativeDraggable && (W.draggable = !0), r._triggerDragStart(e, t), U({
3025
3062
  sortable: r,
3026
3063
  name: "choose",
3027
3064
  originalEvent: e
3028
3065
  }), R(W, a.chosenClass, !0);
3029
3066
  }, a.ignore.split(",").forEach(function(e) {
3030
- pa(W, e.trim(), To);
3031
- }), I(o, "dragover", xo), I(o, "mousemove", xo), I(o, "touchmove", xo), I(o, "mouseup", r._onDrop), I(o, "touchend", r._onDrop), I(o, "touchcancel", r._onDrop), ra && this.nativeDraggable && (this.options.touchStartThreshold = 4, W.draggable = !0), H("delayStart", this, { evt: e }), a.delay && (!a.delayOnTouchOnly || t) && (!this.nativeDraggable || !(na || ta))) {
3067
+ xa(W, e.trim(), No);
3068
+ }), I(o, "dragover", ko), I(o, "mousemove", ko), I(o, "touchmove", ko), I(o, "mouseup", r._onDrop), I(o, "touchend", r._onDrop), I(o, "touchcancel", r._onDrop), da && this.nativeDraggable && (this.options.touchStartThreshold = 4, W.draggable = !0), H("delayStart", this, { evt: e }), a.delay && (!a.delayOnTouchOnly || t) && (!this.nativeDraggable || !(ua || la))) {
3032
3069
  if (Q.eventCanceled) {
3033
3070
  this._onDrop();
3034
3071
  return;
@@ -3042,7 +3079,7 @@ Q.prototype = {
3042
3079
  Math.max(Math.abs(t.clientX - this._lastX), Math.abs(t.clientY - this._lastY)) >= Math.floor(this.options.touchStartThreshold / (this.nativeDraggable && window.devicePixelRatio || 1)) && this._disableDelayedDrag();
3043
3080
  },
3044
3081
  _disableDelayedDrag: function() {
3045
- W && To(W), clearTimeout(this._dragStartTimer), this._disableDelayedDragEvents();
3082
+ W && No(W), clearTimeout(this._dragStartTimer), this._disableDelayedDragEvents();
3046
3083
  },
3047
3084
  _disableDelayedDragEvents: function() {
3048
3085
  var e = this.el.ownerDocument;
@@ -3051,14 +3088,14 @@ Q.prototype = {
3051
3088
  _triggerDragStart: function(e, t) {
3052
3089
  t ||= e.pointerType == "touch" && e, !this.nativeDraggable || t ? this.options.supportPointer ? I(document, "pointermove", this._onTouchMove) : t ? I(document, "touchmove", this._onTouchMove) : I(document, "mousemove", this._onTouchMove) : (I(W, "dragend", this), I(q, "dragstart", this._onDragStart));
3053
3090
  try {
3054
- document.selection ? No(function() {
3091
+ document.selection ? Vo(function() {
3055
3092
  document.selection.empty();
3056
3093
  }) : window.getSelection().removeAllRanges();
3057
3094
  } catch {}
3058
3095
  },
3059
3096
  _dragStarted: function(e, t) {
3060
- if (Ga = !1, q && W) {
3061
- H("dragStarted", this, { evt: t }), this.nativeDraggable && I(document, "dragover", So);
3097
+ if ($a = !1, q && W) {
3098
+ H("dragStarted", this, { evt: t }), this.nativeDraggable && I(document, "dragover", Ao);
3062
3099
  var n = this.options;
3063
3100
  !e && R(W, n.dragClass, !1), R(W, n.ghostClass, !0), Q.active = this, e && this._appendGhost(), U({
3064
3101
  sortable: this,
@@ -3068,33 +3105,33 @@ Q.prototype = {
3068
3105
  } else this._nulling();
3069
3106
  },
3070
3107
  _emulateDragOver: function() {
3071
- if (Ya) {
3072
- this._lastX = Ya.clientX, this._lastY = Ya.clientY, yo();
3073
- for (var e = document.elementFromPoint(Ya.clientX, Ya.clientY), t = e; e && e.shadowRoot && (e = e.shadowRoot.elementFromPoint(Ya.clientX, Ya.clientY), e !== t);) t = e;
3108
+ if (ro) {
3109
+ this._lastX = ro.clientX, this._lastY = ro.clientY, Do();
3110
+ for (var e = document.elementFromPoint(ro.clientX, ro.clientY), t = e; e && e.shadowRoot && (e = e.shadowRoot.elementFromPoint(ro.clientX, ro.clientY), e !== t);) t = e;
3074
3111
  if (W.parentNode[V]._isOutsideThisEl(e), t) do {
3075
3112
  if (t[V]) {
3076
3113
  var n = void 0;
3077
3114
  if (n = t[V]._onDragOver({
3078
- clientX: Ya.clientX,
3079
- clientY: Ya.clientY,
3115
+ clientX: ro.clientX,
3116
+ clientY: ro.clientY,
3080
3117
  target: e,
3081
3118
  rootEl: t
3082
3119
  }), n && !this.options.dragoverBubble) break;
3083
3120
  }
3084
3121
  e = t;
3085
3122
  } while (t = t.parentNode);
3086
- bo();
3123
+ Oo();
3087
3124
  }
3088
3125
  },
3089
3126
  _onTouchMove: function(e) {
3090
- if (Ja) {
3091
- var t = this.options, n = t.fallbackTolerance, r = t.fallbackOffset, i = e.touches ? e.touches[0] : e, a = K && fa(K, !0), o = K && a && a.a, s = K && a && a.d, c = uo && Z && ya(Z), l = (i.clientX - Ja.clientX + r.x) / (o || 1) + (c ? c[0] - oo[0] : 0) / (o || 1), u = (i.clientY - Ja.clientY + r.y) / (s || 1) + (c ? c[1] - oo[1] : 0) / (s || 1);
3092
- if (!Q.active && !Ga) {
3127
+ if (no) {
3128
+ var t = this.options, n = t.fallbackTolerance, r = t.fallbackOffset, i = e.touches ? e.touches[0] : e, a = K && ba(K, !0), o = K && a && a.a, s = K && a && a.d, c = yo && Z && Da(Z), l = (i.clientX - no.clientX + r.x) / (o || 1) + (c ? c[0] - ho[0] : 0) / (o || 1), u = (i.clientY - no.clientY + r.y) / (s || 1) + (c ? c[1] - ho[1] : 0) / (s || 1);
3129
+ if (!Q.active && !$a) {
3093
3130
  if (n && Math.max(Math.abs(i.clientX - this._lastX), Math.abs(i.clientY - this._lastY)) < n) return;
3094
3131
  this._onDragStart(e, !0);
3095
3132
  }
3096
3133
  if (K) {
3097
- a ? (a.e += l - (Xa || 0), a.f += u - (Za || 0)) : a = {
3134
+ a ? (a.e += l - (io || 0), a.f += u - (ao || 0)) : a = {
3098
3135
  a: 1,
3099
3136
  b: 0,
3100
3137
  c: 0,
@@ -3103,19 +3140,19 @@ Q.prototype = {
3103
3140
  f: u
3104
3141
  };
3105
3142
  var d = `matrix(${a.a},${a.b},${a.c},${a.d},${a.e},${a.f})`;
3106
- z(K, "webkitTransform", d), z(K, "mozTransform", d), z(K, "msTransform", d), z(K, "transform", d), Xa = l, Za = u, Ya = i;
3143
+ z(K, "webkitTransform", d), z(K, "mozTransform", d), z(K, "msTransform", d), z(K, "transform", d), io = l, ao = u, ro = i;
3107
3144
  }
3108
3145
  e.cancelable && e.preventDefault();
3109
3146
  }
3110
3147
  },
3111
3148
  _appendGhost: function() {
3112
3149
  if (!K) {
3113
- var e = this.options.fallbackOnBody ? document.body : q, t = B(W, !0, uo, !0, e), n = this.options;
3114
- if (uo) {
3150
+ var e = this.options.fallbackOnBody ? document.body : q, t = B(W, !0, yo, !0, e), n = this.options;
3151
+ if (yo) {
3115
3152
  for (Z = e; z(Z, "position") === "static" && z(Z, "transform") === "none" && Z !== document;) Z = Z.parentNode;
3116
- Z !== document.body && Z !== document.documentElement ? (Z === document && (Z = ma()), t.top += Z.scrollTop, t.left += Z.scrollLeft) : Z = ma(), oo = ya(Z);
3153
+ Z !== document.body && Z !== document.documentElement ? (Z === document && (Z = Sa()), t.top += Z.scrollTop, t.left += Z.scrollLeft) : Z = Sa(), ho = Da(Z);
3117
3154
  }
3118
- K = W.cloneNode(!0), R(K, n.ghostClass, !1), R(K, n.fallbackClass, !0), R(K, n.dragClass, !0), z(K, "transition", ""), z(K, "transform", ""), z(K, "box-sizing", "border-box"), z(K, "margin", 0), z(K, "top", t.top), z(K, "left", t.left), z(K, "width", t.width), z(K, "height", t.height), z(K, "opacity", "0.8"), z(K, "position", uo ? "absolute" : "fixed"), z(K, "zIndex", "100000"), z(K, "pointerEvents", "none"), Q.ghost = K, e.appendChild(K), z(K, "transform-origin", Qa / parseInt(K.style.width) * 100 + "% " + $a / parseInt(K.style.height) * 100 + "%");
3155
+ K = W.cloneNode(!0), R(K, n.ghostClass, !1), R(K, n.fallbackClass, !0), R(K, n.dragClass, !0), z(K, "transition", ""), z(K, "transform", ""), z(K, "box-sizing", "border-box"), z(K, "margin", 0), z(K, "top", t.top), z(K, "left", t.left), z(K, "width", t.width), z(K, "height", t.height), z(K, "opacity", "0.8"), z(K, "position", yo ? "absolute" : "fixed"), z(K, "zIndex", "100000"), z(K, "pointerEvents", "none"), Q.ghost = K, e.appendChild(K), z(K, "transform-origin", oo / parseInt(K.style.width) * 100 + "% " + so / parseInt(K.style.height) * 100 + "%");
3119
3156
  }
3120
3157
  },
3121
3158
  _onDragStart: function(e, t) {
@@ -3124,18 +3161,18 @@ Q.prototype = {
3124
3161
  this._onDrop();
3125
3162
  return;
3126
3163
  }
3127
- H("setupClone", this), Q.eventCanceled || (J = Oa(W), J.removeAttribute("id"), J.draggable = !1, J.style["will-change"] = "", this._hideClone(), R(J, this.options.chosenClass, !1), Q.clone = J), n.cloneId = No(function() {
3164
+ H("setupClone", this), Q.eventCanceled || (J = Ia(W), J.removeAttribute("id"), J.draggable = !1, J.style["will-change"] = "", this._hideClone(), R(J, this.options.chosenClass, !1), Q.clone = J), n.cloneId = Vo(function() {
3128
3165
  H("clone", n), !Q.eventCanceled && (n.options.removeCloneOnHide || q.insertBefore(J, W), n._hideClone(), U({
3129
3166
  sortable: n,
3130
3167
  name: "clone"
3131
3168
  }));
3132
- }), !t && R(W, i.dragClass, !0), t ? (Ka = !0, n._loopId = setInterval(n._emulateDragOver, 50)) : (L(document, "mouseup", n._onDrop), L(document, "touchend", n._onDrop), L(document, "touchcancel", n._onDrop), r && (r.effectAllowed = "move", i.setData && i.setData.call(n, r, W)), I(document, "drop", n), z(W, "transform", "translateZ(0)")), Ga = !0, n._dragStartId = No(n._dragStarted.bind(n, t, e)), I(document, "selectstart", n), eo = !0, ia && z(document.body, "user-select", "none");
3169
+ }), !t && R(W, i.dragClass, !0), t ? (eo = !0, n._loopId = setInterval(n._emulateDragOver, 50)) : (L(document, "mouseup", n._onDrop), L(document, "touchend", n._onDrop), L(document, "touchcancel", n._onDrop), r && (r.effectAllowed = "move", i.setData && i.setData.call(n, r, W)), I(document, "drop", n), z(W, "transform", "translateZ(0)")), $a = !0, n._dragStartId = Vo(n._dragStarted.bind(n, t, e)), I(document, "selectstart", n), co = !0, fa && z(document.body, "user-select", "none");
3133
3170
  },
3134
3171
  _onDragOver: function(e) {
3135
- var t = this.el, n = e.target, r, i, a, o = this.options, s = o.group, c = Q.active, l = Wa === s, u = o.sort, d = X || c, f, p = this, m = !1;
3136
- if (so) return;
3172
+ var t = this.el, n = e.target, r, i, a, o = this.options, s = o.group, c = Q.active, l = Qa === s, u = o.sort, d = X || c, f, p = this, m = !1;
3173
+ if (go) return;
3137
3174
  function h(o, s) {
3138
- H(o, p, qi({
3175
+ H(o, p, ta({
3139
3176
  evt: e,
3140
3177
  isOwner: l,
3141
3178
  axis: f ? "vertical" : "horizontal",
@@ -3147,7 +3184,7 @@ Q.prototype = {
3147
3184
  target: n,
3148
3185
  completed: _,
3149
3186
  onMove: function(n, i) {
3150
- return wo(q, t, W, r, n, B(n), e, i);
3187
+ return Mo(q, t, W, r, n, B(n), e, i);
3151
3188
  },
3152
3189
  changed: v
3153
3190
  }, s));
@@ -3158,48 +3195,48 @@ Q.prototype = {
3158
3195
  function _(r) {
3159
3196
  return h("dragOverCompleted", { insertion: r }), r && (l ? c._hideClone() : c._showClone(p), p !== d && (R(W, X ? X.options.ghostClass : c.options.ghostClass, !1), R(W, o.ghostClass, !0)), X !== p && p !== Q.active ? X = p : p === Q.active && X && (X = null), d === p && (p._ignoreWhileAnimating = n), p.animateAll(function() {
3160
3197
  h("dragOverAnimationComplete"), p._ignoreWhileAnimating = null;
3161
- }), p !== d && (d.animateAll(), d._ignoreWhileAnimating = null)), (n === W && !W.animated || n === t && !n.animated) && (to = null), !o.dragoverBubble && !e.rootEl && n !== document && (W.parentNode[V]._isOutsideThisEl(e.target), !r && xo(e)), !o.dragoverBubble && e.stopPropagation && e.stopPropagation(), m = !0;
3198
+ }), p !== d && (d.animateAll(), d._ignoreWhileAnimating = null)), (n === W && !W.animated || n === t && !n.animated) && (lo = null), !o.dragoverBubble && !e.rootEl && n !== document && (W.parentNode[V]._isOutsideThisEl(e.target), !r && ko(e)), !o.dragoverBubble && e.stopPropagation && e.stopPropagation(), m = !0;
3162
3199
  }
3163
3200
  function v() {
3164
- Y = va(W), Ua = va(W, o.draggable), U({
3201
+ Y = Ea(W), Za = Ea(W, o.draggable), U({
3165
3202
  sortable: p,
3166
3203
  name: "change",
3167
3204
  toEl: t,
3168
3205
  newIndex: Y,
3169
- newDraggableIndex: Ua,
3206
+ newDraggableIndex: Za,
3170
3207
  originalEvent: e
3171
3208
  });
3172
3209
  }
3173
- if (e.preventDefault !== void 0 && e.cancelable && e.preventDefault(), n = ua(n, o.draggable, t, !0), h("dragOver"), Q.eventCanceled) return m;
3210
+ if (e.preventDefault !== void 0 && e.cancelable && e.preventDefault(), n = va(n, o.draggable, t, !0), h("dragOver"), Q.eventCanceled) return m;
3174
3211
  if (W.contains(e.target) || n.animated && n.animatingX && n.animatingY || p._ignoreWhileAnimating === n) return _(!1);
3175
- if (Ka = !1, c && !o.disabled && (l ? u || (a = G !== q) : X === this || (this.lastPutMode = Wa.checkPull(this, c, W, e)) && s.checkPut(this, c, W, e))) {
3212
+ if (eo = !1, c && !o.disabled && (l ? u || (a = G !== q) : X === this || (this.lastPutMode = Qa.checkPull(this, c, W, e)) && s.checkPut(this, c, W, e))) {
3176
3213
  if (f = this._getDirection(e, n) === "vertical", r = B(W), h("dragOverValid"), Q.eventCanceled) return m;
3177
- if (a) return G = q, g(), this._hideClone(), h("revert"), Q.eventCanceled || (Ra ? q.insertBefore(W, Ra) : q.appendChild(W)), _(!0);
3178
- var y = _a(t, o.draggable);
3179
- if (!y || Oo(e, f, this) && !y.animated) {
3214
+ if (a) return G = q, g(), this._hideClone(), h("revert"), Q.eventCanceled || (Ka ? q.insertBefore(W, Ka) : q.appendChild(W)), _(!0);
3215
+ var y = Ta(t, o.draggable);
3216
+ if (!y || Io(e, f, this) && !y.animated) {
3180
3217
  if (y === W) return _(!1);
3181
- if (y && t === e.target && (n = y), n && (i = B(n)), wo(q, t, W, r, n, i, e, !!n) !== !1) return g(), y && y.nextSibling ? t.insertBefore(W, y.nextSibling) : t.appendChild(W), G = t, v(), _(!0);
3182
- } else if (y && Do(e, f, this)) {
3183
- var b = ga(t, 0, o, !0);
3218
+ if (y && t === e.target && (n = y), n && (i = B(n)), Mo(q, t, W, r, n, i, e, !!n) !== !1) return g(), y && y.nextSibling ? t.insertBefore(W, y.nextSibling) : t.appendChild(W), G = t, v(), _(!0);
3219
+ } else if (y && Fo(e, f, this)) {
3220
+ var b = wa(t, 0, o, !0);
3184
3221
  if (b === W) return _(!1);
3185
- if (n = b, i = B(n), wo(q, t, W, r, n, i, e, !1) !== !1) return g(), t.insertBefore(W, b), G = t, v(), _(!0);
3222
+ if (n = b, i = B(n), Mo(q, t, W, r, n, i, e, !1) !== !1) return g(), t.insertBefore(W, b), G = t, v(), _(!0);
3186
3223
  } else if (n.parentNode === t) {
3187
3224
  i = B(n);
3188
- var x = 0, S, C = W.parentNode !== t, w = !go(W.animated && W.toRect || r, n.animated && n.toRect || i, f), T = f ? "top" : "left", E = ha(n, "top", "top") || ha(W, "top", "top"), D = E ? E.scrollTop : void 0;
3189
- to !== n && (S = i[T], ro = !1, io = !w && o.invertSwap || C), x = ko(e, n, i, f, w ? 1 : o.swapThreshold, o.invertedSwapThreshold == null ? o.swapThreshold : o.invertedSwapThreshold, io, to === n);
3225
+ var x = 0, S, C = W.parentNode !== t, w = !wo(W.animated && W.toRect || r, n.animated && n.toRect || i, f), T = f ? "top" : "left", E = Ca(n, "top", "top") || Ca(W, "top", "top"), D = E ? E.scrollTop : void 0;
3226
+ lo !== n && (S = i[T], fo = !1, po = !w && o.invertSwap || C), x = Lo(e, n, i, f, w ? 1 : o.swapThreshold, o.invertedSwapThreshold == null ? o.swapThreshold : o.invertedSwapThreshold, po, lo === n);
3190
3227
  var O;
3191
3228
  if (x !== 0) {
3192
- var k = va(W);
3229
+ var k = Ea(W);
3193
3230
  do
3194
3231
  k -= x, O = G.children[k];
3195
3232
  while (O && (z(O, "display") === "none" || O === K));
3196
3233
  }
3197
3234
  if (x === 0 || O === n) return _(!1);
3198
- to = n, no = x;
3235
+ lo = n, uo = x;
3199
3236
  var ee = n.nextElementSibling, A = !1;
3200
3237
  A = x === 1;
3201
- var te = wo(q, t, W, r, n, i, e, A);
3202
- if (te !== !1) return (te === 1 || te === -1) && (A = te === 1), so = !0, setTimeout(Eo, 30), g(), A && !ee ? t.appendChild(W) : n.parentNode.insertBefore(W, A ? ee : n), E && Da(E, 0, D - E.scrollTop), G = W.parentNode, S !== void 0 && !io && (ao = Math.abs(S - B(n)[T])), v(), _(!0);
3238
+ var te = Mo(q, t, W, r, n, i, e, A);
3239
+ if (te !== !1) return (te === 1 || te === -1) && (A = te === 1), go = !0, setTimeout(Po, 30), g(), A && !ee ? t.appendChild(W) : n.parentNode.insertBefore(W, A ? ee : n), E && Fa(E, 0, D - E.scrollTop), G = W.parentNode, S !== void 0 && !po && (mo = Math.abs(S - B(n)[T])), v(), _(!0);
3203
3240
  }
3204
3241
  if (t.contains(W)) return _(!1);
3205
3242
  }
@@ -3207,7 +3244,7 @@ Q.prototype = {
3207
3244
  },
3208
3245
  _ignoreWhileAnimating: null,
3209
3246
  _offMoveEvents: function() {
3210
- L(document, "mousemove", this._onTouchMove), L(document, "touchmove", this._onTouchMove), L(document, "pointermove", this._onTouchMove), L(document, "dragover", xo), L(document, "mousemove", xo), L(document, "touchmove", xo);
3247
+ L(document, "mousemove", this._onTouchMove), L(document, "touchmove", this._onTouchMove), L(document, "pointermove", this._onTouchMove), L(document, "dragover", ko), L(document, "mousemove", ko), L(document, "touchmove", ko);
3211
3248
  },
3212
3249
  _offUpEvents: function() {
3213
3250
  var e = this.el.ownerDocument;
@@ -3215,18 +3252,18 @@ Q.prototype = {
3215
3252
  },
3216
3253
  _onDrop: function(e) {
3217
3254
  var t = this.el, n = this.options;
3218
- if (Y = va(W), Ua = va(W, n.draggable), H("drop", this, { evt: e }), G = W && W.parentNode, Y = va(W), Ua = va(W, n.draggable), Q.eventCanceled) {
3255
+ if (Y = Ea(W), Za = Ea(W, n.draggable), H("drop", this, { evt: e }), G = W && W.parentNode, Y = Ea(W), Za = Ea(W, n.draggable), Q.eventCanceled) {
3219
3256
  this._nulling();
3220
3257
  return;
3221
3258
  }
3222
- Ga = !1, io = !1, ro = !1, clearInterval(this._loopId), clearTimeout(this._dragStartTimer), Po(this.cloneId), Po(this._dragStartId), this.nativeDraggable && (L(document, "drop", this), L(t, "dragstart", this._onDragStart)), this._offMoveEvents(), this._offUpEvents(), ia && z(document.body, "user-select", ""), z(W, "transform", ""), e && (eo && (e.cancelable && e.preventDefault(), !n.dropBubble && e.stopPropagation()), K && K.parentNode && K.parentNode.removeChild(K), (q === G || X && X.lastPutMode !== "clone") && J && J.parentNode && J.parentNode.removeChild(J), W && (this.nativeDraggable && L(W, "dragend", this), To(W), W.style["will-change"] = "", eo && !Ga && R(W, X ? X.options.ghostClass : this.options.ghostClass, !1), R(W, this.options.chosenClass, !1), U({
3259
+ $a = !1, po = !1, fo = !1, clearInterval(this._loopId), clearTimeout(this._dragStartTimer), Ho(this.cloneId), Ho(this._dragStartId), this.nativeDraggable && (L(document, "drop", this), L(t, "dragstart", this._onDragStart)), this._offMoveEvents(), this._offUpEvents(), fa && z(document.body, "user-select", ""), z(W, "transform", ""), e && (co && (e.cancelable && e.preventDefault(), !n.dropBubble && e.stopPropagation()), K && K.parentNode && K.parentNode.removeChild(K), (q === G || X && X.lastPutMode !== "clone") && J && J.parentNode && J.parentNode.removeChild(J), W && (this.nativeDraggable && L(W, "dragend", this), No(W), W.style["will-change"] = "", co && !$a && R(W, X ? X.options.ghostClass : this.options.ghostClass, !1), R(W, this.options.chosenClass, !1), U({
3223
3260
  sortable: this,
3224
3261
  name: "unchoose",
3225
3262
  toEl: G,
3226
3263
  newIndex: null,
3227
3264
  newDraggableIndex: null,
3228
3265
  originalEvent: e
3229
- }), q === G ? Y !== Va && Y >= 0 && (U({
3266
+ }), q === G ? Y !== Ya && Y >= 0 && (U({
3230
3267
  sortable: this,
3231
3268
  name: "update",
3232
3269
  toEl: G,
@@ -3258,7 +3295,7 @@ Q.prototype = {
3258
3295
  name: "sort",
3259
3296
  toEl: G,
3260
3297
  originalEvent: e
3261
- })), X && X.save()), Q.active && ((Y == null || Y === -1) && (Y = Va, Ua = Ha), U({
3298
+ })), X && X.save()), Q.active && ((Y == null || Y === -1) && (Y = Ya, Za = Xa), U({
3262
3299
  sortable: this,
3263
3300
  name: "end",
3264
3301
  toEl: G,
@@ -3266,9 +3303,9 @@ Q.prototype = {
3266
3303
  }), this.save()))), this._nulling();
3267
3304
  },
3268
3305
  _nulling: function() {
3269
- H("nulling", this), q = W = G = K = Ra = J = za = Ba = Ja = Ya = eo = Y = Ua = Va = Ha = to = no = X = Wa = Q.dragged = Q.ghost = Q.clone = Q.active = null, co.forEach(function(e) {
3306
+ H("nulling", this), q = W = G = K = Ka = J = qa = Ja = no = ro = co = Y = Za = Ya = Xa = lo = uo = X = Qa = Q.dragged = Q.ghost = Q.clone = Q.active = null, _o.forEach(function(e) {
3270
3307
  e.checked = !0;
3271
- }), co.length = Xa = Za = 0;
3308
+ }), _o.length = io = ao = 0;
3272
3309
  },
3273
3310
  handleEvent: function(e) {
3274
3311
  switch (e.type) {
@@ -3278,7 +3315,7 @@ Q.prototype = {
3278
3315
  break;
3279
3316
  case "dragenter":
3280
3317
  case "dragover":
3281
- W && (this._onDragOver(e), Co(e));
3318
+ W && (this._onDragOver(e), jo(e));
3282
3319
  break;
3283
3320
  case "selectstart":
3284
3321
  e.preventDefault();
@@ -3286,14 +3323,14 @@ Q.prototype = {
3286
3323
  }
3287
3324
  },
3288
3325
  toArray: function() {
3289
- for (var e = [], t, n = this.el.children, r = 0, i = n.length, a = this.options; r < i; r++) t = n[r], ua(t, a.draggable, this.el, !1) && e.push(t.getAttribute(a.dataIdAttr) || jo(t));
3326
+ for (var e = [], t, n = this.el.children, r = 0, i = n.length, a = this.options; r < i; r++) t = n[r], va(t, a.draggable, this.el, !1) && e.push(t.getAttribute(a.dataIdAttr) || zo(t));
3290
3327
  return e;
3291
3328
  },
3292
3329
  sort: function(e, t) {
3293
3330
  var n = {}, r = this.el;
3294
3331
  this.toArray().forEach(function(e, t) {
3295
3332
  var i = r.children[t];
3296
- ua(i, this.options.draggable, r, !1) && (n[e] = i);
3333
+ va(i, this.options.draggable, r, !1) && (n[e] = i);
3297
3334
  }, this), t && this.captureAnimationState(), e.forEach(function(e) {
3298
3335
  n[e] && (r.removeChild(n[e]), r.appendChild(n[e]));
3299
3336
  }), t && this.animateAll();
@@ -3303,25 +3340,25 @@ Q.prototype = {
3303
3340
  e && e.set && e.set(this);
3304
3341
  },
3305
3342
  closest: function(e, t) {
3306
- return ua(e, t || this.options.draggable, this.el, !1);
3343
+ return va(e, t || this.options.draggable, this.el, !1);
3307
3344
  },
3308
3345
  option: function(e, t) {
3309
3346
  var n = this.options;
3310
3347
  if (t === void 0) return n[e];
3311
- var r = Fa.modifyOption(this, e, t);
3312
- r === void 0 ? n[e] = t : n[e] = r, e === "group" && vo(n);
3348
+ var r = Ua.modifyOption(this, e, t);
3349
+ r === void 0 ? n[e] = t : n[e] = r, e === "group" && Eo(n);
3313
3350
  },
3314
3351
  destroy: function() {
3315
3352
  H("destroy", this);
3316
3353
  var e = this.el;
3317
3354
  e[V] = null, L(e, "mousedown", this._onTapStart), L(e, "touchstart", this._onTapStart), L(e, "pointerdown", this._onTapStart), this.nativeDraggable && (L(e, "dragover", this), L(e, "dragenter", this)), Array.prototype.forEach.call(e.querySelectorAll("[draggable]"), function(e) {
3318
3355
  e.removeAttribute("draggable");
3319
- }), this._onDrop(), this._disableDelayedDragEvents(), qa.splice(qa.indexOf(this.el), 1), this.el = e = null;
3356
+ }), this._onDrop(), this._disableDelayedDragEvents(), to.splice(to.indexOf(this.el), 1), this.el = e = null;
3320
3357
  },
3321
3358
  _hideClone: function() {
3322
- if (!Ba) {
3359
+ if (!Ja) {
3323
3360
  if (H("hideClone", this), Q.eventCanceled) return;
3324
- z(J, "display", "none"), this.options.removeCloneOnHide && J.parentNode && J.parentNode.removeChild(J), Ba = !0;
3361
+ z(J, "display", "none"), this.options.removeCloneOnHide && J.parentNode && J.parentNode.removeChild(J), Ja = !0;
3325
3362
  }
3326
3363
  },
3327
3364
  _showClone: function(e) {
@@ -3329,99 +3366,99 @@ Q.prototype = {
3329
3366
  this._hideClone();
3330
3367
  return;
3331
3368
  }
3332
- if (Ba) {
3369
+ if (Ja) {
3333
3370
  if (H("showClone", this), Q.eventCanceled) return;
3334
- W.parentNode == q && !this.options.group.revertClone ? q.insertBefore(J, W) : Ra ? q.insertBefore(J, Ra) : q.appendChild(J), this.options.group.revertClone && this.animate(W, J), z(J, "display", ""), Ba = !1;
3371
+ W.parentNode == q && !this.options.group.revertClone ? q.insertBefore(J, W) : Ka ? q.insertBefore(J, Ka) : q.appendChild(J), this.options.group.revertClone && this.animate(W, J), z(J, "display", ""), Ja = !1;
3335
3372
  }
3336
3373
  }
3337
3374
  };
3338
- function Co(e) {
3375
+ function jo(e) {
3339
3376
  e.dataTransfer && (e.dataTransfer.dropEffect = "move"), e.cancelable && e.preventDefault();
3340
3377
  }
3341
- function wo(e, t, n, r, i, a, o, s) {
3378
+ function Mo(e, t, n, r, i, a, o, s) {
3342
3379
  var c, l = e[V], u = l.options.onMove, d;
3343
- return window.CustomEvent && !ta && !na ? c = new CustomEvent("move", {
3380
+ return window.CustomEvent && !la && !ua ? c = new CustomEvent("move", {
3344
3381
  bubbles: !0,
3345
3382
  cancelable: !0
3346
3383
  }) : (c = document.createEvent("Event"), c.initEvent("move", !0, !0)), c.to = t, c.from = e, c.dragged = n, c.draggedRect = r, c.related = i || t, c.relatedRect = a || B(t), c.willInsertAfter = s, c.originalEvent = o, e.dispatchEvent(c), u && (d = u.call(l, c, o)), d;
3347
3384
  }
3348
- function To(e) {
3385
+ function No(e) {
3349
3386
  e.draggable = !1;
3350
3387
  }
3351
- function Eo() {
3352
- so = !1;
3388
+ function Po() {
3389
+ go = !1;
3353
3390
  }
3354
- function Do(e, t, n) {
3355
- var r = B(ga(n.el, 0, n.options, !0)), i = ka(n.el, n.options, K), a = 10;
3391
+ function Fo(e, t, n) {
3392
+ var r = B(wa(n.el, 0, n.options, !0)), i = La(n.el, n.options, K), a = 10;
3356
3393
  return t ? e.clientX < i.left - a || e.clientY < r.top && e.clientX < r.right : e.clientY < i.top - a || e.clientY < r.bottom && e.clientX < r.left;
3357
3394
  }
3358
- function Oo(e, t, n) {
3359
- var r = B(_a(n.el, n.options.draggable)), i = ka(n.el, n.options, K), a = 10;
3395
+ function Io(e, t, n) {
3396
+ var r = B(Ta(n.el, n.options.draggable)), i = La(n.el, n.options, K), a = 10;
3360
3397
  return t ? e.clientX > i.right + a || e.clientY > r.bottom && e.clientX > r.left : e.clientY > i.bottom + a || e.clientX > r.right && e.clientY > r.top;
3361
3398
  }
3362
- function ko(e, t, n, r, i, a, o, s) {
3399
+ function Lo(e, t, n, r, i, a, o, s) {
3363
3400
  var c = r ? e.clientY : e.clientX, l = r ? n.height : n.width, u = r ? n.top : n.left, d = r ? n.bottom : n.right, f = !1;
3364
3401
  if (!o) {
3365
- if (s && ao < l * i) {
3366
- if (!ro && (no === 1 ? c > u + l * a / 2 : c < d - l * a / 2) && (ro = !0), ro) f = !0;
3367
- else if (no === 1 ? c < u + ao : c > d - ao) return -no;
3368
- } else if (c > u + l * (1 - i) / 2 && c < d - l * (1 - i) / 2) return Ao(t);
3402
+ if (s && mo < l * i) {
3403
+ if (!fo && (uo === 1 ? c > u + l * a / 2 : c < d - l * a / 2) && (fo = !0), fo) f = !0;
3404
+ else if (uo === 1 ? c < u + mo : c > d - mo) return -uo;
3405
+ } else if (c > u + l * (1 - i) / 2 && c < d - l * (1 - i) / 2) return Ro(t);
3369
3406
  }
3370
3407
  return f ||= o, f && (c < u + l * a / 2 || c > d - l * a / 2) ? c > u + l / 2 ? 1 : -1 : 0;
3371
3408
  }
3372
- function Ao(e) {
3373
- return va(W) < va(e) ? 1 : -1;
3409
+ function Ro(e) {
3410
+ return Ea(W) < Ea(e) ? 1 : -1;
3374
3411
  }
3375
- function jo(e) {
3412
+ function zo(e) {
3376
3413
  for (var t = e.tagName + e.className + e.src + e.href + e.textContent, n = t.length, r = 0; n--;) r += t.charCodeAt(n);
3377
3414
  return r.toString(36);
3378
3415
  }
3379
- function Mo(e) {
3380
- co.length = 0;
3416
+ function Bo(e) {
3417
+ _o.length = 0;
3381
3418
  for (var t = e.getElementsByTagName("input"), n = t.length; n--;) {
3382
3419
  var r = t[n];
3383
- r.checked && co.push(r);
3420
+ r.checked && _o.push(r);
3384
3421
  }
3385
3422
  }
3386
- function No(e) {
3423
+ function Vo(e) {
3387
3424
  return setTimeout(e, 0);
3388
3425
  }
3389
- function Po(e) {
3426
+ function Ho(e) {
3390
3427
  return clearTimeout(e);
3391
3428
  }
3392
- lo && I(document, "touchmove", function(e) {
3393
- (Q.active || Ga) && e.cancelable && e.preventDefault();
3429
+ vo && I(document, "touchmove", function(e) {
3430
+ (Q.active || $a) && e.cancelable && e.preventDefault();
3394
3431
  }), Q.utils = {
3395
3432
  on: I,
3396
3433
  off: L,
3397
3434
  css: z,
3398
- find: pa,
3435
+ find: xa,
3399
3436
  is: function(e, t) {
3400
- return !!ua(e, t, e, !1);
3437
+ return !!va(e, t, e, !1);
3401
3438
  },
3402
- extend: Sa,
3403
- throttle: Ta,
3404
- closest: ua,
3439
+ extend: Aa,
3440
+ throttle: Na,
3441
+ closest: va,
3405
3442
  toggleClass: R,
3406
- clone: Oa,
3407
- index: va,
3408
- nextTick: No,
3409
- cancelNextTick: Po,
3410
- detectDirection: ho,
3411
- getChild: ga
3443
+ clone: Ia,
3444
+ index: Ea,
3445
+ nextTick: Vo,
3446
+ cancelNextTick: Ho,
3447
+ detectDirection: Co,
3448
+ getChild: wa
3412
3449
  }, Q.get = function(e) {
3413
3450
  return e[V];
3414
3451
  }, Q.mount = function() {
3415
3452
  var e = [...arguments];
3416
3453
  e[0].constructor === Array && (e = e[0]), e.forEach(function(e) {
3417
3454
  if (!e.prototype || !e.prototype.constructor) throw `Sortable: Mounted plugin must be a constructor function, not ${{}.toString.call(e)}`;
3418
- e.utils && (Q.utils = qi(qi({}, Q.utils), e.utils)), Fa.mount(e);
3455
+ e.utils && (Q.utils = ta(ta({}, Q.utils), e.utils)), Ua.mount(e);
3419
3456
  });
3420
3457
  }, Q.create = function(e, t) {
3421
3458
  return new Q(e, t);
3422
- }, Q.version = $i;
3423
- var $ = [], Fo, Io, Lo = !1, Ro, zo, Bo, Vo;
3424
- function Ho() {
3459
+ }, Q.version = sa;
3460
+ var $ = [], Uo, Wo, Go = !1, Ko, qo, Jo, Yo;
3461
+ function Xo() {
3425
3462
  function e() {
3426
3463
  for (var e in this.defaults = {
3427
3464
  scroll: !0,
@@ -3441,63 +3478,63 @@ function Ho() {
3441
3478
  !this.options.dragOverBubble && !t.rootEl && this._handleAutoScroll(t);
3442
3479
  },
3443
3480
  drop: function() {
3444
- this.sortable.nativeDraggable ? L(document, "dragover", this._handleAutoScroll) : (L(document, "pointermove", this._handleFallbackAutoScroll), L(document, "touchmove", this._handleFallbackAutoScroll), L(document, "mousemove", this._handleFallbackAutoScroll)), Wo(), Uo(), Ea();
3481
+ this.sortable.nativeDraggable ? L(document, "dragover", this._handleAutoScroll) : (L(document, "pointermove", this._handleFallbackAutoScroll), L(document, "touchmove", this._handleFallbackAutoScroll), L(document, "mousemove", this._handleFallbackAutoScroll)), Qo(), Zo(), Pa();
3445
3482
  },
3446
3483
  nulling: function() {
3447
- Bo = Io = Fo = Lo = Vo = Ro = zo = null, $.length = 0;
3484
+ Jo = Wo = Uo = Go = Yo = Ko = qo = null, $.length = 0;
3448
3485
  },
3449
3486
  _handleFallbackAutoScroll: function(e) {
3450
3487
  this._handleAutoScroll(e, !0);
3451
3488
  },
3452
3489
  _handleAutoScroll: function(e, t) {
3453
3490
  var n = this, r = (e.touches ? e.touches[0] : e).clientX, i = (e.touches ? e.touches[0] : e).clientY, a = document.elementFromPoint(r, i);
3454
- if (Bo = e, t || this.options.forceAutoScrollFallback || na || ta || ia) {
3455
- Go(e, this.options, a, t);
3456
- var o = xa(a, !0);
3457
- Lo && (!Vo || r !== Ro || i !== zo) && (Vo && Wo(), Vo = setInterval(function() {
3458
- var a = xa(document.elementFromPoint(r, i), !0);
3459
- a !== o && (o = a, Uo()), Go(e, n.options, a, t);
3460
- }, 10), Ro = r, zo = i);
3491
+ if (Jo = e, t || this.options.forceAutoScrollFallback || ua || la || fa) {
3492
+ $o(e, this.options, a, t);
3493
+ var o = ka(a, !0);
3494
+ Go && (!Yo || r !== Ko || i !== qo) && (Yo && Qo(), Yo = setInterval(function() {
3495
+ var a = ka(document.elementFromPoint(r, i), !0);
3496
+ a !== o && (o = a, Zo()), $o(e, n.options, a, t);
3497
+ }, 10), Ko = r, qo = i);
3461
3498
  } else {
3462
- if (!this.options.bubbleScroll || xa(a, !0) === ma()) {
3463
- Uo();
3499
+ if (!this.options.bubbleScroll || ka(a, !0) === Sa()) {
3500
+ Zo();
3464
3501
  return;
3465
3502
  }
3466
- Go(e, this.options, xa(a, !1), !1);
3503
+ $o(e, this.options, ka(a, !1), !1);
3467
3504
  }
3468
3505
  }
3469
- }, Xi(e, {
3506
+ }, ia(e, {
3470
3507
  pluginName: "scroll",
3471
3508
  initializeByDefault: !0
3472
3509
  });
3473
3510
  }
3474
- function Uo() {
3511
+ function Zo() {
3475
3512
  $.forEach(function(e) {
3476
3513
  clearInterval(e.pid);
3477
3514
  }), $ = [];
3478
3515
  }
3479
- function Wo() {
3480
- clearInterval(Vo);
3516
+ function Qo() {
3517
+ clearInterval(Yo);
3481
3518
  }
3482
- var Go = Ta(function(e, t, n, r) {
3519
+ var $o = Na(function(e, t, n, r) {
3483
3520
  if (t.scroll) {
3484
- var i = (e.touches ? e.touches[0] : e).clientX, a = (e.touches ? e.touches[0] : e).clientY, o = t.scrollSensitivity, s = t.scrollSpeed, c = ma(), l = !1, u;
3485
- Io !== n && (Io = n, Uo(), Fo = t.scroll, u = t.scrollFn, Fo === !0 && (Fo = xa(n, !0)));
3486
- var d = 0, f = Fo;
3521
+ var i = (e.touches ? e.touches[0] : e).clientX, a = (e.touches ? e.touches[0] : e).clientY, o = t.scrollSensitivity, s = t.scrollSpeed, c = Sa(), l = !1, u;
3522
+ Wo !== n && (Wo = n, Zo(), Uo = t.scroll, u = t.scrollFn, Uo === !0 && (Uo = ka(n, !0)));
3523
+ var d = 0, f = Uo;
3487
3524
  do {
3488
3525
  var p = f, m = B(p), h = m.top, g = m.bottom, _ = m.left, v = m.right, y = m.width, b = m.height, x = void 0, S = void 0, C = p.scrollWidth, w = p.scrollHeight, T = z(p), E = p.scrollLeft, D = p.scrollTop;
3489
3526
  p === c ? (x = y < C && (T.overflowX === "auto" || T.overflowX === "scroll" || T.overflowX === "visible"), S = b < w && (T.overflowY === "auto" || T.overflowY === "scroll" || T.overflowY === "visible")) : (x = y < C && (T.overflowX === "auto" || T.overflowX === "scroll"), S = b < w && (T.overflowY === "auto" || T.overflowY === "scroll"));
3490
3527
  var O = x && (Math.abs(v - i) <= o && E + y < C) - (Math.abs(_ - i) <= o && !!E), k = S && (Math.abs(g - a) <= o && D + b < w) - (Math.abs(h - a) <= o && !!D);
3491
3528
  if (!$[d]) for (var ee = 0; ee <= d; ee++) $[ee] || ($[ee] = {});
3492
3529
  ($[d].vx != O || $[d].vy != k || $[d].el !== p) && ($[d].el = p, $[d].vx = O, $[d].vy = k, clearInterval($[d].pid), (O != 0 || k != 0) && (l = !0, $[d].pid = setInterval(function() {
3493
- r && this.layer === 0 && Q.active._onTouchMove(Bo);
3530
+ r && this.layer === 0 && Q.active._onTouchMove(Jo);
3494
3531
  var t = $[this.layer].vy ? $[this.layer].vy * s : 0, n = $[this.layer].vx ? $[this.layer].vx * s : 0;
3495
- typeof u == "function" && u.call(Q.dragged.parentNode[V], n, t, e, Bo, $[this.layer].el) !== "continue" || Da($[this.layer].el, n, t);
3532
+ typeof u == "function" && u.call(Q.dragged.parentNode[V], n, t, e, Jo, $[this.layer].el) !== "continue" || Fa($[this.layer].el, n, t);
3496
3533
  }.bind({ layer: d }), 24))), d++;
3497
- } while (t.bubbleScroll && f !== c && (f = xa(f, !1)));
3498
- Lo = l;
3534
+ } while (t.bubbleScroll && f !== c && (f = ka(f, !1)));
3535
+ Go = l;
3499
3536
  }
3500
- }, 30), Ko = function(e) {
3537
+ }, 30), es = function(e) {
3501
3538
  var t = e.originalEvent, n = e.putSortable, r = e.dragEl, i = e.activeSortable, a = e.dispatchSortableEvent, o = e.hideGhostForTarget, s = e.unhideGhostForTarget;
3502
3539
  if (t) {
3503
3540
  var c = n || i;
@@ -3509,8 +3546,8 @@ var Go = Ta(function(e, t, n, r) {
3509
3546
  }));
3510
3547
  }
3511
3548
  };
3512
- function qo() {}
3513
- qo.prototype = {
3549
+ function ts() {}
3550
+ ts.prototype = {
3514
3551
  startIndex: null,
3515
3552
  dragStart: function(e) {
3516
3553
  var t = e.oldDraggableIndex;
@@ -3519,72 +3556,72 @@ qo.prototype = {
3519
3556
  onSpill: function(e) {
3520
3557
  var t = e.dragEl, n = e.putSortable;
3521
3558
  this.sortable.captureAnimationState(), n && n.captureAnimationState();
3522
- var r = ga(this.sortable.el, this.startIndex, this.options);
3559
+ var r = wa(this.sortable.el, this.startIndex, this.options);
3523
3560
  r ? this.sortable.el.insertBefore(t, r) : this.sortable.el.appendChild(t), this.sortable.animateAll(), n && n.animateAll();
3524
3561
  },
3525
- drop: Ko
3526
- }, Xi(qo, { pluginName: "revertOnSpill" });
3527
- function Jo() {}
3528
- Jo.prototype = {
3562
+ drop: es
3563
+ }, ia(ts, { pluginName: "revertOnSpill" });
3564
+ function ns() {}
3565
+ ns.prototype = {
3529
3566
  onSpill: function(e) {
3530
3567
  var t = e.dragEl, n = e.putSortable || this.sortable;
3531
3568
  n.captureAnimationState(), t.parentNode && t.parentNode.removeChild(t), n.animateAll();
3532
3569
  },
3533
- drop: Ko
3534
- }, Xi(Jo, { pluginName: "removeOnSpill" }), Q.mount(new Ho()), Q.mount(Jo, qo);
3535
- function Yo(e) {
3570
+ drop: es
3571
+ }, ia(ns, { pluginName: "removeOnSpill" }), Q.mount(new Xo()), Q.mount(ns, ts);
3572
+ function rs(e) {
3536
3573
  return e == null ? e : JSON.parse(JSON.stringify(e));
3537
3574
  }
3538
- function Xo(e) {
3575
+ function is(e) {
3539
3576
  re() && r(e);
3540
3577
  }
3541
- function Zo(e) {
3578
+ function as(e) {
3542
3579
  re() ? a(e) : ie(e);
3543
3580
  }
3544
- var Qo = null, $o = null;
3545
- function es(e = null, t = null) {
3546
- Qo = e, $o = t;
3581
+ var os = null, ss = null;
3582
+ function cs(e = null, t = null) {
3583
+ os = e, ss = t;
3547
3584
  }
3548
- function ts() {
3585
+ function ls() {
3549
3586
  return {
3550
- data: Qo,
3551
- clonedData: $o
3587
+ data: os,
3588
+ clonedData: ss
3552
3589
  };
3553
3590
  }
3554
- var ns = Symbol("cloneElement");
3555
- function rs(...e) {
3591
+ var us = Symbol("cloneElement");
3592
+ function ds(...e) {
3556
3593
  let t = re()?.proxy, n = null, r = e[0], [, i, a] = e;
3557
3594
  Array.isArray(k(i)) || (a = i, i = null);
3558
- let o = null, { immediate: s = !0, clone: l = Yo, forceFallback: u, fallbackOnBody: d, customUpdate: f } = k(a) ?? {};
3595
+ let o = null, { immediate: s = !0, clone: l = rs, forceFallback: u, fallbackOnBody: d, customUpdate: f } = k(a) ?? {};
3559
3596
  function p(e) {
3560
3597
  let { from: t, oldIndex: r, item: a } = e, o = Array.from(t.childNodes);
3561
3598
  n = u && !d ? o.slice(0, -1) : o;
3562
3599
  let s = k(k(i)?.[r]), c = l(s);
3563
- es(s, c), a[ns] = c;
3600
+ cs(s, c), a[us] = c;
3564
3601
  }
3565
3602
  function m(e) {
3566
- let t = e.item[ns];
3567
- if (!Fi(t)) {
3568
- if (Ri(e.item), g(i)) {
3603
+ let t = e.item[us];
3604
+ if (!Ui(t)) {
3605
+ if (Ki(e.item), g(i)) {
3569
3606
  let n = [...k(i)];
3570
- i.value = Pi(n, e.newDraggableIndex, t);
3607
+ i.value = Hi(n, e.newDraggableIndex, t);
3571
3608
  return;
3572
3609
  }
3573
- Pi(k(i), e.newDraggableIndex, t);
3610
+ Hi(k(i), e.newDraggableIndex, t);
3574
3611
  }
3575
3612
  }
3576
3613
  function h(e) {
3577
3614
  let { from: t, item: n, oldIndex: r, oldDraggableIndex: a, pullMode: o, clone: s } = e;
3578
- if (Li(t, n, r), o === "clone") {
3579
- Ri(s);
3615
+ if (Gi(t, n, r), o === "clone") {
3616
+ Ki(s);
3580
3617
  return;
3581
3618
  }
3582
3619
  if (g(i)) {
3583
3620
  let e = [...k(i)];
3584
- i.value = Ni(e, a);
3621
+ i.value = Vi(e, a);
3585
3622
  return;
3586
3623
  }
3587
- Ni(k(i), a);
3624
+ Vi(k(i), a);
3588
3625
  }
3589
3626
  function _(e) {
3590
3627
  if (f) {
@@ -3592,12 +3629,12 @@ function rs(...e) {
3592
3629
  return;
3593
3630
  }
3594
3631
  let { from: t, item: n, oldIndex: r, oldDraggableIndex: a, newDraggableIndex: o } = e;
3595
- if (Ri(n), Li(t, n, r), g(i)) {
3632
+ if (Ki(n), Gi(t, n, r), g(i)) {
3596
3633
  let e = [...k(i)];
3597
- i.value = Ai(e, a, o);
3634
+ i.value = Ri(e, a, o);
3598
3635
  return;
3599
3636
  }
3600
- Ai(k(i), a, o);
3637
+ Ri(k(i), a, o);
3601
3638
  }
3602
3639
  function v(e) {
3603
3640
  let { newIndex: t, oldIndex: r, from: i, to: a } = e, o = null, s = t === r && i === a;
@@ -3616,7 +3653,7 @@ function rs(...e) {
3616
3653
  n = null;
3617
3654
  }
3618
3655
  ie(() => {
3619
- if (es(), o) throw o;
3656
+ if (cs(), o) throw o;
3620
3657
  });
3621
3658
  }
3622
3659
  let y = {
@@ -3628,19 +3665,19 @@ function rs(...e) {
3628
3665
  };
3629
3666
  function b(e) {
3630
3667
  let n = k(r);
3631
- return e ||= Ii(n) ? zi(n, t?.$el) : n, e && !Hi(e) && (e = e.$el), e || ki("Root element not found"), e;
3668
+ return e ||= Wi(n) ? qi(n, t?.$el) : n, e && !Xi(e) && (e = e.$el), e || Li("Root element not found"), e;
3632
3669
  }
3633
3670
  function x() {
3634
- let e = k(a) ?? {}, { immediate: t, clone: n } = e, r = Ei(e, ["immediate", "clone"]);
3635
- return Ui(r, (e, t) => {
3636
- Wi(e) && (r[e] = (e, ...n) => (Gi(e, ts()), t(e, ...n)));
3637
- }), Vi(i === null ? {} : y, r);
3671
+ let e = k(a) ?? {}, { immediate: t, clone: n } = e, r = Pi(e, ["immediate", "clone"]);
3672
+ return Zi(r, (e, t) => {
3673
+ Qi(e) && (r[e] = (e, ...n) => ($i(e, ls()), t(e, ...n)));
3674
+ }), Yi(i === null ? {} : y, r);
3638
3675
  }
3639
3676
  let S = (e) => {
3640
3677
  e = b(e), o && C.destroy(), o = new Q(e, x());
3641
3678
  };
3642
3679
  c(() => a, () => {
3643
- o && Ui(x(), (e, t) => {
3680
+ o && Zi(x(), (e, t) => {
3644
3681
  o?.option(e, t);
3645
3682
  });
3646
3683
  }, { deep: !0 });
@@ -3653,15 +3690,15 @@ function rs(...e) {
3653
3690
  toArray: () => o?.toArray(),
3654
3691
  closest: (...e) => o?.closest(...e)
3655
3692
  };
3656
- return Zo(() => {
3693
+ return as(() => {
3657
3694
  s && S();
3658
- }), Xo(C.destroy), Ti({
3695
+ }), is(C.destroy), Ni({
3659
3696
  start: S,
3660
3697
  pause: () => C?.option("disabled", !0),
3661
3698
  resume: () => C?.option("disabled", !1)
3662
3699
  }, C);
3663
3700
  }
3664
- var is = [
3701
+ var fs = [
3665
3702
  "update",
3666
3703
  "start",
3667
3704
  "add",
@@ -3674,7 +3711,7 @@ var is = [
3674
3711
  "clone",
3675
3712
  "move",
3676
3713
  "change"
3677
- ], as = y({
3714
+ ], ps = y({
3678
3715
  name: "VueDraggable",
3679
3716
  model: {
3680
3717
  prop: "modelValue",
@@ -3724,37 +3761,37 @@ var is = [
3724
3761
  "tag",
3725
3762
  "target",
3726
3763
  "customUpdate",
3727
- ...is.map((e) => `on${e.replace(/^\S/, (e) => e.toUpperCase())}`)
3764
+ ...fs.map((e) => `on${e.replace(/^\S/, (e) => e.toUpperCase())}`)
3728
3765
  ],
3729
- emits: ["update:modelValue", ...is],
3766
+ emits: ["update:modelValue", ...fs],
3730
3767
  setup(t, { slots: n, emit: r, expose: i, attrs: a }) {
3731
- let o = is.reduce((e, t) => {
3768
+ let o = fs.reduce((e, t) => {
3732
3769
  let n = `on${t.replace(/^\S/, (e) => e.toUpperCase())}`;
3733
3770
  return e[n] = (...e) => r(t, ...e), e;
3734
3771
  }, {}), s = j(() => {
3735
- let n = e(t), { modelValue: r } = n, i = Ei(n, ["modelValue"]), s = Object.entries(i).reduce((e, [t, n]) => {
3772
+ let n = e(t), { modelValue: r } = n, i = Pi(n, ["modelValue"]), s = Object.entries(i).reduce((e, [t, n]) => {
3736
3773
  let r = k(n);
3737
3774
  return r !== void 0 && (e[t] = r), e;
3738
3775
  }, {});
3739
- return Ti(Ti({}, o), Mi(Ti(Ti({}, a), s)));
3776
+ return Ni(Ni({}, o), Bi(Ni(Ni({}, a), s)));
3740
3777
  }), c = j({
3741
3778
  get: () => t.modelValue,
3742
3779
  set: (e) => r("update:modelValue", e)
3743
- }), l = _(), u = ee(rs(t.target || l, c, s));
3780
+ }), l = _(), u = ee(ds(t.target || l, c, s));
3744
3781
  return i(u), () => ae(t.tag || "div", { ref: l }, (n?.default)?.call(n, u));
3745
3782
  }
3746
- }), os = {
3783
+ }), ms = {
3747
3784
  mounted: "mounted",
3748
3785
  unmounted: "unmounted"
3749
3786
  };
3750
- os.mounted, os.unmounted;
3787
+ ms.mounted, ms.unmounted;
3751
3788
  //#endregion
3752
3789
  //#region src/components/blocks/SectionBlock.vue?vue&type=script&setup=true&lang.ts
3753
- var ss = { class: "tpl:w-full" }, cs = {
3790
+ var hs = { class: "tpl:w-full" }, gs = {
3754
3791
  key: 0,
3755
3792
  "data-testid": "section-drop-hint",
3756
3793
  class: "tpl:pointer-events-none tpl:absolute tpl:inset-0 tpl:flex tpl:items-center tpl:justify-center tpl:text-xs tpl:text-[var(--tpl-text-dim)]"
3757
- }, ls = /* @__PURE__ */ y({
3794
+ }, _s = /* @__PURE__ */ y({
3758
3795
  __name: "SectionBlock",
3759
3796
  props: {
3760
3797
  block: {},
@@ -3762,13 +3799,13 @@ var ss = { class: "tpl:w-full" }, cs = {
3762
3799
  },
3763
3800
  setup(e) {
3764
3801
  let n = {
3765
- title: vi,
3766
- paragraph: ei,
3767
- image: Vr,
3768
- button: kn,
3769
- divider: xr,
3770
- custom: yr
3771
- }, r = e, { t: a } = At(), s = kt(yt, "SectionBlock"), c = N(wt, null), l = N(xt, null), u = j(() => {
3802
+ title: Ei,
3803
+ paragraph: ci,
3804
+ image: Yr,
3805
+ button: In,
3806
+ divider: kr,
3807
+ custom: Dr
3808
+ }, r = e, { t: a } = Ft(), s = nt(bt, "SectionBlock"), c = N(_t, null), l = N(Dt, null), u = j(() => {
3772
3809
  switch (r.block.columns) {
3773
3810
  case "2": return ["50%", "50%"];
3774
3811
  case "3": return [
@@ -3794,7 +3831,7 @@ var ss = { class: "tpl:w-full" }, cs = {
3794
3831
  i[e] = n, s.updateBlock(r.block.id, { children: i });
3795
3832
  }
3796
3833
  function y(e) {
3797
- return ti(e, l, n);
3834
+ return li(e, l, n);
3798
3835
  }
3799
3836
  function S(e, t) {
3800
3837
  e.type === "custom" && s.updateBlock(e.id, {
@@ -3802,16 +3839,16 @@ var ss = { class: "tpl:w-full" }, cs = {
3802
3839
  dataSourceFetched: t.dataSourceFetched
3803
3840
  });
3804
3841
  }
3805
- return (n, r) => (f(), x("div", ss, [b("div", { class: o(["tpl:flex tpl:gap-0", { "tpl:flex-col": g.value }]) }, [(f(!0), x(A, null, t(h.value, (n, r) => (f(), x("div", {
3842
+ return (n, r) => (f(), x("div", hs, [b("div", { class: o(["tpl:flex tpl:gap-0", { "tpl:flex-col": g.value }]) }, [(f(!0), x(A, null, t(h.value, (n, r) => (f(), x("div", {
3806
3843
  key: r,
3807
3844
  class: o(["tpl:relative tpl:min-h-[60px] tpl:rounded", _(r).length === 0 ? "tpl:border tpl:border-dashed tpl:border-[var(--tpl-border)]" : ""]),
3808
3845
  style: i({ width: g.value ? "100%" : u.value[r] })
3809
- }, [w(k(as), {
3846
+ }, [w(k(ps), {
3810
3847
  "model-value": _(r),
3811
3848
  group: {
3812
3849
  name: "blocks",
3813
3850
  pull: !0,
3814
- put: (e, t, n) => k(yi)(n)
3851
+ put: (e, t, n) => k(Di)(n)
3815
3852
  },
3816
3853
  animation: 150,
3817
3854
  "ghost-class": "tpl-ghost",
@@ -3824,7 +3861,7 @@ var ss = { class: "tpl:w-full" }, cs = {
3824
3861
  class: "tpl:min-h-[60px]",
3825
3862
  "onUpdate:modelValue": (e) => v(r, e)
3826
3863
  }, {
3827
- default: m(() => [(f(!0), x(A, null, t(_(r), (t) => oe((f(), x("div", { key: t.id }, [w(gi, {
3864
+ default: m(() => [(f(!0), x(A, null, t(_(r), (t) => oe((f(), x("div", { key: t.id }, [w(wi, {
3828
3865
  block: t,
3829
3866
  "is-selected": k(s).state.selectedBlockId === t.id,
3830
3867
  viewport: e.viewport,
@@ -3855,13 +3892,13 @@ var ss = { class: "tpl:w-full" }, cs = {
3855
3892
  "model-value",
3856
3893
  "group",
3857
3894
  "onUpdate:modelValue"
3858
- ]), _(r).length === 0 ? (f(), x("div", cs, [b("span", null, p(k(a).section.dropHere), 1)])) : M("", !0)], 6))), 128))], 2)]));
3895
+ ]), _(r).length === 0 ? (f(), x("div", gs, [b("span", null, p(k(a).section.dropHere), 1)])) : M("", !0)], 6))), 128))], 2)]));
3859
3896
  }
3860
- }), us = Ae, ds = {
3897
+ }), vs = ke, ys = {
3861
3898
  small: 24,
3862
3899
  medium: 32,
3863
3900
  large: 48
3864
- }, fs = [
3901
+ }, bs = [
3865
3902
  "facebook",
3866
3903
  "twitter",
3867
3904
  "instagram",
@@ -3879,11 +3916,11 @@ var ss = { class: "tpl:w-full" }, cs = {
3879
3916
  "github",
3880
3917
  "dribbble",
3881
3918
  "behance"
3882
- ], ps = [
3919
+ ], xs = [
3883
3920
  "width",
3884
3921
  "height",
3885
3922
  "fill"
3886
- ], ms = ["d"], hs = /* @__PURE__ */ y({
3923
+ ], Ss = ["d"], Cs = /* @__PURE__ */ y({
3887
3924
  __name: "SocialIconSvg",
3888
3925
  props: {
3889
3926
  platform: {},
@@ -3891,7 +3928,7 @@ var ss = { class: "tpl:w-full" }, cs = {
3891
3928
  iconSize: {}
3892
3929
  },
3893
3930
  setup(e) {
3894
- let t = e, n = j(() => us[t.platform]), r = j(() => ds[t.iconSize]), a = j(() => {
3931
+ let t = e, n = j(() => vs[t.platform]), r = j(() => ys[t.iconSize]), a = j(() => {
3895
3932
  let e = {
3896
3933
  display: "inline-flex",
3897
3934
  alignItems: "center",
@@ -3935,25 +3972,25 @@ var ss = { class: "tpl:w-full" }, cs = {
3935
3972
  viewBox: "0 0 24 24",
3936
3973
  fill: s.value,
3937
3974
  xmlns: "http://www.w3.org/2000/svg"
3938
- }, [b("path", { d: n.value.path }, null, 8, ms)], 8, ps))], 4));
3975
+ }, [b("path", { d: n.value.path }, null, 8, Ss)], 8, xs))], 4));
3939
3976
  }
3940
- }), gs = { class: "tpl:w-full" }, _s = ["href"], vs = {
3977
+ }), ws = { class: "tpl:w-full" }, Ts = ["href"], Es = {
3941
3978
  key: 1,
3942
3979
  class: "tpl:flex tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded tpl:border tpl:border-dashed tpl:py-4 tpl:text-sm tpl:border-[var(--tpl-border)] tpl:text-[var(--tpl-text-dim)]"
3943
- }, ys = /* @__PURE__ */ y({
3980
+ }, Ds = /* @__PURE__ */ y({
3944
3981
  __name: "SocialIconsBlock",
3945
3982
  props: {
3946
3983
  block: {},
3947
3984
  viewport: {}
3948
3985
  },
3949
3986
  setup(e) {
3950
- let n = e, { t: r } = At(), a = j(() => ({
3987
+ let n = e, { t: r } = Ft(), a = j(() => ({
3951
3988
  display: "flex",
3952
3989
  flexWrap: "wrap",
3953
3990
  gap: `${n.block.spacing}px`,
3954
3991
  justifyContent: n.block.align === "left" ? "flex-start" : n.block.align === "right" ? "flex-end" : "center"
3955
3992
  })), o = j(() => n.block.icons.length > 0);
3956
- return (n, s) => (f(), x("div", gs, [o.value ? (f(), x("div", {
3993
+ return (n, s) => (f(), x("div", ws, [o.value ? (f(), x("div", {
3957
3994
  key: 0,
3958
3995
  style: i(a.value)
3959
3996
  }, [(f(!0), x(A, null, t(e.block.icons, (t) => (f(), x("a", {
@@ -3961,7 +3998,7 @@ var ss = { class: "tpl:w-full" }, cs = {
3961
3998
  href: t.url || "#",
3962
3999
  class: "tpl:cursor-default",
3963
4000
  onClick: s[0] ||= P(() => {}, ["prevent"])
3964
- }, [w(hs, {
4001
+ }, [w(Cs, {
3965
4002
  platform: t.platform,
3966
4003
  "icon-style": e.block.iconStyle,
3967
4004
  "icon-size": e.block.iconSize
@@ -3969,44 +4006,44 @@ var ss = { class: "tpl:w-full" }, cs = {
3969
4006
  "platform",
3970
4007
  "icon-style",
3971
4008
  "icon-size"
3972
- ])], 8, _s))), 128))], 4)) : (f(), x("div", vs, [w(k(Bn), { size: 16 }), b("span", null, p(k(r).social.addIcons), 1)]))]));
4009
+ ])], 8, Ts))), 128))], 4)) : (f(), x("div", Es, [w(k(qn), { size: 16 }), b("span", null, p(k(r).social.addIcons), 1)]))]));
3973
4010
  }
3974
- }), bs = { class: "tpl:w-full" }, xs = {
4011
+ }), Os = { class: "tpl:w-full" }, ks = {
3975
4012
  key: 0,
3976
4013
  class: "tpl:absolute tpl:rounded tpl:px-2 tpl:py-0.5 tpl:text-[10px] tpl:font-medium",
3977
4014
  style: {
3978
4015
  "background-color": "var(--tpl-bg-hover)",
3979
4016
  color: "var(--tpl-text-dim)"
3980
4017
  }
3981
- }, Ss = /* @__PURE__ */ y({
4018
+ }, As = /* @__PURE__ */ y({
3982
4019
  __name: "SpacerBlock",
3983
4020
  props: {
3984
4021
  block: {},
3985
4022
  viewport: {}
3986
4023
  },
3987
4024
  setup(e) {
3988
- let t = e, n = kt(yt, "SpacerBlock"), r = j(() => ({
4025
+ let t = e, n = nt(bt, "SpacerBlock"), r = j(() => ({
3989
4026
  height: `${t.block.height}px`,
3990
4027
  minHeight: `${t.block.height}px`,
3991
4028
  ...n.state.previewMode ? {} : { borderColor: "var(--tpl-border)" }
3992
4029
  }));
3993
- return (t, a) => (f(), x("div", bs, [b("div", {
4030
+ return (t, a) => (f(), x("div", Os, [b("div", {
3994
4031
  style: i(r.value),
3995
4032
  class: o(["tpl:relative tpl:flex tpl:items-center tpl:justify-center", { "tpl:border-y tpl:border-dashed": !k(n).state.previewMode }])
3996
- }, [k(n).state.previewMode ? M("", !0) : (f(), x("span", xs, p(e.block.height) + "px ", 1))], 6)]));
4033
+ }, [k(n).state.previewMode ? M("", !0) : (f(), x("span", ks, p(e.block.height) + "px ", 1))], 6)]));
3997
4034
  }
3998
- }), Cs = { class: "tpl:w-full" }, ws = { key: 0 }, Ts = [
4035
+ }), js = { class: "tpl:w-full" }, Ms = { key: 0 }, Ns = [
3999
4036
  "aria-label",
4000
4037
  "data-placeholder",
4001
4038
  "onBlur"
4002
- ], Es = [
4039
+ ], Ps = [
4003
4040
  "aria-label",
4004
4041
  "data-placeholder",
4005
4042
  "onBlur"
4006
- ], Ds = {
4043
+ ], Fs = {
4007
4044
  key: 1,
4008
4045
  class: "tpl:flex tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded tpl:border tpl:border-dashed tpl:py-4 tpl:text-sm tpl:border-[var(--tpl-border)] tpl:text-[var(--tpl-text-dim)]"
4009
- }, Os = /*#__PURE__*/ It(/* @__PURE__ */ y({
4046
+ }, Is = /*#__PURE__*/ Vt(/* @__PURE__ */ y({
4010
4047
  __name: "TableBlock",
4011
4048
  props: {
4012
4049
  block: {},
@@ -4020,7 +4057,7 @@ var ss = { class: "tpl:w-full" }, cs = {
4020
4057
  updated(e, t) {
4021
4058
  t.value !== t.oldValue && e.getRootNode().activeElement !== e && (e.textContent = t.value ?? "");
4022
4059
  }
4023
- }, r = e, { t: a } = At(), o = kt(yt, "TableBlock"), s = j(() => r.block.rows.length > 0), c = j(() => {
4060
+ }, r = e, { t: a } = Ft(), o = nt(bt, "TableBlock"), s = j(() => r.block.rows.length > 0), c = j(() => {
4024
4061
  let e = {
4025
4062
  width: "100%",
4026
4063
  borderCollapse: "collapse",
@@ -4051,11 +4088,11 @@ var ss = { class: "tpl:w-full" }, cs = {
4051
4088
  } : n);
4052
4089
  o.updateBlock(r.block.id, { rows: a });
4053
4090
  }
4054
- return (e, r) => (f(), x("div", Cs, [s.value ? (f(), x("table", {
4091
+ return (e, r) => (f(), x("div", js, [s.value ? (f(), x("table", {
4055
4092
  key: 0,
4056
4093
  style: i(c.value),
4057
4094
  class: "tpl-table-editable"
4058
- }, [d.value ? (f(), x("thead", ws, [b("tr", null, [(f(!0), x(A, null, t(d.value.cells, (e) => oe((f(), x("th", {
4095
+ }, [d.value ? (f(), x("thead", Ms, [b("tr", null, [(f(!0), x(A, null, t(d.value.cells, (e) => oe((f(), x("th", {
4059
4096
  key: e.id,
4060
4097
  style: i(u.value),
4061
4098
  "aria-label": k(a).table.cellPlaceholder,
@@ -4064,7 +4101,7 @@ var ss = { class: "tpl:w-full" }, cs = {
4064
4101
  onBlur: (t) => g(d.value.id, e.id, t),
4065
4102
  onKeydown: r[0] ||= ce(P((e) => e.target.blur(), ["prevent"]), ["enter"]),
4066
4103
  onClick: P(h, ["stop"])
4067
- }, null, 44, Ts)), [[n, e.content]])), 128))])])) : M("", !0), b("tbody", null, [(f(!0), x(A, null, t(m.value, (e) => (f(), x("tr", { key: e.id }, [(f(!0), x(A, null, t(e.cells, (t) => oe((f(), x("td", {
4104
+ }, null, 44, Ns)), [[n, e.content]])), 128))])])) : M("", !0), b("tbody", null, [(f(!0), x(A, null, t(m.value, (e) => (f(), x("tr", { key: e.id }, [(f(!0), x(A, null, t(e.cells, (t) => oe((f(), x("td", {
4068
4105
  key: t.id,
4069
4106
  style: i(l.value),
4070
4107
  "aria-label": k(a).table.cellPlaceholder,
@@ -4073,9 +4110,9 @@ var ss = { class: "tpl:w-full" }, cs = {
4073
4110
  onBlur: (n) => g(e.id, t.id, n),
4074
4111
  onKeydown: r[1] ||= ce(P((e) => e.target.blur(), ["prevent"]), ["enter"]),
4075
4112
  onClick: P(h, ["stop"])
4076
- }, null, 44, Es)), [[n, t.content]])), 128))]))), 128))])], 4)) : (f(), x("div", Ds, [w(k(Vn), { size: 16 }), b("span", null, p(k(a).table.empty), 1)]))]));
4113
+ }, null, 44, Ps)), [[n, t.content]])), 128))]))), 128))])], 4)) : (f(), x("div", Fs, [w(k(Jn), { size: 16 }), b("span", null, p(k(a).table.empty), 1)]))]));
4077
4114
  }
4078
- }), [["__scopeId", "data-v-963ac422"]]), ks = /* @__PURE__ */ y({
4115
+ }), [["__scopeId", "data-v-963ac422"]]), Ls = /* @__PURE__ */ y({
4079
4116
  __name: "VideoPlayButton",
4080
4117
  props: { hoverEffect: {
4081
4118
  type: Boolean,
@@ -4093,7 +4130,7 @@ var ss = { class: "tpl:w-full" }, cs = {
4093
4130
  });
4094
4131
  //#endregion
4095
4132
  //#region src/utils/videoThumbnail.ts
4096
- function As(e) {
4133
+ function Rs(e) {
4097
4134
  if (!e) return {
4098
4135
  platform: "unknown",
4099
4136
  videoId: null,
@@ -4125,25 +4162,25 @@ function As(e) {
4125
4162
  thumbnailUrl: null
4126
4163
  };
4127
4164
  }
4128
- function js(e, t) {
4129
- return t || As(e).thumbnailUrl;
4165
+ function zs(e, t) {
4166
+ return t || Rs(e).thumbnailUrl;
4130
4167
  }
4131
4168
  //#endregion
4132
4169
  //#region src/components/blocks/VideoBlock.vue?vue&type=script&setup=true&lang.ts
4133
- var Ms = ["src", "alt"], Ns = {
4170
+ var Bs = ["src", "alt"], Vs = {
4134
4171
  class: "tpl:max-w-full tpl:truncate tpl:px-3 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-primary)]",
4135
4172
  style: { opacity: "0.7" }
4136
- }, Ps = ["href"], Fs = ["src", "alt"], Is = ["src", "alt"], Ls = {
4173
+ }, Hs = ["href"], Us = ["src", "alt"], Ws = ["src", "alt"], Gs = {
4137
4174
  key: 3,
4138
4175
  class: "tpl:flex tpl:min-h-[150px] tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded tpl:border-2 tpl:border-dashed tpl:text-sm tpl:border-[var(--tpl-border-light)] tpl:bg-[var(--tpl-bg-hover)] tpl:text-[var(--tpl-text-dim)]"
4139
- }, Rs = /* @__PURE__ */ y({
4176
+ }, Ks = /* @__PURE__ */ y({
4140
4177
  __name: "VideoBlock",
4141
4178
  props: {
4142
4179
  block: {},
4143
4180
  viewport: {}
4144
4181
  },
4145
4182
  setup(e) {
4146
- let t = e, { t: n } = At(), { syntax: r } = Lt(), a = j(() => je(t.block.url, r) || je(t.block.thumbnailUrl, r)), o = nn(() => a.value ? void 0 : t.block.thumbnailUrl || void 0), s = nn(() => a.value ? t.block.placeholderUrl : void 0), c = j(() => a.value ? null : t.block.thumbnailUrl ? o.value ?? null : js(t.block.url)), l = j(() => ({ textAlign: t.block.align })), u = j(() => {
4183
+ let t = e, { t: n } = Ft(), { syntax: r } = Ht(), a = j(() => we(t.block.url, r) || we(t.block.thumbnailUrl, r)), o = cn(() => a.value ? void 0 : t.block.thumbnailUrl || void 0), s = cn(() => a.value ? t.block.placeholderUrl : void 0), c = j(() => a.value ? null : t.block.thumbnailUrl ? o.value ?? null : zs(t.block.url)), l = j(() => ({ textAlign: t.block.align })), u = j(() => {
4147
4184
  let e = t.block.align;
4148
4185
  return {
4149
4186
  maxWidth: "100%",
@@ -4152,7 +4189,7 @@ var Ms = ["src", "alt"], Ns = {
4152
4189
  marginLeft: e === "center" || e === "right" ? "auto" : void 0,
4153
4190
  marginRight: e === "center" ? "auto" : void 0
4154
4191
  };
4155
- }), d = j(() => je(t.block.url, r) ? t.block.url : t.block.thumbnailUrl);
4192
+ }), d = j(() => we(t.block.url, r) ? t.block.url : t.block.thumbnailUrl);
4156
4193
  return (t, r) => (f(), x("div", {
4157
4194
  class: "tpl:w-full",
4158
4195
  style: i(l.value)
@@ -4164,16 +4201,16 @@ var Ms = ["src", "alt"], Ns = {
4164
4201
  class: "tpl:w-full tpl:border-0",
4165
4202
  src: k(s),
4166
4203
  alt: e.block.alt
4167
- }, null, 8, Ms), w(ks)], 4)) : a.value ? (f(), x("div", {
4204
+ }, null, 8, Bs), w(Ls)], 4)) : a.value ? (f(), x("div", {
4168
4205
  key: 1,
4169
4206
  class: "tpl:relative tpl:!flex tpl:min-h-[150px] tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded tpl:border-2 tpl:border-dashed tpl:text-center tpl:bg-[var(--tpl-bg-elevated)]",
4170
4207
  style: i([{ "border-color": "color-mix(in srgb, var(--tpl-primary) 40%, transparent)" }, u.value])
4171
- }, [w(k(Hn), {
4208
+ }, [w(k(Yn), {
4172
4209
  size: 36,
4173
4210
  "stroke-width": 1.5,
4174
4211
  class: "tpl:text-[var(--tpl-primary)]",
4175
4212
  style: { opacity: "0.5" }
4176
- }), b("span", Ns, [w(En, { text: d.value }, null, 8, ["text"])])], 4)) : c.value ? (f(), x(A, { key: 2 }, [e.block.url ? (f(), x("a", {
4213
+ }), b("span", Vs, [w(Nn, { text: d.value }, null, 8, ["text"])])], 4)) : c.value ? (f(), x(A, { key: 2 }, [e.block.url ? (f(), x("a", {
4177
4214
  key: 0,
4178
4215
  href: e.block.url,
4179
4216
  target: "_blank",
@@ -4185,7 +4222,7 @@ var Ms = ["src", "alt"], Ns = {
4185
4222
  class: "tpl:w-full tpl:border-0",
4186
4223
  src: c.value,
4187
4224
  alt: e.block.alt
4188
- }, null, 8, Fs), w(ks, { "hover-effect": "" })], 12, Ps)) : (f(), x("div", {
4225
+ }, null, 8, Us), w(Ls, { "hover-effect": "" })], 12, Hs)) : (f(), x("div", {
4189
4226
  key: 1,
4190
4227
  class: "tpl:relative tpl:inline-block",
4191
4228
  style: i(u.value)
@@ -4193,48 +4230,48 @@ var Ms = ["src", "alt"], Ns = {
4193
4230
  class: "tpl:w-full tpl:border-0",
4194
4231
  src: c.value,
4195
4232
  alt: e.block.alt
4196
- }, null, 8, Is), w(ks)], 4))], 64)) : (f(), x("div", Ls, [w(k(Hn), {
4233
+ }, null, 8, Ws), w(Ls)], 4))], 64)) : (f(), x("div", Gs, [w(k(Yn), {
4197
4234
  size: 40,
4198
4235
  "stroke-width": 1.5,
4199
4236
  class: "tpl:text-[var(--tpl-border-light)]"
4200
4237
  }), b("span", null, p(k(n).video.addVideo), 1)]))], 4));
4201
4238
  }
4202
- }), zs = {
4203
- section: ls,
4204
- title: vi,
4205
- paragraph: ei,
4206
- image: Vr,
4207
- button: kn,
4208
- divider: xr,
4209
- video: Rs,
4210
- social: ys,
4211
- menu: Gr,
4212
- table: Os,
4213
- spacer: Ss,
4214
- html: Dr,
4215
- countdown: C(() => import("./CountdownBlock-CaU40Htk.js").then((e) => e.n))
4239
+ }), qs = {
4240
+ section: _s,
4241
+ title: Ei,
4242
+ paragraph: ci,
4243
+ image: Yr,
4244
+ button: In,
4245
+ divider: kr,
4246
+ video: Ks,
4247
+ social: Ds,
4248
+ menu: $r,
4249
+ table: Is,
4250
+ spacer: As,
4251
+ html: Fr,
4252
+ countdown: C(() => import("./CountdownBlock-Bn5w7C-p.js").then((e) => e.n))
4216
4253
  };
4217
- function Bs(e) {
4218
- let { editor: t, config: n, translations: r, fontsManager: i } = e, { t: a, format: o } = At(r);
4254
+ function Js(e) {
4255
+ let { editor: t, config: n, translations: r, fontsManager: i } = e, { t: a, format: o } = Ft(r);
4219
4256
  t.setUiTheme(n.uiTheme ?? "auto");
4220
- let { resolvedTheme: l } = un(j(() => t.state.uiTheme)), d = _(n.theme ?? {}), { themeStyles: f } = fn({
4257
+ let { resolvedTheme: l } = hn(j(() => t.state.uiTheme)), d = _(n.theme ?? {}), { themeStyles: f } = _n({
4221
4258
  themeOverrides: d,
4222
4259
  resolvedTheme: l,
4223
4260
  extraStyles: e.themeExtraStyles
4224
- }), p = Wt({
4261
+ }), p = Yt({
4225
4262
  content: t.content,
4226
4263
  setContent: (e, n) => t.setContent(e, n),
4227
4264
  ...e.historyOptions
4228
4265
  });
4229
- Xt(t, p);
4230
- let m = Kt({
4266
+ tn(t, p);
4267
+ let m = Zt({
4231
4268
  addBlock: t.addBlock,
4232
4269
  removeBlock: t.removeBlock,
4233
4270
  updateBlock: t.updateBlock,
4234
4271
  selectBlock: t.selectBlock,
4235
4272
  findBlockLocation: t.findBlockLocation,
4236
4273
  blockDefaults: n.blockDefaults
4237
- }), h = Jt(t), g = e.autoSaveOptions !== null && e.autoSaveOptions !== void 0 ? qt({
4274
+ }), h = $t(t), g = e.autoSaveOptions !== null && e.autoSaveOptions !== void 0 ? Qt({
4238
4275
  content: t.content,
4239
4276
  isDirty: () => t.state.isDirty,
4240
4277
  ...e.autoSaveOptions
@@ -4242,24 +4279,24 @@ function Bs(e) {
4242
4279
  g && (v = c(p.isNavigating, (e) => {
4243
4280
  e ? g.pause() : g.resume();
4244
4281
  }));
4245
- let y = ln(t, {
4282
+ let y = mn(t, {
4246
4283
  t: a,
4247
4284
  format: o
4248
- }), b = gn();
4249
- if (xn(b, zs), n.customBlocks?.length) for (let e of n.customBlocks) b.registerCustom(e, yr);
4285
+ }), b = xn();
4286
+ if (En(b, qs), n.customBlocks?.length) for (let e of n.customBlocks) b.registerCustom(e, Dr);
4250
4287
  function x(e) {
4251
- for (let t of e) b.registerCustom(t, yr);
4288
+ for (let t of e) b.registerCustom(t, Dr);
4252
4289
  }
4253
- let S = en();
4290
+ let S = on();
4254
4291
  if (s() && u(S.dispose), e.containerEl) {
4255
4292
  let t = e.containerEl;
4256
- Ye(document, "pointerdown", (e) => {
4293
+ et(document, "pointerdown", (e) => {
4257
4294
  let n = t.value;
4258
4295
  n && (e.composedPath?.() ?? []).includes(n) && S.claim();
4259
4296
  }, { capture: !0 });
4260
4297
  }
4261
4298
  function C(r) {
4262
- S.isActive() && wn(r, {
4299
+ S.isActive() && jn(r, {
4263
4300
  history: p,
4264
4301
  selectBlock: (e) => t.selectBlock(e),
4265
4302
  getSelectedBlockId: () => t.state.selectedBlockId,
@@ -4268,21 +4305,27 @@ function Bs(e) {
4268
4305
  onBeforeUndo: e.keyboardOptions?.onBeforeUndo
4269
4306
  });
4270
4307
  }
4271
- Ye(document, "keydown", C);
4308
+ et(document, "keydown", C);
4272
4309
  let w = _(null);
4273
- E(ht, e.editorRoot ?? document), E(it, w), E(rt, r), E(yt, t), E(lt, p), E(gt, m), E(wt, h), E(mt, i), E(nt, f), E(ot, l), E(ut, n.blockDefaults), E(xt, b), E(ft, n.customBlocks ?? []), E(_t, n.paletteBlocks), E(Tt, Sn(n.htmlBlockPreview)), E(pt, _n(t.content, b));
4274
- let T = me(n.mergeTags?.syntax);
4275
- E(Et, n.mergeTags?.tags ?? []), E($e, T), E(Ze, n.mergeTags?.onRequest ?? null), E(ct, n.mergeTags?.autocomplete !== !1), E(et, rn()), E(st, n.logicTags?.tags ?? []), E(Dt, n.logicTags?.pairs ?? []), E(at, n.logicTags?.onRequest ?? null), E(Qe, an()), E(vt, n.onRequestMedia ?? null), E(Ot, n.resolveImageUrl ? tn(n.resolveImageUrl) : null), E(St, n.displayConditions?.conditions ?? []), E(bt, n.displayConditions?.allowCustom ?? !1), E(Ct, e.capabilities ?? {}), E(dt, y);
4276
- let D = on(n.lint) ? null : sn({
4310
+ E(yt, e.editorRoot ?? document), E(lt, w), E(dt, r), E(bt, t), E(At, p), E(xt, m), E(_t, h), E(mt, i), E(st, f), E(Pt, l), E(ht, n.blockDefaults), E(Dt, b), E(vt, n.customBlocks ?? []), E(ct, n.paletteBlocks), E(Nt, Dn(n.htmlBlockPreview));
4311
+ let T = Ze(n.colors);
4312
+ if (T.allowCustomIgnored && bn.warn("config.colors.allowCustom: false is ignored without presets keeping the color wheel and hex input so a color can still be chosen."), T.invalidPresets.length > 0 && bn.warn(`config.colors.presets skipped invalid entries: ${T.invalidPresets.join(", ")} presets must be hex colors (#rgb or #rrggbb).`), T.allowCustom === !1) {
4313
+ let e = kn(T.presets, n.blockDefaults, n.templateDefaults);
4314
+ e.length > 0 && bn.warn(`config.colors locks custom colours, but these block/template default colours fall outside colors.presets: ${e.join(", ")}. New blocks start on a colour the palette can't reselect — set blockDefaults / templateDefaults from the same palette.`);
4315
+ }
4316
+ E(wt, T), E(Ot, Sn(t.content, b));
4317
+ let D = me(n.mergeTags?.syntax);
4318
+ E(pt, n.mergeTags?.tags ?? []), E(ut, D), E(St, n.mergeTags?.onRequest ?? null), E(at, n.mergeTags?.autocomplete !== !1), E(it, ln()), E(rt, n.logicTags?.tags ?? []), E(ft, n.logicTags?.pairs ?? []), E(Ct, n.logicTags?.onRequest ?? null), E(jt, un()), E(tt, n.onRequestMedia ?? null), E(gt, n.resolveImageUrl ? sn(n.resolveImageUrl) : null), E(Tt, n.displayConditions?.conditions ?? []), E(Et, n.displayConditions?.allowCustom ?? !1), E(kt, e.capabilities ?? {}), E(Mt, y);
4319
+ let O = dn(n.lint) ? null : fn({
4277
4320
  content: t.content,
4278
4321
  options: n.lint ?? {},
4279
4322
  updateBlock: t.updateBlock,
4280
4323
  updateSettings: t.updateSettings,
4281
4324
  removeBlock: t.removeBlock
4282
4325
  });
4283
- E(tt, D);
4284
- function O() {
4285
- v?.(), D?.destroy(), g?.destroy(), p.destroy();
4326
+ E(ot, O);
4327
+ function k() {
4328
+ v?.(), O?.destroy(), g?.destroy(), p.destroy();
4286
4329
  }
4287
4330
  return {
4288
4331
  t: a,
@@ -4296,11 +4339,11 @@ function Bs(e) {
4296
4339
  themeOverrides: d,
4297
4340
  registry: b,
4298
4341
  keyboardReorder: y,
4299
- templateLint: D,
4342
+ templateLint: O,
4300
4343
  popoverRoot: w,
4301
4344
  registerCustomBlocks: x,
4302
- destroy: O
4345
+ destroy: k
4303
4346
  };
4304
4347
  }
4305
4348
  //#endregion
4306
- export { Bn as A, Bt as B, tr as C, Jn as D, Yn as E, Mn as F, kn as I, hn as L, Ln as M, Pn as N, Gn as O, Nn as P, cn as R, or as S, Xn as T, Dr as _, ys as a, ur as b, as as c, ni as d, ti as f, kr as g, Vr as h, Ss as i, Rn as j, Vn as k, vi as l, Gr as m, Rs as n, fs as o, ei as p, Os as r, ls as s, Bs as t, gi as u, xr as v, er as w, cr as x, yr as y, Yt as z };
4349
+ export { qn as A, Gt as B, lr as C, tr as D, nr as E, zn as F, In as I, bn as L, Wn as M, Vn as N, Qn as O, Bn as P, pn as R, mr as S, rr as T, Fr as _, Ds as a, vr as b, ps as c, ui as d, li as f, Lr as g, Yr as h, As as i, Gn as j, Jn as k, Ei as l, $r as m, Ks as n, bs as o, ci as p, Is as r, _s as s, Js as t, wi as u, kr as v, cr as w, gr as x, Dr as y, en as z };