@storyblok/react 4.5.4 → 4.6.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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,EAChB,MAAM,SAAS,CAAC;AAEjB,cAAc,UAAU,CAAC;AAOzB,eAAO,MAAM,eAAe,QAAO,eAQlC,CAAC;AAEF,eAAO,MAAM,aAAa,qBAAsB,oBAAoB,yBAGnE,CAAC;AAEF,eAAO,MAAM,YAAY,iBAAkB,MAAM,0FAOhD,CAAC;AAEF,eAAO,MAAM,0BAA0B,eAAgC,CAAC;AACxE,eAAO,MAAM,0BAA0B,qFAAgC,CAAC;AAExE,eAAO,MAAM,aAAa,mBAAmB,iBAAiB,SAO7D,CAAC;AAEF,OAAO,EAAE,eAAe,IAAI,eAAe,EAAE,CAAC;AAE9C,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEtE,OAAO,EACL,SAAS,EACT,UAAU,EACV,mBAAmB,EACnB,SAAS,EACT,uBAAuB,EACvB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,KAAK,yCAAyC,EAC9C,KAAK,qBAAqB,EAC1B,KAAK,6BAA6B,EAClC,KAAK,0BAA0B,EAC/B,KAAK,wBAAwB,EAC7B,KAAK,0BAA0B,EAC/B,SAAS,EACT,kBAAkB,GACnB,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,EAChB,MAAM,SAAS,CAAC;AAEjB,cAAc,UAAU,CAAC;AAOzB,eAAO,MAAM,eAAe,QAAO,eAQlC,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,kBAAkB,oBAAoB,yBAGnE,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,cAAc,MAAM,0FAOhD,CAAC;AAEF,eAAO,MAAM,0BAA0B,eAAgC,CAAC;AACxE,eAAO,MAAM,0BAA0B,qFAAgC,CAAC;AAExE,eAAO,MAAM,aAAa,GAAI,gBAAe,iBAAsB,SAOlE,CAAC;AAEF,OAAO,EAAE,eAAe,IAAI,eAAe,EAAE,CAAC;AAE9C,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEtE,OAAO,EACL,SAAS,EACT,UAAU,EACV,mBAAmB,EACnB,SAAS,EACT,uBAAuB,EACvB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,KAAK,yCAAyC,EAC9C,KAAK,qBAAqB,EAC1B,KAAK,6BAA6B,EAClC,KAAK,0BAA0B,EAC/B,KAAK,wBAAwB,EAC7B,KAAK,0BAA0B,EAC/B,SAAS,EACT,kBAAkB,GACnB,MAAM,eAAe,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,gBAAgB,EAChB,YAAY,EACZ,uBAAuB,EACxB,MAAM,SAAS,CAAC;AAIjB,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAElD,eAAO,MAAM,YAAY,SACjB,MAAM,eACA,gBAAgB,kBACb,uBAAuB;;EAgDvC,CAAC;AAEF,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAG/B,OAAO,EAAE,oBAAoB,EAAE,CAAC;AAEhC,mDAAmD;AACnD,eAAO,MAAM,4BAA4B,6BAAuB,CAAC;AAEjE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AACrE,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,gBAAgB,EAChB,YAAY,EACZ,uBAAuB,EACxB,MAAM,SAAS,CAAC;AAIjB,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAElD,eAAO,MAAM,YAAY,GACvB,MAAM,MAAM,EACZ,aAAY,gBAAqB,EACjC,gBAAe,uBAA4B;;EAgD5C,CAAC;AAEF,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAG/B,OAAO,EAAE,oBAAoB,EAAE,CAAC;AAEhC,mDAAmD;AACnD,eAAO,MAAM,4BAA4B,6BAAuB,CAAC;AAEjE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AACrE,cAAc,SAAS,CAAC"}
package/dist/index.mjs CHANGED
@@ -2,12 +2,12 @@ import { useState as c, useEffect as f } from "react";
2
2
  import { registerStoryblokBridge as k } from "./storyblok-js.mjs";
3
3
  import { BlockTypes as T, MarkTypes as h, RichTextResolver as B, RichTextSchema as C, TextTypes as E, apiPlugin as w, loadStoryblokBridge as A, renderRichText as I, richTextResolver as F, storyblokEditable as L } from "./storyblok-js.mjs";
4
4
  import { useStoryblokApi as u } from "./index2.mjs";
5
- import { getComponent as _, getCustomFallbackComponent as G, getEnableFallbackComponent as J, setComponents as M, storyblokInit as N } from "./index2.mjs";
5
+ import { getComponent as _, getCustomFallbackComponent as J, getEnableFallbackComponent as K, setComponents as M, storyblokInit as N } from "./index2.mjs";
6
6
  import { useStoryblokRichText as m } from "./richtext.mjs";
7
7
  import { useStoryblokState as $ } from "./client.mjs";
8
8
  import { default as q } from "./storyblok-rich-text.mjs";
9
9
  import { convertAttributesInElement as D } from "./utils.mjs";
