@builder.io/sdk-react 1.0.17 → 1.0.19-dev-1

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 (91) hide show
  1. package/lib/browser/blocks-exports.cjs +14 -14
  2. package/lib/browser/blocks-exports.mjs +350 -339
  3. package/lib/browser/index.cjs +1 -1
  4. package/lib/browser/index.mjs +22 -21
  5. package/lib/browser/init.cjs +1 -0
  6. package/lib/browser/init.mjs +13 -0
  7. package/lib/browser/{server-entry-a7b75909.cjs → server-entry-1a86f409.cjs} +1 -1
  8. package/lib/browser/{server-entry-064a8b7f.js → server-entry-cfff49d1.js} +1 -1
  9. package/lib/browser/server-entry.cjs +1 -1
  10. package/lib/browser/server-entry.mjs +1 -1
  11. package/lib/edge/{blocks-1f59d1c0.cjs → blocks-0397d1b3.cjs} +9 -9
  12. package/lib/edge/{blocks-fe027bf7.js → blocks-055d1c68.js} +209 -223
  13. package/lib/edge/blocks-exports.cjs +1 -1
  14. package/lib/edge/blocks-exports.mjs +27 -13
  15. package/lib/edge/{button-8fdd068a.js → button-14d13356.js} +3 -3
  16. package/lib/edge/{button-36ac5d97.cjs → button-58695538.cjs} +1 -1
  17. package/lib/edge/{columns-4f789807.js → columns-41560f8a.js} +48 -47
  18. package/lib/edge/columns-88c413d0.cjs +28 -0
  19. package/lib/edge/{content-variants-a26825d5.js → content-variants-8d6bee85.js} +75 -75
  20. package/lib/edge/{content-variants-87f99284.cjs → content-variants-b0cbabea.cjs} +5 -5
  21. package/lib/edge/dynamic-blocks-exports.cjs +2 -0
  22. package/lib/edge/dynamic-blocks-exports.mjs +4 -1
  23. package/lib/edge/{dynamic-renderer-b29b45ca.cjs → dynamic-renderer-1c9f24c0.cjs} +1 -1
  24. package/lib/edge/dynamic-renderer-96ba4e48.js +8 -0
  25. package/lib/edge/form-489500da.cjs +1 -0
  26. package/lib/edge/{form-004ab04e.js → form-56a68fe5.js} +69 -58
  27. package/lib/edge/{get-class-prop-name-ee5eac9d.js → get-class-prop-name-859a7f60.js} +1 -1
  28. package/lib/edge/{get-class-prop-name-522545c4.cjs → get-class-prop-name-f1301669.cjs} +1 -1
  29. package/lib/edge/{image-0008c792.js → image-2cc909d9.js} +25 -25
  30. package/lib/edge/image-7e1361ce.cjs +17 -0
  31. package/lib/edge/{img-d311451e.cjs → img-0c1e53c0.cjs} +1 -1
  32. package/lib/edge/{img-5d36c59d.js → img-b4ff1bef.js} +1 -1
  33. package/lib/edge/index.cjs +1 -1
  34. package/lib/edge/index.mjs +22 -21
  35. package/lib/edge/init.cjs +1 -0
  36. package/lib/edge/init.mjs +13 -0
  37. package/lib/edge/{input-34a4e538.cjs → input-2103da14.cjs} +1 -1
  38. package/lib/edge/{input-211240f4.js → input-c6fee09c.js} +1 -1
  39. package/lib/edge/{select-a425b313.cjs → select-b8ad0a4c.cjs} +1 -1
  40. package/lib/edge/{select-e592f42a.js → select-f260d051.js} +1 -1
  41. package/lib/edge/{server-entry-04a076eb.cjs → server-entry-00891f33.cjs} +1 -1
  42. package/lib/edge/{server-entry-633c4fab.js → server-entry-d46a218d.js} +1 -1
  43. package/lib/edge/server-entry.cjs +1 -1
  44. package/lib/edge/server-entry.mjs +1 -1
  45. package/lib/edge/slot-6546a4c9.cjs +1 -0
  46. package/lib/edge/{slot-20e9bd0c.js → slot-6b53b8c4.js} +7 -6
  47. package/lib/edge/{symbol-8aa6a69b.js → symbol-324dadc8.js} +2 -2
  48. package/lib/edge/{symbol-441a42f8.cjs → symbol-636383eb.cjs} +1 -1
  49. package/lib/edge/video-64014cc4.cjs +1 -0
  50. package/lib/edge/{video-58c2cc8d.js → video-d02ff89b.js} +15 -15
  51. package/lib/node/blocks-exports.cjs +32 -72
  52. package/lib/node/blocks-exports.mjs +902 -1017
  53. package/lib/node/index.cjs +1 -1
  54. package/lib/node/index.mjs +24 -22
  55. package/lib/node/init.cjs +1 -0
  56. package/lib/node/init.mjs +9 -0
  57. package/lib/node/node-runtime-1ca09d03.js +137 -0
  58. package/lib/node/node-runtime-87cf9b13.cjs +41 -0
  59. package/lib/node/{server-entry-a2617044.js → server-entry-8c84ddbd.js} +1 -1
  60. package/lib/node/{server-entry-e66a06c7.cjs → server-entry-ff6fc2b4.cjs} +1 -1
  61. package/lib/node/server-entry.cjs +1 -1
  62. package/lib/node/server-entry.mjs +1 -1
  63. package/package.json +6 -1
  64. package/types/blocks/form/component-info.d.ts +2 -0
  65. package/types/blocks/form/form.d.ts +3 -0
  66. package/types/blocks/input/component-info.d.ts +2 -0
  67. package/types/blocks/input/input.d.ts +15 -0
  68. package/types/blocks/select/component-info.d.ts +2 -0
  69. package/types/blocks/select/select.d.ts +16 -0
  70. package/types/blocks/submit-button/component-info.d.ts +2 -0
  71. package/types/blocks/submit-button/submit-button.d.ts +10 -0
  72. package/types/components/content/components/context-updater.d.ts +5 -0
  73. package/types/components/dynamic-renderer.d.ts +3 -0
  74. package/types/constants/sdk-version.d.ts +1 -1
  75. package/types/context/index.d.ts +1 -0
  76. package/types/functions/evaluate/node-runtime/init.d.ts +10 -0
  77. package/types/functions/evaluate/node-runtime/node-runtime.d.ts +6 -0
  78. package/types/functions/get-content/types.d.ts +3 -3
  79. package/types/functions/get-react-native-block-styles.d.ts +15 -0
  80. package/types/functions/sanitize-react-native-block-styles.d.ts +3 -0
  81. package/types/functions/sanitize-rn-allowed-css.d.ts +8 -0
  82. package/types/index-helpers/blocks-exports.d.ts +4 -0
  83. package/types/node-runtime/index.d.ts +1 -0
  84. package/types/node-runtime/node-runtime.d.ts +9 -0
  85. package/types/node-runtime.d.ts +1 -0
  86. package/lib/edge/columns-36bdc015.cjs +0 -28
  87. package/lib/edge/dynamic-renderer-8b343325.js +0 -8
  88. package/lib/edge/form-6b599bb9.cjs +0 -1
  89. package/lib/edge/image-ee3dd857.cjs +0 -17
  90. package/lib/edge/slot-1547b467.cjs +0 -1
  91. package/lib/edge/video-e20dcbbc.cjs +0 -1
