@storyblok/astro 2.0.3 → 2.0.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.
@@ -1,4 +1,4 @@
1
- (function(a,u){typeof exports=="object"&&typeof module<"u"?u(exports):typeof define=="function"&&define.amd?define(["exports"],u):(a=typeof globalThis<"u"?globalThis:a||self,u(a.storyblokAstro={}))})(this,function(a){"use strict";function u(t,e,r){const o="virtual:storyblok-init",n="\0"+o;return{name:"vite-plugin-storyblok-init",async resolveId(s){if(s===o)return n},async load(s){if(s===n)return`
1
+ (function(a,d){typeof exports=="object"&&typeof module<"u"?d(exports):typeof define=="function"&&define.amd?define(["exports"],d):(a=typeof globalThis<"u"?globalThis:a||self,d(a.storyblokAstro={}))})(this,function(a){"use strict";function d(t,e,r){const o="virtual:storyblok-init",n="\0"+o;return{name:"vite-plugin-storyblok-init",async resolveId(s){if(s===o)return n},async load(s){if(s===n)return`
2
2
  import { storyblokInit, apiPlugin } from "@storyblok/js";
3
3
  const { storyblokApi } = storyblokInit({
4
4
  accessToken: "${t}",
@@ -6,9 +6,9 @@
6
6
  apiOptions: ${JSON.stringify(r)},
7
7
  });
8
8
  export const storyblokApiInstance = storyblokApi;
9
- `}}}const w=/[\p{Lu}]/u,S=/[\p{Ll}]/u,f=/^[\p{Lu}](?![\p{Lu}])/gu,h=/([\p{Alpha}\p{N}_]|$)/u,g=/[_.\- ]+/,C=new RegExp("^"+g.source),p=new RegExp(g.source+h.source,"gu"),b=new RegExp("\\d+"+h.source,"gu"),R=(t,e,r,o)=>{let n=!1,s=!1,c=!1,d=!1;for(let i=0;i<t.length;i++){const l=t[i];d=i>2?t[i-3]==="-":!0,n&&w.test(l)?(t=t.slice(0,i)+"-"+t.slice(i),n=!1,c=s,s=!0,i++):s&&c&&S.test(l)&&(!d||o)?(t=t.slice(0,i-1)+"-"+t.slice(i-1),c=s,s=!1,n=!0):(n=e(l)===l&&r(l)!==l,c=s,s=r(l)===l&&e(l)!==l)}return t},_=(t,e)=>(f.lastIndex=0,t.replace(f,r=>e(r))),$=(t,e)=>(p.lastIndex=0,b.lastIndex=0,t.replace(p,(r,o)=>e(o)).replace(b,r=>e(r)));function y(t,e){if(!(typeof t=="string"||Array.isArray(t)))throw new TypeError("Expected the input to be `string | string[]`");if(e={pascalCase:!1,preserveConsecutiveUppercase:!1,...e},Array.isArray(t)?t=t.map(s=>s.trim()).filter(s=>s.length).join("-"):t=t.trim(),t.length===0)return"";const r=e.locale===!1?s=>s.toLowerCase():s=>s.toLocaleLowerCase(e.locale),o=e.locale===!1?s=>s.toUpperCase():s=>s.toLocaleUpperCase(e.locale);return t.length===1?g.test(t)?"":e.pascalCase?o(t):r(t):(t!==r(t)&&(t=R(t,r,o,e.preserveConsecutiveUppercase)),t=t.replace(C,""),t=e.preserveConsecutiveUppercase?_(t,r):r(t),e.pascalCase&&(t=o(t.charAt(0))+t.slice(1)),$(t,o))}function O(t){const e="virtual:storyblok-components",r="\0"+e;return{name:"vite-plugin-storyblok-components",async resolveId(o){if(o===e)return r},async load(o){if(o===r){const n=[];for await(const[s,c]of Object.entries(t)){const{id:d}=await this.resolve("/src/"+c+".astro");n.push(`import ${y(s)} from "${d}"`)}return`${n.join(";")};export default {${Object.keys(t).map(s=>y(s)).join(",")}}`}}}}var P=Object.defineProperty,m=Object.getOwnPropertySymbols,x=Object.prototype.hasOwnProperty,j=Object.prototype.propertyIsEnumerable,k=(t,e,r)=>e in t?P(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,N=(t,e)=>{for(var r in e||(e={}))x.call(e,r)&&k(t,r,e[r]);if(m)for(var r of m(e))j.call(e,r)&&k(t,r,e[r]);return t};let v=!1;const T=[],L=t=>new Promise((e,r)=>{if(typeof window>"u"||(window.storyblokRegisterEvent=n=>{if(window.location===window.parent.location){console.warn("You are not in Draft Mode or in the Visual Editor.");return}v?n():T.push(n)},document.getElementById("storyblok-javascript-bridge")))return;const o=document.createElement("script");o.async=!0,o.src=t,o.id="storyblok-javascript-bridge",o.onerror=n=>r(n),o.onload=n=>{T.forEach(s=>s()),v=!0,e(n)},document.getElementsByTagName("head")[0].appendChild(o)});var M=Object.defineProperty,U=(t,e,r)=>e in t?M(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,I=(t,e,r)=>(U(t,typeof e!="symbol"?e+"":e,r),r);const B=function(t,e){const r={};for(const o in t){const n=t[o];e.indexOf(o)>-1&&n!==null&&(r[o]=n)}return r},D=t=>t==="email",z=()=>({singleTag:"hr"}),F=()=>({tag:"blockquote"}),V=()=>({tag:"ul"}),q=t=>({tag:["pre",{tag:"code",attrs:t.attrs}]}),J=()=>({singleTag:"br"}),G=t=>({tag:`h${t.attrs.level}`}),K=t=>({singleTag:[{tag:"img",attrs:B(t.attrs,["src","alt","title"])}]}),H=()=>({tag:"li"}),W=()=>({tag:"ol"}),Y=()=>({tag:"p"}),Q=()=>({tag:"b"}),X=()=>({tag:"strike"}),Z=()=>({tag:"u"}),ee=()=>({tag:"strong"}),te=()=>({tag:"code"}),re=()=>({tag:"i"}),oe=t=>{const e=N({},t.attrs),{linktype:r="url"}=t.attrs;return D(r)&&(e.href=`mailto:${e.href}`),e.anchor&&(e.href=`${e.href}#${e.anchor}`,delete e.anchor),{tag:[{tag:"a",attrs:e}]}},se=t=>({tag:[{tag:"span",attrs:t.attrs}]}),A={nodes:{horizontal_rule:z,blockquote:F,bullet_list:V,code_block:q,hard_break:J,heading:G,image:K,list_item:H,ordered_list:W,paragraph:Y},marks:{bold:Q,strike:X,underline:Z,strong:ee,code:te,italic:re,link:oe,styled:se}},ne=function(t){const e={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},r=/[&<>"']/g,o=RegExp(r.source);return t&&o.test(t)?t.replace(r,n=>e[n]):t};class E{constructor(e){I(this,"marks"),I(this,"nodes"),e||(e=A),this.marks=e.marks||[],this.nodes=e.nodes||[]}addNode(e,r){this.nodes[e]=r}addMark(e,r){this.marks[e]=r}render(e){if(e&&e.content&&Array.isArray(e.content)){let r="";return e.content.forEach(o=>{r+=this.renderNode(o)}),r}return console.warn("The render method must receive an object with a content field, which is an array"),""}renderNode(e){const r=[];e.marks&&e.marks.forEach(n=>{const s=this.getMatchingMark(n);s&&r.push(this.renderOpeningTag(s.tag))});const o=this.getMatchingNode(e);return o&&o.tag&&r.push(this.renderOpeningTag(o.tag)),e.content?e.content.forEach(n=>{r.push(this.renderNode(n))}):e.text?r.push(ne(e.text)):o&&o.singleTag?r.push(this.renderTag(o.singleTag," /")):o&&o.html&&r.push(o.html),o&&o.tag&&r.push(this.renderClosingTag(o.tag)),e.marks&&e.marks.slice(0).reverse().forEach(n=>{const s=this.getMatchingMark(n);s&&r.push(this.renderClosingTag(s.tag))}),r.join("")}renderTag(e,r){return e.constructor===String?`<${e}${r}>`:e.map(o=>{if(o.constructor===String)return`<${o}${r}>`;{let n=`<${o.tag}`;if(o.attrs)for(const s in o.attrs){const c=o.attrs[s];c!==null&&(n+=` ${s}="${c}"`)}return`${n}${r}>`}}).join("")}renderOpeningTag(e){return this.renderTag(e,"")}renderClosingTag(e){return e.constructor===String?`</${e}>`:e.slice(0).reverse().map(r=>r.constructor===String?`</${r}>`:`</${r.tag}>`).join("")}getMatchingNode(e){const r=this.nodes[e.type];if(typeof r=="function")return r(e)}getMatchingMark(e){const r=this.marks[e.type];if(typeof r=="function")return r(e)}}var ae=t=>{if(typeof t!="object"||typeof t._editable>"u")return{};const e=JSON.parse(t._editable.replace(/^<!--#storyblok#/,"").replace(/-->$/,""));return{"data-blok-c":JSON.stringify(e),"data-blok-uid":e.id+"-"+e.uid}};let ie;const le="https://app.storyblok.com/f/storyblok-v2-latest.js",ce=(t,e)=>{t.addNode("blok",r=>{let o="";return r.attrs.body.forEach(n=>{o+=e(n.component,n)}),{html:o}})},ue=(t,e,r)=>{let o=r||ie;if(!o){console.error("Please initialize the Storyblok SDK before calling the renderRichText function");return}return t===""?"":t?(e&&(o=new E(e.schema),e.resolver&&ce(o,e.resolver)),o.render(t)):(console.warn(`${t} is not a valid Richtext object. This might be because the value of the richtext field is empty.
9
+ `}}}const I=/[\p{Lu}]/u,E=/[\p{Ll}]/u,h=/^[\p{Lu}](?![\p{Lu}])/gu,f=/([\p{Alpha}\p{N}_]|$)/u,g=/[_.\- ]+/,S=new RegExp("^"+g.source),p=new RegExp(g.source+f.source,"gu"),b=new RegExp("\\d+"+f.source,"gu"),C=(t,e,r,o)=>{let n=!1,s=!1,c=!1,u=!1;for(let i=0;i<t.length;i++){const l=t[i];u=i>2?t[i-3]==="-":!0,n&&I.test(l)?(t=t.slice(0,i)+"-"+t.slice(i),n=!1,c=s,s=!0,i++):s&&c&&E.test(l)&&(!u||o)?(t=t.slice(0,i-1)+"-"+t.slice(i-1),c=s,s=!1,n=!0):(n=e(l)===l&&r(l)!==l,c=s,s=r(l)===l&&e(l)!==l)}return t},w=(t,e)=>(h.lastIndex=0,t.replace(h,r=>e(r))),R=(t,e)=>(p.lastIndex=0,b.lastIndex=0,t.replace(p,(r,o)=>e(o)).replace(b,r=>e(r)));function y(t,e){if(!(typeof t=="string"||Array.isArray(t)))throw new TypeError("Expected the input to be `string | string[]`");if(e={pascalCase:!1,preserveConsecutiveUppercase:!1,...e},Array.isArray(t)?t=t.map(s=>s.trim()).filter(s=>s.length).join("-"):t=t.trim(),t.length===0)return"";const r=e.locale===!1?s=>s.toLowerCase():s=>s.toLocaleLowerCase(e.locale),o=e.locale===!1?s=>s.toUpperCase():s=>s.toLocaleUpperCase(e.locale);return t.length===1?g.test(t)?"":e.pascalCase?o(t):r(t):(t!==r(t)&&(t=C(t,r,o,e.preserveConsecutiveUppercase)),t=t.replace(S,""),t=e.preserveConsecutiveUppercase?w(t,r):r(t),e.pascalCase&&(t=o(t.charAt(0))+t.slice(1)),R(t,o))}function $(t){const e="virtual:storyblok-components",r="\0"+e;return{name:"vite-plugin-storyblok-components",async resolveId(o){if(o===e)return r},async load(o){if(o===r){const n=[];for await(const[s,c]of Object.entries(t)){const{id:u}=await this.resolve("/src/"+c+".astro");n.push(`import ${y(s)} from "${u}"`)}return`${n.join(";")};export default {${Object.keys(t).map(s=>y(s)).join(",")}}`}}}}let k=!1;const m=[],x=t=>new Promise((e,r)=>{if(typeof window>"u"||(window.storyblokRegisterEvent=n=>{if(window.location===window.parent.location){console.warn("You are not in Draft Mode or in the Visual Editor.");return}k?n():m.push(n)},document.getElementById("storyblok-javascript-bridge")))return;const o=document.createElement("script");o.async=!0,o.src=t,o.id="storyblok-javascript-bridge",o.onerror=n=>r(n),o.onload=n=>{m.forEach(s=>s()),k=!0,e(n)},document.getElementsByTagName("head")[0].appendChild(o)});var N=Object.defineProperty,j=(t,e,r)=>e in t?N(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,v=(t,e,r)=>(j(t,typeof e!="symbol"?e+"":e,r),r);const L=function(t,e){const r={};for(const o in t){const n=t[o];e.indexOf(o)>-1&&n!==null&&(r[o]=n)}return r},_=t=>t==="email",O=()=>({singleTag:"hr"}),M=()=>({tag:"blockquote"}),P=()=>({tag:"ul"}),U=t=>({tag:["pre",{tag:"code",attrs:t.attrs}]}),D=()=>({singleTag:"br"}),B=t=>({tag:`h${t.attrs.level}`}),z=t=>({singleTag:[{tag:"img",attrs:L(t.attrs,["src","alt","title"])}]}),F=()=>({tag:"li"}),q=()=>({tag:"ol"}),J=()=>({tag:"p"}),V=()=>({tag:"b"}),K=()=>({tag:"strike"}),G=()=>({tag:"u"}),Y=()=>({tag:"strong"}),H=()=>({tag:"code"}),Q=()=>({tag:"i"}),W=t=>{const e={...t.attrs},{linktype:r="url"}=t.attrs;return _(r)&&(e.href=`mailto:${e.href}`),e.anchor&&(e.href=`${e.href}#${e.anchor}`,delete e.anchor),{tag:[{tag:"a",attrs:e}]}},Z=t=>({tag:[{tag:"span",attrs:t.attrs}]}),T={nodes:{horizontal_rule:O,blockquote:M,bullet_list:P,code_block:U,hard_break:D,heading:B,image:z,list_item:F,ordered_list:q,paragraph:J},marks:{bold:V,strike:K,underline:G,strong:Y,code:H,italic:Q,link:W,styled:Z}},X=function(t){const e={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},r=/[&<>"']/g,o=RegExp(r.source);return t&&o.test(t)?t.replace(r,n=>e[n]):t};class A{constructor(e){v(this,"marks"),v(this,"nodes"),e||(e=T),this.marks=e.marks||[],this.nodes=e.nodes||[]}addNode(e,r){this.nodes[e]=r}addMark(e,r){this.marks[e]=r}render(e){if(e&&e.content&&Array.isArray(e.content)){let r="";return e.content.forEach(o=>{r+=this.renderNode(o)}),r}return console.warn("The render method must receive an object with a content field, which is an array"),""}renderNode(e){const r=[];e.marks&&e.marks.forEach(n=>{const s=this.getMatchingMark(n);s&&r.push(this.renderOpeningTag(s.tag))});const o=this.getMatchingNode(e);return o&&o.tag&&r.push(this.renderOpeningTag(o.tag)),e.content?e.content.forEach(n=>{r.push(this.renderNode(n))}):e.text?r.push(X(e.text)):o&&o.singleTag?r.push(this.renderTag(o.singleTag," /")):o&&o.html&&r.push(o.html),o&&o.tag&&r.push(this.renderClosingTag(o.tag)),e.marks&&e.marks.slice(0).reverse().forEach(n=>{const s=this.getMatchingMark(n);s&&r.push(this.renderClosingTag(s.tag))}),r.join("")}renderTag(e,r){return e.constructor===String?`<${e}${r}>`:e.map(o=>{if(o.constructor===String)return`<${o}${r}>`;{let n=`<${o.tag}`;if(o.attrs)for(const s in o.attrs){const c=o.attrs[s];c!==null&&(n+=` ${s}="${c}"`)}return`${n}${r}>`}}).join("")}renderOpeningTag(e){return this.renderTag(e,"")}renderClosingTag(e){return e.constructor===String?`</${e}>`:e.slice(0).reverse().map(r=>r.constructor===String?`</${r}>`:`</${r.tag}>`).join("")}getMatchingNode(e){const r=this.nodes[e.type];if(typeof r=="function")return r(e)}getMatchingMark(e){const r=this.marks[e.type];if(typeof r=="function")return r(e)}}const ee=t=>{if(typeof t!="object"||typeof t._editable>"u")return{};const e=JSON.parse(t._editable.replace(/^<!--#storyblok#/,"").replace(/-->$/,""));return{"data-blok-c":JSON.stringify(e),"data-blok-uid":e.id+"-"+e.uid}};let te;const re="https://app.storyblok.com/f/storyblok-v2-latest.js",oe=(t,e)=>{t.addNode("blok",r=>{let o="";return r.attrs.body.forEach(n=>{o+=e(n.component,n)}),{html:o}})},se=(t,e,r)=>{let o=r||te;if(!o){console.error("Please initialize the Storyblok SDK before calling the renderRichText function");return}return t===""?"":t?(e&&(o=new A(e.schema),e.resolver&&oe(o,e.resolver)),o.render(t)):(console.warn(`${t} is not a valid Richtext object. This might be because the value of the richtext field is empty.
10
10
 
11
- For more info about the richtext object check https://github.com/storyblok/storyblok-js#rendering-rich-text`),"")},de=()=>L(le);function ge(){return globalThis.storyblokApiInstance||console.error("storyblokApiInstance has not been initialized correctly"),globalThis.storyblokApiInstance}function fe(t,e){const r=globalThis.storyblokApiInstance.richTextResolver;if(!r){console.error("Please initialize the Storyblok SDK before calling the renderRichText function");return}return ue(t,e,r)}function he(t){const e={useCustomApi:!1,bridge:!0,...t};return{name:"@storyblok/astro",hooks:{"astro:config:setup":({injectScript:r,updateConfig:o})=>{o({vite:{plugins:[u(e.accessToken,e.useCustomApi,e.apiOptions),O(e.components)]}}),r("page-ssr",`
11
+ For more info about the richtext object check https://github.com/storyblok/storyblok-js#rendering-rich-text`),"")},ne=()=>x(re);function ae(){return globalThis.storyblokApiInstance||console.error("storyblokApiInstance has not been initialized correctly"),globalThis.storyblokApiInstance}function ie(t,e){const r=globalThis.storyblokApiInstance.richTextResolver;if(!r){console.error("Please initialize the Storyblok SDK before calling the renderRichText function");return}return se(t,e,r)}function le(t){const e={useCustomApi:!1,bridge:!0,...t};return{name:"@storyblok/astro",hooks:{"astro:config:setup":({injectScript:r,updateConfig:o})=>{o({vite:{plugins:[d(e.accessToken,e.useCustomApi,e.apiOptions),$(e.components)]}}),r("page-ssr",`
12
12
  import { storyblokApiInstance } from "virtual:storyblok-init";
13
13
  globalThis.storyblokApiInstance = storyblokApiInstance;
14
14
  `),e.bridge&&r("page",`
@@ -23,4 +23,4 @@
23
23
  }
24
24
  });
25
25
  });