10
- import { default as K } from "./storyblok-component.mjs";
10
+ import { default as H } from "./storyblok-component.mjs";
11
11
  const x = (s, o = {}, e = {}) => {
12
12
  const [n, l] = c({}), i = typeof window < "u" && typeof window.storyblokRegisterEvent < "u", t = u();
13
13
  return f(() => {
@@ -36,14 +36,14 @@ export {
36
36
  h as MarkTypes,
37
37
  B as RichTextResolver,
38
38
  C as RichTextSchema,
39
- K as StoryblokComponent,
39
+ H as StoryblokComponent,
40
40
  q as StoryblokRichText,
41
41
  E as TextTypes,
42
42
  w as apiPlugin,
43
43
  D as convertAttributesInElement,
44
44
  _ as getComponent,
45
- G as getCustomFallbackComponent,
46
- J as getEnableFallbackComponent,
45
+ J as getCustomFallbackComponent,
46
+ K as getEnableFallbackComponent,
47
47
  u as getStoryblokApi,
48
48
  A as loadStoryblokBridge,
49
49
  k as registerStoryblokBridge,
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/rsc/common.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,YAAY,EACZ,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,EAChB,MAAM,SAAS,CAAC;AAOjB,OAAO,CAAC,MAAM,CAAC;IAEb,IAAI,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;CAC3C;AAID,eAAO,MAAM,eAAe,QAAO,eAQlC,CAAC;AAEF,eAAO,MAAM,aAAa,qBAAsB,oBAAoB,+FAKnE,CAAC;AAEF,eAAO,MAAM,YAAY,iBAAkB,MAAM,KAAG,KAAK,CAAC,WAAW,GAAG,KAOvE,CAAC;AAEF,eAAO,MAAM,0BAA0B,eAAgC,CAAC;AACxE,eAAO,MAAM,0BAA0B,qFAAgC,CAAC;AAExE,eAAO,MAAM,aAAa,mBAAmB,iBAAiB,KAAQ,CAAC,MAAM,eAAe,CAe3F,CAAC;AAEF,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,eAAe,IAAI,eAAe,EAAE,CAAC;AAC9C,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAEzE,OAAO,EACL,SAAS,EACT,mBAAmB,EACnB,uBAAuB,EACvB,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/rsc/common.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,YAAY,EACZ,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,EAChB,MAAM,SAAS,CAAC;AAOjB,OAAO,CAAC,MAAM,CAAC;IAEb,IAAI,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;CAC3C;AAID,eAAO,MAAM,eAAe,QAAO,eAQlC,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,kBAAkB,oBAAoB,+FAKnE,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,cAAc,MAAM,KAAG,KAAK,CAAC,WAAW,GAAG,KAOvE,CAAC;AAEF,eAAO,MAAM,0BAA0B,eAAgC,CAAC;AACxE,eAAO,MAAM,0BAA0B,qFAAgC,CAAC;AAExE,eAAO,MAAM,aAAa,GAAI,gBAAe,iBAAsB,KAAG,CAAC,MAAM,eAAe,CAe3F,CAAC;AAEF,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,eAAe,IAAI,eAAe,EAAE,CAAC;AAC9C,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAEzE,OAAO,EACL,SAAS,EACT,mBAAmB,EACnB,uBAAuB,EACvB,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,eAAe,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"live-editing.d.ts","sourceRoot":"","sources":["../../src/rsc/live-editing.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAA2B,KAAK,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAWzG,QAAA,MAAM,oBAAoB,6BAA0C;IAAE,KAAK,EAAE,YAAY,CAAC;IAAC,aAAa,EAAE,uBAAuB,CAAA;CAAE,QAoBlI,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"live-editing.d.ts","sourceRoot":"","sources":["../../src/rsc/live-editing.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAA2B,KAAK,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAWzG,QAAA,MAAM,oBAAoB,GAAI,0BAAsC;IAAE,KAAK,EAAE,YAAY,CAAC;IAAC,aAAa,EAAE,uBAAuB,CAAA;CAAE,QAoBlI,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});let B=!1;const z=[],G=o=>new Promise((e,t)=>{if(typeof window>"u"||(window.storyblokRegisterEvent=s=>{if(window.location===window.parent.location){console.warn("You are not in Draft Mode or in the Visual Editor.");return}B?s():z.push(s)},document.getElementById("storyblok-javascript-bridge")))return;const r=document.createElement("script");r.async=!0,r.src=o,r.id="storyblok-javascript-bridge",r.onerror=s=>t(s),r.onload=s=>{z.forEach(n=>n()),B=!0,e(s)},document.getElementsByTagName("head")[0].appendChild(r)});var ne=Object.defineProperty,ie=(o,e,t)=>e in o?ne(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t,g=(o,e,t)=>ie(o,typeof e!="symbol"?e+"":e,t);class ae extends Error{constructor(e){super(e),this.name="AbortError"}}function le(o,e,t){if(!Number.isFinite(e))throw new TypeError("Expected `limit` to be a finite number");if(!Number.isFinite(t))throw new TypeError("Expected `interval` to be a finite number");const r=[];let s=[],n=0,i=!1;const l=async()=>{n++;const h=r.shift();if(h)try{const p=await o(...h.args);h.resolve(p)}catch(p){h.reject(p)}const d=setTimeout(()=>{n--,r.length>0&&l(),s=s.filter(p=>p!==d)},t);s.includes(d)||s.push(d)},a=(...h)=>i?Promise.reject(new Error("Throttled function is already aborted and not accepting new promises")):new Promise((d,p)=>{r.push({resolve:d,reject:p,args:h}),n<e&&l()});return a.abort=()=>{i=!0,s.forEach(clearTimeout),s=[],r.forEach(h=>h.reject(()=>new ae("Throttle function aborted"))),r.length=0},a}class C{constructor(){g(this,"isCDNUrl",(e="")=>e.includes("/cdn/")),g(this,"getOptionsPage",(e,t=25,r=1)=>({...e,per_page:t,page:r})),g(this,"delay",e=>new Promise(t=>setTimeout(t,e))),g(this,"arrayFrom",(e=0,t)=>Array.from({length:e},t)),g(this,"range",(e=0,t=e)=>{const r=Math.abs(t-e)||0,s=e<t?1:-1;return this.arrayFrom(r,(n,i)=>i*s+e)}),g(this,"asyncMap",async(e,t)=>Promise.all(e.map(t))),g(this,"flatMap",(e=[],t)=>e.map(t).reduce((r,s)=>[...r,...s],[])),g(this,"escapeHTML",function(e){const t={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},r=/[&<>"']/g,s=new RegExp(r.source);return e&&s.test(e)?e.replace(r,n=>t[n]):e})}stringify(e,t,r){const s=[];for(const n in e){if(!Object.prototype.hasOwnProperty.call(e,n))continue;const i=e[n];if(i==null)continue;const l=r?"":encodeURIComponent(n);let a;typeof i=="object"?a=this.stringify(i,t?t+encodeURIComponent(`[${l}]`):l,Array.isArray(i)):a=`${t?t+encodeURIComponent(`[${l}]`):l}=${encodeURIComponent(i)}`,s.push(a)}return s.join("&")}getRegionURL(e){const t="api.storyblok.com",r="api-us.storyblok.com",s="app.storyblokchina.cn",n="api-ap.storyblok.com",i="api-ca.storyblok.com";switch(e){case"us":return r;case"cn":return s;case"ap":return n;case"ca":return i;default:return t}}}const ce=function(o,e){const t={};for(const r in o){const s=o[r];e.includes(r)&&s!==null&&(t[r]=s)}return t},he=o=>o==="email",ue=()=>({singleTag:"hr"}),de=()=>({tag:"blockquote"}),pe=()=>({tag:"ul"}),ge=o=>({tag:["pre",{tag:"code",attrs:o.attrs}]}),fe=()=>({singleTag:"br"}),me=o=>({tag:`h${o.attrs.level}`}),ye=o=>({singleTag:[{tag:"img",attrs:ce(o.attrs,["src","alt","title"])}]}),be=()=>({tag:"li"}),ke=()=>({tag:"ol"}),ve=()=>({tag:"p"}),$e=o=>({tag:[{tag:"span",attrs:{"data-type":"emoji","data-name":o.attrs.name,emoji:o.attrs.emoji}}]}),we=()=>({tag:"b"}),Te=()=>({tag:"s"}),Re=()=>({tag:"u"}),_e=()=>({tag:"strong"}),Ee=()=>({tag:"code"}),Se=()=>({tag:"i"}),je=o=>{if(!o.attrs)return{tag:""};const e=new C().escapeHTML,t={...o.attrs},{linktype:r="url"}=o.attrs;if(delete t.linktype,t.href&&(t.href=e(o.attrs.href||"")),he(r)&&(t.href=`mailto:${t.href}`),t.anchor&&(t.href=`${t.href}#${t.anchor}`,delete t.anchor),t.custom){for(const s in t.custom)t[s]=t.custom[s];delete t.custom}return{tag:[{tag:"a",attrs:t}]}},Ie=o=>({tag:[{tag:"span",attrs:o.attrs}]}),Ae=()=>({tag:"sub"}),Oe=()=>({tag:"sup"}),xe=o=>({tag:[{tag:"span",attrs:o.attrs}]}),Le=o=>{var e;return(e=o.attrs)!=null&&e.color?{tag:[{tag:"span",attrs:{style:`background-color:${o.attrs.color};`}}]}:{tag:""}},Ce=o=>{var e;return(e=o.attrs)!=null&&e.color?{tag:[{tag:"span",attrs:{style:`color:${o.attrs.color}`}}]}:{tag:""}},V={nodes:{horizontal_rule:ue,blockquote:de,bullet_list:pe,code_block:ge,hard_break:fe,heading:me,image:ye,list_item:be,ordered_list:ke,paragraph:ve,emoji:$e},marks:{bold:we,strike:Te,underline:Re,strong:_e,code:Ee,italic:Se,link:je,styled:Ie,subscript:Ae,superscript:Oe,anchor:xe,highlight:Le,textStyle:Ce}},Pe=function(o){const e={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},t=/[&<>"']/g,r=new RegExp(t.source);return o&&r.test(o)?o.replace(t,s=>e[s]):o};let D=!1;class A{constructor(e){g(this,"marks"),g(this,"nodes"),e||(e=V),this.marks=e.marks||[],this.nodes=e.nodes||[]}addNode(e,t){this.nodes[e]=t}addMark(e,t){this.marks[e]=t}render(e,t={optimizeImages:!1},r=!0){if(!D&&r&&(console.warn("Warning ⚠️: The RichTextResolver class is deprecated and will be removed in the next major release. Please use the `@storyblok/richtext` package instead. https://github.com/storyblok/richtext/"),D=!0),e&&e.content&&Array.isArray(e.content)){let s="";return e.content.forEach(n=>{s+=this.renderNode(n)}),t.optimizeImages?this.optimizeImages(s,t.optimizeImages):s}return console.warn(`The render method must receive an Object with a "content" field.
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});let z=!1;const D=[],V=r=>new Promise((e,t)=>{if(typeof window>"u"||(window.storyblokRegisterEvent=s=>{if(window.location===window.parent.location){console.warn("You are not in Draft Mode or in the Visual Editor.");return}z?s():D.push(s)},document.getElementById("storyblok-javascript-bridge")))return;const n=document.createElement("script");n.async=!0,n.src=r,n.id="storyblok-javascript-bridge",n.onerror=s=>t(s),n.onload=s=>{D.forEach(o=>o()),z=!0,e(s)},document.getElementsByTagName("head")[0].appendChild(n)});var ae=Object.defineProperty,le=(r,e,t)=>e in r?ae(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,m=(r,e,t)=>le(r,typeof e!="symbol"?e+"":e,t);class ce extends Error{constructor(e){super(e),this.name="AbortError"}}function he(r,e,t){if(!Number.isFinite(e))throw new TypeError("Expected `limit` to be a finite number");if(!Number.isFinite(t))throw new TypeError("Expected `interval` to be a finite number");const n=[];let s=[],o=0,l=!1;const i=async()=>{o++;const h=n.shift();if(h)try{const p=await r(...h.args);h.resolve(p)}catch(p){h.reject(p)}const u=setTimeout(()=>{o--,n.length>0&&i(),s=s.filter(p=>p!==u)},t);s.includes(u)||s.push(u)},a=(...h)=>l?Promise.reject(new Error("Throttled function is already aborted and not accepting new promises")):new Promise((u,p)=>{n.push({resolve:u,reject:p,args:h}),o<e&&i()});return a.abort=()=>{l=!0,s.forEach(clearTimeout),s=[],n.forEach(h=>h.reject(()=>new ce("Throttle function aborted"))),n.length=0},a}class C{constructor(){m(this,"isCDNUrl",(e="")=>e.includes("/cdn/")),m(this,"getOptionsPage",(e,t=25,n=1)=>({...e,per_page:t,page:n})),m(this,"delay",e=>new Promise(t=>setTimeout(t,e))),m(this,"arrayFrom",(e=0,t)=>Array.from({length:e},t)),m(this,"range",(e=0,t=e)=>{const n=Math.abs(t-e)||0,s=e<t?1:-1;return this.arrayFrom(n,(o,l)=>l*s+e)}),m(this,"asyncMap",async(e,t)=>Promise.all(e.map(t))),m(this,"flatMap",(e=[],t)=>e.map(t).reduce((n,s)=>[...n,...s],[])),m(this,"escapeHTML",function(e){const t={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},n=/[&<>"']/g,s=new RegExp(n.source);return e&&s.test(e)?e.replace(n,o=>t[o]):e})}stringify(e,t,n){const s=[];for(const o in e){if(!Object.prototype.hasOwnProperty.call(e,o))continue;const l=e[o];if(l==null)continue;const i=n?"":encodeURIComponent(o);let a;typeof l=="object"?a=this.stringify(l,t?t+encodeURIComponent(`[${i}]`):i,Array.isArray(l)):a=`${t?t+encodeURIComponent(`[${i}]`):i}=${encodeURIComponent(l)}`,s.push(a)}return s.join("&")}getRegionURL(e){const t="api.storyblok.com",n="api-us.storyblok.com",s="app.storyblokchina.cn",o="api-ap.storyblok.com",l="api-ca.storyblok.com";switch(e){case"us":return n;case"cn":return s;case"ap":return o;case"ca":return l;default:return t}}}const ue=function(r,e){const t={};for(const n in r){const s=r[n];e.includes(n)&&s!==null&&(t[n]=s)}return t},de=r=>r==="email",pe=()=>({singleTag:"hr"}),ge=()=>({tag:"blockquote"}),fe=()=>({tag:"ul"}),me=r=>({tag:["pre",{tag:"code",attrs:r.attrs}]}),ye=()=>({singleTag:"br"}),be=r=>({tag:`h${r.attrs.level}`}),ve=r=>({singleTag:[{tag:"img",attrs:ue(r.attrs,["src","alt","title"])}]}),ke=()=>({tag:"li"}),Te=()=>({tag:"ol"}),we=()=>({tag:"p"}),$e=r=>({tag:[{tag:"span",attrs:{"data-type":"emoji","data-name":r.attrs.name,emoji:r.attrs.emoji}}]}),Re=()=>({tag:"b"}),_e=()=>({tag:"s"}),Ee=()=>({tag:"u"}),Se=()=>({tag:"strong"}),je=()=>({tag:"code"}),xe=()=>({tag:"i"}),Ie=r=>{if(!r.attrs)return{tag:""};const e=new C().escapeHTML,t={...r.attrs},{linktype:n="url"}=r.attrs;if(delete t.linktype,t.href&&(t.href=e(r.attrs.href||"")),de(n)&&(t.href=`mailto:${t.href}`),t.anchor&&(t.href=`${t.href}#${t.anchor}`,delete t.anchor),t.custom){for(const s in t.custom)t[s]=t.custom[s];delete t.custom}return{tag:[{tag:"a",attrs:t}]}},Ae=r=>({tag:[{tag:"span",attrs:r.attrs}]}),Oe=()=>({tag:"sub"}),Le=()=>({tag:"sup"}),Ce=r=>({tag:[{tag:"span",attrs:r.attrs}]}),Pe=r=>{var e;return(e=r.attrs)!=null&&e.color?{tag:[{tag:"span",attrs:{style:`background-color:${r.attrs.color};`}}]}:{tag:""}},Ne=r=>{var e;return(e=r.attrs)!=null&&e.color?{tag:[{tag:"span",attrs:{style:`color:${r.attrs.color}`}}]}:{tag:""}},J={nodes:{horizontal_rule:pe,blockquote:ge,bullet_list:fe,code_block:me,hard_break:ye,heading:be,image:ve,list_item:ke,ordered_list:Te,paragraph:we,emoji:$e},marks:{bold:Re,strike:_e,underline:Ee,strong:Se,code:je,italic:xe,link:Ie,styled:Ae,subscript:Oe,superscript:Le,anchor:Ce,highlight:Pe,textStyle:Ne}},Me=function(r){const e={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},t=/[&<>"']/g,n=new RegExp(t.source);return r&&n.test(r)?r.replace(t,s=>e[s]):r};let q=!1,I=class{constructor(r){m(this,"marks"),m(this,"nodes"),r||(r=J),this.marks=r.marks||[],this.nodes=r.nodes||[]}addNode(r,e){this.nodes[r]=e}addMark(r,e){this.marks[r]=e}render(r,e={optimizeImages:!1},t=!0){if(!q&&t&&(console.warn("Warning ⚠️: The RichTextResolver class is deprecated and will be removed in the next major release. Please use the `@storyblok/richtext` package instead. https://github.com/storyblok/richtext/"),q=!0),r&&r.content&&Array.isArray(r.content)){let n="";return r.content.forEach(s=>{n+=this.renderNode(s)}),e.optimizeImages?this.optimizeImages(n,e.optimizeImages):n}return console.warn(`The render method must receive an Object with a "content" field.
2
2
  The "content" field must be an array of nodes as the type ISbRichtext.
3
3
  ISbRichtext:
4
4
  content?: ISbRichtext[]
@@ -21,4 +21,4 @@
21
21
  }
22
22
  ],
23
23
  type: 'doc'
24
- }`),""}optimizeImages(e,t){let r=0,s=0,n="",i="";typeof t!="boolean"&&(typeof t.width=="number"&&t.width>0&&(n+=`width="${t.width}" `,r=t.width),typeof t.height=="number"&&t.height>0&&(n+=`height="${t.height}" `,s=t.height),(t.loading==="lazy"||t.loading==="eager")&&(n+=`loading="${t.loading}" `),typeof t.class=="string"&&t.class.length>0&&(n+=`class="${t.class}" `),t.filters&&(typeof t.filters.blur=="number"&&t.filters.blur>=0&&t.filters.blur<=100&&(i+=`:blur(${t.filters.blur})`),typeof t.filters.brightness=="number"&&t.filters.brightness>=-100&&t.filters.brightness<=100&&(i+=`:brightness(${t.filters.brightness})`),t.filters.fill&&(t.filters.fill.match(/[0-9A-F]{6}/gi)||t.filters.fill==="transparent")&&(i+=`:fill(${t.filters.fill})`),t.filters.format&&["webp","png","jpeg"].includes(t.filters.format)&&(i+=`:format(${t.filters.format})`),typeof t.filters.grayscale=="boolean"&&t.filters.grayscale&&(i+=":grayscale()"),typeof t.filters.quality=="number"&&t.filters.quality>=0&&t.filters.quality<=100&&(i+=`:quality(${t.filters.quality})`),t.filters.rotate&&[90,180,270].includes(t.filters.rotate)&&(i+=`:rotate(${t.filters.rotate})`),i.length>0&&(i=`/filters${i}`))),n.length>0&&(e=e.replace(/<img/g,`<img ${n.trim()}`));const l=r>0||s>0||i.length>0?`${r}x${s}${i}`:"";return e=e.replace(/a.storyblok.com\/f\/(\d+)\/([^.]+)\.(gif|jpg|jpeg|png|tif|bmp)/g,`a.storyblok.com/f/$1/$2.$3/m/${l}`),typeof t!="boolean"&&(t.sizes||t.srcset)&&(e=e.replace(/<img.*?src=["|'](.*?)["|']/g,a=>{var h,d;const p=a.match(/a.storyblok.com\/f\/(\d+)\/([^.]+)\.(gif|jpg|jpeg|png|tif|bmp)/g);if(p&&p.length>0){const b={srcset:(h=t.srcset)==null?void 0:h.map(w=>{if(typeof w=="number")return`//${p}/m/${w}x0${i} ${w}w`;if(typeof w=="object"&&w.length===2){let E=0,j=0;return typeof w[0]=="number"&&(E=w[0]),typeof w[1]=="number"&&(j=w[1]),`//${p}/m/${E}x${j}${i} ${E}w`}return""}).join(", "),sizes:(d=t.sizes)==null?void 0:d.map(w=>w).join(", ")};let v="";return b.srcset&&(v+=`srcset="${b.srcset}" `),b.sizes&&(v+=`sizes="${b.sizes}" `),a.replace(/<img/g,`<img ${v.trim()}`)}return a})),e}renderNode(e){const t=[];e.marks&&e.marks.forEach(s=>{const n=this.getMatchingMark(s);n&&n.tag!==""&&t.push(this.renderOpeningTag(n.tag))});const r=this.getMatchingNode(e);return r&&r.tag&&t.push(this.renderOpeningTag(r.tag)),e.content?e.content.forEach(s=>{t.push(this.renderNode(s))}):e.text?t.push(Pe(e.text)):r&&r.singleTag?t.push(this.renderTag(r.singleTag," /")):r&&r.html?t.push(r.html):e.type==="emoji"&&t.push(this.renderEmoji(e)),r&&r.tag&&t.push(this.renderClosingTag(r.tag)),e.marks&&e.marks.slice(0).reverse().forEach(s=>{const n=this.getMatchingMark(s);n&&n.tag!==""&&t.push(this.renderClosingTag(n.tag))}),t.join("")}renderTag(e,t){return e.constructor===String?`<${e}${t}>`:e.map(r=>{if(r.constructor===String)return`<${r}${t}>`;{let s=`<${r.tag}`;if(r.attrs){for(const n in r.attrs)if(Object.prototype.hasOwnProperty.call(r.attrs,n)){const i=r.attrs[n];i!==null&&(s+=` ${n}="${i}"`)}}return`${s}${t}>`}}).join("")}renderOpeningTag(e){return this.renderTag(e,"")}renderClosingTag(e){return e.constructor===String?`</${e}>`:e.slice(0).reverse().map(t=>t.constructor===String?`</${t}>`:`</${t.tag}>`).join("")}getMatchingNode(e){const t=this.nodes[e.type];if(typeof t=="function")return t(e)}getMatchingMark(e){const t=this.marks[e.type];if(typeof t=="function")return t(e)}renderEmoji(e){if(e.attrs.emoji)return e.attrs.emoji;const t=[{tag:"img",attrs:{src:e.attrs.fallbackImage,draggable:"false",loading:"lazy",align:"absmiddle"}}];return this.renderTag(t," /")}}class Ne{constructor(e){g(this,"baseURL"),g(this,"timeout"),g(this,"headers"),g(this,"responseInterceptor"),g(this,"fetch"),g(this,"ejectInterceptor"),g(this,"url"),g(this,"parameters"),g(this,"fetchOptions"),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={}}get(e,t){return this.url=e,this.parameters=t,this._methodHandler("get")}post(e,t){return this.url=e,this.parameters=t,this._methodHandler("post")}put(e,t){return this.url=e,this.parameters=t,this._methodHandler("put")}delete(e,t){return this.url=e,this.parameters=t??{},this._methodHandler("delete")}async _responseHandler(e){const t=[],r={data:{},headers:{},status:0,statusText:""};e.status!==204&&await e.json().then(s=>{r.data=s});for(const s of e.headers.entries())t[s[0]]=s[1];return r.headers={...t},r.status=e.status,r.statusText=e.statusText,r}async _methodHandler(e){let t=`${this.baseURL}${this.url}`,r=null;if(e==="get"){const a=new C;t=`${this.baseURL}${this.url}?${a.stringify(this.parameters)}`}else r=JSON.stringify(this.parameters);const s=new URL(t),n=new AbortController,{signal:i}=n;let l;this.timeout&&(l=setTimeout(()=>n.abort(),this.timeout));try{const a=await this.fetch(`${s}`,{method:e,headers:this.headers,body:r,signal:i,...this.fetchOptions});this.timeout&&clearTimeout(l);const h=await this._responseHandler(a);return this.responseInterceptor&&!this.ejectInterceptor?this._statusHandler(this.responseInterceptor(h)):this._statusHandler(h)}catch(a){return{message:a}}}setFetchOptions(e={}){Object.keys(e).length>0&&"method"in e&&delete e.method,this.fetchOptions={...e}}eject(){this.ejectInterceptor=!0}_statusHandler(e){const t=/20[0-6]/g;return new Promise((r,s)=>{if(t.test(`${e.status}`))return r(e);const n={message:e.statusText,status:e.status,response:Array.isArray(e.data)?e.data[0]:e.data.error||e.data.slug};s(n)})}}const q="SB-Agent",N={defaultAgentName:"SB-JS-CLIENT",defaultAgentVersion:"SB-Agent-Version",packageVersion:"6.0.0"};let x={};const S={};class He{constructor(e,t){g(this,"client"),g(this,"maxRetries"),g(this,"retriesDelay"),g(this,"throttle"),g(this,"accessToken"),g(this,"cache"),g(this,"helpers"),g(this,"resolveCounter"),g(this,"relations"),g(this,"links"),g(this,"richTextResolver"),g(this,"resolveNestedRelations"),g(this,"stringifiedStoriesCache");let r=e.endpoint||t;if(!r){const i=new C().getRegionURL,l=e.https===!1?"http":"https";e.oauthToken?r=`${l}://${i(e.region)}/v1`:r=`${l}://${i(e.region)}/v2`}const s=new Headers;s.set("Content-Type","application/json"),s.set("Accept","application/json"),e.headers&&(e.headers.constructor.name==="Headers"?e.headers.entries().toArray():Object.entries(e.headers)).forEach(([i,l])=>{s.set(i,l)}),s.has(q)||(s.set(q,N.defaultAgentName),s.set(N.defaultAgentVersion,N.packageVersion));let n=5;e.oauthToken&&(s.set("Authorization",e.oauthToken),n=3),e.rateLimit&&(n=e.rateLimit),e.richTextSchema?this.richTextResolver=new A(e.richTextSchema):this.richTextResolver=new A,e.componentResolver&&this.setComponentResolver(e.componentResolver),this.maxRetries=e.maxRetries||10,this.retriesDelay=300,this.throttle=le(this.throttledRequest.bind(this),n,1e3),this.accessToken=e.accessToken||"",this.relations={},this.links={},this.cache=e.cache||{clear:"manual"},this.helpers=new C,this.resolveCounter=0,this.resolveNestedRelations=e.resolveNestedRelations||!0,this.stringifiedStoriesCache={},this.client=new Ne({baseURL:r,timeout:e.timeout||0,headers:s,responseInterceptor:e.responseInterceptor,fetch:e.fetch})}setComponentResolver(e){this.richTextResolver.addNode("blok",t=>{let r="";return t.attrs.body&&t.attrs.body.forEach(s=>{r+=e(s.component,s)}),{html:r}})}parseParams(e){return e.token||(e.token=this.getToken()),e.cv||(e.cv=S[e.token]),Array.isArray(e.resolve_relations)&&(e.resolve_relations=e.resolve_relations.join(",")),typeof e.resolve_relations<"u"&&(e.resolve_level=2),e}factoryParamOptions(e,t){return this.helpers.isCDNUrl(e)?this.parseParams(t):t}makeRequest(e,t,r,s,n){const i=this.factoryParamOptions(e,this.helpers.getOptionsPage(t,r,s));return this.cacheResponse(e,i,void 0,n)}get(e,t,r){t||(t={});const s=`/${e}`,n=this.factoryParamOptions(s,t);return this.cacheResponse(s,n,void 0,r)}async getAll(e,t,r,s){const n=(t==null?void 0:t.per_page)||25,i=`/${e}`.replace(/\/$/,""),l=r??i.substring(i.lastIndexOf("/")+1),a=1,h=await this.makeRequest(i,t,n,a,s),d=h.total?Math.ceil(h.total/n):1,p=await this.helpers.asyncMap(this.helpers.range(a,d),b=>this.makeRequest(i,t,n,b+1,s));return this.helpers.flatMap([h,...p],b=>Object.values(b.data[l]))}post(e,t,r){const s=`/${e}`;return Promise.resolve(this.throttle("post",s,t,r))}put(e,t,r){const s=`/${e}`;return Promise.resolve(this.throttle("put",s,t,r))}delete(e,t,r){t||(t={});const s=`/${e}`;return Promise.resolve(this.throttle("delete",s,t,r))}getStories(e,t){return this._addResolveLevel(e),this.get("cdn/stories",e,t)}getStory(e,t,r){return this._addResolveLevel(t),this.get(`cdn/stories/${e}`,t,r)}getToken(){return this.accessToken}ejectInterceptor(){this.client.eject()}_addResolveLevel(e){typeof e.resolve_relations<"u"&&(e.resolve_level=2)}_cleanCopy(e){return JSON.parse(JSON.stringify(e))}_insertLinks(e,t,r){const s=e[t];s&&s.fieldtype==="multilink"&&s.linktype==="story"&&typeof s.id=="string"&&this.links[r][s.id]?s.story=this._cleanCopy(this.links[r][s.id]):s&&s.linktype==="story"&&typeof s.uuid=="string"&&this.links[r][s.uuid]&&(s.story=this._cleanCopy(this.links[r][s.uuid]))}getStoryReference(e,t){return this.relations[e][t]?JSON.parse(this.stringifiedStoriesCache[t]||JSON.stringify(this.relations[e][t])):t}_resolveField(e,t,r){const s=e[t];typeof s=="string"?e[t]=this.getStoryReference(r,s):Array.isArray(s)&&(e[t]=s.map(n=>this.getStoryReference(r,n)).filter(Boolean))}_insertRelations(e,t,r,s){if(Array.isArray(r)?r.find(i=>i.endsWith(`.${t}`)):r.endsWith(`.${t}`)){this._resolveField(e,t,s);return}const n=e.component?`${e.component}.${t}`:t;(Array.isArray(r)?r.includes(n):r===n)&&this._resolveField(e,t,s)}iterateTree(e,t,r){const s=(n,i="")=>{if(!(!n||n._stopResolving)){if(Array.isArray(n))n.forEach((l,a)=>s(l,`${i}[${a}]`));else if(typeof n=="object")for(const l in n){const a=i?`${i}.${l}`:l;(n.component&&n._uid||n.type==="link")&&(this._insertRelations(n,l,t,r),this._insertLinks(n,l,r)),s(n[l],a)}}};s(e.content)}async resolveLinks(e,t,r){let s=[];if(e.link_uuids){const n=e.link_uuids.length,i=[],l=50;for(let a=0;a<n;a+=l){const h=Math.min(n,a+l);i.push(e.link_uuids.slice(a,h))}for(let a=0;a<i.length;a++)(await this.getStories({per_page:l,language:t.language,version:t.version,starts_with:t.starts_with,by_uuids:i[a].join(",")})).data.stories.forEach(h=>{s.push(h)})}else s=e.links;s.forEach(n=>{this.links[r][n.uuid]={...n,_stopResolving:!0}})}async resolveRelations(e,t,r){let s=[];if(e.rel_uuids){const n=e.rel_uuids.length,i=[],l=50;for(let a=0;a<n;a+=l){const h=Math.min(n,a+l);i.push(e.rel_uuids.slice(a,h))}for(let a=0;a<i.length;a++)(await this.getStories({per_page:l,language:t.language,version:t.version,starts_with:t.starts_with,by_uuids:i[a].join(","),excluding_fields:t.excluding_fields})).data.stories.forEach(h=>{s.push(h)})}else s=e.rels;s&&s.length>0&&s.forEach(n=>{this.relations[r][n.uuid]={...n,_stopResolving:!0}})}async resolveStories(e,t,r){var s,n;let i=[];if(this.links[r]={},this.relations[r]={},typeof t.resolve_relations<"u"&&t.resolve_relations.length>0&&(typeof t.resolve_relations=="string"&&(i=t.resolve_relations.split(",")),await this.resolveRelations(e,t,r)),t.resolve_links&&["1","story","url","link"].includes(t.resolve_links)&&((s=e.links)!=null&&s.length||(n=e.link_uuids)!=null&&n.length)&&await this.resolveLinks(e,t,r),this.resolveNestedRelations)for(const l in this.relations[r])this.iterateTree(this.relations[r][l],i,r);e.story?this.iterateTree(e.story,i,r):e.stories.forEach(l=>{this.iterateTree(l,i,r)}),this.stringifiedStoriesCache={},delete this.links[r],delete this.relations[r]}async cacheResponse(e,t,r,s){const n=this.helpers.stringify({url:e,params:t}),i=this.cacheProvider();if(t.version==="published"&&e!=="/cdn/spaces/me"){const l=await i.get(n);if(l)return Promise.resolve(l)}return new Promise(async(l,a)=>{var h;try{const d=await this.throttle("get",e,t,s);if(d.status!==200)return a(d);let p={data:d.data,headers:d.headers};if((h=d.headers)!=null&&h["per-page"]&&(p=Object.assign({},p,{perPage:d.headers["per-page"]?Number.parseInt(d.headers["per-page"]):0,total:d.headers["per-page"]?Number.parseInt(d.headers.total):0})),p.data.story||p.data.stories){const v=this.resolveCounter=++this.resolveCounter%1e3;await this.resolveStories(p.data,t,`${v}`)}t.version==="published"&&e!=="/cdn/spaces/me"&&await i.set(n,p);const b=this.cache.clear==="onpreview"&&t.version==="draft"||this.cache.clear==="auto";return t.token&&p.data.cv&&(b&&S[t.token]&&S[t.token]!==p.data.cv&&await this.flushCache(),S[t.token]=p.data.cv),l(p)}catch(d){if(d.response&&d.status===429&&(r=typeof r>"u"?0:r+1,r<this.maxRetries))return console.log(`Hit rate limit. Retrying in ${this.retriesDelay/1e3} seconds.`),await this.helpers.delay(this.retriesDelay),this.cacheResponse(e,t,r).then(l).catch(a);a(d)}})}throttledRequest(e,t,r,s){return this.client.setFetchOptions(s),this.client[e](t,r)}cacheVersions(){return S}cacheVersion(){return S[this.accessToken]}setCacheVersion(e){this.accessToken&&(S[this.accessToken]=e)}clearCacheVersion(){this.accessToken&&(S[this.accessToken]=0)}cacheProvider(){switch(this.cache.type){case"memory":return{get(e){return Promise.resolve(x[e])},getAll(){return Promise.resolve(x)},set(e,t){return x[e]=t,Promise.resolve(void 0)},flush(){return x={},Promise.resolve(void 0)}};case"custom":if(this.cache.custom)return this.cache.custom;default:return{get(){return Promise.resolve()},getAll(){return Promise.resolve(void 0)},set(){return Promise.resolve(void 0)},flush(){return Promise.resolve(void 0)}}}}async flushCache(){return await this.cacheProvider().flush(),this.clearCacheVersion(),this}}const Me=(o={})=>{const{apiOptions:e}=o;if(!e||!e.accessToken){console.error("You need to provide an access token to interact with Storyblok API. Read https://www.storyblok.com/docs/api/content-delivery#topics/authentication");return}return{storyblokApi:new He(e)}},Ue=o=>{if(typeof o!="object"||typeof o._editable>"u")return{};try{const e=JSON.parse(o._editable.replace(/^<!--#storyblok#/,"").replace(/-->$/,""));return e?{"data-blok-c":JSON.stringify(e),"data-blok-uid":`${e.id}-${e.uid}`}:{}}catch{return{}}};function Be(o,e){if(!e)return{src:o,attrs:{}};let t=0,r=0;const s={},n=[];function i(a,h,d,p,b){typeof a!="number"||a<=h||a>=d?console.warn(`[StoryblokRichText] - ${p.charAt(0).toUpperCase()+p.slice(1)} value must be a number between ${h} and ${d} (inclusive)`):b.push(`${p}(${a})`)}if(typeof e=="object"){if(typeof e.width=="number"&&e.width>0?(s.width=e.width,t=e.width):console.warn("[StoryblokRichText] - Width value must be a number greater than 0"),e.height&&typeof e.height=="number"&&e.height>0?(s.height=e.height,r=e.height):console.warn("[StoryblokRichText] - Height value must be a number greater than 0"),e.loading&&["lazy","eager"].includes(e.loading)&&(s.loading=e.loading),e.class&&(s.class=e.class),e.filters){const{filters:a}=e||{},{blur:h,brightness:d,fill:p,format:b,grayscale:v,quality:w,rotate:E}=a||{};h&&i(h,0,100,"blur",n),w&&i(w,0,100,"quality",n),d&&i(d,0,100,"brightness",n),p&&n.push(`fill(${p})`),v&&n.push("grayscale()"),E&&[0,90,180,270].includes(e.filters.rotate||0)&&n.push(`rotate(${E})`),b&&["webp","png","jpeg"].includes(b)&&n.push(`format(${b})`)}e.srcset&&(s.srcset=e.srcset.map(a=>{if(typeof a=="number")return`${o}/m/${a}x0/${n.length>0?`filters:${n.join(":")}`:""} ${a}w`;if(Array.isArray(a)&&a.length===2){const[h,d]=a;return`${o}/m/${h}x${d}/${n.length>0?`filters:${n.join(":")}`:""} ${h}w`}else{console.warn("[StoryblokRichText] - srcset entry must be a number or a tuple of two numbers");return}}).join(", ")),e.sizes&&(s.sizes=e.sizes.join(", "))}let l=`${o}/m/`;return t>0&&r>0&&(l=`${l}${t}x${r}/`),n.length>0&&(l=`${l}filters:${n.join(":")}`),{src:l,attrs:s}}var k=(o=>(o.DOCUMENT="doc",o.HEADING="heading",o.PARAGRAPH="paragraph",o.QUOTE="blockquote",o.OL_LIST="ordered_list",o.UL_LIST="bullet_list",o.LIST_ITEM="list_item",o.CODE_BLOCK="code_block",o.HR="horizontal_rule",o.BR="hard_break",o.IMAGE="image",o.EMOJI="emoji",o.COMPONENT="blok",o.TABLE="table",o.TABLE_ROW="tableRow",o.TABLE_CELL="tableCell",o.TABLE_HEADER="tableHeader",o))(k||{}),_=(o=>(o.BOLD="bold",o.STRONG="strong",o.STRIKE="strike",o.UNDERLINE="underline",o.ITALIC="italic",o.CODE="code",o.LINK="link",o.ANCHOR="anchor",o.STYLED="styled",o.SUPERSCRIPT="superscript",o.SUBSCRIPT="subscript",o.TEXT_STYLE="textStyle",o.HIGHLIGHT="highlight",o))(_||{}),U=(o=>(o.TEXT="text",o))(U||{}),I=(o=>(o.URL="url",o.STORY="story",o.ASSET="asset",o.EMAIL="email",o))(I||{});const ze=["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"],De=(o={})=>Object.keys(o).map(e=>`${e}="${o[e]}"`).join(" "),qe=(o={})=>Object.keys(o).map(e=>`${e}: ${o[e]}`).join("; ");function Fe(o){return o.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}const L=o=>Object.fromEntries(Object.entries(o).filter(([e,t])=>t!==void 0));function F(o,e={},t){const r=De(e),s=r?`${o} ${r}`:o,n=Array.isArray(t)?t.join(""):t||"";if(o){if(ze.includes(o))return`<${s}>`}else return n;return`<${s}>${n}</${o}>`}function Ge(o={}){let e=0;const{renderFn:t=F,textFn:r=Fe,resolvers:s={},optimizeImages:n=!1,keyedResolvers:i=!1}=o,l=t!==F,a=c=>u=>{const f=u.attrs||{};return i&&(f.key=`${c}-${e}`),t(c,f,u.children||null)},h=c=>{const{src:u,alt:f,title:y,srcset:R,sizes:$}=c.attrs||{};let m=u,T={};if(n){const{src:se,attrs:oe}=Be(u,n);m=se,T=oe}i&&(T={...T,key:`img-${e}`});const re={src:m,alt:f,title:y,srcset:R,sizes:$,...T};return t("img",L(re))},d=c=>{const{level:u,...f}=c.attrs||{},y={...f};return i&&(y.key=`h${u}-${e}`),t(`h${u}`,y,c.children)},p=c=>{var u,f,y,R;const $=t("img",{src:(u=c.attrs)==null?void 0:u.fallbackImage,alt:(f=c.attrs)==null?void 0:f.alt,style:"width: 1.25em; height: 1.25em; vertical-align: text-top",draggable:"false",loading:"lazy"}),m={"data-type":"emoji","data-name":(y=c.attrs)==null?void 0:y.name,"data-emoji":(R=c.attrs)==null?void 0:R.emoji};return i&&(m.key=`emoji-${e}`),t("span",m,$)},b=c=>t("pre",{...c.attrs,key:`code-${e}`},t("code",{key:`code-${e}`},c.children||"")),v=(c,u=!1)=>({text:f,attrs:y})=>{const{class:R,id:$,...m}=y||{},T=u?{class:R,id:$,style:qe(m)||void 0}:y||{};return i&&(T.key=`${c}-${e}`),t(c,L(T),f)},w=c=>P(c),E=c=>{const{marks:u,...f}=c;return"text"in c?u?u.reduce((y,R)=>w({...R,text:y}),w({...f,children:f.children})):r(f.text):""},j=c=>{const{linktype:u,href:f,anchor:y,...R}=c.attrs||{};let $="";switch(u){case I.ASSET:case I.URL:$=f;break;case I.EMAIL:$=`mailto:${f}`;break;case I.STORY:$=f,y&&($=`${$}#${y}`);break;default:$=f;break}const m={...R};return $&&(m.href=$),i&&(m.key=`a-${e}`),t("a",m,c.text)},W=c=>{var u,f;return console.warn("[StoryblokRichtText] - BLOK resolver is not available for vanilla usage"),t("span",{blok:(u=c==null?void 0:c.attrs)==null?void 0:u.body[0],id:(f=c.attrs)==null?void 0:f.id,key:`component-${e}`,style:"display: none"})},X=c=>{const u={};return i&&(u.key=`table-${e}`),t("table",u,c.children)},Q=c=>{const u={};return i&&(u.key=`tr-${e}`),t("tr",u,c.children)},Z=c=>{const{colspan:u,rowspan:f,colwidth:y,backgroundColor:R,...$}=c.attrs||{},m={...$};u>1&&(m.colspan=u),f>1&&(m.rowspan=f);const T=[];return y&&T.push(`width: ${y}px;`),R&&T.push(`background-color: ${R};`),T.length>0&&(m.style=T.join(" ")),i&&(m.key=`td-${e}`),t("td",L(m),c.children)},ee=c=>{const{colspan:u,rowspan:f,colwidth:y,backgroundColor:R,...$}=c.attrs||{},m={...$};u>1&&(m.colspan=u),f>1&&(m.rowspan=f);const T=[];return y&&T.push(`width: ${y}px;`),R&&T.push(`background-color: ${R};`),T.length>0&&(m.style=T.join(" ")),i&&(m.key=`th-${e}`),t("th",L(m),c.children)},te=new Map([[k.DOCUMENT,a("")],[k.HEADING,d],[k.PARAGRAPH,a("p")],[k.UL_LIST,a("ul")],[k.OL_LIST,a("ol")],[k.LIST_ITEM,a("li")],[k.IMAGE,h],[k.EMOJI,p],[k.CODE_BLOCK,b],[k.HR,a("hr")],[k.BR,a("br")],[k.QUOTE,a("blockquote")],[k.COMPONENT,W],[U.TEXT,E],[_.LINK,j],[_.ANCHOR,j],[_.STYLED,v("span",!0)],[_.BOLD,v("strong")],[_.TEXT_STYLE,v("span",!0)],[_.ITALIC,v("em")],[_.UNDERLINE,v("u")],[_.STRIKE,v("s")],[_.CODE,v("code")],[_.SUPERSCRIPT,v("sup")],[_.SUBSCRIPT,v("sub")],[_.HIGHLIGHT,v("mark")],[k.TABLE,X],[k.TABLE_ROW,Q],[k.TABLE_CELL,Z],[k.TABLE_HEADER,ee],...Object.entries(s).map(([c,u])=>[c,u])]);function O(c){e+=1;const u=te.get(c.type);if(!u)return console.error("<Storyblok>",`No resolver found for node type ${c.type}`),"";if(c.type==="text")return u(c);const f=c.content?c.content.map(P):void 0;return u({...c,children:f})}function P(c){return c.type==="doc"?l?c.content.map(O):c.content.map(O).join(""):Array.isArray(c)?c.map(O):O(c)}return{render:P}}let H,M="https://app.storyblok.com/f/storyblok-v2-latest.js";const J=(o,e,t={})=>{var r;const s=!(typeof window>"u")&&typeof window.storyblokRegisterEvent<"u",n=new URL((r=window.location)==null?void 0:r.href).searchParams.get("_storyblok"),i=n!==null&&+n===o;if(!(!s||!i)){if(!o){console.warn("Story ID is not defined. Please provide a valid ID.");return}window.storyblokRegisterEvent(()=>{new window.StoryblokBridge(t).on(["input","published","change"],l=>{var a;l&&(l.action==="input"&&((a=l.story)==null?void 0:a.id)===o?e(l.story):(l.action==="change"||l.action==="published")&&l.storyId===o&&window.location.reload())})})}},K=(o,e)=>{o.addNode("blok",t=>{let r="";return t.attrs.body.forEach(s=>{r+=e(s.component,s)}),{html:r}})},Ve=(o={})=>{var e,t;const{bridge:r,accessToken:s,use:n=[],apiOptions:i={},richText:l={},bridgeUrl:a}=o;i.accessToken=i.accessToken||s;const h={bridge:r,apiOptions:i};let d={};n.forEach(b=>{d={...d,...b(h)}}),a&&(M=a);const p=!(typeof window>"u")&&((t=(e=window.location)==null?void 0:e.search)==null?void 0:t.includes("_storyblok_tk"));return r!==!1&&p&&G(M),H=new A(l.schema),l.resolver&&K(H,l.resolver),d},Y=o=>{var e;return!o||!((e=o==null?void 0:o.content)!=null&&e.some(t=>t.content||t.type==="blok"||t.type==="horizontal_rule"))},Je=(o,e,t)=>{let r=t||H;if(!r){console.error("Please initialize the Storyblok SDK before calling the renderRichText function");return}return Y(o)?"":(e&&(r=new A(e.schema),e.resolver&&K(r,e.resolver)),r.render(o,{},!1))},Ke=()=>G(M);exports.BlockTypes=k;exports.MarkTypes=_;exports.RichTextResolver=A;exports.RichTextSchema=V;exports.TextTypes=U;exports.apiPlugin=Me;exports.isRichTextEmpty=Y;exports.loadStoryblokBridge=Ke;exports.registerStoryblokBridge=J;exports.renderRichText=Je;exports.richTextResolver=Ge;exports.storyblokEditable=Ue;exports.storyblokInit=Ve;exports.useStoryblokBridge=J;
24
+ }`),""}optimizeImages(r,e){let t=0,n=0,s="",o="";typeof e!="boolean"&&(typeof e.width=="number"&&e.width>0&&(s+=`width="${e.width}" `,t=e.width),typeof e.height=="number"&&e.height>0&&(s+=`height="${e.height}" `,n=e.height),(e.loading==="lazy"||e.loading==="eager")&&(s+=`loading="${e.loading}" `),typeof e.class=="string"&&e.class.length>0&&(s+=`class="${e.class}" `),e.filters&&(typeof e.filters.blur=="number"&&e.filters.blur>=0&&e.filters.blur<=100&&(o+=`:blur(${e.filters.blur})`),typeof e.filters.brightness=="number"&&e.filters.brightness>=-100&&e.filters.brightness<=100&&(o+=`:brightness(${e.filters.brightness})`),e.filters.fill&&(e.filters.fill.match(/[0-9A-F]{6}/gi)||e.filters.fill==="transparent")&&(o+=`:fill(${e.filters.fill})`),e.filters.format&&["webp","png","jpeg"].includes(e.filters.format)&&(o+=`:format(${e.filters.format})`),typeof e.filters.grayscale=="boolean"&&e.filters.grayscale&&(o+=":grayscale()"),typeof e.filters.quality=="number"&&e.filters.quality>=0&&e.filters.quality<=100&&(o+=`:quality(${e.filters.quality})`),e.filters.rotate&&[90,180,270].includes(e.filters.rotate)&&(o+=`:rotate(${e.filters.rotate})`),o.length>0&&(o=`/filters${o}`))),s.length>0&&(r=r.replace(/<img/g,`<img ${s.trim()}`));const l=t>0||n>0||o.length>0?`${t}x${n}${o}`:"";return r=r.replace(/a.storyblok.com\/f\/(\d+)\/([^.]+)\.(gif|jpg|jpeg|png|tif|bmp)/g,`a.storyblok.com/f/$1/$2.$3/m/${l}`),typeof e!="boolean"&&(e.sizes||e.srcset)&&(r=r.replace(/<img.*?src=["|'](.*?)["|']/g,i=>{var a,h;const u=i.match(/a.storyblok.com\/f\/(\d+)\/([^.]+)\.(gif|jpg|jpeg|png|tif|bmp)/g);if(u&&u.length>0){const p={srcset:(a=e.srcset)==null?void 0:a.map(T=>{if(typeof T=="number")return`//${u}/m/${T}x0${o} ${T}w`;if(typeof T=="object"&&T.length===2){let w=0,S=0;return typeof T[0]=="number"&&(w=T[0]),typeof T[1]=="number"&&(S=T[1]),`//${u}/m/${w}x${S}${o} ${w}w`}return""}).join(", "),sizes:(h=e.sizes)==null?void 0:h.map(T=>T).join(", ")};let b="";return p.srcset&&(b+=`srcset="${p.srcset}" `),p.sizes&&(b+=`sizes="${p.sizes}" `),i.replace(/<img/g,`<img ${b.trim()}`)}return i})),r}renderNode(r){const e=[];r.marks&&r.marks.forEach(n=>{const s=this.getMatchingMark(n);s&&s.tag!==""&&e.push(this.renderOpeningTag(s.tag))});const t=this.getMatchingNode(r);return t&&t.tag&&e.push(this.renderOpeningTag(t.tag)),r.content?r.content.forEach(n=>{e.push(this.renderNode(n))}):r.text?e.push(Me(r.text)):t&&t.singleTag?e.push(this.renderTag(t.singleTag," /")):t&&t.html?e.push(t.html):r.type==="emoji"&&e.push(this.renderEmoji(r)),t&&t.tag&&e.push(this.renderClosingTag(t.tag)),r.marks&&r.marks.slice(0).reverse().forEach(n=>{const s=this.getMatchingMark(n);s&&s.tag!==""&&e.push(this.renderClosingTag(s.tag))}),e.join("")}renderTag(r,e){return r.constructor===String?`<${r}${e}>`:r.map(t=>{if(t.constructor===String)return`<${t}${e}>`;{let n=`<${t.tag}`;if(t.attrs){for(const s in t.attrs)if(Object.prototype.hasOwnProperty.call(t.attrs,s)){const o=t.attrs[s];o!==null&&(n+=` ${s}="${o}"`)}}return`${n}${e}>`}}).join("")}renderOpeningTag(r){return this.renderTag(r,"")}renderClosingTag(r){return r.constructor===String?`</${r}>`:r.slice(0).reverse().map(e=>e.constructor===String?`</${e}>`:`</${e.tag}>`).join("")}getMatchingNode(r){const e=this.nodes[r.type];if(typeof e=="function")return e(r)}getMatchingMark(r){const e=this.marks[r.type];if(typeof e=="function")return e(r)}renderEmoji(r){if(r.attrs.emoji)return r.attrs.emoji;const e=[{tag:"img",attrs:{src:r.attrs.fallbackImage,draggable:"false",loading:"lazy",align:"absmiddle"}}];return this.renderTag(e," /")}};class He{constructor(e){m(this,"baseURL"),m(this,"timeout"),m(this,"headers"),m(this,"responseInterceptor"),m(this,"fetch"),m(this,"ejectInterceptor"),m(this,"url"),m(this,"parameters"),m(this,"fetchOptions"),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={}}get(e,t){return this.url=e,this.parameters=t,this._methodHandler("get")}post(e,t){return this.url=e,this.parameters=t,this._methodHandler("post")}put(e,t){return this.url=e,this.parameters=t,this._methodHandler("put")}delete(e,t){return this.url=e,this.parameters=t??{},this._methodHandler("delete")}async _responseHandler(e){const t=[],n={data:{},headers:{},status:0,statusText:""};e.status!==204&&await e.json().then(s=>{n.data=s});for(const s of e.headers.entries())t[s[0]]=s[1];return n.headers={...t},n.status=e.status,n.statusText=e.statusText,n}async _methodHandler(e){let t=`${this.baseURL}${this.url}`,n=null;if(e==="get"){const a=new C;t=`${this.baseURL}${this.url}?${a.stringify(this.parameters)}`}else n=JSON.stringify(this.parameters);const s=new URL(t),o=new AbortController,{signal:l}=o;let i;this.timeout&&(i=setTimeout(()=>o.abort(),this.timeout));try{const a=await this.fetch(`${s}`,{method:e,headers:this.headers,body:n,signal:l,...this.fetchOptions});this.timeout&&clearTimeout(i);const h=await this._responseHandler(a);return this.responseInterceptor&&!this.ejectInterceptor?this._statusHandler(this.responseInterceptor(h)):this._statusHandler(h)}catch(a){return{message:a}}}setFetchOptions(e={}){Object.keys(e).length>0&&"method"in e&&delete e.method,this.fetchOptions={...e}}eject(){this.ejectInterceptor=!0}_statusHandler(e){const t=/20[0-6]/g;return new Promise((n,s)=>{if(t.test(`${e.status}`))return n(e);const o={message:e.statusText,status:e.status,response:Array.isArray(e.data)?e.data[0]:e.data.error||e.data.slug};s(o)})}}const F="SB-Agent",N={defaultAgentName:"SB-JS-CLIENT",defaultAgentVersion:"SB-Agent-Version",packageVersion:"6.0.0"};let O={};const j={};class Ue{constructor(e,t){m(this,"client"),m(this,"maxRetries"),m(this,"retriesDelay"),m(this,"throttle"),m(this,"accessToken"),m(this,"cache"),m(this,"helpers"),m(this,"resolveCounter"),m(this,"relations"),m(this,"links"),m(this,"richTextResolver"),m(this,"resolveNestedRelations"),m(this,"stringifiedStoriesCache");let n=e.endpoint||t;if(!n){const l=new C().getRegionURL,i=e.https===!1?"http":"https";e.oauthToken?n=`${i}://${l(e.region)}/v1`:n=`${i}://${l(e.region)}/v2`}const s=new Headers;s.set("Content-Type","application/json"),s.set("Accept","application/json"),e.headers&&(e.headers.constructor.name==="Headers"?e.headers.entries().toArray():Object.entries(e.headers)).forEach(([l,i])=>{s.set(l,i)}),s.has(F)||(s.set(F,N.defaultAgentName),s.set(N.defaultAgentVersion,N.packageVersion));let o=5;e.oauthToken&&(s.set("Authorization",e.oauthToken),o=3),e.rateLimit&&(o=e.rateLimit),e.richTextSchema?this.richTextResolver=new I(e.richTextSchema):this.richTextResolver=new I,e.componentResolver&&this.setComponentResolver(e.componentResolver),this.maxRetries=e.maxRetries||10,this.retriesDelay=300,this.throttle=he(this.throttledRequest.bind(this),o,1e3),this.accessToken=e.accessToken||"",this.relations={},this.links={},this.cache=e.cache||{clear:"manual"},this.helpers=new C,this.resolveCounter=0,this.resolveNestedRelations=e.resolveNestedRelations||!0,this.stringifiedStoriesCache={},this.client=new He({baseURL:n,timeout:e.timeout||0,headers:s,responseInterceptor:e.responseInterceptor,fetch:e.fetch})}setComponentResolver(e){this.richTextResolver.addNode("blok",t=>{let n="";return t.attrs.body&&t.attrs.body.forEach(s=>{n+=e(s.component,s)}),{html:n}})}parseParams(e){return e.token||(e.token=this.getToken()),e.cv||(e.cv=j[e.token]),Array.isArray(e.resolve_relations)&&(e.resolve_relations=e.resolve_relations.join(",")),typeof e.resolve_relations<"u"&&(e.resolve_level=2),e}factoryParamOptions(e,t){return this.helpers.isCDNUrl(e)?this.parseParams(t):t}makeRequest(e,t,n,s,o){const l=this.factoryParamOptions(e,this.helpers.getOptionsPage(t,n,s));return this.cacheResponse(e,l,void 0,o)}get(e,t,n){t||(t={});const s=`/${e}`,o=this.factoryParamOptions(s,t);return this.cacheResponse(s,o,void 0,n)}async getAll(e,t,n,s){const o=(t==null?void 0:t.per_page)||25,l=`/${e}`.replace(/\/$/,""),i=n??l.substring(l.lastIndexOf("/")+1),a=1,h=await this.makeRequest(l,t,o,a,s),u=h.total?Math.ceil(h.total/o):1,p=await this.helpers.asyncMap(this.helpers.range(a,u),b=>this.makeRequest(l,t,o,b+1,s));return this.helpers.flatMap([h,...p],b=>Object.values(b.data[i]))}post(e,t,n){const s=`/${e}`;return Promise.resolve(this.throttle("post",s,t,n))}put(e,t,n){const s=`/${e}`;return Promise.resolve(this.throttle("put",s,t,n))}delete(e,t,n){t||(t={});const s=`/${e}`;return Promise.resolve(this.throttle("delete",s,t,n))}getStories(e,t){return this._addResolveLevel(e),this.get("cdn/stories",e,t)}getStory(e,t,n){return this._addResolveLevel(t),this.get(`cdn/stories/${e}`,t,n)}getToken(){return this.accessToken}ejectInterceptor(){this.client.eject()}_addResolveLevel(e){typeof e.resolve_relations<"u"&&(e.resolve_level=2)}_cleanCopy(e){return JSON.parse(JSON.stringify(e))}_insertLinks(e,t,n){const s=e[t];s&&s.fieldtype==="multilink"&&s.linktype==="story"&&typeof s.id=="string"&&this.links[n][s.id]?s.story=this._cleanCopy(this.links[n][s.id]):s&&s.linktype==="story"&&typeof s.uuid=="string"&&this.links[n][s.uuid]&&(s.story=this._cleanCopy(this.links[n][s.uuid]))}getStoryReference(e,t){return this.relations[e][t]?JSON.parse(this.stringifiedStoriesCache[t]||JSON.stringify(this.relations[e][t])):t}_resolveField(e,t,n){const s=e[t];typeof s=="string"?e[t]=this.getStoryReference(n,s):Array.isArray(s)&&(e[t]=s.map(o=>this.getStoryReference(n,o)).filter(Boolean))}_insertRelations(e,t,n,s){if(Array.isArray(n)?n.find(l=>l.endsWith(`.${t}`)):n.endsWith(`.${t}`)){this._resolveField(e,t,s);return}const o=e.component?`${e.component}.${t}`:t;(Array.isArray(n)?n.includes(o):n===o)&&this._resolveField(e,t,s)}iterateTree(e,t,n){const s=(o,l="")=>{if(!(!o||o._stopResolving)){if(Array.isArray(o))o.forEach((i,a)=>s(i,`${l}[${a}]`));else if(typeof o=="object")for(const i in o){const a=l?`${l}.${i}`:i;(o.component&&o._uid||o.type==="link")&&(this._insertRelations(o,i,t,n),this._insertLinks(o,i,n)),s(o[i],a)}}};s(e.content)}async resolveLinks(e,t,n){let s=[];if(e.link_uuids){const o=e.link_uuids.length,l=[],i=50;for(let a=0;a<o;a+=i){const h=Math.min(o,a+i);l.push(e.link_uuids.slice(a,h))}for(let a=0;a<l.length;a++)(await this.getStories({per_page:i,language:t.language,version:t.version,starts_with:t.starts_with,by_uuids:l[a].join(",")})).data.stories.forEach(h=>{s.push(h)})}else s=e.links;s.forEach(o=>{this.links[n][o.uuid]={...o,_stopResolving:!0}})}async resolveRelations(e,t,n){let s=[];if(e.rel_uuids){const o=e.rel_uuids.length,l=[],i=50;for(let a=0;a<o;a+=i){const h=Math.min(o,a+i);l.push(e.rel_uuids.slice(a,h))}for(let a=0;a<l.length;a++)(await this.getStories({per_page:i,language:t.language,version:t.version,starts_with:t.starts_with,by_uuids:l[a].join(","),excluding_fields:t.excluding_fields})).data.stories.forEach(h=>{s.push(h)})}else s=e.rels;s&&s.length>0&&s.forEach(o=>{this.relations[n][o.uuid]={...o,_stopResolving:!0}})}async resolveStories(e,t,n){var s,o;let l=[];if(this.links[n]={},this.relations[n]={},typeof t.resolve_relations<"u"&&t.resolve_relations.length>0&&(typeof t.resolve_relations=="string"&&(l=t.resolve_relations.split(",")),await this.resolveRelations(e,t,n)),t.resolve_links&&["1","story","url","link"].includes(t.resolve_links)&&((s=e.links)!=null&&s.length||(o=e.link_uuids)!=null&&o.length)&&await this.resolveLinks(e,t,n),this.resolveNestedRelations)for(const i in this.relations[n])this.iterateTree(this.relations[n][i],l,n);e.story?this.iterateTree(e.story,l,n):e.stories.forEach(i=>{this.iterateTree(i,l,n)}),this.stringifiedStoriesCache={},delete this.links[n],delete this.relations[n]}async cacheResponse(e,t,n,s){const o=this.helpers.stringify({url:e,params:t}),l=this.cacheProvider();if(t.version==="published"&&e!=="/cdn/spaces/me"){const i=await l.get(o);if(i)return Promise.resolve(i)}return new Promise(async(i,a)=>{var h;try{const u=await this.throttle("get",e,t,s);if(u.status!==200)return a(u);let p={data:u.data,headers:u.headers};if((h=u.headers)!=null&&h["per-page"]&&(p=Object.assign({},p,{perPage:u.headers["per-page"]?Number.parseInt(u.headers["per-page"]):0,total:u.headers["per-page"]?Number.parseInt(u.headers.total):0})),p.data.story||p.data.stories){const T=this.resolveCounter=++this.resolveCounter%1e3;await this.resolveStories(p.data,t,`${T}`)}t.version==="published"&&e!=="/cdn/spaces/me"&&await l.set(o,p);const b=this.cache.clear==="onpreview"&&t.version==="draft"||this.cache.clear==="auto";return t.token&&p.data.cv&&(b&&j[t.token]&&j[t.token]!==p.data.cv&&await this.flushCache(),j[t.token]=p.data.cv),i(p)}catch(u){if(u.response&&u.status===429&&(n=typeof n>"u"?0:n+1,n<this.maxRetries))return console.log(`Hit rate limit. Retrying in ${this.retriesDelay/1e3} seconds.`),await this.helpers.delay(this.retriesDelay),this.cacheResponse(e,t,n).then(i).catch(a);a(u)}})}throttledRequest(e,t,n,s){return this.client.setFetchOptions(s),this.client[e](t,n)}cacheVersions(){return j}cacheVersion(){return j[this.accessToken]}setCacheVersion(e){this.accessToken&&(j[this.accessToken]=e)}clearCacheVersion(){this.accessToken&&(j[this.accessToken]=0)}cacheProvider(){switch(this.cache.type){case"memory":return{get(e){return Promise.resolve(O[e])},getAll(){return Promise.resolve(O)},set(e,t){return O[e]=t,Promise.resolve(void 0)},flush(){return O={},Promise.resolve(void 0)}};case"custom":if(this.cache.custom)return this.cache.custom;default:return{get(){return Promise.resolve()},getAll(){return Promise.resolve(void 0)},set(){return Promise.resolve(void 0)},flush(){return Promise.resolve(void 0)}}}}async flushCache(){return await this.cacheProvider().flush(),this.clearCacheVersion(),this}}const Be=(r={})=>{const{apiOptions:e}=r;if(!e||!e.accessToken){console.error("You need to provide an access token to interact with Storyblok API. Read https://www.storyblok.com/docs/api/content-delivery#topics/authentication");return}return{storyblokApi:new Ue(e)}},ze=r=>{if(typeof r!="object"||typeof r._editable>"u")return{};try{const e=JSON.parse(r._editable.replace(/^<!--#storyblok#/,"").replace(/-->$/,""));return e?{"data-blok-c":JSON.stringify(e),"data-blok-uid":`${e.id}-${e.uid}`}:{}}catch{return{}}};function De(r,e){if(!e)return{src:r,attrs:{}};let t=0,n=0;const s={},o=[];function l(a,h,u,p,b){typeof a!="number"||a<=h||a>=u?console.warn(`[StoryblokRichText] - ${p.charAt(0).toUpperCase()+p.slice(1)} value must be a number between ${h} and ${u} (inclusive)`):b.push(`${p}(${a})`)}if(typeof e=="object"){if(typeof e.width=="number"&&e.width>0?(s.width=e.width,t=e.width):console.warn("[StoryblokRichText] - Width value must be a number greater than 0"),e.height&&typeof e.height=="number"&&e.height>0?(s.height=e.height,n=e.height):console.warn("[StoryblokRichText] - Height value must be a number greater than 0"),e.loading&&["lazy","eager"].includes(e.loading)&&(s.loading=e.loading),e.class&&(s.class=e.class),e.filters){const{filters:a}=e||{},{blur:h,brightness:u,fill:p,format:b,grayscale:T,quality:w,rotate:S}=a||{};h&&l(h,0,100,"blur",o),w&&l(w,0,100,"quality",o),u&&l(u,0,100,"brightness",o),p&&o.push(`fill(${p})`),T&&o.push("grayscale()"),S&&[0,90,180,270].includes(e.filters.rotate||0)&&o.push(`rotate(${S})`),b&&["webp","png","jpeg"].includes(b)&&o.push(`format(${b})`)}e.srcset&&(s.srcset=e.srcset.map(a=>{if(typeof a=="number")return`${r}/m/${a}x0/${o.length>0?`filters:${o.join(":")}`:""} ${a}w`;if(Array.isArray(a)&&a.length===2){const[h,u]=a;return`${r}/m/${h}x${u}/${o.length>0?`filters:${o.join(":")}`:""} ${h}w`}else{console.warn("[StoryblokRichText] - srcset entry must be a number or a tuple of two numbers");return}}).join(", ")),e.sizes&&(s.sizes=e.sizes.join(", "))}let i=`${r}/m/`;return t>0&&n>0&&(i=`${i}${t}x${n}/`),o.length>0&&(i=`${i}filters:${o.join(":")}`),{src:i,attrs:s}}var v=(r=>(r.DOCUMENT="doc",r.HEADING="heading",r.PARAGRAPH="paragraph",r.QUOTE="blockquote",r.OL_LIST="ordered_list",r.UL_LIST="bullet_list",r.LIST_ITEM="list_item",r.CODE_BLOCK="code_block",r.HR="horizontal_rule",r.BR="hard_break",r.IMAGE="image",r.EMOJI="emoji",r.COMPONENT="blok",r.TABLE="table",r.TABLE_ROW="tableRow",r.TABLE_CELL="tableCell",r.TABLE_HEADER="tableHeader",r))(v||{}),E=(r=>(r.BOLD="bold",r.STRONG="strong",r.STRIKE="strike",r.UNDERLINE="underline",r.ITALIC="italic",r.CODE="code",r.LINK="link",r.ANCHOR="anchor",r.STYLED="styled",r.SUPERSCRIPT="superscript",r.SUBSCRIPT="subscript",r.TEXT_STYLE="textStyle",r.HIGHLIGHT="highlight",r))(E||{}),U=(r=>(r.TEXT="text",r))(U||{}),x=(r=>(r.URL="url",r.STORY="story",r.ASSET="asset",r.EMAIL="email",r))(x||{});const qe=["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"],Fe=(r={})=>Object.keys(r).map(e=>`${e}="${r[e]}"`).join(" "),Ge=(r={})=>Object.keys(r).map(e=>`${e}: ${r[e]}`).join("; ");function Ve(r){return r.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}const L=r=>Object.fromEntries(Object.entries(r).filter(([e,t])=>t!==void 0));function G(r,e={},t){const n=Fe(e),s=n?`${r} ${n}`:r,o=Array.isArray(t)?t.join(""):t||"";if(r){if(qe.includes(r))return`<${s}>`}else return o;return`<${s}>${o}</${r}>`}function Je(r={}){const e=new Map,{renderFn:t=G,textFn:n=Ve,resolvers:s={},optimizeImages:o=!1,keyedResolvers:l=!1}=r,i=t!==G,a=()=>({render:(c,d={},g)=>{if(l&&c){const f=e.get(c)||0;e.set(c,f+1),d.key=`${c}-${f}`}return t(c,d,g)}}),h=c=>(d,g)=>{const f=d.attrs||{};return g.render(c,f,d.children||null)},u=(c,d)=>{const{src:g,alt:f,title:y,srcset:R,sizes:k}=c.attrs||{};let $=g,_={};if(o){const{src:oe,attrs:ie}=De(g,o);$=oe,_=ie}const ne={src:$,alt:f,title:y,srcset:R,sizes:k,..._};return d.render("img",L(ne))},p=(c,d)=>{const{level:g,...f}=c.attrs||{};return d.render(`h${g}`,f,c.children)},b=(c,d)=>{var g,f,y,R;const k=d.render("img",{src:(g=c.attrs)==null?void 0:g.fallbackImage,alt:(f=c.attrs)==null?void 0:f.alt,style:"width: 1.25em; height: 1.25em; vertical-align: text-top",draggable:"false",loading:"lazy"});return d.render("span",{"data-type":"emoji","data-name":(y=c.attrs)==null?void 0:y.name,"data-emoji":(R=c.attrs)==null?void 0:R.emoji},k)},T=(c,d)=>d.render("pre",c.attrs||{},d.render("code",{},c.children||"")),w=(c,d=!1)=>({text:g,attrs:f},y)=>{const{class:R,id:k,...$}=f||{},_=d?{class:R,id:k,style:Ge($)||void 0}:f||{};return y.render(c,L(_),g)},S=c=>P(c),X=c=>{const{marks:d,...g}=c;if("text"in c){if(d)return d.reduce((y,R)=>S({...R,text:y}),S({...g,children:g.children}));const f=c.attrs||{};if(l){const y=e.get("txt")||0;e.set("txt",y+1),f.key=`txt-${y}`}return n(g.text,f)}return""},B=(c,d)=>{const{linktype:g,href:f,anchor:y,...R}=c.attrs||{};let k="";switch(g){case x.ASSET:case x.URL:k=f;break;case x.EMAIL:k=`mailto:${f}`;break;case x.STORY:k=f,y&&(k=`${k}#${y}`);break;default:k=f;break}const $={...R};return k&&($.href=k),d.render("a",$,c.text)},Q=(c,d)=>{var g,f;return console.warn("[StoryblokRichtText] - BLOK resolver is not available for vanilla usage"),d.render("span",{blok:(g=c==null?void 0:c.attrs)==null?void 0:g.body[0],id:(f=c.attrs)==null?void 0:f.id,style:"display: none"})},Z=(c,d)=>{const g={},f=d.render("tbody",{},c.children);return d.render("table",g,f)},ee=(c,d)=>{const g={};return d.render("tr",g,c.children)},te=(c,d)=>{const{colspan:g,rowspan:f,colwidth:y,backgroundColor:R,...k}=c.attrs||{},$={...k};g>1&&($.colspan=g),f>1&&($.rowspan=f);const _=[];return y&&_.push(`width: ${y}px;`),R&&_.push(`background-color: ${R};`),_.length>0&&($.style=_.join(" ")),d.render("td",L($),c.children)},re=(c,d)=>{const{colspan:g,rowspan:f,colwidth:y,backgroundColor:R,...k}=c.attrs||{},$={...k};g>1&&($.colspan=g),f>1&&($.rowspan=f);const _=[];return y&&_.push(`width: ${y}px;`),R&&_.push(`background-color: ${R};`),_.length>0&&($.style=_.join(" ")),d.render("th",L($),c.children)},se=new Map([[v.DOCUMENT,h("")],[v.HEADING,p],[v.PARAGRAPH,h("p")],[v.UL_LIST,h("ul")],[v.OL_LIST,h("ol")],[v.LIST_ITEM,h("li")],[v.IMAGE,u],[v.EMOJI,b],[v.CODE_BLOCK,T],[v.HR,h("hr")],[v.BR,h("br")],[v.QUOTE,h("blockquote")],[v.COMPONENT,Q],[U.TEXT,X],[E.LINK,B],[E.ANCHOR,B],[E.STYLED,w("span",!0)],[E.BOLD,w("strong")],[E.TEXT_STYLE,w("span",!0)],[E.ITALIC,w("em")],[E.UNDERLINE,w("u")],[E.STRIKE,w("s")],[E.CODE,w("code")],[E.SUPERSCRIPT,w("sup")],[E.SUBSCRIPT,w("sub")],[E.HIGHLIGHT,w("mark")],[v.TABLE,Z],[v.TABLE_ROW,ee],[v.TABLE_CELL,te],[v.TABLE_HEADER,re],...Object.entries(s).map(([c,d])=>[c,d])]);function A(c){const d=se.get(c.type);if(!d)return console.error("<Storyblok>",`No resolver found for node type ${c.type}`),"";const g=a();if(c.type==="text")return d(c,g);const f=c.content?c.content.map(P):void 0;return d({...c,children:f},g)}function P(c){return c.type==="doc"?i?c.content.map(A):c.content.map(A).join(""):Array.isArray(c)?c.map(A):A(c)}return{render:P}}let M,H="https://app.storyblok.com/f/storyblok-v2-latest.js";const K=(r,e,t={})=>{var n;const s=!(typeof window>"u")&&typeof window.storyblokRegisterEvent<"u",o=new URL((n=window.location)==null?void 0:n.href).searchParams.get("_storyblok"),l=o!==null&&+o===r;if(!(!s||!l)){if(!r){console.warn("Story ID is not defined. Please provide a valid ID.");return}window.storyblokRegisterEvent(()=>{new window.StoryblokBridge(t).on(["input","published","change"],i=>{var a;i&&(i.action==="input"&&((a=i.story)==null?void 0:a.id)===r?e(i.story):(i.action==="change"||i.action==="published")&&i.storyId===r&&window.location.reload())})})}},Y=(r,e)=>{r.addNode("blok",t=>{let n="";return t.attrs.body.forEach(s=>{n+=e(s.component,s)}),{html:n}})},Ke=(r={})=>{var e,t;const{bridge:n,accessToken:s,use:o=[],apiOptions:l={},richText:i={},bridgeUrl:a}=r;l.accessToken=l.accessToken||s;const h={bridge:n,apiOptions:l};let u={};o.forEach(b=>{u={...u,...b(h)}}),a&&(H=a);const p=!(typeof window>"u")&&((t=(e=window.location)==null?void 0:e.search)==null?void 0:t.includes("_storyblok_tk"));return n!==!1&&p&&V(H),M=new I(i.schema),i.resolver&&Y(M,i.resolver),u},W=r=>{var e;return!r||!((e=r==null?void 0:r.content)!=null&&e.some(t=>t.content||t.type==="blok"||t.type==="horizontal_rule"))},Ye=(r,e,t)=>{let n=t||M;if(!n){console.error("Please initialize the Storyblok SDK before calling the renderRichText function");return}return W(r)?"":(e&&(n=new I(e.schema),e.resolver&&Y(n,e.resolver)),n.render(r,{},!1))},We=()=>V(H);exports.BlockTypes=v;exports.MarkTypes=E;exports.RichTextResolver=I;exports.RichTextSchema=J;exports.TextTypes=U;exports.apiPlugin=Be;exports.isRichTextEmpty=W;exports.loadStoryblokBridge=We;exports.registerStoryblokBridge=K;exports.renderRichText=Ye;exports.richTextResolver=Je;exports.storyblokEditable=ze;exports.storyblokInit=Ke;exports.useStoryblokBridge=K;