@levo-so/site-runtime 0.3.13 → 0.3.15

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.
package/blog-content.js CHANGED
@@ -22,17 +22,17 @@ import { Details as ye, DetailsContent as be, DetailsSummary as xe } from "@tipt
22
22
  import { TextStyle as Se } from "@tiptap/extension-text-style";
23
23
  import Ce from "@tiptap/extension-horizontal-rule";
24
24
  import { Image as we } from "@tiptap/extension-image";
25
- import { closeHistory as L } from "@tiptap/pm/history";
26
- import { TaskItem as Te, TaskList as Ee } from "@tiptap/extension-list";
27
- import { cellAround as De, columnResizing as Oe, tableEditing as ke } from "@tiptap/pm/tables";
28
- import { TableCell as Ae, TableHeader as je, TableRow as Me } from "@tiptap/extension-table";
29
- import { Table as Ne } from "@tiptap/extension-table/table";
30
- import { Subscript as Pe } from "@tiptap/extension-subscript";
31
- import { Superscript as Fe } from "@tiptap/extension-superscript";
32
- import { Typography as Ie } from "@tiptap/extension-typography";
33
- import { UniqueID as Le } from "@tiptap/extension-unique-id";
25
+ import { closeHistory as Te } from "@tiptap/pm/history";
26
+ import { TaskItem as Ee, TaskList as De } from "@tiptap/extension-list";
27
+ import { cellAround as Oe, columnResizing as ke, tableEditing as Ae } from "@tiptap/pm/tables";
28
+ import { TableCell as je, TableHeader as Me, TableRow as Ne } from "@tiptap/extension-table";
29
+ import { Table as Pe } from "@tiptap/extension-table/table";
30
+ import { Subscript as Fe } from "@tiptap/extension-subscript";
31
+ import { Superscript as Ie } from "@tiptap/extension-superscript";
32
+ import { Typography as Le } from "@tiptap/extension-typography";
33
+ import { UniqueID as Re } from "@tiptap/extension-unique-id";
34
34
  //#region ../../libraries/blog-renderer/dist/views/BookmarkView.cssm.js
