@builder.io/react 2.0.7 → 2.0.8-1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -0
- package/README.md +51 -41
- package/dist/builder-react-lite.cjs.js +1 -1
- package/dist/builder-react-lite.cjs.js.map +1 -1
- package/dist/builder-react-lite.esm.js +1 -1
- package/dist/builder-react-lite.esm.js.map +1 -1
- package/dist/builder-react.browser.js +1 -1
- package/dist/builder-react.browser.js.map +1 -1
- package/dist/builder-react.cjs.js +1 -1
- package/dist/builder-react.cjs.js.map +1 -1
- package/dist/builder-react.es5.js +1 -1
- package/dist/builder-react.es5.js.map +1 -1
- package/dist/builder-react.unpkg.js +1 -1
- package/dist/builder-react.unpkg.js.map +1 -1
- package/dist/lib/package.json +1 -1
- package/dist/lib/src/components/builder-block.component.js +14 -10
- package/dist/lib/src/components/builder-block.component.js.map +1 -1
- package/dist/lib/src/components/builder-component.component.js +9 -2
- package/dist/lib/src/components/builder-component.component.js.map +1 -1
- package/dist/lib/src/constants/device-sizes.constant.js +41 -2
- package/dist/lib/src/constants/device-sizes.constant.js.map +1 -1
- package/dist/lib/src/functions/apply-patch.js +38 -0
- package/dist/lib/src/functions/apply-patch.js.map +1 -0
- package/dist/lib/src/functions/apply-patch.test.js +85 -0
- package/dist/lib/src/functions/apply-patch.test.js.map +1 -0
- package/dist/lib/src/functions/try-eval.js.map +1 -1
- package/dist/lib/src/functions/utils.js +7 -0
- package/dist/lib/src/functions/utils.js.map +1 -0
- package/dist/lib/src/scripts/init-editing.js +2 -1
- package/dist/lib/src/scripts/init-editing.js.map +1 -1
- package/dist/types/src/components/builder-component.component.d.ts +1 -0
- package/dist/types/src/constants/device-sizes.constant.d.ts +31 -1
- package/dist/types/src/functions/apply-patch.d.ts +5 -0
- package/dist/types/src/functions/apply-patch.test.d.ts +1 -0
- package/dist/types/src/functions/utils.d.ts +1 -0
- package/jest.config.js +5 -0
- package/package.json +1 -1
- package/src/components/builder-block.component.tsx +15 -7
- package/src/components/builder-component.component.tsx +10 -2
- package/src/constants/device-sizes.constant.ts +43 -1
- package/src/functions/apply-patch.test.ts +90 -0
- package/src/functions/apply-patch.ts +37 -0
- package/src/functions/try-eval.tsx +1 -1
- package/src/functions/utils.ts +2 -0
- package/src/scripts/init-editing.ts +2 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,29 +5,36 @@
|
|
|
5
5
|
- added types for `override` option
|
|
6
6
|
|
|
7
7
|
### 2.0.5
|
|
8
|
+
|
|
8
9
|
- Add support for locale prop on `BuilderComponent` to auto-resolve localized inputs.
|
|
9
10
|
- Use the latest core sdk version which addresss an issue with rendering in a middleware (also a shopify hydrogen issue, https://github.com/BuilderIO/builder/issues/610).
|
|
10
11
|
|
|
11
12
|
### 2.0.4
|
|
13
|
+
|
|
12
14
|
- updates the patching logic to fix bug while where styling updates in the builder editor don’t properly apply (will quickly revert, until you refresh the preview)
|
|
13
15
|
|
|
14
16
|
### 2.0.3
|
|
17
|
+
|
|
15
18
|
- Fix an issue with previewing drafts of a published data model rendered by `BuilderContent`.
|
|
16
19
|
- Fix an issue with live editing on a `BuilderContent` containing a `BuilderComponent` of the same model.
|
|
17
20
|
|
|
18
21
|
### 2.0.3
|
|
22
|
+
|
|
19
23
|
- Fix an issue with previewing drafts of a published data model rendered by `BuilderContent`.
|
|
20
24
|
- Fix an issue with live editing on a `BuilderContent` containing a `BuilderComponent` of the same model.
|
|
21
25
|
|
|
22
26
|
### 2.0.2
|
|
27
|
+
|
|
23
28
|
- Move React/React-dom to peer dependencies to fix installation warnings.
|
|
24
29
|
- Add support for templated variables `{{foo}}` in `Text` block.
|
|
25
30
|
- Update vm2 dependency to `3.9.10`.
|
|
26
31
|
|
|
27
32
|
### 2.0.1
|
|
33
|
+
|
|
28
34
|
- Add new hook `useIsPreviewing` to be used instead of `Builder.isEditing` and `Builder.isPreviewing` flags, to fix hydration warnings while editing or previewing.
|
|
29
35
|
|
|
30
36
|
### 2.0.0
|
|
37
|
+
|
|
31
38
|
- update minimum required react version to >= 16.8
|
|
32
39
|
|
|
33
40
|
### 1.1.50
|
package/README.md
CHANGED
|
@@ -29,7 +29,6 @@ See our full [getting started docs](https://www.builder.io/c/docs/developers), o
|
|
|
29
29
|
</tr>
|
|
30
30
|
</table>
|
|
31
31
|
|
|
32
|
-
|
|
33
32
|
## React API
|
|
34
33
|
|
|
35
34
|
### Simple example
|
|
@@ -54,7 +53,7 @@ const content = await builder
|
|
|
54
53
|
}
|
|
55
54
|
})
|
|
56
55
|
.promise()
|
|
57
|
-
|
|
56
|
+
|
|
58
57
|
// Later, pass the fetched content to the BuilderComponent
|
|
59
58
|
<BuilderComponent model={MODEL_NAME} content={content} />
|
|
60
59
|
```
|
|
@@ -69,21 +68,25 @@ For example, with Next.js, to render Builder as your homepage:
|
|
|
69
68
|
export const getStaticProps = async () => {
|
|
70
69
|
return {
|
|
71
70
|
props: {
|
|
72
|
-
builderContent: await builder
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
}
|
|
71
|
+
builderContent: await builder
|
|
72
|
+
.get('page', {
|
|
73
|
+
userAttributes: {
|
|
74
|
+
urlPath: '/', // Fetch content targeted to the homepage ("/" url)
|
|
75
|
+
},
|
|
76
|
+
})
|
|
77
|
+
.promise(),
|
|
78
|
+
},
|
|
79
|
+
};
|
|
80
|
+
};
|
|
80
81
|
|
|
81
82
|
export default function MyHomePage({ builderContent }) {
|
|
82
|
-
return
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
83
|
+
return (
|
|
84
|
+
<>
|
|
85
|
+
<YourHeader />
|
|
86
|
+
<BuilderComponent model="page" content={builderContent} />
|
|
87
|
+
<YourFooter />
|
|
88
|
+
</>
|
|
89
|
+
);
|
|
87
90
|
}
|
|
88
91
|
```
|
|
89
92
|
|
|
@@ -91,21 +94,23 @@ You can also allow dynamic page building (the ability to create new pages on new
|
|
|
91
94
|
|
|
92
95
|
### Registering Components
|
|
93
96
|
|
|
94
|
-
One of Builder's most powerful features is registering your own components for use in the drag and drop editor.
|
|
97
|
+
One of Builder's most powerful features is registering your own components for use in the drag and drop editor.
|
|
95
98
|
You can choose to have these compliment the built-in components, or to be the only components allowed to be used
|
|
96
99
|
(e.g. via [components-only mode](https://www.builder.io/c/docs/guides/components-only-mode))
|
|
97
100
|
|
|
98
101
|
```tsx
|
|
99
102
|
import { Builder } from '@builder.io/sdk-react';
|
|
100
103
|
|
|
101
|
-
function MyHero(props) {
|
|
104
|
+
function MyHero(props) {
|
|
105
|
+
/* Your own hero component in your codebase */
|
|
106
|
+
}
|
|
102
107
|
|
|
103
108
|
Builder.registerComponent(MyHero, {
|
|
104
109
|
name: 'Hero',
|
|
105
110
|
inputs: [
|
|
106
|
-
{ name: 'title', type: 'string' } // Gets passed as the `title` prop to the Hero
|
|
107
|
-
]
|
|
108
|
-
})
|
|
111
|
+
{ name: 'title', type: 'string' }, // Gets passed as the `title` prop to the Hero
|
|
112
|
+
],
|
|
113
|
+
});
|
|
109
114
|
```
|
|
110
115
|
|
|
111
116
|
Learn more about [registering components in Builder](https://www.builder.io/c/docs/custom-react-components)
|
|
@@ -117,13 +122,12 @@ You can find the full [reference docs for the BuilderComponent props here](docs/
|
|
|
117
122
|
```tsx
|
|
118
123
|
const MODEL_NAME = 'page';
|
|
119
124
|
|
|
120
|
-
// Render
|
|
121
|
-
<BuilderComponent model={MODEL_NAME} content={builderJson}
|
|
125
|
+
// Render
|
|
126
|
+
<BuilderComponent model={MODEL_NAME} content={builderJson} />;
|
|
122
127
|
```
|
|
123
128
|
|
|
124
129
|
See our guides for [Gatsby](https://github.com/BuilderIO/builder/tree/main/examples/gatsby) and [Next.js](https://github.com/BuilderIO/builder/tree/main/examples/next-js) for guides on using with those frameworks
|
|
125
130
|
|
|
126
|
-
|
|
127
131
|
#### Passing data and functions down
|
|
128
132
|
|
|
129
133
|
You can also pass [data](https://www.builder.io/c/docs/guides/connecting-api-data) and [functions](https://www.builder.io/c/docs/react/custom-actions) down to the Builder component to use in the UIs (e.g. bind
|
|
@@ -136,9 +140,10 @@ All data passed down is available in Builder [actions and bindings](https://www.
|
|
|
136
140
|
model="page"
|
|
137
141
|
data={{
|
|
138
142
|
products: productsList,
|
|
139
|
-
foo: 'bar'
|
|
140
|
-
}}
|
|
141
|
-
content={builderJson}
|
|
143
|
+
foo: 'bar',
|
|
144
|
+
}}
|
|
145
|
+
content={builderJson}
|
|
146
|
+
/>
|
|
142
147
|
```
|
|
143
148
|
|
|
144
149
|
You can also pass down functions, complex data like custom objects and libraries you can use `context`. Similar to React context, context passes all the way down (e.g. through symbols, etc). This data is not observed for changes and mutations
|
|
@@ -149,8 +154,9 @@ You can also pass down functions, complex data like custom objects and libraries
|
|
|
149
154
|
context={{
|
|
150
155
|
addToCart: () => myService.addToCart(currentProduct),
|
|
151
156
|
lodash: lodash,
|
|
152
|
-
}}
|
|
153
|
-
content={builderJson}
|
|
157
|
+
}}
|
|
158
|
+
content={builderJson}
|
|
159
|
+
/>
|
|
154
160
|
```
|
|
155
161
|
|
|
156
162
|
Context is available in [actions and bindings](https://www.builder.io/c/docs/guides/custom-code) as `context.*`, such as `context.lodash` or `context.myFunction()` in the example above
|
|
@@ -211,8 +217,8 @@ Although you can already fetch data models from our Content API directly and use
|
|
|
211
217
|
return <Spinner />
|
|
212
218
|
}
|
|
213
219
|
return <>
|
|
214
|
-
/*pass values down to an example ThemeProvider, used as a wrapper in your application*/
|
|
215
|
-
<ThemeProvider theme={data.theme} >
|
|
220
|
+
/*pass values down to an example ThemeProvider, used as a wrapper in your application*/
|
|
221
|
+
<ThemeProvider theme={data.theme} >
|
|
216
222
|
{props.children}
|
|
217
223
|
</ThemeProvider>
|
|
218
224
|
</>
|
|
@@ -232,7 +238,7 @@ export const getStaticProps = async () => {
|
|
|
232
238
|
}
|
|
233
239
|
|
|
234
240
|
export default function MyPage({ builderDataContent }) {
|
|
235
|
-
return <BuilderContent content={builderDataContent}>{data =>
|
|
241
|
+
return <BuilderContent content={builderDataContent}>{data =>
|
|
236
242
|
<ThemeProvider theme={data.theme}>
|
|
237
243
|
{/* ... more content ... */}
|
|
238
244
|
</ThemeProvider>
|
|
@@ -240,20 +246,23 @@ export default function MyPage({ builderDataContent }) {
|
|
|
240
246
|
}
|
|
241
247
|
```
|
|
242
248
|
|
|
243
|
-
|
|
244
249
|
#### Usage with Page/Section Custom Fields
|
|
245
250
|
|
|
246
|
-
Page and section models in builder can be extended with [custom fields](https://www.builder.io/c/docs/custom-fields).
|
|
251
|
+
Page and section models in builder can be extended with [custom fields](https://www.builder.io/c/docs/custom-fields). To enable live editing / previewing on components that uses those custom fields, you can use BuilderContent to pass input data from the model to your components that are outside the rendered content
|
|
252
|
+
|
|
253
|
+
##### Example, passing Custom Field input:
|
|
247
254
|
|
|
248
|
-
##### Example, passing Custom Field input:
|
|
249
255
|
```tsx
|
|
250
|
-
<BuilderContent model="landing-page">
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
256
|
+
<BuilderContent model="landing-page">
|
|
257
|
+
{data => {
|
|
258
|
+
/*use your data here within your custom component*/
|
|
259
|
+
return (
|
|
260
|
+
<>
|
|
261
|
+
<FeaturedImage image={data.featuredImage} />
|
|
262
|
+
<BuilderComponent content={content} model="landing-page" />
|
|
263
|
+
</>
|
|
264
|
+
);
|
|
265
|
+
}}
|
|
257
266
|
</BuilderContent>
|
|
258
267
|
```
|
|
259
268
|
|
|
@@ -271,6 +280,7 @@ if (content) {
|
|
|
271
280
|
```
|
|
272
281
|
|
|
273
282
|
#### Advanced querying
|
|
283
|
+
|
|
274
284
|
When using custom [models](https://www.builder.io/c/docs/guides/getting-started-with-models) and [fields](https://www.builder.io/c/docs/custom-fields) you can do more advanced filtering of your content with [queries](<(https://www.builder.io/c/docs/custom-fields)>)
|
|
275
285
|
and [targeting](https://www.builder.io/c/docs/guides/targeting-and-scheduling)
|
|
276
286
|
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var sdk=require("@builder.io/sdk"),core=require("@emotion/core"),React=require("react"),ReactDOM=require("react-dom"),hash=require("hash-sum");function _interopDefaultLegacy(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function _interopNamespace(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var React__default=_interopDefaultLegacy(React),React__namespace=_interopNamespace(React),ReactDOM__default=_interopDefaultLegacy(ReactDOM),hash__default=_interopDefaultLegacy(hash),version="2.0.7-0",_a;"undefined"!=typeof window&&(null===(_a=window.parent)||void 0===_a||_a.postMessage({type:"builder.isReactSdk",data:{value:!0,supportsPatchUpdates:"v4",priorVersion:version}},"*"));var extendStatics=function(e,t){return(extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)};function __extends(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}extendStatics(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var __assign=function(){return(__assign=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)};function __decorate(e,t,n,r){var i,a=arguments.length,o=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,n,o):i(t,n))||o);return a>3&&o&&Object.defineProperty(t,n,o),o}function __metadata(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function __awaiter(e,t,n,r){return new(n||(n=Promise))((function(i,a){function o(e){try{l(r.next(e))}catch(e){a(e)}}function s(e){try{l(r.throw(e))}catch(e){a(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,s)}l((r=r.apply(e,t||[])).next())}))}function __generator(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=o.trys,(i=i.length>0&&i[i.length-1])||6!==a[0]&&2!==a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]<i[3])){o.label=a[1];break}if(6===a[0]&&o.label<i[1]){o.label=i[1],i=a;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(a);break}i[2]&&o.ops.pop(),o.trys.pop();continue}a=t.call(e,o)}catch(e){a=[6,e],r=0}finally{n=i=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,s])}}}function __spreadArray(e,t,n){if(n||2===arguments.length)for(var r,i=0,a=t.length;i<a;i++)!r&&i in t||(r||(r=Array.prototype.slice.call(t,0,i)),r[i]=t[i]);return e.concat(r||Array.prototype.slice.call(t))}var sizeNames=["xsmall","small","medium","large"],sizes={xsmall:{min:0,default:0,max:0},small:{min:320,default:321,max:640},medium:{min:641,default:642,max:991},large:{min:990,default:991,max:1200},getWidthForSize:function(e){return this[e].default},getSizeForWidth:function(e){for(var t=0,n=sizeNames;t<n.length;t++){var r=n[t];if(e<=this[r].max)return r}return"large"}},set=function(e,t,n){if(Object(e)!==e)return e;var r=Array.isArray(t)?t:t.toString().match(/[^.[\]]+/g);return r.slice(0,-1).reduce((function(e,t,n){return Object(e[t])===e[t]?e[t]:e[t]=Math.abs(Number(r[n+1]))>>0==+r[n+1]?[]:{}}),e)[r[r.length-1]]=n,e},noop=function(){return null},safeDynamicRequire;"function"==typeof globalThis.require&&(safeDynamicRequire=eval("require")),null!=safeDynamicRequire||(safeDynamicRequire=noop);var fnCache={},api=function(e){return sdk.builder};function stringToFunction(e,t,n,r){if(void 0===t&&(t=!0),!e||!e.trim())return function(){};var i=e+":"+t;if(fnCache[i])return fnCache[i];var a=t&&!(e.includes(";")||e.includes(" return ")||e.trim().startsWith("return "))||e.trim().startsWith("builder.run"),o=function(){};try{sdk.Builder.isBrowser&&(o=new Function("state","event","block","builder","Device","update","Builder","context","\n var names = [\n 'state',\n 'event',\n 'block',\n 'builder',\n 'Device',\n 'update',\n 'Builder',\n 'context'\n ];\n var rootState = state;\n if (typeof Proxy !== 'undefined') {\n rootState = new Proxy(rootState, {\n set: function () {\n return false;\n },\n get: function (target, key) {\n if (names.includes(key)) {\n return undefined;\n }\n return target[key];\n }\n });\n }\n /* Alias */\n var ctx = context;\n with (rootState) {\n ".concat(a?"return (".concat(e,");"):e,";\n }\n ")))}catch(t){n&&n.push(t);var s=t&&t.message;s&&"string"==typeof s&&r&&-1===r.indexOf(s)&&r.push(s),sdk.Builder.isBrowser&&console.warn("Function compile error in ".concat(e),t)}var l=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];try{if(sdk.Builder.isBrowser)return o.apply(void 0,t);var i=safeDynamicRequire("vm2").VM,a=t[0],s=t[1];return new i({timeout:100,sandbox:__assign(__assign(__assign(__assign({},a),{state:a}),{builder:api}),{event:s})}).run(e.replace(/(^|;)return /,"$1"))}catch(t){sdk.Builder.isBrowser?console.warn("Builder custom code error:",t.message||t,"in",e,t.stack||t):process.env.DEBUG&&console.debug("Builder custom code error:",t.message||t,"in",e,t.stack||t),n&&n.push(t)}};return sdk.Builder.isBrowser&&(fnCache[i]=l),l}var isPromise=function(e){return"function"==typeof e.then},isRequestInfo=function(e){return!isPromise(e)},BuilderAsyncRequestsContext=React__default.default.createContext({requests:[],errors:[],logs:[]}),BuilderStoreContext=React__default.default.createContext({state:{},rootState:{},content:{},context:{},update:function(e){return null}}),applyPatchWithMinimalMutationChain=function(e,t,n){if(void 0===n&&(n=!1),Object(e)!==e)return e;var r=t.path,i=t.op,a=t.value,o=r.split(/\//);""===o[0]&&o.shift();for(var s=n?e:__assign({},e),l=s,u=0;u<o.length;u++){var c=u===o.length-1,d=o[u];if(c){if("replace"===i)l[d]=a;else if("add"===i){var p=Number(d);Array.isArray(l)?"-"===d?l.push(a):l.splice(p,0,a):l[d]=a}else if("remove"===i){p=Number(d);Array.isArray(l)?l.splice(p,1):delete l[d]}}else{var f=o[u+1],h=Object(l[d])===l[d]?l[d]:String(Number(f))===f?[]:{};l=l[d]=Array.isArray(h)?__spreadArray([],h,!0):__assign({},h)}}return s},htmlEscape=function(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")},blockToHtmlString=function(e){var t;return"<".concat(htmlEscape(e.tagName||"div"),' \n class="builder-block ').concat(e.id," ").concat(e.class||"",'"\n builder-id="').concat(e.id,'"\n ').concat(Object.keys(e.properties||{}).map((function(t){return"".concat(htmlEscape(t),'="').concat(htmlEscape(e.properties[t]),'"')})).join(" "),"\n >").concat("Text"===(null===(t=null==e?void 0:e.component)||void 0===t?void 0:t.name)?e.component.options.text:e.children?e.children.map((function(e){return blockToHtmlString(e)})).join(""):"","</").concat(e.tagName||"div",">").replace(/\s+/g," ")},Link=function(e){return React__default.default.createElement(BuilderStoreContext.Consumer,null,(function(t){return t.renderLink?t.renderLink(e):React__default.default.createElement("a",__assign({},e))}))},camelCaseToKebabCase=function(e){return e?e.replace(/([A-Z])/g,(function(e){return"-".concat(e[0].toLowerCase())})):""},kebabCaseToCamelCase=function(e){return void 0===e&&(e=""),e.replace(/-([a-z])/g,(function(e){return e[1].toUpperCase()}))},Device={desktop:0,tablet:1,mobile:2},voidElements=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr","textarea"]),last=function(e){return e[e.length-1]};function omit$1(e,t){for(var n=Object.assign({},e),r=0,i=t;r<i.length;r++){delete n[i[r]]}return n}var cssCase=function(e){if(!e)return e;var t=camelCaseToKebabCase(e);return e[0]===e[0].toUpperCase()&&(t="-"+t),t},fastClone=function(e){return JSON.parse(JSON.stringify(e))};function capitalize(e){if(e)return e[0].toUpperCase()+e.slice(1)}var BuilderBlock=function(_super){function BuilderBlock(){var _this=null!==_super&&_super.apply(this,arguments)||this;return _this.state={hasError:!1,updates:0},_this.privateState={state:{},rootState:{},context:{},update:function(){}},_this.onWindowMessage=function(event){var message=event.data;if(message)switch(message.type){case"builder.selectionChange":var data=message.data;if(!data)break;var selection=data.selection,id=_this.block&&_this.block.id;id&&Array.isArray(selection)&&selection.indexOf(id)>-1&&setTimeout((function(){window.$block=_this,window.$blocks||(window.$blocks=[]),window.$blocks.push(_this)}));break;case"builder.patchUpdates":var data=message.data;if(!data||!data.data)break;var patches=data.data[_this.block.id];if(!patches)return;location.href.includes("builder.debug=true")&&eval("debugger");for(var _i=0,patches_1=patches;_i<patches_1.length;_i++){var patch=patches_1[_i];applyPatchWithMinimalMutationChain(_this.props.block,patch,!0)}_this.setState({updates:_this.state.updates+1})}},_this}return __extends(BuilderBlock,_super),Object.defineProperty(BuilderBlock.prototype,"store",{get:function(){return this.privateState},enumerable:!1,configurable:!0}),BuilderBlock.getDerivedStateFromError=function(e){return{hasError:!0}},BuilderBlock.prototype.componentDidCatch=function(e,t){console.error("Builder block error:",e,t)},BuilderBlock.prototype.stringToFunction=function(e,t){return void 0===t&&(t=!0),stringToFunction(e,t,this._errors,this._logs)},Object.defineProperty(BuilderBlock.prototype,"block",{get:function(){return this.props.block},enumerable:!1,configurable:!0}),Object.defineProperty(BuilderBlock.prototype,"emotionCss",{get:function(){var e,t,n,r=this.block;if(sdk.Builder.isServer){var i=r.animations&&r.animations[0];if(i&&"hover"!==i.trigger){var a=i&&i.steps&&i.steps[0],o=a&&a.styles;o&&(n=o)}}var s=sizeNames.slice().reverse(),l=this.block,u={};if(l.responsiveStyles)for(var c=0,d=s;c<d.length;c++){var p=d[c];"large"===p?this.props.emailMode||(u["&.builder-block"]=Object.assign({},l.responsiveStyles[p],n)):u["@media only screen and (max-width: ".concat(sizes[p].max,"px)")]={"&.builder-block":l.responsiveStyles[p]}}var f=r.animations&&r.animations.find((function(e){return"hover"===e.trigger}));return f&&(u[":hover"]=(null===(t=null===(e=f.steps)||void 0===e?void 0:e[1])||void 0===t?void 0:t.styles)||{},u.transition="all ".concat(f.duration,"s ").concat(camelCaseToKebabCase(f.easing)),f.delay&&(u.transitionDelay=f.delay+"s")),u},enumerable:!1,configurable:!0}),BuilderBlock.prototype.eval=function(e){return this.stringToFunction(e)(this.privateState.state,void 0,this.block,sdk.builder,Device,this.privateState.update,sdk.Builder,this.privateState.context)},BuilderBlock.prototype.componentWillUnmount=function(){sdk.Builder.isEditing&&removeEventListener("message",this.onWindowMessage)},BuilderBlock.prototype.componentDidMount=function(){var e,t=this,n=this.block,r=n&&n.animations;if(sdk.Builder.isEditing&&addEventListener("message",this.onWindowMessage),r){var i={animations:fastClone(r)};if(n.bindings)for(var a in n.bindings)if((null===(e=a.trim)||void 0===e?void 0:e.call(a))&&a.startsWith("animations.")){var o=this.stringToFunction(n.bindings[a]);void 0!==o&&set(i,a,o(this.privateState.state,null,n,sdk.builder,null,null,sdk.Builder,this.privateState.context))}sdk.Builder.animator.bindAnimations(i.animations.filter((function(e){return"hover"!==e.trigger})).map((function(e){return __assign(__assign({},e),{elementId:t.block.id})})))}},BuilderBlock.prototype.getElement=function(e,t){var n,r,i,a,o,s=this;void 0===e&&(e=0),void 0===t&&(t=this.privateState.state);var l=this.props;l.child,l.fieldName;var u,c=this.block,d=(c.tagName||"div").toLowerCase();if("template"===d){var p=c.children?c.children.map((function(e){return blockToHtmlString(e)})).join(" "):"";return console.debug("template html",p),core.jsx("template",__assign({},c.properties,{dangerouslySetInnerHTML:{__html:p}}))}var f=c.component&&(c.component.name||c.component.component),h=null;c.component&&!c.component.class&&(c.component&&c.component.tag?u=c.component.tag:(h=sdk.Builder.components.find((function(e){return e.name===f}))||null)&&h.class?u=h.class:h&&h.tag?u=h.tag:(null==f?void 0:f.startsWith("Builder:"))?console.warn("Missing @builder.io/widgets installation, please install and import @builder.io/widgets to use ".concat(f.split(":")[1]," in your content, more info here: https://github.com/BuilderIO/builder/tree/main/packages/widgets")):f&&console.warn("Missing registration for ".concat(f,", have you included the registration in your bundle?")));var v=__assign(__assign({},c.properties),{style:{}});if(v=__assign(__assign({},v.properties),v),c.component&&(v.component=fastClone(c.component)),c.bindings)for(var m in c.bindings)if(null===(r=m.trim)||void 0===r?void 0:r.call(m)){var g=this.stringToFunction(c.bindings[m]);set(v,m,g(t,null,c,api(),Device,null,sdk.Builder,this.privateState.context))}if(v.hide)return null;if(delete v.hide,("show"in v||c.bindings&&c.bindings.show)&&!v.show)return null;if(delete v.show,c.actions){var b=function(e){if(!(null===(i=e.trim)||void 0===i?void 0:i.call(e)))return"continue";var n=c.actions[e];v["on"+capitalize(e)]=function(e){var r=t;return"undefined"!=typeof Proxy&&(r=new Proxy(t,{set:function(e,t,n){return e[t]=n,s.privateState.rootState[t]=n,!0}})),s.stringToFunction(n,!1)(r,e,s.block,sdk.builder,Device,s.privateState.update,sdk.Builder,s.privateState.context)}};for(var m in c.actions)b(m)}var _=(v.component||v.options)&&__assign(__assign({},v.options),v.component.options||v.component.data),y=voidElements.has(d),k=h&&(h.fragment||h.noWrap),B=(null===(a=v.attr)||void 0===a?void 0:a.style)||("string"==typeof v.style?v.style:"")||"";if("string"==typeof B){"object"!=typeof v.style&&(v.style={});for(var C=0,S=B.split(";");C<S.length;C++){var w=S[C].split(":");if(!w.length)return;m=w[0],g=w[1];w.length>2&&(g=w.slice(1).join(":")),v.style[kebabCaseToCamelCase(m)]=g}}var x=__assign(__assign(__assign({},omit$1(v,["class","component","attr"])),((n={})["string"!=typeof d||d.includes("-")?"class":"className"]="builder-block ".concat(this.id).concat(c.class?" ".concat(c.class):"").concat(!c.component||["Image","Video","Banner"].indexOf(f)>-1?"":" builder-has-component")+(v.class?" "+v.class:"")+(sdk.Builder.isEditing&&(null===(o=this.privateState.state._spacer)||void 0===o?void 0:o.parent)===c.id?" builder-spacer-parent":""),n.key=this.id+e,n["builder-id"]=this.id,n)),0!==e&&{"builder-index":e});sdk.Builder.isEditing&&(x["builder-inline-styles"]=v.attr&&v.attr.style?Object.keys(v.style).reduce((function(e,t){return(e?"".concat(e,";"):"")+"".concat(cssCase(t),":").concat(v.style[t],";")}),""):""),(x.properties&&x.properties.href||x.href)&&"div"===d&&(d="a"),"a"===d&&(d=Link);var E=c.children||x.children||[];return core.jsx(React__default.default.Fragment,null,core.jsx(core.ClassNames,null,(function(e){var t=e.css;if(e.cx,!s.props.emailMode){var n=" "+t(s.emotionCss);x.class&&(x.class+=n),x.className&&(x.className+=n)}return core.jsx(BuilderAsyncRequestsContext.Consumer,null,(function(e){return s._asyncRequests=e&&e.requests,s._errors=e&&e.errors,s._logs=e&&e.logs,y?core.jsx(d,__assign({},x)):u&&(k||s.props.emailMode)?core.jsx(u,__assign({},_,{attributes:x,builderBlock:c,builderState:s.privateState})):core.jsx(d,__assign({},x),u&&core.jsx(u,__assign({builderState:s.privateState,builderBlock:c},_)),c.text||v.text?v.text:!u&&E&&Array.isArray(E)&&E.length?E.map((function(e,t){return core.jsx(BuilderBlock,{key:(s.id||"")+t,block:e,index:t,size:s.props.size,fieldName:s.props.fieldName,child:s.props.child,emailMode:s.props.emailMode})})):null)}))})))},Object.defineProperty(BuilderBlock.prototype,"id",{get:function(){var e=this.block;return e.id.startsWith("builder")?e.id:"builder-"+e.id},enumerable:!1,configurable:!0}),BuilderBlock.prototype.contents=function(e){var t=this,n=this.block;if(this.privateState=e,n.repeat&&n.repeat.collection){var r=n.repeat.collection,i=last((r||"").trim().split("(")[0].trim().split(".")),a=n.repeat.itemName||(i?i+"Item":"item"),o=this.stringToFunction(r)(e.state,null,n,api(),Device,null,sdk.Builder,this.privateState.context);return Array.isArray(o)?o.map((function(n,r){var i,o=__assign(__assign({},e.state),((i={$index:r,$item:n})[a]=n,i["$".concat(a,"Index")]=r,i));return core.jsx(BuilderStoreContext.Provider,{key:r,value:__assign(__assign({},e),{state:o})},t.getElement(r,o))})):null}return this.getElement()},BuilderBlock.prototype.render=function(){var e=this;return this.state.hasError?core.jsx("span",{css:{display:"inline-block",padding:5,color:"#999",fontSize:11,fontStyle:"italic"}},"Builder block error :( Check console for details"):core.jsx(BuilderStoreContext.Consumer,null,(function(t){return e.contents(t)}))},BuilderBlock}(React__default.default.Component),BuilderBlocks=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.onClickEmptyBlocks=function(){var e;sdk.Builder.isIframe&&t.noBlocks&&(null===(e=window.parent)||void 0===e||e.postMessage({type:"builder.clickEmptyBlocks",data:{parentElementId:t.parentId,dataPath:t.path}},"*"))},t.onHoverEmptyBlocks=function(){var e;sdk.Builder.isEditing&&t.noBlocks&&(null===(e=window.parent)||void 0===e||e.postMessage({type:"builder.hoverEmptyBlocks",data:{parentElementId:t.parentId,dataPath:t.path}},"*"))},t}return __extends(t,e),Object.defineProperty(t.prototype,"isRoot",{get:function(){return!this.props.child},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"noBlocks",{get:function(){var e=this.props.blocks;return!(e&&e.length)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"path",{get:function(){var e=this.props.dataPath||"";return e.trim()&&(e.startsWith("this.")?e=e.replace("this.",""):e.startsWith("component.options.")||(e="component.options."+e)),e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"parentId",{get:function(){return this.props.parentElementId?this.props.parentElementId:this.props.parent&&this.props.parent.id},enumerable:!1,configurable:!0}),t.prototype.render=function(){var e=this,t=this.props.blocks,n=this.props.emailMode?"span":"div";return core.jsx(n,__assign({className:"builder-blocks"+(this.noBlocks?" no-blocks":"")+(this.props.child?" builder-blocks-child":"")+(this.props.className?" "+this.props.className:""),"builder-type":"blocks","builder-path":sdk.Builder.isIframe?this.path:void 0,"builder-parent-id":this.parentId,css:__assign(__assign({},!this.props.emailMode&&{display:"flex",flexDirection:"column",alignItems:"stretch"}),this.props.style),onClick:function(){e.noBlocks&&e.onClickEmptyBlocks()}},sdk.Builder.isEditing&&{onMouseEnter:function(){return e.onHoverEmptyBlocks()}}),t&&Array.isArray(t)&&t.map((function(t,n){return t&&"@builder.io/sdk:Element"===t["@type"]?core.jsx(BuilderBlock,{key:t.id,block:t,index:n,fieldName:e.props.fieldName,child:e.props.child,emailMode:e.props.emailMode}):t}))||t)},t.renderInto=function(e,n,r){if(void 0===n&&(n={}),e){var i=null;return"string"==typeof e?i=document.querySelector(e):e instanceof Element&&(i=e),ReactDOM__default.default.render(core.jsx(BuilderStoreContext.Provider,{value:r},core.jsx(t,__assign({},n))),i)}},t}(React__default.default.Component),NoWrap=function(e){return e.children};function getData(e){if(void 0!==(null==e?void 0:e.data)){var t=e.data,n=t.blocks,r=t.blocksString,i=Array.isArray(n)||"string"==typeof r,a=__assign(__assign({},e.data),i&&{blocks:n||JSON.parse(r)});return delete a.blocksString,a}}var variantsScript=function(e,t){return"\n(function() {\n if (window.builderNoTrack || !navigator.cookieEnabled) {\n return;\n }\n\n var variants = ".concat(e,';\n function removeVariants() {\n variants.forEach(function (template) {\n document.querySelector(\'template[data-template-variant-id="\' + template.id + \'"]\').remove();\n });\n }\n\n if (typeof document.createElement("template").content === \'undefined\') {\n removeVariants();\n return ;\n }\n\n function setCookie(name,value,days) {\n var expires = "";\n if (days) {\n var date = new Date();\n date.setTime(date.getTime() + (days*24*60*60*1000));\n expires = "; expires=" + date.toUTCString();\n }\n document.cookie = name + "=" + (value || "") + expires + "; path=/" + "; Secure; SameSite=None";\n }\n\n function getCookie(name) {\n var nameEQ = name + "=";\n var ca = document.cookie.split(\';\');\n for(var i=0;i < ca.length;i++) {\n var c = ca[i];\n while (c.charAt(0)==\' \') c = c.substring(1,c.length);\n if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);\n }\n return null;\n }\n var cookieName = \'builder.tests.').concat(t,"';\n var variantInCookie = getCookie(cookieName);\n var availableIDs = variants.map(function(vr) { return vr.id }).concat('").concat(t,"');\n var variantId;\n if (availableIDs.indexOf(variantInCookie) > -1) {\n variantId = variantInCookie;\n }\n if (!variantId) {\n var n = 0;\n var random = Math.random();\n for (var i = 0; i < variants.length; i++) {\n var variant = variants[i];\n var testRatio = variant.testRatio;\n n += testRatio;\n if (random < n) {\n setCookie(cookieName, variant.id);\n variantId = variant.id;\n break;\n }\n }\n if (!variantId) {\n variantId = \"").concat(t,'";\n setCookie(cookieName, "').concat(t,'");\n }\n }\n if (variantId && variantId !== "').concat(t,"\") {\n var winningTemplate = document.querySelector('template[data-template-variant-id=\"' + variantId + '\"]');\n if (winningTemplate) {\n var parentNode = winningTemplate.parentNode;\n var newParent = parentNode.cloneNode(false);\n newParent.appendChild(winningTemplate.content.firstChild);\n parentNode.parentNode.replaceChild(newParent, parentNode);\n }\n } else if (variants.length > 0) {\n removeVariants();\n }\n})()").replace(/\s+/g," ")},VariantsProvider=function(e){var t=e.initialContent,n=e.children;if(sdk.Builder.isBrowser&&!sdk.builder.canTrack)return n([t]);if(!Boolean(Object.keys((null==t?void 0:t.variations)||{}).length))return n([t]);var r=Object.keys(t.variations).map((function(e){return __assign(__assign({id:e},t.variations[e]),{data:getData(t.variations[e])})})),i=__spreadArray(__spreadArray([],r,!0),[t],!1);if(sdk.Builder.isServer){var a=JSON.stringify(Object.keys(t.variations||{}).map((function(e){return{id:e,testRatio:t.variations[e].testRatio}})));return React__namespace.createElement(React__namespace.Fragment,null,n(i,(function(){return React__namespace.createElement("script",{dangerouslySetInnerHTML:{__html:variantsScript(a,t.id)}})})))}var o="builder.tests.".concat(t.id),s=sdk.builder.getCookie(o);if(!s&&sdk.Builder.isBrowser)for(var l=0,u=Math.random(),c=0;c<r.length;c++){var d=r[c];if(u<(l+=d.testRatio)){sdk.builder.setCookie(o,d.id),s=d.id;break}}return s||(s=t.id,sdk.builder.setCookie(o,s)),n([i.find((function(e){return e.id===s}))])},BuilderContent=function(_super){function BuilderContent(){var _this=null!==_super&&_super.apply(this,arguments)||this;return _this.ref=null,_this.state={loading:!_this.props.content,data:getContentWithInfo(_this.props.content),updates:1},_this.onWindowMessage=function(event){var _a,_b,message=event.data;if(message)switch(message.type){case"builder.patchUpdates":if(null===(_a=_this.props.options)||void 0===_a?void 0:_a.noEditorUpdates)return;var data=message.data;if(!data||!data.data)break;var patches=data.data[null===(_b=_this.state.data)||void 0===_b?void 0:_b.id];if(!patches||!patches.length)return;location.href.includes("builder.debug=true")&&eval("debugger");for(var newData=_this.state.data,_i=0,patches_1=patches;_i<patches_1.length;_i++){var patch=patches_1[_i];newData=applyPatchWithMinimalMutationChain(newData,patch,!1)}_this.setState({updates:_this.state.updates+1,data:newData}),_this.props.contentLoaded&&_this.props.contentLoaded(newData.data,newData)}},_this.subscriptions=new sdk.Subscription,_this.firstLoad=!0,_this.clicked=!1,_this.trackedImpression=!1,_this.intersectionObserver=null,_this.onClick=function(e){var t=e.nativeEvent,n=_this.data;n&&(sdk.builder.autoTrack&&_this.builder.trackInteraction(n.id,_this.renderedVariantId,_this.clicked,t,{content:n}),_this.clicked||(_this.clicked=!0))},_this}return __extends(BuilderContent,_super),Object.defineProperty(BuilderContent.prototype,"builder",{get:function(){return this.props.builder||sdk.builder},enumerable:!1,configurable:!0}),Object.defineProperty(BuilderContent.prototype,"name",{get:function(){var e=this.props;return"model"in e?e.model:e.modelName},enumerable:!1,configurable:!0}),Object.defineProperty(BuilderContent.prototype,"renderedVariantId",{get:function(){var e,t,n=this.props.isStatic?this.builder.getCookie("builder.tests.".concat(null===(e=this.data)||void 0===e?void 0:e.id)):null===(t=this.data)||void 0===t?void 0:t.variationId;if(null!==n)return n},enumerable:!1,configurable:!0}),Object.defineProperty(BuilderContent.prototype,"options",{get:function(){var e,t,n=__assign({},this.props.options||{});return n.key||!(null===(e=this.props.content)||void 0===e?void 0:e.id)||sdk.Builder.isEditing||sdk.Builder.isPreviewing||(n.key=this.props.content.id),!this.props.content||(null===(t=n.initialContent)||void 0===t?void 0:t.length)||!this.props.inline&&sdk.Builder.isPreviewing||(n.initialContent=[this.props.content]),n},enumerable:!1,configurable:!0}),Object.defineProperty(BuilderContent.prototype,"data",{get:function(){var e=(this.props.inline||!sdk.Builder.isBrowser||this.firstLoad)&&this.options.initialContent&&this.options.initialContent[0]||this.state.data;return getContentWithInfo(e)},enumerable:!1,configurable:!0}),BuilderContent.prototype.componentDidMount=function(){var e,t;if(!this.props.inline||sdk.Builder.isEditing||sdk.Builder.isPreviewing)this.subscribeToContent();else if(this.props.inline&&(null===(t=null===(e=this.options)||void 0===e?void 0:e.initialContent)||void 0===t?void 0:t.length)){var n=this.options.initialContent[0];(null==n?void 0:n.id)&&this.builder.trackImpression(n.id,this.renderedVariantId,void 0,{content:n})}sdk.Builder.isEditing&&addEventListener("message",this.onWindowMessage)},BuilderContent.prototype.subscribeToContent=function(){var e=this;"_inline"!==this.name&&this.subscriptions.add(sdk.builder.queueGetContent(this.name,this.options).subscribe((function(t){var n=t&&t[0];e.setState({data:n,loading:!1});var r=(sdk.builder.editingModel||sdk.builder.previewingModel)===e.name;if(!e.props.inline&&e.props.content&&e.firstLoad&&r&&(e.firstLoad=!1,e.subscriptions.unsubscribe(),e.subscribeToContent()),n&&e.firstLoad&&(e.firstLoad=!1,sdk.builder.autoTrack&&!sdk.Builder.isEditing)){var i=!1;if("function"==typeof IntersectionObserver&&e.ref)try{(e.intersectionObserver=new IntersectionObserver((function(t,r){t.forEach((function(t){t.intersectionRatio>0&&!e.trackedImpression&&(e.builder.trackImpression(n.id,e.renderedVariantId,void 0,{content:e.data}),e.data,e.trackedImpression=!0,e.ref&&r.unobserve(e.ref))}))}))).observe(e.ref),i=!0}catch(e){console.warn("Could not bind intersection observer")}i||(e.trackedImpression=!0,e.builder.trackImpression(n.id,e.renderedVariantId,void 0,{content:n}))}e.props.contentLoaded&&e.props.contentLoaded(n&&n.data,n)}),(function(t){e.props.contentError&&(e.props.contentError(t),e.setState({loading:!1}))})))},BuilderContent.prototype.componentWillUnmount=function(){sdk.Builder.isEditing&&removeEventListener("message",this.onWindowMessage),this.subscriptions.unsubscribe(),this.intersectionObserver&&this.ref&&this.intersectionObserver.unobserve(this.ref)},BuilderContent.prototype.render=function(){var e=this;if(this.props.dataOnly)return null;var t=this.state.loading,n=this.data,r=this.props.dataOnly?NoWrap:"div";return React__default.default.createElement(VariantsProvider,{initialContent:n},(function(i,a){return React__default.default.createElement(React__default.default.Fragment,null,i.map((function(o,s){var l=s===i.length-1?React__default.default.Fragment:"template";return React__default.default.createElement(React__default.default.Fragment,{key:String((null==o?void 0:o.id)+s)},"template"!==l&&(null==a?void 0:a()),React__default.default.createElement(l,__assign({key:String((null==o?void 0:o.id)+s)},"template"===l&&{"data-template-variant-id":null==o?void 0:o.id}),React__default.default.createElement(r,__assign({},0===s&&!e.props.dataOnly&&{ref:function(t){return e.ref=t}},{className:"builder-content",onClick:e.onClick,"builder-content-id":null==o?void 0:o.id,"builder-model":e.name}),e.props.children(null==o?void 0:o.data,!e.props.inline&&t,n))))})))}))},BuilderContent}(React__default.default.Component),getContentWithInfo=function(e){var t;if(e){var n=sdk.builder.getCookie("builder.tests.".concat(e.id)),r=n===e.id?e:null===(t=e.variations)||void 0===t?void 0:t[n],i=(null==r?void 0:r.name)||((null==r?void 0:r.id)===e.id?"Default variation":"");return __assign(__assign({},e),{variationId:n,testVariationId:n,testVariationName:i})}return null};function unwrapExports(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function createCommonjsModule(e,t){return e(t={exports:{}},t.exports),t.exports}var onChange_1=createCommonjsModule((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var n=Symbol("target"),r=Symbol("unsubscribe"),i=function(e,t){return t&&t.toString&&(e&&(e+="."),e+=t.toString()),e},a=function(e){return Array.isArray(e)?e.slice():Object.assign({},e)},o=function(e,t,o){if("undefined"==typeof Proxy)return e;void 0===o&&(o={});var s,l,u=Symbol("ProxyTarget"),c=!1,d=!1,p=!1,f=o.equals||Object.is,h=new WeakMap,v=new WeakMap,m=new WeakMap,g=function(e,n,r,o){if(!p)if(c){if(c&&l&&void 0!==r&&void 0!==o&&"length"!==n){var u=l;e!==s&&function(e,t){for(var n;e;)-1===(n=e.indexOf("."))&&(n=e.length),t(e.slice(0,n)),e=e.slice(n+1)}(e=e.replace(s,"").slice(1),(function(e){u[e]=a(u[e]),u=u[e]})),u[n]=r}d=!0}else t(i(e,n),o,r)},b=function(e,t){var n=h?h.get(e):void 0;n&&n.delete(t)},_=function(e,t){if(p)return e;v.set(e,t);var n=m.get(e);return void 0===n&&(n=new Proxy(e,k),m.set(e,n)),n},y=function(e){return p||!0===o.ignoreSymbols&&"symbol"==typeof e},k={get:function(e,t,a){if(t===u||t===n)return e;if(t===r&&""===v.get(e))return function(e){return p=!0,h=null,v=null,m=null,e}(e);var s=Reflect.get(e,t,a);if(function(e){return null===e||"object"!=typeof e&&"function"!=typeof e}(s)||function(e){return e instanceof RegExp||e instanceof Number}(s)||"constructor"===t||!0===o.isShallow)return s;var l=function(e,t){var n=h?h.get(e):void 0;if(n)return n;n=new Map,h.set(e,n);var r=n.get(t);return r||(r=Reflect.getOwnPropertyDescriptor(e,t),n.set(t,r)),r}(e,t);if(l&&!l.configurable){if(l.set&&!l.get)return;if(!1===l.writable)return s}return _(s,i(v.get(e),t))},set:function(e,t,n,r){n&&void 0!==n[u]&&(n=n[u]);var i=y(t),a=i?null:Reflect.get(e,t,r),o=Reflect.set(e[u]||e,t,n);return i||f(a,n)||g(v.get(e),t,a,n),o},defineProperty:function(e,t,n){var r=Reflect.defineProperty(e,t,n);return y(t)||(b(e,t),g(v.get(e),t,void 0,n.value)),r},deleteProperty:function(e,t){if(!Reflect.has(e,t))return!0;var n=y(t),r=n?null:Reflect.get(e,t),i=Reflect.deleteProperty(e,t);return n||(b(e,t),g(v.get(e),t,r)),i},apply:function(e,t,n){var r=t instanceof Date;if(r&&(t=t[u]),!c){c=!0,r&&(l=t.valueOf()),(Array.isArray(t)||"[object Object]"===toString.call(t))&&(l=a(t[u])),s=(s=v.get(e)).slice(0,Math.max(s.lastIndexOf("."),0));var i=Reflect.apply(e,t,n);return c=!1,(d||r&&!f(l,t.valueOf()))&&(g(s,"",l,t[u]||t),l=null,d=!1),i}return Reflect.apply(e,t,n)}},B=_(e,"");return t=t.bind(B),B};o.target=function(e){return e[n]||e},o.unsubscribe=function(e){return e[r]||e},e.exports=o,t.default=o})),onChange=unwrapExports(onChange_1),nextTick=sdk.Builder.nextTick;function debounceNextTick(e,t,n){return void 0===t&&"function"==typeof e?debounceNextTickImpl(e):{configurable:!0,enumerable:n.enumerable,get:function(){return Object.defineProperty(this,t,{configurable:!0,enumerable:n.enumerable,value:debounceNextTickImpl(n.value)}),this[t]}}}function debounceNextTickImpl(e){var t=null,n=null;return function(){var e=t;if(t=[].slice.call(arguments),n=this,null!==e)return;nextTick(r)};function r(){e.apply(n,t),t=null,n=null}}function throttle(e,t,n){var r,i,a;void 0===n&&(n={});var o=null,s=0,l=function(){s=!1===n.leading?0:Date.now(),o=null,a=e.apply(r,i),o||(r=i=null)};return function(){var u=Date.now();s||!1!==n.leading||(s=u);var c=t-(u-s);return r=this,i=arguments,c<=0||c>t?(o&&(clearTimeout(o),o=null),s=u,a=e.apply(r,i),o||(r=i=null)):o||!1===n.trailing||(o=setTimeout(l,c)),a}}var BuilderMetaContext=React__default.default.createContext({emailMode:!1,ampMode:!1,isServer:!1}),tryEval=function(e,t,n){void 0===t&&(t={});var r=e;if("string"==typeof r&&r.trim()){var i=!(r.includes(";")||r.includes(" return ")),a=function(){};try{sdk.Builder.isBrowser&&(a=new Function("state","var rootState = state;\n if (typeof Proxy !== 'undefined') {\n rootState = new Proxy(rootState, {\n set: function () {\n return false;\n },\n get: function (target, key) {\n if (key === 'state') {\n return state;\n }\n return target[key]\n }\n });\n }\n with (rootState) {\n ".concat(i?"return (".concat(e,");"):e,";\n }")))}catch(e){sdk.Builder.isBrowser&&console.warn("Could not compile javascript",e)}try{return sdk.Builder.isBrowser?a(t||{}):new(0,safeDynamicRequire("vm2").VM)({sandbox:__assign(__assign({},t),{state:t})}).run(r.replace(/(^|;)return /,"$1"))}catch(t){n&&n.push(t),sdk.Builder.isBrowser?console.warn("Builder custom code error:",t.message,"in",e,t.stack):process.env.DEBUG&&console.debug("Builder custom code error:",t.message,"in",e,t.stack)}}};function toError(e){return e instanceof Error?e:new Error(String(e))}function pick(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];var r={};return t.forEach((function(t){r[t]=e[t]})),r}function omit(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];var r=__assign({},e);return t.forEach((function(e){delete r[e]})),r}var wrapComponent=function(e){return function(t){var n,r=t.builderTag||"div",i=["children"].concat((null===(n=e.inputs)||void 0===n?void 0:n.map((function(e){return e.name})))||[]),a=omit.apply(void 0,__spreadArray(__spreadArray([t],i,!1),["attributes"],!1)),o=t;return e.noWrap?React__default.default.createElement(e.class,__assign({attributes:a},o)):React__default.default.createElement(r,__assign({},a),React__default.default.createElement(e.class,__assign({},o)))}},size=function(e){return Object.keys(e).length};function debounce(e,t,n){var r;return void 0===n&&(n=!1),function(){var i=this,a=arguments;clearTimeout(r),r=setTimeout((function(){r=null,n||e.apply(i,a)}),t),n&&!r&&e.apply(i,a)}}var fontsLoaded=new Set,fetch;globalThis.fetch&&(fetch=globalThis.fetch),null!=fetch||(fetch=require("node-fetch"));var sizeMap={desktop:"large",tablet:"medium",mobile:"small"},fetchCache={};function searchToObject(e){var t=(e.search||"").substring(1).split("&"),n={};for(var r in t)if(t[r]&&"string"==typeof t[r]){var i=t[r].split("=");n[decodeURIComponent(i[0])]=decodeURIComponent(i[1])}return n}var BuilderComponent=function(e){function t(t){var n=e.call(this,t)||this;if(n.subscriptions=new sdk.Subscription,n.onStateChange=new sdk.BehaviorSubject(null),n.asServer=sdk.Builder.isServer,n.contentRef=null,n.styleRef=null,n.rootState=sdk.Builder.isServer?{}:onChange({},(function(){return n.updateState()})),n.lastJsCode="",n.lastHttpRequests={},n.httpSubscriptionPerKey={},n.firstLoad=!0,n.ref=null,n.messageListener=function(e){var t=e.data;switch(t.type){case"builder.updateSpacer":var r=t.data;n.rootState._spacer,n.updateState((function(e){e._spacer=r}));break;case"builder.resetState":var i=t.data,a=i.state;if(i.model===n.name){for(var o in n.rootState)"function"!=typeof n.rootState[o]&&delete n.rootState[o];Object.assign(n.rootState,a),n.setState(__assign(__assign({},n.state),{state:n.rootState,updates:(n.state&&n.state.updates||0)+1}))}break;case"builder.resetSymbolState":var s=t.data.state,l=(a=s.state,s.model,s.id);if(n.props.builderBlock&&n.props.builderBlock===l){for(var o in n.rootState)delete n.rootState[o];Object.assign(n.rootState,a),n.setState(__assign(__assign({},n.state),{state:n.rootState,updates:(n.state&&n.state.updates||0)+1}))}}},n.resizeFn=function(){var e=n.deviceSizeState;e!==n.state.state.deviceSize&&n.setState(__assign(__assign({},n.state),{updates:(n.state&&n.state.updates||0)+1,state:Object.assign(n.rootState,__assign(__assign({},n.state.state),{deviceSize:e}))}))},n.resizeListener=sdk.Builder.isEditing?throttle(n.resizeFn,200):debounce(n.resizeFn,400),n.mounted=!1,n.updateState=function(e){var t=n.rootState;e&&e(t),n.mounted?n.setState({update:n.updateState,state:t,updates:(n.state&&n.state.updates||0)+1}):n.state=__assign(__assign({},n.state),{update:n.updateState,state:t,updates:(n.state&&n.state.updates||0)+1}),n.notifyStateChange()},n.onContentLoaded=function(e,t){if("page"===n.name&&sdk.Builder.isBrowser&&e){var r=e.title,i=e.pageTitle,a=e.description,o=e.pageDescription;if((r||i)&&(document.title=r||i),a||o){var s=document.querySelector('meta[name="description"]');s||((s=document.createElement("meta")).setAttribute("name","description"),document.head.appendChild(s)),s.setAttribute("content",a||o)}}if(sdk.Builder.isEditing&&n.notifyStateChange(),n.props.contentLoaded&&n.props.contentLoaded(e,t),e&&e.inputs&&Array.isArray(e.inputs)&&e.inputs.length&&(e.state||(e.state={}),e.inputs.forEach((function(t){t&&t.name&&void 0!==t.defaultValue&&void 0===e.state[t.name]&&(e.state[t.name]=t.defaultValue)}))),e&&e.state){var l=__assign(__assign({},n.state),{updates:(n.state&&n.state.updates||0)+1,state:Object.assign(n.rootState,__assign(__assign(__assign(__assign({},n.state.state),{location:n.locationState,deviceSize:n.deviceSizeState,device:n.device}),e.state),n.externalState))});n.mounted?n.setState(l):n.state=l}if(e&&e.jsCode&&sdk.Builder.isBrowser&&!n.options.codegen){var u=!1;if(sdk.Builder.isEditing&&(n.lastJsCode===e.jsCode?u=!0:n.lastJsCode=e.jsCode),!u){var c=n.state.state;try{new Function("data","ref","state","update","element","Builder","builder","context",e.jsCode)(e,n,c,n.state.update,n.ref,sdk.Builder,sdk.builder,n.state.context)}catch(t){var d=toError(t);sdk.Builder.isBrowser?console.warn("Builder custom code error:",d.message,"in",e.jsCode,d.stack):process.env.DEBUG&&console.debug("Builder custom code error:",d.message,"in",e.jsCode,d.stack)}}}if(e&&e.httpRequests&&!n.props.noAsync&&!(u=!1)){var p=function(t){var r=e.httpRequests[t];if(r&&(!n.data[t]||sdk.Builder.isEditing))if(sdk.Builder.isBrowser){var i=n.evalExpression(r);if(sdk.Builder.isEditing&&n.lastHttpRequests[t]===i)return"continue";n.lastHttpRequests[t]=i;var a=r.match(/builder\.io\/api\/v2\/([^\/\?]+)/i);a&&a[1],n.handleRequest(t,i);var o=n.httpSubscriptionPerKey[t];o&&o.unsubscribe();var s=n.httpSubscriptionPerKey[t]=n.onStateChange.subscribe((function(){var e=n.evalExpression(r);e!==i&&(n.handleRequest(t,e),n.lastHttpRequests[t]=e)}));n.subscriptions.add(s)}else n.handleRequest(t,n.evalExpression(r))};for(var f in e.httpRequests)p(f)}},n.state={context:__assign(__assign({},t.context),{apiKey:sdk.builder.apiKey||n.props.apiKey}),state:Object.assign(n.rootState,__assign(__assign(__assign(__assign({},n.inlinedContent&&n.inlinedContent.data&&n.inlinedContent.data.state),{isBrowser:sdk.Builder.isBrowser,isServer:!sdk.Builder.isBrowser,_hydrate:t.hydrate,location:n.locationState,deviceSize:n.deviceSizeState,device:n.device}),n.getHtmlData()),t.data)),updates:0,key:0,update:n.updateState},sdk.Builder.isBrowser){var r=n.props.apiKey;if(r&&r!==n.builder.apiKey&&(n.builder.apiKey=r),n.inlinedContent){var i=n.inlinedContent.content||n.inlinedContent;n.onContentLoaded(null==i?void 0:i.data,getContentWithInfo(i))}}return n}return __extends(t,e),Object.defineProperty(t.prototype,"options",{get:function(){return __assign(__assign({},t.defaults),this.props)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"name",{get:function(){return this.props.model||this.props.modelName||this.props.name},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"element",{get:function(){return this.ref},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"inlinedContent",{get:function(){if(!this.isPreviewing||this.props.inlineContent)return this.props.content},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"builder",{get:function(){return this.props.builder||sdk.builder},enumerable:!1,configurable:!0}),t.prototype.getHtmlData=function(){var e=this.inlinedContent&&this.inlinedContent.id||this.props.entry,t=e&&sdk.Builder.isBrowser&&document.querySelector('script[data-builder-json="'.concat(e,'"],script[data-builder-state="').concat(e,'"]'));if(t)try{return JSON.parse(t.innerText)}catch(e){console.warn("Could not parse Builder.io HTML data transfer",e,t.innerText)}return{}},Object.defineProperty(t.prototype,"device",{get:function(){return this.builder.getUserAttributes().device||"desktop"},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"locationState",{get:function(){return __assign(__assign({},pick(this.location,"pathname","hostname","search","host")),{path:this.location.pathname&&this.location.pathname.split("/").slice(1)||"",query:searchToObject(this.location)})},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"deviceSizeState",{get:function(){return sdk.Builder.isBrowser?sizes.getSizeForWidth(window.innerWidth):sizeMap[this.device]||"large"},enumerable:!1,configurable:!0}),t.renderInto=function(e,n,r,i){if(void 0===n&&(n={}),void 0===r&&(r=!0),void 0===i&&(i=!1),console.debug("BuilderPage.renderInto",e,n,r,this),e){var a=null;if("string"==typeof e?a=document.querySelector(e):e instanceof Element&&(a=e),a){var o=a.classList.contains("builder-hydrated");if(!o||i){a.classList.add("builder-hydrated");var s=r&&a.innerHTML.includes("builder-block");if(!a.classList.contains("builder-component")){var l=a.querySelector(".builder-api-styles")||(a.previousElementSibling&&a.previousElementSibling.matches(".builder-api-styles")?a.previousElementSibling:null),u="";if(l)l.innerHTML.replace(/\/\*start:([^\*]+?)\*\/([\s\S]*?)\/\*end:([^\*]+?)\*\//g,(function(e,t,n){var r=null;try{r=document.querySelector('[data-emotion-css="'.concat(t,'"]'))}catch(e){console.warn(e)}return r?r.innerHTML=n:sdk.Builder.isEditing||(u+=e),e})),sdk.Builder.nextTick((function(){l.innerHTML=u}));var c=a.querySelector(".builder-component");c?a=c:s=!1}location.search.includes("builder.debug=true")&&console.debug("hydrate",s,a);var d=a;if(!o){var p=document.createElement("div");a.insertAdjacentElement("beforebegin",p),p.appendChild(a),d=p}if((sdk.Builder.isEditing||sdk.Builder.isBrowser&&location.search.includes("builder.preview="))&&(s=!1),s&&a){var f=ReactDOM__default.default.render(React__default.default.createElement(t,__assign({},n)),d,d.builderRootRef);return d.builderRootRef=f,f}var h=ReactDOM__default.default.render(React__default.default.createElement(t,__assign({},n)),d,d.builderRootRef);return d.builderRootRef=h,h}console.debug("Tried to hydrate multiple times")}}},t.prototype.componentDidMount=function(){var e,t=this;this.mounted=!0,this.asServer&&(this.asServer=!1,this.updateState((function(e){e.isBrowser=!0,e.isServer=!1}))),sdk.Builder.isIframe&&(null===(e=window.parent)||void 0===e||e.postMessage({type:"builder.sdkInjected",data:{modelName:this.name}},"*")),sdk.Builder.isBrowser&&(window.addEventListener("resize",this.resizeListener),sdk.Builder.isEditing&&window.addEventListener("message",this.messageListener),(sdk.Builder.isEditing||sdk.Builder.isPreviewing)&&sdk.Builder.nextTick((function(){t.firstLoad=!1,t.reload()})),setTimeout((function(){window.dispatchEvent(new CustomEvent("builder:component:load",{detail:{ref:t}}))})))},Object.defineProperty(t.prototype,"isPreviewing",{get:function(){return(sdk.Builder.isServer||sdk.Builder.isBrowser&&sdk.Builder.isPreviewing&&!this.firstLoad)&&sdk.builder.previewingModel===this.name},enumerable:!1,configurable:!0}),t.prototype.notifyStateChange=function(){if(!sdk.Builder.isServer&&this&&this.state){var e=this.state.state;this.props.onStateChange&&this.props.onStateChange(e),sdk.Builder.isBrowser&&window.dispatchEvent(new CustomEvent("builder:component:stateChange",{detail:{state:e,ref:this}})),this.onStateChange.next(e)}},t.prototype.processStateFromApi=function(e){return e},Object.defineProperty(t.prototype,"location",{get:function(){return this.props.location||(sdk.Builder.isBrowser?location:{})},enumerable:!1,configurable:!0}),t.prototype.getCssFromFont=function(e,t){var n=e.family+(e.kind&&!e.kind.includes("#")?", "+e.kind:""),r=n.split(",")[0],i=e.fileUrl?e.fileUrl:e.files&&e.files.regular,a="";if(i&&n&&r&&(a+='\n@font-face {\n font-family: "'.concat(n,'";\n src: local("').concat(r,"\"), url('").concat(i,"') format('woff2');\n font-display: fallback;\n font-weight: 400;\n}\n ").trim()),e.files)for(var o in e.files){if(String(Number(o))===o){var s=e.files[o];s&&s!==i&&(a+='\n@font-face {\n font-family: "'.concat(n,"\";\n src: url('").concat(s,"') format('woff2');\n font-display: fallback;\n font-weight: ").concat(o,";\n}\n ").trim())}}return a},t.prototype.componentWillUnmount=function(){this.unsubscribe(),sdk.Builder.isBrowser&&(window.removeEventListener("resize",this.resizeListener),window.removeEventListener("message",this.messageListener))},t.prototype.getFontCss=function(e){var t=this;return this.builder.allowCustomFonts&&(null==e?void 0:e.customFonts)&&e.customFonts.length&&e.customFonts.map((function(n){return t.getCssFromFont(n,e)})).join(" ")||""},t.prototype.ensureFontsLoaded=function(e){if(this.builder.allowCustomFonts&&(null==e?void 0:e.customFonts)&&Array.isArray(e.customFonts))for(var t=0,n=e.customFonts;t<n.length;t++){var r=n[t],i=r.fileUrl?r.fileUrl:r.files&&r.files.regular;if(!fontsLoaded.has(i)){var a=this.getCssFromFont(r,e);if(fontsLoaded.add(i),!a)continue;var o=document.createElement("style");o.className="builder-custom-font",o.setAttribute("data-builder-custom-font",i),o.innerHTML=a,document.head.appendChild(o)}}},t.prototype.getCss=function(e){var t,n=null===(t=this.useContent)||void 0===t?void 0:t.id,r=(null==e?void 0:e.cssCode)||"";return n&&(r=r.replace(/&/g,".builder-component-".concat(n))),r+this.getFontCss(e)},Object.defineProperty(t.prototype,"data",{get:function(){var e,t=__assign(__assign(__assign({},this.inlinedContent&&(null===(e=this.inlinedContent.data)||void 0===e?void 0:e.state)),this.externalState),this.state.state);return Object.assign(this.rootState,t),t},enumerable:!1,configurable:!0}),t.prototype.componentDidUpdate=function(e){var t=this;this.props.data&&e.data!==this.props.data&&this.state.update((function(e){Object.assign(e,t.externalState)})),sdk.Builder.isEditing&&this.inlinedContent&&e.content!==this.inlinedContent&&this.onContentLoaded(this.inlinedContent.data,this.inlinedContent)},t.prototype.checkStyles=function(e){if(this.styleRef){var t=this.getCss(e);this.styleRef.innerHTML!==t&&(this.styleRef.innerHTML=t)}},t.prototype.reload=function(){this.setState({key:this.state.key+1})},Object.defineProperty(t.prototype,"content",{get:function(){var e=this.inlinedContent;return e&&e.content&&(e=__assign(__assign({},e),{data:e.content})),e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"externalState",{get:function(){return __assign(__assign({},this.props.data),this.props.locale?{locale:this.props.locale}:{})},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"useContent",{get:function(){return this.content||this.state.context.builderContent},enumerable:!1,configurable:!0}),t.prototype.render=function(){var e,t=this,n=this.content,r=sdk.Builder.isBrowser&&this.externalState&&size(this.externalState)&&hash__default.default(this.externalState),i=sdk.Builder.isEditing?this.name:this.props.entry;i&&!sdk.Builder.isEditing&&r&&r.length<300&&(i+=":"+r);var a=this.props.dataOnly?React__default.default.Fragment:"div",o=null===(e=this.useContent)||void 0===e?void 0:e.id;return React__default.default.createElement(a,{onClick:function(e){!sdk.Builder.isEditing||t.props.isChild||t.props.stopClickPropagationWhenEditing||e.stopPropagation()},className:"builder-component ".concat(o?"builder-component-".concat(o):""),"data-name":this.name,"data-source":"Rendered by Builder.io",key:this.state.key,ref:function(e){return t.ref=e}},React__default.default.createElement(BuilderMetaContext.Consumer,null,(function(e){return React__default.default.createElement(BuilderMetaContext.Provider,{value:"boolean"==typeof t.props.ampMode?__assign(__assign({},e),{ampMode:t.props.ampMode}):e},React__default.default.createElement(BuilderAsyncRequestsContext.Consumer,null,(function(e){var r;return t._asyncRequests=e&&e.requests,t._errors=e&&e.errors,t._logs=e&&e.logs,React__default.default.createElement(BuilderContent,{isStatic:t.props.isStatic||sdk.Builder.isStatic,key:(null===(r=t.inlinedContent)||void 0===r?void 0:r.id)||("content"in t.props&&!t.isPreviewing?"null-content-prop":"no-content-prop"),builder:t.builder,ref:function(e){return t.contentRef=e},contentLoaded:function(e,n){return t.onContentLoaded(e,n)},options:__assign(__assign(__assign(__assign(__assign(__assign({key:i,entry:t.props.entry},n&&{initialContent:[n]}),!n&&"content"in t.props&&!t.isPreviewing&&{initialContent:[]}),t.props.url&&{url:t.props.url}),t.props.options),t.props.locale?{locale:t.props.locale}:{}),t.options.codegen&&{format:"react"}),inline:t.props.inlineContent||!t.isPreviewing&&"content"in t.props,contentError:t.props.contentError,modelName:t.name||"page"},(function(e,n,r){var i;if(t.props.dataOnly)return null;r&&r.id&&(t.state.context.builderContent=r),sdk.Builder.isBrowser&&sdk.Builder.nextTick((function(){t.checkStyles(e)}));var a=t.options.codegen;if(a&&!t.Component&&(null==e?void 0:e.blocksJs)){var o=Array.from(new Set(sdk.Builder.components.map((function(e){return e.name})))),s=sdk.Builder.components.slice().reverse(),l=o.map((function(e){return s.find((function(t){return t.class&&t.name===e}))})),u=o.map((function(e){return(e||"").replace(/[^\w]+/gi,"")})),c=l.map((function(e){return wrapComponent(e)}));t.Component=(new(Function.bind.apply(Function,__spreadArray(__spreadArray([void 0,"jsx","_css","Builder","builder","React","useBuilderState"],u,!1),[e.blocksJs],!1)))).apply(void 0,__spreadArray([core.jsx,core.css,sdk.Builder,sdk.builder,React__default.default,function(e){var t=React__default.default.useState(0)[1];return React__default.default.useState((function(){return onChange(e,(function(){t((function(e){return e+1}))}))}))[0]}],c,!1))}return e?React__default.default.createElement("div",{"data-builder-component":t.name,"data-builder-content-id":r.id,"data-builder-variation-id":r.testVariationId||r.variationId||r.id},!a&&t.getCss(e)&&React__default.default.createElement("style",{ref:function(e){return t.styleRef=e},className:"builder-custom-styles",dangerouslySetInnerHTML:{__html:t.getCss(e)}}),React__default.default.createElement(BuilderStoreContext.Provider,{value:__assign(__assign({},t.state),{rootState:t.rootState,state:t.data,content:r,renderLink:t.props.renderLink})},a&&t.Component?React__default.default.createElement(t.Component,{data:t.data,context:t.state.context}):React__default.default.createElement(BuilderBlocks,{key:String(!!(null===(i=null==e?void 0:e.blocks)||void 0===i?void 0:i.length)),emailMode:t.props.emailMode,fieldName:"blocks",blocks:e.blocks}))):n?React__default.default.createElement("div",{"data-builder-component":t.name,className:"builder-loading"},t.props.children):React__default.default.createElement("div",{"data-builder-component":t.name,className:"builder-no-content"})}))})))})))},t.prototype.evalExpression=function(e){var t=this,n=this.data;return String(e).replace(/{{([^}]+)}}/g,(function(e,r){return tryEval(r,n,t._errors)}))},t.prototype.handleRequest=function(e,t){return __awaiter(this,void 0,void 0,(function(){var n,r,i,a,o=this;return __generator(this,(function(s){return sdk.Builder.isIframe&&fetchCache[t]?(this.updateState((function(n){n[e]=fetchCache[t]})),[2,fetchCache[t]]):(n=function(){return __awaiter(o,void 0,void 0,(function(){var n,r,i,a;return __generator(this,(function(o){switch(o.label){case 0:n=Date.now(),sdk.Builder.isBrowser||console.time("Fetch "+t),o.label=1;case 1:return o.trys.push([1,4,5,6]),[4,fetch(t)];case 2:return[4,o.sent().json()];case 3:return r=o.sent(),[3,6];case 4:return i=o.sent(),a=toError(i),this._errors&&this._errors.push(a),this._logs&&this._logs.push("Fetch to ".concat(t," errored in ").concat(Date.now()-n,"ms")),[2];case 5:return sdk.Builder.isBrowser||(console.timeEnd("Fetch "+t),this._logs&&this._logs.push("Fetched ".concat(t," in ").concat(Date.now()-n,"ms"))),[7];case 6:return r&&(sdk.Builder.isIframe&&(fetchCache[t]=r),this.updateState((function(t){t[e]=r}))),[2,r]}}))}))},(r=this._asyncRequests&&this._asyncRequests.find((function(e){return isRequestInfo(e)&&e.url===t})))?((i=r.promise).then((function(t){t&&o.updateState((function(n){n[e]=t}))})),[2,i]):(a=n(),sdk.Builder.nextTick((function(){o._asyncRequests&&o._asyncRequests.push(a)})),[2,a]))}))}))},t.prototype.unsubscribe=function(){this.subscriptions&&(this.subscriptions.unsubscribe(),this.subscriptions=new sdk.Subscription)},t.prototype.handleBuilderRequest=function(e,t){var n=this,r=tryEval(t,this.data,this._errors);this.subscriptions&&this.unsubscribe(),r&&this.subscriptions.add(this.builder.queueGetContent(r.model,r).subscribe((function(t){t&&n.updateState((function(n){n[e]=t}))})))},t.defaults={codegen:Boolean(sdk.Builder.isBrowser&&location.href.includes("builder.codegen=true"))},__decorate([debounceNextTick,__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",void 0)],t.prototype,"notifyStateChange",null),t}(React__default.default.Component),withChildren=function(e){var t=React__default.default.forwardRef((function(t,n){var r=t.children||t.builderBlock&&t.builderBlock.children&&t.builderBlock.children.map((function(e){return React__default.default.createElement(BuilderBlock,{key:e.id,block:e})}));return React__default.default.createElement(e,__assign({},t,{ref:n}),r)}));return t.builderOptions={canHaveChildren:!0},t};function useIsPreviewing(){var e=React.useState(!1),t=e[0],n=e[1];return React.useEffect((function(){(sdk.Builder.isEditing||sdk.Builder.isPreviewing)&&n(!0)}),[]),t}sdk.Builder.isReact=!0,Object.defineProperty(exports,"Builder",{enumerable:!0,get:function(){return sdk.Builder}}),Object.defineProperty(exports,"builder",{enumerable:!0,get:function(){return sdk.builder}}),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return sdk.builder}}),exports.BuilderAsyncRequestsContext=BuilderAsyncRequestsContext,exports.BuilderBlockComponent=BuilderBlock,exports.BuilderBlocks=BuilderBlocks,exports.BuilderComponent=BuilderComponent,exports.BuilderContent=BuilderContent,exports.BuilderMetaContext=BuilderMetaContext,exports.BuilderPage=BuilderComponent,exports.BuilderStoreContext=BuilderStoreContext,exports.stringToFunction=stringToFunction,exports.useIsPreviewing=useIsPreviewing,exports.withChildren=withChildren;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var sdk=require("@builder.io/sdk"),core=require("@emotion/core"),React=require("react"),ReactDOM=require("react-dom"),hash=require("hash-sum");function _interopDefaultLegacy(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function _interopNamespace(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var React__default=_interopDefaultLegacy(React),React__namespace=_interopNamespace(React),ReactDOM__default=_interopDefaultLegacy(ReactDOM),hash__default=_interopDefaultLegacy(hash),version="2.0.8-0",_a;"undefined"!=typeof window&&(null===(_a=window.parent)||void 0===_a||_a.postMessage({type:"builder.isReactSdk",data:{value:!0,supportsPatchUpdates:"v5",supportsCustomBreakpoints:!0,priorVersion:version}},"*"));var extendStatics=function(e,t){return(extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)};function __extends(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}extendStatics(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var __assign=function(){return(__assign=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)};function __decorate(e,t,n,r){var i,a=arguments.length,o=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,n,o):i(t,n))||o);return a>3&&o&&Object.defineProperty(t,n,o),o}function __metadata(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function __awaiter(e,t,n,r){return new(n||(n=Promise))((function(i,a){function o(e){try{l(r.next(e))}catch(e){a(e)}}function s(e){try{l(r.throw(e))}catch(e){a(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,s)}l((r=r.apply(e,t||[])).next())}))}function __generator(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=o.trys,(i=i.length>0&&i[i.length-1])||6!==a[0]&&2!==a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]<i[3])){o.label=a[1];break}if(6===a[0]&&o.label<i[1]){o.label=i[1],i=a;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(a);break}i[2]&&o.ops.pop(),o.trys.pop();continue}a=t.call(e,o)}catch(e){a=[6,e],r=0}finally{n=i=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,s])}}}function __spreadArray(e,t,n){if(n||2===arguments.length)for(var r,i=0,a=t.length;i<a;i++)!r&&i in t||(r||(r=Array.prototype.slice.call(t,0,i)),r[i]=t[i]);return e.concat(r||Array.prototype.slice.call(t))}var fastClone=function(e){return JSON.parse(JSON.stringify(e))},sizeNames=["xsmall","small","medium","large"],sizes={xsmall:{min:0,default:0,max:0},small:{min:320,default:321,max:640},medium:{min:641,default:642,max:991},large:{min:990,default:991,max:1200},getWidthForSize:function(e){return this[e].default},getSizeForWidth:function(e){for(var t=0,n=sizeNames;t<n.length;t++){var r=n[t];if(e<=this[r].max)return r}return"large"}},getSizesForBreakpoints=function(e){var t=e.small,n=e.medium,r=__assign(__assign({},sizes),fastClone(sizes));if(!t||!n)return r;var i=Math.floor(t/2);r.small={max:t,min:i,default:i+1};var a=r.small.max+1;r.medium={max:n,min:a,default:a+1};var o=r.medium.max+1;return r.large={max:2e3,min:o,default:o+1},r},set=function(e,t,n){if(Object(e)!==e)return e;var r=Array.isArray(t)?t:t.toString().match(/[^.[\]]+/g);return r.slice(0,-1).reduce((function(e,t,n){return Object(e[t])===e[t]?e[t]:e[t]=Math.abs(Number(r[n+1]))>>0==+r[n+1]?[]:{}}),e)[r[r.length-1]]=n,e},noop=function(){return null},safeDynamicRequire;"function"==typeof globalThis.require&&(safeDynamicRequire=eval("require")),null!=safeDynamicRequire||(safeDynamicRequire=noop);var fnCache={},api=function(e){return sdk.builder};function stringToFunction(e,t,n,r){if(void 0===t&&(t=!0),!e||!e.trim())return function(){};var i=e+":"+t;if(fnCache[i])return fnCache[i];var a=t&&!(e.includes(";")||e.includes(" return ")||e.trim().startsWith("return "))||e.trim().startsWith("builder.run"),o=function(){};try{sdk.Builder.isBrowser&&(o=new Function("state","event","block","builder","Device","update","Builder","context","\n var names = [\n 'state',\n 'event',\n 'block',\n 'builder',\n 'Device',\n 'update',\n 'Builder',\n 'context'\n ];\n var rootState = state;\n if (typeof Proxy !== 'undefined') {\n rootState = new Proxy(rootState, {\n set: function () {\n return false;\n },\n get: function (target, key) {\n if (names.includes(key)) {\n return undefined;\n }\n return target[key];\n }\n });\n }\n /* Alias */\n var ctx = context;\n with (rootState) {\n ".concat(a?"return (".concat(e,");"):e,";\n }\n ")))}catch(t){n&&n.push(t);var s=t&&t.message;s&&"string"==typeof s&&r&&-1===r.indexOf(s)&&r.push(s),sdk.Builder.isBrowser&&console.warn("Function compile error in ".concat(e),t)}var l=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];try{if(sdk.Builder.isBrowser)return o.apply(void 0,t);var i=safeDynamicRequire("vm2").VM,a=t[0],s=t[1];return new i({timeout:100,sandbox:__assign(__assign(__assign(__assign({},a),{state:a}),{builder:api}),{event:s})}).run(e.replace(/(^|;)return /,"$1"))}catch(t){sdk.Builder.isBrowser?console.warn("Builder custom code error:",t.message||t,"in",e,t.stack||t):process.env.DEBUG&&console.debug("Builder custom code error:",t.message||t,"in",e,t.stack||t),n&&n.push(t)}};return sdk.Builder.isBrowser&&(fnCache[i]=l),l}var isPromise=function(e){return"function"==typeof e.then},isRequestInfo=function(e){return!isPromise(e)},BuilderAsyncRequestsContext=React__default.default.createContext({requests:[],errors:[],logs:[]}),BuilderStoreContext=React__default.default.createContext({state:{},rootState:{},content:{},context:{},update:function(e){return null}}),htmlEscape=function(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")},blockToHtmlString=function(e){var t;return"<".concat(htmlEscape(e.tagName||"div"),' \n class="builder-block ').concat(e.id," ").concat(e.class||"",'"\n builder-id="').concat(e.id,'"\n ').concat(Object.keys(e.properties||{}).map((function(t){return"".concat(htmlEscape(t),'="').concat(htmlEscape(e.properties[t]),'"')})).join(" "),"\n >").concat("Text"===(null===(t=null==e?void 0:e.component)||void 0===t?void 0:t.name)?e.component.options.text:e.children?e.children.map((function(e){return blockToHtmlString(e)})).join(""):"","</").concat(e.tagName||"div",">").replace(/\s+/g," ")},Link=function(e){return React__default.default.createElement(BuilderStoreContext.Consumer,null,(function(t){return t.renderLink?t.renderLink(e):React__default.default.createElement("a",__assign({},e))}))},get=function(e,t,n){var r=String.prototype.split.call(t,/[,[\].]+?/).filter(Boolean).reduce((function(e,t){return null!=e?e[t]:e}),e);return void 0===r||r===e?n:r},applyPatch=function(e,t){var n=t.path.split("/");if(""===n[0]&&n.shift(),"replace"===t.op)return set(e,n,t.value),e;var r=get(e,n.slice(0,-1).join("."));if("add"===t.op){var i=n.slice(-1)[0];Array.isArray(r)?r.splice(Number(i),0,t.value):r[i]=t.value}else if("remove"===t.op){var a=n.slice(-1)[0];Array.isArray(r)?r.splice(Number(a),1):delete r[a]}return e},camelCaseToKebabCase=function(e){return e?e.replace(/([A-Z])/g,(function(e){return"-".concat(e[0].toLowerCase())})):""},kebabCaseToCamelCase=function(e){return void 0===e&&(e=""),e.replace(/-([a-z])/g,(function(e){return e[1].toUpperCase()}))},Device={desktop:0,tablet:1,mobile:2},voidElements=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr","textarea"]),last=function(e){return e[e.length-1]};function omit$1(e,t){for(var n=Object.assign({},e),r=0,i=t;r<i.length;r++){delete n[i[r]]}return n}var cssCase=function(e){if(!e)return e;var t=camelCaseToKebabCase(e);return e[0]===e[0].toUpperCase()&&(t="-"+t),t};function capitalize(e){if(e)return e[0].toUpperCase()+e.slice(1)}var BuilderBlock=function(_super){function BuilderBlock(){var _this=null!==_super&&_super.apply(this,arguments)||this;return _this.state={hasError:!1,updates:0},_this.privateState={state:{},rootState:{},context:{},update:function(){}},_this.onWindowMessage=function(event){var message=event.data;if(message)switch(message.type){case"builder.selectionChange":var data=message.data;if(!data)break;var selection=data.selection,id=_this.block&&_this.block.id;id&&Array.isArray(selection)&&selection.indexOf(id)>-1&&setTimeout((function(){window.$block=_this,window.$blocks||(window.$blocks=[]),window.$blocks.push(_this)}));break;case"builder.patchUpdates":var data=message.data;if(!data||!data.data)break;var patches=data.data[_this.block.id];if(!patches)return;location.href.includes("builder.debug=true")&&eval("debugger");for(var _i=0,patches_1=patches;_i<patches_1.length;_i++){var patch=patches_1[_i];applyPatch(_this.props.block,patch)}_this.setState({updates:_this.state.updates+1})}},_this}return __extends(BuilderBlock,_super),Object.defineProperty(BuilderBlock.prototype,"store",{get:function(){return this.privateState},enumerable:!1,configurable:!0}),BuilderBlock.getDerivedStateFromError=function(e){return{hasError:!0}},BuilderBlock.prototype.componentDidCatch=function(e,t){console.error("Builder block error:",e,t)},BuilderBlock.prototype.stringToFunction=function(e,t){return void 0===t&&(t=!0),stringToFunction(e,t,this._errors,this._logs)},Object.defineProperty(BuilderBlock.prototype,"block",{get:function(){return this.props.block},enumerable:!1,configurable:!0}),Object.defineProperty(BuilderBlock.prototype,"emotionCss",{get:function(){var e,t,n,r,i,a=this.block;if(sdk.Builder.isServer){var o=a.animations&&a.animations[0];if(o&&"hover"!==o.trigger){var s=o&&o.steps&&o.steps[0],l=s&&s.styles;l&&(i=l)}}var u=sizeNames.slice().reverse(),d=this.block,c={};if(d.responsiveStyles)for(var p=0,f=u;p<f.length;p++){var v=f[p];if("large"===v)this.props.emailMode||(c["&.builder-block"]=Object.assign({},d.responsiveStyles[v],i));else{var h=getSizesForBreakpoints((null===(t=null===(e=this.privateState.context.builderContent)||void 0===e?void 0:e.meta)||void 0===t?void 0:t.breakpoints)||{});c["@media only screen and (max-width: ".concat(h[v].max,"px)")]={"&.builder-block":d.responsiveStyles[v]}}}var m=a.animations&&a.animations.find((function(e){return"hover"===e.trigger}));return m&&(c[":hover"]=(null===(r=null===(n=m.steps)||void 0===n?void 0:n[1])||void 0===r?void 0:r.styles)||{},c.transition="all ".concat(m.duration,"s ").concat(camelCaseToKebabCase(m.easing)),m.delay&&(c.transitionDelay=m.delay+"s")),c},enumerable:!1,configurable:!0}),BuilderBlock.prototype.eval=function(e){return this.stringToFunction(e)(this.privateState.state,void 0,this.block,sdk.builder,Device,this.privateState.update,sdk.Builder,this.privateState.context)},BuilderBlock.prototype.componentWillUnmount=function(){sdk.Builder.isEditing&&removeEventListener("message",this.onWindowMessage)},BuilderBlock.prototype.componentDidMount=function(){var e,t=this,n=this.block,r=n&&n.animations;if(sdk.Builder.isEditing&&addEventListener("message",this.onWindowMessage),r){var i={animations:fastClone(r)};if(n.bindings)for(var a in n.bindings)if((null===(e=a.trim)||void 0===e?void 0:e.call(a))&&a.startsWith("animations.")){var o=this.stringToFunction(n.bindings[a]);void 0!==o&&set(i,a,o(this.privateState.state,null,n,sdk.builder,null,null,sdk.Builder,this.privateState.context))}sdk.Builder.animator.bindAnimations(i.animations.filter((function(e){return"hover"!==e.trigger})).map((function(e){return __assign(__assign({},e),{elementId:t.block.id})})))}},BuilderBlock.prototype.getElement=function(e,t){var n,r,i,a,o,s=this;void 0===e&&(e=0),void 0===t&&(t=this.privateState.state);var l=this.props;l.child,l.fieldName;var u,d=this.block,c=(d.tagName||"div").toLowerCase();if("template"===c){var p=d.children?d.children.map((function(e){return blockToHtmlString(e)})).join(" "):"";return console.debug("template html",p),core.jsx("template",__assign({},d.properties,{dangerouslySetInnerHTML:{__html:p}}))}var f=d.component&&(d.component.name||d.component.component),v=null;d.component&&!d.component.class&&(d.component&&d.component.tag?u=d.component.tag:(v=sdk.Builder.components.find((function(e){return e.name===f}))||null)&&v.class?u=v.class:v&&v.tag?u=v.tag:(null==f?void 0:f.startsWith("Builder:"))?console.warn("Missing @builder.io/widgets installation, please install and import @builder.io/widgets to use ".concat(f.split(":")[1]," in your content, more info here: https://github.com/BuilderIO/builder/tree/main/packages/widgets")):f&&console.warn("Missing registration for ".concat(f,", have you included the registration in your bundle?")));var h=__assign(__assign({},d.properties),{style:{}});if(h=__assign(__assign({},h.properties),h),d.component&&(h.component=fastClone(d.component)),d.bindings)for(var m in d.bindings)if(null===(r=m.trim)||void 0===r?void 0:r.call(m)){var g=this.stringToFunction(d.bindings[m]);set(h,m,g(t,null,d,api(),Device,null,sdk.Builder,this.privateState.context))}if(h.hide)return null;if(delete h.hide,("show"in h||d.bindings&&d.bindings.show)&&!h.show)return null;if(delete h.show,d.actions){var b=function(e){if(!(null===(i=e.trim)||void 0===i?void 0:i.call(e)))return"continue";var n=d.actions[e];h["on"+capitalize(e)]=function(e){var r=t;return"undefined"!=typeof Proxy&&(r=new Proxy(t,{set:function(e,t,n){return e[t]=n,s.privateState.rootState[t]=n,!0}})),s.stringToFunction(n,!1)(r,e,s.block,sdk.builder,Device,s.privateState.update,sdk.Builder,s.privateState.context)}};for(var m in d.actions)b(m)}var _=(h.component||h.options)&&__assign(__assign({},h.options),h.component.options||h.component.data),y=voidElements.has(c),k=v&&(v.fragment||v.noWrap),B=(null===(a=h.attr)||void 0===a?void 0:a.style)||("string"==typeof h.style?h.style:"")||"";if("string"==typeof B){"object"!=typeof h.style&&(h.style={});for(var C=0,S=B.split(";");C<S.length;C++){var w=S[C].split(":");if(!w.length)return;m=w[0],g=w[1];w.length>2&&(g=w.slice(1).join(":")),h.style[kebabCaseToCamelCase(m)]=g}}var x=__assign(__assign(__assign({},omit$1(h,["class","component","attr"])),((n={})["string"!=typeof c||c.includes("-")?"class":"className"]="builder-block ".concat(this.id).concat(d.class?" ".concat(d.class):"").concat(!d.component||["Image","Video","Banner"].indexOf(f)>-1?"":" builder-has-component")+(h.class?" "+h.class:"")+(sdk.Builder.isEditing&&(null===(o=this.privateState.state._spacer)||void 0===o?void 0:o.parent)===d.id?" builder-spacer-parent":""),n.key=this.id+e,n["builder-id"]=this.id,n)),0!==e&&{"builder-index":e});sdk.Builder.isEditing&&(x["builder-inline-styles"]=h.attr&&h.attr.style?Object.keys(h.style).reduce((function(e,t){return(e?"".concat(e,";"):"")+"".concat(cssCase(t),":").concat(h.style[t],";")}),""):""),(x.properties&&x.properties.href||x.href)&&"div"===c&&(c="a"),"a"===c&&(c=Link);var E=d.children||x.children||[];return core.jsx(React__default.default.Fragment,null,core.jsx(core.ClassNames,null,(function(e){var t=e.css;if(e.cx,!s.props.emailMode){var n=" "+t(s.emotionCss);x.class&&(x.class+=n),x.className&&(x.className+=n)}return core.jsx(BuilderAsyncRequestsContext.Consumer,null,(function(e){return s._asyncRequests=e&&e.requests,s._errors=e&&e.errors,s._logs=e&&e.logs,y?core.jsx(c,__assign({},x)):u&&(k||s.props.emailMode)?core.jsx(u,__assign({},_,{attributes:x,builderBlock:d,builderState:s.privateState})):core.jsx(c,__assign({},x),u&&core.jsx(u,__assign({builderState:s.privateState,builderBlock:d},_)),d.text||h.text?h.text:!u&&E&&Array.isArray(E)&&E.length?E.map((function(e,t){return core.jsx(BuilderBlock,{key:(s.id||"")+t,block:e,index:t,size:s.props.size,fieldName:s.props.fieldName,child:s.props.child,emailMode:s.props.emailMode})})):null)}))})))},Object.defineProperty(BuilderBlock.prototype,"id",{get:function(){var e=this.block;return e.id.startsWith("builder")?e.id:"builder-"+e.id},enumerable:!1,configurable:!0}),BuilderBlock.prototype.contents=function(e){var t=this,n=this.block;if(this.privateState=e,n.repeat&&n.repeat.collection){var r=n.repeat.collection,i=last((r||"").trim().split("(")[0].trim().split(".")),a=n.repeat.itemName||(i?i+"Item":"item"),o=this.stringToFunction(r)(e.state,null,n,api(),Device,null,sdk.Builder,this.privateState.context);return Array.isArray(o)?o.map((function(n,r){var i,o=__assign(__assign({},e.state),((i={$index:r,$item:n})[a]=n,i["$".concat(a,"Index")]=r,i));return core.jsx(BuilderStoreContext.Provider,{key:r,value:__assign(__assign({},e),{state:o})},t.getElement(r,o))})):null}return this.getElement()},BuilderBlock.prototype.render=function(){var e=this;return this.state.hasError?core.jsx("span",{css:{display:"inline-block",padding:5,color:"#999",fontSize:11,fontStyle:"italic"}},"Builder block error :( Check console for details"):core.jsx(BuilderStoreContext.Consumer,null,(function(t){return e.contents(t)}))},BuilderBlock}(React__default.default.Component),BuilderBlocks=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.onClickEmptyBlocks=function(){var e;sdk.Builder.isIframe&&t.noBlocks&&(null===(e=window.parent)||void 0===e||e.postMessage({type:"builder.clickEmptyBlocks",data:{parentElementId:t.parentId,dataPath:t.path}},"*"))},t.onHoverEmptyBlocks=function(){var e;sdk.Builder.isEditing&&t.noBlocks&&(null===(e=window.parent)||void 0===e||e.postMessage({type:"builder.hoverEmptyBlocks",data:{parentElementId:t.parentId,dataPath:t.path}},"*"))},t}return __extends(t,e),Object.defineProperty(t.prototype,"isRoot",{get:function(){return!this.props.child},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"noBlocks",{get:function(){var e=this.props.blocks;return!(e&&e.length)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"path",{get:function(){var e=this.props.dataPath||"";return e.trim()&&(e.startsWith("this.")?e=e.replace("this.",""):e.startsWith("component.options.")||(e="component.options."+e)),e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"parentId",{get:function(){return this.props.parentElementId?this.props.parentElementId:this.props.parent&&this.props.parent.id},enumerable:!1,configurable:!0}),t.prototype.render=function(){var e=this,t=this.props.blocks,n=this.props.emailMode?"span":"div";return core.jsx(n,__assign({className:"builder-blocks"+(this.noBlocks?" no-blocks":"")+(this.props.child?" builder-blocks-child":"")+(this.props.className?" "+this.props.className:""),"builder-type":"blocks","builder-path":sdk.Builder.isIframe?this.path:void 0,"builder-parent-id":this.parentId,css:__assign(__assign({},!this.props.emailMode&&{display:"flex",flexDirection:"column",alignItems:"stretch"}),this.props.style),onClick:function(){e.noBlocks&&e.onClickEmptyBlocks()}},sdk.Builder.isEditing&&{onMouseEnter:function(){return e.onHoverEmptyBlocks()}}),t&&Array.isArray(t)&&t.map((function(t,n){return t&&"@builder.io/sdk:Element"===t["@type"]?core.jsx(BuilderBlock,{key:t.id,block:t,index:n,fieldName:e.props.fieldName,child:e.props.child,emailMode:e.props.emailMode}):t}))||t)},t.renderInto=function(e,n,r){if(void 0===n&&(n={}),e){var i=null;return"string"==typeof e?i=document.querySelector(e):e instanceof Element&&(i=e),ReactDOM__default.default.render(core.jsx(BuilderStoreContext.Provider,{value:r},core.jsx(t,__assign({},n))),i)}},t}(React__default.default.Component),NoWrap=function(e){return e.children},applyPatchWithMinimalMutationChain=function(e,t,n){if(void 0===n&&(n=!1),Object(e)!==e)return e;var r=t.path,i=t.op,a=t.value,o=r.split(/\//);""===o[0]&&o.shift();for(var s=n?e:__assign({},e),l=s,u=0;u<o.length;u++){var d=u===o.length-1,c=o[u];if(d){if("replace"===i)l[c]=a;else if("add"===i){var p=Number(c);Array.isArray(l)?"-"===c?l.push(a):l.splice(p,0,a):l[c]=a}else if("remove"===i){p=Number(c);Array.isArray(l)?l.splice(p,1):delete l[c]}}else{var f=o[u+1],v=Object(l[c])===l[c]?l[c]:String(Number(f))===f?[]:{};l=l[c]=Array.isArray(v)?__spreadArray([],v,!0):__assign({},v)}}return s};function getData(e){if(void 0!==(null==e?void 0:e.data)){var t=e.data,n=t.blocks,r=t.blocksString,i=Array.isArray(n)||"string"==typeof r,a=__assign(__assign({},e.data),i&&{blocks:n||JSON.parse(r)});return delete a.blocksString,a}}var variantsScript=function(e,t){return"\n(function() {\n if (window.builderNoTrack || !navigator.cookieEnabled) {\n return;\n }\n\n var variants = ".concat(e,';\n function removeVariants() {\n variants.forEach(function (template) {\n document.querySelector(\'template[data-template-variant-id="\' + template.id + \'"]\').remove();\n });\n }\n\n if (typeof document.createElement("template").content === \'undefined\') {\n removeVariants();\n return ;\n }\n\n function setCookie(name,value,days) {\n var expires = "";\n if (days) {\n var date = new Date();\n date.setTime(date.getTime() + (days*24*60*60*1000));\n expires = "; expires=" + date.toUTCString();\n }\n document.cookie = name + "=" + (value || "") + expires + "; path=/" + "; Secure; SameSite=None";\n }\n\n function getCookie(name) {\n var nameEQ = name + "=";\n var ca = document.cookie.split(\';\');\n for(var i=0;i < ca.length;i++) {\n var c = ca[i];\n while (c.charAt(0)==\' \') c = c.substring(1,c.length);\n if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);\n }\n return null;\n }\n var cookieName = \'builder.tests.').concat(t,"';\n var variantInCookie = getCookie(cookieName);\n var availableIDs = variants.map(function(vr) { return vr.id }).concat('").concat(t,"');\n var variantId;\n if (availableIDs.indexOf(variantInCookie) > -1) {\n variantId = variantInCookie;\n }\n if (!variantId) {\n var n = 0;\n var random = Math.random();\n for (var i = 0; i < variants.length; i++) {\n var variant = variants[i];\n var testRatio = variant.testRatio;\n n += testRatio;\n if (random < n) {\n setCookie(cookieName, variant.id);\n variantId = variant.id;\n break;\n }\n }\n if (!variantId) {\n variantId = \"").concat(t,'";\n setCookie(cookieName, "').concat(t,'");\n }\n }\n if (variantId && variantId !== "').concat(t,"\") {\n var winningTemplate = document.querySelector('template[data-template-variant-id=\"' + variantId + '\"]');\n if (winningTemplate) {\n var parentNode = winningTemplate.parentNode;\n var newParent = parentNode.cloneNode(false);\n newParent.appendChild(winningTemplate.content.firstChild);\n parentNode.parentNode.replaceChild(newParent, parentNode);\n }\n } else if (variants.length > 0) {\n removeVariants();\n }\n})()").replace(/\s+/g," ")},VariantsProvider=function(e){var t=e.initialContent,n=e.children;if(sdk.Builder.isBrowser&&!sdk.builder.canTrack)return n([t]);if(!Boolean(Object.keys((null==t?void 0:t.variations)||{}).length))return n([t]);var r=Object.keys(t.variations).map((function(e){return __assign(__assign({id:e},t.variations[e]),{data:getData(t.variations[e])})})),i=__spreadArray(__spreadArray([],r,!0),[t],!1);if(sdk.Builder.isServer){var a=JSON.stringify(Object.keys(t.variations||{}).map((function(e){return{id:e,testRatio:t.variations[e].testRatio}})));return React__namespace.createElement(React__namespace.Fragment,null,n(i,(function(){return React__namespace.createElement("script",{dangerouslySetInnerHTML:{__html:variantsScript(a,t.id)}})})))}var o="builder.tests.".concat(t.id),s=sdk.builder.getCookie(o);if(!s&&sdk.Builder.isBrowser)for(var l=0,u=Math.random(),d=0;d<r.length;d++){var c=r[d];if(u<(l+=c.testRatio)){sdk.builder.setCookie(o,c.id),s=c.id;break}}return s||(s=t.id,sdk.builder.setCookie(o,s)),n([i.find((function(e){return e.id===s}))])},BuilderContent=function(_super){function BuilderContent(){var _this=null!==_super&&_super.apply(this,arguments)||this;return _this.ref=null,_this.state={loading:!_this.props.content,data:getContentWithInfo(_this.props.content),updates:1},_this.onWindowMessage=function(event){var _a,_b,message=event.data;if(message)switch(message.type){case"builder.patchUpdates":if(null===(_a=_this.props.options)||void 0===_a?void 0:_a.noEditorUpdates)return;var data=message.data;if(!data||!data.data)break;var patches=data.data[null===(_b=_this.state.data)||void 0===_b?void 0:_b.id];if(!patches||!patches.length)return;location.href.includes("builder.debug=true")&&eval("debugger");for(var newData=_this.state.data,_i=0,patches_1=patches;_i<patches_1.length;_i++){var patch=patches_1[_i];newData=applyPatchWithMinimalMutationChain(newData,patch,!1)}_this.setState({updates:_this.state.updates+1,data:newData}),_this.props.contentLoaded&&_this.props.contentLoaded(newData.data,newData)}},_this.subscriptions=new sdk.Subscription,_this.firstLoad=!0,_this.clicked=!1,_this.trackedImpression=!1,_this.intersectionObserver=null,_this.onClick=function(e){var t=e.nativeEvent,n=_this.data;n&&(sdk.builder.autoTrack&&_this.builder.trackInteraction(n.id,_this.renderedVariantId,_this.clicked,t,{content:n}),_this.clicked||(_this.clicked=!0))},_this}return __extends(BuilderContent,_super),Object.defineProperty(BuilderContent.prototype,"builder",{get:function(){return this.props.builder||sdk.builder},enumerable:!1,configurable:!0}),Object.defineProperty(BuilderContent.prototype,"name",{get:function(){var e=this.props;return"model"in e?e.model:e.modelName},enumerable:!1,configurable:!0}),Object.defineProperty(BuilderContent.prototype,"renderedVariantId",{get:function(){var e,t,n=this.props.isStatic?this.builder.getCookie("builder.tests.".concat(null===(e=this.data)||void 0===e?void 0:e.id)):null===(t=this.data)||void 0===t?void 0:t.variationId;if(null!==n)return n},enumerable:!1,configurable:!0}),Object.defineProperty(BuilderContent.prototype,"options",{get:function(){var e,t,n=__assign({},this.props.options||{});return n.key||!(null===(e=this.props.content)||void 0===e?void 0:e.id)||sdk.Builder.isEditing||sdk.Builder.isPreviewing||(n.key=this.props.content.id),!this.props.content||(null===(t=n.initialContent)||void 0===t?void 0:t.length)||!this.props.inline&&sdk.Builder.isPreviewing||(n.initialContent=[this.props.content]),n},enumerable:!1,configurable:!0}),Object.defineProperty(BuilderContent.prototype,"data",{get:function(){var e=(this.props.inline||!sdk.Builder.isBrowser||this.firstLoad)&&this.options.initialContent&&this.options.initialContent[0]||this.state.data;return getContentWithInfo(e)},enumerable:!1,configurable:!0}),BuilderContent.prototype.componentDidMount=function(){var e,t;if(!this.props.inline||sdk.Builder.isEditing||sdk.Builder.isPreviewing)this.subscribeToContent();else if(this.props.inline&&(null===(t=null===(e=this.options)||void 0===e?void 0:e.initialContent)||void 0===t?void 0:t.length)){var n=this.options.initialContent[0];(null==n?void 0:n.id)&&this.builder.trackImpression(n.id,this.renderedVariantId,void 0,{content:n})}sdk.Builder.isEditing&&addEventListener("message",this.onWindowMessage)},BuilderContent.prototype.subscribeToContent=function(){var e=this;"_inline"!==this.name&&this.subscriptions.add(sdk.builder.queueGetContent(this.name,this.options).subscribe((function(t){var n=t&&t[0];e.setState({data:n,loading:!1});var r=(sdk.builder.editingModel||sdk.builder.previewingModel)===e.name;if(!e.props.inline&&e.props.content&&e.firstLoad&&r&&(e.firstLoad=!1,e.subscriptions.unsubscribe(),e.subscribeToContent()),n&&e.firstLoad&&(e.firstLoad=!1,sdk.builder.autoTrack&&!sdk.Builder.isEditing)){var i=!1;if("function"==typeof IntersectionObserver&&e.ref)try{(e.intersectionObserver=new IntersectionObserver((function(t,r){t.forEach((function(t){t.intersectionRatio>0&&!e.trackedImpression&&(e.builder.trackImpression(n.id,e.renderedVariantId,void 0,{content:e.data}),e.data,e.trackedImpression=!0,e.ref&&r.unobserve(e.ref))}))}))).observe(e.ref),i=!0}catch(e){console.warn("Could not bind intersection observer")}i||(e.trackedImpression=!0,e.builder.trackImpression(n.id,e.renderedVariantId,void 0,{content:n}))}e.props.contentLoaded&&e.props.contentLoaded(n&&n.data,n)}),(function(t){e.props.contentError&&(e.props.contentError(t),e.setState({loading:!1}))})))},BuilderContent.prototype.componentWillUnmount=function(){sdk.Builder.isEditing&&removeEventListener("message",this.onWindowMessage),this.subscriptions.unsubscribe(),this.intersectionObserver&&this.ref&&this.intersectionObserver.unobserve(this.ref)},BuilderContent.prototype.render=function(){var e=this;if(this.props.dataOnly)return null;var t=this.state.loading,n=this.data,r=this.props.dataOnly?NoWrap:"div";return React__default.default.createElement(VariantsProvider,{initialContent:n},(function(i,a){return React__default.default.createElement(React__default.default.Fragment,null,i.map((function(o,s){var l=s===i.length-1?React__default.default.Fragment:"template";return React__default.default.createElement(React__default.default.Fragment,{key:String((null==o?void 0:o.id)+s)},"template"!==l&&(null==a?void 0:a()),React__default.default.createElement(l,__assign({key:String((null==o?void 0:o.id)+s)},"template"===l&&{"data-template-variant-id":null==o?void 0:o.id}),React__default.default.createElement(r,__assign({},0===s&&!e.props.dataOnly&&{ref:function(t){return e.ref=t}},{className:"builder-content",onClick:e.onClick,"builder-content-id":null==o?void 0:o.id,"builder-model":e.name}),e.props.children(null==o?void 0:o.data,!e.props.inline&&t,n))))})))}))},BuilderContent}(React__default.default.Component),getContentWithInfo=function(e){var t;if(e){var n=sdk.builder.getCookie("builder.tests.".concat(e.id)),r=n===e.id?e:null===(t=e.variations)||void 0===t?void 0:t[n],i=(null==r?void 0:r.name)||((null==r?void 0:r.id)===e.id?"Default variation":"");return __assign(__assign({},e),{variationId:n,testVariationId:n,testVariationName:i})}return null};function unwrapExports(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function createCommonjsModule(e,t){return e(t={exports:{}},t.exports),t.exports}var onChange_1=createCommonjsModule((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var n=Symbol("target"),r=Symbol("unsubscribe"),i=function(e,t){return t&&t.toString&&(e&&(e+="."),e+=t.toString()),e},a=function(e){return Array.isArray(e)?e.slice():Object.assign({},e)},o=function(e,t,o){if("undefined"==typeof Proxy)return e;void 0===o&&(o={});var s,l,u=Symbol("ProxyTarget"),d=!1,c=!1,p=!1,f=o.equals||Object.is,v=new WeakMap,h=new WeakMap,m=new WeakMap,g=function(e,n,r,o){if(!p)if(d){if(d&&l&&void 0!==r&&void 0!==o&&"length"!==n){var u=l;e!==s&&function(e,t){for(var n;e;)-1===(n=e.indexOf("."))&&(n=e.length),t(e.slice(0,n)),e=e.slice(n+1)}(e=e.replace(s,"").slice(1),(function(e){u[e]=a(u[e]),u=u[e]})),u[n]=r}c=!0}else t(i(e,n),o,r)},b=function(e,t){var n=v?v.get(e):void 0;n&&n.delete(t)},_=function(e,t){if(p)return e;h.set(e,t);var n=m.get(e);return void 0===n&&(n=new Proxy(e,k),m.set(e,n)),n},y=function(e){return p||!0===o.ignoreSymbols&&"symbol"==typeof e},k={get:function(e,t,a){if(t===u||t===n)return e;if(t===r&&""===h.get(e))return function(e){return p=!0,v=null,h=null,m=null,e}(e);var s=Reflect.get(e,t,a);if(function(e){return null===e||"object"!=typeof e&&"function"!=typeof e}(s)||function(e){return e instanceof RegExp||e instanceof Number}(s)||"constructor"===t||!0===o.isShallow)return s;var l=function(e,t){var n=v?v.get(e):void 0;if(n)return n;n=new Map,v.set(e,n);var r=n.get(t);return r||(r=Reflect.getOwnPropertyDescriptor(e,t),n.set(t,r)),r}(e,t);if(l&&!l.configurable){if(l.set&&!l.get)return;if(!1===l.writable)return s}return _(s,i(h.get(e),t))},set:function(e,t,n,r){n&&void 0!==n[u]&&(n=n[u]);var i=y(t),a=i?null:Reflect.get(e,t,r),o=Reflect.set(e[u]||e,t,n);return i||f(a,n)||g(h.get(e),t,a,n),o},defineProperty:function(e,t,n){var r=Reflect.defineProperty(e,t,n);return y(t)||(b(e,t),g(h.get(e),t,void 0,n.value)),r},deleteProperty:function(e,t){if(!Reflect.has(e,t))return!0;var n=y(t),r=n?null:Reflect.get(e,t),i=Reflect.deleteProperty(e,t);return n||(b(e,t),g(h.get(e),t,r)),i},apply:function(e,t,n){var r=t instanceof Date;if(r&&(t=t[u]),!d){d=!0,r&&(l=t.valueOf()),(Array.isArray(t)||"[object Object]"===toString.call(t))&&(l=a(t[u])),s=(s=h.get(e)).slice(0,Math.max(s.lastIndexOf("."),0));var i=Reflect.apply(e,t,n);return d=!1,(c||r&&!f(l,t.valueOf()))&&(g(s,"",l,t[u]||t),l=null,c=!1),i}return Reflect.apply(e,t,n)}},B=_(e,"");return t=t.bind(B),B};o.target=function(e){return e[n]||e},o.unsubscribe=function(e){return e[r]||e},e.exports=o,t.default=o})),onChange=unwrapExports(onChange_1),nextTick=sdk.Builder.nextTick;function debounceNextTick(e,t,n){return void 0===t&&"function"==typeof e?debounceNextTickImpl(e):{configurable:!0,enumerable:n.enumerable,get:function(){return Object.defineProperty(this,t,{configurable:!0,enumerable:n.enumerable,value:debounceNextTickImpl(n.value)}),this[t]}}}function debounceNextTickImpl(e){var t=null,n=null;return function(){var e=t;if(t=[].slice.call(arguments),n=this,null!==e)return;nextTick(r)};function r(){e.apply(n,t),t=null,n=null}}function throttle(e,t,n){var r,i,a;void 0===n&&(n={});var o=null,s=0,l=function(){s=!1===n.leading?0:Date.now(),o=null,a=e.apply(r,i),o||(r=i=null)};return function(){var u=Date.now();s||!1!==n.leading||(s=u);var d=t-(u-s);return r=this,i=arguments,d<=0||d>t?(o&&(clearTimeout(o),o=null),s=u,a=e.apply(r,i),o||(r=i=null)):o||!1===n.trailing||(o=setTimeout(l,d)),a}}var BuilderMetaContext=React__default.default.createContext({emailMode:!1,ampMode:!1,isServer:!1}),tryEval=function(e,t,n){void 0===t&&(t={});var r=e;if("string"==typeof r&&r.trim()){var i=!(r.includes(";")||r.includes(" return ")),a=function(){};try{sdk.Builder.isBrowser&&(a=new Function("state","var rootState = state;\n if (typeof Proxy !== 'undefined') {\n rootState = new Proxy(rootState, {\n set: function () {\n return false;\n },\n get: function (target, key) {\n if (key === 'state') {\n return state;\n }\n return target[key]\n }\n });\n }\n with (rootState) {\n ".concat(i?"return (".concat(e,");"):e,";\n }")))}catch(e){sdk.Builder.isBrowser&&console.warn("Could not compile javascript",e)}try{return sdk.Builder.isBrowser?a(t||{}):new(0,safeDynamicRequire("vm2").VM)({sandbox:__assign(__assign({},t),{state:t})}).run(r.replace(/(^|;)return /,"$1"))}catch(t){n&&n.push(t),sdk.Builder.isBrowser?console.warn("Builder custom code error:",t.message,"in",e,t.stack):process.env.DEBUG&&console.debug("Builder custom code error:",t.message,"in",e,t.stack)}}};function toError(e){return e instanceof Error?e:new Error(String(e))}function pick(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];var r={};return t.forEach((function(t){r[t]=e[t]})),r}function omit(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];var r=__assign({},e);return t.forEach((function(e){delete r[e]})),r}var wrapComponent=function(e){return function(t){var n,r=t.builderTag||"div",i=["children"].concat((null===(n=e.inputs)||void 0===n?void 0:n.map((function(e){return e.name})))||[]),a=omit.apply(void 0,__spreadArray(__spreadArray([t],i,!1),["attributes"],!1)),o=t;return e.noWrap?React__default.default.createElement(e.class,__assign({attributes:a},o)):React__default.default.createElement(r,__assign({},a),React__default.default.createElement(e.class,__assign({},o)))}},size=function(e){return Object.keys(e).length};function debounce(e,t,n){var r;return void 0===n&&(n=!1),function(){var i=this,a=arguments;clearTimeout(r),r=setTimeout((function(){r=null,n||e.apply(i,a)}),t),n&&!r&&e.apply(i,a)}}var fontsLoaded=new Set,fetch;globalThis.fetch&&(fetch=globalThis.fetch),null!=fetch||(fetch=require("node-fetch"));var sizeMap={desktop:"large",tablet:"medium",mobile:"small"},fetchCache={};function searchToObject(e){var t=(e.search||"").substring(1).split("&"),n={};for(var r in t)if(t[r]&&"string"==typeof t[r]){var i=t[r].split("=");n[decodeURIComponent(i[0])]=decodeURIComponent(i[1])}return n}var BuilderComponent=function(e){function t(t){var n,r=this;(r=e.call(this,t)||this).subscriptions=new sdk.Subscription,r.onStateChange=new sdk.BehaviorSubject(null),r.asServer=sdk.Builder.isServer,r.contentRef=null,r.styleRef=null,r.rootState=sdk.Builder.isServer?{}:onChange({},(function(){return r.updateState()})),r.lastJsCode="",r.lastHttpRequests={},r.httpSubscriptionPerKey={},r.firstLoad=!0,r.ref=null,r.messageListener=function(e){var t=e.data;switch(t.type){case"builder.updateSpacer":var n=t.data;r.rootState._spacer,r.updateState((function(e){e._spacer=n}));break;case"builder.resetState":var i=t.data,a=i.state;if(i.model===r.name){for(var o in r.rootState)"function"!=typeof r.rootState[o]&&delete r.rootState[o];Object.assign(r.rootState,a),r.setState(__assign(__assign({},r.state),{state:r.rootState,updates:(r.state&&r.state.updates||0)+1}))}break;case"builder.resetSymbolState":var s=t.data.state,l=(a=s.state,s.model,s.id);if(r.props.builderBlock&&r.props.builderBlock===l){for(var o in r.rootState)delete r.rootState[o];Object.assign(r.rootState,a),r.setState(__assign(__assign({},r.state),{state:r.rootState,updates:(r.state&&r.state.updates||0)+1}))}}},r.resizeFn=function(){var e=r.deviceSizeState;e!==r.state.state.deviceSize&&r.setState(__assign(__assign({},r.state),{updates:(r.state&&r.state.updates||0)+1,state:Object.assign(r.rootState,__assign(__assign({},r.state.state),{deviceSize:e}))}))},r.resizeListener=sdk.Builder.isEditing?throttle(r.resizeFn,200):debounce(r.resizeFn,400),r.mounted=!1,r.updateState=function(e){var t=r.rootState;e&&e(t),r.mounted?r.setState({update:r.updateState,state:t,updates:(r.state&&r.state.updates||0)+1}):r.state=__assign(__assign({},r.state),{update:r.updateState,state:t,updates:(r.state&&r.state.updates||0)+1}),r.notifyStateChange()},r.onContentLoaded=function(e,t){if("page"===r.name&&sdk.Builder.isBrowser&&e){var n=e.title,i=e.pageTitle,a=e.description,o=e.pageDescription;if((n||i)&&(document.title=n||i),a||o){var s=document.querySelector('meta[name="description"]');s||((s=document.createElement("meta")).setAttribute("name","description"),document.head.appendChild(s)),s.setAttribute("content",a||o)}}if(sdk.Builder.isEditing&&r.notifyStateChange(),r.props.contentLoaded&&r.props.contentLoaded(e,t),e&&e.inputs&&Array.isArray(e.inputs)&&e.inputs.length&&(e.state||(e.state={}),e.inputs.forEach((function(t){t&&t.name&&void 0!==t.defaultValue&&void 0===e.state[t.name]&&(e.state[t.name]=t.defaultValue)}))),e&&e.state){var l=__assign(__assign({},r.state),{updates:(r.state&&r.state.updates||0)+1,state:Object.assign(r.rootState,__assign(__assign(__assign(__assign({},r.state.state),{location:r.locationState,deviceSize:r.deviceSizeState,device:r.device}),e.state),r.externalState))});r.mounted?r.setState(l):r.state=l}if(e&&e.jsCode&&sdk.Builder.isBrowser&&!r.options.codegen){var u=!1;if(sdk.Builder.isEditing&&(r.lastJsCode===e.jsCode?u=!0:r.lastJsCode=e.jsCode),!u){var d=r.state.state;try{new Function("data","ref","state","update","element","Builder","builder","context",e.jsCode)(e,r,d,r.state.update,r.ref,sdk.Builder,sdk.builder,r.state.context)}catch(t){var c=toError(t);sdk.Builder.isBrowser?console.warn("Builder custom code error:",c.message,"in",e.jsCode,c.stack):process.env.DEBUG&&console.debug("Builder custom code error:",c.message,"in",e.jsCode,c.stack)}}}if(e&&e.httpRequests&&!r.props.noAsync&&!(u=!1)){var p=function(t){var n=e.httpRequests[t];if(n&&(!r.data[t]||sdk.Builder.isEditing))if(sdk.Builder.isBrowser){var i=r.evalExpression(n);if(sdk.Builder.isEditing&&r.lastHttpRequests[t]===i)return"continue";r.lastHttpRequests[t]=i;var a=n.match(/builder\.io\/api\/v2\/([^\/\?]+)/i);a&&a[1],r.handleRequest(t,i);var o=r.httpSubscriptionPerKey[t];o&&o.unsubscribe();var s=r.httpSubscriptionPerKey[t]=r.onStateChange.subscribe((function(){var e=r.evalExpression(n);e!==i&&(r.handleRequest(t,e),r.lastHttpRequests[t]=e)}));r.subscriptions.add(s)}else r.handleRequest(t,r.evalExpression(n))};for(var f in e.httpRequests)p(f)}};var i=r.inlinedContent;if(i&&i.content&&(i=i.content),r.sizes=getSizesForBreakpoints((null===(n=null==i?void 0:i.meta)||void 0===n?void 0:n.breakpoints)||{}),r.state={context:__assign(__assign({},t.context),{apiKey:sdk.builder.apiKey||r.props.apiKey}),state:Object.assign(r.rootState,__assign(__assign(__assign(__assign({},r.inlinedContent&&r.inlinedContent.data&&r.inlinedContent.data.state),{isBrowser:sdk.Builder.isBrowser,isServer:!sdk.Builder.isBrowser,_hydrate:t.hydrate,location:r.locationState,deviceSize:r.deviceSizeState,device:r.device}),r.getHtmlData()),t.data)),updates:0,key:0,update:r.updateState},sdk.Builder.isBrowser){var a=r.props.apiKey;if(a&&a!==r.builder.apiKey&&(r.builder.apiKey=a),r.inlinedContent){var o=r.inlinedContent.content||r.inlinedContent;r.onContentLoaded(null==o?void 0:o.data,getContentWithInfo(o))}}return r}return __extends(t,e),Object.defineProperty(t.prototype,"options",{get:function(){return __assign(__assign({},t.defaults),this.props)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"name",{get:function(){return this.props.model||this.props.modelName||this.props.name},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"element",{get:function(){return this.ref},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"inlinedContent",{get:function(){if(!this.isPreviewing||this.props.inlineContent)return this.props.content},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"builder",{get:function(){return this.props.builder||sdk.builder},enumerable:!1,configurable:!0}),t.prototype.getHtmlData=function(){var e=this.inlinedContent&&this.inlinedContent.id||this.props.entry,t=e&&sdk.Builder.isBrowser&&document.querySelector('script[data-builder-json="'.concat(e,'"],script[data-builder-state="').concat(e,'"]'));if(t)try{return JSON.parse(t.innerText)}catch(e){console.warn("Could not parse Builder.io HTML data transfer",e,t.innerText)}return{}},Object.defineProperty(t.prototype,"device",{get:function(){return this.builder.getUserAttributes().device||"desktop"},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"locationState",{get:function(){return __assign(__assign({},pick(this.location,"pathname","hostname","search","host")),{path:this.location.pathname&&this.location.pathname.split("/").slice(1)||"",query:searchToObject(this.location)})},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"deviceSizeState",{get:function(){return sdk.Builder.isBrowser?this.sizes.getSizeForWidth(window.innerWidth):sizeMap[this.device]||"large"},enumerable:!1,configurable:!0}),t.renderInto=function(e,n,r,i){if(void 0===n&&(n={}),void 0===r&&(r=!0),void 0===i&&(i=!1),console.debug("BuilderPage.renderInto",e,n,r,this),e){var a=null;if("string"==typeof e?a=document.querySelector(e):e instanceof Element&&(a=e),a){var o=a.classList.contains("builder-hydrated");if(!o||i){a.classList.add("builder-hydrated");var s=r&&a.innerHTML.includes("builder-block");if(!a.classList.contains("builder-component")){var l=a.querySelector(".builder-api-styles")||(a.previousElementSibling&&a.previousElementSibling.matches(".builder-api-styles")?a.previousElementSibling:null),u="";if(l)l.innerHTML.replace(/\/\*start:([^\*]+?)\*\/([\s\S]*?)\/\*end:([^\*]+?)\*\//g,(function(e,t,n){var r=null;try{r=document.querySelector('[data-emotion-css="'.concat(t,'"]'))}catch(e){console.warn(e)}return r?r.innerHTML=n:sdk.Builder.isEditing||(u+=e),e})),sdk.Builder.nextTick((function(){l.innerHTML=u}));var d=a.querySelector(".builder-component");d?a=d:s=!1}location.search.includes("builder.debug=true")&&console.debug("hydrate",s,a);var c=a;if(!o){var p=document.createElement("div");a.insertAdjacentElement("beforebegin",p),p.appendChild(a),c=p}if((sdk.Builder.isEditing||sdk.Builder.isBrowser&&location.search.includes("builder.preview="))&&(s=!1),s&&a){var f=ReactDOM__default.default.render(React__default.default.createElement(t,__assign({},n)),c,c.builderRootRef);return c.builderRootRef=f,f}var v=ReactDOM__default.default.render(React__default.default.createElement(t,__assign({},n)),c,c.builderRootRef);return c.builderRootRef=v,v}console.debug("Tried to hydrate multiple times")}}},t.prototype.componentDidMount=function(){var e,t=this;this.mounted=!0,this.asServer&&(this.asServer=!1,this.updateState((function(e){e.isBrowser=!0,e.isServer=!1}))),sdk.Builder.isIframe&&(null===(e=window.parent)||void 0===e||e.postMessage({type:"builder.sdkInjected",data:{modelName:this.name}},"*")),sdk.Builder.isBrowser&&(window.addEventListener("resize",this.resizeListener),sdk.Builder.isEditing&&window.addEventListener("message",this.messageListener),(sdk.Builder.isEditing||sdk.Builder.isPreviewing)&&sdk.Builder.nextTick((function(){t.firstLoad=!1,t.reload()})),setTimeout((function(){window.dispatchEvent(new CustomEvent("builder:component:load",{detail:{ref:t}}))})))},Object.defineProperty(t.prototype,"isPreviewing",{get:function(){return(sdk.Builder.isServer||sdk.Builder.isBrowser&&sdk.Builder.isPreviewing&&!this.firstLoad)&&sdk.builder.previewingModel===this.name},enumerable:!1,configurable:!0}),t.prototype.notifyStateChange=function(){if(!sdk.Builder.isServer&&this&&this.state){var e=this.state.state;this.props.onStateChange&&this.props.onStateChange(e),sdk.Builder.isBrowser&&window.dispatchEvent(new CustomEvent("builder:component:stateChange",{detail:{state:e,ref:this}})),this.onStateChange.next(e)}},t.prototype.processStateFromApi=function(e){return e},Object.defineProperty(t.prototype,"location",{get:function(){return this.props.location||(sdk.Builder.isBrowser?location:{})},enumerable:!1,configurable:!0}),t.prototype.getCssFromFont=function(e,t){var n=e.family+(e.kind&&!e.kind.includes("#")?", "+e.kind:""),r=n.split(",")[0],i=e.fileUrl?e.fileUrl:e.files&&e.files.regular,a="";if(i&&n&&r&&(a+='\n@font-face {\n font-family: "'.concat(n,'";\n src: local("').concat(r,"\"), url('").concat(i,"') format('woff2');\n font-display: fallback;\n font-weight: 400;\n}\n ").trim()),e.files)for(var o in e.files){if(String(Number(o))===o){var s=e.files[o];s&&s!==i&&(a+='\n@font-face {\n font-family: "'.concat(n,"\";\n src: url('").concat(s,"') format('woff2');\n font-display: fallback;\n font-weight: ").concat(o,";\n}\n ").trim())}}return a},t.prototype.componentWillUnmount=function(){this.unsubscribe(),sdk.Builder.isBrowser&&(window.removeEventListener("resize",this.resizeListener),window.removeEventListener("message",this.messageListener))},t.prototype.getFontCss=function(e){var t=this;return this.builder.allowCustomFonts&&(null==e?void 0:e.customFonts)&&e.customFonts.length&&e.customFonts.map((function(n){return t.getCssFromFont(n,e)})).join(" ")||""},t.prototype.ensureFontsLoaded=function(e){if(this.builder.allowCustomFonts&&(null==e?void 0:e.customFonts)&&Array.isArray(e.customFonts))for(var t=0,n=e.customFonts;t<n.length;t++){var r=n[t],i=r.fileUrl?r.fileUrl:r.files&&r.files.regular;if(!fontsLoaded.has(i)){var a=this.getCssFromFont(r,e);if(fontsLoaded.add(i),!a)continue;var o=document.createElement("style");o.className="builder-custom-font",o.setAttribute("data-builder-custom-font",i),o.innerHTML=a,document.head.appendChild(o)}}},t.prototype.getCss=function(e){var t,n=null===(t=this.useContent)||void 0===t?void 0:t.id,r=(null==e?void 0:e.cssCode)||"";return n&&(r=r.replace(/&/g,".builder-component-".concat(n))),r+this.getFontCss(e)},Object.defineProperty(t.prototype,"data",{get:function(){var e,t=__assign(__assign(__assign({},this.inlinedContent&&(null===(e=this.inlinedContent.data)||void 0===e?void 0:e.state)),this.externalState),this.state.state);return Object.assign(this.rootState,t),t},enumerable:!1,configurable:!0}),t.prototype.componentDidUpdate=function(e){var t=this;this.props.data&&e.data!==this.props.data&&this.state.update((function(e){Object.assign(e,t.externalState)})),sdk.Builder.isEditing&&this.inlinedContent&&e.content!==this.inlinedContent&&this.onContentLoaded(this.inlinedContent.data,this.inlinedContent)},t.prototype.checkStyles=function(e){if(this.styleRef){var t=this.getCss(e);this.styleRef.innerHTML!==t&&(this.styleRef.innerHTML=t)}},t.prototype.reload=function(){this.setState({key:this.state.key+1})},Object.defineProperty(t.prototype,"content",{get:function(){var e=this.inlinedContent;return e&&e.content&&(e=__assign(__assign({},e),{data:e.content})),e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"externalState",{get:function(){return __assign(__assign({},this.props.data),this.props.locale?{locale:this.props.locale}:{})},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"useContent",{get:function(){return this.content||this.state.context.builderContent},enumerable:!1,configurable:!0}),t.prototype.render=function(){var e,t=this,n=this.content,r=sdk.Builder.isBrowser&&this.externalState&&size(this.externalState)&&hash__default.default(this.externalState),i=sdk.Builder.isEditing?this.name:this.props.entry;i&&!sdk.Builder.isEditing&&r&&r.length<300&&(i+=":"+r);var a=this.props.dataOnly?React__default.default.Fragment:"div",o=null===(e=this.useContent)||void 0===e?void 0:e.id;return React__default.default.createElement(a,{onClick:function(e){!sdk.Builder.isEditing||t.props.isChild||t.props.stopClickPropagationWhenEditing||e.stopPropagation()},className:"builder-component ".concat(o?"builder-component-".concat(o):""),"data-name":this.name,"data-source":"Rendered by Builder.io",key:this.state.key,ref:function(e){return t.ref=e}},React__default.default.createElement(BuilderMetaContext.Consumer,null,(function(e){return React__default.default.createElement(BuilderMetaContext.Provider,{value:"boolean"==typeof t.props.ampMode?__assign(__assign({},e),{ampMode:t.props.ampMode}):e},React__default.default.createElement(BuilderAsyncRequestsContext.Consumer,null,(function(e){var r;return t._asyncRequests=e&&e.requests,t._errors=e&&e.errors,t._logs=e&&e.logs,React__default.default.createElement(BuilderContent,{isStatic:t.props.isStatic||sdk.Builder.isStatic,key:(null===(r=t.inlinedContent)||void 0===r?void 0:r.id)||("content"in t.props&&!t.isPreviewing?"null-content-prop":"no-content-prop"),builder:t.builder,ref:function(e){return t.contentRef=e},contentLoaded:function(e,n){return t.onContentLoaded(e,n)},options:__assign(__assign(__assign(__assign(__assign(__assign({key:i,entry:t.props.entry},n&&{initialContent:[n]}),!n&&"content"in t.props&&!t.isPreviewing&&{initialContent:[]}),t.props.url&&{url:t.props.url}),t.props.options),t.props.locale?{locale:t.props.locale}:{}),t.options.codegen&&{format:"react"}),inline:t.props.inlineContent||!t.isPreviewing&&"content"in t.props,contentError:t.props.contentError,modelName:t.name||"page"},(function(e,n,r){var i;if(t.props.dataOnly)return null;r&&r.id&&(t.state.context.builderContent=r),sdk.Builder.isBrowser&&sdk.Builder.nextTick((function(){t.checkStyles(e)}));var a=t.options.codegen;if(a&&!t.Component&&(null==e?void 0:e.blocksJs)){var o=Array.from(new Set(sdk.Builder.components.map((function(e){return e.name})))),s=sdk.Builder.components.slice().reverse(),l=o.map((function(e){return s.find((function(t){return t.class&&t.name===e}))})),u=o.map((function(e){return(e||"").replace(/[^\w]+/gi,"")})),d=l.map((function(e){return wrapComponent(e)}));t.Component=(new(Function.bind.apply(Function,__spreadArray(__spreadArray([void 0,"jsx","_css","Builder","builder","React","useBuilderState"],u,!1),[e.blocksJs],!1)))).apply(void 0,__spreadArray([core.jsx,core.css,sdk.Builder,sdk.builder,React__default.default,function(e){var t=React__default.default.useState(0)[1];return React__default.default.useState((function(){return onChange(e,(function(){t((function(e){return e+1}))}))}))[0]}],d,!1))}return e?React__default.default.createElement("div",{"data-builder-component":t.name,"data-builder-content-id":r.id,"data-builder-variation-id":r.testVariationId||r.variationId||r.id},!a&&t.getCss(e)&&React__default.default.createElement("style",{ref:function(e){return t.styleRef=e},className:"builder-custom-styles",dangerouslySetInnerHTML:{__html:t.getCss(e)}}),React__default.default.createElement(BuilderStoreContext.Provider,{value:__assign(__assign({},t.state),{rootState:t.rootState,state:t.data,content:r,renderLink:t.props.renderLink})},a&&t.Component?React__default.default.createElement(t.Component,{data:t.data,context:t.state.context}):React__default.default.createElement(BuilderBlocks,{key:String(!!(null===(i=null==e?void 0:e.blocks)||void 0===i?void 0:i.length)),emailMode:t.props.emailMode,fieldName:"blocks",blocks:e.blocks}))):n?React__default.default.createElement("div",{"data-builder-component":t.name,className:"builder-loading"},t.props.children):React__default.default.createElement("div",{"data-builder-component":t.name,className:"builder-no-content"})}))})))})))},t.prototype.evalExpression=function(e){var t=this,n=this.data;return String(e).replace(/{{([^}]+)}}/g,(function(e,r){return tryEval(r,n,t._errors)}))},t.prototype.handleRequest=function(e,t){return __awaiter(this,void 0,void 0,(function(){var n,r,i,a,o=this;return __generator(this,(function(s){return sdk.Builder.isIframe&&fetchCache[t]?(this.updateState((function(n){n[e]=fetchCache[t]})),[2,fetchCache[t]]):(n=function(){return __awaiter(o,void 0,void 0,(function(){var n,r,i,a;return __generator(this,(function(o){switch(o.label){case 0:n=Date.now(),sdk.Builder.isBrowser||console.time("Fetch "+t),o.label=1;case 1:return o.trys.push([1,4,5,6]),[4,fetch(t)];case 2:return[4,o.sent().json()];case 3:return r=o.sent(),[3,6];case 4:return i=o.sent(),a=toError(i),this._errors&&this._errors.push(a),this._logs&&this._logs.push("Fetch to ".concat(t," errored in ").concat(Date.now()-n,"ms")),[2];case 5:return sdk.Builder.isBrowser||(console.timeEnd("Fetch "+t),this._logs&&this._logs.push("Fetched ".concat(t," in ").concat(Date.now()-n,"ms"))),[7];case 6:return r&&(sdk.Builder.isIframe&&(fetchCache[t]=r),this.updateState((function(t){t[e]=r}))),[2,r]}}))}))},(r=this._asyncRequests&&this._asyncRequests.find((function(e){return isRequestInfo(e)&&e.url===t})))?((i=r.promise).then((function(t){t&&o.updateState((function(n){n[e]=t}))})),[2,i]):(a=n(),sdk.Builder.nextTick((function(){o._asyncRequests&&o._asyncRequests.push(a)})),[2,a]))}))}))},t.prototype.unsubscribe=function(){this.subscriptions&&(this.subscriptions.unsubscribe(),this.subscriptions=new sdk.Subscription)},t.prototype.handleBuilderRequest=function(e,t){var n=this,r=tryEval(t,this.data,this._errors);this.subscriptions&&this.unsubscribe(),r&&this.subscriptions.add(this.builder.queueGetContent(r.model,r).subscribe((function(t){t&&n.updateState((function(n){n[e]=t}))})))},t.defaults={codegen:Boolean(sdk.Builder.isBrowser&&location.href.includes("builder.codegen=true"))},__decorate([debounceNextTick,__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",void 0)],t.prototype,"notifyStateChange",null),t}(React__default.default.Component),withChildren=function(e){var t=React__default.default.forwardRef((function(t,n){var r=t.children||t.builderBlock&&t.builderBlock.children&&t.builderBlock.children.map((function(e){return React__default.default.createElement(BuilderBlock,{key:e.id,block:e})}));return React__default.default.createElement(e,__assign({},t,{ref:n}),r)}));return t.builderOptions={canHaveChildren:!0},t};function useIsPreviewing(){var e=React.useState(!1),t=e[0],n=e[1];return React.useEffect((function(){(sdk.Builder.isEditing||sdk.Builder.isPreviewing)&&n(!0)}),[]),t}sdk.Builder.isReact=!0,Object.defineProperty(exports,"Builder",{enumerable:!0,get:function(){return sdk.Builder}}),Object.defineProperty(exports,"builder",{enumerable:!0,get:function(){return sdk.builder}}),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return sdk.builder}}),exports.BuilderAsyncRequestsContext=BuilderAsyncRequestsContext,exports.BuilderBlockComponent=BuilderBlock,exports.BuilderBlocks=BuilderBlocks,exports.BuilderComponent=BuilderComponent,exports.BuilderContent=BuilderContent,exports.BuilderMetaContext=BuilderMetaContext,exports.BuilderPage=BuilderComponent,exports.BuilderStoreContext=BuilderStoreContext,exports.stringToFunction=stringToFunction,exports.useIsPreviewing=useIsPreviewing,exports.withChildren=withChildren;
|
|
2
2
|
//# sourceMappingURL=builder-react-lite.cjs.js.map
|