@builder.io/sdk-react-nextjs 0.14.11 → 0.14.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/lib/browser/USE_CLIENT_BUNDLE-2bbdea6c.cjs +21 -0
  2. package/lib/browser/{USE_CLIENT_BUNDLE-3b942ae2.js → USE_CLIENT_BUNDLE-c82c8713.js} +202 -211
  3. package/lib/{edge/USE_SERVER_BUNDLE-812e699d.cjs → browser/USE_SERVER_BUNDLE-62b1c4be.cjs} +1 -1
  4. package/lib/{edge/USE_SERVER_BUNDLE-ef053564.js → browser/USE_SERVER_BUNDLE-c1a3d2f3.js} +1 -1
  5. package/lib/browser/{bundle-260ced55.cjs → bundle-4a0b6a84.cjs} +2 -2
  6. package/lib/browser/{bundle-76453d46.js → bundle-98fafe36.js} +6 -6
  7. package/lib/browser/index.cjs +1 -1
  8. package/lib/browser/index.mjs +5 -5
  9. package/lib/{node/USE_CLIENT_BUNDLE-64c45aac.js → edge/USE_CLIENT_BUNDLE-75473f15.js} +202 -211
  10. package/lib/edge/USE_CLIENT_BUNDLE-cf915435.cjs +21 -0
  11. package/lib/{node/USE_SERVER_BUNDLE-299ebfe7.cjs → edge/USE_SERVER_BUNDLE-0b27a689.cjs} +1 -1
  12. package/lib/{node/USE_SERVER_BUNDLE-ed1c8346.js → edge/USE_SERVER_BUNDLE-2a938215.js} +1 -1
  13. package/lib/edge/{bundle-19c1b23d.js → bundle-85357ad0.js} +6 -6
  14. package/lib/edge/{bundle-c186261f.cjs → bundle-eb2a536e.cjs} +2 -2
  15. package/lib/edge/index.cjs +1 -1
  16. package/lib/edge/index.mjs +5 -5
  17. package/lib/node/USE_CLIENT_BUNDLE-75f2f077.cjs +21 -0
  18. package/lib/{edge/USE_CLIENT_BUNDLE-42619af6.js → node/USE_CLIENT_BUNDLE-fb4f77f0.js} +202 -211
  19. package/lib/{browser/USE_SERVER_BUNDLE-ec83933e.cjs → node/USE_SERVER_BUNDLE-16129827.cjs} +1 -1
  20. package/lib/{browser/USE_SERVER_BUNDLE-0fe135ea.js → node/USE_SERVER_BUNDLE-63519b03.js} +1 -1
  21. package/lib/node/{bundle-b5555d47.cjs → bundle-2c8e3747.cjs} +2 -2
  22. package/lib/node/{bundle-1a5c4f3c.js → bundle-5867f6cd.js} +6 -6
  23. package/lib/node/index.cjs +1 -1
  24. package/lib/node/index.mjs +5 -5
  25. package/package.json +1 -1
  26. package/types/cjs/constants/sdk-version.d.ts +1 -1
  27. package/types/esm/constants/sdk-version.d.ts +1 -1
  28. package/lib/browser/USE_CLIENT_BUNDLE-4cb813ce.cjs +0 -21
  29. package/lib/edge/USE_CLIENT_BUNDLE-dfe5c354.cjs +0 -21
  30. package/lib/node/USE_CLIENT_BUNDLE-7dfe38c5.cjs +0 -21
@@ -1 +1 @@
1
- "use server";"use strict";const n=require("./bundle-c186261f.cjs");async function s({key:e,value:t}){return n.init(),globalThis._BUILDER_PREVIEW_LRU_CACHE.set(e,t),{[e]:t}}exports.postPreviewContent=s;
1
+ "use server";"use strict";const n=require("./bundle-4a0b6a84.cjs");async function s({key:e,value:t}){return n.init(),globalThis._BUILDER_PREVIEW_LRU_CACHE.set(e,t),{[e]:t}}exports.postPreviewContent=s;
@@ -1,5 +1,5 @@
1
1
  "use server";
