@builder.io/sdk-react 3.0.3 → 3.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/lib/browser/blocks-exports.cjs +20 -20
  2. package/lib/browser/blocks-exports.mjs +517 -529
  3. package/lib/browser/index.cjs +1 -1
  4. package/lib/browser/index.mjs +1 -1
  5. package/lib/browser/{server-entry-5eafc5bd.cjs → server-entry-101d66b8.cjs} +1 -1
  6. package/lib/browser/{server-entry-c904f136.js → server-entry-785c0408.js} +1 -1
  7. package/lib/browser/server-entry.cjs +1 -1
  8. package/lib/browser/server-entry.mjs +1 -1
  9. package/lib/edge/{accordion-032726a7.cjs → accordion-190c4426.cjs} +1 -1
  10. package/lib/edge/{accordion-c786f197.js → accordion-cd6e0363.js} +1 -1
  11. package/lib/edge/{blocks-827b0a87.cjs → blocks-766e8d45.cjs} +9 -9
  12. package/lib/edge/blocks-exports.cjs +1 -1
  13. package/lib/edge/blocks-exports.mjs +2 -2
  14. package/lib/edge/{blocks-105e50e5.js → blocks-fe2d7c1a.js} +2 -3
  15. package/lib/edge/{button-5cbfe22c.cjs → button-694fcd4f.cjs} +1 -1
  16. package/lib/edge/{button-f0e0ea72.js → button-6a27481c.js} +2 -2
  17. package/lib/edge/{columns-9e187314.js → columns-90e6407e.js} +18 -18
  18. package/lib/edge/{columns-d07da61d.cjs → columns-b38bf0f7.cjs} +2 -2
  19. package/lib/edge/{content-variants-0db90715.cjs → content-variants-4e385c19.cjs} +1 -1
  20. package/lib/edge/{content-variants-59dc0824.js → content-variants-cbb89349.js} +10 -10
  21. package/lib/edge/form-16bbf874.js +166 -0
  22. package/lib/edge/form-547645eb.cjs +1 -0
  23. package/lib/edge/{get-class-prop-name-8fb0e5ad.cjs → get-class-prop-name-58770197.cjs} +1 -1
  24. package/lib/edge/{get-class-prop-name-6b143ec7.js → get-class-prop-name-8b719c6b.js} +1 -1
  25. package/lib/edge/{image-2a2b26d2.js → image-38917f45.js} +22 -24
  26. package/lib/edge/image-590e36ae.cjs +17 -0
  27. package/lib/edge/{img-72bf9d21.cjs → img-8859c851.cjs} +1 -1
  28. package/lib/edge/{img-2c4c6b78.js → img-d3351743.js} +1 -1
  29. package/lib/edge/index.cjs +1 -1
  30. package/lib/edge/index.mjs +1 -1
  31. package/lib/edge/{input-752f3ce9.js → input-24c601b4.js} +1 -1
  32. package/lib/edge/{input-6eca8427.cjs → input-4fe0fc6d.cjs} +1 -1
  33. package/lib/edge/{select-a1d6e80e.js → select-af05377b.js} +1 -1
  34. package/lib/edge/{select-49a73a0b.cjs → select-c73bd418.cjs} +1 -1
  35. package/lib/edge/{server-entry-6b2058e2.cjs → server-entry-3c7fa63a.cjs} +1 -1
  36. package/lib/edge/{server-entry-35f12729.js → server-entry-67bfc740.js} +1 -1
  37. package/lib/edge/server-entry.cjs +1 -1
  38. package/lib/edge/server-entry.mjs +1 -1
  39. package/lib/edge/{slot-b9bcbd41.js → slot-32a4df0c.js} +3 -3
  40. package/lib/edge/{slot-2327e009.cjs → slot-759c8dd9.cjs} +1 -1
  41. package/lib/edge/{symbol-33e7736f.js → symbol-50360a37.js} +2 -2
  42. package/lib/edge/{symbol-3527699b.cjs → symbol-8d63aa7d.cjs} +1 -1
  43. package/lib/edge/{tabs-bc422e4c.js → tabs-6535c934.js} +3 -3
  44. package/lib/edge/{tabs-2df0eaa2.cjs → tabs-fc6c1700.cjs} +1 -1
  45. package/lib/edge/video-4ecfd08b.cjs +1 -0
  46. package/lib/edge/{video-58c2cc8d.js → video-a3f10439.js} +0 -1
  47. package/lib/node/blocks-exports.cjs +14 -14
  48. package/lib/node/blocks-exports.mjs +500 -512
  49. package/lib/node/index.cjs +1 -1
  50. package/lib/node/index.mjs +3 -3
  51. package/lib/node/init.cjs +1 -1
  52. package/lib/node/init.mjs +3 -3
  53. package/lib/node/{server-entry-606ce65a.cjs → server-entry-95273908.cjs} +1 -1
  54. package/lib/node/{server-entry-d1ed35c5.js → server-entry-ffc70868.js} +1 -1
  55. package/lib/node/server-entry.cjs +1 -1
  56. package/lib/node/server-entry.mjs +1 -1
  57. package/lib/node/{setIvm-6675714a.js → setIvm-2cea7252.js} +1 -1
  58. package/lib/node/{setIvm-e4deba11.cjs → setIvm-4ce0db03.cjs} +1 -1
  59. package/lib/node/setIvm.cjs +1 -1
  60. package/lib/node/setIvm.mjs +2 -2
  61. package/lib/node/{should-force-browser-runtime-in-node-75b2b3a0.js → should-force-browser-runtime-in-node-c0d50009.js} +1 -1
  62. package/lib/node/{should-force-browser-runtime-in-node-03adae17.cjs → should-force-browser-runtime-in-node-d3e6df07.cjs} +1 -1
  63. package/package.json +2 -2
  64. package/types/blocks/form/form/form.d.ts +1 -0
  65. package/types/constants/sdk-version.d.ts +1 -1
  66. package/types/types/components.d.ts +2 -2
  67. package/lib/edge/form-79639135.cjs +0 -1
  68. package/lib/edge/form-7a7b98cf.js +0 -176
  69. package/lib/edge/image-4db81d72.cjs +0 -17
  70. package/lib/edge/video-e20dcbbc.cjs +0 -1
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./blocks-exports.cjs"),e=require("./server-entry-606ce65a.cjs");require("react/jsx-runtime");require("react");require("./setIvm-e4deba11.cjs");require("./should-force-browser-runtime-in-node-03adae17.cjs");exports.Blocks=t.Blocks;exports.BuilderContext=t.BuilderContext;exports.Button=t.Button;exports.Columns=t.Columns;exports.Content=t.Content;exports.Fragment=t.Fragment;exports.Image=t.Image;exports.Section=t.Section;exports.Symbol=t.Symbol;exports.Text=t.Text;exports.Video=t.Video;exports._processContentResult=e._processContentResult;exports.createRegisterComponentMessage=e.createRegisterComponentMessage;exports.fetchBuilderProps=e.fetchBuilderProps;exports.fetchEntries=e.fetchEntries;exports.fetchOneEntry=e.fetchOneEntry;exports.getBuilderSearchParams=e.getBuilderSearchParams;exports.isEditing=e.isEditing;exports.isPreviewing=e.isPreviewing;exports.register=e.register;exports.setEditorSettings=e.setEditorSettings;exports.subscribeToEditor=e.subscribeToEditor;exports.track=e.track;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./blocks-exports.cjs"),e=require("./server-entry-95273908.cjs");require("react/jsx-runtime");require("react");require("./setIvm-4ce0db03.cjs");require("./should-force-browser-runtime-in-node-d3e6df07.cjs");exports.Blocks=t.Blocks;exports.BuilderContext=t.BuilderContext;exports.Button=t.Button;exports.Columns=t.Columns;exports.Content=t.Content;exports.Fragment=t.Fragment;exports.Image=t.Image;exports.Section=t.Section;exports.Symbol=t.Symbol;exports.Text=t.Text;exports.Video=t.Video;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,9 +1,9 @@
1
1
  import { Blocks as n, BuilderContext as m, Button as c, Columns as g, Content as p, Fragment as a, Image as d, Section as l, Symbol as u, Text as f, Video as B } from "./blocks-exports.mjs";