35
- var Re = "_2zpuyk0", ze = "_2zpuyk1", Be = "_2zpuyk2", Ve = "_2zpuyk3", He = "_2zpuyk4", Ue = "_2zpuyk6 _2zpuyk5", We = "_2zpuyk7 _2zpuyk5", Ge = "_2zpuyk9", R = "_2zpuyka", Ke = "_2zpuykb", qe = (e) => {
35
+ var ze = "_2zpuyk0", Be = "_2zpuyk1", Ve = "_2zpuyk2", He = "_2zpuyk3", Ue = "_2zpuyk4", We = "_2zpuyk6 _2zpuyk5", Ge = "_2zpuyk7 _2zpuyk5", Ke = "_2zpuyk9", L = "_2zpuyka", qe = "_2zpuykb", Je = (e) => {
36
36
  let n = D(30), { blogId: r, postId: i, workspaceId: a, interactive: o } = e, s = o === void 0 ? !0 : o, { blog: c, workspace: l, logger: u } = t(), d = a ?? l, [f, p] = j(!0), [m, h] = j(null), g, _;
37
37
  if (n[0] !== c || n[1] !== r || n[2] !== u || n[3] !== i || n[4] !== d ? (g = () => {
38
38
  if (!r || !i) {
@@ -59,10 +59,10 @@ var Re = "_2zpuyk0", ze = "_2zpuyk1", Be = "_2zpuyk2", Ve = "_2zpuyk3", He = "_2
59
59
  u
60
60
  ], n[0] = c, n[1] = r, n[2] = u, n[3] = i, n[4] = d, n[5] = g, n[6] = _) : (g = n[5], _ = n[6]), ce(g, _), f) {
61
61
  let e;
62
- n[7] === Symbol.for("react.memo_cache_sentinel") ? (e = /* @__PURE__ */ k("div", { className: We }), n[7] = e) : e = n[7];
62
+ n[7] === Symbol.for("react.memo_cache_sentinel") ? (e = /* @__PURE__ */ k("div", { className: Ge }), n[7] = e) : e = n[7];
63
63
  let t;
64
64
  n[8] === Symbol.for("react.memo_cache_sentinel") ? (t = /* @__PURE__ */ k("div", {
65
- className: R,
65
+ className: L,
66
66
  style: {
67
67
  height: "1rem",
68
68
  width: "65%"
@@ -70,28 +70,28 @@ var Re = "_2zpuyk0", ze = "_2zpuyk1", Be = "_2zpuyk2", Ve = "_2zpuyk3", He = "_2
70
70
  }), n[8] = t) : t = n[8];
71
71
  let r;
72
72
  n[9] === Symbol.for("react.memo_cache_sentinel") ? (r = /* @__PURE__ */ k("div", {
73
- className: R,
73
+ className: L,
74
74
  style: { width: "100%" }
75
75
  }), n[9] = r) : r = n[9];
76
76
  let i;
77
77
  n[10] === Symbol.for("react.memo_cache_sentinel") ? (i = /* @__PURE__ */ k("div", {
78
- className: R,
78
+ className: L,
79
79
  style: { width: "92%" }
80
80
  }), n[10] = i) : i = n[10];
81
81
  let a;
82
82
  return n[11] === Symbol.for("react.memo_cache_sentinel") ? (a = /* @__PURE__ */ k("div", {
83
- className: Re,
83
+ className: ze,
84
84
  children: /* @__PURE__ */ A("div", {
85
- className: `${ze} ${Ge}`,
85
+ className: `${Be} ${Ke}`,
86
86
  children: [e, /* @__PURE__ */ A("div", {
87
- className: Be,
87
+ className: Ve,
88
88
  children: [t, /* @__PURE__ */ A("div", {
89
- className: Ke,
89
+ className: qe,
90
90
  children: [
91
91
  r,
92
92
  i,
93
93
  /* @__PURE__ */ k("div", {
94
- className: R,
94
+ className: L,
95
95
  style: { width: "60%" }
96
96
  })
97
97
  ]
@@ -105,31 +105,31 @@ var Re = "_2zpuyk0", ze = "_2zpuyk1", Be = "_2zpuyk2", Ve = "_2zpuyk3", He = "_2
105
105
  n[12] === s ? x = n[13] : (x = s ? void 0 : { pointerEvents: "none" }, n[12] = s, n[13] = x);
106
106
  let S = s ? void 0 : -1, C;
107
107
  n[14] !== v || n[15] !== m.title ? (C = v ? /* @__PURE__ */ k("img", {
108
- className: Ue,
108
+ className: We,
109
109
  src: v,
110
110
  alt: m.title,
111
111
  loading: "lazy"
112
- }) : /* @__PURE__ */ k("div", { className: We }), n[14] = v, n[15] = m.title, n[16] = C) : C = n[16];
112
+ }) : /* @__PURE__ */ k("div", { className: Ge }), n[14] = v, n[15] = m.title, n[16] = C) : C = n[16];
113
113
  let w;
114
114
  n[17] === m.title ? w = n[18] : (w = /* @__PURE__ */ k("h3", {
115
- className: Ve,
115
+ className: He,
116
116
  children: m.title
117
117
  }), n[17] = m.title, n[18] = w);
118
118
  let T;
119
119
  n[19] === m.summary ? T = n[20] : (T = m.summary ? /* @__PURE__ */ k("p", {
120
- className: He,
120
+ className: Ue,
121
121
  children: m.summary
122
122
  }) : null, n[19] = m.summary, n[20] = T);
123
123
  let E;
124
124
  n[21] !== w || n[22] !== T ? (E = /* @__PURE__ */ A("div", {
125
- className: Be,
125
+ className: Ve,
126
126
  children: [w, T]
127
127
  }), n[21] = w, n[22] = T, n[23] = E) : E = n[23];
128
128
  let O;
129
129
  return n[24] !== E || n[25] !== b || n[26] !== x || n[27] !== S || n[28] !== C ? (O = /* @__PURE__ */ k("div", {
130
- className: Re,
130
+ className: ze,
131
131
  children: /* @__PURE__ */ A("a", {
132
- className: ze,
132
+ className: Be,
133
133
  href: b,
134
134
  target: "_blank",
135
135
  rel: "noopener noreferrer",
@@ -138,15 +138,15 @@ var Re = "_2zpuyk0", ze = "_2zpuyk1", Be = "_2zpuyk2", Ve = "_2zpuyk3", He = "_2
138
138
  children: [C, E]
139
139
  })
140
140
  }), n[24] = E, n[25] = b, n[26] = x, n[27] = S, n[28] = C, n[29] = O) : O = n[29], O;
141
- }, Je = (e) => {
141
+ }, Ye = (e) => {
142
142
  let t = D(3), { node: n } = e, r = n?.attrs?.blogId, i = n?.attrs?.postId;
143
143
  if (!r || !i) return null;
144
144
  let a;
145
- return t[0] !== r || t[1] !== i ? (a = /* @__PURE__ */ k(qe, {
145
+ return t[0] !== r || t[1] !== i ? (a = /* @__PURE__ */ k(Je, {
146
146
  blogId: r,
147
147
  postId: i
148
148
  }), t[0] = r, t[1] = i, t[2] = a) : a = t[2], a;
149
- }, Ye = N.create({
149
+ }, Xe = N.create({
150
150
  name: "quote",
151
151
  content: "block+",
152
152
  defining: !0,
@@ -182,7 +182,7 @@ var Re = "_2zpuyk0", ze = "_2zpuyk1", Be = "_2zpuyk2", Ve = "_2zpuyk3", He = "_2
182
182
  return e.commands.toggleBlockquote();
183
183
  } };
184
184
  }
185
- }), Xe = N.create({
185
+ }), Ze = N.create({
186
186
  name: "quoteCaption",
187
187
  group: "block",
188
188
  content: "text*",
@@ -228,7 +228,7 @@ var Re = "_2zpuyk0", ze = "_2zpuyk1", Be = "_2zpuyk2", Ve = "_2zpuyk3", He = "_2
228
228
  }
229
229
  };
230
230
  }
231
- }), Ze = (e) => {
231
+ }), Qe = (e) => {
232
232
  let { state: t } = e, { selection: n } = t;
233
233
  if (n.empty || !(n instanceof I)) return !1;
234
234
  let { $from: r, $to: i } = n, a = -1;
@@ -248,13 +248,13 @@ var Re = "_2zpuyk0", ze = "_2zpuyk1", Be = "_2zpuyk2", Ve = "_2zpuyk3", He = "_2
248
248
  }).run();
249
249
  let m = t.tr;
250
250
  return i.pos > d && m.delete(d, i.pos), r.pos < u - 1 && m.delete(r.pos, u - 1), m.setSelection(I.near(m.doc.resolve(r.pos))), e.view.dispatch(m.scrollIntoView()), !0;
251
- }, Qe = N.create({
251
+ }, $e = N.create({
252
252
  name: "blockquoteFigure",
253
253
  group: "block",
254
254
  content: "quote quoteCaption",
255
255
  isolating: !0,
256
256
  addExtensions() {
257
- return [Ye, Xe];
257
+ return [Xe, Ze];
258
258
  },
259
259
  renderHTML({ HTMLAttributes: e }) {
260
260
  return [
@@ -265,8 +265,8 @@ var Re = "_2zpuyk0", ze = "_2zpuyk1", Be = "_2zpuyk2", Ve = "_2zpuyk3", He = "_2
265
265
  },
266
266
  addKeyboardShortcuts() {
267
267
  return {
268
- Backspace: ({ editor: e }) => Ze(e),
269
- Delete: ({ editor: e }) => Ze(e)
268
+ Backspace: ({ editor: e }) => Qe(e),
269
+ Delete: ({ editor: e }) => Qe(e)
270
270
  };
271
271
  },
272
272
  addInputRules() {
@@ -336,7 +336,7 @@ var Re = "_2zpuyk0", ze = "_2zpuyk1", Be = "_2zpuyk2", Ve = "_2zpuyk3", He = "_2
336
336
  }
337
337
  };
338
338
  }
339
- }), $e = N.create({
339
+ }), et = N.create({
340
340
  name: "bookmark",
341
341
  atom: !0,
342
342
  group: "block",
@@ -361,13 +361,13 @@ var Re = "_2zpuyk0", ze = "_2zpuyk1", Be = "_2zpuyk2", Ve = "_2zpuyk3", He = "_2
361
361
  renderHTML({ HTMLAttributes: e }) {
362
362
  return ["div", P(e, { "data-type": this.name })];
363
363
  }
364
- }), z = "levo-button-trigger", B = (e) => e === "popup" ? "button" : "a", V = (e) => e && ge(e) ? e : "", H = {
364
+ }), R = "levo-button-trigger", tt = (e) => e === "popup" ? "button" : "a", nt = (e) => e && ge(e) ? e : "", z = {
365
365
  variant: "primary",
366
366
  size: "md",
367
367
  align: "left",
368
368
  target: "_self",
369
369
  actionType: "link"
370
- }, et = N.create({
370
+ }, rt = N.create({
371
371
  name: "button",
372
372
  group: "block",
373
373
  atom: !0,
@@ -389,29 +389,29 @@ var Re = "_2zpuyk0", ze = "_2zpuyk1", Be = "_2zpuyk2", Ve = "_2zpuyk3", He = "_2
389
389
  renderHTML: () => ({})
390
390
  },
391
391
  target: {
392
- default: H.target,
392
+ default: z.target,
393
393
  parseHTML: (e) => e.querySelector("a")?.getAttribute("target") === "_blank" ? "_blank" : "_self",
394
394
  renderHTML: () => ({})
395
395
  },
396
396
  variant: {
397
- default: H.variant,
398
- parseHTML: (e) => e.getAttribute("data-variant") || H.variant,
399
- renderHTML: (e) => ({ "data-variant": e.variant ?? H.variant })
397
+ default: z.variant,
398
+ parseHTML: (e) => e.getAttribute("data-variant") || z.variant,
399
+ renderHTML: (e) => ({ "data-variant": e.variant ?? z.variant })
400
400
  },
401
401
  size: {
402
- default: H.size,
403
- parseHTML: (e) => e.getAttribute("data-size") || H.size,
404
- renderHTML: (e) => ({ "data-size": e.size ?? H.size })
402
+ default: z.size,
403
+ parseHTML: (e) => e.getAttribute("data-size") || z.size,
404
+ renderHTML: (e) => ({ "data-size": e.size ?? z.size })
405
405
  },
406
406
  align: {
407
- default: H.align,
408
- parseHTML: (e) => e.getAttribute("data-align") || H.align,
409
- renderHTML: (e) => ({ "data-align": e.align ?? H.align })
407
+ default: z.align,
408
+ parseHTML: (e) => e.getAttribute("data-align") || z.align,
409
+ renderHTML: (e) => ({ "data-align": e.align ?? z.align })
410
410
  },
411
411
  actionType: {
412
- default: H.actionType,
413
- parseHTML: (e) => e.getAttribute("data-action-type") || H.actionType,
414
- renderHTML: (e) => ({ "data-action-type": e.actionType ?? H.actionType })
412
+ default: z.actionType,
413
+ parseHTML: (e) => e.getAttribute("data-action-type") || z.actionType,
414
+ renderHTML: (e) => ({ "data-action-type": e.actionType ?? z.actionType })
415
415
  },
416
416
  popupId: {
417
417
  default: null,
@@ -431,13 +431,13 @@ var Re = "_2zpuyk0", ze = "_2zpuyk1", Be = "_2zpuyk2", Ve = "_2zpuyk3", He = "_2
431
431
  },
432
432
  renderHTML({ HTMLAttributes: e, node: t }) {
433
433
  let n = t.attrs.label ?? "Button", r = P(this.options.HTMLAttributes, e, { "data-type": "button" });
434
- if (B(t.attrs.actionType) === "button") return [
434
+ if (tt(t.attrs.actionType) === "button") return [
435
435
  "div",
436
436
  r,
437
437
  [
438
438
  "button",
439
439
  {
440
- class: z,
440
+ class: R,
441
441
  type: "button"
442
442
  },
443
443
  n
@@ -450,8 +450,8 @@ var Re = "_2zpuyk0", ze = "_2zpuyk1", Be = "_2zpuyk2", Ve = "_2zpuyk3", He = "_2
450
450
  [
451
451
  "a",
452
452
  {
453
- class: z,
454
- href: V(t.attrs.href),
453
+ class: R,
454
+ href: nt(t.attrs.href),
455
455
  target: i,
456
456
  rel: i === "_blank" ? "noopener noreferrer" : null
457
457
  },
@@ -465,7 +465,7 @@ var Re = "_2zpuyk0", ze = "_2zpuyk1", Be = "_2zpuyk2", Ve = "_2zpuyk3", He = "_2
465
465
  attrs: e
466
466
  }) };
467
467
  }
468
- }), tt = N.create({
468
+ }), it = N.create({
469
469
  name: "callout",
470
470
  group: "layoutBlock",
471
471
  content: "block+",
@@ -522,7 +522,7 @@ var Re = "_2zpuyk0", ze = "_2zpuyk1", Be = "_2zpuyk2", Ve = "_2zpuyk3", He = "_2
522
522
  unsetCallout: () => ({ commands: e }) => e.lift(this.name)
523
523
  };
524
524
  }
525
- }), nt = _e.configure({ defaultLanguage: null }), rt = "_10e5beq0", it = re({
525
+ }), at = _e.configure({ defaultLanguage: null }), ot = "_10e5beq0", st = re({
526
526
  defaultClassName: "_10e5beq1",
527
527
  variantClassNames: { layout: {
528
528
  "sidebar-left": "_10e5beq2",
@@ -531,7 +531,7 @@ var Re = "_2zpuyk0", ze = "_2zpuyk1", Be = "_2zpuyk2", Ve = "_2zpuyk3", He = "_2
531
531
  } },
532
532
  defaultVariants: { layout: "two-column" },
533
533
  compoundVariants: []
534
- }), at = N.create({
534
+ }), ct = N.create({
535
535
  name: "column",
536
536
  content: "block+",
537
537
  isolating: !0,
@@ -547,7 +547,7 @@ var Re = "_2zpuyk0", ze = "_2zpuyk1", Be = "_2zpuyk2", Ve = "_2zpuyk3", He = "_2
547
547
  "div",
548
548
  P(e, {
549
549
  "data-type": "column",
550
- class: rt
550
+ class: ot
551
551
  }),
552
552
  0
553
553
  ];
@@ -555,16 +555,16 @@ var Re = "_2zpuyk0", ze = "_2zpuyk1", Be = "_2zpuyk2", Ve = "_2zpuyk3", He = "_2
555
555
  parseHTML() {
556
556
  return [{ tag: "div[data-type=\"column\"]" }];
557
557
  }
558
- }), ot = /* @__PURE__ */ function(e) {
558
+ }), lt = /* @__PURE__ */ function(e) {
559
559
  return e.SidebarLeft = "sidebar-left", e.SidebarRight = "sidebar-right", e.TwoColumn = "two-column", e;
560
- }({}), st = N.create({
560
+ }({}), ut = N.create({
561
561
  name: "columns",
562
562
  group: "layoutBlock",
563
563
  content: "column column",
564
564
  defining: !0,
565
565
  isolating: !0,
566
566
  addAttributes() {
567
- return { layout: { default: ot.TwoColumn } };
567
+ return { layout: { default: lt.TwoColumn } };
568
568
  },
569
569
  addCommands() {
570
570
  return {
@@ -577,7 +577,7 @@ var Re = "_2zpuyk0", ze = "_2zpuyk1", Be = "_2zpuyk2", Ve = "_2zpuyk3", He = "_2
577
577
  "div",
578
578
  {
579
579
  "data-type": "columns",
580
- class: it({ layout: e.layout })
580
+ class: st({ layout: e.layout })
581
581
  },
582
582
  0
583
583
  ];
@@ -585,7 +585,7 @@ var Re = "_2zpuyk0", ze = "_2zpuyk1", Be = "_2zpuyk2", Ve = "_2zpuyk3", He = "_2
585
585
  parseHTML() {
586
586
  return [{ tag: "div[data-type=\"columns\"]" }];
587
587
  }
588
- }), ct = ve.extend({ content: "(block | layoutBlock)+" }), lt = M.create({
588
+ }), dt = ve.extend({ content: "(block | layoutBlock)+" }), ft = M.create({
589
589
  name: "detailsKit",
590
590
  addExtensions() {
591
591
  let e = [];
@@ -595,7 +595,14 @@ var Re = "_2zpuyk0", ze = "_2zpuyk1", Be = "_2zpuyk2", Ve = "_2zpuyk3", He = "_2
595
595
  ...this.options.details || {}
596
596
  })), this.options.detailsSummary !== !1 && e.push(xe.configure(this.options.detailsSummary)), this.options.detailsContent !== !1 && e.push(be.configure(this.options.detailsContent)), e;
597
597
  }
598
- }), ut = N.create({
598
+ }), pt = [
599
+ "left",
600
+ "center",
601
+ "right"
602
+ ], B = (e) => typeof e == "string" && /^\d+(\.\d+)?%$/.test(e), V = (e) => B(e) ? e : null, H = (e) => e && pt.includes(e) ? e : "center", mt = (e) => {
603
+ let t = Number.parseFloat(e);
604
+ return Number.isFinite(t) ? `${Math.min(Math.max(t, 30), 100)}%` : "100%";
605
+ }, U = (e) => B(e) ? { style: `width: ${mt(e)}` } : {}, ht = N.create({
599
606
  name: "iframe",
600
607
  group: "block",
601
608
  atom: !0,
@@ -610,8 +617,8 @@ var Re = "_2zpuyk0", ze = "_2zpuyk1", Be = "_2zpuyk2", Ve = "_2zpuyk3", He = "_2
610
617
  src: { default: null },
611
618
  width: {
612
619
  default: null,
613
- parseHTML: (e) => e.getAttribute("width"),
614
- renderHTML: (e) => ({ width: e.width })
620
+ parseHTML: (e) => V(e.parentElement?.style.width) ?? e.getAttribute("width"),
621
+ renderHTML: (e) => B(e.width) ? {} : { width: e.width }
615
622
  },
616
623
  height: {
617
624
  default: null,
@@ -626,17 +633,25 @@ var Re = "_2zpuyk0", ze = "_2zpuyk1", Be = "_2zpuyk2", Ve = "_2zpuyk3", He = "_2
626
633
  allowFullScreen: {
627
634
  default: this.options.allowFullscreen,
628
635
  parseHTML: () => this.options.allowFullscreen
636
+ },
637
+ "data-align": {
638
+ default: "center",
639
+ parseHTML: (e) => H(e.parentElement?.getAttribute("data-align")),
640
+ renderHTML: () => ({})
629
641
  }
630
642
  };
631
643
  },
632
644
  parseHTML() {
633
645
  return [{ tag: "iframe" }];
634
646
  },
635
- renderHTML({ HTMLAttributes: e }) {
647
+ renderHTML({ node: e, HTMLAttributes: t }) {
636
648
  return [
637
649
  "div",
638
- this.options.HTMLAttributes,
639
- ["iframe", P(e, { frameBorder: "0" })]
650
+ P(this.options.HTMLAttributes, {
651
+ "data-align": e.attrs["data-align"],
652
+ ...U(e.attrs.width)
653
+ }),
654
+ ["iframe", P(t, { frameBorder: "0" })]
640
655
  ];
641
656
  },
642
657
  addCommands() {
@@ -653,13 +668,13 @@ var Re = "_2zpuyk0", ze = "_2zpuyk1", Be = "_2zpuyk2", Ve = "_2zpuyk3", He = "_2
653
668
  return n && t.replaceRangeWith(r.from, r.to, i), !0;
654
669
  } };
655
670
  }
656
- }), dt = Ce.extend({ renderHTML() {
671
+ }), gt = Ce.extend({ renderHTML() {
657
672
  return [
658
673
  "div",
659
674
  P(this.options.HTMLAttributes, { "data-type": this.name }),
660
675
  ["hr"]
661
676
  ];
662
- } }), ft = (e) => ({
677
+ } }), _t = (e) => ({
663
678
  src: e.getAttribute("src"),
664
679
  alt: e.getAttribute("alt"),
665
680
  title: e.getAttribute("title"),
@@ -667,25 +682,25 @@ var Re = "_2zpuyk0", ze = "_2zpuyk1", Be = "_2zpuyk2", Ve = "_2zpuyk3", He = "_2
667
682
  height: e.getAttribute("height"),
668
683
  srcset: e.getAttribute("srcset")
669
684
  });
