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

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 (28) hide show
  1. package/dist/blok.mjs +2 -2
  2. package/dist/chunks/{blok-oNSQ3HA6.mjs → blok-BU6NwVkN.mjs} +423 -401
  3. package/dist/chunks/{i18next-loader-BdNRw4n4.mjs → i18next-loader-D8GzSwio.mjs} +1 -1
  4. package/dist/chunks/{index-DHgXmfki.mjs → index-C5e_WLFg.mjs} +1 -1
  5. package/dist/chunks/{inline-tool-convert-CRqgjRim.mjs → inline-tool-convert-CLUxkCe_.mjs} +2 -1
  6. package/dist/full.mjs +2 -2
  7. package/dist/tools.mjs +16 -7
  8. package/package.json +1 -1
  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 +1 -1
  14. package/src/components/ui/toolbox.ts +14 -5
  15. package/src/components/utils/popover/components/popover-item/popover-item-default/popover-item-default.ts +1 -1
  16. package/src/components/utils/popover/components/popover-item/popover-item.ts +11 -0
  17. package/src/components/utils/popover/popover-abstract.ts +1 -1
  18. package/src/components/utils/popover/popover-desktop.ts +8 -2
  19. package/src/stories/Popover.stories.ts +0 -85
  20. package/src/styles/main.css +7 -4
  21. package/src/tools/header/index.ts +1 -0
  22. package/src/tools/list/index.ts +11 -4
  23. package/types/configs/sanitizer-config.d.ts +25 -1
  24. package/types/index.d.ts +1 -0
  25. package/types/tools/block-tool.d.ts +2 -2
  26. package/types/tools/tool-settings.d.ts +7 -0
  27. package/types/utils/popover/popover-item.d.ts +6 -0
  28. package/types/utils/popover/popover.d.ts +6 -0
@@ -1,32 +1,32 @@
1
1
  var _o = Object.defineProperty, zo = Object.defineProperties;
