@bloklabs/cli 1.11.0 → 1.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/dist/block-builder-B_eFe3eS.mjs +673 -0
  2. package/dist/block-builder-BhbHyKmd.mjs +673 -0
  3. package/dist/block-builder-Cp5f8JCh.mjs +779 -0
  4. package/dist/cli.mjs +5 -7
  5. package/dist/convert-gdocs-4swiirRR.mjs +198 -0
  6. package/dist/convert-gdocs-6yY_wt82.mjs +182 -0
  7. package/dist/convert-gdocs-BDD1tJ_Q.mjs +168 -0
  8. package/dist/convert-gdocs-BLvHjlsM.mjs +198 -0
  9. package/dist/convert-gdocs-BVnty-_F.mjs +186 -0
  10. package/dist/convert-gdocs-BZA8nIXm.mjs +165 -0
  11. package/dist/convert-gdocs-BeTateXm.mjs +168 -0
  12. package/dist/convert-gdocs-BhHRt3Cx.mjs +168 -0
  13. package/dist/convert-gdocs-BnJm2wSS.mjs +165 -0
  14. package/dist/convert-gdocs-Bp3j6l4q.mjs +182 -0
  15. package/dist/convert-gdocs-BvHmiAhV.mjs +168 -0
  16. package/dist/convert-gdocs-Bw88sUiB.mjs +168 -0
  17. package/dist/convert-gdocs-BxtZIyfN.mjs +168 -0
  18. package/dist/convert-gdocs-C2s8p7mh.mjs +168 -0
  19. package/dist/convert-gdocs-C71xkLGm.mjs +165 -0
  20. package/dist/convert-gdocs-CBRViTQf.mjs +180 -0
  21. package/dist/convert-gdocs-CHHN9rsx.mjs +168 -0
  22. package/dist/convert-gdocs-CKB34RE1.mjs +168 -0
  23. package/dist/convert-gdocs-CN976X03.mjs +208 -0
  24. package/dist/convert-gdocs-CP4hP3lh.mjs +165 -0
  25. package/dist/convert-gdocs-CdKyF8Q9.mjs +168 -0
  26. package/dist/convert-gdocs-Ckxs9BwZ.mjs +165 -0
  27. package/dist/convert-gdocs-CuJPQDXZ.mjs +198 -0
  28. package/dist/convert-gdocs-CwqIzHDl.mjs +165 -0
  29. package/dist/convert-gdocs-D0GC6YDQ.mjs +165 -0
  30. package/dist/convert-gdocs-D2pNV_P2.mjs +165 -0
  31. package/dist/convert-gdocs-DGmfsVqf.mjs +165 -0
  32. package/dist/convert-gdocs-DLaumLJ0.mjs +182 -0
  33. package/dist/convert-gdocs-DTOupd5x.mjs +198 -0
  34. package/dist/convert-gdocs-DfDkgIvB.mjs +168 -0
  35. package/dist/convert-gdocs-Dg4BvXJv.mjs +165 -0
  36. package/dist/convert-gdocs-DgEV2uq0.mjs +168 -0
  37. package/dist/convert-gdocs-DhqPnu2C.mjs +182 -0
  38. package/dist/convert-gdocs-DmNzRwar.mjs +198 -0
  39. package/dist/convert-gdocs-DxCZJg3f.mjs +168 -0
  40. package/dist/convert-gdocs-Dxv8hZRN.mjs +168 -0
  41. package/dist/convert-gdocs-Dy45OFlW.mjs +198 -0
  42. package/dist/convert-gdocs-E0xZ8aMJ.mjs +168 -0
  43. package/dist/convert-gdocs-Gr31yEVO.mjs +168 -0
  44. package/dist/convert-gdocs-QvYOI8ct.mjs +204 -0
  45. package/dist/convert-gdocs-Y3Psy87D.mjs +186 -0
  46. package/dist/convert-gdocs-aFuepVmO.mjs +198 -0
  47. package/dist/convert-gdocs-qBKpfEIJ.mjs +168 -0
  48. package/dist/convert-gdocs-tLm59QcA.mjs +198 -0
  49. package/dist/convert-gdocs-xm_P1jci.mjs +186 -0
  50. package/dist/convert-gdocs-yWEz40tc.mjs +198 -0
  51. package/dist/convert-html--cLXJ4AY.mjs +13 -0
  52. package/dist/convert-html-2MRXCAV7.mjs +13 -0
  53. package/dist/convert-html-2hMWDvO2.mjs +13 -0
  54. package/dist/convert-html-8dOFToww.mjs +13 -0
  55. package/dist/convert-html-B0G5pVra.mjs +13 -0
  56. package/dist/convert-html-BE95-_tJ.mjs +13 -0
  57. package/dist/convert-html-BJmjy5WC.mjs +13 -0
  58. package/dist/convert-html-BLSIt9Cz.mjs +13 -0
  59. package/dist/convert-html-BM5cG4wR.mjs +13 -0
  60. package/dist/convert-html-BMfw-V_A.mjs +13 -0
  61. package/dist/convert-html-Bi6ervFd.mjs +13 -0
  62. package/dist/convert-html-BkMfT06o.mjs +13 -0
  63. package/dist/convert-html-BwGfSIdd.mjs +13 -0
  64. package/dist/convert-html-BxOQfxMe.mjs +13 -0
  65. package/dist/convert-html-C1hIHsG2.mjs +13 -0
  66. package/dist/convert-html-C5HKrrnY.mjs +13 -0
  67. package/dist/convert-html-CMgcEfdF.mjs +13 -0
  68. package/dist/convert-html-CSFMRW8-.mjs +13 -0
  69. package/dist/convert-html-CUYvaNyX.mjs +13 -0
  70. package/dist/convert-html-CWU4BKK2.mjs +13 -0
  71. package/dist/convert-html-C_XAR-3k.mjs +13 -0
  72. package/dist/convert-html-CblPztis.mjs +13 -0
  73. package/dist/convert-html-CtLOMx8H.mjs +13 -0
  74. package/dist/convert-html-D-QH5JkA.mjs +13 -0
  75. package/dist/convert-html-D4ge5XCh.mjs +13 -0
  76. package/dist/convert-html-D8Q3QlMm.mjs +13 -0
  77. package/dist/convert-html-DCWeObhy.mjs +13 -0
  78. package/dist/convert-html-DLCj5_Ti.mjs +13 -0
  79. package/dist/convert-html-DNyat7Li.mjs +13 -0
  80. package/dist/convert-html-DofDta-k.mjs +13 -0
  81. package/dist/convert-html-Dr2a_D0l.mjs +13 -0
  82. package/dist/convert-html-DsfU0_R9.mjs +13 -0
  83. package/dist/convert-html-DtP-Ofru.mjs +13 -0
  84. package/dist/convert-html-GFOTARll.mjs +13 -0
  85. package/dist/convert-html-HPcZYDNv.mjs +13 -0
  86. package/dist/convert-html-JmnpFRtf.mjs +13 -0
  87. package/dist/convert-html-Qy4nomiO.mjs +13 -0
  88. package/dist/convert-html-XLlIOrad.mjs +13 -0
  89. package/dist/convert-html-Y87KeWXA.mjs +13 -0
  90. package/dist/convert-html-dnxmpyLt.mjs +13 -0
  91. package/dist/convert-html-gVS6hEIk.mjs +13 -0
  92. package/dist/convert-html-nZIHLjp5.mjs +13 -0
  93. package/dist/convert-html-pNLuv-6b.mjs +13 -0
  94. package/dist/convert-html-vk0C2MGe.mjs +13 -0
  95. package/dist/convert-html-wpLDZrzb.mjs +13 -0
  96. package/package.json +1 -1
