@builder.io/sdk-react 4.0.4 → 4.0.6

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 +14 -13
  2. package/lib/browser/blocks-exports.mjs +8 -5
  3. package/lib/browser/index.cjs +1 -1
  4. package/lib/browser/index.mjs +1 -1
  5. package/lib/browser/server-entry-5449a575.cjs +2 -0
  6. package/lib/browser/{server-entry-66a925df.js → server-entry-79285592.js} +24 -24
  7. package/lib/browser/server-entry.cjs +1 -1
  8. package/lib/browser/server-entry.mjs +1 -1
  9. package/lib/edge/{accordion-b4b4d9f1.js → accordion-87ad8263.js} +1 -1
  10. package/lib/edge/{accordion-7464a303.cjs → accordion-f7e030d5.cjs} +1 -1
  11. package/lib/edge/{blocks-e91ba3d4.cjs → blocks-31199191.cjs} +9 -9
  12. package/lib/edge/{blocks-e93076da.js → blocks-a066bb29.js} +246 -244
  13. package/lib/edge/blocks-exports.cjs +1 -1
  14. package/lib/edge/blocks-exports.mjs +2 -2
  15. package/lib/edge/{button-33f21c52.js → button-1d265b68.js} +2 -2
  16. package/lib/edge/{button-fda4fec5.cjs → button-45c9b994.cjs} +1 -1
  17. package/lib/edge/{columns-f7fd551f.cjs → columns-2282e71d.cjs} +3 -2
  18. package/lib/edge/{columns-55e99fb4.js → columns-6f323a60.js} +14 -13
  19. package/lib/edge/{content-variants-2ebd741d.js → content-variants-ddc4462d.js} +12 -12
  20. package/lib/edge/{content-variants-e6b3bd34.cjs → content-variants-ea56e041.cjs} +1 -1
  21. package/lib/edge/{custom-code-c66cd781.cjs → custom-code-046c9e54.cjs} +1 -1
  22. package/lib/edge/{custom-code-d7aa74ff.js → custom-code-27f3a9d0.js} +1 -1
  23. package/lib/edge/{embed-7384956f.js → embed-962809ed.js} +1 -1
  24. package/lib/edge/{embed-2c418cac.cjs → embed-a90e1ebf.cjs} +1 -1
  25. package/lib/edge/{form-61cd3cc1.cjs → form-2112cb80.cjs} +1 -1
  26. package/lib/edge/{form-5148ead0.js → form-4fc6f70a.js} +3 -3
  27. package/lib/edge/{get-class-prop-name-f91e4605.js → get-class-prop-name-03e66a61.js} +1 -1
  28. package/lib/edge/{get-class-prop-name-5ff8e9ef.cjs → get-class-prop-name-77a0b81b.cjs} +1 -1
  29. package/lib/edge/{img-8770a93f.cjs → img-5850d9d8.cjs} +1 -1
  30. package/lib/edge/{img-595b9ae3.js → img-95c678b5.js} +1 -1
  31. package/lib/edge/index.cjs +1 -1
  32. package/lib/edge/index.mjs +1 -1
  33. package/lib/edge/{input-10b2e145.cjs → input-3937aa23.cjs} +1 -1
  34. package/lib/edge/{input-cab27192.js → input-7d147e6f.js} +1 -1
  35. package/lib/edge/{personalization-container-1ba57b3b.cjs → personalization-container-aff166ba.cjs} +1 -1
  36. package/lib/edge/{personalization-container-9984806a.js → personalization-container-d687ea13.js} +4 -4
  37. package/lib/edge/{select-36b1bb81.cjs → select-5bdfe568.cjs} +1 -1
  38. package/lib/edge/{select-e1dc1504.js → select-bfca657e.js} +1 -1
  39. package/lib/edge/{server-entry-74debd65.js → server-entry-1d157602.js} +25 -25
  40. package/lib/edge/server-entry-e8854034.cjs +2 -0
  41. package/lib/edge/server-entry.cjs +1 -1
  42. package/lib/edge/server-entry.mjs +1 -1
  43. package/lib/edge/{slot-e8473a94.cjs → slot-a4c97369.cjs} +1 -1
  44. package/lib/edge/{slot-c6535e6d.js → slot-acb2aa8e.js} +3 -3
  45. package/lib/edge/{symbol-9177d14c.cjs → symbol-33b65252.cjs} +1 -1
  46. package/lib/edge/{symbol-fc7d42ee.js → symbol-cc7e6b66.js} +2 -2
  47. package/lib/edge/{tabs-980a2753.cjs → tabs-900d88a9.cjs} +1 -1
  48. package/lib/edge/{tabs-955ab7dd.js → tabs-9cbb5615.js} +3 -3
  49. package/lib/node/blocks-exports.cjs +10 -9
  50. package/lib/node/blocks-exports.mjs +10 -7
  51. package/lib/node/index.cjs +1 -1
  52. package/lib/node/index.mjs +3 -3
  53. package/lib/node/init.cjs +1 -1
  54. package/lib/node/init.mjs +3 -3
  55. package/lib/node/server-entry-0dcb0303.cjs +2 -0
  56. package/lib/node/{server-entry-d38415f3.js → server-entry-ee54171f.js} +25 -25
  57. package/lib/node/server-entry.cjs +1 -1
  58. package/lib/node/server-entry.mjs +1 -1
  59. package/lib/node/{setIvm-9fe8e65a.js → setIvm-b773f3ba.js} +1 -1
  60. package/lib/node/{setIvm-0a044ac8.cjs → setIvm-d479356f.cjs} +1 -1
  61. package/lib/node/setIvm.cjs +1 -1
  62. package/lib/node/setIvm.mjs +2 -2
  63. package/lib/node/{should-force-browser-runtime-in-node-e4a9bd6b.cjs → should-force-browser-runtime-in-node-364ee049.cjs} +1 -1
  64. package/lib/node/{should-force-browser-runtime-in-node-eb6e6ea4.js → should-force-browser-runtime-in-node-bdb5bf58.js} +1 -1
  65. package/package.json +1 -1
  66. package/types/constants/sdk-version.d.ts +1 -1
  67. package/types/helpers/preview-lru-cache/set.d.ts +3 -4
  68. package/lib/browser/server-entry-e6bf2d7b.cjs +0 -2
  69. package/lib/edge/server-entry-f10ae31d.cjs +0 -2
  70. package/lib/node/server-entry-a7413c09.cjs +0 -2