670
- function pt(e) {
685
+ function vt(e) {
671
686
  let t = { src: e.src || "" };
672
687
  return e.alt && (t.alt = e.alt), e.title && (t.title = e.title), e.width && (t.width = e.width), e.height && (t.height = e.height), e.srcset && (t.srcset = e.srcset), t;
673
688
  }
674
- function mt(e, t) {
689
+ function yt(e, t) {
675
690
  let n = e?.trim();
676
691
  return n ? t || !n.toLowerCase().startsWith("data:") : !1;
677
692
  }
678
- function ht(e, t) {
693
+ function bt(e, t) {
679
694
  let n = t.toUpperCase();
680
695
  return Array.from(e.children).filter((e) => e.tagName === n);
681
696
  }
682
- function gt(e, t) {
683
- let n = ht(e, "img");
697
+ function xt(e, t) {
698
+ let n = bt(e, "img");
684
699
  if (n.length !== 1) return null;
685
700
  let r = n[0];
686
- return r && mt(r.getAttribute("src"), t) ? r : null;
701
+ return r && yt(r.getAttribute("src"), t) ? r : null;
687
702
  }
688
- function U(e, t) {
703
+ function W(e, t) {
689
704
  if (e instanceof F && e.node.type === t) return {
690
705
  imageNode: e.node,
691
706
  imagePos: e.from,
@@ -703,7 +718,7 @@ function U(e, t) {
703
718
  }
704
719
  return null;
705
720
  }
706
- function W(e, t) {
721
+ function G(e, t) {
707
722
  let n = e.view.dom.ownerDocument.getSelection() ?? null;
708
723
  if (!n?.isCollapsed || !n.anchorNode || !e.view.dom.contains(n.anchorNode.nodeType === globalThis.Node.ELEMENT_NODE ? n.anchorNode : n.anchorNode.parentElement)) return null;
709
724
  try {
@@ -718,35 +733,35 @@ function W(e, t) {
718
733
  return null;
719
734
  }
720
735
  }
721
- function G(e, t) {
736
+ function K(e, t) {
722
737
  return e.type === t && !e.attrs.showCaption && e.content.size === 0;
723
738
  }
724
- function K(e, t) {
739
+ function q(e, t) {
725
740
  let { state: n, view: r } = e, i = I.create(n.doc, t);
726
741
  return r.dispatch(n.tr.setSelection(i).scrollIntoView()), !0;
727
742
  }
728
- function q(e, t) {
743
+ function J(e, t) {
729
744
  let { state: n, view: r } = e;
730
745
  return r.dispatch(n.tr.setSelection(F.create(n.doc, t)).scrollIntoView()), !0;
731
746
  }
732
- function _t(e, t, n) {
747
+ function St(e, t, n) {
733
748
  if (!n) return !1;
734
749
  let r = e.doc.resolve(t), i = r.index();
735
750
  return r.parent.canReplaceWith(i, i, n) ? (e.insert(t, n.create()), e.setSelection(I.create(e.doc, t + 1)), !0) : !1;
736
751
  }
737
- function vt(e, t, n, r) {
752
+ function Ct(e, t, n, r) {
738
753
  let i = e.doc.resolve(t), a = i.parent, o = i.index(), s = t;
739
- if (n === 1) for (; o < a.childCount && G(a.child(o), r);) s += a.child(o).nodeSize, o += 1;
740
- else for (; o > 0 && G(a.child(o - 1), r);) --o, s -= a.child(o).nodeSize;
741
- if ((n === 1 ? o === a.childCount : o === 0) && _t(e, s, r.schema.nodes.paragraph)) return !0;
754
+ if (n === 1) for (; o < a.childCount && K(a.child(o), r);) s += a.child(o).nodeSize, o += 1;
755
+ else for (; o > 0 && K(a.child(o - 1), r);) --o, s -= a.child(o).nodeSize;
756
+ if ((n === 1 ? o === a.childCount : o === 0) && St(e, s, r.schema.nodes.paragraph)) return !0;
742
757
  let c = pe.findFrom(e.doc.resolve(s), n, !0);
743
- return c && !(c.$from.parent.type === r && G(c.$from.parent, r)) ? (e.setSelection(c), !0) : !1;
758
+ return c && !(c.$from.parent.type === r && K(c.$from.parent, r)) ? (e.setSelection(c), !0) : !1;
744
759
  }
745
- function J(e, t, n, r) {
760
+ function Y(e, t, n, r) {
746
761
  let { state: i, view: a } = e, o = i.tr;
747
- return vt(o, t, n, r) ? (a.dispatch(o.scrollIntoView()), !0) : !1;
762
+ return Ct(o, t, n, r) ? (a.dispatch(o.scrollIntoView()), !0) : !1;
748
763
  }
749
- function Y(e, t) {
764
+ function X(e, t) {
750
765
  let { $from: n } = e;
751
766
  if (!n.parent.isTextblock || n.depth < 1) return null;
752
767
  let r = n.depth, i = r - 1, a = n.node(i), o = n.index(i) + t;
@@ -757,91 +772,91 @@ function Y(e, t) {
757
772
  position: t === 1 ? s + n.parent.nodeSize : s - c.nodeSize
758
773
  };
759
774
  }
760
- function yt(e, t) {
775
+ function wt(e, t) {
761
776
  if (!e.isEditable) return !1;
762
- let { state: n } = e, r = U(n.selection, t);
763
- if (r?.atStart) return J(e, r.imagePos, -1, t);
777
+ let { state: n } = e, r = W(n.selection, t);
778
+ if (r?.atStart) return Y(e, r.imagePos, -1, t);
764
779
  let { selection: i } = n;
765
780
  if (!(i instanceof I) || !i.empty || i.$from.parentOffset !== 0) return !1;
766
- let a = Y(i, -1);
767
- return !a || a.node.type !== t ? !1 : G(a.node, t) ? J(e, a.position, -1, t) : K(e, a.position + a.node.nodeSize - 1);
781
+ let a = X(i, -1);
782
+ return !a || a.node.type !== t ? !1 : K(a.node, t) ? Y(e, a.position, -1, t) : q(e, a.position + a.node.nodeSize - 1);
768
783
  }
769
- function bt(e, t) {
784
+ function Tt(e, t) {
770
785
  if (!e.isEditable) return !1;
771
- let { state: n } = e, r = U(n.selection, t);
772
- if (r?.atEnd) return J(e, r.imagePos + r.imageNode.nodeSize, 1, t);
786
+ let { state: n } = e, r = W(n.selection, t);
787
+ if (r?.atEnd) return Y(e, r.imagePos + r.imageNode.nodeSize, 1, t);
773
788
  let { selection: i } = n, { $from: a } = i;
774
789
  if (!(i instanceof I) || !i.empty || a.parentOffset !== a.parent.content.size) return !1;
775
- let o = Y(i, 1);
776
- if (o?.node.type === t) return G(o.node, t) ? J(e, o.position + o.node.nodeSize, 1, t) : K(e, o.position + 1);
777
- let s = Y(i, -1);
778
- return !!(!o && s && G(s.node, t));
790
+ let o = X(i, 1);
791
+ if (o?.node.type === t) return K(o.node, t) ? Y(e, o.position + o.node.nodeSize, 1, t) : q(e, o.position + 1);
792
+ let s = X(i, -1);
793
+ return !!(!o && s && K(s.node, t));
779
794
  }
780
- function xt(e, t) {
795
+ function Et(e, t) {
781
796
  if (!e.isEditable) return !1;
782
- let { selection: n } = e.state, r = U(n, t);
783
- if (r && (n instanceof F || n.empty && r.atStart)) return J(e, r.imagePos, -1, t);
797
+ let { selection: n } = e.state, r = W(n, t);
798
+ if (r && (n instanceof F || n.empty && r.atStart)) return Y(e, r.imagePos, -1, t);
784
799
  if (!(n instanceof I) || !n.empty || n.$from.parentOffset !== 0) return !1;
785
- let i = Y(n, -1);
786
- return !i || i.node.type !== t ? !1 : G(i.node, t) ? q(e, i.position) : K(e, i.position + i.node.nodeSize - 1);
800
+ let i = X(n, -1);
801
+ return !i || i.node.type !== t ? !1 : K(i.node, t) ? J(e, i.position) : q(e, i.position + i.node.nodeSize - 1);
787
802
  }
788
- function St(e, t) {
803
+ function Dt(e, t) {
789
804
  if (!e.isEditable) return !1;
790
- let { selection: n } = e.state, r = U(n, t);
791
- if (r && (n instanceof F || n.empty && r.atEnd)) return J(e, r.imagePos + r.imageNode.nodeSize, 1, t);
805
+ let { selection: n } = e.state, r = W(n, t);
806
+ if (r && (n instanceof F || n.empty && r.atEnd)) return Y(e, r.imagePos + r.imageNode.nodeSize, 1, t);
792
807
  if (!(n instanceof I) || !n.empty || n.$from.parentOffset !== n.$from.parent.content.size) return !1;
793
- let i = Y(n, 1);
794
- return !i || i.node.type !== t ? !1 : G(i.node, t) ? q(e, i.position) : K(e, i.position + 1);
808
+ let i = X(n, 1);
809
+ return !i || i.node.type !== t ? !1 : K(i.node, t) ? J(e, i.position) : q(e, i.position + 1);
795
810
  }
796
- function Ct(e, t) {
811
+ function Ot(e, t) {
797
812
  if (!e.isEditable) return !1;
798
- let { state: n, view: r } = e, { selection: i } = n, a = U(i, t);
813
+ let { state: n, view: r } = e, { selection: i } = n, a = W(i, t);
799
814
  if (!a) return !1;
800
815
  let o = n.tr;
801
816
  !(i instanceof F) && !i.empty && o.deleteSelection();
802
817
  let s = o.mapping.map(a.imagePos, -1), c = o.doc.nodeAt(s);
803
818
  if (!c || c.type !== t) return !1;
804
819
  let l = s + c.nodeSize, u = o.doc.resolve(l).nodeAfter, d = n.schema.nodes.paragraph;
805
- return d && u?.type === d && u.content.size === 0 ? (o.setSelection(I.create(o.doc, l + 1)), r.dispatch(o.scrollIntoView()), !0) : _t(o, l, d) || vt(o, l, 1, t) ? (r.dispatch(o.scrollIntoView()), !0) : !1;
820
+ return d && u?.type === d && u.content.size === 0 ? (o.setSelection(I.create(o.doc, l + 1)), r.dispatch(o.scrollIntoView()), !0) : St(o, l, d) || Ct(o, l, 1, t) ? (r.dispatch(o.scrollIntoView()), !0) : !1;
806
821
  }
807
- function wt(e, t) {
822
+ function kt(e, t) {
808
823
  if (!e.isEditable) return !1;
809
- let { state: n, view: r } = e, i = U(n.selection, t), a = n.schema.nodes.hardBreak;
824
+ let { state: n, view: r } = e, i = W(n.selection, t), a = n.schema.nodes.hardBreak;
810
825
  if (!i || n.selection instanceof F || !a || !i.imageNode.contentMatchAt(0).matchType(a)) return !1;
811
826
  let o = n.tr.replaceSelectionWith(a.create());
812
827
  return r.dispatch(o.scrollIntoView()), !0;
813
828
  }
814
- function Tt(e, t) {
829
+ function At(e, t) {
815
830
  if (!e.isEditable) return !1;
816
831
  let { state: n, view: r } = e, { selection: i } = n;
817
- if (i instanceof F && i.node.type === t) return r.dispatch(L(n.tr.deleteSelection()).scrollIntoView()), !0;
818
- let a = W(e, t), o = U(i, t);
819
- if (a?.atStart) return q(e, a.imagePos);
820
- if (o && !(i instanceof F) && i.empty && o.atStart) return q(e, o.imagePos);
832
+ if (i instanceof F && i.node.type === t) return r.dispatch(Te(n.tr.deleteSelection()).scrollIntoView()), !0;
833
+ let a = G(e, t), o = W(i, t);
834
+ if (a?.atStart) return J(e, a.imagePos);
835
+ if (o && !(i instanceof F) && i.empty && o.atStart) return J(e, o.imagePos);
821
836
  if (!(i instanceof I) || !i.empty || i.$from.parentOffset !== 0) return !1;
822
- let s = Y(i, -1);
837
+ let s = X(i, -1);
823
838
  if (!s || s.node.type !== t) return !1;
824
839
  let c = i.$from.parent;
825
840
  if (c.type.name === "paragraph" && c.content.size === 0) {
826
841
  let e = i.$from.before(1), t = i.$from.after(1), a = n.tr.delete(e, t);
827
842
  return a.setSelection(F.create(a.doc, s.position)), r.dispatch(a.scrollIntoView()), !0;
828
843
  }
829
- return q(e, s.position);
844
+ return J(e, s.position);
830
845
  }
831
- function Et(e, t) {
846
+ function jt(e, t) {
832
847
  if (!e.isEditable) return !1;
833
848
  let { state: n, view: r } = e, { selection: i } = n;
834
- if (i instanceof F && i.node.type === t) return r.dispatch(L(n.tr.deleteSelection()).scrollIntoView()), !0;
835
- let a = W(e, t), o = U(i, t);
836
- if (a?.atEnd) return q(e, a.imagePos);
837
- if (o && !(i instanceof F) && i.empty && o.atEnd) return q(e, o.imagePos);
849
+ if (i instanceof F && i.node.type === t) return r.dispatch(Te(n.tr.deleteSelection()).scrollIntoView()), !0;
850
+ let a = G(e, t), o = W(i, t);
851
+ if (a?.atEnd) return J(e, a.imagePos);
852
+ if (o && !(i instanceof F) && i.empty && o.atEnd) return J(e, o.imagePos);
838
853
  if (!(i instanceof I) || !i.empty || i.$from.parentOffset !== i.$from.parent.content.size) return !1;
839
- let s = Y(i, 1);
840
- return !s || s.node.type !== t ? !1 : q(e, s.position);
854
+ let s = X(i, 1);
855
+ return !s || s.node.type !== t ? !1 : J(e, s.position);
841
856
  }
842
- function Dt(e, t) {
857
+ function Mt(e, t) {
843
858
  if (!e.isEditable) return !1;
844
- let { state: n, view: r } = e, i = U(n.selection, t) ?? W(e, t);
859
+ let { state: n, view: r } = e, i = W(n.selection, t) ?? G(e, t);
845
860
  if (!i || n.selection instanceof F) return !1;
846
861
  let a = n.tr;
847
862
  return i.imageNode.content.size === 0 && i.imageNode.attrs.showCaption && (a = a.setNodeMarkup(i.imagePos, void 0, {
@@ -849,7 +864,7 @@ function Dt(e, t) {
849
864
  showCaption: !1
850
865
  })), a = a.setSelection(F.create(a.doc, i.imagePos)), r.dispatch(a.scrollIntoView()), !0;
851
866
  }
852
- var Ot = we.extend({
867
+ var Nt = we.extend({
853
868
  name: "imageBlock",
854
869
  content: "inline*",
855
870
  isolating: !0,
@@ -880,9 +895,9 @@ var Ot = we.extend({
880
895
  return [{
881
896
  tag: "figure",
882
897
  getAttrs: (e) => {
883
- let t = gt(e, this.options.allowBase64);
898
+ let t = xt(e, this.options.allowBase64);
884
899
  return t ? {
885
- ...ft(t),
900
+ ..._t(t),
886
901
  "data-align": e.getAttribute("data-align"),
887
902
  "data-link-href": e.getAttribute("data-link-href"),
888
903
  "data-id": e.getAttribute("data-id") ?? t.getAttribute("data-id"),
@@ -890,14 +905,14 @@ var Ot = we.extend({
890
905
  showCaption: !0
891
906
  } : !1;
892
907
  },
893
- contentElement: (e) => ht(e, "figcaption")[0] ?? e.ownerDocument.createElement("figcaption")
908
+ contentElement: (e) => bt(e, "figcaption")[0] ?? e.ownerDocument.createElement("figcaption")
894
909
  }, {
895
910
  tag: "img",
896
911
  getAttrs: (e) => {
897
- if (!mt(e.getAttribute("src"), this.options.allowBase64)) return !1;
912
+ if (!yt(e.getAttribute("src"), this.options.allowBase64)) return !1;
898
913
  let t = e.closest("figure");
899
- return t && gt(t, this.options.allowBase64) === e ? !1 : {
900
- ...ft(e),
914
+ return t && xt(t, this.options.allowBase64) === e ? !1 : {
915
+ ..._t(e),
901
916
  "data-align": e.getAttribute("data-align"),
902
917
  "data-link-href": e.getAttribute("data-link-href"),
903
918
  "data-id": e.getAttribute("data-id"),
@@ -908,7 +923,7 @@ var Ot = we.extend({
908
923
  }];
909
924
  },
910
925
  renderHTML({ node: e }) {
911
- let { src: t, alt: n, title: r, srcset: i, width: a, height: o, showCaption: s } = e.attrs, c = e.attrs["data-align"], l = e.attrs["data-link-href"], u = e.attrs["data-id"], d = e.attrs["data-mimetype"], f = pt({
926
+ let { src: t, alt: n, title: r, srcset: i, width: a, height: o, showCaption: s } = e.attrs, c = e.attrs["data-align"], l = e.attrs["data-link-href"], u = e.attrs["data-id"], d = e.attrs["data-mimetype"], f = vt({
912
927
  src: t,
913
928
  alt: n,
914
929
  title: r,
@@ -948,19 +963,19 @@ var Ot = we.extend({
948
963
  let l = t.tr.setSelection(I.create(t.doc, s, c));
949
964
  return n.dispatch(l), !0;
950
965
  },
951
- ArrowUp: ({ editor: e }) => yt(e, this.type),
952
- ArrowDown: ({ editor: e }) => bt(e, this.type),
953
- ArrowLeft: ({ editor: e }) => xt(e, this.type),
954
- ArrowRight: ({ editor: e }) => St(e, this.type),
955
- Enter: ({ editor: e }) => Ct(e, this.type),
956
- "Shift-Enter": ({ editor: e }) => wt(e, this.type),
957
- "Mod-Enter": ({ editor: e }) => wt(e, this.type),
958
- Backspace: ({ editor: e }) => Tt(e, this.type),
959
- Delete: ({ editor: e }) => Et(e, this.type),
960
- Escape: ({ editor: e }) => Dt(e, this.type)
966
+ ArrowUp: ({ editor: e }) => wt(e, this.type),
967
+ ArrowDown: ({ editor: e }) => Tt(e, this.type),
968
+ ArrowLeft: ({ editor: e }) => Et(e, this.type),
969
+ ArrowRight: ({ editor: e }) => Dt(e, this.type),
970
+ Enter: ({ editor: e }) => Ot(e, this.type),
971
+ "Shift-Enter": ({ editor: e }) => kt(e, this.type),
972
+ "Mod-Enter": ({ editor: e }) => kt(e, this.type),
973
+ Backspace: ({ editor: e }) => At(e, this.type),
974
+ Delete: ({ editor: e }) => jt(e, this.type),
975
+ Escape: ({ editor: e }) => Mt(e, this.type)
961
976
  };
962
977
  }
963
- }), kt = N.create({
978
+ }), Pt = N.create({
964
979
  name: "levoCollection",
965
980
  atom: !0,
966
981
  group: "block",
@@ -985,7 +1000,23 @@ var Ot = we.extend({
985
1000
  renderHTML({ HTMLAttributes: e }) {
986
1001
  return ["div", P(e, { "data-type": this.name })];
987
1002
  }
988
- }), At = M.create({
1003
+ }), Ft = he.extend({
1004
+ addOptions() {
1005
+ return {
1006
+ ...this.parent?.(),
1007
+ HTMLAttributes: { target: "_blank" }
1008
+ };
1009
+ },
1010
+ addAttributes() {
1011
+ return {
1012
+ ...this.parent?.(),
1013
+ rel: {
1014
+ default: null,
1015
+ renderHTML: (e) => e.target === "_blank" ? { rel: "noopener" } : {}
1016
+ }
1017
+ };
1018
+ }
1019
+ }), It = M.create({
989
1020
  name: "indentAttribute",
990
1021
  addGlobalAttributes() {
991
1022
  return [{
@@ -1009,12 +1040,12 @@ var Ot = we.extend({
1009
1040
  });
1010
1041
  //#endregion
1011
1042
  //#region ../../libraries/editor-core/dist/extensions/nodeStyling/nodeBackground.js
1012
- function jt(e, t) {
1043
+ function Lt(e, t) {
1013
1044
  if (e.length === 0) return null;
1014
1045
  for (let n of e) if ((n.node.attrs?.backgroundColor ?? null) !== t) return t;
1015
1046
  return null;
1016
1047
  }
1017
- var Mt = M.create({
1048
+ var Rt = M.create({
1018
1049
  name: "nodeBackground",
1019
1050
  addOptions() {
1020
1051
  return {
@@ -1053,21 +1084,21 @@ var Mt = M.create({
1053
1084
  return {
1054
1085
  setNodeBackgroundColor: e((e, t) => t || null),
1055
1086
  unsetNodeBackgroundColor: e(() => null),
1056
- toggleNodeBackgroundColor: e((e, t) => jt(e, t || ""))
1087
+ toggleNodeBackgroundColor: e((e, t) => Lt(e, t || ""))
1057
1088
  };
1058
1089
  }
1059
- }), Nt = 35, Pt = 120, Ft = Ne.extend({
1090
+ }), zt = 35, Bt = 120, Vt = Pe.extend({
1060
1091
  group: "layoutBlock",
1061
1092
  addProseMirrorPlugins() {
1062
- let e = this.options.resizable && this.editor.isEditable, t = this.options.cellMinWidth < Pt ? Pt : this.options.cellMinWidth;
1063
- return [...e ? [Oe({
1093
+ let e = this.options.resizable && this.editor.isEditable, t = this.options.cellMinWidth < Bt ? Bt : this.options.cellMinWidth;
1094
+ return [...e ? [ke({
1064
1095
  handleWidth: this.options.handleWidth,
1065
- cellMinWidth: Nt,
1096
+ cellMinWidth: zt,
1066
1097
  defaultCellMinWidth: t,
1067
1098
  lastColumnResizable: this.options.lastColumnResizable
1068
- })] : [], ke({ allowTableNodeSelection: this.options.allowTableNodeSelection })];
1099
+ })] : [], Ae({ allowTableNodeSelection: this.options.allowTableNodeSelection })];
1069
1100
  }
1070
- }), It = Ae.extend({
1101
+ }), Ht = je.extend({
1071
1102
  content: "paragraph+",
1072
1103
  addAttributes() {
1073
1104
  return { ...this.parent?.() };
@@ -1088,7 +1119,7 @@ var Mt = M.create({
1088
1119
  return {
1089
1120
  ...this.parent?.(),
1090
1121
  "Mod-a": () => {
1091
- let { state: e, view: t } = this.editor, { selection: n, doc: r } = e, i = n.$anchor, a = De(i);
1122
+ let { state: e, view: t } = this.editor, { selection: n, doc: r } = e, i = n.$anchor, a = Oe(i);
1092
1123
  if (!a) return !1;
1093
1124
  let o = r.nodeAt(a.pos);
1094
1125
  if (!o || !o.textContent) return !1;
@@ -1099,7 +1130,7 @@ var Mt = M.create({
1099
1130
  }
1100
1131
  };
1101
1132
  }
1102
- }), Lt = je.extend({
1133
+ }), Ut = Me.extend({
1103
1134
  content: "paragraph+",
1104
1135
  addAttributes() {
1105
1136
  return { ...this.parent?.() };
@@ -1116,43 +1147,114 @@ var Mt = M.create({
1116
1147
  0
1117
1148
  ];
1118
1149
  }
1119
- }), Rt = M.create({
1150
+ }), Wt = M.create({
1120
1151
  name: "tableKit",
1121
1152
  addExtensions() {
1122
1153
  let e = [];
1123
- return this.options.table !== !1 && e.push(Ft.configure({
1154
+ return this.options.table !== !1 && e.push(Vt.configure({
1124
1155
  ...this.options.table,
1125
1156
  renderWrapper: !0
1126
- })), this.options.tableCell !== !1 && e.push(It.configure(this.options.tableCell)), this.options.tableHeader !== !1 && e.push(Lt.configure(this.options.tableHeader)), this.options.tableRow !== !1 && e.push(Me.configure(this.options.tableRow)), e;
1157
+ })), this.options.tableCell !== !1 && e.push(Ht.configure(this.options.tableCell)), this.options.tableHeader !== !1 && e.push(Ut.configure(this.options.tableHeader)), this.options.tableRow !== !1 && e.push(Ne.configure(this.options.tableRow)), e;
1158
+ }
1159
+ }), Gt = [
1160
+ "controls",
1161
+ "autoplay",
1162
+ "loop",
1163
+ "muted"
1164
+ ], Z = (e) => e.tagName === "VIDEO" ? e : e.querySelector(":scope > video"), Kt = (e) => e.tagName === "VIDEO" ? e.parentElement : e, qt = N.create({
1165
+ name: "videoBlock",
1166
+ group: "block",
1167
+ atom: !0,
1168
+ addAttributes() {
1169
+ return {
1170
+ src: {
1171
+ default: null,
1172
+ parseHTML: (e) => Z(e)?.getAttribute("src"),
1173
+ renderHTML: () => ({})
1174
+ },
1175
+ "data-id": {
1176
+ default: null,
1177
+ parseHTML: (e) => Z(e)?.getAttribute("data-id"),
1178
+ renderHTML: () => ({})
1179
+ },
1180
+ "data-mimetype": {
1181
+ default: null,
1182
+ parseHTML: (e) => Z(e)?.getAttribute("data-mimetype"),
1183
+ renderHTML: () => ({})
1184
+ },
1185
+ width: {
1186
+ default: null,
1187
+ parseHTML: (e) => V(Kt(e)?.style.width),
1188
+ renderHTML: () => ({})
1189
+ },
1190
+ "data-align": {
1191
+ default: "center",
1192
+ parseHTML: (e) => H(Kt(e)?.getAttribute("data-align")),
1193
+ renderHTML: () => ({})
1194
+ },
1195
+ ...Object.fromEntries(Gt.map((e) => [e, {
1196
+ default: e === "controls",
1197
+ parseHTML: (t) => Z(t)?.hasAttribute(e) ?? !1,
1198
+ renderHTML: () => ({})
1199
+ }]))
1200
+ };
1201
+ },
1202
+ parseHTML() {
1203
+ return [{ tag: "div[data-type=\"videoBlock\"]" }, {
1204
+ tag: "video",
1205
+ getAttrs: (e) => e.parentElement?.getAttribute("data-type") === "videoBlock" ? !1 : null
1206
+ }];
1207
+ },
1208
+ renderHTML({ node: e }) {
1209
+ let { src: t } = e.attrs, n = e.attrs["data-id"], r = e.attrs["data-mimetype"], i = {
1210
+ playsinline: "",
1211
+ preload: "metadata"
1212
+ };
1213
+ for (let t of Gt) e.attrs[t] && (i[t] = "");
1214
+ return e.attrs.autoplay && (i.muted = ""), t && (i.src = t), n && (i["data-id"] = n), r && (i["data-mimetype"] = r), [
1215
+ "div",
1216
+ {
1217
+ "data-type": "videoBlock",
1218
+ "data-align": e.attrs["data-align"],
1219
+ ...U(e.attrs.width)
1220
+ },
1221
+ ["video", i]
1222
+ ];
1223
+ },
1224
+ addCommands() {
1225
+ return { setVideoBlock: (e) => ({ commands: t }) => t.insertContent({
1226
+ type: this.name,
1227
+ attrs: e
1228
+ }) };
1127
1229
  }
1128
- }), zt = (e) => {
1230
+ }), Jt = (e) => {
1129
1231
  let t = D(10), { label: n, href: r, target: i, actionType: a, onActivate: o } = e, s = n || "Button";
1130
- if (B(a) === "button") {
1232
+ if (tt(a) === "button") {
1131
1233
  let e;
1132
1234
  return t[0] !== o || t[1] !== s ? (e = /* @__PURE__ */ k("button", {
1133
- className: z,
1235
+ className: R,
1134
1236
  type: "button",
1135
1237
  onClick: o,
1136
1238
  children: s
1137
1239
  }), t[0] = o, t[1] = s, t[2] = e) : e = t[2], e;
1138
1240
  }
1139
1241
  let c = i === "_blank" ? "_blank" : "_self", l;
1140
- t[3] === r ? l = t[4] : (l = V(r), t[3] = r, t[4] = l);
1242
+ t[3] === r ? l = t[4] : (l = nt(r), t[3] = r, t[4] = l);
1141
1243
  let u = l, d = c === "_blank" ? "noopener noreferrer" : void 0, f;
1142
1244
  return t[5] !== u || t[6] !== c || t[7] !== d || t[8] !== s ? (f = /* @__PURE__ */ k("a", {
1143
- className: z,
1245
+ className: R,
1144
1246
  href: u,
1145
1247
  target: c,
1146
1248
  rel: d,
1147
1249
  children: s
1148
1250
  }), t[5] = u, t[6] = c, t[7] = d, t[8] = s, t[9] = f) : f = t[9], f;
1149
- }, Bt = (e) => {
1251
+ }, Yt = (e) => {
1150
1252
  let t = D(16), { node: n } = e, i;
1151
1253
  t[0] === n?.attrs ? i = t[1] : (i = n?.attrs ?? {}, t[0] = n?.attrs, t[1] = i);
1152
1254
  let a = i, { openPopup: o } = r(), s = a.popupId, c;
1153
1255
  t[2] !== o || t[3] !== s ? (c = s ? () => o(s) : void 0, t[2] = o, t[3] = s, t[4] = c) : c = t[4];
1154
1256
  let l;
1155
- t[5] !== a.actionType || t[6] !== a.href || t[7] !== a.label || t[8] !== a.target || t[9] !== c ? (l = /* @__PURE__ */ k(zt, {
1257
+ t[5] !== a.actionType || t[6] !== a.href || t[7] !== a.label || t[8] !== a.target || t[9] !== c ? (l = /* @__PURE__ */ k(Jt, {
1156
1258
  label: a.label,
1157
1259
  href: a.href,
1158
1260
  target: a.target,
@@ -1167,9 +1269,9 @@ var Mt = M.create({
1167
1269
  "data-align": a.align,
1168
1270
  children: l
1169
1271
  }), t[11] = a.align, t[12] = a.size, t[13] = a.variant, t[14] = l, t[15] = u) : u = t[15], u;
1170
- }, X = null, Vt = () => (X ??= import("lowlight").then(({ common: e, createLowlight: t }) => t(e)).catch((e) => {
1171
- throw X = null, e;
1172
- }), X), Ht = (e, t) => {
1272
+ }, Q = null, Xt = () => (Q ??= import("lowlight").then(({ common: e, createLowlight: t }) => t(e)).catch((e) => {
1273
+ throw Q = null, e;
1274
+ }), Q), Zt = (e, t) => {
1173
1275
  if (e.type === "text") return e.value;
1174
1276
  if (e.type === "element") {
1175
1277
  let { className: n, ...r } = e.properties || {};
@@ -1177,26 +1279,26 @@ var Mt = M.create({
1177
1279
  key: t,
1178
1280
  ...r,
1179
1281
  className: Array.isArray(n) ? n.join(" ") : n
1180
- }, e.children?.map((e, n) => Ht(e, `${t}-${n}`)));
1282
+ }, e.children?.map((e, n) => Zt(e, `${t}-${n}`)));
1181
1283
  }
1182
1284
  return null;
1183
- }, Z = (e) => {
1285
+ }, $ = (e) => {
1184
1286
  if (!e) return "";
1185
1287
  if (typeof e == "string") return e;
1186
1288
  if (e.text) return e.text;
1187
1289
  if (typeof e.textContent == "string") return e.textContent;
1188
1290
  if (e.content) {
1189
- if (Array.isArray(e.content)) return e.content.map(Z).join("");
1291
+ if (Array.isArray(e.content)) return e.content.map($).join("");
1190
1292
  if (typeof e.content.forEach == "function") {
1191
1293
  let t = "";
1192
1294
  return e.content.forEach((e) => {
1193
- t += Z(e);
1295
+ t += $(e);
1194
1296
  }), t;
1195
1297
  }
1196
1298
  }
1197
1299
  return "";
1198
- }, Ut = ({ node: e, children: t }) => {
1199
- let n = oe(Vt()), r = e?.attrs?.language, i = Z(e);
1300
+ }, Qt = ({ node: e, children: t }) => {
1301
+ let n = oe(Xt()), r = e?.attrs?.language, i = $(e);
1200
1302
  if (!i) return /* @__PURE__ */ k("pre", { children: /* @__PURE__ */ k("code", { children: t }) });
1201
1303
  let a;
1202
1304
  try {
@@ -1206,26 +1308,26 @@ var Mt = M.create({
1206
1308
  }
1207
1309
  return !a || !a.children || a.children.length === 0 ? /* @__PURE__ */ k("pre", { children: /* @__PURE__ */ k("code", { children: i }) }) : /* @__PURE__ */ k("pre", { children: /* @__PURE__ */ k("code", {
1208
1310
  className: r ? `language-${r}` : "",
1209
- children: a.children.map((e, t) => Ht(e, `code-${t}`))
1311
+ children: a.children.map((e, t) => Zt(e, `code-${t}`))
1210
1312
  }) });
1211
- }, Wt = (e) => {
1313
+ }, $t = (e) => {
1212
1314
  let t = D(9), n;
1213
- t[0] === e.node ? n = t[1] : (n = Z(e.node), t[0] = e.node, t[1] = n);
1315
+ t[0] === e.node ? n = t[1] : (n = $(e.node), t[0] = e.node, t[1] = n);
1214
1316
  let r = n, i;
1215
1317
  t[2] === r ? i = t[3] : (i = /* @__PURE__ */ k("pre", { children: /* @__PURE__ */ k("code", { children: r }) }), t[2] = r, t[3] = i);
1216
1318
  let a;
1217
- t[4] === e ? a = t[5] : (a = /* @__PURE__ */ k(Ut, { ...e }), t[4] = e, t[5] = a);
1319
+ t[4] === e ? a = t[5] : (a = /* @__PURE__ */ k(Qt, { ...e }), t[4] = e, t[5] = a);
1218
1320
  let o;
1219
1321
  return t[6] !== i || t[7] !== a ? (o = /* @__PURE__ */ k(ie.Suspense, {
1220
1322
  fallback: i,
1221
1323
  children: a
1222
1324
  }), t[6] = i, t[7] = a, t[8] = o) : o = t[8], o;
1223
- }, Q = ae({
1325
+ }, en = ae({
1224
1326
  open: !1,
1225
1327
  toggle: () => {}
1226
- }), Gt = (e) => {
1328
+ }), tn = (e) => {
1227
1329
  let t = D(15), { node: n, children: r } = e, [i, a] = j(!!n.attrs?.open), o;
1228
- t[0] === Symbol.for("react.memo_cache_sentinel") ? (o = () => a(Jt), t[0] = o) : o = t[0];
1330
+ t[0] === Symbol.for("react.memo_cache_sentinel") ? (o = () => a(an), t[0] = o) : o = t[0];
1229
1331
  let s = o, c = i && "is-open", l;
1230
1332
  t[1] === c ? l = t[2] : (l = te("details", c), t[1] = c, t[2] = l);
1231
1333
  let u;
@@ -1240,7 +1342,7 @@ var Mt = M.create({
1240
1342
  toggle: s
1241
1343
  }, t[5] = i, t[6] = d);
1242
1344
  let f;
1243
- t[7] !== r || t[8] !== d ? (f = /* @__PURE__ */ k("div", { children: /* @__PURE__ */ k(Q.Provider, {
1345
+ t[7] !== r || t[8] !== d ? (f = /* @__PURE__ */ k("div", { children: /* @__PURE__ */ k(en.Provider, {
1244
1346
  value: d,
1245
1347
  children: r
1246
1348
  }) }), t[7] = r, t[8] = d, t[9] = f) : f = t[9];
@@ -1250,8 +1352,8 @@ var Mt = M.create({
1250
1352
  "data-open": i,
1251
1353
  children: [u, f]
1252
1354
  }), t[10] = i, t[11] = l, t[12] = u, t[13] = f, t[14] = p) : p = t[14], p;
1253
- }, Kt = (e) => {
1254
- let t = D(7), { children: n } = e, { open: r, toggle: i } = se(Q), a;
1355
+ }, nn = (e) => {
1356
+ let t = D(7), { children: n } = e, { open: r, toggle: i } = se(en), a;
1255
1357
  t[0] === i ? a = t[1] : (a = (e) => {
1256
1358
  (e.key === "Enter" || e.key === " ") && (e.preventDefault(), i());
1257
1359
  }, t[0] = i, t[1] = a);
@@ -1264,8 +1366,8 @@ var Mt = M.create({
1264
1366
  onKeyDown: a,
1265
1367
  children: n
1266
1368
  }), t[2] = n, t[3] = r, t[4] = a, t[5] = i, t[6] = o) : o = t[6], o;
1267
- }, qt = (e) => {
1268
- let t = D(5), { children: n } = e, { open: r } = se(Q), i;
1369
+ }, rn = (e) => {
1370
+ let t = D(5), { children: n } = e, { open: r } = se(en), i;
1269
1371
  t[0] === r ? i = t[1] : (i = r ? {} : { hidden: !0 }, t[0] = r, t[1] = i);
1270
1372
  let a;
1271
1373
  return t[2] !== n || t[3] !== i ? (a = /* @__PURE__ */ k("div", {
@@ -1274,12 +1376,12 @@ var Mt = M.create({
1274
1376
  children: n
1275
1377
  }), t[2] = n, t[3] = i, t[4] = a) : a = t[4], a;
1276
1378
  };
1277
- function Jt(e) {
1379
+ function an(e) {
1278
1380
  return !e;
1279
1381
  }
1280
1382
  //#endregion
1281
1383
  //#region ../../libraries/blog-renderer/dist/views/ImageView.cssm.js
1282
- var Yt = "_10kj0ro0", Xt = "_10kj0ro1", Zt = "_10kj0ro2", Qt = (e) => e ? typeof e == "string" && e.endsWith("%") ? e : `${e}px` : "fit-content", $t = (e) => {
1384
+ var on = "_10kj0ro0", sn = "_10kj0ro1", cn = "_10kj0ro2", ln = (e) => e ? typeof e == "string" && e.endsWith("%") ? e : `${e}px` : "fit-content", un = (e) => {
1283
1385
  let t = D(15), { node: n, children: r, imageRef: i, imageProps: a, caption: o } = e, s = n.attrs, { src: c, alt: l, srcset: u, showCaption: d } = s, f = s["data-link-href"], p = n.content.childCount > 0, m = o === void 0 ? r : o, h = (d || p) && m != null;
1284
1386
  if (!c) return null;
1285
1387
  let g = l || "", _ = u || void 0, v;
@@ -1288,7 +1390,7 @@ var Yt = "_10kj0ro0", Xt = "_10kj0ro1", Zt = "_10kj0ro2", Qt = (e) => e ? typeof
1288
1390
  src: c,
1289
1391
  alt: g,
1290
1392
  srcSet: _,
1291
- className: Zt,
1393
+ className: cn,
1292
1394
  loading: "lazy",
1293
1395
  ...a
1294
1396
  }), t[0] = a, t[1] = i, t[2] = c, t[3] = g, t[4] = _, t[5] = v) : v = t[5];
@@ -1306,31 +1408,31 @@ var Yt = "_10kj0ro0", Xt = "_10kj0ro1", Zt = "_10kj0ro2", Qt = (e) => e ? typeof
1306
1408
  }), t[9] = m, t[10] = h, t[11] = x) : x = t[11];
1307
1409
  let S;
1308
1410
  return t[12] !== b || t[13] !== x ? (S = /* @__PURE__ */ A(ne, { children: [b, x] }), t[12] = b, t[13] = x, t[14] = S) : S = t[14], S;
1309
- }, en = (e) => {
1411
+ }, dn = (e) => {
1310
1412
  let t = D(13), { node: n, children: r } = e, i = n.attrs, a = i["data-align"];
1311
1413
  if (!i.src) return null;
1312
1414
  let o;
1313
- t[0] === i.width ? o = t[1] : (o = Qt(i.width), t[0] = i.width, t[1] = o);
1415
+ t[0] === i.width ? o = t[1] : (o = ln(i.width), t[0] = i.width, t[1] = o);
1314
1416
  let s;
1315
1417
  t[2] === o ? s = t[3] : (s = { width: o }, t[2] = o, t[3] = s);
1316
1418
  let c;
1317
- t[4] !== r || t[5] !== n ? (c = /* @__PURE__ */ k($t, {
1419
+ t[4] !== r || t[5] !== n ? (c = /* @__PURE__ */ k(un, {
1318
1420
  node: n,
1319
1421
  children: r
1320
1422
  }), t[4] = r, t[5] = n, t[6] = c) : c = t[6];
1321
1423
  let l;
1322
1424
  t[7] !== s || t[8] !== c ? (l = /* @__PURE__ */ k("div", {
1323
- className: Xt,
1425
+ className: sn,
1324
1426
  style: s,
1325
1427
  children: c
1326
1428
  }), t[7] = s, t[8] = c, t[9] = l) : l = t[9];
1327
1429
  let u;
1328
1430
  return t[10] !== a || t[11] !== l ? (u = /* @__PURE__ */ k("div", {
1329
1431
  "data-align": a,
1330
- className: Yt,
1432
+ className: on,
1331
1433
  children: l
1332
1434
  }), t[10] = a, t[11] = l, t[12] = u) : u = t[12], u;
1333
- }, tn = "_1dotpmp0", nn = (t) => {
1435
+ }, fn = "_1dotpmp0", pn = (t) => {
1334
1436
  let n = D(10), { collectionId: r, workspaceId: i, preview: a, variant: o } = t, s = a === void 0 ? !1 : a, c = o ?? void 0, l;
1335
1437
  n[0] === Symbol.for("react.memo_cache_sentinel") ? (l = {
1336
1438
  show: !0,
@@ -1354,31 +1456,55 @@ var Yt = "_10kj0ro0", Xt = "_10kj0ro1", Zt = "_10kj0ro2", Qt = (e) => e ? typeof
1354
1456
  uiConfig: u,
1355
1457
  theme: d
1356
1458
  }), n[4] = r, n[5] = s, n[6] = c, n[7] = d, n[8] = i, n[9] = f) : f = n[9], f;
1357
- }, rn = (e) => {
1459
+ }, mn = (e) => {
1358
1460
  let n = D(4), { node: r } = e, i = r?.attrs?.collectionId, a = r?.attrs?.variant, { workspace: o } = t();
1359
1461
  if (!i || !o) return null;
1360
1462
  let s;
1361
1463
  return n[0] !== i || n[1] !== a || n[2] !== o ? (s = /* @__PURE__ */ k("div", {
1362
- className: tn,
1363
- children: /* @__PURE__ */ k(nn, {
1464
+ className: fn,
1465
+ children: /* @__PURE__ */ k(pn, {
1364
1466
  collectionId: i,
1365
1467
  workspaceId: o,
1366
1468
  variant: a
1367
1469
  })
1368
1470
  }), n[0] = i, n[1] = a, n[2] = o, n[3] = s) : s = n[3], s;
1369
- }, an = /^((?:https?:)?\/\/)?((?:www|m|music)\.)?((?:youtube\.com|youtu\.be|youtube-nocookie\.com))(\/(?:[\w-]+\?v=|embed\/|v\/)?)([\w-]+)(\S+)?$/, on = /^((?:https?:)?\/\/)?((?:www|m|music)\.)?((?:youtube\.com|youtu\.be|youtube-nocookie\.com))(\/(?:[\w-]+\?v=|embed\/|v\/)?)([\w-]+)(\S+)?$/g, $ = (e) => e.match(an), sn = (e, t) => t ? "https://www.youtube-nocookie.com/embed/videoseries?list=" : e ? "https://www.youtube-nocookie.com/embed/" : "https://www.youtube.com/embed/", cn = (e) => {
1471
+ }, hn = (e) => {
1472
+ let t = D(14), { node: n } = e, r = n.attrs;
1473
+ if (!r.src) return null;
1474
+ let i = r["data-align"] ?? "center", a;
1475
+ t[0] === r.width ? a = t[1] : (a = B(r.width) ? { width: mt(r.width) } : void 0, t[0] = r.width, t[1] = a);
1476
+ let o = r["data-id"] ?? void 0, s = r["data-mimetype"] ?? void 0, c = r.muted || r.autoplay, l;
1477
+ t[2] !== r.autoplay || t[3] !== r.controls || t[4] !== r.loop || t[5] !== r.src || t[6] !== o || t[7] !== s || t[8] !== c ? (l = /* @__PURE__ */ k("video", {
1478
+ src: r.src,
1479
+ "data-id": o,
1480
+ "data-mimetype": s,
1481
+ controls: r.controls,
1482
+ autoPlay: r.autoplay,
1483
+ loop: r.loop,
1484
+ muted: c,
1485
+ playsInline: !0,
1486
+ preload: "metadata"
1487
+ }), t[2] = r.autoplay, t[3] = r.controls, t[4] = r.loop, t[5] = r.src, t[6] = o, t[7] = s, t[8] = c, t[9] = l) : l = t[9];
1488
+ let u;
1489
+ return t[10] !== i || t[11] !== a || t[12] !== l ? (u = /* @__PURE__ */ k("div", {
1490
+ "data-type": "videoBlock",
1491
+ "data-align": i,
1492
+ style: a,
1493
+ children: l
1494
+ }), t[10] = i, t[11] = a, t[12] = l, t[13] = u) : u = t[13], u;
1495
+ }, gn = /^((?:https?:)?\/\/)?((?:www|m|music)\.)?((?:youtube\.com|youtu\.be|youtube-nocookie\.com))(\/(?:[\w-]+\?v=|embed\/|v\/)?)([\w-]+)(\S+)?$/, _n = /^((?:https?:)?\/\/)?((?:www|m|music)\.)?((?:youtube\.com|youtu\.be|youtube-nocookie\.com))(\/(?:[\w-]+\?v=|embed\/|v\/)?)([\w-]+)(\S+)?$/g, vn = (e) => e.match(gn), yn = (e, t) => t ? "https://www.youtube-nocookie.com/embed/videoseries?list=" : e ? "https://www.youtube-nocookie.com/embed/" : "https://www.youtube.com/embed/", bn = (e) => {
1370
1496
  let { url: t, allowFullscreen: n, autoplay: r, ccLanguage: i, ccLoadPolicy: a, controls: o, disableKBcontrols: s, enableIFrameApi: c, endTime: l, interfaceLanguage: u, ivLoadPolicy: d, loop: f, modestBranding: p, nocookie: m, origin: h, playlist: g, progressBarColor: _, startAt: v, rel: y } = e;
1371
- if (!$(t)) return null;
1497
+ if (!vn(t)) return null;
1372
1498
  if (t.includes("/embed/")) return t;
1373
1499
  if (t.includes("youtu.be")) {
1374
1500
  let e = t.split("/").pop();
1375
- return e ? `${sn(m)}${e}` : null;
1501
+ return e ? `${yn(m)}${e}` : null;
1376
1502
  }
1377
1503
  let b = /(?:(v|list)=|shorts\/)([-\w]+)/gm.exec(t);
1378
1504
  if (!b || !b[2]) return null;
1379
- let x = `${sn(m, b[1] === "list")}${b[2]}`, S = [];
1505
+ let x = `${yn(m, b[1] === "list")}${b[2]}`, S = [];
1380
1506
  return n === !1 && S.push("fs=0"), r && S.push("autoplay=1"), i && S.push(`cc_lang_pref=${i}`), a && S.push("cc_load_policy=1"), o || S.push("controls=0"), s && S.push("disablekb=1"), c && S.push("enablejsapi=1"), l && S.push(`end=${l}`), u && S.push(`hl=${u}`), d && S.push(`iv_load_policy=${d}`), f && S.push("loop=1"), p && S.push("modestbranding=1"), h && S.push(`origin=${h}`), g && S.push(`playlist=${g}`), v && S.push(`start=${v}`), _ && S.push(`color=${_}`), y !== void 0 && S.push(`rel=${y}`), S.length && (x += `${b[1] === "list" ? "&" : "?"}${S.join("&")}`), x;
1381
- }, ln = (e) => {
1507
+ }, xn = (e) => {
1382
1508
  let t;
1383
1509
  try {
1384
1510
  t = new URL(e);
@@ -1397,23 +1523,23 @@ var Yt = "_10kj0ro0", Xt = "_10kj0ro1", Zt = "_10kj0ro2", Qt = (e) => e ? typeof
1397
1523
  if (!e?.[1]) return null;
1398
1524
  r = `https://www.youtube.com/watch?v=${e[1]}`;
1399
1525
  }
1400
- if (!$(r)) return null;
1526
+ if (!vn(r)) return null;
1401
1527
  let i = { src: r }, a = t.searchParams.get("start");
1402
1528
  if (a) {
1403
1529
  let e = Number.parseInt(a, 10);
1404
1530
  Number.isNaN(e) || (i.start = e);
1405
1531
  }
1406
1532
  return i;
1407
- }, un = (e) => {
1533
+ }, Sn = (e) => {
1408
1534
  if (!e) return null;
1409
1535
  let t = e.trim();
1410
1536
  if (t === "") return null;
1411
1537
  let n = Number(t);
1412
1538
  return Number.isNaN(n) ? t : n;
1413
- }, dn = (e) => {
1539
+ }, Cn = (e) => {
1414
1540
  let t = e.getAttribute("src");
1415
- return t ? ln(t) || { src: t } : null;
1416
- }, fn = N.create({
1541
+ return t ? xn(t) || { src: t } : null;
1542
+ }, wn = N.create({
1417
1543
  name: "youtube",
1418
1544
  addOptions() {
1419
1545
  return {
@@ -1452,19 +1578,19 @@ var Yt = "_10kj0ro0", Xt = "_10kj0ro1", Zt = "_10kj0ro2", Qt = (e) => e ? typeof
1452
1578
  return {
1453
1579
  src: {
1454
1580
  default: null,
1455
- parseHTML: (e) => dn(e)?.src
1581
+ parseHTML: (e) => Cn(e)?.src
1456
1582
  },
1457
1583
  start: {
1458
1584
  default: 0,
1459
- parseHTML: (e) => dn(e)?.start
1585
+ parseHTML: (e) => Cn(e)?.start
1460
1586
  },
1461
1587
  width: {
1462
1588
  default: this.options.width,
1463
- parseHTML: (e) => un(e.getAttribute("width"))
1589
+ parseHTML: (e) => Sn(e.getAttribute("width"))
1464
1590
  },
1465
1591
  height: {
1466
1592
  default: this.options.height,
1467
- parseHTML: (e) => un(e.getAttribute("height"))
1593
+ parseHTML: (e) => Sn(e.getAttribute("height"))
1468
1594
  }
1469
1595
  };
1470
1596
  },
@@ -1472,20 +1598,20 @@ var Yt = "_10kj0ro0", Xt = "_10kj0ro1", Zt = "_10kj0ro2", Qt = (e) => e ? typeof
1472
1598
  return [{ tag: "div[data-youtube-video] iframe" }];
1473
1599
  },
1474
1600
  addCommands() {
1475
- return { setYoutubeVideo: (e) => ({ commands: t }) => $(e.src) ? t.insertContent({
1601
+ return { setYoutubeVideo: (e) => ({ commands: t }) => vn(e.src) ? t.insertContent({
1476
1602
  type: this.name,
1477
1603
  attrs: e
1478
1604
  }) : !1 };
1479
1605
  },
1480
1606
  addPasteRules() {
1481
1607
  return this.options.addPasteHandler ? [fe({
1482
- find: on,
1608
+ find: _n,
1483
1609
  type: this.type,
1484
1610
  getAttributes: (e) => ({ src: e.input })
1485
1611
  })] : [];
1486
1612
  },
1487
1613
  renderHTML({ HTMLAttributes: e }) {
1488
- return e.src = cn({
1614
+ return e.src = bn({
1489
1615
  url: e.src,
1490
1616
  allowFullscreen: this.options.allowFullscreen,
1491
1617
  autoplay: this.options.autoplay,
@@ -1538,8 +1664,40 @@ var Yt = "_10kj0ro0", Xt = "_10kj0ro1", Zt = "_10kj0ro2", Qt = (e) => e ? typeof
1538
1664
  "start"
1539
1665
  ]
1540
1666
  })
1541
- }), pn = [
1542
- ct,
1667
+ }).extend({
1668
+ addAttributes() {
1669
+ let e = this.parent?.() ?? {};
1670
+ return {
1671
+ ...e,
1672
+ width: {
1673
+ ...e.width,
1674
+ parseHTML: (t) => V(t.parentElement?.style.width) ?? e.width?.parseHTML?.(t),
1675
+ renderHTML: (e) => B(e.width) ? {} : { width: e.width }
1676
+ },
1677
+ "data-align": {
1678
+ default: "center",
1679
+ parseHTML: (e) => H(e.parentElement?.getAttribute("data-align")),
1680
+ renderHTML: () => ({})
1681
+ }
1682
+ };
1683
+ },
1684
+ renderHTML(e) {
1685
+ let [t, n, r] = this.parent?.(e);
1686
+ return [
1687
+ t,
1688
+ P(n, {
1689
+ "data-align": e.node.attrs["data-align"],
1690
+ ...U(e.node.attrs.width)
1691
+ }),
1692
+ r
1693
+ ];
1694
+ }
1695
+ }).configure({
1696
+ allowFullscreen: !0,
1697
+ nocookie: !0,
1698
+ HTMLAttributes: { referrerpolicy: "strict-origin-when-cross-origin" }
1699
+ }), Tn = [
1700
+ dt,
1543
1701
  h,
1544
1702
  d,
1545
1703
  s,
@@ -1553,17 +1711,17 @@ var Yt = "_10kj0ro0", Xt = "_10kj0ro1", Zt = "_10kj0ro2", Qt = (e) => e ? typeof
1553
1711
  me,
1554
1712
  c,
1555
1713
  _,
1556
- he.configure({ openOnClick: !1 }),
1714
+ Ft,
1557
1715
  Se,
1558
1716
  i,
1717
+ Le,
1559
1718
  Ie,
1560
1719
  Fe,
1561
- Pe,
1562
1720
  g,
1563
1721
  b.configure({ multicolor: !0 }),
1564
- Mt,
1722
+ Rt,
1565
1723
  x,
1566
- Le.configure({ types: [
1724
+ Re.configure({ types: [
1567
1725
  "table",
1568
1726
  "paragraph",
1569
1727
  "bulletList",
@@ -1573,44 +1731,42 @@ var Yt = "_10kj0ro0", Xt = "_10kj0ro1", Zt = "_10kj0ro2", Qt = (e) => e ? typeof
1573
1731
  "blockquoteFigure",
1574
1732
  "codeBlock"
1575
1733
  ] }),
1576
- Ee.configure({ itemTypeName: "taskItem" }),
1577
- Te.configure({ nested: !0 }),
1578
- Rt.configure({ table: { cellMinWidth: 120 } }),
1579
- Ot,
1580
- At,
1734
+ De.configure({ itemTypeName: "taskItem" }),
1735
+ Ee.configure({ nested: !0 }),
1736
+ Wt.configure({ table: { cellMinWidth: 120 } }),
1737
+ Nt,
1738
+ It,
1581
1739
  C,
1582
- Qe,
1583
- et,
1584
- st,
1585
- at,
1586
- dt,
1587
- lt,
1588
- tt,
1589
- nt,
1590
- fn.configure({
1591
- allowFullscreen: !0,
1592
- nocookie: !0,
1593
- HTMLAttributes: { referrerpolicy: "strict-origin-when-cross-origin" }
1594
- }),
1740
+ $e,
1741
+ rt,
1595
1742
  ut,
1596
- kt,
1597
- $e
1598
- ], mn = (e) => m(e, pn), hn = (e) => {
1743
+ ct,
1744
+ gt,
1745
+ ft,
1746
+ it,
1747
+ at,
1748
+ wn,
1749
+ ht,
1750
+ qt,
1751
+ Pt,
1752
+ et
1753
+ ], En = (e) => m(e, Tn), Dn = (e) => {
1599
1754
  let t = D(18), n, r, i, a, o;
1600
1755
  t[0] === e ? (n = t[1], r = t[2], i = t[3], a = t[4], o = t[5]) : ({content: r, className: n, ref: i, theme: o, ...a} = e, t[0] = e, t[1] = n, t[2] = r, t[3] = i, t[4] = a, t[5] = o);
1601
1756
  let s;
1602
1757
  t[6] === r ? s = t[7] : (s = y({
1603
1758
  content: r,
1604
- extensions: pn,
1759
+ extensions: Tn,
1605
1760
  options: { nodeMapping: {
1606
- bookmark: Je,
1607
- button: Bt,
1608
- details: Gt,
1609
- detailsSummary: Kt,
1610
- detailsContent: qt,
1611
- codeBlock: Wt,
1612
- imageBlock: en,
1613
- levoCollection: rn
1761
+ bookmark: Ye,
1762
+ button: Yt,
1763
+ details: tn,
1764
+ detailsSummary: nn,
1765
+ detailsContent: rn,
1766
+ codeBlock: $t,
1767
+ imageBlock: dn,
1768
+ levoCollection: mn,
1769
+ videoBlock: hn
1614
1770
  } }
1615
1771
  }), t[6] = r, t[7] = s);
1616
1772
  let c = s, l;
@@ -1627,18 +1783,18 @@ var Yt = "_10kj0ro0", Xt = "_10kj0ro1", Zt = "_10kj0ro2", Qt = (e) => e ? typeof
1627
1783
  theme: o,
1628
1784
  children: u
1629
1785
  }), t[15] = u, t[16] = o, t[17] = d) : d = t[17], d;
1630
- }, gn = (e) => {
1786
+ }, On = (e) => {
1631
1787
  if (!e) return null;
1632
- if (typeof e == "string") return e.trim() ? mn(e) : null;
1788
+ if (typeof e == "string") return e.trim() ? En(e) : null;
1633
1789
  if (typeof e != "object") return null;
1634
1790
  let t = e;
1635
- return t.json ? t.json : typeof t.html == "string" ? t.html.trim() ? mn(t.html) : null : t.type === "doc" ? t : null;
1636
- }, _n = ({ content: e, ...t }) => {
1637
- let n = gn(e);
1638
- return n ? /* @__PURE__ */ k(hn, {
1791
+ return t.json ? t.json : typeof t.html == "string" ? t.html.trim() ? En(t.html) : null : t.type === "doc" ? t : null;
1792
+ }, kn = ({ content: e, ...t }) => {
1793
+ let n = On(e);
1794
+ return n ? /* @__PURE__ */ k(Dn, {
1639
1795
  content: n,
1640
1796
  ...t
1641
1797
  }) : null;
1642
1798
  };
1643
1799
  //#endregion
1644
- export { _n as LevoBlogContent };
1800
+ export { kn as LevoBlogContent };