@builder.io/sdk-react 2.0.2 → 2.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/lib/browser/blocks-exports.cjs +29 -29
  2. package/lib/browser/blocks-exports.mjs +300 -278
  3. package/lib/browser/index.cjs +1 -1
  4. package/lib/browser/index.mjs +1 -1
  5. package/lib/browser/init.cjs +1 -1
  6. package/lib/browser/init.mjs +1 -1
  7. package/lib/browser/server-entry-0c6c220c.js +688 -0
  8. package/lib/browser/server-entry-7e145817.cjs +2 -0
  9. package/lib/browser/server-entry.cjs +1 -1
  10. package/lib/browser/server-entry.mjs +1 -1
  11. package/lib/edge/{accordion-4f96554c.cjs → accordion-72dab8ce.cjs} +1 -1
  12. package/lib/edge/{accordion-ca081054.js → accordion-99129d68.js} +1 -1
  13. package/lib/edge/blocks-426e0c44.js +808 -0
  14. package/lib/edge/blocks-53ae1b87.cjs +12 -0
  15. package/lib/edge/blocks-exports.cjs +1 -1
  16. package/lib/edge/blocks-exports.mjs +2 -2
  17. package/lib/edge/{button-41169061.js → button-778062cd.js} +2 -2
  18. package/lib/edge/{button-5d140f8e.cjs → button-967d0268.cjs} +1 -1
  19. package/lib/edge/{columns-f8916a18.js → columns-3a8c4d3f.js} +53 -51
  20. package/lib/edge/columns-3b921658.cjs +28 -0
  21. package/lib/edge/{content-variants-71ee0c76.js → content-variants-15d191de.js} +28 -26
  22. package/lib/edge/content-variants-4b8718f8.cjs +134 -0
  23. package/lib/edge/evaluate-26c0fdb7.js +2615 -0
  24. package/lib/edge/evaluate-c0eeb4f8.cjs +21 -0
  25. package/lib/edge/form-9d9dce5d.cjs +1 -0
  26. package/lib/edge/{form-ac2f2a0e.js → form-ccb0b912.js} +8 -7
  27. package/lib/edge/{get-class-prop-name-a677d7a5.js → get-class-prop-name-0a91c3bd.js} +1 -1
  28. package/lib/edge/{get-class-prop-name-a9b4959e.cjs → get-class-prop-name-eae60eae.cjs} +1 -1
  29. package/lib/edge/{image-e3fcd611.js → image-6a074aab.js} +27 -25
  30. package/lib/edge/image-eebfcbac.cjs +17 -0
  31. package/lib/edge/{img-b91cb4fd.cjs → img-183de27d.cjs} +1 -1
  32. package/lib/edge/{img-8fc26395.js → img-75751c89.js} +1 -1
  33. package/lib/edge/index.cjs +1 -1
  34. package/lib/edge/index.mjs +1 -1
  35. package/lib/edge/init.cjs +1 -1
  36. package/lib/edge/init.mjs +1 -1
  37. package/lib/edge/{input-549f090e.js → input-27972020.js} +1 -1
  38. package/lib/edge/{input-ec7c695a.cjs → input-fd18a67d.cjs} +1 -1
  39. package/lib/edge/{select-6a5a28ac.js → select-60ff549c.js} +1 -1
  40. package/lib/edge/{select-3ffa9294.cjs → select-6ea0d59f.cjs} +1 -1
  41. package/lib/edge/server-entry-4133a544.cjs +2 -0
  42. package/lib/edge/server-entry-feff6177.js +689 -0
  43. package/lib/edge/server-entry.cjs +1 -1
  44. package/lib/edge/server-entry.mjs +1 -1
  45. package/lib/edge/{slot-40de071b.js → slot-2347377e.js} +12 -11
  46. package/lib/edge/slot-a4509cae.cjs +1 -0
  47. package/lib/edge/{symbol-76e76298.cjs → symbol-98650b06.cjs} +1 -1
  48. package/lib/edge/{symbol-e6515a5f.js → symbol-dcef0d8e.js} +2 -2
  49. package/lib/edge/{tabs-b75be82d.js → tabs-0784574b.js} +10 -9
  50. package/lib/edge/tabs-4c131e17.cjs +1 -0
  51. package/lib/edge/text-1c1986aa.cjs +1 -0
  52. package/lib/edge/text-6f7cbc35.js +38 -0
  53. package/lib/node/blocks-exports.cjs +16 -16
  54. package/lib/node/blocks-exports.mjs +255 -233
  55. package/lib/node/index.cjs +1 -1
  56. package/lib/node/index.mjs +2 -2
  57. package/lib/node/init.cjs +1 -1
  58. package/lib/node/init.mjs +2 -2
  59. package/lib/node/{node-runtime-0e37d6f7.cjs → node-runtime-4978bc21.cjs} +2 -2
  60. package/lib/node/{node-runtime-0f3a5df1.js → node-runtime-ce5c71e5.js} +3 -2
  61. package/lib/node/server-entry-0c6c220c.js +688 -0
  62. package/lib/node/server-entry-7e145817.cjs +2 -0
  63. package/lib/node/server-entry.cjs +1 -1
  64. package/lib/node/server-entry.mjs +1 -1
  65. package/package.json +1 -1
  66. package/types/blocks/image/image.types.d.ts +2 -0
  67. package/types/blocks/symbol/symbol.types.d.ts +1 -0
  68. package/types/constants/sdk-version.d.ts +1 -1
  69. package/types/functions/register-component.d.ts +2 -2
  70. package/lib/browser/server-entry-419c051e.cjs +0 -2
  71. package/lib/browser/server-entry-825b4408.js +0 -695
  72. package/lib/edge/blocks-078044bc.cjs +0 -32
  73. package/lib/edge/blocks-f55c7d3e.js +0 -3418
  74. package/lib/edge/columns-354bf349.cjs +0 -28
  75. package/lib/edge/content-variants-89a9389a.cjs +0 -134
  76. package/lib/edge/form-f2d2c2bf.cjs +0 -1
  77. package/lib/edge/image-344ddbb0.cjs +0 -17
  78. package/lib/edge/server-entry-966ac144.cjs +0 -2
  79. package/lib/edge/server-entry-d2020acf.js +0 -695
  80. package/lib/edge/slot-8b27e15e.cjs +0 -1
  81. package/lib/edge/tabs-9c5af0ec.cjs +0 -1
  82. package/lib/edge/text-5915f038.js +0 -17
  83. package/lib/edge/text-e6dbb721.cjs +0 -1
  84. package/lib/node/server-entry-5ebd1c9b.js +0 -695
  85. package/lib/node/server-entry-8002325b.cjs +0 -2