@@ -1,11 +1,11 @@
1
1
  function c() {
2
2
  return typeof window != "undefined" && typeof document != "undefined";
3
3
  }
4
- const I = "[Builder.io]: ", f = {
5
- log: (...t) => console.log(I, ...t),
6
- error: (...t) => console.error(I, ...t),
7
- warn: (...t) => console.warn(I, ...t),
8
- debug: (...t) => console.debug(I, ...t)
4
+ const k = "[Builder.io]: ", f = {
5
+ log: (...t) => console.log(k, ...t),
6
+ error: (...t) => console.error(k, ...t),
7
+ warn: (...t) => console.warn(k, ...t),
8
+ debug: (...t) => console.debug(k, ...t)
9
9
  }, y = (t) => t != null, ot = (t) => {
10
10
  if (t === "localhost" || t === "127.0.0.1")
11
11
  return t;
@@ -83,7 +83,7 @@ function ut() {
83
83
  }
84
84
  const K = ut(), ee = (t) => {
85
85
  K.setUserAttributes(t);
86
- }, v = "react", lt = (t) => {
86
+ }, I = "react", lt = (t) => {
87
87
  const e = {};
88
88
  return t.forEach((n, r) => {
89
89
  e[r] = n;
@@ -155,8 +155,8 @@ const V = "builder.", pt = "options.", $ = (t) => {
155
155
  return {};
156
156
  const t = new URLSearchParams(window.location.search);
157
157
  return $(t);
158
- }, G = "4.0.4", J = () => ({
159
- "X-Builder-SDK": v,
158
+ }, G = "4.0.6", J = () => ({
159
+ "X-Builder-SDK": I,
160
160
  "X-Builder-SDK-GEN": "2",
161
161
  "X-Builder-SDK-Version": G
162
162
  });
@@ -270,7 +270,7 @@ const Pt = () => {
270
270
  return t.match(/IEMobile/i) || t.match(/WPDesktop/i);
271
271
  },
272
272
  any() {
273
- return e.Android() || e.BlackBerry() || e.iOS() || e.Opera() || e.Windows() || v === "reactNative";
273
+ return e.Android() || e.BlackBerry() || e.iOS() || e.Opera() || e.Windows() || I === "reactNative";
274
274
  }
275
275
  }, n = t.match(/Tablet|iPad/i), r = Pt();
276
276
  return {
@@ -324,7 +324,7 @@ async function Bt({
324
324
  f.error("Missing API key for track call. Please provide your API key.");
325
325
  return;
326
326
  }
327
- if (!e.canTrack || ft() || !(c() || v === "reactNative"))
327
+ if (!e.canTrack || ft() || !(c() || I === "reactNative"))
328
328
  return;
329
329
  const r = `${t || "https://cdn.builder.io"}/api/v1/track`;
330
330
  return Ot(r), fetch(r, {
@@ -380,7 +380,7 @@ const Lt = (t) => {
380
380
  F || (F = !0, c() && ((e = window.parent) == null || e.postMessage({
381
381
  type: "builder.sdkInfo",
382
382
  data: {
383
- target: v,
383
+ target: I,
384
384
  version: G,
385
385
  supportsPatchUpdates: !1,
386
386
  // Supports builder-model="..." attribute which is needed to
@@ -407,10 +407,10 @@ const Lt = (t) => {
407
407
  if (s != null && s.type)
408
408
  switch (s.type) {
409
409
  case "builder.evaluate": {
410
- const u = s.data.text, b = s.data.arguments || [], p = s.data.id, k = new Function(u);
410
+ const u = s.data.text, b = s.data.arguments || [], p = s.data.id, S = new Function(u);
411
411
  let l, h = null;
412
412
  try {
413
- l = k.apply(null, b);
413
+ l = S.apply(null, b);
414
414
  } catch (g) {
415
415
  h = g;
416
416
  }
@@ -421,8 +421,8 @@ const Lt = (t) => {
421
421
  error: h.message
422
422
  }
423
423
  }, "*") : l && typeof l.then == "function" ? l.then((g) => {
424
- var S;
425
- (S = window.parent) == null || S.postMessage({
424
+ var w;
425
+ (w = window.parent) == null || w.postMessage({
426
426
  type: "builder.evaluateResult",
427
427
  data: {
428
428
  id: p,
@@ -651,11 +651,11 @@ const Xt = "v3", D = (t) => typeof t == "number" && !isNaN(t) && t >= 0, U = (t)
651
651
  locale: u,
652
652
  apiVersion: b = Xt,
653
653
  fields: p,
654
- omit: k,
654
+ omit: S,
655
655
  offset: l,
656
656
  cacheSeconds: h,
657
657
  staleCacheSeconds: g,
658
- sort: S,
658
+ sort: w,
659
659
  includeUnpublished: T,
660
660
  apiHost: nt
661
661
  } = t;
@@ -670,12 +670,12 @@ const Xt = "v3", D = (t) => typeof t == "number" && !isNaN(t) && t >= 0, U = (t)
670
670
  if (A && (a.searchParams.set("locale", A), m = {
671
671
  locale: A,
672
672
  ...m
673
- }), i && a.searchParams.set("enrich", String(i)), a.searchParams.set("omit", k || "meta.componentsUsed"), p && a.searchParams.set("fields", p), Number.isFinite(l) && l > -1 && a.searchParams.set("offset", String(Math.floor(l))), typeof T == "boolean" && a.searchParams.set("includeUnpublished", String(T)), h && D(h) && a.searchParams.set("cacheSeconds", String(h)), g && D(g) && a.searchParams.set("staleCacheSeconds", String(g)), S) {
673
+ }), i && a.searchParams.set("enrich", String(i)), a.searchParams.set("omit", S != null ? S : "meta.componentsUsed"), p && a.searchParams.set("fields", p), Number.isFinite(l) && l > -1 && a.searchParams.set("offset", String(Math.floor(l))), typeof T == "boolean" && a.searchParams.set("includeUnpublished", String(T)), h && D(h) && a.searchParams.set("cacheSeconds", String(h)), g && D(g) && a.searchParams.set("staleCacheSeconds", String(g)), w) {
674
674
  const d = E({
675
- sort: S
675
+ sort: w
676
676
  });
677
- for (const w in d)
678
- a.searchParams.set(w, JSON.stringify(d[w]));
677
+ for (const v in d)
678
+ a.searchParams.set(v, JSON.stringify(d[v]));
679
679
  }
680
680
  const x = {
681
681
  ...mt(),
@@ -692,8 +692,8 @@ const Xt = "v3", D = (t) => typeof t == "number" && !isNaN(t) && t >= 0, U = (t)
692
692
  const d = et({
693
693
  query: r
694
694
  });
695
- for (const w in d)
696
- a.searchParams.set(w, JSON.stringify(d[w]));
695
+ for (const v in d)
696
+ a.searchParams.set(v, JSON.stringify(d[v]));
697
697
  }
698
698
  return a;
699
699
  }, zt = (t) => {
@@ -730,7 +730,7 @@ const Zt = async (t) => {
730
730
  return await (await n(e.href, r)).json();
731
731
  }, qt = async (t, e, n = U(t)) => {
732
732
  const r = Wt(t.canTrack);
733
- if (n.search.includes("preview="), !r || !(c() || v === "reactNative"))
733
+ if (n.search.includes("preview="), !r || !(c() || I === "reactNative"))
734
734
  return e.results;
735
735
  try {
736
736
  const s = [];
@@ -776,7 +776,7 @@ const ue = async (t) => {
776
776
  };
777
777
  };
778
778
  export {
779
- v as TARGET,
779
+ I as TARGET,
780
780
  qt as _processContentResult,
781
781
  Bt as _track,
782
782
  y as checkIsDefined,
@@ -0,0 +1,2 @@
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.6",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 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./server-entry-f10ae31d.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-e8854034.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-74debd65.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-1d157602.js";
2
2
  export {
3
3
  r as _processContentResult,
4
4
  s as createRegisterComponentMessage,
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react/jsx-runtime"),i=require("./blocks-e91ba3d4.cjs");require("react");require("./blocks-exports.cjs");require("./server-entry-f10ae31d.cjs");require("./get-class-prop-name-5ff8e9ef.cjs");require("./dynamic-renderer-b29b45ca.cjs");function u(e){var t,n,r;return o.jsx("div",{style:{pointerEvents:"auto"},...!((t=e.builderContext.context)!=null&&t.symbolId)&&{"builder-slot":e.name},children:o.jsx(i.Blocks,{parent:(n=e.builderContext.context)==null?void 0:n.symbolId,path:`symbol.data.${e.name}`,context:e.builderContext,registeredComponents:e.builderComponents,blocks:(r=e.builderContext.rootState)==null?void 0:r[e.name]})})}exports.default=u;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react/jsx-runtime"),i=require("./blocks-31199191.cjs");require("react");require("./blocks-exports.cjs");require("./server-entry-e8854034.cjs");require("./get-class-prop-name-77a0b81b.cjs");require("./dynamic-renderer-b29b45ca.cjs");function u(e){var t,n,r;return o.jsx("div",{style:{pointerEvents:"auto"},...!((t=e.builderContext.context)!=null&&t.symbolId)&&{"builder-slot":e.name},children:o.jsx(i.Blocks,{parent:(n=e.builderContext.context)==null?void 0:n.symbolId,path:`symbol.data.${e.name}`,context:e.builderContext,registeredComponents:e.builderComponents,blocks:(r=e.builderContext.rootState)==null?void 0:r[e.name]})})}exports.default=u;
@@ -1,9 +1,9 @@
1
1
  import { jsx as i } from "react/jsx-runtime";
2
- import { Blocks as m } from "./blocks-e93076da.js";
2
+ import { Blocks as m } from "./blocks-a066bb29.js";
3
3
  import "react";
4
4
  import "./blocks-exports.mjs";
5
- import "./server-entry-74debd65.js";
6
- import "./get-class-prop-name-f91e4605.js";
5
+ import "./server-entry-1d157602.js";
6
+ import "./get-class-prop-name-03e66a61.js";
7
7
  import "./dynamic-renderer-8b343325.js";
8
8
  function c(t) {
9
9
  var e, o, n;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("react/jsx-runtime"),o=require("react"),v=require("./blocks-exports.cjs"),k=require("./get-class-prop-name-5ff8e9ef.cjs"),b=require("./server-entry-f10ae31d.cjs"),x=async({builderContextValue:e,symbol:t})=>{if(t!=null&&t.model&&(e!=null&&e.apiKey))return b.fetchOneEntry({model:t.model,apiKey:e.apiKey,apiVersion:e.apiVersion,...(t==null?void 0:t.entry)&&{query:{id:t.entry}}}).catch(r=>{b.logger.error("Could not fetch symbol content: ",r)})};function g(e){var c,a,d,u,l;function t(){return"div"}function r(){return"div"}function y(){var n,s;return[e.attributes[k.getClassPropName()],"builder-symbol",(n=e.symbol)!=null&&n.inline?"builder-inline-symbol":void 0,(s=e.symbol)!=null&&s.dynamic||e.dynamic?"builder-dynamic-symbol":void 0].filter(Boolean).join(" ")}const[i,f]=o.useState(()=>{var n;return(n=e.symbol)==null?void 0:n.content});function C(){i||x({symbol:e.symbol,builderContextValue:e.builderContext}).then(n=>{n&&f(n)})}return o.useEffect(()=>{},[]),o.useEffect(()=>{C()},[e.symbol]),m.jsx("div",{...e.attributes,className:y(),children:m.jsx(v.Content,{nonce:e.builderContext.nonce,isNestedRender:!0,apiVersion:e.builderContext.apiVersion,apiKey:e.builderContext.apiKey,context:{...e.builderContext.context,symbolId:(c=e.builderBlock)==null?void 0:c.id},customComponents:Object.values(e.builderComponents),data:{...(a=e.symbol)==null?void 0:a.data,...e.builderContext.localState,...(d=i==null?void 0:i.data)==null?void 0:d.state},canTrack:e.builderContext.canTrack,model:(l=(u=e.symbol)==null?void 0:u.model)!=null?l:"",content:i,linkComponent:e.builderLinkComponent,blocksWrapper:t(),contentWrapper:r()})})}exports.default=g;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("react/jsx-runtime"),o=require("react"),v=require("./blocks-exports.cjs"),k=require("./get-class-prop-name-77a0b81b.cjs"),b=require("./server-entry-e8854034.cjs"),x=async({builderContextValue:e,symbol:t})=>{if(t!=null&&t.model&&(e!=null&&e.apiKey))return b.fetchOneEntry({model:t.model,apiKey:e.apiKey,apiVersion:e.apiVersion,...(t==null?void 0:t.entry)&&{query:{id:t.entry}}}).catch(r=>{b.logger.error("Could not fetch symbol content: ",r)})};function g(e){var c,a,d,u,l;function t(){return"div"}function r(){return"div"}function y(){var n,s;return[e.attributes[k.getClassPropName()],"builder-symbol",(n=e.symbol)!=null&&n.inline?"builder-inline-symbol":void 0,(s=e.symbol)!=null&&s.dynamic||e.dynamic?"builder-dynamic-symbol":void 0].filter(Boolean).join(" ")}const[i,f]=o.useState(()=>{var n;return(n=e.symbol)==null?void 0:n.content});function C(){i||x({symbol:e.symbol,builderContextValue:e.builderContext}).then(n=>{n&&f(n)})}return o.useEffect(()=>{},[]),o.useEffect(()=>{C()},[e.symbol]),m.jsx("div",{...e.attributes,className:y(),children:m.jsx(v.Content,{nonce:e.builderContext.nonce,isNestedRender:!0,apiVersion:e.builderContext.apiVersion,apiKey:e.builderContext.apiKey,context:{...e.builderContext.context,symbolId:(c=e.builderBlock)==null?void 0:c.id},customComponents:Object.values(e.builderComponents),data:{...(a=e.symbol)==null?void 0:a.data,...e.builderContext.localState,...(d=i==null?void 0:i.data)==null?void 0:d.state},canTrack:e.builderContext.canTrack,model:(l=(u=e.symbol)==null?void 0:u.model)!=null?l:"",content:i,linkComponent:e.builderLinkComponent,blocksWrapper:t(),contentWrapper:r()})})}exports.default=g;
@@ -1,8 +1,8 @@
1
1
  import { jsx as u } from "react/jsx-runtime";
2
2
  import { useState as C, useEffect as f } from "react";
3
3
  import { Content as v } from "./blocks-exports.mjs";
4
- import { getClassPropName as k } from "./get-class-prop-name-f91e4605.js";
5
- import { fetchOneEntry as h, logger as x } from "./server-entry-74debd65.js";
4
+ import { getClassPropName as k } from "./get-class-prop-name-03e66a61.js";
5
+ import { fetchOneEntry as h, logger as x } from "./server-entry-1d157602.js";
6
6
  const K = async ({
7
7
  builderContextValue: e,
8
8
  symbol: t
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("react/jsx-runtime"),u=require("react"),b=require("./blocks-e91ba3d4.cjs");require("./blocks-exports.cjs");require("./server-entry-f10ae31d.cjs");require("./get-class-prop-name-5ff8e9ef.cjs");require("./dynamic-renderer-b29b45ca.cjs");function s(e){var o;const[t,a]=u.useState(()=>e.defaultActiveTab?e.defaultActiveTab-1:0);function c(n){return e.tabs&&e.tabs[n].content}function r(n){n===t&&e.collapsible?a(-1):a(n)}return l.jsxs("div",{children:[l.jsx("div",{className:"builder-tabs-wrap",style:{display:"flex",flexDirection:"row",justifyContent:e.tabHeaderLayout||"flex-start",overflow:"auto"},children:(o=e.tabs)==null?void 0:o.map((n,i)=>l.jsx("span",{className:`builder-tab-wrap ${t===i?"builder-tab-active":""}`,style:{...t===i?e.activeTabStyle:{}},onClick:d=>r(i),children:l.jsx(b.Blocks,{parent:e.builderBlock.id,path:`tabs.${i}.label`,blocks:n.label,context:e.builderContext,registeredComponents:e.builderComponents,linkComponent:e.builderLinkComponent})},i))}),c(t)?l.jsx("div",{children:l.jsx(b.Blocks,{parent:e.builderBlock.id,path:`tabs.${t}.content`,blocks:c(t),context:e.builderContext,registeredComponents:e.builderComponents,linkComponent:e.builderLinkComponent})}):null]})}exports.default=s;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("react/jsx-runtime"),u=require("react"),b=require("./blocks-31199191.cjs");require("./blocks-exports.cjs");require("./server-entry-e8854034.cjs");require("./get-class-prop-name-77a0b81b.cjs");require("./dynamic-renderer-b29b45ca.cjs");function s(e){var o;const[t,a]=u.useState(()=>e.defaultActiveTab?e.defaultActiveTab-1:0);function c(n){return e.tabs&&e.tabs[n].content}function r(n){n===t&&e.collapsible?a(-1):a(n)}return l.jsxs("div",{children:[l.jsx("div",{className:"builder-tabs-wrap",style:{display:"flex",flexDirection:"row",justifyContent:e.tabHeaderLayout||"flex-start",overflow:"auto"},children:(o=e.tabs)==null?void 0:o.map((n,i)=>l.jsx("span",{className:`builder-tab-wrap ${t===i?"builder-tab-active":""}`,style:{...t===i?e.activeTabStyle:{}},onClick:d=>r(i),children:l.jsx(b.Blocks,{parent:e.builderBlock.id,path:`tabs.${i}.label`,blocks:n.label,context:e.builderContext,registeredComponents:e.builderComponents,linkComponent:e.builderLinkComponent})},i))}),c(t)?l.jsx("div",{children:l.jsx(b.Blocks,{parent:e.builderBlock.id,path:`tabs.${t}.content`,blocks:c(t),context:e.builderContext,registeredComponents:e.builderComponents,linkComponent:e.builderLinkComponent})}):null]})}exports.default=s;
@@ -1,9 +1,9 @@
1
1
  import { jsxs as u, jsx as i } from "react/jsx-runtime";
2
2
  import { useState as d } from "react";
3
- import { Blocks as c } from "./blocks-e93076da.js";
3
+ import { Blocks as c } from "./blocks-a066bb29.js";
4
4
  import "./blocks-exports.mjs";
5
- import "./server-entry-74debd65.js";
6
- import "./get-class-prop-name-f91e4605.js";
5
+ import "./server-entry-1d157602.js";
6
+ import "./get-class-prop-name-03e66a61.js";
7
7
  import "./dynamic-renderer-8b343325.js";
8
8
  function y(t) {
9
9
  var b;