@storyblok/js 4.2.3 → 4.2.5

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.
@@ -4,616 +4,325 @@
4
4
  * description: SDK to integrate Storyblok into your project using JavaScript.
5
5
  * author: undefined
6
6
  */
7
- const lt = /[!-#%-\*,-\/:;\?@\[-\]_\{\}\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061D-\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1B7D\u1B7E\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u2E52-\u2E5D\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDEAD\uDF55-\uDF59\uDF86-\uDF89]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5A\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDEB9\uDF3C-\uDF3E]|\uD806[\uDC3B\uDD44-\uDD46\uDDE2\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2\uDF00-\uDF09]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8\uDF43-\uDF4F\uDFFF]|\uD809[\uDC70-\uDC74]|\uD80B[\uDFF1\uDFF2]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDE97-\uDE9A\uDFE2]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]/, ht = /[\$\+<->\^`\|~\xA2-\xA6\xA8\xA9\xAC\xAE-\xB1\xB4\xB8\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0384\u0385\u03F6\u0482\u058D-\u058F\u0606-\u0608\u060B\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u07FE\u07FF\u0888\u09F2\u09F3\u09FA\u09FB\u0AF1\u0B70\u0BF3-\u0BFA\u0C7F\u0D4F\u0D79\u0E3F\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u166D\u17DB\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u1FBD\u1FBF-\u1FC1\u1FCD-\u1FCF\u1FDD-\u1FDF\u1FED-\u1FEF\u1FFD\u1FFE\u2044\u2052\u207A-\u207C\u208A-\u208C\u20A0-\u20C0\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F\u218A\u218B\u2190-\u2307\u230C-\u2328\u232B-\u2426\u2440-\u244A\u249C-\u24E9\u2500-\u2767\u2794-\u27C4\u27C7-\u27E5\u27F0-\u2982\u2999-\u29D7\u29DC-\u29FB\u29FE-\u2B73\u2B76-\u2B95\u2B97-\u2BFF\u2CE5-\u2CEA\u2E50\u2E51\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFF\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u309B\u309C\u3190\u3191\u3196-\u319F\u31C0-\u31E3\u31EF\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA700-\uA716\uA720\uA721\uA789\uA78A\uA828-\uA82B\uA836-\uA839\uAA77-\uAA79\uAB5B\uAB6A\uAB6B\uFB29\uFBB2-\uFBC2\uFD40-\uFD4F\uFDCF\uFDFC-\uFDFF\uFE62\uFE64-\uFE66\uFE69\uFF04\uFF0B\uFF1C-\uFF1E\uFF3E\uFF40\uFF5C\uFF5E\uFFE0-\uFFE6\uFFE8-\uFFEE\uFFFC\uFFFD]|\uD800[\uDD37-\uDD3F\uDD79-\uDD89\uDD8C-\uDD8E\uDD90-\uDD9C\uDDA0\uDDD0-\uDDFC]|\uD802[\uDC77\uDC78\uDEC8]|\uD805\uDF3F|\uD807[\uDFD5-\uDFF1]|\uD81A[\uDF3C-\uDF3F\uDF45]|\uD82F\uDC9C|\uD833[\uDF50-\uDFC3]|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD64\uDD6A-\uDD6C\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDEA\uDE00-\uDE41\uDE45\uDF00-\uDF56]|\uD835[\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85\uDE86]|\uD838[\uDD4F\uDEFF]|\uD83B[\uDCAC\uDCB0\uDD2E\uDEF0\uDEF1]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD0D-\uDDAD\uDDE6-\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDE60-\uDE65\uDF00-\uDFFF]|\uD83D[\uDC00-\uDED7\uDEDC-\uDEEC\uDEF0-\uDEFC\uDF00-\uDF76\uDF7B-\uDFD9\uDFE0-\uDFEB\uDFF0]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDCB0\uDCB1\uDD00-\uDE53\uDE60-\uDE6D\uDE70-\uDE7C\uDE80-\uDE88\uDE90-\uDEBD\uDEBF-\uDEC5\uDECE-\uDEDB\uDEE0-\uDEE8\uDEF0-\uDEF8\uDF00-\uDF92\uDF94-\uDFCA]/;
8
- function O(s) {
9
- switch (s) {
10
- case 9:
11
- case 32:
12
- return !0;
13
- }
14
- return !1;
15
- }
16
- function G(s) {
17
- if (s >= 8192 && s <= 8202)
18
- return !0;
19
- switch (s) {
20
- case 9:
21
- // \t
22
- case 10:
23
- // \n
24
- case 11:
25
- // \v
26
- case 12:
27
- // \f
28
- case 13:
29
- // \r
30
- case 32:
31
- case 160:
32
- case 5760:
33
- case 8239:
34
- case 8287:
35
- case 12288:
36
- return !0;
37
- }
38
- return !1;
39
- }
40
- function q(s) {
41
- return lt.test(s) || ht.test(s);
42
- }
43
- function J(s) {
44
- switch (s) {
45
- case 33:
46
- case 34:
47
- case 35:
48
- case 36:
49
- case 37:
50
- case 38:
51
- case 39:
52
- case 40:
53
- case 41:
54
- case 42:
55
- case 43:
56
- case 44:
57
- case 45:
58
- case 46:
59
- case 47:
60
- case 58:
61
- case 59:
62
- case 60:
63
- case 61:
64
- case 62:
65
- case 63:
66
- case 64:
67
- case 91:
68
- case 92:
69
- case 93:
70
- case 94:
71
- case 95:
72
- case 96:
73
- case 123:
74
- case 124:
75
- case 125:
76
- case 126:
77
- return !0;
78
- default:
79
- return !1;
80
- }
81
- }
82
- function x(s, t, e) {
83
- this.type = s, this.tag = t, this.attrs = null, this.map = null, this.nesting = e, this.level = 0, this.children = null, this.content = "", this.markup = "", this.info = "", this.meta = null, this.block = !1, this.hidden = !1;
84
- }
85
- x.prototype.attrIndex = function(t) {
86
- if (!this.attrs)
87
- return -1;
88
- const e = this.attrs;
89
- for (let r = 0, u = e.length; r < u; r++)
90
- if (e[r][0] === t)
91
- return r;
92
- return -1;
93
- };
94
- x.prototype.attrPush = function(t) {
95
- this.attrs ? this.attrs.push(t) : this.attrs = [t];
96
- };
97
- x.prototype.attrSet = function(t, e) {
98
- const r = this.attrIndex(t), u = [t, e];
99
- r < 0 ? this.attrPush(u) : this.attrs[r] = u;
100
- };
101
- x.prototype.attrGet = function(t) {
102
- const e = this.attrIndex(t);
103
- let r = null;
104
- return e >= 0 && (r = this.attrs[e][1]), r;
105
- };
106
- x.prototype.attrJoin = function(t, e) {
107
- const r = this.attrIndex(t);
108
- r < 0 ? this.attrPush([t, e]) : this.attrs[r][1] = this.attrs[r][1] + " " + e;
109
- };
110
- function Dt(s, t, e) {
111
- this.src = s, this.env = e, this.tokens = [], this.inlineMode = !1, this.md = t;
112
- }
113
- Dt.prototype.Token = x;
114
- function w(s, t, e, r) {
115
- this.src = s, this.md = t, this.env = e, this.tokens = r, this.bMarks = [], this.eMarks = [], this.tShift = [], this.sCount = [], this.bsCount = [], this.blkIndent = 0, this.line = 0, this.lineMax = 0, this.tight = !1, this.ddIndent = -1, this.listIndent = -1, this.parentType = "root", this.level = 0;
116
- const u = this.src;
117
- for (let i = 0, a = 0, o = 0, n = 0, c = u.length, h = !1; a < c; a++) {
118
- const D = u.charCodeAt(a);
119
- if (!h)
120
- if (O(D)) {
121
- o++, D === 9 ? n += 4 - n % 4 : n++;
122
- continue;
123
- } else
124
- h = !0;
125
- (D === 10 || a === c - 1) && (D !== 10 && a++, this.bMarks.push(i), this.eMarks.push(a), this.tShift.push(o), this.sCount.push(n), this.bsCount.push(0), h = !1, o = 0, n = 0, i = a + 1);
126
- }
127
- this.bMarks.push(u.length), this.eMarks.push(u.length), this.tShift.push(0), this.sCount.push(0), this.bsCount.push(0), this.lineMax = this.bMarks.length - 1;
128
- }
129
- w.prototype.push = function(s, t, e) {
130
- const r = new x(s, t, e);
131
- return r.block = !0, e < 0 && this.level--, r.level = this.level, e > 0 && this.level++, this.tokens.push(r), r;
132
- };
133
- w.prototype.isEmpty = function(t) {
134
- return this.bMarks[t] + this.tShift[t] >= this.eMarks[t];
135
- };
136
- w.prototype.skipEmptyLines = function(t) {
137
- for (let e = this.lineMax; t < e && !(this.bMarks[t] + this.tShift[t] < this.eMarks[t]); t++)
138
- ;
139
- return t;
140
- };
141
- w.prototype.skipSpaces = function(t) {
142
- for (let e = this.src.length; t < e; t++) {
143
- const r = this.src.charCodeAt(t);
144
- if (!O(r))
145
- break;
146
- }
147
- return t;
148
- };
149
- w.prototype.skipSpacesBack = function(t, e) {
150
- if (t <= e)
151
- return t;
152
- for (; t > e; )
153
- if (!O(this.src.charCodeAt(--t)))
154
- return t + 1;
155
- return t;
156
- };
157
- w.prototype.skipChars = function(t, e) {
158
- for (let r = this.src.length; t < r && this.src.charCodeAt(t) === e; t++)
159
- ;
160
- return t;
161
- };
162
- w.prototype.skipCharsBack = function(t, e, r) {
163
- if (t <= r)
164
- return t;
165
- for (; t > r; )
166
- if (e !== this.src.charCodeAt(--t))
167
- return t + 1;
168
- return t;
169
- };
170
- w.prototype.getLines = function(t, e, r, u) {
171
- if (t >= e)
172
- return "";
173
- const i = new Array(e - t);
174
- for (let a = 0, o = t; o < e; o++, a++) {
175
- let n = 0;
176
- const c = this.bMarks[o];
177
- let h = c, D;
178
- for (o + 1 < e || u ? D = this.eMarks[o] + 1 : D = this.eMarks[o]; h < D && n < r; ) {
179
- const A = this.src.charCodeAt(h);
180
- if (O(A))
181
- A === 9 ? n += 4 - (n + this.bsCount[o]) % 4 : n++;
182
- else if (h - c < this.tShift[o])
183
- n++;
184
- else
185
- break;
186
- h++;
187
- }
188
- n > r ? i[a] = new Array(n - r + 1).join(" ") + this.src.slice(h, D) : i[a] = this.src.slice(h, D);
189
- }
190
- return i.join("");
191
- };
192
- w.prototype.Token = x;
193
- const dt = [
194
- "address",
195
- "article",
196
- "aside",
7
+ var re = Object.defineProperty;
8
+ var se = (e, t, s) => t in e ? re(e, t, { enumerable: !0, configurable: !0, writable: !0, value: s }) : e[t] = s;
9
+ var b = (e, t, s) => se(e, typeof t != "symbol" ? t + "" : t, s);
10
+ let w = /* @__PURE__ */ function(e) {
11
+ return e.DOCUMENT = "doc", e.HEADING = "heading", e.PARAGRAPH = "paragraph", e.QUOTE = "blockquote", e.OL_LIST = "ordered_list", e.UL_LIST = "bullet_list", e.LIST_ITEM = "list_item", e.CODE_BLOCK = "code_block", e.HR = "horizontal_rule", e.BR = "hard_break", e.IMAGE = "image", e.EMOJI = "emoji", e.COMPONENT = "blok", e.TABLE = "table", e.TABLE_ROW = "tableRow", e.TABLE_CELL = "tableCell", e.TABLE_HEADER = "tableHeader", e;
12
+ }({}), S = /* @__PURE__ */ function(e) {
13
+ return e.BOLD = "bold", e.STRONG = "strong", e.STRIKE = "strike", e.UNDERLINE = "underline", e.ITALIC = "italic", e.CODE = "code", e.LINK = "link", e.ANCHOR = "anchor", e.STYLED = "styled", e.SUPERSCRIPT = "superscript", e.SUBSCRIPT = "subscript", e.TEXT_STYLE = "textStyle", e.HIGHLIGHT = "highlight", e;
14
+ }({}), ie = /* @__PURE__ */ function(e) {
15
+ return e.TEXT = "text", e;
16
+ }({}), C = /* @__PURE__ */ function(e) {
17
+ return e.URL = "url", e.STORY = "story", e.ASSET = "asset", e.EMAIL = "email", e;
18
+ }({});
19
+ const ne = [
20
+ "area",
197
21
  "base",
198
- "basefont",
199
- "blockquote",
200
- "body",
201
- "caption",
202
- "center",
22
+ "br",
203
23
  "col",
204
- "colgroup",
205
- "dd",
206
- "details",
207
- "dialog",
208
- "dir",
209
- "div",
210
- "dl",
211
- "dt",
212
- "fieldset",
213
- "figcaption",
214
- "figure",
215
- "footer",
216
- "form",
217
- "frame",
218
- "frameset",
219
- "h1",
220
- "h2",
221
- "h3",
222
- "h4",
223
- "h5",
224
- "h6",
225
- "head",
226
- "header",
24
+ "embed",
227
25
  "hr",
228
- "html",
229
- "iframe",
230
- "legend",
231
- "li",
26
+ "img",
27
+ "input",
232
28
  "link",
233
- "main",
234
- "menu",
235
- "menuitem",
236
- "nav",
237
- "noframes",
238
- "ol",
239
- "optgroup",
240
- "option",
241
- "p",
29
+ "meta",
242
30
  "param",
243
- "search",
244
- "section",
245
- "summary",
246
- "table",
247
- "tbody",
248
- "td",
249
- "tfoot",
250
- "th",
251
- "thead",
252
- "title",
253
- "tr",
31
+ "source",
254
32
  "track",
255
- "ul"
256
- ], Ft = "[a-zA-Z_:][a-zA-Z0-9:._-]*", ft = "[^\"'=<>`\\x00-\\x20]+", pt = "'[^']*'", Et = '"[^"]*"', At = "(?:" + ft + "|" + pt + "|" + Et + ")", Ct = "(?:\\s+" + Ft + "(?:\\s*=\\s*" + At + ")?)", gt = "<[A-Za-z][A-Za-z0-9\\-]*" + Ct + "*\\s*\\/?>", mt = "<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>", yt = new RegExp("^(?:" + gt + "|" + mt + ")");
257
- new RegExp("^</?(" + dt.join("|") + ")(?=(\\s|/?>|$))", "i"), new RegExp(yt.source + "\\s*$");
258
- function P(s, t, e, r) {
259
- this.src = s, this.env = e, this.md = t, this.tokens = r, this.tokens_meta = Array(r.length), this.pos = 0, this.posMax = this.src.length, this.level = 0, this.pending = "", this.pendingLevel = 0, this.cache = {}, this.delimiters = [], this._prev_delimiters = [], this.backticks = {}, this.backticksScanned = !1, this.linkLevel = 0;
33
+ "wbr"
34
+ ], oe = (e = {}) => Object.keys(e).map((t) => `${t}="${e[t]}"`).join(" "), ae = (e = {}) => Object.keys(e).map((t) => `${t}: ${e[t]}`).join("; ");
35
+ function le(e) {
36
+ return e.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#039;");
260
37
  }
261
- P.prototype.pushPending = function() {
262
- const s = new x("text", "", 0);
263
- return s.content = this.pending, s.level = this.pendingLevel, this.tokens.push(s), this.pending = "", s;
264
- };
265
- P.prototype.push = function(s, t, e) {
266
- this.pending && this.pushPending();
267
- const r = new x(s, t, e);
268
- let u = null;
269
- return e < 0 && (this.level--, this.delimiters = this._prev_delimiters.pop()), r.level = this.level, e > 0 && (this.level++, this._prev_delimiters.push(this.delimiters), this.delimiters = [], u = { delimiters: this.delimiters }), this.pendingLevel = this.level, this.tokens.push(r), this.tokens_meta.push(u), r;
270
- };
271
- P.prototype.scanDelims = function(s, t) {
272
- const e = this.posMax, r = this.src.charCodeAt(s), u = s > 0 ? this.src.charCodeAt(s - 1) : 32;
273
- let i = s;
274
- for (; i < e && this.src.charCodeAt(i) === r; )
275
- i++;
276
- const a = i - s, o = i < e ? this.src.charCodeAt(i) : 32, n = J(u) || q(String.fromCharCode(u)), c = J(o) || q(String.fromCharCode(o)), h = G(u), D = G(o), A = !D && (!c || h || n), m = !h && (!n || D || c);
277
- return { can_open: A && (t || !m || n), can_close: m && (t || !A || c), length: a };
278
- };
279
- P.prototype.Token = x;
280
- const Q = [];
281
- for (let s = 0; s < 256; s++)
282
- Q.push(0);
283
- "\\!\"#$%&'()*+,./:;<=>?@[]^_`{|}~-".split("").forEach(function(s) {
284
- Q[s.charCodeAt(0)] = 1;
285
- });
286
- let b = /* @__PURE__ */ function(s) {
287
- return s.DOCUMENT = "doc", s.HEADING = "heading", s.PARAGRAPH = "paragraph", s.QUOTE = "blockquote", s.OL_LIST = "ordered_list", s.UL_LIST = "bullet_list", s.LIST_ITEM = "list_item", s.CODE_BLOCK = "code_block", s.HR = "horizontal_rule", s.BR = "hard_break", s.IMAGE = "image", s.EMOJI = "emoji", s.COMPONENT = "blok", s.TABLE = "table", s.TABLE_ROW = "tableRow", s.TABLE_CELL = "tableCell", s.TABLE_HEADER = "tableHeader", s;
288
- }({}), k = /* @__PURE__ */ function(s) {
289
- return s.BOLD = "bold", s.STRONG = "strong", s.STRIKE = "strike", s.UNDERLINE = "underline", s.ITALIC = "italic", s.CODE = "code", s.LINK = "link", s.ANCHOR = "anchor", s.STYLED = "styled", s.SUPERSCRIPT = "superscript", s.SUBSCRIPT = "subscript", s.TEXT_STYLE = "textStyle", s.HIGHLIGHT = "highlight", s;
290
- }({}), bt = /* @__PURE__ */ function(s) {
291
- return s.TEXT = "text", s;
292
- }({}), I = /* @__PURE__ */ function(s) {
293
- return s.URL = "url", s.STORY = "story", s.ASSET = "asset", s.EMAIL = "email", s;
294
- }({});
295
- function vt(s, t) {
38
+ const P = (e) => Object.fromEntries(Object.entries(e).filter(([t, s]) => s !== void 0));
39
+ function ce(e, t) {
296
40
  if (!t) return {
297
- src: s,
41
+ src: e,
298
42
  attrs: {}
299
43
  };
300
- let e = 0, r = 0;
301
- const u = {}, i = [];
302
- function a(n, c, h, D, A) {
303
- typeof n != "number" || n <= c || n >= h ? console.warn(`[StoryblokRichText] - ${D.charAt(0).toUpperCase() + D.slice(1)} value must be a number between ${c} and ${h} (inclusive)`) : A.push(`${D}(${n})`);
44
+ let s = 0, r = 0;
45
+ const i = {}, n = [];
46
+ function l(u, c, f, g, E) {
47
+ typeof u != "number" || u <= c || u >= f ? console.warn(`[StoryblokRichText] - ${g.charAt(0).toUpperCase() + g.slice(1)} value must be a number between ${c} and ${f} (inclusive)`) : E.push(`${g}(${u})`);
304
48
  }
305
49
  if (typeof t == "object") {
306
- if (typeof t.width == "number" && t.width > 0 ? (u.width = t.width, e = t.width) : console.warn("[StoryblokRichText] - Width value must be a number greater than 0"), t.height && typeof t.height == "number" && t.height > 0 ? (u.height = t.height, r = t.height) : console.warn("[StoryblokRichText] - Height value must be a number greater than 0"), t.loading && ["lazy", "eager"].includes(t.loading) && (u.loading = t.loading), t.class && (u.class = t.class), t.filters) {
307
- const { filters: n } = t || {}, { blur: c, brightness: h, fill: D, format: A, grayscale: m, quality: _, rotate: R } = n || {};
308
- c && a(c, 0, 100, "blur", i), _ && a(_, 0, 100, "quality", i), h && a(h, 0, 100, "brightness", i), D && i.push(`fill(${D})`), m && i.push("grayscale()"), R && [
50
+ if (typeof t.width == "number" && t.width > 0 ? (i.width = t.width, s = t.width) : console.warn("[StoryblokRichText] - Width value must be a number greater than 0"), t.height && typeof t.height == "number" && t.height > 0 ? (i.height = t.height, r = t.height) : console.warn("[StoryblokRichText] - Height value must be a number greater than 0"), t.loading && ["lazy", "eager"].includes(t.loading) && (i.loading = t.loading), t.class && (i.class = t.class), t.filters) {
51
+ const { filters: u } = t || {}, { blur: c, brightness: f, fill: g, format: E, grayscale: _, quality: T, rotate: L } = u || {};
52
+ c && l(c, 0, 100, "blur", n), T && l(T, 0, 100, "quality", n), f && l(f, 0, 100, "brightness", n), g && n.push(`fill(${g})`), _ && n.push("grayscale()"), L && [
309
53
  0,
310
54
  90,
311
55
  180,
312
56
  270
313
- ].includes(t.filters.rotate || 0) && i.push(`rotate(${R})`), A && [
57
+ ].includes(t.filters.rotate || 0) && n.push(`rotate(${L})`), E && [
314
58
  "webp",
315
59
  "png",
316
60
  "jpeg"
317
- ].includes(A) && i.push(`format(${A})`);
61
+ ].includes(E) && n.push(`format(${E})`);
318
62
  }
319
- t.srcset && (u.srcset = t.srcset.map((n) => {
320
- if (typeof n == "number") return `${s}/m/${n}x0/${i.length > 0 ? `filters:${i.join(":")}` : ""} ${n}w`;
321
- if (Array.isArray(n) && n.length === 2) {
322
- const [c, h] = n;
323
- return `${s}/m/${c}x${h}/${i.length > 0 ? `filters:${i.join(":")}` : ""} ${c}w`;
63
+ t.srcset && (i.srcset = t.srcset.map((u) => {
64
+ if (typeof u == "number") return `${e}/m/${u}x0/${n.length > 0 ? `filters:${n.join(":")}` : ""} ${u}w`;
65
+ if (Array.isArray(u) && u.length === 2) {
66
+ const [c, f] = u;
67
+ return `${e}/m/${c}x${f}/${n.length > 0 ? `filters:${n.join(":")}` : ""} ${c}w`;
324
68
  } else {
325
69
  console.warn("[StoryblokRichText] - srcset entry must be a number or a tuple of two numbers");
326
70
  return;
327
71
  }
328
- }).join(", ")), t.sizes && (u.sizes = t.sizes.join(", "));
72
+ }).join(", ")), t.sizes && (i.sizes = t.sizes.join(", "));
329
73
  }
330
- let o = `${s}/m/`;
331
- return e > 0 && r > 0 && (o = `${o}${e}x${r}/`), i.length > 0 && (o = `${o}filters:${i.join(":")}`), {
332
- src: o,
333
- attrs: u
74
+ let a = `${e}/m/`;
75
+ return s > 0 && r > 0 && (a = `${a}${s}x${r}/`), n.length > 0 && (a = `${a}filters:${n.join(":")}`), {
76
+ src: a,
77
+ attrs: i
334
78
  };
335
79
  }
336
- const kt = [
337
- "area",
338
- "base",
339
- "br",
340
- "col",
341
- "embed",
342
- "hr",
343
- "img",
344
- "input",
345
- "link",
346
- "meta",
347
- "param",
348
- "source",
349
- "track",
350
- "wbr"
351
- ], xt = (s = {}) => Object.keys(s).map((t) => `${t}="${s[t]}"`).join(" "), wt = (s = {}) => Object.keys(s).map((t) => `${t}: ${s[t]}`).join("; ");
352
- function Bt(s) {
353
- return s.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#039;");
80
+ function F(e, t = {}, s) {
81
+ const r = oe(t), i = r ? `${e} ${r}` : e, n = Array.isArray(s) ? s.join("") : s || "";
82
+ if (e) {
83
+ if (ne.includes(e)) return `<${i}>`;
84
+ } else return n;
85
+ return `<${i}>${n}</${e}>`;
354
86
  }
355
- const L = (s) => Object.fromEntries(Object.entries(s).filter(([t, e]) => e !== void 0));
356
- function V(s, t = {}, e) {
357
- const r = xt(t), u = r ? `${s} ${r}` : s, i = Array.isArray(e) ? e.join("") : e || "";
358
- if (s) {
359
- if (kt.includes(s)) return `<${u}>`;
360
- } else return i;
361
- return `<${u}>${i}</${s}>`;
362
- }
363
- function _t(s = {}) {
364
- const t = /* @__PURE__ */ new Map(), { renderFn: e = V, textFn: r = Bt, resolvers: u = {}, optimizeImages: i = !1, keyedResolvers: a = !1 } = s, o = e !== V, n = (l) => (F, d) => {
365
- const f = F.attrs || {};
366
- return d.render(l, f, F.children || null);
367
- }, c = (l, F) => {
368
- const { src: d, alt: f, title: E, srcset: C, sizes: g } = l.attrs || {};
369
- let y = d, v = {};
370
- if (i) {
371
- const { src: at, attrs: ct } = vt(d, i);
372
- y = at, v = ct;
87
+ function ue(e = {}) {
88
+ const t = /* @__PURE__ */ new Map(), { renderFn: s = F, textFn: r = le, resolvers: i = {}, optimizeImages: n = !1, keyedResolvers: l = !1 } = e, a = s !== F, u = (o) => (d, h) => {
89
+ const y = d.attrs || {};
90
+ return h.render(o, y, d.children || null);
91
+ }, c = (o, d) => {
92
+ const { src: h, alt: y, title: p, srcset: m, sizes: v } = o.attrs || {};
93
+ let R = h, k = {};
94
+ if (n) {
95
+ const { src: ee, attrs: te } = ce(h, n);
96
+ R = ee, k = te;
373
97
  }
374
- const ot = {
375
- src: y,
376
- alt: f,
377
- title: E,
378
- srcset: C,
379
- sizes: g,
380
- ...v
98
+ const Z = {
99
+ src: R,
100
+ alt: y,
101
+ title: p,
102
+ srcset: m,
103
+ sizes: v,
104
+ ...k
381
105
  };
382
- return F.render("img", L(ot));
383
- }, h = (l, F) => {
384
- const { level: d, ...f } = l.attrs || {};
385
- return F.render(`h${d}`, f, l.children);
386
- }, D = (l, F) => {
387
- var f, E, C, g;
388
- const d = F.render("img", {
389
- src: (f = l.attrs) == null ? void 0 : f.fallbackImage,
390
- alt: (E = l.attrs) == null ? void 0 : E.alt,
106
+ return d.render("img", P(Z));
107
+ }, f = (o, d) => {
108
+ const { level: h, ...y } = o.attrs || {};
109
+ return d.render(`h${h}`, y, o.children);
110
+ }, g = (o, d) => {
111
+ var y, p, m, v;
112
+ const h = d.render("img", {
113
+ src: (y = o.attrs) == null ? void 0 : y.fallbackImage,
114
+ alt: (p = o.attrs) == null ? void 0 : p.alt,
391
115
  style: "width: 1.25em; height: 1.25em; vertical-align: text-top",
392
116
  draggable: "false",
393
117
  loading: "lazy"
394
118
  });
395
- return F.render("span", {
119
+ return d.render("span", {
396
120
  "data-type": "emoji",
397
- "data-name": (C = l.attrs) == null ? void 0 : C.name,
398
- "data-emoji": (g = l.attrs) == null ? void 0 : g.emoji
399
- }, d);
400
- }, A = (l, F) => F.render("pre", l.attrs || {}, F.render("code", {}, l.children || "")), m = (l, F = !1) => ({ text: d, attrs: f }, E) => {
401
- const { class: C, id: g, ...y } = f || {}, v = F ? {
402
- class: C,
403
- id: g,
404
- style: wt(y) || void 0
405
- } : f || {};
406
- return E.render(l, L(v), d);
407
- }, _ = (l) => $(l), R = (l) => {
408
- const { marks: F, ...d } = l;
409
- if ("text" in l) {
410
- if (F) return F.reduce((E, C) => _({
411
- ...C,
412
- text: E
413
- }), _({
414
- ...d,
415
- children: d.children
121
+ "data-name": (m = o.attrs) == null ? void 0 : m.name,
122
+ "data-emoji": (v = o.attrs) == null ? void 0 : v.emoji
123
+ }, h);
124
+ }, E = (o, d) => d.render("pre", o.attrs || {}, d.render("code", {}, o.children || "")), _ = (o, d = !1) => ({ text: h, attrs: y }, p) => {
125
+ const { class: m, id: v, ...R } = y || {}, k = d ? {
126
+ class: m,
127
+ id: v,
128
+ style: ae(R) || void 0
129
+ } : y || {};
130
+ return p.render(o, P(k), h);
131
+ }, T = (o) => N(o), L = (o) => {
132
+ const { marks: d, ...h } = o;
133
+ if ("text" in o) {
134
+ if (d) return d.reduce((p, m) => T({
135
+ ...m,
136
+ text: p
137
+ }), T({
138
+ ...h,
139
+ children: h.children
416
140
  }));
417
- const f = l.attrs || {};
418
- if (a) {
419
- const E = t.get("txt") || 0;
420
- t.set("txt", E + 1), f.key = `txt-${E}`;
141
+ const y = o.attrs || {};
142
+ if (l) {
143
+ const p = t.get("txt") || 0;
144
+ t.set("txt", p + 1), y.key = `txt-${p}`;
421
145
  }
422
- return r(d.text, f);
146
+ return r(h.text, y);
423
147
  }
424
148
  return "";
425
- }, M = (l, F) => {
426
- const { linktype: d, href: f, anchor: E, ...C } = l.attrs || {};
427
- let g = "";
428
- switch (d) {
429
- case I.ASSET:
430
- case I.URL:
431
- g = f;
149
+ }, j = (o, d) => {
150
+ const { linktype: h, href: y, anchor: p, ...m } = o.attrs || {};
151
+ let v = "";
152
+ switch (h) {
153
+ case C.ASSET:
154
+ case C.URL:
155
+ v = y;
432
156
  break;
433
- case I.EMAIL:
434
- g = `mailto:${f}`;
157
+ case C.EMAIL:
158
+ v = `mailto:${y}`;
435
159
  break;
436
- case I.STORY:
437
- g = f, E && (g = `${g}#${E}`);
160
+ case C.STORY:
161
+ v = y, p && (v = `${v}#${p}`);
438
162
  break;
439
163
  default:
440
- g = f;
164
+ v = y;
441
165
  break;
442
166
  }
443
- const y = { ...C };
444
- return g && (y.href = g), F.render("a", y, l.text);
445
- }, et = (l, F) => {
446
- var d, f;
447
- return console.warn("[StoryblokRichtText] - BLOK resolver is not available for vanilla usage"), F.render("span", {
448
- blok: (d = l == null ? void 0 : l.attrs) == null ? void 0 : d.body[0],
449
- id: (f = l.attrs) == null ? void 0 : f.id,
167
+ const R = { ...m };
168
+ return v && (R.href = v), d.render("a", R, o.text);
169
+ }, J = (o, d) => {
170
+ var h, y;
171
+ return console.warn("[StoryblokRichtText] - BLOK resolver is not available for vanilla usage"), d.render("span", {
172
+ blok: (h = o == null ? void 0 : o.attrs) == null ? void 0 : h.body[0],
173
+ id: (y = o.attrs) == null ? void 0 : y.id,
450
174
  style: "display: none"
451
175
  });
452
- }, st = (l, F) => {
453
- const d = {}, f = F.render("tbody", {}, l.children);
454
- return F.render("table", d, f);
455
- }, rt = (l, F) => {
456
- const d = {};
457
- return F.render("tr", d, l.children);
458
- }, ut = (l, F) => {
459
- const { colspan: d, rowspan: f, colwidth: E, backgroundColor: C, ...g } = l.attrs || {}, y = { ...g };
460
- d > 1 && (y.colspan = d), f > 1 && (y.rowspan = f);
461
- const v = [];
462
- return E && v.push(`width: ${E}px;`), C && v.push(`background-color: ${C};`), v.length > 0 && (y.style = v.join(" ")), F.render("td", L(y), l.children);
463
- }, it = (l, F) => {
464
- const { colspan: d, rowspan: f, colwidth: E, backgroundColor: C, ...g } = l.attrs || {}, y = { ...g };
465
- d > 1 && (y.colspan = d), f > 1 && (y.rowspan = f);
466
- const v = [];
467
- return E && v.push(`width: ${E}px;`), C && v.push(`background-color: ${C};`), v.length > 0 && (y.style = v.join(" ")), F.render("th", L(y), l.children);
176
+ }, K = (o, d) => {
177
+ const h = {}, y = d.render("tbody", {}, o.children);
178
+ return d.render("table", h, y);
179
+ }, Y = (o, d) => {
180
+ const h = {};
181
+ return d.render("tr", h, o.children);
182
+ }, W = (o, d) => {
183
+ const { colspan: h, rowspan: y, colwidth: p, backgroundColor: m, ...v } = o.attrs || {}, R = { ...v };
184
+ h > 1 && (R.colspan = h), y > 1 && (R.rowspan = y);
185
+ const k = [];
186
+ return p && k.push(`width: ${p}px;`), m && k.push(`background-color: ${m};`), k.length > 0 && (R.style = k.join(" ")), d.render("td", P(R), o.children);
187
+ }, X = (o, d) => {
188
+ const { colspan: h, rowspan: y, colwidth: p, backgroundColor: m, ...v } = o.attrs || {}, R = { ...v };
189
+ h > 1 && (R.colspan = h), y > 1 && (R.rowspan = y);
190
+ const k = [];
191
+ return p && k.push(`width: ${p}px;`), m && k.push(`background-color: ${m};`), k.length > 0 && (R.style = k.join(" ")), d.render("th", P(R), o.children);
468
192
  }, U = /* @__PURE__ */ new Map([
469
- [b.DOCUMENT, n("")],
470
- [b.HEADING, h],
471
- [b.PARAGRAPH, n("p")],
472
- [b.UL_LIST, n("ul")],
473
- [b.OL_LIST, n("ol")],
474
- [b.LIST_ITEM, n("li")],
475
- [b.IMAGE, c],
476
- [b.EMOJI, D],
477
- [b.CODE_BLOCK, A],
478
- [b.HR, n("hr")],
479
- [b.BR, n("br")],
480
- [b.QUOTE, n("blockquote")],
481
- [b.COMPONENT, et],
482
- [bt.TEXT, R],
483
- [k.LINK, M],
484
- [k.ANCHOR, M],
485
- [k.STYLED, m("span", !0)],
486
- [k.BOLD, m("strong")],
487
- [k.TEXT_STYLE, m("span", !0)],
488
- [k.ITALIC, m("em")],
489
- [k.UNDERLINE, m("u")],
490
- [k.STRIKE, m("s")],
491
- [k.CODE, m("code")],
492
- [k.SUPERSCRIPT, m("sup")],
493
- [k.SUBSCRIPT, m("sub")],
494
- [k.HIGHLIGHT, m("mark")],
495
- [b.TABLE, st],
496
- [b.TABLE_ROW, rt],
497
- [b.TABLE_CELL, ut],
498
- [b.TABLE_HEADER, it]
499
- ]), z = new Map([...U, ...Object.entries(u).map(([l, F]) => [l, F])]), nt = () => ({
500
- render: (d, f = {}, E) => {
501
- if (a && d) {
502
- const C = t.get(d) || 0;
503
- t.set(d, C + 1), f.key = `${d}-${C}`;
193
+ [w.DOCUMENT, u("")],
194
+ [w.HEADING, f],
195
+ [w.PARAGRAPH, u("p")],
196
+ [w.UL_LIST, u("ul")],
197
+ [w.OL_LIST, u("ol")],
198
+ [w.LIST_ITEM, u("li")],
199
+ [w.IMAGE, c],
200
+ [w.EMOJI, g],
201
+ [w.CODE_BLOCK, E],
202
+ [w.HR, u("hr")],
203
+ [w.BR, u("br")],
204
+ [w.QUOTE, u("blockquote")],
205
+ [w.COMPONENT, J],
206
+ [ie.TEXT, L],
207
+ [S.LINK, j],
208
+ [S.ANCHOR, j],
209
+ [S.STYLED, _("span", !0)],
210
+ [S.BOLD, _("strong")],
211
+ [S.TEXT_STYLE, _("span", !0)],
212
+ [S.ITALIC, _("em")],
213
+ [S.UNDERLINE, _("u")],
214
+ [S.STRIKE, _("s")],
215
+ [S.CODE, _("code")],
216
+ [S.SUPERSCRIPT, _("sup")],
217
+ [S.SUBSCRIPT, _("sub")],
218
+ [S.HIGHLIGHT, _("mark")],
219
+ [w.TABLE, K],
220
+ [w.TABLE_ROW, Y],
221
+ [w.TABLE_CELL, W],
222
+ [w.TABLE_HEADER, X]
223
+ ]), B = new Map([...U, ...Object.entries(i).map(([o, d]) => [o, d])]), Q = () => ({
224
+ render: (h, y = {}, p) => {
225
+ if (l && h) {
226
+ const m = t.get(h) || 0;
227
+ t.set(h, m + 1), y.key = `${h}-${m}`;
504
228
  }
505
- return e(d, f, E);
229
+ return s(h, y, p);
506
230
  },
507
231
  originalResolvers: U,
508
- mergedResolvers: z
232
+ mergedResolvers: B
509
233
  });
510
- function S(l) {
511
- const F = z.get(l.type);
512
- if (!F)
513
- return console.error("<Storyblok>", `No resolver found for node type ${l.type}`), "";
514
- const d = nt();
515
- if (l.type === "text") return F(l, d);
516
- const f = l.content ? l.content.map($) : void 0;
517
- return F({
518
- ...l,
519
- children: f
520
- }, d);
521
- }
522
- function $(l) {
523
- return l.type === "doc" ? o ? l.content.map(S) : l.content.map(S).join("") : Array.isArray(l) ? l.map(S) : S(l);
524
- }
525
- return { render: $ };
234
+ function O(o) {
235
+ const d = B.get(o.type);
236
+ if (!d)
237
+ return console.error("<Storyblok>", `No resolver found for node type ${o.type}`), "";
238
+ const h = Q();
239
+ if (o.type === "text") return d(o, h);
240
+ const y = o.content ? o.content.map(N) : void 0;
241
+ return d({
242
+ ...o,
243
+ children: y
244
+ }, h);
245
+ }
246
+ function N(o) {
247
+ return o.type === "doc" ? a ? o.content.map(O) : o.content.map(O).join("") : Array.isArray(o) ? o.map(O) : O(o);
248
+ }
249
+ return { render: N };
526
250
  }
527
- let W = !1;
528
- const Y = [], tt = (s) => new Promise((t, e) => {
251
+ let z = !1;
252
+ const G = [], M = (e) => new Promise((t, s) => {
529
253
  if (typeof window > "u") {
530
- e(new Error("Cannot load Storyblok bridge: window is undefined (server-side environment)"));
254
+ s(new Error("Cannot load Storyblok bridge: window is undefined (server-side environment)"));
531
255
  return;
532
256
  }
533
- if (window.storyblokRegisterEvent = (u) => {
257
+ if (window.storyblokRegisterEvent = (i) => {
534
258
  if (!window.location.search.includes("_storyblok")) {
535
259
  console.warn("You are not in Draft Mode or in the Visual Editor.");
536
260
  return;
537
261
  }
538
- W ? u() : Y.push(u);
262
+ z ? i() : G.push(i);
539
263
  }, document.getElementById("storyblok-javascript-bridge")) {
540
264
  t(void 0);
541
265
  return;
542
266
  }
543
267
  const r = document.createElement("script");
544
- r.async = !0, r.src = s, r.id = "storyblok-javascript-bridge", r.onerror = (u) => e(u), r.onload = (u) => {
545
- Y.forEach((i) => i()), W = !0, t(u);
268
+ r.async = !0, r.src = e, r.id = "storyblok-javascript-bridge", r.onerror = (i) => s(i), r.onload = (i) => {
269
+ G.forEach((n) => n()), z = !0, t(i);
546
270
  }, document.getElementsByTagName("head")[0].appendChild(r);
547
271
  });
548
- var Rt = Object.defineProperty, St = (s, t, e) => t in s ? Rt(s, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : s[t] = e, p = (s, t, e) => St(s, typeof t != "symbol" ? t + "" : t, e);
549
- class It extends Error {
550
- constructor(t) {
551
- super(t), this.name = "AbortError";
272
+ var he = class extends Error {
273
+ constructor(e) {
274
+ super(e), this.name = "AbortError";
552
275
  }
553
- }
554
- function Lt(s, t, e) {
555
- if (!Number.isFinite(t))
556
- throw new TypeError("Expected `limit` to be a finite number");
557
- if (!Number.isFinite(e))
558
- throw new TypeError("Expected `interval` to be a finite number");
276
+ };
277
+ function de(e, t, s) {
278
+ if (!Number.isFinite(t)) throw new TypeError("Expected `limit` to be a finite number");
279
+ if (!Number.isFinite(s)) throw new TypeError("Expected `interval` to be a finite number");
559
280
  const r = [];
560
- let u = [], i = 0, a = !1;
561
- const o = async () => {
562
- i++;
281
+ let i = [], n = 0, l = !1;
282
+ const a = async () => {
283
+ n++;
563
284
  const c = r.shift();
564
- if (c)
565
- try {
566
- const D = await s(...c.args);
567
- c.resolve(D);
568
- } catch (D) {
569
- c.reject(D);
570
- }
571
- const h = setTimeout(() => {
572
- i--, r.length > 0 && o(), u = u.filter((D) => D !== h);
573
- }, e);
574
- u.includes(h) || u.push(h);
575
- }, n = (...c) => a ? Promise.reject(
576
- new Error(
577
- "Throttled function is already aborted and not accepting new promises"
578
- )
579
- ) : new Promise((h, D) => {
285
+ if (c) try {
286
+ const g = await e(...c.args);
287
+ c.resolve(g);
288
+ } catch (g) {
289
+ c.reject(g);
290
+ }
291
+ const f = setTimeout(() => {
292
+ n--, r.length > 0 && a(), i = i.filter((g) => g !== f);
293
+ }, s);
294
+ i.includes(f) || i.push(f);
295
+ }, u = (...c) => l ? Promise.reject(/* @__PURE__ */ new Error("Throttled function is already aborted and not accepting new promises")) : new Promise((f, g) => {
580
296
  r.push({
581
- resolve: h,
582
- reject: D,
297
+ resolve: f,
298
+ reject: g,
583
299
  args: c
584
- }), i < t && o();
300
+ }), n < t && a();
585
301
  });
586
- return n.abort = () => {
587
- a = !0, u.forEach(clearTimeout), u = [], r.forEach(
588
- (c) => c.reject(() => new It("Throttle function aborted"))
589
- ), r.length = 0;
590
- }, n;
302
+ return u.abort = () => {
303
+ l = !0, i.forEach(clearTimeout), i = [], r.forEach((c) => c.reject(() => new he("Throttle function aborted"))), r.length = 0;
304
+ }, u;
591
305
  }
592
- const K = (s = "") => s.includes("/cdn/"), Tt = (s, t = 25, e = 1) => ({
593
- ...s,
306
+ var fe = de;
307
+ const q = (e = "") => e.includes("/cdn/"), ye = (e, t = 25, s = 1) => ({
308
+ ...e,
594
309
  per_page: t,
595
- page: e
596
- }), Ot = (s) => new Promise((t) => setTimeout(t, s)), Pt = (s = 0, t) => Array.from({ length: s }, t), $t = (s = 0, t = s) => {
597
- const e = Math.abs(t - s) || 0, r = s < t ? 1 : -1;
598
- return Pt(e, (u, i) => i * r + s);
599
- }, jt = async (s, t) => Promise.all(s.map(t)), Nt = (s = [], t) => s.map(t).reduce((e, r) => [...e, ...r], []), H = (s, t, e) => {
310
+ page: s
311
+ }), ge = (e) => new Promise((t) => setTimeout(t, e)), be = (e = 0, t) => Array.from({ length: e }, t), pe = (e = 0, t = e) => {
312
+ const s = Math.abs(t - e) || 0, r = e < t ? 1 : -1;
313
+ return be(s, (i, n) => n * r + e);
314
+ }, me = async (e, t) => Promise.all(e.map(t)), ve = (e = [], t) => e.map(t).reduce((s, r) => [...s, ...r], []), H = (e, t, s) => {
600
315
  const r = [];
601
- for (const u in s) {
602
- if (!Object.prototype.hasOwnProperty.call(s, u))
603
- continue;
604
- const i = s[u];
605
- if (i == null)
606
- continue;
607
- const a = e ? "" : encodeURIComponent(u);
608
- let o;
609
- typeof i == "object" ? o = H(
610
- i,
611
- t ? t + encodeURIComponent(`[${a}]`) : a,
612
- Array.isArray(i)
613
- ) : o = `${t ? t + encodeURIComponent(`[${a}]`) : a}=${encodeURIComponent(i)}`, r.push(o);
316
+ for (const i in e) {
317
+ if (!Object.prototype.hasOwnProperty.call(e, i)) continue;
318
+ const n = e[i];
319
+ if (n == null) continue;
320
+ const l = s ? "" : encodeURIComponent(i);
321
+ let a;
322
+ typeof n == "object" ? a = H(n, t ? t + encodeURIComponent(`[${l}]`) : l, Array.isArray(n)) : a = `${t ? t + encodeURIComponent(`[${l}]`) : l}=${encodeURIComponent(n)}`, r.push(a);
614
323
  }
615
324
  return r.join("&");
616
- }, Z = (s) => {
325
+ }, V = (e) => {
617
326
  const t = {
618
327
  eu: "api.storyblok.com",
619
328
  us: "api-us.storyblok.com",
@@ -621,206 +330,202 @@ const K = (s = "") => s.includes("/cdn/"), Tt = (s, t = 25, e = 1) => ({
621
330
  ap: "api-ap.storyblok.com",
622
331
  ca: "api-ca.storyblok.com"
623
332
  };
624
- return t[s] ?? t.eu;
333
+ return t[e] ?? t.eu;
625
334
  };
626
- class Ht {
627
- constructor(t) {
628
- p(this, "baseURL"), p(this, "timeout"), p(this, "headers"), p(this, "responseInterceptor"), p(this, "fetch"), p(this, "ejectInterceptor"), p(this, "url"), p(this, "parameters"), p(this, "fetchOptions"), this.baseURL = t.baseURL, this.headers = t.headers || new Headers(), this.timeout = t != null && t.timeout ? t.timeout * 1e3 : 0, this.responseInterceptor = t.responseInterceptor, this.fetch = (...e) => t.fetch ? t.fetch(...e) : fetch(...e), this.ejectInterceptor = !1, this.url = "", this.parameters = {}, this.fetchOptions = {};
335
+ var Re = class {
336
+ constructor(e) {
337
+ b(this, "baseURL");
338
+ b(this, "timeout");
339
+ b(this, "headers");
340
+ b(this, "responseInterceptor");
341
+ b(this, "fetch");
342
+ b(this, "ejectInterceptor");
343
+ b(this, "url");
344
+ b(this, "parameters");
345
+ b(this, "fetchOptions");
346
+ this.baseURL = e.baseURL, this.headers = e.headers || new Headers(), this.timeout = e != null && e.timeout ? e.timeout * 1e3 : 0, this.responseInterceptor = e.responseInterceptor, this.fetch = (...t) => e.fetch ? e.fetch(...t) : fetch(...t), this.ejectInterceptor = !1, this.url = "", this.parameters = {}, this.fetchOptions = {};
629
347
  }
630
348
  /**
631
- *
632
- * @param url string
633
- * @param params ISbStoriesParams
634
- * @returns Promise<ISbResponse | Error>
635
- */
636
- get(t, e) {
637
- return this.url = t, this.parameters = e, this._methodHandler("get");
349
+ *
350
+ * @param url string
351
+ * @param params ISbStoriesParams
352
+ * @returns Promise<ISbResponse | Error>
353
+ */
354
+ get(e, t) {
355
+ return this.url = e, this.parameters = t, this._methodHandler("get");
638
356
  }
639
- post(t, e) {
640
- return this.url = t, this.parameters = e, this._methodHandler("post");
357
+ post(e, t) {
358
+ return this.url = e, this.parameters = t, this._methodHandler("post");
641
359
  }
642
- put(t, e) {
643
- return this.url = t, this.parameters = e, this._methodHandler("put");
360
+ put(e, t) {
361
+ return this.url = e, this.parameters = t, this._methodHandler("put");
644
362
  }
645
- delete(t, e) {
646
- return this.url = t, this.parameters = e ?? {}, this._methodHandler("delete");
363
+ delete(e, t) {
364
+ return this.url = e, this.parameters = t ?? {}, this._methodHandler("delete");
647
365
  }
648
- async _responseHandler(t) {
649
- const e = [], r = {
366
+ async _responseHandler(e) {
367
+ const t = [], s = {
650
368
  data: {},
651
369
  headers: {},
652
370
  status: 0,
653
371
  statusText: ""
654
372
  };
655
- t.status !== 204 && await t.json().then((u) => {
656
- r.data = u;
373
+ e.status !== 204 && await e.json().then((r) => {
374
+ s.data = r;
657
375
  });
658
- for (const u of t.headers.entries())
659
- e[u[0]] = u[1];
660
- return r.headers = { ...e }, r.status = t.status, r.statusText = t.statusText, r;
661
- }
662
- async _methodHandler(t) {
663
- let e = `${this.baseURL}${this.url}`, r = null;
664
- t === "get" ? e = `${this.baseURL}${this.url}?${H(this.parameters)}` : r = JSON.stringify(this.parameters);
665
- const u = new URL(e), i = new AbortController(), { signal: a } = i;
666
- let o;
667
- this.timeout && (o = setTimeout(() => i.abort(), this.timeout));
376
+ for (const r of e.headers.entries()) t[r[0]] = r[1];
377
+ return s.headers = { ...t }, s.status = e.status, s.statusText = e.statusText, s;
378
+ }
379
+ async _methodHandler(e) {
380
+ let t = `${this.baseURL}${this.url}`, s = null;
381
+ e === "get" ? t = `${this.baseURL}${this.url}?${H(this.parameters)}` : s = JSON.stringify(this.parameters);
382
+ const r = new URL(t), i = new AbortController(), { signal: n } = i;
383
+ let l;
384
+ this.timeout && (l = setTimeout(() => i.abort(), this.timeout));
668
385
  try {
669
- const n = await this.fetch(`${u}`, {
670
- method: t,
386
+ const a = await this.fetch(`${r}`, {
387
+ method: e,
671
388
  headers: this.headers,
672
- body: r,
673
- signal: a,
389
+ body: s,
390
+ signal: n,
674
391
  ...this.fetchOptions
675
392
  });
676
- this.timeout && clearTimeout(o);
677
- const c = await this._responseHandler(
678
- n
679
- );
680
- return this.responseInterceptor && !this.ejectInterceptor ? this._statusHandler(this.responseInterceptor(c)) : this._statusHandler(c);
681
- } catch (n) {
682
- return {
683
- message: n
684
- };
393
+ this.timeout && clearTimeout(l);
394
+ const u = await this._responseHandler(a);
395
+ return this.responseInterceptor && !this.ejectInterceptor ? this._statusHandler(this.responseInterceptor(u)) : this._statusHandler(u);
396
+ } catch (a) {
397
+ return { message: a };
685
398
  }
686
399
  }
687
- setFetchOptions(t = {}) {
688
- Object.keys(t).length > 0 && "method" in t && delete t.method, this.fetchOptions = { ...t };
400
+ setFetchOptions(e = {}) {
401
+ Object.keys(e).length > 0 && "method" in e && delete e.method, this.fetchOptions = { ...e };
689
402
  }
690
403
  eject() {
691
404
  this.ejectInterceptor = !0;
692
405
  }
693
406
  /**
694
- * Normalizes error messages from different response structures
695
- * @param data The response data that might contain error information
696
- * @returns A normalized error message string
697
- */
698
- _normalizeErrorMessage(t) {
699
- if (Array.isArray(t))
700
- return t[0] || "Unknown error";
701
- if (t && typeof t == "object") {
702
- if (t.error)
703
- return t.error;
704
- for (const e in t) {
705
- if (Array.isArray(t[e]))
706
- return `${e}: ${t[e][0]}`;
707
- if (typeof t[e] == "string")
708
- return `${e}: ${t[e]}`;
407
+ * Normalizes error messages from different response structures
408
+ * @param data The response data that might contain error information
409
+ * @returns A normalized error message string
410
+ */
411
+ _normalizeErrorMessage(e) {
412
+ if (Array.isArray(e)) return e[0] || "Unknown error";
413
+ if (e && typeof e == "object") {
414
+ if (e.error) return e.error;
415
+ for (const t in e) {
416
+ if (Array.isArray(e[t])) return `${t}: ${e[t][0]}`;
417
+ if (typeof e[t] == "string") return `${t}: ${e[t]}`;
709
418
  }
710
- if (t.slug)
711
- return t.slug;
419
+ if (e.slug) return e.slug;
712
420
  }
713
421
  return "Unknown error";
714
422
  }
715
- _statusHandler(t) {
716
- const e = /20[0-6]/g;
717
- return new Promise((r, u) => {
718
- if (e.test(`${t.status}`))
719
- return r(t);
423
+ _statusHandler(e) {
424
+ const t = /20[0-6]/g;
425
+ return new Promise((s, r) => {
426
+ if (t.test(`${e.status}`)) return s(e);
720
427
  const i = {
721
- message: this._normalizeErrorMessage(t.data),
722
- status: t.status,
723
- response: t
428
+ message: this._normalizeErrorMessage(e.data),
429
+ status: e.status,
430
+ response: e
724
431
  };
725
- u(i);
432
+ r(i);
726
433
  });
727
434
  }
728
- }
729
- const X = "SB-Agent", j = {
435
+ }, we = Re;
436
+ const D = "SB-Agent", x = {
730
437
  defaultAgentName: "SB-JS-CLIENT",
731
438
  defaultAgentVersion: "SB-Agent-Version",
732
439
  packageVersion: "7.0.0"
733
- }, Mt = {
440
+ }, ke = {
734
441
  PUBLISHED: "published"
735
442
  };
736
- let T = {};
737
- const B = {};
738
- class Ut {
443
+ let I = {};
444
+ const A = {};
445
+ var _e = class {
739
446
  /**
740
- *
741
- * @param config ISbConfig interface
742
- * @param pEndpoint string, optional
743
- */
744
- constructor(t, e) {
745
- p(this, "client"), p(this, "maxRetries"), p(this, "retriesDelay"), p(this, "throttle"), p(this, "accessToken"), p(this, "cache"), p(this, "resolveCounter"), p(this, "relations"), p(this, "links"), p(this, "version"), p(this, "richTextResolver"), p(this, "resolveNestedRelations"), p(this, "stringifiedStoriesCache"), p(this, "inlineAssets");
746
- let r = t.endpoint || e;
747
- if (!r) {
748
- const a = t.https === !1 ? "http" : "https";
749
- t.oauthToken ? r = `${a}://${Z(t.region)}/v1` : r = `${a}://${Z(t.region)}/v2`;
447
+ *
448
+ * @param config ISbConfig interface
449
+ * @param pEndpoint string, optional
450
+ */
451
+ constructor(e, t) {
452
+ b(this, "client");
453
+ b(this, "maxRetries");
454
+ b(this, "retriesDelay");
455
+ b(this, "throttle");
456
+ b(this, "accessToken");
457
+ b(this, "cache");
458
+ b(this, "resolveCounter");
459
+ b(this, "relations");
460
+ b(this, "links");
461
+ b(this, "version");
462
+ /**
463
+ * @deprecated This property is deprecated. Use the standalone `richTextResolver` from `@storyblok/richtext` instead.
464
+ * @see https://github.com/storyblok/richtext
465
+ */
466
+ b(this, "richTextResolver");
467
+ b(this, "resolveNestedRelations");
468
+ b(this, "stringifiedStoriesCache");
469
+ b(this, "inlineAssets");
470
+ let s = e.endpoint || t;
471
+ if (!s) {
472
+ const n = e.https === !1 ? "http" : "https";
473
+ e.oauthToken ? s = `${n}://${V(e.region)}/v1` : s = `${n}://${V(e.region)}/v2`;
750
474
  }
751
- const u = new Headers();
752
- u.set("Content-Type", "application/json"), u.set("Accept", "application/json"), t.headers && (t.headers.constructor.name === "Headers" ? t.headers.entries().toArray() : Object.entries(t.headers)).forEach(([a, o]) => {
753
- u.set(a, o);
754
- }), u.has(X) || (u.set(X, j.defaultAgentName), u.set(
755
- j.defaultAgentVersion,
756
- j.packageVersion
757
- ));
475
+ const r = new Headers();
476
+ r.set("Content-Type", "application/json"), r.set("Accept", "application/json"), e.headers && (e.headers.constructor.name === "Headers" ? e.headers.entries().toArray() : Object.entries(e.headers)).forEach(([l, a]) => {
477
+ r.set(l, a);
478
+ }), r.has(D) || (r.set(D, x.defaultAgentName), r.set(x.defaultAgentVersion, x.packageVersion));
758
479
  let i = 5;
759
- t.oauthToken && (u.set("Authorization", t.oauthToken), i = 3), t.rateLimit && (i = t.rateLimit), this.maxRetries = t.maxRetries || 10, this.retriesDelay = 300, this.throttle = Lt(
760
- this.throttledRequest.bind(this),
761
- i,
762
- 1e3
763
- ), this.accessToken = t.accessToken || "", this.relations = {}, this.links = {}, this.cache = t.cache || { clear: "manual" }, this.resolveCounter = 0, this.resolveNestedRelations = t.resolveNestedRelations || !0, this.stringifiedStoriesCache = {}, this.version = t.version || Mt.PUBLISHED, this.inlineAssets = t.inlineAssets || !1, this.client = new Ht({
764
- baseURL: r,
765
- timeout: t.timeout || 0,
766
- headers: u,
767
- responseInterceptor: t.responseInterceptor,
768
- fetch: t.fetch
480
+ e.oauthToken && (r.set("Authorization", e.oauthToken), i = 3), e.rateLimit && (i = e.rateLimit), this.maxRetries = e.maxRetries || 10, this.retriesDelay = 300, this.throttle = fe(this.throttledRequest.bind(this), i, 1e3), this.accessToken = e.accessToken || "", this.relations = {}, this.links = {}, this.cache = e.cache || { clear: "manual" }, this.resolveCounter = 0, this.resolveNestedRelations = e.resolveNestedRelations || !0, this.stringifiedStoriesCache = {}, this.version = e.version || ke.PUBLISHED, this.inlineAssets = e.inlineAssets || !1, this.client = new we({
481
+ baseURL: s,
482
+ timeout: e.timeout || 0,
483
+ headers: r,
484
+ responseInterceptor: e.responseInterceptor,
485
+ fetch: e.fetch
769
486
  });
770
487
  }
771
- parseParams(t) {
772
- return t.token || (t.token = this.getToken()), t.cv || (t.cv = B[t.token]), Array.isArray(t.resolve_relations) && (t.resolve_relations = t.resolve_relations.join(",")), typeof t.resolve_relations < "u" && (t.resolve_level = 2), t;
488
+ parseParams(e) {
489
+ return e.token || (e.token = this.getToken()), e.cv || (e.cv = A[e.token]), Array.isArray(e.resolve_relations) && (e.resolve_relations = e.resolve_relations.join(",")), typeof e.resolve_relations < "u" && (e.resolve_level = 2), e;
773
490
  }
774
- factoryParamOptions(t, e) {
775
- return K(t) ? this.parseParams(e) : e;
491
+ factoryParamOptions(e, t) {
492
+ return q(e) ? this.parseParams(t) : t;
776
493
  }
777
- makeRequest(t, e, r, u, i) {
778
- const a = this.factoryParamOptions(
779
- t,
780
- Tt(e, r, u)
781
- );
782
- return this.cacheResponse(t, a, void 0, i);
494
+ makeRequest(e, t, s, r, i) {
495
+ const n = this.factoryParamOptions(e, ye(t, s, r));
496
+ return this.cacheResponse(e, n, void 0, i);
783
497
  }
784
- get(t, e = {}, r) {
785
- e || (e = {});
786
- const u = `/${t}`;
787
- K(u) && (e.version = e.version || this.version);
788
- const i = this.factoryParamOptions(u, e);
789
- return this.cacheResponse(u, i, void 0, r);
498
+ get(e, t = {}, s) {
499
+ t || (t = {});
500
+ const r = `/${e}`;
501
+ q(r) && (t.version = t.version || this.version);
502
+ const i = this.factoryParamOptions(r, t);
503
+ return this.cacheResponse(r, i, void 0, s);
790
504
  }
791
- async getAll(t, e = {}, r, u) {
792
- const i = (e == null ? void 0 : e.per_page) || 25, a = `/${t}`.replace(/\/$/, ""), o = r ?? a.substring(a.lastIndexOf("/") + 1);
793
- e.version = e.version || this.version;
794
- const n = 1, c = await this.makeRequest(
795
- a,
796
- e,
797
- i,
798
- n,
799
- u
800
- ), h = c.total ? Math.ceil(c.total / (c.perPage || i)) : 1, D = await jt(
801
- $t(n, h),
802
- (A) => this.makeRequest(a, e, i, A + 1, u)
803
- );
804
- return Nt([c, ...D], (A) => Object.values(A.data[o]));
505
+ async getAll(e, t = {}, s, r) {
506
+ const i = (t == null ? void 0 : t.per_page) || 25, n = `/${e}`.replace(/\/$/, ""), l = s ?? n.substring(n.lastIndexOf("/") + 1);
507
+ t.version = t.version || this.version;
508
+ const a = 1, u = await this.makeRequest(n, t, i, a, r), c = u.total ? Math.ceil(u.total / (u.perPage || i)) : 1, f = await me(pe(a, c), (g) => this.makeRequest(n, t, i, g + 1, r));
509
+ return ve([u, ...f], (g) => Object.values(g.data[l]));
805
510
  }
806
- post(t, e = {}, r) {
807
- const u = `/${t}`;
808
- return this.throttle("post", u, e, r);
511
+ post(e, t = {}, s) {
512
+ const r = `/${e}`;
513
+ return this.throttle("post", r, t, s);
809
514
  }
810
- put(t, e = {}, r) {
811
- const u = `/${t}`;
812
- return this.throttle("put", u, e, r);
515
+ put(e, t = {}, s) {
516
+ const r = `/${e}`;
517
+ return this.throttle("put", r, t, s);
813
518
  }
814
- delete(t, e = {}, r) {
815
- e || (e = {});
816
- const u = `/${t}`;
817
- return this.throttle("delete", u, e, r);
519
+ delete(e, t = {}, s) {
520
+ t || (t = {});
521
+ const r = `/${e}`;
522
+ return this.throttle("delete", r, t, s);
818
523
  }
819
- getStories(t = {}, e) {
820
- return this._addResolveLevel(t), this.get("cdn/stories", t, e);
524
+ getStories(e = {}, t) {
525
+ return this._addResolveLevel(e), this.get("cdn/stories", e, t);
821
526
  }
822
- getStory(t, e = {}, r) {
823
- return this._addResolveLevel(e), this.get(`cdn/stories/${t}`, e, r);
527
+ getStory(e, t = {}, s) {
528
+ return this._addResolveLevel(t), this.get(`cdn/stories/${e}`, t, s);
824
529
  }
825
530
  getToken() {
826
531
  return this.accessToken;
@@ -828,241 +533,227 @@ class Ut {
828
533
  ejectInterceptor() {
829
534
  this.client.eject();
830
535
  }
831
- _addResolveLevel(t) {
832
- typeof t.resolve_relations < "u" && (t.resolve_level = 2);
536
+ _addResolveLevel(e) {
537
+ typeof e.resolve_relations < "u" && (e.resolve_level = 2);
833
538
  }
834
- _cleanCopy(t) {
835
- return JSON.parse(JSON.stringify(t));
539
+ _cleanCopy(e) {
540
+ return JSON.parse(JSON.stringify(e));
836
541
  }
837
- _insertLinks(t, e, r) {
838
- const u = t[e];
839
- u && u.fieldtype === "multilink" && u.linktype === "story" && typeof u.id == "string" && this.links[r][u.id] ? u.story = this._cleanCopy(this.links[r][u.id]) : u && u.linktype === "story" && typeof u.uuid == "string" && this.links[r][u.uuid] && (u.story = this._cleanCopy(this.links[r][u.uuid]));
542
+ _insertLinks(e, t, s) {
543
+ const r = e[t];
544
+ r && r.fieldtype === "multilink" && r.linktype === "story" && typeof r.id == "string" && this.links[s][r.id] ? r.story = this._cleanCopy(this.links[s][r.id]) : r && r.linktype === "story" && typeof r.uuid == "string" && this.links[s][r.uuid] && (r.story = this._cleanCopy(this.links[s][r.uuid]));
840
545
  }
841
546
  /**
842
- *
843
- * @param resolveId A counter number as a string
844
- * @param uuid The uuid of the story
845
- * @returns string | object
846
- */
847
- getStoryReference(t, e) {
848
- return this.relations[t][e] ? JSON.parse(this.stringifiedStoriesCache[e] || JSON.stringify(this.relations[t][e])) : e;
547
+ *
548
+ * @param resolveId A counter number as a string
549
+ * @param uuid The uuid of the story
550
+ * @returns string | object
551
+ */
552
+ getStoryReference(e, t) {
553
+ return this.relations[e][t] ? JSON.parse(this.stringifiedStoriesCache[t] || JSON.stringify(this.relations[e][t])) : t;
849
554
  }
850
555
  /**
851
- * Resolves a field's value by replacing UUIDs with their corresponding story references
852
- * @param jtree - The JSON tree object containing the field to resolve
853
- * @param treeItem - The key of the field to resolve
854
- * @param resolveId - The unique identifier for the current resolution context
855
- *
856
- * This method handles both single string UUIDs and arrays of UUIDs:
857
- * - For single strings: directly replaces the UUID with the story reference
858
- * - For arrays: maps through each UUID and replaces with corresponding story references
859
- */
860
- _resolveField(t, e, r) {
861
- const u = t[e];
862
- typeof u == "string" ? t[e] = this.getStoryReference(r, u) : Array.isArray(u) && (t[e] = u.map(
863
- (i) => this.getStoryReference(r, i)
864
- ).filter(Boolean));
556
+ * Resolves a field's value by replacing UUIDs with their corresponding story references
557
+ * @param jtree - The JSON tree object containing the field to resolve
558
+ * @param treeItem - The key of the field to resolve
559
+ * @param resolveId - The unique identifier for the current resolution context
560
+ *
561
+ * This method handles both single string UUIDs and arrays of UUIDs:
562
+ * - For single strings: directly replaces the UUID with the story reference
563
+ * - For arrays: maps through each UUID and replaces with corresponding story references
564
+ */
565
+ _resolveField(e, t, s) {
566
+ const r = e[t];
567
+ typeof r == "string" ? e[t] = this.getStoryReference(s, r) : Array.isArray(r) && (e[t] = r.map((i) => this.getStoryReference(s, i)).filter(Boolean));
865
568
  }
866
569
  /**
867
- * Inserts relations into the JSON tree by resolving references
868
- * @param jtree - The JSON tree object to process
869
- * @param treeItem - The current field being processed
870
- * @param fields - The relation patterns to resolve (string or array of strings)
871
- * @param resolveId - The unique identifier for the current resolution context
872
- *
873
- * This method handles two types of relation patterns:
874
- * 1. Nested relations: matches fields that end with the current field name
875
- * Example: If treeItem is "event_type", it matches patterns like "*.event_type"
876
- *
877
- * 2. Direct component relations: matches exact component.field patterns
878
- * Example: "event.event_type" for component "event" and field "event_type"
879
- *
880
- * The method supports both string and array formats for the fields parameter,
881
- * allowing flexible specification of relation patterns.
882
- */
883
- _insertRelations(t, e, r, u) {
884
- if (Array.isArray(r) ? r.find((a) => a.endsWith(`.${e}`)) : r.endsWith(`.${e}`)) {
885
- this._resolveField(t, e, u);
570
+ * Inserts relations into the JSON tree by resolving references
571
+ * @param jtree - The JSON tree object to process
572
+ * @param treeItem - The current field being processed
573
+ * @param fields - The relation patterns to resolve (string or array of strings)
574
+ * @param resolveId - The unique identifier for the current resolution context
575
+ *
576
+ * This method handles two types of relation patterns:
577
+ * 1. Nested relations: matches fields that end with the current field name
578
+ * Example: If treeItem is "event_type", it matches patterns like "*.event_type"
579
+ *
580
+ * 2. Direct component relations: matches exact component.field patterns
581
+ * Example: "event.event_type" for component "event" and field "event_type"
582
+ *
583
+ * The method supports both string and array formats for the fields parameter,
584
+ * allowing flexible specification of relation patterns.
585
+ */
586
+ _insertRelations(e, t, s, r) {
587
+ if (Array.isArray(s) ? s.find((l) => l.endsWith(`.${t}`)) : s.endsWith(`.${t}`)) {
588
+ this._resolveField(e, t, r);
886
589
  return;
887
590
  }
888
- const i = t.component ? `${t.component}.${e}` : e;
889
- (Array.isArray(r) ? r.includes(i) : r === i) && this._resolveField(t, e, u);
591
+ const n = e.component ? `${e.component}.${t}` : t;
592
+ (Array.isArray(s) ? s.includes(n) : s === n) && this._resolveField(e, t, r);
890
593
  }
891
594
  /**
892
- * Recursively traverses and resolves relations in the story content tree
893
- * @param story - The story object containing the content to process
894
- * @param fields - The relation patterns to resolve
895
- * @param resolveId - The unique identifier for the current resolution context
896
- */
897
- iterateTree(t, e, r) {
898
- const u = (i, a = "") => {
595
+ * Recursively traverses and resolves relations in the story content tree
596
+ * @param story - The story object containing the content to process
597
+ * @param fields - The relation patterns to resolve
598
+ * @param resolveId - The unique identifier for the current resolution context
599
+ */
600
+ iterateTree(e, t, s) {
601
+ const r = (i, n = "") => {
899
602
  if (!(!i || i._stopResolving)) {
900
- if (Array.isArray(i))
901
- i.forEach((o, n) => u(o, `${a}[${n}]`));
902
- else if (typeof i == "object")
903
- for (const o in i) {
904
- const n = a ? `${a}.${o}` : o;
905
- (i.component && i._uid || i.type === "link") && (this._insertRelations(i, o, e, r), this._insertLinks(i, o, r)), u(i[o], n);
906
- }
603
+ if (Array.isArray(i)) i.forEach((l, a) => r(l, `${n}[${a}]`));
604
+ else if (typeof i == "object") for (const l in i) {
605
+ const a = n ? `${n}.${l}` : l;
606
+ (i.component && i._uid || i.type === "link") && (this._insertRelations(i, l, t, s), this._insertLinks(i, l, s)), r(i[l], a);
607
+ }
907
608
  }
908
609
  };
909
- u(t.content);
910
- }
911
- async resolveLinks(t, e, r) {
912
- let u = [];
913
- if (t.link_uuids) {
914
- const i = t.link_uuids.length, a = [], o = 50;
915
- for (let n = 0; n < i; n += o) {
916
- const c = Math.min(i, n + o);
917
- a.push(t.link_uuids.slice(n, c));
610
+ r(e.content);
611
+ }
612
+ async resolveLinks(e, t, s) {
613
+ let r = [];
614
+ if (e.link_uuids) {
615
+ const i = e.link_uuids.length, n = [], l = 50;
616
+ for (let a = 0; a < i; a += l) {
617
+ const u = Math.min(i, a + l);
618
+ n.push(e.link_uuids.slice(a, u));
918
619
  }
919
- for (let n = 0; n < a.length; n++)
620
+ for (let a = 0; a < n.length; a++)
920
621
  (await this.getStories({
921
- per_page: o,
922
- language: e.language,
923
- version: e.version,
924
- starts_with: e.starts_with,
925
- by_uuids: a[n].join(",")
926
- })).data.stories.forEach(
927
- (c) => {
928
- u.push(c);
929
- }
930
- );
931
- } else
932
- u = t.links;
933
- u.forEach((i) => {
934
- this.links[r][i.uuid] = {
622
+ per_page: l,
623
+ language: t.language,
624
+ version: t.version,
625
+ starts_with: t.starts_with,
626
+ by_uuids: n[a].join(",")
627
+ })).data.stories.forEach((c) => {
628
+ r.push(c);
629
+ });
630
+ } else r = e.links;
631
+ r.forEach((i) => {
632
+ this.links[s][i.uuid] = {
935
633
  ...i,
936
634
  _stopResolving: !0
937
635
  };
938
636
  });
939
637
  }
940
- async resolveRelations(t, e, r) {
941
- let u = [];
942
- if (t.rel_uuids) {
943
- const i = t.rel_uuids.length, a = [], o = 50;
944
- for (let n = 0; n < i; n += o) {
945
- const c = Math.min(i, n + o);
946
- a.push(t.rel_uuids.slice(n, c));
638
+ async resolveRelations(e, t, s) {
639
+ let r = [];
640
+ if (e.rel_uuids) {
641
+ const i = e.rel_uuids.length, n = [], l = 50;
642
+ for (let a = 0; a < i; a += l) {
643
+ const u = Math.min(i, a + l);
644
+ n.push(e.rel_uuids.slice(a, u));
947
645
  }
948
- for (let n = 0; n < a.length; n++)
646
+ for (let a = 0; a < n.length; a++)
949
647
  (await this.getStories({
950
- per_page: o,
951
- language: e.language,
952
- version: e.version,
953
- starts_with: e.starts_with,
954
- by_uuids: a[n].join(","),
955
- excluding_fields: e.excluding_fields
648
+ per_page: l,
649
+ language: t.language,
650
+ version: t.version,
651
+ starts_with: t.starts_with,
652
+ by_uuids: n[a].join(","),
653
+ excluding_fields: t.excluding_fields
956
654
  })).data.stories.forEach((c) => {
957
- u.push(c);
655
+ r.push(c);
958
656
  });
959
- u.length > 0 && (t.rels = u, delete t.rel_uuids);
960
- } else
961
- u = t.rels;
962
- u && u.length > 0 && u.forEach((i) => {
963
- this.relations[r][i.uuid] = {
657
+ r.length > 0 && (e.rels = r, delete e.rel_uuids);
658
+ } else r = e.rels;
659
+ r && r.length > 0 && r.forEach((i) => {
660
+ this.relations[s][i.uuid] = {
964
661
  ...i,
965
662
  _stopResolving: !0
966
663
  };
967
664
  });
968
665
  }
969
666
  /**
970
- *
971
- * @param responseData
972
- * @param params
973
- * @param resolveId
974
- * @description Resolves the relations and links of the stories
975
- * @returns Promise<void>
976
- *
977
- */
978
- async resolveStories(t, e, r) {
979
- var u, i;
980
- let a = [];
981
- if (this.links[r] = {}, this.relations[r] = {}, typeof e.resolve_relations < "u" && e.resolve_relations.length > 0 && (typeof e.resolve_relations == "string" && (a = e.resolve_relations.split(",")), await this.resolveRelations(t, e, r)), e.resolve_links && ["1", "story", "url", "link"].includes(e.resolve_links) && ((u = t.links) != null && u.length || (i = t.link_uuids) != null && i.length) && await this.resolveLinks(t, e, r), this.resolveNestedRelations)
982
- for (const o in this.relations[r])
983
- this.iterateTree(
984
- this.relations[r][o],
985
- a,
986
- r
987
- );
988
- t.story ? this.iterateTree(t.story, a, r) : t.stories.forEach((o) => {
989
- this.iterateTree(o, a, r);
990
- }), this.stringifiedStoriesCache = {}, delete this.links[r], delete this.relations[r];
991
- }
992
- async cacheResponse(t, e, r, u) {
993
- const i = H({ url: t, params: e }), a = this.cacheProvider();
994
- if (e.version === "published" && t !== "/cdn/spaces/me") {
995
- const o = await a.get(i);
996
- if (o)
997
- return Promise.resolve(o);
667
+ *
668
+ * @param responseData
669
+ * @param params
670
+ * @param resolveId
671
+ * @description Resolves the relations and links of the stories
672
+ * @returns Promise<void>
673
+ *
674
+ */
675
+ async resolveStories(e, t, s) {
676
+ var i, n;
677
+ let r = [];
678
+ if (this.links[s] = {}, this.relations[s] = {}, typeof t.resolve_relations < "u" && t.resolve_relations.length > 0 && (typeof t.resolve_relations == "string" && (r = t.resolve_relations.split(",")), await this.resolveRelations(e, t, s)), t.resolve_links && [
679
+ "1",
680
+ "story",
681
+ "url",
682
+ "link"
683
+ ].includes(t.resolve_links) && ((i = e.links) != null && i.length || (n = e.link_uuids) != null && n.length) && await this.resolveLinks(e, t, s), this.resolveNestedRelations) for (const l in this.relations[s]) this.iterateTree(this.relations[s][l], r, s);
684
+ e.story ? this.iterateTree(e.story, r, s) : e.stories.forEach((l) => {
685
+ this.iterateTree(l, r, s);
686
+ }), this.stringifiedStoriesCache = {}, delete this.links[s], delete this.relations[s];
687
+ }
688
+ async cacheResponse(e, t, s, r) {
689
+ const i = H({
690
+ url: e,
691
+ params: t
692
+ }), n = this.cacheProvider();
693
+ if (t.version === "published" && e !== "/cdn/spaces/me") {
694
+ const l = await n.get(i);
695
+ if (l) return Promise.resolve(l);
998
696
  }
999
- return new Promise(async (o, n) => {
1000
- var c;
697
+ return new Promise(async (l, a) => {
698
+ var u;
1001
699
  try {
1002
- const h = await this.throttle(
1003
- "get",
1004
- t,
1005
- e,
1006
- u
1007
- );
1008
- if (h.status !== 200)
1009
- return n(h);
1010
- let D = { data: h.data, headers: h.headers };
1011
- if ((c = h.headers) != null && c["per-page"] && (D = Object.assign({}, D, {
1012
- perPage: h.headers["per-page"] ? Number.parseInt(h.headers["per-page"]) : 0,
1013
- total: h.headers["per-page"] ? Number.parseInt(h.headers.total) : 0
1014
- })), D.data.story || D.data.stories) {
1015
- const m = this.resolveCounter = ++this.resolveCounter % 1e3;
1016
- await this.resolveStories(D.data, e, `${m}`), D = await this.processInlineAssets(D);
700
+ const c = await this.throttle("get", e, t, r);
701
+ if (c.status !== 200) return a(c);
702
+ let f = {
703
+ data: c.data,
704
+ headers: c.headers
705
+ };
706
+ if ((u = c.headers) != null && u["per-page"] && (f = Object.assign({}, f, {
707
+ perPage: c.headers["per-page"] ? Number.parseInt(c.headers["per-page"]) : 0,
708
+ total: c.headers["per-page"] ? Number.parseInt(c.headers.total) : 0
709
+ })), f.data.story || f.data.stories) {
710
+ const E = this.resolveCounter = ++this.resolveCounter % 1e3;
711
+ await this.resolveStories(f.data, t, `${E}`), f = await this.processInlineAssets(f);
1017
712
  }
1018
- e.version === "published" && t !== "/cdn/spaces/me" && await a.set(i, D);
1019
- const A = this.cache.clear === "onpreview" && e.version === "draft" || this.cache.clear === "auto";
1020
- return e.token && D.data.cv && (A && B[e.token] && B[e.token] !== D.data.cv && await this.flushCache(), B[e.token] = D.data.cv), o(D);
1021
- } catch (h) {
1022
- if (h.response && h.status === 429 && (r = typeof r > "u" ? 0 : r + 1, r < this.maxRetries))
1023
- return console.log(
1024
- `Hit rate limit. Retrying in ${this.retriesDelay / 1e3} seconds.`
1025
- ), await Ot(this.retriesDelay), this.cacheResponse(t, e, r).then(o).catch(n);
1026
- n(h);
713
+ t.version === "published" && e !== "/cdn/spaces/me" && await n.set(i, f);
714
+ const g = this.cache.clear === "onpreview" && t.version === "draft" || this.cache.clear === "auto";
715
+ return t.token && f.data.cv && (g && A[t.token] && A[t.token] !== f.data.cv && await this.flushCache(), A[t.token] = f.data.cv), l(f);
716
+ } catch (c) {
717
+ if (c.response && c.status === 429 && (s = typeof s > "u" ? 0 : s + 1, s < this.maxRetries))
718
+ return console.log(`Hit rate limit. Retrying in ${this.retriesDelay / 1e3} seconds.`), await ge(this.retriesDelay), this.cacheResponse(e, t, s).then(l).catch(a);
719
+ a(c);
1027
720
  }
1028
721
  });
1029
722
  }
1030
- throttledRequest(t, e, r, u) {
1031
- return this.client.setFetchOptions(u), this.client[t](e, r);
723
+ throttledRequest(e, t, s, r) {
724
+ return this.client.setFetchOptions(r), this.client[e](t, s);
1032
725
  }
1033
726
  cacheVersions() {
1034
- return B;
727
+ return A;
1035
728
  }
1036
729
  cacheVersion() {
1037
- return B[this.accessToken];
730
+ return A[this.accessToken];
1038
731
  }
1039
- setCacheVersion(t) {
1040
- this.accessToken && (B[this.accessToken] = t);
732
+ setCacheVersion(e) {
733
+ this.accessToken && (A[this.accessToken] = e);
1041
734
  }
1042
735
  clearCacheVersion() {
1043
- this.accessToken && (B[this.accessToken] = 0);
736
+ this.accessToken && (A[this.accessToken] = 0);
1044
737
  }
1045
738
  cacheProvider() {
1046
739
  switch (this.cache.type) {
1047
740
  case "memory":
1048
741
  return {
1049
- get(t) {
1050
- return Promise.resolve(T[t]);
742
+ get(e) {
743
+ return Promise.resolve(I[e]);
1051
744
  },
1052
745
  getAll() {
1053
- return Promise.resolve(T);
746
+ return Promise.resolve(I);
1054
747
  },
1055
- set(t, e) {
1056
- return T[t] = e, Promise.resolve(void 0);
748
+ set(e, t) {
749
+ return I[e] = t, Promise.resolve(void 0);
1057
750
  },
1058
751
  flush() {
1059
- return T = {}, Promise.resolve(void 0);
752
+ return I = {}, Promise.resolve(void 0);
1060
753
  }
1061
754
  };
1062
755
  case "custom":
1063
- if (this.cache.custom)
1064
- return this.cache.custom;
1065
- // eslint-disable-next-line no-fallthrough
756
+ if (this.cache.custom) return this.cache.custom;
1066
757
  default:
1067
758
  return {
1068
759
  get() {
@@ -1083,41 +774,37 @@ class Ut {
1083
774
  async flushCache() {
1084
775
  return await this.cacheProvider().flush(), this.clearCacheVersion(), this;
1085
776
  }
1086
- async processInlineAssets(t) {
1087
- if (!this.inlineAssets)
1088
- return t;
1089
- const e = (r) => {
1090
- if (!r || typeof r != "object")
1091
- return r;
1092
- if (Array.isArray(r))
1093
- return r.map((i) => e(i));
1094
- let u = { ...r };
1095
- u.fieldtype === "asset" && Array.isArray(t.data.assets) && (u = {
1096
- ...u,
1097
- ...t.data.assets.find((i) => i.id === u.id)
777
+ async processInlineAssets(e) {
778
+ if (!this.inlineAssets) return e;
779
+ const t = (s) => {
780
+ if (!s || typeof s != "object") return s;
781
+ if (Array.isArray(s)) return s.map((i) => t(i));
782
+ let r = { ...s };
783
+ r.fieldtype === "asset" && Array.isArray(e.data.assets) && (r = {
784
+ ...r,
785
+ ...e.data.assets.find((i) => i.id === r.id)
1098
786
  });
1099
- for (const i in u)
1100
- typeof u[i] == "object" && (u[i] = e(u[i]));
1101
- return u;
787
+ for (const i in r) typeof r[i] == "object" && (r[i] = t(r[i]));
788
+ return r;
1102
789
  };
1103
- return t.data.story && (t.data.story.content = e(t.data.story.content)), t.data.stories && (t.data.stories = t.data.stories.map((r) => (r.content = e(r.content), r))), t;
790
+ return e.data.story && (e.data.story.content = t(e.data.story.content)), e.data.stories && (e.data.stories = e.data.stories.map((s) => (s.content = t(s.content), s))), e;
1104
791
  }
1105
- }
1106
- const zt = (s = {}) => {
1107
- const { apiOptions: t } = s;
792
+ }, Se = _e;
793
+ const Ae = (e = {}) => {
794
+ const { apiOptions: t } = e;
1108
795
  if (!t || !t.accessToken) {
1109
796
  console.error(
1110
797
  "You need to provide an access token to interact with Storyblok API. Read https://www.storyblok.com/docs/api/content-delivery#topics/authentication"
1111
798
  );
1112
799
  return;
1113
800
  }
1114
- return { storyblokApi: new Ut(t) };
1115
- }, Gt = (s) => {
1116
- if (typeof s != "object" || typeof s._editable > "u")
801
+ return { storyblokApi: new Se(t) };
802
+ }, Te = (e) => {
803
+ if (typeof e != "object" || typeof e._editable > "u")
1117
804
  return {};
1118
805
  try {
1119
806
  const t = JSON.parse(
1120
- s._editable.replace(/^<!--#storyblok#/, "").replace(/-->$/, "")
807
+ e._editable.replace(/^<!--#storyblok#/, "").replace(/-->$/, "")
1121
808
  );
1122
809
  return t ? {
1123
810
  "data-blok-c": JSON.stringify(t),
@@ -1127,56 +814,56 @@ const zt = (s = {}) => {
1127
814
  return {};
1128
815
  }
1129
816
  };
1130
- let N = "https://app.storyblok.com/f/storyblok-v2-latest.js";
1131
- const qt = (s, t, e = {}) => {
1132
- var o;
1133
- const u = !(typeof window > "u") && typeof window.storyblokRegisterEvent < "u", i = new URL((o = window.location) == null ? void 0 : o.href).searchParams.get(
817
+ let $ = "https://app.storyblok.com/f/storyblok-v2-latest.js";
818
+ const Le = (e, t, s = {}) => {
819
+ var a;
820
+ const i = !(typeof window > "u") && typeof window.storyblokRegisterEvent < "u", n = new URL((a = window.location) == null ? void 0 : a.href).searchParams.get(
1134
821
  "_storyblok"
1135
- ), a = i !== null && +i === s;
1136
- if (!(!u || !a)) {
1137
- if (!s) {
822
+ ), l = n !== null && +n === e;
823
+ if (!(!i || !l)) {
824
+ if (!e) {
1138
825
  console.warn("Story ID is not defined. Please provide a valid ID.");
1139
826
  return;
1140
827
  }
1141
828
  window.storyblokRegisterEvent(() => {
1142
- new window.StoryblokBridge(e).on(["input", "published", "change"], (c) => {
1143
- var h;
1144
- c && (c.action === "input" && ((h = c.story) == null ? void 0 : h.id) === s ? t(c.story) : (c.action === "change" || c.action === "published") && c.storyId === s && window.location.reload());
829
+ new window.StoryblokBridge(s).on(["input", "published", "change"], (c) => {
830
+ var f;
831
+ c && (c.action === "input" && ((f = c.story) == null ? void 0 : f.id) === e ? t(c.story) : (c.action === "change" || c.action === "published") && c.storyId === e && window.location.reload());
1145
832
  });
1146
833
  });
1147
834
  }
1148
- }, Jt = (s = {}) => {
1149
- var h, D;
835
+ }, Oe = (e = {}) => {
836
+ var f, g;
1150
837
  const {
1151
838
  bridge: t,
1152
- accessToken: e,
839
+ accessToken: s,
1153
840
  use: r = [],
1154
- apiOptions: u = {},
1155
- bridgeUrl: i
1156
- } = s;
1157
- u.accessToken = u.accessToken || e;
1158
- const a = { bridge: t, apiOptions: u };
1159
- let o = {};
1160
- r.forEach((A) => {
1161
- o = { ...o, ...A(a) };
1162
- }), i && (N = i);
1163
- const c = !(typeof window > "u") && ((D = (h = window.location) == null ? void 0 : h.search) == null ? void 0 : D.includes("_storyblok_tk"));
1164
- return t !== !1 && c && tt(N), o;
841
+ apiOptions: i = {},
842
+ bridgeUrl: n
843
+ } = e;
844
+ i.accessToken = i.accessToken || s;
845
+ const l = { bridge: t, apiOptions: i };
846
+ let a = {};
847
+ r.forEach((E) => {
848
+ a = { ...a, ...E(l) };
849
+ }), n && ($ = n);
850
+ const c = !(typeof window > "u") && ((g = (f = window.location) == null ? void 0 : f.search) == null ? void 0 : g.includes("_storyblok_tk"));
851
+ return t !== !1 && c && M($), a;
1165
852
  };
1166
- function Vt(s, t) {
1167
- return _t(t).render(s);
853
+ function Ce(e, t) {
854
+ return ue(t).render(e);
1168
855
  }
1169
- const Wt = () => tt(N);
856
+ const Pe = () => M($);
1170
857
  export {
1171
- b as BlockTypes,
1172
- k as MarkTypes,
1173
- bt as TextTypes,
1174
- zt as apiPlugin,
1175
- Wt as loadStoryblokBridge,
1176
- qt as registerStoryblokBridge,
1177
- Vt as renderRichText,
1178
- _t as richTextResolver,
1179
- Gt as storyblokEditable,
1180
- Jt as storyblokInit,
1181
- qt as useStoryblokBridge
858
+ w as BlockTypes,
859
+ S as MarkTypes,
860
+ ie as TextTypes,
861
+ Ae as apiPlugin,
862
+ Pe as loadStoryblokBridge,
863
+ Le as registerStoryblokBridge,
864
+ Ce as renderRichText,
865
+ ue as richTextResolver,
866
+ Te as storyblokEditable,
867
+ Oe as storyblokInit,
868
+ Le as useStoryblokBridge
1182
869
  };