2
- import { _processContentResult as E, createRegisterComponentMessage as h, fetchBuilderProps as x, fetchEntries as S, fetchOneEntry as b, getBuilderSearchParams as P, isEditing as k, isPreviewing as y, register as R, setEditorSettings as T, subscribeToEditor as v, track as w } from "./server-entry-d1ed35c5.js";
2
+ import { _processContentResult as E, createRegisterComponentMessage as h, fetchBuilderProps as x, fetchEntries as S, fetchOneEntry as b, getBuilderSearchParams as P, isEditing as k, isPreviewing as y, register as R, setEditorSettings as T, subscribeToEditor as v, track as w } from "./server-entry-ffc70868.js";
3
3
  import "react/jsx-runtime";
4
4
  import "react";
5
- import "./setIvm-6675714a.js";
6
- import "./should-force-browser-runtime-in-node-75b2b3a0.js";
5
+ import "./setIvm-2cea7252.js";
6
+ import "./should-force-browser-runtime-in-node-c0d50009.js";
7
7
  export {
8
8
  n as Blocks,
9
9
  m as BuilderContext,
package/lib/node/init.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./should-force-browser-runtime-in-node-03adae17.cjs"),t=require("isolated-vm"),r=require("./setIvm-e4deba11.cjs");require("./server-entry-606ce65a.cjs");const n=e=>{if(o.shouldForceBrowserRuntimeInNode({shouldLogWarning:!0}))return;const{ivmIsolateOptions:i}=e||{};r.setIvm(t,i)};exports.initializeNodeRuntime=n;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./should-force-browser-runtime-in-node-d3e6df07.cjs"),t=require("isolated-vm"),r=require("./setIvm-4ce0db03.cjs");require("./server-entry-95273908.cjs");const n=e=>{if(o.shouldForceBrowserRuntimeInNode({shouldLogWarning:!0}))return;const{ivmIsolateOptions:i}=e||{};r.setIvm(t,i)};exports.initializeNodeRuntime=n;
package/lib/node/init.mjs CHANGED
@@ -1,7 +1,7 @@
1
- import { shouldForceBrowserRuntimeInNode as r } from "./should-force-browser-runtime-in-node-75b2b3a0.js";
1
+ import { shouldForceBrowserRuntimeInNode as r } from "./should-force-browser-runtime-in-node-c0d50009.js";
2
2
  import t from "isolated-vm";
