@builder.io/react 2.0.14 → 2.0.15-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 +3 -0
- 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 +6 -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 +6 -1
- package/dist/builder-react.unpkg.js.map +1 -1
- package/dist/lib/package.json +14 -13
- package/dist/lib/src/functions/no-wrap.js +2 -0
- package/dist/lib/src/functions/no-wrap.js.map +1 -1
- package/dist/lib/src/functions/with-children.js +4 -1
- package/dist/lib/src/functions/with-children.js.map +1 -1
- package/dist/types/src/blocks/Mutation.d.ts +0 -1
- package/dist/types/src/blocks/Slot.d.ts +0 -1
- package/dist/types/src/blocks/raw/RawText.d.ts +0 -1
- package/dist/types/src/functions/safe-dynamic-require.d.ts +1 -0
- package/package.json +14 -13
- package/src/functions/no-wrap.tsx +2 -0
- package/src/functions/with-children.tsx +2 -0
- package/tsconfig.json +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder-react.browser.js","sources":["../src/scripts/init-editing.ts","../node_modules/hash-sum/hash-sum.js","../node_modules/@builder.io/sdk/src/polyfills/custom-event-polyfill.js","../node_modules/@builder.io/sdk/src/functions/next-tick.function.ts","../node_modules/@builder.io/sdk/src/classes/query-string.class.ts","../node_modules/@builder.io/sdk/src/classes/observable.class.ts","../node_modules/@builder.io/sdk/src/classes/promise.class.ts","../node_modules/@builder.io/sdk/src/functions/server-only-require.function.ts","../node_modules/@builder.io/sdk/src/functions/fetch.function.ts","../node_modules/@builder.io/sdk/src/functions/assign.function.ts","../node_modules/@builder.io/sdk/src/functions/throttle.function.ts","../node_modules/@builder.io/sdk/src/classes/animator.class.ts","../node_modules/@builder.io/sdk/src/functions/get-top-level-domain.ts","../node_modules/@builder.io/sdk/src/classes/cookies.class.ts","../node_modules/@builder.io/sdk/src/functions/omit.function.ts","../node_modules/@builder.io/sdk/src/functions/uuid.ts","../node_modules/@builder.io/sdk/src/url.ts","../node_modules/@builder.io/sdk/src/functions/to-error.ts","../node_modules/@builder.io/sdk/src/builder.class.ts","../node_modules/@builder.io/sdk/src/constants/builder.ts","../node_modules/@babel/runtime/helpers/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/inheritsLoose.js","../node_modules/object-assign/index.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/@emotion/sheet/dist/sheet.esm.js","../node_modules/@emotion/stylis/dist/stylis.esm.js","../node_modules/@emotion/weak-memoize/dist/weak-memoize.esm.js","../node_modules/@emotion/cache/dist/cache.esm.js","../node_modules/@emotion/utils/dist/utils.esm.js","../node_modules/@emotion/hash/dist/hash.esm.js","../node_modules/@emotion/unitless/dist/unitless.esm.js","../node_modules/@emotion/memoize/dist/memoize.esm.js","../node_modules/@emotion/serialize/dist/serialize.esm.js","../node_modules/@emotion/css/dist/css.esm.js","../node_modules/@emotion/core/dist/core.esm.js","../src/functions/utils.ts","../src/constants/device-sizes.constant.ts","../src/functions/set.ts","../src/functions/safe-dynamic-require.ts","../src/functions/string-to-function.ts","../src/store/builder-async-requests.ts","../src/store/builder-store.ts","../src/functions/apply-patch-with-mutation.ts","../src/functions/block-to-html-string.ts","../src/components/Link.tsx","../src/components/builder-block.component.tsx","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/index.js","../src/components/builder-blocks.component.tsx","../src/components/no-wrap.tsx","../src/components/variants-provider.component.tsx","../src/components/builder-content.component.tsx","../lib/on-change.js","../src/functions/debonce-next-tick.ts","../src/functions/throttle.ts","../src/store/builder-meta.ts","../src/functions/try-eval.tsx","../src/to-error.ts","../src/functions/get-builder-pixel.ts","../src/components/builder-component.component.tsx","../src/decorators/builder-block.decorator.ts","../src/functions/update-metadata.ts","../src/functions/with-builder.ts","../src/functions/with-children.tsx","../src/functions/no-wrap.tsx","../src/blocks/Text.tsx","../src/blocks/Slot.tsx","../src/blocks/Fragment.tsx","../src/blocks/Columns.tsx","../src/blocks/Embed.tsx","../src/blocks/CustomCode.tsx","../src/blocks/Image.tsx","../src/blocks/Video.tsx","../src/blocks/Symbol.tsx","../src/blocks/Button.tsx","../src/blocks/Section.tsx","../src/blocks/StateProvider.tsx","../src/blocks/Router.tsx","../src/blocks/Mutation.tsx","../src/functions/get.ts","../src/blocks/forms/Form.tsx","../src/blocks/forms/Input.tsx","../src/blocks/forms/Button.tsx","../src/blocks/forms/Label.tsx","../src/blocks/forms/Select.tsx","../src/blocks/forms/TextArea.tsx","../src/blocks/raw/Img.tsx","../src/blocks/raw/RawText.tsx","../src/hooks/useIsPreviewing.ts","../src/builder-react.ts"],"sourcesContent":["import { version } from '../../package.json';\n\nif (typeof window !== 'undefined') {\n window.parent?.postMessage(\n {\n type: 'builder.isReactSdk',\n data: {\n value: true,\n supportsPatchUpdates: 'v4',\n supportsCustomBreakpoints: true,\n priorVersion: version,\n },\n },\n '*'\n );\n}\n","'use strict';\n\nfunction pad (hash, len) {\n while (hash.length < len) {\n hash = '0' + hash;\n }\n return hash;\n}\n\nfunction fold (hash, text) {\n var i;\n var chr;\n var len;\n if (text.length === 0) {\n return hash;\n }\n for (i = 0, len = text.length; i < len; i++) {\n chr = text.charCodeAt(i);\n hash = ((hash << 5) - hash) + chr;\n hash |= 0;\n }\n return hash < 0 ? hash * -2 : hash;\n}\n\nfunction foldObject (hash, o, seen) {\n return Object.keys(o).sort().reduce(foldKey, hash);\n function foldKey (hash, key) {\n return foldValue(hash, o[key], key, seen);\n }\n}\n\nfunction foldValue (input, value, key, seen) {\n var hash = fold(fold(fold(input, key), toString(value)), typeof value);\n if (value === null) {\n return fold(hash, 'null');\n }\n if (value === undefined) {\n return fold(hash, 'undefined');\n }\n if (typeof value === 'object' || typeof value === 'function') {\n if (seen.indexOf(value) !== -1) {\n return fold(hash, '[Circular]' + key);\n }\n seen.push(value);\n\n var objHash = foldObject(hash, value, seen)\n\n if (!('valueOf' in value) || typeof value.valueOf !== 'function') {\n return objHash;\n }\n\n try {\n return fold(objHash, String(value.valueOf()))\n } catch (err) {\n return fold(objHash, '[valueOf exception]' + (err.stack || err.message))\n }\n }\n return fold(hash, value.toString());\n}\n\nfunction toString (o) {\n return Object.prototype.toString.call(o);\n}\n\nfunction sum (o) {\n return pad(foldValue(0, o, '', []).toString(16), 8);\n}\n\nmodule.exports = sum;\n","(function () {\n if (typeof window === 'undefined' || typeof window.CustomEvent === 'function') return false;\n\n function CustomEvent(event, params) {\n params = params || { bubbles: false, cancelable: false, detail: null };\n var evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);\n return evt;\n }\n\n window.CustomEvent = CustomEvent;\n})();\n","const isSafari =\n typeof window !== 'undefined' &&\n /^((?!chrome|android).)*safari/i.test(window.navigator.userAgent);\n\nconst isClient = typeof window !== 'undefined';\n\n// TODO: queue all of these in a debounceNextTick\nexport function nextTick(fn: () => void) {\n // React native\n if (typeof setImmediate === 'function' && typeof window === 'undefined') {\n return setImmediate(fn);\n }\n // TODO: should this be setImmediate instead? Forgot if that is micro or macro task\n // TODO: detect specifically if is server\n // if (typeof process !== 'undefined' && process.nextTick) {\n // console.log('process.nextTick?');\n // process.nextTick(fn);\n // return;\n // }\n // FIXME: fix the real safari issue of this randomly not working\n if (isSafari || typeof MutationObserver === 'undefined') {\n setTimeout(fn);\n return;\n }\n let called = 0;\n const observer = new MutationObserver(() => fn());\n const element = document.createTextNode('');\n observer.observe(element, {\n characterData: true,\n });\n // tslint:disable-next-line\n element.data = String((called = ++called));\n}\n","export type StringMap = Record<string, string>;\n\nconst PROPERTY_NAME_DENY_LIST = Object.freeze(['__proto__', 'prototype', 'constructor']);\n\n// TODO: unit tests\nexport class QueryString {\n static parseDeep(queryString: string) {\n const obj = this.parse(queryString);\n return this.deepen(obj);\n }\n\n static stringifyDeep(obj: any) {\n const map = this.flatten(obj);\n return this.stringify(map);\n }\n\n static parse(queryString: string): StringMap {\n const query: StringMap = {};\n const pairs = (queryString[0] === '?' ? queryString.substr(1) : queryString).split('&');\n for (let i = 0; i < pairs.length; i++) {\n const pair = pairs[i].split('=');\n // TODO: node support?\n try {\n query[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1] || '');\n } catch (error) {\n // Ignore malformed URI components\n }\n }\n return query;\n }\n\n static stringify(map: StringMap) {\n let str = '';\n for (const key in map) {\n if (map.hasOwnProperty(key)) {\n const value = map[key];\n if (str) {\n str += '&';\n }\n str += encodeURIComponent(key) + '=' + encodeURIComponent(value);\n }\n }\n return str;\n }\n\n static deepen(map: StringMap) {\n // FIXME; Should be type Tree = Record<string, string | Tree>\n // requires a typescript upgrade.\n const output: any = {};\n for (const k in map) {\n let t = output;\n const parts = k.split('.');\n const key = parts.pop()!;\n for (const part of parts) {\n assertAllowedPropertyName(part);\n t = t[part] = t[part] || {};\n }\n t[key] = map[k];\n }\n return output;\n }\n\n static flatten(obj: any, _current?: any, _res: any = {}): StringMap {\n for (const key in obj) {\n const value = obj[key];\n const newKey = _current ? _current + '.' + key : key;\n if (value && typeof value === 'object') {\n this.flatten(value, newKey, _res);\n } else {\n _res[newKey] = value;\n }\n }\n\n return _res;\n }\n}\n\nfunction assertAllowedPropertyName(name: string): asserts name {\n if (PROPERTY_NAME_DENY_LIST.indexOf(name) >= 0)\n throw new Error(`Property name \"${name}\" is not allowed`);\n}\n","export type Listener<T> = (value: T) => void;\n\nexport class Subscription<FunctionType = Function> {\n constructor(private listeners?: FunctionType[], private listener?: FunctionType) {}\n\n unsubscribed = false;\n\n get closed() {\n return this.unsubscribed;\n }\n\n private readonly otherSubscriptions: Subscription[] = [];\n\n add(subscription: Subscription) {\n this.otherSubscriptions.push(subscription);\n }\n\n unsubscribe() {\n if (this.unsubscribed) {\n return;\n }\n if (this.listener && this.listeners) {\n const index = this.listeners.indexOf(this.listener);\n if (index > -1) {\n this.listeners.splice(index, 1);\n }\n }\n this.otherSubscriptions.forEach(sub => sub.unsubscribe());\n this.unsubscribed = true;\n }\n}\n\n// TODO: follow minimal basic spec: https://github.com/tc39/proposal-observable\nexport class BehaviorSubject<T = any, ErrorType = any> {\n constructor(public value: T) {}\n\n private listeners: Listener<T>[] = [];\n private errorListeners: Listener<ErrorType>[] = [];\n\n next(value: T) {\n this.value = value;\n for (const listener of this.listeners) {\n listener(value);\n }\n }\n\n // TODO: implement this as PIPE instead\n map<NewType = any>(fn: (item: T) => NewType) {\n const newSubject = new BehaviorSubject<NewType>(fn(this.value));\n // TODO: on destroy delete these\n this.subscribe(val => {\n newSubject.next(fn(val));\n });\n this.catch(err => {\n newSubject.error(err);\n });\n return newSubject;\n }\n\n catch(errorListener: Listener<ErrorType>) {\n this.errorListeners.push(errorListener);\n return new Subscription(this.errorListeners, errorListener);\n }\n\n error(error: ErrorType) {\n for (const listener of this.errorListeners) {\n listener(error);\n }\n }\n\n subscribe(listener: Listener<T>, errorListener?: Listener<ErrorType>) {\n this.listeners.push(listener);\n if (errorListener) {\n this.errorListeners.push(errorListener);\n }\n return new Subscription(this.listeners, listener);\n }\n\n toPromise() {\n return new Promise<T>((resolve, reject) => {\n const subscription = this.subscribe(\n value => {\n resolve(value);\n subscription.unsubscribe();\n },\n err => {\n reject(err);\n subscription.unsubscribe();\n }\n );\n });\n }\n\n promise() {\n return this.toPromise();\n }\n}\n\n// TODO: make different classes\nexport const Observer = BehaviorSubject;\nexport const Observable = BehaviorSubject;\n","import { nextTick } from '../functions/next-tick.function';\n\nconst State = {\n Pending: 'Pending',\n Fulfilled: 'Fulfilled',\n Rejected: 'Rejected',\n};\n\nfunction isFunction(val: any) {\n return val && typeof val === 'function';\n}\n\nfunction isObject(val: any) {\n return val && typeof val === 'object';\n}\n\ninterface Handler<T> {\n onFulfilled: (val: T) => any;\n onRejected: (err: any) => any;\n}\n\nexport class TinyPromise<T = any> {\n private _state = State.Pending;\n private _handlers: Handler<T>[] = [];\n private _value: T | null = null;\n\n constructor(executor: (resolve: (val: T) => any, reject: (err: T) => any) => void) {\n executor(this._resolve.bind(this), this._reject.bind(this));\n }\n\n private _resolve(x: any) {\n if (x instanceof TinyPromise) {\n x.then(this._resolve.bind(this), this._reject.bind(this));\n } else if (isObject(x) || isFunction(x)) {\n let called = false;\n try {\n const thenable = (x as Promise<any>).then;\n if (isFunction(thenable)) {\n thenable.call(\n x,\n (result: any) => {\n if (!called) this._resolve(result);\n called = true;\n return undefined as any;\n },\n (error: any) => {\n if (!called) this._reject(error);\n called = true;\n return undefined as any;\n }\n );\n } else {\n this._fulfill(x);\n }\n } catch (ex) {\n if (!called) {\n this._reject(ex);\n }\n }\n } else {\n this._fulfill(x);\n }\n }\n\n private _fulfill(result: T) {\n this._state = State.Fulfilled;\n this._value = result;\n this._handlers.forEach(handler => this._callHandler(handler));\n }\n\n private _reject(error: any) {\n this._state = State.Rejected;\n this._value = error;\n this._handlers.forEach(handler => this._callHandler(handler));\n }\n\n private _isPending() {\n return this._state === State.Pending;\n }\n\n private _isFulfilled() {\n return this._state === State.Fulfilled;\n }\n\n private _isRejected() {\n return this._state === State.Rejected;\n }\n\n private _addHandler(onFulfilled: (val: T) => any, onRejected: (err: any) => any) {\n this._handlers.push({\n onFulfilled,\n onRejected,\n });\n }\n\n private _callHandler(handler: Handler<T>) {\n if (this._isFulfilled() && isFunction(handler.onFulfilled)) {\n handler.onFulfilled(this._value as T);\n } else if (this._isRejected() && isFunction(handler.onRejected)) {\n handler.onRejected(this._value);\n }\n }\n\n then(onFulfilled: (val: T) => any, onRejected: (err: any) => any) {\n switch (this._state) {\n case State.Pending: {\n return new TinyPromise((resolve, reject) => {\n this._addHandler(\n value => {\n nextTick(() => {\n try {\n if (isFunction(onFulfilled)) {\n resolve(onFulfilled(value));\n } else {\n resolve(value);\n }\n } catch (ex) {\n reject(ex);\n }\n });\n },\n error => {\n nextTick(() => {\n try {\n if (isFunction(onRejected)) {\n resolve(onRejected(error));\n } else {\n reject(error);\n }\n } catch (ex) {\n reject(ex);\n }\n });\n }\n );\n });\n }\n\n case State.Fulfilled: {\n return new TinyPromise((resolve, reject) => {\n nextTick(() => {\n try {\n if (isFunction(onFulfilled)) {\n resolve(onFulfilled(this._value as T));\n } else {\n resolve(this._value as T);\n }\n } catch (ex) {\n reject(ex);\n }\n });\n });\n }\n\n case State.Rejected: {\n return new TinyPromise((resolve, reject) => {\n nextTick(() => {\n try {\n if (isFunction(onRejected)) {\n resolve(onRejected(this._value));\n } else {\n reject(this._value);\n }\n } catch (ex) {\n reject(ex);\n }\n });\n });\n }\n }\n }\n}\n\nexport default (typeof Promise !== 'undefined' ? Promise : TinyPromise) as PromiseConstructor;\n","// Webpack workaround to conditionally require certain external modules\n// only on the server and not bundle them on the client\nlet serverOnlyRequire: NodeRequire;\ntry {\n // tslint:disable-next-line:no-eval\n serverOnlyRequire = eval('require');\n} catch (err) {\n // all good\n serverOnlyRequire = (() => null) as any;\n}\n\nexport default serverOnlyRequire;\n","import Promise from '../classes/promise.class';\nimport serverOnlyRequire from './server-only-require.function';\n\nexport interface SimplifiedFetchOptions {\n body?: string;\n headers?: { [key: string]: string };\n method?: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';\n credentials?: 'include';\n mode?: RequestMode;\n}\n\nexport interface SimpleFetchResponse {\n ok: boolean;\n status: number;\n statusText: string;\n url: string;\n clone: () => any;\n text: () => Promise<string>;\n json: () => Promise<any>;\n blob: () => Promise<Blob>;\n headers: {\n keys: () => string[];\n entries: () => [string, string][];\n get: (n: string) => string;\n has: (n: string) => boolean;\n };\n}\n\nfunction promiseResolve<T>(value: T) {\n return new Promise<T>(resolve => resolve(value));\n}\n\n// Adapted from https://raw.githubusercontent.com/developit/unfetch/master/src/index.mjs\nexport function tinyFetch(url: string, options: SimplifiedFetchOptions = {}) {\n return new Promise<SimpleFetchResponse>((resolve, reject) => {\n const request = new XMLHttpRequest();\n\n request.open(options.method || 'get', url, true);\n\n if (options.headers) {\n for (const i in options.headers) {\n request.setRequestHeader(i, options.headers[i]);\n }\n }\n\n request.withCredentials = options.credentials === 'include';\n\n request.onload = () => {\n resolve(response());\n };\n\n request.onerror = reject;\n\n request.send(options.body);\n\n function response() {\n const keys: string[] = [];\n const all: [string, string][] = [];\n const headers: { [key: string]: string } = {};\n let header: string | undefined = undefined;\n\n request\n .getAllResponseHeaders()\n .replace(/^(.*?):[^\\S\\n]*([\\s\\S]*?)$/gm, (_match, _key, value) => {\n let key = _key;\n keys.push((key = key.toLowerCase()));\n all.push([key, value]);\n header = headers[key];\n headers[key] = header ? `${header},${value}` : value;\n return '';\n });\n\n return {\n ok: ((request.status / 100) | 0) === 2, // 200-299\n status: request.status,\n statusText: request.statusText,\n url: request.responseURL,\n clone: response,\n text: () => promiseResolve(request.responseText),\n json: () => promiseResolve(request.responseText).then(JSON.parse),\n blob: () => promiseResolve(new Blob([request.response])),\n headers: {\n keys: () => keys,\n entries: () => all,\n get: (n: string) => headers[n.toLowerCase()],\n has: (n: string) => n.toLowerCase() in headers,\n },\n };\n }\n });\n}\n\nexport let fetch: typeof tinyFetch;\n\n// If fetch is defined, in the browser, via polyfill, or in a Cloudflare worker, use it.\nif (globalThis.fetch) {\n fetch = globalThis.fetch as any;\n}\n\n// If fetch is not defined, in a Node.js environment, use node-fetch.\nif (typeof window === 'undefined') {\n fetch ??= serverOnlyRequire('node-fetch');\n}\n\n// Otherwise, use tiny-fetch.\nfetch ??= tinyFetch;\n","export function assign(target: object, ...args: any[]) {\n const to = Object(target);\n\n for (let index = 1; index < arguments.length; index++) {\n const nextSource = arguments[index];\n\n if (nextSource != null) {\n // Skip over if undefined or null\n for (const nextKey in nextSource) {\n // Avoid bugs when hasOwnProperty is shadowed\n if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n }\n return to;\n}\n","export function throttle(func: Function, wait: number, options: any = {}) {\n let context: any;\n let args: any;\n let result: any;\n let timeout = null as any;\n let previous = 0;\n const later = function () {\n previous = options.leading === false ? 0 : Date.now();\n timeout = null;\n result = func.apply(context, args);\n if (!timeout) context = args = null;\n };\n return function (this: any) {\n const now = Date.now();\n if (!previous && options.leading === false) previous = now;\n const remaining = wait - (now - previous);\n context = this;\n args = arguments;\n if (remaining <= 0 || remaining > wait) {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n previous = now;\n result = func.apply(context, args);\n if (!timeout) context = args = null;\n } else if (!timeout && options.trailing !== false) {\n timeout = setTimeout(later, remaining);\n }\n return result;\n };\n}\n","import { throttle } from '../functions/throttle.function';\nimport { assign } from '../functions/assign.function';\n\nconst camelCaseToKebabCase = (str?: string) =>\n str ? str.replace(/([A-Z])/g, g => `-${g[0].toLowerCase()}`) : '';\n\nexport interface AnimationStep {\n // First one is always start state\n // isStartState?: boolean;\n styles: { [key: string]: string };\n delay?: number;\n}\n\nexport interface Animation {\n elementId: string;\n trigger: string;\n steps: AnimationStep[];\n duration: number;\n delay?: number;\n easing?: string;\n // TODO: deprecate - only here because of an API bug\n id?: string;\n // only apply in scrollInView\n repeat?: boolean;\n // only apply in scrollInView, number from -1 to 1\n thresholdPercent?: number;\n}\n\nexport class Animator {\n bindAnimations(animations: Animation[]) {\n for (const animation of animations) {\n switch (animation.trigger) {\n case 'pageLoad':\n this.triggerAnimation(animation);\n break;\n case 'hover':\n this.bindHoverAnimation(animation);\n break;\n case 'scrollInView':\n this.bindScrollInViewAnimation(animation);\n break;\n }\n }\n }\n\n private warnElementNotPresent(id: string) {\n console.warn(`Cannot animate element: element with ID ${id} not found!`);\n }\n\n private augmentAnimation(animation: Animation, element: HTMLElement) {\n const stylesUsed = this.getAllStylesUsed(animation);\n const computedStyle: any = getComputedStyle(element);\n // const computedStyle = getComputedStyle(element);\n // // FIXME: this will break if original load is in one reponsive size then resize to another hmmm\n // Need to use transform instead of left since left can change on screen sizes\n const firstStyles = animation.steps[0].styles;\n const lastStyles = animation.steps[animation.steps.length - 1]!.styles;\n const bothStyles = [firstStyles, lastStyles];\n\n // FIXME: this won't work as expected for augmented animations - may need the editor itself to manage this\n for (const styles of bothStyles) {\n for (const style of stylesUsed) {\n if (!(style in styles)) {\n styles[style] = computedStyle[style];\n }\n }\n }\n }\n\n private getAllStylesUsed(animation: Animation) {\n const properties: (keyof CSSStyleDeclaration)[] = [];\n for (const step of animation.steps) {\n for (const key in step.styles) {\n if (properties.indexOf(key as any) === -1) {\n properties.push(key as any);\n }\n }\n }\n return properties;\n }\n\n triggerAnimation(animation: Animation) {\n // TODO: do for ALL elements\n const elements = Array.prototype.slice.call(\n document.getElementsByClassName(animation.elementId || animation.id || '')\n ) as HTMLElement[];\n if (!elements.length) {\n this.warnElementNotPresent(animation.elementId || animation.id || '');\n return;\n }\n\n Array.from(elements).forEach(element => {\n this.augmentAnimation(animation, element);\n // TODO: do this properly, may have other animations of different properties\n\n // TODO: only override the properties\n // TODO: if there is an entrance and hover animation, the transition duration will get effed\n // element.setAttribute('style', '');\n\n // const styledUsed = this.getAllStylesUsed(animation);\n element.style.transition = 'none';\n element.style.transitionDelay = '0';\n assign(element.style, animation.steps[0].styles);\n // TODO: queue/batch these timeouts\n // TODO: only include properties explicitly set in the animation\n // using Object.keys(styles)\n setTimeout(() => {\n element.style.transition = `all ${animation.duration}s ${camelCaseToKebabCase(\n animation.easing\n )}`;\n if (animation.delay) {\n element.style.transitionDelay = animation.delay + 's';\n }\n assign(element.style, animation.steps[1].styles);\n // TODO: maybe remove/reset transitoin property after animation duration\n\n // TODO: queue timers\n setTimeout(() => {\n // TODO: what if has other transition (reset back to what it was)\n element.style.transition = '';\n element.style.transitionDelay = '';\n }, (animation.delay || 0) * 1000 + animation.duration * 1000 + 100);\n });\n });\n }\n\n bindHoverAnimation(animation: Animation) {\n // TODO: is it multiple binding when editing...?\n // TODO: unbind on element remove\n // TODO: apply to ALL elements\n const elements = Array.prototype.slice.call(\n document.getElementsByClassName(animation.elementId || animation.id || '')\n ) as HTMLElement[];\n if (!elements.length) {\n this.warnElementNotPresent(animation.elementId || animation.id || '');\n return;\n }\n\n Array.from(elements).forEach(element => {\n this.augmentAnimation(animation, element);\n\n const defaultState = animation.steps[0].styles;\n const hoverState = animation.steps[1].styles;\n function attachDefaultState() {\n assign(element!.style, defaultState);\n }\n function attachHoverState() {\n assign(element!.style, hoverState);\n }\n attachDefaultState();\n element.addEventListener('mouseenter', attachHoverState);\n element.addEventListener('mouseleave', attachDefaultState);\n // TODO: queue/batch these timeouts\n setTimeout(() => {\n element.style.transition = `all ${animation.duration}s ${camelCaseToKebabCase(\n animation.easing\n )}`;\n if (animation.delay) {\n element.style.transitionDelay = animation.delay + 's';\n }\n });\n });\n }\n\n // TODO: unbind on element remove\n bindScrollInViewAnimation(animation: Animation) {\n // TODO: apply to ALL matching elements\n const elements = Array.prototype.slice.call(\n document.getElementsByClassName(animation.elementId || animation.id || '')\n ) as HTMLElement[];\n if (!elements.length) {\n this.warnElementNotPresent(animation.elementId || animation.id || '');\n return;\n }\n\n // TODO: if server side rendered and scrolled into view don't animate...\n Array.from(elements).forEach(element => {\n this.augmentAnimation(animation, element);\n\n let triggered = false;\n let pendingAnimation = false;\n function immediateOnScroll() {\n if (!triggered && isScrolledIntoView(element)) {\n triggered = true;\n pendingAnimation = true;\n setTimeout(() => {\n assign(element!.style, animation.steps[1].styles);\n if (!animation.repeat) {\n document.removeEventListener('scroll', onScroll);\n }\n setTimeout(() => {\n pendingAnimation = false;\n if (!animation.repeat) {\n element.style.transition = '';\n element.style.transitionDelay = '';\n }\n }, (animation.duration + (animation.delay || 0)) * 1000 + 100);\n });\n } else if (\n animation.repeat &&\n triggered &&\n !pendingAnimation &&\n !isScrolledIntoView(element)\n ) {\n // we want to repeat the animation every time the the element is out of view and back again\n triggered = false;\n assign(element!.style, animation.steps[0].styles);\n }\n }\n\n // TODO: roll all of these in one for more efficiency of checking all the rects\n const onScroll = throttle(immediateOnScroll, 200, { leading: false });\n\n // TODO: fully in view or partially\n function isScrolledIntoView(elem: HTMLElement) {\n const rect = elem.getBoundingClientRect();\n\n const windowHeight = window.innerHeight;\n\n const thresholdPercent = (animation.thresholdPercent || 0) / 100;\n const threshold = thresholdPercent * windowHeight;\n\n // TODO: partial in view? or what if element is larger than screen itself\n return (\n rect.bottom > threshold && rect.top < windowHeight - threshold // Element is peeking top or bottom\n // (rect.top > 0 && rect.bottom < window.innerHeight) || // element fits within the screen and is fully on screen (not hanging off at all)\n // (rect.top < 0 && rect.bottom > window.innerHeight) // element is larger than the screen and hangs over the top and bottom\n );\n }\n\n const defaultState = animation.steps[0].styles;\n function attachDefaultState() {\n assign(element!.style, defaultState);\n }\n attachDefaultState();\n\n // TODO: queue/batch these timeouts!\n setTimeout(() => {\n element.style.transition = `all ${animation.duration}s ${camelCaseToKebabCase(\n animation.easing\n )}`;\n if (animation.delay) {\n element.style.transitionDelay = animation.delay + 's';\n }\n });\n\n // TODO: one listener for everything\n document.addEventListener('scroll', onScroll, { capture: true, passive: true } as any);\n\n // Do an initial check\n immediateOnScroll();\n });\n }\n}\n","/**\n * Only gets one level up from hostname\n * wwww.example.com -> example.com\n * www.example.co.uk -> example.co.uk\n */\nexport function getTopLevelDomain(host: string) {\n const parts = host.split('.');\n if (parts.length > 2) {\n return parts.slice(1).join('.');\n }\n return host;\n}\n","/**\n * RegExp to match field-content in RFC 7230 sec 3.2\n *\n * field-content = field-vchar [ 1*( SP / HTAB ) field-vchar ]\n * field-vchar = VCHAR / obs-text\n * obs-text = %x80-FF\n */\nconst fieldContentRegExp = /^[\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+$/;\n\nimport { IncomingMessage, ServerResponse } from 'http';\nimport { getTopLevelDomain } from '../functions/get-top-level-domain';\ninterface Options {\n secure?: boolean;\n expires?: Date;\n}\n\nclass Cookies {\n secure?: boolean;\n\n constructor(private request: IncomingMessage, private response: ServerResponse) {}\n\n get(name: string) {\n const header = this.request.headers['cookie'] as string;\n if (!header) {\n return;\n }\n\n const match = header.match(getPattern(name));\n if (!match) {\n return;\n }\n\n const value = match[1];\n return value;\n }\n\n set(name: string, value: string, opts: Options) {\n const res = this.response;\n const req = this.request;\n let headers = res.getHeader('Set-Cookie') || [];\n // TODO: just make this always true\n const secure =\n this.secure !== undefined\n ? !!this.secure\n : (req as any).protocol === 'https' || (req.connection as any).encrypted;\n const cookie = new Cookie(name, value, opts);\n\n if (typeof headers === 'string') {\n headers = [headers];\n }\n\n if (!secure && opts && opts.secure) {\n throw new Error('Cannot send secure cookie over unencrypted connection');\n }\n\n cookie.secure = secure;\n if (opts && 'secure' in opts) {\n cookie.secure = !!opts.secure;\n }\n\n cookie.domain = req.headers.host && getTopLevelDomain(req.headers.host);\n\n pushCookie(headers, cookie);\n\n const setHeader = res.setHeader;\n setHeader.call(res, 'Set-Cookie', headers);\n return this;\n }\n}\n\nclass Cookie {\n path = '/';\n expires?: Date;\n domain: string | undefined = undefined;\n httpOnly = true;\n sameSite?: boolean | string = false;\n secure = false;\n overwrite = false;\n name = '';\n value = '';\n maxAge?: number;\n\n constructor(name: string, value: string, attrs: Options) {\n if (!fieldContentRegExp.test(name)) {\n throw new TypeError('argument name is invalid');\n }\n\n if (value && !fieldContentRegExp.test(value)) {\n throw new TypeError('argument value is invalid');\n }\n\n if (!value) {\n this.expires = new Date(0);\n }\n\n this.name = name;\n this.value = value || '';\n\n if (attrs.expires) {\n this.expires = attrs.expires;\n }\n if (attrs.secure) {\n this.secure = attrs.secure;\n }\n }\n\n toString() {\n return `${this.name}=${this.value}`;\n }\n\n toHeader() {\n let header = this.toString();\n\n if (this.maxAge) {\n this.expires = new Date(Date.now() + this.maxAge);\n }\n if (this.path) {\n header += `; path=${this.path}`;\n }\n if (this.expires) {\n header += `; expires=${this.expires.toUTCString()}`;\n }\n if (this.domain) {\n header += `; domain=${this.domain}`;\n }\n\n // TODO: samesite=none by default (?)\n header += `; SameSite=${this.sameSite === true ? 'strict' : 'None'}`;\n\n // TODO: On by default\n if (this.secure) {\n header += '; secure';\n }\n if (this.httpOnly) {\n header += '; httponly';\n }\n\n return header;\n }\n}\n\nfunction getPattern(name: string) {\n return new RegExp(`(?:^|;) *${name.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&')}=([^;]*)`);\n}\n\nfunction pushCookie(headers: any, cookie: Cookie) {\n if (cookie.overwrite) {\n for (let i = headers.length - 1; i >= 0; i--) {\n if (headers[i].indexOf(`${cookie.name}=`) === 0) {\n headers.splice(i, 1);\n }\n }\n }\n\n headers.push(cookie.toHeader());\n}\n\nexport default Cookies;\n","export function omit<T extends object>(obj: T, ...values: (keyof T)[]): Partial<T> {\n const newObject = Object.assign({}, obj);\n for (const key of values) {\n delete (newObject as any)[key];\n }\n return newObject;\n}\n","/**\n * @credit https://stackoverflow.com/a/2117523\n */\nexport function uuidv4() {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n var r = (Math.random() * 16) | 0,\n v = c == 'x' ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n });\n}\n\n/**\n * Slightly cleaner and smaller UUIDs\n */\nexport function uuid() {\n return uuidv4().replace(/-/g, '');\n}\n","import { UrlWithStringQuery } from 'url';\n\ntype Fix<T> = { [P in keyof T]: T[P] | null };\n\n// It seems that the types for UrlWithStringQuery are not correct.\nexport type UrlLike = Fix<UrlWithStringQuery>;\n\nexport function emptyUrl(): UrlLike {\n return {\n query: null,\n port: null,\n auth: null,\n hash: null,\n host: null,\n hostname: null,\n href: null,\n path: null,\n pathname: null,\n protocol: null,\n search: null,\n slashes: null,\n };\n}\n\n// Replacement for `url.parse` using `URL` global object that works with relative paths.\n// Assumptions: this function operates in a NodeJS environment.\nexport function parse(url: string): UrlLike {\n const out: UrlLike = emptyUrl();\n\n let u;\n const pathOnly = url === '' || url[0] === '/';\n\n if (pathOnly) {\n u = new URL(url, 'http://0.0.0.0/');\n out.href = u.href;\n out.href = out.href.slice(14); // remove 'http://0.0.0.0/'\n } else {\n u = new URL(url);\n out.href = u.href;\n out.port = u.port === '' ? null : u.port;\n out.hash = u.hash === '' ? null : u.hash;\n out.host = u.host;\n out.hostname = u.hostname;\n out.href = u.href;\n out.pathname = u.pathname;\n out.protocol = u.protocol;\n out.slashes = url[u.protocol.length] === '/'; // check if the mimetype is proceeded by a slash\n }\n\n out.search = u.search;\n out.query = u.search.slice(1); // remove '?'\n out.path = `${u.pathname}${u.search}`;\n out.pathname = u.pathname;\n\n return out;\n}\n","/**\n * Safe conversion to error type. Intended to be used in catch blocks where the\n * value is not guaranteed to be an error.\n *\n * @example\n * try {\n * throw new Error('Something went wrong')\n * }\n * catch (err: unknown) {\n * const error: Error = toError(err)\n * }\n */\nexport function toError(err: unknown): Error {\n if (err instanceof Error) return err;\n return new Error(String(err));\n}\n","import './polyfills/custom-event-polyfill';\nimport { IncomingMessage, ServerResponse } from 'http';\nimport { nextTick } from './functions/next-tick.function';\nimport { QueryString } from './classes/query-string.class';\nimport { version } from '../package.json';\nimport { BehaviorSubject } from './classes/observable.class';\nimport { fetch, SimplifiedFetchOptions } from './functions/fetch.function';\nimport { assign } from './functions/assign.function';\nimport { throttle } from './functions/throttle.function';\nimport { Animator } from './classes/animator.class';\nimport { BuilderElement } from './types/element';\nimport Cookies from './classes/cookies.class';\nimport { omit } from './functions/omit.function';\nimport serverOnlyRequire from './functions/server-only-require.function';\nimport { getTopLevelDomain } from './functions/get-top-level-domain';\nimport { BuilderContent } from './types/content';\nimport { uuid } from './functions/uuid';\nimport { parse as urlParse } from './url';\n\n// Do not change this to a require! It throws runtime errors - rollup\n// will preserve the `require` and throw runtime errors\nimport hash from 'hash-sum';\nimport { toError } from './functions/to-error';\nimport { emptyUrl, UrlLike } from './url';\n\nexport type Url = any;\n\nfunction datePlusMinutes(minutes = 30) {\n return new Date(Date.now() + minutes * 60000);\n}\n\nconst isPositiveNumber = (thing: unknown) =>\n typeof thing === 'number' && !isNaN(thing) && thing >= 0;\n\nexport const isReactNative = typeof navigator === 'object' && navigator.product === 'ReactNative';\n\nexport const validEnvList = [\n 'production',\n 'qa',\n 'test',\n 'development',\n 'dev',\n 'cdn-qa',\n 'cloud',\n 'fast',\n 'cdn2',\n 'cdn-prod',\n];\n\nfunction getQueryParam(url: string, variable: string): string | null {\n const query = url.split('?')[1] || '';\n const vars = query.split('&');\n for (let i = 0; i < vars.length; i++) {\n const pair = vars[i].split('=');\n if (decodeURIComponent(pair[0]) === variable) {\n return decodeURIComponent(pair[1]);\n }\n }\n return null;\n}\n\nconst urlParser = {\n parse(url: string): UrlLike {\n const el: HTMLAnchorElement = document.createElement('a') as any;\n el.href = url;\n const out: any = {};\n\n const props = [\n 'username',\n 'password',\n 'host',\n 'hostname',\n 'port',\n 'protocol',\n 'origin',\n 'pathname',\n 'search',\n 'hash',\n ] as const;\n\n for (const prop of props) {\n out[prop] = el[prop];\n }\n\n // IE 11 pathname handling workaround\n // (IE omits preceeding '/', unlike other browsers)\n if (\n (out.pathname || out.pathname === '') &&\n typeof out.pathname === 'string' &&\n out.pathname.indexOf('/') !== 0\n ) {\n out.pathname = '/' + out.pathname;\n }\n\n return out;\n },\n};\n\nconst parse: (url: string) => UrlLike = isReactNative\n ? () => emptyUrl()\n : typeof window === 'object'\n ? urlParser.parse\n : urlParse;\n\nfunction setCookie(name: string, value: string, expires?: Date) {\n try {\n let expiresString = '';\n\n // TODO: need to know if secure server side\n if (expires) {\n expiresString = '; expires=' + expires.toUTCString();\n }\n\n const secure = isBrowser ? location.protocol === 'https:' : true;\n document.cookie =\n name +\n '=' +\n (value || '') +\n expiresString +\n '; path=/' +\n `; domain=${getTopLevelDomain(location.hostname)}` +\n (secure ? ';secure ; SameSite=None' : '');\n } catch (err) {\n console.warn('Could not set cookie', err);\n }\n}\n\nfunction getCookie(name: string) {\n try {\n return (\n decodeURIComponent(\n document.cookie.replace(\n new RegExp(\n '(?:(?:^|.*;)\\\\s*' +\n encodeURIComponent(name).replace(/[\\-\\.\\+\\*]/g, '\\\\$&') +\n '\\\\s*\\\\=\\\\s*([^;]*).*$)|^.*$'\n ),\n '$1'\n )\n ) || null\n );\n } catch (err) {\n console.warn('Could not get cookie', err);\n }\n}\n\nfunction size(object: object) {\n return Object.keys(object).length;\n}\n\nfunction find<T = any>(target: T[], callback: (item: T, index: number, list: T[]) => boolean) {\n const list = target;\n // Makes sures is always has an positive integer as length.\n const length = list.length >>> 0;\n const thisArg = arguments[1];\n for (let i = 0; i < length; i++) {\n const element = list[i];\n if (callback.call(thisArg, element, i, list)) {\n return element;\n }\n }\n}\n\nconst sessionStorageKey = 'builderSessionId';\nconst localStorageKey = 'builderVisitorId';\n\nexport const isBrowser = typeof window !== 'undefined' && !isReactNative;\nexport const isIframe = isBrowser && window.top !== window.self;\n\nexport interface ParamsMap {\n [key: string]: any;\n}\n\ntype TrackingHook = (\n eventData: Event,\n context: { content?: BuilderContent; [key: string]: any }\n) => Event | undefined;\n\ninterface EventData {\n contentId?: string;\n ownerId: string;\n variationId?: string;\n userAttributes?: any;\n targetSelector?: string;\n targetBuilderElement?: string;\n unique?: boolean;\n metadata?: any | string;\n meta?: any | string;\n sessionId?: string;\n visitorId?: string;\n amount?: number;\n}\n// TODO: share interfaces with API\ninterface Event {\n type: string;\n data: EventData;\n}\n\n/**\n * Attributes that can be used for custom targeting. {@link\n * https://www.builder.io/c/docs/guides/targeting-and-scheduling}\n */\nexport interface UserAttributes {\n [key: string]:\n | undefined\n | string\n | string[]\n | boolean\n | boolean[]\n | number\n | number[]\n | Record<string, any>;\n /**\n * URL path of the current user.\n */\n urlPath?: string;\n /**\n * @deprecated\n * @hidden\n */\n queryString?: string | ParamsMap;\n /**\n * @deprecated\n * @hidden\n */\n device?: 'mobile' | 'tablet' | 'desktop';\n /**\n * @deprecated\n * @hidden\n */\n location?: any;\n /**\n * @deprecated\n * @hidden\n */\n userAgent?: string;\n /**\n * @deprecated\n * @hidden\n */\n referrer?: string;\n /**\n * @deprecated\n * @hidden\n */\n entryMedium?: string;\n /**\n * @deprecated\n * @hidden\n */\n language?: string;\n /**\n * @deprecated\n * @hidden\n */\n browser?: string;\n /**\n * @deprecated\n * @hidden\n */\n cookie?: string;\n /**\n * @deprecated\n * @hidden\n */\n newVisitor?: boolean;\n /**\n * @deprecated\n * @hidden\n */\n operatingSystem?: string;\n}\n\nexport interface GetContentOptions {\n /**\n * User attribute key value pairs to be used for targeting\n * https://www.builder.io/c/docs/custom-targeting-attributes\n *\n * e.g.\n * ```js\n * userAttributes: {\n * urlPath: '/',\n * returnVisitor: true,\n * }\n * ```\n */\n userAttributes?: UserAttributes;\n /**\n * Alias for userAttributes.urlPath except it can handle a full URL (optionally with host,\n * protocol, query, etc) and we will parse out the path.\n */\n url?: string;\n /**\n * @package\n */\n includeUrl?: boolean;\n /**\n * Follow references. If you use the `reference` field to pull in other content without this\n * enabled we will not fetch that content for the final response.\n */\n includeRefs?: boolean;\n /**\n * How long in seconds content should be cached for. Sets the max-age of the cache-control header\n * response header.\n *\n * Use a higher value for better performance, lower for content that will change more frequently\n *\n * @see {@link https://www.builder.io/c/docs/query-api#__next:~:text=%26includeRefs%3Dtrue-,cacheSeconds,-No}\n */\n cacheSeconds?: number;\n /**\n * Builder.io uses stale-while-revalidate caching at the CDN level. This means we always serve\n * from edge cache and update caches in the background for maximum possible performance. This also\n * means that the more frequently content is requested, the more fresh it will be. The longest we\n * will ever hold something in stale cache is 1 day by default, and you can set this to be shorter\n * yourself as well. We suggest keeping this high unless you have content that must change rapidly\n * and gets very little traffic.\n *\n * @see {@link https://www.fastly.com/blog/prevent-application-network-instability-serve-stale-content}\n */\n staleCacheSeconds?: number;\n /**\n * Maximum number of results to return. Defaults to `1`.\n */\n limit?: number;\n /**\n * Mongodb style query of your data. E.g.:\n *\n * ```js\n * query: {\n * id: 'abc123',\n * data: {\n * myCustomField: { $gt: 20 },\n * }\n * }\n * ```\n *\n * See more info on MongoDB's query operators and format.\n *\n * @see {@link https://docs.mongodb.com/manual/reference/operator/query/}\n */\n query?: any;\n /**\n * Bust through all caches. Not recommended for production (for performance),\n * but can be useful for development and static builds (so the static site has\n * fully fresh / up to date content)\n */\n cachebust?: boolean;\n /**\n * Convert any visual builder content to HTML.\n *\n * This will be on data.html of the response's content entry object json.\n */\n prerender?: boolean;\n /**\n * Extract any styles to a separate css property when generating HTML.\n */\n extractCss?: boolean;\n /**\n * Pagination results offset. Defaults to zero.\n */\n offset?: number;\n /**\n * @package\n *\n * `BuilderContent` to render instead of fetching.\n */\n initialContent?: any;\n /**\n * The name of the model to fetch content for.\n */\n model?: string;\n /**\n * Set to `false` to not cache responses when running on the client.\n */\n cache?: boolean;\n /**\n * Set to the current locale in your application if you want localized inputs to be auto-resolved, should match one of the locales keys in your space settings\n * Learn more about adding or removing locales [here](https://www.builder.io/c/docs/add-remove-locales)\n */\n locale?: string;\n /**\n * @package\n *\n * Indicate that the fetch request is for preview purposes.\n */\n preview?: boolean;\n /**\n * Specific content entry ID to fetch.\n */\n entry?: string;\n /**\n * @package\n * @deprecated\n * @hidden\n */\n alias?: string;\n fields?: string;\n /**\n * Omit only these fields.\n *\n * @example\n * ```\n * &omit=data.bigField,data.blocks\n * ```\n */\n omit?: string;\n key?: string;\n /**\n * @package\n *\n * Affects HTML generation for specific targets.\n */\n format?: 'amp' | 'email' | 'html' | 'react' | 'solid';\n /**\n * @deprecated\n * @hidden\n */\n noWrap?: true;\n /**\n * @package\n *\n * Specific string to use for cache busting. e.g. every time we generate\n * HTML we generate a rev (a revision ID) and we send that with each request\n * on the client, such that if we generate new server HTML we get a new rev\n * and we use that to bust the cache because even though the content ID may\n * be the same, it could be an updated version of this content that needs to\n * be fresh.\n */\n rev?: string;\n /**\n * @package\n *\n * Tell the API that when generating HTML to generate it in static mode for\n * a/b tests instead of the older way we did this\n */\n static?: boolean;\n /**\n * Additional query params of the Content API to send.\n */\n options?: { [key: string]: any };\n /**\n * @package\n *\n * Don't listen to updates in the editor - this is useful for embedded\n * symbols so they don't accidentally listen to messages as you are editing\n * content thinking they should updates when they actually shouldn't.\n */\n noEditorUpdates?: boolean;\n}\n\nexport type Class = {\n name?: string;\n new (...args: any[]): any;\n};\n\ninterface Map<K, V> {\n clear(): void;\n delete(key: K): boolean;\n entries(): IterableIterator<[K, V]>;\n forEach(callbackfn: (value: V, index: K, map: Map<K, V>) => void, thisArg?: any): void;\n get(key: K): V;\n has(key: K): boolean;\n keys(): IterableIterator<K>;\n set(key: K, value?: V): Map<K, V>;\n size: number;\n values(): IterableIterator<V>;\n [Symbol.iterator](): IterableIterator<[K, V]>;\n}\n\n/**\n * This is the interface for inputs in `Builder.registerComponent`\n *\n * ```js\n * Builder.registerComponent(MyComponent, {\n * inputs: [{ name: 'title', type: 'text' }] // <- Input[]\n * })\n * ```\n *\n * Learn more about registering custom components [here](https://www.builder.io/c/docs/custom-react-components)\n */\nexport interface Input {\n /** This is the name of the component prop this input represents */\n name: string;\n /** A friendlier name to show in the UI if the component prop name is not ideal for end users */\n friendlyName?: string;\n /** @hidden @deprecated */\n description?: string;\n /** A default value to use */\n defaultValue?: any;\n /**\n * The type of input to use, such as 'text'\n *\n * See all available inputs [here](https://www.builder.io/c/docs/custom-react-components#input-types)\n * and you can create your own custom input types and associated editor UIs with [plugins](https://www.builder.io/c/docs/extending/plugins)\n */\n type: string;\n /** Is this input mandatory or not */\n required?: boolean;\n /** @hidden */\n autoFocus?: boolean;\n subFields?: Input[];\n /**\n * Additional text to render in the UI to give guidance on how to use this\n *\n * @example\n * ```js\n * helperText: 'Be sure to use a proper URL, starting with \"https://\"'\n * 111\n */\n helperText?: string;\n /** @hidden */\n allowedFileTypes?: string[];\n /** @hidden */\n imageHeight?: number;\n /** @hidden */\n imageWidth?: number;\n /** @hidden */\n mediaHeight?: number;\n /** @hidden */\n mediaWidth?: number;\n /** @hidden */\n hideFromUI?: boolean;\n /** @hidden */\n modelId?: string;\n /**\n * Number field type validation maximum accepted input\n */\n max?: number;\n /**\n * Number field type validation minimum accepted input\n */\n min?: number;\n /**\n * Number field type step size when using arrows\n */\n step?: number;\n\n /**\n * Set this to `true` to show the editor for this input when\n * children of this component are selected. This is useful for things\n * like Tabs, such that users may not always select the Tabs component\n * directly but will still be looking for how to add additional tabs\n */\n broadcast?: boolean;\n /**\n * Set this to `true` to show the editor for this input when\n * group locked parents of this component are selected. This is useful\n * to bubble up important inputs for locked groups, like text and images\n */\n bubble?: boolean;\n /**\n * Set this to `true` if you want this component to be translatable\n */\n localized?: boolean;\n /** @hidden */\n options?: { [key: string]: any };\n /**\n * For \"text\" input type, specifying an enum will show a dropdown of options instead\n */\n enum?: string[] | { label: string; value: any; helperText?: string }[];\n /** Regex field validation for all string types (text, longText, html, url, etc) */\n regex?: {\n /** pattern to test, like \"^\\/[a-z]$\" */\n pattern: string;\n /** flags for the RegExp constructor, e.g. \"gi\" */\n options?: string;\n /**\n * Friendly message to display to end-users if the regex fails, e.g.\n * \"You must use a relative url starting with '/...' \"\n */\n message: string;\n };\n /**\n * Set this to `true` to put this under the \"show more\" section of\n * the options editor. Useful for things that are more advanced\n * or more rarely used and don't need to be too prominent\n */\n advanced?: boolean;\n /** @hidden */\n onChange?: Function | string;\n /** @hidden */\n code?: boolean;\n /** @hidden */\n richText?: boolean;\n /** @hidden */\n showIf?: ((options: Map<string, any>) => boolean) | string;\n /** @hidden */\n copyOnAdd?: boolean;\n /**\n * Use optionally with inputs of type `reference`. Restricts the content entry picker to a specific model by name.\n */\n model?: string;\n}\n\n/**\n * This is the interface for the options for `Builder.registerComponent`\n *\n * ```js\n * Builder.registerComponent(YourComponent, {\n * // <- Component options\n * })\n * ```\n *\n * Learn more about registering custom components [here](https://www.builder.io/c/docs/custom-react-components)\n */\nexport interface Component {\n /**\n * Name your component something unique, e.g. 'MyButton'. You can override built-in components\n * by registering a component with the same name, e.g. 'Text', to replace the built-in text component\n */\n name: string;\n /** @hidden @deprecated */\n description?: string;\n /**\n * Link to a documentation page for this component\n */\n docsLink?: string;\n /**\n * Link to an image to be used as an icon for this component in Builder's editor\n *\n * @example\n * ```js\n * image: 'https://some-cdn.com/my-icon-for-this-component.png'\n * ```\n */\n image?: string;\n /**\n * Link to a screenshot shown when user hovers over the component in Builder's editor\n * use https://builder.io/upload to upload your screeshot, for easier resizing by Builder.\n */\n screenshot?: string;\n\n /**\n * When overriding built-in components, if you don't want any special behavior that\n * the original has, set this to `true` to skip the default behavior\n *\n * Default behaviors include special \"virtual options\", such as a custom\n * aspect ratio editor for Images, or a special column editor for Columns\n *\n * Learn more about overriding built-in components here: https://www.builder.io/c/docs/custom-components-overriding\n */\n override?: boolean;\n\n /**\n * Input schema for your component for users to fill in the options via a UI\n * that translate to this components props\n */\n inputs?: Input[];\n /** @hidden @deprecated */\n class?: any;\n /** @hidden @deprecated */\n type?: 'angular' | 'webcomponent' | 'react' | 'vue';\n /**\n * Default styles to apply when droppged into the Builder.io editor\n *\n * @example\n * ```js\n * defaultStyles: {\n * // large (default) breakpoint\n * large: {\n * backgroundColor: 'black'\n * },\n * }\n * ```\n */\n defaultStyles?: { [key: string]: string };\n /**\n * Turn on if your component can accept children. Be sure to use in combination with\n * withChildren(YourComponent) like here\n * github.com/BuilderIO/builder/blob/master/examples/react-design-system/src/components/HeroWithChildren/HeroWithChildren.builder.js#L5\n */\n canHaveChildren?: boolean;\n /** @hidden */\n fragment?: boolean;\n /**\n * Do not wrap a component in a dom element. Be sure to use {...props.attributes} with this option\n * like here github.com/BuilderIO/builder/blob/master/packages/react/src/blocks/forms/Input.tsx#L34\n */\n noWrap?: boolean;\n /**\n * Default children\n */\n defaultChildren?: BuilderElement[];\n /**\n * Default options to merge in when creating this block\n */\n defaults?: Partial<BuilderElement>;\n /** @hidden @deprecated */\n hooks?: { [key: string]: string | Function };\n /**\n * Hide your component in editor, useful for gradually deprecating components\n */\n hideFromInsertMenu?: boolean;\n /** Custom tag name (for custom webcomponents only) */\n tag?: string;\n /** @hidden @deprecated */\n static?: boolean;\n /**\n * Passing a list of model names will restrict using the component to only the models listed here, otherwise it'll be available for all models\n */\n models?: string[];\n\n /**\n * Specify restrictions direct children must match\n */\n childRequirements?: {\n /** Message to show when this doesn't match, e.g. \"Children of 'Columns' must be a 'Column'\" */\n message: string;\n /** Simple way to say children must be a specific component name */\n component?: string;\n /**\n * More advanced - specify a MongoDB-style query (using sift.js github.com/crcn/sift.js)\n * of what the children objects should match, e.g.\n *\n * @example\n * query: {\n * // Child of this element must be a 'Button' or 'Text' component\n * 'component.name': { $in: ['Button', 'Text'] }\n * }\n */\n query?: any;\n };\n\n /**\n * Specify restrictions any parent must match\n */\n requiresParent?: {\n /** Message to show when this doesn't match, e.g. \"'Add to cart' buttons must be within a 'Product box'\" */\n message: string;\n /** Simple way to say a parent must be a specific component name, e.g. 'Product box' */\n component?: string;\n\n /**\n * More advanced - specify a MongoDB-style query (using sift.js github.com/crcn/sift.js)\n * of what at least one parent in the parents hierarchy should match, e.g.\n *\n * @example\n * query: {\n * // Thils element must be somewhere inside either a 'Product box' or 'Collection' component\n * 'component.name': { $in: ['Product Box', 'Collection'] }\n * }\n */\n query?: any;\n };\n\n /** @hidden @deprecated */\n friendlyName?: string;\n\n /**\n * Use to restrict access to your component based on a the current user permissions\n * By default components will show to all users\n * for more information on permissions in builder check https://www.builder.io/c/docs/guides/roles-and-permissions\n */\n requiredPermissions?: Array<Permission>;\n}\n\ntype Permission = 'read' | 'publish' | 'editCode' | 'editDesigns' | 'admin' | 'create';\n\ntype DeepPartial<T> = {\n [P in keyof T]?: T[P] extends Array<infer U>\n ? Array<DeepPartial<U>>\n : T[P] extends ReadonlyArray<infer U>\n ? ReadonlyArray<DeepPartial<U>>\n : DeepPartial<T[P]>;\n};\n\nexport interface InsertMenuItem {\n name: string;\n icon?: string;\n item: DeepPartial<BuilderElement>;\n}\n\n/**\n * Use this to register custom sections in the Insert menu, for instance\n * to make new sections to organize your custom components\n *\n * \n *\n * @example\n * ```js\n * Builder.register('insertMenu', {\n * name: 'Our components',\n * items: [\n * { name: 'Hero' },\n * { name: 'Double Columns' },\n * { name: 'Triple Columns' },\n * { name: 'Dynamic Columns' },\n * ],\n * })\n * ```\n *\n * You can make as many custom sections as you like\n *\n * See a complete usage example [here](https://github.com/builderio/builder/blob/main/examples/react-design-system/src/builder-settings.js)\n */\nexport interface InsertMenuConfig {\n name: string;\n priority?: number;\n persist?: boolean;\n advanced?: boolean;\n items: InsertMenuItem[];\n}\n\nexport function BuilderComponent(info: Partial<Component> = {}) {\n return Builder.Component(info);\n}\n\n// TODO\ntype Settings = any;\n\nexport interface Action {\n name: string;\n inputs?: Input[];\n returnType?: Input;\n action: Function | string;\n}\n\nexport class Builder {\n /**\n * @hidden\n * @deprecated. This is buggy, and always behind by a version.\n */\n static VERSION = version;\n\n static components: Component[] = [];\n static singletonInstance: Builder;\n /**\n * Makes it so that a/b tests generate code like {@link\n * https://www.builder.io/blog/high-performance-no-code#__next:~:text=Static%20generated%20A%2FB%20testing}\n * instead of the old way where we render only one test group at a time on the\n * server. This is the preferred/better way not and we should ultimately make it\n * the default\n */\n static isStatic = true;\n static animator = new Animator();\n\n static nextTick = nextTick;\n static throttle = throttle;\n\n static editors: any[] = [];\n static trustedHosts: string[] = ['builder.io', 'localhost'];\n static plugins: any[] = [];\n\n static actions: Action[] = [];\n static registry: { [key: string]: any[] } = {};\n static overrideHost: string | undefined;\n\n /**\n * @todo `key` property on any info where if a key matches a current\n * key it gets removed\n */\n static register(type: 'insertMenu', info: InsertMenuConfig): void;\n static register(type: string, info: any): void;\n static register(type: string, info: any) {\n // TODO: all must have name and can't conflict?\n let typeList = this.registry[type];\n if (!typeList) {\n typeList = this.registry[type] = [];\n }\n typeList.push(info);\n if (Builder.isBrowser) {\n const message = {\n type: 'builder.register',\n data: {\n type,\n info,\n },\n };\n try {\n parent.postMessage(message, '*');\n if (parent !== window) {\n window.postMessage(message, '*');\n }\n } catch (err) {\n console.debug('Could not postmessage', err);\n }\n }\n this.registryChange.next(this.registry);\n }\n\n static registryChange = new BehaviorSubject({} as typeof Builder.registry);\n\n static registerEditor(info: any) {\n if (Builder.isBrowser) {\n window.postMessage(\n {\n type: 'builder.registerEditor',\n data: omit(info, 'component'),\n },\n '*'\n );\n const { hostname } = location;\n\n if (!Builder.isTrustedHost(hostname)) {\n console.error(\n 'Builder.registerEditor() called in the wrong environment! You cannot load custom editors from your app, they must be loaded through the Builder.io app itself. Follow the readme here for more details: https://github.com/builderio/builder/tree/master/plugins/cloudinary or contact chat us in our Spectrum community for help: https://spectrum.chat/builder'\n );\n }\n }\n this.editors.push(info);\n }\n\n static registerPlugin(info: any) {\n this.plugins.push(info);\n }\n\n static registerAction(action: Action) {\n this.actions.push(action);\n }\n\n static registerTrustedHost(host: string) {\n this.trustedHosts.push(host);\n }\n\n static isTrustedHost(hostname: string) {\n return (\n this.trustedHosts.findIndex(\n trustedHost => trustedHost === hostname || hostname.endsWith(`.${trustedHost}`)\n ) > -1\n );\n }\n\n static runAction(action: Action | string) {\n // TODO\n const actionObject =\n typeof action === 'string' ? find(this.actions, item => item.name === action) : action;\n\n if (!actionObject) {\n throw new Error(`Action not found: ${action}`);\n }\n }\n\n static fields(name: string, fields: Input[]) {\n window.parent?.postMessage(\n {\n type: 'builder.fields',\n data: { name, fields },\n },\n '*'\n );\n }\n\n private static _editingPage = false;\n\n static isIframe = isIframe;\n static isBrowser = isBrowser;\n static isReactNative = isReactNative;\n static isServer = !isBrowser && !isReactNative;\n static previewingModel = Builder.isBrowser && getQueryParam(location.href, 'builder.preview');\n\n static settings: Settings = {};\n static settingsChange = new BehaviorSubject<Settings>({});\n\n /**\n * @deprecated\n * @hidden\n *\n * Use Builder.register('editor.settings', {}) instead.\n */\n static set(settings: Settings): void {\n Builder.register('editor.settings', settings);\n }\n\n static import(packageName: string) {\n if (!Builder.isBrowser) {\n // TODO: server side support *maybe*\n console.warn('Builder.import used on the server - this should only be used in the browser');\n return;\n }\n const { System } = window as any;\n\n if (!System) {\n console.warn('System.js not available. Please include System.js when using Builder.import');\n return;\n }\n return System.import(`https://cdn.builder.io/systemjs/${packageName}`);\n }\n\n // TODO: this is quick and dirty, do better implementation later. Also can be unreliable\n // if page 301s etc. Use a query param instead? also could have issues with redirects. Injecting var could\n // work but is async...\n static isEditing = Boolean(\n isIframe &&\n ((document.referrer && document.referrer.match(/builder\\.io|localhost:1234/)) ||\n location.search.indexOf('builder.frameEditing=') !== -1)\n );\n\n static isPreviewing = Boolean(\n isBrowser &&\n (location.search.indexOf('builder.preview=') !== -1 ||\n location.search.indexOf('builder.frameEditing=') !== -1)\n );\n\n // useCdnApi = false;\n\n static get editingPage() {\n return this._editingPage;\n }\n\n static set editingPage(editingPage) {\n this._editingPage = editingPage;\n if (isBrowser && isIframe) {\n if (editingPage) {\n document.body.classList.add('builder-editing-page');\n } else {\n document.body.classList.remove('builder-editing-page');\n }\n }\n }\n\n private static prepareComponentSpecToSend(spec: Component): Component {\n return {\n ...spec,\n ...(spec.inputs && {\n inputs: spec.inputs.map((input: any) => {\n // TODO: do for nexted fields too\n // TODO: probably just convert all functions, not just\n // TODO: put this in input hooks: { onChange: ..., showIf: ... }\n const keysToConvertFnToString = ['onChange', 'showIf'];\n\n for (const key of keysToConvertFnToString) {\n if (input[key] && typeof input[key] === 'function') {\n const fn = input[key];\n input = {\n ...input,\n [key]: `return (${fn.toString()}).apply(this, arguments)`,\n };\n }\n }\n\n return input;\n }),\n }),\n hooks: Object.keys(spec.hooks || {}).reduce((memo, key) => {\n const value = spec.hooks && spec.hooks[key];\n if (!value) {\n return memo;\n }\n if (typeof value === 'string') {\n memo[key] = value;\n } else {\n memo[key] = `return (${value.toString()}).apply(this, arguments)`;\n }\n return memo;\n }, {} as { [key: string]: string }),\n class: undefined,\n };\n }\n\n static registerBlock(component: any, options: Component) {\n this.registerComponent(component, options);\n }\n\n static registerComponent(component: any, options: Component) {\n const spec = {\n class: component,\n ...component.builderOptions,\n ...options,\n };\n this.addComponent(spec);\n const editable =\n options.models && this.singletonInstance.editingModel\n ? isBrowser && options.models.includes(this.singletonInstance.editingModel)\n : isBrowser;\n if (editable) {\n const sendSpec = this.prepareComponentSpecToSend(spec);\n window.parent?.postMessage(\n {\n type: 'builder.registerComponent',\n data: sendSpec,\n },\n '*'\n );\n }\n }\n\n private static addComponent(component: Component) {\n const current = find(this.components, item => item.name === component.name);\n if (current) {\n // FIXME: why does sometimes we get an extra post without class - probably\n // from postMessage handler wrong in some place\n if (current.class && !component.class) {\n return;\n }\n this.components.splice(this.components.indexOf(current), 1, component);\n } else {\n this.components.push(component);\n }\n }\n\n // TODO: style guide, etc off this system as well?\n static component(info: Partial<Component> = {}) {\n return (component: Class) => {\n const spec = { ...info, class: component };\n if (!spec.name) {\n spec.name = component.name;\n }\n this.addComponent(spec as Component);\n\n const sendSpec = this.prepareComponentSpecToSend(spec as Component);\n // TODO: serialize component name and inputs\n if (isBrowser) {\n window.parent?.postMessage(\n {\n type: 'builder.registerComponent',\n data: sendSpec,\n },\n '*'\n );\n }\n return component;\n };\n }\n\n static isReact = false;\n\n static get Component() {\n return this.component;\n }\n\n private eventsQueue: Event[] = [];\n\n private throttledClearEventsQueue = throttle(() => {\n this.processEventsQueue();\n // Extend the session cookie\n this.setCookie(sessionStorageKey, this.sessionId, datePlusMinutes(30));\n }, 5);\n\n private processEventsQueue() {\n if (!this.eventsQueue.length) {\n return;\n }\n const events = this.eventsQueue;\n this.eventsQueue = [];\n\n const fullUserAttributes = {\n ...Builder.overrideUserAttributes,\n ...this.trackingUserAttributes,\n };\n for (const event of events) {\n if (!event.data.metadata) {\n event.data.metadata = {};\n }\n if (!event.data.metadata.user) {\n event.data.metadata.user = {};\n }\n Object.assign(event.data.metadata.user, fullUserAttributes, event.data.metadata.user);\n }\n\n const host = this.host;\n\n fetch(`${host}/api/v1/track`, {\n method: 'POST',\n body: JSON.stringify({ events }),\n headers: {\n 'content-type': 'application/json',\n },\n mode: 'cors',\n }).catch(() => {\n // Not the end of the world\n });\n }\n\n env: string = 'production';\n\n sessionId = this.getSessionId();\n\n targetContent = true;\n\n contentPerRequest = 1;\n\n // TODO: make array or function\n allowCustomFonts = true;\n\n private cookies: Cookies | null = null;\n\n // TODO: api options object\n private cachebust = false;\n private overrideParams = '';\n private noCache = false;\n private preview = false;\n\n get browserTrackingDisabled() {\n return Builder.isBrowser && Boolean((window as any).builderNoTrack || !navigator.cookieEnabled);\n }\n\n get canTrack() {\n return this.canTrack$.value;\n }\n\n set canTrack(canTrack) {\n if (this.canTrack !== canTrack) {\n this.canTrack$.next(canTrack);\n }\n }\n\n private canTrack$ = new BehaviorSubject(!this.browserTrackingDisabled);\n private apiKey$ = new BehaviorSubject<string | null>(null);\n private authToken$ = new BehaviorSubject<string | null>(null);\n\n userAttributesChanged = new BehaviorSubject<any>(null);\n\n get editingMode() {\n return this.editingMode$.value;\n }\n\n set editingMode(value) {\n if (value !== this.editingMode) {\n this.editingMode$.next(value);\n }\n }\n\n editingMode$ = new BehaviorSubject(isIframe);\n\n get editingModel() {\n return this.editingModel$.value;\n }\n\n set editingModel(value) {\n if (value !== this.editingModel) {\n this.editingModel$.next(value);\n }\n }\n\n private findParentElement(\n target: HTMLElement,\n callback: (element: HTMLElement) => boolean,\n checkElement = true\n ): HTMLElement | null {\n if (!(target instanceof HTMLElement)) {\n return null;\n }\n let parent: HTMLElement | null = checkElement ? target : target.parentElement;\n do {\n if (!parent) {\n return null;\n }\n\n const matches = callback(parent);\n if (matches) {\n return parent;\n }\n } while ((parent = parent.parentElement));\n\n return null;\n }\n\n private findBuilderParent(target: HTMLElement) {\n return this.findParentElement(target, el => {\n const id = el.getAttribute('builder-id') || el.id;\n return Boolean(id && id.indexOf('builder-') === 0);\n });\n }\n\n // TODO: decorator to do this stuff with the get/set (how do with typing too? compiler?)\n editingModel$ = new BehaviorSubject<null | string>(null);\n\n setUserAgent(userAgent: string) {\n this.userAgent = userAgent || '';\n }\n userAgent: string = (typeof navigator === 'object' && navigator.userAgent) || '';\n\n trackingHooks: TrackingHook[] = [];\n\n /**\n * Set a hook to modify events being tracked from builder, such as impressions and clicks\n *\n * For example, to track the model ID of each event associated with content for querying\n * by mode, you can do\n *\n * builder.setTrackingHook((event, context) => {\n * if (context.content) {\n * event.data.metadata.modelId = context.content.modelId\n * }\n * })\n */\n setTrackingHook(hook: TrackingHook) {\n this.trackingHooks.push(hook);\n }\n\n track(eventName: string, properties: Partial<EventData> = {}, context?: any) {\n // TODO: queue up track requests and fire them off when canTrack set to true - otherwise may get lots of clicks with no impressions\n if (isIframe || !isBrowser || Builder.isPreviewing) {\n return;\n }\n\n const apiKey = this.apiKey;\n if (!apiKey) {\n console.error(\n 'Builder integration error: Looks like the Builder SDK has not been initialized properly (your API key has not been set). Make sure you are calling `builder.init(\"«YOUR-API-KEY»\");` as early as possible in your application\\'s code.'\n );\n return;\n }\n\n let eventData: Event = JSON.parse(\n JSON.stringify({\n type: eventName,\n data: {\n ...omit(properties, 'meta'),\n metadata: {\n sdkVersion: Builder.VERSION,\n url: location.href,\n ...properties.meta,\n ...properties.metadata,\n },\n ownerId: apiKey,\n userAttributes: this.getUserAttributes(),\n sessionId: this.sessionId,\n visitorId: this.visitorId,\n },\n })\n );\n\n for (const hook of this.trackingHooks) {\n const returnValue = hook(eventData, context || {});\n if (returnValue) {\n eventData = returnValue;\n }\n }\n\n // batch events\n this.eventsQueue.push(eventData);\n\n if (this.canTrack) {\n this.throttledClearEventsQueue();\n }\n }\n\n getSessionId() {\n let sessionId: string | null = null;\n try {\n if (Builder.isBrowser && typeof sessionStorage !== 'undefined') {\n sessionId = this.getCookie(sessionStorageKey);\n }\n } catch (err) {\n console.debug('Session storage error', err);\n // It's ok\n }\n\n if (!sessionId) {\n sessionId = uuid();\n }\n\n // Give the app a second to start up and set canTrack to false if needed\n if (Builder.isBrowser) {\n setTimeout(() => {\n try {\n if (this.canTrack) {\n this.setCookie(sessionStorageKey, sessionId, datePlusMinutes(30));\n }\n } catch (err) {\n console.debug('Cookie setting error', err);\n }\n });\n }\n return sessionId;\n }\n\n // Set this to control the userId\n // TODO: allow changing it mid session and updating existing data to be associated\n // e.g. for when a user navigates and then logs in\n visitorId: string = this.getVisitorId();\n\n getVisitorId() {\n if (this.visitorId) {\n return this.visitorId;\n }\n let visitorId: string | null = null;\n try {\n if (Builder.isBrowser && typeof localStorage !== 'undefined') {\n // TODO: cookie instead?\n visitorId = localStorage.getItem(localStorageKey);\n }\n } catch (err) {\n console.debug('Local storage error', err);\n // It's ok\n }\n\n if (!visitorId) {\n visitorId = uuid();\n }\n\n this.visitorId = visitorId;\n\n // Give the app a second to start up and set canTrack to false if needed\n if (Builder.isBrowser) {\n setTimeout(() => {\n try {\n if (this.canTrack && typeof localStorage !== 'undefined' && visitorId) {\n localStorage.setItem(localStorageKey, visitorId);\n }\n } catch (err) {\n console.debug('Session storage error', err);\n }\n });\n }\n return visitorId;\n }\n\n trackImpression(contentId: string, variationId?: string, properties?: any, context?: any) {\n if (isIframe || !isBrowser || Builder.isPreviewing) {\n return;\n }\n // TODO: use this.track method\n this.track(\n 'impression',\n {\n contentId,\n variationId: variationId !== contentId ? variationId : undefined,\n metadata: properties,\n },\n context\n );\n }\n\n trackConversion(amount?: number, customProperties?: any): void;\n trackConversion(\n amount?: number,\n contentId?: string | any,\n variationId?: string,\n customProperties?: any,\n context?: any\n ) {\n if (isIframe || !isBrowser || Builder.isPreviewing) {\n return;\n }\n const meta = typeof contentId === 'object' ? contentId : customProperties;\n const useContentId = typeof contentId === 'string' ? contentId : undefined;\n\n this.track('conversion', { amount, variationId, meta, contentId: useContentId }, context);\n }\n\n autoTrack = !Builder.isBrowser\n ? false\n : !this.isDevelopmentEnv &&\n !(Builder.isBrowser && location.search.indexOf('builder.preview=') !== -1);\n\n // TODO: set this for QA\n private get isDevelopmentEnv() {\n // Automatic determining of development environment\n return (\n Builder.isIframe ||\n (Builder.isBrowser && (location.hostname === 'localhost' || location.port !== '')) ||\n this.env !== 'production'\n );\n }\n\n trackInteraction(\n contentId: string,\n variationId?: string,\n alreadyTrackedOne = false,\n event?: MouseEvent,\n context?: any\n ) {\n if (isIframe || !isBrowser || Builder.isPreviewing) {\n return;\n }\n const target = event && (event.target as HTMLElement);\n const targetBuilderElement = target && this.findBuilderParent(target);\n\n function round(num: number) {\n return Math.round(num * 1000) / 1000;\n }\n\n const metadata: any = {};\n if (event) {\n const { clientX, clientY } = event;\n if (target) {\n const targetRect = target.getBoundingClientRect();\n const xOffset = clientX - targetRect.left;\n const yOffset = clientY - targetRect.top;\n\n const xRatio = round(xOffset / targetRect.width);\n const yRatio = round(yOffset / targetRect.height);\n\n metadata.targetOffset = {\n x: xRatio,\n y: yRatio,\n };\n }\n if (targetBuilderElement) {\n const targetRect = targetBuilderElement.getBoundingClientRect();\n const xOffset = clientX - targetRect.left;\n const yOffset = clientY - targetRect.top;\n\n const xRatio = round(xOffset / targetRect.width);\n const yRatio = round(yOffset / targetRect.height);\n\n metadata.builderTargetOffset = {\n x: xRatio,\n y: yRatio,\n };\n }\n }\n\n const builderId =\n targetBuilderElement &&\n (targetBuilderElement.getAttribute('builder-id') || targetBuilderElement.id);\n\n if (builderId && targetBuilderElement) {\n metadata.builderElementIndex = ([] as Element[]).slice\n .call(document.getElementsByClassName(builderId))\n .indexOf(targetBuilderElement);\n }\n\n this.track(\n 'click',\n {\n contentId,\n metadata,\n variationId: variationId !== contentId ? variationId : undefined,\n unique: !alreadyTrackedOne,\n targetBuilderElement: builderId || undefined,\n },\n context\n );\n }\n\n static overrideUserAttributes: Partial<UserAttributes> = {};\n\n trackingUserAttributes: { [key: string]: any } = {};\n\n component(info: Partial<Component> = {}) {\n return Builder.component(info);\n }\n\n get apiKey() {\n return this.apiKey$.value;\n }\n\n set apiKey(key: string | null) {\n this.apiKey$.next(key);\n }\n\n get authToken() {\n return this.authToken$.value;\n }\n\n set authToken(token: string | null) {\n this.authToken$.next(token);\n }\n\n constructor(\n apiKey: string | null = null,\n protected request?: IncomingMessage,\n protected response?: ServerResponse,\n forceNewInstance = false,\n authToken: string | null = null\n ) {\n // TODO: use a window variable for this perhaps, e.g. bc webcomponents may be loading builder twice\n // with it's and react (use rollup build to fix)\n if (Builder.isBrowser && !forceNewInstance && Builder.singletonInstance) {\n return Builder.singletonInstance;\n }\n\n if (this.request && this.response) {\n this.setUserAgent((this.request.headers['user-agent'] as string) || '');\n this.cookies = new Cookies(this.request, this.response);\n }\n\n if (apiKey) {\n this.apiKey = apiKey;\n }\n if (authToken) {\n this.authToken = authToken;\n }\n if (isBrowser) {\n this.bindMessageListeners();\n\n if (Builder.isEditing) {\n parent.postMessage(\n {\n type: 'builder.animatorOptions',\n data: {\n options: {\n version: 2,\n },\n },\n },\n '*'\n );\n }\n // TODO: postmessage to parent the builder info for every package\n // type: 'builder.sdk', data: { name: '@builder.io/react', version: '0.1.23' }\n // (window as any).BUILDER_VERSION = Builder.VERSION;\n // Ensure always one Builder global singleton\n // TODO: some people won't want this, e.g. rakuten\n // Maybe hide this behind symbol or on document, etc\n // if ((window as any).Builder) {\n // Builder.components = (window as any).Builder.components;\n // } else {\n // (window as any).Builder = Builder;\n // }\n }\n\n if (isIframe) {\n this.messageFrameLoaded();\n }\n\n // TODO: on destroy clear subscription\n this.canTrack$.subscribe((value: any) => {\n if (value) {\n if (typeof sessionStorage !== 'undefined') {\n try {\n if (!sessionStorage.getItem(sessionStorageKey)) {\n sessionStorage.setItem(sessionStorageKey, this.sessionId);\n }\n } catch (err) {\n console.debug('Session storage error', err);\n }\n }\n if (this.eventsQueue.length) {\n this.throttledClearEventsQueue();\n }\n if (this.cookieQueue.length) {\n this.cookieQueue.forEach(item => {\n this.setCookie(item[0], item[1]);\n });\n this.cookieQueue.length = 0;\n }\n }\n });\n\n if (isBrowser) {\n // TODO: defer so subclass constructor runs and injects location service\n this.setTestsFromUrl();\n // TODO: do this on every request send?\n this.getOverridesFromQueryString();\n }\n }\n\n private modifySearch(search: string) {\n return search.replace(\n /(^|&|\\?)(builder_.*?)=/gi,\n (_match, group1, group2) => group1 + group2.replace(/_/g, '.') + '='\n );\n }\n\n setTestsFromUrl() {\n const search = this.getLocation().search;\n const params = QueryString.parseDeep(this.modifySearch(search || '').substr(1));\n const tests = params.builder && params.builder.tests;\n if (tests && typeof tests === 'object') {\n for (const key in tests) {\n if (tests.hasOwnProperty(key)) {\n this.setTestCookie(key, tests[key]);\n }\n }\n }\n }\n\n resetOverrides() {\n // Ugly - pass down instances per request instead using react context\n // or use builder.get('foo', { req, res }) in react...........\n Builder.overrideUserAttributes = {};\n this.cachebust = false;\n this.noCache = false;\n this.preview = false;\n this.editingModel = null;\n this.overrides = {};\n this.env = 'production';\n this.userAgent = '';\n this.request = undefined;\n this.response = undefined;\n }\n\n getOverridesFromQueryString() {\n const location = this.getLocation();\n const params = QueryString.parseDeep(this.modifySearch(location.search || '').substr(1));\n const { builder } = params;\n if (builder) {\n const {\n userAttributes,\n overrides,\n env,\n host,\n api,\n cachebust,\n noCache,\n preview,\n editing,\n frameEditing,\n options,\n params: overrideParams,\n } = builder;\n\n if (userAttributes) {\n this.setUserAttributes(userAttributes);\n }\n\n if (options) {\n // picking only locale and includeRefs\n this.queryOptions = {\n ...(options.locale && { locale: options.locale }),\n ...(options.includeRefs && { includeRefs: options.includeRefs }),\n };\n }\n\n if (overrides) {\n this.overrides = overrides;\n }\n\n if (validEnvList.indexOf(env || api) > -1) {\n this.env = env || api;\n }\n\n if (Builder.isEditing) {\n const editingModel = frameEditing || editing || preview;\n if (editingModel && editingModel !== 'true') {\n this.editingModel = editingModel;\n }\n }\n\n if (cachebust) {\n this.cachebust = true;\n }\n\n if (noCache) {\n this.noCache = true;\n }\n\n if (preview) {\n this.preview = true;\n }\n\n if (params) {\n this.overrideParams = overrideParams;\n }\n }\n }\n\n private messageFrameLoaded() {\n window.parent?.postMessage(\n {\n type: 'builder.loaded',\n data: {\n value: true,\n },\n },\n '*'\n );\n }\n\n private blockContentLoading = '';\n\n private bindMessageListeners() {\n if (isBrowser) {\n addEventListener('message', event => {\n const url = parse(event.origin);\n const isRestricted =\n ['builder.register', 'builder.registerComponent'].indexOf(event.data?.type) === -1;\n const isTrusted = url.hostname && Builder.isTrustedHost(url.hostname);\n if (isRestricted && !isTrusted) {\n return;\n }\n\n const { data } = event;\n if (data) {\n switch (data.type) {\n case 'builder.ping': {\n window.parent?.postMessage(\n {\n type: 'builder.pong',\n data: {},\n },\n '*'\n );\n break;\n }\n case 'builder.register': {\n // TODO: possibly do this for all...\n if (event.source === window) {\n break;\n }\n const options = data.data;\n if (!options) {\n break;\n }\n const { type, info } = options;\n // TODO: all must have name and can't conflict?\n let typeList = Builder.registry[type];\n if (!typeList) {\n typeList = Builder.registry[type] = [];\n }\n typeList.push(info);\n Builder.registryChange.next(Builder.registry);\n break;\n }\n case 'builder.settingsChange': {\n // TODO: possibly do this for all...\n if (event.source === window) {\n break;\n }\n const settings = data.data;\n if (!settings) {\n break;\n }\n Object.assign(Builder.settings, settings);\n Builder.settingsChange.next(Builder.settings);\n break;\n }\n case 'builder.registerEditor': {\n // TODO: possibly do this for all...\n if (event.source === window) {\n break;\n }\n const info = data.data;\n if (!info) {\n break;\n }\n const hasComponent = !!info.component;\n Builder.editors.every((thisInfo, index) => {\n if (info.name === thisInfo.name) {\n if (thisInfo.component && !hasComponent) {\n return false;\n } else {\n Builder.editors[index] = thisInfo;\n }\n return false;\n }\n return true;\n });\n break;\n }\n case 'builder.triggerAnimation': {\n Builder.animator.triggerAnimation(data.data);\n break;\n }\n case 'builder.contentUpdate':\n const key =\n data.data.key || data.data.alias || data.data.entry || data.data.modelName;\n const contentData = data.data.data; // hmmm...\n const observer = this.observersByKey[key];\n if (observer && !this.noEditorUpdates[key]) {\n observer.next([contentData]);\n }\n break;\n\n case 'builder.getComponents':\n window.parent?.postMessage(\n {\n type: 'builder.components',\n data: Builder.components.map(item => Builder.prepareComponentSpecToSend(item)),\n },\n '*'\n );\n break;\n\n case 'builder.editingModel':\n this.editingModel = data.data.model;\n break;\n\n case 'builder.registerComponent':\n const componentData = data.data;\n Builder.addComponent(componentData);\n break;\n\n case 'builder.blockContentLoading':\n if (typeof data.data.model === 'string') {\n this.blockContentLoading = data.data.model;\n }\n break;\n\n case 'builder.editingMode':\n const editingMode = data.data;\n if (editingMode) {\n this.editingMode = true;\n document.body.classList.add('builder-editing');\n } else {\n this.editingMode = false;\n document.body.classList.remove('builder-editing');\n }\n break;\n\n case 'builder.editingPageMode':\n const editingPageMode = data.data;\n Builder.editingPage = editingPageMode;\n break;\n\n case 'builder.overrideUserAttributes':\n const userAttributes = data.data;\n assign(Builder.overrideUserAttributes, userAttributes);\n this.flushGetContentQueue(true);\n // TODO: refetch too\n break;\n\n case 'builder.overrideTestGroup':\n const { variationId, contentId } = data.data;\n if (variationId && contentId) {\n this.setTestCookie(contentId, variationId);\n this.flushGetContentQueue(true);\n }\n break;\n case 'builder.evaluate': {\n const text = data.data.text;\n const args = data.data.arguments || [];\n const id = data.data.id;\n // tslint:disable-next-line:no-function-constructor-with-string-args\n const fn = new Function(text);\n let result: any;\n let error: Error | null = null;\n try {\n result = fn.apply(this, args);\n } catch (err) {\n error = toError(err);\n }\n\n if (error) {\n window.parent?.postMessage(\n {\n type: 'builder.evaluateError',\n data: { id, error: error.message },\n },\n '*'\n );\n } else {\n if (result && typeof result.then === 'function') {\n (result as Promise<any>)\n .then(finalResult => {\n window.parent?.postMessage(\n {\n type: 'builder.evaluateResult',\n data: { id, result: finalResult },\n },\n '*'\n );\n })\n .catch(console.error);\n } else {\n window.parent?.postMessage(\n {\n type: 'builder.evaluateResult',\n data: { result, id },\n },\n '*'\n );\n }\n }\n break;\n }\n }\n }\n });\n }\n }\n\n observersByKey: { [key: string]: BehaviorSubject<BuilderContent[]> | undefined } = {};\n noEditorUpdates: { [key: string]: boolean } = {};\n\n get defaultCanTrack() {\n return Boolean(\n Builder.isBrowser &&\n navigator.userAgent.trim() &&\n !navigator.userAgent.match(\n /bot|crawler|spider|robot|crawling|prerender|google|baidu|bing|msn|duckduckbot|teoma|slurp|yandex|phantom|headless|selenium|puppeteer/i\n ) &&\n !this.browserTrackingDisabled\n );\n }\n\n init(\n apiKey: string,\n canTrack = this.defaultCanTrack,\n req?: IncomingMessage,\n res?: ServerResponse,\n authToken?: string\n ) {\n if (req) {\n this.request = req;\n }\n if (res) {\n this.response = res;\n }\n this.canTrack = canTrack;\n this.apiKey = apiKey;\n if (authToken) {\n this.authToken = authToken;\n }\n return this;\n }\n\n get previewingModel() {\n const search = this.getLocation().search;\n const params = QueryString.parse((search || '').substr(1));\n return params['builder.preview'];\n }\n\n // TODO: allow adding location object as property and/or in constructor\n getLocation(): Url {\n let parsedLocation: any = {};\n\n // in ssr mode\n if (this.request) {\n parsedLocation = parse(this.request.url ?? '');\n } else if (typeof location === 'object') {\n // in the browser\n parsedLocation = parse(location.href);\n }\n\n // IE11 bug with parsed path being empty string\n // causes issues with our user targeting\n if (parsedLocation.pathname === '') {\n parsedLocation.pathname = '/';\n }\n\n return parsedLocation;\n }\n\n getUserAttributes(userAgent = this.userAgent || '') {\n const isMobile = {\n Android() {\n return userAgent.match(/Android/i);\n },\n BlackBerry() {\n return userAgent.match(/BlackBerry/i);\n },\n iOS() {\n return userAgent.match(/iPhone|iPod/i);\n },\n Opera() {\n return userAgent.match(/Opera Mini/i);\n },\n Windows() {\n return userAgent.match(/IEMobile/i) || userAgent.match(/WPDesktop/i);\n },\n any() {\n return (\n isMobile.Android() ||\n isMobile.BlackBerry() ||\n isMobile.iOS() ||\n isMobile.Opera() ||\n isMobile.Windows()\n );\n },\n };\n\n const isTablet = userAgent.match(/Tablet|iPad/i);\n\n const url = this.getLocation();\n\n return {\n urlPath: url.pathname,\n host: url.host || url.hostname,\n // TODO: maybe an option to choose to target off of mobile/tablet/desktop or just mobile/desktop\n device: isTablet ? 'tablet' : isMobile.any() ? 'mobile' : 'desktop',\n ...Builder.overrideUserAttributes,\n } as UserAttributes;\n }\n\n protected overrides: { [key: string]: string } = {};\n protected queryOptions: { [key: string]: string } = {};\n\n private getContentQueue: null | GetContentOptions[] = null;\n private priorContentQueue: null | GetContentOptions[] = null;\n\n setUserAttributes(options: object) {\n assign(Builder.overrideUserAttributes, options);\n this.userAttributesChanged.next(options);\n }\n\n /**\n * Set user attributes just for tracking purposes.\n *\n * Do this so properties exist on event objects for querying insights, but\n * won't affect targeting\n *\n * Use this when you want to track properties but don't need to target off\n * of them to optimize cache efficiency\n */\n setTrackingUserAttributes(attributes: object) {\n assign(this.trackingUserAttributes, attributes);\n }\n\n get(\n modelName: string,\n options: GetContentOptions & {\n req?: IncomingMessage;\n res?: ServerResponse;\n apiKey?: string;\n authToken?: string;\n } = {}\n ) {\n let instance: Builder = this;\n if (!Builder.isBrowser) {\n instance = new Builder(\n options.apiKey || this.apiKey,\n options.req,\n options.res,\n undefined,\n options.authToken || this.authToken\n );\n instance.setUserAttributes(this.getUserAttributes());\n } else {\n if (options.apiKey && !this.apiKey) {\n this.apiKey = options.apiKey;\n }\n if (options.authToken && !this.authToken) {\n this.authToken = options.authToken;\n }\n }\n return instance.queueGetContent(modelName, options).map(\n /* map( */ (matches: any[] | null) => {\n const match = matches && matches[0];\n if (Builder.isStatic) {\n return match;\n }\n\n const matchData = match && match.data;\n if (!matchData) {\n return null;\n }\n\n if (typeof matchData.blocksString !== 'undefined') {\n matchData.blocks = JSON.parse(matchData.blocksString);\n delete matchData.blocksString;\n }\n\n return {\n // TODO: add ab test info here and other high level stuff\n data: matchData,\n id: match.id,\n variationId: match.testVariationId || match.variationId || null,\n testVariationId: match.testVariationId || match.variationId || null,\n testVariationName: match.testVariationName || null,\n lastUpdated: match.lastUpdated || null,\n };\n }\n );\n // );\n }\n\n // TODO: entry id in options\n queueGetContent(modelName: string, options: GetContentOptions = {}) {\n // TODO: if query do modelName + query\n const key =\n options.key ||\n options.alias ||\n // TODO: SDKs only pass entry key when given to them, and never when editing...\n // options.entry ||\n\n // TODO: this is ugly - instead of multiple of same model with different options are sent\n // say requires key/alias. Or if not perhaps make a reliable hash of the options and use that.\n // TODO: store last user state on last request and if user attributes different now\n // give a warning that need to use keys to request new contente\n // (options &&\n // Object.keys(options).filter(key => key !== 'model').length &&\n // JSON.stringify({ model: modelName, ...options, initialContent: undefined })) ||\n modelName;\n\n const isEditingThisModel = this.editingModel === modelName;\n // TODO: include params in this key........\n const currentObservable = this.observersByKey[key] as BehaviorSubject<BuilderContent[]> | null;\n\n // if (options.query && options.query._id) {\n // this.flushGetContentQueue([options])\n // }\n\n if (this.apiKey === 'DEMO' && !this.overrides[key] && !options.initialContent) {\n options.initialContent = [];\n }\n\n const { initialContent } = options;\n\n // TODO: refresh option in options\n if (currentObservable && (!currentObservable.value || options.cache)) {\n // TODO: test if this ran, otherwise on 404 some observers may never be called...\n if (currentObservable.value) {\n nextTick(() => {\n // TODO: return a new observable and only that one fires subscribers, don't refire for existing ones\n currentObservable.next(currentObservable.value);\n });\n }\n return currentObservable;\n }\n if (isEditingThisModel) {\n if (Builder.isBrowser) {\n parent.postMessage({ type: 'builder.updateContent', data: { options } }, '*');\n }\n }\n if (!initialContent /* || isEditingThisModel */) {\n if (!this.getContentQueue) {\n this.getContentQueue = [];\n }\n\n this.getContentQueue.push({ ...options, model: modelName, key });\n if (this.getContentQueue && this.getContentQueue.length >= this.contentPerRequest) {\n const queue = this.getContentQueue.slice();\n this.getContentQueue = [];\n nextTick(() => {\n this.flushGetContentQueue(false, queue);\n });\n } else {\n nextTick(() => {\n this.flushGetContentQueue();\n });\n }\n }\n\n const observable = new BehaviorSubject<BuilderContent[]>(null as any);\n this.observersByKey[key] = observable;\n if (options.noEditorUpdates) {\n this.noEditorUpdates[key] = true;\n }\n if (initialContent) {\n nextTick(() => {\n // TODO: need to testModify this I think...?\n observable.next(initialContent);\n });\n }\n return observable;\n }\n\n get host() {\n switch (this.env) {\n case 'qa':\n return 'https://qa.builder.io';\n case 'test':\n return 'https://builder-io-test.web.app';\n case 'fast':\n return 'https://fast.builder.io';\n case 'cloud':\n return 'https://cloud.builder.io';\n case 'cdn2':\n return 'https://cdn2.builder.io';\n case 'cdn-qa':\n return 'https://cdn-qa.builder.io';\n case 'development':\n case 'dev':\n return 'http://localhost:5000';\n case 'cdn-prod':\n return 'https://cdn.builder.io';\n default:\n return Builder.overrideHost || 'https://cdn.builder.io';\n }\n }\n\n private flushGetContentQueue(usePastQueue = false, useQueue?: GetContentOptions[]) {\n if (!this.apiKey) {\n throw new Error(\n `Fetching content failed, expected apiKey to be defined instead got: ${this.apiKey}`\n );\n }\n\n if (!usePastQueue && !this.getContentQueue) {\n return;\n }\n\n const queue = useQueue || (usePastQueue ? this.priorContentQueue : this.getContentQueue) || [];\n\n // TODO: do this on every request send?\n this.getOverridesFromQueryString();\n\n const queryParams: ParamsMap = {\n // TODO: way to force a request to be in a separate queue. or just lower queue limit to be 1 by default\n omit: queue[0].omit || 'meta.componentsUsed',\n apiKey: this.apiKey,\n ...queue[0].options,\n ...this.queryOptions,\n };\n if (queue[0].fields) {\n queryParams.fields = queue[0].fields;\n }\n if (queue[0].format) {\n queryParams.format = queue[0].format;\n }\n\n const pageQueryParams: ParamsMap =\n typeof location !== 'undefined'\n ? QueryString.parseDeep(location.search.substr(1))\n : undefined || {};\n\n const userAttributes =\n // FIXME: HACK: only checks first in queue for user attributes overrides, should check all\n // TODO: merge user attributes provided here with defaults and current user attiributes (?)\n queue && queue[0].userAttributes\n ? queue[0].userAttributes\n : this.targetContent\n ? this.getUserAttributes()\n : {\n urlPath: this.getLocation().pathname,\n };\n\n const fullUrlQueueItem = queue.find(item => !!item.includeUrl);\n if (fullUrlQueueItem) {\n const location = this.getLocation();\n if (location.origin) {\n queryParams.url = `${location.origin}${location.pathname}${location.search}`;\n }\n }\n\n const urlQueueItem = useQueue?.find(item => item.url);\n if (urlQueueItem?.url) {\n userAttributes.urlPath = urlQueueItem.url.split('?')[0];\n }\n // TODO: merge in the attribute from query string ones\n // TODO: make this an option per component/request\n queryParams.userAttributes = userAttributes;\n\n if (!usePastQueue && !useQueue) {\n this.priorContentQueue = queue;\n this.getContentQueue = null;\n }\n\n const cachebust =\n this.cachebust ||\n isIframe ||\n pageQueryParams.cachebust ||\n pageQueryParams['builder.cachebust'];\n\n if (cachebust || this.env !== 'production') {\n queryParams.cachebust = true;\n }\n\n if (Builder.isEditing) {\n queryParams.isEditing = true;\n }\n\n if (this.noCache || this.env !== 'production') {\n queryParams.noCache = true;\n }\n\n if (size(this.overrides)) {\n for (const key in this.overrides) {\n if (this.overrides.hasOwnProperty(key)) {\n queryParams[`overrides.${key}`] = this.overrides[key];\n }\n }\n }\n\n if (!Builder.isReact) {\n // TODO: remove me once v1 page editors converted to v2\n // queryParams.extractCss = true;\n queryParams.prerender = true;\n }\n\n for (const options of queue) {\n if (options.format) {\n queryParams.format = options.format;\n }\n // TODO: remove me and make permodel\n if (options.static) {\n queryParams.static = options.static;\n }\n\n if (options.cachebust) {\n queryParams.cachebust = options.cachebust;\n }\n\n if (isPositiveNumber(options.cacheSeconds)) {\n queryParams.cacheSeconds = options.cacheSeconds;\n }\n\n if (isPositiveNumber(options.staleCacheSeconds)) {\n queryParams.staleCacheSeconds = options.staleCacheSeconds;\n }\n\n const properties: (keyof GetContentOptions)[] = [\n 'prerender',\n 'extractCss',\n 'limit',\n 'offset',\n 'query',\n 'preview',\n 'model',\n 'entry',\n 'rev',\n 'static',\n ];\n for (const key of properties) {\n const value = options[key];\n if (value !== undefined) {\n queryParams.options = queryParams.options || {};\n queryParams.options[options.key!] = queryParams.options[options.key!] || {};\n queryParams.options[options.key!][key] = JSON.stringify(value);\n }\n }\n }\n if (this.preview) {\n queryParams.preview = 'true';\n }\n const hasParams = Object.keys(queryParams).length > 0;\n\n // TODO: option to force dev or qa api here\n const host = this.host;\n\n const keyNames = queue.map(item => encodeURIComponent(item.key!)).join(',');\n\n if (this.overrideParams) {\n const params = omit(QueryString.parse(this.overrideParams), 'apiKey');\n assign(queryParams, params);\n }\n\n const queryStr = QueryString.stringifyDeep(queryParams);\n\n const format = queryParams.format;\n\n const requestOptions = { headers: {} };\n if (this.authToken) {\n requestOptions.headers = {\n ...requestOptions.headers,\n Authorization: `Bearer ${this.authToken}`,\n };\n }\n\n const fn = format === 'solid' || format === 'react' ? 'codegen' : 'query';\n\n const url =\n `${host}/api/v1/${fn}/${this.apiKey}/${keyNames}` +\n (queryParams && hasParams ? `?${queryStr}` : '');\n\n const promise = fetch(url, requestOptions)\n .then(res => res.json())\n .then(\n result => {\n for (const options of queue) {\n const keyName = options.key!;\n if (options.model === this.blockContentLoading && !options.noEditorUpdates) {\n continue;\n }\n\n const isEditingThisModel = this.editingModel === options.model;\n if (isEditingThisModel && Builder.isEditing) {\n parent.postMessage({ type: 'builder.updateContent', data: { options } }, '*');\n // return;\n }\n const observer = this.observersByKey[keyName];\n if (!observer) {\n return;\n }\n const data = result[keyName];\n const sorted = data; // sortBy(data, item => item.priority);\n if (data) {\n const testModifiedResults = Builder.isServer\n ? sorted\n : this.processResultsForTests(sorted);\n observer.next(testModifiedResults);\n } else {\n const search = this.getLocation().search;\n if ((search || '').includes('builder.preview=' + options.model)) {\n const previewData = {\n id: 'preview',\n name: 'Preview',\n data: {},\n };\n observer.next([previewData]);\n }\n observer.next([]);\n }\n }\n },\n err => {\n for (const options of queue) {\n const observer = this.observersByKey[options.key!];\n if (!observer) {\n return;\n }\n observer.error(err);\n }\n }\n );\n\n return promise;\n }\n\n private testCookiePrefix = 'builder.tests';\n\n private processResultsForTests(results: BuilderContent[]) {\n const mappedResults = results.map(item => {\n if (!item.variations) {\n return item;\n }\n const cookieValue = this.getTestCookie(item.id!);\n const cookieVariation = cookieValue === item.id ? item : item.variations[cookieValue];\n if (cookieVariation) {\n return {\n ...item,\n data: cookieVariation.data,\n variationId: cookieValue,\n testVariationId: cookieValue,\n testVariationName: cookieVariation.name,\n };\n }\n if (this.canTrack && item.variations && size(item.variations)) {\n let n = 0;\n const random = Math.random();\n for (const id in item.variations) {\n const variation = item.variations[id]!;\n const testRatio = variation.testRatio;\n n += testRatio!;\n if (random < n) {\n this.setTestCookie(item.id!, variation.id!);\n const variationName =\n variation.name || (variation.id === item.id ? 'Default variation' : '');\n return {\n ...item,\n data: variation.data,\n variationId: variation.id,\n testVariationId: variation.id,\n variationName: variationName,\n testVariationName: variationName,\n };\n }\n }\n this.setTestCookie(item.id!, item.id!);\n }\n return {\n ...item,\n variationId: item.id,\n ...(item.variations &&\n size(item.variations) && {\n testVariationId: item.id,\n testVariationName: 'Default variation',\n }),\n };\n });\n\n if (isIframe) {\n window.parent?.postMessage(\n { type: 'builder.contentResults', data: { results: mappedResults } },\n '*'\n );\n }\n\n return mappedResults;\n }\n\n private getTestCookie(contentId: string) {\n return this.getCookie(`${this.testCookiePrefix}.${contentId}`);\n }\n\n private cookieQueue: [string, string][] = [];\n\n private setTestCookie(contentId: string, variationId: string) {\n if (!this.canTrack) {\n this.cookieQueue.push([contentId, variationId]);\n return;\n }\n\n // 30 days from now\n const future = new Date();\n future.setDate(future.getDate() + 30);\n\n return this.setCookie(`${this.testCookiePrefix}.${contentId}`, variationId, future);\n }\n\n getCookie(name: string): any {\n if (this.cookies) {\n return this.cookies.get(name);\n }\n return Builder.isBrowser && getCookie(name);\n }\n\n setCookie(name: string, value: any, expires?: Date) {\n if (this.cookies && !(Builder.isServer && Builder.isStatic)) {\n return this.cookies.set(name, value, {\n expires,\n secure: this.getLocation().protocol === 'https:',\n });\n }\n return Builder.isBrowser && setCookie(name, value, expires);\n }\n\n getContent(modelName: string, options: GetContentOptions = {}) {\n if (!this.apiKey) {\n throw new Error(\n `Fetching content from model ${modelName} failed, expected apiKey to be defined instead got: ${this.apiKey}`\n );\n }\n return this.queueGetContent(modelName, options);\n }\n\n getAll(\n modelName: string,\n options: GetContentOptions & {\n req?: IncomingMessage;\n res?: ServerResponse;\n apiKey?: string;\n } = {}\n ): Promise<BuilderContent[]> {\n let instance: Builder = this;\n if (!Builder.isBrowser) {\n instance = new Builder(options.apiKey || this.apiKey, options.req, options.res);\n instance.setUserAttributes(this.getUserAttributes());\n } else {\n if (options.apiKey && !this.apiKey) {\n this.apiKey = options.apiKey;\n }\n }\n\n return instance\n .getContent(modelName, {\n limit: 30,\n ...options,\n key:\n options.key ||\n // Make the key include all options so we don't reuse cache for the same conent fetched\n // with different options\n Builder.isBrowser\n ? `${modelName}:${hash(omit(options, 'initialContent', 'req', 'res'))}`\n : undefined,\n })\n .promise();\n }\n}\n","import { Builder } from '../builder.class';\n\nexport const builder = new Builder(null, undefined, undefined, true);\nBuilder.singletonInstance = builder;\n","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _setPrototypeOf(o, p);\n}\n\nmodule.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}\n\nmodule.exports = _inheritsLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/** @license React v17.0.1\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=require(\"object-assign\"),n=60103,p=60106;exports.Fragment=60107;exports.StrictMode=60108;exports.Profiler=60114;var q=60109,r=60110,t=60112;exports.Suspense=60113;var u=60115,v=60116;\nif(\"function\"===typeof Symbol&&Symbol.for){var w=Symbol.for;n=w(\"react.element\");p=w(\"react.portal\");exports.Fragment=w(\"react.fragment\");exports.StrictMode=w(\"react.strict_mode\");exports.Profiler=w(\"react.profiler\");q=w(\"react.provider\");r=w(\"react.context\");t=w(\"react.forward_ref\");exports.Suspense=w(\"react.suspense\");u=w(\"react.memo\");v=w(\"react.lazy\")}var x=\"function\"===typeof Symbol&&Symbol.iterator;\nfunction y(a){if(null===a||\"object\"!==typeof a)return null;a=x&&a[x]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}function z(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return\"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}\nvar A={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},B={};function C(a,b,c){this.props=a;this.context=b;this.refs=B;this.updater=c||A}C.prototype.isReactComponent={};C.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(z(85));this.updater.enqueueSetState(this,a,b,\"setState\")};C.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};\nfunction D(){}D.prototype=C.prototype;function E(a,b,c){this.props=a;this.context=b;this.refs=B;this.updater=c||A}var F=E.prototype=new D;F.constructor=E;l(F,C.prototype);F.isPureReactComponent=!0;var G={current:null},H=Object.prototype.hasOwnProperty,I={key:!0,ref:!0,__self:!0,__source:!0};\nfunction J(a,b,c){var e,d={},k=null,h=null;if(null!=b)for(e in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)H.call(b,e)&&!I.hasOwnProperty(e)&&(d[e]=b[e]);var g=arguments.length-2;if(1===g)d.children=c;else if(1<g){for(var f=Array(g),m=0;m<g;m++)f[m]=arguments[m+2];d.children=f}if(a&&a.defaultProps)for(e in g=a.defaultProps,g)void 0===d[e]&&(d[e]=g[e]);return{$$typeof:n,type:a,key:k,ref:h,props:d,_owner:G.current}}\nfunction K(a,b){return{$$typeof:n,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}}function L(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===n}function escape(a){var b={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+a.replace(/[=:]/g,function(a){return b[a]})}var M=/\\/+/g;function N(a,b){return\"object\"===typeof a&&null!==a&&null!=a.key?escape(\"\"+a.key):b.toString(36)}\nfunction O(a,b,c,e,d){var k=typeof a;if(\"undefined\"===k||\"boolean\"===k)a=null;var h=!1;if(null===a)h=!0;else switch(k){case \"string\":case \"number\":h=!0;break;case \"object\":switch(a.$$typeof){case n:case p:h=!0}}if(h)return h=a,d=d(h),a=\"\"===e?\".\"+N(h,0):e,Array.isArray(d)?(c=\"\",null!=a&&(c=a.replace(M,\"$&/\")+\"/\"),O(d,b,c,\"\",function(a){return a})):null!=d&&(L(d)&&(d=K(d,c+(!d.key||h&&h.key===d.key?\"\":(\"\"+d.key).replace(M,\"$&/\")+\"/\")+a)),b.push(d)),1;h=0;e=\"\"===e?\".\":e+\":\";if(Array.isArray(a))for(var g=\n0;g<a.length;g++){k=a[g];var f=e+N(k,g);h+=O(k,b,c,f,d)}else if(f=y(a),\"function\"===typeof f)for(a=f.call(a),g=0;!(k=a.next()).done;)k=k.value,f=e+N(k,g++),h+=O(k,b,c,f,d);else if(\"object\"===k)throw b=\"\"+a,Error(z(31,\"[object Object]\"===b?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":b));return h}function P(a,b,c){if(null==a)return a;var e=[],d=0;O(a,e,\"\",\"\",function(a){return b.call(c,a,d++)});return e}\nfunction Q(a){if(-1===a._status){var b=a._result;b=b();a._status=0;a._result=b;b.then(function(b){0===a._status&&(b=b.default,a._status=1,a._result=b)},function(b){0===a._status&&(a._status=2,a._result=b)})}if(1===a._status)return a._result;throw a._result;}var R={current:null};function S(){var a=R.current;if(null===a)throw Error(z(321));return a}var T={ReactCurrentDispatcher:R,ReactCurrentBatchConfig:{transition:0},ReactCurrentOwner:G,IsSomeRendererActing:{current:!1},assign:l};\nexports.Children={map:P,forEach:function(a,b,c){P(a,function(){b.apply(this,arguments)},c)},count:function(a){var b=0;P(a,function(){b++});return b},toArray:function(a){return P(a,function(a){return a})||[]},only:function(a){if(!L(a))throw Error(z(143));return a}};exports.Component=C;exports.PureComponent=E;exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=T;\nexports.cloneElement=function(a,b,c){if(null===a||void 0===a)throw Error(z(267,a));var e=l({},a.props),d=a.key,k=a.ref,h=a._owner;if(null!=b){void 0!==b.ref&&(k=b.ref,h=G.current);void 0!==b.key&&(d=\"\"+b.key);if(a.type&&a.type.defaultProps)var g=a.type.defaultProps;for(f in b)H.call(b,f)&&!I.hasOwnProperty(f)&&(e[f]=void 0===b[f]&&void 0!==g?g[f]:b[f])}var f=arguments.length-2;if(1===f)e.children=c;else if(1<f){g=Array(f);for(var m=0;m<f;m++)g[m]=arguments[m+2];e.children=g}return{$$typeof:n,type:a.type,\nkey:d,ref:k,props:e,_owner:h}};exports.createContext=function(a,b){void 0===b&&(b=null);a={$$typeof:r,_calculateChangedBits:b,_currentValue:a,_currentValue2:a,_threadCount:0,Provider:null,Consumer:null};a.Provider={$$typeof:q,_context:a};return a.Consumer=a};exports.createElement=J;exports.createFactory=function(a){var b=J.bind(null,a);b.type=a;return b};exports.createRef=function(){return{current:null}};exports.forwardRef=function(a){return{$$typeof:t,render:a}};exports.isValidElement=L;\nexports.lazy=function(a){return{$$typeof:v,_payload:{_status:-1,_result:a},_init:Q}};exports.memo=function(a,b){return{$$typeof:u,type:a,compare:void 0===b?null:b}};exports.useCallback=function(a,b){return S().useCallback(a,b)};exports.useContext=function(a,b){return S().useContext(a,b)};exports.useDebugValue=function(){};exports.useEffect=function(a,b){return S().useEffect(a,b)};exports.useImperativeHandle=function(a,b,c){return S().useImperativeHandle(a,b,c)};\nexports.useLayoutEffect=function(a,b){return S().useLayoutEffect(a,b)};exports.useMemo=function(a,b){return S().useMemo(a,b)};exports.useReducer=function(a,b,c){return S().useReducer(a,b,c)};exports.useRef=function(a){return S().useRef(a)};exports.useState=function(a){return S().useState(a)};exports.version=\"17.0.1\";\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","/*\n\nBased off glamor's StyleSheet, thanks Sunil ❤️\n\nhigh performance StyleSheet for css-in-js systems\n\n- uses multiple style tags behind the scenes for millions of rules\n- uses `insertRule` for appending in production for *much* faster performance\n\n// usage\n\nimport { StyleSheet } from '@emotion/sheet'\n\nlet styleSheet = new StyleSheet({ key: '', container: document.head })\n\nstyleSheet.insert('#box { border: 1px solid red; }')\n- appends a css rule into the stylesheet\n\nstyleSheet.flush()\n- empties the stylesheet of all its contents\n\n*/\n// $FlowFixMe\nfunction sheetForTag(tag) {\n if (tag.sheet) {\n // $FlowFixMe\n return tag.sheet;\n } // this weirdness brought to you by firefox\n\n /* istanbul ignore next */\n\n\n for (var i = 0; i < document.styleSheets.length; i++) {\n if (document.styleSheets[i].ownerNode === tag) {\n // $FlowFixMe\n return document.styleSheets[i];\n }\n }\n}\n\nfunction createStyleElement(options) {\n var tag = document.createElement('style');\n tag.setAttribute('data-emotion', options.key);\n\n if (options.nonce !== undefined) {\n tag.setAttribute('nonce', options.nonce);\n }\n\n tag.appendChild(document.createTextNode(''));\n return tag;\n}\n\nvar StyleSheet =\n/*#__PURE__*/\nfunction () {\n function StyleSheet(options) {\n this.isSpeedy = options.speedy === undefined ? process.env.NODE_ENV === 'production' : options.speedy;\n this.tags = [];\n this.ctr = 0;\n this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets\n\n this.key = options.key;\n this.container = options.container;\n this.before = null;\n }\n\n var _proto = StyleSheet.prototype;\n\n _proto.insert = function insert(rule) {\n // the max length is how many rules we have per style tag, it's 65000 in speedy mode\n // it's 1 in dev because we insert source maps that map a single rule to a location\n // and you can only have one source map per style tag\n if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {\n var _tag = createStyleElement(this);\n\n var before;\n\n if (this.tags.length === 0) {\n before = this.before;\n } else {\n before = this.tags[this.tags.length - 1].nextSibling;\n }\n\n this.container.insertBefore(_tag, before);\n this.tags.push(_tag);\n }\n\n var tag = this.tags[this.tags.length - 1];\n\n if (this.isSpeedy) {\n var sheet = sheetForTag(tag);\n\n try {\n // this is a really hot path\n // we check the second character first because having \"i\"\n // as the second character will happen less often than\n // having \"@\" as the first character\n var isImportRule = rule.charCodeAt(1) === 105 && rule.charCodeAt(0) === 64; // this is the ultrafast version, works across browsers\n // the big drawback is that the css won't be editable in devtools\n\n sheet.insertRule(rule, // we need to insert @import rules before anything else\n // otherwise there will be an error\n // technically this means that the @import rules will\n // _usually_(not always since there could be multiple style tags)\n // be the first ones in prod and generally later in dev\n // this shouldn't really matter in the real world though\n // @import is generally only used for font faces from google fonts and etc.\n // so while this could be technically correct then it would be slower and larger\n // for a tiny bit of correctness that won't matter in the real world\n isImportRule ? 0 : sheet.cssRules.length);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\"There was a problem inserting the following rule: \\\"\" + rule + \"\\\"\", e);\n }\n }\n } else {\n tag.appendChild(document.createTextNode(rule));\n }\n\n this.ctr++;\n };\n\n _proto.flush = function flush() {\n // $FlowFixMe\n this.tags.forEach(function (tag) {\n return tag.parentNode.removeChild(tag);\n });\n this.tags = [];\n this.ctr = 0;\n };\n\n return StyleSheet;\n}();\n\nexport { StyleSheet };\n","function stylis_min (W) {\n function M(d, c, e, h, a) {\n for (var m = 0, b = 0, v = 0, n = 0, q, g, x = 0, K = 0, k, u = k = q = 0, l = 0, r = 0, I = 0, t = 0, B = e.length, J = B - 1, y, f = '', p = '', F = '', G = '', C; l < B;) {\n g = e.charCodeAt(l);\n l === J && 0 !== b + n + v + m && (0 !== b && (g = 47 === b ? 10 : 47), n = v = m = 0, B++, J++);\n\n if (0 === b + n + v + m) {\n if (l === J && (0 < r && (f = f.replace(N, '')), 0 < f.trim().length)) {\n switch (g) {\n case 32:\n case 9:\n case 59:\n case 13:\n case 10:\n break;\n\n default:\n f += e.charAt(l);\n }\n\n g = 59;\n }\n\n switch (g) {\n case 123:\n f = f.trim();\n q = f.charCodeAt(0);\n k = 1;\n\n for (t = ++l; l < B;) {\n switch (g = e.charCodeAt(l)) {\n case 123:\n k++;\n break;\n\n case 125:\n k--;\n break;\n\n case 47:\n switch (g = e.charCodeAt(l + 1)) {\n case 42:\n case 47:\n a: {\n for (u = l + 1; u < J; ++u) {\n switch (e.charCodeAt(u)) {\n case 47:\n if (42 === g && 42 === e.charCodeAt(u - 1) && l + 2 !== u) {\n l = u + 1;\n break a;\n }\n\n break;\n\n case 10:\n if (47 === g) {\n l = u + 1;\n break a;\n }\n\n }\n }\n\n l = u;\n }\n\n }\n\n break;\n\n case 91:\n g++;\n\n case 40:\n g++;\n\n case 34:\n case 39:\n for (; l++ < J && e.charCodeAt(l) !== g;) {\n }\n\n }\n\n if (0 === k) break;\n l++;\n }\n\n k = e.substring(t, l);\n 0 === q && (q = (f = f.replace(ca, '').trim()).charCodeAt(0));\n\n switch (q) {\n case 64:\n 0 < r && (f = f.replace(N, ''));\n g = f.charCodeAt(1);\n\n switch (g) {\n case 100:\n case 109:\n case 115:\n case 45:\n r = c;\n break;\n\n default:\n r = O;\n }\n\n k = M(c, r, k, g, a + 1);\n t = k.length;\n 0 < A && (r = X(O, f, I), C = H(3, k, r, c, D, z, t, g, a, h), f = r.join(''), void 0 !== C && 0 === (t = (k = C.trim()).length) && (g = 0, k = ''));\n if (0 < t) switch (g) {\n case 115:\n f = f.replace(da, ea);\n\n case 100:\n case 109:\n case 45:\n k = f + '{' + k + '}';\n break;\n\n case 107:\n f = f.replace(fa, '$1 $2');\n k = f + '{' + k + '}';\n k = 1 === w || 2 === w && L('@' + k, 3) ? '@-webkit-' + k + '@' + k : '@' + k;\n break;\n\n default:\n k = f + k, 112 === h && (k = (p += k, ''));\n } else k = '';\n break;\n\n default:\n k = M(c, X(c, f, I), k, h, a + 1);\n }\n\n F += k;\n k = I = r = u = q = 0;\n f = '';\n g = e.charCodeAt(++l);\n break;\n\n case 125:\n case 59:\n f = (0 < r ? f.replace(N, '') : f).trim();\n if (1 < (t = f.length)) switch (0 === u && (q = f.charCodeAt(0), 45 === q || 96 < q && 123 > q) && (t = (f = f.replace(' ', ':')).length), 0 < A && void 0 !== (C = H(1, f, c, d, D, z, p.length, h, a, h)) && 0 === (t = (f = C.trim()).length) && (f = '\\x00\\x00'), q = f.charCodeAt(0), g = f.charCodeAt(1), q) {\n case 0:\n break;\n\n case 64:\n if (105 === g || 99 === g) {\n G += f + e.charAt(l);\n break;\n }\n\n default:\n 58 !== f.charCodeAt(t - 1) && (p += P(f, q, g, f.charCodeAt(2)));\n }\n I = r = u = q = 0;\n f = '';\n g = e.charCodeAt(++l);\n }\n }\n\n switch (g) {\n case 13:\n case 10:\n 47 === b ? b = 0 : 0 === 1 + q && 107 !== h && 0 < f.length && (r = 1, f += '\\x00');\n 0 < A * Y && H(0, f, c, d, D, z, p.length, h, a, h);\n z = 1;\n D++;\n break;\n\n case 59:\n case 125:\n if (0 === b + n + v + m) {\n z++;\n break;\n }\n\n default:\n z++;\n y = e.charAt(l);\n\n switch (g) {\n case 9:\n case 32:\n if (0 === n + m + b) switch (x) {\n case 44:\n case 58:\n case 9:\n case 32:\n y = '';\n break;\n\n default:\n 32 !== g && (y = ' ');\n }\n break;\n\n case 0:\n y = '\\\\0';\n break;\n\n case 12:\n y = '\\\\f';\n break;\n\n case 11:\n y = '\\\\v';\n break;\n\n case 38:\n 0 === n + b + m && (r = I = 1, y = '\\f' + y);\n break;\n\n case 108:\n if (0 === n + b + m + E && 0 < u) switch (l - u) {\n case 2:\n 112 === x && 58 === e.charCodeAt(l - 3) && (E = x);\n\n case 8:\n 111 === K && (E = K);\n }\n break;\n\n case 58:\n 0 === n + b + m && (u = l);\n break;\n\n case 44:\n 0 === b + v + n + m && (r = 1, y += '\\r');\n break;\n\n case 34:\n case 39:\n 0 === b && (n = n === g ? 0 : 0 === n ? g : n);\n break;\n\n case 91:\n 0 === n + b + v && m++;\n break;\n\n case 93:\n 0 === n + b + v && m--;\n break;\n\n case 41:\n 0 === n + b + m && v--;\n break;\n\n case 40:\n if (0 === n + b + m) {\n if (0 === q) switch (2 * x + 3 * K) {\n case 533:\n break;\n\n default:\n q = 1;\n }\n v++;\n }\n\n break;\n\n case 64:\n 0 === b + v + n + m + u + k && (k = 1);\n break;\n\n case 42:\n case 47:\n if (!(0 < n + m + v)) switch (b) {\n case 0:\n switch (2 * g + 3 * e.charCodeAt(l + 1)) {\n case 235:\n b = 47;\n break;\n\n case 220:\n t = l, b = 42;\n }\n\n break;\n\n case 42:\n 47 === g && 42 === x && t + 2 !== l && (33 === e.charCodeAt(t + 2) && (p += e.substring(t, l + 1)), y = '', b = 0);\n }\n }\n\n 0 === b && (f += y);\n }\n\n K = x;\n x = g;\n l++;\n }\n\n t = p.length;\n\n if (0 < t) {\n r = c;\n if (0 < A && (C = H(2, p, r, d, D, z, t, h, a, h), void 0 !== C && 0 === (p = C).length)) return G + p + F;\n p = r.join(',') + '{' + p + '}';\n\n if (0 !== w * E) {\n 2 !== w || L(p, 2) || (E = 0);\n\n switch (E) {\n case 111:\n p = p.replace(ha, ':-moz-$1') + p;\n break;\n\n case 112:\n p = p.replace(Q, '::-webkit-input-$1') + p.replace(Q, '::-moz-$1') + p.replace(Q, ':-ms-input-$1') + p;\n }\n\n E = 0;\n }\n }\n\n return G + p + F;\n }\n\n function X(d, c, e) {\n var h = c.trim().split(ia);\n c = h;\n var a = h.length,\n m = d.length;\n\n switch (m) {\n case 0:\n case 1:\n var b = 0;\n\n for (d = 0 === m ? '' : d[0] + ' '; b < a; ++b) {\n c[b] = Z(d, c[b], e).trim();\n }\n\n break;\n\n default:\n var v = b = 0;\n\n for (c = []; b < a; ++b) {\n for (var n = 0; n < m; ++n) {\n c[v++] = Z(d[n] + ' ', h[b], e).trim();\n }\n }\n\n }\n\n return c;\n }\n\n function Z(d, c, e) {\n var h = c.charCodeAt(0);\n 33 > h && (h = (c = c.trim()).charCodeAt(0));\n\n switch (h) {\n case 38:\n return c.replace(F, '$1' + d.trim());\n\n case 58:\n return d.trim() + c.replace(F, '$1' + d.trim());\n\n default:\n if (0 < 1 * e && 0 < c.indexOf('\\f')) return c.replace(F, (58 === d.charCodeAt(0) ? '' : '$1') + d.trim());\n }\n\n return d + c;\n }\n\n function P(d, c, e, h) {\n var a = d + ';',\n m = 2 * c + 3 * e + 4 * h;\n\n if (944 === m) {\n d = a.indexOf(':', 9) + 1;\n var b = a.substring(d, a.length - 1).trim();\n b = a.substring(0, d).trim() + b + ';';\n return 1 === w || 2 === w && L(b, 1) ? '-webkit-' + b + b : b;\n }\n\n if (0 === w || 2 === w && !L(a, 1)) return a;\n\n switch (m) {\n case 1015:\n return 97 === a.charCodeAt(10) ? '-webkit-' + a + a : a;\n\n case 951:\n return 116 === a.charCodeAt(3) ? '-webkit-' + a + a : a;\n\n case 963:\n return 110 === a.charCodeAt(5) ? '-webkit-' + a + a : a;\n\n case 1009:\n if (100 !== a.charCodeAt(4)) break;\n\n case 969:\n case 942:\n return '-webkit-' + a + a;\n\n case 978:\n return '-webkit-' + a + '-moz-' + a + a;\n\n case 1019:\n case 983:\n return '-webkit-' + a + '-moz-' + a + '-ms-' + a + a;\n\n case 883:\n if (45 === a.charCodeAt(8)) return '-webkit-' + a + a;\n if (0 < a.indexOf('image-set(', 11)) return a.replace(ja, '$1-webkit-$2') + a;\n break;\n\n case 932:\n if (45 === a.charCodeAt(4)) switch (a.charCodeAt(5)) {\n case 103:\n return '-webkit-box-' + a.replace('-grow', '') + '-webkit-' + a + '-ms-' + a.replace('grow', 'positive') + a;\n\n case 115:\n return '-webkit-' + a + '-ms-' + a.replace('shrink', 'negative') + a;\n\n case 98:\n return '-webkit-' + a + '-ms-' + a.replace('basis', 'preferred-size') + a;\n }\n return '-webkit-' + a + '-ms-' + a + a;\n\n case 964:\n return '-webkit-' + a + '-ms-flex-' + a + a;\n\n case 1023:\n if (99 !== a.charCodeAt(8)) break;\n b = a.substring(a.indexOf(':', 15)).replace('flex-', '').replace('space-between', 'justify');\n return '-webkit-box-pack' + b + '-webkit-' + a + '-ms-flex-pack' + b + a;\n\n case 1005:\n return ka.test(a) ? a.replace(aa, ':-webkit-') + a.replace(aa, ':-moz-') + a : a;\n\n case 1e3:\n b = a.substring(13).trim();\n c = b.indexOf('-') + 1;\n\n switch (b.charCodeAt(0) + b.charCodeAt(c)) {\n case 226:\n b = a.replace(G, 'tb');\n break;\n\n case 232:\n b = a.replace(G, 'tb-rl');\n break;\n\n case 220:\n b = a.replace(G, 'lr');\n break;\n\n default:\n return a;\n }\n\n return '-webkit-' + a + '-ms-' + b + a;\n\n case 1017:\n if (-1 === a.indexOf('sticky', 9)) break;\n\n case 975:\n c = (a = d).length - 10;\n b = (33 === a.charCodeAt(c) ? a.substring(0, c) : a).substring(d.indexOf(':', 7) + 1).trim();\n\n switch (m = b.charCodeAt(0) + (b.charCodeAt(7) | 0)) {\n case 203:\n if (111 > b.charCodeAt(8)) break;\n\n case 115:\n a = a.replace(b, '-webkit-' + b) + ';' + a;\n break;\n\n case 207:\n case 102:\n a = a.replace(b, '-webkit-' + (102 < m ? 'inline-' : '') + 'box') + ';' + a.replace(b, '-webkit-' + b) + ';' + a.replace(b, '-ms-' + b + 'box') + ';' + a;\n }\n\n return a + ';';\n\n case 938:\n if (45 === a.charCodeAt(5)) switch (a.charCodeAt(6)) {\n case 105:\n return b = a.replace('-items', ''), '-webkit-' + a + '-webkit-box-' + b + '-ms-flex-' + b + a;\n\n case 115:\n return '-webkit-' + a + '-ms-flex-item-' + a.replace(ba, '') + a;\n\n default:\n return '-webkit-' + a + '-ms-flex-line-pack' + a.replace('align-content', '').replace(ba, '') + a;\n }\n break;\n\n case 973:\n case 989:\n if (45 !== a.charCodeAt(3) || 122 === a.charCodeAt(4)) break;\n\n case 931:\n case 953:\n if (!0 === la.test(d)) return 115 === (b = d.substring(d.indexOf(':') + 1)).charCodeAt(0) ? P(d.replace('stretch', 'fill-available'), c, e, h).replace(':fill-available', ':stretch') : a.replace(b, '-webkit-' + b) + a.replace(b, '-moz-' + b.replace('fill-', '')) + a;\n break;\n\n case 962:\n if (a = '-webkit-' + a + (102 === a.charCodeAt(5) ? '-ms-' + a : '') + a, 211 === e + h && 105 === a.charCodeAt(13) && 0 < a.indexOf('transform', 10)) return a.substring(0, a.indexOf(';', 27) + 1).replace(ma, '$1-webkit-$2') + a;\n }\n\n return a;\n }\n\n function L(d, c) {\n var e = d.indexOf(1 === c ? ':' : '{'),\n h = d.substring(0, 3 !== c ? e : 10);\n e = d.substring(e + 1, d.length - 1);\n return R(2 !== c ? h : h.replace(na, '$1'), e, c);\n }\n\n function ea(d, c) {\n var e = P(c, c.charCodeAt(0), c.charCodeAt(1), c.charCodeAt(2));\n return e !== c + ';' ? e.replace(oa, ' or ($1)').substring(4) : '(' + c + ')';\n }\n\n function H(d, c, e, h, a, m, b, v, n, q) {\n for (var g = 0, x = c, w; g < A; ++g) {\n switch (w = S[g].call(B, d, x, e, h, a, m, b, v, n, q)) {\n case void 0:\n case !1:\n case !0:\n case null:\n break;\n\n default:\n x = w;\n }\n }\n\n if (x !== c) return x;\n }\n\n function T(d) {\n switch (d) {\n case void 0:\n case null:\n A = S.length = 0;\n break;\n\n default:\n if ('function' === typeof d) S[A++] = d;else if ('object' === typeof d) for (var c = 0, e = d.length; c < e; ++c) {\n T(d[c]);\n } else Y = !!d | 0;\n }\n\n return T;\n }\n\n function U(d) {\n d = d.prefix;\n void 0 !== d && (R = null, d ? 'function' !== typeof d ? w = 1 : (w = 2, R = d) : w = 0);\n return U;\n }\n\n function B(d, c) {\n var e = d;\n 33 > e.charCodeAt(0) && (e = e.trim());\n V = e;\n e = [V];\n\n if (0 < A) {\n var h = H(-1, c, e, e, D, z, 0, 0, 0, 0);\n void 0 !== h && 'string' === typeof h && (c = h);\n }\n\n var a = M(O, e, c, 0, 0);\n 0 < A && (h = H(-2, a, e, e, D, z, a.length, 0, 0, 0), void 0 !== h && (a = h));\n V = '';\n E = 0;\n z = D = 1;\n return a;\n }\n\n var ca = /^\\0+/g,\n N = /[\\0\\r\\f]/g,\n aa = /: */g,\n ka = /zoo|gra/,\n ma = /([,: ])(transform)/g,\n ia = /,\\r+?/g,\n F = /([\\t\\r\\n ])*\\f?&/g,\n fa = /@(k\\w+)\\s*(\\S*)\\s*/,\n Q = /::(place)/g,\n ha = /:(read-only)/g,\n G = /[svh]\\w+-[tblr]{2}/,\n da = /\\(\\s*(.*)\\s*\\)/g,\n oa = /([\\s\\S]*?);/g,\n ba = /-self|flex-/g,\n na = /[^]*?(:[rp][el]a[\\w-]+)[^]*/,\n la = /stretch|:\\s*\\w+\\-(?:conte|avail)/,\n ja = /([^-])(image-set\\()/,\n z = 1,\n D = 1,\n E = 0,\n w = 1,\n O = [],\n S = [],\n A = 0,\n R = null,\n Y = 0,\n V = '';\n B.use = T;\n B.set = U;\n void 0 !== W && U(W);\n return B;\n}\n\nexport default stylis_min;\n","var weakMemoize = function weakMemoize(func) {\n // $FlowFixMe flow doesn't include all non-primitive types as allowed for weakmaps\n var cache = new WeakMap();\n return function (arg) {\n if (cache.has(arg)) {\n // $FlowFixMe\n return cache.get(arg);\n }\n\n var ret = func(arg);\n cache.set(arg, ret);\n return ret;\n };\n};\n\nexport default weakMemoize;\n","import { StyleSheet } from '@emotion/sheet';\nimport Stylis from '@emotion/stylis';\nimport weakMemoize from '@emotion/weak-memoize';\n\n// https://github.com/thysultan/stylis.js/tree/master/plugins/rule-sheet\n// inlined to avoid umd wrapper and peerDep warnings/installing stylis\n// since we use stylis after closure compiler\nvar delimiter = '/*|*/';\nvar needle = delimiter + '}';\n\nfunction toSheet(block) {\n if (block) {\n Sheet.current.insert(block + '}');\n }\n}\n\nvar Sheet = {\n current: null\n};\nvar ruleSheet = function ruleSheet(context, content, selectors, parents, line, column, length, ns, depth, at) {\n switch (context) {\n // property\n case 1:\n {\n switch (content.charCodeAt(0)) {\n case 64:\n {\n // @import\n Sheet.current.insert(content + ';');\n return '';\n }\n // charcode for l\n\n case 108:\n {\n // charcode for b\n // this ignores label\n if (content.charCodeAt(2) === 98) {\n return '';\n }\n }\n }\n\n break;\n }\n // selector\n\n case 2:\n {\n if (ns === 0) return content + delimiter;\n break;\n }\n // at-rule\n\n case 3:\n {\n switch (ns) {\n // @font-face, @page\n case 102:\n case 112:\n {\n Sheet.current.insert(selectors[0] + content);\n return '';\n }\n\n default:\n {\n return content + (at === 0 ? delimiter : '');\n }\n }\n }\n\n case -2:\n {\n content.split(needle).forEach(toSheet);\n }\n }\n};\nvar removeLabel = function removeLabel(context, content) {\n if (context === 1 && // charcode for l\n content.charCodeAt(0) === 108 && // charcode for b\n content.charCodeAt(2) === 98 // this ignores label\n ) {\n return '';\n }\n};\n\nvar isBrowser = typeof document !== 'undefined';\nvar rootServerStylisCache = {};\nvar getServerStylisCache = isBrowser ? undefined : weakMemoize(function () {\n var getCache = weakMemoize(function () {\n return {};\n });\n var prefixTrueCache = {};\n var prefixFalseCache = {};\n return function (prefix) {\n if (prefix === undefined || prefix === true) {\n return prefixTrueCache;\n }\n\n if (prefix === false) {\n return prefixFalseCache;\n }\n\n return getCache(prefix);\n };\n});\n\nvar createCache = function createCache(options) {\n if (options === undefined) options = {};\n var key = options.key || 'css';\n var stylisOptions;\n\n if (options.prefix !== undefined) {\n stylisOptions = {\n prefix: options.prefix\n };\n }\n\n var stylis = new Stylis(stylisOptions);\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe\n if (/[^a-z-]/.test(key)) {\n throw new Error(\"Emotion key must only contain lower case alphabetical characters and - but \\\"\" + key + \"\\\" was passed\");\n }\n }\n\n var inserted = {}; // $FlowFixMe\n\n var container;\n\n if (isBrowser) {\n container = options.container || document.head;\n var nodes = document.querySelectorAll(\"style[data-emotion-\" + key + \"]\");\n Array.prototype.forEach.call(nodes, function (node) {\n var attrib = node.getAttribute(\"data-emotion-\" + key); // $FlowFixMe\n\n attrib.split(' ').forEach(function (id) {\n inserted[id] = true;\n });\n\n if (node.parentNode !== container) {\n container.appendChild(node);\n }\n });\n }\n\n var _insert;\n\n if (isBrowser) {\n stylis.use(options.stylisPlugins)(ruleSheet);\n\n _insert = function insert(selector, serialized, sheet, shouldCache) {\n var name = serialized.name;\n Sheet.current = sheet;\n\n if (process.env.NODE_ENV !== 'production' && serialized.map !== undefined) {\n var map = serialized.map;\n Sheet.current = {\n insert: function insert(rule) {\n sheet.insert(rule + map);\n }\n };\n }\n\n stylis(selector, serialized.styles);\n\n if (shouldCache) {\n cache.inserted[name] = true;\n }\n };\n } else {\n stylis.use(removeLabel);\n var serverStylisCache = rootServerStylisCache;\n\n if (options.stylisPlugins || options.prefix !== undefined) {\n stylis.use(options.stylisPlugins); // $FlowFixMe\n\n serverStylisCache = getServerStylisCache(options.stylisPlugins || rootServerStylisCache)(options.prefix);\n }\n\n var getRules = function getRules(selector, serialized) {\n var name = serialized.name;\n\n if (serverStylisCache[name] === undefined) {\n serverStylisCache[name] = stylis(selector, serialized.styles);\n }\n\n return serverStylisCache[name];\n };\n\n _insert = function _insert(selector, serialized, sheet, shouldCache) {\n var name = serialized.name;\n var rules = getRules(selector, serialized);\n\n if (cache.compat === undefined) {\n // in regular mode, we don't set the styles on the inserted cache\n // since we don't need to and that would be wasting memory\n // we return them so that they are rendered in a style tag\n if (shouldCache) {\n cache.inserted[name] = true;\n }\n\n if ( // using === development instead of !== production\n // because if people do ssr in tests, the source maps showing up would be annoying\n process.env.NODE_ENV === 'development' && serialized.map !== undefined) {\n return rules + serialized.map;\n }\n\n return rules;\n } else {\n // in compat mode, we put the styles on the inserted cache so\n // that emotion-server can pull out the styles\n // except when we don't want to cache it which was in Global but now\n // is nowhere but we don't want to do a major right now\n // and just in case we're going to leave the case here\n // it's also not affecting client side bundle size\n // so it's really not a big deal\n if (shouldCache) {\n cache.inserted[name] = rules;\n } else {\n return rules;\n }\n }\n };\n }\n\n if (process.env.NODE_ENV !== 'production') {\n // https://esbench.com/bench/5bf7371a4cd7e6009ef61d0a\n var commentStart = /\\/\\*/g;\n var commentEnd = /\\*\\//g;\n stylis.use(function (context, content) {\n switch (context) {\n case -1:\n {\n while (commentStart.test(content)) {\n commentEnd.lastIndex = commentStart.lastIndex;\n\n if (commentEnd.test(content)) {\n commentStart.lastIndex = commentEnd.lastIndex;\n continue;\n }\n\n throw new Error('Your styles have an unterminated comment (\"/*\" without corresponding \"*/\").');\n }\n\n commentStart.lastIndex = 0;\n break;\n }\n }\n });\n stylis.use(function (context, content, selectors) {\n switch (context) {\n case -1:\n {\n var flag = 'emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason';\n var unsafePseudoClasses = content.match(/(:first|:nth|:nth-last)-child/g);\n\n if (unsafePseudoClasses && cache.compat !== true) {\n unsafePseudoClasses.forEach(function (unsafePseudoClass) {\n var ignoreRegExp = new RegExp(unsafePseudoClass + \".*\\\\/\\\\* \" + flag + \" \\\\*\\\\/\");\n var ignore = ignoreRegExp.test(content);\n\n if (unsafePseudoClass && !ignore) {\n console.error(\"The pseudo class \\\"\" + unsafePseudoClass + \"\\\" is potentially unsafe when doing server-side rendering. Try changing it to \\\"\" + unsafePseudoClass.split('-child')[0] + \"-of-type\\\".\");\n }\n });\n }\n\n break;\n }\n }\n });\n }\n\n var cache = {\n key: key,\n sheet: new StyleSheet({\n key: key,\n container: container,\n nonce: options.nonce,\n speedy: options.speedy\n }),\n nonce: options.nonce,\n inserted: inserted,\n registered: {},\n insert: _insert\n };\n return cache;\n};\n\nexport default createCache;\n","var isBrowser = typeof document !== 'undefined';\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n var rawClassName = '';\n classNames.split(' ').forEach(function (className) {\n if (registered[className] !== undefined) {\n registeredStyles.push(registered[className]);\n } else {\n rawClassName += className + \" \";\n }\n });\n return rawClassName;\n}\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n var className = cache.key + \"-\" + serialized.name;\n\n if ( // we only need to add the styles to the registered cache if the\n // class name could be used further down\n // the tree but if it's a string tag, we know it won't\n // so we don't have to add it to registered cache.\n // this improves memory usage since we can avoid storing the whole style string\n (isStringTag === false || // we need to always store it if we're in compat mode and\n // in node since emotion-server relies on whether a style is in\n // the registered cache to know whether a style is global or not\n // also, note that this check will be dead code eliminated in the browser\n isBrowser === false && cache.compat !== undefined) && cache.registered[className] === undefined) {\n cache.registered[className] = serialized.styles;\n }\n\n if (cache.inserted[serialized.name] === undefined) {\n var stylesForSSR = '';\n var current = serialized;\n\n do {\n var maybeStyles = cache.insert(\".\" + className, current, cache.sheet, true);\n\n if (!isBrowser && maybeStyles !== undefined) {\n stylesForSSR += maybeStyles;\n }\n\n current = current.next;\n } while (current !== undefined);\n\n if (!isBrowser && stylesForSSR.length !== 0) {\n return stylesForSSR;\n }\n }\n};\n\nexport { getRegisteredStyles, insertStyles };\n","/* eslint-disable */\n// murmurhash2 via https://github.com/garycourt/murmurhash-js/blob/master/murmurhash2_gc.js\nfunction murmurhash2_32_gc(str) {\n var l = str.length,\n h = l ^ l,\n i = 0,\n k;\n\n while (l >= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k = (k & 0xffff) * 0x5bd1e995 + (((k >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n k ^= k >>> 24;\n k = (k & 0xffff) * 0x5bd1e995 + (((k >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n h = (h & 0xffff) * 0x5bd1e995 + (((h >>> 16) * 0x5bd1e995 & 0xffff) << 16) ^ k;\n l -= 4;\n ++i;\n }\n\n switch (l) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h = (h & 0xffff) * 0x5bd1e995 + (((h >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n }\n\n h ^= h >>> 13;\n h = (h & 0xffff) * 0x5bd1e995 + (((h >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n h ^= h >>> 15;\n return (h >>> 0).toString(36);\n}\n\nexport default murmurhash2_32_gc;\n","var unitlessKeys = {\n animationIterationCount: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport default unitlessKeys;\n","function memoize(fn) {\n var cache = {};\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport default memoize;\n","import hashString from '@emotion/hash';\nimport unitless from '@emotion/unitless';\nimport memoize from '@emotion/memoize';\n\nvar ILLEGAL_ESCAPE_SEQUENCE_ERROR = \"You have illegal escape sequence in your template literal, most likely inside content's property value.\\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \\\"content: '\\\\00d7';\\\" should become \\\"content: '\\\\\\\\00d7';\\\".\\nYou can read more about this here:\\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences\";\nvar UNDEFINED_AS_OBJECT_KEY_ERROR = \"You have passed in falsy value as style object's key (can happen when in example you pass unexported component as computed key).\";\nvar hyphenateRegex = /[A-Z]|^ms/g;\nvar animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;\n\nvar isCustomProperty = function isCustomProperty(property) {\n return property.charCodeAt(1) === 45;\n};\n\nvar isProcessableValue = function isProcessableValue(value) {\n return value != null && typeof value !== 'boolean';\n};\n\nvar processStyleName = memoize(function (styleName) {\n return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase();\n});\n\nvar processStyleValue = function processStyleValue(key, value) {\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n if (typeof value === 'string') {\n return value.replace(animationRegex, function (match, p1, p2) {\n cursor = {\n name: p1,\n styles: p2,\n next: cursor\n };\n return p1;\n });\n }\n }\n }\n\n if (unitless[key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) {\n return value + 'px';\n }\n\n return value;\n};\n\nif (process.env.NODE_ENV !== 'production') {\n var contentValuePattern = /(attr|calc|counters?|url)\\(/;\n var contentValues = ['normal', 'none', 'counter', 'open-quote', 'close-quote', 'no-open-quote', 'no-close-quote', 'initial', 'inherit', 'unset'];\n var oldProcessStyleValue = processStyleValue;\n var msPattern = /^-ms-/;\n var hyphenPattern = /-(.)/g;\n var hyphenatedCache = {};\n\n processStyleValue = function processStyleValue(key, value) {\n if (key === 'content') {\n if (typeof value !== 'string' || contentValues.indexOf(value) === -1 && !contentValuePattern.test(value) && (value.charAt(0) !== value.charAt(value.length - 1) || value.charAt(0) !== '\"' && value.charAt(0) !== \"'\")) {\n console.error(\"You seem to be using a value for 'content' without quotes, try replacing it with `content: '\\\"\" + value + \"\\\"'`\");\n }\n }\n\n var processed = oldProcessStyleValue(key, value);\n\n if (processed !== '' && !isCustomProperty(key) && key.indexOf('-') !== -1 && hyphenatedCache[key] === undefined) {\n hyphenatedCache[key] = true;\n console.error(\"Using kebab-case for css properties in objects is not supported. Did you mean \" + key.replace(msPattern, 'ms-').replace(hyphenPattern, function (str, _char) {\n return _char.toUpperCase();\n }) + \"?\");\n }\n\n return processed;\n };\n}\n\nvar shouldWarnAboutInterpolatingClassNameFromCss = true;\n\nfunction handleInterpolation(mergedProps, registered, interpolation, couldBeSelectorInterpolation) {\n if (interpolation == null) {\n return '';\n }\n\n if (interpolation.__emotion_styles !== undefined) {\n if (process.env.NODE_ENV !== 'production' && interpolation.toString() === 'NO_COMPONENT_SELECTOR') {\n throw new Error('Component selectors can only be used in conjunction with babel-plugin-emotion.');\n }\n\n return interpolation;\n }\n\n switch (typeof interpolation) {\n case 'boolean':\n {\n return '';\n }\n\n case 'object':\n {\n if (interpolation.anim === 1) {\n cursor = {\n name: interpolation.name,\n styles: interpolation.styles,\n next: cursor\n };\n return interpolation.name;\n }\n\n if (interpolation.styles !== undefined) {\n var next = interpolation.next;\n\n if (next !== undefined) {\n // not the most efficient thing ever but this is a pretty rare case\n // and there will be very few iterations of this generally\n while (next !== undefined) {\n cursor = {\n name: next.name,\n styles: next.styles,\n next: cursor\n };\n next = next.next;\n }\n }\n\n var styles = interpolation.styles + \";\";\n\n if (process.env.NODE_ENV !== 'production' && interpolation.map !== undefined) {\n styles += interpolation.map;\n }\n\n return styles;\n }\n\n return createStringFromObject(mergedProps, registered, interpolation);\n }\n\n case 'function':\n {\n if (mergedProps !== undefined) {\n var previousCursor = cursor;\n var result = interpolation(mergedProps);\n cursor = previousCursor;\n return handleInterpolation(mergedProps, registered, result, couldBeSelectorInterpolation);\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('Functions that are interpolated in css calls will be stringified.\\n' + 'If you want to have a css call based on props, create a function that returns a css call like this\\n' + 'let dynamicStyle = (props) => css`color: ${props.color}`\\n' + 'It can be called directly with props or interpolated in a styled call like this\\n' + \"let SomeComponent = styled('div')`${dynamicStyle}`\");\n }\n\n break;\n }\n\n case 'string':\n if (process.env.NODE_ENV !== 'production') {\n var matched = [];\n var replaced = interpolation.replace(animationRegex, function (match, p1, p2) {\n var fakeVarName = \"animation\" + matched.length;\n matched.push(\"const \" + fakeVarName + \" = keyframes`\" + p2.replace(/^@keyframes animation-\\w+/, '') + \"`\");\n return \"${\" + fakeVarName + \"}\";\n });\n\n if (matched.length) {\n console.error('`keyframes` output got interpolated into plain string, please wrap it with `css`.\\n\\n' + 'Instead of doing this:\\n\\n' + [].concat(matched, [\"`\" + replaced + \"`\"]).join('\\n') + '\\n\\nYou should wrap it with `css` like this:\\n\\n' + (\"css`\" + replaced + \"`\"));\n }\n }\n\n break;\n } // finalize string values (regular strings and functions interpolated into css calls)\n\n\n if (registered == null) {\n return interpolation;\n }\n\n var cached = registered[interpolation];\n\n if (process.env.NODE_ENV !== 'production' && couldBeSelectorInterpolation && shouldWarnAboutInterpolatingClassNameFromCss && cached !== undefined) {\n console.error('Interpolating a className from css`` is not recommended and will cause problems with composition.\\n' + 'Interpolating a className from css`` will be completely unsupported in a future major version of Emotion');\n shouldWarnAboutInterpolatingClassNameFromCss = false;\n }\n\n return cached !== undefined && !couldBeSelectorInterpolation ? cached : interpolation;\n}\n\nfunction createStringFromObject(mergedProps, registered, obj) {\n var string = '';\n\n if (Array.isArray(obj)) {\n for (var i = 0; i < obj.length; i++) {\n string += handleInterpolation(mergedProps, registered, obj[i], false);\n }\n } else {\n for (var _key in obj) {\n var value = obj[_key];\n\n if (typeof value !== 'object') {\n if (registered != null && registered[value] !== undefined) {\n string += _key + \"{\" + registered[value] + \"}\";\n } else if (isProcessableValue(value)) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value) + \";\";\n }\n } else {\n if (_key === 'NO_COMPONENT_SELECTOR' && process.env.NODE_ENV !== 'production') {\n throw new Error('Component selectors can only be used in conjunction with babel-plugin-emotion.');\n }\n\n if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) {\n for (var _i = 0; _i < value.length; _i++) {\n if (isProcessableValue(value[_i])) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value[_i]) + \";\";\n }\n }\n } else {\n var interpolated = handleInterpolation(mergedProps, registered, value, false);\n\n switch (_key) {\n case 'animation':\n case 'animationName':\n {\n string += processStyleName(_key) + \":\" + interpolated + \";\";\n break;\n }\n\n default:\n {\n if (process.env.NODE_ENV !== 'production' && _key === 'undefined') {\n console.error(UNDEFINED_AS_OBJECT_KEY_ERROR);\n }\n\n string += _key + \"{\" + interpolated + \"}\";\n }\n }\n }\n }\n }\n }\n\n return string;\n}\n\nvar labelPattern = /label:\\s*([^\\s;\\n{]+)\\s*;/g;\nvar sourceMapPattern;\n\nif (process.env.NODE_ENV !== 'production') {\n sourceMapPattern = /\\/\\*#\\ssourceMappingURL=data:application\\/json;\\S+\\s+\\*\\//;\n} // this is the cursor for keyframes\n// keyframes are stored on the SerializedStyles object as a linked list\n\n\nvar cursor;\nvar serializeStyles = function serializeStyles(args, registered, mergedProps) {\n if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null && args[0].styles !== undefined) {\n return args[0];\n }\n\n var stringMode = true;\n var styles = '';\n cursor = undefined;\n var strings = args[0];\n\n if (strings == null || strings.raw === undefined) {\n stringMode = false;\n styles += handleInterpolation(mergedProps, registered, strings, false);\n } else {\n if (process.env.NODE_ENV !== 'production' && strings[0] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[0];\n } // we start at 1 since we've already handled the first arg\n\n\n for (var i = 1; i < args.length; i++) {\n styles += handleInterpolation(mergedProps, registered, args[i], styles.charCodeAt(styles.length - 1) === 46);\n\n if (stringMode) {\n if (process.env.NODE_ENV !== 'production' && strings[i] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[i];\n }\n }\n\n var sourceMap;\n\n if (process.env.NODE_ENV !== 'production') {\n styles = styles.replace(sourceMapPattern, function (match) {\n sourceMap = match;\n return '';\n });\n } // using a global regex with .exec is stateful so lastIndex has to be reset each time\n\n\n labelPattern.lastIndex = 0;\n var identifierName = '';\n var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5\n\n while ((match = labelPattern.exec(styles)) !== null) {\n identifierName += '-' + // $FlowFixMe we know it's not null\n match[1];\n }\n\n var name = hashString(styles) + identifierName;\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe SerializedStyles type doesn't have toString property (and we don't want to add it)\n return {\n name: name,\n styles: styles,\n map: sourceMap,\n next: cursor,\n toString: function toString() {\n return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\";\n }\n };\n }\n\n return {\n name: name,\n styles: styles,\n next: cursor\n };\n};\n\nexport { serializeStyles };\n","import { serializeStyles } from '@emotion/serialize';\n\nfunction css() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return serializeStyles(args);\n}\n\nexport default css;\n","import _inheritsLoose from '@babel/runtime/helpers/inheritsLoose';\nimport { createContext, forwardRef, createElement, Component, Fragment } from 'react';\nimport createCache from '@emotion/cache';\nimport { getRegisteredStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { StyleSheet } from '@emotion/sheet';\nimport css from '@emotion/css';\nexport { default as css } from '@emotion/css';\n\nvar isBrowser = typeof document !== 'undefined';\n\nvar EmotionCacheContext = createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? createCache() : null);\nvar ThemeContext = createContext({});\nvar CacheProvider = EmotionCacheContext.Provider;\n\nvar withEmotionCache = function withEmotionCache(func) {\n var render = function render(props, ref) {\n return createElement(EmotionCacheContext.Consumer, null, function (cache) {\n return func(props, cache, ref);\n });\n }; // $FlowFixMe\n\n\n return forwardRef(render);\n};\n\nif (!isBrowser) {\n var BasicProvider =\n /*#__PURE__*/\n function (_React$Component) {\n _inheritsLoose(BasicProvider, _React$Component);\n\n function BasicProvider(props, context, updater) {\n var _this;\n\n _this = _React$Component.call(this, props, context, updater) || this;\n _this.state = {\n value: createCache()\n };\n return _this;\n }\n\n var _proto = BasicProvider.prototype;\n\n _proto.render = function render() {\n return createElement(EmotionCacheContext.Provider, this.state, this.props.children(this.state.value));\n };\n\n return BasicProvider;\n }(Component);\n\n withEmotionCache = function withEmotionCache(func) {\n return function (props) {\n return createElement(EmotionCacheContext.Consumer, null, function (context) {\n if (context === null) {\n return createElement(BasicProvider, null, function (newContext) {\n return func(props, newContext);\n });\n } else {\n return func(props, context);\n }\n });\n };\n };\n}\n\n// thus we only need to replace what is a valid character for JS, but not for CSS\n\nvar sanitizeIdentifier = function sanitizeIdentifier(identifier) {\n return identifier.replace(/\\$/g, '-');\n};\n\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar labelPropName = '__EMOTION_LABEL_PLEASE_DO_NOT_USE__';\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar render = function render(cache, props, theme, ref) {\n var cssProp = theme === null ? props.css : props.css(theme); // so that using `css` from `emotion` and passing the result to the css prop works\n // not passing the registered cache to serializeStyles because it would\n // make certain babel optimisations not possible\n\n if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n cssProp = cache.registered[cssProp];\n }\n\n var type = props[typePropName];\n var registeredStyles = [cssProp];\n var className = '';\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, registeredStyles, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(registeredStyles);\n\n if (process.env.NODE_ENV !== 'production' && serialized.name.indexOf('-') === -1) {\n var labelFromStack = props[labelPropName];\n\n if (labelFromStack) {\n serialized = serializeStyles([serialized, 'label:' + labelFromStack + ';']);\n }\n }\n\n var rules = insertStyles(cache, serialized, typeof type === 'string');\n className += cache.key + \"-\" + serialized.name;\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key) && key !== 'css' && key !== typePropName && (process.env.NODE_ENV === 'production' || key !== labelPropName)) {\n newProps[key] = props[key];\n }\n }\n\n newProps.ref = ref;\n newProps.className = className;\n var ele = createElement(type, newProps);\n\n if (!isBrowser && rules !== undefined) {\n var _ref;\n\n var serializedNames = serialized.name;\n var next = serialized.next;\n\n while (next !== undefined) {\n serializedNames += ' ' + next.name;\n next = next.next;\n }\n\n return createElement(Fragment, null, createElement(\"style\", (_ref = {}, _ref[\"data-emotion-\" + cache.key] = serializedNames, _ref.dangerouslySetInnerHTML = {\n __html: rules\n }, _ref.nonce = cache.sheet.nonce, _ref)), ele);\n }\n\n return ele;\n};\n\nvar Emotion =\n/* #__PURE__ */\nwithEmotionCache(function (props, cache, ref) {\n // use Context.read for the theme when it's stable\n if (typeof props.css === 'function') {\n return createElement(ThemeContext.Consumer, null, function (theme) {\n return render(cache, props, theme, ref);\n });\n }\n\n return render(cache, props, null, ref);\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Emotion.displayName = 'EmotionCssPropInternal';\n} // $FlowFixMe\n\n\nvar jsx = function jsx(type, props) {\n var args = arguments;\n\n if (props == null || !hasOwnProperty.call(props, 'css')) {\n // $FlowFixMe\n return createElement.apply(undefined, args);\n }\n\n if (process.env.NODE_ENV !== 'production' && typeof props.css === 'string' && // check if there is a css declaration\n props.css.indexOf(':') !== -1) {\n throw new Error(\"Strings are not allowed as css prop values, please wrap it in a css template literal from '@emotion/css' like this: css`\" + props.css + \"`\");\n }\n\n var argsLength = args.length;\n var createElementArgArray = new Array(argsLength);\n createElementArgArray[0] = Emotion;\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key)) {\n newProps[key] = props[key];\n }\n }\n\n newProps[typePropName] = type;\n\n if (process.env.NODE_ENV !== 'production') {\n var error = new Error();\n\n if (error.stack) {\n // chrome\n var match = error.stack.match(/at (?:Object\\.|)jsx.*\\n\\s+at ([A-Z][A-Za-z$]+) /);\n\n if (!match) {\n // safari and firefox\n match = error.stack.match(/^.*\\n([A-Z][A-Za-z$]+)@/);\n }\n\n if (match) {\n newProps[labelPropName] = sanitizeIdentifier(match[1]);\n }\n }\n }\n\n createElementArgArray[1] = newProps;\n\n for (var i = 2; i < argsLength; i++) {\n createElementArgArray[i] = args[i];\n } // $FlowFixMe\n\n\n return createElement.apply(null, createElementArgArray);\n};\n\nvar warnedAboutCssPropForGlobal = false;\nvar Global =\n/* #__PURE__ */\nwithEmotionCache(function (props, cache) {\n if (process.env.NODE_ENV !== 'production' && !warnedAboutCssPropForGlobal && ( // check for className as well since the user is\n // probably using the custom createElement which\n // means it will be turned into a className prop\n // $FlowFixMe I don't really want to add it to the type since it shouldn't be used\n props.className || props.css)) {\n console.error(\"It looks like you're using the css prop on Global, did you mean to use the styles prop instead?\");\n warnedAboutCssPropForGlobal = true;\n }\n\n var styles = props.styles;\n\n if (typeof styles === 'function') {\n return createElement(ThemeContext.Consumer, null, function (theme) {\n var serialized = serializeStyles([styles(theme)]);\n return createElement(InnerGlobal, {\n serialized: serialized,\n cache: cache\n });\n });\n }\n\n var serialized = serializeStyles([styles]);\n return createElement(InnerGlobal, {\n serialized: serialized,\n cache: cache\n });\n});\n\n// maintain place over rerenders.\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\nvar InnerGlobal =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(InnerGlobal, _React$Component);\n\n function InnerGlobal(props, context, updater) {\n return _React$Component.call(this, props, context, updater) || this;\n }\n\n var _proto = InnerGlobal.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.sheet = new StyleSheet({\n key: this.props.cache.key + \"-global\",\n nonce: this.props.cache.sheet.nonce,\n container: this.props.cache.sheet.container\n }); // $FlowFixMe\n\n var node = document.querySelector(\"style[data-emotion-\" + this.props.cache.key + \"=\\\"\" + this.props.serialized.name + \"\\\"]\");\n\n if (node !== null) {\n this.sheet.tags.push(node);\n }\n\n if (this.props.cache.sheet.tags.length) {\n this.sheet.before = this.props.cache.sheet.tags[0];\n }\n\n this.insertStyles();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n if (prevProps.serialized.name !== this.props.serialized.name) {\n this.insertStyles();\n }\n };\n\n _proto.insertStyles = function insertStyles$1() {\n if (this.props.serialized.next !== undefined) {\n // insert keyframes\n insertStyles(this.props.cache, this.props.serialized.next, true);\n }\n\n if (this.sheet.tags.length) {\n // if this doesn't exist then it will be null so the style element will be appended\n var element = this.sheet.tags[this.sheet.tags.length - 1].nextElementSibling;\n this.sheet.before = element;\n this.sheet.flush();\n }\n\n this.props.cache.insert(\"\", this.props.serialized, this.sheet, false);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.sheet.flush();\n };\n\n _proto.render = function render() {\n if (!isBrowser) {\n var serialized = this.props.serialized;\n var serializedNames = serialized.name;\n var serializedStyles = serialized.styles;\n var next = serialized.next;\n\n while (next !== undefined) {\n serializedNames += ' ' + next.name;\n serializedStyles += next.styles;\n next = next.next;\n }\n\n var shouldCache = this.props.cache.compat === true;\n var rules = this.props.cache.insert(\"\", {\n name: serializedNames,\n styles: serializedStyles\n }, this.sheet, shouldCache);\n\n if (!shouldCache) {\n var _ref;\n\n return createElement(\"style\", (_ref = {}, _ref[\"data-emotion-\" + this.props.cache.key] = serializedNames, _ref.dangerouslySetInnerHTML = {\n __html: rules\n }, _ref.nonce = this.props.cache.sheet.nonce, _ref));\n }\n }\n\n return null;\n };\n\n return InnerGlobal;\n}(Component);\n\nvar keyframes = function keyframes() {\n var insertable = css.apply(void 0, arguments);\n var name = \"animation-\" + insertable.name; // $FlowFixMe\n\n return {\n name: name,\n styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n anim: 1,\n toString: function toString() {\n return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n }\n };\n};\n\nvar classnames = function classnames(args) {\n var len = args.length;\n var i = 0;\n var cls = '';\n\n for (; i < len; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n\n switch (typeof arg) {\n case 'boolean':\n break;\n\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nfunction merge(registered, css, className) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar ClassNames = withEmotionCache(function (props, context) {\n return createElement(ThemeContext.Consumer, null, function (theme) {\n var rules = '';\n var serializedHashes = '';\n var hasRendered = false;\n\n var css = function css() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('css can only be used during render');\n }\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var serialized = serializeStyles(args, context.registered);\n\n if (isBrowser) {\n insertStyles(context, serialized, false);\n } else {\n var res = insertStyles(context, serialized, false);\n\n if (res !== undefined) {\n rules += res;\n }\n }\n\n if (!isBrowser) {\n serializedHashes += \" \" + serialized.name;\n }\n\n return context.key + \"-\" + serialized.name;\n };\n\n var cx = function cx() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('cx can only be used during render');\n }\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return merge(context.registered, css, classnames(args));\n };\n\n var content = {\n css: css,\n cx: cx,\n theme: theme\n };\n var ele = props.children(content);\n hasRendered = true;\n\n if (!isBrowser && rules.length !== 0) {\n var _ref;\n\n return createElement(Fragment, null, createElement(\"style\", (_ref = {}, _ref[\"data-emotion-\" + context.key] = serializedHashes.substring(1), _ref.dangerouslySetInnerHTML = {\n __html: rules\n }, _ref.nonce = context.sheet.nonce, _ref)), ele);\n }\n\n return ele;\n });\n});\n\nexport { CacheProvider, ClassNames, Global, ThemeContext, jsx, keyframes, withEmotionCache };\n","// TODO: pull from builder internal utils\nexport const fastClone = <T extends object>(obj: T): T => JSON.parse(JSON.stringify(obj));\n","import { fastClone } from '../functions/utils';\n\nexport type Size = 'large' | 'medium' | 'small' | 'xsmall';\nexport const sizeNames: Size[] = ['xsmall', 'small', 'medium', 'large'];\n\n// TODO: put in @builder.io/core\nconst sizes = {\n xsmall: {\n min: 0,\n default: 0,\n max: 0,\n },\n small: {\n min: 320,\n default: 321,\n max: 640,\n },\n medium: {\n min: 641,\n default: 642,\n max: 991,\n },\n large: {\n min: 990,\n default: 991,\n max: 1200,\n },\n getWidthForSize(size: Size) {\n return this[size].default;\n },\n getSizeForWidth(width: number) {\n for (const size of sizeNames) {\n const value = this[size];\n if (width <= value.max) {\n return size;\n }\n }\n return 'large';\n },\n};\nexport type Sizes = typeof sizes;\n\nexport interface Breakpoints {\n small?: number;\n medium?: number;\n}\n\nexport const getSizesForBreakpoints = ({ small, medium }: Breakpoints) => {\n const newSizes = {\n ...sizes, // Note: this helps get the function from sizes\n ...fastClone(sizes), // Note: this helps to get a deep clone of fields like small, medium etc\n };\n\n if (!small || !medium) {\n return newSizes;\n }\n\n const smallMin = Math.floor(small / 2);\n newSizes.small = {\n max: small,\n min: smallMin,\n default: smallMin + 1,\n };\n\n const mediumMin = newSizes.small.max + 1;\n newSizes.medium = {\n max: medium,\n min: mediumMin,\n default: mediumMin + 1,\n };\n\n const largeMin = newSizes.medium.max + 1;\n newSizes.large = {\n max: 2000, // TODO: decide upper limit\n min: largeMin,\n default: largeMin + 1,\n };\n\n return newSizes;\n};\n","export const set = (obj: any, _path: string | string[], value: any) => {\n if (Object(obj) !== obj) {\n return obj;\n }\n const path: string[] = Array.isArray(_path)\n ? _path\n : (_path.toString().match(/[^.[\\]]+/g) as string[]);\n\n path\n .slice(0, -1)\n .reduce(\n (a, c, i) =>\n Object(a[c]) === a[c]\n ? a[c]\n : (a[c] = Math.abs(Number(path[i + 1])) >> 0 === +path[i + 1] ? [] : {}),\n obj\n )[path[path.length - 1]] = value;\n return obj;\n};\n","'use strict';\n\nimport { Builder } from '@builder.io/sdk';\n\nconst noop = () => null;\n// Allow us to require things dynamically safe from webpack bundling\n\nexport let safeDynamicRequire: typeof require;\n\n/*\n * The if condition below used to be\n *\n * if (typeof globalThis.require === \"function\")\n *\n * That broke in case Builder was running on the server (Next, SSR use-cases) where\n * globalThis.require was undefined. Avoiding use of Builder.isServer for Cloudflare worker cases\n * That said, if change it to\n *\n * if (typeof require === 'function') {\n * localSafeDynamicRequire = eval('require');\n * }\n *\n * Then the TSC / rollup compiler over-optimizes and replaces the if condition with true always\n * causing it to blow up on the client side. Hence this convoluted way of doing it.\n *\n * In Summary:\n *\n * 1. Node -> globalThis.require does not work\n * 2. Cloudflare edge -> only globalThis.require works\n */\nif (\n typeof globalThis?.require === 'function' ||\n (Builder.isServer && typeof require === 'function')\n) {\n safeDynamicRequire = eval('require');\n}\n\nsafeDynamicRequire ??= noop as any;\n","import { Builder, builder } from '@builder.io/sdk';\nimport { safeDynamicRequire } from './safe-dynamic-require';\n\nconst fnCache: { [key: string]: BuilderEvanFunction | undefined } = {};\n\ntype BuilderEvanFunction = (\n state: object,\n event?: Event | undefined | null,\n block?: any,\n builder?: Builder,\n Device?: any,\n update?: Function | null,\n _Builder?: typeof Builder,\n context?: object\n) => any;\n\nexport const api = (state: any) => builder;\n\nexport function stringToFunction(\n str: string,\n expression = true,\n errors?: Error[],\n logs?: string[]\n): BuilderEvanFunction {\n /* TODO: objedct */\n if (!str || !str.trim()) {\n return () => undefined;\n }\n\n const cacheKey = str + ':' + expression;\n if (fnCache[cacheKey]) {\n return fnCache[cacheKey]!;\n }\n\n // FIXME: gross hack\n const useReturn =\n (expression &&\n !(str.includes(';') || str.includes(' return ') || str.trim().startsWith('return '))) ||\n str.trim().startsWith('builder.run');\n let fn: Function = () => {\n /* intentionally empty */\n };\n\n try {\n // tslint:disable-next-line:no-function-constructor-with-string-args\n if (Builder.isBrowser) {\n // TODO: use strict and eval\n fn = new Function(\n 'state',\n 'event',\n 'block',\n 'builder',\n 'Device',\n 'update',\n 'Builder',\n 'context',\n // TODO: remove the with () {} - make a page v3 that doesn't use this\n // Or only do if can't find state\\s*\\. anywhere hm\n `\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 ${useReturn ? `return (${str});` : str};\n }\n `\n );\n }\n } catch (error: any) {\n if (errors) {\n errors.push(error);\n }\n const message = error && error.message;\n if (message && typeof message === 'string') {\n if (logs && logs.indexOf(message) === -1) {\n logs.push(message);\n }\n }\n if (Builder.isBrowser) {\n console.warn(`Function compile error in ${str}`, error);\n }\n }\n\n const final = (...args: any[]) => {\n try {\n if (Builder.isBrowser) {\n return fn(...args);\n } else {\n // TODO: memoize on server\n // TODO: use something like this instead https://www.npmjs.com/package/rollup-plugin-strip-blocks\n // There must be something more widely used?\n // TODO: regex for between comments instead so can still type check the code... e.g. //SERVER-START ... code ... //SERVER-END\n // Below is a hack to get certain code to *only* load in the server build, to not screw with\n // browser bundler's like rollup and webpack. Our rollup plugin strips these comments only\n // for the server build\n // TODO: cache these for better performancs with new VmScript\n // tslint:disable:comment-format\n const { VM } = safeDynamicRequire('vm2');\n const [state, event, _block, _builder, _Device, _update, _Builder, context] = args;\n\n return new VM({\n timeout: 100,\n sandbox: {\n ...state,\n ...{ state },\n ...{ context },\n ...{ builder: api },\n event,\n },\n }).run(str.replace(/(^|;)return /, '$1'));\n // tslint:enable:comment-format\n }\n } catch (error: any) {\n if (Builder.isBrowser) {\n console.warn(\n 'Builder custom code error:',\n error.message || error,\n 'in',\n str,\n error.stack || error\n );\n } else {\n if (process.env.DEBUG) {\n console.debug(\n 'Builder custom code error:',\n error.message || error,\n 'in',\n str,\n error.stack || error\n );\n }\n }\n if (errors) {\n errors.push(error);\n }\n return null;\n }\n };\n\n if (Builder.isBrowser) {\n fnCache[cacheKey] = final;\n }\n\n return final;\n}\n","import React from 'react';\n\nexport interface RequestInfo {\n promise: Promise<any>;\n url?: string;\n}\n\nexport type RequestOrPromise = RequestInfo | Promise<any>;\n\nexport const isPromise = (thing: RequestOrPromise): thing is Promise<any> =>\n typeof (thing as any).then === 'function';\nexport const isRequestInfo = (thing: RequestOrPromise): thing is RequestInfo => !isPromise(thing);\n\nexport const BuilderAsyncRequestsContext = React.createContext({\n requests: [] as RequestOrPromise[],\n errors: [] as Error[],\n logs: [] as string[],\n});\n","import React from 'react';\n\nexport const BuilderStoreContext = React.createContext<BuilderStore>({\n state: {},\n rootState: {},\n content: {},\n context: {},\n update: (mutator: (state: any) => any) => null,\n});\n\nexport interface BuilderStore {\n state: any;\n rootState: any;\n content: any;\n context: any;\n update: (mutator: (state: any) => any) => any;\n renderLink?: (props: React.AnchorHTMLAttributes<any>) => React.ReactNode;\n}\n","export const applyPatchWithMinimalMutationChain = <T extends object>(\n obj: T,\n patch: { path: string; op: 'add' | 'remove' | 'replace'; value: any },\n preserveRoot = false\n): T => {\n if (Object(obj) !== obj) {\n return obj;\n }\n const { path, op, value } = patch;\n const pathArr: string[] = path.split(/\\//);\n if (pathArr[0] === '') {\n pathArr.shift();\n }\n\n const newObj = preserveRoot ? obj : { ...obj };\n let objPart = newObj as any;\n for (let i = 0; i < pathArr.length; i++) {\n const isLast = i === pathArr.length - 1;\n const property = pathArr[i];\n if (isLast) {\n if (op === 'replace') {\n objPart[property] = value;\n } else if (op === 'add') {\n const index = Number(property);\n if (Array.isArray(objPart)) {\n if (property === '-') {\n objPart.push(value);\n } else {\n objPart.splice(index, 0, value);\n }\n } else {\n objPart[property] = value;\n }\n } else if (op === 'remove') {\n const index = Number(property);\n if (Array.isArray(objPart)) {\n objPart.splice(index, 1);\n } else {\n delete objPart[property];\n }\n }\n } else {\n const nextProperty = pathArr[i + 1];\n const newPart =\n Object(objPart[property]) === objPart[property]\n ? objPart[property]\n : String(Number(nextProperty)) === nextProperty\n ? []\n : {};\n objPart = objPart[property] = Array.isArray(newPart) ? [...newPart] : { ...newPart };\n }\n }\n\n return newObj;\n};\n","import { BuilderElement } from '@builder.io/sdk';\n\nexport const htmlEscape = (str: string) =>\n str.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/\"/g, '"');\n\n// TODO: handle self closing tags\n// TODO: how allow components (e.g. react components) in templates?\nexport const blockToHtmlString = (block: BuilderElement): string =>\n `<${htmlEscape(block.tagName || 'div')} \n class=\"builder-block ${block.id} ${block.class || ''}\"\n builder-id=\"${block.id}\"\n ${Object.keys(block.properties || {})\n .map(key => `${htmlEscape(key)}=\"${htmlEscape(block.properties![key])}\"`)\n .join(' ')}\n >${\n block?.component?.name === 'Text'\n ? block.component.options.text\n : block.children\n ? block.children.map(item => blockToHtmlString(item)).join('')\n : ''\n }</${block.tagName || 'div'}>`.replace(/\\s+/g, ' ');\n","import React from 'react';\nimport { BuilderStoreContext } from '../store/builder-store';\n/**\n * Link component should be used instead of an anchor tag in our components,\n * this is to allow our users to override anchor tags in\n * case they're using a routing Lib that requires using their\n * custom Link component (e.g Next, Gatsby, React Router)\n * <BuilderComponent renderLink=(props) => <myCustomLink {...props} /> />\n */\nexport const Link: React.SFC<React.AnchorHTMLAttributes<HTMLAnchorElement>> = props => (\n <BuilderStoreContext.Consumer>\n {context => {\n if (context.renderLink) {\n return context.renderLink(props);\n }\n return <a {...props} />;\n }}\n </BuilderStoreContext.Consumer>\n);\n","/** @jsx jsx */\nimport { Builder, builder, BuilderElement, Component } from '@builder.io/sdk';\nimport { ClassNames, jsx } from '@emotion/core';\nimport React from 'react';\nimport { getSizesForBreakpoints, Size, sizeNames } from '../constants/device-sizes.constant';\nimport { set } from '../functions/set';\nimport { api, stringToFunction } from '../functions/string-to-function';\nimport { BuilderAsyncRequestsContext, RequestOrPromise } from '../store/builder-async-requests';\nimport { BuilderStoreContext } from '../store/builder-store';\nimport { applyPatchWithMinimalMutationChain } from '../functions/apply-patch-with-mutation';\nimport { blockToHtmlString } from '../functions/block-to-html-string';\nimport { Link } from './Link';\nimport { fastClone } from '../functions/utils';\n\nconst camelCaseToKebabCase = (str?: string) =>\n str ? str.replace(/([A-Z])/g, g => `-${g[0].toLowerCase()}`) : '';\n\nconst kebabCaseToCamelCase = (str = '') =>\n str.replace(/-([a-z])/g, match => match[1].toUpperCase());\n\nconst Device = { desktop: 0, tablet: 1, mobile: 2 };\n\nconst voidElements = new Set([\n 'area',\n 'base',\n 'br',\n 'col',\n 'embed',\n 'hr',\n 'img',\n 'input',\n 'link',\n 'meta',\n 'param',\n 'source',\n 'track',\n 'wbr',\n 'textarea', // In React, we want to treat this as void (no children, otherwise React throws errors)\n]);\n\nconst last = <T extends any>(arr: T[]) => arr[arr.length - 1];\n\nfunction omit(obj: any, values: string[]) {\n const newObject = Object.assign({}, obj);\n for (const key of values) {\n delete newObject[key];\n }\n return newObject;\n}\n\nconst cssCase = (property: string) => {\n if (!property) {\n return property;\n }\n\n let str = camelCaseToKebabCase(property);\n\n if (property[0] === property[0].toUpperCase()) {\n str = '-' + str;\n }\n\n return str;\n};\n\n// TODO: share these types in shared\ntype ElementType = any;\n\nexport interface BuilderBlockProps {\n fieldName?: string;\n block: BuilderElement;\n // TODO:\n // block: BuilderElement\n child?: boolean;\n index?: number;\n size?: Size;\n emailMode?: boolean;\n // TODO: use context\n}\n\nfunction capitalize(str: string) {\n if (!str) {\n return;\n }\n return str[0].toUpperCase() + str.slice(1);\n}\n\ninterface BuilderBlockState {\n state: any;\n rootState: any;\n context: any;\n update: Function;\n}\n\nexport class BuilderBlock extends React.Component<\n BuilderBlockProps,\n { hasError: boolean; updates: number }\n> {\n private _asyncRequests?: RequestOrPromise[];\n private _errors?: Error[];\n private _logs?: string[];\n\n state = {\n hasError: false,\n updates: 0,\n };\n\n private privateState: BuilderBlockState = {\n state: {},\n rootState: {},\n context: {},\n update: () => {\n /* Intentionally empty */\n },\n };\n\n get store() {\n return this.privateState;\n }\n\n static getDerivedStateFromError(error: any) {\n return { hasError: true };\n }\n\n componentDidCatch(error: any, errorInfo: any) {\n console.error('Builder block error:', error, errorInfo);\n }\n\n // TODO: handle adding return if none provided\n // TODO: cache/memoize this (globally with LRU?)\n stringToFunction(str: string, expression = true) {\n return stringToFunction(str, expression, this._errors, this._logs);\n }\n\n get block() {\n return this.props.block;\n }\n\n get emotionCss() {\n let initialAnimationStepStyles: any;\n const { block } = this;\n if (Builder.isServer) {\n const animation = block.animations && block.animations[0];\n if (animation && animation.trigger !== 'hover') {\n const firstStep = animation && animation.steps && animation.steps[0];\n const stepStyles = firstStep && firstStep.styles;\n if (stepStyles) {\n initialAnimationStepStyles = stepStyles;\n }\n }\n }\n\n const reversedNames = sizeNames.slice().reverse();\n const self = this.block;\n const styles: any = {};\n if (self.responsiveStyles) {\n for (const size of reversedNames) {\n if (size === 'large') {\n if (!this.props.emailMode) {\n styles[`&.builder-block`] = Object.assign(\n {},\n self.responsiveStyles[size],\n initialAnimationStepStyles\n );\n }\n } else {\n const sizesPerBreakpoints = getSizesForBreakpoints(\n this.privateState.context.builderContent?.meta?.breakpoints || {}\n );\n styles[`@media only screen and (max-width: ${sizesPerBreakpoints[size].max}px)`] = {\n '&.builder-block': self.responsiveStyles[size],\n };\n }\n }\n }\n\n const hoverAnimation =\n block.animations && block.animations.find(item => item.trigger === 'hover');\n if (hoverAnimation) {\n styles[':hover'] = hoverAnimation.steps?.[1]?.styles || {};\n // TODO: if manually has set transition property deal with that\n // TODO: only include properties explicitly set in the animation\n // using Object.keys(styles)\n styles.transition = `all ${hoverAnimation.duration}s ${camelCaseToKebabCase(\n hoverAnimation.easing\n )}`;\n if (hoverAnimation.delay) {\n styles.transitionDelay = hoverAnimation.delay + 's';\n }\n }\n\n return styles;\n }\n\n eval(str: string) {\n const fn = this.stringToFunction(str);\n // TODO: only one root instance of this, don't rewrap every time...\n return fn(\n this.privateState.state,\n undefined,\n this.block,\n builder,\n Device,\n this.privateState.update,\n Builder,\n this.privateState.context\n );\n }\n\n componentWillUnmount() {\n if (Builder.isEditing) {\n removeEventListener('message', this.onWindowMessage);\n }\n }\n\n onWindowMessage = (event: MessageEvent) => {\n const message = event.data;\n if (!message) {\n return;\n }\n switch (message.type) {\n case 'builder.selectionChange': {\n const { data } = message;\n if (!data) {\n break;\n }\n const { selection } = data;\n const id = this.block && this.block.id;\n if (id && Array.isArray(selection) && selection.indexOf(id) > -1) {\n setTimeout(() => {\n (window as any).$block = this;\n if (!(window as any).$blocks) {\n (window as any).$blocks = [];\n }\n (window as any).$blocks.push(this);\n });\n }\n break;\n }\n\n case 'builder.patchUpdates': {\n const { data } = message;\n if (!(data && data.data)) {\n break;\n }\n const patches = data.data[this.block.id!];\n if (!patches) {\n return;\n }\n\n if (location.href.includes('builder.debug=true')) {\n eval('debugger');\n }\n for (const patch of patches) {\n applyPatchWithMinimalMutationChain(this.props.block, patch, true);\n }\n this.setState({ updates: this.state.updates + 1 });\n\n break;\n }\n }\n };\n\n componentDidMount() {\n const block = this.block;\n const animations = block && block.animations;\n\n if (Builder.isEditing) {\n addEventListener('message', this.onWindowMessage);\n }\n\n // tslint:disable-next-line:comment-format\n ///REACT15ONLY if (this.ref) { this.ref.setAttribute('builder-id', block.id); }\n\n if (animations) {\n const options = {\n animations: fastClone(animations),\n };\n\n // TODO: listen to Builder.editingMode and bind animations when editing\n // and unbind when not\n // TODO: apply bindings first\n if (block.bindings) {\n for (const key in block.bindings) {\n if (!key.trim?.()) {\n continue;\n }\n\n if (key.startsWith('animations.')) {\n // TODO: this needs to run in getElement bc of local state per element for repeats\n const value = this.stringToFunction(block.bindings[key]);\n if (value !== undefined) {\n set(\n options,\n key,\n value(\n this.privateState.state,\n null,\n block,\n builder,\n null,\n null,\n Builder,\n this.privateState.context\n )\n );\n }\n }\n }\n }\n Builder.animator.bindAnimations(\n options.animations\n .filter((item: any) => item.trigger !== 'hover')\n .map((animation: any) => ({\n ...animation,\n elementId: this.block.id,\n }))\n );\n }\n }\n\n // <!-- Builder Blocks --> in comments hmm\n getElement(index = 0, state = this.privateState.state): React.ReactNode {\n const { child, fieldName } = this.props;\n const block = this.block;\n let TagName: string | typeof Link = (block.tagName || 'div').toLowerCase();\n\n if (TagName === 'template') {\n const html = block.children\n ? block.children.map(item => blockToHtmlString(item)).join(' ')\n : '';\n console.debug('template html', html);\n return (\n // React has an undesired behavior (for us) for template tags, so we must\n // turn the contents into a string\n <template\n {...block.properties}\n dangerouslySetInnerHTML={{\n __html: html,\n }}\n />\n );\n }\n\n let InnerComponent: any;\n const componentName =\n block.component && (block.component.name || (block.component as any).component);\n let componentInfo: Component | null = null;\n if (block.component && !(block.component as any).class) {\n if (block.component && block.component.tag) {\n InnerComponent = block.component.tag;\n } else {\n componentInfo = Builder.components.find(item => item.name === componentName) || null;\n if (componentInfo && componentInfo.class) {\n InnerComponent = componentInfo.class;\n } else if (componentInfo && componentInfo.tag) {\n InnerComponent = componentInfo.tag;\n } else {\n if (componentName?.startsWith('Builder:')) {\n console.warn(\n `Missing @builder.io/widgets installation, please install and import @builder.io/widgets to use ${\n componentName.split(':')[1]\n } in your content, more info here: https://github.com/BuilderIO/builder/tree/main/packages/widgets`\n );\n } else if (componentName) {\n console.warn(\n `Missing registration for ${componentName}, have you included the registration in your bundle?`\n );\n }\n }\n }\n }\n\n const TextTag: any = 'span';\n\n let options: any = {\n // Attributes?\n ...block.properties,\n style: {}, // this.styles\n };\n\n options = {\n ...options.properties,\n ...options,\n };\n\n if (block.component) {\n options.component = fastClone(block.component);\n }\n\n // Binding should be properties to href or href?\n // Manual style editor show bindings\n // Show if things bound in overlays hmm\n if (block.bindings) {\n for (const key in block.bindings) {\n if (!key.trim?.()) {\n continue;\n }\n\n const value = this.stringToFunction(block.bindings[key]);\n // TODO: pass block, etc\n set(\n options,\n key,\n value(state, null, block, api(state), Device, null, Builder, this.privateState.context)\n );\n }\n }\n\n if (options.hide) {\n return null;\n } else {\n delete options.hide;\n }\n // TODO: UI for this\n if (('show' in options || (block.bindings && block.bindings.show)) && !options.show) {\n return null;\n } else {\n delete options.show;\n }\n\n if (block.actions) {\n for (const key in block.actions) {\n if (!key.trim?.()) {\n continue;\n }\n\n const value = block.actions[key];\n options['on' + capitalize(key)] = (event: any) => {\n let useState = state;\n if (typeof Proxy !== 'undefined') {\n useState = new Proxy(state, {\n set: (obj, prop, value) => {\n obj[prop] = value;\n this.privateState.rootState[prop] = value;\n return true;\n },\n });\n }\n const fn = this.stringToFunction(value, false);\n // TODO: only one root instance of this, don't rewrap every time...\n return fn(\n useState,\n event,\n this.block,\n builder,\n Device,\n this.privateState.update,\n Builder,\n this.privateState.context\n );\n };\n }\n }\n\n const innerComponentProperties = (options.component || options.options) && {\n ...options.options,\n ...(options.component.options || options.component.data),\n };\n\n const isVoid = voidElements.has(TagName);\n\n const noWrap = componentInfo && (componentInfo.fragment || componentInfo.noWrap);\n\n const styleStr =\n options.attr?.style || (typeof options.style === 'string' ? options.style : '') || '';\n\n if (typeof styleStr === 'string') {\n if (typeof options.style !== 'object') {\n options.style = {};\n }\n\n const styleSplit = styleStr.split(';');\n for (const pair of styleSplit) {\n const stylePieces = pair.split(':');\n if (!stylePieces.length) {\n return;\n }\n\n let [key, value] = stylePieces;\n\n if (!key) {\n continue;\n }\n\n if (stylePieces.length > 2) {\n value = stylePieces.slice(1).join(':');\n }\n\n options.style[kebabCaseToCamelCase(key)] = value;\n }\n }\n\n const finalOptions: { [key: string]: string } = {\n ...omit(options, ['class', 'component', 'attr']),\n [typeof TagName === 'string' && !TagName.includes('-') ? 'className' : 'class']:\n `builder-block ${this.id}${block.class ? ` ${block.class}` : ''}${\n block.component && !(['Image', 'Video', 'Banner'].indexOf(componentName) > -1)\n ? ` builder-has-component`\n : ''\n }` +\n (options.class ? ' ' + options.class : '') +\n (Builder.isEditing && this.privateState.state._spacer?.parent === block.id\n ? ' builder-spacer-parent'\n : ''),\n key: this.id + index,\n 'builder-id': this.id,\n // ...(state && state.$index && typeof state.$index === 'number'\n // ? {\n // TODO: ONLY include on repeat!\n // TODO: what if dymically repeated by another component like tabs... may not work.\n // need function to provide that right\n ...(index !== 0 && {\n 'builder-index': index, // String(state.$index)\n }),\n // }\n // : null)\n };\n\n // tslint:disable-next-line:comment-format\n ///REACT15ONLY finalOptions.className = finalOptions.class\n\n if (Builder.isEditing) {\n // TODO: removed bc JS can add styles inline too?\n (finalOptions as any)['builder-inline-styles'] = !(options.attr && options.attr.style)\n ? ''\n : Object.keys(options.style).reduce(\n (memo, key) => (memo ? `${memo};` : '') + `${cssCase(key)}:${options.style[key]};`,\n ''\n );\n }\n\n if (\n (((finalOptions as any).properties && (finalOptions as any).properties.href) ||\n (finalOptions as any).href) &&\n TagName === 'div'\n ) {\n TagName = 'a';\n }\n\n if (TagName === 'a') {\n TagName = Link;\n }\n // const css = this.css\n\n // const styleTag = css.trim() && (\n // <style className=\"builder-style\">\n // {(InnerComponent && !isBlock ? `.${this.id} > * { height: 100%; width: 100%; }` : '') +\n // this.css}\n // </style>\n // )\n\n const children = block.children || finalOptions.children || [];\n\n // TODO: test it out\n return (\n <React.Fragment>\n {/* <InsertSpacer id={block.id!} position=\"before\" /> */}\n <ClassNames>\n {({ css, cx }) => {\n if (!this.props.emailMode) {\n const addClass = ' ' + css(this.emotionCss);\n if (finalOptions.class) {\n finalOptions.class += addClass;\n }\n if (finalOptions.className) {\n finalOptions.className += addClass;\n }\n }\n\n return (\n <BuilderAsyncRequestsContext.Consumer>\n {value => {\n this._asyncRequests = value && value.requests;\n this._errors = value && value.errors;\n this._logs = value && value.logs;\n return isVoid ? (\n <TagName {...finalOptions} />\n ) : InnerComponent && (noWrap || this.props.emailMode) ? (\n // TODO: pass the class to be easier\n // TODO: acceptsChildren option?\n <InnerComponent\n // Final options maaay be wrong here hm\n {...innerComponentProperties}\n // should really call this builderAttributes bc people can name a\n // componet input \"attributes\"\n attributes={finalOptions}\n builderBlock={block}\n builderState={this.privateState}\n />\n ) : (\n <TagName {...(finalOptions as any)}>\n {InnerComponent && (\n <InnerComponent\n builderState={this.privateState}\n builderBlock={block}\n {...innerComponentProperties}\n />\n )}\n {(block as any).text || options.text\n ? options.text\n : !InnerComponent && children && Array.isArray(children) && children.length\n ? children.map((block: ElementType, index: number) => (\n <BuilderBlock\n key={((this.id as string) || '') + index}\n block={block}\n index={index}\n size={this.props.size}\n fieldName={this.props.fieldName}\n child={this.props.child}\n emailMode={this.props.emailMode}\n />\n ))\n : null}\n </TagName>\n );\n }}\n </BuilderAsyncRequestsContext.Consumer>\n );\n }}\n </ClassNames>\n {/* <InsertSpacer id={block.id!} position=\"after\" /> */}\n </React.Fragment>\n );\n }\n\n get id() {\n const { block } = this;\n if (!block.id!.startsWith('builder')) {\n return 'builder-' + block.id;\n }\n return block.id!;\n }\n\n contents(state: BuilderBlockState) {\n const block = this.block;\n\n // this.setState(state);\n this.privateState = state;\n\n if (block.repeat && block.repeat.collection) {\n const collectionPath = block.repeat.collection;\n const collectionName = last((collectionPath || '').trim().split('(')[0].trim().split('.'));\n const itemName = block.repeat.itemName || (collectionName ? collectionName + 'Item' : 'item');\n const array = this.stringToFunction(collectionPath)(\n state.state,\n null,\n block,\n api(state),\n Device,\n null,\n Builder,\n this.privateState.context\n );\n if (Array.isArray(array)) {\n return array.map((data, index) => {\n // TODO: Builder state produce the data\n const childState = {\n ...state.state,\n $index: index,\n $item: data,\n [itemName]: data,\n [`$${itemName}Index`]: index,\n };\n\n return (\n <BuilderStoreContext.Provider\n key={index}\n value={{ ...state, state: childState } as any}\n >\n {this.getElement(index, childState)}\n </BuilderStoreContext.Provider>\n );\n });\n }\n return null;\n }\n\n return this.getElement();\n }\n\n render() {\n if (this.state.hasError) {\n return (\n <span\n css={{\n display: 'inline-block',\n padding: 5,\n color: '#999',\n fontSize: 11,\n fontStyle: 'italic',\n }}\n >\n Builder block error :( Check console for details\n </span>\n );\n }\n return (\n <BuilderStoreContext.Consumer>{value => this.contents(value)}</BuilderStoreContext.Consumer>\n );\n }\n}\n","/** @license React v0.20.2\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f,g,h,k;if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}\nif(\"undefined\"===typeof window||\"function\"!==typeof MessageChannel){var t=null,u=null,w=function(){if(null!==t)try{var a=exports.unstable_now();t(!0,a);t=null}catch(b){throw setTimeout(w,0),b;}};f=function(a){null!==t?setTimeout(f,0,a):(t=a,setTimeout(w,0))};g=function(a,b){u=setTimeout(a,b)};h=function(){clearTimeout(u)};exports.unstable_shouldYield=function(){return!1};k=exports.unstable_forceFrameRate=function(){}}else{var x=window.setTimeout,y=window.clearTimeout;if(\"undefined\"!==typeof console){var z=\nwindow.cancelAnimationFrame;\"function\"!==typeof window.requestAnimationFrame&&console.error(\"This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills\");\"function\"!==typeof z&&console.error(\"This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills\")}var A=!1,B=null,C=-1,D=5,E=0;exports.unstable_shouldYield=function(){return exports.unstable_now()>=\nE};k=function(){};exports.unstable_forceFrameRate=function(a){0>a||125<a?console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\"):D=0<a?Math.floor(1E3/a):5};var F=new MessageChannel,G=F.port2;F.port1.onmessage=function(){if(null!==B){var a=exports.unstable_now();E=a+D;try{B(!0,a)?G.postMessage(null):(A=!1,B=null)}catch(b){throw G.postMessage(null),b;}}else A=!1};f=function(a){B=a;A||(A=!0,G.postMessage(null))};g=function(a,b){C=\nx(function(){a(exports.unstable_now())},b)};h=function(){y(C);C=-1}}function H(a,b){var c=a.length;a.push(b);a:for(;;){var d=c-1>>>1,e=a[d];if(void 0!==e&&0<I(e,b))a[d]=b,a[c]=e,c=d;else break a}}function J(a){a=a[0];return void 0===a?null:a}\nfunction K(a){var b=a[0];if(void 0!==b){var c=a.pop();if(c!==b){a[0]=c;a:for(var d=0,e=a.length;d<e;){var m=2*(d+1)-1,n=a[m],v=m+1,r=a[v];if(void 0!==n&&0>I(n,c))void 0!==r&&0>I(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>I(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function I(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var L=[],M=[],N=1,O=null,P=3,Q=!1,R=!1,S=!1;\nfunction T(a){for(var b=J(M);null!==b;){if(null===b.callback)K(M);else if(b.startTime<=a)K(M),b.sortIndex=b.expirationTime,H(L,b);else break;b=J(M)}}function U(a){S=!1;T(a);if(!R)if(null!==J(L))R=!0,f(V);else{var b=J(M);null!==b&&g(U,b.startTime-a)}}\nfunction V(a,b){R=!1;S&&(S=!1,h());Q=!0;var c=P;try{T(b);for(O=J(L);null!==O&&(!(O.expirationTime>b)||a&&!exports.unstable_shouldYield());){var d=O.callback;if(\"function\"===typeof d){O.callback=null;P=O.priorityLevel;var e=d(O.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?O.callback=e:O===J(L)&&K(L);T(b)}else K(L);O=J(L)}if(null!==O)var m=!0;else{var n=J(M);null!==n&&g(U,n.startTime-b);m=!1}return m}finally{O=null,P=c,Q=!1}}var W=k;exports.unstable_IdlePriority=5;\nexports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){R||Q||(R=!0,f(V))};exports.unstable_getCurrentPriorityLevel=function(){return P};exports.unstable_getFirstCallbackNode=function(){return J(L)};\nexports.unstable_next=function(a){switch(P){case 1:case 2:case 3:var b=3;break;default:b=P}var c=P;P=b;try{return a()}finally{P=c}};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=W;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=P;P=a;try{return b()}finally{P=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();\"object\"===typeof c&&null!==c?(c=c.delay,c=\"number\"===typeof c&&0<c?d+c:d):c=d;switch(a){case 1:var e=-1;break;case 2:e=250;break;case 5:e=1073741823;break;case 4:e=1E4;break;default:e=5E3}e=c+e;a={id:N++,callback:b,priorityLevel:a,startTime:c,expirationTime:e,sortIndex:-1};c>d?(a.sortIndex=c,H(M,a),null===J(L)&&a===J(M)&&(S?h():S=!0,g(U,c-d))):(a.sortIndex=e,H(L,a),R||Q||(R=!0,f(V)));return a};\nexports.unstable_wrapCallback=function(a){var b=P;return function(){var c=P;P=b;try{return a.apply(this,arguments)}finally{P=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","/** @license React v17.0.1\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),m=require(\"object-assign\"),r=require(\"scheduler\");function y(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return\"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}if(!aa)throw Error(y(227));var ba=new Set,ca={};function da(a,b){ea(a,b);ea(a+\"Capture\",b)}\nfunction ea(a,b){ca[a]=b;for(a=0;a<b.length;a++)ba.add(b[a])}\nvar fa=!(\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement),ha=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,ia=Object.prototype.hasOwnProperty,\nja={},ka={};function la(a){if(ia.call(ka,a))return!0;if(ia.call(ja,a))return!1;if(ha.test(a))return ka[a]=!0;ja[a]=!0;return!1}function ma(a,b,c,d){if(null!==c&&0===c.type)return!1;switch(typeof b){case \"function\":case \"symbol\":return!0;case \"boolean\":if(d)return!1;if(null!==c)return!c.acceptsBooleans;a=a.toLowerCase().slice(0,5);return\"data-\"!==a&&\"aria-\"!==a;default:return!1}}\nfunction na(a,b,c,d){if(null===b||\"undefined\"===typeof b||ma(a,b,c,d))return!0;if(d)return!1;if(null!==c)switch(c.type){case 3:return!b;case 4:return!1===b;case 5:return isNaN(b);case 6:return isNaN(b)||1>b}return!1}function B(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var D={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){D[a]=new B(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];D[b]=new B(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){D[a]=new B(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){D[a]=new B(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){D[a]=new B(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){D[a]=new B(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){D[a]=new B(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){D[a]=new B(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){D[a]=new B(a,5,!1,a.toLowerCase(),null,!1,!1)});var oa=/[\\-:]([a-z])/g;function pa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(oa,\npa);D[b]=new B(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(oa,pa);D[b]=new B(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(oa,pa);D[b]=new B(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!1,!1)});\nD.xlinkHref=new B(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction qa(a,b,c,d){var e=D.hasOwnProperty(b)?D[b]:null;var f=null!==e?0===e.type:d?!1:!(2<b.length)||\"o\"!==b[0]&&\"O\"!==b[0]||\"n\"!==b[1]&&\"N\"!==b[1]?!1:!0;f||(na(b,c,e,d)&&(c=null),d||null===e?la(b)&&(null===c?a.removeAttribute(b):a.setAttribute(b,\"\"+c)):e.mustUseProperty?a[e.propertyName]=null===c?3===e.type?!1:\"\":c:(b=e.attributeName,d=e.attributeNamespace,null===c?a.removeAttribute(b):(e=e.type,c=3===e||4===e&&!0===c?\"\":\"\"+c,d?a.setAttributeNS(d,b,c):a.setAttribute(b,c))))}\nvar ra=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,sa=60103,ta=60106,ua=60107,wa=60108,xa=60114,ya=60109,za=60110,Aa=60112,Ba=60113,Ca=60120,Da=60115,Ea=60116,Fa=60121,Ga=60128,Ha=60129,Ia=60130,Ja=60131;\nif(\"function\"===typeof Symbol&&Symbol.for){var E=Symbol.for;sa=E(\"react.element\");ta=E(\"react.portal\");ua=E(\"react.fragment\");wa=E(\"react.strict_mode\");xa=E(\"react.profiler\");ya=E(\"react.provider\");za=E(\"react.context\");Aa=E(\"react.forward_ref\");Ba=E(\"react.suspense\");Ca=E(\"react.suspense_list\");Da=E(\"react.memo\");Ea=E(\"react.lazy\");Fa=E(\"react.block\");E(\"react.scope\");Ga=E(\"react.opaque.id\");Ha=E(\"react.debug_trace_mode\");Ia=E(\"react.offscreen\");Ja=E(\"react.legacy_hidden\")}\nvar Ka=\"function\"===typeof Symbol&&Symbol.iterator;function La(a){if(null===a||\"object\"!==typeof a)return null;a=Ka&&a[Ka]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}var Ma;function Na(a){if(void 0===Ma)try{throw Error();}catch(c){var b=c.stack.trim().match(/\\n( *(at )?)/);Ma=b&&b[1]||\"\"}return\"\\n\"+Ma+a}var Oa=!1;\nfunction Pa(a,b){if(!a||Oa)return\"\";Oa=!0;var c=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(b)if(b=function(){throw Error();},Object.defineProperty(b.prototype,\"props\",{set:function(){throw Error();}}),\"object\"===typeof Reflect&&Reflect.construct){try{Reflect.construct(b,[])}catch(k){var d=k}Reflect.construct(a,[],b)}else{try{b.call()}catch(k){d=k}a.call(b.prototype)}else{try{throw Error();}catch(k){d=k}a()}}catch(k){if(k&&d&&\"string\"===typeof k.stack){for(var e=k.stack.split(\"\\n\"),\nf=d.stack.split(\"\\n\"),g=e.length-1,h=f.length-1;1<=g&&0<=h&&e[g]!==f[h];)h--;for(;1<=g&&0<=h;g--,h--)if(e[g]!==f[h]){if(1!==g||1!==h){do if(g--,h--,0>h||e[g]!==f[h])return\"\\n\"+e[g].replace(\" at new \",\" at \");while(1<=g&&0<=h)}break}}}finally{Oa=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Na(a):\"\"}\nfunction Qa(a){switch(a.tag){case 5:return Na(a.type);case 16:return Na(\"Lazy\");case 13:return Na(\"Suspense\");case 19:return Na(\"SuspenseList\");case 0:case 2:case 15:return a=Pa(a.type,!1),a;case 11:return a=Pa(a.type.render,!1),a;case 22:return a=Pa(a.type._render,!1),a;case 1:return a=Pa(a.type,!0),a;default:return\"\"}}\nfunction Ra(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ua:return\"Fragment\";case ta:return\"Portal\";case xa:return\"Profiler\";case wa:return\"StrictMode\";case Ba:return\"Suspense\";case Ca:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case za:return(a.displayName||\"Context\")+\".Consumer\";case ya:return(a._context.displayName||\"Context\")+\".Provider\";case Aa:var b=a.render;b=b.displayName||b.name||\"\";\nreturn a.displayName||(\"\"!==b?\"ForwardRef(\"+b+\")\":\"ForwardRef\");case Da:return Ra(a.type);case Fa:return Ra(a._render);case Ea:b=a._payload;a=a._init;try{return Ra(a(b))}catch(c){}}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"object\":case \"string\":case \"undefined\":return a;default:return\"\"}}function Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return m({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function $a(a,b){b=b.checked;null!=b&&qa(a,\"checked\",b,!1)}\nfunction ab(a,b){$a(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?bb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&bb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction cb(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction bb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}function db(a){var b=\"\";aa.Children.forEach(a,function(a){null!=a&&(b+=a)});return b}function eb(a,b){a=m({children:void 0},b);if(b=db(b.children))a.children=b;return a}\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e<c.length;e++)b[\"$\"+c[e]]=!0;for(c=0;c<a.length;c++)e=b.hasOwnProperty(\"$\"+a[c].value),a[c].selected!==e&&(a[c].selected=e),e&&d&&(a[c].defaultSelected=!0)}else{c=\"\"+Sa(c);b=null;for(e=0;e<a.length;e++){if(a[e].value===c){a[e].selected=!0;d&&(a[e].defaultSelected=!0);return}null!==b||a[e].disabled||(b=a[e])}null!==b&&(b.selected=!0)}}\nfunction gb(a,b){if(null!=b.dangerouslySetInnerHTML)throw Error(y(91));return m({},b,{value:void 0,defaultValue:void 0,children:\"\"+a._wrapperState.initialValue})}function hb(a,b){var c=b.value;if(null==c){c=b.children;b=b.defaultValue;if(null!=c){if(null!=b)throw Error(y(92));if(Array.isArray(c)){if(!(1>=c.length))throw Error(y(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:Sa(c)}}\nfunction ib(a,b){var c=Sa(b.value),d=Sa(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function jb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}var kb={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction lb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function mb(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?lb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar nb,ob=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==kb.svg||\"innerHTML\"in a)a.innerHTML=b;else{nb=nb||document.createElement(\"div\");nb.innerHTML=\"<svg>\"+b.valueOf().toString()+\"</svg>\";for(b=nb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction pb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar qb={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,\nfloodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},rb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(qb).forEach(function(a){rb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);qb[b]=qb[a]})});function sb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||qb.hasOwnProperty(a)&&qb[a]?(\"\"+b).trim():b+\"px\"}\nfunction tb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=sb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var ub=m({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction vb(a,b){if(b){if(ub[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(y(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(y(60));if(!(\"object\"===typeof b.dangerouslySetInnerHTML&&\"__html\"in b.dangerouslySetInnerHTML))throw Error(y(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(y(62));}}\nfunction wb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(y(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a<b.length;a++)Bb(b[a])}}function Gb(a,b){return a(b)}function Hb(a,b,c,d,e){return a(b,c,d,e)}function Ib(){}var Jb=Gb,Kb=!1,Lb=!1;function Mb(){if(null!==zb||null!==Ab)Ib(),Fb()}\nfunction Nb(a,b,c){if(Lb)return a(b,c);Lb=!0;try{return Jb(a,b,c)}finally{Lb=!1,Mb()}}\nfunction Ob(a,b){var c=a.stateNode;if(null===c)return null;var d=Db(c);if(null===d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":case \"onMouseEnter\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&\"function\"!==\ntypeof c)throw Error(y(231,b,typeof c));return c}var Pb=!1;if(fa)try{var Qb={};Object.defineProperty(Qb,\"passive\",{get:function(){Pb=!0}});window.addEventListener(\"test\",Qb,Qb);window.removeEventListener(\"test\",Qb,Qb)}catch(a){Pb=!1}function Rb(a,b,c,d,e,f,g,h,k){var l=Array.prototype.slice.call(arguments,3);try{b.apply(c,l)}catch(n){this.onError(n)}}var Sb=!1,Tb=null,Ub=!1,Vb=null,Wb={onError:function(a){Sb=!0;Tb=a}};function Xb(a,b,c,d,e,f,g,h,k){Sb=!1;Tb=null;Rb.apply(Wb,arguments)}\nfunction Yb(a,b,c,d,e,f,g,h,k){Xb.apply(this,arguments);if(Sb){if(Sb){var l=Tb;Sb=!1;Tb=null}else throw Error(y(198));Ub||(Ub=!0,Vb=l)}}function Zb(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.flags&1026)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function $b(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function ac(a){if(Zb(a)!==a)throw Error(y(188));}\nfunction bc(a){var b=a.alternate;if(!b){b=Zb(a);if(null===b)throw Error(y(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return ac(e),a;if(f===d)return ac(e),b;f=f.sibling}throw Error(y(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===\nc){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(y(189));}}if(c.alternate!==d)throw Error(y(190));}if(3!==c.tag)throw Error(y(188));return c.stateNode.current===c?a:b}function cc(a){a=bc(a);if(!a)return null;for(var b=a;;){if(5===b.tag||6===b.tag)return b;if(b.child)b.child.return=b,b=b.child;else{if(b===a)break;for(;!b.sibling;){if(!b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}}return null}\nfunction dc(a,b){for(var c=a.alternate;null!==b;){if(b===a||b===c)return!0;b=b.return}return!1}var ec,fc,gc,hc,ic=!1,jc=[],kc=null,lc=null,mc=null,nc=new Map,oc=new Map,pc=[],qc=\"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit\".split(\" \");\nfunction rc(a,b,c,d,e){return{blockedOn:a,domEventName:b,eventSystemFlags:c|16,nativeEvent:e,targetContainers:[d]}}function sc(a,b){switch(a){case \"focusin\":case \"focusout\":kc=null;break;case \"dragenter\":case \"dragleave\":lc=null;break;case \"mouseover\":case \"mouseout\":mc=null;break;case \"pointerover\":case \"pointerout\":nc.delete(b.pointerId);break;case \"gotpointercapture\":case \"lostpointercapture\":oc.delete(b.pointerId)}}\nfunction tc(a,b,c,d,e,f){if(null===a||a.nativeEvent!==f)return a=rc(b,c,d,e,f),null!==b&&(b=Cb(b),null!==b&&fc(b)),a;a.eventSystemFlags|=d;b=a.targetContainers;null!==e&&-1===b.indexOf(e)&&b.push(e);return a}\nfunction uc(a,b,c,d,e){switch(b){case \"focusin\":return kc=tc(kc,a,b,c,d,e),!0;case \"dragenter\":return lc=tc(lc,a,b,c,d,e),!0;case \"mouseover\":return mc=tc(mc,a,b,c,d,e),!0;case \"pointerover\":var f=e.pointerId;nc.set(f,tc(nc.get(f)||null,a,b,c,d,e));return!0;case \"gotpointercapture\":return f=e.pointerId,oc.set(f,tc(oc.get(f)||null,a,b,c,d,e)),!0}return!1}\nfunction vc(a){var b=wc(a.target);if(null!==b){var c=Zb(b);if(null!==c)if(b=c.tag,13===b){if(b=$b(c),null!==b){a.blockedOn=b;hc(a.lanePriority,function(){r.unstable_runWithPriority(a.priority,function(){gc(c)})});return}}else if(3===b&&c.stateNode.hydrate){a.blockedOn=3===c.tag?c.stateNode.containerInfo:null;return}}a.blockedOn=null}\nfunction xc(a){if(null!==a.blockedOn)return!1;for(var b=a.targetContainers;0<b.length;){var c=yc(a.domEventName,a.eventSystemFlags,b[0],a.nativeEvent);if(null!==c)return b=Cb(c),null!==b&&fc(b),a.blockedOn=c,!1;b.shift()}return!0}function zc(a,b,c){xc(a)&&c.delete(b)}\nfunction Ac(){for(ic=!1;0<jc.length;){var a=jc[0];if(null!==a.blockedOn){a=Cb(a.blockedOn);null!==a&&ec(a);break}for(var b=a.targetContainers;0<b.length;){var c=yc(a.domEventName,a.eventSystemFlags,b[0],a.nativeEvent);if(null!==c){a.blockedOn=c;break}b.shift()}null===a.blockedOn&&jc.shift()}null!==kc&&xc(kc)&&(kc=null);null!==lc&&xc(lc)&&(lc=null);null!==mc&&xc(mc)&&(mc=null);nc.forEach(zc);oc.forEach(zc)}\nfunction Bc(a,b){a.blockedOn===b&&(a.blockedOn=null,ic||(ic=!0,r.unstable_scheduleCallback(r.unstable_NormalPriority,Ac)))}\nfunction Cc(a){function b(b){return Bc(b,a)}if(0<jc.length){Bc(jc[0],a);for(var c=1;c<jc.length;c++){var d=jc[c];d.blockedOn===a&&(d.blockedOn=null)}}null!==kc&&Bc(kc,a);null!==lc&&Bc(lc,a);null!==mc&&Bc(mc,a);nc.forEach(b);oc.forEach(b);for(c=0;c<pc.length;c++)d=pc[c],d.blockedOn===a&&(d.blockedOn=null);for(;0<pc.length&&(c=pc[0],null===c.blockedOn);)vc(c),null===c.blockedOn&&pc.shift()}\nfunction Dc(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var Ec={animationend:Dc(\"Animation\",\"AnimationEnd\"),animationiteration:Dc(\"Animation\",\"AnimationIteration\"),animationstart:Dc(\"Animation\",\"AnimationStart\"),transitionend:Dc(\"Transition\",\"TransitionEnd\")},Fc={},Gc={};\nfa&&(Gc=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete Ec.animationend.animation,delete Ec.animationiteration.animation,delete Ec.animationstart.animation),\"TransitionEvent\"in window||delete Ec.transitionend.transition);function Hc(a){if(Fc[a])return Fc[a];if(!Ec[a])return a;var b=Ec[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Gc)return Fc[a]=b[c];return a}\nvar Ic=Hc(\"animationend\"),Jc=Hc(\"animationiteration\"),Kc=Hc(\"animationstart\"),Lc=Hc(\"transitionend\"),Mc=new Map,Nc=new Map,Oc=[\"abort\",\"abort\",Ic,\"animationEnd\",Jc,\"animationIteration\",Kc,\"animationStart\",\"canplay\",\"canPlay\",\"canplaythrough\",\"canPlayThrough\",\"durationchange\",\"durationChange\",\"emptied\",\"emptied\",\"encrypted\",\"encrypted\",\"ended\",\"ended\",\"error\",\"error\",\"gotpointercapture\",\"gotPointerCapture\",\"load\",\"load\",\"loadeddata\",\"loadedData\",\"loadedmetadata\",\"loadedMetadata\",\"loadstart\",\"loadStart\",\n\"lostpointercapture\",\"lostPointerCapture\",\"playing\",\"playing\",\"progress\",\"progress\",\"seeking\",\"seeking\",\"stalled\",\"stalled\",\"suspend\",\"suspend\",\"timeupdate\",\"timeUpdate\",Lc,\"transitionEnd\",\"waiting\",\"waiting\"];function Pc(a,b){for(var c=0;c<a.length;c+=2){var d=a[c],e=a[c+1];e=\"on\"+(e[0].toUpperCase()+e.slice(1));Nc.set(d,b);Mc.set(d,e);da(e,[d])}}var Qc=r.unstable_now;Qc();var F=8;\nfunction Rc(a){if(0!==(1&a))return F=15,1;if(0!==(2&a))return F=14,2;if(0!==(4&a))return F=13,4;var b=24&a;if(0!==b)return F=12,b;if(0!==(a&32))return F=11,32;b=192&a;if(0!==b)return F=10,b;if(0!==(a&256))return F=9,256;b=3584&a;if(0!==b)return F=8,b;if(0!==(a&4096))return F=7,4096;b=4186112&a;if(0!==b)return F=6,b;b=62914560&a;if(0!==b)return F=5,b;if(a&67108864)return F=4,67108864;if(0!==(a&134217728))return F=3,134217728;b=805306368&a;if(0!==b)return F=2,b;if(0!==(1073741824&a))return F=1,1073741824;\nF=8;return a}function Sc(a){switch(a){case 99:return 15;case 98:return 10;case 97:case 96:return 8;case 95:return 2;default:return 0}}function Tc(a){switch(a){case 15:case 14:return 99;case 13:case 12:case 11:case 10:return 98;case 9:case 8:case 7:case 6:case 4:case 5:return 97;case 3:case 2:case 1:return 95;case 0:return 90;default:throw Error(y(358,a));}}\nfunction Uc(a,b){var c=a.pendingLanes;if(0===c)return F=0;var d=0,e=0,f=a.expiredLanes,g=a.suspendedLanes,h=a.pingedLanes;if(0!==f)d=f,e=F=15;else if(f=c&134217727,0!==f){var k=f&~g;0!==k?(d=Rc(k),e=F):(h&=f,0!==h&&(d=Rc(h),e=F))}else f=c&~g,0!==f?(d=Rc(f),e=F):0!==h&&(d=Rc(h),e=F);if(0===d)return 0;d=31-Vc(d);d=c&((0>d?0:1<<d)<<1)-1;if(0!==b&&b!==d&&0===(b&g)){Rc(b);if(e<=F)return b;F=e}b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0<b;)c=31-Vc(b),e=1<<c,d|=a[c],b&=~e;return d}\nfunction Wc(a){a=a.pendingLanes&-1073741825;return 0!==a?a:a&1073741824?1073741824:0}function Xc(a,b){switch(a){case 15:return 1;case 14:return 2;case 12:return a=Yc(24&~b),0===a?Xc(10,b):a;case 10:return a=Yc(192&~b),0===a?Xc(8,b):a;case 8:return a=Yc(3584&~b),0===a&&(a=Yc(4186112&~b),0===a&&(a=512)),a;case 2:return b=Yc(805306368&~b),0===b&&(b=268435456),b}throw Error(y(358,a));}function Yc(a){return a&-a}function Zc(a){for(var b=[],c=0;31>c;c++)b.push(a);return b}\nfunction $c(a,b,c){a.pendingLanes|=b;var d=b-1;a.suspendedLanes&=d;a.pingedLanes&=d;a=a.eventTimes;b=31-Vc(b);a[b]=c}var Vc=Math.clz32?Math.clz32:ad,bd=Math.log,cd=Math.LN2;function ad(a){return 0===a?32:31-(bd(a)/cd|0)|0}var dd=r.unstable_UserBlockingPriority,ed=r.unstable_runWithPriority,fd=!0;function gd(a,b,c,d){Kb||Ib();var e=hd,f=Kb;Kb=!0;try{Hb(e,a,b,c,d)}finally{(Kb=f)||Mb()}}function id(a,b,c,d){ed(dd,hd.bind(null,a,b,c,d))}\nfunction hd(a,b,c,d){if(fd){var e;if((e=0===(b&4))&&0<jc.length&&-1<qc.indexOf(a))a=rc(null,a,b,c,d),jc.push(a);else{var f=yc(a,b,c,d);if(null===f)e&&sc(a,d);else{if(e){if(-1<qc.indexOf(a)){a=rc(f,a,b,c,d);jc.push(a);return}if(uc(f,a,b,c,d))return;sc(a,d)}jd(a,b,d,null,c)}}}}\nfunction yc(a,b,c,d){var e=xb(d);e=wc(e);if(null!==e){var f=Zb(e);if(null===f)e=null;else{var g=f.tag;if(13===g){e=$b(f);if(null!==e)return e;e=null}else if(3===g){if(f.stateNode.hydrate)return 3===f.tag?f.stateNode.containerInfo:null;e=null}else f!==e&&(e=null)}}jd(a,b,d,e,c);return null}var kd=null,ld=null,md=null;\nfunction nd(){if(md)return md;var a,b=ld,c=b.length,d,e=\"value\"in kd?kd.value:kd.textContent,f=e.length;for(a=0;a<c&&b[a]===e[a];a++);var g=c-a;for(d=1;d<=g&&b[c-d]===e[f-d];d++);return md=e.slice(a,1<d?1-d:void 0)}function od(a){var b=a.keyCode;\"charCode\"in a?(a=a.charCode,0===a&&13===b&&(a=13)):a=b;10===a&&(a=13);return 32<=a||13===a?a:0}function pd(){return!0}function qd(){return!1}\nfunction rd(a){function b(b,d,e,f,g){this._reactName=b;this._targetInst=e;this.type=d;this.nativeEvent=f;this.target=g;this.currentTarget=null;for(var c in a)a.hasOwnProperty(c)&&(b=a[c],this[c]=b?b(f):f[c]);this.isDefaultPrevented=(null!=f.defaultPrevented?f.defaultPrevented:!1===f.returnValue)?pd:qd;this.isPropagationStopped=qd;return this}m(b.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():\"unknown\"!==typeof a.returnValue&&\n(a.returnValue=!1),this.isDefaultPrevented=pd)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():\"unknown\"!==typeof a.cancelBubble&&(a.cancelBubble=!0),this.isPropagationStopped=pd)},persist:function(){},isPersistent:pd});return b}\nvar sd={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(a){return a.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},td=rd(sd),ud=m({},sd,{view:0,detail:0}),vd=rd(ud),wd,xd,yd,Ad=m({},ud,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:zd,button:0,buttons:0,relatedTarget:function(a){return void 0===a.relatedTarget?a.fromElement===a.srcElement?a.toElement:a.fromElement:a.relatedTarget},movementX:function(a){if(\"movementX\"in\na)return a.movementX;a!==yd&&(yd&&\"mousemove\"===a.type?(wd=a.screenX-yd.screenX,xd=a.screenY-yd.screenY):xd=wd=0,yd=a);return wd},movementY:function(a){return\"movementY\"in a?a.movementY:xd}}),Bd=rd(Ad),Cd=m({},Ad,{dataTransfer:0}),Dd=rd(Cd),Ed=m({},ud,{relatedTarget:0}),Fd=rd(Ed),Gd=m({},sd,{animationName:0,elapsedTime:0,pseudoElement:0}),Hd=rd(Gd),Id=m({},sd,{clipboardData:function(a){return\"clipboardData\"in a?a.clipboardData:window.clipboardData}}),Jd=rd(Id),Kd=m({},sd,{data:0}),Ld=rd(Kd),Md={Esc:\"Escape\",\nSpacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},Nd={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",116:\"F5\",117:\"F6\",118:\"F7\",\n119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},Od={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function Pd(a){var b=this.nativeEvent;return b.getModifierState?b.getModifierState(a):(a=Od[a])?!!b[a]:!1}function zd(){return Pd}\nvar Qd=m({},ud,{key:function(a){if(a.key){var b=Md[a.key]||a.key;if(\"Unidentified\"!==b)return b}return\"keypress\"===a.type?(a=od(a),13===a?\"Enter\":String.fromCharCode(a)):\"keydown\"===a.type||\"keyup\"===a.type?Nd[a.keyCode]||\"Unidentified\":\"\"},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:zd,charCode:function(a){return\"keypress\"===a.type?od(a):0},keyCode:function(a){return\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0},which:function(a){return\"keypress\"===\na.type?od(a):\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0}}),Rd=rd(Qd),Sd=m({},Ad,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Td=rd(Sd),Ud=m({},ud,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:zd}),Vd=rd(Ud),Wd=m({},sd,{propertyName:0,elapsedTime:0,pseudoElement:0}),Xd=rd(Wd),Yd=m({},Ad,{deltaX:function(a){return\"deltaX\"in a?a.deltaX:\"wheelDeltaX\"in a?-a.wheelDeltaX:0},\ndeltaY:function(a){return\"deltaY\"in a?a.deltaY:\"wheelDeltaY\"in a?-a.wheelDeltaY:\"wheelDelta\"in a?-a.wheelDelta:0},deltaZ:0,deltaMode:0}),Zd=rd(Yd),$d=[9,13,27,32],ae=fa&&\"CompositionEvent\"in window,be=null;fa&&\"documentMode\"in document&&(be=document.documentMode);var ce=fa&&\"TextEvent\"in window&&!be,de=fa&&(!ae||be&&8<be&&11>=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1<b.char.length)return b.char;if(b.which)return String.fromCharCode(b.which)}return null;case \"compositionend\":return de&&\"ko\"!==b.locale?null:b.data;default:return null}}\nvar le={color:!0,date:!0,datetime:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function me(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return\"input\"===b?!!le[a.type]:\"textarea\"===b?!0:!1}function ne(a,b,c,d){Eb(d);b=oe(b,\"onChange\");0<b.length&&(c=new td(\"onChange\",\"change\",null,c,d),a.push({event:c,listeners:b}))}var pe=null,qe=null;function re(a){se(a,0)}function te(a){var b=ue(a);if(Wa(b))return a}\nfunction ve(a,b){if(\"change\"===a)return b}var we=!1;if(fa){var xe;if(fa){var ye=\"oninput\"in document;if(!ye){var ze=document.createElement(\"div\");ze.setAttribute(\"oninput\",\"return;\");ye=\"function\"===typeof ze.oninput}xe=ye}else xe=!1;we=xe&&(!document.documentMode||9<document.documentMode)}function Ae(){pe&&(pe.detachEvent(\"onpropertychange\",Be),qe=pe=null)}function Be(a){if(\"value\"===a.propertyName&&te(qe)){var b=[];ne(b,qe,a,xb(a));a=re;if(Kb)a(b);else{Kb=!0;try{Gb(a,b)}finally{Kb=!1,Mb()}}}}\nfunction Ce(a,b,c){\"focusin\"===a?(Ae(),pe=b,qe=c,pe.attachEvent(\"onpropertychange\",Be)):\"focusout\"===a&&Ae()}function De(a){if(\"selectionchange\"===a||\"keyup\"===a||\"keydown\"===a)return te(qe)}function Ee(a,b){if(\"click\"===a)return te(b)}function Fe(a,b){if(\"input\"===a||\"change\"===a)return te(b)}function Ge(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var He=\"function\"===typeof Object.is?Object.is:Ge,Ie=Object.prototype.hasOwnProperty;\nfunction Je(a,b){if(He(a,b))return!0;if(\"object\"!==typeof a||null===a||\"object\"!==typeof b||null===b)return!1;var c=Object.keys(a),d=Object.keys(b);if(c.length!==d.length)return!1;for(d=0;d<c.length;d++)if(!Ie.call(b,c[d])||!He(a[c[d]],b[c[d]]))return!1;return!0}function Ke(a){for(;a&&a.firstChild;)a=a.firstChild;return a}\nfunction Le(a,b){var c=Ke(a);a=0;for(var d;c;){if(3===c.nodeType){d=a+c.textContent.length;if(a<=b&&d>=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Ke(c)}}function Me(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Me(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Ne(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Oe(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nvar Pe=fa&&\"documentMode\"in document&&11>=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Oe(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Je(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0<d.length&&(b=new td(\"onSelect\",\"select\",null,b,c),a.push({event:b,listeners:d}),b.target=Qe)))}\nPc(\"cancel cancel click click close close contextmenu contextMenu copy copy cut cut auxclick auxClick dblclick doubleClick dragend dragEnd dragstart dragStart drop drop focusin focus focusout blur input input invalid invalid keydown keyDown keypress keyPress keyup keyUp mousedown mouseDown mouseup mouseUp paste paste pause pause play play pointercancel pointerCancel pointerdown pointerDown pointerup pointerUp ratechange rateChange reset reset seeked seeked submit submit touchcancel touchCancel touchend touchEnd touchstart touchStart volumechange volumeChange\".split(\" \"),\n0);Pc(\"drag drag dragenter dragEnter dragexit dragExit dragleave dragLeave dragover dragOver mousemove mouseMove mouseout mouseOut mouseover mouseOver pointermove pointerMove pointerout pointerOut pointerover pointerOver scroll scroll toggle toggle touchmove touchMove wheel wheel\".split(\" \"),1);Pc(Oc,2);for(var Ve=\"change selectionchange textInput compositionstart compositionend compositionupdate\".split(\" \"),We=0;We<Ve.length;We++)Nc.set(Ve[We],0);ea(\"onMouseEnter\",[\"mouseout\",\"mouseover\"]);\nea(\"onMouseLeave\",[\"mouseout\",\"mouseover\"]);ea(\"onPointerEnter\",[\"pointerout\",\"pointerover\"]);ea(\"onPointerLeave\",[\"pointerout\",\"pointerover\"]);da(\"onChange\",\"change click focusin focusout input keydown keyup selectionchange\".split(\" \"));da(\"onSelect\",\"focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange\".split(\" \"));da(\"onBeforeInput\",[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]);da(\"onCompositionEnd\",\"compositionend focusout keydown keypress keyup mousedown\".split(\" \"));\nda(\"onCompositionStart\",\"compositionstart focusout keydown keypress keyup mousedown\".split(\" \"));da(\"onCompositionUpdate\",\"compositionupdate focusout keydown keypress keyup mousedown\".split(\" \"));var Xe=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),Ye=new Set(\"cancel close invalid load scroll toggle\".split(\" \").concat(Xe));\nfunction Ze(a,b,c){var d=a.type||\"unknown-event\";a.currentTarget=c;Yb(d,b,void 0,a);a.currentTarget=null}\nfunction se(a,b){b=0!==(b&4);for(var c=0;c<a.length;c++){var d=a[c],e=d.event;d=d.listeners;a:{var f=void 0;if(b)for(var g=d.length-1;0<=g;g--){var h=d[g],k=h.instance,l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;Ze(e,h,l);f=k}else for(g=0;g<d.length;g++){h=d[g];k=h.instance;l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;Ze(e,h,l);f=k}}}if(Ub)throw a=Vb,Ub=!1,Vb=null,a;}\nfunction G(a,b){var c=$e(b),d=a+\"__bubble\";c.has(d)||(af(b,a,2,!1),c.add(d))}var bf=\"_reactListening\"+Math.random().toString(36).slice(2);function cf(a){a[bf]||(a[bf]=!0,ba.forEach(function(b){Ye.has(b)||df(b,!1,a,null);df(b,!0,a,null)}))}\nfunction df(a,b,c,d){var e=4<arguments.length&&void 0!==arguments[4]?arguments[4]:0,f=c;\"selectionchange\"===a&&9!==c.nodeType&&(f=c.ownerDocument);if(null!==d&&!b&&Ye.has(a)){if(\"scroll\"!==a)return;e|=2;f=d}var g=$e(f),h=a+\"__\"+(b?\"capture\":\"bubble\");g.has(h)||(b&&(e|=4),af(f,a,e,b),g.add(h))}\nfunction af(a,b,c,d){var e=Nc.get(b);switch(void 0===e?2:e){case 0:e=gd;break;case 1:e=id;break;default:e=hd}c=e.bind(null,b,c,a);e=void 0;!Pb||\"touchstart\"!==b&&\"touchmove\"!==b&&\"wheel\"!==b||(e=!0);d?void 0!==e?a.addEventListener(b,c,{capture:!0,passive:e}):a.addEventListener(b,c,!0):void 0!==e?a.addEventListener(b,c,{passive:e}):a.addEventListener(b,c,!1)}\nfunction jd(a,b,c,d,e){var f=d;if(0===(b&1)&&0===(b&2)&&null!==d)a:for(;;){if(null===d)return;var g=d.tag;if(3===g||4===g){var h=d.stateNode.containerInfo;if(h===e||8===h.nodeType&&h.parentNode===e)break;if(4===g)for(g=d.return;null!==g;){var k=g.tag;if(3===k||4===k)if(k=g.stateNode.containerInfo,k===e||8===k.nodeType&&k.parentNode===e)return;g=g.return}for(;null!==h;){g=wc(h);if(null===g)return;k=g.tag;if(5===k||6===k){d=f=g;continue a}h=h.parentNode}}d=d.return}Nb(function(){var d=f,e=xb(c),g=[];\na:{var h=Mc.get(a);if(void 0!==h){var k=td,x=a;switch(a){case \"keypress\":if(0===od(c))break a;case \"keydown\":case \"keyup\":k=Rd;break;case \"focusin\":x=\"focus\";k=Fd;break;case \"focusout\":x=\"blur\";k=Fd;break;case \"beforeblur\":case \"afterblur\":k=Fd;break;case \"click\":if(2===c.button)break a;case \"auxclick\":case \"dblclick\":case \"mousedown\":case \"mousemove\":case \"mouseup\":case \"mouseout\":case \"mouseover\":case \"contextmenu\":k=Bd;break;case \"drag\":case \"dragend\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"dragstart\":case \"drop\":k=\nDd;break;case \"touchcancel\":case \"touchend\":case \"touchmove\":case \"touchstart\":k=Vd;break;case Ic:case Jc:case Kc:k=Hd;break;case Lc:k=Xd;break;case \"scroll\":k=vd;break;case \"wheel\":k=Zd;break;case \"copy\":case \"cut\":case \"paste\":k=Jd;break;case \"gotpointercapture\":case \"lostpointercapture\":case \"pointercancel\":case \"pointerdown\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"pointerup\":k=Td}var w=0!==(b&4),z=!w&&\"scroll\"===a,u=w?null!==h?h+\"Capture\":null:h;w=[];for(var t=d,q;null!==\nt;){q=t;var v=q.stateNode;5===q.tag&&null!==v&&(q=v,null!==u&&(v=Ob(t,u),null!=v&&w.push(ef(t,v,q))));if(z)break;t=t.return}0<w.length&&(h=new k(h,x,null,c,e),g.push({event:h,listeners:w}))}}if(0===(b&7)){a:{h=\"mouseover\"===a||\"pointerover\"===a;k=\"mouseout\"===a||\"pointerout\"===a;if(h&&0===(b&16)&&(x=c.relatedTarget||c.fromElement)&&(wc(x)||x[ff]))break a;if(k||h){h=e.window===e?e:(h=e.ownerDocument)?h.defaultView||h.parentWindow:window;if(k){if(x=c.relatedTarget||c.toElement,k=d,x=x?wc(x):null,null!==\nx&&(z=Zb(x),x!==z||5!==x.tag&&6!==x.tag))x=null}else k=null,x=d;if(k!==x){w=Bd;v=\"onMouseLeave\";u=\"onMouseEnter\";t=\"mouse\";if(\"pointerout\"===a||\"pointerover\"===a)w=Td,v=\"onPointerLeave\",u=\"onPointerEnter\",t=\"pointer\";z=null==k?h:ue(k);q=null==x?h:ue(x);h=new w(v,t+\"leave\",k,c,e);h.target=z;h.relatedTarget=q;v=null;wc(e)===d&&(w=new w(u,t+\"enter\",x,c,e),w.target=q,w.relatedTarget=z,v=w);z=v;if(k&&x)b:{w=k;u=x;t=0;for(q=w;q;q=gf(q))t++;q=0;for(v=u;v;v=gf(v))q++;for(;0<t-q;)w=gf(w),t--;for(;0<q-t;)u=\ngf(u),q--;for(;t--;){if(w===u||null!==u&&w===u.alternate)break b;w=gf(w);u=gf(u)}w=null}else w=null;null!==k&&hf(g,h,k,w,!1);null!==x&&null!==z&&hf(g,z,x,w,!0)}}}a:{h=d?ue(d):window;k=h.nodeName&&h.nodeName.toLowerCase();if(\"select\"===k||\"input\"===k&&\"file\"===h.type)var J=ve;else if(me(h))if(we)J=Fe;else{J=De;var K=Ce}else(k=h.nodeName)&&\"input\"===k.toLowerCase()&&(\"checkbox\"===h.type||\"radio\"===h.type)&&(J=Ee);if(J&&(J=J(a,d))){ne(g,J,c,e);break a}K&&K(a,h,d);\"focusout\"===a&&(K=h._wrapperState)&&\nK.controlled&&\"number\"===h.type&&bb(h,\"number\",h.value)}K=d?ue(d):window;switch(a){case \"focusin\":if(me(K)||\"true\"===K.contentEditable)Qe=K,Re=d,Se=null;break;case \"focusout\":Se=Re=Qe=null;break;case \"mousedown\":Te=!0;break;case \"contextmenu\":case \"mouseup\":case \"dragend\":Te=!1;Ue(g,c,e);break;case \"selectionchange\":if(Pe)break;case \"keydown\":case \"keyup\":Ue(g,c,e)}var Q;if(ae)b:{switch(a){case \"compositionstart\":var L=\"onCompositionStart\";break b;case \"compositionend\":L=\"onCompositionEnd\";break b;\ncase \"compositionupdate\":L=\"onCompositionUpdate\";break b}L=void 0}else ie?ge(a,c)&&(L=\"onCompositionEnd\"):\"keydown\"===a&&229===c.keyCode&&(L=\"onCompositionStart\");L&&(de&&\"ko\"!==c.locale&&(ie||\"onCompositionStart\"!==L?\"onCompositionEnd\"===L&&ie&&(Q=nd()):(kd=e,ld=\"value\"in kd?kd.value:kd.textContent,ie=!0)),K=oe(d,L),0<K.length&&(L=new Ld(L,a,null,c,e),g.push({event:L,listeners:K}),Q?L.data=Q:(Q=he(c),null!==Q&&(L.data=Q))));if(Q=ce?je(a,c):ke(a,c))d=oe(d,\"onBeforeInput\"),0<d.length&&(e=new Ld(\"onBeforeInput\",\n\"beforeinput\",null,c,e),g.push({event:e,listeners:d}),e.data=Q)}se(g,b)})}function ef(a,b,c){return{instance:a,listener:b,currentTarget:c}}function oe(a,b){for(var c=b+\"Capture\",d=[];null!==a;){var e=a,f=e.stateNode;5===e.tag&&null!==f&&(e=f,f=Ob(a,c),null!=f&&d.unshift(ef(a,f,e)),f=Ob(a,b),null!=f&&d.push(ef(a,f,e)));a=a.return}return d}function gf(a){if(null===a)return null;do a=a.return;while(a&&5!==a.tag);return a?a:null}\nfunction hf(a,b,c,d,e){for(var f=b._reactName,g=[];null!==c&&c!==d;){var h=c,k=h.alternate,l=h.stateNode;if(null!==k&&k===d)break;5===h.tag&&null!==l&&(h=l,e?(k=Ob(c,f),null!=k&&g.unshift(ef(c,k,h))):e||(k=Ob(c,f),null!=k&&g.push(ef(c,k,h))));c=c.return}0!==g.length&&a.push({event:b,listeners:g})}function jf(){}var kf=null,lf=null;function mf(a,b){switch(a){case \"button\":case \"input\":case \"select\":case \"textarea\":return!!b.autoFocus}return!1}\nfunction nf(a,b){return\"textarea\"===a||\"option\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}var of=\"function\"===typeof setTimeout?setTimeout:void 0,pf=\"function\"===typeof clearTimeout?clearTimeout:void 0;function qf(a){1===a.nodeType?a.textContent=\"\":9===a.nodeType&&(a=a.body,null!=a&&(a.textContent=\"\"))}\nfunction rf(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break}return a}function sf(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(\"$\"===c||\"$!\"===c||\"$?\"===c){if(0===b)return a;b--}else\"/$\"===c&&b++}a=a.previousSibling}return null}var tf=0;function uf(a){return{$$typeof:Ga,toString:a,valueOf:a}}var vf=Math.random().toString(36).slice(2),wf=\"__reactFiber$\"+vf,xf=\"__reactProps$\"+vf,ff=\"__reactContainer$\"+vf,yf=\"__reactEvents$\"+vf;\nfunction wc(a){var b=a[wf];if(b)return b;for(var c=a.parentNode;c;){if(b=c[ff]||c[wf]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=sf(a);null!==a;){if(c=a[wf])return c;a=sf(a)}return b}a=c;c=a.parentNode}return null}function Cb(a){a=a[wf]||a[ff];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function ue(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(y(33));}function Db(a){return a[xf]||null}\nfunction $e(a){var b=a[yf];void 0===b&&(b=a[yf]=new Set);return b}var zf=[],Af=-1;function Bf(a){return{current:a}}function H(a){0>Af||(a.current=zf[Af],zf[Af]=null,Af--)}function I(a,b){Af++;zf[Af]=a.current;a.current=b}var Cf={},M=Bf(Cf),N=Bf(!1),Df=Cf;\nfunction Ef(a,b){var c=a.type.contextTypes;if(!c)return Cf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function Ff(a){a=a.childContextTypes;return null!==a&&void 0!==a}function Gf(){H(N);H(M)}function Hf(a,b,c){if(M.current!==Cf)throw Error(y(168));I(M,b);I(N,c)}\nfunction If(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(y(108,Ra(b)||\"Unknown\",e));return m({},c,d)}function Jf(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Cf;Df=M.current;I(M,a);I(N,N.current);return!0}function Kf(a,b,c){var d=a.stateNode;if(!d)throw Error(y(169));c?(a=If(a,b,Df),d.__reactInternalMemoizedMergedChildContext=a,H(N),H(M),I(M,a)):H(N);I(N,c)}\nvar Lf=null,Mf=null,Nf=r.unstable_runWithPriority,Of=r.unstable_scheduleCallback,Pf=r.unstable_cancelCallback,Qf=r.unstable_shouldYield,Rf=r.unstable_requestPaint,Sf=r.unstable_now,Tf=r.unstable_getCurrentPriorityLevel,Uf=r.unstable_ImmediatePriority,Vf=r.unstable_UserBlockingPriority,Wf=r.unstable_NormalPriority,Xf=r.unstable_LowPriority,Yf=r.unstable_IdlePriority,Zf={},$f=void 0!==Rf?Rf:function(){},ag=null,bg=null,cg=!1,dg=Sf(),O=1E4>dg?Sf:function(){return Sf()-dg};\nfunction eg(){switch(Tf()){case Uf:return 99;case Vf:return 98;case Wf:return 97;case Xf:return 96;case Yf:return 95;default:throw Error(y(332));}}function fg(a){switch(a){case 99:return Uf;case 98:return Vf;case 97:return Wf;case 96:return Xf;case 95:return Yf;default:throw Error(y(332));}}function gg(a,b){a=fg(a);return Nf(a,b)}function hg(a,b,c){a=fg(a);return Of(a,b,c)}function ig(){if(null!==bg){var a=bg;bg=null;Pf(a)}jg()}\nfunction jg(){if(!cg&&null!==ag){cg=!0;var a=0;try{var b=ag;gg(99,function(){for(;a<b.length;a++){var c=b[a];do c=c(!0);while(null!==c)}});ag=null}catch(c){throw null!==ag&&(ag=ag.slice(a+1)),Of(Uf,ig),c;}finally{cg=!1}}}var kg=ra.ReactCurrentBatchConfig;function lg(a,b){if(a&&a.defaultProps){b=m({},b);a=a.defaultProps;for(var c in a)void 0===b[c]&&(b[c]=a[c]);return b}return b}var mg=Bf(null),ng=null,og=null,pg=null;function qg(){pg=og=ng=null}\nfunction rg(a){var b=mg.current;H(mg);a.type._context._currentValue=b}function sg(a,b){for(;null!==a;){var c=a.alternate;if((a.childLanes&b)===b)if(null===c||(c.childLanes&b)===b)break;else c.childLanes|=b;else a.childLanes|=b,null!==c&&(c.childLanes|=b);a=a.return}}function tg(a,b){ng=a;pg=og=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(0!==(a.lanes&b)&&(ug=!0),a.firstContext=null)}\nfunction vg(a,b){if(pg!==a&&!1!==b&&0!==b){if(\"number\"!==typeof b||1073741823===b)pg=a,b=1073741823;b={context:a,observedBits:b,next:null};if(null===og){if(null===ng)throw Error(y(308));og=b;ng.dependencies={lanes:0,firstContext:b,responders:null}}else og=og.next=b}return a._currentValue}var wg=!1;function xg(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null},effects:null}}\nfunction yg(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,effects:a.effects})}function zg(a,b){return{eventTime:a,lane:b,tag:0,payload:null,callback:null,next:null}}function Ag(a,b){a=a.updateQueue;if(null!==a){a=a.shared;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}}\nfunction Bg(a,b){var c=a.updateQueue,d=a.alternate;if(null!==d&&(d=d.updateQueue,c===d)){var e=null,f=null;c=c.firstBaseUpdate;if(null!==c){do{var g={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};null===f?e=f=g:f=f.next=g;c=c.next}while(null!==c);null===f?e=f=b:f=f.next=b}else e=f=b;c={baseState:d.baseState,firstBaseUpdate:e,lastBaseUpdate:f,shared:d.shared,effects:d.effects};a.updateQueue=c;return}a=c.lastBaseUpdate;null===a?c.firstBaseUpdate=b:a.next=\nb;c.lastBaseUpdate=b}\nfunction Cg(a,b,c,d){var e=a.updateQueue;wg=!1;var f=e.firstBaseUpdate,g=e.lastBaseUpdate,h=e.shared.pending;if(null!==h){e.shared.pending=null;var k=h,l=k.next;k.next=null;null===g?f=l:g.next=l;g=k;var n=a.alternate;if(null!==n){n=n.updateQueue;var A=n.lastBaseUpdate;A!==g&&(null===A?n.firstBaseUpdate=l:A.next=l,n.lastBaseUpdate=k)}}if(null!==f){A=e.baseState;g=0;n=l=k=null;do{h=f.lane;var p=f.eventTime;if((d&h)===h){null!==n&&(n=n.next={eventTime:p,lane:0,tag:f.tag,payload:f.payload,callback:f.callback,\nnext:null});a:{var C=a,x=f;h=b;p=c;switch(x.tag){case 1:C=x.payload;if(\"function\"===typeof C){A=C.call(p,A,h);break a}A=C;break a;case 3:C.flags=C.flags&-4097|64;case 0:C=x.payload;h=\"function\"===typeof C?C.call(p,A,h):C;if(null===h||void 0===h)break a;A=m({},A,h);break a;case 2:wg=!0}}null!==f.callback&&(a.flags|=32,h=e.effects,null===h?e.effects=[f]:h.push(f))}else p={eventTime:p,lane:h,tag:f.tag,payload:f.payload,callback:f.callback,next:null},null===n?(l=n=p,k=A):n=n.next=p,g|=h;f=f.next;if(null===\nf)if(h=e.shared.pending,null===h)break;else f=h.next,h.next=null,e.lastBaseUpdate=h,e.shared.pending=null}while(1);null===n&&(k=A);e.baseState=k;e.firstBaseUpdate=l;e.lastBaseUpdate=n;Dg|=g;a.lanes=g;a.memoizedState=A}}function Eg(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;b<a.length;b++){var d=a[b],e=d.callback;if(null!==e){d.callback=null;d=c;if(\"function\"!==typeof e)throw Error(y(191,e));e.call(d)}}}var Fg=(new aa.Component).refs;\nfunction Gg(a,b,c,d){b=a.memoizedState;c=c(d,b);c=null===c||void 0===c?b:m({},b,c);a.memoizedState=c;0===a.lanes&&(a.updateQueue.baseState=c)}\nvar Kg={isMounted:function(a){return(a=a._reactInternals)?Zb(a)===a:!1},enqueueSetState:function(a,b,c){a=a._reactInternals;var d=Hg(),e=Ig(a),f=zg(d,e);f.payload=b;void 0!==c&&null!==c&&(f.callback=c);Ag(a,f);Jg(a,e,d)},enqueueReplaceState:function(a,b,c){a=a._reactInternals;var d=Hg(),e=Ig(a),f=zg(d,e);f.tag=1;f.payload=b;void 0!==c&&null!==c&&(f.callback=c);Ag(a,f);Jg(a,e,d)},enqueueForceUpdate:function(a,b){a=a._reactInternals;var c=Hg(),d=Ig(a),e=zg(c,d);e.tag=2;void 0!==b&&null!==b&&(e.callback=\nb);Ag(a,e);Jg(a,d,c)}};function Lg(a,b,c,d,e,f,g){a=a.stateNode;return\"function\"===typeof a.shouldComponentUpdate?a.shouldComponentUpdate(d,f,g):b.prototype&&b.prototype.isPureReactComponent?!Je(c,d)||!Je(e,f):!0}\nfunction Mg(a,b,c){var d=!1,e=Cf;var f=b.contextType;\"object\"===typeof f&&null!==f?f=vg(f):(e=Ff(b)?Df:M.current,d=b.contextTypes,f=(d=null!==d&&void 0!==d)?Ef(a,e):Cf);b=new b(c,f);a.memoizedState=null!==b.state&&void 0!==b.state?b.state:null;b.updater=Kg;a.stateNode=b;b._reactInternals=a;d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=e,a.__reactInternalMemoizedMaskedChildContext=f);return b}\nfunction Ng(a,b,c,d){a=b.state;\"function\"===typeof b.componentWillReceiveProps&&b.componentWillReceiveProps(c,d);\"function\"===typeof b.UNSAFE_componentWillReceiveProps&&b.UNSAFE_componentWillReceiveProps(c,d);b.state!==a&&Kg.enqueueReplaceState(b,b.state,null)}\nfunction Og(a,b,c,d){var e=a.stateNode;e.props=c;e.state=a.memoizedState;e.refs=Fg;xg(a);var f=b.contextType;\"object\"===typeof f&&null!==f?e.context=vg(f):(f=Ff(b)?Df:M.current,e.context=Ef(a,f));Cg(a,c,e,d);e.state=a.memoizedState;f=b.getDerivedStateFromProps;\"function\"===typeof f&&(Gg(a,b,f,c),e.state=a.memoizedState);\"function\"===typeof b.getDerivedStateFromProps||\"function\"===typeof e.getSnapshotBeforeUpdate||\"function\"!==typeof e.UNSAFE_componentWillMount&&\"function\"!==typeof e.componentWillMount||\n(b=e.state,\"function\"===typeof e.componentWillMount&&e.componentWillMount(),\"function\"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),b!==e.state&&Kg.enqueueReplaceState(e,e.state,null),Cg(a,c,e,d),e.state=a.memoizedState);\"function\"===typeof e.componentDidMount&&(a.flags|=4)}var Pg=Array.isArray;\nfunction Qg(a,b,c){a=c.ref;if(null!==a&&\"function\"!==typeof a&&\"object\"!==typeof a){if(c._owner){c=c._owner;if(c){if(1!==c.tag)throw Error(y(309));var d=c.stateNode}if(!d)throw Error(y(147,a));var e=\"\"+a;if(null!==b&&null!==b.ref&&\"function\"===typeof b.ref&&b.ref._stringRef===e)return b.ref;b=function(a){var b=d.refs;b===Fg&&(b=d.refs={});null===a?delete b[e]:b[e]=a};b._stringRef=e;return b}if(\"string\"!==typeof a)throw Error(y(284));if(!c._owner)throw Error(y(290,a));}return a}\nfunction Rg(a,b){if(\"textarea\"!==a.type)throw Error(y(31,\"[object Object]\"===Object.prototype.toString.call(b)?\"object with keys {\"+Object.keys(b).join(\", \")+\"}\":b));}\nfunction Sg(a){function b(b,c){if(a){var d=b.lastEffect;null!==d?(d.nextEffect=c,b.lastEffect=c):b.firstEffect=b.lastEffect=c;c.nextEffect=null;c.flags=8}}function c(c,d){if(!a)return null;for(;null!==d;)b(c,d),d=d.sibling;return null}function d(a,b){for(a=new Map;null!==b;)null!==b.key?a.set(b.key,b):a.set(b.index,b),b=b.sibling;return a}function e(a,b){a=Tg(a,b);a.index=0;a.sibling=null;return a}function f(b,c,d){b.index=d;if(!a)return c;d=b.alternate;if(null!==d)return d=d.index,d<c?(b.flags=2,\nc):d;b.flags=2;return c}function g(b){a&&null===b.alternate&&(b.flags=2);return b}function h(a,b,c,d){if(null===b||6!==b.tag)return b=Ug(c,a.mode,d),b.return=a,b;b=e(b,c);b.return=a;return b}function k(a,b,c,d){if(null!==b&&b.elementType===c.type)return d=e(b,c.props),d.ref=Qg(a,b,c),d.return=a,d;d=Vg(c.type,c.key,c.props,null,a.mode,d);d.ref=Qg(a,b,c);d.return=a;return d}function l(a,b,c,d){if(null===b||4!==b.tag||b.stateNode.containerInfo!==c.containerInfo||b.stateNode.implementation!==c.implementation)return b=\nWg(c,a.mode,d),b.return=a,b;b=e(b,c.children||[]);b.return=a;return b}function n(a,b,c,d,f){if(null===b||7!==b.tag)return b=Xg(c,a.mode,d,f),b.return=a,b;b=e(b,c);b.return=a;return b}function A(a,b,c){if(\"string\"===typeof b||\"number\"===typeof b)return b=Ug(\"\"+b,a.mode,c),b.return=a,b;if(\"object\"===typeof b&&null!==b){switch(b.$$typeof){case sa:return c=Vg(b.type,b.key,b.props,null,a.mode,c),c.ref=Qg(a,null,b),c.return=a,c;case ta:return b=Wg(b,a.mode,c),b.return=a,b}if(Pg(b)||La(b))return b=Xg(b,\na.mode,c,null),b.return=a,b;Rg(a,b)}return null}function p(a,b,c,d){var e=null!==b?b.key:null;if(\"string\"===typeof c||\"number\"===typeof c)return null!==e?null:h(a,b,\"\"+c,d);if(\"object\"===typeof c&&null!==c){switch(c.$$typeof){case sa:return c.key===e?c.type===ua?n(a,b,c.props.children,d,e):k(a,b,c,d):null;case ta:return c.key===e?l(a,b,c,d):null}if(Pg(c)||La(c))return null!==e?null:n(a,b,c,d,null);Rg(a,c)}return null}function C(a,b,c,d,e){if(\"string\"===typeof d||\"number\"===typeof d)return a=a.get(c)||\nnull,h(b,a,\"\"+d,e);if(\"object\"===typeof d&&null!==d){switch(d.$$typeof){case sa:return a=a.get(null===d.key?c:d.key)||null,d.type===ua?n(b,a,d.props.children,e,d.key):k(b,a,d,e);case ta:return a=a.get(null===d.key?c:d.key)||null,l(b,a,d,e)}if(Pg(d)||La(d))return a=a.get(c)||null,n(b,a,d,e,null);Rg(b,d)}return null}function x(e,g,h,k){for(var l=null,t=null,u=g,z=g=0,q=null;null!==u&&z<h.length;z++){u.index>z?(q=u,u=null):q=u.sibling;var n=p(e,u,h[z],k);if(null===n){null===u&&(u=q);break}a&&u&&null===\nn.alternate&&b(e,u);g=f(n,g,z);null===t?l=n:t.sibling=n;t=n;u=q}if(z===h.length)return c(e,u),l;if(null===u){for(;z<h.length;z++)u=A(e,h[z],k),null!==u&&(g=f(u,g,z),null===t?l=u:t.sibling=u,t=u);return l}for(u=d(e,u);z<h.length;z++)q=C(u,e,z,h[z],k),null!==q&&(a&&null!==q.alternate&&u.delete(null===q.key?z:q.key),g=f(q,g,z),null===t?l=q:t.sibling=q,t=q);a&&u.forEach(function(a){return b(e,a)});return l}function w(e,g,h,k){var l=La(h);if(\"function\"!==typeof l)throw Error(y(150));h=l.call(h);if(null==\nh)throw Error(y(151));for(var t=l=null,u=g,z=g=0,q=null,n=h.next();null!==u&&!n.done;z++,n=h.next()){u.index>z?(q=u,u=null):q=u.sibling;var w=p(e,u,n.value,k);if(null===w){null===u&&(u=q);break}a&&u&&null===w.alternate&&b(e,u);g=f(w,g,z);null===t?l=w:t.sibling=w;t=w;u=q}if(n.done)return c(e,u),l;if(null===u){for(;!n.done;z++,n=h.next())n=A(e,n.value,k),null!==n&&(g=f(n,g,z),null===t?l=n:t.sibling=n,t=n);return l}for(u=d(e,u);!n.done;z++,n=h.next())n=C(u,e,z,n.value,k),null!==n&&(a&&null!==n.alternate&&\nu.delete(null===n.key?z:n.key),g=f(n,g,z),null===t?l=n:t.sibling=n,t=n);a&&u.forEach(function(a){return b(e,a)});return l}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===ua&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case sa:a:{l=f.key;for(k=d;null!==k;){if(k.key===l){switch(k.tag){case 7:if(f.type===ua){c(a,k.sibling);d=e(k,f.props.children);d.return=a;a=d;break a}break;default:if(k.elementType===f.type){c(a,k.sibling);\nd=e(k,f.props);d.ref=Qg(a,k,f);d.return=a;a=d;break a}}c(a,k);break}else b(a,k);k=k.sibling}f.type===ua?(d=Xg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Vg(f.type,f.key,f.props,null,a.mode,h),h.ref=Qg(a,d,f),h.return=a,a=h)}return g(a);case ta:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=\nWg(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):(c(a,d),d=Ug(f,a.mode,h),d.return=a,a=d),g(a);if(Pg(f))return x(a,d,f,h);if(La(f))return w(a,d,f,h);l&&Rg(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 22:case 0:case 11:case 15:throw Error(y(152,Ra(a.type)||\"Component\"));}return c(a,d)}}var Yg=Sg(!0),Zg=Sg(!1),$g={},ah=Bf($g),bh=Bf($g),ch=Bf($g);\nfunction dh(a){if(a===$g)throw Error(y(174));return a}function eh(a,b){I(ch,b);I(bh,a);I(ah,$g);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:mb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=mb(b,a)}H(ah);I(ah,b)}function fh(){H(ah);H(bh);H(ch)}function gh(a){dh(ch.current);var b=dh(ah.current);var c=mb(b,a.type);b!==c&&(I(bh,a),I(ah,c))}function hh(a){bh.current===a&&(H(ah),H(bh))}var P=Bf(0);\nfunction ih(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&64))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var jh=null,kh=null,lh=!1;\nfunction mh(a,b){var c=nh(5,null,null,0);c.elementType=\"DELETED\";c.type=\"DELETED\";c.stateNode=b;c.return=a;c.flags=8;null!==a.lastEffect?(a.lastEffect.nextEffect=c,a.lastEffect=c):a.firstEffect=a.lastEffect=c}function oh(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,!0):!1;case 13:return!1;default:return!1}}\nfunction ph(a){if(lh){var b=kh;if(b){var c=b;if(!oh(a,b)){b=rf(c.nextSibling);if(!b||!oh(a,b)){a.flags=a.flags&-1025|2;lh=!1;jh=a;return}mh(jh,c)}jh=a;kh=rf(b.firstChild)}else a.flags=a.flags&-1025|2,lh=!1,jh=a}}function qh(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;jh=a}\nfunction rh(a){if(a!==jh)return!1;if(!lh)return qh(a),lh=!0,!1;var b=a.type;if(5!==a.tag||\"head\"!==b&&\"body\"!==b&&!nf(b,a.memoizedProps))for(b=kh;b;)mh(a,b),b=rf(b.nextSibling);qh(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(y(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(\"/$\"===c){if(0===b){kh=rf(a.nextSibling);break a}b--}else\"$\"!==c&&\"$!\"!==c&&\"$?\"!==c||b++}a=a.nextSibling}kh=null}}else kh=jh?rf(a.stateNode.nextSibling):null;return!0}\nfunction sh(){kh=jh=null;lh=!1}var th=[];function uh(){for(var a=0;a<th.length;a++)th[a]._workInProgressVersionPrimary=null;th.length=0}var vh=ra.ReactCurrentDispatcher,wh=ra.ReactCurrentBatchConfig,xh=0,R=null,S=null,T=null,yh=!1,zh=!1;function Ah(){throw Error(y(321));}function Bh(a,b){if(null===b)return!1;for(var c=0;c<b.length&&c<a.length;c++)if(!He(a[c],b[c]))return!1;return!0}\nfunction Ch(a,b,c,d,e,f){xh=f;R=b;b.memoizedState=null;b.updateQueue=null;b.lanes=0;vh.current=null===a||null===a.memoizedState?Dh:Eh;a=c(d,e);if(zh){f=0;do{zh=!1;if(!(25>f))throw Error(y(301));f+=1;T=S=null;b.updateQueue=null;vh.current=Fh;a=c(d,e)}while(zh)}vh.current=Gh;b=null!==S&&null!==S.next;xh=0;T=S=R=null;yh=!1;if(b)throw Error(y(300));return a}function Hh(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===T?R.memoizedState=T=a:T=T.next=a;return T}\nfunction Ih(){if(null===S){var a=R.alternate;a=null!==a?a.memoizedState:null}else a=S.next;var b=null===T?R.memoizedState:T.next;if(null!==b)T=b,S=a;else{if(null===a)throw Error(y(310));S=a;a={memoizedState:S.memoizedState,baseState:S.baseState,baseQueue:S.baseQueue,queue:S.queue,next:null};null===T?R.memoizedState=T=a:T=T.next=a}return T}function Jh(a,b){return\"function\"===typeof b?b(a):b}\nfunction Kh(a){var b=Ih(),c=b.queue;if(null===c)throw Error(y(311));c.lastRenderedReducer=a;var d=S,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){e=e.next;d=d.baseState;var h=g=f=null,k=e;do{var l=k.lane;if((xh&l)===l)null!==h&&(h=h.next={lane:0,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null}),d=k.eagerReducer===a?k.eagerState:a(d,k.action);else{var n={lane:l,action:k.action,eagerReducer:k.eagerReducer,\neagerState:k.eagerState,next:null};null===h?(g=h=n,f=d):h=h.next=n;R.lanes|=l;Dg|=l}k=k.next}while(null!==k&&k!==e);null===h?f=d:h.next=g;He(d,b.memoizedState)||(ug=!0);b.memoizedState=d;b.baseState=f;b.baseQueue=h;c.lastRenderedState=d}return[b.memoizedState,c.dispatch]}\nfunction Lh(a){var b=Ih(),c=b.queue;if(null===c)throw Error(y(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);He(f,b.memoizedState)||(ug=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}\nfunction Mh(a,b,c){var d=b._getVersion;d=d(b._source);var e=b._workInProgressVersionPrimary;if(null!==e)a=e===d;else if(a=a.mutableReadLanes,a=(xh&a)===a)b._workInProgressVersionPrimary=d,th.push(b);if(a)return c(b._source);th.push(b);throw Error(y(350));}\nfunction Nh(a,b,c,d){var e=U;if(null===e)throw Error(y(349));var f=b._getVersion,g=f(b._source),h=vh.current,k=h.useState(function(){return Mh(e,b,c)}),l=k[1],n=k[0];k=T;var A=a.memoizedState,p=A.refs,C=p.getSnapshot,x=A.source;A=A.subscribe;var w=R;a.memoizedState={refs:p,source:b,subscribe:d};h.useEffect(function(){p.getSnapshot=c;p.setSnapshot=l;var a=f(b._source);if(!He(g,a)){a=c(b._source);He(n,a)||(l(a),a=Ig(w),e.mutableReadLanes|=a&e.pendingLanes);a=e.mutableReadLanes;e.entangledLanes|=a;for(var d=\ne.entanglements,h=a;0<h;){var k=31-Vc(h),v=1<<k;d[k]|=a;h&=~v}}},[c,b,d]);h.useEffect(function(){return d(b._source,function(){var a=p.getSnapshot,c=p.setSnapshot;try{c(a(b._source));var d=Ig(w);e.mutableReadLanes|=d&e.pendingLanes}catch(q){c(function(){throw q;})}})},[b,d]);He(C,c)&&He(x,b)&&He(A,d)||(a={pending:null,dispatch:null,lastRenderedReducer:Jh,lastRenderedState:n},a.dispatch=l=Oh.bind(null,R,a),k.queue=a,k.baseQueue=null,n=Mh(e,b,c),k.memoizedState=k.baseState=n);return n}\nfunction Ph(a,b,c){var d=Ih();return Nh(d,a,b,c)}function Qh(a){var b=Hh();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a=b.queue={pending:null,dispatch:null,lastRenderedReducer:Jh,lastRenderedState:a};a=a.dispatch=Oh.bind(null,R,a);return[b.memoizedState,a]}\nfunction Rh(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=R.updateQueue;null===b?(b={lastEffect:null},R.updateQueue=b,b.lastEffect=a.next=a):(c=b.lastEffect,null===c?b.lastEffect=a.next=a:(d=c.next,c.next=a,a.next=d,b.lastEffect=a));return a}function Sh(a){var b=Hh();a={current:a};return b.memoizedState=a}function Th(){return Ih().memoizedState}function Uh(a,b,c,d){var e=Hh();R.flags|=a;e.memoizedState=Rh(1|b,c,void 0,void 0===d?null:d)}\nfunction Vh(a,b,c,d){var e=Ih();d=void 0===d?null:d;var f=void 0;if(null!==S){var g=S.memoizedState;f=g.destroy;if(null!==d&&Bh(d,g.deps)){Rh(b,c,f,d);return}}R.flags|=a;e.memoizedState=Rh(1|b,c,f,d)}function Wh(a,b){return Uh(516,4,a,b)}function Xh(a,b){return Vh(516,4,a,b)}function Yh(a,b){return Vh(4,2,a,b)}function Zh(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}\nfunction $h(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Vh(4,2,Zh.bind(null,b,a),c)}function ai(){}function bi(a,b){var c=Ih();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Bh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}function ci(a,b){var c=Ih();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Bh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}\nfunction di(a,b){var c=eg();gg(98>c?98:c,function(){a(!0)});gg(97<c?97:c,function(){var c=wh.transition;wh.transition=1;try{a(!1),b()}finally{wh.transition=c}})}\nfunction Oh(a,b,c){var d=Hg(),e=Ig(a),f={lane:e,action:c,eagerReducer:null,eagerState:null,next:null},g=b.pending;null===g?f.next=f:(f.next=g.next,g.next=f);b.pending=f;g=a.alternate;if(a===R||null!==g&&g===R)zh=yh=!0;else{if(0===a.lanes&&(null===g||0===g.lanes)&&(g=b.lastRenderedReducer,null!==g))try{var h=b.lastRenderedState,k=g(h,c);f.eagerReducer=g;f.eagerState=k;if(He(k,h))return}catch(l){}finally{}Jg(a,e,d)}}\nvar Gh={readContext:vg,useCallback:Ah,useContext:Ah,useEffect:Ah,useImperativeHandle:Ah,useLayoutEffect:Ah,useMemo:Ah,useReducer:Ah,useRef:Ah,useState:Ah,useDebugValue:Ah,useDeferredValue:Ah,useTransition:Ah,useMutableSource:Ah,useOpaqueIdentifier:Ah,unstable_isNewReconciler:!1},Dh={readContext:vg,useCallback:function(a,b){Hh().memoizedState=[a,void 0===b?null:b];return a},useContext:vg,useEffect:Wh,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Uh(4,2,Zh.bind(null,\nb,a),c)},useLayoutEffect:function(a,b){return Uh(4,2,a,b)},useMemo:function(a,b){var c=Hh();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=Hh();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a=d.queue={pending:null,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};a=a.dispatch=Oh.bind(null,R,a);return[d.memoizedState,a]},useRef:Sh,useState:Qh,useDebugValue:ai,useDeferredValue:function(a){var b=Qh(a),c=b[0],d=b[1];Wh(function(){var b=wh.transition;\nwh.transition=1;try{d(a)}finally{wh.transition=b}},[a]);return c},useTransition:function(){var a=Qh(!1),b=a[0];a=di.bind(null,a[1]);Sh(a);return[a,b]},useMutableSource:function(a,b,c){var d=Hh();d.memoizedState={refs:{getSnapshot:b,setSnapshot:null},source:a,subscribe:c};return Nh(d,a,b,c)},useOpaqueIdentifier:function(){if(lh){var a=!1,b=uf(function(){a||(a=!0,c(\"r:\"+(tf++).toString(36)));throw Error(y(355));}),c=Qh(b)[1];0===(R.mode&2)&&(R.flags|=516,Rh(5,function(){c(\"r:\"+(tf++).toString(36))},\nvoid 0,null));return b}b=\"r:\"+(tf++).toString(36);Qh(b);return b},unstable_isNewReconciler:!1},Eh={readContext:vg,useCallback:bi,useContext:vg,useEffect:Xh,useImperativeHandle:$h,useLayoutEffect:Yh,useMemo:ci,useReducer:Kh,useRef:Th,useState:function(){return Kh(Jh)},useDebugValue:ai,useDeferredValue:function(a){var b=Kh(Jh),c=b[0],d=b[1];Xh(function(){var b=wh.transition;wh.transition=1;try{d(a)}finally{wh.transition=b}},[a]);return c},useTransition:function(){var a=Kh(Jh)[0];return[Th().current,\na]},useMutableSource:Ph,useOpaqueIdentifier:function(){return Kh(Jh)[0]},unstable_isNewReconciler:!1},Fh={readContext:vg,useCallback:bi,useContext:vg,useEffect:Xh,useImperativeHandle:$h,useLayoutEffect:Yh,useMemo:ci,useReducer:Lh,useRef:Th,useState:function(){return Lh(Jh)},useDebugValue:ai,useDeferredValue:function(a){var b=Lh(Jh),c=b[0],d=b[1];Xh(function(){var b=wh.transition;wh.transition=1;try{d(a)}finally{wh.transition=b}},[a]);return c},useTransition:function(){var a=Lh(Jh)[0];return[Th().current,\na]},useMutableSource:Ph,useOpaqueIdentifier:function(){return Lh(Jh)[0]},unstable_isNewReconciler:!1},ei=ra.ReactCurrentOwner,ug=!1;function fi(a,b,c,d){b.child=null===a?Zg(b,null,c,d):Yg(b,a.child,c,d)}function gi(a,b,c,d,e){c=c.render;var f=b.ref;tg(b,e);d=Ch(a,b,c,d,f,e);if(null!==a&&!ug)return b.updateQueue=a.updateQueue,b.flags&=-517,a.lanes&=~e,hi(a,b,e);b.flags|=1;fi(a,b,d,e);return b.child}\nfunction ii(a,b,c,d,e,f){if(null===a){var g=c.type;if(\"function\"===typeof g&&!ji(g)&&void 0===g.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=g,ki(a,b,g,d,e,f);a=Vg(c.type,null,d,b,b.mode,f);a.ref=b.ref;a.return=b;return b.child=a}g=a.child;if(0===(e&f)&&(e=g.memoizedProps,c=c.compare,c=null!==c?c:Je,c(e,d)&&a.ref===b.ref))return hi(a,b,f);b.flags|=1;a=Tg(g,d);a.ref=b.ref;a.return=b;return b.child=a}\nfunction ki(a,b,c,d,e,f){if(null!==a&&Je(a.memoizedProps,d)&&a.ref===b.ref)if(ug=!1,0!==(f&e))0!==(a.flags&16384)&&(ug=!0);else return b.lanes=a.lanes,hi(a,b,f);return li(a,b,c,d,f)}\nfunction mi(a,b,c){var d=b.pendingProps,e=d.children,f=null!==a?a.memoizedState:null;if(\"hidden\"===d.mode||\"unstable-defer-without-hiding\"===d.mode)if(0===(b.mode&4))b.memoizedState={baseLanes:0},ni(b,c);else if(0!==(c&1073741824))b.memoizedState={baseLanes:0},ni(b,null!==f?f.baseLanes:c);else return a=null!==f?f.baseLanes|c:c,b.lanes=b.childLanes=1073741824,b.memoizedState={baseLanes:a},ni(b,a),null;else null!==f?(d=f.baseLanes|c,b.memoizedState=null):d=c,ni(b,d);fi(a,b,e,c);return b.child}\nfunction oi(a,b){var c=b.ref;if(null===a&&null!==c||null!==a&&a.ref!==c)b.flags|=128}function li(a,b,c,d,e){var f=Ff(c)?Df:M.current;f=Ef(b,f);tg(b,e);c=Ch(a,b,c,d,f,e);if(null!==a&&!ug)return b.updateQueue=a.updateQueue,b.flags&=-517,a.lanes&=~e,hi(a,b,e);b.flags|=1;fi(a,b,c,e);return b.child}\nfunction pi(a,b,c,d,e){if(Ff(c)){var f=!0;Jf(b)}else f=!1;tg(b,e);if(null===b.stateNode)null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2),Mg(b,c,d),Og(b,c,d,e),d=!0;else if(null===a){var g=b.stateNode,h=b.memoizedProps;g.props=h;var k=g.context,l=c.contextType;\"object\"===typeof l&&null!==l?l=vg(l):(l=Ff(c)?Df:M.current,l=Ef(b,l));var n=c.getDerivedStateFromProps,A=\"function\"===typeof n||\"function\"===typeof g.getSnapshotBeforeUpdate;A||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\n\"function\"!==typeof g.componentWillReceiveProps||(h!==d||k!==l)&&Ng(b,g,d,l);wg=!1;var p=b.memoizedState;g.state=p;Cg(b,d,g,e);k=b.memoizedState;h!==d||p!==k||N.current||wg?(\"function\"===typeof n&&(Gg(b,c,n,d),k=b.memoizedState),(h=wg||Lg(b,c,h,d,p,k,l))?(A||\"function\"!==typeof g.UNSAFE_componentWillMount&&\"function\"!==typeof g.componentWillMount||(\"function\"===typeof g.componentWillMount&&g.componentWillMount(),\"function\"===typeof g.UNSAFE_componentWillMount&&g.UNSAFE_componentWillMount()),\"function\"===\ntypeof g.componentDidMount&&(b.flags|=4)):(\"function\"===typeof g.componentDidMount&&(b.flags|=4),b.memoizedProps=d,b.memoizedState=k),g.props=d,g.state=k,g.context=l,d=h):(\"function\"===typeof g.componentDidMount&&(b.flags|=4),d=!1)}else{g=b.stateNode;yg(a,b);h=b.memoizedProps;l=b.type===b.elementType?h:lg(b.type,h);g.props=l;A=b.pendingProps;p=g.context;k=c.contextType;\"object\"===typeof k&&null!==k?k=vg(k):(k=Ff(c)?Df:M.current,k=Ef(b,k));var C=c.getDerivedStateFromProps;(n=\"function\"===typeof C||\n\"function\"===typeof g.getSnapshotBeforeUpdate)||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||(h!==A||p!==k)&&Ng(b,g,d,k);wg=!1;p=b.memoizedState;g.state=p;Cg(b,d,g,e);var x=b.memoizedState;h!==A||p!==x||N.current||wg?(\"function\"===typeof C&&(Gg(b,c,C,d),x=b.memoizedState),(l=wg||Lg(b,c,l,d,p,x,k))?(n||\"function\"!==typeof g.UNSAFE_componentWillUpdate&&\"function\"!==typeof g.componentWillUpdate||(\"function\"===typeof g.componentWillUpdate&&g.componentWillUpdate(d,\nx,k),\"function\"===typeof g.UNSAFE_componentWillUpdate&&g.UNSAFE_componentWillUpdate(d,x,k)),\"function\"===typeof g.componentDidUpdate&&(b.flags|=4),\"function\"===typeof g.getSnapshotBeforeUpdate&&(b.flags|=256)):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&p===a.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&p===a.memoizedState||(b.flags|=256),b.memoizedProps=d,b.memoizedState=x),g.props=d,g.state=x,g.context=k,d=l):(\"function\"!==typeof g.componentDidUpdate||\nh===a.memoizedProps&&p===a.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&p===a.memoizedState||(b.flags|=256),d=!1)}return qi(a,b,c,d,f,e)}\nfunction qi(a,b,c,d,e,f){oi(a,b);var g=0!==(b.flags&64);if(!d&&!g)return e&&Kf(b,c,!1),hi(a,b,f);d=b.stateNode;ei.current=b;var h=g&&\"function\"!==typeof c.getDerivedStateFromError?null:d.render();b.flags|=1;null!==a&&g?(b.child=Yg(b,a.child,null,f),b.child=Yg(b,null,h,f)):fi(a,b,h,f);b.memoizedState=d.state;e&&Kf(b,c,!0);return b.child}function ri(a){var b=a.stateNode;b.pendingContext?Hf(a,b.pendingContext,b.pendingContext!==b.context):b.context&&Hf(a,b.context,!1);eh(a,b.containerInfo)}\nvar si={dehydrated:null,retryLane:0};\nfunction ti(a,b,c){var d=b.pendingProps,e=P.current,f=!1,g;(g=0!==(b.flags&64))||(g=null!==a&&null===a.memoizedState?!1:0!==(e&2));g?(f=!0,b.flags&=-65):null!==a&&null===a.memoizedState||void 0===d.fallback||!0===d.unstable_avoidThisFallback||(e|=1);I(P,e&1);if(null===a){void 0!==d.fallback&&ph(b);a=d.children;e=d.fallback;if(f)return a=ui(b,a,e,c),b.child.memoizedState={baseLanes:c},b.memoizedState=si,a;if(\"number\"===typeof d.unstable_expectedLoadTime)return a=ui(b,a,e,c),b.child.memoizedState={baseLanes:c},\nb.memoizedState=si,b.lanes=33554432,a;c=vi({mode:\"visible\",children:a},b.mode,c,null);c.return=b;return b.child=c}if(null!==a.memoizedState){if(f)return d=wi(a,b,d.children,d.fallback,c),f=b.child,e=a.child.memoizedState,f.memoizedState=null===e?{baseLanes:c}:{baseLanes:e.baseLanes|c},f.childLanes=a.childLanes&~c,b.memoizedState=si,d;c=xi(a,b,d.children,c);b.memoizedState=null;return c}if(f)return d=wi(a,b,d.children,d.fallback,c),f=b.child,e=a.child.memoizedState,f.memoizedState=null===e?{baseLanes:c}:\n{baseLanes:e.baseLanes|c},f.childLanes=a.childLanes&~c,b.memoizedState=si,d;c=xi(a,b,d.children,c);b.memoizedState=null;return c}function ui(a,b,c,d){var e=a.mode,f=a.child;b={mode:\"hidden\",children:b};0===(e&2)&&null!==f?(f.childLanes=0,f.pendingProps=b):f=vi(b,e,0,null);c=Xg(c,e,d,null);f.return=a;c.return=a;f.sibling=c;a.child=f;return c}\nfunction xi(a,b,c,d){var e=a.child;a=e.sibling;c=Tg(e,{mode:\"visible\",children:c});0===(b.mode&2)&&(c.lanes=d);c.return=b;c.sibling=null;null!==a&&(a.nextEffect=null,a.flags=8,b.firstEffect=b.lastEffect=a);return b.child=c}\nfunction wi(a,b,c,d,e){var f=b.mode,g=a.child;a=g.sibling;var h={mode:\"hidden\",children:c};0===(f&2)&&b.child!==g?(c=b.child,c.childLanes=0,c.pendingProps=h,g=c.lastEffect,null!==g?(b.firstEffect=c.firstEffect,b.lastEffect=g,g.nextEffect=null):b.firstEffect=b.lastEffect=null):c=Tg(g,h);null!==a?d=Tg(a,d):(d=Xg(d,f,e,null),d.flags|=2);d.return=b;c.return=b;c.sibling=d;b.child=c;return d}function yi(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);sg(a.return,b)}\nfunction zi(a,b,c,d,e,f){var g=a.memoizedState;null===g?a.memoizedState={isBackwards:b,rendering:null,renderingStartTime:0,last:d,tail:c,tailMode:e,lastEffect:f}:(g.isBackwards=b,g.rendering=null,g.renderingStartTime=0,g.last=d,g.tail=c,g.tailMode=e,g.lastEffect=f)}\nfunction Ai(a,b,c){var d=b.pendingProps,e=d.revealOrder,f=d.tail;fi(a,b,d.children,c);d=P.current;if(0!==(d&2))d=d&1|2,b.flags|=64;else{if(null!==a&&0!==(a.flags&64))a:for(a=b.child;null!==a;){if(13===a.tag)null!==a.memoizedState&&yi(a,c);else if(19===a.tag)yi(a,c);else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===b)break a;for(;null===a.sibling;){if(null===a.return||a.return===b)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}d&=1}I(P,d);if(0===(b.mode&2))b.memoizedState=\nnull;else switch(e){case \"forwards\":c=b.child;for(e=null;null!==c;)a=c.alternate,null!==a&&null===ih(a)&&(e=c),c=c.sibling;c=e;null===c?(e=b.child,b.child=null):(e=c.sibling,c.sibling=null);zi(b,!1,e,c,f,b.lastEffect);break;case \"backwards\":c=null;e=b.child;for(b.child=null;null!==e;){a=e.alternate;if(null!==a&&null===ih(a)){b.child=e;break}a=e.sibling;e.sibling=c;c=e;e=a}zi(b,!0,c,null,f,b.lastEffect);break;case \"together\":zi(b,!1,null,null,void 0,b.lastEffect);break;default:b.memoizedState=null}return b.child}\nfunction hi(a,b,c){null!==a&&(b.dependencies=a.dependencies);Dg|=b.lanes;if(0!==(c&b.childLanes)){if(null!==a&&b.child!==a.child)throw Error(y(153));if(null!==b.child){a=b.child;c=Tg(a,a.pendingProps);b.child=c;for(c.return=b;null!==a.sibling;)a=a.sibling,c=c.sibling=Tg(a,a.pendingProps),c.return=b;c.sibling=null}return b.child}return null}var Bi,Ci,Di,Ei;\nBi=function(a,b){for(var c=b.child;null!==c;){if(5===c.tag||6===c.tag)a.appendChild(c.stateNode);else if(4!==c.tag&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return}c.sibling.return=c.return;c=c.sibling}};Ci=function(){};\nDi=function(a,b,c,d){var e=a.memoizedProps;if(e!==d){a=b.stateNode;dh(ah.current);var f=null;switch(c){case \"input\":e=Ya(a,e);d=Ya(a,d);f=[];break;case \"option\":e=eb(a,e);d=eb(a,d);f=[];break;case \"select\":e=m({},e,{value:void 0});d=m({},d,{value:void 0});f=[];break;case \"textarea\":e=gb(a,e);d=gb(a,d);f=[];break;default:\"function\"!==typeof e.onClick&&\"function\"===typeof d.onClick&&(a.onclick=jf)}vb(c,d);var g;c=null;for(l in e)if(!d.hasOwnProperty(l)&&e.hasOwnProperty(l)&&null!=e[l])if(\"style\"===\nl){var h=e[l];for(g in h)h.hasOwnProperty(g)&&(c||(c={}),c[g]=\"\")}else\"dangerouslySetInnerHTML\"!==l&&\"children\"!==l&&\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&\"autoFocus\"!==l&&(ca.hasOwnProperty(l)?f||(f=[]):(f=f||[]).push(l,null));for(l in d){var k=d[l];h=null!=e?e[l]:void 0;if(d.hasOwnProperty(l)&&k!==h&&(null!=k||null!=h))if(\"style\"===l)if(h){for(g in h)!h.hasOwnProperty(g)||k&&k.hasOwnProperty(g)||(c||(c={}),c[g]=\"\");for(g in k)k.hasOwnProperty(g)&&h[g]!==k[g]&&(c||\n(c={}),c[g]=k[g])}else c||(f||(f=[]),f.push(l,c)),c=k;else\"dangerouslySetInnerHTML\"===l?(k=k?k.__html:void 0,h=h?h.__html:void 0,null!=k&&h!==k&&(f=f||[]).push(l,k)):\"children\"===l?\"string\"!==typeof k&&\"number\"!==typeof k||(f=f||[]).push(l,\"\"+k):\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&(ca.hasOwnProperty(l)?(null!=k&&\"onScroll\"===l&&G(\"scroll\",a),f||h===k||(f=[])):\"object\"===typeof k&&null!==k&&k.$$typeof===Ga?k.toString():(f=f||[]).push(l,k))}c&&(f=f||[]).push(\"style\",\nc);var l=f;if(b.updateQueue=l)b.flags|=4}};Ei=function(a,b,c,d){c!==d&&(b.flags|=4)};function Fi(a,b){if(!lh)switch(a.tailMode){case \"hidden\":b=a.tail;for(var c=null;null!==b;)null!==b.alternate&&(c=b),b=b.sibling;null===c?a.tail=null:c.sibling=null;break;case \"collapsed\":c=a.tail;for(var d=null;null!==c;)null!==c.alternate&&(d=c),c=c.sibling;null===d?b||null===a.tail?a.tail=null:a.tail.sibling=null:d.sibling=null}}\nfunction Gi(a,b,c){var d=b.pendingProps;switch(b.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return null;case 1:return Ff(b.type)&&Gf(),null;case 3:fh();H(N);H(M);uh();d=b.stateNode;d.pendingContext&&(d.context=d.pendingContext,d.pendingContext=null);if(null===a||null===a.child)rh(b)?b.flags|=4:d.hydrate||(b.flags|=256);Ci(b);return null;case 5:hh(b);var e=dh(ch.current);c=b.type;if(null!==a&&null!=b.stateNode)Di(a,b,c,d,e),a.ref!==b.ref&&(b.flags|=128);else{if(!d){if(null===\nb.stateNode)throw Error(y(166));return null}a=dh(ah.current);if(rh(b)){d=b.stateNode;c=b.type;var f=b.memoizedProps;d[wf]=b;d[xf]=f;switch(c){case \"dialog\":G(\"cancel\",d);G(\"close\",d);break;case \"iframe\":case \"object\":case \"embed\":G(\"load\",d);break;case \"video\":case \"audio\":for(a=0;a<Xe.length;a++)G(Xe[a],d);break;case \"source\":G(\"error\",d);break;case \"img\":case \"image\":case \"link\":G(\"error\",d);G(\"load\",d);break;case \"details\":G(\"toggle\",d);break;case \"input\":Za(d,f);G(\"invalid\",d);break;case \"select\":d._wrapperState=\n{wasMultiple:!!f.multiple};G(\"invalid\",d);break;case \"textarea\":hb(d,f),G(\"invalid\",d)}vb(c,f);a=null;for(var g in f)f.hasOwnProperty(g)&&(e=f[g],\"children\"===g?\"string\"===typeof e?d.textContent!==e&&(a=[\"children\",e]):\"number\"===typeof e&&d.textContent!==\"\"+e&&(a=[\"children\",\"\"+e]):ca.hasOwnProperty(g)&&null!=e&&\"onScroll\"===g&&G(\"scroll\",d));switch(c){case \"input\":Va(d);cb(d,f,!0);break;case \"textarea\":Va(d);jb(d);break;case \"select\":case \"option\":break;default:\"function\"===typeof f.onClick&&(d.onclick=\njf)}d=a;b.updateQueue=d;null!==d&&(b.flags|=4)}else{g=9===e.nodeType?e:e.ownerDocument;a===kb.html&&(a=lb(c));a===kb.html?\"script\"===c?(a=g.createElement(\"div\"),a.innerHTML=\"<script>\\x3c/script>\",a=a.removeChild(a.firstChild)):\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[wf]=b;a[xf]=d;Bi(a,b,!1,!1);b.stateNode=a;g=wb(c,d);switch(c){case \"dialog\":G(\"cancel\",a);G(\"close\",a);\ne=d;break;case \"iframe\":case \"object\":case \"embed\":G(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;e<Xe.length;e++)G(Xe[e],a);e=d;break;case \"source\":G(\"error\",a);e=d;break;case \"img\":case \"image\":case \"link\":G(\"error\",a);G(\"load\",a);e=d;break;case \"details\":G(\"toggle\",a);e=d;break;case \"input\":Za(a,d);e=Ya(a,d);G(\"invalid\",a);break;case \"option\":e=eb(a,d);break;case \"select\":a._wrapperState={wasMultiple:!!d.multiple};e=m({},d,{value:void 0});G(\"invalid\",a);break;case \"textarea\":hb(a,d);e=\ngb(a,d);G(\"invalid\",a);break;default:e=d}vb(c,e);var h=e;for(f in h)if(h.hasOwnProperty(f)){var k=h[f];\"style\"===f?tb(a,k):\"dangerouslySetInnerHTML\"===f?(k=k?k.__html:void 0,null!=k&&ob(a,k)):\"children\"===f?\"string\"===typeof k?(\"textarea\"!==c||\"\"!==k)&&pb(a,k):\"number\"===typeof k&&pb(a,\"\"+k):\"suppressContentEditableWarning\"!==f&&\"suppressHydrationWarning\"!==f&&\"autoFocus\"!==f&&(ca.hasOwnProperty(f)?null!=k&&\"onScroll\"===f&&G(\"scroll\",a):null!=k&&qa(a,f,k,g))}switch(c){case \"input\":Va(a);cb(a,d,!1);\nbreak;case \"textarea\":Va(a);jb(a);break;case \"option\":null!=d.value&&a.setAttribute(\"value\",\"\"+Sa(d.value));break;case \"select\":a.multiple=!!d.multiple;f=d.value;null!=f?fb(a,!!d.multiple,f,!1):null!=d.defaultValue&&fb(a,!!d.multiple,d.defaultValue,!0);break;default:\"function\"===typeof e.onClick&&(a.onclick=jf)}mf(c,d)&&(b.flags|=4)}null!==b.ref&&(b.flags|=128)}return null;case 6:if(a&&null!=b.stateNode)Ei(a,b,a.memoizedProps,d);else{if(\"string\"!==typeof d&&null===b.stateNode)throw Error(y(166));\nc=dh(ch.current);dh(ah.current);rh(b)?(d=b.stateNode,c=b.memoizedProps,d[wf]=b,d.nodeValue!==c&&(b.flags|=4)):(d=(9===c.nodeType?c:c.ownerDocument).createTextNode(d),d[wf]=b,b.stateNode=d)}return null;case 13:H(P);d=b.memoizedState;if(0!==(b.flags&64))return b.lanes=c,b;d=null!==d;c=!1;null===a?void 0!==b.memoizedProps.fallback&&rh(b):c=null!==a.memoizedState;if(d&&!c&&0!==(b.mode&2))if(null===a&&!0!==b.memoizedProps.unstable_avoidThisFallback||0!==(P.current&1))0===V&&(V=3);else{if(0===V||3===V)V=\n4;null===U||0===(Dg&134217727)&&0===(Hi&134217727)||Ii(U,W)}if(d||c)b.flags|=4;return null;case 4:return fh(),Ci(b),null===a&&cf(b.stateNode.containerInfo),null;case 10:return rg(b),null;case 17:return Ff(b.type)&&Gf(),null;case 19:H(P);d=b.memoizedState;if(null===d)return null;f=0!==(b.flags&64);g=d.rendering;if(null===g)if(f)Fi(d,!1);else{if(0!==V||null!==a&&0!==(a.flags&64))for(a=b.child;null!==a;){g=ih(a);if(null!==g){b.flags|=64;Fi(d,!1);f=g.updateQueue;null!==f&&(b.updateQueue=f,b.flags|=4);\nnull===d.lastEffect&&(b.firstEffect=null);b.lastEffect=d.lastEffect;d=c;for(c=b.child;null!==c;)f=c,a=d,f.flags&=2,f.nextEffect=null,f.firstEffect=null,f.lastEffect=null,g=f.alternate,null===g?(f.childLanes=0,f.lanes=a,f.child=null,f.memoizedProps=null,f.memoizedState=null,f.updateQueue=null,f.dependencies=null,f.stateNode=null):(f.childLanes=g.childLanes,f.lanes=g.lanes,f.child=g.child,f.memoizedProps=g.memoizedProps,f.memoizedState=g.memoizedState,f.updateQueue=g.updateQueue,f.type=g.type,a=g.dependencies,\nf.dependencies=null===a?null:{lanes:a.lanes,firstContext:a.firstContext}),c=c.sibling;I(P,P.current&1|2);return b.child}a=a.sibling}null!==d.tail&&O()>Ji&&(b.flags|=64,f=!0,Fi(d,!1),b.lanes=33554432)}else{if(!f)if(a=ih(g),null!==a){if(b.flags|=64,f=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Fi(d,!0),null===d.tail&&\"hidden\"===d.tailMode&&!g.alternate&&!lh)return b=b.lastEffect=d.lastEffect,null!==b&&(b.nextEffect=null),null}else 2*O()-d.renderingStartTime>Ji&&1073741824!==c&&(b.flags|=\n64,f=!0,Fi(d,!1),b.lanes=33554432);d.isBackwards?(g.sibling=b.child,b.child=g):(c=d.last,null!==c?c.sibling=g:b.child=g,d.last=g)}return null!==d.tail?(c=d.tail,d.rendering=c,d.tail=c.sibling,d.lastEffect=b.lastEffect,d.renderingStartTime=O(),c.sibling=null,b=P.current,I(P,f?b&1|2:b&1),c):null;case 23:case 24:return Ki(),null!==a&&null!==a.memoizedState!==(null!==b.memoizedState)&&\"unstable-defer-without-hiding\"!==d.mode&&(b.flags|=4),null}throw Error(y(156,b.tag));}\nfunction Li(a){switch(a.tag){case 1:Ff(a.type)&&Gf();var b=a.flags;return b&4096?(a.flags=b&-4097|64,a):null;case 3:fh();H(N);H(M);uh();b=a.flags;if(0!==(b&64))throw Error(y(285));a.flags=b&-4097|64;return a;case 5:return hh(a),null;case 13:return H(P),b=a.flags,b&4096?(a.flags=b&-4097|64,a):null;case 19:return H(P),null;case 4:return fh(),null;case 10:return rg(a),null;case 23:case 24:return Ki(),null;default:return null}}\nfunction Mi(a,b){try{var c=\"\",d=b;do c+=Qa(d),d=d.return;while(d);var e=c}catch(f){e=\"\\nError generating stack: \"+f.message+\"\\n\"+f.stack}return{value:a,source:b,stack:e}}function Ni(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c;})}}var Oi=\"function\"===typeof WeakMap?WeakMap:Map;function Pi(a,b,c){c=zg(-1,c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Qi||(Qi=!0,Ri=d);Ni(a,b)};return c}\nfunction Si(a,b,c){c=zg(-1,c);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){Ni(a,b);return d(e)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){\"function\"!==typeof d&&(null===Ti?Ti=new Set([this]):Ti.add(this),Ni(a,b));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}var Ui=\"function\"===typeof WeakSet?WeakSet:Set;\nfunction Vi(a){var b=a.ref;if(null!==b)if(\"function\"===typeof b)try{b(null)}catch(c){Wi(a,c)}else b.current=null}function Xi(a,b){switch(b.tag){case 0:case 11:case 15:case 22:return;case 1:if(b.flags&256&&null!==a){var c=a.memoizedProps,d=a.memoizedState;a=b.stateNode;b=a.getSnapshotBeforeUpdate(b.elementType===b.type?c:lg(b.type,c),d);a.__reactInternalSnapshotBeforeUpdate=b}return;case 3:b.flags&256&&qf(b.stateNode.containerInfo);return;case 5:case 6:case 4:case 17:return}throw Error(y(163));}\nfunction Yi(a,b,c){switch(c.tag){case 0:case 11:case 15:case 22:b=c.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){a=b=b.next;do{if(3===(a.tag&3)){var d=a.create;a.destroy=d()}a=a.next}while(a!==b)}b=c.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){a=b=b.next;do{var e=a;d=e.next;e=e.tag;0!==(e&4)&&0!==(e&1)&&(Zi(c,a),$i(c,a));a=d}while(a!==b)}return;case 1:a=c.stateNode;c.flags&4&&(null===b?a.componentDidMount():(d=c.elementType===c.type?b.memoizedProps:lg(c.type,b.memoizedProps),a.componentDidUpdate(d,\nb.memoizedState,a.__reactInternalSnapshotBeforeUpdate)));b=c.updateQueue;null!==b&&Eg(c,b,a);return;case 3:b=c.updateQueue;if(null!==b){a=null;if(null!==c.child)switch(c.child.tag){case 5:a=c.child.stateNode;break;case 1:a=c.child.stateNode}Eg(c,b,a)}return;case 5:a=c.stateNode;null===b&&c.flags&4&&mf(c.type,c.memoizedProps)&&a.focus();return;case 6:return;case 4:return;case 12:return;case 13:null===c.memoizedState&&(c=c.alternate,null!==c&&(c=c.memoizedState,null!==c&&(c=c.dehydrated,null!==c&&Cc(c))));\nreturn;case 19:case 17:case 20:case 21:case 23:case 24:return}throw Error(y(163));}\nfunction aj(a,b){for(var c=a;;){if(5===c.tag){var d=c.stateNode;if(b)d=d.style,\"function\"===typeof d.setProperty?d.setProperty(\"display\",\"none\",\"important\"):d.display=\"none\";else{d=c.stateNode;var e=c.memoizedProps.style;e=void 0!==e&&null!==e&&e.hasOwnProperty(\"display\")?e.display:null;d.style.display=sb(\"display\",e)}}else if(6===c.tag)c.stateNode.nodeValue=b?\"\":c.memoizedProps;else if((23!==c.tag&&24!==c.tag||null===c.memoizedState||c===a)&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===\na)break;for(;null===c.sibling;){if(null===c.return||c.return===a)return;c=c.return}c.sibling.return=c.return;c=c.sibling}}\nfunction bj(a,b){if(Mf&&\"function\"===typeof Mf.onCommitFiberUnmount)try{Mf.onCommitFiberUnmount(Lf,b)}catch(f){}switch(b.tag){case 0:case 11:case 14:case 15:case 22:a=b.updateQueue;if(null!==a&&(a=a.lastEffect,null!==a)){var c=a=a.next;do{var d=c,e=d.destroy;d=d.tag;if(void 0!==e)if(0!==(d&4))Zi(b,c);else{d=b;try{e()}catch(f){Wi(d,f)}}c=c.next}while(c!==a)}break;case 1:Vi(b);a=b.stateNode;if(\"function\"===typeof a.componentWillUnmount)try{a.props=b.memoizedProps,a.state=b.memoizedState,a.componentWillUnmount()}catch(f){Wi(b,\nf)}break;case 5:Vi(b);break;case 4:cj(a,b)}}function dj(a){a.alternate=null;a.child=null;a.dependencies=null;a.firstEffect=null;a.lastEffect=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.return=null;a.updateQueue=null}function ej(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction fj(a){a:{for(var b=a.return;null!==b;){if(ej(b))break a;b=b.return}throw Error(y(160));}var c=b;b=c.stateNode;switch(c.tag){case 5:var d=!1;break;case 3:b=b.containerInfo;d=!0;break;case 4:b=b.containerInfo;d=!0;break;default:throw Error(y(161));}c.flags&16&&(pb(b,\"\"),c.flags&=-17);a:b:for(c=a;;){for(;null===c.sibling;){if(null===c.return||ej(c.return)){c=null;break a}c=c.return}c.sibling.return=c.return;for(c=c.sibling;5!==c.tag&&6!==c.tag&&18!==c.tag;){if(c.flags&2)continue b;if(null===\nc.child||4===c.tag)continue b;else c.child.return=c,c=c.child}if(!(c.flags&2)){c=c.stateNode;break a}}d?gj(a,c,b):hj(a,c,b)}\nfunction gj(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=jf));else if(4!==d&&(a=a.child,null!==a))for(gj(a,b,c),a=a.sibling;null!==a;)gj(a,b,c),a=a.sibling}\nfunction hj(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(hj(a,b,c),a=a.sibling;null!==a;)hj(a,b,c),a=a.sibling}\nfunction cj(a,b){for(var c=b,d=!1,e,f;;){if(!d){d=c.return;a:for(;;){if(null===d)throw Error(y(160));e=d.stateNode;switch(d.tag){case 5:f=!1;break a;case 3:e=e.containerInfo;f=!0;break a;case 4:e=e.containerInfo;f=!0;break a}d=d.return}d=!0}if(5===c.tag||6===c.tag){a:for(var g=a,h=c,k=h;;)if(bj(g,k),null!==k.child&&4!==k.tag)k.child.return=k,k=k.child;else{if(k===h)break a;for(;null===k.sibling;){if(null===k.return||k.return===h)break a;k=k.return}k.sibling.return=k.return;k=k.sibling}f?(g=e,h=c.stateNode,\n8===g.nodeType?g.parentNode.removeChild(h):g.removeChild(h)):e.removeChild(c.stateNode)}else if(4===c.tag){if(null!==c.child){e=c.stateNode.containerInfo;f=!0;c.child.return=c;c=c.child;continue}}else if(bj(a,c),null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return;4===c.tag&&(d=!1)}c.sibling.return=c.return;c=c.sibling}}\nfunction ij(a,b){switch(b.tag){case 0:case 11:case 14:case 15:case 22:var c=b.updateQueue;c=null!==c?c.lastEffect:null;if(null!==c){var d=c=c.next;do 3===(d.tag&3)&&(a=d.destroy,d.destroy=void 0,void 0!==a&&a()),d=d.next;while(d!==c)}return;case 1:return;case 5:c=b.stateNode;if(null!=c){d=b.memoizedProps;var e=null!==a?a.memoizedProps:d;a=b.type;var f=b.updateQueue;b.updateQueue=null;if(null!==f){c[xf]=d;\"input\"===a&&\"radio\"===d.type&&null!=d.name&&$a(c,d);wb(a,e);b=wb(a,d);for(e=0;e<f.length;e+=\n2){var g=f[e],h=f[e+1];\"style\"===g?tb(c,h):\"dangerouslySetInnerHTML\"===g?ob(c,h):\"children\"===g?pb(c,h):qa(c,g,h,b)}switch(a){case \"input\":ab(c,d);break;case \"textarea\":ib(c,d);break;case \"select\":a=c._wrapperState.wasMultiple,c._wrapperState.wasMultiple=!!d.multiple,f=d.value,null!=f?fb(c,!!d.multiple,f,!1):a!==!!d.multiple&&(null!=d.defaultValue?fb(c,!!d.multiple,d.defaultValue,!0):fb(c,!!d.multiple,d.multiple?[]:\"\",!1))}}}return;case 6:if(null===b.stateNode)throw Error(y(162));b.stateNode.nodeValue=\nb.memoizedProps;return;case 3:c=b.stateNode;c.hydrate&&(c.hydrate=!1,Cc(c.containerInfo));return;case 12:return;case 13:null!==b.memoizedState&&(jj=O(),aj(b.child,!0));kj(b);return;case 19:kj(b);return;case 17:return;case 23:case 24:aj(b,null!==b.memoizedState);return}throw Error(y(163));}function kj(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Ui);b.forEach(function(b){var d=lj.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction mj(a,b){return null!==a&&(a=a.memoizedState,null===a||null!==a.dehydrated)?(b=b.memoizedState,null!==b&&null===b.dehydrated):!1}var nj=Math.ceil,oj=ra.ReactCurrentDispatcher,pj=ra.ReactCurrentOwner,X=0,U=null,Y=null,W=0,qj=0,rj=Bf(0),V=0,sj=null,tj=0,Dg=0,Hi=0,uj=0,vj=null,jj=0,Ji=Infinity;function wj(){Ji=O()+500}var Z=null,Qi=!1,Ri=null,Ti=null,xj=!1,yj=null,zj=90,Aj=[],Bj=[],Cj=null,Dj=0,Ej=null,Fj=-1,Gj=0,Hj=0,Ij=null,Jj=!1;function Hg(){return 0!==(X&48)?O():-1!==Fj?Fj:Fj=O()}\nfunction Ig(a){a=a.mode;if(0===(a&2))return 1;if(0===(a&4))return 99===eg()?1:2;0===Gj&&(Gj=tj);if(0!==kg.transition){0!==Hj&&(Hj=null!==vj?vj.pendingLanes:0);a=Gj;var b=4186112&~Hj;b&=-b;0===b&&(a=4186112&~a,b=a&-a,0===b&&(b=8192));return b}a=eg();0!==(X&4)&&98===a?a=Xc(12,Gj):(a=Sc(a),a=Xc(a,Gj));return a}\nfunction Jg(a,b,c){if(50<Dj)throw Dj=0,Ej=null,Error(y(185));a=Kj(a,b);if(null===a)return null;$c(a,b,c);a===U&&(Hi|=b,4===V&&Ii(a,W));var d=eg();1===b?0!==(X&8)&&0===(X&48)?Lj(a):(Mj(a,c),0===X&&(wj(),ig())):(0===(X&4)||98!==d&&99!==d||(null===Cj?Cj=new Set([a]):Cj.add(a)),Mj(a,c));vj=a}function Kj(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);c=a;for(a=a.return;null!==a;)a.childLanes|=b,c=a.alternate,null!==c&&(c.childLanes|=b),c=a,a=a.return;return 3===c.tag?c.stateNode:null}\nfunction Mj(a,b){for(var c=a.callbackNode,d=a.suspendedLanes,e=a.pingedLanes,f=a.expirationTimes,g=a.pendingLanes;0<g;){var h=31-Vc(g),k=1<<h,l=f[h];if(-1===l){if(0===(k&d)||0!==(k&e)){l=b;Rc(k);var n=F;f[h]=10<=n?l+250:6<=n?l+5E3:-1}}else l<=b&&(a.expiredLanes|=k);g&=~k}d=Uc(a,a===U?W:0);b=F;if(0===d)null!==c&&(c!==Zf&&Pf(c),a.callbackNode=null,a.callbackPriority=0);else{if(null!==c){if(a.callbackPriority===b)return;c!==Zf&&Pf(c)}15===b?(c=Lj.bind(null,a),null===ag?(ag=[c],bg=Of(Uf,jg)):ag.push(c),\nc=Zf):14===b?c=hg(99,Lj.bind(null,a)):(c=Tc(b),c=hg(c,Nj.bind(null,a)));a.callbackPriority=b;a.callbackNode=c}}\nfunction Nj(a){Fj=-1;Hj=Gj=0;if(0!==(X&48))throw Error(y(327));var b=a.callbackNode;if(Oj()&&a.callbackNode!==b)return null;var c=Uc(a,a===U?W:0);if(0===c)return null;var d=c;var e=X;X|=16;var f=Pj();if(U!==a||W!==d)wj(),Qj(a,d);do try{Rj();break}catch(h){Sj(a,h)}while(1);qg();oj.current=f;X=e;null!==Y?d=0:(U=null,W=0,d=V);if(0!==(tj&Hi))Qj(a,0);else if(0!==d){2===d&&(X|=64,a.hydrate&&(a.hydrate=!1,qf(a.containerInfo)),c=Wc(a),0!==c&&(d=Tj(a,c)));if(1===d)throw b=sj,Qj(a,0),Ii(a,c),Mj(a,O()),b;a.finishedWork=\na.current.alternate;a.finishedLanes=c;switch(d){case 0:case 1:throw Error(y(345));case 2:Uj(a);break;case 3:Ii(a,c);if((c&62914560)===c&&(d=jj+500-O(),10<d)){if(0!==Uc(a,0))break;e=a.suspendedLanes;if((e&c)!==c){Hg();a.pingedLanes|=a.suspendedLanes&e;break}a.timeoutHandle=of(Uj.bind(null,a),d);break}Uj(a);break;case 4:Ii(a,c);if((c&4186112)===c)break;d=a.eventTimes;for(e=-1;0<c;){var g=31-Vc(c);f=1<<g;g=d[g];g>e&&(e=g);c&=~f}c=e;c=O()-c;c=(120>c?120:480>c?480:1080>c?1080:1920>c?1920:3E3>c?3E3:4320>\nc?4320:1960*nj(c/1960))-c;if(10<c){a.timeoutHandle=of(Uj.bind(null,a),c);break}Uj(a);break;case 5:Uj(a);break;default:throw Error(y(329));}}Mj(a,O());return a.callbackNode===b?Nj.bind(null,a):null}function Ii(a,b){b&=~uj;b&=~Hi;a.suspendedLanes|=b;a.pingedLanes&=~b;for(a=a.expirationTimes;0<b;){var c=31-Vc(b),d=1<<c;a[c]=-1;b&=~d}}\nfunction Lj(a){if(0!==(X&48))throw Error(y(327));Oj();if(a===U&&0!==(a.expiredLanes&W)){var b=W;var c=Tj(a,b);0!==(tj&Hi)&&(b=Uc(a,b),c=Tj(a,b))}else b=Uc(a,0),c=Tj(a,b);0!==a.tag&&2===c&&(X|=64,a.hydrate&&(a.hydrate=!1,qf(a.containerInfo)),b=Wc(a),0!==b&&(c=Tj(a,b)));if(1===c)throw c=sj,Qj(a,0),Ii(a,b),Mj(a,O()),c;a.finishedWork=a.current.alternate;a.finishedLanes=b;Uj(a);Mj(a,O());return null}\nfunction Vj(){if(null!==Cj){var a=Cj;Cj=null;a.forEach(function(a){a.expiredLanes|=24&a.pendingLanes;Mj(a,O())})}ig()}function Wj(a,b){var c=X;X|=1;try{return a(b)}finally{X=c,0===X&&(wj(),ig())}}function Xj(a,b){var c=X;X&=-2;X|=8;try{return a(b)}finally{X=c,0===X&&(wj(),ig())}}function ni(a,b){I(rj,qj);qj|=b;tj|=b}function Ki(){qj=rj.current;H(rj)}\nfunction Qj(a,b){a.finishedWork=null;a.finishedLanes=0;var c=a.timeoutHandle;-1!==c&&(a.timeoutHandle=-1,pf(c));if(null!==Y)for(c=Y.return;null!==c;){var d=c;switch(d.tag){case 1:d=d.type.childContextTypes;null!==d&&void 0!==d&&Gf();break;case 3:fh();H(N);H(M);uh();break;case 5:hh(d);break;case 4:fh();break;case 13:H(P);break;case 19:H(P);break;case 10:rg(d);break;case 23:case 24:Ki()}c=c.return}U=a;Y=Tg(a.current,null);W=qj=tj=b;V=0;sj=null;uj=Hi=Dg=0}\nfunction Sj(a,b){do{var c=Y;try{qg();vh.current=Gh;if(yh){for(var d=R.memoizedState;null!==d;){var e=d.queue;null!==e&&(e.pending=null);d=d.next}yh=!1}xh=0;T=S=R=null;zh=!1;pj.current=null;if(null===c||null===c.return){V=1;sj=b;Y=null;break}a:{var f=a,g=c.return,h=c,k=b;b=W;h.flags|=2048;h.firstEffect=h.lastEffect=null;if(null!==k&&\"object\"===typeof k&&\"function\"===typeof k.then){var l=k;if(0===(h.mode&2)){var n=h.alternate;n?(h.updateQueue=n.updateQueue,h.memoizedState=n.memoizedState,h.lanes=n.lanes):\n(h.updateQueue=null,h.memoizedState=null)}var A=0!==(P.current&1),p=g;do{var C;if(C=13===p.tag){var x=p.memoizedState;if(null!==x)C=null!==x.dehydrated?!0:!1;else{var w=p.memoizedProps;C=void 0===w.fallback?!1:!0!==w.unstable_avoidThisFallback?!0:A?!1:!0}}if(C){var z=p.updateQueue;if(null===z){var u=new Set;u.add(l);p.updateQueue=u}else z.add(l);if(0===(p.mode&2)){p.flags|=64;h.flags|=16384;h.flags&=-2981;if(1===h.tag)if(null===h.alternate)h.tag=17;else{var t=zg(-1,1);t.tag=2;Ag(h,t)}h.lanes|=1;break a}k=\nvoid 0;h=b;var q=f.pingCache;null===q?(q=f.pingCache=new Oi,k=new Set,q.set(l,k)):(k=q.get(l),void 0===k&&(k=new Set,q.set(l,k)));if(!k.has(h)){k.add(h);var v=Yj.bind(null,f,l,h);l.then(v,v)}p.flags|=4096;p.lanes=b;break a}p=p.return}while(null!==p);k=Error((Ra(h.type)||\"A React component\")+\" suspended while rendering, but no fallback UI was specified.\\n\\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display.\")}5!==V&&(V=2);k=Mi(k,h);p=\ng;do{switch(p.tag){case 3:f=k;p.flags|=4096;b&=-b;p.lanes|=b;var J=Pi(p,f,b);Bg(p,J);break a;case 1:f=k;var K=p.type,Q=p.stateNode;if(0===(p.flags&64)&&(\"function\"===typeof K.getDerivedStateFromError||null!==Q&&\"function\"===typeof Q.componentDidCatch&&(null===Ti||!Ti.has(Q)))){p.flags|=4096;b&=-b;p.lanes|=b;var L=Si(p,f,b);Bg(p,L);break a}}p=p.return}while(null!==p)}Zj(c)}catch(va){b=va;Y===c&&null!==c&&(Y=c=c.return);continue}break}while(1)}\nfunction Pj(){var a=oj.current;oj.current=Gh;return null===a?Gh:a}function Tj(a,b){var c=X;X|=16;var d=Pj();U===a&&W===b||Qj(a,b);do try{ak();break}catch(e){Sj(a,e)}while(1);qg();X=c;oj.current=d;if(null!==Y)throw Error(y(261));U=null;W=0;return V}function ak(){for(;null!==Y;)bk(Y)}function Rj(){for(;null!==Y&&!Qf();)bk(Y)}function bk(a){var b=ck(a.alternate,a,qj);a.memoizedProps=a.pendingProps;null===b?Zj(a):Y=b;pj.current=null}\nfunction Zj(a){var b=a;do{var c=b.alternate;a=b.return;if(0===(b.flags&2048)){c=Gi(c,b,qj);if(null!==c){Y=c;return}c=b;if(24!==c.tag&&23!==c.tag||null===c.memoizedState||0!==(qj&1073741824)||0===(c.mode&4)){for(var d=0,e=c.child;null!==e;)d|=e.lanes|e.childLanes,e=e.sibling;c.childLanes=d}null!==a&&0===(a.flags&2048)&&(null===a.firstEffect&&(a.firstEffect=b.firstEffect),null!==b.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=b.firstEffect),a.lastEffect=b.lastEffect),1<b.flags&&(null!==\na.lastEffect?a.lastEffect.nextEffect=b:a.firstEffect=b,a.lastEffect=b))}else{c=Li(b);if(null!==c){c.flags&=2047;Y=c;return}null!==a&&(a.firstEffect=a.lastEffect=null,a.flags|=2048)}b=b.sibling;if(null!==b){Y=b;return}Y=b=a}while(null!==b);0===V&&(V=5)}function Uj(a){var b=eg();gg(99,dk.bind(null,a,b));return null}\nfunction dk(a,b){do Oj();while(null!==yj);if(0!==(X&48))throw Error(y(327));var c=a.finishedWork;if(null===c)return null;a.finishedWork=null;a.finishedLanes=0;if(c===a.current)throw Error(y(177));a.callbackNode=null;var d=c.lanes|c.childLanes,e=d,f=a.pendingLanes&~e;a.pendingLanes=e;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=e;a.mutableReadLanes&=e;a.entangledLanes&=e;e=a.entanglements;for(var g=a.eventTimes,h=a.expirationTimes;0<f;){var k=31-Vc(f),l=1<<k;e[k]=0;g[k]=-1;h[k]=-1;f&=~l}null!==\nCj&&0===(d&24)&&Cj.has(a)&&Cj.delete(a);a===U&&(Y=U=null,W=0);1<c.flags?null!==c.lastEffect?(c.lastEffect.nextEffect=c,d=c.firstEffect):d=c:d=c.firstEffect;if(null!==d){e=X;X|=32;pj.current=null;kf=fd;g=Ne();if(Oe(g)){if(\"selectionStart\"in g)h={start:g.selectionStart,end:g.selectionEnd};else a:if(h=(h=g.ownerDocument)&&h.defaultView||window,(l=h.getSelection&&h.getSelection())&&0!==l.rangeCount){h=l.anchorNode;f=l.anchorOffset;k=l.focusNode;l=l.focusOffset;try{h.nodeType,k.nodeType}catch(va){h=null;\nbreak a}var n=0,A=-1,p=-1,C=0,x=0,w=g,z=null;b:for(;;){for(var u;;){w!==h||0!==f&&3!==w.nodeType||(A=n+f);w!==k||0!==l&&3!==w.nodeType||(p=n+l);3===w.nodeType&&(n+=w.nodeValue.length);if(null===(u=w.firstChild))break;z=w;w=u}for(;;){if(w===g)break b;z===h&&++C===f&&(A=n);z===k&&++x===l&&(p=n);if(null!==(u=w.nextSibling))break;w=z;z=w.parentNode}w=u}h=-1===A||-1===p?null:{start:A,end:p}}else h=null;h=h||{start:0,end:0}}else h=null;lf={focusedElem:g,selectionRange:h};fd=!1;Ij=null;Jj=!1;Z=d;do try{ek()}catch(va){if(null===\nZ)throw Error(y(330));Wi(Z,va);Z=Z.nextEffect}while(null!==Z);Ij=null;Z=d;do try{for(g=a;null!==Z;){var t=Z.flags;t&16&&pb(Z.stateNode,\"\");if(t&128){var q=Z.alternate;if(null!==q){var v=q.ref;null!==v&&(\"function\"===typeof v?v(null):v.current=null)}}switch(t&1038){case 2:fj(Z);Z.flags&=-3;break;case 6:fj(Z);Z.flags&=-3;ij(Z.alternate,Z);break;case 1024:Z.flags&=-1025;break;case 1028:Z.flags&=-1025;ij(Z.alternate,Z);break;case 4:ij(Z.alternate,Z);break;case 8:h=Z;cj(g,h);var J=h.alternate;dj(h);null!==\nJ&&dj(J)}Z=Z.nextEffect}}catch(va){if(null===Z)throw Error(y(330));Wi(Z,va);Z=Z.nextEffect}while(null!==Z);v=lf;q=Ne();t=v.focusedElem;g=v.selectionRange;if(q!==t&&t&&t.ownerDocument&&Me(t.ownerDocument.documentElement,t)){null!==g&&Oe(t)&&(q=g.start,v=g.end,void 0===v&&(v=q),\"selectionStart\"in t?(t.selectionStart=q,t.selectionEnd=Math.min(v,t.value.length)):(v=(q=t.ownerDocument||document)&&q.defaultView||window,v.getSelection&&(v=v.getSelection(),h=t.textContent.length,J=Math.min(g.start,h),g=void 0===\ng.end?J:Math.min(g.end,h),!v.extend&&J>g&&(h=g,g=J,J=h),h=Le(t,J),f=Le(t,g),h&&f&&(1!==v.rangeCount||v.anchorNode!==h.node||v.anchorOffset!==h.offset||v.focusNode!==f.node||v.focusOffset!==f.offset)&&(q=q.createRange(),q.setStart(h.node,h.offset),v.removeAllRanges(),J>g?(v.addRange(q),v.extend(f.node,f.offset)):(q.setEnd(f.node,f.offset),v.addRange(q))))));q=[];for(v=t;v=v.parentNode;)1===v.nodeType&&q.push({element:v,left:v.scrollLeft,top:v.scrollTop});\"function\"===typeof t.focus&&t.focus();for(t=\n0;t<q.length;t++)v=q[t],v.element.scrollLeft=v.left,v.element.scrollTop=v.top}fd=!!kf;lf=kf=null;a.current=c;Z=d;do try{for(t=a;null!==Z;){var K=Z.flags;K&36&&Yi(t,Z.alternate,Z);if(K&128){q=void 0;var Q=Z.ref;if(null!==Q){var L=Z.stateNode;switch(Z.tag){case 5:q=L;break;default:q=L}\"function\"===typeof Q?Q(q):Q.current=q}}Z=Z.nextEffect}}catch(va){if(null===Z)throw Error(y(330));Wi(Z,va);Z=Z.nextEffect}while(null!==Z);Z=null;$f();X=e}else a.current=c;if(xj)xj=!1,yj=a,zj=b;else for(Z=d;null!==Z;)b=\nZ.nextEffect,Z.nextEffect=null,Z.flags&8&&(K=Z,K.sibling=null,K.stateNode=null),Z=b;d=a.pendingLanes;0===d&&(Ti=null);1===d?a===Ej?Dj++:(Dj=0,Ej=a):Dj=0;c=c.stateNode;if(Mf&&\"function\"===typeof Mf.onCommitFiberRoot)try{Mf.onCommitFiberRoot(Lf,c,void 0,64===(c.current.flags&64))}catch(va){}Mj(a,O());if(Qi)throw Qi=!1,a=Ri,Ri=null,a;if(0!==(X&8))return null;ig();return null}\nfunction ek(){for(;null!==Z;){var a=Z.alternate;Jj||null===Ij||(0!==(Z.flags&8)?dc(Z,Ij)&&(Jj=!0):13===Z.tag&&mj(a,Z)&&dc(Z,Ij)&&(Jj=!0));var b=Z.flags;0!==(b&256)&&Xi(a,Z);0===(b&512)||xj||(xj=!0,hg(97,function(){Oj();return null}));Z=Z.nextEffect}}function Oj(){if(90!==zj){var a=97<zj?97:zj;zj=90;return gg(a,fk)}return!1}function $i(a,b){Aj.push(b,a);xj||(xj=!0,hg(97,function(){Oj();return null}))}function Zi(a,b){Bj.push(b,a);xj||(xj=!0,hg(97,function(){Oj();return null}))}\nfunction fk(){if(null===yj)return!1;var a=yj;yj=null;if(0!==(X&48))throw Error(y(331));var b=X;X|=32;var c=Bj;Bj=[];for(var d=0;d<c.length;d+=2){var e=c[d],f=c[d+1],g=e.destroy;e.destroy=void 0;if(\"function\"===typeof g)try{g()}catch(k){if(null===f)throw Error(y(330));Wi(f,k)}}c=Aj;Aj=[];for(d=0;d<c.length;d+=2){e=c[d];f=c[d+1];try{var h=e.create;e.destroy=h()}catch(k){if(null===f)throw Error(y(330));Wi(f,k)}}for(h=a.current.firstEffect;null!==h;)a=h.nextEffect,h.nextEffect=null,h.flags&8&&(h.sibling=\nnull,h.stateNode=null),h=a;X=b;ig();return!0}function gk(a,b,c){b=Mi(c,b);b=Pi(a,b,1);Ag(a,b);b=Hg();a=Kj(a,1);null!==a&&($c(a,1,b),Mj(a,b))}\nfunction Wi(a,b){if(3===a.tag)gk(a,a,b);else for(var c=a.return;null!==c;){if(3===c.tag){gk(c,a,b);break}else if(1===c.tag){var d=c.stateNode;if(\"function\"===typeof c.type.getDerivedStateFromError||\"function\"===typeof d.componentDidCatch&&(null===Ti||!Ti.has(d))){a=Mi(b,a);var e=Si(c,a,1);Ag(c,e);e=Hg();c=Kj(c,1);if(null!==c)$c(c,1,e),Mj(c,e);else if(\"function\"===typeof d.componentDidCatch&&(null===Ti||!Ti.has(d)))try{d.componentDidCatch(b,a)}catch(f){}break}}c=c.return}}\nfunction Yj(a,b,c){var d=a.pingCache;null!==d&&d.delete(b);b=Hg();a.pingedLanes|=a.suspendedLanes&c;U===a&&(W&c)===c&&(4===V||3===V&&(W&62914560)===W&&500>O()-jj?Qj(a,0):uj|=c);Mj(a,b)}function lj(a,b){var c=a.stateNode;null!==c&&c.delete(b);b=0;0===b&&(b=a.mode,0===(b&2)?b=1:0===(b&4)?b=99===eg()?1:2:(0===Gj&&(Gj=tj),b=Yc(62914560&~Gj),0===b&&(b=4194304)));c=Hg();a=Kj(a,b);null!==a&&($c(a,b,c),Mj(a,c))}var ck;\nck=function(a,b,c){var d=b.lanes;if(null!==a)if(a.memoizedProps!==b.pendingProps||N.current)ug=!0;else if(0!==(c&d))ug=0!==(a.flags&16384)?!0:!1;else{ug=!1;switch(b.tag){case 3:ri(b);sh();break;case 5:gh(b);break;case 1:Ff(b.type)&&Jf(b);break;case 4:eh(b,b.stateNode.containerInfo);break;case 10:d=b.memoizedProps.value;var e=b.type._context;I(mg,e._currentValue);e._currentValue=d;break;case 13:if(null!==b.memoizedState){if(0!==(c&b.child.childLanes))return ti(a,b,c);I(P,P.current&1);b=hi(a,b,c);return null!==\nb?b.sibling:null}I(P,P.current&1);break;case 19:d=0!==(c&b.childLanes);if(0!==(a.flags&64)){if(d)return Ai(a,b,c);b.flags|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);I(P,P.current);if(d)break;else return null;case 23:case 24:return b.lanes=0,mi(a,b,c)}return hi(a,b,c)}else ug=!1;b.lanes=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);a=b.pendingProps;e=Ef(b,M.current);tg(b,c);e=Ch(null,b,d,a,e,c);b.flags|=1;if(\"object\"===\ntypeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;b.memoizedState=null;b.updateQueue=null;if(Ff(d)){var f=!0;Jf(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;xg(b);var g=d.getDerivedStateFromProps;\"function\"===typeof g&&Gg(b,d,g,a);e.updater=Kg;b.stateNode=e;e._reactInternals=b;Og(b,d,a,c);b=qi(null,b,d,!0,f,c)}else b.tag=0,fi(null,b,e,c),b=b.child;return b;case 16:e=b.elementType;a:{null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);\na=b.pendingProps;f=e._init;e=f(e._payload);b.type=e;f=b.tag=hk(e);a=lg(e,a);switch(f){case 0:b=li(null,b,e,a,c);break a;case 1:b=pi(null,b,e,a,c);break a;case 11:b=gi(null,b,e,a,c);break a;case 14:b=ii(null,b,e,lg(e.type,a),d,c);break a}throw Error(y(306,e,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),li(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),pi(a,b,d,e,c);case 3:ri(b);d=b.updateQueue;if(null===a||null===d)throw Error(y(282));\nd=b.pendingProps;e=b.memoizedState;e=null!==e?e.element:null;yg(a,b);Cg(b,d,null,c);d=b.memoizedState.element;if(d===e)sh(),b=hi(a,b,c);else{e=b.stateNode;if(f=e.hydrate)kh=rf(b.stateNode.containerInfo.firstChild),jh=b,f=lh=!0;if(f){a=e.mutableSourceEagerHydrationData;if(null!=a)for(e=0;e<a.length;e+=2)f=a[e],f._workInProgressVersionPrimary=a[e+1],th.push(f);c=Zg(b,null,d,c);for(b.child=c;c;)c.flags=c.flags&-3|1024,c=c.sibling}else fi(a,b,d,c),sh();b=b.child}return b;case 5:return gh(b),null===a&&\nph(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,nf(d,e)?g=null:null!==f&&nf(d,f)&&(b.flags|=16),oi(a,b),fi(a,b,g,c),b.child;case 6:return null===a&&ph(b),null;case 13:return ti(a,b,c);case 4:return eh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Yg(b,null,d,c):fi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),gi(a,b,d,e,c);case 7:return fi(a,b,b.pendingProps,c),b.child;case 8:return fi(a,b,b.pendingProps.children,\nc),b.child;case 12:return fi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;g=b.memoizedProps;f=e.value;var h=b.type._context;I(mg,h._currentValue);h._currentValue=f;if(null!==g)if(h=g.value,f=He(h,f)?0:(\"function\"===typeof d._calculateChangedBits?d._calculateChangedBits(h,f):1073741823)|0,0===f){if(g.children===e.children&&!N.current){b=hi(a,b,c);break a}}else for(h=b.child,null!==h&&(h.return=b);null!==h;){var k=h.dependencies;if(null!==k){g=h.child;for(var l=\nk.firstContext;null!==l;){if(l.context===d&&0!==(l.observedBits&f)){1===h.tag&&(l=zg(-1,c&-c),l.tag=2,Ag(h,l));h.lanes|=c;l=h.alternate;null!==l&&(l.lanes|=c);sg(h.return,c);k.lanes|=c;break}l=l.next}}else g=10===h.tag?h.type===b.type?null:h.child:h.child;if(null!==g)g.return=h;else for(g=h;null!==g;){if(g===b){g=null;break}h=g.sibling;if(null!==h){h.return=g.return;g=h;break}g=g.return}h=g}fi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,f=b.pendingProps,d=f.children,tg(b,c),e=vg(e,\nf.unstable_observedBits),d=d(e),b.flags|=1,fi(a,b,d,c),b.child;case 14:return e=b.type,f=lg(e,b.pendingProps),f=lg(e.type,f),ii(a,b,e,f,d,c);case 15:return ki(a,b,b.type,b.pendingProps,d,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2),b.tag=1,Ff(d)?(a=!0,Jf(b)):a=!1,tg(b,c),Mg(b,d,e),Og(b,d,e,c),qi(null,b,d,!0,a,c);case 19:return Ai(a,b,c);case 23:return mi(a,b,c);case 24:return mi(a,b,c)}throw Error(y(156,b.tag));\n};function ik(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.flags=0;this.lastEffect=this.firstEffect=this.nextEffect=null;this.childLanes=this.lanes=0;this.alternate=null}function nh(a,b,c,d){return new ik(a,b,c,d)}function ji(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction hk(a){if(\"function\"===typeof a)return ji(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Aa)return 11;if(a===Da)return 14}return 2}\nfunction Tg(a,b){var c=a.alternate;null===c?(c=nh(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.nextEffect=null,c.firstEffect=null,c.lastEffect=null);c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction Vg(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)ji(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ua:return Xg(c.children,e,f,b);case Ha:g=8;e|=16;break;case wa:g=8;e|=1;break;case xa:return a=nh(12,c,b,e|8),a.elementType=xa,a.type=xa,a.lanes=f,a;case Ba:return a=nh(13,c,b,e),a.type=Ba,a.elementType=Ba,a.lanes=f,a;case Ca:return a=nh(19,c,b,e),a.elementType=Ca,a.lanes=f,a;case Ia:return vi(c,e,f,b);case Ja:return a=nh(24,c,b,e),a.elementType=Ja,a.lanes=f,a;default:if(\"object\"===\ntypeof a&&null!==a)switch(a.$$typeof){case ya:g=10;break a;case za:g=9;break a;case Aa:g=11;break a;case Da:g=14;break a;case Ea:g=16;d=null;break a;case Fa:g=22;break a}throw Error(y(130,null==a?a:typeof a,\"\"));}b=nh(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Xg(a,b,c,d){a=nh(7,a,d,b);a.lanes=c;return a}function vi(a,b,c,d){a=nh(23,a,d,b);a.elementType=Ia;a.lanes=c;return a}function Ug(a,b,c){a=nh(6,a,null,b);a.lanes=c;return a}\nfunction Wg(a,b,c){b=nh(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction jk(a,b,c){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.pendingContext=this.context=null;this.hydrate=c;this.callbackNode=null;this.callbackPriority=0;this.eventTimes=Zc(0);this.expirationTimes=Zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=Zc(0);this.mutableSourceEagerHydrationData=null}\nfunction kk(a,b,c){var d=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:ta,key:null==d?null:\"\"+d,children:a,containerInfo:b,implementation:c}}\nfunction lk(a,b,c,d){var e=b.current,f=Hg(),g=Ig(e);a:if(c){c=c._reactInternals;b:{if(Zb(c)!==c||1!==c.tag)throw Error(y(170));var h=c;do{switch(h.tag){case 3:h=h.stateNode.context;break b;case 1:if(Ff(h.type)){h=h.stateNode.__reactInternalMemoizedMergedChildContext;break b}}h=h.return}while(null!==h);throw Error(y(171));}if(1===c.tag){var k=c.type;if(Ff(k)){c=If(c,k,h);break a}}c=h}else c=Cf;null===b.context?b.context=c:b.pendingContext=c;b=zg(f,g);b.payload={element:a};d=void 0===d?null:d;null!==\nd&&(b.callback=d);Ag(e,b);Jg(e,g,f);return g}function mk(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function nk(a,b){a=a.memoizedState;if(null!==a&&null!==a.dehydrated){var c=a.retryLane;a.retryLane=0!==c&&c<b?c:b}}function ok(a,b){nk(a,b);(a=a.alternate)&&nk(a,b)}function pk(){return null}\nfunction qk(a,b,c){var d=null!=c&&null!=c.hydrationOptions&&c.hydrationOptions.mutableSources||null;c=new jk(a,b,null!=c&&!0===c.hydrate);b=nh(3,null,null,2===b?7:1===b?3:0);c.current=b;b.stateNode=c;xg(b);a[ff]=c.current;cf(8===a.nodeType?a.parentNode:a);if(d)for(a=0;a<d.length;a++){b=d[a];var e=b._getVersion;e=e(b._source);null==c.mutableSourceEagerHydrationData?c.mutableSourceEagerHydrationData=[b,e]:c.mutableSourceEagerHydrationData.push(b,e)}this._internalRoot=c}\nqk.prototype.render=function(a){lk(a,this._internalRoot,null,null)};qk.prototype.unmount=function(){var a=this._internalRoot,b=a.containerInfo;lk(null,a,null,function(){b[ff]=null})};function rk(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==a.nodeType||\" react-mount-point-unstable \"!==a.nodeValue))}\nfunction sk(a,b){b||(b=a?9===a.nodeType?a.documentElement:a.firstChild:null,b=!(!b||1!==b.nodeType||!b.hasAttribute(\"data-reactroot\")));if(!b)for(var c;c=a.lastChild;)a.removeChild(c);return new qk(a,0,b?{hydrate:!0}:void 0)}\nfunction tk(a,b,c,d,e){var f=c._reactRootContainer;if(f){var g=f._internalRoot;if(\"function\"===typeof e){var h=e;e=function(){var a=mk(g);h.call(a)}}lk(b,g,a,e)}else{f=c._reactRootContainer=sk(c,d);g=f._internalRoot;if(\"function\"===typeof e){var k=e;e=function(){var a=mk(g);k.call(a)}}Xj(function(){lk(b,g,a,e)})}return mk(g)}ec=function(a){if(13===a.tag){var b=Hg();Jg(a,4,b);ok(a,4)}};fc=function(a){if(13===a.tag){var b=Hg();Jg(a,67108864,b);ok(a,67108864)}};\ngc=function(a){if(13===a.tag){var b=Hg(),c=Ig(a);Jg(a,c,b);ok(a,c)}};hc=function(a,b){return b()};\nyb=function(a,b,c){switch(b){case \"input\":ab(a,c);b=c.name;if(\"radio\"===c.type&&null!=b){for(c=a;c.parentNode;)c=c.parentNode;c=c.querySelectorAll(\"input[name=\"+JSON.stringify(\"\"+b)+'][type=\"radio\"]');for(b=0;b<c.length;b++){var d=c[b];if(d!==a&&d.form===a.form){var e=Db(d);if(!e)throw Error(y(90));Wa(d);ab(d,e)}}}break;case \"textarea\":ib(a,c);break;case \"select\":b=c.value,null!=b&&fb(a,!!c.multiple,b,!1)}};Gb=Wj;\nHb=function(a,b,c,d,e){var f=X;X|=4;try{return gg(98,a.bind(null,b,c,d,e))}finally{X=f,0===X&&(wj(),ig())}};Ib=function(){0===(X&49)&&(Vj(),Oj())};Jb=function(a,b){var c=X;X|=2;try{return a(b)}finally{X=c,0===X&&(wj(),ig())}};function uk(a,b){var c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!rk(b))throw Error(y(200));return kk(a,b,null,c)}var vk={Events:[Cb,ue,Db,Eb,Fb,Oj,{current:!1}]},wk={findFiberByHostInstance:wc,bundleType:0,version:\"17.0.1\",rendererPackageName:\"react-dom\"};\nvar xk={bundleType:wk.bundleType,version:wk.version,rendererPackageName:wk.rendererPackageName,rendererConfig:wk.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:ra.ReactCurrentDispatcher,findHostInstanceByFiber:function(a){a=cc(a);return null===a?null:a.stateNode},findFiberByHostInstance:wk.findFiberByHostInstance||\npk,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null};if(\"undefined\"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var yk=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!yk.isDisabled&&yk.supportsFiber)try{Lf=yk.inject(xk),Mf=yk}catch(a){}}exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=vk;exports.createPortal=uk;\nexports.findDOMNode=function(a){if(null==a)return null;if(1===a.nodeType)return a;var b=a._reactInternals;if(void 0===b){if(\"function\"===typeof a.render)throw Error(y(188));throw Error(y(268,Object.keys(a)));}a=cc(b);a=null===a?null:a.stateNode;return a};exports.flushSync=function(a,b){var c=X;if(0!==(c&48))return a(b);X|=1;try{if(a)return gg(99,a.bind(null,b))}finally{X=c,ig()}};exports.hydrate=function(a,b,c){if(!rk(b))throw Error(y(200));return tk(null,a,b,!0,c)};\nexports.render=function(a,b,c){if(!rk(b))throw Error(y(200));return tk(null,a,b,!1,c)};exports.unmountComponentAtNode=function(a){if(!rk(a))throw Error(y(40));return a._reactRootContainer?(Xj(function(){tk(null,null,a,!1,function(){a._reactRootContainer=null;a[ff]=null})}),!0):!1};exports.unstable_batchedUpdates=Wj;exports.unstable_createPortal=function(a,b){return uk(a,b,2<arguments.length&&void 0!==arguments[2]?arguments[2]:null)};\nexports.unstable_renderSubtreeIntoContainer=function(a,b,c,d){if(!rk(c))throw Error(y(200));if(null==a||void 0===a._reactInternals)throw Error(y(38));return tk(a,b,c,!1,d)};exports.version=\"17.0.1\";\n","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","/** @jsx jsx */\nimport { jsx } from '@emotion/core';\nimport React from 'react';\nimport { Builder } from '@builder.io/sdk';\nimport { BuilderBlock } from './builder-block.component';\n// TODO: fetch these for user and send them with same response like graphql\nimport { Size } from '../constants/device-sizes.constant';\nimport ReactDOM from 'react-dom';\nimport { BuilderStoreContext } from '../store/builder-store';\n\nexport interface BuilderBlocksProps {\n fieldName?: string;\n // TODO: block type (ElementType[])\n blocks?: any[] | React.ReactNode;\n child?: boolean;\n // TODO: use new react context for this to pass window size all the way down\n size?: Size;\n style?: React.CSSProperties;\n parentElementId?: string;\n parent?: any;\n dataPath?: string;\n className?: string;\n emailMode?: boolean;\n}\n\ninterface BuilderBlocksState {\n // width: number\n}\n\n// TODO: options to set direciotn\nexport class BuilderBlocks extends React.Component<BuilderBlocksProps, BuilderBlocksState> {\n get isRoot() {\n return !this.props.child;\n }\n\n get noBlocks() {\n const { blocks } = this.props;\n return !(blocks && (blocks as any).length); // TODO: allow react nodes\n }\n get path() {\n const pathPrefix = 'component.options.';\n let path = this.props.dataPath || '';\n const thisPrefix = 'this.';\n if (path.trim()) {\n if (path.startsWith(thisPrefix)) {\n path = path.replace(thisPrefix, '');\n } else if (!path.startsWith(pathPrefix)) {\n path = pathPrefix + path;\n }\n }\n return path;\n }\n\n get parentId() {\n if (this.props.parentElementId) {\n return this.props.parentElementId;\n }\n return this.props.parent && this.props.parent.id;\n }\n\n onClickEmptyBlocks = () => {\n if (Builder.isIframe && this.noBlocks) {\n window.parent?.postMessage(\n {\n type: 'builder.clickEmptyBlocks',\n data: {\n parentElementId: this.parentId,\n dataPath: this.path,\n },\n },\n '*'\n );\n }\n };\n onHoverEmptyBlocks = () => {\n if (Builder.isEditing && this.noBlocks) {\n window.parent?.postMessage(\n {\n type: 'builder.hoverEmptyBlocks',\n data: {\n parentElementId: this.parentId,\n dataPath: this.path,\n },\n },\n '*'\n );\n }\n };\n\n // <!-- Builder Blocks --> in comments hmm\n render() {\n const { blocks } = this.props;\n\n const TagName = this.props.emailMode ? 'span' : 'div';\n\n // TODO: how deep check this automatically for mobx... hmmm optional / peer dependency?\n return (\n // TODO: component <Stack direction=\"vertical\">\n // TODO: react.fragment instead?\n <TagName\n className={\n 'builder-blocks' +\n (this.noBlocks ? ' no-blocks' : '') +\n (this.props.child ? ' builder-blocks-child' : '') +\n (this.props.className ? ' ' + this.props.className : '')\n }\n builder-type=\"blocks\"\n // TODO: only fi in iframe?\n builder-path={Builder.isIframe ? this.path : undefined}\n builder-parent-id={this.parentId}\n css={\n {\n ...(!this.props.emailMode && {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'stretch',\n }),\n ...this.props.style,\n } as any\n }\n onClick={() => {\n if (this.noBlocks) {\n this.onClickEmptyBlocks();\n }\n }}\n {...(Builder.isEditing && {\n onMouseEnter: () => this.onHoverEmptyBlocks(),\n })}\n >\n {/* TODO: if is react node (for react compatibility) render it */}\n {/* TODO: maybe don't do this to preserve blocks always editable */}\n {(blocks &&\n Array.isArray(blocks) &&\n (blocks as any[]).map((block, index) =>\n block && block['@type'] === '@builder.io/sdk:Element' ? (\n <BuilderBlock\n key={block.id}\n block={block}\n index={index}\n fieldName={this.props.fieldName}\n child={this.props.child}\n emailMode={this.props.emailMode}\n />\n ) : (\n block\n )\n )) ||\n blocks}\n </TagName>\n );\n }\n\n static renderInto(\n elementOrSelector: string | HTMLElement,\n props: BuilderBlocksProps = {},\n builderState: any\n ) {\n if (!elementOrSelector) {\n return;\n }\n\n let element: Element | null = null;\n\n if (typeof elementOrSelector === 'string') {\n element = document.querySelector(elementOrSelector);\n } else {\n if (elementOrSelector instanceof Element) {\n element = elementOrSelector;\n }\n }\n return ReactDOM.render(\n <BuilderStoreContext.Provider value={builderState}>\n <BuilderBlocks {...props} />\n </BuilderStoreContext.Provider>,\n element\n );\n }\n}\n","import React from 'react';\n\nexport const NoWrap = (props: React.ComponentPropsWithoutRef<any>) => props.children;\n","import * as React from 'react';\nimport { builder, Builder, BuilderContent, BuilderContentVariation } from '@builder.io/sdk';\n\nfunction getData(content: BuilderContentVariation) {\n if (typeof content?.data === 'undefined') {\n return undefined;\n }\n\n const { blocks, blocksString } = content.data;\n const hasBlocks = Array.isArray(blocks) || typeof blocksString === 'string';\n const newData: any = {\n ...content.data,\n ...(hasBlocks && { blocks: blocks || JSON.parse(blocksString) }),\n };\n\n delete newData.blocksString;\n return newData;\n}\n\nconst variantsScript = (variantsString: string, contentId: string) =>\n `\n(function() {\n if (window.builderNoTrack || !navigator.cookieEnabled) {\n return;\n }\n\n var variants = ${variantsString};\n function removeVariants() {\n variants.forEach(function (template) {\n document.querySelector('template[data-template-variant-id=\"' + template.id + '\"]').remove();\n });\n document.getElementById('variants-script-${contentId}').remove();\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.${contentId}';\n var variantInCookie = getCookie(cookieName);\n var availableIDs = variants.map(function(vr) { return vr.id }).concat('${contentId}');\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 = \"${contentId}\";\n setCookie(cookieName, \"${contentId}\");\n }\n }\n if (variantId && variantId !== \"${contentId}\") {\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, ' ');\n\ninterface VariantsProviderProps {\n initialContent: BuilderContent;\n children: (variants: BuilderContent[], renderScript?: () => JSX.Element) => JSX.Element;\n}\n\nexport const VariantsProvider: React.SFC<VariantsProviderProps> = ({\n initialContent,\n children,\n}) => {\n if (Builder.isBrowser && !builder.canTrack) {\n return children([initialContent]);\n }\n\n const hasTests = Boolean(Object.keys(initialContent?.variations || {}).length);\n\n if (!hasTests) return children([initialContent]);\n\n const variants: BuilderContent[] = Object.keys(initialContent.variations!).map(id => ({\n id,\n ...initialContent.variations![id],\n data: getData(initialContent.variations![id]!),\n }));\n\n const allVariants = [...variants, initialContent];\n if (Builder.isServer) {\n const variantsJson = JSON.stringify(\n Object.keys(initialContent.variations || {}).map(item => ({\n id: item,\n testRatio: initialContent.variations![item]!.testRatio,\n }))\n );\n const renderScript = () => (\n <script\n id={`variants-script-${initialContent.id}`}\n dangerouslySetInnerHTML={{\n __html: variantsScript(variantsJson, initialContent.id!),\n }}\n ></script>\n );\n\n // render all variants on the server side\n return <React.Fragment>{children(allVariants, renderScript)}</React.Fragment>;\n }\n\n const cookieName = `builder.tests.${initialContent.id}`;\n\n let variantId = builder.getCookie(cookieName);\n\n if (!variantId && Builder.isBrowser) {\n let n = 0;\n const random = Math.random();\n for (let i = 0; i < variants.length; i++) {\n const variant = variants[i];\n const testRatio = variant.testRatio;\n n += testRatio!;\n if (random < n) {\n builder.setCookie(cookieName, variant.id);\n variantId = variant.id;\n break;\n }\n }\n }\n\n if (!variantId) {\n // render initial content when no winning variation or on the server\n variantId = initialContent.id;\n builder.setCookie(cookieName, variantId);\n }\n\n return children([allVariants.find(item => item.id === variantId)!]);\n};\n","import React from 'react';\nimport {\n builder,\n Subscription,\n GetContentOptions,\n Builder,\n BuilderContent as Content,\n} from '@builder.io/sdk';\nimport { NoWrap } from './no-wrap';\nimport { applyPatchWithMinimalMutationChain } from '../functions/apply-patch-with-mutation';\nimport { VariantsProvider } from './variants-provider.component';\n\nexport type BuilderContentProps<ContentType> = {\n /**\n * Callback to run when content is fetched and loaded.\n */\n contentLoaded?: (data: any, content: any) => void;\n /**\n * Callback to run if an error occurred while fetching content.\n */\n contentError?: (error: any) => void;\n options?: GetContentOptions;\n children: (content: ContentType, loading?: boolean, fullData?: any) => React.ReactNode;\n /**\n * Only render what was explicitly passed in via `content` - don't fetch from\n * the Builder API.\n *\n * @see content\n */\n inline?: boolean;\n /**\n * @package\n * @deprecated\n */\n dataOnly?: boolean;\n /**\n * @package\n * Pass in a specific builder instance to use instead of the default\n * singleton.\n */\n builder?: Builder;\n /**\n * @deprecated and unnecessary\n */\n isStatic?: boolean;\n /**\n * Builder content object to use instead of fetching from the API.\n *\n * Required if `inline` is set to `true`.\n */\n content?: Content;\n} & ({ model: string } | { modelName: string }); // model and modelName are aliases of the same thing¸\n\n/**\n * When passed content json explicitly it'll calculate a/b tests on the content\n * and pass the winning variation down to the children function. If then content\n * prop was omitted it'll try to fetch matching content from your Builder\n * account based on the default user attributes and model.\n */\nexport class BuilderContent<ContentType extends object = any> extends React.Component<\n BuilderContentProps<ContentType>\n> {\n ref: HTMLDivElement | null = null;\n\n get builder() {\n return this.props.builder || builder;\n }\n get name() {\n const props = this.props;\n\n if ('model' in props) {\n return props.model;\n } else {\n return props.modelName;\n }\n }\n\n get renderedVariantId() {\n const id = this.props.isStatic\n ? this.builder.getCookie(`builder.tests.${this.data?.id}`)\n : this.data?.variationId;\n if (id !== null) {\n return id;\n }\n }\n\n get options() {\n let options = {\n ...(this.props.options || ({} as GetContentOptions)),\n };\n if (!options.key && this.props.content?.id && !Builder.isEditing && !Builder.isPreviewing) {\n options.key = this.props.content.id;\n }\n if (\n this.props.content &&\n !options.initialContent?.length &&\n (this.props.inline || !Builder.isPreviewing)\n ) {\n options.initialContent = [this.props.content];\n }\n\n return options;\n }\n\n get data() {\n const content: Content =\n ((this.props.inline || !Builder.isBrowser || this.firstLoad) &&\n this.options.initialContent &&\n this.options.initialContent[0]) ||\n this.state.data;\n\n return getContentWithInfo(content);\n }\n\n state = {\n loading: !this.props.content,\n data: getContentWithInfo(this.props.content),\n updates: 1,\n };\n\n onWindowMessage = (event: MessageEvent) => {\n const message = event.data;\n if (!message) {\n return;\n }\n switch (message.type) {\n case 'builder.patchUpdates': {\n if (this.props.options?.noEditorUpdates) {\n return;\n }\n const { data } = message;\n if (!(data && data.data)) {\n break;\n }\n const patches = data.data[this.state.data?.id!];\n if (!(patches && patches.length)) {\n return;\n }\n\n if (location.href.includes('builder.debug=true')) {\n eval('debugger');\n }\n let newData = this.state.data as any;\n for (const patch of patches) {\n newData = applyPatchWithMinimalMutationChain(newData, patch, false);\n }\n this.setState({\n updates: this.state.updates + 1,\n data: newData,\n });\n if (this.props.contentLoaded) {\n this.props.contentLoaded(newData.data, newData);\n }\n break;\n }\n }\n };\n\n subscriptions = new Subscription();\n\n firstLoad = true;\n clicked = false;\n trackedImpression = false;\n\n intersectionObserver: IntersectionObserver | null = null;\n\n // TODO: observe model name for changes\n componentDidMount() {\n // Temporary to test metrics diving in with bigquery and heatmaps\n // this.builder.autoTrack = true;\n // this.builder.env = 'development';\n if (!this.props.inline || Builder.isEditing || Builder.isPreviewing) {\n this.subscribeToContent();\n } else if (this.props.inline && this.options?.initialContent?.length) {\n const contentData = this.options.initialContent[0];\n // TODO: intersectionobserver like in subscribetocontent - reuse the logic\n if (contentData?.id) {\n this.builder.trackImpression(contentData.id, this.renderedVariantId, undefined, {\n content: contentData,\n });\n }\n }\n\n if (Builder.isEditing) {\n addEventListener('message', this.onWindowMessage);\n }\n\n /// REACT15ONLY if (this.ref) { this.ref.setAttribute('builder-model', this.name); }\n }\n\n subscribeToContent() {\n if (this.name !== '_inline') {\n // TODO:... using targeting...? express.request hmmm\n this.subscriptions.add(\n builder.queueGetContent(this.name, this.options).subscribe(\n matches => {\n const match = matches && matches[0];\n this.setState({\n data: match,\n loading: false,\n });\n // when BuilderContent is wrapping a BuilderComponent of the same model, the BuilderComponent is passing initialContent on the same key\n // causing the sdk to resolve this call to the initialContent instead of the previewed/edited content\n // so we test here if the BuilderContent is being used directly ( not inlined ) and it has initial content ( content prop ), we let the first render go through to show the initial content\n // and we subscribe again to get the draft/editing content\n const isPreviewing = (builder.editingModel || builder.previewingModel) === this.name;\n if (!this.props.inline && this.props.content && this.firstLoad && isPreviewing) {\n this.firstLoad = false;\n this.subscriptions.unsubscribe();\n this.subscribeToContent();\n }\n\n if (match && this.firstLoad) {\n this.firstLoad = false;\n // TODO: autoTrack\n if (builder.autoTrack && !Builder.isEditing) {\n let addedObserver = false;\n if (typeof IntersectionObserver === 'function' && this.ref) {\n try {\n const observer = (this.intersectionObserver = new IntersectionObserver(\n (entries, observer) => {\n entries.forEach(entry => {\n // In view\n if (entry.intersectionRatio > 0 && !this.trackedImpression) {\n this.builder.trackImpression(\n match.id!,\n this.renderedVariantId,\n undefined,\n {\n content: this.data,\n }\n ),\n { content: this.data };\n this.trackedImpression = true;\n if (this.ref) {\n observer.unobserve(this.ref);\n }\n }\n });\n }\n ));\n\n observer.observe(this.ref);\n addedObserver = true;\n } catch (err) {\n console.warn('Could not bind intersection observer');\n }\n }\n if (!addedObserver) {\n this.trackedImpression = true;\n this.builder.trackImpression(match.id!, this.renderedVariantId, undefined, {\n content: match,\n });\n }\n }\n }\n if (this.props.contentLoaded) {\n this.props.contentLoaded(match && match.data, match);\n }\n },\n error => {\n if (this.props.contentError) {\n this.props.contentError(error);\n this.setState({\n loading: false,\n });\n }\n }\n )\n );\n }\n }\n\n componentWillUnmount() {\n if (Builder.isEditing) {\n removeEventListener('message', this.onWindowMessage);\n }\n\n this.subscriptions.unsubscribe();\n if (this.intersectionObserver && this.ref) {\n this.intersectionObserver.unobserve(this.ref);\n }\n }\n\n onClick = (reactEvent: React.MouseEvent<HTMLElement>) => {\n // TODO: viewport scrolling tracking for impression events\n const event = reactEvent.nativeEvent;\n\n const content = this.data;\n if (!content) {\n return;\n }\n if (builder.autoTrack) {\n this.builder.trackInteraction(content.id!, this.renderedVariantId, this.clicked, event, {\n content,\n });\n }\n if (!this.clicked) {\n this.clicked = true;\n }\n };\n\n render() {\n if (this.props.dataOnly) {\n return null;\n }\n const { loading } = this.state;\n\n const useData: any = this.data;\n const TagName = this.props.dataOnly ? NoWrap : 'div';\n return (\n <VariantsProvider initialContent={useData}>\n {(variants, renderScript) => {\n return (\n <React.Fragment>\n {variants.map((content, index) => {\n // default Variation is at the end, wrap the rest with template\n // TODO: IE11 don't support templates\n const Tag = index === variants.length - 1 ? React.Fragment : 'template';\n return (\n <React.Fragment key={String(content?.id! + index)}>\n {Tag !== 'template' && renderScript?.()}\n <Tag\n key={String(content?.id! + index)}\n {...(Tag === 'template' && {\n 'data-template-variant-id': content?.id,\n })}\n >\n <TagName\n {...(index === 0 &&\n !this.props.dataOnly && {\n ref: (ref: any) => (this.ref = ref),\n })}\n className=\"builder-content\"\n onClick={this.onClick}\n builder-content-id={content?.id}\n builder-model={this.name}\n >\n {this.props.children(\n content?.data! as any,\n this.props.inline ? false : loading,\n useData\n )}\n </TagName>\n </Tag>\n </React.Fragment>\n );\n })}\n </React.Fragment>\n );\n }}\n </VariantsProvider>\n );\n }\n}\n\nexport const getContentWithInfo = (content?: Content) => {\n if (content) {\n const cookieValue = builder.getCookie(`builder.tests.${content.id}`);\n const cookieVariation =\n cookieValue === content.id ? content : content.variations?.[cookieValue];\n const variationName =\n cookieVariation?.name || (cookieVariation?.id === content.id ? 'Default variation' : '');\n\n return {\n ...content,\n variationId: cookieValue,\n testVariationId: cookieValue,\n testVariationName: variationName,\n };\n }\n return null;\n};\n","// Via https://github.com/sindresorhus/on-change but\n// compiled for ES5\n\n'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\n('use strict');\nvar PATH_SEPARATOR = '.';\nvar TARGET = Symbol('target');\nvar UNSUBSCRIBE = Symbol('unsubscribe');\nvar isPrimitive = function (value) {\n return value === null || (typeof value !== 'object' && typeof value !== 'function');\n};\nvar isBuiltinWithoutMutableMethods = function (value) {\n return value instanceof RegExp || value instanceof Number;\n};\nvar isBuiltinWithMutableMethods = function (value) {\n return value instanceof Date;\n};\nvar concatPath = function (path, property) {\n if (property && property.toString) {\n if (path) {\n path += PATH_SEPARATOR;\n }\n path += property.toString();\n }\n return path;\n};\nvar walkPath = function (path, callback) {\n var index;\n while (path) {\n index = path.indexOf(PATH_SEPARATOR);\n if (index === -1) {\n index = path.length;\n }\n callback(path.slice(0, index));\n path = path.slice(index + 1);\n }\n};\nvar shallowClone = function (value) {\n if (Array.isArray(value)) {\n return value.slice();\n }\n return Object.assign({}, value);\n};\nvar onChange = function (object, onChange, options) {\n if (typeof Proxy === 'undefined') {\n // TODO: use immer? or a technique like immer to diff maybe\n return object;\n }\n if (options === void 0) {\n options = {};\n }\n var proxyTarget = Symbol('ProxyTarget');\n var inApply = false;\n var changed = false;\n var applyPath;\n var applyPrevious;\n var isUnsubscribed = false;\n var equals = options.equals || Object.is;\n var propCache = new WeakMap();\n var pathCache = new WeakMap();\n var proxyCache = new WeakMap();\n var handleChange = function (path, property, previous, value) {\n if (isUnsubscribed) {\n return;\n }\n if (!inApply) {\n onChange(concatPath(path, property), value, previous);\n return;\n }\n if (\n inApply &&\n applyPrevious &&\n previous !== undefined &&\n value !== undefined &&\n property !== 'length'\n ) {\n var item_1 = applyPrevious;\n if (path !== applyPath) {\n path = path.replace(applyPath, '').slice(1);\n walkPath(path, function (key) {\n item_1[key] = shallowClone(item_1[key]);\n item_1 = item_1[key];\n });\n }\n item_1[property] = previous;\n }\n changed = true;\n };\n var getOwnPropertyDescriptor = function (target, property) {\n var props = propCache ? propCache.get(target) : undefined;\n if (props) {\n return props;\n }\n props = new Map();\n propCache.set(target, props);\n var prop = props.get(property);\n if (!prop) {\n prop = Reflect.getOwnPropertyDescriptor(target, property);\n props.set(property, prop);\n }\n return prop;\n };\n var invalidateCachedDescriptor = function (target, property) {\n var props = propCache ? propCache.get(target) : undefined;\n if (props) {\n props.delete(property);\n }\n };\n var buildProxy = function (value, path) {\n if (isUnsubscribed) {\n return value;\n }\n pathCache.set(value, path);\n var proxy = proxyCache.get(value);\n if (proxy === undefined) {\n proxy = new Proxy(value, handler);\n proxyCache.set(value, proxy);\n }\n return proxy;\n };\n var unsubscribe = function (target) {\n isUnsubscribed = true;\n propCache = null;\n pathCache = null;\n proxyCache = null;\n return target;\n };\n var ignoreChange = function (property) {\n return isUnsubscribed || (options.ignoreSymbols === true && typeof property === 'symbol');\n };\n var handler = {\n get: function (target, property, receiver) {\n if (property === proxyTarget || property === TARGET) {\n return target;\n }\n if (property === UNSUBSCRIBE && pathCache.get(target) === '') {\n return unsubscribe(target);\n }\n var value = Reflect.get(target, property, receiver);\n if (\n isPrimitive(value) ||\n isBuiltinWithoutMutableMethods(value) ||\n property === 'constructor' ||\n options.isShallow === true\n ) {\n return value;\n }\n // Preserve invariants\n var descriptor = getOwnPropertyDescriptor(target, property);\n if (descriptor && !descriptor.configurable) {\n if (descriptor.set && !descriptor.get) {\n return undefined;\n }\n if (descriptor.writable === false) {\n return value;\n }\n }\n return buildProxy(value, concatPath(pathCache.get(target), property));\n },\n set: function (target, property, value, receiver) {\n if (value && value[proxyTarget] !== undefined) {\n value = value[proxyTarget];\n }\n var ignore = ignoreChange(property);\n var previous = ignore ? null : Reflect.get(target, property, receiver);\n var result = Reflect.set(target[proxyTarget] || target, property, value);\n if (!ignore && !equals(previous, value)) {\n handleChange(pathCache.get(target), property, previous, value);\n }\n return result;\n },\n defineProperty: function (target, property, descriptor) {\n var result = Reflect.defineProperty(target, property, descriptor);\n if (!ignoreChange(property)) {\n invalidateCachedDescriptor(target, property);\n handleChange(pathCache.get(target), property, undefined, descriptor.value);\n }\n return result;\n },\n deleteProperty: function (target, property) {\n if (!Reflect.has(target, property)) {\n return true;\n }\n var ignore = ignoreChange(property);\n var previous = ignore ? null : Reflect.get(target, property);\n var result = Reflect.deleteProperty(target, property);\n if (!ignore) {\n invalidateCachedDescriptor(target, property);\n handleChange(pathCache.get(target), property, previous);\n }\n return result;\n },\n apply: function (target, thisArg, argumentsList) {\n var compare = isBuiltinWithMutableMethods(thisArg);\n if (compare) {\n thisArg = thisArg[proxyTarget];\n }\n if (!inApply) {\n inApply = true;\n if (compare) {\n applyPrevious = thisArg.valueOf();\n }\n if (Array.isArray(thisArg) || toString.call(thisArg) === '[object Object]') {\n applyPrevious = shallowClone(thisArg[proxyTarget]);\n }\n applyPath = pathCache.get(target);\n applyPath = applyPath.slice(0, Math.max(applyPath.lastIndexOf(PATH_SEPARATOR), 0));\n var result = Reflect.apply(target, thisArg, argumentsList);\n inApply = false;\n if (changed || (compare && !equals(applyPrevious, thisArg.valueOf()))) {\n handleChange(applyPath, '', applyPrevious, thisArg[proxyTarget] || thisArg);\n applyPrevious = null;\n changed = false;\n }\n return result;\n }\n return Reflect.apply(target, thisArg, argumentsList);\n },\n };\n var proxy = buildProxy(object, '');\n onChange = onChange.bind(proxy);\n return proxy;\n};\nonChange.target = function (proxy) {\n return proxy[TARGET] || proxy;\n};\nonChange.unsubscribe = function (proxy) {\n return proxy[UNSUBSCRIBE] || proxy;\n};\nmodule.exports = onChange;\nexports.default = onChange;\n","import { Builder } from '@builder.io/sdk';\n\nconst nextTick = Builder.nextTick;\n\n// Plain function - e.g. const debounced = debounceNextTick(fn);\nexport function debounceNextTick(fn: (...args: any[]) => void): () => void;\n// Decorator - e.g. class Foo { @debounceNextTick myMethod() { ... } }\nexport function debounceNextTick(\n target: any,\n key: PropertyKey,\n descriptor: PropertyDescriptor\n): PropertyDescriptor;\nexport function debounceNextTick(\n target: object | ((...args: any[]) => void),\n key?: PropertyKey,\n descriptor?: PropertyDescriptor\n) {\n if (typeof key === 'undefined' && typeof target === 'function') {\n return debounceNextTickImpl(target as any);\n }\n return {\n configurable: true,\n enumerable: descriptor!.enumerable,\n get: function getter(): any {\n // Attach this function to the instance (not the class)\n Object.defineProperty(this, key!, {\n configurable: true,\n enumerable: descriptor!.enumerable,\n value: debounceNextTickImpl(descriptor!.value),\n });\n\n return (this as any)[key!];\n },\n } as PropertyDescriptor;\n}\n\nfunction debounceNextTickImpl(fn: (...args: any[]) => void) {\n let args: any[] | null = null;\n let context: any = null;\n\n return debounced;\n\n function debounced(this: any) {\n const previous = args;\n args = [].slice.call(arguments);\n context = this;\n if (previous !== null) return;\n nextTick(next);\n }\n\n function next() {\n fn.apply(context, args as any);\n args = null;\n context = null;\n }\n}\n","export function throttle(func: Function, wait: number, options: any = {}) {\n let context: any;\n let args: any;\n let result: any;\n let timeout = null as any;\n let previous = 0;\n const later = function () {\n previous = options.leading === false ? 0 : Date.now();\n timeout = null;\n result = func.apply(context, args);\n if (!timeout) context = args = null;\n };\n return function (this: any) {\n const now = Date.now();\n if (!previous && options.leading === false) previous = now;\n const remaining = wait - (now - previous);\n context = this;\n args = arguments;\n if (remaining <= 0 || remaining > wait) {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n previous = now;\n result = func.apply(context, args);\n if (!timeout) context = args = null;\n } else if (!timeout && options.trailing !== false) {\n timeout = setTimeout(later, remaining);\n }\n return result;\n };\n}\n","import React from 'react';\n\nexport const BuilderMetaContext = React.createContext({\n emailMode: false,\n ampMode: false,\n isServer: false,\n});\n","import { Builder } from '@builder.io/sdk';\nimport { safeDynamicRequire } from './safe-dynamic-require';\n\nexport const tryEval = (str?: string, data: any = {}, errors?: Error[]): any => {\n const value = str;\n if (!(typeof value === 'string' && value.trim())) {\n return;\n }\n const useReturn = !(value.includes(';') || value.includes(' return '));\n let fn: Function = () => {\n /* Intentionally empty */\n };\n try {\n if (Builder.isBrowser) {\n // tslint:disable-next-line:no-function-constructor-with-string-args\n // TODO: VM in node......\n fn = new Function(\n 'state',\n // TODO: remove the with () {} - make a page v3 that doesn't use this\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 (key === 'state') {\n return state;\n }\n return target[key]\n }\n });\n }\n with (rootState) {\n ${useReturn ? `return (${str});` : str};\n }`\n );\n }\n } catch (error: any) {\n if (Builder.isBrowser) {\n console.warn('Could not compile javascript', error);\n } else {\n // Add to req.options.errors to return to client\n }\n }\n try {\n if (Builder.isBrowser) {\n return fn(data || {});\n } else {\n // Below is a hack to get certain code to *only* load in the server build, to not screw with\n // browser bundler's like rollup and webpack. Our rollup plugin strips these comments only\n // for the server build\n // tslint:disable:comment-format\n const { VM } = safeDynamicRequire('vm2');\n return new VM({\n sandbox: {\n ...data,\n ...{ state: data },\n },\n // TODO: convert reutrn to module.exports on server\n }).run(value.replace(/(^|;)return /, '$1'));\n // tslint:enable:comment-format\n }\n } catch (error: any) {\n if (errors) {\n errors.push(error);\n }\n\n if (Builder.isBrowser) {\n console.warn('Builder custom code error:', error.message, 'in', str, error.stack);\n } else {\n if (process.env.DEBUG) {\n console.debug('Builder custom code error:', error.message, 'in', str, error.stack);\n }\n // Add to req.options.errors to return to client\n }\n }\n\n return;\n};\n","/**\n * Safe conversion to error type. Intended to be used in catch blocks where the\n * value is not guaranteed to be an error.\n *\n * @example\n * try {\n * throw new Error('Something went wrong')\n * }\n * catch (err: unknown) {\n * const error: Error = toError(err)\n * }\n */\nexport function toError(err: unknown): Error {\n if (err instanceof Error) return err;\n return new Error(String(err));\n}\n","import { BuilderElement } from '@builder.io/sdk';\n\nexport function getBuilderPixel(apiKey: string): BuilderElement {\n return {\n id: 'builder-pixel-' + Math.random().toString(36).split('.')[1],\n '@type': '@builder.io/sdk:Element',\n tagName: 'img',\n properties: {\n role: 'presentation',\n 'aria-hidden': 'true',\n src: `https://cdn.builder.io/api/v1/pixel?apiKey=${apiKey}`,\n },\n responsiveStyles: {\n large: {\n height: '0',\n width: '0',\n display: 'inline-block',\n opacity: '0',\n overflow: 'hidden',\n pointerEvents: 'none',\n },\n },\n };\n}\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { jsx, css } from '@emotion/core';\nimport { BuilderContent, getContentWithInfo } from './builder-content.component';\nimport { BuilderBlocks } from './builder-blocks.component';\nimport {\n Builder,\n GetContentOptions,\n builder,\n Subscription,\n BehaviorSubject,\n BuilderElement,\n BuilderContent as Content,\n} from '@builder.io/sdk';\nimport { BuilderStoreContext } from '../store/builder-store';\nimport hash from 'hash-sum';\nimport onChange from '../../lib/on-change';\n\nexport { onChange };\n\nimport { Breakpoints, getSizesForBreakpoints, Sizes } from '../constants/device-sizes.constant';\nimport {\n BuilderAsyncRequestsContext,\n RequestOrPromise,\n RequestInfo,\n isRequestInfo,\n} from '../store/builder-async-requests';\nimport { Url } from 'url';\nimport { debounceNextTick } from '../functions/debonce-next-tick';\nimport { throttle } from '../functions/throttle';\nimport { BuilderMetaContext } from '../store/builder-meta';\nimport { tryEval } from '../functions/try-eval';\nimport { toError } from '../to-error';\nimport { getBuilderPixel } from '../functions/get-builder-pixel';\n\nfunction pick<T, K extends keyof T>(obj: T, ...keys: K[]): Pick<T, K> {\n const ret: any = {};\n keys.forEach(key => {\n ret[key] = obj[key];\n });\n return ret;\n}\nfunction omit<T, K extends keyof T>(obj: T, ...keys: K[]): Omit<T, K> {\n const ret: any = { ...obj };\n keys.forEach(key => {\n delete ret[key];\n });\n return ret;\n}\n\nconst wrapComponent = (info: any) => {\n return (props: any) => {\n // TODO: convention for all of this, like builderTagProps={{ style: {} foo: 'bar' }}\n const Tag = props.builderTag || 'div';\n const inputNames = ['children'].concat(\n info.inputs?.map((item: any) => item.name as string) || []\n );\n\n const baseProps = omit(props, ...inputNames, 'attributes');\n const inputProps = props; // pick(props, ...inputNames);\n\n if (info.noWrap) {\n return <info.class attributes={baseProps} {...inputProps} />;\n }\n\n return (\n <Tag {...baseProps}>\n <info.class {...inputProps} />\n </Tag>\n );\n };\n};\n\nconst size = (thing: object) => Object.keys(thing).length;\n\nfunction debounce(func: Function, wait: number, immediate = false) {\n let timeout: any;\n return function (this: any) {\n const context = this;\n const args = arguments;\n clearTimeout(timeout);\n timeout = setTimeout(function () {\n timeout = null;\n if (!immediate) func.apply(context, args);\n }, wait);\n if (immediate && !timeout) func.apply(context, args);\n };\n}\n\nconst fontsLoaded = new Set();\n\nlet fetch: typeof globalThis['fetch'];\nif (globalThis.fetch) fetch = globalThis.fetch;\nfetch ??= require('node-fetch');\n\nconst sizeMap = {\n desktop: 'large',\n tablet: 'medium',\n mobile: 'small',\n};\n\nconst fetchCache: { [key: string]: any } = {};\n\nexport interface BuilderComponentProps {\n /**\n * @package\n * @deprecated use {@link model} instead.\n * @hidden\n */\n modelName?: string;\n /**\n * Name of the model this is rendering content for. Default is \"page\".\n */\n model?: string;\n /**\n * @package\n * @deprecated use {@link model} instead.\n * @hidden\n */\n name?: string;\n /**\n * Data is passed along as `state.*` to the component.\n * @see {@link https://github.com/BuilderIO/builder/tree/master/packages/react#passing-data-and-functions-down}\n *\n * @example\n * ```\n * <BuilderComponent\n * model=\"page\"\n * data={{\n * products: productsList,\n * myFunction: () => alert('Triggered!'),\n * foo: 'bar'\n * }} >\n * ```\n */\n data?: any;\n /**\n * Specific instance of Builder that should be used. You might use this for\n * server side rendering. It's generally not recommended except for very\n * advanced multi-tenant use cases.\n */\n builder?: Builder;\n /**\n * Content entry ID for this component to fetch client side\n */\n entry?: string;\n /**\n * @package\n *\n * Builder public API key.\n *\n * @see {@link builder.init()} for the preferred way of supplying your API key.\n */\n apiKey?: string;\n /**\n * @private\n * @hidden\n */\n codegen?: boolean;\n options?: GetContentOptions;\n /**\n * Function callback invoked with `data` and your content when it becomes\n * available.\n *\n * @see {@link https://github.com/BuilderIO/builder/tree/master/packages/react#passing-data-and-functions-down}\n */\n contentLoaded?: (data: any, content: Content) => void;\n /**\n * Instead of having Builder render a link for you with plain anchor\n * elements, use your own function. Useful when using Next.js, Gatsby, or\n * other client side routers' custom `<Link>` components.\n *\n * ## Notes\n *\n * This must be a function that returns JSX, not a component!\n *\n * ## Examples\n *\n * @see {@link https://github.com/BuilderIO/builder/blob/0f0bc1ca835335f99fc21efb20ff3c4836bc9f41/examples/next-js-builder-site/src/functions/render-link.tsx#L6}\n */\n renderLink?: (props: React.AnchorHTMLAttributes<any>) => React.ReactNode;\n /**\n * Callback to run if an error occurred while fetching content.\n */\n contentError?: (error: any) => void;\n /**\n * Manually specify what Builder content JSON object to render. @see {@link\n * https://github.com/BuilderIO/builder/tree/master/packages/react#passing-content-manually}\n */\n content?: Content;\n /**\n * @package\n * @hidden\n *\n * Location object that provides the current url, path, etc; for server side\n * rendering.\n */\n location?: Location | Url;\n /**\n * Callback to run when Builder state changes (e.g. state.foo = 'bar' in an\n * action)\n */\n onStateChange?: (newData: any) => void;\n /**\n * @package\n * @deprecated\n * @hidden\n */\n noAsync?: boolean;\n /**\n * @package\n * @hidden\n *\n * Flag to render email content (small differences in our render logic for\n * email support).\n */\n emailMode?: boolean;\n /**\n * @package\n * @hidden\n *\n * Flag to render amp content (small differences in our render logic for amp\n * support)\n */\n ampMode?: boolean;\n /**\n * @package\n * @hidden\n *\n * Render content in-line only (can't passed from the content prop) don't\n * fetch content from our API.\n */\n inlineContent?: boolean;\n /**\n * @package\n * @deprecated\n * @hidden\n */\n builderBlock?: BuilderElement;\n /**\n * @package\n * @deprecated\n * @hidden\n */\n dataOnly?: boolean;\n /**\n * @package\n * @deprecated\n * @hidden\n */\n hydrate?: boolean;\n /**\n * @package\n * @deprecated use {@link Builder.isStatic} instead\n * @hidden\n */\n isStatic?: boolean;\n /**\n * Object that will be available in actions and bindings.\n *\n * @see {@link https://github.com/BuilderIO/builder/tree/master/packages/react#passing-data-and-functions-down}\n */\n context?: any;\n /**\n * @deprecated\n * @hidden\n */\n url?: string;\n /**\n * @hidden\n * Set to true if this is not the root content component, for instance for symbols\n */\n isChild?: boolean;\n /**\n * Set to true to not call `event.stopPropagation()` in the editor to avoid\n * issues with client site routing triggering when editing in Builder, causing\n * navigation to other pages unintended\n */\n stopClickPropagationWhenEditing?: boolean;\n\n /**\n * Set to the current locale in your application if you want localized inputs to be auto-resolved, should match one of the locales keys in your space settings\n * Learn more about adding or removing locales [here](https://www.builder.io/c/docs/add-remove-locales)\n */\n locale?: string;\n}\n\nexport interface BuilderComponentState {\n state: any;\n update: (state: any) => any;\n updates: number;\n context: any;\n key: number;\n breakpoints?: Breakpoints;\n}\n\nfunction searchToObject(location: Location | Url) {\n const pairs = (location.search || '').substring(1).split('&');\n const obj: { [key: string]: string } = {};\n\n for (const i in pairs) {\n if (!(pairs[i] && typeof pairs[i] === 'string')) {\n continue;\n }\n const pair = pairs[i].split('=');\n obj[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1]);\n }\n\n return obj;\n}\n\n/**\n * Responsible for rendering Builder content of type: 'page' or 'section' to\n * react components. It will attempt to fetch content from the API based on\n * defined user attributes (URL path, device type, and any custom targeting you set using `builder.setUserAttributes`) unless a `BuilderContent`\n * object is provided to `props.content`\n *\n * Use it to mount content in desired location, enable editing in place when\n * previewed in the editor.\n *\n * Supports server-side-rendering when passed the content json as\n * `props.content`.\n */\nexport class BuilderComponent extends React.Component<\n BuilderComponentProps,\n BuilderComponentState\n> {\n static defaults: Pick<BuilderComponentProps, 'codegen'> = {\n codegen: Boolean(Builder.isBrowser && location.href.includes('builder.codegen=true')),\n };\n\n subscriptions: Subscription = new Subscription();\n // TODO: don't trigger initial one?\n onStateChange = new BehaviorSubject<any>(null);\n asServer = Builder.isServer;\n\n contentRef: BuilderContent | null = null;\n\n styleRef: HTMLStyleElement | null = null;\n\n rootState = Builder.isServer ? {} : onChange({}, () => this.updateState());\n\n lastJsCode = '';\n lastHttpRequests: { [key: string]: string | undefined } = {};\n httpSubscriptionPerKey: { [key: string]: Subscription | undefined } = {};\n firstLoad = true;\n ref: HTMLElement | null = null;\n\n Component: any;\n\n get options() {\n // TODO: for perf cache this\n return {\n ...BuilderComponent.defaults,\n ...this.props,\n };\n }\n\n get name(): string | undefined {\n return this.props.model || this.props.modelName || this.props.name; // || this.props.model\n }\n\n private _asyncRequests?: RequestOrPromise[];\n private _errors?: Error[];\n private _logs?: string[];\n private sizes: Sizes;\n\n get element() {\n return this.ref;\n }\n\n get inlinedContent() {\n if (this.isPreviewing && !this.props.inlineContent) {\n return undefined;\n }\n return this.props.content;\n }\n\n constructor(props: BuilderComponentProps) {\n super(props);\n\n let _content: any = this.inlinedContent;\n if (_content && _content.content) {\n _content = _content.content;\n }\n\n this.sizes = getSizesForBreakpoints(_content?.meta?.breakpoints || {});\n\n // TODO: pass this all the way down - symbols, etc\n // this.asServer = Boolean(props.hydrate && Builder.isBrowser)\n\n this.state = {\n // TODO: should change if this prop changes\n context: {\n ...props.context,\n apiKey: builder.apiKey || this.props.apiKey,\n },\n state: Object.assign(this.rootState, {\n ...(this.inlinedContent && this.inlinedContent.data && this.inlinedContent.data.state),\n isBrowser: Builder.isBrowser, // !this.asServer,\n isServer: !Builder.isBrowser, // this.asServer,\n _hydrate: props.hydrate,\n location: this.locationState,\n deviceSize: this.deviceSizeState,\n // TODO: will user attributes be ready here?\n device: this.device,\n ...this.getHtmlData(),\n ...props.data,\n }),\n updates: 0,\n key: 0,\n update: this.updateState,\n };\n\n if (Builder.isBrowser) {\n const key = this.props.apiKey;\n if (key && key !== this.builder.apiKey) {\n this.builder.apiKey = key;\n }\n\n if (this.inlinedContent) {\n // Sometimes with graphql we get the content as `content.content`\n const content = (this.inlinedContent as any).content || this.inlinedContent;\n this.onContentLoaded(content?.data, getContentWithInfo(content)!);\n }\n }\n }\n\n get builder() {\n return this.props.builder || builder;\n }\n\n getHtmlData() {\n const id = (this.inlinedContent && this.inlinedContent.id) || this.props.entry;\n const script =\n id &&\n Builder.isBrowser &&\n document.querySelector(\n `script[data-builder-json=\"${id}\"],script[data-builder-state=\"${id}\"]`\n );\n if (script) {\n try {\n const json = JSON.parse((script as HTMLElement).innerText);\n return json;\n } catch (err) {\n console.warn(\n 'Could not parse Builder.io HTML data transfer',\n err,\n (script as HTMLElement).innerText\n );\n }\n }\n return {};\n }\n\n // TODO: pass down with context\n get device() {\n return this.builder.getUserAttributes().device || 'desktop';\n }\n\n get locationState() {\n return {\n // TODO: handle this correctly on the server. Pass in with CONTEXT\n ...pick(this.location, 'pathname', 'hostname', 'search', 'host'),\n path: (this.location.pathname && this.location.pathname.split('/').slice(1)) || '',\n query: searchToObject(this.location),\n };\n }\n\n // TODO: trigger state change on screen size change\n get deviceSizeState() {\n // TODO: use context to pass this down on server\n return Builder.isBrowser\n ? this.sizes.getSizeForWidth(window.innerWidth)\n : sizeMap[this.device] || 'large';\n }\n\n messageListener = (event: MessageEvent) => {\n const info = event.data;\n switch (info.type) {\n case 'builder.configureSdk': {\n const data = info.data;\n\n if (!data.contentId || data.contentId !== this.useContent?.id) {\n return;\n }\n\n this.sizes = getSizesForBreakpoints(data.breakpoints || {});\n\n this.setState({\n state: Object.assign(this.rootState, {\n deviceSize: this.deviceSizeState,\n // TODO: will user attributes be ready here?\n device: this.device,\n }),\n updates: ((this.state && this.state.updates) || 0) + 1,\n breakpoints: data.breakpoints,\n });\n\n break;\n }\n\n case 'builder.updateSpacer': {\n const data = info.data;\n const currentSpacer = this.rootState._spacer;\n this.updateState(state => {\n state._spacer = data;\n });\n break;\n }\n case 'builder.resetState': {\n const { state, model } = info.data;\n if (model === this.name) {\n for (const key in this.rootState) {\n // TODO: support nested functions (somehow)\n if (typeof this.rootState[key] !== 'function') {\n delete this.rootState[key];\n }\n }\n Object.assign(this.rootState, state);\n this.setState({\n ...this.state,\n state: this.rootState,\n updates: ((this.state && this.state.updates) || 0) + 1,\n });\n }\n break;\n }\n case 'builder.resetSymbolState': {\n const { state, model, id } = info.data.state;\n if (this.props.builderBlock && this.props.builderBlock === id) {\n for (const key in this.rootState) {\n delete this.rootState[key];\n }\n Object.assign(this.rootState, state);\n this.setState({\n ...this.state,\n state: this.rootState,\n updates: ((this.state && this.state.updates) || 0) + 1,\n });\n }\n break;\n }\n }\n };\n\n resizeFn = () => {\n const deviceSize = this.deviceSizeState;\n if (deviceSize !== this.state.state.deviceSize) {\n this.setState({\n ...this.state,\n updates: ((this.state && this.state.updates) || 0) + 1,\n state: Object.assign(this.rootState, {\n ...this.state.state,\n deviceSize,\n }),\n });\n }\n };\n\n resizeListener = Builder.isEditing ? throttle(this.resizeFn, 200) : debounce(this.resizeFn, 400);\n\n static renderInto(\n elementOrSelector: string | HTMLElement,\n props: BuilderComponentProps = {},\n hydrate = true,\n fresh = false\n ) {\n console.debug('BuilderPage.renderInto', elementOrSelector, props, hydrate, this);\n\n if (!elementOrSelector) {\n return;\n }\n\n let element: Element | null = null;\n\n if (typeof elementOrSelector === 'string') {\n element = document.querySelector(elementOrSelector);\n } else {\n if (elementOrSelector instanceof Element) {\n element = elementOrSelector;\n }\n }\n\n if (!element) {\n return;\n }\n\n const exists = element.classList.contains('builder-hydrated');\n if (exists && !fresh) {\n console.debug('Tried to hydrate multiple times');\n return;\n }\n element.classList.add('builder-hydrated');\n\n let shouldHydrate = hydrate && element.innerHTML.includes('builder-block');\n\n if (!element.classList.contains('builder-component')) {\n // TODO: maybe remove any builder-api-styles...\n const apiStyles =\n element.querySelector('.builder-api-styles') ||\n (element.previousElementSibling &&\n element.previousElementSibling.matches('.builder-api-styles')\n ? element.previousElementSibling\n : null);\n let keepStyles = '';\n if (apiStyles) {\n const html = apiStyles.innerHTML;\n html.replace(\n /\\/\\*start:([^\\*]+?)\\*\\/([\\s\\S]*?)\\/\\*end:([^\\*]+?)\\*\\//g,\n (match, id, content) => {\n let el: HTMLElement | null = null;\n try {\n el = document.querySelector(`[data-emotion-css=\"${id}\"]`);\n } catch (err) {\n console.warn(err);\n }\n if (el) {\n el.innerHTML = content;\n } else if (!Builder.isEditing) {\n keepStyles += match;\n }\n\n return match;\n }\n );\n // NextTick? or longer timeout?\n Builder.nextTick(() => {\n apiStyles.innerHTML = keepStyles;\n });\n }\n const useElement = element.querySelector('.builder-component');\n if (useElement) {\n element = useElement;\n } else {\n shouldHydrate = false;\n }\n }\n\n if (location.search.includes('builder.debug=true')) {\n console.debug('hydrate', shouldHydrate, element);\n }\n\n let useEl = element;\n if (!exists) {\n const div = document.createElement('div');\n element.insertAdjacentElement('beforebegin', div);\n div.appendChild(element);\n useEl = div;\n }\n\n if (Builder.isEditing || (Builder.isBrowser && location.search.includes('builder.preview='))) {\n shouldHydrate = false;\n }\n if (shouldHydrate && element) {\n // TODO: maybe hydrate again. Maybe...\n const val = ReactDOM.render(\n <BuilderComponent {...props} />,\n useEl,\n (useEl as any).builderRootRef\n );\n (useEl as any).builderRootRef = val;\n return val;\n }\n const val = ReactDOM.render(\n <BuilderComponent {...props} />,\n useEl,\n (useEl as any).builderRootRef\n );\n (useEl as any).builderRootRef = val;\n return val;\n }\n\n mounted = false;\n\n componentDidMount() {\n this.mounted = true;\n if (this.asServer) {\n this.asServer = false;\n this.updateState(state => {\n state.isBrowser = true;\n state.isServer = false;\n });\n }\n\n if (Builder.isIframe) {\n window.parent?.postMessage(\n { type: 'builder.sdkInjected', data: { modelName: this.name } },\n '*'\n );\n }\n\n if (Builder.isBrowser) {\n // TODO: remove event on unload\n window.addEventListener('resize', this.resizeListener);\n if (Builder.isEditing) {\n window.addEventListener('message', this.messageListener);\n }\n\n if (Builder.isEditing || Builder.isPreviewing) {\n Builder.nextTick(() => {\n this.firstLoad = false;\n this.reload();\n });\n }\n\n setTimeout(() => {\n window.dispatchEvent(\n new CustomEvent('builder:component:load', {\n detail: {\n ref: this,\n },\n })\n );\n });\n }\n }\n\n updateState = (fn?: (state: any) => void) => {\n const state = this.rootState;\n if (fn) {\n fn(state);\n }\n if (this.mounted) {\n this.setState({\n update: this.updateState,\n state,\n updates: ((this.state && this.state.updates) || 0) + 1,\n });\n } else {\n this.state = {\n ...this.state,\n update: this.updateState,\n state,\n updates: ((this.state && this.state.updates) || 0) + 1,\n };\n }\n\n this.notifyStateChange();\n };\n\n get isPreviewing() {\n return (\n (Builder.isServer || (Builder.isBrowser && Builder.isPreviewing && !this.firstLoad)) &&\n builder.previewingModel === this.name\n );\n }\n\n @debounceNextTick\n notifyStateChange() {\n if (Builder.isServer) {\n return;\n }\n if (!(this && this.state)) {\n return;\n }\n const nextState = this.state.state;\n // TODO: only run the below once per tick...\n if (this.props.onStateChange) {\n this.props.onStateChange(nextState);\n }\n\n if (Builder.isBrowser) {\n window.dispatchEvent(\n new CustomEvent('builder:component:stateChange', {\n detail: {\n state: nextState,\n ref: this,\n },\n })\n );\n }\n this.onStateChange.next(nextState);\n }\n\n processStateFromApi(state: { [key: string]: any }) {\n return state; // mapValues(state, value => tryEval(value, this.data, this._errors))\n }\n\n get location() {\n return this.props.location || (Builder.isBrowser ? location : ({} as any));\n }\n\n getCssFromFont(font: any, data?: any) {\n // TODO: compute what font sizes are used and only load those.......\n const family = font.family + (font.kind && !font.kind.includes('#') ? ', ' + font.kind : '');\n const name = family.split(',')[0];\n const url = font.fileUrl ? font.fileUrl : font.files && font.files.regular;\n let str = '';\n if (url && family && name) {\n str += `\n@font-face {\n font-family: \"${family}\";\n src: local(\"${name}\"), url('${url}') format('woff2');\n font-display: fallback;\n font-weight: 400;\n}\n `.trim();\n }\n\n if (font.files) {\n for (const weight in font.files) {\n const isNumber = String(Number(weight)) === weight;\n if (!isNumber) {\n continue;\n }\n // TODO: maybe limit number loaded\n const weightUrl = font.files[weight];\n if (weightUrl && weightUrl !== url) {\n str += `\n@font-face {\n font-family: \"${family}\";\n src: url('${weightUrl}') format('woff2');\n font-display: fallback;\n font-weight: ${weight};\n}\n `.trim();\n }\n }\n }\n return str;\n }\n\n componentWillUnmount() {\n this.unsubscribe();\n if (Builder.isBrowser) {\n window.removeEventListener('resize', this.resizeListener);\n window.removeEventListener('message', this.messageListener);\n }\n }\n\n getFontCss(data?: any) {\n if (!this.builder.allowCustomFonts) {\n return '';\n }\n // TODO: separate internal data from external\n return (\n (data?.customFonts &&\n data.customFonts.length &&\n data.customFonts.map((font: any) => this.getCssFromFont(font, data)).join(' ')) ||\n ''\n );\n }\n\n ensureFontsLoaded(data?: any) {\n if (this.builder.allowCustomFonts && data?.customFonts && Array.isArray(data.customFonts)) {\n for (const font of data.customFonts) {\n const url = font.fileUrl ? font.fileUrl : font.files && font.files.regular;\n if (!fontsLoaded.has(url)) {\n const html = this.getCssFromFont(font, data);\n fontsLoaded.add(url);\n if (!html) {\n continue;\n }\n const style = document.createElement('style');\n style.className = 'builder-custom-font';\n style.setAttribute('data-builder-custom-font', url);\n style.innerHTML = html;\n document.head.appendChild(style);\n }\n }\n }\n }\n\n getCss(data?: any) {\n const contentId = this.useContent?.id;\n let cssCode = data?.cssCode || '';\n if (contentId) {\n // Allow using `&` in custom CSS code like @emotion\n // E.g. `& .foobar { ... }` to scope CSS\n // TODO: handle if '&' is within a string like `content: \"&\"`\n cssCode = cssCode.replace(/&/g, `.builder-component-${contentId}`);\n }\n\n return cssCode + this.getFontCss(data);\n }\n\n get data() {\n const data = {\n ...(this.inlinedContent && this.inlinedContent.data?.state),\n ...this.externalState,\n ...this.state.state,\n };\n Object.assign(this.rootState, data);\n return data;\n }\n\n componentDidUpdate(prevProps: BuilderComponentProps) {\n // TODO: shallow diff\n if (this.props.data && prevProps.data !== this.props.data) {\n this.state.update((state: any) => {\n Object.assign(state, this.externalState);\n });\n }\n\n if (Builder.isEditing) {\n if (this.inlinedContent && prevProps.content !== this.inlinedContent) {\n this.onContentLoaded(this.inlinedContent.data, this.inlinedContent);\n }\n }\n }\n\n // FIXME: workaround to issue with CSS extraction and then hydration\n // (might be preact only)\n checkStyles(data: any) {\n if (this.styleRef) {\n const css = this.getCss(data);\n if (this.styleRef.innerHTML !== css) {\n this.styleRef.innerHTML = css;\n }\n }\n }\n\n reload() {\n this.setState({\n key: this.state.key + 1,\n });\n }\n\n get content() {\n let content = this.inlinedContent;\n if (content && (content as any).content) {\n // GraphQL workaround\n content = {\n ...content,\n data: (content as any).content,\n };\n }\n return content;\n }\n\n get externalState() {\n return {\n ...this.props.data,\n ...(this.props.locale ? { locale: this.props.locale } : {}),\n };\n }\n\n get useContent() {\n return this.content || this.state.context.builderContent;\n }\n\n render() {\n const content = this.content;\n\n const dataString =\n Builder.isBrowser &&\n this.externalState &&\n size(this.externalState) &&\n hash(this.externalState);\n let key = Builder.isEditing ? this.name : this.props.entry;\n if (key && !Builder.isEditing && dataString && dataString.length < 300) {\n key += ':' + dataString;\n }\n\n const WrapComponent = this.props.dataOnly ? React.Fragment : 'div';\n\n const contentId = this.useContent?.id;\n\n return (\n // TODO: data attributes for model, id, etc?\n <WrapComponent\n onClick={event => {\n // Prevent propagation from the root content component when editing to prevent issues\n // like client side routing triggering when links are clicked, unless this behavior is\n // disabled with the stopClickPropagationWhenEditing prop\n if (\n Builder.isEditing &&\n !this.props.isChild &&\n !this.props.stopClickPropagationWhenEditing\n ) {\n event.stopPropagation();\n }\n }}\n className={`builder-component ${contentId ? `builder-component-${contentId}` : ''}`}\n data-name={this.name}\n data-source=\"Rendered by Builder.io\"\n key={this.state.key}\n ref={ref => (this.ref = ref)}\n >\n <BuilderMetaContext.Consumer>\n {value => (\n <BuilderMetaContext.Provider\n value={\n typeof this.props.ampMode === 'boolean'\n ? {\n ...value,\n ampMode: this.props.ampMode,\n }\n : value\n }\n >\n <BuilderAsyncRequestsContext.Consumer>\n {value => {\n this._asyncRequests = value && value.requests;\n this._errors = value && value.errors;\n this._logs = value && value.logs;\n\n return (\n <BuilderContent\n isStatic={this.props.isStatic || Builder.isStatic}\n key={\n this.inlinedContent?.id ||\n ('content' in this.props && !this.isPreviewing\n ? 'null-content-prop'\n : 'no-content-prop')\n }\n builder={this.builder}\n ref={ref => (this.contentRef = ref)}\n // TODO: pass entry in\n contentLoaded={(data, content) => this.onContentLoaded(data, content)}\n options={{\n key,\n entry: this.props.entry,\n ...(content && { initialContent: [content] }),\n ...(!content &&\n 'content' in this.props &&\n !this.isPreviewing && { initialContent: [] }),\n ...(this.props.url && { url: this.props.url }),\n ...this.props.options,\n ...(this.props.locale ? { locale: this.props.locale } : {}),\n ...(this.options.codegen && {\n format: 'react',\n }),\n }}\n inline={\n this.props.inlineContent || (!this.isPreviewing && 'content' in this.props)\n }\n contentError={this.props.contentError}\n modelName={this.name || 'page'}\n >\n {(data, loading, fullData) => {\n if (this.props.dataOnly) {\n return null;\n }\n if (fullData && fullData.id) {\n if (this.state.breakpoints) {\n fullData.meta = fullData.meta || {};\n fullData.meta.breakpoints = this.state.breakpoints;\n }\n this.state.context.builderContent = fullData;\n }\n if (Builder.isBrowser) {\n Builder.nextTick(() => {\n this.checkStyles(data);\n });\n }\n\n const { codegen } = this.options;\n\n if (codegen && !this.Component && data?.blocksJs) {\n const builderComponentNames: string[] = Array.from(\n new Set(Builder.components.map((item: any) => item.name))\n );\n const reversedcomponents = Builder.components.slice().reverse();\n\n const builderComponents = builderComponentNames.map(name =>\n reversedcomponents.find((item: any) => item.class && item.name === name)\n );\n\n const useBuilderState = (initialState: any) => {\n const [, setTick] = React.useState(0);\n const [state] = React.useState(() =>\n onChange(initialState, function () {\n setTick(tick => tick + 1);\n })\n );\n\n return state;\n };\n\n const mappedComponentNames = builderComponentNames.map(name =>\n (name || '').replace(/[^\\w]+/gi, '')\n );\n\n const finalizedComponents = builderComponents.map(info =>\n wrapComponent(info)\n );\n\n this.Component = new Function(\n 'jsx',\n '_css',\n 'Builder',\n 'builder',\n 'React',\n 'useBuilderState',\n ...mappedComponentNames,\n data.blocksJs\n )(\n jsx,\n css,\n Builder,\n builder,\n React,\n useBuilderState,\n ...finalizedComponents\n );\n }\n\n const blocks = data?.blocks || [];\n\n const hasPixel = blocks.find((block: BuilderElement) =>\n block.id?.startsWith('builder-pixel')\n );\n\n if (data && !hasPixel && blocks.length > 0) {\n blocks.push(getBuilderPixel(builder.apiKey!));\n }\n\n // TODO: loading option - maybe that is what the children is or component prop\n // TODO: get rid of all these wrapper divs\n return data ? (\n <div\n data-builder-component={this.name}\n data-builder-content-id={fullData.id}\n {...(this.isPreviewing\n ? {\n 'data-builder-variation-id':\n fullData.testVariationId || fullData.variationId || fullData.id,\n }\n : {})}\n >\n {!codegen && this.getCss(data) && (\n <style\n ref={ref => (this.styleRef = ref)}\n className=\"builder-custom-styles\"\n dangerouslySetInnerHTML={{\n __html: this.getCss(data),\n }}\n />\n )}\n <BuilderStoreContext.Provider\n value={{\n ...this.state,\n rootState: this.rootState,\n state: this.data,\n content: fullData,\n renderLink: this.props.renderLink,\n }}\n >\n {codegen && this.Component ? (\n <this.Component data={this.data} context={this.state.context} />\n ) : (\n <BuilderBlocks\n key={String(!!data?.blocks?.length)}\n emailMode={this.props.emailMode}\n fieldName=\"blocks\"\n blocks={blocks}\n />\n )}\n </BuilderStoreContext.Provider>\n </div>\n ) : loading ? (\n <div data-builder-component={this.name} className=\"builder-loading\">\n {this.props.children}\n </div>\n ) : (\n <div data-builder-component={this.name} className=\"builder-no-content\" />\n );\n }}\n </BuilderContent>\n );\n }}\n </BuilderAsyncRequestsContext.Consumer>\n </BuilderMetaContext.Provider>\n )}\n </BuilderMetaContext.Consumer>\n </WrapComponent>\n );\n }\n\n evalExpression(expression: string) {\n const { data } = this;\n return String(expression).replace(/{{([^}]+)}}/g, (match, group) =>\n tryEval(group, data, this._errors)\n );\n }\n\n async handleRequest(propertyName: string, url: string) {\n // TODO: Builder.isEditing = just checks if iframe and parent page is this.builder.io or localhost:1234\n if (Builder.isIframe && fetchCache[url]) {\n this.updateState(ctx => {\n ctx[propertyName] = fetchCache[url];\n });\n return fetchCache[url];\n }\n const request = async () => {\n const requestStart = Date.now();\n if (!Builder.isBrowser) {\n console.time('Fetch ' + url);\n }\n let json: any;\n try {\n const result = await fetch(url);\n json = await result.json();\n } catch (err) {\n const error = toError(err);\n if (this._errors) {\n this._errors.push(error);\n }\n if (this._logs) {\n this._logs.push(`Fetch to ${url} errored in ${Date.now() - requestStart}ms`);\n }\n return;\n } finally {\n if (!Builder.isBrowser) {\n console.timeEnd('Fetch ' + url);\n if (this._logs) {\n this._logs.push(`Fetched ${url} in ${Date.now() - requestStart}ms`);\n }\n }\n }\n\n if (json) {\n if (Builder.isIframe) {\n fetchCache[url] = json;\n }\n // TODO: debounce next tick all of these when there are a bunch\n this.updateState(ctx => {\n ctx[propertyName] = json;\n });\n }\n\n return json;\n };\n const existing =\n this._asyncRequests &&\n (this._asyncRequests.find(\n req => isRequestInfo(req) && req.url === url\n ) as RequestInfo | null);\n if (existing) {\n const promise = existing.promise;\n promise.then(json => {\n if (json) {\n this.updateState(ctx => {\n ctx[propertyName] = json;\n });\n }\n });\n return promise;\n }\n const promise = request();\n Builder.nextTick(() => {\n if (this._asyncRequests) {\n this._asyncRequests.push(promise);\n }\n });\n return promise;\n }\n\n unsubscribe() {\n if (this.subscriptions) {\n this.subscriptions.unsubscribe();\n this.subscriptions = new Subscription();\n }\n }\n\n handleBuilderRequest(propertyName: string, optionsString: string) {\n const options = tryEval(optionsString, this.data, this._errors);\n // TODO: this will screw up for multiple bits of data\n if (this.subscriptions) {\n this.unsubscribe();\n }\n // TODO: don't unsubscribe and resubscribe every time data changes, will make a TON of requests if that's the case when editing...\n // I guess will be cached then\n if (options) {\n // TODO: unsubscribe on destroy\n this.subscriptions.add(\n this.builder.queueGetContent(options.model, options).subscribe(matches => {\n if (matches) {\n this.updateState(ctx => {\n ctx[propertyName] = matches;\n });\n }\n })\n );\n }\n }\n\n onContentLoaded = (data: any, content: Content) => {\n if (this.name === 'page' && Builder.isBrowser) {\n if (data) {\n const { title, pageTitle, description, pageDescription } = data;\n\n if (title || pageTitle) {\n document.title = title || pageTitle;\n }\n\n if (description || pageDescription) {\n let descriptionTag = document.querySelector('meta[name=\"description\"]');\n\n if (!descriptionTag) {\n descriptionTag = document.createElement('meta');\n descriptionTag.setAttribute('name', 'description');\n document.head.appendChild(descriptionTag);\n }\n\n descriptionTag.setAttribute('content', description || pageDescription);\n }\n }\n }\n\n if (Builder.isEditing) {\n this.notifyStateChange();\n }\n\n if (this.props.contentLoaded) {\n this.props.contentLoaded(data, content);\n }\n\n if (data && data.inputs && Array.isArray(data.inputs) && data.inputs.length) {\n if (!data.state) {\n data.state = {};\n }\n\n data.inputs.forEach((input: any) => {\n if (input) {\n if (\n input.name &&\n input.defaultValue !== undefined &&\n data.state[input.name] === undefined\n ) {\n data.state[input.name] = input.defaultValue;\n }\n }\n });\n }\n\n if (data && data.state) {\n const newState = {\n ...this.state,\n updates: ((this.state && this.state.updates) || 0) + 1,\n state: Object.assign(this.rootState, {\n ...this.state.state,\n location: this.locationState,\n deviceSize: this.deviceSizeState,\n device: this.device,\n ...data.state,\n ...this.externalState,\n }),\n };\n if (this.mounted) {\n this.setState(newState);\n } else {\n this.state = newState;\n }\n }\n\n // TODO: also throttle on edits maybe\n if (data && data.jsCode && Builder.isBrowser && !this.options.codegen) {\n // Don't rerun js code when editing and not changed\n let skip = false;\n if (Builder.isEditing) {\n if (this.lastJsCode === data.jsCode) {\n skip = true;\n } else {\n this.lastJsCode = data.jsCode;\n }\n }\n\n if (!skip) {\n const state = this.state.state;\n\n // TODO: real editing method\n try {\n const result = new Function(\n 'data',\n 'ref',\n 'state',\n 'update',\n 'element',\n 'Builder',\n 'builder',\n 'context',\n data.jsCode\n )(data, this, state, this.state.update, this.ref, Builder, builder, this.state.context);\n\n // TODO: allow exports = { } syntax?\n // TODO: do something with reuslt like view - methods, computed, actions, properties, template, etc etc\n } catch (err) {\n const error = toError(err);\n if (Builder.isBrowser) {\n console.warn(\n 'Builder custom code error:',\n error.message,\n 'in',\n data.jsCode,\n error.stack\n );\n } else {\n if (process.env.DEBUG) {\n console.debug(\n 'Builder custom code error:',\n error.message,\n 'in',\n data.jsCode,\n error.stack\n );\n }\n // Add to req.options.errors to return to client\n }\n }\n }\n }\n\n if (data && data.httpRequests /* || data.builderData @DEPRECATED */ && !this.props.noAsync) {\n // Don't rerun http requests when editing and not changed\n // No longer needed?\n let skip = false;\n\n if (!skip) {\n // TODO: another structure for this\n for (const key in data.httpRequests) {\n const url: string | undefined = data.httpRequests[key];\n if (url && (!this.data[key] || Builder.isEditing)) {\n if (Builder.isBrowser) {\n const finalUrl = this.evalExpression(url);\n if (Builder.isEditing && this.lastHttpRequests[key] === finalUrl) {\n continue;\n }\n this.lastHttpRequests[key] = finalUrl;\n const builderModelRe = /builder\\.io\\/api\\/v2\\/([^\\/\\?]+)/i;\n const builderModelMatch = url.match(builderModelRe);\n const model = builderModelMatch && builderModelMatch[1];\n this.handleRequest(key, finalUrl);\n const currentSubscription = this.httpSubscriptionPerKey[key];\n if (currentSubscription) {\n currentSubscription.unsubscribe();\n }\n\n // TODO: fix this\n const newSubscription = (this.httpSubscriptionPerKey[key] =\n this.onStateChange.subscribe(() => {\n const newUrl = this.evalExpression(url);\n if (newUrl !== finalUrl) {\n this.handleRequest(key, newUrl);\n this.lastHttpRequests[key] = newUrl;\n }\n }));\n this.subscriptions.add(newSubscription);\n } else {\n this.handleRequest(key, this.evalExpression(url));\n }\n }\n }\n }\n }\n };\n}\n","import { Builder, Component } from '@builder.io/sdk';\n\ninterface ReactComponent extends Component {}\n\nexport function BuilderBlock(options: ReactComponent) {\n options.type = 'react';\n\n return Builder.Component(options);\n}\n","import { Component, Builder } from '@builder.io/sdk';\n\n/**\n * Update metadata for a Builder component\n *\n * @param component Builder react component\n * @param fn Updater\n *\n * @example\n * updatMetadata(TextBlock, current => ({\n * ...current,\n * fields: [\n * ...curent.fields,\n * { name: 'myNewField', type: 'string' }\n * ]\n * }))\n */\nexport function updateMetadata(\n component: Function | string,\n fn: (currentMetadata: Component | null) => Component | void\n) {\n const match =\n Builder.components.find(item => {\n if (typeof component === 'string') {\n return item.name === component;\n } else {\n return item.class === item;\n }\n }) || null;\n\n const updated = fn(match);\n if (match && updated) {\n // re-registering the same component will replace it\n Builder.registerComponent(updated.class || match.class, updated);\n } else if (match && !updated) {\n // TODO: have a way to message to remove component\n } else if (!match && updated) {\n Builder.registerComponent(updated.class, updated);\n }\n}\n","import { Component } from '@builder.io/sdk';\nimport { BuilderBlock } from '../decorators/builder-block.decorator';\n\nexport function withBuilder(component: Function, options: Component) {\n BuilderBlock(options)(component as any);\n return component;\n}\n","import React from 'react';\nimport { BuilderElement } from '@builder.io/sdk';\nimport { BuilderBlock } from '../components/builder-block.component';\n\n/**\n * Higher order component for passing Builder.io children as React children\n *\n * @example\n * ```tsx\n *\n * const MyButton = props => <Button>\n * {children}\n * </Button>\n *\n * const ButtonWithBuilderChildren = withChildren(MyButton)\n *\n * Builder.registerComponent(ButtonWithBuilderChildren, {\n * name: 'MyButton',\n * defaultChildren: [\n * {\n * '@type': '@builder.io/sdk:Element'\n * }\n * ]\n * })\n * ```\n */\nexport const withChildren = <P extends object>(Component: React.ComponentType<P>) => {\n const HOC = React.forwardRef<any, React.PropsWithChildren<P> & { builderBlock?: BuilderElement }>(\n (props, ref) => {\n const children =\n props.children ||\n (props.builderBlock &&\n props.builderBlock.children &&\n props.builderBlock.children.map(child => <BuilderBlock key={child.id} block={child} />));\n\n return (\n <Component {...props} ref={ref}>\n {children}\n </Component>\n );\n }\n );\n\n (HOC as any).builderOptions = {\n canHaveChildren: true,\n };\n\n return HOC;\n};\n","import React from 'react';\nimport { BuilderElement } from '@builder.io/sdk';\nimport { BuilderBlock } from '../components/builder-block.component';\n\n/**\n * Higher order component for passing Builder.io styles and attributes directly\n * to the component child without wrapping\n *\n * Useful when you need styles etc applied directly to the component without a\n * wrapping element (e.g. div), and you are already forwarding all props and attributes\n * (e.g. <YourComponent {...props} />)\n *\n * 👉 Important: make sure you always add props.className,\n * even if you supply a className too\n *\n * @example\n * ```tsx\n *\n * const MyButton = props => <Button\n * {...props}\n * className={'my-button ' + (props.className || '')}>\n * Hello there!\n * </Button>\n *\n * const ButtonWithBuilderChildren = noWrap(MyButton)\n *\n * Builder.registerComponent(ButtonWithBuilderChildren, {\n * name: 'MyButton',\n * })\n * ```\n */\nexport const noWrap = <P extends object>(Component: React.ComponentType<P>) => {\n const HOC = React.forwardRef((props: React.PropsWithChildren<P> & { attributes?: any }, ref) => {\n const finalProps = {\n ...props,\n ...props.attributes,\n };\n return <Component {...finalProps} ref={ref} />;\n });\n (HOC as any).builderOptions = {\n noWrap: true,\n };\n\n return HOC;\n};\n","/** @jsx jsx */\nimport { jsx, InterpolationWithTheme } from '@emotion/core';\nimport React from 'react';\nimport { Builder, BuilderElement } from '@builder.io/sdk';\nimport { withBuilder } from '../functions/with-builder';\nimport { BuilderStoreContext } from '../store/builder-store';\nimport { tryEval } from '../functions/try-eval';\n\nconst iconUrl =\n 'https://firebasestorage.googleapis.com/v0/b/builder-3b0a2.appspot.com/o/images%2Fbaseline-text_fields-24px%20(1).svg?alt=media&token=12177b73-0ee3-42ca-98c6-0dd003de1929';\n\nexport interface TextProps {\n text: string;\n builderBlock?: BuilderElement;\n}\n\nclass TextComponent extends React.Component<TextProps> {\n textRef: HTMLSpanElement | null = null;\n\n componentDidUpdate(prevProps: TextProps) {\n if (!this.allowTextEdit) {\n return;\n }\n if (\n this.textRef &&\n !(this.textRef.contentEditable === 'true' && this.textRef === document.activeElement)\n ) {\n if (this.props.text !== prevProps.text) {\n this.textRef.innerHTML = this.props.text;\n }\n }\n }\n\n componentDidMount() {\n if (this.textRef) {\n this.textRef.innerHTML = this.props.text;\n }\n }\n\n evalExpression(expression: string, state: any) {\n return String(expression).replace(/{{([^}]+)}}/g, (match, group) => tryEval(group, state));\n }\n\n get allowTextEdit() {\n return (\n Builder.isBrowser &&\n Builder.isEditing &&\n location.search.includes('builder.allowTextEdit=true') &&\n !(\n this.props.builderBlock &&\n this.props.builderBlock.bindings &&\n (this.props.builderBlock.bindings['component.options.text'] ||\n this.props.builderBlock.bindings['options.text'] ||\n this.props.builderBlock.bindings['text'])\n )\n );\n }\n\n render() {\n const allowEditingText = this.allowTextEdit;\n\n const textCSS: InterpolationWithTheme<any> = {\n outline: 'none',\n '& p:first-of-type, & .builder-paragraph:first-of-type': {\n margin: 0,\n },\n '& > p, & .builder-paragraph': {\n color: 'inherit',\n lineHeight: 'inherit',\n letterSpacing: 'inherit',\n fontWeight: 'inherit',\n fontSize: 'inherit',\n textAlign: 'inherit',\n fontFamily: 'inherit',\n },\n };\n\n return (\n <BuilderStoreContext.Consumer>\n {state => {\n if (state.content.meta?.rtlMode) {\n textCSS.direction = 'rtl';\n }\n\n return (\n <React.Fragment>\n {/* TODO: <BuilderEditableText component that wraps this for other components with text */}\n <span\n ref={ref => {\n this.textRef = ref;\n }}\n contentEditable={allowEditingText || undefined}\n onInput={e => {\n if (allowEditingText) {\n window.parent?.postMessage(\n {\n type: 'builder.textEdited',\n data: {\n id: this.props.builderBlock && this.props.builderBlock.id,\n value: e.currentTarget.innerHTML,\n },\n },\n '*'\n );\n }\n }}\n onKeyDown={e => {\n if (\n allowEditingText &&\n this.textRef &&\n e.which === 27 &&\n document.activeElement === this.textRef\n ) {\n this.textRef.blur();\n }\n }}\n onFocus={e => {\n if (allowEditingText) {\n window.parent?.postMessage(\n {\n type: 'builder.textFocused',\n data: {\n id: this.props.builderBlock && this.props.builderBlock.id,\n },\n },\n '*'\n );\n }\n }}\n onBlur={e => {\n if (allowEditingText) {\n window.parent?.postMessage(\n {\n type: 'builder.textBlurred',\n data: {\n id: this.props.builderBlock && this.props.builderBlock.id,\n },\n },\n '*'\n );\n }\n }}\n css={textCSS}\n className=\"builder-text\"\n {...(!allowEditingText && {\n dangerouslySetInnerHTML: {\n __html: this.evalExpression(\n this.props.text || (this.props as any).content || '',\n state.state\n ),\n },\n })}\n />\n </React.Fragment>\n );\n }}\n </BuilderStoreContext.Consumer>\n );\n }\n}\n\nexport const Text = withBuilder(TextComponent, {\n name: 'Text',\n static: true,\n image: iconUrl,\n inputs: [\n {\n name: 'text',\n type: 'html',\n required: true,\n autoFocus: true,\n bubble: true,\n defaultValue: 'Enter some text...',\n },\n ],\n // Maybe optionally a function that takes in some params like block vs absolute, etc\n defaultStyles: {\n lineHeight: 'normal',\n height: 'auto',\n textAlign: 'center',\n },\n});\n","/** @jsx jsx */\nimport { jsx } from '@emotion/core';\nimport React, { useContext } from 'react';\nimport { Builder } from '@builder.io/sdk';\nimport { BuilderBlocks } from '../components/builder-blocks.component';\nimport { BuilderStoreContext } from '../store/builder-store';\n\nBuilder.registerComponent(Slot, {\n name: 'Slot',\n description: 'Allow child blocks to be inserted into this content when used as a Symbol',\n docsLink: 'https://www.builder.io/c/docs/symbols-with-blocks',\n image:\n 'https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F3aad6de36eae43b59b52c85190fdef56',\n\n // Maybe wrap this for canHaveChildren so bind children to this hm\n inputs: [{ name: 'name', type: 'string', required: true, defaultValue: 'children' }],\n});\n\ntype DropzoneProps = {\n name: string;\n};\n\nexport function Slot(props: DropzoneProps) {\n const { name } = props;\n const context = useContext(BuilderStoreContext);\n\n const isEditingThisSlot = !context.context.symbolId;\n\n return (\n <div\n css={{\n pointerEvents: 'auto',\n }}\n {...(isEditingThisSlot && {\n 'builder-slot': name,\n })}\n >\n <BuilderBlocks\n child\n parentElementId={context.context.symbolId}\n dataPath={`symbol.data.${name}`}\n blocks={context.state[name] || []}\n />\n </div>\n );\n}\n","import React from 'react';\nimport { BuilderElement } from '@builder.io/sdk';\nimport { withBuilder } from '../functions/with-builder';\nimport { BuilderBlock as BuilderBlockComponent } from '../components/builder-block.component';\n\nexport interface FragmentProps {\n builderBlock?: BuilderElement;\n}\n\nclass FragmentComponent extends React.Component<FragmentProps> {\n render() {\n return (\n this.props.builderBlock &&\n this.props.builderBlock.children &&\n this.props.builderBlock.children.map((block, index) => (\n <BuilderBlockComponent block={block} key={block.id} index={index} />\n ))\n );\n }\n}\n\nexport const Fragment = withBuilder(FragmentComponent, {\n name: 'Core:Fragment',\n canHaveChildren: true,\n noWrap: true,\n static: true,\n hideFromInsertMenu: true,\n});\n","/** @jsx jsx */\nimport { jsx } from '@emotion/core';\nimport React from 'react';\n\nimport { BuilderElement } from '@builder.io/sdk';\nimport { BuilderBlocks } from '../components/builder-blocks.component';\nimport { withBuilder } from '../functions/with-builder';\nimport { Link } from '../components/Link';\nimport { Breakpoints, getSizesForBreakpoints } from '../constants/device-sizes.constant';\n\nconst DEFAULT_ASPECT_RATIO = 0.7004048582995948;\n\nconst defaultBlocks: BuilderElement[] = [\n {\n '@type': '@builder.io/sdk:Element',\n responsiveStyles: {\n large: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'stretch',\n flexShrink: '0',\n position: 'relative',\n marginTop: '30px',\n textAlign: 'center',\n lineHeight: 'normal',\n height: 'auto',\n minHeight: '20px',\n minWidth: '20px',\n overflow: 'hidden',\n },\n },\n component: {\n name: 'Image',\n options: {\n image:\n 'https://builder.io/api/v1/image/assets%2Fpwgjf0RoYWbdnJSbpBAjXNRMe9F2%2Ffb27a7c790324294af8be1c35fe30f4d',\n backgroundPosition: 'center',\n backgroundSize: 'cover',\n aspectRatio: DEFAULT_ASPECT_RATIO,\n },\n },\n },\n {\n '@type': '@builder.io/sdk:Element',\n responsiveStyles: {\n large: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'stretch',\n flexShrink: '0',\n position: 'relative',\n marginTop: '30px',\n textAlign: 'center',\n lineHeight: 'normal',\n height: 'auto',\n },\n },\n component: {\n name: 'Text',\n options: {\n text: '<p>Enter some text...</p>',\n },\n },\n },\n];\n\nclass ColumnsComponent extends React.Component<any> {\n // TODO: Column interface\n get columns(): any[] {\n return this.props.columns || [];\n }\n\n get gutterSize(): number {\n return typeof this.props.space === 'number' ? this.props.space || 0 : 20;\n }\n\n getWidth(index: number) {\n return (this.columns[index] && this.columns[index].width) || 100 / this.columns.length;\n }\n\n getColumnWidth(index: number) {\n const { columns, gutterSize } = this;\n const subtractWidth = (gutterSize * (columns.length - 1)) / columns.length;\n return `calc(${this.getWidth(index)}% - ${subtractWidth}px)`;\n }\n\n render() {\n const { columns, gutterSize } = this;\n const contentBreakpoints: Breakpoints =\n this.props.builderState?.context.builderContent?.meta?.breakpoints || {};\n const breakpointSizes = getSizesForBreakpoints(contentBreakpoints);\n\n return (\n // FIXME: make more elegant\n <React.Fragment>\n <div\n className=\"builder-columns\"\n css={{\n display: 'flex',\n ...(this.props.stackColumnsAt !== 'never' && {\n [`@media (max-width: ${\n this.props.stackColumnsAt !== 'tablet'\n ? breakpointSizes.small.max\n : breakpointSizes.medium.max\n }px)`]: {\n flexDirection: this.props.reverseColumnsWhenStacked ? 'column-reverse' : 'column',\n alignItems: 'stretch',\n },\n }),\n }}\n >\n {columns.map((col, index) => {\n const TagName = col.link ? Link : 'div';\n\n // TODO: pass size down in context\n\n return (\n <React.Fragment key={index}>\n <TagName\n className=\"builder-column\"\n {...(col.link ? { href: col.link } : null)}\n // TODO: generate width and margin-left as CSS instead so can override with pure CSS for best responsieness\n // and no use of !important\n css={{\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'stretch',\n lineHeight: 'normal',\n ['& > .builder-blocks']: {\n flexGrow: 1,\n },\n width: this.getColumnWidth(index),\n marginLeft: index === 0 ? 0 : gutterSize,\n ...(this.props.stackColumnsAt !== 'never' && {\n [`@media (max-width: ${\n this.props.stackColumnsAt !== 'tablet'\n ? breakpointSizes.small.max\n : breakpointSizes.medium.max\n }px)`]: {\n width: '100%',\n marginLeft: 0,\n },\n }),\n }}\n >\n <BuilderBlocks\n key={index}\n // TODO: childOf [parentBlocks]?\n child\n parentElementId={this.props.builderBlock && this.props.builderBlock.id}\n blocks={col.blocks}\n dataPath={`component.options.columns.${index}.blocks`}\n />\n </TagName>\n </React.Fragment>\n );\n })}\n </div>\n </React.Fragment>\n );\n }\n}\n\nexport const Columns = withBuilder(ColumnsComponent, {\n name: 'Columns',\n static: true,\n inputs: [\n {\n name: 'columns',\n type: 'array',\n broadcast: true,\n subFields: [\n {\n name: 'blocks',\n type: 'array',\n hideFromUI: true,\n defaultValue: defaultBlocks,\n },\n {\n name: 'width',\n type: 'number',\n hideFromUI: true,\n helperText: 'Width %, e.g. set to 50 to fill half of the space',\n },\n {\n name: 'link',\n type: 'url',\n helperText: 'Optionally set a url that clicking this column will link to',\n },\n ],\n defaultValue: [{ blocks: defaultBlocks }, { blocks: defaultBlocks }],\n onChange: (options: Map<string, any>) => {\n function clearWidths() {\n columns.forEach(col => {\n col.delete('width');\n });\n }\n\n const columns = options.get('columns') as Array<Map<String, any>>;\n\n if (Array.isArray(columns)) {\n const containsColumnWithWidth = !!columns.find(col => col.get('width'));\n\n if (containsColumnWithWidth) {\n const containsColumnWithoutWidth = !!columns.find(col => !col.get('width'));\n if (containsColumnWithoutWidth) {\n clearWidths();\n } else {\n const sumWidths = columns.reduce((memo, col) => {\n return memo + col.get('width');\n }, 0);\n const widthsDontAddUp = sumWidths !== 100;\n if (widthsDontAddUp) {\n clearWidths();\n }\n }\n }\n }\n },\n },\n {\n name: 'space',\n type: 'number',\n defaultValue: 20,\n helperText: 'Size of gap between columns',\n advanced: true,\n },\n {\n name: 'stackColumnsAt',\n type: 'string',\n defaultValue: 'tablet',\n helperText: 'Convert horizontal columns to vertical at what device size',\n enum: ['tablet', 'mobile', 'never'],\n advanced: true,\n },\n {\n name: 'reverseColumnsWhenStacked',\n type: 'boolean',\n defaultValue: false,\n helperText: 'When stacking columns for mobile devices, reverse the ordering',\n advanced: true,\n },\n ],\n});\n","import React from 'react';\nimport { Builder } from '@builder.io/sdk';\nimport { withBuilder } from '../functions/with-builder';\n\nclass EmbedComponent extends React.Component<any> {\n elementRef: HTMLElement | null = null;\n\n scriptsInserted = new Set();\n scriptsRun = new Set();\n\n componentDidUpdate(prevProps: any) {\n if (this.props.content !== prevProps.content) {\n this.findAndRunScripts();\n }\n }\n\n componentDidMount() {\n this.findAndRunScripts();\n }\n\n findAndRunScripts() {\n if (this.elementRef && typeof window !== 'undefined') {\n const scripts = this.elementRef.getElementsByTagName('script');\n for (let i = 0; i < scripts.length; i++) {\n const script = scripts[i];\n if (script.src) {\n if (this.scriptsInserted.has(script.src)) {\n continue;\n }\n this.scriptsInserted.add(script.src);\n const newScript = document.createElement('script');\n newScript.async = true;\n newScript.src = script.src;\n document.head.appendChild(newScript);\n } else {\n if (this.scriptsRun.has(script.innerText)) {\n continue;\n }\n this.scriptsRun.add(script.innerText);\n try {\n new Function(script.innerText)();\n } catch (error) {\n console.warn('Builder custom code component error:', error);\n }\n }\n }\n }\n }\n\n get content() {\n // Remove scripts on server - if they manipulate dom there can be issues on hydration\n // TODO: allow this to by bypassed by context or prop that says if this is going to be HTML\n // loaded without client JS/hydration (static)\n if (Builder.isServer) {\n return (this.props.content || '').replace(/<script[\\s\\S]*?<\\/script>/g, '');\n }\n return this.props.content;\n }\n\n render() {\n return (\n <div\n ref={ref => (this.elementRef = ref)}\n className=\"builder-embed\"\n dangerouslySetInnerHTML={{ __html: this.content }}\n />\n );\n }\n}\n\nexport const Embed = withBuilder(EmbedComponent, {\n name: 'Embed',\n static: true,\n inputs: [\n {\n name: 'url',\n type: 'url',\n required: true,\n defaultValue: '',\n helperText: 'e.g. enter a youtube url, google map, etc',\n onChange(options: Map<string, any>) {\n const url = options.get('url');\n if (url) {\n options.set('content', 'Loading...');\n // TODO: get this out of here!\n const apiKey = 'ae0e60e78201a3f2b0de4b';\n return fetch(`https://iframe.ly/api/iframely?url=${url}&api_key=${apiKey}`)\n .then(res => res.json())\n .then(data => {\n if (options.get('url') === url) {\n if (data.html) {\n options.set('content', data.html);\n } else {\n options.set('content', 'Invalid url, please try another');\n }\n }\n })\n .catch(err => {\n options.set(\n 'content',\n 'There was an error embedding this URL, please try again or another URL'\n );\n });\n } else {\n options.delete('content');\n }\n },\n },\n {\n name: 'content',\n type: 'html',\n defaultValue: `<div style=\"padding: 20px; text-align: center\">(Choose an embed URL)<div>`,\n hideFromUI: true,\n },\n ],\n});\n","import React from 'react';\nimport { BuilderElement, Builder } from '@builder.io/sdk';\nimport { withBuilder } from '../functions/with-builder';\n\ninterface Props {\n code: string;\n builderBlock?: BuilderElement;\n replaceNodes?: boolean;\n scriptsClientOnly?: boolean;\n}\n\n// TODO: settings context to pass this down. do in shopify-specific generated code\nconst globalReplaceNodes = ({} as { [key: string]: Node[] }) || null;\n\nconst isShopify = Builder.isBrowser && 'Shopify' in window;\n\nif (Builder.isBrowser && globalReplaceNodes) {\n const customCodeQuerySelector = '.builder-custom-code';\n\n try {\n let allCustomCodeElements = Array.from(document.querySelectorAll(customCodeQuerySelector));\n\n // Search each template element (if present) for custom code blocks since\n // querySelectorAll cannot search all templates that we use for variations, because they are\n // considered document fragments and are not a part of the DOM.\n const builderTemplates = document.querySelectorAll('template[data-template-variant-id]');\n if (builderTemplates.length) {\n Array.from(builderTemplates).forEach(template => {\n const content: DocumentFragment = (template as any).content;\n const codeElements = content.querySelectorAll(customCodeQuerySelector);\n if (codeElements.length) {\n allCustomCodeElements = allCustomCodeElements.concat(Array.from(codeElements));\n }\n });\n }\n\n allCustomCodeElements.forEach(el => {\n const parent = el.parentElement;\n const id = parent && parent.getAttribute('builder-id');\n if (id) {\n globalReplaceNodes[id] = globalReplaceNodes[id] || [];\n globalReplaceNodes[id].push(isShopify ? el : el.cloneNode(true));\n }\n });\n } catch (err) {\n console.error('Builder replace nodes error:', err);\n }\n}\n\nclass CustomCodeComponent extends React.Component<Props> {\n elementRef: Element | null = null;\n originalRef: Node | Element | null = null;\n\n scriptsInserted = new Set();\n scriptsRun = new Set();\n\n firstLoad = true;\n replaceNodes = false;\n state = {\n hydrated: false,\n };\n\n constructor(props: Props) {\n super(props);\n if (Builder.isBrowser) {\n const id = this.props.builderBlock?.id;\n this.replaceNodes = Boolean(\n Builder.isBrowser && (props.replaceNodes || isShopify) && id && globalReplaceNodes?.[id]\n );\n\n if (this.firstLoad && this.props.builderBlock) {\n if (id && globalReplaceNodes?.[id]) {\n const el = globalReplaceNodes[id].shift() || null;\n this.originalRef = el;\n if (globalReplaceNodes[id].length === 0) {\n delete globalReplaceNodes[id];\n }\n } else if (this.replaceNodes) {\n const existing = document.querySelectorAll(\n `.${this.props.builderBlock.id} .builder-custom-code`\n );\n if (existing.length === 1) {\n const node = existing[0];\n this.originalRef = node as HTMLElement;\n (this.originalRef as Element).remove();\n }\n }\n }\n }\n }\n\n get noReactRender() {\n // Don't render liquid client side\n return Boolean(isShopify && this.props.code?.match(/{[{%]/g));\n }\n\n get isHydrating() {\n return !isShopify && this.originalRef;\n }\n\n componentDidUpdate(prevProps: Props) {\n if (this.props.code !== prevProps.code) {\n this.findAndRunScripts();\n }\n }\n\n componentDidMount() {\n this.firstLoad = false;\n if (!this.replaceNodes) {\n if (this.isHydrating) {\n // first render need to match what's on ssr (issue with next.js)\n this.setState({\n hydrated: true,\n });\n Builder.nextTick(() => this.findAndRunScripts());\n } else {\n this.findAndRunScripts();\n }\n }\n if (Builder.isBrowser && this.replaceNodes && this.originalRef && this.elementRef) {\n this.elementRef.appendChild(this.originalRef);\n }\n }\n\n findAndRunScripts() {\n if (this.elementRef && typeof window !== 'undefined') {\n const scripts = this.elementRef.getElementsByTagName('script');\n for (let i = 0; i < scripts.length; i++) {\n const script = scripts[i];\n if (script.src) {\n if (this.scriptsInserted.has(script.src)) {\n continue;\n }\n this.scriptsInserted.add(script.src);\n const newScript = document.createElement('script');\n newScript.async = true;\n newScript.src = script.src;\n document.head.appendChild(newScript);\n } else if (\n !script.type ||\n ['text/javascript', 'application/javascript', 'application/ecmascript'].includes(\n script.type\n )\n ) {\n if (this.scriptsRun.has(script.innerText)) {\n continue;\n }\n try {\n this.scriptsRun.add(script.innerText);\n new Function(script.innerText)();\n } catch (error) {\n console.warn('Builder custom code component error:', error);\n }\n }\n }\n }\n }\n\n get code() {\n // when ssr'd by nextjs it'll break hydration if initial client render doesn't match ssr\n if (\n (Builder.isServer || (this.isHydrating && this.firstLoad)) &&\n this.props.scriptsClientOnly\n ) {\n return (this.props.code || '').replace(\n /<script\\b[^<]*(?:(?!<\\/script>)<[^<]*)*<\\/script>/gi,\n ''\n );\n }\n return this.props.code;\n }\n\n render() {\n // TODO: remove <script> tags for server render (unless has some param to say it's only goingn to be run on server)\n // like embed\n return (\n <div\n ref={ref => (this.elementRef = ref)}\n // TODO: add a class when node replaced in (?)\n className=\"builder-custom-code\"\n {...(!this.replaceNodes &&\n !this.noReactRender && {\n dangerouslySetInnerHTML: { __html: this.code },\n })}\n />\n );\n }\n}\n\nexport const CustomCode = withBuilder(CustomCodeComponent, {\n name: 'Custom Code',\n static: true,\n requiredPermissions: ['editCode'],\n inputs: [\n {\n name: 'code',\n type: 'html',\n required: true,\n defaultValue: '<p>Hello there, I am custom HTML code!</p>',\n code: true,\n },\n {\n name: 'replaceNodes',\n type: 'boolean',\n helperText: 'Preserve server rendered dom nodes',\n advanced: true,\n ...(isShopify && {\n defaultValue: true,\n }),\n },\n {\n name: 'scriptsClientOnly',\n type: 'boolean',\n helperText:\n 'Only print and run scripts on the client. Important when scripts influence DOM that could be replaced when client loads',\n advanced: true,\n ...(!isShopify && {\n defaultValue: true,\n }),\n },\n ],\n} as any);\n","/** @jsx jsx */\nimport { jsx } from '@emotion/core';\nimport React from 'react';\n\nimport { BuilderBlock as BuilderBlockComponent } from '../components/builder-block.component';\nimport { BuilderElement, Builder } from '@builder.io/sdk';\nimport { BuilderMetaContext } from '../store/builder-meta';\nimport { withBuilder } from '../functions/with-builder';\nimport { throttle } from '../functions/throttle';\nimport { Breakpoints, getSizesForBreakpoints } from '../constants/device-sizes.constant';\n\n// Taken from (and modified) the shopify theme script repo\n// https://github.com/Shopify/theme-scripts/blob/bcfb471f2a57d439e2f964a1bb65b67708cc90c3/packages/theme-images/images.js#L59\nfunction removeProtocol(path: string) {\n return path.replace(/http(s)?:/, '');\n}\n\nfunction isElementInViewport(el: HTMLElement) {\n const rect = el.getBoundingClientRect();\n\n return (\n rect.top >= 0 &&\n rect.left >= 0 &&\n rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) &&\n rect.right <= (window.innerWidth || document.documentElement.clientWidth)\n );\n}\n\nfunction getShopifyImageUrl(src: string, size: string): string | null {\n if (!src || !src?.match(/cdn\\.shopify\\.com/) || !size) {\n return src;\n }\n\n if (size === 'master') {\n return removeProtocol(src);\n }\n\n const match = src.match(/(_\\d+x(\\d+)?)?(\\.(jpg|jpeg|gif|png|bmp|bitmap|tiff|tif)(\\?v=\\d+)?)/i);\n\n if (match) {\n const prefix = src.split(match[0]);\n const suffix = match[3];\n const useSize = size.match('x') ? size : `${size}x`;\n\n return removeProtocol(`${prefix[0]}_${useSize}${suffix}`);\n }\n\n return null;\n}\n\nconst DEFAULT_ASPECT_RATIO = 0.7041;\n\nexport function updateQueryParam(uri = '', key: string, value: string | number | boolean): string {\n const re = new RegExp('([?&])' + key + '=.*?(&|$)', 'i');\n const separator = uri.indexOf('?') !== -1 ? '&' : '?';\n if (uri.match(re)) {\n return uri.replace(re, '$1' + key + '=' + encodeURIComponent(value) + '$2');\n }\n\n return uri + separator + key + '=' + encodeURIComponent(value);\n}\n\nexport function getSrcSet(url: string): string {\n if (!url) {\n return url;\n }\n\n const sizes = [100, 200, 400, 800, 1200, 1600, 2000];\n\n if (url.match(/builder\\.io/)) {\n let srcUrl = url;\n const widthInSrc = Number(url.split('?width=')[1]);\n if (!isNaN(widthInSrc)) {\n srcUrl = `${srcUrl} ${widthInSrc}w`;\n }\n\n return sizes\n .filter(size => size !== widthInSrc)\n .map(size => `${updateQueryParam(url, 'width', size)} ${size}w`)\n .concat([srcUrl])\n .join(', ');\n }\n\n if (url.match(/cdn\\.shopify\\.com/)) {\n return sizes\n .map(size => [getShopifyImageUrl(url, `${size}x${size}`), size])\n .filter(([sizeUrl]) => !!sizeUrl)\n .map(([sizeUrl, size]) => `${sizeUrl} ${size}w`)\n .concat([url])\n .join(', ');\n }\n\n return url;\n}\n\nexport const getSizes = (\n sizes: string,\n block: BuilderElement,\n contentBreakpoints: Breakpoints = {}\n) => {\n let useSizes = '';\n\n if (sizes) {\n const splitSizes = sizes.split(',');\n const sizesLength = splitSizes.length;\n useSizes = splitSizes\n .map((size: string, index) => {\n if (sizesLength === index + 1) {\n // If it is the last size in the array, then we want to strip out\n // any media query information. According to the img spec, the last\n // value for sizes cannot have a media query. If there is a media\n // query at the end it breaks AMP mode rendering\n // https://github.com/ampproject/amphtml/blob/b6313e372fdd1298928e2417dcc616b03288e051/src/size-list.js#L169\n return size.replace(/\\([\\s\\S]*?\\)/g, '').trim();\n } else {\n return size;\n }\n })\n .join(', ');\n } else if (block && block.responsiveStyles) {\n const generatedSizes = [];\n let hasSmallOrMediumSize = false;\n const unitRegex = /^\\d+/;\n\n const breakpointSizes = getSizesForBreakpoints(contentBreakpoints);\n if (block.responsiveStyles?.small?.width?.match(unitRegex)) {\n hasSmallOrMediumSize = true;\n const mediaQuery = `(max-width: ${breakpointSizes.small.max}px)`;\n const widthAndQuery = `${mediaQuery} ${block.responsiveStyles.small.width.replace(\n '%',\n 'vw'\n )}`;\n generatedSizes.push(widthAndQuery);\n }\n\n if (block.responsiveStyles?.medium?.width?.match(unitRegex)) {\n hasSmallOrMediumSize = true;\n const mediaQuery = `(max-width: ${breakpointSizes.medium.max}px)`;\n const widthAndQuery = `${mediaQuery} ${block.responsiveStyles.medium.width.replace(\n '%',\n 'vw'\n )}`;\n generatedSizes.push(widthAndQuery);\n }\n\n if (block.responsiveStyles?.large?.width) {\n const width = block.responsiveStyles.large.width.replace('%', 'vw');\n generatedSizes.push(width);\n } else if (hasSmallOrMediumSize) {\n generatedSizes.push('100vw');\n }\n\n if (generatedSizes.length) {\n useSizes = generatedSizes.join(', ');\n }\n }\n\n return useSizes;\n};\n\n// TODO: use picture tag to support more formats\nclass ImageComponent extends React.Component<any, { imageLoaded: boolean; load: boolean }> {\n get useLazyLoading() {\n // Use builder.getLocation()\n return Builder.isBrowser && location.search.includes('builder.lazyLoadImages=false')\n ? false\n : Builder.isBrowser && location.href.includes('builder.lazyLoadImages=true')\n ? true\n : this.props.lazy;\n }\n\n // TODO: setting to always fade in the images (?)\n state = {\n imageLoaded: !this.useLazyLoading,\n load: !this.useLazyLoading,\n };\n\n pictureRef: HTMLPictureElement | null = null;\n\n scrollListener: null | ((e: Event) => void) = null;\n intersectionObserver: IntersectionObserver | null = null;\n\n componentWillUnmount() {\n if (Builder.isBrowser) {\n if (this.scrollListener) {\n window.removeEventListener('scroll', this.scrollListener);\n this.scrollListener = null;\n }\n\n if (this.intersectionObserver && this.pictureRef) {\n this.intersectionObserver.unobserve(this.pictureRef);\n }\n }\n }\n\n componentDidMount() {\n if (this.props.lazy && Builder.isBrowser) {\n if (this.pictureRef && isElementInViewport(this.pictureRef)) {\n this.setState({\n load: true,\n });\n } else if (typeof IntersectionObserver === 'function' && this.pictureRef) {\n const observer = (this.intersectionObserver = new IntersectionObserver(\n (entries, observer) => {\n entries.forEach(entry => {\n // In view\n if (entry.intersectionRatio > 0) {\n this.setState({\n load: true,\n });\n if (this.pictureRef) {\n observer.unobserve(this.pictureRef);\n }\n }\n });\n }\n ));\n\n observer.observe(this.pictureRef);\n } else {\n // throttled scroll capture listener\n const listener = throttle(\n (event: Event) => {\n if (this.pictureRef) {\n const rect = this.pictureRef.getBoundingClientRect();\n const buffer = window.innerHeight / 2;\n if (rect.top < window.innerHeight + buffer) {\n this.setState({\n ...this.state,\n load: true,\n });\n window.removeEventListener('scroll', listener);\n this.scrollListener = null;\n }\n }\n },\n 400,\n {\n leading: false,\n trailing: true,\n }\n );\n this.scrollListener = listener;\n\n window.addEventListener('scroll', listener, {\n capture: true,\n passive: true,\n });\n listener();\n }\n }\n }\n\n // Allow our legacy `image` prop, as well as allow a `src` prop for more intuitive\n // DX of manual usage (<Image src=\"...\" />)\n get image() {\n return this.props.image || this.props.src;\n }\n\n getSrcSet(): string | undefined {\n const url = this.image;\n if (!url) {\n return;\n }\n\n // We can auto add srcset for cdn.builder.io and shopify\n // images, otherwise you can supply this prop manually\n if (!(url.match(/builder\\.io/) || url.match(/cdn\\.shopify\\.com/))) {\n return;\n }\n\n return getSrcSet(url);\n }\n\n render() {\n const { aspectRatio, lazy, builderBlock, builderState } = this.props;\n const children = this.props.builderBlock && this.props.builderBlock.children;\n\n let srcset = this.props.srcset;\n const sizes = getSizes(\n this.props.sizes,\n builderBlock,\n builderState?.context.builderContent?.meta?.breakpoints || {}\n );\n const image = this.image;\n\n if (srcset && image && image.includes('builder.io/api/v1/image')) {\n if (!srcset.includes(image.split('?')[0])) {\n console.debug('Removed given srcset');\n srcset = this.getSrcSet();\n }\n } else if (image && !srcset) {\n srcset = this.getSrcSet();\n }\n\n const isPixel = builderBlock?.id.startsWith('builder-pixel-');\n const { fitContent } = this.props;\n\n return (\n <BuilderMetaContext.Consumer>\n {value => {\n const amp = value.ampMode;\n const Tag: 'img' = amp ? ('amp-img' as any) : 'img';\n\n const imageContents = (!lazy || this.state.load || amp) && (\n <Tag\n {...(amp\n ? ({\n layout: 'responsive',\n height:\n this.props.height ||\n (aspectRatio ? Math.round(aspectRatio * 1000) : undefined),\n width:\n this.props.width ||\n (aspectRatio ? Math.round(1000 / aspectRatio) : undefined),\n } as any)\n : null)}\n alt={this.props.altText}\n key={\n Builder.isEditing\n ? (typeof this.image === 'string' && this.image.split('?')[0]) || undefined\n : undefined\n }\n role={!this.props.altText ? 'presentation' : undefined}\n css={{\n opacity: amp ? 1 : this.useLazyLoading && !this.state.imageLoaded ? 0 : 1,\n transition: 'opacity 0.2s ease-in-out',\n objectFit: this.props.backgroundSize || 'cover',\n objectPosition: this.props.backgroundPosition || 'center',\n ...(aspectRatio &&\n !amp && {\n position: 'absolute',\n height: '100%',\n width: '100%',\n left: 0,\n top: 0,\n }),\n ...(amp && {\n ['& img']: {\n objectFit: this.props.backgroundSize,\n objectPosition: this.props.backgroundPosition,\n },\n }),\n }}\n loading={isPixel ? 'eager' : 'lazy'}\n className={'builder-image' + (this.props.className ? ' ' + this.props.className : '')}\n src={this.image}\n {...(!amp && {\n // TODO: queue these so react renders all loads at once\n onLoad: () => this.setState({ imageLoaded: true }),\n })}\n // TODO: memoize on image on client\n srcSet={srcset}\n sizes={!amp && sizes ? sizes : undefined}\n />\n );\n\n return (\n <React.Fragment>\n {amp ? (\n imageContents\n ) : (\n <picture ref={ref => (this.pictureRef = ref)}>\n {srcset && srcset.match(/builder\\.io/) && !this.props.noWebp && (\n <source srcSet={srcset.replace(/\\?/g, '?format=webp&')} type=\"image/webp\" />\n )}\n {imageContents}\n </picture>\n )}\n {aspectRatio && !amp && !(fitContent && children && children.length) ? (\n <div\n className=\"builder-image-sizer\"\n css={{\n width: '100%',\n paddingTop: aspectRatio * 100 + '%',\n pointerEvents: 'none',\n fontSize: 0,\n }}\n >\n {' '}\n </div>\n ) : null}\n {children && children.length ? (\n fitContent ? (\n children.map((block: BuilderElement, index: number) => (\n <BuilderBlockComponent key={block.id} block={block} />\n ))\n ) : (\n // TODO: if no aspect ratio and has children, don't make this absolute but instead\n // make the image absolute and fit the children (or with a special option)\n <div\n css={{\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'stretch',\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n }}\n >\n {children.map((block: BuilderElement, index: number) => (\n <BuilderBlockComponent key={block.id} block={block} />\n ))}\n </div>\n )\n ) : null}\n </React.Fragment>\n );\n }}\n </BuilderMetaContext.Consumer>\n );\n }\n}\n\nexport const Image = withBuilder(ImageComponent, {\n name: 'Image',\n static: true,\n image:\n 'https://firebasestorage.googleapis.com/v0/b/builder-3b0a2.appspot.com/o/images%2Fbaseline-insert_photo-24px.svg?alt=media&token=4e5d0ef4-f5e8-4e57-b3a9-38d63a9b9dc4',\n defaultStyles: {\n position: 'relative',\n minHeight: '20px',\n minWidth: '20px',\n overflow: 'hidden',\n },\n canHaveChildren: true,\n inputs: [\n {\n // TODO: new editor type 'responsiveImage' that can do different crops per breakpoint\n // and sets an object and that is read here\n name: 'image',\n type: 'file',\n bubble: true,\n allowedFileTypes: ['jpeg', 'jpg', 'png', 'svg'],\n required: true,\n defaultValue:\n 'https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F72c80f114dc149019051b6852a9e3b7a',\n onChange: (options: Map<string, any>) => {\n const DEFAULT_ASPECT_RATIO = 0.7041;\n options.delete('srcset');\n options.delete('noWebp');\n function loadImage(url: string, timeout = 60000): Promise<HTMLImageElement> {\n return new Promise((resolve, reject) => {\n const img = document.createElement('img');\n let loaded = false;\n img.onload = () => {\n loaded = true;\n resolve(img);\n };\n\n img.addEventListener('error', event => {\n console.warn('Image load failed', event.error);\n reject(event.error);\n });\n\n img.src = url;\n setTimeout(() => {\n if (!loaded) {\n reject(new Error('Image load timed out'));\n }\n }, timeout);\n });\n }\n\n function round(num: number) {\n return Math.round(num * 1000) / 1000;\n }\n\n const value = options.get('image');\n const aspectRatio = options.get('aspectRatio');\n\n // For SVG images - don't render as webp, keep them as SVG\n fetch(value)\n .then(res => res.blob())\n .then(blob => {\n if (blob.type.includes('svg')) {\n options.set('noWebp', true);\n }\n });\n\n if (value && (!aspectRatio || aspectRatio === DEFAULT_ASPECT_RATIO)) {\n return loadImage(value).then(img => {\n const possiblyUpdatedAspectRatio = options.get('aspectRatio');\n if (\n options.get('image') === value &&\n (!possiblyUpdatedAspectRatio || possiblyUpdatedAspectRatio === DEFAULT_ASPECT_RATIO)\n ) {\n if (img.width && img.height) {\n options.set('aspectRatio', round(img.height / img.width));\n options.set('height', img.height);\n options.set('width', img.width);\n }\n }\n });\n }\n },\n },\n {\n name: 'backgroundSize',\n type: 'text',\n defaultValue: 'cover',\n enum: [\n {\n label: 'contain',\n value: 'contain',\n helperText: 'The image should never get cropped',\n },\n {\n label: 'cover',\n value: 'cover',\n helperText: `The image should fill its box, cropping when needed`,\n },\n // TODO: add these options back\n // { label: 'auto', value: 'auto', helperText: '' },\n // { label: 'fill', value: 'fill', helperText: 'The image should fill the box, being stretched or squished if necessary' },\n ] as any,\n },\n {\n name: 'backgroundPosition',\n type: 'text',\n defaultValue: 'center',\n enum: [\n 'center',\n 'top',\n 'left',\n 'right',\n 'bottom',\n 'top left',\n 'top right',\n 'bottom left',\n 'bottom right',\n ],\n },\n {\n name: 'altText',\n type: 'string',\n helperText: 'Text to display when the user has images off',\n },\n {\n name: 'height',\n type: 'number',\n hideFromUI: true,\n },\n {\n name: 'width',\n type: 'number',\n hideFromUI: true,\n },\n {\n name: 'sizes',\n type: 'string',\n hideFromUI: true,\n },\n {\n name: 'srcset',\n type: 'string',\n hideFromUI: true,\n },\n // TODO: force lazy load option (maybe via binding for now hm component.options.lazy: true)\n {\n name: 'lazy',\n type: 'boolean',\n defaultValue: true,\n hideFromUI: true,\n },\n {\n name: 'fitContent',\n type: 'boolean',\n helperText:\n \"When child blocks are provided, fit to them instead of using the image's aspect ratio\",\n defaultValue: true,\n },\n {\n name: 'aspectRatio',\n type: 'number',\n helperText:\n \"This is the ratio of height/width, e.g. set to 1.5 for a 300px wide and 200px tall photo. Set to 0 to not force the image to maintain it's aspect ratio\",\n advanced: true,\n defaultValue: DEFAULT_ASPECT_RATIO,\n },\n // {\n // name: 'backgroundRepeat',\n // type: 'text',\n // defaultValue: 'no-repeat',\n // enum: ['no-repeat', 'repeat', 'repeat-x', 'repeat-y'],\n // },\n ],\n});\n","/** @jsx jsx */\nimport { jsx } from '@emotion/core';\nimport React from 'react';\n\nimport { throttle } from '../functions/throttle';\nimport { withChildren } from '../functions/with-children';\nimport { Builder } from '@builder.io/sdk';\n\nconst DEFAULT_ASPECT_RATIO = 0.7004048582995948;\n\nclass VideoComponent extends React.Component<{\n video: string;\n autoPlay?: boolean;\n controls?: boolean;\n muted?: boolean;\n loop?: boolean;\n playsInline?: boolean;\n aspectRatio?: number;\n width?: number;\n height?: number;\n fit?: 'contain' | 'cover' | 'fill';\n position?: string;\n posterImage?: string;\n lazyLoad?: boolean;\n fitContent?: boolean;\n}> {\n video: HTMLVideoElement | null = null;\n containerRef: HTMLElement | null = null;\n\n scrollListener: null | ((e: Event) => void) = null;\n\n get lazyLoad() {\n // Default is true, must be explicitly turned off to not have this behavior\n // as it's highly recommended for performance and bandwidth optimization\n return this.props.lazyLoad !== false;\n }\n\n state = {\n load: !this.lazyLoad,\n };\n\n updateVideo() {\n const video = this.video;\n if (video) {\n // There are some issues with boolean attributes and media elements\n // see: https://github.com/facebook/react/issues/10389\n const boolProps: Array<'muted' | 'playsInline' | 'autoPlay'> = [\n 'muted',\n 'playsInline',\n 'autoPlay',\n ];\n boolProps.forEach(prop => {\n const attr = prop.toLowerCase();\n if (this.props[prop]) {\n video.setAttribute(attr, attr);\n } else {\n video.removeAttribute(attr);\n }\n });\n }\n }\n\n componentDidUpdate() {\n this.updateVideo();\n }\n\n componentDidMount() {\n this.updateVideo();\n\n if (this.lazyLoad && Builder.isBrowser) {\n // TODO: have a way to consolidate all listeners into one timer\n // to avoid excessive reflows\n const listener = throttle(\n (event: Event) => {\n if (this.containerRef) {\n const rect = this.containerRef.getBoundingClientRect();\n const buffer = window.innerHeight / 2;\n if (rect.top < window.innerHeight + buffer) {\n this.setState(state => ({\n ...state,\n load: true,\n }));\n window.removeEventListener('scroll', listener);\n this.scrollListener = null;\n }\n }\n },\n 400,\n {\n leading: false,\n trailing: true,\n }\n );\n this.scrollListener = listener;\n\n window.addEventListener('scroll', listener, {\n capture: true,\n passive: true,\n });\n listener();\n }\n }\n\n componentWillUnmount() {\n if (Builder.isBrowser && this.scrollListener) {\n window.removeEventListener('scroll', this.scrollListener);\n this.scrollListener = null;\n }\n }\n\n render() {\n const { aspectRatio, children } = this.props;\n return (\n <div ref={ref => (this.containerRef = ref)} css={{ position: 'relative' }}>\n {/* TODO: option to load the whole thing (inc. poster image) or just video */}\n <video\n key={this.props.video || 'no-src'}\n poster={this.props.posterImage}\n ref={ref => (this.video = ref)}\n autoPlay={this.props.autoPlay}\n muted={this.props.muted}\n controls={this.props.controls}\n loop={this.props.loop}\n className=\"builder-video\"\n css={{\n width: '100%',\n height: '100%',\n objectFit: this.props.fit,\n objectPosition: this.props.position,\n zIndex: 2,\n // Hack to get object fit to work as expected and not have the video\n // overflow\n borderRadius: 1,\n ...(aspectRatio\n ? {\n position: 'absolute',\n }\n : null),\n }}\n >\n {(!this.lazyLoad || this.state.load) && (\n <source type=\"video/mp4\" src={this.props.video} />\n )}\n </video>\n {aspectRatio && !(this.props.fitContent && children) ? (\n <div\n css={{\n width: '100%',\n paddingTop: aspectRatio * 100 + '%',\n pointerEvents: 'none',\n fontSize: 0,\n }}\n />\n ) : null}\n {children && this.props.fitContent ? (\n <div css={{ display: 'flex', flexDirection: 'column', alignItems: 'stretch' }}>\n {children}\n </div>\n ) : children ? (\n <div\n css={{\n pointerEvents: 'none',\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'stretch',\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n }}\n >\n {children}\n </div>\n ) : null}\n </div>\n );\n }\n}\n\nexport const Video = Builder.registerComponent(withChildren(VideoComponent), {\n name: 'Video',\n canHaveChildren: true,\n defaultStyles: {\n minHeight: '20px',\n minWidth: '20px',\n },\n image:\n 'https://firebasestorage.googleapis.com/v0/b/builder-3b0a2.appspot.com/o/images%2Fbaseline-videocam-24px%20(1).svg?alt=media&token=49a84e4a-b20e-4977-a650-047f986874bb',\n inputs: [\n {\n name: 'video',\n type: 'file',\n allowedFileTypes: ['mp4'],\n bubble: true,\n defaultValue:\n 'https://firebasestorage.googleapis.com/v0/b/builder-3b0a2.appspot.com/o/assets%2FKQlEmWDxA0coC3PK6UvkrjwkIGI2%2F28cb070609f546cdbe5efa20e931aa4b?alt=media&token=912e9551-7a7c-4dfb-86b6-3da1537d1a7f',\n required: true,\n },\n {\n name: 'posterImage',\n type: 'file',\n allowedFileTypes: ['jpeg', 'png'],\n helperText: 'Image to show before the video plays',\n },\n {\n name: 'autoPlay',\n type: 'boolean',\n defaultValue: true,\n },\n {\n name: 'controls',\n type: 'boolean',\n defaultValue: false,\n },\n {\n name: 'muted',\n type: 'boolean',\n defaultValue: true,\n },\n {\n name: 'loop',\n type: 'boolean',\n defaultValue: true,\n },\n {\n name: 'playsInline',\n type: 'boolean',\n defaultValue: true,\n },\n {\n name: 'fit',\n type: 'text',\n defaultValue: 'cover',\n enum: ['contain', 'cover', 'fill', 'auto'],\n },\n {\n name: 'fitContent',\n type: 'boolean',\n helperText: 'When child blocks are provided, fit to them instead of using the aspect ratio',\n defaultValue: true,\n advanced: true,\n },\n {\n name: 'position',\n type: 'text',\n defaultValue: 'center',\n enum: [\n 'center',\n 'top',\n 'left',\n 'right',\n 'bottom',\n 'top left',\n 'top right',\n 'bottom left',\n 'bottom right',\n ],\n },\n {\n name: 'height',\n type: 'number',\n advanced: true,\n },\n {\n name: 'width',\n type: 'number',\n advanced: true,\n },\n {\n name: 'aspectRatio',\n type: 'number',\n advanced: true,\n defaultValue: DEFAULT_ASPECT_RATIO,\n },\n {\n name: 'lazyLoad',\n type: 'boolean',\n helperText:\n 'Load this video \"lazily\" - as in only when a user scrolls near the video. Recommended for optmized performance and bandwidth consumption',\n defaultValue: true,\n advanced: true,\n },\n ],\n});\n","/** @jsx jsx */\nimport { jsx } from '@emotion/core';\nimport React from 'react';\nimport { BuilderComponent } from '../components/builder-component.component';\nimport { Builder, BuilderElement } from '@builder.io/sdk';\nimport hash from 'hash-sum';\nimport { NoWrap } from '../components/no-wrap';\nimport { BuilderStoreContext } from '../store/builder-store';\nimport { withBuilder } from '../functions/with-builder';\n\nconst size = (thing: object) => Object.keys(thing).length;\n\nconst isShopify = Builder.isBrowser && 'Shopify' in window;\n\nconst refs: Record<string, Element> = {};\n\nif (Builder.isBrowser) {\n try {\n Array.from(document.querySelectorAll('[builder-static-symbol]')).forEach(el => {\n const id = (el as HTMLDivElement).getAttribute('builder-static-symbol');\n if (id) {\n refs[id] = el;\n }\n });\n } catch (err) {\n console.error('Builder replace nodes error:', err);\n }\n}\n\nexport interface SymbolInfo {\n model?: string;\n entry?: string;\n data?: any;\n content?: any;\n inline?: boolean;\n dynamic?: boolean;\n}\n\nexport interface SymbolProps {\n symbol?: SymbolInfo;\n dataOnly?: boolean;\n dynamic?: boolean;\n builderBlock?: BuilderElement;\n attributes?: any;\n inheritState?: boolean;\n}\n\nclass SymbolComponent extends React.Component<SymbolProps> {\n ref: BuilderComponent | null = null;\n staticRef: HTMLDivElement | null = null;\n\n get placeholder() {\n return (\n <div css={{ padding: 10 }}>\n Symbols let you reuse dynamic elements across your content. Please choose a model and entry\n for this symbol.\n </div>\n );\n }\n\n componentDidMount() {\n if (this.useStatic && this.staticRef && refs[this.props.builderBlock?.id!]) {\n this.staticRef.parentNode?.replaceChild(refs[this.props.builderBlock?.id!], this.staticRef);\n }\n }\n\n get useStatic() {\n return Boolean(\n Builder.isBrowser &&\n refs[this.props.builderBlock?.id!] &&\n !(Builder.isEditing || Builder.isPreviewing)\n );\n }\n\n render() {\n if (this.useStatic) {\n return <div ref={el => (this.staticRef = el)} />;\n }\n\n const symbol = this.props.symbol;\n\n let showPlaceholder = false;\n\n if (!symbol) {\n showPlaceholder = true;\n }\n\n const TagName = this.props.dataOnly\n ? NoWrap\n : (this.props.builderBlock && this.props.builderBlock.tagName) || 'div';\n\n const { model, entry, data, content, inline } = symbol || {};\n const dynamic = symbol?.dynamic || this.props.dynamic;\n if (!(model && (entry || dynamic)) && !content?.data?.blocksJs && !inline) {\n showPlaceholder = true;\n }\n\n let key = dynamic ? undefined : [model, entry].join(':');\n const dataString = Builder.isEditing ? null : data && size(data) && hash(data);\n\n if (key && dataString && dataString.length < 300) {\n key += ':' + dataString;\n }\n\n const attributes = this.props.attributes || {};\n return (\n <BuilderStoreContext.Consumer key={(model || 'no model') + ':' + (entry || 'no entry')}>\n {state => {\n return (\n <TagName\n data-model={model}\n {...attributes}\n className={\n (attributes.class || attributes.className || '') +\n ' builder-symbol' +\n (symbol?.inline ? ' builder-inline-symbol' : '') +\n (symbol?.dynamic || this.props.dynamic ? ' builder-dynamic-symbol' : '')\n }\n >\n {showPlaceholder ? (\n this.placeholder\n ) : (\n <BuilderComponent\n {...(state.state?.locale && { locale: state.state.locale })}\n isChild\n ref={(ref: any) => (this.ref = ref)}\n context={{ ...state.context, symbolId: this.props.builderBlock?.id }}\n modelName={model}\n entry={entry}\n data={{\n ...data,\n ...(!!this.props.inheritState && state.state),\n ...this.props.builderBlock?.component?.options?.symbol?.content?.data?.state,\n }}\n renderLink={state.renderLink}\n inlineContent={symbol?.inline}\n {...(content && { content })}\n options={{ key, noEditorUpdates: true }}\n codegen={!!content?.data?.blocksJs}\n hydrate={state.state?._hydrate}\n builderBlock={this.props.builderBlock}\n dataOnly={this.props.dataOnly}\n >\n {/* TODO: builder blocks option for loading stuff */}\n {this.props.children}\n </BuilderComponent>\n )}\n </TagName>\n );\n }}\n </BuilderStoreContext.Consumer>\n );\n }\n}\n\nexport const Symbol = withBuilder(SymbolComponent, {\n // Builder:Symbol\n name: 'Symbol',\n noWrap: true,\n static: true,\n // TODO: allow getter for icon so different icon if data symbol hm,\n // Maybe \"this\" context is the block element in editor, and it's the\n // builderBlock json otherwise. In BuilderBlock decorator find any getters\n // and convert to strings when passing and convert back to getters after\n // with `this` bound\n inputs: [\n {\n name: 'symbol',\n type: 'uiSymbol',\n },\n {\n name: 'dataOnly',\n helperText: `Make this a data symbol that doesn't display any UI`,\n type: 'boolean',\n defaultValue: false,\n advanced: true,\n hideFromUI: true,\n },\n {\n name: 'inheritState',\n helperText: `Inherit the parent component state and data`,\n type: 'boolean',\n defaultValue: isShopify,\n advanced: true,\n },\n {\n name: 'renderToLiquid',\n helperText:\n 'Render this symbols contents to liquid. Turn off to fetch with javascript and use custom targeting',\n type: 'boolean',\n defaultValue: isShopify,\n advanced: true,\n hideFromUI: true,\n },\n {\n name: 'useChildren',\n hideFromUI: true,\n type: 'boolean',\n },\n ],\n});\n","import React from 'react';\nimport { withBuilder } from '../functions/with-builder';\nimport { Link } from '../components/Link';\n\nexport interface ButtonProps {\n attributes?: any;\n text?: string;\n link?: string;\n openLinkInNewTab?: boolean;\n}\n\nclass ButtonComponent extends React.Component<ButtonProps> {\n render() {\n const Tag = this.props.link ? Link : 'span';\n return (\n <Tag\n role=\"button\"\n href={this.props.link}\n target={this.props.openLinkInNewTab ? '_blank' : undefined}\n {...this.props.attributes}\n >\n {this.props.text}\n </Tag>\n );\n }\n}\n\nexport const Button = withBuilder(ButtonComponent, {\n name: 'Core:Button',\n image:\n 'https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2F81a15681c3e74df09677dfc57a615b13',\n defaultStyles: {\n // TODO: make min width more intuitive and set one\n appearance: 'none',\n paddingTop: '15px',\n paddingBottom: '15px',\n paddingLeft: '25px',\n paddingRight: '25px',\n backgroundColor: '#000000',\n color: 'white',\n borderRadius: '4px',\n textAlign: 'center',\n cursor: 'pointer',\n },\n inputs: [\n {\n name: 'text',\n type: 'text',\n defaultValue: 'Click me!',\n bubble: true,\n },\n {\n name: 'link',\n type: 'url',\n bubble: true,\n },\n {\n name: 'openLinkInNewTab',\n type: 'boolean',\n defaultValue: false,\n friendlyName: 'Open link in new tab',\n },\n ],\n static: true,\n noWrap: true,\n});\n","/** @jsx jsx */\nimport { jsx } from '@emotion/core';\nimport React from 'react';\nimport { BuilderElement } from '@builder.io/sdk';\nimport { BuilderBlock as BuilderBlockComponent } from '../components/builder-block.component';\nimport { withBuilder } from '../functions/with-builder';\n\ninterface SectionProps {\n builderBlock?: BuilderElement;\n verticalAlignContent?: string;\n maxWidth?: number;\n lazyLoad?: boolean;\n // Styles to load before lazy loaded in, like a min height\n lazyStyles?: any;\n}\n\nclass SectionComponent extends React.Component<SectionProps, { inView?: boolean }> {\n ref: HTMLElement | null = null;\n\n unmountCallbacks: Function[] = [];\n\n state = {\n inView: false,\n };\n\n get renderContents() {\n if (this.props.lazyLoad !== true) {\n return true;\n }\n\n return this.state.inView;\n }\n\n componentWillUnmount() {\n this.unmountCallbacks.forEach(cb => cb());\n }\n\n componentDidMount() {\n if (this.props.lazyLoad) {\n if (typeof IntersectionObserver === 'undefined' || !this.ref) {\n this.setState({ inView: true });\n } else {\n const observer = new IntersectionObserver(\n (entries, observer) => {\n entries.forEach(entry => {\n if (entry.intersectionRatio > 0) {\n this.setState({\n inView: true,\n });\n if (this.ref) {\n observer.unobserve(this.ref);\n }\n }\n });\n },\n {\n rootMargin: '10px',\n }\n );\n\n observer.observe(this.ref);\n\n this.unmountCallbacks.push(() => {\n if (this.ref) {\n observer.unobserve(this.ref);\n }\n });\n }\n }\n }\n\n render() {\n return (\n <section\n ref={ref => (this.ref = ref)}\n css={{\n width: '100%',\n // height: '100%' was is here so the inner contents can align center, but that is causing\n // issues in Safari. Need another workaround.\n alignSelf: 'stretch',\n flexGrow: 1,\n boxSizing: 'border-box',\n maxWidth: this.props.maxWidth,\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'stretch',\n marginLeft: 'auto',\n marginRight: 'auto',\n ...(this.renderContents ? null : this.props.lazyStyles),\n }}\n >\n {this.renderContents ? (\n <React.Fragment>\n {this.props.children}\n {this.props.builderBlock &&\n this.props.builderBlock.children &&\n this.props.builderBlock.children.map((block, index) => (\n <BuilderBlockComponent key={block.id} block={block} />\n ))}\n </React.Fragment>\n ) : null}\n </section>\n );\n }\n}\n\nexport const Section = withBuilder(SectionComponent, {\n name: 'Core:Section',\n static: true,\n image:\n 'https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2F682efef23ace49afac61748dd305c70a',\n inputs: [\n {\n name: 'maxWidth',\n type: 'number',\n defaultValue: 1200,\n },\n {\n name: 'lazyLoad',\n type: 'boolean',\n defaultValue: false,\n advanced: true,\n description: 'Only render this section when in view',\n },\n ],\n defaultStyles: {\n paddingLeft: '20px',\n paddingRight: '20px',\n paddingTop: '50px',\n paddingBottom: '50px',\n marginTop: '0px',\n width: '100vw',\n marginLeft: 'calc(50% - 50vw)',\n },\n canHaveChildren: true,\n\n defaultChildren: [\n {\n '@type': '@builder.io/sdk:Element',\n responsiveStyles: {\n large: {\n textAlign: 'center',\n },\n },\n component: {\n name: 'Text',\n options: {\n text: \"<p><b>I am a section! My content keeps from getting too wide, so that it's easy to read even on big screens.</b></p><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur</p>\",\n },\n },\n },\n ],\n});\n","import React from 'react';\nimport { BuilderElement } from '@builder.io/sdk';\nimport { BuilderBlock as BuilderBlockComponent } from '../components/builder-block.component';\nimport { BuilderStoreContext } from '../store/builder-store';\nimport { withBuilder } from '../functions/with-builder';\n\ninterface StateProviderProps {\n builderBlock?: BuilderElement;\n state: any;\n context?: any;\n}\n\nclass StateProviderComponent extends React.Component<StateProviderProps> {\n render() {\n return (\n <BuilderStoreContext.Consumer>\n {state => (\n <BuilderStoreContext.Provider\n value={{\n ...state,\n state: {\n ...state.state,\n ...this.props.state,\n },\n context: {\n ...state.context,\n ...this.props.context,\n },\n }}\n >\n {this.props.builderBlock &&\n this.props.builderBlock.children &&\n this.props.builderBlock.children.map((block, index) => (\n <BuilderBlockComponent block={block} key={block.id} index={index} child={true} />\n ))}\n {this.props.children}\n </BuilderStoreContext.Provider>\n )}\n </BuilderStoreContext.Consumer>\n );\n }\n}\n\nexport const StateProvider = withBuilder(StateProviderComponent, {\n name: 'Builder:StateProvider',\n // TODO: default children\n canHaveChildren: true,\n static: true,\n noWrap: true,\n hideFromInsertMenu: true,\n});\n","/** @jsx jsx */\nimport { jsx } from '@emotion/core';\nimport React from 'react';\nimport { BuilderElement, builder, Builder } from '@builder.io/sdk';\nimport { BuilderStoreContext } from '../store/builder-store';\nimport { BuilderComponent } from '../components/builder-component.component';\nimport { withBuilder } from '../functions/with-builder';\n\nexport interface RouterProps {\n model?: string;\n data?: string;\n content?: any;\n handleRouting?: boolean;\n builderBlock?: BuilderElement;\n preloadOnHover?: boolean;\n onRoute?: (routeEvent: RouteEvent) => void;\n}\n\nconst prefetched = new Set();\n\nfunction searchToObject(location: Location) {\n const pairs = (location.search || '').substring(1).split('&');\n const obj: { [key: string]: string } = {};\n\n for (const i in pairs) {\n if (!(pairs[i] && typeof pairs[i] === 'string')) {\n continue;\n }\n const pair = pairs[i].split('=');\n obj[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1]);\n }\n\n return obj;\n}\n\nexport interface RouteEvent {\n /**\n * Url being routed to\n */\n url: string;\n /**\n * Html anchor element the href is on that\n * caused the route\n */\n anchorNode: HTMLAnchorElement;\n /**\n * Has preventDefault() been called preventing\n * builder from routing to the clicked URL\n */\n defaultPrevented: boolean;\n /**\n * Prevents builder from handling routing for you to handle\n * yourself\n */\n preventDefault(): void;\n}\n\nclass RouterComponent extends React.Component<RouterProps> {\n builder = builder;\n\n routed = false;\n\n private preloadQueue = 0;\n\n // TODO: handle route to same url as current (do nothing)\n // TODO: replaceState option\n public route(url: string) {\n this.routed = true;\n\n // TODO: check if relative?\n if (typeof window.history?.pushState === 'function') {\n history.pushState(null, '', url);\n this.updateLocationState();\n return true;\n } else {\n location.href = url;\n return false;\n }\n }\n\n private updateLocationState() {\n if (this.privateState) {\n // Reload path info\n this.privateState.update(obj => {\n // TODO: force always override the location path info... hmm\n obj.location = {\n ...obj.location,\n pathname: location.pathname,\n search: location.search,\n path: location.pathname.split('/').slice(1),\n query: searchToObject(location),\n };\n });\n }\n }\n\n private get model() {\n return this.props.model || 'page';\n }\n\n componentDidMount() {\n if (typeof document !== 'undefined') {\n document.addEventListener('click', this.onClick);\n window.addEventListener('popstate', this.onPopState);\n document.addEventListener('mouseover', this.onMouseOverOrTouchStart);\n document.addEventListener('touchstart', this.onMouseOverOrTouchStart);\n }\n }\n\n componentWillUnmount() {\n if (typeof document !== 'undefined') {\n document.removeEventListener('click', this.onClick);\n document.removeEventListener('mouseover', this.onMouseOverOrTouchStart);\n window.removeEventListener('popstate', this.onPopState);\n document.removeEventListener('touchstart', this.onMouseOverOrTouchStart);\n }\n }\n\n private onPopState = (event: Event) => {\n this.updateLocationState();\n };\n\n private onMouseOverOrTouchStart = (event: MouseEvent | TouchEvent) => {\n if (this.preloadQueue > 4) {\n return;\n }\n\n if (this.props.preloadOnHover === false) {\n return;\n }\n\n const hrefTarget = this.findHrefTarget(event);\n if (!hrefTarget) {\n return;\n }\n\n let href = hrefTarget.getAttribute('href');\n if (!href) {\n return;\n }\n\n // TODO: onPreload hook and preload dom event\n // Also allow that to be defaultPrevented to cancel this behavior\n if (!this.isRelative(href)) {\n const converted = this.convertToRelative(href);\n if (converted) {\n href = converted;\n } else {\n return;\n }\n }\n\n if (href.startsWith('#')) {\n return;\n }\n\n if (prefetched.has(href)) {\n return;\n }\n prefetched.add(href);\n\n const parsedUrl = this.parseUrl(href);\n\n // TODO: override location!\n this.preloadQueue++;\n\n // TODO: use builder from context\n const attributes = builder.getUserAttributes();\n attributes.urlPath = parsedUrl.pathname;\n attributes.queryString = parsedUrl.search;\n\n // Should be queue?\n const subscription = builder\n .get(this.model, {\n userAttributes: attributes,\n key: this.model + ':' + parsedUrl.pathname + parsedUrl.search,\n })\n .subscribe(() => {\n this.preloadQueue--;\n subscription.unsubscribe();\n });\n };\n\n private onClick = async (event: MouseEvent) => {\n if (this.props.handleRouting === false) {\n return;\n }\n\n if (event.button !== 0 || event.ctrlKey || event.defaultPrevented || event.metaKey) {\n // If this is a non-left click, or the user is holding ctr/cmd, or the url is absolute,\n // or if the link has a target attribute, don't route on the client and let the default\n // href property handle the navigation\n return;\n }\n\n const hrefTarget = this.findHrefTarget(event);\n if (!hrefTarget) {\n return;\n }\n\n // target=\"_blank\" or target=\"_self\" etc\n if (hrefTarget.target && hrefTarget.target !== '_client') {\n return;\n }\n\n let href = hrefTarget.getAttribute('href');\n if (!href) {\n return;\n }\n\n if (this.props.onRoute) {\n const routeEvent: RouteEvent = {\n url: href,\n anchorNode: hrefTarget,\n preventDefault() {\n this.defaultPrevented = true;\n },\n defaultPrevented: false,\n };\n\n this.props.onRoute(routeEvent);\n\n if (routeEvent.defaultPrevented) {\n // Wait should this be here? they may want browser to handle this by deault preventing ours...\n // event.preventDefault()\n return;\n }\n }\n\n if (!this.isRelative(href)) {\n const converted = this.convertToRelative(href);\n if (converted) {\n href = converted;\n } else {\n return;\n }\n }\n\n if (href.startsWith('#')) {\n return;\n }\n\n // Otherwise if this url is relative, navigate on the client\n event.preventDefault();\n\n this.route(href);\n };\n\n render() {\n const { model } = this;\n return (\n <BuilderStoreContext.Consumer>\n {state => {\n this.privateState = state;\n // TODO: useEffect based on this that fetches new data and\n // populates as content={} param for fast updates\n const url =\n state.state &&\n state.state.location &&\n state.state.location.pathname + state.state.location.search;\n\n return (\n <div className=\"builder-router\" data-model={model}>\n {/* TODO: move to emotion */}\n <style>{`\n @keyframes builderLoadingSpinner {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n /* TODO: overridable tag */\n .builder-page-loading {\n -webkit-animation: builderLoadingSpinner 1s infinite linear;\n animation: builderLoadingSpinner 1s infinite linear;\n -webkit-transform: translateZ(0);\n transform: translateZ(0);\n border-radius: 50%;\n width: 36px;\n height: 36px;\n margin: 6px auto;\n position: relative;\n border: 1px solid transparent;\n border-left: 1px solid #808284;\n }\n `}</style>\n <BuilderComponent\n // TODO: this key strategy is inidial bc it gives loading for full page when fetching content\n // Also sometimes content flashes to loading even when it's already precached in memory and should immediately display\n // - why\n key={url}\n data={this.props.data}\n content={this.routed ? undefined : this.props.content}\n modelName={model}\n options={{\n key: Builder.isEditing ? undefined : this.model + ':' + url, // TODO: other custom targets specify if should refetch components on change\n }}\n >\n {/* TODO: builder blocks option for loading stuff */}\n {/* TODO: input for builder blocks for this */}\n {this.props.children || (\n <div css={{ display: 'flex' }}>\n <div css={{ margin: '40vh auto' }} className=\"builder-page-loading\" />\n </div>\n )}\n </BuilderComponent>\n </div>\n );\n }}\n </BuilderStoreContext.Consumer>\n );\n }\n\n private findHrefTarget(event: MouseEvent | TouchEvent): HTMLAnchorElement | null {\n // TODO: move to core\n let element = event.target as HTMLElement | null;\n\n while (element) {\n if (element instanceof HTMLAnchorElement && element.getAttribute('href')) {\n return element;\n }\n\n if (element === event.currentTarget) {\n break;\n }\n\n element = element.parentElement;\n }\n\n return null;\n }\n\n private isRelative(href: string) {\n return !href.match(/^(\\/\\/|https?:\\/\\/)/i);\n }\n\n private privateState: {\n state: any;\n update: (mutator: (state: any) => any) => void;\n } | null = null;\n\n // This method can only be called client side only. It is only invoked on click events\n private parseUrl(url: string) {\n const a = document.createElement('a');\n a.href = url;\n return a;\n }\n\n private convertToRelative(href: string): string | null {\n const currentUrl = this.parseUrl(location.href);\n const hrefUrl = this.parseUrl(href);\n\n if (currentUrl.host === hrefUrl.host) {\n const relativeUrl = hrefUrl.pathname + (hrefUrl.search ? hrefUrl.search : '');\n\n if (relativeUrl.startsWith('#')) {\n return null;\n }\n return relativeUrl || '/';\n }\n\n return null;\n }\n}\n\nexport const Router = withBuilder(RouterComponent, {\n name: 'Core:Router',\n hideFromInsertMenu: true,\n // TODO: advanced: true\n inputs: [\n {\n // TODO: search picker\n name: 'model',\n type: 'string',\n defaultValue: 'page',\n advanced: true,\n },\n {\n name: 'handleRouting',\n type: 'boolean',\n defaultValue: true,\n advanced: true,\n },\n {\n name: 'preloadOnHover',\n type: 'boolean',\n defaultValue: true,\n advanced: true,\n },\n {\n name: 'onRoute',\n type: 'function',\n advanced: true,\n // Subfields are function arguments - object with properties\n },\n ],\n});\n","/** @jsx jsx */\nimport { jsx } from '@emotion/core';\nimport React from 'react';\nimport { Builder, BuilderElement } from '@builder.io/sdk';\nimport { BuilderBlocks } from '../components/builder-blocks.component';\n\nBuilder.registerComponent(Mutation, {\n name: 'Builder:Mutation',\n canHaveChildren: true,\n noWrap: true,\n hideFromInsertMenu: true,\n inputs: [\n {\n name: 'type',\n type: 'string',\n defaultValue: 'replace',\n enum: [\n {\n label: 'Replace',\n value: 'replace',\n helperText: 'Replace the contents of this site region with content from Builder',\n },\n {\n label: 'Append',\n value: 'afterEnd',\n helperText: 'Append Builder content after the chosen site region',\n },\n ],\n },\n {\n name: 'selector',\n // TODO: special UI for this\n type: 'builder:domSelector',\n },\n ],\n});\n\ntype MutationProps = {\n selector: string;\n builderBlock?: BuilderElement;\n type?: 'replace' | 'afterEnd';\n};\n\nexport function Mutation(props: MutationProps) {\n const ref = React.useRef<HTMLDivElement | null>(null);\n\n useWaitForSelector(props.selector, node => {\n // TODO: static generate this logic\n if (props.type !== 'afterEnd') {\n node.innerHTML = '';\n }\n node.appendChild(ref.current!.firstElementChild!);\n });\n\n const children = props.builderBlock?.children;\n\n return (\n <span style={{ display: 'none' }} ref={ref}>\n <BuilderBlocks\n style={{\n display: 'inline',\n }}\n child\n parentElementId={props.builderBlock?.id}\n dataPath=\"this.children\"\n blocks={children}\n />\n </span>\n );\n}\n\nfunction useWaitForSelector(selector: string, cb: (node: Element) => void) {\n React.useLayoutEffect(() => {\n try {\n const existingElement = document.querySelector(selector);\n if (existingElement) {\n cb(existingElement);\n return;\n }\n } catch (err) {\n console.warn(err);\n }\n\n const observer = new MutationObserver(() => {\n try {\n const foundElement = document.querySelector(selector);\n if (foundElement) {\n observer.disconnect();\n cb(foundElement);\n }\n } catch (err) {\n console.warn(err);\n }\n });\n\n observer.observe(document.body, {\n attributes: true,\n subtree: true,\n characterData: true,\n });\n\n return () => {\n observer.disconnect();\n };\n }, [selector]);\n}\n","export const get = (obj: any, path: string, defaultValue?: any) => {\n const result = String.prototype.split\n .call(path, /[,[\\].]+?/)\n .filter(Boolean)\n .reduce((res, key) => (res !== null && res !== undefined ? res[key] : res), obj);\n return result === undefined || result === obj ? defaultValue : result;\n};\n","/** @jsx jsx */\nimport { jsx } from '@emotion/core';\nimport React from 'react';\nimport { BuilderBlock as BuilderBlockComponent } from '../../components/builder-block.component';\nimport { BuilderElement, Builder, builder } from '@builder.io/sdk';\nimport { BuilderBlocks } from '../../components/builder-blocks.component';\nimport { BuilderStoreContext } from '../../store/builder-store';\nimport { set } from '../../functions/set';\nimport { get } from '../../functions/get';\nimport { withBuilder } from '../../functions/with-builder';\n\nexport interface FormProps {\n attributes?: any;\n name?: string;\n action?: string;\n validate?: boolean;\n method?: string;\n builderBlock?: BuilderElement;\n sendSubmissionsTo?: string;\n sendSubmissionsToEmail?: string;\n sendWithJs?: boolean;\n contentType?: string;\n customHeaders?: { [key: string]: string };\n successUrl?: string;\n previewState?: string;\n successMessage?: BuilderElement[];\n errorMessage?: BuilderElement[];\n sendingMessage?: BuilderElement[];\n resetFormOnSubmit?: boolean;\n errorMessagePath?: string;\n}\n\nconst MULTIPART_CONTENT_TYPE = 'multipart/form-data';\nconst JSON_CONTENT_TYPE = 'application/json';\nconst ENCODED_CONTENT_TYPE = 'application/x-www-form-urlencoded';\n\nclass FormComponent extends React.Component<FormProps> {\n ref: HTMLFormElement | null = null;\n\n // TODO: link this state to global state and allow togglign the modes in\n // the style and or data editor. TODO: for now some kind of input for preview state\n // that only impacts in the editor?\n state = {\n state: 'unsubmitted' as 'unsubmitted' | 'sending' | 'success' | 'error',\n // TODO: separate response and error?\n responseData: null as any,\n formErrorMessage: '',\n };\n\n get submissionState() {\n return (Builder.isEditing && this.props.previewState) || this.state.state;\n }\n\n render() {\n return (\n // TODO: JS data bindings\n <BuilderStoreContext.Consumer>\n {state => (\n <BuilderStoreContext.Provider\n value={{\n ...state,\n state: {\n ...state.state,\n formErrorMessage: this.state.formErrorMessage,\n },\n }}\n >\n <form\n validate={this.props.validate}\n ref={ref => (this.ref = ref)}\n action={!this.props.sendWithJs && this.props.action}\n method={this.props.method}\n name={this.props.name}\n onSubmit={event => {\n const sendWithJs =\n this.props.sendWithJs || this.props.sendSubmissionsTo === 'email';\n // TODO: custom validate event that can preventDefault and use ref or event to set\n // invalid message\n if (this.props.sendSubmissionsTo === 'zapier') {\n event.preventDefault();\n // TODO: send submission to zapier\n } else if (sendWithJs) {\n if (!(this.props.action || this.props.sendSubmissionsTo === 'email')) {\n event.preventDefault();\n return;\n }\n event.preventDefault();\n\n // TODO: error and success state\n const el = event.currentTarget;\n const headers = this.props.customHeaders || {};\n\n let body: any;\n\n const formData = new FormData(el);\n\n // TODO: maybe support null\n const formPairs: {\n key: string;\n value: File | boolean | number | string | FileList;\n }[] = Array.from(event.currentTarget.querySelectorAll('input,select,textarea'))\n .filter(el => !!(el as HTMLInputElement).name)\n .map(el => {\n let value: any;\n const key = (el as HTMLImageElement).name;\n if (el instanceof HTMLInputElement) {\n if (el.type === 'radio') {\n if (el.checked) {\n value = el.name;\n return { key, value };\n }\n } else if (el.type === 'checkbox') {\n value = el.checked;\n } else if (el.type === 'number' || el.type === 'range') {\n const num = el.valueAsNumber;\n if (!isNaN(num)) {\n value = num;\n }\n } else if (el.type === 'file') {\n // TODO: one vs multiple files\n value = el.files;\n } else {\n value = el.value;\n }\n } else {\n value = (el as HTMLInputElement).value;\n }\n\n return { key, value };\n });\n\n let contentType = this.props.contentType;\n\n if (this.props.sendSubmissionsTo === 'email') {\n contentType = MULTIPART_CONTENT_TYPE;\n }\n\n Array.from(formPairs).forEach(({ value }) => {\n if (\n value instanceof File ||\n (Array.isArray(value) && value[0] instanceof File) ||\n value instanceof FileList\n ) {\n contentType = MULTIPART_CONTENT_TYPE;\n }\n });\n\n if (contentType === MULTIPART_CONTENT_TYPE) {\n body = formData;\n } else if (contentType === JSON_CONTENT_TYPE) {\n const json = {};\n\n Array.from(formPairs).forEach(({ value, key }) => {\n set(json, key, value);\n });\n\n body = JSON.stringify(json);\n } else if (contentType === ENCODED_CONTENT_TYPE) {\n body = Array.from(formPairs)\n .map(({ value, key }) => {\n return (\n encodeURIComponent(key) +\n '=' +\n encodeURIComponent(value as boolean | number | string)\n );\n })\n .join('&');\n } else {\n // Unsupported content type\n console.error('Unsupported content type: ', contentType);\n return;\n }\n\n if (contentType && contentType !== MULTIPART_CONTENT_TYPE) {\n if (\n // Zapier doesn't allow content-type header to be sent from browsers\n !(sendWithJs && this.props.action?.includes('zapier.com'))\n ) {\n headers['content-type'] = contentType;\n }\n }\n\n const presubmitEvent = new CustomEvent('presubmit', {\n detail: {\n body,\n },\n });\n if (this.ref) {\n this.ref.dispatchEvent(presubmitEvent);\n if (presubmitEvent.defaultPrevented) {\n return;\n }\n }\n\n this.setState({\n ...this.state,\n state: 'sending',\n });\n\n const formUrl = `${\n builder.env === 'dev' ? 'http://localhost:5000' : 'https://builder.io'\n }/api/v1/form-submit?apiKey=${builder.apiKey}&to=${btoa(\n this.props.sendSubmissionsToEmail || ''\n )}&name=${encodeURIComponent(this.props.name || '')}`;\n\n fetch(\n this.props.sendSubmissionsTo === 'email' ? formUrl : this.props.action!, // TODO: throw error if no action URL\n {\n body,\n headers,\n method: this.props.method || 'post',\n }\n ).then(\n async res => {\n let body;\n const contentType = res.headers.get('content-type');\n if (contentType && contentType.indexOf(JSON_CONTENT_TYPE) !== -1) {\n body = await res.json();\n } else {\n body = await res.text();\n }\n\n if (!res.ok && this.props.errorMessagePath) {\n // TODO: allow supplying an error formatter function\n let message = get(body, this.props.errorMessagePath);\n\n if (message) {\n if (typeof message !== 'string') {\n // TODO: ideally convert json to yaml so it woul dbe like\n // error: - email has been taken\n message = JSON.stringify(message);\n }\n this.setState({\n ...this.state,\n formErrorMessage: message,\n });\n }\n }\n\n this.setState({\n ...this.state,\n responseData: body,\n state: res.ok ? 'success' : 'error',\n });\n\n if (res.ok) {\n // TODO: send submit success event\n\n const submitSuccessEvent = new CustomEvent('submit:success', {\n detail: {\n res,\n body,\n },\n });\n if (this.ref) {\n this.ref.dispatchEvent(submitSuccessEvent);\n if (submitSuccessEvent.defaultPrevented) {\n return;\n }\n // TODO: option to turn this on/off?\n if (this.props.resetFormOnSubmit !== false) {\n this.ref.reset();\n }\n }\n\n // TODO: client side route event first that can be preventDefaulted\n if (this.props.successUrl) {\n if (this.ref) {\n const event = new CustomEvent('route', {\n detail: {\n url: this.props.successUrl,\n },\n });\n this.ref.dispatchEvent(event);\n if (!event.defaultPrevented) {\n location.href = this.props.successUrl;\n }\n } else {\n location.href = this.props.successUrl;\n }\n }\n }\n },\n err => {\n const submitErrorEvent = new CustomEvent('submit:error', {\n detail: {\n error: err,\n },\n });\n if (this.ref) {\n this.ref.dispatchEvent(submitErrorEvent);\n if (submitErrorEvent.defaultPrevented) {\n return;\n }\n }\n\n // TODO: send submit error event\n this.setState({\n ...this.state,\n responseData: err,\n state: 'error',\n });\n }\n );\n }\n }}\n {...this.props.attributes}\n >\n {/* TODO: maybe BuilderBlocks */}\n {this.props.builderBlock &&\n this.props.builderBlock.children &&\n this.props.builderBlock.children.map((block, index) => (\n <BuilderBlockComponent key={block.id} block={block} />\n ))}\n\n {this.submissionState === 'error' && (\n <BuilderBlocks dataPath=\"errorMessage\" blocks={this.props.errorMessage!} />\n )}\n\n {this.submissionState === 'sending' && (\n <BuilderBlocks dataPath=\"sendingMessage\" blocks={this.props.sendingMessage!} />\n )}\n\n {/* TODO: option to turn this off */}\n {this.submissionState === 'error' && this.state.responseData && (\n // TODO: tag to edit\n <pre\n className=\"builder-form-error-text\"\n css={{ padding: 10, color: 'red', textAlign: 'center' }}\n >\n {JSON.stringify(this.state.responseData, null, 2)}\n </pre>\n )}\n\n {this.submissionState === 'success' && (\n <BuilderBlocks dataPath=\"successMessage\" blocks={this.props.successMessage!} />\n )}\n </form>\n </BuilderStoreContext.Provider>\n )}\n </BuilderStoreContext.Consumer>\n );\n }\n}\n\nexport const Form = withBuilder(FormComponent, {\n name: 'Form:Form',\n // editableTags: ['builder-form-error']\n defaults: {\n responsiveStyles: {\n large: {\n marginTop: '15px',\n paddingBottom: '15px',\n },\n },\n },\n image:\n 'https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2Fef36d2a846134910b64b88e6d18c5ca5',\n inputs: [\n {\n name: 'sendSubmissionsTo',\n type: 'string',\n // TODO: save to builder data and user can download as csv\n // TODO: easy for mode too or computed add/remove fields form mode\n // so you can edit details and high level mode at same time...\n // Later - more integrations like mailchimp\n // /api/v1/form-submit?to=mailchimp\n enum: [\n {\n label: 'Send to email',\n value: 'email',\n helperText: 'Send form submissions to the email address of your choosing',\n },\n {\n label: 'Custom',\n value: 'custom',\n helperText:\n 'Handle where the form requests go manually with a little code, e.g. to your own custom backend',\n },\n ],\n defaultValue: 'email',\n },\n {\n name: 'sendSubmissionsToEmail',\n type: 'string',\n required: true, // TODO: required: () => options.get(\"sendSubmissionsTo\") === \"email\"\n defaultValue: 'your@email.com',\n showIf: 'options.get(\"sendSubmissionsTo\") === \"email\"',\n },\n {\n name: 'sendWithJs',\n type: 'boolean',\n helperText: 'Set to false to use basic html form action',\n defaultValue: true,\n showIf: 'options.get(\"sendSubmissionsTo\") === \"custom\"',\n },\n {\n name: 'name',\n type: 'string',\n defaultValue: 'My form',\n // advanced: true\n },\n {\n name: 'action',\n type: 'string',\n helperText: 'URL to send the form data to',\n showIf: 'options.get(\"sendSubmissionsTo\") === \"custom\"',\n },\n {\n name: 'contentType',\n type: 'string',\n defaultValue: JSON_CONTENT_TYPE,\n advanced: true,\n // TODO: do automatically if file input\n enum: [JSON_CONTENT_TYPE, MULTIPART_CONTENT_TYPE, ENCODED_CONTENT_TYPE],\n showIf: 'options.get(\"sendSubmissionsTo\") === \"custom\" && options.get(\"sendWithJs\") === true',\n },\n {\n name: 'method',\n type: 'string',\n showIf: 'options.get(\"sendSubmissionsTo\") === \"custom\"',\n defaultValue: 'POST',\n advanced: true,\n },\n {\n name: 'previewState',\n type: 'string',\n // TODO: persist: false flag\n enum: ['unsubmitted', 'sending', 'success', 'error'],\n defaultValue: 'unsubmitted',\n helperText:\n 'Choose a state to edit, e.g. choose \"success\" to show what users see on success and edit the message',\n showIf: 'options.get(\"sendSubmissionsTo\") !== \"zapier\" && options.get(\"sendWithJs\") === true',\n },\n {\n name: 'successUrl',\n type: 'url',\n helperText: 'Optional URL to redirect the user to on form submission success',\n showIf: 'options.get(\"sendSubmissionsTo\") !== \"zapier\" && options.get(\"sendWithJs\") === true',\n },\n {\n name: 'resetFormOnSubmit',\n type: 'boolean',\n showIf: options =>\n options.get('sendSubmissionsTo') === 'custom' && options.get('sendWithJs') === true,\n advanced: true,\n },\n {\n name: 'successMessage',\n type: 'uiBlocks',\n hideFromUI: true,\n defaultValue: [\n {\n '@type': '@builder.io/sdk:Element',\n responsiveStyles: {\n large: {\n marginTop: '10px',\n },\n },\n component: {\n name: 'Text',\n options: {\n text: '<span>Thanks!</span>',\n },\n },\n },\n ],\n },\n {\n name: 'validate',\n type: 'boolean',\n defaultValue: true,\n advanced: true,\n },\n {\n name: 'errorMessagePath',\n type: 'text',\n advanced: true,\n helperText:\n 'Path to where to get the error message from in a JSON response to display to the user, e.g. \"error.message\" for a response like { \"error\": { \"message\": \"this username is taken\" }}',\n },\n {\n name: 'errorMessage',\n type: 'uiBlocks',\n hideFromUI: true,\n defaultValue: [\n {\n '@type': '@builder.io/sdk:Element',\n responsiveStyles: {\n large: {\n marginTop: '10px',\n },\n },\n bindings: {\n 'component.options.text': 'state.formErrorMessage || block.component.options.text',\n },\n component: {\n name: 'Text',\n options: {\n // TODO: how pull in API message\n text: '<span>Form submission error :( Please check your answers and try again</span>',\n },\n },\n },\n ],\n },\n {\n name: 'sendingMessage',\n type: 'uiBlocks',\n hideFromUI: true,\n defaultValue: [\n {\n '@type': '@builder.io/sdk:Element',\n responsiveStyles: {\n large: {\n marginTop: '10px',\n },\n },\n component: {\n name: 'Text',\n options: {\n // TODO: how pull in API message\n text: '<span>Sending...</span>',\n },\n },\n },\n ],\n },\n {\n name: 'customHeaders',\n type: 'map',\n // TODO: add typings for this property\n ...({\n valueType: {\n type: 'string',\n },\n } as any),\n advanced: true,\n showIf: 'options.get(\"sendSubmissionsTo\") === \"custom\" && options.get(\"sendWithJs\") === true',\n },\n // TODO: custom headers or any fetch options\n // TODO: json vs serialized (i.e. send on client or not)\n // TODO: success/fail stuff\n ],\n noWrap: true,\n // TODO: defaultChildren with two inputs and submit button\n canHaveChildren: true,\n defaultChildren: [\n {\n '@type': '@builder.io/sdk:Element',\n responsiveStyles: {\n large: {\n marginTop: '10px',\n },\n },\n component: {\n name: 'Text',\n options: {\n text: '<span>Enter your name</span>',\n },\n },\n },\n {\n '@type': '@builder.io/sdk:Element',\n responsiveStyles: {\n large: {\n marginTop: '10px',\n },\n },\n component: {\n name: 'Form:Input',\n options: {\n name: 'name',\n placeholder: 'Jane Doe',\n },\n },\n },\n {\n '@type': '@builder.io/sdk:Element',\n responsiveStyles: {\n large: {\n marginTop: '10px',\n },\n },\n component: {\n name: 'Text',\n options: {\n text: '<span>Enter your email</span>',\n },\n },\n },\n {\n '@type': '@builder.io/sdk:Element',\n responsiveStyles: {\n large: {\n marginTop: '10px',\n },\n },\n component: {\n name: 'Form:Input',\n options: {\n name: 'email',\n placeholder: 'jane@doe.com',\n },\n },\n },\n {\n '@type': '@builder.io/sdk:Element',\n responsiveStyles: {\n large: {\n marginTop: '10px',\n },\n },\n component: {\n name: 'Form:SubmitButton',\n options: {\n text: 'Submit',\n },\n },\n },\n ],\n});\n","import React from 'react';\nimport { Builder } from '@builder.io/sdk';\nimport { withBuilder } from '../../functions/with-builder';\n\n// TODO: how do onchange...\n// TODO: actions all custom events and custom js gets\n// passed an element reference and listens for events....\n// Needs to unsubscribe, so must manage\nexport interface FormInputProps {\n type?: string;\n attributes?: any;\n name?: string;\n value?: string;\n placeholder?: string;\n defaultValue?: string;\n required?: boolean;\n}\n\nclass FormInputComponent extends React.Component<FormInputProps> {\n render() {\n return (\n <input\n key={Builder.isEditing && this.props.defaultValue ? this.props.defaultValue : 'default-key'}\n placeholder={this.props.placeholder}\n type={this.props.type}\n name={this.props.name}\n value={this.props.value}\n defaultValue={this.props.defaultValue}\n required={this.props.required}\n {...this.props.attributes}\n />\n );\n }\n}\n\nexport const FormInput = withBuilder(FormInputComponent, {\n name: 'Form:Input',\n image:\n 'https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2Fad6f37889d9e40bbbbc72cdb5875d6ca',\n inputs: [\n {\n name: 'type',\n type: 'text',\n enum: [\n 'text',\n 'number',\n 'email',\n 'url',\n 'checkbox',\n 'radio',\n 'range',\n 'date',\n 'datetime-local',\n 'search',\n 'tel',\n 'time',\n 'file',\n 'month',\n 'week',\n 'password',\n 'color',\n 'hidden',\n ],\n defaultValue: 'text',\n },\n {\n name: 'name',\n type: 'string',\n required: true,\n helperText:\n 'Every input in a form needs a unique name describing what it takes, e.g. \"email\"',\n },\n {\n name: 'placeholder',\n type: 'string',\n defaultValue: 'Hello there',\n helperText: 'Text to display when there is no value',\n },\n // TODO: handle value vs default value automatically like ng-model\n {\n name: 'defaultValue',\n type: 'string',\n },\n {\n name: 'value',\n type: 'string',\n advanced: true,\n },\n\n {\n name: 'required',\n type: 'boolean',\n helperText: 'Is this input required to be filled out to submit a form',\n defaultValue: false,\n },\n ],\n // TODO\n // TODO: call editorHooks?\n // ...({\n // hooks: {\n // 'ElementLayout:shiftBottomSide': (element: Element, amount: number, snap: boolean) => {\n // // TODO: either update line height or split the padding padding on bottom sides hmm\n // }\n // } as any,\n // }),\n noWrap: true,\n static: true,\n defaultStyles: {\n paddingTop: '10px',\n paddingBottom: '10px',\n paddingLeft: '10px',\n paddingRight: '10px',\n borderRadius: '3px',\n borderWidth: '1px',\n borderStyle: 'solid',\n borderColor: '#ccc',\n },\n});\n","import React from 'react';\nimport { withBuilder } from '../../functions/with-builder';\n\nexport interface ButtonProps {\n attributes?: any;\n text?: string;\n}\n\nclass FormSubmitButtonComponent extends React.Component<ButtonProps> {\n render() {\n return (\n <button type=\"submit\" {...this.props.attributes}>\n {this.props.text}\n </button>\n );\n }\n}\n\nexport const FormSubmitButton = withBuilder(FormSubmitButtonComponent, {\n name: 'Form:SubmitButton',\n image:\n 'https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2Fdf2820ffed1f4349a94c40b3221f5b98',\n defaultStyles: {\n appearance: 'none',\n paddingTop: '15px',\n paddingBottom: '15px',\n paddingLeft: '25px',\n paddingRight: '25px',\n backgroundColor: '#3898EC',\n color: 'white',\n borderRadius: '4px',\n cursor: 'pointer',\n },\n inputs: [\n {\n name: 'text',\n type: 'text',\n defaultValue: 'Click me',\n },\n ],\n static: true,\n noWrap: true,\n // TODO: optional children? maybe as optional form input\n // that only shows if advanced setting is flipped\n // TODO: defaultChildren\n // canHaveChildren: true,\n});\n","import React from 'react';\nimport { BuilderElement } from '@builder.io/sdk';\nimport { BuilderBlockComponent } from '../../builder-react';\nimport { withBuilder } from '../../functions/with-builder';\n\nexport interface LabelProps {\n attributes?: any;\n text?: string;\n for?: string;\n builderBlock?: BuilderElement;\n}\n\nclass LabelComponent extends React.Component<LabelProps> {\n render() {\n return (\n <label htmlFor={this.props.for} {...this.props.attributes}>\n {this.props.text && (\n <span\n className=\"builder-label-text\"\n dangerouslySetInnerHTML={{\n __html: this.props.text,\n }}\n />\n )}\n {this.props.builderBlock &&\n this.props.builderBlock.children &&\n this.props.builderBlock.children.map(item => (\n <BuilderBlockComponent key={item.id} block={item} />\n ))}\n </label>\n );\n }\n}\n\n// TODO: strict ADA mode that enforces with custom error messages that all inputs need\n// labels and names\nexport const Label = withBuilder(LabelComponent, {\n name: 'Form:Label',\n image:\n 'https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2F9322342f04b545fb9a8091cd801dfb5b',\n inputs: [\n {\n name: 'text',\n type: 'html',\n richText: true,\n defaultValue: 'Label',\n },\n {\n name: 'for',\n type: 'text',\n helperText: 'The name of the input this label is for',\n advanced: true,\n },\n ],\n noWrap: true,\n static: true,\n canHaveChildren: true,\n // TODO: take inner html or blocsk\n // TODO: optional children? maybe as optional form input\n // that only shows if advanced setting is flipped\n // TODO: defaultChildren\n // canHaveChildren: true,\n});\n","import React from 'react';\nimport { Builder } from '@builder.io/sdk';\nimport { withBuilder } from '../../functions/with-builder';\n\nexport interface FormSelectProps {\n options?: { name?: string; value: string }[];\n attributes?: any;\n name?: string;\n value?: string;\n defaultValue?: string;\n}\n\nclass FormSelectComponent extends React.Component<FormSelectProps> {\n render() {\n const { options } = this.props;\n return (\n <select\n value={this.props.value}\n key={Builder.isEditing && this.props.defaultValue ? this.props.defaultValue : 'default-key'}\n defaultValue={this.props.defaultValue}\n name={this.props.name}\n {...this.props.attributes}\n >\n {options &&\n options.map(option => (\n <option value={option.value}>{option.name || option.value}</option>\n ))}\n </select>\n );\n }\n}\n\nexport const FormSelect = withBuilder(FormSelectComponent, {\n name: 'Form:Select',\n image:\n 'https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2F83acca093fb24aaf94dee136e9a4b045',\n defaultStyles: {\n alignSelf: 'flex-start',\n },\n inputs: [\n {\n name: 'options',\n type: 'list',\n required: true,\n subFields: [\n {\n name: 'value',\n type: 'text',\n required: true,\n },\n {\n name: 'name',\n type: 'text',\n },\n ],\n defaultValue: [\n {\n value: 'option 1',\n },\n {\n value: 'option 2',\n },\n ],\n },\n {\n name: 'name',\n type: 'string',\n required: true,\n helperText:\n 'Every select in a form needs a unique name describing what it gets, e.g. \"email\"',\n },\n {\n name: 'defaultValue',\n type: 'string',\n },\n {\n name: 'value',\n type: 'string',\n advanced: true,\n },\n\n {\n name: 'required',\n type: 'boolean',\n defaultValue: false,\n },\n ],\n static: true,\n noWrap: true,\n});\n","import React from 'react';\nimport { withBuilder } from '../../functions/with-builder';\n\nexport interface FormTextAreaProps {\n attributes?: any;\n name?: string;\n value?: string;\n defaultValue?: string;\n placeholder?: string;\n}\n\nclass TextAreaComponent extends React.Component<FormTextAreaProps> {\n render() {\n return (\n <textarea\n placeholder={this.props.placeholder}\n name={this.props.name}\n value={this.props.value}\n defaultValue={this.props.defaultValue}\n {...this.props.attributes}\n />\n );\n }\n}\n\nexport const TextArea = withBuilder(TextAreaComponent, {\n name: 'Form:TextArea',\n image:\n 'https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2Ff74a2f3de58c4c3e939204e5b6b8f6c3',\n inputs: [\n {\n advanced: true,\n name: 'value',\n type: 'string',\n },\n {\n name: 'name',\n type: 'string',\n required: true,\n helperText: 'Every input in a form needs a unique name describing what it gets, e.g. \"email\"',\n },\n {\n name: 'defaultValue',\n type: 'string',\n },\n {\n name: 'placeholder',\n type: 'string',\n defaultValue: 'Hello there',\n },\n {\n name: 'required',\n type: 'boolean',\n defaultValue: false,\n },\n ],\n defaultStyles: {\n paddingTop: '10px',\n paddingBottom: '10px',\n paddingLeft: '10px',\n paddingRight: '10px',\n borderRadius: '3px',\n borderWidth: '1px',\n borderStyle: 'solid',\n borderColor: '#ccc',\n },\n static: true,\n noWrap: true,\n});\n","import React from 'react';\nimport { BuilderElement } from '@builder.io/sdk';\nimport { withBuilder } from '../../functions/with-builder';\n\nexport interface ImgProps {\n attributes?: any;\n image?: string;\n builderBlock?: BuilderElement;\n}\n\n// TODO: srcset, alt text input, object size/position input, etc\n\nclass ImgComponent extends React.Component<ImgProps> {\n render() {\n const attributes = this.props.attributes || {};\n return (\n <img\n {...this.props.attributes}\n src={this.props.image || attributes.src}\n // TODO: generate this\n // srcSet={this.props.image || attributes.srcSet || attributes.srcset}\n />\n );\n }\n}\n\nexport const Img = withBuilder(ImgComponent, {\n // friendlyName?\n name: 'Raw:Img',\n hideFromInsertMenu: true,\n image:\n 'https://firebasestorage.googleapis.com/v0/b/builder-3b0a2.appspot.com/o/images%2Fbaseline-insert_photo-24px.svg?alt=media&token=4e5d0ef4-f5e8-4e57-b3a9-38d63a9b9dc4',\n inputs: [\n {\n name: 'image',\n bubble: true,\n type: 'file',\n allowedFileTypes: ['jpeg', 'jpg', 'png', 'svg'],\n required: true,\n },\n ],\n noWrap: true,\n static: true,\n});\n","import * as React from 'react';\nimport { BuilderElement, Builder } from '@builder.io/sdk';\n\nexport interface RawTextProps {\n attributes?: any;\n text?: string;\n builderBlock?: BuilderElement;\n}\n\nexport const RawText = (props: RawTextProps) => {\n const attributes = props.attributes || {};\n return (\n <span\n className={attributes?.class || attributes?.className}\n dangerouslySetInnerHTML={{ __html: props.text || '' }}\n />\n );\n};\n\nBuilder.registerComponent(RawText, {\n name: 'Builder:RawText',\n hideFromInsertMenu: true,\n inputs: [\n {\n name: 'text',\n bubble: true,\n type: 'longText',\n required: true,\n },\n ],\n});\n","import { useEffect, useState } from 'react';\nimport { Builder } from '@builder.io/sdk';\n\nexport function useIsPreviewing() {\n const [isPreviewing, setIsPreviewing] = useState(false);\n\n useEffect(() => {\n if (Builder.isEditing || Builder.isPreviewing) {\n setIsPreviewing(true);\n }\n }, []);\n\n return isPreviewing;\n}\n","import './scripts/init-editing';\n\nimport { builder, Builder } from '@builder.io/sdk';\nexport { BuilderElement } from '@builder.io/sdk';\n\nBuilder.isReact = true;\n\nexport { BuilderBlocks } from './components/builder-blocks.component';\nexport { BuilderBlock as BuilderBlockComponent } from './components/builder-block.component';\nexport { BuilderContent } from './components/builder-content.component';\nimport { BuilderComponent, onChange } from './components/builder-component.component';\nexport { BuilderStoreContext, BuilderStore } from './store/builder-store';\nexport { BuilderMetaContext } from './store/builder-meta';\nexport { BuilderAsyncRequestsContext } from './store/builder-async-requests';\nexport { BuilderBlock } from './decorators/builder-block.decorator';\n\nexport * from './functions/update-metadata';\n\nexport { withBuilder } from './functions/with-builder';\nexport { withChildren } from './functions/with-children';\nexport { noWrap } from './functions/no-wrap';\n\nexport { BuilderComponent as BuilderPage, onChange };\nexport { BuilderComponent };\nexport { BuilderComponent as RenderContent };\n\nexport { Text } from './blocks/Text';\nexport { Slot as Dropzone } from './blocks/Slot';\nexport { Fragment } from './blocks/Fragment';\nexport { Columns } from './blocks/Columns';\nexport { Embed } from './blocks/Embed';\nexport { CustomCode } from './blocks/CustomCode';\nexport { Image, getSrcSet } from './blocks/Image';\nexport { Video } from './blocks/Video';\nexport { Symbol } from './blocks/Symbol';\nexport { Button } from './blocks/Button';\nexport { Section } from './blocks/Section';\nexport { StateProvider } from './blocks/StateProvider';\nexport { Router } from './blocks/Router';\nexport { Mutation } from './blocks/Mutation';\n\nexport { Form } from './blocks/forms/Form';\nexport { FormInput } from './blocks/forms/Input';\nexport { FormSubmitButton } from './blocks/forms/Button';\nexport { Label } from './blocks/forms/Label'; // advanced?\nexport { FormSelect } from './blocks/forms/Select'; // advanced?\nexport { TextArea } from './blocks/forms/TextArea';\nexport { Img } from './blocks/raw/Img';\nexport { RawText } from './blocks/raw/RawText';\n\nexport { stringToFunction } from './functions/string-to-function';\nexport { useIsPreviewing } from './hooks/useIsPreviewing';\n\nexport { builder, Builder };\nexport default builder;\n"],"names":["window","_a","parent","postMessage","type","data","value","supportsPatchUpdates","supportsCustomBreakpoints","priorVersion","version","pad","hash","len","length","fold","text","i","charCodeAt","foldObject","o","seen","Object","keys","sort","reduce","key","foldValue","input","toString","undefined","indexOf","push","objHash","valueOf","String","err","stack","message","prototype","call","sum","hashSum","CustomEvent","event","params","bubbles","cancelable","detail","evt","document","createEvent","initCustomEvent","isSafari","test","navigator","userAgent","nextTick","fn","setImmediate","MutationObserver","setTimeout","called","observer","element","createTextNode","observe","characterData","PROPERTY_NAME_DENY_LIST","freeze","QueryString","parseDeep","queryString","obj","this","parse","deepen","stringifyDeep","map","flatten","stringify","query","pairs","substr","split","pair","decodeURIComponent","error","str","hasOwnProperty","encodeURIComponent","output","k","t","parts","pop","parts_1","_i","part","assertAllowedPropertyName","_current","_res","newKey","name","Error","Subscription","listeners","listener","unsubscribed","otherSubscriptions","defineProperty","get","add","subscription","unsubscribe","index","splice","forEach","sub","BehaviorSubject","errorListeners","next","newSubject","subscribe","val","catch","errorListener","toPromise","_this","Promise","resolve","reject","promise","State","Pending","Fulfilled","Rejected","isFunction","isObject","TinyPromise","executor","_state","_handlers","_value","_resolve","bind","_reject","x","then","called_1","thenable","result","_fulfill","ex","handler","_callHandler","_isPending","_isFulfilled","_isRejected","_addHandler","onFulfilled","onRejected","Promise$1","serverOnlyRequire","eval","serverOnlyRequire$1","fetch","promiseResolve","tinyFetch","url","options","request","XMLHttpRequest","open","method","headers","setRequestHeader","response","all","header","getAllResponseHeaders","replace","_match","_key","toLowerCase","concat","ok","status","statusText","responseURL","clone","responseText","json","JSON","blob","Blob","entries","n","has","withCredentials","credentials","onload","onerror","send","body","assign","target","to","arguments","nextSource","nextKey","throttle","func","wait","context","args","timeout","previous","later","leading","Date","now","apply","remaining","clearTimeout","trailing","globalThis","camelCaseToKebabCase","g","Animator","bindAnimations","animations","animations_1","animation","trigger","triggerAnimation","bindHoverAnimation","bindScrollInViewAnimation","warnElementNotPresent","id","console","warn","augmentAnimation","stylesUsed","getAllStylesUsed","computedStyle","getComputedStyle","bothStyles_1","steps","styles","stylesUsed_1","style","properties","step","elements","Array","slice","getElementsByClassName","elementId","from","transition","transitionDelay","duration","easing","delay","defaultState","hoverState","attachDefaultState","addEventListener","triggered","pendingAnimation","immediateOnScroll","isScrolledIntoView","repeat","removeEventListener","onScroll","elem","rect","getBoundingClientRect","windowHeight","innerHeight","threshold","thresholdPercent","bottom","top","capture","passive","getTopLevelDomain","host","join","fieldContentRegExp","Cookies","match","getPattern","set","opts","res","req","getHeader","secure","protocol","connection","encrypted","cookie","Cookie","domain","pushCookie","setHeader","attrs","path","httpOnly","sameSite","overwrite","TypeError","expires","toHeader","maxAge","toUTCString","RegExp","omit","values","newObject","values_1","uuidv4","c","r","Math","random","uuid","emptyUrl","port","auth","hostname","href","pathname","search","slashes","u","out","URL","toError","datePlusMinutes","minutes","isPositiveNumber","thing","isNaN","isReactNative","product","validEnvList","getQueryParam","variable","vars","urlParser","el","createElement","props_1","prop","urlParse","setCookie","expiresString","isBrowser","location","getCookie","size","object","find","callback","list","thisArg","sessionStorageKey","localStorageKey","isIframe","self","Builder","apiKey","forceNewInstance","authToken","eventsQueue","throttledClearEventsQueue","processEventsQueue","sessionId","env","getSessionId","targetContent","contentPerRequest","allowCustomFonts","cookies","cachebust","overrideParams","noCache","preview","canTrack$","browserTrackingDisabled","apiKey$","authToken$","userAttributesChanged","editingMode$","editingModel$","trackingHooks","visitorId","getVisitorId","autoTrack","isDevelopmentEnv","trackingUserAttributes","blockContentLoading","observersByKey","noEditorUpdates","overrides","queryOptions","getContentQueue","priorContentQueue","testCookiePrefix","cookieQueue","singletonInstance","setUserAgent","bindMessageListeners","isEditing","messageFrameLoaded","sessionStorage","getItem","setItem","debug","item","setTestsFromUrl","getOverridesFromQueryString","register","info","typeList","registry","registryChange","registerEditor","isTrustedHost","editors","registerPlugin","plugins","registerAction","action","actions","registerTrustedHost","trustedHosts","findIndex","trustedHost","endsWith","runAction","fields","settings","import","packageName","System","_editingPage","editingPage","classList","remove","prepareComponentSpecToSend","spec","__assign","inputs","keysToConvertFnToString_1","hooks","memo","class","registerBlock","component","registerComponent","builderOptions","addComponent","models","editingModel","includes","sendSpec","current","components","events","fullUserAttributes","overrideUserAttributes","events_1","event_1","metadata","user","content-type","mode","Boolean","builderNoTrack","cookieEnabled","canTrack","editingMode","findParentElement","checkElement","HTMLElement","parentElement","findBuilderParent","getAttribute","setTrackingHook","hook","track","eventName","isPreviewing","eventData","sdkVersion","VERSION","meta","ownerId","userAttributes","getUserAttributes","returnValue","localStorage","trackImpression","contentId","variationId","trackConversion","amount","customProperties","useContentId","trackInteraction","alreadyTrackedOne","targetBuilderElement","clientX","clientY","xOffset","targetRect","left","yOffset","xRatio","round","width","yRatio","height","targetOffset","y","builderTargetOffset","builderId","builderElementIndex","unique","num","token","modifySearch","group1","group2","getLocation","tests","builder","setTestCookie","resetOverrides","api","editing","frameEditing","setUserAttributes","locale","includeRefs","origin","isRestricted","isTrusted","_b","source","settingsChange","info_1","hasComponent_1","every","thisInfo","animator","alias","entry","modelName","contentData","_c","model","componentData","editingPageMode","flushGetContentQueue","_f","id_1","Function","_d","finalResult","_e","trim","init","defaultCanTrack","parsedLocation","isMobile","Android","BlackBerry","iOS","Opera","Windows","any","isTablet","urlPath","device","setTrackingUserAttributes","attributes","instance","queueGetContent","matches","isStatic","matchData","blocksString","blocks","testVariationId","testVariationName","lastUpdated","isEditingThisModel","currentObservable","initialContent","cache","queue_1","observable","overrideHost","usePastQueue","useQueue","queue","queryParams","format","pageQueryParams","includeUrl","location_1","urlQueueItem","isReact","prerender","queue_2","static","cacheSeconds","staleCacheSeconds","properties_1","hasParams","keyNames","queryStr","requestOptions","Authorization","queue_3","keyName","sorted","testModifiedResults","isServer","processResultsForTests","queue_4","results","mappedResults","variations","cookieValue","getTestCookie","cookieVariation","variation","testRatio","variationName","future","setDate","getDate","getContent","getAll","limit","previewingModel","referrer","_setPrototypeOf","p","module","exports","setPrototypeOf","__proto__","__esModule","subClass","superClass","create","constructor","getOwnPropertySymbols","propIsEnumerable","propertyIsEnumerable","toObject","shouldUseNative","test1","getOwnPropertyNames","test2","fromCharCode","test3","letter","objectAssign","symbols","s","StrictMode","Profiler","q","Suspense","v","Symbol","for","w","iterator","z","a","b","A","isMounted","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","B","C","props","refs","updater","D","E","isReactComponent","setState","forceUpdate","F","l","isPureReactComponent","G","H","I","ref","__self","__source","J","e","d","h","children","f","m","defaultProps","$$typeof","_owner","L","M","N","=",":","escape","O","isArray","K","done","P","Q","_status","_result","default","R","S","T","ReactCurrentDispatcher","ReactCurrentBatchConfig","ReactCurrentOwner","IsSomeRendererActing","Children","count","toArray","only","Component","PureComponent","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","cloneElement","createContext","_calculateChangedBits","_currentValue","_currentValue2","_threadCount","Provider","Consumer","_context","createRef","render","isValidElement","lazy","_payload","_init","compare","useCallback","useContext","useDebugValue","useEffect","useImperativeHandle","useLayoutEffect","useMemo","useReducer","useRef","useState","require$$0","sheetForTag","tag","sheet","styleSheets","ownerNode","createStyleElement","setAttribute","nonce","appendChild","StyleSheet","isSpeedy","speedy","tags","ctr","container","before","_proto","insert","rule","_tag","nextSibling","insertBefore","isImportRule","insertRule","cssRules","flush","parentNode","removeChild","stylis_min","W","X","ia","Z","substring","ja","ka","aa","ba","la","ma","na","ea","oa","U","prefix","charAt","ca","da","fa","Y","ha","use","weakMemoize","WeakMap","arg","ret","delimiter","needle","toSheet","block","Sheet","ruleSheet","content","selectors","parents","line","column","ns","depth","at","removeLabel","rootServerStylisCache","getServerStylisCache","getCache","prefixTrueCache","prefixFalseCache","createCache","stylisOptions","_insert","stylis","Stylis","inserted","head","nodes","querySelectorAll","node","stylisPlugins","selector","serialized","shouldCache","serverStylisCache","rules","getRules","compat","registered","getRegisteredStyles","registeredStyles","classNames","rawClassName","className","insertStyles","isStringTag","stylesForSSR","maybeStyles","murmurhash2_32_gc","unitlessKeys","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","msGridRow","msGridRowSpan","msGridColumn","msGridColumnSpan","fontWeight","lineHeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","WebkitLineClamp","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","memoize","hyphenateRegex","animationRegex","isCustomProperty","property","isProcessableValue","processStyleName","styleName","processStyleValue","p1","p2","cursor","unitless","handleInterpolation","mergedProps","interpolation","couldBeSelectorInterpolation","__emotion_styles","anim","createStringFromObject","previousCursor","cached","string","interpolated","labelPattern","serializeStyles","stringMode","strings","raw","lastIndex","identifierName","exec","hashString","css","_len","EmotionCacheContext","ThemeContext","withEmotionCache","forwardRef","BasicProvider","_React$Component","state","_inheritsLoose","newContext","typePropName","theme","cssProp","newProps","ele","_ref","serializedNames","Fragment","dangerouslySetInnerHTML","__html","Emotion","jsx","argsLength","createElementArgArray","classnames","cls","toAdd","merge","ClassNames","serializedHashes","cx","_len2","_key2","fastClone","sizeNames","sizes","xsmall","min","max","small","medium","large","getWidthForSize","getSizeForWidth","sizeNames_1","getSizesForBreakpoints","newSizes","smallMin","floor","mediumMin","largeMin","_path","abs","Number","noop","safeDynamicRequire","require","fnCache","stringToFunction","expression","errors","logs","cacheKey","useReturn","startsWith","final","VM","sandbox","run","process","DEBUG","isPromise","isRequestInfo","BuilderAsyncRequestsContext","React","requests","BuilderStoreContext","rootState","update","mutator","applyPatchWithMinimalMutationChain","patch","preserveRoot","op","pathArr","shift","newObj","objPart","isLast","nextProperty","newPart","__spreadArray","htmlEscape","blockToHtmlString","tagName","Link","renderLink","kebabCaseToCamelCase","toUpperCase","Device","desktop","tablet","mobile","voidElements","Set","last","arr","cssCase","capitalize","BuilderBlock","_super","hasError","updates","privateState","onWindowMessage","selection","$block","$blocks","patches","patches_1","__extends","getDerivedStateFromError","componentDidCatch","errorInfo","_errors","_logs","initialAnimationStepStyles","firstStep","stepStyles","reversedNames","reverse","responsiveStyles","reversedNames_1","emailMode","sizesPerBreakpoints","builderContent","breakpoints","&.builder-block","hoverAnimation","componentWillUnmount","componentDidMount","bindings","filter","getElement","child","fieldName","InnerComponent","TagName","html","componentName","componentInfo","hide","show","Proxy","innerComponentProperties","isVoid","noWrap","fragment","styleStr","attr","styleSplit_1","stylePieces","finalOptions","_spacer","builder-index","addClass","emotionCss","_asyncRequests","builderBlock","builderState","contents","collection","collectionPath","collectionName","itemName_1","itemName","array","childState","$index","$item","display","padding","color","fontSize","fontStyle","performance","unstable_now","MessageChannel","unstable_forceFrameRate","cancelAnimationFrame","requestAnimationFrame","unstable_shouldYield","port2","port1","onmessage","sortIndex","startTime","expirationTime","V","priorityLevel","unstable_IdlePriority","unstable_ImmediatePriority","unstable_LowPriority","unstable_NormalPriority","unstable_Profiling","unstable_UserBlockingPriority","unstable_cancelCallback","unstable_getCurrentPriorityLevel","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_requestPaint","unstable_runWithPriority","unstable_scheduleCallback","unstable_wrapCallback","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","removeEmptyString","pa","qa","removeAttribute","setAttributeNS","xlinkHref","ra","sa","ta","ua","wa","xa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","Ma","La","Na","Oa","Pa","prepareStackTrace","Reflect","construct","displayName","Qa","_render","Ra","Sa","Ta","nodeName","Ua","getOwnPropertyDescriptor","configurable","enumerable","getValue","setValue","stopTracking","_valueTracker","Va","Wa","checked","Xa","activeElement","Ya","defaultChecked","defaultValue","_wrapperState","initialChecked","Za","initialValue","controlled","$a","ab","bb","cb","ownerDocument","db","eb","fb","selected","defaultSelected","disabled","gb","hb","ib","jb","textContent","kb","mathml","svg","lb","mb","nb","ob","MSApp","execUnsafeLocalFunction","namespaceURI","innerHTML","firstChild","pb","lastChild","nodeType","nodeValue","qb","gridArea","lineClamp","rb","sb","tb","setProperty","ub","menuitem","area","base","br","col","embed","hr","img","keygen","link","param","wbr","vb","wb","is","xb","srcElement","correspondingUseElement","yb","zb","Ab","Bb","Cb","stateNode","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Nb","Ob","Pb","Qb","Rb","onError","Sb","Tb","Ub","Vb","Wb","Xb","Yb","Zb","alternate","return","flags","$b","memoizedState","dehydrated","ac","bc","sibling","cc","dc","ec","fc","gc","hc","ic","jc","kc","lc","mc","nc","Map","oc","pc","qc","rc","blockedOn","domEventName","eventSystemFlags","nativeEvent","targetContainers","sc","delete","pointerId","tc","uc","vc","wc","lanePriority","priority","hydrate","containerInfo","xc","yc","zc","Ac","Bc","Cc","Dc","Ec","animationend","animationiteration","animationstart","transitionend","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Pc","Qc","Rc","Sc","Tc","Uc","pendingLanes","expiredLanes","suspendedLanes","pingedLanes","Vc","entangledLanes","entanglements","Wc","Xc","Yc","Zc","$c","eventTimes","clz32","ad","bd","log","cd","LN2","dd","ed","fd","gd","hd","jd","kd","ld","md","nd","od","keyCode","charCode","pd","qd","rd","_reactName","_targetInst","currentTarget","isDefaultPrevented","defaultPrevented","isPropagationStopped","preventDefault","stopPropagation","cancelBubble","persist","isPersistent","sd","eventPhase","timeStamp","td","ud","view","vd","wd","xd","yd","Ad","screenX","screenY","pageX","pageY","ctrlKey","shiftKey","altKey","metaKey","getModifierState","zd","button","buttons","relatedTarget","fromElement","toElement","movementX","movementY","Bd","Cd","dataTransfer","Dd","Ed","Fd","Gd","animationName","elapsedTime","pseudoElement","Hd","Id","clipboardData","Jd","Kd","Ld","Md","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","Nd","8","9","12","13","16","17","18","19","20","27","32","33","34","35","36","37","38","39","40","45","46","112","113","114","115","116","117","118","119","120","121","122","123","144","145","224","Od","Alt","Control","Meta","Shift","Pd","Qd","code","which","Rd","Sd","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Td","Ud","touches","targetTouches","changedTouches","Vd","Wd","Xd","Yd","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","Zd","$d","ae","be","documentMode","ce","de","ee","fe","ge","he","ie","je","ke","char","le","date","datetime","datetime-local","email","month","number","password","range","tel","time","week","me","ne","oe","pe","qe","re","se","te","ue","ve","we","xe","ye","ze","oninput","Ae","detachEvent","Be","Ce","attachEvent","De","Ee","Fe","Ge","He","Ie","Je","Ke","Le","offset","Me","contains","compareDocumentPosition","Ne","HTMLIFrameElement","contentWindow","Oe","contentEditable","Pe","Qe","Re","Se","Te","Ue","start","selectionStart","end","selectionEnd","anchorNode","defaultView","getSelection","anchorOffset","focusNode","focusOffset","Ve","We","Xe","Ye","Ze","$e","af","bf","cf","df","ef","ff","parentWindow","gf","hf","unshift","jf","kf","lf","mf","autoFocus","nf","of","pf","qf","rf","sf","previousSibling","tf","uf","vf","wf","xf","yf","zf","Af","Bf","Cf","Df","Ef","contextTypes","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Ff","childContextTypes","Gf","Hf","If","getChildContext","Jf","__reactInternalMemoizedMergedChildContext","Kf","Lf","Mf","Nf","Of","Pf","Qf","Rf","Sf","Tf","Uf","Vf","Wf","Xf","Yf","Zf","$f","ag","bg","cg","dg","eg","fg","gg","hg","ig","jg","kg","lg","mg","ng","og","pg","qg","rg","sg","childLanes","tg","dependencies","firstContext","lanes","ug","vg","observedBits","responders","wg","xg","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","shared","pending","effects","yg","zg","eventTime","lane","payload","Ag","Bg","Cg","Dg","Eg","Fg","Gg","Kg","_reactInternals","Hg","Ig","Jg","Lg","shouldComponentUpdate","Mg","contextType","Ng","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","Og","getDerivedStateFromProps","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","Pg","Qg","_stringRef","Rg","Sg","lastEffect","nextEffect","firstEffect","Tg","Ug","elementType","Vg","implementation","Wg","Xg","Yg","Zg","$g","ah","bh","ch","dh","eh","documentElement","fh","gh","hh","ih","memoizedProps","revealOrder","jh","kh","lh","mh","nh","oh","pendingProps","ph","qh","rh","sh","th","uh","_workInProgressVersionPrimary","vh","wh","xh","yh","zh","Ah","Bh","Ch","Dh","Eh","Fh","Gh","Hh","baseQueue","Ih","Jh","Kh","lastRenderedReducer","eagerReducer","eagerState","lastRenderedState","dispatch","Lh","Mh","_getVersion","_source","mutableReadLanes","Nh","getSnapshot","setSnapshot","Oh","Ph","Qh","Rh","destroy","deps","Sh","Th","Uh","Vh","Wh","Xh","Yh","Zh","$h","ai","bi","ci","di","readContext","useDeferredValue","useTransition","useMutableSource","useOpaqueIdentifier","unstable_isNewReconciler","ei","fi","gi","hi","ii","ji","ki","li","mi","baseLanes","ni","oi","pi","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","qi","ri","pendingContext","si","retryLane","Bi","Ci","Di","Ei","ti","fallback","unstable_avoidThisFallback","ui","unstable_expectedLoadTime","vi","wi","xi","yi","zi","isBackwards","rendering","renderingStartTime","tail","tailMode","Ai","Fi","Gi","wasMultiple","multiple","onClick","onclick","createElementNS","Hi","Ii","Ji","Ki","Li","Mi","Ni","Oi","Pi","Qi","Ri","Si","Ti","componentStack","Ui","WeakSet","Vi","Wi","Xi","__reactInternalSnapshotBeforeUpdate","Yi","Zi","$i","focus","aj","bj","onCommitFiberUnmount","cj","dj","ej","fj","gj","hj","_reactRootContainer","ij","jj","kj","lj","mj","nj","ceil","oj","pj","qj","rj","sj","tj","uj","vj","Infinity","wj","xj","yj","zj","Aj","Bj","Cj","Dj","Ej","Fj","Gj","Hj","Ij","Jj","ck","Kj","Lj","Mj","callbackNode","expirationTimes","callbackPriority","Nj","Oj","Pj","Qj","Rj","Sj","Tj","finishedWork","finishedLanes","Uj","timeoutHandle","Vj","Wj","Xj","pingCache","Yj","Zj","va","ak","bk","dk","rangeCount","focusedElem","selectionRange","ek","extend","createRange","setStart","removeAllRanges","addRange","setEnd","scrollLeft","scrollTop","onCommitFiberRoot","fk","gk","ik","hk","pendingChildren","jk","mutableSourceEagerHydrationData","kk","lk","mk","nk","pk","qk","hydrationOptions","mutableSources","_internalRoot","rk","sk","hasAttribute","tk","uk","unstable_observedBits","unmount","form","vk","Events","wk","findFiberByHostInstance","bundleType","rendererPackageName","xk","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","__REACT_DEVTOOLS_GLOBAL_HOOK__","yk","isDisabled","supportsFiber","inject","createPortal","findDOMNode","flushSync","unmountComponentAtNode","unstable_batchedUpdates","unstable_createPortal","unstable_renderSubtreeIntoContainer","checkDCE","BuilderBlocks","onClickEmptyBlocks","noBlocks","parentElementId","parentId","dataPath","onHoverEmptyBlocks","builder-type","builder-path","builder-parent-id","flexDirection","alignItems","onMouseEnter","renderInto","elementOrSelector","querySelector","Element","ReactDOM","NoWrap","getData","hasBlocks","newData","variantsScript","variantsString","VariantsProvider","variants","allVariants","variantsJson_1","React.createElement","React.Fragment","cookieName","variantId","variant","BuilderContent","loading","getContentWithInfo","contentLoaded","subscriptions","firstLoad","clicked","trackedImpression","intersectionObserver","reactEvent","renderedVariantId","inline","subscribeToContent","addedObserver","IntersectionObserver","intersectionRatio","unobserve","contentError","dataOnly","useData","renderScript","Tag","data-template-variant-id","builder-content-id","builder-model","TARGET","UNSUBSCRIBE","concatPath","shallowClone","onChange","applyPath","applyPrevious","proxyTarget","inApply","changed","isUnsubscribed","equals","propCache","pathCache","proxyCache","handleChange","item_1","walkPath","invalidateCachedDescriptor","buildProxy","proxy","ignoreChange","ignoreSymbols","receiver","isPrimitive","isBuiltinWithoutMutableMethods","isShallow","descriptor","writable","ignore","deleteProperty","argumentsList","lastIndexOf","debounceNextTick","debounceNextTickImpl","BuilderMetaContext","ampMode","tryEval","getBuilderPixel","@type","role","aria-hidden","src","overflow","pointerEvents","pick","wrapComponent","builderTag","inputNames","baseProps","inputProps","debounce","immediate","fontsLoaded","sizeMap","fetchCache","searchToObject","BuilderComponent","onStateChange","asServer","contentRef","styleRef","updateState","lastJsCode","lastHttpRequests","httpSubscriptionPerKey","messageListener","useContent","deviceSize","deviceSizeState","data_1","resizeFn","resizeListener","mounted","notifyStateChange","onContentLoaded","title","pageTitle","description","pageDescription","descriptionTag","newState","locationState","externalState","jsCode","codegen","skip","httpRequests","noAsync","finalUrl_1","evalExpression","builderModelMatch","handleRequest","currentSubscription","newSubscription","newUrl","_content","inlinedContent","_hydrate","getHtmlData","defaults","inlineContent","script","innerText","innerWidth","fresh","exists","shouldHydrate","apiStyles_1","previousElementSibling","keepStyles_1","useElement","useEl","div","insertAdjacentElement","val_1","builderRootRef","reload","dispatchEvent","nextState","processStateFromApi","getCssFromFont","font","family","kind","fileUrl","files","regular","weight","weightUrl","getFontCss","customFonts","ensureFontsLoaded","getCss","cssCode","prevProps","checkStyles","css_1","dataString","WrapComponent","isChild","stopClickPropagationWhenEditing","data-source","fullData","blocksJs","builderComponentNames","reversedcomponents_1","builderComponents","mappedComponentNames","finalizedComponents","initialState","setTick","tick","hasPixel","data-builder-content-id","data-builder-variation-id","data-builder-component","group","ctx","__awaiter","requestStart","sent","err_1","timeEnd","existing","promise_1","handleBuilderRequest","optionsString","__decorate","updateMetadata","updated","withBuilder","withChildren","HOC","canHaveChildren","finalProps","iconUrl","TextComponent","textRef","allowTextEdit","allowEditingText","textCSS","outline","& p:first-of-type, & .builder-paragraph:first-of-type","margin","& > p, & .builder-paragraph","letterSpacing","textAlign","fontFamily","rtlMode","direction","onInput","onKeyDown","blur","onFocus","onBlur","Text","image","required","bubble","defaultStyles","Slot","isEditingThisSlot","symbolId","builder-slot","docsLink","FragmentComponent","BuilderBlockComponent","hideFromInsertMenu","DEFAULT_ASPECT_RATIO","defaultBlocks","position","marginTop","minHeight","minWidth","backgroundPosition","backgroundSize","aspectRatio","ColumnsComponent","space","getWidth","getColumnWidth","subtractWidth","gutterSize","contentBreakpoints","breakpointSizes","stackColumnsAt","reverseColumnsWhenStacked","marginLeft","Columns","broadcast","subFields","hideFromUI","helperText","clearWidths","advanced","enum","EmbedComponent","elementRef","scriptsInserted","scriptsRun","findAndRunScripts","scripts","getElementsByTagName","newScript","async","Embed","globalReplaceNodes","isShopify","customCodeQuerySelector_1","allCustomCodeElements_1","builderTemplates","template","codeElements","cloneNode","CustomCodeComponent","originalRef","replaceNodes","hydrated","isHydrating","scriptsClientOnly","noReactRender","CustomCode","requiredPermissions","removeProtocol","isElementInViewport","clientHeight","right","clientWidth","getShopifyImageUrl","suffix","useSize","updateQueryParam","uri","separator","getSrcSet","srcUrl","widthInSrc_1","sizeUrl","getSizes","useSizes","splitSizes","sizesLength_1","generatedSizes","hasSmallOrMediumSize","unitRegex","mediaQuery","widthAndQuery","_h","_g","ImageComponent","imageLoaded","useLazyLoading","load","pictureRef","scrollListener","listener_1","buffer","srcset","isPixel","fitContent","amp","imageContents","layout","alt","altText","objectFit","objectPosition","onLoad","srcSet","noWebp","paddingTop","Image","allowedFileTypes","loaded","possiblyUpdatedAspectRatio","label","VideoComponent","video","containerRef","lazyLoad","updateVideo","poster","posterImage","autoPlay","muted","controls","loop","fit","borderRadius","Video","SymbolComponent","staticRef","useStatic","replaceChild","symbol","showPlaceholder","dynamic","data-model","inheritState","_j","_k","ButtonComponent","openLinkInNewTab","Button","appearance","paddingBottom","paddingLeft","paddingRight","backgroundColor","friendlyName","SectionComponent","unmountCallbacks","inView","observer_1","rootMargin","alignSelf","boxSizing","maxWidth","marginRight","renderContents","lazyStyles","Section","defaultChildren","StateProviderComponent","StateProvider","prefetched","RouterComponent","routed","preloadQueue","onPopState","updateLocationState","onMouseOverOrTouchStart","preloadOnHover","hrefTarget","findHrefTarget","isRelative","converted","convertToRelative","parsedUrl","parseUrl","handleRouting","onRoute","routeEvent","route","history","pushState","HTMLAnchorElement","currentUrl","hrefUrl","relativeUrl","Router","Mutation","useWaitForSelector","firstElementChild","existingElement","foundElement","disconnect","subtree","MULTIPART_CONTENT_TYPE","JSON_CONTENT_TYPE","ENCODED_CONTENT_TYPE","FormComponent","responseData","formErrorMessage","previewState","validate","sendWithJs","onSubmit","sendSubmissionsTo","customHeaders","formData","FormData","formPairs","HTMLInputElement","valueAsNumber","contentType_1","contentType","File","FileList","json_1","presubmitEvent","formUrl","btoa","sendSubmissionsToEmail","errorMessagePath","submitSuccessEvent","resetFormOnSubmit","reset","successUrl","submitErrorEvent","submissionState","errorMessage","sendingMessage","successMessage","Form","showIf","component.options.text","valueType","placeholder","FormInputComponent","FormInput","borderWidth","borderStyle","borderColor","FormSubmitButtonComponent","FormSubmitButton","LabelComponent","htmlFor","Label","richText","FormSelectComponent","option","FormSelect","TextAreaComponent","TextArea","ImgComponent","Img","RawText","useIsPreviewing","setIsPreviewing"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"builder-react.browser.js","sources":["../src/scripts/init-editing.ts","../node_modules/hash-sum/hash-sum.js","../node_modules/@builder.io/sdk/src/polyfills/custom-event-polyfill.js","../node_modules/@builder.io/sdk/src/functions/next-tick.function.ts","../node_modules/@builder.io/sdk/src/classes/query-string.class.ts","../node_modules/@builder.io/sdk/src/classes/observable.class.ts","../node_modules/@builder.io/sdk/src/classes/promise.class.ts","../node_modules/@builder.io/sdk/src/functions/server-only-require.function.ts","../node_modules/@builder.io/sdk/src/functions/fetch.function.ts","../node_modules/@builder.io/sdk/src/functions/assign.function.ts","../node_modules/@builder.io/sdk/src/functions/throttle.function.ts","../node_modules/@builder.io/sdk/src/classes/animator.class.ts","../node_modules/@builder.io/sdk/src/functions/get-top-level-domain.ts","../node_modules/@builder.io/sdk/src/classes/cookies.class.ts","../node_modules/@builder.io/sdk/src/functions/omit.function.ts","../node_modules/@builder.io/sdk/src/functions/uuid.ts","../node_modules/@builder.io/sdk/src/url.ts","../node_modules/@builder.io/sdk/src/functions/to-error.ts","../node_modules/@builder.io/sdk/src/builder.class.ts","../node_modules/@builder.io/sdk/src/constants/builder.ts","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../node_modules/object-assign/index.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/@emotion/sheet/dist/sheet.esm.js","../node_modules/@emotion/stylis/dist/stylis.esm.js","../node_modules/@emotion/weak-memoize/dist/weak-memoize.esm.js","../node_modules/@emotion/cache/dist/cache.esm.js","../node_modules/@emotion/utils/dist/utils.esm.js","../node_modules/@emotion/hash/dist/hash.esm.js","../node_modules/@emotion/unitless/dist/unitless.esm.js","../node_modules/@emotion/memoize/dist/memoize.esm.js","../node_modules/@emotion/serialize/dist/serialize.esm.js","../node_modules/@emotion/core/dist/emotion-element-39b82f0b.esm.js","../node_modules/@emotion/css/dist/css.esm.js","../node_modules/@emotion/core/dist/core.esm.js","../src/functions/utils.ts","../src/constants/device-sizes.constant.ts","../src/functions/set.ts","../src/functions/safe-dynamic-require.ts","../src/functions/string-to-function.ts","../src/store/builder-async-requests.ts","../src/store/builder-store.ts","../src/functions/apply-patch-with-mutation.ts","../src/functions/block-to-html-string.ts","../src/components/Link.tsx","../src/components/builder-block.component.tsx","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/index.js","../src/components/builder-blocks.component.tsx","../src/components/no-wrap.tsx","../src/components/variants-provider.component.tsx","../src/components/builder-content.component.tsx","../lib/on-change.js","../src/functions/debonce-next-tick.ts","../src/functions/throttle.ts","../src/store/builder-meta.ts","../src/functions/try-eval.tsx","../src/to-error.ts","../src/functions/get-builder-pixel.ts","../src/components/builder-component.component.tsx","../src/decorators/builder-block.decorator.ts","../src/functions/update-metadata.ts","../src/functions/with-builder.ts","../src/functions/with-children.tsx","../src/functions/no-wrap.tsx","../src/blocks/Text.tsx","../src/blocks/Slot.tsx","../src/blocks/Fragment.tsx","../src/blocks/Columns.tsx","../src/blocks/Embed.tsx","../src/blocks/CustomCode.tsx","../src/blocks/Image.tsx","../src/blocks/Video.tsx","../src/blocks/Symbol.tsx","../src/blocks/Button.tsx","../src/blocks/Section.tsx","../src/blocks/StateProvider.tsx","../src/blocks/Router.tsx","../src/blocks/Mutation.tsx","../src/functions/get.ts","../src/blocks/forms/Form.tsx","../src/blocks/forms/Input.tsx","../src/blocks/forms/Button.tsx","../src/blocks/forms/Label.tsx","../src/blocks/forms/Select.tsx","../src/blocks/forms/TextArea.tsx","../src/blocks/raw/Img.tsx","../src/blocks/raw/RawText.tsx","../src/hooks/useIsPreviewing.ts","../src/builder-react.ts"],"sourcesContent":["import { version } from '../../package.json';\n\nif (typeof window !== 'undefined') {\n window.parent?.postMessage(\n {\n type: 'builder.isReactSdk',\n data: {\n value: true,\n supportsPatchUpdates: 'v4',\n supportsCustomBreakpoints: true,\n priorVersion: version,\n },\n },\n '*'\n );\n}\n","'use strict';\n\nfunction pad (hash, len) {\n while (hash.length < len) {\n hash = '0' + hash;\n }\n return hash;\n}\n\nfunction fold (hash, text) {\n var i;\n var chr;\n var len;\n if (text.length === 0) {\n return hash;\n }\n for (i = 0, len = text.length; i < len; i++) {\n chr = text.charCodeAt(i);\n hash = ((hash << 5) - hash) + chr;\n hash |= 0;\n }\n return hash < 0 ? hash * -2 : hash;\n}\n\nfunction foldObject (hash, o, seen) {\n return Object.keys(o).sort().reduce(foldKey, hash);\n function foldKey (hash, key) {\n return foldValue(hash, o[key], key, seen);\n }\n}\n\nfunction foldValue (input, value, key, seen) {\n var hash = fold(fold(fold(input, key), toString(value)), typeof value);\n if (value === null) {\n return fold(hash, 'null');\n }\n if (value === undefined) {\n return fold(hash, 'undefined');\n }\n if (typeof value === 'object' || typeof value === 'function') {\n if (seen.indexOf(value) !== -1) {\n return fold(hash, '[Circular]' + key);\n }\n seen.push(value);\n\n var objHash = foldObject(hash, value, seen)\n\n if (!('valueOf' in value) || typeof value.valueOf !== 'function') {\n return objHash;\n }\n\n try {\n return fold(objHash, String(value.valueOf()))\n } catch (err) {\n return fold(objHash, '[valueOf exception]' + (err.stack || err.message))\n }\n }\n return fold(hash, value.toString());\n}\n\nfunction toString (o) {\n return Object.prototype.toString.call(o);\n}\n\nfunction sum (o) {\n return pad(foldValue(0, o, '', []).toString(16), 8);\n}\n\nmodule.exports = sum;\n","(function () {\n if (typeof window === 'undefined' || typeof window.CustomEvent === 'function') return false;\n\n function CustomEvent(event, params) {\n params = params || { bubbles: false, cancelable: false, detail: null };\n var evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);\n return evt;\n }\n\n window.CustomEvent = CustomEvent;\n})();\n","const isSafari =\n typeof window !== 'undefined' &&\n /^((?!chrome|android).)*safari/i.test(window.navigator.userAgent);\n\nconst isClient = typeof window !== 'undefined';\n\n// TODO: queue all of these in a debounceNextTick\nexport function nextTick(fn: () => void) {\n // React native\n if (typeof setImmediate === 'function' && typeof window === 'undefined') {\n return setImmediate(fn);\n }\n // TODO: should this be setImmediate instead? Forgot if that is micro or macro task\n // TODO: detect specifically if is server\n // if (typeof process !== 'undefined' && process.nextTick) {\n // console.log('process.nextTick?');\n // process.nextTick(fn);\n // return;\n // }\n // FIXME: fix the real safari issue of this randomly not working\n if (isSafari || typeof MutationObserver === 'undefined') {\n setTimeout(fn);\n return;\n }\n let called = 0;\n const observer = new MutationObserver(() => fn());\n const element = document.createTextNode('');\n observer.observe(element, {\n characterData: true,\n });\n // tslint:disable-next-line\n element.data = String((called = ++called));\n}\n","export type StringMap = Record<string, string>;\n\nconst PROPERTY_NAME_DENY_LIST = Object.freeze(['__proto__', 'prototype', 'constructor']);\n\n// TODO: unit tests\nexport class QueryString {\n static parseDeep(queryString: string) {\n const obj = this.parse(queryString);\n return this.deepen(obj);\n }\n\n static stringifyDeep(obj: any) {\n const map = this.flatten(obj);\n return this.stringify(map);\n }\n\n static parse(queryString: string): StringMap {\n const query: StringMap = {};\n const pairs = (queryString[0] === '?' ? queryString.substr(1) : queryString).split('&');\n for (let i = 0; i < pairs.length; i++) {\n const pair = pairs[i].split('=');\n // TODO: node support?\n try {\n query[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1] || '');\n } catch (error) {\n // Ignore malformed URI components\n }\n }\n return query;\n }\n\n static stringify(map: StringMap) {\n let str = '';\n for (const key in map) {\n if (map.hasOwnProperty(key)) {\n const value = map[key];\n if (str) {\n str += '&';\n }\n str += encodeURIComponent(key) + '=' + encodeURIComponent(value);\n }\n }\n return str;\n }\n\n static deepen(map: StringMap) {\n // FIXME; Should be type Tree = Record<string, string | Tree>\n // requires a typescript upgrade.\n const output: any = {};\n for (const k in map) {\n let t = output;\n const parts = k.split('.');\n const key = parts.pop()!;\n for (const part of parts) {\n assertAllowedPropertyName(part);\n t = t[part] = t[part] || {};\n }\n t[key] = map[k];\n }\n return output;\n }\n\n static flatten(obj: any, _current?: any, _res: any = {}): StringMap {\n for (const key in obj) {\n const value = obj[key];\n const newKey = _current ? _current + '.' + key : key;\n if (value && typeof value === 'object') {\n this.flatten(value, newKey, _res);\n } else {\n _res[newKey] = value;\n }\n }\n\n return _res;\n }\n}\n\nfunction assertAllowedPropertyName(name: string): asserts name {\n if (PROPERTY_NAME_DENY_LIST.indexOf(name) >= 0)\n throw new Error(`Property name \"${name}\" is not allowed`);\n}\n","export type Listener<T> = (value: T) => void;\n\nexport class Subscription<FunctionType = Function> {\n constructor(private listeners?: FunctionType[], private listener?: FunctionType) {}\n\n unsubscribed = false;\n\n get closed() {\n return this.unsubscribed;\n }\n\n private readonly otherSubscriptions: Subscription[] = [];\n\n add(subscription: Subscription) {\n this.otherSubscriptions.push(subscription);\n }\n\n unsubscribe() {\n if (this.unsubscribed) {\n return;\n }\n if (this.listener && this.listeners) {\n const index = this.listeners.indexOf(this.listener);\n if (index > -1) {\n this.listeners.splice(index, 1);\n }\n }\n this.otherSubscriptions.forEach(sub => sub.unsubscribe());\n this.unsubscribed = true;\n }\n}\n\n// TODO: follow minimal basic spec: https://github.com/tc39/proposal-observable\nexport class BehaviorSubject<T = any, ErrorType = any> {\n constructor(public value: T) {}\n\n private listeners: Listener<T>[] = [];\n private errorListeners: Listener<ErrorType>[] = [];\n\n next(value: T) {\n this.value = value;\n for (const listener of this.listeners) {\n listener(value);\n }\n }\n\n // TODO: implement this as PIPE instead\n map<NewType = any>(fn: (item: T) => NewType) {\n const newSubject = new BehaviorSubject<NewType>(fn(this.value));\n // TODO: on destroy delete these\n this.subscribe(val => {\n newSubject.next(fn(val));\n });\n this.catch(err => {\n newSubject.error(err);\n });\n return newSubject;\n }\n\n catch(errorListener: Listener<ErrorType>) {\n this.errorListeners.push(errorListener);\n return new Subscription(this.errorListeners, errorListener);\n }\n\n error(error: ErrorType) {\n for (const listener of this.errorListeners) {\n listener(error);\n }\n }\n\n subscribe(listener: Listener<T>, errorListener?: Listener<ErrorType>) {\n this.listeners.push(listener);\n if (errorListener) {\n this.errorListeners.push(errorListener);\n }\n return new Subscription(this.listeners, listener);\n }\n\n toPromise() {\n return new Promise<T>((resolve, reject) => {\n const subscription = this.subscribe(\n value => {\n resolve(value);\n subscription.unsubscribe();\n },\n err => {\n reject(err);\n subscription.unsubscribe();\n }\n );\n });\n }\n\n promise() {\n return this.toPromise();\n }\n}\n\n// TODO: make different classes\nexport const Observer = BehaviorSubject;\nexport const Observable = BehaviorSubject;\n","import { nextTick } from '../functions/next-tick.function';\n\nconst State = {\n Pending: 'Pending',\n Fulfilled: 'Fulfilled',\n Rejected: 'Rejected',\n};\n\nfunction isFunction(val: any) {\n return val && typeof val === 'function';\n}\n\nfunction isObject(val: any) {\n return val && typeof val === 'object';\n}\n\ninterface Handler<T> {\n onFulfilled: (val: T) => any;\n onRejected: (err: any) => any;\n}\n\nexport class TinyPromise<T = any> {\n private _state = State.Pending;\n private _handlers: Handler<T>[] = [];\n private _value: T | null = null;\n\n constructor(executor: (resolve: (val: T) => any, reject: (err: T) => any) => void) {\n executor(this._resolve.bind(this), this._reject.bind(this));\n }\n\n private _resolve(x: any) {\n if (x instanceof TinyPromise) {\n x.then(this._resolve.bind(this), this._reject.bind(this));\n } else if (isObject(x) || isFunction(x)) {\n let called = false;\n try {\n const thenable = (x as Promise<any>).then;\n if (isFunction(thenable)) {\n thenable.call(\n x,\n (result: any) => {\n if (!called) this._resolve(result);\n called = true;\n return undefined as any;\n },\n (error: any) => {\n if (!called) this._reject(error);\n called = true;\n return undefined as any;\n }\n );\n } else {\n this._fulfill(x);\n }\n } catch (ex) {\n if (!called) {\n this._reject(ex);\n }\n }\n } else {\n this._fulfill(x);\n }\n }\n\n private _fulfill(result: T) {\n this._state = State.Fulfilled;\n this._value = result;\n this._handlers.forEach(handler => this._callHandler(handler));\n }\n\n private _reject(error: any) {\n this._state = State.Rejected;\n this._value = error;\n this._handlers.forEach(handler => this._callHandler(handler));\n }\n\n private _isPending() {\n return this._state === State.Pending;\n }\n\n private _isFulfilled() {\n return this._state === State.Fulfilled;\n }\n\n private _isRejected() {\n return this._state === State.Rejected;\n }\n\n private _addHandler(onFulfilled: (val: T) => any, onRejected: (err: any) => any) {\n this._handlers.push({\n onFulfilled,\n onRejected,\n });\n }\n\n private _callHandler(handler: Handler<T>) {\n if (this._isFulfilled() && isFunction(handler.onFulfilled)) {\n handler.onFulfilled(this._value as T);\n } else if (this._isRejected() && isFunction(handler.onRejected)) {\n handler.onRejected(this._value);\n }\n }\n\n then(onFulfilled: (val: T) => any, onRejected: (err: any) => any) {\n switch (this._state) {\n case State.Pending: {\n return new TinyPromise((resolve, reject) => {\n this._addHandler(\n value => {\n nextTick(() => {\n try {\n if (isFunction(onFulfilled)) {\n resolve(onFulfilled(value));\n } else {\n resolve(value);\n }\n } catch (ex) {\n reject(ex);\n }\n });\n },\n error => {\n nextTick(() => {\n try {\n if (isFunction(onRejected)) {\n resolve(onRejected(error));\n } else {\n reject(error);\n }\n } catch (ex) {\n reject(ex);\n }\n });\n }\n );\n });\n }\n\n case State.Fulfilled: {\n return new TinyPromise((resolve, reject) => {\n nextTick(() => {\n try {\n if (isFunction(onFulfilled)) {\n resolve(onFulfilled(this._value as T));\n } else {\n resolve(this._value as T);\n }\n } catch (ex) {\n reject(ex);\n }\n });\n });\n }\n\n case State.Rejected: {\n return new TinyPromise((resolve, reject) => {\n nextTick(() => {\n try {\n if (isFunction(onRejected)) {\n resolve(onRejected(this._value));\n } else {\n reject(this._value);\n }\n } catch (ex) {\n reject(ex);\n }\n });\n });\n }\n }\n }\n}\n\nexport default (typeof Promise !== 'undefined' ? Promise : TinyPromise) as PromiseConstructor;\n","// Webpack workaround to conditionally require certain external modules\n// only on the server and not bundle them on the client\nlet serverOnlyRequire: NodeRequire;\ntry {\n // tslint:disable-next-line:no-eval\n serverOnlyRequire = eval('require');\n} catch (err) {\n // all good\n serverOnlyRequire = (() => null) as any;\n}\n\nexport default serverOnlyRequire;\n","import Promise from '../classes/promise.class';\nimport serverOnlyRequire from './server-only-require.function';\n\nexport interface SimplifiedFetchOptions {\n body?: string;\n headers?: { [key: string]: string };\n method?: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';\n credentials?: 'include';\n mode?: RequestMode;\n}\n\nexport interface SimpleFetchResponse {\n ok: boolean;\n status: number;\n statusText: string;\n url: string;\n clone: () => any;\n text: () => Promise<string>;\n json: () => Promise<any>;\n blob: () => Promise<Blob>;\n headers: {\n keys: () => string[];\n entries: () => [string, string][];\n get: (n: string) => string;\n has: (n: string) => boolean;\n };\n}\n\nfunction promiseResolve<T>(value: T) {\n return new Promise<T>(resolve => resolve(value));\n}\n\n// Adapted from https://raw.githubusercontent.com/developit/unfetch/master/src/index.mjs\nexport function tinyFetch(url: string, options: SimplifiedFetchOptions = {}) {\n return new Promise<SimpleFetchResponse>((resolve, reject) => {\n const request = new XMLHttpRequest();\n\n request.open(options.method || 'get', url, true);\n\n if (options.headers) {\n for (const i in options.headers) {\n request.setRequestHeader(i, options.headers[i]);\n }\n }\n\n request.withCredentials = options.credentials === 'include';\n\n request.onload = () => {\n resolve(response());\n };\n\n request.onerror = reject;\n\n request.send(options.body);\n\n function response() {\n const keys: string[] = [];\n const all: [string, string][] = [];\n const headers: { [key: string]: string } = {};\n let header: string | undefined = undefined;\n\n request\n .getAllResponseHeaders()\n .replace(/^(.*?):[^\\S\\n]*([\\s\\S]*?)$/gm, (_match, _key, value) => {\n let key = _key;\n keys.push((key = key.toLowerCase()));\n all.push([key, value]);\n header = headers[key];\n headers[key] = header ? `${header},${value}` : value;\n return '';\n });\n\n return {\n ok: ((request.status / 100) | 0) === 2, // 200-299\n status: request.status,\n statusText: request.statusText,\n url: request.responseURL,\n clone: response,\n text: () => promiseResolve(request.responseText),\n json: () => promiseResolve(request.responseText).then(JSON.parse),\n blob: () => promiseResolve(new Blob([request.response])),\n headers: {\n keys: () => keys,\n entries: () => all,\n get: (n: string) => headers[n.toLowerCase()],\n has: (n: string) => n.toLowerCase() in headers,\n },\n };\n }\n });\n}\n\nexport let fetch: typeof tinyFetch;\n\n// If fetch is defined, in the browser, via polyfill, or in a Cloudflare worker, use it.\nif (globalThis.fetch) {\n fetch = globalThis.fetch as any;\n}\n\n// If fetch is not defined, in a Node.js environment, use node-fetch.\nif (typeof window === 'undefined') {\n fetch ??= serverOnlyRequire('node-fetch');\n}\n\n// Otherwise, use tiny-fetch.\nfetch ??= tinyFetch;\n","export function assign(target: object, ...args: any[]) {\n const to = Object(target);\n\n for (let index = 1; index < arguments.length; index++) {\n const nextSource = arguments[index];\n\n if (nextSource != null) {\n // Skip over if undefined or null\n for (const nextKey in nextSource) {\n // Avoid bugs when hasOwnProperty is shadowed\n if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n }\n return to;\n}\n","export function throttle(func: Function, wait: number, options: any = {}) {\n let context: any;\n let args: any;\n let result: any;\n let timeout = null as any;\n let previous = 0;\n const later = function () {\n previous = options.leading === false ? 0 : Date.now();\n timeout = null;\n result = func.apply(context, args);\n if (!timeout) context = args = null;\n };\n return function (this: any) {\n const now = Date.now();\n if (!previous && options.leading === false) previous = now;\n const remaining = wait - (now - previous);\n context = this;\n args = arguments;\n if (remaining <= 0 || remaining > wait) {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n previous = now;\n result = func.apply(context, args);\n if (!timeout) context = args = null;\n } else if (!timeout && options.trailing !== false) {\n timeout = setTimeout(later, remaining);\n }\n return result;\n };\n}\n","import { throttle } from '../functions/throttle.function';\nimport { assign } from '../functions/assign.function';\n\nconst camelCaseToKebabCase = (str?: string) =>\n str ? str.replace(/([A-Z])/g, g => `-${g[0].toLowerCase()}`) : '';\n\nexport interface AnimationStep {\n // First one is always start state\n // isStartState?: boolean;\n styles: { [key: string]: string };\n delay?: number;\n}\n\nexport interface Animation {\n elementId: string;\n trigger: string;\n steps: AnimationStep[];\n duration: number;\n delay?: number;\n easing?: string;\n // TODO: deprecate - only here because of an API bug\n id?: string;\n // only apply in scrollInView\n repeat?: boolean;\n // only apply in scrollInView, number from -1 to 1\n thresholdPercent?: number;\n}\n\nexport class Animator {\n bindAnimations(animations: Animation[]) {\n for (const animation of animations) {\n switch (animation.trigger) {\n case 'pageLoad':\n this.triggerAnimation(animation);\n break;\n case 'hover':\n this.bindHoverAnimation(animation);\n break;\n case 'scrollInView':\n this.bindScrollInViewAnimation(animation);\n break;\n }\n }\n }\n\n private warnElementNotPresent(id: string) {\n console.warn(`Cannot animate element: element with ID ${id} not found!`);\n }\n\n private augmentAnimation(animation: Animation, element: HTMLElement) {\n const stylesUsed = this.getAllStylesUsed(animation);\n const computedStyle: any = getComputedStyle(element);\n // const computedStyle = getComputedStyle(element);\n // // FIXME: this will break if original load is in one reponsive size then resize to another hmmm\n // Need to use transform instead of left since left can change on screen sizes\n const firstStyles = animation.steps[0].styles;\n const lastStyles = animation.steps[animation.steps.length - 1]!.styles;\n const bothStyles = [firstStyles, lastStyles];\n\n // FIXME: this won't work as expected for augmented animations - may need the editor itself to manage this\n for (const styles of bothStyles) {\n for (const style of stylesUsed) {\n if (!(style in styles)) {\n styles[style] = computedStyle[style];\n }\n }\n }\n }\n\n private getAllStylesUsed(animation: Animation) {\n const properties: (keyof CSSStyleDeclaration)[] = [];\n for (const step of animation.steps) {\n for (const key in step.styles) {\n if (properties.indexOf(key as any) === -1) {\n properties.push(key as any);\n }\n }\n }\n return properties;\n }\n\n triggerAnimation(animation: Animation) {\n // TODO: do for ALL elements\n const elements = Array.prototype.slice.call(\n document.getElementsByClassName(animation.elementId || animation.id || '')\n ) as HTMLElement[];\n if (!elements.length) {\n this.warnElementNotPresent(animation.elementId || animation.id || '');\n return;\n }\n\n Array.from(elements).forEach(element => {\n this.augmentAnimation(animation, element);\n // TODO: do this properly, may have other animations of different properties\n\n // TODO: only override the properties\n // TODO: if there is an entrance and hover animation, the transition duration will get effed\n // element.setAttribute('style', '');\n\n // const styledUsed = this.getAllStylesUsed(animation);\n element.style.transition = 'none';\n element.style.transitionDelay = '0';\n assign(element.style, animation.steps[0].styles);\n // TODO: queue/batch these timeouts\n // TODO: only include properties explicitly set in the animation\n // using Object.keys(styles)\n setTimeout(() => {\n element.style.transition = `all ${animation.duration}s ${camelCaseToKebabCase(\n animation.easing\n )}`;\n if (animation.delay) {\n element.style.transitionDelay = animation.delay + 's';\n }\n assign(element.style, animation.steps[1].styles);\n // TODO: maybe remove/reset transitoin property after animation duration\n\n // TODO: queue timers\n setTimeout(() => {\n // TODO: what if has other transition (reset back to what it was)\n element.style.transition = '';\n element.style.transitionDelay = '';\n }, (animation.delay || 0) * 1000 + animation.duration * 1000 + 100);\n });\n });\n }\n\n bindHoverAnimation(animation: Animation) {\n // TODO: is it multiple binding when editing...?\n // TODO: unbind on element remove\n // TODO: apply to ALL elements\n const elements = Array.prototype.slice.call(\n document.getElementsByClassName(animation.elementId || animation.id || '')\n ) as HTMLElement[];\n if (!elements.length) {\n this.warnElementNotPresent(animation.elementId || animation.id || '');\n return;\n }\n\n Array.from(elements).forEach(element => {\n this.augmentAnimation(animation, element);\n\n const defaultState = animation.steps[0].styles;\n const hoverState = animation.steps[1].styles;\n function attachDefaultState() {\n assign(element!.style, defaultState);\n }\n function attachHoverState() {\n assign(element!.style, hoverState);\n }\n attachDefaultState();\n element.addEventListener('mouseenter', attachHoverState);\n element.addEventListener('mouseleave', attachDefaultState);\n // TODO: queue/batch these timeouts\n setTimeout(() => {\n element.style.transition = `all ${animation.duration}s ${camelCaseToKebabCase(\n animation.easing\n )}`;\n if (animation.delay) {\n element.style.transitionDelay = animation.delay + 's';\n }\n });\n });\n }\n\n // TODO: unbind on element remove\n bindScrollInViewAnimation(animation: Animation) {\n // TODO: apply to ALL matching elements\n const elements = Array.prototype.slice.call(\n document.getElementsByClassName(animation.elementId || animation.id || '')\n ) as HTMLElement[];\n if (!elements.length) {\n this.warnElementNotPresent(animation.elementId || animation.id || '');\n return;\n }\n\n // TODO: if server side rendered and scrolled into view don't animate...\n Array.from(elements).forEach(element => {\n this.augmentAnimation(animation, element);\n\n let triggered = false;\n let pendingAnimation = false;\n function immediateOnScroll() {\n if (!triggered && isScrolledIntoView(element)) {\n triggered = true;\n pendingAnimation = true;\n setTimeout(() => {\n assign(element!.style, animation.steps[1].styles);\n if (!animation.repeat) {\n document.removeEventListener('scroll', onScroll);\n }\n setTimeout(() => {\n pendingAnimation = false;\n if (!animation.repeat) {\n element.style.transition = '';\n element.style.transitionDelay = '';\n }\n }, (animation.duration + (animation.delay || 0)) * 1000 + 100);\n });\n } else if (\n animation.repeat &&\n triggered &&\n !pendingAnimation &&\n !isScrolledIntoView(element)\n ) {\n // we want to repeat the animation every time the the element is out of view and back again\n triggered = false;\n assign(element!.style, animation.steps[0].styles);\n }\n }\n\n // TODO: roll all of these in one for more efficiency of checking all the rects\n const onScroll = throttle(immediateOnScroll, 200, { leading: false });\n\n // TODO: fully in view or partially\n function isScrolledIntoView(elem: HTMLElement) {\n const rect = elem.getBoundingClientRect();\n\n const windowHeight = window.innerHeight;\n\n const thresholdPercent = (animation.thresholdPercent || 0) / 100;\n const threshold = thresholdPercent * windowHeight;\n\n // TODO: partial in view? or what if element is larger than screen itself\n return (\n rect.bottom > threshold && rect.top < windowHeight - threshold // Element is peeking top or bottom\n // (rect.top > 0 && rect.bottom < window.innerHeight) || // element fits within the screen and is fully on screen (not hanging off at all)\n // (rect.top < 0 && rect.bottom > window.innerHeight) // element is larger than the screen and hangs over the top and bottom\n );\n }\n\n const defaultState = animation.steps[0].styles;\n function attachDefaultState() {\n assign(element!.style, defaultState);\n }\n attachDefaultState();\n\n // TODO: queue/batch these timeouts!\n setTimeout(() => {\n element.style.transition = `all ${animation.duration}s ${camelCaseToKebabCase(\n animation.easing\n )}`;\n if (animation.delay) {\n element.style.transitionDelay = animation.delay + 's';\n }\n });\n\n // TODO: one listener for everything\n document.addEventListener('scroll', onScroll, { capture: true, passive: true } as any);\n\n // Do an initial check\n immediateOnScroll();\n });\n }\n}\n","/**\n * Only gets one level up from hostname\n * wwww.example.com -> example.com\n * www.example.co.uk -> example.co.uk\n */\nexport function getTopLevelDomain(host: string) {\n const parts = host.split('.');\n if (parts.length > 2) {\n return parts.slice(1).join('.');\n }\n return host;\n}\n","/**\n * RegExp to match field-content in RFC 7230 sec 3.2\n *\n * field-content = field-vchar [ 1*( SP / HTAB ) field-vchar ]\n * field-vchar = VCHAR / obs-text\n * obs-text = %x80-FF\n */\nconst fieldContentRegExp = /^[\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+$/;\n\nimport { IncomingMessage, ServerResponse } from 'http';\nimport { getTopLevelDomain } from '../functions/get-top-level-domain';\ninterface Options {\n secure?: boolean;\n expires?: Date;\n}\n\nclass Cookies {\n secure?: boolean;\n\n constructor(private request: IncomingMessage, private response: ServerResponse) {}\n\n get(name: string) {\n const header = this.request.headers['cookie'] as string;\n if (!header) {\n return;\n }\n\n const match = header.match(getPattern(name));\n if (!match) {\n return;\n }\n\n const value = match[1];\n return value;\n }\n\n set(name: string, value: string, opts: Options) {\n const res = this.response;\n const req = this.request;\n let headers = res.getHeader('Set-Cookie') || [];\n // TODO: just make this always true\n const secure =\n this.secure !== undefined\n ? !!this.secure\n : (req as any).protocol === 'https' || (req.connection as any).encrypted;\n const cookie = new Cookie(name, value, opts);\n\n if (typeof headers === 'string') {\n headers = [headers];\n }\n\n if (!secure && opts && opts.secure) {\n throw new Error('Cannot send secure cookie over unencrypted connection');\n }\n\n cookie.secure = secure;\n if (opts && 'secure' in opts) {\n cookie.secure = !!opts.secure;\n }\n\n cookie.domain = req.headers.host && getTopLevelDomain(req.headers.host);\n\n pushCookie(headers, cookie);\n\n const setHeader = res.setHeader;\n setHeader.call(res, 'Set-Cookie', headers);\n return this;\n }\n}\n\nclass Cookie {\n path = '/';\n expires?: Date;\n domain: string | undefined = undefined;\n httpOnly = true;\n sameSite?: boolean | string = false;\n secure = false;\n overwrite = false;\n name = '';\n value = '';\n maxAge?: number;\n\n constructor(name: string, value: string, attrs: Options) {\n if (!fieldContentRegExp.test(name)) {\n throw new TypeError('argument name is invalid');\n }\n\n if (value && !fieldContentRegExp.test(value)) {\n throw new TypeError('argument value is invalid');\n }\n\n if (!value) {\n this.expires = new Date(0);\n }\n\n this.name = name;\n this.value = value || '';\n\n if (attrs.expires) {\n this.expires = attrs.expires;\n }\n if (attrs.secure) {\n this.secure = attrs.secure;\n }\n }\n\n toString() {\n return `${this.name}=${this.value}`;\n }\n\n toHeader() {\n let header = this.toString();\n\n if (this.maxAge) {\n this.expires = new Date(Date.now() + this.maxAge);\n }\n if (this.path) {\n header += `; path=${this.path}`;\n }\n if (this.expires) {\n header += `; expires=${this.expires.toUTCString()}`;\n }\n if (this.domain) {\n header += `; domain=${this.domain}`;\n }\n\n // TODO: samesite=none by default (?)\n header += `; SameSite=${this.sameSite === true ? 'strict' : 'None'}`;\n\n // TODO: On by default\n if (this.secure) {\n header += '; secure';\n }\n if (this.httpOnly) {\n header += '; httponly';\n }\n\n return header;\n }\n}\n\nfunction getPattern(name: string) {\n return new RegExp(`(?:^|;) *${name.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&')}=([^;]*)`);\n}\n\nfunction pushCookie(headers: any, cookie: Cookie) {\n if (cookie.overwrite) {\n for (let i = headers.length - 1; i >= 0; i--) {\n if (headers[i].indexOf(`${cookie.name}=`) === 0) {\n headers.splice(i, 1);\n }\n }\n }\n\n headers.push(cookie.toHeader());\n}\n\nexport default Cookies;\n","export function omit<T extends object>(obj: T, ...values: (keyof T)[]): Partial<T> {\n const newObject = Object.assign({}, obj);\n for (const key of values) {\n delete (newObject as any)[key];\n }\n return newObject;\n}\n","/**\n * @credit https://stackoverflow.com/a/2117523\n */\nexport function uuidv4() {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n var r = (Math.random() * 16) | 0,\n v = c == 'x' ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n });\n}\n\n/**\n * Slightly cleaner and smaller UUIDs\n */\nexport function uuid() {\n return uuidv4().replace(/-/g, '');\n}\n","import { UrlWithStringQuery } from 'url';\n\ntype Fix<T> = { [P in keyof T]: T[P] | null };\n\n// It seems that the types for UrlWithStringQuery are not correct.\nexport type UrlLike = Fix<UrlWithStringQuery>;\n\nexport function emptyUrl(): UrlLike {\n return {\n query: null,\n port: null,\n auth: null,\n hash: null,\n host: null,\n hostname: null,\n href: null,\n path: null,\n pathname: null,\n protocol: null,\n search: null,\n slashes: null,\n };\n}\n\n// Replacement for `url.parse` using `URL` global object that works with relative paths.\n// Assumptions: this function operates in a NodeJS environment.\nexport function parse(url: string): UrlLike {\n const out: UrlLike = emptyUrl();\n\n let u;\n const pathOnly = url === '' || url[0] === '/';\n\n if (pathOnly) {\n u = new URL(url, 'http://0.0.0.0/');\n out.href = u.href;\n out.href = out.href.slice(14); // remove 'http://0.0.0.0/'\n } else {\n u = new URL(url);\n out.href = u.href;\n out.port = u.port === '' ? null : u.port;\n out.hash = u.hash === '' ? null : u.hash;\n out.host = u.host;\n out.hostname = u.hostname;\n out.href = u.href;\n out.pathname = u.pathname;\n out.protocol = u.protocol;\n out.slashes = url[u.protocol.length] === '/'; // check if the mimetype is proceeded by a slash\n }\n\n out.search = u.search;\n out.query = u.search.slice(1); // remove '?'\n out.path = `${u.pathname}${u.search}`;\n out.pathname = u.pathname;\n\n return out;\n}\n","/**\n * Safe conversion to error type. Intended to be used in catch blocks where the\n * value is not guaranteed to be an error.\n *\n * @example\n * try {\n * throw new Error('Something went wrong')\n * }\n * catch (err: unknown) {\n * const error: Error = toError(err)\n * }\n */\nexport function toError(err: unknown): Error {\n if (err instanceof Error) return err;\n return new Error(String(err));\n}\n","import './polyfills/custom-event-polyfill';\nimport { IncomingMessage, ServerResponse } from 'http';\nimport { nextTick } from './functions/next-tick.function';\nimport { QueryString } from './classes/query-string.class';\nimport { version } from '../package.json';\nimport { BehaviorSubject } from './classes/observable.class';\nimport { fetch, SimplifiedFetchOptions } from './functions/fetch.function';\nimport { assign } from './functions/assign.function';\nimport { throttle } from './functions/throttle.function';\nimport { Animator } from './classes/animator.class';\nimport { BuilderElement } from './types/element';\nimport Cookies from './classes/cookies.class';\nimport { omit } from './functions/omit.function';\nimport serverOnlyRequire from './functions/server-only-require.function';\nimport { getTopLevelDomain } from './functions/get-top-level-domain';\nimport { BuilderContent } from './types/content';\nimport { uuid } from './functions/uuid';\nimport { parse as urlParse } from './url';\n\n// Do not change this to a require! It throws runtime errors - rollup\n// will preserve the `require` and throw runtime errors\nimport hash from 'hash-sum';\nimport { toError } from './functions/to-error';\nimport { emptyUrl, UrlLike } from './url';\n\nexport type Url = any;\n\nfunction datePlusMinutes(minutes = 30) {\n return new Date(Date.now() + minutes * 60000);\n}\n\nconst isPositiveNumber = (thing: unknown) =>\n typeof thing === 'number' && !isNaN(thing) && thing >= 0;\n\nexport const isReactNative = typeof navigator === 'object' && navigator.product === 'ReactNative';\n\nexport const validEnvList = [\n 'production',\n 'qa',\n 'test',\n 'development',\n 'dev',\n 'cdn-qa',\n 'cloud',\n 'fast',\n 'cdn2',\n 'cdn-prod',\n];\n\nfunction getQueryParam(url: string, variable: string): string | null {\n const query = url.split('?')[1] || '';\n const vars = query.split('&');\n for (let i = 0; i < vars.length; i++) {\n const pair = vars[i].split('=');\n if (decodeURIComponent(pair[0]) === variable) {\n return decodeURIComponent(pair[1]);\n }\n }\n return null;\n}\n\nconst urlParser = {\n parse(url: string): UrlLike {\n const el: HTMLAnchorElement = document.createElement('a') as any;\n el.href = url;\n const out: any = {};\n\n const props = [\n 'username',\n 'password',\n 'host',\n 'hostname',\n 'port',\n 'protocol',\n 'origin',\n 'pathname',\n 'search',\n 'hash',\n ] as const;\n\n for (const prop of props) {\n out[prop] = el[prop];\n }\n\n // IE 11 pathname handling workaround\n // (IE omits preceeding '/', unlike other browsers)\n if (\n (out.pathname || out.pathname === '') &&\n typeof out.pathname === 'string' &&\n out.pathname.indexOf('/') !== 0\n ) {\n out.pathname = '/' + out.pathname;\n }\n\n return out;\n },\n};\n\nconst parse: (url: string) => UrlLike = isReactNative\n ? () => emptyUrl()\n : typeof window === 'object'\n ? urlParser.parse\n : urlParse;\n\nfunction setCookie(name: string, value: string, expires?: Date) {\n try {\n let expiresString = '';\n\n // TODO: need to know if secure server side\n if (expires) {\n expiresString = '; expires=' + expires.toUTCString();\n }\n\n const secure = isBrowser ? location.protocol === 'https:' : true;\n document.cookie =\n name +\n '=' +\n (value || '') +\n expiresString +\n '; path=/' +\n `; domain=${getTopLevelDomain(location.hostname)}` +\n (secure ? ';secure ; SameSite=None' : '');\n } catch (err) {\n console.warn('Could not set cookie', err);\n }\n}\n\nfunction getCookie(name: string) {\n try {\n return (\n decodeURIComponent(\n document.cookie.replace(\n new RegExp(\n '(?:(?:^|.*;)\\\\s*' +\n encodeURIComponent(name).replace(/[\\-\\.\\+\\*]/g, '\\\\$&') +\n '\\\\s*\\\\=\\\\s*([^;]*).*$)|^.*$'\n ),\n '$1'\n )\n ) || null\n );\n } catch (err) {\n console.warn('Could not get cookie', err);\n }\n}\n\nfunction size(object: object) {\n return Object.keys(object).length;\n}\n\nfunction find<T = any>(target: T[], callback: (item: T, index: number, list: T[]) => boolean) {\n const list = target;\n // Makes sures is always has an positive integer as length.\n const length = list.length >>> 0;\n const thisArg = arguments[1];\n for (let i = 0; i < length; i++) {\n const element = list[i];\n if (callback.call(thisArg, element, i, list)) {\n return element;\n }\n }\n}\n\nconst sessionStorageKey = 'builderSessionId';\nconst localStorageKey = 'builderVisitorId';\n\nexport const isBrowser = typeof window !== 'undefined' && !isReactNative;\nexport const isIframe = isBrowser && window.top !== window.self;\n\nexport interface ParamsMap {\n [key: string]: any;\n}\n\ntype TrackingHook = (\n eventData: Event,\n context: { content?: BuilderContent; [key: string]: any }\n) => Event | undefined;\n\ninterface EventData {\n contentId?: string;\n ownerId: string;\n variationId?: string;\n userAttributes?: any;\n targetSelector?: string;\n targetBuilderElement?: string;\n unique?: boolean;\n metadata?: any | string;\n meta?: any | string;\n sessionId?: string;\n visitorId?: string;\n amount?: number;\n}\n// TODO: share interfaces with API\ninterface Event {\n type: string;\n data: EventData;\n}\n\n/**\n * Attributes that can be used for custom targeting. {@link\n * https://www.builder.io/c/docs/guides/targeting-and-scheduling}\n */\nexport interface UserAttributes {\n [key: string]:\n | undefined\n | string\n | string[]\n | boolean\n | boolean[]\n | number\n | number[]\n | Record<string, any>;\n /**\n * URL path of the current user.\n */\n urlPath?: string;\n /**\n * @deprecated\n * @hidden\n */\n queryString?: string | ParamsMap;\n /**\n * @deprecated\n * @hidden\n */\n device?: 'mobile' | 'tablet' | 'desktop';\n /**\n * @deprecated\n * @hidden\n */\n location?: any;\n /**\n * @deprecated\n * @hidden\n */\n userAgent?: string;\n /**\n * @deprecated\n * @hidden\n */\n referrer?: string;\n /**\n * @deprecated\n * @hidden\n */\n entryMedium?: string;\n /**\n * @deprecated\n * @hidden\n */\n language?: string;\n /**\n * @deprecated\n * @hidden\n */\n browser?: string;\n /**\n * @deprecated\n * @hidden\n */\n cookie?: string;\n /**\n * @deprecated\n * @hidden\n */\n newVisitor?: boolean;\n /**\n * @deprecated\n * @hidden\n */\n operatingSystem?: string;\n}\n\nexport interface GetContentOptions {\n /**\n * User attribute key value pairs to be used for targeting\n * https://www.builder.io/c/docs/custom-targeting-attributes\n *\n * e.g.\n * ```js\n * userAttributes: {\n * urlPath: '/',\n * returnVisitor: true,\n * }\n * ```\n */\n userAttributes?: UserAttributes;\n /**\n * Alias for userAttributes.urlPath except it can handle a full URL (optionally with host,\n * protocol, query, etc) and we will parse out the path.\n */\n url?: string;\n /**\n * @package\n */\n includeUrl?: boolean;\n /**\n * Follow references. If you use the `reference` field to pull in other content without this\n * enabled we will not fetch that content for the final response.\n */\n includeRefs?: boolean;\n /**\n * How long in seconds content should be cached for. Sets the max-age of the cache-control header\n * response header.\n *\n * Use a higher value for better performance, lower for content that will change more frequently\n *\n * @see {@link https://www.builder.io/c/docs/query-api#__next:~:text=%26includeRefs%3Dtrue-,cacheSeconds,-No}\n */\n cacheSeconds?: number;\n /**\n * Builder.io uses stale-while-revalidate caching at the CDN level. This means we always serve\n * from edge cache and update caches in the background for maximum possible performance. This also\n * means that the more frequently content is requested, the more fresh it will be. The longest we\n * will ever hold something in stale cache is 1 day by default, and you can set this to be shorter\n * yourself as well. We suggest keeping this high unless you have content that must change rapidly\n * and gets very little traffic.\n *\n * @see {@link https://www.fastly.com/blog/prevent-application-network-instability-serve-stale-content}\n */\n staleCacheSeconds?: number;\n /**\n * Maximum number of results to return. Defaults to `1`.\n */\n limit?: number;\n /**\n * Mongodb style query of your data. E.g.:\n *\n * ```js\n * query: {\n * id: 'abc123',\n * data: {\n * myCustomField: { $gt: 20 },\n * }\n * }\n * ```\n *\n * See more info on MongoDB's query operators and format.\n *\n * @see {@link https://docs.mongodb.com/manual/reference/operator/query/}\n */\n query?: any;\n /**\n * Bust through all caches. Not recommended for production (for performance),\n * but can be useful for development and static builds (so the static site has\n * fully fresh / up to date content)\n */\n cachebust?: boolean;\n /**\n * Convert any visual builder content to HTML.\n *\n * This will be on data.html of the response's content entry object json.\n */\n prerender?: boolean;\n /**\n * Extract any styles to a separate css property when generating HTML.\n */\n extractCss?: boolean;\n /**\n * Pagination results offset. Defaults to zero.\n */\n offset?: number;\n /**\n * @package\n *\n * `BuilderContent` to render instead of fetching.\n */\n initialContent?: any;\n /**\n * The name of the model to fetch content for.\n */\n model?: string;\n /**\n * Set to `false` to not cache responses when running on the client.\n */\n cache?: boolean;\n /**\n * Set to the current locale in your application if you want localized inputs to be auto-resolved, should match one of the locales keys in your space settings\n * Learn more about adding or removing locales [here](https://www.builder.io/c/docs/add-remove-locales)\n */\n locale?: string;\n /**\n * @package\n *\n * Indicate that the fetch request is for preview purposes.\n */\n preview?: boolean;\n /**\n * Specific content entry ID to fetch.\n */\n entry?: string;\n /**\n * @package\n * @deprecated\n * @hidden\n */\n alias?: string;\n fields?: string;\n /**\n * Omit only these fields.\n *\n * @example\n * ```\n * &omit=data.bigField,data.blocks\n * ```\n */\n omit?: string;\n key?: string;\n /**\n * @package\n *\n * Affects HTML generation for specific targets.\n */\n format?: 'amp' | 'email' | 'html' | 'react' | 'solid';\n /**\n * @deprecated\n * @hidden\n */\n noWrap?: true;\n /**\n * @package\n *\n * Specific string to use for cache busting. e.g. every time we generate\n * HTML we generate a rev (a revision ID) and we send that with each request\n * on the client, such that if we generate new server HTML we get a new rev\n * and we use that to bust the cache because even though the content ID may\n * be the same, it could be an updated version of this content that needs to\n * be fresh.\n */\n rev?: string;\n /**\n * @package\n *\n * Tell the API that when generating HTML to generate it in static mode for\n * a/b tests instead of the older way we did this\n */\n static?: boolean;\n /**\n * Additional query params of the Content API to send.\n */\n options?: { [key: string]: any };\n /**\n * @package\n *\n * Don't listen to updates in the editor - this is useful for embedded\n * symbols so they don't accidentally listen to messages as you are editing\n * content thinking they should updates when they actually shouldn't.\n */\n noEditorUpdates?: boolean;\n}\n\nexport type Class = {\n name?: string;\n new (...args: any[]): any;\n};\n\ninterface Map<K, V> {\n clear(): void;\n delete(key: K): boolean;\n entries(): IterableIterator<[K, V]>;\n forEach(callbackfn: (value: V, index: K, map: Map<K, V>) => void, thisArg?: any): void;\n get(key: K): V;\n has(key: K): boolean;\n keys(): IterableIterator<K>;\n set(key: K, value?: V): Map<K, V>;\n size: number;\n values(): IterableIterator<V>;\n [Symbol.iterator](): IterableIterator<[K, V]>;\n}\n\n/**\n * This is the interface for inputs in `Builder.registerComponent`\n *\n * ```js\n * Builder.registerComponent(MyComponent, {\n * inputs: [{ name: 'title', type: 'text' }] // <- Input[]\n * })\n * ```\n *\n * Learn more about registering custom components [here](https://www.builder.io/c/docs/custom-react-components)\n */\nexport interface Input {\n /** This is the name of the component prop this input represents */\n name: string;\n /** A friendlier name to show in the UI if the component prop name is not ideal for end users */\n friendlyName?: string;\n /** @hidden @deprecated */\n description?: string;\n /** A default value to use */\n defaultValue?: any;\n /**\n * The type of input to use, such as 'text'\n *\n * See all available inputs [here](https://www.builder.io/c/docs/custom-react-components#input-types)\n * and you can create your own custom input types and associated editor UIs with [plugins](https://www.builder.io/c/docs/extending/plugins)\n */\n type: string;\n /** Is this input mandatory or not */\n required?: boolean;\n /** @hidden */\n autoFocus?: boolean;\n subFields?: Input[];\n /**\n * Additional text to render in the UI to give guidance on how to use this\n *\n * @example\n * ```js\n * helperText: 'Be sure to use a proper URL, starting with \"https://\"'\n * 111\n */\n helperText?: string;\n /** @hidden */\n allowedFileTypes?: string[];\n /** @hidden */\n imageHeight?: number;\n /** @hidden */\n imageWidth?: number;\n /** @hidden */\n mediaHeight?: number;\n /** @hidden */\n mediaWidth?: number;\n /** @hidden */\n hideFromUI?: boolean;\n /** @hidden */\n modelId?: string;\n /**\n * Number field type validation maximum accepted input\n */\n max?: number;\n /**\n * Number field type validation minimum accepted input\n */\n min?: number;\n /**\n * Number field type step size when using arrows\n */\n step?: number;\n\n /**\n * Set this to `true` to show the editor for this input when\n * children of this component are selected. This is useful for things\n * like Tabs, such that users may not always select the Tabs component\n * directly but will still be looking for how to add additional tabs\n */\n broadcast?: boolean;\n /**\n * Set this to `true` to show the editor for this input when\n * group locked parents of this component are selected. This is useful\n * to bubble up important inputs for locked groups, like text and images\n */\n bubble?: boolean;\n /**\n * Set this to `true` if you want this component to be translatable\n */\n localized?: boolean;\n /** @hidden */\n options?: { [key: string]: any };\n /**\n * For \"text\" input type, specifying an enum will show a dropdown of options instead\n */\n enum?: string[] | { label: string; value: any; helperText?: string }[];\n /** Regex field validation for all string types (text, longText, html, url, etc) */\n regex?: {\n /** pattern to test, like \"^\\/[a-z]$\" */\n pattern: string;\n /** flags for the RegExp constructor, e.g. \"gi\" */\n options?: string;\n /**\n * Friendly message to display to end-users if the regex fails, e.g.\n * \"You must use a relative url starting with '/...' \"\n */\n message: string;\n };\n /**\n * Set this to `true` to put this under the \"show more\" section of\n * the options editor. Useful for things that are more advanced\n * or more rarely used and don't need to be too prominent\n */\n advanced?: boolean;\n /** @hidden */\n onChange?: Function | string;\n /** @hidden */\n code?: boolean;\n /** @hidden */\n richText?: boolean;\n /** @hidden */\n showIf?: ((options: Map<string, any>) => boolean) | string;\n /** @hidden */\n copyOnAdd?: boolean;\n /**\n * Use optionally with inputs of type `reference`. Restricts the content entry picker to a specific model by name.\n */\n model?: string;\n}\n\n/**\n * This is the interface for the options for `Builder.registerComponent`\n *\n * ```js\n * Builder.registerComponent(YourComponent, {\n * // <- Component options\n * })\n * ```\n *\n * Learn more about registering custom components [here](https://www.builder.io/c/docs/custom-react-components)\n */\nexport interface Component {\n /**\n * Name your component something unique, e.g. 'MyButton'. You can override built-in components\n * by registering a component with the same name, e.g. 'Text', to replace the built-in text component\n */\n name: string;\n /** @hidden @deprecated */\n description?: string;\n /**\n * Link to a documentation page for this component\n */\n docsLink?: string;\n /**\n * Link to an image to be used as an icon for this component in Builder's editor\n *\n * @example\n * ```js\n * image: 'https://some-cdn.com/my-icon-for-this-component.png'\n * ```\n */\n image?: string;\n /**\n * Link to a screenshot shown when user hovers over the component in Builder's editor\n * use https://builder.io/upload to upload your screeshot, for easier resizing by Builder.\n */\n screenshot?: string;\n\n /**\n * When overriding built-in components, if you don't want any special behavior that\n * the original has, set this to `true` to skip the default behavior\n *\n * Default behaviors include special \"virtual options\", such as a custom\n * aspect ratio editor for Images, or a special column editor for Columns\n *\n * Learn more about overriding built-in components here: https://www.builder.io/c/docs/custom-components-overriding\n */\n override?: boolean;\n\n /**\n * Input schema for your component for users to fill in the options via a UI\n * that translate to this components props\n */\n inputs?: Input[];\n /** @hidden @deprecated */\n class?: any;\n /** @hidden @deprecated */\n type?: 'angular' | 'webcomponent' | 'react' | 'vue';\n /**\n * Default styles to apply when droppged into the Builder.io editor\n *\n * @example\n * ```js\n * defaultStyles: {\n * // large (default) breakpoint\n * large: {\n * backgroundColor: 'black'\n * },\n * }\n * ```\n */\n defaultStyles?: { [key: string]: string };\n /**\n * Turn on if your component can accept children. Be sure to use in combination with\n * withChildren(YourComponent) like here\n * github.com/BuilderIO/builder/blob/master/examples/react-design-system/src/components/HeroWithChildren/HeroWithChildren.builder.js#L5\n */\n canHaveChildren?: boolean;\n /** @hidden */\n fragment?: boolean;\n /**\n * Do not wrap a component in a dom element. Be sure to use {...props.attributes} with this option\n * like here github.com/BuilderIO/builder/blob/master/packages/react/src/blocks/forms/Input.tsx#L34\n */\n noWrap?: boolean;\n /**\n * Default children\n */\n defaultChildren?: BuilderElement[];\n /**\n * Default options to merge in when creating this block\n */\n defaults?: Partial<BuilderElement>;\n /** @hidden @deprecated */\n hooks?: { [key: string]: string | Function };\n /**\n * Hide your component in editor, useful for gradually deprecating components\n */\n hideFromInsertMenu?: boolean;\n /** Custom tag name (for custom webcomponents only) */\n tag?: string;\n /** @hidden @deprecated */\n static?: boolean;\n /**\n * Passing a list of model names will restrict using the component to only the models listed here, otherwise it'll be available for all models\n */\n models?: string[];\n\n /**\n * Specify restrictions direct children must match\n */\n childRequirements?: {\n /** Message to show when this doesn't match, e.g. \"Children of 'Columns' must be a 'Column'\" */\n message: string;\n /** Simple way to say children must be a specific component name */\n component?: string;\n /**\n * More advanced - specify a MongoDB-style query (using sift.js github.com/crcn/sift.js)\n * of what the children objects should match, e.g.\n *\n * @example\n * query: {\n * // Child of this element must be a 'Button' or 'Text' component\n * 'component.name': { $in: ['Button', 'Text'] }\n * }\n */\n query?: any;\n };\n\n /**\n * Specify restrictions any parent must match\n */\n requiresParent?: {\n /** Message to show when this doesn't match, e.g. \"'Add to cart' buttons must be within a 'Product box'\" */\n message: string;\n /** Simple way to say a parent must be a specific component name, e.g. 'Product box' */\n component?: string;\n\n /**\n * More advanced - specify a MongoDB-style query (using sift.js github.com/crcn/sift.js)\n * of what at least one parent in the parents hierarchy should match, e.g.\n *\n * @example\n * query: {\n * // Thils element must be somewhere inside either a 'Product box' or 'Collection' component\n * 'component.name': { $in: ['Product Box', 'Collection'] }\n * }\n */\n query?: any;\n };\n\n /** @hidden @deprecated */\n friendlyName?: string;\n\n /**\n * Use to restrict access to your component based on a the current user permissions\n * By default components will show to all users\n * for more information on permissions in builder check https://www.builder.io/c/docs/guides/roles-and-permissions\n */\n requiredPermissions?: Array<Permission>;\n}\n\ntype Permission = 'read' | 'publish' | 'editCode' | 'editDesigns' | 'admin' | 'create';\n\ntype DeepPartial<T> = {\n [P in keyof T]?: T[P] extends Array<infer U>\n ? Array<DeepPartial<U>>\n : T[P] extends ReadonlyArray<infer U>\n ? ReadonlyArray<DeepPartial<U>>\n : DeepPartial<T[P]>;\n};\n\nexport interface InsertMenuItem {\n name: string;\n icon?: string;\n item: DeepPartial<BuilderElement>;\n}\n\n/**\n * Use this to register custom sections in the Insert menu, for instance\n * to make new sections to organize your custom components\n *\n * \n *\n * @example\n * ```js\n * Builder.register('insertMenu', {\n * name: 'Our components',\n * items: [\n * { name: 'Hero' },\n * { name: 'Double Columns' },\n * { name: 'Triple Columns' },\n * { name: 'Dynamic Columns' },\n * ],\n * })\n * ```\n *\n * You can make as many custom sections as you like\n *\n * See a complete usage example [here](https://github.com/builderio/builder/blob/main/examples/react-design-system/src/builder-settings.js)\n */\nexport interface InsertMenuConfig {\n name: string;\n priority?: number;\n persist?: boolean;\n advanced?: boolean;\n items: InsertMenuItem[];\n}\n\nexport function BuilderComponent(info: Partial<Component> = {}) {\n return Builder.Component(info);\n}\n\n// TODO\ntype Settings = any;\n\nexport interface Action {\n name: string;\n inputs?: Input[];\n returnType?: Input;\n action: Function | string;\n}\n\nexport class Builder {\n /**\n * @hidden\n * @deprecated. This is buggy, and always behind by a version.\n */\n static VERSION = version;\n\n static components: Component[] = [];\n static singletonInstance: Builder;\n /**\n * Makes it so that a/b tests generate code like {@link\n * https://www.builder.io/blog/high-performance-no-code#__next:~:text=Static%20generated%20A%2FB%20testing}\n * instead of the old way where we render only one test group at a time on the\n * server. This is the preferred/better way not and we should ultimately make it\n * the default\n */\n static isStatic = true;\n static animator = new Animator();\n\n static nextTick = nextTick;\n static throttle = throttle;\n\n static editors: any[] = [];\n static trustedHosts: string[] = ['builder.io', 'localhost'];\n static plugins: any[] = [];\n\n static actions: Action[] = [];\n static registry: { [key: string]: any[] } = {};\n static overrideHost: string | undefined;\n\n /**\n * @todo `key` property on any info where if a key matches a current\n * key it gets removed\n */\n static register(type: 'insertMenu', info: InsertMenuConfig): void;\n static register(type: string, info: any): void;\n static register(type: string, info: any) {\n // TODO: all must have name and can't conflict?\n let typeList = this.registry[type];\n if (!typeList) {\n typeList = this.registry[type] = [];\n }\n typeList.push(info);\n if (Builder.isBrowser) {\n const message = {\n type: 'builder.register',\n data: {\n type,\n info,\n },\n };\n try {\n parent.postMessage(message, '*');\n if (parent !== window) {\n window.postMessage(message, '*');\n }\n } catch (err) {\n console.debug('Could not postmessage', err);\n }\n }\n this.registryChange.next(this.registry);\n }\n\n static registryChange = new BehaviorSubject({} as typeof Builder.registry);\n\n static registerEditor(info: any) {\n if (Builder.isBrowser) {\n window.postMessage(\n {\n type: 'builder.registerEditor',\n data: omit(info, 'component'),\n },\n '*'\n );\n const { hostname } = location;\n\n if (!Builder.isTrustedHost(hostname)) {\n console.error(\n 'Builder.registerEditor() called in the wrong environment! You cannot load custom editors from your app, they must be loaded through the Builder.io app itself. Follow the readme here for more details: https://github.com/builderio/builder/tree/master/plugins/cloudinary or contact chat us in our Spectrum community for help: https://spectrum.chat/builder'\n );\n }\n }\n this.editors.push(info);\n }\n\n static registerPlugin(info: any) {\n this.plugins.push(info);\n }\n\n static registerAction(action: Action) {\n this.actions.push(action);\n }\n\n static registerTrustedHost(host: string) {\n this.trustedHosts.push(host);\n }\n\n static isTrustedHost(hostname: string) {\n return (\n this.trustedHosts.findIndex(\n trustedHost => trustedHost === hostname || hostname.endsWith(`.${trustedHost}`)\n ) > -1\n );\n }\n\n static runAction(action: Action | string) {\n // TODO\n const actionObject =\n typeof action === 'string' ? find(this.actions, item => item.name === action) : action;\n\n if (!actionObject) {\n throw new Error(`Action not found: ${action}`);\n }\n }\n\n static fields(name: string, fields: Input[]) {\n window.parent?.postMessage(\n {\n type: 'builder.fields',\n data: { name, fields },\n },\n '*'\n );\n }\n\n private static _editingPage = false;\n\n static isIframe = isIframe;\n static isBrowser = isBrowser;\n static isReactNative = isReactNative;\n static isServer = !isBrowser && !isReactNative;\n static previewingModel = Builder.isBrowser && getQueryParam(location.href, 'builder.preview');\n\n static settings: Settings = {};\n static settingsChange = new BehaviorSubject<Settings>({});\n\n /**\n * @deprecated\n * @hidden\n *\n * Use Builder.register('editor.settings', {}) instead.\n */\n static set(settings: Settings): void {\n Builder.register('editor.settings', settings);\n }\n\n static import(packageName: string) {\n if (!Builder.isBrowser) {\n // TODO: server side support *maybe*\n console.warn('Builder.import used on the server - this should only be used in the browser');\n return;\n }\n const { System } = window as any;\n\n if (!System) {\n console.warn('System.js not available. Please include System.js when using Builder.import');\n return;\n }\n return System.import(`https://cdn.builder.io/systemjs/${packageName}`);\n }\n\n // TODO: this is quick and dirty, do better implementation later. Also can be unreliable\n // if page 301s etc. Use a query param instead? also could have issues with redirects. Injecting var could\n // work but is async...\n static isEditing = Boolean(\n isIframe &&\n ((document.referrer && document.referrer.match(/builder\\.io|localhost:1234/)) ||\n location.search.indexOf('builder.frameEditing=') !== -1)\n );\n\n static isPreviewing = Boolean(\n isBrowser &&\n (location.search.indexOf('builder.preview=') !== -1 ||\n location.search.indexOf('builder.frameEditing=') !== -1)\n );\n\n // useCdnApi = false;\n\n static get editingPage() {\n return this._editingPage;\n }\n\n static set editingPage(editingPage) {\n this._editingPage = editingPage;\n if (isBrowser && isIframe) {\n if (editingPage) {\n document.body.classList.add('builder-editing-page');\n } else {\n document.body.classList.remove('builder-editing-page');\n }\n }\n }\n\n private static prepareComponentSpecToSend(spec: Component): Component {\n return {\n ...spec,\n ...(spec.inputs && {\n inputs: spec.inputs.map((input: any) => {\n // TODO: do for nexted fields too\n // TODO: probably just convert all functions, not just\n // TODO: put this in input hooks: { onChange: ..., showIf: ... }\n const keysToConvertFnToString = ['onChange', 'showIf'];\n\n for (const key of keysToConvertFnToString) {\n if (input[key] && typeof input[key] === 'function') {\n const fn = input[key];\n input = {\n ...input,\n [key]: `return (${fn.toString()}).apply(this, arguments)`,\n };\n }\n }\n\n return input;\n }),\n }),\n hooks: Object.keys(spec.hooks || {}).reduce((memo, key) => {\n const value = spec.hooks && spec.hooks[key];\n if (!value) {\n return memo;\n }\n if (typeof value === 'string') {\n memo[key] = value;\n } else {\n memo[key] = `return (${value.toString()}).apply(this, arguments)`;\n }\n return memo;\n }, {} as { [key: string]: string }),\n class: undefined,\n };\n }\n\n static registerBlock(component: any, options: Component) {\n this.registerComponent(component, options);\n }\n\n static registerComponent(component: any, options: Component) {\n const spec = {\n class: component,\n ...component.builderOptions,\n ...options,\n };\n this.addComponent(spec);\n const editable =\n options.models && this.singletonInstance.editingModel\n ? isBrowser && options.models.includes(this.singletonInstance.editingModel)\n : isBrowser;\n if (editable) {\n const sendSpec = this.prepareComponentSpecToSend(spec);\n window.parent?.postMessage(\n {\n type: 'builder.registerComponent',\n data: sendSpec,\n },\n '*'\n );\n }\n }\n\n private static addComponent(component: Component) {\n const current = find(this.components, item => item.name === component.name);\n if (current) {\n // FIXME: why does sometimes we get an extra post without class - probably\n // from postMessage handler wrong in some place\n if (current.class && !component.class) {\n return;\n }\n this.components.splice(this.components.indexOf(current), 1, component);\n } else {\n this.components.push(component);\n }\n }\n\n // TODO: style guide, etc off this system as well?\n static component(info: Partial<Component> = {}) {\n return (component: Class) => {\n const spec = { ...info, class: component };\n if (!spec.name) {\n spec.name = component.name;\n }\n this.addComponent(spec as Component);\n\n const sendSpec = this.prepareComponentSpecToSend(spec as Component);\n // TODO: serialize component name and inputs\n if (isBrowser) {\n window.parent?.postMessage(\n {\n type: 'builder.registerComponent',\n data: sendSpec,\n },\n '*'\n );\n }\n return component;\n };\n }\n\n static isReact = false;\n\n static get Component() {\n return this.component;\n }\n\n private eventsQueue: Event[] = [];\n\n private throttledClearEventsQueue = throttle(() => {\n this.processEventsQueue();\n // Extend the session cookie\n this.setCookie(sessionStorageKey, this.sessionId, datePlusMinutes(30));\n }, 5);\n\n private processEventsQueue() {\n if (!this.eventsQueue.length) {\n return;\n }\n const events = this.eventsQueue;\n this.eventsQueue = [];\n\n const fullUserAttributes = {\n ...Builder.overrideUserAttributes,\n ...this.trackingUserAttributes,\n };\n for (const event of events) {\n if (!event.data.metadata) {\n event.data.metadata = {};\n }\n if (!event.data.metadata.user) {\n event.data.metadata.user = {};\n }\n Object.assign(event.data.metadata.user, fullUserAttributes, event.data.metadata.user);\n }\n\n const host = this.host;\n\n fetch(`${host}/api/v1/track`, {\n method: 'POST',\n body: JSON.stringify({ events }),\n headers: {\n 'content-type': 'application/json',\n },\n mode: 'cors',\n }).catch(() => {\n // Not the end of the world\n });\n }\n\n env: string = 'production';\n\n sessionId = this.getSessionId();\n\n targetContent = true;\n\n contentPerRequest = 1;\n\n // TODO: make array or function\n allowCustomFonts = true;\n\n private cookies: Cookies | null = null;\n\n // TODO: api options object\n private cachebust = false;\n private overrideParams = '';\n private noCache = false;\n private preview = false;\n\n get browserTrackingDisabled() {\n return Builder.isBrowser && Boolean((window as any).builderNoTrack || !navigator.cookieEnabled);\n }\n\n get canTrack() {\n return this.canTrack$.value;\n }\n\n set canTrack(canTrack) {\n if (this.canTrack !== canTrack) {\n this.canTrack$.next(canTrack);\n }\n }\n\n private canTrack$ = new BehaviorSubject(!this.browserTrackingDisabled);\n private apiKey$ = new BehaviorSubject<string | null>(null);\n private authToken$ = new BehaviorSubject<string | null>(null);\n\n userAttributesChanged = new BehaviorSubject<any>(null);\n\n get editingMode() {\n return this.editingMode$.value;\n }\n\n set editingMode(value) {\n if (value !== this.editingMode) {\n this.editingMode$.next(value);\n }\n }\n\n editingMode$ = new BehaviorSubject(isIframe);\n\n get editingModel() {\n return this.editingModel$.value;\n }\n\n set editingModel(value) {\n if (value !== this.editingModel) {\n this.editingModel$.next(value);\n }\n }\n\n private findParentElement(\n target: HTMLElement,\n callback: (element: HTMLElement) => boolean,\n checkElement = true\n ): HTMLElement | null {\n if (!(target instanceof HTMLElement)) {\n return null;\n }\n let parent: HTMLElement | null = checkElement ? target : target.parentElement;\n do {\n if (!parent) {\n return null;\n }\n\n const matches = callback(parent);\n if (matches) {\n return parent;\n }\n } while ((parent = parent.parentElement));\n\n return null;\n }\n\n private findBuilderParent(target: HTMLElement) {\n return this.findParentElement(target, el => {\n const id = el.getAttribute('builder-id') || el.id;\n return Boolean(id && id.indexOf('builder-') === 0);\n });\n }\n\n // TODO: decorator to do this stuff with the get/set (how do with typing too? compiler?)\n editingModel$ = new BehaviorSubject<null | string>(null);\n\n setUserAgent(userAgent: string) {\n this.userAgent = userAgent || '';\n }\n userAgent: string = (typeof navigator === 'object' && navigator.userAgent) || '';\n\n trackingHooks: TrackingHook[] = [];\n\n /**\n * Set a hook to modify events being tracked from builder, such as impressions and clicks\n *\n * For example, to track the model ID of each event associated with content for querying\n * by mode, you can do\n *\n * builder.setTrackingHook((event, context) => {\n * if (context.content) {\n * event.data.metadata.modelId = context.content.modelId\n * }\n * })\n */\n setTrackingHook(hook: TrackingHook) {\n this.trackingHooks.push(hook);\n }\n\n track(eventName: string, properties: Partial<EventData> = {}, context?: any) {\n // TODO: queue up track requests and fire them off when canTrack set to true - otherwise may get lots of clicks with no impressions\n if (isIframe || !isBrowser || Builder.isPreviewing) {\n return;\n }\n\n const apiKey = this.apiKey;\n if (!apiKey) {\n console.error(\n 'Builder integration error: Looks like the Builder SDK has not been initialized properly (your API key has not been set). Make sure you are calling `builder.init(\"«YOUR-API-KEY»\");` as early as possible in your application\\'s code.'\n );\n return;\n }\n\n let eventData: Event = JSON.parse(\n JSON.stringify({\n type: eventName,\n data: {\n ...omit(properties, 'meta'),\n metadata: {\n sdkVersion: Builder.VERSION,\n url: location.href,\n ...properties.meta,\n ...properties.metadata,\n },\n ownerId: apiKey,\n userAttributes: this.getUserAttributes(),\n sessionId: this.sessionId,\n visitorId: this.visitorId,\n },\n })\n );\n\n for (const hook of this.trackingHooks) {\n const returnValue = hook(eventData, context || {});\n if (returnValue) {\n eventData = returnValue;\n }\n }\n\n // batch events\n this.eventsQueue.push(eventData);\n\n if (this.canTrack) {\n this.throttledClearEventsQueue();\n }\n }\n\n getSessionId() {\n let sessionId: string | null = null;\n try {\n if (Builder.isBrowser && typeof sessionStorage !== 'undefined') {\n sessionId = this.getCookie(sessionStorageKey);\n }\n } catch (err) {\n console.debug('Session storage error', err);\n // It's ok\n }\n\n if (!sessionId) {\n sessionId = uuid();\n }\n\n // Give the app a second to start up and set canTrack to false if needed\n if (Builder.isBrowser) {\n setTimeout(() => {\n try {\n if (this.canTrack) {\n this.setCookie(sessionStorageKey, sessionId, datePlusMinutes(30));\n }\n } catch (err) {\n console.debug('Cookie setting error', err);\n }\n });\n }\n return sessionId;\n }\n\n // Set this to control the userId\n // TODO: allow changing it mid session and updating existing data to be associated\n // e.g. for when a user navigates and then logs in\n visitorId: string = this.getVisitorId();\n\n getVisitorId() {\n if (this.visitorId) {\n return this.visitorId;\n }\n let visitorId: string | null = null;\n try {\n if (Builder.isBrowser && typeof localStorage !== 'undefined') {\n // TODO: cookie instead?\n visitorId = localStorage.getItem(localStorageKey);\n }\n } catch (err) {\n console.debug('Local storage error', err);\n // It's ok\n }\n\n if (!visitorId) {\n visitorId = uuid();\n }\n\n this.visitorId = visitorId;\n\n // Give the app a second to start up and set canTrack to false if needed\n if (Builder.isBrowser) {\n setTimeout(() => {\n try {\n if (this.canTrack && typeof localStorage !== 'undefined' && visitorId) {\n localStorage.setItem(localStorageKey, visitorId);\n }\n } catch (err) {\n console.debug('Session storage error', err);\n }\n });\n }\n return visitorId;\n }\n\n trackImpression(contentId: string, variationId?: string, properties?: any, context?: any) {\n if (isIframe || !isBrowser || Builder.isPreviewing) {\n return;\n }\n // TODO: use this.track method\n this.track(\n 'impression',\n {\n contentId,\n variationId: variationId !== contentId ? variationId : undefined,\n metadata: properties,\n },\n context\n );\n }\n\n trackConversion(amount?: number, customProperties?: any): void;\n trackConversion(\n amount?: number,\n contentId?: string | any,\n variationId?: string,\n customProperties?: any,\n context?: any\n ) {\n if (isIframe || !isBrowser || Builder.isPreviewing) {\n return;\n }\n const meta = typeof contentId === 'object' ? contentId : customProperties;\n const useContentId = typeof contentId === 'string' ? contentId : undefined;\n\n this.track('conversion', { amount, variationId, meta, contentId: useContentId }, context);\n }\n\n autoTrack = !Builder.isBrowser\n ? false\n : !this.isDevelopmentEnv &&\n !(Builder.isBrowser && location.search.indexOf('builder.preview=') !== -1);\n\n // TODO: set this for QA\n private get isDevelopmentEnv() {\n // Automatic determining of development environment\n return (\n Builder.isIframe ||\n (Builder.isBrowser && (location.hostname === 'localhost' || location.port !== '')) ||\n this.env !== 'production'\n );\n }\n\n trackInteraction(\n contentId: string,\n variationId?: string,\n alreadyTrackedOne = false,\n event?: MouseEvent,\n context?: any\n ) {\n if (isIframe || !isBrowser || Builder.isPreviewing) {\n return;\n }\n const target = event && (event.target as HTMLElement);\n const targetBuilderElement = target && this.findBuilderParent(target);\n\n function round(num: number) {\n return Math.round(num * 1000) / 1000;\n }\n\n const metadata: any = {};\n if (event) {\n const { clientX, clientY } = event;\n if (target) {\n const targetRect = target.getBoundingClientRect();\n const xOffset = clientX - targetRect.left;\n const yOffset = clientY - targetRect.top;\n\n const xRatio = round(xOffset / targetRect.width);\n const yRatio = round(yOffset / targetRect.height);\n\n metadata.targetOffset = {\n x: xRatio,\n y: yRatio,\n };\n }\n if (targetBuilderElement) {\n const targetRect = targetBuilderElement.getBoundingClientRect();\n const xOffset = clientX - targetRect.left;\n const yOffset = clientY - targetRect.top;\n\n const xRatio = round(xOffset / targetRect.width);\n const yRatio = round(yOffset / targetRect.height);\n\n metadata.builderTargetOffset = {\n x: xRatio,\n y: yRatio,\n };\n }\n }\n\n const builderId =\n targetBuilderElement &&\n (targetBuilderElement.getAttribute('builder-id') || targetBuilderElement.id);\n\n if (builderId && targetBuilderElement) {\n metadata.builderElementIndex = ([] as Element[]).slice\n .call(document.getElementsByClassName(builderId))\n .indexOf(targetBuilderElement);\n }\n\n this.track(\n 'click',\n {\n contentId,\n metadata,\n variationId: variationId !== contentId ? variationId : undefined,\n unique: !alreadyTrackedOne,\n targetBuilderElement: builderId || undefined,\n },\n context\n );\n }\n\n static overrideUserAttributes: Partial<UserAttributes> = {};\n\n trackingUserAttributes: { [key: string]: any } = {};\n\n component(info: Partial<Component> = {}) {\n return Builder.component(info);\n }\n\n get apiKey() {\n return this.apiKey$.value;\n }\n\n set apiKey(key: string | null) {\n this.apiKey$.next(key);\n }\n\n get authToken() {\n return this.authToken$.value;\n }\n\n set authToken(token: string | null) {\n this.authToken$.next(token);\n }\n\n constructor(\n apiKey: string | null = null,\n protected request?: IncomingMessage,\n protected response?: ServerResponse,\n forceNewInstance = false,\n authToken: string | null = null\n ) {\n // TODO: use a window variable for this perhaps, e.g. bc webcomponents may be loading builder twice\n // with it's and react (use rollup build to fix)\n if (Builder.isBrowser && !forceNewInstance && Builder.singletonInstance) {\n return Builder.singletonInstance;\n }\n\n if (this.request && this.response) {\n this.setUserAgent((this.request.headers['user-agent'] as string) || '');\n this.cookies = new Cookies(this.request, this.response);\n }\n\n if (apiKey) {\n this.apiKey = apiKey;\n }\n if (authToken) {\n this.authToken = authToken;\n }\n if (isBrowser) {\n this.bindMessageListeners();\n\n if (Builder.isEditing) {\n parent.postMessage(\n {\n type: 'builder.animatorOptions',\n data: {\n options: {\n version: 2,\n },\n },\n },\n '*'\n );\n }\n // TODO: postmessage to parent the builder info for every package\n // type: 'builder.sdk', data: { name: '@builder.io/react', version: '0.1.23' }\n // (window as any).BUILDER_VERSION = Builder.VERSION;\n // Ensure always one Builder global singleton\n // TODO: some people won't want this, e.g. rakuten\n // Maybe hide this behind symbol or on document, etc\n // if ((window as any).Builder) {\n // Builder.components = (window as any).Builder.components;\n // } else {\n // (window as any).Builder = Builder;\n // }\n }\n\n if (isIframe) {\n this.messageFrameLoaded();\n }\n\n // TODO: on destroy clear subscription\n this.canTrack$.subscribe((value: any) => {\n if (value) {\n if (typeof sessionStorage !== 'undefined') {\n try {\n if (!sessionStorage.getItem(sessionStorageKey)) {\n sessionStorage.setItem(sessionStorageKey, this.sessionId);\n }\n } catch (err) {\n console.debug('Session storage error', err);\n }\n }\n if (this.eventsQueue.length) {\n this.throttledClearEventsQueue();\n }\n if (this.cookieQueue.length) {\n this.cookieQueue.forEach(item => {\n this.setCookie(item[0], item[1]);\n });\n this.cookieQueue.length = 0;\n }\n }\n });\n\n if (isBrowser) {\n // TODO: defer so subclass constructor runs and injects location service\n this.setTestsFromUrl();\n // TODO: do this on every request send?\n this.getOverridesFromQueryString();\n }\n }\n\n private modifySearch(search: string) {\n return search.replace(\n /(^|&|\\?)(builder_.*?)=/gi,\n (_match, group1, group2) => group1 + group2.replace(/_/g, '.') + '='\n );\n }\n\n setTestsFromUrl() {\n const search = this.getLocation().search;\n const params = QueryString.parseDeep(this.modifySearch(search || '').substr(1));\n const tests = params.builder && params.builder.tests;\n if (tests && typeof tests === 'object') {\n for (const key in tests) {\n if (tests.hasOwnProperty(key)) {\n this.setTestCookie(key, tests[key]);\n }\n }\n }\n }\n\n resetOverrides() {\n // Ugly - pass down instances per request instead using react context\n // or use builder.get('foo', { req, res }) in react...........\n Builder.overrideUserAttributes = {};\n this.cachebust = false;\n this.noCache = false;\n this.preview = false;\n this.editingModel = null;\n this.overrides = {};\n this.env = 'production';\n this.userAgent = '';\n this.request = undefined;\n this.response = undefined;\n }\n\n getOverridesFromQueryString() {\n const location = this.getLocation();\n const params = QueryString.parseDeep(this.modifySearch(location.search || '').substr(1));\n const { builder } = params;\n if (builder) {\n const {\n userAttributes,\n overrides,\n env,\n host,\n api,\n cachebust,\n noCache,\n preview,\n editing,\n frameEditing,\n options,\n params: overrideParams,\n } = builder;\n\n if (userAttributes) {\n this.setUserAttributes(userAttributes);\n }\n\n if (options) {\n // picking only locale and includeRefs\n this.queryOptions = {\n ...(options.locale && { locale: options.locale }),\n ...(options.includeRefs && { includeRefs: options.includeRefs }),\n };\n }\n\n if (overrides) {\n this.overrides = overrides;\n }\n\n if (validEnvList.indexOf(env || api) > -1) {\n this.env = env || api;\n }\n\n if (Builder.isEditing) {\n const editingModel = frameEditing || editing || preview;\n if (editingModel && editingModel !== 'true') {\n this.editingModel = editingModel;\n }\n }\n\n if (cachebust) {\n this.cachebust = true;\n }\n\n if (noCache) {\n this.noCache = true;\n }\n\n if (preview) {\n this.preview = true;\n }\n\n if (params) {\n this.overrideParams = overrideParams;\n }\n }\n }\n\n private messageFrameLoaded() {\n window.parent?.postMessage(\n {\n type: 'builder.loaded',\n data: {\n value: true,\n },\n },\n '*'\n );\n }\n\n private blockContentLoading = '';\n\n private bindMessageListeners() {\n if (isBrowser) {\n addEventListener('message', event => {\n const url = parse(event.origin);\n const isRestricted =\n ['builder.register', 'builder.registerComponent'].indexOf(event.data?.type) === -1;\n const isTrusted = url.hostname && Builder.isTrustedHost(url.hostname);\n if (isRestricted && !isTrusted) {\n return;\n }\n\n const { data } = event;\n if (data) {\n switch (data.type) {\n case 'builder.ping': {\n window.parent?.postMessage(\n {\n type: 'builder.pong',\n data: {},\n },\n '*'\n );\n break;\n }\n case 'builder.register': {\n // TODO: possibly do this for all...\n if (event.source === window) {\n break;\n }\n const options = data.data;\n if (!options) {\n break;\n }\n const { type, info } = options;\n // TODO: all must have name and can't conflict?\n let typeList = Builder.registry[type];\n if (!typeList) {\n typeList = Builder.registry[type] = [];\n }\n typeList.push(info);\n Builder.registryChange.next(Builder.registry);\n break;\n }\n case 'builder.settingsChange': {\n // TODO: possibly do this for all...\n if (event.source === window) {\n break;\n }\n const settings = data.data;\n if (!settings) {\n break;\n }\n Object.assign(Builder.settings, settings);\n Builder.settingsChange.next(Builder.settings);\n break;\n }\n case 'builder.registerEditor': {\n // TODO: possibly do this for all...\n if (event.source === window) {\n break;\n }\n const info = data.data;\n if (!info) {\n break;\n }\n const hasComponent = !!info.component;\n Builder.editors.every((thisInfo, index) => {\n if (info.name === thisInfo.name) {\n if (thisInfo.component && !hasComponent) {\n return false;\n } else {\n Builder.editors[index] = thisInfo;\n }\n return false;\n }\n return true;\n });\n break;\n }\n case 'builder.triggerAnimation': {\n Builder.animator.triggerAnimation(data.data);\n break;\n }\n case 'builder.contentUpdate':\n const key =\n data.data.key || data.data.alias || data.data.entry || data.data.modelName;\n const contentData = data.data.data; // hmmm...\n const observer = this.observersByKey[key];\n if (observer && !this.noEditorUpdates[key]) {\n observer.next([contentData]);\n }\n break;\n\n case 'builder.getComponents':\n window.parent?.postMessage(\n {\n type: 'builder.components',\n data: Builder.components.map(item => Builder.prepareComponentSpecToSend(item)),\n },\n '*'\n );\n break;\n\n case 'builder.editingModel':\n this.editingModel = data.data.model;\n break;\n\n case 'builder.registerComponent':\n const componentData = data.data;\n Builder.addComponent(componentData);\n break;\n\n case 'builder.blockContentLoading':\n if (typeof data.data.model === 'string') {\n this.blockContentLoading = data.data.model;\n }\n break;\n\n case 'builder.editingMode':\n const editingMode = data.data;\n if (editingMode) {\n this.editingMode = true;\n document.body.classList.add('builder-editing');\n } else {\n this.editingMode = false;\n document.body.classList.remove('builder-editing');\n }\n break;\n\n case 'builder.editingPageMode':\n const editingPageMode = data.data;\n Builder.editingPage = editingPageMode;\n break;\n\n case 'builder.overrideUserAttributes':\n const userAttributes = data.data;\n assign(Builder.overrideUserAttributes, userAttributes);\n this.flushGetContentQueue(true);\n // TODO: refetch too\n break;\n\n case 'builder.overrideTestGroup':\n const { variationId, contentId } = data.data;\n if (variationId && contentId) {\n this.setTestCookie(contentId, variationId);\n this.flushGetContentQueue(true);\n }\n break;\n case 'builder.evaluate': {\n const text = data.data.text;\n const args = data.data.arguments || [];\n const id = data.data.id;\n // tslint:disable-next-line:no-function-constructor-with-string-args\n const fn = new Function(text);\n let result: any;\n let error: Error | null = null;\n try {\n result = fn.apply(this, args);\n } catch (err) {\n error = toError(err);\n }\n\n if (error) {\n window.parent?.postMessage(\n {\n type: 'builder.evaluateError',\n data: { id, error: error.message },\n },\n '*'\n );\n } else {\n if (result && typeof result.then === 'function') {\n (result as Promise<any>)\n .then(finalResult => {\n window.parent?.postMessage(\n {\n type: 'builder.evaluateResult',\n data: { id, result: finalResult },\n },\n '*'\n );\n })\n .catch(console.error);\n } else {\n window.parent?.postMessage(\n {\n type: 'builder.evaluateResult',\n data: { result, id },\n },\n '*'\n );\n }\n }\n break;\n }\n }\n }\n });\n }\n }\n\n observersByKey: { [key: string]: BehaviorSubject<BuilderContent[]> | undefined } = {};\n noEditorUpdates: { [key: string]: boolean } = {};\n\n get defaultCanTrack() {\n return Boolean(\n Builder.isBrowser &&\n navigator.userAgent.trim() &&\n !navigator.userAgent.match(\n /bot|crawler|spider|robot|crawling|prerender|google|baidu|bing|msn|duckduckbot|teoma|slurp|yandex|phantom|headless|selenium|puppeteer/i\n ) &&\n !this.browserTrackingDisabled\n );\n }\n\n init(\n apiKey: string,\n canTrack = this.defaultCanTrack,\n req?: IncomingMessage,\n res?: ServerResponse,\n authToken?: string\n ) {\n if (req) {\n this.request = req;\n }\n if (res) {\n this.response = res;\n }\n this.canTrack = canTrack;\n this.apiKey = apiKey;\n if (authToken) {\n this.authToken = authToken;\n }\n return this;\n }\n\n get previewingModel() {\n const search = this.getLocation().search;\n const params = QueryString.parse((search || '').substr(1));\n return params['builder.preview'];\n }\n\n // TODO: allow adding location object as property and/or in constructor\n getLocation(): Url {\n let parsedLocation: any = {};\n\n // in ssr mode\n if (this.request) {\n parsedLocation = parse(this.request.url ?? '');\n } else if (typeof location === 'object') {\n // in the browser\n parsedLocation = parse(location.href);\n }\n\n // IE11 bug with parsed path being empty string\n // causes issues with our user targeting\n if (parsedLocation.pathname === '') {\n parsedLocation.pathname = '/';\n }\n\n return parsedLocation;\n }\n\n getUserAttributes(userAgent = this.userAgent || '') {\n const isMobile = {\n Android() {\n return userAgent.match(/Android/i);\n },\n BlackBerry() {\n return userAgent.match(/BlackBerry/i);\n },\n iOS() {\n return userAgent.match(/iPhone|iPod/i);\n },\n Opera() {\n return userAgent.match(/Opera Mini/i);\n },\n Windows() {\n return userAgent.match(/IEMobile/i) || userAgent.match(/WPDesktop/i);\n },\n any() {\n return (\n isMobile.Android() ||\n isMobile.BlackBerry() ||\n isMobile.iOS() ||\n isMobile.Opera() ||\n isMobile.Windows()\n );\n },\n };\n\n const isTablet = userAgent.match(/Tablet|iPad/i);\n\n const url = this.getLocation();\n\n return {\n urlPath: url.pathname,\n host: url.host || url.hostname,\n // TODO: maybe an option to choose to target off of mobile/tablet/desktop or just mobile/desktop\n device: isTablet ? 'tablet' : isMobile.any() ? 'mobile' : 'desktop',\n ...Builder.overrideUserAttributes,\n } as UserAttributes;\n }\n\n protected overrides: { [key: string]: string } = {};\n protected queryOptions: { [key: string]: string } = {};\n\n private getContentQueue: null | GetContentOptions[] = null;\n private priorContentQueue: null | GetContentOptions[] = null;\n\n setUserAttributes(options: object) {\n assign(Builder.overrideUserAttributes, options);\n this.userAttributesChanged.next(options);\n }\n\n /**\n * Set user attributes just for tracking purposes.\n *\n * Do this so properties exist on event objects for querying insights, but\n * won't affect targeting\n *\n * Use this when you want to track properties but don't need to target off\n * of them to optimize cache efficiency\n */\n setTrackingUserAttributes(attributes: object) {\n assign(this.trackingUserAttributes, attributes);\n }\n\n get(\n modelName: string,\n options: GetContentOptions & {\n req?: IncomingMessage;\n res?: ServerResponse;\n apiKey?: string;\n authToken?: string;\n } = {}\n ) {\n let instance: Builder = this;\n if (!Builder.isBrowser) {\n instance = new Builder(\n options.apiKey || this.apiKey,\n options.req,\n options.res,\n undefined,\n options.authToken || this.authToken\n );\n instance.setUserAttributes(this.getUserAttributes());\n } else {\n if (options.apiKey && !this.apiKey) {\n this.apiKey = options.apiKey;\n }\n if (options.authToken && !this.authToken) {\n this.authToken = options.authToken;\n }\n }\n return instance.queueGetContent(modelName, options).map(\n /* map( */ (matches: any[] | null) => {\n const match = matches && matches[0];\n if (Builder.isStatic) {\n return match;\n }\n\n const matchData = match && match.data;\n if (!matchData) {\n return null;\n }\n\n if (typeof matchData.blocksString !== 'undefined') {\n matchData.blocks = JSON.parse(matchData.blocksString);\n delete matchData.blocksString;\n }\n\n return {\n // TODO: add ab test info here and other high level stuff\n data: matchData,\n id: match.id,\n variationId: match.testVariationId || match.variationId || null,\n testVariationId: match.testVariationId || match.variationId || null,\n testVariationName: match.testVariationName || null,\n lastUpdated: match.lastUpdated || null,\n };\n }\n );\n // );\n }\n\n // TODO: entry id in options\n queueGetContent(modelName: string, options: GetContentOptions = {}) {\n // TODO: if query do modelName + query\n const key =\n options.key ||\n options.alias ||\n // TODO: SDKs only pass entry key when given to them, and never when editing...\n // options.entry ||\n\n // TODO: this is ugly - instead of multiple of same model with different options are sent\n // say requires key/alias. Or if not perhaps make a reliable hash of the options and use that.\n // TODO: store last user state on last request and if user attributes different now\n // give a warning that need to use keys to request new contente\n // (options &&\n // Object.keys(options).filter(key => key !== 'model').length &&\n // JSON.stringify({ model: modelName, ...options, initialContent: undefined })) ||\n modelName;\n\n const isEditingThisModel = this.editingModel === modelName;\n // TODO: include params in this key........\n const currentObservable = this.observersByKey[key] as BehaviorSubject<BuilderContent[]> | null;\n\n // if (options.query && options.query._id) {\n // this.flushGetContentQueue([options])\n // }\n\n if (this.apiKey === 'DEMO' && !this.overrides[key] && !options.initialContent) {\n options.initialContent = [];\n }\n\n const { initialContent } = options;\n\n // TODO: refresh option in options\n if (currentObservable && (!currentObservable.value || options.cache)) {\n // TODO: test if this ran, otherwise on 404 some observers may never be called...\n if (currentObservable.value) {\n nextTick(() => {\n // TODO: return a new observable and only that one fires subscribers, don't refire for existing ones\n currentObservable.next(currentObservable.value);\n });\n }\n return currentObservable;\n }\n if (isEditingThisModel) {\n if (Builder.isBrowser) {\n parent.postMessage({ type: 'builder.updateContent', data: { options } }, '*');\n }\n }\n if (!initialContent /* || isEditingThisModel */) {\n if (!this.getContentQueue) {\n this.getContentQueue = [];\n }\n\n this.getContentQueue.push({ ...options, model: modelName, key });\n if (this.getContentQueue && this.getContentQueue.length >= this.contentPerRequest) {\n const queue = this.getContentQueue.slice();\n this.getContentQueue = [];\n nextTick(() => {\n this.flushGetContentQueue(false, queue);\n });\n } else {\n nextTick(() => {\n this.flushGetContentQueue();\n });\n }\n }\n\n const observable = new BehaviorSubject<BuilderContent[]>(null as any);\n this.observersByKey[key] = observable;\n if (options.noEditorUpdates) {\n this.noEditorUpdates[key] = true;\n }\n if (initialContent) {\n nextTick(() => {\n // TODO: need to testModify this I think...?\n observable.next(initialContent);\n });\n }\n return observable;\n }\n\n // this is needed to satisfy the Angular SDK, which used to rely on the more complex version of `requestUrl`.\n // even though we only use `fetch()` now, we prefer to keep the old behavior and use the `fetch` that comes from\n // the core SDK for consistency\n requestUrl(\n url: string,\n options?: { headers: { [header: string]: number | string | string[] | undefined } }\n ) {\n return fetch(url, options as SimplifiedFetchOptions).then(res => res.json());\n }\n\n get host() {\n switch (this.env) {\n case 'qa':\n return 'https://qa.builder.io';\n case 'test':\n return 'https://builder-io-test.web.app';\n case 'fast':\n return 'https://fast.builder.io';\n case 'cloud':\n return 'https://cloud.builder.io';\n case 'cdn2':\n return 'https://cdn2.builder.io';\n case 'cdn-qa':\n return 'https://cdn-qa.builder.io';\n case 'development':\n case 'dev':\n return 'http://localhost:5000';\n case 'cdn-prod':\n return 'https://cdn.builder.io';\n default:\n return Builder.overrideHost || 'https://cdn.builder.io';\n }\n }\n\n private flushGetContentQueue(usePastQueue = false, useQueue?: GetContentOptions[]) {\n if (!this.apiKey) {\n throw new Error(\n `Fetching content failed, expected apiKey to be defined instead got: ${this.apiKey}`\n );\n }\n\n if (!usePastQueue && !this.getContentQueue) {\n return;\n }\n\n const queue = useQueue || (usePastQueue ? this.priorContentQueue : this.getContentQueue) || [];\n\n // TODO: do this on every request send?\n this.getOverridesFromQueryString();\n\n const queryParams: ParamsMap = {\n // TODO: way to force a request to be in a separate queue. or just lower queue limit to be 1 by default\n omit: queue[0].omit || 'meta.componentsUsed',\n apiKey: this.apiKey,\n ...queue[0].options,\n ...this.queryOptions,\n };\n if (queue[0].fields) {\n queryParams.fields = queue[0].fields;\n }\n if (queue[0].format) {\n queryParams.format = queue[0].format;\n }\n\n const pageQueryParams: ParamsMap =\n typeof location !== 'undefined'\n ? QueryString.parseDeep(location.search.substr(1))\n : undefined || {};\n\n const userAttributes =\n // FIXME: HACK: only checks first in queue for user attributes overrides, should check all\n // TODO: merge user attributes provided here with defaults and current user attiributes (?)\n queue && queue[0].userAttributes\n ? queue[0].userAttributes\n : this.targetContent\n ? this.getUserAttributes()\n : {\n urlPath: this.getLocation().pathname,\n };\n\n const fullUrlQueueItem = queue.find(item => !!item.includeUrl);\n if (fullUrlQueueItem) {\n const location = this.getLocation();\n if (location.origin) {\n queryParams.url = `${location.origin}${location.pathname}${location.search}`;\n }\n }\n\n const urlQueueItem = useQueue?.find(item => item.url);\n if (urlQueueItem?.url) {\n userAttributes.urlPath = urlQueueItem.url.split('?')[0];\n }\n // TODO: merge in the attribute from query string ones\n // TODO: make this an option per component/request\n queryParams.userAttributes = userAttributes;\n\n if (!usePastQueue && !useQueue) {\n this.priorContentQueue = queue;\n this.getContentQueue = null;\n }\n\n const cachebust =\n this.cachebust ||\n isIframe ||\n pageQueryParams.cachebust ||\n pageQueryParams['builder.cachebust'];\n\n if (cachebust || this.env !== 'production') {\n queryParams.cachebust = true;\n }\n\n if (Builder.isEditing) {\n queryParams.isEditing = true;\n }\n\n if (this.noCache || this.env !== 'production') {\n queryParams.noCache = true;\n }\n\n if (size(this.overrides)) {\n for (const key in this.overrides) {\n if (this.overrides.hasOwnProperty(key)) {\n queryParams[`overrides.${key}`] = this.overrides[key];\n }\n }\n }\n\n if (!Builder.isReact) {\n // TODO: remove me once v1 page editors converted to v2\n // queryParams.extractCss = true;\n queryParams.prerender = true;\n }\n\n for (const options of queue) {\n if (options.format) {\n queryParams.format = options.format;\n }\n // TODO: remove me and make permodel\n if (options.static) {\n queryParams.static = options.static;\n }\n\n if (options.cachebust) {\n queryParams.cachebust = options.cachebust;\n }\n\n if (isPositiveNumber(options.cacheSeconds)) {\n queryParams.cacheSeconds = options.cacheSeconds;\n }\n\n if (isPositiveNumber(options.staleCacheSeconds)) {\n queryParams.staleCacheSeconds = options.staleCacheSeconds;\n }\n\n const properties: (keyof GetContentOptions)[] = [\n 'prerender',\n 'extractCss',\n 'limit',\n 'offset',\n 'query',\n 'preview',\n 'model',\n 'entry',\n 'rev',\n 'static',\n ];\n for (const key of properties) {\n const value = options[key];\n if (value !== undefined) {\n queryParams.options = queryParams.options || {};\n queryParams.options[options.key!] = queryParams.options[options.key!] || {};\n queryParams.options[options.key!][key] = JSON.stringify(value);\n }\n }\n }\n if (this.preview) {\n queryParams.preview = 'true';\n }\n const hasParams = Object.keys(queryParams).length > 0;\n\n // TODO: option to force dev or qa api here\n const host = this.host;\n\n const keyNames = queue.map(item => encodeURIComponent(item.key!)).join(',');\n\n if (this.overrideParams) {\n const params = omit(QueryString.parse(this.overrideParams), 'apiKey');\n assign(queryParams, params);\n }\n\n const queryStr = QueryString.stringifyDeep(queryParams);\n\n const format = queryParams.format;\n\n const requestOptions = { headers: {} };\n if (this.authToken) {\n requestOptions.headers = {\n ...requestOptions.headers,\n Authorization: `Bearer ${this.authToken}`,\n };\n }\n\n const fn = format === 'solid' || format === 'react' ? 'codegen' : 'query';\n\n const url =\n `${host}/api/v1/${fn}/${this.apiKey}/${keyNames}` +\n (queryParams && hasParams ? `?${queryStr}` : '');\n\n const promise = fetch(url, requestOptions)\n .then(res => res.json())\n .then(\n result => {\n for (const options of queue) {\n const keyName = options.key!;\n if (options.model === this.blockContentLoading && !options.noEditorUpdates) {\n continue;\n }\n\n const isEditingThisModel = this.editingModel === options.model;\n if (isEditingThisModel && Builder.isEditing) {\n parent.postMessage({ type: 'builder.updateContent', data: { options } }, '*');\n // return;\n }\n const observer = this.observersByKey[keyName];\n if (!observer) {\n return;\n }\n const data = result[keyName];\n const sorted = data; // sortBy(data, item => item.priority);\n if (data) {\n const testModifiedResults = Builder.isServer\n ? sorted\n : this.processResultsForTests(sorted);\n observer.next(testModifiedResults);\n } else {\n const search = this.getLocation().search;\n if ((search || '').includes('builder.preview=' + options.model)) {\n const previewData = {\n id: 'preview',\n name: 'Preview',\n data: {},\n };\n observer.next([previewData]);\n }\n observer.next([]);\n }\n }\n },\n err => {\n for (const options of queue) {\n const observer = this.observersByKey[options.key!];\n if (!observer) {\n return;\n }\n observer.error(err);\n }\n }\n );\n\n return promise;\n }\n\n private testCookiePrefix = 'builder.tests';\n\n private processResultsForTests(results: BuilderContent[]) {\n const mappedResults = results.map(item => {\n if (!item.variations) {\n return item;\n }\n const cookieValue = this.getTestCookie(item.id!);\n const cookieVariation = cookieValue === item.id ? item : item.variations[cookieValue];\n if (cookieVariation) {\n return {\n ...item,\n data: cookieVariation.data,\n variationId: cookieValue,\n testVariationId: cookieValue,\n testVariationName: cookieVariation.name,\n };\n }\n if (this.canTrack && item.variations && size(item.variations)) {\n let n = 0;\n const random = Math.random();\n for (const id in item.variations) {\n const variation = item.variations[id]!;\n const testRatio = variation.testRatio;\n n += testRatio!;\n if (random < n) {\n this.setTestCookie(item.id!, variation.id!);\n const variationName =\n variation.name || (variation.id === item.id ? 'Default variation' : '');\n return {\n ...item,\n data: variation.data,\n variationId: variation.id,\n testVariationId: variation.id,\n variationName: variationName,\n testVariationName: variationName,\n };\n }\n }\n this.setTestCookie(item.id!, item.id!);\n }\n return {\n ...item,\n variationId: item.id,\n ...(item.variations &&\n size(item.variations) && {\n testVariationId: item.id,\n testVariationName: 'Default variation',\n }),\n };\n });\n\n if (isIframe) {\n window.parent?.postMessage(\n { type: 'builder.contentResults', data: { results: mappedResults } },\n '*'\n );\n }\n\n return mappedResults;\n }\n\n private getTestCookie(contentId: string) {\n return this.getCookie(`${this.testCookiePrefix}.${contentId}`);\n }\n\n private cookieQueue: [string, string][] = [];\n\n private setTestCookie(contentId: string, variationId: string) {\n if (!this.canTrack) {\n this.cookieQueue.push([contentId, variationId]);\n return;\n }\n\n // 30 days from now\n const future = new Date();\n future.setDate(future.getDate() + 30);\n\n return this.setCookie(`${this.testCookiePrefix}.${contentId}`, variationId, future);\n }\n\n getCookie(name: string): any {\n if (this.cookies) {\n return this.cookies.get(name);\n }\n return Builder.isBrowser && getCookie(name);\n }\n\n setCookie(name: string, value: any, expires?: Date) {\n if (this.cookies && !(Builder.isServer && Builder.isStatic)) {\n return this.cookies.set(name, value, {\n expires,\n secure: this.getLocation().protocol === 'https:',\n });\n }\n return Builder.isBrowser && setCookie(name, value, expires);\n }\n\n getContent(modelName: string, options: GetContentOptions = {}) {\n if (!this.apiKey) {\n throw new Error(\n `Fetching content from model ${modelName} failed, expected apiKey to be defined instead got: ${this.apiKey}`\n );\n }\n return this.queueGetContent(modelName, options);\n }\n\n getAll(\n modelName: string,\n options: GetContentOptions & {\n req?: IncomingMessage;\n res?: ServerResponse;\n apiKey?: string;\n } = {}\n ): Promise<BuilderContent[]> {\n let instance: Builder = this;\n if (!Builder.isBrowser) {\n instance = new Builder(options.apiKey || this.apiKey, options.req, options.res);\n instance.setUserAttributes(this.getUserAttributes());\n } else {\n if (options.apiKey && !this.apiKey) {\n this.apiKey = options.apiKey;\n }\n }\n\n return instance\n .getContent(modelName, {\n limit: 30,\n ...options,\n key:\n options.key ||\n // Make the key include all options so we don't reuse cache for the same conent fetched\n // with different options\n Builder.isBrowser\n ? `${modelName}:${hash(omit(options, 'initialContent', 'req', 'res'))}`\n : undefined,\n })\n .promise();\n }\n}\n","import { Builder } from '../builder.class';\n\nexport const builder = new Builder(null, undefined, undefined, true);\nBuilder.singletonInstance = builder;\n","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/** @license React v17.0.1\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=require(\"object-assign\"),n=60103,p=60106;exports.Fragment=60107;exports.StrictMode=60108;exports.Profiler=60114;var q=60109,r=60110,t=60112;exports.Suspense=60113;var u=60115,v=60116;\nif(\"function\"===typeof Symbol&&Symbol.for){var w=Symbol.for;n=w(\"react.element\");p=w(\"react.portal\");exports.Fragment=w(\"react.fragment\");exports.StrictMode=w(\"react.strict_mode\");exports.Profiler=w(\"react.profiler\");q=w(\"react.provider\");r=w(\"react.context\");t=w(\"react.forward_ref\");exports.Suspense=w(\"react.suspense\");u=w(\"react.memo\");v=w(\"react.lazy\")}var x=\"function\"===typeof Symbol&&Symbol.iterator;\nfunction y(a){if(null===a||\"object\"!==typeof a)return null;a=x&&a[x]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}function z(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return\"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}\nvar A={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},B={};function C(a,b,c){this.props=a;this.context=b;this.refs=B;this.updater=c||A}C.prototype.isReactComponent={};C.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(z(85));this.updater.enqueueSetState(this,a,b,\"setState\")};C.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};\nfunction D(){}D.prototype=C.prototype;function E(a,b,c){this.props=a;this.context=b;this.refs=B;this.updater=c||A}var F=E.prototype=new D;F.constructor=E;l(F,C.prototype);F.isPureReactComponent=!0;var G={current:null},H=Object.prototype.hasOwnProperty,I={key:!0,ref:!0,__self:!0,__source:!0};\nfunction J(a,b,c){var e,d={},k=null,h=null;if(null!=b)for(e in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)H.call(b,e)&&!I.hasOwnProperty(e)&&(d[e]=b[e]);var g=arguments.length-2;if(1===g)d.children=c;else if(1<g){for(var f=Array(g),m=0;m<g;m++)f[m]=arguments[m+2];d.children=f}if(a&&a.defaultProps)for(e in g=a.defaultProps,g)void 0===d[e]&&(d[e]=g[e]);return{$$typeof:n,type:a,key:k,ref:h,props:d,_owner:G.current}}\nfunction K(a,b){return{$$typeof:n,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}}function L(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===n}function escape(a){var b={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+a.replace(/[=:]/g,function(a){return b[a]})}var M=/\\/+/g;function N(a,b){return\"object\"===typeof a&&null!==a&&null!=a.key?escape(\"\"+a.key):b.toString(36)}\nfunction O(a,b,c,e,d){var k=typeof a;if(\"undefined\"===k||\"boolean\"===k)a=null;var h=!1;if(null===a)h=!0;else switch(k){case \"string\":case \"number\":h=!0;break;case \"object\":switch(a.$$typeof){case n:case p:h=!0}}if(h)return h=a,d=d(h),a=\"\"===e?\".\"+N(h,0):e,Array.isArray(d)?(c=\"\",null!=a&&(c=a.replace(M,\"$&/\")+\"/\"),O(d,b,c,\"\",function(a){return a})):null!=d&&(L(d)&&(d=K(d,c+(!d.key||h&&h.key===d.key?\"\":(\"\"+d.key).replace(M,\"$&/\")+\"/\")+a)),b.push(d)),1;h=0;e=\"\"===e?\".\":e+\":\";if(Array.isArray(a))for(var g=\n0;g<a.length;g++){k=a[g];var f=e+N(k,g);h+=O(k,b,c,f,d)}else if(f=y(a),\"function\"===typeof f)for(a=f.call(a),g=0;!(k=a.next()).done;)k=k.value,f=e+N(k,g++),h+=O(k,b,c,f,d);else if(\"object\"===k)throw b=\"\"+a,Error(z(31,\"[object Object]\"===b?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":b));return h}function P(a,b,c){if(null==a)return a;var e=[],d=0;O(a,e,\"\",\"\",function(a){return b.call(c,a,d++)});return e}\nfunction Q(a){if(-1===a._status){var b=a._result;b=b();a._status=0;a._result=b;b.then(function(b){0===a._status&&(b=b.default,a._status=1,a._result=b)},function(b){0===a._status&&(a._status=2,a._result=b)})}if(1===a._status)return a._result;throw a._result;}var R={current:null};function S(){var a=R.current;if(null===a)throw Error(z(321));return a}var T={ReactCurrentDispatcher:R,ReactCurrentBatchConfig:{transition:0},ReactCurrentOwner:G,IsSomeRendererActing:{current:!1},assign:l};\nexports.Children={map:P,forEach:function(a,b,c){P(a,function(){b.apply(this,arguments)},c)},count:function(a){var b=0;P(a,function(){b++});return b},toArray:function(a){return P(a,function(a){return a})||[]},only:function(a){if(!L(a))throw Error(z(143));return a}};exports.Component=C;exports.PureComponent=E;exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=T;\nexports.cloneElement=function(a,b,c){if(null===a||void 0===a)throw Error(z(267,a));var e=l({},a.props),d=a.key,k=a.ref,h=a._owner;if(null!=b){void 0!==b.ref&&(k=b.ref,h=G.current);void 0!==b.key&&(d=\"\"+b.key);if(a.type&&a.type.defaultProps)var g=a.type.defaultProps;for(f in b)H.call(b,f)&&!I.hasOwnProperty(f)&&(e[f]=void 0===b[f]&&void 0!==g?g[f]:b[f])}var f=arguments.length-2;if(1===f)e.children=c;else if(1<f){g=Array(f);for(var m=0;m<f;m++)g[m]=arguments[m+2];e.children=g}return{$$typeof:n,type:a.type,\nkey:d,ref:k,props:e,_owner:h}};exports.createContext=function(a,b){void 0===b&&(b=null);a={$$typeof:r,_calculateChangedBits:b,_currentValue:a,_currentValue2:a,_threadCount:0,Provider:null,Consumer:null};a.Provider={$$typeof:q,_context:a};return a.Consumer=a};exports.createElement=J;exports.createFactory=function(a){var b=J.bind(null,a);b.type=a;return b};exports.createRef=function(){return{current:null}};exports.forwardRef=function(a){return{$$typeof:t,render:a}};exports.isValidElement=L;\nexports.lazy=function(a){return{$$typeof:v,_payload:{_status:-1,_result:a},_init:Q}};exports.memo=function(a,b){return{$$typeof:u,type:a,compare:void 0===b?null:b}};exports.useCallback=function(a,b){return S().useCallback(a,b)};exports.useContext=function(a,b){return S().useContext(a,b)};exports.useDebugValue=function(){};exports.useEffect=function(a,b){return S().useEffect(a,b)};exports.useImperativeHandle=function(a,b,c){return S().useImperativeHandle(a,b,c)};\nexports.useLayoutEffect=function(a,b){return S().useLayoutEffect(a,b)};exports.useMemo=function(a,b){return S().useMemo(a,b)};exports.useReducer=function(a,b,c){return S().useReducer(a,b,c)};exports.useRef=function(a){return S().useRef(a)};exports.useState=function(a){return S().useState(a)};exports.version=\"17.0.1\";\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","/*\n\nBased off glamor's StyleSheet, thanks Sunil ❤️\n\nhigh performance StyleSheet for css-in-js systems\n\n- uses multiple style tags behind the scenes for millions of rules\n- uses `insertRule` for appending in production for *much* faster performance\n\n// usage\n\nimport { StyleSheet } from '@emotion/sheet'\n\nlet styleSheet = new StyleSheet({ key: '', container: document.head })\n\nstyleSheet.insert('#box { border: 1px solid red; }')\n- appends a css rule into the stylesheet\n\nstyleSheet.flush()\n- empties the stylesheet of all its contents\n\n*/\n// $FlowFixMe\nfunction sheetForTag(tag) {\n if (tag.sheet) {\n // $FlowFixMe\n return tag.sheet;\n } // this weirdness brought to you by firefox\n\n /* istanbul ignore next */\n\n\n for (var i = 0; i < document.styleSheets.length; i++) {\n if (document.styleSheets[i].ownerNode === tag) {\n // $FlowFixMe\n return document.styleSheets[i];\n }\n }\n}\n\nfunction createStyleElement(options) {\n var tag = document.createElement('style');\n tag.setAttribute('data-emotion', options.key);\n\n if (options.nonce !== undefined) {\n tag.setAttribute('nonce', options.nonce);\n }\n\n tag.appendChild(document.createTextNode(''));\n return tag;\n}\n\nvar StyleSheet =\n/*#__PURE__*/\nfunction () {\n function StyleSheet(options) {\n this.isSpeedy = options.speedy === undefined ? process.env.NODE_ENV === 'production' : options.speedy;\n this.tags = [];\n this.ctr = 0;\n this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets\n\n this.key = options.key;\n this.container = options.container;\n this.before = null;\n }\n\n var _proto = StyleSheet.prototype;\n\n _proto.insert = function insert(rule) {\n // the max length is how many rules we have per style tag, it's 65000 in speedy mode\n // it's 1 in dev because we insert source maps that map a single rule to a location\n // and you can only have one source map per style tag\n if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {\n var _tag = createStyleElement(this);\n\n var before;\n\n if (this.tags.length === 0) {\n before = this.before;\n } else {\n before = this.tags[this.tags.length - 1].nextSibling;\n }\n\n this.container.insertBefore(_tag, before);\n this.tags.push(_tag);\n }\n\n var tag = this.tags[this.tags.length - 1];\n\n if (this.isSpeedy) {\n var sheet = sheetForTag(tag);\n\n try {\n // this is a really hot path\n // we check the second character first because having \"i\"\n // as the second character will happen less often than\n // having \"@\" as the first character\n var isImportRule = rule.charCodeAt(1) === 105 && rule.charCodeAt(0) === 64; // this is the ultrafast version, works across browsers\n // the big drawback is that the css won't be editable in devtools\n\n sheet.insertRule(rule, // we need to insert @import rules before anything else\n // otherwise there will be an error\n // technically this means that the @import rules will\n // _usually_(not always since there could be multiple style tags)\n // be the first ones in prod and generally later in dev\n // this shouldn't really matter in the real world though\n // @import is generally only used for font faces from google fonts and etc.\n // so while this could be technically correct then it would be slower and larger\n // for a tiny bit of correctness that won't matter in the real world\n isImportRule ? 0 : sheet.cssRules.length);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\"There was a problem inserting the following rule: \\\"\" + rule + \"\\\"\", e);\n }\n }\n } else {\n tag.appendChild(document.createTextNode(rule));\n }\n\n this.ctr++;\n };\n\n _proto.flush = function flush() {\n // $FlowFixMe\n this.tags.forEach(function (tag) {\n return tag.parentNode.removeChild(tag);\n });\n this.tags = [];\n this.ctr = 0;\n };\n\n return StyleSheet;\n}();\n\nexport { StyleSheet };\n","function stylis_min (W) {\n function M(d, c, e, h, a) {\n for (var m = 0, b = 0, v = 0, n = 0, q, g, x = 0, K = 0, k, u = k = q = 0, l = 0, r = 0, I = 0, t = 0, B = e.length, J = B - 1, y, f = '', p = '', F = '', G = '', C; l < B;) {\n g = e.charCodeAt(l);\n l === J && 0 !== b + n + v + m && (0 !== b && (g = 47 === b ? 10 : 47), n = v = m = 0, B++, J++);\n\n if (0 === b + n + v + m) {\n if (l === J && (0 < r && (f = f.replace(N, '')), 0 < f.trim().length)) {\n switch (g) {\n case 32:\n case 9:\n case 59:\n case 13:\n case 10:\n break;\n\n default:\n f += e.charAt(l);\n }\n\n g = 59;\n }\n\n switch (g) {\n case 123:\n f = f.trim();\n q = f.charCodeAt(0);\n k = 1;\n\n for (t = ++l; l < B;) {\n switch (g = e.charCodeAt(l)) {\n case 123:\n k++;\n break;\n\n case 125:\n k--;\n break;\n\n case 47:\n switch (g = e.charCodeAt(l + 1)) {\n case 42:\n case 47:\n a: {\n for (u = l + 1; u < J; ++u) {\n switch (e.charCodeAt(u)) {\n case 47:\n if (42 === g && 42 === e.charCodeAt(u - 1) && l + 2 !== u) {\n l = u + 1;\n break a;\n }\n\n break;\n\n case 10:\n if (47 === g) {\n l = u + 1;\n break a;\n }\n\n }\n }\n\n l = u;\n }\n\n }\n\n break;\n\n case 91:\n g++;\n\n case 40:\n g++;\n\n case 34:\n case 39:\n for (; l++ < J && e.charCodeAt(l) !== g;) {\n }\n\n }\n\n if (0 === k) break;\n l++;\n }\n\n k = e.substring(t, l);\n 0 === q && (q = (f = f.replace(ca, '').trim()).charCodeAt(0));\n\n switch (q) {\n case 64:\n 0 < r && (f = f.replace(N, ''));\n g = f.charCodeAt(1);\n\n switch (g) {\n case 100:\n case 109:\n case 115:\n case 45:\n r = c;\n break;\n\n default:\n r = O;\n }\n\n k = M(c, r, k, g, a + 1);\n t = k.length;\n 0 < A && (r = X(O, f, I), C = H(3, k, r, c, D, z, t, g, a, h), f = r.join(''), void 0 !== C && 0 === (t = (k = C.trim()).length) && (g = 0, k = ''));\n if (0 < t) switch (g) {\n case 115:\n f = f.replace(da, ea);\n\n case 100:\n case 109:\n case 45:\n k = f + '{' + k + '}';\n break;\n\n case 107:\n f = f.replace(fa, '$1 $2');\n k = f + '{' + k + '}';\n k = 1 === w || 2 === w && L('@' + k, 3) ? '@-webkit-' + k + '@' + k : '@' + k;\n break;\n\n default:\n k = f + k, 112 === h && (k = (p += k, ''));\n } else k = '';\n break;\n\n default:\n k = M(c, X(c, f, I), k, h, a + 1);\n }\n\n F += k;\n k = I = r = u = q = 0;\n f = '';\n g = e.charCodeAt(++l);\n break;\n\n case 125:\n case 59:\n f = (0 < r ? f.replace(N, '') : f).trim();\n if (1 < (t = f.length)) switch (0 === u && (q = f.charCodeAt(0), 45 === q || 96 < q && 123 > q) && (t = (f = f.replace(' ', ':')).length), 0 < A && void 0 !== (C = H(1, f, c, d, D, z, p.length, h, a, h)) && 0 === (t = (f = C.trim()).length) && (f = '\\x00\\x00'), q = f.charCodeAt(0), g = f.charCodeAt(1), q) {\n case 0:\n break;\n\n case 64:\n if (105 === g || 99 === g) {\n G += f + e.charAt(l);\n break;\n }\n\n default:\n 58 !== f.charCodeAt(t - 1) && (p += P(f, q, g, f.charCodeAt(2)));\n }\n I = r = u = q = 0;\n f = '';\n g = e.charCodeAt(++l);\n }\n }\n\n switch (g) {\n case 13:\n case 10:\n 47 === b ? b = 0 : 0 === 1 + q && 107 !== h && 0 < f.length && (r = 1, f += '\\x00');\n 0 < A * Y && H(0, f, c, d, D, z, p.length, h, a, h);\n z = 1;\n D++;\n break;\n\n case 59:\n case 125:\n if (0 === b + n + v + m) {\n z++;\n break;\n }\n\n default:\n z++;\n y = e.charAt(l);\n\n switch (g) {\n case 9:\n case 32:\n if (0 === n + m + b) switch (x) {\n case 44:\n case 58:\n case 9:\n case 32:\n y = '';\n break;\n\n default:\n 32 !== g && (y = ' ');\n }\n break;\n\n case 0:\n y = '\\\\0';\n break;\n\n case 12:\n y = '\\\\f';\n break;\n\n case 11:\n y = '\\\\v';\n break;\n\n case 38:\n 0 === n + b + m && (r = I = 1, y = '\\f' + y);\n break;\n\n case 108:\n if (0 === n + b + m + E && 0 < u) switch (l - u) {\n case 2:\n 112 === x && 58 === e.charCodeAt(l - 3) && (E = x);\n\n case 8:\n 111 === K && (E = K);\n }\n break;\n\n case 58:\n 0 === n + b + m && (u = l);\n break;\n\n case 44:\n 0 === b + v + n + m && (r = 1, y += '\\r');\n break;\n\n case 34:\n case 39:\n 0 === b && (n = n === g ? 0 : 0 === n ? g : n);\n break;\n\n case 91:\n 0 === n + b + v && m++;\n break;\n\n case 93:\n 0 === n + b + v && m--;\n break;\n\n case 41:\n 0 === n + b + m && v--;\n break;\n\n case 40:\n if (0 === n + b + m) {\n if (0 === q) switch (2 * x + 3 * K) {\n case 533:\n break;\n\n default:\n q = 1;\n }\n v++;\n }\n\n break;\n\n case 64:\n 0 === b + v + n + m + u + k && (k = 1);\n break;\n\n case 42:\n case 47:\n if (!(0 < n + m + v)) switch (b) {\n case 0:\n switch (2 * g + 3 * e.charCodeAt(l + 1)) {\n case 235:\n b = 47;\n break;\n\n case 220:\n t = l, b = 42;\n }\n\n break;\n\n case 42:\n 47 === g && 42 === x && t + 2 !== l && (33 === e.charCodeAt(t + 2) && (p += e.substring(t, l + 1)), y = '', b = 0);\n }\n }\n\n 0 === b && (f += y);\n }\n\n K = x;\n x = g;\n l++;\n }\n\n t = p.length;\n\n if (0 < t) {\n r = c;\n if (0 < A && (C = H(2, p, r, d, D, z, t, h, a, h), void 0 !== C && 0 === (p = C).length)) return G + p + F;\n p = r.join(',') + '{' + p + '}';\n\n if (0 !== w * E) {\n 2 !== w || L(p, 2) || (E = 0);\n\n switch (E) {\n case 111:\n p = p.replace(ha, ':-moz-$1') + p;\n break;\n\n case 112:\n p = p.replace(Q, '::-webkit-input-$1') + p.replace(Q, '::-moz-$1') + p.replace(Q, ':-ms-input-$1') + p;\n }\n\n E = 0;\n }\n }\n\n return G + p + F;\n }\n\n function X(d, c, e) {\n var h = c.trim().split(ia);\n c = h;\n var a = h.length,\n m = d.length;\n\n switch (m) {\n case 0:\n case 1:\n var b = 0;\n\n for (d = 0 === m ? '' : d[0] + ' '; b < a; ++b) {\n c[b] = Z(d, c[b], e).trim();\n }\n\n break;\n\n default:\n var v = b = 0;\n\n for (c = []; b < a; ++b) {\n for (var n = 0; n < m; ++n) {\n c[v++] = Z(d[n] + ' ', h[b], e).trim();\n }\n }\n\n }\n\n return c;\n }\n\n function Z(d, c, e) {\n var h = c.charCodeAt(0);\n 33 > h && (h = (c = c.trim()).charCodeAt(0));\n\n switch (h) {\n case 38:\n return c.replace(F, '$1' + d.trim());\n\n case 58:\n return d.trim() + c.replace(F, '$1' + d.trim());\n\n default:\n if (0 < 1 * e && 0 < c.indexOf('\\f')) return c.replace(F, (58 === d.charCodeAt(0) ? '' : '$1') + d.trim());\n }\n\n return d + c;\n }\n\n function P(d, c, e, h) {\n var a = d + ';',\n m = 2 * c + 3 * e + 4 * h;\n\n if (944 === m) {\n d = a.indexOf(':', 9) + 1;\n var b = a.substring(d, a.length - 1).trim();\n b = a.substring(0, d).trim() + b + ';';\n return 1 === w || 2 === w && L(b, 1) ? '-webkit-' + b + b : b;\n }\n\n if (0 === w || 2 === w && !L(a, 1)) return a;\n\n switch (m) {\n case 1015:\n return 97 === a.charCodeAt(10) ? '-webkit-' + a + a : a;\n\n case 951:\n return 116 === a.charCodeAt(3) ? '-webkit-' + a + a : a;\n\n case 963:\n return 110 === a.charCodeAt(5) ? '-webkit-' + a + a : a;\n\n case 1009:\n if (100 !== a.charCodeAt(4)) break;\n\n case 969:\n case 942:\n return '-webkit-' + a + a;\n\n case 978:\n return '-webkit-' + a + '-moz-' + a + a;\n\n case 1019:\n case 983:\n return '-webkit-' + a + '-moz-' + a + '-ms-' + a + a;\n\n case 883:\n if (45 === a.charCodeAt(8)) return '-webkit-' + a + a;\n if (0 < a.indexOf('image-set(', 11)) return a.replace(ja, '$1-webkit-$2') + a;\n break;\n\n case 932:\n if (45 === a.charCodeAt(4)) switch (a.charCodeAt(5)) {\n case 103:\n return '-webkit-box-' + a.replace('-grow', '') + '-webkit-' + a + '-ms-' + a.replace('grow', 'positive') + a;\n\n case 115:\n return '-webkit-' + a + '-ms-' + a.replace('shrink', 'negative') + a;\n\n case 98:\n return '-webkit-' + a + '-ms-' + a.replace('basis', 'preferred-size') + a;\n }\n return '-webkit-' + a + '-ms-' + a + a;\n\n case 964:\n return '-webkit-' + a + '-ms-flex-' + a + a;\n\n case 1023:\n if (99 !== a.charCodeAt(8)) break;\n b = a.substring(a.indexOf(':', 15)).replace('flex-', '').replace('space-between', 'justify');\n return '-webkit-box-pack' + b + '-webkit-' + a + '-ms-flex-pack' + b + a;\n\n case 1005:\n return ka.test(a) ? a.replace(aa, ':-webkit-') + a.replace(aa, ':-moz-') + a : a;\n\n case 1e3:\n b = a.substring(13).trim();\n c = b.indexOf('-') + 1;\n\n switch (b.charCodeAt(0) + b.charCodeAt(c)) {\n case 226:\n b = a.replace(G, 'tb');\n break;\n\n case 232:\n b = a.replace(G, 'tb-rl');\n break;\n\n case 220:\n b = a.replace(G, 'lr');\n break;\n\n default:\n return a;\n }\n\n return '-webkit-' + a + '-ms-' + b + a;\n\n case 1017:\n if (-1 === a.indexOf('sticky', 9)) break;\n\n case 975:\n c = (a = d).length - 10;\n b = (33 === a.charCodeAt(c) ? a.substring(0, c) : a).substring(d.indexOf(':', 7) + 1).trim();\n\n switch (m = b.charCodeAt(0) + (b.charCodeAt(7) | 0)) {\n case 203:\n if (111 > b.charCodeAt(8)) break;\n\n case 115:\n a = a.replace(b, '-webkit-' + b) + ';' + a;\n break;\n\n case 207:\n case 102:\n a = a.replace(b, '-webkit-' + (102 < m ? 'inline-' : '') + 'box') + ';' + a.replace(b, '-webkit-' + b) + ';' + a.replace(b, '-ms-' + b + 'box') + ';' + a;\n }\n\n return a + ';';\n\n case 938:\n if (45 === a.charCodeAt(5)) switch (a.charCodeAt(6)) {\n case 105:\n return b = a.replace('-items', ''), '-webkit-' + a + '-webkit-box-' + b + '-ms-flex-' + b + a;\n\n case 115:\n return '-webkit-' + a + '-ms-flex-item-' + a.replace(ba, '') + a;\n\n default:\n return '-webkit-' + a + '-ms-flex-line-pack' + a.replace('align-content', '').replace(ba, '') + a;\n }\n break;\n\n case 973:\n case 989:\n if (45 !== a.charCodeAt(3) || 122 === a.charCodeAt(4)) break;\n\n case 931:\n case 953:\n if (!0 === la.test(d)) return 115 === (b = d.substring(d.indexOf(':') + 1)).charCodeAt(0) ? P(d.replace('stretch', 'fill-available'), c, e, h).replace(':fill-available', ':stretch') : a.replace(b, '-webkit-' + b) + a.replace(b, '-moz-' + b.replace('fill-', '')) + a;\n break;\n\n case 962:\n if (a = '-webkit-' + a + (102 === a.charCodeAt(5) ? '-ms-' + a : '') + a, 211 === e + h && 105 === a.charCodeAt(13) && 0 < a.indexOf('transform', 10)) return a.substring(0, a.indexOf(';', 27) + 1).replace(ma, '$1-webkit-$2') + a;\n }\n\n return a;\n }\n\n function L(d, c) {\n var e = d.indexOf(1 === c ? ':' : '{'),\n h = d.substring(0, 3 !== c ? e : 10);\n e = d.substring(e + 1, d.length - 1);\n return R(2 !== c ? h : h.replace(na, '$1'), e, c);\n }\n\n function ea(d, c) {\n var e = P(c, c.charCodeAt(0), c.charCodeAt(1), c.charCodeAt(2));\n return e !== c + ';' ? e.replace(oa, ' or ($1)').substring(4) : '(' + c + ')';\n }\n\n function H(d, c, e, h, a, m, b, v, n, q) {\n for (var g = 0, x = c, w; g < A; ++g) {\n switch (w = S[g].call(B, d, x, e, h, a, m, b, v, n, q)) {\n case void 0:\n case !1:\n case !0:\n case null:\n break;\n\n default:\n x = w;\n }\n }\n\n if (x !== c) return x;\n }\n\n function T(d) {\n switch (d) {\n case void 0:\n case null:\n A = S.length = 0;\n break;\n\n default:\n if ('function' === typeof d) S[A++] = d;else if ('object' === typeof d) for (var c = 0, e = d.length; c < e; ++c) {\n T(d[c]);\n } else Y = !!d | 0;\n }\n\n return T;\n }\n\n function U(d) {\n d = d.prefix;\n void 0 !== d && (R = null, d ? 'function' !== typeof d ? w = 1 : (w = 2, R = d) : w = 0);\n return U;\n }\n\n function B(d, c) {\n var e = d;\n 33 > e.charCodeAt(0) && (e = e.trim());\n V = e;\n e = [V];\n\n if (0 < A) {\n var h = H(-1, c, e, e, D, z, 0, 0, 0, 0);\n void 0 !== h && 'string' === typeof h && (c = h);\n }\n\n var a = M(O, e, c, 0, 0);\n 0 < A && (h = H(-2, a, e, e, D, z, a.length, 0, 0, 0), void 0 !== h && (a = h));\n V = '';\n E = 0;\n z = D = 1;\n return a;\n }\n\n var ca = /^\\0+/g,\n N = /[\\0\\r\\f]/g,\n aa = /: */g,\n ka = /zoo|gra/,\n ma = /([,: ])(transform)/g,\n ia = /,\\r+?/g,\n F = /([\\t\\r\\n ])*\\f?&/g,\n fa = /@(k\\w+)\\s*(\\S*)\\s*/,\n Q = /::(place)/g,\n ha = /:(read-only)/g,\n G = /[svh]\\w+-[tblr]{2}/,\n da = /\\(\\s*(.*)\\s*\\)/g,\n oa = /([\\s\\S]*?);/g,\n ba = /-self|flex-/g,\n na = /[^]*?(:[rp][el]a[\\w-]+)[^]*/,\n la = /stretch|:\\s*\\w+\\-(?:conte|avail)/,\n ja = /([^-])(image-set\\()/,\n z = 1,\n D = 1,\n E = 0,\n w = 1,\n O = [],\n S = [],\n A = 0,\n R = null,\n Y = 0,\n V = '';\n B.use = T;\n B.set = U;\n void 0 !== W && U(W);\n return B;\n}\n\nexport default stylis_min;\n","var weakMemoize = function weakMemoize(func) {\n // $FlowFixMe flow doesn't include all non-primitive types as allowed for weakmaps\n var cache = new WeakMap();\n return function (arg) {\n if (cache.has(arg)) {\n // $FlowFixMe\n return cache.get(arg);\n }\n\n var ret = func(arg);\n cache.set(arg, ret);\n return ret;\n };\n};\n\nexport default weakMemoize;\n","import { StyleSheet } from '@emotion/sheet';\nimport Stylis from '@emotion/stylis';\nimport weakMemoize from '@emotion/weak-memoize';\n\n// https://github.com/thysultan/stylis.js/tree/master/plugins/rule-sheet\n// inlined to avoid umd wrapper and peerDep warnings/installing stylis\n// since we use stylis after closure compiler\nvar delimiter = '/*|*/';\nvar needle = delimiter + '}';\n\nfunction toSheet(block) {\n if (block) {\n Sheet.current.insert(block + '}');\n }\n}\n\nvar Sheet = {\n current: null\n};\nvar ruleSheet = function ruleSheet(context, content, selectors, parents, line, column, length, ns, depth, at) {\n switch (context) {\n // property\n case 1:\n {\n switch (content.charCodeAt(0)) {\n case 64:\n {\n // @import\n Sheet.current.insert(content + ';');\n return '';\n }\n // charcode for l\n\n case 108:\n {\n // charcode for b\n // this ignores label\n if (content.charCodeAt(2) === 98) {\n return '';\n }\n }\n }\n\n break;\n }\n // selector\n\n case 2:\n {\n if (ns === 0) return content + delimiter;\n break;\n }\n // at-rule\n\n case 3:\n {\n switch (ns) {\n // @font-face, @page\n case 102:\n case 112:\n {\n Sheet.current.insert(selectors[0] + content);\n return '';\n }\n\n default:\n {\n return content + (at === 0 ? delimiter : '');\n }\n }\n }\n\n case -2:\n {\n content.split(needle).forEach(toSheet);\n }\n }\n};\nvar removeLabel = function removeLabel(context, content) {\n if (context === 1 && // charcode for l\n content.charCodeAt(0) === 108 && // charcode for b\n content.charCodeAt(2) === 98 // this ignores label\n ) {\n return '';\n }\n};\n\nvar isBrowser = typeof document !== 'undefined';\nvar rootServerStylisCache = {};\nvar getServerStylisCache = isBrowser ? undefined : weakMemoize(function () {\n var getCache = weakMemoize(function () {\n return {};\n });\n var prefixTrueCache = {};\n var prefixFalseCache = {};\n return function (prefix) {\n if (prefix === undefined || prefix === true) {\n return prefixTrueCache;\n }\n\n if (prefix === false) {\n return prefixFalseCache;\n }\n\n return getCache(prefix);\n };\n});\n\nvar createCache = function createCache(options) {\n if (options === undefined) options = {};\n var key = options.key || 'css';\n var stylisOptions;\n\n if (options.prefix !== undefined) {\n stylisOptions = {\n prefix: options.prefix\n };\n }\n\n var stylis = new Stylis(stylisOptions);\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe\n if (/[^a-z-]/.test(key)) {\n throw new Error(\"Emotion key must only contain lower case alphabetical characters and - but \\\"\" + key + \"\\\" was passed\");\n }\n }\n\n var inserted = {}; // $FlowFixMe\n\n var container;\n\n if (isBrowser) {\n container = options.container || document.head;\n var nodes = document.querySelectorAll(\"style[data-emotion-\" + key + \"]\");\n Array.prototype.forEach.call(nodes, function (node) {\n var attrib = node.getAttribute(\"data-emotion-\" + key); // $FlowFixMe\n\n attrib.split(' ').forEach(function (id) {\n inserted[id] = true;\n });\n\n if (node.parentNode !== container) {\n container.appendChild(node);\n }\n });\n }\n\n var _insert;\n\n if (isBrowser) {\n stylis.use(options.stylisPlugins)(ruleSheet);\n\n _insert = function insert(selector, serialized, sheet, shouldCache) {\n var name = serialized.name;\n Sheet.current = sheet;\n\n if (process.env.NODE_ENV !== 'production' && serialized.map !== undefined) {\n var map = serialized.map;\n Sheet.current = {\n insert: function insert(rule) {\n sheet.insert(rule + map);\n }\n };\n }\n\n stylis(selector, serialized.styles);\n\n if (shouldCache) {\n cache.inserted[name] = true;\n }\n };\n } else {\n stylis.use(removeLabel);\n var serverStylisCache = rootServerStylisCache;\n\n if (options.stylisPlugins || options.prefix !== undefined) {\n stylis.use(options.stylisPlugins); // $FlowFixMe\n\n serverStylisCache = getServerStylisCache(options.stylisPlugins || rootServerStylisCache)(options.prefix);\n }\n\n var getRules = function getRules(selector, serialized) {\n var name = serialized.name;\n\n if (serverStylisCache[name] === undefined) {\n serverStylisCache[name] = stylis(selector, serialized.styles);\n }\n\n return serverStylisCache[name];\n };\n\n _insert = function _insert(selector, serialized, sheet, shouldCache) {\n var name = serialized.name;\n var rules = getRules(selector, serialized);\n\n if (cache.compat === undefined) {\n // in regular mode, we don't set the styles on the inserted cache\n // since we don't need to and that would be wasting memory\n // we return them so that they are rendered in a style tag\n if (shouldCache) {\n cache.inserted[name] = true;\n }\n\n if ( // using === development instead of !== production\n // because if people do ssr in tests, the source maps showing up would be annoying\n process.env.NODE_ENV === 'development' && serialized.map !== undefined) {\n return rules + serialized.map;\n }\n\n return rules;\n } else {\n // in compat mode, we put the styles on the inserted cache so\n // that emotion-server can pull out the styles\n // except when we don't want to cache it which was in Global but now\n // is nowhere but we don't want to do a major right now\n // and just in case we're going to leave the case here\n // it's also not affecting client side bundle size\n // so it's really not a big deal\n if (shouldCache) {\n cache.inserted[name] = rules;\n } else {\n return rules;\n }\n }\n };\n }\n\n if (process.env.NODE_ENV !== 'production') {\n // https://esbench.com/bench/5bf7371a4cd7e6009ef61d0a\n var commentStart = /\\/\\*/g;\n var commentEnd = /\\*\\//g;\n stylis.use(function (context, content) {\n switch (context) {\n case -1:\n {\n while (commentStart.test(content)) {\n commentEnd.lastIndex = commentStart.lastIndex;\n\n if (commentEnd.test(content)) {\n commentStart.lastIndex = commentEnd.lastIndex;\n continue;\n }\n\n throw new Error('Your styles have an unterminated comment (\"/*\" without corresponding \"*/\").');\n }\n\n commentStart.lastIndex = 0;\n break;\n }\n }\n });\n stylis.use(function (context, content, selectors) {\n switch (context) {\n case -1:\n {\n var flag = 'emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason';\n var unsafePseudoClasses = content.match(/(:first|:nth|:nth-last)-child/g);\n\n if (unsafePseudoClasses && cache.compat !== true) {\n unsafePseudoClasses.forEach(function (unsafePseudoClass) {\n var ignoreRegExp = new RegExp(unsafePseudoClass + \".*\\\\/\\\\* \" + flag + \" \\\\*\\\\/\");\n var ignore = ignoreRegExp.test(content);\n\n if (unsafePseudoClass && !ignore) {\n console.error(\"The pseudo class \\\"\" + unsafePseudoClass + \"\\\" is potentially unsafe when doing server-side rendering. Try changing it to \\\"\" + unsafePseudoClass.split('-child')[0] + \"-of-type\\\".\");\n }\n });\n }\n\n break;\n }\n }\n });\n }\n\n var cache = {\n key: key,\n sheet: new StyleSheet({\n key: key,\n container: container,\n nonce: options.nonce,\n speedy: options.speedy\n }),\n nonce: options.nonce,\n inserted: inserted,\n registered: {},\n insert: _insert\n };\n return cache;\n};\n\nexport default createCache;\n","var isBrowser = typeof document !== 'undefined';\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n var rawClassName = '';\n classNames.split(' ').forEach(function (className) {\n if (registered[className] !== undefined) {\n registeredStyles.push(registered[className]);\n } else {\n rawClassName += className + \" \";\n }\n });\n return rawClassName;\n}\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n var className = cache.key + \"-\" + serialized.name;\n\n if ( // we only need to add the styles to the registered cache if the\n // class name could be used further down\n // the tree but if it's a string tag, we know it won't\n // so we don't have to add it to registered cache.\n // this improves memory usage since we can avoid storing the whole style string\n (isStringTag === false || // we need to always store it if we're in compat mode and\n // in node since emotion-server relies on whether a style is in\n // the registered cache to know whether a style is global or not\n // also, note that this check will be dead code eliminated in the browser\n isBrowser === false && cache.compat !== undefined) && cache.registered[className] === undefined) {\n cache.registered[className] = serialized.styles;\n }\n\n if (cache.inserted[serialized.name] === undefined) {\n var stylesForSSR = '';\n var current = serialized;\n\n do {\n var maybeStyles = cache.insert(\".\" + className, current, cache.sheet, true);\n\n if (!isBrowser && maybeStyles !== undefined) {\n stylesForSSR += maybeStyles;\n }\n\n current = current.next;\n } while (current !== undefined);\n\n if (!isBrowser && stylesForSSR.length !== 0) {\n return stylesForSSR;\n }\n }\n};\n\nexport { getRegisteredStyles, insertStyles };\n","/* eslint-disable */\n// Inspired by https://github.com/garycourt/murmurhash-js\n// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86\nfunction murmur2(str) {\n // 'm' and 'r' are mixing constants generated offline.\n // They're not really 'magic', they just happen to work well.\n // const m = 0x5bd1e995;\n // const r = 24;\n // Initialize the hash\n var h = 0; // Mix 4 bytes at a time into the hash\n\n var k,\n i = 0,\n len = str.length;\n\n for (; len >= 4; ++i, len -= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);\n k ^=\n /* k >>> r: */\n k >>> 24;\n h =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Handle the last few bytes of the input array\n\n\n switch (len) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Do a few final mixes of the hash to ensure the last few\n // bytes are well-incorporated.\n\n\n h ^= h >>> 13;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n return ((h ^ h >>> 15) >>> 0).toString(36);\n}\n\nexport default murmur2;\n","var unitlessKeys = {\n animationIterationCount: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport default unitlessKeys;\n","function memoize(fn) {\n var cache = {};\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport default memoize;\n","import hashString from '@emotion/hash';\nimport unitless from '@emotion/unitless';\nimport memoize from '@emotion/memoize';\n\nvar ILLEGAL_ESCAPE_SEQUENCE_ERROR = \"You have illegal escape sequence in your template literal, most likely inside content's property value.\\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \\\"content: '\\\\00d7';\\\" should become \\\"content: '\\\\\\\\00d7';\\\".\\nYou can read more about this here:\\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences\";\nvar UNDEFINED_AS_OBJECT_KEY_ERROR = \"You have passed in falsy value as style object's key (can happen when in example you pass unexported component as computed key).\";\nvar hyphenateRegex = /[A-Z]|^ms/g;\nvar animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;\n\nvar isCustomProperty = function isCustomProperty(property) {\n return property.charCodeAt(1) === 45;\n};\n\nvar isProcessableValue = function isProcessableValue(value) {\n return value != null && typeof value !== 'boolean';\n};\n\nvar processStyleName = memoize(function (styleName) {\n return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase();\n});\n\nvar processStyleValue = function processStyleValue(key, value) {\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n if (typeof value === 'string') {\n return value.replace(animationRegex, function (match, p1, p2) {\n cursor = {\n name: p1,\n styles: p2,\n next: cursor\n };\n return p1;\n });\n }\n }\n }\n\n if (unitless[key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) {\n return value + 'px';\n }\n\n return value;\n};\n\nif (process.env.NODE_ENV !== 'production') {\n var contentValuePattern = /(attr|calc|counters?|url)\\(/;\n var contentValues = ['normal', 'none', 'counter', 'open-quote', 'close-quote', 'no-open-quote', 'no-close-quote', 'initial', 'inherit', 'unset'];\n var oldProcessStyleValue = processStyleValue;\n var msPattern = /^-ms-/;\n var hyphenPattern = /-(.)/g;\n var hyphenatedCache = {};\n\n processStyleValue = function processStyleValue(key, value) {\n if (key === 'content') {\n if (typeof value !== 'string' || contentValues.indexOf(value) === -1 && !contentValuePattern.test(value) && (value.charAt(0) !== value.charAt(value.length - 1) || value.charAt(0) !== '\"' && value.charAt(0) !== \"'\")) {\n console.error(\"You seem to be using a value for 'content' without quotes, try replacing it with `content: '\\\"\" + value + \"\\\"'`\");\n }\n }\n\n var processed = oldProcessStyleValue(key, value);\n\n if (processed !== '' && !isCustomProperty(key) && key.indexOf('-') !== -1 && hyphenatedCache[key] === undefined) {\n hyphenatedCache[key] = true;\n console.error(\"Using kebab-case for css properties in objects is not supported. Did you mean \" + key.replace(msPattern, 'ms-').replace(hyphenPattern, function (str, _char) {\n return _char.toUpperCase();\n }) + \"?\");\n }\n\n return processed;\n };\n}\n\nvar shouldWarnAboutInterpolatingClassNameFromCss = true;\n\nfunction handleInterpolation(mergedProps, registered, interpolation, couldBeSelectorInterpolation) {\n if (interpolation == null) {\n return '';\n }\n\n if (interpolation.__emotion_styles !== undefined) {\n if (process.env.NODE_ENV !== 'production' && interpolation.toString() === 'NO_COMPONENT_SELECTOR') {\n throw new Error('Component selectors can only be used in conjunction with babel-plugin-emotion.');\n }\n\n return interpolation;\n }\n\n switch (typeof interpolation) {\n case 'boolean':\n {\n return '';\n }\n\n case 'object':\n {\n if (interpolation.anim === 1) {\n cursor = {\n name: interpolation.name,\n styles: interpolation.styles,\n next: cursor\n };\n return interpolation.name;\n }\n\n if (interpolation.styles !== undefined) {\n var next = interpolation.next;\n\n if (next !== undefined) {\n // not the most efficient thing ever but this is a pretty rare case\n // and there will be very few iterations of this generally\n while (next !== undefined) {\n cursor = {\n name: next.name,\n styles: next.styles,\n next: cursor\n };\n next = next.next;\n }\n }\n\n var styles = interpolation.styles + \";\";\n\n if (process.env.NODE_ENV !== 'production' && interpolation.map !== undefined) {\n styles += interpolation.map;\n }\n\n return styles;\n }\n\n return createStringFromObject(mergedProps, registered, interpolation);\n }\n\n case 'function':\n {\n if (mergedProps !== undefined) {\n var previousCursor = cursor;\n var result = interpolation(mergedProps);\n cursor = previousCursor;\n return handleInterpolation(mergedProps, registered, result, couldBeSelectorInterpolation);\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('Functions that are interpolated in css calls will be stringified.\\n' + 'If you want to have a css call based on props, create a function that returns a css call like this\\n' + 'let dynamicStyle = (props) => css`color: ${props.color}`\\n' + 'It can be called directly with props or interpolated in a styled call like this\\n' + \"let SomeComponent = styled('div')`${dynamicStyle}`\");\n }\n\n break;\n }\n\n case 'string':\n if (process.env.NODE_ENV !== 'production') {\n var matched = [];\n var replaced = interpolation.replace(animationRegex, function (match, p1, p2) {\n var fakeVarName = \"animation\" + matched.length;\n matched.push(\"const \" + fakeVarName + \" = keyframes`\" + p2.replace(/^@keyframes animation-\\w+/, '') + \"`\");\n return \"${\" + fakeVarName + \"}\";\n });\n\n if (matched.length) {\n console.error('`keyframes` output got interpolated into plain string, please wrap it with `css`.\\n\\n' + 'Instead of doing this:\\n\\n' + [].concat(matched, [\"`\" + replaced + \"`\"]).join('\\n') + '\\n\\nYou should wrap it with `css` like this:\\n\\n' + (\"css`\" + replaced + \"`\"));\n }\n }\n\n break;\n } // finalize string values (regular strings and functions interpolated into css calls)\n\n\n if (registered == null) {\n return interpolation;\n }\n\n var cached = registered[interpolation];\n\n if (process.env.NODE_ENV !== 'production' && couldBeSelectorInterpolation && shouldWarnAboutInterpolatingClassNameFromCss && cached !== undefined) {\n console.error('Interpolating a className from css`` is not recommended and will cause problems with composition.\\n' + 'Interpolating a className from css`` will be completely unsupported in a future major version of Emotion');\n shouldWarnAboutInterpolatingClassNameFromCss = false;\n }\n\n return cached !== undefined && !couldBeSelectorInterpolation ? cached : interpolation;\n}\n\nfunction createStringFromObject(mergedProps, registered, obj) {\n var string = '';\n\n if (Array.isArray(obj)) {\n for (var i = 0; i < obj.length; i++) {\n string += handleInterpolation(mergedProps, registered, obj[i], false);\n }\n } else {\n for (var _key in obj) {\n var value = obj[_key];\n\n if (typeof value !== 'object') {\n if (registered != null && registered[value] !== undefined) {\n string += _key + \"{\" + registered[value] + \"}\";\n } else if (isProcessableValue(value)) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value) + \";\";\n }\n } else {\n if (_key === 'NO_COMPONENT_SELECTOR' && process.env.NODE_ENV !== 'production') {\n throw new Error('Component selectors can only be used in conjunction with babel-plugin-emotion.');\n }\n\n if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) {\n for (var _i = 0; _i < value.length; _i++) {\n if (isProcessableValue(value[_i])) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value[_i]) + \";\";\n }\n }\n } else {\n var interpolated = handleInterpolation(mergedProps, registered, value, false);\n\n switch (_key) {\n case 'animation':\n case 'animationName':\n {\n string += processStyleName(_key) + \":\" + interpolated + \";\";\n break;\n }\n\n default:\n {\n if (process.env.NODE_ENV !== 'production' && _key === 'undefined') {\n console.error(UNDEFINED_AS_OBJECT_KEY_ERROR);\n }\n\n string += _key + \"{\" + interpolated + \"}\";\n }\n }\n }\n }\n }\n }\n\n return string;\n}\n\nvar labelPattern = /label:\\s*([^\\s;\\n{]+)\\s*;/g;\nvar sourceMapPattern;\n\nif (process.env.NODE_ENV !== 'production') {\n sourceMapPattern = /\\/\\*#\\ssourceMappingURL=data:application\\/json;\\S+\\s+\\*\\//;\n} // this is the cursor for keyframes\n// keyframes are stored on the SerializedStyles object as a linked list\n\n\nvar cursor;\nvar serializeStyles = function serializeStyles(args, registered, mergedProps) {\n if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null && args[0].styles !== undefined) {\n return args[0];\n }\n\n var stringMode = true;\n var styles = '';\n cursor = undefined;\n var strings = args[0];\n\n if (strings == null || strings.raw === undefined) {\n stringMode = false;\n styles += handleInterpolation(mergedProps, registered, strings, false);\n } else {\n if (process.env.NODE_ENV !== 'production' && strings[0] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[0];\n } // we start at 1 since we've already handled the first arg\n\n\n for (var i = 1; i < args.length; i++) {\n styles += handleInterpolation(mergedProps, registered, args[i], styles.charCodeAt(styles.length - 1) === 46);\n\n if (stringMode) {\n if (process.env.NODE_ENV !== 'production' && strings[i] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[i];\n }\n }\n\n var sourceMap;\n\n if (process.env.NODE_ENV !== 'production') {\n styles = styles.replace(sourceMapPattern, function (match) {\n sourceMap = match;\n return '';\n });\n } // using a global regex with .exec is stateful so lastIndex has to be reset each time\n\n\n labelPattern.lastIndex = 0;\n var identifierName = '';\n var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5\n\n while ((match = labelPattern.exec(styles)) !== null) {\n identifierName += '-' + // $FlowFixMe we know it's not null\n match[1];\n }\n\n var name = hashString(styles) + identifierName;\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe SerializedStyles type doesn't have toString property (and we don't want to add it)\n return {\n name: name,\n styles: styles,\n map: sourceMap,\n next: cursor,\n toString: function toString() {\n return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\";\n }\n };\n }\n\n return {\n name: name,\n styles: styles,\n next: cursor\n };\n};\n\nexport { serializeStyles };\n","import _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport { createContext, forwardRef, createElement, Component, Fragment } from 'react';\nimport createCache from '@emotion/cache';\nimport { getRegisteredStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\n\nvar isBrowser = typeof document !== 'undefined';\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar EmotionCacheContext = /*#__PURE__*/createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? createCache() : null);\nvar ThemeContext = /*#__PURE__*/createContext({});\nvar CacheProvider = EmotionCacheContext.Provider;\n\nvar withEmotionCache = function withEmotionCache(func) {\n var render = function render(props, ref) {\n return /*#__PURE__*/createElement(EmotionCacheContext.Consumer, null, function (cache) {\n return func(props, cache, ref);\n });\n }; // $FlowFixMe\n\n\n return /*#__PURE__*/forwardRef(render);\n};\n\nif (!isBrowser) {\n var BasicProvider = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(BasicProvider, _React$Component);\n\n function BasicProvider(props, context, updater) {\n var _this;\n\n _this = _React$Component.call(this, props, context, updater) || this;\n _this.state = {\n value: createCache()\n };\n return _this;\n }\n\n var _proto = BasicProvider.prototype;\n\n _proto.render = function render() {\n return /*#__PURE__*/createElement(EmotionCacheContext.Provider, this.state, this.props.children(this.state.value));\n };\n\n return BasicProvider;\n }(Component);\n\n withEmotionCache = function withEmotionCache(func) {\n return function (props) {\n return /*#__PURE__*/createElement(EmotionCacheContext.Consumer, null, function (context) {\n if (context === null) {\n return /*#__PURE__*/createElement(BasicProvider, null, function (newContext) {\n return func(props, newContext);\n });\n } else {\n return func(props, context);\n }\n });\n };\n };\n}\n\n// thus we only need to replace what is a valid character for JS, but not for CSS\n\nvar sanitizeIdentifier = function sanitizeIdentifier(identifier) {\n return identifier.replace(/\\$/g, '-');\n};\n\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar labelPropName = '__EMOTION_LABEL_PLEASE_DO_NOT_USE__';\nvar createEmotionProps = function createEmotionProps(type, props) {\n if (process.env.NODE_ENV !== 'production' && typeof props.css === 'string' && // check if there is a css declaration\n props.css.indexOf(':') !== -1) {\n throw new Error(\"Strings are not allowed as css prop values, please wrap it in a css template literal from '@emotion/css' like this: css`\" + props.css + \"`\");\n }\n\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key)) {\n newProps[key] = props[key];\n }\n }\n\n newProps[typePropName] = type; // TODO: check if this still works with all of those different JSX functions\n\n if (process.env.NODE_ENV !== 'production') {\n var error = new Error();\n\n if (error.stack) {\n // chrome\n var match = error.stack.match(/at (?:Object\\.|Module\\.|)(?:jsx|createEmotionProps).*\\n\\s+at (?:Object\\.|)([A-Z][A-Za-z$]+) /);\n\n if (!match) {\n // safari and firefox\n match = error.stack.match(/.*\\n([A-Z][A-Za-z$]+)@/);\n }\n\n if (match) {\n newProps[labelPropName] = sanitizeIdentifier(match[1]);\n }\n }\n }\n\n return newProps;\n};\n\nvar Noop = function Noop() {\n return null;\n};\n\nvar render = function render(cache, props, theme, ref) {\n var cssProp = theme === null ? props.css : props.css(theme); // so that using `css` from `emotion` and passing the result to the css prop works\n // not passing the registered cache to serializeStyles because it would\n // make certain babel optimisations not possible\n\n if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n cssProp = cache.registered[cssProp];\n }\n\n var type = props[typePropName];\n var registeredStyles = [cssProp];\n var className = '';\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, registeredStyles, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(registeredStyles);\n\n if (process.env.NODE_ENV !== 'production' && serialized.name.indexOf('-') === -1) {\n var labelFromStack = props[labelPropName];\n\n if (labelFromStack) {\n serialized = serializeStyles([serialized, 'label:' + labelFromStack + ';']);\n }\n }\n\n var rules = insertStyles(cache, serialized, typeof type === 'string');\n className += cache.key + \"-\" + serialized.name;\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key) && key !== 'css' && key !== typePropName && (process.env.NODE_ENV === 'production' || key !== labelPropName)) {\n newProps[key] = props[key];\n }\n }\n\n newProps.ref = ref;\n newProps.className = className;\n var ele = /*#__PURE__*/createElement(type, newProps);\n var possiblyStyleElement = /*#__PURE__*/createElement(Noop, null);\n\n if (!isBrowser && rules !== undefined) {\n var _ref;\n\n var serializedNames = serialized.name;\n var next = serialized.next;\n\n while (next !== undefined) {\n serializedNames += ' ' + next.name;\n next = next.next;\n }\n\n possiblyStyleElement = /*#__PURE__*/createElement(\"style\", (_ref = {}, _ref[\"data-emotion-\" + cache.key] = serializedNames, _ref.dangerouslySetInnerHTML = {\n __html: rules\n }, _ref.nonce = cache.sheet.nonce, _ref));\n } // Need to return the same number of siblings or else `React.useId` will cause hydration mismatches.\n\n\n return /*#__PURE__*/createElement(Fragment, null, possiblyStyleElement, ele);\n}; // eslint-disable-next-line no-undef\n\n\nvar Emotion = /* #__PURE__ */withEmotionCache(function (props, cache, ref) {\n if (typeof props.css === 'function') {\n return /*#__PURE__*/createElement(ThemeContext.Consumer, null, function (theme) {\n return render(cache, props, theme, ref);\n });\n }\n\n return render(cache, props, null, ref);\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Emotion.displayName = 'EmotionCssPropInternal';\n}\n\nexport { CacheProvider as C, Emotion as E, ThemeContext as T, createEmotionProps as c, hasOwnProperty as h, isBrowser as i, withEmotionCache as w };\n","import { serializeStyles } from '@emotion/serialize';\n\nfunction css() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return serializeStyles(args);\n}\n\nexport default css;\n","import _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport { createElement, Component, Fragment } from 'react';\nimport '@emotion/cache';\nimport { h as hasOwnProperty, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext, i as isBrowser } from './emotion-element-39b82f0b.esm.js';\nexport { C as CacheProvider, T as ThemeContext, w as withEmotionCache } from './emotion-element-39b82f0b.esm.js';\nimport { insertStyles, getRegisteredStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { StyleSheet } from '@emotion/sheet';\nimport css from '@emotion/css';\nexport { default as css } from '@emotion/css';\n\nvar jsx = function jsx(type, props) {\n var args = arguments;\n\n if (props == null || !hasOwnProperty.call(props, 'css')) {\n // $FlowFixMe\n return createElement.apply(undefined, args);\n }\n\n var argsLength = args.length;\n var createElementArgArray = new Array(argsLength);\n createElementArgArray[0] = Emotion;\n createElementArgArray[1] = createEmotionProps(type, props);\n\n for (var i = 2; i < argsLength; i++) {\n createElementArgArray[i] = args[i];\n } // $FlowFixMe\n\n\n return createElement.apply(null, createElementArgArray);\n};\n\nvar warnedAboutCssPropForGlobal = false;\nvar Global = /* #__PURE__ */withEmotionCache(function (props, cache) {\n if (process.env.NODE_ENV !== 'production' && !warnedAboutCssPropForGlobal && ( // check for className as well since the user is\n // probably using the custom createElement which\n // means it will be turned into a className prop\n // $FlowFixMe I don't really want to add it to the type since it shouldn't be used\n props.className || props.css)) {\n console.error(\"It looks like you're using the css prop on Global, did you mean to use the styles prop instead?\");\n warnedAboutCssPropForGlobal = true;\n }\n\n var styles = props.styles;\n\n if (typeof styles === 'function') {\n return /*#__PURE__*/createElement(ThemeContext.Consumer, null, function (theme) {\n var serialized = serializeStyles([styles(theme)]);\n return /*#__PURE__*/createElement(InnerGlobal, {\n serialized: serialized,\n cache: cache\n });\n });\n }\n\n var serialized = serializeStyles([styles]);\n return /*#__PURE__*/createElement(InnerGlobal, {\n serialized: serialized,\n cache: cache\n });\n});\n\n// maintain place over rerenders.\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\nvar InnerGlobal = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(InnerGlobal, _React$Component);\n\n function InnerGlobal(props, context, updater) {\n return _React$Component.call(this, props, context, updater) || this;\n }\n\n var _proto = InnerGlobal.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.sheet = new StyleSheet({\n key: this.props.cache.key + \"-global\",\n nonce: this.props.cache.sheet.nonce,\n container: this.props.cache.sheet.container\n }); // $FlowFixMe\n\n var node = document.querySelector(\"style[data-emotion-\" + this.props.cache.key + \"=\\\"\" + this.props.serialized.name + \"\\\"]\");\n\n if (node !== null) {\n this.sheet.tags.push(node);\n }\n\n if (this.props.cache.sheet.tags.length) {\n this.sheet.before = this.props.cache.sheet.tags[0];\n }\n\n this.insertStyles();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n if (prevProps.serialized.name !== this.props.serialized.name) {\n this.insertStyles();\n }\n };\n\n _proto.insertStyles = function insertStyles$1() {\n if (this.props.serialized.next !== undefined) {\n // insert keyframes\n insertStyles(this.props.cache, this.props.serialized.next, true);\n }\n\n if (this.sheet.tags.length) {\n // if this doesn't exist then it will be null so the style element will be appended\n var element = this.sheet.tags[this.sheet.tags.length - 1].nextElementSibling;\n this.sheet.before = element;\n this.sheet.flush();\n }\n\n this.props.cache.insert(\"\", this.props.serialized, this.sheet, false);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.sheet.flush();\n };\n\n _proto.render = function render() {\n if (!isBrowser) {\n var serialized = this.props.serialized;\n var serializedNames = serialized.name;\n var serializedStyles = serialized.styles;\n var next = serialized.next;\n\n while (next !== undefined) {\n serializedNames += ' ' + next.name;\n serializedStyles += next.styles;\n next = next.next;\n }\n\n var shouldCache = this.props.cache.compat === true;\n var rules = this.props.cache.insert(\"\", {\n name: serializedNames,\n styles: serializedStyles\n }, this.sheet, shouldCache);\n\n if (!shouldCache) {\n var _ref;\n\n return /*#__PURE__*/createElement(\"style\", (_ref = {}, _ref[\"data-emotion-\" + this.props.cache.key] = serializedNames, _ref.dangerouslySetInnerHTML = {\n __html: rules\n }, _ref.nonce = this.props.cache.sheet.nonce, _ref));\n }\n }\n\n return null;\n };\n\n return InnerGlobal;\n}(Component);\n\nvar keyframes = function keyframes() {\n var insertable = css.apply(void 0, arguments);\n var name = \"animation-\" + insertable.name; // $FlowFixMe\n\n return {\n name: name,\n styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n anim: 1,\n toString: function toString() {\n return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n }\n };\n};\n\nvar classnames = function classnames(args) {\n var len = args.length;\n var i = 0;\n var cls = '';\n\n for (; i < len; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n\n switch (typeof arg) {\n case 'boolean':\n break;\n\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nfunction merge(registered, css, className) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar Noop = function Noop() {\n return null;\n};\n\nvar ClassNames = withEmotionCache(function (props, context) {\n return /*#__PURE__*/createElement(ThemeContext.Consumer, null, function (theme) {\n var rules = '';\n var serializedHashes = '';\n var hasRendered = false;\n\n var css = function css() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('css can only be used during render');\n }\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var serialized = serializeStyles(args, context.registered);\n\n if (isBrowser) {\n insertStyles(context, serialized, false);\n } else {\n var res = insertStyles(context, serialized, false);\n\n if (res !== undefined) {\n rules += res;\n }\n }\n\n if (!isBrowser) {\n serializedHashes += \" \" + serialized.name;\n }\n\n return context.key + \"-\" + serialized.name;\n };\n\n var cx = function cx() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('cx can only be used during render');\n }\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return merge(context.registered, css, classnames(args));\n };\n\n var content = {\n css: css,\n cx: cx,\n theme: theme\n };\n var ele = props.children(content);\n hasRendered = true;\n var possiblyStyleElement = /*#__PURE__*/createElement(Noop, null);\n\n if (!isBrowser && rules.length !== 0) {\n var _ref;\n\n possiblyStyleElement = /*#__PURE__*/createElement(\"style\", (_ref = {}, _ref[\"data-emotion-\" + context.key] = serializedHashes.substring(1), _ref.dangerouslySetInnerHTML = {\n __html: rules\n }, _ref.nonce = context.sheet.nonce, _ref));\n } // Need to return the same number of siblings or else `React.useId` will cause hydration mismatches.\n\n\n return /*#__PURE__*/createElement(Fragment, null, possiblyStyleElement, ele);\n });\n});\n\nexport { ClassNames, Global, jsx as createElement, jsx, keyframes };\n","// TODO: pull from builder internal utils\nexport const fastClone = <T extends object>(obj: T): T => JSON.parse(JSON.stringify(obj));\n","import { fastClone } from '../functions/utils';\n\nexport type Size = 'large' | 'medium' | 'small' | 'xsmall';\nexport const sizeNames: Size[] = ['xsmall', 'small', 'medium', 'large'];\n\n// TODO: put in @builder.io/core\nconst sizes = {\n xsmall: {\n min: 0,\n default: 0,\n max: 0,\n },\n small: {\n min: 320,\n default: 321,\n max: 640,\n },\n medium: {\n min: 641,\n default: 642,\n max: 991,\n },\n large: {\n min: 990,\n default: 991,\n max: 1200,\n },\n getWidthForSize(size: Size) {\n return this[size].default;\n },\n getSizeForWidth(width: number) {\n for (const size of sizeNames) {\n const value = this[size];\n if (width <= value.max) {\n return size;\n }\n }\n return 'large';\n },\n};\nexport type Sizes = typeof sizes;\n\nexport interface Breakpoints {\n small?: number;\n medium?: number;\n}\n\nexport const getSizesForBreakpoints = ({ small, medium }: Breakpoints) => {\n const newSizes = {\n ...sizes, // Note: this helps get the function from sizes\n ...fastClone(sizes), // Note: this helps to get a deep clone of fields like small, medium etc\n };\n\n if (!small || !medium) {\n return newSizes;\n }\n\n const smallMin = Math.floor(small / 2);\n newSizes.small = {\n max: small,\n min: smallMin,\n default: smallMin + 1,\n };\n\n const mediumMin = newSizes.small.max + 1;\n newSizes.medium = {\n max: medium,\n min: mediumMin,\n default: mediumMin + 1,\n };\n\n const largeMin = newSizes.medium.max + 1;\n newSizes.large = {\n max: 2000, // TODO: decide upper limit\n min: largeMin,\n default: largeMin + 1,\n };\n\n return newSizes;\n};\n","export const set = (obj: any, _path: string | string[], value: any) => {\n if (Object(obj) !== obj) {\n return obj;\n }\n const path: string[] = Array.isArray(_path)\n ? _path\n : (_path.toString().match(/[^.[\\]]+/g) as string[]);\n\n path\n .slice(0, -1)\n .reduce(\n (a, c, i) =>\n Object(a[c]) === a[c]\n ? a[c]\n : (a[c] = Math.abs(Number(path[i + 1])) >> 0 === +path[i + 1] ? [] : {}),\n obj\n )[path[path.length - 1]] = value;\n return obj;\n};\n","'use strict';\n\nimport { Builder } from '@builder.io/sdk';\n\nconst noop = () => null;\n// Allow us to require things dynamically safe from webpack bundling\n\nexport let safeDynamicRequire: typeof require;\n\n/*\n * The if condition below used to be\n *\n * if (typeof globalThis.require === \"function\")\n *\n * That broke in case Builder was running on the server (Next, SSR use-cases) where\n * globalThis.require was undefined. Avoiding use of Builder.isServer for Cloudflare worker cases\n * That said, if change it to\n *\n * if (typeof require === 'function') {\n * localSafeDynamicRequire = eval('require');\n * }\n *\n * Then the TSC / rollup compiler over-optimizes and replaces the if condition with true always\n * causing it to blow up on the client side. Hence this convoluted way of doing it.\n *\n * In Summary:\n *\n * 1. Node -> globalThis.require does not work\n * 2. Cloudflare edge -> only globalThis.require works\n */\nif (\n typeof globalThis?.require === 'function' ||\n (Builder.isServer && typeof require === 'function')\n) {\n safeDynamicRequire = eval('require');\n}\n\nsafeDynamicRequire ??= noop as any;\n","import { Builder, builder } from '@builder.io/sdk';\nimport { safeDynamicRequire } from './safe-dynamic-require';\n\nconst fnCache: { [key: string]: BuilderEvanFunction | undefined } = {};\n\ntype BuilderEvanFunction = (\n state: object,\n event?: Event | undefined | null,\n block?: any,\n builder?: Builder,\n Device?: any,\n update?: Function | null,\n _Builder?: typeof Builder,\n context?: object\n) => any;\n\nexport const api = (state: any) => builder;\n\nexport function stringToFunction(\n str: string,\n expression = true,\n errors?: Error[],\n logs?: string[]\n): BuilderEvanFunction {\n /* TODO: objedct */\n if (!str || !str.trim()) {\n return () => undefined;\n }\n\n const cacheKey = str + ':' + expression;\n if (fnCache[cacheKey]) {\n return fnCache[cacheKey]!;\n }\n\n // FIXME: gross hack\n const useReturn =\n (expression &&\n !(str.includes(';') || str.includes(' return ') || str.trim().startsWith('return '))) ||\n str.trim().startsWith('builder.run');\n let fn: Function = () => {\n /* intentionally empty */\n };\n\n try {\n // tslint:disable-next-line:no-function-constructor-with-string-args\n if (Builder.isBrowser) {\n // TODO: use strict and eval\n fn = new Function(\n 'state',\n 'event',\n 'block',\n 'builder',\n 'Device',\n 'update',\n 'Builder',\n 'context',\n // TODO: remove the with () {} - make a page v3 that doesn't use this\n // Or only do if can't find state\\s*\\. anywhere hm\n `\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 ${useReturn ? `return (${str});` : str};\n }\n `\n );\n }\n } catch (error: any) {\n if (errors) {\n errors.push(error);\n }\n const message = error && error.message;\n if (message && typeof message === 'string') {\n if (logs && logs.indexOf(message) === -1) {\n logs.push(message);\n }\n }\n if (Builder.isBrowser) {\n console.warn(`Function compile error in ${str}`, error);\n }\n }\n\n const final = (...args: any[]) => {\n try {\n if (Builder.isBrowser) {\n return fn(...args);\n } else {\n // TODO: memoize on server\n // TODO: use something like this instead https://www.npmjs.com/package/rollup-plugin-strip-blocks\n // There must be something more widely used?\n // TODO: regex for between comments instead so can still type check the code... e.g. //SERVER-START ... code ... //SERVER-END\n // Below is a hack to get certain code to *only* load in the server build, to not screw with\n // browser bundler's like rollup and webpack. Our rollup plugin strips these comments only\n // for the server build\n // TODO: cache these for better performancs with new VmScript\n // tslint:disable:comment-format\n const { VM } = safeDynamicRequire('vm2');\n const [state, event, _block, _builder, _Device, _update, _Builder, context] = args;\n\n return new VM({\n timeout: 100,\n sandbox: {\n ...state,\n ...{ state },\n ...{ context },\n ...{ builder: api },\n event,\n },\n }).run(str.replace(/(^|;)return /, '$1'));\n // tslint:enable:comment-format\n }\n } catch (error: any) {\n if (Builder.isBrowser) {\n console.warn(\n 'Builder custom code error:',\n error.message || error,\n 'in',\n str,\n error.stack || error\n );\n } else {\n if (process.env.DEBUG) {\n console.debug(\n 'Builder custom code error:',\n error.message || error,\n 'in',\n str,\n error.stack || error\n );\n }\n }\n if (errors) {\n errors.push(error);\n }\n return null;\n }\n };\n\n if (Builder.isBrowser) {\n fnCache[cacheKey] = final;\n }\n\n return final;\n}\n","import React from 'react';\n\nexport interface RequestInfo {\n promise: Promise<any>;\n url?: string;\n}\n\nexport type RequestOrPromise = RequestInfo | Promise<any>;\n\nexport const isPromise = (thing: RequestOrPromise): thing is Promise<any> =>\n typeof (thing as any).then === 'function';\nexport const isRequestInfo = (thing: RequestOrPromise): thing is RequestInfo => !isPromise(thing);\n\nexport const BuilderAsyncRequestsContext = React.createContext({\n requests: [] as RequestOrPromise[],\n errors: [] as Error[],\n logs: [] as string[],\n});\n","import React from 'react';\n\nexport const BuilderStoreContext = React.createContext<BuilderStore>({\n state: {},\n rootState: {},\n content: {},\n context: {},\n update: (mutator: (state: any) => any) => null,\n});\n\nexport interface BuilderStore {\n state: any;\n rootState: any;\n content: any;\n context: any;\n update: (mutator: (state: any) => any) => any;\n renderLink?: (props: React.AnchorHTMLAttributes<any>) => React.ReactNode;\n}\n","export const applyPatchWithMinimalMutationChain = <T extends object>(\n obj: T,\n patch: { path: string; op: 'add' | 'remove' | 'replace'; value: any },\n preserveRoot = false\n): T => {\n if (Object(obj) !== obj) {\n return obj;\n }\n const { path, op, value } = patch;\n const pathArr: string[] = path.split(/\\//);\n if (pathArr[0] === '') {\n pathArr.shift();\n }\n\n const newObj = preserveRoot ? obj : { ...obj };\n let objPart = newObj as any;\n for (let i = 0; i < pathArr.length; i++) {\n const isLast = i === pathArr.length - 1;\n const property = pathArr[i];\n if (isLast) {\n if (op === 'replace') {\n objPart[property] = value;\n } else if (op === 'add') {\n const index = Number(property);\n if (Array.isArray(objPart)) {\n if (property === '-') {\n objPart.push(value);\n } else {\n objPart.splice(index, 0, value);\n }\n } else {\n objPart[property] = value;\n }\n } else if (op === 'remove') {\n const index = Number(property);\n if (Array.isArray(objPart)) {\n objPart.splice(index, 1);\n } else {\n delete objPart[property];\n }\n }\n } else {\n const nextProperty = pathArr[i + 1];\n const newPart =\n Object(objPart[property]) === objPart[property]\n ? objPart[property]\n : String(Number(nextProperty)) === nextProperty\n ? []\n : {};\n objPart = objPart[property] = Array.isArray(newPart) ? [...newPart] : { ...newPart };\n }\n }\n\n return newObj;\n};\n","import { BuilderElement } from '@builder.io/sdk';\n\nexport const htmlEscape = (str: string) =>\n str.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/\"/g, '"');\n\n// TODO: handle self closing tags\n// TODO: how allow components (e.g. react components) in templates?\nexport const blockToHtmlString = (block: BuilderElement): string =>\n `<${htmlEscape(block.tagName || 'div')} \n class=\"builder-block ${block.id} ${block.class || ''}\"\n builder-id=\"${block.id}\"\n ${Object.keys(block.properties || {})\n .map(key => `${htmlEscape(key)}=\"${htmlEscape(block.properties![key])}\"`)\n .join(' ')}\n >${\n block?.component?.name === 'Text'\n ? block.component.options.text\n : block.children\n ? block.children.map(item => blockToHtmlString(item)).join('')\n : ''\n }</${block.tagName || 'div'}>`.replace(/\\s+/g, ' ');\n","import React from 'react';\nimport { BuilderStoreContext } from '../store/builder-store';\n/**\n * Link component should be used instead of an anchor tag in our components,\n * this is to allow our users to override anchor tags in\n * case they're using a routing Lib that requires using their\n * custom Link component (e.g Next, Gatsby, React Router)\n * <BuilderComponent renderLink=(props) => <myCustomLink {...props} /> />\n */\nexport const Link: React.SFC<React.AnchorHTMLAttributes<HTMLAnchorElement>> = props => (\n <BuilderStoreContext.Consumer>\n {context => {\n if (context.renderLink) {\n return context.renderLink(props);\n }\n return <a {...props} />;\n }}\n </BuilderStoreContext.Consumer>\n);\n","/** @jsx jsx */\nimport { Builder, builder, BuilderElement, Component } from '@builder.io/sdk';\nimport { ClassNames, jsx } from '@emotion/core';\nimport React from 'react';\nimport { getSizesForBreakpoints, Size, sizeNames } from '../constants/device-sizes.constant';\nimport { set } from '../functions/set';\nimport { api, stringToFunction } from '../functions/string-to-function';\nimport { BuilderAsyncRequestsContext, RequestOrPromise } from '../store/builder-async-requests';\nimport { BuilderStoreContext } from '../store/builder-store';\nimport { applyPatchWithMinimalMutationChain } from '../functions/apply-patch-with-mutation';\nimport { blockToHtmlString } from '../functions/block-to-html-string';\nimport { Link } from './Link';\nimport { fastClone } from '../functions/utils';\n\nconst camelCaseToKebabCase = (str?: string) =>\n str ? str.replace(/([A-Z])/g, g => `-${g[0].toLowerCase()}`) : '';\n\nconst kebabCaseToCamelCase = (str = '') =>\n str.replace(/-([a-z])/g, match => match[1].toUpperCase());\n\nconst Device = { desktop: 0, tablet: 1, mobile: 2 };\n\nconst voidElements = new Set([\n 'area',\n 'base',\n 'br',\n 'col',\n 'embed',\n 'hr',\n 'img',\n 'input',\n 'link',\n 'meta',\n 'param',\n 'source',\n 'track',\n 'wbr',\n 'textarea', // In React, we want to treat this as void (no children, otherwise React throws errors)\n]);\n\nconst last = <T extends any>(arr: T[]) => arr[arr.length - 1];\n\nfunction omit(obj: any, values: string[]) {\n const newObject = Object.assign({}, obj);\n for (const key of values) {\n delete newObject[key];\n }\n return newObject;\n}\n\nconst cssCase = (property: string) => {\n if (!property) {\n return property;\n }\n\n let str = camelCaseToKebabCase(property);\n\n if (property[0] === property[0].toUpperCase()) {\n str = '-' + str;\n }\n\n return str;\n};\n\n// TODO: share these types in shared\ntype ElementType = any;\n\nexport interface BuilderBlockProps {\n fieldName?: string;\n block: BuilderElement;\n // TODO:\n // block: BuilderElement\n child?: boolean;\n index?: number;\n size?: Size;\n emailMode?: boolean;\n // TODO: use context\n}\n\nfunction capitalize(str: string) {\n if (!str) {\n return;\n }\n return str[0].toUpperCase() + str.slice(1);\n}\n\ninterface BuilderBlockState {\n state: any;\n rootState: any;\n context: any;\n update: Function;\n}\n\nexport class BuilderBlock extends React.Component<\n BuilderBlockProps,\n { hasError: boolean; updates: number }\n> {\n private _asyncRequests?: RequestOrPromise[];\n private _errors?: Error[];\n private _logs?: string[];\n\n state = {\n hasError: false,\n updates: 0,\n };\n\n private privateState: BuilderBlockState = {\n state: {},\n rootState: {},\n context: {},\n update: () => {\n /* Intentionally empty */\n },\n };\n\n get store() {\n return this.privateState;\n }\n\n static getDerivedStateFromError(error: any) {\n return { hasError: true };\n }\n\n componentDidCatch(error: any, errorInfo: any) {\n console.error('Builder block error:', error, errorInfo);\n }\n\n // TODO: handle adding return if none provided\n // TODO: cache/memoize this (globally with LRU?)\n stringToFunction(str: string, expression = true) {\n return stringToFunction(str, expression, this._errors, this._logs);\n }\n\n get block() {\n return this.props.block;\n }\n\n get emotionCss() {\n let initialAnimationStepStyles: any;\n const { block } = this;\n if (Builder.isServer) {\n const animation = block.animations && block.animations[0];\n if (animation && animation.trigger !== 'hover') {\n const firstStep = animation && animation.steps && animation.steps[0];\n const stepStyles = firstStep && firstStep.styles;\n if (stepStyles) {\n initialAnimationStepStyles = stepStyles;\n }\n }\n }\n\n const reversedNames = sizeNames.slice().reverse();\n const self = this.block;\n const styles: any = {};\n if (self.responsiveStyles) {\n for (const size of reversedNames) {\n if (size === 'large') {\n if (!this.props.emailMode) {\n styles[`&.builder-block`] = Object.assign(\n {},\n self.responsiveStyles[size],\n initialAnimationStepStyles\n );\n }\n } else {\n const sizesPerBreakpoints = getSizesForBreakpoints(\n this.privateState.context.builderContent?.meta?.breakpoints || {}\n );\n styles[`@media only screen and (max-width: ${sizesPerBreakpoints[size].max}px)`] = {\n '&.builder-block': self.responsiveStyles[size],\n };\n }\n }\n }\n\n const hoverAnimation =\n block.animations && block.animations.find(item => item.trigger === 'hover');\n if (hoverAnimation) {\n styles[':hover'] = hoverAnimation.steps?.[1]?.styles || {};\n // TODO: if manually has set transition property deal with that\n // TODO: only include properties explicitly set in the animation\n // using Object.keys(styles)\n styles.transition = `all ${hoverAnimation.duration}s ${camelCaseToKebabCase(\n hoverAnimation.easing\n )}`;\n if (hoverAnimation.delay) {\n styles.transitionDelay = hoverAnimation.delay + 's';\n }\n }\n\n return styles;\n }\n\n eval(str: string) {\n const fn = this.stringToFunction(str);\n // TODO: only one root instance of this, don't rewrap every time...\n return fn(\n this.privateState.state,\n undefined,\n this.block,\n builder,\n Device,\n this.privateState.update,\n Builder,\n this.privateState.context\n );\n }\n\n componentWillUnmount() {\n if (Builder.isEditing) {\n removeEventListener('message', this.onWindowMessage);\n }\n }\n\n onWindowMessage = (event: MessageEvent) => {\n const message = event.data;\n if (!message) {\n return;\n }\n switch (message.type) {\n case 'builder.selectionChange': {\n const { data } = message;\n if (!data) {\n break;\n }\n const { selection } = data;\n const id = this.block && this.block.id;\n if (id && Array.isArray(selection) && selection.indexOf(id) > -1) {\n setTimeout(() => {\n (window as any).$block = this;\n if (!(window as any).$blocks) {\n (window as any).$blocks = [];\n }\n (window as any).$blocks.push(this);\n });\n }\n break;\n }\n\n case 'builder.patchUpdates': {\n const { data } = message;\n if (!(data && data.data)) {\n break;\n }\n const patches = data.data[this.block.id!];\n if (!patches) {\n return;\n }\n\n if (location.href.includes('builder.debug=true')) {\n eval('debugger');\n }\n for (const patch of patches) {\n applyPatchWithMinimalMutationChain(this.props.block, patch, true);\n }\n this.setState({ updates: this.state.updates + 1 });\n\n break;\n }\n }\n };\n\n componentDidMount() {\n const block = this.block;\n const animations = block && block.animations;\n\n if (Builder.isEditing) {\n addEventListener('message', this.onWindowMessage);\n }\n\n // tslint:disable-next-line:comment-format\n ///REACT15ONLY if (this.ref) { this.ref.setAttribute('builder-id', block.id); }\n\n if (animations) {\n const options = {\n animations: fastClone(animations),\n };\n\n // TODO: listen to Builder.editingMode and bind animations when editing\n // and unbind when not\n // TODO: apply bindings first\n if (block.bindings) {\n for (const key in block.bindings) {\n if (!key.trim?.()) {\n continue;\n }\n\n if (key.startsWith('animations.')) {\n // TODO: this needs to run in getElement bc of local state per element for repeats\n const value = this.stringToFunction(block.bindings[key]);\n if (value !== undefined) {\n set(\n options,\n key,\n value(\n this.privateState.state,\n null,\n block,\n builder,\n null,\n null,\n Builder,\n this.privateState.context\n )\n );\n }\n }\n }\n }\n Builder.animator.bindAnimations(\n options.animations\n .filter((item: any) => item.trigger !== 'hover')\n .map((animation: any) => ({\n ...animation,\n elementId: this.block.id,\n }))\n );\n }\n }\n\n // <!-- Builder Blocks --> in comments hmm\n getElement(index = 0, state = this.privateState.state): React.ReactNode {\n const { child, fieldName } = this.props;\n const block = this.block;\n let TagName: string | typeof Link = (block.tagName || 'div').toLowerCase();\n\n if (TagName === 'template') {\n const html = block.children\n ? block.children.map(item => blockToHtmlString(item)).join(' ')\n : '';\n console.debug('template html', html);\n return (\n // React has an undesired behavior (for us) for template tags, so we must\n // turn the contents into a string\n <template\n {...block.properties}\n dangerouslySetInnerHTML={{\n __html: html,\n }}\n />\n );\n }\n\n let InnerComponent: any;\n const componentName =\n block.component && (block.component.name || (block.component as any).component);\n let componentInfo: Component | null = null;\n if (block.component && !(block.component as any).class) {\n if (block.component && block.component.tag) {\n InnerComponent = block.component.tag;\n } else {\n componentInfo = Builder.components.find(item => item.name === componentName) || null;\n if (componentInfo && componentInfo.class) {\n InnerComponent = componentInfo.class;\n } else if (componentInfo && componentInfo.tag) {\n InnerComponent = componentInfo.tag;\n } else {\n if (componentName?.startsWith('Builder:')) {\n console.warn(\n `Missing @builder.io/widgets installation, please install and import @builder.io/widgets to use ${\n componentName.split(':')[1]\n } in your content, more info here: https://github.com/BuilderIO/builder/tree/main/packages/widgets`\n );\n } else if (componentName) {\n console.warn(\n `Missing registration for ${componentName}, have you included the registration in your bundle?`\n );\n }\n }\n }\n }\n\n const TextTag: any = 'span';\n\n let options: any = {\n // Attributes?\n ...block.properties,\n style: {}, // this.styles\n };\n\n options = {\n ...options.properties,\n ...options,\n };\n\n if (block.component) {\n options.component = fastClone(block.component);\n }\n\n // Binding should be properties to href or href?\n // Manual style editor show bindings\n // Show if things bound in overlays hmm\n if (block.bindings) {\n for (const key in block.bindings) {\n if (!key.trim?.()) {\n continue;\n }\n\n const value = this.stringToFunction(block.bindings[key]);\n // TODO: pass block, etc\n set(\n options,\n key,\n value(state, null, block, api(state), Device, null, Builder, this.privateState.context)\n );\n }\n }\n\n if (options.hide) {\n return null;\n } else {\n delete options.hide;\n }\n // TODO: UI for this\n if (('show' in options || (block.bindings && block.bindings.show)) && !options.show) {\n return null;\n } else {\n delete options.show;\n }\n\n if (block.actions) {\n for (const key in block.actions) {\n if (!key.trim?.()) {\n continue;\n }\n\n const value = block.actions[key];\n options['on' + capitalize(key)] = (event: any) => {\n let useState = state;\n if (typeof Proxy !== 'undefined') {\n useState = new Proxy(state, {\n set: (obj, prop, value) => {\n obj[prop] = value;\n this.privateState.rootState[prop] = value;\n return true;\n },\n });\n }\n const fn = this.stringToFunction(value, false);\n // TODO: only one root instance of this, don't rewrap every time...\n return fn(\n useState,\n event,\n this.block,\n builder,\n Device,\n this.privateState.update,\n Builder,\n this.privateState.context\n );\n };\n }\n }\n\n const innerComponentProperties = (options.component || options.options) && {\n ...options.options,\n ...(options.component.options || options.component.data),\n };\n\n const isVoid = voidElements.has(TagName);\n\n const noWrap = componentInfo && (componentInfo.fragment || componentInfo.noWrap);\n\n const styleStr =\n options.attr?.style || (typeof options.style === 'string' ? options.style : '') || '';\n\n if (typeof styleStr === 'string') {\n if (typeof options.style !== 'object') {\n options.style = {};\n }\n\n const styleSplit = styleStr.split(';');\n for (const pair of styleSplit) {\n const stylePieces = pair.split(':');\n if (!stylePieces.length) {\n return;\n }\n\n let [key, value] = stylePieces;\n\n if (!key) {\n continue;\n }\n\n if (stylePieces.length > 2) {\n value = stylePieces.slice(1).join(':');\n }\n\n options.style[kebabCaseToCamelCase(key)] = value;\n }\n }\n\n const finalOptions: { [key: string]: string } = {\n ...omit(options, ['class', 'component', 'attr']),\n [typeof TagName === 'string' && !TagName.includes('-') ? 'className' : 'class']:\n `builder-block ${this.id}${block.class ? ` ${block.class}` : ''}${\n block.component && !(['Image', 'Video', 'Banner'].indexOf(componentName) > -1)\n ? ` builder-has-component`\n : ''\n }` +\n (options.class ? ' ' + options.class : '') +\n (Builder.isEditing && this.privateState.state._spacer?.parent === block.id\n ? ' builder-spacer-parent'\n : ''),\n key: this.id + index,\n 'builder-id': this.id,\n // ...(state && state.$index && typeof state.$index === 'number'\n // ? {\n // TODO: ONLY include on repeat!\n // TODO: what if dymically repeated by another component like tabs... may not work.\n // need function to provide that right\n ...(index !== 0 && {\n 'builder-index': index, // String(state.$index)\n }),\n // }\n // : null)\n };\n\n // tslint:disable-next-line:comment-format\n ///REACT15ONLY finalOptions.className = finalOptions.class\n\n if (Builder.isEditing) {\n // TODO: removed bc JS can add styles inline too?\n (finalOptions as any)['builder-inline-styles'] = !(options.attr && options.attr.style)\n ? ''\n : Object.keys(options.style).reduce(\n (memo, key) => (memo ? `${memo};` : '') + `${cssCase(key)}:${options.style[key]};`,\n ''\n );\n }\n\n if (\n (((finalOptions as any).properties && (finalOptions as any).properties.href) ||\n (finalOptions as any).href) &&\n TagName === 'div'\n ) {\n TagName = 'a';\n }\n\n if (TagName === 'a') {\n TagName = Link;\n }\n // const css = this.css\n\n // const styleTag = css.trim() && (\n // <style className=\"builder-style\">\n // {(InnerComponent && !isBlock ? `.${this.id} > * { height: 100%; width: 100%; }` : '') +\n // this.css}\n // </style>\n // )\n\n const children = block.children || finalOptions.children || [];\n\n // TODO: test it out\n return (\n <React.Fragment>\n {/* <InsertSpacer id={block.id!} position=\"before\" /> */}\n <ClassNames>\n {({ css, cx }) => {\n if (!this.props.emailMode) {\n const addClass = ' ' + css(this.emotionCss);\n if (finalOptions.class) {\n finalOptions.class += addClass;\n }\n if (finalOptions.className) {\n finalOptions.className += addClass;\n }\n }\n\n return (\n <BuilderAsyncRequestsContext.Consumer>\n {value => {\n this._asyncRequests = value && value.requests;\n this._errors = value && value.errors;\n this._logs = value && value.logs;\n return isVoid ? (\n <TagName {...finalOptions} />\n ) : InnerComponent && (noWrap || this.props.emailMode) ? (\n // TODO: pass the class to be easier\n // TODO: acceptsChildren option?\n <InnerComponent\n // Final options maaay be wrong here hm\n {...innerComponentProperties}\n // should really call this builderAttributes bc people can name a\n // componet input \"attributes\"\n attributes={finalOptions}\n builderBlock={block}\n builderState={this.privateState}\n />\n ) : (\n <TagName {...(finalOptions as any)}>\n {InnerComponent && (\n <InnerComponent\n builderState={this.privateState}\n builderBlock={block}\n {...innerComponentProperties}\n />\n )}\n {(block as any).text || options.text\n ? options.text\n : !InnerComponent && children && Array.isArray(children) && children.length\n ? children.map((block: ElementType, index: number) => (\n <BuilderBlock\n key={((this.id as string) || '') + index}\n block={block}\n index={index}\n size={this.props.size}\n fieldName={this.props.fieldName}\n child={this.props.child}\n emailMode={this.props.emailMode}\n />\n ))\n : null}\n </TagName>\n );\n }}\n </BuilderAsyncRequestsContext.Consumer>\n );\n }}\n </ClassNames>\n {/* <InsertSpacer id={block.id!} position=\"after\" /> */}\n </React.Fragment>\n );\n }\n\n get id() {\n const { block } = this;\n if (!block.id!.startsWith('builder')) {\n return 'builder-' + block.id;\n }\n return block.id!;\n }\n\n contents(state: BuilderBlockState) {\n const block = this.block;\n\n // this.setState(state);\n this.privateState = state;\n\n if (block.repeat && block.repeat.collection) {\n const collectionPath = block.repeat.collection;\n const collectionName = last((collectionPath || '').trim().split('(')[0].trim().split('.'));\n const itemName = block.repeat.itemName || (collectionName ? collectionName + 'Item' : 'item');\n const array = this.stringToFunction(collectionPath)(\n state.state,\n null,\n block,\n api(state),\n Device,\n null,\n Builder,\n this.privateState.context\n );\n if (Array.isArray(array)) {\n return array.map((data, index) => {\n // TODO: Builder state produce the data\n const childState = {\n ...state.state,\n $index: index,\n $item: data,\n [itemName]: data,\n [`$${itemName}Index`]: index,\n };\n\n return (\n <BuilderStoreContext.Provider\n key={index}\n value={{ ...state, state: childState } as any}\n >\n {this.getElement(index, childState)}\n </BuilderStoreContext.Provider>\n );\n });\n }\n return null;\n }\n\n return this.getElement();\n }\n\n render() {\n if (this.state.hasError) {\n return (\n <span\n css={{\n display: 'inline-block',\n padding: 5,\n color: '#999',\n fontSize: 11,\n fontStyle: 'italic',\n }}\n >\n Builder block error :( Check console for details\n </span>\n );\n }\n return (\n <BuilderStoreContext.Consumer>{value => this.contents(value)}</BuilderStoreContext.Consumer>\n );\n }\n}\n","/** @license React v0.20.2\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f,g,h,k;if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}\nif(\"undefined\"===typeof window||\"function\"!==typeof MessageChannel){var t=null,u=null,w=function(){if(null!==t)try{var a=exports.unstable_now();t(!0,a);t=null}catch(b){throw setTimeout(w,0),b;}};f=function(a){null!==t?setTimeout(f,0,a):(t=a,setTimeout(w,0))};g=function(a,b){u=setTimeout(a,b)};h=function(){clearTimeout(u)};exports.unstable_shouldYield=function(){return!1};k=exports.unstable_forceFrameRate=function(){}}else{var x=window.setTimeout,y=window.clearTimeout;if(\"undefined\"!==typeof console){var z=\nwindow.cancelAnimationFrame;\"function\"!==typeof window.requestAnimationFrame&&console.error(\"This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills\");\"function\"!==typeof z&&console.error(\"This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills\")}var A=!1,B=null,C=-1,D=5,E=0;exports.unstable_shouldYield=function(){return exports.unstable_now()>=\nE};k=function(){};exports.unstable_forceFrameRate=function(a){0>a||125<a?console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\"):D=0<a?Math.floor(1E3/a):5};var F=new MessageChannel,G=F.port2;F.port1.onmessage=function(){if(null!==B){var a=exports.unstable_now();E=a+D;try{B(!0,a)?G.postMessage(null):(A=!1,B=null)}catch(b){throw G.postMessage(null),b;}}else A=!1};f=function(a){B=a;A||(A=!0,G.postMessage(null))};g=function(a,b){C=\nx(function(){a(exports.unstable_now())},b)};h=function(){y(C);C=-1}}function H(a,b){var c=a.length;a.push(b);a:for(;;){var d=c-1>>>1,e=a[d];if(void 0!==e&&0<I(e,b))a[d]=b,a[c]=e,c=d;else break a}}function J(a){a=a[0];return void 0===a?null:a}\nfunction K(a){var b=a[0];if(void 0!==b){var c=a.pop();if(c!==b){a[0]=c;a:for(var d=0,e=a.length;d<e;){var m=2*(d+1)-1,n=a[m],v=m+1,r=a[v];if(void 0!==n&&0>I(n,c))void 0!==r&&0>I(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>I(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function I(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var L=[],M=[],N=1,O=null,P=3,Q=!1,R=!1,S=!1;\nfunction T(a){for(var b=J(M);null!==b;){if(null===b.callback)K(M);else if(b.startTime<=a)K(M),b.sortIndex=b.expirationTime,H(L,b);else break;b=J(M)}}function U(a){S=!1;T(a);if(!R)if(null!==J(L))R=!0,f(V);else{var b=J(M);null!==b&&g(U,b.startTime-a)}}\nfunction V(a,b){R=!1;S&&(S=!1,h());Q=!0;var c=P;try{T(b);for(O=J(L);null!==O&&(!(O.expirationTime>b)||a&&!exports.unstable_shouldYield());){var d=O.callback;if(\"function\"===typeof d){O.callback=null;P=O.priorityLevel;var e=d(O.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?O.callback=e:O===J(L)&&K(L);T(b)}else K(L);O=J(L)}if(null!==O)var m=!0;else{var n=J(M);null!==n&&g(U,n.startTime-b);m=!1}return m}finally{O=null,P=c,Q=!1}}var W=k;exports.unstable_IdlePriority=5;\nexports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){R||Q||(R=!0,f(V))};exports.unstable_getCurrentPriorityLevel=function(){return P};exports.unstable_getFirstCallbackNode=function(){return J(L)};\nexports.unstable_next=function(a){switch(P){case 1:case 2:case 3:var b=3;break;default:b=P}var c=P;P=b;try{return a()}finally{P=c}};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=W;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=P;P=a;try{return b()}finally{P=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();\"object\"===typeof c&&null!==c?(c=c.delay,c=\"number\"===typeof c&&0<c?d+c:d):c=d;switch(a){case 1:var e=-1;break;case 2:e=250;break;case 5:e=1073741823;break;case 4:e=1E4;break;default:e=5E3}e=c+e;a={id:N++,callback:b,priorityLevel:a,startTime:c,expirationTime:e,sortIndex:-1};c>d?(a.sortIndex=c,H(M,a),null===J(L)&&a===J(M)&&(S?h():S=!0,g(U,c-d))):(a.sortIndex=e,H(L,a),R||Q||(R=!0,f(V)));return a};\nexports.unstable_wrapCallback=function(a){var b=P;return function(){var c=P;P=b;try{return a.apply(this,arguments)}finally{P=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","/** @license React v17.0.1\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),m=require(\"object-assign\"),r=require(\"scheduler\");function y(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return\"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}if(!aa)throw Error(y(227));var ba=new Set,ca={};function da(a,b){ea(a,b);ea(a+\"Capture\",b)}\nfunction ea(a,b){ca[a]=b;for(a=0;a<b.length;a++)ba.add(b[a])}\nvar fa=!(\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement),ha=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,ia=Object.prototype.hasOwnProperty,\nja={},ka={};function la(a){if(ia.call(ka,a))return!0;if(ia.call(ja,a))return!1;if(ha.test(a))return ka[a]=!0;ja[a]=!0;return!1}function ma(a,b,c,d){if(null!==c&&0===c.type)return!1;switch(typeof b){case \"function\":case \"symbol\":return!0;case \"boolean\":if(d)return!1;if(null!==c)return!c.acceptsBooleans;a=a.toLowerCase().slice(0,5);return\"data-\"!==a&&\"aria-\"!==a;default:return!1}}\nfunction na(a,b,c,d){if(null===b||\"undefined\"===typeof b||ma(a,b,c,d))return!0;if(d)return!1;if(null!==c)switch(c.type){case 3:return!b;case 4:return!1===b;case 5:return isNaN(b);case 6:return isNaN(b)||1>b}return!1}function B(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var D={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){D[a]=new B(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];D[b]=new B(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){D[a]=new B(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){D[a]=new B(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){D[a]=new B(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){D[a]=new B(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){D[a]=new B(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){D[a]=new B(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){D[a]=new B(a,5,!1,a.toLowerCase(),null,!1,!1)});var oa=/[\\-:]([a-z])/g;function pa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(oa,\npa);D[b]=new B(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(oa,pa);D[b]=new B(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(oa,pa);D[b]=new B(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!1,!1)});\nD.xlinkHref=new B(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction qa(a,b,c,d){var e=D.hasOwnProperty(b)?D[b]:null;var f=null!==e?0===e.type:d?!1:!(2<b.length)||\"o\"!==b[0]&&\"O\"!==b[0]||\"n\"!==b[1]&&\"N\"!==b[1]?!1:!0;f||(na(b,c,e,d)&&(c=null),d||null===e?la(b)&&(null===c?a.removeAttribute(b):a.setAttribute(b,\"\"+c)):e.mustUseProperty?a[e.propertyName]=null===c?3===e.type?!1:\"\":c:(b=e.attributeName,d=e.attributeNamespace,null===c?a.removeAttribute(b):(e=e.type,c=3===e||4===e&&!0===c?\"\":\"\"+c,d?a.setAttributeNS(d,b,c):a.setAttribute(b,c))))}\nvar ra=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,sa=60103,ta=60106,ua=60107,wa=60108,xa=60114,ya=60109,za=60110,Aa=60112,Ba=60113,Ca=60120,Da=60115,Ea=60116,Fa=60121,Ga=60128,Ha=60129,Ia=60130,Ja=60131;\nif(\"function\"===typeof Symbol&&Symbol.for){var E=Symbol.for;sa=E(\"react.element\");ta=E(\"react.portal\");ua=E(\"react.fragment\");wa=E(\"react.strict_mode\");xa=E(\"react.profiler\");ya=E(\"react.provider\");za=E(\"react.context\");Aa=E(\"react.forward_ref\");Ba=E(\"react.suspense\");Ca=E(\"react.suspense_list\");Da=E(\"react.memo\");Ea=E(\"react.lazy\");Fa=E(\"react.block\");E(\"react.scope\");Ga=E(\"react.opaque.id\");Ha=E(\"react.debug_trace_mode\");Ia=E(\"react.offscreen\");Ja=E(\"react.legacy_hidden\")}\nvar Ka=\"function\"===typeof Symbol&&Symbol.iterator;function La(a){if(null===a||\"object\"!==typeof a)return null;a=Ka&&a[Ka]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}var Ma;function Na(a){if(void 0===Ma)try{throw Error();}catch(c){var b=c.stack.trim().match(/\\n( *(at )?)/);Ma=b&&b[1]||\"\"}return\"\\n\"+Ma+a}var Oa=!1;\nfunction Pa(a,b){if(!a||Oa)return\"\";Oa=!0;var c=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(b)if(b=function(){throw Error();},Object.defineProperty(b.prototype,\"props\",{set:function(){throw Error();}}),\"object\"===typeof Reflect&&Reflect.construct){try{Reflect.construct(b,[])}catch(k){var d=k}Reflect.construct(a,[],b)}else{try{b.call()}catch(k){d=k}a.call(b.prototype)}else{try{throw Error();}catch(k){d=k}a()}}catch(k){if(k&&d&&\"string\"===typeof k.stack){for(var e=k.stack.split(\"\\n\"),\nf=d.stack.split(\"\\n\"),g=e.length-1,h=f.length-1;1<=g&&0<=h&&e[g]!==f[h];)h--;for(;1<=g&&0<=h;g--,h--)if(e[g]!==f[h]){if(1!==g||1!==h){do if(g--,h--,0>h||e[g]!==f[h])return\"\\n\"+e[g].replace(\" at new \",\" at \");while(1<=g&&0<=h)}break}}}finally{Oa=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Na(a):\"\"}\nfunction Qa(a){switch(a.tag){case 5:return Na(a.type);case 16:return Na(\"Lazy\");case 13:return Na(\"Suspense\");case 19:return Na(\"SuspenseList\");case 0:case 2:case 15:return a=Pa(a.type,!1),a;case 11:return a=Pa(a.type.render,!1),a;case 22:return a=Pa(a.type._render,!1),a;case 1:return a=Pa(a.type,!0),a;default:return\"\"}}\nfunction Ra(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ua:return\"Fragment\";case ta:return\"Portal\";case xa:return\"Profiler\";case wa:return\"StrictMode\";case Ba:return\"Suspense\";case Ca:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case za:return(a.displayName||\"Context\")+\".Consumer\";case ya:return(a._context.displayName||\"Context\")+\".Provider\";case Aa:var b=a.render;b=b.displayName||b.name||\"\";\nreturn a.displayName||(\"\"!==b?\"ForwardRef(\"+b+\")\":\"ForwardRef\");case Da:return Ra(a.type);case Fa:return Ra(a._render);case Ea:b=a._payload;a=a._init;try{return Ra(a(b))}catch(c){}}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"object\":case \"string\":case \"undefined\":return a;default:return\"\"}}function Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return m({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function $a(a,b){b=b.checked;null!=b&&qa(a,\"checked\",b,!1)}\nfunction ab(a,b){$a(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?bb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&bb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction cb(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction bb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}function db(a){var b=\"\";aa.Children.forEach(a,function(a){null!=a&&(b+=a)});return b}function eb(a,b){a=m({children:void 0},b);if(b=db(b.children))a.children=b;return a}\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e<c.length;e++)b[\"$\"+c[e]]=!0;for(c=0;c<a.length;c++)e=b.hasOwnProperty(\"$\"+a[c].value),a[c].selected!==e&&(a[c].selected=e),e&&d&&(a[c].defaultSelected=!0)}else{c=\"\"+Sa(c);b=null;for(e=0;e<a.length;e++){if(a[e].value===c){a[e].selected=!0;d&&(a[e].defaultSelected=!0);return}null!==b||a[e].disabled||(b=a[e])}null!==b&&(b.selected=!0)}}\nfunction gb(a,b){if(null!=b.dangerouslySetInnerHTML)throw Error(y(91));return m({},b,{value:void 0,defaultValue:void 0,children:\"\"+a._wrapperState.initialValue})}function hb(a,b){var c=b.value;if(null==c){c=b.children;b=b.defaultValue;if(null!=c){if(null!=b)throw Error(y(92));if(Array.isArray(c)){if(!(1>=c.length))throw Error(y(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:Sa(c)}}\nfunction ib(a,b){var c=Sa(b.value),d=Sa(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function jb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}var kb={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction lb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function mb(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?lb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar nb,ob=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==kb.svg||\"innerHTML\"in a)a.innerHTML=b;else{nb=nb||document.createElement(\"div\");nb.innerHTML=\"<svg>\"+b.valueOf().toString()+\"</svg>\";for(b=nb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction pb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar qb={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,\nfloodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},rb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(qb).forEach(function(a){rb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);qb[b]=qb[a]})});function sb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||qb.hasOwnProperty(a)&&qb[a]?(\"\"+b).trim():b+\"px\"}\nfunction tb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=sb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var ub=m({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction vb(a,b){if(b){if(ub[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(y(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(y(60));if(!(\"object\"===typeof b.dangerouslySetInnerHTML&&\"__html\"in b.dangerouslySetInnerHTML))throw Error(y(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(y(62));}}\nfunction wb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(y(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a<b.length;a++)Bb(b[a])}}function Gb(a,b){return a(b)}function Hb(a,b,c,d,e){return a(b,c,d,e)}function Ib(){}var Jb=Gb,Kb=!1,Lb=!1;function Mb(){if(null!==zb||null!==Ab)Ib(),Fb()}\nfunction Nb(a,b,c){if(Lb)return a(b,c);Lb=!0;try{return Jb(a,b,c)}finally{Lb=!1,Mb()}}\nfunction Ob(a,b){var c=a.stateNode;if(null===c)return null;var d=Db(c);if(null===d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":case \"onMouseEnter\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&\"function\"!==\ntypeof c)throw Error(y(231,b,typeof c));return c}var Pb=!1;if(fa)try{var Qb={};Object.defineProperty(Qb,\"passive\",{get:function(){Pb=!0}});window.addEventListener(\"test\",Qb,Qb);window.removeEventListener(\"test\",Qb,Qb)}catch(a){Pb=!1}function Rb(a,b,c,d,e,f,g,h,k){var l=Array.prototype.slice.call(arguments,3);try{b.apply(c,l)}catch(n){this.onError(n)}}var Sb=!1,Tb=null,Ub=!1,Vb=null,Wb={onError:function(a){Sb=!0;Tb=a}};function Xb(a,b,c,d,e,f,g,h,k){Sb=!1;Tb=null;Rb.apply(Wb,arguments)}\nfunction Yb(a,b,c,d,e,f,g,h,k){Xb.apply(this,arguments);if(Sb){if(Sb){var l=Tb;Sb=!1;Tb=null}else throw Error(y(198));Ub||(Ub=!0,Vb=l)}}function Zb(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.flags&1026)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function $b(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function ac(a){if(Zb(a)!==a)throw Error(y(188));}\nfunction bc(a){var b=a.alternate;if(!b){b=Zb(a);if(null===b)throw Error(y(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return ac(e),a;if(f===d)return ac(e),b;f=f.sibling}throw Error(y(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===\nc){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(y(189));}}if(c.alternate!==d)throw Error(y(190));}if(3!==c.tag)throw Error(y(188));return c.stateNode.current===c?a:b}function cc(a){a=bc(a);if(!a)return null;for(var b=a;;){if(5===b.tag||6===b.tag)return b;if(b.child)b.child.return=b,b=b.child;else{if(b===a)break;for(;!b.sibling;){if(!b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}}return null}\nfunction dc(a,b){for(var c=a.alternate;null!==b;){if(b===a||b===c)return!0;b=b.return}return!1}var ec,fc,gc,hc,ic=!1,jc=[],kc=null,lc=null,mc=null,nc=new Map,oc=new Map,pc=[],qc=\"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit\".split(\" \");\nfunction rc(a,b,c,d,e){return{blockedOn:a,domEventName:b,eventSystemFlags:c|16,nativeEvent:e,targetContainers:[d]}}function sc(a,b){switch(a){case \"focusin\":case \"focusout\":kc=null;break;case \"dragenter\":case \"dragleave\":lc=null;break;case \"mouseover\":case \"mouseout\":mc=null;break;case \"pointerover\":case \"pointerout\":nc.delete(b.pointerId);break;case \"gotpointercapture\":case \"lostpointercapture\":oc.delete(b.pointerId)}}\nfunction tc(a,b,c,d,e,f){if(null===a||a.nativeEvent!==f)return a=rc(b,c,d,e,f),null!==b&&(b=Cb(b),null!==b&&fc(b)),a;a.eventSystemFlags|=d;b=a.targetContainers;null!==e&&-1===b.indexOf(e)&&b.push(e);return a}\nfunction uc(a,b,c,d,e){switch(b){case \"focusin\":return kc=tc(kc,a,b,c,d,e),!0;case \"dragenter\":return lc=tc(lc,a,b,c,d,e),!0;case \"mouseover\":return mc=tc(mc,a,b,c,d,e),!0;case \"pointerover\":var f=e.pointerId;nc.set(f,tc(nc.get(f)||null,a,b,c,d,e));return!0;case \"gotpointercapture\":return f=e.pointerId,oc.set(f,tc(oc.get(f)||null,a,b,c,d,e)),!0}return!1}\nfunction vc(a){var b=wc(a.target);if(null!==b){var c=Zb(b);if(null!==c)if(b=c.tag,13===b){if(b=$b(c),null!==b){a.blockedOn=b;hc(a.lanePriority,function(){r.unstable_runWithPriority(a.priority,function(){gc(c)})});return}}else if(3===b&&c.stateNode.hydrate){a.blockedOn=3===c.tag?c.stateNode.containerInfo:null;return}}a.blockedOn=null}\nfunction xc(a){if(null!==a.blockedOn)return!1;for(var b=a.targetContainers;0<b.length;){var c=yc(a.domEventName,a.eventSystemFlags,b[0],a.nativeEvent);if(null!==c)return b=Cb(c),null!==b&&fc(b),a.blockedOn=c,!1;b.shift()}return!0}function zc(a,b,c){xc(a)&&c.delete(b)}\nfunction Ac(){for(ic=!1;0<jc.length;){var a=jc[0];if(null!==a.blockedOn){a=Cb(a.blockedOn);null!==a&&ec(a);break}for(var b=a.targetContainers;0<b.length;){var c=yc(a.domEventName,a.eventSystemFlags,b[0],a.nativeEvent);if(null!==c){a.blockedOn=c;break}b.shift()}null===a.blockedOn&&jc.shift()}null!==kc&&xc(kc)&&(kc=null);null!==lc&&xc(lc)&&(lc=null);null!==mc&&xc(mc)&&(mc=null);nc.forEach(zc);oc.forEach(zc)}\nfunction Bc(a,b){a.blockedOn===b&&(a.blockedOn=null,ic||(ic=!0,r.unstable_scheduleCallback(r.unstable_NormalPriority,Ac)))}\nfunction Cc(a){function b(b){return Bc(b,a)}if(0<jc.length){Bc(jc[0],a);for(var c=1;c<jc.length;c++){var d=jc[c];d.blockedOn===a&&(d.blockedOn=null)}}null!==kc&&Bc(kc,a);null!==lc&&Bc(lc,a);null!==mc&&Bc(mc,a);nc.forEach(b);oc.forEach(b);for(c=0;c<pc.length;c++)d=pc[c],d.blockedOn===a&&(d.blockedOn=null);for(;0<pc.length&&(c=pc[0],null===c.blockedOn);)vc(c),null===c.blockedOn&&pc.shift()}\nfunction Dc(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var Ec={animationend:Dc(\"Animation\",\"AnimationEnd\"),animationiteration:Dc(\"Animation\",\"AnimationIteration\"),animationstart:Dc(\"Animation\",\"AnimationStart\"),transitionend:Dc(\"Transition\",\"TransitionEnd\")},Fc={},Gc={};\nfa&&(Gc=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete Ec.animationend.animation,delete Ec.animationiteration.animation,delete Ec.animationstart.animation),\"TransitionEvent\"in window||delete Ec.transitionend.transition);function Hc(a){if(Fc[a])return Fc[a];if(!Ec[a])return a;var b=Ec[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Gc)return Fc[a]=b[c];return a}\nvar Ic=Hc(\"animationend\"),Jc=Hc(\"animationiteration\"),Kc=Hc(\"animationstart\"),Lc=Hc(\"transitionend\"),Mc=new Map,Nc=new Map,Oc=[\"abort\",\"abort\",Ic,\"animationEnd\",Jc,\"animationIteration\",Kc,\"animationStart\",\"canplay\",\"canPlay\",\"canplaythrough\",\"canPlayThrough\",\"durationchange\",\"durationChange\",\"emptied\",\"emptied\",\"encrypted\",\"encrypted\",\"ended\",\"ended\",\"error\",\"error\",\"gotpointercapture\",\"gotPointerCapture\",\"load\",\"load\",\"loadeddata\",\"loadedData\",\"loadedmetadata\",\"loadedMetadata\",\"loadstart\",\"loadStart\",\n\"lostpointercapture\",\"lostPointerCapture\",\"playing\",\"playing\",\"progress\",\"progress\",\"seeking\",\"seeking\",\"stalled\",\"stalled\",\"suspend\",\"suspend\",\"timeupdate\",\"timeUpdate\",Lc,\"transitionEnd\",\"waiting\",\"waiting\"];function Pc(a,b){for(var c=0;c<a.length;c+=2){var d=a[c],e=a[c+1];e=\"on\"+(e[0].toUpperCase()+e.slice(1));Nc.set(d,b);Mc.set(d,e);da(e,[d])}}var Qc=r.unstable_now;Qc();var F=8;\nfunction Rc(a){if(0!==(1&a))return F=15,1;if(0!==(2&a))return F=14,2;if(0!==(4&a))return F=13,4;var b=24&a;if(0!==b)return F=12,b;if(0!==(a&32))return F=11,32;b=192&a;if(0!==b)return F=10,b;if(0!==(a&256))return F=9,256;b=3584&a;if(0!==b)return F=8,b;if(0!==(a&4096))return F=7,4096;b=4186112&a;if(0!==b)return F=6,b;b=62914560&a;if(0!==b)return F=5,b;if(a&67108864)return F=4,67108864;if(0!==(a&134217728))return F=3,134217728;b=805306368&a;if(0!==b)return F=2,b;if(0!==(1073741824&a))return F=1,1073741824;\nF=8;return a}function Sc(a){switch(a){case 99:return 15;case 98:return 10;case 97:case 96:return 8;case 95:return 2;default:return 0}}function Tc(a){switch(a){case 15:case 14:return 99;case 13:case 12:case 11:case 10:return 98;case 9:case 8:case 7:case 6:case 4:case 5:return 97;case 3:case 2:case 1:return 95;case 0:return 90;default:throw Error(y(358,a));}}\nfunction Uc(a,b){var c=a.pendingLanes;if(0===c)return F=0;var d=0,e=0,f=a.expiredLanes,g=a.suspendedLanes,h=a.pingedLanes;if(0!==f)d=f,e=F=15;else if(f=c&134217727,0!==f){var k=f&~g;0!==k?(d=Rc(k),e=F):(h&=f,0!==h&&(d=Rc(h),e=F))}else f=c&~g,0!==f?(d=Rc(f),e=F):0!==h&&(d=Rc(h),e=F);if(0===d)return 0;d=31-Vc(d);d=c&((0>d?0:1<<d)<<1)-1;if(0!==b&&b!==d&&0===(b&g)){Rc(b);if(e<=F)return b;F=e}b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0<b;)c=31-Vc(b),e=1<<c,d|=a[c],b&=~e;return d}\nfunction Wc(a){a=a.pendingLanes&-1073741825;return 0!==a?a:a&1073741824?1073741824:0}function Xc(a,b){switch(a){case 15:return 1;case 14:return 2;case 12:return a=Yc(24&~b),0===a?Xc(10,b):a;case 10:return a=Yc(192&~b),0===a?Xc(8,b):a;case 8:return a=Yc(3584&~b),0===a&&(a=Yc(4186112&~b),0===a&&(a=512)),a;case 2:return b=Yc(805306368&~b),0===b&&(b=268435456),b}throw Error(y(358,a));}function Yc(a){return a&-a}function Zc(a){for(var b=[],c=0;31>c;c++)b.push(a);return b}\nfunction $c(a,b,c){a.pendingLanes|=b;var d=b-1;a.suspendedLanes&=d;a.pingedLanes&=d;a=a.eventTimes;b=31-Vc(b);a[b]=c}var Vc=Math.clz32?Math.clz32:ad,bd=Math.log,cd=Math.LN2;function ad(a){return 0===a?32:31-(bd(a)/cd|0)|0}var dd=r.unstable_UserBlockingPriority,ed=r.unstable_runWithPriority,fd=!0;function gd(a,b,c,d){Kb||Ib();var e=hd,f=Kb;Kb=!0;try{Hb(e,a,b,c,d)}finally{(Kb=f)||Mb()}}function id(a,b,c,d){ed(dd,hd.bind(null,a,b,c,d))}\nfunction hd(a,b,c,d){if(fd){var e;if((e=0===(b&4))&&0<jc.length&&-1<qc.indexOf(a))a=rc(null,a,b,c,d),jc.push(a);else{var f=yc(a,b,c,d);if(null===f)e&&sc(a,d);else{if(e){if(-1<qc.indexOf(a)){a=rc(f,a,b,c,d);jc.push(a);return}if(uc(f,a,b,c,d))return;sc(a,d)}jd(a,b,d,null,c)}}}}\nfunction yc(a,b,c,d){var e=xb(d);e=wc(e);if(null!==e){var f=Zb(e);if(null===f)e=null;else{var g=f.tag;if(13===g){e=$b(f);if(null!==e)return e;e=null}else if(3===g){if(f.stateNode.hydrate)return 3===f.tag?f.stateNode.containerInfo:null;e=null}else f!==e&&(e=null)}}jd(a,b,d,e,c);return null}var kd=null,ld=null,md=null;\nfunction nd(){if(md)return md;var a,b=ld,c=b.length,d,e=\"value\"in kd?kd.value:kd.textContent,f=e.length;for(a=0;a<c&&b[a]===e[a];a++);var g=c-a;for(d=1;d<=g&&b[c-d]===e[f-d];d++);return md=e.slice(a,1<d?1-d:void 0)}function od(a){var b=a.keyCode;\"charCode\"in a?(a=a.charCode,0===a&&13===b&&(a=13)):a=b;10===a&&(a=13);return 32<=a||13===a?a:0}function pd(){return!0}function qd(){return!1}\nfunction rd(a){function b(b,d,e,f,g){this._reactName=b;this._targetInst=e;this.type=d;this.nativeEvent=f;this.target=g;this.currentTarget=null;for(var c in a)a.hasOwnProperty(c)&&(b=a[c],this[c]=b?b(f):f[c]);this.isDefaultPrevented=(null!=f.defaultPrevented?f.defaultPrevented:!1===f.returnValue)?pd:qd;this.isPropagationStopped=qd;return this}m(b.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():\"unknown\"!==typeof a.returnValue&&\n(a.returnValue=!1),this.isDefaultPrevented=pd)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():\"unknown\"!==typeof a.cancelBubble&&(a.cancelBubble=!0),this.isPropagationStopped=pd)},persist:function(){},isPersistent:pd});return b}\nvar sd={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(a){return a.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},td=rd(sd),ud=m({},sd,{view:0,detail:0}),vd=rd(ud),wd,xd,yd,Ad=m({},ud,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:zd,button:0,buttons:0,relatedTarget:function(a){return void 0===a.relatedTarget?a.fromElement===a.srcElement?a.toElement:a.fromElement:a.relatedTarget},movementX:function(a){if(\"movementX\"in\na)return a.movementX;a!==yd&&(yd&&\"mousemove\"===a.type?(wd=a.screenX-yd.screenX,xd=a.screenY-yd.screenY):xd=wd=0,yd=a);return wd},movementY:function(a){return\"movementY\"in a?a.movementY:xd}}),Bd=rd(Ad),Cd=m({},Ad,{dataTransfer:0}),Dd=rd(Cd),Ed=m({},ud,{relatedTarget:0}),Fd=rd(Ed),Gd=m({},sd,{animationName:0,elapsedTime:0,pseudoElement:0}),Hd=rd(Gd),Id=m({},sd,{clipboardData:function(a){return\"clipboardData\"in a?a.clipboardData:window.clipboardData}}),Jd=rd(Id),Kd=m({},sd,{data:0}),Ld=rd(Kd),Md={Esc:\"Escape\",\nSpacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},Nd={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",116:\"F5\",117:\"F6\",118:\"F7\",\n119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},Od={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function Pd(a){var b=this.nativeEvent;return b.getModifierState?b.getModifierState(a):(a=Od[a])?!!b[a]:!1}function zd(){return Pd}\nvar Qd=m({},ud,{key:function(a){if(a.key){var b=Md[a.key]||a.key;if(\"Unidentified\"!==b)return b}return\"keypress\"===a.type?(a=od(a),13===a?\"Enter\":String.fromCharCode(a)):\"keydown\"===a.type||\"keyup\"===a.type?Nd[a.keyCode]||\"Unidentified\":\"\"},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:zd,charCode:function(a){return\"keypress\"===a.type?od(a):0},keyCode:function(a){return\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0},which:function(a){return\"keypress\"===\na.type?od(a):\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0}}),Rd=rd(Qd),Sd=m({},Ad,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Td=rd(Sd),Ud=m({},ud,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:zd}),Vd=rd(Ud),Wd=m({},sd,{propertyName:0,elapsedTime:0,pseudoElement:0}),Xd=rd(Wd),Yd=m({},Ad,{deltaX:function(a){return\"deltaX\"in a?a.deltaX:\"wheelDeltaX\"in a?-a.wheelDeltaX:0},\ndeltaY:function(a){return\"deltaY\"in a?a.deltaY:\"wheelDeltaY\"in a?-a.wheelDeltaY:\"wheelDelta\"in a?-a.wheelDelta:0},deltaZ:0,deltaMode:0}),Zd=rd(Yd),$d=[9,13,27,32],ae=fa&&\"CompositionEvent\"in window,be=null;fa&&\"documentMode\"in document&&(be=document.documentMode);var ce=fa&&\"TextEvent\"in window&&!be,de=fa&&(!ae||be&&8<be&&11>=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1<b.char.length)return b.char;if(b.which)return String.fromCharCode(b.which)}return null;case \"compositionend\":return de&&\"ko\"!==b.locale?null:b.data;default:return null}}\nvar le={color:!0,date:!0,datetime:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function me(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return\"input\"===b?!!le[a.type]:\"textarea\"===b?!0:!1}function ne(a,b,c,d){Eb(d);b=oe(b,\"onChange\");0<b.length&&(c=new td(\"onChange\",\"change\",null,c,d),a.push({event:c,listeners:b}))}var pe=null,qe=null;function re(a){se(a,0)}function te(a){var b=ue(a);if(Wa(b))return a}\nfunction ve(a,b){if(\"change\"===a)return b}var we=!1;if(fa){var xe;if(fa){var ye=\"oninput\"in document;if(!ye){var ze=document.createElement(\"div\");ze.setAttribute(\"oninput\",\"return;\");ye=\"function\"===typeof ze.oninput}xe=ye}else xe=!1;we=xe&&(!document.documentMode||9<document.documentMode)}function Ae(){pe&&(pe.detachEvent(\"onpropertychange\",Be),qe=pe=null)}function Be(a){if(\"value\"===a.propertyName&&te(qe)){var b=[];ne(b,qe,a,xb(a));a=re;if(Kb)a(b);else{Kb=!0;try{Gb(a,b)}finally{Kb=!1,Mb()}}}}\nfunction Ce(a,b,c){\"focusin\"===a?(Ae(),pe=b,qe=c,pe.attachEvent(\"onpropertychange\",Be)):\"focusout\"===a&&Ae()}function De(a){if(\"selectionchange\"===a||\"keyup\"===a||\"keydown\"===a)return te(qe)}function Ee(a,b){if(\"click\"===a)return te(b)}function Fe(a,b){if(\"input\"===a||\"change\"===a)return te(b)}function Ge(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var He=\"function\"===typeof Object.is?Object.is:Ge,Ie=Object.prototype.hasOwnProperty;\nfunction Je(a,b){if(He(a,b))return!0;if(\"object\"!==typeof a||null===a||\"object\"!==typeof b||null===b)return!1;var c=Object.keys(a),d=Object.keys(b);if(c.length!==d.length)return!1;for(d=0;d<c.length;d++)if(!Ie.call(b,c[d])||!He(a[c[d]],b[c[d]]))return!1;return!0}function Ke(a){for(;a&&a.firstChild;)a=a.firstChild;return a}\nfunction Le(a,b){var c=Ke(a);a=0;for(var d;c;){if(3===c.nodeType){d=a+c.textContent.length;if(a<=b&&d>=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Ke(c)}}function Me(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Me(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Ne(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Oe(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nvar Pe=fa&&\"documentMode\"in document&&11>=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Oe(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Je(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0<d.length&&(b=new td(\"onSelect\",\"select\",null,b,c),a.push({event:b,listeners:d}),b.target=Qe)))}\nPc(\"cancel cancel click click close close contextmenu contextMenu copy copy cut cut auxclick auxClick dblclick doubleClick dragend dragEnd dragstart dragStart drop drop focusin focus focusout blur input input invalid invalid keydown keyDown keypress keyPress keyup keyUp mousedown mouseDown mouseup mouseUp paste paste pause pause play play pointercancel pointerCancel pointerdown pointerDown pointerup pointerUp ratechange rateChange reset reset seeked seeked submit submit touchcancel touchCancel touchend touchEnd touchstart touchStart volumechange volumeChange\".split(\" \"),\n0);Pc(\"drag drag dragenter dragEnter dragexit dragExit dragleave dragLeave dragover dragOver mousemove mouseMove mouseout mouseOut mouseover mouseOver pointermove pointerMove pointerout pointerOut pointerover pointerOver scroll scroll toggle toggle touchmove touchMove wheel wheel\".split(\" \"),1);Pc(Oc,2);for(var Ve=\"change selectionchange textInput compositionstart compositionend compositionupdate\".split(\" \"),We=0;We<Ve.length;We++)Nc.set(Ve[We],0);ea(\"onMouseEnter\",[\"mouseout\",\"mouseover\"]);\nea(\"onMouseLeave\",[\"mouseout\",\"mouseover\"]);ea(\"onPointerEnter\",[\"pointerout\",\"pointerover\"]);ea(\"onPointerLeave\",[\"pointerout\",\"pointerover\"]);da(\"onChange\",\"change click focusin focusout input keydown keyup selectionchange\".split(\" \"));da(\"onSelect\",\"focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange\".split(\" \"));da(\"onBeforeInput\",[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]);da(\"onCompositionEnd\",\"compositionend focusout keydown keypress keyup mousedown\".split(\" \"));\nda(\"onCompositionStart\",\"compositionstart focusout keydown keypress keyup mousedown\".split(\" \"));da(\"onCompositionUpdate\",\"compositionupdate focusout keydown keypress keyup mousedown\".split(\" \"));var Xe=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),Ye=new Set(\"cancel close invalid load scroll toggle\".split(\" \").concat(Xe));\nfunction Ze(a,b,c){var d=a.type||\"unknown-event\";a.currentTarget=c;Yb(d,b,void 0,a);a.currentTarget=null}\nfunction se(a,b){b=0!==(b&4);for(var c=0;c<a.length;c++){var d=a[c],e=d.event;d=d.listeners;a:{var f=void 0;if(b)for(var g=d.length-1;0<=g;g--){var h=d[g],k=h.instance,l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;Ze(e,h,l);f=k}else for(g=0;g<d.length;g++){h=d[g];k=h.instance;l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;Ze(e,h,l);f=k}}}if(Ub)throw a=Vb,Ub=!1,Vb=null,a;}\nfunction G(a,b){var c=$e(b),d=a+\"__bubble\";c.has(d)||(af(b,a,2,!1),c.add(d))}var bf=\"_reactListening\"+Math.random().toString(36).slice(2);function cf(a){a[bf]||(a[bf]=!0,ba.forEach(function(b){Ye.has(b)||df(b,!1,a,null);df(b,!0,a,null)}))}\nfunction df(a,b,c,d){var e=4<arguments.length&&void 0!==arguments[4]?arguments[4]:0,f=c;\"selectionchange\"===a&&9!==c.nodeType&&(f=c.ownerDocument);if(null!==d&&!b&&Ye.has(a)){if(\"scroll\"!==a)return;e|=2;f=d}var g=$e(f),h=a+\"__\"+(b?\"capture\":\"bubble\");g.has(h)||(b&&(e|=4),af(f,a,e,b),g.add(h))}\nfunction af(a,b,c,d){var e=Nc.get(b);switch(void 0===e?2:e){case 0:e=gd;break;case 1:e=id;break;default:e=hd}c=e.bind(null,b,c,a);e=void 0;!Pb||\"touchstart\"!==b&&\"touchmove\"!==b&&\"wheel\"!==b||(e=!0);d?void 0!==e?a.addEventListener(b,c,{capture:!0,passive:e}):a.addEventListener(b,c,!0):void 0!==e?a.addEventListener(b,c,{passive:e}):a.addEventListener(b,c,!1)}\nfunction jd(a,b,c,d,e){var f=d;if(0===(b&1)&&0===(b&2)&&null!==d)a:for(;;){if(null===d)return;var g=d.tag;if(3===g||4===g){var h=d.stateNode.containerInfo;if(h===e||8===h.nodeType&&h.parentNode===e)break;if(4===g)for(g=d.return;null!==g;){var k=g.tag;if(3===k||4===k)if(k=g.stateNode.containerInfo,k===e||8===k.nodeType&&k.parentNode===e)return;g=g.return}for(;null!==h;){g=wc(h);if(null===g)return;k=g.tag;if(5===k||6===k){d=f=g;continue a}h=h.parentNode}}d=d.return}Nb(function(){var d=f,e=xb(c),g=[];\na:{var h=Mc.get(a);if(void 0!==h){var k=td,x=a;switch(a){case \"keypress\":if(0===od(c))break a;case \"keydown\":case \"keyup\":k=Rd;break;case \"focusin\":x=\"focus\";k=Fd;break;case \"focusout\":x=\"blur\";k=Fd;break;case \"beforeblur\":case \"afterblur\":k=Fd;break;case \"click\":if(2===c.button)break a;case \"auxclick\":case \"dblclick\":case \"mousedown\":case \"mousemove\":case \"mouseup\":case \"mouseout\":case \"mouseover\":case \"contextmenu\":k=Bd;break;case \"drag\":case \"dragend\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"dragstart\":case \"drop\":k=\nDd;break;case \"touchcancel\":case \"touchend\":case \"touchmove\":case \"touchstart\":k=Vd;break;case Ic:case Jc:case Kc:k=Hd;break;case Lc:k=Xd;break;case \"scroll\":k=vd;break;case \"wheel\":k=Zd;break;case \"copy\":case \"cut\":case \"paste\":k=Jd;break;case \"gotpointercapture\":case \"lostpointercapture\":case \"pointercancel\":case \"pointerdown\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"pointerup\":k=Td}var w=0!==(b&4),z=!w&&\"scroll\"===a,u=w?null!==h?h+\"Capture\":null:h;w=[];for(var t=d,q;null!==\nt;){q=t;var v=q.stateNode;5===q.tag&&null!==v&&(q=v,null!==u&&(v=Ob(t,u),null!=v&&w.push(ef(t,v,q))));if(z)break;t=t.return}0<w.length&&(h=new k(h,x,null,c,e),g.push({event:h,listeners:w}))}}if(0===(b&7)){a:{h=\"mouseover\"===a||\"pointerover\"===a;k=\"mouseout\"===a||\"pointerout\"===a;if(h&&0===(b&16)&&(x=c.relatedTarget||c.fromElement)&&(wc(x)||x[ff]))break a;if(k||h){h=e.window===e?e:(h=e.ownerDocument)?h.defaultView||h.parentWindow:window;if(k){if(x=c.relatedTarget||c.toElement,k=d,x=x?wc(x):null,null!==\nx&&(z=Zb(x),x!==z||5!==x.tag&&6!==x.tag))x=null}else k=null,x=d;if(k!==x){w=Bd;v=\"onMouseLeave\";u=\"onMouseEnter\";t=\"mouse\";if(\"pointerout\"===a||\"pointerover\"===a)w=Td,v=\"onPointerLeave\",u=\"onPointerEnter\",t=\"pointer\";z=null==k?h:ue(k);q=null==x?h:ue(x);h=new w(v,t+\"leave\",k,c,e);h.target=z;h.relatedTarget=q;v=null;wc(e)===d&&(w=new w(u,t+\"enter\",x,c,e),w.target=q,w.relatedTarget=z,v=w);z=v;if(k&&x)b:{w=k;u=x;t=0;for(q=w;q;q=gf(q))t++;q=0;for(v=u;v;v=gf(v))q++;for(;0<t-q;)w=gf(w),t--;for(;0<q-t;)u=\ngf(u),q--;for(;t--;){if(w===u||null!==u&&w===u.alternate)break b;w=gf(w);u=gf(u)}w=null}else w=null;null!==k&&hf(g,h,k,w,!1);null!==x&&null!==z&&hf(g,z,x,w,!0)}}}a:{h=d?ue(d):window;k=h.nodeName&&h.nodeName.toLowerCase();if(\"select\"===k||\"input\"===k&&\"file\"===h.type)var J=ve;else if(me(h))if(we)J=Fe;else{J=De;var K=Ce}else(k=h.nodeName)&&\"input\"===k.toLowerCase()&&(\"checkbox\"===h.type||\"radio\"===h.type)&&(J=Ee);if(J&&(J=J(a,d))){ne(g,J,c,e);break a}K&&K(a,h,d);\"focusout\"===a&&(K=h._wrapperState)&&\nK.controlled&&\"number\"===h.type&&bb(h,\"number\",h.value)}K=d?ue(d):window;switch(a){case \"focusin\":if(me(K)||\"true\"===K.contentEditable)Qe=K,Re=d,Se=null;break;case \"focusout\":Se=Re=Qe=null;break;case \"mousedown\":Te=!0;break;case \"contextmenu\":case \"mouseup\":case \"dragend\":Te=!1;Ue(g,c,e);break;case \"selectionchange\":if(Pe)break;case \"keydown\":case \"keyup\":Ue(g,c,e)}var Q;if(ae)b:{switch(a){case \"compositionstart\":var L=\"onCompositionStart\";break b;case \"compositionend\":L=\"onCompositionEnd\";break b;\ncase \"compositionupdate\":L=\"onCompositionUpdate\";break b}L=void 0}else ie?ge(a,c)&&(L=\"onCompositionEnd\"):\"keydown\"===a&&229===c.keyCode&&(L=\"onCompositionStart\");L&&(de&&\"ko\"!==c.locale&&(ie||\"onCompositionStart\"!==L?\"onCompositionEnd\"===L&&ie&&(Q=nd()):(kd=e,ld=\"value\"in kd?kd.value:kd.textContent,ie=!0)),K=oe(d,L),0<K.length&&(L=new Ld(L,a,null,c,e),g.push({event:L,listeners:K}),Q?L.data=Q:(Q=he(c),null!==Q&&(L.data=Q))));if(Q=ce?je(a,c):ke(a,c))d=oe(d,\"onBeforeInput\"),0<d.length&&(e=new Ld(\"onBeforeInput\",\n\"beforeinput\",null,c,e),g.push({event:e,listeners:d}),e.data=Q)}se(g,b)})}function ef(a,b,c){return{instance:a,listener:b,currentTarget:c}}function oe(a,b){for(var c=b+\"Capture\",d=[];null!==a;){var e=a,f=e.stateNode;5===e.tag&&null!==f&&(e=f,f=Ob(a,c),null!=f&&d.unshift(ef(a,f,e)),f=Ob(a,b),null!=f&&d.push(ef(a,f,e)));a=a.return}return d}function gf(a){if(null===a)return null;do a=a.return;while(a&&5!==a.tag);return a?a:null}\nfunction hf(a,b,c,d,e){for(var f=b._reactName,g=[];null!==c&&c!==d;){var h=c,k=h.alternate,l=h.stateNode;if(null!==k&&k===d)break;5===h.tag&&null!==l&&(h=l,e?(k=Ob(c,f),null!=k&&g.unshift(ef(c,k,h))):e||(k=Ob(c,f),null!=k&&g.push(ef(c,k,h))));c=c.return}0!==g.length&&a.push({event:b,listeners:g})}function jf(){}var kf=null,lf=null;function mf(a,b){switch(a){case \"button\":case \"input\":case \"select\":case \"textarea\":return!!b.autoFocus}return!1}\nfunction nf(a,b){return\"textarea\"===a||\"option\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}var of=\"function\"===typeof setTimeout?setTimeout:void 0,pf=\"function\"===typeof clearTimeout?clearTimeout:void 0;function qf(a){1===a.nodeType?a.textContent=\"\":9===a.nodeType&&(a=a.body,null!=a&&(a.textContent=\"\"))}\nfunction rf(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break}return a}function sf(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(\"$\"===c||\"$!\"===c||\"$?\"===c){if(0===b)return a;b--}else\"/$\"===c&&b++}a=a.previousSibling}return null}var tf=0;function uf(a){return{$$typeof:Ga,toString:a,valueOf:a}}var vf=Math.random().toString(36).slice(2),wf=\"__reactFiber$\"+vf,xf=\"__reactProps$\"+vf,ff=\"__reactContainer$\"+vf,yf=\"__reactEvents$\"+vf;\nfunction wc(a){var b=a[wf];if(b)return b;for(var c=a.parentNode;c;){if(b=c[ff]||c[wf]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=sf(a);null!==a;){if(c=a[wf])return c;a=sf(a)}return b}a=c;c=a.parentNode}return null}function Cb(a){a=a[wf]||a[ff];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function ue(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(y(33));}function Db(a){return a[xf]||null}\nfunction $e(a){var b=a[yf];void 0===b&&(b=a[yf]=new Set);return b}var zf=[],Af=-1;function Bf(a){return{current:a}}function H(a){0>Af||(a.current=zf[Af],zf[Af]=null,Af--)}function I(a,b){Af++;zf[Af]=a.current;a.current=b}var Cf={},M=Bf(Cf),N=Bf(!1),Df=Cf;\nfunction Ef(a,b){var c=a.type.contextTypes;if(!c)return Cf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function Ff(a){a=a.childContextTypes;return null!==a&&void 0!==a}function Gf(){H(N);H(M)}function Hf(a,b,c){if(M.current!==Cf)throw Error(y(168));I(M,b);I(N,c)}\nfunction If(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(y(108,Ra(b)||\"Unknown\",e));return m({},c,d)}function Jf(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Cf;Df=M.current;I(M,a);I(N,N.current);return!0}function Kf(a,b,c){var d=a.stateNode;if(!d)throw Error(y(169));c?(a=If(a,b,Df),d.__reactInternalMemoizedMergedChildContext=a,H(N),H(M),I(M,a)):H(N);I(N,c)}\nvar Lf=null,Mf=null,Nf=r.unstable_runWithPriority,Of=r.unstable_scheduleCallback,Pf=r.unstable_cancelCallback,Qf=r.unstable_shouldYield,Rf=r.unstable_requestPaint,Sf=r.unstable_now,Tf=r.unstable_getCurrentPriorityLevel,Uf=r.unstable_ImmediatePriority,Vf=r.unstable_UserBlockingPriority,Wf=r.unstable_NormalPriority,Xf=r.unstable_LowPriority,Yf=r.unstable_IdlePriority,Zf={},$f=void 0!==Rf?Rf:function(){},ag=null,bg=null,cg=!1,dg=Sf(),O=1E4>dg?Sf:function(){return Sf()-dg};\nfunction eg(){switch(Tf()){case Uf:return 99;case Vf:return 98;case Wf:return 97;case Xf:return 96;case Yf:return 95;default:throw Error(y(332));}}function fg(a){switch(a){case 99:return Uf;case 98:return Vf;case 97:return Wf;case 96:return Xf;case 95:return Yf;default:throw Error(y(332));}}function gg(a,b){a=fg(a);return Nf(a,b)}function hg(a,b,c){a=fg(a);return Of(a,b,c)}function ig(){if(null!==bg){var a=bg;bg=null;Pf(a)}jg()}\nfunction jg(){if(!cg&&null!==ag){cg=!0;var a=0;try{var b=ag;gg(99,function(){for(;a<b.length;a++){var c=b[a];do c=c(!0);while(null!==c)}});ag=null}catch(c){throw null!==ag&&(ag=ag.slice(a+1)),Of(Uf,ig),c;}finally{cg=!1}}}var kg=ra.ReactCurrentBatchConfig;function lg(a,b){if(a&&a.defaultProps){b=m({},b);a=a.defaultProps;for(var c in a)void 0===b[c]&&(b[c]=a[c]);return b}return b}var mg=Bf(null),ng=null,og=null,pg=null;function qg(){pg=og=ng=null}\nfunction rg(a){var b=mg.current;H(mg);a.type._context._currentValue=b}function sg(a,b){for(;null!==a;){var c=a.alternate;if((a.childLanes&b)===b)if(null===c||(c.childLanes&b)===b)break;else c.childLanes|=b;else a.childLanes|=b,null!==c&&(c.childLanes|=b);a=a.return}}function tg(a,b){ng=a;pg=og=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(0!==(a.lanes&b)&&(ug=!0),a.firstContext=null)}\nfunction vg(a,b){if(pg!==a&&!1!==b&&0!==b){if(\"number\"!==typeof b||1073741823===b)pg=a,b=1073741823;b={context:a,observedBits:b,next:null};if(null===og){if(null===ng)throw Error(y(308));og=b;ng.dependencies={lanes:0,firstContext:b,responders:null}}else og=og.next=b}return a._currentValue}var wg=!1;function xg(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null},effects:null}}\nfunction yg(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,effects:a.effects})}function zg(a,b){return{eventTime:a,lane:b,tag:0,payload:null,callback:null,next:null}}function Ag(a,b){a=a.updateQueue;if(null!==a){a=a.shared;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}}\nfunction Bg(a,b){var c=a.updateQueue,d=a.alternate;if(null!==d&&(d=d.updateQueue,c===d)){var e=null,f=null;c=c.firstBaseUpdate;if(null!==c){do{var g={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};null===f?e=f=g:f=f.next=g;c=c.next}while(null!==c);null===f?e=f=b:f=f.next=b}else e=f=b;c={baseState:d.baseState,firstBaseUpdate:e,lastBaseUpdate:f,shared:d.shared,effects:d.effects};a.updateQueue=c;return}a=c.lastBaseUpdate;null===a?c.firstBaseUpdate=b:a.next=\nb;c.lastBaseUpdate=b}\nfunction Cg(a,b,c,d){var e=a.updateQueue;wg=!1;var f=e.firstBaseUpdate,g=e.lastBaseUpdate,h=e.shared.pending;if(null!==h){e.shared.pending=null;var k=h,l=k.next;k.next=null;null===g?f=l:g.next=l;g=k;var n=a.alternate;if(null!==n){n=n.updateQueue;var A=n.lastBaseUpdate;A!==g&&(null===A?n.firstBaseUpdate=l:A.next=l,n.lastBaseUpdate=k)}}if(null!==f){A=e.baseState;g=0;n=l=k=null;do{h=f.lane;var p=f.eventTime;if((d&h)===h){null!==n&&(n=n.next={eventTime:p,lane:0,tag:f.tag,payload:f.payload,callback:f.callback,\nnext:null});a:{var C=a,x=f;h=b;p=c;switch(x.tag){case 1:C=x.payload;if(\"function\"===typeof C){A=C.call(p,A,h);break a}A=C;break a;case 3:C.flags=C.flags&-4097|64;case 0:C=x.payload;h=\"function\"===typeof C?C.call(p,A,h):C;if(null===h||void 0===h)break a;A=m({},A,h);break a;case 2:wg=!0}}null!==f.callback&&(a.flags|=32,h=e.effects,null===h?e.effects=[f]:h.push(f))}else p={eventTime:p,lane:h,tag:f.tag,payload:f.payload,callback:f.callback,next:null},null===n?(l=n=p,k=A):n=n.next=p,g|=h;f=f.next;if(null===\nf)if(h=e.shared.pending,null===h)break;else f=h.next,h.next=null,e.lastBaseUpdate=h,e.shared.pending=null}while(1);null===n&&(k=A);e.baseState=k;e.firstBaseUpdate=l;e.lastBaseUpdate=n;Dg|=g;a.lanes=g;a.memoizedState=A}}function Eg(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;b<a.length;b++){var d=a[b],e=d.callback;if(null!==e){d.callback=null;d=c;if(\"function\"!==typeof e)throw Error(y(191,e));e.call(d)}}}var Fg=(new aa.Component).refs;\nfunction Gg(a,b,c,d){b=a.memoizedState;c=c(d,b);c=null===c||void 0===c?b:m({},b,c);a.memoizedState=c;0===a.lanes&&(a.updateQueue.baseState=c)}\nvar Kg={isMounted:function(a){return(a=a._reactInternals)?Zb(a)===a:!1},enqueueSetState:function(a,b,c){a=a._reactInternals;var d=Hg(),e=Ig(a),f=zg(d,e);f.payload=b;void 0!==c&&null!==c&&(f.callback=c);Ag(a,f);Jg(a,e,d)},enqueueReplaceState:function(a,b,c){a=a._reactInternals;var d=Hg(),e=Ig(a),f=zg(d,e);f.tag=1;f.payload=b;void 0!==c&&null!==c&&(f.callback=c);Ag(a,f);Jg(a,e,d)},enqueueForceUpdate:function(a,b){a=a._reactInternals;var c=Hg(),d=Ig(a),e=zg(c,d);e.tag=2;void 0!==b&&null!==b&&(e.callback=\nb);Ag(a,e);Jg(a,d,c)}};function Lg(a,b,c,d,e,f,g){a=a.stateNode;return\"function\"===typeof a.shouldComponentUpdate?a.shouldComponentUpdate(d,f,g):b.prototype&&b.prototype.isPureReactComponent?!Je(c,d)||!Je(e,f):!0}\nfunction Mg(a,b,c){var d=!1,e=Cf;var f=b.contextType;\"object\"===typeof f&&null!==f?f=vg(f):(e=Ff(b)?Df:M.current,d=b.contextTypes,f=(d=null!==d&&void 0!==d)?Ef(a,e):Cf);b=new b(c,f);a.memoizedState=null!==b.state&&void 0!==b.state?b.state:null;b.updater=Kg;a.stateNode=b;b._reactInternals=a;d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=e,a.__reactInternalMemoizedMaskedChildContext=f);return b}\nfunction Ng(a,b,c,d){a=b.state;\"function\"===typeof b.componentWillReceiveProps&&b.componentWillReceiveProps(c,d);\"function\"===typeof b.UNSAFE_componentWillReceiveProps&&b.UNSAFE_componentWillReceiveProps(c,d);b.state!==a&&Kg.enqueueReplaceState(b,b.state,null)}\nfunction Og(a,b,c,d){var e=a.stateNode;e.props=c;e.state=a.memoizedState;e.refs=Fg;xg(a);var f=b.contextType;\"object\"===typeof f&&null!==f?e.context=vg(f):(f=Ff(b)?Df:M.current,e.context=Ef(a,f));Cg(a,c,e,d);e.state=a.memoizedState;f=b.getDerivedStateFromProps;\"function\"===typeof f&&(Gg(a,b,f,c),e.state=a.memoizedState);\"function\"===typeof b.getDerivedStateFromProps||\"function\"===typeof e.getSnapshotBeforeUpdate||\"function\"!==typeof e.UNSAFE_componentWillMount&&\"function\"!==typeof e.componentWillMount||\n(b=e.state,\"function\"===typeof e.componentWillMount&&e.componentWillMount(),\"function\"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),b!==e.state&&Kg.enqueueReplaceState(e,e.state,null),Cg(a,c,e,d),e.state=a.memoizedState);\"function\"===typeof e.componentDidMount&&(a.flags|=4)}var Pg=Array.isArray;\nfunction Qg(a,b,c){a=c.ref;if(null!==a&&\"function\"!==typeof a&&\"object\"!==typeof a){if(c._owner){c=c._owner;if(c){if(1!==c.tag)throw Error(y(309));var d=c.stateNode}if(!d)throw Error(y(147,a));var e=\"\"+a;if(null!==b&&null!==b.ref&&\"function\"===typeof b.ref&&b.ref._stringRef===e)return b.ref;b=function(a){var b=d.refs;b===Fg&&(b=d.refs={});null===a?delete b[e]:b[e]=a};b._stringRef=e;return b}if(\"string\"!==typeof a)throw Error(y(284));if(!c._owner)throw Error(y(290,a));}return a}\nfunction Rg(a,b){if(\"textarea\"!==a.type)throw Error(y(31,\"[object Object]\"===Object.prototype.toString.call(b)?\"object with keys {\"+Object.keys(b).join(\", \")+\"}\":b));}\nfunction Sg(a){function b(b,c){if(a){var d=b.lastEffect;null!==d?(d.nextEffect=c,b.lastEffect=c):b.firstEffect=b.lastEffect=c;c.nextEffect=null;c.flags=8}}function c(c,d){if(!a)return null;for(;null!==d;)b(c,d),d=d.sibling;return null}function d(a,b){for(a=new Map;null!==b;)null!==b.key?a.set(b.key,b):a.set(b.index,b),b=b.sibling;return a}function e(a,b){a=Tg(a,b);a.index=0;a.sibling=null;return a}function f(b,c,d){b.index=d;if(!a)return c;d=b.alternate;if(null!==d)return d=d.index,d<c?(b.flags=2,\nc):d;b.flags=2;return c}function g(b){a&&null===b.alternate&&(b.flags=2);return b}function h(a,b,c,d){if(null===b||6!==b.tag)return b=Ug(c,a.mode,d),b.return=a,b;b=e(b,c);b.return=a;return b}function k(a,b,c,d){if(null!==b&&b.elementType===c.type)return d=e(b,c.props),d.ref=Qg(a,b,c),d.return=a,d;d=Vg(c.type,c.key,c.props,null,a.mode,d);d.ref=Qg(a,b,c);d.return=a;return d}function l(a,b,c,d){if(null===b||4!==b.tag||b.stateNode.containerInfo!==c.containerInfo||b.stateNode.implementation!==c.implementation)return b=\nWg(c,a.mode,d),b.return=a,b;b=e(b,c.children||[]);b.return=a;return b}function n(a,b,c,d,f){if(null===b||7!==b.tag)return b=Xg(c,a.mode,d,f),b.return=a,b;b=e(b,c);b.return=a;return b}function A(a,b,c){if(\"string\"===typeof b||\"number\"===typeof b)return b=Ug(\"\"+b,a.mode,c),b.return=a,b;if(\"object\"===typeof b&&null!==b){switch(b.$$typeof){case sa:return c=Vg(b.type,b.key,b.props,null,a.mode,c),c.ref=Qg(a,null,b),c.return=a,c;case ta:return b=Wg(b,a.mode,c),b.return=a,b}if(Pg(b)||La(b))return b=Xg(b,\na.mode,c,null),b.return=a,b;Rg(a,b)}return null}function p(a,b,c,d){var e=null!==b?b.key:null;if(\"string\"===typeof c||\"number\"===typeof c)return null!==e?null:h(a,b,\"\"+c,d);if(\"object\"===typeof c&&null!==c){switch(c.$$typeof){case sa:return c.key===e?c.type===ua?n(a,b,c.props.children,d,e):k(a,b,c,d):null;case ta:return c.key===e?l(a,b,c,d):null}if(Pg(c)||La(c))return null!==e?null:n(a,b,c,d,null);Rg(a,c)}return null}function C(a,b,c,d,e){if(\"string\"===typeof d||\"number\"===typeof d)return a=a.get(c)||\nnull,h(b,a,\"\"+d,e);if(\"object\"===typeof d&&null!==d){switch(d.$$typeof){case sa:return a=a.get(null===d.key?c:d.key)||null,d.type===ua?n(b,a,d.props.children,e,d.key):k(b,a,d,e);case ta:return a=a.get(null===d.key?c:d.key)||null,l(b,a,d,e)}if(Pg(d)||La(d))return a=a.get(c)||null,n(b,a,d,e,null);Rg(b,d)}return null}function x(e,g,h,k){for(var l=null,t=null,u=g,z=g=0,q=null;null!==u&&z<h.length;z++){u.index>z?(q=u,u=null):q=u.sibling;var n=p(e,u,h[z],k);if(null===n){null===u&&(u=q);break}a&&u&&null===\nn.alternate&&b(e,u);g=f(n,g,z);null===t?l=n:t.sibling=n;t=n;u=q}if(z===h.length)return c(e,u),l;if(null===u){for(;z<h.length;z++)u=A(e,h[z],k),null!==u&&(g=f(u,g,z),null===t?l=u:t.sibling=u,t=u);return l}for(u=d(e,u);z<h.length;z++)q=C(u,e,z,h[z],k),null!==q&&(a&&null!==q.alternate&&u.delete(null===q.key?z:q.key),g=f(q,g,z),null===t?l=q:t.sibling=q,t=q);a&&u.forEach(function(a){return b(e,a)});return l}function w(e,g,h,k){var l=La(h);if(\"function\"!==typeof l)throw Error(y(150));h=l.call(h);if(null==\nh)throw Error(y(151));for(var t=l=null,u=g,z=g=0,q=null,n=h.next();null!==u&&!n.done;z++,n=h.next()){u.index>z?(q=u,u=null):q=u.sibling;var w=p(e,u,n.value,k);if(null===w){null===u&&(u=q);break}a&&u&&null===w.alternate&&b(e,u);g=f(w,g,z);null===t?l=w:t.sibling=w;t=w;u=q}if(n.done)return c(e,u),l;if(null===u){for(;!n.done;z++,n=h.next())n=A(e,n.value,k),null!==n&&(g=f(n,g,z),null===t?l=n:t.sibling=n,t=n);return l}for(u=d(e,u);!n.done;z++,n=h.next())n=C(u,e,z,n.value,k),null!==n&&(a&&null!==n.alternate&&\nu.delete(null===n.key?z:n.key),g=f(n,g,z),null===t?l=n:t.sibling=n,t=n);a&&u.forEach(function(a){return b(e,a)});return l}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===ua&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case sa:a:{l=f.key;for(k=d;null!==k;){if(k.key===l){switch(k.tag){case 7:if(f.type===ua){c(a,k.sibling);d=e(k,f.props.children);d.return=a;a=d;break a}break;default:if(k.elementType===f.type){c(a,k.sibling);\nd=e(k,f.props);d.ref=Qg(a,k,f);d.return=a;a=d;break a}}c(a,k);break}else b(a,k);k=k.sibling}f.type===ua?(d=Xg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Vg(f.type,f.key,f.props,null,a.mode,h),h.ref=Qg(a,d,f),h.return=a,a=h)}return g(a);case ta:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=\nWg(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):(c(a,d),d=Ug(f,a.mode,h),d.return=a,a=d),g(a);if(Pg(f))return x(a,d,f,h);if(La(f))return w(a,d,f,h);l&&Rg(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 22:case 0:case 11:case 15:throw Error(y(152,Ra(a.type)||\"Component\"));}return c(a,d)}}var Yg=Sg(!0),Zg=Sg(!1),$g={},ah=Bf($g),bh=Bf($g),ch=Bf($g);\nfunction dh(a){if(a===$g)throw Error(y(174));return a}function eh(a,b){I(ch,b);I(bh,a);I(ah,$g);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:mb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=mb(b,a)}H(ah);I(ah,b)}function fh(){H(ah);H(bh);H(ch)}function gh(a){dh(ch.current);var b=dh(ah.current);var c=mb(b,a.type);b!==c&&(I(bh,a),I(ah,c))}function hh(a){bh.current===a&&(H(ah),H(bh))}var P=Bf(0);\nfunction ih(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&64))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var jh=null,kh=null,lh=!1;\nfunction mh(a,b){var c=nh(5,null,null,0);c.elementType=\"DELETED\";c.type=\"DELETED\";c.stateNode=b;c.return=a;c.flags=8;null!==a.lastEffect?(a.lastEffect.nextEffect=c,a.lastEffect=c):a.firstEffect=a.lastEffect=c}function oh(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,!0):!1;case 13:return!1;default:return!1}}\nfunction ph(a){if(lh){var b=kh;if(b){var c=b;if(!oh(a,b)){b=rf(c.nextSibling);if(!b||!oh(a,b)){a.flags=a.flags&-1025|2;lh=!1;jh=a;return}mh(jh,c)}jh=a;kh=rf(b.firstChild)}else a.flags=a.flags&-1025|2,lh=!1,jh=a}}function qh(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;jh=a}\nfunction rh(a){if(a!==jh)return!1;if(!lh)return qh(a),lh=!0,!1;var b=a.type;if(5!==a.tag||\"head\"!==b&&\"body\"!==b&&!nf(b,a.memoizedProps))for(b=kh;b;)mh(a,b),b=rf(b.nextSibling);qh(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(y(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(\"/$\"===c){if(0===b){kh=rf(a.nextSibling);break a}b--}else\"$\"!==c&&\"$!\"!==c&&\"$?\"!==c||b++}a=a.nextSibling}kh=null}}else kh=jh?rf(a.stateNode.nextSibling):null;return!0}\nfunction sh(){kh=jh=null;lh=!1}var th=[];function uh(){for(var a=0;a<th.length;a++)th[a]._workInProgressVersionPrimary=null;th.length=0}var vh=ra.ReactCurrentDispatcher,wh=ra.ReactCurrentBatchConfig,xh=0,R=null,S=null,T=null,yh=!1,zh=!1;function Ah(){throw Error(y(321));}function Bh(a,b){if(null===b)return!1;for(var c=0;c<b.length&&c<a.length;c++)if(!He(a[c],b[c]))return!1;return!0}\nfunction Ch(a,b,c,d,e,f){xh=f;R=b;b.memoizedState=null;b.updateQueue=null;b.lanes=0;vh.current=null===a||null===a.memoizedState?Dh:Eh;a=c(d,e);if(zh){f=0;do{zh=!1;if(!(25>f))throw Error(y(301));f+=1;T=S=null;b.updateQueue=null;vh.current=Fh;a=c(d,e)}while(zh)}vh.current=Gh;b=null!==S&&null!==S.next;xh=0;T=S=R=null;yh=!1;if(b)throw Error(y(300));return a}function Hh(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===T?R.memoizedState=T=a:T=T.next=a;return T}\nfunction Ih(){if(null===S){var a=R.alternate;a=null!==a?a.memoizedState:null}else a=S.next;var b=null===T?R.memoizedState:T.next;if(null!==b)T=b,S=a;else{if(null===a)throw Error(y(310));S=a;a={memoizedState:S.memoizedState,baseState:S.baseState,baseQueue:S.baseQueue,queue:S.queue,next:null};null===T?R.memoizedState=T=a:T=T.next=a}return T}function Jh(a,b){return\"function\"===typeof b?b(a):b}\nfunction Kh(a){var b=Ih(),c=b.queue;if(null===c)throw Error(y(311));c.lastRenderedReducer=a;var d=S,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){e=e.next;d=d.baseState;var h=g=f=null,k=e;do{var l=k.lane;if((xh&l)===l)null!==h&&(h=h.next={lane:0,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null}),d=k.eagerReducer===a?k.eagerState:a(d,k.action);else{var n={lane:l,action:k.action,eagerReducer:k.eagerReducer,\neagerState:k.eagerState,next:null};null===h?(g=h=n,f=d):h=h.next=n;R.lanes|=l;Dg|=l}k=k.next}while(null!==k&&k!==e);null===h?f=d:h.next=g;He(d,b.memoizedState)||(ug=!0);b.memoizedState=d;b.baseState=f;b.baseQueue=h;c.lastRenderedState=d}return[b.memoizedState,c.dispatch]}\nfunction Lh(a){var b=Ih(),c=b.queue;if(null===c)throw Error(y(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);He(f,b.memoizedState)||(ug=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}\nfunction Mh(a,b,c){var d=b._getVersion;d=d(b._source);var e=b._workInProgressVersionPrimary;if(null!==e)a=e===d;else if(a=a.mutableReadLanes,a=(xh&a)===a)b._workInProgressVersionPrimary=d,th.push(b);if(a)return c(b._source);th.push(b);throw Error(y(350));}\nfunction Nh(a,b,c,d){var e=U;if(null===e)throw Error(y(349));var f=b._getVersion,g=f(b._source),h=vh.current,k=h.useState(function(){return Mh(e,b,c)}),l=k[1],n=k[0];k=T;var A=a.memoizedState,p=A.refs,C=p.getSnapshot,x=A.source;A=A.subscribe;var w=R;a.memoizedState={refs:p,source:b,subscribe:d};h.useEffect(function(){p.getSnapshot=c;p.setSnapshot=l;var a=f(b._source);if(!He(g,a)){a=c(b._source);He(n,a)||(l(a),a=Ig(w),e.mutableReadLanes|=a&e.pendingLanes);a=e.mutableReadLanes;e.entangledLanes|=a;for(var d=\ne.entanglements,h=a;0<h;){var k=31-Vc(h),v=1<<k;d[k]|=a;h&=~v}}},[c,b,d]);h.useEffect(function(){return d(b._source,function(){var a=p.getSnapshot,c=p.setSnapshot;try{c(a(b._source));var d=Ig(w);e.mutableReadLanes|=d&e.pendingLanes}catch(q){c(function(){throw q;})}})},[b,d]);He(C,c)&&He(x,b)&&He(A,d)||(a={pending:null,dispatch:null,lastRenderedReducer:Jh,lastRenderedState:n},a.dispatch=l=Oh.bind(null,R,a),k.queue=a,k.baseQueue=null,n=Mh(e,b,c),k.memoizedState=k.baseState=n);return n}\nfunction Ph(a,b,c){var d=Ih();return Nh(d,a,b,c)}function Qh(a){var b=Hh();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a=b.queue={pending:null,dispatch:null,lastRenderedReducer:Jh,lastRenderedState:a};a=a.dispatch=Oh.bind(null,R,a);return[b.memoizedState,a]}\nfunction Rh(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=R.updateQueue;null===b?(b={lastEffect:null},R.updateQueue=b,b.lastEffect=a.next=a):(c=b.lastEffect,null===c?b.lastEffect=a.next=a:(d=c.next,c.next=a,a.next=d,b.lastEffect=a));return a}function Sh(a){var b=Hh();a={current:a};return b.memoizedState=a}function Th(){return Ih().memoizedState}function Uh(a,b,c,d){var e=Hh();R.flags|=a;e.memoizedState=Rh(1|b,c,void 0,void 0===d?null:d)}\nfunction Vh(a,b,c,d){var e=Ih();d=void 0===d?null:d;var f=void 0;if(null!==S){var g=S.memoizedState;f=g.destroy;if(null!==d&&Bh(d,g.deps)){Rh(b,c,f,d);return}}R.flags|=a;e.memoizedState=Rh(1|b,c,f,d)}function Wh(a,b){return Uh(516,4,a,b)}function Xh(a,b){return Vh(516,4,a,b)}function Yh(a,b){return Vh(4,2,a,b)}function Zh(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}\nfunction $h(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Vh(4,2,Zh.bind(null,b,a),c)}function ai(){}function bi(a,b){var c=Ih();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Bh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}function ci(a,b){var c=Ih();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Bh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}\nfunction di(a,b){var c=eg();gg(98>c?98:c,function(){a(!0)});gg(97<c?97:c,function(){var c=wh.transition;wh.transition=1;try{a(!1),b()}finally{wh.transition=c}})}\nfunction Oh(a,b,c){var d=Hg(),e=Ig(a),f={lane:e,action:c,eagerReducer:null,eagerState:null,next:null},g=b.pending;null===g?f.next=f:(f.next=g.next,g.next=f);b.pending=f;g=a.alternate;if(a===R||null!==g&&g===R)zh=yh=!0;else{if(0===a.lanes&&(null===g||0===g.lanes)&&(g=b.lastRenderedReducer,null!==g))try{var h=b.lastRenderedState,k=g(h,c);f.eagerReducer=g;f.eagerState=k;if(He(k,h))return}catch(l){}finally{}Jg(a,e,d)}}\nvar Gh={readContext:vg,useCallback:Ah,useContext:Ah,useEffect:Ah,useImperativeHandle:Ah,useLayoutEffect:Ah,useMemo:Ah,useReducer:Ah,useRef:Ah,useState:Ah,useDebugValue:Ah,useDeferredValue:Ah,useTransition:Ah,useMutableSource:Ah,useOpaqueIdentifier:Ah,unstable_isNewReconciler:!1},Dh={readContext:vg,useCallback:function(a,b){Hh().memoizedState=[a,void 0===b?null:b];return a},useContext:vg,useEffect:Wh,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Uh(4,2,Zh.bind(null,\nb,a),c)},useLayoutEffect:function(a,b){return Uh(4,2,a,b)},useMemo:function(a,b){var c=Hh();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=Hh();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a=d.queue={pending:null,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};a=a.dispatch=Oh.bind(null,R,a);return[d.memoizedState,a]},useRef:Sh,useState:Qh,useDebugValue:ai,useDeferredValue:function(a){var b=Qh(a),c=b[0],d=b[1];Wh(function(){var b=wh.transition;\nwh.transition=1;try{d(a)}finally{wh.transition=b}},[a]);return c},useTransition:function(){var a=Qh(!1),b=a[0];a=di.bind(null,a[1]);Sh(a);return[a,b]},useMutableSource:function(a,b,c){var d=Hh();d.memoizedState={refs:{getSnapshot:b,setSnapshot:null},source:a,subscribe:c};return Nh(d,a,b,c)},useOpaqueIdentifier:function(){if(lh){var a=!1,b=uf(function(){a||(a=!0,c(\"r:\"+(tf++).toString(36)));throw Error(y(355));}),c=Qh(b)[1];0===(R.mode&2)&&(R.flags|=516,Rh(5,function(){c(\"r:\"+(tf++).toString(36))},\nvoid 0,null));return b}b=\"r:\"+(tf++).toString(36);Qh(b);return b},unstable_isNewReconciler:!1},Eh={readContext:vg,useCallback:bi,useContext:vg,useEffect:Xh,useImperativeHandle:$h,useLayoutEffect:Yh,useMemo:ci,useReducer:Kh,useRef:Th,useState:function(){return Kh(Jh)},useDebugValue:ai,useDeferredValue:function(a){var b=Kh(Jh),c=b[0],d=b[1];Xh(function(){var b=wh.transition;wh.transition=1;try{d(a)}finally{wh.transition=b}},[a]);return c},useTransition:function(){var a=Kh(Jh)[0];return[Th().current,\na]},useMutableSource:Ph,useOpaqueIdentifier:function(){return Kh(Jh)[0]},unstable_isNewReconciler:!1},Fh={readContext:vg,useCallback:bi,useContext:vg,useEffect:Xh,useImperativeHandle:$h,useLayoutEffect:Yh,useMemo:ci,useReducer:Lh,useRef:Th,useState:function(){return Lh(Jh)},useDebugValue:ai,useDeferredValue:function(a){var b=Lh(Jh),c=b[0],d=b[1];Xh(function(){var b=wh.transition;wh.transition=1;try{d(a)}finally{wh.transition=b}},[a]);return c},useTransition:function(){var a=Lh(Jh)[0];return[Th().current,\na]},useMutableSource:Ph,useOpaqueIdentifier:function(){return Lh(Jh)[0]},unstable_isNewReconciler:!1},ei=ra.ReactCurrentOwner,ug=!1;function fi(a,b,c,d){b.child=null===a?Zg(b,null,c,d):Yg(b,a.child,c,d)}function gi(a,b,c,d,e){c=c.render;var f=b.ref;tg(b,e);d=Ch(a,b,c,d,f,e);if(null!==a&&!ug)return b.updateQueue=a.updateQueue,b.flags&=-517,a.lanes&=~e,hi(a,b,e);b.flags|=1;fi(a,b,d,e);return b.child}\nfunction ii(a,b,c,d,e,f){if(null===a){var g=c.type;if(\"function\"===typeof g&&!ji(g)&&void 0===g.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=g,ki(a,b,g,d,e,f);a=Vg(c.type,null,d,b,b.mode,f);a.ref=b.ref;a.return=b;return b.child=a}g=a.child;if(0===(e&f)&&(e=g.memoizedProps,c=c.compare,c=null!==c?c:Je,c(e,d)&&a.ref===b.ref))return hi(a,b,f);b.flags|=1;a=Tg(g,d);a.ref=b.ref;a.return=b;return b.child=a}\nfunction ki(a,b,c,d,e,f){if(null!==a&&Je(a.memoizedProps,d)&&a.ref===b.ref)if(ug=!1,0!==(f&e))0!==(a.flags&16384)&&(ug=!0);else return b.lanes=a.lanes,hi(a,b,f);return li(a,b,c,d,f)}\nfunction mi(a,b,c){var d=b.pendingProps,e=d.children,f=null!==a?a.memoizedState:null;if(\"hidden\"===d.mode||\"unstable-defer-without-hiding\"===d.mode)if(0===(b.mode&4))b.memoizedState={baseLanes:0},ni(b,c);else if(0!==(c&1073741824))b.memoizedState={baseLanes:0},ni(b,null!==f?f.baseLanes:c);else return a=null!==f?f.baseLanes|c:c,b.lanes=b.childLanes=1073741824,b.memoizedState={baseLanes:a},ni(b,a),null;else null!==f?(d=f.baseLanes|c,b.memoizedState=null):d=c,ni(b,d);fi(a,b,e,c);return b.child}\nfunction oi(a,b){var c=b.ref;if(null===a&&null!==c||null!==a&&a.ref!==c)b.flags|=128}function li(a,b,c,d,e){var f=Ff(c)?Df:M.current;f=Ef(b,f);tg(b,e);c=Ch(a,b,c,d,f,e);if(null!==a&&!ug)return b.updateQueue=a.updateQueue,b.flags&=-517,a.lanes&=~e,hi(a,b,e);b.flags|=1;fi(a,b,c,e);return b.child}\nfunction pi(a,b,c,d,e){if(Ff(c)){var f=!0;Jf(b)}else f=!1;tg(b,e);if(null===b.stateNode)null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2),Mg(b,c,d),Og(b,c,d,e),d=!0;else if(null===a){var g=b.stateNode,h=b.memoizedProps;g.props=h;var k=g.context,l=c.contextType;\"object\"===typeof l&&null!==l?l=vg(l):(l=Ff(c)?Df:M.current,l=Ef(b,l));var n=c.getDerivedStateFromProps,A=\"function\"===typeof n||\"function\"===typeof g.getSnapshotBeforeUpdate;A||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\n\"function\"!==typeof g.componentWillReceiveProps||(h!==d||k!==l)&&Ng(b,g,d,l);wg=!1;var p=b.memoizedState;g.state=p;Cg(b,d,g,e);k=b.memoizedState;h!==d||p!==k||N.current||wg?(\"function\"===typeof n&&(Gg(b,c,n,d),k=b.memoizedState),(h=wg||Lg(b,c,h,d,p,k,l))?(A||\"function\"!==typeof g.UNSAFE_componentWillMount&&\"function\"!==typeof g.componentWillMount||(\"function\"===typeof g.componentWillMount&&g.componentWillMount(),\"function\"===typeof g.UNSAFE_componentWillMount&&g.UNSAFE_componentWillMount()),\"function\"===\ntypeof g.componentDidMount&&(b.flags|=4)):(\"function\"===typeof g.componentDidMount&&(b.flags|=4),b.memoizedProps=d,b.memoizedState=k),g.props=d,g.state=k,g.context=l,d=h):(\"function\"===typeof g.componentDidMount&&(b.flags|=4),d=!1)}else{g=b.stateNode;yg(a,b);h=b.memoizedProps;l=b.type===b.elementType?h:lg(b.type,h);g.props=l;A=b.pendingProps;p=g.context;k=c.contextType;\"object\"===typeof k&&null!==k?k=vg(k):(k=Ff(c)?Df:M.current,k=Ef(b,k));var C=c.getDerivedStateFromProps;(n=\"function\"===typeof C||\n\"function\"===typeof g.getSnapshotBeforeUpdate)||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||(h!==A||p!==k)&&Ng(b,g,d,k);wg=!1;p=b.memoizedState;g.state=p;Cg(b,d,g,e);var x=b.memoizedState;h!==A||p!==x||N.current||wg?(\"function\"===typeof C&&(Gg(b,c,C,d),x=b.memoizedState),(l=wg||Lg(b,c,l,d,p,x,k))?(n||\"function\"!==typeof g.UNSAFE_componentWillUpdate&&\"function\"!==typeof g.componentWillUpdate||(\"function\"===typeof g.componentWillUpdate&&g.componentWillUpdate(d,\nx,k),\"function\"===typeof g.UNSAFE_componentWillUpdate&&g.UNSAFE_componentWillUpdate(d,x,k)),\"function\"===typeof g.componentDidUpdate&&(b.flags|=4),\"function\"===typeof g.getSnapshotBeforeUpdate&&(b.flags|=256)):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&p===a.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&p===a.memoizedState||(b.flags|=256),b.memoizedProps=d,b.memoizedState=x),g.props=d,g.state=x,g.context=k,d=l):(\"function\"!==typeof g.componentDidUpdate||\nh===a.memoizedProps&&p===a.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&p===a.memoizedState||(b.flags|=256),d=!1)}return qi(a,b,c,d,f,e)}\nfunction qi(a,b,c,d,e,f){oi(a,b);var g=0!==(b.flags&64);if(!d&&!g)return e&&Kf(b,c,!1),hi(a,b,f);d=b.stateNode;ei.current=b;var h=g&&\"function\"!==typeof c.getDerivedStateFromError?null:d.render();b.flags|=1;null!==a&&g?(b.child=Yg(b,a.child,null,f),b.child=Yg(b,null,h,f)):fi(a,b,h,f);b.memoizedState=d.state;e&&Kf(b,c,!0);return b.child}function ri(a){var b=a.stateNode;b.pendingContext?Hf(a,b.pendingContext,b.pendingContext!==b.context):b.context&&Hf(a,b.context,!1);eh(a,b.containerInfo)}\nvar si={dehydrated:null,retryLane:0};\nfunction ti(a,b,c){var d=b.pendingProps,e=P.current,f=!1,g;(g=0!==(b.flags&64))||(g=null!==a&&null===a.memoizedState?!1:0!==(e&2));g?(f=!0,b.flags&=-65):null!==a&&null===a.memoizedState||void 0===d.fallback||!0===d.unstable_avoidThisFallback||(e|=1);I(P,e&1);if(null===a){void 0!==d.fallback&&ph(b);a=d.children;e=d.fallback;if(f)return a=ui(b,a,e,c),b.child.memoizedState={baseLanes:c},b.memoizedState=si,a;if(\"number\"===typeof d.unstable_expectedLoadTime)return a=ui(b,a,e,c),b.child.memoizedState={baseLanes:c},\nb.memoizedState=si,b.lanes=33554432,a;c=vi({mode:\"visible\",children:a},b.mode,c,null);c.return=b;return b.child=c}if(null!==a.memoizedState){if(f)return d=wi(a,b,d.children,d.fallback,c),f=b.child,e=a.child.memoizedState,f.memoizedState=null===e?{baseLanes:c}:{baseLanes:e.baseLanes|c},f.childLanes=a.childLanes&~c,b.memoizedState=si,d;c=xi(a,b,d.children,c);b.memoizedState=null;return c}if(f)return d=wi(a,b,d.children,d.fallback,c),f=b.child,e=a.child.memoizedState,f.memoizedState=null===e?{baseLanes:c}:\n{baseLanes:e.baseLanes|c},f.childLanes=a.childLanes&~c,b.memoizedState=si,d;c=xi(a,b,d.children,c);b.memoizedState=null;return c}function ui(a,b,c,d){var e=a.mode,f=a.child;b={mode:\"hidden\",children:b};0===(e&2)&&null!==f?(f.childLanes=0,f.pendingProps=b):f=vi(b,e,0,null);c=Xg(c,e,d,null);f.return=a;c.return=a;f.sibling=c;a.child=f;return c}\nfunction xi(a,b,c,d){var e=a.child;a=e.sibling;c=Tg(e,{mode:\"visible\",children:c});0===(b.mode&2)&&(c.lanes=d);c.return=b;c.sibling=null;null!==a&&(a.nextEffect=null,a.flags=8,b.firstEffect=b.lastEffect=a);return b.child=c}\nfunction wi(a,b,c,d,e){var f=b.mode,g=a.child;a=g.sibling;var h={mode:\"hidden\",children:c};0===(f&2)&&b.child!==g?(c=b.child,c.childLanes=0,c.pendingProps=h,g=c.lastEffect,null!==g?(b.firstEffect=c.firstEffect,b.lastEffect=g,g.nextEffect=null):b.firstEffect=b.lastEffect=null):c=Tg(g,h);null!==a?d=Tg(a,d):(d=Xg(d,f,e,null),d.flags|=2);d.return=b;c.return=b;c.sibling=d;b.child=c;return d}function yi(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);sg(a.return,b)}\nfunction zi(a,b,c,d,e,f){var g=a.memoizedState;null===g?a.memoizedState={isBackwards:b,rendering:null,renderingStartTime:0,last:d,tail:c,tailMode:e,lastEffect:f}:(g.isBackwards=b,g.rendering=null,g.renderingStartTime=0,g.last=d,g.tail=c,g.tailMode=e,g.lastEffect=f)}\nfunction Ai(a,b,c){var d=b.pendingProps,e=d.revealOrder,f=d.tail;fi(a,b,d.children,c);d=P.current;if(0!==(d&2))d=d&1|2,b.flags|=64;else{if(null!==a&&0!==(a.flags&64))a:for(a=b.child;null!==a;){if(13===a.tag)null!==a.memoizedState&&yi(a,c);else if(19===a.tag)yi(a,c);else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===b)break a;for(;null===a.sibling;){if(null===a.return||a.return===b)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}d&=1}I(P,d);if(0===(b.mode&2))b.memoizedState=\nnull;else switch(e){case \"forwards\":c=b.child;for(e=null;null!==c;)a=c.alternate,null!==a&&null===ih(a)&&(e=c),c=c.sibling;c=e;null===c?(e=b.child,b.child=null):(e=c.sibling,c.sibling=null);zi(b,!1,e,c,f,b.lastEffect);break;case \"backwards\":c=null;e=b.child;for(b.child=null;null!==e;){a=e.alternate;if(null!==a&&null===ih(a)){b.child=e;break}a=e.sibling;e.sibling=c;c=e;e=a}zi(b,!0,c,null,f,b.lastEffect);break;case \"together\":zi(b,!1,null,null,void 0,b.lastEffect);break;default:b.memoizedState=null}return b.child}\nfunction hi(a,b,c){null!==a&&(b.dependencies=a.dependencies);Dg|=b.lanes;if(0!==(c&b.childLanes)){if(null!==a&&b.child!==a.child)throw Error(y(153));if(null!==b.child){a=b.child;c=Tg(a,a.pendingProps);b.child=c;for(c.return=b;null!==a.sibling;)a=a.sibling,c=c.sibling=Tg(a,a.pendingProps),c.return=b;c.sibling=null}return b.child}return null}var Bi,Ci,Di,Ei;\nBi=function(a,b){for(var c=b.child;null!==c;){if(5===c.tag||6===c.tag)a.appendChild(c.stateNode);else if(4!==c.tag&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return}c.sibling.return=c.return;c=c.sibling}};Ci=function(){};\nDi=function(a,b,c,d){var e=a.memoizedProps;if(e!==d){a=b.stateNode;dh(ah.current);var f=null;switch(c){case \"input\":e=Ya(a,e);d=Ya(a,d);f=[];break;case \"option\":e=eb(a,e);d=eb(a,d);f=[];break;case \"select\":e=m({},e,{value:void 0});d=m({},d,{value:void 0});f=[];break;case \"textarea\":e=gb(a,e);d=gb(a,d);f=[];break;default:\"function\"!==typeof e.onClick&&\"function\"===typeof d.onClick&&(a.onclick=jf)}vb(c,d);var g;c=null;for(l in e)if(!d.hasOwnProperty(l)&&e.hasOwnProperty(l)&&null!=e[l])if(\"style\"===\nl){var h=e[l];for(g in h)h.hasOwnProperty(g)&&(c||(c={}),c[g]=\"\")}else\"dangerouslySetInnerHTML\"!==l&&\"children\"!==l&&\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&\"autoFocus\"!==l&&(ca.hasOwnProperty(l)?f||(f=[]):(f=f||[]).push(l,null));for(l in d){var k=d[l];h=null!=e?e[l]:void 0;if(d.hasOwnProperty(l)&&k!==h&&(null!=k||null!=h))if(\"style\"===l)if(h){for(g in h)!h.hasOwnProperty(g)||k&&k.hasOwnProperty(g)||(c||(c={}),c[g]=\"\");for(g in k)k.hasOwnProperty(g)&&h[g]!==k[g]&&(c||\n(c={}),c[g]=k[g])}else c||(f||(f=[]),f.push(l,c)),c=k;else\"dangerouslySetInnerHTML\"===l?(k=k?k.__html:void 0,h=h?h.__html:void 0,null!=k&&h!==k&&(f=f||[]).push(l,k)):\"children\"===l?\"string\"!==typeof k&&\"number\"!==typeof k||(f=f||[]).push(l,\"\"+k):\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&(ca.hasOwnProperty(l)?(null!=k&&\"onScroll\"===l&&G(\"scroll\",a),f||h===k||(f=[])):\"object\"===typeof k&&null!==k&&k.$$typeof===Ga?k.toString():(f=f||[]).push(l,k))}c&&(f=f||[]).push(\"style\",\nc);var l=f;if(b.updateQueue=l)b.flags|=4}};Ei=function(a,b,c,d){c!==d&&(b.flags|=4)};function Fi(a,b){if(!lh)switch(a.tailMode){case \"hidden\":b=a.tail;for(var c=null;null!==b;)null!==b.alternate&&(c=b),b=b.sibling;null===c?a.tail=null:c.sibling=null;break;case \"collapsed\":c=a.tail;for(var d=null;null!==c;)null!==c.alternate&&(d=c),c=c.sibling;null===d?b||null===a.tail?a.tail=null:a.tail.sibling=null:d.sibling=null}}\nfunction Gi(a,b,c){var d=b.pendingProps;switch(b.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return null;case 1:return Ff(b.type)&&Gf(),null;case 3:fh();H(N);H(M);uh();d=b.stateNode;d.pendingContext&&(d.context=d.pendingContext,d.pendingContext=null);if(null===a||null===a.child)rh(b)?b.flags|=4:d.hydrate||(b.flags|=256);Ci(b);return null;case 5:hh(b);var e=dh(ch.current);c=b.type;if(null!==a&&null!=b.stateNode)Di(a,b,c,d,e),a.ref!==b.ref&&(b.flags|=128);else{if(!d){if(null===\nb.stateNode)throw Error(y(166));return null}a=dh(ah.current);if(rh(b)){d=b.stateNode;c=b.type;var f=b.memoizedProps;d[wf]=b;d[xf]=f;switch(c){case \"dialog\":G(\"cancel\",d);G(\"close\",d);break;case \"iframe\":case \"object\":case \"embed\":G(\"load\",d);break;case \"video\":case \"audio\":for(a=0;a<Xe.length;a++)G(Xe[a],d);break;case \"source\":G(\"error\",d);break;case \"img\":case \"image\":case \"link\":G(\"error\",d);G(\"load\",d);break;case \"details\":G(\"toggle\",d);break;case \"input\":Za(d,f);G(\"invalid\",d);break;case \"select\":d._wrapperState=\n{wasMultiple:!!f.multiple};G(\"invalid\",d);break;case \"textarea\":hb(d,f),G(\"invalid\",d)}vb(c,f);a=null;for(var g in f)f.hasOwnProperty(g)&&(e=f[g],\"children\"===g?\"string\"===typeof e?d.textContent!==e&&(a=[\"children\",e]):\"number\"===typeof e&&d.textContent!==\"\"+e&&(a=[\"children\",\"\"+e]):ca.hasOwnProperty(g)&&null!=e&&\"onScroll\"===g&&G(\"scroll\",d));switch(c){case \"input\":Va(d);cb(d,f,!0);break;case \"textarea\":Va(d);jb(d);break;case \"select\":case \"option\":break;default:\"function\"===typeof f.onClick&&(d.onclick=\njf)}d=a;b.updateQueue=d;null!==d&&(b.flags|=4)}else{g=9===e.nodeType?e:e.ownerDocument;a===kb.html&&(a=lb(c));a===kb.html?\"script\"===c?(a=g.createElement(\"div\"),a.innerHTML=\"<script>\\x3c/script>\",a=a.removeChild(a.firstChild)):\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[wf]=b;a[xf]=d;Bi(a,b,!1,!1);b.stateNode=a;g=wb(c,d);switch(c){case \"dialog\":G(\"cancel\",a);G(\"close\",a);\ne=d;break;case \"iframe\":case \"object\":case \"embed\":G(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;e<Xe.length;e++)G(Xe[e],a);e=d;break;case \"source\":G(\"error\",a);e=d;break;case \"img\":case \"image\":case \"link\":G(\"error\",a);G(\"load\",a);e=d;break;case \"details\":G(\"toggle\",a);e=d;break;case \"input\":Za(a,d);e=Ya(a,d);G(\"invalid\",a);break;case \"option\":e=eb(a,d);break;case \"select\":a._wrapperState={wasMultiple:!!d.multiple};e=m({},d,{value:void 0});G(\"invalid\",a);break;case \"textarea\":hb(a,d);e=\ngb(a,d);G(\"invalid\",a);break;default:e=d}vb(c,e);var h=e;for(f in h)if(h.hasOwnProperty(f)){var k=h[f];\"style\"===f?tb(a,k):\"dangerouslySetInnerHTML\"===f?(k=k?k.__html:void 0,null!=k&&ob(a,k)):\"children\"===f?\"string\"===typeof k?(\"textarea\"!==c||\"\"!==k)&&pb(a,k):\"number\"===typeof k&&pb(a,\"\"+k):\"suppressContentEditableWarning\"!==f&&\"suppressHydrationWarning\"!==f&&\"autoFocus\"!==f&&(ca.hasOwnProperty(f)?null!=k&&\"onScroll\"===f&&G(\"scroll\",a):null!=k&&qa(a,f,k,g))}switch(c){case \"input\":Va(a);cb(a,d,!1);\nbreak;case \"textarea\":Va(a);jb(a);break;case \"option\":null!=d.value&&a.setAttribute(\"value\",\"\"+Sa(d.value));break;case \"select\":a.multiple=!!d.multiple;f=d.value;null!=f?fb(a,!!d.multiple,f,!1):null!=d.defaultValue&&fb(a,!!d.multiple,d.defaultValue,!0);break;default:\"function\"===typeof e.onClick&&(a.onclick=jf)}mf(c,d)&&(b.flags|=4)}null!==b.ref&&(b.flags|=128)}return null;case 6:if(a&&null!=b.stateNode)Ei(a,b,a.memoizedProps,d);else{if(\"string\"!==typeof d&&null===b.stateNode)throw Error(y(166));\nc=dh(ch.current);dh(ah.current);rh(b)?(d=b.stateNode,c=b.memoizedProps,d[wf]=b,d.nodeValue!==c&&(b.flags|=4)):(d=(9===c.nodeType?c:c.ownerDocument).createTextNode(d),d[wf]=b,b.stateNode=d)}return null;case 13:H(P);d=b.memoizedState;if(0!==(b.flags&64))return b.lanes=c,b;d=null!==d;c=!1;null===a?void 0!==b.memoizedProps.fallback&&rh(b):c=null!==a.memoizedState;if(d&&!c&&0!==(b.mode&2))if(null===a&&!0!==b.memoizedProps.unstable_avoidThisFallback||0!==(P.current&1))0===V&&(V=3);else{if(0===V||3===V)V=\n4;null===U||0===(Dg&134217727)&&0===(Hi&134217727)||Ii(U,W)}if(d||c)b.flags|=4;return null;case 4:return fh(),Ci(b),null===a&&cf(b.stateNode.containerInfo),null;case 10:return rg(b),null;case 17:return Ff(b.type)&&Gf(),null;case 19:H(P);d=b.memoizedState;if(null===d)return null;f=0!==(b.flags&64);g=d.rendering;if(null===g)if(f)Fi(d,!1);else{if(0!==V||null!==a&&0!==(a.flags&64))for(a=b.child;null!==a;){g=ih(a);if(null!==g){b.flags|=64;Fi(d,!1);f=g.updateQueue;null!==f&&(b.updateQueue=f,b.flags|=4);\nnull===d.lastEffect&&(b.firstEffect=null);b.lastEffect=d.lastEffect;d=c;for(c=b.child;null!==c;)f=c,a=d,f.flags&=2,f.nextEffect=null,f.firstEffect=null,f.lastEffect=null,g=f.alternate,null===g?(f.childLanes=0,f.lanes=a,f.child=null,f.memoizedProps=null,f.memoizedState=null,f.updateQueue=null,f.dependencies=null,f.stateNode=null):(f.childLanes=g.childLanes,f.lanes=g.lanes,f.child=g.child,f.memoizedProps=g.memoizedProps,f.memoizedState=g.memoizedState,f.updateQueue=g.updateQueue,f.type=g.type,a=g.dependencies,\nf.dependencies=null===a?null:{lanes:a.lanes,firstContext:a.firstContext}),c=c.sibling;I(P,P.current&1|2);return b.child}a=a.sibling}null!==d.tail&&O()>Ji&&(b.flags|=64,f=!0,Fi(d,!1),b.lanes=33554432)}else{if(!f)if(a=ih(g),null!==a){if(b.flags|=64,f=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Fi(d,!0),null===d.tail&&\"hidden\"===d.tailMode&&!g.alternate&&!lh)return b=b.lastEffect=d.lastEffect,null!==b&&(b.nextEffect=null),null}else 2*O()-d.renderingStartTime>Ji&&1073741824!==c&&(b.flags|=\n64,f=!0,Fi(d,!1),b.lanes=33554432);d.isBackwards?(g.sibling=b.child,b.child=g):(c=d.last,null!==c?c.sibling=g:b.child=g,d.last=g)}return null!==d.tail?(c=d.tail,d.rendering=c,d.tail=c.sibling,d.lastEffect=b.lastEffect,d.renderingStartTime=O(),c.sibling=null,b=P.current,I(P,f?b&1|2:b&1),c):null;case 23:case 24:return Ki(),null!==a&&null!==a.memoizedState!==(null!==b.memoizedState)&&\"unstable-defer-without-hiding\"!==d.mode&&(b.flags|=4),null}throw Error(y(156,b.tag));}\nfunction Li(a){switch(a.tag){case 1:Ff(a.type)&&Gf();var b=a.flags;return b&4096?(a.flags=b&-4097|64,a):null;case 3:fh();H(N);H(M);uh();b=a.flags;if(0!==(b&64))throw Error(y(285));a.flags=b&-4097|64;return a;case 5:return hh(a),null;case 13:return H(P),b=a.flags,b&4096?(a.flags=b&-4097|64,a):null;case 19:return H(P),null;case 4:return fh(),null;case 10:return rg(a),null;case 23:case 24:return Ki(),null;default:return null}}\nfunction Mi(a,b){try{var c=\"\",d=b;do c+=Qa(d),d=d.return;while(d);var e=c}catch(f){e=\"\\nError generating stack: \"+f.message+\"\\n\"+f.stack}return{value:a,source:b,stack:e}}function Ni(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c;})}}var Oi=\"function\"===typeof WeakMap?WeakMap:Map;function Pi(a,b,c){c=zg(-1,c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Qi||(Qi=!0,Ri=d);Ni(a,b)};return c}\nfunction Si(a,b,c){c=zg(-1,c);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){Ni(a,b);return d(e)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){\"function\"!==typeof d&&(null===Ti?Ti=new Set([this]):Ti.add(this),Ni(a,b));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}var Ui=\"function\"===typeof WeakSet?WeakSet:Set;\nfunction Vi(a){var b=a.ref;if(null!==b)if(\"function\"===typeof b)try{b(null)}catch(c){Wi(a,c)}else b.current=null}function Xi(a,b){switch(b.tag){case 0:case 11:case 15:case 22:return;case 1:if(b.flags&256&&null!==a){var c=a.memoizedProps,d=a.memoizedState;a=b.stateNode;b=a.getSnapshotBeforeUpdate(b.elementType===b.type?c:lg(b.type,c),d);a.__reactInternalSnapshotBeforeUpdate=b}return;case 3:b.flags&256&&qf(b.stateNode.containerInfo);return;case 5:case 6:case 4:case 17:return}throw Error(y(163));}\nfunction Yi(a,b,c){switch(c.tag){case 0:case 11:case 15:case 22:b=c.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){a=b=b.next;do{if(3===(a.tag&3)){var d=a.create;a.destroy=d()}a=a.next}while(a!==b)}b=c.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){a=b=b.next;do{var e=a;d=e.next;e=e.tag;0!==(e&4)&&0!==(e&1)&&(Zi(c,a),$i(c,a));a=d}while(a!==b)}return;case 1:a=c.stateNode;c.flags&4&&(null===b?a.componentDidMount():(d=c.elementType===c.type?b.memoizedProps:lg(c.type,b.memoizedProps),a.componentDidUpdate(d,\nb.memoizedState,a.__reactInternalSnapshotBeforeUpdate)));b=c.updateQueue;null!==b&&Eg(c,b,a);return;case 3:b=c.updateQueue;if(null!==b){a=null;if(null!==c.child)switch(c.child.tag){case 5:a=c.child.stateNode;break;case 1:a=c.child.stateNode}Eg(c,b,a)}return;case 5:a=c.stateNode;null===b&&c.flags&4&&mf(c.type,c.memoizedProps)&&a.focus();return;case 6:return;case 4:return;case 12:return;case 13:null===c.memoizedState&&(c=c.alternate,null!==c&&(c=c.memoizedState,null!==c&&(c=c.dehydrated,null!==c&&Cc(c))));\nreturn;case 19:case 17:case 20:case 21:case 23:case 24:return}throw Error(y(163));}\nfunction aj(a,b){for(var c=a;;){if(5===c.tag){var d=c.stateNode;if(b)d=d.style,\"function\"===typeof d.setProperty?d.setProperty(\"display\",\"none\",\"important\"):d.display=\"none\";else{d=c.stateNode;var e=c.memoizedProps.style;e=void 0!==e&&null!==e&&e.hasOwnProperty(\"display\")?e.display:null;d.style.display=sb(\"display\",e)}}else if(6===c.tag)c.stateNode.nodeValue=b?\"\":c.memoizedProps;else if((23!==c.tag&&24!==c.tag||null===c.memoizedState||c===a)&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===\na)break;for(;null===c.sibling;){if(null===c.return||c.return===a)return;c=c.return}c.sibling.return=c.return;c=c.sibling}}\nfunction bj(a,b){if(Mf&&\"function\"===typeof Mf.onCommitFiberUnmount)try{Mf.onCommitFiberUnmount(Lf,b)}catch(f){}switch(b.tag){case 0:case 11:case 14:case 15:case 22:a=b.updateQueue;if(null!==a&&(a=a.lastEffect,null!==a)){var c=a=a.next;do{var d=c,e=d.destroy;d=d.tag;if(void 0!==e)if(0!==(d&4))Zi(b,c);else{d=b;try{e()}catch(f){Wi(d,f)}}c=c.next}while(c!==a)}break;case 1:Vi(b);a=b.stateNode;if(\"function\"===typeof a.componentWillUnmount)try{a.props=b.memoizedProps,a.state=b.memoizedState,a.componentWillUnmount()}catch(f){Wi(b,\nf)}break;case 5:Vi(b);break;case 4:cj(a,b)}}function dj(a){a.alternate=null;a.child=null;a.dependencies=null;a.firstEffect=null;a.lastEffect=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.return=null;a.updateQueue=null}function ej(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction fj(a){a:{for(var b=a.return;null!==b;){if(ej(b))break a;b=b.return}throw Error(y(160));}var c=b;b=c.stateNode;switch(c.tag){case 5:var d=!1;break;case 3:b=b.containerInfo;d=!0;break;case 4:b=b.containerInfo;d=!0;break;default:throw Error(y(161));}c.flags&16&&(pb(b,\"\"),c.flags&=-17);a:b:for(c=a;;){for(;null===c.sibling;){if(null===c.return||ej(c.return)){c=null;break a}c=c.return}c.sibling.return=c.return;for(c=c.sibling;5!==c.tag&&6!==c.tag&&18!==c.tag;){if(c.flags&2)continue b;if(null===\nc.child||4===c.tag)continue b;else c.child.return=c,c=c.child}if(!(c.flags&2)){c=c.stateNode;break a}}d?gj(a,c,b):hj(a,c,b)}\nfunction gj(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=jf));else if(4!==d&&(a=a.child,null!==a))for(gj(a,b,c),a=a.sibling;null!==a;)gj(a,b,c),a=a.sibling}\nfunction hj(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(hj(a,b,c),a=a.sibling;null!==a;)hj(a,b,c),a=a.sibling}\nfunction cj(a,b){for(var c=b,d=!1,e,f;;){if(!d){d=c.return;a:for(;;){if(null===d)throw Error(y(160));e=d.stateNode;switch(d.tag){case 5:f=!1;break a;case 3:e=e.containerInfo;f=!0;break a;case 4:e=e.containerInfo;f=!0;break a}d=d.return}d=!0}if(5===c.tag||6===c.tag){a:for(var g=a,h=c,k=h;;)if(bj(g,k),null!==k.child&&4!==k.tag)k.child.return=k,k=k.child;else{if(k===h)break a;for(;null===k.sibling;){if(null===k.return||k.return===h)break a;k=k.return}k.sibling.return=k.return;k=k.sibling}f?(g=e,h=c.stateNode,\n8===g.nodeType?g.parentNode.removeChild(h):g.removeChild(h)):e.removeChild(c.stateNode)}else if(4===c.tag){if(null!==c.child){e=c.stateNode.containerInfo;f=!0;c.child.return=c;c=c.child;continue}}else if(bj(a,c),null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return;4===c.tag&&(d=!1)}c.sibling.return=c.return;c=c.sibling}}\nfunction ij(a,b){switch(b.tag){case 0:case 11:case 14:case 15:case 22:var c=b.updateQueue;c=null!==c?c.lastEffect:null;if(null!==c){var d=c=c.next;do 3===(d.tag&3)&&(a=d.destroy,d.destroy=void 0,void 0!==a&&a()),d=d.next;while(d!==c)}return;case 1:return;case 5:c=b.stateNode;if(null!=c){d=b.memoizedProps;var e=null!==a?a.memoizedProps:d;a=b.type;var f=b.updateQueue;b.updateQueue=null;if(null!==f){c[xf]=d;\"input\"===a&&\"radio\"===d.type&&null!=d.name&&$a(c,d);wb(a,e);b=wb(a,d);for(e=0;e<f.length;e+=\n2){var g=f[e],h=f[e+1];\"style\"===g?tb(c,h):\"dangerouslySetInnerHTML\"===g?ob(c,h):\"children\"===g?pb(c,h):qa(c,g,h,b)}switch(a){case \"input\":ab(c,d);break;case \"textarea\":ib(c,d);break;case \"select\":a=c._wrapperState.wasMultiple,c._wrapperState.wasMultiple=!!d.multiple,f=d.value,null!=f?fb(c,!!d.multiple,f,!1):a!==!!d.multiple&&(null!=d.defaultValue?fb(c,!!d.multiple,d.defaultValue,!0):fb(c,!!d.multiple,d.multiple?[]:\"\",!1))}}}return;case 6:if(null===b.stateNode)throw Error(y(162));b.stateNode.nodeValue=\nb.memoizedProps;return;case 3:c=b.stateNode;c.hydrate&&(c.hydrate=!1,Cc(c.containerInfo));return;case 12:return;case 13:null!==b.memoizedState&&(jj=O(),aj(b.child,!0));kj(b);return;case 19:kj(b);return;case 17:return;case 23:case 24:aj(b,null!==b.memoizedState);return}throw Error(y(163));}function kj(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Ui);b.forEach(function(b){var d=lj.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction mj(a,b){return null!==a&&(a=a.memoizedState,null===a||null!==a.dehydrated)?(b=b.memoizedState,null!==b&&null===b.dehydrated):!1}var nj=Math.ceil,oj=ra.ReactCurrentDispatcher,pj=ra.ReactCurrentOwner,X=0,U=null,Y=null,W=0,qj=0,rj=Bf(0),V=0,sj=null,tj=0,Dg=0,Hi=0,uj=0,vj=null,jj=0,Ji=Infinity;function wj(){Ji=O()+500}var Z=null,Qi=!1,Ri=null,Ti=null,xj=!1,yj=null,zj=90,Aj=[],Bj=[],Cj=null,Dj=0,Ej=null,Fj=-1,Gj=0,Hj=0,Ij=null,Jj=!1;function Hg(){return 0!==(X&48)?O():-1!==Fj?Fj:Fj=O()}\nfunction Ig(a){a=a.mode;if(0===(a&2))return 1;if(0===(a&4))return 99===eg()?1:2;0===Gj&&(Gj=tj);if(0!==kg.transition){0!==Hj&&(Hj=null!==vj?vj.pendingLanes:0);a=Gj;var b=4186112&~Hj;b&=-b;0===b&&(a=4186112&~a,b=a&-a,0===b&&(b=8192));return b}a=eg();0!==(X&4)&&98===a?a=Xc(12,Gj):(a=Sc(a),a=Xc(a,Gj));return a}\nfunction Jg(a,b,c){if(50<Dj)throw Dj=0,Ej=null,Error(y(185));a=Kj(a,b);if(null===a)return null;$c(a,b,c);a===U&&(Hi|=b,4===V&&Ii(a,W));var d=eg();1===b?0!==(X&8)&&0===(X&48)?Lj(a):(Mj(a,c),0===X&&(wj(),ig())):(0===(X&4)||98!==d&&99!==d||(null===Cj?Cj=new Set([a]):Cj.add(a)),Mj(a,c));vj=a}function Kj(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);c=a;for(a=a.return;null!==a;)a.childLanes|=b,c=a.alternate,null!==c&&(c.childLanes|=b),c=a,a=a.return;return 3===c.tag?c.stateNode:null}\nfunction Mj(a,b){for(var c=a.callbackNode,d=a.suspendedLanes,e=a.pingedLanes,f=a.expirationTimes,g=a.pendingLanes;0<g;){var h=31-Vc(g),k=1<<h,l=f[h];if(-1===l){if(0===(k&d)||0!==(k&e)){l=b;Rc(k);var n=F;f[h]=10<=n?l+250:6<=n?l+5E3:-1}}else l<=b&&(a.expiredLanes|=k);g&=~k}d=Uc(a,a===U?W:0);b=F;if(0===d)null!==c&&(c!==Zf&&Pf(c),a.callbackNode=null,a.callbackPriority=0);else{if(null!==c){if(a.callbackPriority===b)return;c!==Zf&&Pf(c)}15===b?(c=Lj.bind(null,a),null===ag?(ag=[c],bg=Of(Uf,jg)):ag.push(c),\nc=Zf):14===b?c=hg(99,Lj.bind(null,a)):(c=Tc(b),c=hg(c,Nj.bind(null,a)));a.callbackPriority=b;a.callbackNode=c}}\nfunction Nj(a){Fj=-1;Hj=Gj=0;if(0!==(X&48))throw Error(y(327));var b=a.callbackNode;if(Oj()&&a.callbackNode!==b)return null;var c=Uc(a,a===U?W:0);if(0===c)return null;var d=c;var e=X;X|=16;var f=Pj();if(U!==a||W!==d)wj(),Qj(a,d);do try{Rj();break}catch(h){Sj(a,h)}while(1);qg();oj.current=f;X=e;null!==Y?d=0:(U=null,W=0,d=V);if(0!==(tj&Hi))Qj(a,0);else if(0!==d){2===d&&(X|=64,a.hydrate&&(a.hydrate=!1,qf(a.containerInfo)),c=Wc(a),0!==c&&(d=Tj(a,c)));if(1===d)throw b=sj,Qj(a,0),Ii(a,c),Mj(a,O()),b;a.finishedWork=\na.current.alternate;a.finishedLanes=c;switch(d){case 0:case 1:throw Error(y(345));case 2:Uj(a);break;case 3:Ii(a,c);if((c&62914560)===c&&(d=jj+500-O(),10<d)){if(0!==Uc(a,0))break;e=a.suspendedLanes;if((e&c)!==c){Hg();a.pingedLanes|=a.suspendedLanes&e;break}a.timeoutHandle=of(Uj.bind(null,a),d);break}Uj(a);break;case 4:Ii(a,c);if((c&4186112)===c)break;d=a.eventTimes;for(e=-1;0<c;){var g=31-Vc(c);f=1<<g;g=d[g];g>e&&(e=g);c&=~f}c=e;c=O()-c;c=(120>c?120:480>c?480:1080>c?1080:1920>c?1920:3E3>c?3E3:4320>\nc?4320:1960*nj(c/1960))-c;if(10<c){a.timeoutHandle=of(Uj.bind(null,a),c);break}Uj(a);break;case 5:Uj(a);break;default:throw Error(y(329));}}Mj(a,O());return a.callbackNode===b?Nj.bind(null,a):null}function Ii(a,b){b&=~uj;b&=~Hi;a.suspendedLanes|=b;a.pingedLanes&=~b;for(a=a.expirationTimes;0<b;){var c=31-Vc(b),d=1<<c;a[c]=-1;b&=~d}}\nfunction Lj(a){if(0!==(X&48))throw Error(y(327));Oj();if(a===U&&0!==(a.expiredLanes&W)){var b=W;var c=Tj(a,b);0!==(tj&Hi)&&(b=Uc(a,b),c=Tj(a,b))}else b=Uc(a,0),c=Tj(a,b);0!==a.tag&&2===c&&(X|=64,a.hydrate&&(a.hydrate=!1,qf(a.containerInfo)),b=Wc(a),0!==b&&(c=Tj(a,b)));if(1===c)throw c=sj,Qj(a,0),Ii(a,b),Mj(a,O()),c;a.finishedWork=a.current.alternate;a.finishedLanes=b;Uj(a);Mj(a,O());return null}\nfunction Vj(){if(null!==Cj){var a=Cj;Cj=null;a.forEach(function(a){a.expiredLanes|=24&a.pendingLanes;Mj(a,O())})}ig()}function Wj(a,b){var c=X;X|=1;try{return a(b)}finally{X=c,0===X&&(wj(),ig())}}function Xj(a,b){var c=X;X&=-2;X|=8;try{return a(b)}finally{X=c,0===X&&(wj(),ig())}}function ni(a,b){I(rj,qj);qj|=b;tj|=b}function Ki(){qj=rj.current;H(rj)}\nfunction Qj(a,b){a.finishedWork=null;a.finishedLanes=0;var c=a.timeoutHandle;-1!==c&&(a.timeoutHandle=-1,pf(c));if(null!==Y)for(c=Y.return;null!==c;){var d=c;switch(d.tag){case 1:d=d.type.childContextTypes;null!==d&&void 0!==d&&Gf();break;case 3:fh();H(N);H(M);uh();break;case 5:hh(d);break;case 4:fh();break;case 13:H(P);break;case 19:H(P);break;case 10:rg(d);break;case 23:case 24:Ki()}c=c.return}U=a;Y=Tg(a.current,null);W=qj=tj=b;V=0;sj=null;uj=Hi=Dg=0}\nfunction Sj(a,b){do{var c=Y;try{qg();vh.current=Gh;if(yh){for(var d=R.memoizedState;null!==d;){var e=d.queue;null!==e&&(e.pending=null);d=d.next}yh=!1}xh=0;T=S=R=null;zh=!1;pj.current=null;if(null===c||null===c.return){V=1;sj=b;Y=null;break}a:{var f=a,g=c.return,h=c,k=b;b=W;h.flags|=2048;h.firstEffect=h.lastEffect=null;if(null!==k&&\"object\"===typeof k&&\"function\"===typeof k.then){var l=k;if(0===(h.mode&2)){var n=h.alternate;n?(h.updateQueue=n.updateQueue,h.memoizedState=n.memoizedState,h.lanes=n.lanes):\n(h.updateQueue=null,h.memoizedState=null)}var A=0!==(P.current&1),p=g;do{var C;if(C=13===p.tag){var x=p.memoizedState;if(null!==x)C=null!==x.dehydrated?!0:!1;else{var w=p.memoizedProps;C=void 0===w.fallback?!1:!0!==w.unstable_avoidThisFallback?!0:A?!1:!0}}if(C){var z=p.updateQueue;if(null===z){var u=new Set;u.add(l);p.updateQueue=u}else z.add(l);if(0===(p.mode&2)){p.flags|=64;h.flags|=16384;h.flags&=-2981;if(1===h.tag)if(null===h.alternate)h.tag=17;else{var t=zg(-1,1);t.tag=2;Ag(h,t)}h.lanes|=1;break a}k=\nvoid 0;h=b;var q=f.pingCache;null===q?(q=f.pingCache=new Oi,k=new Set,q.set(l,k)):(k=q.get(l),void 0===k&&(k=new Set,q.set(l,k)));if(!k.has(h)){k.add(h);var v=Yj.bind(null,f,l,h);l.then(v,v)}p.flags|=4096;p.lanes=b;break a}p=p.return}while(null!==p);k=Error((Ra(h.type)||\"A React component\")+\" suspended while rendering, but no fallback UI was specified.\\n\\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display.\")}5!==V&&(V=2);k=Mi(k,h);p=\ng;do{switch(p.tag){case 3:f=k;p.flags|=4096;b&=-b;p.lanes|=b;var J=Pi(p,f,b);Bg(p,J);break a;case 1:f=k;var K=p.type,Q=p.stateNode;if(0===(p.flags&64)&&(\"function\"===typeof K.getDerivedStateFromError||null!==Q&&\"function\"===typeof Q.componentDidCatch&&(null===Ti||!Ti.has(Q)))){p.flags|=4096;b&=-b;p.lanes|=b;var L=Si(p,f,b);Bg(p,L);break a}}p=p.return}while(null!==p)}Zj(c)}catch(va){b=va;Y===c&&null!==c&&(Y=c=c.return);continue}break}while(1)}\nfunction Pj(){var a=oj.current;oj.current=Gh;return null===a?Gh:a}function Tj(a,b){var c=X;X|=16;var d=Pj();U===a&&W===b||Qj(a,b);do try{ak();break}catch(e){Sj(a,e)}while(1);qg();X=c;oj.current=d;if(null!==Y)throw Error(y(261));U=null;W=0;return V}function ak(){for(;null!==Y;)bk(Y)}function Rj(){for(;null!==Y&&!Qf();)bk(Y)}function bk(a){var b=ck(a.alternate,a,qj);a.memoizedProps=a.pendingProps;null===b?Zj(a):Y=b;pj.current=null}\nfunction Zj(a){var b=a;do{var c=b.alternate;a=b.return;if(0===(b.flags&2048)){c=Gi(c,b,qj);if(null!==c){Y=c;return}c=b;if(24!==c.tag&&23!==c.tag||null===c.memoizedState||0!==(qj&1073741824)||0===(c.mode&4)){for(var d=0,e=c.child;null!==e;)d|=e.lanes|e.childLanes,e=e.sibling;c.childLanes=d}null!==a&&0===(a.flags&2048)&&(null===a.firstEffect&&(a.firstEffect=b.firstEffect),null!==b.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=b.firstEffect),a.lastEffect=b.lastEffect),1<b.flags&&(null!==\na.lastEffect?a.lastEffect.nextEffect=b:a.firstEffect=b,a.lastEffect=b))}else{c=Li(b);if(null!==c){c.flags&=2047;Y=c;return}null!==a&&(a.firstEffect=a.lastEffect=null,a.flags|=2048)}b=b.sibling;if(null!==b){Y=b;return}Y=b=a}while(null!==b);0===V&&(V=5)}function Uj(a){var b=eg();gg(99,dk.bind(null,a,b));return null}\nfunction dk(a,b){do Oj();while(null!==yj);if(0!==(X&48))throw Error(y(327));var c=a.finishedWork;if(null===c)return null;a.finishedWork=null;a.finishedLanes=0;if(c===a.current)throw Error(y(177));a.callbackNode=null;var d=c.lanes|c.childLanes,e=d,f=a.pendingLanes&~e;a.pendingLanes=e;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=e;a.mutableReadLanes&=e;a.entangledLanes&=e;e=a.entanglements;for(var g=a.eventTimes,h=a.expirationTimes;0<f;){var k=31-Vc(f),l=1<<k;e[k]=0;g[k]=-1;h[k]=-1;f&=~l}null!==\nCj&&0===(d&24)&&Cj.has(a)&&Cj.delete(a);a===U&&(Y=U=null,W=0);1<c.flags?null!==c.lastEffect?(c.lastEffect.nextEffect=c,d=c.firstEffect):d=c:d=c.firstEffect;if(null!==d){e=X;X|=32;pj.current=null;kf=fd;g=Ne();if(Oe(g)){if(\"selectionStart\"in g)h={start:g.selectionStart,end:g.selectionEnd};else a:if(h=(h=g.ownerDocument)&&h.defaultView||window,(l=h.getSelection&&h.getSelection())&&0!==l.rangeCount){h=l.anchorNode;f=l.anchorOffset;k=l.focusNode;l=l.focusOffset;try{h.nodeType,k.nodeType}catch(va){h=null;\nbreak a}var n=0,A=-1,p=-1,C=0,x=0,w=g,z=null;b:for(;;){for(var u;;){w!==h||0!==f&&3!==w.nodeType||(A=n+f);w!==k||0!==l&&3!==w.nodeType||(p=n+l);3===w.nodeType&&(n+=w.nodeValue.length);if(null===(u=w.firstChild))break;z=w;w=u}for(;;){if(w===g)break b;z===h&&++C===f&&(A=n);z===k&&++x===l&&(p=n);if(null!==(u=w.nextSibling))break;w=z;z=w.parentNode}w=u}h=-1===A||-1===p?null:{start:A,end:p}}else h=null;h=h||{start:0,end:0}}else h=null;lf={focusedElem:g,selectionRange:h};fd=!1;Ij=null;Jj=!1;Z=d;do try{ek()}catch(va){if(null===\nZ)throw Error(y(330));Wi(Z,va);Z=Z.nextEffect}while(null!==Z);Ij=null;Z=d;do try{for(g=a;null!==Z;){var t=Z.flags;t&16&&pb(Z.stateNode,\"\");if(t&128){var q=Z.alternate;if(null!==q){var v=q.ref;null!==v&&(\"function\"===typeof v?v(null):v.current=null)}}switch(t&1038){case 2:fj(Z);Z.flags&=-3;break;case 6:fj(Z);Z.flags&=-3;ij(Z.alternate,Z);break;case 1024:Z.flags&=-1025;break;case 1028:Z.flags&=-1025;ij(Z.alternate,Z);break;case 4:ij(Z.alternate,Z);break;case 8:h=Z;cj(g,h);var J=h.alternate;dj(h);null!==\nJ&&dj(J)}Z=Z.nextEffect}}catch(va){if(null===Z)throw Error(y(330));Wi(Z,va);Z=Z.nextEffect}while(null!==Z);v=lf;q=Ne();t=v.focusedElem;g=v.selectionRange;if(q!==t&&t&&t.ownerDocument&&Me(t.ownerDocument.documentElement,t)){null!==g&&Oe(t)&&(q=g.start,v=g.end,void 0===v&&(v=q),\"selectionStart\"in t?(t.selectionStart=q,t.selectionEnd=Math.min(v,t.value.length)):(v=(q=t.ownerDocument||document)&&q.defaultView||window,v.getSelection&&(v=v.getSelection(),h=t.textContent.length,J=Math.min(g.start,h),g=void 0===\ng.end?J:Math.min(g.end,h),!v.extend&&J>g&&(h=g,g=J,J=h),h=Le(t,J),f=Le(t,g),h&&f&&(1!==v.rangeCount||v.anchorNode!==h.node||v.anchorOffset!==h.offset||v.focusNode!==f.node||v.focusOffset!==f.offset)&&(q=q.createRange(),q.setStart(h.node,h.offset),v.removeAllRanges(),J>g?(v.addRange(q),v.extend(f.node,f.offset)):(q.setEnd(f.node,f.offset),v.addRange(q))))));q=[];for(v=t;v=v.parentNode;)1===v.nodeType&&q.push({element:v,left:v.scrollLeft,top:v.scrollTop});\"function\"===typeof t.focus&&t.focus();for(t=\n0;t<q.length;t++)v=q[t],v.element.scrollLeft=v.left,v.element.scrollTop=v.top}fd=!!kf;lf=kf=null;a.current=c;Z=d;do try{for(t=a;null!==Z;){var K=Z.flags;K&36&&Yi(t,Z.alternate,Z);if(K&128){q=void 0;var Q=Z.ref;if(null!==Q){var L=Z.stateNode;switch(Z.tag){case 5:q=L;break;default:q=L}\"function\"===typeof Q?Q(q):Q.current=q}}Z=Z.nextEffect}}catch(va){if(null===Z)throw Error(y(330));Wi(Z,va);Z=Z.nextEffect}while(null!==Z);Z=null;$f();X=e}else a.current=c;if(xj)xj=!1,yj=a,zj=b;else for(Z=d;null!==Z;)b=\nZ.nextEffect,Z.nextEffect=null,Z.flags&8&&(K=Z,K.sibling=null,K.stateNode=null),Z=b;d=a.pendingLanes;0===d&&(Ti=null);1===d?a===Ej?Dj++:(Dj=0,Ej=a):Dj=0;c=c.stateNode;if(Mf&&\"function\"===typeof Mf.onCommitFiberRoot)try{Mf.onCommitFiberRoot(Lf,c,void 0,64===(c.current.flags&64))}catch(va){}Mj(a,O());if(Qi)throw Qi=!1,a=Ri,Ri=null,a;if(0!==(X&8))return null;ig();return null}\nfunction ek(){for(;null!==Z;){var a=Z.alternate;Jj||null===Ij||(0!==(Z.flags&8)?dc(Z,Ij)&&(Jj=!0):13===Z.tag&&mj(a,Z)&&dc(Z,Ij)&&(Jj=!0));var b=Z.flags;0!==(b&256)&&Xi(a,Z);0===(b&512)||xj||(xj=!0,hg(97,function(){Oj();return null}));Z=Z.nextEffect}}function Oj(){if(90!==zj){var a=97<zj?97:zj;zj=90;return gg(a,fk)}return!1}function $i(a,b){Aj.push(b,a);xj||(xj=!0,hg(97,function(){Oj();return null}))}function Zi(a,b){Bj.push(b,a);xj||(xj=!0,hg(97,function(){Oj();return null}))}\nfunction fk(){if(null===yj)return!1;var a=yj;yj=null;if(0!==(X&48))throw Error(y(331));var b=X;X|=32;var c=Bj;Bj=[];for(var d=0;d<c.length;d+=2){var e=c[d],f=c[d+1],g=e.destroy;e.destroy=void 0;if(\"function\"===typeof g)try{g()}catch(k){if(null===f)throw Error(y(330));Wi(f,k)}}c=Aj;Aj=[];for(d=0;d<c.length;d+=2){e=c[d];f=c[d+1];try{var h=e.create;e.destroy=h()}catch(k){if(null===f)throw Error(y(330));Wi(f,k)}}for(h=a.current.firstEffect;null!==h;)a=h.nextEffect,h.nextEffect=null,h.flags&8&&(h.sibling=\nnull,h.stateNode=null),h=a;X=b;ig();return!0}function gk(a,b,c){b=Mi(c,b);b=Pi(a,b,1);Ag(a,b);b=Hg();a=Kj(a,1);null!==a&&($c(a,1,b),Mj(a,b))}\nfunction Wi(a,b){if(3===a.tag)gk(a,a,b);else for(var c=a.return;null!==c;){if(3===c.tag){gk(c,a,b);break}else if(1===c.tag){var d=c.stateNode;if(\"function\"===typeof c.type.getDerivedStateFromError||\"function\"===typeof d.componentDidCatch&&(null===Ti||!Ti.has(d))){a=Mi(b,a);var e=Si(c,a,1);Ag(c,e);e=Hg();c=Kj(c,1);if(null!==c)$c(c,1,e),Mj(c,e);else if(\"function\"===typeof d.componentDidCatch&&(null===Ti||!Ti.has(d)))try{d.componentDidCatch(b,a)}catch(f){}break}}c=c.return}}\nfunction Yj(a,b,c){var d=a.pingCache;null!==d&&d.delete(b);b=Hg();a.pingedLanes|=a.suspendedLanes&c;U===a&&(W&c)===c&&(4===V||3===V&&(W&62914560)===W&&500>O()-jj?Qj(a,0):uj|=c);Mj(a,b)}function lj(a,b){var c=a.stateNode;null!==c&&c.delete(b);b=0;0===b&&(b=a.mode,0===(b&2)?b=1:0===(b&4)?b=99===eg()?1:2:(0===Gj&&(Gj=tj),b=Yc(62914560&~Gj),0===b&&(b=4194304)));c=Hg();a=Kj(a,b);null!==a&&($c(a,b,c),Mj(a,c))}var ck;\nck=function(a,b,c){var d=b.lanes;if(null!==a)if(a.memoizedProps!==b.pendingProps||N.current)ug=!0;else if(0!==(c&d))ug=0!==(a.flags&16384)?!0:!1;else{ug=!1;switch(b.tag){case 3:ri(b);sh();break;case 5:gh(b);break;case 1:Ff(b.type)&&Jf(b);break;case 4:eh(b,b.stateNode.containerInfo);break;case 10:d=b.memoizedProps.value;var e=b.type._context;I(mg,e._currentValue);e._currentValue=d;break;case 13:if(null!==b.memoizedState){if(0!==(c&b.child.childLanes))return ti(a,b,c);I(P,P.current&1);b=hi(a,b,c);return null!==\nb?b.sibling:null}I(P,P.current&1);break;case 19:d=0!==(c&b.childLanes);if(0!==(a.flags&64)){if(d)return Ai(a,b,c);b.flags|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);I(P,P.current);if(d)break;else return null;case 23:case 24:return b.lanes=0,mi(a,b,c)}return hi(a,b,c)}else ug=!1;b.lanes=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);a=b.pendingProps;e=Ef(b,M.current);tg(b,c);e=Ch(null,b,d,a,e,c);b.flags|=1;if(\"object\"===\ntypeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;b.memoizedState=null;b.updateQueue=null;if(Ff(d)){var f=!0;Jf(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;xg(b);var g=d.getDerivedStateFromProps;\"function\"===typeof g&&Gg(b,d,g,a);e.updater=Kg;b.stateNode=e;e._reactInternals=b;Og(b,d,a,c);b=qi(null,b,d,!0,f,c)}else b.tag=0,fi(null,b,e,c),b=b.child;return b;case 16:e=b.elementType;a:{null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);\na=b.pendingProps;f=e._init;e=f(e._payload);b.type=e;f=b.tag=hk(e);a=lg(e,a);switch(f){case 0:b=li(null,b,e,a,c);break a;case 1:b=pi(null,b,e,a,c);break a;case 11:b=gi(null,b,e,a,c);break a;case 14:b=ii(null,b,e,lg(e.type,a),d,c);break a}throw Error(y(306,e,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),li(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),pi(a,b,d,e,c);case 3:ri(b);d=b.updateQueue;if(null===a||null===d)throw Error(y(282));\nd=b.pendingProps;e=b.memoizedState;e=null!==e?e.element:null;yg(a,b);Cg(b,d,null,c);d=b.memoizedState.element;if(d===e)sh(),b=hi(a,b,c);else{e=b.stateNode;if(f=e.hydrate)kh=rf(b.stateNode.containerInfo.firstChild),jh=b,f=lh=!0;if(f){a=e.mutableSourceEagerHydrationData;if(null!=a)for(e=0;e<a.length;e+=2)f=a[e],f._workInProgressVersionPrimary=a[e+1],th.push(f);c=Zg(b,null,d,c);for(b.child=c;c;)c.flags=c.flags&-3|1024,c=c.sibling}else fi(a,b,d,c),sh();b=b.child}return b;case 5:return gh(b),null===a&&\nph(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,nf(d,e)?g=null:null!==f&&nf(d,f)&&(b.flags|=16),oi(a,b),fi(a,b,g,c),b.child;case 6:return null===a&&ph(b),null;case 13:return ti(a,b,c);case 4:return eh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Yg(b,null,d,c):fi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),gi(a,b,d,e,c);case 7:return fi(a,b,b.pendingProps,c),b.child;case 8:return fi(a,b,b.pendingProps.children,\nc),b.child;case 12:return fi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;g=b.memoizedProps;f=e.value;var h=b.type._context;I(mg,h._currentValue);h._currentValue=f;if(null!==g)if(h=g.value,f=He(h,f)?0:(\"function\"===typeof d._calculateChangedBits?d._calculateChangedBits(h,f):1073741823)|0,0===f){if(g.children===e.children&&!N.current){b=hi(a,b,c);break a}}else for(h=b.child,null!==h&&(h.return=b);null!==h;){var k=h.dependencies;if(null!==k){g=h.child;for(var l=\nk.firstContext;null!==l;){if(l.context===d&&0!==(l.observedBits&f)){1===h.tag&&(l=zg(-1,c&-c),l.tag=2,Ag(h,l));h.lanes|=c;l=h.alternate;null!==l&&(l.lanes|=c);sg(h.return,c);k.lanes|=c;break}l=l.next}}else g=10===h.tag?h.type===b.type?null:h.child:h.child;if(null!==g)g.return=h;else for(g=h;null!==g;){if(g===b){g=null;break}h=g.sibling;if(null!==h){h.return=g.return;g=h;break}g=g.return}h=g}fi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,f=b.pendingProps,d=f.children,tg(b,c),e=vg(e,\nf.unstable_observedBits),d=d(e),b.flags|=1,fi(a,b,d,c),b.child;case 14:return e=b.type,f=lg(e,b.pendingProps),f=lg(e.type,f),ii(a,b,e,f,d,c);case 15:return ki(a,b,b.type,b.pendingProps,d,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2),b.tag=1,Ff(d)?(a=!0,Jf(b)):a=!1,tg(b,c),Mg(b,d,e),Og(b,d,e,c),qi(null,b,d,!0,a,c);case 19:return Ai(a,b,c);case 23:return mi(a,b,c);case 24:return mi(a,b,c)}throw Error(y(156,b.tag));\n};function ik(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.flags=0;this.lastEffect=this.firstEffect=this.nextEffect=null;this.childLanes=this.lanes=0;this.alternate=null}function nh(a,b,c,d){return new ik(a,b,c,d)}function ji(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction hk(a){if(\"function\"===typeof a)return ji(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Aa)return 11;if(a===Da)return 14}return 2}\nfunction Tg(a,b){var c=a.alternate;null===c?(c=nh(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.nextEffect=null,c.firstEffect=null,c.lastEffect=null);c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction Vg(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)ji(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ua:return Xg(c.children,e,f,b);case Ha:g=8;e|=16;break;case wa:g=8;e|=1;break;case xa:return a=nh(12,c,b,e|8),a.elementType=xa,a.type=xa,a.lanes=f,a;case Ba:return a=nh(13,c,b,e),a.type=Ba,a.elementType=Ba,a.lanes=f,a;case Ca:return a=nh(19,c,b,e),a.elementType=Ca,a.lanes=f,a;case Ia:return vi(c,e,f,b);case Ja:return a=nh(24,c,b,e),a.elementType=Ja,a.lanes=f,a;default:if(\"object\"===\ntypeof a&&null!==a)switch(a.$$typeof){case ya:g=10;break a;case za:g=9;break a;case Aa:g=11;break a;case Da:g=14;break a;case Ea:g=16;d=null;break a;case Fa:g=22;break a}throw Error(y(130,null==a?a:typeof a,\"\"));}b=nh(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Xg(a,b,c,d){a=nh(7,a,d,b);a.lanes=c;return a}function vi(a,b,c,d){a=nh(23,a,d,b);a.elementType=Ia;a.lanes=c;return a}function Ug(a,b,c){a=nh(6,a,null,b);a.lanes=c;return a}\nfunction Wg(a,b,c){b=nh(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction jk(a,b,c){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.pendingContext=this.context=null;this.hydrate=c;this.callbackNode=null;this.callbackPriority=0;this.eventTimes=Zc(0);this.expirationTimes=Zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=Zc(0);this.mutableSourceEagerHydrationData=null}\nfunction kk(a,b,c){var d=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:ta,key:null==d?null:\"\"+d,children:a,containerInfo:b,implementation:c}}\nfunction lk(a,b,c,d){var e=b.current,f=Hg(),g=Ig(e);a:if(c){c=c._reactInternals;b:{if(Zb(c)!==c||1!==c.tag)throw Error(y(170));var h=c;do{switch(h.tag){case 3:h=h.stateNode.context;break b;case 1:if(Ff(h.type)){h=h.stateNode.__reactInternalMemoizedMergedChildContext;break b}}h=h.return}while(null!==h);throw Error(y(171));}if(1===c.tag){var k=c.type;if(Ff(k)){c=If(c,k,h);break a}}c=h}else c=Cf;null===b.context?b.context=c:b.pendingContext=c;b=zg(f,g);b.payload={element:a};d=void 0===d?null:d;null!==\nd&&(b.callback=d);Ag(e,b);Jg(e,g,f);return g}function mk(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function nk(a,b){a=a.memoizedState;if(null!==a&&null!==a.dehydrated){var c=a.retryLane;a.retryLane=0!==c&&c<b?c:b}}function ok(a,b){nk(a,b);(a=a.alternate)&&nk(a,b)}function pk(){return null}\nfunction qk(a,b,c){var d=null!=c&&null!=c.hydrationOptions&&c.hydrationOptions.mutableSources||null;c=new jk(a,b,null!=c&&!0===c.hydrate);b=nh(3,null,null,2===b?7:1===b?3:0);c.current=b;b.stateNode=c;xg(b);a[ff]=c.current;cf(8===a.nodeType?a.parentNode:a);if(d)for(a=0;a<d.length;a++){b=d[a];var e=b._getVersion;e=e(b._source);null==c.mutableSourceEagerHydrationData?c.mutableSourceEagerHydrationData=[b,e]:c.mutableSourceEagerHydrationData.push(b,e)}this._internalRoot=c}\nqk.prototype.render=function(a){lk(a,this._internalRoot,null,null)};qk.prototype.unmount=function(){var a=this._internalRoot,b=a.containerInfo;lk(null,a,null,function(){b[ff]=null})};function rk(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==a.nodeType||\" react-mount-point-unstable \"!==a.nodeValue))}\nfunction sk(a,b){b||(b=a?9===a.nodeType?a.documentElement:a.firstChild:null,b=!(!b||1!==b.nodeType||!b.hasAttribute(\"data-reactroot\")));if(!b)for(var c;c=a.lastChild;)a.removeChild(c);return new qk(a,0,b?{hydrate:!0}:void 0)}\nfunction tk(a,b,c,d,e){var f=c._reactRootContainer;if(f){var g=f._internalRoot;if(\"function\"===typeof e){var h=e;e=function(){var a=mk(g);h.call(a)}}lk(b,g,a,e)}else{f=c._reactRootContainer=sk(c,d);g=f._internalRoot;if(\"function\"===typeof e){var k=e;e=function(){var a=mk(g);k.call(a)}}Xj(function(){lk(b,g,a,e)})}return mk(g)}ec=function(a){if(13===a.tag){var b=Hg();Jg(a,4,b);ok(a,4)}};fc=function(a){if(13===a.tag){var b=Hg();Jg(a,67108864,b);ok(a,67108864)}};\ngc=function(a){if(13===a.tag){var b=Hg(),c=Ig(a);Jg(a,c,b);ok(a,c)}};hc=function(a,b){return b()};\nyb=function(a,b,c){switch(b){case \"input\":ab(a,c);b=c.name;if(\"radio\"===c.type&&null!=b){for(c=a;c.parentNode;)c=c.parentNode;c=c.querySelectorAll(\"input[name=\"+JSON.stringify(\"\"+b)+'][type=\"radio\"]');for(b=0;b<c.length;b++){var d=c[b];if(d!==a&&d.form===a.form){var e=Db(d);if(!e)throw Error(y(90));Wa(d);ab(d,e)}}}break;case \"textarea\":ib(a,c);break;case \"select\":b=c.value,null!=b&&fb(a,!!c.multiple,b,!1)}};Gb=Wj;\nHb=function(a,b,c,d,e){var f=X;X|=4;try{return gg(98,a.bind(null,b,c,d,e))}finally{X=f,0===X&&(wj(),ig())}};Ib=function(){0===(X&49)&&(Vj(),Oj())};Jb=function(a,b){var c=X;X|=2;try{return a(b)}finally{X=c,0===X&&(wj(),ig())}};function uk(a,b){var c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!rk(b))throw Error(y(200));return kk(a,b,null,c)}var vk={Events:[Cb,ue,Db,Eb,Fb,Oj,{current:!1}]},wk={findFiberByHostInstance:wc,bundleType:0,version:\"17.0.1\",rendererPackageName:\"react-dom\"};\nvar xk={bundleType:wk.bundleType,version:wk.version,rendererPackageName:wk.rendererPackageName,rendererConfig:wk.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:ra.ReactCurrentDispatcher,findHostInstanceByFiber:function(a){a=cc(a);return null===a?null:a.stateNode},findFiberByHostInstance:wk.findFiberByHostInstance||\npk,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null};if(\"undefined\"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var yk=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!yk.isDisabled&&yk.supportsFiber)try{Lf=yk.inject(xk),Mf=yk}catch(a){}}exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=vk;exports.createPortal=uk;\nexports.findDOMNode=function(a){if(null==a)return null;if(1===a.nodeType)return a;var b=a._reactInternals;if(void 0===b){if(\"function\"===typeof a.render)throw Error(y(188));throw Error(y(268,Object.keys(a)));}a=cc(b);a=null===a?null:a.stateNode;return a};exports.flushSync=function(a,b){var c=X;if(0!==(c&48))return a(b);X|=1;try{if(a)return gg(99,a.bind(null,b))}finally{X=c,ig()}};exports.hydrate=function(a,b,c){if(!rk(b))throw Error(y(200));return tk(null,a,b,!0,c)};\nexports.render=function(a,b,c){if(!rk(b))throw Error(y(200));return tk(null,a,b,!1,c)};exports.unmountComponentAtNode=function(a){if(!rk(a))throw Error(y(40));return a._reactRootContainer?(Xj(function(){tk(null,null,a,!1,function(){a._reactRootContainer=null;a[ff]=null})}),!0):!1};exports.unstable_batchedUpdates=Wj;exports.unstable_createPortal=function(a,b){return uk(a,b,2<arguments.length&&void 0!==arguments[2]?arguments[2]:null)};\nexports.unstable_renderSubtreeIntoContainer=function(a,b,c,d){if(!rk(c))throw Error(y(200));if(null==a||void 0===a._reactInternals)throw Error(y(38));return tk(a,b,c,!1,d)};exports.version=\"17.0.1\";\n","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","/** @jsx jsx */\nimport { jsx } from '@emotion/core';\nimport React from 'react';\nimport { Builder } from '@builder.io/sdk';\nimport { BuilderBlock } from './builder-block.component';\n// TODO: fetch these for user and send them with same response like graphql\nimport { Size } from '../constants/device-sizes.constant';\nimport ReactDOM from 'react-dom';\nimport { BuilderStoreContext } from '../store/builder-store';\n\nexport interface BuilderBlocksProps {\n fieldName?: string;\n // TODO: block type (ElementType[])\n blocks?: any[] | React.ReactNode;\n child?: boolean;\n // TODO: use new react context for this to pass window size all the way down\n size?: Size;\n style?: React.CSSProperties;\n parentElementId?: string;\n parent?: any;\n dataPath?: string;\n className?: string;\n emailMode?: boolean;\n}\n\ninterface BuilderBlocksState {\n // width: number\n}\n\n// TODO: options to set direciotn\nexport class BuilderBlocks extends React.Component<BuilderBlocksProps, BuilderBlocksState> {\n get isRoot() {\n return !this.props.child;\n }\n\n get noBlocks() {\n const { blocks } = this.props;\n return !(blocks && (blocks as any).length); // TODO: allow react nodes\n }\n get path() {\n const pathPrefix = 'component.options.';\n let path = this.props.dataPath || '';\n const thisPrefix = 'this.';\n if (path.trim()) {\n if (path.startsWith(thisPrefix)) {\n path = path.replace(thisPrefix, '');\n } else if (!path.startsWith(pathPrefix)) {\n path = pathPrefix + path;\n }\n }\n return path;\n }\n\n get parentId() {\n if (this.props.parentElementId) {\n return this.props.parentElementId;\n }\n return this.props.parent && this.props.parent.id;\n }\n\n onClickEmptyBlocks = () => {\n if (Builder.isIframe && this.noBlocks) {\n window.parent?.postMessage(\n {\n type: 'builder.clickEmptyBlocks',\n data: {\n parentElementId: this.parentId,\n dataPath: this.path,\n },\n },\n '*'\n );\n }\n };\n onHoverEmptyBlocks = () => {\n if (Builder.isEditing && this.noBlocks) {\n window.parent?.postMessage(\n {\n type: 'builder.hoverEmptyBlocks',\n data: {\n parentElementId: this.parentId,\n dataPath: this.path,\n },\n },\n '*'\n );\n }\n };\n\n // <!-- Builder Blocks --> in comments hmm\n render() {\n const { blocks } = this.props;\n\n const TagName = this.props.emailMode ? 'span' : 'div';\n\n // TODO: how deep check this automatically for mobx... hmmm optional / peer dependency?\n return (\n // TODO: component <Stack direction=\"vertical\">\n // TODO: react.fragment instead?\n <TagName\n className={\n 'builder-blocks' +\n (this.noBlocks ? ' no-blocks' : '') +\n (this.props.child ? ' builder-blocks-child' : '') +\n (this.props.className ? ' ' + this.props.className : '')\n }\n builder-type=\"blocks\"\n // TODO: only fi in iframe?\n builder-path={Builder.isIframe ? this.path : undefined}\n builder-parent-id={this.parentId}\n css={\n {\n ...(!this.props.emailMode && {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'stretch',\n }),\n ...this.props.style,\n } as any\n }\n onClick={() => {\n if (this.noBlocks) {\n this.onClickEmptyBlocks();\n }\n }}\n {...(Builder.isEditing && {\n onMouseEnter: () => this.onHoverEmptyBlocks(),\n })}\n >\n {/* TODO: if is react node (for react compatibility) render it */}\n {/* TODO: maybe don't do this to preserve blocks always editable */}\n {(blocks &&\n Array.isArray(blocks) &&\n (blocks as any[]).map((block, index) =>\n block && block['@type'] === '@builder.io/sdk:Element' ? (\n <BuilderBlock\n key={block.id}\n block={block}\n index={index}\n fieldName={this.props.fieldName}\n child={this.props.child}\n emailMode={this.props.emailMode}\n />\n ) : (\n block\n )\n )) ||\n blocks}\n </TagName>\n );\n }\n\n static renderInto(\n elementOrSelector: string | HTMLElement,\n props: BuilderBlocksProps = {},\n builderState: any\n ) {\n if (!elementOrSelector) {\n return;\n }\n\n let element: Element | null = null;\n\n if (typeof elementOrSelector === 'string') {\n element = document.querySelector(elementOrSelector);\n } else {\n if (elementOrSelector instanceof Element) {\n element = elementOrSelector;\n }\n }\n return ReactDOM.render(\n <BuilderStoreContext.Provider value={builderState}>\n <BuilderBlocks {...props} />\n </BuilderStoreContext.Provider>,\n element\n );\n }\n}\n","import React from 'react';\n\nexport const NoWrap = (props: React.ComponentPropsWithoutRef<any>) => props.children;\n","import * as React from 'react';\nimport { builder, Builder, BuilderContent, BuilderContentVariation } from '@builder.io/sdk';\n\nfunction getData(content: BuilderContentVariation) {\n if (typeof content?.data === 'undefined') {\n return undefined;\n }\n\n const { blocks, blocksString } = content.data;\n const hasBlocks = Array.isArray(blocks) || typeof blocksString === 'string';\n const newData: any = {\n ...content.data,\n ...(hasBlocks && { blocks: blocks || JSON.parse(blocksString) }),\n };\n\n delete newData.blocksString;\n return newData;\n}\n\nconst variantsScript = (variantsString: string, contentId: string) =>\n `\n(function() {\n if (window.builderNoTrack || !navigator.cookieEnabled) {\n return;\n }\n\n var variants = ${variantsString};\n function removeVariants() {\n variants.forEach(function (template) {\n document.querySelector('template[data-template-variant-id=\"' + template.id + '\"]').remove();\n });\n document.getElementById('variants-script-${contentId}').remove();\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.${contentId}';\n var variantInCookie = getCookie(cookieName);\n var availableIDs = variants.map(function(vr) { return vr.id }).concat('${contentId}');\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 = \"${contentId}\";\n setCookie(cookieName, \"${contentId}\");\n }\n }\n if (variantId && variantId !== \"${contentId}\") {\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, ' ');\n\ninterface VariantsProviderProps {\n initialContent: BuilderContent;\n children: (variants: BuilderContent[], renderScript?: () => JSX.Element) => JSX.Element;\n}\n\nexport const VariantsProvider: React.SFC<VariantsProviderProps> = ({\n initialContent,\n children,\n}) => {\n if (Builder.isBrowser && !builder.canTrack) {\n return children([initialContent]);\n }\n\n const hasTests = Boolean(Object.keys(initialContent?.variations || {}).length);\n\n if (!hasTests) return children([initialContent]);\n\n const variants: BuilderContent[] = Object.keys(initialContent.variations!).map(id => ({\n id,\n ...initialContent.variations![id],\n data: getData(initialContent.variations![id]!),\n }));\n\n const allVariants = [...variants, initialContent];\n if (Builder.isServer) {\n const variantsJson = JSON.stringify(\n Object.keys(initialContent.variations || {}).map(item => ({\n id: item,\n testRatio: initialContent.variations![item]!.testRatio,\n }))\n );\n const renderScript = () => (\n <script\n id={`variants-script-${initialContent.id}`}\n dangerouslySetInnerHTML={{\n __html: variantsScript(variantsJson, initialContent.id!),\n }}\n ></script>\n );\n\n // render all variants on the server side\n return <React.Fragment>{children(allVariants, renderScript)}</React.Fragment>;\n }\n\n const cookieName = `builder.tests.${initialContent.id}`;\n\n let variantId = builder.getCookie(cookieName);\n\n if (!variantId && Builder.isBrowser) {\n let n = 0;\n const random = Math.random();\n for (let i = 0; i < variants.length; i++) {\n const variant = variants[i];\n const testRatio = variant.testRatio;\n n += testRatio!;\n if (random < n) {\n builder.setCookie(cookieName, variant.id);\n variantId = variant.id;\n break;\n }\n }\n }\n\n if (!variantId) {\n // render initial content when no winning variation or on the server\n variantId = initialContent.id;\n builder.setCookie(cookieName, variantId);\n }\n\n return children([allVariants.find(item => item.id === variantId)!]);\n};\n","import React from 'react';\nimport {\n builder,\n Subscription,\n GetContentOptions,\n Builder,\n BuilderContent as Content,\n} from '@builder.io/sdk';\nimport { NoWrap } from './no-wrap';\nimport { applyPatchWithMinimalMutationChain } from '../functions/apply-patch-with-mutation';\nimport { VariantsProvider } from './variants-provider.component';\n\nexport type BuilderContentProps<ContentType> = {\n /**\n * Callback to run when content is fetched and loaded.\n */\n contentLoaded?: (data: any, content: any) => void;\n /**\n * Callback to run if an error occurred while fetching content.\n */\n contentError?: (error: any) => void;\n options?: GetContentOptions;\n children: (content: ContentType, loading?: boolean, fullData?: any) => React.ReactNode;\n /**\n * Only render what was explicitly passed in via `content` - don't fetch from\n * the Builder API.\n *\n * @see content\n */\n inline?: boolean;\n /**\n * @package\n * @deprecated\n */\n dataOnly?: boolean;\n /**\n * @package\n * Pass in a specific builder instance to use instead of the default\n * singleton.\n */\n builder?: Builder;\n /**\n * @deprecated and unnecessary\n */\n isStatic?: boolean;\n /**\n * Builder content object to use instead of fetching from the API.\n *\n * Required if `inline` is set to `true`.\n */\n content?: Content;\n} & ({ model: string } | { modelName: string }); // model and modelName are aliases of the same thing¸\n\n/**\n * When passed content json explicitly it'll calculate a/b tests on the content\n * and pass the winning variation down to the children function. If then content\n * prop was omitted it'll try to fetch matching content from your Builder\n * account based on the default user attributes and model.\n */\nexport class BuilderContent<ContentType extends object = any> extends React.Component<\n BuilderContentProps<ContentType>\n> {\n ref: HTMLDivElement | null = null;\n\n get builder() {\n return this.props.builder || builder;\n }\n get name() {\n const props = this.props;\n\n if ('model' in props) {\n return props.model;\n } else {\n return props.modelName;\n }\n }\n\n get renderedVariantId() {\n const id = this.props.isStatic\n ? this.builder.getCookie(`builder.tests.${this.data?.id}`)\n : this.data?.variationId;\n if (id !== null) {\n return id;\n }\n }\n\n get options() {\n let options = {\n ...(this.props.options || ({} as GetContentOptions)),\n };\n if (!options.key && this.props.content?.id && !Builder.isEditing && !Builder.isPreviewing) {\n options.key = this.props.content.id;\n }\n if (\n this.props.content &&\n !options.initialContent?.length &&\n (this.props.inline || !Builder.isPreviewing)\n ) {\n options.initialContent = [this.props.content];\n }\n\n return options;\n }\n\n get data() {\n const content: Content =\n ((this.props.inline || !Builder.isBrowser || this.firstLoad) &&\n this.options.initialContent &&\n this.options.initialContent[0]) ||\n this.state.data;\n\n return getContentWithInfo(content);\n }\n\n state = {\n loading: !this.props.content,\n data: getContentWithInfo(this.props.content),\n updates: 1,\n };\n\n onWindowMessage = (event: MessageEvent) => {\n const message = event.data;\n if (!message) {\n return;\n }\n switch (message.type) {\n case 'builder.patchUpdates': {\n if (this.props.options?.noEditorUpdates) {\n return;\n }\n const { data } = message;\n if (!(data && data.data)) {\n break;\n }\n const patches = data.data[this.state.data?.id!];\n if (!(patches && patches.length)) {\n return;\n }\n\n if (location.href.includes('builder.debug=true')) {\n eval('debugger');\n }\n let newData = this.state.data as any;\n for (const patch of patches) {\n newData = applyPatchWithMinimalMutationChain(newData, patch, false);\n }\n this.setState({\n updates: this.state.updates + 1,\n data: newData,\n });\n if (this.props.contentLoaded) {\n this.props.contentLoaded(newData.data, newData);\n }\n break;\n }\n }\n };\n\n subscriptions = new Subscription();\n\n firstLoad = true;\n clicked = false;\n trackedImpression = false;\n\n intersectionObserver: IntersectionObserver | null = null;\n\n // TODO: observe model name for changes\n componentDidMount() {\n // Temporary to test metrics diving in with bigquery and heatmaps\n // this.builder.autoTrack = true;\n // this.builder.env = 'development';\n if (!this.props.inline || Builder.isEditing || Builder.isPreviewing) {\n this.subscribeToContent();\n } else if (this.props.inline && this.options?.initialContent?.length) {\n const contentData = this.options.initialContent[0];\n // TODO: intersectionobserver like in subscribetocontent - reuse the logic\n if (contentData?.id) {\n this.builder.trackImpression(contentData.id, this.renderedVariantId, undefined, {\n content: contentData,\n });\n }\n }\n\n if (Builder.isEditing) {\n addEventListener('message', this.onWindowMessage);\n }\n\n /// REACT15ONLY if (this.ref) { this.ref.setAttribute('builder-model', this.name); }\n }\n\n subscribeToContent() {\n if (this.name !== '_inline') {\n // TODO:... using targeting...? express.request hmmm\n this.subscriptions.add(\n builder.queueGetContent(this.name, this.options).subscribe(\n matches => {\n const match = matches && matches[0];\n this.setState({\n data: match,\n loading: false,\n });\n // when BuilderContent is wrapping a BuilderComponent of the same model, the BuilderComponent is passing initialContent on the same key\n // causing the sdk to resolve this call to the initialContent instead of the previewed/edited content\n // so we test here if the BuilderContent is being used directly ( not inlined ) and it has initial content ( content prop ), we let the first render go through to show the initial content\n // and we subscribe again to get the draft/editing content\n const isPreviewing = (builder.editingModel || builder.previewingModel) === this.name;\n if (!this.props.inline && this.props.content && this.firstLoad && isPreviewing) {\n this.firstLoad = false;\n this.subscriptions.unsubscribe();\n this.subscribeToContent();\n }\n\n if (match && this.firstLoad) {\n this.firstLoad = false;\n // TODO: autoTrack\n if (builder.autoTrack && !Builder.isEditing) {\n let addedObserver = false;\n if (typeof IntersectionObserver === 'function' && this.ref) {\n try {\n const observer = (this.intersectionObserver = new IntersectionObserver(\n (entries, observer) => {\n entries.forEach(entry => {\n // In view\n if (entry.intersectionRatio > 0 && !this.trackedImpression) {\n this.builder.trackImpression(\n match.id!,\n this.renderedVariantId,\n undefined,\n {\n content: this.data,\n }\n ),\n { content: this.data };\n this.trackedImpression = true;\n if (this.ref) {\n observer.unobserve(this.ref);\n }\n }\n });\n }\n ));\n\n observer.observe(this.ref);\n addedObserver = true;\n } catch (err) {\n console.warn('Could not bind intersection observer');\n }\n }\n if (!addedObserver) {\n this.trackedImpression = true;\n this.builder.trackImpression(match.id!, this.renderedVariantId, undefined, {\n content: match,\n });\n }\n }\n }\n if (this.props.contentLoaded) {\n this.props.contentLoaded(match && match.data, match);\n }\n },\n error => {\n if (this.props.contentError) {\n this.props.contentError(error);\n this.setState({\n loading: false,\n });\n }\n }\n )\n );\n }\n }\n\n componentWillUnmount() {\n if (Builder.isEditing) {\n removeEventListener('message', this.onWindowMessage);\n }\n\n this.subscriptions.unsubscribe();\n if (this.intersectionObserver && this.ref) {\n this.intersectionObserver.unobserve(this.ref);\n }\n }\n\n onClick = (reactEvent: React.MouseEvent<HTMLElement>) => {\n // TODO: viewport scrolling tracking for impression events\n const event = reactEvent.nativeEvent;\n\n const content = this.data;\n if (!content) {\n return;\n }\n if (builder.autoTrack) {\n this.builder.trackInteraction(content.id!, this.renderedVariantId, this.clicked, event, {\n content,\n });\n }\n if (!this.clicked) {\n this.clicked = true;\n }\n };\n\n render() {\n if (this.props.dataOnly) {\n return null;\n }\n const { loading } = this.state;\n\n const useData: any = this.data;\n const TagName = this.props.dataOnly ? NoWrap : 'div';\n return (\n <VariantsProvider initialContent={useData}>\n {(variants, renderScript) => {\n return (\n <React.Fragment>\n {variants.map((content, index) => {\n // default Variation is at the end, wrap the rest with template\n // TODO: IE11 don't support templates\n const Tag = index === variants.length - 1 ? React.Fragment : 'template';\n return (\n <React.Fragment key={String(content?.id! + index)}>\n {Tag !== 'template' && renderScript?.()}\n <Tag\n key={String(content?.id! + index)}\n {...(Tag === 'template' && {\n 'data-template-variant-id': content?.id,\n })}\n >\n <TagName\n {...(index === 0 &&\n !this.props.dataOnly && {\n ref: (ref: any) => (this.ref = ref),\n })}\n className=\"builder-content\"\n onClick={this.onClick}\n builder-content-id={content?.id}\n builder-model={this.name}\n >\n {this.props.children(\n content?.data! as any,\n this.props.inline ? false : loading,\n useData\n )}\n </TagName>\n </Tag>\n </React.Fragment>\n );\n })}\n </React.Fragment>\n );\n }}\n </VariantsProvider>\n );\n }\n}\n\nexport const getContentWithInfo = (content?: Content) => {\n if (content) {\n const cookieValue = builder.getCookie(`builder.tests.${content.id}`);\n const cookieVariation =\n cookieValue === content.id ? content : content.variations?.[cookieValue];\n const variationName =\n cookieVariation?.name || (cookieVariation?.id === content.id ? 'Default variation' : '');\n\n return {\n ...content,\n variationId: cookieValue,\n testVariationId: cookieValue,\n testVariationName: variationName,\n };\n }\n return null;\n};\n","// Via https://github.com/sindresorhus/on-change but\n// compiled for ES5\n\n'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\n('use strict');\nvar PATH_SEPARATOR = '.';\nvar TARGET = Symbol('target');\nvar UNSUBSCRIBE = Symbol('unsubscribe');\nvar isPrimitive = function (value) {\n return value === null || (typeof value !== 'object' && typeof value !== 'function');\n};\nvar isBuiltinWithoutMutableMethods = function (value) {\n return value instanceof RegExp || value instanceof Number;\n};\nvar isBuiltinWithMutableMethods = function (value) {\n return value instanceof Date;\n};\nvar concatPath = function (path, property) {\n if (property && property.toString) {\n if (path) {\n path += PATH_SEPARATOR;\n }\n path += property.toString();\n }\n return path;\n};\nvar walkPath = function (path, callback) {\n var index;\n while (path) {\n index = path.indexOf(PATH_SEPARATOR);\n if (index === -1) {\n index = path.length;\n }\n callback(path.slice(0, index));\n path = path.slice(index + 1);\n }\n};\nvar shallowClone = function (value) {\n if (Array.isArray(value)) {\n return value.slice();\n }\n return Object.assign({}, value);\n};\nvar onChange = function (object, onChange, options) {\n if (typeof Proxy === 'undefined') {\n // TODO: use immer? or a technique like immer to diff maybe\n return object;\n }\n if (options === void 0) {\n options = {};\n }\n var proxyTarget = Symbol('ProxyTarget');\n var inApply = false;\n var changed = false;\n var applyPath;\n var applyPrevious;\n var isUnsubscribed = false;\n var equals = options.equals || Object.is;\n var propCache = new WeakMap();\n var pathCache = new WeakMap();\n var proxyCache = new WeakMap();\n var handleChange = function (path, property, previous, value) {\n if (isUnsubscribed) {\n return;\n }\n if (!inApply) {\n onChange(concatPath(path, property), value, previous);\n return;\n }\n if (\n inApply &&\n applyPrevious &&\n previous !== undefined &&\n value !== undefined &&\n property !== 'length'\n ) {\n var item_1 = applyPrevious;\n if (path !== applyPath) {\n path = path.replace(applyPath, '').slice(1);\n walkPath(path, function (key) {\n item_1[key] = shallowClone(item_1[key]);\n item_1 = item_1[key];\n });\n }\n item_1[property] = previous;\n }\n changed = true;\n };\n var getOwnPropertyDescriptor = function (target, property) {\n var props = propCache ? propCache.get(target) : undefined;\n if (props) {\n return props;\n }\n props = new Map();\n propCache.set(target, props);\n var prop = props.get(property);\n if (!prop) {\n prop = Reflect.getOwnPropertyDescriptor(target, property);\n props.set(property, prop);\n }\n return prop;\n };\n var invalidateCachedDescriptor = function (target, property) {\n var props = propCache ? propCache.get(target) : undefined;\n if (props) {\n props.delete(property);\n }\n };\n var buildProxy = function (value, path) {\n if (isUnsubscribed) {\n return value;\n }\n pathCache.set(value, path);\n var proxy = proxyCache.get(value);\n if (proxy === undefined) {\n proxy = new Proxy(value, handler);\n proxyCache.set(value, proxy);\n }\n return proxy;\n };\n var unsubscribe = function (target) {\n isUnsubscribed = true;\n propCache = null;\n pathCache = null;\n proxyCache = null;\n return target;\n };\n var ignoreChange = function (property) {\n return isUnsubscribed || (options.ignoreSymbols === true && typeof property === 'symbol');\n };\n var handler = {\n get: function (target, property, receiver) {\n if (property === proxyTarget || property === TARGET) {\n return target;\n }\n if (property === UNSUBSCRIBE && pathCache.get(target) === '') {\n return unsubscribe(target);\n }\n var value = Reflect.get(target, property, receiver);\n if (\n isPrimitive(value) ||\n isBuiltinWithoutMutableMethods(value) ||\n property === 'constructor' ||\n options.isShallow === true\n ) {\n return value;\n }\n // Preserve invariants\n var descriptor = getOwnPropertyDescriptor(target, property);\n if (descriptor && !descriptor.configurable) {\n if (descriptor.set && !descriptor.get) {\n return undefined;\n }\n if (descriptor.writable === false) {\n return value;\n }\n }\n return buildProxy(value, concatPath(pathCache.get(target), property));\n },\n set: function (target, property, value, receiver) {\n if (value && value[proxyTarget] !== undefined) {\n value = value[proxyTarget];\n }\n var ignore = ignoreChange(property);\n var previous = ignore ? null : Reflect.get(target, property, receiver);\n var result = Reflect.set(target[proxyTarget] || target, property, value);\n if (!ignore && !equals(previous, value)) {\n handleChange(pathCache.get(target), property, previous, value);\n }\n return result;\n },\n defineProperty: function (target, property, descriptor) {\n var result = Reflect.defineProperty(target, property, descriptor);\n if (!ignoreChange(property)) {\n invalidateCachedDescriptor(target, property);\n handleChange(pathCache.get(target), property, undefined, descriptor.value);\n }\n return result;\n },\n deleteProperty: function (target, property) {\n if (!Reflect.has(target, property)) {\n return true;\n }\n var ignore = ignoreChange(property);\n var previous = ignore ? null : Reflect.get(target, property);\n var result = Reflect.deleteProperty(target, property);\n if (!ignore) {\n invalidateCachedDescriptor(target, property);\n handleChange(pathCache.get(target), property, previous);\n }\n return result;\n },\n apply: function (target, thisArg, argumentsList) {\n var compare = isBuiltinWithMutableMethods(thisArg);\n if (compare) {\n thisArg = thisArg[proxyTarget];\n }\n if (!inApply) {\n inApply = true;\n if (compare) {\n applyPrevious = thisArg.valueOf();\n }\n if (Array.isArray(thisArg) || toString.call(thisArg) === '[object Object]') {\n applyPrevious = shallowClone(thisArg[proxyTarget]);\n }\n applyPath = pathCache.get(target);\n applyPath = applyPath.slice(0, Math.max(applyPath.lastIndexOf(PATH_SEPARATOR), 0));\n var result = Reflect.apply(target, thisArg, argumentsList);\n inApply = false;\n if (changed || (compare && !equals(applyPrevious, thisArg.valueOf()))) {\n handleChange(applyPath, '', applyPrevious, thisArg[proxyTarget] || thisArg);\n applyPrevious = null;\n changed = false;\n }\n return result;\n }\n return Reflect.apply(target, thisArg, argumentsList);\n },\n };\n var proxy = buildProxy(object, '');\n onChange = onChange.bind(proxy);\n return proxy;\n};\nonChange.target = function (proxy) {\n return proxy[TARGET] || proxy;\n};\nonChange.unsubscribe = function (proxy) {\n return proxy[UNSUBSCRIBE] || proxy;\n};\nmodule.exports = onChange;\nexports.default = onChange;\n","import { Builder } from '@builder.io/sdk';\n\nconst nextTick = Builder.nextTick;\n\n// Plain function - e.g. const debounced = debounceNextTick(fn);\nexport function debounceNextTick(fn: (...args: any[]) => void): () => void;\n// Decorator - e.g. class Foo { @debounceNextTick myMethod() { ... } }\nexport function debounceNextTick(\n target: any,\n key: PropertyKey,\n descriptor: PropertyDescriptor\n): PropertyDescriptor;\nexport function debounceNextTick(\n target: object | ((...args: any[]) => void),\n key?: PropertyKey,\n descriptor?: PropertyDescriptor\n) {\n if (typeof key === 'undefined' && typeof target === 'function') {\n return debounceNextTickImpl(target as any);\n }\n return {\n configurable: true,\n enumerable: descriptor!.enumerable,\n get: function getter(): any {\n // Attach this function to the instance (not the class)\n Object.defineProperty(this, key!, {\n configurable: true,\n enumerable: descriptor!.enumerable,\n value: debounceNextTickImpl(descriptor!.value),\n });\n\n return (this as any)[key!];\n },\n } as PropertyDescriptor;\n}\n\nfunction debounceNextTickImpl(fn: (...args: any[]) => void) {\n let args: any[] | null = null;\n let context: any = null;\n\n return debounced;\n\n function debounced(this: any) {\n const previous = args;\n args = [].slice.call(arguments);\n context = this;\n if (previous !== null) return;\n nextTick(next);\n }\n\n function next() {\n fn.apply(context, args as any);\n args = null;\n context = null;\n }\n}\n","export function throttle(func: Function, wait: number, options: any = {}) {\n let context: any;\n let args: any;\n let result: any;\n let timeout = null as any;\n let previous = 0;\n const later = function () {\n previous = options.leading === false ? 0 : Date.now();\n timeout = null;\n result = func.apply(context, args);\n if (!timeout) context = args = null;\n };\n return function (this: any) {\n const now = Date.now();\n if (!previous && options.leading === false) previous = now;\n const remaining = wait - (now - previous);\n context = this;\n args = arguments;\n if (remaining <= 0 || remaining > wait) {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n previous = now;\n result = func.apply(context, args);\n if (!timeout) context = args = null;\n } else if (!timeout && options.trailing !== false) {\n timeout = setTimeout(later, remaining);\n }\n return result;\n };\n}\n","import React from 'react';\n\nexport const BuilderMetaContext = React.createContext({\n emailMode: false,\n ampMode: false,\n isServer: false,\n});\n","import { Builder } from '@builder.io/sdk';\nimport { safeDynamicRequire } from './safe-dynamic-require';\n\nexport const tryEval = (str?: string, data: any = {}, errors?: Error[]): any => {\n const value = str;\n if (!(typeof value === 'string' && value.trim())) {\n return;\n }\n const useReturn = !(value.includes(';') || value.includes(' return '));\n let fn: Function = () => {\n /* Intentionally empty */\n };\n try {\n if (Builder.isBrowser) {\n // tslint:disable-next-line:no-function-constructor-with-string-args\n // TODO: VM in node......\n fn = new Function(\n 'state',\n // TODO: remove the with () {} - make a page v3 that doesn't use this\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 (key === 'state') {\n return state;\n }\n return target[key]\n }\n });\n }\n with (rootState) {\n ${useReturn ? `return (${str});` : str};\n }`\n );\n }\n } catch (error: any) {\n if (Builder.isBrowser) {\n console.warn('Could not compile javascript', error);\n } else {\n // Add to req.options.errors to return to client\n }\n }\n try {\n if (Builder.isBrowser) {\n return fn(data || {});\n } else {\n // Below is a hack to get certain code to *only* load in the server build, to not screw with\n // browser bundler's like rollup and webpack. Our rollup plugin strips these comments only\n // for the server build\n // tslint:disable:comment-format\n const { VM } = safeDynamicRequire('vm2');\n return new VM({\n sandbox: {\n ...data,\n ...{ state: data },\n },\n // TODO: convert reutrn to module.exports on server\n }).run(value.replace(/(^|;)return /, '$1'));\n // tslint:enable:comment-format\n }\n } catch (error: any) {\n if (errors) {\n errors.push(error);\n }\n\n if (Builder.isBrowser) {\n console.warn('Builder custom code error:', error.message, 'in', str, error.stack);\n } else {\n if (process.env.DEBUG) {\n console.debug('Builder custom code error:', error.message, 'in', str, error.stack);\n }\n // Add to req.options.errors to return to client\n }\n }\n\n return;\n};\n","/**\n * Safe conversion to error type. Intended to be used in catch blocks where the\n * value is not guaranteed to be an error.\n *\n * @example\n * try {\n * throw new Error('Something went wrong')\n * }\n * catch (err: unknown) {\n * const error: Error = toError(err)\n * }\n */\nexport function toError(err: unknown): Error {\n if (err instanceof Error) return err;\n return new Error(String(err));\n}\n","import { BuilderElement } from '@builder.io/sdk';\n\nexport function getBuilderPixel(apiKey: string): BuilderElement {\n return {\n id: 'builder-pixel-' + Math.random().toString(36).split('.')[1],\n '@type': '@builder.io/sdk:Element',\n tagName: 'img',\n properties: {\n role: 'presentation',\n 'aria-hidden': 'true',\n src: `https://cdn.builder.io/api/v1/pixel?apiKey=${apiKey}`,\n },\n responsiveStyles: {\n large: {\n height: '0',\n width: '0',\n display: 'inline-block',\n opacity: '0',\n overflow: 'hidden',\n pointerEvents: 'none',\n },\n },\n };\n}\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { jsx, css } from '@emotion/core';\nimport { BuilderContent, getContentWithInfo } from './builder-content.component';\nimport { BuilderBlocks } from './builder-blocks.component';\nimport {\n Builder,\n GetContentOptions,\n builder,\n Subscription,\n BehaviorSubject,\n BuilderElement,\n BuilderContent as Content,\n} from '@builder.io/sdk';\nimport { BuilderStoreContext } from '../store/builder-store';\nimport hash from 'hash-sum';\nimport onChange from '../../lib/on-change';\n\nexport { onChange };\n\nimport { Breakpoints, getSizesForBreakpoints, Sizes } from '../constants/device-sizes.constant';\nimport {\n BuilderAsyncRequestsContext,\n RequestOrPromise,\n RequestInfo,\n isRequestInfo,\n} from '../store/builder-async-requests';\nimport { Url } from 'url';\nimport { debounceNextTick } from '../functions/debonce-next-tick';\nimport { throttle } from '../functions/throttle';\nimport { BuilderMetaContext } from '../store/builder-meta';\nimport { tryEval } from '../functions/try-eval';\nimport { toError } from '../to-error';\nimport { getBuilderPixel } from '../functions/get-builder-pixel';\n\nfunction pick<T, K extends keyof T>(obj: T, ...keys: K[]): Pick<T, K> {\n const ret: any = {};\n keys.forEach(key => {\n ret[key] = obj[key];\n });\n return ret;\n}\nfunction omit<T, K extends keyof T>(obj: T, ...keys: K[]): Omit<T, K> {\n const ret: any = { ...obj };\n keys.forEach(key => {\n delete ret[key];\n });\n return ret;\n}\n\nconst wrapComponent = (info: any) => {\n return (props: any) => {\n // TODO: convention for all of this, like builderTagProps={{ style: {} foo: 'bar' }}\n const Tag = props.builderTag || 'div';\n const inputNames = ['children'].concat(\n info.inputs?.map((item: any) => item.name as string) || []\n );\n\n const baseProps = omit(props, ...inputNames, 'attributes');\n const inputProps = props; // pick(props, ...inputNames);\n\n if (info.noWrap) {\n return <info.class attributes={baseProps} {...inputProps} />;\n }\n\n return (\n <Tag {...baseProps}>\n <info.class {...inputProps} />\n </Tag>\n );\n };\n};\n\nconst size = (thing: object) => Object.keys(thing).length;\n\nfunction debounce(func: Function, wait: number, immediate = false) {\n let timeout: any;\n return function (this: any) {\n const context = this;\n const args = arguments;\n clearTimeout(timeout);\n timeout = setTimeout(function () {\n timeout = null;\n if (!immediate) func.apply(context, args);\n }, wait);\n if (immediate && !timeout) func.apply(context, args);\n };\n}\n\nconst fontsLoaded = new Set();\n\nlet fetch: typeof globalThis['fetch'];\nif (globalThis.fetch) fetch = globalThis.fetch;\nfetch ??= require('node-fetch');\n\nconst sizeMap = {\n desktop: 'large',\n tablet: 'medium',\n mobile: 'small',\n};\n\nconst fetchCache: { [key: string]: any } = {};\n\nexport interface BuilderComponentProps {\n /**\n * @package\n * @deprecated use {@link model} instead.\n * @hidden\n */\n modelName?: string;\n /**\n * Name of the model this is rendering content for. Default is \"page\".\n */\n model?: string;\n /**\n * @package\n * @deprecated use {@link model} instead.\n * @hidden\n */\n name?: string;\n /**\n * Data is passed along as `state.*` to the component.\n * @see {@link https://github.com/BuilderIO/builder/tree/master/packages/react#passing-data-and-functions-down}\n *\n * @example\n * ```\n * <BuilderComponent\n * model=\"page\"\n * data={{\n * products: productsList,\n * myFunction: () => alert('Triggered!'),\n * foo: 'bar'\n * }} >\n * ```\n */\n data?: any;\n /**\n * Specific instance of Builder that should be used. You might use this for\n * server side rendering. It's generally not recommended except for very\n * advanced multi-tenant use cases.\n */\n builder?: Builder;\n /**\n * Content entry ID for this component to fetch client side\n */\n entry?: string;\n /**\n * @package\n *\n * Builder public API key.\n *\n * @see {@link builder.init()} for the preferred way of supplying your API key.\n */\n apiKey?: string;\n /**\n * @private\n * @hidden\n */\n codegen?: boolean;\n options?: GetContentOptions;\n /**\n * Function callback invoked with `data` and your content when it becomes\n * available.\n *\n * @see {@link https://github.com/BuilderIO/builder/tree/master/packages/react#passing-data-and-functions-down}\n */\n contentLoaded?: (data: any, content: Content) => void;\n /**\n * Instead of having Builder render a link for you with plain anchor\n * elements, use your own function. Useful when using Next.js, Gatsby, or\n * other client side routers' custom `<Link>` components.\n *\n * ## Notes\n *\n * This must be a function that returns JSX, not a component!\n *\n * ## Examples\n *\n * @see {@link https://github.com/BuilderIO/builder/blob/0f0bc1ca835335f99fc21efb20ff3c4836bc9f41/examples/next-js-builder-site/src/functions/render-link.tsx#L6}\n */\n renderLink?: (props: React.AnchorHTMLAttributes<any>) => React.ReactNode;\n /**\n * Callback to run if an error occurred while fetching content.\n */\n contentError?: (error: any) => void;\n /**\n * Manually specify what Builder content JSON object to render. @see {@link\n * https://github.com/BuilderIO/builder/tree/master/packages/react#passing-content-manually}\n */\n content?: Content;\n /**\n * @package\n * @hidden\n *\n * Location object that provides the current url, path, etc; for server side\n * rendering.\n */\n location?: Location | Url;\n /**\n * Callback to run when Builder state changes (e.g. state.foo = 'bar' in an\n * action)\n */\n onStateChange?: (newData: any) => void;\n /**\n * @package\n * @deprecated\n * @hidden\n */\n noAsync?: boolean;\n /**\n * @package\n * @hidden\n *\n * Flag to render email content (small differences in our render logic for\n * email support).\n */\n emailMode?: boolean;\n /**\n * @package\n * @hidden\n *\n * Flag to render amp content (small differences in our render logic for amp\n * support)\n */\n ampMode?: boolean;\n /**\n * @package\n * @hidden\n *\n * Render content in-line only (can't passed from the content prop) don't\n * fetch content from our API.\n */\n inlineContent?: boolean;\n /**\n * @package\n * @deprecated\n * @hidden\n */\n builderBlock?: BuilderElement;\n /**\n * @package\n * @deprecated\n * @hidden\n */\n dataOnly?: boolean;\n /**\n * @package\n * @deprecated\n * @hidden\n */\n hydrate?: boolean;\n /**\n * @package\n * @deprecated use {@link Builder.isStatic} instead\n * @hidden\n */\n isStatic?: boolean;\n /**\n * Object that will be available in actions and bindings.\n *\n * @see {@link https://github.com/BuilderIO/builder/tree/master/packages/react#passing-data-and-functions-down}\n */\n context?: any;\n /**\n * @deprecated\n * @hidden\n */\n url?: string;\n /**\n * @hidden\n * Set to true if this is not the root content component, for instance for symbols\n */\n isChild?: boolean;\n /**\n * Set to true to not call `event.stopPropagation()` in the editor to avoid\n * issues with client site routing triggering when editing in Builder, causing\n * navigation to other pages unintended\n */\n stopClickPropagationWhenEditing?: boolean;\n\n /**\n * Set to the current locale in your application if you want localized inputs to be auto-resolved, should match one of the locales keys in your space settings\n * Learn more about adding or removing locales [here](https://www.builder.io/c/docs/add-remove-locales)\n */\n locale?: string;\n}\n\nexport interface BuilderComponentState {\n state: any;\n update: (state: any) => any;\n updates: number;\n context: any;\n key: number;\n breakpoints?: Breakpoints;\n}\n\nfunction searchToObject(location: Location | Url) {\n const pairs = (location.search || '').substring(1).split('&');\n const obj: { [key: string]: string } = {};\n\n for (const i in pairs) {\n if (!(pairs[i] && typeof pairs[i] === 'string')) {\n continue;\n }\n const pair = pairs[i].split('=');\n obj[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1]);\n }\n\n return obj;\n}\n\n/**\n * Responsible for rendering Builder content of type: 'page' or 'section' to\n * react components. It will attempt to fetch content from the API based on\n * defined user attributes (URL path, device type, and any custom targeting you set using `builder.setUserAttributes`) unless a `BuilderContent`\n * object is provided to `props.content`\n *\n * Use it to mount content in desired location, enable editing in place when\n * previewed in the editor.\n *\n * Supports server-side-rendering when passed the content json as\n * `props.content`.\n */\nexport class BuilderComponent extends React.Component<\n BuilderComponentProps,\n BuilderComponentState\n> {\n static defaults: Pick<BuilderComponentProps, 'codegen'> = {\n codegen: Boolean(Builder.isBrowser && location.href.includes('builder.codegen=true')),\n };\n\n subscriptions: Subscription = new Subscription();\n // TODO: don't trigger initial one?\n onStateChange = new BehaviorSubject<any>(null);\n asServer = Builder.isServer;\n\n contentRef: BuilderContent | null = null;\n\n styleRef: HTMLStyleElement | null = null;\n\n rootState = Builder.isServer ? {} : onChange({}, () => this.updateState());\n\n lastJsCode = '';\n lastHttpRequests: { [key: string]: string | undefined } = {};\n httpSubscriptionPerKey: { [key: string]: Subscription | undefined } = {};\n firstLoad = true;\n ref: HTMLElement | null = null;\n\n Component: any;\n\n get options() {\n // TODO: for perf cache this\n return {\n ...BuilderComponent.defaults,\n ...this.props,\n };\n }\n\n get name(): string | undefined {\n return this.props.model || this.props.modelName || this.props.name; // || this.props.model\n }\n\n private _asyncRequests?: RequestOrPromise[];\n private _errors?: Error[];\n private _logs?: string[];\n private sizes: Sizes;\n\n get element() {\n return this.ref;\n }\n\n get inlinedContent() {\n if (this.isPreviewing && !this.props.inlineContent) {\n return undefined;\n }\n return this.props.content;\n }\n\n constructor(props: BuilderComponentProps) {\n super(props);\n\n let _content: any = this.inlinedContent;\n if (_content && _content.content) {\n _content = _content.content;\n }\n\n this.sizes = getSizesForBreakpoints(_content?.meta?.breakpoints || {});\n\n // TODO: pass this all the way down - symbols, etc\n // this.asServer = Boolean(props.hydrate && Builder.isBrowser)\n\n this.state = {\n // TODO: should change if this prop changes\n context: {\n ...props.context,\n apiKey: builder.apiKey || this.props.apiKey,\n },\n state: Object.assign(this.rootState, {\n ...(this.inlinedContent && this.inlinedContent.data && this.inlinedContent.data.state),\n isBrowser: Builder.isBrowser, // !this.asServer,\n isServer: !Builder.isBrowser, // this.asServer,\n _hydrate: props.hydrate,\n location: this.locationState,\n deviceSize: this.deviceSizeState,\n // TODO: will user attributes be ready here?\n device: this.device,\n ...this.getHtmlData(),\n ...props.data,\n }),\n updates: 0,\n key: 0,\n update: this.updateState,\n };\n\n if (Builder.isBrowser) {\n const key = this.props.apiKey;\n if (key && key !== this.builder.apiKey) {\n this.builder.apiKey = key;\n }\n\n if (this.inlinedContent) {\n // Sometimes with graphql we get the content as `content.content`\n const content = (this.inlinedContent as any).content || this.inlinedContent;\n this.onContentLoaded(content?.data, getContentWithInfo(content)!);\n }\n }\n }\n\n get builder() {\n return this.props.builder || builder;\n }\n\n getHtmlData() {\n const id = (this.inlinedContent && this.inlinedContent.id) || this.props.entry;\n const script =\n id &&\n Builder.isBrowser &&\n document.querySelector(\n `script[data-builder-json=\"${id}\"],script[data-builder-state=\"${id}\"]`\n );\n if (script) {\n try {\n const json = JSON.parse((script as HTMLElement).innerText);\n return json;\n } catch (err) {\n console.warn(\n 'Could not parse Builder.io HTML data transfer',\n err,\n (script as HTMLElement).innerText\n );\n }\n }\n return {};\n }\n\n // TODO: pass down with context\n get device() {\n return this.builder.getUserAttributes().device || 'desktop';\n }\n\n get locationState() {\n return {\n // TODO: handle this correctly on the server. Pass in with CONTEXT\n ...pick(this.location, 'pathname', 'hostname', 'search', 'host'),\n path: (this.location.pathname && this.location.pathname.split('/').slice(1)) || '',\n query: searchToObject(this.location),\n };\n }\n\n // TODO: trigger state change on screen size change\n get deviceSizeState() {\n // TODO: use context to pass this down on server\n return Builder.isBrowser\n ? this.sizes.getSizeForWidth(window.innerWidth)\n : sizeMap[this.device] || 'large';\n }\n\n messageListener = (event: MessageEvent) => {\n const info = event.data;\n switch (info.type) {\n case 'builder.configureSdk': {\n const data = info.data;\n\n if (!data.contentId || data.contentId !== this.useContent?.id) {\n return;\n }\n\n this.sizes = getSizesForBreakpoints(data.breakpoints || {});\n\n this.setState({\n state: Object.assign(this.rootState, {\n deviceSize: this.deviceSizeState,\n // TODO: will user attributes be ready here?\n device: this.device,\n }),\n updates: ((this.state && this.state.updates) || 0) + 1,\n breakpoints: data.breakpoints,\n });\n\n break;\n }\n\n case 'builder.updateSpacer': {\n const data = info.data;\n const currentSpacer = this.rootState._spacer;\n this.updateState(state => {\n state._spacer = data;\n });\n break;\n }\n case 'builder.resetState': {\n const { state, model } = info.data;\n if (model === this.name) {\n for (const key in this.rootState) {\n // TODO: support nested functions (somehow)\n if (typeof this.rootState[key] !== 'function') {\n delete this.rootState[key];\n }\n }\n Object.assign(this.rootState, state);\n this.setState({\n ...this.state,\n state: this.rootState,\n updates: ((this.state && this.state.updates) || 0) + 1,\n });\n }\n break;\n }\n case 'builder.resetSymbolState': {\n const { state, model, id } = info.data.state;\n if (this.props.builderBlock && this.props.builderBlock === id) {\n for (const key in this.rootState) {\n delete this.rootState[key];\n }\n Object.assign(this.rootState, state);\n this.setState({\n ...this.state,\n state: this.rootState,\n updates: ((this.state && this.state.updates) || 0) + 1,\n });\n }\n break;\n }\n }\n };\n\n resizeFn = () => {\n const deviceSize = this.deviceSizeState;\n if (deviceSize !== this.state.state.deviceSize) {\n this.setState({\n ...this.state,\n updates: ((this.state && this.state.updates) || 0) + 1,\n state: Object.assign(this.rootState, {\n ...this.state.state,\n deviceSize,\n }),\n });\n }\n };\n\n resizeListener = Builder.isEditing ? throttle(this.resizeFn, 200) : debounce(this.resizeFn, 400);\n\n static renderInto(\n elementOrSelector: string | HTMLElement,\n props: BuilderComponentProps = {},\n hydrate = true,\n fresh = false\n ) {\n console.debug('BuilderPage.renderInto', elementOrSelector, props, hydrate, this);\n\n if (!elementOrSelector) {\n return;\n }\n\n let element: Element | null = null;\n\n if (typeof elementOrSelector === 'string') {\n element = document.querySelector(elementOrSelector);\n } else {\n if (elementOrSelector instanceof Element) {\n element = elementOrSelector;\n }\n }\n\n if (!element) {\n return;\n }\n\n const exists = element.classList.contains('builder-hydrated');\n if (exists && !fresh) {\n console.debug('Tried to hydrate multiple times');\n return;\n }\n element.classList.add('builder-hydrated');\n\n let shouldHydrate = hydrate && element.innerHTML.includes('builder-block');\n\n if (!element.classList.contains('builder-component')) {\n // TODO: maybe remove any builder-api-styles...\n const apiStyles =\n element.querySelector('.builder-api-styles') ||\n (element.previousElementSibling &&\n element.previousElementSibling.matches('.builder-api-styles')\n ? element.previousElementSibling\n : null);\n let keepStyles = '';\n if (apiStyles) {\n const html = apiStyles.innerHTML;\n html.replace(\n /\\/\\*start:([^\\*]+?)\\*\\/([\\s\\S]*?)\\/\\*end:([^\\*]+?)\\*\\//g,\n (match, id, content) => {\n let el: HTMLElement | null = null;\n try {\n el = document.querySelector(`[data-emotion-css=\"${id}\"]`);\n } catch (err) {\n console.warn(err);\n }\n if (el) {\n el.innerHTML = content;\n } else if (!Builder.isEditing) {\n keepStyles += match;\n }\n\n return match;\n }\n );\n // NextTick? or longer timeout?\n Builder.nextTick(() => {\n apiStyles.innerHTML = keepStyles;\n });\n }\n const useElement = element.querySelector('.builder-component');\n if (useElement) {\n element = useElement;\n } else {\n shouldHydrate = false;\n }\n }\n\n if (location.search.includes('builder.debug=true')) {\n console.debug('hydrate', shouldHydrate, element);\n }\n\n let useEl = element;\n if (!exists) {\n const div = document.createElement('div');\n element.insertAdjacentElement('beforebegin', div);\n div.appendChild(element);\n useEl = div;\n }\n\n if (Builder.isEditing || (Builder.isBrowser && location.search.includes('builder.preview='))) {\n shouldHydrate = false;\n }\n if (shouldHydrate && element) {\n // TODO: maybe hydrate again. Maybe...\n const val = ReactDOM.render(\n <BuilderComponent {...props} />,\n useEl,\n (useEl as any).builderRootRef\n );\n (useEl as any).builderRootRef = val;\n return val;\n }\n const val = ReactDOM.render(\n <BuilderComponent {...props} />,\n useEl,\n (useEl as any).builderRootRef\n );\n (useEl as any).builderRootRef = val;\n return val;\n }\n\n mounted = false;\n\n componentDidMount() {\n this.mounted = true;\n if (this.asServer) {\n this.asServer = false;\n this.updateState(state => {\n state.isBrowser = true;\n state.isServer = false;\n });\n }\n\n if (Builder.isIframe) {\n window.parent?.postMessage(\n { type: 'builder.sdkInjected', data: { modelName: this.name } },\n '*'\n );\n }\n\n if (Builder.isBrowser) {\n // TODO: remove event on unload\n window.addEventListener('resize', this.resizeListener);\n if (Builder.isEditing) {\n window.addEventListener('message', this.messageListener);\n }\n\n if (Builder.isEditing || Builder.isPreviewing) {\n Builder.nextTick(() => {\n this.firstLoad = false;\n this.reload();\n });\n }\n\n setTimeout(() => {\n window.dispatchEvent(\n new CustomEvent('builder:component:load', {\n detail: {\n ref: this,\n },\n })\n );\n });\n }\n }\n\n updateState = (fn?: (state: any) => void) => {\n const state = this.rootState;\n if (fn) {\n fn(state);\n }\n if (this.mounted) {\n this.setState({\n update: this.updateState,\n state,\n updates: ((this.state && this.state.updates) || 0) + 1,\n });\n } else {\n this.state = {\n ...this.state,\n update: this.updateState,\n state,\n updates: ((this.state && this.state.updates) || 0) + 1,\n };\n }\n\n this.notifyStateChange();\n };\n\n get isPreviewing() {\n return (\n (Builder.isServer || (Builder.isBrowser && Builder.isPreviewing && !this.firstLoad)) &&\n builder.previewingModel === this.name\n );\n }\n\n @debounceNextTick\n notifyStateChange() {\n if (Builder.isServer) {\n return;\n }\n if (!(this && this.state)) {\n return;\n }\n const nextState = this.state.state;\n // TODO: only run the below once per tick...\n if (this.props.onStateChange) {\n this.props.onStateChange(nextState);\n }\n\n if (Builder.isBrowser) {\n window.dispatchEvent(\n new CustomEvent('builder:component:stateChange', {\n detail: {\n state: nextState,\n ref: this,\n },\n })\n );\n }\n this.onStateChange.next(nextState);\n }\n\n processStateFromApi(state: { [key: string]: any }) {\n return state; // mapValues(state, value => tryEval(value, this.data, this._errors))\n }\n\n get location() {\n return this.props.location || (Builder.isBrowser ? location : ({} as any));\n }\n\n getCssFromFont(font: any, data?: any) {\n // TODO: compute what font sizes are used and only load those.......\n const family = font.family + (font.kind && !font.kind.includes('#') ? ', ' + font.kind : '');\n const name = family.split(',')[0];\n const url = font.fileUrl ? font.fileUrl : font.files && font.files.regular;\n let str = '';\n if (url && family && name) {\n str += `\n@font-face {\n font-family: \"${family}\";\n src: local(\"${name}\"), url('${url}') format('woff2');\n font-display: fallback;\n font-weight: 400;\n}\n `.trim();\n }\n\n if (font.files) {\n for (const weight in font.files) {\n const isNumber = String(Number(weight)) === weight;\n if (!isNumber) {\n continue;\n }\n // TODO: maybe limit number loaded\n const weightUrl = font.files[weight];\n if (weightUrl && weightUrl !== url) {\n str += `\n@font-face {\n font-family: \"${family}\";\n src: url('${weightUrl}') format('woff2');\n font-display: fallback;\n font-weight: ${weight};\n}\n `.trim();\n }\n }\n }\n return str;\n }\n\n componentWillUnmount() {\n this.unsubscribe();\n if (Builder.isBrowser) {\n window.removeEventListener('resize', this.resizeListener);\n window.removeEventListener('message', this.messageListener);\n }\n }\n\n getFontCss(data?: any) {\n if (!this.builder.allowCustomFonts) {\n return '';\n }\n // TODO: separate internal data from external\n return (\n (data?.customFonts &&\n data.customFonts.length &&\n data.customFonts.map((font: any) => this.getCssFromFont(font, data)).join(' ')) ||\n ''\n );\n }\n\n ensureFontsLoaded(data?: any) {\n if (this.builder.allowCustomFonts && data?.customFonts && Array.isArray(data.customFonts)) {\n for (const font of data.customFonts) {\n const url = font.fileUrl ? font.fileUrl : font.files && font.files.regular;\n if (!fontsLoaded.has(url)) {\n const html = this.getCssFromFont(font, data);\n fontsLoaded.add(url);\n if (!html) {\n continue;\n }\n const style = document.createElement('style');\n style.className = 'builder-custom-font';\n style.setAttribute('data-builder-custom-font', url);\n style.innerHTML = html;\n document.head.appendChild(style);\n }\n }\n }\n }\n\n getCss(data?: any) {\n const contentId = this.useContent?.id;\n let cssCode = data?.cssCode || '';\n if (contentId) {\n // Allow using `&` in custom CSS code like @emotion\n // E.g. `& .foobar { ... }` to scope CSS\n // TODO: handle if '&' is within a string like `content: \"&\"`\n cssCode = cssCode.replace(/&/g, `.builder-component-${contentId}`);\n }\n\n return cssCode + this.getFontCss(data);\n }\n\n get data() {\n const data = {\n ...(this.inlinedContent && this.inlinedContent.data?.state),\n ...this.externalState,\n ...this.state.state,\n };\n Object.assign(this.rootState, data);\n return data;\n }\n\n componentDidUpdate(prevProps: BuilderComponentProps) {\n // TODO: shallow diff\n if (this.props.data && prevProps.data !== this.props.data) {\n this.state.update((state: any) => {\n Object.assign(state, this.externalState);\n });\n }\n\n if (Builder.isEditing) {\n if (this.inlinedContent && prevProps.content !== this.inlinedContent) {\n this.onContentLoaded(this.inlinedContent.data, this.inlinedContent);\n }\n }\n }\n\n // FIXME: workaround to issue with CSS extraction and then hydration\n // (might be preact only)\n checkStyles(data: any) {\n if (this.styleRef) {\n const css = this.getCss(data);\n if (this.styleRef.innerHTML !== css) {\n this.styleRef.innerHTML = css;\n }\n }\n }\n\n reload() {\n this.setState({\n key: this.state.key + 1,\n });\n }\n\n get content() {\n let content = this.inlinedContent;\n if (content && (content as any).content) {\n // GraphQL workaround\n content = {\n ...content,\n data: (content as any).content,\n };\n }\n return content;\n }\n\n get externalState() {\n return {\n ...this.props.data,\n ...(this.props.locale ? { locale: this.props.locale } : {}),\n };\n }\n\n get useContent() {\n return this.content || this.state.context.builderContent;\n }\n\n render() {\n const content = this.content;\n\n const dataString =\n Builder.isBrowser &&\n this.externalState &&\n size(this.externalState) &&\n hash(this.externalState);\n let key = Builder.isEditing ? this.name : this.props.entry;\n if (key && !Builder.isEditing && dataString && dataString.length < 300) {\n key += ':' + dataString;\n }\n\n const WrapComponent = this.props.dataOnly ? React.Fragment : 'div';\n\n const contentId = this.useContent?.id;\n\n return (\n // TODO: data attributes for model, id, etc?\n <WrapComponent\n onClick={event => {\n // Prevent propagation from the root content component when editing to prevent issues\n // like client side routing triggering when links are clicked, unless this behavior is\n // disabled with the stopClickPropagationWhenEditing prop\n if (\n Builder.isEditing &&\n !this.props.isChild &&\n !this.props.stopClickPropagationWhenEditing\n ) {\n event.stopPropagation();\n }\n }}\n className={`builder-component ${contentId ? `builder-component-${contentId}` : ''}`}\n data-name={this.name}\n data-source=\"Rendered by Builder.io\"\n key={this.state.key}\n ref={ref => (this.ref = ref)}\n >\n <BuilderMetaContext.Consumer>\n {value => (\n <BuilderMetaContext.Provider\n value={\n typeof this.props.ampMode === 'boolean'\n ? {\n ...value,\n ampMode: this.props.ampMode,\n }\n : value\n }\n >\n <BuilderAsyncRequestsContext.Consumer>\n {value => {\n this._asyncRequests = value && value.requests;\n this._errors = value && value.errors;\n this._logs = value && value.logs;\n\n return (\n <BuilderContent\n isStatic={this.props.isStatic || Builder.isStatic}\n key={\n this.inlinedContent?.id ||\n ('content' in this.props && !this.isPreviewing\n ? 'null-content-prop'\n : 'no-content-prop')\n }\n builder={this.builder}\n ref={ref => (this.contentRef = ref)}\n // TODO: pass entry in\n contentLoaded={(data, content) => this.onContentLoaded(data, content)}\n options={{\n key,\n entry: this.props.entry,\n ...(content && { initialContent: [content] }),\n ...(!content &&\n 'content' in this.props &&\n !this.isPreviewing && { initialContent: [] }),\n ...(this.props.url && { url: this.props.url }),\n ...this.props.options,\n ...(this.props.locale ? { locale: this.props.locale } : {}),\n ...(this.options.codegen && {\n format: 'react',\n }),\n }}\n inline={\n this.props.inlineContent || (!this.isPreviewing && 'content' in this.props)\n }\n contentError={this.props.contentError}\n modelName={this.name || 'page'}\n >\n {(data, loading, fullData) => {\n if (this.props.dataOnly) {\n return null;\n }\n if (fullData && fullData.id) {\n if (this.state.breakpoints) {\n fullData.meta = fullData.meta || {};\n fullData.meta.breakpoints = this.state.breakpoints;\n }\n this.state.context.builderContent = fullData;\n }\n if (Builder.isBrowser) {\n Builder.nextTick(() => {\n this.checkStyles(data);\n });\n }\n\n const { codegen } = this.options;\n\n if (codegen && !this.Component && data?.blocksJs) {\n const builderComponentNames: string[] = Array.from(\n new Set(Builder.components.map((item: any) => item.name))\n );\n const reversedcomponents = Builder.components.slice().reverse();\n\n const builderComponents = builderComponentNames.map(name =>\n reversedcomponents.find((item: any) => item.class && item.name === name)\n );\n\n const useBuilderState = (initialState: any) => {\n const [, setTick] = React.useState(0);\n const [state] = React.useState(() =>\n onChange(initialState, function () {\n setTick(tick => tick + 1);\n })\n );\n\n return state;\n };\n\n const mappedComponentNames = builderComponentNames.map(name =>\n (name || '').replace(/[^\\w]+/gi, '')\n );\n\n const finalizedComponents = builderComponents.map(info =>\n wrapComponent(info)\n );\n\n this.Component = new Function(\n 'jsx',\n '_css',\n 'Builder',\n 'builder',\n 'React',\n 'useBuilderState',\n ...mappedComponentNames,\n data.blocksJs\n )(\n jsx,\n css,\n Builder,\n builder,\n React,\n useBuilderState,\n ...finalizedComponents\n );\n }\n\n const blocks = data?.blocks || [];\n\n const hasPixel = blocks.find((block: BuilderElement) =>\n block.id?.startsWith('builder-pixel')\n );\n\n if (data && !hasPixel && blocks.length > 0) {\n blocks.push(getBuilderPixel(builder.apiKey!));\n }\n\n // TODO: loading option - maybe that is what the children is or component prop\n // TODO: get rid of all these wrapper divs\n return data ? (\n <div\n data-builder-component={this.name}\n data-builder-content-id={fullData.id}\n {...(this.isPreviewing\n ? {\n 'data-builder-variation-id':\n fullData.testVariationId || fullData.variationId || fullData.id,\n }\n : {})}\n >\n {!codegen && this.getCss(data) && (\n <style\n ref={ref => (this.styleRef = ref)}\n className=\"builder-custom-styles\"\n dangerouslySetInnerHTML={{\n __html: this.getCss(data),\n }}\n />\n )}\n <BuilderStoreContext.Provider\n value={{\n ...this.state,\n rootState: this.rootState,\n state: this.data,\n content: fullData,\n renderLink: this.props.renderLink,\n }}\n >\n {codegen && this.Component ? (\n <this.Component data={this.data} context={this.state.context} />\n ) : (\n <BuilderBlocks\n key={String(!!data?.blocks?.length)}\n emailMode={this.props.emailMode}\n fieldName=\"blocks\"\n blocks={blocks}\n />\n )}\n </BuilderStoreContext.Provider>\n </div>\n ) : loading ? (\n <div data-builder-component={this.name} className=\"builder-loading\">\n {this.props.children}\n </div>\n ) : (\n <div data-builder-component={this.name} className=\"builder-no-content\" />\n );\n }}\n </BuilderContent>\n );\n }}\n </BuilderAsyncRequestsContext.Consumer>\n </BuilderMetaContext.Provider>\n )}\n </BuilderMetaContext.Consumer>\n </WrapComponent>\n );\n }\n\n evalExpression(expression: string) {\n const { data } = this;\n return String(expression).replace(/{{([^}]+)}}/g, (match, group) =>\n tryEval(group, data, this._errors)\n );\n }\n\n async handleRequest(propertyName: string, url: string) {\n // TODO: Builder.isEditing = just checks if iframe and parent page is this.builder.io or localhost:1234\n if (Builder.isIframe && fetchCache[url]) {\n this.updateState(ctx => {\n ctx[propertyName] = fetchCache[url];\n });\n return fetchCache[url];\n }\n const request = async () => {\n const requestStart = Date.now();\n if (!Builder.isBrowser) {\n console.time('Fetch ' + url);\n }\n let json: any;\n try {\n const result = await fetch(url);\n json = await result.json();\n } catch (err) {\n const error = toError(err);\n if (this._errors) {\n this._errors.push(error);\n }\n if (this._logs) {\n this._logs.push(`Fetch to ${url} errored in ${Date.now() - requestStart}ms`);\n }\n return;\n } finally {\n if (!Builder.isBrowser) {\n console.timeEnd('Fetch ' + url);\n if (this._logs) {\n this._logs.push(`Fetched ${url} in ${Date.now() - requestStart}ms`);\n }\n }\n }\n\n if (json) {\n if (Builder.isIframe) {\n fetchCache[url] = json;\n }\n // TODO: debounce next tick all of these when there are a bunch\n this.updateState(ctx => {\n ctx[propertyName] = json;\n });\n }\n\n return json;\n };\n const existing =\n this._asyncRequests &&\n (this._asyncRequests.find(\n req => isRequestInfo(req) && req.url === url\n ) as RequestInfo | null);\n if (existing) {\n const promise = existing.promise;\n promise.then(json => {\n if (json) {\n this.updateState(ctx => {\n ctx[propertyName] = json;\n });\n }\n });\n return promise;\n }\n const promise = request();\n Builder.nextTick(() => {\n if (this._asyncRequests) {\n this._asyncRequests.push(promise);\n }\n });\n return promise;\n }\n\n unsubscribe() {\n if (this.subscriptions) {\n this.subscriptions.unsubscribe();\n this.subscriptions = new Subscription();\n }\n }\n\n handleBuilderRequest(propertyName: string, optionsString: string) {\n const options = tryEval(optionsString, this.data, this._errors);\n // TODO: this will screw up for multiple bits of data\n if (this.subscriptions) {\n this.unsubscribe();\n }\n // TODO: don't unsubscribe and resubscribe every time data changes, will make a TON of requests if that's the case when editing...\n // I guess will be cached then\n if (options) {\n // TODO: unsubscribe on destroy\n this.subscriptions.add(\n this.builder.queueGetContent(options.model, options).subscribe(matches => {\n if (matches) {\n this.updateState(ctx => {\n ctx[propertyName] = matches;\n });\n }\n })\n );\n }\n }\n\n onContentLoaded = (data: any, content: Content) => {\n if (this.name === 'page' && Builder.isBrowser) {\n if (data) {\n const { title, pageTitle, description, pageDescription } = data;\n\n if (title || pageTitle) {\n document.title = title || pageTitle;\n }\n\n if (description || pageDescription) {\n let descriptionTag = document.querySelector('meta[name=\"description\"]');\n\n if (!descriptionTag) {\n descriptionTag = document.createElement('meta');\n descriptionTag.setAttribute('name', 'description');\n document.head.appendChild(descriptionTag);\n }\n\n descriptionTag.setAttribute('content', description || pageDescription);\n }\n }\n }\n\n if (Builder.isEditing) {\n this.notifyStateChange();\n }\n\n if (this.props.contentLoaded) {\n this.props.contentLoaded(data, content);\n }\n\n if (data && data.inputs && Array.isArray(data.inputs) && data.inputs.length) {\n if (!data.state) {\n data.state = {};\n }\n\n data.inputs.forEach((input: any) => {\n if (input) {\n if (\n input.name &&\n input.defaultValue !== undefined &&\n data.state[input.name] === undefined\n ) {\n data.state[input.name] = input.defaultValue;\n }\n }\n });\n }\n\n if (data && data.state) {\n const newState = {\n ...this.state,\n updates: ((this.state && this.state.updates) || 0) + 1,\n state: Object.assign(this.rootState, {\n ...this.state.state,\n location: this.locationState,\n deviceSize: this.deviceSizeState,\n device: this.device,\n ...data.state,\n ...this.externalState,\n }),\n };\n if (this.mounted) {\n this.setState(newState);\n } else {\n this.state = newState;\n }\n }\n\n // TODO: also throttle on edits maybe\n if (data && data.jsCode && Builder.isBrowser && !this.options.codegen) {\n // Don't rerun js code when editing and not changed\n let skip = false;\n if (Builder.isEditing) {\n if (this.lastJsCode === data.jsCode) {\n skip = true;\n } else {\n this.lastJsCode = data.jsCode;\n }\n }\n\n if (!skip) {\n const state = this.state.state;\n\n // TODO: real editing method\n try {\n const result = new Function(\n 'data',\n 'ref',\n 'state',\n 'update',\n 'element',\n 'Builder',\n 'builder',\n 'context',\n data.jsCode\n )(data, this, state, this.state.update, this.ref, Builder, builder, this.state.context);\n\n // TODO: allow exports = { } syntax?\n // TODO: do something with reuslt like view - methods, computed, actions, properties, template, etc etc\n } catch (err) {\n const error = toError(err);\n if (Builder.isBrowser) {\n console.warn(\n 'Builder custom code error:',\n error.message,\n 'in',\n data.jsCode,\n error.stack\n );\n } else {\n if (process.env.DEBUG) {\n console.debug(\n 'Builder custom code error:',\n error.message,\n 'in',\n data.jsCode,\n error.stack\n );\n }\n // Add to req.options.errors to return to client\n }\n }\n }\n }\n\n if (data && data.httpRequests /* || data.builderData @DEPRECATED */ && !this.props.noAsync) {\n // Don't rerun http requests when editing and not changed\n // No longer needed?\n let skip = false;\n\n if (!skip) {\n // TODO: another structure for this\n for (const key in data.httpRequests) {\n const url: string | undefined = data.httpRequests[key];\n if (url && (!this.data[key] || Builder.isEditing)) {\n if (Builder.isBrowser) {\n const finalUrl = this.evalExpression(url);\n if (Builder.isEditing && this.lastHttpRequests[key] === finalUrl) {\n continue;\n }\n this.lastHttpRequests[key] = finalUrl;\n const builderModelRe = /builder\\.io\\/api\\/v2\\/([^\\/\\?]+)/i;\n const builderModelMatch = url.match(builderModelRe);\n const model = builderModelMatch && builderModelMatch[1];\n this.handleRequest(key, finalUrl);\n const currentSubscription = this.httpSubscriptionPerKey[key];\n if (currentSubscription) {\n currentSubscription.unsubscribe();\n }\n\n // TODO: fix this\n const newSubscription = (this.httpSubscriptionPerKey[key] =\n this.onStateChange.subscribe(() => {\n const newUrl = this.evalExpression(url);\n if (newUrl !== finalUrl) {\n this.handleRequest(key, newUrl);\n this.lastHttpRequests[key] = newUrl;\n }\n }));\n this.subscriptions.add(newSubscription);\n } else {\n this.handleRequest(key, this.evalExpression(url));\n }\n }\n }\n }\n }\n };\n}\n","import { Builder, Component } from '@builder.io/sdk';\n\ninterface ReactComponent extends Component {}\n\nexport function BuilderBlock(options: ReactComponent) {\n options.type = 'react';\n\n return Builder.Component(options);\n}\n","import { Component, Builder } from '@builder.io/sdk';\n\n/**\n * Update metadata for a Builder component\n *\n * @param component Builder react component\n * @param fn Updater\n *\n * @example\n * updatMetadata(TextBlock, current => ({\n * ...current,\n * fields: [\n * ...curent.fields,\n * { name: 'myNewField', type: 'string' }\n * ]\n * }))\n */\nexport function updateMetadata(\n component: Function | string,\n fn: (currentMetadata: Component | null) => Component | void\n) {\n const match =\n Builder.components.find(item => {\n if (typeof component === 'string') {\n return item.name === component;\n } else {\n return item.class === item;\n }\n }) || null;\n\n const updated = fn(match);\n if (match && updated) {\n // re-registering the same component will replace it\n Builder.registerComponent(updated.class || match.class, updated);\n } else if (match && !updated) {\n // TODO: have a way to message to remove component\n } else if (!match && updated) {\n Builder.registerComponent(updated.class, updated);\n }\n}\n","import { Component } from '@builder.io/sdk';\nimport { BuilderBlock } from '../decorators/builder-block.decorator';\n\nexport function withBuilder(component: Function, options: Component) {\n BuilderBlock(options)(component as any);\n return component;\n}\n","import React from 'react';\nimport { BuilderElement } from '@builder.io/sdk';\nimport { BuilderBlock } from '../components/builder-block.component';\n\n/**\n * Higher order component for passing Builder.io children as React children\n *\n * @example\n * ```tsx\n *\n * const MyButton = props => <Button>\n * {children}\n * </Button>\n *\n * const ButtonWithBuilderChildren = withChildren(MyButton)\n *\n * Builder.registerComponent(ButtonWithBuilderChildren, {\n * name: 'MyButton',\n * defaultChildren: [\n * {\n * '@type': '@builder.io/sdk:Element'\n * }\n * ]\n * })\n * ```\n */\nexport const withChildren = <P extends object>(Component: React.ComponentType<P>) => {\n const HOC = React.forwardRef<any, React.PropsWithChildren<P> & { builderBlock?: BuilderElement }>(\n (props, ref) => {\n const children =\n props.children ||\n (props.builderBlock &&\n props.builderBlock.children &&\n props.builderBlock.children.map(child => <BuilderBlock key={child.id} block={child} />));\n\n return (\n // getting type errors due to `@types/react` version mismatches. Can safely ignore.\n // @ts-ignore\n <Component {...props} ref={ref}>\n {children}\n </Component>\n );\n }\n );\n\n (HOC as any).builderOptions = {\n canHaveChildren: true,\n };\n\n return HOC;\n};\n","import React from 'react';\nimport { BuilderElement } from '@builder.io/sdk';\nimport { BuilderBlock } from '../components/builder-block.component';\n\n/**\n * Higher order component for passing Builder.io styles and attributes directly\n * to the component child without wrapping\n *\n * Useful when you need styles etc applied directly to the component without a\n * wrapping element (e.g. div), and you are already forwarding all props and attributes\n * (e.g. <YourComponent {...props} />)\n *\n * 👉 Important: make sure you always add props.className,\n * even if you supply a className too\n *\n * @example\n * ```tsx\n *\n * const MyButton = props => <Button\n * {...props}\n * className={'my-button ' + (props.className || '')}>\n * Hello there!\n * </Button>\n *\n * const ButtonWithBuilderChildren = noWrap(MyButton)\n *\n * Builder.registerComponent(ButtonWithBuilderChildren, {\n * name: 'MyButton',\n * })\n * ```\n */\nexport const noWrap = <P extends object>(Component: React.ComponentType<P>) => {\n const HOC = React.forwardRef((props: React.PropsWithChildren<P> & { attributes?: any }, ref) => {\n const finalProps = {\n ...props,\n ...props.attributes,\n };\n // getting type errors due to `@types/react` version mismatches. Can safely ignore.\n // @ts-ignore\n return <Component {...finalProps} ref={ref} />;\n });\n (HOC as any).builderOptions = {\n noWrap: true,\n };\n\n return HOC;\n};\n","/** @jsx jsx */\nimport { jsx, InterpolationWithTheme } from '@emotion/core';\nimport React from 'react';\nimport { Builder, BuilderElement } from '@builder.io/sdk';\nimport { withBuilder } from '../functions/with-builder';\nimport { BuilderStoreContext } from '../store/builder-store';\nimport { tryEval } from '../functions/try-eval';\n\nconst iconUrl =\n 'https://firebasestorage.googleapis.com/v0/b/builder-3b0a2.appspot.com/o/images%2Fbaseline-text_fields-24px%20(1).svg?alt=media&token=12177b73-0ee3-42ca-98c6-0dd003de1929';\n\nexport interface TextProps {\n text: string;\n builderBlock?: BuilderElement;\n}\n\nclass TextComponent extends React.Component<TextProps> {\n textRef: HTMLSpanElement | null = null;\n\n componentDidUpdate(prevProps: TextProps) {\n if (!this.allowTextEdit) {\n return;\n }\n if (\n this.textRef &&\n !(this.textRef.contentEditable === 'true' && this.textRef === document.activeElement)\n ) {\n if (this.props.text !== prevProps.text) {\n this.textRef.innerHTML = this.props.text;\n }\n }\n }\n\n componentDidMount() {\n if (this.textRef) {\n this.textRef.innerHTML = this.props.text;\n }\n }\n\n evalExpression(expression: string, state: any) {\n return String(expression).replace(/{{([^}]+)}}/g, (match, group) => tryEval(group, state));\n }\n\n get allowTextEdit() {\n return (\n Builder.isBrowser &&\n Builder.isEditing &&\n location.search.includes('builder.allowTextEdit=true') &&\n !(\n this.props.builderBlock &&\n this.props.builderBlock.bindings &&\n (this.props.builderBlock.bindings['component.options.text'] ||\n this.props.builderBlock.bindings['options.text'] ||\n this.props.builderBlock.bindings['text'])\n )\n );\n }\n\n render() {\n const allowEditingText = this.allowTextEdit;\n\n const textCSS: InterpolationWithTheme<any> = {\n outline: 'none',\n '& p:first-of-type, & .builder-paragraph:first-of-type': {\n margin: 0,\n },\n '& > p, & .builder-paragraph': {\n color: 'inherit',\n lineHeight: 'inherit',\n letterSpacing: 'inherit',\n fontWeight: 'inherit',\n fontSize: 'inherit',\n textAlign: 'inherit',\n fontFamily: 'inherit',\n },\n };\n\n return (\n <BuilderStoreContext.Consumer>\n {state => {\n if (state.content.meta?.rtlMode) {\n textCSS.direction = 'rtl';\n }\n\n return (\n <React.Fragment>\n {/* TODO: <BuilderEditableText component that wraps this for other components with text */}\n <span\n ref={ref => {\n this.textRef = ref;\n }}\n contentEditable={allowEditingText || undefined}\n onInput={e => {\n if (allowEditingText) {\n window.parent?.postMessage(\n {\n type: 'builder.textEdited',\n data: {\n id: this.props.builderBlock && this.props.builderBlock.id,\n value: e.currentTarget.innerHTML,\n },\n },\n '*'\n );\n }\n }}\n onKeyDown={e => {\n if (\n allowEditingText &&\n this.textRef &&\n e.which === 27 &&\n document.activeElement === this.textRef\n ) {\n this.textRef.blur();\n }\n }}\n onFocus={e => {\n if (allowEditingText) {\n window.parent?.postMessage(\n {\n type: 'builder.textFocused',\n data: {\n id: this.props.builderBlock && this.props.builderBlock.id,\n },\n },\n '*'\n );\n }\n }}\n onBlur={e => {\n if (allowEditingText) {\n window.parent?.postMessage(\n {\n type: 'builder.textBlurred',\n data: {\n id: this.props.builderBlock && this.props.builderBlock.id,\n },\n },\n '*'\n );\n }\n }}\n css={textCSS}\n className=\"builder-text\"\n {...(!allowEditingText && {\n dangerouslySetInnerHTML: {\n __html: this.evalExpression(\n this.props.text || (this.props as any).content || '',\n state.state\n ),\n },\n })}\n />\n </React.Fragment>\n );\n }}\n </BuilderStoreContext.Consumer>\n );\n }\n}\n\nexport const Text = withBuilder(TextComponent, {\n name: 'Text',\n static: true,\n image: iconUrl,\n inputs: [\n {\n name: 'text',\n type: 'html',\n required: true,\n autoFocus: true,\n bubble: true,\n defaultValue: 'Enter some text...',\n },\n ],\n // Maybe optionally a function that takes in some params like block vs absolute, etc\n defaultStyles: {\n lineHeight: 'normal',\n height: 'auto',\n textAlign: 'center',\n },\n});\n","/** @jsx jsx */\nimport { jsx } from '@emotion/core';\nimport React, { useContext } from 'react';\nimport { Builder } from '@builder.io/sdk';\nimport { BuilderBlocks } from '../components/builder-blocks.component';\nimport { BuilderStoreContext } from '../store/builder-store';\n\nBuilder.registerComponent(Slot, {\n name: 'Slot',\n description: 'Allow child blocks to be inserted into this content when used as a Symbol',\n docsLink: 'https://www.builder.io/c/docs/symbols-with-blocks',\n image:\n 'https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F3aad6de36eae43b59b52c85190fdef56',\n\n // Maybe wrap this for canHaveChildren so bind children to this hm\n inputs: [{ name: 'name', type: 'string', required: true, defaultValue: 'children' }],\n});\n\ntype DropzoneProps = {\n name: string;\n};\n\nexport function Slot(props: DropzoneProps) {\n const { name } = props;\n const context = useContext(BuilderStoreContext);\n\n const isEditingThisSlot = !context.context.symbolId;\n\n return (\n <div\n css={{\n pointerEvents: 'auto',\n }}\n {...(isEditingThisSlot && {\n 'builder-slot': name,\n })}\n >\n <BuilderBlocks\n child\n parentElementId={context.context.symbolId}\n dataPath={`symbol.data.${name}`}\n blocks={context.state[name] || []}\n />\n </div>\n );\n}\n","import React from 'react';\nimport { BuilderElement } from '@builder.io/sdk';\nimport { withBuilder } from '../functions/with-builder';\nimport { BuilderBlock as BuilderBlockComponent } from '../components/builder-block.component';\n\nexport interface FragmentProps {\n builderBlock?: BuilderElement;\n}\n\nclass FragmentComponent extends React.Component<FragmentProps> {\n render() {\n return (\n this.props.builderBlock &&\n this.props.builderBlock.children &&\n this.props.builderBlock.children.map((block, index) => (\n <BuilderBlockComponent block={block} key={block.id} index={index} />\n ))\n );\n }\n}\n\nexport const Fragment = withBuilder(FragmentComponent, {\n name: 'Core:Fragment',\n canHaveChildren: true,\n noWrap: true,\n static: true,\n hideFromInsertMenu: true,\n});\n","/** @jsx jsx */\nimport { jsx } from '@emotion/core';\nimport React from 'react';\n\nimport { BuilderElement } from '@builder.io/sdk';\nimport { BuilderBlocks } from '../components/builder-blocks.component';\nimport { withBuilder } from '../functions/with-builder';\nimport { Link } from '../components/Link';\nimport { Breakpoints, getSizesForBreakpoints } from '../constants/device-sizes.constant';\n\nconst DEFAULT_ASPECT_RATIO = 0.7004048582995948;\n\nconst defaultBlocks: BuilderElement[] = [\n {\n '@type': '@builder.io/sdk:Element',\n responsiveStyles: {\n large: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'stretch',\n flexShrink: '0',\n position: 'relative',\n marginTop: '30px',\n textAlign: 'center',\n lineHeight: 'normal',\n height: 'auto',\n minHeight: '20px',\n minWidth: '20px',\n overflow: 'hidden',\n },\n },\n component: {\n name: 'Image',\n options: {\n image:\n 'https://builder.io/api/v1/image/assets%2Fpwgjf0RoYWbdnJSbpBAjXNRMe9F2%2Ffb27a7c790324294af8be1c35fe30f4d',\n backgroundPosition: 'center',\n backgroundSize: 'cover',\n aspectRatio: DEFAULT_ASPECT_RATIO,\n },\n },\n },\n {\n '@type': '@builder.io/sdk:Element',\n responsiveStyles: {\n large: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'stretch',\n flexShrink: '0',\n position: 'relative',\n marginTop: '30px',\n textAlign: 'center',\n lineHeight: 'normal',\n height: 'auto',\n },\n },\n component: {\n name: 'Text',\n options: {\n text: '<p>Enter some text...</p>',\n },\n },\n },\n];\n\nclass ColumnsComponent extends React.Component<any> {\n // TODO: Column interface\n get columns(): any[] {\n return this.props.columns || [];\n }\n\n get gutterSize(): number {\n return typeof this.props.space === 'number' ? this.props.space || 0 : 20;\n }\n\n getWidth(index: number) {\n return (this.columns[index] && this.columns[index].width) || 100 / this.columns.length;\n }\n\n getColumnWidth(index: number) {\n const { columns, gutterSize } = this;\n const subtractWidth = (gutterSize * (columns.length - 1)) / columns.length;\n return `calc(${this.getWidth(index)}% - ${subtractWidth}px)`;\n }\n\n render() {\n const { columns, gutterSize } = this;\n const contentBreakpoints: Breakpoints =\n this.props.builderState?.context.builderContent?.meta?.breakpoints || {};\n const breakpointSizes = getSizesForBreakpoints(contentBreakpoints);\n\n return (\n // FIXME: make more elegant\n <React.Fragment>\n <div\n className=\"builder-columns\"\n css={{\n display: 'flex',\n ...(this.props.stackColumnsAt !== 'never' && {\n [`@media (max-width: ${\n this.props.stackColumnsAt !== 'tablet'\n ? breakpointSizes.small.max\n : breakpointSizes.medium.max\n }px)`]: {\n flexDirection: this.props.reverseColumnsWhenStacked ? 'column-reverse' : 'column',\n alignItems: 'stretch',\n },\n }),\n }}\n >\n {columns.map((col, index) => {\n const TagName = col.link ? Link : 'div';\n\n // TODO: pass size down in context\n\n return (\n <React.Fragment key={index}>\n <TagName\n className=\"builder-column\"\n {...(col.link ? { href: col.link } : null)}\n // TODO: generate width and margin-left as CSS instead so can override with pure CSS for best responsieness\n // and no use of !important\n css={{\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'stretch',\n lineHeight: 'normal',\n ['& > .builder-blocks']: {\n flexGrow: 1,\n },\n width: this.getColumnWidth(index),\n marginLeft: index === 0 ? 0 : gutterSize,\n ...(this.props.stackColumnsAt !== 'never' && {\n [`@media (max-width: ${\n this.props.stackColumnsAt !== 'tablet'\n ? breakpointSizes.small.max\n : breakpointSizes.medium.max\n }px)`]: {\n width: '100%',\n marginLeft: 0,\n },\n }),\n }}\n >\n <BuilderBlocks\n key={index}\n // TODO: childOf [parentBlocks]?\n child\n parentElementId={this.props.builderBlock && this.props.builderBlock.id}\n blocks={col.blocks}\n dataPath={`component.options.columns.${index}.blocks`}\n />\n </TagName>\n </React.Fragment>\n );\n })}\n </div>\n </React.Fragment>\n );\n }\n}\n\nexport const Columns = withBuilder(ColumnsComponent, {\n name: 'Columns',\n static: true,\n inputs: [\n {\n name: 'columns',\n type: 'array',\n broadcast: true,\n subFields: [\n {\n name: 'blocks',\n type: 'array',\n hideFromUI: true,\n defaultValue: defaultBlocks,\n },\n {\n name: 'width',\n type: 'number',\n hideFromUI: true,\n helperText: 'Width %, e.g. set to 50 to fill half of the space',\n },\n {\n name: 'link',\n type: 'url',\n helperText: 'Optionally set a url that clicking this column will link to',\n },\n ],\n defaultValue: [{ blocks: defaultBlocks }, { blocks: defaultBlocks }],\n onChange: (options: Map<string, any>) => {\n function clearWidths() {\n columns.forEach(col => {\n col.delete('width');\n });\n }\n\n const columns = options.get('columns') as Array<Map<String, any>>;\n\n if (Array.isArray(columns)) {\n const containsColumnWithWidth = !!columns.find(col => col.get('width'));\n\n if (containsColumnWithWidth) {\n const containsColumnWithoutWidth = !!columns.find(col => !col.get('width'));\n if (containsColumnWithoutWidth) {\n clearWidths();\n } else {\n const sumWidths = columns.reduce((memo, col) => {\n return memo + col.get('width');\n }, 0);\n const widthsDontAddUp = sumWidths !== 100;\n if (widthsDontAddUp) {\n clearWidths();\n }\n }\n }\n }\n },\n },\n {\n name: 'space',\n type: 'number',\n defaultValue: 20,\n helperText: 'Size of gap between columns',\n advanced: true,\n },\n {\n name: 'stackColumnsAt',\n type: 'string',\n defaultValue: 'tablet',\n helperText: 'Convert horizontal columns to vertical at what device size',\n enum: ['tablet', 'mobile', 'never'],\n advanced: true,\n },\n {\n name: 'reverseColumnsWhenStacked',\n type: 'boolean',\n defaultValue: false,\n helperText: 'When stacking columns for mobile devices, reverse the ordering',\n advanced: true,\n },\n ],\n});\n","import React from 'react';\nimport { Builder } from '@builder.io/sdk';\nimport { withBuilder } from '../functions/with-builder';\n\nclass EmbedComponent extends React.Component<any> {\n elementRef: HTMLElement | null = null;\n\n scriptsInserted = new Set();\n scriptsRun = new Set();\n\n componentDidUpdate(prevProps: any) {\n if (this.props.content !== prevProps.content) {\n this.findAndRunScripts();\n }\n }\n\n componentDidMount() {\n this.findAndRunScripts();\n }\n\n findAndRunScripts() {\n if (this.elementRef && typeof window !== 'undefined') {\n const scripts = this.elementRef.getElementsByTagName('script');\n for (let i = 0; i < scripts.length; i++) {\n const script = scripts[i];\n if (script.src) {\n if (this.scriptsInserted.has(script.src)) {\n continue;\n }\n this.scriptsInserted.add(script.src);\n const newScript = document.createElement('script');\n newScript.async = true;\n newScript.src = script.src;\n document.head.appendChild(newScript);\n } else {\n if (this.scriptsRun.has(script.innerText)) {\n continue;\n }\n this.scriptsRun.add(script.innerText);\n try {\n new Function(script.innerText)();\n } catch (error) {\n console.warn('Builder custom code component error:', error);\n }\n }\n }\n }\n }\n\n get content() {\n // Remove scripts on server - if they manipulate dom there can be issues on hydration\n // TODO: allow this to by bypassed by context or prop that says if this is going to be HTML\n // loaded without client JS/hydration (static)\n if (Builder.isServer) {\n return (this.props.content || '').replace(/<script[\\s\\S]*?<\\/script>/g, '');\n }\n return this.props.content;\n }\n\n render() {\n return (\n <div\n ref={ref => (this.elementRef = ref)}\n className=\"builder-embed\"\n dangerouslySetInnerHTML={{ __html: this.content }}\n />\n );\n }\n}\n\nexport const Embed = withBuilder(EmbedComponent, {\n name: 'Embed',\n static: true,\n inputs: [\n {\n name: 'url',\n type: 'url',\n required: true,\n defaultValue: '',\n helperText: 'e.g. enter a youtube url, google map, etc',\n onChange(options: Map<string, any>) {\n const url = options.get('url');\n if (url) {\n options.set('content', 'Loading...');\n // TODO: get this out of here!\n const apiKey = 'ae0e60e78201a3f2b0de4b';\n return fetch(`https://iframe.ly/api/iframely?url=${url}&api_key=${apiKey}`)\n .then(res => res.json())\n .then(data => {\n if (options.get('url') === url) {\n if (data.html) {\n options.set('content', data.html);\n } else {\n options.set('content', 'Invalid url, please try another');\n }\n }\n })\n .catch(err => {\n options.set(\n 'content',\n 'There was an error embedding this URL, please try again or another URL'\n );\n });\n } else {\n options.delete('content');\n }\n },\n },\n {\n name: 'content',\n type: 'html',\n defaultValue: `<div style=\"padding: 20px; text-align: center\">(Choose an embed URL)<div>`,\n hideFromUI: true,\n },\n ],\n});\n","import React from 'react';\nimport { BuilderElement, Builder } from '@builder.io/sdk';\nimport { withBuilder } from '../functions/with-builder';\n\ninterface Props {\n code: string;\n builderBlock?: BuilderElement;\n replaceNodes?: boolean;\n scriptsClientOnly?: boolean;\n}\n\n// TODO: settings context to pass this down. do in shopify-specific generated code\nconst globalReplaceNodes = ({} as { [key: string]: Node[] }) || null;\n\nconst isShopify = Builder.isBrowser && 'Shopify' in window;\n\nif (Builder.isBrowser && globalReplaceNodes) {\n const customCodeQuerySelector = '.builder-custom-code';\n\n try {\n let allCustomCodeElements = Array.from(document.querySelectorAll(customCodeQuerySelector));\n\n // Search each template element (if present) for custom code blocks since\n // querySelectorAll cannot search all templates that we use for variations, because they are\n // considered document fragments and are not a part of the DOM.\n const builderTemplates = document.querySelectorAll('template[data-template-variant-id]');\n if (builderTemplates.length) {\n Array.from(builderTemplates).forEach(template => {\n const content: DocumentFragment = (template as any).content;\n const codeElements = content.querySelectorAll(customCodeQuerySelector);\n if (codeElements.length) {\n allCustomCodeElements = allCustomCodeElements.concat(Array.from(codeElements));\n }\n });\n }\n\n allCustomCodeElements.forEach(el => {\n const parent = el.parentElement;\n const id = parent && parent.getAttribute('builder-id');\n if (id) {\n globalReplaceNodes[id] = globalReplaceNodes[id] || [];\n globalReplaceNodes[id].push(isShopify ? el : el.cloneNode(true));\n }\n });\n } catch (err) {\n console.error('Builder replace nodes error:', err);\n }\n}\n\nclass CustomCodeComponent extends React.Component<Props> {\n elementRef: Element | null = null;\n originalRef: Node | Element | null = null;\n\n scriptsInserted = new Set();\n scriptsRun = new Set();\n\n firstLoad = true;\n replaceNodes = false;\n state = {\n hydrated: false,\n };\n\n constructor(props: Props) {\n super(props);\n if (Builder.isBrowser) {\n const id = this.props.builderBlock?.id;\n this.replaceNodes = Boolean(\n Builder.isBrowser && (props.replaceNodes || isShopify) && id && globalReplaceNodes?.[id]\n );\n\n if (this.firstLoad && this.props.builderBlock) {\n if (id && globalReplaceNodes?.[id]) {\n const el = globalReplaceNodes[id].shift() || null;\n this.originalRef = el;\n if (globalReplaceNodes[id].length === 0) {\n delete globalReplaceNodes[id];\n }\n } else if (this.replaceNodes) {\n const existing = document.querySelectorAll(\n `.${this.props.builderBlock.id} .builder-custom-code`\n );\n if (existing.length === 1) {\n const node = existing[0];\n this.originalRef = node as HTMLElement;\n (this.originalRef as Element).remove();\n }\n }\n }\n }\n }\n\n get noReactRender() {\n // Don't render liquid client side\n return Boolean(isShopify && this.props.code?.match(/{[{%]/g));\n }\n\n get isHydrating() {\n return !isShopify && this.originalRef;\n }\n\n componentDidUpdate(prevProps: Props) {\n if (this.props.code !== prevProps.code) {\n this.findAndRunScripts();\n }\n }\n\n componentDidMount() {\n this.firstLoad = false;\n if (!this.replaceNodes) {\n if (this.isHydrating) {\n // first render need to match what's on ssr (issue with next.js)\n this.setState({\n hydrated: true,\n });\n Builder.nextTick(() => this.findAndRunScripts());\n } else {\n this.findAndRunScripts();\n }\n }\n if (Builder.isBrowser && this.replaceNodes && this.originalRef && this.elementRef) {\n this.elementRef.appendChild(this.originalRef);\n }\n }\n\n findAndRunScripts() {\n if (this.elementRef && typeof window !== 'undefined') {\n const scripts = this.elementRef.getElementsByTagName('script');\n for (let i = 0; i < scripts.length; i++) {\n const script = scripts[i];\n if (script.src) {\n if (this.scriptsInserted.has(script.src)) {\n continue;\n }\n this.scriptsInserted.add(script.src);\n const newScript = document.createElement('script');\n newScript.async = true;\n newScript.src = script.src;\n document.head.appendChild(newScript);\n } else if (\n !script.type ||\n ['text/javascript', 'application/javascript', 'application/ecmascript'].includes(\n script.type\n )\n ) {\n if (this.scriptsRun.has(script.innerText)) {\n continue;\n }\n try {\n this.scriptsRun.add(script.innerText);\n new Function(script.innerText)();\n } catch (error) {\n console.warn('Builder custom code component error:', error);\n }\n }\n }\n }\n }\n\n get code() {\n // when ssr'd by nextjs it'll break hydration if initial client render doesn't match ssr\n if (\n (Builder.isServer || (this.isHydrating && this.firstLoad)) &&\n this.props.scriptsClientOnly\n ) {\n return (this.props.code || '').replace(\n /<script\\b[^<]*(?:(?!<\\/script>)<[^<]*)*<\\/script>/gi,\n ''\n );\n }\n return this.props.code;\n }\n\n render() {\n // TODO: remove <script> tags for server render (unless has some param to say it's only goingn to be run on server)\n // like embed\n return (\n <div\n ref={ref => (this.elementRef = ref)}\n // TODO: add a class when node replaced in (?)\n className=\"builder-custom-code\"\n {...(!this.replaceNodes &&\n !this.noReactRender && {\n dangerouslySetInnerHTML: { __html: this.code },\n })}\n />\n );\n }\n}\n\nexport const CustomCode = withBuilder(CustomCodeComponent, {\n name: 'Custom Code',\n static: true,\n requiredPermissions: ['editCode'],\n inputs: [\n {\n name: 'code',\n type: 'html',\n required: true,\n defaultValue: '<p>Hello there, I am custom HTML code!</p>',\n code: true,\n },\n {\n name: 'replaceNodes',\n type: 'boolean',\n helperText: 'Preserve server rendered dom nodes',\n advanced: true,\n ...(isShopify && {\n defaultValue: true,\n }),\n },\n {\n name: 'scriptsClientOnly',\n type: 'boolean',\n helperText:\n 'Only print and run scripts on the client. Important when scripts influence DOM that could be replaced when client loads',\n advanced: true,\n ...(!isShopify && {\n defaultValue: true,\n }),\n },\n ],\n} as any);\n","/** @jsx jsx */\nimport { jsx } from '@emotion/core';\nimport React from 'react';\n\nimport { BuilderBlock as BuilderBlockComponent } from '../components/builder-block.component';\nimport { BuilderElement, Builder } from '@builder.io/sdk';\nimport { BuilderMetaContext } from '../store/builder-meta';\nimport { withBuilder } from '../functions/with-builder';\nimport { throttle } from '../functions/throttle';\nimport { Breakpoints, getSizesForBreakpoints } from '../constants/device-sizes.constant';\n\n// Taken from (and modified) the shopify theme script repo\n// https://github.com/Shopify/theme-scripts/blob/bcfb471f2a57d439e2f964a1bb65b67708cc90c3/packages/theme-images/images.js#L59\nfunction removeProtocol(path: string) {\n return path.replace(/http(s)?:/, '');\n}\n\nfunction isElementInViewport(el: HTMLElement) {\n const rect = el.getBoundingClientRect();\n\n return (\n rect.top >= 0 &&\n rect.left >= 0 &&\n rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) &&\n rect.right <= (window.innerWidth || document.documentElement.clientWidth)\n );\n}\n\nfunction getShopifyImageUrl(src: string, size: string): string | null {\n if (!src || !src?.match(/cdn\\.shopify\\.com/) || !size) {\n return src;\n }\n\n if (size === 'master') {\n return removeProtocol(src);\n }\n\n const match = src.match(/(_\\d+x(\\d+)?)?(\\.(jpg|jpeg|gif|png|bmp|bitmap|tiff|tif)(\\?v=\\d+)?)/i);\n\n if (match) {\n const prefix = src.split(match[0]);\n const suffix = match[3];\n const useSize = size.match('x') ? size : `${size}x`;\n\n return removeProtocol(`${prefix[0]}_${useSize}${suffix}`);\n }\n\n return null;\n}\n\nconst DEFAULT_ASPECT_RATIO = 0.7041;\n\nexport function updateQueryParam(uri = '', key: string, value: string | number | boolean): string {\n const re = new RegExp('([?&])' + key + '=.*?(&|$)', 'i');\n const separator = uri.indexOf('?') !== -1 ? '&' : '?';\n if (uri.match(re)) {\n return uri.replace(re, '$1' + key + '=' + encodeURIComponent(value) + '$2');\n }\n\n return uri + separator + key + '=' + encodeURIComponent(value);\n}\n\nexport function getSrcSet(url: string): string {\n if (!url) {\n return url;\n }\n\n const sizes = [100, 200, 400, 800, 1200, 1600, 2000];\n\n if (url.match(/builder\\.io/)) {\n let srcUrl = url;\n const widthInSrc = Number(url.split('?width=')[1]);\n if (!isNaN(widthInSrc)) {\n srcUrl = `${srcUrl} ${widthInSrc}w`;\n }\n\n return sizes\n .filter(size => size !== widthInSrc)\n .map(size => `${updateQueryParam(url, 'width', size)} ${size}w`)\n .concat([srcUrl])\n .join(', ');\n }\n\n if (url.match(/cdn\\.shopify\\.com/)) {\n return sizes\n .map(size => [getShopifyImageUrl(url, `${size}x${size}`), size])\n .filter(([sizeUrl]) => !!sizeUrl)\n .map(([sizeUrl, size]) => `${sizeUrl} ${size}w`)\n .concat([url])\n .join(', ');\n }\n\n return url;\n}\n\nexport const getSizes = (\n sizes: string,\n block: BuilderElement,\n contentBreakpoints: Breakpoints = {}\n) => {\n let useSizes = '';\n\n if (sizes) {\n const splitSizes = sizes.split(',');\n const sizesLength = splitSizes.length;\n useSizes = splitSizes\n .map((size: string, index) => {\n if (sizesLength === index + 1) {\n // If it is the last size in the array, then we want to strip out\n // any media query information. According to the img spec, the last\n // value for sizes cannot have a media query. If there is a media\n // query at the end it breaks AMP mode rendering\n // https://github.com/ampproject/amphtml/blob/b6313e372fdd1298928e2417dcc616b03288e051/src/size-list.js#L169\n return size.replace(/\\([\\s\\S]*?\\)/g, '').trim();\n } else {\n return size;\n }\n })\n .join(', ');\n } else if (block && block.responsiveStyles) {\n const generatedSizes = [];\n let hasSmallOrMediumSize = false;\n const unitRegex = /^\\d+/;\n\n const breakpointSizes = getSizesForBreakpoints(contentBreakpoints);\n if (block.responsiveStyles?.small?.width?.match(unitRegex)) {\n hasSmallOrMediumSize = true;\n const mediaQuery = `(max-width: ${breakpointSizes.small.max}px)`;\n const widthAndQuery = `${mediaQuery} ${block.responsiveStyles.small.width.replace(\n '%',\n 'vw'\n )}`;\n generatedSizes.push(widthAndQuery);\n }\n\n if (block.responsiveStyles?.medium?.width?.match(unitRegex)) {\n hasSmallOrMediumSize = true;\n const mediaQuery = `(max-width: ${breakpointSizes.medium.max}px)`;\n const widthAndQuery = `${mediaQuery} ${block.responsiveStyles.medium.width.replace(\n '%',\n 'vw'\n )}`;\n generatedSizes.push(widthAndQuery);\n }\n\n if (block.responsiveStyles?.large?.width) {\n const width = block.responsiveStyles.large.width.replace('%', 'vw');\n generatedSizes.push(width);\n } else if (hasSmallOrMediumSize) {\n generatedSizes.push('100vw');\n }\n\n if (generatedSizes.length) {\n useSizes = generatedSizes.join(', ');\n }\n }\n\n return useSizes;\n};\n\n// TODO: use picture tag to support more formats\nclass ImageComponent extends React.Component<any, { imageLoaded: boolean; load: boolean }> {\n get useLazyLoading() {\n // Use builder.getLocation()\n return Builder.isBrowser && location.search.includes('builder.lazyLoadImages=false')\n ? false\n : Builder.isBrowser && location.href.includes('builder.lazyLoadImages=true')\n ? true\n : this.props.lazy;\n }\n\n // TODO: setting to always fade in the images (?)\n state = {\n imageLoaded: !this.useLazyLoading,\n load: !this.useLazyLoading,\n };\n\n pictureRef: HTMLPictureElement | null = null;\n\n scrollListener: null | ((e: Event) => void) = null;\n intersectionObserver: IntersectionObserver | null = null;\n\n componentWillUnmount() {\n if (Builder.isBrowser) {\n if (this.scrollListener) {\n window.removeEventListener('scroll', this.scrollListener);\n this.scrollListener = null;\n }\n\n if (this.intersectionObserver && this.pictureRef) {\n this.intersectionObserver.unobserve(this.pictureRef);\n }\n }\n }\n\n componentDidMount() {\n if (this.props.lazy && Builder.isBrowser) {\n if (this.pictureRef && isElementInViewport(this.pictureRef)) {\n this.setState({\n load: true,\n });\n } else if (typeof IntersectionObserver === 'function' && this.pictureRef) {\n const observer = (this.intersectionObserver = new IntersectionObserver(\n (entries, observer) => {\n entries.forEach(entry => {\n // In view\n if (entry.intersectionRatio > 0) {\n this.setState({\n load: true,\n });\n if (this.pictureRef) {\n observer.unobserve(this.pictureRef);\n }\n }\n });\n }\n ));\n\n observer.observe(this.pictureRef);\n } else {\n // throttled scroll capture listener\n const listener = throttle(\n (event: Event) => {\n if (this.pictureRef) {\n const rect = this.pictureRef.getBoundingClientRect();\n const buffer = window.innerHeight / 2;\n if (rect.top < window.innerHeight + buffer) {\n this.setState({\n ...this.state,\n load: true,\n });\n window.removeEventListener('scroll', listener);\n this.scrollListener = null;\n }\n }\n },\n 400,\n {\n leading: false,\n trailing: true,\n }\n );\n this.scrollListener = listener;\n\n window.addEventListener('scroll', listener, {\n capture: true,\n passive: true,\n });\n listener();\n }\n }\n }\n\n // Allow our legacy `image` prop, as well as allow a `src` prop for more intuitive\n // DX of manual usage (<Image src=\"...\" />)\n get image() {\n return this.props.image || this.props.src;\n }\n\n getSrcSet(): string | undefined {\n const url = this.image;\n if (!url) {\n return;\n }\n\n // We can auto add srcset for cdn.builder.io and shopify\n // images, otherwise you can supply this prop manually\n if (!(url.match(/builder\\.io/) || url.match(/cdn\\.shopify\\.com/))) {\n return;\n }\n\n return getSrcSet(url);\n }\n\n render() {\n const { aspectRatio, lazy, builderBlock, builderState } = this.props;\n const children = this.props.builderBlock && this.props.builderBlock.children;\n\n let srcset = this.props.srcset;\n const sizes = getSizes(\n this.props.sizes,\n builderBlock,\n builderState?.context.builderContent?.meta?.breakpoints || {}\n );\n const image = this.image;\n\n if (srcset && image && image.includes('builder.io/api/v1/image')) {\n if (!srcset.includes(image.split('?')[0])) {\n console.debug('Removed given srcset');\n srcset = this.getSrcSet();\n }\n } else if (image && !srcset) {\n srcset = this.getSrcSet();\n }\n\n const isPixel = builderBlock?.id.startsWith('builder-pixel-');\n const { fitContent } = this.props;\n\n return (\n <BuilderMetaContext.Consumer>\n {value => {\n const amp = value.ampMode;\n const Tag: 'img' = amp ? ('amp-img' as any) : 'img';\n\n const imageContents = (!lazy || this.state.load || amp) && (\n <Tag\n {...(amp\n ? ({\n layout: 'responsive',\n height:\n this.props.height ||\n (aspectRatio ? Math.round(aspectRatio * 1000) : undefined),\n width:\n this.props.width ||\n (aspectRatio ? Math.round(1000 / aspectRatio) : undefined),\n } as any)\n : null)}\n alt={this.props.altText}\n key={\n Builder.isEditing\n ? (typeof this.image === 'string' && this.image.split('?')[0]) || undefined\n : undefined\n }\n role={!this.props.altText ? 'presentation' : undefined}\n css={{\n opacity: amp ? 1 : this.useLazyLoading && !this.state.imageLoaded ? 0 : 1,\n transition: 'opacity 0.2s ease-in-out',\n objectFit: this.props.backgroundSize || 'cover',\n objectPosition: this.props.backgroundPosition || 'center',\n ...(aspectRatio &&\n !amp && {\n position: 'absolute',\n height: '100%',\n width: '100%',\n left: 0,\n top: 0,\n }),\n ...(amp && {\n ['& img']: {\n objectFit: this.props.backgroundSize,\n objectPosition: this.props.backgroundPosition,\n },\n }),\n }}\n loading={isPixel ? 'eager' : 'lazy'}\n className={'builder-image' + (this.props.className ? ' ' + this.props.className : '')}\n src={this.image}\n {...(!amp && {\n // TODO: queue these so react renders all loads at once\n onLoad: () => this.setState({ imageLoaded: true }),\n })}\n // TODO: memoize on image on client\n srcSet={srcset}\n sizes={!amp && sizes ? sizes : undefined}\n />\n );\n\n return (\n <React.Fragment>\n {amp ? (\n imageContents\n ) : (\n <picture ref={ref => (this.pictureRef = ref)}>\n {srcset && srcset.match(/builder\\.io/) && !this.props.noWebp && (\n <source srcSet={srcset.replace(/\\?/g, '?format=webp&')} type=\"image/webp\" />\n )}\n {imageContents}\n </picture>\n )}\n {aspectRatio && !amp && !(fitContent && children && children.length) ? (\n <div\n className=\"builder-image-sizer\"\n css={{\n width: '100%',\n paddingTop: aspectRatio * 100 + '%',\n pointerEvents: 'none',\n fontSize: 0,\n }}\n >\n {' '}\n </div>\n ) : null}\n {children && children.length ? (\n fitContent ? (\n children.map((block: BuilderElement, index: number) => (\n <BuilderBlockComponent key={block.id} block={block} />\n ))\n ) : (\n // TODO: if no aspect ratio and has children, don't make this absolute but instead\n // make the image absolute and fit the children (or with a special option)\n <div\n css={{\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'stretch',\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n }}\n >\n {children.map((block: BuilderElement, index: number) => (\n <BuilderBlockComponent key={block.id} block={block} />\n ))}\n </div>\n )\n ) : null}\n </React.Fragment>\n );\n }}\n </BuilderMetaContext.Consumer>\n );\n }\n}\n\nexport const Image = withBuilder(ImageComponent, {\n name: 'Image',\n static: true,\n image:\n 'https://firebasestorage.googleapis.com/v0/b/builder-3b0a2.appspot.com/o/images%2Fbaseline-insert_photo-24px.svg?alt=media&token=4e5d0ef4-f5e8-4e57-b3a9-38d63a9b9dc4',\n defaultStyles: {\n position: 'relative',\n minHeight: '20px',\n minWidth: '20px',\n overflow: 'hidden',\n },\n canHaveChildren: true,\n inputs: [\n {\n // TODO: new editor type 'responsiveImage' that can do different crops per breakpoint\n // and sets an object and that is read here\n name: 'image',\n type: 'file',\n bubble: true,\n allowedFileTypes: ['jpeg', 'jpg', 'png', 'svg'],\n required: true,\n defaultValue:\n 'https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F72c80f114dc149019051b6852a9e3b7a',\n onChange: (options: Map<string, any>) => {\n const DEFAULT_ASPECT_RATIO = 0.7041;\n options.delete('srcset');\n options.delete('noWebp');\n function loadImage(url: string, timeout = 60000): Promise<HTMLImageElement> {\n return new Promise((resolve, reject) => {\n const img = document.createElement('img');\n let loaded = false;\n img.onload = () => {\n loaded = true;\n resolve(img);\n };\n\n img.addEventListener('error', event => {\n console.warn('Image load failed', event.error);\n reject(event.error);\n });\n\n img.src = url;\n setTimeout(() => {\n if (!loaded) {\n reject(new Error('Image load timed out'));\n }\n }, timeout);\n });\n }\n\n function round(num: number) {\n return Math.round(num * 1000) / 1000;\n }\n\n const value = options.get('image');\n const aspectRatio = options.get('aspectRatio');\n\n // For SVG images - don't render as webp, keep them as SVG\n fetch(value)\n .then(res => res.blob())\n .then(blob => {\n if (blob.type.includes('svg')) {\n options.set('noWebp', true);\n }\n });\n\n if (value && (!aspectRatio || aspectRatio === DEFAULT_ASPECT_RATIO)) {\n return loadImage(value).then(img => {\n const possiblyUpdatedAspectRatio = options.get('aspectRatio');\n if (\n options.get('image') === value &&\n (!possiblyUpdatedAspectRatio || possiblyUpdatedAspectRatio === DEFAULT_ASPECT_RATIO)\n ) {\n if (img.width && img.height) {\n options.set('aspectRatio', round(img.height / img.width));\n options.set('height', img.height);\n options.set('width', img.width);\n }\n }\n });\n }\n },\n },\n {\n name: 'backgroundSize',\n type: 'text',\n defaultValue: 'cover',\n enum: [\n {\n label: 'contain',\n value: 'contain',\n helperText: 'The image should never get cropped',\n },\n {\n label: 'cover',\n value: 'cover',\n helperText: `The image should fill its box, cropping when needed`,\n },\n // TODO: add these options back\n // { label: 'auto', value: 'auto', helperText: '' },\n // { label: 'fill', value: 'fill', helperText: 'The image should fill the box, being stretched or squished if necessary' },\n ] as any,\n },\n {\n name: 'backgroundPosition',\n type: 'text',\n defaultValue: 'center',\n enum: [\n 'center',\n 'top',\n 'left',\n 'right',\n 'bottom',\n 'top left',\n 'top right',\n 'bottom left',\n 'bottom right',\n ],\n },\n {\n name: 'altText',\n type: 'string',\n helperText: 'Text to display when the user has images off',\n },\n {\n name: 'height',\n type: 'number',\n hideFromUI: true,\n },\n {\n name: 'width',\n type: 'number',\n hideFromUI: true,\n },\n {\n name: 'sizes',\n type: 'string',\n hideFromUI: true,\n },\n {\n name: 'srcset',\n type: 'string',\n hideFromUI: true,\n },\n // TODO: force lazy load option (maybe via binding for now hm component.options.lazy: true)\n {\n name: 'lazy',\n type: 'boolean',\n defaultValue: true,\n hideFromUI: true,\n },\n {\n name: 'fitContent',\n type: 'boolean',\n helperText:\n \"When child blocks are provided, fit to them instead of using the image's aspect ratio\",\n defaultValue: true,\n },\n {\n name: 'aspectRatio',\n type: 'number',\n helperText:\n \"This is the ratio of height/width, e.g. set to 1.5 for a 300px wide and 200px tall photo. Set to 0 to not force the image to maintain it's aspect ratio\",\n advanced: true,\n defaultValue: DEFAULT_ASPECT_RATIO,\n },\n // {\n // name: 'backgroundRepeat',\n // type: 'text',\n // defaultValue: 'no-repeat',\n // enum: ['no-repeat', 'repeat', 'repeat-x', 'repeat-y'],\n // },\n ],\n});\n","/** @jsx jsx */\nimport { jsx } from '@emotion/core';\nimport React from 'react';\n\nimport { throttle } from '../functions/throttle';\nimport { withChildren } from '../functions/with-children';\nimport { Builder } from '@builder.io/sdk';\n\nconst DEFAULT_ASPECT_RATIO = 0.7004048582995948;\n\nclass VideoComponent extends React.Component<{\n video: string;\n autoPlay?: boolean;\n controls?: boolean;\n muted?: boolean;\n loop?: boolean;\n playsInline?: boolean;\n aspectRatio?: number;\n width?: number;\n height?: number;\n fit?: 'contain' | 'cover' | 'fill';\n position?: string;\n posterImage?: string;\n lazyLoad?: boolean;\n fitContent?: boolean;\n}> {\n video: HTMLVideoElement | null = null;\n containerRef: HTMLElement | null = null;\n\n scrollListener: null | ((e: Event) => void) = null;\n\n get lazyLoad() {\n // Default is true, must be explicitly turned off to not have this behavior\n // as it's highly recommended for performance and bandwidth optimization\n return this.props.lazyLoad !== false;\n }\n\n state = {\n load: !this.lazyLoad,\n };\n\n updateVideo() {\n const video = this.video;\n if (video) {\n // There are some issues with boolean attributes and media elements\n // see: https://github.com/facebook/react/issues/10389\n const boolProps: Array<'muted' | 'playsInline' | 'autoPlay'> = [\n 'muted',\n 'playsInline',\n 'autoPlay',\n ];\n boolProps.forEach(prop => {\n const attr = prop.toLowerCase();\n if (this.props[prop]) {\n video.setAttribute(attr, attr);\n } else {\n video.removeAttribute(attr);\n }\n });\n }\n }\n\n componentDidUpdate() {\n this.updateVideo();\n }\n\n componentDidMount() {\n this.updateVideo();\n\n if (this.lazyLoad && Builder.isBrowser) {\n // TODO: have a way to consolidate all listeners into one timer\n // to avoid excessive reflows\n const listener = throttle(\n (event: Event) => {\n if (this.containerRef) {\n const rect = this.containerRef.getBoundingClientRect();\n const buffer = window.innerHeight / 2;\n if (rect.top < window.innerHeight + buffer) {\n this.setState(state => ({\n ...state,\n load: true,\n }));\n window.removeEventListener('scroll', listener);\n this.scrollListener = null;\n }\n }\n },\n 400,\n {\n leading: false,\n trailing: true,\n }\n );\n this.scrollListener = listener;\n\n window.addEventListener('scroll', listener, {\n capture: true,\n passive: true,\n });\n listener();\n }\n }\n\n componentWillUnmount() {\n if (Builder.isBrowser && this.scrollListener) {\n window.removeEventListener('scroll', this.scrollListener);\n this.scrollListener = null;\n }\n }\n\n render() {\n const { aspectRatio, children } = this.props;\n return (\n <div ref={ref => (this.containerRef = ref)} css={{ position: 'relative' }}>\n {/* TODO: option to load the whole thing (inc. poster image) or just video */}\n <video\n key={this.props.video || 'no-src'}\n poster={this.props.posterImage}\n ref={ref => (this.video = ref)}\n autoPlay={this.props.autoPlay}\n muted={this.props.muted}\n controls={this.props.controls}\n loop={this.props.loop}\n className=\"builder-video\"\n css={{\n width: '100%',\n height: '100%',\n objectFit: this.props.fit,\n objectPosition: this.props.position,\n zIndex: 2,\n // Hack to get object fit to work as expected and not have the video\n // overflow\n borderRadius: 1,\n ...(aspectRatio\n ? {\n position: 'absolute',\n }\n : null),\n }}\n >\n {(!this.lazyLoad || this.state.load) && (\n <source type=\"video/mp4\" src={this.props.video} />\n )}\n </video>\n {aspectRatio && !(this.props.fitContent && children) ? (\n <div\n css={{\n width: '100%',\n paddingTop: aspectRatio * 100 + '%',\n pointerEvents: 'none',\n fontSize: 0,\n }}\n />\n ) : null}\n {children && this.props.fitContent ? (\n <div css={{ display: 'flex', flexDirection: 'column', alignItems: 'stretch' }}>\n {children}\n </div>\n ) : children ? (\n <div\n css={{\n pointerEvents: 'none',\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'stretch',\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n }}\n >\n {children}\n </div>\n ) : null}\n </div>\n );\n }\n}\n\nexport const Video = Builder.registerComponent(withChildren(VideoComponent), {\n name: 'Video',\n canHaveChildren: true,\n defaultStyles: {\n minHeight: '20px',\n minWidth: '20px',\n },\n image:\n 'https://firebasestorage.googleapis.com/v0/b/builder-3b0a2.appspot.com/o/images%2Fbaseline-videocam-24px%20(1).svg?alt=media&token=49a84e4a-b20e-4977-a650-047f986874bb',\n inputs: [\n {\n name: 'video',\n type: 'file',\n allowedFileTypes: ['mp4'],\n bubble: true,\n defaultValue:\n 'https://firebasestorage.googleapis.com/v0/b/builder-3b0a2.appspot.com/o/assets%2FKQlEmWDxA0coC3PK6UvkrjwkIGI2%2F28cb070609f546cdbe5efa20e931aa4b?alt=media&token=912e9551-7a7c-4dfb-86b6-3da1537d1a7f',\n required: true,\n },\n {\n name: 'posterImage',\n type: 'file',\n allowedFileTypes: ['jpeg', 'png'],\n helperText: 'Image to show before the video plays',\n },\n {\n name: 'autoPlay',\n type: 'boolean',\n defaultValue: true,\n },\n {\n name: 'controls',\n type: 'boolean',\n defaultValue: false,\n },\n {\n name: 'muted',\n type: 'boolean',\n defaultValue: true,\n },\n {\n name: 'loop',\n type: 'boolean',\n defaultValue: true,\n },\n {\n name: 'playsInline',\n type: 'boolean',\n defaultValue: true,\n },\n {\n name: 'fit',\n type: 'text',\n defaultValue: 'cover',\n enum: ['contain', 'cover', 'fill', 'auto'],\n },\n {\n name: 'fitContent',\n type: 'boolean',\n helperText: 'When child blocks are provided, fit to them instead of using the aspect ratio',\n defaultValue: true,\n advanced: true,\n },\n {\n name: 'position',\n type: 'text',\n defaultValue: 'center',\n enum: [\n 'center',\n 'top',\n 'left',\n 'right',\n 'bottom',\n 'top left',\n 'top right',\n 'bottom left',\n 'bottom right',\n ],\n },\n {\n name: 'height',\n type: 'number',\n advanced: true,\n },\n {\n name: 'width',\n type: 'number',\n advanced: true,\n },\n {\n name: 'aspectRatio',\n type: 'number',\n advanced: true,\n defaultValue: DEFAULT_ASPECT_RATIO,\n },\n {\n name: 'lazyLoad',\n type: 'boolean',\n helperText:\n 'Load this video \"lazily\" - as in only when a user scrolls near the video. Recommended for optmized performance and bandwidth consumption',\n defaultValue: true,\n advanced: true,\n },\n ],\n});\n","/** @jsx jsx */\nimport { jsx } from '@emotion/core';\nimport React from 'react';\nimport { BuilderComponent } from '../components/builder-component.component';\nimport { Builder, BuilderElement } from '@builder.io/sdk';\nimport hash from 'hash-sum';\nimport { NoWrap } from '../components/no-wrap';\nimport { BuilderStoreContext } from '../store/builder-store';\nimport { withBuilder } from '../functions/with-builder';\n\nconst size = (thing: object) => Object.keys(thing).length;\n\nconst isShopify = Builder.isBrowser && 'Shopify' in window;\n\nconst refs: Record<string, Element> = {};\n\nif (Builder.isBrowser) {\n try {\n Array.from(document.querySelectorAll('[builder-static-symbol]')).forEach(el => {\n const id = (el as HTMLDivElement).getAttribute('builder-static-symbol');\n if (id) {\n refs[id] = el;\n }\n });\n } catch (err) {\n console.error('Builder replace nodes error:', err);\n }\n}\n\nexport interface SymbolInfo {\n model?: string;\n entry?: string;\n data?: any;\n content?: any;\n inline?: boolean;\n dynamic?: boolean;\n}\n\nexport interface SymbolProps {\n symbol?: SymbolInfo;\n dataOnly?: boolean;\n dynamic?: boolean;\n builderBlock?: BuilderElement;\n attributes?: any;\n inheritState?: boolean;\n}\n\nclass SymbolComponent extends React.Component<SymbolProps> {\n ref: BuilderComponent | null = null;\n staticRef: HTMLDivElement | null = null;\n\n get placeholder() {\n return (\n <div css={{ padding: 10 }}>\n Symbols let you reuse dynamic elements across your content. Please choose a model and entry\n for this symbol.\n </div>\n );\n }\n\n componentDidMount() {\n if (this.useStatic && this.staticRef && refs[this.props.builderBlock?.id!]) {\n this.staticRef.parentNode?.replaceChild(refs[this.props.builderBlock?.id!], this.staticRef);\n }\n }\n\n get useStatic() {\n return Boolean(\n Builder.isBrowser &&\n refs[this.props.builderBlock?.id!] &&\n !(Builder.isEditing || Builder.isPreviewing)\n );\n }\n\n render() {\n if (this.useStatic) {\n return <div ref={el => (this.staticRef = el)} />;\n }\n\n const symbol = this.props.symbol;\n\n let showPlaceholder = false;\n\n if (!symbol) {\n showPlaceholder = true;\n }\n\n const TagName = this.props.dataOnly\n ? NoWrap\n : (this.props.builderBlock && this.props.builderBlock.tagName) || 'div';\n\n const { model, entry, data, content, inline } = symbol || {};\n const dynamic = symbol?.dynamic || this.props.dynamic;\n if (!(model && (entry || dynamic)) && !content?.data?.blocksJs && !inline) {\n showPlaceholder = true;\n }\n\n let key = dynamic ? undefined : [model, entry].join(':');\n const dataString = Builder.isEditing ? null : data && size(data) && hash(data);\n\n if (key && dataString && dataString.length < 300) {\n key += ':' + dataString;\n }\n\n const attributes = this.props.attributes || {};\n return (\n <BuilderStoreContext.Consumer key={(model || 'no model') + ':' + (entry || 'no entry')}>\n {state => {\n return (\n <TagName\n data-model={model}\n {...attributes}\n className={\n (attributes.class || attributes.className || '') +\n ' builder-symbol' +\n (symbol?.inline ? ' builder-inline-symbol' : '') +\n (symbol?.dynamic || this.props.dynamic ? ' builder-dynamic-symbol' : '')\n }\n >\n {showPlaceholder ? (\n this.placeholder\n ) : (\n <BuilderComponent\n {...(state.state?.locale && { locale: state.state.locale })}\n isChild\n ref={(ref: any) => (this.ref = ref)}\n context={{ ...state.context, symbolId: this.props.builderBlock?.id }}\n modelName={model}\n entry={entry}\n data={{\n ...data,\n ...(!!this.props.inheritState && state.state),\n ...this.props.builderBlock?.component?.options?.symbol?.content?.data?.state,\n }}\n renderLink={state.renderLink}\n inlineContent={symbol?.inline}\n {...(content && { content })}\n options={{ key, noEditorUpdates: true }}\n codegen={!!content?.data?.blocksJs}\n hydrate={state.state?._hydrate}\n builderBlock={this.props.builderBlock}\n dataOnly={this.props.dataOnly}\n >\n {/* TODO: builder blocks option for loading stuff */}\n {this.props.children}\n </BuilderComponent>\n )}\n </TagName>\n );\n }}\n </BuilderStoreContext.Consumer>\n );\n }\n}\n\nexport const Symbol = withBuilder(SymbolComponent, {\n // Builder:Symbol\n name: 'Symbol',\n noWrap: true,\n static: true,\n // TODO: allow getter for icon so different icon if data symbol hm,\n // Maybe \"this\" context is the block element in editor, and it's the\n // builderBlock json otherwise. In BuilderBlock decorator find any getters\n // and convert to strings when passing and convert back to getters after\n // with `this` bound\n inputs: [\n {\n name: 'symbol',\n type: 'uiSymbol',\n },\n {\n name: 'dataOnly',\n helperText: `Make this a data symbol that doesn't display any UI`,\n type: 'boolean',\n defaultValue: false,\n advanced: true,\n hideFromUI: true,\n },\n {\n name: 'inheritState',\n helperText: `Inherit the parent component state and data`,\n type: 'boolean',\n defaultValue: isShopify,\n advanced: true,\n },\n {\n name: 'renderToLiquid',\n helperText:\n 'Render this symbols contents to liquid. Turn off to fetch with javascript and use custom targeting',\n type: 'boolean',\n defaultValue: isShopify,\n advanced: true,\n hideFromUI: true,\n },\n {\n name: 'useChildren',\n hideFromUI: true,\n type: 'boolean',\n },\n ],\n});\n","import React from 'react';\nimport { withBuilder } from '../functions/with-builder';\nimport { Link } from '../components/Link';\n\nexport interface ButtonProps {\n attributes?: any;\n text?: string;\n link?: string;\n openLinkInNewTab?: boolean;\n}\n\nclass ButtonComponent extends React.Component<ButtonProps> {\n render() {\n const Tag = this.props.link ? Link : 'span';\n return (\n <Tag\n role=\"button\"\n href={this.props.link}\n target={this.props.openLinkInNewTab ? '_blank' : undefined}\n {...this.props.attributes}\n >\n {this.props.text}\n </Tag>\n );\n }\n}\n\nexport const Button = withBuilder(ButtonComponent, {\n name: 'Core:Button',\n image:\n 'https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2F81a15681c3e74df09677dfc57a615b13',\n defaultStyles: {\n // TODO: make min width more intuitive and set one\n appearance: 'none',\n paddingTop: '15px',\n paddingBottom: '15px',\n paddingLeft: '25px',\n paddingRight: '25px',\n backgroundColor: '#000000',\n color: 'white',\n borderRadius: '4px',\n textAlign: 'center',\n cursor: 'pointer',\n },\n inputs: [\n {\n name: 'text',\n type: 'text',\n defaultValue: 'Click me!',\n bubble: true,\n },\n {\n name: 'link',\n type: 'url',\n bubble: true,\n },\n {\n name: 'openLinkInNewTab',\n type: 'boolean',\n defaultValue: false,\n friendlyName: 'Open link in new tab',\n },\n ],\n static: true,\n noWrap: true,\n});\n","/** @jsx jsx */\nimport { jsx } from '@emotion/core';\nimport React from 'react';\nimport { BuilderElement } from '@builder.io/sdk';\nimport { BuilderBlock as BuilderBlockComponent } from '../components/builder-block.component';\nimport { withBuilder } from '../functions/with-builder';\n\ninterface SectionProps {\n builderBlock?: BuilderElement;\n verticalAlignContent?: string;\n maxWidth?: number;\n lazyLoad?: boolean;\n // Styles to load before lazy loaded in, like a min height\n lazyStyles?: any;\n}\n\nclass SectionComponent extends React.Component<SectionProps, { inView?: boolean }> {\n ref: HTMLElement | null = null;\n\n unmountCallbacks: Function[] = [];\n\n state = {\n inView: false,\n };\n\n get renderContents() {\n if (this.props.lazyLoad !== true) {\n return true;\n }\n\n return this.state.inView;\n }\n\n componentWillUnmount() {\n this.unmountCallbacks.forEach(cb => cb());\n }\n\n componentDidMount() {\n if (this.props.lazyLoad) {\n if (typeof IntersectionObserver === 'undefined' || !this.ref) {\n this.setState({ inView: true });\n } else {\n const observer = new IntersectionObserver(\n (entries, observer) => {\n entries.forEach(entry => {\n if (entry.intersectionRatio > 0) {\n this.setState({\n inView: true,\n });\n if (this.ref) {\n observer.unobserve(this.ref);\n }\n }\n });\n },\n {\n rootMargin: '10px',\n }\n );\n\n observer.observe(this.ref);\n\n this.unmountCallbacks.push(() => {\n if (this.ref) {\n observer.unobserve(this.ref);\n }\n });\n }\n }\n }\n\n render() {\n return (\n <section\n ref={ref => (this.ref = ref)}\n css={{\n width: '100%',\n // height: '100%' was is here so the inner contents can align center, but that is causing\n // issues in Safari. Need another workaround.\n alignSelf: 'stretch',\n flexGrow: 1,\n boxSizing: 'border-box',\n maxWidth: this.props.maxWidth,\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'stretch',\n marginLeft: 'auto',\n marginRight: 'auto',\n ...(this.renderContents ? null : this.props.lazyStyles),\n }}\n >\n {this.renderContents ? (\n <React.Fragment>\n {this.props.children}\n {this.props.builderBlock &&\n this.props.builderBlock.children &&\n this.props.builderBlock.children.map((block, index) => (\n <BuilderBlockComponent key={block.id} block={block} />\n ))}\n </React.Fragment>\n ) : null}\n </section>\n );\n }\n}\n\nexport const Section = withBuilder(SectionComponent, {\n name: 'Core:Section',\n static: true,\n image:\n 'https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2F682efef23ace49afac61748dd305c70a',\n inputs: [\n {\n name: 'maxWidth',\n type: 'number',\n defaultValue: 1200,\n },\n {\n name: 'lazyLoad',\n type: 'boolean',\n defaultValue: false,\n advanced: true,\n description: 'Only render this section when in view',\n },\n ],\n defaultStyles: {\n paddingLeft: '20px',\n paddingRight: '20px',\n paddingTop: '50px',\n paddingBottom: '50px',\n marginTop: '0px',\n width: '100vw',\n marginLeft: 'calc(50% - 50vw)',\n },\n canHaveChildren: true,\n\n defaultChildren: [\n {\n '@type': '@builder.io/sdk:Element',\n responsiveStyles: {\n large: {\n textAlign: 'center',\n },\n },\n component: {\n name: 'Text',\n options: {\n text: \"<p><b>I am a section! My content keeps from getting too wide, so that it's easy to read even on big screens.</b></p><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur</p>\",\n },\n },\n },\n ],\n});\n","import React from 'react';\nimport { BuilderElement } from '@builder.io/sdk';\nimport { BuilderBlock as BuilderBlockComponent } from '../components/builder-block.component';\nimport { BuilderStoreContext } from '../store/builder-store';\nimport { withBuilder } from '../functions/with-builder';\n\ninterface StateProviderProps {\n builderBlock?: BuilderElement;\n state: any;\n context?: any;\n}\n\nclass StateProviderComponent extends React.Component<StateProviderProps> {\n render() {\n return (\n <BuilderStoreContext.Consumer>\n {state => (\n <BuilderStoreContext.Provider\n value={{\n ...state,\n state: {\n ...state.state,\n ...this.props.state,\n },\n context: {\n ...state.context,\n ...this.props.context,\n },\n }}\n >\n {this.props.builderBlock &&\n this.props.builderBlock.children &&\n this.props.builderBlock.children.map((block, index) => (\n <BuilderBlockComponent block={block} key={block.id} index={index} child={true} />\n ))}\n {this.props.children}\n </BuilderStoreContext.Provider>\n )}\n </BuilderStoreContext.Consumer>\n );\n }\n}\n\nexport const StateProvider = withBuilder(StateProviderComponent, {\n name: 'Builder:StateProvider',\n // TODO: default children\n canHaveChildren: true,\n static: true,\n noWrap: true,\n hideFromInsertMenu: true,\n});\n","/** @jsx jsx */\nimport { jsx } from '@emotion/core';\nimport React from 'react';\nimport { BuilderElement, builder, Builder } from '@builder.io/sdk';\nimport { BuilderStoreContext } from '../store/builder-store';\nimport { BuilderComponent } from '../components/builder-component.component';\nimport { withBuilder } from '../functions/with-builder';\n\nexport interface RouterProps {\n model?: string;\n data?: string;\n content?: any;\n handleRouting?: boolean;\n builderBlock?: BuilderElement;\n preloadOnHover?: boolean;\n onRoute?: (routeEvent: RouteEvent) => void;\n}\n\nconst prefetched = new Set();\n\nfunction searchToObject(location: Location) {\n const pairs = (location.search || '').substring(1).split('&');\n const obj: { [key: string]: string } = {};\n\n for (const i in pairs) {\n if (!(pairs[i] && typeof pairs[i] === 'string')) {\n continue;\n }\n const pair = pairs[i].split('=');\n obj[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1]);\n }\n\n return obj;\n}\n\nexport interface RouteEvent {\n /**\n * Url being routed to\n */\n url: string;\n /**\n * Html anchor element the href is on that\n * caused the route\n */\n anchorNode: HTMLAnchorElement;\n /**\n * Has preventDefault() been called preventing\n * builder from routing to the clicked URL\n */\n defaultPrevented: boolean;\n /**\n * Prevents builder from handling routing for you to handle\n * yourself\n */\n preventDefault(): void;\n}\n\nclass RouterComponent extends React.Component<RouterProps> {\n builder = builder;\n\n routed = false;\n\n private preloadQueue = 0;\n\n // TODO: handle route to same url as current (do nothing)\n // TODO: replaceState option\n public route(url: string) {\n this.routed = true;\n\n // TODO: check if relative?\n if (typeof window.history?.pushState === 'function') {\n history.pushState(null, '', url);\n this.updateLocationState();\n return true;\n } else {\n location.href = url;\n return false;\n }\n }\n\n private updateLocationState() {\n if (this.privateState) {\n // Reload path info\n this.privateState.update(obj => {\n // TODO: force always override the location path info... hmm\n obj.location = {\n ...obj.location,\n pathname: location.pathname,\n search: location.search,\n path: location.pathname.split('/').slice(1),\n query: searchToObject(location),\n };\n });\n }\n }\n\n private get model() {\n return this.props.model || 'page';\n }\n\n componentDidMount() {\n if (typeof document !== 'undefined') {\n document.addEventListener('click', this.onClick);\n window.addEventListener('popstate', this.onPopState);\n document.addEventListener('mouseover', this.onMouseOverOrTouchStart);\n document.addEventListener('touchstart', this.onMouseOverOrTouchStart);\n }\n }\n\n componentWillUnmount() {\n if (typeof document !== 'undefined') {\n document.removeEventListener('click', this.onClick);\n document.removeEventListener('mouseover', this.onMouseOverOrTouchStart);\n window.removeEventListener('popstate', this.onPopState);\n document.removeEventListener('touchstart', this.onMouseOverOrTouchStart);\n }\n }\n\n private onPopState = (event: Event) => {\n this.updateLocationState();\n };\n\n private onMouseOverOrTouchStart = (event: MouseEvent | TouchEvent) => {\n if (this.preloadQueue > 4) {\n return;\n }\n\n if (this.props.preloadOnHover === false) {\n return;\n }\n\n const hrefTarget = this.findHrefTarget(event);\n if (!hrefTarget) {\n return;\n }\n\n let href = hrefTarget.getAttribute('href');\n if (!href) {\n return;\n }\n\n // TODO: onPreload hook and preload dom event\n // Also allow that to be defaultPrevented to cancel this behavior\n if (!this.isRelative(href)) {\n const converted = this.convertToRelative(href);\n if (converted) {\n href = converted;\n } else {\n return;\n }\n }\n\n if (href.startsWith('#')) {\n return;\n }\n\n if (prefetched.has(href)) {\n return;\n }\n prefetched.add(href);\n\n const parsedUrl = this.parseUrl(href);\n\n // TODO: override location!\n this.preloadQueue++;\n\n // TODO: use builder from context\n const attributes = builder.getUserAttributes();\n attributes.urlPath = parsedUrl.pathname;\n attributes.queryString = parsedUrl.search;\n\n // Should be queue?\n const subscription = builder\n .get(this.model, {\n userAttributes: attributes,\n key: this.model + ':' + parsedUrl.pathname + parsedUrl.search,\n })\n .subscribe(() => {\n this.preloadQueue--;\n subscription.unsubscribe();\n });\n };\n\n private onClick = async (event: MouseEvent) => {\n if (this.props.handleRouting === false) {\n return;\n }\n\n if (event.button !== 0 || event.ctrlKey || event.defaultPrevented || event.metaKey) {\n // If this is a non-left click, or the user is holding ctr/cmd, or the url is absolute,\n // or if the link has a target attribute, don't route on the client and let the default\n // href property handle the navigation\n return;\n }\n\n const hrefTarget = this.findHrefTarget(event);\n if (!hrefTarget) {\n return;\n }\n\n // target=\"_blank\" or target=\"_self\" etc\n if (hrefTarget.target && hrefTarget.target !== '_client') {\n return;\n }\n\n let href = hrefTarget.getAttribute('href');\n if (!href) {\n return;\n }\n\n if (this.props.onRoute) {\n const routeEvent: RouteEvent = {\n url: href,\n anchorNode: hrefTarget,\n preventDefault() {\n this.defaultPrevented = true;\n },\n defaultPrevented: false,\n };\n\n this.props.onRoute(routeEvent);\n\n if (routeEvent.defaultPrevented) {\n // Wait should this be here? they may want browser to handle this by deault preventing ours...\n // event.preventDefault()\n return;\n }\n }\n\n if (!this.isRelative(href)) {\n const converted = this.convertToRelative(href);\n if (converted) {\n href = converted;\n } else {\n return;\n }\n }\n\n if (href.startsWith('#')) {\n return;\n }\n\n // Otherwise if this url is relative, navigate on the client\n event.preventDefault();\n\n this.route(href);\n };\n\n render() {\n const { model } = this;\n return (\n <BuilderStoreContext.Consumer>\n {state => {\n this.privateState = state;\n // TODO: useEffect based on this that fetches new data and\n // populates as content={} param for fast updates\n const url =\n state.state &&\n state.state.location &&\n state.state.location.pathname + state.state.location.search;\n\n return (\n <div className=\"builder-router\" data-model={model}>\n {/* TODO: move to emotion */}\n <style>{`\n @keyframes builderLoadingSpinner {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n /* TODO: overridable tag */\n .builder-page-loading {\n -webkit-animation: builderLoadingSpinner 1s infinite linear;\n animation: builderLoadingSpinner 1s infinite linear;\n -webkit-transform: translateZ(0);\n transform: translateZ(0);\n border-radius: 50%;\n width: 36px;\n height: 36px;\n margin: 6px auto;\n position: relative;\n border: 1px solid transparent;\n border-left: 1px solid #808284;\n }\n `}</style>\n <BuilderComponent\n // TODO: this key strategy is inidial bc it gives loading for full page when fetching content\n // Also sometimes content flashes to loading even when it's already precached in memory and should immediately display\n // - why\n key={url}\n data={this.props.data}\n content={this.routed ? undefined : this.props.content}\n modelName={model}\n options={{\n key: Builder.isEditing ? undefined : this.model + ':' + url, // TODO: other custom targets specify if should refetch components on change\n }}\n >\n {/* TODO: builder blocks option for loading stuff */}\n {/* TODO: input for builder blocks for this */}\n {this.props.children || (\n <div css={{ display: 'flex' }}>\n <div css={{ margin: '40vh auto' }} className=\"builder-page-loading\" />\n </div>\n )}\n </BuilderComponent>\n </div>\n );\n }}\n </BuilderStoreContext.Consumer>\n );\n }\n\n private findHrefTarget(event: MouseEvent | TouchEvent): HTMLAnchorElement | null {\n // TODO: move to core\n let element = event.target as HTMLElement | null;\n\n while (element) {\n if (element instanceof HTMLAnchorElement && element.getAttribute('href')) {\n return element;\n }\n\n if (element === event.currentTarget) {\n break;\n }\n\n element = element.parentElement;\n }\n\n return null;\n }\n\n private isRelative(href: string) {\n return !href.match(/^(\\/\\/|https?:\\/\\/)/i);\n }\n\n private privateState: {\n state: any;\n update: (mutator: (state: any) => any) => void;\n } | null = null;\n\n // This method can only be called client side only. It is only invoked on click events\n private parseUrl(url: string) {\n const a = document.createElement('a');\n a.href = url;\n return a;\n }\n\n private convertToRelative(href: string): string | null {\n const currentUrl = this.parseUrl(location.href);\n const hrefUrl = this.parseUrl(href);\n\n if (currentUrl.host === hrefUrl.host) {\n const relativeUrl = hrefUrl.pathname + (hrefUrl.search ? hrefUrl.search : '');\n\n if (relativeUrl.startsWith('#')) {\n return null;\n }\n return relativeUrl || '/';\n }\n\n return null;\n }\n}\n\nexport const Router = withBuilder(RouterComponent, {\n name: 'Core:Router',\n hideFromInsertMenu: true,\n // TODO: advanced: true\n inputs: [\n {\n // TODO: search picker\n name: 'model',\n type: 'string',\n defaultValue: 'page',\n advanced: true,\n },\n {\n name: 'handleRouting',\n type: 'boolean',\n defaultValue: true,\n advanced: true,\n },\n {\n name: 'preloadOnHover',\n type: 'boolean',\n defaultValue: true,\n advanced: true,\n },\n {\n name: 'onRoute',\n type: 'function',\n advanced: true,\n // Subfields are function arguments - object with properties\n },\n ],\n});\n","/** @jsx jsx */\nimport { jsx } from '@emotion/core';\nimport React from 'react';\nimport { Builder, BuilderElement } from '@builder.io/sdk';\nimport { BuilderBlocks } from '../components/builder-blocks.component';\n\nBuilder.registerComponent(Mutation, {\n name: 'Builder:Mutation',\n canHaveChildren: true,\n noWrap: true,\n hideFromInsertMenu: true,\n inputs: [\n {\n name: 'type',\n type: 'string',\n defaultValue: 'replace',\n enum: [\n {\n label: 'Replace',\n value: 'replace',\n helperText: 'Replace the contents of this site region with content from Builder',\n },\n {\n label: 'Append',\n value: 'afterEnd',\n helperText: 'Append Builder content after the chosen site region',\n },\n ],\n },\n {\n name: 'selector',\n // TODO: special UI for this\n type: 'builder:domSelector',\n },\n ],\n});\n\ntype MutationProps = {\n selector: string;\n builderBlock?: BuilderElement;\n type?: 'replace' | 'afterEnd';\n};\n\nexport function Mutation(props: MutationProps) {\n const ref = React.useRef<HTMLDivElement | null>(null);\n\n useWaitForSelector(props.selector, node => {\n // TODO: static generate this logic\n if (props.type !== 'afterEnd') {\n node.innerHTML = '';\n }\n node.appendChild(ref.current!.firstElementChild!);\n });\n\n const children = props.builderBlock?.children;\n\n return (\n <span style={{ display: 'none' }} ref={ref}>\n <BuilderBlocks\n style={{\n display: 'inline',\n }}\n child\n parentElementId={props.builderBlock?.id}\n dataPath=\"this.children\"\n blocks={children}\n />\n </span>\n );\n}\n\nfunction useWaitForSelector(selector: string, cb: (node: Element) => void) {\n React.useLayoutEffect(() => {\n try {\n const existingElement = document.querySelector(selector);\n if (existingElement) {\n cb(existingElement);\n return;\n }\n } catch (err) {\n console.warn(err);\n }\n\n const observer = new MutationObserver(() => {\n try {\n const foundElement = document.querySelector(selector);\n if (foundElement) {\n observer.disconnect();\n cb(foundElement);\n }\n } catch (err) {\n console.warn(err);\n }\n });\n\n observer.observe(document.body, {\n attributes: true,\n subtree: true,\n characterData: true,\n });\n\n return () => {\n observer.disconnect();\n };\n }, [selector]);\n}\n","export const get = (obj: any, path: string, defaultValue?: any) => {\n const result = String.prototype.split\n .call(path, /[,[\\].]+?/)\n .filter(Boolean)\n .reduce((res, key) => (res !== null && res !== undefined ? res[key] : res), obj);\n return result === undefined || result === obj ? defaultValue : result;\n};\n","/** @jsx jsx */\nimport { jsx } from '@emotion/core';\nimport React from 'react';\nimport { BuilderBlock as BuilderBlockComponent } from '../../components/builder-block.component';\nimport { BuilderElement, Builder, builder } from '@builder.io/sdk';\nimport { BuilderBlocks } from '../../components/builder-blocks.component';\nimport { BuilderStoreContext } from '../../store/builder-store';\nimport { set } from '../../functions/set';\nimport { get } from '../../functions/get';\nimport { withBuilder } from '../../functions/with-builder';\n\nexport interface FormProps {\n attributes?: any;\n name?: string;\n action?: string;\n validate?: boolean;\n method?: string;\n builderBlock?: BuilderElement;\n sendSubmissionsTo?: string;\n sendSubmissionsToEmail?: string;\n sendWithJs?: boolean;\n contentType?: string;\n customHeaders?: { [key: string]: string };\n successUrl?: string;\n previewState?: string;\n successMessage?: BuilderElement[];\n errorMessage?: BuilderElement[];\n sendingMessage?: BuilderElement[];\n resetFormOnSubmit?: boolean;\n errorMessagePath?: string;\n}\n\nconst MULTIPART_CONTENT_TYPE = 'multipart/form-data';\nconst JSON_CONTENT_TYPE = 'application/json';\nconst ENCODED_CONTENT_TYPE = 'application/x-www-form-urlencoded';\n\nclass FormComponent extends React.Component<FormProps> {\n ref: HTMLFormElement | null = null;\n\n // TODO: link this state to global state and allow togglign the modes in\n // the style and or data editor. TODO: for now some kind of input for preview state\n // that only impacts in the editor?\n state = {\n state: 'unsubmitted' as 'unsubmitted' | 'sending' | 'success' | 'error',\n // TODO: separate response and error?\n responseData: null as any,\n formErrorMessage: '',\n };\n\n get submissionState() {\n return (Builder.isEditing && this.props.previewState) || this.state.state;\n }\n\n render() {\n return (\n // TODO: JS data bindings\n <BuilderStoreContext.Consumer>\n {state => (\n <BuilderStoreContext.Provider\n value={{\n ...state,\n state: {\n ...state.state,\n formErrorMessage: this.state.formErrorMessage,\n },\n }}\n >\n <form\n validate={this.props.validate}\n ref={ref => (this.ref = ref)}\n action={!this.props.sendWithJs && this.props.action}\n method={this.props.method}\n name={this.props.name}\n onSubmit={event => {\n const sendWithJs =\n this.props.sendWithJs || this.props.sendSubmissionsTo === 'email';\n // TODO: custom validate event that can preventDefault and use ref or event to set\n // invalid message\n if (this.props.sendSubmissionsTo === 'zapier') {\n event.preventDefault();\n // TODO: send submission to zapier\n } else if (sendWithJs) {\n if (!(this.props.action || this.props.sendSubmissionsTo === 'email')) {\n event.preventDefault();\n return;\n }\n event.preventDefault();\n\n // TODO: error and success state\n const el = event.currentTarget;\n const headers = this.props.customHeaders || {};\n\n let body: any;\n\n const formData = new FormData(el);\n\n // TODO: maybe support null\n const formPairs: {\n key: string;\n value: File | boolean | number | string | FileList;\n }[] = Array.from(event.currentTarget.querySelectorAll('input,select,textarea'))\n .filter(el => !!(el as HTMLInputElement).name)\n .map(el => {\n let value: any;\n const key = (el as HTMLImageElement).name;\n if (el instanceof HTMLInputElement) {\n if (el.type === 'radio') {\n if (el.checked) {\n value = el.name;\n return { key, value };\n }\n } else if (el.type === 'checkbox') {\n value = el.checked;\n } else if (el.type === 'number' || el.type === 'range') {\n const num = el.valueAsNumber;\n if (!isNaN(num)) {\n value = num;\n }\n } else if (el.type === 'file') {\n // TODO: one vs multiple files\n value = el.files;\n } else {\n value = el.value;\n }\n } else {\n value = (el as HTMLInputElement).value;\n }\n\n return { key, value };\n });\n\n let contentType = this.props.contentType;\n\n if (this.props.sendSubmissionsTo === 'email') {\n contentType = MULTIPART_CONTENT_TYPE;\n }\n\n Array.from(formPairs).forEach(({ value }) => {\n if (\n value instanceof File ||\n (Array.isArray(value) && value[0] instanceof File) ||\n value instanceof FileList\n ) {\n contentType = MULTIPART_CONTENT_TYPE;\n }\n });\n\n if (contentType === MULTIPART_CONTENT_TYPE) {\n body = formData;\n } else if (contentType === JSON_CONTENT_TYPE) {\n const json = {};\n\n Array.from(formPairs).forEach(({ value, key }) => {\n set(json, key, value);\n });\n\n body = JSON.stringify(json);\n } else if (contentType === ENCODED_CONTENT_TYPE) {\n body = Array.from(formPairs)\n .map(({ value, key }) => {\n return (\n encodeURIComponent(key) +\n '=' +\n encodeURIComponent(value as boolean | number | string)\n );\n })\n .join('&');\n } else {\n // Unsupported content type\n console.error('Unsupported content type: ', contentType);\n return;\n }\n\n if (contentType && contentType !== MULTIPART_CONTENT_TYPE) {\n if (\n // Zapier doesn't allow content-type header to be sent from browsers\n !(sendWithJs && this.props.action?.includes('zapier.com'))\n ) {\n headers['content-type'] = contentType;\n }\n }\n\n const presubmitEvent = new CustomEvent('presubmit', {\n detail: {\n body,\n },\n });\n if (this.ref) {\n this.ref.dispatchEvent(presubmitEvent);\n if (presubmitEvent.defaultPrevented) {\n return;\n }\n }\n\n this.setState({\n ...this.state,\n state: 'sending',\n });\n\n const formUrl = `${\n builder.env === 'dev' ? 'http://localhost:5000' : 'https://builder.io'\n }/api/v1/form-submit?apiKey=${builder.apiKey}&to=${btoa(\n this.props.sendSubmissionsToEmail || ''\n )}&name=${encodeURIComponent(this.props.name || '')}`;\n\n fetch(\n this.props.sendSubmissionsTo === 'email' ? formUrl : this.props.action!, // TODO: throw error if no action URL\n {\n body,\n headers,\n method: this.props.method || 'post',\n }\n ).then(\n async res => {\n let body;\n const contentType = res.headers.get('content-type');\n if (contentType && contentType.indexOf(JSON_CONTENT_TYPE) !== -1) {\n body = await res.json();\n } else {\n body = await res.text();\n }\n\n if (!res.ok && this.props.errorMessagePath) {\n // TODO: allow supplying an error formatter function\n let message = get(body, this.props.errorMessagePath);\n\n if (message) {\n if (typeof message !== 'string') {\n // TODO: ideally convert json to yaml so it woul dbe like\n // error: - email has been taken\n message = JSON.stringify(message);\n }\n this.setState({\n ...this.state,\n formErrorMessage: message,\n });\n }\n }\n\n this.setState({\n ...this.state,\n responseData: body,\n state: res.ok ? 'success' : 'error',\n });\n\n if (res.ok) {\n // TODO: send submit success event\n\n const submitSuccessEvent = new CustomEvent('submit:success', {\n detail: {\n res,\n body,\n },\n });\n if (this.ref) {\n this.ref.dispatchEvent(submitSuccessEvent);\n if (submitSuccessEvent.defaultPrevented) {\n return;\n }\n // TODO: option to turn this on/off?\n if (this.props.resetFormOnSubmit !== false) {\n this.ref.reset();\n }\n }\n\n // TODO: client side route event first that can be preventDefaulted\n if (this.props.successUrl) {\n if (this.ref) {\n const event = new CustomEvent('route', {\n detail: {\n url: this.props.successUrl,\n },\n });\n this.ref.dispatchEvent(event);\n if (!event.defaultPrevented) {\n location.href = this.props.successUrl;\n }\n } else {\n location.href = this.props.successUrl;\n }\n }\n }\n },\n err => {\n const submitErrorEvent = new CustomEvent('submit:error', {\n detail: {\n error: err,\n },\n });\n if (this.ref) {\n this.ref.dispatchEvent(submitErrorEvent);\n if (submitErrorEvent.defaultPrevented) {\n return;\n }\n }\n\n // TODO: send submit error event\n this.setState({\n ...this.state,\n responseData: err,\n state: 'error',\n });\n }\n );\n }\n }}\n {...this.props.attributes}\n >\n {/* TODO: maybe BuilderBlocks */}\n {this.props.builderBlock &&\n this.props.builderBlock.children &&\n this.props.builderBlock.children.map((block, index) => (\n <BuilderBlockComponent key={block.id} block={block} />\n ))}\n\n {this.submissionState === 'error' && (\n <BuilderBlocks dataPath=\"errorMessage\" blocks={this.props.errorMessage!} />\n )}\n\n {this.submissionState === 'sending' && (\n <BuilderBlocks dataPath=\"sendingMessage\" blocks={this.props.sendingMessage!} />\n )}\n\n {/* TODO: option to turn this off */}\n {this.submissionState === 'error' && this.state.responseData && (\n // TODO: tag to edit\n <pre\n className=\"builder-form-error-text\"\n css={{ padding: 10, color: 'red', textAlign: 'center' }}\n >\n {JSON.stringify(this.state.responseData, null, 2)}\n </pre>\n )}\n\n {this.submissionState === 'success' && (\n <BuilderBlocks dataPath=\"successMessage\" blocks={this.props.successMessage!} />\n )}\n </form>\n </BuilderStoreContext.Provider>\n )}\n </BuilderStoreContext.Consumer>\n );\n }\n}\n\nexport const Form = withBuilder(FormComponent, {\n name: 'Form:Form',\n // editableTags: ['builder-form-error']\n defaults: {\n responsiveStyles: {\n large: {\n marginTop: '15px',\n paddingBottom: '15px',\n },\n },\n },\n image:\n 'https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2Fef36d2a846134910b64b88e6d18c5ca5',\n inputs: [\n {\n name: 'sendSubmissionsTo',\n type: 'string',\n // TODO: save to builder data and user can download as csv\n // TODO: easy for mode too or computed add/remove fields form mode\n // so you can edit details and high level mode at same time...\n // Later - more integrations like mailchimp\n // /api/v1/form-submit?to=mailchimp\n enum: [\n {\n label: 'Send to email',\n value: 'email',\n helperText: 'Send form submissions to the email address of your choosing',\n },\n {\n label: 'Custom',\n value: 'custom',\n helperText:\n 'Handle where the form requests go manually with a little code, e.g. to your own custom backend',\n },\n ],\n defaultValue: 'email',\n },\n {\n name: 'sendSubmissionsToEmail',\n type: 'string',\n required: true, // TODO: required: () => options.get(\"sendSubmissionsTo\") === \"email\"\n defaultValue: 'your@email.com',\n showIf: 'options.get(\"sendSubmissionsTo\") === \"email\"',\n },\n {\n name: 'sendWithJs',\n type: 'boolean',\n helperText: 'Set to false to use basic html form action',\n defaultValue: true,\n showIf: 'options.get(\"sendSubmissionsTo\") === \"custom\"',\n },\n {\n name: 'name',\n type: 'string',\n defaultValue: 'My form',\n // advanced: true\n },\n {\n name: 'action',\n type: 'string',\n helperText: 'URL to send the form data to',\n showIf: 'options.get(\"sendSubmissionsTo\") === \"custom\"',\n },\n {\n name: 'contentType',\n type: 'string',\n defaultValue: JSON_CONTENT_TYPE,\n advanced: true,\n // TODO: do automatically if file input\n enum: [JSON_CONTENT_TYPE, MULTIPART_CONTENT_TYPE, ENCODED_CONTENT_TYPE],\n showIf: 'options.get(\"sendSubmissionsTo\") === \"custom\" && options.get(\"sendWithJs\") === true',\n },\n {\n name: 'method',\n type: 'string',\n showIf: 'options.get(\"sendSubmissionsTo\") === \"custom\"',\n defaultValue: 'POST',\n advanced: true,\n },\n {\n name: 'previewState',\n type: 'string',\n // TODO: persist: false flag\n enum: ['unsubmitted', 'sending', 'success', 'error'],\n defaultValue: 'unsubmitted',\n helperText:\n 'Choose a state to edit, e.g. choose \"success\" to show what users see on success and edit the message',\n showIf: 'options.get(\"sendSubmissionsTo\") !== \"zapier\" && options.get(\"sendWithJs\") === true',\n },\n {\n name: 'successUrl',\n type: 'url',\n helperText: 'Optional URL to redirect the user to on form submission success',\n showIf: 'options.get(\"sendSubmissionsTo\") !== \"zapier\" && options.get(\"sendWithJs\") === true',\n },\n {\n name: 'resetFormOnSubmit',\n type: 'boolean',\n showIf: options =>\n options.get('sendSubmissionsTo') === 'custom' && options.get('sendWithJs') === true,\n advanced: true,\n },\n {\n name: 'successMessage',\n type: 'uiBlocks',\n hideFromUI: true,\n defaultValue: [\n {\n '@type': '@builder.io/sdk:Element',\n responsiveStyles: {\n large: {\n marginTop: '10px',\n },\n },\n component: {\n name: 'Text',\n options: {\n text: '<span>Thanks!</span>',\n },\n },\n },\n ],\n },\n {\n name: 'validate',\n type: 'boolean',\n defaultValue: true,\n advanced: true,\n },\n {\n name: 'errorMessagePath',\n type: 'text',\n advanced: true,\n helperText:\n 'Path to where to get the error message from in a JSON response to display to the user, e.g. \"error.message\" for a response like { \"error\": { \"message\": \"this username is taken\" }}',\n },\n {\n name: 'errorMessage',\n type: 'uiBlocks',\n hideFromUI: true,\n defaultValue: [\n {\n '@type': '@builder.io/sdk:Element',\n responsiveStyles: {\n large: {\n marginTop: '10px',\n },\n },\n bindings: {\n 'component.options.text': 'state.formErrorMessage || block.component.options.text',\n },\n component: {\n name: 'Text',\n options: {\n // TODO: how pull in API message\n text: '<span>Form submission error :( Please check your answers and try again</span>',\n },\n },\n },\n ],\n },\n {\n name: 'sendingMessage',\n type: 'uiBlocks',\n hideFromUI: true,\n defaultValue: [\n {\n '@type': '@builder.io/sdk:Element',\n responsiveStyles: {\n large: {\n marginTop: '10px',\n },\n },\n component: {\n name: 'Text',\n options: {\n // TODO: how pull in API message\n text: '<span>Sending...</span>',\n },\n },\n },\n ],\n },\n {\n name: 'customHeaders',\n type: 'map',\n // TODO: add typings for this property\n ...({\n valueType: {\n type: 'string',\n },\n } as any),\n advanced: true,\n showIf: 'options.get(\"sendSubmissionsTo\") === \"custom\" && options.get(\"sendWithJs\") === true',\n },\n // TODO: custom headers or any fetch options\n // TODO: json vs serialized (i.e. send on client or not)\n // TODO: success/fail stuff\n ],\n noWrap: true,\n // TODO: defaultChildren with two inputs and submit button\n canHaveChildren: true,\n defaultChildren: [\n {\n '@type': '@builder.io/sdk:Element',\n responsiveStyles: {\n large: {\n marginTop: '10px',\n },\n },\n component: {\n name: 'Text',\n options: {\n text: '<span>Enter your name</span>',\n },\n },\n },\n {\n '@type': '@builder.io/sdk:Element',\n responsiveStyles: {\n large: {\n marginTop: '10px',\n },\n },\n component: {\n name: 'Form:Input',\n options: {\n name: 'name',\n placeholder: 'Jane Doe',\n },\n },\n },\n {\n '@type': '@builder.io/sdk:Element',\n responsiveStyles: {\n large: {\n marginTop: '10px',\n },\n },\n component: {\n name: 'Text',\n options: {\n text: '<span>Enter your email</span>',\n },\n },\n },\n {\n '@type': '@builder.io/sdk:Element',\n responsiveStyles: {\n large: {\n marginTop: '10px',\n },\n },\n component: {\n name: 'Form:Input',\n options: {\n name: 'email',\n placeholder: 'jane@doe.com',\n },\n },\n },\n {\n '@type': '@builder.io/sdk:Element',\n responsiveStyles: {\n large: {\n marginTop: '10px',\n },\n },\n component: {\n name: 'Form:SubmitButton',\n options: {\n text: 'Submit',\n },\n },\n },\n ],\n});\n","import React from 'react';\nimport { Builder } from '@builder.io/sdk';\nimport { withBuilder } from '../../functions/with-builder';\n\n// TODO: how do onchange...\n// TODO: actions all custom events and custom js gets\n// passed an element reference and listens for events....\n// Needs to unsubscribe, so must manage\nexport interface FormInputProps {\n type?: string;\n attributes?: any;\n name?: string;\n value?: string;\n placeholder?: string;\n defaultValue?: string;\n required?: boolean;\n}\n\nclass FormInputComponent extends React.Component<FormInputProps> {\n render() {\n return (\n <input\n key={Builder.isEditing && this.props.defaultValue ? this.props.defaultValue : 'default-key'}\n placeholder={this.props.placeholder}\n type={this.props.type}\n name={this.props.name}\n value={this.props.value}\n defaultValue={this.props.defaultValue}\n required={this.props.required}\n {...this.props.attributes}\n />\n );\n }\n}\n\nexport const FormInput = withBuilder(FormInputComponent, {\n name: 'Form:Input',\n image:\n 'https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2Fad6f37889d9e40bbbbc72cdb5875d6ca',\n inputs: [\n {\n name: 'type',\n type: 'text',\n enum: [\n 'text',\n 'number',\n 'email',\n 'url',\n 'checkbox',\n 'radio',\n 'range',\n 'date',\n 'datetime-local',\n 'search',\n 'tel',\n 'time',\n 'file',\n 'month',\n 'week',\n 'password',\n 'color',\n 'hidden',\n ],\n defaultValue: 'text',\n },\n {\n name: 'name',\n type: 'string',\n required: true,\n helperText:\n 'Every input in a form needs a unique name describing what it takes, e.g. \"email\"',\n },\n {\n name: 'placeholder',\n type: 'string',\n defaultValue: 'Hello there',\n helperText: 'Text to display when there is no value',\n },\n // TODO: handle value vs default value automatically like ng-model\n {\n name: 'defaultValue',\n type: 'string',\n },\n {\n name: 'value',\n type: 'string',\n advanced: true,\n },\n\n {\n name: 'required',\n type: 'boolean',\n helperText: 'Is this input required to be filled out to submit a form',\n defaultValue: false,\n },\n ],\n // TODO\n // TODO: call editorHooks?\n // ...({\n // hooks: {\n // 'ElementLayout:shiftBottomSide': (element: Element, amount: number, snap: boolean) => {\n // // TODO: either update line height or split the padding padding on bottom sides hmm\n // }\n // } as any,\n // }),\n noWrap: true,\n static: true,\n defaultStyles: {\n paddingTop: '10px',\n paddingBottom: '10px',\n paddingLeft: '10px',\n paddingRight: '10px',\n borderRadius: '3px',\n borderWidth: '1px',\n borderStyle: 'solid',\n borderColor: '#ccc',\n },\n});\n","import React from 'react';\nimport { withBuilder } from '../../functions/with-builder';\n\nexport interface ButtonProps {\n attributes?: any;\n text?: string;\n}\n\nclass FormSubmitButtonComponent extends React.Component<ButtonProps> {\n render() {\n return (\n <button type=\"submit\" {...this.props.attributes}>\n {this.props.text}\n </button>\n );\n }\n}\n\nexport const FormSubmitButton = withBuilder(FormSubmitButtonComponent, {\n name: 'Form:SubmitButton',\n image:\n 'https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2Fdf2820ffed1f4349a94c40b3221f5b98',\n defaultStyles: {\n appearance: 'none',\n paddingTop: '15px',\n paddingBottom: '15px',\n paddingLeft: '25px',\n paddingRight: '25px',\n backgroundColor: '#3898EC',\n color: 'white',\n borderRadius: '4px',\n cursor: 'pointer',\n },\n inputs: [\n {\n name: 'text',\n type: 'text',\n defaultValue: 'Click me',\n },\n ],\n static: true,\n noWrap: true,\n // TODO: optional children? maybe as optional form input\n // that only shows if advanced setting is flipped\n // TODO: defaultChildren\n // canHaveChildren: true,\n});\n","import React from 'react';\nimport { BuilderElement } from '@builder.io/sdk';\nimport { BuilderBlockComponent } from '../../builder-react';\nimport { withBuilder } from '../../functions/with-builder';\n\nexport interface LabelProps {\n attributes?: any;\n text?: string;\n for?: string;\n builderBlock?: BuilderElement;\n}\n\nclass LabelComponent extends React.Component<LabelProps> {\n render() {\n return (\n <label htmlFor={this.props.for} {...this.props.attributes}>\n {this.props.text && (\n <span\n className=\"builder-label-text\"\n dangerouslySetInnerHTML={{\n __html: this.props.text,\n }}\n />\n )}\n {this.props.builderBlock &&\n this.props.builderBlock.children &&\n this.props.builderBlock.children.map(item => (\n <BuilderBlockComponent key={item.id} block={item} />\n ))}\n </label>\n );\n }\n}\n\n// TODO: strict ADA mode that enforces with custom error messages that all inputs need\n// labels and names\nexport const Label = withBuilder(LabelComponent, {\n name: 'Form:Label',\n image:\n 'https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2F9322342f04b545fb9a8091cd801dfb5b',\n inputs: [\n {\n name: 'text',\n type: 'html',\n richText: true,\n defaultValue: 'Label',\n },\n {\n name: 'for',\n type: 'text',\n helperText: 'The name of the input this label is for',\n advanced: true,\n },\n ],\n noWrap: true,\n static: true,\n canHaveChildren: true,\n // TODO: take inner html or blocsk\n // TODO: optional children? maybe as optional form input\n // that only shows if advanced setting is flipped\n // TODO: defaultChildren\n // canHaveChildren: true,\n});\n","import React from 'react';\nimport { Builder } from '@builder.io/sdk';\nimport { withBuilder } from '../../functions/with-builder';\n\nexport interface FormSelectProps {\n options?: { name?: string; value: string }[];\n attributes?: any;\n name?: string;\n value?: string;\n defaultValue?: string;\n}\n\nclass FormSelectComponent extends React.Component<FormSelectProps> {\n render() {\n const { options } = this.props;\n return (\n <select\n value={this.props.value}\n key={Builder.isEditing && this.props.defaultValue ? this.props.defaultValue : 'default-key'}\n defaultValue={this.props.defaultValue}\n name={this.props.name}\n {...this.props.attributes}\n >\n {options &&\n options.map(option => (\n <option value={option.value}>{option.name || option.value}</option>\n ))}\n </select>\n );\n }\n}\n\nexport const FormSelect = withBuilder(FormSelectComponent, {\n name: 'Form:Select',\n image:\n 'https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2F83acca093fb24aaf94dee136e9a4b045',\n defaultStyles: {\n alignSelf: 'flex-start',\n },\n inputs: [\n {\n name: 'options',\n type: 'list',\n required: true,\n subFields: [\n {\n name: 'value',\n type: 'text',\n required: true,\n },\n {\n name: 'name',\n type: 'text',\n },\n ],\n defaultValue: [\n {\n value: 'option 1',\n },\n {\n value: 'option 2',\n },\n ],\n },\n {\n name: 'name',\n type: 'string',\n required: true,\n helperText:\n 'Every select in a form needs a unique name describing what it gets, e.g. \"email\"',\n },\n {\n name: 'defaultValue',\n type: 'string',\n },\n {\n name: 'value',\n type: 'string',\n advanced: true,\n },\n\n {\n name: 'required',\n type: 'boolean',\n defaultValue: false,\n },\n ],\n static: true,\n noWrap: true,\n});\n","import React from 'react';\nimport { withBuilder } from '../../functions/with-builder';\n\nexport interface FormTextAreaProps {\n attributes?: any;\n name?: string;\n value?: string;\n defaultValue?: string;\n placeholder?: string;\n}\n\nclass TextAreaComponent extends React.Component<FormTextAreaProps> {\n render() {\n return (\n <textarea\n placeholder={this.props.placeholder}\n name={this.props.name}\n value={this.props.value}\n defaultValue={this.props.defaultValue}\n {...this.props.attributes}\n />\n );\n }\n}\n\nexport const TextArea = withBuilder(TextAreaComponent, {\n name: 'Form:TextArea',\n image:\n 'https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2Ff74a2f3de58c4c3e939204e5b6b8f6c3',\n inputs: [\n {\n advanced: true,\n name: 'value',\n type: 'string',\n },\n {\n name: 'name',\n type: 'string',\n required: true,\n helperText: 'Every input in a form needs a unique name describing what it gets, e.g. \"email\"',\n },\n {\n name: 'defaultValue',\n type: 'string',\n },\n {\n name: 'placeholder',\n type: 'string',\n defaultValue: 'Hello there',\n },\n {\n name: 'required',\n type: 'boolean',\n defaultValue: false,\n },\n ],\n defaultStyles: {\n paddingTop: '10px',\n paddingBottom: '10px',\n paddingLeft: '10px',\n paddingRight: '10px',\n borderRadius: '3px',\n borderWidth: '1px',\n borderStyle: 'solid',\n borderColor: '#ccc',\n },\n static: true,\n noWrap: true,\n});\n","import React from 'react';\nimport { BuilderElement } from '@builder.io/sdk';\nimport { withBuilder } from '../../functions/with-builder';\n\nexport interface ImgProps {\n attributes?: any;\n image?: string;\n builderBlock?: BuilderElement;\n}\n\n// TODO: srcset, alt text input, object size/position input, etc\n\nclass ImgComponent extends React.Component<ImgProps> {\n render() {\n const attributes = this.props.attributes || {};\n return (\n <img\n {...this.props.attributes}\n src={this.props.image || attributes.src}\n // TODO: generate this\n // srcSet={this.props.image || attributes.srcSet || attributes.srcset}\n />\n );\n }\n}\n\nexport const Img = withBuilder(ImgComponent, {\n // friendlyName?\n name: 'Raw:Img',\n hideFromInsertMenu: true,\n image:\n 'https://firebasestorage.googleapis.com/v0/b/builder-3b0a2.appspot.com/o/images%2Fbaseline-insert_photo-24px.svg?alt=media&token=4e5d0ef4-f5e8-4e57-b3a9-38d63a9b9dc4',\n inputs: [\n {\n name: 'image',\n bubble: true,\n type: 'file',\n allowedFileTypes: ['jpeg', 'jpg', 'png', 'svg'],\n required: true,\n },\n ],\n noWrap: true,\n static: true,\n});\n","import * as React from 'react';\nimport { BuilderElement, Builder } from '@builder.io/sdk';\n\nexport interface RawTextProps {\n attributes?: any;\n text?: string;\n builderBlock?: BuilderElement;\n}\n\nexport const RawText = (props: RawTextProps) => {\n const attributes = props.attributes || {};\n return (\n <span\n className={attributes?.class || attributes?.className}\n dangerouslySetInnerHTML={{ __html: props.text || '' }}\n />\n );\n};\n\nBuilder.registerComponent(RawText, {\n name: 'Builder:RawText',\n hideFromInsertMenu: true,\n inputs: [\n {\n name: 'text',\n bubble: true,\n type: 'longText',\n required: true,\n },\n ],\n});\n","import { useEffect, useState } from 'react';\nimport { Builder } from '@builder.io/sdk';\n\nexport function useIsPreviewing() {\n const [isPreviewing, setIsPreviewing] = useState(false);\n\n useEffect(() => {\n if (Builder.isEditing || Builder.isPreviewing) {\n setIsPreviewing(true);\n }\n }, []);\n\n return isPreviewing;\n}\n","import './scripts/init-editing';\n\nimport { builder, Builder } from '@builder.io/sdk';\nexport { BuilderElement } from '@builder.io/sdk';\n\nBuilder.isReact = true;\n\nexport { BuilderBlocks } from './components/builder-blocks.component';\nexport { BuilderBlock as BuilderBlockComponent } from './components/builder-block.component';\nexport { BuilderContent } from './components/builder-content.component';\nimport { BuilderComponent, onChange } from './components/builder-component.component';\nexport { BuilderStoreContext, BuilderStore } from './store/builder-store';\nexport { BuilderMetaContext } from './store/builder-meta';\nexport { BuilderAsyncRequestsContext } from './store/builder-async-requests';\nexport { BuilderBlock } from './decorators/builder-block.decorator';\n\nexport * from './functions/update-metadata';\n\nexport { withBuilder } from './functions/with-builder';\nexport { withChildren } from './functions/with-children';\nexport { noWrap } from './functions/no-wrap';\n\nexport { BuilderComponent as BuilderPage, onChange };\nexport { BuilderComponent };\nexport { BuilderComponent as RenderContent };\n\nexport { Text } from './blocks/Text';\nexport { Slot as Dropzone } from './blocks/Slot';\nexport { Fragment } from './blocks/Fragment';\nexport { Columns } from './blocks/Columns';\nexport { Embed } from './blocks/Embed';\nexport { CustomCode } from './blocks/CustomCode';\nexport { Image, getSrcSet } from './blocks/Image';\nexport { Video } from './blocks/Video';\nexport { Symbol } from './blocks/Symbol';\nexport { Button } from './blocks/Button';\nexport { Section } from './blocks/Section';\nexport { StateProvider } from './blocks/StateProvider';\nexport { Router } from './blocks/Router';\nexport { Mutation } from './blocks/Mutation';\n\nexport { Form } from './blocks/forms/Form';\nexport { FormInput } from './blocks/forms/Input';\nexport { FormSubmitButton } from './blocks/forms/Button';\nexport { Label } from './blocks/forms/Label'; // advanced?\nexport { FormSelect } from './blocks/forms/Select'; // advanced?\nexport { TextArea } from './blocks/forms/TextArea';\nexport { Img } from './blocks/raw/Img';\nexport { RawText } from './blocks/raw/RawText';\n\nexport { stringToFunction } from './functions/string-to-function';\nexport { useIsPreviewing } from './hooks/useIsPreviewing';\n\nexport { builder, Builder };\nexport default builder;\n"],"names":["window","_a","parent","postMessage","type","data","value","supportsPatchUpdates","supportsCustomBreakpoints","priorVersion","version","pad","hash","len","length","fold","text","i","charCodeAt","foldObject","o","seen","Object","keys","sort","reduce","key","foldValue","input","toString","undefined","indexOf","push","objHash","valueOf","String","err","stack","message","prototype","call","sum","hashSum","CustomEvent","event","params","bubbles","cancelable","detail","evt","document","createEvent","initCustomEvent","isSafari","test","navigator","userAgent","nextTick","fn","setImmediate","MutationObserver","setTimeout","called","observer","element","createTextNode","observe","characterData","PROPERTY_NAME_DENY_LIST","freeze","QueryString","parseDeep","queryString","obj","this","parse","deepen","stringifyDeep","map","flatten","stringify","query","pairs","substr","split","pair","decodeURIComponent","error","str","hasOwnProperty","encodeURIComponent","output","k","t","parts","pop","parts_1","_i","part","assertAllowedPropertyName","_current","_res","newKey","name","Error","Subscription","listeners","listener","unsubscribed","otherSubscriptions","defineProperty","get","add","subscription","unsubscribe","index","splice","forEach","sub","BehaviorSubject","errorListeners","next","newSubject","subscribe","val","catch","errorListener","toPromise","_this","Promise","resolve","reject","promise","State","Pending","Fulfilled","Rejected","isFunction","isObject","TinyPromise","executor","_state","_handlers","_value","_resolve","bind","_reject","x","then","called_1","thenable","result","_fulfill","ex","handler","_callHandler","_isPending","_isFulfilled","_isRejected","_addHandler","onFulfilled","onRejected","Promise$1","serverOnlyRequire","eval","serverOnlyRequire$1","fetch","promiseResolve","tinyFetch","url","options","request","XMLHttpRequest","open","method","headers","setRequestHeader","response","all","header","getAllResponseHeaders","replace","_match","_key","toLowerCase","concat","ok","status","statusText","responseURL","clone","responseText","json","JSON","blob","Blob","entries","n","has","withCredentials","credentials","onload","onerror","send","body","assign","target","to","arguments","nextSource","nextKey","throttle","func","wait","context","args","timeout","previous","later","leading","Date","now","apply","remaining","clearTimeout","trailing","globalThis","camelCaseToKebabCase","g","Animator","bindAnimations","animations","animations_1","animation","trigger","triggerAnimation","bindHoverAnimation","bindScrollInViewAnimation","warnElementNotPresent","id","console","warn","augmentAnimation","stylesUsed","getAllStylesUsed","computedStyle","getComputedStyle","bothStyles_1","steps","styles","stylesUsed_1","style","properties","step","elements","Array","slice","getElementsByClassName","elementId","from","transition","transitionDelay","duration","easing","delay","defaultState","hoverState","attachDefaultState","addEventListener","triggered","pendingAnimation","immediateOnScroll","isScrolledIntoView","repeat","removeEventListener","onScroll","elem","rect","getBoundingClientRect","windowHeight","innerHeight","threshold","thresholdPercent","bottom","top","capture","passive","getTopLevelDomain","host","join","fieldContentRegExp","Cookies","match","getPattern","set","opts","res","req","getHeader","secure","protocol","connection","encrypted","cookie","Cookie","domain","pushCookie","setHeader","attrs","path","httpOnly","sameSite","overwrite","TypeError","expires","toHeader","maxAge","toUTCString","RegExp","omit","values","newObject","values_1","uuidv4","c","r","Math","random","uuid","emptyUrl","port","auth","hostname","href","pathname","search","slashes","u","out","URL","toError","datePlusMinutes","minutes","isPositiveNumber","thing","isNaN","isReactNative","product","validEnvList","getQueryParam","variable","vars","urlParser","el","createElement","props_1","prop","urlParse","setCookie","expiresString","isBrowser","location","getCookie","size","object","find","callback","list","thisArg","sessionStorageKey","localStorageKey","isIframe","self","Builder","apiKey","forceNewInstance","authToken","eventsQueue","throttledClearEventsQueue","processEventsQueue","sessionId","env","getSessionId","targetContent","contentPerRequest","allowCustomFonts","cookies","cachebust","overrideParams","noCache","preview","canTrack$","browserTrackingDisabled","apiKey$","authToken$","userAttributesChanged","editingMode$","editingModel$","trackingHooks","visitorId","getVisitorId","autoTrack","isDevelopmentEnv","trackingUserAttributes","blockContentLoading","observersByKey","noEditorUpdates","overrides","queryOptions","getContentQueue","priorContentQueue","testCookiePrefix","cookieQueue","singletonInstance","setUserAgent","bindMessageListeners","isEditing","messageFrameLoaded","sessionStorage","getItem","setItem","debug","item","setTestsFromUrl","getOverridesFromQueryString","register","info","typeList","registry","registryChange","registerEditor","isTrustedHost","editors","registerPlugin","plugins","registerAction","action","actions","registerTrustedHost","trustedHosts","findIndex","trustedHost","endsWith","runAction","fields","settings","import","packageName","System","_editingPage","editingPage","classList","remove","prepareComponentSpecToSend","spec","__assign","inputs","keysToConvertFnToString_1","hooks","memo","class","registerBlock","component","registerComponent","builderOptions","addComponent","models","editingModel","includes","sendSpec","current","components","events","fullUserAttributes","overrideUserAttributes","events_1","event_1","metadata","user","content-type","mode","Boolean","builderNoTrack","cookieEnabled","canTrack","editingMode","findParentElement","checkElement","HTMLElement","parentElement","findBuilderParent","getAttribute","setTrackingHook","hook","track","eventName","isPreviewing","eventData","sdkVersion","VERSION","meta","ownerId","userAttributes","getUserAttributes","returnValue","localStorage","trackImpression","contentId","variationId","trackConversion","amount","customProperties","useContentId","trackInteraction","alreadyTrackedOne","targetBuilderElement","clientX","clientY","xOffset","targetRect","left","yOffset","xRatio","round","width","yRatio","height","targetOffset","y","builderTargetOffset","builderId","builderElementIndex","unique","num","token","modifySearch","group1","group2","getLocation","tests","builder","setTestCookie","resetOverrides","api","editing","frameEditing","setUserAttributes","locale","includeRefs","origin","isRestricted","isTrusted","_b","source","settingsChange","info_1","hasComponent_1","every","thisInfo","animator","alias","entry","modelName","contentData","_c","model","componentData","editingPageMode","flushGetContentQueue","_f","id_1","Function","_d","finalResult","_e","trim","init","defaultCanTrack","parsedLocation","isMobile","Android","BlackBerry","iOS","Opera","Windows","any","isTablet","urlPath","device","setTrackingUserAttributes","attributes","instance","queueGetContent","matches","isStatic","matchData","blocksString","blocks","testVariationId","testVariationName","lastUpdated","isEditingThisModel","currentObservable","initialContent","cache","queue_1","observable","requestUrl","overrideHost","usePastQueue","useQueue","queue","queryParams","format","pageQueryParams","includeUrl","location_1","urlQueueItem","isReact","prerender","queue_2","static","cacheSeconds","staleCacheSeconds","properties_1","hasParams","keyNames","queryStr","requestOptions","Authorization","queue_3","keyName","sorted","testModifiedResults","isServer","processResultsForTests","queue_4","results","mappedResults","variations","cookieValue","getTestCookie","cookieVariation","variation","testRatio","variationName","future","setDate","getDate","getContent","getAll","limit","previewingModel","referrer","_setPrototypeOf","p","setPrototypeOf","__proto__","_inheritsLoose","subClass","superClass","create","constructor","getOwnPropertySymbols","propIsEnumerable","propertyIsEnumerable","toObject","shouldUseNative","test1","getOwnPropertyNames","test2","fromCharCode","test3","letter","objectAssign","symbols","s","exports","StrictMode","Profiler","q","Suspense","v","Symbol","for","w","iterator","z","a","b","A","isMounted","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","B","C","props","refs","updater","D","E","isReactComponent","setState","forceUpdate","F","l","isPureReactComponent","G","H","I","ref","__self","__source","J","e","d","h","children","f","m","defaultProps","$$typeof","_owner","L","M","N","=",":","escape","O","isArray","K","done","P","Q","_status","_result","default","R","S","T","ReactCurrentDispatcher","ReactCurrentBatchConfig","ReactCurrentOwner","IsSomeRendererActing","Children","count","toArray","only","Component","PureComponent","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","cloneElement","createContext","_calculateChangedBits","_currentValue","_currentValue2","_threadCount","Provider","Consumer","_context","createRef","render","isValidElement","lazy","_payload","_init","compare","useCallback","useContext","useDebugValue","useEffect","useImperativeHandle","useLayoutEffect","useMemo","useReducer","useRef","useState","module","require$$0","sheetForTag","tag","sheet","styleSheets","ownerNode","createStyleElement","setAttribute","nonce","appendChild","StyleSheet","isSpeedy","speedy","tags","ctr","container","before","_proto","insert","rule","_tag","nextSibling","insertBefore","isImportRule","insertRule","cssRules","flush","parentNode","removeChild","stylis_min","W","X","ia","Z","substring","ja","ka","aa","ba","la","ma","na","ea","oa","U","prefix","charAt","ca","da","fa","Y","ha","use","weakMemoize","WeakMap","arg","ret","delimiter","needle","toSheet","block","Sheet","ruleSheet","content","selectors","parents","line","column","ns","depth","at","removeLabel","rootServerStylisCache","getServerStylisCache","getCache","prefixTrueCache","prefixFalseCache","createCache","stylisOptions","_insert","stylis","Stylis","inserted","head","nodes","querySelectorAll","node","stylisPlugins","selector","serialized","shouldCache","serverStylisCache","rules","getRules","compat","registered","getRegisteredStyles","registeredStyles","classNames","rawClassName","className","insertStyles","isStringTag","stylesForSSR","maybeStyles","murmur2","unitlessKeys","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","msGridRow","msGridRowSpan","msGridColumn","msGridColumnSpan","fontWeight","lineHeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","WebkitLineClamp","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","memoize","hyphenateRegex","animationRegex","isCustomProperty","property","isProcessableValue","processStyleName","styleName","processStyleValue","p1","p2","cursor","unitless","handleInterpolation","mergedProps","interpolation","couldBeSelectorInterpolation","__emotion_styles","anim","createStringFromObject","previousCursor","cached","string","interpolated","labelPattern","serializeStyles","stringMode","strings","raw","lastIndex","identifierName","exec","hashString","EmotionCacheContext","ThemeContext","withEmotionCache","forwardRef","BasicProvider","_React$Component","state","newContext","typePropName","createEmotionProps","newProps","Noop","theme","cssProp","css","ele","possiblyStyleElement","_ref","serializedNames","dangerouslySetInnerHTML","__html","Fragment","Emotion","_len","jsx","argsLength","createElementArgArray","classnames","cls","toAdd","merge","ClassNames","serializedHashes","cx","_len2","_key2","fastClone","sizeNames","sizes","xsmall","min","max","small","medium","large","getWidthForSize","getSizeForWidth","sizeNames_1","getSizesForBreakpoints","newSizes","smallMin","floor","mediumMin","largeMin","_path","abs","Number","noop","safeDynamicRequire","require","fnCache","stringToFunction","expression","errors","logs","cacheKey","useReturn","startsWith","final","VM","sandbox","run","process","DEBUG","isPromise","isRequestInfo","BuilderAsyncRequestsContext","React","requests","BuilderStoreContext","rootState","update","mutator","applyPatchWithMinimalMutationChain","patch","preserveRoot","op","pathArr","shift","newObj","objPart","isLast","nextProperty","newPart","__spreadArray","htmlEscape","blockToHtmlString","tagName","Link","renderLink","kebabCaseToCamelCase","toUpperCase","Device","desktop","tablet","mobile","voidElements","Set","last","arr","cssCase","capitalize","BuilderBlock","_super","hasError","updates","privateState","onWindowMessage","selection","$block","$blocks","patches","patches_1","__extends","getDerivedStateFromError","componentDidCatch","errorInfo","_errors","_logs","initialAnimationStepStyles","firstStep","stepStyles","reversedNames","reverse","responsiveStyles","reversedNames_1","emailMode","sizesPerBreakpoints","builderContent","breakpoints","&.builder-block","hoverAnimation","componentWillUnmount","componentDidMount","bindings","filter","getElement","child","fieldName","InnerComponent","TagName","html","componentName","componentInfo","hide","show","Proxy","innerComponentProperties","isVoid","noWrap","fragment","styleStr","attr","styleSplit_1","stylePieces","finalOptions","_spacer","builder-index","addClass","emotionCss","_asyncRequests","builderBlock","builderState","contents","collection","collectionPath","collectionName","itemName_1","itemName","array","childState","$index","$item","display","padding","color","fontSize","fontStyle","performance","unstable_now","MessageChannel","unstable_forceFrameRate","cancelAnimationFrame","requestAnimationFrame","unstable_shouldYield","port2","port1","onmessage","sortIndex","startTime","expirationTime","V","priorityLevel","unstable_IdlePriority","unstable_ImmediatePriority","unstable_LowPriority","unstable_NormalPriority","unstable_Profiling","unstable_UserBlockingPriority","unstable_cancelCallback","unstable_getCurrentPriorityLevel","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_requestPaint","unstable_runWithPriority","unstable_scheduleCallback","unstable_wrapCallback","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","removeEmptyString","pa","qa","removeAttribute","setAttributeNS","xlinkHref","ra","sa","ta","ua","wa","xa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","Ma","La","Na","Oa","Pa","prepareStackTrace","Reflect","construct","displayName","Qa","_render","Ra","Sa","Ta","nodeName","Ua","getOwnPropertyDescriptor","configurable","enumerable","getValue","setValue","stopTracking","_valueTracker","Va","Wa","checked","Xa","activeElement","Ya","defaultChecked","defaultValue","_wrapperState","initialChecked","Za","initialValue","controlled","$a","ab","bb","cb","ownerDocument","db","eb","fb","selected","defaultSelected","disabled","gb","hb","ib","jb","textContent","kb","mathml","svg","lb","mb","nb","ob","MSApp","execUnsafeLocalFunction","namespaceURI","innerHTML","firstChild","pb","lastChild","nodeType","nodeValue","qb","gridArea","lineClamp","rb","sb","tb","setProperty","ub","menuitem","area","base","br","col","embed","hr","img","keygen","link","param","wbr","vb","wb","is","xb","srcElement","correspondingUseElement","yb","zb","Ab","Bb","Cb","stateNode","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Nb","Ob","Pb","Qb","Rb","onError","Sb","Tb","Ub","Vb","Wb","Xb","Yb","Zb","alternate","return","flags","$b","memoizedState","dehydrated","ac","bc","sibling","cc","dc","ec","fc","gc","hc","ic","jc","kc","lc","mc","nc","Map","oc","pc","qc","rc","blockedOn","domEventName","eventSystemFlags","nativeEvent","targetContainers","sc","delete","pointerId","tc","uc","vc","wc","lanePriority","priority","hydrate","containerInfo","xc","yc","zc","Ac","Bc","Cc","Dc","Ec","animationend","animationiteration","animationstart","transitionend","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Pc","Qc","Rc","Sc","Tc","Uc","pendingLanes","expiredLanes","suspendedLanes","pingedLanes","Vc","entangledLanes","entanglements","Wc","Xc","Yc","Zc","$c","eventTimes","clz32","ad","bd","log","cd","LN2","dd","ed","fd","gd","hd","jd","kd","ld","md","nd","od","keyCode","charCode","pd","qd","rd","_reactName","_targetInst","currentTarget","isDefaultPrevented","defaultPrevented","isPropagationStopped","preventDefault","stopPropagation","cancelBubble","persist","isPersistent","sd","eventPhase","timeStamp","td","ud","view","vd","wd","xd","yd","Ad","screenX","screenY","pageX","pageY","ctrlKey","shiftKey","altKey","metaKey","getModifierState","zd","button","buttons","relatedTarget","fromElement","toElement","movementX","movementY","Bd","Cd","dataTransfer","Dd","Ed","Fd","Gd","animationName","elapsedTime","pseudoElement","Hd","Id","clipboardData","Jd","Kd","Ld","Md","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","Nd","8","9","12","13","16","17","18","19","20","27","32","33","34","35","36","37","38","39","40","45","46","112","113","114","115","116","117","118","119","120","121","122","123","144","145","224","Od","Alt","Control","Meta","Shift","Pd","Qd","code","which","Rd","Sd","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Td","Ud","touches","targetTouches","changedTouches","Vd","Wd","Xd","Yd","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","Zd","$d","ae","be","documentMode","ce","de","ee","fe","ge","he","ie","je","ke","char","le","date","datetime","datetime-local","email","month","number","password","range","tel","time","week","me","ne","oe","pe","qe","re","se","te","ue","ve","we","xe","ye","ze","oninput","Ae","detachEvent","Be","Ce","attachEvent","De","Ee","Fe","Ge","He","Ie","Je","Ke","Le","offset","Me","contains","compareDocumentPosition","Ne","HTMLIFrameElement","contentWindow","Oe","contentEditable","Pe","Qe","Re","Se","Te","Ue","start","selectionStart","end","selectionEnd","anchorNode","defaultView","getSelection","anchorOffset","focusNode","focusOffset","Ve","We","Xe","Ye","Ze","$e","af","bf","cf","df","ef","ff","parentWindow","gf","hf","unshift","jf","kf","lf","mf","autoFocus","nf","of","pf","qf","rf","sf","previousSibling","tf","uf","vf","wf","xf","yf","zf","Af","Bf","Cf","Df","Ef","contextTypes","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Ff","childContextTypes","Gf","Hf","If","getChildContext","Jf","__reactInternalMemoizedMergedChildContext","Kf","Lf","Mf","Nf","Of","Pf","Qf","Rf","Sf","Tf","Uf","Vf","Wf","Xf","Yf","Zf","$f","ag","bg","cg","dg","eg","fg","gg","hg","ig","jg","kg","lg","mg","ng","og","pg","qg","rg","sg","childLanes","tg","dependencies","firstContext","lanes","ug","vg","observedBits","responders","wg","xg","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","shared","pending","effects","yg","zg","eventTime","lane","payload","Ag","Bg","Cg","Dg","Eg","Fg","Gg","Kg","_reactInternals","Hg","Ig","Jg","Lg","shouldComponentUpdate","Mg","contextType","Ng","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","Og","getDerivedStateFromProps","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","Pg","Qg","_stringRef","Rg","Sg","lastEffect","nextEffect","firstEffect","Tg","Ug","elementType","Vg","implementation","Wg","Xg","Yg","Zg","$g","ah","bh","ch","dh","eh","documentElement","fh","gh","hh","ih","memoizedProps","revealOrder","jh","kh","lh","mh","nh","oh","pendingProps","ph","qh","rh","sh","th","uh","_workInProgressVersionPrimary","vh","wh","xh","yh","zh","Ah","Bh","Ch","Dh","Eh","Fh","Gh","Hh","baseQueue","Ih","Jh","Kh","lastRenderedReducer","eagerReducer","eagerState","lastRenderedState","dispatch","Lh","Mh","_getVersion","_source","mutableReadLanes","Nh","getSnapshot","setSnapshot","Oh","Ph","Qh","Rh","destroy","deps","Sh","Th","Uh","Vh","Wh","Xh","Yh","Zh","$h","ai","bi","ci","di","readContext","useDeferredValue","useTransition","useMutableSource","useOpaqueIdentifier","unstable_isNewReconciler","ei","fi","gi","hi","ii","ji","ki","li","mi","baseLanes","ni","oi","pi","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","qi","ri","pendingContext","si","retryLane","Bi","Ci","Di","Ei","ti","fallback","unstable_avoidThisFallback","ui","unstable_expectedLoadTime","vi","wi","xi","yi","zi","isBackwards","rendering","renderingStartTime","tail","tailMode","Ai","Fi","Gi","wasMultiple","multiple","onClick","onclick","createElementNS","Hi","Ii","Ji","Ki","Li","Mi","Ni","Oi","Pi","Qi","Ri","Si","Ti","componentStack","Ui","WeakSet","Vi","Wi","Xi","__reactInternalSnapshotBeforeUpdate","Yi","Zi","$i","focus","aj","bj","onCommitFiberUnmount","cj","dj","ej","fj","gj","hj","_reactRootContainer","ij","jj","kj","lj","mj","nj","ceil","oj","pj","qj","rj","sj","tj","uj","vj","Infinity","wj","xj","yj","zj","Aj","Bj","Cj","Dj","Ej","Fj","Gj","Hj","Ij","Jj","ck","Kj","Lj","Mj","callbackNode","expirationTimes","callbackPriority","Nj","Oj","Pj","Qj","Rj","Sj","Tj","finishedWork","finishedLanes","Uj","timeoutHandle","Vj","Wj","Xj","pingCache","Yj","Zj","va","ak","bk","dk","rangeCount","focusedElem","selectionRange","ek","extend","createRange","setStart","removeAllRanges","addRange","setEnd","scrollLeft","scrollTop","onCommitFiberRoot","fk","gk","ik","hk","pendingChildren","jk","mutableSourceEagerHydrationData","kk","lk","mk","nk","pk","qk","hydrationOptions","mutableSources","_internalRoot","rk","sk","hasAttribute","tk","uk","unstable_observedBits","unmount","form","vk","Events","wk","findFiberByHostInstance","bundleType","rendererPackageName","xk","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","__REACT_DEVTOOLS_GLOBAL_HOOK__","yk","isDisabled","supportsFiber","inject","createPortal","findDOMNode","flushSync","unmountComponentAtNode","unstable_batchedUpdates","unstable_createPortal","unstable_renderSubtreeIntoContainer","checkDCE","BuilderBlocks","onClickEmptyBlocks","noBlocks","parentElementId","parentId","dataPath","onHoverEmptyBlocks","builder-type","builder-path","builder-parent-id","flexDirection","alignItems","onMouseEnter","renderInto","elementOrSelector","querySelector","Element","ReactDOM","NoWrap","getData","hasBlocks","newData","variantsScript","variantsString","VariantsProvider","variants","allVariants","variantsJson_1","React.createElement","React.Fragment","cookieName","variantId","variant","BuilderContent","loading","getContentWithInfo","contentLoaded","subscriptions","firstLoad","clicked","trackedImpression","intersectionObserver","reactEvent","renderedVariantId","inline","subscribeToContent","addedObserver","IntersectionObserver","intersectionRatio","unobserve","contentError","dataOnly","useData","renderScript","Tag","data-template-variant-id","builder-content-id","builder-model","TARGET","UNSUBSCRIBE","concatPath","shallowClone","onChange","applyPath","applyPrevious","proxyTarget","inApply","changed","isUnsubscribed","equals","propCache","pathCache","proxyCache","handleChange","item_1","walkPath","invalidateCachedDescriptor","buildProxy","proxy","ignoreChange","ignoreSymbols","receiver","isPrimitive","isBuiltinWithoutMutableMethods","isShallow","descriptor","writable","ignore","deleteProperty","argumentsList","lastIndexOf","debounceNextTick","debounceNextTickImpl","BuilderMetaContext","ampMode","tryEval","getBuilderPixel","@type","role","aria-hidden","src","overflow","pointerEvents","pick","wrapComponent","builderTag","inputNames","baseProps","inputProps","debounce","immediate","fontsLoaded","sizeMap","fetchCache","searchToObject","BuilderComponent","onStateChange","asServer","contentRef","styleRef","updateState","lastJsCode","lastHttpRequests","httpSubscriptionPerKey","messageListener","useContent","deviceSize","deviceSizeState","data_1","resizeFn","resizeListener","mounted","notifyStateChange","onContentLoaded","title","pageTitle","description","pageDescription","descriptionTag","newState","locationState","externalState","jsCode","codegen","skip","httpRequests","noAsync","finalUrl_1","evalExpression","builderModelMatch","handleRequest","currentSubscription","newSubscription","newUrl","_content","inlinedContent","_hydrate","getHtmlData","defaults","inlineContent","script","innerText","innerWidth","fresh","exists","shouldHydrate","apiStyles_1","previousElementSibling","keepStyles_1","useElement","useEl","div","insertAdjacentElement","val_1","builderRootRef","reload","dispatchEvent","nextState","processStateFromApi","getCssFromFont","font","family","kind","fileUrl","files","regular","weight","weightUrl","getFontCss","customFonts","ensureFontsLoaded","getCss","cssCode","prevProps","checkStyles","css_1","dataString","WrapComponent","isChild","stopClickPropagationWhenEditing","data-source","fullData","blocksJs","builderComponentNames","reversedcomponents_1","builderComponents","mappedComponentNames","finalizedComponents","initialState","setTick","tick","hasPixel","data-builder-content-id","data-builder-variation-id","data-builder-component","group","ctx","__awaiter","requestStart","sent","err_1","timeEnd","existing","promise_1","handleBuilderRequest","optionsString","__decorate","updateMetadata","updated","withBuilder","withChildren","HOC","canHaveChildren","finalProps","iconUrl","TextComponent","textRef","allowTextEdit","allowEditingText","textCSS","outline","& p:first-of-type, & .builder-paragraph:first-of-type","margin","& > p, & .builder-paragraph","letterSpacing","textAlign","fontFamily","rtlMode","direction","onInput","onKeyDown","blur","onFocus","onBlur","Text","image","required","bubble","defaultStyles","Slot","isEditingThisSlot","symbolId","builder-slot","docsLink","FragmentComponent","BuilderBlockComponent","hideFromInsertMenu","DEFAULT_ASPECT_RATIO","defaultBlocks","position","marginTop","minHeight","minWidth","backgroundPosition","backgroundSize","aspectRatio","ColumnsComponent","space","getWidth","getColumnWidth","subtractWidth","gutterSize","contentBreakpoints","breakpointSizes","stackColumnsAt","reverseColumnsWhenStacked","marginLeft","Columns","broadcast","subFields","hideFromUI","helperText","clearWidths","advanced","enum","EmbedComponent","elementRef","scriptsInserted","scriptsRun","findAndRunScripts","scripts","getElementsByTagName","newScript","async","Embed","globalReplaceNodes","isShopify","customCodeQuerySelector_1","allCustomCodeElements_1","builderTemplates","template","codeElements","cloneNode","CustomCodeComponent","originalRef","replaceNodes","hydrated","isHydrating","scriptsClientOnly","noReactRender","CustomCode","requiredPermissions","removeProtocol","isElementInViewport","clientHeight","right","clientWidth","getShopifyImageUrl","suffix","useSize","updateQueryParam","uri","separator","getSrcSet","srcUrl","widthInSrc_1","sizeUrl","getSizes","useSizes","splitSizes","sizesLength_1","generatedSizes","hasSmallOrMediumSize","unitRegex","mediaQuery","widthAndQuery","_h","_g","ImageComponent","imageLoaded","useLazyLoading","load","pictureRef","scrollListener","listener_1","buffer","srcset","isPixel","fitContent","amp","imageContents","layout","alt","altText","objectFit","objectPosition","onLoad","srcSet","noWebp","paddingTop","Image","allowedFileTypes","loaded","possiblyUpdatedAspectRatio","label","VideoComponent","video","containerRef","lazyLoad","updateVideo","poster","posterImage","autoPlay","muted","controls","loop","fit","borderRadius","Video","SymbolComponent","staticRef","useStatic","replaceChild","symbol","showPlaceholder","dynamic","data-model","inheritState","_j","_k","ButtonComponent","openLinkInNewTab","Button","appearance","paddingBottom","paddingLeft","paddingRight","backgroundColor","friendlyName","SectionComponent","unmountCallbacks","inView","observer_1","rootMargin","alignSelf","boxSizing","maxWidth","marginRight","renderContents","lazyStyles","Section","defaultChildren","StateProviderComponent","StateProvider","prefetched","RouterComponent","routed","preloadQueue","onPopState","updateLocationState","onMouseOverOrTouchStart","preloadOnHover","hrefTarget","findHrefTarget","isRelative","converted","convertToRelative","parsedUrl","parseUrl","handleRouting","onRoute","routeEvent","route","history","pushState","HTMLAnchorElement","currentUrl","hrefUrl","relativeUrl","Router","Mutation","useWaitForSelector","firstElementChild","existingElement","foundElement","disconnect","subtree","MULTIPART_CONTENT_TYPE","JSON_CONTENT_TYPE","ENCODED_CONTENT_TYPE","FormComponent","responseData","formErrorMessage","previewState","validate","sendWithJs","onSubmit","sendSubmissionsTo","customHeaders","formData","FormData","formPairs","HTMLInputElement","valueAsNumber","contentType_1","contentType","File","FileList","json_1","presubmitEvent","formUrl","btoa","sendSubmissionsToEmail","errorMessagePath","submitSuccessEvent","resetFormOnSubmit","reset","successUrl","submitErrorEvent","submissionState","errorMessage","sendingMessage","successMessage","Form","showIf","component.options.text","valueType","placeholder","FormInputComponent","FormInput","borderWidth","borderStyle","borderColor","FormSubmitButtonComponent","FormSubmitButton","LabelComponent","htmlFor","Label","richText","FormSelectComponent","option","FormSelect","TextAreaComponent","TextArea","ImgComponent","Img","RawText","useIsPreviewing","setIsPreviewing"],"mappings":"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"}
|