2
2
  var Uo = 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 ? _o(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
12
  }, R = (a, t) => zo(a, Uo(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";
22
+ import { i as N, g as Ko, a as g, b as ve, c as E, l as I, S as y, d as Wo, e as $o, D as m, t as C, f as j, h as go, P as O, j as Ht, k as V, m as A, n as Bt, o as ht, p as mo, q as nt, T as Yt, r as Ft, s as v, I as jo, u as Yo, v as ct, w as oe, x as Vo, y as Xo, z as qo, A as bo, B as Zo, C as ko, E as vo, F as Go, G as _e, H as Jo, J as Qo, K as tn, L as Be, M as ze, N as en, O as Ue, Q as Ke, R as on, U as nn, V as sn, W as rn, X as an, Y as ne, Z as _t, _ as ln, $ as cn, a0 as dn, a1 as We, 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-CLUxkCe_.mjs";
23
23
  function kn(a) {
24
24
  return a && a.__esModule && Object.prototype.hasOwnProperty.call(a, "default") ? a.default : a;
25
25
  }
26
- var Vt, Ye;
26
+ var Vt, $e;
27
27
  function vn() {
28
- if (Ye) return Vt;
29
- Ye = 1;
28
+ if ($e) return Vt;
29
+ $e = 1;
30
30
  function a() {
31
31
  }
32
32
  return Vt = Object.assign(a, {
@@ -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 Bn = globalThis.setTimeout.bind(globalThis), wn = globalThis.clearTimeout.bind(globalThis), zt = /* @__PURE__ */ new Map(), yn = (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
53
  const t = Date.now(), e = {}, o = Bn(() => {
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
61
  }, 1), n = yn(o);
62
- return e.value = n, Ut.set(n, o), n;
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), wn(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
  }
@@ -244,7 +244,7 @@ const xn = function(t) {
244
244
  }
245
245
  }), this;
246
246
  }, q = xn;
247
- class Ct {
247
+ class It {
248
248
  constructor() {
249
249
  this.allListeners = [];
250
250
  }
@@ -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
@@ -462,9 +462,9 @@ class T {
462
462
  const Tn = (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", Bo = "fake cursor is about to be toggled", wo = "fake cursor have been set", yt = "blok mobile layout toggled", ie = "block-settings-opened", re = "block-settings-closed", Sn = "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)
@@ -887,7 +887,7 @@ 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
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 }));
@@ -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);
@@ -1023,7 +1023,7 @@ const U = class U extends It {
1023
1023
  return;
1024
1024
  const s = o.filter((i) => Tn(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;
@@ -1079,7 +1079,7 @@ U.styles = {
1079
1079
  contentStretched: "max-w-none"
1080
1080
  };
1081
1081
  let xt = U;
1082
- class In extends T {
1082
+ class Cn extends T {
1083
1083
  constructor() {
1084
1084
  super(...arguments), this.insert = (t, e = {}, o = {}, n, s, i, r) => {
1085
1085
  const l = t != null ? t : this.config.defaultBlock, c = this.Blok.BlockManager.insert({
@@ -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);
1294
+ const In = (a, t) => typeof a == "number" ? t.BlockManager.getBlockByIndex(a) : typeof a == "string" ? t.BlockManager.getBlockById(a) : t.BlockManager.getBlockById(a.id);
1295
1295
  class En 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 = In(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
  }
@@ -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-C5e_WLFg.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.');
@@ -1555,7 +1555,7 @@ class Pn extends T {
1555
1555
  return this.Blok.ReadOnly.isEnabled;
1556
1556
  }
1557
1557
  }
1558
- var Nt = { exports: {} }, Hn = Nt.exports, je;
1558
+ var Ot = { exports: {} }, Hn = Ot.exports, je;
1559
1559
  function Fn() {
1560
1560
  return je || (je = 1, (function(a, t) {
1561
1561
  (function(e, o) {
@@ -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
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) => {
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, 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
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) => {
1649
+ }, ye = (a, t, e) => Array.isArray(a) ? Wn(a, t, e) : A(a) ? $n(a, t, e) : ht(a) ? jn(a, t, e) : a, Wn = (a, t, e) => a.map((o) => ye(o, t, e)), $n = (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 && Yn(l) ? l : t;
1655
+ o[s] = ye(i, c, e);
1656
1656
  }
1657
1657
  return o;
1658
- }, Yn = (a, t, e) => {
1658
+ }, jn = (a, t, e) => {
1659
1659
  const o = Jn(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
+ }, Yn = (a) => A(a) || mo(a) || E(a), Vn = (a) => a ? Un.test(a) : !1, Xt = (a) => {
1670
1670
  if (!a || a.indexOf("<") === -1)
1671
1671
  return a;
1672
1672
  if (typeof document != "undefined") {
@@ -1674,32 +1674,32 @@ const zn = /* @__PURE__ */ kn(_n), Un = /^\s*(?:javascript\s*:|data\s*:\s*text\s
1674
1674
  return t.innerHTML = a, t.content.querySelectorAll("[href],[src]").forEach((o) => {
1675
1675
  ["href", "src"].forEach((n) => {
1676
1676
  const s = o.getAttribute(n);
1677
- Xn(s) && o.removeAttribute(n);
1677
+ Vn(s) && o.removeAttribute(n);
1678
1678
  });
1679
1679
  }), t.innerHTML;
1680
1680
  }
1681
1681
  return a.replace(Kn, "");
1682
- }, Te = (a) => {
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
+ }, Xn = /* @__PURE__ */ new Set(["class", "id", "title", "role", "dir", "lang"]), qn = (a) => {
1693
1693
  const t = a.toLowerCase();
1694
- return t.startsWith("data-") || t.startsWith("aria-") || Vn.has(t);
1694
+ return t.startsWith("data-") || t.startsWith("aria-") || Xn.has(t);
1695
1695
  }, Zn = (a) => {
1696
1696
  const t = {};
1697
1697
  return Array.from(a.attributes).forEach((e) => {
1698
1698
  qn(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(Zn) : a === !1 ? !1 : E(a) ? Ye(a) : ht(a) ? a : A(a) ? Bt({}, a) : a, Gn = (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
+ }, Jn = (a, t) => A(a) && !E(a) ? Gn(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) {
@@ -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;
@@ -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, is = "tooltip", rs = "aria-hidden", as = "false", ls = "true", cs = "visibility", ds = "visible", hs = "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
@@ -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", is), this.watchTooltipVisibility());
2143
2143
  }
2144
2144
  /**
2145
2145
  * Calculates element coords and moves tooltip bottom of the element
@@ -2231,15 +2231,15 @@ 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(), us = (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 : {});
2238
+ $t().hide();
2239
+ }, Ut = (a, t, e) => {
2240
+ $t().onHover(a, t, e != null ? e : {});
2241
2241
  }, ps = () => {
2242
- Yt().destroy();
2242
+ $t().destroy();
2243
2243
  };
2244
2244
  class fs extends T {
2245
2245
  /**
@@ -2286,7 +2286,7 @@ 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
2292
  class gs extends T {
@@ -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 = {
@@ -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
@@ -2778,7 +2778,7 @@ class Ie {
2778
2778
  */
2779
2779
  addHint(t, e) {
2780
2780
  const o = new bs(e);
2781
- Kt(t, o.getElement(), {
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
  */
@@ -2876,7 +2884,7 @@ const lt = {
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,11 +3018,11 @@ 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");
3017
- u.className = this.getChevronClass(s), u.setAttribute(m.popoverItemIcon, ""), u.setAttribute(m.popoverItemIconChevronRight, ""), u.setAttribute("data-blok-testid", "popover-item-chevron-right"), u.innerHTML = Yo, t.appendChild(u), this.nodes.chevron = u;
3025
+ u.className = this.getChevronClass(s), u.setAttribute(m.popoverItemIcon, ""), u.setAttribute(m.popoverItemIconChevronRight, ""), u.setAttribute("data-blok-testid", "popover-item-chevron-right"), u.innerHTML = jo, t.appendChild(u), this.nodes.chevron = u;
3018
3026
  }
3019
3027
  }
3020
3028
  /**
@@ -3030,7 +3038,7 @@ 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
3043
  t && ks.item,
3036
3044
  e && vs.item,
@@ -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 yo 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"
@@ -3374,7 +3382,7 @@ const L = {
3374
3382
  popoverContainer: "flex-row top-0 min-w-max w-max p-1 mobile:absolute"
3375
3383
  }, Bs = (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 xo 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
@@ -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,
@@ -3589,12 +3597,12 @@ const To = (a, t) => {
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 ws 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: Yo
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
  /**
@@ -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.
@@ -3975,7 +3986,7 @@ class ft extends xo {
3975
3986
  }
3976
3987
  }
3977
3988
  const ys = "38px", xs = "46px";
3978
- class Ze extends ft {
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", 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) => {
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, Bs(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,8 +4206,8 @@ 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"
@@ -4207,20 +4218,20 @@ class Ts {
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
  })
4223
- }, this.nodes.backButton.innerHTML = Xo, this.nodes.root.appendChild(this.nodes.backButton), this.listeners.on(this.nodes.backButton, "click", this.onBackButtonClick), this.nodes.text.innerText = this.text, this.nodes.root.appendChild(this.nodes.text);
4234
+ }, this.nodes.backButton.innerHTML = Vo, this.nodes.root.appendChild(this.nodes.backButton), this.listeners.on(this.nodes.backButton, "click", this.onBackButtonClick), this.nodes.text.innerText = this.text, this.nodes.root.appendChild(this.nodes.text);
4224
4235
  }
4225
4236
  /**
4226
4237
  * Returns popover header root html element
@@ -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 Ss(), 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);
@@ -4362,7 +4373,7 @@ class So extends xo {
4362
4373
  });
4363
4374
  }
4364
4375
  }
4365
- class Is extends T {
4376
+ class Cs extends T {
4366
4377
  constructor() {
4367
4378
  super(...arguments), this.opened = !1, this.selection = new y(), this.popover = null, this.flipperInstance = new J({
4368
4379
  focusedItemClass: lt.focused,
@@ -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
  /**
@@ -4430,16 +4441,17 @@ class Is extends T {
4430
4441
  return;
4431
4442
  this.selection.save(), n || (this.Blok.BlockSelection.selectBlock(s), this.Blok.BlockSelection.clearCache());
4432
4443
  const { toolTunes: i, commonTunes: r } = s.getTunes(), l = ct() ? So : ft, c = {
4433
- searchable: !0,
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,7 +4479,7 @@ 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 Xo(
4471
4483
  s.map((d) => new q(d)),
4472
4484
  r
4473
4485
  ) : await qo(t, r)).reduce((d, h) => (h.toolbox === void 0 || h.toolbox.forEach((u) => {
@@ -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
+ }, Is = {
4711
4723
  0: "Digit0",
4712
4724
  1: "Digit1",
4713
4725
  2: "Digit2",
@@ -4754,8 +4766,8 @@ 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
+ }, Es = (a) => Object.keys(Ze).find(
4770
+ (e) => Ze[e].includes(a)
4759
4771
  );
4760
4772
  class As {
4761
4773
  /**
@@ -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 = Is[o];
4814
4826
  return t.code === n;
4815
4827
  });
4816
4828
  }
@@ -4874,8 +4886,8 @@ class Ms {
4874
4886
  }
4875
4887
  }
4876
4888
  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 {
4889
+ var Nt = /* @__PURE__ */ ((a) => (a.Opened = "toolbox-opened", a.Closed = "toolbox-closed", a.BlockAdded = "toolbox-block-added", a))(Nt || {});
4890
+ class Ds 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
@@ -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: bo(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 ? vo(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,7 +5152,7 @@ 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;
5155
+ const ce = "block hovered", Ge = 10;
5144
5156
  class Ls extends T {
5145
5157
  /**
5146
5158
  * @class
@@ -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();
@@ -5427,27 +5438,19 @@ class Ls extends T {
5427
5438
  innerHTML: Go
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", [
@@ -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();
@@ -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,12 +5646,34 @@ 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 || {});
@@ -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 || {}), Co = /* @__PURE__ */ ((a) => (a.Shortcut = "shortcut", a.SanitizeConfig = "sanitize", a))(Co || {}), pt = /* @__PURE__ */ ((a) => (a.IsEnabledLineBreaks = "enableLineBreaks", a.Toolbox = "toolbox", a.ConversionConfig = "conversionConfig", a.IsReadOnlySupported = "isReadOnlySupported", a.PasteConfig = "pasteConfig", a))(pt || {}), Io = /* @__PURE__ */ ((a) => (a.IsInline = "isInline", a.Title = "title", a.IsReadOnlySupported = "isReadOnlySupported", a))(Io || {}), Eo = /* @__PURE__ */ ((a) => (a.IsTune = "isTune", a))(Eo || {});
5690
+ class Ie {
5669
5691
  /**
5670
5692
  * @class
5671
5693
  * @param {ConstructorOptions} options - Constructor options
@@ -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,7 +5917,7 @@ 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]",
@@ -5906,12 +5928,12 @@ class Ns extends T {
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 ? vo(r) : void 0, c = tn(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);
@@ -6037,7 +6059,7 @@ class Ns extends T {
6037
6059
  */
6038
6060
  getToolShortcut(t) {
6039
6061
  const { Tools: e } = this.Blok, o = e.inlineTools.get(t), n = e.internal.inlineTools;
6040
- return Array.from(n.keys()).includes(t) ? this.inlineTools[t][Io.Shortcut] : o == null ? void 0 : o.shortcut;
6062
+ return Array.from(n.keys()).includes(t) ? this.inlineTools[t][Co.Shortcut] : o == null ? void 0 : o.shortcut;
6041
6063
  }
6042
6064
  /**
6043
6065
  * Enable Tool shortcut with Blok Shortcuts Module
@@ -6172,9 +6194,9 @@ 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) => Rs.has(a) ? "rtl" : "ltr", Ao = (a, t) => ({
6176
6198
  dictionary: t,
6177
- direction: he(a)
6199
+ direction: de(a)
6178
6200
  }), Ps = [
6179
6201
  "am",
6180
6202
  "ar",
@@ -6244,8 +6266,8 @@ 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);
6269
+ ], Je = "en", Hs = Ao("en", Et), he = /* @__PURE__ */ new Map();
6270
+ he.set("en", Hs);
6249
6271
  const Fs = {
6250
6272
  am: () => import("./messages-Bdv-IkfG.mjs"),
6251
6273
  ar: () => import("./messages-AHESHJm_.mjs"),
@@ -6316,11 +6338,11 @@ const Fs = {
6316
6338
  yi: () => import("./messages-RvMHb2Ht.mjs"),
6317
6339
  zh: () => import("./messages-B66ZSDCJ.mjs")
6318
6340
  }, _s = async (a) => {
6319
- const t = ue.get(a);
6341
+ const t = he.get(a);
6320
6342
  if (t !== void 0)
6321
6343
  return t;
6322
6344
  const e = Fs[a], o = await e(), n = Ao(a, o.default);
6323
- return ue.set(a, n), n;
6345
+ return he.set(a, n), n;
6324
6346
  };
6325
6347
  class zs {
6326
6348
  constructor() {
@@ -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-D8GzSwio.mjs");
6493
6515
  this.i18nextWrapper = await o(t, e);
6494
6516
  }
6495
6517
  /**
@@ -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)
@@ -6565,7 +6587,7 @@ const Ae = " ", pe = /* @__PURE__ */ new WeakSet(), Me = () => {
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) => Mo(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;
@@ -6580,7 +6602,7 @@ 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
6608
  }) : null, to = /* @__PURE__ */ new WeakSet(), Do = (a) => {
@@ -6598,7 +6620,7 @@ typeof window != "undefined" && typeof window.document != "undefined" && Do(wind
6598
6620
  const Ks = (a) => {
6599
6621
  var n, s;
6600
6622
  Do(a.ownerDocument);
6601
- const [t, e] = Me();
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,10 +6645,10 @@ 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
  };
@@ -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,7 +6676,7 @@ 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;
@@ -6665,7 +6687,7 @@ const Ks = (a) => {
6665
6687
  return !0;
6666
6688
  if (g.isNativeInput(t))
6667
6689
  return t.selectionEnd === t.value.length;
6668
- const [e, o] = Me();
6690
+ const [e, o] = Ae();
6669
6691
  return e === null ? !1 : Lo(a, e, o, "right");
6670
6692
  }, Oo = (a, t) => {
6671
6693
  const e = a.getBoundingClientRect();
@@ -6774,11 +6796,11 @@ const Ks = (a) => {
6774
6796
  return s ? s.getBoundingClientRect().left : null;
6775
6797
  }, oo = (a, t, e) => {
6776
6798
  if (g.isNativeInput(a)) {
6777
- Ys(a, t, e);
6799
+ js(a, t, e);
6778
6800
  return;
6779
6801
  }
6780
- js(a, t, e);
6781
- }, Ys = (a, t, e) => {
6802
+ Ys(a, t, e);
6803
+ }, js = (a, t, e) => {
6782
6804
  a.focus();
6783
6805
  const o = a.value;
6784
6806
  if (o.length === 0) {
@@ -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
+ }, Ys = (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
- const s = Xs(a, n, e);
6834
+ const s = Vs(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 = Xs(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)
@@ -6838,7 +6860,7 @@ const Ks = (a) => {
6838
6860
  } catch (r) {
6839
6861
  No(a, e);
6840
6862
  }
6841
- }, Xs = (a, t, e) => {
6863
+ }, Vs = (a, t, e) => {
6842
6864
  const o = document.createRange();
6843
6865
  try {
6844
6866
  if (e)
@@ -6856,7 +6878,7 @@ const Ks = (a) => {
6856
6878
  } catch (n) {
6857
6879
  return null;
6858
6880
  }
6859
- }, Vs = (a, t) => {
6881
+ }, Xs = (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
+ }, qs = /* @__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
@@ -7338,8 +7360,8 @@ 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();
@@ -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
  }
@@ -7433,8 +7455,8 @@ const Ks = (a) => {
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
@@ -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
@@ -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",
@@ -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,11 +8256,11 @@ 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;
@@ -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
  /**
@@ -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,7 +8786,7 @@ 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)();
@@ -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
@@ -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
  /**
@@ -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
@@ -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 = {
@@ -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);
@@ -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) => sn(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({
@@ -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,8 +10440,8 @@ const ho = /* @__PURE__ */ new Set([
10418
10440
  });
10419
10441
  }
10420
10442
  };
10421
- Wt.PATTERN_PROCESSING_MAX_LENGTH = 450;
10422
- let ge = Wt;
10443
+ Kt.PATTERN_PROCESSING_MAX_LENGTH = 450;
10444
+ let fe = Kt;
10423
10445
  class li extends T {
10424
10446
  constructor() {
10425
10447
  super(...arguments), this.toolsDontSupportReadOnly = [], this.readOnlyEnabled = !1;
@@ -10507,10 +10529,10 @@ 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),
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),
10514
10536
  an
10515
10537
  ].some((b) => !!h.closest(b))) || (this.Blok.Toolbar.close(), this.mousedown = !0, this.startX = t, this.startY = e);
10516
10538
  }
@@ -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,
@@ -10785,7 +10807,7 @@ const di = (a) => a.some((t) => t.items !== void 0 && t.items.length > 0), hi =
10785
10807
  }, 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) => {
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
10812
  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({
10791
10813
  id: d,
@@ -10805,7 +10827,7 @@ const di = (a) => a.some((t) => t.items !== void 0 && t.items.length > 0), hi =
10805
10827
  var e, o;
10806
10828
  const t = [];
10807
10829
  for (const n of a) {
10808
- const s = (e = n.id) != null ? e : Be();
10830
+ const s = (e = n.id) != null ? e : ve();
10809
10831
  if (n.type === "list" && ((o = n.data) == null ? void 0 : o.items)) {
10810
10832
  const r = n.data, l = fi(r, n.tunes);
10811
10833
  t.push(...l);
@@ -10895,7 +10917,7 @@ class yi extends T {
10895
10917
  const { tunes: d, id: h, parent: u, content: f } = c, p = c.type, b = o.available.has(p) ? {
10896
10918
  tool: p,
10897
10919
  data: c.data
10898
- } : (X(`Tool «${p}» is not found. Check 'tools' property at the Blok config.`, "warn"), {
10920
+ } : (V(`Tool «${p}» is not found. Check 'tools' property at the Blok config.`, "warn"), {
10899
10921
  tool: o.stubTool,
10900
10922
  data: this.composeStubDataForTool(p, c.data, h)
10901
10923
  });
@@ -10910,7 +10932,7 @@ class yi extends T {
10910
10932
  contentIds: f
10911
10933
  });
10912
10934
  } catch (S) {
10913
- C(`Block «${B}» skipped because of plugins error`, "error", {
10935
+ I(`Block «${B}» skipped because of plugins error`, "error", {
10914
10936
  data: x,
10915
10937
  error: S
10916
10938
  });
@@ -10967,7 +10989,7 @@ class xi extends T {
10967
10989
  return {
10968
10990
  time: +/* @__PURE__ */ new Date(),
10969
10991
  blocks: [],
10970
- version: zt()
10992
+ version: _t()
10971
10993
  };
10972
10994
  const n = o.map((s) => this.getSavedData(s));
10973
10995
  this.lastSaveError = void 0;
@@ -10984,7 +11006,7 @@ class xi extends T {
10984
11006
  } catch (s) {
10985
11007
  this.lastSaveError = s;
10986
11008
  const i = s instanceof Error ? s : new Error(String(s));
10987
- X("Saving failed due to the Error %o", "error", i);
11009
+ V("Saving failed due to the Error %o", "error", i);
10988
11010
  return;
10989
11011
  }
10990
11012
  }
@@ -11017,11 +11039,11 @@ class xi extends T {
11017
11039
  const e = [];
11018
11040
  t.forEach(({ id: c, tool: d, data: h, tunes: u, isValid: f, parentId: p, contentIds: b }) => {
11019
11041
  if (!f) {
11020
- C(`Block «${d}» skipped because saved data is invalid`);
11042
+ I(`Block «${d}» skipped because saved data is invalid`);
11021
11043
  return;
11022
11044
  }
11023
11045
  if (d === void 0 || h === void 0) {
11024
- C("Block skipped because saved data is missing required fields");
11046
+ I("Block skipped because saved data is missing required fields");
11025
11047
  return;
11026
11048
  }
11027
11049
  if (d === this.Blok.Tools.stubTool && this.isStubSavedData(h)) {
@@ -11029,7 +11051,7 @@ class xi extends T {
11029
11051
  return;
11030
11052
  }
11031
11053
  if (d === this.Blok.Tools.stubTool) {
11032
- C("Stub block data is malformed and was skipped");
11054
+ I("Stub block data is malformed and was skipped");
11033
11055
  return;
11034
11056
  }
11035
11057
  const k = u === void 0 || N(u), B = p != null, x = b !== void 0 && b.length > 0, S = w(w(w({
@@ -11049,7 +11071,7 @@ class xi extends T {
11049
11071
  return {
11050
11072
  time: +/* @__PURE__ */ new Date(),
11051
11073
  blocks: s,
11052
- version: zt()
11074
+ version: _t()
11053
11075
  };
11054
11076
  }
11055
11077
  /**
@@ -11067,7 +11089,7 @@ class xi extends T {
11067
11089
  });
11068
11090
  }), n.length === 0)
11069
11091
  return t;
11070
- const s = ye(
11092
+ const s = we(
11071
11093
  n.map(({ data: r }) => r),
11072
11094
  e,
11073
11095
  o
@@ -11120,7 +11142,7 @@ class xi extends T {
11120
11142
  });
11121
11143
  }
11122
11144
  }
11123
- const Le = class Le {
11145
+ const De = class De {
11124
11146
  /**
11125
11147
  * @param options - constructor options
11126
11148
  * @param options.data - stub tool data
@@ -11156,9 +11178,9 @@ const Le = class Le {
11156
11178
  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
11179
  }
11158
11180
  };
11159
- Le.isReadOnlySupported = !0;
11160
- let me = Le;
11161
- class Ti extends Ee {
11181
+ De.isReadOnlySupported = !0;
11182
+ let ge = De;
11183
+ class Ti extends Ie {
11162
11184
  constructor() {
11163
11185
  super(...arguments), this.type = dt.Inline;
11164
11186
  }
@@ -11202,7 +11224,7 @@ class Ti extends Ee {
11202
11224
  return this.constructable.titleKey;
11203
11225
  }
11204
11226
  }
11205
- class Si extends Ee {
11227
+ class Si extends Ie {
11206
11228
  constructor() {
11207
11229
  super(...arguments), this.type = dt.Tune;
11208
11230
  }
@@ -11258,7 +11280,7 @@ class _ extends Map {
11258
11280
  return new _(t);
11259
11281
  }
11260
11282
  }
11261
- class Ii extends Ee {
11283
+ class Ci extends Ie {
11262
11284
  constructor() {
11263
11285
  super(...arguments), this.type = dt.Block, this.inlineTools = new _(), this.tunes = new _();
11264
11286
  }
@@ -11308,7 +11330,7 @@ class Ii extends Ee {
11308
11330
  * whose `data.style` matches one of the specified styles will be included.
11309
11331
  */
11310
11332
  get toolbox() {
11311
- const t = this.constructable[pt.Toolbox], e = this.config[Pt.Toolbox];
11333
+ const t = this.constructable[pt.Toolbox], e = this.config[Rt.Toolbox];
11312
11334
  if (!t || N(t) || e === !1)
11313
11335
  return;
11314
11336
  const o = this.mergeToolboxSettings(t, e), n = this.filterToolboxEntriesByStyles(o);
@@ -11358,14 +11380,14 @@ class Ii extends Ee {
11358
11380
  * Defaults to true (all inline tools) unless explicitly set to false or array.
11359
11381
  */
11360
11382
  get enabledInlineTools() {
11361
- const t = this.config[Pt.EnabledInlineTools];
11383
+ const t = this.config[Rt.EnabledInlineTools];
11362
11384
  return t === void 0 ? !0 : t;
11363
11385
  }
11364
11386
  /**
11365
11387
  * Returns enabled tunes for Tool
11366
11388
  */
11367
11389
  get enabledBlockTunes() {
11368
- return this.config[Pt.EnabledBlockTunes];
11390
+ return this.config[Rt.EnabledBlockTunes];
11369
11391
  }
11370
11392
  /**
11371
11393
  * User-provided search terms from tool settings.
@@ -11417,7 +11439,7 @@ class Ii extends Ee {
11417
11439
  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
11440
  }
11419
11441
  }
11420
- class Ci {
11442
+ class Ii {
11421
11443
  /**
11422
11444
  * @class
11423
11445
  * @param config - tools config
@@ -11479,16 +11501,16 @@ class Ci {
11479
11501
  */
11480
11502
  getConstructor(t) {
11481
11503
  switch (!0) {
11482
- case !!Reflect.get(t, Co.IsInline):
11504
+ case !!Reflect.get(t, Io.IsInline):
11483
11505
  return Ti;
11484
11506
  case !!Reflect.get(t, Eo.IsTune):
11485
11507
  return Si;
11486
11508
  default:
11487
- return Ii;
11509
+ return Ci;
11488
11510
  }
11489
11511
  }
11490
11512
  }
11491
- const Oe = class Oe {
11513
+ const Le = class Le {
11492
11514
  /**
11493
11515
  * DeleteTune constructor
11494
11516
  * @param {API} api - Blok's API
@@ -11514,13 +11536,13 @@ const Oe = class Oe {
11514
11536
  this.api.blocks.delete();
11515
11537
  }
11516
11538
  };
11517
- Oe.isTune = !0;
11518
- let be = Oe;
11519
- const oe = (a) => {
11539
+ Le.isTune = !0;
11540
+ let me = Le;
11541
+ const ee = (a) => {
11520
11542
  if (!E(a))
11521
11543
  throw new Error("Tool constructable must be a function");
11522
11544
  return a;
11523
- }, $t = class $t extends T {
11545
+ }, Wt = class Wt extends T {
11524
11546
  constructor() {
11525
11547
  super(...arguments), this.stubTool = "stub", this.factory = null, this.toolsAvailable = new _(), this.toolsUnavailable = new _(), this.inlineToolsSanitizeConfigCache = null;
11526
11548
  }
@@ -11585,7 +11607,7 @@ const oe = (a) => {
11585
11607
  if (!e || Object.keys(e).length === 0)
11586
11608
  throw Error("Can't start without tools");
11587
11609
  const o = this.prepareConfig(e);
11588
- this.factory = new Ci(o, this.config, this.Blok.API);
11610
+ this.factory = new Ii(o, this.config, this.Blok.API);
11589
11611
  const n = this.getListOfPrepareFunctions(o);
11590
11612
  if (n.length === 0)
11591
11613
  return Promise.resolve();
@@ -11625,12 +11647,12 @@ const oe = (a) => {
11625
11647
  try {
11626
11648
  return t.reset();
11627
11649
  } catch (o) {
11628
- C(`Tool "${t.name}" reset failed`, "warn", o);
11650
+ I(`Tool "${t.name}" reset failed`, "warn", o);
11629
11651
  return;
11630
11652
  }
11631
11653
  })();
11632
11654
  e instanceof Promise && e.catch((o) => {
11633
- C(`Tool "${t.name}" reset failed`, "warn", o);
11655
+ I(`Tool "${t.name}" reset failed`, "warn", o);
11634
11656
  });
11635
11657
  }
11636
11658
  }
@@ -11647,15 +11669,15 @@ const oe = (a) => {
11647
11669
  get internalTools() {
11648
11670
  return {
11649
11671
  stub: {
11650
- class: oe(me),
11672
+ class: ee(ge),
11651
11673
  isInternal: !0
11652
11674
  },
11653
11675
  delete: {
11654
- class: oe(be),
11676
+ class: ee(me),
11655
11677
  isInternal: !0
11656
11678
  },
11657
11679
  convertTo: {
11658
- class: oe(dn),
11680
+ class: ee(dn),
11659
11681
  isInternal: !0
11660
11682
  }
11661
11683
  };
@@ -11672,7 +11694,7 @@ const oe = (a) => {
11672
11694
  }
11673
11695
  const o = ["render"], n = e.getMissingMethods(o);
11674
11696
  if (n.length) {
11675
- C(
11697
+ I(
11676
11698
  `Incorrect Inline Tool: ${e.name}. Some of required methods is not implemented %o`,
11677
11699
  "warn",
11678
11700
  n
@@ -11722,7 +11744,7 @@ const oe = (a) => {
11722
11744
  var n;
11723
11745
  const e = (n = t.config) != null ? n : {}, o = {};
11724
11746
  for (const s of Object.keys(t))
11725
- $t.BLOK_SETTINGS_KEYS.has(s) || (o[s] = t[s]);
11747
+ Wt.BLOK_SETTINGS_KEYS.has(s) || (o[s] = t[s]);
11726
11748
  return w(w({}, e), o);
11727
11749
  }
11728
11750
  /**
@@ -11842,7 +11864,7 @@ const oe = (a) => {
11842
11864
  for (const o of t) {
11843
11865
  const n = this.inlineTools.get(o);
11844
11866
  if (!n) {
11845
- C(`Inline tool "${o}" is not available and will be skipped`, "warn");
11867
+ I(`Inline tool "${o}" is not available and will be skipped`, "warn");
11846
11868
  continue;
11847
11869
  }
11848
11870
  e.push([o, n]);
@@ -11859,7 +11881,7 @@ const oe = (a) => {
11859
11881
  for (const o of t) {
11860
11882
  const n = this.blockTunes.get(o);
11861
11883
  if (!n) {
11862
- C(`Block tune "${o}" is not available and will be skipped`, "warn");
11884
+ I(`Block tune "${o}" is not available and will be skipped`, "warn");
11863
11885
  continue;
11864
11886
  }
11865
11887
  e.push([o, n]);
@@ -11867,7 +11889,7 @@ const oe = (a) => {
11867
11889
  return new _(e);
11868
11890
  }
11869
11891
  };
11870
- $t.BLOK_SETTINGS_KEYS = /* @__PURE__ */ new Set([
11892
+ Wt.BLOK_SETTINGS_KEYS = /* @__PURE__ */ new Set([
11871
11893
  "class",
11872
11894
  "inlineToolbar",
11873
11895
  "tunes",
@@ -11876,13 +11898,13 @@ $t.BLOK_SETTINGS_KEYS = /* @__PURE__ */ new Set([
11876
11898
  "config",
11877
11899
  "isInternal"
11878
11900
  ]);
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;
11901
+ let be = Wt;
11902
+ 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-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}}`, po = 100;
11881
11903
  class Ai extends T {
11882
11904
  constructor() {
11883
- super(...arguments), this.isMobile = !1, this.contentRectCache = null, this.resizeDebouncer = $e(() => {
11905
+ super(...arguments), this.isMobile = !1, this.contentRectCache = null, this.resizeDebouncer = We(() => {
11884
11906
  this.windowResize();
11885
- }, 200), this.selectionChangeDebounced = $e(() => {
11907
+ }, 200), this.selectionChangeDebounced = We(() => {
11886
11908
  this.selectionChanged();
11887
11909
  }, gn), this.documentTouchedListener = (t) => {
11888
11910
  this.documentTouched(t);
@@ -12058,19 +12080,19 @@ class Ai extends T {
12058
12080
  watchBlockHoveredEvents() {
12059
12081
  const t = {
12060
12082
  lastHoveredBlockId: null
12061
- }, o = se(
12083
+ }, o = ne(
12062
12084
  (n) => {
12063
12085
  var l;
12064
- if (!(n instanceof MouseEvent))
12086
+ if (typeof MouseEvent == "undefined" || !(n instanceof MouseEvent))
12065
12087
  return;
12066
12088
  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, {
12089
+ if (i !== null && t.lastHoveredBlockId !== i.id && (t.lastHoveredBlockId = i.id, this.eventsDispatcher.emit(ce, {
12068
12090
  block: i,
12069
12091
  target: i.holder
12070
12092
  })), i !== null || !s)
12071
12093
  return;
12072
12094
  const r = this.Blok.BlockManager.getBlockByChildNode(s);
12073
- r && t.lastHoveredBlockId !== r.id && (t.lastHoveredBlockId = r.id, this.eventsDispatcher.emit(de, {
12095
+ r && t.lastHoveredBlockId !== r.id && (t.lastHoveredBlockId = r.id, this.eventsDispatcher.emit(ce, {
12074
12096
  block: r,
12075
12097
  target: n.target
12076
12098
  }));
@@ -12891,10 +12913,10 @@ const Mi = 30, Di = 200, Li = 100, rt = class rt extends T {
12891
12913
  }
12892
12914
  };
12893
12915
  rt.activeInstance = null;
12894
- let ve = rt;
12916
+ let ke = rt;
12895
12917
  const Oi = {
12896
12918
  // API Modules
12897
- BlocksAPI: In,
12919
+ BlocksAPI: Cn,
12898
12920
  CaretAPI: En,
12899
12921
  EventsAPI: An,
12900
12922
  I18nAPI: Mn,
@@ -12913,39 +12935,39 @@ const Oi = {
12913
12935
  UiAPI: gs,
12914
12936
  HistoryAPI: ms,
12915
12937
  // Toolbar Modules
12916
- BlockSettings: Is,
12938
+ BlockSettings: Cs,
12917
12939
  Toolbar: Ls,
12918
12940
  InlineToolbar: Ns,
12919
12941
  // Modules
12920
12942
  I18n: Us,
12921
- BlockEvents: fe,
12943
+ BlockEvents: pe,
12922
12944
  BlockManager: ei,
12923
12945
  BlockSelection: oi,
12924
- Caret: De,
12946
+ Caret: Me,
12925
12947
  CrossBlockSelection: ii,
12926
12948
  DragManager: ri,
12927
12949
  ModificationsObserver: ai,
12928
- Paste: ge,
12950
+ Paste: fe,
12929
12951
  ReadOnly: li,
12930
12952
  RectangleSelection: ci,
12931
12953
  Renderer: yi,
12932
12954
  Saver: xi,
12933
- Tools: ke,
12955
+ Tools: be,
12934
12956
  UI: Ai,
12935
- History: ve
12957
+ History: ke
12936
12958
  };
12937
12959
  class Ni {
12938
12960
  /**
12939
12961
  * @param {BlokConfig} config - user configuration
12940
12962
  */
12941
12963
  constructor(t) {
12942
- this.moduleInstances = {}, this.eventsDispatcher = new It(), this.config = {}, this.isReady = new Promise((e, o) => {
12964
+ this.moduleInstances = {}, this.eventsDispatcher = new Ct(), this.config = {}, this.isReady = new Promise((e, o) => {
12943
12965
  Promise.resolve().then(async () => {
12944
12966
  this.configuration = t, this.validate(), this.init(), await this.start(), await this.render();
12945
12967
  const { BlockManager: n, Caret: s, UI: i, ModificationsObserver: r, History: l } = this.moduleInstances;
12946
12968
  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
12969
  }).catch((n) => {
12948
- C(`Blok is not ready because of ${n}`, "error"), o(n);
12970
+ I(`Blok is not ready because of ${n}`, "error"), o(n);
12949
12971
  });
12950
12972
  });
12951
12973
  }
@@ -12960,7 +12982,7 @@ class Ni {
12960
12982
  }, 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";
12961
12983
  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
12984
  if (o && o !== "paragraph" && !n && !i) {
12963
- C(
12985
+ I(
12964
12986
  `Default block "${o}" is not configured. Falling back to "paragraph" tool.`,
12965
12987
  "warn"
12966
12988
  ), this.config.defaultBlock = "paragraph";
@@ -13026,7 +13048,7 @@ class Ni {
13026
13048
  } catch (n) {
13027
13049
  if (n instanceof bt)
13028
13050
  throw new Error(n.message);
13029
- C(`Module ${o} was skipped because of %o`, "warn", n);
13051
+ I(`Module ${o} was skipped because of %o`, "warn", n);
13030
13052
  }
13031
13053
  }),
13032
13054
  Promise.resolve()
@@ -13054,7 +13076,7 @@ class Ni {
13054
13076
  eventsDispatcher: this.eventsDispatcher
13055
13077
  });
13056
13078
  } catch (o) {
13057
- C(`[constructModules] Module ${t} skipped because`, "error", o);
13079
+ I(`[constructModules] Module ${t} skipped because`, "error", o);
13058
13080
  }
13059
13081
  });
13060
13082
  }
@@ -13111,10 +13133,10 @@ class Ni {
13111
13133
  return e;
13112
13134
  }
13113
13135
  }
13114
- const Fi = zt(), vt = class vt {
13136
+ const Fi = _t(), vt = class vt {
13115
13137
  /** Blok version */
13116
13138
  static get version() {
13117
- return zt();
13139
+ return _t();
13118
13140
  }
13119
13141
  /**
13120
13142
  * @param {BlokConfig|string|undefined} [configuration] - user configuration