@jackuait/blok 0.23.1 → 0.23.3

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 (49) hide show
  1. package/README.md +3 -1
  2. package/dist/blok.cjs +1 -1
  3. package/dist/blok.iife.js +73 -73
  4. package/dist/blok.mjs +3 -3
  5. package/dist/blok.umd.js +53 -53
  6. package/dist/chunks/{blok-BPeM6wKv.mjs → blok-1H9roBGf.mjs} +2271 -2249
  7. package/dist/chunks/{blok-Ci1zCOUg.cjs → blok-J3Lfa_bK.cjs} +13 -13
  8. package/dist/chunks/{constants-DR3sya6U.mjs → constants-BJ79cqMa.mjs} +288 -284
  9. package/dist/chunks/constants-BZUc1kAY.cjs +606 -0
  10. package/dist/chunks/{tools-B72rczVw.mjs → tools-ByOjWADT.mjs} +420 -418
  11. package/dist/chunks/{tools-DlOZpcVU.cjs → tools-OHDv2C7w.cjs} +2 -2
  12. package/dist/full.cjs +1 -1
  13. package/dist/full.mjs +3 -3
  14. package/dist/react.cjs +1 -1
  15. package/dist/react.mjs +54 -33
  16. package/dist/tools.cjs +1 -1
  17. package/dist/tools.mjs +2 -2
  18. package/package.json +1 -1
  19. package/src/blok.ts +12 -0
  20. package/src/components/block/tool-renderer.ts +2 -2
  21. package/src/components/blocks.ts +32 -10
  22. package/src/components/constants/test-ids.ts +17 -0
  23. package/src/components/constants.ts +5 -0
  24. package/src/components/events/BlockRendered.ts +9 -0
  25. package/src/components/events/BlocksRendered.ts +13 -0
  26. package/src/components/events/index.ts +8 -0
  27. package/src/components/inline-tools/inline-tool-link.ts +23 -9
  28. package/src/components/modules/api/events.ts +10 -10
  29. package/src/components/modules/api/index.ts +3 -0
  30. package/src/components/modules/api/tools.ts +3 -0
  31. package/src/components/modules/blockManager/blockManager.ts +1 -1
  32. package/src/components/modules/paste/index.ts +10 -1
  33. package/src/components/modules/renderer.ts +146 -131
  34. package/src/components/modules/toolbar/plus-button.ts +2 -1
  35. package/src/components/modules/toolbar/settings-toggler.ts +2 -2
  36. package/src/components/modules/tools.ts +18 -0
  37. package/src/components/tools/factory.ts +28 -1
  38. package/src/react/BlokEditor.tsx +17 -5
  39. package/src/react/config-keys.ts +2 -0
  40. package/src/react/deep-equal.ts +48 -0
  41. package/src/react/types.ts +2 -0
  42. package/src/react/useBlok.ts +37 -0
  43. package/types/api/events.d.ts +35 -5
  44. package/types/api/tools.d.ts +16 -1
  45. package/types/configs/blok-config.d.ts +37 -0
  46. package/types/events/editor-events.ts +41 -0
  47. package/types/index.d.ts +5 -1
  48. package/types/react.d.ts +13 -2
  49. package/dist/chunks/constants-Bkncy0y5.cjs +0 -606
@@ -1,5 +1,5 @@
1
1
  import { i as e, t } from "./chunk-5O_1xk2F.mjs";
2
- import { $ as n, $n as r, $r as i, $t as a, Ai as o, An as s, Ar as c, At as l, B as u, Bn as d, Br as f, Bt as p, C as m, Ci as h, Cn as g, Cr as _, Ct as v, Dn as y, Dr as b, Dt as x, Ei as S, En as C, Er as w, Et as T, F as E, Fn as D, Fr as ee, Ft as O, G as k, Gn as A, Gr as te, Gt as j, H as M, Hn as N, Hr as ne, Ht as P, I as re, In as F, Ir as ie, It as ae, J as I, Jn as oe, Jr as L, Jt as se, Kn as ce, Kr as le, Kt as ue, L as de, Ln as R, Lr as fe, Lt as pe, Ma as me, Mn as he, Mr as ge, Mt as _e, Ni as ve, Nn as ye, Nr as be, Nt as xe, On as Se, Or as Ce, Ot as we, P as Te, Pi as Ee, Pn as De, Pr as Oe, Pt as ke, Q as Ae, Qn as je, Qr as Me, Qt as Ne, R as Pe, Rn as Fe, Rr as Ie, Rt as Le, S as Re, Si as ze, Sn as Be, Sr as Ve, St as He, T as Ue, Ta as We, Ti as Ge, Tn as Ke, Tr as qe, Tt as Je, U as Ye, Un as Xe, Ur as Ze, Ut as Qe, Vn as $e, Vr as et, Vt as tt, W as nt, Wn as z, Wr as rt, Wt as it, X as at, Xi as ot, Xn as st, Xr as ct, Xt as lt, Y as ut, Yn as dt, Yr as ft, Yt as pt, Z as mt, Zn as ht, Zt as gt, _ as _t, _n as vt, _r as yt, _t as bt, a as xt, aa as St, ai as Ct, ar as wt, at as Tt, b as Et, bi as B, bn as Dt, br as Ot, bt as kt, c as At, cn as jt, cr as Mt, ct as Nt, d as Pt, di as Ft, dn as It, dr as Lt, dt as Rt, ei as zt, en as Bt, er as Vt, et as Ht, f as Ut, fn as Wt, fr as Gt, ft as Kt, g as qt, gi as Jt, gn as Yt, gr as Xt, gt as Zt, h as Qt, hn as $t, hr as en, ht as tn, i as nn, ii as rn, in as an, ir as on, it as sn, ja as V, jn as cn, jr as ln, jt as un, ki as H, kn as dn, kr as fn, kt as pn, l as mn, li as hn, ln as gn, lr as _n, lt as vn, mn as yn, mr as bn, mt as xn, n as Sn, ni as Cn, nn as wn, nr as Tn, nt as En, o as Dn, oi as On, on as kn, or as An, ot as jn, p as Mn, pi as Nn, pn as Pn, pr as Fn, pt as In, q as Ln, qr as Rn, qt as zn, r as Bn, ra as Vn, ri as Hn, rr as Un, rt as Wn, s as Gn, si as Kn, sn as qn, sr as Jn, st as Yn, t as Xn, ti as Zn, tr as Qn, u as U, ui as $n, un as er, ur as tr, ut as nr, v as rr, vn as ir, vr as ar, vt as or, wi as sr, wn as cr, wr as lr, wt as ur, x as dr, xi as fr, xn as pr, xr as mr, xt as hr, y as gr, yn as _r, yr as vr, yt as yr, z as br, zn as xr, zr as Sr, zt as Cr } from "./constants-DR3sya6U.mjs";
2
+ import { $ as n, $n as r, $r as i, $t as a, Ai as o, An as s, Ar as c, At as l, B as u, Bn as d, Br as f, Bt as p, C as m, Ci as h, Cn as g, Cr as _, Ct as v, Dn as y, Dr as b, Dt as x, Ea as S, Ei as C, En as w, Er as T, Et as E, F as D, Fn as ee, Fr as O, Ft as k, G as A, Gn as te, Gr as j, Gt as M, H as N, Hn as ne, Hr as P, Ht as re, I as F, In as ie, Ir as ae, It as I, J as oe, Jn as L, Jr as se, Jt as ce, Kn as le, Kr as ue, Kt as de, L as R, Ln as fe, Lr as pe, Lt as me, Ma as z, Mn as he, Mr as ge, Mt as _e, Na as ve, Ni as ye, Nn as be, Nr as xe, Nt as Se, On as Ce, Or as we, Ot as Te, P as Ee, Pi as De, Pn as Oe, Pr as ke, Pt as Ae, Q as je, Qn as Me, Qr as Ne, Qt as Pe, R as Fe, Rn as Ie, Rr as Le, Rt as Re, S as ze, Si as Be, Sn as Ve, Sr as He, St as Ue, T as We, Ti as Ge, Tn as Ke, Tr as qe, Tt as Je, U as Ye, Un as Xe, Ur as Ze, Ut as Qe, Vn as $e, Vr as et, Vt as tt, W as B, Wn as nt, Wr as rt, Wt as it, X as at, Xn as ot, Xr as st, Xt as ct, Y as lt, Yn as ut, Yr as dt, Yt as ft, Z as pt, Zi as mt, Zn as ht, Zt as gt, _ as _t, _n as vt, _r as yt, _t as bt, a as xt, ai as St, ar as Ct, at as wt, b as Tt, bi as V, bn as Et, br as Dt, bt as Ot, c as kt, cn as At, cr as jt, ct as Mt, d as Nt, di as Pt, dn as Ft, dr as It, dt as Lt, ei as Rt, en as zt, er as Bt, et as Vt, f as Ht, fn as Ut, fr as Wt, ft as Gt, g as Kt, gi as qt, gn as Jt, gr as Yt, gt as Xt, h as Zt, hn as Qt, hr as $t, ht as en, i as tn, ia as nn, ii as rn, in as an, ir as on, it as sn, jn as cn, jr as ln, jt as un, ki as H, kn as dn, kr as fn, kt as pn, l as mn, li as hn, ln as gn, lr as _n, lt as vn, mn as yn, mr as bn, mt as xn, n as Sn, ni as Cn, nn as wn, nr as Tn, nt as En, o as Dn, oa as On, oi as kn, on as An, or as jn, ot as Mn, p as Nn, pi as Pn, pn as Fn, pr as In, pt as Ln, q as Rn, qr as zn, qt as Bn, r as Vn, ri as Hn, rr as Un, rt as Wn, s as Gn, si as Kn, sn as qn, sr as Jn, st as Yn, t as Xn, ti as Zn, tr as Qn, u as U, ui as $n, un as er, ur as tr, ut as nr, v as rr, vn as ir, vr as ar, vt as or, wi as sr, wn as cr, wr as lr, wt as ur, x as dr, xi as fr, xn as pr, xr as mr, xt as hr, y as gr, yn as _r, yr as vr, yt as yr, z as br, zn as xr, zr as Sr, zt as Cr } from "./constants-BJ79cqMa.mjs";
3
3
  import { t as W } from "./objectSpread2-jlBcdYeb.mjs";
4
4
  import { n as G } from "./tw-DmW6-pCY.mjs";
5
5
  import { n as wr } from "./lightweight-i18n-Cj88c8gl.mjs";
@@ -82,7 +82,7 @@ var jr = [
82
82
  }
83
83
  drawView() {
84
84
  let t = document.createElement("DIV");
85
- t.className = G(this.api.styles.block, e.WRAPPER_CLASSES, Nr, Pr), t.setAttribute(V.tool, "paragraph"), t.contentEditable = "false";
85
+ t.className = G(this.api.styles.block, e.WRAPPER_CLASSES, Nr, Pr), t.setAttribute(z.tool, "paragraph"), t.contentEditable = "false";
86
86
  let n = this.buildInlineStyles();
87
87
  return Object.keys(n).length > 0 && Object.assign(t.style, n), this._data.text ? t.innerHTML = this._data.text : this.readOnly && (t.innerHTML = "<br>"), this.readOnly || (t.contentEditable = "true", t.addEventListener("keyup", this.onKeyUp), this.placeholderCleanup = Rr(t, this.api.i18n.t(this._placeholder), "data-blok-placeholder-active")), t;
88
88
  }
@@ -105,7 +105,7 @@ var jr = [
105
105
  return !(e.text.trim() === "" && !this._preserveBlank);
106
106
  }
107
107
  save(e) {
108
- return { text: Vn(e.innerHTML) };
108
+ return { text: nn(e.innerHTML) };
109
109
  }
