@jackuait/blok 0.4.1-beta.11 → 0.4.1-beta.13

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 (29) hide show
  1. package/dist/blok.mjs +2 -2
  2. package/dist/chunks/{blok-oNSQ3HA6.mjs → blok-Xfgk2kCJ.mjs} +665 -637
  3. package/dist/chunks/{i18next-loader-BdNRw4n4.mjs → i18next-loader-BMO6Rg_l.mjs} +1 -1
  4. package/dist/chunks/{index-DHgXmfki.mjs → index-DyPp5v5e.mjs} +1 -1
  5. package/dist/chunks/{inline-tool-convert-CRqgjRim.mjs → inline-tool-convert-DhHW7EYl.mjs} +2 -1
  6. package/dist/full.mjs +2 -2
  7. package/dist/tools.mjs +57 -31
  8. package/package.json +25 -7
  9. package/src/components/inline-tools/inline-tool-convert.ts +1 -0
  10. package/src/components/inline-tools/inline-tool-link.ts +1 -0
  11. package/src/components/modules/toolbar/blockSettings.ts +2 -1
  12. package/src/components/modules/toolbar/index.ts +97 -116
  13. package/src/components/modules/ui.ts +11 -7
  14. package/src/components/ui/toolbox.ts +14 -5
  15. package/src/components/utils/data-model-transform.ts +38 -21
  16. package/src/components/utils/popover/components/popover-item/popover-item-default/popover-item-default.ts +1 -1
  17. package/src/components/utils/popover/components/popover-item/popover-item.ts +11 -0
  18. package/src/components/utils/popover/popover-abstract.ts +1 -1
  19. package/src/components/utils/popover/popover-desktop.ts +8 -2
  20. package/src/stories/Popover.stories.ts +0 -85
  21. package/src/styles/main.css +7 -4
  22. package/src/tools/header/index.ts +1 -0
  23. package/src/tools/list/index.ts +34 -4
  24. package/types/configs/sanitizer-config.d.ts +25 -1
  25. package/types/index.d.ts +1 -0
  26. package/types/tools/block-tool.d.ts +2 -2
  27. package/types/tools/tool-settings.d.ts +7 -0
  28. package/types/utils/popover/popover-item.d.ts +6 -0
  29. package/types/utils/popover/popover.d.ts +6 -0
@@ -1,32 +1,32 @@
1
- var _o = Object.defineProperty, zo = Object.defineProperties;
2
- var Uo = Object.getOwnPropertyDescriptors;
1
+ var zo = Object.defineProperty, Uo = Object.defineProperties;
2
+ var Ko = Object.getOwnPropertyDescriptors;
3
3
  var At = Object.getOwnPropertySymbols;
4
- var Fe = Object.prototype.hasOwnProperty, _e = Object.prototype.propertyIsEnumerable;
5
- var He = (a, t, e) => t in a ? _o(a, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : a[t] = e, w = (a, t) => {
4
+ var He = Object.prototype.hasOwnProperty, Fe = Object.prototype.propertyIsEnumerable;
5
+ var Pe = (a, t, e) => t in a ? zo(a, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : a[t] = e, w = (a, t) => {
6
6
  for (var e in t || (t = {}))
7
- Fe.call(t, e) && He(a, e, t[e]);
7
+ He.call(t, e) && Pe(a, e, t[e]);
8
8
  if (At)
9
9
  for (var e of At(t))
10
- _e.call(t, e) && He(a, e, t[e]);
10
+ Fe.call(t, e) && Pe(a, e, t[e]);
11
11
  return a;
12
- }, R = (a, t) => zo(a, Uo(t));
12
+ }, R = (a, t) => Uo(a, Ko(t));
13
13
  var jt = (a, t) => {
14
14
  var e = {};
15
15
  for (var o in a)
16
- Fe.call(a, o) && t.indexOf(o) < 0 && (e[o] = a[o]);
16
+ He.call(a, o) && t.indexOf(o) < 0 && (e[o] = a[o]);
17
17
  if (a != null && At)
18
18
  for (var o of At(a))
19
- t.indexOf(o) < 0 && _e.call(a, o) && (e[o] = a[o]);
19
+ t.indexOf(o) < 0 && Fe.call(a, o) && (e[o] = a[o]);
20
20
  return e;
21
21
  };
22
- import { i as N, g as Ko, a as g, b as Be, c as E, l as C, S as y, d as Wo, e as $o, D as m, t as I, f as Y, h as go, P as O, j as Ft, k as X, m as A, n as Bt, o as ht, p as mo, q as nt, T as Xt, r as _t, s as v, I as Yo, u as jo, v as ct, w as ne, x as Xo, y as Vo, z as qo, A as bo, B as Zo, C as ko, E as vo, F as Go, G as ze, H as Jo, J as Qo, K as tn, L as we, M as Ue, N as en, O as Ke, Q as We, R as on, U as nn, V as sn, W as rn, X as an, Y as se, Z as zt, _ as ln, $ as cn, a0 as dn, a1 as $e, a2 as hn, a3 as un, a4 as pn, a5 as fn, a6 as gn, a7 as mn, a8 as bn } from "./inline-tool-convert-CRqgjRim.mjs";
23
- function kn(a) {
22
+ import { i as N, g as Wo, a as g, b as ve, c as E, l as I, S as y, d as $o, e as jo, D as m, t as C, f as j, h as mo, P as O, j as Ht, k as V, m as A, n as Bt, o as ht, p as bo, q as nt, T as Yt, r as Ft, s as v, I as Yo, u as Vo, v as ct, w as oe, x as Xo, y as qo, z as Zo, A as ko, B as Go, C as vo, E as Bo, F as Jo, G as _e, H as Qo, J as tn, K as en, L as Be, M as ze, N as on, O as Ue, Q as Ke, R as nn, U as sn, V as rn, W as an, X as ln, Y as ne, Z as _t, _ as cn, $ as dn, a0 as hn, a1 as We, a2 as un, a3 as pn, a4 as fn, a5 as gn, a6 as mn, a7 as bn, a8 as kn } from "./inline-tool-convert-DhHW7EYl.mjs";
23
+ function vn(a) {
24
24
  return a && a.__esModule && Object.prototype.hasOwnProperty.call(a, "default") ? a.default : a;
25
25
  }
26
- var Vt, Ye;
27
- function vn() {
28
- if (Ye) return Vt;
29
- Ye = 1;
26
+ var Vt, $e;
27
+ function Bn() {
28
+ if ($e) return Vt;
29
+ $e = 1;
30
30
  function a() {
31
31
  }
32
32
  return Vt = Object.assign(a, {
@@ -37,7 +37,7 @@ function vn() {
37
37
  __esModule: !0
38
38
  }), Vt;
39
39
  }
40
- vn();
40
+ Bn();
41
41
  typeof Element != "undefined" && typeof Element.prototype.scrollIntoViewIfNeeded == "undefined" && (Element.prototype.scrollIntoViewIfNeeded = function(a) {
42
42
  const t = a != null ? a : !0, e = this.parentElement;
43
43
  if (!e)
@@ -45,29 +45,29 @@ typeof Element != "undefined" && typeof Element.prototype.scrollIntoViewIfNeeded
45
45
  const o = window.getComputedStyle(e, null), n = parseInt(o.getPropertyValue("border-top-width")), s = parseInt(o.getPropertyValue("border-left-width")), i = this.offsetTop - e.offsetTop < e.scrollTop, r = this.offsetTop - e.offsetTop + this.clientHeight - n > e.scrollTop + e.clientHeight, l = this.offsetLeft - e.offsetLeft < e.scrollLeft, c = this.offsetLeft - e.offsetLeft + this.clientWidth - s > e.scrollLeft + e.clientWidth, d = i && !r;
46
46
  (i || r) && t && (e.scrollTop = this.offsetTop - e.offsetTop - e.clientHeight / 2 - n + this.clientHeight / 2), (l || c) && t && (e.scrollLeft = this.offsetLeft - e.offsetLeft - e.clientWidth / 2 - s + this.clientWidth / 2), (i || r || l || c) && !t && this.scrollIntoView(d);
47
47
  });
48
- const Bn = globalThis.setTimeout.bind(globalThis), wn = globalThis.clearTimeout.bind(globalThis), Ut = /* @__PURE__ */ new Map(), yn = (a) => {
48
+ const wn = globalThis.setTimeout.bind(globalThis), yn = globalThis.clearTimeout.bind(globalThis), zt = /* @__PURE__ */ new Map(), xn = (a) => {
49
49
  const t = Number(a);
50
50
  return Number.isFinite(t) && t > 0 ? t : Date.now();
51
51
  };
52
52
  typeof window != "undefined" && typeof window.requestIdleCallback == "undefined" && (window.requestIdleCallback = function(a) {
53
- const t = Date.now(), e = {}, o = Bn(() => {
53
+ const t = Date.now(), e = {}, o = wn(() => {
54
54
  const s = e.value;
55
- typeof s == "number" && Ut.delete(s), a({
55
+ typeof s == "number" && zt.delete(s), a({
56
56
  didTimeout: !1,
57
57
  timeRemaining: function() {
58
58
  return Math.max(0, 50 - (Date.now() - t));
59
59
  }
60
60
  });
61
- }, 1), n = yn(o);
62
- return e.value = n, Ut.set(n, o), n;
61
+ }, 1), n = xn(o);
62
+ return e.value = n, zt.set(n, o), n;
63
63
  });
64
64
  typeof window != "undefined" && typeof window.cancelIdleCallback == "undefined" && (window.cancelIdleCallback = function(a) {
65
- const t = Ut.get(a);
66
- t !== void 0 && (Ut.delete(a), wn(t)), globalThis.clearTimeout(a);
65
+ const t = zt.get(a);
66
+ t !== void 0 && (zt.delete(a), yn(t)), globalThis.clearTimeout(a);
67
67
  });
68
68
  class bt extends Error {
69
69
  }
70
- class It {
70
+ class Ct {
71
71
  constructor() {
72
72
  this.subscribers = {};
73
73
  }
@@ -125,7 +125,7 @@ class It {
125
125
  this.subscribers = {};
126
126
  }
127
127
  }
128
- const xn = function(t) {
128
+ const Tn = function(t) {
129
129
  return Object.setPrototypeOf(this, {
130
130
  /**
131
131
  * Block id
@@ -243,8 +243,8 @@ const xn = function(t) {
243
243
  configurable: !0
244
244
  }
245
245
  }), this;
246
- }, q = xn;
247
- class Ct {
246
+ }, q = Tn;
247
+ class It {
248
248
  constructor() {
249
249
  this.allListeners = [];
250
250
  }
@@ -258,7 +258,7 @@ class Ct {
258
258
  on(t, e, o, n = !1) {
259
259
  if (this.findOne(t, e, o, n))
260
260
  return;
261
- const i = Ko("l"), r = {
261
+ const i = Wo("l"), r = {
262
262
  id: i,
263
263
  element: t,
264
264
  eventType: e,
@@ -408,7 +408,7 @@ class T {
408
408
  * @param options.eventsDispatcher - Common event bus
409
409
  */
410
410
  constructor({ config: t, eventsDispatcher: e }) {
411
- if (this.nodes = {}, this.listeners = new Ct(), this.readOnlyMutableListeners = {
411
+ if (this.nodes = {}, this.listeners = new It(), this.readOnlyMutableListeners = {
412
412
  /**
413
413
  * Assigns event listener on DOM element and pushes into special array that might be removed
414
414
  * @param {EventTarget} element - DOM Element
@@ -459,12 +459,12 @@ class T {
459
459
  return ((t = this.config.i18n) == null ? void 0 : t.direction) === "rtl";
460
460
  }
461
461
  }
462
- const Tn = (a, t) => {
462
+ const Sn = (a, t) => {
463
463
  const { type: e, target: o, addedNodes: n, removedNodes: s } = a;
464
464
  return a.type === "attributes" && a.attributeName === "data-blok-empty" ? !1 : t.contains(o) ? !0 : e !== "childList" ? !1 : Array.from(n).some((l) => l === t) ? !0 : Array.from(s).some((l) => l === t);
465
- }, ie = "redactor dom changed", wt = "block changed", Bo = "fake cursor is about to be toggled", wo = "fake cursor have been set", yt = "blok mobile layout toggled", re = "block-settings-opened", ae = "block-settings-closed", Sn = "history:state-changed";
466
- var j = /* @__PURE__ */ ((a) => (a.RENDERED = "rendered", a.MOVED = "moved", a.UPDATED = "updated", a.REMOVED = "removed", a.ON_PASTE = "onPaste", a))(j || {});
467
- const U = class U extends It {
465
+ }, se = "redactor dom changed", wt = "block changed", wo = "fake cursor is about to be toggled", yo = "fake cursor have been set", yt = "blok mobile layout toggled", ie = "block-settings-opened", re = "block-settings-closed", Cn = "history:state-changed";
466
+ var Y = /* @__PURE__ */ ((a) => (a.RENDERED = "rendered", a.MOVED = "moved", a.UPDATED = "updated", a.REMOVED = "removed", a.ON_PASTE = "onPaste", a))(Y || {});
467
+ const U = class U extends Ct {
468
468
  /**
469
469
  * @param options - block constructor options
470
470
  * @param [options.id] - block's id. Will be generated if omitted.
@@ -477,7 +477,7 @@ const U = class U extends It {
477
477
  * @param [eventBus] - Blok common event bus. Allows to subscribe on some Blok events. Could be omitted when "virtual" Block is created. See BlocksAPI@composeBlockData.
478
478
  */
479
479
  constructor({
480
- id: t = Be(),
480
+ id: t = ve(),
481
481
  data: e,
482
482
  tool: o,
483
483
  readOnly: n,
@@ -545,7 +545,7 @@ const U = class U extends It {
545
545
  o.call(this.toolInstance, e);
546
546
  } catch (n) {
547
547
  const s = n instanceof Error ? n.message : String(n);
548
- C(`Error during '${t}' call: ${s}`, "error");
548
+ I(`Error during '${t}' call: ${s}`, "error");
549
549
  }
550
550
  }
551
551
  /**
@@ -586,7 +586,7 @@ const U = class U extends It {
586
586
  try {
587
587
  e[s] = i.save();
588
588
  } catch (r) {
589
- C(`Tune ${i.constructor.name} save method throws an Error %o`, "warn", r);
589
+ I(`Tune ${i.constructor.name} save method throws an Error %o`, "warn", r);
590
590
  }
591
591
  });
592
592
  const o = window.performance.now();
@@ -618,7 +618,7 @@ const U = class U extends It {
618
618
  return o("text"), o("html"), e;
619
619
  } catch (t) {
620
620
  const e = t instanceof Error ? t : new Error(String(t));
621
- C(
621
+ I(
622
622
  `Saving process for ${this.name} tool failed due to the ${e}`,
623
623
  "log",
624
624
  e
@@ -719,7 +719,7 @@ const U = class U extends It {
719
719
  try {
720
720
  return await e.call(this.toolInstance, t), this.lastSavedData = t, !0;
721
721
  } catch (i) {
722
- return C(`Tool ${this.name} setData failed: ${i instanceof Error ? i.message : String(i)}`, "warn"), !1;
722
+ return I(`Tool ${this.name} setData failed: ${i instanceof Error ? i.message : String(i)}`, "warn"), !1;
723
723
  }
724
724
  const o = this.toolRenderedElement;
725
725
  if (!o)
@@ -747,14 +747,14 @@ const U = class U extends It {
747
747
  if (t.length === 1)
748
748
  return Promise.resolve(t[0]);
749
749
  const e = await this.data;
750
- return t.find((o) => Wo(o.data, e));
750
+ return t.find((o) => $o(o.data, e));
751
751
  }
752
752
  /**
753
753
  * Exports Block data as string using conversion config
754
754
  */
755
755
  async exportDataAsString() {
756
756
  const t = await this.data;
757
- return $o(t, this.tool.conversionConfig);
757
+ return jo(t, this.tool.conversionConfig);
758
758
  }
759
759
  /**
760
760
  * Find and return all editable elements (contenteditable and native inputs) in the Tool HTML
@@ -887,10 +887,10 @@ const U = class U extends It {
887
887
  var n, s;
888
888
  if (t ? this.holder.setAttribute(m.selected, "true") : this.holder.removeAttribute(m.selected), this.contentElement) {
889
889
  const i = this.stretched ? U.styles.contentStretched : "";
890
- this.contentElement.className = t ? I(U.styles.content, U.styles.contentSelected) : I(U.styles.content, i);
890
+ this.contentElement.className = t ? C(U.styles.content, U.styles.contentSelected) : C(U.styles.content, i);
891
891
  }
892
892
  const e = t === !0 && y.isRangeInsideContainer(this.holder), o = t === !1 && y.isFakeCursorInsideContainer(this.holder);
893
- !e && !o || ((n = this.blokEventBus) == null || n.emit(Bo, { state: t }), e && y.addFakeCursor(), o && y.removeFakeCursor(this.holder), (s = this.blokEventBus) == null || s.emit(wo, { state: t }));
893
+ !e && !o || ((n = this.blokEventBus) == null || n.emit(wo, { state: t }), e && y.addFakeCursor(), o && y.removeFakeCursor(this.holder), (s = this.blokEventBus) == null || s.emit(yo, { state: t }));
894
894
  }
895
895
  /**
896
896
  * Returns True if it is Selected
@@ -904,7 +904,7 @@ const U = class U extends It {
904
904
  * @param {boolean} state - 'true' to enable, 'false' to disable stretched state
905
905
  */
906
906
  setStretchState(t) {
907
- t ? this.holder.setAttribute(m.stretched, "true") : this.holder.removeAttribute(m.stretched), this.contentElement && !this.selected && (this.contentElement.className = t ? I(U.styles.content, U.styles.contentStretched) : U.styles.content);
907
+ t ? this.holder.setAttribute(m.stretched, "true") : this.holder.removeAttribute(m.stretched), this.contentElement && !this.selected && (this.contentElement.className = t ? C(U.styles.content, U.styles.contentStretched) : U.styles.content);
908
908
  }
909
909
  /**
910
910
  * Backward-compatible setter for stretched state
@@ -943,14 +943,14 @@ const U = class U extends It {
943
943
  this.toolRenderedElement = i, this.addToolDataAttributes(i, t), e.appendChild(i), (r = this.readyResolver) == null || r.call(this);
944
944
  }).catch((i) => {
945
945
  var r;
946
- C("Tool render promise rejected: %o", "error", i), (r = this.readyResolver) == null || r.call(this);
946
+ I("Tool render promise rejected: %o", "error", i), (r = this.readyResolver) == null || r.call(this);
947
947
  }) : (this.toolRenderedElement = o, this.addToolDataAttributes(o, t), e.appendChild(o), (s = this.readyResolver) == null || s.call(this));
948
948
  const n = [...this.tunesInstances.values(), ...this.defaultTunesInstances.values()].reduce((i, r) => {
949
949
  if (E(r.wrap))
950
950
  try {
951
951
  return r.wrap(i);
952
952
  } catch (l) {
953
- return C(`Tune ${r.constructor.name} wrap method throws an Error %o`, "warn", l), i;
953
+ return I(`Tune ${r.constructor.name} wrap method throws an Error %o`, "warn", l), i;
954
954
  }
955
955
  return i;
956
956
  }, e);
@@ -1021,9 +1021,9 @@ const U = class U extends It {
1021
1021
  const { mutations: o } = e, n = this.toolRenderedElement;
1022
1022
  if (n === null)
1023
1023
  return;
1024
- const s = o.filter((i) => Tn(i, n));
1024
+ const s = o.filter((i) => Sn(i, n));
1025
1025
  s.length > 0 && this.didMutated(s);
1026
- }, (t = this.blokEventBus) == null || t.on(ie, this.redactorDomChangedCallback);
1026
+ }, (t = this.blokEventBus) == null || t.on(se, this.redactorDomChangedCallback);
1027
1027
  }
1028
1028
  /**
1029
1029
  * Remove redactor dom change event listener.
@@ -1031,7 +1031,7 @@ const U = class U extends It {
1031
1031
  */
1032
1032
  unwatchBlockMutations() {
1033
1033
  var t;
1034
- (t = this.blokEventBus) == null || t.off(ie, this.redactorDomChangedCallback);
1034
+ (t = this.blokEventBus) == null || t.off(se, this.redactorDomChangedCallback);
1035
1035
  }
1036
1036
  /**
1037
1037
  * Refreshes the reference to the tool's root element by inspecting the block content.
@@ -1039,7 +1039,7 @@ const U = class U extends It {
1039
1039
  * especially when mutation observers haven't been set up yet.
1040
1040
  */
1041
1041
  refreshToolRootElement() {
1042
- const t = this.holder.querySelector(Y(m.elementContent));
1042
+ const t = this.holder.querySelector(j(m.elementContent));
1043
1043
  if (!t)
1044
1044
  return;
1045
1045
  const e = t.firstElementChild;
@@ -1069,7 +1069,7 @@ const U = class U extends It {
1069
1069
  * Mark inputs with 'data-blok-empty' attribute with the empty state
1070
1070
  */
1071
1071
  toggleInputsEmptyMark() {
1072
- this.inputs.forEach(go);
1072
+ this.inputs.forEach(mo);
1073
1073
  }
1074
1074
  };
1075
1075
  U.styles = {
@@ -1122,8 +1122,8 @@ class In extends T {
1122
1122
  return new q(f);
1123
1123
  } else {
1124
1124
  const f = [
1125
- c ? !1 : Ft(i.name),
1126
- d ? !1 : Ft(e)
1125
+ c ? !1 : Ht(i.name),
1126
+ d ? !1 : Ht(e)
1127
1127
  ].filter(Boolean).join(" and ");
1128
1128
  throw new Error(`Conversion from "${i.name}" to "${e}" is not possible. ${f} tool(s) should provide a "conversionConfig"`);
1129
1129
  }
@@ -1183,7 +1183,7 @@ class In extends T {
1183
1183
  getBlockIndex(t) {
1184
1184
  const e = this.Blok.BlockManager.getBlockById(t);
1185
1185
  if (!e) {
1186
- X("There is no block with id `" + t + "`", "warn");
1186
+ V("There is no block with id `" + t + "`", "warn");
1187
1187
  return;
1188
1188
  }
1189
1189
  return this.Blok.BlockManager.getBlockIndex(e);
@@ -1195,7 +1195,7 @@ class In extends T {
1195
1195
  getBlockByIndex(t) {
1196
1196
  const e = this.Blok.BlockManager.getBlockByIndex(t);
1197
1197
  if (e === void 0) {
1198
- X("There is no block at index `" + t + "`", "warn");
1198
+ V("There is no block at index `" + t + "`", "warn");
1199
1199
  return;
1200
1200
  }
1201
1201
  return new q(e);
@@ -1206,7 +1206,7 @@ class In extends T {
1206
1206
  */
1207
1207
  getById(t) {
1208
1208
  const e = this.Blok.BlockManager.getBlockById(t);
1209
- return e === void 0 ? (X("There is no block with id `" + t + "`", "warn"), null) : new q(e);
1209
+ return e === void 0 ? (V("There is no block with id `" + t + "`", "warn"), null) : new q(e);
1210
1210
  }
1211
1211
  /**
1212
1212
  * Get Block API object by any child html element
@@ -1215,7 +1215,7 @@ class In extends T {
1215
1215
  getBlockByElement(t) {
1216
1216
  const e = this.Blok.BlockManager.getBlock(t);
1217
1217
  if (e === void 0) {
1218
- X("There is no block corresponding to element `" + t + "`", "warn");
1218
+ V("There is no block corresponding to element `" + t + "`", "warn");
1219
1219
  return;
1220
1220
  }
1221
1221
  return new q(e);
@@ -1235,13 +1235,13 @@ class In extends T {
1235
1235
  async delete(t = this.Blok.BlockManager.currentBlockIndex) {
1236
1236
  const e = this.Blok.BlockManager.getBlockByIndex(t);
1237
1237
  if (e === void 0) {
1238
- X(`There is no block at index \`${t}\``, "warn");
1238
+ V(`There is no block at index \`${t}\``, "warn");
1239
1239
  return;
1240
1240
  }
1241
1241
  try {
1242
1242
  await this.Blok.BlockManager.removeBlock(e);
1243
1243
  } catch (o) {
1244
- X(o, "warn");
1244
+ V(o, "warn");
1245
1245
  return;
1246
1246
  }
1247
1247
  this.Blok.BlockManager.blocks.length === 0 && this.Blok.BlockManager.insert(), this.Blok.BlockManager.currentBlock && this.Blok.Caret.setToBlock(this.Blok.BlockManager.currentBlock, this.Blok.Caret.positions.END), this.Blok.Toolbar.close();
@@ -1291,11 +1291,11 @@ class In extends T {
1291
1291
  throw new Error("Index should be greater than or equal to 0");
1292
1292
  }
1293
1293
  }
1294
- const Cn = (a, t) => typeof a == "number" ? t.BlockManager.getBlockByIndex(a) : typeof a == "string" ? t.BlockManager.getBlockById(a) : t.BlockManager.getBlockById(a.id);
1295
- class En extends T {
1294
+ const En = (a, t) => typeof a == "number" ? t.BlockManager.getBlockByIndex(a) : typeof a == "string" ? t.BlockManager.getBlockById(a) : t.BlockManager.getBlockById(a.id);
1295
+ class An extends T {
1296
1296
  constructor() {
1297
1297
  super(...arguments), this.setToFirstBlock = (t = this.Blok.Caret.positions.DEFAULT, e = 0) => this.Blok.BlockManager.firstBlock ? (this.Blok.Caret.setToBlock(this.Blok.BlockManager.firstBlock, t, e), !0) : !1, this.setToLastBlock = (t = this.Blok.Caret.positions.DEFAULT, e = 0) => this.Blok.BlockManager.lastBlock ? (this.Blok.Caret.setToBlock(this.Blok.BlockManager.lastBlock, t, e), !0) : !1, this.setToPreviousBlock = (t = this.Blok.Caret.positions.DEFAULT, e = 0) => this.Blok.BlockManager.previousBlock ? (this.Blok.Caret.setToBlock(this.Blok.BlockManager.previousBlock, t, e), !0) : !1, this.setToNextBlock = (t = this.Blok.Caret.positions.DEFAULT, e = 0) => this.Blok.BlockManager.nextBlock ? (this.Blok.Caret.setToBlock(this.Blok.BlockManager.nextBlock, t, e), !0) : !1, this.setToBlock = (t, e = this.Blok.Caret.positions.DEFAULT, o = 0) => {
1298
- const n = Cn(t, this.Blok);
1298
+ const n = En(t, this.Blok);
1299
1299
  return n === void 0 ? !1 : (this.Blok.Caret.setToBlock(n, e, o), !0);
1300
1300
  }, this.focus = (t = !1) => t ? this.setToLastBlock(this.Blok.Caret.positions.END) : this.setToFirstBlock(this.Blok.Caret.positions.START);
1301
1301
  }
@@ -1314,7 +1314,7 @@ class En extends T {
1314
1314
  };
1315
1315
  }
1316
1316
  }
1317
- class An extends T {
1317
+ class Mn extends T {
1318
1318
  /**
1319
1319
  * Available methods
1320
1320
  * @returns {Events}
@@ -1354,7 +1354,7 @@ class An extends T {
1354
1354
  this.eventsDispatcher.off(t, e);
1355
1355
  }
1356
1356
  }
1357
- class Mn extends T {
1357
+ class Dn extends T {
1358
1358
  constructor() {
1359
1359
  super(...arguments), this.cachedMethods = null;
1360
1360
  }
@@ -1372,7 +1372,7 @@ class Mn extends T {
1372
1372
  }), this.cachedMethods;
1373
1373
  }
1374
1374
  }
1375
- class Dn extends T {
1375
+ class Ln extends T {
1376
1376
  /**
1377
1377
  * Blok Core API modules
1378
1378
  */
@@ -1398,7 +1398,7 @@ class Dn extends T {
1398
1398
  };
1399
1399
  }
1400
1400
  }
1401
- class Ln extends T {
1401
+ class On extends T {
1402
1402
  /**
1403
1403
  * Available methods
1404
1404
  * @returns {InlineToolbar}
@@ -1422,7 +1422,7 @@ class Ln extends T {
1422
1422
  this.Blok.InlineToolbar.close();
1423
1423
  }
1424
1424
  }
1425
- class On extends T {
1425
+ class Nn extends T {
1426
1426
  /**
1427
1427
  * Available methods
1428
1428
  * @returns {Listeners}
@@ -1462,7 +1462,7 @@ class On extends T {
1462
1462
  this.listeners.offById(t);
1463
1463
  }
1464
1464
  }
1465
- class Nn {
1465
+ class Rn {
1466
1466
  constructor() {
1467
1467
  this.notifierModule = null, this.loadingPromise = null;
1468
1468
  }
@@ -1471,7 +1471,7 @@ class Nn {
1471
1471
  * @returns {Promise<NotifierModule>} loaded notifier module
1472
1472
  */
1473
1473
  loadNotifierModule() {
1474
- return this.notifierModule !== null ? Promise.resolve(this.notifierModule) : (this.loadingPromise === null && (this.loadingPromise = import("./index-DHgXmfki.mjs").then((t) => {
1474
+ return this.notifierModule !== null ? Promise.resolve(this.notifierModule) : (this.loadingPromise === null && (this.loadingPromise = import("./index-DyPp5v5e.mjs").then((t) => {
1475
1475
  const e = t;
1476
1476
  if (!this.isNotifierModule(e))
1477
1477
  throw new Error('notifier module does not expose a "show" method.');
@@ -1499,7 +1499,7 @@ class Nn {
1499
1499
  return typeof t == "object" && t !== null && "show" in t && typeof t.show == "function";
1500
1500
  }
1501
1501
  }
1502
- class Rn extends T {
1502
+ class Pn extends T {
1503
1503
  /**
1504
1504
  * @param moduleConfiguration - Module Configuration
1505
1505
  * @param moduleConfiguration.config - Blok's config
@@ -1509,7 +1509,7 @@ class Rn extends T {
1509
1509
  super({
1510
1510
  config: t,
1511
1511
  eventsDispatcher: e
1512
- }), this.notifier = new Nn();
1512
+ }), this.notifier = new Rn();
1513
1513
  }
1514
1514
  /**
1515
1515
  * Available methods
@@ -1527,7 +1527,7 @@ class Rn extends T {
1527
1527
  return this.notifier.show(t);
1528
1528
  }
1529
1529
  }
1530
- class Pn extends T {
1530
+ class Hn extends T {
1531
1531
  /**
1532
1532
  * Available methods
1533
1533
  */
@@ -1555,12 +1555,12 @@ class Pn extends T {
1555
1555
  return this.Blok.ReadOnly.isEnabled;
1556
1556
  }
1557
1557
  }
1558
- var Nt = { exports: {} }, Hn = Nt.exports, je;
1559
- function Fn() {
1558
+ var Ot = { exports: {} }, Fn = Ot.exports, je;
1559
+ function _n() {
1560
1560
  return je || (je = 1, (function(a, t) {
1561
1561
  (function(e, o) {
1562
1562
  a.exports = o();
1563
- })(Hn, function() {
1563
+ })(Fn, function() {
1564
1564
  function e(h) {
1565
1565
  var u = h.tags, f = Object.keys(u), p = f.map(function(b) {
1566
1566
  return typeof u[b];
@@ -1633,40 +1633,40 @@ function Fn() {
1633
1633
  }
1634
1634
  return e;
1635
1635
  });
1636
- })(Nt)), Nt.exports;
1636
+ })(Ot)), Ot.exports;
1637
1637
  }
1638
- var _n = Fn();
1639
- const zn = /* @__PURE__ */ kn(_n), Un = /^\s*(?:javascript\s*:|data\s*:\s*text\s*\/\s*html)/i, Kn = /\s*(?:href|src)\s*=\s*(?:"\s*(?:javascript\s*:|data\s*:\s*text\s*\/\s*html)[^"]*"|'\s*(?:javascript\s*:|data\s*:\s*text\s*\/\s*html)[^']*|(?:javascript\s*:|data\s*:\s*text\s*\/\s*html)[^ \t\r\n>]*)/gi, ye = (a, t, e = {}) => a.map((o) => {
1638
+ var zn = _n();
1639
+ const Un = /* @__PURE__ */ vn(zn), Kn = /^\s*(?:javascript\s*:|data\s*:\s*text\s*\/\s*html)/i, Wn = /\s*(?:href|src)\s*=\s*(?:"\s*(?:javascript\s*:|data\s*:\s*text\s*\/\s*html)[^"]*"|'\s*(?:javascript\s*:|data\s*:\s*text\s*\/\s*html)[^']*|(?:javascript\s*:|data\s*:\s*text\s*\/\s*html)[^ \t\r\n>]*)/gi, we = (a, t, e = {}) => a.map((o) => {
1640
1640
  const n = E(t) ? t(o.tool) : t, s = n != null ? n : {};
1641
1641
  return A(s) && N(s) && N(e) ? o : R(w({}, o), {
1642
- data: xe(o.data, s, e)
1642
+ data: ye(o.data, s, e)
1643
1643
  });
1644
1644
  }), Z = (a, t = {}) => {
1645
1645
  const e = {
1646
1646
  tags: t
1647
1647
  };
1648
- return new zn(e).clean(a);
1649
- }, xe = (a, t, e) => Array.isArray(a) ? Wn(a, t, e) : A(a) ? $n(a, t, e) : ht(a) ? Yn(a, t, e) : a, Wn = (a, t, e) => a.map((o) => xe(o, t, e)), $n = (a, t, e) => {
1648
+ return new Un(e).clean(a);
1649
+ }, ye = (a, t, e) => Array.isArray(a) ? $n(a, t, e) : A(a) ? jn(a, t, e) : ht(a) ? Yn(a, t, e) : a, $n = (a, t, e) => a.map((o) => ye(o, t, e)), jn = (a, t, e) => {
1650
1650
  const o = {}, n = a;
1651
1651
  for (const s in a) {
1652
1652
  if (!Object.prototype.hasOwnProperty.call(a, s))
1653
1653
  continue;
1654
- const i = n[s], r = A(t) ? t : void 0, l = r == null ? void 0 : r[s], c = l !== void 0 && jn(l) ? l : t;
1655
- o[s] = xe(i, c, e);
1654
+ const i = n[s], r = A(t) ? t : void 0, l = r == null ? void 0 : r[s], c = l !== void 0 && Vn(l) ? l : t;
1655
+ o[s] = ye(i, c, e);
1656
1656
  }
1657
1657
  return o;
1658
1658
  }, Yn = (a, t, e) => {
1659
- const o = Jn(t, e);
1659
+ const o = Qn(t, e);
1660
1660
  if (o) {
1661
1661
  const n = Z(a, o);
1662
- return qt(Ve(n, o));
1662
+ return Xt(Ve(n, o));
1663
1663
  }
1664
1664
  if (!N(e)) {
1665
1665
  const n = Z(a, e);
1666
- return qt(Ve(n, e));
1666
+ return Xt(Ve(n, e));
1667
1667
  }
1668
- return qt(a);
1669
- }, jn = (a) => A(a) || mo(a) || E(a), Xn = (a) => a ? Un.test(a) : !1, qt = (a) => {
1668
+ return Xt(a);
1669
+ }, Vn = (a) => A(a) || bo(a) || E(a), Xn = (a) => a ? Kn.test(a) : !1, Xt = (a) => {
1670
1670
  if (!a || a.indexOf("<") === -1)
1671
1671
  return a;
1672
1672
  if (typeof document != "undefined") {
@@ -1678,28 +1678,28 @@ const zn = /* @__PURE__ */ kn(_n), Un = /^\s*(?:javascript\s*:|data\s*:\s*text\s
1678
1678
  });
1679
1679
  }), t.innerHTML;
1680
1680
  }
1681
- return a.replace(Kn, "");
1682
- }, Te = (a) => {
1681
+ return a.replace(Wn, "");
1682
+ }, xe = (a) => {
1683
1683
  if (N(a))
1684
1684
  return {};
1685
1685
  const t = {};
1686
1686
  for (const e in a)
1687
1687
  Object.prototype.hasOwnProperty.call(a, e) && (t[e] = at(a[e]));
1688
1688
  return t;
1689
- }, Xe = (a) => function(e) {
1689
+ }, Ye = (a) => function(e) {
1690
1690
  const o = a.call(this, e);
1691
1691
  return o == null ? {} : o;
1692
- }, Vn = /* @__PURE__ */ new Set(["class", "id", "title", "role", "dir", "lang"]), qn = (a) => {
1692
+ }, qn = /* @__PURE__ */ new Set(["class", "id", "title", "role", "dir", "lang"]), Zn = (a) => {
1693
1693
  const t = a.toLowerCase();
1694
- return t.startsWith("data-") || t.startsWith("aria-") || Vn.has(t);
1695
- }, Zn = (a) => {
1694
+ return t.startsWith("data-") || t.startsWith("aria-") || qn.has(t);
1695
+ }, Gn = (a) => {
1696
1696
  const t = {};
1697
1697
  return Array.from(a.attributes).forEach((e) => {
1698
- qn(e.name) && (t[e.name] = !0);
1698
+ Zn(e.name) && (t[e.name] = !0);
1699
1699
  }), t;
1700
- }, at = (a) => a === !0 ? Xe(Zn) : a === !1 ? !1 : E(a) ? Xe(a) : ht(a) ? a : A(a) ? Bt({}, a) : a, Gn = (a, t) => {
1700
+ }, at = (a) => a === !0 ? Ye(Gn) : a === !1 ? !1 : E(a) ? Ye(a) : ht(a) ? a : A(a) ? Bt({}, a) : a, Jn = (a, t) => {
1701
1701
  if (N(a))
1702
- return Te(t);
1702
+ return xe(t);
1703
1703
  const e = {};
1704
1704
  for (const o in a) {
1705
1705
  if (!Object.prototype.hasOwnProperty.call(a, o))
@@ -1724,10 +1724,10 @@ const zn = /* @__PURE__ */ kn(_n), Un = /^\s*(?:javascript\s*:|data\s*:\s*text\s
1724
1724
  e[o] = at(n);
1725
1725
  }
1726
1726
  return e;
1727
- }, Jn = (a, t) => A(a) && !E(a) ? Gn(t, a) : a === !1 ? {} : N(t) ? null : Te(t), Se = (a, ...t) => {
1727
+ }, Qn = (a, t) => A(a) && !E(a) ? Jn(t, a) : a === !1 ? {} : N(t) ? null : xe(t), Te = (a, ...t) => {
1728
1728
  if (N(a))
1729
1729
  return Object.assign({}, ...t);
1730
- const e = Te(a);
1730
+ const e = xe(a);
1731
1731
  return t.forEach((o) => {
1732
1732
  if (o)
1733
1733
  for (const n in o) {
@@ -1765,7 +1765,7 @@ const zn = /* @__PURE__ */ kn(_n), Un = /^\s*(?:javascript\s*:|data\s*:\s*text\s
1765
1765
  return o.innerHTML = a, e.forEach(([n, s]) => {
1766
1766
  o.content.querySelectorAll(n).forEach((r) => {
1767
1767
  const l = s(r);
1768
- if (!(mo(l) || E(l) || l == null))
1768
+ if (!(bo(l) || E(l) || l == null))
1769
1769
  for (const [c, d] of Object.entries(l)) {
1770
1770
  if (d === !1) {
1771
1771
  r.removeAttribute(c);
@@ -1776,7 +1776,7 @@ const zn = /* @__PURE__ */ kn(_n), Un = /^\s*(?:javascript\s*:|data\s*:\s*text\s
1776
1776
  });
1777
1777
  }), o.innerHTML;
1778
1778
  };
1779
- class Qn extends T {
1779
+ class ts extends T {
1780
1780
  /**
1781
1781
  * Available methods
1782
1782
  * @returns {SanitizerConfig}
@@ -1796,7 +1796,7 @@ class Qn extends T {
1796
1796
  return Z(t, e);
1797
1797
  }
1798
1798
  }
1799
- class ts extends T {
1799
+ class es extends T {
1800
1800
  /**
1801
1801
  * Available methods
1802
1802
  * @returns {Saver}
@@ -1814,7 +1814,7 @@ class ts extends T {
1814
1814
  var s, i;
1815
1815
  const t = "Blok's content can not be saved in read-only mode";
1816
1816
  if (this.Blok.ReadOnly.isEnabled)
1817
- throw X(t, "warn"), new Error(t);
1817
+ throw V(t, "warn"), new Error(t);
1818
1818
  const e = await this.Blok.Saver.save();
1819
1819
  if (e !== void 0)
1820
1820
  return e;
@@ -1825,7 +1825,7 @@ class ts extends T {
1825
1825
  throw new Error(n);
1826
1826
  }
1827
1827
  }
1828
- class es extends T {
1828
+ class os extends T {
1829
1829
  constructor() {
1830
1830
  super(...arguments), this.selectionUtils = new y();
1831
1831
  }
@@ -1861,7 +1861,7 @@ class es extends T {
1861
1861
  this.selectionUtils.expandToTag(t);
1862
1862
  }
1863
1863
  }
1864
- class os extends T {
1864
+ class ns extends T {
1865
1865
  /**
1866
1866
  * Available methods
1867
1867
  */
@@ -1871,7 +1871,7 @@ class os extends T {
1871
1871
  };
1872
1872
  }
1873
1873
  }
1874
- class ns extends T {
1874
+ class ss extends T {
1875
1875
  /**
1876
1876
  * Exported CSS class names for tool styling.
1877
1877
  * These are single class names that can be safely used with classList.add().
@@ -1920,7 +1920,7 @@ class ns extends T {
1920
1920
  };
1921
1921
  }
1922
1922
  }
1923
- class ss extends T {
1923
+ class is extends T {
1924
1924
  /**
1925
1925
  * Available methods
1926
1926
  * @returns {Toolbar}
@@ -1951,7 +1951,7 @@ class ss extends T {
1951
1951
  */
1952
1952
  toggleBlockSettings(t) {
1953
1953
  if (this.Blok.BlockManager.currentBlockIndex === -1) {
1954
- X("Could't toggle the Toolbar because there is no block selected ", "warn");
1954
+ V("Could't toggle the Toolbar because there is no block selected ", "warn");
1955
1955
  return;
1956
1956
  }
1957
1957
  (t != null ? t : !this.Blok.BlockSettings.opened) ? (this.Blok.Toolbar.moveAndOpen(), this.Blok.BlockSettings.open()) : this.Blok.BlockSettings.close();
@@ -1962,13 +1962,13 @@ class ss extends T {
1962
1962
  */
1963
1963
  toggleToolbox(t) {
1964
1964
  if (this.Blok.BlockManager.currentBlockIndex === -1) {
1965
- X("Could't toggle the Toolbox because there is no block selected ", "warn");
1965
+ V("Could't toggle the Toolbox because there is no block selected ", "warn");
1966
1966
  return;
1967
1967
  }
1968
1968
  (t != null ? t : !this.Blok.Toolbar.toolbox.opened) ? (this.Blok.Toolbar.moveAndOpen(), this.Blok.Toolbar.toolbox.open()) : this.Blok.Toolbar.toolbox.close();
1969
1969
  }
1970
1970
  }
1971
- const Zt = 10, is = "tooltip", rs = "aria-hidden", as = "false", ls = "true", cs = "visibility", ds = "visible", hs = "hidden", tt = class tt {
1971
+ const qt = 10, rs = "tooltip", as = "aria-hidden", ls = "false", cs = "true", ds = "visibility", hs = "visible", us = "hidden", tt = class tt {
1972
1972
  /**
1973
1973
  * Module constructor
1974
1974
  */
@@ -1976,7 +1976,7 @@ const Zt = 10, is = "tooltip", rs = "aria-hidden", as = "false", ls = "true", cs
1976
1976
  this.nodes = {
1977
1977
  wrapper: null,
1978
1978
  content: null
1979
- }, this.showed = !1, this.offsetTop = Zt, this.offsetLeft = Zt, this.offsetRight = Zt, this.showingTimeout = null, this.ariaObserver = null, this.handleWindowScroll = () => {
1979
+ }, this.showed = !1, this.offsetTop = qt, this.offsetLeft = qt, this.offsetRight = qt, this.showingTimeout = null, this.ariaObserver = null, this.handleWindowScroll = () => {
1980
1980
  this.showed && this.hide();
1981
1981
  }, this.prepare(), window.addEventListener("scroll", this.handleWindowScroll, { passive: !0 });
1982
1982
  }
@@ -2112,7 +2112,7 @@ const Zt = 10, is = "tooltip", rs = "aria-hidden", as = "false", ls = "true", cs
2112
2112
  * Module Preparation method
2113
2113
  */
2114
2114
  prepare() {
2115
- this.nodes.wrapper = this.make("div", this.CSS.tooltip), this.nodes.wrapper.setAttribute(m.interface, Xt), this.nodes.wrapper.setAttribute("data-blok-testid", "tooltip"), this.nodes.content = this.make("div", this.CSS.tooltipContent), this.nodes.content.setAttribute("data-blok-testid", "tooltip-content"), this.nodes.wrapper && this.nodes.content && (this.append(this.nodes.wrapper, this.nodes.content), this.append(document.body, this.nodes.wrapper), this.ensureTooltipAttributes());
2115
+ this.nodes.wrapper = this.make("div", this.CSS.tooltip), this.nodes.wrapper.setAttribute(m.interface, Yt), this.nodes.wrapper.setAttribute("data-blok-testid", "tooltip"), this.nodes.content = this.make("div", this.CSS.tooltipContent), this.nodes.content.setAttribute("data-blok-testid", "tooltip-content"), this.nodes.wrapper && this.nodes.content && (this.append(this.nodes.wrapper, this.nodes.content), this.append(document.body, this.nodes.wrapper), this.ensureTooltipAttributes());
2116
2116
  }
2117
2117
  /**
2118
2118
  * Update tooltip visibility based on shown state
@@ -2121,7 +2121,7 @@ const Zt = 10, is = "tooltip", rs = "aria-hidden", as = "false", ls = "true", cs
2121
2121
  if (!this.nodes.wrapper)
2122
2122
  return;
2123
2123
  const t = Array.isArray(this.CSS.tooltipShown) ? this.CSS.tooltipShown[0] : this.CSS.tooltipShown, e = this.nodes.wrapper.classList.contains(t);
2124
- this.nodes.wrapper.style.setProperty(cs, e ? ds : hs), this.nodes.wrapper.setAttribute(rs, e ? as : ls), this.nodes.wrapper.setAttribute("data-blok-shown", e ? "true" : "false");
2124
+ this.nodes.wrapper.style.setProperty(ds, e ? hs : us), this.nodes.wrapper.setAttribute(as, e ? ls : cs), this.nodes.wrapper.setAttribute("data-blok-shown", e ? "true" : "false");
2125
2125
  }
2126
2126
  /**
2127
2127
  * Watch tooltip visibility changes for accessibility
@@ -2139,7 +2139,7 @@ const Zt = 10, is = "tooltip", rs = "aria-hidden", as = "false", ls = "true", cs
2139
2139
  * Ensure tooltip has proper accessibility attributes
2140
2140
  */
2141
2141
  ensureTooltipAttributes() {
2142
- this.nodes.wrapper && ((!this.nodes.wrapper.hasAttribute(m.interface) || this.nodes.wrapper.getAttribute(m.interface) !== Xt) && this.nodes.wrapper.setAttribute(m.interface, Xt), this.nodes.wrapper.setAttribute("role", is), this.watchTooltipVisibility());
2142
+ this.nodes.wrapper && ((!this.nodes.wrapper.hasAttribute(m.interface) || this.nodes.wrapper.getAttribute(m.interface) !== Yt) && this.nodes.wrapper.setAttribute(m.interface, Yt), this.nodes.wrapper.setAttribute("role", rs), this.watchTooltipVisibility());
2143
2143
  }
2144
2144
  /**
2145
2145
  * Calculates element coords and moves tooltip bottom of the element
@@ -2231,17 +2231,17 @@ const Zt = 10, is = "tooltip", rs = "aria-hidden", as = "false", ls = "true", cs
2231
2231
  }
2232
2232
  };
2233
2233
  tt.instance = null;
2234
- let le = tt;
2235
- const Yt = () => le.getInstance(), us = (a, t, e) => {
2236
- Yt().show(a, t, e != null ? e : {});
2234
+ let ae = tt;
2235
+ const $t = () => ae.getInstance(), ps = (a, t, e) => {
2236
+ $t().show(a, t, e != null ? e : {});
2237
2237
  }, Tt = () => {
2238
- Yt().hide();
2239
- }, Kt = (a, t, e) => {
2240
- Yt().onHover(a, t, e != null ? e : {});
2241
- }, ps = () => {
2242
- Yt().destroy();
2238
+ $t().hide();
2239
+ }, Ut = (a, t, e) => {
2240
+ $t().onHover(a, t, e != null ? e : {});
2241
+ }, fs = () => {
2242
+ $t().destroy();
2243
2243
  };
2244
- class fs extends T {
2244
+ class gs extends T {
2245
2245
  /**
2246
2246
  * @class
2247
2247
  * @param moduleConfiguration - Module Configuration
@@ -2271,7 +2271,7 @@ class fs extends T {
2271
2271
  * @param {TooltipOptions} options - tooltip options
2272
2272
  */
2273
2273
  show(t, e, o) {
2274
- us(t, e, o);
2274
+ ps(t, e, o);
2275
2275
  }
2276
2276
  /**
2277
2277
  * Method hides tooltip on HTML page
@@ -2286,10 +2286,10 @@ class fs extends T {
2286
2286
  * @param {TooltipOptions} options - tooltip options
2287
2287
  */
2288
2288
  onHover(t, e, o) {
2289
- Kt(t, e, o);
2289
+ Ut(t, e, o);
2290
2290
  }
2291
2291
  }
2292
- class gs extends T {
2292
+ class ms extends T {
2293
2293
  /**
2294
2294
  * Available methods / getters
2295
2295
  */
@@ -2317,7 +2317,7 @@ class gs extends T {
2317
2317
  };
2318
2318
  }
2319
2319
  }
2320
- class ms extends T {
2320
+ class bs extends T {
2321
2321
  /**
2322
2322
  * Available methods for public API
2323
2323
  */
@@ -2450,7 +2450,7 @@ const it = class it {
2450
2450
  */
2451
2451
  (this.items.length + o - 1) % this.items.length
2452
2452
  );
2453
- return g.canSetCaret(this.items[n]) && _t(() => y.setCursor(this.items[n]), 50)(), this.items[n].classList.add(this.focusedCssClass), this.items[n].setAttribute("data-blok-focused", "true"), n;
2453
+ return g.canSetCaret(this.items[n]) && Ft(() => y.setCursor(this.items[n]), 50)(), this.items[n].classList.add(this.focusedCssClass), this.items[n].setAttribute("data-blok-focused", "true"), n;
2454
2454
  }
2455
2455
  };
2456
2456
  it.directions = {
@@ -2710,7 +2710,7 @@ const mt = {
2710
2710
  title: "",
2711
2711
  description: "opacity-60 mt-[3px]"
2712
2712
  };
2713
- class bs {
2713
+ class ks {
2714
2714
  /**
2715
2715
  * Constructs the hint content instance
2716
2716
  * @param params - hint content parameters
@@ -2729,7 +2729,7 @@ class bs {
2729
2729
  return this.nodes.root;
2730
2730
  }
2731
2731
  }
2732
- class Ie {
2732
+ class Se {
2733
2733
  /**
2734
2734
  * Constructs the instance
2735
2735
  * @param params - instance parameters
@@ -2777,8 +2777,8 @@ class Ie {
2777
2777
  * @param hintData - hint data
2778
2778
  */
2779
2779
  addHint(t, e) {
2780
- const o = new bs(e);
2781
- Kt(t, o.getElement(), {
2780
+ const o = new ks(e);
2781
+ Ut(t, o.getElement(), {
2782
2782
  placement: e.position
2783
2783
  });
2784
2784
  }
@@ -2829,6 +2829,14 @@ class Ie {
2829
2829
  var t;
2830
2830
  return this.params !== void 0 && "children" in this.params && ((t = this.params.children) == null ? void 0 : t.searchable) === !0;
2831
2831
  }
2832
+ /**
2833
+ * Returns the width for children popover, if specified
2834
+ */
2835
+ get childrenWidth() {
2836
+ var t;
2837
+ if (!(this.params === void 0 || !("children" in this.params)))
2838
+ return (t = this.params.children) == null ? void 0 : t.width;
2839
+ }
2832
2840
  /**
2833
2841
  * True if popover should close once item is activated
2834
2842
  */
@@ -2865,18 +2873,18 @@ const lt = {
2865
2873
  * Used alongside data-blok-focused attribute.
2866
2874
  */
2867
2875
  focused: "is-focused"
2868
- }, ks = {
2876
+ }, vs = {
2869
2877
  /**
2870
2878
  * Item in inline context - more compact styling
2871
2879
  */
2872
2880
  item: "rounded p-1"
2873
- }, vs = {
2881
+ }, Bs = {
2874
2882
  /**
2875
2883
  * Nested item - back to desktop popover styling
2876
2884
  */
2877
2885
  item: "rounded-md p-[3px] mobile:p-1"
2878
2886
  };
2879
- class G extends Ie {
2887
+ class G extends Se {
2880
2888
  /**
2881
2889
  * Constructs popover item instance
2882
2890
  * @param params - popover item construction params
@@ -3010,7 +3018,7 @@ class G extends Ie {
3010
3018
  }
3011
3019
  if (e.secondaryLabel) {
3012
3020
  const u = document.createElement("div");
3013
- u.className = "whitespace-nowrap pr-1.5 text-xs -tracking-widest text-text-secondary opacity-60", u.setAttribute(m.popoverItemSecondaryTitle, ""), u.setAttribute("data-blok-testid", "popover-item-secondary-title"), u.textContent = e.secondaryLabel, t.appendChild(u), this.nodes.secondaryLabelEl = u;
3021
+ u.className = "whitespace-nowrap pr-1.5 text-xs font-light tracking-[0.25px] text-text-secondary opacity-60", u.setAttribute(m.popoverItemSecondaryTitle, ""), u.setAttribute("data-blok-testid", "popover-item-secondary-title"), u.textContent = e.secondaryLabel, t.appendChild(u), this.nodes.secondaryLabelEl = u;
3014
3022
  }
3015
3023
  if (this.hasChildren && !this.isChevronHidden) {
3016
3024
  const u = document.createElement("div");
@@ -3030,10 +3038,10 @@ class G extends Ie {
3030
3038
  getContainerClass() {
3031
3039
  var o, n, s, i;
3032
3040
  const t = (n = (o = this.renderParams) == null ? void 0 : o.isInline) != null ? n : !1, e = (i = (s = this.renderParams) == null ? void 0 : s.isNestedInline) != null ? i : !1;
3033
- return I(
3041
+ return C(
3034
3042
  lt.item,
3035
- t && ks.item,
3036
- e && vs.item,
3043
+ t && vs.item,
3044
+ e && Bs.item,
3037
3045
  this.params.isDisabled && lt.itemDisabled
3038
3046
  );
3039
3047
  }
@@ -3041,7 +3049,7 @@ class G extends Ie {
3041
3049
  * Gets the icon class based on context
3042
3050
  */
3043
3051
  getIconClass(t, e, o, n) {
3044
- return I(
3052
+ return C(
3045
3053
  lt.icon,
3046
3054
  e && "w-auto h-auto [&_svg]:w-icon [&_svg]:h-icon mobile:[&_svg]:w-icon-mobile mobile:[&_svg]:h-icon-mobile",
3047
3055
  o && "w-toolbox-btn h-toolbox-btn",
@@ -3055,7 +3063,7 @@ class G extends Ie {
3055
3063
  * Gets the chevron class based on context
3056
3064
  */
3057
3065
  getChevronClass(t) {
3058
- return I(
3066
+ return C(
3059
3067
  lt.icon,
3060
3068
  t && "rotate-90"
3061
3069
  );
@@ -3239,7 +3247,7 @@ const ot = {
3239
3247
  nestedContainer: "py-1 px-[3px]",
3240
3248
  nestedLine: "w-full h-px"
3241
3249
  };
3242
- class yo extends Ie {
3250
+ class xo extends Se {
3243
3251
  /**
3244
3252
  * Constructs the instance
3245
3253
  * @param renderParams - optional render params for styling context
@@ -3269,13 +3277,13 @@ class yo extends Ie {
3269
3277
  */
3270
3278
  getContainerClass(t) {
3271
3279
  const e = ot.container;
3272
- return this.isNestedInline ? I(e, Mt.nestedContainer, t && ot.containerHidden) : this.isInline ? I(e, Mt.container, t && ot.containerHidden) : I(e, t && ot.containerHidden);
3280
+ return this.isNestedInline ? C(e, Mt.nestedContainer, t && ot.containerHidden) : this.isInline ? C(e, Mt.container, t && ot.containerHidden) : C(e, t && ot.containerHidden);
3273
3281
  }
3274
3282
  /**
3275
3283
  * Build line class based on context
3276
3284
  */
3277
3285
  getLineClass() {
3278
- return this.isNestedInline ? I(ot.line, Mt.nestedLine) : this.isInline ? I(ot.line, Mt.line) : ot.line;
3286
+ return this.isNestedInline ? C(ot.line, Mt.nestedLine) : this.isInline ? C(ot.line, Mt.line) : ot.line;
3279
3287
  }
3280
3288
  /**
3281
3289
  * Creates the root container element
@@ -3287,14 +3295,14 @@ class yo extends Ie {
3287
3295
  return e.className = this.getLineClass(), e.setAttribute(m.popoverItemSeparatorLine, ""), t.appendChild(e), this.nodes.line = e, t;
3288
3296
  }
3289
3297
  }
3290
- var V = /* @__PURE__ */ ((a) => (a.Closed = "closed", a.ClosedOnActivate = "closed-on-activate", a))(V || {});
3291
- const Gt = {
3298
+ var X = /* @__PURE__ */ ((a) => (a.Closed = "closed", a.ClosedOnActivate = "closed-on-activate", a))(X || {});
3299
+ const Zt = {
3292
3300
  root: "",
3293
3301
  rootHidden: "hidden"
3294
- }, qe = {
3302
+ }, Xe = {
3295
3303
  root: "flex items-center"
3296
3304
  };
3297
- class St extends Ie {
3305
+ class St extends Se {
3298
3306
  /**
3299
3307
  * Constructs the instance
3300
3308
  * @param params – instance parameters
@@ -3333,10 +3341,10 @@ class St extends Ie {
3333
3341
  * Updates the root element's class list based on current state
3334
3342
  */
3335
3343
  updateRootClasses() {
3336
- this.nodes.root && (this.nodes.root.className = I(
3337
- Gt.root,
3338
- this.isInline && qe.root,
3339
- this.isHidden && Gt.rootHidden
3344
+ this.nodes.root && (this.nodes.root.className = C(
3345
+ Zt.root,
3346
+ this.isInline && Xe.root,
3347
+ this.isHidden && Zt.rootHidden
3340
3348
  ));
3341
3349
  }
3342
3350
  /**
@@ -3347,9 +3355,9 @@ class St extends Ie {
3347
3355
  createRootElement(t, e) {
3348
3356
  var n, s, i;
3349
3357
  const o = document.createElement("div");
3350
- return o.className = I(
3351
- Gt.root,
3352
- this.isInline && qe.root
3358
+ return o.className = C(
3359
+ Zt.root,
3360
+ this.isInline && Xe.root
3353
3361
  ), o.setAttribute(m.popoverItemHtml, ""), o.setAttribute("data-blok-testid", "popover-item-html"), t.name && o.setAttribute("data-blok-item-name", t.name), o.appendChild(t.element), t.hint !== void 0 && ((n = e == null ? void 0 : e.hint) == null ? void 0 : n.enabled) !== !1 && this.addHint(o, R(w({}, t.hint), {
3354
3362
  position: ((s = e == null ? void 0 : e.hint) == null ? void 0 : s.position) || "right",
3355
3363
  alignment: ((i = e == null ? void 0 : e.hint) == null ? void 0 : i.alignment) || "center"
@@ -3372,9 +3380,9 @@ const L = {
3372
3380
  popover: "relative",
3373
3381
  // Container for inline popover
3374
3382
  popoverContainer: "flex-row top-0 min-w-max w-max p-1 mobile:absolute"
3375
- }, Bs = (a) => `level-${a}`;
3383
+ }, ws = (a) => `level-${a}`;
3376
3384
  var W = /* @__PURE__ */ ((a) => (a.NestingLevel = "--nesting-level", a.PopoverHeight = "--popover-height", a.InlinePopoverWidth = "--inline-popover-width", a.PopoverTop = "--popover-top", a.PopoverLeft = "--popover-left", a.TriggerItemLeft = "--trigger-item-left", a.TriggerItemTop = "--trigger-item-top", a))(W || {});
3377
- class xo extends It {
3385
+ class To extends Ct {
3378
3386
  /**
3379
3387
  * Constructs the instance
3380
3388
  * @param params - popover construction params
@@ -3382,7 +3390,7 @@ class xo extends It {
3382
3390
  * The parameters that are not set by user via popover api but rather depend on technical implementation
3383
3391
  */
3384
3392
  constructor(t, e = {}) {
3385
- super(), this.params = t, this.itemsRenderParams = e, this.listeners = new Ct(), this.messages = {
3393
+ super(), this.params = t, this.itemsRenderParams = e, this.listeners = new It(), this.messages = {
3386
3394
  nothingFound: "Nothing found",
3387
3395
  search: "Search"
3388
3396
  }, this.items = this.buildItems(t.items), t.messages && (this.messages = w(w({}, this.messages), t.messages)), this.nodes = this.createPopoverDOM(), this.appendItemElements(), this.nodes.popoverContainer && this.listeners.on(this.nodes.popoverContainer, "click", (o) => this.handleClick(o));
@@ -3416,7 +3424,7 @@ class xo extends It {
3416
3424
  * Closes popover
3417
3425
  */
3418
3426
  hide() {
3419
- this.nodes.popover.removeAttribute(m.popoverOpened), this.nodes.popover.removeAttribute(m.popoverOpenTop), this.nodes.popover.removeAttribute(m.popoverOpenLeft), this.nodes.popoverContainer.classList.remove(...L.popoverContainerOpened.split(" ")), this.itemsDefault.forEach((t) => t.reset()), this.search !== void 0 && this.search.clear(), this.emit(V.Closed);
3427
+ this.nodes.popover.removeAttribute(m.popoverOpened), this.nodes.popover.removeAttribute(m.popoverOpenTop), this.nodes.popover.removeAttribute(m.popoverOpenLeft), this.nodes.popoverContainer.classList.remove(...L.popoverContainerOpened.split(" ")), this.itemsDefault.forEach((t) => t.reset()), this.search !== void 0 && this.search.clear(), this.emit(X.Closed);
3420
3428
  }
3421
3429
  /**
3422
3430
  * Clears memory
@@ -3448,7 +3456,7 @@ class xo extends It {
3448
3456
  return t.map((e) => {
3449
3457
  switch (e.type) {
3450
3458
  case O.Separator:
3451
- return new yo(this.itemsRenderParams[O.Separator]);
3459
+ return new xo(this.itemsRenderParams[O.Separator]);
3452
3460
  case O.Html:
3453
3461
  return new St(e, this.itemsRenderParams[O.Html]);
3454
3462
  default:
@@ -3476,7 +3484,7 @@ class xo extends It {
3476
3484
  this.showNestedItems(t), this.callHandleClickIfPresent(t);
3477
3485
  return;
3478
3486
  }
3479
- this.itemsDefault.filter((e) => e !== t).forEach((e) => e.reset()), this.callHandleClickIfPresent(t), this.toggleItemActivenessIfNeeded(t), this.refreshItemActiveState(t), t.closeOnActivate === !0 && (this.hide(), this.emit(V.ClosedOnActivate));
3487
+ this.itemsDefault.filter((e) => e !== t).forEach((e) => e.reset()), this.callHandleClickIfPresent(t), this.toggleItemActivenessIfNeeded(t), this.refreshItemActiveState(t), t.closeOnActivate === !0 && (this.hide(), this.emit(X.ClosedOnActivate));
3480
3488
  }
3481
3489
  }
3482
3490
  /**
@@ -3554,16 +3562,16 @@ class xo extends It {
3554
3562
  * @returns PopoverNodes object with all required elements
3555
3563
  */
3556
3564
  createPopoverDOM() {
3557
- var s;
3565
+ var s, i;
3558
3566
  const t = document.createElement("div");
3559
- this.params.class && (t.className = this.params.class), t.setAttribute(m.popover, ""), this.params.class && t.setAttribute("data-blok-popover-custom-class", this.params.class), t.setAttribute("data-blok-testid", "popover"), t.style.setProperty("--width", "200px"), t.style.setProperty("--item-padding", "3px"), t.style.setProperty("--item-height", "calc(1.25rem + 2 * var(--item-padding))"), t.style.setProperty("--popover-top", "calc(100% + 0.5rem)"), t.style.setProperty("--popover-left", "0"), t.style.setProperty("--nested-popover-overlap", "0.25rem");
3567
+ this.params.class && (t.className = this.params.class), t.setAttribute(m.popover, ""), this.params.class && t.setAttribute("data-blok-popover-custom-class", this.params.class), t.setAttribute("data-blok-testid", "popover"), t.style.setProperty("--width", (s = this.params.width) != null ? s : "280px"), t.style.setProperty("--item-padding", "3px"), t.style.setProperty("--item-height", "calc(1.25rem + 2 * var(--item-padding))"), t.style.setProperty("--popover-top", "calc(100% + 0.5rem)"), t.style.setProperty("--popover-left", "0"), t.style.setProperty("--nested-popover-overlap", "0.25rem");
3560
3568
  const e = document.createElement("div");
3561
3569
  e.className = L.popoverContainer, e.setAttribute(m.popoverContainer, ""), e.setAttribute("data-blok-testid", "popover-container");
3562
3570
  const o = document.createElement("div");
3563
- o.className = I(
3571
+ o.className = C(
3564
3572
  "cursor-default text-sm leading-5 font-medium whitespace-nowrap overflow-hidden text-ellipsis text-gray-text p-[3px]",
3565
3573
  "hidden"
3566
- ), o.setAttribute("data-blok-testid", "popover-nothing-found"), o.textContent = (s = this.messages.nothingFound) != null ? s : "Nothing found";
3574
+ ), o.setAttribute("data-blok-testid", "popover-nothing-found"), o.textContent = (i = this.messages.nothingFound) != null ? i : "Nothing found";
3567
3575
  const n = document.createElement("div");
3568
3576
  return n.className = L.items, n.setAttribute(m.popoverItems, ""), n.setAttribute("data-blok-testid", "popover-items"), e.appendChild(o), e.appendChild(n), t.appendChild(e), {
3569
3577
  popover: t,
@@ -3583,18 +3591,18 @@ class xo extends It {
3583
3591
  });
3584
3592
  }
3585
3593
  }
3586
- const To = (a, t) => {
3594
+ const So = (a, t) => {
3587
3595
  var i, r, l, c, d;
3588
3596
  const e = t.toLowerCase(), o = (r = (i = a.title) == null ? void 0 : i.toLowerCase()) != null ? r : "", n = (c = (l = a.englishTitle) == null ? void 0 : l.toLowerCase()) != null ? c : "", s = (d = a.searchTerms) != null ? d : [];
3589
3597
  return o.includes(e) || n.includes(e) || s.some((h) => h.toLowerCase().includes(e));
3590
3598
  };
3591
3599
  var Ce = /* @__PURE__ */ ((a) => (a.Search = "search", a))(Ce || {});
3592
- const Jt = {
3600
+ const Gt = {
3593
3601
  wrapper: "bg-[#F8F8F8] border border-[rgba(226,226,229,0.20)] rounded p-0.5 grid grid-cols-[auto_auto_1fr] grid-rows-[auto]",
3594
3602
  icon: "w-toolbox-btn h-toolbox-btn flex items-center justify-center mr-2 [&_svg]:w-icon [&_svg]:h-icon [&_svg]:text-gray-text",
3595
3603
  input: "text-sm outline-none font-medium font-inherit border-0 bg-transparent m-0 p-0 leading-[22px] min-w-[calc(100%-theme('spacing.6')-10px)] placeholder:text-gray-text placeholder:font-medium"
3596
3604
  };
3597
- class ws extends It {
3605
+ class ys extends Ct {
3598
3606
  /**
3599
3607
  * @param options - available config
3600
3608
  * @param options.items - searchable items list
@@ -3603,11 +3611,11 @@ class ws extends It {
3603
3611
  constructor({ items: t, placeholder: e }) {
3604
3612
  super(), this.searchQuery = "", this.handleValueChange = () => {
3605
3613
  this.applySearch(this.input.value);
3606
- }, this.listeners = new Ct(), this.items = t, this.wrapper = g.make("div", Jt.wrapper), this.wrapper.setAttribute("data-blok-testid", "popover-search-field");
3607
- const o = g.make("div", Jt.icon, {
3608
- innerHTML: jo
3614
+ }, this.listeners = new It(), this.items = t, this.wrapper = g.make("div", Gt.wrapper), this.wrapper.setAttribute("data-blok-testid", "popover-search-field");
3615
+ const o = g.make("div", Gt.icon, {
3616
+ innerHTML: Vo
3609
3617
  });
3610
- this.input = g.make("input", Jt.input, {
3618
+ this.input = g.make("input", Gt.input, {
3611
3619
  type: "search",
3612
3620
  placeholder: e,
3613
3621
  /**
@@ -3687,10 +3695,10 @@ class ws extends It {
3687
3695
  * @param item - item to be checked
3688
3696
  */
3689
3697
  checkItem(t) {
3690
- return To(t, this.searchQuery);
3698
+ return So(t, this.searchQuery);
3691
3699
  }
3692
3700
  }
3693
- class ft extends xo {
3701
+ class ft extends To {
3694
3702
  /**
3695
3703
  * Construct the instance
3696
3704
  * @param params - popover params
@@ -3709,7 +3717,7 @@ class ft extends xo {
3709
3717
  var c;
3710
3718
  const s = n.query === "", i = n.items.length === 0, r = n.items;
3711
3719
  this.items.forEach((d) => {
3712
- const h = d instanceof G, u = d instanceof yo || d instanceof St, f = h ? !r.includes(d) : u && (i || !s);
3720
+ const h = d instanceof G, u = d instanceof xo || d instanceof St, f = h ? !r.includes(d) : u && (i || !s);
3713
3721
  d.toggleHidden(f);
3714
3722
  }), this.toggleNothingFoundMessage(i);
3715
3723
  const l = s ? this.flippableElements : n.items.map((d) => d.getElement());
@@ -3837,7 +3845,7 @@ class ft extends xo {
3837
3845
  if (this.nestedPopover === void 0 || this.nestedPopover === null)
3838
3846
  return;
3839
3847
  const t = (e = this.nestedPopoverTriggerItem) == null ? void 0 : e.getElement();
3840
- this.nestedPopover.off(V.ClosedOnActivate, this.hide), this.nestedPopover.hide(), this.nestedPopover.destroy(), this.nestedPopover.getElement().remove(), this.nestedPopover = null, (o = this.flipper) == null || o.activate(this.flippableElements), this.focusAfterNestedPopoverClose(t), (n = this.nestedPopoverTriggerItem) == null || n.onChildrenClose(), this.nestedPopoverTriggerItem = null;
3848
+ this.nestedPopover.off(X.ClosedOnActivate, this.hide), this.nestedPopover.hide(), this.nestedPopover.destroy(), this.nestedPopover.getElement().remove(), this.nestedPopover = null, (o = this.flipper) == null || o.activate(this.flippableElements), this.focusAfterNestedPopoverClose(t), (n = this.nestedPopoverTriggerItem) == null || n.onChildrenClose(), this.nestedPopoverTriggerItem = null;
3841
3849
  }
3842
3850
  /**
3843
3851
  * Focuses the appropriate item after nested popover closes.
@@ -3870,8 +3878,9 @@ class ft extends xo {
3870
3878
  nestingLevel: this.nestingLevel + 1,
3871
3879
  flippable: t.isChildrenFlippable,
3872
3880
  messages: this.messages,
3873
- onNavigateBack: this.destroyNestedPopoverIfExists.bind(this)
3874
- }), t.onChildrenOpen(), this.nestedPopover.on(V.ClosedOnActivate, this.hide);
3881
+ onNavigateBack: this.destroyNestedPopoverIfExists.bind(this),
3882
+ width: t.childrenWidth
3883
+ }), t.onChildrenOpen(), this.nestedPopover.on(X.ClosedOnActivate, this.hide);
3875
3884
  const e = this.nestedPopover.getMountElement(), o = this.nestedPopover.getElement();
3876
3885
  return this.nodes.popover.appendChild(e), this.setTriggerItemPosition(e, t), o.style.setProperty(W.NestingLevel, this.nestedPopover.nestingLevel.toString()), this.applyNestedPopoverPositioning(e), this.nestedPopover.show(), (n = this.flipper) == null || n.deactivate(), this.nestedPopover;
3877
3886
  }
@@ -3881,12 +3890,14 @@ class ft extends xo {
3881
3890
  * @param nestedPopoverEl - the nested popover element (mount element)
3882
3891
  */
3883
3892
  applyNestedPopoverPositioning(t) {
3884
- var i;
3893
+ var r;
3885
3894
  const e = t.querySelector(`[${m.popoverContainer}]`);
3886
3895
  if (!e)
3887
3896
  return;
3888
- const o = (i = t.querySelector(`[${m.popover}]`)) != null ? i : t, n = this.nodes.popover.hasAttribute(m.popoverOpenTop), s = this.nodes.popover.hasAttribute(m.popoverOpenLeft);
3889
- e.style.position = "absolute", s ? o.style.setProperty(W.PopoverLeft, "calc(-1 * (var(--nesting-level) + 1) * var(--width) + 100%)") : o.style.setProperty(W.PopoverLeft, "calc(var(--nesting-level) * (var(--width) - var(--nested-popover-overlap)))"), n ? e.style.top = "calc(var(--trigger-item-top) - var(--popover-height) + var(--item-height) + 0.5rem + var(--nested-popover-overlap))" : e.style.top = "calc(var(--trigger-item-top) - var(--nested-popover-overlap))";
3897
+ const o = (r = t.querySelector(`[${m.popover}]`)) != null ? r : t, n = this.nodes.popover.hasAttribute(m.popoverOpenTop), s = this.nodes.popover.hasAttribute(m.popoverOpenLeft);
3898
+ e.style.position = "absolute";
3899
+ const i = this.params.width === "auto" ? `${this.nodes.popoverContainer.offsetWidth}px` : "var(--width)";
3900
+ s ? o.style.setProperty(W.PopoverLeft, `calc(-1 * (var(--nesting-level) + 1) * ${i} + 100%)`) : o.style.setProperty(W.PopoverLeft, `calc(var(--nesting-level) * (${i} - var(--nested-popover-overlap)))`), n ? e.style.top = "calc(var(--trigger-item-top) - var(--popover-height) + var(--item-height) + 0.5rem + var(--nested-popover-overlap))" : e.style.top = "calc(var(--trigger-item-top) - var(--nested-popover-overlap))";
3890
3901
  }
3891
3902
  /**
3892
3903
  * Checks if popover should be opened bottom.
@@ -3954,7 +3965,7 @@ class ft extends xo {
3954
3965
  * Adds search to the popover
3955
3966
  */
3956
3967
  addSearch() {
3957
- this.search = new ws({
3968
+ this.search = new ys({
3958
3969
  items: this.itemsDefault,
3959
3970
  placeholder: this.messages.search
3960
3971
  }), this.search.on(Ce.Search, this.onSearch);
@@ -3967,15 +3978,15 @@ class ft extends xo {
3967
3978
  * @param query - search query text
3968
3979
  */
3969
3980
  filterItems(t) {
3970
- const e = this.itemsDefault.filter((o) => To(o, t));
3981
+ const e = this.itemsDefault.filter((o) => So(o, t));
3971
3982
  this.onSearch({
3972
3983
  query: t,
3973
3984
  items: e
3974
3985
  });
3975
3986
  }
3976
3987
  }
3977
- const ys = "38px", xs = "46px";
3978
- class Ze extends ft {
3988
+ const xs = "38px", Ts = "46px";
3989
+ class qe extends ft {
3979
3990
  /**
3980
3991
  * Constructs the instance
3981
3992
  * @param params - instance parameters
@@ -4030,14 +4041,14 @@ class Ze extends ft {
4030
4041
  }
4031
4042
  ), this.hide = () => {
4032
4043
  var s;
4033
- this.setOpenTop(!1), this.setOpenLeft(!1), this.itemsDefault.forEach((i) => i.reset()), this.search !== void 0 && this.search.clear(), this.destroyNestedPopoverIfExists(), (s = this.flipper) == null || s.deactivate(), this.nodes.popover.className = I(ut.popover), this.nodes.popoverContainer && (this.nodes.popoverContainer.className = I(
4044
+ this.setOpenTop(!1), this.setOpenLeft(!1), this.itemsDefault.forEach((i) => i.reset()), this.search !== void 0 && this.search.clear(), this.destroyNestedPopoverIfExists(), (s = this.flipper) == null || s.deactivate(), this.nodes.popover.className = C(ut.popover), this.nodes.popoverContainer && (this.nodes.popoverContainer.className = C(
4034
4045
  L.popoverContainer,
4035
4046
  ut.popoverContainer
4036
- ), this.nodes.popoverContainer.style.height = ""), this.emit(V.Closed);
4037
- }, this.nodes.popover.className = I(ut.popover), this.nodes.popoverContainer && (this.nodes.popoverContainer.className = I(
4047
+ ), this.nodes.popoverContainer.style.height = ""), this.emit(X.Closed);
4048
+ }, this.nodes.popover.className = C(ut.popover), this.nodes.popoverContainer && (this.nodes.popoverContainer.className = C(
4038
4049
  L.popoverContainer,
4039
4050
  ut.popoverContainer
4040
- )), this.nodes.items && (this.nodes.items.className = I(L.items, "flex")), this.nodes.popover.style.setProperty("--height", ys), this.nodes.popover.style.setProperty("--height-mobile", xs), this.nodes.popover.setAttribute(m.popoverInline, ""), (n = this.flipper) == null || n.setHandleContentEditableTargets(!0), this.items.forEach((s) => {
4051
+ )), this.nodes.items && (this.nodes.items.className = C(L.items, "flex")), this.nodes.popover.style.setProperty("--height", xs), this.nodes.popover.style.setProperty("--height-mobile", Ts), this.nodes.popover.setAttribute(m.popoverInline, ""), (n = this.flipper) == null || n.setHandleContentEditableTargets(!0), this.items.forEach((s) => {
4041
4052
  !(s instanceof G) && !(s instanceof St) || s.hasChildren && s.isChildrenOpen && this.showNestedItems(s);
4042
4053
  });
4043
4054
  }
@@ -4064,8 +4075,8 @@ class Ze extends ft {
4064
4075
  */
4065
4076
  show() {
4066
4077
  var e;
4067
- if (super.show(), this.nodes.popover.className = I(ut.popover, "inline-block"), this.nodes.popoverContainer) {
4068
- this.nodes.popoverContainer.className = I(
4078
+ if (super.show(), this.nodes.popover.className = C(ut.popover, "inline-block"), this.nodes.popoverContainer) {
4079
+ this.nodes.popoverContainer.className = C(
4069
4080
  L.popoverContainer,
4070
4081
  L.popoverContainerOpened,
4071
4082
  ut.popoverContainer,
@@ -4125,13 +4136,13 @@ class Ze extends ft {
4125
4136
  const e = super.showNestedPopoverForItem(t), o = e.getElement();
4126
4137
  (i = e.flipper) == null || i.setHandleContentEditableTargets(!0);
4127
4138
  const n = o.querySelector(`[${m.popoverContainer}]`);
4128
- n && (n.className = I(
4139
+ n && (n.className = C(
4129
4140
  n.className,
4130
4141
  "h-fit p-1.5 flex-col"
4131
4142
  ));
4132
4143
  const s = o.querySelector(`[${m.popoverItems}]`);
4133
- if (s && (s.className = I(s.className, "block w-full")), o.setAttribute(m.nestedLevel, Bs(e.nestingLevel)), e.nestingLevel === 1 && n) {
4134
- n.className = I(n.className, "left-0");
4144
+ if (s && (s.className = C(s.className, "block w-full")), o.setAttribute(m.nestedLevel, ws(e.nestingLevel)), e.nestingLevel === 1 && n) {
4145
+ n.className = C(n.className, "left-0");
4135
4146
  const r = ct() ? "calc(var(--height-mobile) + 3px)" : "calc(var(--height) + 3px)";
4136
4147
  n.style.top = r;
4137
4148
  }
@@ -4155,13 +4166,13 @@ const H = class H {
4155
4166
  * Locks body element scroll
4156
4167
  */
4157
4168
  lock() {
4158
- ne ? this.lockHard() : (document.body.classList.add(H.CSS.overflowHidden), document.body.setAttribute(H.DATA_ATTR.scrollLocked, "true"));
4169
+ oe ? this.lockHard() : (document.body.classList.add(H.CSS.overflowHidden), document.body.setAttribute(H.DATA_ATTR.scrollLocked, "true"));
4159
4170
  }
4160
4171
  /**
4161
4172
  * Unlocks body element scroll
4162
4173
  */
4163
4174
  unlock() {
4164
- ne ? this.unlockHard() : (document.body.classList.remove(H.CSS.overflowHidden), document.body.removeAttribute(H.DATA_ATTR.scrollLocked));
4175
+ oe ? this.unlockHard() : (document.body.classList.remove(H.CSS.overflowHidden), document.body.removeAttribute(H.DATA_ATTR.scrollLocked));
4165
4176
  }
4166
4177
  /**
4167
4178
  * Locks scroll in a hard way (via setting fixed position to body element)
@@ -4195,28 +4206,28 @@ H.CSS = {
4195
4206
  scrollLocked: "data-blok-scroll-locked",
4196
4207
  scrollLockedHard: "data-blok-scroll-locked-hard"
4197
4208
  };
4198
- let ce = H;
4199
- const Qt = {
4209
+ let le = H;
4210
+ const Jt = {
4200
4211
  root: "flex items-center mb-2 mt-1",
4201
4212
  text: "text-lg font-semibold text-text-primary",
4202
4213
  backButton: "border-0 bg-transparent w-9 h-9 text-text-primary cursor-pointer [&_svg]:block [&_svg]:w-7 [&_svg]:h-7"
4203
4214
  };
4204
- class Ts {
4215
+ class Ss {
4205
4216
  /**
4206
4217
  * Constructs the instance
4207
4218
  * @param params - popover header params
4208
4219
  */
4209
4220
  constructor({ text: t, onBackButtonClick: e }) {
4210
- this.listeners = new Ct(), this.text = t, this.onBackButtonClick = e, this.nodes = {
4211
- root: g.make("div", [Qt.root], {
4221
+ this.listeners = new It(), this.text = t, this.onBackButtonClick = e, this.nodes = {
4222
+ root: g.make("div", [Jt.root], {
4212
4223
  "data-blok-testid": "popover-header",
4213
4224
  [m.popoverHeader]: ""
4214
4225
  }),
4215
- backButton: g.make("button", [Qt.backButton], {
4226
+ backButton: g.make("button", [Jt.backButton], {
4216
4227
  "data-blok-testid": "popover-header-back-button",
4217
4228
  [m.popoverHeaderBackButton]: ""
4218
4229
  }),
4219
- text: g.make("div", [Qt.text], {
4230
+ text: g.make("div", [Jt.text], {
4220
4231
  "data-blok-testid": "popover-header-text",
4221
4232
  [m.popoverHeaderText]: ""
4222
4233
  })
@@ -4235,7 +4246,7 @@ class Ts {
4235
4246
  this.nodes.root.remove(), this.listeners.destroy();
4236
4247
  }
4237
4248
  }
4238
- class Ss {
4249
+ class Cs {
4239
4250
  constructor() {
4240
4251
  this.history = [];
4241
4252
  }
@@ -4272,7 +4283,7 @@ class Ss {
4272
4283
  this.pop();
4273
4284
  }
4274
4285
  }
4275
- class So extends xo {
4286
+ class Co extends To {
4276
4287
  /**
4277
4288
  * Construct the instance
4278
4289
  * @param params - popover params
@@ -4289,13 +4300,13 @@ class So extends xo {
4289
4300
  enabled: !1
4290
4301
  }
4291
4302
  }
4292
- }), this.scrollLocker = new ce(), this.history = new Ss(), this.isHidden = !0, this.nodes.overlay = g.make("div", [L.popoverOverlay], {
4303
+ }), this.scrollLocker = new le(), this.history = new Cs(), this.isHidden = !0, this.nodes.overlay = g.make("div", [L.popoverOverlay], {
4293
4304
  [m.popoverOverlay]: "",
4294
4305
  [m.overlayHidden]: "",
4295
4306
  "data-blok-testid": "popover-overlay"
4296
4307
  }), this.nodes.popover.insertBefore(this.nodes.overlay, this.nodes.popover.firstChild), this.listeners.on(this.nodes.overlay, "click", () => {
4297
4308
  this.hide();
4298
- }), this.history.push({ items: t.items }), this.nodes.popoverContainer.style.setProperty("--offset", "5px"), this.nodes.popoverContainer.className = I(
4309
+ }), this.history.push({ items: t.items }), this.nodes.popoverContainer.style.setProperty("--offset", "5px"), this.nodes.popoverContainer.className = C(
4299
4310
  L.popoverContainer,
4300
4311
  L.popoverContainerMobile
4301
4312
  );
@@ -4304,7 +4315,7 @@ class So extends xo {
4304
4315
  * Open popover
4305
4316
  */
4306
4317
  show() {
4307
- this.nodes.overlay.removeAttribute(m.overlayHidden), this.nodes.overlay.className = I(L.popoverOverlay, "fixed inset-0 block visible z-[3] opacity-50 transition-opacity duration-[120ms] ease-in will-change-[opacity]"), super.show(), this.nodes.popoverContainer.className = I(
4318
+ this.nodes.overlay.removeAttribute(m.overlayHidden), this.nodes.overlay.className = C(L.popoverOverlay, "fixed inset-0 block visible z-[3] opacity-50 transition-opacity duration-[120ms] ease-in will-change-[opacity]"), super.show(), this.nodes.popoverContainer.className = C(
4308
4319
  L.popoverContainer,
4309
4320
  L.popoverContainerMobile,
4310
4321
  L.popoverContainerOpened,
@@ -4315,7 +4326,7 @@ class So extends xo {
4315
4326
  * Closes popover
4316
4327
  */
4317
4328
  hide() {
4318
- this.isHidden || (super.hide(), this.nodes.overlay.setAttribute(m.overlayHidden, ""), this.nodes.overlay.className = L.popoverOverlay, this.nodes.popoverContainer.className = I(
4329
+ this.isHidden || (super.hide(), this.nodes.overlay.setAttribute(m.overlayHidden, ""), this.nodes.overlay.className = L.popoverOverlay, this.nodes.popoverContainer.className = C(
4319
4330
  L.popoverContainer,
4320
4331
  L.popoverContainerMobile
4321
4332
  ), this.scrollLocker.unlock(), this.history.reset(), this.isHidden = !0);
@@ -4345,7 +4356,7 @@ class So extends xo {
4345
4356
  var s, i;
4346
4357
  this.header !== null && this.header !== void 0 && (this.header.destroy(), this.header = null);
4347
4358
  const o = e !== void 0;
4348
- o && (this.header = new Ts({
4359
+ o && (this.header = new Ss({
4349
4360
  text: e,
4350
4361
  onBackButtonClick: () => {
4351
4362
  this.history.pop(), this.updateItemsAndHeader(this.history.currentItems, this.history.currentTitle);
@@ -4375,7 +4386,7 @@ class Is extends T {
4375
4386
  v.LEFT
4376
4387
  ]
4377
4388
  }), this.flipperKeydownHandler = null, this.flipperKeydownSource = null, this.close = () => {
4378
- this.opened && (this.opened = !1, y.isAtBlok || this.selection.restore(), this.selection.clearSaved(), this.detachFlipperKeydownListener(), this.clearBlockSelectionOnClose(), this.eventsDispatcher.emit(this.events.closed), this.popover && (this.popover.off(V.Closed, this.onPopoverClose), this.popover.destroy(), this.popover.getElement().remove(), this.popover = null));
4389
+ this.opened && (this.opened = !1, y.isAtBlok || this.selection.restore(), this.selection.clearSaved(), this.detachFlipperKeydownListener(), this.clearBlockSelectionOnClose(), this.eventsDispatcher.emit(this.events.closed), this.popover && (this.popover.off(X.Closed, this.onPopoverClose), this.popover.destroy(), this.popover.getElement().remove(), this.popover = null));
4379
4390
  }, this.onPopoverClose = () => {
4380
4391
  this.close();
4381
4392
  };
@@ -4385,8 +4396,8 @@ class Is extends T {
4385
4396
  */
4386
4397
  get events() {
4387
4398
  return {
4388
- opened: re,
4389
- closed: ae
4399
+ opened: ie,
4400
+ closed: re
4390
4401
  };
4391
4402
  }
4392
4403
  /**
@@ -4429,17 +4440,18 @@ class Is extends T {
4429
4440
  if (s === void 0)
4430
4441
  return;
4431
4442
  this.selection.save(), n || (this.Blok.BlockSelection.selectBlock(s), this.Blok.BlockSelection.clearCache());
4432
- const { toolTunes: i, commonTunes: r } = s.getTunes(), l = ct() ? So : ft, c = {
4433
- searchable: !0,
4443
+ const { toolTunes: i, commonTunes: r } = s.getTunes(), l = ct() ? Co : ft, c = {
4444
+ searchable: !1,
4434
4445
  trigger: e || this.nodes.wrapper,
4435
4446
  items: await this.getTunesItems(s, r, i),
4436
4447
  scopeElement: this.Blok.API.methods.ui.nodes.redactor,
4448
+ width: "auto",
4437
4449
  messages: {
4438
4450
  nothingFound: this.Blok.I18n.t("popover.nothingFound"),
4439
4451
  search: this.Blok.I18n.t("popover.search")
4440
4452
  }
4441
4453
  };
4442
- l === ft && (c.flipper = this.flipperInstance), this.popover = new l(c), this.popover.getElement().setAttribute("data-blok-testid", "block-tunes-popover"), this.popover.on(V.Closed, this.onPopoverClose), this.opened = !0, this.eventsDispatcher.emit(this.events.opened), this.popover.show(), this.attachFlipperKeydownListener(s);
4454
+ l === ft && (c.flipper = this.flipperInstance), this.popover = new l(c), this.popover.getElement().setAttribute("data-blok-testid", "block-tunes-popover"), this.popover.on(X.Closed, this.onPopoverClose), this.opened = !0, this.eventsDispatcher.emit(this.events.opened), this.popover.show(), this.attachFlipperKeydownListener(s);
4443
4455
  }
4444
4456
  /**
4445
4457
  * Returns root block settings element
@@ -4467,14 +4479,14 @@ class Is extends T {
4467
4479
  !i && o !== void 0 && o.length > 0 && (n.push(...o), n.push({
4468
4480
  type: O.Separator
4469
4481
  }));
4470
- const r = Array.from(this.Blok.Tools.blockTools.values()), c = (i ? await Vo(
4482
+ const r = Array.from(this.Blok.Tools.blockTools.values()), c = (i ? await qo(
4471
4483
  s.map((d) => new q(d)),
4472
4484
  r
4473
- ) : await qo(t, r)).reduce((d, h) => (h.toolbox === void 0 || h.toolbox.forEach((u) => {
4485
+ ) : await Zo(t, r)).reduce((d, h) => (h.toolbox === void 0 || h.toolbox.forEach((u) => {
4474
4486
  var f;
4475
4487
  d.push({
4476
4488
  icon: u.icon,
4477
- title: bo(this.Blok.I18n, u, h.name),
4489
+ title: ko(this.Blok.I18n, u, h.name),
4478
4490
  name: (f = u.name) != null ? f : h.name,
4479
4491
  closeOnActivate: !0,
4480
4492
  onActivate: async () => {
@@ -4490,7 +4502,7 @@ class Is extends T {
4490
4502
  });
4491
4503
  }), d), []);
4492
4504
  return c.length > 0 && (n.push({
4493
- icon: Zo,
4505
+ icon: Go,
4494
4506
  name: "convert-to",
4495
4507
  title: this.Blok.I18n.t("popover.convertTo"),
4496
4508
  children: {
@@ -4499,7 +4511,7 @@ class Is extends T {
4499
4511
  }), n.push({
4500
4512
  type: O.Separator
4501
4513
  })), i ? n.push({
4502
- icon: ko,
4514
+ icon: vo,
4503
4515
  title: this.Blok.I18n.t("blockSettings.delete"),
4504
4516
  name: "delete",
4505
4517
  closeOnActivate: !0,
@@ -4703,11 +4715,11 @@ line2` };
4703
4715
  this.flipperKeydownSource !== null && this.flipperKeydownHandler !== null && this.flipperKeydownSource.removeEventListener("keydown", this.flipperKeydownHandler, !0), this.flipperInstance.setHandleContentEditableTargets(!1), this.flipperKeydownSource = null, this.flipperKeydownHandler = null;
4704
4716
  }
4705
4717
  }
4706
- const Ge = {
4718
+ const Ze = {
4707
4719
  SHIFT: ["SHIFT"],
4708
4720
  CMD: ["CMD", "CONTROL", "COMMAND", "WINDOWS", "CTRL"],
4709
4721
  ALT: ["ALT", "OPTION"]
4710
- }, Cs = {
4722
+ }, Es = {
4711
4723
  0: "Digit0",
4712
4724
  1: "Digit1",
4713
4725
  2: "Digit2",
@@ -4754,10 +4766,10 @@ const Ge = {
4754
4766
  INSERT: "Insert",
4755
4767
  DELETE: "Delete",
4756
4768
  ".": "Period"
4757
- }, Es = (a) => Object.keys(Ge).find(
4758
- (e) => Ge[e].includes(a)
4769
+ }, As = (a) => Object.keys(Ze).find(
4770
+ (e) => Ze[e].includes(a)
4759
4771
  );
4760
- class As {
4772
+ class Ms {
4761
4773
  /**
4762
4774
  * Creates a new Shortcut instance
4763
4775
  * @param options - Configuration options
@@ -4784,7 +4796,7 @@ class As {
4784
4796
  parseShortcutName(t) {
4785
4797
  const e = t.split("+");
4786
4798
  for (const o of e) {
4787
- const n = o.toUpperCase(), s = Es(n);
4799
+ const n = o.toUpperCase(), s = As(n);
4788
4800
  s !== void 0 ? this.commands[s] = !0 : this.keys[n] = !0;
4789
4801
  }
4790
4802
  }
@@ -4810,7 +4822,7 @@ class As {
4810
4822
  */
4811
4823
  checkKeys(t) {
4812
4824
  return Object.keys(this.keys).every((o) => {
4813
- const n = Cs[o];
4825
+ const n = Es[o];
4814
4826
  return t.code === n;
4815
4827
  });
4816
4828
  }
@@ -4823,7 +4835,7 @@ class As {
4823
4835
  e && o && this.callback(t);
4824
4836
  }
4825
4837
  }
4826
- class Ms {
4838
+ class Ds {
4827
4839
  constructor() {
4828
4840
  this.registeredShortcuts = /* @__PURE__ */ new Map();
4829
4841
  }
@@ -4836,7 +4848,7 @@ class Ms {
4836
4848
  throw Error(
4837
4849
  `Shortcut ${t.name} is already registered for ${t.on}. Please remove it before add a new handler.`
4838
4850
  );
4839
- const o = new As({
4851
+ const o = new Ms({
4840
4852
  name: t.name,
4841
4853
  on: t.on,
4842
4854
  callback: t.handler
@@ -4873,9 +4885,9 @@ class Ms {
4873
4885
  return (this.registeredShortcuts.get(t) || []).find(({ name: n }) => n === e);
4874
4886
  }
4875
4887
  }
4876
- const z = new Ms();
4877
- var Rt = /* @__PURE__ */ ((a) => (a.Opened = "toolbox-opened", a.Closed = "toolbox-closed", a.BlockAdded = "toolbox-block-added", a))(Rt || {});
4878
- class Ds extends It {
4888
+ const z = new Ds();
4889
+ var Nt = /* @__PURE__ */ ((a) => (a.Opened = "toolbox-opened", a.Closed = "toolbox-closed", a.BlockAdded = "toolbox-block-added", a))(Nt || {});
4890
+ class Ls extends Ct {
4879
4891
  /**
4880
4892
  * Toolbox constructor
4881
4893
  * @param options - available parameters
@@ -4885,7 +4897,7 @@ class Ds extends It {
4885
4897
  * @param options.triggerElement - Element relative to which the popover should be positioned
4886
4898
  */
4887
4899
  constructor({ api: t, tools: e, i18nLabels: o, i18n: n, triggerElement: s }) {
4888
- super(), this.opened = !1, this.listeners = new Ct(), this.popover = null, this.currentBlockForSearch = null, this.handleMobileLayoutToggle = () => {
4900
+ super(), this.opened = !1, this.listeners = new It(), this.popover = null, this.currentBlockForSearch = null, this.currentContentEditable = null, this.handleMobileLayoutToggle = () => {
4889
4901
  this.destroyPopover(), this.initPopover();
4890
4902
  }, this.onPopoverClose = () => {
4891
4903
  this.stopListeningToBlockInput(), this.opened = !1, this.emit(
@@ -4893,16 +4905,16 @@ class Ds extends It {
4893
4905
  /* Closed */
4894
4906
  );
4895
4907
  }, this.handleBlockInput = () => {
4896
- var d;
4897
- if (this.currentBlockForSearch === null)
4908
+ var c;
4909
+ if (this.currentContentEditable === null)
4898
4910
  return;
4899
- const i = this.currentBlockForSearch.querySelector('[contenteditable="true"]'), r = (i == null ? void 0 : i.textContent) || "", l = r.lastIndexOf("/");
4900
- if (l === -1) {
4911
+ const i = this.currentContentEditable.textContent || "", r = i.lastIndexOf("/");
4912
+ if (r === -1) {
4901
4913
  this.close();
4902
4914
  return;
4903
4915
  }
4904
- const c = r.slice(l + 1);
4905
- (d = this.popover) == null || d.filterItems(c);
4916
+ const l = i.slice(r + 1);
4917
+ (c = this.popover) == null || c.filterItems(l);
4906
4918
  }, this.api = t, this.tools = e, this.i18nLabels = o, this.i18n = n, this.triggerElement = s, this.enableShortcuts(), this.nodes = {
4907
4919
  toolbox: g.make("div")
4908
4920
  }, this.nodes.toolbox.setAttribute("data-blok-testid", "toolbox"), this.initPopover(), this.api.events.on(yt, this.handleMobileLayoutToggle);
@@ -4949,7 +4961,7 @@ class Ds extends It {
4949
4961
  */
4950
4962
  destroy() {
4951
4963
  var t;
4952
- super.destroy(), this.nodes && this.nodes.toolbox && this.nodes.toolbox.remove(), this.removeAllShortcuts(), (t = this.popover) == null || t.off(V.Closed, this.onPopoverClose), this.listeners.destroy(), this.api.events.off(yt, this.handleMobileLayoutToggle);
4964
+ super.destroy(), this.nodes && this.nodes.toolbox && this.nodes.toolbox.remove(), this.removeAllShortcuts(), (t = this.popover) == null || t.off(X.Closed, this.onPopoverClose), this.listeners.destroy(), this.api.events.off(yt, this.handleMobileLayoutToggle);
4953
4965
  }
4954
4966
  /**
4955
4967
  * Toolbox Tool's button click handler
@@ -4992,7 +5004,7 @@ class Ds extends It {
4992
5004
  * Creates toolbox popover and appends it inside wrapper element
4993
5005
  */
4994
5006
  initPopover() {
4995
- const t = ct() ? So : ft;
5007
+ const t = ct() ? Co : ft;
4996
5008
  this.popover = new t({
4997
5009
  scopeElement: this.api.ui.nodes.redactor,
4998
5010
  trigger: this.triggerElement || this.nodes.toolbox,
@@ -5002,13 +5014,13 @@ class Ds extends It {
5002
5014
  },
5003
5015
  items: this.toolboxItemsToBeDisplayed,
5004
5016
  handleContentEditableNavigation: !0
5005
- }), this.popover.on(V.Closed, this.onPopoverClose), this.popover.getElement().setAttribute("data-blok-testid", "toolbox-popover");
5017
+ }), this.popover.on(X.Closed, this.onPopoverClose), this.popover.getElement().setAttribute("data-blok-testid", "toolbox-popover");
5006
5018
  }
5007
5019
  /**
5008
5020
  * Destroys popover instance and removes it from DOM
5009
5021
  */
5010
5022
  destroyPopover() {
5011
- this.popover !== null && (this.popover.hide(), this.popover.off(V.Closed, this.onPopoverClose), this.popover.destroy(), this.popover = null), this.nodes.toolbox !== null && (this.nodes.toolbox.innerHTML = "");
5023
+ this.popover !== null && (this.popover.hide(), this.popover.off(X.Closed, this.onPopoverClose), this.popover.destroy(), this.popover = null), this.nodes.toolbox !== null && (this.nodes.toolbox.innerHTML = "");
5012
5024
  }
5013
5025
  /**
5014
5026
  * Returns list of tools that enables the Toolbox (by specifying the 'toolbox' getter)
@@ -5028,16 +5040,16 @@ class Ds extends It {
5028
5040
  if (this._toolboxItemsToBeDisplayed)
5029
5041
  return this._toolboxItemsToBeDisplayed;
5030
5042
  const t = (o, n, s = !0) => {
5031
- var u, f, p;
5032
- const i = o.titleKey, r = i ? `toolNames.${i}` : void 0, l = r ? this.api.i18n.getEnglishTranslation(r) : o.title, c = (u = o.searchTerms) != null ? u : [], d = (f = n.searchTerms) != null ? f : [], h = [.../* @__PURE__ */ new Set([...c, ...d])];
5043
+ var f, p, b, k;
5044
+ const i = o.titleKey, r = i ? `toolNames.${i}` : void 0, l = r ? this.api.i18n.getEnglishTranslation(r) : o.title, c = (f = o.searchTerms) != null ? f : [], d = (p = n.searchTerms) != null ? p : [], h = [.../* @__PURE__ */ new Set([...c, ...d])], u = (b = o.shortcut) != null ? b : s ? n.shortcut : void 0;
5033
5045
  return {
5034
5046
  icon: o.icon,
5035
- title: bo(this.i18n, o, Ft(n.name)),
5036
- name: (p = o.name) != null ? p : n.name,
5047
+ title: ko(this.i18n, o, Ht(n.name)),
5048
+ name: (k = o.name) != null ? k : n.name,
5037
5049
  onActivate: () => {
5038
5050
  this.toolButtonActivated(n.name, o.data);
5039
5051
  },
5040
- secondaryLabel: n.shortcut && s ? vo(n.shortcut) : "",
5052
+ secondaryLabel: u ? Bo(u) : "",
5041
5053
  englishTitle: l,
5042
5054
  searchTerms: h
5043
5055
  };
@@ -5119,14 +5131,14 @@ class Ds extends It {
5119
5131
  */
5120
5132
  startListeningToBlockInput() {
5121
5133
  const t = this.api.blocks.getCurrentBlockIndex(), e = this.api.blocks.getBlockByIndex(t);
5122
- e && (this.currentBlockForSearch = e.holder, this.listeners.on(this.currentBlockForSearch, "input", this.handleBlockInput));
5134
+ e && (this.currentBlockForSearch = e.holder, this.currentContentEditable = this.currentBlockForSearch.querySelector('[contenteditable="true"]'), this.listeners.on(this.currentBlockForSearch, "input", this.handleBlockInput));
5123
5135
  }
5124
5136
  /**
5125
5137
  * Stops listening to block input events and resets the filter.
5126
5138
  */
5127
5139
  stopListeningToBlockInput() {
5128
5140
  var t;
5129
- this.currentBlockForSearch !== null && (this.listeners.off(this.currentBlockForSearch, "input", this.handleBlockInput), this.currentBlockForSearch = null), (t = this.popover) == null || t.filterItems("");
5141
+ this.currentBlockForSearch !== null && (this.listeners.off(this.currentBlockForSearch, "input", this.handleBlockInput), this.currentBlockForSearch = null, this.currentContentEditable = null), (t = this.popover) == null || t.filterItems("");
5130
5142
  }
5131
5143
  /**
5132
5144
  * Checks if a block contains only slash search text (e.g., "/head").
@@ -5140,8 +5152,8 @@ class Ds extends It {
5140
5152
  return (((n = e == null ? void 0 : e.textContent) == null ? void 0 : n.trim()) || "").startsWith("/");
5141
5153
  }
5142
5154
  }
5143
- const de = "block hovered", Dt = 10;
5144
- class Ls extends T {
5155
+ const ce = "block hovered", Ge = 10;
5156
+ class Os extends T {
5145
5157
  /**
5146
5158
  * @class
5147
5159
  * @param moduleConfiguration - Module Configuration
@@ -5152,7 +5164,7 @@ class Ls extends T {
5152
5164
  super({
5153
5165
  config: t,
5154
5166
  eventsDispatcher: e
5155
- }), this.hoveredBlock = null, this.hoveredTarget = null, this.toolboxInstance = null, this.settingsTogglerMouseDownPosition = null, this.plusButtonMouseDownPosition = null, this.lastToolbarY = null, this.ignoreNextSettingsMouseUp = !1, this.onBlockSettingsOpen = () => {
5167
+ }), this.hoveredBlock = null, this.hoveredTarget = null, this.toolboxInstance = null, this.lastToolbarY = null, this.ignoreNextSettingsMouseUp = !1, this.pendingMouseUpListeners = /* @__PURE__ */ new Set(), this.onBlockSettingsOpen = () => {
5156
5168
  this.Blok.UI.nodes.wrapper.setAttribute(m.blockSettingsOpened, "true");
5157
5169
  }, this.onBlockSettingsClose = () => {
5158
5170
  this.Blok.UI.nodes.wrapper.removeAttribute(m.blockSettingsOpened);
@@ -5231,8 +5243,7 @@ class Ls extends T {
5231
5243
  // Not-mobile styles
5232
5244
  "not-mobile:w-6"
5233
5245
  ),
5234
- settingsTogglerHidden: "hidden",
5235
- settingsTogglerOpened: ""
5246
+ settingsTogglerHidden: "hidden"
5236
5247
  };
5237
5248
  }
5238
5249
  /**
@@ -5264,14 +5275,14 @@ class Ls extends T {
5264
5275
  },
5265
5276
  open: () => {
5266
5277
  if (this.toolboxInstance === null) {
5267
- C("toolbox.open() called before initialization is finished", "warn");
5278
+ I("toolbox.open() called before initialization is finished", "warn");
5268
5279
  return;
5269
5280
  }
5270
5281
  this.hoveredBlock && (this.Blok.BlockManager.currentBlock = this.hoveredBlock), this.toolboxInstance.open();
5271
5282
  },
5272
5283
  toggle: () => {
5273
5284
  if (this.toolboxInstance === null) {
5274
- C("toolbox.toggle() called before initialization is finished", "warn");
5285
+ I("toolbox.toggle() called before initialization is finished", "warn");
5275
5286
  return;
5276
5287
  }
5277
5288
  this.toolboxInstance.toggle();
@@ -5330,7 +5341,7 @@ class Ls extends T {
5330
5341
  */
5331
5342
  moveAndOpen(t, e) {
5332
5343
  if (this.toolboxInstance === null) {
5333
- C("Can't open Toolbar since Blok initialization is not finished yet", "warn");
5344
+ I("Can't open Toolbar since Blok initialization is not finished yet", "warn");
5334
5345
  return;
5335
5346
  }
5336
5347
  this.toolboxInstance.opened && this.toolboxInstance.close(), this.Blok.BlockSettings.opened && this.Blok.BlockSettings.close();
@@ -5356,7 +5367,7 @@ class Ls extends T {
5356
5367
  if (e.length < 2)
5357
5368
  return;
5358
5369
  if (this.toolboxInstance === null) {
5359
- C("Can't open Toolbar since Blok initialization is not finished yet", "warn");
5370
+ I("Can't open Toolbar since Blok initialization is not finished yet", "warn");
5360
5371
  return;
5361
5372
  }
5362
5373
  this.toolboxInstance.opened && this.toolboxInstance.close(), this.Blok.BlockSettings.opened && this.Blok.BlockSettings.close();
@@ -5424,30 +5435,22 @@ class Ls extends T {
5424
5435
  ]);
5425
5436
  this.nodes.content = e, this.nodes.actions = o, o.setAttribute("data-blok-testid", "toolbar-actions"), g.append(t, e), g.append(e, o);
5426
5437
  const n = g.make("div", this.CSS.plusButton, {
5427
- innerHTML: Go
5438
+ innerHTML: Jo
5428
5439
  });
5429
5440
  n.setAttribute("data-blok-testid", "plus-button"), this.nodes.plusButton = n, g.append(o, n), this.readOnlyMutableListeners.on(n, "mousedown", (h) => {
5430
- Tt();
5431
- const u = h;
5432
- this.plusButtonMouseDownPosition = {
5433
- x: u.clientX,
5434
- y: u.clientY
5435
- };
5436
- const f = (p) => {
5437
- document.removeEventListener("mouseup", f, !0);
5438
- const b = this.plusButtonMouseDownPosition;
5439
- if (this.plusButtonMouseDownPosition = null, b === null || Math.abs(p.clientX - b.x) > Dt || Math.abs(p.clientY - b.y) > Dt)
5440
- return;
5441
- const x = ze().win ? p.ctrlKey : p.altKey;
5442
- this.plusButtonClicked(x);
5443
- };
5444
- document.addEventListener("mouseup", f, !0);
5441
+ Tt(), this.setupClickVsDrag(
5442
+ h,
5443
+ (u) => {
5444
+ const p = _e().win ? u.ctrlKey : u.altKey;
5445
+ this.plusButtonClicked(p);
5446
+ }
5447
+ );
5445
5448
  }, !0);
5446
- const i = ze().win ? this.Blok.I18n.t("toolbox.ctrlAddAbove") : this.Blok.I18n.t("toolbox.optionAddAbove"), r = this.createTooltipContent([
5449
+ const i = _e().win ? this.Blok.I18n.t("toolbox.ctrlAddAbove") : this.Blok.I18n.t("toolbox.optionAddAbove"), r = this.createTooltipContent([
5447
5450
  this.Blok.I18n.t("toolbox.addBelow"),
5448
5451
  i
5449
5452
  ]);
5450
- Kt(n, r, {
5453
+ Ut(n, r, {
5451
5454
  delay: 500
5452
5455
  });
5453
5456
  const l = g.make("span", [
@@ -5455,7 +5458,7 @@ class Ls extends T {
5455
5458
  this.CSS.settingsToggler,
5456
5459
  "group-data-[blok-dragging=true]:cursor-grabbing"
5457
5460
  ], {
5458
- innerHTML: Jo
5461
+ innerHTML: Qo
5459
5462
  });
5460
5463
  l.setAttribute(m.settingsToggler, ""), l.setAttribute(m.dragHandle, ""), l.setAttribute("data-blok-testid", "settings-toggler"), l.setAttribute("role", "button"), l.setAttribute("tabindex", "-1"), l.setAttribute(
5461
5464
  "aria-label",
@@ -5468,7 +5471,7 @@ class Ls extends T {
5468
5471
  this.Blok.I18n.t("blockSettings.dragToMove"),
5469
5472
  this.Blok.I18n.t("blockSettings.clickToOpenMenu")
5470
5473
  ]);
5471
- Kt(l, c, {
5474
+ Ut(l, c, {
5472
5475
  delay: 500
5473
5476
  }), g.append(o, this.makeToolbox());
5474
5477
  const d = this.Blok.BlockSettings.getElement();
@@ -5480,7 +5483,7 @@ class Ls extends T {
5480
5483
  * Creates the Toolbox instance and return it's rendered element
5481
5484
  */
5482
5485
  makeToolbox() {
5483
- this.toolboxInstance = new Ds({
5486
+ this.toolboxInstance = new Ls({
5484
5487
  api: this.Blok.API.methods,
5485
5488
  tools: this.Blok.Tools.blockTools,
5486
5489
  i18nLabels: {
@@ -5489,11 +5492,11 @@ class Ls extends T {
5489
5492
  },
5490
5493
  i18n: this.Blok.I18n,
5491
5494
  triggerElement: this.nodes.plusButton
5492
- }), this.toolboxInstance.on(Rt.Opened, () => {
5495
+ }), this.toolboxInstance.on(Nt.Opened, () => {
5493
5496
  this.Blok.UI.nodes.wrapper.classList.add(this.CSS.openedToolboxHolderModifier), this.Blok.UI.nodes.wrapper.setAttribute(m.toolboxOpened, "true");
5494
- }), this.toolboxInstance.on(Rt.Closed, () => {
5497
+ }), this.toolboxInstance.on(Nt.Closed, () => {
5495
5498
  this.Blok.UI.nodes.wrapper.classList.remove(this.CSS.openedToolboxHolderModifier), this.Blok.UI.nodes.wrapper.removeAttribute(m.toolboxOpened);
5496
- }), this.toolboxInstance.on(Rt.BlockAdded, ({ block: e }) => {
5499
+ }), this.toolboxInstance.on(Nt.BlockAdded, ({ block: e }) => {
5497
5500
  const { BlockManager: o, Caret: n } = this.Blok, s = o.getBlockById(e.id);
5498
5501
  if (!s || s.inputs.length !== 0)
5499
5502
  return;
@@ -5530,23 +5533,20 @@ class Ls extends T {
5530
5533
  enableModuleBindings() {
5531
5534
  const t = this.nodes.settingsToggler;
5532
5535
  t && this.readOnlyMutableListeners.on(t, "mousedown", (e) => {
5533
- Tt();
5534
- const o = e;
5535
- this.settingsTogglerMouseDownPosition = {
5536
- x: o.clientX,
5537
- y: o.clientY
5538
- };
5539
- const n = (s) => {
5540
- var l;
5541
- if (document.removeEventListener("mouseup", n, !0), this.ignoreNextSettingsMouseUp) {
5542
- this.ignoreNextSettingsMouseUp = !1, this.settingsTogglerMouseDownPosition = null;
5543
- return;
5536
+ Tt(), this.setupClickVsDrag(
5537
+ e,
5538
+ () => {
5539
+ var o;
5540
+ this.settingsTogglerClicked(), (o = this.toolboxInstance) != null && o.opened && this.toolboxInstance.close();
5541
+ },
5542
+ {
5543
+ /**
5544
+ * Check if we should ignore this mouseup (e.g., after a block drop)
5545
+ */
5546
+ beforeCallback: () => this.ignoreNextSettingsMouseUp ? (this.ignoreNextSettingsMouseUp = !1, !1) : !0
5544
5547
  }
5545
- const i = this.settingsTogglerMouseDownPosition;
5546
- this.settingsTogglerMouseDownPosition = null, !(i === null || Math.abs(s.clientX - i.x) > Dt || Math.abs(s.clientY - i.y) > Dt) && (this.settingsTogglerClicked(), (l = this.toolboxInstance) != null && l.opened && this.toolboxInstance.close());
5547
- };
5548
- document.addEventListener("mouseup", n, !0);
5549
- }, !0), ct() || this.eventsDispatcher.on(de, (e) => {
5548
+ );
5549
+ }, !0), ct() || this.eventsDispatcher.on(ce, (e) => {
5550
5550
  var l;
5551
5551
  if (this.Blok.DragManager.isDragging || this.Blok.RectangleSelection.isRectActivated())
5552
5552
  return;
@@ -5559,13 +5559,13 @@ class Ls extends T {
5559
5559
  return;
5560
5560
  }
5561
5561
  i || this.moveAndOpen(o, n);
5562
- }), this.eventsDispatcher.on(re, this.onBlockSettingsOpen), this.eventsDispatcher.on(ae, this.onBlockSettingsClose), this.eventsDispatcher.on(wt, this.onBlockChanged);
5562
+ }), this.eventsDispatcher.on(ie, this.onBlockSettingsOpen), this.eventsDispatcher.on(re, this.onBlockSettingsClose), this.eventsDispatcher.on(wt, this.onBlockChanged);
5563
5563
  }
5564
5564
  /**
5565
5565
  * Disable bindings
5566
5566
  */
5567
5567
  disableModuleBindings() {
5568
- this.readOnlyMutableListeners.clearAll(), this.eventsDispatcher.off(re, this.onBlockSettingsOpen), this.eventsDispatcher.off(ae, this.onBlockSettingsClose), this.eventsDispatcher.off(wt, this.onBlockChanged);
5568
+ this.readOnlyMutableListeners.clearAll(), this.eventsDispatcher.off(ie, this.onBlockSettingsOpen), this.eventsDispatcher.off(re, this.onBlockSettingsClose), this.eventsDispatcher.off(wt, this.onBlockChanged);
5569
5569
  }
5570
5570
  /**
5571
5571
  * Calculates the Y position for the toolbar, centered on the first line of the block
@@ -5646,16 +5646,38 @@ class Ls extends T {
5646
5646
  e.appendChild(n);
5647
5647
  }), e;
5648
5648
  }
5649
+ /**
5650
+ * Sets up a click-vs-drag detection pattern on an element.
5651
+ * Tracks mousedown position and fires callback only if mouse didn't move beyond threshold.
5652
+ * Uses document-level mouseup to catch events even if mouse moves off element.
5653
+ * @param element - Element to attach mousedown listener to
5654
+ * @param mouseEvent - The mousedown event
5655
+ * @param onClickCallback - Callback to fire if it was a click (not a drag)
5656
+ * @param options - Optional configuration
5657
+ * @param options.beforeCallback - Function called before click callback, return false to abort
5658
+ */
5659
+ setupClickVsDrag(t, e, o) {
5660
+ const n = {
5661
+ x: t.clientX,
5662
+ y: t.clientY
5663
+ }, s = (i) => {
5664
+ document.removeEventListener("mouseup", s, !0), this.pendingMouseUpListeners.delete(s), !(o != null && o.beforeCallback && !o.beforeCallback() || Math.abs(i.clientX - n.x) > Ge || Math.abs(i.clientY - n.y) > Ge) && e(i);
5665
+ };
5666
+ this.pendingMouseUpListeners.add(s), document.addEventListener("mouseup", s, !0);
5667
+ }
5649
5668
  /**
5650
5669
  * Removes all created and saved HTMLElements
5651
5670
  * It is used in Read-Only mode
5652
5671
  */
5653
5672
  destroy() {
5654
5673
  this.removeAllNodes(), this.toolboxInstance && this.toolboxInstance.destroy();
5674
+ for (const t of this.pendingMouseUpListeners)
5675
+ document.removeEventListener("mouseup", t, !0);
5676
+ this.pendingMouseUpListeners.clear();
5655
5677
  }
5656
5678
  }
5657
5679
  var dt = /* @__PURE__ */ ((a) => (a[a.Block = 0] = "Block", a[a.Inline = 1] = "Inline", a[a.Tune = 2] = "Tune", a))(dt || {});
5658
- const Os = /* @__PURE__ */ new Set([
5680
+ const Ns = /* @__PURE__ */ new Set([
5659
5681
  "class",
5660
5682
  "inlineToolbar",
5661
5683
  "tunes",
@@ -5664,8 +5686,8 @@ const Os = /* @__PURE__ */ new Set([
5664
5686
  "config",
5665
5687
  "isInternal"
5666
5688
  ]);
5667
- var Pt = /* @__PURE__ */ ((a) => (a.Shortcut = "shortcut", a.Toolbox = "toolbox", a.EnabledInlineTools = "inlineToolbar", a.EnabledBlockTunes = "tunes", a.Config = "config", a))(Pt || {}), Io = /* @__PURE__ */ ((a) => (a.Shortcut = "shortcut", a.SanitizeConfig = "sanitize", a))(Io || {}), pt = /* @__PURE__ */ ((a) => (a.IsEnabledLineBreaks = "enableLineBreaks", a.Toolbox = "toolbox", a.ConversionConfig = "conversionConfig", a.IsReadOnlySupported = "isReadOnlySupported", a.PasteConfig = "pasteConfig", a))(pt || {}), Co = /* @__PURE__ */ ((a) => (a.IsInline = "isInline", a.Title = "title", a.IsReadOnlySupported = "isReadOnlySupported", a))(Co || {}), Eo = /* @__PURE__ */ ((a) => (a.IsTune = "isTune", a))(Eo || {});
5668
- class Ee {
5689
+ var Rt = /* @__PURE__ */ ((a) => (a.Shortcut = "shortcut", a.Toolbox = "toolbox", a.EnabledInlineTools = "inlineToolbar", a.EnabledBlockTunes = "tunes", a.Config = "config", a))(Rt || {}), Io = /* @__PURE__ */ ((a) => (a.Shortcut = "shortcut", a.SanitizeConfig = "sanitize", a))(Io || {}), pt = /* @__PURE__ */ ((a) => (a.IsEnabledLineBreaks = "enableLineBreaks", a.Toolbox = "toolbox", a.ConversionConfig = "conversionConfig", a.IsReadOnlySupported = "isReadOnlySupported", a.PasteConfig = "pasteConfig", a))(pt || {}), Eo = /* @__PURE__ */ ((a) => (a.IsInline = "isInline", a.Title = "title", a.IsReadOnlySupported = "isReadOnlySupported", a))(Eo || {}), Ao = /* @__PURE__ */ ((a) => (a.IsTune = "isTune", a))(Ao || {});
5690
+ class Ie {
5669
5691
  /**
5670
5692
  * @class
5671
5693
  * @param {ConstructorOptions} options - Constructor options
@@ -5689,7 +5711,7 @@ class Ee {
5689
5711
  var n;
5690
5712
  const t = (n = this.config.config) != null ? n : {}, e = {};
5691
5713
  for (const s of Object.keys(this.config))
5692
- Os.has(s) || (e[s] = this.config[s]);
5714
+ Ns.has(s) || (e[s] = this.config[s]);
5693
5715
  const o = w(w({}, t), e);
5694
5716
  return this.isDefault && !("placeholder" in o) && this.defaultPlaceholder && (o.placeholder = this.defaultPlaceholder), o;
5695
5717
  }
@@ -5745,7 +5767,7 @@ class Ee {
5745
5767
  return this.type === dt.Tune;
5746
5768
  }
5747
5769
  }
5748
- class Ns extends T {
5770
+ class Rs extends T {
5749
5771
  /**
5750
5772
  * @param moduleConfiguration - Module Configuration
5751
5773
  * @param moduleConfiguration.config - Blok's config
@@ -5874,7 +5896,7 @@ class Ns extends T {
5874
5896
  if (!this.opened)
5875
5897
  return;
5876
5898
  this.tools = /* @__PURE__ */ new Map(), this.opened = !1, this.openingPromise = null, this.popover && ((n = (o = this.popover).hide) == null || n.call(o), (i = (s = this.popover).destroy) == null || i.call(s), this.popover = null), this.nodes.wrapper && (this.nodes.wrapper.innerHTML = "");
5877
- const t = Ze.mock, e = (l = (r = t == null ? void 0 : t.results) == null ? void 0 : r.at(-1)) == null ? void 0 : l.value;
5899
+ const t = qe.mock, e = (l = (r = t == null ? void 0 : t.results) == null ? void 0 : r.at(-1)) == null ? void 0 : l.value;
5878
5900
  e && ((c = e.hide) == null || c.call(e), (d = e.destroy) == null || d.call(e));
5879
5901
  }
5880
5902
  /**
@@ -5895,23 +5917,23 @@ class Ns extends T {
5895
5917
  * Making DOM - creates wrapper element for the inline toolbar
5896
5918
  */
5897
5919
  make() {
5898
- this.nodes.wrapper = g.make("div", I(
5920
+ this.nodes.wrapper = g.make("div", C(
5899
5921
  "absolute top-0 left-0 z-[3] opacity-100 visible",
5900
5922
  "transition-opacity duration-[250ms] ease-out",
5901
5923
  "will-change-[opacity,left,top]",
5902
5924
  "[&_[hidden]]:!hidden"
5903
- )), this.nodes.wrapper.setAttribute(m.interface, Qo), this.nodes.wrapper.setAttribute("data-blok-testid", "inline-toolbar"), g.append(this.Blok.UI.nodes.wrapper, this.nodes.wrapper);
5925
+ )), this.nodes.wrapper.setAttribute(m.interface, tn), this.nodes.wrapper.setAttribute("data-blok-testid", "inline-toolbar"), g.append(this.Blok.UI.nodes.wrapper, this.nodes.wrapper);
5904
5926
  }
5905
5927
  /**
5906
5928
  * Shows Inline Toolbar
5907
5929
  */
5908
5930
  async open() {
5909
- var i, r, l, c, d, h, u, f, p, b, k, B, x, S, M, P, D, et, Ne, Re, Pe;
5931
+ var i, r, l, c, d, h, u, f, p, b, k, B, x, S, M, P, D, et, Oe, Ne, Re;
5910
5932
  if (this.opened || (this.initialize(), this.opened = !0, this.popover && ((r = (i = this.popover).hide) == null || r.call(i), (c = (l = this.popover).destroy) == null || c.call(l), this.popover = null), this.createToolsInstances(), !this.nodes.wrapper))
5911
5933
  return;
5912
5934
  this.nodes.wrapper.innerHTML = "";
5913
5935
  const t = await this.buildPopoverItems(), e = (p = (f = (u = (h = (d = this.Blok.API) == null ? void 0 : d.methods) == null ? void 0 : h.ui) == null ? void 0 : u.nodes) == null ? void 0 : f.redactor) != null ? p : this.Blok.UI.nodes.redactor;
5914
- this.popover = new Ze({
5936
+ this.popover = new qe({
5915
5937
  items: t,
5916
5938
  scopeElement: e,
5917
5939
  messages: {
@@ -5919,8 +5941,8 @@ class Ns extends T {
5919
5941
  search: this.Blok.I18n.t("popover.search")
5920
5942
  }
5921
5943
  });
5922
- const o = (S = (k = (b = this.popover).getMountElement) == null ? void 0 : k.call(b)) != null ? S : (x = (B = this.popover).getElement) == null ? void 0 : x.call(B), n = (P = (M = this.popover).getElement) == null ? void 0 : P.call(M), s = (Ne = (et = (D = this.popover.size) == null ? void 0 : D.width) != null ? et : n == null ? void 0 : n.getBoundingClientRect().width) != null ? Ne : 0;
5923
- this.applyPosition(s), o && this.nodes.wrapper && this.nodes.wrapper.appendChild(o), (Pe = (Re = this.popover).show) == null || Pe.call(Re);
5944
+ const o = (S = (k = (b = this.popover).getMountElement) == null ? void 0 : k.call(b)) != null ? S : (x = (B = this.popover).getElement) == null ? void 0 : x.call(B), n = (P = (M = this.popover).getElement) == null ? void 0 : P.call(M), s = (Oe = (et = (D = this.popover.size) == null ? void 0 : D.width) != null ? et : n == null ? void 0 : n.getBoundingClientRect().width) != null ? Oe : 0;
5945
+ this.applyPosition(s), o && this.nodes.wrapper && this.nodes.wrapper.appendChild(o), (Re = (Ne = this.popover).show) == null || Re.call(Ne);
5924
5946
  }
5925
5947
  /**
5926
5948
  * Build popover items from tools map
@@ -5928,7 +5950,7 @@ class Ns extends T {
5928
5950
  async buildPopoverItems() {
5929
5951
  const t = [], e = Array.from(this.tools.entries());
5930
5952
  for (const [o, [n, s]] of e.entries()) {
5931
- const i = await s.render(), r = this.getToolShortcut(n.name), l = r !== void 0 ? vo(r) : void 0, c = tn(this.Blok.I18n, n.titleKey, n.title || Ft(n.name)), d = Array.isArray(i) ? i : [i], h = o === 0;
5953
+ const i = await s.render(), r = this.getToolShortcut(n.name), l = r !== void 0 ? Bo(r) : void 0, c = en(this.Blok.I18n, n.titleKey, n.title || Ht(n.name)), d = Array.isArray(i) ? i : [i], h = o === 0;
5932
5954
  for (const u of d) {
5933
5955
  const f = this.processPopoverItem(u, n.name, c, l, h);
5934
5956
  t.push(...f);
@@ -6161,7 +6183,7 @@ const Et = {
6161
6183
  "a11y.movedDown": "Block moved down to position {position} of {total}",
6162
6184
  "a11y.atTop": "Block is at the top, cannot move up",
6163
6185
  "a11y.atBottom": "Block is at the bottom, cannot move down"
6164
- }, Rs = /* @__PURE__ */ new Set([
6186
+ }, Ps = /* @__PURE__ */ new Set([
6165
6187
  "ar",
6166
6188
  "dv",
6167
6189
  "fa",
@@ -6172,10 +6194,10 @@ const Et = {
6172
6194
  "ug",
6173
6195
  "ur",
6174
6196
  "yi"
6175
- ]), he = (a) => Rs.has(a) ? "rtl" : "ltr", Ao = (a, t) => ({
6197
+ ]), de = (a) => Ps.has(a) ? "rtl" : "ltr", Mo = (a, t) => ({
6176
6198
  dictionary: t,
6177
- direction: he(a)
6178
- }), Ps = [
6199
+ direction: de(a)
6200
+ }), Hs = [
6179
6201
  "am",
6180
6202
  "ar",
6181
6203
  "az",
@@ -6244,9 +6266,9 @@ const Et = {
6244
6266
  "vi",
6245
6267
  "yi",
6246
6268
  "zh"
6247
- ], Je = "en", Hs = Ao("en", Et), ue = /* @__PURE__ */ new Map();
6248
- ue.set("en", Hs);
6249
- const Fs = {
6269
+ ], Je = "en", Fs = Mo("en", Et), he = /* @__PURE__ */ new Map();
6270
+ he.set("en", Fs);
6271
+ const _s = {
6250
6272
  am: () => import("./messages-Bdv-IkfG.mjs"),
6251
6273
  ar: () => import("./messages-AHESHJm_.mjs"),
6252
6274
  az: () => import("./messages-Bn253WWC.mjs"),
@@ -6315,14 +6337,14 @@ const Fs = {
6315
6337
  vi: () => import("./messages-Cyi2AMmz.mjs"),
6316
6338
  yi: () => import("./messages-RvMHb2Ht.mjs"),
6317
6339
  zh: () => import("./messages-B66ZSDCJ.mjs")
6318
- }, _s = async (a) => {
6319
- const t = ue.get(a);
6340
+ }, zs = async (a) => {
6341
+ const t = he.get(a);
6320
6342
  if (t !== void 0)
6321
6343
  return t;
6322
- const e = Fs[a], o = await e(), n = Ao(a, o.default);
6323
- return ue.set(a, n), n;
6344
+ const e = _s[a], o = await e(), n = Mo(a, o.default);
6345
+ return he.set(a, n), n;
6324
6346
  };
6325
- class zs {
6347
+ class Us {
6326
6348
  constructor() {
6327
6349
  this.overrides = null, this.dictionary = Et;
6328
6350
  }
@@ -6367,13 +6389,13 @@ class zs {
6367
6389
  return "ltr";
6368
6390
  }
6369
6391
  }
6370
- const Hi = Et;
6371
- class Us extends T {
6392
+ const Fi = Et;
6393
+ class Ks extends T {
6372
6394
  /**
6373
6395
  * Constructor - creates lightweight i18n instance
6374
6396
  */
6375
6397
  constructor(...t) {
6376
- super(...t), this.i18nextWrapper = null, this.locale = Je, this.defaultLocale = Je, this.usingI18next = !1, this.lightweightI18n = new zs();
6398
+ super(...t), this.i18nextWrapper = null, this.locale = Je, this.defaultLocale = Je, this.usingI18next = !1, this.lightweightI18n = new Us();
6377
6399
  }
6378
6400
  /**
6379
6401
  * Translate a key with optional interpolation.
@@ -6426,7 +6448,7 @@ class Us extends T {
6426
6448
  this.locale = "en", this.usingI18next = !1;
6427
6449
  return;
6428
6450
  }
6429
- const e = await _s(t);
6451
+ const e = await zs(t);
6430
6452
  if (await this.ensureI18nextLoaded(t, e), this.i18nextWrapper === null)
6431
6453
  return;
6432
6454
  !this.i18nextWrapper.instance.hasResourceBundle(t, "translation") && this.i18nextWrapper.instance.addResourceBundle(t, "translation", e.dictionary), await this.i18nextWrapper.changeLanguage(t), this.locale = t, this.usingI18next = !0;
@@ -6462,7 +6484,7 @@ class Us extends T {
6462
6484
  * Get the text direction for the current locale
6463
6485
  */
6464
6486
  getDirection() {
6465
- return he(this.locale);
6487
+ return de(this.locale);
6466
6488
  }
6467
6489
  /**
6468
6490
  * Get the text direction for any locale code
@@ -6470,7 +6492,7 @@ class Us extends T {
6470
6492
  * @param locale - Locale code to check
6471
6493
  */
6472
6494
  getDirectionForLocale(t) {
6473
- return he(t);
6495
+ return de(t);
6474
6496
  }
6475
6497
  /**
6476
6498
  * Module preparation - called during editor initialization.
@@ -6489,7 +6511,7 @@ class Us extends T {
6489
6511
  async ensureI18nextLoaded(t, e) {
6490
6512
  if (this.i18nextWrapper !== null)
6491
6513
  return;
6492
- const { loadI18next: o } = await import("./i18next-loader-BdNRw4n4.mjs");
6514
+ const { loadI18next: o } = await import("./i18next-loader-BMO6Rg_l.mjs");
6493
6515
  this.i18nextWrapper = await o(t, e);
6494
6516
  }
6495
6517
  /**
@@ -6510,7 +6532,7 @@ class Us extends T {
6510
6532
  * All 68 locales in ALL_LOCALE_CODES are supported.
6511
6533
  */
6512
6534
  isLocaleSupported(t) {
6513
- return Ps.includes(t);
6535
+ return Hs.includes(t);
6514
6536
  }
6515
6537
  /**
6516
6538
  * Detect best matching locale from browser settings
@@ -6543,7 +6565,7 @@ class Us extends T {
6543
6565
  return o !== void 0 && this.isLocaleSupported(o) ? o : null;
6544
6566
  }
6545
6567
  }
6546
- const Ae = " ", pe = /* @__PURE__ */ new WeakSet(), Me = () => {
6568
+ const Ee = " ", ue = /* @__PURE__ */ new WeakSet(), Ae = () => {
6547
6569
  var i, r;
6548
6570
  const a = window.getSelection();
6549
6571
  if (a === null)
@@ -6558,20 +6580,20 @@ const Ae = " ", pe = /* @__PURE__ */ new WeakSet(), Me = () => {
6558
6580
  return [o, 0];
6559
6581
  const n = (i = t.childNodes[e - 1]) != null ? i : null, s = (r = n == null ? void 0 : n.textContent) != null ? r : null;
6560
6582
  return [n, s !== null ? s.length : 0];
6561
- }, Mo = (a) => {
6583
+ }, Do = (a) => {
6562
6584
  var e;
6563
6585
  if (!(a instanceof HTMLElement) || g.isSingleTag(a) || g.isNativeInput(a))
6564
6586
  return !1;
6565
6587
  if (a.childNodes.length === 0)
6566
6588
  return !0;
6567
6589
  const t = (e = a.textContent) != null ? e : "";
6568
- return t.includes(Ae) || !we(t) ? !1 : Array.from(a.children).every((o) => Mo(o));
6590
+ return t.includes(Ee) || !Be(t) ? !1 : Array.from(a.children).every((o) => Do(o));
6569
6591
  }, Qe = typeof window != "undefined" && typeof window.MutationObserver != "undefined" ? new window.MutationObserver((a) => {
6570
6592
  for (const t of a) {
6571
6593
  const e = t.nextSibling;
6572
6594
  t.removedNodes.forEach((o) => {
6573
6595
  var l, c, d;
6574
- if (!(o instanceof Element) || !Mo(o))
6596
+ if (!(o instanceof Element) || !Do(o))
6575
6597
  return;
6576
6598
  const n = e instanceof Text ? e : null;
6577
6599
  if (n === null || !n.isConnected)
@@ -6580,10 +6602,10 @@ const Ae = " ", pe = /* @__PURE__ */ new WeakSet(), Me = () => {
6580
6602
  if (!((l = s == null ? void 0 : s.isContentEditable) != null && l))
6581
6603
  return;
6582
6604
  const i = (d = (c = n.textContent) == null ? void 0 : c[0]) != null ? d : null;
6583
- (i === Ae || i === " ") && pe.add(n);
6605
+ (i === Ee || i === " ") && ue.add(n);
6584
6606
  });
6585
6607
  }
6586
- }) : null, to = /* @__PURE__ */ new WeakSet(), Do = (a) => {
6608
+ }) : null, to = /* @__PURE__ */ new WeakSet(), Lo = (a) => {
6587
6609
  if (Qe === null || to.has(a))
6588
6610
  return;
6589
6611
  const t = () => {
@@ -6594,11 +6616,11 @@ const Ae = " ", pe = /* @__PURE__ */ new WeakSet(), Me = () => {
6594
6616
  };
6595
6617
  a.readyState === "loading" ? a.addEventListener("DOMContentLoaded", t, { once: !0 }) : t();
6596
6618
  };
6597
- typeof window != "undefined" && typeof window.document != "undefined" && Do(window.document);
6598
- const Ks = (a) => {
6619
+ typeof window != "undefined" && typeof window.document != "undefined" && Lo(window.document);
6620
+ const Ws = (a) => {
6599
6621
  var n, s;
6600
- Do(a.ownerDocument);
6601
- const [t, e] = Me();
6622
+ Lo(a.ownerDocument);
6623
+ const [t, e] = Ae();
6602
6624
  if (t === null || !a.contains(t) || t.nodeType === Node.TEXT_NODE && e < ((n = t.textContent) != null ? n : "").length)
6603
6625
  return null;
6604
6626
  const o = document.createTreeWalker(a, NodeFilter.SHOW_TEXT);
@@ -6610,7 +6632,7 @@ const Ks = (a) => {
6610
6632
  if (r.length === 0)
6611
6633
  continue;
6612
6634
  const l = r[0];
6613
- if (!(l === Ae || l === " ") || i === t)
6635
+ if (!(l === Ee || l === " ") || i === t)
6614
6636
  return null;
6615
6637
  const d = document.createRange();
6616
6638
  try {
@@ -6623,15 +6645,15 @@ const Ks = (a) => {
6623
6645
  const f = Array.from(u.querySelectorAll("*")).some((b) => {
6624
6646
  var B;
6625
6647
  const k = (B = b.textContent) != null ? B : "";
6626
- return k.length === 0 || we(k);
6627
- }), p = pe.has(i);
6648
+ return k.length === 0 || Be(k);
6649
+ }), p = ue.has(i);
6628
6650
  if (!(!f && !p))
6629
- return p && pe.delete(i), {
6651
+ return p && ue.delete(i), {
6630
6652
  node: i,
6631
6653
  offset: 0
6632
6654
  };
6633
6655
  }
6634
- }, Lo = (a, t, e, o) => {
6656
+ }, Oo = (a, t, e, o) => {
6635
6657
  const n = document.createRange();
6636
6658
  o === "left" ? (n.selectNodeContents(a), n.setEnd(t, e)) : (n.selectNodeContents(a), n.setStart(t, e));
6637
6659
  const s = n.cloneContents(), i = document.createElement("div");
@@ -6644,8 +6666,8 @@ const Ks = (a) => {
6644
6666
  return !1;
6645
6667
  i.style.position = "absolute", i.style.visibility = "hidden", i.style.height = "auto", i.style.width = "auto", i.style.whiteSpace = window.getComputedStyle(a).whiteSpace, document.body.appendChild(i);
6646
6668
  const h = i.getBoundingClientRect().width;
6647
- return document.body.removeChild(i), !(h > 0 || !we(r) || window.getComputedStyle(a).whiteSpace.startsWith("pre") && r.length > 0);
6648
- }, Ht = (a) => {
6669
+ return document.body.removeChild(i), !(h > 0 || !Be(r) || window.getComputedStyle(a).whiteSpace.startsWith("pre") && r.length > 0);
6670
+ }, Pt = (a) => {
6649
6671
  var i;
6650
6672
  const t = g.getDeepestNode(a);
6651
6673
  if (t === null || g.isEmpty(a))
@@ -6654,20 +6676,20 @@ const Ks = (a) => {
6654
6676
  return t.selectionEnd === 0;
6655
6677
  if (g.isEmpty(a))
6656
6678
  return !0;
6657
- const [e, o] = Me();
6679
+ const [e, o] = Ae();
6658
6680
  if (e === null)
6659
6681
  return !1;
6660
6682
  const n = window.getSelection(), s = (i = n == null ? void 0 : n.focusNode) != null ? i : null;
6661
- return s !== null && s !== a && !(s.nodeType === Node.TEXT_NODE && s.parentNode === a) ? !1 : Lo(a, e, o, "left");
6683
+ return s !== null && s !== a && !(s.nodeType === Node.TEXT_NODE && s.parentNode === a) ? !1 : Oo(a, e, o, "left");
6662
6684
  }, kt = (a) => {
6663
6685
  const t = g.getDeepestNode(a, !0);
6664
6686
  if (t === null)
6665
6687
  return !0;
6666
6688
  if (g.isNativeInput(t))
6667
6689
  return t.selectionEnd === t.value.length;
6668
- const [e, o] = Me();
6669
- return e === null ? !1 : Lo(a, e, o, "right");
6670
- }, Oo = (a, t) => {
6690
+ const [e, o] = Ae();
6691
+ return e === null ? !1 : Oo(a, e, o, "right");
6692
+ }, No = (a, t) => {
6671
6693
  const e = a.getBoundingClientRect();
6672
6694
  if (e.height !== 0 || e.top !== 0)
6673
6695
  return e;
@@ -6676,7 +6698,7 @@ const Ks = (a) => {
6676
6698
  return t.getBoundingClientRect();
6677
6699
  const s = n.getBoundingClientRect();
6678
6700
  return s.height !== 0 || s.top !== 0 ? s : t.getBoundingClientRect();
6679
- }, Ws = (a) => {
6701
+ }, $s = (a) => {
6680
6702
  var l;
6681
6703
  if (g.isNativeInput(a) && a.tagName === "INPUT")
6682
6704
  return !0;
@@ -6688,7 +6710,7 @@ const Ks = (a) => {
6688
6710
  const t = window.getSelection();
6689
6711
  if (!t || t.rangeCount === 0)
6690
6712
  return !0;
6691
- const e = t.getRangeAt(0), o = Oo(e, a), n = g.getDeepestNode(a, !1);
6713
+ const e = t.getRangeAt(0), o = No(e, a), n = g.getDeepestNode(a, !1);
6692
6714
  if (!n)
6693
6715
  return !0;
6694
6716
  const s = document.createRange();
@@ -6703,7 +6725,7 @@ const Ks = (a) => {
6703
6725
  return o.top < c.top + d;
6704
6726
  }
6705
6727
  return Math.abs(o.top - i.top) < 5;
6706
- }, $s = (a) => {
6728
+ }, js = (a) => {
6707
6729
  var c;
6708
6730
  if (g.isNativeInput(a) && a.tagName === "INPUT")
6709
6731
  return !0;
@@ -6715,7 +6737,7 @@ const Ks = (a) => {
6715
6737
  const t = window.getSelection();
6716
6738
  if (!t || t.rangeCount === 0)
6717
6739
  return !0;
6718
- const e = t.getRangeAt(0), o = Oo(e, a), n = g.getDeepestNode(a, !0);
6740
+ const e = t.getRangeAt(0), o = No(e, a), n = g.getDeepestNode(a, !0);
6719
6741
  if (!n)
6720
6742
  return !0;
6721
6743
  const s = document.createRange(), i = g.getContentLength(n);
@@ -6730,7 +6752,7 @@ const Ks = (a) => {
6730
6752
  return o.bottom > d.bottom - h;
6731
6753
  }
6732
6754
  return Math.abs(o.bottom - r.bottom) < 5;
6733
- }, No = (a, t = !0) => {
6755
+ }, Ro = (a, t = !0) => {
6734
6756
  var h, u, f, p;
6735
6757
  if (g.isNativeInput(a)) {
6736
6758
  a.focus();
@@ -6777,7 +6799,7 @@ const Ks = (a) => {
6777
6799
  Ys(a, t, e);
6778
6800
  return;
6779
6801
  }
6780
- js(a, t, e);
6802
+ Vs(a, t, e);
6781
6803
  }, Ys = (a, t, e) => {
6782
6804
  a.focus();
6783
6805
  const o = a.value;
@@ -6799,22 +6821,22 @@ const Ks = (a) => {
6799
6821
  return t;
6800
6822
  const l = a.value.substring(t, e), d = (parseFloat(s.fontSize) || 16) * 0.6, h = Math.round(r / d), u = Math.min(Math.max(h, 0), l.length);
6801
6823
  return t + u;
6802
- }, js = (a, t, e) => {
6824
+ }, Vs = (a, t, e) => {
6803
6825
  const o = window.getSelection();
6804
6826
  if (!o)
6805
6827
  return;
6806
6828
  a.focus();
6807
6829
  const n = e ? g.getDeepestNode(a, !1) : g.getDeepestNode(a, !0);
6808
6830
  if (!n) {
6809
- te(a, o, e);
6831
+ Qt(a, o, e);
6810
6832
  return;
6811
6833
  }
6812
6834
  const s = Xs(a, n, e);
6813
6835
  if (s === null) {
6814
- te(a, o, e);
6836
+ Qt(a, o, e);
6815
6837
  return;
6816
6838
  }
6817
- const i = Vs(t, s);
6839
+ const i = qs(t, s);
6818
6840
  if (i && a.contains(i.node)) {
6819
6841
  const r = document.createRange();
6820
6842
  try {
@@ -6823,8 +6845,8 @@ const Ks = (a) => {
6823
6845
  } catch (l) {
6824
6846
  }
6825
6847
  }
6826
- te(a, o, e);
6827
- }, te = (a, t, e) => {
6848
+ Qt(a, o, e);
6849
+ }, Qt = (a, t, e) => {
6828
6850
  a.focus();
6829
6851
  const o = window.getSelection();
6830
6852
  if (!o)
@@ -6836,7 +6858,7 @@ const Ks = (a) => {
6836
6858
  try {
6837
6859
  s.setStart(n, i), s.setEnd(n, i), o.removeAllRanges(), o.addRange(s);
6838
6860
  } catch (r) {
6839
- No(a, e);
6861
+ Ro(a, e);
6840
6862
  }
6841
6863
  }, Xs = (a, t, e) => {
6842
6864
  const o = document.createRange();
@@ -6856,7 +6878,7 @@ const Ks = (a) => {
6856
6878
  } catch (n) {
6857
6879
  return null;
6858
6880
  }
6859
- }, Vs = (a, t) => {
6881
+ }, qs = (a, t) => {
6860
6882
  const e = document.caretPositionFromPoint(a, t);
6861
6883
  return e === null ? null : {
6862
6884
  node: e.offsetNode,
@@ -6871,7 +6893,7 @@ const Ks = (a) => {
6871
6893
  ArrowRight: v.RIGHT,
6872
6894
  ArrowUp: v.UP,
6873
6895
  ArrowLeft: v.LEFT
6874
- }, qs = /* @__PURE__ */ new Set(["Enter", "Process", "Spacebar", "Space", "Dead"]), Lt = '[contenteditable="true"], textarea, input', io = (a, t) => {
6896
+ }, Zs = /* @__PURE__ */ new Set(["Enter", "Process", "Spacebar", "Space", "Dead"]), Dt = '[contenteditable="true"], textarea, input', io = (a, t) => {
6875
6897
  const e = t === "up" ? "ArrowUp" : "ArrowDown";
6876
6898
  return a.key === e && a.shiftKey && (a.ctrlKey || a.metaKey);
6877
6899
  }, F = class F extends T {
@@ -7251,9 +7273,9 @@ const Ks = (a) => {
7251
7273
  */
7252
7274
  enter(t) {
7253
7275
  const { BlockManager: e, UI: o } = this.Blok, n = e.currentBlock;
7254
- if (n === void 0 || n.tool.isLineBreaksEnabled || o.someToolbarOpened && o.someFlipperButtonFocused || t.shiftKey && !ne)
7276
+ if (n === void 0 || n.tool.isLineBreaksEnabled || o.someToolbarOpened && o.someFlipperButtonFocused || t.shiftKey && !oe)
7255
7277
  return;
7256
- const s = n.currentInput !== void 0 && Ht(n.currentInput) && !n.hasMedia ? (this.Blok.BlockManager.insertDefaultBlockAtIndex(this.Blok.BlockManager.currentBlockIndex), n) : n.currentInput && kt(n.currentInput) ? this.Blok.BlockManager.insertDefaultBlockAtIndex(this.Blok.BlockManager.currentBlockIndex + 1) : this.Blok.BlockManager.split();
7278
+ const s = n.currentInput !== void 0 && Pt(n.currentInput) && !n.hasMedia ? (this.Blok.BlockManager.insertDefaultBlockAtIndex(this.Blok.BlockManager.currentBlockIndex), n) : n.currentInput && kt(n.currentInput) ? this.Blok.BlockManager.insertDefaultBlockAtIndex(this.Blok.BlockManager.currentBlockIndex + 1) : this.Blok.BlockManager.split();
7257
7279
  this.Blok.Caret.setToBlock(s), this.Blok.Toolbar.moveAndOpen(s), t.preventDefault();
7258
7280
  }
7259
7281
  /**
@@ -7262,7 +7284,7 @@ const Ks = (a) => {
7262
7284
  */
7263
7285
  backspace(t) {
7264
7286
  const { BlockManager: e, Caret: o } = this.Blok, { currentBlock: n, previousBlock: s } = e;
7265
- if (n === void 0 || !y.isCollapsed || !n.currentInput || !Ht(n.currentInput))
7287
+ if (n === void 0 || !y.isCollapsed || !n.currentInput || !Pt(n.currentInput))
7266
7288
  return;
7267
7289
  if (t.preventDefault(), this.Blok.Toolbar.close(), !(n.currentInput === n.firstInput)) {
7268
7290
  o.navigatePrevious();
@@ -7280,7 +7302,7 @@ const Ks = (a) => {
7280
7302
  l && o.setToBlock(l, o.positions.END);
7281
7303
  return;
7282
7304
  }
7283
- Ue(s, n) ? this.mergeBlocks(s, n) : o.setToBlock(s, o.positions.END);
7305
+ ze(s, n) ? this.mergeBlocks(s, n) : o.setToBlock(s, o.positions.END);
7284
7306
  }
7285
7307
  /**
7286
7308
  * Handles delete keydown on Block
@@ -7306,7 +7328,7 @@ const Ks = (a) => {
7306
7328
  e.removeBlock(n), o.setToBlock(s, o.positions.START);
7307
7329
  return;
7308
7330
  }
7309
- Ue(n, s) ? this.mergeBlocks(n, s) : o.setToBlock(s, o.positions.START);
7331
+ ze(n, s) ? this.mergeBlocks(n, s) : o.setToBlock(s, o.positions.START);
7310
7332
  }
7311
7333
  /**
7312
7334
  * Merge passed Blocks
@@ -7315,7 +7337,7 @@ const Ks = (a) => {
7315
7337
  */
7316
7338
  mergeBlocks(t, e) {
7317
7339
  const { BlockManager: o, Toolbar: n } = this.Blok;
7318
- t.lastInput !== void 0 && (No(t.lastInput, !1), o.mergeBlocks(t, e).then(() => {
7340
+ t.lastInput !== void 0 && (Ro(t.lastInput, !1), o.mergeBlocks(t, e).then(() => {
7319
7341
  n.close();
7320
7342
  }).catch(() => {
7321
7343
  }));
@@ -7338,15 +7360,15 @@ const Ks = (a) => {
7338
7360
  const { currentBlock: s } = this.Blok.BlockManager, i = t.target, r = document.activeElement instanceof HTMLElement ? document.activeElement : null, l = [
7339
7361
  s == null ? void 0 : s.inputs.find((S) => i !== null && S.contains(i)),
7340
7362
  s == null ? void 0 : s.inputs.find((S) => r !== null && S.contains(r)),
7341
- i == null ? void 0 : i.closest(Lt),
7342
- r == null ? void 0 : r.closest(Lt)
7363
+ i == null ? void 0 : i.closest(Dt),
7364
+ r == null ? void 0 : r.closest(Dt)
7343
7365
  ], c = (x = s == null ? void 0 : s.currentInput) != null ? x : l.find((S) => S instanceof HTMLElement), h = (c !== void 0 ? kt(c) : void 0) || this.Blok.BlockSelection.anyBlockSelected, u = t.shiftKey && e === v.DOWN;
7344
7366
  if (u && h) {
7345
7367
  this.Blok.CrossBlockSelection.toggleBlockSelectedState();
7346
7368
  return;
7347
7369
  }
7348
7370
  u && this.Blok.InlineToolbar.tryToShow();
7349
- const p = e === v.RIGHT && !t.shiftKey && !this.isRtl && c instanceof HTMLElement ? Ks(c) : null;
7371
+ const p = e === v.RIGHT && !t.shiftKey && !this.isRtl && c instanceof HTMLElement ? Ws(c) : null;
7350
7372
  if (p !== null) {
7351
7373
  y.setCursor(p.node, p.offset), t.preventDefault();
7352
7374
  return;
@@ -7356,7 +7378,7 @@ const Ks = (a) => {
7356
7378
  t.preventDefault();
7357
7379
  return;
7358
7380
  }
7359
- _t(() => {
7381
+ Ft(() => {
7360
7382
  this.Blok.BlockManager.currentBlock && this.Blok.BlockManager.currentBlock.updateCurrentInput();
7361
7383
  }, 20)(), this.Blok.BlockSelection.clearSelection(t);
7362
7384
  }
@@ -7375,9 +7397,9 @@ const Ks = (a) => {
7375
7397
  const { currentBlock: s } = this.Blok.BlockManager, i = t.target, r = document.activeElement instanceof HTMLElement ? document.activeElement : null, l = [
7376
7398
  s == null ? void 0 : s.inputs.find((B) => i !== null && B.contains(i)),
7377
7399
  s == null ? void 0 : s.inputs.find((B) => r !== null && B.contains(r)),
7378
- i == null ? void 0 : i.closest(Lt),
7379
- r == null ? void 0 : r.closest(Lt)
7380
- ], c = (k = s == null ? void 0 : s.currentInput) != null ? k : l.find((B) => B instanceof HTMLElement), h = (c !== void 0 ? Ht(c) : void 0) || this.Blok.BlockSelection.anyBlockSelected, u = t.shiftKey && o === v.UP;
7400
+ i == null ? void 0 : i.closest(Dt),
7401
+ r == null ? void 0 : r.closest(Dt)
7402
+ ], c = (k = s == null ? void 0 : s.currentInput) != null ? k : l.find((B) => B instanceof HTMLElement), h = (c !== void 0 ? Pt(c) : void 0) || this.Blok.BlockSelection.anyBlockSelected, u = t.shiftKey && o === v.UP;
7381
7403
  if (u && h) {
7382
7404
  this.Blok.CrossBlockSelection.toggleBlockSelectedState(!1);
7383
7405
  return;
@@ -7388,7 +7410,7 @@ const Ks = (a) => {
7388
7410
  t.preventDefault();
7389
7411
  return;
7390
7412
  }
7391
- _t(() => {
7413
+ Ft(() => {
7392
7414
  this.Blok.BlockManager.currentBlock && this.Blok.BlockManager.currentBlock.updateCurrentInput();
7393
7415
  }, 20)(), this.Blok.BlockSelection.clearSelection(t);
7394
7416
  }
@@ -7429,12 +7451,12 @@ const Ks = (a) => {
7429
7451
  * @param event - keyboard event
7430
7452
  */
7431
7453
  isPrintableKeyEvent(t) {
7432
- return t.key ? t.key.length === 1 || qs.has(t.key) : !1;
7454
+ return t.key ? t.key.length === 1 || Zs.has(t.key) : !1;
7433
7455
  }
7434
7456
  };
7435
7457
  F.LIST_TOOL_NAME = "list", F.HEADER_TOOL_NAME = "header", F.ORDERED_LIST_PATTERN = /^(\d+)[.)]\s([\s\S]*)$/, F.CHECKLIST_PATTERN = /^\[(x|X| )?\]\s([\s\S]*)$/, F.UNORDERED_LIST_PATTERN = /^[-*]\s([\s\S]*)$/, F.HEADER_PATTERN = /^(#{1,6})\s([\s\S]*)$/;
7436
- let fe = F;
7437
- class ee {
7458
+ let pe = F;
7459
+ class te {
7438
7460
  /**
7439
7461
  * @class
7440
7462
  * @param {HTMLElement} workingArea — blok`s working node
@@ -7461,7 +7483,7 @@ class ee {
7461
7483
  * @returns {HTMLElement[]}
7462
7484
  */
7463
7485
  get nodes() {
7464
- return en(this.workingArea.children);
7486
+ return on(this.workingArea.children);
7465
7487
  }
7466
7488
  /**
7467
7489
  * Proxy trap to implement array-like setter
@@ -7508,7 +7530,7 @@ class ee {
7508
7530
  fromIndex: e,
7509
7531
  toIndex: t
7510
7532
  });
7511
- n.call(j.MOVED, s);
7533
+ n.call(Y.MOVED, s);
7512
7534
  }
7513
7535
  /**
7514
7536
  * Insert new Block at passed index
@@ -7524,7 +7546,7 @@ class ee {
7524
7546
  const n = t > this.length ? this.length : t;
7525
7547
  if (o) {
7526
7548
  const r = this.blocks[n];
7527
- r.call(j.REMOVED), r.destroy(), r.holder.remove();
7549
+ r.call(Y.REMOVED), r.destroy(), r.holder.remove();
7528
7550
  }
7529
7551
  const s = o ? 1 : 0;
7530
7552
  if (this.blocks.splice(n, s, e), n > 0) {
@@ -7548,7 +7570,7 @@ class ee {
7548
7570
  if (this.blocks[t] === void 0)
7549
7571
  throw Error("Incorrect index");
7550
7572
  const o = this.blocks[t];
7551
- o.holder.replaceWith(e.holder), o.call(j.REMOVED), this.blocks[t] = e, e.call(j.RENDERED);
7573
+ o.holder.replaceWith(e.holder), o.call(Y.REMOVED), this.blocks[t] = e, e.call(Y.RENDERED);
7552
7574
  }
7553
7575
  /**
7554
7576
  * Inserts several blocks at once
@@ -7560,14 +7582,14 @@ class ee {
7560
7582
  for (const n of t)
7561
7583
  o.appendChild(n.holder);
7562
7584
  if (!this.length) {
7563
- this.blocks.push(...t), this.workingArea.appendChild(o), t.forEach((n) => n.call(j.RENDERED));
7585
+ this.blocks.push(...t), this.workingArea.appendChild(o), t.forEach((n) => n.call(Y.RENDERED));
7564
7586
  return;
7565
7587
  }
7566
7588
  if (e > 0) {
7567
7589
  const n = Math.min(e - 1, this.length - 1);
7568
7590
  this.blocks[n].holder.after(o);
7569
7591
  }
7570
- e === 0 && this.workingArea.prepend(o), this.blocks.splice(e, 0, ...t), t.forEach((n) => n.call(j.RENDERED));
7592
+ e === 0 && this.workingArea.prepend(o), this.blocks.splice(e, 0, ...t), t.forEach((n) => n.call(Y.RENDERED));
7571
7593
  }
7572
7594
  /**
7573
7595
  * Remove block
@@ -7575,13 +7597,13 @@ class ee {
7575
7597
  */
7576
7598
  remove(t) {
7577
7599
  const e = isNaN(t) ? this.length - 1 : t, o = this.blocks[e];
7578
- o.call(j.REMOVED), o.destroy(), o.holder.remove(), this.blocks.splice(e, 1);
7600
+ o.call(Y.REMOVED), o.destroy(), o.holder.remove(), this.blocks.splice(e, 1);
7579
7601
  }
7580
7602
  /**
7581
7603
  * Remove all blocks
7582
7604
  */
7583
7605
  removeAll() {
7584
- this.workingArea.innerHTML = "", this.blocks.forEach((t) => t.call(j.REMOVED)), this.blocks.length = 0;
7606
+ this.workingArea.innerHTML = "", this.blocks.forEach((t) => t.call(Y.REMOVED)), this.blocks.length = 0;
7585
7607
  }
7586
7608
  /**
7587
7609
  * Insert Block after passed target
@@ -7616,7 +7638,7 @@ class ee {
7616
7638
  * @param {Block} target — Block related to position
7617
7639
  */
7618
7640
  insertToDOM(t, e, o) {
7619
- e && o !== void 0 ? o.holder.insertAdjacentElement(e, t.holder) : this.workingArea.appendChild(t.holder), t.call(j.RENDERED);
7641
+ e && o !== void 0 ? o.holder.insertAdjacentElement(e, t.holder) : this.workingArea.appendChild(t.holder), t.call(Y.RENDERED);
7620
7642
  }
7621
7643
  /**
7622
7644
  * Composes Block event with passed type and details
@@ -7629,8 +7651,8 @@ class ee {
7629
7651
  });
7630
7652
  }
7631
7653
  }
7632
- const ro = "block-removed", Zs = "block-added", Gs = "block-moved", ao = "block-changed";
7633
- class Ro {
7654
+ const ro = "block-removed", Gs = "block-added", Js = "block-moved", ao = "block-changed";
7655
+ class Po {
7634
7656
  constructor() {
7635
7657
  this.tail = Promise.resolve();
7636
7658
  }
@@ -7653,7 +7675,7 @@ class Ro {
7653
7675
  }), e;
7654
7676
  }
7655
7677
  }
7656
- const lo = "blok-announcer", Js = [
7678
+ const lo = "blok-announcer", Qs = [
7657
7679
  "absolute",
7658
7680
  "w-px",
7659
7681
  "h-px",
@@ -7693,7 +7715,7 @@ const lo = "blok-announcer", Js = [
7693
7715
  return;
7694
7716
  }
7695
7717
  const e = document.createElement("div");
7696
- e.id = lo, e.className = Js, e.setAttribute("role", "status"), e.setAttribute("aria-live", "polite"), e.setAttribute("aria-atomic", "true"), e.setAttribute("data-blok-announcer", ""), document.body.appendChild(e), this.liveRegion = e;
7718
+ e.id = lo, e.className = Qs, e.setAttribute("role", "status"), e.setAttribute("aria-live", "polite"), e.setAttribute("aria-atomic", "true"), e.setAttribute("data-blok-announcer", ""), document.body.appendChild(e), this.liveRegion = e;
7697
7719
  }
7698
7720
  /**
7699
7721
  * Announce a message to screen readers
@@ -7720,12 +7742,12 @@ K.instance = null, K.referenceCount = 0;
7720
7742
  let gt = K;
7721
7743
  const $ = (a, t) => {
7722
7744
  gt.getInstance().announce(a, t);
7723
- }, Qs = () => {
7724
- gt.addReference(), gt.getInstance();
7725
7745
  }, ti = () => {
7746
+ gt.addReference(), gt.getInstance();
7747
+ }, ei = () => {
7726
7748
  gt.getInstance().destroy();
7727
7749
  };
7728
- class ei extends T {
7750
+ class oi extends T {
7729
7751
  constructor() {
7730
7752
  super(...arguments), this._currentBlockIndex = -1, this._blocks = null, this.registeredShortcuts = [];
7731
7753
  }
@@ -7828,10 +7850,10 @@ class ei extends T {
7828
7850
  * Define this._blocks property
7829
7851
  */
7830
7852
  prepare() {
7831
- const t = new ee(this.Blok.UI.nodes.redactor);
7853
+ const t = new te(this.Blok.UI.nodes.redactor);
7832
7854
  this._blocks = new Proxy(t, {
7833
- set: ee.set,
7834
- get: ee.get
7855
+ set: te.set,
7856
+ get: te.get
7835
7857
  }), this.listeners.on(
7836
7858
  document,
7837
7859
  "copy",
@@ -7923,7 +7945,7 @@ class ei extends T {
7923
7945
  throw new Error(`Could not replace Block at index ${l}. Block not found.`);
7924
7946
  return i && u !== void 0 && this.blockDidMutated(ro, u, {
7925
7947
  index: l
7926
- }), this.blocksStore.insert(l, h, i), this.blockDidMutated(Zs, h, {
7948
+ }), this.blocksStore.insert(l, h, i), this.blockDidMutated(Gs, h, {
7927
7949
  index: l
7928
7950
  }), s && (this.currentBlockIndex = l), !s && l <= this.currentBlockIndex && this.currentBlockIndex++, h;
7929
7951
  }
@@ -7997,9 +8019,9 @@ class ei extends T {
7997
8019
  replace: o
7998
8020
  });
7999
8021
  try {
8000
- await n.ready, n.call(j.ON_PASTE, e), n.refreshToolRootElement();
8022
+ await n.ready, n.call(Y.ON_PASTE, e), n.refreshToolRootElement();
8001
8023
  } catch (s) {
8002
- C(`${t}: onPaste callback call is failed`, "error", s);
8024
+ I(`${t}: onPaste callback call is failed`, "error", s);
8003
8025
  }
8004
8026
  return n;
8005
8027
  }
@@ -8044,7 +8066,7 @@ class ei extends T {
8044
8066
  return;
8045
8067
  }
8046
8068
  if (n && s !== void 0) {
8047
- const [r] = ye(
8069
+ const [r] = we(
8048
8070
  [{
8049
8071
  data: s,
8050
8072
  tool: e.name
@@ -8055,8 +8077,8 @@ class ei extends T {
8055
8077
  await o(r.data);
8056
8078
  return;
8057
8079
  }
8058
- if (t.mergeable && Ke(e, "export") && Ke(t, "import")) {
8059
- const r = await e.exportDataAsString(), l = (i = t.tool.conversionConfig) == null ? void 0 : i.import, c = ht(l) && A(t.tool.sanitizeConfig[l]) ? t.tool.sanitizeConfig[l] : t.tool.sanitizeConfig, d = Z(r, c), h = We(d, t.tool.conversionConfig);
8080
+ if (t.mergeable && Ue(e, "export") && Ue(t, "import")) {
8081
+ const r = await e.exportDataAsString(), l = (i = t.tool.conversionConfig) == null ? void 0 : i.import, c = ht(l) && A(t.tool.sanitizeConfig[l]) ? t.tool.sanitizeConfig[l] : t.tool.sanitizeConfig, d = Z(r, c), h = Ke(d, t.tool.conversionConfig);
8060
8082
  await o(h);
8061
8083
  }
8062
8084
  }
@@ -8184,7 +8206,7 @@ class ei extends T {
8184
8206
  const e = g.isElement(t) ? t : t.parentNode;
8185
8207
  if (!e)
8186
8208
  return;
8187
- const o = this.blocksStore.nodes, n = e.closest(Y(m.element));
8209
+ const o = this.blocksStore.nodes, n = e.closest(j(m.element));
8188
8210
  if (!n)
8189
8211
  return;
8190
8212
  const s = o.indexOf(n);
@@ -8201,10 +8223,10 @@ class ei extends T {
8201
8223
  const e = g.isElement(t) ? t : t.parentNode;
8202
8224
  if (!e)
8203
8225
  return;
8204
- const o = e.closest(Y(m.element));
8226
+ const o = e.closest(j(m.element));
8205
8227
  if (!o)
8206
8228
  return;
8207
- const n = o.closest(Y(m.editor));
8229
+ const n = o.closest(j(m.editor));
8208
8230
  if (!(n == null ? void 0 : n.isEqualNode(this.Blok.UI.nodes.wrapper)) || !(o instanceof HTMLElement))
8209
8231
  return;
8210
8232
  this.currentBlockIndex = this.blocksStore.nodes.indexOf(o);
@@ -8222,7 +8244,7 @@ class ei extends T {
8222
8244
  const e = g.isElement(t) ? t : t.parentNode;
8223
8245
  if (!e)
8224
8246
  return;
8225
- const o = e.closest(Y(m.element));
8247
+ const o = e.closest(j(m.element));
8226
8248
  if (o)
8227
8249
  return this.blocks.find((n) => n.holder === o);
8228
8250
  }
@@ -8234,18 +8256,18 @@ class ei extends T {
8234
8256
  */
8235
8257
  move(t, e = this.currentBlockIndex, o = !1) {
8236
8258
  if (isNaN(t) || isNaN(e)) {
8237
- C("Warning during 'move' call: incorrect indices provided.", "warn");
8259
+ I("Warning during 'move' call: incorrect indices provided.", "warn");
8238
8260
  return;
8239
8261
  }
8240
8262
  if (!this.validateIndex(t) || !this.validateIndex(e)) {
8241
- C("Warning during 'move' call: indices cannot be lower than 0 or greater than the amount of blocks.", "warn");
8263
+ I("Warning during 'move' call: indices cannot be lower than 0 or greater than the amount of blocks.", "warn");
8242
8264
  return;
8243
8265
  }
8244
8266
  this.blocksStore.move(t, e, o), this.currentBlockIndex = t;
8245
8267
  const n = this.currentBlock;
8246
8268
  if (n === void 0)
8247
8269
  throw new Error(`Could not move Block. Block at index ${t} is not available.`);
8248
- this.blockDidMutated(Gs, n, {
8270
+ this.blockDidMutated(Js, n, {
8249
8271
  fromIndex: e,
8250
8272
  toIndex: t
8251
8273
  });
@@ -8267,8 +8289,8 @@ class ei extends T {
8267
8289
  throw new Error(`Could not convert Block. Tool «${e}» not found.`);
8268
8290
  const i = await t.exportDataAsString(), r = (u = s.conversionConfig) == null ? void 0 : u.import, l = ht(r) && A(s.sanitizeConfig[r]) ? s.sanitizeConfig[r] : s.sanitizeConfig, c = Z(
8269
8291
  i,
8270
- Se(this.config.sanitizer, l)
8271
- ), d = We(c, s.conversionConfig, s.settings), h = o ? Object.assign(d, o) : d;
8292
+ Te(this.config.sanitizer, l)
8293
+ ), d = Ke(c, s.conversionConfig, s.settings), h = o ? Object.assign(d, o) : d;
8272
8294
  return this.replace(t, s.name, h);
8273
8295
  }
8274
8296
  /**
@@ -8285,7 +8307,7 @@ class ei extends T {
8285
8307
  * 2) in api.blocks.clear we should add empty block
8286
8308
  */
8287
8309
  async clear(t = !1) {
8288
- const e = new Ro();
8310
+ const e = new Po();
8289
8311
  [...this.blocks].forEach((n) => {
8290
8312
  e.add(async () => {
8291
8313
  await this.removeBlock(n, !1);
@@ -8451,7 +8473,7 @@ class ei extends T {
8451
8473
  }), e;
8452
8474
  }
8453
8475
  }
8454
- class oi extends T {
8476
+ class ni extends T {
8455
8477
  constructor() {
8456
8478
  super(...arguments), this.anyBlockSelectedCache = null, this._navigationModeEnabled = !1, this.navigationFocusIndex = -1, this.needToSelectAll = !1, this.nativeInputSelected = !1, this.readyToBlockSelection = !1, this.selection = new y();
8457
8479
  }
@@ -8484,7 +8506,7 @@ class oi extends T {
8484
8506
  i: {},
8485
8507
  u: {}
8486
8508
  };
8487
- return Se(this.config.sanitizer, t);
8509
+ return Te(this.config.sanitizer, t);
8488
8510
  }
8489
8511
  /**
8490
8512
  * Flag that identifies all Blocks selection
@@ -8764,29 +8786,29 @@ class oi extends T {
8764
8786
  return;
8765
8787
  e.insertDefaultBlockAtIndex(n, !0);
8766
8788
  const s = e.currentBlock;
8767
- s && o.setToBlock(s), _t(() => {
8789
+ s && o.setToBlock(s), Ft(() => {
8768
8790
  const i = t.key;
8769
8791
  o.insertContentAtCaretPosition(i.length > 1 ? "" : i);
8770
8792
  }, 20)();
8771
8793
  }
8772
8794
  }
8773
- const ni = 127, co = (a) => {
8795
+ const si = 127, co = (a) => {
8774
8796
  for (const t of a) {
8775
8797
  if (t.trim().length === 0)
8776
8798
  continue;
8777
8799
  if (t >= "0" && t <= "9" || t.toLowerCase() !== t.toUpperCase())
8778
8800
  return !1;
8779
8801
  const e = t.codePointAt(0);
8780
- if (typeof e == "number" && e > ni)
8802
+ if (typeof e == "number" && e > si)
8781
8803
  return !1;
8782
8804
  }
8783
8805
  return !0;
8784
- }, Po = (a) => {
8806
+ }, Ho = (a) => {
8785
8807
  var t;
8786
- return a.nodeType === Node.TEXT_NODE ? [a] : (t = a.hasChildNodes) != null && t.call(a) ? Array.from(a.childNodes).flatMap((e) => Po(e)) : [];
8787
- }, si = (a) => {
8808
+ return a.nodeType === Node.TEXT_NODE ? [a] : (t = a.hasChildNodes) != null && t.call(a) ? Array.from(a.childNodes).flatMap((e) => Ho(e)) : [];
8809
+ }, ii = (a) => {
8788
8810
  var n, s;
8789
- const t = Po(a);
8811
+ const t = Ho(a);
8790
8812
  if (t.length === 0)
8791
8813
  return null;
8792
8814
  const e = t[t.length - 1], o = (n = [...t].reverse().find((i) => {
@@ -8795,7 +8817,7 @@ const ni = 127, co = (a) => {
8795
8817
  })) != null ? n : null;
8796
8818
  return o && o !== e && co((s = e.textContent) != null ? s : "") && o.parentNode !== a ? o : e;
8797
8819
  };
8798
- class De extends T {
8820
+ class Me extends T {
8799
8821
  /**
8800
8822
  * Allowed caret positions in input
8801
8823
  * @static
@@ -8866,7 +8888,7 @@ class De extends T {
8866
8888
  node: e,
8867
8889
  offset: g.getContentLength(e)
8868
8890
  };
8869
- const o = si(t);
8891
+ const o = ii(t);
8870
8892
  return o ? {
8871
8893
  node: o,
8872
8894
  offset: g.getContentLength(o)
@@ -9052,7 +9074,7 @@ class De extends T {
9052
9074
  const { currentBlock: e, previousBlock: o } = this.Blok.BlockManager;
9053
9075
  if (!e)
9054
9076
  return !1;
9055
- const { previousInput: n, currentInput: s } = e, i = s !== void 0 ? Ht(s) : void 0, r = t || i || !e.focusable;
9077
+ const { previousInput: n, currentInput: s } = e, i = s !== void 0 ? Pt(s) : void 0, r = t || i || !e.focusable;
9056
9078
  return n && r ? (this.setToInput(n, this.positions.END), !0) : o !== null && r ? (this.setToBlock(o, this.positions.END), !0) : !1;
9057
9079
  }
9058
9080
  /**
@@ -9083,7 +9105,7 @@ class De extends T {
9083
9105
  if (e.isEmpty)
9084
9106
  return this.navigateToBlock(o, !0);
9085
9107
  const { currentInput: n } = e;
9086
- if (!(n !== void 0 ? $s(n) : !0))
9108
+ if (!(n !== void 0 ? js(n) : !0))
9087
9109
  return !1;
9088
9110
  const i = eo(), { nextInput: r } = e;
9089
9111
  if (r)
@@ -9112,7 +9134,7 @@ class De extends T {
9112
9134
  if (e.isEmpty)
9113
9135
  return this.navigateToBlock(o, !1);
9114
9136
  const { currentInput: n } = e;
9115
- if (!(n !== void 0 ? Ws(n) : !0))
9137
+ if (!(n !== void 0 ? $s(n) : !0))
9116
9138
  return !1;
9117
9139
  const i = eo(), { previousInput: r } = e;
9118
9140
  return r ? (this.setToInputAtXPosition(r, i, !1), !0) : o !== null ? (this.setToBlockAtXPosition(o, i, !1), !0) : !1;
@@ -9123,7 +9145,7 @@ class De extends T {
9123
9145
  */
9124
9146
  createShadow(t) {
9125
9147
  const e = document.createElement("span");
9126
- e.setAttribute(De.DATA_ATTR.shadowCaret, ""), e.setAttribute("data-blok-testid", "shadow-caret"), t.insertAdjacentElement("beforeend", e);
9148
+ e.setAttribute(Me.DATA_ATTR.shadowCaret, ""), e.setAttribute("data-blok-testid", "shadow-caret"), t.insertAdjacentElement("beforeend", e);
9127
9149
  }
9128
9150
  /**
9129
9151
  * Restores caret position
@@ -9152,7 +9174,7 @@ class De extends T {
9152
9174
  l !== null && l.textContent !== null && r.setStart(l, l.textContent.length), n.removeAllRanges(), n.addRange(r);
9153
9175
  }
9154
9176
  }
9155
- class ii extends T {
9177
+ class ri extends T {
9156
9178
  constructor() {
9157
9179
  super(...arguments), this.firstSelectedBlock = null, this.lastSelectedBlock = null, this.onMouseUp = () => {
9158
9180
  this.listeners.off(document, "mouseover", this.onMouseOver), this.listeners.off(document, "mouseup", this.onMouseUp), this.isCrossBlockSelectionStarted && this.Blok.Toolbar.moveAndOpenForMultipleBlocks();
@@ -9189,7 +9211,7 @@ class ii extends T {
9189
9211
  * @param {MouseEvent} event - mouse down event
9190
9212
  */
9191
9213
  watchSelection(t) {
9192
- if (t.button !== on.LEFT)
9214
+ if (t.button !== nn.LEFT)
9193
9215
  return;
9194
9216
  const { BlockManager: e } = this.Blok, o = e.getBlock(t.target);
9195
9217
  o && (this.firstSelectedBlock = o, this.lastSelectedBlock = o, this.listeners.on(document, "mouseover", this.onMouseOver), this.listeners.on(document, "mouseup", this.onMouseUp));
@@ -9266,7 +9288,7 @@ class ii extends T {
9266
9288
  this.Blok.Toolbar.close();
9267
9289
  }
9268
9290
  }
9269
- const Ot = {
9291
+ const Lt = {
9270
9292
  base: "fixed pointer-events-none z-[10000] opacity-80 transition-none",
9271
9293
  content: "relative mx-auto max-w-content"
9272
9294
  }, Q = {
@@ -9283,7 +9305,7 @@ const Ot = {
9283
9305
  /** Horizontal distance to the left of blocks where drop is still valid */
9284
9306
  leftDropZone: 50
9285
9307
  };
9286
- class ri extends T {
9308
+ class ai extends T {
9287
9309
  constructor() {
9288
9310
  super(...arguments), this.dragState = null, this.boundHandlers = null;
9289
9311
  }
@@ -9360,10 +9382,10 @@ class ri extends T {
9360
9382
  * @returns Preview element
9361
9383
  */
9362
9384
  createPreview(t, e) {
9363
- const o = g.make("div", Ot.base), n = t.cloneNode(!0);
9364
- n.className = I(Ot.content, e ? "max-w-none" : "");
9385
+ const o = g.make("div", Lt.base), n = t.cloneNode(!0);
9386
+ n.className = C(Lt.content, e ? "max-w-none" : "");
9365
9387
  const s = n.firstElementChild;
9366
- return s && (s.className = I(s.className, "!m-0")), o.appendChild(n), o;
9388
+ return s && (s.className = C(s.className, "!m-0")), o.appendChild(n), o;
9367
9389
  }
9368
9390
  /**
9369
9391
  * Creates a stacked preview element for multiple blocks
@@ -9371,7 +9393,7 @@ class ri extends T {
9371
9393
  * @returns Preview element with stacked blocks and count badge
9372
9394
  */
9373
9395
  createMultiBlockPreview(t) {
9374
- const e = g.make("div", Ot.base), o = t.map((l) => {
9396
+ const e = g.make("div", Lt.base), o = t.map((l) => {
9375
9397
  const c = l.holder.getBoundingClientRect(), d = l.holder.querySelector("[data-blok-element-content]");
9376
9398
  if (!d)
9377
9399
  return { width: 0, height: 0, element: null, holderHeight: 0 };
@@ -9397,9 +9419,9 @@ class ri extends T {
9397
9419
  if (!d.element)
9398
9420
  return;
9399
9421
  const h = d.element.cloneNode(!0);
9400
- h.className = I(Ot.content, l.stretched ? "max-w-none" : "");
9422
+ h.className = C(Lt.content, l.stretched ? "max-w-none" : "");
9401
9423
  const u = h.firstElementChild;
9402
- u && (u.className = I(u.className, "!m-0")), h.style.position = "absolute", h.style.top = `${n[c]}px`, h.style.left = "0", h.style.zIndex = `${t.length - c}`, e.appendChild(h);
9424
+ u && (u.className = C(u.className, "!m-0")), h.style.position = "absolute", h.style.top = `${n[c]}px`, h.style.left = "0", h.style.zIndex = `${t.length - c}`, e.appendChild(h);
9403
9425
  }), e.style.width = `${s}px`, e.style.height = `${r}px`, e;
9404
9426
  }
9405
9427
  /**
@@ -9796,7 +9818,7 @@ class ri extends T {
9796
9818
  * @returns Object with block and holder, or nulls if no valid target found
9797
9819
  */
9798
9820
  findDropTargetBlock(t, e, o) {
9799
- const n = t.closest(Y(m.element));
9821
+ const n = t.closest(j(m.element));
9800
9822
  if (n)
9801
9823
  return { block: this.Blok.BlockManager.blocks.find((r) => r.holder === n), holder: n };
9802
9824
  const s = this.findBlockInLeftDropZone(e, o);
@@ -9830,7 +9852,7 @@ class ri extends T {
9830
9852
  this.cleanup();
9831
9853
  }
9832
9854
  }
9833
- class ai extends T {
9855
+ class li extends T {
9834
9856
  /**
9835
9857
  * Prepare the module
9836
9858
  * @param options - options used by the modification observer module
@@ -9841,13 +9863,13 @@ class ai extends T {
9841
9863
  super({
9842
9864
  config: t,
9843
9865
  eventsDispatcher: e
9844
- }), this.disabled = !1, this.batchingTimeout = null, this.batchingOnChangeQueue = /* @__PURE__ */ new Map(), this.batchTime = nn, this.mutationObserver = new MutationObserver((o) => {
9866
+ }), this.disabled = !1, this.batchingTimeout = null, this.batchingOnChangeQueue = /* @__PURE__ */ new Map(), this.batchTime = sn, this.mutationObserver = new MutationObserver((o) => {
9845
9867
  this.redactorChanged(o);
9846
9868
  }), this.eventsDispatcher.on(wt, (o) => {
9847
9869
  this.particularBlockChanged(o.event);
9848
- }), this.eventsDispatcher.on(Bo, () => {
9849
- this.disable();
9850
9870
  }), this.eventsDispatcher.on(wo, () => {
9871
+ this.disable();
9872
+ }), this.eventsDispatcher.on(yo, () => {
9851
9873
  this.enable();
9852
9874
  });
9853
9875
  }
@@ -9889,7 +9911,7 @@ class ai extends T {
9889
9911
  * @param mutations - mutations happened
9890
9912
  */
9891
9913
  redactorChanged(t) {
9892
- this.eventsDispatcher.emit(ie, {
9914
+ this.eventsDispatcher.emit(se, {
9893
9915
  mutations: t
9894
9916
  });
9895
9917
  }
@@ -9911,7 +9933,7 @@ const ho = /* @__PURE__ */ new Set([
9911
9933
  "dl",
9912
9934
  "dt",
9913
9935
  "dd"
9914
- ]), Wt = class Wt extends T {
9936
+ ]), Kt = class Kt extends T {
9915
9937
  constructor() {
9916
9938
  super(...arguments), this.MIME_TYPE = "application/x-blok", this.toolsTags = {}, this.tagsByTool = {}, this.toolsPatterns = [], this.toolsFiles = {}, this.exceptionList = [], this.handlePasteEventWrapper = (t) => {
9917
9939
  this.handlePasteEvent(t);
@@ -9925,7 +9947,7 @@ const ho = /* @__PURE__ */ new Set([
9925
9947
  return;
9926
9948
  this.getTagsConfig(t), this.getFilesConfig(t), this.getPatternsConfig(t);
9927
9949
  } catch (e) {
9928
- C(
9950
+ I(
9929
9951
  `Paste handling for «${t.name}» Tool hasn't been set up because of the error`,
9930
9952
  "warn",
9931
9953
  e
@@ -10014,7 +10036,7 @@ const ho = /* @__PURE__ */ new Set([
10014
10036
  (b = this.toolsTags[p].sanitizationConfig) != null ? b : {}
10015
10037
  ];
10016
10038
  })
10017
- ), c = e.getAllInlineToolsSanitizeConfig(), d = Se(
10039
+ ), c = e.getAllInlineToolsSanitizeConfig(), d = Te(
10018
10040
  this.config.sanitizer,
10019
10041
  l,
10020
10042
  c,
@@ -10085,7 +10107,7 @@ const ho = /* @__PURE__ */ new Set([
10085
10107
  const s = this.collectTagNames(n);
10086
10108
  o.push(...s), s.forEach((i) => {
10087
10109
  if (Object.prototype.hasOwnProperty.call(this.toolsTags, i)) {
10088
- C(
10110
+ I(
10089
10111
  `Paste handler for «${t.name}» Tool on «${i}» tag is skipped because it is already used by «${this.toolsTags[i].tool.name}» Tool.`,
10090
10112
  "warn"
10091
10113
  );
@@ -10109,7 +10131,7 @@ const ho = /* @__PURE__ */ new Set([
10109
10131
  const { files: e = {} } = t.pasteConfig, { extensions: o, mimeTypes: n } = e;
10110
10132
  if (!o && !n)
10111
10133
  return;
10112
- const s = o == null ? [] : Array.isArray(o) ? o : (C(`«extensions» property of the paste config for «${t.name}» Tool should be an array`), []), i = n == null ? [] : Array.isArray(n) ? n.filter((r) => sn(r) ? !0 : (C(`MIME type value «${r}» for the «${t.name}» Tool is not a valid MIME type`, "warn"), !1)) : (C(`«mimeTypes» property of the paste config for «${t.name}» Tool should be an array`), []);
10134
+ const s = o == null ? [] : Array.isArray(o) ? o : (I(`«extensions» property of the paste config for «${t.name}» Tool should be an array`), []), i = n == null ? [] : Array.isArray(n) ? n.filter((r) => rn(r) ? !0 : (I(`MIME type value «${r}» for the «${t.name}» Tool is not a valid MIME type`, "warn"), !1)) : (I(`«mimeTypes» property of the paste config for «${t.name}» Tool should be an array`), []);
10113
10135
  this.toolsFiles[t.name] = {
10114
10136
  extensions: s,
10115
10137
  mimeTypes: i
@@ -10121,7 +10143,7 @@ const ho = /* @__PURE__ */ new Set([
10121
10143
  */
10122
10144
  getPatternsConfig(t) {
10123
10145
  t.pasteConfig === !1 || !t.pasteConfig.patterns || N(t.pasteConfig.patterns) || Object.entries(t.pasteConfig.patterns).forEach(([e, o]) => {
10124
- o instanceof RegExp || C(
10146
+ o instanceof RegExp || I(
10125
10147
  `Pattern ${o} for «${t.name}» Tool is skipped because it should be a Regexp instance.`,
10126
10148
  "warn"
10127
10149
  ), this.toolsPatterns.push({
@@ -10159,7 +10181,7 @@ const ho = /* @__PURE__ */ new Set([
10159
10181
  * @param {File} file - file to process
10160
10182
  */
10161
10183
  async processFile(t) {
10162
- const e = rn(t), o = Object.entries(this.toolsFiles).find(([i, { mimeTypes: r, extensions: l }]) => {
10184
+ const e = an(t), o = Object.entries(this.toolsFiles).find(([i, { mimeTypes: r, extensions: l }]) => {
10163
10185
  const [c, d] = t.type.split("/"), h = l.find((f) => f.toLowerCase() === e.toLowerCase()), u = r.find((f) => {
10164
10186
  const [p, b] = f.split("/");
10165
10187
  return p === c && (b === d || b === "*");
@@ -10287,7 +10309,7 @@ const ho = /* @__PURE__ */ new Set([
10287
10309
  */
10288
10310
  async processInlinePaste(t) {
10289
10311
  var c, d;
10290
- const { BlockManager: e, Caret: o } = this.Blok, { content: n } = t, s = (d = (c = e.currentBlock) == null ? void 0 : c.tool.isDefault) != null ? d : !1, i = n.textContent, l = s && i !== null && i.length < Wt.PATTERN_PROCESSING_MAX_LENGTH && i !== null ? await this.processPattern(i) : void 0;
10312
+ const { BlockManager: e, Caret: o } = this.Blok, { content: n } = t, s = (d = (c = e.currentBlock) == null ? void 0 : c.tool.isDefault) != null ? d : !1, i = n.textContent, l = s && i !== null && i.length < Kt.PATTERN_PROCESSING_MAX_LENGTH && i !== null ? await this.processPattern(i) : void 0;
10291
10313
  if (l) {
10292
10314
  const h = e.currentBlock && e.currentBlock.tool.isDefault && e.currentBlock.isEmpty, u = await e.paste(l.tool, l.event, h);
10293
10315
  o.setToBlock(u, o.positions.END);
@@ -10342,7 +10364,7 @@ const ho = /* @__PURE__ */ new Set([
10342
10364
  */
10343
10365
  insertBlokData(t) {
10344
10366
  const { BlockManager: e, Caret: o, Tools: n } = this.Blok;
10345
- ye(
10367
+ we(
10346
10368
  t,
10347
10369
  (i) => {
10348
10370
  var r, l;
@@ -10418,9 +10440,9 @@ const ho = /* @__PURE__ */ new Set([
10418
10440
  });
10419
10441
  }
10420
10442
  };
10421
- Wt.PATTERN_PROCESSING_MAX_LENGTH = 450;
10422
- let ge = Wt;
10423
- class li extends T {
10443
+ Kt.PATTERN_PROCESSING_MAX_LENGTH = 450;
10444
+ let fe = Kt;
10445
+ class ci extends T {
10424
10446
  constructor() {
10425
10447
  super(...arguments), this.toolsDontSupportReadOnly = [], this.readOnlyEnabled = !1;
10426
10448
  }
@@ -10468,7 +10490,7 @@ class li extends T {
10468
10490
  );
10469
10491
  }
10470
10492
  }
10471
- class ci extends T {
10493
+ class di extends T {
10472
10494
  constructor() {
10473
10495
  super(...arguments), this.isRectSelectionActivated = !1, this.SCROLL_SPEED = 3, this.HEIGHT_OF_SCROLL_ZONE = 40, this.BOTTOM_SCROLL_ZONE = 1, this.TOP_SCROLL_ZONE = 2, this.MAIN_MOUSE_BUTTON = 0, this.mousedown = !1, this.isScrolling = !1, this.inScrollZone = null, this.startX = 0, this.startY = 0, this.mouseX = 0, this.mouseY = 0, this.stackOfSelected = [], this.rectCrossesBlocks = !1, this.overlayRectangle = null, this.listenerIds = [];
10474
10496
  }
@@ -10507,11 +10529,11 @@ class ci extends T {
10507
10529
  if (!(l >= i.top && l <= i.bottom))
10508
10530
  return;
10509
10531
  const d = this.getScrollLeft(), h = document.elementFromPoint(t - d, l);
10510
- !h || (!h.closest(Y(m.toolbar)) && !o && (this.Blok.BlockSelection.allBlocksSelected = !1, this.clearSelection(), this.stackOfSelected = []), [
10511
- Y(m.elementContent),
10512
- Y(m.toolbar),
10513
- Y(m.popover),
10514
- an
10532
+ !h || (!h.closest(j(m.toolbar)) && !o && (this.Blok.BlockSelection.allBlocksSelected = !1, this.clearSelection(), this.stackOfSelected = []), [
10533
+ j(m.elementContent),
10534
+ j(m.toolbar),
10535
+ j(m.popover),
10536
+ ln
10515
10537
  ].some((b) => !!h.closest(b))) || (this.Blok.Toolbar.close(), this.mousedown = !0, this.startX = t, this.startY = e);
10516
10538
  }
10517
10539
  /**
@@ -10539,7 +10561,7 @@ class ci extends T {
10539
10561
  this.genHTML(), this.listeners.on(document.body, "mousedown", (o) => {
10540
10562
  this.processMouseDown(o);
10541
10563
  }, !1);
10542
- const t = se((o) => {
10564
+ const t = ne((o) => {
10543
10565
  o instanceof MouseEvent && this.processMouseMove(o);
10544
10566
  }, 10);
10545
10567
  this.listeners.on(document.body, "mousemove", t, {
@@ -10547,7 +10569,7 @@ class ci extends T {
10547
10569
  }), this.listeners.on(document.body, "mouseleave", () => {
10548
10570
  this.processMouseLeave();
10549
10571
  });
10550
- const e = se((o) => {
10572
+ const e = ne((o) => {
10551
10573
  this.processScroll(o);
10552
10574
  }, 10);
10553
10575
  this.listeners.on(window, "scroll", e, {
@@ -10606,7 +10628,7 @@ class ci extends T {
10606
10628
  * @returns {Record<string, Element>}
10607
10629
  */
10608
10630
  genHTML() {
10609
- const { UI: t } = this.Blok, e = t.nodes.holder.querySelector(Y(m.editor)), o = g.make("div", [
10631
+ const { UI: t } = this.Blok, e = t.nodes.holder.querySelector(j(m.editor)), o = g.make("div", [
10610
10632
  "fixed",
10611
10633
  "inset-0",
10612
10634
  "z-overlay",
@@ -10708,7 +10730,7 @@ class ci extends T {
10708
10730
  */
10709
10731
  genInfoForMouseSelection() {
10710
10732
  var p;
10711
- const e = document.body.offsetWidth / 2, o = this.getScrollTop(), n = this.mouseY - o, s = document.elementFromPoint(e, n), i = (p = this.Blok.BlockManager.lastBlock) == null ? void 0 : p.holder, r = i == null ? void 0 : i.querySelector(Y(m.elementContent)), c = (r ? Number.parseInt(window.getComputedStyle(r).width, 10) : 0) / 2, d = e - c, h = e + c;
10733
+ const e = document.body.offsetWidth / 2, o = this.getScrollTop(), n = this.mouseY - o, s = document.elementFromPoint(e, n), i = (p = this.Blok.BlockManager.lastBlock) == null ? void 0 : p.holder, r = i == null ? void 0 : i.querySelector(j(m.elementContent)), c = (r ? Number.parseInt(window.getComputedStyle(r).width, 10) : 0) / 2, d = e - c, h = e + c;
10712
10734
  if (!s)
10713
10735
  return {
10714
10736
  index: void 0,
@@ -10779,35 +10801,38 @@ class ci extends T {
10779
10801
  f.length > 0 && this.stackOfSelected.splice(this.stackOfSelected.length - f.length, f.length);
10780
10802
  }
10781
10803
  }
10782
- const di = (a) => a.some((t) => t.items !== void 0 && t.items.length > 0), hi = (a) => {
10804
+ const hi = (a) => a.some((t) => t.items !== void 0 && t.items.length > 0), ui = (a) => {
10783
10805
  var e;
10784
- return a.type === "list" && ((e = a.data) == null ? void 0 : e.items) ? di(a.data.items) : !1;
10785
- }, ui = (a) => a.parent !== void 0 || a.content !== void 0 && a.content.length > 0, pi = (a) => a.some(ui) ? { format: "hierarchical", hasHierarchy: !0 } : a.some(hi) ? { format: "legacy", hasHierarchy: !0 } : { format: "flat", hasHierarchy: !1 }, Ho = (a, t, e, o, n, s, i) => {
10806
+ return a.type === "list" && ((e = a.data) == null ? void 0 : e.items) ? hi(a.data.items) : !1;
10807
+ }, pi = (a) => a.parent !== void 0 || a.content !== void 0 && a.content.length > 0, fi = (a) => a.some(pi) ? { format: "hierarchical", hasHierarchy: !0 } : a.some(ui) ? { format: "legacy", hasHierarchy: !0 } : { format: "flat", hasHierarchy: !1 }, Fo = (a, t, e, o, n, s, i) => {
10786
10808
  const r = [];
10787
10809
  return a.forEach((l, c) => {
10788
- const d = Be();
10810
+ const d = ve();
10789
10811
  r.push(d);
10790
- const h = l.items && l.items.length > 0 ? Ho(l.items, d, e + 1, o, void 0, s, i) : [], u = o === "ordered" && e === 0 && c === 0 && n !== void 0 && n !== 1, f = w(w(w({
10812
+ const h = o === "ordered" && e === 0 && c === 0 && n !== void 0 && n !== 1, u = l.items && l.items.length > 0, f = w(w({
10791
10813
  id: d,
10792
- type: "list_item",
10793
- data: w({
10814
+ type: "list",
10815
+ data: w(w({
10794
10816
  text: l.content,
10795
10817
  checked: l.checked,
10796
10818
  style: o
10797
- }, u ? { start: n } : {})
10798
- }, s !== void 0 ? { tunes: s } : {}), t !== void 0 ? { parent: t } : {}), h.length > 0 ? { content: h } : {});
10799
- i.push(f);
10819
+ }, e > 0 ? { depth: e } : {}), h ? { start: n } : {})
10820
+ }, s !== void 0 ? { tunes: s } : {}), t !== void 0 ? { parent: t } : {});
10821
+ if (i.push(f), !u)
10822
+ return;
10823
+ const p = Fo(l.items, d, e + 1, o, void 0, s, i);
10824
+ p.length > 0 && (f.content = p);
10800
10825
  }), r;
10801
- }, fi = (a, t) => {
10826
+ }, gi = (a, t) => {
10802
10827
  const e = [], o = a.style, n = a.start;
10803
- return Ho(a.items, void 0, 0, o, n, t, e), e;
10804
- }, gi = (a) => {
10828
+ return Fo(a.items, void 0, 0, o, n, t, e), e;
10829
+ }, mi = (a) => {
10805
10830
  var e, o;
10806
10831
  const t = [];
10807
10832
  for (const n of a) {
10808
- const s = (e = n.id) != null ? e : Be();
10833
+ const s = (e = n.id) != null ? e : ve();
10809
10834
  if (n.type === "list" && ((o = n.data) == null ? void 0 : o.items)) {
10810
- const r = n.data, l = fi(r, n.tunes);
10835
+ const r = n.data, l = gi(r, n.tunes);
10811
10836
  t.push(...l);
10812
10837
  } else
10813
10838
  t.push(R(w({}, n), {
@@ -10815,22 +10840,22 @@ const di = (a) => a.some((t) => t.items !== void 0 && t.items.length > 0), hi =
10815
10840
  }));
10816
10841
  }
10817
10842
  return t;
10818
- }, mi = (a, t) => {
10843
+ }, bi = (a, t) => {
10819
10844
  a && t.add(a);
10820
10845
  }, uo = (a) => {
10821
10846
  const n = a, { parent: t, content: e } = n;
10822
10847
  return jt(n, ["parent", "content"]);
10823
- }, bi = (a, t, e) => {
10848
+ }, ki = (a, t, e) => {
10824
10849
  const o = [];
10825
10850
  for (const n of a) {
10826
10851
  const s = t.get(n);
10827
- if (s && s.type === "list_item") {
10828
- const r = Fo(s, t, e);
10852
+ if (s && s.type === "list") {
10853
+ const r = _o(s, t, e);
10829
10854
  o.push(...r);
10830
10855
  }
10831
10856
  }
10832
10857
  return o;
10833
- }, Fo = (a, t, e) => {
10858
+ }, _o = (a, t, e) => {
10834
10859
  var r, l;
10835
10860
  const o = [];
10836
10861
  a.id && e.add(a.id);
@@ -10838,10 +10863,10 @@ const di = (a) => a.some((t) => t.items !== void 0 && t.items.length > 0), hi =
10838
10863
  content: ((r = a.data) == null ? void 0 : r.text) || "",
10839
10864
  checked: (l = a.data) == null ? void 0 : l.checked
10840
10865
  };
10841
- return a.content && a.content.length > 0 && (n.items = bi(a.content, t, e)), n.items !== void 0 && n.items.length === 0 && delete n.items, o.push(n), o;
10842
- }, ki = (a, t, e) => {
10866
+ return a.content && a.content.length > 0 && (n.items = ki(a.content, t, e)), n.items !== void 0 && n.items.length === 0 && delete n.items, o.push(n), o;
10867
+ }, vi = (a, t, e) => {
10843
10868
  var r, l;
10844
- const o = Fo(a, t, e), n = ((r = a.data) == null ? void 0 : r.style) || "unordered", s = (l = a.data) == null ? void 0 : l.start;
10869
+ const o = _o(a, t, e), n = ((r = a.data) == null ? void 0 : r.style) || "unordered", s = (l = a.data) == null ? void 0 : l.start;
10845
10870
  return w({
10846
10871
  id: a.id,
10847
10872
  type: "list",
@@ -10850,26 +10875,29 @@ const di = (a) => a.some((t) => t.items !== void 0 && t.items.length > 0), hi =
10850
10875
  items: o
10851
10876
  }, n === "ordered" && s !== void 0 && s !== 1 ? { start: s } : {})
10852
10877
  }, a.tunes !== void 0 ? { tunes: a.tunes } : {});
10853
- }, vi = (a) => {
10854
- const t = /* @__PURE__ */ new Map(), e = [];
10878
+ }, po = (a) => {
10879
+ var t, e;
10880
+ return a.type === "list" && ((t = a.data) == null ? void 0 : t.text) !== void 0 && ((e = a.data) == null ? void 0 : e.items) === void 0;
10881
+ }, Bi = (a) => {
10882
+ const t = /* @__PURE__ */ new Map();
10855
10883
  for (const s of a)
10856
- s.id && t.set(s.id, s), s.type === "list_item" && e.push(s);
10857
- if (e.length === 0)
10884
+ s.id && t.set(s.id, s);
10885
+ if (!a.some(po))
10858
10886
  return a.map(uo);
10859
10887
  const o = [], n = /* @__PURE__ */ new Set();
10860
10888
  for (const s of a) {
10861
10889
  if (s.id && n.has(s.id))
10862
10890
  continue;
10863
- const r = s.type === "list_item" && !s.parent, l = s.type !== "list_item";
10864
- if (r) {
10865
- const c = ki(s, t, n);
10866
- o.push(c);
10891
+ const r = po(s), l = r && !s.parent, c = !r;
10892
+ if (l) {
10893
+ const d = vi(s, t, n);
10894
+ o.push(d);
10867
10895
  }
10868
- l && (o.push(uo(s)), mi(s.id, n));
10896
+ c && (o.push(uo(s)), bi(s.id, n));
10869
10897
  }
10870
10898
  return o;
10871
- }, Bi = (a, t) => a === "hierarchical" ? t === "legacy" : !1, wi = (a, t) => a === "legacy" || a === "auto" && t === "legacy";
10872
- class yi extends T {
10899
+ }, wi = (a, t) => a === "hierarchical" ? t === "legacy" : !1, yi = (a, t) => a === "legacy" || a === "auto" && t === "legacy";
10900
+ class xi extends T {
10873
10901
  constructor() {
10874
10902
  super(...arguments), this.detectedInputFormat = "flat";
10875
10903
  }
@@ -10889,13 +10917,13 @@ class yi extends T {
10889
10917
  if (t.length === 0)
10890
10918
  n.insert();
10891
10919
  else {
10892
- const s = this.config.dataModel || "auto", i = pi(t);
10920
+ const s = this.config.dataModel || "auto", i = fi(t);
10893
10921
  this.detectedInputFormat = i.format;
10894
- const l = (Bi(s, i.format) ? gi(t) : t).map((c) => {
10922
+ const l = (wi(s, i.format) ? mi(t) : t).map((c) => {
10895
10923
  const { tunes: d, id: h, parent: u, content: f } = c, p = c.type, b = o.available.has(p) ? {
10896
10924
  tool: p,
10897
10925
  data: c.data
10898
- } : (X(`Tool «${p}» is not found. Check 'tools' property at the Blok config.`, "warn"), {
10926
+ } : (V(`Tool «${p}» is not found. Check 'tools' property at the Blok config.`, "warn"), {
10899
10927
  tool: o.stubTool,
10900
10928
  data: this.composeStubDataForTool(p, c.data, h)
10901
10929
  });
@@ -10910,7 +10938,7 @@ class yi extends T {
10910
10938
  contentIds: f
10911
10939
  });
10912
10940
  } catch (S) {
10913
- C(`Block «${B}» skipped because of plugins error`, "error", {
10941
+ I(`Block «${B}» skipped because of plugins error`, "error", {
10914
10942
  data: x,
10915
10943
  error: S
10916
10944
  });
@@ -10956,7 +10984,7 @@ class yi extends T {
10956
10984
  };
10957
10985
  }
10958
10986
  }
10959
- class xi extends T {
10987
+ class Ti extends T {
10960
10988
  /**
10961
10989
  * Composes new chain of Promises to fire them alternatelly
10962
10990
  * @returns {OutputData | undefined}
@@ -10967,7 +10995,7 @@ class xi extends T {
10967
10995
  return {
10968
10996
  time: +/* @__PURE__ */ new Date(),
10969
10997
  blocks: [],
10970
- version: zt()
10998
+ version: _t()
10971
10999
  };
10972
11000
  const n = o.map((s) => this.getSavedData(s));
10973
11001
  this.lastSaveError = void 0;
@@ -10984,7 +11012,7 @@ class xi extends T {
10984
11012
  } catch (s) {
10985
11013
  this.lastSaveError = s;
10986
11014
  const i = s instanceof Error ? s : new Error(String(s));
10987
- X("Saving failed due to the Error %o", "error", i);
11015
+ V("Saving failed due to the Error %o", "error", i);
10988
11016
  return;
10989
11017
  }
10990
11018
  }
@@ -11017,11 +11045,11 @@ class xi extends T {
11017
11045
  const e = [];
11018
11046
  t.forEach(({ id: c, tool: d, data: h, tunes: u, isValid: f, parentId: p, contentIds: b }) => {
11019
11047
  if (!f) {
11020
- C(`Block «${d}» skipped because saved data is invalid`);
11048
+ I(`Block «${d}» skipped because saved data is invalid`);
11021
11049
  return;
11022
11050
  }
11023
11051
  if (d === void 0 || h === void 0) {
11024
- C("Block skipped because saved data is missing required fields");
11052
+ I("Block skipped because saved data is missing required fields");
11025
11053
  return;
11026
11054
  }
11027
11055
  if (d === this.Blok.Tools.stubTool && this.isStubSavedData(h)) {
@@ -11029,7 +11057,7 @@ class xi extends T {
11029
11057
  return;
11030
11058
  }
11031
11059
  if (d === this.Blok.Tools.stubTool) {
11032
- C("Stub block data is malformed and was skipped");
11060
+ I("Stub block data is malformed and was skipped");
11033
11061
  return;
11034
11062
  }
11035
11063
  const k = u === void 0 || N(u), B = p != null, x = b !== void 0 && b.length > 0, S = w(w(w({
@@ -11045,11 +11073,11 @@ class xi extends T {
11045
11073
  });
11046
11074
  e.push(S);
11047
11075
  });
11048
- const o = this.config.dataModel || "auto", n = (l = (r = (i = this.Blok.Renderer) == null ? void 0 : i.getDetectedInputFormat) == null ? void 0 : r.call(i)) != null ? l : "flat", s = wi(o, n) ? vi(e) : e;
11076
+ const o = this.config.dataModel || "auto", n = (l = (r = (i = this.Blok.Renderer) == null ? void 0 : i.getDetectedInputFormat) == null ? void 0 : r.call(i)) != null ? l : "flat", s = yi(o, n) ? Bi(e) : e;
11049
11077
  return {
11050
11078
  time: +/* @__PURE__ */ new Date(),
11051
11079
  blocks: s,
11052
- version: zt()
11080
+ version: _t()
11053
11081
  };
11054
11082
  }
11055
11083
  /**
@@ -11067,7 +11095,7 @@ class xi extends T {
11067
11095
  });
11068
11096
  }), n.length === 0)
11069
11097
  return t;
11070
- const s = ye(
11098
+ const s = we(
11071
11099
  n.map(({ data: r }) => r),
11072
11100
  e,
11073
11101
  o
@@ -11120,7 +11148,7 @@ class xi extends T {
11120
11148
  });
11121
11149
  }
11122
11150
  }
11123
- const Le = class Le {
11151
+ const De = class De {
11124
11152
  /**
11125
11153
  * @param options - constructor options
11126
11154
  * @param options.data - stub tool data
@@ -11148,7 +11176,7 @@ const Le = class Le {
11148
11176
  * @returns {HTMLElement}
11149
11177
  */
11150
11178
  make() {
11151
- const t = g.make("div", "flex items-center py-3 px-[18px] my-2.5 rounded-[10px] bg-bg-light border border-line-gray text-gray-text text-sm [&_svg]:size-icon"), e = ln, o = g.make("div", "ml-3.5"), n = g.make("div", "font-medium capitalize", {
11179
+ const t = g.make("div", "flex items-center py-3 px-[18px] my-2.5 rounded-[10px] bg-bg-light border border-line-gray text-gray-text text-sm [&_svg]:size-icon"), e = cn, o = g.make("div", "ml-3.5"), n = g.make("div", "font-medium capitalize", {
11152
11180
  textContent: this.title
11153
11181
  }), s = g.make("div", "", {
11154
11182
  textContent: this.subtitle
@@ -11156,9 +11184,9 @@ const Le = class Le {
11156
11184
  return t.setAttribute(m.tool, "stub"), t.setAttribute(m.stub, ""), o.setAttribute(m.stubInfo, ""), n.setAttribute(m.stubTitle, ""), s.setAttribute(m.stubSubtitle, ""), t.innerHTML = e, o.appendChild(n), o.appendChild(s), t.appendChild(o), t;
11157
11185
  }
11158
11186
  };
11159
- Le.isReadOnlySupported = !0;
11160
- let me = Le;
11161
- class Ti extends Ee {
11187
+ De.isReadOnlySupported = !0;
11188
+ let ge = De;
11189
+ class Si extends Ie {
11162
11190
  constructor() {
11163
11191
  super(...arguments), this.type = dt.Inline;
11164
11192
  }
@@ -11202,7 +11230,7 @@ class Ti extends Ee {
11202
11230
  return this.constructable.titleKey;
11203
11231
  }
11204
11232
  }
11205
- class Si extends Ee {
11233
+ class Ci extends Ie {
11206
11234
  constructor() {
11207
11235
  super(...arguments), this.type = dt.Tune;
11208
11236
  }
@@ -11258,7 +11286,7 @@ class _ extends Map {
11258
11286
  return new _(t);
11259
11287
  }
11260
11288
  }
11261
- class Ii extends Ee {
11289
+ class Ii extends Ie {
11262
11290
  constructor() {
11263
11291
  super(...arguments), this.type = dt.Block, this.inlineTools = new _(), this.tunes = new _();
11264
11292
  }
@@ -11308,7 +11336,7 @@ class Ii extends Ee {
11308
11336
  * whose `data.style` matches one of the specified styles will be included.
11309
11337
  */
11310
11338
  get toolbox() {
11311
- const t = this.constructable[pt.Toolbox], e = this.config[Pt.Toolbox];
11339
+ const t = this.constructable[pt.Toolbox], e = this.config[Rt.Toolbox];
11312
11340
  if (!t || N(t) || e === !1)
11313
11341
  return;
11314
11342
  const o = this.mergeToolboxSettings(t, e), n = this.filterToolboxEntriesByStyles(o);
@@ -11358,14 +11386,14 @@ class Ii extends Ee {
11358
11386
  * Defaults to true (all inline tools) unless explicitly set to false or array.
11359
11387
  */
11360
11388
  get enabledInlineTools() {
11361
- const t = this.config[Pt.EnabledInlineTools];
11389
+ const t = this.config[Rt.EnabledInlineTools];
11362
11390
  return t === void 0 ? !0 : t;
11363
11391
  }
11364
11392
  /**
11365
11393
  * Returns enabled tunes for Tool
11366
11394
  */
11367
11395
  get enabledBlockTunes() {
11368
- return this.config[Pt.EnabledBlockTunes];
11396
+ return this.config[Rt.EnabledBlockTunes];
11369
11397
  }
11370
11398
  /**
11371
11399
  * User-provided search terms from tool settings.
@@ -11417,7 +11445,7 @@ class Ii extends Ee {
11417
11445
  return Array.from(this.inlineTools.values()).forEach((e) => Object.assign(t, e.sanitizeConfig)), Array.from(this.tunes.values()).forEach((e) => Object.assign(t, e.sanitizeConfig)), this._baseSanitizeConfig = t, t;
11418
11446
  }
11419
11447
  }
11420
- class Ci {
11448
+ class Ei {
11421
11449
  /**
11422
11450
  * @class
11423
11451
  * @param config - tools config
@@ -11479,16 +11507,16 @@ class Ci {
11479
11507
  */
11480
11508
  getConstructor(t) {
11481
11509
  switch (!0) {
11482
- case !!Reflect.get(t, Co.IsInline):
11483
- return Ti;
11484
- case !!Reflect.get(t, Eo.IsTune):
11510
+ case !!Reflect.get(t, Eo.IsInline):
11485
11511
  return Si;
11512
+ case !!Reflect.get(t, Ao.IsTune):
11513
+ return Ci;
11486
11514
  default:
11487
11515
  return Ii;
11488
11516
  }
11489
11517
  }
11490
11518
  }
11491
- const Oe = class Oe {
11519
+ const Le = class Le {
11492
11520
  /**
11493
11521
  * DeleteTune constructor
11494
11522
  * @param {API} api - Blok's API
@@ -11501,7 +11529,7 @@ const Oe = class Oe {
11501
11529
  */
11502
11530
  render() {
11503
11531
  return {
11504
- icon: ko,
11532
+ icon: vo,
11505
11533
  title: this.api.i18n.t("blockSettings.delete"),
11506
11534
  name: "delete",
11507
11535
  onActivate: () => this.handleClick()
@@ -11514,13 +11542,13 @@ const Oe = class Oe {
11514
11542
  this.api.blocks.delete();
11515
11543
  }
11516
11544
  };
11517
- Oe.isTune = !0;
11518
- let be = Oe;
11519
- const oe = (a) => {
11545
+ Le.isTune = !0;
11546
+ let me = Le;
11547
+ const ee = (a) => {
11520
11548
  if (!E(a))
11521
11549
  throw new Error("Tool constructable must be a function");
11522
11550
  return a;
11523
- }, $t = class $t extends T {
11551
+ }, Wt = class Wt extends T {
11524
11552
  constructor() {
11525
11553
  super(...arguments), this.stubTool = "stub", this.factory = null, this.toolsAvailable = new _(), this.toolsUnavailable = new _(), this.inlineToolsSanitizeConfigCache = null;
11526
11554
  }
@@ -11585,7 +11613,7 @@ const oe = (a) => {
11585
11613
  if (!e || Object.keys(e).length === 0)
11586
11614
  throw Error("Can't start without tools");
11587
11615
  const o = this.prepareConfig(e);
11588
- this.factory = new Ci(o, this.config, this.Blok.API);
11616
+ this.factory = new Ei(o, this.config, this.Blok.API);
11589
11617
  const n = this.getListOfPrepareFunctions(o);
11590
11618
  if (n.length === 0)
11591
11619
  return Promise.resolve();
@@ -11593,10 +11621,10 @@ const oe = (a) => {
11593
11621
  this.isToolPrepareData(c) && this.toolPrepareMethodSuccess({ toolName: c.toolName });
11594
11622
  }, i = (c) => {
11595
11623
  this.isToolPrepareData(c) && this.toolPrepareMethodFallback({ toolName: c.toolName });
11596
- }, r = new Ro();
11624
+ }, r = new Po();
11597
11625
  n.forEach((c) => {
11598
11626
  r.add(async () => {
11599
- const d = cn(c.data) ? {} : c.data;
11627
+ const d = dn(c.data) ? {} : c.data;
11600
11628
  try {
11601
11629
  await c.function(c.data), s(d);
11602
11630
  } catch (h) {
@@ -11625,12 +11653,12 @@ const oe = (a) => {
11625
11653
  try {
11626
11654
  return t.reset();
11627
11655
  } catch (o) {
11628
- C(`Tool "${t.name}" reset failed`, "warn", o);
11656
+ I(`Tool "${t.name}" reset failed`, "warn", o);
11629
11657
  return;
11630
11658
  }
11631
11659
  })();
11632
11660
  e instanceof Promise && e.catch((o) => {
11633
- C(`Tool "${t.name}" reset failed`, "warn", o);
11661
+ I(`Tool "${t.name}" reset failed`, "warn", o);
11634
11662
  });
11635
11663
  }
11636
11664
  }
@@ -11647,15 +11675,15 @@ const oe = (a) => {
11647
11675
  get internalTools() {
11648
11676
  return {
11649
11677
  stub: {
11650
- class: oe(me),
11678
+ class: ee(ge),
11651
11679
  isInternal: !0
11652
11680
  },
11653
11681
  delete: {
11654
- class: oe(be),
11682
+ class: ee(me),
11655
11683
  isInternal: !0
11656
11684
  },
11657
11685
  convertTo: {
11658
- class: oe(dn),
11686
+ class: ee(hn),
11659
11687
  isInternal: !0
11660
11688
  }
11661
11689
  };
@@ -11672,7 +11700,7 @@ const oe = (a) => {
11672
11700
  }
11673
11701
  const o = ["render"], n = e.getMissingMethods(o);
11674
11702
  if (n.length) {
11675
- C(
11703
+ I(
11676
11704
  `Incorrect Inline Tool: ${e.name}. Some of required methods is not implemented %o`,
11677
11705
  "warn",
11678
11706
  n
@@ -11722,7 +11750,7 @@ const oe = (a) => {
11722
11750
  var n;
11723
11751
  const e = (n = t.config) != null ? n : {}, o = {};
11724
11752
  for (const s of Object.keys(t))
11725
- $t.BLOK_SETTINGS_KEYS.has(s) || (o[s] = t[s]);
11753
+ Wt.BLOK_SETTINGS_KEYS.has(s) || (o[s] = t[s]);
11726
11754
  return w(w({}, e), o);
11727
11755
  }
11728
11756
  /**
@@ -11842,7 +11870,7 @@ const oe = (a) => {
11842
11870
  for (const o of t) {
11843
11871
  const n = this.inlineTools.get(o);
11844
11872
  if (!n) {
11845
- C(`Inline tool "${o}" is not available and will be skipped`, "warn");
11873
+ I(`Inline tool "${o}" is not available and will be skipped`, "warn");
11846
11874
  continue;
11847
11875
  }
11848
11876
  e.push([o, n]);
@@ -11859,7 +11887,7 @@ const oe = (a) => {
11859
11887
  for (const o of t) {
11860
11888
  const n = this.blockTunes.get(o);
11861
11889
  if (!n) {
11862
- C(`Block tune "${o}" is not available and will be skipped`, "warn");
11890
+ I(`Block tune "${o}" is not available and will be skipped`, "warn");
11863
11891
  continue;
11864
11892
  }
11865
11893
  e.push([o, n]);
@@ -11867,7 +11895,7 @@ const oe = (a) => {
11867
11895
  return new _(e);
11868
11896
  }
11869
11897
  };
11870
- $t.BLOK_SETTINGS_KEYS = /* @__PURE__ */ new Set([
11898
+ Wt.BLOK_SETTINGS_KEYS = /* @__PURE__ */ new Set([
11871
11899
  "class",
11872
11900
  "inlineToolbar",
11873
11901
  "tunes",
@@ -11876,15 +11904,15 @@ $t.BLOK_SETTINGS_KEYS = /* @__PURE__ */ new Set([
11876
11904
  "config",
11877
11905
  "isInternal"
11878
11906
  ]);
11879
- let ke = $t;
11880
- const Ei = `*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:PT Mono,Menlo,Monaco,Consolas,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\\!container{width:100%!important}.container{width:100%}@media(min-width:640px){.\\!container{max-width:640px!important}.container{max-width:640px}}@media(min-width:651px){.\\!container{max-width:651px!important}.container{max-width:651px}}@media(min-width:768px){.\\!container{max-width:768px!important}.container{max-width:768px}}@media(min-width:1024px){.\\!container{max-width:1024px!important}.container{max-width:1024px}}@media(min-width:1280px){.\\!container{max-width:1280px!important}.container{max-width:1280px}}@media(min-width:1536px){.\\!container{max-width:1536px!important}.container{max-width:1536px}}.blok-block{padding:3px 2px}.blok-block::-webkit-input-placeholder{line-height:1.5!important}.blok-inline-tool-button{display:flex;height:100%;width:1.75rem;cursor:pointer;align-items:center;justify-content:center;border-radius:.25rem;border-width:0px;background-color:transparent;padding:0;line-height:1.5;--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.blok-inline-tool-button--active{background-color:#388ae51a;--tw-text-opacity: 1;color:rgb(56 138 229 / var(--tw-text-opacity, 1))}.blok-input{width:100%;border-radius:3px;border-width:1px;--tw-border-opacity: 1;border-color:rgb(239 240 241 / var(--tw-border-opacity, 1));padding:.625rem .75rem;--tw-shadow: inset 0 1px 2px 0 rgba(35, 44, 72, .06);--tw-shadow-colored: inset 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);outline:2px solid transparent;outline-offset:2px}.blok-input[data-blok-placeholder]:before{pointer-events:none;position:static!important;display:inline-block;width:0px;content:var(--tw-content);white-space:nowrap}.blok-loader{position:relative;border-width:1px;--tw-border-opacity: 1;border-color:rgb(239 240 241 / var(--tw-border-opacity, 1))}.blok-loader:before{position:absolute;left:50%;top:50%;margin-left:-11px;margin-top:-11px;height:18px;content:var(--tw-content);width:18px}@keyframes rotation{0%{content:var(--tw-content);transform:rotate(0)}to{content:var(--tw-content);transform:rotate(360deg)}}.blok-loader:before{animation:rotation 1.2s infinite linear;border-radius:9999px;border-width:2px;border-color:rgb(239 240 241 / var(--tw-border-opacity, 1));--tw-border-opacity: 1;border-left-color:rgb(56 138 229 / var(--tw-border-opacity, 1));--tw-content: "";content:var(--tw-content)}.blok-button{cursor:pointer;border-radius:3px;border-width:1px;--tw-border-opacity: 1;border-color:rgb(239 240 241 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:13px;text-align:center;font-size:14.9px;--tw-text-opacity: 1;color:rgb(112 118 132 / var(--tw-text-opacity, 1));--tw-shadow: 0 2px 2px 0 rgba(18, 30, 57, .04);--tw-shadow-colored: 0 2px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.blok-button:hover{--tw-bg-opacity: 1;background-color:rgb(251 252 254 / var(--tw-bg-opacity, 1));--tw-shadow: 0 1px 3px 0 rgba(18, 30, 57, .08);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.blok-button svg{margin-right:.2em;margin-top:-.125rem;height:1.25rem}.blok-settings-button{margin:0;display:inline-flex;min-height:26px;min-width:26px;cursor:pointer;align-items:center;justify-content:center;border-radius:3px;border-width:0px;background-color:transparent;vertical-align:bottom;color:inherit;outline:2px solid transparent;outline-offset:2px}@media(max-width:650px){.blok-settings-button{height:36px;width:36px;border-radius:.5rem}}@media(hover:hover){.blok-settings-button:hover{--tw-bg-opacity: 1;background-color:rgb(239 242 245 / var(--tw-bg-opacity, 1))}}.blok-settings-button svg{height:auto;width:auto}@media(max-width:650px){.blok-settings-button svg{height:28px;width:28px}}.blok-settings-button--active{--tw-text-opacity: 1;color:rgb(56 138 229 / var(--tw-text-opacity, 1))}.blok-settings-button--focused{background-color:#22baff14;--tw-shadow: inset 0 0 0 1px rgba(7, 161, 227, .08);--tw-shadow-colored: inset 0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}@keyframes buttonClicked{0%{transform:scale3d(.95,.95,.95)}60%{transform:scale3d(1.02,1.02,1.02)}80%,to{transform:scaleZ(1)}}.blok-settings-button--focused-animated{animation:buttonClicked .75s cubic-bezier(.215,.61,.355,1) forwards}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-\\[auto_var\\(--offset\\)_calc\\(var\\(--offset\\)\\+env\\(safe-area-inset-bottom\\)\\)_var\\(--offset\\)\\]{inset:auto var(--offset) calc(var(--offset) + env(safe-area-inset-bottom)) var(--offset)}.bottom-0{bottom:0}.bottom-5{bottom:1.25rem}.left-0{left:0}.left-5{left:1.25rem}.left-\\[var\\(--popover-left\\)\\]{left:var(--popover-left)}.left-auto{left:auto}.right-0{right:0}.right-\\[15px\\]{right:15px}.right-full{right:100%}.top-0{top:0}.top-\\[7px\\]{top:7px}.top-\\[var\\(--popover-top\\)\\]{top:var(--popover-top)}.top-auto{top:auto}.z-0{z-index:0}.z-\\[10000\\]{z-index:10000}.z-\\[1\\]{z-index:1}.z-\\[2\\]{z-index:2}.z-\\[3\\]{z-index:3}.z-\\[4\\]{z-index:4}.z-overlay{z-index:999}.\\!m-0{margin:0!important}.-m-px{margin:-1px}.m-0{margin:0}.mx-auto{margin-left:auto;margin-right:auto}.my-2\\.5{margin-top:.625rem;margin-bottom:.625rem}.my-4{margin-top:1rem;margin-bottom:1rem}.my-\\[-0\\.5em\\]{margin-top:-.5em;margin-bottom:-.5em}.\\!mr-0{margin-right:0!important}.\\!mr-2{margin-right:.5rem!important}.mb-1{margin-bottom:.25rem}.mb-1\\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-\\[30px\\]{margin-bottom:30px}.mb-px{margin-bottom:1px}.ml-3\\.5{margin-left:.875rem}.mr-2{margin-right:.5rem}.mr-auto{margin-right:auto}.mt-1{margin-top:.25rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-\\[15px\\]{margin-top:15px}.mt-\\[2px\\]{margin-top:2px}.mt-\\[3px\\]{margin-top:3px}.mt-\\[5px\\]{margin-top:5px}.box-border{box-sizing:border-box}.\\!block{display:block!important}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.\\!hidden{display:none!important}.hidden{display:none}.h-2\\.5{height:.625rem}.h-4{height:1rem}.h-9{height:2.25rem}.h-\\[26px\\]{height:26px}.h-\\[50px\\]{height:50px}.h-auto{height:auto}.h-fit{height:-moz-fit-content;height:fit-content}.h-full{height:100%}.h-px{height:1px}.h-toolbox-btn{height:26px}.max-h-0{max-height:0px}.max-h-\\[var\\(--max-height\\)\\]{max-height:var(--max-height)}.max-h-none{max-height:none}.w-2\\.5{width:.625rem}.w-4{width:1rem}.w-6{width:1.5rem}.w-9{width:2.25rem}.w-\\[230px\\]{width:230px}.w-\\[26px\\]{width:26px}.w-\\[var\\(--width\\)\\]{width:var(--width)}.w-auto{width:auto}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-px{width:1px}.w-toolbox-btn{width:26px}.min-w-0{min-width:0px}.min-w-\\[calc\\(100\\%-theme\\(\\'spacing\\.6\\'\\)-10px\\)\\]{min-width:calc(100% - 1.5rem - 10px)}.min-w-\\[calc\\(100\\%-var\\(--offset\\)\\*2\\)\\]{min-width:calc(100% - var(--offset) * 2)}.min-w-\\[var\\(--width\\)\\]{min-width:var(--width)}.min-w-max{min-width:-moz-max-content;min-width:max-content}.max-w-\\[130px\\]{max-width:130px}.max-w-content{max-width:650px}.max-w-none{max-width:none}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.-translate-x-\\[5px\\]{--tw-translate-x: -5px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-\\[5px\\]{--tw-translate-y: -5px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\\[5px\\]{--tw-translate-x: 5px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\\[5px\\]{--tw-translate-y: 5px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform-none{transform:none}@keyframes panelShowingMobile{0%{opacity:0;transform:translateY(14px) scale(.98)}70%{opacity:1;transform:translateY(-4px)}to{transform:translateY(0)}}.animate-\\[panelShowingMobile_250ms_ease\\]{animation:panelShowingMobile .25s ease}@keyframes panelShowing{0%{opacity:0;transform:translateY(-8px) scale(.9)}70%{opacity:1;transform:translateY(2px)}to{transform:translateY(0)}}.animate-\\[panelShowing_100ms_ease\\]{animation:panelShowing .1s ease}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:fade-in .3s ease forwards}.animate-none{animation:none}@keyframes notifyBounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1)}}.animate-notify-bounce-in{animation:notifyBounceIn .6s 1}@keyframes wobble{0%{transform:translateZ(0)}15%{transform:translate3d(-9%,0,0)}30%{transform:translate3d(9%,0,0)}45%{transform:translate3d(-4%,0,0)}60%{transform:translate3d(4%,0,0)}75%{transform:translate3d(-1%,0,0)}to{transform:translateZ(0)}}.animate-wobble{animation:wobble .4s}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.resize{resize:both}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-\\[auto_auto_1fr\\]{grid-template-columns:auto auto 1fr}.grid-rows-\\[auto\\]{grid-template-rows:auto}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:.5rem}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-\\[10px\\]{border-radius:10px}.rounded-\\[3px\\]{border-radius:3px}.rounded-\\[4px\\]{border-radius:4px}.rounded-\\[5px\\]{border-radius:5px}.rounded-\\[7px\\]{border-radius:7px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.border{border-width:1px}.border-0{border-width:0px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-none{border-style:none}.border-\\[\\#e8e8eb\\]{--tw-border-opacity: 1;border-color:rgb(232 232 235 / var(--tw-border-opacity, 1))}.border-\\[rgba\\(226\\,226\\,229\\,0\\.2\\)\\],.border-\\[rgba\\(226\\,226\\,229\\,0\\.20\\)\\]{border-color:#e2e2e533}.border-line-gray,.border-popover-border{--tw-border-opacity: 1;border-color:rgb(239 240 241 / var(--tw-border-opacity, 1))}.border-transparent{border-color:transparent}.\\!bg-\\[\\#fafffe\\]{--tw-bg-opacity: 1 !important;background-color:rgb(250 255 254 / var(--tw-bg-opacity, 1))!important}.\\!bg-\\[\\#fffbfb\\]{--tw-bg-opacity: 1 !important;background-color:rgb(255 251 251 / var(--tw-bg-opacity, 1))!important}.\\!bg-item-confirm-bg{--tw-bg-opacity: 1 !important;background-color:rgb(226 74 74 / var(--tw-bg-opacity, 1))!important}.\\!bg-item-focus-bg{background-color:#22baff14!important}.bg-\\[\\#34c992\\]{--tw-bg-opacity: 1;background-color:rgb(52 201 146 / var(--tw-bg-opacity, 1))}.bg-\\[\\#F8F8F8\\]{--tw-bg-opacity: 1;background-color:rgb(248 248 248 / var(--tw-bg-opacity, 1))}.bg-\\[\\#eff1f4\\]{--tw-bg-opacity: 1;background-color:rgb(239 241 244 / var(--tw-bg-opacity, 1))}.bg-\\[\\#f2f5f7\\]{--tw-bg-opacity: 1;background-color:rgb(242 245 247 / var(--tw-bg-opacity, 1))}.bg-\\[\\#f7f7f7\\]{--tw-bg-opacity: 1;background-color:rgb(247 247 247 / var(--tw-bg-opacity, 1))}.bg-bg-light{--tw-bg-opacity: 1;background-color:rgb(239 242 245 / var(--tw-bg-opacity, 1))}.bg-dark{--tw-bg-opacity: 1;background-color:rgb(29 32 43 / var(--tw-bg-opacity, 1))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-item-hover-bg{--tw-bg-opacity: 1;background-color:rgb(248 248 248 / var(--tw-bg-opacity, 1))}.bg-popover-bg{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-popover-border{--tw-bg-opacity: 1;background-color:rgb(239 240 241 / var(--tw-bg-opacity, 1))}.bg-selection{--tw-bg-opacity: 1;background-color:rgb(225 242 255 / var(--tw-bg-opacity, 1))}.bg-selection-highlight{background-color:#2eaadc33}.bg-tooltip-bg{--tw-bg-opacity: 1;background-color:rgb(29 32 43 / var(--tw-bg-opacity, 1))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.p-0{padding:0}.p-0\\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\\.5{padding:.375rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-\\[3px\\]{padding:3px}.p-\\[5px\\]{padding:5px}.p-\\[var\\(--item-padding\\)\\]{padding:var(--item-padding)}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-\\[18px\\]{padding-left:18px;padding-right:18px}.px-\\[2px\\]{padding-left:2px;padding-right:2px}.px-\\[30px\\]{padding-left:30px;padding-right:30px}.px-\\[3px\\]{padding-left:3px;padding-right:3px}.py-0{padding-top:0;padding-bottom:0}.py-0\\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-\\[0\\.5em\\]{padding-top:.5em;padding-bottom:.5em}.py-\\[13px\\]{padding-top:13px;padding-bottom:13px}.py-\\[3px\\]{padding-top:3px;padding-bottom:3px}.py-\\[5px\\]{padding-top:5px;padding-bottom:5px}.pl-0\\.5{padding-left:.125rem}.pr-1\\.5{padding-right:.375rem}.pr-\\[5px\\]{padding-right:5px}.text-center{text-align:center}.text-right{text-align:right}.text-start{text-align:start}.font-\\[-apple-system\\,BlinkMacSystemFont\\,\\"Segoe_UI\\"\\,\\"Roboto\\"\\,\\"Oxygen\\"\\,\\"Ubuntu\\"\\,\\"Cantarell\\"\\,\\"Fira_Sans\\"\\,\\"Droid_Sans\\"\\,\\"Helvetica_Neue\\"\\,sans-serif\\]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.font-\\[inherit\\]{font-family:inherit}.font-sans{font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\\[13px\\]{font-size:13px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.capitalize{text-transform:capitalize}.italic{font-style:italic}.\\!leading-\\[1\\.3\\]{line-height:1.3!important}.leading-5{line-height:1.25rem}.leading-\\[1\\.4em\\]{line-height:1.4em}.leading-\\[1\\.6em\\]{line-height:1.6em}.leading-\\[1em\\]{line-height:1em}.leading-\\[22px\\]{line-height:22px}.leading-\\[50px\\]{line-height:50px}.leading-relaxed{line-height:1.625}.-tracking-widest{letter-spacing:-.1em}.tracking-\\[0\\.02em\\]{letter-spacing:.02em}.\\!text-white{--tw-text-opacity: 1 !important;color:rgb(255 255 255 / var(--tw-text-opacity, 1))!important}.text-\\[\\#656b7c\\]{--tw-text-opacity: 1;color:rgb(101 107 124 / var(--tw-text-opacity, 1))}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-dark{--tw-text-opacity: 1;color:rgb(29 32 43 / var(--tw-text-opacity, 1))}.text-gray-text{--tw-text-opacity: 1;color:rgb(112 118 132 / var(--tw-text-opacity, 1))}.text-inherit{color:inherit}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-text-primary{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.text-text-secondary{--tw-text-opacity: 1;color:rgb(112 118 132 / var(--tw-text-opacity, 1))}.text-tooltip-font{--tw-text-opacity: 1;color:rgb(205 209 224 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.accent-current{accent-color:currentColor}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-50{opacity:.5}.opacity-55{opacity:.55}.opacity-60{opacity:.6}.opacity-80{opacity:.8}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\\[0_11px_17px_0_rgba\\(23\\,32\\,61\\,0\\.13\\)\\]{--tw-shadow: 0 11px 17px 0 rgba(23,32,61,.13);--tw-shadow-colored: 0 11px 17px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\\[0_1px_1px_0_rgba\\(18\\,49\\,35\\,0\\.05\\)\\]{--tw-shadow: 0 1px 1px 0 rgba(18,49,35,.05);--tw-shadow-colored: 0 1px 1px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\\[0_2px_1px_0_rgba\\(16\\,19\\,29\\,0\\)\\]{--tw-shadow: 0 2px 1px 0 rgba(16,19,29,0);--tw-shadow-colored: 0 2px 1px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\\[0_3px_15px_-3px_theme\\(colors\\.popover-shadow\\)\\]{--tw-shadow: 0 3px 15px -3px rgba(13, 20, 33, .1);--tw-shadow-colored: 0 3px 15px -3px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-tooltip{--tw-shadow: 0 8px 12px 0 rgba(29, 32, 43, .17), 0 4px 5px -3px rgba(5, 6, 12, .49);--tw-shadow-colored: 0 8px 12px 0 var(--tw-shadow-color), 0 4px 5px -3px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\\[opacity\\,transform\\]{transition-property:opacity,transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-none{transition-property:none}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-\\[120ms\\]{transition-duration:.12s}.duration-\\[250ms\\]{transition-duration:.25s}.duration-\\[50ms\\,70ms\\]{transition-duration:50ms,70ms}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-linear{transition-timing-function:linear}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.will-change-\\[opacity\\,left\\,top\\]{will-change:opacity,left,top}.will-change-\\[opacity\\,top\\,left\\]{will-change:opacity,top,left}.will-change-\\[opacity\\,top\\]{will-change:opacity,top}.will-change-\\[opacity\\]{will-change:opacity}.\\[clip\\:rect\\(0\\,0\\,0\\,0\\)\\]{clip:rect(0,0,0,0)}.\\[direction\\:rtl\\]{direction:rtl}[data-blok-navigation-focused=true]{margin-left:auto;margin-right:auto;width:650px;max-width:100%;border-radius:.375rem;background-color:#22baff14}@media(hover:hover){[data-blok-item-name=delete]:hover{--tw-text-opacity: 1;color:rgb(226 74 74 / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}}[data-drop-indicator]{position:relative}[data-drop-indicator]:before{pointer-events:none;position:absolute;z-index:10;height:.375rem;width:100%;max-width:650px;--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-radius:.125rem;--tw-bg-opacity: 1;background-color:rgb(212 227 252 / var(--tw-bg-opacity, 1));--tw-content: "";content:var(--tw-content);left:calc(50% + var(--drop-indicator-depth, 0) * 12px);max-width:calc(650px - var(--drop-indicator-depth, 0) * 24px)}[data-drop-indicator=bottom]:before{bottom:0;--tw-translate-y: 50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}[data-drop-indicator=top]:before{top:0;--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}[data-blok-dragging-multi=true] [data-blok-selected=true]{opacity:.4;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}[data-blok-selected=true] [data-blok-element-content]:has([data-list-style]){background-color:transparent}[data-blok-selected=true] [data-list-style] [role=listitem]{border-radius:4px;--tw-bg-opacity: 1;background-color:rgb(225 242 255 / var(--tw-bg-opacity, 1))}[data-blok-selected=true] [data-list-style] [role=listitem] [contenteditable]{-webkit-user-select:none;-moz-user-select:none;user-select:none}.placeholder\\:font-medium::-moz-placeholder{font-weight:500}.placeholder\\:font-medium::placeholder{font-weight:500}.placeholder\\:text-\\[\\#656b7c\\]::-moz-placeholder{--tw-text-opacity: 1;color:rgb(101 107 124 / var(--tw-text-opacity, 1))}.placeholder\\:text-\\[\\#656b7c\\]::placeholder{--tw-text-opacity: 1;color:rgb(101 107 124 / var(--tw-text-opacity, 1))}.placeholder\\:text-gray-text::-moz-placeholder{--tw-text-opacity: 1;color:rgb(112 118 132 / var(--tw-text-opacity, 1))}.placeholder\\:text-gray-text::placeholder{--tw-text-opacity: 1;color:rgb(112 118 132 / var(--tw-text-opacity, 1))}.before\\:absolute:before{content:var(--tw-content);position:absolute}.before\\:inset-0:before{content:var(--tw-content);inset:0}.before\\:left-0:before{content:var(--tw-content);left:0}.before\\:left-\\[9px\\]:before{content:var(--tw-content);left:9px}.before\\:top-0:before{content:var(--tw-content);top:0}.before\\:top-\\[5px\\]:before{content:var(--tw-content);top:5px}.before\\:-z-10:before{content:var(--tw-content);z-index:-10}.before\\:m-\\[3px\\]:before{content:var(--tw-content);margin:3px}.before\\:block:before{content:var(--tw-content);display:block}.before\\:h-3:before{content:var(--tw-content);height:.75rem}.before\\:h-\\[calc\\(100\\%-6px\\)\\]:before{content:var(--tw-content);height:calc(100% - 6px)}.before\\:w-0\\.5:before{content:var(--tw-content);width:.125rem}.before\\:w-\\[3px\\]:before{content:var(--tw-content);width:3px}.before\\:rotate-\\[-45deg\\]:before{content:var(--tw-content);--tw-rotate: -45deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.before\\:rounded-\\[5px\\]:before{content:var(--tw-content);border-radius:5px}.before\\:rounded-lg:before{content:var(--tw-content);border-radius:.5rem}.before\\:\\!bg-\\[\\#41ffb1\\]:before{content:var(--tw-content);--tw-bg-opacity: 1 !important;background-color:rgb(65 255 177 / var(--tw-bg-opacity, 1))!important}.before\\:\\!bg-\\[\\#fb5d5d\\]:before{content:var(--tw-content);--tw-bg-opacity: 1 !important;background-color:rgb(251 93 93 / var(--tw-bg-opacity, 1))!important}.before\\:bg-\\[\\#575d67\\]:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(87 93 103 / var(--tw-bg-opacity, 1))}.before\\:bg-tooltip-bg:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(29 32 43 / var(--tw-bg-opacity, 1))}.before\\:bg-transparent:before{content:var(--tw-content);background-color:transparent}.before\\:content-\\[\\"\\"\\]:before{--tw-content: "";content:var(--tw-content)}.before\\:content-\\[\\\\\\'\\\\\\'\\]:before{--tw-content: \\'\\';content:var(--tw-content)}.after\\:absolute:after{content:var(--tw-content);position:absolute}.after\\:left-\\[9px\\]:after{content:var(--tw-content);left:9px}.after\\:top-\\[5px\\]:after{content:var(--tw-content);top:5px}.after\\:mx-3:after{content:var(--tw-content);margin-left:.75rem;margin-right:.75rem}.after\\:h-3:after{content:var(--tw-content);height:.75rem}.after\\:w-0\\.5:after{content:var(--tw-content);width:.125rem}.after\\:rotate-45:after{content:var(--tw-content);--tw-rotate: 45deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.after\\:bg-\\[\\#575d67\\]:after{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(87 93 103 / var(--tw-bg-opacity, 1))}.after\\:text-\\[\\#ddd\\]:after{content:var(--tw-content);--tw-text-opacity: 1;color:rgb(221 221 221 / var(--tw-text-opacity, 1))}.after\\:content-\\[\\"\\"\\]:after{--tw-content: "";content:var(--tw-content)}.after\\:content-\\[\\'\\|\\'\\]:after{--tw-content: "|";content:var(--tw-content)}.first\\:mt-0:first-child{margin-top:0}.last\\:ml-2\\.5:last-child{margin-left:.625rem}.empty\\:before\\:pointer-events-none:empty:before{content:var(--tw-content);pointer-events:none}.empty\\:before\\:cursor-text:empty:before{content:var(--tw-content);cursor:text}.empty\\:before\\:text-gray-text:empty:before{content:var(--tw-content);--tw-text-opacity: 1;color:rgb(112 118 132 / var(--tw-text-opacity, 1))}.empty\\:before\\:content-\\[attr\\(data-blok-placeholder\\)\\]:empty:before{--tw-content: attr(data-blok-placeholder);content:var(--tw-content)}.empty\\:before\\:content-\\[attr\\(data-blok-placeholder-active\\)\\]:empty:before{--tw-content: attr(data-blok-placeholder-active);content:var(--tw-content)}.empty\\:before\\:content-\\[attr\\(data-placeholder\\)\\]:empty:before{--tw-content: attr(data-placeholder);content:var(--tw-content)}.hover\\:bg-\\[\\#2db583\\]:hover{--tw-bg-opacity: 1;background-color:rgb(45 181 131 / var(--tw-bg-opacity, 1))}.hover\\:bg-\\[\\#e0e4eb\\]:hover{--tw-bg-opacity: 1;background-color:rgb(224 228 235 / var(--tw-bg-opacity, 1))}.hover\\:bg-\\[\\#e9ecee\\]:hover{--tw-bg-opacity: 1;background-color:rgb(233 236 238 / var(--tw-bg-opacity, 1))}.hover\\:opacity-100:hover{opacity:1}.focus\\:placeholder\\:text-\\[rgba\\(101\\,107\\,124\\,0\\.3\\)\\]:focus::-moz-placeholder{color:#656b7c4d}.focus\\:placeholder\\:text-\\[rgba\\(101\\,107\\,124\\,0\\.3\\)\\]:focus::placeholder{color:#656b7c4d}.empty\\:focus\\:before\\:pointer-events-none:focus:empty:before{content:var(--tw-content);pointer-events:none}.empty\\:focus\\:before\\:cursor-text:focus:empty:before{content:var(--tw-content);cursor:text}.empty\\:focus\\:before\\:text-gray-text:focus:empty:before{content:var(--tw-content);--tw-text-opacity: 1;color:rgb(112 118 132 / var(--tw-text-opacity, 1))}.empty\\:focus\\:before\\:content-\\[attr\\(data-blok-placeholder-active\\)\\]:focus:empty:before{--tw-content: attr(data-blok-placeholder-active);content:var(--tw-content)}.active\\:cursor-grabbing:active{cursor:grabbing}.group[data-blok-dragging=true] .group-data-\\[blok-dragging\\=true\\]\\:pointer-events-none{pointer-events:none}.group[data-blok-rtl=true] .group-data-\\[blok-rtl\\=true\\]\\:left-\\[calc\\(-1\\*theme\\(width\\.toolbox-btn\\)\\)\\]{left:-26px}.group[data-blok-rtl=true] .group-data-\\[blok-rtl\\=true\\]\\:left-auto{left:auto}.group[data-blok-rtl=true] .group-data-\\[blok-rtl\\=true\\]\\:right-\\[calc\\(-1\\*theme\\(width\\.toolbox-btn\\)\\)\\]{right:-26px}.group[data-blok-rtl=true] .group-data-\\[blok-rtl\\=true\\]\\:right-auto{right:auto}.group[data-blok-dragging=true] .group-data-\\[blok-dragging\\=true\\]\\:cursor-grabbing{cursor:grabbing}.group[data-blok-block-settings-opened=true] .group-data-\\[blok-block-settings-opened\\=true\\]\\:bg-bg-light,.group[data-blok-toolbox-opened=true] .group-data-\\[blok-toolbox-opened\\=true\\]\\:bg-bg-light{--tw-bg-opacity: 1;background-color:rgb(239 242 245 / var(--tw-bg-opacity, 1))}@media(max-width:650px){.mobile\\:absolute{position:absolute}.mobile\\:right-auto{right:auto}.mobile\\:z-\\[2\\]{z-index:2}.mobile\\:hidden{display:none}.mobile\\:h-toolbox-btn-mobile{height:36px}.mobile\\:w-toolbox-btn-mobile{width:36px}.mobile\\:rounded-\\[6px\\]{border-radius:6px}.mobile\\:border{border-width:1px}.mobile\\:border-\\[\\#e8e8eb\\]{--tw-border-opacity: 1;border-color:rgb(232 232 235 / var(--tw-border-opacity, 1))}.mobile\\:bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.mobile\\:p-1{padding:.25rem}.mobile\\:text-\\[15px\\]{font-size:15px}.mobile\\:font-medium{font-weight:500}.mobile\\:shadow-overlay-pane{--tw-shadow: 0 3px 15px -3px rgba(13, 20, 33, .13);--tw-shadow-colored: 0 3px 15px -3px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.group[data-blok-rtl=true] .mobile\\:group-data-\\[blok-rtl\\=true\\]\\:ml-0{margin-left:0}.group[data-blok-rtl=true] .mobile\\:group-data-\\[blok-rtl\\=true\\]\\:mr-auto{margin-right:auto}.group[data-blok-rtl=true] .mobile\\:group-data-\\[blok-rtl\\=true\\]\\:pl-\\[10px\\]{padding-left:10px}.group[data-blok-rtl=true] .mobile\\:group-data-\\[blok-rtl\\=true\\]\\:pr-0{padding-right:0}}@media(min-width:651px){.not-mobile\\:w-6{width:1.5rem}.group[data-blok-narrow=true][data-blok-rtl=true] .not-mobile\\:group-data-\\[blok-narrow\\=true\\]\\:group-data-\\[blok-rtl\\=true\\]\\:left-0{left:0}.group[data-blok-narrow=true][data-blok-rtl=true] .not-mobile\\:group-data-\\[blok-narrow\\=true\\]\\:group-data-\\[blok-rtl\\=true\\]\\:left-\\[-5px\\]{left:-5px}.group[data-blok-narrow=true][data-blok-rtl=true] .not-mobile\\:group-data-\\[blok-narrow\\=true\\]\\:group-data-\\[blok-rtl\\=true\\]\\:left-\\[calc\\(-1\\*theme\\(spacing\\.narrow-mode-right-padding\\)-5px\\)\\]{left:-55px}.group[data-blok-narrow=true][data-blok-rtl=true] .not-mobile\\:group-data-\\[blok-narrow\\=true\\]\\:group-data-\\[blok-rtl\\=true\\]\\:right-\\[5px\\]{right:5px}.group[data-blok-narrow=true][data-blok-rtl=true] .not-mobile\\:group-data-\\[blok-narrow\\=true\\]\\:group-data-\\[blok-rtl\\=true\\]\\:right-auto{right:auto}.group[data-blok-narrow=true] .not-mobile\\:group-data-\\[blok-narrow\\=true\\]\\:left-\\[5px\\]{left:5px}.group[data-blok-narrow=true] .not-mobile\\:group-data-\\[blok-narrow\\=true\\]\\:right-\\[calc\\(-1\\*theme\\(spacing\\.narrow-mode-right-padding\\)-5px\\)\\]{right:-55px}.group[data-blok-narrow=true][data-blok-rtl=true] .not-mobile\\:group-data-\\[blok-narrow\\=true\\]\\:group-data-\\[blok-rtl\\=true\\]\\:ml-\\[theme\\(spacing\\.narrow-mode-right-padding\\)\\]{margin-left:50px}.group[data-blok-narrow=true][data-blok-rtl=true] .not-mobile\\:group-data-\\[blok-narrow\\=true\\]\\:group-data-\\[blok-rtl\\=true\\]\\:mr-0{margin-right:0}.group[data-blok-narrow=true] .not-mobile\\:group-data-\\[blok-narrow\\=true\\]\\:mr-\\[theme\\(spacing\\.narrow-mode-right-padding\\)\\]{margin-right:50px}}@media(hover:hover){.can-hover\\:hover\\:cursor-grab:hover{cursor:grab}.can-hover\\:hover\\:cursor-pointer:hover{cursor:pointer}.can-hover\\:hover\\:bg-bg-light:hover{--tw-bg-opacity: 1;background-color:rgb(239 242 245 / var(--tw-bg-opacity, 1))}.can-hover\\:hover\\:bg-item-hover-bg:hover{--tw-bg-opacity: 1;background-color:rgb(248 248 248 / var(--tw-bg-opacity, 1))}.group[data-blok-block-settings-opened=true] .group-data-\\[blok-block-settings-opened\\=true\\]\\:can-hover\\:hover\\:cursor-pointer:hover,.group[data-blok-toolbox-opened=true] .group-data-\\[blok-toolbox-opened\\=true\\]\\:can-hover\\:hover\\:cursor-pointer:hover{cursor:pointer}}.\\[\\&\\>p\\:first-of-type\\]\\:mt-0>p:first-of-type{margin-top:0}.\\[\\&\\>p\\:last-of-type\\]\\:mb-0>p:last-of-type{margin-bottom:0}.\\[\\&\\[data-blok-dragging\\=true\\]\\]\\:cursor-grabbing[data-blok-dragging=true]{cursor:grabbing}.\\[\\&\\[data-blok-empty\\=true\\]\\]\\:before\\:pointer-events-none[data-blok-empty=true]:before{content:var(--tw-content);pointer-events:none}.\\[\\&\\[data-blok-empty\\=true\\]\\]\\:before\\:cursor-text[data-blok-empty=true]:before{content:var(--tw-content);cursor:text}.\\[\\&\\[data-blok-empty\\=true\\]\\]\\:before\\:text-gray-text[data-blok-empty=true]:before{content:var(--tw-content);--tw-text-opacity: 1;color:rgb(112 118 132 / var(--tw-text-opacity, 1))}.\\[\\&\\[data-blok-empty\\=true\\]\\]\\:before\\:content-\\[attr\\(data-blok-placeholder\\)\\][data-blok-empty=true]:before{--tw-content: attr(data-blok-placeholder);content:var(--tw-content)}.\\[\\&\\[data-blok-empty\\=true\\]\\]\\:before\\:content-\\[attr\\(data-placeholder\\)\\][data-blok-empty=true]:before{--tw-content: attr(data-placeholder);content:var(--tw-content)}.\\[\\&\\[data-blok-focused\\=\\"true\\"\\]\\]\\:bg-item-focus-bg[data-blok-focused=true]{background-color:#22baff14}.\\[\\&\\[data-blok-force-hover\\]\\]\\:cursor-pointer[data-blok-force-hover]{cursor:pointer}.\\[\\&\\[data-blok-force-hover\\]\\]\\:bg-item-hover-bg[data-blok-force-hover]{--tw-bg-opacity: 1;background-color:rgb(248 248 248 / var(--tw-bg-opacity, 1))}.\\[\\&\\[data-blok-popover-item-active\\]\\]\\:bg-icon-active-bg[data-blok-popover-item-active]{background-color:#388ae51a}.\\[\\&\\[data-blok-popover-item-active\\]\\]\\:text-icon-active-text[data-blok-popover-item-active]{--tw-text-opacity: 1;color:rgb(56 138 229 / var(--tw-text-opacity, 1))}.\\[\\&\\[data-blok-popover-item-no-hover\\]\\]\\:cursor-default[data-blok-popover-item-no-hover]{cursor:default}.\\[\\&\\[data-blok-popover-item-no-hover\\]\\]\\:hover\\:bg-transparent:hover[data-blok-popover-item-no-hover]{background-color:transparent}.\\[\\&\\[data-blok-toolbox-opened\\=true\\]_\\[contentEditable\\=true\\]\\[data-blok-placeholder\\]\\:focus\\]\\:before\\:\\!opacity-0[data-blok-toolbox-opened=true] [contentEditable=true][data-blok-placeholder]:focus:before{content:var(--tw-content);opacity:0!important}.\\[\\&\\[data-empty\\=true\\]\\:focus\\]\\:before\\:pointer-events-none[data-empty=true]:focus:before{content:var(--tw-content);pointer-events:none}.\\[\\&\\[data-empty\\=true\\]\\:focus\\]\\:before\\:cursor-text[data-empty=true]:focus:before{content:var(--tw-content);cursor:text}.\\[\\&\\[data-empty\\=true\\]\\:focus\\]\\:before\\:text-gray-text[data-empty=true]:focus:before{content:var(--tw-content);--tw-text-opacity: 1;color:rgb(112 118 132 / var(--tw-text-opacity, 1))}.\\[\\&\\[data-empty\\=true\\]\\:focus\\]\\:before\\:content-\\[attr\\(data-blok-placeholder-active\\)\\][data-empty=true]:focus:before{--tw-content: attr(data-blok-placeholder-active);content:var(--tw-content)}.\\[\\&\\[data-empty\\=true\\]\\]\\:before\\:pointer-events-none[data-empty=true]:before{content:var(--tw-content);pointer-events:none}.\\[\\&\\[data-empty\\=true\\]\\]\\:before\\:cursor-text[data-empty=true]:before{content:var(--tw-content);cursor:text}.\\[\\&\\[data-empty\\=true\\]\\]\\:before\\:text-gray-text[data-empty=true]:before{content:var(--tw-content);--tw-text-opacity: 1;color:rgb(112 118 132 / var(--tw-text-opacity, 1))}.\\[\\&\\[data-empty\\=true\\]\\]\\:before\\:content-\\[attr\\(data-blok-placeholder-active\\)\\][data-empty=true]:before{--tw-content: attr(data-blok-placeholder-active);content:var(--tw-content)}.\\[\\&_\\:\\:selection\\]\\:bg-selection-inline ::-moz-selection{--tw-bg-opacity: 1;background-color:rgb(212 236 255 / var(--tw-bg-opacity, 1))}.\\[\\&_\\:\\:selection\\]\\:bg-selection-inline ::selection{--tw-bg-opacity: 1;background-color:rgb(212 236 255 / var(--tw-bg-opacity, 1))}.\\[\\&_\\[contenteditable\\]\\:empty\\]\\:after\\:content-\\[\\"\\\\\\\\feff_\\"\\] [contenteditable]:empty:after{--tw-content: "\\\\feff ";content:var(--tw-content)}.\\[\\&_\\[contenteditable\\]\\]\\:select-none [contenteditable]{-webkit-user-select:none;-moz-user-select:none;user-select:none}.\\[\\&_\\[data-blok-tool\\=stub\\]\\]\\:opacity-55 [data-blok-tool=stub]{opacity:.55}.\\[\\&_\\[hidden\\]\\]\\:\\!hidden [hidden]{display:none!important}.\\[\\&_a\\]\\:cursor-pointer a{cursor:pointer}.\\[\\&_a\\]\\:text-link a{--tw-text-opacity: 1;color:rgb(56 138 229 / var(--tw-text-opacity, 1))}.\\[\\&_a\\]\\:underline a{text-decoration-line:underline}.\\[\\&_b\\]\\:font-bold b{font-weight:700}.\\[\\&_div\\]\\:\\!m-0 div{margin:0!important}.\\[\\&_div\\]\\:\\!p-0 div{padding:0!important}.\\[\\&_i\\]\\:italic i{font-style:italic}.\\[\\&_img\\]\\:opacity-55 img{opacity:.55}.\\[\\&_p\\]\\:\\!m-0 p{margin:0!important}.\\[\\&_p\\]\\:\\!p-0 p{padding:0!important}.\\[\\&_path\\]\\:stroke-current path{stroke:currentColor}.\\[\\&_svg\\]\\:block svg{display:block}.\\[\\&_svg\\]\\:size-icon svg{width:20px;height:20px}.\\[\\&_svg\\]\\:h-6 svg{height:1.5rem}.\\[\\&_svg\\]\\:h-7 svg{height:1.75rem}.\\[\\&_svg\\]\\:h-icon svg{height:20px}.\\[\\&_svg\\]\\:max-h-full svg{max-height:100%}.\\[\\&_svg\\]\\:w-6 svg{width:1.5rem}.\\[\\&_svg\\]\\:w-7 svg{width:1.75rem}.\\[\\&_svg\\]\\:w-icon svg{width:20px}.\\[\\&_svg\\]\\:text-gray-text svg{--tw-text-opacity: 1;color:rgb(112 118 132 / var(--tw-text-opacity, 1))}@media(max-width:650px){.mobile\\:\\[\\&_svg\\]\\:h-icon-mobile svg{height:28px}.mobile\\:\\[\\&_svg\\]\\:w-icon-mobile svg{width:28px}}`, po = 100;
11881
- class Ai extends T {
11907
+ let be = Wt;
11908
+ const Ai = `*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:PT Mono,Menlo,Monaco,Consolas,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\\!container{width:100%!important}.container{width:100%}@media(min-width:640px){.\\!container{max-width:640px!important}.container{max-width:640px}}@media(min-width:651px){.\\!container{max-width:651px!important}.container{max-width:651px}}@media(min-width:768px){.\\!container{max-width:768px!important}.container{max-width:768px}}@media(min-width:1024px){.\\!container{max-width:1024px!important}.container{max-width:1024px}}@media(min-width:1280px){.\\!container{max-width:1280px!important}.container{max-width:1280px}}@media(min-width:1536px){.\\!container{max-width:1536px!important}.container{max-width:1536px}}.blok-block{padding:3px 2px}.blok-block::-webkit-input-placeholder{line-height:1.5!important}.blok-inline-tool-button{display:flex;height:100%;width:1.75rem;cursor:pointer;align-items:center;justify-content:center;border-radius:.25rem;border-width:0px;background-color:transparent;padding:0;line-height:1.5;--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.blok-inline-tool-button--active{background-color:#388ae51a;--tw-text-opacity: 1;color:rgb(56 138 229 / var(--tw-text-opacity, 1))}.blok-input{width:100%;border-radius:3px;border-width:1px;--tw-border-opacity: 1;border-color:rgb(239 240 241 / var(--tw-border-opacity, 1));padding:.625rem .75rem;--tw-shadow: inset 0 1px 2px 0 rgba(35, 44, 72, .06);--tw-shadow-colored: inset 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);outline:2px solid transparent;outline-offset:2px}.blok-input[data-blok-placeholder]:before{pointer-events:none;position:static!important;display:inline-block;width:0px;content:var(--tw-content);white-space:nowrap}.blok-loader{position:relative;border-width:1px;--tw-border-opacity: 1;border-color:rgb(239 240 241 / var(--tw-border-opacity, 1))}.blok-loader:before{position:absolute;left:50%;top:50%;margin-left:-11px;margin-top:-11px;height:18px;content:var(--tw-content);width:18px}@keyframes rotation{0%{content:var(--tw-content);transform:rotate(0)}to{content:var(--tw-content);transform:rotate(360deg)}}.blok-loader:before{animation:rotation 1.2s infinite linear;border-radius:9999px;border-width:2px;border-color:rgb(239 240 241 / var(--tw-border-opacity, 1));--tw-border-opacity: 1;border-left-color:rgb(56 138 229 / var(--tw-border-opacity, 1));--tw-content: "";content:var(--tw-content)}.blok-button{cursor:pointer;border-radius:3px;border-width:1px;--tw-border-opacity: 1;border-color:rgb(239 240 241 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:13px;text-align:center;font-size:14.9px;--tw-text-opacity: 1;color:rgb(112 118 132 / var(--tw-text-opacity, 1));--tw-shadow: 0 2px 2px 0 rgba(18, 30, 57, .04);--tw-shadow-colored: 0 2px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.blok-button:hover{--tw-bg-opacity: 1;background-color:rgb(251 252 254 / var(--tw-bg-opacity, 1));--tw-shadow: 0 1px 3px 0 rgba(18, 30, 57, .08);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.blok-button svg{margin-right:.2em;margin-top:-.125rem;height:1.25rem}.blok-settings-button{margin:0;display:inline-flex;min-height:26px;min-width:26px;cursor:pointer;align-items:center;justify-content:center;border-radius:3px;border-width:0px;background-color:transparent;vertical-align:bottom;color:inherit;outline:2px solid transparent;outline-offset:2px}@media(max-width:650px){.blok-settings-button{height:36px;width:36px;border-radius:.5rem}}@media(hover:hover){.blok-settings-button:hover{--tw-bg-opacity: 1;background-color:rgb(239 242 245 / var(--tw-bg-opacity, 1))}}.blok-settings-button svg{height:auto;width:auto}@media(max-width:650px){.blok-settings-button svg{height:28px;width:28px}}.blok-settings-button--active{--tw-text-opacity: 1;color:rgb(56 138 229 / var(--tw-text-opacity, 1))}.blok-settings-button--focused{background-color:#22baff14;--tw-shadow: inset 0 0 0 1px rgba(7, 161, 227, .08);--tw-shadow-colored: inset 0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}@keyframes buttonClicked{0%{transform:scale3d(.95,.95,.95)}60%{transform:scale3d(1.02,1.02,1.02)}80%,to{transform:scaleZ(1)}}.blok-settings-button--focused-animated{animation:buttonClicked .75s cubic-bezier(.215,.61,.355,1) forwards}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-\\[auto_var\\(--offset\\)_calc\\(var\\(--offset\\)\\+env\\(safe-area-inset-bottom\\)\\)_var\\(--offset\\)\\]{inset:auto var(--offset) calc(var(--offset) + env(safe-area-inset-bottom)) var(--offset)}.bottom-0{bottom:0}.bottom-5{bottom:1.25rem}.left-0{left:0}.left-5{left:1.25rem}.left-\\[var\\(--popover-left\\)\\]{left:var(--popover-left)}.left-auto{left:auto}.right-0{right:0}.right-\\[15px\\]{right:15px}.right-full{right:100%}.top-0{top:0}.top-\\[7px\\]{top:7px}.top-\\[var\\(--popover-top\\)\\]{top:var(--popover-top)}.top-auto{top:auto}.z-0{z-index:0}.z-\\[10000\\]{z-index:10000}.z-\\[1\\]{z-index:1}.z-\\[2\\]{z-index:2}.z-\\[3\\]{z-index:3}.z-\\[4\\]{z-index:4}.z-overlay{z-index:999}.\\!m-0{margin:0!important}.-m-px{margin:-1px}.m-0{margin:0}.mx-auto{margin-left:auto;margin-right:auto}.my-2\\.5{margin-top:.625rem;margin-bottom:.625rem}.my-4{margin-top:1rem;margin-bottom:1rem}.my-\\[-0\\.5em\\]{margin-top:-.5em;margin-bottom:-.5em}.\\!mr-0{margin-right:0!important}.\\!mr-2{margin-right:.5rem!important}.mb-1{margin-bottom:.25rem}.mb-1\\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-\\[30px\\]{margin-bottom:30px}.mb-px{margin-bottom:1px}.ml-3\\.5{margin-left:.875rem}.mr-2{margin-right:.5rem}.mr-auto{margin-right:auto}.mt-1{margin-top:.25rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-\\[15px\\]{margin-top:15px}.mt-\\[2px\\]{margin-top:2px}.mt-\\[3px\\]{margin-top:3px}.mt-\\[5px\\]{margin-top:5px}.box-border{box-sizing:border-box}.\\!block{display:block!important}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.\\!hidden{display:none!important}.hidden{display:none}.h-2\\.5{height:.625rem}.h-4{height:1rem}.h-9{height:2.25rem}.h-\\[26px\\]{height:26px}.h-\\[50px\\]{height:50px}.h-auto{height:auto}.h-fit{height:-moz-fit-content;height:fit-content}.h-full{height:100%}.h-px{height:1px}.h-toolbox-btn{height:26px}.max-h-0{max-height:0px}.max-h-\\[var\\(--max-height\\)\\]{max-height:var(--max-height)}.max-h-none{max-height:none}.w-2\\.5{width:.625rem}.w-4{width:1rem}.w-6{width:1.5rem}.w-9{width:2.25rem}.w-\\[230px\\]{width:230px}.w-\\[26px\\]{width:26px}.w-\\[var\\(--width\\)\\]{width:var(--width)}.w-auto{width:auto}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-px{width:1px}.w-toolbox-btn{width:26px}.min-w-0{min-width:0px}.min-w-\\[calc\\(100\\%-theme\\(\\'spacing\\.6\\'\\)-10px\\)\\]{min-width:calc(100% - 1.5rem - 10px)}.min-w-\\[calc\\(100\\%-var\\(--offset\\)\\*2\\)\\]{min-width:calc(100% - var(--offset) * 2)}.min-w-\\[var\\(--width\\)\\]{min-width:var(--width)}.min-w-max{min-width:-moz-max-content;min-width:max-content}.max-w-\\[130px\\]{max-width:130px}.max-w-content{max-width:650px}.max-w-none{max-width:none}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.-translate-x-\\[5px\\]{--tw-translate-x: -5px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-\\[5px\\]{--tw-translate-y: -5px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\\[5px\\]{--tw-translate-x: 5px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\\[5px\\]{--tw-translate-y: 5px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform-none{transform:none}@keyframes panelShowingMobile{0%{opacity:0;transform:translateY(14px) scale(.98)}70%{opacity:1;transform:translateY(-4px)}to{transform:translateY(0)}}.animate-\\[panelShowingMobile_250ms_ease\\]{animation:panelShowingMobile .25s ease}@keyframes panelShowing{0%{opacity:0;transform:translateY(-8px) scale(.9)}70%{opacity:1;transform:translateY(2px)}to{transform:translateY(0)}}.animate-\\[panelShowing_100ms_ease\\]{animation:panelShowing .1s ease}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:fade-in .3s ease forwards}.animate-none{animation:none}@keyframes notifyBounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1)}}.animate-notify-bounce-in{animation:notifyBounceIn .6s 1}@keyframes wobble{0%{transform:translateZ(0)}15%{transform:translate3d(-9%,0,0)}30%{transform:translate3d(9%,0,0)}45%{transform:translate3d(-4%,0,0)}60%{transform:translate3d(4%,0,0)}75%{transform:translate3d(-1%,0,0)}to{transform:translateZ(0)}}.animate-wobble{animation:wobble .4s}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.resize{resize:both}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-\\[auto_auto_1fr\\]{grid-template-columns:auto auto 1fr}.grid-rows-\\[auto\\]{grid-template-rows:auto}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:.5rem}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-\\[10px\\]{border-radius:10px}.rounded-\\[3px\\]{border-radius:3px}.rounded-\\[4px\\]{border-radius:4px}.rounded-\\[5px\\]{border-radius:5px}.rounded-\\[7px\\]{border-radius:7px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.border{border-width:1px}.border-0{border-width:0px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-none{border-style:none}.border-\\[\\#e8e8eb\\]{--tw-border-opacity: 1;border-color:rgb(232 232 235 / var(--tw-border-opacity, 1))}.border-\\[rgba\\(226\\,226\\,229\\,0\\.2\\)\\],.border-\\[rgba\\(226\\,226\\,229\\,0\\.20\\)\\]{border-color:#e2e2e533}.border-line-gray,.border-popover-border{--tw-border-opacity: 1;border-color:rgb(239 240 241 / var(--tw-border-opacity, 1))}.border-transparent{border-color:transparent}.\\!bg-\\[\\#fafffe\\]{--tw-bg-opacity: 1 !important;background-color:rgb(250 255 254 / var(--tw-bg-opacity, 1))!important}.\\!bg-\\[\\#fffbfb\\]{--tw-bg-opacity: 1 !important;background-color:rgb(255 251 251 / var(--tw-bg-opacity, 1))!important}.\\!bg-item-confirm-bg{--tw-bg-opacity: 1 !important;background-color:rgb(226 74 74 / var(--tw-bg-opacity, 1))!important}.\\!bg-item-focus-bg{background-color:#22baff14!important}.bg-\\[\\#34c992\\]{--tw-bg-opacity: 1;background-color:rgb(52 201 146 / var(--tw-bg-opacity, 1))}.bg-\\[\\#F8F8F8\\]{--tw-bg-opacity: 1;background-color:rgb(248 248 248 / var(--tw-bg-opacity, 1))}.bg-\\[\\#eff1f4\\]{--tw-bg-opacity: 1;background-color:rgb(239 241 244 / var(--tw-bg-opacity, 1))}.bg-\\[\\#f2f5f7\\]{--tw-bg-opacity: 1;background-color:rgb(242 245 247 / var(--tw-bg-opacity, 1))}.bg-\\[\\#f7f7f7\\]{--tw-bg-opacity: 1;background-color:rgb(247 247 247 / var(--tw-bg-opacity, 1))}.bg-bg-light{--tw-bg-opacity: 1;background-color:rgb(239 242 245 / var(--tw-bg-opacity, 1))}.bg-dark{--tw-bg-opacity: 1;background-color:rgb(29 32 43 / var(--tw-bg-opacity, 1))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-item-hover-bg{--tw-bg-opacity: 1;background-color:rgb(248 248 248 / var(--tw-bg-opacity, 1))}.bg-popover-bg{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-popover-border{--tw-bg-opacity: 1;background-color:rgb(239 240 241 / var(--tw-bg-opacity, 1))}.bg-selection{--tw-bg-opacity: 1;background-color:rgb(225 242 255 / var(--tw-bg-opacity, 1))}.bg-selection-highlight{background-color:#2eaadc33}.bg-tooltip-bg{--tw-bg-opacity: 1;background-color:rgb(29 32 43 / var(--tw-bg-opacity, 1))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.p-0{padding:0}.p-0\\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\\.5{padding:.375rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-\\[3px\\]{padding:3px}.p-\\[5px\\]{padding:5px}.p-\\[var\\(--item-padding\\)\\]{padding:var(--item-padding)}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-\\[18px\\]{padding-left:18px;padding-right:18px}.px-\\[2px\\]{padding-left:2px;padding-right:2px}.px-\\[30px\\]{padding-left:30px;padding-right:30px}.px-\\[3px\\]{padding-left:3px;padding-right:3px}.py-0{padding-top:0;padding-bottom:0}.py-0\\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-\\[0\\.5em\\]{padding-top:.5em;padding-bottom:.5em}.py-\\[13px\\]{padding-top:13px;padding-bottom:13px}.py-\\[3px\\]{padding-top:3px;padding-bottom:3px}.py-\\[5px\\]{padding-top:5px;padding-bottom:5px}.pl-0\\.5{padding-left:.125rem}.pr-1\\.5{padding-right:.375rem}.pr-\\[5px\\]{padding-right:5px}.text-center{text-align:center}.text-right{text-align:right}.text-start{text-align:start}.font-\\[-apple-system\\,BlinkMacSystemFont\\,\\"Segoe_UI\\"\\,\\"Roboto\\"\\,\\"Oxygen\\"\\,\\"Ubuntu\\"\\,\\"Cantarell\\"\\,\\"Fira_Sans\\"\\,\\"Droid_Sans\\"\\,\\"Helvetica_Neue\\"\\,sans-serif\\]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.font-\\[inherit\\]{font-family:inherit}.font-sans{font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\\[13px\\]{font-size:13px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-light{font-weight:300}.font-medium{font-weight:500}.font-semibold{font-weight:600}.capitalize{text-transform:capitalize}.italic{font-style:italic}.\\!leading-\\[1\\.3\\]{line-height:1.3!important}.leading-5{line-height:1.25rem}.leading-\\[1\\.4em\\]{line-height:1.4em}.leading-\\[1\\.6em\\]{line-height:1.6em}.leading-\\[1em\\]{line-height:1em}.leading-\\[22px\\]{line-height:22px}.leading-\\[50px\\]{line-height:50px}.leading-relaxed{line-height:1.625}.tracking-\\[0\\.02em\\]{letter-spacing:.02em}.tracking-\\[0\\.25px\\]{letter-spacing:.25px}.\\!text-white{--tw-text-opacity: 1 !important;color:rgb(255 255 255 / var(--tw-text-opacity, 1))!important}.text-\\[\\#656b7c\\]{--tw-text-opacity: 1;color:rgb(101 107 124 / var(--tw-text-opacity, 1))}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-dark{--tw-text-opacity: 1;color:rgb(29 32 43 / var(--tw-text-opacity, 1))}.text-gray-text{--tw-text-opacity: 1;color:rgb(112 118 132 / var(--tw-text-opacity, 1))}.text-inherit{color:inherit}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-text-primary{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.text-text-secondary{--tw-text-opacity: 1;color:rgb(112 118 132 / var(--tw-text-opacity, 1))}.text-tooltip-font{--tw-text-opacity: 1;color:rgb(205 209 224 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.accent-current{accent-color:currentColor}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-50{opacity:.5}.opacity-55{opacity:.55}.opacity-60{opacity:.6}.opacity-80{opacity:.8}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\\[0_11px_17px_0_rgba\\(23\\,32\\,61\\,0\\.13\\)\\]{--tw-shadow: 0 11px 17px 0 rgba(23,32,61,.13);--tw-shadow-colored: 0 11px 17px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\\[0_1px_1px_0_rgba\\(18\\,49\\,35\\,0\\.05\\)\\]{--tw-shadow: 0 1px 1px 0 rgba(18,49,35,.05);--tw-shadow-colored: 0 1px 1px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\\[0_2px_1px_0_rgba\\(16\\,19\\,29\\,0\\)\\]{--tw-shadow: 0 2px 1px 0 rgba(16,19,29,0);--tw-shadow-colored: 0 2px 1px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\\[0_3px_15px_-3px_theme\\(colors\\.popover-shadow\\)\\]{--tw-shadow: 0 3px 15px -3px rgba(13, 20, 33, .1);--tw-shadow-colored: 0 3px 15px -3px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-tooltip{--tw-shadow: 0 8px 12px 0 rgba(29, 32, 43, .17), 0 4px 5px -3px rgba(5, 6, 12, .49);--tw-shadow-colored: 0 8px 12px 0 var(--tw-shadow-color), 0 4px 5px -3px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\\[opacity\\,transform\\]{transition-property:opacity,transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-none{transition-property:none}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-\\[120ms\\]{transition-duration:.12s}.duration-\\[250ms\\]{transition-duration:.25s}.duration-\\[50ms\\,70ms\\]{transition-duration:50ms,70ms}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-linear{transition-timing-function:linear}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.will-change-\\[opacity\\,left\\,top\\]{will-change:opacity,left,top}.will-change-\\[opacity\\,top\\,left\\]{will-change:opacity,top,left}.will-change-\\[opacity\\,top\\]{will-change:opacity,top}.will-change-\\[opacity\\]{will-change:opacity}.\\[clip\\:rect\\(0\\,0\\,0\\,0\\)\\]{clip:rect(0,0,0,0)}.\\[direction\\:rtl\\]{direction:rtl}[data-blok-navigation-focused=true]{margin-left:auto;margin-right:auto;width:650px;max-width:100%;border-radius:.375rem;background-color:#22baff14}@media(hover:hover){[data-blok-item-name=delete]:hover{--tw-text-opacity: 1;color:rgb(226 74 74 / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}}[data-drop-indicator]{position:relative}[data-drop-indicator]:before{pointer-events:none;position:absolute;z-index:10;height:.375rem;width:100%;max-width:650px;border-radius:.125rem;--tw-bg-opacity: 1;background-color:rgb(212 227 252 / var(--tw-bg-opacity, 1));--tw-content: "";content:var(--tw-content);left:50%;margin-left:calc(var(--drop-indicator-depth, 0) * 12px);max-width:calc(650px - var(--drop-indicator-depth, 0) * 24px)}[data-drop-indicator=bottom]:before{bottom:0;transform:translate(-50%) translateY(50%)}[data-drop-indicator=top]:before{top:0;transform:translate(-50%) translateY(-50%)}[data-blok-dragging-multi=true] [data-blok-selected=true]{opacity:.4;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}[data-blok-selected=true] [data-blok-element-content]:has([data-list-style]){background-color:transparent}[data-blok-selected=true] [data-list-style] [role=listitem]{border-radius:4px;--tw-bg-opacity: 1;background-color:rgb(225 242 255 / var(--tw-bg-opacity, 1))}[data-blok-selected=true] [data-list-style] [role=listitem] [contenteditable]{-webkit-user-select:none;-moz-user-select:none;user-select:none}.placeholder\\:font-medium::-moz-placeholder{font-weight:500}.placeholder\\:font-medium::placeholder{font-weight:500}.placeholder\\:text-\\[\\#656b7c\\]::-moz-placeholder{--tw-text-opacity: 1;color:rgb(101 107 124 / var(--tw-text-opacity, 1))}.placeholder\\:text-\\[\\#656b7c\\]::placeholder{--tw-text-opacity: 1;color:rgb(101 107 124 / var(--tw-text-opacity, 1))}.placeholder\\:text-gray-text::-moz-placeholder{--tw-text-opacity: 1;color:rgb(112 118 132 / var(--tw-text-opacity, 1))}.placeholder\\:text-gray-text::placeholder{--tw-text-opacity: 1;color:rgb(112 118 132 / var(--tw-text-opacity, 1))}.before\\:absolute:before{content:var(--tw-content);position:absolute}.before\\:inset-0:before{content:var(--tw-content);inset:0}.before\\:left-0:before{content:var(--tw-content);left:0}.before\\:left-\\[9px\\]:before{content:var(--tw-content);left:9px}.before\\:top-0:before{content:var(--tw-content);top:0}.before\\:top-\\[5px\\]:before{content:var(--tw-content);top:5px}.before\\:-z-10:before{content:var(--tw-content);z-index:-10}.before\\:m-\\[3px\\]:before{content:var(--tw-content);margin:3px}.before\\:block:before{content:var(--tw-content);display:block}.before\\:h-3:before{content:var(--tw-content);height:.75rem}.before\\:h-\\[calc\\(100\\%-6px\\)\\]:before{content:var(--tw-content);height:calc(100% - 6px)}.before\\:w-0\\.5:before{content:var(--tw-content);width:.125rem}.before\\:w-\\[3px\\]:before{content:var(--tw-content);width:3px}.before\\:rotate-\\[-45deg\\]:before{content:var(--tw-content);--tw-rotate: -45deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.before\\:rounded-\\[5px\\]:before{content:var(--tw-content);border-radius:5px}.before\\:rounded-lg:before{content:var(--tw-content);border-radius:.5rem}.before\\:\\!bg-\\[\\#41ffb1\\]:before{content:var(--tw-content);--tw-bg-opacity: 1 !important;background-color:rgb(65 255 177 / var(--tw-bg-opacity, 1))!important}.before\\:\\!bg-\\[\\#fb5d5d\\]:before{content:var(--tw-content);--tw-bg-opacity: 1 !important;background-color:rgb(251 93 93 / var(--tw-bg-opacity, 1))!important}.before\\:bg-\\[\\#575d67\\]:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(87 93 103 / var(--tw-bg-opacity, 1))}.before\\:bg-tooltip-bg:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(29 32 43 / var(--tw-bg-opacity, 1))}.before\\:bg-transparent:before{content:var(--tw-content);background-color:transparent}.before\\:content-\\[\\"\\"\\]:before{--tw-content: "";content:var(--tw-content)}.before\\:content-\\[\\\\\\'\\\\\\'\\]:before{--tw-content: \\'\\';content:var(--tw-content)}.after\\:absolute:after{content:var(--tw-content);position:absolute}.after\\:left-\\[9px\\]:after{content:var(--tw-content);left:9px}.after\\:top-\\[5px\\]:after{content:var(--tw-content);top:5px}.after\\:mx-3:after{content:var(--tw-content);margin-left:.75rem;margin-right:.75rem}.after\\:h-3:after{content:var(--tw-content);height:.75rem}.after\\:w-0\\.5:after{content:var(--tw-content);width:.125rem}.after\\:rotate-45:after{content:var(--tw-content);--tw-rotate: 45deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.after\\:bg-\\[\\#575d67\\]:after{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(87 93 103 / var(--tw-bg-opacity, 1))}.after\\:text-\\[\\#ddd\\]:after{content:var(--tw-content);--tw-text-opacity: 1;color:rgb(221 221 221 / var(--tw-text-opacity, 1))}.after\\:content-\\[\\"\\"\\]:after{--tw-content: "";content:var(--tw-content)}.after\\:content-\\[\\'\\|\\'\\]:after{--tw-content: "|";content:var(--tw-content)}.first\\:mt-0:first-child{margin-top:0}.last\\:ml-2\\.5:last-child{margin-left:.625rem}.empty\\:before\\:pointer-events-none:empty:before{content:var(--tw-content);pointer-events:none}.empty\\:before\\:cursor-text:empty:before{content:var(--tw-content);cursor:text}.empty\\:before\\:text-gray-text:empty:before{content:var(--tw-content);--tw-text-opacity: 1;color:rgb(112 118 132 / var(--tw-text-opacity, 1))}.empty\\:before\\:content-\\[attr\\(data-blok-placeholder\\)\\]:empty:before{--tw-content: attr(data-blok-placeholder);content:var(--tw-content)}.empty\\:before\\:content-\\[attr\\(data-blok-placeholder-active\\)\\]:empty:before{--tw-content: attr(data-blok-placeholder-active);content:var(--tw-content)}.empty\\:before\\:content-\\[attr\\(data-placeholder\\)\\]:empty:before{--tw-content: attr(data-placeholder);content:var(--tw-content)}.hover\\:bg-\\[\\#2db583\\]:hover{--tw-bg-opacity: 1;background-color:rgb(45 181 131 / var(--tw-bg-opacity, 1))}.hover\\:bg-\\[\\#e0e4eb\\]:hover{--tw-bg-opacity: 1;background-color:rgb(224 228 235 / var(--tw-bg-opacity, 1))}.hover\\:bg-\\[\\#e9ecee\\]:hover{--tw-bg-opacity: 1;background-color:rgb(233 236 238 / var(--tw-bg-opacity, 1))}.hover\\:opacity-100:hover{opacity:1}.focus\\:placeholder\\:text-\\[rgba\\(101\\,107\\,124\\,0\\.3\\)\\]:focus::-moz-placeholder{color:#656b7c4d}.focus\\:placeholder\\:text-\\[rgba\\(101\\,107\\,124\\,0\\.3\\)\\]:focus::placeholder{color:#656b7c4d}.empty\\:focus\\:before\\:pointer-events-none:focus:empty:before{content:var(--tw-content);pointer-events:none}.empty\\:focus\\:before\\:cursor-text:focus:empty:before{content:var(--tw-content);cursor:text}.empty\\:focus\\:before\\:text-gray-text:focus:empty:before{content:var(--tw-content);--tw-text-opacity: 1;color:rgb(112 118 132 / var(--tw-text-opacity, 1))}.empty\\:focus\\:before\\:content-\\[attr\\(data-blok-placeholder-active\\)\\]:focus:empty:before{--tw-content: attr(data-blok-placeholder-active);content:var(--tw-content)}.active\\:cursor-grabbing:active{cursor:grabbing}.group[data-blok-dragging=true] .group-data-\\[blok-dragging\\=true\\]\\:pointer-events-none{pointer-events:none}.group[data-blok-rtl=true] .group-data-\\[blok-rtl\\=true\\]\\:left-\\[calc\\(-1\\*theme\\(width\\.toolbox-btn\\)\\)\\]{left:-26px}.group[data-blok-rtl=true] .group-data-\\[blok-rtl\\=true\\]\\:left-auto{left:auto}.group[data-blok-rtl=true] .group-data-\\[blok-rtl\\=true\\]\\:right-\\[calc\\(-1\\*theme\\(width\\.toolbox-btn\\)\\)\\]{right:-26px}.group[data-blok-rtl=true] .group-data-\\[blok-rtl\\=true\\]\\:right-auto{right:auto}.group[data-blok-dragging=true] .group-data-\\[blok-dragging\\=true\\]\\:cursor-grabbing{cursor:grabbing}.group[data-blok-block-settings-opened=true] .group-data-\\[blok-block-settings-opened\\=true\\]\\:bg-bg-light,.group[data-blok-toolbox-opened=true] .group-data-\\[blok-toolbox-opened\\=true\\]\\:bg-bg-light{--tw-bg-opacity: 1;background-color:rgb(239 242 245 / var(--tw-bg-opacity, 1))}@media(max-width:650px){.mobile\\:absolute{position:absolute}.mobile\\:right-auto{right:auto}.mobile\\:z-\\[2\\]{z-index:2}.mobile\\:hidden{display:none}.mobile\\:h-toolbox-btn-mobile{height:36px}.mobile\\:w-toolbox-btn-mobile{width:36px}.mobile\\:rounded-\\[6px\\]{border-radius:6px}.mobile\\:border{border-width:1px}.mobile\\:border-\\[\\#e8e8eb\\]{--tw-border-opacity: 1;border-color:rgb(232 232 235 / var(--tw-border-opacity, 1))}.mobile\\:bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.mobile\\:p-1{padding:.25rem}.mobile\\:text-\\[15px\\]{font-size:15px}.mobile\\:font-medium{font-weight:500}.mobile\\:shadow-overlay-pane{--tw-shadow: 0 3px 15px -3px rgba(13, 20, 33, .13);--tw-shadow-colored: 0 3px 15px -3px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.group[data-blok-rtl=true] .mobile\\:group-data-\\[blok-rtl\\=true\\]\\:ml-0{margin-left:0}.group[data-blok-rtl=true] .mobile\\:group-data-\\[blok-rtl\\=true\\]\\:mr-auto{margin-right:auto}.group[data-blok-rtl=true] .mobile\\:group-data-\\[blok-rtl\\=true\\]\\:pl-\\[10px\\]{padding-left:10px}.group[data-blok-rtl=true] .mobile\\:group-data-\\[blok-rtl\\=true\\]\\:pr-0{padding-right:0}}@media(min-width:651px){.not-mobile\\:w-6{width:1.5rem}.group[data-blok-narrow=true][data-blok-rtl=true] .not-mobile\\:group-data-\\[blok-narrow\\=true\\]\\:group-data-\\[blok-rtl\\=true\\]\\:left-0{left:0}.group[data-blok-narrow=true][data-blok-rtl=true] .not-mobile\\:group-data-\\[blok-narrow\\=true\\]\\:group-data-\\[blok-rtl\\=true\\]\\:left-\\[-5px\\]{left:-5px}.group[data-blok-narrow=true][data-blok-rtl=true] .not-mobile\\:group-data-\\[blok-narrow\\=true\\]\\:group-data-\\[blok-rtl\\=true\\]\\:left-\\[calc\\(-1\\*theme\\(spacing\\.narrow-mode-right-padding\\)-5px\\)\\]{left:-55px}.group[data-blok-narrow=true][data-blok-rtl=true] .not-mobile\\:group-data-\\[blok-narrow\\=true\\]\\:group-data-\\[blok-rtl\\=true\\]\\:right-\\[5px\\]{right:5px}.group[data-blok-narrow=true][data-blok-rtl=true] .not-mobile\\:group-data-\\[blok-narrow\\=true\\]\\:group-data-\\[blok-rtl\\=true\\]\\:right-auto{right:auto}.group[data-blok-narrow=true] .not-mobile\\:group-data-\\[blok-narrow\\=true\\]\\:left-\\[5px\\]{left:5px}.group[data-blok-narrow=true] .not-mobile\\:group-data-\\[blok-narrow\\=true\\]\\:right-\\[calc\\(-1\\*theme\\(spacing\\.narrow-mode-right-padding\\)-5px\\)\\]{right:-55px}.group[data-blok-narrow=true][data-blok-rtl=true] .not-mobile\\:group-data-\\[blok-narrow\\=true\\]\\:group-data-\\[blok-rtl\\=true\\]\\:ml-\\[theme\\(spacing\\.narrow-mode-right-padding\\)\\]{margin-left:50px}.group[data-blok-narrow=true][data-blok-rtl=true] .not-mobile\\:group-data-\\[blok-narrow\\=true\\]\\:group-data-\\[blok-rtl\\=true\\]\\:mr-0{margin-right:0}.group[data-blok-narrow=true] .not-mobile\\:group-data-\\[blok-narrow\\=true\\]\\:mr-\\[theme\\(spacing\\.narrow-mode-right-padding\\)\\]{margin-right:50px}}@media(hover:hover){.can-hover\\:hover\\:cursor-grab:hover{cursor:grab}.can-hover\\:hover\\:cursor-pointer:hover{cursor:pointer}.can-hover\\:hover\\:bg-bg-light:hover{--tw-bg-opacity: 1;background-color:rgb(239 242 245 / var(--tw-bg-opacity, 1))}.can-hover\\:hover\\:bg-item-hover-bg:hover{--tw-bg-opacity: 1;background-color:rgb(248 248 248 / var(--tw-bg-opacity, 1))}.group[data-blok-block-settings-opened=true] .group-data-\\[blok-block-settings-opened\\=true\\]\\:can-hover\\:hover\\:cursor-pointer:hover,.group[data-blok-toolbox-opened=true] .group-data-\\[blok-toolbox-opened\\=true\\]\\:can-hover\\:hover\\:cursor-pointer:hover{cursor:pointer}}.\\[\\&\\>p\\:first-of-type\\]\\:mt-0>p:first-of-type{margin-top:0}.\\[\\&\\>p\\:last-of-type\\]\\:mb-0>p:last-of-type{margin-bottom:0}.\\[\\&\\[data-blok-dragging\\=true\\]\\]\\:cursor-grabbing[data-blok-dragging=true]{cursor:grabbing}.\\[\\&\\[data-blok-empty\\=true\\]\\]\\:before\\:pointer-events-none[data-blok-empty=true]:before{content:var(--tw-content);pointer-events:none}.\\[\\&\\[data-blok-empty\\=true\\]\\]\\:before\\:cursor-text[data-blok-empty=true]:before{content:var(--tw-content);cursor:text}.\\[\\&\\[data-blok-empty\\=true\\]\\]\\:before\\:text-gray-text[data-blok-empty=true]:before{content:var(--tw-content);--tw-text-opacity: 1;color:rgb(112 118 132 / var(--tw-text-opacity, 1))}.\\[\\&\\[data-blok-empty\\=true\\]\\]\\:before\\:content-\\[attr\\(data-blok-placeholder\\)\\][data-blok-empty=true]:before{--tw-content: attr(data-blok-placeholder);content:var(--tw-content)}.\\[\\&\\[data-blok-empty\\=true\\]\\]\\:before\\:content-\\[attr\\(data-placeholder\\)\\][data-blok-empty=true]:before{--tw-content: attr(data-placeholder);content:var(--tw-content)}.\\[\\&\\[data-blok-focused\\=\\"true\\"\\]\\]\\:bg-item-focus-bg[data-blok-focused=true]{background-color:#22baff14}.\\[\\&\\[data-blok-force-hover\\]\\]\\:cursor-pointer[data-blok-force-hover]{cursor:pointer}.\\[\\&\\[data-blok-force-hover\\]\\]\\:bg-item-hover-bg[data-blok-force-hover]{--tw-bg-opacity: 1;background-color:rgb(248 248 248 / var(--tw-bg-opacity, 1))}.\\[\\&\\[data-blok-popover-item-active\\]\\]\\:bg-icon-active-bg[data-blok-popover-item-active]{background-color:#388ae51a}.\\[\\&\\[data-blok-popover-item-active\\]\\]\\:text-icon-active-text[data-blok-popover-item-active]{--tw-text-opacity: 1;color:rgb(56 138 229 / var(--tw-text-opacity, 1))}.\\[\\&\\[data-blok-popover-item-no-hover\\]\\]\\:cursor-default[data-blok-popover-item-no-hover]{cursor:default}.\\[\\&\\[data-blok-popover-item-no-hover\\]\\]\\:hover\\:bg-transparent:hover[data-blok-popover-item-no-hover]{background-color:transparent}.\\[\\&\\[data-blok-toolbox-opened\\=true\\]_\\[contentEditable\\=true\\]\\[data-blok-placeholder\\]\\:focus\\]\\:before\\:\\!opacity-0[data-blok-toolbox-opened=true] [contentEditable=true][data-blok-placeholder]:focus:before{content:var(--tw-content);opacity:0!important}.\\[\\&\\[data-empty\\=true\\]\\:focus\\]\\:before\\:pointer-events-none[data-empty=true]:focus:before{content:var(--tw-content);pointer-events:none}.\\[\\&\\[data-empty\\=true\\]\\:focus\\]\\:before\\:cursor-text[data-empty=true]:focus:before{content:var(--tw-content);cursor:text}.\\[\\&\\[data-empty\\=true\\]\\:focus\\]\\:before\\:text-gray-text[data-empty=true]:focus:before{content:var(--tw-content);--tw-text-opacity: 1;color:rgb(112 118 132 / var(--tw-text-opacity, 1))}.\\[\\&\\[data-empty\\=true\\]\\:focus\\]\\:before\\:content-\\[attr\\(data-blok-placeholder-active\\)\\][data-empty=true]:focus:before{--tw-content: attr(data-blok-placeholder-active);content:var(--tw-content)}.\\[\\&\\[data-empty\\=true\\]\\]\\:before\\:pointer-events-none[data-empty=true]:before{content:var(--tw-content);pointer-events:none}.\\[\\&\\[data-empty\\=true\\]\\]\\:before\\:cursor-text[data-empty=true]:before{content:var(--tw-content);cursor:text}.\\[\\&\\[data-empty\\=true\\]\\]\\:before\\:text-gray-text[data-empty=true]:before{content:var(--tw-content);--tw-text-opacity: 1;color:rgb(112 118 132 / var(--tw-text-opacity, 1))}.\\[\\&\\[data-empty\\=true\\]\\]\\:before\\:content-\\[attr\\(data-blok-placeholder-active\\)\\][data-empty=true]:before{--tw-content: attr(data-blok-placeholder-active);content:var(--tw-content)}.\\[\\&_\\:\\:selection\\]\\:bg-selection-inline ::-moz-selection{--tw-bg-opacity: 1;background-color:rgb(212 236 255 / var(--tw-bg-opacity, 1))}.\\[\\&_\\:\\:selection\\]\\:bg-selection-inline ::selection{--tw-bg-opacity: 1;background-color:rgb(212 236 255 / var(--tw-bg-opacity, 1))}.\\[\\&_\\[contenteditable\\]\\:empty\\]\\:after\\:content-\\[\\"\\\\\\\\feff_\\"\\] [contenteditable]:empty:after{--tw-content: "\\\\feff ";content:var(--tw-content)}.\\[\\&_\\[contenteditable\\]\\]\\:select-none [contenteditable]{-webkit-user-select:none;-moz-user-select:none;user-select:none}.\\[\\&_\\[data-blok-tool\\=stub\\]\\]\\:opacity-55 [data-blok-tool=stub]{opacity:.55}.\\[\\&_\\[hidden\\]\\]\\:\\!hidden [hidden]{display:none!important}.\\[\\&_a\\]\\:cursor-pointer a{cursor:pointer}.\\[\\&_a\\]\\:text-link a{--tw-text-opacity: 1;color:rgb(56 138 229 / var(--tw-text-opacity, 1))}.\\[\\&_a\\]\\:underline a{text-decoration-line:underline}.\\[\\&_b\\]\\:font-bold b{font-weight:700}.\\[\\&_div\\]\\:\\!m-0 div{margin:0!important}.\\[\\&_div\\]\\:\\!p-0 div{padding:0!important}.\\[\\&_i\\]\\:italic i{font-style:italic}.\\[\\&_img\\]\\:opacity-55 img{opacity:.55}.\\[\\&_p\\]\\:\\!m-0 p{margin:0!important}.\\[\\&_p\\]\\:\\!p-0 p{padding:0!important}.\\[\\&_path\\]\\:stroke-current path{stroke:currentColor}.\\[\\&_svg\\]\\:block svg{display:block}.\\[\\&_svg\\]\\:size-icon svg{width:20px;height:20px}.\\[\\&_svg\\]\\:h-6 svg{height:1.5rem}.\\[\\&_svg\\]\\:h-7 svg{height:1.75rem}.\\[\\&_svg\\]\\:h-icon svg{height:20px}.\\[\\&_svg\\]\\:max-h-full svg{max-height:100%}.\\[\\&_svg\\]\\:w-6 svg{width:1.5rem}.\\[\\&_svg\\]\\:w-7 svg{width:1.75rem}.\\[\\&_svg\\]\\:w-icon svg{width:20px}.\\[\\&_svg\\]\\:text-gray-text svg{--tw-text-opacity: 1;color:rgb(112 118 132 / var(--tw-text-opacity, 1))}@media(max-width:650px){.mobile\\:\\[\\&_svg\\]\\:h-icon-mobile svg{height:28px}.mobile\\:\\[\\&_svg\\]\\:w-icon-mobile svg{width:28px}}`, fo = 100;
11909
+ class Mi extends T {
11882
11910
  constructor() {
11883
- super(...arguments), this.isMobile = !1, this.contentRectCache = null, this.resizeDebouncer = $e(() => {
11911
+ super(...arguments), this.isMobile = !1, this.contentRectCache = null, this.resizeDebouncer = We(() => {
11884
11912
  this.windowResize();
11885
- }, 200), this.selectionChangeDebounced = $e(() => {
11913
+ }, 200), this.selectionChangeDebounced = We(() => {
11886
11914
  this.selectionChanged();
11887
- }, gn), this.documentTouchedListener = (t) => {
11915
+ }, mn), this.documentTouchedListener = (t) => {
11888
11916
  this.documentTouched(t);
11889
11917
  };
11890
11918
  }
@@ -11906,7 +11934,7 @@ class Ai extends T {
11906
11934
  * Making main interface
11907
11935
  */
11908
11936
  async prepare() {
11909
- this.setIsMobile(), this.make(), this.loadStyles(), Qs();
11937
+ this.setIsMobile(), this.make(), this.loadStyles(), ti();
11910
11938
  }
11911
11939
  /**
11912
11940
  * Toggle read-only state
@@ -11958,7 +11986,7 @@ class Ai extends T {
11958
11986
  * Clean blok`s UI
11959
11987
  */
11960
11988
  destroy() {
11961
- this.nodes.holder.innerHTML = "", this.unbindReadOnlyInsensitiveListeners(), ti();
11989
+ this.nodes.holder.innerHTML = "", this.unbindReadOnlyInsensitiveListeners(), ei();
11962
11990
  }
11963
11991
  /**
11964
11992
  * Close all Blok's toolbars
@@ -11971,7 +11999,7 @@ class Ai extends T {
11971
11999
  * Check for mobile mode and save the result
11972
12000
  */
11973
12001
  setIsMobile() {
11974
- const t = window.innerWidth < fn;
12002
+ const t = window.innerWidth < gn;
11975
12003
  t !== this.isMobile && this.eventsDispatcher.emit(yt, {
11976
12004
  isEnabled: this.isMobile
11977
12005
  }), this.isMobile = t;
@@ -11997,7 +12025,7 @@ class Ai extends T {
11997
12025
  // Hide placeholder when toolbox is opened
11998
12026
  "[&[data-blok-toolbox-opened=true]_[contentEditable=true][data-blok-placeholder]:focus]:before:!opacity-0",
11999
12027
  ...this.isRtl ? ["[direction:rtl]"] : []
12000
- ]), this.nodes.wrapper.setAttribute(m.interface, hn), this.nodes.wrapper.setAttribute(m.editor, ""), this.nodes.wrapper.setAttribute("data-blok-testid", "blok-editor"), this.isRtl && this.nodes.wrapper.setAttribute(m.rtl, "true"), this.nodes.redactor = g.make("div", [
12028
+ ]), this.nodes.wrapper.setAttribute(m.interface, un), this.nodes.wrapper.setAttribute(m.editor, ""), this.nodes.wrapper.setAttribute("data-blok-testid", "blok-editor"), this.isRtl && this.nodes.wrapper.setAttribute(m.rtl, "true"), this.nodes.redactor = g.make("div", [
12001
12029
  // Narrow mode: add right margin on non-mobile screens
12002
12030
  "not-mobile:group-data-[blok-narrow=true]:mr-[theme(spacing.narrow-mode-right-padding)]",
12003
12031
  // RTL narrow mode: add left margin instead
@@ -12016,7 +12044,7 @@ class Ai extends T {
12016
12044
  return;
12017
12045
  const e = g.make("style", null, {
12018
12046
  id: t,
12019
- textContent: Ei.toString()
12047
+ textContent: Ai.toString()
12020
12048
  });
12021
12049
  this.config.style && !N(this.config.style) && this.config.style.nonce && e.setAttribute("nonce", this.config.style.nonce), g.prepend(document.head, e);
12022
12050
  }
@@ -12058,19 +12086,19 @@ class Ai extends T {
12058
12086
  watchBlockHoveredEvents() {
12059
12087
  const t = {
12060
12088
  lastHoveredBlockId: null
12061
- }, o = se(
12089
+ }, o = ne(
12062
12090
  (n) => {
12063
12091
  var l;
12064
- if (!(n instanceof MouseEvent))
12092
+ if (typeof MouseEvent == "undefined" || !(n instanceof MouseEvent))
12065
12093
  return;
12066
12094
  const s = (l = n.target) == null ? void 0 : l.closest('[data-blok-testid="block-wrapper"]'), i = s ? null : this.findBlockInHoverZone(n.clientX, n.clientY);
12067
- if (i !== null && t.lastHoveredBlockId !== i.id && (t.lastHoveredBlockId = i.id, this.eventsDispatcher.emit(de, {
12095
+ if (i !== null && t.lastHoveredBlockId !== i.id && (t.lastHoveredBlockId = i.id, this.eventsDispatcher.emit(ce, {
12068
12096
  block: i,
12069
12097
  target: i.holder
12070
12098
  })), i !== null || !s)
12071
12099
  return;
12072
12100
  const r = this.Blok.BlockManager.getBlockByChildNode(s);
12073
- r && t.lastHoveredBlockId !== r.id && (t.lastHoveredBlockId = r.id, this.eventsDispatcher.emit(de, {
12101
+ r && t.lastHoveredBlockId !== r.id && (t.lastHoveredBlockId = r.id, this.eventsDispatcher.emit(ce, {
12074
12102
  block: r,
12075
12103
  target: n.target
12076
12104
  }));
@@ -12092,7 +12120,7 @@ class Ai extends T {
12092
12120
  */
12093
12121
  findBlockInHoverZone(t, e) {
12094
12122
  const o = this.contentRect;
12095
- if (!(this.isRtl ? t > o.right && t <= o.right + po : t < o.left && t >= o.left - po))
12123
+ if (!(this.isRtl ? t > o.right && t <= o.right + fo : t < o.left && t >= o.left - fo))
12096
12124
  return null;
12097
12125
  for (const s of this.Blok.BlockManager.blocks) {
12098
12126
  const i = s.holder.getBoundingClientRect();
@@ -12190,6 +12218,10 @@ class Ai extends T {
12190
12218
  this.Blok.BlockSelection.disableNavigationMode(!1);
12191
12219
  return;
12192
12220
  }
12221
+ if (this.Blok.BlockSettings.opened) {
12222
+ this.Blok.BlockSettings.close();
12223
+ return;
12224
+ }
12193
12225
  if (this.Blok.BlockSelection.anyBlockSelected) {
12194
12226
  this.Blok.BlockSelection.clearSelection(t);
12195
12227
  return;
@@ -12198,10 +12230,6 @@ class Ai extends T {
12198
12230
  this.Blok.Toolbar.toolbox.close(), this.Blok.BlockManager.currentBlock && this.Blok.Caret.setToBlock(this.Blok.BlockManager.currentBlock, this.Blok.Caret.positions.END);
12199
12231
  return;
12200
12232
  }
12201
- if (this.Blok.BlockSettings.opened) {
12202
- this.Blok.BlockSettings.close();
12203
- return;
12204
- }
12205
12233
  if (this.Blok.InlineToolbar.opened && this.Blok.InlineToolbar.hasNestedPopoverOpen) {
12206
12234
  t.preventDefault(), t.stopPropagation(), t.stopImmediatePropagation(), this.Blok.InlineToolbar.closeNestedPopover();
12207
12235
  return;
@@ -12308,8 +12336,8 @@ class Ai extends T {
12308
12336
  const s = e.getAttribute("href");
12309
12337
  if (!s)
12310
12338
  return;
12311
- const i = un(s);
12312
- pn(i);
12339
+ const i = pn(s);
12340
+ fn(i);
12313
12341
  }
12314
12342
  /**
12315
12343
  * Check if user clicks on the Blok's bottom zone:
@@ -12358,12 +12386,12 @@ class Ai extends T {
12358
12386
  enableInputsEmptyMark() {
12359
12387
  const t = (e) => {
12360
12388
  const o = e.target;
12361
- go(o);
12389
+ mo(o);
12362
12390
  };
12363
12391
  this.readOnlyMutableListeners.on(this.nodes.wrapper, "input", t), this.readOnlyMutableListeners.on(this.nodes.wrapper, "focusin", t), this.readOnlyMutableListeners.on(this.nodes.wrapper, "focusout", t);
12364
12392
  }
12365
12393
  }
12366
- const Mi = 30, Di = 200, Li = 100, rt = class rt extends T {
12394
+ const Di = 30, Li = 200, Oi = 100, rt = class rt extends T {
12367
12395
  constructor() {
12368
12396
  super(...arguments), this.undoStack = [], this.redoStack = [], this.registeredShortcuts = [], this.debounceTimeout = null, this.isPerformingUndoRedo = !1, this.initialStateCaptured = !1;
12369
12397
  }
@@ -12372,14 +12400,14 @@ const Mi = 30, Di = 200, Li = 100, rt = class rt extends T {
12372
12400
  */
12373
12401
  get maxHistoryLength() {
12374
12402
  var t;
12375
- return (t = this.config.maxHistoryLength) != null ? t : Mi;
12403
+ return (t = this.config.maxHistoryLength) != null ? t : Di;
12376
12404
  }
12377
12405
  /**
12378
12406
  * Debounce time for batching changes
12379
12407
  */
12380
12408
  get debounceTime() {
12381
12409
  var t;
12382
- return (t = this.config.historyDebounceTime) != null ? t : Di;
12410
+ return (t = this.config.historyDebounceTime) != null ? t : Li;
12383
12411
  }
12384
12412
  /**
12385
12413
  * Whether to use document-level shortcuts for undo/redo
@@ -12689,7 +12717,7 @@ const Mi = 30, Di = 200, Li = 100, rt = class rt extends T {
12689
12717
  * This helps ignore late-firing events after state restore
12690
12718
  */
12691
12719
  cooldown() {
12692
- return new Promise((t) => setTimeout(t, Li));
12720
+ return new Promise((t) => setTimeout(t, Oi));
12693
12721
  }
12694
12722
  /**
12695
12723
  * Captures current caret position for later restoration
@@ -12874,7 +12902,7 @@ const Mi = 30, Di = 200, Li = 100, rt = class rt extends T {
12874
12902
  * Emits history state changed event
12875
12903
  */
12876
12904
  emitStateChanged() {
12877
- this.eventsDispatcher.emit(Sn, {
12905
+ this.eventsDispatcher.emit(Cn, {
12878
12906
  canUndo: this.canUndo(),
12879
12907
  canRedo: this.canRedo()
12880
12908
  });
@@ -12891,61 +12919,61 @@ const Mi = 30, Di = 200, Li = 100, rt = class rt extends T {
12891
12919
  }
12892
12920
  };
12893
12921
  rt.activeInstance = null;
12894
- let ve = rt;
12895
- const Oi = {
12922
+ let ke = rt;
12923
+ const Ni = {
12896
12924
  // API Modules
12897
12925
  BlocksAPI: In,
12898
- CaretAPI: En,
12899
- EventsAPI: An,
12900
- I18nAPI: Mn,
12901
- API: Dn,
12902
- InlineToolbarAPI: Ln,
12903
- ListenersAPI: On,
12904
- NotifierAPI: Rn,
12905
- ReadOnlyAPI: Pn,
12906
- SanitizerAPI: Qn,
12907
- SaverAPI: ts,
12908
- SelectionAPI: es,
12909
- ToolsAPI: os,
12910
- StylesAPI: ns,
12911
- ToolbarAPI: ss,
12912
- TooltipAPI: fs,
12913
- UiAPI: gs,
12914
- HistoryAPI: ms,
12926
+ CaretAPI: An,
12927
+ EventsAPI: Mn,
12928
+ I18nAPI: Dn,
12929
+ API: Ln,
12930
+ InlineToolbarAPI: On,
12931
+ ListenersAPI: Nn,
12932
+ NotifierAPI: Pn,
12933
+ ReadOnlyAPI: Hn,
12934
+ SanitizerAPI: ts,
12935
+ SaverAPI: es,
12936
+ SelectionAPI: os,
12937
+ ToolsAPI: ns,
12938
+ StylesAPI: ss,
12939
+ ToolbarAPI: is,
12940
+ TooltipAPI: gs,
12941
+ UiAPI: ms,
12942
+ HistoryAPI: bs,
12915
12943
  // Toolbar Modules
12916
12944
  BlockSettings: Is,
12917
- Toolbar: Ls,
12918
- InlineToolbar: Ns,
12945
+ Toolbar: Os,
12946
+ InlineToolbar: Rs,
12919
12947
  // Modules
12920
- I18n: Us,
12921
- BlockEvents: fe,
12922
- BlockManager: ei,
12923
- BlockSelection: oi,
12924
- Caret: De,
12925
- CrossBlockSelection: ii,
12926
- DragManager: ri,
12927
- ModificationsObserver: ai,
12928
- Paste: ge,
12929
- ReadOnly: li,
12930
- RectangleSelection: ci,
12931
- Renderer: yi,
12932
- Saver: xi,
12933
- Tools: ke,
12934
- UI: Ai,
12935
- History: ve
12948
+ I18n: Ks,
12949
+ BlockEvents: pe,
12950
+ BlockManager: oi,
12951
+ BlockSelection: ni,
12952
+ Caret: Me,
12953
+ CrossBlockSelection: ri,
12954
+ DragManager: ai,
12955
+ ModificationsObserver: li,
12956
+ Paste: fe,
12957
+ ReadOnly: ci,
12958
+ RectangleSelection: di,
12959
+ Renderer: xi,
12960
+ Saver: Ti,
12961
+ Tools: be,
12962
+ UI: Mi,
12963
+ History: ke
12936
12964
  };
12937
- class Ni {
12965
+ class Ri {
12938
12966
  /**
12939
12967
  * @param {BlokConfig} config - user configuration
12940
12968
  */
12941
12969
  constructor(t) {
12942
- this.moduleInstances = {}, this.eventsDispatcher = new It(), this.config = {}, this.isReady = new Promise((e, o) => {
12970
+ this.moduleInstances = {}, this.eventsDispatcher = new Ct(), this.config = {}, this.isReady = new Promise((e, o) => {
12943
12971
  Promise.resolve().then(async () => {
12944
12972
  this.configuration = t, this.validate(), this.init(), await this.start(), await this.render();
12945
12973
  const { BlockManager: n, Caret: s, UI: i, ModificationsObserver: r, History: l } = this.moduleInstances;
12946
12974
  i.checkEmptiness(), r.enable(), await l.captureInitialState(), this.configuration.autofocus === !0 && this.configuration.readOnly !== !0 && s.setToBlock(n.blocks[0], s.positions.START), e();
12947
12975
  }).catch((n) => {
12948
- C(`Blok is not ready because of ${n}`, "error"), o(n);
12976
+ I(`Blok is not ready because of ${n}`, "error"), o(n);
12949
12977
  });
12950
12978
  });
12951
12979
  }
@@ -12957,10 +12985,10 @@ class Ni {
12957
12985
  var l, c, d, h;
12958
12986
  A(t) ? this.config = w({}, t) : this.config = {
12959
12987
  holder: t
12960
- }, this.config.holder == null && (this.config.holder = "blok"), this.config.logLevel == null && (this.config.logLevel = mn.VERBOSE), bn(this.config.logLevel), this.config.defaultBlock = (l = this.config.defaultBlock) != null ? l : "paragraph";
12988
+ }, this.config.holder == null && (this.config.holder = "blok"), this.config.logLevel == null && (this.config.logLevel = bn.VERBOSE), kn(this.config.logLevel), this.config.defaultBlock = (l = this.config.defaultBlock) != null ? l : "paragraph";
12961
12989
  const e = this.config.tools, o = this.config.defaultBlock, n = e != null && Object.prototype.hasOwnProperty.call(e, o != null ? o : ""), s = (c = this.config.data) == null ? void 0 : c.blocks, i = Array.isArray(s) && s.length > 0;
12962
12990
  if (o && o !== "paragraph" && !n && !i) {
12963
- C(
12991
+ I(
12964
12992
  `Default block "${o}" is not configured. Falling back to "paragraph" tool.`,
12965
12993
  "warn"
12966
12994
  ), this.config.defaultBlock = "paragraph";
@@ -13026,7 +13054,7 @@ class Ni {
13026
13054
  } catch (n) {
13027
13055
  if (n instanceof bt)
13028
13056
  throw new Error(n.message);
13029
- C(`Module ${o} was skipped because of %o`, "warn", n);
13057
+ I(`Module ${o} was skipped because of %o`, "warn", n);
13030
13058
  }
13031
13059
  }),
13032
13060
  Promise.resolve()
@@ -13047,14 +13075,14 @@ class Ni {
13047
13075
  * Make modules instances and save it to the @property this.moduleInstances
13048
13076
  */
13049
13077
  constructModules() {
13050
- Object.entries(Oi).forEach(([t, e]) => {
13078
+ Object.entries(Ni).forEach(([t, e]) => {
13051
13079
  try {
13052
13080
  this.moduleInstances[t] = new e({
13053
13081
  config: this.configuration,
13054
13082
  eventsDispatcher: this.eventsDispatcher
13055
13083
  });
13056
13084
  } catch (o) {
13057
- C(`[constructModules] Module ${t} skipped because`, "error", o);
13085
+ I(`[constructModules] Module ${t} skipped because`, "error", o);
13058
13086
  }
13059
13087
  });
13060
13088
  }
@@ -13111,10 +13139,10 @@ class Ni {
13111
13139
  return e;
13112
13140
  }
13113
13141
  }
13114
- const Fi = zt(), vt = class vt {
13142
+ const _i = _t(), vt = class vt {
13115
13143
  /** Blok version */
13116
13144
  static get version() {
13117
- return zt();
13145
+ return _t();
13118
13146
  }
13119
13147
  /**
13120
13148
  * @param {BlokConfig|string|undefined} [configuration] - user configuration
@@ -13122,7 +13150,7 @@ const Fi = zt(), vt = class vt {
13122
13150
  constructor(t) {
13123
13151
  this.initialConfiguration = A(t) ? w({}, t) : t;
13124
13152
  const e = A(t) && E(t.onReady) ? t.onReady : () => {
13125
- }, o = new Ni(t);
13153
+ }, o = new Ri(t);
13126
13154
  this.destroy = () => {
13127
13155
  }, this.isReady = o.isReady.then(() => {
13128
13156
  this.exportAPI(o), e();
@@ -13141,7 +13169,7 @@ const Fi = zt(), vt = class vt {
13141
13169
  E(k.destroy) && k.destroy();
13142
13170
  const B = k.listeners;
13143
13171
  B && E(B.removeAll) && B.removeAll();
13144
- }), ps();
13172
+ }), fs();
13145
13173
  for (const k in this)
13146
13174
  Object.prototype.hasOwnProperty.call(this, k) && delete this[k];
13147
13175
  Object.setPrototypeOf(this, null);
@@ -13209,9 +13237,9 @@ const Fi = zt(), vt = class vt {
13209
13237
  }
13210
13238
  };
13211
13239
  vt.DATA_ATTR = m;
13212
- let fo = vt;
13240
+ let go = vt;
13213
13241
  export {
13214
- fo as B,
13215
- Hi as e,
13216
- Fi as v
13242
+ go as B,
13243
+ Fi as e,
13244
+ _i as v
13217
13245
  };