3
- import { setIvm as e } from "./setIvm-6675714a.js";
4
- import "./server-entry-d1ed35c5.js";
3
+ import { setIvm as e } from "./setIvm-2cea7252.js";
4
+ import "./server-entry-ffc70868.js";
5
5
  const u = (o) => {
6
6
  if (r({
7
7
  shouldLogWarning: !0
@@ -1,2 +1,2 @@
1
- "use strict";const w="react",v="[Builder.io]: ",d={log:(...t)=>console.log(v,...t),error:(...t)=>console.error(v,...t),warn:(...t)=>console.warn(v,...t),debug:(...t)=>console.debug(v,...t)};function c(){return typeof window!="undefined"&&typeof document!="undefined"}const gt=t=>{const e={};return t.forEach((n,r)=>{e[r]=n}),e},M=t=>t instanceof URLSearchParams?gt(t):t,N=t=>typeof t=="string"?t:t instanceof URLSearchParams?t.toString():new URLSearchParams(t).toString();function pt(){return c()&&window.self!==window.top}function K(t){return pt()&&N(t||window.location.search).indexOf("builder.frameEditing=")!==-1}const mt=()=>{if(c()){const t=new URL(location.href);return t.pathname===""&&(t.pathname="/"),t}else return console.warn("Cannot get location for tracking in non-browser environment"),null},yt=()=>typeof navigator=="object"&&navigator.userAgent||"",j=()=>{const t=yt(),e={Android(){return t.match(/Android/i)},BlackBerry(){return t.match(/BlackBerry/i)},iOS(){return t.match(/iPhone|iPod/i)},Opera(){return t.match(/Opera Mini/i)},Windows(){return t.match(/IEMobile/i)||t.match(/WPDesktop/i)},any(){return e.Android()||e.BlackBerry()||e.iOS()||e.Opera()||e.Windows()||w==="reactNative"}},n=t.match(/Tablet|iPad/i),r=mt();return{urlPath:r==null?void 0:r.pathname,host:(r==null?void 0:r.host)||(r==null?void 0:r.hostname),device:n?"tablet":e.any()?"mobile":"desktop"}},p=t=>t!=null;function wt(t){const e=t||(c()?window.location.search:void 0);return e?N(e).indexOf("builder.preview=")!==-1:!1}const St=t=>({type:"builder.registerComponent",data:A(t)}),bt=t=>{const e=t.toString().trim(),n=/^[a-zA-Z0-9_]+\s*=>/i.test(e);return`return (${!e.startsWith("function")&&!e.startsWith("async")&&!e.startsWith("(")&&!n?"function ":""}${e}).apply(this, arguments)`};function A(t){return JSON.parse(JSON.stringify(t,(e,n)=>typeof n=="function"?bt(n):n))}const U={};function W(t,e){t==="plugin"&&(e=A(e));let n=U[t];if(n||(n=U[t]=[]),n.push(e),c()){const r={type:"builder.register",data:{type:t,info:e}};try{parent.postMessage(r,"*"),parent!==window&&window.postMessage(r,"*")}catch(s){console.debug("Could not postmessage",s)}}}const L={};function It(t){if(c()){Object.assign(L,t);const e={type:"builder.settingsChange",data:L};parent.postMessage(e,"*")}}const F="builder.",vt="options.",O=t=>{if(!t)return{};const e=M(t),n={};return Object.keys(e).forEach(r=>{if(r.startsWith(F)){const s=r.replace(F,"").replace(vt,"");n[s]=e[r]}}),n},Et=()=>{if(!c())return{};const t=new URLSearchParams(window.location.search);return O(t)},_="3.0.3",G=()=>({"X-Builder-SDK":w,"X-Builder-SDK-GEN":"2","X-Builder-SDK-Version":_}),kt=t=>{if(t==="localhost"||t==="127.0.0.1")return t;const e=t.split(".");return e.length>2?e.slice(1).join("."):t},$=({name:t,canTrack:e})=>{var n;try{return e?(n=document.cookie.split("; ").find(r=>r.startsWith(`${t}=`)))==null?void 0:n.split("=")[1]:void 0}catch(r){d.warn("[COOKIE] GET error: ",(r==null?void 0:r.message)||r);return}},X=async t=>$(t),Pt=t=>t.map(([e,n])=>n?`${e}=${n}`:e).filter(p).join("; "),At=[["secure",""],["SameSite","None"]],Ot=({name:t,value:e,expires:n})=>{const s=(c()?location.protocol==="https:":!0)?At:[[]],o=n?[["expires",n.toUTCString()]]:[[]],i=[[t,e],...o,["path","/"],["domain",kt(window.location.hostname)],...s];return Pt(i)},z=async({name:t,value:e,expires:n,canTrack:r})=>{try{if(!r)return;const s=Ot({name:t,value:e,expires:n});document.cookie=s}catch(s){d.warn("[COOKIE] SET error: ",(s==null?void 0:s.message)||s)}};function Ct(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){const e=Math.random()*16|0;return(t=="x"?e:e&3|8).toString(16)})}function H(){return Ct().replace(/-/g,"")}const J="builderSessionId",Tt=async({canTrack:t})=>{if(!t)return;const e=await X({name:J,canTrack:t});if(p(e))return e;{const n=xt();return Bt({id:n,canTrack:t}),n}},xt=()=>H(),Bt=({id:t,canTrack:e})=>z({name:J,value:t,canTrack:e}),Q=()=>c()&&typeof localStorage!="undefined"?localStorage:void 0,Rt=({key:t,canTrack:e})=>{var n;try{return e?(n=Q())==null?void 0:n.getItem(t):void 0}catch(r){console.debug("[LocalStorage] GET error: ",r);return}},Ut=({key:t,canTrack:e,value:n})=>{var r;try{e&&((r=Q())==null||r.setItem(t,n))}catch(s){console.debug("[LocalStorage] SET error: ",s)}},Y="builderVisitorId",Lt=({canTrack:t})=>{if(!t)return;const e=Rt({key:Y,canTrack:t});if(p(e))return e;{const n=Ft();return Vt({id:n,canTrack:t}),n}},Ft=()=>H(),Vt=({id:t,canTrack:e})=>Ut({key:Y,value:t,canTrack:e});function Z(t){var e;typeof process!="undefined"&&((e=process.env)!=null&&e.DEBUG)&&String(process.env.DEBUG)=="true"&&d.log(t)}const Dt=async({canTrack:t})=>{if(!t)return{visitorId:void 0,sessionId:void 0};const e=await Tt({canTrack:t}),n=Lt({canTrack:t});return{sessionId:e,visitorId:n}},Mt=async({type:t,canTrack:e,apiKey:n,metadata:r,...s})=>({type:t,data:{...s,metadata:{url:location.href,...r},...await Dt({canTrack:e}),userAttributes:j(),ownerId:n}});async function q({apiHost:t,...e}){if(!e.apiKey){d.error("Missing API key for track call. Please provide your API key.");return}if(!e.canTrack||K()||!(c()||w==="reactNative"))return;const r=`${t||"https://cdn.builder.io"}/api/v1/track`;return Z(r),fetch(r,{method:"POST",body:JSON.stringify({events:[await Mt(e)]}),headers:{"content-type":"application/json",...G()},mode:"cors"}).catch(s=>{console.error("Failed to track: ",s)})}const Nt=t=>q({...t,canTrack:!0}),Kt=["*.beta.builder.io","beta.builder.io","builder.io","localhost","qa.builder.io"];function tt(t,e){if(!e.origin.startsWith("http")&&!e.origin.startsWith("https"))return!1;const n=new URL(e.origin),r=n.hostname;return(t||Kt).findIndex(s=>s.startsWith("*.")?r.endsWith(s.slice(1)):s===r)>-1}const jt=()=>{W("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 et=(t={})=>{var e,n;V||(V=!0,c()&&((e=window.parent)==null||e.postMessage({type:"builder.sdkInfo",data:{target:w,version:_,supportsPatchUpdates:!1,supportsAddBlockScoping:!0,supportsCustomBreakpoints:!0}},"*"),(n=window.parent)==null||n.postMessage({type:"builder.updateContent",data:{options:t}},"*"),window.addEventListener("message",r=>{var o,i;if(!tt(t.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,E=new Function(u);let l,h=null;try{l=E.apply(null,S)}catch(g){h=g}h?(o=window.parent)==null||o.postMessage({type:"builder.evaluateError",data:{id:m,error:h.message}},"*"):l&&typeof l.then=="function"?l.then(g=>{var b;(b=window.parent)==null||b.postMessage({type:"builder.evaluateResult",data:{id:m,result:g}},"*")}).catch(console.error):(i=window.parent)==null||i.postMessage({type:"builder.evaluateResult",data:{result:l,id:m}},"*");break}}})))},nt=({model:t,trustedHosts:e,callbacks:n})=>r=>{if(!tt(e,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.contentUpdate":{const o=s.data,i=o.key||o.alias||o.entry||o.modelName,u=o.data;i===t&&n.contentUpdate(u);break}}},Wt=(t,e,n)=>{if(!c)return d.warn("`subscribeToEditor` only works in the browser. It currently seems to be running on the server."),()=>{};et();const r=nt({callbacks:{contentUpdate:e,animation:()=>{},configureSdk:()=>{}},model:t,trustedHosts:n==null?void 0:n.trustedHosts});return window.addEventListener("message",r),()=>{window.removeEventListener("message",r)}},_t="builder.tests",C=t=>`${_t}.${t}`,Gt=({contentId:t})=>X({name:C(t),canTrack:!0}),$t=({contentId:t})=>$({name:C(t),canTrack:!0}),Xt=({contentId:t,value:e})=>z({name:C(t),value:e,canTrack:!0}),rt=t=>p(t.id)&&p(t.variations)&&Object.keys(t.variations).length>0,zt=({id:t,variations:e})=>{var s;let n=0;const r=Math.random();for(const o in e){const i=(s=e[o])==null?void 0:s.testRatio;if(n+=i,r<n)return o}return t},st=t=>{const e=zt(t);return Xt({contentId:t.id,value:e}).catch(n=>{d.error("could not store A/B test variation: ",n)}),e},ot=({item:t,testGroupId:e})=>{const n=t.variations[e];return e===t.id||!n?{testVariationId:t.id,testVariationName:"Default"}:{data:n.data,testVariationId:n.id,testVariationName:n.name||(n.id===t.id?"Default":"")}},Ht=({item:t,canTrack:e})=>{if(!e)return t;if(!t)return;if(!rt(t))return t;const n=$t({contentId:t.id})||st({variations:t.variations,id:t.id}),r=ot({item:t,testGroupId:n});return{...t,...r}},Jt=async({item:t,canTrack:e})=>{if(!e||!rt(t))return t;const r=await Gt({contentId:t.id})||st({variations:t.variations,id:t.id}),s=ot({item:t,testGroupId:r});return{...t,...s}},it=t=>p(t)?t:!0;function Qt(){return typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:globalThis}function Yt(){const t=Qt().fetch;if(typeof t=="undefined")throw console.warn(`Builder SDK could not find a global fetch function. Make sure you have a polyfill for fetch in your project.
1
+ "use strict";const w="react",v="[Builder.io]: ",d={log:(...t)=>console.log(v,...t),error:(...t)=>console.error(v,...t),warn:(...t)=>console.warn(v,...t),debug:(...t)=>console.debug(v,...t)};function c(){return typeof window!="undefined"&&typeof document!="undefined"}const gt=t=>{const e={};return t.forEach((n,r)=>{e[r]=n}),e},M=t=>t instanceof URLSearchParams?gt(t):t,N=t=>typeof t=="string"?t:t instanceof URLSearchParams?t.toString():new URLSearchParams(t).toString();function pt(){return c()&&window.self!==window.top}function K(t){return pt()&&N(t||window.location.search).indexOf("builder.frameEditing=")!==-1}const mt=()=>{if(c()){const t=new URL(location.href);return t.pathname===""&&(t.pathname="/"),t}else return console.warn("Cannot get location for tracking in non-browser environment"),null},yt=()=>typeof navigator=="object"&&navigator.userAgent||"",j=()=>{const t=yt(),e={Android(){return t.match(/Android/i)},BlackBerry(){return t.match(/BlackBerry/i)},iOS(){return t.match(/iPhone|iPod/i)},Opera(){return t.match(/Opera Mini/i)},Windows(){return t.match(/IEMobile/i)||t.match(/WPDesktop/i)},any(){return e.Android()||e.BlackBerry()||e.iOS()||e.Opera()||e.Windows()||w==="reactNative"}},n=t.match(/Tablet|iPad/i),r=mt();return{urlPath:r==null?void 0:r.pathname,host:(r==null?void 0:r.host)||(r==null?void 0:r.hostname),device:n?"tablet":e.any()?"mobile":"desktop"}},p=t=>t!=null;function wt(t){const e=t||(c()?window.location.search:void 0);return e?N(e).indexOf("builder.preview=")!==-1:!1}const St=t=>({type:"builder.registerComponent",data:A(t)}),bt=t=>{const e=t.toString().trim(),n=/^[a-zA-Z0-9_]+\s*=>/i.test(e);return`return (${!e.startsWith("function")&&!e.startsWith("async")&&!e.startsWith("(")&&!n?"function ":""}${e}).apply(this, arguments)`};function A(t){return JSON.parse(JSON.stringify(t,(e,n)=>typeof n=="function"?bt(n):n))}const U={};function W(t,e){t==="plugin"&&(e=A(e));let n=U[t];if(n||(n=U[t]=[]),n.push(e),c()){const r={type:"builder.register",data:{type:t,info:e}};try{parent.postMessage(r,"*"),parent!==window&&window.postMessage(r,"*")}catch(s){console.debug("Could not postmessage",s)}}}const L={};function It(t){if(c()){Object.assign(L,t);const e={type:"builder.settingsChange",data:L};parent.postMessage(e,"*")}}const F="builder.",vt="options.",O=t=>{if(!t)return{};const e=M(t),n={};return Object.keys(e).forEach(r=>{if(r.startsWith(F)){const s=r.replace(F,"").replace(vt,"");n[s]=e[r]}}),n},Et=()=>{if(!c())return{};const t=new URLSearchParams(window.location.search);return O(t)},_="3.0.5",G=()=>({"X-Builder-SDK":w,"X-Builder-SDK-GEN":"2","X-Builder-SDK-Version":_}),kt=t=>{if(t==="localhost"||t==="127.0.0.1")return t;const e=t.split(".");return e.length>2?e.slice(1).join("."):t},$=({name:t,canTrack:e})=>{var n;try{return e?(n=document.cookie.split("; ").find(r=>r.startsWith(`${t}=`)))==null?void 0:n.split("=")[1]:void 0}catch(r){d.warn("[COOKIE] GET error: ",(r==null?void 0:r.message)||r);return}},X=async t=>$(t),Pt=t=>t.map(([e,n])=>n?`${e}=${n}`:e).filter(p).join("; "),At=[["secure",""],["SameSite","None"]],Ot=({name:t,value:e,expires:n})=>{const s=(c()?location.protocol==="https:":!0)?At:[[]],o=n?[["expires",n.toUTCString()]]:[[]],i=[[t,e],...o,["path","/"],["domain",kt(window.location.hostname)],...s];return Pt(i)},z=async({name:t,value:e,expires:n,canTrack:r})=>{try{if(!r)return;const s=Ot({name:t,value:e,expires:n});document.cookie=s}catch(s){d.warn("[COOKIE] SET error: ",(s==null?void 0:s.message)||s)}};function Ct(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){const e=Math.random()*16|0;return(t=="x"?e:e&3|8).toString(16)})}function H(){return Ct().replace(/-/g,"")}const J="builderSessionId",Tt=async({canTrack:t})=>{if(!t)return;const e=await X({name:J,canTrack:t});if(p(e))return e;{const n=xt();return Bt({id:n,canTrack:t}),n}},xt=()=>H(),Bt=({id:t,canTrack:e})=>z({name:J,value:t,canTrack:e}),Q=()=>c()&&typeof localStorage!="undefined"?localStorage:void 0,Rt=({key:t,canTrack:e})=>{var n;try{return e?(n=Q())==null?void 0:n.getItem(t):void 0}catch(r){console.debug("[LocalStorage] GET error: ",r);return}},Ut=({key:t,canTrack:e,value:n})=>{var r;try{e&&((r=Q())==null||r.setItem(t,n))}catch(s){console.debug("[LocalStorage] SET error: ",s)}},Y="builderVisitorId",Lt=({canTrack:t})=>{if(!t)return;const e=Rt({key:Y,canTrack:t});if(p(e))return e;{const n=Ft();return Vt({id:n,canTrack:t}),n}},Ft=()=>H(),Vt=({id:t,canTrack:e})=>Ut({key:Y,value:t,canTrack:e});function Z(t){var e;typeof process!="undefined"&&((e=process.env)!=null&&e.DEBUG)&&String(process.env.DEBUG)=="true"&&d.log(t)}const Dt=async({canTrack:t})=>{if(!t)return{visitorId:void 0,sessionId:void 0};const e=await Tt({canTrack:t}),n=Lt({canTrack:t});return{sessionId:e,visitorId:n}},Mt=async({type:t,canTrack:e,apiKey:n,metadata:r,...s})=>({type:t,data:{...s,metadata:{url:location.href,...r},...await Dt({canTrack:e}),userAttributes:j(),ownerId:n}});async function q({apiHost:t,...e}){if(!e.apiKey){d.error("Missing API key for track call. Please provide your API key.");return}if(!e.canTrack||K()||!(c()||w==="reactNative"))return;const r=`${t||"https://cdn.builder.io"}/api/v1/track`;return Z(r),fetch(r,{method:"POST",body:JSON.stringify({events:[await Mt(e)]}),headers:{"content-type":"application/json",...G()},mode:"cors"}).catch(s=>{console.error("Failed to track: ",s)})}const Nt=t=>q({...t,canTrack:!0}),Kt=["*.beta.builder.io","beta.builder.io","builder.io","localhost","qa.builder.io"];function tt(t,e){if(!e.origin.startsWith("http")&&!e.origin.startsWith("https"))return!1;const n=new URL(e.origin),r=n.hostname;return(t||Kt).findIndex(s=>s.startsWith("*.")?r.endsWith(s.slice(1)):s===r)>-1}const jt=()=>{W("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 et=(t={})=>{var e,n;V||(V=!0,c()&&((e=window.parent)==null||e.postMessage({type:"builder.sdkInfo",data:{target:w,version:_,supportsPatchUpdates:!1,supportsAddBlockScoping:!0,supportsCustomBreakpoints:!0}},"*"),(n=window.parent)==null||n.postMessage({type:"builder.updateContent",data:{options:t}},"*"),window.addEventListener("message",r=>{var o,i;if(!tt(t.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,E=new Function(u);let l,h=null;try{l=E.apply(null,S)}catch(g){h=g}h?(o=window.parent)==null||o.postMessage({type:"builder.evaluateError",data:{id:m,error:h.message}},"*"):l&&typeof l.then=="function"?l.then(g=>{var b;(b=window.parent)==null||b.postMessage({type:"builder.evaluateResult",data:{id:m,result:g}},"*")}).catch(console.error):(i=window.parent)==null||i.postMessage({type:"builder.evaluateResult",data:{result:l,id:m}},"*");break}}})))},nt=({model:t,trustedHosts:e,callbacks:n})=>r=>{if(!tt(e,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.contentUpdate":{const o=s.data,i=o.key||o.alias||o.entry||o.modelName,u=o.data;i===t&&n.contentUpdate(u);break}}},Wt=(t,e,n)=>{if(!c)return d.warn("`subscribeToEditor` only works in the browser. It currently seems to be running on the server."),()=>{};et();const r=nt({callbacks:{contentUpdate:e,animation:()=>{},configureSdk:()=>{}},model:t,trustedHosts:n==null?void 0:n.trustedHosts});return window.addEventListener("message",r),()=>{window.removeEventListener("message",r)}},_t="builder.tests",C=t=>`${_t}.${t}`,Gt=({contentId:t})=>X({name:C(t),canTrack:!0}),$t=({contentId:t})=>$({name:C(t),canTrack:!0}),Xt=({contentId:t,value:e})=>z({name:C(t),value:e,canTrack:!0}),rt=t=>p(t.id)&&p(t.variations)&&Object.keys(t.variations).length>0,zt=({id:t,variations:e})=>{var s;let n=0;const r=Math.random();for(const o in e){const i=(s=e[o])==null?void 0:s.testRatio;if(n+=i,r<n)return o}return t},st=t=>{const e=zt(t);return Xt({contentId:t.id,value:e}).catch(n=>{d.error("could not store A/B test variation: ",n)}),e},ot=({item:t,testGroupId:e})=>{const n=t.variations[e];return e===t.id||!n?{testVariationId:t.id,testVariationName:"Default"}:{data:n.data,testVariationId:n.id,testVariationName:n.name||(n.id===t.id?"Default":"")}},Ht=({item:t,canTrack:e})=>{if(!e)return t;if(!t)return;if(!rt(t))return t;const n=$t({contentId:t.id})||st({variations:t.variations,id:t.id}),r=ot({item:t,testGroupId:n});return{...t,...r}},Jt=async({item:t,canTrack:e})=>{if(!e||!rt(t))return t;const r=await Gt({contentId:t.id})||st({variations:t.variations,id:t.id}),s=ot({item:t,testGroupId:r});return{...t,...s}},it=t=>p(t)?t:!0;function Qt(){return typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:globalThis}function Yt(){const t=Qt().fetch;if(typeof t=="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
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 t}const Zt=Yt();function P(t,e=null,n="."){return Object.keys(t).reduce((r,s)=>{const o=t[s],i=[e,s].filter(Boolean).join(n);return[typeof o=="object",o!==null,!(Array.isArray(o)&&o.length===0)].every(Boolean)?{...r,...P(o,i,n)}:{...r,[i]:o}},{})}function at(t,e,n={}){for(const r in t){const s=t[r],o=e?e+"."+r:r;s&&typeof s=="object"&&!Array.isArray(s)&&!Object.keys(s).find(i=>i.startsWith("$"))?at(s,o,n):n[o]=s}return n}function qt(t){const e={};for(const n in t){const r=n.split(".");let s=e;for(let o=0;o<r.length;o++){const i=r[o];o===r.length-1?s[i]=t[n]:(s[i]=s[i]||{},s=s[i])}}return e}const te="v3",D=t=>typeof t=="number"&&!isNaN(t)&&t>=0,T=t=>{const{limit:e=30,userAttributes:n,query:r,model:s,apiKey:o,enrich:i,locale:u,apiVersion:S=te,fields:m,omit:E,offset:l,cacheSeconds:h,staleCacheSeconds:g,sort:b,includeUnpublished:x,apiHost:dt}=t;if(!o)throw new Error("Missing API key");if(!["v3"].includes(S))throw new Error(`Invalid apiVersion: expected 'v3', received '${S}'`);const ft=e!==1,ht=dt||"https://cdn.builder.io",a=new URL(`${ht}/api/${S}/content/${s}`);a.searchParams.set("apiKey",o),a.searchParams.set("limit",String(e)),a.searchParams.set("noTraverse",String(ft)),a.searchParams.set("includeRefs",String(!0));const k=u||(n==null?void 0:n.locale);let y=n||{};if(k&&(a.searchParams.set("locale",k),y={locale:k,...y}),i&&a.searchParams.set("enrich",String(i)),a.searchParams.set("omit",E||"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)),h&&D(h)&&a.searchParams.set("cacheSeconds",String(h)),g&&D(g)&&a.searchParams.set("staleCacheSeconds",String(g)),b){const f=P({sort:b});for(const I in f)a.searchParams.set(I,JSON.stringify(f[I]))}const B={...Et(),...M(t.options||{})};y={...y,...ne(B)};const R=P(B);for(const f in R)a.searchParams.set(f,String(R[f]));if(Object.keys(y).length>0&&a.searchParams.set("userAttributes",JSON.stringify(y)),r){const f=at({query:r});for(const I in f)a.searchParams.set(I,JSON.stringify(f[I]))}return a},ee=t=>{const e={};for(const n in t)n.startsWith("userAttributes.")&&(e[n]=t[n],delete t[n]);return e},ne=t=>{if(c()&&t.preview==="BUILDER_STUDIO"){t["userAttributes.urlPath"]=window.location.pathname,t["userAttributes.host"]=window.location.host;const e=ee(t),{userAttributes:n}=qt(e);return n}return{}},re=t=>"results"in t;async function ct(t){const e=await lt({...t,limit:1});return e&&e[0]||null}const se=async t=>{var i,u;const e=T(t),n=(i=t.fetch)!=null?i:Zt,r={...t.fetchOptions,headers:{...(u=t.fetchOptions)==null?void 0:u.headers,...G()}};return await(await n(e.href,r)).json()},ut=async(t,e,n=T(t))=>{const r=it(t.canTrack);if(n.search.includes("preview="),!r||!(c()||w==="reactNative"))return e.results;try{const s=[];for(const o of e.results)s.push(await Jt({item:o,canTrack:r}));e.results=s}catch(s){d.error("Could not process A/B tests. ",s)}return e.results};async function lt(t){const e=T(t),n=await se(t);if(!re(n))throw d.error("Error fetching data. ",{url:e,content:n,options:t}),n;return ut(t,n)}const oe=async t=>{var r,s,o;const e=t.path||((r=t.url)==null?void 0:r.pathname)||((s=t.userAttributes)==null?void 0:s.urlPath),n={...t,apiKey:t.apiKey,model:t.model||"page",userAttributes:{...t.userAttributes,...e?{urlPath:e}:{}},options:O(t.searchParams||((o=t.url)==null?void 0:o.searchParams)||t.options)};return{apiKey:n.apiKey,model:n.model,content:await ct(n)}};exports.MSG_PREFIX=v;exports.TARGET=w;exports._processContentResult=ut;exports._track=q;exports.checkIsDefined=p;exports.createEditorListener=nt;exports.createRegisterComponentMessage=St;exports.fetchBuilderProps=oe;exports.fetchEntries=lt;exports.fetchOneEntry=ct;exports.getBuilderSearchParams=O;exports.getDefaultCanTrack=it;exports.getUserAttributes=j;exports.handleABTestingSync=Ht;exports.isBrowser=c;exports.isEditing=K;exports.isPreviewing=wt;exports.logFetch=Z;exports.logger=d;exports.register=W;exports.registerInsertMenu=jt;exports.serializeIncludingFunctions=A;exports.setEditorSettings=It;exports.setupBrowserForEditing=et;exports.subscribeToEditor=Wt;exports.track=Nt;
@@ -112,7 +112,7 @@ const R = "builder.", dt = "options.", M = (t) => {
112
112
  return {};
113
113
  const t = new URLSearchParams(window.location.search);
114
114
  return M(t);
115
- }, K = "3.0.3", j = () => ({
115
+ }, K = "3.0.5", j = () => ({
116
116
  "X-Builder-SDK": v,
117
117
  "X-Builder-SDK-GEN": "2",
118
118
  "X-Builder-SDK-Version": K
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./server-entry-606ce65a.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
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./server-entry-95273908.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-d1ed35c5.js";
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-ffc70868.js";
2
2
  export {
3
3
  r as _processContentResult,
4
4
  s as createRegisterComponentMessage,
@@ -1,4 +1,4 @@
1
- import { isEditing, isBrowser, getUserAttributes, TARGET, logger, MSG_PREFIX } from "./server-entry-d1ed35c5.js";
1
+ import { isEditing, isBrowser, getUserAttributes, TARGET, logger, MSG_PREFIX } from "./server-entry-ffc70868.js";
2
2
  const getFunctionArguments = ({
3
3
  builder: e,
4
4
  context: t,
@@ -1,4 +1,4 @@
1
- "use strict";const serverEntry=require("./server-entry-606ce65a.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=`
1
+ "use strict";const serverEntry=require("./server-entry-95273908.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 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./setIvm-e4deba11.cjs");require("./server-entry-606ce65a.cjs");exports.setIvm=e.setIvm;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./setIvm-4ce0db03.cjs");require("./server-entry-95273908.cjs");exports.setIvm=e.setIvm;
@@ -1,5 +1,5 @@
1
- import { setIvm as t } from "./setIvm-6675714a.js";
2
- import "./server-entry-d1ed35c5.js";
1
+ import { setIvm as t } from "./setIvm-2cea7252.js";
2
+ import "./server-entry-ffc70868.js";
3
3
  export {
4
4
  t as setIvm
5
5
  };
@@ -1,4 +1,4 @@
1
- import { checkIsDefined as i, logger as t } from "./server-entry-d1ed35c5.js";
1
+ import { checkIsDefined as i, logger as t } from "./server-entry-ffc70868.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-606ce65a.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;
1
+ "use strict";const s=require("./server-entry-95273908.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,7 +1,7 @@
1
1
  {
2
2
  "name": "@builder.io/sdk-react",
3
3
  "description": "Builder.io SDK for React",
4
- "version": "3.0.3",
4
+ "version": "3.0.5",
5
5
  "homepage": "https://github.com/BuilderIO/builder/tree/main/packages/sdks/output/react",
6
6
  "type": "module",
7
7
  "repository": {
@@ -132,7 +132,7 @@
132
132
  "react": "^18.2.0",
133
133
  "recast": "^0.23.4",
134
134
  "typescript": "^4.9.4",
135
- "vite": "^4.4.9"
135
+ "vite": "^4.5.6"
136
136
  },
137
137
  "nx": {
138
138
  "targets": {
@@ -22,6 +22,7 @@ export type FormProps = BuilderDataProps & BuilderComponentsProp & BuilderLinkCo
22
22
  sendingMessage?: BuilderBlock[];
23
23
  resetFormOnSubmit?: boolean;
24
24
  errorMessagePath?: string;
25
+ children?: any;
25
26
  };
26
27
  /**
27
28
  * This import is used by the Svelte SDK. Do not remove.
@@ -1 +1 @@
1
- export declare const SDK_VERSION = "3.0.3";
1
+ export declare const SDK_VERSION = "3.0.5";
@@ -122,7 +122,7 @@ export interface ComponentInfo {
122
122
  /**
123
123
  * Whether or not the component should receive the `builderBlock` prop, containing the current Builder block being rendered.
124
124
  *
125
- * Defaults to `true`.
125
+ * Defaults to `false`.
126
126
  */
127
127
  builderBlock?: boolean;
128
128
  /**
@@ -130,7 +130,7 @@ export interface ComponentInfo {
130
130
  * The Builder Context contains a lot of data relevant to the current `Content` render.
131
131
  * You can see more information [here](https://github.com/BuilderIO/builder/blob/main/packages/sdks/src/context/types.ts).
132
132
  *
133
- * Defaults to `true`.
133
+ * Defaults to `false`.
134
134
  */
135
135
  builderContext?: boolean;
136
136
  /**
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),h=require("react"),l=require("./blocks-827b0a87.cjs"),T=require("./server-entry-6b2058e2.cjs");require("./blocks-exports.cjs");require("./get-class-prop-name-8fb0e5ad.cjs");require("./dynamic-renderer-b29b45ca.cjs");const A=["production","qa","test","development","dev","cdn-qa","cloud","fast","cdn2","cdn-prod"],B=()=>{const e=process.env.NODE_ENV||"production";return A.includes(e)?e:"production"};function O(e){var v,x;const o=h.useRef(null),[F,g]=h.useState(()=>"unsubmitted"),[y,S]=h.useState(()=>null),[R,q]=h.useState(()=>"");function N(r){var d,f;const a={...e.builderContext.rootState,...r};e.builderContext.rootSetState?(f=(d=e.builderContext).rootSetState)==null||f.call(d,a):e.builderContext.rootState=a}function m(){return T.isEditing()&&e.previewState||F}function w(r){var d;const a=e.sendWithJs||e.sendSubmissionsTo==="email";if(e.sendSubmissionsTo==="zapier")r.preventDefault();else if(a){if(!(e.action||e.sendSubmissionsTo==="email")){r.preventDefault();return}r.preventDefault();const f=r.currentTarget||r.target,E=e.customHeaders||{};let b;const P=new FormData(f),k=Array.from(f.querySelectorAll("input,select,textarea")).filter(t=>!!t.name).map(t=>{let n;const c=t.name;if(t instanceof HTMLInputElement)if(t.type==="radio"){if(t.checked)return n=t.name,{key:c,value:n}}else if(t.type==="checkbox")n=t.checked;else if(t.type==="number"||t.type==="range"){const i=t.valueAsNumber;isNaN(i)||(n=i)}else t.type==="file"?n=t.files:n=t.value;else n=t.value;return{key:c,value:n}});let u=e.contentType;if(e.sendSubmissionsTo==="email"&&(u="multipart/form-data"),Array.from(k).forEach(({value:t})=>{(t instanceof File||Array.isArray(t)&&t[0]instanceof File||t instanceof FileList)&&(u="multipart/form-data")}),u!=="application/json")b=P;else{const t={};Array.from(k).forEach(({value:n,key:c})=>{l.set(t,c,n)}),b=JSON.stringify(t)}u&&u!=="multipart/form-data"&&(a&&((d=e.action)!=null&&d.includes("zapier.com"))||(E["content-type"]=u));const C=new CustomEvent("presubmit",{detail:{body:b}});if(o.current&&(o.current.dispatchEvent(C),C.defaultPrevented))return;g("sending");const D=`${B()==="dev"?"http://localhost:5000":"https://builder.io"}/api/v1/form-submit?apiKey=${e.builderContext.apiKey}&to=${btoa(e.sendSubmissionsToEmail||"")}&name=${encodeURIComponent(e.name||"")}`,j=e.sendSubmissionsTo==="email"?D:e.action;T.logFetch(j),fetch(j,{body:b,headers:E,method:e.method||"post"}).then(async t=>{let n;const c=t.headers.get("content-type");if(c&&c.indexOf("application/json")!==-1?n=await t.json():n=await t.text(),!t.ok&&e.errorMessagePath){let i=l.get(n,e.errorMessagePath);i&&(typeof i!="string"&&(i=JSON.stringify(i)),q(i),N({formErrorMessage:i}))}if(S(n),g(t.ok?"success":"error"),t.ok){const i=new CustomEvent("submit:success",{detail:{res:t,body:n}});if(o.current){if(o.current.dispatchEvent(i),i.defaultPrevented)return;e.resetFormOnSubmit!==!1&&o.current.reset()}if(e.successUrl)if(o.current){const M=new CustomEvent("route",{detail:{url:e.successUrl}});o.current.dispatchEvent(M),M.defaultPrevented||(location.href=e.successUrl)}else location.href=e.successUrl}},t=>{const n=new CustomEvent("submit:error",{detail:{error:t}});o.current&&(o.current.dispatchEvent(n),n.defaultPrevented)||(S(t),g("error"))})}}return s.jsxs(s.Fragment,{children:[" ",s.jsxs("form",{validate:e.validate,ref:o,action:!e.sendWithJs&&e.action,method:e.method,name:e.name,onSubmit:r=>w(r),...e.attributes,children:[e.builderBlock&&e.builderBlock.children?s.jsx(s.Fragment,{children:(x=(v=e.builderBlock)==null?void 0:v.children)==null?void 0:x.map((r,a)=>s.jsx(l.Block,{block:r,context:e.builderContext,registeredComponents:e.builderComponents,linkComponent:e.builderLinkComponent},`form-block-${a}`))}):null,m()==="error"?s.jsx(l.Blocks,{path:"errorMessage",blocks:e.errorMessage,context:e.builderContext}):null,m()==="sending"?s.jsx(l.Blocks,{path:"sendingMessage",blocks:e.sendingMessage,context:e.builderContext}):null,m()==="error"&&y?s.jsx("pre",{className:"builder-form-error-text pre-3f9754fe",children:JSON.stringify(y,null,2)}):null,m()==="success"?s.jsx(l.Blocks,{path:"successMessage",blocks:e.successMessage,context:e.builderContext}):null]})," ",s.jsx("style",{children:".pre-3f9754fe { padding: 10px; color: red; text-align: center; }"})," "]})}exports.default=O;
@@ -1,176 +0,0 @@
1
- import { jsxs as F, Fragment as N, jsx as c } from "react/jsx-runtime";
2
- import { useRef as O, useState as h } from "react";
3
- import { Block as U, Blocks as g, set as B, get as R } from "./blocks-105e50e5.js";
4
- import { isEditing as $, logFetch as L } from "./server-entry-35f12729.js";
5
- import "./blocks-exports.mjs";
6
- import "./get-class-prop-name-6b143ec7.js";
7
- import "./dynamic-renderer-8b343325.js";
8
- const q = ["production", "qa", "test", "development", "dev", "cdn-qa", "cloud", "fast", "cdn2", "cdn-prod"], W = () => {
9
- const e = process.env.NODE_ENV || "production";
10
- return q.includes(e) ? e : "production";
11
- };
12
- function X(e) {
13
- var S, E;
14
- const o = O(null), [w, b] = h(() => "unsubmitted"), [v, y] = h(() => null), [z, D] = h(() => "");
15
- function P(r) {
16
- var l, m;
17
- const s = {
18
- ...e.builderContext.rootState,
19
- ...r
20
- };
21
- e.builderContext.rootSetState ? (m = (l = e.builderContext).rootSetState) == null || m.call(l, s) : e.builderContext.rootState = s;
22
- }
23
- function d() {
24
- return $() && e.previewState || w;
25
- }
26
- function A(r) {
27
- var l;
28
- const s = e.sendWithJs || e.sendSubmissionsTo === "email";
29
- if (e.sendSubmissionsTo === "zapier")
30
- r.preventDefault();
31
- else if (s) {
32
- if (!(e.action || e.sendSubmissionsTo === "email")) {
33
- r.preventDefault();
34
- return;
35
- }
36
- r.preventDefault();
37
- const m = r.currentTarget || r.target, x = e.customHeaders || {};
38
- let f;
39
- const j = new FormData(m), C = Array.from(m.querySelectorAll("input,select,textarea")).filter((t) => !!t.name).map((t) => {
40
- let n;
41
- const a = t.name;
42
- if (t instanceof HTMLInputElement)
43
- if (t.type === "radio") {
44
- if (t.checked)
45
- return n = t.name, {
46
- key: a,
47
- value: n
48
- };
49
- } else if (t.type === "checkbox")
50
- n = t.checked;
51
- else if (t.type === "number" || t.type === "range") {
52
- const i = t.valueAsNumber;
53
- isNaN(i) || (n = i);
54
- } else
55
- t.type === "file" ? n = t.files : n = t.value;
56
- else
57
- n = t.value;
58
- return {
59
- key: a,
60
- value: n
61
- };
62
- });
63
- let u = e.contentType;
64
- if (e.sendSubmissionsTo === "email" && (u = "multipart/form-data"), Array.from(C).forEach(({ value: t }) => {
65
- (t instanceof File || Array.isArray(t) && t[0] instanceof File || t instanceof FileList) && (u = "multipart/form-data");
66
- }), u !== "application/json")
67
- f = j;
68
- else {
69
- const t = {};
70
- Array.from(C).forEach(({ value: n, key: a }) => {
71
- B(t, a, n);
72
- }), f = JSON.stringify(t);
73
- }
74
- u && u !== "multipart/form-data" && (s && ((l = e.action) != null && l.includes("zapier.com")) || (x["content-type"] = u));
75
- const k = new CustomEvent("presubmit", { detail: { body: f } });
76
- if (o.current && (o.current.dispatchEvent(k), k.defaultPrevented))
77
- return;
78
- b("sending");
79
- const J = `${W() === "dev" ? "http://localhost:5000" : "https://builder.io"}/api/v1/form-submit?apiKey=${e.builderContext.apiKey}&to=${btoa(
80
- e.sendSubmissionsToEmail || ""
81
- )}&name=${encodeURIComponent(e.name || "")}`, M = e.sendSubmissionsTo === "email" ? J : e.action;
82
- L(M), fetch(M, { body: f, headers: x, method: e.method || "post" }).then(
83
- async (t) => {
84
- let n;
85
- const a = t.headers.get("content-type");
86
- if (a && a.indexOf("application/json") !== -1 ? n = await t.json() : n = await t.text(), !t.ok && e.errorMessagePath) {
87
- let i = R(n, e.errorMessagePath);
88
- i && (typeof i != "string" && (i = JSON.stringify(i)), D(i), P({ formErrorMessage: i }));
89
- }
90
- if (y(n), b(t.ok ? "success" : "error"), t.ok) {
91
- const i = new CustomEvent("submit:success", {
92
- detail: { res: t, body: n }
93
- });
94
- if (o.current) {
95
- if (o.current.dispatchEvent(i), i.defaultPrevented)
96
- return;
97
- e.resetFormOnSubmit !== !1 && o.current.reset();
98
- }
99
- if (e.successUrl)
100
- if (o.current) {
101
- const T = new CustomEvent("route", {
102
- detail: { url: e.successUrl }
103
- });
104
- o.current.dispatchEvent(T), T.defaultPrevented || (location.href = e.successUrl);
105
- } else
106
- location.href = e.successUrl;
107
- }
108
- },
109
- (t) => {
110
- const n = new CustomEvent("submit:error", {
111
- detail: { error: t }
112
- });
113
- o.current && (o.current.dispatchEvent(n), n.defaultPrevented) || (y(t), b("error"));
114
- }
115
- );
116
- }
117
- }
118
- return /* @__PURE__ */ F(N, { children: [
119
- " ",
120
- /* @__PURE__ */ F(
121
- "form",
122
- {
123
- validate: e.validate,
124
- ref: o,
125
- action: !e.sendWithJs && e.action,
126
- method: e.method,
127
- name: e.name,
128
- onSubmit: (r) => A(r),
129
- ...e.attributes,
130
- children: [
131
- e.builderBlock && e.builderBlock.children ? /* @__PURE__ */ c(N, { children: (E = (S = e.builderBlock) == null ? void 0 : S.children) == null ? void 0 : E.map((r, s) => /* @__PURE__ */ c(
132
- U,
133
- {
134
- block: r,
135
- context: e.builderContext,
136
- registeredComponents: e.builderComponents,
137
- linkComponent: e.builderLinkComponent
138
- },
139
- `form-block-${s}`
140
- )) }) : null,
141
- d() === "error" ? /* @__PURE__ */ c(
142
- g,
143
- {
144
- path: "errorMessage",
145
- blocks: e.errorMessage,
146
- context: e.builderContext
147
- }
148
- ) : null,
149
- d() === "sending" ? /* @__PURE__ */ c(
150
- g,
151
- {
152
- path: "sendingMessage",
153
- blocks: e.sendingMessage,
154
- context: e.builderContext
155
- }
156
- ) : null,
157
- d() === "error" && v ? /* @__PURE__ */ c("pre", { className: "builder-form-error-text pre-3f9754fe", children: JSON.stringify(v, null, 2) }) : null,
158
- d() === "success" ? /* @__PURE__ */ c(
159
- g,
160
- {
161
- path: "successMessage",
162
- blocks: e.successMessage,
163
- context: e.builderContext
164
- }
165
- ) : null
166
- ]
167
- }
168
- ),
169
- " ",
170
- /* @__PURE__ */ c("style", { children: ".pre-3f9754fe { padding: 10px; color: red; text-align: center; }" }),
171
- " "
172
- ] });
173
- }
174
- export {
175
- X as default
176
- };
@@ -1,17 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react/jsx-runtime"),b=require("react");function g(e){return e.replace(/http(s)?:/,"")}function x(e="",i,t){const n=new RegExp("([?&])"+i+"=.*?(&|$)","i"),a=e.indexOf("?")!==-1?"&":"?";return e.match(n)?e.replace(n,"$1"+i+"="+encodeURIComponent(t)+"$2"):e+a+i+"="+encodeURIComponent(t)}function y(e,i){if(!e||!(e!=null&&e.match(/cdn\.shopify\.com/))||!i)return e;if(i==="master")return g(e);const t=e.match(/(_\d+x(\d+)?)?(\.(jpg|jpeg|gif|png|bmp|bitmap|tiff|tif)(\?v=\d+)?)/i);if(t){const n=e.split(t[0]),a=t[3],r=i.match("x")?i:`${i}x`;return g(`${n[0]}_${r}${a}`)}return null}function s(e){if(!e)return e;const i=[100,200,400,800,1200,1600,2e3];if(e.match(/builder\.io/)){let t=e;const n=Number(e.split("?width=")[1]);return isNaN(n)||(t=`${t} ${n}w`),i.filter(a=>a!==n).map(a=>`${x(e,"width",a)} ${a}w`).concat([t]).join(", ")}return e.match(/cdn\.shopify\.com/)?i.map(t=>[y(e,`${t}x${t}`),t]).filter(([t])=>!!t).map(([t,n])=>`${t} ${n}w`).concat([e]).join(", "):e}function j(e){var a,r,d,f,u,m;function i(){var h;const o=e.image||e.src;if(!o||!(typeof o=="string"&&(o.match(/builder\.io/)||o.match(/cdn\.shopify\.com/))))return e.srcset;if(!e.noWebp){if(e.srcset&&((h=e.image)!=null&&h.includes("builder.io/api/v1/image"))){if(!e.srcset.includes(e.image.split("?")[0]))return console.debug("Removed given srcset"),s(o)}else if(e.image&&!e.srcset)return s(o);return s(o)}}function t(){var l;return(l=i==null?void 0:i())!=null&&l.match(/builder\.io/)&&!e.noWebp?i().replace(/\?/g,"?format=webp&"):""}function n(){const l={position:"absolute",height:"100%",width:"100%",left:"0px",top:"0px"};return e.aspectRatio?l:void 0}return b.useEffect(()=>{},[]),c.jsxs(c.Fragment,{children:[c.jsxs(c.Fragment,{children:[c.jsxs("picture",{children:[t()?c.jsx("source",{type:"image/webp",srcSet:t()}):null,c.jsx("img",{loading:e.highPriority?"eager":"lazy",fetchPriority:e.highPriority?"high":"auto",alt:e.altText,role:e.altText?void 0:"presentation",style:{objectPosition:e.backgroundPosition||"center",objectFit:e.backgroundSize||"cover",...n()},className:"builder-image"+(e.className?" "+e.className:"")+" img-11a47ef4",src:e.image,srcSet:i(),sizes:e.sizes})]}),e.aspectRatio&&!((r=(a=e.builderBlock)==null?void 0:a.children)!=null&&r.length&&e.fitContent)?c.jsx("div",{className:"builder-image-sizer div-11a47ef4",style:{paddingTop:e.aspectRatio*100+"%"}}):null,(f=(d=e.builderBlock)==null?void 0:d.children)!=null&&f.length&&e.fitContent?c.jsx(c.Fragment,{children:e.children}):null,!e.fitContent&&((m=(u=e.builderBlock)==null?void 0:u.children)!=null&&m.length)?c.jsx("div",{className:"div-11a47ef4-2",children:e.children}):null]}),c.jsx("style",{children:`.img-11a47ef4 {
2
- opacity: 1;
3
- transition: opacity 0.2s ease-in-out;
4
- }.div-11a47ef4 {
5
- width: 100%;
6
- pointer-events: none;
7
- font-size: 0;
8
- }.div-11a47ef4-2 {
9
- display: flex;
10
- flex-direction: column;
11
- align-items: stretch;
12
- position: absolute;
13
- top: 0;
14
- left: 0;
15
- width: 100%;
16
- height: 100%;
17
- }`})]})}exports.default=j;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime");function s(e){var i,l,n,o,d,u,a;function c(){return{...e.autoPlay===!0?{autoPlay:!0}:{},...e.muted===!0?{muted:!0}:{},...e.controls===!0?{controls:!0}:{},...e.loop===!0?{loop:!0}:{},...e.playsInline===!0?{playsInline:!0}:{}}}function r(){return{...c()}}return t.jsxs("div",{style:{position:"relative"},children:[t.jsx("video",{className:"builder-video",...r(),preload:e.preload||"metadata",style:{width:"100%",height:"100%",...(i=e.attributes)==null?void 0:i.style,objectFit:e.fit,objectPosition:e.position,zIndex:2,borderRadius:"1px",...e.aspectRatio?{position:"absolute"}:null},src:e.video||"no-src",poster:e.posterImage,children:e.lazyLoad?null:t.jsx("source",{type:"video/mp4",src:e.video})}),e.aspectRatio&&!(e.fitContent&&((n=(l=e.builderBlock)==null?void 0:l.children)!=null&&n.length))?t.jsx("div",{style:{width:"100%",paddingTop:e.aspectRatio*100+"%",pointerEvents:"none",fontSize:"0px"}}):null,(d=(o=e.builderBlock)==null?void 0:o.children)!=null&&d.length&&e.fitContent?t.jsx("div",{style:{display:"flex",flexDirection:"column",alignItems:"stretch"},children:e.children}):null,(a=(u=e.builderBlock)==null?void 0:u.children)!=null&&a.length&&!e.fitContent?t.jsx("div",{style:{pointerEvents:"none",display:"flex",flexDirection:"column",alignItems:"stretch",position:"absolute",top:"0",left:"0",width:"100%",height:"100%"},children:e.children}):null]})}exports.default=s;