110
110
  onPaste(e) {
111
111
  let t = e.detail;
@@ -139,7 +139,7 @@ var jr = [
139
139
  }
140
140
  static get toolbox() {
141
141
  return {
142
- icon: F,
142
+ icon: ie,
143
143
  titleKey: "text",
144
144
  searchTerms: [
145
145
  "p",
@@ -162,13 +162,13 @@ zr = Vr, zr.WRAPPER_CLASSES = [
162
162
  //#region src/tools/toggle/dom-builder.ts
163
163
  var Hr = (e) => {
164
164
  let { data: t, readOnly: n, isOpen: r, keydownHandler: i, onArrowClick: a, onBodyPlaceholderClick: o } = e, s = document.createElement("div");
165
- s.className = xt, s.setAttribute(V.tool, Mn), s.setAttribute(U.toggleOpen, String(r)), s.setAttribute(U.toggleEmpty, "true");
165
+ s.className = xt, s.setAttribute(z.tool, Nn), s.setAttribute(U.toggleOpen, String(r)), s.setAttribute(U.toggleEmpty, "true");
166
166
  let c = document.createElement("div");
167
- c.className = Ut;
167
+ c.className = Ht;
168
168
  let l = Ur(r, a, {}, e.ariaLabels), u = Gr(t, n, i);
169
169
  c.appendChild(l), c.appendChild(u);
170
170
  let d = Wr(o, e.bodyPlaceholderText), f = document.createElement("div");
171
- return f.className = Pt, f.setAttribute(U.toggleChildren, ""), f.setAttribute(V.nestedBlocks, ""), f.setAttribute("data-blok-mutation-free", "true"), f.id = `toggle-children-${Date.now()}-${Math.random().toString(36).slice(2)}`, l.setAttribute("aria-controls", f.id), s.appendChild(c), s.appendChild(d), s.appendChild(f), {
171
+ return f.className = Nt, f.setAttribute(U.toggleChildren, ""), f.setAttribute(z.nestedBlocks, ""), f.setAttribute("data-blok-mutation-free", "true"), f.id = `toggle-children-${Date.now()}-${Math.random().toString(36).slice(2)}`, l.setAttribute("aria-controls", f.id), s.appendChild(c), s.appendChild(d), s.appendChild(f), {
172
172
  wrapper: s,
173
173
  arrowElement: l,
174
174
  contentElement: u,
@@ -180,7 +180,7 @@ var Hr = (e) => {
180
180
  expand: "Expand"
181
181
  }) => {
182
182
  let i = document.createElement("span");
183
- i.className = nn, i.setAttribute(U.toggleArrow, ""), i.setAttribute(V.mutationFree, "true"), i.setAttribute("role", "button"), i.setAttribute("tabindex", "0"), i.setAttribute("aria-label", e ? r.collapse : r.expand), i.setAttribute("aria-expanded", String(e)), n.contentEditableFalse === !0 && (i.contentEditable = "false"), i.innerHTML = Bn;
183
+ i.className = tn, i.setAttribute(U.toggleArrow, ""), i.setAttribute(z.mutationFree, "true"), i.setAttribute("role", "button"), i.setAttribute("tabindex", "0"), i.setAttribute("aria-label", e ? r.collapse : r.expand), i.setAttribute("aria-expanded", String(e)), n.contentEditableFalse === !0 && (i.contentEditable = "false"), i.innerHTML = Vn;
184
184
  let a = i.querySelector("svg");
185
185
  return a && (a.style.transition = "transform 200ms ease-in-out", e && (a.style.transform = "rotate(90deg)")), t && (i.addEventListener("click", (e) => {
186
186
  e.stopPropagation(), t();
@@ -192,11 +192,11 @@ var Hr = (e) => {
192
192
  return n.className = Gn, n.setAttribute(U.toggleBodyPlaceholder, ""), n.setAttribute("data-blok-mutation-free", "true"), n.textContent = t, e && n.addEventListener("click", e), n;
193
193
  }, Gr = (e, t, n) => {
194
194
  let r = document.createElement("div");
195
- return r.className = G(At, Mr, Pr), r.setAttribute(U.toggleContent, ""), r.contentEditable = t ? "false" : "true", r.innerHTML = e.text, n && r.addEventListener("keydown", n), r;
195
+ return r.className = G(kt, Mr, Pr), r.setAttribute(U.toggleContent, ""), r.contentEditable = t ? "false" : "true", r.innerHTML = e.text, n && r.addEventListener("keydown", n), r;
196
196
  }, Kr = (e, t) => {
197
197
  for (let n of t) {
198
198
  if (n.holder.parentElement === e) continue;
199
- let t = n.holder.closest(`[${V.nestedBlocks}]`);
199
+ let t = n.holder.closest(`[${z.nestedBlocks}]`);
200
200
  if (t !== null && t !== e && t.hasAttribute("data-blok-columns") && t.contains(e)) {
201
201
  e.appendChild(n.holder);
202
202
  continue;
@@ -242,12 +242,12 @@ var Hr = (e) => {
242
242
  n.caret.setToBlock(t.id, "start");
243
243
  return;
244
244
  }
245
- n.blocks.splitBlock(r, { text: u }, Mn, { text: d }, f + 1), i.text = u;
245
+ n.blocks.splitBlock(r, { text: u }, Nn, { text: d }, f + 1), i.text = u;
246
246
  }, $r = async (e, t) => {
247
247
  let { api: n, blockId: r, data: i, getContentElement: a, syncContentFromDOM: o } = e;
248
248
  if (o(), r === void 0) return;
249
249
  let s = a();
250
- if (!s || !Jt(s)) return;
250
+ if (!s || !qt(s)) return;
251
251
  let c = i.text;
252
252
  c === "" && (t.preventDefault(), await n.blocks.convert(r, "paragraph", { text: c }));
253
253
  }, ei = (e, t, n) => {
@@ -297,7 +297,7 @@ var Hr = (e) => {
297
297
  let { api: n, blockId: r, getText: i, getContentElement: a, syncContentFromDOM: o, currentLevel: s } = e;
298
298
  if (o(), r === void 0) return;
299
299
  let c = a();
300
- if (!c || !Jt(c)) return;
300
+ if (!c || !qt(c)) return;
301
301
  let l = i();
302
302
  l === "" && (t.preventDefault(), await n.blocks.convert(r, "header", {
303
303
  text: l,
@@ -460,7 +460,7 @@ var Hr = (e) => {
460
460
  let t = document.createElement(this.currentLevel.tag);
461
461
  t.innerHTML = this._data.text || "", t.className = G(e.BASE_STYLES, this.currentLevel.styles, jr, this._data.isToggleable ? "pl-8" : "");
462
462
  let { inlineStyles: n } = this.currentLevel;
463
- n && Object.assign(t.style, n), t.setAttribute(V.tool, "header"), t.contentEditable = this.readOnly ? "false" : "true", this._data.isToggleable && t.setAttribute(U.toggleOpen, String(this._isOpen));
463
+ n && Object.assign(t.style, n), t.setAttribute(z.tool, "header"), t.contentEditable = this.readOnly ? "false" : "true", this._data.isToggleable && t.setAttribute(U.toggleOpen, String(this._isOpen));
464
464
  let r = this.api.i18n.t(this.currentLevel.nameKey), i = this.resolvePlaceholderText(r);
465
465
  return this.readOnly ? t.setAttribute("data-placeholder", i) : this.placeholderCleanup = Rr(t, i), !this.readOnly && this._data.isToggleable && t.addEventListener("keydown", this.handleKeyDown), t;
466
466
  }
@@ -481,7 +481,7 @@ var Hr = (e) => {
481
481
  let r = document.createElement("div");
482
482
  r.className = G(Gn, "pl-8"), r.setAttribute(U.toggleBodyPlaceholder, ""), r.setAttribute("data-blok-mutation-free", "true"), r.textContent = this.api.i18n.t("tools.toggle.bodyPlaceholder"), this.readOnly || r.addEventListener("click", () => this.handleBodyPlaceholderClick()), this._bodyPlaceholderElement = r, e.appendChild(r);
483
483
  let i = document.createElement("div");
484
- return i.className = "pl-8", i.setAttribute(U.toggleChildren, ""), i.setAttribute(V.nestedBlocks, ""), i.setAttribute("data-blok-mutation-free", "true"), i.addEventListener("input", this.handleChildContainerInput), this._childContainerElement = i, e.appendChild(i), e;
484
+ return i.className = "pl-8", i.setAttribute(U.toggleChildren, ""), i.setAttribute(z.nestedBlocks, ""), i.setAttribute("data-blok-mutation-free", "true"), i.addEventListener("input", this.handleChildContainerInput), this._childContainerElement = i, e.appendChild(i), e;
485
485
  }
486
486
  createToggleWrapper() {
487
487
  let e = this._element.parentNode;
@@ -601,8 +601,8 @@ var Hr = (e) => {
601
601
  ],
602
602
  shortcut: "#".repeat(e.number)
603
603
  })), n = {
604
- 1: R,
605
- 2: Fe,
604
+ 1: fe,
605
+ 2: Ie,
606
606
  3: xr
607
607
  }, r = e.DEFAULT_LEVELS.filter((e) => e.number <= 3).map((e) => ({
608
608
  icon: n[e.number],
@@ -635,7 +635,7 @@ ii = ai, ii.BASE_STYLES = "py-[7px] px-[2px] m-0 leading-[1.3]! outline-hidden [
635
635
  tag: "H1",
636
636
  nameKey: "tools.header.heading1",
637
637
  name: "Heading 1",
638
- icon: we,
638
+ icon: Te,
639
639
  styles: "text-3xl font-semibold mt-8 mb-px"
640
640
  },
641
641
  {
@@ -675,7 +675,7 @@ ii = ai, ii.BASE_STYLES = "py-[7px] px-[2px] m-0 leading-[1.3]! outline-hidden [
675
675
  tag: "H6",
676
676
  nameKey: "tools.header.heading6",
677
677
  name: "Heading 6",
678
- icon: xe,
678
+ icon: Se,
679
679
  styles: "text-sm font-semibold mt-3 mb-px"
680
680
  }
681
681
  ];
@@ -705,7 +705,7 @@ var oi = "outline-hidden py-[7px] mt-[2px] mb-px", si = "outline-hidden pl-0.5 l
705
705
  }, hi = (e) => {
706
706
  var t;
707
707
  let { data: n } = e, r = document.createElement("div");
708
- return r.className = oi, r.setAttribute(V.tool, di), r.setAttribute("data-list-style", n.style), r.setAttribute("data-list-depth", String((t = n.depth) == null ? 0 : t)), n.start !== void 0 && n.start !== 1 && r.setAttribute("data-list-start", String(n.start)), r;
708
+ return r.className = oi, r.setAttribute(z.tool, di), r.setAttribute("data-list-style", n.style), r.setAttribute("data-list-depth", String((t = n.depth) == null ? 0 : t)), n.start !== void 0 && n.start !== 1 && r.setAttribute("data-list-start", String(n.start)), r;
709
709
  }, gi = (e) => {
710
710
  var t;
711
711
  let { data: n, itemColor: r, itemSize: i, placeholder: a, markerDepth: o } = e, s = document.createElement("div");
@@ -763,7 +763,7 @@ var oi = "outline-hidden py-[7px] mt-[2px] mb-px", si = "outline-hidden pl-0.5 l
763
763
  }, xi = (e, t, n) => {
764
764
  if (!t) return e;
765
765
  let r = n(), i = W({
766
- text: r ? Vn(r.innerHTML) : e.text,
766
+ text: r ? nn(r.innerHTML) : e.text,
767
767
  style: e.style
768
768
  }, e.style === "checklist" ? { checked: !!e.checked } : {});
769
769
  return e.start !== void 0 && e.start !== 1 && (i.start = e.start), e.depth !== void 0 && e.depth > 0 && (i.depth = e.depth), i;
@@ -1355,7 +1355,7 @@ var oi = "outline-hidden py-[7px] mt-[2px] mb-px", si = "outline-hidden pl-0.5 l
1355
1355
  name: "todoList",
1356
1356
  titleKey: "todoList",
1357
1357
  style: "checklist",
1358
- icon: Ne
1358
+ icon: Pe
1359
1359
  }
1360
1360
  ], Ca = () => [
1361
1361
  {
@@ -1395,7 +1395,7 @@ var oi = "outline-hidden py-[7px] mt-[2px] mb-px", si = "outline-hidden pl-0.5 l
1395
1395
  shortcut: "1."
1396
1396
  },
1397
1397
  {
1398
- icon: Ne,
1398
+ icon: Pe,
1399
1399
  titleKey: "todoList",
1400
1400
  data: { style: "checklist" },
1401
1401
  name: "check-list",
@@ -1897,7 +1897,7 @@ var oi = "outline-hidden py-[7px] mt-[2px] mb-px", si = "outline-hidden pl-0.5 l
1897
1897
  let n = document.createElement("td");
1898
1898
  n.className = G(Da), n.style.borderRight = Ea, n.style.borderBottom = Ea, n.style.overflow = "hidden", n.style.overflowWrap = "break-word", n.style.height = "0", n.setAttribute(q, ""), e !== void 0 && t !== void 0 && (n.setAttribute(Ta, String(e)), n.setAttribute(J, String(t)));
1899
1899
  let r = document.createElement("div");
1900
- return r.setAttribute(Y, ""), r.setAttribute(V.nestedBlocks, ""), r.style.display = "flex", r.style.flexDirection = "column", r.style.minHeight = "100%", n.appendChild(r), n;
1900
+ return r.setAttribute(Y, ""), r.setAttribute(z.nestedBlocks, ""), r.style.display = "flex", r.style.flexDirection = "column", r.style.minHeight = "100%", n.appendChild(r), n;
1901
1901
  }
1902
1902
  }, Aa = (e) => typeof e == "object" && !!e && "blocks" in e, ja = (e) => {
1903
1903
  let t = e.querySelector("colgroup");
@@ -2005,7 +2005,7 @@ var oi = "outline-hidden py-[7px] mt-[2px] mb-px", si = "outline-hidden pl-0.5 l
2005
2005
  if (e === void 0) continue;
2006
2006
  let i = n.blocks.getBlockByIndex(e);
2007
2007
  if (i && !(i.parentId !== null && i.parentId !== void 0 && i.parentId !== r)) {
2008
- if (i.holder.closest(`[${V.nestedBlocks}]`)) {
2008
+ if (i.holder.closest(`[${z.nestedBlocks}]`)) {
2009
2009
  s.appendChild(i.holder.cloneNode(!0));
2010
2010
  continue;
2011
2011
  }
@@ -2352,7 +2352,7 @@ var oi = "outline-hidden py-[7px] mt-[2px] mb-px", si = "outline-hidden pl-0.5 l
2352
2352
  let a = this.api.blocks.getBlockByIndex(t);
2353
2353
  if (!a) continue;
2354
2354
  let o = a.parentId != null && a.parentId !== "" && a.parentId !== this.tableBlockId;
2355
- if (a.holder.closest(`[${V.nestedBlocks}]`) || o) {
2355
+ if (a.holder.closest(`[${z.nestedBlocks}]`) || o) {
2356
2356
  let t = this.api.blocks.insert(a.name, a.preservedData, {}, this.api.blocks.getBlocksCount(), !1);
2357
2357
  e.appendChild(t.holder), this.api.blocks.setBlockParent(t.id, this.tableBlockId), n.push(t.id), r.set(i, t.id);
2358
2358
  continue;
@@ -2373,7 +2373,7 @@ var oi = "outline-hidden py-[7px] mt-[2px] mb-px", si = "outline-hidden pl-0.5 l
2373
2373
  let o = this.api.blocks.getBlockByIndex(a);
2374
2374
  if (!o || o.holder.contains(i)) return;
2375
2375
  let s = o.parentId != null && o.parentId !== "" && o.parentId !== this.tableBlockId;
2376
- if (o.holder.closest(`[${V.nestedBlocks}]`) || s) return;
2376
+ if (o.holder.closest(`[${z.nestedBlocks}]`) || s) return;
2377
2377
  let c = this.api.blocks.getBlocksCount(), l = (n = (r = Array.from({ length: c - a - 1 }, (e, t) => this.api.blocks.getBlockByIndex(a + 1 + t)).find((e) => (e == null ? void 0 : e.holder.parentElement) === i)) == null ? void 0 : r.holder) == null ? null : n;
2378
2378
  i.insertBefore(o.holder, l), this.api.blocks.setBlockParent(t, this.tableBlockId), this.stripPlaceholders(i);
2379
2379
  }
@@ -3156,7 +3156,7 @@ var oi = "outline-hidden py-[7px] mt-[2px] mb-px", si = "outline-hidden pl-0.5 l
3156
3156
  placement: "bottom",
3157
3157
  marginTop: -16
3158
3158
  } : { placement: "bottom" };
3159
- ze(t, `${e.cols}\u00D7${e.rows}`, n);
3159
+ Be(t, `${e.cols}\u00D7${e.rows}`, n);
3160
3160
  }
3161
3161
  handlePointerDown(e, t) {
3162
3162
  t.preventDefault();
@@ -3186,7 +3186,7 @@ var oi = "outline-hidden py-[7px] mt-[2px] mb-px", si = "outline-hidden pl-0.5 l
3186
3186
  handlePointerUp(e) {
3187
3187
  if (!this.dragState) return;
3188
3188
  let { axis: t, pointerId: n, didDrag: r } = this.dragState, i = t === "row" ? this.addRowBtn : this.addColBtn;
3189
- if (i.releasePointerCapture(n), i.removeEventListener("pointermove", this.boundPointerMove), i.removeEventListener("pointerup", this.boundPointerUp), i.removeEventListener("pointercancel", this.boundPointerCancel), document.body.style.cursor = "", B(), this.dragState = null, !r) {
3189
+ if (i.releasePointerCapture(n), i.removeEventListener("pointermove", this.boundPointerMove), i.removeEventListener("pointerup", this.boundPointerUp), i.removeEventListener("pointercancel", this.boundPointerCancel), document.body.style.cursor = "", V(), this.dragState = null, !r) {
3190
3190
  (t === "row" ? this.boundAddRowClick : this.boundAddColClick)();
3191
3191
  return;
3192
3192
  }
@@ -3195,7 +3195,7 @@ var oi = "outline-hidden py-[7px] mt-[2px] mb-px", si = "outline-hidden pl-0.5 l
3195
3195
  handlePointerCancel(e) {
3196
3196
  if (!this.dragState) return;
3197
3197
  let { axis: t, didDrag: n } = this.dragState, r = t === "row" ? this.addRowBtn : this.addColBtn;
3198
- r.removeEventListener("pointermove", this.boundPointerMove), r.removeEventListener("pointerup", this.boundPointerUp), r.removeEventListener("pointercancel", this.boundPointerCancel), document.body.style.cursor = "", B(), this.dragState = null, n && this.onDragEnd();
3198
+ r.removeEventListener("pointermove", this.boundPointerMove), r.removeEventListener("pointerup", this.boundPointerUp), r.removeEventListener("pointercancel", this.boundPointerCancel), document.body.style.cursor = "", V(), this.dragState = null, n && this.onDragEnd();
3199
3199
  }
3200
3200
  measureUnitSize(e) {
3201
3201
  if (e === "row") {
@@ -3248,7 +3248,7 @@ var oi = "outline-hidden py-[7px] mt-[2px] mb-px", si = "outline-hidden pl-0.5 l
3248
3248
  let e = document.createElement("div");
3249
3249
  e.className = G(uo, "group/add", "items-start", "cursor-row-resize"), e.setAttribute(ao, ""), e.setAttribute("contenteditable", "false"), e.style.opacity = "0", e.style.pointerEvents = "none", e.style.position = "absolute", e.style.left = "0", e.style.bottom = "-36px", e.style.zIndex = "1", e.style.height = "32px";
3250
3250
  let t = document.createElement("div");
3251
- return t.className = G(fo), t.style.width = "100%", t.style.height = "16px", this.appendIcon(t), e.appendChild(t), fr(e, Qt([this.i18n.t("tools.table.clickToAddRow"), this.i18n.t("tools.table.dragToAddRemoveRows")]), {
3251
+ return t.className = G(fo), t.style.width = "100%", t.style.height = "16px", this.appendIcon(t), e.appendChild(t), fr(e, Zt([this.i18n.t("tools.table.clickToAddRow"), this.i18n.t("tools.table.dragToAddRemoveRows")]), {
3252
3252
  placement: "bottom",
3253
3253
  marginTop: -16
3254
3254
  }), e;
@@ -3257,7 +3257,7 @@ var oi = "outline-hidden py-[7px] mt-[2px] mb-px", si = "outline-hidden pl-0.5 l
3257
3257
  let e = document.createElement("div");
3258
3258
  e.className = G(uo, "group/add", "justify-start", "cursor-col-resize"), e.setAttribute(oo, ""), e.setAttribute("contenteditable", "false"), e.style.opacity = "0", e.style.pointerEvents = "none", e.style.position = "absolute", e.style.right = "-36px", e.style.top = "0px", e.style.bottom = "0px", e.style.width = "32px";
3259
3259
  let t = document.createElement("div");
3260
- return t.className = G(fo), t.style.width = "16px", t.style.height = "100%", this.appendIcon(t), e.appendChild(t), fr(e, Qt([this.i18n.t("tools.table.clickToAddColumn"), this.i18n.t("tools.table.dragToAddRemoveColumns")]), { placement: "bottom" }), e;
3260
+ return t.className = G(fo), t.style.width = "16px", t.style.height = "100%", this.appendIcon(t), e.appendChild(t), fr(e, Zt([this.i18n.t("tools.table.clickToAddColumn"), this.i18n.t("tools.table.dragToAddRemoveColumns")]), { placement: "bottom" }), e;
3261
3261
  }
3262
3262
  appendIcon(e) {
3263
3263
  e.insertAdjacentHTML("beforeend", Ke);
@@ -3274,7 +3274,7 @@ function ho() {
3274
3274
  }
3275
3275
  function go(e, t) {
3276
3276
  if (e === t) return !0;
3277
- let n = zt(e), r = zt(t);
3277
+ let n = Rt(e), r = Rt(t);
3278
3278
  return n === null || r === null ? !1 : n[0] === r[0] && n[1] === r[1] && n[2] === r[2];
3279
3279
  }
3280
3280
  var _o = "var(--blok-swatch-neutral-bg)";
@@ -3631,7 +3631,7 @@ var yo = (e) => {
3631
3631
  openPillPopover() {
3632
3632
  if (this.destroyPillPopover(), !this.pill) return;
3633
3633
  this.expandPill();
3634
- let e = Ee === "Meta" ? "⌘C" : "Ctrl+C", t = [];
3634
+ let e = De === "Meta" ? "⌘C" : "Ctrl+C", t = [];
3635
3635
  if (this.onColorChange !== void 0) {
3636
3636
  let { element: e } = yo({
3637
3637
  i18n: this.i18n,
@@ -3664,7 +3664,7 @@ var yo = (e) => {
3664
3664
  }
3665
3665
  });
3666
3666
  n.push({
3667
- icon: Wt,
3667
+ icon: Ut,
3668
3668
  title: this.i18n.t("tools.table.placement"),
3669
3669
  name: "cellPlacement",
3670
3670
  children: {
@@ -3718,7 +3718,7 @@ var yo = (e) => {
3718
3718
  }
3719
3719
  },
3720
3720
  {
3721
- icon: Tt,
3721
+ icon: wt,
3722
3722
  title: this.i18n.t("tools.table.clearSelection"),
3723
3723
  secondaryLabel: "Del",
3724
3724
  closeOnActivate: !0,
@@ -3732,7 +3732,7 @@ var yo = (e) => {
3732
3732
  items: s,
3733
3733
  trigger: this.pill,
3734
3734
  flippable: !0
3735
- }), this.pillPopover.on(Ue.Closed, () => {
3735
+ }), this.pillPopover.on(We.Closed, () => {
3736
3736
  this.pillPopover !== null && (this.destroyPillPopover(), this.collapsePill());
3737
3737
  }), this.pillPopover.show();
3738
3738
  }
@@ -3823,13 +3823,13 @@ var yo = (e) => {
3823
3823
  }
3824
3824
  updateTooltip() {
3825
3825
  let e = this.getTableSize();
3826
- ze(this.hitZone, `${e.cols}\u00D7${e.rows}`, { placement: "bottom" });
3826
+ Be(this.hitZone, `${e.cols}\u00D7${e.rows}`, { placement: "bottom" });
3827
3827
  }
3828
3828
  handleMouseEnter() {
3829
3829
  this.updateTooltip();
3830
3830
  }
3831
3831
  handleMouseLeave() {
3832
- this.dragState === null && B();
3832
+ this.dragState === null && V();
3833
3833
  }
3834
3834
  measureUnitHeight() {
3835
3835
  let e = this.gridEl.querySelectorAll("[data-blok-table-row]"), t = e[e.length - 1];
@@ -3870,7 +3870,7 @@ var yo = (e) => {
3870
3870
  handlePointerUp(e) {
3871
3871
  if (this.dragState === null) return;
3872
3872
  let { didDrag: t, pointerId: n } = this.dragState;
3873
- this.dragState = null, B(), this.hitZone.releasePointerCapture(n), this.hitZone.removeEventListener("pointermove", this.boundPointerMove), this.hitZone.removeEventListener("pointerup", this.boundPointerUp), t ? (document.body.style.cursor = "", document.body.style.userSelect = "", this.onDragEnd()) : this.onClickAdd ? this.onClickAdd() : (this.onAddRow(), this.onAddColumn());
3873
+ this.dragState = null, V(), this.hitZone.releasePointerCapture(n), this.hitZone.removeEventListener("pointermove", this.boundPointerMove), this.hitZone.removeEventListener("pointerup", this.boundPointerUp), t ? (document.body.style.cursor = "", document.body.style.userSelect = "", this.onDragEnd()) : this.onClickAdd ? this.onClickAdd() : (this.onAddRow(), this.onAddColumn());
3874
3874
  }
3875
3875
  setDisplay(e) {
3876
3876
  this.hitZone.style.display = e ? "" : "none";
@@ -3880,7 +3880,7 @@ var yo = (e) => {
3880
3880
  }
3881
3881
  destroy() {
3882
3882
  var e;
3883
- this.hitZone.removeEventListener("mouseenter", this.boundMouseEnter), this.hitZone.removeEventListener("mouseleave", this.boundMouseLeave), this.hitZone.removeEventListener("pointerdown", this.boundPointerDown), this.hitZone.removeEventListener("pointermove", this.boundPointerMove), this.hitZone.removeEventListener("pointerup", this.boundPointerUp), (e = this.dragState) != null && e.didDrag && (document.body.style.cursor = "", document.body.style.userSelect = ""), this.dragState = null, B(), this.hitZone.remove();
3883
+ this.hitZone.removeEventListener("mouseenter", this.boundMouseEnter), this.hitZone.removeEventListener("mouseleave", this.boundMouseLeave), this.hitZone.removeEventListener("pointerdown", this.boundPointerDown), this.hitZone.removeEventListener("pointermove", this.boundPointerMove), this.hitZone.removeEventListener("pointerup", this.boundPointerUp), (e = this.dragState) != null && e.didDrag && (document.body.style.cursor = "", document.body.style.userSelect = ""), this.dragState = null, V(), this.hitZone.remove();
3884
3884
  }
3885
3885
  }, Uo = "data-blok-table-resize", Wo = 50, Go = 16, Ko = class {
3886
3886
  get enabled() {
@@ -4342,7 +4342,7 @@ var yo = (e) => {
4342
4342
  let n = e === 0 ? [{
4343
4343
  type: H.Html,
4344
4344
  element: us({
4345
- icon: O,
4345
+ icon: k,
4346
4346
  label: t.i18n.t("tools.table.headerColumn"),
4347
4347
  isActive: t.isHeadingColumn(),
4348
4348
  onToggle: () => {
@@ -4360,7 +4360,7 @@ var yo = (e) => {
4360
4360
  });
4361
4361
  }
4362
4362
  }, {
4363
- icon: j,
4363
+ icon: M,
4364
4364
  title: t.i18n.t("tools.table.insertColumnRight"),
4365
4365
  closeOnActivate: !0,
4366
4366
  onActivate: () => {
@@ -4391,7 +4391,7 @@ var yo = (e) => {
4391
4391
  let n = e === 0 ? [{
4392
4392
  type: H.Html,
4393
4393
  element: us({
4394
- icon: ae,
4394
+ icon: I,
4395
4395
  label: t.i18n.t("tools.table.headerRow"),
4396
4396
  isActive: t.isHeadingRow(),
4397
4397
  onToggle: () => {
@@ -4399,7 +4399,7 @@ var yo = (e) => {
4399
4399
  }
4400
4400
  })
4401
4401
  }, { type: H.Separator }] : [], r = [{
4402
- icon: P,
4402
+ icon: re,
4403
4403
  title: t.i18n.t("tools.table.insertRowAbove"),
4404
4404
  closeOnActivate: !0,
4405
4405
  onActivate: () => {
@@ -4448,7 +4448,7 @@ var yo = (e) => {
4448
4448
  trigger: a,
4449
4449
  flippable: !0
4450
4450
  });
4451
- return o.on(Ue.Closed, () => {
4451
+ return o.on(We.Closed, () => {
4452
4452
  var e;
4453
4453
  i.destroyPopover(), i.applyVisibleClasses(a), i.scheduleHideAll(), (e = i.onGripPopoverClose) == null || e.call(i);
4454
4454
  }), i.hideAllGripsExcept(a), i.applyActiveClasses(a), e === "col" ? a.style.height = "16px" : a.style.width = "16px", {
@@ -5058,13 +5058,13 @@ var yo = (e) => {
5058
5058
  handleCellCopy(e, t) {
5059
5059
  let n = this.collectCellBlockData(e);
5060
5060
  if (n.length === 0) return;
5061
- let r = Re(n);
5061
+ let r = ze(n);
5062
5062
  t.setData("text/html", _t(r)), t.setData("text/plain", rr(r));
5063
5063
  }
5064
5064
  handleCellCopyViaButton(e) {
5065
5065
  let t = this.collectCellBlockData(e);
5066
5066
  if (t.length === 0) return;
5067
- let n = Re(t), r = _t(n), i = rr(n), a = new Blob([r], { type: "text/html" }), o = new Blob([i], { type: "text/plain" });
5067
+ let n = ze(t), r = _t(n), i = rr(n), a = new Blob([r], { type: "text/html" }), o = new Blob([i], { type: "text/plain" });
5068
5068
  navigator.clipboard.write([new ClipboardItem({
5069
5069
  "text/html": a,
5070
5070
  "text/plain": o
@@ -5206,7 +5206,7 @@ var yo = (e) => {
5206
5206
  handleGridPaste(e, t) {
5207
5207
  var n, r;
5208
5208
  if (this.host.readOnly || !e.clipboardData || e.defaultPrevented) return;
5209
- let i = e.clipboardData.getData("text/html"), a = Et(i), o = a === null ? dr(i) : null, s = a == null ? o : a;
5209
+ let i = e.clipboardData.getData("text/html"), a = Tt(i), o = a === null ? dr(i) : null, s = a == null ? o : a;
5210
5210
  if (!s || o !== null && new DOMParser().parseFromString(i, "text/html").querySelectorAll("table").length > 1) return;
5211
5211
  let c = document.activeElement;
5212
5212
  if (!c) return;
@@ -5315,7 +5315,7 @@ var yo = (e) => {
5315
5315
  constructor({ data: e, config: t, api: n, readOnly: r, block: i }) {
5316
5316
  this.initialContent = null, this.cellBlocks = null, this.element = null, this.gridElement = null, this.scrollContainer = null, this.gripOverlay = null, this.isNewTable = !1, this.unregisterRestrictedTools = null, this.keyboardNavCleanup = null, this.setDataGeneration = 0, this.structuralOpDepth = 0, this.api = n, this.readOnly = r, this.config = t == null ? {} : t;
5317
5317
  let a = Ja(e, this.config);
5318
- this.initialContent = a.content, this.grid = new ka({ readOnly: r }), this.model = new io(a), this.blockId = i == null ? void 0 : i.id, this.block = i, this.subsystems = new Ps(this.createSubsystemHost()), this.config.restrictedTools !== void 0 && (this.unregisterRestrictedTools = ot(this.config.restrictedTools));
5318
+ this.initialContent = a.content, this.grid = new ka({ readOnly: r }), this.model = new io(a), this.blockId = i == null ? void 0 : i.id, this.block = i, this.subsystems = new Ps(this.createSubsystemHost()), this.config.restrictedTools !== void 0 && (this.unregisterRestrictedTools = mt(this.config.restrictedTools));
5319
5319
  }
5320
5320
  createSubsystemHost() {
5321
5321
  let e = this;
@@ -5440,7 +5440,7 @@ var yo = (e) => {
5440
5440
  }
5441
5441
  static get toolbox() {
5442
5442
  return {
5443
- icon: D,
5443
+ icon: ee,
5444
5444
  titleKey: "tools.table.title",
5445
5445
  searchTerms: [
5446
5446
  "table",
@@ -5477,7 +5477,7 @@ var yo = (e) => {
5477
5477
  em: !0,
5478
5478
  mark: (e) => {
5479
5479
  let t = e.style, n = Array.from({ length: t.length }, (e, n) => t.item(n));
5480
- for (let e of n) qt.has(e) || t.removeProperty(e);
5480
+ for (let e of n) Kt.has(e) || t.removeProperty(e);
5481
5481
  return t.length > 0 ? { style: !0 } : {};
5482
5482
  },
5483
5483
  a: {
@@ -5501,7 +5501,7 @@ var yo = (e) => {
5501
5501
  render() {
5502
5502
  var e, t, n, r;
5503
5503
  let i = document.createElement("div");
5504
- i.className = G(Ls, !this.readOnly && Rs), i.setAttribute(V.tool, "table"), this.readOnly && i.setAttribute("data-blok-table-readonly", ""), this.isNewTable = ((e = (t = this.initialContent) == null ? void 0 : t.length) == null ? 0 : e) === 0;
5504
+ i.className = G(Ls, !this.readOnly && Rs), i.setAttribute(z.tool, "table"), this.readOnly && i.setAttribute("data-blok-table-readonly", ""), this.isNewTable = ((e = (t = this.initialContent) == null ? void 0 : t.length) == null ? 0 : e) === 0;
5505
5505
  let a = ((n = (r = this.initialContent) == null ? void 0 : r.length) == null ? 0 : n) > 0, o = a && this.modelHasMerges(), s = o ? this.grid.createGridFromModel(this.model) : this.createFlatGrid();
5506
5506
  if (a && !o) {
5507
5507
  var c;
@@ -5669,9 +5669,9 @@ var yo = (e) => {
5669
5669
  var t;
5670
5670
  n.push(e.innerHTML);
5671
5671
  let i = (t = e.getAttribute("style")) == null ? "" : t, a = {}, o = /background-color\s*:\s*([^;]+)/i.exec(i);
5672
- o != null && o[1] && (a.color = Me(o[1].trim(), "bg"));
5672
+ o != null && o[1] && (a.color = Ne(o[1].trim(), "bg"));
5673
5673
  let s = (/* @__PURE__ */ RegExp("(?<![a-z-])color\\s*:\\s*([^;]+)", "i")).exec(i);
5674
- s != null && s[1] && !gr(s[1].trim()) && (a.textColor = Me(s[1].trim(), "text")), r.push(a);
5674
+ s != null && s[1] && !gr(s[1].trim()) && (a.textColor = Ne(s[1].trim(), "text")), r.push(a);
5675
5675
  }), n.length > 0 && (a.push(n), o.push(r));
5676
5676
  });
5677
5677
  let s = r.querySelector("thead") !== null, c = ((t = i[0]) == null ? void 0 : t.querySelector("th")) !== null, l = s || c;
@@ -5747,7 +5747,7 @@ var yo = (e) => {
5747
5747
  if (!t) return e;
5748
5748
  let i = n();
5749
5749
  return {
5750
- text: i ? Vn(i.innerHTML) : e.text,
5750
+ text: i ? nn(i.innerHTML) : e.text,
5751
5751
  isOpen: r
5752
5752
  };
5753
5753
  }, Hs = (e, t) => {
@@ -5830,7 +5830,7 @@ var yo = (e) => {
5830
5830
  onPaste(t) {
5831
5831
  let n = t.detail;
5832
5832
  if (!("data" in n)) return;
5833
- let r = n.data, i = r.querySelector("summary"), a = S(i === null ? r.innerHTML : i.innerHTML, e.sanitize.text);
5833
+ let r = n.data, i = r.querySelector("summary"), a = C(i === null ? r.innerHTML : i.innerHTML, e.sanitize.text);
5834
5834
  this._data = { text: a };
5835
5835
  let o = this.getContentElement();
5836
5836
  o !== null && (o.innerHTML = a);
@@ -5927,7 +5927,7 @@ var yo = (e) => {
5927
5927
  return {
5928
5928
  icon: d,
5929
5929
  titleKey: "toggleList",
5930
- name: Mn,
5930
+ name: Nn,
5931
5931
  searchTerms: [
5932
5932
  "toggle",
5933
5933
  "collapse",
@@ -5977,11 +5977,11 @@ var yo = (e) => {
5977
5977
  //#region src/tools/callout/dom-builder.ts
5978
5978
  function Gs(e) {
5979
5979
  let { emoji: t, readOnly: n, addEmojiLabel: r } = e, i = document.createElement("div");
5980
- i.className = ct;
5980
+ i.className = st;
5981
5981
  let a = document.createElement("button");
5982
- a.type = "button", a.className = ee, a.textContent = t || "", a.setAttribute("aria-label", t === "" ? r : t), a.setAttribute("tabindex", "0"), a.setAttribute("data-blok-testid", "callout-emoji-btn"), n && (a.disabled = !0);
5982
+ a.type = "button", a.className = O, a.textContent = t || "", a.setAttribute("aria-label", t === "" ? r : t), a.setAttribute("tabindex", "0"), a.setAttribute("data-blok-testid", "callout-emoji-btn"), n && (a.disabled = !0);
5983
5983
  let o = document.createElement("div");
5984
- return o.className = ln, o.setAttribute(U.toggleChildren, ""), o.setAttribute(V.nestedBlocks, ""), o.setAttribute("data-blok-child-toolbar", ""), o.setAttribute("data-blok-mutation-free", "true"), i.appendChild(a), i.appendChild(o), {
5984
+ return o.className = ln, o.setAttribute(U.toggleChildren, ""), o.setAttribute(z.nestedBlocks, ""), o.setAttribute("data-blok-child-toolbar", ""), o.setAttribute("data-blok-mutation-free", "true"), i.appendChild(a), i.appendChild(o), {
5985
5985
  wrapper: i,
5986
5986
  emojiButton: a,
5987
5987
  childContainer: o
@@ -6161,22 +6161,22 @@ var rc = {
6161
6161
  callout: c,
6162
6162
  people: et,
6163
6163
  nature: Sr,
6164
- foods: Ie,
6165
- activity: ie,
6164
+ foods: Le,
6165
+ activity: ae,
6166
6166
  places: Ze,
6167
6167
  objects: f,
6168
- symbols: ne,
6169
- flags: fe
6168
+ symbols: P,
6169
+ flags: pe
6170
6170
  }, ic = [
6171
6171
  ["callout", bt],
6172
- ["people", tn],
6173
- ["nature", Zt],
6172
+ ["people", en],
6173
+ ["nature", Xt],
6174
6174
  ["foods", or],
6175
- ["activity", Kt],
6175
+ ["activity", Gt],
6176
6176
  ["places", x],
6177
6177
  ["objects", xn],
6178
- ["symbols", ke],
6179
- ["flags", In]
6178
+ ["symbols", Ae],
6179
+ ["flags", Ln]
6180
6180
  ], ac = [
6181
6181
  "✋",
6182
6182
  "✋🏻",
@@ -6257,28 +6257,28 @@ var lc = Yn, uc = class {
6257
6257
  let a = document.createElement("div");
6258
6258
  a.className = "relative flex-shrink-0";
6259
6259
  let o = document.createElement("button");
6260
- o.type = "button", o.setAttribute("data-emoji-picker-skin-toggle", ""), o.setAttribute("aria-label", this.i18n.t(L)), o.title = this.i18n.t(L), o.className = [
6260
+ o.type = "button", o.setAttribute("data-emoji-picker-skin-toggle", ""), o.setAttribute("aria-label", this.i18n.t(se)), o.title = this.i18n.t(se), o.className = [
6261
6261
  "w-[28px] h-[28px] flex items-center justify-center rounded-lg",
6262
6262
  "text-[14px] leading-none cursor-pointer select-none",
6263
6263
  "hover:bg-neutral-100 theme-dark:hover:bg-neutral-800",
6264
6264
  "active:scale-90 transition-all duration-100"
6265
6265
  ].join(" "), o.textContent = ac[this._skinTone], o.addEventListener("click", () => this.toggleSkinTonePopover()), this._skinToneToggle = o, a.appendChild(o), this._skinTonePopover = this.buildSkinTonePopover(), a.appendChild(this._skinTonePopover);
6266
6266
  let c = document.createElement("button");
6267
- c.type = "button", c.setAttribute("data-emoji-picker-random", ""), c.setAttribute("aria-label", this.i18n.t(le)), c.className = [
6267
+ c.type = "button", c.setAttribute("data-emoji-picker-random", ""), c.setAttribute("aria-label", this.i18n.t(ue)), c.className = [
6268
6268
  "flex-shrink-0 w-[34px] h-[34px] flex items-center justify-center rounded-lg",
6269
6269
  "text-neutral-400 hover:bg-neutral-100 hover:text-neutral-600",
6270
6270
  "theme-dark:hover:bg-neutral-800 theme-dark:hover:text-neutral-300",
6271
6271
  "transition-colors duration-100 cursor-pointer"
6272
- ].join(" "), c.innerHTML = lc, c.addEventListener("click", () => this.pickRandom()), fr(c, this.i18n.t(le), { placement: "bottom" });
6272
+ ].join(" "), c.innerHTML = lc, c.addEventListener("click", () => this.pickRandom()), fr(c, this.i18n.t(ue), { placement: "bottom" });
6273
6273
  let l = document.createElement("button");
6274
- l.type = "button", l.setAttribute("data-emoji-picker-remove", ""), l.setAttribute("aria-label", this.i18n.t(Rn)), l.className = [
6274
+ l.type = "button", l.setAttribute("data-emoji-picker-remove", ""), l.setAttribute("aria-label", this.i18n.t(zn)), l.className = [
6275
6275
  "flex-shrink-0 w-[34px] h-[34px] flex items-center justify-center rounded-lg",
6276
6276
  "text-neutral-400 hover:bg-neutral-100 hover:text-neutral-600",
6277
6277
  "theme-dark:hover:bg-neutral-800 theme-dark:hover:text-neutral-300",
6278
6278
  "transition-colors duration-100 cursor-pointer"
6279
- ].join(" "), l.innerHTML = mt, l.addEventListener("click", () => {
6279
+ ].join(" "), l.innerHTML = pt, l.addEventListener("click", () => {
6280
6280
  this.onRemove(), this.close();
6281
- }), fr(l, this.i18n.t(Rn), { placement: "bottom" });
6281
+ }), fr(l, this.i18n.t(zn), { placement: "bottom" });
6282
6282
  let u = document.createElement("div");
6283
6283
  u.className = "flex items-center gap-1", u.appendChild(c), u.appendChild(l), t.appendChild(n), t.appendChild(a), t.appendChild(u), e.appendChild(t);
6284
6284
  let d = document.createElement("div");
@@ -6307,7 +6307,7 @@ var lc = Yn, uc = class {
6307
6307
  ].join(" "), e.hidden = !0, this._skinToneButtons = [];
6308
6308
  for (let [t, n] of ac.entries()) {
6309
6309
  let r = document.createElement("button");
6310
- r.type = "button", r.textContent = n, r.setAttribute("aria-label", `${this.i18n.t(L)} ${t + 1}`), r.className = [
6310
+ r.type = "button", r.textContent = n, r.setAttribute("aria-label", `${this.i18n.t(se)} ${t + 1}`), r.className = [
6311
6311
  "w-[32px] h-[32px] flex items-center justify-center rounded-lg",
6312
6312
  "text-[1.2rem] leading-none cursor-pointer select-none",
6313
6313
  "hover:bg-neutral-100 theme-dark:hover:bg-neutral-700",
@@ -6434,7 +6434,7 @@ var lc = Yn, uc = class {
6434
6434
  let t = document.createElement("span");
6435
6435
  t.className = "mb-3 opacity-20 [&>svg]:w-9 [&>svg]:h-9", t.innerHTML = s;
6436
6436
  let n = document.createElement("span");
6437
- n.className = "text-[13px] font-medium", n.textContent = this.i18n.t(te), e.appendChild(t), e.appendChild(n), this._body.appendChild(e);
6437
+ n.className = "text-[13px] font-medium", n.textContent = this.i18n.t(j), e.appendChild(t), e.appendChild(n), this._body.appendChild(e);
6438
6438
  }
6439
6439
  translateCategory(e) {
6440
6440
  let t = rc[e];
@@ -6493,7 +6493,7 @@ var lc = Yn, uc = class {
6493
6493
  //#endregion
6494
6494
  //#region src/tools/callout/index.ts
6495
6495
  function dc(e) {
6496
- return e.isEmojiVisible === !1 ? "" : typeof e.emoji == "string" && e.emoji.length > 0 ? e.emoji : be;
6496
+ return e.isEmojiVisible === !1 ? "" : typeof e.emoji == "string" && e.emoji.length > 0 ? e.emoji : xe;
6497
6497
  }
6498
6498
  var fc = {
6499
6499
  general: null,
@@ -6512,7 +6512,7 @@ var fc = {
6512
6512
  normalizeData(e) {
6513
6513
  let t = e;
6514
6514
  return "variant" in t || "isEmojiVisible" in t ? this.normalizeLegacyData(t) : {
6515
- emoji: typeof e.emoji == "string" ? e.emoji : be,
6515
+ emoji: typeof e.emoji == "string" ? e.emoji : xe,
6516
6516
  textColor: typeof e.textColor == "string" ? e.textColor : null,
6517
6517
  backgroundColor: typeof e.backgroundColor == "string" ? e.backgroundColor : null
6518
6518
  };
@@ -6592,8 +6592,8 @@ var fc = {
6592
6592
  this._colorPicker = e;
6593
6593
  }
6594
6594
  return this.syncPickerActiveColors(), [{
6595
- icon: tn,
6596
- title: this.api.i18n.t(Oe),
6595
+ icon: en,
6596
+ title: this.api.i18n.t(ke),
6597
6597
  name: "callout-edit-icon",
6598
6598
  closeOnActivate: !0,
6599
6599
  onActivate: () => this.openEmojiPicker()
@@ -6614,13 +6614,13 @@ var fc = {
6614
6614
  syncPickerActiveColors() {
6615
6615
  if (this._colorPicker === null) return;
6616
6616
  let e = this._data.textColor, t = this._data.backgroundColor;
6617
- this._colorPicker.setActiveColor(e === null ? null : Ct(e, "text"), "color"), this._colorPicker.setActiveColor(t === null ? null : Ct(t, "bg"), "background-color");
6617
+ this._colorPicker.setActiveColor(e === null ? null : St(e, "text"), "color"), this._colorPicker.setActiveColor(t === null ? null : St(t, "bg"), "background-color");
6618
6618
  }
6619
6619
  applyColors() {
6620
6620
  if (this._dom === null) return;
6621
6621
  let { textColor: e, backgroundColor: t } = this._data;
6622
- if (e === null ? this._dom.wrapper.style.color = "" : this._dom.wrapper.style.color = Ct(e, "text"), t !== null) {
6623
- let e = Ct(t, "bg");
6622
+ if (e === null ? this._dom.wrapper.style.color = "" : this._dom.wrapper.style.color = St(e, "text"), t !== null) {
6623
+ let e = St(t, "bg");
6624
6624
  this._dom.wrapper.style.backgroundColor = e, this._dom.wrapper.style.border = "", this._dom.wrapper.style.setProperty("--blok-search-input-bg", `light-dark(color-mix(in srgb, ${e} 70%, white), color-mix(in srgb, ${e} 85%, white))`);
6625
6625
  } else this._dom.wrapper.style.backgroundColor = "", this._dom.wrapper.style.border = "1px solid var(--blok-callout-default-border, #e5e7eb)", this._dom.wrapper.style.removeProperty("--blok-search-input-bg"), this._dom.wrapper.style.removeProperty("--blok-search-input-border");
6626
6626
  }
@@ -6659,7 +6659,7 @@ var fc = {
6659
6659
  return {
6660
6660
  icon: Ye,
6661
6661
  titleKey: "callout",
6662
- name: ft,
6662
+ name: dt,
6663
6663
  searchTerms: [
6664
6664
  "callout",
6665
6665
  "note",
@@ -6680,7 +6680,7 @@ var fc = {
6680
6680
  }
6681
6681
  static get conversionConfig() {
6682
6682
  return { import: (e) => ({
6683
- emoji: be,
6683
+ emoji: xe,
6684
6684
  textColor: null,
6685
6685
  backgroundColor: null,
6686
6686
  __importedText: e
@@ -6806,7 +6806,7 @@ var Cc = {
6806
6806
  }
6807
6807
  addProperty(e, t, n) {
6808
6808
  let r = this.schema.length > 0 ? this.schema[this.schema.length - 1].position : null, i = W({
6809
- id: St(),
6809
+ id: On(),
6810
6810
  name: e,
6811
6811
  type: t,
6812
6812
  position: Sc(r, null)
@@ -6832,7 +6832,7 @@ var Cc = {
6832
6832
  createRowData(e) {
6833
6833
  let t = this.getOrderedRows(), n = t.length > 0 ? t[t.length - 1].position : null;
6834
6834
  return {
6835
- id: St(),
6835
+ id: On(),
6836
6836
  position: Sc(n, null),
6837
6837
  properties: e == null ? {} : e
6838
6838
  };
@@ -6859,7 +6859,7 @@ var Cc = {
6859
6859
  addView(e, t, n = {}) {
6860
6860
  var r, i, a;
6861
6861
  let o = [...this.views].sort((e, t) => e.position < t.position ? -1 : 1), s = o.length > 0 ? o[o.length - 1].position : null, c = {
6862
- id: St(),
6862
+ id: On(),
6863
6863
  name: e,
6864
6864
  type: t,
6865
6865
  position: Sc(s, null),
@@ -6895,30 +6895,30 @@ var Cc = {
6895
6895
  }
6896
6896
  static createDefaultSchema() {
6897
6897
  return [{
6898
- id: St(),
6898
+ id: On(),
6899
6899
  name: "Title",
6900
6900
  type: "title",
6901
6901
  position: "a0"
6902
6902
  }, {
6903
- id: St(),
6903
+ id: On(),
6904
6904
  name: "Status",
6905
6905
  type: "select",
6906
6906
  position: "a1",
6907
6907
  config: { options: [
6908
6908
  {
6909
- id: St(),
6909
+ id: On(),
6910
6910
  label: Cc.notStarted,
6911
6911
  color: "gray",
6912
6912
  position: "a0"
6913
6913
  },
6914
6914
  {
6915
- id: St(),
6915
+ id: On(),
6916
6916
  label: Cc.inProgress,
6917
6917
  color: "blue",
6918
6918
  position: "a1"
6919
6919
  },
6920
6920
  {
6921
- id: St(),
6921
+ id: On(),
6922
6922
  label: Cc.done,
6923
6923
  color: "green",
6924
6924
  position: "a2"
@@ -6928,7 +6928,7 @@ var Cc = {
6928
6928
  }
6929
6929
  static createDefaultView(e) {
6930
6930
  return {
6931
- id: St(),
6931
+ id: On(),
6932
6932
  name: "Board",
6933
6933
  type: "board",
6934
6934
  position: "a0",
@@ -7017,7 +7017,7 @@ var Cc = {
7017
7017
  let t = document.createElement("div");
7018
7018
  t.setAttribute("data-blok-database-card-actions", "");
7019
7019
  let n = document.createElement("button");
7020
- n.setAttribute("data-blok-database-edit-card", ""), n.setAttribute("data-row-id", e.id), n.setAttribute("aria-label", this.i18n.t("tools.database.editCardTitle")), n.innerHTML = It, n.addEventListener("click", (t) => {
7020
+ n.setAttribute("data-blok-database-edit-card", ""), n.setAttribute("data-row-id", e.id), n.setAttribute("aria-label", this.i18n.t("tools.database.editCardTitle")), n.innerHTML = Ft, n.addEventListener("click", (t) => {
7021
7021
  t.stopPropagation(), this.startCardTitleEdit(r, e.id);
7022
7022
  });
7023
7023
  let i = document.createElement("button");
@@ -7582,12 +7582,12 @@ var Cc = {
7582
7582
  }, Ic = [
7583
7583
  {
7584
7584
  type: "text",
7585
- icon: F,
7585
+ icon: ie,
7586
7586
  labelKey: "tools.database.propertyTypeText"
7587
7587
  },
7588
7588
  {
7589
7589
  type: "number",
7590
- icon: ke,
7590
+ icon: Ae,
7591
7591
  labelKey: "tools.database.propertyTypeNumber"
7592
7592
  },
7593
7593
  {
@@ -7597,17 +7597,17 @@ var Cc = {
7597
7597
  },
7598
7598
  {
7599
7599
  type: "multiSelect",
7600
- icon: jt,
7600
+ icon: At,
7601
7601
  labelKey: "tools.database.propertyTypeMultiSelect"
7602
7602
  },
7603
7603
  {
7604
7604
  type: "date",
7605
- icon: M,
7605
+ icon: N,
7606
7606
  labelKey: "tools.database.propertyTypeDate"
7607
7607
  },
7608
7608
  {
7609
7609
  type: "checkbox",
7610
- icon: Ne,
7610
+ icon: Pe,
7611
7611
  labelKey: "tools.database.propertyTypeCheckbox"
7612
7612
  },
7613
7613
  {
@@ -7847,7 +7847,7 @@ var Cc = {
7847
7847
  descriptionKey: "tools.database.viewTypeBoardDescription"
7848
7848
  }, {
7849
7849
  type: "list",
7850
- icon: lt,
7850
+ icon: ct,
7851
7851
  labelKey: "tools.database.viewTypeList",
7852
7852
  descriptionKey: "tools.database.viewTypeListDescription"
7853
7853
  }], Vc = class {
@@ -7880,7 +7880,7 @@ var Cc = {
7880
7880
  minWidth: "200px",
7881
7881
  flippable: !1,
7882
7882
  autoFocusFirstItem: !1
7883
- }), this.popover.on(Ue.Closed, () => {
7883
+ }), this.popover.on(We.Closed, () => {
7884
7884
  if (this.popover !== null) {
7885
7885
  var e;
7886
7886
  let t = this.popover;
@@ -7914,7 +7914,7 @@ var Cc = {
7914
7914
  }
7915
7915
  }, Hc = 10, Uc = {
7916
7916
  board: br,
7917
- list: lt
7917
+ list: ct
7918
7918
  }, Wc = class {
7919
7919
  constructor(e) {
7920
7920
  var t;
@@ -7976,7 +7976,7 @@ var Cc = {
7976
7976
  var n, r;
7977
7977
  return (n = (r = this.options.api) == null ? void 0 : r.i18n.t(e)) == null ? t : n;
7978
7978
  }, i = [{
7979
- icon: It,
7979
+ icon: Ft,
7980
7980
  title: r("tools.database.renameView", "Rename"),
7981
7981
  closeOnActivate: !0,
7982
7982
  onActivate: () => {
@@ -8004,7 +8004,7 @@ var Cc = {
8004
8004
  minWidth: "160px",
8005
8005
  autoFocusFirstItem: !1,
8006
8006
  items: [...i, ...a]
8007
- }), this.contextPopover.on(Ue.Closed, () => {
8007
+ }), this.contextPopover.on(We.Closed, () => {
8008
8008
  if (this.contextPopover !== null) {
8009
8009
  let e = this.contextPopover;
8010
8010
  this.contextPopover = null, e.destroy();
@@ -8151,7 +8151,7 @@ var Cc = {
8151
8151
  }
8152
8152
  static get toolbox() {
8153
8153
  return [{
8154
- icon: jn,
8154
+ icon: Mn,
8155
8155
  titleKey: "database",
8156
8156
  name: "database",
8157
8157
  searchTerms: [
@@ -8459,7 +8459,7 @@ var Cc = {
8459
8459
  this.deleteRowBlock(n), this.view.removeRow(r, n), this.sync.syncDeleteRow({ rowId: n });
8460
8460
  }
8461
8461
  }]
8462
- }), this.cardMenuPopover.on(Ue.Closed, () => {
8462
+ }), this.cardMenuPopover.on(We.Closed, () => {
8463
8463
  if (t.removeAttribute("data-popover-open"), this.cardMenuPopover !== null) {
8464
8464
  let e = this.cardMenuPopover;
8465
8465
  this.cardMenuPopover = null, e.destroy();
@@ -8508,7 +8508,7 @@ var Cc = {
8508
8508
  let a = this.model.getProperty(i);
8509
8509
  if ((a == null ? void 0 : a.config) === void 0) return;
8510
8510
  let o = a.config.options, s = o.length > 0 ? o[o.length - 1].position : null, c = {
8511
- id: St(),
8511
+ id: On(),
8512
8512
  label: this.api.i18n.t("tools.database.columnTitlePlaceholder"),
8513
8513
  position: wc.positionBetween(s, null)
8514
8514
  };
@@ -8770,7 +8770,7 @@ var Cc = {
8770
8770
  }
8771
8771
  static get toolbox() {
8772
8772
  return {
8773
- icon: Nt,
8773
+ icon: Mt,
8774
8774
  titleKey: "divider",
8775
8775
  shortcut: "---",
8776
8776
  searchTerms: [
@@ -8828,7 +8828,7 @@ var Cc = {
8828
8828
  }
8829
8829
  drawView() {
8830
8830
  let e = document.createElement("blockquote");
8831
- return e.className = G(this.api.styles.block, Yc, Nr, this._data.size === "large" ? Xc : ""), e.setAttribute(V.tool, "quote"), e.contentEditable = "false", this._data.text ? e.innerHTML = this._data.text : this.readOnly && (e.innerHTML = "<br>"), this.readOnly || (e.contentEditable = "true", e.addEventListener("keyup", this.onKeyUp), this.placeholderCleanup = Rr(e, this.api.i18n.t(Jc), "data-blok-placeholder-active")), e;
8831
+ return e.className = G(this.api.styles.block, Yc, Nr, this._data.size === "large" ? Xc : ""), e.setAttribute(z.tool, "quote"), e.contentEditable = "false", this._data.text ? e.innerHTML = this._data.text : this.readOnly && (e.innerHTML = "<br>"), this.readOnly || (e.contentEditable = "true", e.addEventListener("keyup", this.onKeyUp), this.placeholderCleanup = Rr(e, this.api.i18n.t(Jc), "data-blok-placeholder-active")), e;
8832
8832
  }
8833
8833
  render() {
8834
8834
  return this._element || (this._element = this.drawView()), this._element;
@@ -8838,7 +8838,7 @@ var Cc = {
8838
8838
  }
8839
8839
  save(e) {
8840
8840
  return {
8841
- text: Vn(e.innerHTML),
8841
+ text: nn(e.innerHTML),
8842
8842
  size: this._data.size
8843
8843
  };
8844
8844
  }
@@ -8932,23 +8932,23 @@ function Qc(e) {
8932
8932
  let n = [
8933
8933
  {
8934
8934
  mode: "code",
8935
- icon: Ae,
8935
+ icon: je,
8936
8936
  label: e.code
8937
8937
  },
8938
8938
  {
8939
8939
  mode: "preview",
8940
- icon: C,
8940
+ icon: w,
8941
8941
  label: e.preview
8942
8942
  },
8943
8943
  {
8944
8944
  mode: "split",
8945
- icon: ye,
8945
+ icon: be,
8946
8946
  label: e.split
8947
8947
  }
8948
8948
  ];
8949
8949
  for (let { mode: e, icon: r, label: i } of n) {
8950
8950
  let n = document.createElement("button");
8951
- n.type = "button", n.className = w, n.innerHTML = r, n.setAttribute("aria-label", i), n.setAttribute("aria-pressed", "false"), n.setAttribute("data-blok-testid", `code-mode-${e}`), n.setAttribute("data-mode", e), t.appendChild(n);
8951
+ n.type = "button", n.className = T, n.innerHTML = r, n.setAttribute("aria-label", i), n.setAttribute("aria-pressed", "false"), n.setAttribute("data-blok-testid", `code-mode-${e}`), n.setAttribute("data-mode", e), t.appendChild(n);
8952
8952
  }
8953
8953
  let r = document.createElement("div");
8954
8954
  r.className = ar, r.setAttribute("data-blok-testid", "code-preview");
@@ -8963,21 +8963,21 @@ function $c(e, t) {
8963
8963
  let n = Array.from(e.querySelectorAll("[data-mode]"));
8964
8964
  for (let e of n) {
8965
8965
  let n = e.getAttribute("data-mode") === t;
8966
- e.setAttribute("aria-pressed", String(n)), e.className = n ? qe : w;
8966
+ e.setAttribute("aria-pressed", String(n)), e.className = n ? qe : T;
8967
8967
  }
8968
8968
  }
8969
8969
  function el(e) {
8970
8970
  var t, n, r;
8971
8971
  let { code: i, languageName: a, readOnly: o, copyLabel: s, previewable: c, viewModeLabels: l } = e, u = document.createElement("div");
8972
- u.className = Ce;
8972
+ u.className = we;
8973
8973
  let d = document.createElement("div");
8974
- d.className = Gt;
8974
+ d.className = Wt;
8975
8975
  let f = document.createElement("button");
8976
- f.type = "button", f.className = en, f.setAttribute("aria-haspopup", "listbox"), f.setAttribute("data-blok-testid", "code-language-btn");
8976
+ f.type = "button", f.className = $t, f.setAttribute("aria-haspopup", "listbox"), f.setAttribute("data-blok-testid", "code-language-btn");
8977
8977
  let p = document.createElement("span");
8978
8978
  p.textContent = a, f.appendChild(p);
8979
8979
  let m = document.createElement("span");
8980
- m.className = "inline-flex items-center ml-0.5 -mr-0.5", m.innerHTML = I, f.appendChild(m);
8980
+ m.className = "inline-flex items-center ml-0.5 -mr-0.5", m.innerHTML = oe, f.appendChild(m);
8981
8981
  let h = document.createElement("div");
8982
8982
  h.className = "flex-1";
8983
8983
  let g = !o && l ? Qc(l) : null, _ = (t = g == null ? void 0 : g.viewModeContainer) == null ? null : t, v = (n = g == null ? void 0 : g.previewElement) == null ? null : n, y = (r = g == null ? void 0 : g.splitContainer) == null ? null : r;
@@ -8985,16 +8985,16 @@ function el(e) {
8985
8985
  let b = document.createElement("button");
8986
8986
  b.type = "button", b.className = c ? _n : tr, b.innerHTML = En, b.setAttribute("aria-label", s), b.setAttribute("data-blok-testid", "code-copy-btn");
8987
8987
  let x = document.createElement("code");
8988
- x.className = Vt, x.setAttribute("data-blok-testid", "code-content"), i && (x.textContent = i), o || (x.setAttribute("contenteditable", "plaintext-only"), x.setAttribute("spellcheck", "false"));
8988
+ x.className = Bt, x.setAttribute("data-blok-testid", "code-content"), i && (x.textContent = i), o || (x.setAttribute("contenteditable", "plaintext-only"), x.setAttribute("spellcheck", "false"));
8989
8989
  let S = document.createElement("div");
8990
- S.className = Mt, S.setAttribute("aria-hidden", "true"), S.setAttribute("data-blok-testid", "code-gutter");
8990
+ S.className = jt, S.setAttribute("aria-hidden", "true"), S.setAttribute("data-blok-testid", "code-gutter");
8991
8991
  let C = i ? i.split("\n").length : 1;
8992
8992
  Array.from({ length: C }, (e, t) => {
8993
8993
  let n = document.createElement("div");
8994
8994
  n.className = Jn, n.textContent = String(t + 1), n.setAttribute("data-line-index", String(t)), S.appendChild(n);
8995
8995
  }), d.appendChild(f), d.appendChild(h);
8996
8996
  let w = document.createElement("div");
8997
- w.className = Lt, _ && w.appendChild(_), w.appendChild(b), d.appendChild(w);
8997
+ w.className = It, _ && w.appendChild(_), w.appendChild(b), d.appendChild(w);
8998
8998
  let T = document.createElement("pre");
8999
8999
  T.className = "flex-1 min-w-0", T.appendChild(x);
9000
9000
  let E = document.createElement("div");
@@ -9958,7 +9958,7 @@ var yl = {
9958
9958
  "markup-templating": () => import("./prism-markup-templating-DfRjv0mn.mjs")
9959
9959
  }, xl = /* @__PURE__ */ new Set();
9960
9960
  function Sl(e) {
9961
- return Fn.has(e);
9961
+ return In.has(e);
9962
9962
  }
9963
9963
  async function Cl(e) {
9964
9964
  if (xl.has(e)) return;
@@ -10107,7 +10107,7 @@ var Hl = class {
10107
10107
  var r, i, a;
10108
10108
  this._dom = null, this._lineNumbers = !0, this._picker = null, this._viewMode = "preview", this._previewContainer = null, this._highlightRafId = null, this._detectedLanguage = null, this._detectionTimeoutId = null, this._highlightCleanup = null, this._highlightedLang = null, this.api = t, this.readOnly = n, this._data = {
10109
10109
  code: (r = e == null ? void 0 : e.code) == null ? "" : r,
10110
- language: (i = e == null ? void 0 : e.language) == null ? An : i,
10110
+ language: (i = e == null ? void 0 : e.language) == null ? jn : i,
10111
10111
  lineNumbers: e == null ? void 0 : e.lineNumbers
10112
10112
  }, this._lineNumbers = (a = e == null ? void 0 : e.lineNumbers) == null ? !0 : a;
10113
10113
  }
@@ -10116,7 +10116,7 @@ var Hl = class {
10116
10116
  code: this._data.code,
10117
10117
  languageName: this.getLanguageName(this._data.language),
10118
10118
  readOnly: this.readOnly,
10119
- copyLabel: this.api.i18n.t(wt),
10119
+ copyLabel: this.api.i18n.t(Ct),
10120
10120
  previewable: this.readOnly ? !1 : e,
10121
10121
  viewModeLabels: this.readOnly ? void 0 : {
10122
10122
  code: this.api.i18n.t(Tn),
@@ -10152,7 +10152,7 @@ var Hl = class {
10152
10152
  requestAnimationFrame(() => {
10153
10153
  this.syncTrailingBr(), this.updateGutter(), this.scheduleHighlight(), this.scheduleDetection();
10154
10154
  });
10155
- })), t.copyButton.addEventListener("click", () => this.copyCode()), fr(t.copyButton, this.api.i18n.t(wt), { placement: "bottom" }), this.readOnly || (this._picker = this.buildLanguagePicker(t.languageButton, t.wrapper), t.languageButton.addEventListener("click", () => {
10155
+ })), t.copyButton.addEventListener("click", () => this.copyCode()), fr(t.copyButton, this.api.i18n.t(Ct), { placement: "bottom" }), this.readOnly || (this._picker = this.buildLanguagePicker(t.languageButton, t.wrapper), t.languageButton.addEventListener("click", () => {
10156
10156
  var e;
10157
10157
  if ((e = this._picker) != null && e.isShown) this._picker.hide();
10158
10158
  else {
@@ -10184,7 +10184,7 @@ var Hl = class {
10184
10184
  this._dom.preElement.hidden = !0, this._dom.gutterElement.hidden = !0, this._dom.previewElement.hidden = !1, n && (n.hidden = !0), this._dom.splitContainer.className = _;
10185
10185
  break;
10186
10186
  case "split":
10187
- this._dom.preElement.hidden = !1, this._dom.gutterElement.hidden = !this._lineNumbers, this._dom.previewElement.hidden = !1, n && (n.hidden = !1), this._dom.splitContainer.className = Ve;
10187
+ this._dom.preElement.hidden = !1, this._dom.gutterElement.hidden = !this._lineNumbers, this._dom.previewElement.hidden = !1, n && (n.hidden = !1), this._dom.splitContainer.className = He;
10188
10188
  break;
10189
10189
  }
10190
10190
  }
@@ -10211,7 +10211,7 @@ var Hl = class {
10211
10211
  let i = this._data.language;
10212
10212
  return this._data = {
10213
10213
  code: (t = e.code) == null ? "" : t,
10214
- language: (n = e.language) == null ? An : n,
10214
+ language: (n = e.language) == null ? jn : n,
10215
10215
  lineNumbers: e.lineNumbers
10216
10216
  }, this._dom ? (this._dom.codeElement.textContent = this._data.code, this.syncTrailingBr(), this._lineNumbers = (r = e.lineNumbers) == null ? !0 : r, this._dom.gutterElement.hidden = !this._lineNumbers, this.updateGutter(), e.language === i ? (this._viewMode === "preview" || this._viewMode === "split") && this.renderPreview() : this.applyLanguageChange(this._data.language), this.highlightCode(), !0) : !0;
10217
10217
  }
@@ -10235,7 +10235,7 @@ var Hl = class {
10235
10235
  e && (i.push({
10236
10236
  title: e.name,
10237
10237
  secondaryLabel: "auto",
10238
- icon: ce,
10238
+ icon: le,
10239
10239
  onActivate: () => this.setLanguage(e.id),
10240
10240
  closeOnActivate: !0,
10241
10241
  isActive: () => this._data.language === e.id
@@ -10243,12 +10243,12 @@ var Hl = class {
10243
10243
  }
10244
10244
  return i.push(...bn.map((t) => ({
10245
10245
  title: t.name,
10246
- trailingIcon: t.id === e ? Ln : void 0,
10246
+ trailingIcon: t.id === e ? Rn : void 0,
10247
10247
  onActivate: () => this.setLanguage(t.id),
10248
10248
  closeOnActivate: !0
10249
10249
  }))), [{
10250
10250
  icon: n,
10251
- title: this.api.i18n.t(Xt),
10251
+ title: this.api.i18n.t(Yt),
10252
10252
  name: "code-language",
10253
10253
  children: { items: i }
10254
10254
  }];
@@ -10283,7 +10283,7 @@ var Hl = class {
10283
10283
  e && (r.push({
10284
10284
  title: e.name,
10285
10285
  name: e.id,
10286
- icon: ce,
10286
+ icon: le,
10287
10287
  toggle: "language",
10288
10288
  isActive: () => this._data.language === e.id,
10289
10289
  closeOnActivate: !0,
@@ -10293,7 +10293,7 @@ var Hl = class {
10293
10293
  return r.push(...bn.map((t) => ({
10294
10294
  title: t.name,
10295
10295
  name: t.id,
10296
- trailingIcon: t.id === e ? Ln : void 0,
10296
+ trailingIcon: t.id === e ? Rn : void 0,
10297
10297
  toggle: "language",
10298
10298
  closeOnActivate: !0,
10299
10299
  onActivate: () => this.setLanguage(t.id)
@@ -10306,7 +10306,7 @@ var Hl = class {
10306
10306
  leftAlignElement: t,
10307
10307
  searchable: !0,
10308
10308
  width: "200px",
10309
- messages: { search: this.api.i18n.t(Ot) }
10309
+ messages: { search: this.api.i18n.t(Dt) }
10310
10310
  });
10311
10311
  }
10312
10312
  getLanguageName(e) {
@@ -10566,7 +10566,7 @@ function su(e) {
10566
10566
  let b = document.createElement("div");
10567
10567
  b.className = "blok-media-empty__drop-overlay", b.setAttribute("aria-hidden", "true");
10568
10568
  let x = document.createElement("div");
10569
- x.className = "blok-media-empty__drop-inner", x.innerHTML = `<span class="blok-media-empty__drop-icon">${de}</span><span>${r.dropToUpload}</span>`, b.appendChild(x);
10569
+ x.className = "blok-media-empty__drop-inner", x.innerHTML = `<span class="blok-media-empty__drop-icon">${R}</span><span>${r.dropToUpload}</span>`, b.appendChild(x);
10570
10570
  let S = document.createElement("div");
10571
10571
  S.className = "blok-media-empty__error", S.setAttribute("data-role", "error"), S.hidden = !0;
10572
10572
  let C = document.createElement("input");
@@ -10582,7 +10582,7 @@ function su(e) {
10582
10582
  let t = document.createElement("div");
10583
10583
  t.className = "blok-media-empty__primary";
10584
10584
  let n = document.createElement("button");
10585
- n.type = "button", n.className = "blok-media-empty__choose", n.setAttribute("data-action", "choose-file"), n.innerHTML = `<span class="blok-media-empty__choose-icon">${Pe}</span><span>${r.chooseFile}</span>`, n.addEventListener("click", (e) => {
10585
+ n.type = "button", n.className = "blok-media-empty__choose", n.setAttribute("data-action", "choose-file"), n.innerHTML = `<span class="blok-media-empty__choose-icon">${Fe}</span><span>${r.chooseFile}</span>`, n.addEventListener("click", (e) => {
10586
10586
  e.stopPropagation(), C.click();
10587
10587
  });
10588
10588
  let i = document.createElement("span");
@@ -10596,7 +10596,7 @@ function su(e) {
10596
10596
  let t = document.createElement("div");
10597
10597
  t.className = "blok-media-empty__embed-bar", t.setAttribute("data-valid", "false");
10598
10598
  let n = document.createElement("span");
10599
- n.className = "blok-media-empty__embed-icon", n.setAttribute("aria-hidden", "true"), n.innerHTML = se;
10599
+ n.className = "blok-media-empty__embed-icon", n.setAttribute("aria-hidden", "true"), n.innerHTML = ce;
10600
10600
  let i = document.createElement("input");
10601
10601
  i.type = "url", i.className = "blok-media-empty__embed-input", i.placeholder = r.urlPlaceholder, i.setAttribute("aria-label", r.urlAria), i.autocomplete = "off", i.spellcheck = !1;
10602
10602
  let a = document.createElement("button");
@@ -10750,7 +10750,7 @@ function pu(e) {
10750
10750
  let a = (t = e.variant) == null ? "broken" : t;
10751
10751
  i.setAttribute("data-variant", a);
10752
10752
  let o = document.createElement("div");
10753
- o.className = "blok-image-error__icon", o.setAttribute("aria-hidden", "true"), o.innerHTML = a === "upload" ? z : tt;
10753
+ o.className = "blok-image-error__icon", o.setAttribute("aria-hidden", "true"), o.innerHTML = a === "upload" ? nt : tt;
10754
10754
  let s = document.createElement("div");
10755
10755
  s.className = "blok-image-error__body";
10756
10756
  let c = document.createElement("div");
@@ -10897,7 +10897,7 @@ var Au = {
10897
10897
  right: "right"
10898
10898
  }, ju = {
10899
10899
  left: Cr,
10900
- center: Le,
10900
+ center: Re,
10901
10901
  right: p
10902
10902
  };
10903
10903
  function Mu(e, t, n, r) {
@@ -11317,7 +11317,7 @@ function Ju(e) {
11317
11317
  function Yu(e) {
11318
11318
  let t = document.createElement("div");
11319
11319
  t.setAttribute("data-role", "lightbox-toolbar"), t.setAttribute("role", "toolbar"), t.setAttribute("aria-label", X(e.i18n, "tools.image.previewControls")), t.className = "blok-image-lightbox__bar", t.addEventListener("click", (e) => e.stopPropagation());
11320
- let n = dt, r = oe, i = Rt, a = se, o = Ht;
11320
+ let n = ut, r = L, i = Lt, a = ce, o = Vt;
11321
11321
  return $u(t, {
11322
11322
  action: "zoom-out",
11323
11323
  label: X(e.i18n, "tools.image.zoomOut"),
@@ -11364,7 +11364,7 @@ function Zu(e) {
11364
11364
  action: "lightbox-prev",
11365
11365
  label: X(e.i18n, "tools.image.previousImage"),
11366
11366
  shortcut: "←",
11367
- html: ut,
11367
+ html: lt,
11368
11368
  onClick: e.onPrev,
11369
11369
  tooltipPlacement: "right"
11370
11370
  }), $u(t, {
@@ -11387,7 +11387,7 @@ function $u(e, t) {
11387
11387
  var n;
11388
11388
  let r = document.createElement("button");
11389
11389
  r.type = "button", r.setAttribute("data-action", t.action), r.setAttribute("aria-label", t.label), r.className = t.extraClass ? `blok-image-lightbox__btn ${t.extraClass}` : "blok-image-lightbox__btn", r.innerHTML = t.html, fr(r, Qu(t.label, t.shortcut), { placement: (n = t.tooltipPlacement) == null ? "top" : n }), r.addEventListener("click", (e) => {
11390
- e.stopPropagation(), B(), t.onClick();
11390
+ e.stopPropagation(), V(), t.onClick();
11391
11391
  }), e.appendChild(r);
11392
11392
  }
11393
11393
  function ed(e, t, n, r = 80) {
@@ -11405,7 +11405,7 @@ function rd(e) {
11405
11405
  action: "caption-toggle",
11406
11406
  label: X(e.i18n, "tools.image.toggleCaption"),
11407
11407
  pressed: e.state.captionVisible,
11408
- icon: k,
11408
+ icon: A,
11409
11409
  onClick: e.onToggleCaption
11410
11410
  }), od(t, {
11411
11411
  action: "replace",
@@ -11420,12 +11420,12 @@ function rd(e) {
11420
11420
  }), od(t, {
11421
11421
  action: "fullscreen",
11422
11422
  label: X(e.i18n, "tools.image.viewFullscreen"),
11423
- icon: kt,
11423
+ icon: Ot,
11424
11424
  onClick: e.onFullscreen
11425
11425
  }), od(t, {
11426
11426
  action: "download",
11427
11427
  label: X(e.i18n, "tools.image.downloadOriginal"),
11428
- icon: Rt,
11428
+ icon: Lt,
11429
11429
  onClick: e.onDownload
11430
11430
  }), ad(t);
11431
11431
  let n = X(e.i18n, "tools.image.moreOptions"), r = document.createElement("button");
@@ -11449,7 +11449,7 @@ function id(e, t) {
11449
11449
  ]) {
11450
11450
  let n = Nu(t.i18n, e), i = document.createElement("button");
11451
11451
  i.type = "button", i.setAttribute("data-action", `align-${e}`), i.setAttribute("aria-label", n), i.setAttribute("aria-pressed", r === e ? "true" : "false"), i.innerHTML = ju[e], fr(i, n), i.addEventListener("click", (n) => {
11452
- n.stopPropagation(), B(), d(), t.onAlign(e);
11452
+ n.stopPropagation(), V(), d(), t.onAlign(e);
11453
11453
  }), o.appendChild(i);
11454
11454
  }
11455
11455
  n.appendChild(o), e.appendChild(n);
@@ -11461,7 +11461,7 @@ function id(e, t) {
11461
11461
  t && n.contains(t) || d();
11462
11462
  }, l = () => n.closest("[data-blok-tool=\"image\"]"), u = () => {
11463
11463
  var e;
11464
- o.hidden && (o.hidden = !1, o.setAttribute("data-blok-popover-opened", "true"), (e = l()) == null || e.setAttribute("data-align-open", "true"), a.setAttribute("aria-expanded", "true"), B(), document.addEventListener("keydown", s), document.addEventListener("mousedown", c));
11464
+ o.hidden && (o.hidden = !1, o.setAttribute("data-blok-popover-opened", "true"), (e = l()) == null || e.setAttribute("data-align-open", "true"), a.setAttribute("aria-expanded", "true"), V(), document.addEventListener("keydown", s), document.addEventListener("mousedown", c));
11465
11465
  };
11466
11466
  function d() {
11467
11467
  var e;
@@ -11478,7 +11478,7 @@ function ad(e) {
11478
11478
  function od(e, t) {
11479
11479
  let n = document.createElement("button");
11480
11480
  n.type = "button", n.setAttribute("aria-label", t.label), n.setAttribute("data-action", t.action), t.pressed !== void 0 && n.setAttribute("aria-pressed", t.pressed ? "true" : "false"), n.innerHTML = t.icon, fr(n, t.label), n.addEventListener("click", (e) => {
11481
- e.stopPropagation(), B(), t.onClick();
11481
+ e.stopPropagation(), V(), t.onClick();
11482
11482
  }), e.appendChild(n);
11483
11483
  }
11484
11484
  //#endregion
@@ -11959,14 +11959,14 @@ function Ld(e) {
11959
11959
  let s = document.createElement("span");
11960
11960
  s.className = "blok-image-uploading__filename", s.setAttribute("data-role", "filename"), s.textContent = e.fileName, s.title = e.fileName;
11961
11961
  let c = document.createElement("button");
11962
- c.type = "button", c.className = "blok-image-uploading__cancel", c.setAttribute("data-action", "cancel"), c.setAttribute("aria-label", X(e.i18n, "tools.image.cancelUpload")), c.innerHTML = mt, c.addEventListener("click", () => {
11962
+ c.type = "button", c.className = "blok-image-uploading__cancel", c.setAttribute("data-action", "cancel"), c.setAttribute("aria-label", X(e.i18n, "tools.image.cancelUpload")), c.innerHTML = pt, c.addEventListener("click", () => {
11963
11963
  var t;
11964
11964
  (t = e.onCancel) == null || t.call(e);
11965
11965
  }), a.append(o, s, c);
11966
11966
  let l = document.createElement("div");
11967
11967
  l.className = "blok-image-uploading__panel";
11968
11968
  let u = document.createElement("span");
11969
- u.className = "blok-image-uploading__tile", u.setAttribute("aria-hidden", "true"), u.innerHTML = pe;
11969
+ u.className = "blok-image-uploading__tile", u.setAttribute("aria-hidden", "true"), u.innerHTML = me;
11970
11970
  let d = document.createElement("div");
11971
11971
  d.className = "blok-image-uploading__content";
11972
11972
  let f = document.createElement("div");
@@ -12177,7 +12177,7 @@ var ef = class {
12177
12177
  }
12178
12178
  static get toolbox() {
12179
12179
  return {
12180
- icon: pe,
12180
+ icon: me,
12181
12181
  titleKey: "image",
12182
12182
  searchTerms: [
12183
12183
  "image",
@@ -12375,19 +12375,19 @@ var ef = class {
12375
12375
  {
12376
12376
  value: "left",
12377
12377
  title: r.t("tools.image.alignmentLeft"),
12378
- icon: E
12378
+ icon: D
12379
12379
  },
12380
12380
  {
12381
12381
  value: "center",
12382
12382
  title: r.t("tools.image.alignmentCenter"),
12383
- icon: Te
12383
+ icon: Ee
12384
12384
  },
12385
12385
  {
12386
12386
  value: "right",
12387
12387
  title: r.t("tools.image.alignmentRight"),
12388
- icon: re
12388
+ icon: F
12389
12389
  }
12390
- ], s = (t = (n = o.find((e) => e.value === i)) == null ? void 0 : n.icon) == null ? o[1].icon : t, c = nt, l = Se, u = Wn, d = yr, f = nr;
12390
+ ], s = (t = (n = o.find((e) => e.value === i)) == null ? void 0 : n.icon) == null ? o[1].icon : t, c = B, l = Ce, u = Wn, d = yr, f = nr;
12391
12391
  return [
12392
12392
  {
12393
12393
  icon: s,
@@ -13022,12 +13022,12 @@ var yf = new Set([
13022
13022
  pdf: ur,
13023
13023
  document: v,
13024
13024
  spreadsheet: Je,
13025
- presentation: T,
13026
- archive: He,
13025
+ presentation: E,
13026
+ archive: Ue,
13027
13027
  audio: gn,
13028
- video: A,
13029
- image: pe,
13030
- code: Ae,
13028
+ video: te,
13029
+ image: me,
13030
+ code: je,
13031
13031
  text: hr,
13032
13032
  generic: hr
13033
13033
  };
@@ -13802,7 +13802,7 @@ function $p(e) {
13802
13802
  let c = document.createElement("span");
13803
13803
  c.className = "blok-file-preview-title-text", e.fileName && (c.textContent = e.fileName), o.append(s, c);
13804
13804
  let l = document.createElement("button");
13805
- l.type = "button", l.className = "blok-file-preview-close", l.setAttribute("data-action", "close-preview"), l.setAttribute("aria-label", e.labels.close), l.innerHTML = Tt;
13805
+ l.type = "button", l.className = "blok-file-preview-close", l.setAttribute("data-action", "close-preview"), l.setAttribute("aria-label", e.labels.close), l.innerHTML = wt;
13806
13806
  let u = document.createElement("div");
13807
13807
  u.className = "blok-file-preview-actions";
13808
13808
  let d = _f({
@@ -13812,7 +13812,7 @@ function $p(e) {
13812
13812
  }), f = d === "pdf" ? Nf(e.url) : null;
13813
13813
  if (f !== null) {
13814
13814
  let t = document.createElement("a");
13815
- t.className = "blok-file-preview-open", t.setAttribute("data-action", "preview-open-tab"), t.href = f, t.target = "_blank", t.rel = "noopener noreferrer", e.labels.openInNewTab && (t.setAttribute("aria-label", e.labels.openInNewTab), t.title = e.labels.openInNewTab), t.innerHTML = pt, u.appendChild(t);
13815
+ t.className = "blok-file-preview-open", t.setAttribute("data-action", "preview-open-tab"), t.href = f, t.target = "_blank", t.rel = "noopener noreferrer", e.labels.openInNewTab && (t.setAttribute("aria-label", e.labels.openInNewTab), t.title = e.labels.openInNewTab), t.innerHTML = ft, u.appendChild(t);
13816
13816
  }
13817
13817
  u.appendChild(l), a.append(o, u);
13818
13818
  let p = Jp(e, d == null ? "text" : d);
@@ -13893,7 +13893,7 @@ var tm = /\.(png|jpe?g|gif|webp|svg)(?:[?#]|$)/i, nm = /\.(mp4|webm|ogg|mov|m4v)
13893
13893
  let n = this.api.i18n, r = (e = this.data.captionVisible) == null ? ((t = this.data.caption) == null ? "" : t) !== "" : e;
13894
13894
  return [
13895
13895
  {
13896
- icon: nt,
13896
+ icon: B,
13897
13897
  title: n.t("tools.file.toggleCaption"),
13898
13898
  name: "file-caption",
13899
13899
  isActive: r,
@@ -13901,7 +13901,7 @@ var tm = /\.(png|jpe?g|gif|webp|svg)(?:[?#]|$)/i, nm = /\.(mp4|webm|ogg|mov|m4v)
13901
13901
  onActivate: () => this.toggleCaption()
13902
13902
  },
13903
13903
  {
13904
- icon: Se,
13904
+ icon: Ce,
13905
13905
  title: n.t("tools.file.replace"),
13906
13906
  name: "file-replace",
13907
13907
  closeOnActivate: !0,
@@ -14169,7 +14169,7 @@ function dm(e, t) {
14169
14169
  var e;
14170
14170
  if (!t.editable) return;
14171
14171
  let n = document.createElement("button");
14172
- return n.type = "button", n.className = "blok-audio-cover__change", n.setAttribute("data-role", "audio-cover-change"), n.setAttribute("aria-label", (e = t.coverChangeLabel) == null ? "Change cover" : e), n.innerHTML = pe, i.appendChild(n), n;
14172
+ return n.type = "button", n.className = "blok-audio-cover__change", n.setAttribute("data-role", "audio-cover-change"), n.setAttribute("aria-label", (e = t.coverChangeLabel) == null ? "Change cover" : e), n.innerHTML = me, i.appendChild(n), n;
14173
14173
  })(), s = um("audio-title", e.title, t.editable, t.titlePlaceholder);
14174
14174
  s.className = "blok-audio-title";
14175
14175
  let c = um("audio-artist", e.artist, t.editable, t.artistPlaceholder);
@@ -14379,7 +14379,7 @@ function Tm({ media: e, figure: t, data: n, storage: r, onLoopChange: i }) {
14379
14379
  1,
14380
14380
  1.5,
14381
14381
  2
14382
- ], O = .25, k = .05, A = (e) => Math.min(2, Math.max(O, Math.round(e * 100) / 100)), te = (e) => `${e}×`, j = wm("audio-speed", "Playback speed", Dt || pr);
14382
+ ], O = .25, k = .05, A = (e) => Math.min(2, Math.max(O, Math.round(e * 100) / 100)), te = (e) => `${e}×`, j = wm("audio-speed", "Playback speed", Et || pr);
14383
14383
  j.setAttribute("aria-haspopup", "menu"), j.setAttribute("aria-expanded", "false");
14384
14384
  let M = document.createElement("div");
14385
14385
  M.className = "blok-audio-controls__speed-menu", M.setAttribute("role", "menu"), M.hidden = !0;
@@ -14388,7 +14388,7 @@ function Tm({ media: e, figure: t, data: n, storage: r, onLoopChange: i }) {
14388
14388
  let ne = (e, t) => {
14389
14389
  let n = document.createElement("button");
14390
14390
  return n.type = "button", n.className = "blok-audio-controls__speed-step", n.setAttribute("aria-label", t), n.innerHTML = e, n;
14391
- }, P = ne(kn, "Decrease playback speed"), re = ne(Ke, "Increase playback speed"), F = document.createElement("input");
14391
+ }, P = ne(An, "Decrease playback speed"), re = ne(Ke, "Increase playback speed"), F = document.createElement("input");
14392
14392
  F.type = "range", F.className = "blok-audio-controls__speed-slider", F.min = "0.25", F.max = "2", F.step = "0.05", F.value = String(f.selectedRate), F.setAttribute("aria-label", "Playback speed");
14393
14393
  let ie = (e) => `${(e - O) / (2 - O) * 100}%`;
14394
14394
  F.style.setProperty("--blok-audio-speed-pct", ie(f.selectedRate));
@@ -14417,7 +14417,7 @@ function Tm({ media: e, figure: t, data: n, storage: r, onLoopChange: i }) {
14417
14417
  e.stopPropagation(), M.hidden ? ce() : le();
14418
14418
  };
14419
14419
  j.addEventListener("click", de);
14420
- let R = wm("audio-loop", "Loop", Yt);
14420
+ let R = wm("audio-loop", "Loop", Jt);
14421
14421
  R.setAttribute("aria-pressed", String(a.loop));
14422
14422
  let fe = document.createElement("div");
14423
14423
  fe.className = "blok-audio-controls__volume-wrap", fe.append(v, y), u.append(d, h, fe, se, R);
@@ -14425,16 +14425,16 @@ function Tm({ media: e, figure: t, data: n, storage: r, onLoopChange: i }) {
14425
14425
  f.playing ? a.pause() : a.play();
14426
14426
  }, me = () => {
14427
14427
  a.muted = !a.muted, x(), w();
14428
- }, he = () => {
14428
+ }, z = () => {
14429
14429
  let e = Number(y.value);
14430
14430
  a.volume = e, a.muted = e === 0, x(), w();
14431
- }, ge = () => {
14431
+ }, he = () => {
14432
14432
  a.loop = !a.loop, R.setAttribute("aria-pressed", String(a.loop)), i == null || i(a.loop);
14433
- }, _e = () => m(!0), ve = () => m(!1), ye = () => {
14433
+ }, ge = () => m(!0), _e = () => m(!1), ve = () => {
14434
14434
  _(), E();
14435
- }, be = () => {
14435
+ }, ye = () => {
14436
14436
  _(), D();
14437
- }, xe = () => x(), Se = .05, Ce = (e) => {
14437
+ }, be = () => x(), xe = .05, Se = (e) => {
14438
14438
  var t, n;
14439
14439
  if (!((t = e.target) == null || (n = t.matches) == null) && n.call(t, "[contenteditable=\"true\"]") || e.metaKey || e.ctrlKey || e.altKey) return;
14440
14440
  let r = Number.isFinite(a.duration) ? a.duration : 0;
@@ -14454,18 +14454,18 @@ function Tm({ media: e, figure: t, data: n, storage: r, onLoopChange: i }) {
14454
14454
  e.preventDefault(), me();
14455
14455
  break;
14456
14456
  case "ArrowUp":
14457
- e.preventDefault(), a.volume = Math.min(1, a.volume + Se), x(), w();
14457
+ e.preventDefault(), a.volume = Math.min(1, a.volume + xe), x(), w();
14458
14458
  break;
14459
14459
  case "ArrowDown":
14460
- e.preventDefault(), a.volume = Math.max(0, a.volume - Se), x(), w();
14460
+ e.preventDefault(), a.volume = Math.max(0, a.volume - xe), x(), w();
14461
14461
  break;
14462
14462
  default: e.key.length === 1 && e.key >= "0" && e.key <= "9" && r > 0 && (e.preventDefault(), a.currentTime = r * Number(e.key) / 10);
14463
14463
  }
14464
14464
  };
14465
- return d.addEventListener("click", pe), v.addEventListener("click", me), y.addEventListener("input", he), R.addEventListener("click", ge), a.addEventListener("play", _e), a.addEventListener("pause", ve), a.addEventListener("timeupdate", ye), a.addEventListener("loadedmetadata", be), a.addEventListener("volumechange", xe), t.addEventListener("keydown", Ce), {
14465
+ return d.addEventListener("click", pe), v.addEventListener("click", me), y.addEventListener("input", z), R.addEventListener("click", he), a.addEventListener("play", ge), a.addEventListener("pause", _e), a.addEventListener("timeupdate", ve), a.addEventListener("loadedmetadata", ye), a.addEventListener("volumechange", be), t.addEventListener("keydown", Se), {
14466
14466
  element: u,
14467
14467
  destroy: () => {
14468
- p.destroy(), le(), d.removeEventListener("click", pe), v.removeEventListener("click", me), y.removeEventListener("input", he), R.removeEventListener("click", ge), j.removeEventListener("click", de), F.removeEventListener("input", I), a.removeEventListener("play", _e), a.removeEventListener("pause", ve), a.removeEventListener("timeupdate", ye), a.removeEventListener("loadedmetadata", be), a.removeEventListener("volumechange", xe), t.removeEventListener("keydown", Ce), M.remove(), u.remove();
14468
+ p.destroy(), le(), d.removeEventListener("click", pe), v.removeEventListener("click", me), y.removeEventListener("input", z), R.removeEventListener("click", he), j.removeEventListener("click", de), F.removeEventListener("input", I), a.removeEventListener("play", ge), a.removeEventListener("pause", _e), a.removeEventListener("timeupdate", ve), a.removeEventListener("loadedmetadata", ye), a.removeEventListener("volumechange", be), t.removeEventListener("keydown", Se), M.remove(), u.remove();
14469
14469
  }
14470
14470
  };
14471
14471
  }
@@ -14753,17 +14753,17 @@ var Qm = class {
14753
14753
  {
14754
14754
  value: "left",
14755
14755
  title: Z(r, "tools.audio.alignmentLeft", "Align left"),
14756
- icon: E
14756
+ icon: D
14757
14757
  },
14758
14758
  {
14759
14759
  value: "center",
14760
14760
  title: Z(r, "tools.audio.alignmentCenter", "Align center"),
14761
- icon: Te
14761
+ icon: Ee
14762
14762
  },
14763
14763
  {
14764
14764
  value: "right",
14765
14765
  title: Z(r, "tools.audio.alignmentRight", "Align right"),
14766
- icon: re
14766
+ icon: F
14767
14767
  }
14768
14768
  ];
14769
14769
  return [
@@ -14781,7 +14781,7 @@ var Qm = class {
14781
14781
  })) }
14782
14782
  },
14783
14783
  {
14784
- icon: nt,
14784
+ icon: B,
14785
14785
  title: Z(r, "tools.audio.caption", "Caption"),
14786
14786
  name: "audio-caption",
14787
14787
  isActive: a,
@@ -14789,7 +14789,7 @@ var Qm = class {
14789
14789
  onActivate: () => this.toggleCaption()
14790
14790
  },
14791
14791
  {
14792
- icon: Yt,
14792
+ icon: Jt,
14793
14793
  title: Z(r, "tools.audio.loop", "Loop"),
14794
14794
  name: "audio-loop",
14795
14795
  isActive: this.data.loop === !0,
@@ -14797,14 +14797,14 @@ var Qm = class {
14797
14797
  onActivate: () => this.toggleLoop()
14798
14798
  },
14799
14799
  {
14800
- icon: Se,
14800
+ icon: Ce,
14801
14801
  title: Z(r, "tools.audio.replace", "Replace audio"),
14802
14802
  name: "audio-replace",
14803
14803
  closeOnActivate: !0,
14804
14804
  onActivate: () => this.transitionToEmpty()
14805
14805
  },
14806
14806
  {
14807
- icon: pe,
14807
+ icon: me,
14808
14808
  title: Z(r, "tools.audio.coverSet", "Set cover image"),
14809
14809
  name: "audio-cover-set",
14810
14810
  closeOnActivate: !0,
@@ -15265,152 +15265,152 @@ function ph({ video: e, figure: t, storage: n, glow: r = "minimal", loop: i = !1
15265
15265
  n.className = "blok-video-controls__preview-source", n.setAttribute("data-role", "seek-preview-source"), n.muted = !0, n.preload = "auto", e.crossOrigin && (n.crossOrigin = e.crossOrigin), n.src = t, n.addEventListener("loadeddata", () => {
15266
15266
  R.ready = !0, R.pendingTime >= 0 && pe(R.pendingTime);
15267
15267
  }), n.addEventListener("seeked", fe), R.el = n, s.appendChild(n);
15268
- }, he = (t) => {
15268
+ }, z = (t) => {
15269
15269
  let n = _.getBoundingClientRect(), r = dh(t.clientX, n), i = uh(r, e.duration);
15270
15270
  S.textContent = ch(i), b.style.setProperty("--blok-tooltip-x", `${r * 100}%`), b.setAttribute("aria-hidden", "false"), Number.isFinite(e.duration) && e.duration > 0 && (me(), pe(i));
15271
- }, ge = () => {
15271
+ }, he = () => {
15272
15272
  b.setAttribute("aria-hidden", "true"), R.pendingTime = -1;
15273
- }, _e = () => te(!0), ve = () => te(!1), ye = () => e.muted || e.volume === 0, be = () => {
15273
+ }, ge = () => te(!0), _e = () => te(!1), ve = () => e.muted || e.volume === 0, ye = () => {
15274
15274
  w.classList.remove("is-bumped"), w.offsetWidth, w.classList.add("is-bumped");
15275
- }, xe = () => {
15276
- let t = ye();
15275
+ }, be = () => {
15276
+ let t = ve();
15277
15277
  w.setAttribute("aria-pressed", String(t)), w.innerHTML = t ? cr : g, w.setAttribute("aria-label", t ? "Unmute" : "Mute"), T.value = t ? "0" : String(e.volume), T.style.setProperty("--blok-vol-pct", `${Number(T.value) * 100}%`);
15278
- }, Se = (e) => {
15279
- let t = ye();
15280
- e(), xe(), ye() !== t && be();
15281
- }, Ce = () => w.classList.remove("is-bumped"), we = () => {
15278
+ }, xe = (e) => {
15279
+ let t = ve();
15280
+ e(), be(), ve() !== t && ye();
15281
+ }, Se = () => w.classList.remove("is-bumped"), Ce = () => {
15282
15282
  let e = document.fullscreenElement === t;
15283
- if (t.setAttribute("data-fullscreen", String(e)), E.innerHTML = e ? $t : yr, E.setAttribute("aria-label", e ? "Exit fullscreen" : "Fullscreen"), e) {
15283
+ if (t.setAttribute("data-fullscreen", String(e)), E.innerHTML = e ? Qt : yr, E.setAttribute("aria-label", e ? "Exit fullscreen" : "Fullscreen"), e) {
15284
15284
  var n, r;
15285
15285
  let e = (n = (r = t.querySelector("[data-role=\"video-caption\"]")) == null || (r = r.textContent) == null ? void 0 : r.trim()) == null ? "" : n;
15286
15286
  O.textContent = e, O.hidden = e.length === 0;
15287
15287
  } else O.hidden = !0, O.textContent = "";
15288
- }, Te = (e) => {
15288
+ }, we = (e) => {
15289
15289
  c.innerHTML = e ? _r : vt, c.classList.remove("is-active"), c.offsetWidth, c.classList.add("is-active");
15290
- }, Ee = (e) => {
15290
+ }, Te = (e) => {
15291
15291
  e.animationName && e.animationName !== "blok-video-burst" || c.classList.remove("is-active");
15292
- }, De = () => {
15292
+ }, Ee = () => {
15293
15293
  let e = !A.playing;
15294
- A.playing ? k.pause() : k.play(), Te(e);
15295
- }, Oe = {
15294
+ A.playing ? k.pause() : k.play(), we(e);
15295
+ }, De = {
15296
15296
  timer: 0,
15297
15297
  active: !1,
15298
15298
  suppressClick: !1
15299
+ }, Oe = () => {
15300
+ De.active = !0, A.playing || k.play(), k.playbackRate = 2, l.classList.add("is-active");
15299
15301
  }, ke = () => {
15300
- Oe.active = !0, A.playing || k.play(), k.playbackRate = 2, l.classList.add("is-active");
15301
- }, Ae = () => {
15302
- Oe.timer && (clearTimeout(Oe.timer), Oe.timer = 0), Oe.active && (Oe.active = !1, k.playbackRate = A.selectedRate, l.classList.remove("is-active"));
15303
- }, je = (e) => {
15302
+ De.timer && (clearTimeout(De.timer), De.timer = 0), De.active && (De.active = !1, k.playbackRate = A.selectedRate, l.classList.remove("is-active"));
15303
+ }, Ae = (e) => {
15304
15304
  if (!e.button) {
15305
- if (!z.hidden) {
15306
- Oe.suppressClick = !0;
15305
+ if (!B.hidden) {
15306
+ De.suppressClick = !0;
15307
15307
  return;
15308
15308
  }
15309
- Oe.timer = window.setTimeout(ke, 220);
15309
+ De.timer = window.setTimeout(Oe, 220);
15310
15310
  }
15311
+ }, je = () => {
15312
+ De.active && (De.suppressClick = !0), ke();
15311
15313
  }, Me = () => {
15312
- Oe.active && (Oe.suppressClick = !0), Ae();
15313
- }, Ne = () => {
15314
- if (Oe.suppressClick) {
15315
- Oe.suppressClick = !1;
15314
+ if (De.suppressClick) {
15315
+ De.suppressClick = !1;
15316
15316
  return;
15317
15317
  }
15318
- De();
15319
- }, Pe = () => {
15318
+ Ee();
15319
+ }, Ne = () => {
15320
15320
  k.currentTime = Number(_.value), F();
15321
- }, Fe = .05, Ie = 1 / 30, Le = .25, Re = .25, ze = (e, t = 5) => {
15322
- let n = e === "forward" ? yn : Pn, r = `<span class="blok-video-controls__seek-flash-label">${t}s</span>`;
15321
+ }, Pe = .05, Fe = 1 / 30, Ie = .25, Le = .25, Re = (e, t = 5) => {
15322
+ let n = e === "forward" ? yn : Fn, r = `<span class="blok-video-controls__seek-flash-label">${t}s</span>`;
15323
15323
  u.setAttribute("data-side", e), u.innerHTML = e === "forward" ? `${r}${n}` : `${n}${r}`, u.classList.remove("is-active"), u.offsetWidth, u.classList.add("is-active");
15324
- }, Ve = (e) => {
15324
+ }, ze = (e) => {
15325
15325
  e.animationName && !e.animationName.startsWith("blok-video-seek-flash-") || u.classList.remove("is-active");
15326
- }, He = (e) => {
15326
+ }, Be = (e) => {
15327
15327
  let t = Number.isFinite(k.duration) ? k.duration : 0, n = Math.min(t || Infinity, Math.max(0, e));
15328
15328
  k.currentTime = n, _.value = String(n), F(), j();
15329
+ }, He = (e) => {
15330
+ Be(k.currentTime + e), Re(e < 0 ? "back" : "forward", Math.abs(e));
15329
15331
  }, Ue = (e) => {
15330
- He(k.currentTime + e), ze(e < 0 ? "back" : "forward", Math.abs(e));
15331
- }, We = (e) => {
15332
- Se(() => {
15332
+ xe(() => {
15333
15333
  let t = Math.min(1, Math.max(0, k.volume + e));
15334
15334
  k.volume = t, k.muted = t === 0, T.value = String(t);
15335
15335
  });
15336
+ }, We = (e) => {
15337
+ k.playbackRate = Math.min(2, Math.max(Le, k.playbackRate + e));
15336
15338
  }, qe = (e) => {
15337
- k.playbackRate = Math.min(2, Math.max(Re, k.playbackRate + e));
15338
- }, Je = (e) => {
15339
15339
  if (e.metaKey || e.ctrlKey || e.altKey) return;
15340
15340
  let t = Number.isFinite(k.duration) ? k.duration : 0;
15341
15341
  switch (e.key) {
15342
15342
  case "ArrowRight":
15343
- e.preventDefault(), Ue(5);
15343
+ e.preventDefault(), He(5);
15344
15344
  break;
15345
15345
  case "ArrowLeft":
15346
- e.preventDefault(), Ue(-5);
15346
+ e.preventDefault(), He(-5);
15347
15347
  break;
15348
15348
  case "l":
15349
- e.preventDefault(), Ue(10);
15349
+ e.preventDefault(), He(10);
15350
15350
  break;
15351
15351
  case "j":
15352
- e.preventDefault(), Ue(-10);
15352
+ e.preventDefault(), He(-10);
15353
15353
  break;
15354
15354
  case " ":
15355
15355
  case "Spacebar":
15356
15356
  case "k":
15357
- e.preventDefault(), De();
15357
+ e.preventDefault(), Ee();
15358
15358
  break;
15359
15359
  case "m":
15360
- e.preventDefault(), Ye();
15360
+ e.preventDefault(), Je();
15361
15361
  break;
15362
15362
  case "f":
15363
- e.preventDefault(), Ze();
15363
+ e.preventDefault(), Xe();
15364
15364
  break;
15365
15365
  case "c":
15366
15366
  e.preventDefault();
15367
15367
  break;
15368
15368
  case "ArrowUp":
15369
- e.preventDefault(), We(Fe);
15369
+ e.preventDefault(), Ue(Pe);
15370
15370
  break;
15371
15371
  case "ArrowDown":
15372
- e.preventDefault(), We(-Fe);
15372
+ e.preventDefault(), Ue(-Pe);
15373
15373
  break;
15374
15374
  case "Home":
15375
- e.preventDefault(), He(0);
15375
+ e.preventDefault(), Be(0);
15376
15376
  break;
15377
15377
  case "End":
15378
- e.preventDefault(), He(t || k.currentTime);
15378
+ e.preventDefault(), Be(t || k.currentTime);
15379
15379
  break;
15380
15380
  case ".":
15381
- e.preventDefault(), A.playing || He(k.currentTime + Ie);
15381
+ e.preventDefault(), A.playing || Be(k.currentTime + Fe);
15382
15382
  break;
15383
15383
  case ",":
15384
- e.preventDefault(), A.playing || He(k.currentTime - Ie);
15384
+ e.preventDefault(), A.playing || Be(k.currentTime - Fe);
15385
15385
  break;
15386
15386
  case ">":
15387
- e.preventDefault(), qe(Le);
15387
+ e.preventDefault(), We(Ie);
15388
15388
  break;
15389
15389
  case "<":
15390
- e.preventDefault(), qe(-Le);
15390
+ e.preventDefault(), We(-Ie);
15391
15391
  break;
15392
- default: e.key.length === 1 && e.key >= "0" && e.key <= "9" && t > 0 && (e.preventDefault(), He(t * Number(e.key) / 10));
15392
+ default: e.key.length === 1 && e.key >= "0" && e.key <= "9" && t > 0 && (e.preventDefault(), Be(t * Number(e.key) / 10));
15393
15393
  }
15394
- }, Ye = () => {
15395
- Se(() => {
15394
+ }, Je = () => {
15395
+ xe(() => {
15396
15396
  k.muted = !k.muted;
15397
15397
  });
15398
- }, Xe = () => {
15399
- Se(() => {
15398
+ }, Ye = () => {
15399
+ xe(() => {
15400
15400
  let e = Number(T.value);
15401
15401
  k.volume = e, k.muted = e === 0;
15402
15402
  });
15403
- }, Ze = () => {
15403
+ }, Xe = () => {
15404
15404
  var e, n, r;
15405
15405
  document.fullscreenElement === t ? (e = (n = document).exitFullscreen) == null || e.call(n) : (r = t.requestFullscreen) == null || r.call(t);
15406
- }, Qe = (e) => `${e}×`, $e = !!(!((a = (o = window).matchMedia) == null || (a = a.call(o, "(prefers-reduced-motion: reduce)")) == null) && a.matches), et = (e) => {
15406
+ }, Ze = (e) => `${e}×`, Qe = !!(!((a = (o = window).matchMedia) == null || (a = a.call(o, "(prefers-reduced-motion: reduce)")) == null) && a.matches), $e = (e) => {
15407
15407
  let t = document.createElement("span");
15408
15408
  return t.className = "blok-video-controls__menu-icon", t.setAttribute("aria-hidden", "true"), t.innerHTML = e, t;
15409
- }, tt = (e, t, n, r) => {
15409
+ }, et = (e, t, n, r) => {
15410
15410
  let i = document.createElement("button");
15411
15411
  i.type = "button", i.className = "blok-video-controls__menu-row", i.setAttribute("data-action", e), i.setAttribute("role", "menuitem"), i.setAttribute("aria-haspopup", "menu");
15412
15412
  let a = [];
15413
- r && a.push(et(r));
15413
+ r && a.push($e(r));
15414
15414
  let o = document.createElement("span");
15415
15415
  o.className = "blok-video-controls__menu-label", o.textContent = t;
15416
15416
  let s = document.createElement("span");
@@ -15420,133 +15420,133 @@ function ph({ video: e, figure: t, storage: n, glow: r = "minimal", loop: i = !1
15420
15420
  row: i,
15421
15421
  value: s
15422
15422
  };
15423
- }, nt = fh("gear", "Settings", Dt);
15424
- nt.setAttribute("aria-haspopup", "menu"), nt.setAttribute("aria-expanded", "false");
15425
- let z = document.createElement("div");
15426
- z.className = "blok-video-controls__menu", z.setAttribute("data-role", "playback-menu"), z.setAttribute("role", "menu"), z.setAttribute("data-view", "main"), z.hidden = !0, z.addEventListener("scroll", () => {
15427
- z.scrollLeft && (z.scrollLeft = 0), z.scrollTop && (z.scrollTop = 0);
15423
+ }, tt = fh("gear", "Settings", Et);
15424
+ tt.setAttribute("aria-haspopup", "menu"), tt.setAttribute("aria-expanded", "false");
15425
+ let B = document.createElement("div");
15426
+ B.className = "blok-video-controls__menu", B.setAttribute("data-role", "playback-menu"), B.setAttribute("role", "menu"), B.setAttribute("data-view", "main"), B.hidden = !0, B.addEventListener("scroll", () => {
15427
+ B.scrollLeft && (B.scrollLeft = 0), B.scrollTop && (B.scrollTop = 0);
15428
15428
  });
15429
+ let nt = document.createElement("div");
15430
+ nt.className = "blok-video-controls__menu-track";
15429
15431
  let rt = document.createElement("div");
15430
- rt.className = "blok-video-controls__menu-track";
15432
+ rt.className = "blok-video-controls__menu-pane", rt.setAttribute("data-role", "menu-main");
15431
15433
  let it = document.createElement("div");
15432
- it.className = "blok-video-controls__menu-pane", it.setAttribute("data-role", "menu-main");
15434
+ it.className = "blok-video-controls__menu-pane", it.setAttribute("data-role", "menu-speed");
15433
15435
  let ot = document.createElement("div");
15434
- ot.className = "blok-video-controls__menu-pane", ot.setAttribute("data-role", "menu-speed");
15435
- let st = document.createElement("div");
15436
- st.className = "blok-video-controls__menu-wrap", st.append(nt);
15437
- let ct = (e) => {
15438
- z.setAttribute("data-view", e);
15439
- let t = e === "speed" ? ot : it;
15440
- if (it.toggleAttribute("inert", e !== "main"), ot.toggleAttribute("inert", e !== "speed"), !z.hidden) {
15441
- let e = (e) => parseFloat(e) || 0, n = getComputedStyle(z), r = e(n.paddingTop) + e(n.paddingBottom) + e(n.borderTopWidth) + e(n.borderBottomWidth);
15442
- z.style.height = `${t.scrollHeight + r}px`;
15443
- }
15444
- }, { row: lt, value: dt } = tt("open-speed", "Playback speed", "menu-value-speed", pr);
15445
- dt.textContent = Qe(A.selectedRate), lt.addEventListener("click", () => ct("speed"));
15446
- let ft = document.createElement("button");
15447
- ft.type = "button", ft.className = "blok-video-controls__menu-row", ft.setAttribute("data-action", "loop"), ft.setAttribute("role", "menuitemcheckbox"), ft.setAttribute("aria-checked", String(i));
15436
+ ot.className = "blok-video-controls__menu-wrap", ot.append(tt);
15437
+ let st = (e) => {
15438
+ B.setAttribute("data-view", e);
15439
+ let t = e === "speed" ? it : rt;
15440
+ if (rt.toggleAttribute("inert", e !== "main"), it.toggleAttribute("inert", e !== "speed"), !B.hidden) {
15441
+ let e = (e) => parseFloat(e) || 0, n = getComputedStyle(B), r = e(n.paddingTop) + e(n.paddingBottom) + e(n.borderTopWidth) + e(n.borderBottomWidth);
15442
+ B.style.height = `${t.scrollHeight + r}px`;
15443
+ }
15444
+ }, { row: ct, value: ut } = et("open-speed", "Playback speed", "menu-value-speed", pr);
15445
+ ut.textContent = Ze(A.selectedRate), ct.addEventListener("click", () => st("speed"));
15446
+ let dt = document.createElement("button");
15447
+ dt.type = "button", dt.className = "blok-video-controls__menu-row", dt.setAttribute("data-action", "loop"), dt.setAttribute("role", "menuitemcheckbox"), dt.setAttribute("aria-checked", String(i));
15448
+ let ft = document.createElement("span");
15449
+ ft.className = "blok-video-controls__menu-label", ft.textContent = "Loop";
15448
15450
  let pt = document.createElement("span");
15449
- pt.className = "blok-video-controls__menu-label", pt.textContent = "Loop";
15451
+ pt.className = "blok-video-controls__menu-value", pt.setAttribute("data-role", "menu-value-loop"), pt.textContent = i ? "On" : "Off";
15450
15452
  let mt = document.createElement("span");
15451
- mt.className = "blok-video-controls__menu-value", mt.setAttribute("data-role", "menu-value-loop"), mt.textContent = i ? "On" : "Off";
15452
- let ht = document.createElement("span");
15453
- ht.className = "blok-video-controls__menu-chevron", ht.setAttribute("aria-hidden", "true"), ft.append(et(Yt), pt, mt, ht), ft.addEventListener("click", () => {
15454
- k.loop = !k.loop, ft.setAttribute("aria-checked", String(k.loop)), mt.textContent = k.loop ? "On" : "Off";
15455
- }), it.append(lt, ft);
15456
- let gt = .05, _t = [
15453
+ mt.className = "blok-video-controls__menu-chevron", mt.setAttribute("aria-hidden", "true"), dt.append($e(Jt), ft, pt, mt), dt.addEventListener("click", () => {
15454
+ k.loop = !k.loop, dt.setAttribute("aria-checked", String(k.loop)), pt.textContent = k.loop ? "On" : "Off";
15455
+ }), rt.append(ct, dt);
15456
+ let ht = .05, gt = [
15457
15457
  .5,
15458
15458
  1,
15459
15459
  1.5,
15460
15460
  2
15461
- ], yt = (e) => Math.min(2, Math.max(Re, Math.round(e * 100) / 100));
15462
- ot.setAttribute("role", "group"), ot.setAttribute("aria-label", "Playback speed");
15463
- let bt = document.createElement("button");
15464
- bt.type = "button", bt.className = "blok-video-controls__menu-row blok-video-controls__menu-back", bt.setAttribute("data-action", "speed-back"), bt.setAttribute("aria-label", "Back");
15461
+ ], _t = (e) => Math.min(2, Math.max(Le, Math.round(e * 100) / 100));
15462
+ it.setAttribute("role", "group"), it.setAttribute("aria-label", "Playback speed");
15463
+ let yt = document.createElement("button");
15464
+ yt.type = "button", yt.className = "blok-video-controls__menu-row blok-video-controls__menu-back", yt.setAttribute("data-action", "speed-back"), yt.setAttribute("aria-label", "Back");
15465
+ let bt = document.createElement("span");
15466
+ bt.className = "blok-video-controls__menu-chevron", bt.setAttribute("aria-hidden", "true"), bt.innerHTML = lt;
15465
15467
  let xt = document.createElement("span");
15466
- xt.className = "blok-video-controls__menu-chevron", xt.setAttribute("aria-hidden", "true"), xt.innerHTML = ut;
15467
- let St = document.createElement("span");
15468
- St.className = "blok-video-controls__menu-label", St.textContent = "Playback speed", bt.append(xt, St), bt.addEventListener("click", () => ct("main"));
15469
- let Ct = document.createElement("div");
15470
- Ct.className = "blok-video-controls__speed-readout", Ct.setAttribute("data-role", "speed-readout"), Ct.setAttribute("aria-hidden", "true"), Ct.textContent = Qe(A.selectedRate);
15471
- let wt = (e, t, n) => {
15468
+ xt.className = "blok-video-controls__menu-label", xt.textContent = "Playback speed", yt.append(bt, xt), yt.addEventListener("click", () => st("main"));
15469
+ let St = document.createElement("div");
15470
+ St.className = "blok-video-controls__speed-readout", St.setAttribute("data-role", "speed-readout"), St.setAttribute("aria-hidden", "true"), St.textContent = Ze(A.selectedRate);
15471
+ let Ct = (e, t, n) => {
15472
15472
  let r = document.createElement("button");
15473
15473
  return r.type = "button", r.className = "blok-video-controls__speed-step", r.setAttribute("data-action", e), r.setAttribute("aria-label", n), r.innerHTML = t, r;
15474
- }, Tt = wt("speed-dec", kn, "Decrease playback speed"), Et = wt("speed-inc", Ke, "Increase playback speed"), B = document.createElement("input");
15475
- B.type = "range", B.className = "blok-video-controls__speed-slider", B.setAttribute("data-role", "speed-slider"), B.min = "0.25", B.max = "2", B.step = "0.05", B.value = String(A.selectedRate), B.setAttribute("aria-label", "Playback speed"), B.setAttribute("aria-valuetext", Qe(A.selectedRate)), B.addEventListener("input", () => Nt(Number(B.value)));
15476
- let Ot = (e) => `${(e - Re) / (2 - Re) * 100}%`;
15477
- B.style.setProperty("--blok-speed-pct", Ot(A.selectedRate));
15478
- let kt = document.createElement("div");
15479
- kt.className = "blok-video-controls__speed-slider-row", kt.append(Tt, B, Et);
15480
- let At = _t.map((e) => {
15474
+ }, wt = Ct("speed-dec", An, "Decrease playback speed"), Tt = Ct("speed-inc", Ke, "Increase playback speed"), V = document.createElement("input");
15475
+ V.type = "range", V.className = "blok-video-controls__speed-slider", V.setAttribute("data-role", "speed-slider"), V.min = "0.25", V.max = "2", V.step = "0.05", V.value = String(A.selectedRate), V.setAttribute("aria-label", "Playback speed"), V.setAttribute("aria-valuetext", Ze(A.selectedRate)), V.addEventListener("input", () => Mt(Number(V.value)));
15476
+ let Dt = (e) => `${(e - Le) / (2 - Le) * 100}%`;
15477
+ V.style.setProperty("--blok-speed-pct", Dt(A.selectedRate));
15478
+ let Ot = document.createElement("div");
15479
+ Ot.className = "blok-video-controls__speed-slider-row", Ot.append(wt, V, Tt);
15480
+ let kt = gt.map((e) => {
15481
15481
  let t = document.createElement("button");
15482
15482
  return t.type = "button", t.className = "blok-video-controls__speed-chip", t.setAttribute("data-action", `speed-${e}`), t.textContent = `${e}×`, t.addEventListener("click", () => {
15483
15483
  let t = A.selectedRate;
15484
- Nt(e), Pt(t, e);
15484
+ Mt(e), Nt(t, e);
15485
15485
  }), t;
15486
- }), jt = document.createElement("div");
15487
- jt.className = "blok-video-controls__speed-chips", jt.setAttribute("aria-label", "Speed presets"), jt.append(...At), ot.append(bt, Ct, kt, jt);
15488
- let Mt = { raf: 0 }, Nt = (e) => {
15489
- cancelAnimationFrame(Mt.raf);
15490
- let t = yt(e);
15486
+ }), At = document.createElement("div");
15487
+ At.className = "blok-video-controls__speed-chips", At.setAttribute("aria-label", "Speed presets"), At.append(...kt), it.append(yt, St, Ot, At);
15488
+ let jt = { raf: 0 }, Mt = (e) => {
15489
+ cancelAnimationFrame(jt.raf);
15490
+ let t = _t(e);
15491
15491
  A.selectedRate = t, k.playbackRate = t;
15492
- let n = Qe(t);
15493
- Ct.textContent = n, dt.textContent = n, B.value = String(t), B.setAttribute("aria-valuetext", n), B.style.setProperty("--blok-speed-pct", Ot(t)), Tt.disabled = t <= Re, Et.disabled = t >= 2;
15494
- }, Pt = (e, t) => {
15495
- if (cancelAnimationFrame(Mt.raf), $e || e === t) return;
15492
+ let n = Ze(t);
15493
+ St.textContent = n, ut.textContent = n, V.value = String(t), V.setAttribute("aria-valuetext", n), V.style.setProperty("--blok-speed-pct", Dt(t)), wt.disabled = t <= Le, Tt.disabled = t >= 2;
15494
+ }, Nt = (e, t) => {
15495
+ if (cancelAnimationFrame(jt.raf), Qe || e === t) return;
15496
15496
  let n = performance.now(), r = (e) => {
15497
- B.value = String(e), B.style.setProperty("--blok-speed-pct", Ot(e));
15497
+ V.value = String(e), V.style.setProperty("--blok-speed-pct", Dt(e));
15498
15498
  };
15499
15499
  r(e);
15500
15500
  let i = (a) => {
15501
15501
  let o = Math.min(1, (a - n) / 240), s = 1 - (1 - o) ** 3;
15502
15502
  if (r(e + (t - e) * s), o < 1) {
15503
- Mt.raf = requestAnimationFrame(i);
15503
+ jt.raf = requestAnimationFrame(i);
15504
15504
  return;
15505
15505
  }
15506
- Mt.raf = 0, r(t);
15506
+ jt.raf = 0, r(t);
15507
15507
  };
15508
- Mt.raf = requestAnimationFrame(i);
15508
+ jt.raf = requestAnimationFrame(i);
15509
15509
  };
15510
- Tt.addEventListener("click", () => Nt(A.selectedRate - gt)), Et.addEventListener("click", () => Nt(A.selectedRate + gt)), Tt.disabled = A.selectedRate <= Re, Et.disabled = A.selectedRate >= 2, rt.append(it, ot), z.append(rt), p.insertBefore(st, E), t.appendChild(z);
15511
- let Ft = () => {
15512
- let e = nt.getBoundingClientRect(), n = t.getBoundingClientRect();
15513
- z.style.right = `${n.right - e.right}px`, z.style.bottom = `${n.bottom - e.top + 8}px`;
15514
- }, It = (e) => {
15515
- if (z.hidden) return;
15510
+ wt.addEventListener("click", () => Mt(A.selectedRate - ht)), Tt.addEventListener("click", () => Mt(A.selectedRate + ht)), wt.disabled = A.selectedRate <= Le, Tt.disabled = A.selectedRate >= 2, nt.append(rt, it), B.append(nt), p.insertBefore(ot, E), t.appendChild(B);
15511
+ let Pt = () => {
15512
+ let e = tt.getBoundingClientRect(), n = t.getBoundingClientRect();
15513
+ B.style.right = `${n.right - e.right}px`, B.style.bottom = `${n.bottom - e.top + 8}px`;
15514
+ }, Ft = (e) => {
15515
+ if (B.hidden) return;
15516
15516
  let t = e.target;
15517
- t && (st.contains(t) || z.contains(t)) || Rt();
15517
+ t && (ot.contains(t) || B.contains(t)) || Lt();
15518
+ }, It = () => {
15519
+ B.hidden && (B.hidden = !1, B.style.transition = "none", nt.style.transition = "none", st("main"), B.offsetHeight, B.style.transition = "", nt.style.transition = "", Pt(), tt.setAttribute("aria-expanded", "true"), document.addEventListener("mousedown", Ft), window.addEventListener("resize", Pt));
15518
15520
  }, Lt = () => {
15519
- z.hidden && (z.hidden = !1, z.style.transition = "none", rt.style.transition = "none", ct("main"), z.offsetHeight, z.style.transition = "", rt.style.transition = "", Ft(), nt.setAttribute("aria-expanded", "true"), document.addEventListener("mousedown", It), window.addEventListener("resize", Ft));
15520
- }, Rt = () => {
15521
- z.hidden || (z.hidden = !0, nt.setAttribute("aria-expanded", "false"), document.removeEventListener("mousedown", It), window.removeEventListener("resize", Ft));
15521
+ B.hidden || (B.hidden = !0, tt.setAttribute("aria-expanded", "false"), document.removeEventListener("mousedown", Ft), window.removeEventListener("resize", Pt));
15522
15522
  };
15523
- nt.addEventListener("click", (e) => {
15524
- e.stopPropagation(), z.hidden ? Lt() : Rt();
15523
+ tt.addEventListener("click", (e) => {
15524
+ e.stopPropagation(), B.hidden ? It() : Lt();
15525
15525
  });
15526
- let zt = document.createElement("canvas");
15527
- zt.className = "blok-video-controls__ambient", zt.setAttribute("data-role", "video-ambient"), zt.setAttribute("aria-hidden", "true"), t.insertBefore(zt, t.firstChild), zt.setAttribute("data-ambient", $e ? "off" : "on"), zt.setAttribute("data-glow", r), zt.setAttribute("data-active", "false");
15528
- let Bt = { raf: 0 }, Vt = () => {
15529
- let t = zt.getContext("2d");
15530
- t && e.videoWidth && (zt.width = 32, zt.height = 18, t.drawImage(e, 0, 0, 32, 18)), Bt.raf = requestAnimationFrame(Vt);
15526
+ let Rt = document.createElement("canvas");
15527
+ Rt.className = "blok-video-controls__ambient", Rt.setAttribute("data-role", "video-ambient"), Rt.setAttribute("aria-hidden", "true"), t.insertBefore(Rt, t.firstChild), Rt.setAttribute("data-ambient", Qe ? "off" : "on"), Rt.setAttribute("data-glow", r), Rt.setAttribute("data-active", "false");
15528
+ let zt = { raf: 0 }, Bt = () => {
15529
+ let t = Rt.getContext("2d");
15530
+ t && e.videoWidth && (Rt.width = 32, Rt.height = 18, t.drawImage(e, 0, 0, 32, 18)), zt.raf = requestAnimationFrame(Bt);
15531
+ }, Vt = () => {
15532
+ Qe || r === "none" || (Rt.setAttribute("data-active", "true"), !zt.raf && (zt.raf = requestAnimationFrame(Bt)));
15531
15533
  }, Ht = () => {
15532
- $e || r === "none" || (zt.setAttribute("data-active", "true"), !Bt.raf && (Bt.raf = requestAnimationFrame(Vt)));
15533
- }, Ut = () => {
15534
- zt.setAttribute("data-active", "false"), Bt.raf && (cancelAnimationFrame(Bt.raf), Bt.raf = 0);
15535
- }, Wt = Ge(), Gt = fh("theater", "Theater mode", Be);
15536
- Gt.setAttribute("aria-pressed", "false");
15537
- let Kt = {
15534
+ Rt.setAttribute("data-active", "false"), zt.raf && (cancelAnimationFrame(zt.raf), zt.raf = 0);
15535
+ }, Ut = Ge(), Wt = fh("theater", "Theater mode", Ve);
15536
+ Wt.setAttribute("aria-pressed", "false");
15537
+ let Gt = {
15538
15538
  on: !1,
15539
15539
  inlineRect: null
15540
+ }, Kt = (e) => {
15541
+ e.key === "Escape" && (e.preventDefault(), e.stopImmediatePropagation(), requestAnimationFrame(() => rn(!1)));
15540
15542
  }, qt = (e) => {
15541
- e.key === "Escape" && (e.preventDefault(), e.stopImmediatePropagation(), requestAnimationFrame(() => an(!1)));
15542
- }, Jt = (e) => {
15543
15543
  let n = e.target;
15544
- n && !t.contains(n) && an(!1);
15545
- }, Xt = typeof t.animate == "function", Zt = { anim: null }, Qt = () => {
15546
- Zt.anim && (Zt.anim.cancel(), Zt.anim = null);
15547
- }, en = (e, t) => `translate(${t.left - e.left}px, ${t.top - e.top}px) scale(${t.width / e.width}, ${t.height / e.height})`, tn = (e, n, r) => {
15544
+ n && !t.contains(n) && rn(!1);
15545
+ }, Yt = typeof t.animate == "function", Xt = { anim: null }, Zt = () => {
15546
+ Xt.anim && (Xt.anim.cancel(), Xt.anim = null);
15547
+ }, $t = (e, t) => `translate(${t.left - e.left}px, ${t.top - e.top}px) scale(${t.width / e.width}, ${t.height / e.height})`, en = (e, n, r) => {
15548
15548
  var i;
15549
- Qt();
15549
+ Zt();
15550
15550
  let a = t.animate([{
15551
15551
  transformOrigin: "top left",
15552
15552
  transform: e
@@ -15558,32 +15558,32 @@ function ph({ video: e, figure: t, storage: n, glow: r = "minimal", loop: i = !1
15558
15558
  easing: r.easing,
15559
15559
  fill: (i = r.fill) == null ? "none" : i
15560
15560
  });
15561
- Zt.anim = a, a.onfinish = () => {
15561
+ Xt.anim = a, a.onfinish = () => {
15562
15562
  var e;
15563
- Zt.anim === a && (Zt.anim = null), (e = r.done) == null || e.call(r), a.cancel();
15563
+ Xt.anim === a && (Xt.anim = null), (e = r.done) == null || e.call(r), a.cancel();
15564
15564
  };
15565
- }, nn = () => {
15565
+ }, tn = () => {
15566
15566
  let n = e.getBoundingClientRect();
15567
- Kt.inlineRect = n;
15567
+ Gt.inlineRect = n;
15568
15568
  let r = t.parentElement;
15569
- if (r && (r.style.minHeight = `${t.getBoundingClientRect().height}px`), t.setAttribute("data-theater", "true"), !Wt) return;
15569
+ if (r && (r.style.minHeight = `${t.getBoundingClientRect().height}px`), t.setAttribute("data-theater", "true"), !Ut) return;
15570
15570
  if (!t.matches(":popover-open") && !h(t)) {
15571
15571
  sr(t);
15572
15572
  return;
15573
15573
  }
15574
- if ($e || !Xt) return;
15574
+ if (Qe || !Yt) return;
15575
15575
  let i = e.getBoundingClientRect();
15576
- !n.width || !i.width || tn(en(i, n), "translate(0px, 0px) scale(1, 1)", {
15576
+ !n.width || !i.width || en($t(i, n), "translate(0px, 0px) scale(1, 1)", {
15577
15577
  duration: 480,
15578
15578
  easing: "cubic-bezier(0.33, 1, 0.68, 1)"
15579
15579
  });
15580
- }, rn = () => {
15580
+ }, nn = () => {
15581
15581
  let n = () => {
15582
- Qt(), sr(t), t.setAttribute("data-theater", "false"), t.removeAttribute("data-theater-leaving");
15582
+ Zt(), sr(t), t.setAttribute("data-theater", "false"), t.removeAttribute("data-theater-leaving");
15583
15583
  let e = t.parentElement;
15584
15584
  e && (e.style.minHeight = "");
15585
- }, r = Kt.inlineRect;
15586
- if (!Wt || $e || !Xt || !r || !t.matches(":popover-open")) {
15585
+ }, r = Gt.inlineRect;
15586
+ if (!Ut || Qe || !Yt || !r || !t.matches(":popover-open")) {
15587
15587
  n();
15588
15588
  return;
15589
15589
  }
@@ -15592,21 +15592,21 @@ function ph({ video: e, figure: t, storage: n, glow: r = "minimal", loop: i = !1
15592
15592
  n();
15593
15593
  return;
15594
15594
  }
15595
- t.setAttribute("data-theater-leaving", "true"), tn("translate(0px, 0px) scale(1, 1)", en(i, r), {
15595
+ t.setAttribute("data-theater-leaving", "true"), en("translate(0px, 0px) scale(1, 1)", $t(i, r), {
15596
15596
  duration: 360,
15597
15597
  easing: "cubic-bezier(0.33, 1, 0.68, 1)",
15598
15598
  fill: "forwards",
15599
15599
  done: n
15600
15600
  });
15601
- }, an = (e) => {
15602
- e !== Kt.on && (Kt.on = e, Gt.setAttribute("aria-pressed", String(e)), Gt.setAttribute("aria-label", e ? "Exit theater mode" : "Theater mode"), e ? (nn(), window.addEventListener("keydown", qt, !0), document.addEventListener("pointerdown", Jt)) : (window.removeEventListener("keydown", qt, !0), document.removeEventListener("pointerdown", Jt), rn()), t.dispatchEvent(new CustomEvent("blok-video-theater", { detail: { on: e } })));
15601
+ }, rn = (e) => {
15602
+ e !== Gt.on && (Gt.on = e, Wt.setAttribute("aria-pressed", String(e)), Wt.setAttribute("aria-label", e ? "Exit theater mode" : "Theater mode"), e ? (tn(), window.addEventListener("keydown", Kt, !0), document.addEventListener("pointerdown", qt)) : (window.removeEventListener("keydown", Kt, !0), document.removeEventListener("pointerdown", qt), nn()), t.dispatchEvent(new CustomEvent("blok-video-theater", { detail: { on: e } })));
15603
15603
  };
15604
- Gt.addEventListener("click", () => an(!Kt.on)), p.insertBefore(Gt, E);
15605
- let on = document.pictureInPictureEnabled ? fh("picture-in-picture", "Picture-in-Picture", ir) : null, sn = () => on == null ? void 0 : on.setAttribute("aria-pressed", "true"), V = () => on == null ? void 0 : on.setAttribute("aria-pressed", "false");
15606
- on && (on.setAttribute("aria-pressed", "false"), on.addEventListener("click", () => {
15604
+ Wt.addEventListener("click", () => rn(!Gt.on)), p.insertBefore(Wt, E);
15605
+ let an = document.pictureInPictureEnabled ? fh("picture-in-picture", "Picture-in-Picture", ir) : null, on = () => an == null ? void 0 : an.setAttribute("aria-pressed", "true"), sn = () => an == null ? void 0 : an.setAttribute("aria-pressed", "false");
15606
+ an && (an.setAttribute("aria-pressed", "false"), an.addEventListener("click", () => {
15607
15607
  var t, n, r;
15608
15608
  document.pictureInPictureElement === e ? (t = (n = document).exitPictureInPicture) == null || t.call(n) : (r = e.requestPictureInPicture) == null || r.call(e);
15609
- }), p.insertBefore(on, E), e.addEventListener("enterpictureinpicture", sn), e.addEventListener("leavepictureinpicture", V)), t.setAttribute("data-controls-hidden", "false");
15609
+ }), p.insertBefore(an, E), e.addEventListener("enterpictureinpicture", on), e.addEventListener("leavepictureinpicture", sn)), t.setAttribute("data-controls-hidden", "false");
15610
15610
  let cn = () => {
15611
15611
  A.playing && t.isConnected && t.setAttribute("data-controls-hidden", "true");
15612
15612
  }, ln = () => {
@@ -15653,7 +15653,7 @@ function ph({ video: e, figure: t, storage: n, glow: r = "minimal", loop: i = !1
15653
15653
  }), hn.addEventListener("click", () => {
15654
15654
  bn(), wn();
15655
15655
  }), e.addEventListener("contextmenu", Tn);
15656
- let En = n == null ? typeof localStorage < "u" ? localStorage : null : n, Dn = "blok:video:volume", On = () => e.currentSrc ? `blok:video:pos:${e.currentSrc}` : null, An = (e) => {
15656
+ let En = n == null ? typeof localStorage < "u" ? localStorage : null : n, Dn = "blok:video:volume", On = () => e.currentSrc ? `blok:video:pos:${e.currentSrc}` : null, kn = (e) => {
15657
15657
  try {
15658
15658
  var t;
15659
15659
  return (t = En == null ? void 0 : En.getItem(e)) == null ? null : t;
@@ -15670,33 +15670,33 @@ function ph({ video: e, figure: t, storage: n, glow: r = "minimal", loop: i = !1
15670
15670
  })), Nn = () => {
15671
15671
  let e = On();
15672
15672
  e && jn(e, String(k.currentTime));
15673
- }, Fn = (e) => {
15673
+ }, Pn = (e) => {
15674
15674
  let t = JSON.parse(e);
15675
- typeof t.volume == "number" && (k.volume = t.volume, T.value = String(t.volume)), typeof t.muted == "boolean" && (k.muted = t.muted), xe();
15675
+ typeof t.volume == "number" && (k.volume = t.volume, T.value = String(t.volume)), typeof t.muted == "boolean" && (k.muted = t.muted), be();
15676
15676
  }, In = () => {
15677
- let e = An(Dn);
15677
+ let e = kn(Dn);
15678
15678
  if (e) try {
15679
- Fn(e);
15679
+ Pn(e);
15680
15680
  } catch (e) {}
15681
- let t = On(), n = t ? An(t) : null;
15681
+ let t = On(), n = t ? kn(t) : null;
15682
15682
  if (n !== null) {
15683
15683
  let e = Number(n), t = Number.isFinite(k.duration) ? k.duration : 0;
15684
15684
  Number.isFinite(e) && e > 0 && (t === 0 || e < t - 5) && (k.currentTime = e);
15685
15685
  }
15686
15686
  };
15687
- return m.addEventListener("click", De), d.addEventListener("click", () => {
15687
+ return m.addEventListener("click", Ee), d.addEventListener("click", () => {
15688
15688
  k.play();
15689
15689
  }), C.addEventListener("click", (e) => {
15690
15690
  e.stopPropagation(), M();
15691
15691
  }), C.addEventListener("keydown", (e) => {
15692
15692
  (e.key === "Enter" || e.key === " ") && (e.preventDefault(), e.stopPropagation(), M());
15693
- }), e.addEventListener("click", Ne), e.addEventListener("pointerdown", je), e.addEventListener("pointerup", Me), e.addEventListener("pointerleave", Ae), e.addEventListener("pointercancel", Ae), e.addEventListener("keydown", Je), u.addEventListener("animationend", Ve), c.addEventListener("animationend", Ee), _.addEventListener("input", Pe), _.addEventListener("pointermove", he), _.addEventListener("pointerleave", ge), w.addEventListener("click", Ye), w.addEventListener("animationend", Ce), T.addEventListener("input", Xe), E.addEventListener("click", Ze), e.addEventListener("loadedmetadata", ae), e.addEventListener("timeupdate", I), e.addEventListener("progress", oe), e.addEventListener("play", _e), e.addEventListener("play", ce), e.addEventListener("pause", le), _.addEventListener("pointerdown", ue), document.addEventListener("pointerup", de), e.addEventListener("play", Ht), e.addEventListener("play", N), e.addEventListener("play", ln), e.addEventListener("pause", Ut), e.addEventListener("pause", ve), e.addEventListener("pause", N), e.addEventListener("pause", un), e.addEventListener("timeupdate", N), e.addEventListener("timeupdate", Nn), e.addEventListener("timeupdate", xn), e.addEventListener("waiting", ne), e.addEventListener("playing", P), e.addEventListener("canplay", re), e.addEventListener("volumechange", xe), e.addEventListener("volumechange", Mn), e.addEventListener("loadedmetadata", In), t.addEventListener("pointermove", un), t.addEventListener("focusin", un), document.addEventListener("fullscreenchange", we), N(), {
15693
+ }), e.addEventListener("click", Me), e.addEventListener("pointerdown", Ae), e.addEventListener("pointerup", je), e.addEventListener("pointerleave", ke), e.addEventListener("pointercancel", ke), e.addEventListener("keydown", qe), u.addEventListener("animationend", ze), c.addEventListener("animationend", Te), _.addEventListener("input", Ne), _.addEventListener("pointermove", z), _.addEventListener("pointerleave", he), w.addEventListener("click", Je), w.addEventListener("animationend", Se), T.addEventListener("input", Ye), E.addEventListener("click", Xe), e.addEventListener("loadedmetadata", ae), e.addEventListener("timeupdate", I), e.addEventListener("progress", oe), e.addEventListener("play", ge), e.addEventListener("play", ce), e.addEventListener("pause", le), _.addEventListener("pointerdown", ue), document.addEventListener("pointerup", de), e.addEventListener("play", Vt), e.addEventListener("play", N), e.addEventListener("play", ln), e.addEventListener("pause", Ht), e.addEventListener("pause", _e), e.addEventListener("pause", N), e.addEventListener("pause", un), e.addEventListener("timeupdate", N), e.addEventListener("timeupdate", Nn), e.addEventListener("timeupdate", xn), e.addEventListener("waiting", ne), e.addEventListener("playing", P), e.addEventListener("canplay", re), e.addEventListener("volumechange", be), e.addEventListener("volumechange", Mn), e.addEventListener("loadedmetadata", In), t.addEventListener("pointermove", un), t.addEventListener("focusin", un), document.addEventListener("fullscreenchange", Ce), N(), {
15694
15694
  element: s,
15695
- setTheater: an,
15695
+ setTheater: rn,
15696
15696
  destroy: () => {
15697
- Oe.timer && clearTimeout(Oe.timer), A.idleTimer && clearTimeout(A.idleTimer), document.removeEventListener("mousedown", It), document.removeEventListener("mousedown", Sn), document.removeEventListener("keydown", Cn), window.removeEventListener("keydown", qt, !0), e.removeEventListener("contextmenu", Tn), cancelAnimationFrame(Mt.raf), le(), e.removeEventListener("play", ce), e.removeEventListener("pause", le), _.removeEventListener("pointerdown", ue), document.removeEventListener("pointerup", de), Ut(), e.removeEventListener("play", Ht), e.removeEventListener("play", N), e.removeEventListener("play", ln), e.removeEventListener("pause", Ut), e.removeEventListener("pause", N), e.removeEventListener("pause", un), e.removeEventListener("timeupdate", N), e.removeEventListener("timeupdate", Nn), e.removeEventListener("timeupdate", xn), e.removeEventListener("waiting", ne), e.removeEventListener("playing", P), e.removeEventListener("canplay", re), e.removeEventListener("volumechange", Mn), e.removeEventListener("loadedmetadata", In), t.removeEventListener("pointermove", un), t.removeEventListener("focusin", un), on && (e.removeEventListener("enterpictureinpicture", sn), e.removeEventListener("leavepictureinpicture", V)), e.removeEventListener("click", Ne), e.removeEventListener("pointerdown", je), e.removeEventListener("pointerup", Me), e.removeEventListener("pointerleave", Ae), e.removeEventListener("pointercancel", Ae), e.removeEventListener("keydown", Je), u.removeEventListener("animationend", Ve), _.removeEventListener("pointermove", he), _.removeEventListener("pointerleave", ge), R.el && (R.el.removeEventListener("seeked", fe), R.el.removeAttribute("src"), R.el.load(), R.el.remove(), R.el = null), e.removeEventListener("loadedmetadata", ae), e.removeEventListener("timeupdate", I), e.removeEventListener("progress", oe), e.removeEventListener("play", _e), e.removeEventListener("pause", ve), e.removeEventListener("volumechange", xe), w.removeEventListener("animationend", Ce), document.removeEventListener("fullscreenchange", we), document.removeEventListener("pointerdown", Jt), Qt(), sr(t);
15697
+ De.timer && clearTimeout(De.timer), A.idleTimer && clearTimeout(A.idleTimer), document.removeEventListener("mousedown", Ft), document.removeEventListener("mousedown", Sn), document.removeEventListener("keydown", Cn), window.removeEventListener("keydown", Kt, !0), e.removeEventListener("contextmenu", Tn), cancelAnimationFrame(jt.raf), le(), e.removeEventListener("play", ce), e.removeEventListener("pause", le), _.removeEventListener("pointerdown", ue), document.removeEventListener("pointerup", de), Ht(), e.removeEventListener("play", Vt), e.removeEventListener("play", N), e.removeEventListener("play", ln), e.removeEventListener("pause", Ht), e.removeEventListener("pause", N), e.removeEventListener("pause", un), e.removeEventListener("timeupdate", N), e.removeEventListener("timeupdate", Nn), e.removeEventListener("timeupdate", xn), e.removeEventListener("waiting", ne), e.removeEventListener("playing", P), e.removeEventListener("canplay", re), e.removeEventListener("volumechange", Mn), e.removeEventListener("loadedmetadata", In), t.removeEventListener("pointermove", un), t.removeEventListener("focusin", un), an && (e.removeEventListener("enterpictureinpicture", on), e.removeEventListener("leavepictureinpicture", sn)), e.removeEventListener("click", Me), e.removeEventListener("pointerdown", Ae), e.removeEventListener("pointerup", je), e.removeEventListener("pointerleave", ke), e.removeEventListener("pointercancel", ke), e.removeEventListener("keydown", qe), u.removeEventListener("animationend", ze), _.removeEventListener("pointermove", z), _.removeEventListener("pointerleave", he), R.el && (R.el.removeEventListener("seeked", fe), R.el.removeAttribute("src"), R.el.load(), R.el.remove(), R.el = null), e.removeEventListener("loadedmetadata", ae), e.removeEventListener("timeupdate", I), e.removeEventListener("progress", oe), e.removeEventListener("play", ge), e.removeEventListener("pause", _e), e.removeEventListener("volumechange", be), w.removeEventListener("animationend", Se), document.removeEventListener("fullscreenchange", Ce), document.removeEventListener("pointerdown", qt), Zt(), sr(t);
15698
15698
  let n = t.parentElement;
15699
- n && (n.style.minHeight = ""), Rt(), z.remove(), s.remove();
15699
+ n && (n.style.minHeight = ""), Lt(), B.remove(), s.remove();
15700
15700
  }
15701
15701
  };
15702
15702
  }
@@ -15758,7 +15758,7 @@ var gh = class {
15758
15758
  }
15759
15759
  static get toolbox() {
15760
15760
  return {
15761
- icon: A,
15761
+ icon: te,
15762
15762
  titleKey: "video",
15763
15763
  searchTerms: [
15764
15764
  "video",
@@ -15810,17 +15810,17 @@ var gh = class {
15810
15810
  {
15811
15811
  value: "left",
15812
15812
  title: Q(r, "tools.video.alignmentLeft", "Align left"),
15813
- icon: E
15813
+ icon: D
15814
15814
  },
15815
15815
  {
15816
15816
  value: "center",
15817
15817
  title: Q(r, "tools.video.alignmentCenter", "Align center"),
15818
- icon: Te
15818
+ icon: Ee
15819
15819
  },
15820
15820
  {
15821
15821
  value: "right",
15822
15822
  title: Q(r, "tools.video.alignmentRight", "Align right"),
15823
- icon: re
15823
+ icon: F
15824
15824
  }
15825
15825
  ];
15826
15826
  return [
@@ -15838,7 +15838,7 @@ var gh = class {
15838
15838
  })) }
15839
15839
  },
15840
15840
  {
15841
- icon: nt,
15841
+ icon: B,
15842
15842
  title: Q(r, "tools.video.caption", "Caption"),
15843
15843
  name: "video-caption",
15844
15844
  isActive: a,
@@ -15854,7 +15854,7 @@ var gh = class {
15854
15854
  onActivate: () => this.toggleAutoplay()
15855
15855
  },
15856
15856
  {
15857
- icon: Yt,
15857
+ icon: Jt,
15858
15858
  title: Q(r, "tools.video.loop", "Loop"),
15859
15859
  name: "video-loop",
15860
15860
  isActive: this.data.loop === !0,
@@ -15862,7 +15862,7 @@ var gh = class {
15862
15862
  onActivate: () => this.toggleLoop()
15863
15863
  },
15864
15864
  {
15865
- icon: Dt,
15865
+ icon: Et,
15866
15866
  title: Q(r, "tools.video.hideControls", "Hide controls"),
15867
15867
  name: "video-hide-controls",
15868
15868
  isActive: this.data.hideControls === !0,
@@ -15870,7 +15870,7 @@ var gh = class {
15870
15870
  onActivate: () => this.toggleHideControls()
15871
15871
  },
15872
15872
  {
15873
- icon: Se,
15873
+ icon: Ce,
15874
15874
  title: Q(r, "tools.video.replace", "Replace video"),
15875
15875
  name: "video-replace",
15876
15876
  closeOnActivate: !0,
@@ -16081,7 +16081,7 @@ var gh = class {
16081
16081
  }
16082
16082
  render() {
16083
16083
  let e = document.createElement("div");
16084
- return e.className = G("flex", "flex-row", "flex-wrap", "gap-y-4", "w-full"), e.setAttribute(On, ""), e.setAttribute("data-blok-testid", "column-list"), e.setAttribute(V.nestedBlocks, ""), this.container = e, e;
16084
+ return e.className = G("flex", "flex-row", "flex-wrap", "gap-y-4", "w-full"), e.setAttribute(kn, ""), e.setAttribute("data-blok-testid", "column-list"), e.setAttribute(z.nestedBlocks, ""), this.container = e, e;
16085
16085
  }
16086
16086
  rendered() {
16087
16087
  if (this.container === null) return;
@@ -16090,14 +16090,14 @@ var gh = class {
16090
16090
  this._data.noSeed !== !0 && this.seedColumns();
16091
16091
  return;
16092
16092
  }
16093
- Kr(this.container, e), Ft(this.container, e.map((e) => e.holder), this.readOnly, this.api, this.blockId);
16093
+ Kr(this.container, e), Pt(this.container, e.map((e) => e.holder), this.readOnly, this.api, this.blockId);
16094
16094
  }
16095
16095
  seedColumns() {
16096
16096
  var e;
16097
16097
  let t = this.container;
16098
16098
  if (t === null) return;
16099
16099
  let n = (e = this._data.columnCount) == null ? 2 : e, r = this.api.blocks.getBlockIndex(this.blockId);
16100
- r !== void 0 && (this._data = W(W({}, this._data), {}, { columnCount: void 0 }), Ft(t, Array.from({ length: n }).map((e, n) => {
16100
+ r !== void 0 && (this._data = W(W({}, this._data), {}, { columnCount: void 0 }), Pt(t, Array.from({ length: n }).map((e, n) => {
16101
16101
  let i = this.api.blocks.insert($n, { noFocus: n !== 0 }, {}, r + 1 + n, !1, !1);
16102
16102
  return this.api.blocks.setBlockParent(i.id, this.blockId), t.appendChild(i.holder), i;
16103
16103
  }).map((e) => e.holder), this.readOnly, this.api, this.blockId));
@@ -16109,7 +16109,7 @@ var gh = class {
16109
16109
  return;
16110
16110
  }
16111
16111
  let t = this.api.blocks.getChildren(this.blockId);
16112
- Ft(this.container, t.map((e) => e.holder), !1, this.api, this.blockId);
16112
+ Pt(this.container, t.map((e) => e.holder), !1, this.api, this.blockId);
16113
16113
  }
16114
16114
  save() {
16115
16115
  return {};
@@ -16133,7 +16133,7 @@ var gh = class {
16133
16133
  4,
16134
16134
  5
16135
16135
  ].map((t) => W(W({}, e), {}, {
16136
- icon: st(t),
16136
+ icon: ot(t),
16137
16137
  titleKey: `tools.columns.col${t}`,
16138
16138
  name: `column_list-${t}`,
16139
16139
  data: { columnCount: t },
@@ -16155,7 +16155,7 @@ var gh = class {
16155
16155
  let e = document.createElement("div");
16156
16156
  e.className = G("flex", "flex-col", "min-w-0", "break-words"), e.setAttribute(Kn, "");
16157
16157
  let t = document.createElement("div");
16158
- return t.setAttribute(V.nestedBlocks, ""), e.appendChild(t), this.childContainer = t, e;
16158
+ return t.setAttribute(z.nestedBlocks, ""), e.appendChild(t), this.childContainer = t, e;
16159
16159
  }
16160
16160
  rendered() {
16161
16161
  var e;
@@ -16201,7 +16201,7 @@ var gh = class {
16201
16201
  removed() {
16202
16202
  queueMicrotask(() => {
16203
16203
  let e = this.block.parentId;
16204
- e !== null && Nn(this.api, e, this.blockId);
16204
+ e !== null && Pn(this.api, e, this.blockId);
16205
16205
  });
16206
16206
  }
16207
16207
  static get isReadOnlySupported() {
@@ -16216,7 +16216,7 @@ var gh = class {
16216
16216
  }
16217
16217
  }, xh = {
16218
16218
  left: Cr,
16219
- center: Le,
16219
+ center: Re,
16220
16220
  right: p
16221
16221
  }, Sh = {
16222
16222
  left: "tools.image.alignmentLeftAria",
@@ -16232,7 +16232,7 @@ function wh(e) {
16232
16232
  return t.setAttribute("data-role", "embed-overlay"), t.className = "blok-embed-toolbar", Th(t, e), kh(t), Oh(t, {
16233
16233
  action: "caption-toggle",
16234
16234
  label: e.i18n.t("tools.image.toggleCaption"),
16235
- icon: k,
16235
+ icon: A,
16236
16236
  pressed: e.captionVisible,
16237
16237
  onClick: e.onToggleCaption
16238
16238
  }), Eh(t, e), kh(t), Dh(t, e), t;
@@ -16255,7 +16255,7 @@ function Th(e, t) {
16255
16255
  }
16256
16256
  function Eh(e, t) {
16257
16257
  let n = document.createElement("a");
16258
- n.setAttribute("data-action", "open-original"), n.className = "blok-embed-toolbar__btn", n.href = t.source, n.target = "_blank", n.rel = "noreferrer nofollow", n.setAttribute("aria-label", t.i18n.t("tools.embed.openOriginal")), n.innerHTML = pt, n.addEventListener("click", (e) => e.stopPropagation()), e.appendChild(n);
16258
+ n.setAttribute("data-action", "open-original"), n.className = "blok-embed-toolbar__btn", n.href = t.source, n.target = "_blank", n.rel = "noreferrer nofollow", n.setAttribute("aria-label", t.i18n.t("tools.embed.openOriginal")), n.innerHTML = ft, n.addEventListener("click", (e) => e.stopPropagation()), e.appendChild(n);
16259
16259
  }
16260
16260
  function Dh(e, t) {
16261
16261
  let n = document.createElement("button");
@@ -16329,7 +16329,7 @@ var jh = "https://telegram.org/js/telegram-widget.js?22", Mh = "https://platform
16329
16329
  height: (i = r.height) == null ? Fh : i
16330
16330
  }, this.renderState(), !0;
16331
16331
  }
16332
- return this.isGenericAllowed() && je(e) ? (this.data = {
16332
+ return this.isGenericAllowed() && Me(e) ? (this.data = {
16333
16333
  service: "",
16334
16334
  source: e,
16335
16335
  embed: e,
@@ -16452,7 +16452,7 @@ var jh = "https://telegram.org/js/telegram-widget.js?22", Mh = "https://platform
16452
16452
  let n = document.createElement("div");
16453
16453
  n.setAttribute("data-role", "embed-url-bar"), n.setAttribute("data-valid", "false"), n.className = "blok-embed-empty__bar";
16454
16454
  let r = document.createElement("span");
16455
- r.className = "blok-embed-empty__bar-icon", r.setAttribute("aria-hidden", "true"), r.innerHTML = se;
16455
+ r.className = "blok-embed-empty__bar-icon", r.setAttribute("aria-hidden", "true"), r.innerHTML = ce;
16456
16456
  let i = document.createElement("input");
16457
16457
  i.type = "url", i.setAttribute("data-role", "embed-url-input"), i.className = "blok-embed-empty__input", i.setAttribute("placeholder", this.api.i18n.t("tools.embed.urlPlaceholder")), i.setAttribute("aria-label", this.api.i18n.t("tools.embed.urlPlaceholder")), i.autocomplete = "off", i.spellcheck = !1;
16458
16458
  let a = document.createElement("button");
@@ -16468,7 +16468,7 @@ var jh = "https://telegram.org/js/telegram-widget.js?22", Mh = "https://platform
16468
16468
  }
16469
16469
  looksLikeUrl(e) {
16470
16470
  let t = e.trim();
16471
- return t === "" ? !1 : je(t) || /^[\w-]+(\.[\w-]+)+([/?#].*)?$/i.test(t);
16471
+ return t === "" ? !1 : Me(t) || /^[\w-]+(\.[\w-]+)+([/?#].*)?$/i.test(t);
16472
16472
  }
16473
16473
  submitUrl(e, t) {
16474
16474
  var n;
@@ -16545,7 +16545,7 @@ var jh = "https://telegram.org/js/telegram-widget.js?22", Mh = "https://platform
16545
16545
  renderSettings() {
16546
16546
  let e = this.api.i18n;
16547
16547
  return [{
16548
- icon: Se,
16548
+ icon: Ce,
16549
16549
  title: e.t("tools.embed.replace"),
16550
16550
  name: "embed-replace",
16551
16551
  closeOnActivate: !0,
@@ -16631,7 +16631,7 @@ var jh = "https://telegram.org/js/telegram-widget.js?22", Mh = "https://platform
16631
16631
  if (o.success !== 1) throw Error("Metadata request was unsuccessful.");
16632
16632
  let s = (n = o.meta) == null ? {} : n;
16633
16633
  return {
16634
- url: o.link && je(o.link) ? o.link : e,
16634
+ url: o.link && Me(o.link) ? o.link : e,
16635
16635
  title: s.title,
16636
16636
  description: s.description,
16637
16637
  image: (r = s.image) == null ? void 0 : r.url,
@@ -16646,7 +16646,7 @@ var jh = "https://telegram.org/js/telegram-widget.js?22", Mh = "https://platform
16646
16646
  }
16647
16647
  static get toolbox() {
16648
16648
  return {
16649
- icon: zn,
16649
+ icon: Bn,
16650
16650
  titleKey: "bookmark",
16651
16651
  searchTerms: [
16652
16652
  "bookmark",
@@ -16666,7 +16666,7 @@ var jh = "https://telegram.org/js/telegram-widget.js?22", Mh = "https://platform
16666
16666
  onPaste(e) {
16667
16667
  if (e.type !== "pattern") return;
16668
16668
  let t = e.detail.data;
16669
- je(t) && this.startFetch(t);
16669
+ Me(t) && this.startFetch(t);
16670
16670
  }
16671
16671
  render() {
16672
16672
  let e = document.createElement("div");
@@ -16714,7 +16714,7 @@ var jh = "https://telegram.org/js/telegram-widget.js?22", Mh = "https://platform
16714
16714
  buildCard() {
16715
16715
  var e;
16716
16716
  let t = document.createElement("a");
16717
- t.classList.add("blok-bookmark"), t.setAttribute("data-blok-testid", "bookmark-card"), je(this.data.url) && (t.href = this.data.url), t.target = "_blank", t.rel = "noopener noreferrer";
16717
+ t.classList.add("blok-bookmark"), t.setAttribute("data-blok-testid", "bookmark-card"), Me(this.data.url) && (t.href = this.data.url), t.target = "_blank", t.rel = "noopener noreferrer";
16718
16718
  let n = document.createElement("div");
16719
16719
  n.classList.add("blok-bookmark__content"), n.setAttribute("data-role", "bookmark-content");
16720
16720
  let r = document.createElement("div");
@@ -16878,7 +16878,7 @@ var jh = "https://telegram.org/js/telegram-widget.js?22", Mh = "https://platform
16878
16878
  }
16879
16879
  synchronize(e) {
16880
16880
  var t, n;
16881
- let r = (t = e == null ? void 0 : e.anchorNode) == null ? e == null ? void 0 : e.focusNode : t, i = r && r.nodeType === Node.ELEMENT_NODE ? r : r == null ? void 0 : r.parentElement, a = (n = i == null ? void 0 : i.closest(me(V.editor))) == null ? i == null ? void 0 : i.ownerDocument : n;
16881
+ let r = (t = e == null ? void 0 : e.anchorNode) == null ? e == null ? void 0 : e.focusNode : t, i = r && r.nodeType === Node.ELEMENT_NODE ? r : r == null ? void 0 : r.parentElement, a = (n = i == null ? void 0 : i.closest(ve(z.editor))) == null ? i == null ? void 0 : i.ownerDocument : n;
16882
16882
  if (!a) return;
16883
16883
  let o = `strong[${$.COLLAPSED_ACTIVE}="true"]`;
16884
16884
  a.querySelectorAll(o).forEach((t) => {
@@ -16904,7 +16904,7 @@ var jh = "https://telegram.org/js/telegram-widget.js?22", Mh = "https://platform
16904
16904
  var t;
16905
16905
  let n = (t = e == null ? void 0 : e.anchorNode) == null ? e == null ? void 0 : e.focusNode : t;
16906
16906
  if (!n) return;
16907
- let r = n.nodeType === Node.ELEMENT_NODE ? n : n.parentElement, i = r == null ? void 0 : r.closest(me(V.editor));
16907
+ let r = n.nodeType === Node.ELEMENT_NODE ? n : n.parentElement, i = r == null ? void 0 : r.closest(ve(z.editor));
16908
16908
  i && i.querySelectorAll(`strong[${$.COLLAPSED_LENGTH}]`).forEach((t) => {
16909
16909
  var n;
16910
16910
  let r = t.getAttribute($.COLLAPSED_LENGTH);
@@ -17098,7 +17098,7 @@ var $h = {
17098
17098
  let r = (t = e == null ? void 0 : e.anchorNode) == null ? e == null ? void 0 : e.focusNode : t;
17099
17099
  if (!r) return null;
17100
17100
  let i = r.nodeType === Node.ELEMENT_NODE ? r : r.parentElement;
17101
- return i ? ((n = i.closest("[data-blok-component=\"paragraph\"]")) == null ? i.closest(me(V.elementContent)) : n) || i.closest(me(V.editor)) : null;
17101
+ return i ? ((n = i.closest("[data-blok-component=\"paragraph\"]")) == null ? i.closest(ve(z.elementContent)) : n) || i.closest(ve(z.editor)) : null;
17102
17102
  }
17103
17103
  }, tg, ng = class e {
17104
17104
  constructor() {
@@ -17384,7 +17384,7 @@ var rg = (e, t) => {
17384
17384
  updateToolbarButtonState() {
17385
17385
  let e = window.getSelection();
17386
17386
  if (!e) return;
17387
- let t = e.anchorNode, n = (t == null ? void 0 : t.nodeType) === Node.ELEMENT_NODE ? t : t == null ? void 0 : t.parentElement, r = n == null ? void 0 : n.closest(me(V.editor));
17387
+ let t = e.anchorNode, n = (t == null ? void 0 : t.nodeType) === Node.ELEMENT_NODE ? t : t == null ? void 0 : t.parentElement, r = n == null ? void 0 : n.closest(ve(z.editor));
17388
17388
  if (!r) return;
17389
17389
  let i = r.querySelector("[data-blok-testid=inline-toolbar]");
17390
17390
  if (!(i instanceof HTMLElement)) return;
@@ -17426,7 +17426,7 @@ var rg = (e, t) => {
17426
17426
  }
17427
17427
  static findBlokScopeFromNode(e) {
17428
17428
  let t = e.nodeType === Node.ELEMENT_NODE ? e : e.parentElement;
17429
- return !t || typeof t.closest != "function" ? null : t.closest(`${me(V.interface)}, ${me(V.editor)}`);
17429
+ return !t || typeof t.closest != "function" ? null : t.closest(`${ve(z.interface)}, ${ve(z.editor)}`);
17430
17430
  }
17431
17431
  static getBoundaryBold(t) {
17432
17432
  let n = t.startContainer;
@@ -17448,7 +17448,7 @@ var rg = (e, t) => {
17448
17448
  let t = e.anchorNode;
17449
17449
  if (!t) return !1;
17450
17450
  let n = t.nodeType === Node.ELEMENT_NODE ? t : t.parentElement;
17451
- return !!(n != null && n.closest(me(V.editor)));
17451
+ return !!(n != null && n.closest(ve(z.editor)));
17452
17452
  }
17453
17453
  getRangeHtmlWithoutBold(e) {
17454
17454
  let t = e.cloneContents();
@@ -17479,7 +17479,7 @@ var pg, mg = (e) => {
17479
17479
  }
17480
17480
  render() {
17481
17481
  return {
17482
- icon: ue,
17482
+ icon: de,
17483
17483
  name: "italic",
17484
17484
  onActivate: () => {
17485
17485
  this.toggleItalic();
@@ -17628,11 +17628,12 @@ var gg, _g = "flex items-center gap-2 w-full mt-0.5 px-1.5 py-1.5 rounded-md tex
17628
17628
  static get sanitize() {
17629
17629
  return { a: {
17630
17630
  href: !0,
17631
- target: "_blank",
17632
- rel: "nofollow"
17631
+ target: !0,
17632
+ rel: !0
17633
17633
  } };
17634
17634
  }
17635
17635
  constructor({ api: e }) {
17636
+ var t;
17636
17637
  this.INPUT_BASE_CLASSES = "hidden w-[200px] m-0 px-2 py-1 text-sm leading-[22px] font-medium text-text-primary bg-item-hover-bg border border-link-input-border rounded-lg! outline-hidden box-border appearance-none font-[inherit] placeholder:text-gray-text mobile:text-[15px] mobile:font-medium", this.DATA_ATTRIBUTES = {
17637
17638
  buttonActive: "data-blok-link-tool-active",
17638
17639
  buttonUnlink: "data-blok-link-tool-unlink",
@@ -17644,11 +17645,11 @@ var gg, _g = "flex items-center gap-2 w-full mt-0.5 px-1.5 py-1.5 rounded-md tex
17644
17645
  button: null
17645
17646
  }, this.inputOpened = !1, this.unlinkAvailable = !1, this.handleButtonClick = (e) => {
17646
17647
  !this.inputOpened || !this.unlinkAvailable || (e.preventDefault(), e.stopPropagation(), e.stopImmediatePropagation(), this.restoreSelection(), this.unlink(), this.inlineToolbar.close());
17647
- }, this.toolbar = e.toolbar, this.inlineToolbar = e.inlineToolbar, this.notifier = e.notifier, this.i18n = e.i18n, this.selection = new o(), this.nodes.input = this.createInput(), this.nodes.suggestion = this.createSuggestion(), this.nodes.inputWrapper = document.createElement("div"), this.nodes.inputWrapper.append(this.nodes.input, this.nodes.suggestion);
17648
+ }, this.toolbar = e.toolbar, this.inlineToolbar = e.inlineToolbar, this.notifier = e.notifier, this.i18n = e.i18n, this.linkConfig = (t = e.config.link) == null ? {} : t, this.selection = new o(), this.nodes.input = this.createInput(), this.nodes.suggestion = this.createSuggestion(), this.nodes.inputWrapper = document.createElement("div"), this.nodes.inputWrapper.append(this.nodes.input, this.nodes.suggestion);
17648
17649
  }
17649
17650
  render() {
17650
17651
  return {
17651
- icon: zn,
17652
+ icon: Bn,
17652
17653
  name: "link",
17653
17654
  isActive: () => !!this.selection.findParentTag("A"),
17654
17655
  children: {
@@ -17709,10 +17710,10 @@ var gg, _g = "flex items-center gap-2 w-full mt-0.5 px-1.5 py-1.5 rounded-md tex
17709
17710
  }
17710
17711
  getLinkTypeInfo(e) {
17711
17712
  return e.startsWith("mailto:") ? {
17712
- icon: Bt,
17713
+ icon: zt,
17713
17714
  label: "Email address"
17714
17715
  } : e.startsWith("#") ? {
17715
- icon: ke,
17716
+ icon: Ae,
17716
17717
  label: "Jump to section"
17717
17718
  } : {
17718
17719
  icon: x,
@@ -17751,7 +17752,7 @@ var gg, _g = "flex items-center gap-2 w-full mt-0.5 px-1.5 py-1.5 rounded-md tex
17751
17752
  }, 0));
17752
17753
  }
17753
17754
  getButtonElement() {
17754
- let e = document.querySelector(`${me(V.interface, ve)} [data-blok-item-name="link"]`);
17755
+ let e = document.querySelector(`${ve(z.interface, ye)} [data-blok-item-name="link"]`);
17755
17756
  return e && e !== this.nodes.button && (e.addEventListener("click", this.handleButtonClick, !0), this.nodes.button = e), e;
17756
17757
  }
17757
17758
  updateButtonStateAttributes(e) {
@@ -17789,7 +17790,7 @@ var gg, _g = "flex items-center gap-2 w-full mt-0.5 px-1.5 py-1.5 rounded-md tex
17789
17790
  this.notifier.show({
17790
17791
  message: this.i18n.t("tools.link.invalidLink"),
17791
17792
  style: "error"
17792
- }), We("Incorrect Link pasted", "warn", t);
17793
+ }), S("Incorrect Link pasted", "warn", t);
17793
17794
  return;
17794
17795
  }
17795
17796
  let n = this.prepareLink(t);
@@ -17807,15 +17808,16 @@ var gg, _g = "flex items-center gap-2 w-full mt-0.5 px-1.5 py-1.5 rounded-md tex
17807
17808
  return !t && !n && !r ? "http://" + e : e;
17808
17809
  }
17809
17810
  insertLink(e) {
17810
- let t = this.selection.findParentTag("A");
17811
- if (t instanceof HTMLAnchorElement) {
17812
- this.selection.expandToTag(t), t.href = e, t.target = "_blank", t.rel = "nofollow";
17811
+ var t, n;
17812
+ let r = this.linkConfig.transformHref ? this.linkConfig.transformHref(e) : e, i = (t = this.linkConfig.target) == null ? "_blank" : t, a = (n = this.linkConfig.rel) == null ? "nofollow" : n, s = this.selection.findParentTag("A");
17813
+ if (s instanceof HTMLAnchorElement) {
17814
+ this.selection.expandToTag(s), s.href = r, s.target = i, s.rel = a;
17813
17815
  return;
17814
17816
  }
17815
- let n = o.range;
17816
- if (!n) return;
17817
- let r = document.createElement("a");
17818
- r.href = e, r.target = "_blank", r.rel = "nofollow", r.appendChild(n.extractContents()), n.insertNode(r), this.selection.expandToTag(r);
17817
+ let c = o.range;
17818
+ if (!c) return;
17819
+ let l = document.createElement("a");
17820
+ l.href = r, l.target = i, l.rel = a, l.appendChild(c.extractContents()), c.insertNode(l), this.selection.expandToTag(l);
17819
17821
  }
17820
17822
  unlink() {
17821
17823
  let e = this.selection.findParentTag("A");
@@ -18097,7 +18099,7 @@ var bg = (e) => e.tagName === "MARK", xg = (e) => ag(e, bg), Sg, Cg = {
18097
18099
  resolveToVar(e, t) {
18098
18100
  if (e.startsWith("var(")) return e;
18099
18101
  let n = t === "color" ? "text" : "bg", r = i(e, n);
18100
- return r === null ? e : Ct(r, n);
18102
+ return r === null ? e : St(r, n);
18101
18103
  }
18102
18104
  };
18103
18105
  Sg = wg, Sg.isInline = !0, Sg.title = "Color", Sg.titleKey = "marker", Sg.shortcut = "CMD+SHIFT+H", Sg.ALLOWED_STYLE_PROPS = new Set(["color", "background-color"]);
@@ -18109,7 +18111,7 @@ var Tg, Eg = (e) => e.tagName === "U", Dg = class {
18109
18111
  }
18110
18112
  render() {
18111
18113
  return {
18112
- icon: N,
18114
+ icon: ne,
18113
18115
  name: "underline",
18114
18116
  onActivate: () => {
18115
18117
  this.toggleUnderline();
@@ -18260,7 +18262,7 @@ var Og, kg = (e) => e.tagName === "S", Ag = class {
18260
18262
  }
18261
18263
  render() {
18262
18264
  return {
18263
- icon: De,
18265
+ icon: Oe,
18264
18266
  name: "strikethrough",
18265
18267
  onActivate: () => {
18266
18268
  this.toggleStrikethrough();
@@ -18411,7 +18413,7 @@ var jg, Mg = (e) => e.tagName === "CODE", Ng = class {
18411
18413
  }
18412
18414
  render() {
18413
18415
  return {
18414
- icon: Ae,
18416
+ icon: je,
18415
18417
  name: "inlineCode",
18416
18418
  onActivate: () => {
18417
18419
  this.toggleCode();