26
- `)}}}}a.RichTextResolver=E,a.RichTextSchema=A,a.default=he,a.loadStoryblokBridge=de,a.renderRichText=fe,a.storyblokEditable=ae,a.useStoryblokApi=ge,Object.defineProperties(a,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
26
+ `)}}}}a.RichTextResolver=A,a.RichTextSchema=T,a.default=le,a.loadStoryblokBridge=ne,a.renderRichText=ie,a.storyblokEditable=ee,a.useStoryblokApi=ae,Object.defineProperties(a,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
@@ -1,13 +1,13 @@
1
- function I(t, e, r) {
2
- const o = "virtual:storyblok-init", n = "\0" + o;
1
+ function m(t, e, r) {
2
+ const o = "virtual:storyblok-init", a = "\0" + o;
3
3
  return {
4
4
  name: "vite-plugin-storyblok-init",
5
5
  async resolveId(s) {
6
6
  if (s === o)
7
- return n;
7
+ return a;
8
8
  },
9
9
  async load(s) {
10
- if (s === n)
10
+ if (s === a)
11
11
  return `
12
12
  import { storyblokInit, apiPlugin } from "@storyblok/js";
13
13
  const { storyblokApi } = storyblokInit({
@@ -20,14 +20,14 @@ function I(t, e, r) {
20
20
  }
21
21
  };
22
22
  }
23
- const T = /[\p{Lu}]/u, E = /[\p{Ll}]/u, d = /^[\p{Lu}](?![\p{Lu}])/gu, v = /([\p{Alpha}\p{N}_]|$)/u, u = /[_.\- ]+/, A = new RegExp("^" + u.source), g = new RegExp(u.source + v.source, "gu"), h = new RegExp("\\d+" + v.source, "gu"), w = (t, e, r, o) => {
24
- let n = !1, s = !1, i = !1, c = !1;
25
- for (let a = 0; a < t.length; a++) {
26
- const l = t[a];
27
- c = a > 2 ? t[a - 3] === "-" : !0, n && T.test(l) ? (t = t.slice(0, a) + "-" + t.slice(a), n = !1, i = s, s = !0, a++) : s && i && E.test(l) && (!c || o) ? (t = t.slice(0, a - 1) + "-" + t.slice(a - 1), i = s, s = !1, n = !0) : (n = e(l) === l && r(l) !== l, i = s, s = r(l) === l && e(l) !== l);
23
+ const v = /[\p{Lu}]/u, I = /[\p{Ll}]/u, u = /^[\p{Lu}](?![\p{Lu}])/gu, k = /([\p{Alpha}\p{N}_]|$)/u, d = /[_.\- ]+/, T = new RegExp("^" + d.source), g = new RegExp(d.source + k.source, "gu"), h = new RegExp("\\d+" + k.source, "gu"), A = (t, e, r, o) => {
24
+ let a = !1, s = !1, i = !1, c = !1;
25
+ for (let n = 0; n < t.length; n++) {
26
+ const l = t[n];
27
+ c = n > 2 ? t[n - 3] === "-" : !0, a && v.test(l) ? (t = t.slice(0, n) + "-" + t.slice(n), a = !1, i = s, s = !0, n++) : s && i && I.test(l) && (!c || o) ? (t = t.slice(0, n - 1) + "-" + t.slice(n - 1), i = s, s = !1, a = !0) : (a = e(l) === l && r(l) !== l, i = s, s = r(l) === l && e(l) !== l);
28
28
  }
29
29
  return t;
30
- }, C = (t, e) => (d.lastIndex = 0, t.replace(d, (r) => e(r))), S = (t, e) => (g.lastIndex = 0, h.lastIndex = 0, t.replace(g, (r, o) => e(o)).replace(h, (r) => e(r)));
30
+ }, E = (t, e) => (u.lastIndex = 0, t.replace(u, (r) => e(r))), C = (t, e) => (g.lastIndex = 0, h.lastIndex = 0, t.replace(g, (r, o) => e(o)).replace(h, (r) => e(r)));
31
31
  function p(t, e) {
32
32
  if (!(typeof t == "string" || Array.isArray(t)))
33
33
  throw new TypeError("Expected the input to be `string | string[]`");
@@ -38,9 +38,9 @@ function p(t, e) {
38
38
  }, Array.isArray(t) ? t = t.map((s) => s.trim()).filter((s) => s.length).join("-") : t = t.trim(), t.length === 0)
39
39
  return "";
40
40
  const r = e.locale === !1 ? (s) => s.toLowerCase() : (s) => s.toLocaleLowerCase(e.locale), o = e.locale === !1 ? (s) => s.toUpperCase() : (s) => s.toLocaleUpperCase(e.locale);
41
- return t.length === 1 ? u.test(t) ? "" : e.pascalCase ? o(t) : r(t) : (t !== r(t) && (t = w(t, r, o, e.preserveConsecutiveUppercase)), t = t.replace(A, ""), t = e.preserveConsecutiveUppercase ? C(t, r) : r(t), e.pascalCase && (t = o(t.charAt(0)) + t.slice(1)), S(t, o));
41
+ return t.length === 1 ? d.test(t) ? "" : e.pascalCase ? o(t) : r(t) : (t !== r(t) && (t = A(t, r, o, e.preserveConsecutiveUppercase)), t = t.replace(T, ""), t = e.preserveConsecutiveUppercase ? E(t, r) : r(t), e.pascalCase && (t = o(t.charAt(0)) + t.slice(1)), C(t, o));
42
42
  }
43
- function R(t) {
43
+ function w(t) {
44
44
  const e = "virtual:storyblok-components", r = "\0" + e;
45
45
  return {
46
46
  name: "vite-plugin-storyblok-components",
@@ -50,54 +50,46 @@ function R(t) {
50
50
  },
51
51
  async load(o) {
52
52
  if (o === r) {
53
- const n = [];
53
+ const a = [];
54
54
  for await (const [s, i] of Object.entries(t)) {
55
55
  const { id: c } = await this.resolve("/src/" + i + ".astro");
56
- n.push(`import ${p(s)} from "${c}"`);
56
+ a.push(`import ${p(s)} from "${c}"`);
57
57
  }
58
- return `${n.join(";")};export default {${Object.keys(t).map((s) => p(s)).join(",")}}`;
58
+ return `${a.join(";")};export default {${Object.keys(t).map((s) => p(s)).join(",")}}`;
59
59
  }
60
60
  }
61
61
  };
62
62
  }
63
- var _ = Object.defineProperty, f = Object.getOwnPropertySymbols, x = Object.prototype.hasOwnProperty, $ = Object.prototype.propertyIsEnumerable, b = (t, e, r) => e in t ? _(t, e, { enumerable: !0, configurable: !0, writable: !0, value: r }) : t[e] = r, O = (t, e) => {
64
- for (var r in e || (e = {}))
65
- x.call(e, r) && b(t, r, e[r]);
66
- if (f)
67
- for (var r of f(e))
68
- $.call(e, r) && b(t, r, e[r]);
69
- return t;
70
- };
71
- let y = !1;
72
- const m = [], P = (t) => new Promise((e, r) => {
73
- if (typeof window > "u" || (window.storyblokRegisterEvent = (n) => {
63
+ let f = !1;
64
+ const b = [], S = (t) => new Promise((e, r) => {
65
+ if (typeof window > "u" || (window.storyblokRegisterEvent = (a) => {
74
66
  if (window.location === window.parent.location) {
75
67
  console.warn("You are not in Draft Mode or in the Visual Editor.");
76
68
  return;
77
69
  }
78
- y ? n() : m.push(n);
70
+ f ? a() : b.push(a);
79
71
  }, document.getElementById("storyblok-javascript-bridge")))
80
72
  return;
81
73
  const o = document.createElement("script");
82
- o.async = !0, o.src = t, o.id = "storyblok-javascript-bridge", o.onerror = (n) => r(n), o.onload = (n) => {
83
- m.forEach((s) => s()), y = !0, e(n);
74
+ o.async = !0, o.src = t, o.id = "storyblok-javascript-bridge", o.onerror = (a) => r(a), o.onload = (a) => {
75
+ b.forEach((s) => s()), f = !0, e(a);
84
76
  }, document.getElementsByTagName("head")[0].appendChild(o);
85
77
  });
86
- var N = Object.defineProperty, L = (t, e, r) => e in t ? N(t, e, { enumerable: !0, configurable: !0, writable: !0, value: r }) : t[e] = r, k = (t, e, r) => (L(t, typeof e != "symbol" ? e + "" : e, r), r);
87
- const j = function(t, e) {
78
+ var $ = Object.defineProperty, R = (t, e, r) => e in t ? $(t, e, { enumerable: !0, configurable: !0, writable: !0, value: r }) : t[e] = r, y = (t, e, r) => (R(t, typeof e != "symbol" ? e + "" : e, r), r);
79
+ const x = function(t, e) {
88
80
  const r = {};
89
81
  for (const o in t) {
90
- const n = t[o];
91
- e.indexOf(o) > -1 && n !== null && (r[o] = n);
82
+ const a = t[o];
83
+ e.indexOf(o) > -1 && a !== null && (r[o] = a);
92
84
  }
93
85
  return r;
94
- }, M = (t) => t === "email", U = () => ({
86
+ }, N = (t) => t === "email", L = () => ({
95
87
  singleTag: "hr"
96
- }), D = () => ({
88
+ }), j = () => ({
97
89
  tag: "blockquote"
98
- }), B = () => ({
90
+ }), O = () => ({
99
91
  tag: "ul"
100
- }), z = (t) => ({
92
+ }), _ = (t) => ({
101
93
  tag: [
102
94
  "pre",
103
95
  {
@@ -105,38 +97,38 @@ const j = function(t, e) {
105
97
  attrs: t.attrs
106
98
  }
107
99
  ]
108
- }), F = () => ({
100
+ }), P = () => ({
109
101
  singleTag: "br"
110
- }), V = (t) => ({
102
+ }), M = (t) => ({
111
103
  tag: `h${t.attrs.level}`
112
- }), q = (t) => ({
104
+ }), U = (t) => ({
113
105
  singleTag: [
114
106
  {
115
107
  tag: "img",
116
- attrs: j(t.attrs, ["src", "alt", "title"])
108
+ attrs: x(t.attrs, ["src", "alt", "title"])
117
109
  }
118
110
  ]
119
- }), J = () => ({
111
+ }), D = () => ({
120
112
  tag: "li"
121
- }), G = () => ({
113
+ }), B = () => ({
122
114
  tag: "ol"
123
- }), K = () => ({
115
+ }), z = () => ({
124
116
  tag: "p"
125
- }), H = () => ({
117
+ }), F = () => ({
126
118
  tag: "b"
127
- }), W = () => ({
119
+ }), q = () => ({
128
120
  tag: "strike"
129
- }), Y = () => ({
121
+ }), J = () => ({
130
122
  tag: "u"
131
- }), Q = () => ({
123
+ }), V = () => ({
132
124
  tag: "strong"
133
- }), X = () => ({
125
+ }), K = () => ({
134
126
  tag: "code"
135
- }), Z = () => ({
127
+ }), G = () => ({
136
128
  tag: "i"
137
- }), ee = (t) => {
138
- const e = O({}, t.attrs), { linktype: r = "url" } = t.attrs;
139
- return M(r) && (e.href = `mailto:${e.href}`), e.anchor && (e.href = `${e.href}#${e.anchor}`, delete e.anchor), {
129
+ }), Y = (t) => {
130
+ const e = { ...t.attrs }, { linktype: r = "url" } = t.attrs;
131
+ return N(r) && (e.href = `mailto:${e.href}`), e.anchor && (e.href = `${e.href}#${e.anchor}`, delete e.anchor), {
140
132
  tag: [
141
133
  {
142
134
  tag: "a",
@@ -144,37 +136,37 @@ const j = function(t, e) {
144
136
  }
145
137
  ]
146
138
  };
147
- }, te = (t) => ({
139
+ }, H = (t) => ({
148
140
  tag: [
149
141
  {
150
142
  tag: "span",
151
143
  attrs: t.attrs
152
144
  }
153
145
  ]
154
- }), re = {
146
+ }), Q = {
155
147
  nodes: {
156
- horizontal_rule: U,
157
- blockquote: D,
158
- bullet_list: B,
159
- code_block: z,
160
- hard_break: F,
161
- heading: V,
162
- image: q,
163
- list_item: J,
164
- ordered_list: G,
165
- paragraph: K
148
+ horizontal_rule: L,
149
+ blockquote: j,
150
+ bullet_list: O,
151
+ code_block: _,
152
+ hard_break: P,
153
+ heading: M,
154
+ image: U,
155
+ list_item: D,
156
+ ordered_list: B,
157
+ paragraph: z
166
158
  },
167
159
  marks: {
168
- bold: H,
169
- strike: W,
170
- underline: Y,
171
- strong: Q,
172
- code: X,
173
- italic: Z,
174
- link: ee,
175
- styled: te
160
+ bold: F,
161
+ strike: q,
162
+ underline: J,
163
+ strong: V,
164
+ code: K,
165
+ italic: G,
166
+ link: Y,
167
+ styled: H
176
168
  }
177
- }, oe = function(t) {
169
+ }, W = function(t) {
178
170
  const e = {
179
171
  "&": "&amp;",
180
172
  "<": "&lt;",
@@ -182,11 +174,11 @@ const j = function(t, e) {
182
174
  '"': "&quot;",
183
175
  "'": "&#39;"
184
176
  }, r = /[&<>"']/g, o = RegExp(r.source);
185
- return t && o.test(t) ? t.replace(r, (n) => e[n]) : t;
177
+ return t && o.test(t) ? t.replace(r, (a) => e[a]) : t;
186
178
  };
187
- class se {
179
+ class Z {
188
180
  constructor(e) {
189
- k(this, "marks"), k(this, "nodes"), e || (e = re), this.marks = e.marks || [], this.nodes = e.nodes || [];
181
+ y(this, "marks"), y(this, "nodes"), e || (e = Q), this.marks = e.marks || [], this.nodes = e.nodes || [];
190
182
  }
191
183
  addNode(e, r) {
192
184
  this.nodes[e] = r;
@@ -201,19 +193,21 @@ class se {
201
193
  r += this.renderNode(o);
202
194
  }), r;
203
195
  }
204
- return console.warn("The render method must receive an object with a content field, which is an array"), "";
196
+ return console.warn(
197
+ "The render method must receive an object with a content field, which is an array"
198
+ ), "";
205
199
  }
206
200
  renderNode(e) {
207
201
  const r = [];
208
- e.marks && e.marks.forEach((n) => {
209
- const s = this.getMatchingMark(n);
202
+ e.marks && e.marks.forEach((a) => {
203
+ const s = this.getMatchingMark(a);
210
204
  s && r.push(this.renderOpeningTag(s.tag));
211
205
  });
212
206
  const o = this.getMatchingNode(e);
213
- return o && o.tag && r.push(this.renderOpeningTag(o.tag)), e.content ? e.content.forEach((n) => {
214
- r.push(this.renderNode(n));
215
- }) : e.text ? r.push(oe(e.text)) : o && o.singleTag ? r.push(this.renderTag(o.singleTag, " /")) : o && o.html && r.push(o.html), o && o.tag && r.push(this.renderClosingTag(o.tag)), e.marks && e.marks.slice(0).reverse().forEach((n) => {
216
- const s = this.getMatchingMark(n);
207
+ return o && o.tag && r.push(this.renderOpeningTag(o.tag)), e.content ? e.content.forEach((a) => {
208
+ r.push(this.renderNode(a));
209
+ }) : e.text ? r.push(W(e.text)) : o && o.singleTag ? r.push(this.renderTag(o.singleTag, " /")) : o && o.html && r.push(o.html), o && o.tag && r.push(this.renderClosingTag(o.tag)), e.marks && e.marks.slice(0).reverse().forEach((a) => {
210
+ const s = this.getMatchingMark(a);
217
211
  s && r.push(this.renderClosingTag(s.tag));
218
212
  }), r.join("");
219
213
  }
@@ -222,13 +216,13 @@ class se {
222
216
  if (o.constructor === String)
223
217
  return `<${o}${r}>`;
224
218
  {
225
- let n = `<${o.tag}`;
219
+ let a = `<${o.tag}`;
226
220
  if (o.attrs)
227
221
  for (const s in o.attrs) {
228
222
  const i = o.attrs[s];
229
- i !== null && (n += ` ${s}="${i}"`);
223
+ i !== null && (a += ` ${s}="${i}"`);
230
224
  }
231
- return `${n}${r}>`;
225
+ return `${a}${r}>`;
232
226
  }
233
227
  }).join("");
234
228
  }
@@ -249,39 +243,43 @@ class se {
249
243
  return r(e);
250
244
  }
251
245
  }
252
- var ce = (t) => {
246
+ const oe = (t) => {
253
247
  if (typeof t != "object" || typeof t._editable > "u")
254
248
  return {};
255
- const e = JSON.parse(t._editable.replace(/^<!--#storyblok#/, "").replace(/-->$/, ""));
249
+ const e = JSON.parse(
250
+ t._editable.replace(/^<!--#storyblok#/, "").replace(/-->$/, "")
251
+ );
256
252
  return {
257
253
  "data-blok-c": JSON.stringify(e),
258
254
  "data-blok-uid": e.id + "-" + e.uid
259
255
  };
260
256
  };
261
- let ne;
262
- const ae = "https://app.storyblok.com/f/storyblok-v2-latest.js", le = (t, e) => {
257
+ let X;
258
+ const ee = "https://app.storyblok.com/f/storyblok-v2-latest.js", te = (t, e) => {
263
259
  t.addNode("blok", (r) => {
264
260
  let o = "";
265
- return r.attrs.body.forEach((n) => {
266
- o += e(n.component, n);
261
+ return r.attrs.body.forEach((a) => {
262
+ o += e(a.component, a);
267
263
  }), {
268
264
  html: o
269
265
  };
270
266
  });
271
- }, ie = (t, e, r) => {
272
- let o = r || ne;
267
+ }, re = (t, e, r) => {
268
+ let o = r || X;
273
269
  if (!o) {
274
- console.error("Please initialize the Storyblok SDK before calling the renderRichText function");
270
+ console.error(
271
+ "Please initialize the Storyblok SDK before calling the renderRichText function"
272
+ );
275
273
  return;
276
274
  }
277
- return t === "" ? "" : t ? (e && (o = new se(e.schema), e.resolver && le(o, e.resolver)), o.render(t)) : (console.warn(`${t} is not a valid Richtext object. This might be because the value of the richtext field is empty.
275
+ return t === "" ? "" : t ? (e && (o = new Z(e.schema), e.resolver && te(o, e.resolver)), o.render(t)) : (console.warn(`${t} is not a valid Richtext object. This might be because the value of the richtext field is empty.
278
276
 
279
277
  For more info about the richtext object check https://github.com/storyblok/storyblok-js#rendering-rich-text`), "");
280
- }, ue = () => P(ae);
281
- function de() {
278
+ }, se = () => S(ee);
279
+ function ae() {
282
280
  return globalThis.storyblokApiInstance || console.error("storyblokApiInstance has not been initialized correctly"), globalThis.storyblokApiInstance;
283
281
  }
284
- function ge(t, e) {
282
+ function ne(t, e) {
285
283
  const r = globalThis.storyblokApiInstance.richTextResolver;
286
284
  if (!r) {
287
285
  console.error(
@@ -289,9 +287,9 @@ function ge(t, e) {
289
287
  );
290
288
  return;
291
289
  }
292
- return ie(t, e, r);
290
+ return re(t, e, r);
293
291
  }
294
- function he(t) {
292
+ function le(t) {
295
293
  const e = {
296
294
  useCustomApi: !1,
297
295
  bridge: !0,
@@ -304,12 +302,12 @@ function he(t) {
304
302
  o({
305
303
  vite: {
306
304
  plugins: [
307
- I(
305
+ m(
308
306
  e.accessToken,
309
307
  e.useCustomApi,
310
308
  e.apiOptions
311
309
  ),
312
- R(e.components)
310
+ w(e.components)
313
311
  ]
314
312
  }
315
313
  }), r(
@@ -339,11 +337,11 @@ function he(t) {
339
337
  };
340
338
  }
341
339
  export {
342
- se as RichTextResolver,
343
- re as RichTextSchema,
344
- he as default,
345
- ue as loadStoryblokBridge,
346
- ge as renderRichText,
347
- ce as storyblokEditable,
348
- de as useStoryblokApi
340
+ Z as RichTextResolver,
341
+ Q as RichTextSchema,
342
+ le as default,
343
+ se as loadStoryblokBridge,
344
+ ne as renderRichText,
345
+ oe as storyblokEditable,
346
+ ae as useStoryblokApi
349
347
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@storyblok/astro",
3
- "version": "2.0.3",
3
+ "version": "2.0.5",
4
4
  "description": "Official Astro integration for the Storyblok Headless CMS",
5
5
  "main": "./dist/storyblok-astro.js",
6
6
  "module": "./dist/storyblok-astro.mjs",
@@ -28,7 +28,7 @@
28
28
  "prepublishOnly": "npm run build && cp ../README.md ./"
29
29
  },
30
30
  "dependencies": {
31
- "@storyblok/js": "^2.0.6",
31
+ "@storyblok/js": "^2.0.10",
32
32
  "camelcase": "^7.0.1"
33
33
  },
34
34
  "devDependencies": {