@@ -1,28 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("react/jsx-runtime"),o=require("react"),s=require("./blocks-078044bc.cjs"),B=require("./dynamic-renderer-b29b45ca.cjs"),p=require("./get-class-prop-name-a9b4959e.cjs");require("./blocks-exports.cjs");require("./server-entry-966ac144.cjs");const q=e=>`builder-columns ${e}-breakpoints`;function z(e){var f,g;const[u,A]=o.useState(()=>typeof e.space=="number"?e.space||0:20),[a,L]=o.useState(()=>e.columns||[]),[d,N]=o.useState(()=>e.stackColumnsAt||"tablet");function y(t){return t.link?e.builderLinkComponent||"a":"div"}function x(t){var n;return((n=a[t])==null?void 0:n.width)||100/a.length}function C(t){const n=x(t),i=u*(a.length-1)*(n/100);return`calc(${n}% - ${i}px)`}function c({stackedStyle:t,desktopStyle:n}){return d==="tablet"?t:n}function m({stackedStyle:t,desktopStyle:n}){return d==="never"?n:t}const[b,W]=o.useState(()=>e.stackColumnsAt==="never"?"row":e.reverseColumnsWhenStacked?"column-reverse":"column");function v(){return{"--flex-dir":b,"--flex-dir-tablet":c({stackedStyle:b,desktopStyle:"row"})}}function w(t){const n=t===0?0:u,i=C(t),r=`${n}px`,h="100%",S=0;return{...{display:"flex",flexDirection:"column",alignItems:"stretch"},width:i,["marginLeft"]:r,"--column-width-mobile":m({stackedStyle:h,desktopStyle:i}),"--column-margin-left-mobile":m({stackedStyle:S,desktopStyle:r}),"--column-width-tablet":c({stackedStyle:h,desktopStyle:i}),"--column-margin-left-tablet":c({stackedStyle:S,desktopStyle:r})}}function k(t){var i,r;return s.getSizesForBreakpoints(((r=(i=e.builderContext.content)==null?void 0:i.meta)==null?void 0:r.breakpoints)||{})[t].max}function $(){return`
2
- @media (max-width: ${k("medium")}px) {
3
- .${e.builderBlock.id}-breakpoints {
4
- flex-direction: var(--flex-dir-tablet);
5
- align-items: stretch;
6
- }
7
-
8
- .${e.builderBlock.id}-breakpoints > .builder-column {
9
- width: var(--column-width-tablet) !important;
10
- margin-left: var(--column-margin-left-tablet) !important;
11
- }
12
- }
13
-
14
- @media (max-width: ${k("small")}px) {
15
- .${e.builderBlock.id}-breakpoints {
16
- flex-direction: var(--flex-dir);
17
- align-items: stretch;
18
- }
19
-
20
- .${e.builderBlock.id}-breakpoints > .builder-column {
21
- width: var(--column-width-mobile) !important;
22
- margin-left: var(--column-margin-left-mobile) !important;
23
- }
24
- },
25
- `}function j(t,n){return{...t.link?{href:t.link}:{},[p.getClassPropName()]:"builder-column",style:s.mapStyleObjToStrIfNeeded(w(n))}}return l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:q((f=e.builderBlock)==null?void 0:f.id)+" div-fe220f58",style:v(),children:[l.jsx(s.InlinedStyles,{id:"builderio-columns",styles:$(),nonce:e.builderContext.nonce}),(g=e.columns)==null?void 0:g.map((t,n)=>l.jsx(B.DynamicRenderer,{TagName:y(t),actionAttributes:{},attributes:j(t,n),children:l.jsx(s.Blocks,{path:`component.options.columns.${n}.blocks`,parent:e.builderBlock.id,styleProp:{flexGrow:"1"},context:e.builderContext,registeredComponents:e.builderComponents,linkComponent:e.builderLinkComponent,blocks:t.blocks})},n))]}),l.jsx("style",{children:`.div-fe220f58 {
26
- display: flex;
27
- line-height: normal;
28
- }`})]})}exports.default=z;
@@ -1,134 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("react/jsx-runtime"),r=require("react"),l=require("./server-entry-966ac144.cjs"),k=require("./blocks-exports.cjs"),V=require("./blocks-078044bc.cjs");require("./get-class-prop-name-a9b4959e.cjs");require("./dynamic-renderer-b29b45ca.cjs");const A={"@type":"@builder.io/sdk:Element",layerName:"Accordion item title",responsiveStyles:{large:{marginTop:"10px",position:"relative",display:"flex",alignItems:"stretch",flexDirection:"column",paddingBottom:"10px"}},children:[{"@type":"@builder.io/sdk:Element",responsiveStyles:{large:{textAlign:"left",display:"flex",flexDirection:"column"}},component:{name:"Text",options:{text:"I am an accordion title. Click me!"}}}]},B={"@type":"@builder.io/sdk:Element",layerName:"Accordion item detail",responsiveStyles:{large:{position:"relative",display:"flex",alignItems:"stretch",flexDirection:"column",marginTop:"10px",paddingBottom:"10px"}},children:[{"@type":"@builder.io/sdk:Element",responsiveStyles:{large:{paddingTop:"50px",textAlign:"left",display:"flex",flexDirection:"column",paddingBottom:"50px"}},component:{name:"Text",options:{text:"I am an accordion detail, hello!"}}}]},X={name:"Builder:Accordion",canHaveChildren:!0,image:"https://cdn.builder.io/api/v1/image/assets%2FagZ9n5CUKRfbL9t6CaJOyVSK4Es2%2Ffab6c1fd3fe542408cbdec078bca7f35",defaultStyles:{display:"flex",flexDirection:"column",alignItems:"stretch"},inputs:[{name:"items",type:"list",broadcast:!0,subFields:[{name:"title",type:"uiBlocks",hideFromUI:!0,defaultValue:[A]},{name:"detail",type:"uiBlocks",hideFromUI:!0,defaultValue:[B]}],defaultValue:[{title:[A],detail:[B]},{title:[A],detail:[B]}],showIf:e=>!e.get("useChildrenForItems")},{name:"oneAtATime",helperText:"Only allow opening one at a time (collapse all others when new item openned)",type:"boolean",defaultValue:!1},{name:"grid",helperText:"Display as a grid",type:"boolean",defaultValue:!1},{name:"gridRowWidth",helperText:"Display as a grid",type:"string",showIf:e=>e.get("grid"),defaultValue:"25%"},{name:"useChildrenForItems",type:"boolean",helperText:"Use child elements for each slide, instead of the array. Useful for dynamically repeating items",advanced:!0,defaultValue:!1,onChange:e=>{e.get("useChildrenForItems")===!0&&e.set("items",[])}}],shouldReceiveBuilderProps:{builderBlock:!0,builderContext:!0,builderComponents:!0,builderLinkComponent:!0}},Z=r.lazy(()=>Promise.resolve().then(()=>require("./accordion-4f96554c.cjs"))),ee={name:"Core:Button",image:"https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2F81a15681c3e74df09677dfc57a615b13",defaultStyles:{appearance:"none",paddingTop:"15px",paddingBottom:"15px",paddingLeft:"25px",paddingRight:"25px",backgroundColor:"#000000",color:"white",borderRadius:"4px",textAlign:"center",cursor:"pointer"},inputs:[{name:"text",type:"text",defaultValue:"Click me!",bubble:!0},{name:"link",type:"url",bubble:!0},{name:"openLinkInNewTab",type:"boolean",defaultValue:!1,friendlyName:"Open link in new tab"}],static:!0,noWrap:!0,shouldReceiveBuilderProps:{builderLinkComponent:!0}},te={name:"Columns",isRSC:!0,inputs:[{name:"columns",type:"array",broadcast:!0,subFields:[{name:"blocks",type:"array",hideFromUI:!0,defaultValue:[{"@type":"@builder.io/sdk:Element",responsiveStyles:{large:{display:"flex",flexDirection:"column",alignItems:"stretch",flexShrink:"0",position:"relative",marginTop:"30px",textAlign:"center",lineHeight:"normal",height:"auto",minHeight:"20px",minWidth:"20px",overflow:"hidden"}},component:{name:"Image",options:{image:"https://builder.io/api/v1/image/assets%2Fpwgjf0RoYWbdnJSbpBAjXNRMe9F2%2Ffb27a7c790324294af8be1c35fe30f4d",backgroundPosition:"center",backgroundSize:"cover",aspectRatio:.7004048582995948}}},{"@type":"@builder.io/sdk:Element",responsiveStyles:{large:{display:"flex",flexDirection:"column",alignItems:"stretch",flexShrink:"0",position:"relative",marginTop:"30px",textAlign:"center",lineHeight:"normal",height:"auto"}},component:{name:"Text",options:{text:"<p>Enter some text...</p>"}}}]},{name:"width",type:"number",hideFromUI:!0,helperText:"Width %, e.g. set to 50 to fill half of the space"},{name:"link",type:"url",helperText:"Optionally set a url that clicking this column will link to"}],defaultValue:[{blocks:[{"@type":"@builder.io/sdk:Element",responsiveStyles:{large:{display:"flex",flexDirection:"column",alignItems:"stretch",flexShrink:"0",position:"relative",marginTop:"30px",textAlign:"center",lineHeight:"normal",height:"auto",minHeight:"20px",minWidth:"20px",overflow:"hidden"}},component:{name:"Image",options:{image:"https://builder.io/api/v1/image/assets%2Fpwgjf0RoYWbdnJSbpBAjXNRMe9F2%2Ffb27a7c790324294af8be1c35fe30f4d",backgroundPosition:"center",backgroundSize:"cover",aspectRatio:.7004048582995948}}},{"@type":"@builder.io/sdk:Element",responsiveStyles:{large:{display:"flex",flexDirection:"column",alignItems:"stretch",flexShrink:"0",position:"relative",marginTop:"30px",textAlign:"center",lineHeight:"normal",height:"auto"}},component:{name:"Text",options:{text:"<p>Enter some text...</p>"}}}]},{blocks:[{"@type":"@builder.io/sdk:Element",responsiveStyles:{large:{display:"flex",flexDirection:"column",alignItems:"stretch",flexShrink:"0",position:"relative",marginTop:"30px",textAlign:"center",lineHeight:"normal",height:"auto",minHeight:"20px",minWidth:"20px",overflow:"hidden"}},component:{name:"Image",options:{image:"https://builder.io/api/v1/image/assets%2Fpwgjf0RoYWbdnJSbpBAjXNRMe9F2%2Ffb27a7c790324294af8be1c35fe30f4d",backgroundPosition:"center",backgroundSize:"cover",aspectRatio:.7004048582995948}}},{"@type":"@builder.io/sdk:Element",responsiveStyles:{large:{display:"flex",flexDirection:"column",alignItems:"stretch",flexShrink:"0",position:"relative",marginTop:"30px",textAlign:"center",lineHeight:"normal",height:"auto"}},component:{name:"Text",options:{text:"<p>Enter some text...</p>"}}}]}],onChange:e=>{function t(){n.forEach(i=>{i.delete("width")})}const n=e.get("columns");Array.isArray(n)&&n.find(c=>c.get("width"))&&(n.find(f=>!f.get("width"))||n.reduce((o,g)=>o+g.get("width"),0)!==100)&&t()}},{name:"space",type:"number",defaultValue:20,helperText:"Size of gap between columns",advanced:!0},{name:"stackColumnsAt",type:"string",defaultValue:"tablet",helperText:"Convert horizontal columns to vertical at what device size",enum:["tablet","mobile","never"],advanced:!0},{name:"reverseColumnsWhenStacked",type:"boolean",defaultValue:!1,helperText:"When stacking columns for mobile devices, reverse the ordering",advanced:!0}],shouldReceiveBuilderProps:{builderBlock:!0,builderContext:!0,builderComponents:!0,builderLinkComponent:!0}},ne={name:"Fragment",static:!0,hidden:!0,canHaveChildren:!0,noWrap:!0},ae={name:"Image",static:!0,image:"https://firebasestorage.googleapis.com/v0/b/builder-3b0a2.appspot.com/o/images%2Fbaseline-insert_photo-24px.svg?alt=media&token=4e5d0ef4-f5e8-4e57-b3a9-38d63a9b9dc4",defaultStyles:{position:"relative",minHeight:"20px",minWidth:"20px",overflow:"hidden"},canHaveChildren:!0,inputs:[{name:"image",type:"file",bubble:!0,allowedFileTypes:["jpeg","jpg","png","svg","webp"],required:!0,defaultValue:"https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F72c80f114dc149019051b6852a9e3b7a",onChange:e=>{e.delete("srcset"),e.delete("noWebp");function n(a,o=6e4){return new Promise((g,y)=>{const C=document.createElement("img");let T=!1;C.onload=()=>{T=!0,g(C)},C.addEventListener("error",R=>{console.warn("Image load failed",R.error),y(R.error)}),C.src=a,setTimeout(()=>{T||y(new Error("Image load timed out"))},o)})}function i(a){return Math.round(a*1e3)/1e3}const c=e.get("image"),f=e.get("aspectRatio");if(fetch(c).then(a=>a.blob()).then(a=>{a.type.includes("svg")&&e.set("noWebp",!0)}),c&&(!f||f===.7041))return n(c).then(a=>{const o=e.get("aspectRatio");e.get("image")===c&&(!o||o===.7041)&&a.width&&a.height&&(e.set("aspectRatio",i(a.height/a.width)),e.set("height",a.height),e.set("width",a.width))})}},{name:"backgroundSize",type:"text",defaultValue:"cover",enum:[{label:"contain",value:"contain",helperText:"The image should never get cropped"},{label:"cover",value:"cover",helperText:"The image should fill it's box, cropping when needed"}]},{name:"backgroundPosition",type:"text",defaultValue:"center",enum:["center","top","left","right","bottom","top left","top right","bottom left","bottom right"]},{name:"altText",type:"string",helperText:"Text to display when the user has images off"},{name:"height",type:"number",hideFromUI:!0},{name:"width",type:"number",hideFromUI:!0},{name:"sizes",type:"string",hideFromUI:!0},{name:"srcset",type:"string",hideFromUI:!0},{name:"lazy",type:"boolean",defaultValue:!0,hideFromUI:!0},{name:"fitContent",type:"boolean",helperText:"When child blocks are provided, fit to them instead of using the image's aspect ratio",defaultValue:!0},{name:"highPriority",type:"boolean",advanced:!0,helperText:"Mark this image as high priority compared to other images on the page. This prevents lazy loading of the image and tells the browser to load this image before others on the page."},{name:"aspectRatio",type:"number",helperText:"This is the ratio of height/width, e.g. set to 1.5 for a 300px wide and 200px tall photo. Set to 0 to not force the image to maintain it's aspect ratio",advanced:!0,defaultValue:.7041}],shouldReceiveBuilderProps:{builderBlock:!0}},ie={name:"Core:Section",static:!0,image:"https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2F682efef23ace49afac61748dd305c70a",inputs:[{name:"maxWidth",type:"number",defaultValue:1200},{name:"lazyLoad",type:"boolean",defaultValue:!1,advanced:!0,description:"Only render this section when in view"}],defaultStyles:{paddingLeft:"20px",paddingRight:"20px",paddingTop:"50px",paddingBottom:"50px",marginTop:"0px",width:"100vw",marginLeft:"calc(50% - 50vw)"},canHaveChildren:!0,defaultChildren:[{"@type":"@builder.io/sdk:Element",responsiveStyles:{large:{textAlign:"center"}},component:{name:"Text",options:{text:"<p><b>I am a section! My content keeps from getting too wide, so that it's easy to read even on big screens.</b></p><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur</p>"}}}]},oe={name:"Slot",isRSC:!0,description:"Allow child blocks to be inserted into this content when used as a Symbol",docsLink:"https://www.builder.io/c/docs/symbols-with-blocks",image:"https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F3aad6de36eae43b59b52c85190fdef56",inputs:[{name:"name",type:"string",required:!0,defaultValue:"children"}],shouldReceiveBuilderProps:{builderContext:!0}},re=r.lazy(()=>Promise.resolve().then(()=>require("./slot-8b27e15e.cjs"))),le={name:"Symbol",noWrap:!0,static:!0,isRSC:!0,inputs:[{name:"symbol",type:"uiSymbol"},{name:"dataOnly",helperText:"Make this a data symbol that doesn't display any UI",type:"boolean",defaultValue:!1,advanced:!0,hideFromUI:!0},{name:"inheritState",helperText:"Inherit the parent component state and data",type:"boolean",defaultValue:!1,advanced:!0},{name:"renderToLiquid",helperText:"Render this symbols contents to liquid. Turn off to fetch with javascript and use custom targeting",type:"boolean",defaultValue:!1,advanced:!0,hideFromUI:!0},{name:"useChildren",hideFromUI:!0,type:"boolean"}],shouldReceiveBuilderProps:{builderBlock:!0,builderContext:!0,builderComponents:!0,builderLinkComponent:!0}},q={"@type":"@builder.io/sdk:Element",responsiveStyles:{large:{paddingLeft:"20px",paddingRight:"20px",paddingTop:"10px",paddingBottom:"10px",minWidth:"100px",textAlign:"center",display:"flex",flexDirection:"column",cursor:"pointer",userSelect:"none"}},component:{name:"Text",options:{text:"New tab"}}},D={"@type":"@builder.io/sdk:Element",responsiveStyles:{large:{height:"200px",display:"flex",marginTop:"20px",flexDirection:"column"}},component:{name:"Text",options:{text:"New tab content "}}},se={name:"Builder: Tabs",inputs:[{name:"tabs",type:"list",broadcast:!0,subFields:[{name:"label",type:"uiBlocks",hideFromUI:!0,defaultValue:[q]},{name:"content",type:"uiBlocks",hideFromUI:!0,defaultValue:[D]}],defaultValue:[{label:[{...q,component:{name:"Text",options:{text:"Tab 1"}}}],content:[{...D,component:{name:"Text",options:{text:"Tab 1 content"}}}]},{label:[{...q,component:{name:"Text",options:{text:"Tab 2"}}}],content:[{...D,component:{name:"Text",options:{text:"Tab 2 content"}}}]}]},{name:"activeTabStyle",type:"uiStyle",helperText:"CSS styles for the active tab",defaultValue:{backgroundColor:"rgba(0, 0, 0, 0.1)"}},{name:"defaultActiveTab",type:"number",helperText:'Default tab to open to. Set to "1" for the first tab, "2" for the second, or choose "0" for none',defaultValue:1,advanced:!0},{name:"collapsible",type:"boolean",helperText:"If on, clicking an open tab closes it so no tabs are active",defaultValue:!1,advanced:!0},{name:"tabHeaderLayout",type:"enum",helperText:"Change the layout of the tab headers (uses justify-content)",defaultValue:"flex-start",enum:[{label:"Center",value:"center"},{label:"Space between",value:"space-between"},{label:"Space around",value:"space-around"},{label:"Left",value:"flex-start"},{label:"Right",value:"flex-end"}]}],shouldReceiveBuilderProps:{builderBlock:!0,builderContext:!0,builderComponents:!0,builderLinkComponent:!0}},de=r.lazy(()=>Promise.resolve().then(()=>require("./tabs-9c5af0ec.cjs"))),ue={shouldReceiveBuilderProps:{builderBlock:!1},name:"Text",static:!0,isRSC:!0,image:"https://firebasestorage.googleapis.com/v0/b/builder-3b0a2.appspot.com/o/images%2Fbaseline-text_fields-24px%20(1).svg?alt=media&token=12177b73-0ee3-42ca-98c6-0dd003de1929",inputs:[{name:"text",type:"html",required:!0,autoFocus:!0,bubble:!0,defaultValue:"Enter some text..."}],defaultStyles:{lineHeight:"normal",height:"auto",textAlign:"center"}},ce={name:"Custom Code",static:!0,requiredPermissions:["editCode"],inputs:[{name:"code",type:"html",required:!0,defaultValue:"<p>Hello there, I am custom HTML code!</p>",code:!0},{name:"replaceNodes",type:"boolean",helperText:"Preserve server rendered dom nodes",advanced:!0},{name:"scriptsClientOnly",type:"boolean",defaultValue:!1,helperText:"Only print and run scripts on the client. Important when scripts influence DOM that could be replaced when client loads",advanced:!0}]},me=r.lazy(()=>Promise.resolve().then(()=>require("./custom-code-6d9730ff.cjs"))),pe={name:"Embed",static:!0,inputs:[{name:"url",type:"url",required:!0,defaultValue:"",helperText:"e.g. enter a youtube url, google map, etc"},{name:"content",type:"html",defaultValue:'<div style="padding: 20px; text-align: center">(Choose an embed URL)<div>',hideFromUI:!0}]},fe=r.lazy(()=>Promise.resolve().then(()=>require("./embed-32bdd007.cjs"))),ge={name:"Form:Form",defaults:{responsiveStyles:{large:{marginTop:"15px",paddingBottom:"15px"}}},image:"https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2Fef36d2a846134910b64b88e6d18c5ca5",inputs:[{name:"sendSubmissionsTo",type:"string",enum:[{label:"Send to email",value:"email",helperText:"Send form submissions to the email address of your choosing"},{label:"Custom",value:"custom",helperText:"Handle where the form requests go manually with a little code, e.g. to your own custom backend"}],defaultValue:"email"},{name:"sendSubmissionsToEmail",type:"string",required:!0,defaultValue:"your@email.com",showIf:'options.get("sendSubmissionsTo") === "email"'},{name:"sendWithJs",type:"boolean",helperText:"Set to false to use basic html form action",defaultValue:!0,showIf:'options.get("sendSubmissionsTo") === "custom"'},{name:"name",type:"string",defaultValue:"My form"},{name:"action",type:"string",helperText:"URL to send the form data to",showIf:'options.get("sendSubmissionsTo") === "custom"'},{name:"contentType",type:"string",defaultValue:"application/json",advanced:!0,enum:["application/json","multipart/form-data","application/x-www-form-urlencoded"],showIf:'options.get("sendSubmissionsTo") === "custom" && options.get("sendWithJs") === true'},{name:"method",type:"string",showIf:'options.get("sendSubmissionsTo") === "custom"',defaultValue:"POST",advanced:!0},{name:"previewState",type:"string",enum:["unsubmitted","sending","success","error"],defaultValue:"unsubmitted",helperText:'Choose a state to edit, e.g. choose "success" to show what users see on success and edit the message',showIf:'options.get("sendSubmissionsTo") !== "zapier" && options.get("sendWithJs") === true'},{name:"successUrl",type:"url",helperText:"Optional URL to redirect the user to on form submission success",showIf:'options.get("sendSubmissionsTo") !== "zapier" && options.get("sendWithJs") === true'},{name:"resetFormOnSubmit",type:"boolean",showIf:"options.get('sendSubmissionsTo') === 'custom' && options.get('sendWithJs') === true",advanced:!0},{name:"successMessage",type:"uiBlocks",hideFromUI:!0,defaultValue:[{"@type":"@builder.io/sdk:Element",responsiveStyles:{large:{marginTop:"10px"}},component:{name:"Text",options:{text:"<span>Thanks!</span>"}}}]},{name:"validate",type:"boolean",defaultValue:!0,advanced:!0},{name:"errorMessagePath",type:"text",advanced:!0,helperText:'Path to where to get the error message from in a JSON response to display to the user, e.g. "error.message" for a response like { "error": { "message": "this username is taken" }}'},{name:"errorMessage",type:"uiBlocks",hideFromUI:!0,defaultValue:[{"@type":"@builder.io/sdk:Element",responsiveStyles:{large:{marginTop:"10px"}},bindings:{"component.options.text":"state.formErrorMessage || block.component.options.text"},component:{name:"Text",options:{text:"<span>Form submission error :( Please check your answers and try again</span>"}}}]},{name:"sendingMessage",type:"uiBlocks",hideFromUI:!0,defaultValue:[{"@type":"@builder.io/sdk:Element",responsiveStyles:{large:{marginTop:"10px"}},component:{name:"Text",options:{text:"<span>Sending...</span>"}}}]},{name:"customHeaders",type:"map",valueType:{type:"string"},advanced:!0,showIf:'options.get("sendSubmissionsTo") === "custom" && options.get("sendWithJs") === true'}],noWrap:!0,canHaveChildren:!0,defaultChildren:[{"@type":"@builder.io/sdk:Element",responsiveStyles:{large:{marginTop:"10px"}},component:{name:"Text",options:{text:"<span>Enter your name</span>"}}},{"@type":"@builder.io/sdk:Element",responsiveStyles:{large:{marginTop:"10px"}},component:{name:"Form:Input",options:{name:"name",placeholder:"Jane Doe"}}},{"@type":"@builder.io/sdk:Element",responsiveStyles:{large:{marginTop:"10px"}},component:{name:"Text",options:{text:"<span>Enter your email</span>"}}},{"@type":"@builder.io/sdk:Element",responsiveStyles:{large:{marginTop:"10px"}},component:{name:"Form:Input",options:{name:"email",placeholder:"jane@doe.com"}}},{"@type":"@builder.io/sdk:Element",responsiveStyles:{large:{marginTop:"10px"}},component:{name:"Form:SubmitButton",options:{text:"Submit"}}}],shouldReceiveBuilderProps:{builderBlock:!0,builderContext:!0,builderComponents:!0,builderLinkComponent:!0}},he=r.lazy(()=>Promise.resolve().then(()=>require("./form-f2d2c2bf.cjs"))),be={name:"Form:Input",image:"https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2Fad6f37889d9e40bbbbc72cdb5875d6ca",inputs:[{name:"type",type:"text",enum:["text","number","email","url","checkbox","radio","range","date","datetime-local","search","tel","time","file","month","week","password","color","hidden"],defaultValue:"text"},{name:"name",type:"string",required:!0,helperText:'Every input in a form needs a unique name describing what it takes, e.g. "email"'},{name:"placeholder",type:"string",defaultValue:"Hello there",helperText:"Text to display when there is no value"},{name:"defaultValue",type:"string"},{name:"value",type:"string",advanced:!0},{name:"required",type:"boolean",helperText:"Is this input required to be filled out to submit a form",defaultValue:!1}],noWrap:!0,static:!0,defaultStyles:{paddingTop:"10px",paddingBottom:"10px",paddingLeft:"10px",paddingRight:"10px",borderRadius:"3px",borderWidth:"1px",borderStyle:"solid",borderColor:"#ccc"}},xe=r.lazy(()=>Promise.resolve().then(()=>require("./input-ec7c695a.cjs"))),ye={name:"Form:Select",image:"https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2F83acca093fb24aaf94dee136e9a4b045",defaultStyles:{alignSelf:"flex-start"},inputs:[{name:"options",type:"list",required:!0,subFields:[{name:"value",type:"text",required:!0},{name:"name",type:"text"}],defaultValue:[{value:"option 1"},{value:"option 2"}]},{name:"name",type:"string",required:!0,helperText:'Every select in a form needs a unique name describing what it gets, e.g. "email"'},{name:"defaultValue",type:"string"},{name:"value",type:"string",advanced:!0},{name:"required",type:"boolean",defaultValue:!1}],static:!0,noWrap:!0},ve=r.lazy(()=>Promise.resolve().then(()=>require("./select-3ffa9294.cjs"))),Se={name:"Form:SubmitButton",image:"https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2Fdf2820ffed1f4349a94c40b3221f5b98",defaultStyles:{appearance:"none",paddingTop:"15px",paddingBottom:"15px",paddingLeft:"25px",paddingRight:"25px",backgroundColor:"#3898EC",color:"white",borderRadius:"4px",cursor:"pointer"},inputs:[{name:"text",type:"text",defaultValue:"Click me"}],static:!0,noWrap:!0},Te=r.lazy(()=>Promise.resolve().then(()=>require("./submit-button-b363e0ed.cjs"))),ke={name:"Form:TextArea",image:"https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2Ff74a2f3de58c4c3e939204e5b6b8f6c3",inputs:[{advanced:!0,name:"value",type:"string"},{name:"name",type:"string",required:!0,helperText:'Every input in a form needs a unique name describing what it gets, e.g. "email"'},{name:"defaultValue",type:"string"},{name:"placeholder",type:"string",defaultValue:"Hello there"},{name:"required",type:"boolean",defaultValue:!1}],defaultStyles:{paddingTop:"10px",paddingBottom:"10px",paddingLeft:"10px",paddingRight:"10px",borderRadius:"3px",borderWidth:"1px",borderStyle:"solid",borderColor:"#ccc"},static:!0,noWrap:!0},Ce=r.lazy(()=>Promise.resolve().then(()=>require("./textarea-56a875bc.cjs"))),Ie={name:"Raw:Img",hideFromInsertMenu:!0,image:"https://firebasestorage.googleapis.com/v0/b/builder-3b0a2.appspot.com/o/images%2Fbaseline-insert_photo-24px.svg?alt=media&token=4e5d0ef4-f5e8-4e57-b3a9-38d63a9b9dc4",inputs:[{name:"image",bubble:!0,type:"file",allowedFileTypes:["jpeg","jpg","png","svg","gif","webp"],required:!0}],noWrap:!0,static:!0},we=r.lazy(()=>Promise.resolve().then(()=>require("./img-b91cb4fd.cjs"))),Ve={name:"Video",canHaveChildren:!0,defaultStyles:{minHeight:"20px",minWidth:"20px"},image:"https://firebasestorage.googleapis.com/v0/b/builder-3b0a2.appspot.com/o/images%2Fbaseline-videocam-24px%20(1).svg?alt=media&token=49a84e4a-b20e-4977-a650-047f986874bb",inputs:[{name:"video",type:"file",allowedFileTypes:["mp4"],bubble:!0,defaultValue:"https://cdn.builder.io/o/assets%2FYJIGb4i01jvw0SRdL5Bt%2Fd27731a526464deba0016216f5f9e570%2Fcompressed?apiKey=YJIGb4i01jvw0SRdL5Bt&token=d27731a526464deba0016216f5f9e570&alt=media&optimized=true",required:!0},{name:"posterImage",type:"file",allowedFileTypes:["jpeg","png"],helperText:"Image to show before the video plays"},{name:"autoPlay",type:"boolean",defaultValue:!0},{name:"controls",type:"boolean",defaultValue:!1},{name:"muted",type:"boolean",defaultValue:!0},{name:"loop",type:"boolean",defaultValue:!0},{name:"playsInline",type:"boolean",defaultValue:!0},{name:"fit",type:"text",defaultValue:"cover",enum:["contain","cover","fill","auto"]},{name:"preload",type:"text",defaultValue:"metadata",enum:["auto","metadata","none"]},{name:"fitContent",type:"boolean",helperText:"When child blocks are provided, fit to them instead of using the aspect ratio",defaultValue:!0,advanced:!0},{name:"position",type:"text",defaultValue:"center",enum:["center","top","left","right","bottom","top left","top right","bottom left","bottom right"]},{name:"height",type:"number",advanced:!0},{name:"width",type:"number",advanced:!0},{name:"aspectRatio",type:"number",advanced:!0,defaultValue:.7004048582995948},{name:"lazyLoad",type:"boolean",helperText:'Load this video "lazily" - as in only when a user scrolls near the video. Recommended for optmized performance and bandwidth consumption',defaultValue:!0,advanced:!0}],shouldReceiveBuilderProps:{builderBlock:!0}},Re=()=>[{component:me,...ce},{component:fe,...pe},{component:he,...ge},{component:xe,...be},{component:Te,...Se},{component:ve,...ye},{component:Ce,...ke},{component:we,...Ie},{component:k.Video,...Ve}],z=()=>[{component:k.Button,...ee},{component:k.Columns,...te},{component:k.Fragment,...ne},{component:k.Image,...ae},{component:k.Section,...ie},{component:re,...oe},{component:k.Symbol,...le},{component:k.Text,...ue},{component:de,...se},{component:Z,...X},...Re()],Ee=`function updateCookiesAndStyles(contentId, variants, isHydrationTarget) {
2
- function getAndSetVariantId() {
3
- function setCookie(name, value, days) {
4
- let expires = '';
5
- if (days) {
6
- const date = new Date();
7
- date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000);
8
- expires = '; expires=' + date.toUTCString();
9
- }
10
- document.cookie = name + '=' + (value || '') + expires + '; path=/' + '; Secure; SameSite=None';
11
- }
12
- function getCookie(name) {
13
- const nameEQ = name + '=';
14
- const ca = document.cookie.split(';');
15
- for (let i = 0; i < ca.length; i++) {
16
- let c = ca[i];
17
- while (c.charAt(0) === ' ') c = c.substring(1, c.length);
18
- if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length, c.length);
19
- }
20
- return null;
21
- }
22
- const cookieName = \`builder.tests.\${contentId}\`;
23
- const variantInCookie = getCookie(cookieName);
24
- const availableIDs = variants.map(vr => vr.id).concat(contentId);
25
- if (variantInCookie && availableIDs.includes(variantInCookie)) {
26
- return variantInCookie;
27
- }
28
- let n = 0;
29
- const random = Math.random();
30
- for (let i = 0; i < variants.length; i++) {
31
- const variant = variants[i];
32
- const testRatio = variant.testRatio;
33
- n += testRatio;
34
- if (random < n) {
35
- setCookie(cookieName, variant.id);
36
- return variant.id;
37
- }
38
- }
39
- setCookie(cookieName, contentId);
40
- return contentId;
41
- }
42
- const winningVariantId = getAndSetVariantId();
43
- const styleEl = document.currentScript?.previousElementSibling;
44
- if (isHydrationTarget) {
45
- styleEl.remove();
46
- const thisScriptEl = document.currentScript;
47
- thisScriptEl?.remove();
48
- } else {
49
- const newStyleStr = variants.concat({
50
- id: contentId
51
- }).filter(variant => variant.id !== winningVariantId).map(value => {
52
- return \`.variant-\${value.id} { display: none; }
53
- \`;
54
- }).join('');
55
- styleEl.innerHTML = newStyleStr;
56
- }
57
- }`,Fe=`function updateVariantVisibility(variantContentId, defaultContentId, isHydrationTarget) {
58
- if (!navigator.cookieEnabled) {
59
- return;
60
- }
61
- function getCookie(name) {
62
- const nameEQ = name + '=';
63
- const ca = document.cookie.split(';');
64
- for (let i = 0; i < ca.length; i++) {
65
- let c = ca[i];
66
- while (c.charAt(0) === ' ') c = c.substring(1, c.length);
67
- if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length, c.length);
68
- }
69
- return null;
70
- }
71
- const cookieName = \`builder.tests.\${defaultContentId}\`;
72
- const winningVariant = getCookie(cookieName);
73
- const parentDiv = document.currentScript?.parentElement;
74
- const isDefaultContent = variantContentId === defaultContentId;
75
- const isWinningVariant = winningVariant === variantContentId;
76
- if (isWinningVariant && !isDefaultContent) {
77
- parentDiv?.removeAttribute('hidden');
78
- parentDiv?.removeAttribute('aria-hidden');
79
- } else if (!isWinningVariant && isDefaultContent) {
80
- parentDiv?.setAttribute('hidden', 'true');
81
- parentDiv?.setAttribute('aria-hidden', 'true');
82
- }
83
- if (isHydrationTarget) {
84
- if (!isWinningVariant) {
85
- parentDiv?.remove();
86
- }
87
- const thisScriptEl = document.currentScript;
88
- thisScriptEl?.remove();
89
- }
90
- return;
91
- }`,J="builderIoAbTest",Y="builderIoRenderContent",W=e=>Object.values((e==null?void 0:e.variations)||{}).map(t=>({...t,testVariationId:t.id,id:e==null?void 0:e.id})),Pe=({canTrack:e,content:t})=>!(!(W(t).length>0)||!e||l.isBrowser()),We=e=>e==="react"||e==="reactNative",G=We(l.TARGET),Ae=()=>`
92
- window.${J} = ${Ee}
93
- window.${Y} = ${Fe}
94
- `,Be=(e,t)=>`
95
- window.${J}(
96
- "${t}",${JSON.stringify(e)}, ${G}
97
- )`,qe=({contentId:e,variationId:t})=>`window.${Y}(
98
- "${t}", "${e}", ${G}
99
- )`;function j(e){return b.jsx("script",{dangerouslySetInnerHTML:{__html:e.scriptStr},"data-id":e.id,nonce:e.nonce||""})}function M(e){return Math.round(e*1e3)/1e3}const De=(e,t,n=!0)=>{if(!(e instanceof HTMLElement))return null;let i=n?e:e.parentElement;do{if(!i)return null;if(t(i))return i}while(i=i.parentElement);return null},je=e=>De(e,t=>{const n=t.getAttribute("builder-id")||t.id;return(n==null?void 0:n.indexOf("builder-"))===0}),O=({event:e,target:t})=>{const n=t.getBoundingClientRect(),i=e.clientX-n.left,c=e.clientY-n.top,f=M(i/n.width),a=M(c/n.height);return{x:f,y:a}},Ue=e=>{const t=e.target,n=t&&je(t),i=(n==null?void 0:n.getAttribute("builder-id"))||(n==null?void 0:n.id);return{targetBuilderElement:i||void 0,metadata:{targetOffset:t?O({event:e,target:t}):void 0,builderTargetOffset:n?O({event:e,target:n}):void 0,builderElementIndex:n&&i?[].slice.call(document.getElementsByClassName(i)).indexOf(n):void 0}}},Le=e=>{var f,a;const t=e.family+(e.kind&&!e.kind.includes("#")?", "+e.kind:""),n=t.split(",")[0],i=(a=e.fileUrl)!=null?a:(f=e==null?void 0:e.files)==null?void 0:f.regular;let c="";if(i&&t&&n&&(c+=`
100
- @font-face {
101
- font-family: "${t}";
102
- src: local("${n}"), url('${i}') format('woff2');
103
- font-display: fallback;
104
- font-weight: 400;
105
- }
106
- `.trim()),e.files)for(const o in e.files){if(!(String(Number(o))===o))continue;const y=e.files[o];y&&y!==i&&(c+=`
107
- @font-face {
108
- font-family: "${t}";
109
- src: url('${y}') format('woff2');
110
- font-display: fallback;
111
- font-weight: ${o};
112
- }
113
- `.trim())}return c},He=({customFonts:e})=>{var t;return((t=e==null?void 0:e.map(n=>Le(n)))==null?void 0:t.join(" "))||""},$e=({cssCode:e,contentId:t})=>e?t?(e==null?void 0:e.replace(/&/g,`div[builder-content-id="${t}"]`))||"":e:"",Ne=`
114
- .builder-button {
115
- all: unset;
116
- }
117
-
118
- .builder-text > p:first-of-type, .builder-text > .builder-paragraph:first-of-type {
119
- margin: 0;
120
- }
121
- .builder-text > p, .builder-text > .builder-paragraph {
122
- color: inherit;
123
- line-height: inherit;
124
- letter-spacing: inherit;
125
- font-weight: inherit;
126
- font-size: inherit;
127
- text-align: inherit;
128
- font-family: inherit;
129
- }
130
- `,Ke=e=>e?"":Ne,ze=e=>`variant-${e}`;function Me(e){var I,U,L,H,$,N,K;const t=r.useRef(null);function n(s){var h,u;const m={...e.builderContextSignal.rootState,...s};e.builderContextSignal.rootSetState?(u=(h=e.builderContextSignal).rootSetState)==null||u.call(h,m):e.setBuilderContextSignal(d=>({...d,rootState:m}))}function i(s){var h,u,d,x,E;const m={...e.builderContextSignal.content,...s,data:{...(h=e.builderContextSignal.content)==null?void 0:h.data,...s==null?void 0:s.data},meta:{...(u=e.builderContextSignal.content)==null?void 0:u.meta,...s==null?void 0:s.meta,breakpoints:((d=s==null?void 0:s.meta)==null?void 0:d.breakpoints)||((E=(x=e.builderContextSignal.content)==null?void 0:x.meta)==null?void 0:E.breakpoints)}};e.setBuilderContextSignal(S=>({...S,content:m}))}function c(){return e.showContent?{}:{hidden:!0,"aria-hidden":!0}}const[f,a]=r.useState(()=>e.contentWrapper||"div");function o(s){return l.createEditorListener({model:e.model,trustedHosts:e.trustedHosts,callbacks:{configureSdk:m=>{var d;const{breakpoints:h,contentId:u}=m;!u||u!==((d=e.builderContextSignal.content)==null?void 0:d.id)||h&&i({meta:{breakpoints:h}})},animation:m=>{V.triggerAnimation(m)},contentUpdate:m=>{i(m)}}})(s)}function g(){var m,h;const s=(h=(m=e.builderContextSignal.content)==null?void 0:m.data)==null?void 0:h.jsCode;s&&V.evaluate({code:s,context:e.context||{},localState:void 0,rootState:e.builderContextSignal.rootState,rootSetState:e.builderContextSignal.rootSetState,enableCache:!1})}const[y,C]=r.useState(()=>({})),[T,R]=r.useState(()=>({})),[F,P]=r.useState(()=>!1);function v(s){var m,h;if(e.builderContextSignal.content){const u=(m=e.builderContextSignal.content)==null?void 0:m.testVariationId,d=(h=e.builderContextSignal.content)==null?void 0:h.id;l._track({type:"click",canTrack:l.getDefaultCanTrack(e.canTrack),contentId:d,apiKey:e.apiKey,variationId:u!==d?u:void 0,...Ue(s),unique:!F})}F||P(!0)}function p(){var m,h,u;const s=(u=(h=(m=e.builderContextSignal.content)==null?void 0:m.data)==null?void 0:h.httpRequests)!=null?u:{};Object.entries(s).forEach(([d,x])=>{if(!x||T[d]||y[d]&&!l.isEditing())return;T[d]=!0;const E=x.replace(/{{([^}]+)}}/g,(S,Q)=>String(V.evaluate({code:Q,context:e.context||{},localState:void 0,rootState:e.builderContextSignal.rootState,rootSetState:e.builderContextSignal.rootSetState,enableCache:!0})));l.fetch(E).then(S=>S.json()).then(S=>{n({[d]:S}),y[d]=!0}).catch(S=>{console.error("error fetching dynamic data",x,S)}).finally(()=>{T[d]=!1})})}function w(){l.isEditing()&&window.dispatchEvent(new CustomEvent("builder:component:stateChange",{detail:{state:l.fastClone(e.builderContextSignal.rootState),ref:{name:e.model}}}))}return r.useEffect(()=>{var s,m;if(l.isBrowser()){if(l.isEditing()&&(window.addEventListener("message",o),l.registerInsertMenu(),l.setupBrowserForEditing({...e.locale?{locale:e.locale}:{},...e.enrich?{enrich:e.enrich}:{},...e.trustedHosts?{trustedHosts:e.trustedHosts}:{}}),Object.values(e.builderContextSignal.componentInfos).forEach(u=>{var x;const d=l.createRegisterComponentMessage(u);(x=window.parent)==null||x.postMessage(d,"*")}),window.addEventListener("builder:component:stateChangeListenerActivated",w)),e.builderContextSignal.content&&l.getDefaultCanTrack(e.canTrack)){const u=(s=e.builderContextSignal.content)==null?void 0:s.testVariationId,d=(m=e.builderContextSignal.content)==null?void 0:m.id,x=e.apiKey;l._track({type:"impression",canTrack:!0,contentId:d,apiKey:x,variationId:u!==d?u:void 0})}if(l.isPreviewing()&&!l.isEditing()){const u=new URL(location.href).searchParams,d=u.get("builder.preview"),x=u.get(`builder.overrides.${d}`),E=u.get("apiKey")||u.get("builder.space");d===e.model&&E===e.apiKey&&(!e.content||x===e.content.id)&&l.fetchOneEntry({model:e.model,apiKey:e.apiKey,apiVersion:e.builderContextSignal.apiVersion}).then(S=>{S&&i(S)})}}},[]),r.useEffect(()=>{e.apiKey||l.logger.error("No API key provided to `Content` component. This can cause issues. Please provide an API key using the `apiKey` prop."),g(),p(),w()},[]),r.useEffect(()=>{e.content&&i(e.content)},[e.content]),r.useEffect(()=>{g()},[(U=(I=e.builderContextSignal.content)==null?void 0:I.data)==null?void 0:U.jsCode]),r.useEffect(()=>{p()},[(H=(L=e.builderContextSignal.content)==null?void 0:L.data)==null?void 0:H.httpRequests]),r.useEffect(()=>{w()},[e.builderContextSignal.rootState]),r.useEffect(()=>{e.data&&n(e.data)},[e.data]),r.useEffect(()=>{e.locale&&n({locale:e.locale})},[e.locale]),r.useEffect(()=>()=>{l.isBrowser()&&(window.removeEventListener("message",o),window.removeEventListener("builder:component:stateChangeListenerActivated",w))},[]),b.jsx(k.BuilderContext.Provider,{value:e.builderContextSignal,children:e.builderContextSignal.content?b.jsx(f,{ref:t,onClick:s=>v(s),"builder-content-id":($=e.builderContextSignal.content)==null?void 0:$.id,"builder-model":e.model,...c(),...e.contentWrapperProps,className:ze(((N=e.content)==null?void 0:N.testVariationId)||((K=e.content)==null?void 0:K.id)),children:e.children}):null})}function Oe(e){const[t,n]=r.useState(()=>`
131
- ${$e({cssCode:e.cssCode,contentId:e.contentId})}
132
- ${He({customFonts:e.customFonts})}
133
- ${Ke(e.isNestedRender)}
134
- `.trim());return b.jsx(V.InlinedStyles,{id:"builderio-content",styles:t,nonce:e.nonce})}const _e=({content:e,data:t,locale:n})=>{var f,a,o;const i={},c=((f=e==null?void 0:e.data)==null?void 0:f.state)||{};return(o=(a=e==null?void 0:e.data)==null?void 0:a.inputs)==null||o.forEach(g=>{g.name&&g.defaultValue!==void 0&&(i[g.name]=g.defaultValue)}),{...i,...c,...t,...n?{locale:n}:{}}},Je=({content:e,data:t})=>e?{...e,data:{...e==null?void 0:e.data,...t},meta:e==null?void 0:e.meta}:void 0;function _(e){var g,y,C,T,R,F,P;const[t,n]=r.useState(()=>{var v,p;return qe({variationId:(v=e.content)==null?void 0:v.testVariationId,contentId:(p=e.content)==null?void 0:p.id})});function i(v){o(p=>({...p,rootState:v}))}const[c,f]=r.useState(()=>{var v;return[...z(),...((v=e.customComponents)==null?void 0:v.filter(({models:p})=>!(p!=null&&p.length)||!e.model?!0:p.includes(e.model)))||[]].reduce((p,{component:w,...I})=>({...p,[I.name]:{component:w,...l.serializeComponentInfo(I)}}),{})}),[a,o]=r.useState(()=>{var v;return{content:Je({content:e.content,data:e.data}),localState:void 0,rootState:_e({content:e.content,data:e.data,locale:e.locale}),rootSetState:i,context:e.context||{},canTrack:e.canTrack,apiKey:e.apiKey,apiVersion:e.apiVersion,componentInfos:[...z(),...((v=e.customComponents)==null?void 0:v.filter(({models:p})=>!(p!=null&&p.length)||!e.model?!0:p.includes(e.model)))||[]].reduce((p,{component:w,...I})=>({...p,[I.name]:l.serializeComponentInfo(I)}),{}),inheritedStyles:{},BlocksWrapper:e.blocksWrapper||"div",BlocksWrapperProps:e.blocksWrapperProps||{},nonce:e.nonce||""}});return b.jsx(V.ComponentsContext.Provider,{value:{registeredComponents:c},children:b.jsxs(Me,{nonce:e.nonce,content:e.content,data:e.data,model:e.model,context:e.context,apiKey:e.apiKey,canTrack:e.canTrack,locale:e.locale,enrich:e.enrich,showContent:e.showContent,builderContextSignal:a,contentWrapper:e.contentWrapper,contentWrapperProps:e.contentWrapperProps,trustedHosts:e.trustedHosts,setBuilderContextSignal:o,children:[e.isSsrAbTest?b.jsx(j,{id:"builderio-variant-visibility",scriptStr:t,nonce:e.nonce||""}):null,b.jsx(Oe,{nonce:e.nonce||"",isNestedRender:e.isNestedRender,contentId:(g=a.content)==null?void 0:g.id,cssCode:(C=(y=a.content)==null?void 0:y.data)==null?void 0:C.cssCode,customFonts:(R=(T=a.content)==null?void 0:T.data)==null?void 0:R.customFonts}),b.jsx(V.Blocks,{blocks:(P=(F=a.content)==null?void 0:F.data)==null?void 0:P.blocks,context:a,registeredComponents:c,linkComponent:e.linkComponent})]})})}function Ye(e){var a;const[t,n]=r.useState(()=>Pe({canTrack:l.getDefaultCanTrack(e.canTrack),content:e.content}));function i(){var o;return Be(W(e.content).map(g=>({id:g.testVariationId,testRatio:g.testRatio})),((o=e.content)==null?void 0:o.id)||"")}function c(){return W(e.content).map(o=>`.variant-${o.testVariationId} { display: none; } `).join("")}function f(){var o;return t?{...e.content,testVariationId:(o=e.content)==null?void 0:o.id}:l.handleABTestingSync({item:e.content,canTrack:l.getDefaultCanTrack(e.canTrack)})}return r.useEffect(()=>{},[]),b.jsxs(b.Fragment,{children:[!e.isNestedRender&&l.TARGET!=="reactNative"?b.jsx(j,{id:"builderio-init-variants-fns",scriptStr:Ae(),nonce:e.nonce||""}):null,t?b.jsxs(b.Fragment,{children:[b.jsx(V.InlinedStyles,{id:"builderio-variants",styles:c(),nonce:e.nonce||""}),b.jsx(j,{id:"builderio-variants-visibility",scriptStr:i(),nonce:e.nonce||""}),(a=W(e.content))==null?void 0:a.map(o=>b.jsx(_,{isNestedRender:e.isNestedRender,nonce:e.nonce,content:o,showContent:!1,model:e.model,data:e.data,context:e.context,apiKey:e.apiKey,apiVersion:e.apiVersion,customComponents:e.customComponents,linkComponent:e.linkComponent,canTrack:e.canTrack,locale:e.locale,enrich:e.enrich,isSsrAbTest:t,blocksWrapper:e.blocksWrapper,blocksWrapperProps:e.blocksWrapperProps,contentWrapper:e.contentWrapper,contentWrapperProps:e.contentWrapperProps,trustedHosts:e.trustedHosts},o.testVariationId))]}):null,b.jsx(_,{nonce:e.nonce,isNestedRender:e.isNestedRender,content:f(),showContent:!0,model:e.model,data:e.data,context:e.context,apiKey:e.apiKey,apiVersion:e.apiVersion,customComponents:e.customComponents,linkComponent:e.linkComponent,canTrack:e.canTrack,locale:e.locale,enrich:e.enrich,isSsrAbTest:t,blocksWrapper:e.blocksWrapper,blocksWrapperProps:e.blocksWrapperProps,contentWrapper:e.contentWrapper,contentWrapperProps:e.contentWrapperProps,trustedHosts:e.trustedHosts})]})}exports.default=Ye;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react/jsx-runtime"),y=require("react"),b=require("./blocks-078044bc.cjs"),P=require("./server-entry-966ac144.cjs");require("./blocks-exports.cjs");require("./get-class-prop-name-a9b4959e.cjs");require("./dynamic-renderer-b29b45ca.cjs");const B=["production","qa","test","development","dev","cdn-qa","cloud","fast","cdn2","cdn-prod"],D=()=>{const e=process.env.NODE_ENV||"production";return B.includes(e)?e:"production"},A=(e,i,S)=>{const a=String.prototype.split.call(i,/[,[\].]+?/).filter(Boolean).reduce((c,h)=>c!=null?c[h]:c,e);return a===void 0||a===e?S:a};function O(e){var x,E;const i=y.useRef(null),[S,a]=y.useState(()=>"unsubmitted"),[c,h]=y.useState(()=>null),[J,T]=y.useState(()=>"");function q(s){var f,m;const u={...e.builderContext.rootState,...s};e.builderContext.rootSetState?(m=(f=e.builderContext).rootSetState)==null||m.call(f,u):e.builderContext.rootState=u}function g(){return P.isEditing()&&e.previewState||S}function F(s){var f;const u=e.sendWithJs||e.sendSubmissionsTo==="email";if(e.sendSubmissionsTo==="zapier")s.preventDefault();else if(u){if(!(e.action||e.sendSubmissionsTo==="email")){s.preventDefault();return}s.preventDefault();const m=s.currentTarget||s.target,k=e.customHeaders||{};let v;const N=new FormData(m),C=Array.from(m.querySelectorAll("input,select,textarea")).filter(t=>!!t.name).map(t=>{let n;const l=t.name;if(t instanceof HTMLInputElement)if(t.type==="radio"){if(t.checked)return n=t.name,{key:l,value:n}}else if(t.type==="checkbox")n=t.checked;else if(t.type==="number"||t.type==="range"){const r=t.valueAsNumber;isNaN(r)||(n=r)}else t.type==="file"?n=t.files:n=t.value;else n=t.value;return{key:l,value:n}});let d=e.contentType;if(e.sendSubmissionsTo==="email"&&(d="multipart/form-data"),Array.from(C).forEach(({value:t})=>{(t instanceof File||Array.isArray(t)&&t[0]instanceof File||t instanceof FileList)&&(d="multipart/form-data")}),d!=="application/json")v=N;else{const t={};Array.from(C).forEach(({value:n,key:l})=>{b.set(t,l,n)}),v=JSON.stringify(t)}d&&d!=="multipart/form-data"&&(u&&((f=e.action)!=null&&f.includes("zapier.com"))||(k["content-type"]=d));const j=new CustomEvent("presubmit",{detail:{body:v}});if(i.current&&(i.current.dispatchEvent(j),j.defaultPrevented))return;a("sending");const w=`${D()==="dev"?"http://localhost:5000":"https://builder.io"}/api/v1/form-submit?apiKey=${e.builderContext.apiKey}&to=${btoa(e.sendSubmissionsToEmail||"")}&name=${encodeURIComponent(e.name||"")}`;fetch(e.sendSubmissionsTo==="email"?w:e.action,{body:v,headers:k,method:e.method||"post"}).then(async t=>{let n;const l=t.headers.get("content-type");if(l&&l.indexOf("application/json")!==-1?n=await t.json():n=await t.text(),!t.ok&&e.errorMessagePath){let r=A(n,e.errorMessagePath);r&&(typeof r!="string"&&(r=JSON.stringify(r)),T(r),q({formErrorMessage:r}))}if(h(n),a(t.ok?"success":"error"),t.ok){const r=new CustomEvent("submit:success",{detail:{res:t,body:n}});if(i.current){if(i.current.dispatchEvent(r),r.defaultPrevented)return;e.resetFormOnSubmit!==!1&&i.current.reset()}if(e.successUrl)if(i.current){const M=new CustomEvent("route",{detail:{url:e.successUrl}});i.current.dispatchEvent(M),M.defaultPrevented||(location.href=e.successUrl)}else location.href=e.successUrl}},t=>{const n=new CustomEvent("submit:error",{detail:{error:t}});i.current&&(i.current.dispatchEvent(n),n.defaultPrevented)||(h(t),a("error"))})}}return o.jsxs(o.Fragment,{children:[" ",o.jsxs("form",{validate:e.validate,ref:i,action:!e.sendWithJs&&e.action,method:e.method,name:e.name,onSubmit:s=>F(s),...e.attributes,children:[e.builderBlock&&e.builderBlock.children?o.jsx(o.Fragment,{children:(E=(x=e.builderBlock)==null?void 0:x.children)==null?void 0:E.map((s,u)=>o.jsx(b.Block,{block:s,context:e.builderContext,registeredComponents:e.builderComponents,linkComponent:e.builderLinkComponent},`form-block-${u}`))}):null,g()==="error"?o.jsx(b.Blocks,{path:"errorMessage",blocks:e.errorMessage,context:e.builderContext}):null,g()==="sending"?o.jsx(b.Blocks,{path:"sendingMessage",blocks:e.sendingMessage,context:e.builderContext}):null,g()==="error"&&c?o.jsx("pre",{className:"builder-form-error-text pre-3a20f614",children:JSON.stringify(c,null,2)}):null,g()==="success"?o.jsx(b.Blocks,{path:"successMessage",blocks:e.successMessage,context:e.builderContext}):null]})," ",o.jsx("style",{children:".pre-3a20f614 { padding: 10px; color: red; text-align: center; }"})," "]})}exports.default=O;
@@ -1,17 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react/jsx-runtime");function g(e){return e.replace(/http(s)?:/,"")}function b(e="",i,t){const n=new RegExp("([?&])"+i+"=.*?(&|$)","i"),a=e.indexOf("?")!==-1?"&":"?";return e.match(n)?e.replace(n,"$1"+i+"="+encodeURIComponent(t)+"$2"):e+a+i+"="+encodeURIComponent(t)}function x(e,i){if(!e||!(e!=null&&e.match(/cdn\.shopify\.com/))||!i)return e;if(i==="master")return g(e);const t=e.match(/(_\d+x(\d+)?)?(\.(jpg|jpeg|gif|png|bmp|bitmap|tiff|tif)(\?v=\d+)?)/i);if(t){const n=e.split(t[0]),a=t[3],r=i.match("x")?i:`${i}x`;return g(`${n[0]}_${r}${a}`)}return null}function d(e){if(!e)return e;const i=[100,200,400,800,1200,1600,2e3];if(e.match(/builder\.io/)){let t=e;const n=Number(e.split("?width=")[1]);return isNaN(n)||(t=`${t} ${n}w`),i.filter(a=>a!==n).map(a=>`${b(e,"width",a)} ${a}w`).concat([t]).join(", ")}return e.match(/cdn\.shopify\.com/)?i.map(t=>[x(e,`${t}x${t}`),t]).filter(([t])=>!!t).map(([t,n])=>`${t} ${n}w`).concat([e]).join(", "):e}function j(e){var a,r,s,u,m,f;function i(){var h;const o=e.image||e.src;if(!o||!(o.match(/builder\.io/)||o.match(/cdn\.shopify\.com/)))return e.srcset;if(!e.noWebp){if(e.srcset&&((h=e.image)!=null&&h.includes("builder.io/api/v1/image"))){if(!e.srcset.includes(e.image.split("?")[0]))return console.debug("Removed given srcset"),d(o)}else if(e.image&&!e.srcset)return d(o);return d(o)}}function t(){var l;return(l=i==null?void 0:i())!=null&&l.match(/builder\.io/)&&!e.noWebp?i().replace(/\?/g,"?format=webp&"):""}function n(){const l={position:"absolute",height:"100%",width:"100%",left:"0px",top:"0px"};return e.aspectRatio?l:void 0}return c.jsxs(c.Fragment,{children:[c.jsxs(c.Fragment,{children:[c.jsxs("picture",{children:[t()?c.jsx("source",{type:"image/webp",srcSet:t()}):null,c.jsx("img",{loading:e.highPriority?"eager":"lazy",fetchPriority:e.highPriority?"high":"auto",alt:e.altText,role:e.altText?void 0:"presentation",style:{objectPosition:e.backgroundPosition||"center",objectFit:e.backgroundSize||"cover",...n()},className:"builder-image"+(e.className?" "+e.className:"")+" img-56bbd606",src:e.image,srcSet:i(),sizes:e.sizes})]}),e.aspectRatio&&!((r=(a=e.builderBlock)==null?void 0:a.children)!=null&&r.length&&e.fitContent)?c.jsx("div",{className:"builder-image-sizer div-56bbd606",style:{paddingTop:e.aspectRatio*100+"%"}}):null,(u=(s=e.builderBlock)==null?void 0:s.children)!=null&&u.length&&e.fitContent?c.jsx(c.Fragment,{children:e.children}):null,!e.fitContent&&((f=(m=e.builderBlock)==null?void 0:m.children)!=null&&f.length)?c.jsx("div",{className:"div-56bbd606-2",children:e.children}):null]}),c.jsx("style",{children:`.img-56bbd606 {
2
- opacity: 1;
3
- transition: opacity 0.2s ease-in-out;
4
- }.div-56bbd606 {
5
- width: 100%;
6
- pointer-events: none;
7
- font-size: 0;
8
- }.div-56bbd606-2 {
9
- display: flex;
10
- flex-direction: column;
11
- align-items: stretch;
12
- position: absolute;
13
- top: 0;
14
- left: 0;
15
- width: 100%;
16
- height: 100%;
17
- }`})]})}exports.default=j;
@@ -1,2 +0,0 @@
1
- "use strict";const I="react",ue=e=>{const t={};return e.forEach((n,r)=>{t[r]=n}),t},M=e=>e instanceof URLSearchParams?ue(e):e,U=e=>typeof e=="string"?e:e instanceof URLSearchParams?e.toString():new URLSearchParams(e).toString();function c(){return typeof window!="undefined"&&typeof document!="undefined"}function de(){return c()&&window.self!==window.top}function F(e){return de()&&U(e||window.location.search).indexOf("builder.frameEditing=")!==-1}function le(e){const t=e||(c()?window.location.search:void 0);return t?U(t).indexOf("builder.preview=")!==-1:!1}const k=e=>JSON.parse(JSON.stringify(e)),fe=e=>({type:"builder.registerComponent",data:N(e)}),ge=e=>{const t=e.toString().trim();return`return (${!t.startsWith("function")&&!t.startsWith("(")?"function ":""}${t}).apply(this, arguments)`},he=e=>typeof e=="function"?ge(e):k(e),N=({inputs:e,...t})=>({...k(t),inputs:e==null?void 0:e.map(n=>Object.entries(n).reduce((r,[o,s])=>({...r,[o]:he(s)}),{}))}),x={};function D(e,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 pe(e){if(c()){Object.assign(R,e);const t={type:"builder.settingsChange",data:R};parent.postMessage(t,"*")}}const B="builder.",me="options.",C=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(me,"");n[o]=t[r]}}),n},ye=()=>{if(!c())return{};const e=new URLSearchParams(window.location.search);return C(e)},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)},p=e=>e!=null,Se=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),we=e=>e.map(([t,n])=>n?`${t}=${n}`:t).filter(p).join("; "),be=[["secure",""],["SameSite","None"]],Ie=({name:e,value:t,expires:n})=>{const o=(c()?location.protocol==="https:":!0)?be:[[]],s=n?[["expires",n.toUTCString()]]:[[]],a=[[e,t],...s,["path","/"],["domain",Se(window.location.hostname)],...o];return we(a)},_=async({name:e,value:t,expires:n,canTrack:r})=>{try{if(!r)return;const o=Ie({name:e,value:t,expires:n});document.cookie=o}catch(o){d.warn("[COOKIE] SET error: ",(o==null?void 0:o.message)||o)}};function ve(){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 ve().replace(/-/g,"")}const $="builderSessionId",Ee=async({canTrack:e})=>{if(!e)return;const t=await K({name:$,canTrack:e});if(p(t))return t;{const n=ke();return Ce({id:n,canTrack:e}),n}},ke=()=>W(),Ce=({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}},Oe=({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",Ae=({canTrack:e})=>{if(!e)return;const t=Pe({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})=>Oe({key:z,value:e,canTrack:t}),Re=()=>{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},Be=()=>typeof navigator=="object"&&navigator.userAgent||"",J=()=>{const e=Be(),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=Re();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"}},Le=async({canTrack:e})=>{if(!e)return{visitorId:void 0,sessionId:void 0};const t=await Ee({canTrack:e}),n=Ae({canTrack:e});return{sessionId:t,visitorId:n}},Ve=async({type:e,canTrack:t,apiKey:n,metadata:r,...o})=>({type:e,data:{...o,metadata:{url:location.href,...r},...await Le({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&&!F()&&(c()||I==="reactNative"))return fetch("https://cdn.builder.io/api/v1/track",{method:"POST",body:JSON.stringify({events:[await Ve(e)]}),headers:{"content-type":"application/json"},mode:"cors"}).catch(t=>{console.error("Failed to track: ",t)})}const Me=e=>H({...e,canTrack:!0}),Ue=["*.beta.builder.io","beta.builder.io","builder.io","localhost","qa.builder.io"];function X(e,t){if(!t.origin.startsWith("http")&&!t.origin.startsWith("https"))return!1;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 Fe="2.0.2",Ne=()=>{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 q=(e={})=>{var t,n;L||(L=!0,c()&&((t=window.parent)==null||t.postMessage({type:"builder.sdkInfo",data:{target:I,version:Fe,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,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(!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}}},De=(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=Q({callbacks:{contentUpdate:t,animation:()=>{},configureSdk:()=>{}},model:e,trustedHosts:n==null?void 0:n.trustedHosts});return window.addEventListener("message",r),()=>{window.removeEventListener("message",r)}},je="builder.tests",P=e=>`${je}.${e}`,Ke=({contentId:e})=>K({name:P(e),canTrack:!0}),_e=({contentId:e})=>j({name:P(e),canTrack:!0}),We=({contentId:e,value:t})=>_({name:P(e),value:t,canTrack:!0}),Y=e=>p(e.id)&&p(e.variations)&&Object.keys(e.variations).length>0,$e=({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=$e(e);return We({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":"")}},Ge=({item:e,canTrack:t})=>{if(!t)return e;if(!e)return;if(!Y(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}},ze=async({item:e,canTrack:t})=>{if(!t||!Y(e))return e;const r=await Ke({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 Je(){return typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:globalThis}function He(){const e=Je().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 ne=He();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 re(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("$"))?re(o,s,n):n[s]=o}return n}const Xe="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=Xe,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 ae=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(ae)),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 ce={...ye(),...M(e.options||{})},T=E(ce);for(const f in T)i.searchParams.set(f,String(T[f]));if(n&&i.searchParams.set("userAttributes",JSON.stringify(n)),r){const f=re({query:r});for(const w in f)i.searchParams.set(w,JSON.stringify(f[w]))}return i},qe=e=>"results"in e;async function oe(e){const t=await ie({...e,limit:1});return t&&t[0]||null}const Qe=async e=>{var s;const t=O(e);return await(await((s=e.fetch)!=null?s:ne)(t.href,e.fetchOptions)).json()},se=async(e,t,n=O(e))=>{const r=te(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 ze({item:s,canTrack:r}));t.results=o}catch(o){d.error("Could not process A/B tests. ",o)}return t.results};async function ie(e){try{const t=O(e),n=await Qe(e);return qe(n)?se(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:C(e.searchParams||((s=e.url)==null?void 0:s.searchParams)||e.options)};return{apiKey:n.apiKey,model:n.model,content:await oe(n)}};exports.MSG_PREFIX=b;exports.TARGET=I;exports._processContentResult=se;exports._track=H;exports.checkIsDefined=p;exports.createEditorListener=Q;exports.createRegisterComponentMessage=fe;exports.fastClone=k;exports.fetch=ne;exports.fetchBuilderProps=Ye;exports.fetchEntries=ie;exports.fetchOneEntry=oe;exports.getBuilderSearchParams=C;exports.getDefaultCanTrack=te;exports.getUserAttributes=J;exports.handleABTestingSync=Ge;exports.isBrowser=c;exports.isEditing=F;exports.isPreviewing=le;exports.logger=d;exports.register=D;exports.registerInsertMenu=Ne;exports.serializeComponentInfo=N;exports.setEditorSettings=pe;exports.setupBrowserForEditing=q;exports.subscribeToEditor=De;exports.track=Me;