@builder.io/sdk-react 4.0.9 → 4.0.10
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.
- package/lib/browser/blocks-exports.cjs +9 -9
- package/lib/browser/blocks-exports.mjs +455 -440
- package/lib/browser/index.cjs +1 -1
- package/lib/browser/index.mjs +1 -1
- package/lib/browser/server-entry-6a0d3985.cjs +2 -0
- package/lib/{edge/server-entry-8dc3478a.js → browser/server-entry-a97b474c.js} +272 -265
- package/lib/browser/server-entry.cjs +1 -1
- package/lib/browser/server-entry.mjs +1 -1
- package/lib/edge/{accordion-b551e135.js → accordion-39aaa10f.js} +1 -1
- package/lib/edge/{accordion-e3f81e74.cjs → accordion-f19408f1.cjs} +1 -1
- package/lib/edge/{blocks-cd1feef2.js → blocks-204bcb03.js} +2 -2
- package/lib/edge/{blocks-eb6fa21f.cjs → blocks-bd4d19a4.cjs} +1 -1
- package/lib/edge/blocks-exports.cjs +1 -1
- package/lib/edge/blocks-exports.mjs +2 -2
- package/lib/edge/{button-5c6a9392.cjs → button-39adadab.cjs} +1 -1
- package/lib/edge/{button-f390f723.js → button-eb4a1fce.js} +2 -2
- package/lib/edge/{columns-ad17139e.cjs → columns-3954e4e2.cjs} +1 -1
- package/lib/edge/{columns-7018a027.js → columns-d3cef236.js} +3 -3
- package/lib/edge/{content-variants-c72ca81f.cjs → content-variants-0c41aa3b.cjs} +3 -3
- package/lib/edge/{content-variants-dc54ce4f.js → content-variants-68bbb30c.js} +13 -13
- package/lib/edge/{custom-code-e87af7b1.cjs → custom-code-eded3b35.cjs} +1 -1
- package/lib/edge/{custom-code-0daf1c91.js → custom-code-f8374f7b.js} +1 -1
- package/lib/edge/{embed-1dfcba43.js → embed-2b4ce9d5.js} +1 -1
- package/lib/edge/{embed-c695c98e.cjs → embed-44dee332.cjs} +1 -1
- package/lib/edge/form-1493caf1.cjs +1 -0
- package/lib/edge/form-9faf63c9.js +178 -0
- package/lib/edge/{get-class-prop-name-c479656a.cjs → get-class-prop-name-a9265175.cjs} +1 -1
- package/lib/edge/{get-class-prop-name-5edacc3b.js → get-class-prop-name-cc48fc17.js} +1 -1
- package/lib/edge/{img-882c7222.js → img-58c08dd4.js} +1 -1
- package/lib/edge/{img-6982d6eb.cjs → img-b8d85bad.cjs} +1 -1
- package/lib/edge/index.cjs +1 -1
- package/lib/edge/index.mjs +1 -1
- package/lib/edge/{input-3d4f956b.js → input-a7c01b3a.js} +1 -1
- package/lib/edge/{input-8c7008b5.cjs → input-d988f887.cjs} +1 -1
- package/lib/edge/personalization-container-2f2bfa1b.cjs +1 -0
- package/lib/edge/{personalization-container-3a8dc18a.js → personalization-container-9ae00624.js} +35 -32
- package/lib/edge/{select-2efc7503.cjs → select-03b307f2.cjs} +1 -1
- package/lib/edge/{select-153586f8.js → select-4f03decc.js} +1 -1
- package/lib/{node/server-entry-f03c1146.js → edge/server-entry-0fe1fd76.js} +306 -303
- package/lib/edge/server-entry-e13b9b35.cjs +2 -0
- package/lib/edge/server-entry.cjs +1 -1
- package/lib/edge/server-entry.mjs +1 -1
- package/lib/edge/{slot-f1f7513c.cjs → slot-125b0593.cjs} +1 -1
- package/lib/edge/{slot-d268693c.js → slot-ff90c844.js} +3 -3
- package/lib/edge/{symbol-378e19ee.js → symbol-7558aa24.js} +2 -2
- package/lib/edge/{symbol-0344516c.cjs → symbol-da3ec542.cjs} +1 -1
- package/lib/edge/{tabs-4e931765.cjs → tabs-3cf7cfd3.cjs} +1 -1
- package/lib/edge/{tabs-29ff78a0.js → tabs-a9e56d82.js} +3 -3
- package/lib/node/blocks-exports.cjs +16 -16
- package/lib/node/blocks-exports.mjs +255 -240
- package/lib/node/index.cjs +1 -1
- package/lib/node/index.mjs +3 -3
- package/lib/node/init.cjs +1 -1
- package/lib/node/init.mjs +3 -3
- package/lib/{browser/server-entry-231f8ecd.js → node/server-entry-23f9b44b.js} +205 -199
- package/lib/node/server-entry-ceef853b.cjs +2 -0
- package/lib/node/server-entry.cjs +1 -1
- package/lib/node/server-entry.mjs +1 -1
- package/lib/node/{setIvm-3761bb10.cjs → setIvm-71bce8c3.cjs} +1 -1
- package/lib/node/{setIvm-044ce9e7.js → setIvm-b29cbc40.js} +1 -1
- package/lib/node/setIvm.cjs +1 -1
- package/lib/node/setIvm.mjs +2 -2
- package/lib/node/{should-force-browser-runtime-in-node-f620dcdc.js → should-force-browser-runtime-in-node-5a2ea9eb.js} +1 -1
- package/lib/node/{should-force-browser-runtime-in-node-e760d4f2.cjs → should-force-browser-runtime-in-node-e0147364.cjs} +1 -1
- package/package.json +1 -1
- package/types/constants/sdk-version.d.ts +1 -1
- package/types/helpers/no-serialize-wrapper.d.ts +1 -0
- package/types/helpers/user-attributes.d.ts +6 -2
- package/lib/browser/server-entry-bdbd3c0d.cjs +0 -2
- package/lib/edge/form-5a0c89d9.js +0 -166
- package/lib/edge/form-ba54942c.cjs +0 -1
- package/lib/edge/personalization-container-4557a50b.cjs +0 -1
- package/lib/edge/server-entry-9d269960.cjs +0 -2
- package/lib/node/server-entry-916c726c.cjs +0 -2
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const m="react",v="[Builder.io]: ",d={log:(...e)=>console.log(v,...e),error:(...e)=>console.error(v,...e),warn:(...e)=>console.warn(v,...e),debug:(...e)=>console.debug(v,...e)};function c(){return typeof window!="undefined"&&typeof document!="undefined"}const be=e=>{const t={};return e.forEach((n,r)=>{t[r]=n}),t},G=e=>e instanceof URLSearchParams?be(e):e,$=e=>typeof e=="string"?e:e instanceof URLSearchParams?e.toString():new URLSearchParams(e).toString();function ye(){return c()&&window.self!==window.top}function z(e){return ye()&&$(e||window.location.search).indexOf("builder.frameEditing=")!==-1}const we=()=>{if(c()){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},Ee=()=>typeof navigator=="object"&&navigator.userAgent||"",J=()=>{const e=Ee(),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()||m==="reactNative"}},n=e.match(/Tablet|iPad/i),r=we();return{urlPath:r==null?void 0:r.pathname,host:(r==null?void 0:r.host)||(r==null?void 0:r.hostname),device:n?"tablet":t.any()?"mobile":"desktop"}},p=e=>e!=null;function Ie(e){const t=e||(c()?window.location.search:void 0);return t?$(t).indexOf("builder.preview=")!==-1:!1}const ve=e=>({type:"builder.registerComponent",data:C(e)}),Ae=e=>{const t=e.toString().trim(),n=/^[a-zA-Z0-9_]+\s*=>/i.test(t);return`return (${!t.startsWith("function")&&!t.startsWith("async")&&!t.startsWith("(")&&!n?"function ":""}${t}).apply(this, arguments)`};function C(e){return JSON.parse(JSON.stringify(e,(t,n)=>typeof n=="function"?Ae(n):n))}const V={};function X(e,t){e==="plugin"&&(t=C(t));let n=V[e];if(n||(n=V[e]=[]),n.push(t),c()){const r={type:"builder.register",data:{type:e,info:t}};try{parent.postMessage(r,"*"),parent!==window&&window.postMessage(r,"*")}catch(s){console.debug("Could not postmessage",s)}}}const D={};function ke(e){if(c()){Object.assign(D,e);const t={type:"builder.settingsChange",data:D};parent.postMessage(t,"*")}}const F="builder.",Ue="options.",O=e=>{if(!e)return{};const t=G(e),n={};return Object.keys(t).forEach(r=>{if(r.startsWith(F)){const s=r.replace(F,"").replace(Ue,"");n[s]=t[r]}}),n},Te=()=>{if(!c())return{};const e=new URLSearchParams(window.location.search);return O(e)},H="4.0.10",Q=()=>({"X-Builder-SDK":m,"X-Builder-SDK-GEN":"2","X-Builder-SDK-Version":H}),Ce=e=>{if(e==="localhost"||e==="127.0.0.1")return e;const t=e.split(".");return t.length>2?t.slice(1).join("."):e},A=({name:e,canTrack:t})=>{var n;try{return t?(n=document.cookie.split("; ").find(r=>r.startsWith(`${e}=`)))==null?void 0:n.split("=")[1]:void 0}catch(r){d.warn("[COOKIE] GET error: ",(r==null?void 0:r.message)||r);return}},Y=async e=>A(e),Oe=e=>e.map(([t,n])=>n?`${t}=${n}`:t).filter(p).join("; "),Pe=[["secure",""],["SameSite","None"]],Re=({name:e,value:t,expires:n})=>{const s=(c()?location.protocol==="https:":!0)?Pe:[[]],o=n?[["expires",n.toUTCString()]]:[[]],i=[[e,t],...o,["path","/"],["domain",Ce(window.location.hostname)],...s];return Oe(i)},P=async({name:e,value:t,expires:n,canTrack:r})=>{try{if(!r)return;const s=Re({name:e,value:t,expires:n});document.cookie=s}catch(s){d.warn("[COOKIE] SET error: ",(s==null?void 0:s.message)||s)}};function Be(){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 Z(){return Be().replace(/-/g,"")}const q="builderSessionId",xe=async({canTrack:e})=>{if(!e)return;const t=await Y({name:q,canTrack:e});if(p(t))return t;{const n=_e();return Le({id:n,canTrack:e}),n}},_e=()=>Z(),Le=({id:e,canTrack:t})=>P({name:q,value:e,canTrack:t}),ee=()=>c()&&typeof localStorage!="undefined"?localStorage:void 0,Ne=({key:e,canTrack:t})=>{var n;try{return t?(n=ee())==null?void 0:n.getItem(e):void 0}catch(r){console.debug("[LocalStorage] GET error: ",r);return}},Ve=({key:e,canTrack:t,value:n})=>{var r;try{t&&((r=ee())==null||r.setItem(e,n))}catch(s){console.debug("[LocalStorage] SET error: ",s)}},te="builderVisitorId",De=({canTrack:e})=>{if(!e)return;const t=Ne({key:te,canTrack:e});if(p(t))return t;{const n=Fe();return Me({id:n,canTrack:e}),n}},Fe=()=>Z(),Me=({id:e,canTrack:t})=>Ve({key:te,value:e,canTrack:t});function ne(e){var t;typeof process!="undefined"&&((t=process.env)!=null&&t.DEBUG)&&String(process.env.DEBUG)=="true"&&d.log(e)}const Ke=async({canTrack:e})=>{if(!e)return{visitorId:void 0,sessionId:void 0};const t=await xe({canTrack:e}),n=De({canTrack:e});return{sessionId:t,visitorId:n}},We=async({type:e,canTrack:t,apiKey:n,metadata:r,...s})=>({type:e,data:{...s,metadata:{url:location.href,...r},...await Ke({canTrack:t}),userAttributes:J(),ownerId:n}});async function re({apiHost:e,...t}){if(!t.apiKey){d.error("Missing API key for track call. Please provide your API key.");return}if(!t.canTrack||z()||!(c()||m==="reactNative"))return;const r=`${e||"https://cdn.builder.io"}/api/v1/track`;return ne(r),fetch(r,{method:"POST",body:JSON.stringify({events:[await We(t)]}),headers:{"content-type":"application/json",...Q()},mode:"cors"}).catch(s=>{console.error("Failed to track: ",s)})}const je=e=>re({...e,canTrack:!0}),Ge=["*.beta.builder.io","beta.builder.io","builder.io","localhost","qa.builder.io"];function se(e,t){if(!t.origin.startsWith("http")&&!t.origin.startsWith("https"))return!1;const n=new URL(t.origin),r=n.hostname;return(e||Ge).findIndex(s=>s.startsWith("*.")?r.endsWith(s.slice(1)):s===r)>-1}const $e=()=>{X("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 M=!1;const oe=e=>{var t,n;M||(M=!0,c()&&((t=window.parent)==null||t.postMessage({type:"builder.sdkInfo",data:{target:m,version:H,supportsPatchUpdates:!1,supportsAddBlockScoping:!0,supportsCustomBreakpoints:!0,modelName:e.modelName,apiKey:e.apiKey,supportsXSmallBreakpoint:!0,blockLevelPersonalization:!0}},"*"),(n=window.parent)==null||n.postMessage({type:"builder.updateContent",data:{options:e}},"*"),window.addEventListener("message",r=>{var o,i;if(!se(e.trustedHosts,r))return;const{data:s}=r;if(s!=null&&s.type)switch(s.type){case"builder.evaluate":{const u=s.data.text,y=s.data.arguments||[],S=s.data.id,w=new Function(u);let l,g=null;try{l=w.apply(null,y)}catch(h){g=h}g?(o=window.parent)==null||o.postMessage({type:"builder.evaluateError",data:{id:S,error:g.message}},"*"):l&&typeof l.then=="function"?l.then(h=>{var E;(E=window.parent)==null||E.postMessage({type:"builder.evaluateResult",data:{id:S,result:h}},"*")}).catch(console.error):(i=window.parent)==null||i.postMessage({type:"builder.evaluateResult",data:{result:l,id:S}},"*");break}}})))},ie=({model:e,trustedHosts:t,callbacks:n})=>r=>{if(!se(t,r))return;const{data:s}=r;if(s)switch(s.type){case"builder.configureSdk":{n.configureSdk(s.data);break}case"builder.triggerAnimation":{n.animation(s.data);break}case"builder.resetState":{const o=s.data,i=o.model,u=o==null?void 0:o.state;i===e&&u&&n.stateUpdate(u);break}case"builder.contentUpdate":{const o=s.data,i=o.key||o.alias||o.entry||o.modelName,u=o.data;i===e&&n.contentUpdate(u);break}}},ze=({model:e,apiKey:t,callback:n,trustedHosts:r})=>{if(!c)return d.warn("`subscribeToEditor` only works in the browser. It currently seems to be running on the server."),()=>{};oe({modelName:e,apiKey:t});const s=ie({callbacks:{contentUpdate:n,animation:()=>{},configureSdk:()=>{},stateUpdate:()=>{}},model:e,trustedHosts:r});return window.addEventListener("message",s),()=>{window.removeEventListener("message",s)}},Je="builder.tests",R=e=>`${Je}.${e}`,Xe=({contentId:e})=>Y({name:R(e),canTrack:!0}),He=({contentId:e})=>A({name:R(e),canTrack:!0}),Qe=({contentId:e,value:t})=>P({name:R(e),value:t,canTrack:!0}),ae=e=>p(e.id)&&p(e.variations)&&Object.keys(e.variations).length>0,Ye=({id:e,variations:t})=>{var s;let n=0;const r=Math.random();for(const o in t){const i=(s=t[o])==null?void 0:s.testRatio;if(n+=i,r<n)return o}return e},ce=e=>{const t=Ye(e);return Qe({contentId:e.id,value:t}).catch(n=>{d.error("could not store A/B test variation: ",n)}),t},ue=({item:e,testGroupId:t})=>{const n=e.variations[t];return t===e.id||!n?{testVariationId:e.id,testVariationName:"Default"}:{data:n.data,testVariationId:n.id,testVariationName:n.name||(n.id===e.id?"Default":"")}},Ze=({item:e,canTrack:t})=>{if(!t)return e;if(!e)return;if(!ae(e))return e;const n=He({contentId:e.id})||ce({variations:e.variations,id:e.id}),r=ue({item:e,testGroupId:n});return{...e,...r}},qe=async({item:e,canTrack:t})=>{if(!t||!ae(e))return e;const r=await Xe({contentId:e.id})||ce({variations:e.variations,id:e.id}),s=ue({item:e,testGroupId:r});return{...e,...s}};const K="builder.userAttributes";function W(){let e=!0;const t=new Set;return{setUserAttributes(n){if(!c())return;const r={...this.getUserAttributes(),...n};P({name:K,value:JSON.stringify(r),canTrack:e}),t.forEach(s=>s(r))},getUserAttributes(){return c()?JSON.parse(A({name:K,canTrack:e})||"{}"):{}},subscribeOnUserAttributesChange(n,{fireImmediately:r}={}){return t.add(n),r&&n(this.getUserAttributes()),function(){t.delete(n)}},setCanTrack(n){e=n}}}let U;c()&&m==="qwik"?(window.__BUILDER_USER_ATTRIBUTES_SERVICE__||(window.__BUILDER_USER_ATTRIBUTES_SERVICE__=W()),U=window.__BUILDER_USER_ATTRIBUTES_SERVICE__):U=W();const B=U,et=e=>{B.setUserAttributes(e)},le=e=>{const t=p(e)?e:!0;return B.setCanTrack(t),t};function tt(){return typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:globalThis}function nt(){const e=tt().fetch;if(typeof e=="undefined")throw console.warn(`Builder SDK could not find a global fetch function. Make sure you have a polyfill for fetch in your project.
|
|
2
|
+
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 rt=nt();function T(e,t=null,n="."){return Object.keys(e).reduce((r,s)=>{const o=e[s],i=[t,s].filter(Boolean).join(n);return[typeof o=="object",o!==null,!(Array.isArray(o)&&o.length===0)].every(Boolean)?{...r,...T(o,i,n)}:{...r,[i]:o}},{})}function de(e,t,n={}){for(const r in e){const s=e[r],o=t?t+"."+r:r;s&&typeof s=="object"&&!Array.isArray(s)&&!Object.keys(s).find(i=>i.startsWith("$"))?de(s,o,n):n[o]=s}return n}function st(e){const t={};for(const n in e){const r=n.split(".");let s=t;for(let o=0;o<r.length;o++){const i=r[o];o===r.length-1?s[i]=e[n]:(s[i]=s[i]||{},s=s[i])}}return t}const ot="v3",j=e=>typeof e=="number"&&!isNaN(e)&&e>=0,x=e=>{const{limit:t=30,userAttributes:n,query:r,model:s,apiKey:o,enrich:i,locale:u,apiVersion:y=ot,fields:S,omit:w,offset:l,cacheSeconds:g,staleCacheSeconds:h,sort:E,includeUnpublished:_,apiHost:pe}=e;if(!o)throw new Error("Missing API key");if(!["v3"].includes(y))throw new Error(`Invalid apiVersion: expected 'v3', received '${y}'`);const me=t!==1,Se=pe||"https://cdn.builder.io",a=new URL(`${Se}/api/${y}/content/${s}`);a.searchParams.set("apiKey",o),a.searchParams.set("limit",String(t)),a.searchParams.set("noTraverse",String(me)),a.searchParams.set("includeRefs",String(!0));const k=u||(n==null?void 0:n.locale);let b=n||{};if(k&&(a.searchParams.set("locale",k),b={locale:k,...b}),i&&a.searchParams.set("enrich",String(i)),a.searchParams.set("omit",w!=null?w:"meta.componentsUsed"),S&&a.searchParams.set("fields",S),Number.isFinite(l)&&l>-1&&a.searchParams.set("offset",String(Math.floor(l))),typeof _=="boolean"&&a.searchParams.set("includeUnpublished",String(_)),g&&j(g)&&a.searchParams.set("cacheSeconds",String(g)),h&&j(h)&&a.searchParams.set("staleCacheSeconds",String(h)),E){const f=T({sort:E});for(const I in f)a.searchParams.set(I,JSON.stringify(f[I]))}const L={...Te(),...G(e.options||{})};b={...b,...at(L)};const N=T(L);for(const f in N)a.searchParams.set(f,String(N[f]));if(Object.keys(b).length>0&&a.searchParams.set("userAttributes",JSON.stringify(b)),r){const f=de({query:r});for(const I in f)a.searchParams.set(I,JSON.stringify(f[I]))}return a},it=e=>{const t={};for(const n in e)n.startsWith("userAttributes.")&&(t[n]=e[n],delete e[n]);return t},at=e=>{if(c()&&e.preview==="BUILDER_STUDIO"){e["userAttributes.urlPath"]=window.location.pathname,e["userAttributes.host"]=window.location.host;const t=it(e),{userAttributes:n}=st(t);return n}return{}},ct=e=>"results"in e;async function fe(e){const t=await he({...e,limit:1});return t&&t[0]||null}const ut=async e=>{var i,u;const t=x(e),n=(i=e.fetch)!=null?i:rt,r={...e.fetchOptions,headers:{...(u=e.fetchOptions)==null?void 0:u.headers,...Q()}};return await(await n(t.href,r)).json()},ge=async(e,t,n=x(e))=>{const r=le(e.canTrack);if(n.search.includes("preview="),!r||!(c()||m==="reactNative"))return t.results;try{const s=[];for(const o of t.results)s.push(await qe({item:o,canTrack:r}));t.results=s}catch(s){d.error("Could not process A/B tests. ",s)}return t.results};async function he(e){const t=x(e),n=await ut(e);if(!ct(n))throw d.error("Error fetching data. ",{url:t,content:n,options:e}),n;return ge(e,n)}const lt=async e=>{var r,s,o;const t=e.path||((r=e.url)==null?void 0:r.pathname)||((s=e.userAttributes)==null?void 0:s.urlPath),n={...e,apiKey:e.apiKey,model:e.model||"page",userAttributes:{...e.userAttributes,...t?{urlPath:t}:{}},options:O(e.searchParams||((o=e.url)==null?void 0:o.searchParams)||e.options)};return{apiKey:n.apiKey,model:n.model,content:await fe(n)}};exports.MSG_PREFIX=v;exports.TARGET=m;exports._processContentResult=ge;exports._track=re;exports.checkIsDefined=p;exports.createEditorListener=ie;exports.createRegisterComponentMessage=ve;exports.fetchBuilderProps=lt;exports.fetchEntries=he;exports.fetchOneEntry=fe;exports.getBuilderSearchParams=O;exports.getCookieSync=A;exports.getDefaultCanTrack=le;exports.getUserAttributes=J;exports.handleABTestingSync=Ze;exports.isBrowser=c;exports.isEditing=z;exports.isPreviewing=Ie;exports.logFetch=ne;exports.logger=d;exports.register=X;exports.registerInsertMenu=$e;exports.serializeIncludingFunctions=C;exports.setClientUserAttributes=et;exports.setEditorSettings=ke;exports.setupBrowserForEditing=oe;exports.subscribeToEditor=ze;exports.track=je;exports.userAttributesService=B;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./server-entry-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./server-entry-ceef853b.cjs");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,4 +1,4 @@
|
|
|
1
|
-
import { _processContentResult as r, createRegisterComponentMessage as s, fetchBuilderProps as i, fetchEntries as n, fetchOneEntry as o, getBuilderSearchParams as c, isEditing as g, isPreviewing as a, register as d, setEditorSettings as E, subscribeToEditor as f, track as h } from "./server-entry-
|
|
1
|
+
import { _processContentResult as r, createRegisterComponentMessage as s, fetchBuilderProps as i, fetchEntries as n, fetchOneEntry as o, getBuilderSearchParams as c, isEditing as g, isPreviewing as a, register as d, setEditorSettings as E, subscribeToEditor as f, track as h } from "./server-entry-23f9b44b.js";
|
|
2
2
|
export {
|
|
3
3
|
r as _processContentResult,
|
|
4
4
|
s as createRegisterComponentMessage,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";const serverEntry=require("./server-entry-
|
|
1
|
+
"use strict";const serverEntry=require("./server-entry-ceef853b.cjs"),getFunctionArguments=({builder:e,context:t,event:s,state:r})=>Object.entries({state:r,Builder:e,builder:e,context:t,event:s}),getBuilderGlobals=()=>({isEditing:serverEntry.isEditing(),isBrowser:serverEntry.isBrowser(),isServer:!serverEntry.isBrowser(),getUserAttributes:()=>serverEntry.getUserAttributes()}),parseCode=(e,{isExpression:t=!0})=>t&&!(e.includes(";")||e.includes(" return ")||e.trim().startsWith("return "))?`return (${e});`:e;function flattenState({rootState:e,localState:t,rootSetState:s}){return new Proxy(e,{get:(r,n)=>{if(t&&n in t)return t[n];const o=r[n];return typeof o=="object"&&o!==null?flattenState({rootState:o,localState:void 0,rootSetState:s?i=>{r[n]=i,s(r)}:void 0}):o},set:(r,n,o)=>{if(t&&n in t)throw new Error("Writing to local state is not allowed as it is read-only.");return r[n]=o,s==null||s(r),!0}})}const SDK_NAME_FOR_TARGET=(()=>{switch(serverEntry.TARGET){case"rsc":return"react-nextjs";case"reactNative":return"react-native";default:return serverEntry.TARGET}})(),SDK_NAME=`@builder.io/sdk-${SDK_NAME_FOR_TARGET}`,fastClone=e=>JSON.parse(JSON.stringify(e)),set=(e,t,s)=>{if(Object(e)!==e)return e;const r=Array.isArray(t)?t:t.toString().match(/[^.[\]]+/g);return r.slice(0,-1).reduce((n,o,i)=>Object(n[o])===n[o]?n[o]:n[o]=Math.abs(Number(r[i+1]))>>0===+r[i+1]?[]:{},e)[r[r.length-1]]=s,e},noop=()=>{};let safeDynamicRequire=noop;try{safeDynamicRequire=eval("require")}catch(e){}const getSyncValName=e=>`bldr_${e}_sync`,BUILDER_SET_STATE_NAME="BUILDER_SET_STATE",INJECTED_IVM_GLOBAL="BUILDER_IVM",REF_TO_PROXY_FN=`
|
|
2
2
|
var refToProxy = (obj) => {
|
|
3
3
|
if (typeof obj !== 'object' || obj === null) {
|
|
4
4
|
return obj;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { isEditing, isBrowser, getUserAttributes, TARGET, logger, MSG_PREFIX } from "./server-entry-
|
|
1
|
+
import { isEditing, isBrowser, getUserAttributes, TARGET, logger, MSG_PREFIX } from "./server-entry-23f9b44b.js";
|
|
2
2
|
const getFunctionArguments = ({
|
|
3
3
|
builder: e,
|
|
4
4
|
context: t,
|
package/lib/node/setIvm.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./setIvm-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./setIvm-71bce8c3.cjs");require("./server-entry-ceef853b.cjs");exports.setIvm=e.setIvm;
|
package/lib/node/setIvm.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { checkIsDefined as i, logger as t } from "./server-entry-
|
|
1
|
+
import { checkIsDefined as i, logger as t } from "./server-entry-23f9b44b.js";
|
|
2
2
|
function a() {
|
|
3
3
|
var o;
|
|
4
4
|
return typeof process != "undefined" && i((o = process == null ? void 0 : process.versions) == null ? void 0 : o.node);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const s=require("./server-entry-
|
|
1
|
+
"use strict";const s=require("./server-entry-ceef853b.cjs");function t(){var e;return typeof process!="undefined"&&s.checkIsDefined((e=process==null?void 0:process.versions)==null?void 0:e.node)}const c=({shouldLogWarning:e})=>{var o;if(!t())return!1;const n=process.arch==="arm64",r=process.version.startsWith("v20"),i=(o=process.env.NODE_OPTIONS)==null?void 0:o.includes("--no-node-snapshot");return n&&r&&!i?(e&&s.logger.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};exports.shouldForceBrowserRuntimeInNode=c;
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const SDK_VERSION = "4.0.
|
|
1
|
+
export declare const SDK_VERSION = "4.0.10";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function noSerializeWrapper(fn: () => void): () => void;
|
|
@@ -5,13 +5,17 @@ export declare const USER_ATTRIBUTES_COOKIE_NAME = "builder.userAttributes";
|
|
|
5
5
|
export declare function createUserAttributesService(): {
|
|
6
6
|
setUserAttributes(newAttrs: UserAttributes): void;
|
|
7
7
|
getUserAttributes(): any;
|
|
8
|
-
subscribeOnUserAttributesChange(callback: (attrs: UserAttributes) => void
|
|
8
|
+
subscribeOnUserAttributesChange(callback: (attrs: UserAttributes) => void, { fireImmediately }?: {
|
|
9
|
+
fireImmediately?: boolean;
|
|
10
|
+
}): () => void;
|
|
9
11
|
setCanTrack(value: boolean): void;
|
|
10
12
|
};
|
|
11
13
|
export declare const userAttributesService: {
|
|
12
14
|
setUserAttributes(newAttrs: UserAttributes): void;
|
|
13
15
|
getUserAttributes(): any;
|
|
14
|
-
subscribeOnUserAttributesChange(callback: (attrs: UserAttributes) => void
|
|
16
|
+
subscribeOnUserAttributesChange(callback: (attrs: UserAttributes) => void, { fireImmediately }?: {
|
|
17
|
+
fireImmediately?: boolean;
|
|
18
|
+
}): () => void;
|
|
15
19
|
setCanTrack(value: boolean): void;
|
|
16
20
|
};
|
|
17
21
|
export declare const setClientUserAttributes: (attributes: UserAttributes) => void;
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";const y="react",E="[Builder.io]: ",d={log:(...e)=>console.log(E,...e),error:(...e)=>console.error(E,...e),warn:(...e)=>console.warn(E,...e),debug:(...e)=>console.debug(E,...e)};function c(){return typeof window!="undefined"&&typeof document!="undefined"}const me=e=>{const t={};return e.forEach((n,r)=>{t[r]=n}),t},j=e=>e instanceof URLSearchParams?me(e):e,W=e=>typeof e=="string"?e:e instanceof URLSearchParams?e.toString():new URLSearchParams(e).toString();function be(){return c()&&window.self!==window.top}function $(e){return be()&&W(e||window.location.search).indexOf("builder.frameEditing=")!==-1}const ye=()=>{if(c()){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},Se=()=>typeof navigator=="object"&&navigator.userAgent||"",G=()=>{const e=Se(),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()||y==="reactNative"}},n=e.match(/Tablet|iPad/i),r=ye();return{urlPath:r==null?void 0:r.pathname,host:(r==null?void 0:r.host)||(r==null?void 0:r.hostname),device:n?"tablet":t.any()?"mobile":"desktop"}},p=e=>e!=null;function we(e){const t=e||(c()?window.location.search:void 0);return t?W(t).indexOf("builder.preview=")!==-1:!1}const ve=e=>({type:"builder.registerComponent",data:C(e)}),ke=e=>{const t=e.toString().trim(),n=/^[a-zA-Z0-9_]+\s*=>/i.test(t);return`return (${!t.startsWith("function")&&!t.startsWith("async")&&!t.startsWith("(")&&!n?"function ":""}${t}).apply(this, arguments)`};function C(e){return JSON.parse(JSON.stringify(e,(t,n)=>typeof n=="function"?ke(n):n))}const F={};function J(e,t){e==="plugin"&&(t=C(t));let n=F[e];if(n||(n=F[e]=[]),n.push(t),c()){const r={type:"builder.register",data:{type:e,info:t}};try{parent.postMessage(r,"*"),parent!==window&&window.postMessage(r,"*")}catch(s){console.debug("Could not postmessage",s)}}}const V={};function Ee(e){if(c()){Object.assign(V,e);const t={type:"builder.settingsChange",data:V};parent.postMessage(t,"*")}}const D="builder.",Ie="options.",P=e=>{if(!e)return{};const t=j(e),n={};return Object.keys(t).forEach(r=>{if(r.startsWith(D)){const s=r.replace(D,"").replace(Ie,"");n[s]=t[r]}}),n},Ae=()=>{if(!c())return{};const e=new URLSearchParams(window.location.search);return P(e)},z="4.0.9",X=()=>({"X-Builder-SDK":y,"X-Builder-SDK-GEN":"2","X-Builder-SDK-Version":z}),Oe=e=>{if(e==="localhost"||e==="127.0.0.1")return e;const t=e.split(".");return t.length>2?t.slice(1).join("."):e},I=({name:e,canTrack:t})=>{var n;try{return t?(n=document.cookie.split("; ").find(r=>r.startsWith(`${e}=`)))==null?void 0:n.split("=")[1]:void 0}catch(r){d.warn("[COOKIE] GET error: ",(r==null?void 0:r.message)||r);return}},H=async e=>I(e),Ce=e=>e.map(([t,n])=>n?`${t}=${n}`:t).filter(p).join("; "),Pe=[["secure",""],["SameSite","None"]],Ue=({name:e,value:t,expires:n})=>{const s=(c()?location.protocol==="https:":!0)?Pe:[[]],o=n?[["expires",n.toUTCString()]]:[[]],i=[[e,t],...o,["path","/"],["domain",Oe(window.location.hostname)],...s];return Ce(i)},U=async({name:e,value:t,expires:n,canTrack:r})=>{try{if(!r)return;const s=Ue({name:e,value:t,expires:n});document.cookie=s}catch(s){d.warn("[COOKIE] SET error: ",(s==null?void 0:s.message)||s)}};function Te(){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 Q(){return Te().replace(/-/g,"")}const Y="builderSessionId",Be=async({canTrack:e})=>{if(!e)return;const t=await H({name:Y,canTrack:e});if(p(t))return t;{const n=xe();return Re({id:n,canTrack:e}),n}},xe=()=>Q(),Re=({id:e,canTrack:t})=>U({name:Y,value:e,canTrack:t}),Z=()=>c()&&typeof localStorage!="undefined"?localStorage:void 0,Le=({key:e,canTrack:t})=>{var n;try{return t?(n=Z())==null?void 0:n.getItem(e):void 0}catch(r){console.debug("[LocalStorage] GET error: ",r);return}},Ne=({key:e,canTrack:t,value:n})=>{var r;try{t&&((r=Z())==null||r.setItem(e,n))}catch(s){console.debug("[LocalStorage] SET error: ",s)}},q="builderVisitorId",Fe=({canTrack:e})=>{if(!e)return;const t=Le({key:q,canTrack:e});if(p(t))return t;{const n=Ve();return De({id:n,canTrack:e}),n}},Ve=()=>Q(),De=({id:e,canTrack:t})=>Ne({key:q,value:e,canTrack:t});function ee(e){var t;typeof process!="undefined"&&((t=process.env)!=null&&t.DEBUG)&&String(process.env.DEBUG)=="true"&&d.log(e)}const Me=async({canTrack:e})=>{if(!e)return{visitorId:void 0,sessionId:void 0};const t=await Be({canTrack:e}),n=Fe({canTrack:e});return{sessionId:t,visitorId:n}},Ke=async({type:e,canTrack:t,apiKey:n,metadata:r,...s})=>({type:e,data:{...s,metadata:{url:location.href,...r},...await Me({canTrack:t}),userAttributes:G(),ownerId:n}});async function te({apiHost:e,...t}){if(!t.apiKey){d.error("Missing API key for track call. Please provide your API key.");return}if(!t.canTrack||$()||!(c()||y==="reactNative"))return;const r=`${e||"https://cdn.builder.io"}/api/v1/track`;return ee(r),fetch(r,{method:"POST",body:JSON.stringify({events:[await Ke(t)]}),headers:{"content-type":"application/json",...X()},mode:"cors"}).catch(s=>{console.error("Failed to track: ",s)})}const _e=e=>te({...e,canTrack:!0}),je=["*.beta.builder.io","beta.builder.io","builder.io","localhost","qa.builder.io"];function ne(e,t){if(!t.origin.startsWith("http")&&!t.origin.startsWith("https"))return!1;const n=new URL(t.origin),r=n.hostname;return(e||je).findIndex(s=>s.startsWith("*.")?r.endsWith(s.slice(1)):s===r)>-1}const We=()=>{J("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 M=!1;const re=e=>{var t,n;M||(M=!0,c()&&((t=window.parent)==null||t.postMessage({type:"builder.sdkInfo",data:{target:y,version:z,supportsPatchUpdates:!1,supportsAddBlockScoping:!0,supportsCustomBreakpoints:!0,modelName:e.modelName,apiKey:e.apiKey,supportsXSmallBreakpoint:!0,blockLevelPersonalization:!0}},"*"),(n=window.parent)==null||n.postMessage({type:"builder.updateContent",data:{options:e}},"*"),window.addEventListener("message",r=>{var o,i;if(!ne(e.trustedHosts,r))return;const{data:s}=r;if(s!=null&&s.type)switch(s.type){case"builder.evaluate":{const u=s.data.text,S=s.data.arguments||[],m=s.data.id,w=new Function(u);let l,g=null;try{l=w.apply(null,S)}catch(h){g=h}g?(o=window.parent)==null||o.postMessage({type:"builder.evaluateError",data:{id:m,error:g.message}},"*"):l&&typeof l.then=="function"?l.then(h=>{var v;(v=window.parent)==null||v.postMessage({type:"builder.evaluateResult",data:{id:m,result:h}},"*")}).catch(console.error):(i=window.parent)==null||i.postMessage({type:"builder.evaluateResult",data:{result:l,id:m}},"*");break}}})))},se=({model:e,trustedHosts:t,callbacks:n})=>r=>{if(!ne(t,r))return;const{data:s}=r;if(s)switch(s.type){case"builder.configureSdk":{n.configureSdk(s.data);break}case"builder.triggerAnimation":{n.animation(s.data);break}case"builder.resetState":{const o=s.data,i=o.model,u=o==null?void 0:o.state;i===e&&u&&n.stateUpdate(u);break}case"builder.contentUpdate":{const o=s.data,i=o.key||o.alias||o.entry||o.modelName,u=o.data;i===e&&n.contentUpdate(u);break}}},$e=({model:e,apiKey:t,callback:n,trustedHosts:r})=>{if(!c)return d.warn("`subscribeToEditor` only works in the browser. It currently seems to be running on the server."),()=>{};re({modelName:e,apiKey:t});const s=se({callbacks:{contentUpdate:n,animation:()=>{},configureSdk:()=>{},stateUpdate:()=>{}},model:e,trustedHosts:r});return window.addEventListener("message",s),()=>{window.removeEventListener("message",s)}},Ge="builder.tests",T=e=>`${Ge}.${e}`,Je=({contentId:e})=>H({name:T(e),canTrack:!0}),ze=({contentId:e})=>I({name:T(e),canTrack:!0}),Xe=({contentId:e,value:t})=>U({name:T(e),value:t,canTrack:!0}),oe=e=>p(e.id)&&p(e.variations)&&Object.keys(e.variations).length>0,He=({id:e,variations:t})=>{var s;let n=0;const r=Math.random();for(const o in t){const i=(s=t[o])==null?void 0:s.testRatio;if(n+=i,r<n)return o}return e},ie=e=>{const t=He(e);return Xe({contentId:e.id,value:t}).catch(n=>{d.error("could not store A/B test variation: ",n)}),t},ae=({item:e,testGroupId:t})=>{const n=e.variations[t];return t===e.id||!n?{testVariationId:e.id,testVariationName:"Default"}:{data:n.data,testVariationId:n.id,testVariationName:n.name||(n.id===e.id?"Default":"")}},Qe=({item:e,canTrack:t})=>{if(!t)return e;if(!e)return;if(!oe(e))return e;const n=ze({contentId:e.id})||ie({variations:e.variations,id:e.id}),r=ae({item:e,testGroupId:n});return{...e,...r}},Ye=async({item:e,canTrack:t})=>{if(!t||!oe(e))return e;const r=await Je({contentId:e.id})||ie({variations:e.variations,id:e.id}),s=ae({item:e,testGroupId:r});return{...e,...s}},K="builder.userAttributes";function Ze(){let e=!0;const t=new Set;return{setUserAttributes(n){if(!c())return;const r={...this.getUserAttributes(),...n};U({name:K,value:JSON.stringify(r),canTrack:e}),t.forEach(s=>s(r))},getUserAttributes(){return c()?JSON.parse(I({name:K,canTrack:e})||"{}"):{}},subscribeOnUserAttributesChange(n){return t.add(n),()=>{t.delete(n)}},setCanTrack(n){e=n}}}const B=Ze(),qe=e=>{B.setUserAttributes(e)},ce=e=>{const t=p(e)?e:!0;return B.setCanTrack(t),t};function et(){return typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:globalThis}function tt(){const e=et().fetch;if(typeof e=="undefined")throw console.warn(`Builder SDK could not find a global fetch function. Make sure you have a polyfill for fetch in your project.
|
|
2
|
-
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 nt=tt();function O(e,t=null,n="."){return Object.keys(e).reduce((r,s)=>{const o=e[s],i=[t,s].filter(Boolean).join(n);return[typeof o=="object",o!==null,!(Array.isArray(o)&&o.length===0)].every(Boolean)?{...r,...O(o,i,n)}:{...r,[i]:o}},{})}function ue(e,t,n={}){for(const r in e){const s=e[r],o=t?t+"."+r:r;s&&typeof s=="object"&&!Array.isArray(s)&&!Object.keys(s).find(i=>i.startsWith("$"))?ue(s,o,n):n[o]=s}return n}function rt(e){const t={};for(const n in e){const r=n.split(".");let s=t;for(let o=0;o<r.length;o++){const i=r[o];o===r.length-1?s[i]=e[n]:(s[i]=s[i]||{},s=s[i])}}return t}const st="v3",_=e=>typeof e=="number"&&!isNaN(e)&&e>=0,x=e=>{const{limit:t=30,userAttributes:n,query:r,model:s,apiKey:o,enrich:i,locale:u,apiVersion:S=st,fields:m,omit:w,offset:l,cacheSeconds:g,staleCacheSeconds:h,sort:v,includeUnpublished:R,apiHost:ge}=e;if(!o)throw new Error("Missing API key");if(!["v3"].includes(S))throw new Error(`Invalid apiVersion: expected 'v3', received '${S}'`);const he=t!==1,pe=ge||"https://cdn.builder.io",a=new URL(`${pe}/api/${S}/content/${s}`);a.searchParams.set("apiKey",o),a.searchParams.set("limit",String(t)),a.searchParams.set("noTraverse",String(he)),a.searchParams.set("includeRefs",String(!0));const A=u||(n==null?void 0:n.locale);let b=n||{};if(A&&(a.searchParams.set("locale",A),b={locale:A,...b}),i&&a.searchParams.set("enrich",String(i)),a.searchParams.set("omit",w!=null?w:"meta.componentsUsed"),m&&a.searchParams.set("fields",m),Number.isFinite(l)&&l>-1&&a.searchParams.set("offset",String(Math.floor(l))),typeof R=="boolean"&&a.searchParams.set("includeUnpublished",String(R)),g&&_(g)&&a.searchParams.set("cacheSeconds",String(g)),h&&_(h)&&a.searchParams.set("staleCacheSeconds",String(h)),v){const f=O({sort:v});for(const k in f)a.searchParams.set(k,JSON.stringify(f[k]))}const L={...Ae(),...j(e.options||{})};b={...b,...it(L)};const N=O(L);for(const f in N)a.searchParams.set(f,String(N[f]));if(Object.keys(b).length>0&&a.searchParams.set("userAttributes",JSON.stringify(b)),r){const f=ue({query:r});for(const k in f)a.searchParams.set(k,JSON.stringify(f[k]))}return a},ot=e=>{const t={};for(const n in e)n.startsWith("userAttributes.")&&(t[n]=e[n],delete e[n]);return t},it=e=>{if(c()&&e.preview==="BUILDER_STUDIO"){e["userAttributes.urlPath"]=window.location.pathname,e["userAttributes.host"]=window.location.host;const t=ot(e),{userAttributes:n}=rt(t);return n}return{}},at=e=>"results"in e;async function le(e){const t=await fe({...e,limit:1});return t&&t[0]||null}const ct=async e=>{var i,u;const t=x(e),n=(i=e.fetch)!=null?i:nt,r={...e.fetchOptions,headers:{...(u=e.fetchOptions)==null?void 0:u.headers,...X()}};return await(await n(t.href,r)).json()},de=async(e,t,n=x(e))=>{const r=ce(e.canTrack);if(n.search.includes("preview="),!r||!(c()||y==="reactNative"))return t.results;try{const s=[];for(const o of t.results)s.push(await Ye({item:o,canTrack:r}));t.results=s}catch(s){d.error("Could not process A/B tests. ",s)}return t.results};async function fe(e){const t=x(e),n=await ct(e);if(!at(n))throw d.error("Error fetching data. ",{url:t,content:n,options:e}),n;return de(e,n)}const ut=async e=>{var r,s,o;const t=e.path||((r=e.url)==null?void 0:r.pathname)||((s=e.userAttributes)==null?void 0:s.urlPath),n={...e,apiKey:e.apiKey,model:e.model||"page",userAttributes:{...e.userAttributes,...t?{urlPath:t}:{}},options:P(e.searchParams||((o=e.url)==null?void 0:o.searchParams)||e.options)};return{apiKey:n.apiKey,model:n.model,content:await le(n)}};exports.TARGET=y;exports._processContentResult=de;exports._track=te;exports.checkIsDefined=p;exports.createEditorListener=se;exports.createRegisterComponentMessage=ve;exports.fetchBuilderProps=ut;exports.fetchEntries=fe;exports.fetchOneEntry=le;exports.getBuilderSearchParams=P;exports.getCookieSync=I;exports.getDefaultCanTrack=ce;exports.getUserAttributes=G;exports.handleABTestingSync=Qe;exports.isBrowser=c;exports.isEditing=$;exports.isPreviewing=we;exports.logFetch=ee;exports.logger=d;exports.register=J;exports.registerInsertMenu=We;exports.serializeIncludingFunctions=C;exports.setClientUserAttributes=qe;exports.setEditorSettings=Ee;exports.setupBrowserForEditing=re;exports.subscribeToEditor=$e;exports.track=_e;exports.userAttributesService=B;
|
|
@@ -1,166 +0,0 @@
|
|
|
1
|
-
import { jsxs as k, Fragment as A, jsx as m } from "react/jsx-runtime";
|
|
2
|
-
import { useRef as j, useState as h } from "react";
|
|
3
|
-
import { Blocks as g, set as J, get as O } from "./blocks-cd1feef2.js";
|
|
4
|
-
import { isEditing as U, logFetch as R } from "./server-entry-8dc3478a.js";
|
|
5
|
-
import "./blocks-exports.mjs";
|
|
6
|
-
import "./get-class-prop-name-5edacc3b.js";
|
|
7
|
-
import "./dynamic-renderer-8b343325.js";
|
|
8
|
-
const $ = ["production", "qa", "test", "development", "dev", "cdn-qa", "cloud", "fast", "cdn2", "cdn-prod"], q = () => {
|
|
9
|
-
const e = process.env.NODE_ENV || "production";
|
|
10
|
-
return $.includes(e) ? e : "production";
|
|
11
|
-
};
|
|
12
|
-
function _(e) {
|
|
13
|
-
const r = j(null), [T, b] = h(() => "unsubmitted"), [v, y] = h(() => null), [L, F] = h(() => "");
|
|
14
|
-
function N(s) {
|
|
15
|
-
var u, l;
|
|
16
|
-
const c = {
|
|
17
|
-
...e.builderContext.rootState,
|
|
18
|
-
...s
|
|
19
|
-
};
|
|
20
|
-
e.builderContext.rootSetState ? (l = (u = e.builderContext).rootSetState) == null || l.call(u, c) : e.builderContext.rootState = c;
|
|
21
|
-
}
|
|
22
|
-
function f() {
|
|
23
|
-
return U() && e.previewState || T;
|
|
24
|
-
}
|
|
25
|
-
function w(s) {
|
|
26
|
-
var u;
|
|
27
|
-
const c = e.sendWithJs || e.sendSubmissionsTo === "email";
|
|
28
|
-
if (e.sendSubmissionsTo === "zapier")
|
|
29
|
-
s.preventDefault();
|
|
30
|
-
else if (c) {
|
|
31
|
-
if (!(e.action || e.sendSubmissionsTo === "email")) {
|
|
32
|
-
s.preventDefault();
|
|
33
|
-
return;
|
|
34
|
-
}
|
|
35
|
-
s.preventDefault();
|
|
36
|
-
const l = s.currentTarget || s.target, S = e.customHeaders || {};
|
|
37
|
-
let d;
|
|
38
|
-
const D = new FormData(l), E = Array.from(l.querySelectorAll("input,select,textarea")).filter((t) => !!t.name).map((t) => {
|
|
39
|
-
let n;
|
|
40
|
-
const o = t.name;
|
|
41
|
-
if (t instanceof HTMLInputElement)
|
|
42
|
-
if (t.type === "radio") {
|
|
43
|
-
if (t.checked)
|
|
44
|
-
return n = t.name, {
|
|
45
|
-
key: o,
|
|
46
|
-
value: n
|
|
47
|
-
};
|
|
48
|
-
} else if (t.type === "checkbox")
|
|
49
|
-
n = t.checked;
|
|
50
|
-
else if (t.type === "number" || t.type === "range") {
|
|
51
|
-
const i = t.valueAsNumber;
|
|
52
|
-
isNaN(i) || (n = i);
|
|
53
|
-
} else
|
|
54
|
-
t.type === "file" ? n = t.files : n = t.value;
|
|
55
|
-
else
|
|
56
|
-
n = t.value;
|
|
57
|
-
return {
|
|
58
|
-
key: o,
|
|
59
|
-
value: n
|
|
60
|
-
};
|
|
61
|
-
});
|
|
62
|
-
let a = e.contentType;
|
|
63
|
-
if (e.sendSubmissionsTo === "email" && (a = "multipart/form-data"), Array.from(E).forEach(({ value: t }) => {
|
|
64
|
-
(t instanceof File || Array.isArray(t) && t[0] instanceof File || t instanceof FileList) && (a = "multipart/form-data");
|
|
65
|
-
}), a !== "application/json")
|
|
66
|
-
d = D;
|
|
67
|
-
else {
|
|
68
|
-
const t = {};
|
|
69
|
-
Array.from(E).forEach(({ value: n, key: o }) => {
|
|
70
|
-
J(t, o, n);
|
|
71
|
-
}), d = JSON.stringify(t);
|
|
72
|
-
}
|
|
73
|
-
a && a !== "multipart/form-data" && (c && ((u = e.action) != null && u.includes("zapier.com")) || (S["content-type"] = a));
|
|
74
|
-
const x = new CustomEvent("presubmit", { detail: { body: d } });
|
|
75
|
-
if (r.current && (r.current.dispatchEvent(x), x.defaultPrevented))
|
|
76
|
-
return;
|
|
77
|
-
b("sending");
|
|
78
|
-
const P = `${q() === "dev" ? "http://localhost:5000" : "https://builder.io"}/api/v1/form-submit?apiKey=${e.builderContext.apiKey}&to=${btoa(
|
|
79
|
-
e.sendSubmissionsToEmail || ""
|
|
80
|
-
)}&name=${encodeURIComponent(e.name || "")}`, C = e.sendSubmissionsTo === "email" ? P : e.action;
|
|
81
|
-
R(C), fetch(C, { body: d, headers: S, method: e.method || "post" }).then(
|
|
82
|
-
async (t) => {
|
|
83
|
-
let n;
|
|
84
|
-
const o = t.headers.get("content-type");
|
|
85
|
-
if (o && o.indexOf("application/json") !== -1 ? n = await t.json() : n = await t.text(), !t.ok && e.errorMessagePath) {
|
|
86
|
-
let i = O(n, e.errorMessagePath);
|
|
87
|
-
i && (typeof i != "string" && (i = JSON.stringify(i)), F(i), N({ formErrorMessage: i }));
|
|
88
|
-
}
|
|
89
|
-
if (y(n), b(t.ok ? "success" : "error"), t.ok) {
|
|
90
|
-
const i = new CustomEvent("submit:success", {
|
|
91
|
-
detail: { res: t, body: n }
|
|
92
|
-
});
|
|
93
|
-
if (r.current) {
|
|
94
|
-
if (r.current.dispatchEvent(i), i.defaultPrevented)
|
|
95
|
-
return;
|
|
96
|
-
e.resetFormOnSubmit !== !1 && r.current.reset();
|
|
97
|
-
}
|
|
98
|
-
if (e.successUrl)
|
|
99
|
-
if (r.current) {
|
|
100
|
-
const M = new CustomEvent("route", {
|
|
101
|
-
detail: { url: e.successUrl }
|
|
102
|
-
});
|
|
103
|
-
r.current.dispatchEvent(M), M.defaultPrevented || (location.href = e.successUrl);
|
|
104
|
-
} else
|
|
105
|
-
location.href = e.successUrl;
|
|
106
|
-
}
|
|
107
|
-
},
|
|
108
|
-
(t) => {
|
|
109
|
-
const n = new CustomEvent("submit:error", {
|
|
110
|
-
detail: { error: t }
|
|
111
|
-
});
|
|
112
|
-
r.current && (r.current.dispatchEvent(n), n.defaultPrevented) || (y(t), b("error"));
|
|
113
|
-
}
|
|
114
|
-
);
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
return /* @__PURE__ */ k(A, { children: [
|
|
118
|
-
" ",
|
|
119
|
-
/* @__PURE__ */ m("style", { children: ".pre-7acc3b46 { padding: 10px; color: red; text-align: center; }" }),
|
|
120
|
-
" ",
|
|
121
|
-
/* @__PURE__ */ k(
|
|
122
|
-
"form",
|
|
123
|
-
{
|
|
124
|
-
validate: e.validate,
|
|
125
|
-
ref: r,
|
|
126
|
-
action: !e.sendWithJs && e.action,
|
|
127
|
-
method: e.method,
|
|
128
|
-
name: e.name,
|
|
129
|
-
onSubmit: (s) => w(s),
|
|
130
|
-
...e.attributes,
|
|
131
|
-
children: [
|
|
132
|
-
e.children,
|
|
133
|
-
f() === "error" ? /* @__PURE__ */ m(
|
|
134
|
-
g,
|
|
135
|
-
{
|
|
136
|
-
path: "errorMessage",
|
|
137
|
-
blocks: e.errorMessage,
|
|
138
|
-
context: e.builderContext
|
|
139
|
-
}
|
|
140
|
-
) : null,
|
|
141
|
-
f() === "sending" ? /* @__PURE__ */ m(
|
|
142
|
-
g,
|
|
143
|
-
{
|
|
144
|
-
path: "sendingMessage",
|
|
145
|
-
blocks: e.sendingMessage,
|
|
146
|
-
context: e.builderContext
|
|
147
|
-
}
|
|
148
|
-
) : null,
|
|
149
|
-
f() === "error" && v ? /* @__PURE__ */ m("pre", { className: "builder-form-error-text pre-7acc3b46", children: JSON.stringify(v, null, 2) }) : null,
|
|
150
|
-
f() === "success" ? /* @__PURE__ */ m(
|
|
151
|
-
g,
|
|
152
|
-
{
|
|
153
|
-
path: "successMessage",
|
|
154
|
-
blocks: e.successMessage,
|
|
155
|
-
context: e.builderContext
|
|
156
|
-
}
|
|
157
|
-
) : null
|
|
158
|
-
]
|
|
159
|
-
}
|
|
160
|
-
),
|
|
161
|
-
" "
|
|
162
|
-
] });
|
|
163
|
-
}
|
|
164
|
-
export {
|
|
165
|
-
_ as default
|
|
166
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react/jsx-runtime"),h=require("react"),f=require("./blocks-eb6fa21f.cjs"),j=require("./server-entry-9d269960.cjs");require("./blocks-exports.cjs");require("./get-class-prop-name-c479656a.cjs");require("./dynamic-renderer-b29b45ca.cjs");const P=["production","qa","test","development","dev","cdn-qa","cloud","fast","cdn2","cdn-prod"],D=()=>{const e=process.env.NODE_ENV||"production";return P.includes(e)?e:"production"};function A(e){const s=h.useRef(null),[M,g]=h.useState(()=>"unsubmitted"),[y,S]=h.useState(()=>null),[O,T]=h.useState(()=>"");function q(i){var l,d;const u={...e.builderContext.rootState,...i};e.builderContext.rootSetState?(d=(l=e.builderContext).rootSetState)==null||d.call(l,u):e.builderContext.rootState=u}function m(){return j.isEditing()&&e.previewState||M}function F(i){var l;const u=e.sendWithJs||e.sendSubmissionsTo==="email";if(e.sendSubmissionsTo==="zapier")i.preventDefault();else if(u){if(!(e.action||e.sendSubmissionsTo==="email")){i.preventDefault();return}i.preventDefault();const d=i.currentTarget||i.target,v=e.customHeaders||{};let b;const N=new FormData(d),x=Array.from(d.querySelectorAll("input,select,textarea")).filter(t=>!!t.name).map(t=>{let n;const a=t.name;if(t instanceof HTMLInputElement)if(t.type==="radio"){if(t.checked)return n=t.name,{key:a,value:n}}else if(t.type==="checkbox")n=t.checked;else if(t.type==="number"||t.type==="range"){const r=t.valueAsNumber;isNaN(r)||(n=r)}else t.type==="file"?n=t.files:n=t.value;else n=t.value;return{key:a,value:n}});let c=e.contentType;if(e.sendSubmissionsTo==="email"&&(c="multipart/form-data"),Array.from(x).forEach(({value:t})=>{(t instanceof File||Array.isArray(t)&&t[0]instanceof File||t instanceof FileList)&&(c="multipart/form-data")}),c!=="application/json")b=N;else{const t={};Array.from(x).forEach(({value:n,key:a})=>{f.set(t,a,n)}),b=JSON.stringify(t)}c&&c!=="multipart/form-data"&&(u&&((l=e.action)!=null&&l.includes("zapier.com"))||(v["content-type"]=c));const E=new CustomEvent("presubmit",{detail:{body:b}});if(s.current&&(s.current.dispatchEvent(E),E.defaultPrevented))return;g("sending");const w=`${D()==="dev"?"http://localhost:5000":"https://builder.io"}/api/v1/form-submit?apiKey=${e.builderContext.apiKey}&to=${btoa(e.sendSubmissionsToEmail||"")}&name=${encodeURIComponent(e.name||"")}`,C=e.sendSubmissionsTo==="email"?w:e.action;j.logFetch(C),fetch(C,{body:b,headers:v,method:e.method||"post"}).then(async t=>{let n;const a=t.headers.get("content-type");if(a&&a.indexOf("application/json")!==-1?n=await t.json():n=await t.text(),!t.ok&&e.errorMessagePath){let r=f.get(n,e.errorMessagePath);r&&(typeof r!="string"&&(r=JSON.stringify(r)),T(r),q({formErrorMessage:r}))}if(S(n),g(t.ok?"success":"error"),t.ok){const r=new CustomEvent("submit:success",{detail:{res:t,body:n}});if(s.current){if(s.current.dispatchEvent(r),r.defaultPrevented)return;e.resetFormOnSubmit!==!1&&s.current.reset()}if(e.successUrl)if(s.current){const k=new CustomEvent("route",{detail:{url:e.successUrl}});s.current.dispatchEvent(k),k.defaultPrevented||(location.href=e.successUrl)}else location.href=e.successUrl}},t=>{const n=new CustomEvent("submit:error",{detail:{error:t}});s.current&&(s.current.dispatchEvent(n),n.defaultPrevented)||(S(t),g("error"))})}}return o.jsxs(o.Fragment,{children:[" ",o.jsx("style",{children:".pre-7acc3b46 { padding: 10px; color: red; text-align: center; }"})," ",o.jsxs("form",{validate:e.validate,ref:s,action:!e.sendWithJs&&e.action,method:e.method,name:e.name,onSubmit:i=>F(i),...e.attributes,children:[e.children,m()==="error"?o.jsx(f.Blocks,{path:"errorMessage",blocks:e.errorMessage,context:e.builderContext}):null,m()==="sending"?o.jsx(f.Blocks,{path:"sendingMessage",blocks:e.sendingMessage,context:e.builderContext}):null,m()==="error"&&y?o.jsx("pre",{className:"builder-form-error-text pre-7acc3b46",children:JSON.stringify(y,null,2)}):null,m()==="success"?o.jsx(f.Blocks,{path:"successMessage",blocks:e.successMessage,context:e.builderContext}):null]})," "]})}exports.default=A;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),l=require("react"),k=require("./blocks-eb6fa21f.cjs"),r=require("./content-variants-c72ca81f.cjs"),s=require("./server-entry-9d269960.cjs"),U=require("./get-class-prop-name-c479656a.cjs");require("./blocks-exports.cjs");require("./dynamic-renderer-b29b45ca.cjs");function O(e){var f,B,R,g,m,P,y,A,T,$,I,j,D;const u=l.useRef(null),[V,q]=l.useState(()=>s.userAttributesService.getUserAttributes()),[C,F]=l.useState(()=>{var t,n,i;return r.getPersonalizationScript(e.variants,((t=e.builderBlock)==null?void 0:t.id)||"none",(i=(n=e.builderContext)==null?void 0:n.rootState)==null?void 0:i.locale)}),[N,H]=l.useState(()=>{var t,n,i;return r.getUpdateVisibilityStylesScript(e.variants,((t=e.builderBlock)==null?void 0:t.id)||"none",(i=(n=e.builderContext)==null?void 0:n.rootState)==null?void 0:i.locale)}),[x,L]=l.useState(()=>[]),[E,z]=l.useState(()=>{var t;return r.checkShouldRenderVariants(e.variants,s.getDefaultCanTrack((t=e.builderContext)==null?void 0:t.canTrack))}),[v,W]=l.useState(()=>!1);function w(){return{...e.attributes,[U.getClassPropName()]:`builder-personalization-container ${e.attributes[U.getClassPropName()]||""}`}}function h(){return(e.variants||[]).filter(t=>{var n,i,d,c;return r.filterWithCustomTargeting({...(i=(n=e.builderContext)==null?void 0:n.rootState)!=null&&i.locale?{locale:(c=(d=e.builderContext)==null?void 0:d.rootState)==null?void 0:c.locale}:{},...V},t.query,t.startDate,t.endDate)})}function o(){var t;return r.getBlocksToRender({variants:e.variants,fallbackBlocks:(t=e.builderBlock)==null?void 0:t.children,isHydrated:v,filteredVariants:h(),previewingIndex:e.previewingIndex})}function G(){return(e.variants||[]).map((t,n)=>{var i;return`div[data-variant-id="${(i=e.builderBlock)==null?void 0:i.id}-${n}"] { display: none !important; } `}).join("")}return l.useEffect(()=>{var n;W(!0);const t=s.userAttributesService.subscribeOnUserAttributesChange(i=>{q(i)});if(!(s.isEditing()||s.isPreviewing())){const i=h()[0];u.current&&(u.current.dispatchEvent(new CustomEvent("builder.variantLoaded",{detail:{variant:i||r.DEFAULT_INDEX,content:(n=e.builderContext)==null?void 0:n.content},bubbles:!0})),new IntersectionObserver(c=>{c.forEach(S=>{var b;S.isIntersecting&&u.current&&u.current.dispatchEvent(new CustomEvent("builder.variantDisplayed",{detail:{variant:i||r.DEFAULT_INDEX,content:(b=e.builderContext)==null?void 0:b.content},bubbles:!0}))})}).observe(u.current))}x.push(t)},[]),l.useEffect(()=>()=>{x.forEach(t=>t())},[]),a.jsxs("div",{ref:u,...w(),children:[v&&r.SDKS_REQUIRING_RESET_APPROACH.includes(s.TARGET)?a.jsx(k.Blocks,{blocks:o().blocks,parent:(f=e.builderBlock)==null?void 0:f.id,path:o().path,context:e.builderContext,registeredComponents:e.builderComponents,BlocksWrapperProps:{...(B=e.builderContext)==null?void 0:B.BlocksWrapperProps,"data-variant-id":`${(R=e.builderBlock)==null?void 0:R.id}-${o().index}`}}):null,!v&&r.SDKS_REQUIRING_RESET_APPROACH.includes(s.TARGET)||!r.SDKS_REQUIRING_RESET_APPROACH.includes(s.TARGET)?a.jsxs(a.Fragment,{children:[E?a.jsxs(a.Fragment,{children:[a.jsx(k.InlinedStyles,{nonce:((g=e.builderContext)==null?void 0:g.nonce)||"",styles:G(),id:`variants-styles-${(m=e.builderBlock)==null?void 0:m.id}`}),a.jsx(r.InlinedScript,{nonce:((P=e.builderContext)==null?void 0:P.nonce)||"",scriptStr:N,id:`variants-visibility-script-${(y=e.builderBlock)==null?void 0:y.id}`}),(A=e.variants)==null?void 0:A.map((t,n)=>{var i,d,c,S,b,_;return a.jsx(k.Blocks,{BlocksWrapperProps:{...(i=e.builderContext)==null?void 0:i.BlocksWrapperProps,"aria-hidden":!0,hidden:!0,"data-variant-id":`${(d=e.builderBlock)==null?void 0:d.id}-${n}`},blocks:t.blocks,parent:(c=e.builderBlock)==null?void 0:c.id,path:`component.options.variants.${n}.blocks`,context:e.builderContext,registeredComponents:e.builderComponents,children:a.jsx(r.InlinedScript,{nonce:((S=e.builderContext)==null?void 0:S.nonce)||"",scriptStr:C,id:`variants-script-${(b=e.builderBlock)==null?void 0:b.id}-${n}`})},`${(_=e.builderBlock)==null?void 0:_.id}-${n}`)})]}):null,a.jsx(k.Blocks,{blocks:o().blocks,parent:(T=e.builderBlock)==null?void 0:T.id,path:o().path,context:e.builderContext,registeredComponents:e.builderComponents,BlocksWrapperProps:{...($=e.builderContext)==null?void 0:$.BlocksWrapperProps,"data-variant-id":`${(I=e.builderBlock)==null?void 0:I.id}-${o().index}`},children:E?a.jsx(r.InlinedScript,{nonce:((j=e.builderContext)==null?void 0:j.nonce)||"",scriptStr:C,id:`variants-script-${(D=e.builderBlock)==null?void 0:D.id}-${r.DEFAULT_INDEX}`}):null})]}):null]})}exports.default=O;
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";function c(){return typeof window!="undefined"&&typeof document!="undefined"}const E="[Builder.io]: ",d={log:(...e)=>console.log(E,...e),error:(...e)=>console.error(E,...e),warn:(...e)=>console.warn(E,...e),debug:(...e)=>console.debug(E,...e)},p=e=>e!=null,me=e=>{if(e==="localhost"||e==="127.0.0.1")return e;const t=e.split(".");return t.length>2?t.slice(1).join("."):e},I=({name:e,canTrack:t})=>{var n;try{return t?(n=document.cookie.split("; ").find(r=>r.startsWith(`${e}=`)))==null?void 0:n.split("=")[1]:void 0}catch(r){d.warn("[COOKIE] GET error: ",(r==null?void 0:r.message)||r);return}},j=async e=>I(e),be=e=>e.map(([t,n])=>n?`${t}=${n}`:t).filter(p).join("; "),ye=[["secure",""],["SameSite","None"]],Se=({name:e,value:t,expires:n})=>{const s=(c()?location.protocol==="https:":!0)?ye:[[]],o=n?[["expires",n.toUTCString()]]:[[]],i=[[e,t],...o,["path","/"],["domain",me(window.location.hostname)],...s];return be(i)},C=async({name:e,value:t,expires:n,canTrack:r})=>{try{if(!r)return;const s=Se({name:e,value:t,expires:n});document.cookie=s}catch(s){d.warn("[COOKIE] SET error: ",(s==null?void 0:s.message)||s)}},F="builder.userAttributes";function we(){let e=!0;const t=new Set;return{setUserAttributes(n){if(!c())return;const r={...this.getUserAttributes(),...n};C({name:F,value:JSON.stringify(r),canTrack:e}),t.forEach(s=>s(r))},getUserAttributes(){return c()?JSON.parse(I({name:F,canTrack:e})||"{}"):{}},subscribeOnUserAttributesChange(n){return t.add(n),()=>{t.delete(n)}},setCanTrack(n){e=n}}}const P=we(),ve=e=>{P.setUserAttributes(e)},y="react",ke=e=>{const t={};return e.forEach((n,r)=>{t[r]=n}),t},W=e=>e instanceof URLSearchParams?ke(e):e,$=e=>typeof e=="string"?e:e instanceof URLSearchParams?e.toString():new URLSearchParams(e).toString();function Ee(){return c()&&window.self!==window.top}function G(e){return Ee()&&$(e||window.location.search).indexOf("builder.frameEditing=")!==-1}function Ie(e){const t=e||(c()?window.location.search:void 0);return t?$(t).indexOf("builder.preview=")!==-1:!1}const Ae=e=>({type:"builder.registerComponent",data:U(e)}),Oe=e=>{const t=e.toString().trim(),n=/^[a-zA-Z0-9_]+\s*=>/i.test(t);return`return (${!t.startsWith("function")&&!t.startsWith("async")&&!t.startsWith("(")&&!n?"function ":""}${t}).apply(this, arguments)`};function U(e){return JSON.parse(JSON.stringify(e,(t,n)=>typeof n=="function"?Oe(n):n))}const V={};function J(e,t){e==="plugin"&&(t=U(t));let n=V[e];if(n||(n=V[e]=[]),n.push(t),c()){const r={type:"builder.register",data:{type:e,info:t}};try{parent.postMessage(r,"*"),parent!==window&&window.postMessage(r,"*")}catch(s){console.debug("Could not postmessage",s)}}}const D={};function Ce(e){if(c()){Object.assign(D,e);const t={type:"builder.settingsChange",data:D};parent.postMessage(t,"*")}}const M="builder.",Pe="options.",T=e=>{if(!e)return{};const t=W(e),n={};return Object.keys(t).forEach(r=>{if(r.startsWith(M)){const s=r.replace(M,"").replace(Pe,"");n[s]=t[r]}}),n},Ue=()=>{if(!c())return{};const e=new URLSearchParams(window.location.search);return T(e)},z="4.0.9",X=()=>({"X-Builder-SDK":y,"X-Builder-SDK-GEN":"2","X-Builder-SDK-Version":z});function Te(){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 H(){return Te().replace(/-/g,"")}const Q="builderSessionId",Be=async({canTrack:e})=>{if(!e)return;const t=await j({name:Q,canTrack:e});if(p(t))return t;{const n=xe();return Re({id:n,canTrack:e}),n}},xe=()=>H(),Re=({id:e,canTrack:t})=>C({name:Q,value:e,canTrack:t}),Y=()=>c()&&typeof localStorage!="undefined"?localStorage:void 0,Le=({key:e,canTrack:t})=>{var n;try{return t?(n=Y())==null?void 0:n.getItem(e):void 0}catch(r){console.debug("[LocalStorage] GET error: ",r);return}},Ne=({key:e,canTrack:t,value:n})=>{var r;try{t&&((r=Y())==null||r.setItem(e,n))}catch(s){console.debug("[LocalStorage] SET error: ",s)}},Z="builderVisitorId",Fe=({canTrack:e})=>{if(!e)return;const t=Le({key:Z,canTrack:e});if(p(t))return t;{const n=Ve();return De({id:n,canTrack:e}),n}},Ve=()=>H(),De=({id:e,canTrack:t})=>Ne({key:Z,value:e,canTrack:t});function q(e){var t;typeof process!="undefined"&&((t=process.env)!=null&&t.DEBUG)&&String(process.env.DEBUG)=="true"&&d.log(e)}const Me=()=>{if(c()){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},Ke=()=>typeof navigator=="object"&&navigator.userAgent||"",ee=()=>{const e=Ke(),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()||y==="reactNative"}},n=e.match(/Tablet|iPad/i),r=Me();return{urlPath:r==null?void 0:r.pathname,host:(r==null?void 0:r.host)||(r==null?void 0:r.hostname),device:n?"tablet":t.any()?"mobile":"desktop"}},_e=async({canTrack:e})=>{if(!e)return{visitorId:void 0,sessionId:void 0};const t=await Be({canTrack:e}),n=Fe({canTrack:e});return{sessionId:t,visitorId:n}},je=async({type:e,canTrack:t,apiKey:n,metadata:r,...s})=>({type:e,data:{...s,metadata:{url:location.href,...r},...await _e({canTrack:t}),userAttributes:ee(),ownerId:n}});async function te({apiHost:e,...t}){if(!t.apiKey){d.error("Missing API key for track call. Please provide your API key.");return}if(!t.canTrack||G()||!(c()||y==="reactNative"))return;const r=`${e||"https://cdn.builder.io"}/api/v1/track`;return q(r),fetch(r,{method:"POST",body:JSON.stringify({events:[await je(t)]}),headers:{"content-type":"application/json",...X()},mode:"cors"}).catch(s=>{console.error("Failed to track: ",s)})}const We=e=>te({...e,canTrack:!0}),$e=["*.beta.builder.io","beta.builder.io","builder.io","localhost","qa.builder.io"];function ne(e,t){if(!t.origin.startsWith("http")&&!t.origin.startsWith("https"))return!1;const n=new URL(t.origin),r=n.hostname;return(e||$e).findIndex(s=>s.startsWith("*.")?r.endsWith(s.slice(1)):s===r)>-1}const Ge=()=>{J("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 K=!1;const re=e=>{var t,n;K||(K=!0,c()&&((t=window.parent)==null||t.postMessage({type:"builder.sdkInfo",data:{target:y,version:z,supportsPatchUpdates:!1,supportsAddBlockScoping:!0,supportsCustomBreakpoints:!0,modelName:e.modelName,apiKey:e.apiKey,supportsXSmallBreakpoint:!0,blockLevelPersonalization:!0}},"*"),(n=window.parent)==null||n.postMessage({type:"builder.updateContent",data:{options:e}},"*"),window.addEventListener("message",r=>{var o,i;if(!ne(e.trustedHosts,r))return;const{data:s}=r;if(s!=null&&s.type)switch(s.type){case"builder.evaluate":{const u=s.data.text,S=s.data.arguments||[],m=s.data.id,w=new Function(u);let l,g=null;try{l=w.apply(null,S)}catch(h){g=h}g?(o=window.parent)==null||o.postMessage({type:"builder.evaluateError",data:{id:m,error:g.message}},"*"):l&&typeof l.then=="function"?l.then(h=>{var v;(v=window.parent)==null||v.postMessage({type:"builder.evaluateResult",data:{id:m,result:h}},"*")}).catch(console.error):(i=window.parent)==null||i.postMessage({type:"builder.evaluateResult",data:{result:l,id:m}},"*");break}}})))},se=({model:e,trustedHosts:t,callbacks:n})=>r=>{if(!ne(t,r))return;const{data:s}=r;if(s)switch(s.type){case"builder.configureSdk":{n.configureSdk(s.data);break}case"builder.triggerAnimation":{n.animation(s.data);break}case"builder.resetState":{const o=s.data,i=o.model,u=o==null?void 0:o.state;i===e&&u&&n.stateUpdate(u);break}case"builder.contentUpdate":{const o=s.data,i=o.key||o.alias||o.entry||o.modelName,u=o.data;i===e&&n.contentUpdate(u);break}}},Je=({model:e,apiKey:t,callback:n,trustedHosts:r})=>{if(!c)return d.warn("`subscribeToEditor` only works in the browser. It currently seems to be running on the server."),()=>{};re({modelName:e,apiKey:t});const s=se({callbacks:{contentUpdate:n,animation:()=>{},configureSdk:()=>{},stateUpdate:()=>{}},model:e,trustedHosts:r});return window.addEventListener("message",s),()=>{window.removeEventListener("message",s)}},ze="builder.tests",B=e=>`${ze}.${e}`,Xe=({contentId:e})=>j({name:B(e),canTrack:!0}),He=({contentId:e})=>I({name:B(e),canTrack:!0}),Qe=({contentId:e,value:t})=>C({name:B(e),value:t,canTrack:!0}),oe=e=>p(e.id)&&p(e.variations)&&Object.keys(e.variations).length>0,Ye=({id:e,variations:t})=>{var s;let n=0;const r=Math.random();for(const o in t){const i=(s=t[o])==null?void 0:s.testRatio;if(n+=i,r<n)return o}return e},ie=e=>{const t=Ye(e);return Qe({contentId:e.id,value:t}).catch(n=>{d.error("could not store A/B test variation: ",n)}),t},ae=({item:e,testGroupId:t})=>{const n=e.variations[t];return t===e.id||!n?{testVariationId:e.id,testVariationName:"Default"}:{data:n.data,testVariationId:n.id,testVariationName:n.name||(n.id===e.id?"Default":"")}},Ze=({item:e,canTrack:t})=>{if(!t)return e;if(!e)return;if(!oe(e))return e;const n=He({contentId:e.id})||ie({variations:e.variations,id:e.id}),r=ae({item:e,testGroupId:n});return{...e,...r}},qe=async({item:e,canTrack:t})=>{if(!t||!oe(e))return e;const r=await Xe({contentId:e.id})||ie({variations:e.variations,id:e.id}),s=ae({item:e,testGroupId:r});return{...e,...s}},ce=e=>{const t=p(e)?e:!0;return P.setCanTrack(t),t};function et(){return typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:globalThis}function tt(){const e=et().fetch;if(typeof e=="undefined")throw console.warn(`Builder SDK could not find a global fetch function. Make sure you have a polyfill for fetch in your project.
|
|
2
|
-
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 nt=tt();function O(e,t=null,n="."){return Object.keys(e).reduce((r,s)=>{const o=e[s],i=[t,s].filter(Boolean).join(n);return[typeof o=="object",o!==null,!(Array.isArray(o)&&o.length===0)].every(Boolean)?{...r,...O(o,i,n)}:{...r,[i]:o}},{})}function ue(e,t,n={}){for(const r in e){const s=e[r],o=t?t+"."+r:r;s&&typeof s=="object"&&!Array.isArray(s)&&!Object.keys(s).find(i=>i.startsWith("$"))?ue(s,o,n):n[o]=s}return n}function rt(e){const t={};for(const n in e){const r=n.split(".");let s=t;for(let o=0;o<r.length;o++){const i=r[o];o===r.length-1?s[i]=e[n]:(s[i]=s[i]||{},s=s[i])}}return t}const st="v3",_=e=>typeof e=="number"&&!isNaN(e)&&e>=0,x=e=>{const{limit:t=30,userAttributes:n,query:r,model:s,apiKey:o,enrich:i,locale:u,apiVersion:S=st,fields:m,omit:w,offset:l,cacheSeconds:g,staleCacheSeconds:h,sort:v,includeUnpublished:R,apiHost:ge}=e;if(!o)throw new Error("Missing API key");if(!["v3"].includes(S))throw new Error(`Invalid apiVersion: expected 'v3', received '${S}'`);const he=t!==1,pe=ge||"https://cdn.builder.io",a=new URL(`${pe}/api/${S}/content/${s}`);a.searchParams.set("apiKey",o),a.searchParams.set("limit",String(t)),a.searchParams.set("noTraverse",String(he)),a.searchParams.set("includeRefs",String(!0));const A=u||(n==null?void 0:n.locale);let b=n||{};if(A&&(a.searchParams.set("locale",A),b={locale:A,...b}),i&&a.searchParams.set("enrich",String(i)),a.searchParams.set("omit",w!=null?w:"meta.componentsUsed"),m&&a.searchParams.set("fields",m),Number.isFinite(l)&&l>-1&&a.searchParams.set("offset",String(Math.floor(l))),typeof R=="boolean"&&a.searchParams.set("includeUnpublished",String(R)),g&&_(g)&&a.searchParams.set("cacheSeconds",String(g)),h&&_(h)&&a.searchParams.set("staleCacheSeconds",String(h)),v){const f=O({sort:v});for(const k in f)a.searchParams.set(k,JSON.stringify(f[k]))}const L={...Ue(),...W(e.options||{})};b={...b,...it(L)};const N=O(L);for(const f in N)a.searchParams.set(f,String(N[f]));if(Object.keys(b).length>0&&a.searchParams.set("userAttributes",JSON.stringify(b)),r){const f=ue({query:r});for(const k in f)a.searchParams.set(k,JSON.stringify(f[k]))}return a},ot=e=>{const t={};for(const n in e)n.startsWith("userAttributes.")&&(t[n]=e[n],delete e[n]);return t},it=e=>{if(c()&&e.preview==="BUILDER_STUDIO"){e["userAttributes.urlPath"]=window.location.pathname,e["userAttributes.host"]=window.location.host;const t=ot(e),{userAttributes:n}=rt(t);return n}return{}},at=e=>"results"in e;async function le(e){const t=await fe({...e,limit:1});return t&&t[0]||null}const ct=async e=>{var i,u;const t=x(e),n=(i=e.fetch)!=null?i:nt,r={...e.fetchOptions,headers:{...(u=e.fetchOptions)==null?void 0:u.headers,...X()}};return await(await n(t.href,r)).json()},de=async(e,t,n=x(e))=>{const r=ce(e.canTrack);if(n.search.includes("preview="),!r||!(c()||y==="reactNative"))return t.results;try{const s=[];for(const o of t.results)s.push(await qe({item:o,canTrack:r}));t.results=s}catch(s){d.error("Could not process A/B tests. ",s)}return t.results};async function fe(e){const t=x(e),n=await ct(e);if(!at(n))throw d.error("Error fetching data. ",{url:t,content:n,options:e}),n;return de(e,n)}const ut=async e=>{var r,s,o;const t=e.path||((r=e.url)==null?void 0:r.pathname)||((s=e.userAttributes)==null?void 0:s.urlPath),n={...e,apiKey:e.apiKey,model:e.model||"page",userAttributes:{...e.userAttributes,...t?{urlPath:t}:{}},options:T(e.searchParams||((o=e.url)==null?void 0:o.searchParams)||e.options)};return{apiKey:n.apiKey,model:n.model,content:await le(n)}};exports.TARGET=y;exports._processContentResult=de;exports._track=te;exports.checkIsDefined=p;exports.createEditorListener=se;exports.createRegisterComponentMessage=Ae;exports.fetchBuilderProps=ut;exports.fetchEntries=fe;exports.fetchOneEntry=le;exports.getBuilderSearchParams=T;exports.getCookieSync=I;exports.getDefaultCanTrack=ce;exports.getUserAttributes=ee;exports.handleABTestingSync=Ze;exports.isBrowser=c;exports.isEditing=G;exports.isPreviewing=Ie;exports.logFetch=q;exports.logger=d;exports.register=J;exports.registerInsertMenu=Ge;exports.serializeIncludingFunctions=U;exports.setClientUserAttributes=ve;exports.setEditorSettings=Ce;exports.setupBrowserForEditing=re;exports.subscribeToEditor=Je;exports.track=We;exports.userAttributesService=P;
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";const y="react",I="[Builder.io]: ",d={log:(...e)=>console.log(I,...e),error:(...e)=>console.error(I,...e),warn:(...e)=>console.warn(I,...e),debug:(...e)=>console.debug(I,...e)};function c(){return typeof window!="undefined"&&typeof document!="undefined"}const me=e=>{const t={};return e.forEach((n,r)=>{t[r]=n}),t},j=e=>e instanceof URLSearchParams?me(e):e,W=e=>typeof e=="string"?e:e instanceof URLSearchParams?e.toString():new URLSearchParams(e).toString();function be(){return c()&&window.self!==window.top}function G(e){return be()&&W(e||window.location.search).indexOf("builder.frameEditing=")!==-1}const ye=()=>{if(c()){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},Se=()=>typeof navigator=="object"&&navigator.userAgent||"",$=()=>{const e=Se(),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()||y==="reactNative"}},n=e.match(/Tablet|iPad/i),r=ye();return{urlPath:r==null?void 0:r.pathname,host:(r==null?void 0:r.host)||(r==null?void 0:r.hostname),device:n?"tablet":t.any()?"mobile":"desktop"}},p=e=>e!=null;function we(e){const t=e||(c()?window.location.search:void 0);return t?W(t).indexOf("builder.preview=")!==-1:!1}const ve=e=>({type:"builder.registerComponent",data:P(e)}),Ee=e=>{const t=e.toString().trim(),n=/^[a-zA-Z0-9_]+\s*=>/i.test(t);return`return (${!t.startsWith("function")&&!t.startsWith("async")&&!t.startsWith("(")&&!n?"function ":""}${t}).apply(this, arguments)`};function P(e){return JSON.parse(JSON.stringify(e,(t,n)=>typeof n=="function"?Ee(n):n))}const F={};function J(e,t){e==="plugin"&&(t=P(t));let n=F[e];if(n||(n=F[e]=[]),n.push(t),c()){const r={type:"builder.register",data:{type:e,info:t}};try{parent.postMessage(r,"*"),parent!==window&&window.postMessage(r,"*")}catch(s){console.debug("Could not postmessage",s)}}}const V={};function Ie(e){if(c()){Object.assign(V,e);const t={type:"builder.settingsChange",data:V};parent.postMessage(t,"*")}}const M="builder.",ke="options.",C=e=>{if(!e)return{};const t=j(e),n={};return Object.keys(t).forEach(r=>{if(r.startsWith(M)){const s=r.replace(M,"").replace(ke,"");n[s]=t[r]}}),n},Ae=()=>{if(!c())return{};const e=new URLSearchParams(window.location.search);return C(e)},X="4.0.9",z=()=>({"X-Builder-SDK":y,"X-Builder-SDK-GEN":"2","X-Builder-SDK-Version":X}),Oe=e=>{if(e==="localhost"||e==="127.0.0.1")return e;const t=e.split(".");return t.length>2?t.slice(1).join("."):e},k=({name:e,canTrack:t})=>{var n;try{return t?(n=document.cookie.split("; ").find(r=>r.startsWith(`${e}=`)))==null?void 0:n.split("=")[1]:void 0}catch(r){d.warn("[COOKIE] GET error: ",(r==null?void 0:r.message)||r);return}},H=async e=>k(e),Pe=e=>e.map(([t,n])=>n?`${t}=${n}`:t).filter(p).join("; "),Ce=[["secure",""],["SameSite","None"]],Ue=({name:e,value:t,expires:n})=>{const s=(c()?location.protocol==="https:":!0)?Ce:[[]],o=n?[["expires",n.toUTCString()]]:[[]],i=[[e,t],...o,["path","/"],["domain",Oe(window.location.hostname)],...s];return Pe(i)},U=async({name:e,value:t,expires:n,canTrack:r})=>{try{if(!r)return;const s=Ue({name:e,value:t,expires:n});document.cookie=s}catch(s){d.warn("[COOKIE] SET error: ",(s==null?void 0:s.message)||s)}};function Te(){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 Q(){return Te().replace(/-/g,"")}const Y="builderSessionId",Be=async({canTrack:e})=>{if(!e)return;const t=await H({name:Y,canTrack:e});if(p(t))return t;{const n=Re();return xe({id:n,canTrack:e}),n}},Re=()=>Q(),xe=({id:e,canTrack:t})=>U({name:Y,value:e,canTrack:t}),Z=()=>c()&&typeof localStorage!="undefined"?localStorage:void 0,Le=({key:e,canTrack:t})=>{var n;try{return t?(n=Z())==null?void 0:n.getItem(e):void 0}catch(r){console.debug("[LocalStorage] GET error: ",r);return}},Ne=({key:e,canTrack:t,value:n})=>{var r;try{t&&((r=Z())==null||r.setItem(e,n))}catch(s){console.debug("[LocalStorage] SET error: ",s)}},q="builderVisitorId",Fe=({canTrack:e})=>{if(!e)return;const t=Le({key:q,canTrack:e});if(p(t))return t;{const n=Ve();return Me({id:n,canTrack:e}),n}},Ve=()=>Q(),Me=({id:e,canTrack:t})=>Ne({key:q,value:e,canTrack:t});function ee(e){var t;typeof process!="undefined"&&((t=process.env)!=null&&t.DEBUG)&&String(process.env.DEBUG)=="true"&&d.log(e)}const De=async({canTrack:e})=>{if(!e)return{visitorId:void 0,sessionId:void 0};const t=await Be({canTrack:e}),n=Fe({canTrack:e});return{sessionId:t,visitorId:n}},Ke=async({type:e,canTrack:t,apiKey:n,metadata:r,...s})=>({type:e,data:{...s,metadata:{url:location.href,...r},...await De({canTrack:t}),userAttributes:$(),ownerId:n}});async function te({apiHost:e,...t}){if(!t.apiKey){d.error("Missing API key for track call. Please provide your API key.");return}if(!t.canTrack||G()||!(c()||y==="reactNative"))return;const r=`${e||"https://cdn.builder.io"}/api/v1/track`;return ee(r),fetch(r,{method:"POST",body:JSON.stringify({events:[await Ke(t)]}),headers:{"content-type":"application/json",...z()},mode:"cors"}).catch(s=>{console.error("Failed to track: ",s)})}const _e=e=>te({...e,canTrack:!0}),je=["*.beta.builder.io","beta.builder.io","builder.io","localhost","qa.builder.io"];function ne(e,t){if(!t.origin.startsWith("http")&&!t.origin.startsWith("https"))return!1;const n=new URL(t.origin),r=n.hostname;return(e||je).findIndex(s=>s.startsWith("*.")?r.endsWith(s.slice(1)):s===r)>-1}const We=()=>{J("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 D=!1;const re=e=>{var t,n;D||(D=!0,c()&&((t=window.parent)==null||t.postMessage({type:"builder.sdkInfo",data:{target:y,version:X,supportsPatchUpdates:!1,supportsAddBlockScoping:!0,supportsCustomBreakpoints:!0,modelName:e.modelName,apiKey:e.apiKey,supportsXSmallBreakpoint:!0,blockLevelPersonalization:!0}},"*"),(n=window.parent)==null||n.postMessage({type:"builder.updateContent",data:{options:e}},"*"),window.addEventListener("message",r=>{var o,i;if(!ne(e.trustedHosts,r))return;const{data:s}=r;if(s!=null&&s.type)switch(s.type){case"builder.evaluate":{const u=s.data.text,S=s.data.arguments||[],m=s.data.id,w=new Function(u);let l,g=null;try{l=w.apply(null,S)}catch(h){g=h}g?(o=window.parent)==null||o.postMessage({type:"builder.evaluateError",data:{id:m,error:g.message}},"*"):l&&typeof l.then=="function"?l.then(h=>{var v;(v=window.parent)==null||v.postMessage({type:"builder.evaluateResult",data:{id:m,result:h}},"*")}).catch(console.error):(i=window.parent)==null||i.postMessage({type:"builder.evaluateResult",data:{result:l,id:m}},"*");break}}})))},se=({model:e,trustedHosts:t,callbacks:n})=>r=>{if(!ne(t,r))return;const{data:s}=r;if(s)switch(s.type){case"builder.configureSdk":{n.configureSdk(s.data);break}case"builder.triggerAnimation":{n.animation(s.data);break}case"builder.resetState":{const o=s.data,i=o.model,u=o==null?void 0:o.state;i===e&&u&&n.stateUpdate(u);break}case"builder.contentUpdate":{const o=s.data,i=o.key||o.alias||o.entry||o.modelName,u=o.data;i===e&&n.contentUpdate(u);break}}},Ge=({model:e,apiKey:t,callback:n,trustedHosts:r})=>{if(!c)return d.warn("`subscribeToEditor` only works in the browser. It currently seems to be running on the server."),()=>{};re({modelName:e,apiKey:t});const s=se({callbacks:{contentUpdate:n,animation:()=>{},configureSdk:()=>{},stateUpdate:()=>{}},model:e,trustedHosts:r});return window.addEventListener("message",s),()=>{window.removeEventListener("message",s)}},$e="builder.tests",T=e=>`${$e}.${e}`,Je=({contentId:e})=>H({name:T(e),canTrack:!0}),Xe=({contentId:e})=>k({name:T(e),canTrack:!0}),ze=({contentId:e,value:t})=>U({name:T(e),value:t,canTrack:!0}),oe=e=>p(e.id)&&p(e.variations)&&Object.keys(e.variations).length>0,He=({id:e,variations:t})=>{var s;let n=0;const r=Math.random();for(const o in t){const i=(s=t[o])==null?void 0:s.testRatio;if(n+=i,r<n)return o}return e},ie=e=>{const t=He(e);return ze({contentId:e.id,value:t}).catch(n=>{d.error("could not store A/B test variation: ",n)}),t},ae=({item:e,testGroupId:t})=>{const n=e.variations[t];return t===e.id||!n?{testVariationId:e.id,testVariationName:"Default"}:{data:n.data,testVariationId:n.id,testVariationName:n.name||(n.id===e.id?"Default":"")}},Qe=({item:e,canTrack:t})=>{if(!t)return e;if(!e)return;if(!oe(e))return e;const n=Xe({contentId:e.id})||ie({variations:e.variations,id:e.id}),r=ae({item:e,testGroupId:n});return{...e,...r}},Ye=async({item:e,canTrack:t})=>{if(!t||!oe(e))return e;const r=await Je({contentId:e.id})||ie({variations:e.variations,id:e.id}),s=ae({item:e,testGroupId:r});return{...e,...s}},K="builder.userAttributes";function Ze(){let e=!0;const t=new Set;return{setUserAttributes(n){if(!c())return;const r={...this.getUserAttributes(),...n};U({name:K,value:JSON.stringify(r),canTrack:e}),t.forEach(s=>s(r))},getUserAttributes(){return c()?JSON.parse(k({name:K,canTrack:e})||"{}"):{}},subscribeOnUserAttributesChange(n){return t.add(n),()=>{t.delete(n)}},setCanTrack(n){e=n}}}const B=Ze(),qe=e=>{B.setUserAttributes(e)},ce=e=>{const t=p(e)?e:!0;return B.setCanTrack(t),t};function et(){return typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:globalThis}function tt(){const e=et().fetch;if(typeof e=="undefined")throw console.warn(`Builder SDK could not find a global fetch function. Make sure you have a polyfill for fetch in your project.
|
|
2
|
-
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 nt=tt();function O(e,t=null,n="."){return Object.keys(e).reduce((r,s)=>{const o=e[s],i=[t,s].filter(Boolean).join(n);return[typeof o=="object",o!==null,!(Array.isArray(o)&&o.length===0)].every(Boolean)?{...r,...O(o,i,n)}:{...r,[i]:o}},{})}function ue(e,t,n={}){for(const r in e){const s=e[r],o=t?t+"."+r:r;s&&typeof s=="object"&&!Array.isArray(s)&&!Object.keys(s).find(i=>i.startsWith("$"))?ue(s,o,n):n[o]=s}return n}function rt(e){const t={};for(const n in e){const r=n.split(".");let s=t;for(let o=0;o<r.length;o++){const i=r[o];o===r.length-1?s[i]=e[n]:(s[i]=s[i]||{},s=s[i])}}return t}const st="v3",_=e=>typeof e=="number"&&!isNaN(e)&&e>=0,R=e=>{const{limit:t=30,userAttributes:n,query:r,model:s,apiKey:o,enrich:i,locale:u,apiVersion:S=st,fields:m,omit:w,offset:l,cacheSeconds:g,staleCacheSeconds:h,sort:v,includeUnpublished:x,apiHost:ge}=e;if(!o)throw new Error("Missing API key");if(!["v3"].includes(S))throw new Error(`Invalid apiVersion: expected 'v3', received '${S}'`);const he=t!==1,pe=ge||"https://cdn.builder.io",a=new URL(`${pe}/api/${S}/content/${s}`);a.searchParams.set("apiKey",o),a.searchParams.set("limit",String(t)),a.searchParams.set("noTraverse",String(he)),a.searchParams.set("includeRefs",String(!0));const A=u||(n==null?void 0:n.locale);let b=n||{};if(A&&(a.searchParams.set("locale",A),b={locale:A,...b}),i&&a.searchParams.set("enrich",String(i)),a.searchParams.set("omit",w!=null?w:"meta.componentsUsed"),m&&a.searchParams.set("fields",m),Number.isFinite(l)&&l>-1&&a.searchParams.set("offset",String(Math.floor(l))),typeof x=="boolean"&&a.searchParams.set("includeUnpublished",String(x)),g&&_(g)&&a.searchParams.set("cacheSeconds",String(g)),h&&_(h)&&a.searchParams.set("staleCacheSeconds",String(h)),v){const f=O({sort:v});for(const E in f)a.searchParams.set(E,JSON.stringify(f[E]))}const L={...Ae(),...j(e.options||{})};b={...b,...it(L)};const N=O(L);for(const f in N)a.searchParams.set(f,String(N[f]));if(Object.keys(b).length>0&&a.searchParams.set("userAttributes",JSON.stringify(b)),r){const f=ue({query:r});for(const E in f)a.searchParams.set(E,JSON.stringify(f[E]))}return a},ot=e=>{const t={};for(const n in e)n.startsWith("userAttributes.")&&(t[n]=e[n],delete e[n]);return t},it=e=>{if(c()&&e.preview==="BUILDER_STUDIO"){e["userAttributes.urlPath"]=window.location.pathname,e["userAttributes.host"]=window.location.host;const t=ot(e),{userAttributes:n}=rt(t);return n}return{}},at=e=>"results"in e;async function le(e){const t=await fe({...e,limit:1});return t&&t[0]||null}const ct=async e=>{var i,u;const t=R(e),n=(i=e.fetch)!=null?i:nt,r={...e.fetchOptions,headers:{...(u=e.fetchOptions)==null?void 0:u.headers,...z()}};return await(await n(t.href,r)).json()},de=async(e,t,n=R(e))=>{const r=ce(e.canTrack);if(n.search.includes("preview="),!r||!(c()||y==="reactNative"))return t.results;try{const s=[];for(const o of t.results)s.push(await Ye({item:o,canTrack:r}));t.results=s}catch(s){d.error("Could not process A/B tests. ",s)}return t.results};async function fe(e){const t=R(e),n=await ct(e);if(!at(n))throw d.error("Error fetching data. ",{url:t,content:n,options:e}),n;return de(e,n)}const ut=async e=>{var r,s,o;const t=e.path||((r=e.url)==null?void 0:r.pathname)||((s=e.userAttributes)==null?void 0:s.urlPath),n={...e,apiKey:e.apiKey,model:e.model||"page",userAttributes:{...e.userAttributes,...t?{urlPath:t}:{}},options:C(e.searchParams||((o=e.url)==null?void 0:o.searchParams)||e.options)};return{apiKey:n.apiKey,model:n.model,content:await le(n)}};exports.MSG_PREFIX=I;exports.TARGET=y;exports._processContentResult=de;exports._track=te;exports.checkIsDefined=p;exports.createEditorListener=se;exports.createRegisterComponentMessage=ve;exports.fetchBuilderProps=ut;exports.fetchEntries=fe;exports.fetchOneEntry=le;exports.getBuilderSearchParams=C;exports.getCookieSync=k;exports.getDefaultCanTrack=ce;exports.getUserAttributes=$;exports.handleABTestingSync=Qe;exports.isBrowser=c;exports.isEditing=G;exports.isPreviewing=we;exports.logFetch=ee;exports.logger=d;exports.register=J;exports.registerInsertMenu=We;exports.serializeIncludingFunctions=P;exports.setClientUserAttributes=qe;exports.setEditorSettings=Ie;exports.setupBrowserForEditing=re;exports.subscribeToEditor=Ge;exports.track=_e;exports.userAttributesService=B;
|