@@ -1,2 +1,2 @@
1
- "use strict";const b="react",ce=e=>{const t={};return e.forEach((n,r)=>{t[r]=n}),t},M=e=>e instanceof URLSearchParams?ce(e):e,F=e=>typeof e=="string"?e:e instanceof URLSearchParams?e.toString():new URLSearchParams(e).toString();function c(){return typeof window!="undefined"&&typeof document!="undefined"}function ue(){return c()&&window.self!==window.top}function k(e){return ue()&&F(e||window.location.search).indexOf("builder.frameEditing=")!==-1}function de(e){if(!c())return!1;const t=F(e||window.location.search);return k(t)?!1:t.indexOf("builder.preview=")!==-1}const C=e=>JSON.parse(JSON.stringify(e)),le=e=>({type:"builder.registerComponent",data:N(e)}),fe=e=>{const t=e.toString().trim();return`return (${!t.startsWith("function")&&!t.startsWith("(")?"function ":""}${t}).apply(this, arguments)`},ge=e=>typeof e=="function"?fe(e):C(e),N=({inputs:e,...t})=>({...C(t),inputs:e==null?void 0:e.map(n=>Object.entries(n).reduce((r,[o,s])=>({...r,[o]:ge(s)}),{}))}),R={};function D(e,t){let n=R[e];if(n||(n=R[e]=[]),n.push(t),c()){const r={type:"builder.register",data:{type:e,info:t}};try{parent.postMessage(r,"*"),parent!==window&&window.postMessage(r,"*")}catch(o){console.debug("Could not postmessage",o)}}}const B={};function he(e){if(c()){Object.assign(B,e);const t={type:"builder.settingsChange",data:B};parent.postMessage(t,"*")}}const L="builder.",pe="options.",P=e=>{if(!e)return{};const t=M(e),n={};return Object.keys(t).forEach(r=>{if(r.startsWith(L)){const o=r.replace(L,"").replace(pe,"");n[o]=t[r]}}),n},me=()=>{if(!c())return{};const e=new URLSearchParams(window.location.search);return P(e)},I="[Builder.io]: ",d={log:(...e)=>console.log(I,...e),error:(...e)=>console.error(I,...e),warn:(...e)=>console.warn(I,...e),debug:(...e)=>console.debug(I,...e)},p=e=>e!=null,ye=e=>{if(e==="localhost"||e==="127.0.0.1")return e;const t=e.split(".");return t.length>2?t.slice(1).join("."):e},j=({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}},_=async e=>j(e),we=e=>e.map(([t,n])=>n?`${t}=${n}`:t).filter(p).join("; "),Se=[["secure",""],["SameSite","None"]],be=({name:e,value:t,expires:n})=>{const o=(c()?location.protocol==="https:":!0)?Se:[[]],s=n?[["expires",n.toUTCString()]]:[[]],a=[[e,t],...s,["path","/"],["domain",ye(window.location.hostname)],...o];return we(a)},K=async({name:e,value:t,expires:n,canTrack:r})=>{try{if(!r)return;const o=be({name:e,value:t,expires:n});document.cookie=o}catch(o){d.warn("[COOKIE] SET error: ",(o==null?void 0:o.message)||o)}};function Ie(){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 W(){return Ie().replace(/-/g,"")}const $="builderSessionId",ve=async({canTrack:e})=>{if(!e)return;const t=await _({name:$,canTrack:e});if(p(t))return t;{const n=Ee();return ke({id:n,canTrack:e}),n}},Ee=()=>W(),ke=({id:e,canTrack:t})=>K({name:$,value:e,canTrack:t}),G=()=>c()&&typeof localStorage!="undefined"?localStorage:void 0,Ce=({key:e,canTrack:t})=>{var n;try{return t?(n=G())==null?void 0:n.getItem(e):void 0}catch(r){console.debug("[LocalStorage] GET error: ",r);return}},Pe=({key:e,canTrack:t,value:n})=>{var r;try{t&&((r=G())==null||r.setItem(e,n))}catch(o){console.debug("[LocalStorage] SET error: ",o)}},z="builderVisitorId",Oe=({canTrack:e})=>{if(!e)return;const t=Ce({key:z,canTrack:e});if(p(t))return t;{const n=Te();return xe({id:n,canTrack:e}),n}},Te=()=>W(),xe=({id:e,canTrack:t})=>Pe({key:z,value:e,canTrack:t}),Ae=()=>{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},Re=()=>typeof navigator=="object"&&navigator.userAgent||"",J=()=>{const e=Re(),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()||b==="reactNative"}},n=e.match(/Tablet|iPad/i),r=Ae();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"}},Be=async({canTrack:e})=>{if(!e)return{visitorId:void 0,sessionId:void 0};const t=await ve({canTrack:e}),n=Oe({canTrack:e});return{sessionId:t,visitorId:n}},Le=async({type:e,canTrack:t,apiKey:n,metadata:r,...o})=>({type:e,data:{...o,metadata:{url:location.href,...r},...await Be({canTrack:t}),userAttributes:J(),ownerId:n}});async function H(e){if(!e.apiKey){d.error("Missing API key for track call. Please provide your API key.");return}if(e.canTrack&&!k()&&(c()||b==="reactNative"))return fetch("https://cdn.builder.io/api/v1/track",{method:"POST",body:JSON.stringify({events:[await Le(e)]}),headers:{"content-type":"application/json"},mode:"cors"}).catch(t=>{console.error("Failed to track: ",t)})}const Ve=e=>H({...e,canTrack:!0}),Ue=["*.beta.builder.io","beta.builder.io","builder.io","localhost","qa.builder.io"];function X(e,t){const n=new URL(t.origin),r=n.hostname;return(e||Ue).findIndex(o=>o.startsWith("*.")?r.endsWith(o.slice(1)):o===r)>-1}const Me="1.0.17",Fe=()=>{D("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 q=(e={})=>{var t,n;V||(V=!0,c()&&((t=window.parent)==null||t.postMessage({type:"builder.sdkInfo",data:{target:b,version:Me,supportsPatchUpdates:!1,supportsAddBlockScoping:!0,supportsCustomBreakpoints:!0}},"*"),(n=window.parent)==null||n.postMessage({type:"builder.updateContent",data:{options:e}},"*"),window.addEventListener("message",r=>{var s,a;if(!X(e.trustedHosts,r))return;const{data:o}=r;if(o!=null&&o.type)switch(o.type){case"builder.evaluate":{const l=o.data.text,y=o.data.arguments||[],m=o.data.id,E=new Function(l);let u,g=null;try{u=E.apply(null,y)}catch(h){g=h}g?(s=window.parent)==null||s.postMessage({type:"builder.evaluateError",data:{id:m,error:g.message}},"*"):u&&typeof u.then=="function"?u.then(h=>{var w;(w=window.parent)==null||w.postMessage({type:"builder.evaluateResult",data:{id:m,result:h}},"*")}).catch(console.error):(a=window.parent)==null||a.postMessage({type:"builder.evaluateResult",data:{result:u,id:m}},"*");break}}})))},Y=({model:e,trustedHosts:t,callbacks:n})=>r=>{if(!X(t,r))return;const{data:o}=r;if(o)switch(o.type){case"builder.configureSdk":{n.configureSdk(o.data);break}case"builder.triggerAnimation":{n.animation(o.data);break}case"builder.contentUpdate":{const s=o.data,a=s.key||s.alias||s.entry||s.modelName,l=s.data;a===e&&n.contentUpdate(l);break}}},Ne=(e,t,n)=>{if(!c)return d.warn("`subscribeToEditor` only works in the browser. It currently seems to be running on the server."),()=>{};q();const r=Y({callbacks:{contentUpdate:t,animation:()=>{},configureSdk:()=>{}},model:e,trustedHosts:n==null?void 0:n.trustedHosts});return window.addEventListener("message",r),()=>{window.removeEventListener("message",r)}},De="builder.tests",O=e=>`${De}.${e}`,je=({contentId:e})=>_({name:O(e),canTrack:!0}),_e=({contentId:e})=>j({name:O(e),canTrack:!0}),Ke=({contentId:e,value:t})=>K({name:O(e),value:t,canTrack:!0}),Q=e=>p(e.id)&&p(e.variations)&&Object.keys(e.variations).length>0,We=({id:e,variations:t})=>{var o;let n=0;const r=Math.random();for(const s in t){const a=(o=t[s])==null?void 0:o.testRatio;if(n+=a,r<n)return s}return e},Z=e=>{const t=We(e);return Ke({contentId:e.id,value:t}).catch(n=>{d.error("could not store A/B test variation: ",n)}),t},ee=({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":"")}},$e=({item:e,canTrack:t})=>{if(!t)return e;if(!e)return;if(!Q(e))return e;const n=_e({contentId:e.id})||Z({variations:e.variations,id:e.id}),r=ee({item:e,testGroupId:n});return{...e,...r}},Ge=async({item:e,canTrack:t})=>{if(!t||!Q(e))return e;const r=await je({contentId:e.id})||Z({variations:e.variations,id:e.id}),o=ee({item:e,testGroupId:r});return{...e,...o}},te=e=>p(e)?e:!0;function ze(){return typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:globalThis}function Je(){const e=ze().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.
1
+ "use strict";const b="react",ce=e=>{const t={};return e.forEach((n,r)=>{t[r]=n}),t},M=e=>e instanceof URLSearchParams?ce(e):e,F=e=>typeof e=="string"?e:e instanceof URLSearchParams?e.toString():new URLSearchParams(e).toString();function c(){return typeof window!="undefined"&&typeof document!="undefined"}function ue(){return c()&&window.self!==window.top}function k(e){return ue()&&F(e||window.location.search).indexOf("builder.frameEditing=")!==-1}function de(e){if(!c())return!1;const t=F(e||window.location.search);return k(t)?!1:t.indexOf("builder.preview=")!==-1}const C=e=>JSON.parse(JSON.stringify(e)),le=e=>({type:"builder.registerComponent",data:N(e)}),fe=e=>{const t=e.toString().trim();return`return (${!t.startsWith("function")&&!t.startsWith("(")?"function ":""}${t}).apply(this, arguments)`},ge=e=>typeof e=="function"?fe(e):C(e),N=({inputs:e,...t})=>({...C(t),inputs:e==null?void 0:e.map(n=>Object.entries(n).reduce((r,[o,s])=>({...r,[o]:ge(s)}),{}))}),R={};function D(e,t){let n=R[e];if(n||(n=R[e]=[]),n.push(t),c()){const r={type:"builder.register",data:{type:e,info:t}};try{parent.postMessage(r,"*"),parent!==window&&window.postMessage(r,"*")}catch(o){console.debug("Could not postmessage",o)}}}const B={};function he(e){if(c()){Object.assign(B,e);const t={type:"builder.settingsChange",data:B};parent.postMessage(t,"*")}}const L="builder.",pe="options.",P=e=>{if(!e)return{};const t=M(e),n={};return Object.keys(t).forEach(r=>{if(r.startsWith(L)){const o=r.replace(L,"").replace(pe,"");n[o]=t[r]}}),n},me=()=>{if(!c())return{};const e=new URLSearchParams(window.location.search);return P(e)},I="[Builder.io]: ",d={log:(...e)=>console.log(I,...e),error:(...e)=>console.error(I,...e),warn:(...e)=>console.warn(I,...e),debug:(...e)=>console.debug(I,...e)},p=e=>e!=null,ye=e=>{if(e==="localhost"||e==="127.0.0.1")return e;const t=e.split(".");return t.length>2?t.slice(1).join("."):e},j=({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}},_=async e=>j(e),we=e=>e.map(([t,n])=>n?`${t}=${n}`:t).filter(p).join("; "),Se=[["secure",""],["SameSite","None"]],be=({name:e,value:t,expires:n})=>{const o=(c()?location.protocol==="https:":!0)?Se:[[]],s=n?[["expires",n.toUTCString()]]:[[]],a=[[e,t],...s,["path","/"],["domain",ye(window.location.hostname)],...o];return we(a)},K=async({name:e,value:t,expires:n,canTrack:r})=>{try{if(!r)return;const o=be({name:e,value:t,expires:n});document.cookie=o}catch(o){d.warn("[COOKIE] SET error: ",(o==null?void 0:o.message)||o)}};function Ie(){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 W(){return Ie().replace(/-/g,"")}const $="builderSessionId",ve=async({canTrack:e})=>{if(!e)return;const t=await _({name:$,canTrack:e});if(p(t))return t;{const n=Ee();return ke({id:n,canTrack:e}),n}},Ee=()=>W(),ke=({id:e,canTrack:t})=>K({name:$,value:e,canTrack:t}),G=()=>c()&&typeof localStorage!="undefined"?localStorage:void 0,Ce=({key:e,canTrack:t})=>{var n;try{return t?(n=G())==null?void 0:n.getItem(e):void 0}catch(r){console.debug("[LocalStorage] GET error: ",r);return}},Pe=({key:e,canTrack:t,value:n})=>{var r;try{t&&((r=G())==null||r.setItem(e,n))}catch(o){console.debug("[LocalStorage] SET error: ",o)}},z="builderVisitorId",Oe=({canTrack:e})=>{if(!e)return;const t=Ce({key:z,canTrack:e});if(p(t))return t;{const n=Te();return xe({id:n,canTrack:e}),n}},Te=()=>W(),xe=({id:e,canTrack:t})=>Pe({key:z,value:e,canTrack:t}),Ae=()=>{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},Re=()=>typeof navigator=="object"&&navigator.userAgent||"",J=()=>{const e=Re(),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()||b==="reactNative"}},n=e.match(/Tablet|iPad/i),r=Ae();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"}},Be=async({canTrack:e})=>{if(!e)return{visitorId:void 0,sessionId:void 0};const t=await ve({canTrack:e}),n=Oe({canTrack:e});return{sessionId:t,visitorId:n}},Le=async({type:e,canTrack:t,apiKey:n,metadata:r,...o})=>({type:e,data:{...o,metadata:{url:location.href,...r},...await Be({canTrack:t}),userAttributes:J(),ownerId:n}});async function H(e){if(!e.apiKey){d.error("Missing API key for track call. Please provide your API key.");return}if(e.canTrack&&!k()&&(c()||b==="reactNative"))return fetch("https://cdn.builder.io/api/v1/track",{method:"POST",body:JSON.stringify({events:[await Le(e)]}),headers:{"content-type":"application/json"},mode:"cors"}).catch(t=>{console.error("Failed to track: ",t)})}const Ve=e=>H({...e,canTrack:!0}),Ue=["*.beta.builder.io","beta.builder.io","builder.io","localhost","qa.builder.io"];function X(e,t){const n=new URL(t.origin),r=n.hostname;return(e||Ue).findIndex(o=>o.startsWith("*.")?r.endsWith(o.slice(1)):o===r)>-1}const Me="1.0.19",Fe=()=>{D("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 q=(e={})=>{var t,n;V||(V=!0,c()&&((t=window.parent)==null||t.postMessage({type:"builder.sdkInfo",data:{target:b,version:Me,supportsPatchUpdates:!1,supportsAddBlockScoping:!0,supportsCustomBreakpoints:!0}},"*"),(n=window.parent)==null||n.postMessage({type:"builder.updateContent",data:{options:e}},"*"),window.addEventListener("message",r=>{var s,a;if(!X(e.trustedHosts,r))return;const{data:o}=r;if(o!=null&&o.type)switch(o.type){case"builder.evaluate":{const l=o.data.text,y=o.data.arguments||[],m=o.data.id,E=new Function(l);let u,g=null;try{u=E.apply(null,y)}catch(h){g=h}g?(s=window.parent)==null||s.postMessage({type:"builder.evaluateError",data:{id:m,error:g.message}},"*"):u&&typeof u.then=="function"?u.then(h=>{var w;(w=window.parent)==null||w.postMessage({type:"builder.evaluateResult",data:{id:m,result:h}},"*")}).catch(console.error):(a=window.parent)==null||a.postMessage({type:"builder.evaluateResult",data:{result:u,id:m}},"*");break}}})))},Y=({model:e,trustedHosts:t,callbacks:n})=>r=>{if(!X(t,r))return;const{data:o}=r;if(o)switch(o.type){case"builder.configureSdk":{n.configureSdk(o.data);break}case"builder.triggerAnimation":{n.animation(o.data);break}case"builder.contentUpdate":{const s=o.data,a=s.key||s.alias||s.entry||s.modelName,l=s.data;a===e&&n.contentUpdate(l);break}}},Ne=(e,t,n)=>{if(!c)return d.warn("`subscribeToEditor` only works in the browser. It currently seems to be running on the server."),()=>{};q();const r=Y({callbacks:{contentUpdate:t,animation:()=>{},configureSdk:()=>{}},model:e,trustedHosts:n==null?void 0:n.trustedHosts});return window.addEventListener("message",r),()=>{window.removeEventListener("message",r)}},De="builder.tests",O=e=>`${De}.${e}`,je=({contentId:e})=>_({name:O(e),canTrack:!0}),_e=({contentId:e})=>j({name:O(e),canTrack:!0}),Ke=({contentId:e,value:t})=>K({name:O(e),value:t,canTrack:!0}),Q=e=>p(e.id)&&p(e.variations)&&Object.keys(e.variations).length>0,We=({id:e,variations:t})=>{var o;let n=0;const r=Math.random();for(const s in t){const a=(o=t[s])==null?void 0:o.testRatio;if(n+=a,r<n)return s}return e},Z=e=>{const t=We(e);return Ke({contentId:e.id,value:t}).catch(n=>{d.error("could not store A/B test variation: ",n)}),t},ee=({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":"")}},$e=({item:e,canTrack:t})=>{if(!t)return e;if(!e)return;if(!Q(e))return e;const n=_e({contentId:e.id})||Z({variations:e.variations,id:e.id}),r=ee({item:e,testGroupId:n});return{...e,...r}},Ge=async({item:e,canTrack:t})=>{if(!t||!Q(e))return e;const r=await je({contentId:e.id})||Z({variations:e.variations,id:e.id}),o=ee({item:e,testGroupId:r});return{...e,...o}},te=e=>p(e)?e:!0;function ze(){return typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:globalThis}function Je(){const e=ze().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
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 ne=Je();function v(e,t=null,n="."){return Object.keys(e).reduce((r,o)=>{const s=e[o],a=[t,o].filter(Boolean).join(n);return[typeof s=="object",s!==null,!(Array.isArray(s)&&s.length===0)].every(Boolean)?{...r,...v(s,a,n)}:{...r,[a]:s}},{})}const He="v3",U=e=>typeof e=="number"&&!isNaN(e)&&e>=0,T=e=>{const{limit:t=30,userAttributes:n,query:r,model:o,apiKey:s,enrich:a,locale:l,apiVersion:y=He,fields:m,omit:E,offset:u,cacheSeconds:g,staleCacheSeconds:h,sort:w,includeUnpublished:x}=e;if(!s)throw new Error("Missing API key");if(!["v3"].includes(y))throw new Error(`Invalid apiVersion: expected 'v3', received '${y}'`);const ie=t!==1,i=new URL(`https://cdn.builder.io/api/${y}/content/${o}`);if(i.searchParams.set("apiKey",s),i.searchParams.set("limit",String(t)),i.searchParams.set("noTraverse",String(ie)),i.searchParams.set("includeRefs",String(!0)),l&&i.searchParams.set("locale",l),a&&i.searchParams.set("enrich",String(a)),i.searchParams.set("omit",E||"meta.componentsUsed"),m&&i.searchParams.set("fields",m),Number.isFinite(u)&&u>-1&&i.searchParams.set("offset",String(Math.floor(u))),typeof x=="boolean"&&i.searchParams.set("includeUnpublished",String(x)),g&&U(g)&&i.searchParams.set("cacheSeconds",String(g)),h&&U(h)&&i.searchParams.set("staleCacheSeconds",String(h)),w){const f=v({sort:w});for(const S in f)i.searchParams.set(S,JSON.stringify(f[S]))}const ae={...me(),...M(e.options||{})},A=v(ae);for(const f in A)i.searchParams.set(f,String(A[f]));if(n&&i.searchParams.set("userAttributes",JSON.stringify(n)),r){const f=v({query:r});for(const S in f)i.searchParams.set(S,JSON.stringify(f[S]))}return i},Xe=e=>"results"in e;async function re(e){const t=await se({...e,limit:1});return t&&t[0]||null}const qe=async e=>{var s;const t=T(e);return await(await((s=e.fetch)!=null?s:ne)(t.href,e.fetchOptions)).json()},oe=async(e,t,n=T(e))=>{const r=te(e.canTrack);if(n.search.includes("preview="),!r||!(c()||b==="reactNative"))return t.results;try{const o=[];for(const s of t.results)o.push(await Ge({item:s,canTrack:r}));t.results=o}catch(o){d.error("Could not process A/B tests. ",o)}return t.results};async function se(e){try{const t=T(e),n=await qe(e);return Xe(n)?oe(e,n):(d.error("Error fetching data. ",{url:t,content:n,options:e}),null)}catch(t){return d.error("Error fetching data. ",t),null}}const Ye=async e=>{var r,o,s;const t=e.path||((r=e.url)==null?void 0:r.pathname)||((o=e.userAttributes)==null?void 0:o.urlPath),n={...e,apiKey:e.apiKey,model:e.model||"page",userAttributes:{...e.userAttributes,...t?{urlPath:t}:{}},options:P(e.searchParams||((s=e.url)==null?void 0:s.searchParams)||e.options)};return{apiKey:n.apiKey,model:n.model,content:await re(n)}};exports.TARGET=b;exports._processContentResult=oe;exports._track=H;exports.checkIsDefined=p;exports.createEditorListener=Y;exports.createRegisterComponentMessage=le;exports.fastClone=C;exports.fetch=ne;exports.fetchBuilderProps=Ye;exports.fetchEntries=se;exports.fetchOneEntry=re;exports.getBuilderSearchParams=P;exports.getDefaultCanTrack=te;exports.getUserAttributes=J;exports.handleABTestingSync=$e;exports.isBrowser=c;exports.isEditing=k;exports.isPreviewing=de;exports.logger=d;exports.register=D;exports.registerInsertMenu=Fe;exports.serializeComponentInfo=N;exports.setEditorSettings=he;exports.setupBrowserForEditing=q;exports.subscribeToEditor=Ne;exports.track=Ve;
@@ -303,7 +303,7 @@ function G(e, t) {
303
303
  const n = new URL(t.origin), r = n.hostname;
304
304
  return (e || Ee).findIndex((o) => o.startsWith("*.") ? r.endsWith(o.slice(1)) : o === r) > -1;
305
305
  }