2
- import { v as s } from "./bundle-19c1b23d.js";
2
+ import { v as s } from "./bundle-98fafe36.js";
3
3
  async function n({
4
4
  key: t,
5
5
  value: r
@@ -1,4 +1,4 @@
1
- "use strict";const c=require("react/jsx-runtime");require("react");const Ke=require("lru-cache"),v=require("./USE_CLIENT_BUNDLE-4cb813ce.cjs");require("next/navigation");const ze=new Set(["area","base","br","col","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"]),qe=e=>typeof e=="string"&&ze.has(e.toLowerCase()),E="rsc",O=()=>{switch(E){case"react":case"reactNative":case"rsc":return"className";case"svelte":case"vue":case"solid":case"qwik":return"class"}};function Je(e){var t;return{...(t=e.component)==null?void 0:t.options,...e.options,builderBlock:e}}const A="[Builder.io]: ",k={log:(...e)=>console.log(A,...e),error:(...e)=>console.error(A,...e),warn:(...e)=>console.warn(A,...e),debug:(...e)=>console.debug(A,...e)};function y(){return typeof window<"u"&&typeof document<"u"}const Ye=e=>{const t={};return e.forEach((n,o)=>{t[o]=n}),t},de=e=>e instanceof URLSearchParams?Ye(e):e,ue=e=>typeof e=="string"?e:e instanceof URLSearchParams?e.toString():new URLSearchParams(e).toString();function Ge(){return y()&&window.self!==window.top}function N(e){return Ge()&&ue(e||window.location.search).indexOf("builder.frameEditing=")!==-1}const Qe=()=>{if(y()){const e=new URL(location.href);return e.pathname===""&&(e.pathname="/"),e}else return console.warn("Cannot get location for tracking in non-browser environment"),null},Xe=()=>typeof navigator=="object"&&navigator.userAgent||"",me=()=>{const e=Xe(),t={Android(){return e.match(/Android/i)},BlackBerry(){return e.match(/BlackBerry/i)},iOS(){return e.match(/iPhone|iPod/i)},Opera(){return e.match(/Opera Mini/i)},Windows(){return e.match(/IEMobile/i)||e.match(/WPDesktop/i)},any(){return t.Android()||t.BlackBerry()||t.iOS()||t.Opera()||t.Windows()||E==="reactNative"}},n=e.match(/Tablet|iPad/i),o=Qe();return{urlPath:o==null?void 0:o.pathname,host:(o==null?void 0:o.host)||(o==null?void 0:o.hostname),device:n?"tablet":t.any()?"mobile":"desktop"}},Ze=({builder:e,context:t,event:n,state:o})=>Object.entries({state:o,Builder:e,builder:e,context:t,event:n}),et=()=>({isEditing:N(),isBrowser:y(),isServer:!y(),getUserAttributes:()=>me()}),tt=(e,{isExpression:t=!0})=>t&&!(e.includes(";")||e.includes(" return ")||e.trim().startsWith("return "))?`return (${e});`:e,G=({code:e,builder:t,context:n,event:o,localState:i,rootSetState:r,rootState:a})=>{const s=Ze({builder:t,context:n,event:o,state:fe({rootState:a,localState:i,rootSetState:r})});return new Function(...s.map(([l])=>l),e)(...s.map(([,l])=>l))};function fe({rootState:e,localState:t,rootSetState:n}){return new Proxy(e,{get:(o,i)=>{if(t&&i in t)return t[i];const r=o[i];return typeof r=="object"&&r!==null?fe({rootState:r,localState:void 0,rootSetState:n?a=>{o[i]=a,n(o)}:void 0}):r},set:(o,i,r)=>{if(t&&i in t)throw new Error("Writing to local state is not allowed as it is read-only.");return o[i]=r,n==null||n(o),!0}})}const w=e=>e!=null;function nt(){var e;return typeof process<"u"&&w((e=process==null?void 0:process.versions)==null?void 0:e.node)}const ot=()=>{var o;if(!nt())return!1;const e=process.arch==="arm64",t=process.version.startsWith("v20"),n=(o=process.env.NODE_OPTIONS)==null?void 0:o.includes("--no-node-snapshot");return e&&t&&!n?(k.log("Skipping usage of `isolated-vm` to avoid crashes in Node v20 on an arm64 machine.\n If you would like to use the `isolated-vm` package on this machine, please provide the `NODE_OPTIONS=--no-node-snapshot` config to your Node process.\n See https://github.com/BuilderIO/builder/blob/main/packages/sdks/README.md#node-v20--m1-macs-apple-silicon-support for more information.\n "),!0):!1},it=e=>(y()||ot(),G(e)),K=class R{static getCacheKey(t){return JSON.stringify({...t,event:t.event?Math.random():void 0})}static getCachedValue(t){return R.cache.get(t)}static setCachedValue(t,n){R.cache.size>20&&R.cache.delete(R.cache.keys().next().value),R.cache.set(t,{value:n})}};K.cacheLimit=20;K.cache=new Map;let V=K;function $({code:e,context:t,localState:n,rootState:o,rootSetState:i,event:r,isExpression:a=!0,enableCache:s}){if(e===""){k.warn("Skipping evaluation of empty code block.");return}const l={code:tt(e,{isExpression:a}),builder:et(),context:t,event:r,rootSetState:i,rootState:o,localState:n};if(s){const u=V.getCacheKey(l),p=V.getCachedValue(u);if(p)return p.value}try{const u=it(l);if(s){const p=V.getCacheKey(l);V.setCachedValue(p,u)}return u}catch(u){k.error("Failed code evaluation: "+u.message,{code:e});return}}const P=e=>JSON.parse(JSON.stringify(e)),rt=(e,t,n)=>{if(Object(e)!==e)return e;const o=Array.isArray(t)?t:t.toString().match(/[^.[\]]+/g);return o.slice(0,-1).reduce((i,r,a)=>Object(i[r])===i[r]?i[r]:i[r]=Math.abs(Number(o[a+1]))>>0===+o[a+1]?[]:{},e)[o[o.length-1]]=n,e};const at=({block:e,context:t,localState:n,rootState:o,rootSetState:i})=>{if(!e.bindings)return e;const r=P(e),a={...r,properties:{...r.properties},actions:{...r.actions}};for(const s in e.bindings){const l=e.bindings[s],u=$({code:l,localState:n,rootState:o,rootSetState:i,context:t,enableCache:!0});rt(a,s,u)}return a};function W({block:e,context:t,shouldEvaluateBindings:n,localState:o,rootState:i,rootSetState:r}){const a=e;return n?at({block:a,localState:o,rootState:i,rootSetState:r,context:t}):a}const st=e=>e.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g,"$1-$2").toLowerCase(),he=e=>Object.entries(e).map(([n,o])=>{if(typeof o=="string")return`${st(n)}: ${o};`}).filter(w),ct=e=>he(e).join(`
1
+ "use strict";const c=require("react/jsx-runtime");require("react");const Ke=require("lru-cache"),v=require("./USE_CLIENT_BUNDLE-2bbdea6c.cjs");require("next/navigation");const ze=new Set(["area","base","br","col","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"]),qe=e=>typeof e=="string"&&ze.has(e.toLowerCase()),E="rsc",O=()=>{switch(E){case"react":case"reactNative":case"rsc":return"className";case"svelte":case"vue":case"solid":case"qwik":return"class"}};function Je(e){var t;return{...(t=e.component)==null?void 0:t.options,...e.options,builderBlock:e}}const A="[Builder.io]: ",k={log:(...e)=>console.log(A,...e),error:(...e)=>console.error(A,...e),warn:(...e)=>console.warn(A,...e),debug:(...e)=>console.debug(A,...e)};function y(){return typeof window<"u"&&typeof document<"u"}const Ye=e=>{const t={};return e.forEach((n,o)=>{t[o]=n}),t},de=e=>e instanceof URLSearchParams?Ye(e):e,ue=e=>typeof e=="string"?e:e instanceof URLSearchParams?e.toString():new URLSearchParams(e).toString();function Ge(){return y()&&window.self!==window.top}function N(e){return Ge()&&ue(e||window.location.search).indexOf("builder.frameEditing=")!==-1}const Qe=()=>{if(y()){const e=new URL(location.href);return e.pathname===""&&(e.pathname="/"),e}else return console.warn("Cannot get location for tracking in non-browser environment"),null},Xe=()=>typeof navigator=="object"&&navigator.userAgent||"",me=()=>{const e=Xe(),t={Android(){return e.match(/Android/i)},BlackBerry(){return e.match(/BlackBerry/i)},iOS(){return e.match(/iPhone|iPod/i)},Opera(){return e.match(/Opera Mini/i)},Windows(){return e.match(/IEMobile/i)||e.match(/WPDesktop/i)},any(){return t.Android()||t.BlackBerry()||t.iOS()||t.Opera()||t.Windows()||E==="reactNative"}},n=e.match(/Tablet|iPad/i),o=Qe();return{urlPath:o==null?void 0:o.pathname,host:(o==null?void 0:o.host)||(o==null?void 0:o.hostname),device:n?"tablet":t.any()?"mobile":"desktop"}},Ze=({builder:e,context:t,event:n,state:o})=>Object.entries({state:o,Builder:e,builder:e,context:t,event:n}),et=()=>({isEditing:N(),isBrowser:y(),isServer:!y(),getUserAttributes:()=>me()}),tt=(e,{isExpression:t=!0})=>t&&!(e.includes(";")||e.includes(" return ")||e.trim().startsWith("return "))?`return (${e});`:e,G=({code:e,builder:t,context:n,event:o,localState:i,rootSetState:r,rootState:a})=>{const s=Ze({builder:t,context:n,event:o,state:fe({rootState:a,localState:i,rootSetState:r})});return new Function(...s.map(([l])=>l),e)(...s.map(([,l])=>l))};function fe({rootState:e,localState:t,rootSetState:n}){return new Proxy(e,{get:(o,i)=>{if(t&&i in t)return t[i];const r=o[i];return typeof r=="object"&&r!==null?fe({rootState:r,localState:void 0,rootSetState:n?a=>{o[i]=a,n(o)}:void 0}):r},set:(o,i,r)=>{if(t&&i in t)throw new Error("Writing to local state is not allowed as it is read-only.");return o[i]=r,n==null||n(o),!0}})}const w=e=>e!=null;function nt(){var e;return typeof process<"u"&&w((e=process==null?void 0:process.versions)==null?void 0:e.node)}const ot=()=>{var o;if(!nt())return!1;const e=process.arch==="arm64",t=process.version.startsWith("v20"),n=(o=process.env.NODE_OPTIONS)==null?void 0:o.includes("--no-node-snapshot");return e&&t&&!n?(k.log("Skipping usage of `isolated-vm` to avoid crashes in Node v20 on an arm64 machine.\n If you would like to use the `isolated-vm` package on this machine, please provide the `NODE_OPTIONS=--no-node-snapshot` config to your Node process.\n See https://github.com/BuilderIO/builder/blob/main/packages/sdks/README.md#node-v20--m1-macs-apple-silicon-support for more information.\n "),!0):!1},it=e=>(y()||ot(),G(e)),K=class R{static getCacheKey(t){return JSON.stringify({...t,event:t.event?Math.random():void 0})}static getCachedValue(t){return R.cache.get(t)}static setCachedValue(t,n){R.cache.size>20&&R.cache.delete(R.cache.keys().next().value),R.cache.set(t,{value:n})}};K.cacheLimit=20;K.cache=new Map;let V=K;function $({code:e,context:t,localState:n,rootState:o,rootSetState:i,event:r,isExpression:a=!0,enableCache:s}){if(e===""){k.warn("Skipping evaluation of empty code block.");return}const l={code:tt(e,{isExpression:a}),builder:et(),context:t,event:r,rootSetState:i,rootState:o,localState:n};if(s){const u=V.getCacheKey(l),p=V.getCachedValue(u);if(p)return p.value}try{const u=it(l);if(s){const p=V.getCacheKey(l);V.setCachedValue(p,u)}return u}catch(u){k.error("Failed code evaluation: "+u.message,{code:e});return}}const P=e=>JSON.parse(JSON.stringify(e)),rt=(e,t,n)=>{if(Object(e)!==e)return e;const o=Array.isArray(t)?t:t.toString().match(/[^.[\]]+/g);return o.slice(0,-1).reduce((i,r,a)=>Object(i[r])===i[r]?i[r]:i[r]=Math.abs(Number(o[a+1]))>>0===+o[a+1]?[]:{},e)[o[o.length-1]]=n,e};const at=({block:e,context:t,localState:n,rootState:o,rootSetState:i})=>{if(!e.bindings)return e;const r=P(e),a={...r,properties:{...r.properties},actions:{...r.actions}};for(const s in e.bindings){const l=e.bindings[s],u=$({code:l,localState:n,rootState:o,rootSetState:i,context:t,enableCache:!0});rt(a,s,u)}return a};function W({block:e,context:t,shouldEvaluateBindings:n,localState:o,rootState:i,rootSetState:r}){const a=e;return n?at({block:a,localState:o,rootState:i,rootSetState:r,context:t}):a}const st=e=>e.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g,"$1-$2").toLowerCase(),he=e=>Object.entries(e).map(([n,o])=>{if(typeof o=="string")return`${st(n)}: ${o};`}).filter(w),ct=e=>he(e).join(`
2
2
  `),D=({mediaQuery:e,className:t,styles:n})=>{const o=`.${t} {
3
3
  ${ct(n)}
4
4
  }`;return e?`${e} {
@@ -131,7 +131,7 @@
131
131
  )`,cn=({contentId:e,variationId:t})=>`window.${Re}(
132
132
  "${t}", "${e}", ${Pe}
133
133
  )`;function H(e){return c.jsx("script",{dangerouslySetInnerHTML:{__html:e.scriptStr},"data-id":e.id})}const ln=e=>{const t=e.get("preview"),n=e.get("overrides."+t);return n||k.warn("No previewed ID found in search params."),n};function Ae(){globalThis._BUILDER_PREVIEW_LRU_CACHE||(globalThis._BUILDER_PREVIEW_LRU_CACHE=new Ke.LRUCache({max:500,ttl:1e3*60*5}))}function dn(e){Ae();const t=ln(e);return typeof t=="string"?globalThis._BUILDER_PREVIEW_LRU_CACHE.get(t):void 0}function un(){return typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:globalThis}function mn(){const e=un().fetch;if(typeof e>"u")throw console.warn(`Builder SDK could not find a global fetch function. Make sure you have a polyfill for fetch in your project.
134
- For more information, read https://github.com/BuilderIO/this-package-uses-fetch`),new Error("Builder SDK could not find a global `fetch` function");return e}const Ve=mn();function j(e,t=null,n="."){return Object.keys(e).reduce((o,i)=>{const r=e[i],a=[t,i].filter(Boolean).join(n);return[typeof r=="object",r!==null,!(Array.isArray(r)&&r.length===0)].every(Boolean)?{...o,...j(r,a,n)}:{...o,[a]:r}},{})}const fn="v3",te="builder.",hn="options.",q=e=>{if(!e)return{};const t=de(e),n={};return Object.keys(t).forEach(o=>{if(o.startsWith(te)){const i=o.replace(te,"").replace(hn,"");n[i]=t[o]}}),n},pn=()=>{if(!y())return{};const e=new URLSearchParams(window.location.search);return q(e)},ne=e=>typeof e=="number"&&!isNaN(e)&&e>=0,J=e=>{const{limit:t=30,userAttributes:n,query:o,model:i,apiKey:r,enrich:a,locale:s,apiVersion:l=fn,fields:u,omit:p,offset:d,cacheSeconds:f,staleCacheSeconds:b,sort:h,includeUnpublished:m}=e;if(!r)throw new Error("Missing API key");if(!["v3"].includes(l))throw new Error(`Invalid apiVersion: expected 'v3', received '${l}'`);const S=t!==1,g=new URL(`https://cdn.builder.io/api/${l}/content/${i}`);if(g.searchParams.set("apiKey",r),g.searchParams.set("limit",String(t)),g.searchParams.set("noTraverse",String(S)),g.searchParams.set("includeRefs",String(!0)),s&&g.searchParams.set("locale",s),a&&g.searchParams.set("enrich",String(a)),g.searchParams.set("omit",p||"meta.componentsUsed"),u&&g.searchParams.set("fields",u),Number.isFinite(d)&&d>-1&&g.searchParams.set("offset",String(Math.floor(d))),typeof m=="boolean"&&g.searchParams.set("includeUnpublished",String(m)),f&&ne(f)&&g.searchParams.set("cacheSeconds",String(f)),b&&ne(b)&&g.searchParams.set("staleCacheSeconds",String(b)),h){const x=j({sort:h});for(const I in x)g.searchParams.set(I,JSON.stringify(x[I]))}const C={...pn(),...de(e.options||{})},T=j(C);for(const x in T)g.searchParams.set(x,String(T[x]));if(n&&g.searchParams.set("userAttributes",JSON.stringify(n)),o){const x=j({query:o});for(const I in x)g.searchParams.set(I,JSON.stringify(x[I]))}return g},gn=e=>"results"in e;async function Y(e){const t=await je({...e,limit:1});return t&&t[0]||null}const bn=async e=>{const t=J(e);return await(await(e.fetch??Ve)(t.href,e.fetchOptions)).json()},Be=async(e,t,n=J(e))=>{const o=F(e.canTrack);if(n.search.includes("preview=")){const r=[];for(const a of t.results){const s=dn(n.searchParams);r.push(s||a)}t.results=r}if(!o||!(y()||E==="reactNative"))return t.results;try{const r=[];for(const a of t.results)r.push(await Ft({item:a,canTrack:o}));t.results=r}catch(r){k.error("Could not process A/B tests. ",r)}return t.results};async function je(e){try{const t=J(e),n=await bn(e);return gn(n)?Be(e,n):(k.error("Error fetching data. ",{url:t,content:n,options:e}),null)}catch(t){return k.error("Error fetching data. ",t),null}}function yn(e){if(!y())return!1;const t=ue(e||window.location.search);return N(t)?!1:t.indexOf("builder.preview=")!==-1}function Sn(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){const t=Math.random()*16|0;return(e=="x"?t:t&3|8).toString(16)})}function We(){return Sn().replace(/-/g,"")}const Fe="builderSessionId",xn=async({canTrack:e})=>{if(!e)return;const t=await ke({name:Fe,canTrack:e});if(w(t))return t;{const n=kn();return vn({id:n,canTrack:e}),n}},kn=()=>We(),vn=({id:e,canTrack:t})=>ve({name:Fe,value:e,canTrack:t}),Oe=()=>y()&&typeof localStorage<"u"?localStorage:void 0,Cn=({key:e,canTrack:t})=>{var n;try{return t?(n=Oe())==null?void 0:n.getItem(e):void 0}catch(o){console.debug("[LocalStorage] GET error: ",o);return}},wn=({key:e,canTrack:t,value:n})=>{var o;try{t&&((o=Oe())==null||o.setItem(e,n))}catch(i){console.debug("[LocalStorage] SET error: ",i)}},Ne="builderVisitorId",In=({canTrack:e})=>{if(!e)return;const t=Cn({key:Ne,canTrack:e});if(w(t))return t;{const n=En();return Tn({id:n,canTrack:e}),n}},En=()=>We(),Tn=({id:e,canTrack:t})=>wn({key:Ne,value:e,canTrack:t}),Rn=async({canTrack:e})=>{if(!e)return{visitorId:void 0,sessionId:void 0};const t=await xn({canTrack:e}),n=In({canTrack:e});return{sessionId:t,visitorId:n}},Pn=async({type:e,canTrack:t,apiKey:n,metadata:o,...i})=>({type:e,data:{...i,metadata:{url:location.href,...o},...await Rn({canTrack:t}),userAttributes:me(),ownerId:n}});async function $e(e){if(!e.apiKey){k.error("Missing API key for track call. Please provide your API key.");return}if(e.canTrack&&!N()&&(y()||E==="reactNative"))return fetch("https://cdn.builder.io/api/v1/track",{method:"POST",body:JSON.stringify({events:[await Pn(e)]}),headers:{"content-type":"application/json"},mode:"cors"}).catch(t=>{console.error("Failed to track: ",t)})}const An=e=>$e({...e,canTrack:!0});function oe(e){return Math.round(e*1e3)/1e3}const Vn=(e,t,n=!0)=>{if(!(e instanceof HTMLElement))return null;let o=n?e:e.parentElement;do{if(!o)return null;if(t(o))return o}while(o=o.parentElement);return null},Bn=e=>Vn(e,t=>{const n=t.getAttribute("builder-id")||t.id;return(n==null?void 0:n.indexOf("builder-"))===0}),ie=({event:e,target:t})=>{const n=t.getBoundingClientRect(),o=e.clientX-n.left,i=e.clientY-n.top,r=oe(o/n.width),a=oe(i/n.height);return{x:r,y:a}},jn=e=>{const t=e.target,n=t&&Bn(t),o=(n==null?void 0:n.getAttribute("builder-id"))||(n==null?void 0:n.id);return{targetBuilderElement:o||void 0,metadata:{targetOffset:t?ie({event:e,target:t}):void 0,builderTargetOffset:n?ie({event:e,target:n}):void 0,builderElementIndex:n&&o?[].slice.call(document.getElementsByClassName(o)).indexOf(n):void 0}}},Wn=["*.beta.builder.io","beta.builder.io","builder.io","localhost","qa.builder.io"];function Le(e,t){const n=new URL(t.origin),o=n.hostname;return(e||Wn).findIndex(i=>i.startsWith("*.")?o.endsWith(i.slice(1)):i===o)>-1}const Fn="0.14.11",re={};function Ue(e,t){let n=re[e];if(n||(n=re[e]=[]),n.push(t),y()){const o={type:"builder.register",data:{type:e,info:t}};try{parent.postMessage(o,"*"),parent!==window&&window.postMessage(o,"*")}catch(i){console.debug("Could not postmessage",i)}}}const On=()=>{Ue("insertMenu",{name:"_default",default:!0,items:[{name:"Box"},{name:"Text"},{name:"Image"},{name:"Columns"},{name:"Core:Section"},{name:"Core:Button"},{name:"Embed"},{name:"Custom Code"}]})};let ae=!1;const _e=(e={})=>{var t,n;ae||(ae=!0,y()&&((t=window.parent)==null||t.postMessage({type:"builder.sdkInfo",data:{target:E,version:Fn,supportsPatchUpdates:!1,supportsAddBlockScoping:!0,supportsCustomBreakpoints:!0}},"*"),(n=window.parent)==null||n.postMessage({type:"builder.updateContent",data:{options:e}},"*"),window.addEventListener("message",o=>{var r,a;if(!Le(e.trustedHosts,o))return;const{data:i}=o;if(i!=null&&i.type)switch(i.type){case"builder.evaluate":{const s=i.data.text,l=i.data.arguments||[],u=i.data.id,p=new Function(s);let d,f=null;try{d=p.apply(null,l)}catch(b){f=b}f?(r=window.parent)==null||r.postMessage({type:"builder.evaluateError",data:{id:u,error:f.message}},"*"):d&&typeof d.then=="function"?d.then(b=>{var h;(h=window.parent)==null||h.postMessage({type:"builder.evaluateResult",data:{id:u,result:b}},"*")}).catch(console.error):(a=window.parent)==null||a.postMessage({type:"builder.evaluateResult",data:{result:d,id:u}},"*");break}}})))},De=({model:e,trustedHosts:t,callbacks:n})=>o=>{if(!Le(t,o))return;const{data:i}=o;if(i)switch(i.type){case"builder.configureSdk":{n.configureSdk(i.data);break}case"builder.triggerAnimation":{n.animation(i.data);break}case"builder.contentUpdate":{const r=i.data,a=r.key||r.alias||r.entry||r.modelName,s=r.data;a===e&&n.contentUpdate(s);break}}},Nn=(e,t,n)=>{if(!y)return k.warn("`subscribeToEditor` only works in the browser. It currently seems to be running on the server."),()=>{};_e();const o=De({callbacks:{contentUpdate:t,animation:()=>{},configureSdk:()=>{}},model:e,trustedHosts:n==null?void 0:n.trustedHosts});return window.addEventListener("message",o),()=>{window.removeEventListener("message",o)}};function se(e,...t){const n=Object(e);for(let o=1;o<arguments.length;o++){const i=arguments[o];if(i!=null)for(const r in i)Object.prototype.hasOwnProperty.call(i,r)&&(n[r]=i[r])}return n}const $n=e=>e?e.replace(/([A-Z])/g,t=>`-${t[0].toLowerCase()}`):"";function Ln(e){console.warn(`Cannot animate element: element with ID ${e} not found!`)}function Un(e,t){const n=_n(e),o=getComputedStyle(t),i=e.steps[0].styles,r=e.steps[e.steps.length-1].styles,a=[i,r];for(const s of a)for(const l of n)l in s||(s[l]=o[l])}function _n(e){const t=[];for(const n of e.steps)for(const o in n.styles)t.indexOf(o)===-1&&t.push(o);return t}function Dn(e){const t=Array.prototype.slice.call(document.getElementsByClassName(e.elementId||e.id||""));if(!t.length){Ln(e.elementId||e.id||"");return}Array.from(t).forEach(n=>{Un(e,n),n.style.transition="none",n.style.transitionDelay="0",se(n.style,e.steps[0].styles),setTimeout(()=>{n.style.transition=`all ${e.duration}s ${$n(e.easing)}`,e.delay&&(n.style.transitionDelay=e.delay+"s"),se(n.style,e.steps[1].styles),setTimeout(()=>{n.style.transition="",n.style.transitionDelay=""},(e.delay||0)*1e3+e.duration*1e3+100)})})}const Mn=e=>{var r;const t=e.family+(e.kind&&!e.kind.includes("#")?", "+e.kind:""),n=t.split(",")[0],o=e.fileUrl??((r=e==null?void 0:e.files)==null?void 0:r.regular);let i="";if(o&&t&&n&&(i+=`
134
+ For more information, read https://github.com/BuilderIO/this-package-uses-fetch`),new Error("Builder SDK could not find a global `fetch` function");return e}const Ve=mn();function j(e,t=null,n="."){return Object.keys(e).reduce((o,i)=>{const r=e[i],a=[t,i].filter(Boolean).join(n);return[typeof r=="object",r!==null,!(Array.isArray(r)&&r.length===0)].every(Boolean)?{...o,...j(r,a,n)}:{...o,[a]:r}},{})}const fn="v3",te="builder.",hn="options.",q=e=>{if(!e)return{};const t=de(e),n={};return Object.keys(t).forEach(o=>{if(o.startsWith(te)){const i=o.replace(te,"").replace(hn,"");n[i]=t[o]}}),n},pn=()=>{if(!y())return{};const e=new URLSearchParams(window.location.search);return q(e)},ne=e=>typeof e=="number"&&!isNaN(e)&&e>=0,J=e=>{const{limit:t=30,userAttributes:n,query:o,model:i,apiKey:r,enrich:a,locale:s,apiVersion:l=fn,fields:u,omit:p,offset:d,cacheSeconds:f,staleCacheSeconds:b,sort:h,includeUnpublished:m}=e;if(!r)throw new Error("Missing API key");if(!["v3"].includes(l))throw new Error(`Invalid apiVersion: expected 'v3', received '${l}'`);const S=t!==1,g=new URL(`https://cdn.builder.io/api/${l}/content/${i}`);if(g.searchParams.set("apiKey",r),g.searchParams.set("limit",String(t)),g.searchParams.set("noTraverse",String(S)),g.searchParams.set("includeRefs",String(!0)),s&&g.searchParams.set("locale",s),a&&g.searchParams.set("enrich",String(a)),g.searchParams.set("omit",p||"meta.componentsUsed"),u&&g.searchParams.set("fields",u),Number.isFinite(d)&&d>-1&&g.searchParams.set("offset",String(Math.floor(d))),typeof m=="boolean"&&g.searchParams.set("includeUnpublished",String(m)),f&&ne(f)&&g.searchParams.set("cacheSeconds",String(f)),b&&ne(b)&&g.searchParams.set("staleCacheSeconds",String(b)),h){const x=j({sort:h});for(const I in x)g.searchParams.set(I,JSON.stringify(x[I]))}const C={...pn(),...de(e.options||{})},T=j(C);for(const x in T)g.searchParams.set(x,String(T[x]));if(n&&g.searchParams.set("userAttributes",JSON.stringify(n)),o){const x=j({query:o});for(const I in x)g.searchParams.set(I,JSON.stringify(x[I]))}return g},gn=e=>"results"in e;async function Y(e){const t=await je({...e,limit:1});return t&&t[0]||null}const bn=async e=>{const t=J(e);return await(await(e.fetch??Ve)(t.href,e.fetchOptions)).json()},Be=async(e,t,n=J(e))=>{const o=F(e.canTrack);if(n.search.includes("preview=")){const r=[];for(const a of t.results){const s=dn(n.searchParams);r.push(s||a)}t.results=r}if(!o||!(y()||E==="reactNative"))return t.results;try{const r=[];for(const a of t.results)r.push(await Ft({item:a,canTrack:o}));t.results=r}catch(r){k.error("Could not process A/B tests. ",r)}return t.results};async function je(e){try{const t=J(e),n=await bn(e);return gn(n)?Be(e,n):(k.error("Error fetching data. ",{url:t,content:n,options:e}),null)}catch(t){return k.error("Error fetching data. ",t),null}}function yn(e){if(!y())return!1;const t=ue(e||window.location.search);return N(t)?!1:t.indexOf("builder.preview=")!==-1}function Sn(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){const t=Math.random()*16|0;return(e=="x"?t:t&3|8).toString(16)})}function We(){return Sn().replace(/-/g,"")}const Fe="builderSessionId",xn=async({canTrack:e})=>{if(!e)return;const t=await ke({name:Fe,canTrack:e});if(w(t))return t;{const n=kn();return vn({id:n,canTrack:e}),n}},kn=()=>We(),vn=({id:e,canTrack:t})=>ve({name:Fe,value:e,canTrack:t}),Oe=()=>y()&&typeof localStorage<"u"?localStorage:void 0,Cn=({key:e,canTrack:t})=>{var n;try{return t?(n=Oe())==null?void 0:n.getItem(e):void 0}catch(o){console.debug("[LocalStorage] GET error: ",o);return}},wn=({key:e,canTrack:t,value:n})=>{var o;try{t&&((o=Oe())==null||o.setItem(e,n))}catch(i){console.debug("[LocalStorage] SET error: ",i)}},Ne="builderVisitorId",In=({canTrack:e})=>{if(!e)return;const t=Cn({key:Ne,canTrack:e});if(w(t))return t;{const n=En();return Tn({id:n,canTrack:e}),n}},En=()=>We(),Tn=({id:e,canTrack:t})=>wn({key:Ne,value:e,canTrack:t}),Rn=async({canTrack:e})=>{if(!e)return{visitorId:void 0,sessionId:void 0};const t=await xn({canTrack:e}),n=In({canTrack:e});return{sessionId:t,visitorId:n}},Pn=async({type:e,canTrack:t,apiKey:n,metadata:o,...i})=>({type:e,data:{...i,metadata:{url:location.href,...o},...await Rn({canTrack:t}),userAttributes:me(),ownerId:n}});async function $e(e){if(!e.apiKey){k.error("Missing API key for track call. Please provide your API key.");return}if(e.canTrack&&!N()&&(y()||E==="reactNative"))return fetch("https://cdn.builder.io/api/v1/track",{method:"POST",body:JSON.stringify({events:[await Pn(e)]}),headers:{"content-type":"application/json"},mode:"cors"}).catch(t=>{console.error("Failed to track: ",t)})}const An=e=>$e({...e,canTrack:!0});function oe(e){return Math.round(e*1e3)/1e3}const Vn=(e,t,n=!0)=>{if(!(e instanceof HTMLElement))return null;let o=n?e:e.parentElement;do{if(!o)return null;if(t(o))return o}while(o=o.parentElement);return null},Bn=e=>Vn(e,t=>{const n=t.getAttribute("builder-id")||t.id;return(n==null?void 0:n.indexOf("builder-"))===0}),ie=({event:e,target:t})=>{const n=t.getBoundingClientRect(),o=e.clientX-n.left,i=e.clientY-n.top,r=oe(o/n.width),a=oe(i/n.height);return{x:r,y:a}},jn=e=>{const t=e.target,n=t&&Bn(t),o=(n==null?void 0:n.getAttribute("builder-id"))||(n==null?void 0:n.id);return{targetBuilderElement:o||void 0,metadata:{targetOffset:t?ie({event:e,target:t}):void 0,builderTargetOffset:n?ie({event:e,target:n}):void 0,builderElementIndex:n&&o?[].slice.call(document.getElementsByClassName(o)).indexOf(n):void 0}}},Wn=["*.beta.builder.io","beta.builder.io","builder.io","localhost","qa.builder.io"];function Le(e,t){const n=new URL(t.origin),o=n.hostname;return(e||Wn).findIndex(i=>i.startsWith("*.")?o.endsWith(i.slice(1)):i===o)>-1}const Fn="0.14.12",re={};function Ue(e,t){let n=re[e];if(n||(n=re[e]=[]),n.push(t),y()){const o={type:"builder.register",data:{type:e,info:t}};try{parent.postMessage(o,"*"),parent!==window&&window.postMessage(o,"*")}catch(i){console.debug("Could not postmessage",i)}}}const On=()=>{Ue("insertMenu",{name:"_default",default:!0,items:[{name:"Box"},{name:"Text"},{name:"Image"},{name:"Columns"},{name:"Core:Section"},{name:"Core:Button"},{name:"Embed"},{name:"Custom Code"}]})};let ae=!1;const _e=(e={})=>{var t,n;ae||(ae=!0,y()&&((t=window.parent)==null||t.postMessage({type:"builder.sdkInfo",data:{target:E,version:Fn,supportsPatchUpdates:!1,supportsAddBlockScoping:!0,supportsCustomBreakpoints:!0}},"*"),(n=window.parent)==null||n.postMessage({type:"builder.updateContent",data:{options:e}},"*"),window.addEventListener("message",o=>{var r,a;if(!Le(e.trustedHosts,o))return;const{data:i}=o;if(i!=null&&i.type)switch(i.type){case"builder.evaluate":{const s=i.data.text,l=i.data.arguments||[],u=i.data.id,p=new Function(s);let d,f=null;try{d=p.apply(null,l)}catch(b){f=b}f?(r=window.parent)==null||r.postMessage({type:"builder.evaluateError",data:{id:u,error:f.message}},"*"):d&&typeof d.then=="function"?d.then(b=>{var h;(h=window.parent)==null||h.postMessage({type:"builder.evaluateResult",data:{id:u,result:b}},"*")}).catch(console.error):(a=window.parent)==null||a.postMessage({type:"builder.evaluateResult",data:{result:d,id:u}},"*");break}}})))},De=({model:e,trustedHosts:t,callbacks:n})=>o=>{if(!Le(t,o))return;const{data:i}=o;if(i)switch(i.type){case"builder.configureSdk":{n.configureSdk(i.data);break}case"builder.triggerAnimation":{n.animation(i.data);break}case"builder.contentUpdate":{const r=i.data,a=r.key||r.alias||r.entry||r.modelName,s=r.data;a===e&&n.contentUpdate(s);break}}},Nn=(e,t,n)=>{if(!y)return k.warn("`subscribeToEditor` only works in the browser. It currently seems to be running on the server."),()=>{};_e();const o=De({callbacks:{contentUpdate:t,animation:()=>{},configureSdk:()=>{}},model:e,trustedHosts:n==null?void 0:n.trustedHosts});return window.addEventListener("message",o),()=>{window.removeEventListener("message",o)}};function se(e,...t){const n=Object(e);for(let o=1;o<arguments.length;o++){const i=arguments[o];if(i!=null)for(const r in i)Object.prototype.hasOwnProperty.call(i,r)&&(n[r]=i[r])}return n}const $n=e=>e?e.replace(/([A-Z])/g,t=>`-${t[0].toLowerCase()}`):"";function Ln(e){console.warn(`Cannot animate element: element with ID ${e} not found!`)}function Un(e,t){const n=_n(e),o=getComputedStyle(t),i=e.steps[0].styles,r=e.steps[e.steps.length-1].styles,a=[i,r];for(const s of a)for(const l of n)l in s||(s[l]=o[l])}function _n(e){const t=[];for(const n of e.steps)for(const o in n.styles)t.indexOf(o)===-1&&t.push(o);return t}function Dn(e){const t=Array.prototype.slice.call(document.getElementsByClassName(e.elementId||e.id||""));if(!t.length){Ln(e.elementId||e.id||"");return}Array.from(t).forEach(n=>{Un(e,n),n.style.transition="none",n.style.transitionDelay="0",se(n.style,e.steps[0].styles),setTimeout(()=>{n.style.transition=`all ${e.duration}s ${$n(e.easing)}`,e.delay&&(n.style.transitionDelay=e.delay+"s"),se(n.style,e.steps[1].styles),setTimeout(()=>{n.style.transition="",n.style.transitionDelay=""},(e.delay||0)*1e3+e.duration*1e3+100)})})}const Mn=e=>{var r;const t=e.family+(e.kind&&!e.kind.includes("#")?", "+e.kind:""),n=t.split(",")[0],o=e.fileUrl??((r=e==null?void 0:e.files)==null?void 0:r.regular);let i="";if(o&&t&&n&&(i+=`
135
135
  @font-face {
136
136
  font-family: "${t}";
137
137
  src: local("${n}"), url('${o}') format('woff2');
@@ -1,7 +1,7 @@
1
1
  import { jsx as l, Fragment as k, jsxs as R } from "react/jsx-runtime";
2
2
  import "react";
3
3
  import { LRUCache as We } from "lru-cache";
4
- import { I as Oe, B as Ne, a as $e, D as Fe, C as Le, E as Ue, b as De, V as _e, c as Me, F as je, d as He, S as Ke, e as ze } from "./USE_CLIENT_BUNDLE-3b942ae2.js";
4
+ import { I as Oe, B as Ne, a as $e, D as Fe, C as Le, E as Ue, b as De, V as _e, c as Me, F as je, d as He, S as Ke, e as ze } from "./USE_CLIENT_BUNDLE-c82c8713.js";
5
5
  import "next/navigation";
6
6
  const qe = /* @__PURE__ */ new Set(["area", "base", "br", "col", "embed", "hr", "img", "input", "keygen", "link", "meta", "param", "source", "track", "wbr"]), so = (e) => typeof e == "string" && qe.has(e.toLowerCase()), T = "rsc", M = () => {
7
7
  switch (T) {
@@ -2177,7 +2177,7 @@ function Be(e, t) {
2177
2177
  const n = new URL(t.origin), o = n.hostname;
2178
2178
  return (e || Nn).findIndex((i) => i.startsWith("*.") ? o.endsWith(i.slice(1)) : i === o) > -1;
2179
2179
  }
2180
- const $n = "0.14.11", ie = {};
2180
+ const $n = "0.14.12", ie = {};
2181
2181
  function Fn(e, t) {
2182
2182
  let n = ie[e];
2183
2183
  if (n || (n = ie[e] = []), n.push(t), S()) {
@@ -2769,13 +2769,13 @@ export {
2769
2769
  x as l,
2770
2770
  K as m,
2771
2771
  po as n,
2772
- N as o,
2773
- mo as p,
2774
- Ee as q,
2772
+ fn as o,
2773
+ N as p,
2774
+ mo as q,
2775
2775
  go as r,
2776
2776
  Ln as s,
2777
2777
  yo as t,
2778
- fn as u,
2778
+ Ee as u,
2779
2779
  ln as v,
2780
2780
  Xn as w,
2781
2781
  Fn as x,
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./USE_CLIENT_BUNDLE-4cb813ce.cjs"),e=require("./bundle-260ced55.cjs");require("react/jsx-runtime");require("react");require("./USE_SERVER_BUNDLE-ec83933e.cjs");require("next/navigation");require("lru-cache");exports.Button=t.Button;exports.Fragment=t.FragmentComponent;exports.Image=t.Image;exports.Section=t.SectionComponent;exports.Video=t.Video;exports.Blocks=e.Blocks;exports.Columns=e.Columns;exports.Content=e.ContentVariants;exports.Symbol=e.Symbol;exports.Text=e.Text;exports._processContentResult=e._processContentResult;exports.createRegisterComponentMessage=e.createRegisterComponentMessage;exports.fetchBuilderProps=e.fetchBuilderProps;exports.fetchEntries=e.fetchEntries;exports.fetchOneEntry=e.fetchOneEntry;exports.getBuilderSearchParams=e.getBuilderSearchParams;exports.isEditing=e.isEditing;exports.isPreviewing=e.isPreviewing;exports.register=e.register;exports.setEditorSettings=e.setEditorSettings;exports.subscribeToEditor=e.subscribeToEditor;exports.track=e.track;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./USE_CLIENT_BUNDLE-2bbdea6c.cjs"),e=require("./bundle-4a0b6a84.cjs");require("react/jsx-runtime");require("react");require("./USE_SERVER_BUNDLE-62b1c4be.cjs");require("next/navigation");require("lru-cache");exports.Button=t.Button;exports.Fragment=t.FragmentComponent;exports.Image=t.Image;exports.Section=t.SectionComponent;exports.Video=t.Video;exports.Blocks=e.Blocks;exports.Columns=e.Columns;exports.Content=e.ContentVariants;exports.Symbol=e.Symbol;exports.Text=e.Text;exports._processContentResult=e._processContentResult;exports.createRegisterComponentMessage=e.createRegisterComponentMessage;exports.fetchBuilderProps=e.fetchBuilderProps;exports.fetchEntries=e.fetchEntries;exports.fetchOneEntry=e.fetchOneEntry;exports.getBuilderSearchParams=e.getBuilderSearchParams;exports.isEditing=e.isEditing;exports.isPreviewing=e.isPreviewing;exports.register=e.register;exports.setEditorSettings=e.setEditorSettings;exports.subscribeToEditor=e.subscribeToEditor;exports.track=e.track;
@@ -1,14 +1,14 @@
1
- import { c as n, F as m, d as c, S as p, V as g } from "./USE_CLIENT_BUNDLE-3b942ae2.js";
2
- import { B as l, C as u, w as E, S, T as f, F as B, p as C, E as h, G as x, q as b, z as y, c as F, j as P, x as T, y as k, D as w, A as R } from "./bundle-76453d46.js";
1
+ import { c as n, F as m, d as c, S as p, V as g } from "./USE_CLIENT_BUNDLE-c82c8713.js";
2
+ import { B as u, C as l, w as E, S, T as f, F as B, q as C, E as h, G as x, u as b, z as y, c as F, j as P, x as T, y as k, D as w, A as R } from "./bundle-98fafe36.js";
3
3
  import "react/jsx-runtime";
4
4
  import "react";
5
- import "./USE_SERVER_BUNDLE-0fe135ea.js";
5
+ import "./USE_SERVER_BUNDLE-c1a3d2f3.js";
6
6
  import "next/navigation";
7
7
  import "lru-cache";
8
8
  export {
9
- l as Blocks,
9
+ u as Blocks,
10
10
  n as Button,
11
- u as Columns,
11
+ l as Columns,
12
12
  E as Content,
13
13
  m as Fragment,
14
14
  c as Image,