@@ -0,0 +1,168 @@
1
+ import { a as e, i as t, n, o as r, r as i, t as a } from "./block-builder-B_eFe3eS.mjs";
2
+ //#region src/components/modules/paste/google-docs-preprocessor.ts
3
+ function o(e) {
4
+ let t = document.createElement("div");
5
+ t.innerHTML = e;
6
+ let n = p(t);
7
+ return T(t, n), n && (D(t), f(t)), t.innerHTML;
8
+ }
9
+ function s(e, t) {
10
+ let n = e.parentElement;
11
+ return n === null ? null : n === t ? e : s(n, t);
12
+ }
13
+ function c(e, t, n) {
14
+ let r = e.cloneNode(!1), i = [];
15
+ for (let n of Array.from(e.childNodes)) {
16
+ if (n === t) break;
17
+ i.push(n);
18
+ }
19
+ return i.forEach((e) => r.appendChild(e)), n !== null && r.appendChild(n), r.childNodes.length > 0 ? r : null;
20
+ }
21
+ function l(e, t, n) {
22
+ let r = e.cloneNode(!1), i = Array.from(e.childNodes), a = i.findIndex((e) => e === t), o = i.slice(a + 1);
23
+ return n !== null && r.appendChild(n), o.forEach((e) => r.appendChild(e)), r.childNodes.length > 0 ? r : null;
24
+ }
25
+ function u(e, t) {
26
+ let n = (e, r, i) => {
27
+ if (e === t) return {
28
+ before: r,
29
+ after: i
30
+ };
31
+ let a = e.parentElement;
32
+ return a === null ? {
33
+ before: r,
34
+ after: i
35
+ } : n(a, c(a, e, r), l(a, e, i));
36
+ };
37
+ return n(e, null, null);
38
+ }
39
+ function d(e, t) {
40
+ let n = e.parentElement;
41
+ return n === null || n === t ? !1 : n.tagName === "TABLE" ? !0 : d(n, t);
42
+ }
43
+ function f(e) {
44
+ let t = Array.from(e.querySelectorAll("img"));
45
+ for (let n of t) {
46
+ if (d(n, e)) continue;
47
+ let t = s(n, e);
48
+ if (!t) continue;
49
+ let { before: r, after: i } = u(n, t), a = document.createDocumentFragment();
50
+ r && a.appendChild(r), a.appendChild(n), i && a.appendChild(i), t.replaceWith(a);
51
+ }
52
+ }
53
+ function p(e) {
54
+ let t = e.querySelector("b[id^=\"docs-internal-guid-\"]");
55
+ if (!t) return !1;
56
+ let n = document.createDocumentFragment();
57
+ for (; t.firstChild;) n.appendChild(t.firstChild);
58
+ return t.replaceWith(n), !0;
59
+ }
60
+ function m(e, t, n) {
61
+ return e ? `background-color: ${n}` : t ? "background-color: transparent" : "";
62
+ }
63
+ function h(e) {
64
+ let t = e.replace(/\s/g, "");
65
+ return t === "rgb(0,0,0)" || t === "#000000";
66
+ }
67
+ function g(e) {
68
+ if (e.closest("a") !== null) return !0;
69
+ let t = e.querySelector("a");
70
+ return t !== null && t.textContent?.trim() === e.textContent?.trim();
71
+ }
72
+ function _(e) {
73
+ let t = e.replace(/\s/g, "").toLowerCase(), n = /^rgba?\((\d+),(\d+),(\d+)(?:,[\d.]+)?\)$/.exec(t);
74
+ if (n) {
75
+ let e = parseInt(n[1], 10) / 255, t = parseInt(n[2], 10) / 255, r = parseInt(n[3], 10) / 255;
76
+ return .2126 * e + .7152 * t + .0722 * r;
77
+ }
78
+ let r = /^hsla?\(([\d.]+),([\d.]+)%,([\d.]+)%(?:,[\d.]+)?\)$/.exec(t);
79
+ if (r) {
80
+ let e = parseFloat(r[1]) / 360, t = parseFloat(r[2]) / 100, n = parseFloat(r[3]) / 100;
81
+ if (t === 0) return .2126 * n + .7152 * n + .0722 * n;
82
+ let i = n < .5 ? n * (1 + t) : n + t - n * t, a = 2 * n - i, o = (e) => {
83
+ let t = e < 0 ? e + 1 : e > 1 ? e - 1 : e;
84
+ return t < 1 / 6 ? a + (i - a) * 6 * t : t < 1 / 2 ? i : t < 2 / 3 ? a + (i - a) * (2 / 3 - t) * 6 : a;
85
+ }, s = o(e + 1 / 3), c = o(e), l = o(e - 1 / 3);
86
+ return .2126 * s + .7152 * c + .0722 * l;
87
+ }
88
+ let i = /^#([0-9a-f]{6}|[0-9a-f]{3})$/.exec(t);
89
+ if (i) {
90
+ let e = i[1], t = e.length === 3 ? [
91
+ e[0] + e[0],
92
+ e[1] + e[1],
93
+ e[2] + e[2]
94
+ ] : [
95
+ e.substring(0, 2),
96
+ e.substring(2, 4),
97
+ e.substring(4, 6)
98
+ ], n = parseInt(t[0], 16) / 255, r = parseInt(t[1], 16) / 255, a = parseInt(t[2], 16) / 255;
99
+ return .2126 * n + .7152 * r + .0722 * a;
100
+ }
101
+ return -1;
102
+ }
103
+ var v = r, y = e;
104
+ function b(e) {
105
+ let t = _(e);
106
+ return t >= 0 && t > .75;
107
+ }
108
+ function x(e, n, r, i, a) {
109
+ if (!n && !r) return e;
110
+ let o = n && i !== void 0 ? t(i, "text") : "", s = r && a !== void 0 ? t(a, "bg") : "", c = [n ? `color: ${o}` : "", m(r, n, s)].filter(Boolean).join("; ");
111
+ return c ? `<mark style="${c};">${e}</mark>` : e;
112
+ }
113
+ var S = new Set([
114
+ "H1",
115
+ "H2",
116
+ "H3",
117
+ "H4",
118
+ "H5",
119
+ "H6"
120
+ ]);
121
+ function C(e) {
122
+ let t = e.parentElement;
123
+ return t === null ? !1 : S.has(t.tagName) ? !0 : C(t);
124
+ }
125
+ function w(e, t) {
126
+ let n = e.getAttribute("style") ?? "", r = /font-weight\s*:\s*(700|bold)/i.test(n) && !C(e), i = /font-style\s*:\s*italic/i.test(n), a = /(?<![a-z-])color\s*:\s*([^;]+)/i.exec(n), o = /background-color\s*:\s*([^;]+)/i.exec(n), s = a?.[1]?.trim(), c = o?.[1]?.trim(), l = !(s !== void 0 && g(e)) && (t ? s !== void 0 && !h(s) : s !== void 0 && !h(s) && !b(s)), u = c !== void 0 && c !== "transparent" && !v(c) && !y(c);
127
+ if (!r && !i && !l && !u) return null;
128
+ let d = x(e.innerHTML, l, u, s, c), f = i ? `<i>${d}</i>` : d;
129
+ return r ? `<b>${f}</b>` : f;
130
+ }
131
+ function T(e, t) {
132
+ for (let n of Array.from(e.querySelectorAll("span[style]"))) {
133
+ let e = w(n, t);
134
+ e !== null && n.replaceWith(document.createRange().createContextualFragment(e));
135
+ }
136
+ t && E(e);
137
+ }
138
+ function E(e) {
139
+ for (let n of Array.from(e.querySelectorAll("a[style]"))) {
140
+ let e = n.getAttribute("style") ?? "", r = /background-color\s*:\s*([^;]+)/i.exec(e)?.[1]?.trim(), i = r !== void 0 && r !== "transparent" && r !== "inherit", a = n;
141
+ a.style.removeProperty("color"), i && (a.innerHTML = `<mark style="background-color: ${t(r, "bg")};">${a.innerHTML}</mark>`, a.style.removeProperty("background-color"));
142
+ }
143
+ }
144
+ function D(e) {
145
+ for (let t of Array.from(e.querySelectorAll("td, th"))) {
146
+ let e = t.querySelectorAll("p");
147
+ if (e.length !== 0) {
148
+ for (let t of Array.from(e)) {
149
+ let e = document.createRange().createContextualFragment(t.innerHTML + "<br>");
150
+ t.replaceWith(e);
151
+ }
152
+ t.innerHTML = t.innerHTML.replace(/(<br\s*\/?>|\s)+$/i, "");
153
+ }
154
+ }
155
+ }
156
+ //#endregion
157
+ //#region src/cli/commands/convert-gdocs/index.ts
158
+ function O(e) {
159
+ let t = o(e), r = new DOMParser().parseFromString(t, "text/html").body;
160
+ i(r), n(r);
161
+ let s = {
162
+ version: "0.24.0",
163
+ blocks: a(r)
164
+ };
165
+ return JSON.stringify(s);
166
+ }
167
+ //#endregion
168
+ export { O as convertGdocs };
@@ -0,0 +1,204 @@
1
+ import { a as e, i as t, n, o as r, r as i, t as a } from "./block-builder-Dc6PL7RK.mjs";
2
+ //#region src/components/utils/inert-html.ts
3
+ var o = { current: void 0 };
4
+ function s(e) {
5
+ o.current ??= document.implementation.createHTMLDocument("");
6
+ let t = o.current.createElement("div");
7
+ return t.innerHTML = e, t;
8
+ }
9
+ //#endregion
10
+ //#region src/components/modules/paste/constants.ts
11
+ var c = "data-blok-columns-candidate";
12
+ //#endregion
13
+ //#region src/components/modules/paste/google-docs-preprocessor.ts
14
+ function l(e) {
15
+ let n = s(e), r = g(n);
16
+ return E(n, r), r && k(n), N(n), r && (A(n), h(n)), t(n), n.innerHTML;
17
+ }
18
+ function u(e, t) {
19
+ let n = e.parentElement;
20
+ return n === null ? null : n === t ? e : u(n, t);
21
+ }
22
+ function d(e, t, n) {
23
+ let r = e.cloneNode(!1), i = [];
24
+ for (let n of Array.from(e.childNodes)) {
25
+ if (n === t) break;
26
+ i.push(n);
27
+ }
28
+ return i.forEach((e) => r.appendChild(e)), n !== null && r.appendChild(n), r.childNodes.length > 0 ? r : null;
29
+ }
30
+ function f(e, t, n) {
31
+ let r = e.cloneNode(!1), i = Array.from(e.childNodes), a = i.findIndex((e) => e === t), o = i.slice(a + 1);
32
+ return n !== null && r.appendChild(n), o.forEach((e) => r.appendChild(e)), r.childNodes.length > 0 ? r : null;
33
+ }
34
+ function p(e, t) {
35
+ let n = (e, r, i) => {
36
+ if (e === t) return {
37
+ before: r,
38
+ after: i
39
+ };
40
+ let a = e.parentElement;
41
+ if (a === null) return {
42
+ before: r,
43
+ after: i
44
+ };
45
+ let o = d(a, e, r), s = f(a, e, i);
46
+ return n(a, o, s);
47
+ };
48
+ return n(e, null, null);
49
+ }
50
+ function m(e, t) {
51
+ let n = e.parentElement;
52
+ return n === null || n === t ? !1 : n.tagName === "TABLE" || m(n, t);
53
+ }
54
+ function h(e) {
55
+ let t = Array.from(e.querySelectorAll("img"));
56
+ for (let n of t) {
57
+ if (m(n, e)) continue;
58
+ let t = u(n, e);
59
+ if (!t) continue;
60
+ let { before: r, after: i } = p(n, t), a = document.createDocumentFragment();
61
+ r && a.appendChild(r), a.appendChild(n), i && a.appendChild(i), t.replaceWith(a);
62
+ }
63
+ }
64
+ function g(e) {
65
+ let t = e.querySelector("b[id^=\"docs-internal-guid-\"]");
66
+ if (!t) return !1;
67
+ let n = document.createDocumentFragment();
68
+ for (; t.firstChild;) n.appendChild(t.firstChild);
69
+ return t.replaceWith(n), !0;
70
+ }
71
+ function _(e, t, n) {
72
+ return e ? `background-color: ${n}` : t ? "background-color: transparent" : "";
73
+ }
74
+ function v(e) {
75
+ let t = e.replace(/\s/g, "");
76
+ return t === "rgb(0,0,0)" || t === "#000000";
77
+ }
78
+ function y(e) {
79
+ if (e.closest("a") !== null) return !0;
80
+ let t = e.querySelector("a");
81
+ return t !== null && t.textContent?.trim() === e.textContent?.trim();
82
+ }
83
+ function b(e) {
84
+ let t = e.replace(/\s/g, "").toLowerCase(), n = /^rgba?\((\d+),(\d+),(\d+)(?:,[\d.]+)?\)$/.exec(t);
85
+ if (n) {
86
+ let e = parseInt(n[1], 10) / 255, t = parseInt(n[2], 10) / 255, r = parseInt(n[3], 10) / 255;
87
+ return .2126 * e + .7152 * t + .0722 * r;
88
+ }
89
+ let r = /^hsla?\(([\d.]+),([\d.]+)%,([\d.]+)%(?:,[\d.]+)?\)$/.exec(t);
90
+ if (r) {
91
+ let e = parseFloat(r[1]) / 360, t = parseFloat(r[2]) / 100, n = parseFloat(r[3]) / 100;
92
+ if (t === 0) return .2126 * n + .7152 * n + .0722 * n;
93
+ let i = n < .5 ? n * (1 + t) : n + t - n * t, a = 2 * n - i, o = (e) => {
94
+ let t = e < 0 ? e + 1 : e > 1 ? e - 1 : e;
95
+ return t < 1 / 6 ? a + (i - a) * 6 * t : t < 1 / 2 ? i : t < 2 / 3 ? a + (i - a) * (2 / 3 - t) * 6 : a;
96
+ }, s = o(e + 1 / 3), c = o(e), l = o(e - 1 / 3);
97
+ return .2126 * s + .7152 * c + .0722 * l;
98
+ }
99
+ let i = /^#([0-9a-f]{6}|[0-9a-f]{3})$/.exec(t);
100
+ if (i) {
101
+ let e = i[1], t = e.length === 3 ? [
102
+ e[0] + e[0],
103
+ e[1] + e[1],
104
+ e[2] + e[2]
105
+ ] : [
106
+ e.substring(0, 2),
107
+ e.substring(2, 4),
108
+ e.substring(4, 6)
109
+ ], n = parseInt(t[0], 16) / 255, r = parseInt(t[1], 16) / 255, a = parseInt(t[2], 16) / 255;
110
+ return .2126 * n + .7152 * r + .0722 * a;
111
+ }
112
+ return -1;
113
+ }
114
+ function x(e) {
115
+ let t = b(e);
116
+ return t >= 0 && t > .75;
117
+ }
118
+ function S(t, n, r, i, a) {
119
+ if (!n && !r) return t;
120
+ let o = n && i !== void 0 ? e(i, "text") : "", s = r && a !== void 0 ? e(a, "bg") : "", c = [n ? `color: ${o}` : "", _(r, n, s)].filter(Boolean).join("; ");
121
+ return c ? `<mark style="${c};">${t}</mark>` : t;
122
+ }
123
+ var C = /* @__PURE__ */ new Set([
124
+ "H1",
125
+ "H2",
126
+ "H3",
127
+ "H4",
128
+ "H5",
129
+ "H6"
130
+ ]);
131
+ function w(e) {
132
+ let t = e.parentElement;
133
+ return t === null ? !1 : C.has(t.tagName) ? !0 : w(t);
134
+ }
135
+ function T(e, t) {
136
+ let n = e.getAttribute("style") ?? "", i = /font-weight\s*:\s*(700|bold)/i.test(n) && !w(e), a = /font-style\s*:\s*italic/i.test(n), o = /(?<![a-z-])color\s*:\s*([^;]+)/i.exec(n), s = /background-color\s*:\s*([^;]+)/i.exec(n), c = o?.[1]?.trim(), l = s?.[1]?.trim(), u = !(c !== void 0 && y(e)) && (t ? c !== void 0 && !v(c) : c !== void 0 && !v(c) && !x(c)), d = l !== void 0 && !r(l);
137
+ if (!i && !a && !u && !d) return null;
138
+ let f = S(e.innerHTML, u, d, c, l), p = a ? `<i>${f}</i>` : f;
139
+ return i ? `<b>${p}</b>` : p;
140
+ }
141
+ function E(e, t) {
142
+ for (let n of Array.from(e.querySelectorAll("span[style]"))) {
143
+ let e = T(n, t);
144
+ e !== null && n.replaceWith(n.ownerDocument.createRange().createContextualFragment(e));
145
+ }
146
+ t && D(e);
147
+ }
148
+ function D(t) {
149
+ for (let n of Array.from(t.querySelectorAll("a[style]"))) {
150
+ let t = n.getAttribute("style") ?? "", r = /background-color\s*:\s*([^;]+)/i.exec(t)?.[1]?.trim(), i = r !== void 0 && r !== "transparent" && r !== "inherit", a = n;
151
+ a.style.removeProperty("color"), i && (a.innerHTML = `<mark style="background-color: ${e(r, "bg")};">${a.innerHTML}</mark>`, a.style.removeProperty("background-color"));
152
+ }
153
+ }
154
+ function O(e) {
155
+ return Array.from(e.querySelectorAll("tr")).filter((t) => t.closest("table") === e).map((e) => Array.from(e.children).filter((e) => e.tagName === "TD" || e.tagName === "TH"));
156
+ }
157
+ function k(e) {
158
+ if (e.querySelector("google-sheets-html-origin") === null) for (let t of Array.from(e.querySelectorAll("table"))) {
159
+ if (t.parentElement?.closest("table") !== null) continue;
160
+ let e = O(t);
161
+ e.length === 0 || e.some((e) => e.length !== 1) || (e.length === 1 || t.querySelector("img") !== null) && t.replaceWith(...e.flatMap(([e]) => Array.from(e.childNodes)));
162
+ }
163
+ }
164
+ function A(e) {
165
+ if (e.querySelector("google-sheets-html-origin") === null) for (let t of Array.from(e.querySelectorAll("table"))) {
166
+ if (t.parentElement?.closest("table") !== null) continue;
167
+ let e = O(t);
168
+ if (e.length === 0) continue;
169
+ let n = e[0].length;
170
+ if (!e.every((e) => e.length === n)) continue;
171
+ let r = e.length === 1 && (n === 2 || n === 3), i = e.length > 1 && n === 2 && t.querySelector("img") !== null;
172
+ (r || i) && t.setAttribute(c, "");
173
+ }
174
+ }
175
+ function j(e) {
176
+ return e.children.length === 0 && (e.textContent ?? "").replace(/\s/g, "") === "";
177
+ }
178
+ function M(e) {
179
+ if (j(e)) {
180
+ e.remove();
181
+ return;
182
+ }
183
+ let t = e.ownerDocument.createRange().createContextualFragment(e.innerHTML + "<br>");
184
+ e.replaceWith(t);
185
+ }
186
+ function N(e) {
187
+ for (let t of Array.from(e.querySelectorAll("td, th"))) {
188
+ let e = t.querySelectorAll("p");
189
+ e.length !== 0 && (Array.from(e).forEach(M), t.innerHTML = t.innerHTML.replace(/(<br\s*\/?>|\s)+$/i, ""));
190
+ }
191
+ }
192
+ //#endregion
193
+ //#region src/cli/commands/convert-gdocs/index.ts
194
+ function P(e) {
195
+ let t = l(e), r = new DOMParser().parseFromString(t, "text/html").body;
196
+ i(r), n(r);
197
+ let o = {
198
+ version: "1.12.0",
199
+ blocks: a(r)
200
+ };
201
+ return JSON.stringify(o);
202
+ }
203
+ //#endregion
204
+ export { P as convertGdocs };
@@ -0,0 +1,186 @@
1
+ import { a as e, i as t, n, o as r, r as i, t as a } from "./block-builder-Dc6PL7RK.mjs";
2
+ //#region src/components/modules/paste/constants.ts
3
+ var o = "data-blok-columns-candidate";
4
+ //#endregion
5
+ //#region src/components/modules/paste/google-docs-preprocessor.ts
6
+ function s(e) {
7
+ let n = document.createElement("div");
8
+ n.innerHTML = e;
9
+ let r = m(n);
10
+ return w(n, r), k(n), r && (E(n), p(n)), t(n), n.innerHTML;
11
+ }
12
+ function c(e, t) {
13
+ let n = e.parentElement;
14
+ return n === null ? null : n === t ? e : c(n, t);
15
+ }
16
+ function l(e, t, n) {
17
+ let r = e.cloneNode(!1), i = [];
18
+ for (let n of Array.from(e.childNodes)) {
19
+ if (n === t) break;
20
+ i.push(n);
21
+ }
22
+ return i.forEach((e) => r.appendChild(e)), n !== null && r.appendChild(n), r.childNodes.length > 0 ? r : null;
23
+ }
24
+ function u(e, t, n) {
25
+ let r = e.cloneNode(!1), i = Array.from(e.childNodes), a = i.findIndex((e) => e === t), o = i.slice(a + 1);
26
+ return n !== null && r.appendChild(n), o.forEach((e) => r.appendChild(e)), r.childNodes.length > 0 ? r : null;
27
+ }
28
+ function d(e, t) {
29
+ let n = (e, r, i) => {
30
+ if (e === t) return {
31
+ before: r,
32
+ after: i
33
+ };
34
+ let a = e.parentElement;
35
+ if (a === null) return {
36
+ before: r,
37
+ after: i
38
+ };
39
+ let o = l(a, e, r), s = u(a, e, i);
40
+ return n(a, o, s);
41
+ };
42
+ return n(e, null, null);
43
+ }
44
+ function f(e, t) {
45
+ let n = e.parentElement;
46
+ return n === null || n === t ? !1 : n.tagName === "TABLE" || f(n, t);
47
+ }
48
+ function p(e) {
49
+ let t = Array.from(e.querySelectorAll("img"));
50
+ for (let n of t) {
51
+ if (f(n, e)) continue;
52
+ let t = c(n, e);
53
+ if (!t) continue;
54
+ let { before: r, after: i } = d(n, t), a = document.createDocumentFragment();
55
+ r && a.appendChild(r), a.appendChild(n), i && a.appendChild(i), t.replaceWith(a);
56
+ }
57
+ }
58
+ function m(e) {
59
+ let t = e.querySelector("b[id^=\"docs-internal-guid-\"]");
60
+ if (!t) return !1;
61
+ let n = document.createDocumentFragment();
62
+ for (; t.firstChild;) n.appendChild(t.firstChild);
63
+ return t.replaceWith(n), !0;
64
+ }
65
+ function h(e, t, n) {
66
+ return e ? `background-color: ${n}` : t ? "background-color: transparent" : "";
67
+ }
68
+ function g(e) {
69
+ let t = e.replace(/\s/g, "");
70
+ return t === "rgb(0,0,0)" || t === "#000000";
71
+ }
72
+ function _(e) {
73
+ if (e.closest("a") !== null) return !0;
74
+ let t = e.querySelector("a");
75
+ return t !== null && t.textContent?.trim() === e.textContent?.trim();
76
+ }
77
+ function v(e) {
78
+ let t = e.replace(/\s/g, "").toLowerCase(), n = /^rgba?\((\d+),(\d+),(\d+)(?:,[\d.]+)?\)$/.exec(t);
79
+ if (n) {
80
+ let e = parseInt(n[1], 10) / 255, t = parseInt(n[2], 10) / 255, r = parseInt(n[3], 10) / 255;
81
+ return .2126 * e + .7152 * t + .0722 * r;
82
+ }
83
+ let r = /^hsla?\(([\d.]+),([\d.]+)%,([\d.]+)%(?:,[\d.]+)?\)$/.exec(t);
84
+ if (r) {
85
+ let e = parseFloat(r[1]) / 360, t = parseFloat(r[2]) / 100, n = parseFloat(r[3]) / 100;
86
+ if (t === 0) return .2126 * n + .7152 * n + .0722 * n;
87
+ let i = n < .5 ? n * (1 + t) : n + t - n * t, a = 2 * n - i, o = (e) => {
88
+ let t = e < 0 ? e + 1 : e > 1 ? e - 1 : e;
89
+ return t < 1 / 6 ? a + (i - a) * 6 * t : t < 1 / 2 ? i : t < 2 / 3 ? a + (i - a) * (2 / 3 - t) * 6 : a;
90
+ }, s = o(e + 1 / 3), c = o(e), l = o(e - 1 / 3);
91
+ return .2126 * s + .7152 * c + .0722 * l;
92
+ }
93
+ let i = /^#([0-9a-f]{6}|[0-9a-f]{3})$/.exec(t);
94
+ if (i) {
95
+ let e = i[1], t = e.length === 3 ? [
96
+ e[0] + e[0],
97
+ e[1] + e[1],
98
+ e[2] + e[2]
99
+ ] : [
100
+ e.substring(0, 2),
101
+ e.substring(2, 4),
102
+ e.substring(4, 6)
103
+ ], n = parseInt(t[0], 16) / 255, r = parseInt(t[1], 16) / 255, a = parseInt(t[2], 16) / 255;
104
+ return .2126 * n + .7152 * r + .0722 * a;
105
+ }
106
+ return -1;
107
+ }
108
+ function y(e) {
109
+ let t = v(e);
110
+ return t >= 0 && t > .75;
111
+ }
112
+ function b(t, n, r, i, a) {
113
+ if (!n && !r) return t;
114
+ let o = n && i !== void 0 ? e(i, "text") : "", s = r && a !== void 0 ? e(a, "bg") : "", c = [n ? `color: ${o}` : "", h(r, n, s)].filter(Boolean).join("; ");
115
+ return c ? `<mark style="${c};">${t}</mark>` : t;
116
+ }
117
+ var x = /* @__PURE__ */ new Set([
118
+ "H1",
119
+ "H2",
120
+ "H3",
121
+ "H4",
122
+ "H5",
123
+ "H6"
124
+ ]);
125
+ function S(e) {
126
+ let t = e.parentElement;
127
+ return t === null ? !1 : x.has(t.tagName) ? !0 : S(t);
128
+ }
129
+ function C(e, t) {
130
+ let n = e.getAttribute("style") ?? "", i = /font-weight\s*:\s*(700|bold)/i.test(n) && !S(e), a = /font-style\s*:\s*italic/i.test(n), o = /(?<![a-z-])color\s*:\s*([^;]+)/i.exec(n), s = /background-color\s*:\s*([^;]+)/i.exec(n), c = o?.[1]?.trim(), l = s?.[1]?.trim(), u = !(c !== void 0 && _(e)) && (t ? c !== void 0 && !g(c) : c !== void 0 && !g(c) && !y(c)), d = l !== void 0 && !r(l);
131
+ if (!i && !a && !u && !d) return null;
132
+ let f = b(e.innerHTML, u, d, c, l), p = a ? `<i>${f}</i>` : f;
133
+ return i ? `<b>${p}</b>` : p;
134
+ }
135
+ function w(e, t) {
136
+ for (let n of Array.from(e.querySelectorAll("span[style]"))) {
137
+ let e = C(n, t);
138
+ e !== null && n.replaceWith(document.createRange().createContextualFragment(e));
139
+ }
140
+ t && T(e);
141
+ }
142
+ function T(t) {
143
+ for (let n of Array.from(t.querySelectorAll("a[style]"))) {
144
+ let t = n.getAttribute("style") ?? "", r = /background-color\s*:\s*([^;]+)/i.exec(t)?.[1]?.trim(), i = r !== void 0 && r !== "transparent" && r !== "inherit", a = n;
145
+ a.style.removeProperty("color"), i && (a.innerHTML = `<mark style="background-color: ${e(r, "bg")};">${a.innerHTML}</mark>`, a.style.removeProperty("background-color"));
146
+ }
147
+ }
148
+ function E(e) {
149
+ if (e.querySelector("google-sheets-html-origin") === null) for (let t of Array.from(e.querySelectorAll("table"))) {
150
+ if (t.parentElement?.closest("table") !== null) continue;
151
+ let e = Array.from(t.querySelectorAll("tr")).filter((e) => e.closest("table") === t);
152
+ if (e.length === 0) continue;
153
+ let n = e.map((e) => Array.from(e.children).filter((e) => e.tagName === "TD" || e.tagName === "TH").length), r = n[0];
154
+ n.every((e) => e === r) && (r === 2 || r === 3) && t.setAttribute(o, "");
155
+ }
156
+ }
157
+ function D(e) {
158
+ return e.children.length === 0 && (e.textContent ?? "").replace(/\s/g, "") === "";
159
+ }
160
+ function O(e) {
161
+ if (D(e)) {
162
+ e.remove();
163
+ return;
164
+ }
165
+ let t = document.createRange().createContextualFragment(e.innerHTML + "<br>");
166
+ e.replaceWith(t);
167
+ }
168
+ function k(e) {
169
+ for (let t of Array.from(e.querySelectorAll("td, th"))) {
170
+ let e = t.querySelectorAll("p");
171
+ e.length !== 0 && (Array.from(e).forEach(O), t.innerHTML = t.innerHTML.replace(/(<br\s*\/?>|\s)+$/i, ""));
172
+ }
173
+ }
174
+ //#endregion
175
+ //#region src/cli/commands/convert-gdocs/index.ts
176
+ function A(e) {
177
+ let t = s(e), r = new DOMParser().parseFromString(t, "text/html").body;
178
+ i(r), n(r);
179
+ let o = {
180
+ version: "1.4.4",
181
+ blocks: a(r)
182
+ };
183
+ return JSON.stringify(o);
184
+ }
185
+ //#endregion
186
+ export { A as convertGdocs };