@builder.io/sdk-react 3.0.1 → 3.0.2

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 (83) hide show
  1. package/lib/browser/blocks-exports.cjs +21 -21
  2. package/lib/browser/blocks-exports.mjs +657 -658
  3. package/lib/browser/index.cjs +1 -1
  4. package/lib/browser/index.mjs +1 -1
  5. package/lib/browser/server-entry-75ce8600.cjs +2 -0
  6. package/lib/browser/server-entry-a2495a20.js +748 -0
  7. package/lib/browser/server-entry.cjs +1 -1
  8. package/lib/browser/server-entry.mjs +1 -1
  9. package/lib/edge/{accordion-decb24cf.cjs → accordion-1c16f65e.cjs} +1 -1
  10. package/lib/edge/{accordion-1572cb0d.js → accordion-c020e15b.js} +1 -1
  11. package/lib/edge/blocks-27ac5b23.js +3534 -0
  12. package/lib/edge/blocks-cd946d16.cjs +30 -0
  13. package/lib/edge/blocks-exports.cjs +1 -1
  14. package/lib/edge/blocks-exports.mjs +2 -2
  15. package/lib/edge/{button-0709893d.js → button-5cdb4f26.js} +2 -2
  16. package/lib/edge/{button-cf66cf8d.cjs → button-8572fca5.cjs} +1 -1
  17. package/lib/edge/{columns-e234acc6.js → columns-3ac1fa96.js} +5 -6
  18. package/lib/edge/columns-c8a9cb89.cjs +28 -0
  19. package/lib/edge/{content-variants-3ab9230f.js → content-variants-23c8eec6.js} +209 -205
  20. package/lib/edge/content-variants-caa23bf7.cjs +134 -0
  21. package/lib/edge/form-3d9bf265.cjs +1 -0
  22. package/lib/edge/{form-27bcc23a.js → form-7fc5691b.js} +14 -15
  23. package/lib/edge/{get-class-prop-name-0b3d48a4.cjs → get-class-prop-name-29fd576a.cjs} +1 -1
  24. package/lib/edge/{get-class-prop-name-a3bd113c.js → get-class-prop-name-a4845b04.js} +1 -1
  25. package/lib/edge/{img-e0c8f7f9.cjs → img-102acaa2.cjs} +1 -1
  26. package/lib/edge/{img-80be6914.js → img-388698cb.js} +1 -1
  27. package/lib/edge/index.cjs +1 -1
  28. package/lib/edge/index.mjs +1 -1
  29. package/lib/edge/{input-f5ba6b1e.cjs → input-10e350a9.cjs} +1 -1
  30. package/lib/edge/{input-920922d5.js → input-5484e9e7.js} +1 -1
  31. package/lib/edge/{select-673864b7.js → select-b8406bcf.js} +1 -1
  32. package/lib/edge/{select-2ced1aca.cjs → select-f11be7a7.cjs} +1 -1
  33. package/lib/edge/server-entry-1879cbc4.cjs +2 -0
  34. package/lib/edge/server-entry-7ce03a4e.js +746 -0
  35. package/lib/edge/server-entry.cjs +1 -1
  36. package/lib/edge/server-entry.mjs +1 -1
  37. package/lib/edge/{slot-68f2b177.js → slot-23f75377.js} +5 -6
  38. package/lib/edge/slot-4ab390ec.cjs +1 -0
  39. package/lib/edge/{symbol-7e260a70.js → symbol-2eafb4e0.js} +2 -2
  40. package/lib/edge/{symbol-ded9dba9.cjs → symbol-fa343d77.cjs} +1 -1
  41. package/lib/edge/{tabs-5156494d.js → tabs-4c9c64f6.js} +15 -16
  42. package/lib/edge/tabs-7d258d82.cjs +1 -0
  43. package/lib/edge/text-5915f038.js +17 -0
  44. package/lib/edge/text-e6dbb721.cjs +1 -0
  45. package/lib/node/blocks-exports.cjs +22 -22
  46. package/lib/node/blocks-exports.mjs +542 -543
  47. package/lib/node/index.cjs +1 -1
  48. package/lib/node/index.mjs +3 -3
  49. package/lib/node/init.cjs +1 -1
  50. package/lib/node/init.mjs +3 -3
  51. package/lib/node/server-entry-2b263dde.js +749 -0
  52. package/lib/node/server-entry-ec330556.cjs +2 -0
  53. package/lib/node/server-entry.cjs +1 -1
  54. package/lib/node/server-entry.mjs +1 -1
  55. package/lib/node/{setIvm-aba1bed8.cjs → setIvm-1e6f0b60.cjs} +1 -1
  56. package/lib/node/{setIvm-8b303d4e.js → setIvm-7eb67cd6.js} +1 -1
  57. package/lib/node/setIvm.cjs +1 -1
  58. package/lib/node/setIvm.mjs +2 -2
  59. package/lib/node/{should-force-browser-runtime-in-node-491a9b55.cjs → should-force-browser-runtime-in-node-23218b19.cjs} +1 -1
  60. package/lib/node/{should-force-browser-runtime-in-node-0a037bde.js → should-force-browser-runtime-in-node-cdae9360.js} +1 -1
  61. package/package.json +1 -1
  62. package/types/constants/sdk-version.d.ts +1 -1
  63. package/types/functions/get-block-component-options.d.ts +2 -1
  64. package/types/functions/get-processed-block.d.ts +1 -6
  65. package/types/helpers/flatten.d.ts +6 -0
  66. package/types/server-index.d.ts +1 -1
  67. package/lib/browser/server-entry-017b8439.js +0 -717
  68. package/lib/browser/server-entry-9f80066e.cjs +0 -2
  69. package/lib/edge/blocks-9c35be74.js +0 -916
  70. package/lib/edge/blocks-d3823063.cjs +0 -12
  71. package/lib/edge/columns-2fdf0656.cjs +0 -28
  72. package/lib/edge/content-variants-616a6c0f.cjs +0 -134
  73. package/lib/edge/evaluate-ccf1ad96.cjs +0 -19
  74. package/lib/edge/evaluate-f0b82ede.js +0 -2612
  75. package/lib/edge/form-7c61693d.cjs +0 -1
  76. package/lib/edge/server-entry-6c0047ea.js +0 -715
  77. package/lib/edge/server-entry-de142ee8.cjs +0 -2
  78. package/lib/edge/slot-cc8b4e5b.cjs +0 -1
  79. package/lib/edge/tabs-d422921f.cjs +0 -1
  80. package/lib/edge/text-27a917c0.js +0 -37
  81. package/lib/edge/text-5796f488.cjs +0 -1
  82. package/lib/node/server-entry-e91e06a3.cjs +0 -2
  83. package/lib/node/server-entry-fdedc1aa.js +0 -718
