@builder.io/sdk-react 2.0.19 → 2.0.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/browser/blocks-exports.cjs +31 -31
- package/lib/browser/blocks-exports.mjs +833 -833
- package/lib/browser/index.cjs +1 -1
- package/lib/browser/index.mjs +1 -1
- package/lib/browser/{server-entry-c8020f19.cjs → server-entry-5770bca9.cjs} +2 -2
- package/lib/browser/{server-entry-12189812.js → server-entry-b83ba684.js} +1 -2
- package/lib/browser/server-entry.cjs +1 -1
- package/lib/browser/server-entry.mjs +1 -1
- package/lib/edge/{accordion-634b0466.js → accordion-78c3d81b.js} +1 -1
- package/lib/edge/{accordion-eaf2e50a.cjs → accordion-80133dd8.cjs} +1 -1
- package/lib/edge/blocks-5084bbec.cjs +12 -0
- package/lib/edge/{blocks-51761337.js → blocks-852d317b.js} +240 -233
- package/lib/edge/blocks-exports.cjs +1 -1
- package/lib/edge/blocks-exports.mjs +2 -2
- package/lib/edge/{button-6d2144c3.js → button-0a729557.js} +2 -2
- package/lib/edge/{button-a0aad19e.cjs → button-a97c0d05.cjs} +1 -1
- package/lib/edge/{columns-030a6892.js → columns-1149d23a.js} +6 -6
- package/lib/edge/{columns-44d76a14.cjs → columns-2bd50130.cjs} +4 -4
- package/lib/edge/{content-variants-46a433c2.js → content-variants-86962b96.js} +306 -308
- package/lib/edge/content-variants-cbd84920.cjs +134 -0
- package/lib/edge/{evaluate-6febb3ef.js → evaluate-46f56681.js} +671 -659
- package/lib/edge/{evaluate-29260bf8.cjs → evaluate-617e3bee.cjs} +11 -13
- package/lib/edge/{form-855a28fc.js → form-1811c08f.js} +6 -6
- package/lib/edge/form-c42561fb.cjs +1 -0
- package/lib/edge/{get-class-prop-name-a6353748.js → get-class-prop-name-6e4205e7.js} +1 -1
- package/lib/edge/{get-class-prop-name-6320e936.cjs → get-class-prop-name-dc89023a.cjs} +1 -1
- package/lib/edge/{image-eebfcbac.cjs → image-54d2f755.cjs} +3 -3
- package/lib/edge/{image-6a074aab.js → image-6970c193.js} +24 -24
- package/lib/edge/{img-56b4a196.js → img-0bc990ef.js} +1 -1
- package/lib/edge/{img-1f88586f.cjs → img-70b9d719.cjs} +1 -1
- package/lib/edge/index.cjs +1 -1
- package/lib/edge/index.mjs +1 -1
- package/lib/edge/{input-35f6fbdd.cjs → input-21071030.cjs} +1 -1
- package/lib/edge/{input-7873f170.js → input-3689c63d.js} +1 -1
- package/lib/edge/{select-eb16d7cc.js → select-65ebd3fd.js} +1 -1
- package/lib/edge/{select-f03c5ba6.cjs → select-cb7c2f44.cjs} +1 -1
- package/lib/edge/{server-entry-dbe27fb2.cjs → server-entry-8ce6f347.cjs} +2 -2
- package/lib/edge/{server-entry-77a5a1a0.js → server-entry-9d83b8e5.js} +1 -2
- package/lib/edge/server-entry.cjs +1 -1
- package/lib/edge/server-entry.mjs +1 -1
- package/lib/edge/{slot-93865012.cjs → slot-21cc91d8.cjs} +1 -1
- package/lib/edge/{slot-c9a7a451.js → slot-e5f3b92d.js} +4 -4
- package/lib/edge/{symbol-b6b36212.cjs → symbol-0cc07e41.cjs} +1 -1
- package/lib/edge/{symbol-6657c638.js → symbol-56e5b927.js} +2 -2
- package/lib/edge/{tabs-44484f49.js → tabs-0e6f6b5b.js} +4 -4
- package/lib/edge/{tabs-020fedaa.cjs → tabs-9390d611.cjs} +1 -1
- package/lib/edge/{text-e00e3cdc.js → text-b68c0d5a.js} +2 -2
- package/lib/edge/{text-562c8568.cjs → text-baaedac7.cjs} +1 -1
- package/lib/node/blocks-exports.cjs +31 -31
- package/lib/node/blocks-exports.mjs +817 -844
- package/lib/node/index.cjs +1 -1
- package/lib/node/index.mjs +2 -2
- package/lib/node/init.cjs +1 -1
- package/lib/node/init.mjs +2 -2
- package/lib/node/{server-entry-82ab17f2.cjs → server-entry-52b8f10a.cjs} +2 -2
- package/lib/node/{server-entry-902ea0c4.js → server-entry-5b32494d.js} +1 -2
- package/lib/node/server-entry.cjs +1 -1
- package/lib/node/server-entry.mjs +1 -1
- package/lib/node/{should-force-browser-runtime-in-node-f20178fa.cjs → should-force-browser-runtime-in-node-253f1726.cjs} +4 -4
- package/lib/node/{should-force-browser-runtime-in-node-0b0cefdf.js → should-force-browser-runtime-in-node-68bc74aa.js} +56 -29
- package/package.json +1 -1
- package/types/constants/sdk-version.d.ts +1 -1
- package/types/functions/evaluate/browser-runtime/browser.d.ts +0 -6
- package/types/functions/evaluate/helpers.d.ts +5 -0
- package/types/types/input.d.ts +1 -1
- package/lib/edge/blocks-b8c9a72a.cjs +0 -12
- package/lib/edge/content-variants-3eef022e.cjs +0 -134
- package/lib/edge/form-59059e97.cjs +0 -1
package/lib/node/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./blocks-exports.cjs"),e=require("./server-entry-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./blocks-exports.cjs"),e=require("./server-entry-52b8f10a.cjs");require("react/jsx-runtime");require("react");require("./should-force-browser-runtime-in-node-253f1726.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;
|
package/lib/node/index.mjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Blocks as s, BuilderContext as n, Button as m, Columns as c, Content as g, Fragment as a, Image as p, Section as d, Symbol as l, Text as u, Video as f } from "./blocks-exports.mjs";
|
|
2
|
-
import { _processContentResult as C, createRegisterComponentMessage as E, fetchBuilderProps as h, fetchEntries as x, fetchOneEntry as S, getBuilderSearchParams as b, isEditing as P, isPreviewing as k, register as y, setEditorSettings as R, subscribeToEditor as T, track as v } from "./server-entry-
|
|
2
|
+
import { _processContentResult as C, createRegisterComponentMessage as E, fetchBuilderProps as h, fetchEntries as x, fetchOneEntry as S, getBuilderSearchParams as b, isEditing as P, isPreviewing as k, register as y, setEditorSettings as R, subscribeToEditor as T, track as v } from "./server-entry-5b32494d.js";
|
|
3
3
|
import "react/jsx-runtime";
|
|
4
4
|
import "react";
|
|
5
|
-
import "./should-force-browser-runtime-in-node-
|
|
5
|
+
import "./should-force-browser-runtime-in-node-68bc74aa.js";
|
|
6
6
|
export {
|
|
7
7
|
s as Blocks,
|
|
8
8
|
n as BuilderContext,
|
package/lib/node/init.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./should-force-browser-runtime-in-node-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./should-force-browser-runtime-in-node-253f1726.cjs"),t=require("isolated-vm");require("./server-entry-52b8f10a.cjs");const r=i=>{if(e.shouldForceBrowserRuntimeInNode({shouldLogWarning:!0}))return;const{ivmIsolateOptions:o}=i||{};e.setIvm(t,o)};exports.initializeNodeRuntime=r;
|
package/lib/node/init.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { shouldForceBrowserRuntimeInNode as t, setIvm as r } from "./should-force-browser-runtime-in-node-
|
|
1
|
+
import { shouldForceBrowserRuntimeInNode as t, setIvm as r } from "./should-force-browser-runtime-in-node-68bc74aa.js";
|
|
2
2
|
import e from "isolated-vm";
|
|
3
|
-
import "./server-entry-
|
|
3
|
+
import "./server-entry-5b32494d.js";
|
|
4
4
|
const u = (o) => {
|
|
5
5
|
if (t({
|
|
6
6
|
shouldLogWarning: !0
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const I="react",b="[Builder.io]: ",d={log:(...e)=>console.log(b,...e),error:(...e)=>console.error(b,...e),warn:(...e)=>console.warn(b,...e),debug:(...e)=>console.debug(b,...e)};function c(){return typeof window!="undefined"&&typeof document!="undefined"}const
|
|
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
|
|
1
|
+
"use strict";const I="react",b="[Builder.io]: ",d={log:(...e)=>console.log(b,...e),error:(...e)=>console.error(b,...e),warn:(...e)=>console.warn(b,...e),debug:(...e)=>console.debug(b,...e)};function c(){return typeof window!="undefined"&&typeof document!="undefined"}const ae=e=>{const t={};return e.forEach((n,r)=>{t[r]=n}),t},M=e=>e instanceof URLSearchParams?ae(e):e,U=e=>typeof e=="string"?e:e instanceof URLSearchParams?e.toString():new URLSearchParams(e).toString();function ce(){return c()&&window.self!==window.top}function F(e){return ce()&&U(e||window.location.search).indexOf("builder.frameEditing=")!==-1}const ue=()=>{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},de=()=>typeof navigator=="object"&&navigator.userAgent||"",N=()=>{const e=de(),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()||I==="reactNative"}},n=e.match(/Tablet|iPad/i),r=ue();return{urlPath:r==null?void 0:r.pathname,host:(r==null?void 0:r.host)||(r==null?void 0:r.hostname),device:n?"tablet":t.any()?"mobile":"desktop"}},p=e=>e!=null;function le(e){const t=e||(c()?window.location.search:void 0);return t?U(t).indexOf("builder.preview=")!==-1:!1}const fe=e=>({type:"builder.registerComponent",data:k(e)}),ge=e=>{const t=e.toString().trim();return`return (${!t.startsWith("function")&&!t.startsWith("(")?"function ":""}${t}).apply(this, arguments)`};function k(e){return JSON.parse(JSON.stringify(e,(t,n)=>typeof n=="function"?ge(n):n))}const x={};function D(e,t){e==="plugin"&&(t=k(t));let n=x[e];if(n||(n=x[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 R={};function he(e){if(c()){Object.assign(R,e);const t={type:"builder.settingsChange",data:R};parent.postMessage(t,"*")}}const B="builder.",pe="options.",P=e=>{if(!e)return{};const t=M(e),n={};return Object.keys(t).forEach(r=>{if(r.startsWith(B)){const o=r.replace(B,"").replace(pe,"");n[o]=t[r]}}),n},me=()=>{if(!c())return{};const e=new URLSearchParams(window.location.search);return P(e)},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}},K=async e=>j(e),Se=e=>e.map(([t,n])=>n?`${t}=${n}`:t).filter(p).join("; "),we=[["secure",""],["SameSite","None"]],be=({name:e,value:t,expires:n})=>{const o=(c()?location.protocol==="https:":!0)?we:[[]],s=n?[["expires",n.toUTCString()]]:[[]],a=[[e,t],...s,["path","/"],["domain",ye(window.location.hostname)],...o];return Se(a)},_=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 K({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})=>_({name:$,value:e,canTrack:t}),G=()=>c()&&typeof localStorage!="undefined"?localStorage:void 0,Pe=({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}},Ce=({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=Pe({key:z,canTrack:e});if(p(t))return t;{const n=Ae();return Te({id:n,canTrack:e}),n}},Ae=()=>W(),Te=({id:e,canTrack:t})=>Ce({key:z,value:e,canTrack:t}),xe=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}},Re=async({type:e,canTrack:t,apiKey:n,metadata:r,...o})=>({type:e,data:{...o,metadata:{url:location.href,...r},...await xe({canTrack:t}),userAttributes:N(),ownerId:n}});async function J(e){if(!e.apiKey){d.error("Missing API key for track call. Please provide your API key.");return}if(e.canTrack&&!F()&&(c()||I==="reactNative"))return fetch("https://cdn.builder.io/api/v1/track",{method:"POST",body:JSON.stringify({events:[await Re(e)]}),headers:{"content-type":"application/json"},mode:"cors"}).catch(t=>{console.error("Failed to track: ",t)})}const Be=e=>J({...e,canTrack:!0}),Le=["*.beta.builder.io","beta.builder.io","builder.io","localhost","qa.builder.io"];function H(e,t){if(!t.origin.startsWith("http")&&!t.origin.startsWith("https"))return!1;const n=new URL(t.origin),r=n.hostname;return(e||Le).findIndex(o=>o.startsWith("*.")?r.endsWith(o.slice(1)):o===r)>-1}const Ve="2.0.22",Me=()=>{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 L=!1;const X=(e={})=>{var t,n;L||(L=!0,c()&&((t=window.parent)==null||t.postMessage({type:"builder.sdkInfo",data:{target:I,version:Ve,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(!H(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,v=new Function(l);let u,g=null;try{u=v.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 S;(S=window.parent)==null||S.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}}})))},q=({model:e,trustedHosts:t,callbacks:n})=>r=>{if(!H(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}}},Ue=(e,t,n)=>{if(!c)return d.warn("`subscribeToEditor` only works in the browser. It currently seems to be running on the server."),()=>{};X();const r=q({callbacks:{contentUpdate:t,animation:()=>{},configureSdk:()=>{}},model:e,trustedHosts:n==null?void 0:n.trustedHosts});return window.addEventListener("message",r),()=>{window.removeEventListener("message",r)}},Fe="builder.tests",C=e=>`${Fe}.${e}`,Ne=({contentId:e})=>K({name:C(e),canTrack:!0}),De=({contentId:e})=>j({name:C(e),canTrack:!0}),je=({contentId:e,value:t})=>_({name:C(e),value:t,canTrack:!0}),Q=e=>p(e.id)&&p(e.variations)&&Object.keys(e.variations).length>0,Ke=({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},Y=e=>{const t=Ke(e);return je({contentId:e.id,value:t}).catch(n=>{d.error("could not store A/B test variation: ",n)}),t},Z=({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=De({contentId:e.id})||Y({variations:e.variations,id:e.id}),r=Z({item:e,testGroupId:n});return{...e,...r}},We=async({item:e,canTrack:t})=>{if(!t||!Q(e))return e;const r=await Ne({contentId:e.id})||Y({variations:e.variations,id:e.id}),o=Z({item:e,testGroupId:r});return{...e,...o}},ee=e=>p(e)?e:!0;function $e(){return typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:globalThis}function Ge(){const e=$e().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 ze=Ge();function E(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,...E(s,a,n)}:{...r,[a]:s}},{})}function te(e,t,n={}){for(const r in e){const o=e[r],s=t?t+"."+r:r;o&&typeof o=="object"&&!Array.isArray(o)&&!Object.keys(o).find(a=>a.startsWith("$"))?te(o,s,n):n[s]=o}return n}const Je="v3",V=e=>typeof e=="number"&&!isNaN(e)&&e>=0,O=e=>{const{limit:t=30,userAttributes:n,query:r,model:o,apiKey:s,enrich:a,locale:l,apiVersion:y=Je,fields:m,omit:v,offset:u,cacheSeconds:g,staleCacheSeconds:h,sort:S,includeUnpublished:A}=e;if(!s)throw new Error("Missing API key");if(!["v3"].includes(y))throw new Error(`Invalid apiVersion: expected 'v3', received '${y}'`);const se=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(se)),i.searchParams.set("includeRefs",String(!0)),l&&i.searchParams.set("locale",l),a&&i.searchParams.set("enrich",String(a)),i.searchParams.set("omit",v||"meta.componentsUsed"),m&&i.searchParams.set("fields",m),Number.isFinite(u)&&u>-1&&i.searchParams.set("offset",String(Math.floor(u))),typeof A=="boolean"&&i.searchParams.set("includeUnpublished",String(A)),g&&V(g)&&i.searchParams.set("cacheSeconds",String(g)),h&&V(h)&&i.searchParams.set("staleCacheSeconds",String(h)),S){const f=E({sort:S});for(const w in f)i.searchParams.set(w,JSON.stringify(f[w]))}const ie={...me(),...M(e.options||{})},T=E(ie);for(const f in T)i.searchParams.set(f,String(T[f]));if(n&&i.searchParams.set("userAttributes",JSON.stringify(n)),r){const f=te({query:r});for(const w in f)i.searchParams.set(w,JSON.stringify(f[w]))}return i},He=e=>"results"in e;async function ne(e){const t=await oe({...e,limit:1});return t&&t[0]||null}const Xe=async e=>{var s;const t=O(e);return await(await((s=e.fetch)!=null?s:ze)(t.href,e.fetchOptions)).json()},re=async(e,t,n=O(e))=>{const r=ee(e.canTrack);if(n.search.includes("preview="),!r||!(c()||I==="reactNative"))return t.results;try{const o=[];for(const s of t.results)o.push(await We({item:s,canTrack:r}));t.results=o}catch(o){d.error("Could not process A/B tests. ",o)}return t.results};async function oe(e){try{const t=O(e),n=await Xe(e);return He(n)?re(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 qe=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 ne(n)}};exports.MSG_PREFIX=b;exports.TARGET=I;exports._processContentResult=re;exports._track=J;exports.checkIsDefined=p;exports.createEditorListener=q;exports.createRegisterComponentMessage=fe;exports.fetchBuilderProps=qe;exports.fetchEntries=oe;exports.fetchOneEntry=ne;exports.getBuilderSearchParams=P;exports.getDefaultCanTrack=ee;exports.getUserAttributes=N;exports.handleABTestingSync=_e;exports.isBrowser=c;exports.isEditing=F;exports.isPreviewing=le;exports.logger=d;exports.register=D;exports.registerInsertMenu=Me;exports.serializeIncludingFunctions=k;exports.setEditorSettings=he;exports.setupBrowserForEditing=X;exports.subscribeToEditor=Ue;exports.track=Be;
|
|
@@ -302,7 +302,7 @@ function $(t, e) {
|
|
|
302
302
|
const n = new URL(e.origin), r = n.hostname;
|
|
303
303
|
return (t || kt).findIndex((o) => o.startsWith("*.") ? r.endsWith(o.slice(1)) : o === r) > -1;
|
|
304
304
|
}
|
|
305
|
-
const Et = "2.0.
|
|
305
|
+
const Et = "2.0.22", zt = () => {
|
|
306
306
|
ot("insertMenu", {
|
|
307
307
|
name: "_default",
|
|
308
308
|
default: !0,
|
|
@@ -670,7 +670,6 @@ export {
|
|
|
670
670
|
m as checkIsDefined,
|
|
671
671
|
Ot as createEditorListener,
|
|
672
672
|
$t as createRegisterComponentMessage,
|
|
673
|
-
Mt as fetch,
|
|
674
673
|
qt as fetchBuilderProps,
|
|
675
674
|
Wt as fetchEntries,
|
|
676
675
|
jt as fetchOneEntry,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./server-entry-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./server-entry-52b8f10a.cjs");exports._processContentResult=e._processContentResult;exports.createRegisterComponentMessage=e.createRegisterComponentMessage;exports.fetchBuilderProps=e.fetchBuilderProps;exports.fetchEntries=e.fetchEntries;exports.fetchOneEntry=e.fetchOneEntry;exports.getBuilderSearchParams=e.getBuilderSearchParams;exports.isEditing=e.isEditing;exports.isPreviewing=e.isPreviewing;exports.register=e.register;exports.setEditorSettings=e.setEditorSettings;exports.subscribeToEditor=e.subscribeToEditor;exports.track=e.track;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { _processContentResult as r, createRegisterComponentMessage as s, fetchBuilderProps as i, fetchEntries as n, fetchOneEntry as o, getBuilderSearchParams as c, isEditing as g, isPreviewing as a, register as d, setEditorSettings as E, subscribeToEditor as f, track as h } from "./server-entry-
|
|
1
|
+
import { _processContentResult as r, createRegisterComponentMessage as s, fetchBuilderProps as i, fetchEntries as n, fetchOneEntry as o, getBuilderSearchParams as c, isEditing as g, isPreviewing as a, register as d, setEditorSettings as E, subscribeToEditor as f, track as h } from "./server-entry-5b32494d.js";
|
|
2
2
|
export {
|
|
3
3
|
r as _processContentResult,
|
|
4
4
|
s as createRegisterComponentMessage,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";const serverEntry=require("./server-entry-
|
|
1
|
+
"use strict";const serverEntry=require("./server-entry-52b8f10a.cjs"),getFunctionArguments=({builder:e,context:t,event:o,state:n})=>Object.entries({state:n,Builder:e,builder:e,context:t,event:o}),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:o}){return new Proxy(e,{get:(n,r)=>{if(t&&r in t)return t[r];const s=n[r];return typeof s=="object"&&s!==null?flattenState({rootState:s,localState:void 0,rootSetState:o?i=>{n[r]=i,o(n)}:void 0}):s},set:(n,r,s)=>{if(t&&r in t)throw new Error("Writing to local state is not allowed as it is read-only.");return n[r]=s,o==null||o(n),!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,o)=>{if(Object(e)!==e)return e;const n=Array.isArray(t)?t:t.toString().match(/[^.[\]]+/g);return n.slice(0,-1).reduce((r,s,i)=>Object(r[s])===r[s]?r[s]:r[s]=Math.abs(Number(n[i+1]))>>0===+n[i+1]?[]:{},e)[n[n.length-1]]=o,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;
|
|
@@ -24,9 +24,9 @@ var refToProxy = (obj) => {
|
|
|
24
24
|
}
|
|
25
25
|
})
|
|
26
26
|
}
|
|
27
|
-
`,processCode=({code:e,args:t})=>{const
|
|
27
|
+
`,processCode=({code:e,args:t})=>{const o=t.map(([n])=>`var ${n} = refToProxy(${getSyncValName(n)}); `).join("");return`
|
|
28
28
|
${REF_TO_PROXY_FN}
|
|
29
|
-
${
|
|
29
|
+
${o}
|
|
30
30
|
function theFunction() {
|
|
31
31
|
${e}
|
|
32
32
|
}
|
|
@@ -45,4 +45,4 @@ if (typeof output === 'object' && output !== null) {
|
|
|
45
45
|
${SHOULD_MENTION_INITIALIZE_SCRIPT?`- import and call \`initializeNodeRuntime()\` from "${SDK_NAME}/node/init".`:""}
|
|
46
46
|
- add the following import: \`await import('isolated-vm')\`.
|
|
47
47
|
|
|
48
|
-
For more information, visit https://builder.io/c/docs/integration-tips#enabling-data-bindings-in-node-environments`;throw new Error(e)};function setIsolateContext(e={memoryLimit:128}){const t=getIvm(),
|
|
48
|
+
For more information, visit https://builder.io/c/docs/integration-tips#enabling-data-bindings-in-node-environments`;throw new Error(e)};function setIsolateContext(e={memoryLimit:128}){const t=getIvm(),n=new t.Isolate(e).createContextSync(),r=n.global;return r.setSync("global",r.derefInto()),r.setSync("log",function(...s){console.log(...s)}),r.setSync(INJECTED_IVM_GLOBAL,t),IVM_CONTEXT=n,n}const getIsolateContext=()=>IVM_CONTEXT||setIsolateContext(),runInNode=({code:e,builder:t,context:o,event:n,localState:r,rootSetState:s,rootState:i})=>{const y=getIvm(),f=fastClone({...i,...r}),l=getFunctionArguments({builder:t,context:o,event:n,state:f}),a=getIsolateContext(),d=a.global;d.setSync(BUILDER_SET_STATE_NAME,function(c,u){set(i,c,u),s==null||s(i)}),l.forEach(([c,u])=>{const N=typeof u=="object"?new y.Reference(c==="builder"?{...u,getUserAttributes:()=>u.getUserAttributes()}:u):null;d.setSync(getSyncValName(c),N)});const I=processCode({code:e,args:l}),E=a.evalClosureSync(I);try{return JSON.parse(E)}catch{return E}};function isNodeRuntime(){var e;return typeof process!="undefined"&&serverEntry.checkIsDefined((e=process==null?void 0:process.versions)==null?void 0:e.node)}const shouldForceBrowserRuntimeInNode=({shouldLogWarning:e})=>{var r;if(!isNodeRuntime())return!1;const t=process.arch==="arm64",o=process.version.startsWith("v20"),n=(r=process.env.NODE_OPTIONS)==null?void 0:r.includes("--no-node-snapshot");return t&&o&&!n?(e&&serverEntry.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.fastClone=fastClone;exports.flattenState=flattenState;exports.getBuilderGlobals=getBuilderGlobals;exports.getFunctionArguments=getFunctionArguments;exports.parseCode=parseCode;exports.runInNode=runInNode;exports.set=set;exports.setIvm=setIvm;exports.shouldForceBrowserRuntimeInNode=shouldForceBrowserRuntimeInNode;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { isEditing, isBrowser, getUserAttributes, TARGET, logger, MSG_PREFIX, checkIsDefined } from "./server-entry-
|
|
1
|
+
import { isEditing, isBrowser, getUserAttributes, TARGET, logger, MSG_PREFIX, checkIsDefined } from "./server-entry-5b32494d.js";
|
|
2
2
|
const getFunctionArguments = ({
|
|
3
3
|
builder: e,
|
|
4
4
|
context: t,
|
|
5
5
|
event: r,
|
|
6
|
-
state:
|
|
6
|
+
state: n
|
|
7
7
|
}) => Object.entries({
|
|
8
|
-
state:
|
|
8
|
+
state: n,
|
|
9
9
|
Builder: e,
|
|
10
10
|
// legacy
|
|
11
11
|
builder: e,
|
|
@@ -18,7 +18,33 @@ const getFunctionArguments = ({
|
|
|
18
18
|
getUserAttributes: () => getUserAttributes()
|
|
19
19
|
}), parseCode = (e, {
|
|
20
20
|
isExpression: t = !0
|
|
21
|
-
}) => /* we disable this for cases where we definitely don't want a return */ t && !(e.includes(";") || e.includes(" return ") || e.trim().startsWith("return ")) ? `return (${e});` : e
|
|
21
|
+
}) => /* we disable this for cases where we definitely don't want a return */ t && !(e.includes(";") || e.includes(" return ") || e.trim().startsWith("return ")) ? `return (${e});` : e;
|
|
22
|
+
function flattenState({
|
|
23
|
+
rootState: e,
|
|
24
|
+
localState: t,
|
|
25
|
+
rootSetState: r
|
|
26
|
+
}) {
|
|
27
|
+
return new Proxy(e, {
|
|
28
|
+
get: (n, o) => {
|
|
29
|
+
if (t && o in t)
|
|
30
|
+
return t[o];
|
|
31
|
+
const s = n[o];
|
|
32
|
+
return typeof s == "object" && s !== null ? flattenState({
|
|
33
|
+
rootState: s,
|
|
34
|
+
localState: void 0,
|
|
35
|
+
rootSetState: r ? (i) => {
|
|
36
|
+
n[o] = i, r(n);
|
|
37
|
+
} : void 0
|
|
38
|
+
}) : s;
|
|
39
|
+
},
|
|
40
|
+
set: (n, o, s) => {
|
|
41
|
+
if (t && o in t)
|
|
42
|
+
throw new Error("Writing to local state is not allowed as it is read-only.");
|
|
43
|
+
return n[o] = s, r == null || r(n), !0;
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
const SDK_NAME_FOR_TARGET = (() => {
|
|
22
48
|
switch (TARGET) {
|
|
23
49
|
case "rsc":
|
|
24
50
|
return "react-nextjs";
|
|
@@ -30,8 +56,8 @@ const getFunctionArguments = ({
|
|
|
30
56
|
})(), SDK_NAME = `@builder.io/sdk-${SDK_NAME_FOR_TARGET}`, fastClone = (e) => JSON.parse(JSON.stringify(e)), set = (e, t, r) => {
|
|
31
57
|
if (Object(e) !== e)
|
|
32
58
|
return e;
|
|
33
|
-
const
|
|
34
|
-
return
|
|
59
|
+
const n = Array.isArray(t) ? t : t.toString().match(/[^.[\]]+/g);
|
|
60
|
+
return n.slice(0, -1).reduce((o, s, i) => Object(o[s]) === o[s] ? o[s] : o[s] = Math.abs(Number(n[i + 1])) >> 0 === +n[i + 1] ? [] : {}, e)[n[n.length - 1]] = r, e;
|
|
35
61
|
}, noop = () => {
|
|
36
62
|
};
|
|
37
63
|
let safeDynamicRequire = noop;
|
|
@@ -69,7 +95,7 @@ var refToProxy = (obj) => {
|
|
|
69
95
|
code: e,
|
|
70
96
|
args: t
|
|
71
97
|
}) => {
|
|
72
|
-
const r = t.map(([
|
|
98
|
+
const r = t.map(([n]) => `var ${n} = refToProxy(${getSyncValName(n)}); `).join("");
|
|
73
99
|
return `
|
|
74
100
|
${REF_TO_PROXY_FN}
|
|
75
101
|
${r}
|
|
@@ -112,49 +138,49 @@ const setIvm = (e, t = {}) => {
|
|
|
112
138
|
function setIsolateContext(e = {
|
|
113
139
|
memoryLimit: 128
|
|
114
140
|
}) {
|
|
115
|
-
const t = getIvm(),
|
|
116
|
-
return
|
|
141
|
+
const t = getIvm(), n = new t.Isolate(e).createContextSync(), o = n.global;
|
|
142
|
+
return o.setSync("global", o.derefInto()), o.setSync("log", function(...s) {
|
|
117
143
|
console.log(...s);
|
|
118
|
-
}),
|
|
144
|
+
}), o.setSync(INJECTED_IVM_GLOBAL, t), IVM_CONTEXT = n, n;
|
|
119
145
|
}
|
|
120
146
|
const getIsolateContext = () => IVM_CONTEXT || setIsolateContext(), runInNode = ({
|
|
121
147
|
code: e,
|
|
122
148
|
builder: t,
|
|
123
149
|
context: r,
|
|
124
|
-
event:
|
|
125
|
-
localState:
|
|
150
|
+
event: n,
|
|
151
|
+
localState: o,
|
|
126
152
|
rootSetState: s,
|
|
127
153
|
rootState: i
|
|
128
154
|
}) => {
|
|
129
|
-
const
|
|
155
|
+
const E = getIvm(), I = fastClone({
|
|
130
156
|
...i,
|
|
131
|
-
...
|
|
132
|
-
}),
|
|
157
|
+
...o
|
|
158
|
+
}), l = getFunctionArguments({
|
|
133
159
|
builder: t,
|
|
134
160
|
context: r,
|
|
135
|
-
event:
|
|
136
|
-
state:
|
|
137
|
-
}),
|
|
161
|
+
event: n,
|
|
162
|
+
state: I
|
|
163
|
+
}), a = getIsolateContext(), d = a.global;
|
|
138
164
|
d.setSync(BUILDER_SET_STATE_NAME, function(c, u) {
|
|
139
165
|
set(i, c, u), s == null || s(i);
|
|
140
|
-
}),
|
|
141
|
-
const
|
|
166
|
+
}), l.forEach(([c, u]) => {
|
|
167
|
+
const y = typeof u == "object" ? new E.Reference(
|
|
142
168
|
// workaround: methods with default values for arguments is not being cloned over
|
|
143
169
|
c === "builder" ? {
|
|
144
170
|
...u,
|
|
145
171
|
getUserAttributes: () => u.getUserAttributes()
|
|
146
172
|
} : u
|
|
147
173
|
) : null;
|
|
148
|
-
d.setSync(getSyncValName(c),
|
|
174
|
+
d.setSync(getSyncValName(c), y);
|
|
149
175
|
});
|
|
150
|
-
const
|
|
176
|
+
const N = processCode({
|
|
151
177
|
code: e,
|
|
152
|
-
args:
|
|
153
|
-
}),
|
|
178
|
+
args: l
|
|
179
|
+
}), f = a.evalClosureSync(N);
|
|
154
180
|
try {
|
|
155
|
-
return JSON.parse(
|
|
181
|
+
return JSON.parse(f);
|
|
156
182
|
} catch {
|
|
157
|
-
return
|
|
183
|
+
return f;
|
|
158
184
|
}
|
|
159
185
|
};
|
|
160
186
|
function isNodeRuntime() {
|
|
@@ -164,14 +190,15 @@ function isNodeRuntime() {
|
|
|
164
190
|
const shouldForceBrowserRuntimeInNode = ({
|
|
165
191
|
shouldLogWarning: e
|
|
166
192
|
}) => {
|
|
167
|
-
var
|
|
193
|
+
var o;
|
|
168
194
|
if (!isNodeRuntime())
|
|
169
195
|
return !1;
|
|
170
|
-
const t = process.arch === "arm64", r = process.version.startsWith("v20"),
|
|
171
|
-
return t && r && !
|
|
196
|
+
const t = process.arch === "arm64", r = process.version.startsWith("v20"), n = (o = process.env.NODE_OPTIONS) == null ? void 0 : o.includes("--no-node-snapshot");
|
|
197
|
+
return t && r && !n ? (e && 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;
|
|
172
198
|
};
|
|
173
199
|
export {
|
|
174
200
|
fastClone,
|
|
201
|
+
flattenState,
|
|
175
202
|
getBuilderGlobals,
|
|
176
203
|
getFunctionArguments,
|
|
177
204
|
parseCode,
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const SDK_VERSION = "2.0.
|
|
1
|
+
export declare const SDK_VERSION = "2.0.22";
|
|
@@ -1,8 +1,2 @@
|
|
|
1
|
-
import type { BuilderRenderState } from '../../../context/types';
|
|
2
1
|
import type { ExecutorArgs } from '../helpers';
|
|
3
2
|
export declare const runInBrowser: ({ code, builder, context, event, localState, rootSetState, rootState }: ExecutorArgs) => any;
|
|
4
|
-
export declare function flattenState({ rootState, localState, rootSetState }: {
|
|
5
|
-
rootState: Record<string | symbol, any>;
|
|
6
|
-
localState: Record<string | symbol, any> | undefined;
|
|
7
|
-
rootSetState: ((rootState: BuilderRenderState) => void) | undefined;
|
|
8
|
-
}): BuilderRenderState;
|
|
@@ -23,3 +23,8 @@ export declare const getFunctionArguments: ({ builder, context, event, state }:
|
|
|
23
23
|
}) => [string, Event | BuilderRenderState | import("../../context/types").BuilderRenderContext | BuilderGlobals][];
|
|
24
24
|
export declare const getBuilderGlobals: () => BuilderGlobals;
|
|
25
25
|
export declare const parseCode: (code: string, { isExpression }: Pick<EvaluatorArgs, 'isExpression'>) => string;
|
|
26
|
+
export declare function flattenState({ rootState, localState, rootSetState }: {
|
|
27
|
+
rootState: Record<string | symbol, any>;
|
|
28
|
+
localState: Record<string | symbol, any> | undefined;
|
|
29
|
+
rootSetState: ((rootState: BuilderRenderState) => void) | undefined;
|
|
30
|
+
}): BuilderRenderState;
|
package/types/types/input.d.ts
CHANGED
|
@@ -117,6 +117,6 @@ export interface Input {
|
|
|
117
117
|
valueType?: {
|
|
118
118
|
type?: string;
|
|
119
119
|
};
|
|
120
|
-
onChange?: ((options: Map<string, any>) => void | Promise<void>) | string;
|
|
120
|
+
onChange?: ((options: Map<string, any>, previousOptions?: Map<string, any>) => void | Promise<void>) | string;
|
|
121
121
|
meta?: Record<string, any>;
|
|
122
122
|
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";const c=require("react/jsx-runtime"),g=require("react"),T=require("./blocks-exports.cjs"),p=require("./server-entry-dbe27fb2.cjs"),B=require("./evaluate-29260bf8.cjs"),K=require("./get-class-prop-name-6320e936.cjs"),G=require("./dynamic-renderer-b29b45ca.cjs"),$=g.createContext({registeredComponents:{}});function V(e){var n;return{...(n=e.component)==null?void 0:n.options,...e.options}}function Z(e,...n){const t=Object.assign({},e);for(const r of n)delete t[r];return t}const R=e=>JSON.parse(JSON.stringify(e));function j(e){if(e===null||typeof e!="object")return e;if(Array.isArray(e))return e.map(t=>j(t));if(e["@type"]==="@builder.io/sdk:Element")return e;const n={};for(const t in e)t!=="meta"&&Object.prototype.hasOwnProperty.call(e,t)&&(n[t]=j(e[t]));return n}const J=["svelte","vue","angular","qwik","solid"].includes(p.TARGET),Q=e=>{if(J){const n=R(e);return{...n,properties:{...n.properties},actions:{...n.actions}}}else{const n=j(Z(e,"children","meta"));return{...n,properties:{...n.properties},actions:{...n.actions},children:e.children,meta:e.meta}}},X=({block:e,context:n,localState:t,rootState:r,rootSetState:o})=>{if(!e.bindings)return e;const s=Q(e);for(const l in e.bindings){const d=e.bindings[l],f=B.evaluate({code:d,localState:t,rootState:r,rootSetState:o,context:n,enableCache:!0});B.set(s,l,f)}return s};function Y({block:e,context:n,shouldEvaluateBindings:t,localState:r,rootState:o,rootSetState:s}){const l=e;return t?X({block:l,localState:r,rootState:o,rootSetState:s,context:n}):l}const P=e=>e?e.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g,"$1-$2").toLowerCase():"";function ee(e,n,t={}){let r,o,s,l=null,d=0;const f=function(){d=t.leading===!1?0:Date.now(),l=null,s=e.apply(r,o),l||(r=o=null)};return function(){const a=Date.now();!d&&t.leading===!1&&(d=a);const m=n-(a-d);return r=this,o=arguments,m<=0||m>n?(l&&(clearTimeout(l),l=null),d=a,s=e.apply(r,o),l||(r=o=null)):!l&&t.trailing!==!1&&(l=setTimeout(f,m)),s}}function S(e,...n){const t=Object(e);for(let r=1;r<arguments.length;r++){const o=arguments[r];if(o!=null)for(const s in o)Object.prototype.hasOwnProperty.call(o,s)&&(t[s]=o[s])}return t}function te(e){for(const n of e)switch(n.trigger){case"pageLoad":F(n);break;case"scrollInView":oe(n);break}}function N(e){console.warn(`Cannot animate element: element with ID ${e} not found!`)}function D(e,n){const t=ne(e),r=getComputedStyle(n),o=e.steps[0].styles,s=e.steps[e.steps.length-1].styles,l=[o,s];for(const d of l)for(const f of t)f in d||(d[f]=r[f])}function ne(e){const n=[];for(const t of e.steps)for(const r in t.styles)n.indexOf(r)===-1&&n.push(r);return n}function F(e){const n=Array.prototype.slice.call(document.getElementsByClassName(e.elementId||e.id||""));if(!n.length){N(e.elementId||e.id||"");return}Array.from(n).forEach(t=>{D(e,t),t.style.transition="none",t.style.transitionDelay="0",S(t.style,e.steps[0].styles),setTimeout(()=>{t.style.transition=`all ${e.duration}s ${P(e.easing)}`,e.delay&&(t.style.transitionDelay=e.delay+"s"),S(t.style,e.steps[1].styles),setTimeout(()=>{t.style.transition="",t.style.transitionDelay=""},(e.delay||0)*1e3+e.duration*1e3+100)})})}function oe(e){const n=Array.prototype.slice.call(document.getElementsByClassName(e.elementId||e.id||""));if(!n.length){N(e.elementId||e.id||"");return}Array.from(n).forEach(t=>{D(e,t);let r=!1,o=!1;function s(){!r&&d(t)?(r=!0,o=!0,setTimeout(()=>{S(t.style,e.steps[1].styles),e.repeat||document.removeEventListener("scroll",l),setTimeout(()=>{o=!1,e.repeat||(t.style.transition="",t.style.transitionDelay="")},(e.duration+(e.delay||0))*1e3+100)})):e.repeat&&r&&!o&&!d(t)&&(r=!1,S(t.style,e.steps[0].styles))}const l=ee(s,200,{leading:!1});function d(m){const y=m.getBoundingClientRect(),k=window.innerHeight,i=(e.thresholdPercent||0)/100*k;return y.bottom>i&&y.top<k-i}const f=e.steps[0].styles;function a(){S(t.style,f)}a(),setTimeout(()=>{t.style.transition=`all ${e.duration}s ${P(e.easing)}`,e.delay&&(t.style.transitionDelay=e.delay+"s")}),document.addEventListener("scroll",l,{capture:!0,passive:!0}),s()})}const _=e=>Object.entries(e).map(([t,r])=>{if(typeof r=="string")return`${P(t)}: ${r};`}).filter(p.checkIsDefined),re=e=>_(e).join(`
|
|
2
|
-
`),v=({mediaQuery:e,className:n,styles:t})=>{const r=`.${n} {
|
|
3
|
-
${re(t)}
|
|
4
|
-
}`;return e?`${e} {
|
|
5
|
-
${r}
|
|
6
|
-
}`:r};function se({style:e}){return e}const ce=({block:e,context:n})=>M(se({style:e.style||{},context:n,block:e}));function M(e){switch(p.TARGET){case"svelte":case"vue":case"solid":case"angular":return _(e).join(" ");case"qwik":case"reactNative":case"react":case"rsc":return e}}const le=({block:e,registeredComponents:n})=>{var o;const t=(o=e.component)==null?void 0:o.name;if(!t)return null;const r=n[t];if(r)return r;console.warn(`
|
|
7
|
-
Could not find a registered component named "${t}".
|
|
8
|
-
If you registered it, is the file that registered it imported by the file that needs to render it?`)},ie=({block:e,context:n})=>{const{repeat:t,...r}=e;if(!(t!=null&&t.collection))return;const o=B.evaluate({code:t.collection,localState:n.localState,rootState:n.rootState,rootSetState:n.rootSetState,context:n.context,enableCache:!0});if(!Array.isArray(o))return;const s=t.collection.split(".").pop(),l=t.itemName||(s?s+"Item":"item");return o.map((f,a)=>({context:{...n,localState:{...n.localState,$index:a,$item:f,[l]:f,[`$${l}Index`]:a}},block:r}))},ae=(e,n)=>{var t;return(t=e==null?void 0:e.shouldReceiveBuilderProps)!=null&&t.builderLinkComponent?{builderLinkComponent:n}:{}},ue=(e,n)=>{var t;return(t=e==null?void 0:e.shouldReceiveBuilderProps)!=null&&t.builderComponents?{builderComponents:n}:{}},de=(e,n)=>{var t;return(t=e==null?void 0:e.shouldReceiveBuilderProps)!=null&&t.builderBlock?{builderBlock:n}:{}},fe=(e,n)=>{var t;return(t=e==null?void 0:e.shouldReceiveBuilderProps)!=null&&t.builderContext?{builderContext:n}:{}},L={small:{min:320,default:321,max:640},medium:{min:641,default:642,max:991},large:{min:990,default:991,max:1200}},A=(e,n=L)=>`@media (max-width: ${n[e].max}px)`,q=({small:e,medium:n})=>{const t=R(L);if(!e||!n)return t;const r=Math.floor(e/2);t.small={max:e,min:r,default:r+1};const o=t.small.max+1;t.medium={max:n,min:o,default:o+1};const s=t.medium.max+1;return t.large={max:2e3,min:s,default:s+1},t};function H(e){return c.jsx("style",{dangerouslySetInnerHTML:{__html:e.styles},"data-id":e.id,nonce:e.nonce})}function me(e){function n(){const r=e.block;return p.checkIsDefined(r.hide)?!r.hide:p.checkIsDefined(r.show)?r.show:!0}function t(){var h,x,I;const r=e.block,o=r.responsiveStyles,s=e.context.content,l=q(((h=s==null?void 0:s.meta)==null?void 0:h.breakpoints)||{}),d=o==null?void 0:o.large,f=o==null?void 0:o.medium,a=o==null?void 0:o.small,m=r.id;if(!m)return"";const y=d?v({className:m,styles:d}):"",k=f?v({className:m,styles:f,mediaQuery:A("medium",l)}):"",C=a?v({className:m,styles:a,mediaQuery:A("small",l)}):"",i=r.animations&&r.animations.find(w=>w.trigger==="hover");let u="";if(i){const w=((I=(x=i.steps)==null?void 0:x[1])==null?void 0:I.styles)||{};u=v({className:`${m}:hover`,styles:{...w,transition:`all ${i.duration}s ${P(i.easing)}`,transitionDelay:i.delay?`${i.delay}s`:"0s"}})||""}return[y,k,C,u].join(" ")}return c.jsx(c.Fragment,{children:t()&&n()?c.jsx(c.Fragment,{children:c.jsx(H,{id:"builderio-block",styles:t(),nonce:e.context.nonce})}):null})}function he(e){return e.charAt(0).toUpperCase()+e.slice(1)}const ge=e=>`on${he(e)}`,pe=(e,n)=>t=>B.evaluate({code:e,context:n.context,localState:n.localState,rootState:n.rootState,rootSetState:n.rootSetState,event:t,isExpression:!1,enableCache:!0});function U(e){var r;const n={},t=(r=e.block.actions)!=null?r:{};for(const o in t){if(!t.hasOwnProperty(o))continue;const s=t[o];let l=ge(o);if(e.stripPrefix)switch(p.TARGET){case"vue":l=l.replace("v-on:","");break;case"svelte":l=l.replace("on:","");break}n[l]=pe(s,e)}return n}function xe({properties:e}){return e}const ye=e=>({href:e.href});function E({block:e,context:n}){var r;const t={...ye(e),...e.properties,"builder-id":e.id,style:ce({block:e,context:n}),[K.getClassPropName()]:[e.id,"builder-block",e.class,(r=e.properties)==null?void 0:r.class].filter(Boolean).join(" ")};return xe({properties:t,context:n,block:e})}function ke(e){return c.jsx(G.DynamicRenderer,{TagName:e.Wrapper,attributes:E({block:e.block,context:e.context}),actionAttributes:U({block:e.block,rootState:e.context.rootState,rootSetState:e.context.rootSetState,localState:e.context.localState,context:e.context.context,stripPrefix:!0}),children:e.children})}function Ce(e){return c.jsx(c.Fragment,{children:e.children})}function Se(e){function n(){return e.includeBlockProps?{...E({block:e.block,context:e.context}),...U({block:e.block,rootState:e.context.rootState,rootSetState:e.context.rootSetState,localState:e.context.localState,context:e.context.context})}:{}}return c.jsx(c.Fragment,{children:e.Wrapper.load?c.jsx(c.Fragment,{children:c.jsx(Ce,{load:e.Wrapper.load,fallback:e.Wrapper.fallback,props:e.wrapperProps,attributes:n(),children:e.children})}):c.jsx(e.Wrapper,{...e.wrapperProps,attributes:n(),children:e.children})})}const be=({componentOptions:e,builderBlock:n,context:t,componentRef:r,includeBlockProps:o,isInteractive:s,contextValue:l})=>{const d={...e,...o?{attributes:E({block:n,context:l})}:{}};return s?{Wrapper:r,block:n,context:t,wrapperProps:e,includeBlockProps:o}:d};function O(e){var r;const[n,t]=g.useState(()=>e.isInteractive?Se:e.componentRef);return c.jsx(c.Fragment,{children:e.componentRef?c.jsx(c.Fragment,{children:c.jsx(n,{...be({componentOptions:e.componentOptions,builderBlock:e.builderBlock,context:e.context,componentRef:e.componentRef,linkComponent:e.linkComponent,includeBlockProps:e.includeBlockProps,isInteractive:e.isInteractive,contextValue:e.context}),children:(r=e.blockChildren)==null?void 0:r.map(o=>c.jsx(b,{block:o,context:e.context,registeredComponents:e.registeredComponents,linkComponent:e.linkComponent},o.id))})}):null})}function W(e){const[n,t]=g.useState(()=>e.repeatContext);return c.jsx(T.BuilderContext.Provider,{value:n,children:c.jsx(b,{block:e.block,context:n,registeredComponents:e.registeredComponents,linkComponent:e.linkComponent})})}function b(e){var m,y,k,C;function n(){return ie({block:e.block,context:e.context})}const[t,r]=g.useState(()=>({value:null,update:!1}));function o(){var u;if(t.value&&!t.update&&!p.isPreviewing())return t.value;const i=(u=e.block.repeat)!=null&&u.collection?e.block:Y({block:e.block,localState:e.context.localState,rootState:e.context.rootState,rootSetState:e.context.rootSetState,context:e.context.context,shouldEvaluateBindings:!0});return t.value=i,t.update=!1,i}function s(){return le({block:o(),registeredComponents:e.registeredComponents})}function l(){var u;return e.block.tagName==="a"||((u=o().properties)==null?void 0:u.href)||o().href?e.linkComponent||"a":e.block.tagName||"div"}function d(){var h,x;if((h=e.block.repeat)!=null&&h.collection)return!!((x=n==null?void 0:n())!=null&&x.length);const i="hide"in o()?o().hide:!1;return("show"in o()?o().show:!0)&&!i}function f(){var u,h;return!((u=s==null?void 0:s())!=null&&u.component)&&!n()?(h=o().children)!=null?h:[]:[]}function a(){var i,u,h,x;return{blockChildren:(i=o().children)!=null?i:[],componentRef:(u=s==null?void 0:s())==null?void 0:u.component,componentOptions:{...V(o()),...de(s(),o()),...fe(s(),e.context),...ae(s(),e.linkComponent),...ue(s(),e.registeredComponents)},context:e.context,linkComponent:e.linkComponent,registeredComponents:e.registeredComponents,builderBlock:o(),includeBlockProps:((h=s==null?void 0:s())==null?void 0:h.noWrap)===!0,isInteractive:!((x=s==null?void 0:s())!=null&&x.isRSC&&p.TARGET==="rsc")}}return g.useEffect(()=>{const i=o().id,u=o().animations;u&&i&&te(u.map(h=>({...h,elementId:i})))},[]),g.useEffect(()=>{t.update=!0}),c.jsx(c.Fragment,{children:d()?c.jsxs(c.Fragment,{children:[c.jsx(me,{block:o(),context:e.context}),(m=s==null?void 0:s())!=null&&m.noWrap?n()?c.jsx(c.Fragment,{children:(C=n())==null?void 0:C.map((i,u)=>c.jsx(W,{repeatContext:i.context,block:i.block,registeredComponents:e.registeredComponents,linkComponent:e.linkComponent},u))}):c.jsx(O,{componentRef:a().componentRef,componentOptions:a().componentOptions,blockChildren:a().blockChildren,context:a().context,registeredComponents:a().registeredComponents,linkComponent:a().linkComponent,builderBlock:a().builderBlock,includeBlockProps:a().includeBlockProps,isInteractive:a().isInteractive}):c.jsx(c.Fragment,{children:n()?c.jsx(c.Fragment,{children:(k=n())==null?void 0:k.map((i,u)=>c.jsx(W,{repeatContext:i.context,block:i.block,registeredComponents:e.registeredComponents,linkComponent:e.linkComponent},u))}):c.jsxs(ke,{Wrapper:l(),block:o(),context:e.context,children:[c.jsx(O,{componentRef:a().componentRef,componentOptions:a().componentOptions,blockChildren:a().blockChildren,context:a().context,registeredComponents:a().registeredComponents,linkComponent:a().linkComponent,builderBlock:a().builderBlock,includeBlockProps:a().includeBlockProps,isInteractive:a().isInteractive}),(y=f())==null?void 0:y.map(i=>c.jsx(b,{block:i,registeredComponents:e.registeredComponents,linkComponent:e.linkComponent,context:e.context},i.id))]})})]}):null})}function ve(e){const n=g.useRef(null);function t(){var s;return"builder-blocks"+((s=e.blocks)!=null&&s.length?"":" no-blocks")}function r(){var s,l;p.isEditing()&&!((s=e.blocks)!=null&&s.length)&&((l=window.parent)==null||l.postMessage({type:"builder.clickEmptyBlocks",data:{parentElementId:e.parent,dataPath:e.path}},"*"))}function o(){var s,l;p.isEditing()&&!((s=e.blocks)!=null&&s.length)&&((l=window.parent)==null||l.postMessage({type:"builder.hoverEmptyBlocks",data:{parentElementId:e.parent,dataPath:e.path}},"*"))}return g.useEffect(()=>{},[]),c.jsxs(c.Fragment,{children:[c.jsx(e.BlocksWrapper,{ref:n,className:t()+" props-blocks-wrapper-51ef31b4","builder-path":e.path,"builder-parent-id":e.parent,style:e.styleProp,onClick:s=>r(),onMouseEnter:s=>o(),onKeyPress:s=>r(),...e.BlocksWrapperProps,children:e.children}),c.jsx("style",{children:`.props-blocks-wrapper-51ef31b4 {
|
|
9
|
-
display: flex;
|
|
10
|
-
flex-direction: column;
|
|
11
|
-
align-items: stretch;
|
|
12
|
-
}`})]})}function z(e){var r,o,s;const n=g.useContext(T.BuilderContext),t=g.useContext($);return c.jsx(ve,{blocks:e.blocks,parent:e.parent,path:e.path,styleProp:e.styleProp,BlocksWrapper:((r=e.context)==null?void 0:r.BlocksWrapper)||n.BlocksWrapper,BlocksWrapperProps:((o=e.context)==null?void 0:o.BlocksWrapperProps)||n.BlocksWrapperProps,children:e.blocks?c.jsx(c.Fragment,{children:(s=e.blocks)==null?void 0:s.map(l=>c.jsx(b,{block:l,linkComponent:e.linkComponent,context:e.context||n,registeredComponents:e.registeredComponents||t.registeredComponents},l.id))}):null})}const Be=Object.freeze(Object.defineProperty({__proto__:null,default:z},Symbol.toStringTag,{value:"Module"}));exports.Block=b;exports.Blocks=z;exports.ComponentsContext=$;exports.InlinedStyles=H;exports.blocks=Be;exports.fastClone=R;exports.getSizesForBreakpoints=q;exports.mapStyleObjToStrIfNeeded=M;exports.triggerAnimation=F;
|