306
- const Pe = "1.0.17", He = () => {
306
+ const Pe = "1.0.19", He = () => {
307
307
  ne("insertMenu", {
308
308
  name: "_default",
309
309
  default: !0,
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./server-entry-04a076eb.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-00891f33.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-633c4fab.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-d46a218d.js";
2
2
  export {
3
3
  r as _processContentResult,
4
4
  s as createRegisterComponentMessage,
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react/jsx-runtime"),o=require("./blocks-0397d1b3.cjs");require("react");require("./blocks-exports.cjs");require("./server-entry-00891f33.cjs");require("./get-class-prop-name-f1301669.cjs");require("./dynamic-renderer-1c9f24c0.cjs");function u(e){var t,r,n;return i.jsx("div",{style:{pointerEvents:"auto"},...!((t=e.builderContext.context)!=null&&t.symbolId)&&{"builder-slot":e.name},children:i.jsx(o.Blocks,{parent:(r=e.builderContext.context)==null?void 0:r.symbolId,path:`symbol.data.${e.name}`,context:e.builderContext,blocks:(n=e.builderContext.rootState)==null?void 0:n[e.name]})})}exports.default=u;
@@ -1,10 +1,11 @@
1
1
  import { jsx as i } from "react/jsx-runtime";
2
- import { Blocks as l } from "./blocks-fe027bf7.js";
2
+ import { Blocks as l } from "./blocks-055d1c68.js";
3
3
  import "react";
4
- import "./server-entry-633c4fab.js";
5
- import "./get-class-prop-name-ee5eac9d.js";
6
- import "./dynamic-renderer-8b343325.js";
7
- function x(t) {
4
+ import "./blocks-exports.mjs";
5
+ import "./server-entry-d46a218d.js";
6
+ import "./get-class-prop-name-859a7f60.js";
7
+ import "./dynamic-renderer-96ba4e48.js";
8
+ function c(t) {
8
9
  var e, o, n;
9
10
  return /* @__PURE__ */ i(
10
11
  "div",
@@ -28,5 +29,5 @@ function x(t) {
28
29
  );
29
30
  }
30
31
  export {
31
- x as default
32
+ c as default
32
33
  };
@@ -1,8 +1,8 @@
1
1
  import { jsx as c } from "react/jsx-runtime";
2
2
  import { useState as y, useEffect as l } from "react";
3
3
  import { Content as s } from "./blocks-exports.mjs";
4
- import { getClassPropName as b } from "./get-class-prop-name-ee5eac9d.js";
5
- import { fetchOneEntry as C, logger as v } from "./server-entry-633c4fab.js";
4
+ import { getClassPropName as b } from "./get-class-prop-name-859a7f60.js";
5
+ import { fetchOneEntry as C, logger as v } from "./server-entry-d46a218d.js";
6
6
  const h = async ({
7
7
  builderContextValue: t,
8
8
  symbol: e
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react/jsx-runtime"),o=require("react"),b=require("./blocks-exports.cjs"),f=require("./get-class-prop-name-522545c4.cjs"),s=require("./server-entry-04a076eb.cjs"),v=async({builderContextValue:e,symbol:t})=>{if(t!=null&&t.model&&(e!=null&&e.apiKey))return s.fetchOneEntry({model:t.model,apiKey:e.apiKey,apiVersion:e.apiVersion,...(t==null?void 0:t.entry)&&{query:{id:t.entry}}}).catch(i=>{s.logger.error("Could not fetch symbol content: ",i)})};function C(e){var r,c,a,d;function t(){var n,l;return[e.attributes[f.getClassPropName()],"builder-symbol",(n=e.symbol)!=null&&n.inline?"builder-inline-symbol":void 0,(l=e.symbol)!=null&&l.dynamic||e.dynamic?"builder-dynamic-symbol":void 0].filter(Boolean).join(" ")}const[i,m]=o.useState(()=>{var n;return(n=e.symbol)==null?void 0:n.content});function y(){i||v({symbol:e.symbol,builderContextValue:e.builderContext}).then(n=>{n&&m(n)})}return o.useEffect(()=>{},[]),o.useEffect(()=>{y()},[e.symbol]),u.jsx("div",{...e.attributes,className:t(),children:u.jsx(b.Content,{isNestedRender:!0,apiVersion:e.builderContext.apiVersion,apiKey:e.builderContext.apiKey,context:{...e.builderContext.context,symbolId:(r=e.builderBlock)==null?void 0:r.id},customComponents:Object.values(e.builderComponents),data:{...(c=e.symbol)==null?void 0:c.data,...e.builderContext.localState,...(a=i==null?void 0:i.data)==null?void 0:a.state},model:(d=e.symbol)==null?void 0:d.model,content:i,linkComponent:e.builderLinkComponent,blocksWrapper:"div",contentWrapper:"div"})})}exports.default=C;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react/jsx-runtime"),o=require("react"),b=require("./blocks-exports.cjs"),f=require("./get-class-prop-name-f1301669.cjs"),s=require("./server-entry-00891f33.cjs"),v=async({builderContextValue:e,symbol:t})=>{if(t!=null&&t.model&&(e!=null&&e.apiKey))return s.fetchOneEntry({model:t.model,apiKey:e.apiKey,apiVersion:e.apiVersion,...(t==null?void 0:t.entry)&&{query:{id:t.entry}}}).catch(i=>{s.logger.error("Could not fetch symbol content: ",i)})};function C(e){var r,c,a,d;function t(){var n,l;return[e.attributes[f.getClassPropName()],"builder-symbol",(n=e.symbol)!=null&&n.inline?"builder-inline-symbol":void 0,(l=e.symbol)!=null&&l.dynamic||e.dynamic?"builder-dynamic-symbol":void 0].filter(Boolean).join(" ")}const[i,m]=o.useState(()=>{var n;return(n=e.symbol)==null?void 0:n.content});function y(){i||v({symbol:e.symbol,builderContextValue:e.builderContext}).then(n=>{n&&m(n)})}return o.useEffect(()=>{},[]),o.useEffect(()=>{y()},[e.symbol]),u.jsx("div",{...e.attributes,className:t(),children:u.jsx(b.Content,{isNestedRender:!0,apiVersion:e.builderContext.apiVersion,apiKey:e.builderContext.apiKey,context:{...e.builderContext.context,symbolId:(r=e.builderBlock)==null?void 0:r.id},customComponents:Object.values(e.builderComponents),data:{...(c=e.symbol)==null?void 0:c.data,...e.builderContext.localState,...(a=i==null?void 0:i.data)==null?void 0:a.state},model:(d=e.symbol)==null?void 0:d.model,content:i,linkComponent:e.builderLinkComponent,blocksWrapper:"div",contentWrapper:"div"})})}exports.default=C;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime");function s(e){var i,n,l,d,o,u,r;function a(){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 c(){return{...a()}}return t.jsxs("div",{style:{position:"relative"},children:[t.jsx("video",{className:"builder-video",...c(),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&&((l=(n=e.builderBlock)==null?void 0:n.children)!=null&&l.length))?t.jsx(t.Fragment,{children:t.jsx("div",{style:{width:"100%",paddingTop:e.aspectRatio*100+"%",pointerEvents:"none",fontSize:"0px"}})}):null,(o=(d=e.builderBlock)==null?void 0:d.children)!=null&&o.length&&e.fitContent?t.jsx(t.Fragment,{children:t.jsx("div",{style:{display:"flex",flexDirection:"column",alignItems:"stretch"},children:e.children})}):null,(r=(u=e.builderBlock)==null?void 0:u.children)!=null&&r.length&&!e.fitContent?t.jsx(t.Fragment,{children: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;
@@ -1,7 +1,7 @@
1
- import { jsxs as s, jsx as t } from "react/jsx-runtime";
2
- function f(e) {
3
- var i, l, n, o, d, u, a;
4
- function c() {
1
+ import { jsxs as s, jsx as t, Fragment as i } from "react/jsx-runtime";
2
+ function y(e) {
3
+ var l, n, d, o, u, a, c;
4
+ function r() {
5
5
  return {
6
6
  ...e.autoPlay === !0 ? {
7
7
  autoPlay: !0
@@ -20,9 +20,9 @@ function f(e) {
20
20
  } : {}
21
21
  };
22
22
  }
23
- function r() {
23
+ function h() {
24
24
  return {
25
- ...c()
25
+ ...r()
26
26
  };
27
27
  }
28
28
  return /* @__PURE__ */ s(
@@ -36,12 +36,12 @@ function f(e) {
36
36
  "video",
37
37
  {
38
38
  className: "builder-video",
39
- ...r(),
39
+ ...h(),
40
40
  preload: e.preload || "metadata",
41
41
  style: {
42
42
  width: "100%",
43
43
  height: "100%",
44
- ...(i = e.attributes) == null ? void 0 : i.style,
44
+ ...(l = e.attributes) == null ? void 0 : l.style,
45
45
  objectFit: e.fit,
46
46
  objectPosition: e.position,
47
47
  // Hack to get object fit to work as expected and
@@ -57,7 +57,7 @@ function f(e) {
57
57
  children: e.lazyLoad ? null : /* @__PURE__ */ t("source", { type: "video/mp4", src: e.video })
58
58
  }
59
59
  ),
60
- e.aspectRatio && !(e.fitContent && ((n = (l = e.builderBlock) == null ? void 0 : l.children) != null && n.length)) ? /* @__PURE__ */ t(
60
+ e.aspectRatio && !(e.fitContent && ((d = (n = e.builderBlock) == null ? void 0 : n.children) != null && d.length)) ? /* @__PURE__ */ t(i, { children: /* @__PURE__ */ t(
61
61
  "div",
62
62
  {
63
63
  style: {
@@ -67,8 +67,8 @@ function f(e) {
67
67
  fontSize: "0px"
68
68
  }
69
69
  }
70
- ) : null,
71
- (d = (o = e.builderBlock) == null ? void 0 : o.children) != null && d.length && e.fitContent ? /* @__PURE__ */ t(
70
+ ) }) : null,
71
+ (u = (o = e.builderBlock) == null ? void 0 : o.children) != null && u.length && e.fitContent ? /* @__PURE__ */ t(i, { children: /* @__PURE__ */ t(
72
72
  "div",
73
73
  {
74
74
  style: {
@@ -78,8 +78,8 @@ function f(e) {
78
78
  },
79
79
  children: e.children
80
80
  }
81
- ) : null,
82
- (a = (u = e.builderBlock) == null ? void 0 : u.children) != null && a.length && !e.fitContent ? /* @__PURE__ */ t(
81
+ ) }) : null,
82
+ (c = (a = e.builderBlock) == null ? void 0 : a.children) != null && c.length && !e.fitContent ? /* @__PURE__ */ t(i, { children: /* @__PURE__ */ t(
83
83
  "div",
84
84
  {
85
85
  style: {
@@ -95,11 +95,11 @@ function f(e) {
95
95
  },
96
96
  children: e.children
97
97
  }
98
- ) : null
98
+ ) }) : null
99
99
  ]
100
100
  }
101
101
  );
102
102
  }
103
103
  export {
104
- f as default
104
+ y as default
105
105
  };