@@ -1,2 +0,0 @@
1
- "use strict";const y="react",I="[Builder.io]: ",l={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 he=e=>{const t={};return e.forEach((n,r)=>{t[r]=n}),t},M=e=>e instanceof URLSearchParams?he(e):e,D=e=>typeof e=="string"?e:e instanceof URLSearchParams?e.toString():new URLSearchParams(e).toString();function pe(){return c()&&window.self!==window.top}function N(e){return pe()&&D(e||window.location.search).indexOf("builder.frameEditing=")!==-1}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},ye=()=>typeof navigator=="object"&&navigator.userAgent||"",K=()=>{const e=ye(),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"}},p=e=>e!=null;function Se(e){const t=e||(c()?window.location.search:void 0);return t?D(t).indexOf("builder.preview=")!==-1:!1}const we=e=>({type:"builder.registerComponent",data:O(e)}),be=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 O(e){return JSON.parse(JSON.stringify(e,(t,n)=>typeof n=="function"?be(n):n))}const R={};function j(e,t){e==="plugin"&&(t=O(t));let n=R[e];if(n||(n=R[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(o){console.debug("Could not postmessage",o)}}}const U={};function ve(e){if(c()){Object.assign(U,e);const t={type:"builder.settingsChange",data:U};parent.postMessage(t,"*")}}const L="builder.",Ie="options.",C=e=>{if(!e)return{};const t=M(e),n={};return Object.keys(t).forEach(r=>{if(r.startsWith(L)){const o=r.replace(L,"").replace(Ie,"");n[o]=t[r]}}),n},Ee=()=>{if(!c())return{};const e=new URLSearchParams(window.location.search);return C(e)},W="3.0.1",_=()=>({"X-Builder-SDK":y,"X-Builder-SDK-GEN":"2","X-Builder-SDK-Version":W}),ke=e=>{if(e==="localhost"||e==="127.0.0.1")return e;const t=e.split(".");return t.length>2?t.slice(1).join("."):e},$=({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){l.warn("[COOKIE] GET error: ",(r==null?void 0:r.message)||r);return}},G=async e=>$(e),Pe=e=>e.map(([t,n])=>n?`${t}=${n}`:t).filter(p).join("; "),Oe=[["secure",""],["SameSite","None"]],Ce=({name:e,value:t,expires:n})=>{const o=(c()?location.protocol==="https:":!0)?Oe:[[]],s=n?[["expires",n.toUTCString()]]:[[]],i=[[e,t],...s,["path","/"],["domain",ke(window.location.hostname)],...o];return Pe(i)},z=async({name:e,value:t,expires:n,canTrack:r})=>{try{if(!r)return;const o=Ce({name:e,value:t,expires:n});document.cookie=o}catch(o){l.warn("[COOKIE] SET error: ",(o==null?void 0:o.message)||o)}};function Ae(){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 Ae().replace(/-/g,"")}const X="builderSessionId",Te=async({canTrack:e})=>{if(!e)return;const t=await G({name:X,canTrack:e});if(p(t))return t;{const n=xe();return Be({id:n,canTrack:e}),n}},xe=()=>H(),Be=({id:e,canTrack:t})=>z({name:X,value:e,canTrack:t}),J=()=>c()&&typeof localStorage!="undefined"?localStorage:void 0,Re=({key:e,canTrack:t})=>{var n;try{return t?(n=J())==null?void 0:n.getItem(e):void 0}catch(r){console.debug("[LocalStorage] GET error: ",r);return}},Ue=({key:e,canTrack:t,value:n})=>{var r;try{t&&((r=J())==null||r.setItem(e,n))}catch(o){console.debug("[LocalStorage] SET error: ",o)}},q="builderVisitorId",Le=({canTrack:e})=>{if(!e)return;const t=Re({key:q,canTrack:e});if(p(t))return t;{const n=Ve();return Fe({id:n,canTrack:e}),n}},Ve=()=>H(),Fe=({id:e,canTrack:t})=>Ue({key:q,value:e,canTrack:t});function Q(e){var t;typeof process!="undefined"&&((t=process.env)!=null&&t.DEBUG)&&String(process.env.DEBUG)=="true"&&l.log(e)}const Me=async({canTrack:e})=>{if(!e)return{visitorId:void 0,sessionId:void 0};const t=await Te({canTrack:e}),n=Le({canTrack:e});return{sessionId:t,visitorId:n}},De=async({type:e,canTrack:t,apiKey:n,metadata:r,...o})=>({type:e,data:{...o,metadata:{url:location.href,...r},...await Me({canTrack:t}),userAttributes:K(),ownerId:n}});async function Y({apiHost:e,...t}){if(!t.apiKey){l.error("Missing API key for track call. Please provide your API key.");return}if(!t.canTrack||N()||!(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 De(t)]}),headers:{"content-type":"application/json",..._()},mode:"cors"}).catch(o=>{console.error("Failed to track: ",o)})}const Ne=e=>Y({...e,canTrack:!0}),Ke=["*.beta.builder.io","beta.builder.io","builder.io","localhost","qa.builder.io"];function Z(e,t){if(!t.origin.startsWith("http")&&!t.origin.startsWith("https"))return!1;const n=new URL(t.origin),r=n.hostname;return(e||Ke).findIndex(o=>o.startsWith("*.")?r.endsWith(o.slice(1)):o===r)>-1}const je=()=>{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 V=!1;const ee=(e={})=>{var t,n;V||(V=!0,c()&&((t=window.parent)==null||t.postMessage({type:"builder.sdkInfo",data:{target:y,version:W,supportsPatchUpdates:!1,supportsAddBlockScoping:!0,supportsCustomBreakpoints:!0}},"*"),(n=window.parent)==null||n.postMessage({type:"builder.updateContent",data:{options:e}},"*"),window.addEventListener("message",r=>{var s,i;if(!Z(e.trustedHosts,r))return;const{data:o}=r;if(o!=null&&o.type)switch(o.type){case"builder.evaluate":{const u=o.data.text,S=o.data.arguments||[],m=o.data.id,E=new Function(u);let d,g=null;try{d=E.apply(null,S)}catch(h){g=h}g?(s=window.parent)==null||s.postMessage({type:"builder.evaluateError",data:{id:m,error:g.message}},"*"):d&&typeof d.then=="function"?d.then(h=>{var w;(w=window.parent)==null||w.postMessage({type:"builder.evaluateResult",data:{id:m,result:h}},"*")}).catch(console.error):(i=window.parent)==null||i.postMessage({type:"builder.evaluateResult",data:{result:d,id:m}},"*");break}}})))},te=({model:e,trustedHosts:t,callbacks:n})=>r=>{if(!Z(t,r))return;const{data:o}=r;if(o)switch(o.type){case"builder.configureSdk":{n.configureSdk(o.data);break}case"builder.triggerAnimation":{n.animation(o.data);break}case"builder.contentUpdate":{const s=o.data,i=s.key||s.alias||s.entry||s.modelName,u=s.data;i===e&&n.contentUpdate(u);break}}},We=(e,t,n)=>{if(!c)return l.warn("`subscribeToEditor` only works in the browser. It currently seems to be running on the server."),()=>{};ee();const r=te({callbacks:{contentUpdate:t,animation:()=>{},configureSdk:()=>{}},model:e,trustedHosts:n==null?void 0:n.trustedHosts});return window.addEventListener("message",r),()=>{window.removeEventListener("message",r)}},_e="builder.tests",A=e=>`${_e}.${e}`,$e=({contentId:e})=>G({name:A(e),canTrack:!0}),Ge=({contentId:e})=>$({name:A(e),canTrack:!0}),ze=({contentId:e,value:t})=>z({name:A(e),value:t,canTrack:!0}),ne=e=>p(e.id)&&p(e.variations)&&Object.keys(e.variations).length>0,He=({id:e,variations:t})=>{var o;let n=0;const r=Math.random();for(const s in t){const i=(o=t[s])==null?void 0:o.testRatio;if(n+=i,r<n)return s}return e},re=e=>{const t=He(e);return ze({contentId:e.id,value:t}).catch(n=>{l.error("could not store A/B test variation: ",n)}),t},oe=({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":"")}},Xe=({item:e,canTrack:t})=>{if(!t)return e;if(!e)return;if(!ne(e))return e;const n=Ge({contentId:e.id})||re({variations:e.variations,id:e.id}),r=oe({item:e,testGroupId:n});return{...e,...r}},Je=async({item:e,canTrack:t})=>{if(!t||!ne(e))return e;const r=await $e({contentId:e.id})||re({variations:e.variations,id:e.id}),o=oe({item:e,testGroupId:r});return{...e,...o}},se=e=>p(e)?e:!0;function qe(){return typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:globalThis}function Qe(){const e=qe().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 Ye=Qe();function P(e,t=null,n="."){return Object.keys(e).reduce((r,o)=>{const s=e[o],i=[t,o].filter(Boolean).join(n);return[typeof s=="object",s!==null,!(Array.isArray(s)&&s.length===0)].every(Boolean)?{...r,...P(s,i,n)}:{...r,[i]:s}},{})}function ie(e,t,n={}){for(const r in e){const o=e[r],s=t?t+"."+r:r;o&&typeof o=="object"&&!Array.isArray(o)&&!Object.keys(o).find(i=>i.startsWith("$"))?ie(o,s,n):n[s]=o}return n}const Ze="v3",F=e=>typeof e=="number"&&!isNaN(e)&&e>=0,T=e=>{const{limit:t=30,userAttributes:n,query:r,model:o,apiKey:s,enrich:i,locale:u,apiVersion:S=Ze,fields:m,omit:E,offset:d,cacheSeconds:g,staleCacheSeconds:h,sort:w,includeUnpublished:x,apiHost:de}=e;if(!s)throw new Error("Missing API key");if(!["v3"].includes(S))throw new Error(`Invalid apiVersion: expected 'v3', received '${S}'`);const le=t!==1,fe=de||"https://cdn.builder.io",a=new URL(`${fe}/api/${S}/content/${o}`);a.searchParams.set("apiKey",s),a.searchParams.set("limit",String(t)),a.searchParams.set("noTraverse",String(le)),a.searchParams.set("includeRefs",String(!0));const k=u||(n==null?void 0:n.locale);let v=n;if(k&&(a.searchParams.set("locale",k),v={locale:k,...v}),i&&a.searchParams.set("enrich",String(i)),a.searchParams.set("omit",E||"meta.componentsUsed"),m&&a.searchParams.set("fields",m),Number.isFinite(d)&&d>-1&&a.searchParams.set("offset",String(Math.floor(d))),typeof x=="boolean"&&a.searchParams.set("includeUnpublished",String(x)),g&&F(g)&&a.searchParams.set("cacheSeconds",String(g)),h&&F(h)&&a.searchParams.set("staleCacheSeconds",String(h)),w){const f=P({sort:w});for(const b in f)a.searchParams.set(b,JSON.stringify(f[b]))}const ge={...Ee(),...M(e.options||{})},B=P(ge);for(const f in B)a.searchParams.set(f,String(B[f]));if(v&&a.searchParams.set("userAttributes",JSON.stringify(v)),r){const f=ie({query:r});for(const b in f)a.searchParams.set(b,JSON.stringify(f[b]))}return a},et=e=>"results"in e;async function ae(e){const t=await ue({...e,limit:1});return t&&t[0]||null}const tt=async e=>{var i,u;const t=T(e),n=(i=e.fetch)!=null?i:Ye,r={...e.fetchOptions,headers:{...(u=e.fetchOptions)==null?void 0:u.headers,..._()}};return await(await n(t.href,r)).json()},ce=async(e,t,n=T(e))=>{const r=se(e.canTrack);if(n.search.includes("preview="),!r||!(c()||y==="reactNative"))return t.results;try{const o=[];for(const s of t.results)o.push(await Je({item:s,canTrack:r}));t.results=o}catch(o){l.error("Could not process A/B tests. ",o)}return t.results};async function ue(e){const t=T(e),n=await tt(e);if(!et(n))throw l.error("Error fetching data. ",{url:t,content:n,options:e}),n;return ce(e,n)}const nt=async e=>{var r,o,s;const t=e.path||((r=e.url)==null?void 0:r.pathname)||((o=e.userAttributes)==null?void 0:o.urlPath),n={...e,apiKey:e.apiKey,model:e.model||"page",userAttributes:{...e.userAttributes,...t?{urlPath:t}:{}},options:C(e.searchParams||((s=e.url)==null?void 0:s.searchParams)||e.options)};return{apiKey:n.apiKey,model:n.model,content:await ae(n)}};exports.TARGET=y;exports._processContentResult=ce;exports._track=Y;exports.checkIsDefined=p;exports.createEditorListener=te;exports.createRegisterComponentMessage=we;exports.fetchBuilderProps=nt;exports.fetchEntries=ue;exports.fetchOneEntry=ae;exports.getBuilderSearchParams=C;exports.getDefaultCanTrack=se;exports.getUserAttributes=K;exports.handleABTestingSync=Xe;exports.isBrowser=c;exports.isEditing=N;exports.isPreviewing=Se;exports.logFetch=Q;exports.logger=l;exports.register=j;exports.registerInsertMenu=je;exports.serializeIncludingFunctions=O;exports.setEditorSettings=ve;exports.setupBrowserForEditing=ee;exports.subscribeToEditor=We;exports.track=Ne;