{"version":3,"file":"builder.io-sdk-angular.mjs","sources":["../../../src/index-helpers/top-of-file.ts","../../../src/components/dynamic-renderer/dynamic-renderer.helpers.ts","../../../src/components/dynamic-renderer/dynamic-renderer.ts","../../../src/constants/target.ts","../../../src/functions/get-class-prop-name.ts","../../../src/blocks/button/button.ts","../../../src/context/builder.context.ts","../../../src/context/components.context.ts","../../../src/helpers/logger.ts","../../../src/functions/get.ts","../../../src/functions/is-browser.ts","../../../src/helpers/search/search.ts","../../../src/functions/is-iframe.ts","../../../src/functions/is-editing.ts","../../../src/functions/track/helpers.ts","../../../src/constants/sdk-version.ts","../../../src/helpers/sdk-headers.ts","../../../src/helpers/nullable.ts","../../../src/helpers/url.ts","../../../src/helpers/cookie.ts","../../../src/helpers/uuid.ts","../../../src/helpers/sessionId.ts","../../../src/helpers/localStorage.ts","../../../src/helpers/visitorId.ts","../../../src/functions/log-fetch.ts","../../../src/functions/track/index.ts","../../../src/functions/evaluate/helpers.ts","../../../src/functions/evaluate/browser-runtime/browser.ts","../../../src/functions/is-node-runtime.ts","../../../src/functions/evaluate/should-force-browser-runtime-in-node.ts","../../../src/functions/evaluate/choose-eval.ts","../../../src/functions/evaluate/evaluate.ts","../../../src/functions/get-block-component-options.ts","../../../src/helpers/omit.ts","../../../src/functions/traverse.ts","../../../src/functions/extract-localized-values.ts","../../../src/functions/fast-clone.ts","../../../src/functions/set.ts","../../../src/functions/transform-block.ts","../../../src/functions/get-processed-block.ts","../../../src/components/dynamic-div.ts","../../../src/functions/camel-to-kebab-case.ts","../../../src/components/block/animator.ts","../../../src/functions/extract-text-styles.ts","../../../src/helpers/css.ts","../../../src/functions/transform-style-property.ts","../../../src/functions/get-style.ts","../../../src/components/block/block.helpers.ts","../../../src/functions/event-handler-name.ts","../../../src/functions/get-block-actions-handler.ts","../../../src/functions/get-block-actions.ts","../../../src/functions/transform-block-properties.ts","../../../src/functions/get-block-properties.ts","../../../src/components/block/components/block-wrapper.ts","../../../src/functions/is-previewing.ts","../../../src/functions/register-component.ts","../../../src/functions/register.ts","../../../src/functions/set-editor-settings.ts","../../../src/functions/get-builder-search-params/index.ts","../../../src/functions/is-from-trusted-host.ts","../../../src/scripts/init-editing.ts","../../../src/helpers/subscribe-to-editor.ts","../../../src/helpers/ab-tests.ts","../../../src/helpers/no-serialize-wrapper.ts","../../../src/helpers/user-attributes.ts","../../../src/helpers/canTrack.ts","../../../src/helpers/preview-lru-cache/get.ts","../../../src/functions/get-global-this.ts","../../../src/functions/get-fetch.ts","../../../src/helpers/flatten.ts","../../../src/types/api-version.ts","../../../src/functions/get-content/generate-content-url.ts","../../../src/functions/get-content/index.ts","../../../src/functions/fetch-builder-props.ts","../../../src/components/awaiter.ts","../../../src/helpers/find-block.ts","../../../src/components/live-edit.ts","../../../src/components/block/components/interactive-element.ts","../../../src/components/block/components/component-ref/component-ref.helpers.ts","../../../src/components/block/components/component-ref/component-ref.ts","../../../src/components/block/components/repeated-block.ts","../../../src/constants/device-sizes.ts","../../../src/components/inlined-styles.ts","../../../src/components/block/components/block-styles.ts","../../../src/components/block/components/live-edit-block-styles.ts","../../../src/components/block/components/style-wrapper.ts","../../../src/components/block/block.ts","../../../src/components/blocks/blocks-wrapper.ts","../../../src/components/blocks/blocks.ts","../../../src/blocks/columns/helpers.ts","../../../src/blocks/columns/columns.ts","../../../src/blocks/fragment/fragment.ts","../../../src/blocks/image/image.helpers.ts","../../../src/blocks/image/image.ts","../../../src/blocks/section/section.ts","../../../src/blocks/personalization-container/helpers/inlined-fns.ts","../../../src/blocks/personalization-container/helpers.ts","../../../src/blocks/accordion/component-info.ts","../../../src/blocks/accordion/helpers.ts","../../../src/blocks/accordion/accordion.ts","../../../src/blocks/button/component-info.ts","../../../src/blocks/columns/component-info.ts","../../../src/blocks/fragment/component-info.ts","../../../src/constants/file-types.ts","../../../src/blocks/image/component-info.ts","../../../src/blocks/personalization-container/component-info.ts","../../../src/components/inlined-script.ts","../../../src/blocks/personalization-container/personalization-container.ts","../../../src/blocks/section/component-info.ts","../../../src/blocks/slot/component-info.ts","../../../src/blocks/slot/slot.ts","../../../src/blocks/symbol/component-info.ts","../../../src/blocks/tabs/component-info.ts","../../../src/blocks/tabs/tabs.ts","../../../src/blocks/text/component-info.ts","../../../src/blocks/text/text.ts","../../../src/blocks/custom-code/component-info.ts","../../../src/blocks/custom-code/custom-code.ts","../../../src/blocks/embed/component-info.ts","../../../src/blocks/embed/helpers.ts","../../../src/blocks/embed/embed.ts","../../../src/blocks/form/form/component-info.ts","../../../src/functions/get-env.ts","../../../src/blocks/form/form/form.ts","../../../src/blocks/form/input/component-info.ts","../../../src/blocks/form/input/input.ts","../../../src/blocks/form/select/component-info.ts","../../../src/blocks/form/select/select.ts","../../../src/blocks/form/submit-button/component-info.ts","../../../src/blocks/form/submit-button/submit-button.ts","../../../src/blocks/form/textarea/component-info.ts","../../../src/blocks/form/textarea/textarea.ts","../../../src/blocks/img/component-info.ts","../../../src/blocks/img/img.ts","../../../src/blocks/video/component-info.ts","../../../src/blocks/video/video.ts","../../../src/constants/extra-components.ts","../../../src/constants/builder-registered-components.ts","../../../src/components/content-variants/inlined-fns.ts","../../../src/components/content-variants/helpers.ts","../../../src/functions/track/interaction.ts","../../../src/components/content/components/enable-editor.helpers.ts","../../../src/components/content/components/styles.helpers.ts","../../../src/components/content/components/enable-editor.ts","../../../src/components/content/components/styles.ts","../../../src/components/content/content.helpers.ts","../../../src/components/content/content.ts","../../../src/components/content-variants/content-variants.ts","../../../src/blocks/symbol/symbol.helpers.ts","../../../src/blocks/symbol/symbol.ts","../../../src/index.ts","../../../src/builder.io-sdk-angular.ts"],"sourcesContent":["// no-op\n// this file exists in case a target needs to add logic to the top of the index file in an\n// override.\nexport default undefined","/**\n * https://developer.mozilla.org/en-US/docs/Glossary/Empty_element\n */\nconst EMPTY_HTML_ELEMENTS = new Set(['area', 'base', 'br', 'col', 'embed', 'hr', 'img', 'input', 'keygen', 'link', 'meta', 'param', 'source', 'track', 'wbr']);\nexport const isEmptyElement = (tagName: any): boolean => {\n  return typeof tagName === 'string' && EMPTY_HTML_ELEMENTS.has(tagName.toLowerCase());\n}","import { CommonModule } from '@angular/common';\nimport { Component, ElementRef, input, viewChild, Renderer2, SimpleChanges, TemplateRef, ViewContainerRef, signal, computed } from '@angular/core';\nimport { isEmptyElement } from './dynamic-renderer.helpers';\n\n\n@Component({\n  selector: 'dynamic-renderer, DynamicRenderer',\n  template: `\n    <ng-template #tagnameTemplate><ng-content></ng-content></ng-template>\n    <ng-container *ngIf=\"!isEmptyElement(effectiveTagName())\">\n      <ng-container *ngIf=\"tagNameIsString()\">\n        <ng-container\n          *ngComponentOutlet=\"\n            mappedComponent();\n            inputs: {\n              attributes: attributes(),\n              actionAttributes: actionAttributes(),\n              tagName: tagName()\n            };\n            content: myContent\n          \"\n        ></ng-container>\n      </ng-container>\n      <ng-container *ngIf=\"!tagNameIsString() && dynamicTagName() !== ''\">\n        <ng-container\n          *ngComponentOutlet=\"\n            effectiveTagName();\n            inputs: {\n              attributes: attributes(),\n              actionAttributes: actionAttributes(),\n              tagName: tagName()\n            };\n            content: myContent\n          \"\n        ></ng-container>\n      </ng-container>\n       <ng-container *ngIf=\"!tagNameIsString() && dynamicTagName() === ''\">\n        <ng-container\n          *ngComponentOutlet=\"\n            effectiveTagName();\n            inputs: {\n              attributes: attributes(),\n              actionAttributes: actionAttributes(),\n            };\n            content: myContent\n          \"\n        ></ng-container>\n      </ng-container>\n    </ng-container>\n    <ng-container *ngIf=\"!!isEmptyElement(effectiveTagName())\">\n      <ng-container\n        *ngComponentOutlet=\"\n          effectiveTagName();\n          inputs: {\n            attributes: attributes(),\n            actionAttributes: actionAttributes(),\n          };\n          content: myContent\n        \"\n      ></ng-container>\n    </ng-container>\n  `,\n  standalone: true,\n  imports: [CommonModule],\n  styles: [':host { display: contents; }'],\n})\nexport default class DynamicRenderer {\n  isEmptyElement = isEmptyElement;\n\n  TagName = input.required<any>();\n  attributes = input.required<any>();\n  actionAttributes = input.required<any>();\n  tagName = signal<string>('');\n\n  tagnameTemplateRef = viewChild<TemplateRef<any>>('tagnameTemplate');\n  private _processedTagName = signal<any>(null);\n\n  myContent?: any[][];\n\n  tagNameIsString = computed(() => typeof this.TagName() === 'string');\n  \n  dynamicTagName = computed(() => this.tagName());\n  \n  effectiveTagName = computed(() => this._processedTagName());\n  \n  mappedComponent = computed(() => {\n    if (this.tagNameIsString()) {\n      return this.getComponentType(this.TagName());\n    }\n    return null;\n  });\n\n  constructor(private vcRef: ViewContainerRef) {}\n\n  private tagComponentMap: { [key: string]: any } = {\n    'a': DynamicA,\n    'button': DynamicButton,\n    'div': DynamicDiv,\n    'span': DynamicSpan,\n    'p': DynamicP,\n    'img': DynamicImg,\n    'input': DynamicInput,\n    'textarea': DynamicTextarea,\n    'select': DynamicSelect,\n    'option': DynamicOption,\n    'form': DynamicForm,\n    'label': DynamicLabel,\n    'ul': DynamicUl,\n    'li': DynamicLi,\n    'table': DynamicTable,\n    'tr': DynamicTr,\n    'td': DynamicTd,\n    'th': DynamicTh,\n    'thead': DynamicThead,\n    'tbody': DynamicTbody,\n    'footer': DynamicFooter,\n    'header': DynamicHeader,\n    'nav': DynamicNav,\n    'section': DynamicSection,\n    'article': DynamicArticle,\n    'aside': DynamicAside,\n    'h1': DynamicH1,\n    'h2': DynamicH2,\n    'h3': DynamicH3,\n    'h4': DynamicH4,\n    'h5': DynamicH5,\n    'h6': DynamicH6,\n    'blockquote': DynamicBlockquote,\n    'code': DynamicCode,\n    'pre': DynamicPre,\n    'figure': DynamicFigure,\n    'figcaption': DynamicFigcaption,\n    'video': DynamicVideo,\n    'audio': DynamicAudio,\n    'canvas': DynamicCanvas,\n    'iframe': DynamicIframe\n  };\n\n  getComponentType(tagName: string): any {\n    return this.tagComponentMap[tagName] || DynamicElement;\n  }\n\n  ngAfterContentInit() {\n    if (this.tagNameIsString()) {\n      if (this.tagComponentMap[this.TagName()]) {\n        this._processedTagName.set(this.tagComponentMap[this.TagName()]);\n      } else {\n        this.tagName.set(this.TagName());\n        this._processedTagName.set(DynamicElement);\n      }\n    } else {\n      this._processedTagName.set(this.TagName());\n    }\n    this.myContent = [this.vcRef.createEmbeddedView(this.tagnameTemplateRef()).rootNodes];\n  }\n}\n\n@Component({\n  selector: 'dynamic-a, DynamicA',\n  template: ` <a #v ><ng-content></ng-content></a> `,\n  standalone: true,\n  styles: [':host { display: contents; }'],\n})\nexport class DynamicA {\n  attributes = input.required<any>();\n  actionAttributes = input<any | undefined>();\n  tagName = input<string | undefined>();\n  \n  v = viewChild<ElementRef>('v');\n  _listenerFns = new Map<string, () => void>();\n  constructor(private renderer: Renderer2) {}\n  setAttributes(el: any, value: any, changes?: any) {\n    if (!el) return;\n    const target = changes ? changes : value;\n    Object.keys(target).forEach((key) => {\n      if (key.startsWith('on')) {\n        if (this._listenerFns.has(key)) {\n          this._listenerFns.get(key)!();\n        }\n        this._listenerFns.set(key, this.renderer.listen(el, key.replace('on', '').toLowerCase(), target[key]));\n      } else {\n        this.renderer.setAttribute(el, key, target[key] ?? '');\n      }\n    });\n  }\n  ngAfterViewInit() {\n    this.setAttributes(this.v()?.nativeElement, this.attributes());\n  }\n  ngOnChanges(changes: SimpleChanges) {\n    if (changes.attributes) {\n      this.setAttributes(this.v()?.nativeElement, this.attributes(), changes.attributes.currentValue);\n    }\n  }\n  ngOnDestroy() {\n    this._listenerFns.forEach(fn => fn());\n  }\n}\n\n@Component({\n  selector: 'dynamic-button, DynamicButton',\n  template: ` <button #v ><ng-content></ng-content></button> `,\n  standalone: true,\n  styles: [':host { display: contents; }'],\n})\nexport class DynamicButton {\n  attributes = input.required<any>();\n  actionAttributes = input<any | undefined>();\n  tagName = input<string | undefined>();\n  \n  v = viewChild<ElementRef>('v');\n  _listenerFns = new Map<string, () => void>();\n  constructor(private renderer: Renderer2) {}\n  setAttributes(el: any, value: any, changes?: any) {\n    if (!el) return;\n    const target = changes ? changes : value;\n    Object.keys(target).forEach((key) => {\n      if (key.startsWith('on')) {\n        if (this._listenerFns.has(key)) {\n          this._listenerFns.get(key)!();\n        }\n        this._listenerFns.set(key, this.renderer.listen(el, key.replace('on', '').toLowerCase(), target[key]));\n      } else {\n        this.renderer.setAttribute(el, key, target[key] ?? '');\n      }\n    });\n  }\n  ngAfterViewInit() {\n    this.setAttributes(this.v()?.nativeElement, this.attributes());\n  }\n  ngOnChanges(changes: SimpleChanges) {\n    if (changes.attributes) {\n      this.setAttributes(this.v()?.nativeElement, this.attributes(), changes.attributes.currentValue);\n    }\n  }\n  ngOnDestroy() {\n    this._listenerFns.forEach(fn => fn());\n  }\n}\n\n@Component({\n  selector: 'dynamic-div, DynamicDiv',\n  template: ` <div #v ><ng-content></ng-content></div> `,\n  standalone: true,\n  styles: [':host { display: contents; }'],\n})\nexport class DynamicDiv {\n  attributes = input.required<any>();\n  actionAttributes = input<any | undefined>();\n  tagName = input<string | undefined>();\n  \n  v = viewChild<ElementRef>('v');\n  _listenerFns = new Map<string, () => void>();\n  constructor(private renderer: Renderer2) {}\n  setAttributes(el: any, value: any, changes?: any) {\n    if (!el) return;\n    const target = changes ? changes : value;\n    Object.keys(target).forEach((key) => {\n      if (key.startsWith('on')) {\n        if (this._listenerFns.has(key)) {\n          this._listenerFns.get(key)!();\n        }\n        this._listenerFns.set(key, this.renderer.listen(el, key.replace('on', '').toLowerCase(), target[key]));\n      } else {\n        this.renderer.setAttribute(el, key, target[key] ?? '');\n      }\n    });\n  }\n  ngAfterViewInit() {\n    this.setAttributes(this.v()?.nativeElement, this.attributes());\n  }\n  ngOnChanges(changes: SimpleChanges) {\n    if (changes.attributes) {\n      this.setAttributes(this.v()?.nativeElement, this.attributes(), changes.attributes.currentValue);\n    }\n  }\n  ngOnDestroy() {\n    this._listenerFns.forEach(fn => fn());\n  }\n}\n\n@Component({\n  selector: 'dynamic-span, DynamicSpan',\n  template: ` <span #v ><ng-content></ng-content></span> `,\n  standalone: true,\n  styles: [':host { display: contents; }'],\n})\nexport class DynamicSpan {\n  attributes = input.required<any>();\n  actionAttributes = input<any | undefined>();\n  tagName = input<string | undefined>();\n  \n  v = viewChild<ElementRef>('v');\n  _listenerFns = new Map<string, () => void>();\n  constructor(private renderer: Renderer2) {}\n  setAttributes(el: any, value: any, changes?: any) {\n    if (!el) return;\n    const target = changes ? changes : value;\n    Object.keys(target).forEach((key) => {\n      if (key.startsWith('on')) {\n        if (this._listenerFns.has(key)) {\n          this._listenerFns.get(key)!();\n        }\n        this._listenerFns.set(key, this.renderer.listen(el, key.replace('on', '').toLowerCase(), target[key]));\n      } else {\n        this.renderer.setAttribute(el, key, target[key] ?? '');\n      }\n    });\n  }\n  ngAfterViewInit() {\n    this.setAttributes(this.v()?.nativeElement, this.attributes());\n  }\n  ngOnChanges(changes: SimpleChanges) {\n    if (changes.attributes) {\n      this.setAttributes(this.v()?.nativeElement, this.attributes(), changes.attributes.currentValue);\n    }\n  }\n  ngOnDestroy() {\n    this._listenerFns.forEach(fn => fn());\n  }\n}\n\n@Component({\n  selector: 'dynamic-p, DynamicP',\n  template: ` <p #v ><ng-content></ng-content></p> `,\n  standalone: true,\n  styles: [':host { display: contents; }'],\n})\nexport class DynamicP {\n  attributes = input.required<any>();\n  actionAttributes = input<any | undefined>();\n  tagName = input<string | undefined>();\n  \n  v = viewChild<ElementRef>('v');\n  _listenerFns = new Map<string, () => void>();\n  constructor(private renderer: Renderer2) {}\n  setAttributes(el: any, value: any, changes?: any) {\n    if (!el) return;\n    const target = changes ? changes : value;\n    Object.keys(target).forEach((key) => {\n      if (key.startsWith('on')) {\n        if (this._listenerFns.has(key)) {\n          this._listenerFns.get(key)!();\n        }\n        this._listenerFns.set(key, this.renderer.listen(el, key.replace('on', '').toLowerCase(), target[key]));\n      } else {\n        this.renderer.setAttribute(el, key, target[key] ?? '');\n      }\n    });\n  }\n  ngAfterViewInit() {\n    this.setAttributes(this.v()?.nativeElement, this.attributes());\n  }\n  ngOnChanges(changes: SimpleChanges) {\n    if (changes.attributes) {\n      this.setAttributes(this.v()?.nativeElement, this.attributes(), changes.attributes.currentValue);\n    }\n  }\n  ngOnDestroy() {\n    this._listenerFns.forEach(fn => fn());\n  }\n}\n\n@Component({\n  selector: 'dynamic-img, DynamicImg',\n  template: ` <img #v /> `,\n  standalone: true,\n  styles: [':host { display: contents; }'],\n})\nexport class DynamicImg {\n  attributes = input.required<any>();\n  actionAttributes = input<any | undefined>();\n  tagName = input<string | undefined>();\n  \n  v = viewChild<ElementRef>('v');\n  _listenerFns = new Map<string, () => void>();\n  constructor(private renderer: Renderer2) {}\n  setAttributes(el: any, value: any, changes?: any) {\n    if (!el) return;\n    const target = changes ? changes : value;\n    Object.keys(target).forEach((key) => {\n      if (key.startsWith('on')) {\n        if (this._listenerFns.has(key)) {\n          this._listenerFns.get(key)!();\n        }\n        this._listenerFns.set(key, this.renderer.listen(el, key.replace('on', '').toLowerCase(), target[key]));\n      } else {\n        this.renderer.setAttribute(el, key, target[key] ?? '');\n      }\n    });\n  }\n  ngAfterViewInit() {\n    this.setAttributes(this.v()?.nativeElement, this.attributes());\n  }\n  ngOnChanges(changes: SimpleChanges) {\n    if (changes.attributes) {\n      this.setAttributes(this.v()?.nativeElement, this.attributes(), changes.attributes.currentValue);\n    }\n  }\n  ngOnDestroy() {\n    this._listenerFns.forEach(fn => fn());\n  }\n}\n\n@Component({\n  selector: 'dynamic-input, DynamicInput',\n  template: ` <input #v /> `,\n  standalone: true,\n  styles: [':host { display: contents; }'],\n})\nexport class DynamicInput {\n  attributes = input.required<any>();\n  actionAttributes = input<any | undefined>();\n  tagName = input<string | undefined>();\n  \n  v = viewChild<ElementRef>('v');\n  _listenerFns = new Map<string, () => void>();\n  constructor(private renderer: Renderer2) {}\n  setAttributes(el: any, value: any, changes?: any) {\n    if (!el) return;\n    const target = changes ? changes : value;\n    Object.keys(target).forEach((key) => {\n      if (key.startsWith('on')) {\n        if (this._listenerFns.has(key)) {\n          this._listenerFns.get(key)!();\n        }\n        this._listenerFns.set(key, this.renderer.listen(el, key.replace('on', '').toLowerCase(), target[key]));\n      } else {\n        this.renderer.setAttribute(el, key, target[key] ?? '');\n      }\n    });\n  }\n  ngAfterViewInit() {\n    this.setAttributes(this.v()?.nativeElement, this.attributes());\n  }\n  ngOnChanges(changes: SimpleChanges) {\n    if (changes.attributes) {\n      this.setAttributes(this.v()?.nativeElement, this.attributes(), changes.attributes.currentValue);\n    }\n  }\n  ngOnDestroy() {\n    this._listenerFns.forEach(fn => fn());\n  }\n}\n\n@Component({\n  selector: 'dynamic-textarea, DynamicTextarea',\n  template: ` <textarea #v ><ng-content></ng-content></textarea> `,\n  standalone: true,\n  styles: [':host { display: contents; }'],\n})\nexport class DynamicTextarea {\n  attributes = input.required<any>();\n  actionAttributes = input<any | undefined>();\n  tagName = input<string | undefined>();\n  \n  v = viewChild<ElementRef>('v');\n  _listenerFns = new Map<string, () => void>();\n  constructor(private renderer: Renderer2) {}\n  setAttributes(el: any, value: any, changes?: any) {\n    if (!el) return;\n    const target = changes ? changes : value;\n    Object.keys(target).forEach((key) => {\n      if (key.startsWith('on')) {\n        if (this._listenerFns.has(key)) {\n          this._listenerFns.get(key)!();\n        }\n        this._listenerFns.set(key, this.renderer.listen(el, key.replace('on', '').toLowerCase(), target[key]));\n      } else {\n        this.renderer.setAttribute(el, key, target[key] ?? '');\n      }\n    });\n  }\n  ngAfterViewInit() {\n    this.setAttributes(this.v()?.nativeElement, this.attributes());\n  }\n  ngOnChanges(changes: SimpleChanges) {\n    if (changes.attributes) {\n      this.setAttributes(this.v()?.nativeElement, this.attributes(), changes.attributes.currentValue);\n    }\n  }\n  ngOnDestroy() {\n    this._listenerFns.forEach(fn => fn());\n  }\n}\n\n@Component({\n  selector: 'dynamic-select, DynamicSelect',\n  template: ` <select #v ><ng-content></ng-content></select> `,\n  standalone: true,\n  styles: [':host { display: contents; }'],\n})\nexport class DynamicSelect {\n  attributes = input.required<any>();\n  actionAttributes = input<any | undefined>();\n  tagName = input<string | undefined>();\n  \n  v = viewChild<ElementRef>('v');\n  _listenerFns = new Map<string, () => void>();\n  constructor(private renderer: Renderer2) {}\n  setAttributes(el: any, value: any, changes?: any) {\n    if (!el) return;\n    const target = changes ? changes : value;\n    Object.keys(target).forEach((key) => {\n      if (key.startsWith('on')) {\n        if (this._listenerFns.has(key)) {\n          this._listenerFns.get(key)!();\n        }\n        this._listenerFns.set(key, this.renderer.listen(el, key.replace('on', '').toLowerCase(), target[key]));\n      } else {\n        this.renderer.setAttribute(el, key, target[key] ?? '');\n      }\n    });\n  }\n  ngAfterViewInit() {\n    this.setAttributes(this.v()?.nativeElement, this.attributes());\n  }\n  ngOnChanges(changes: SimpleChanges) {\n    if (changes.attributes) {\n      this.setAttributes(this.v()?.nativeElement, this.attributes(), changes.attributes.currentValue);\n    }\n  }\n  ngOnDestroy() {\n    this._listenerFns.forEach(fn => fn());\n  }\n}\n\n@Component({\n  selector: 'dynamic-option, DynamicOption',\n  template: ` <option #v ><ng-content></ng-content></option> `,\n  standalone: true,\n  styles: [':host { display: contents; }'],\n})\nexport class DynamicOption {\n  attributes = input.required<any>();\n  actionAttributes = input<any | undefined>();\n  tagName = input<string | undefined>();\n  \n  v = viewChild<ElementRef>('v');\n  _listenerFns = new Map<string, () => void>();\n  constructor(private renderer: Renderer2) {}\n  setAttributes(el: any, value: any, changes?: any) {\n    if (!el) return;\n    const target = changes ? changes : value;\n    Object.keys(target).forEach((key) => {\n      if (key.startsWith('on')) {\n        if (this._listenerFns.has(key)) {\n          this._listenerFns.get(key)!();\n        }\n        this._listenerFns.set(key, this.renderer.listen(el, key.replace('on', '').toLowerCase(), target[key]));\n      } else {\n        this.renderer.setAttribute(el, key, target[key] ?? '');\n      }\n    });\n  }\n  ngAfterViewInit() {\n    this.setAttributes(this.v()?.nativeElement, this.attributes());\n  }\n  ngOnChanges(changes: SimpleChanges) {\n    if (changes.attributes) {\n      this.setAttributes(this.v()?.nativeElement, this.attributes(), changes.attributes.currentValue);\n    }\n  }\n  ngOnDestroy() {\n    this._listenerFns.forEach(fn => fn());\n  }\n}\n\n@Component({\n  selector: 'dynamic-form, DynamicForm',\n  template: ` <form #v ><ng-content></ng-content></form> `,\n  standalone: true,\n  styles: [':host { display: contents; }'],\n})\nexport class DynamicForm {\n  attributes = input.required<any>();\n  actionAttributes = input<any | undefined>();\n  tagName = input<string | undefined>();\n  \n  v = viewChild<ElementRef>('v');\n  _listenerFns = new Map<string, () => void>();\n  constructor(private renderer: Renderer2) {}\n  setAttributes(el: any, value: any, changes?: any) {\n    if (!el) return;\n    const target = changes ? changes : value;\n    Object.keys(target).forEach((key) => {\n      if (key.startsWith('on')) {\n        if (this._listenerFns.has(key)) {\n          this._listenerFns.get(key)!();\n        }\n        this._listenerFns.set(key, this.renderer.listen(el, key.replace('on', '').toLowerCase(), target[key]));\n      } else {\n        this.renderer.setAttribute(el, key, target[key] ?? '');\n      }\n    });\n  }\n  ngAfterViewInit() {\n    this.setAttributes(this.v()?.nativeElement, this.attributes());\n  }\n  ngOnChanges(changes: SimpleChanges) {\n    if (changes.attributes) {\n      this.setAttributes(this.v()?.nativeElement, this.attributes(), changes.attributes.currentValue);\n    }\n  }\n  ngOnDestroy() {\n    this._listenerFns.forEach(fn => fn());\n  }\n}\n\n@Component({\n  selector: 'dynamic-label, DynamicLabel',\n  template: ` <label #v ><ng-content></ng-content></label> `,\n  standalone: true,\n  styles: [':host { display: contents; }'],\n})\nexport class DynamicLabel {\n  attributes = input.required<any>();\n  actionAttributes = input<any | undefined>();\n  tagName = input<string | undefined>();\n  \n  v = viewChild<ElementRef>('v');\n  _listenerFns = new Map<string, () => void>();\n  constructor(private renderer: Renderer2) {}\n  setAttributes(el: any, value: any, changes?: any) {\n    if (!el) return;\n    const target = changes ? changes : value;\n    Object.keys(target).forEach((key) => {\n      if (key.startsWith('on')) {\n        if (this._listenerFns.has(key)) {\n          this._listenerFns.get(key)!();\n        }\n        this._listenerFns.set(key, this.renderer.listen(el, key.replace('on', '').toLowerCase(), target[key]));\n      } else {\n        this.renderer.setAttribute(el, key, target[key] ?? '');\n      }\n    });\n  }\n  ngAfterViewInit() {\n    this.setAttributes(this.v()?.nativeElement, this.attributes());\n  }\n  ngOnChanges(changes: SimpleChanges) {\n    if (changes.attributes) {\n      this.setAttributes(this.v()?.nativeElement, this.attributes(), changes.attributes.currentValue);\n    }\n  }\n  ngOnDestroy() {\n    this._listenerFns.forEach(fn => fn());\n  }\n}\n\n@Component({\n  selector: 'dynamic-ul, DynamicUl',\n  template: ` <ul #v ><ng-content></ng-content></ul> `,\n  standalone: true,\n  styles: [':host { display: contents; }'],\n})\nexport class DynamicUl {\n  attributes = input.required<any>();\n  actionAttributes = input<any | undefined>();\n  tagName = input<string | undefined>();\n  \n  v = viewChild<ElementRef>('v');\n  _listenerFns = new Map<string, () => void>();\n  constructor(private renderer: Renderer2) {}\n  setAttributes(el: any, value: any, changes?: any) {\n    if (!el) return;\n    const target = changes ? changes : value;\n    Object.keys(target).forEach((key) => {\n      if (key.startsWith('on')) {\n        if (this._listenerFns.has(key)) {\n          this._listenerFns.get(key)!();\n        }\n        this._listenerFns.set(key, this.renderer.listen(el, key.replace('on', '').toLowerCase(), target[key]));\n      } else {\n        this.renderer.setAttribute(el, key, target[key] ?? '');\n      }\n    });\n  }\n  ngAfterViewInit() {\n    this.setAttributes(this.v()?.nativeElement, this.attributes());\n  }\n  ngOnChanges(changes: SimpleChanges) {\n    if (changes.attributes) {\n      this.setAttributes(this.v()?.nativeElement, this.attributes(), changes.attributes.currentValue);\n    }\n  }\n  ngOnDestroy() {\n    this._listenerFns.forEach(fn => fn());\n  }\n}\n\n@Component({\n  selector: 'dynamic-li, DynamicLi',\n  template: ` <li #v ><ng-content></ng-content></li> `,\n  standalone: true,\n  styles: [':host { display: contents; }'],\n})\nexport class DynamicLi {\n  attributes = input.required<any>();\n  actionAttributes = input<any | undefined>();\n  tagName = input<string | undefined>();\n  \n  v = viewChild<ElementRef>('v');\n  _listenerFns = new Map<string, () => void>();\n  constructor(private renderer: Renderer2) {}\n  setAttributes(el: any, value: any, changes?: any) {\n    if (!el) return;\n    const target = changes ? changes : value;\n    Object.keys(target).forEach((key) => {\n      if (key.startsWith('on')) {\n        if (this._listenerFns.has(key)) {\n          this._listenerFns.get(key)!();\n        }\n        this._listenerFns.set(key, this.renderer.listen(el, key.replace('on', '').toLowerCase(), target[key]));\n      } else {\n        this.renderer.setAttribute(el, key, target[key] ?? '');\n      }\n    });\n  }\n  ngAfterViewInit() {\n    this.setAttributes(this.v()?.nativeElement, this.attributes());\n  }\n  ngOnChanges(changes: SimpleChanges) {\n    if (changes.attributes) {\n      this.setAttributes(this.v()?.nativeElement, this.attributes(), changes.attributes.currentValue);\n    }\n  }\n  ngOnDestroy() {\n    this._listenerFns.forEach(fn => fn());\n  }\n}\n\n@Component({\n  selector: 'dynamic-table, DynamicTable',\n  template: ` <table #v ><ng-content></ng-content></table> `,\n  standalone: true,\n  styles: [':host { display: contents; }'],\n})\nexport class DynamicTable {\n  attributes = input.required<any>();\n  actionAttributes = input<any | undefined>();\n  tagName = input<string | undefined>();\n  \n  v = viewChild<ElementRef>('v');\n  _listenerFns = new Map<string, () => void>();\n  constructor(private renderer: Renderer2) {}\n  setAttributes(el: any, value: any, changes?: any) {\n    if (!el) return;\n    const target = changes ? changes : value;\n    Object.keys(target).forEach((key) => {\n      if (key.startsWith('on')) {\n        if (this._listenerFns.has(key)) {\n          this._listenerFns.get(key)!();\n        }\n        this._listenerFns.set(key, this.renderer.listen(el, key.replace('on', '').toLowerCase(), target[key]));\n      } else {\n        this.renderer.setAttribute(el, key, target[key] ?? '');\n      }\n    });\n  }\n  ngAfterViewInit() {\n    this.setAttributes(this.v()?.nativeElement, this.attributes());\n  }\n  ngOnChanges(changes: SimpleChanges) {\n    if (changes.attributes) {\n      this.setAttributes(this.v()?.nativeElement, this.attributes(), changes.attributes.currentValue);\n    }\n  }\n  ngOnDestroy() {\n    this._listenerFns.forEach(fn => fn());\n  }\n}\n\n@Component({\n  selector: 'dynamic-tr, DynamicTr',\n  template: ` <tr #v ><ng-content></ng-content></tr> `,\n  standalone: true,\n  styles: [':host { display: contents; }'],\n})\nexport class DynamicTr {\n  attributes = input.required<any>();\n  actionAttributes = input<any | undefined>();\n  tagName = input<string | undefined>();\n  \n  v = viewChild<ElementRef>('v');\n  _listenerFns = new Map<string, () => void>();\n  constructor(private renderer: Renderer2) {}\n  setAttributes(el: any, value: any, changes?: any) {\n    if (!el) return;\n    const target = changes ? changes : value;\n    Object.keys(target).forEach((key) => {\n      if (key.startsWith('on')) {\n        if (this._listenerFns.has(key)) {\n          this._listenerFns.get(key)!();\n        }\n        this._listenerFns.set(key, this.renderer.listen(el, key.replace('on', '').toLowerCase(), target[key]));\n      } else {\n        this.renderer.setAttribute(el, key, target[key] ?? '');\n      }\n    });\n  }\n  ngAfterViewInit() {\n    this.setAttributes(this.v()?.nativeElement, this.attributes());\n  }\n  ngOnChanges(changes: SimpleChanges) {\n    if (changes.attributes) {\n      this.setAttributes(this.v()?.nativeElement, this.attributes(), changes.attributes.currentValue);\n    }\n  }\n  ngOnDestroy() {\n    this._listenerFns.forEach(fn => fn());\n  }\n}\n\n@Component({\n  selector: 'dynamic-td, DynamicTd',\n  template: ` <td #v ><ng-content></ng-content></td> `,\n  standalone: true,\n  styles: [':host { display: contents; }'],\n})\nexport class DynamicTd {\n  attributes = input.required<any>();\n  actionAttributes = input<any | undefined>();\n  tagName = input<string | undefined>();\n  \n  v = viewChild<ElementRef>('v');\n  _listenerFns = new Map<string, () => void>();\n  constructor(private renderer: Renderer2) {}\n  setAttributes(el: any, value: any, changes?: any) {\n    if (!el) return;\n    const target = changes ? changes : value;\n    Object.keys(target).forEach((key) => {\n      if (key.startsWith('on')) {\n        if (this._listenerFns.has(key)) {\n          this._listenerFns.get(key)!();\n        }\n        this._listenerFns.set(key, this.renderer.listen(el, key.replace('on', '').toLowerCase(), target[key]));\n      } else {\n        this.renderer.setAttribute(el, key, target[key] ?? '');\n      }\n    });\n  }\n  ngAfterViewInit() {\n    this.setAttributes(this.v()?.nativeElement, this.attributes());\n  }\n  ngOnChanges(changes: SimpleChanges) {\n    if (changes.attributes) {\n      this.setAttributes(this.v()?.nativeElement, this.attributes(), changes.attributes.currentValue);\n    }\n  }\n  ngOnDestroy() {\n    this._listenerFns.forEach(fn => fn());\n  }\n}\n\n@Component({\n  selector: 'dynamic-th, DynamicTh',\n  template: ` <th #v ><ng-content></ng-content></th> `,\n  standalone: true,\n  styles: [':host { display: contents; }'],\n})\nexport class DynamicTh {\n  attributes = input.required<any>();\n  actionAttributes = input<any | undefined>();\n  tagName = input<string | undefined>();\n  \n  v = viewChild<ElementRef>('v');\n  _listenerFns = new Map<string, () => void>();\n  constructor(private renderer: Renderer2) {}\n  setAttributes(el: any, value: any, changes?: any) {\n    if (!el) return;\n    const target = changes ? changes : value;\n    Object.keys(target).forEach((key) => {\n      if (key.startsWith('on')) {\n        if (this._listenerFns.has(key)) {\n          this._listenerFns.get(key)!();\n        }\n        this._listenerFns.set(key, this.renderer.listen(el, key.replace('on', '').toLowerCase(), target[key]));\n      } else {\n        this.renderer.setAttribute(el, key, target[key] ?? '');\n      }\n    });\n  }\n  ngAfterViewInit() {\n    this.setAttributes(this.v()?.nativeElement, this.attributes());\n  }\n  ngOnChanges(changes: SimpleChanges) {\n    if (changes.attributes) {\n      this.setAttributes(this.v()?.nativeElement, this.attributes(), changes.attributes.currentValue);\n    }\n  }\n  ngOnDestroy() {\n    this._listenerFns.forEach(fn => fn());\n  }\n}\n\n@Component({\n  selector: 'dynamic-thead, DynamicThead',\n  template: ` <thead #v ><ng-content></ng-content></thead> `,\n  standalone: true,\n  styles: [':host { display: contents; }'],\n})\nexport class DynamicThead {\n  attributes = input.required<any>();\n  actionAttributes = input<any | undefined>();\n  tagName = input<string | undefined>();\n  \n  v = viewChild<ElementRef>('v');\n  _listenerFns = new Map<string, () => void>();\n  constructor(private renderer: Renderer2) {}\n  setAttributes(el: any, value: any, changes?: any) {\n    if (!el) return;\n    const target = changes ? changes : value;\n    Object.keys(target).forEach((key) => {\n      if (key.startsWith('on')) {\n        if (this._listenerFns.has(key)) {\n          this._listenerFns.get(key)!();\n        }\n        this._listenerFns.set(key, this.renderer.listen(el, key.replace('on', '').toLowerCase(), target[key]));\n      } else {\n        this.renderer.setAttribute(el, key, target[key] ?? '');\n      }\n    });\n  }\n  ngAfterViewInit() {\n    this.setAttributes(this.v()?.nativeElement, this.attributes());\n  }\n  ngOnChanges(changes: SimpleChanges) {\n    if (changes.attributes) {\n      this.setAttributes(this.v()?.nativeElement, this.attributes(), changes.attributes.currentValue);\n    }\n  }\n  ngOnDestroy() {\n    this._listenerFns.forEach(fn => fn());\n  }\n}\n\n@Component({\n  selector: 'dynamic-tbody, DynamicTbody',\n  template: ` <tbody #v ><ng-content></ng-content></tbody> `,\n  standalone: true,\n  styles: [':host { display: contents; }'],\n})\nexport class DynamicTbody {\n  attributes = input.required<any>();\n  actionAttributes = input<any | undefined>();\n  tagName = input<string | undefined>();\n  \n  v = viewChild<ElementRef>('v');\n  _listenerFns = new Map<string, () => void>();\n  constructor(private renderer: Renderer2) {}\n  setAttributes(el: any, value: any, changes?: any) {\n    if (!el) return;\n    const target = changes ? changes : value;\n    Object.keys(target).forEach((key) => {\n      if (key.startsWith('on')) {\n        if (this._listenerFns.has(key)) {\n          this._listenerFns.get(key)!();\n        }\n        this._listenerFns.set(key, this.renderer.listen(el, key.replace('on', '').toLowerCase(), target[key]));\n      } else {\n        this.renderer.setAttribute(el, key, target[key] ?? '');\n      }\n    });\n  }\n  ngAfterViewInit() {\n    this.setAttributes(this.v()?.nativeElement, this.attributes());\n  }\n  ngOnChanges(changes: SimpleChanges) {\n    if (changes.attributes) {\n      this.setAttributes(this.v()?.nativeElement, this.attributes(), changes.attributes.currentValue);\n    }\n  }\n  ngOnDestroy() {\n    this._listenerFns.forEach(fn => fn());\n  }\n}\n\n@Component({\n  selector: 'dynamic-footer, DynamicFooter',\n  template: ` <footer #v ><ng-content></ng-content></footer> `,\n  standalone: true,\n  styles: [':host { display: contents; }'],\n})\nexport class DynamicFooter {\n  attributes = input.required<any>();\n  actionAttributes = input<any | undefined>();\n  tagName = input<string | undefined>();\n  \n  v = viewChild<ElementRef>('v');\n  _listenerFns = new Map<string, () => void>();\n  constructor(private renderer: Renderer2) {}\n  setAttributes(el: any, value: any, changes?: any) {\n    if (!el) return;\n    const target = changes ? changes : value;\n    Object.keys(target).forEach((key) => {\n      if (key.startsWith('on')) {\n        if (this._listenerFns.has(key)) {\n          this._listenerFns.get(key)!();\n        }\n        this._listenerFns.set(key, this.renderer.listen(el, key.replace('on', '').toLowerCase(), target[key]));\n      } else {\n        this.renderer.setAttribute(el, key, target[key] ?? '');\n      }\n    });\n  }\n  ngAfterViewInit() {\n    this.setAttributes(this.v()?.nativeElement, this.attributes());\n  }\n  ngOnChanges(changes: SimpleChanges) {\n    if (changes.attributes) {\n      this.setAttributes(this.v()?.nativeElement, this.attributes(), changes.attributes.currentValue);\n    }\n  }\n  ngOnDestroy() {\n    this._listenerFns.forEach(fn => fn());\n  }\n}\n\n@Component({\n  selector: 'dynamic-header, DynamicHeader',\n  template: ` <header #v ><ng-content></ng-content></header> `,\n  standalone: true,\n  styles: [':host { display: contents; }'],\n})\nexport class DynamicHeader {\n  attributes = input.required<any>();\n  actionAttributes = input<any | undefined>();\n  tagName = input<string | undefined>();\n  \n  v = viewChild<ElementRef>('v');\n  _listenerFns = new Map<string, () => void>();\n  constructor(private renderer: Renderer2) {}\n  setAttributes(el: any, value: any, changes?: any) {\n    if (!el) return;\n    const target = changes ? changes : value;\n    Object.keys(target).forEach((key) => {\n      if (key.startsWith('on')) {\n        if (this._listenerFns.has(key)) {\n          this._listenerFns.get(key)!();\n        }\n        this._listenerFns.set(key, this.renderer.listen(el, key.replace('on', '').toLowerCase(), target[key]));\n      } else {\n        this.renderer.setAttribute(el, key, target[key] ?? '');\n      }\n    });\n  }\n  ngAfterViewInit() {\n    this.setAttributes(this.v()?.nativeElement, this.attributes());\n  }\n  ngOnChanges(changes: SimpleChanges) {\n    if (changes.attributes) {\n      this.setAttributes(this.v()?.nativeElement, this.attributes(), changes.attributes.currentValue);\n    }\n  }\n  ngOnDestroy() {\n    this._listenerFns.forEach(fn => fn());\n  }\n}\n\n@Component({\n  selector: 'dynamic-nav, DynamicNav',\n  template: ` <nav #v ><ng-content></ng-content></nav> `,\n  standalone: true,\n  styles: [':host { display: contents; }'],\n})\nexport class DynamicNav {\n  attributes = input.required<any>();\n  actionAttributes = input<any | undefined>();\n  tagName = input<string | undefined>();\n  \n  v = viewChild<ElementRef>('v');\n  _listenerFns = new Map<string, () => void>();\n  constructor(private renderer: Renderer2) {}\n  setAttributes(el: any, value: any, changes?: any) {\n    if (!el) return;\n    const target = changes ? changes : value;\n    Object.keys(target).forEach((key) => {\n      if (key.startsWith('on')) {\n        if (this._listenerFns.has(key)) {\n          this._listenerFns.get(key)!();\n        }\n        this._listenerFns.set(key, this.renderer.listen(el, key.replace('on', '').toLowerCase(), target[key]));\n      } else {\n        this.renderer.setAttribute(el, key, target[key] ?? '');\n      }\n    });\n  }\n  ngAfterViewInit() {\n    this.setAttributes(this.v()?.nativeElement, this.attributes());\n  }\n  ngOnChanges(changes: SimpleChanges) {\n    if (changes.attributes) {\n      this.setAttributes(this.v()?.nativeElement, this.attributes(), changes.attributes.currentValue);\n    }\n  }\n  ngOnDestroy() {\n    this._listenerFns.forEach(fn => fn());\n  }\n}\n\n@Component({\n  selector: 'dynamic-section, DynamicSection',\n  template: ` <section #v ><ng-content></ng-content></section> `,\n  standalone: true,\n  styles: [':host { display: contents; }'],\n})\nexport class DynamicSection {\n  attributes = input.required<any>();\n  actionAttributes = input<any | undefined>();\n  tagName = input<string | undefined>();\n  \n  v = viewChild<ElementRef>('v');\n  _listenerFns = new Map<string, () => void>();\n  constructor(private renderer: Renderer2) {}\n  setAttributes(el: any, value: any, changes?: any) {\n    if (!el) return;\n    const target = changes ? changes : value;\n    Object.keys(target).forEach((key) => {\n      if (key.startsWith('on')) {\n        if (this._listenerFns.has(key)) {\n          this._listenerFns.get(key)!();\n        }\n        this._listenerFns.set(key, this.renderer.listen(el, key.replace('on', '').toLowerCase(), target[key]));\n      } else {\n        this.renderer.setAttribute(el, key, target[key] ?? '');\n      }\n    });\n  }\n  ngAfterViewInit() {\n    this.setAttributes(this.v()?.nativeElement, this.attributes());\n  }\n  ngOnChanges(changes: SimpleChanges) {\n    if (changes.attributes) {\n      this.setAttributes(this.v()?.nativeElement, this.attributes(), changes.attributes.currentValue);\n    }\n  }\n  ngOnDestroy() {\n    this._listenerFns.forEach(fn => fn());\n  }\n}\n\n@Component({\n  selector: 'dynamic-article, DynamicArticle',\n  template: ` <article #v ><ng-content></ng-content></article> `,\n  standalone: true,\n  styles: [':host { display: contents; }'],\n})\nexport class DynamicArticle {\n  attributes = input.required<any>();\n  actionAttributes = input<any | undefined>();\n  tagName = input<string | undefined>();\n  \n  v = viewChild<ElementRef>('v');\n  _listenerFns = new Map<string, () => void>();\n  constructor(private renderer: Renderer2) {}\n  setAttributes(el: any, value: any, changes?: any) {\n    if (!el) return;\n    const target = changes ? changes : value;\n    Object.keys(target).forEach((key) => {\n      if (key.startsWith('on')) {\n        if (this._listenerFns.has(key)) {\n          this._listenerFns.get(key)!();\n        }\n        this._listenerFns.set(key, this.renderer.listen(el, key.replace('on', '').toLowerCase(), target[key]));\n      } else {\n        this.renderer.setAttribute(el, key, target[key] ?? '');\n      }\n    });\n  }\n  ngAfterViewInit() {\n    this.setAttributes(this.v()?.nativeElement, this.attributes());\n  }\n  ngOnChanges(changes: SimpleChanges) {\n    if (changes.attributes) {\n      this.setAttributes(this.v()?.nativeElement, this.attributes(), changes.attributes.currentValue);\n    }\n  }\n  ngOnDestroy() {\n    this._listenerFns.forEach(fn => fn());\n  }\n}\n\n@Component({\n  selector: 'dynamic-aside, DynamicAside',\n  template: ` <aside #v ><ng-content></ng-content></aside> `,\n  standalone: true,\n  styles: [':host { display: contents; }'],\n})\nexport class DynamicAside {\n  attributes = input.required<any>();\n  actionAttributes = input<any | undefined>();\n  tagName = input<string | undefined>();\n  \n  v = viewChild<ElementRef>('v');\n  _listenerFns = new Map<string, () => void>();\n  constructor(private renderer: Renderer2) {}\n  setAttributes(el: any, value: any, changes?: any) {\n    if (!el) return;\n    const target = changes ? changes : value;\n    Object.keys(target).forEach((key) => {\n      if (key.startsWith('on')) {\n        if (this._listenerFns.has(key)) {\n          this._listenerFns.get(key)!();\n        }\n        this._listenerFns.set(key, this.renderer.listen(el, key.replace('on', '').toLowerCase(), target[key]));\n      } else {\n        this.renderer.setAttribute(el, key, target[key] ?? '');\n      }\n    });\n  }\n  ngAfterViewInit() {\n    this.setAttributes(this.v()?.nativeElement, this.attributes());\n  }\n  ngOnChanges(changes: SimpleChanges) {\n    if (changes.attributes) {\n      this.setAttributes(this.v()?.nativeElement, this.attributes(), changes.attributes.currentValue);\n    }\n  }\n  ngOnDestroy() {\n    this._listenerFns.forEach(fn => fn());\n  }\n}\n\n@Component({\n  selector: 'dynamic-h1, DynamicH1',\n  template: ` <h1 #v ><ng-content></ng-content></h1> `,\n  standalone: true,\n  styles: [':host { display: contents; }'],\n})\nexport class DynamicH1 {\n  attributes = input.required<any>();\n  actionAttributes = input<any | undefined>();\n  tagName = input<string | undefined>();\n  \n  v = viewChild<ElementRef>('v');\n  _listenerFns = new Map<string, () => void>();\n  constructor(private renderer: Renderer2) {}\n  setAttributes(el: any, value: any, changes?: any) {\n    if (!el) return;\n    const target = changes ? changes : value;\n    Object.keys(target).forEach((key) => {\n      if (key.startsWith('on')) {\n        if (this._listenerFns.has(key)) {\n          this._listenerFns.get(key)!();\n        }\n        this._listenerFns.set(key, this.renderer.listen(el, key.replace('on', '').toLowerCase(), target[key]));\n      } else {\n        this.renderer.setAttribute(el, key, target[key] ?? '');\n      }\n    });\n  }\n  ngAfterViewInit() {\n    this.setAttributes(this.v()?.nativeElement, this.attributes());\n  }\n  ngOnChanges(changes: SimpleChanges) {\n    if (changes.attributes) {\n      this.setAttributes(this.v()?.nativeElement, this.attributes(), changes.attributes.currentValue);\n    }\n  }\n  ngOnDestroy() {\n    this._listenerFns.forEach(fn => fn());\n  }\n}\n\n@Component({\n  selector: 'dynamic-h2, DynamicH2',\n  template: ` <h2 #v ><ng-content></ng-content></h2> `,\n  standalone: true,\n  styles: [':host { display: contents; }'],\n})\nexport class DynamicH2 {\n  attributes = input.required<any>();\n  actionAttributes = input<any | undefined>();\n  tagName = input<string | undefined>();\n  \n  v = viewChild<ElementRef>('v');\n  _listenerFns = new Map<string, () => void>();\n  constructor(private renderer: Renderer2) {}\n  setAttributes(el: any, value: any, changes?: any) {\n    if (!el) return;\n    const target = changes ? changes : value;\n    Object.keys(target).forEach((key) => {\n      if (key.startsWith('on')) {\n        if (this._listenerFns.has(key)) {\n          this._listenerFns.get(key)!();\n        }\n        this._listenerFns.set(key, this.renderer.listen(el, key.replace('on', '').toLowerCase(), target[key]));\n      } else {\n        this.renderer.setAttribute(el, key, target[key] ?? '');\n      }\n    });\n  }\n  ngAfterViewInit() {\n    this.setAttributes(this.v()?.nativeElement, this.attributes());\n  }\n  ngOnChanges(changes: SimpleChanges) {\n    if (changes.attributes) {\n      this.setAttributes(this.v()?.nativeElement, this.attributes(), changes.attributes.currentValue);\n    }\n  }\n  ngOnDestroy() {\n    this._listenerFns.forEach(fn => fn());\n  }\n}\n\n@Component({\n  selector: 'dynamic-h3, DynamicH3',\n  template: ` <h3 #v ><ng-content></ng-content></h3> `,\n  standalone: true,\n  styles: [':host { display: contents; }'],\n})\nexport class DynamicH3 {\n  attributes = input.required<any>();\n  actionAttributes = input<any | undefined>();\n  tagName = input<string | undefined>();\n  \n  v = viewChild<ElementRef>('v');\n  _listenerFns = new Map<string, () => void>();\n  constructor(private renderer: Renderer2) {}\n  setAttributes(el: any, value: any, changes?: any) {\n    if (!el) return;\n    const target = changes ? changes : value;\n    Object.keys(target).forEach((key) => {\n      if (key.startsWith('on')) {\n        if (this._listenerFns.has(key)) {\n          this._listenerFns.get(key)!();\n        }\n        this._listenerFns.set(key, this.renderer.listen(el, key.replace('on', '').toLowerCase(), target[key]));\n      } else {\n        this.renderer.setAttribute(el, key, target[key] ?? '');\n      }\n    });\n  }\n  ngAfterViewInit() {\n    this.setAttributes(this.v()?.nativeElement, this.attributes());\n  }\n  ngOnChanges(changes: SimpleChanges) {\n    if (changes.attributes) {\n      this.setAttributes(this.v()?.nativeElement, this.attributes(), changes.attributes.currentValue);\n    }\n  }\n  ngOnDestroy() {\n    this._listenerFns.forEach(fn => fn());\n  }\n}\n\n@Component({\n  selector: 'dynamic-h4, DynamicH4',\n  template: ` <h4 #v ><ng-content></ng-content></h4> `,\n  standalone: true,\n  styles: [':host { display: contents; }'],\n})\nexport class DynamicH4 {\n  attributes = input.required<any>();\n  actionAttributes = input<any | undefined>();\n  tagName = input<string | undefined>();\n  \n  v = viewChild<ElementRef>('v');\n  _listenerFns = new Map<string, () => void>();\n  constructor(private renderer: Renderer2) {}\n  setAttributes(el: any, value: any, changes?: any) {\n    if (!el) return;\n    const target = changes ? changes : value;\n    Object.keys(target).forEach((key) => {\n      if (key.startsWith('on')) {\n        if (this._listenerFns.has(key)) {\n          this._listenerFns.get(key)!();\n        }\n        this._listenerFns.set(key, this.renderer.listen(el, key.replace('on', '').toLowerCase(), target[key]));\n      } else {\n        this.renderer.setAttribute(el, key, target[key] ?? '');\n      }\n    });\n  }\n  ngAfterViewInit() {\n    this.setAttributes(this.v()?.nativeElement, this.attributes());\n  }\n  ngOnChanges(changes: SimpleChanges) {\n    if (changes.attributes) {\n      this.setAttributes(this.v()?.nativeElement, this.attributes(), changes.attributes.currentValue);\n    }\n  }\n  ngOnDestroy() {\n    this._listenerFns.forEach(fn => fn());\n  }\n}\n\n@Component({\n  selector: 'dynamic-h5, DynamicH5',\n  template: ` <h5 #v ><ng-content></ng-content></h5> `,\n  standalone: true,\n  styles: [':host { display: contents; }'],\n})\nexport class DynamicH5 {\n  attributes = input.required<any>();\n  actionAttributes = input<any | undefined>();\n  tagName = input<string | undefined>();\n  \n  v = viewChild<ElementRef>('v');\n  _listenerFns = new Map<string, () => void>();\n  constructor(private renderer: Renderer2) {}\n  setAttributes(el: any, value: any, changes?: any) {\n    if (!el) return;\n    const target = changes ? changes : value;\n    Object.keys(target).forEach((key) => {\n      if (key.startsWith('on')) {\n        if (this._listenerFns.has(key)) {\n          this._listenerFns.get(key)!();\n        }\n        this._listenerFns.set(key, this.renderer.listen(el, key.replace('on', '').toLowerCase(), target[key]));\n      } else {\n        this.renderer.setAttribute(el, key, target[key] ?? '');\n      }\n    });\n  }\n  ngAfterViewInit() {\n    this.setAttributes(this.v()?.nativeElement, this.attributes());\n  }\n  ngOnChanges(changes: SimpleChanges) {\n    if (changes.attributes) {\n      this.setAttributes(this.v()?.nativeElement, this.attributes(), changes.attributes.currentValue);\n    }\n  }\n  ngOnDestroy() {\n    this._listenerFns.forEach(fn => fn());\n  }\n}\n\n@Component({\n  selector: 'dynamic-h6, DynamicH6',\n  template: ` <h6 #v ><ng-content></ng-content></h6> `,\n  standalone: true,\n  styles: [':host { display: contents; }'],\n})\nexport class DynamicH6 {\n  attributes = input.required<any>();\n  actionAttributes = input<any | undefined>();\n  tagName = input<string | undefined>();\n  \n  v = viewChild<ElementRef>('v');\n  _listenerFns = new Map<string, () => void>();\n  constructor(private renderer: Renderer2) {}\n  setAttributes(el: any, value: any, changes?: any) {\n    if (!el) return;\n    const target = changes ? changes : value;\n    Object.keys(target).forEach((key) => {\n      if (key.startsWith('on')) {\n        if (this._listenerFns.has(key)) {\n          this._listenerFns.get(key)!();\n        }\n        this._listenerFns.set(key, this.renderer.listen(el, key.replace('on', '').toLowerCase(), target[key]));\n      } else {\n        this.renderer.setAttribute(el, key, target[key] ?? '');\n      }\n    });\n  }\n  ngAfterViewInit() {\n    this.setAttributes(this.v()?.nativeElement, this.attributes());\n  }\n  ngOnChanges(changes: SimpleChanges) {\n    if (changes.attributes) {\n      this.setAttributes(this.v()?.nativeElement, this.attributes(), changes.attributes.currentValue);\n    }\n  }\n  ngOnDestroy() {\n    this._listenerFns.forEach(fn => fn());\n  }\n}\n\n@Component({\n  selector: 'dynamic-blockquote, DynamicBlockquote',\n  template: ` <blockquote #v ><ng-content></ng-content></blockquote> `,\n  standalone: true,\n  styles: [':host { display: contents; }'],\n})\nexport class DynamicBlockquote {\n  attributes = input.required<any>();\n  actionAttributes = input<any | undefined>();\n  tagName = input<string | undefined>();\n  \n  v = viewChild<ElementRef>('v');\n  _listenerFns = new Map<string, () => void>();\n  constructor(private renderer: Renderer2) {}\n  setAttributes(el: any, value: any, changes?: any) {\n    if (!el) return;\n    const target = changes ? changes : value;\n    Object.keys(target).forEach((key) => {\n      if (key.startsWith('on')) {\n        if (this._listenerFns.has(key)) {\n          this._listenerFns.get(key)!();\n        }\n        this._listenerFns.set(key, this.renderer.listen(el, key.replace('on', '').toLowerCase(), target[key]));\n      } else {\n        this.renderer.setAttribute(el, key, target[key] ?? '');\n      }\n    });\n  }\n  ngAfterViewInit() {\n    this.setAttributes(this.v()?.nativeElement, this.attributes());\n  }\n  ngOnChanges(changes: SimpleChanges) {\n    if (changes.attributes) {\n      this.setAttributes(this.v()?.nativeElement, this.attributes(), changes.attributes.currentValue);\n    }\n  }\n  ngOnDestroy() {\n    this._listenerFns.forEach(fn => fn());\n  }\n}\n\n@Component({\n  selector: 'dynamic-code, DynamicCode',\n  template: ` <code #v ><ng-content></ng-content></code> `,\n  standalone: true,\n  styles: [':host { display: contents; }'],\n})\nexport class DynamicCode {\n  attributes = input.required<any>();\n  actionAttributes = input<any | undefined>();\n  tagName = input<string | undefined>();\n  \n  v = viewChild<ElementRef>('v');\n  _listenerFns = new Map<string, () => void>();\n  constructor(private renderer: Renderer2) {}\n  setAttributes(el: any, value: any, changes?: any) {\n    if (!el) return;\n    const target = changes ? changes : value;\n    Object.keys(target).forEach((key) => {\n      if (key.startsWith('on')) {\n        if (this._listenerFns.has(key)) {\n          this._listenerFns.get(key)!();\n        }\n        this._listenerFns.set(key, this.renderer.listen(el, key.replace('on', '').toLowerCase(), target[key]));\n      } else {\n        this.renderer.setAttribute(el, key, target[key] ?? '');\n      }\n    });\n  }\n  ngAfterViewInit() {\n    this.setAttributes(this.v()?.nativeElement, this.attributes());\n  }\n  ngOnChanges(changes: SimpleChanges) {\n    if (changes.attributes) {\n      this.setAttributes(this.v()?.nativeElement, this.attributes(), changes.attributes.currentValue);\n    }\n  }\n  ngOnDestroy() {\n    this._listenerFns.forEach(fn => fn());\n  }\n}\n\n@Component({\n  selector: 'dynamic-pre, DynamicPre',\n  template: ` <pre #v ><ng-content></ng-content></pre> `,\n  standalone: true,\n  styles: [':host { display: contents; }'],\n})\nexport class DynamicPre {\n  attributes = input.required<any>();\n  actionAttributes = input<any | undefined>();\n  tagName = input<string | undefined>();\n  \n  v = viewChild<ElementRef>('v');\n  _listenerFns = new Map<string, () => void>();\n  constructor(private renderer: Renderer2) {}\n  setAttributes(el: any, value: any, changes?: any) {\n    if (!el) return;\n    const target = changes ? changes : value;\n    Object.keys(target).forEach((key) => {\n      if (key.startsWith('on')) {\n        if (this._listenerFns.has(key)) {\n          this._listenerFns.get(key)!();\n        }\n        this._listenerFns.set(key, this.renderer.listen(el, key.replace('on', '').toLowerCase(), target[key]));\n      } else {\n        this.renderer.setAttribute(el, key, target[key] ?? '');\n      }\n    });\n  }\n  ngAfterViewInit() {\n    this.setAttributes(this.v()?.nativeElement, this.attributes());\n  }\n  ngOnChanges(changes: SimpleChanges) {\n    if (changes.attributes) {\n      this.setAttributes(this.v()?.nativeElement, this.attributes(), changes.attributes.currentValue);\n    }\n  }\n  ngOnDestroy() {\n    this._listenerFns.forEach(fn => fn());\n  }\n}\n\n@Component({\n  selector: 'dynamic-figure, DynamicFigure',\n  template: ` <figure #v ><ng-content></ng-content></figure> `,\n  standalone: true,\n  styles: [':host { display: contents; }'],\n})\nexport class DynamicFigure {\n  attributes = input.required<any>();\n  actionAttributes = input<any | undefined>();\n  tagName = input<string | undefined>();\n  \n  v = viewChild<ElementRef>('v');\n  _listenerFns = new Map<string, () => void>();\n  constructor(private renderer: Renderer2) {}\n  setAttributes(el: any, value: any, changes?: any) {\n    if (!el) return;\n    const target = changes ? changes : value;\n    Object.keys(target).forEach((key) => {\n      if (key.startsWith('on')) {\n        if (this._listenerFns.has(key)) {\n          this._listenerFns.get(key)!();\n        }\n        this._listenerFns.set(key, this.renderer.listen(el, key.replace('on', '').toLowerCase(), target[key]));\n      } else {\n        this.renderer.setAttribute(el, key, target[key] ?? '');\n      }\n    });\n  }\n  ngAfterViewInit() {\n    this.setAttributes(this.v()?.nativeElement, this.attributes());\n  }\n  ngOnChanges(changes: SimpleChanges) {\n    if (changes.attributes) {\n      this.setAttributes(this.v()?.nativeElement, this.attributes(), changes.attributes.currentValue);\n    }\n  }\n  ngOnDestroy() {\n    this._listenerFns.forEach(fn => fn());\n  }\n}\n\n@Component({\n  selector: 'dynamic-figcaption, DynamicFigcaption',\n  template: ` <figcaption #v ><ng-content></ng-content></figcaption> `,\n  standalone: true,\n  styles: [':host { display: contents; }'],\n})\nexport class DynamicFigcaption {\n  attributes = input.required<any>();\n  actionAttributes = input<any | undefined>();\n  tagName = input<string | undefined>();\n  \n  v = viewChild<ElementRef>('v');\n  _listenerFns = new Map<string, () => void>();\n  constructor(private renderer: Renderer2) {}\n  setAttributes(el: any, value: any, changes?: any) {\n    if (!el) return;\n    const target = changes ? changes : value;\n    Object.keys(target).forEach((key) => {\n      if (key.startsWith('on')) {\n        if (this._listenerFns.has(key)) {\n          this._listenerFns.get(key)!();\n        }\n        this._listenerFns.set(key, this.renderer.listen(el, key.replace('on', '').toLowerCase(), target[key]));\n      } else {\n        this.renderer.setAttribute(el, key, target[key] ?? '');\n      }\n    });\n  }\n  ngAfterViewInit() {\n    this.setAttributes(this.v()?.nativeElement, this.attributes());\n  }\n  ngOnChanges(changes: SimpleChanges) {\n    if (changes.attributes) {\n      this.setAttributes(this.v()?.nativeElement, this.attributes(), changes.attributes.currentValue);\n    }\n  }\n  ngOnDestroy() {\n    this._listenerFns.forEach(fn => fn());\n  }\n}\n\n@Component({\n  selector: 'dynamic-video, DynamicVideo',\n  template: ` <video #v ><ng-content></ng-content></video> `,\n  standalone: true,\n  styles: [':host { display: contents; }'],\n})\nexport class DynamicVideo {\n  attributes = input.required<any>();\n  actionAttributes = input<any | undefined>();\n  tagName = input<string | undefined>();\n  \n  v = viewChild<ElementRef>('v');\n  _listenerFns = new Map<string, () => void>();\n  constructor(private renderer: Renderer2) {}\n  setAttributes(el: any, value: any, changes?: any) {\n    if (!el) return;\n    const target = changes ? changes : value;\n    Object.keys(target).forEach((key) => {\n      if (key.startsWith('on')) {\n        if (this._listenerFns.has(key)) {\n          this._listenerFns.get(key)!();\n        }\n        this._listenerFns.set(key, this.renderer.listen(el, key.replace('on', '').toLowerCase(), target[key]));\n      } else {\n        this.renderer.setAttribute(el, key, target[key] ?? '');\n      }\n    });\n  }\n  ngAfterViewInit() {\n    this.setAttributes(this.v()?.nativeElement, this.attributes());\n  }\n  ngOnChanges(changes: SimpleChanges) {\n    if (changes.attributes) {\n      this.setAttributes(this.v()?.nativeElement, this.attributes(), changes.attributes.currentValue);\n    }\n  }\n  ngOnDestroy() {\n    this._listenerFns.forEach(fn => fn());\n  }\n}\n\n@Component({\n  selector: 'dynamic-audio, DynamicAudio',\n  template: ` <audio #v ><ng-content></ng-content></audio> `,\n  standalone: true,\n  styles: [':host { display: contents; }'],\n})\nexport class DynamicAudio {\n  attributes = input.required<any>();\n  actionAttributes = input<any | undefined>();\n  tagName = input<string | undefined>();\n  \n  v = viewChild<ElementRef>('v');\n  _listenerFns = new Map<string, () => void>();\n  constructor(private renderer: Renderer2) {}\n  setAttributes(el: any, value: any, changes?: any) {\n    if (!el) return;\n    const target = changes ? changes : value;\n    Object.keys(target).forEach((key) => {\n      if (key.startsWith('on')) {\n        if (this._listenerFns.has(key)) {\n          this._listenerFns.get(key)!();\n        }\n        this._listenerFns.set(key, this.renderer.listen(el, key.replace('on', '').toLowerCase(), target[key]));\n      } else {\n        this.renderer.setAttribute(el, key, target[key] ?? '');\n      }\n    });\n  }\n  ngAfterViewInit() {\n    this.setAttributes(this.v()?.nativeElement, this.attributes());\n  }\n  ngOnChanges(changes: SimpleChanges) {\n    if (changes.attributes) {\n      this.setAttributes(this.v()?.nativeElement, this.attributes(), changes.attributes.currentValue);\n    }\n  }\n  ngOnDestroy() {\n    this._listenerFns.forEach(fn => fn());\n  }\n}\n\n@Component({\n  selector: 'dynamic-canvas, DynamicCanvas',\n  template: ` <canvas #v ><ng-content></ng-content></canvas> `,\n  standalone: true,\n  styles: [':host { display: contents; }'],\n})\nexport class DynamicCanvas {\n  attributes = input.required<any>();\n  actionAttributes = input<any | undefined>();\n  tagName = input<string | undefined>();\n  \n  v = viewChild<ElementRef>('v');\n  _listenerFns = new Map<string, () => void>();\n  constructor(private renderer: Renderer2) {}\n  setAttributes(el: any, value: any, changes?: any) {\n    if (!el) return;\n    const target = changes ? changes : value;\n    Object.keys(target).forEach((key) => {\n      if (key.startsWith('on')) {\n        if (this._listenerFns.has(key)) {\n          this._listenerFns.get(key)!();\n        }\n        this._listenerFns.set(key, this.renderer.listen(el, key.replace('on', '').toLowerCase(), target[key]));\n      } else {\n        this.renderer.setAttribute(el, key, target[key] ?? '');\n      }\n    });\n  }\n  ngAfterViewInit() {\n    this.setAttributes(this.v()?.nativeElement, this.attributes());\n  }\n  ngOnChanges(changes: SimpleChanges) {\n    if (changes.attributes) {\n      this.setAttributes(this.v()?.nativeElement, this.attributes(), changes.attributes.currentValue);\n    }\n  }\n  ngOnDestroy() {\n    this._listenerFns.forEach(fn => fn());\n  }\n}\n\n@Component({\n  selector: 'dynamic-iframe, DynamicIframe',\n  template: ` <iframe #v ><ng-content></ng-content></iframe> `,\n  standalone: true,\n  styles: [':host { display: contents; }'],\n})\nexport class DynamicIframe {\n  attributes = input.required<any>();\n  actionAttributes = input<any | undefined>();\n  tagName = input<string | undefined>();\n  \n  v = viewChild<ElementRef>('v');\n  _listenerFns = new Map<string, () => void>();\n  constructor(private renderer: Renderer2) {}\n  setAttributes(el: any, value: any, changes?: any) {\n    if (!el) return;\n    const target = changes ? changes : value;\n    Object.keys(target).forEach((key) => {\n      if (key.startsWith('on')) {\n        if (this._listenerFns.has(key)) {\n          this._listenerFns.get(key)!();\n        }\n        this._listenerFns.set(key, this.renderer.listen(el, key.replace('on', '').toLowerCase(), target[key]));\n      } else {\n        this.renderer.setAttribute(el, key, target[key] ?? '');\n      }\n    });\n  }\n  ngAfterViewInit() {\n    this.setAttributes(this.v()?.nativeElement, this.attributes());\n  }\n  ngOnChanges(changes: SimpleChanges) {\n    if (changes.attributes) {\n      this.setAttributes(this.v()?.nativeElement, this.attributes(), changes.attributes.currentValue);\n    }\n  }\n  ngOnDestroy() {\n    this._listenerFns.forEach(fn => fn());\n  }\n}\n\n  @Component({\n      selector: 'dynamic-element',\n      template: '<ng-content></ng-content>',\n      standalone: true\n    })\n\n    export class DynamicElement {\n      tagName = input<string>();\n      attributes = input<any>();\n      actionAttributes = input<any>();\n    \n      private _element!: HTMLElement;\n      private _listenerFns = new Map<string, () => void>();\n    \n      constructor(private hostRef: ElementRef, private renderer: Renderer2) {}\n    \n      ngOnInit() {\n        if(this.tagName()){\n          this._element = this.renderer.createElement(this.tagName());\n          this.renderer.appendChild(this.hostRef.nativeElement, this._element);\n          this.setAttributes(this._element, this.attributes());\n        }\n      }\n\n      ngAfterViewInit(){\n        if(this.hostRef.nativeElement.children.length > 1){\n          this.renderer.appendChild(this.hostRef.nativeElement.children[1], this.hostRef.nativeElement.children[0]);\n        }\n      }\n    \n      ngOnDestroy() {\n        this._listenerFns.forEach((fn) => fn());\n      }\n    \n      setAttributes(el: any, attributes: any) {\n        if (!attributes) return;\n        Object.keys(attributes).forEach((key) => {\n          if (key.startsWith('on')) {\n            if (this._listenerFns.has(key)) {\n              this._listenerFns.get(key)!();\n            }\n            const eventType = key.replace('on', '').toLowerCase();\n            this._listenerFns.set(key, this.renderer.listen(el, eventType, attributes[key]));\n          } else {\n            this.renderer.setAttribute(el, key, attributes[key] ?? '');\n          }\n        });\n      }\n    }","type Target = import('../types/targets').Target;\n/** This file should be overriden for each framework. Ideally this would be implemented in Mitosis.  */\nexport const TARGET = 'angular' as Target;\n","import { TARGET } from '../constants/target';\nexport const getClassPropName = () => {\n  switch (TARGET) {\n    case 'react':\n    case 'reactNative':\n    case 'rsc':\n      return 'className';\n    case 'svelte':\n    case 'vue':\n    case 'solid':\n    case 'qwik':\n    case 'angular':\n      return 'class';\n  }\n}","import { Component, input, effect, InputSignal } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport DynamicRenderer from \"../../components/dynamic-renderer/dynamic-renderer\";\nimport { getClassPropName } from \"../../functions/get-class-prop-name\";\nimport { filterAttrs } from \"../helpers\";\nimport type { ButtonProps } from \"./button.types\";\n\n@Component({\n  selector: \"builder-button\",\n  standalone: true,\n  imports: [CommonModule, DynamicRenderer],\n  template: `\n    <dynamic-renderer\n      [attributes]=\"attrs()\"\n      [TagName]=\"link() ? builderLinkComponent() || 'a' : 'button'\"\n      [actionAttributes]=\"{}\"\n    >\n      {{text()}}\n    </dynamic-renderer>\n  `,\n  styles: `:host { display: contents; }`,\n})\nexport default class Button {\n  attributes: InputSignal<ButtonProps[\"attributes\"]> =\n    input<ButtonProps[\"attributes\"]>();\n  link: InputSignal<ButtonProps[\"link\"]> = input<ButtonProps[\"link\"]>();\n  openLinkInNewTab: InputSignal<ButtonProps[\"openLinkInNewTab\"]> =\n    input<ButtonProps[\"openLinkInNewTab\"]>();\n  builderLinkComponent: InputSignal<ButtonProps[\"builderLinkComponent\"]> =\n    input<ButtonProps[\"builderLinkComponent\"]>();\n  text: InputSignal<ButtonProps[\"text\"]> = input<ButtonProps[\"text\"]>();\n\n  attrs() {\n    return {\n      ...this.attributes(),\n      [getClassPropName()]: `${this.link() ? \"\" : \"builder-button\"} ${\n        this.attributes()[getClassPropName()] || \"\"\n      }`,\n      ...(this.link()\n        ? {\n            href: this.link(),\n            target: this.openLinkInNewTab() ? \"_blank\" : undefined,\n            role: \"link\",\n          }\n        : {\n            role: \"button\",\n          }),\n    };\n  }\n\n  constructor() {}\n}\n","import { Injectable } from \"@angular/core\";\n\n@Injectable({\n  providedIn: \"root\",\n})\nexport default class BuilderContext {\n  content: any = null;\n  context: any = {};\n  localState: any = undefined;\n  rootSetState() {}\n  rootState: any = {};\n  apiKey: any = null;\n  apiVersion: any = undefined;\n  componentInfos: any = {};\n  inheritedStyles: any = {};\n  BlocksWrapper: any = \"div\";\n  BlocksWrapperProps: any = {};\n  nonce: any = \"\";\n  model: any = \"\";\n\n  constructor() {}\n}\n","import { Injectable } from \"@angular/core\";\n\n@Injectable({\n  providedIn: \"root\",\n})\nexport default class ComponentsContext {\n  registeredComponents: any = {};\n\n  constructor() {}\n}\n","export const MSG_PREFIX = '[Builder.io]: ';\nexport const logger = {\n  log: (...message: any[]) => console.log(MSG_PREFIX, ...message),\n  error: (...message: any[]) => console.error(MSG_PREFIX, ...message),\n  warn: (...message: any[]) => console.warn(MSG_PREFIX, ...message),\n  debug: (...message: any[]) => console.debug(MSG_PREFIX, ...message)\n}","export const get = (obj: any, path: string, defaultValue?: any) => {\n  const result = String.prototype.split.call(path, /[,[\\].]+?/).filter(Boolean).reduce((res, key) => res !== null && res !== undefined ? res[key] : res, obj);\n  return result === undefined || result === obj ? defaultValue : result;\n}","export function isBrowser(): boolean {\n  return typeof window !== 'undefined' && typeof document !== 'undefined';\n}","export type QueryObject = Record<string, string | string[]>;\nexport const convertSearchParamsToQueryObject = (searchParams: URLSearchParams): QueryObject => {\n  const options: Record<string, string> = {};\n  searchParams.forEach((value, key) => {\n    options[key] = value;\n  });\n  return options;\n};\nexport const normalizeSearchParams = (searchParams: QueryObject | URLSearchParams): QueryObject => searchParams instanceof URLSearchParams ? convertSearchParamsToQueryObject(searchParams) : searchParams;\nexport type Search = URLSearchParams | string | QueryObject;\nexport const getSearchString = (search: Search): string => {\n  if (typeof search === 'string') {\n    return search;\n  } else if (search instanceof URLSearchParams) {\n    return search.toString();\n  }\n  return new URLSearchParams((search as any)).toString();\n}","import { isBrowser } from './is-browser';\nexport function isIframe(): boolean {\n  return isBrowser() && window.self !== window.top;\n}","import { TARGET } from '../constants/target';\nimport { getSearchString, type Search } from '../helpers/search/search';\nimport { isIframe } from './is-iframe';\nexport function isEditing(search?: Search) {\n  return isIframe() && (TARGET === 'reactNative' ||\n  // accessing window.location.search is safe here because `isIframe()` is only `true` if we're in a browser.\n  getSearchString(search || window.location.search).indexOf('builder.frameEditing=') !== -1);\n}","import { TARGET } from '../../constants/target';\nimport type { Nullable } from '../../helpers/nullable';\nimport { isBrowser } from '../is-browser';\nconst getLocation = (): Nullable<URL> => {\n  if (TARGET === 'reactNative') {\n    return null;\n  } else if (isBrowser()) {\n    const parsedLocation = new URL(location.href);\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    return parsedLocation;\n  } else {\n    console.warn('Cannot get location for tracking in non-browser environment');\n    return null;\n  }\n};\nconst getUserAgent = () => typeof navigator === 'object' && navigator.userAgent || '';\nexport const getUserAttributes = () => {\n  const userAgent = getUserAgent();\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 isMobile.Android() || isMobile.BlackBerry() || isMobile.iOS() || isMobile.Opera() || isMobile.Windows() || TARGET === 'reactNative';\n    }\n  };\n  const isTablet = userAgent.match(/Tablet|iPad/i);\n  const url = getLocation();\n  return {\n    urlPath: url?.pathname,\n    host: url?.host || url?.hostname,\n    device: isTablet ? 'tablet' : isMobile.any() ? 'mobile' : 'desktop'\n  };\n}","export const SDK_VERSION = \"0.25.0\"\n","import { SDK_VERSION } from '../constants/sdk-version';\nimport { TARGET } from '../constants/target';\nexport const getSdkHeaders = () => ({\n  'X-Builder-SDK': TARGET,\n  'X-Builder-SDK-GEN': '2',\n  'X-Builder-SDK-Version': SDK_VERSION\n})","export type Nullable<T> = T | null | undefined;\nexport const checkIsDefined = <T,>(maybeT: Nullable<T>): maybeT is T => maybeT !== null && maybeT !== undefined","/**\n * Only gets one level up from hostname\n * wwww.example.com -> example.com\n * www.example.co.uk -> example.co.uk\n */\nexport const getTopLevelDomain = (host: string) => {\n  if (host === 'localhost' || host === '127.0.0.1') {\n    return host;\n  }\n  const parts = host.split('.');\n  if (parts.length > 2) {\n    return parts.slice(1).join('.');\n  }\n  return host;\n}","import { isBrowser } from '../functions/is-browser';\nimport type { CanTrack } from '../types/can-track';\nimport { logger } from './logger';\nimport { checkIsDefined } from './nullable';\nimport { getTopLevelDomain } from './url';\ntype GetCookieArgs = {\n  name: string;\n} & CanTrack;\nexport const getCookieSync = ({\n  name,\n  canTrack\n}: GetCookieArgs): string | undefined => {\n  try {\n    if (!canTrack) {\n      return undefined;\n    }\n\n    /**\n     * Extracted from MDN docs\n     * https://developer.mozilla.org/en-US/docs/Web/API/Document/cookie#example_2_get_a_sample_cookie_named_test2\n     */\n    return document.cookie.split('; ').find(row => row.startsWith(`${name}=`))?.split('=')[1];\n  } catch (err: any) {\n    logger.warn('[COOKIE] GET error: ', err?.message || err);\n    return undefined;\n  }\n};\n/**\n * NOTE: This function is `async` because its react-native override is async. Do not remove the `async` keyword!\n * The sync version is only safe to use in code blocks that `react-native` is guaranteed not to not run.\n */\nexport const getCookie = async (args: GetCookieArgs) => getCookieSync(args);\ntype CookieConfiguration = Array<['expires', string] | ['path', '/'] | ['domain', string] | ['secure', ''] | ['SameSite', 'None'] | [string, string] | []>;\nconst stringifyCookie = (cookie: CookieConfiguration): string => cookie.map(([key, value]) => value ? `${key}=${value}` : key).filter(checkIsDefined).join('; ');\nconst SECURE_CONFIG: CookieConfiguration = [['secure', ''], ['SameSite', 'None']];\nconst createCookieString = ({\n  name,\n  value,\n  expires\n}: {\n  name: string;\n  value: string;\n  expires?: Date;\n}) => {\n  const secure = isBrowser() ? location.protocol === 'https:' : true;\n  const secureObj: CookieConfiguration = secure ? SECURE_CONFIG : [[]];\n\n  // TODO: need to know if secure server side\n  const expiresObj: CookieConfiguration = expires ? [['expires', expires.toUTCString()]] : [[]];\n  const cookieValue: CookieConfiguration = [[name, value], ...expiresObj, ['path', '/'], ['domain', getTopLevelDomain(window.location.hostname)], ...secureObj];\n  const cookie = stringifyCookie(cookieValue);\n  return cookie;\n};\n\n/**\n * NOTE: This function is `async` because its react-native override is async. Do not remove the `async` keyword!\n */\nexport const setCookie = async ({\n  name,\n  value,\n  expires,\n  canTrack\n}: {\n  name: string;\n  value: string;\n  expires?: Date;\n} & CanTrack): Promise<void> => {\n  try {\n    if (!canTrack) {\n      return;\n    }\n    const cookie = createCookieString({\n      name,\n      value,\n      expires\n    });\n    document.cookie = cookie;\n  } catch (err: any) {\n    logger.warn('[COOKIE] SET error: ', err?.message || err);\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    const 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}","import type { CanTrack } from '../types/can-track';\nimport { getCookie, setCookie } from './cookie';\nimport { checkIsDefined } from './nullable';\nimport { uuid } from './uuid';\nconst SESSION_LOCAL_STORAGE_KEY = 'builderSessionId';\nexport const getSessionId = async ({\n  canTrack\n}: CanTrack): Promise<string | undefined> => {\n  if (!canTrack) {\n    return undefined;\n  }\n  const sessionId = await getCookie({\n    name: SESSION_LOCAL_STORAGE_KEY,\n    canTrack\n  });\n  if (checkIsDefined(sessionId)) {\n    return sessionId;\n  } else {\n    const newSessionId = createSessionId();\n    setSessionId({\n      id: newSessionId,\n      canTrack\n    });\n    return newSessionId;\n  }\n};\nexport const createSessionId = () => uuid();\nexport const setSessionId = ({\n  id,\n  canTrack\n}: {\n  id: string;\n} & CanTrack) => setCookie({\n  name: SESSION_LOCAL_STORAGE_KEY,\n  value: id,\n  canTrack\n})","import { isBrowser } from '../functions/is-browser';\nimport type { CanTrack } from '../types/can-track';\nimport type { Nullable } from './nullable';\nconst getLocalStorage = () => isBrowser() && typeof localStorage !== 'undefined' ? localStorage : undefined;\nexport const getLocalStorageItem = ({\n  key,\n  canTrack\n}: {\n  key: string;\n} & CanTrack): Nullable<string> => {\n  try {\n    if (canTrack) {\n      return getLocalStorage()?.getItem(key);\n    }\n    return undefined;\n  } catch (err) {\n    console.debug('[LocalStorage] GET error: ', err);\n    return undefined;\n  }\n};\nexport const setLocalStorageItem = ({\n  key,\n  canTrack,\n  value\n}: {\n  key: string;\n  value: string;\n} & CanTrack) => {\n  try {\n    if (canTrack) {\n      getLocalStorage()?.setItem(key, value);\n    }\n  } catch (err) {\n    console.debug('[LocalStorage] SET error: ', err);\n  }\n}","import type { CanTrack } from '../types/can-track';\nimport { getLocalStorageItem, setLocalStorageItem } from './localStorage';\nimport { checkIsDefined } from './nullable';\nimport { uuid } from './uuid';\nconst VISITOR_LOCAL_STORAGE_KEY = 'builderVisitorId';\nexport const getVisitorId = ({\n  canTrack\n}: CanTrack): string | undefined => {\n  if (!canTrack) {\n    return undefined;\n  }\n  const visitorId = getLocalStorageItem({\n    key: VISITOR_LOCAL_STORAGE_KEY,\n    canTrack\n  });\n  if (checkIsDefined(visitorId)) {\n    return visitorId;\n  } else {\n    const newVisitorId = createVisitorId();\n    setVisitorId({\n      id: newVisitorId,\n      canTrack\n    });\n    return newVisitorId;\n  }\n};\nexport const createVisitorId = () => uuid();\nexport const setVisitorId = ({\n  id,\n  canTrack\n}: {\n  id: string;\n} & CanTrack) => setLocalStorageItem({\n  key: VISITOR_LOCAL_STORAGE_KEY,\n  value: id,\n  canTrack\n})","import { logger } from '../helpers/logger';\nexport function logFetch(url: string) {\n  if (typeof process !== 'undefined' && process.env?.DEBUG) {\n    if (String(process.env.DEBUG) == 'true') {\n      logger.log(url);\n    }\n  }\n}","import { TARGET } from '../../constants/target';\nimport { logger } from '../../helpers/logger';\nimport { getSdkHeaders } from '../../helpers/sdk-headers';\nimport { getSessionId } from '../../helpers/sessionId';\nimport { getVisitorId } from '../../helpers/visitorId';\nimport type { CanTrack } from '../../types/can-track';\nimport type { Dictionary } from '../../types/typescript';\nimport { isBrowser } from '../is-browser';\nimport { isEditing } from '../is-editing';\nimport { logFetch } from '../log-fetch';\nimport { getUserAttributes } from './helpers';\ninterface Event {\n  /**\n   * The type of your event.\n   *\n   * Examples: `click`, `conversion`, `pageview`, `impression`\n   */\n  type: string;\n  data: {\n    /**\n     * (Optional) The content's ID. Useful if this event pertains to a specific piece of content.\n     */\n    contentId?: string;\n    /**\n     * This is the ID of the space that the content belongs to.\n     */\n    ownerId: string;\n    /**\n     * (Optional) metadata that you want to provide with your event.\n     */\n    metadata?: Dictionary<any>;\n    /**\n     * Session ID of the user. This is provided by the SDK by checking session storage.\n     */\n    sessionId: string | undefined;\n    /**\n     * Visitor ID of the user. This is provided by the SDK by checking cookies.\n     */\n    visitorId: string | undefined;\n    /**\n     * (Optional) If running an A/B test, the ID of the variation that the user is in.\n     */\n    variationId?: string;\n    [index: string]: any;\n  };\n}\ntype TrackingData = {\n  visitorId: string | undefined;\n  sessionId: string | undefined;\n};\nconst getTrackingEventData = async ({\n  canTrack\n}: CanTrack): Promise<TrackingData> => {\n  if (!canTrack) {\n    return {\n      visitorId: undefined,\n      sessionId: undefined\n    };\n  }\n  const sessionId = await getSessionId({\n    canTrack\n  });\n  const visitorId = getVisitorId({\n    canTrack\n  });\n  return {\n    sessionId,\n    visitorId\n  };\n};\ntype EventProperties = Pick<Event, 'type'> & Pick<Event['data'], 'contentId' | 'variationId' | 'metadata'> & {\n  /**\n   * Your organization's API key.\n   */\n  apiKey: Event['data']['ownerId'];\n  /**\n   * (Optional) Any additional (non-metadata) properties to add to the event.\n   */\n  [index: string]: any;\n};\nexport type EventProps = EventProperties & CanTrack;\nconst createEvent = async ({\n  type: eventType,\n  canTrack,\n  apiKey,\n  metadata,\n  ...properties\n}: EventProps): Promise<Event> => ({\n  type: eventType,\n  data: {\n    ...properties,\n    metadata: {\n      url: location.href,\n      ...metadata\n    },\n    ...(await getTrackingEventData({\n      canTrack\n    })),\n    userAttributes: getUserAttributes(),\n    ownerId: apiKey\n  }\n});\nexport async function _track({\n  apiHost,\n  ...eventProps\n}: EventProps & {\n  apiHost?: string;\n}) {\n  if (!eventProps.apiKey) {\n    logger.error('Missing API key for track call. Please provide your API key.');\n    return;\n  }\n  if (!eventProps.canTrack) {\n    return;\n  }\n  if (isEditing()) {\n    return;\n  }\n  if (!(isBrowser() || TARGET === 'reactNative')) {\n    return;\n  }\n  const baseUrl = apiHost || 'https://cdn.builder.io';\n  const url = `${baseUrl}/api/v1/track`;\n  logFetch(url);\n  return fetch(url, {\n    method: 'POST',\n    body: JSON.stringify({\n      events: [await createEvent(eventProps)]\n    }),\n    headers: {\n      'content-type': 'application/json',\n      ...getSdkHeaders()\n    },\n    mode: 'cors'\n  }).catch(err => {\n    console.error('Failed to track: ', err);\n  });\n}\nexport const track = (args: EventProperties) => _track({\n  ...args,\n  canTrack: true\n})","import type { BuilderContextInterface, BuilderRenderState } from '../../context/types';\nimport { isBrowser } from '../is-browser';\nimport { isEditing } from '../is-editing';\nimport { getUserAttributes } from '../track/helpers';\nimport { _track } from '../track/index';\nexport type TrackingContext = {\n  apiKey: string | null;\n  canTrack?: boolean;\n  contentId?: string;\n  variationId?: string;\n};\nexport type EvaluatorArgs = Omit<ExecutorArgs, 'builder' | 'event'> & {\n  event?: Event;\n  isExpression?: boolean;\n  trackingContext?: TrackingContext;\n};\nexport type BuilderGlobals = {\n  isEditing: boolean | undefined;\n  isBrowser: boolean | undefined;\n  isServer: boolean | undefined;\n  getUserAttributes: typeof getUserAttributes;\n  trackConversion: (amount?: number, customProperties?: Record<string, any>) => void;\n};\nexport type ExecutorArgs = Pick<BuilderContextInterface, 'localState' | 'context' | 'rootState' | 'rootSetState'> & {\n  code: string;\n  builder: BuilderGlobals;\n  event: Event | undefined;\n};\nexport type Executor = (args: ExecutorArgs) => any;\nexport type FunctionArguments = ReturnType<typeof getFunctionArguments>;\nexport const getFunctionArguments = ({\n  builder,\n  context,\n  event,\n  state\n}: Pick<ExecutorArgs, 'builder' | 'context' | 'event'> & {\n  state: BuilderRenderState;\n}) => {\n  return Object.entries({\n    state,\n    Builder: builder,\n    // legacy\n    builder,\n    context,\n    event\n  });\n};\nexport const getBuilderGlobals = (trackingContext?: TrackingContext): BuilderGlobals => ({\n  isEditing: isEditing(),\n  isBrowser: isBrowser(),\n  isServer: !isBrowser(),\n  getUserAttributes: () => getUserAttributes(),\n  trackConversion: (amount?: number, customProperties?: Record<string, any>) => {\n    if (!trackingContext?.apiKey || trackingContext?.canTrack === false) {\n      return;\n    }\n    _track({\n      type: 'conversion',\n      apiKey: trackingContext.apiKey,\n      canTrack: trackingContext.canTrack ?? true,\n      contentId: trackingContext.contentId,\n      variationId: trackingContext.variationId !== trackingContext.contentId ? trackingContext.variationId : undefined,\n      metadata: {\n        ...(customProperties || {}),\n        ...(amount !== undefined ? {\n          amount\n        } : {})\n      }\n    });\n  }\n});\nexport const parseCode = (code: string, {\n  isExpression = true\n}: Pick<EvaluatorArgs, 'isExpression'>) => {\n  // Be able to handle simple expressions like \"state.foo\" or \"1 + 1\"\n  // as well as full blocks like \"var foo = \"bar\"; return foo\"\n  const useReturn =\n  // we disable this for cases where we definitely don't want a return\n  isExpression && !(code.includes(';') || code.includes(' return ') || code.trim().startsWith('return '));\n  const useCode = useReturn ? `return (${code});` : code;\n  return useCode;\n};\nexport function flattenState({\n  rootState,\n  localState,\n  rootSetState\n}: {\n  rootState: Record<string | symbol, any>;\n  localState: Record<string | symbol, any> | undefined;\n  rootSetState: ((rootState: BuilderRenderState) => void) | undefined;\n}): BuilderRenderState {\n  return new Proxy(rootState, {\n    get: (target, prop) => {\n      if (localState && prop in localState) {\n        return localState[prop];\n      }\n      const val = target[prop];\n      if (typeof val === 'object' && val !== null) {\n        return flattenState({\n          rootState: val,\n          localState: undefined,\n          rootSetState: rootSetState ? subState => {\n            target[prop] = subState;\n            rootSetState(target);\n          } : undefined\n        });\n      }\n      return val;\n    },\n    set: (target, prop, value) => {\n      if (localState && prop in localState) {\n        throw new Error('Writing to local state is not allowed as it is read-only.');\n      }\n      target[prop] = value;\n      rootSetState?.(target);\n      return true;\n    }\n  });\n}","import type { ExecutorArgs } from '../helpers';\nimport { flattenState, getFunctionArguments } from '../helpers';\nexport const runInBrowser = ({\n  code,\n  builder,\n  context,\n  event,\n  localState,\n  rootSetState,\n  rootState\n}: ExecutorArgs) => {\n  const functionArgs = getFunctionArguments({\n    builder,\n    context,\n    event,\n    state: flattenState({\n      rootState,\n      localState,\n      rootSetState\n    })\n  });\n  return new Function(...functionArgs.map(([name]) => name), code)(...functionArgs.map(([, value]) => value));\n}","import { checkIsDefined } from '../helpers/nullable';\n\n/**\n * Identifies node runtime\n */\nexport function isNodeRuntime(): boolean {\n  return typeof process !== 'undefined' && checkIsDefined(process?.versions?.node);\n}","import { logger } from '../../helpers/logger';\nimport { isNodeRuntime } from '../is-node-runtime';\nexport const shouldForceBrowserRuntimeInNode = ({\n  shouldLogWarning\n}: {\n  shouldLogWarning: boolean;\n}) => {\n  if (!isNodeRuntime()) return false;\n  const isArm64 = process.arch === 'arm64';\n  const isNode20 = process.version.startsWith('v20');\n  const hasNoNodeSnapshotNodeOption = process.env.NODE_OPTIONS?.includes('--no-node-snapshot');\n  if (isArm64 && isNode20 && !hasNoNodeSnapshotNodeOption) {\n    if (shouldLogWarning) {\n      logger.log(`Skipping usage of \\`isolated-vm\\` to avoid crashes in Node v20 on an arm64 machine.\n    If you would like to use the \\`isolated-vm\\` package on this machine, please provide the \\`NODE_OPTIONS=--no-node-snapshot\\` config to your Node process.\n    See https://github.com/BuilderIO/builder/blob/main/packages/sdks/README.md#node-v20--m1-macs-apple-silicon-support for more information.\n    `);\n    }\n    return true;\n  }\n  return false;\n}","/*\n * THIS FILE IS EXPECTED TO EXIST WITH THIS EXACT NAME BY SUBSEQUENT BUNDLE STEPS THAT TRANSFORM IT.\n * DO NOT RENAME THIS FILE.\n */\nimport { isBrowser } from '../is-browser';\nimport { runInBrowser } from './browser-runtime/browser';\nimport type { ExecutorArgs } from './helpers';\n\n/**\n * THIS IS A MAGICAL IMPORT. It is aliased by the build process of every SDK configuration, so that\n * it points to the correct runtime for that configuration, which are expected to live exactly at:\n *  - ./browser-runtime/index.js\n *  - ./node-runtime/index.js\n *  - ./edge-runtime/index.js\n *\n * We have code in `/output-generation` that does this aliasing, and is re-used by each SDK.\n * Also, each individual `tsconfig.json` aliases this import to the browser runtime so that the\n * types can be resolved correctly.\n */\nimport { evaluator } from \"./browser-runtime/index\";\nimport { shouldForceBrowserRuntimeInNode } from './should-force-browser-runtime-in-node';\n\n/**\n * Even though we have separate runtimes for browser/node/edge, sometimes frameworks will\n * end up sending the server runtime code to the browser (most notably in dev mode).\n */\nexport const chooseBrowserOrServerEval = (args: ExecutorArgs) => isBrowser() || shouldForceBrowserRuntimeInNode({\n  shouldLogWarning: true\n}) ? runInBrowser(args) : evaluator(args);","import { logger } from '../../helpers/logger';\nimport { get } from '../get';\nimport { chooseBrowserOrServerEval } from './choose-eval';\nimport type { EvaluatorArgs, ExecutorArgs } from './helpers';\nimport { getBuilderGlobals, parseCode } from './helpers';\ntype EvalValue = unknown;\n\n/**\n * handles multi-level gets on state: `state.x.y.z`\n * does not handle bracket notation\n * see https://regexr.com/87a9j\n */\nconst STATE_GETTER_REGEX = /^(return )?(\\s*)?state(?<getPath>(\\.\\w+)+)(\\s*);?$/;\n\n/**\n * Handles multi-level gets on state transpiled by rollup with virtual index.\n * see https://regexr.com/87ai4\n */\nconst VIRTUAL_INDEX_REGEX = /(\\s)*var(\\s)+_virtual_index(\\s)*=(\\s)*state(?<getPath>(\\.\\w+)+)(\\s*);?(\\s)*return(\\s)*_virtual_index(\\s)*/;\nexport const getSimpleExpressionGetPath = (code: string) => {\n  return STATE_GETTER_REGEX.exec(code.trim())?.groups?.getPath?.slice(1) || VIRTUAL_INDEX_REGEX.exec(code.trim())?.groups?.getPath?.slice(1);\n};\nexport function evaluate({\n  code,\n  context,\n  localState,\n  rootState,\n  rootSetState,\n  event,\n  isExpression = true,\n  trackingContext\n}: EvaluatorArgs): EvalValue {\n  if (code.trim() === '') {\n    return undefined;\n  }\n\n  /**\n   * For very simple expressions like \"state.foo\" we can optimize by skipping\n   * the executor altogether.\n   * We try not to take many risks with this optimizations, so we only do it for\n   * `state.{path}` expressions.\n   */\n  const getPath = getSimpleExpressionGetPath(code.trim());\n  if (getPath) {\n    return get({\n      ...rootState,\n      ...localState\n    }, getPath);\n  }\n  const args: ExecutorArgs = {\n    code: parseCode(code, {\n      isExpression\n    }),\n    builder: getBuilderGlobals(trackingContext),\n    context,\n    event,\n    rootSetState,\n    rootState,\n    localState\n  };\n  try {\n    const newEval = chooseBrowserOrServerEval(args);\n    return newEval;\n  } catch (e: any) {\n    logger.error('Failed code evaluation: ' + e.message, {\n      code\n    });\n    return undefined;\n  }\n}","import type { BuilderContextInterface } from '../context/types';\nimport type { BuilderBlock } from '../types/builder-block';\nimport { evaluate } from './evaluate/evaluate';\nexport function getBlockComponentOptions(block: BuilderBlock, context: Pick<BuilderContextInterface, 'localState' | 'context' | 'rootState' | 'rootSetState'>) {\n  return {\n    ...block.component?.options,\n    ...(block as any).options,\n    ...evaluateTextComponentTextOption(block, context)\n  };\n}\nconst evaluateTextComponentTextOption = (block: BuilderBlock, context: Pick<BuilderContextInterface, 'localState' | 'context' | 'rootState' | 'rootSetState'>) => {\n  if (block.component?.name === 'Text' && block.component.options?.text && typeof block.component.options.text === 'string') {\n    return {\n      ...block.component.options,\n      text: block.component.options.text.replace(/{{([^}]+)}}/g, (_match: string, group: string) => (evaluate({\n        code: group,\n        context,\n        localState: context.localState,\n        rootState: context.rootState,\n        rootSetState: context.rootSetState\n      }) as string))\n    };\n  }\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}","type TraverseCallback = (value: any, update: (newValue: any) => void) => void;\n\n/**\n * Recursively traverses an object or array, invoking a callback on each value.\n *\n * @param {any} obj - The object or array to traverse. Can also handle primitives, null, or undefined.\n * @param {TraverseCallback} callback - The function to invoke on each value. Receives the current value\n * and an `update` function to modify the value in its parent container.\n * @param {any} [parent=null] - The parent object or array of the current value. Used internally.\n * @param {any} [key=null] - The key or index of the current value in its parent. Used internally.\n * @param {WeakSet} [visited=new WeakSet()] - Tracks visited objects to handle circular references. Used internally.\n *\n * @example\n * // Example: Doubling all numbers in an object\n * const obj = { a: 1, b: [2, 3, { c: 4 }] };\n * traverse(obj, (value, update) => {\n *   if (typeof value === 'number') {\n *     update(value * 2);\n *   }\n * });\n * console.log(obj); // { a: 2, b: [4, 6, { c: 8 }] }\n *\n * @example\n * // Example: Handling circular references\n * const obj = { a: 1 };\n * obj.self = obj;\n * traverse(obj, (value, update) => {\n *   if (typeof value === 'number') {\n *     update(value * 2);\n *   }\n * });\n * console.log(obj.a); // 2\n */\nexport function traverse(obj: any, callback: TraverseCallback, parent: any = null, key: any = null, visited = new WeakSet()): void {\n  if (obj == null || typeof obj !== 'object') {\n    callback(obj, (newValue: any) => {\n      if (parent !== null && key !== null) {\n        parent[key] = newValue;\n      }\n    });\n    return;\n  }\n  if (visited.has(obj)) {\n    return;\n  }\n  visited.add(obj);\n  if (Array.isArray(obj)) {\n    obj.forEach((item, index) => {\n      const update = (newValue: any) => {\n        obj[index] = newValue;\n      };\n      callback(item, update);\n      traverse(item, callback, obj, index, visited);\n    });\n  } else {\n    Object.entries(obj).forEach(([key, value]) => {\n      const update = (newValue: any) => {\n        obj[key] = newValue;\n      };\n      callback(value, update);\n      traverse(value, callback, obj, key, visited);\n    });\n  }\n}","import type { BuilderBlock } from '../types/builder-block';\nimport { traverse } from './traverse';\nfunction isLocalizedField(value: any) {\n  return value && typeof value === 'object' && value['@type'] === '@builder.io/core:LocalizedValue';\n}\nfunction containsLocalizedValues(data: Record<string, any>) {\n  if (!data || !Object.getOwnPropertyNames(data).length) {\n    return false;\n  }\n  let hasLocalizedValues = false;\n  traverse(data, value => {\n    if (isLocalizedField(value)) {\n      hasLocalizedValues = true;\n      return;\n    }\n  });\n  return hasLocalizedValues;\n}\nfunction extractLocalizedValues(data: Record<string, any>, locale: string) {\n  if (!data || !Object.getOwnPropertyNames(data).length) {\n    return {};\n  }\n  traverse(data, (value, update) => {\n    if (isLocalizedField(value)) {\n      update(value[locale] ?? undefined);\n    }\n  });\n  return data;\n}\nexport function resolveLocalizedValues(block: BuilderBlock, locale: string | undefined) {\n  if (block.component?.options && containsLocalizedValues(block.component?.options)) {\n    if (!locale) {\n      console.warn('[Builder.io] In order to use localized fields in Builder, you must pass a locale prop to the BuilderComponent or to options object while fetching the content to resolve localized fields. Learn more: https://www.builder.io/c/docs/localization-inline#targeting-and-inline-localization');\n    }\n    block.component.options = extractLocalizedValues(block.component.options, locale ?? 'Default');\n  }\n  return block;\n}","/**\n * We need to serialize values to a string in case there are Proxy values, as is the case with SolidJS etc.\n */\nexport const fastClone = <T extends object,>(obj: T): T => JSON.parse(JSON.stringify(obj))","/**\n * Minimal implementation of lodash's _.set\n * https://lodash.com/docs/4.17.15#set\n *\n * See ./set.test.ts for usage examples\n */\nexport 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) ? _path : (_path.toString().match(/[^.[\\]]+/g) as string[]);\n  path.slice(0, -1).reduce((a, c, i) => Object(a[c]) === a[c] ? a[c] : a[c] = Math.abs(Number(path[i + 1])) >> 0 === +path[i + 1] ? [] : {}, obj)[path[path.length - 1]] = value;\n  return obj;\n}","import type { BuilderBlock } from '../types/builder-block';\n\n// Noope way for targets to make modifications to the block object if/as needed\nexport function transformBlock(block: BuilderBlock): BuilderBlock {\n  return block;\n}","import { TARGET } from '../constants/target';\nimport type { BuilderContextInterface } from '../context/types';\nimport { omit } from '../helpers/omit';\nimport type { BuilderBlock } from '../types/builder-block';\nimport { evaluate } from './evaluate/index';\nimport { resolveLocalizedValues } from './extract-localized-values';\nimport { fastClone } from './fast-clone';\nimport { set } from './set';\nimport { transformBlock } from './transform-block';\n\n// Deep clone a block but without cloning any child blocks\nexport function deepCloneWithConditions<T = any>(obj: T): T {\n  if (obj === null || typeof obj !== 'object') {\n    return obj;\n  }\n  if (Array.isArray(obj)) {\n    return (obj.map((item: any) => deepCloneWithConditions(item)) as T);\n  }\n  if ((obj as any)['@type'] === '@builder.io/sdk:Element') {\n    return obj;\n  }\n  const clonedObj: any = {};\n  for (const key in obj) {\n    if (key !== 'meta' && Object.prototype.hasOwnProperty.call(obj, key)) {\n      clonedObj[key] = deepCloneWithConditions(obj[key]);\n    }\n  }\n  return clonedObj;\n}\nconst IS_SDK_WITHOUT_CACHED_PROCESSED_BLOCK = ['svelte', 'vue', 'angular', 'qwik', 'solid'].includes(TARGET);\nconst getCopy = (block: BuilderBlock): BuilderBlock => {\n  if (IS_SDK_WITHOUT_CACHED_PROCESSED_BLOCK) {\n    const copy = fastClone(block);\n    const copied = {\n      ...copy,\n      properties: {\n        ...copy.properties\n      },\n      actions: {\n        ...copy.actions\n      }\n    };\n    return copied;\n  } else {\n    const copy = (deepCloneWithConditions(omit(block, 'children', 'meta')) as BuilderBlock);\n    return {\n      ...copy,\n      properties: {\n        ...copy.properties\n      },\n      actions: {\n        ...copy.actions\n      },\n      children: block.children,\n      meta: block.meta\n    };\n  }\n};\nconst evaluateBindings = ({\n  block,\n  context,\n  localState,\n  rootState,\n  rootSetState\n}: {\n  block: BuilderBlock;\n} & Pick<BuilderContextInterface, 'localState' | 'context' | 'rootState' | 'rootSetState'>): BuilderBlock => {\n  if (!block.bindings) {\n    return block;\n  }\n  const copied = getCopy(block);\n  for (const binding in block.bindings) {\n    const expression = block.bindings[binding];\n    const value = evaluate({\n      code: expression,\n      localState,\n      rootState,\n      rootSetState,\n      context\n    });\n    set(copied, binding, value);\n  }\n  return copied;\n};\nexport function getProcessedBlock({\n  block,\n  context,\n  localState,\n  rootState,\n  rootSetState\n}: {\n  block: BuilderBlock;\n} & Pick<BuilderContextInterface, 'localState' | 'context' | 'rootState' | 'rootSetState'>): BuilderBlock {\n  let transformedBlock = transformBlock(block);\n  transformedBlock = evaluateBindings({\n    block: transformedBlock,\n    localState,\n    rootState,\n    rootSetState,\n    context\n  });\n  transformedBlock = resolveLocalizedValues(transformedBlock, (rootState.locale as string | undefined));\n  return transformedBlock;\n}","import { CommonModule } from '@angular/common';\n// fails because type imports cannot be injected\n// eslint-disable-next-line @typescript-eslint/consistent-type-imports\nimport {\n  Component,\n  ElementRef,\n  Renderer2,\n  input,\n  viewChild,\n} from '@angular/core';\n\n@Component({\n  selector: 'dynamic-div, DynamicDiv',\n  template: `\n    <div\n      #v\n      (click)=\"onClick() && onClick()($event)\"\n      (mouseenter)=\"onMouseEnter() && onMouseEnter()($event)\"\n    >\n      <ng-content></ng-content>\n    </div>\n  `,\n  standalone: true,\n  imports: [CommonModule],\n  styles: [\n    ':host { display: contents; }',\n    '.this-blocks-wrapper { display: flex; flex-direction: column; align-items: stretch; }',\n  ],\n})\nexport default class DynamicDiv {\n  attributes = input<any>(undefined);\n  actionAttributes = input<any>(undefined);\n  BlockWrapperProps = input<any>(undefined);\n  builderPath = input<any>(undefined, { alias: 'builder-path' });\n  builderParentId = input<any>(undefined, { alias: 'builder-parent-id' });\n  BlocksWrapperProps = input<any>(undefined);\n  contentWrapperProps = input<any>(undefined);\n  builderModel = input<any>(undefined, { alias: 'builder-model' });\n  builderContentId = input<any>(undefined, { alias: 'builder-content-id' });\n  ref = input<any>(undefined);\n  classProp = input<any>(undefined, { alias: 'class' });\n  style = input<any>(undefined);\n  showContentProps = input<any>(undefined);\n  onClick = input<any>(undefined);\n  onMouseEnter = input<any>(undefined);\n  onKeyPress = input<any>(undefined);\n  hidden = input<any>(undefined);\n  ariaHidden = input<any>(undefined, { alias: 'aria-hidden' });\n  className = input<any>(undefined);\n\n  v = viewChild<ElementRef>('v');\n\n  private _listenerFns = new Map<string, () => void>();\n\n  constructor(private renderer: Renderer2) {}\n\n  ngAfterViewInit() {\n    const el = this.v()?.nativeElement;\n    if (!el) {\n      return;\n    }\n    this.setAttributes(el, this.attributes());\n    this.setAttributes(el, this.actionAttributes());\n    this.setAttributes(el, this.showContentProps());\n    this.setAttribute(\n      el,\n      'class',\n      [this.classProp() ?? '', this.className() ?? ''].join(' ').trim()\n    );\n    this.handleStyleProp(el, this.style());\n    this.setAttribute(el, 'builder-parent-id', this.builderParentId());\n    this.setAttribute(el, 'builder-path', this.builderPath());\n    this.setAttribute(el, 'builder-model', this.builderModel());\n    this.setAttribute(el, 'builder-content-id', this.builderContentId());\n    this.setAttribute(el, 'hidden', this.hidden());\n    this.setAttribute(el, 'aria-hidden', this.ariaHidden());\n  }\n\n  ngOnChanges(changes) {\n    const el = this.v()?.nativeElement;\n    if (!el) {\n      return;\n    }\n\n    if (Object.keys(changes).length === 0) {\n      return;\n    }\n\n    if (\n      changes.attributes &&\n      JSON.stringify(changes.attributes.currentValue) !==\n        JSON.stringify(changes.attributes.previousValue)\n    ) {\n      this.setAttributes(\n        el,\n        this.attributes(),\n        changes.attributes.currentValue\n      );\n    }\n    if (\n      changes.actionAttributes &&\n      Object.keys(changes.actionAttributes.currentValue).length > 0\n    ) {\n      this.setAttributes(\n        el,\n        this.actionAttributes(),\n        changes.actionAttributes.currentValue\n      );\n    }\n    if (changes.showContentProps) {\n      this.setAttributes(\n        el,\n        this.showContentProps(),\n        changes.showContentProps.currentValue\n      );\n    }\n    if (changes.classProp || changes.className) {\n      this.setAttribute(\n        el,\n        'class',\n        [this.classProp() ?? '', this.className() ?? ''].join(' ').trim()\n      );\n    }\n    if (changes.style) this.handleStyleProp(el, this.style());\n    if (changes.builderParentId)\n      this.setAttribute(el, 'builder-parent-id', this.builderParentId());\n    if (changes.builderPath)\n      this.setAttribute(el, 'builder-path', this.builderPath());\n    if (changes.builderModel)\n      this.setAttribute(el, 'builder-model', this.builderModel());\n    if (changes.builderContentId)\n      this.setAttribute(el, 'builder-content-id', this.builderContentId());\n    if (changes.hidden) this.setAttribute(el, 'hidden', this.hidden());\n    if (changes.ariaHidden)\n      this.setAttribute(el, 'aria-hidden', this.ariaHidden());\n  }\n\n  private setAttributes(el: any, value: any, changes?: any) {\n    if (!el) return;\n\n    const target = changes ? changes : value;\n\n    if (!target) return;\n\n    Object.keys(target).forEach((key) => {\n      if (key.startsWith('on')) {\n        if (this._listenerFns.has(key)) {\n          this._listenerFns.get(key)!();\n        }\n        this._listenerFns.set(\n          key,\n          this.renderer.listen(\n            el,\n            key.replace('on', '').toLowerCase(),\n            target[key]\n          )\n        );\n      } else {\n        this.renderer.setAttribute(el, key, target[key] ?? '');\n      }\n    });\n  }\n\n  private setAttribute(el: HTMLElement, key: string, value: any) {\n    if (value) {\n      this.renderer.setAttribute(el, key, value);\n    }\n  }\n\n  private handleStyleProp(el: HTMLElement, style: any) {\n    if (!style) return;\n    if (typeof style === 'object') {\n      Object.entries(style).forEach(([key, value]) => {\n        this.renderer.setStyle(el, key, value);\n      });\n    } else {\n      this.renderer.setAttribute(el, 'style', style);\n    }\n  }\n\n  ngOnDestroy() {\n    this._listenerFns.forEach((fn) => fn());\n  }\n}\n","export const camelToKebabCase = (str?: string) => str ? str.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g, '$1-$2').toLowerCase() : ''","import { TARGET } from '../../constants/target';\nimport { camelToKebabCase } from '../../functions/camel-to-kebab-case';\nimport type { BuilderAnimation } from '../../types/builder-block';\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nfunction 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    // eslint-disable-next-line @typescript-eslint/no-this-alias\n    context = this;\n    // eslint-disable-next-line prefer-rest-params\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}\nfunction assign(target: object, ..._args: any[]) {\n  const to = Object(target);\n  for (let index = 1; index < arguments.length; index++) {\n    // eslint-disable-next-line prefer-rest-params\n    const nextSource = arguments[index];\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}\nexport function bindAnimations(animations: BuilderAnimation[]) {\n  if (TARGET === 'reactNative') {\n    return;\n  }\n  for (const animation of animations) {\n    switch (animation.trigger) {\n      case 'pageLoad':\n        triggerAnimation(animation);\n        break;\n      case 'scrollInView':\n        bindScrollInViewAnimation(animation);\n        break;\n    }\n  }\n}\nfunction warnElementNotPresent(id: string) {\n  console.warn(`Cannot animate element: element with ID ${id} not found!`);\n}\nfunction augmentAnimation(animation: BuilderAnimation, element: HTMLElement) {\n  const stylesUsed = 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 as any)] = computedStyle[style];\n      }\n    }\n  }\n}\nfunction getAllStylesUsed(animation: BuilderAnimation) {\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}\nexport function triggerAnimation(animation: BuilderAnimation) {\n  // TODO: do for ALL elements\n  const elements = (Array.prototype.slice.call(document.getElementsByClassName(animation.elementId || animation.id || '')) as HTMLElement[]);\n  if (!elements.length) {\n    warnElementNotPresent(animation.elementId || animation.id || '');\n    return;\n  }\n  Array.from(elements).forEach(element => {\n    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 ${camelToKebabCase(animation.easing)}`;\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// TODO: unbind on element remove\nexport function bindScrollInViewAnimation(animation: BuilderAnimation) {\n  // TODO: apply to ALL matching elements\n  const elements = (Array.prototype.slice.call(document.getElementsByClassName(animation.elementId || animation.id || '')) as HTMLElement[]);\n  if (!elements.length) {\n    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    augmentAnimation(animation, element);\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 (animation.repeat && triggered && !pendingAnimation && !isScrolledIntoView(element)) {\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, {\n      leading: false\n    });\n\n    // TODO: fully in view or partially\n    function isScrolledIntoView(elem: HTMLElement) {\n      const rect = elem.getBoundingClientRect();\n      const windowHeight = window.innerHeight;\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 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    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 ${camelToKebabCase(animation.easing)}`;\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, ({\n      capture: true,\n      passive: true\n    } as any));\n\n    // Do an initial check\n    immediateOnScroll();\n  });\n}","const TEXT_STYLE_KEYS = ['color', 'whiteSpace', 'direction', 'hyphens', 'overflowWrap'];\n\n/**\n * Check if the key represent a CSS style property that applies to text\n * See MDN docs for refrence of what properties apply to text.\n * https://developer.mozilla.org/en-US/docs/Learn/CSS/Styling_text/Fundamentals#summary\n */\nconst isTextStyle = (key: string) => {\n  return TEXT_STYLE_KEYS.includes(key) || key.startsWith('font') || key.startsWith('text') || key.startsWith('letter') || key.startsWith('line') || key.startsWith('word') || key.startsWith('writing');\n};\n\n/**\n * Extract styles that apply to text from a style object.\n */\nexport const extractTextStyles = (styles: Partial<CSSStyleDeclaration>) => {\n  const textStyles: Partial<CSSStyleDeclaration> = {};\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  Object.entries(styles).forEach(([key, value]: [any, any]) => {\n    if (isTextStyle(key)) {\n      textStyles[key] = value;\n    }\n  });\n  return textStyles;\n}","import { camelToKebabCase } from '../functions/camel-to-kebab-case';\nimport { checkIsDefined } from './nullable';\nexport const convertStyleMapToCSSArray = (style: Partial<CSSStyleDeclaration>): string[] => {\n  const cssProps = Object.entries(style).map(([key, value]) => {\n    if (typeof value === 'string') {\n      return `${camelToKebabCase(key)}: ${value};`;\n    } else {\n      return undefined;\n    }\n  });\n  return cssProps.filter(checkIsDefined);\n};\nexport const convertStyleMapToCSS = (style: Partial<CSSStyleDeclaration>): string => convertStyleMapToCSSArray(style).join('\\n');\nexport const createCssClass = ({\n  mediaQuery,\n  className,\n  styles\n}: {\n  mediaQuery?: string;\n  className: string;\n  styles: Partial<CSSStyleDeclaration>;\n}) => {\n  const cssClass = `.${className} {\n    ${convertStyleMapToCSS(styles)}\n  }`;\n  if (mediaQuery) {\n    return `${mediaQuery} {\n      ${cssClass}\n    }`;\n  } else {\n    return cssClass;\n  }\n}","import type { BuilderContextInterface } from '../context/types';\nimport type { BuilderBlock } from '../types/builder-block';\nexport function transformStyleProperty({\n  style\n}: {\n  style: Partial<CSSStyleDeclaration>;\n  context: BuilderContextInterface;\n  block: BuilderBlock;\n}) {\n  return style;\n}","import { TARGET } from '../constants/target';\nimport type { BuilderContextInterface } from '../context/types';\nimport { convertStyleMapToCSSArray } from '../helpers/css';\nimport type { BuilderBlock } from '../types/builder-block';\nimport { transformStyleProperty } from './transform-style-property';\nexport const getStyle = ({\n  block,\n  context\n}: {\n  block: BuilderBlock;\n  context: BuilderContextInterface;\n}) => {\n  return mapStyleObjToStrIfNeeded(transformStyleProperty({\n    style: block.style || {},\n    context,\n    block\n  }));\n};\n\n/**\n * Svelte does not support style attribute as an object so we need to flatten it.\n *\n * Additionally, Svelte, Vue and other frameworks use kebab-case styles, so we need to convert them.\n */\nexport function mapStyleObjToStrIfNeeded(style: Partial<CSSStyleDeclaration>): string | Partial<CSSStyleDeclaration> {\n  switch (TARGET) {\n    case 'svelte':\n    case 'vue':\n    case 'solid':\n    case 'angular':\n      return convertStyleMapToCSSArray(style).join(' ');\n    case 'qwik':\n    case 'reactNative':\n    case 'react':\n    case 'rsc':\n      return style;\n  }\n}","import type { BuilderContextInterface, RegisteredComponent, RegisteredComponents } from '../../context/types';\nimport { evaluate } from '../../functions/evaluate/index';\nimport { extractTextStyles } from '../../functions/extract-text-styles';\nimport { getStyle } from '../../functions/get-style';\nimport type { BuilderBlock } from '../../types/builder-block';\nimport type { RepeatData } from './types';\nconst checkIsComponentRestricted = (component: RegisteredComponent | null | undefined, model: string) => {\n  if (!component) return true;\n  if (!model) return false;\n  return component.models && component.models.length > 0 && !component.models.includes(model);\n};\nexport const getComponent = ({\n  block,\n  registeredComponents,\n  model\n}: {\n  block: BuilderBlock;\n  registeredComponents: RegisteredComponents;\n  model: string;\n}) => {\n  const componentName = block.component?.name;\n  if (!componentName) {\n    return null;\n  }\n  const ref = registeredComponents[componentName];\n  if (!ref || checkIsComponentRestricted(ref, model)) {\n    // TODO: Public doc page with more info about this message\n    console.warn(`\n      Could not find a registered component named \"${componentName}\". \n      If you registered it, is the file that registered it imported by the file that needs to render it?`);\n    return undefined;\n  } else {\n    return ref;\n  }\n};\nexport const getRepeatItemData = ({\n  block,\n  context\n}: {\n  block: BuilderBlock;\n  context: BuilderContextInterface;\n}): RepeatData[] | undefined => {\n  /**\n   * we don't use `state.processedBlock` here because the processing done within its logic includes evaluating the block's bindings,\n   * which will not work if there is a repeat.\n   */\n  const {\n    repeat,\n    ...blockWithoutRepeat\n  } = block;\n  if (!repeat?.collection) {\n    return undefined;\n  }\n  const itemsArray = evaluate({\n    code: repeat.collection,\n    localState: context.localState,\n    rootState: context.rootState,\n    rootSetState: context.rootSetState,\n    context: context.context\n  });\n  if (!Array.isArray(itemsArray)) {\n    return undefined;\n  }\n  const collectionName = repeat.collection.split('.').pop();\n  const itemNameToUse = repeat.itemName || (collectionName ? collectionName + 'Item' : 'item');\n  const repeatArray = itemsArray.map<RepeatData>((item, index) => ({\n    context: {\n      ...context,\n      localState: {\n        ...context.localState,\n        $index: index,\n        $item: item,\n        [itemNameToUse]: item,\n        [`$${itemNameToUse}Index`]: index\n      }\n    },\n    block: blockWithoutRepeat\n  }));\n  return repeatArray;\n};\nexport const getInheritedStyles = ({\n  block,\n  context\n}: {\n  block: BuilderBlock;\n  context: BuilderContextInterface;\n}) => {\n  const style = getStyle({\n    block,\n    context\n  });\n  if (!style) {\n    return {};\n  }\n  return extractTextStyles(style);\n};\nexport const provideLinkComponent = (block: RegisteredComponent | null | undefined, linkComponent: any) => {\n  if (block?.shouldReceiveBuilderProps?.builderLinkComponent) return {\n    builderLinkComponent: linkComponent\n  };\n  return {};\n};\nexport const provideRegisteredComponents = (block: RegisteredComponent | null | undefined, registeredComponents: RegisteredComponents, model: string) => {\n  if (block?.shouldReceiveBuilderProps?.builderComponents) {\n    const filteredRegisteredComponents = Object.fromEntries(Object.entries(registeredComponents).filter(([_, component]) => {\n      return !checkIsComponentRestricted(component, model);\n    }));\n    return {\n      builderComponents: filteredRegisteredComponents\n    };\n  }\n  return {};\n};\nexport const provideBuilderBlock = (block: RegisteredComponent | null | undefined, builderBlock: BuilderBlock) => {\n  if (block?.shouldReceiveBuilderProps?.builderBlock) return {\n    builderBlock\n  };\n  return {};\n};\nexport const provideBuilderContext = (block: RegisteredComponent | null | undefined, context: BuilderContextInterface) => {\n  if (block?.shouldReceiveBuilderProps?.builderContext) return {\n    builderContext: context\n  };\n  return {};\n};\nexport const generateKey = (index: number) => {\n  //This does not handle the case in Qwik\n  return index.toString();\n}","function capitalizeFirstLetter(string: string) {\n  return string.charAt(0).toUpperCase() + string.slice(1);\n}\nexport const getEventHandlerName = (key: string) => `on${capitalizeFirstLetter(key)}`","import type { BuilderContextInterface } from '../context/types';\nimport type { BuilderBlock } from '../types/builder-block';\nimport type { TrackingContext } from './evaluate/helpers';\nimport { evaluate } from './evaluate/index';\ntype Options = {\n  block: BuilderBlock;\n  trackingContext?: TrackingContext;\n} & Pick<BuilderContextInterface, 'localState' | 'context' | 'rootState' | 'rootSetState'>;\ntype EventHandler = (event: Event) => any;\nexport const createEventHandler = (value: string, options: Options): EventHandler => event => evaluate({\n  code: value,\n  context: options.context,\n  localState: options.localState,\n  rootState: options.rootState,\n  rootSetState: options.rootSetState,\n  event,\n  isExpression: false,\n  trackingContext: options.trackingContext\n})","import { TARGET } from '../constants/target';\nimport type { BuilderContextInterface } from '../context/types';\nimport type { BuilderBlock } from '../types/builder-block';\nimport type { TrackingContext } from './evaluate/helpers';\nimport { getEventHandlerName } from './event-handler-name';\nimport { createEventHandler } from './get-block-actions-handler';\ntype Actions = {\n  [index: string]: (event: Event) => any;\n};\nexport function getBlockActions(options: {\n  block: BuilderBlock;\n  stripPrefix?: boolean;\n  trackingContext?: TrackingContext;\n} & Pick<BuilderContextInterface, 'localState' | 'context' | 'rootState' | 'rootSetState'>): Actions {\n  const obj: Actions = {};\n  const optionActions = options.block.actions ?? {};\n  for (const key in optionActions) {\n    // eslint-disable-next-line no-prototype-builtins\n    if (!optionActions.hasOwnProperty(key)) {\n      continue;\n    }\n    const value = optionActions[key];\n    let eventHandlerName = getEventHandlerName(key);\n    if (options.stripPrefix) {\n      switch (TARGET) {\n        case 'vue':\n          eventHandlerName = eventHandlerName.replace('v-on:', '');\n          break;\n        case 'svelte':\n          eventHandlerName = eventHandlerName.replace('on:', '');\n          break;\n      }\n    }\n    obj[eventHandlerName] = createEventHandler(value, options);\n  }\n  return obj;\n}","import type { BuilderContextInterface } from '../context/types';\nimport type { BuilderBlock } from '../types/builder-block';\nexport function transformBlockProperties<T>({\n  properties\n}: {\n  properties: T;\n  context: BuilderContextInterface;\n  block: BuilderBlock;\n}) {\n  return properties;\n}","import type { BuilderContextInterface } from '../context/types';\nimport type { BuilderBlock } from '../types/builder-block';\nimport { getClassPropName } from './get-class-prop-name';\nimport { getStyle } from './get-style';\nimport { transformBlockProperties } from './transform-block-properties';\nconst extractRelevantRootBlockProperties = (block: BuilderBlock) => {\n  // currently we are only spreading the `href` property\n  // TO-DO: potentially spread all properties from block, but only if they are not already defined by BuilderBlock\n\n  // const {\n  //   '@type': _type,\n  //   '@version': _version,\n  //   id: _id,\n  //   tagName: _tagName,\n  //   layerName: _layerName,\n  //   groupLocked: _groupLocked,\n  //   layerLocked: _layerLocked,\n  //   class: _class,\n  //   children: _children,\n  //   responsiveStyles: _responsiveStyles,\n  //   component: _component,\n  //   bindings: _bindings,\n  //   meta: _meta,\n  //   actions: _actions,\n  //   properties: _properties,\n  //   code: _code,\n  //   repeat: _repeat,\n  //   animations: _animations,\n  //   style: _style,\n  //   hide: _hide,\n  //   show: _show,\n  //   // anything set by dynamic bindings outside of predefined `BuilderBlock` properties\n  //   ...remainingBlockProperties\n  // } = block;\n\n  return {\n    href: (block as any).href\n  };\n};\nexport function getBlockProperties({\n  block,\n  context\n}: {\n  block: BuilderBlock;\n  context: BuilderContextInterface;\n}) {\n  const properties = {\n    ...extractRelevantRootBlockProperties(block),\n    ...block.properties,\n    'builder-id': block.id,\n    style: getStyle({\n      block,\n      context\n    }),\n    [getClassPropName()]: [block.id, 'builder-block', block.class, block.properties?.class].filter(Boolean).join(' ')\n  };\n  return transformBlockProperties({\n    properties,\n    context,\n    block\n  });\n}","import { Component, input, effect, InputSignal } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\ntype BlockWrapperProps = {\n  Wrapper: string;\n  block: BuilderBlock;\n  context: BuilderContextInterface;\n  children?: any;\n};\n\n/**\n * This component renders a block's wrapper HTML element (from the block's `tagName` property).\n */\n\nimport type { BuilderContextInterface } from \"../../../context/types\";\nimport { getBlockActions } from \"../../../functions/get-block-actions\";\nimport { getBlockProperties } from \"../../../functions/get-block-properties\";\nimport type { BuilderBlock } from \"../../../types/builder-block\";\nimport DynamicRenderer from \"../../dynamic-renderer/dynamic-renderer\";\n\n@Component({\n  selector: \"block-wrapper\",\n  standalone: true,\n  imports: [CommonModule, DynamicRenderer],\n  template: `\n    <dynamic-renderer\n      [TagName]=\"Wrapper()\"\n      [attributes]=\"getBlockProperties({\n          block: block(),\n          context: context()\n        })\"\n      [actionAttributes]=\"getBlockActions({\n          block: block(),\n          rootState: context().rootState,\n          rootSetState: context().rootSetState,\n          localState: context().localState,\n          context: context().context,\n          stripPrefix: true,\n          trackingContext: {\n            apiKey: context().apiKey,\n            canTrack: context().canTrack ?? true,\n            contentId: context().content?.id,\n            variationId: context().content?.testVariationId\n          }\n        })\"\n    >\n      <ng-content></ng-content>\n    </dynamic-renderer>\n  `,\n  styles: `:host { display: contents; }`,\n})\nexport default class BlockWrapper {\n  protected readonly getBlockProperties = getBlockProperties;\n  protected readonly getBlockActions = getBlockActions;\n\n  Wrapper: InputSignal<BlockWrapperProps[\"Wrapper\"]> =\n    input<BlockWrapperProps[\"Wrapper\"]>();\n  block: InputSignal<BlockWrapperProps[\"block\"]> =\n    input<BlockWrapperProps[\"block\"]>();\n  context: InputSignal<BlockWrapperProps[\"context\"]> =\n    input<BlockWrapperProps[\"context\"]>();\n\n  constructor() {}\n}\n","import type { Search } from '../helpers/search/search';\nimport { getSearchString } from '../helpers/search/search';\nimport { isBrowser } from './is-browser';\n\n/**\n * Checks the current URL's search parameters to see if it is attempting to\n * preview Builder Content.\n *\n * When called on the client, it uses `window.location.search`.\n * When called on the server (SSR), it requires a `search` argument.\n *\n * @param search - The search parameters to check. Can be a URL string (containing the search parameters), `URLSearchParams`, or a key-value object containing the search parameters.\n * @returns `true` if the current page is being previewed, `false` otherwise.\n */\nexport function isPreviewing(search?: Search) {\n  const searchToUse = search || (isBrowser() ? window.location.search : undefined);\n\n  /**\n   * If this function is called on the server without an explicit `search` argument,\n   * then it can't check if the user is previewing, and will return `false`.\n   */\n  if (!searchToUse) {\n    return false;\n  }\n  const normalizedSearch = getSearchString(searchToUse);\n  return Boolean(normalizedSearch.indexOf('builder.preview=') !== -1);\n}","import type { ComponentInfo } from '../types/components';\nexport const createRegisterComponentMessage = (info: ComponentInfo) => ({\n  type: 'builder.registerComponent',\n  data: serializeIncludingFunctions(info)\n});\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nconst serializeFn = (fnValue: Function) => {\n  const fnStr = fnValue.toString().trim();\n\n  // we need to account for a few different fn syntaxes:\n  // 1. `function name(args) => {code}`\n  // 2. `name(args) => {code}`\n  // 3. `(args) => {}`\n  // 4. `args => {}`\n  // 5. `async function(args) {code}`\n  // 6. `async (args) => {}`\n  // 7. `async args => {}`\n  const isArrowWithoutParens = /^[a-zA-Z0-9_]+\\s*=>/i.test(fnStr);\n  const appendFunction = !fnStr.startsWith('function') && !fnStr.startsWith('async') && !fnStr.startsWith('(') && !isArrowWithoutParens;\n  return `return (${appendFunction ? 'function ' : ''}${fnStr}).apply(this, arguments)`;\n};\nexport function serializeIncludingFunctions(info: ComponentInfo) {\n  return JSON.parse(JSON.stringify(info, (key, value) => {\n    if (typeof value === 'function') {\n      return serializeFn(value);\n    }\n    return value;\n  }));\n}","import type { BuilderBlock } from '../types/builder-block';\nimport type { DeepPartial } from '../types/deep-partial';\nimport type { Input } from '../types/input';\nimport { isBrowser } from './is-browser';\nimport { serializeIncludingFunctions } from './register-component';\nexport interface Action {\n  name: string;\n  inputs?: readonly Input[];\n  returnType?: Input;\n  action: (options: Record<string, any>) => string;\n  /**\n   * Is an action for expression (e.g. calculating a binding like a formula\n   * to fill a value based on locale) or a function (e.g. something to trigger\n   * on an event like add to cart) or either (e.g. a custom code block)\n   */\n  kind: 'expression' | 'function' | 'any';\n  /**\n   * Globally unique ID for an action, e.g. \"@builder.io:setState\"\n   */\n  id: string;\n}\nexport interface InsertMenuItem {\n  name: string;\n  icon?: string;\n  item: DeepPartial<BuilderBlock>;\n}\nexport interface InsertMenuConfig {\n  name: string;\n  priority?: number;\n  persist?: boolean;\n  advanced?: boolean;\n  items: InsertMenuItem[];\n}\nconst registry: {\n  [key: string]: any[];\n} = {};\nexport function register(type: 'insertMenu', info: InsertMenuConfig): void;\nexport function register(type: string, info: any): void;\nexport function register(type: string, info: any) {\n  if (type === 'plugin') {\n    info = serializeIncludingFunctions(info);\n  }\n  let typeList = registry[type];\n  if (!typeList) {\n    typeList = registry[type] = [];\n  }\n  typeList.push(info);\n  if (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}\nexport function registerAction(action: Action) {\n  if (isBrowser()) {\n    const actionClone = JSON.parse(JSON.stringify(action));\n    if (action.action) {\n      actionClone.action = action.action.toString();\n    }\n    window.parent?.postMessage({\n      type: 'builder.registerAction',\n      data: actionClone\n    }, '*');\n  }\n}","import { isBrowser } from './is-browser';\nconst settings: Settings = {};\nexport type Settings = {\n  customInsertMenu?: boolean;\n};\nexport function setEditorSettings(newSettings: Settings) {\n  if (isBrowser()) {\n    Object.assign(settings, newSettings);\n    const message = {\n      type: 'builder.settingsChange',\n      data: settings\n    };\n    parent.postMessage(message, '*');\n  }\n}","import type { QueryObject } from '../../helpers/search/search';\nimport { normalizeSearchParams } from '../../helpers/search/search';\nimport { isBrowser } from '../is-browser';\nconst BUILDER_SEARCHPARAMS_PREFIX = 'builder.';\nconst BUILDER_OPTIONS_PREFIX = 'options.';\n\n/**\n * Receives a `URLSearchParams` object or a regular query object, and returns\n * the subset of query params that are relevant to the Builder SDK.\n *\n * Outputs a key-value object to be passed to `fetchOneEntry` or `fetchEntries`\n * functions as the `options` argument.\n *\n * NOTE: This function is generally not needed. Instead, it is recommended to use `isPreviewing()`\n * to check if the current page requires previewed content.\n *\n * @returns\n */\nexport const getBuilderSearchParams = (_options: QueryObject | URLSearchParams | undefined) => {\n  if (!_options) {\n    return {};\n  }\n  const options = normalizeSearchParams(_options);\n  const newOptions: QueryObject = {};\n  Object.keys(options).forEach(key => {\n    if (key.startsWith(BUILDER_SEARCHPARAMS_PREFIX)) {\n      const trimmedKey = key.replace(BUILDER_SEARCHPARAMS_PREFIX, '').replace(BUILDER_OPTIONS_PREFIX, '');\n      newOptions[trimmedKey] = options[key];\n    }\n  });\n  return newOptions;\n};\nexport const getBuilderSearchParamsFromWindow = () => {\n  if (!isBrowser()) {\n    return {};\n  }\n  const searchParams = new URLSearchParams(window.location.search);\n  return getBuilderSearchParams(searchParams);\n}","const DEFAULT_TRUSTED_HOSTS = ['*.beta.builder.io', 'beta.builder.io', 'builder.io', 'localhost', 'qa.builder.io'];\nexport function isFromTrustedHost(trustedHosts: string[] | undefined, e: {\n  origin: string;\n}): boolean {\n  if (!e.origin.startsWith('http') && !e.origin.startsWith('https')) {\n    return false;\n  }\n  const url = new URL(e.origin),\n    hostname = url.hostname;\n  return (trustedHosts || DEFAULT_TRUSTED_HOSTS).findIndex(trustedHost => trustedHost.startsWith('*.') ? hostname.endsWith(trustedHost.slice(1)) : trustedHost === hostname) > -1;\n}","import { SDK_VERSION } from '../constants/sdk-version';\nimport { TARGET } from '../constants/target';\nimport { isBrowser } from '../functions/is-browser';\nimport { isFromTrustedHost } from '../functions/is-from-trusted-host';\nlet isSetupForEditing = false;\nexport const setupBrowserForEditing = (options: {\n  modelName: string;\n  apiKey: string;\n  enrich?: boolean;\n  includeRefs?: boolean;\n  locale?: string;\n  trustedHosts?: string[];\n}) => {\n  if (isSetupForEditing) {\n    return;\n  }\n  isSetupForEditing = true;\n  if (isBrowser()) {\n    window.parent?.postMessage({\n      type: 'builder.sdkInfo',\n      data: {\n        target: TARGET,\n        version: SDK_VERSION,\n        supportsPatchUpdates: false,\n        // Supports builder-model=\"...\" attribute which is needed to\n        // scope our '+ add block' button styling\n        supportsAddBlockScoping: true,\n        supportsCustomBreakpoints: true,\n        modelName: options.modelName,\n        apiKey: options.apiKey,\n        supportsXSmallBreakpoint: TARGET === 'reactNative' ? false : true,\n        blockLevelPersonalization: true\n      }\n    }, '*');\n    window.parent?.postMessage({\n      type: 'builder.updateContent',\n      data: {\n        options\n      }\n    }, '*');\n    window.addEventListener('message', (event: MessageEvent) => {\n      if (!isFromTrustedHost(options.trustedHosts, event)) {\n        return;\n      }\n      const {\n        data\n      } = event;\n      if (!data?.type) {\n        return;\n      }\n      switch (data.type) {\n        case 'builder.evaluate':\n          {\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              // eslint-disable-next-line prefer-spread\n              result = fn.apply(null, args);\n            } catch (err) {\n              error = (err as Error);\n            }\n            if (error) {\n              window.parent?.postMessage({\n                type: 'builder.evaluateError',\n                data: {\n                  id,\n                  error: error.message\n                }\n              }, '*');\n            } else {\n              if (result && typeof result.then === 'function') {\n                (result as Promise<any>).then(finalResult => {\n                  window.parent?.postMessage({\n                    type: 'builder.evaluateResult',\n                    data: {\n                      id,\n                      result: finalResult\n                    }\n                  }, '*');\n                }).catch(console.error);\n              } else {\n                window.parent?.postMessage({\n                  type: 'builder.evaluateResult',\n                  data: {\n                    result,\n                    id\n                  }\n                }, '*');\n              }\n            }\n            break;\n          }\n      }\n    });\n  }\n}","import type { ContentProps } from '../components/content/content.types';\nimport { isBrowser } from '../functions/is-browser';\nimport { isFromTrustedHost } from '../functions/is-from-trusted-host';\nimport { setupBrowserForEditing } from '../scripts/init-editing';\nimport type { BuilderAnimation } from '../types/builder-block';\nimport type { BuilderContent } from '../types/builder-content';\nimport type { Dictionary } from '../types/typescript';\nimport { logger } from './logger';\nexport type EditType = 'client' | 'server' | undefined;\ntype ContentListener = Required<Pick<ContentProps, 'model' | 'trustedHosts'>> & {\n  callbacks: {\n    contentUpdate: (updatedContent: BuilderContent, editType?: EditType) => void;\n    stateUpdate: (newState: Dictionary<string>, editType?: EditType) => void;\n    animation: (updatedContent: BuilderAnimation) => void;\n    configureSdk: (updatedContent: any) => void;\n  };\n};\nexport const createEditorListener = ({\n  model,\n  trustedHosts,\n  callbacks\n}: ContentListener) => {\n  return (event: MessageEvent<any>): void => {\n    if (!isFromTrustedHost(trustedHosts, event)) {\n      return;\n    }\n    const {\n      data\n    } = event;\n    if (data) {\n      switch (data.type) {\n        case 'builder.configureSdk':\n          {\n            callbacks.configureSdk(data.data);\n            break;\n          }\n        case 'builder.triggerAnimation':\n          {\n            callbacks.animation(data.data);\n            break;\n          }\n        case 'builder.resetState':\n          {\n            const messageContent = data.data;\n            const modelName = messageContent.model;\n            const newState = messageContent?.state;\n            const editType = messageContent.editType;\n            if (modelName === model && newState) {\n              callbacks.stateUpdate(newState, editType);\n            }\n            break;\n          }\n        case 'builder.contentUpdate':\n          {\n            const messageContent = data.data;\n            const key = messageContent.key || messageContent.alias || messageContent.entry || messageContent.modelName;\n            const contentData = messageContent.data;\n            const editType = messageContent.editType;\n            if (key === model) {\n              callbacks.contentUpdate(contentData, editType);\n            }\n            break;\n          }\n      }\n    }\n  };\n};\ntype SubscribeToEditor = ({\n  model,\n  apiKey,\n  callback,\n  trustedHosts\n}: {\n  /**\n   * The Builder `model` to subscribe to\n   */\n  model: string;\n  /**\n   * Builder API Key to use for the editor.\n   */\n  apiKey: string;\n  /**\n   * The callback function to call when the content is updated.\n   */\n  callback: (updatedContent: BuilderContent) => void;\n  /**\n   * List of hosts to allow editing content from.\n   */\n  trustedHosts?: string[] | undefined;\n}) => () => void;\n\n/**\n * Subscribes to the Builder editor and listens to `content` updates of a certain `model`.\n * Sends the updated `content` to the `callback` function.\n */\nexport const subscribeToEditor: SubscribeToEditor = ({\n  model,\n  apiKey,\n  callback,\n  trustedHosts\n}) => {\n  if (!isBrowser) {\n    logger.warn('`subscribeToEditor` only works in the browser. It currently seems to be running on the server.');\n    return () => {};\n  }\n  setupBrowserForEditing({\n    modelName: model,\n    apiKey\n  });\n  const listener = createEditorListener({\n    callbacks: {\n      contentUpdate: callback,\n      animation: () => {},\n      configureSdk: () => {},\n      stateUpdate: () => {}\n    },\n    model,\n    trustedHosts\n  });\n  window.addEventListener('message', listener);\n  return () => {\n    window.removeEventListener('message', listener);\n  };\n}","import { TARGET } from '../constants/target';\nimport { checkIsDefined } from '../helpers/nullable';\nimport type { BuilderContent, BuilderContentVariation } from '../types/builder-content';\nimport type { CanTrack } from '../types/can-track';\nimport type { Nullable, Overwrite } from '../types/typescript';\nimport { getCookie, getCookieSync, setCookie } from './cookie';\nimport { logger } from './logger';\nconst BUILDER_STORE_PREFIX = 'builder.tests';\nconst getContentTestKey = (id: string) => `${BUILDER_STORE_PREFIX}.${id}`;\nconst getContentVariationCookie = ({\n  contentId\n}: {\n  contentId: string;\n}) => getCookie({\n  name: getContentTestKey(contentId),\n  canTrack: true\n});\nconst getContentVariationCookieSync = ({\n  contentId\n}: {\n  contentId: string;\n}) => getCookieSync({\n  name: getContentTestKey(contentId),\n  canTrack: true\n});\nconst setContentVariationCookie = ({\n  contentId,\n  value\n}: {\n  contentId: string;\n  value: string;\n}) => setCookie({\n  name: getContentTestKey(contentId),\n  value,\n  canTrack: true\n});\ntype BuilderContentWithVariations = Overwrite<BuilderContent, Required<Pick<BuilderContent, 'variations' | 'id'>>>;\nconst checkIsBuilderContentWithVariations = (item: BuilderContent): item is BuilderContentWithVariations => checkIsDefined(item.id) && checkIsDefined(item.variations) && Object.keys(item.variations).length > 0;\n\n/**\n * Randomly assign a variation to a user\n */\nconst getRandomVariationId = ({\n  id,\n  variations\n}: BuilderContentWithVariations) => {\n  let n = 0;\n  const random = Math.random();\n\n  // loop over variations test ratios, incrementing a counter,\n  // until we find the variation that this user should be assigned to\n  for (const id in variations) {\n    const testRatio = variations[id]?.testRatio;\n    n += testRatio!;\n    if (random < n) {\n      return id;\n    }\n  }\n\n  // the variations array does not include the default variation.\n  // if we arrive here, then it means that the random number fits in the default variation bucket.\n  return id;\n};\nconst getAndSetVariantId = (args: BuilderContentWithVariations) => {\n  // if variation not found in storage, assign a random variation to this user\n  const randomVariationId = getRandomVariationId(args);\n\n  // store variation in cookies/storage\n  setContentVariationCookie({\n    contentId: args.id,\n    value: randomVariationId\n  }).catch(err => {\n    logger.error('could not store A/B test variation: ', err);\n  });\n  return randomVariationId;\n};\ntype TestFields = {\n  data?: BuilderContentVariation['data'];\n  testVariationId?: string;\n  testVariationName: string;\n};\nconst getTestFields = ({\n  item,\n  testGroupId\n}: {\n  item: BuilderContentWithVariations;\n  testGroupId: string;\n}): TestFields => {\n  const variationValue = item.variations[testGroupId];\n  if (testGroupId === item.id ||\n  // handle edge-case where `testGroupId` points to non-existing variation\n  !variationValue) {\n    return {\n      testVariationId: item.id,\n      testVariationName: 'Default'\n    };\n  } else {\n    return {\n      data: variationValue.data,\n      testVariationId: variationValue.id,\n      testVariationName: variationValue.name || (variationValue.id === item.id ? 'Default' : '')\n    };\n  }\n};\nexport const handleABTestingSync = ({\n  item,\n  canTrack\n}: {\n  item: Nullable<BuilderContent>;\n} & CanTrack): Nullable<BuilderContent> => {\n  /**\n   * We cannot SSR in React-Native.\n   */\n  if (TARGET === 'reactNative') return item;\n  if (!canTrack) {\n    return item;\n  }\n  if (!item) {\n    return undefined;\n  }\n  if (!checkIsBuilderContentWithVariations(item)) {\n    return item;\n  }\n  const testGroupId = getContentVariationCookieSync({\n    contentId: item.id\n  }) || getAndSetVariantId({\n    variations: item.variations,\n    id: item.id\n  });\n  const variationValue = getTestFields({\n    item,\n    testGroupId\n  });\n  return {\n    ...item,\n    ...variationValue\n  };\n};\nexport const handleABTesting = async ({\n  item,\n  canTrack\n}: {\n  item: BuilderContent;\n} & CanTrack): Promise<BuilderContent> => {\n  if (!canTrack) {\n    return item;\n  }\n  if (!checkIsBuilderContentWithVariations(item)) {\n    return item;\n  }\n  const cookieValue = await getContentVariationCookie({\n    contentId: item.id\n  });\n  const testGroupId = cookieValue || getAndSetVariantId({\n    variations: item.variations,\n    id: item.id\n  });\n  const variationValue = getTestFields({\n    item,\n    testGroupId\n  });\n  return {\n    ...item,\n    ...variationValue\n  };\n}","export function noSerializeWrapper(fn: () => void) {\n  return fn;\n}","import { TARGET } from '../constants/target';\nimport { isBrowser } from '../functions/is-browser';\nimport { getCookieSync, setCookie } from './cookie';\nimport { noSerializeWrapper } from './no-serialize-wrapper';\nexport interface UserAttributes {\n  [key: string]: any;\n}\nexport const USER_ATTRIBUTES_COOKIE_NAME = 'builder.userAttributes';\nexport function createUserAttributesService() {\n  let canTrack = true;\n  const subscribers = new Set<(attrs: UserAttributes) => void>();\n  return {\n    setUserAttributes(newAttrs: UserAttributes) {\n      if (!isBrowser()) {\n        return;\n      }\n      const userAttributes: UserAttributes = {\n        ...this.getUserAttributes(),\n        ...newAttrs\n      };\n      setCookie({\n        name: USER_ATTRIBUTES_COOKIE_NAME,\n        value: JSON.stringify(userAttributes),\n        canTrack\n      });\n      subscribers.forEach(callback => callback(userAttributes));\n    },\n    getUserAttributes() {\n      if (!isBrowser()) {\n        return {};\n      }\n      return JSON.parse(getCookieSync({\n        name: USER_ATTRIBUTES_COOKIE_NAME,\n        canTrack\n      }) || '{}');\n    },\n    subscribeOnUserAttributesChange(callback: (attrs: UserAttributes) => void, {\n      fireImmediately\n    }: {\n      fireImmediately?: boolean;\n    } = {}) {\n      subscribers.add(callback);\n      if (fireImmediately) {\n        callback(this.getUserAttributes());\n      }\n      return noSerializeWrapper(function () {\n        subscribers.delete(callback);\n      });\n    },\n    setCanTrack(value: boolean) {\n      canTrack = value;\n    }\n  };\n}\nlet _userAttributesService: ReturnType<typeof createUserAttributesService>;\nif (isBrowser() && TARGET === 'qwik') {\n  if (!(window as any).__BUILDER_USER_ATTRIBUTES_SERVICE__) {\n    (window as any).__BUILDER_USER_ATTRIBUTES_SERVICE__ = createUserAttributesService();\n  }\n  _userAttributesService = (window as any).__BUILDER_USER_ATTRIBUTES_SERVICE__;\n} else {\n  _userAttributesService = createUserAttributesService();\n}\nexport const userAttributesService = _userAttributesService;\nexport const setClientUserAttributes = (attributes: UserAttributes) => {\n  userAttributesService.setUserAttributes(attributes);\n}","import { checkIsDefined } from './nullable';\nimport { userAttributesService } from './user-attributes';\nexport const getDefaultCanTrack = (canTrack?: boolean) => {\n  const result = checkIsDefined(canTrack) ? canTrack : true;\n  userAttributesService.setCanTrack(result);\n  return result;\n}","import type { BuilderContent } from '../../types/builder-content';\nexport function getPreviewContent(_searchParams: URLSearchParams): BuilderContent | undefined {\n  return undefined;\n}","type Global = typeof global | typeof window | typeof self | typeof globalThis;\nexport function getGlobalThis(): Global {\n  if (typeof globalThis !== 'undefined') {\n    return globalThis;\n  }\n  if (typeof window !== 'undefined') {\n    return window;\n  }\n  if (typeof global !== 'undefined') {\n    return global;\n  }\n  if (typeof self !== 'undefined') {\n    return self;\n  }\n  return globalThis;\n}","import { getGlobalThis } from './get-global-this';\nfunction getFetch(): typeof global.fetch {\n  const globalFetch: typeof global.fetch = getGlobalThis().fetch;\n  if (typeof globalFetch === 'undefined') {\n    console.warn(`Builder SDK could not find a global fetch function. Make sure you have a polyfill for fetch in your project. \n      For more information, read https://github.com/BuilderIO/this-package-uses-fetch`);\n    throw new Error('Builder SDK could not find a global `fetch` function');\n  }\n  return globalFetch;\n}\nexport const fetch = getFetch()","/**\n * Convert deep object to a flat object with dots\n *\n * { foo: { bar: 'baz' }} -> { 'foo.bar': 'baz' }\n */\nexport function flatten<T extends Record<string, any>>(object: T, path: string | null = null, separator = '.'): T {\n  return Object.keys(object).reduce((acc: T, key: string): T => {\n    const value = object[key];\n    const newPath = [path, key].filter(Boolean).join(separator);\n    const isObject = [typeof value === 'object', value !== null, !(Array.isArray(value) && value.length === 0)].every(Boolean);\n    return isObject ? {\n      ...acc,\n      ...flatten(value, newPath, separator)\n    } : {\n      ...acc,\n      [newPath]: value\n    };\n  }, ({} as T));\n}\n\n/**\n * Flatten a nested MongoDB query object into a flat object with dot-separated keys.\n * $ keys are not flattened and are left as is.\n *\n * { foo: { bar: { $gt: 5 }}} -> { 'foo.bar': { '$gt': 5 }}\n * { foo: {'bar.id': { $elemMatch: { 'baz.id': { $in: ['abc', 'bcd'] }}}}} -> { 'foo.bar.id': { '$elemMatch': { 'baz.id': { '$in': ['abc', 'bcd'] }}}}\n */\nexport function flattenMongoQuery(obj: any, _current?: any, _res: any = {}): {\n  [key: string]: string;\n} {\n  for (const key in obj) {\n    const value = obj[key];\n    const newKey = _current ? _current + '.' + key : key;\n    if (value && typeof value === 'object' && !Array.isArray(value) && !Object.keys(value).find(item => item.startsWith('$'))) {\n      flattenMongoQuery(value, newKey, _res);\n    } else {\n      _res[newKey] = value;\n    }\n  }\n  return _res;\n}\n\n/**\n * Unflatten a flat object with dot-separated keys back into a nested object.\n *\n * { 'foo.bar': 'baz' } -> { foo: { bar: 'baz' }}\n */\nexport function unflatten(obj: any): any {\n  const result: any = {};\n  for (const key in obj) {\n    const parts = key.split('.');\n    let current = result;\n    for (let i = 0; i < parts.length; i++) {\n      const part = parts[i];\n      if (i === parts.length - 1) {\n        current[part] = obj[key];\n      } else {\n        current[part] = current[part] || {};\n        current = current[part];\n      }\n    }\n  }\n  return result;\n}","export type ApiVersion = 'v3';\nexport const DEFAULT_API_VERSION: ApiVersion = 'v3'","import { flatten, flattenMongoQuery, unflatten } from '../../helpers/flatten';\nimport { normalizeSearchParams } from '../../helpers/search/search';\nimport { DEFAULT_API_VERSION } from '../../types/api-version';\nimport { getBuilderSearchParamsFromWindow } from '../get-builder-search-params/index';\nimport { isBrowser } from '../is-browser';\nimport type { GetContentOptions } from './types';\nconst isPositiveNumber = (thing: unknown) => typeof thing === 'number' && !isNaN(thing) && thing >= 0;\nexport const generateContentUrl = (options: GetContentOptions): URL => {\n  const {\n    limit = 30,\n    userAttributes,\n    query,\n    model,\n    apiKey,\n    enrich,\n    locale,\n    apiVersion = DEFAULT_API_VERSION,\n    fields,\n    omit,\n    offset,\n    cacheSeconds,\n    staleCacheSeconds,\n    sort,\n    includeUnpublished,\n    apiHost\n  } = options;\n  if (!apiKey) {\n    throw new Error('Missing API key');\n  }\n  if (!['v3'].includes(apiVersion)) {\n    throw new Error(`Invalid apiVersion: expected 'v3', received '${apiVersion}'`);\n  }\n\n  // if we are fetching an array of content, we disable noTraverse for perf reasons.\n  const noTraverse = limit !== 1;\n  const baseUrl = apiHost || 'https://cdn.builder.io';\n  const url = new URL(`${baseUrl}/api/${apiVersion}/content/${model}`);\n  url.searchParams.set('apiKey', apiKey);\n  url.searchParams.set('limit', String(limit));\n  url.searchParams.set('noTraverse', String(noTraverse));\n  url.searchParams.set('includeRefs', String(true));\n  if (locale) {\n    url.searchParams.set('locale', locale);\n  }\n  let finalUserAttributes: Record<string, any> = userAttributes || {};\n  if (enrich) url.searchParams.set('enrich', String(enrich));\n  url.searchParams.set('omit', omit ?? 'meta.componentsUsed');\n  if (fields) {\n    url.searchParams.set('fields', fields);\n  }\n  if (Number.isFinite(offset) && offset! > -1) {\n    url.searchParams.set('offset', String(Math.floor(offset!)));\n  }\n  if (typeof includeUnpublished === 'boolean') {\n    url.searchParams.set('includeUnpublished', String(includeUnpublished));\n  }\n  if (cacheSeconds && isPositiveNumber(cacheSeconds)) {\n    url.searchParams.set('cacheSeconds', String(cacheSeconds));\n  }\n  if (staleCacheSeconds && isPositiveNumber(staleCacheSeconds)) {\n    url.searchParams.set('staleCacheSeconds', String(staleCacheSeconds));\n  }\n  if (sort) {\n    const flattened = flatten({\n      sort\n    });\n    for (const key in flattened) {\n      url.searchParams.set(key, JSON.stringify((flattened as any)[key]));\n    }\n  }\n\n  // TODO: how to express 'offset' in the url - as direct queryparam or as flattened in options[key] ?\n\n  const queryOptions = {\n    ...getBuilderSearchParamsFromWindow(),\n    ...normalizeSearchParams(options.options || {})\n  };\n  finalUserAttributes = {\n    ...finalUserAttributes,\n    ...getUserAttributesAsJSON(queryOptions)\n  };\n  const flattened = flatten(queryOptions);\n  for (const key in flattened) {\n    url.searchParams.set(key, String(flattened[key]));\n  }\n  if (Object.keys(finalUserAttributes).length > 0) {\n    url.searchParams.set('userAttributes', JSON.stringify(finalUserAttributes));\n  }\n  if (query) {\n    const flattened = flattenMongoQuery({\n      query\n    });\n    for (const key in flattened) {\n      url.searchParams.set(key, JSON.stringify(flattened[key]));\n    }\n  }\n  return url;\n};\nconst getUserAttributesFromQueryOptions = (queryOptions: any) => {\n  const newUserAttributes: any = {};\n  for (const key in queryOptions) {\n    if (key.startsWith('userAttributes.')) {\n      newUserAttributes[key] = queryOptions[key];\n      delete queryOptions[key];\n    }\n  }\n  return newUserAttributes;\n};\nconst getUserAttributesAsJSON = (queryOptions: any) => {\n  if (isBrowser() && queryOptions['preview'] === 'BUILDER_STUDIO') {\n    queryOptions['userAttributes.urlPath'] = window.location.pathname;\n    queryOptions['userAttributes.host'] = window.location.host;\n    const queryOptionsForUserAttributes = getUserAttributesFromQueryOptions(queryOptions);\n    const {\n      userAttributes\n    } = unflatten(queryOptionsForUserAttributes);\n    return userAttributes;\n  }\n  return {};\n}","import { TARGET } from '../../constants/target';\nimport { handleABTesting } from '../../helpers/ab-tests';\nimport { getDefaultCanTrack } from '../../helpers/canTrack';\nimport { logger } from '../../helpers/logger';\nimport { getPreviewContent } from '../../helpers/preview-lru-cache/get';\nimport { getSdkHeaders } from '../../helpers/sdk-headers';\nimport type { BuilderContent } from '../../types/builder-content';\nimport { fetch } from '../get-fetch';\nimport { isBrowser } from '../is-browser';\nimport { generateContentUrl } from './generate-content-url';\nimport type { GetContentOptions } from './types';\nconst checkContentHasResults = (content: ContentResponse): content is ContentResults => 'results' in content;\n\n/**\n * Returns the first content entry that matches the given options.\n */\nexport async function fetchOneEntry(options: GetContentOptions): Promise<BuilderContent | null> {\n  const finalLocale = options.locale || options.userAttributes?.locale;\n  if (finalLocale) {\n    options.locale = finalLocale;\n    options.userAttributes = {\n      locale: finalLocale,\n      ...options.userAttributes\n    };\n  }\n  const allContent = await fetchEntries({\n    ...options,\n    limit: 1\n  });\n  if (allContent) {\n    return allContent[0] || null;\n  }\n  return null;\n}\ntype ContentResults = {\n  results: BuilderContent[];\n};\ntype ContentResponse = ContentResults | {\n  status: number;\n  message: string;\n};\nconst _fetchContent = async (options: GetContentOptions) => {\n  const url = generateContentUrl(options);\n  const _fetch = options.fetch ?? fetch;\n  const fetchOptions = {\n    ...options.fetchOptions,\n    headers: {\n      ...(options.fetchOptions as any)?.headers,\n      ...getSdkHeaders()\n    }\n  };\n  const res = await _fetch(url.href, fetchOptions);\n  const content = await (res.json() as Promise<ContentResponse>);\n  return content;\n};\n\n/**\n * @internal Exported only for testing purposes. Do not use.\n */\nexport const _processContentResult = async (options: GetContentOptions, content: ContentResults, url: URL = generateContentUrl(options)): Promise<BuilderContent[]> => {\n  const canTrack = getDefaultCanTrack(options.canTrack);\n  const isPreviewing = url.search.includes(`preview=`);\n  if (TARGET === 'rsc' && isPreviewing) {\n    const newResults: BuilderContent[] = [];\n    for (const item of content.results) {\n      const previewContent = getPreviewContent(url.searchParams);\n      newResults.push(previewContent || item);\n    }\n    content.results = newResults;\n  }\n  if (!canTrack) return content.results;\n  if (!(isBrowser() || TARGET === 'reactNative')) return content.results;\n\n  /**\n   * For client-side navigations, it is ideal to handle AB testing at this point instead of using our\n   * complex multi-rendering variants approach, which is only needed for SSR'd content.\n   *\n   * This is also where react-native would handle AB testing.\n   */\n  try {\n    const newResults: BuilderContent[] = [];\n    for (const item of content.results) {\n      newResults.push(await handleABTesting({\n        item,\n        canTrack\n      }));\n    }\n    content.results = newResults;\n  } catch (e) {\n    logger.error('Could not process A/B tests. ', e);\n  }\n  return content.results;\n};\n\n/**\n * Returns a paginated array of entries that match the given options.\n */\nexport async function fetchEntries(options: GetContentOptions) {\n  const url = generateContentUrl(options);\n  const content = await _fetchContent(options);\n  if (!checkContentHasResults(content)) {\n    logger.error('Error fetching data. ', {\n      url,\n      content,\n      options\n    });\n    throw content;\n  }\n  return _processContentResult(options, content);\n}","import type { ContentVariantsPrps } from '../components/content-variants/content-variants.types';\nimport type { Dictionary } from '../types/typescript';\nimport { getBuilderSearchParams } from './get-builder-search-params/index';\nimport { fetchOneEntry } from './get-content/index';\nimport type { GetContentOptions } from './get-content/types';\ntype GetBuilderPropsOptions = (Omit<GetContentOptions, 'model'> & {\n  model?: string;\n}) & ({\n  /**\n   * The current URL path. Used to determine the `urlPath` for targeting content.\n   *\n   * Cannot be used with `url`.\n   */\n  path: string;\n\n  /**\n   * The current URL search params. Used to parse the `searchParams` for targeting content.\n   *\n   * Cannot be used with `url`.\n   */\n  searchParams?: URLSearchParams | Dictionary<string | string[]>;\n  url?: undefined;\n} | {\n  /**\n   * The current URL. Used to determine the `urlPath` for targeting content and\n   * to parse the `searchParams` for targeting content.\n   *\n   * Cannot be used with `path` or `searchParams`.\n   */\n  url: URL;\n  path?: undefined;\n  searchParams?: undefined;\n} | {\n  url?: undefined;\n  path?: undefined;\n  searchParams?: undefined;\n});\n\n/**\n * Given an `apiKey` and `url` (or `path` + `searchParams`), provides all props that `Content` needs to render Builder Content.\n *\n * @example\n * ```jsx\n * const builderProps = await fetchBuilderProps({\n *    apiKey: 'API_KEY',\n *    // provide `url`\n *    url: yourPageUrl,\n *    // OR provide `path` + `searchParams`\n *    path: yourPath,\n *    searchParams: yourSearchParams,\n * });\n *\n * return <Content {...builderProps} />;\n * ```\n */\nexport const fetchBuilderProps = async (_args: GetBuilderPropsOptions): Promise<ContentVariantsPrps> => {\n  const urlPath = _args.path || _args.url?.pathname || _args.userAttributes?.urlPath;\n  const getContentArgs: GetContentOptions = {\n    ..._args,\n    apiKey: _args.apiKey,\n    model: _args.model || 'page',\n    userAttributes: {\n      ..._args.userAttributes,\n      ...(urlPath ? {\n        urlPath\n      } : {})\n    },\n    options: getBuilderSearchParams(_args.searchParams || _args.url?.searchParams || _args.options)\n  };\n  return {\n    apiKey: getContentArgs.apiKey,\n    model: getContentArgs.model,\n    content: await fetchOneEntry(getContentArgs)\n  };\n}","import { Component, input, effect, InputSignal } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport type { AwaiterProps } from \"./awaiter.types\";\n\n@Component({\n  selector: \"awaiter\",\n  standalone: true,\n  imports: [CommonModule],\n  template: `\n    <ng-container><ng-content></ng-content></ng-container>\n  `,\n  styles: `:host { display: contents; }`,\n})\nexport default class Awaiter {\n  load: InputSignal<AwaiterProps[\"load\"]> = input<AwaiterProps[\"load\"]>();\n  props: InputSignal<AwaiterProps[\"props\"]> = input<AwaiterProps[\"props\"]>();\n  attributes: InputSignal<AwaiterProps[\"attributes\"]> =\n    input<AwaiterProps[\"attributes\"]>();\n  fallback: InputSignal<AwaiterProps[\"fallback\"]> =\n    input<AwaiterProps[\"fallback\"]>();\n\n  constructor() {}\n\n  ngAfterViewInit() {\n    if (typeof window !== \"undefined\") {\n      /** this is a hack to include unused props */\n      const _ = {\n        a: this.load(),\n        b: this.props(),\n        c: this.attributes(),\n        d: this.fallback(),\n      };\n    }\n  }\n}\n","import type { BuilderBlock, BuilderContent } from '../server-index';\n\n/**\n * Recursively searches for a block by ID.\n *\n * @param content The Builder content to search through.\n * @param id The ID of the block to search for.\n * @returns The block if found, otherwise null.\n */\nexport const findBlockById = (content: BuilderContent, id: string): BuilderBlock | null => {\n  return findBlockInTree(content.data?.blocks, id);\n};\n\n/**\n * Helper function to recursively search through block tree.\n *\n * @param blocks The blocks to search through.\n * @param id The ID of the block to search for.\n * @returns The block if found, otherwise null.\n * @private This is an internal implementation detail.\n */\nexport const findBlockInTree = (blocks: BuilderBlock[] | undefined, id: string): BuilderBlock | null => {\n  if (!blocks) return null;\n  for (const block of blocks) {\n    if (block.id === id) return block;\n    if (block.children) {\n      const child = findBlockInTree(block.children, id);\n      if (child) return child;\n    }\n    if (block.component?.name === 'Columns' && block.component?.options?.columns) {\n      for (const column of block.component.options.columns) {\n        if (column.blocks) {\n          const child = findBlockInTree(column.blocks, id);\n          if (child) return child;\n        }\n      }\n    }\n  }\n  return null;\n}","import {\n  Component,\n  viewChild,\n  ElementRef,\n  ViewContainerRef,\n  TemplateRef,\n  input,\n  effect,\n  signal,\n  computed,\n  InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\ntype LiveEditProps = {\n  children?: any;\n  id?: any;\n  Wrapper?: any;\n  attributes?: any;\n};\n\nimport { BuilderContext } from \"../context/index\";\nimport { findBlockById } from \"../helpers/find-block\";\n\n@Component({\n  selector: \"live-edit\",\n  standalone: true,\n  imports: [CommonModule],\n  template: `\n    <ng-template #wrapperTemplate><ng-content></ng-content></ng-template>\n    <ng-container\n      *ngComponentOutlet=\"\n              Wrapper();\n        inputs: dynamicProps_mhxjjt();\n              content: myContent();\n              \"\n    ></ng-container>\n  `,\n  styles: `:host { display: contents; }`,\n})\nexport default class LiveEdit {\n  myContent = signal<any[]>([]);\n  wrapperTemplateRef = viewChild<TemplateRef<any>>(\"wrapperTemplate\");\n\n  id: InputSignal<LiveEditProps[\"id\"]> = input<LiveEditProps[\"id\"]>();\n  attributes: InputSignal<LiveEditProps[\"attributes\"]> =\n    input<LiveEditProps[\"attributes\"]>();\n  Wrapper: InputSignal<LiveEditProps[\"Wrapper\"]> =\n    input<LiveEditProps[\"Wrapper\"]>();\n\n  block = computed(() => {\n    return findBlockById(this.context.content!, this.id());\n  });\n  options = computed(() => {\n    return this.block()?.component?.options || {};\n  });\n  dynamicProps_mhxjjt = computed(() => {\n    return { ...this.options(), attributes: this.attributes() };\n  });\n\n  constructor(\n    public context: BuilderContext,\n    private viewContainer: ViewContainerRef\n  ) {}\n\n  _updateView() {\n    this.myContent.set([\n      this.viewContainer.createEmbeddedView(this.wrapperTemplateRef())\n        .rootNodes,\n    ]);\n  }\n\n  ngAfterContentInit() {\n    this._updateView();\n  }\n}\n","import {\n  Component,\n  viewChild,\n  ElementRef,\n  ViewContainerRef,\n  TemplateRef,\n  Renderer2,\n  input,\n  effect,\n  signal,\n  computed,\n  InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nexport type InteractiveElementProps = {\n  Wrapper: any;\n  block: BuilderBlock;\n  context: BuilderContextInterface;\n  wrapperProps: Dictionary<any>;\n  includeBlockProps: boolean;\n  children?: any;\n};\n\nimport { TARGET } from \"../../../constants/target\";\nimport type { BuilderContextInterface } from \"../../../context/types\";\nimport { getBlockActions } from \"../../../functions/get-block-actions\";\nimport { getBlockProperties } from \"../../../functions/get-block-properties\";\nimport { isEditing } from \"../../../server-index\";\nimport type { BuilderBlock } from \"../../../types/builder-block\";\nimport type { Dictionary } from \"../../../types/typescript\";\nimport Awaiter from \"../../awaiter\";\nimport LiveEdit from \"../../live-edit\";\nimport { reflectComponentType } from \"@angular/core\";\n\n@Component({\n  selector: \"interactive-element\",\n  standalone: true,\n  imports: [CommonModule, LiveEdit, Awaiter],\n  template: `\n    <ng-template #wrapperTemplate><ng-content></ng-content></ng-template>\n    @if(Wrapper().load){\n    <awaiter\n      [load]=\"Wrapper().load\"\n      [fallback]=\"Wrapper().fallback\"\n      [props]=\"wrapperProps()\"\n      [attributes]=\"attributes()\"\n    >\n      <ng-content></ng-content>\n    </awaiter>\n    }@else{ @if(TARGET === 'rsc' && isEditing()){\n    <live-edit\n      [Wrapper]=\"Wrapper()\"\n      [id]=\"block().id || ''\"\n      [attributes]=\"attributes()\"\n    >\n      <ng-content></ng-content>\n    </live-edit>\n    }@else{\n    <ng-container\n      *ngComponentOutlet=\"\n              Wrapper();\n        inputs: dynamicProps_z2itiz();\n              content: myContent();\n              \"\n    ></ng-container>\n    } }\n  `,\n  styles: `:host { display: contents; }`,\n})\nexport default class InteractiveElement {\n  protected readonly TARGET = TARGET;\n  protected readonly isEditing = isEditing;\n\n  myContent = signal<any[]>([]);\n  wrapperTemplateRef = viewChild<TemplateRef<any>>(\"wrapperTemplate\");\n\n  wrapperProps: InputSignal<InteractiveElementProps[\"wrapperProps\"]> =\n    input<InteractiveElementProps[\"wrapperProps\"]>();\n  block: InputSignal<InteractiveElementProps[\"block\"]> =\n    input<InteractiveElementProps[\"block\"]>();\n  includeBlockProps: InputSignal<InteractiveElementProps[\"includeBlockProps\"]> =\n    input<InteractiveElementProps[\"includeBlockProps\"]>();\n  context: InputSignal<InteractiveElementProps[\"context\"]> =\n    input<InteractiveElementProps[\"context\"]>();\n  Wrapper: InputSignal<InteractiveElementProps[\"Wrapper\"]> =\n    input<InteractiveElementProps[\"Wrapper\"]>();\n\n  forceRenderCount = signal(0);\n\n  private _listenerFns = new Map();\n        attributes = computed(() => {\n    return this.includeBlockProps()\n      ? {\n          ...getBlockProperties({\n            block: this.block(),\n            context: this.context(),\n          }),\n          ...getBlockActions({\n            block: this.block(),\n            rootState: this.context().rootState,\n            rootSetState: this.context().rootSetState,\n            localState: this.context().localState,\n            context: this.context().context,\n            trackingContext: {\n              apiKey: this.context().apiKey,\n              canTrack: this.context().canTrack ?? true,\n              contentId: this.context().content?.id,\n              variationId: this.context().content?.testVariationId,\n            },\n          }),\n        }\n      : {};\n  });\n  targetWrapperProps = computed(() => {\n    return this.wrapperProps();\n  });\n  dynamicProps_z2itiz = computed(() => {\n    return { ...(this.filterPropsThatWrapperNeeds(this.targetWrapperProps())), ...(this.hasAttributesInput(this.Wrapper()) && { attributes: this.attributes() }) };\n  });\n  hasAttributesInput(component): boolean {\n    return !!reflectComponentType(component)?.inputs.find(\n      (input) => input.propName === \"attributes\"\n    );\n  }\n  filterPropsThatWrapperNeeds(allProps: any) {\n    const definedPropNames = reflectComponentType(this.Wrapper()).inputs.map(\n      (prop) => prop.propName\n    );\n    return definedPropNames.reduce((acc, propName) => {\n      acc[propName] = allProps[propName];\n      return acc;\n    }, {});\n  }\n  updateAttributes(\n    el: HTMLElement,\n    attributes: {\n      [key: string]: any;\n    }\n  ): void {\n    Object.keys(attributes).forEach((attr) => {\n      if (attr.startsWith(\"on\")) {\n        if (this._listenerFns.has(attr)) {\n          this._listenerFns.get(attr)!();\n        }\n        this._listenerFns.set(\n          attr,\n          this.renderer.listen(\n            el,\n            attr.replace(\"on\", \"\").toLowerCase(),\n            attributes[attr]\n          )\n        );\n      } else if (attr === \"class\" && attributes[attr]) {\n        const classes = attributes[attr].split(\" \");\n        classes.forEach((cls: string) =>\n          this.renderer.addClass(el, cls.trim())\n        );\n      } else {\n        this.renderer.setAttribute(\n          el,\n          attr.toLowerCase(),\n          attributes[attr] ?? \"\"\n        );\n      }\n    });\n  }\n\n  constructor(\n    private viewContainer: ViewContainerRef,\n    private renderer: Renderer2\n  ) {}\n\n  _updateView() {\n    this.myContent.set([\n      this.viewContainer.createEmbeddedView(this.wrapperTemplateRef())\n        .rootNodes,\n    ]);\n  }\n\n  ngAfterViewInit() {\n    if (!this.hasAttributesInput(this.Wrapper())) {\n      const wrapperElement =\n        this.wrapperTemplateRef()?.elementRef.nativeElement?.nextElementSibling;\n      if (wrapperElement) {\n        this.updateAttributes(wrapperElement, this.attributes());\n      }\n    }\n  }\n  ngAfterContentInit() {\n    this._updateView();\n  }\n\n  ngOnDestroy() {\n    for (const fn of this._listenerFns.values()) {\n      fn();\n    }\n  }\n}\n","import type { BuilderContextInterface, RegisteredComponents } from '../../../../context/types';\nimport { getBlockProperties } from '../../../../functions/get-block-properties';\nimport type { BuilderBlock } from '../../../../types/builder-block';\nimport type { BuilderDataProps } from '../../../../types/builder-props';\nimport type { InteractiveElementProps } from '../interactive-element';\ntype ComponentOptions = BuilderDataProps & {\n  [index: string]: any;\n  attributes?: {\n    [index: string]: any;\n  };\n};\nexport interface ComponentProps {\n  componentRef: any;\n  componentOptions: ComponentOptions;\n  blockChildren: BuilderBlock[];\n  context: BuilderContextInterface;\n  registeredComponents: RegisteredComponents;\n  linkComponent: any;\n  builderBlock: BuilderBlock;\n  includeBlockProps: boolean;\n  isInteractive: boolean | undefined;\n}\nexport const getWrapperProps = ({\n  componentOptions,\n  builderBlock,\n  context,\n  componentRef,\n  includeBlockProps,\n  isInteractive,\n  contextValue\n}: Omit<ComponentProps, 'blockChildren' | 'registeredComponents'> & {\n  contextValue: BuilderContextInterface;\n}) => {\n  const wrapperPropsWithAttributes = {\n    ...componentOptions,\n    /**\n     * If `noWrap` is set to `true`, then the block's props/attributes are provided to the\n     * component itself directly. Otherwise, they are provided to the wrapper element.\n     */\n    ...(includeBlockProps ? {\n      attributes: getBlockProperties({\n        block: builderBlock,\n        context: contextValue\n      })\n    } : {})\n  };\n  const interactiveElementProps: InteractiveElementProps = {\n    Wrapper: componentRef,\n    block: builderBlock,\n    context,\n    wrapperProps: componentOptions,\n    includeBlockProps\n  };\n  return isInteractive ? interactiveElementProps : wrapperPropsWithAttributes;\n}","import {\n  Component,\n  viewChild,\n  ElementRef,\n  ViewContainerRef,\n  TemplateRef,\n  input,\n  effect,\n  signal,\n  computed,\n  InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { wrapComponentRef } from \"../../../content/wrap-component-ref\";\nimport Block from \"../../block\";\nimport InteractiveElement from \"../interactive-element\";\nimport type { ComponentProps } from \"./component-ref.helpers\";\nimport { getWrapperProps } from \"./component-ref.helpers\";\nimport { forwardRef } from \"@angular/core\";\n\n@Component({\n  selector: \"component-ref\",\n  standalone: true,\n  imports: [CommonModule, forwardRef(() => Block)],\n  template: `\n    <ng-template #wrapperTemplate>\n      @if(componentRef()){ @for (child of blockChildren();track trackByChild0(i,\n      child);let i = $index) {\n      <block\n        [block]=\"child\"\n        [context]=\"context()\"\n        [registeredComponents]=\"registeredComponents()\"\n        [linkComponent]=\"linkComponent()\"\n      ></block>\n      } }\n    </ng-template>\n    @if(componentRef()){\n    <ng-container\n      *ngComponentOutlet=\"\n              Wrapper();\n        inputs: dynamicProps_vn4rls();\n              content: myContent();\n              \"\n    ></ng-container>\n    }\n  `,\n  styles: `:host { display: contents; }`,\n})\nexport default class ComponentRef {\n  protected readonly getWrapperProps = getWrapperProps;\n\n  myContent = signal<any[]>([]);\n  wrapperTemplateRef = viewChild<TemplateRef<any>>(\"wrapperTemplate\");\n\n  isInteractive: InputSignal<ComponentProps[\"isInteractive\"]> =\n    input<ComponentProps[\"isInteractive\"]>();\n  componentRef: InputSignal<ComponentProps[\"componentRef\"]> =\n    input<ComponentProps[\"componentRef\"]>();\n  componentOptions: InputSignal<ComponentProps[\"componentOptions\"]> =\n    input<ComponentProps[\"componentOptions\"]>();\n  builderBlock: InputSignal<ComponentProps[\"builderBlock\"]> =\n    input<ComponentProps[\"builderBlock\"]>();\n  context: InputSignal<ComponentProps[\"context\"]> =\n    input<ComponentProps[\"context\"]>();\n  linkComponent: InputSignal<ComponentProps[\"linkComponent\"]> =\n    input<ComponentProps[\"linkComponent\"]>();\n  includeBlockProps: InputSignal<ComponentProps[\"includeBlockProps\"]> =\n    input<ComponentProps[\"includeBlockProps\"]>();\n  blockChildren: InputSignal<ComponentProps[\"blockChildren\"]> =\n    input<ComponentProps[\"blockChildren\"]>();\n  registeredComponents: InputSignal<ComponentProps[\"registeredComponents\"]> =\n    input<ComponentProps[\"registeredComponents\"]>();\n\n  shouldUpdate = signal(false);\n  Wrapper = signal(undefined);\n\n  dynamicProps_vn4rls = computed(() => {\n    return {\n      ...getWrapperProps({\n        componentOptions: this.componentOptions(),\n        builderBlock: this.builderBlock(),\n        context: this.context(),\n        componentRef: this.componentRef(),\n        linkComponent: this.linkComponent(),\n        includeBlockProps: this.includeBlockProps(),\n        isInteractive: this.isInteractive(),\n        contextValue: this.context(),\n      }),\n    };\n  });\n  trackByChild0(_: number, child: any) {\n    return child.id;\n  }\n\n  constructor(private viewContainer: ViewContainerRef) {}\n\n  ngOnInit() {\n    this.Wrapper.set(\n      this.isInteractive() ? InteractiveElement : this.componentRef()\n    );\n  }\n\n  _updateView() {\n    this.myContent.set([\n      this.viewContainer.createEmbeddedView(this.wrapperTemplateRef())\n        .rootNodes,\n    ]);\n  }\n\n  ngAfterContentInit() {\n    this._updateView();\n  }\n}\n","import { Component, input, effect, signal, InputSignal } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\ntype Props = Omit<BlockProps, \"context\"> & {\n  repeatContext: BuilderContextInterface;\n};\n\nimport BuilderContext from \"../../../context/builder.context\";\nimport type { BuilderContextInterface } from \"../../../context/types\";\nimport type { BlockProps } from \"../block\";\nimport Block from \"../block\";\nimport { forwardRef } from \"@angular/core\";\n\n@Component({\n  selector: \"repeated-block\",\n  standalone: true,\n  imports: [CommonModule, forwardRef(() => Block)],\n  template: `\n    <block\n      [block]=\"block()\"\n      [context]=\"store()\"\n      [registeredComponents]=\"registeredComponents()\"\n      [linkComponent]=\"linkComponent()\"\n    ></block>\n  `,\n  styles: `:host { display: contents; }`,\n})\nexport default class RepeatedBlock {\n  repeatContext: InputSignal<Props[\"repeatContext\"]> =\n    input<Props[\"repeatContext\"]>();\n  block: InputSignal<Props[\"block\"]> = input<Props[\"block\"]>();\n  registeredComponents: InputSignal<Props[\"registeredComponents\"]> =\n    input<Props[\"registeredComponents\"]>();\n  linkComponent: InputSignal<Props[\"linkComponent\"]> =\n    input<Props[\"linkComponent\"]>();\n\n  store = signal(undefined);\n\n  constructor() {\n    if (typeof window !== \"undefined\") {\n      effect(\n        () => {\n          // --- Mitosis: Workaround to make sure the effect() is triggered ---\n          this.repeatContext();\n          // ---\n\n          this.store.set(this.repeatContext());\n        },\n        {\n          allowSignalWrites: true, // Enable writing to signals inside effects\n        }\n      );\n    }\n  }\n\n  ngOnInit() {\n    this.store.set(this.repeatContext());\n  }\n}\n","import { fastClone } from '../functions/fast-clone';\nexport type SizeName = 'large' | 'medium' | 'small' | 'xsmall';\ninterface Size {\n  min: number;\n  default: number;\n  max: number;\n}\nconst SIZES: Record<SizeName, Size> = {\n  xsmall: {\n    min: 0,\n    default: 160,\n    max: 320\n  },\n  small: {\n    min: 321,\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};\nexport const getMaxWidthQueryForSize = (size: SizeName, sizeValues = SIZES) => `@media (max-width: ${sizeValues[size].max}px)`;\ninterface Breakpoints {\n  xsmall?: number;\n  small?: number;\n  medium?: number;\n}\nexport const getSizesForBreakpoints = (breakpoints: Breakpoints) => {\n  const newSizes = fastClone(SIZES); // Note: this helps to get a deep clone of fields like small, medium etc\n\n  if (!breakpoints) {\n    return newSizes;\n  }\n  const {\n    xsmall,\n    small,\n    medium\n  } = breakpoints;\n  if (xsmall) {\n    const xsmallMin = Math.floor(xsmall / 2);\n    newSizes.xsmall = {\n      max: xsmall,\n      min: xsmallMin,\n      default: xsmallMin + 1\n    };\n  }\n  if (!small || !medium) {\n    return newSizes;\n  }\n  const smallMin = xsmall ? newSizes.xsmall.max + 1 : Math.floor(small / 2);\n  newSizes.small = {\n    max: small,\n    min: smallMin,\n    default: smallMin + 1\n  };\n  const mediumMin = newSizes.small.max + 1;\n  newSizes.medium = {\n    max: medium,\n    min: mediumMin,\n    default: mediumMin + 1\n  };\n  const largeMin = newSizes.medium.max + 1;\n  newSizes.large = {\n    max: 2000,\n    // TODO: decide upper limit\n    min: largeMin,\n    default: largeMin + 1\n  };\n  return newSizes;\n}","import { CommonModule } from '@angular/common';\n// fails because type imports cannot be injected\n// eslint-disable-next-line @typescript-eslint/consistent-type-imports\nimport { Component, ElementRef, input, Renderer2 } from '@angular/core';\n\ninterface Props {\n  styles: string;\n  id: string;\n  nonce: string;\n}\n\n@Component({\n  selector: 'inlined-styles, InlinedStyles',\n  template: ``,\n  standalone: true,\n  imports: [CommonModule],\n  styles: [\n    `\n      :host {\n        display: contents;\n      }\n    `,\n  ],\n})\nexport default class InlinedStyles {\n  styles = input.required<Props['styles']>();\n  id = input.required<Props['id']>();\n  nonce = input.required<Props['nonce']>();\n\n  styleElement!: HTMLStyleElement;\n\n  constructor(\n    private renderer: Renderer2,\n    private elRef: ElementRef\n  ) {}\n\n  ngOnChanges(changes) {\n    if (changes.styles) {\n      if (this.styleElement) {\n        this.styleElement.textContent = this.styles();\n      } else {\n        this.styleElement = this.renderer.createElement('style');\n        this.renderer.setAttribute(this.styleElement, 'data-id', this.id());\n        this.renderer.appendChild(\n          this.styleElement,\n          this.renderer.createText(this.styles())\n        );\n        this.renderer.setAttribute(this.styleElement, 'nonce', this.nonce());\n        this.renderer.appendChild(this.elRef.nativeElement, this.styleElement);\n      }\n    }\n  }\n}\n","import { Component, input, effect, computed, InputSignal } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nexport type BlockStylesProps = {\n  block: BuilderBlock;\n  context: BuilderContextInterface;\n};\n\nimport {\n  getMaxWidthQueryForSize,\n  getSizesForBreakpoints,\n} from \"../../../constants/device-sizes\";\nimport { TARGET } from \"../../../constants/target\";\nimport type { BuilderContextInterface } from \"../../../context/types\";\nimport { camelToKebabCase } from \"../../../functions/camel-to-kebab-case\";\nimport { createCssClass } from \"../../../helpers/css\";\nimport { checkIsDefined } from \"../../../helpers/nullable\";\nimport type { BuilderBlock } from \"../../../types/builder-block\";\nimport InlinedStyles from \"../../inlined-styles\";\n\n@Component({\n  selector: \"block-styles\",\n  standalone: true,\n  imports: [CommonModule, InlinedStyles],\n  template: `\n    @if(TARGET !== 'reactNative' && css() && canShowBlock()){\n    <inlined-styles\n      id=\"builderio-block\"\n      [styles]=\"css()\"\n      [nonce]=\"context().nonce\"\n    ></inlined-styles>\n    }\n  `,\n  styles: `:host { display: contents; }`,\n})\nexport default class BlockStyles {\n  protected readonly TARGET = TARGET;\n\n  block: InputSignal<BlockStylesProps[\"block\"]> =\n    input<BlockStylesProps[\"block\"]>();\n  context: InputSignal<BlockStylesProps[\"context\"]> =\n    input<BlockStylesProps[\"context\"]>();\n\n  canShowBlock = computed(() => {\n    const processedBlock = this.block();\n    // only render styles for blocks that are visible\n    if (checkIsDefined(processedBlock.hide)) {\n      return !processedBlock.hide;\n    }\n    if (checkIsDefined(processedBlock.show)) {\n      return processedBlock.show;\n    }\n    return true;\n  });\n  css = computed(() => {\n    const processedBlock = this.block();\n    const styles = processedBlock.responsiveStyles;\n    const content = this.context().content;\n    const sizesWithUpdatedBreakpoints = getSizesForBreakpoints(\n      content?.meta?.breakpoints || {}\n    );\n    const contentHasXSmallBreakpoint = Boolean(\n      content?.meta?.breakpoints?.xsmall\n    );\n    const largeStyles = styles?.large;\n    const mediumStyles = styles?.medium;\n    const smallStyles = styles?.small;\n    const xsmallStyles = styles?.xsmall;\n    const className = processedBlock.id;\n    if (!className) {\n      return \"\";\n    }\n    const largeStylesClass = largeStyles\n      ? createCssClass({\n          className,\n          styles: largeStyles,\n        })\n      : \"\";\n    const mediumStylesClass = mediumStyles\n      ? createCssClass({\n          className,\n          styles: mediumStyles,\n          mediaQuery: getMaxWidthQueryForSize(\n            \"medium\",\n            sizesWithUpdatedBreakpoints\n          ),\n        })\n      : \"\";\n    const smallStylesClass = smallStyles\n      ? createCssClass({\n          className,\n          styles: smallStyles,\n          mediaQuery: getMaxWidthQueryForSize(\n            \"small\",\n            sizesWithUpdatedBreakpoints\n          ),\n        })\n      : \"\";\n    const xsmallStylesClass =\n      xsmallStyles && contentHasXSmallBreakpoint\n        ? createCssClass({\n            className,\n            styles: xsmallStyles,\n            mediaQuery: getMaxWidthQueryForSize(\n              \"xsmall\",\n              sizesWithUpdatedBreakpoints\n            ),\n          })\n        : \"\";\n    const hoverAnimation =\n      processedBlock.animations &&\n      processedBlock.animations.find((item) => item.trigger === \"hover\");\n    let hoverStylesClass = \"\";\n    if (hoverAnimation) {\n      const hoverStyles = hoverAnimation.steps?.[1]?.styles || {};\n      hoverStylesClass =\n        createCssClass({\n          className: `${className}:hover`,\n          styles: {\n            ...hoverStyles,\n            transition: `all ${hoverAnimation.duration}s ${camelToKebabCase(\n              hoverAnimation.easing\n            )}`,\n            transitionDelay: hoverAnimation.delay\n              ? `${hoverAnimation.delay}s`\n              : \"0s\",\n          },\n        }) || \"\";\n    }\n    return [\n      largeStylesClass,\n      mediumStylesClass,\n      smallStylesClass,\n      xsmallStylesClass,\n      hoverStylesClass,\n    ].join(\" \");\n  });\n\n  constructor() {}\n}\n","import { Component, input, effect, computed, InputSignal } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\ntype LiveEditBlockStylesProps = {\n  id?: any;\n  contextProvider: BuilderContextInterface;\n};\n\nimport {\n  getMaxWidthQueryForSize,\n  getSizesForBreakpoints,\n} from \"../../../constants/device-sizes\";\nimport { TARGET } from \"../../../constants/target\";\nimport { camelToKebabCase } from \"../../../functions/camel-to-kebab-case\";\nimport { getProcessedBlock } from \"../../../functions/get-processed-block\";\nimport { createCssClass } from \"../../../helpers/css\";\nimport { findBlockById } from \"../../../helpers/find-block\";\nimport { checkIsDefined } from \"../../../helpers/nullable\";\nimport type {\n  BuilderBlock,\n  BuilderContextInterface,\n} from \"../../../server-index\";\nimport InlinedStyles from \"../../inlined-styles\";\n\n@Component({\n  selector: \"live-edit-block-styles\",\n  standalone: true,\n  imports: [CommonModule, InlinedStyles],\n  template: `\n    @if(TARGET === 'rsc' && css() && canShowBlock()){\n    <inlined-styles\n      id=\"builderio-block\"\n      [styles]=\"css()\"\n      [nonce]=\"contextProvider().nonce\"\n    ></inlined-styles>\n    }\n  `,\n  styles: `:host { display: contents; }`,\n})\nexport default class LiveEditBlockStyles {\n  protected readonly TARGET = TARGET;\n\n  contextProvider: InputSignal<LiveEditBlockStylesProps[\"contextProvider\"]> =\n    input<LiveEditBlockStylesProps[\"contextProvider\"]>();\n  id: InputSignal<LiveEditBlockStylesProps[\"id\"]> =\n    input<LiveEditBlockStylesProps[\"id\"]>();\n\n  block = computed(() => {\n    return findBlockById(this.contextProvider().content!, this.id());\n  });\n  processedBlock = computed(() => {\n    const foundBlock = this.block();\n    if (!foundBlock) {\n      return null;\n    }\n    const blockToUse = foundBlock.repeat?.collection\n      ? foundBlock\n      : getProcessedBlock({\n          block: foundBlock,\n          localState: this.contextProvider().localState,\n          rootState: this.contextProvider().rootState,\n          rootSetState: this.contextProvider().rootSetState,\n          context: this.contextProvider().context,\n        });\n    return blockToUse;\n  });\n  canShowBlock = computed(() => {\n    if (checkIsDefined(this.processedBlock()?.hide)) {\n      return !this.processedBlock()?.hide;\n    }\n    if (checkIsDefined(this.processedBlock()?.show)) {\n      return this.processedBlock()?.show;\n    }\n    return true;\n  });\n  css = computed(() => {\n    const styles = this.processedBlock()?.responsiveStyles;\n    const content = this.contextProvider().content;\n    const sizesWithUpdatedBreakpoints = getSizesForBreakpoints(\n      content?.meta?.breakpoints || {}\n    );\n    const contentHasXSmallBreakpoint = Boolean(\n      content?.meta?.breakpoints?.xsmall\n    );\n    const largeStyles = styles?.large;\n    const mediumStyles = styles?.medium;\n    const smallStyles = styles?.small;\n    const xsmallStyles = styles?.xsmall;\n    const className = this.processedBlock()?.id;\n    if (!className) {\n      return \"\";\n    }\n    const largeStylesClass = largeStyles\n      ? createCssClass({\n          className,\n          styles: largeStyles,\n        })\n      : \"\";\n    const mediumStylesClass = mediumStyles\n      ? createCssClass({\n          className,\n          styles: mediumStyles,\n          mediaQuery: getMaxWidthQueryForSize(\n            \"medium\",\n            sizesWithUpdatedBreakpoints\n          ),\n        })\n      : \"\";\n    const smallStylesClass = smallStyles\n      ? createCssClass({\n          className,\n          styles: smallStyles,\n          mediaQuery: getMaxWidthQueryForSize(\n            \"small\",\n            sizesWithUpdatedBreakpoints\n          ),\n        })\n      : \"\";\n    const xsmallStylesClass =\n      xsmallStyles && contentHasXSmallBreakpoint\n        ? createCssClass({\n            className,\n            styles: xsmallStyles,\n            mediaQuery: getMaxWidthQueryForSize(\n              \"xsmall\",\n              sizesWithUpdatedBreakpoints\n            ),\n          })\n        : \"\";\n    const hoverAnimation =\n      this.processedBlock().animations &&\n      this.processedBlock().animations.find((item) => item.trigger === \"hover\");\n    let hoverStylesClass = \"\";\n    if (hoverAnimation) {\n      const hoverStyles = hoverAnimation.steps?.[1]?.styles || {};\n      hoverStylesClass =\n        createCssClass({\n          className: `${className}:hover`,\n          styles: {\n            ...hoverStyles,\n            transition: `all ${hoverAnimation.duration}s ${camelToKebabCase(\n              hoverAnimation.easing\n            )}`,\n            transitionDelay: hoverAnimation.delay\n              ? `${hoverAnimation.delay}s`\n              : \"0s\",\n          },\n        }) || \"\";\n    }\n    return [\n      largeStylesClass,\n      mediumStylesClass,\n      smallStylesClass,\n      xsmallStylesClass,\n      hoverStylesClass,\n    ].join(\" \");\n  });\n\n  constructor() {}\n}\n","import { Component, input, effect, signal, InputSignal } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\ntype StyleWrapperProps = {\n  block: BuilderBlock;\n  context: BuilderContextInterface;\n  id?: string;\n};\n\nimport { TARGET } from \"../../../constants/target\";\nimport { BuilderContext } from \"../../../context/index\";\nimport {\n  isEditing,\n  BuilderBlock,\n  BuilderContextInterface,\n} from \"../../../server-index\";\nimport BlockStyles from \"./block-styles\";\nimport LiveEditBlockStyles from \"./live-edit-block-styles\";\n\n@Component({\n  selector: \"style-wrapper\",\n  standalone: true,\n  imports: [CommonModule, BlockStyles, LiveEditBlockStyles],\n  template: `\n    @if(isHydrated()){ @if(TARGET === 'rsc' && isClientEditing()){\n    <live-edit-block-styles\n      [id]=\"block().id\"\n      [contextProvider]=\"contextProvider\"\n    ></live-edit-block-styles>\n    }@else{\n    <block-styles [block]=\"block()\" [context]=\"context()\"></block-styles>\n    } }@else{\n    <block-styles [block]=\"block()\" [context]=\"context()\"></block-styles>\n    }\n  `,\n  styles: `:host { display: contents; }`,\n})\nexport default class StyleWrapper {\n  protected readonly TARGET = TARGET;\n\n  block: InputSignal<StyleWrapperProps[\"block\"]> =\n    input<StyleWrapperProps[\"block\"]>();\n  context: InputSignal<StyleWrapperProps[\"context\"]> =\n    input<StyleWrapperProps[\"context\"]>();\n\n  isClientEditing = signal(false);\n  isHydrated = signal(false);\n\n  constructor(public contextProvider: BuilderContext) {}\n\n  ngAfterViewInit() {\n    if (typeof window !== \"undefined\") {\n    }\n  }\n}\n","import {\n  Component,\n  input,\n  effect,\n  signal,\n  computed,\n  InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nexport type BlockProps = {\n  block: BuilderBlock;\n  context: BuilderContextInterface;\n  registeredComponents: RegisteredComponents;\n  linkComponent: any;\n};\n\nimport { TARGET } from \"../../constants/target\";\nimport type {\n  BuilderContextInterface,\n  RegisteredComponents,\n} from \"../../context/types\";\nimport { getBlockComponentOptions } from \"../../functions/get-block-component-options\";\nimport { getProcessedBlock } from \"../../functions/get-processed-block\";\nimport { isPreviewing } from \"../../server-index\";\nimport type { BuilderBlock } from \"../../types/builder-block\";\nimport DynamicDiv from \"../dynamic-div\";\nimport { bindAnimations } from \"./animator\";\nimport {\n  generateKey,\n  getComponent,\n  getInheritedStyles,\n  getRepeatItemData,\n  provideBuilderBlock,\n  provideBuilderContext,\n  provideLinkComponent,\n  provideRegisteredComponents,\n} from \"./block.helpers\";\nimport BlockWrapper from \"./components/block-wrapper\";\nimport type { ComponentProps } from \"./components/component-ref/component-ref.helpers\";\nimport ComponentRef from \"./components/component-ref/component-ref\";\nimport RepeatedBlock from \"./components/repeated-block\";\nimport StyleWrapper from \"./components/style-wrapper\";\n\n@Component({\n  selector: \"block\",\n  standalone: true,\n  imports: [\n    CommonModule,\n    StyleWrapper,\n    RepeatedBlock,\n    ComponentRef,\n    BlockWrapper,\n    Block,\n  ],\n  template: `\n    @if(canShowBlock()){\n    <style-wrapper\n      [block]=\"processedBlock()\"\n      [context]=\"context()\"\n      [id]=\"block().id\"\n    ></style-wrapper>\n    @if(!blockComponent()?.noWrap){ @if(!repeatItem()){\n    <block-wrapper\n      [Wrapper]=\"Tag()\"\n      [block]=\"processedBlock()\"\n      [context]=\"context()\"\n    >\n      <component-ref\n        [componentRef]=\"componentRefProps().componentRef\"\n        [componentOptions]=\"componentRefProps().componentOptions\"\n        [blockChildren]=\"componentRefProps().blockChildren\"\n        [context]=\"componentRefProps().context\"\n        [registeredComponents]=\"componentRefProps().registeredComponents\"\n        [linkComponent]=\"componentRefProps().linkComponent\"\n        [builderBlock]=\"componentRefProps().builderBlock\"\n        [includeBlockProps]=\"componentRefProps().includeBlockProps\"\n        [isInteractive]=\"componentRefProps().isInteractive\"\n      ></component-ref>\n\n      @for (child of childrenWithoutParentComponent();track trackByChild0(i,\n      child);let i = $index) {\n      <block\n        [block]=\"child\"\n        [registeredComponents]=\"registeredComponents()\"\n        [linkComponent]=\"linkComponent()\"\n        [context]=\"context()\"\n      ></block>\n      }\n    </block-wrapper>\n    }@else{ @for (data of repeatItem();track trackByData1(index, data);let index\n    = $index) {\n    <repeated-block\n      [repeatContext]=\"data.context\"\n      [block]=\"data.block\"\n      [registeredComponents]=\"registeredComponents()\"\n      [linkComponent]=\"linkComponent()\"\n    ></repeated-block>\n    } } }@else{ @if(!repeatItem()){\n    <component-ref\n      [componentRef]=\"componentRefProps().componentRef\"\n      [componentOptions]=\"componentRefProps().componentOptions\"\n      [blockChildren]=\"componentRefProps().blockChildren\"\n      [context]=\"componentRefProps().context\"\n      [registeredComponents]=\"componentRefProps().registeredComponents\"\n      [linkComponent]=\"componentRefProps().linkComponent\"\n      [builderBlock]=\"componentRefProps().builderBlock\"\n      [includeBlockProps]=\"componentRefProps().includeBlockProps\"\n      [isInteractive]=\"componentRefProps().isInteractive\"\n    ></component-ref>\n    }@else{ @for (data of repeatItem();track trackByData2(index, data);let index\n    = $index) {\n    <repeated-block\n      [repeatContext]=\"data.context\"\n      [block]=\"data.block\"\n      [registeredComponents]=\"registeredComponents()\"\n      [linkComponent]=\"linkComponent()\"\n    ></repeated-block>\n    } } } }\n  `,\n  styles: `:host { display: contents; }`,\n})\nexport default class Block {\n  protected readonly generateKey = generateKey;\n\n  block: InputSignal<BlockProps[\"block\"]> = input<BlockProps[\"block\"]>();\n  context: InputSignal<BlockProps[\"context\"]> = input<BlockProps[\"context\"]>();\n  registeredComponents: InputSignal<BlockProps[\"registeredComponents\"]> =\n    input<BlockProps[\"registeredComponents\"]>();\n  linkComponent: InputSignal<BlockProps[\"linkComponent\"]> =\n    input<BlockProps[\"linkComponent\"]>();\n\n  _processedBlock = signal({\n    value: null as BuilderBlock | null,\n    update: false,\n  });\n\n  repeatItem = computed(() => {\n    return getRepeatItemData({\n      block: this.block(),\n      context: this.context(),\n    });\n  });\n  processedBlock = computed(() => {\n    const blockToUse = this.block().repeat?.collection\n      ? this.block()\n      : getProcessedBlock({\n          block: this.block(),\n          localState: this.context().localState,\n          rootState: this.context().rootState,\n          rootSetState: this.context().rootSetState,\n          context: this.context().context,\n        });\n    return blockToUse;\n  });\n  blockComponent = computed(() => {\n    return getComponent({\n      block: this.processedBlock(),\n      registeredComponents: this.registeredComponents(),\n      model: this.context().model,\n    });\n  });\n  Tag = computed(() => {\n    const shouldUseLink =\n      this.block().tagName === \"a\" ||\n      this.processedBlock().properties?.href ||\n      this.processedBlock().href;\n    if (shouldUseLink) {\n      return this.linkComponent() || \"a\";\n    }\n    return this.block().tagName || DynamicDiv;\n  });\n  canShowBlock = computed(() => {\n    if (this.block().repeat?.collection) {\n      if (this.repeatItem()?.length) return true;\n      return false;\n    }\n    const shouldHide =\n      \"hide\" in this.processedBlock() ? this.processedBlock().hide : false;\n    const shouldShow =\n      \"show\" in this.processedBlock() ? this.processedBlock().show : true;\n    return shouldShow && !shouldHide;\n  });\n  childrenWithoutParentComponent = computed(() => {\n    /**\n     * When there is no `componentRef`, there might still be children that need to be rendered. In this case,\n     * we render them outside of `componentRef`.\n     * NOTE: We make sure not to render this if `repeatItemData` is non-null, because that means we are rendering an array of\n     * blocks, and the children will be repeated within those blocks.\n     */\n    const shouldRenderChildrenOutsideRef =\n      !this.blockComponent()?.component && !this.repeatItem();\n    return shouldRenderChildrenOutsideRef\n      ? this.processedBlock().children ?? []\n      : [];\n  });\n  componentRefProps = computed(() => {\n    return {\n      blockChildren: this.processedBlock().children ?? [],\n      componentRef: this.blockComponent()?.component,\n      componentOptions: {\n        ...getBlockComponentOptions(this.processedBlock(), this.context()),\n        ...provideBuilderBlock(this.blockComponent(), this.processedBlock()),\n        ...provideBuilderContext(this.blockComponent(), this.context()),\n        ...provideLinkComponent(this.blockComponent(), this.linkComponent()),\n        ...provideRegisteredComponents(\n          this.blockComponent(),\n          this.registeredComponents(),\n          this.context().model\n        ),\n      },\n      context: this.context(),\n      linkComponent: this.linkComponent(),\n      registeredComponents: this.registeredComponents(),\n      builderBlock: this.processedBlock(),\n      includeBlockProps: this.blockComponent()?.noWrap === true,\n      isInteractive: !(this.blockComponent()?.isRSC && TARGET === \"rsc\"),\n    };\n  });\n  trackByChild0(_: number, child: any) {\n    return child.id;\n  }\n  trackByData1(index: number, data: any) {\n    return generateKey(index);\n  }\n  trackByData2(index: number, data: any) {\n    return generateKey(index);\n  }\n\n  constructor() {}\n\n  ngAfterViewInit() {\n    if (typeof window !== \"undefined\") {\n      const blockId = this.processedBlock().id;\n      const animations = this.processedBlock().animations;\n      if (animations && blockId) {\n        // in Angular, the DynamicDiv sets attributes (builder-id) on the element late (ngAfterViewInit)\n        // so we need to wait for them to be attached to the DOM before calling this else we'll not find the element\n        requestAnimationFrame(() => {\n          bindAnimations(\n            animations.map((animation) => ({\n              ...animation,\n              elementId: blockId,\n            }))\n          );\n        });\n      }\n    }\n  }\n}\n","import {\n  Component,\n  viewChild,\n  ElementRef,\n  ViewContainerRef,\n  TemplateRef,\n  input,\n  effect,\n  signal,\n  computed,\n  InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nexport type BlocksWrapperProps = {\n  blocks: BuilderBlock[] | undefined;\n  parent: string | undefined;\n  path: string | undefined;\n  styleProp: Record<string, any> | undefined;\n  /**\n   * The element that wraps each list of blocks. Defaults to a `div` element ('ScrollView' in React Native).\n   */\n  BlocksWrapper: any;\n  /**\n   * Props to be applied to the wrapping element of blocks. Can be set in two ways:\n   * 1. Globally via `<Content blocksWrapperProps={{...}}/>` - applies to all blocks wrappers in the Content\n   * 2. Locally via `<Blocks BlocksWrapperProps={{...}}/>` - applies only to this specific blocks instance and overrides global props\n   *\n   * For merging both global and local props, spread the context props before adding your own:\n   * ```\n   * <Blocks\n   *   BlocksWrapperProps={{\n   *     ...builderContext.BlocksWrapperProps,\n   *     'data-test-id': 'my-test-id'\n   *   }}\n   * />\n   * ```\n   */\n  BlocksWrapperProps: any;\n  children?: any;\n  classNameProp?: string;\n};\n\nimport { isEditing } from \"../../functions/is-editing\";\nimport type { BuilderBlock } from \"../../types/builder-block\";\n\n@Component({\n  selector: \"blocks-wrapper\",\n  standalone: true,\n  imports: [CommonModule],\n  template: `\n    <ng-template #blockswrapperTemplate><ng-content></ng-content></ng-template>\n    <ng-container\n      *ngComponentOutlet=\"\n              BlocksWrapper();\n        inputs: dynamicProps_d6h9d();\n              content: myContent();\n              \"\n    ></ng-container>\n  `,\n  styles: `:host { display: contents; }\n        .this-blocks-wrapper {\n          display: flex;\n          flex-direction: column;\n          align-items: stretch;\n        }\n`,\n})\nexport default class BlocksWrapper {\n  myContent = signal<any[]>([]);\n  blockswrapperTemplateRef = viewChild<TemplateRef<any>>(\n    \"blockswrapperTemplate\"\n  );\n\n  blocks: InputSignal<BlocksWrapperProps[\"blocks\"]> =\n    input<BlocksWrapperProps[\"blocks\"]>();\n  classNameProp: InputSignal<BlocksWrapperProps[\"classNameProp\"]> =\n    input<BlocksWrapperProps[\"classNameProp\"]>();\n  path: InputSignal<BlocksWrapperProps[\"path\"]> =\n    input<BlocksWrapperProps[\"path\"]>();\n  parent: InputSignal<BlocksWrapperProps[\"parent\"]> =\n    input<BlocksWrapperProps[\"parent\"]>();\n  styleProp: InputSignal<BlocksWrapperProps[\"styleProp\"]> =\n    input<BlocksWrapperProps[\"styleProp\"]>();\n  BlocksWrapperProps: InputSignal<BlocksWrapperProps[\"BlocksWrapperProps\"]> =\n    input<BlocksWrapperProps[\"BlocksWrapperProps\"]>();\n  BlocksWrapper: InputSignal<BlocksWrapperProps[\"BlocksWrapper\"]> =\n    input<BlocksWrapperProps[\"BlocksWrapper\"]>();\n\n  blocksWrapperRef = viewChild<ElementRef>(\"blocksWrapperRef\");\n\n  shouldUpdate = signal(false);\n\n  className = computed(() => {\n    return [\n      \"builder-blocks\",\n      !this.blocks()?.length ? \"no-blocks\" : \"\",\n      this.classNameProp(),\n    ]\n      .filter(Boolean)\n      .join(\" \");\n  });\n  dataPath = computed(() => {\n    if (!this.path()) {\n      return undefined;\n    }\n    const thisPrefix = \"this.\";\n    const pathPrefix = \"component.options.\";\n    return this.path().startsWith(thisPrefix)\n      ? this.path().replace(thisPrefix, \"\")\n      : this.path().startsWith(pathPrefix)\n      ? this.path()\n      : `${pathPrefix}${this.path() || \"\"}`;\n  });\n  dynamicProps_d6h9d = computed(() => {\n    return {\n      ref: this.blocksWrapperRef(),\n      class: this.className() + \" this-blocks-wrapper\",\n      \"builder-path\": this.dataPath(),\n      \"builder-parent-id\": this.parent(),\n      style: this.styleProp(),\n      onClick: this.onClick.bind(this),\n      onMouseEnter: this.onMouseEnter.bind(this),\n      onKeyPress: this.onClick.bind(this),\n      ...this.BlocksWrapperProps(),\n    };\n  });\n  onClick() {\n    if (isEditing() && !this.blocks()?.length) {\n      window.parent?.postMessage(\n        {\n          type: \"builder.clickEmptyBlocks\",\n          data: {\n            parentElementId: this.parent(),\n            dataPath: this.dataPath(),\n          },\n        },\n        \"*\"\n      );\n    }\n  }\n  onMouseEnter() {\n    if (isEditing() && !this.blocks()?.length) {\n      window.parent?.postMessage(\n        {\n          type: \"builder.hoverEmptyBlocks\",\n          data: {\n            parentElementId: this.parent(),\n            dataPath: this.dataPath(),\n          },\n        },\n        \"*\"\n      );\n    }\n  }\n\n  constructor(private viewContainer: ViewContainerRef) {\n    if (typeof window !== \"undefined\") {\n      effect(\n        () => {\n          // --- Mitosis: Workaround to make sure the effect() is triggered ---\n          this.blocks();\n          // ---\n\n          this.shouldUpdate.set(true);\n        },\n        {\n          allowSignalWrites: true, // Enable writing to signals inside effects\n        }\n      );\n    }\n  }\n\n  _updateView() {\n    this.myContent.set([\n      this.viewContainer.createEmbeddedView(this.blockswrapperTemplateRef())\n        .rootNodes,\n    ]);\n  }\n\n  ngAfterViewInit() {\n    if (typeof window !== \"undefined\") {\n    }\n  }\n  ngAfterContentInit() {\n    this._updateView();\n  }\n  ngAfterContentChecked() {\n    if (this.shouldUpdate()) {\n      this._updateView();\n      this.shouldUpdate.set(false);\n    }\n  }\n}\n","import { Component, input, effect, InputSignal } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport BuilderContext from \"../../context/builder.context\";\nimport ComponentsContext from \"../../context/components.context\";\nimport Block from \"../block/block\";\nimport BlocksWrapper from \"./blocks-wrapper\";\nimport type { BlocksProps } from \"./blocks.types\";\n\n@Component({\n  selector: \"blocks\",\n  standalone: true,\n  imports: [CommonModule, BlocksWrapper, Block],\n  template: `\n    <blocks-wrapper\n      [blocks]=\"blocks()\"\n      [parent]=\"parent()\"\n      [path]=\"path()\"\n      [styleProp]=\"styleProp()\"\n      [BlocksWrapperProps]=\"BlocksWrapperProps() || context()?.BlocksWrapperProps || builderContext?.BlocksWrapperProps\"\n      [classNameProp]=\"className()\"\n      [BlocksWrapper]=\"context()?.BlocksWrapper || builderContext?.BlocksWrapper\"\n    >\n      <ng-content></ng-content>\n      @if(blocks()){ @for (block of blocks();track trackByBlock0(i, block);let i\n      = $index) {\n      <block\n        [block]=\"block\"\n        [linkComponent]=\"linkComponent()\"\n        [context]=\"context() || builderContext\"\n        [registeredComponents]=\"registeredComponents() || componentsContext?.registeredComponents\"\n      ></block>\n      } }\n    </blocks-wrapper>\n  `,\n  styles: `:host { display: contents; }`,\n})\nexport default class Blocks {\n  protected readonly BlocksWrapper = BlocksWrapper;\n\n  blocks: InputSignal<BlocksProps[\"blocks\"]> = input<BlocksProps[\"blocks\"]>();\n  parent: InputSignal<BlocksProps[\"parent\"]> = input<BlocksProps[\"parent\"]>();\n  path: InputSignal<BlocksProps[\"path\"]> = input<BlocksProps[\"path\"]>();\n  styleProp: InputSignal<BlocksProps[\"styleProp\"]> =\n    input<BlocksProps[\"styleProp\"]>();\n  BlocksWrapperProps: InputSignal<BlocksProps[\"BlocksWrapperProps\"]> =\n    input<BlocksProps[\"BlocksWrapperProps\"]>();\n  context: InputSignal<BlocksProps[\"context\"]> =\n    input<BlocksProps[\"context\"]>();\n  className: InputSignal<BlocksProps[\"className\"]> =\n    input<BlocksProps[\"className\"]>();\n  linkComponent: InputSignal<BlocksProps[\"linkComponent\"]> =\n    input<BlocksProps[\"linkComponent\"]>();\n  registeredComponents: InputSignal<BlocksProps[\"registeredComponents\"]> =\n    input<BlocksProps[\"registeredComponents\"]>();\n\n  trackByBlock0(_: number, block: any) {\n    return block.id;\n  }\n\n  constructor(\n    public builderContext: BuilderContext,\n    public componentsContext: ComponentsContext\n  ) {}\n}\n","export const getColumnsClass = (id?: string) => {\n  return `builder-columns ${id}-breakpoints`;\n}","import {\n  Component,\n  viewChild,\n  ElementRef,\n  Renderer2,\n  input,\n  effect,\n  signal,\n  computed,\n  InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\ntype CSSVal = string | number;\n\nimport Blocks from \"../../components/blocks/blocks\";\nimport DynamicDiv from \"../../components/dynamic-div\";\nimport DynamicRenderer from \"../../components/dynamic-renderer/dynamic-renderer\";\nimport InlinedStyles from \"../../components/inlined-styles\";\nimport type { SizeName } from \"../../constants/device-sizes\";\nimport { getSizesForBreakpoints } from \"../../constants/device-sizes\";\nimport { TARGET } from \"../../constants/target\";\nimport { deoptSignal } from \"../../functions/deopt\";\nimport { getClassPropName } from \"../../functions/get-class-prop-name\";\nimport { mapStyleObjToStrIfNeeded } from \"../../functions/get-style\";\nimport type { Dictionary } from \"../../types/typescript\";\nimport type { Column, ColumnProps } from \"./columns.types\";\nimport { getColumnsClass } from \"./helpers\";\n\n@Component({\n  selector: \"columns\",\n  standalone: true,\n  imports: [CommonModule, InlinedStyles, DynamicRenderer, Blocks],\n  template: `\n    <div\n      [class]=\"getColumnsClass(builderBlock()?.id) + ' div'\"\n      [ngStyle]=\"columnsCssVars()\"\n      #elRef0\n    >\n      @if(TARGET !== 'reactNative'){\n      <inlined-styles\n        id=\"builderio-columns\"\n        [styles]=\"columnsStyles()\"\n        [nonce]=\"builderContext().nonce\"\n      ></inlined-styles>\n      } @for (column of columns();track trackByColumn0(index, column);let index\n      = $index) {\n      <dynamic-renderer\n        [TagName]=\"getTagName(column)\"\n        [actionAttributes]=\"{}\"\n        [attributes]=\"getAttributes(column, index)\"\n      >\n        <blocks\n          [path]=\"templateStr_9tnc0u(column, index)\"\n          [parent]=\"builderBlock().id\"\n          [context]=\"builderContext()\"\n          [registeredComponents]=\"builderComponents()\"\n          [linkComponent]=\"builderLinkComponent()\"\n          [blocks]=\"column.blocks\"\n          [styleProp]=\"{\n          flexGrow: '1'\n        }\"\n        ></blocks>\n      </dynamic-renderer>\n      }\n    </div>\n  `,\n  styles: `:host { display: contents; }\n        .div {\n          display: flex;\n          line-height: normal;\n          height: 100%;\n        }\n`,\n})\nexport default class Columns {\n  protected readonly getColumnsClass = getColumnsClass;\n  protected readonly TARGET = TARGET;\n\n  space: InputSignal<ColumnProps[\"space\"]> = input<ColumnProps[\"space\"]>();\n  columns: InputSignal<ColumnProps[\"columns\"]> =\n    input<ColumnProps[\"columns\"]>();\n  stackColumnsAt: InputSignal<ColumnProps[\"stackColumnsAt\"]> =\n    input<ColumnProps[\"stackColumnsAt\"]>();\n  builderLinkComponent: InputSignal<ColumnProps[\"builderLinkComponent\"]> =\n    input<ColumnProps[\"builderLinkComponent\"]>();\n  reverseColumnsWhenStacked: InputSignal<\n    ColumnProps[\"reverseColumnsWhenStacked\"]\n  > = input<ColumnProps[\"reverseColumnsWhenStacked\"]>();\n  builderContext: InputSignal<ColumnProps[\"builderContext\"]> =\n    input<ColumnProps[\"builderContext\"]>();\n  builderBlock: InputSignal<ColumnProps[\"builderBlock\"]> =\n    input<ColumnProps[\"builderBlock\"]>();\n  builderComponents: InputSignal<ColumnProps[\"builderComponents\"]> =\n    input<ColumnProps[\"builderComponents\"]>();\n\n  elRef0 = viewChild<ElementRef>(\"elRef0\");\n\n  _listenerFns = new Map();\n\n  gutterSize = computed(() => {\n    return typeof this.space() === \"number\" ? this.space() || 0 : 20;\n  });\n  cols = computed(() => {\n    return this.columns() || [];\n  });\n  stackAt = computed(() => {\n    return this.stackColumnsAt() || \"tablet\";\n  });\n  flexDir = computed(() => {\n    return this.stackColumnsAt() === \"never\"\n      ? \"row\"\n      : this.reverseColumnsWhenStacked()\n      ? \"column-reverse\"\n      : \"column\";\n  });\n  getTagName(column: Column) {\n    return column.link ? this.builderLinkComponent() || \"a\" : DynamicDiv;\n  }\n  getWidth(index: number) {\n    return this.cols()[index]?.width || 100 / this.cols().length;\n  }\n  getColumnCssWidth(index: number) {\n    const width = this.getWidth(index);\n    const subtractWidth =\n      this.gutterSize() * (this.cols().length - 1) * (width / 100);\n    return `calc(${width}% - ${subtractWidth}px)`;\n  }\n  getTabletStyle({\n    stackedStyle,\n    desktopStyle,\n  }: {\n    stackedStyle: CSSVal;\n    desktopStyle: CSSVal;\n  }) {\n    return this.stackAt() === \"tablet\" ? stackedStyle : desktopStyle;\n  }\n  getMobileStyle({\n    stackedStyle,\n    desktopStyle,\n  }: {\n    stackedStyle: CSSVal;\n    desktopStyle: CSSVal;\n  }) {\n    return this.stackAt() === \"never\" ? desktopStyle : stackedStyle;\n  }\n  columnsCssVars() {\n    return {\n      \"--flex-dir\": this.flexDir(),\n      \"--flex-dir-tablet\": this.getTabletStyle({\n        stackedStyle: this.flexDir(),\n        desktopStyle: \"row\",\n      }),\n    } as Dictionary<string>;\n  }\n  columnCssVars(index: number) {\n    const gutter = index === 0 ? 0 : this.gutterSize();\n    const width = this.getColumnCssWidth(index);\n    const gutterPixels = `${gutter}px`;\n    const mobileWidth = \"100%\";\n    const mobileMarginLeft = 0;\n    const marginLeftKey = \"margin-left\";\n    const sharedStyles = {\n      display: \"flex\",\n      flexDirection: \"column\",\n      alignItems: \"stretch\",\n    };\n    return {\n      ...sharedStyles,\n      width,\n      [marginLeftKey]: gutterPixels,\n      \"--column-width-mobile\": this.getMobileStyle({\n        stackedStyle: mobileWidth,\n        desktopStyle: width,\n      }),\n      \"--column-margin-left-mobile\": this.getMobileStyle({\n        stackedStyle: mobileMarginLeft,\n        desktopStyle: gutterPixels,\n      }),\n      \"--column-width-tablet\": this.getTabletStyle({\n        stackedStyle: mobileWidth,\n        desktopStyle: width,\n      }),\n      \"--column-margin-left-tablet\": this.getTabletStyle({\n        stackedStyle: mobileMarginLeft,\n        desktopStyle: gutterPixels,\n      }),\n    } as Dictionary<string>;\n  }\n  getWidthForBreakpointSize(size: SizeName) {\n    const breakpointSizes = getSizesForBreakpoints(\n      this.builderContext().content?.meta?.breakpoints || {}\n    );\n    return breakpointSizes[size].max;\n  }\n  columnsStyles() {\n    const childColumnDiv = `.${\n      this.builderBlock().id\n    }-breakpoints .builder-column:first-of-type`;\n    return `\n        @media (max-width: ${this.getWidthForBreakpointSize(\"medium\")}px) {\n          .${this.builderBlock().id}-breakpoints {\n            flex-direction: var(--flex-dir-tablet);\n            align-items: stretch;\n          }\n\n          ${childColumnDiv} {\n            width: var(--column-width-tablet) !important;\n            margin-left: var(--column-margin-left-tablet) !important;\n          }\n        }\n\n        @media (max-width: ${this.getWidthForBreakpointSize(\"small\")}px) {\n          .${this.builderBlock().id}-breakpoints {\n            flex-direction: var(--flex-dir);\n            align-items: stretch;\n          }\n\n          ${childColumnDiv} {\n            width: var(--column-width-mobile) !important;\n            margin-left: var(--column-margin-left-mobile) !important;\n          }\n        },\n      `;\n  }\n  getAttributes(column: any, index: number) {\n    return {\n      ...{},\n      ...(column.link\n        ? {\n            href: column.link,\n          }\n        : {}),\n      [getClassPropName()]: \"builder-column\",\n      style: mapStyleObjToStrIfNeeded(this.columnCssVars(index)),\n    };\n  }\n  templateStr_9tnc0u(column, index) {\n    return `columns.${index}.blocks`;\n  }\n  setAttributes(el: HTMLElement, value: any, changes?: any) {\n    if (!el) {\n      return;\n    }\n    const target = typeof changes === \"undefined\" ? value : changes;\n    Object.keys(target).forEach((key) => {\n      if (key.startsWith(\"on\")) {\n        if (this._listenerFns.has(key)) {\n          this._listenerFns.get(key)!();\n        }\n        this._listenerFns.set(\n          key,\n          this.renderer.listen(\n            el,\n            key.replace(\"on\", \"\").toLowerCase(),\n            target[key]\n          )\n        );\n      } else {\n        this.renderer.setAttribute(el, key.toLowerCase(), target[key] ?? \"\");\n      }\n    });\n  }\n  trackByColumn0(index: number, column: any) {\n    return index;\n  }\n\n  constructor(private renderer: Renderer2) {\n    if (typeof window !== \"undefined\") {\n      effect(\n        () => {\n          this.setAttributes(this.elRef0()?.nativeElement, {});\n        },\n        {\n          allowSignalWrites: true, // Enable writing to signals inside effects\n        }\n      );\n    }\n  }\n\n  ngAfterViewInit() {\n    this.setAttributes(this.elRef0()?.nativeElement, {});\n  }\n\n  ngOnDestroy() {\n    for (const fn of this._listenerFns.values()) {\n      fn();\n    }\n  }\n}\n","import { Component, effect } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport type { FragmentProps } from \"./fragment.types\";\n\n@Component({\n  selector: \"fragment-component\",\n  standalone: true,\n  imports: [CommonModule],\n  template: `\n    <span><ng-content></ng-content></span>\n  `,\n  styles: `:host { display: contents; }`,\n})\nexport default class FragmentComponent {\n  constructor() {}\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}\nfunction 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  return uri + separator + key + '=' + encodeURIComponent(value);\n}\nfunction getShopifyImageUrl(src: string, size: string): string | null {\n  if (!src || !src?.match(/cdn\\.shopify\\.com/) || !size) {\n    return src;\n  }\n  if (size === 'master') {\n    return removeProtocol(src);\n  }\n  const match = src.match(/(_\\d+x(\\d+)?)?(\\.(jpg|jpeg|gif|png|bmp|bitmap|tiff|tif)(\\?v=\\d+)?)/i);\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    return removeProtocol(`${prefix[0]}_${useSize}${suffix}`);\n  }\n  return null;\n}\nexport function getSrcSet(url: string): string {\n  if (!url) {\n    return url;\n  }\n  const sizes = [100, 200, 400, 800, 1200, 1600, 2000];\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    return sizes.filter(size => size !== widthInSrc).map(size => `${updateQueryParam(url, 'width', size)} ${size}w`).concat([srcUrl]).join(', ');\n  }\n  if (url.match(/cdn\\.shopify\\.com/)) {\n    return sizes.map(size => [getShopifyImageUrl(url, `${size}x${size}`), size]).filter(([sizeUrl]) => !!sizeUrl).map(([sizeUrl, size]) => `${sizeUrl} ${size}w`).concat([url]).join(', ');\n  }\n  return url;\n}","import { Component, input, effect, computed, InputSignal } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { getSrcSet } from \"./image.helpers\";\nimport type { ImageProps } from \"./image.types\";\n\n@Component({\n  selector: \"image\",\n  standalone: true,\n  imports: [CommonModule],\n  template: `\n    <ng-container>\n      <picture>\n        @if(webpSrcSet()){\n        <source type=\"image/webp\" [attr.srcset]=\"webpSrcSet()\" />\n        }\n        <img\n          [attr.loading]=\"highPriority() ? 'eager' : 'lazy'\"\n          [attr.fetchpriority]=\"highPriority() ? 'high' : 'auto'\"\n          [attr.alt]=\"altText()\"\n          [attr.title]=\"title()\"\n          [attr.role]=\"altText() ? undefined : 'presentation'\"\n          [ngStyle]=\"objSpread_style_kr3gse()\"\n          [class]=\"'builder-image' + (className() ? ' ' + className() : '') + ' img'\"\n          [attr.src]=\"image()\"\n          [attr.srcset]=\"srcSetToUse()\"\n          [attr.sizes]=\"sizes()\"\n        />\n      </picture>\n      @if(aspectRatio() && !(builderBlock()?.children?.length && fitContent())){\n      <div\n        class=\"builder-image-sizer div\"\n        [ngStyle]=\"{\n          paddingTop: aspectRatio()! * 100 + '%'\n        }\"\n      ></div>\n      } @if(builderBlock()?.children?.length && fitContent()){\n      <ng-content></ng-content>\n      } @if(!fitContent() && builderBlock()?.children?.length){\n      <div class=\"div-2\"><ng-content></ng-content></div>\n      }\n    </ng-container>\n  `,\n  styles: `:host { display: contents; }\n        .img {\n          opacity: 1;\n          transition: opacity 0.2s ease-in-out;\n        }\n        .div {\n          width: 100%;\n          pointer-events: none;\n          font-size: 0;\n        }\n        .div-2 {\n          display: flex;\n          flex-direction: column;\n          align-items: stretch;\n          position: absolute;\n          top: 0;\n          left: 0;\n          width: 100%;\n          height: 100%;\n        }\n`,\n})\nexport default class Image {\n  image: InputSignal<ImageProps[\"image\"]> = input<ImageProps[\"image\"]>();\n  src: InputSignal<ImageProps[\"src\"]> = input<ImageProps[\"src\"]>();\n  srcset: InputSignal<ImageProps[\"srcset\"]> = input<ImageProps[\"srcset\"]>();\n  noWebp: InputSignal<ImageProps[\"noWebp\"]> = input<ImageProps[\"noWebp\"]>();\n  aspectRatio: InputSignal<ImageProps[\"aspectRatio\"]> =\n    input<ImageProps[\"aspectRatio\"]>();\n  highPriority: InputSignal<ImageProps[\"highPriority\"]> =\n    input<ImageProps[\"highPriority\"]>();\n  altText: InputSignal<ImageProps[\"altText\"]> = input<ImageProps[\"altText\"]>();\n  title: InputSignal<ImageProps[\"title\"]> = input<ImageProps[\"title\"]>();\n  backgroundPosition: InputSignal<ImageProps[\"backgroundPosition\"]> =\n    input<ImageProps[\"backgroundPosition\"]>();\n  backgroundSize: InputSignal<ImageProps[\"backgroundSize\"]> =\n    input<ImageProps[\"backgroundSize\"]>();\n  className: InputSignal<ImageProps[\"className\"]> =\n    input<ImageProps[\"className\"]>();\n  sizes: InputSignal<ImageProps[\"sizes\"]> = input<ImageProps[\"sizes\"]>();\n  builderBlock: InputSignal<ImageProps[\"builderBlock\"]> =\n    input<ImageProps[\"builderBlock\"]>();\n  fitContent: InputSignal<ImageProps[\"fitContent\"]> =\n    input<ImageProps[\"fitContent\"]>();\n\n  srcSetToUse = computed(() => {\n    const imageToUse = this.image() || this.src();\n    const url = imageToUse;\n    if (\n      !url ||\n      // We can auto add srcset for cdn.builder.io and shopify\n      // images, otherwise you can supply this prop manually\n      !(\n        typeof url === \"string\" &&\n        (url.match(/builder\\.io/) || url.match(/cdn\\.shopify\\.com/))\n      )\n    ) {\n      return this.srcset();\n    }\n    if (this.noWebp()) {\n      return undefined; // no need to add srcset to svg images\n    }\n    if (this.srcset() && this.image()?.includes(\"builder.io/api/v1/image\")) {\n      if (!this.srcset().includes(this.image().split(\"?\")[0])) {\n        console.debug(\"Removed given srcset\");\n        return getSrcSet(url);\n      }\n    } else if (this.image() && !this.srcset()) {\n      return getSrcSet(url);\n    }\n    return getSrcSet(url);\n  });\n  webpSrcSet = computed(() => {\n    if (this.srcSetToUse()?.match(/builder\\.io/) && !this.noWebp()) {\n      return this.srcSetToUse().replace(/\\?/g, \"?format=webp&\");\n    } else {\n      return \"\";\n    }\n  });\n  aspectRatioCss = computed(() => {\n    const aspectRatioStyles = {\n      position: \"absolute\",\n      height: \"100%\",\n      width: \"100%\",\n      left: \"0px\",\n      top: \"0px\",\n    } as const;\n    const out = this.aspectRatio() ? aspectRatioStyles : undefined;\n    return out;\n  });\n  objSpread_style_kr3gse = computed(() => {\n    return {\n      objectPosition: this.backgroundPosition() || \"center\",\n      objectFit: this.backgroundSize() || \"cover\",\n      ...this.aspectRatioCss(),\n    };\n  });\n\n  constructor() {}\n\n  ngAfterViewInit() {\n    if (typeof window !== \"undefined\") {\n    }\n  }\n}\n","import {\n  Component,\n  viewChild,\n  ElementRef,\n  Renderer2,\n  input,\n  effect,\n  signal,\n  InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { filterAttrs } from \"../helpers\";\nimport type { SectionProps } from \"./section.types\";\nimport { setAttrs } from \"../helpers\";\n\n@Component({\n  selector: \"section-component\",\n  standalone: true,\n  imports: [CommonModule],\n  template: `\n    <section\n      #elRef0\n      [ngStyle]=\"{\n          width: '100%',\n          alignSelf: 'stretch',\n          flexGrow: 1,\n          boxSizing: 'border-box',\n          maxWidth: maxWidth() || 1200,\n          display: 'flex',\n          flexDirection: 'column',\n          alignItems: 'stretch',\n          marginLeft: 'auto',\n          marginRight: 'auto'\n        }\"\n    >\n      <ng-content></ng-content>\n    </section>\n  `,\n  styles: `:host { display: contents; }`,\n})\nexport default class SectionComponent {\n  attributes: InputSignal<SectionProps[\"attributes\"]> =\n    input<SectionProps[\"attributes\"]>();\n  maxWidth: InputSignal<SectionProps[\"maxWidth\"]> =\n    input<SectionProps[\"maxWidth\"]>();\n\n  elRef0 = viewChild<ElementRef>(\"elRef0\");\n\n  _listenerFns = new Map();\n\n  setAttributes(el: HTMLElement, value: any, changes?: any) {\n    if (!el) {\n      return;\n    }\n    const target = typeof changes === \"undefined\" ? value : changes;\n    Object.keys(target).forEach((key) => {\n      if (key.startsWith(\"on\")) {\n        if (this._listenerFns.has(key)) {\n          this._listenerFns.get(key)!();\n        }\n        this._listenerFns.set(\n          key,\n          this.renderer.listen(\n            el,\n            key.replace(\"on\", \"\").toLowerCase(),\n            target[key]\n          )\n        );\n      } else {\n        this.renderer.setAttribute(el, key.toLowerCase(), target[key] ?? \"\");\n      }\n    });\n  }\n\n  constructor(private renderer: Renderer2) {\n    if (typeof window !== \"undefined\") {\n      effect(\n        () => {\n          this.setAttributes(this.elRef0()?.nativeElement, {});\n        },\n        {\n          allowSignalWrites: true, // Enable writing to signals inside effects\n        }\n      );\n      effect(\n        () => {\n          this.setAttributes(this.elRef0()?.nativeElement, this.attributes());\n        },\n        {\n          allowSignalWrites: true, // Enable writing to signals inside effects\n        }\n      );\n    }\n  }\n\n  ngAfterViewInit() {\n    this.setAttributes(this.elRef0()?.nativeElement, {});\n    this.setAttributes(this.elRef0()?.nativeElement, this.attributes());\n  }\n\n  ngOnDestroy() {\n    for (const fn of this._listenerFns.values()) {\n      fn();\n    }\n  }\n}\n","/**\n * WARNING: This file contains functions that get stringified and inlined into the HTML at build-time.\n * They cannot import anything.\n */\n\nimport type { Query, UserAttributes } from '../helpers';\nimport { type PersonalizationContainerProps } from '../personalization-container.types';\nexport function filterWithCustomTargeting(userAttributes: UserAttributes, query: Query[], startDate?: string, endDate?: string) {\n  function isString(val: unknown): val is string {\n    return typeof val === 'string';\n  }\n  function isNumber(val: unknown): val is number {\n    return typeof val === 'number';\n  }\n  function objectMatchesQuery(userattr: UserAttributes, query: Query): boolean {\n    const result = (() => {\n      const property = query.property;\n      const operator = query.operator;\n      let testValue = query.value;\n      if (query && query.property === 'urlPath' && query.value && typeof query.value === 'string' && query.value !== '/' && query.value.endsWith('/')) {\n        testValue = query.value.slice(0, -1);\n      }\n      if (!(property && operator)) {\n        return true;\n      }\n      if (Array.isArray(testValue)) {\n        if (operator === 'isNot') {\n          return testValue.every(val => objectMatchesQuery(userattr, {\n            property,\n            operator,\n            value: val\n          }));\n        }\n        return !!testValue.find(val => objectMatchesQuery(userattr, {\n          property,\n          operator,\n          value: val\n        }));\n      }\n      const value = userattr[property];\n      if (Array.isArray(value)) {\n        return value.includes(testValue);\n      }\n      switch (operator) {\n        case 'is':\n          return value === testValue;\n        case 'isNot':\n          return value !== testValue;\n        case 'contains':\n          return (isString(value) || Array.isArray(value)) && value.includes(String(testValue));\n        case 'startsWith':\n          return isString(value) && value.startsWith(String(testValue));\n        case 'endsWith':\n          return isString(value) && value.endsWith(String(testValue));\n        case 'greaterThan':\n          return isNumber(value) && isNumber(testValue) && value > testValue;\n        case 'lessThan':\n          return isNumber(value) && isNumber(testValue) && value < testValue;\n        case 'greaterThanOrEqualTo':\n          return isNumber(value) && isNumber(testValue) && value >= testValue;\n        case 'lessThanOrEqualTo':\n          return isNumber(value) && isNumber(testValue) && value <= testValue;\n        default:\n          return false;\n      }\n    })();\n    return result;\n  }\n  const item = {\n    query,\n    startDate,\n    endDate\n  };\n  const now = userAttributes.date && new Date(userAttributes.date) || new Date();\n  if (item.startDate && new Date(item.startDate) > now) {\n    return false;\n  } else if (item.endDate && new Date(item.endDate) < now) {\n    return false;\n  }\n  if (!item.query || !item.query.length) {\n    return true;\n  }\n  return item.query.every((filter: Query) => {\n    return objectMatchesQuery(userAttributes, filter);\n  });\n}\nexport function updateVisibilityStylesScript(variants: PersonalizationContainerProps['variants'], blockId: string, isHydrationTarget: boolean, locale?: string) {\n  function getCookie(name: string) {\n    const nameEQ = name + '=';\n    const ca = document.cookie.split(';');\n    for (let i = 0; i < ca.length; i++) {\n      let 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  const visibilityStylesEl = (document.currentScript?.previousElementSibling as HTMLStyleElement);\n  if (!visibilityStylesEl) {\n    return;\n  }\n  if (isHydrationTarget) {\n    visibilityStylesEl.remove();\n    const currentScript = document.currentScript;\n    if (currentScript) {\n      currentScript.remove();\n    }\n  } else {\n    const attributes = JSON.parse(getCookie('builder.userAttributes') || '{}');\n    if (locale) {\n      attributes.locale = locale;\n    }\n    const winningVariantIndex = variants?.findIndex(function (variant) {\n      return (window as any).filterWithCustomTargeting(attributes, variant.query, variant.startDate, variant.endDate);\n    });\n    if (winningVariantIndex !== -1) {\n      let newStyleStr = variants?.map((_, index) => {\n        if (index === winningVariantIndex) return '';\n        return `div[data-variant-id=\"${blockId}-${index}\"] { display: none !important; } `;\n      }).join('') || '';\n      newStyleStr += `div[data-variant-id=\"${blockId}-default\"] { display: none !important; } `;\n      visibilityStylesEl.innerHTML = newStyleStr;\n    }\n  }\n}\nexport const PERSONALIZATION_SCRIPT = \"function getPersonalizedVariant(variants, blockId, isHydrationTarget, locale) {\\n  if (!navigator.cookieEnabled) {\\n    return;\\n  }\\n  function getCookie(name) {\\n    const nameEQ = name + '=';\\n    const ca = document.cookie.split(';');\\n    for (let i = 0; i < ca.length; i++) {\\n      let 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  const attributes = JSON.parse(getCookie('builder.userAttributes') || '{}');\\n  if (locale) {\\n    attributes.locale = locale;\\n  }\\n  const winningVariantIndex = variants?.findIndex(function (variant) {\\n    return window.filterWithCustomTargeting(attributes, variant.query, variant.startDate, variant.endDate);\\n  });\\n  const parentDiv = document.currentScript?.parentElement;\\n  const variantId = parentDiv?.getAttribute('data-variant-id');\\n  const isDefaultVariant = variantId === `${blockId}-default`;\\n  const isWinningVariant = winningVariantIndex !== -1 && variantId === `${blockId}-${winningVariantIndex}` || winningVariantIndex === -1 && isDefaultVariant;\\n  if (isWinningVariant && !isDefaultVariant) {\\n    parentDiv?.removeAttribute('hidden');\\n    parentDiv?.removeAttribute('aria-hidden');\\n  } else if (!isWinningVariant && isDefaultVariant) {\\n    parentDiv?.setAttribute('hidden', 'true');\\n    parentDiv?.setAttribute('aria-hidden', 'true');\\n  }\\n  if (isHydrationTarget) {\\n    if (!isWinningVariant) {\\n      const itsStyleEl = parentDiv?.previousElementSibling;\\n      if (itsStyleEl) {\\n        itsStyleEl.remove();\\n      }\\n      parentDiv?.remove();\\n    }\\n    const thisScript = document.currentScript;\\n    if (thisScript) {\\n      thisScript.remove();\\n    }\\n  }\\n}\";\nexport const FILTER_WITH_CUSTOM_TARGETING_SCRIPT = \"function filterWithCustomTargeting(userAttributes, query, startDate, endDate) {\\n  function isString(val) {\\n    return typeof val === 'string';\\n  }\\n  function isNumber(val) {\\n    return typeof val === 'number';\\n  }\\n  function objectMatchesQuery(userattr, query) {\\n    const result = (() => {\\n      const property = query.property;\\n      const operator = query.operator;\\n      let testValue = query.value;\\n      if (query && query.property === 'urlPath' && query.value && typeof query.value === 'string' && query.value !== '/' && query.value.endsWith('/')) {\\n        testValue = query.value.slice(0, -1);\\n      }\\n      if (!(property && operator)) {\\n        return true;\\n      }\\n      if (Array.isArray(testValue)) {\\n        if (operator === 'isNot') {\\n          return testValue.every(val => objectMatchesQuery(userattr, {\\n            property,\\n            operator,\\n            value: val\\n          }));\\n        }\\n        return !!testValue.find(val => objectMatchesQuery(userattr, {\\n          property,\\n          operator,\\n          value: val\\n        }));\\n      }\\n      const value = userattr[property];\\n      if (Array.isArray(value)) {\\n        return value.includes(testValue);\\n      }\\n      switch (operator) {\\n        case 'is':\\n          return value === testValue;\\n        case 'isNot':\\n          return value !== testValue;\\n        case 'contains':\\n          return (isString(value) || Array.isArray(value)) && value.includes(String(testValue));\\n        case 'startsWith':\\n          return isString(value) && value.startsWith(String(testValue));\\n        case 'endsWith':\\n          return isString(value) && value.endsWith(String(testValue));\\n        case 'greaterThan':\\n          return isNumber(value) && isNumber(testValue) && value > testValue;\\n        case 'lessThan':\\n          return isNumber(value) && isNumber(testValue) && value < testValue;\\n        case 'greaterThanOrEqualTo':\\n          return isNumber(value) && isNumber(testValue) && value >= testValue;\\n        case 'lessThanOrEqualTo':\\n          return isNumber(value) && isNumber(testValue) && value <= testValue;\\n        default:\\n          return false;\\n      }\\n    })();\\n    return result;\\n  }\\n  const item = {\\n    query,\\n    startDate,\\n    endDate\\n  };\\n  const now = userAttributes.date && new Date(userAttributes.date) || new Date();\\n  if (item.startDate && new Date(item.startDate) > now) {\\n    return false;\\n  } else if (item.endDate && new Date(item.endDate) < now) {\\n    return false;\\n  }\\n  if (!item.query || !item.query.length) {\\n    return true;\\n  }\\n  return item.query.every(filter => {\\n    return objectMatchesQuery(userAttributes, filter);\\n  });\\n}\";\nexport const UPDATE_VISIBILITY_STYLES_SCRIPT = \"function updateVisibilityStylesScript(variants, blockId, isHydrationTarget, locale) {\\n  function getCookie(name) {\\n    const nameEQ = name + '=';\\n    const ca = document.cookie.split(';');\\n    for (let i = 0; i < ca.length; i++) {\\n      let 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  const visibilityStylesEl = document.currentScript?.previousElementSibling;\\n  if (!visibilityStylesEl) {\\n    return;\\n  }\\n  if (isHydrationTarget) {\\n    visibilityStylesEl.remove();\\n    const currentScript = document.currentScript;\\n    if (currentScript) {\\n      currentScript.remove();\\n    }\\n  } else {\\n    const attributes = JSON.parse(getCookie('builder.userAttributes') || '{}');\\n    if (locale) {\\n      attributes.locale = locale;\\n    }\\n    const winningVariantIndex = variants?.findIndex(function (variant) {\\n      return window.filterWithCustomTargeting(attributes, variant.query, variant.startDate, variant.endDate);\\n    });\\n    if (winningVariantIndex !== -1) {\\n      let newStyleStr = variants?.map((_, index) => {\\n        if (index === winningVariantIndex) return '';\\n        return `div[data-variant-id=\\\"${blockId}-${index}\\\"] { display: none !important; } `;\\n      }).join('') || '';\\n      newStyleStr += `div[data-variant-id=\\\"${blockId}-default\\\"] { display: none !important; } `;\\n      visibilityStylesEl.innerHTML = newStyleStr;\\n    }\\n  }\\n}\";","import { TARGET } from '../../constants/target';\nimport { isBrowser } from '../../functions/is-browser';\nimport { isEditing } from '../../functions/is-editing';\nimport type { BuilderBlock } from '../../types/builder-block';\nimport type { Target } from '../../types/targets';\nimport { FILTER_WITH_CUSTOM_TARGETING_SCRIPT, PERSONALIZATION_SCRIPT, UPDATE_VISIBILITY_STYLES_SCRIPT } from './helpers/inlined-fns';\nimport type { PersonalizationContainerProps } from './personalization-container.types';\nexport const DEFAULT_INDEX = 'default';\nconst FILTER_WITH_CUSTOM_TARGETING_SCRIPT_FN_NAME = 'filterWithCustomTargeting';\nconst BUILDER_IO_PERSONALIZATION_SCRIPT_FN_NAME = 'builderIoPersonalization';\nconst UPDATE_VARIANT_VISIBILITY_SCRIPT_FN_NAME = 'updateVisibilityStylesScript';\nexport type UserAttributes = {\n  date?: string | Date;\n  urlPath?: string;\n  [key: string]: any;\n};\ntype QueryOperator = 'is' | 'isNot' | 'contains' | 'startsWith' | 'endsWith' | 'greaterThan' | 'lessThan' | 'greaterThanOrEqualTo' | 'lessThanOrEqualTo';\ntype QueryValue = string | number | boolean | Array<string | number | boolean>;\nexport type Query = {\n  property: string;\n  operator: QueryOperator;\n  value: QueryValue;\n};\ntype BlocksToRenderReturnType = {\n  blocks: BuilderBlock[];\n  path: string;\n  index: number | typeof DEFAULT_INDEX;\n};\n\n/**\n * SDKs that support Variant Containers\n */\nexport const SDKS_SUPPORTING_PERSONALIZATION = (['react', 'vue', 'svelte', 'qwik'] as Target[]);\n\n/**\n * After hydration, we reset the tree\n * These SDKs handle Personalization Container in a special way:\n * - first, the inlined script will help us add `display: none`, `aria-hidden: true` and `hidden: true` to the non-winning variants\n * - then, on mount / when the component is hydrated - we reset the tree with only the winning variant and deleting the entire tree\n *\n * This helps us to avoid flicker and show the correct / winning variant initially and then once we've hydrated we show the winning variant\n * and keep a track of the cookies to update to the correct variant dynamically when the cookie updates.\n */\nexport const SDKS_REQUIRING_RESET_APPROACH = (['vue', 'svelte', 'qwik'] as Target[]);\nexport function checkShouldRenderVariants(variants: PersonalizationContainerProps['variants'], canTrack: boolean) {\n  const hasVariants = variants && variants.length > 0;\n  if (TARGET === 'reactNative') return false;\n  if (!hasVariants) return false;\n  if (!canTrack) return false;\n  if (SDKS_REQUIRING_RESET_APPROACH.includes(TARGET)) return true;\n  if (isBrowser()) return false;\n  return true;\n}\nexport function getBlocksToRender({\n  variants,\n  previewingIndex,\n  isHydrated,\n  filteredVariants,\n  fallbackBlocks\n}: {\n  variants: PersonalizationContainerProps['variants'];\n  previewingIndex?: number | null;\n  isHydrated: boolean;\n  filteredVariants: PersonalizationContainerProps['variants'];\n  fallbackBlocks?: BuilderBlock[];\n}): BlocksToRenderReturnType {\n  const fallback: BlocksToRenderReturnType = {\n    blocks: fallbackBlocks ?? [],\n    path: 'this.children',\n    index: DEFAULT_INDEX\n  };\n  if (isHydrated && isEditing()) {\n    // If editing a specific variant\n    if (typeof previewingIndex === 'number' && previewingIndex < (variants?.length ?? 0)) {\n      const variant = variants?.[previewingIndex];\n      if (variant) {\n        return {\n          blocks: variant.blocks,\n          path: `variants.${previewingIndex}.blocks`,\n          index: previewingIndex\n        };\n      }\n    }\n    // Otherwise we're editing the default variant\n    return fallback;\n  }\n\n  // If we're on the browser, check if there's a winning variant\n  if (isBrowser()) {\n    const winningVariant = filteredVariants?.[0];\n    if (winningVariant && variants) {\n      const variantIndex = variants.indexOf(winningVariant);\n      if (variantIndex !== -1) {\n        return {\n          blocks: winningVariant.blocks,\n          path: `variants.${variantIndex}.blocks`,\n          index: variantIndex\n        };\n      }\n    }\n  }\n\n  // If no winning variant or we are on the server, return the default variant\n  return fallback;\n}\nexport const getInitPersonalizationVariantsFnsScriptString = () => {\n  return `\n  window.${FILTER_WITH_CUSTOM_TARGETING_SCRIPT_FN_NAME} = ${FILTER_WITH_CUSTOM_TARGETING_SCRIPT}\n  window.${BUILDER_IO_PERSONALIZATION_SCRIPT_FN_NAME} = ${PERSONALIZATION_SCRIPT}\n  window.${UPDATE_VARIANT_VISIBILITY_SCRIPT_FN_NAME} = ${UPDATE_VISIBILITY_STYLES_SCRIPT}\n  `;\n};\nconst isHydrationTarget = TARGET === 'react';\nexport const getPersonalizationScript = (variants: PersonalizationContainerProps['variants'], blockId: string, locale?: string) => {\n  return `window.${BUILDER_IO_PERSONALIZATION_SCRIPT_FN_NAME}(${JSON.stringify(variants)}, \"${blockId}\", ${isHydrationTarget}${locale ? `, \"${locale}\"` : ''})`;\n};\nexport const getUpdateVisibilityStylesScript = (variants: PersonalizationContainerProps['variants'], blockId: string, locale?: string) => {\n  return `window.${UPDATE_VARIANT_VISIBILITY_SCRIPT_FN_NAME}(${JSON.stringify(variants)}, \"${blockId}\", ${isHydrationTarget}${locale ? `, \"${locale}\"` : ''})`;\n};\nexport { filterWithCustomTargeting } from './helpers/inlined-fns'","import type { ComponentInfo } from '../../types/components';\nconst defaultTitle = {\n  '@type': '@builder.io/sdk:Element',\n  layerName: 'Accordion item title',\n  responsiveStyles: {\n    large: {\n      marginTop: '10px',\n      position: 'relative',\n      display: 'flex',\n      alignItems: 'stretch',\n      flexDirection: 'column',\n      paddingBottom: '10px'\n    }\n  },\n  children: [{\n    '@type': '@builder.io/sdk:Element',\n    responsiveStyles: {\n      large: {\n        textAlign: 'left',\n        display: 'flex',\n        flexDirection: 'column'\n      }\n    },\n    component: {\n      name: 'Text',\n      options: {\n        text: 'I am an accordion title. Click me!'\n      }\n    }\n  }]\n};\nconst defaultDetail = {\n  '@type': '@builder.io/sdk:Element',\n  layerName: 'Accordion item detail',\n  responsiveStyles: {\n    large: {\n      position: 'relative',\n      display: 'flex',\n      alignItems: 'stretch',\n      flexDirection: 'column',\n      marginTop: '10px',\n      paddingBottom: '10px'\n    }\n  },\n  children: [{\n    '@type': '@builder.io/sdk:Element',\n    responsiveStyles: {\n      large: {\n        paddingTop: '50px',\n        textAlign: 'left',\n        display: 'flex',\n        flexDirection: 'column',\n        paddingBottom: '50px'\n      }\n    },\n    component: {\n      name: 'Text',\n      options: {\n        text: 'I am an accordion detail, hello!'\n      }\n    }\n  }]\n};\nexport const componentInfo: ComponentInfo = {\n  name: 'Builder:Accordion',\n  canHaveChildren: true,\n  image: 'https://cdn.builder.io/api/v1/image/assets%2FagZ9n5CUKRfbL9t6CaJOyVSK4Es2%2Ffab6c1fd3fe542408cbdec078bca7f35',\n  defaultStyles: {\n    display: 'flex',\n    flexDirection: 'column',\n    alignItems: 'stretch'\n  },\n  inputs: [{\n    name: 'items',\n    type: 'list',\n    broadcast: true,\n    subFields: [{\n      name: 'title',\n      type: 'uiBlocks',\n      hideFromUI: true,\n      defaultValue: [defaultTitle]\n    }, {\n      name: 'detail',\n      type: 'uiBlocks',\n      hideFromUI: true,\n      defaultValue: [defaultDetail]\n    }],\n    defaultValue: [{\n      title: [defaultTitle],\n      detail: [defaultDetail]\n    }, {\n      title: [defaultTitle],\n      detail: [defaultDetail]\n    }],\n    showIf: (options: Map<string, any>) => !options.get('useChildrenForItems')\n  }, {\n    name: 'oneAtATime',\n    helperText: 'Only allow opening one at a time (collapse all others when new item openned)',\n    type: 'boolean',\n    defaultValue: false\n  }, {\n    name: 'grid',\n    helperText: 'Display as a grid',\n    type: 'boolean',\n    defaultValue: false\n  }, {\n    name: 'gridRowWidth',\n    helperText: 'Display as a grid',\n    type: 'string',\n    showIf: (options: Map<string, any>) => options.get('grid'),\n    defaultValue: '25%'\n  }, {\n    name: 'useChildrenForItems',\n    type: 'boolean',\n    helperText: 'Use child elements for each slide, instead of the array. Useful for dynamically repeating items',\n    advanced: true,\n    defaultValue: false,\n    onChange: (options: Map<string, any>) => {\n      if (options.get('useChildrenForItems') === true) {\n        options.set('items', []);\n      }\n    }\n  }],\n  shouldReceiveBuilderProps: {\n    builderBlock: true,\n    builderContext: true,\n    builderComponents: true,\n    builderLinkComponent: true\n  }\n}","export const convertOrderNumberToString = (order: number) => {\n  return order.toString();\n}","import {\n  Component,\n  input,\n  effect,\n  signal,\n  computed,\n  InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport Blocks from \"../../components/blocks/index\";\nimport { camelToKebabCase } from \"../../functions/camel-to-kebab-case\";\nimport type { Dictionary } from \"../../types/typescript\";\nimport type { AccordionProps } from \"./accordion.types\";\nimport { convertOrderNumberToString } from \"./helpers\";\n\n@Component({\n  selector: \"accordion\",\n  standalone: true,\n  imports: [CommonModule, Blocks],\n  template: `\n    <div class=\"builder-accordion\" [ngStyle]=\"accordionStyles()\">\n      @for (item of items();track trackByItem0(index, item);let index = $index)\n      {\n      <ng-container>\n        <div\n          [class]=\"getAccordionTitleClassName(index)\"\n          [ngStyle]=\"objSpread_style_oaowqb(item, index)\"\n          [attr.data-index]=\"index\"\n          (click)=\"onClick(index)\"\n        >\n          <blocks\n            [blocks]=\"item.title\"\n            [path]=\"templateStr_z2r7ff(item, index)\"\n            [parent]=\"builderBlock().id\"\n            [context]=\"builderContext()\"\n            [registeredComponents]=\"builderComponents()\"\n            [linkComponent]=\"builderLinkComponent()\"\n          ></blocks>\n        </div>\n        @if(open().includes(index)){\n        <div\n          [class]=\"getAccordionDetailClassName(index)\"\n          [ngStyle]=\"accordionDetailStyles()\"\n        >\n          <blocks\n            [blocks]=\"item.detail\"\n            [path]=\"templateStr_x0msw(item, index)\"\n            [parent]=\"builderBlock().id\"\n            [context]=\"builderContext()\"\n            [registeredComponents]=\"builderComponents()\"\n            [linkComponent]=\"builderLinkComponent()\"\n          ></blocks>\n        </div>\n        }\n      </ng-container>\n      }\n    </div>\n  `,\n  styles: `:host { display: contents; }`,\n})\nexport default class Accordion {\n  grid: InputSignal<AccordionProps[\"grid\"]> = input<AccordionProps[\"grid\"]>();\n  oneAtATime: InputSignal<AccordionProps[\"oneAtATime\"]> =\n    input<AccordionProps[\"oneAtATime\"]>();\n  items: InputSignal<AccordionProps[\"items\"]> =\n    input<AccordionProps[\"items\"]>();\n  gridRowWidth: InputSignal<AccordionProps[\"gridRowWidth\"]> =\n    input<AccordionProps[\"gridRowWidth\"]>();\n  builderBlock: InputSignal<AccordionProps[\"builderBlock\"]> =\n    input<AccordionProps[\"builderBlock\"]>();\n  builderContext: InputSignal<AccordionProps[\"builderContext\"]> =\n    input<AccordionProps[\"builderContext\"]>();\n  builderComponents: InputSignal<AccordionProps[\"builderComponents\"]> =\n    input<AccordionProps[\"builderComponents\"]>();\n  builderLinkComponent: InputSignal<AccordionProps[\"builderLinkComponent\"]> =\n    input<AccordionProps[\"builderLinkComponent\"]>();\n\n  open = signal([]);\n\n  onlyOneAtATime = computed(() => {\n    return Boolean(this.grid() || this.oneAtATime());\n  });\n  accordionStyles = computed(() => {\n    const styles = {\n      display: \"flex\" as \"flex\" | \"none\",\n      alignItems: \"stretch\" as\n        | \"stretch\"\n        | \"flex-start\"\n        | \"flex-end\"\n        | \"center\"\n        | \"baseline\",\n      flexDirection: \"column\" as\n        | \"column\"\n        | \"row\"\n        | \"column-reverse\"\n        | \"row-reverse\",\n      ...(this.grid() && {\n        flexDirection: \"row\" as\n          | \"column\"\n          | \"row\"\n          | \"column-reverse\"\n          | \"row-reverse\",\n        alignItems: \"flex-start\" as\n          | \"stretch\"\n          | \"flex-start\"\n          | \"flex-end\"\n          | \"center\"\n          | \"baseline\",\n        flexWrap: \"wrap\" as \"nowrap\" | \"wrap\",\n      }),\n    };\n    return styles;\n  });\n  accordionTitleStyles = computed(() => {\n    const shared = {\n      display: \"flex\",\n      flexDirection: \"column\",\n    };\n    const styles = {\n      ...shared,\n      alignItems: \"stretch\",\n      cursor: \"pointer\",\n    };\n    return Object.fromEntries(\n      Object.entries(styles).filter(([_, value]) => value !== undefined)\n    ) as Dictionary<string>;\n  });\n  openGridItemOrder = computed(() => {\n    let itemOrder: number | null = null;\n    const getOpenGridItemPosition = this.grid() && this.open().length;\n    if (getOpenGridItemPosition && document) {\n      const openItemIndex = this.open()[0];\n      const openItem = document.querySelector(\n        `.builder-accordion-title[data-index=\"${openItemIndex}\"]`\n      );\n      let subjectItem = openItem;\n      itemOrder = openItemIndex;\n      if (subjectItem) {\n        let prevItemRect = subjectItem.getBoundingClientRect();\n        while ((subjectItem = subjectItem && subjectItem.nextElementSibling)) {\n          if (subjectItem) {\n            if (subjectItem.classList.contains(\"builder-accordion-detail\")) {\n              continue;\n            }\n            const subjectItemRect = subjectItem.getBoundingClientRect();\n            if (subjectItemRect.left > prevItemRect.left) {\n              const index = parseInt(\n                subjectItem.getAttribute(\"data-index\") || \"\",\n                10\n              );\n              if (!isNaN(index)) {\n                prevItemRect = subjectItemRect;\n                itemOrder = index;\n              }\n            } else {\n              break;\n            }\n          }\n        }\n      }\n    }\n    if (typeof itemOrder === \"number\") {\n      itemOrder = itemOrder + 1;\n    }\n    return itemOrder;\n  });\n  accordionDetailStyles = computed(() => {\n    const styles = {\n      ...{\n        order:\n          typeof this.openGridItemOrder() === \"number\"\n            ? (this.openGridItemOrder() as number)\n            : undefined,\n      },\n      ...(this.grid() && {\n        width: \"100%\",\n      }),\n    };\n    return Object.fromEntries(\n      Object.entries(styles).filter(([_, value]) => value !== undefined)\n    ) as Dictionary<string>;\n  });\n  getAccordionTitleClassName(index: number) {\n    return `builder-accordion-title builder-accordion-title-${\n      this.open().includes(index) ? \"open\" : \"closed\"\n    }`;\n  }\n  getAccordionDetailClassName(index: number) {\n    return `builder-accordion-detail builder-accordion-detail-${\n      this.open().includes(index) ? \"open\" : \"closed\"\n    }`;\n  }\n  onClick(index: number) {\n    if (this.open().includes(index)) {\n      this.open.set(\n        this.onlyOneAtATime()\n          ? []\n          : this.open().filter((item) => item !== index)\n      );\n    } else {\n      this.open.set(\n        this.onlyOneAtATime() ? [index] : this.open().concat(index)\n      );\n    }\n  }\n  objSpread_style_oaowqb(item, index) {\n    return {\n      ...this.accordionTitleStyles(),\n      ...(this.grid() && {\n        width: this.gridRowWidth(),\n        ...({\n          order:\n            this.openGridItemOrder() !== null\n              ? convertOrderNumberToString(index)\n              : convertOrderNumberToString(index + 1),\n        } as any),\n      }),\n    };\n  }\n  templateStr_z2r7ff(item, index) {\n    return `items.${index}.title`;\n  }\n  templateStr_x0msw(item, index) {\n    return `items.${index}.detail`;\n  }\n  trackByItem0(index: number, item: any) {\n    return index;\n  }\n\n  constructor() {}\n}\n","import type { ComponentInfo } from '../../types/components';\nexport const componentInfo: ComponentInfo = {\n  name: 'Core:Button',\n  image: '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    name: 'text',\n    type: 'text',\n    defaultValue: 'Click me!',\n    bubble: true\n  }, {\n    name: 'link',\n    type: 'url',\n    bubble: true\n  }, {\n    name: 'openLinkInNewTab',\n    type: 'boolean',\n    defaultValue: false,\n    friendlyName: 'Open link in new tab'\n  }],\n  static: true,\n  noWrap: true,\n  shouldReceiveBuilderProps: {\n    builderLinkComponent: true\n  }\n}","import type { ComponentInfo } from '../../types/components';\nexport const componentInfo: ComponentInfo = {\n  // TODO: ways to statically preprocess JSON for references, functions, etc\n  name: 'Columns',\n  isRSC: true,\n  inputs: [{\n    name: 'columns',\n    type: 'array',\n    broadcast: true,\n    subFields: [{\n      name: 'blocks',\n      type: 'array',\n      hideFromUI: true,\n      defaultValue: [{\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: 'https://builder.io/api/v1/image/assets%2Fpwgjf0RoYWbdnJSbpBAjXNRMe9F2%2Ffb27a7c790324294af8be1c35fe30f4d',\n            backgroundPosition: 'center',\n            backgroundSize: 'cover',\n            aspectRatio: 0.7004048582995948\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      name: 'width',\n      type: 'number',\n      hideFromUI: true,\n      helperText: 'Width %, e.g. set to 50 to fill half of the space'\n    }, {\n      name: 'link',\n      type: 'url',\n      helperText: 'Optionally set a url that clicking this column will link to'\n    }],\n    defaultValue: [{\n      blocks: [{\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: 'https://builder.io/api/v1/image/assets%2Fpwgjf0RoYWbdnJSbpBAjXNRMe9F2%2Ffb27a7c790324294af8be1c35fe30f4d',\n            backgroundPosition: 'center',\n            backgroundSize: 'cover',\n            aspectRatio: 0.7004048582995948\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      blocks: [{\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: 'https://builder.io/api/v1/image/assets%2Fpwgjf0RoYWbdnJSbpBAjXNRMe9F2%2Ffb27a7c790324294af8be1c35fe30f4d',\n            backgroundPosition: 'center',\n            backgroundSize: 'cover',\n            aspectRatio: 0.7004048582995948\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    onChange: (options: Map<string, any>) => {\n      function clearWidths() {\n        columns.forEach(col => {\n          col.delete('width');\n        });\n      }\n      const columns: Array<Map<string, any>> = options.get('columns');\n      if (Array.isArray(columns)) {\n        const containsColumnWithWidth = !!columns.find(col => col.get('width'));\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    name: 'space',\n    type: 'number',\n    defaultValue: 20,\n    helperText: 'Size of gap between columns',\n    advanced: true\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    name: 'reverseColumnsWhenStacked',\n    type: 'boolean',\n    defaultValue: false,\n    helperText: 'When stacking columns for mobile devices, reverse the ordering',\n    advanced: true\n  }],\n  shouldReceiveBuilderProps: {\n    builderBlock: true,\n    builderContext: true,\n    builderComponents: true,\n    builderLinkComponent: true\n  }\n}","import type { ComponentInfo } from '../../types/components';\nexport const componentInfo: ComponentInfo = {\n  name: 'Fragment',\n  static: true,\n  hidden: true,\n  canHaveChildren: true,\n  noWrap: true\n}","export const IMAGE_FILE_TYPES = ['jpeg', 'jpg', 'png', 'svg', 'webp', 'gif', 'jfif', 'pjpeg', 'pjp', 'apng', 'avif', 'tif', 'tiff', 'heif', 'bmp', 'eps', 'raw', 'cr2', 'nef', 'orf', 'sr2', 'psd', 'heic', 'dib', 'ai'];\nexport const VIDEO_FILE_TYPES = ['mp4', 'webm', 'mkv', 'flv', 'vob', 'ogv', 'ogg', 'drc', 'gif', 'gifv', 'mng', 'avi', 'mov', 'qt', 'mts', 'm2ts', 'ts', 'wmv', 'yuv', 'rm', 'rmvb', 'viv', 'asf', 'amv', 'm4p', 'mpeg', 'mpe', 'm2v', 'm4v', 'svi', '3gp', '3g2', 'mxf', 'roq', 'nsv', 'f4v', 'f4p', 'f4a', 'f4b']","import { IMAGE_FILE_TYPES } from '../../constants/file-types';\nimport type { ComponentInfo } from '../../types/components';\nexport const componentInfo: ComponentInfo = {\n  name: 'Image',\n  static: true,\n  image: 'https://firebasestorage.googleapis.com/v0/b/builder-3b0a2.appspot.com/o/images%2Fbaseline-insert_photo-24px.svg?alt=media&token=4e5d0ef4-f5e8-4e57-b3a9-38d63a9b9dc4',\n  defaultStyles: {\n    position: 'relative',\n    minHeight: '20px',\n    minWidth: '20px',\n    overflow: 'hidden'\n  },\n  canHaveChildren: true,\n  inputs: [{\n    name: 'image',\n    type: 'file',\n    bubble: true,\n    allowedFileTypes: IMAGE_FILE_TYPES,\n    required: true,\n    defaultValue: 'https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F72c80f114dc149019051b6852a9e3b7a',\n    onChange: (options: Map<string, any>): void | Promise<void> => {\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          img.addEventListener('error', event => {\n            console.warn('Image load failed', event.error);\n            reject(event.error);\n          });\n          img.src = url;\n          setTimeout(() => {\n            if (!loaded) {\n              reject(new Error('Image load timed out'));\n            }\n          }, timeout);\n        });\n      }\n      function round(num: number) {\n        return Math.round(num * 1000) / 1000;\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).then(res => res.blob()).then(blob => {\n        if (blob.type.includes('svg')) {\n          options.set('noWebp', true);\n        }\n      });\n      if (value && (!aspectRatio || aspectRatio === DEFAULT_ASPECT_RATIO)) {\n        return loadImage(value).then(img => {\n          const possiblyUpdatedAspectRatio = options.get('aspectRatio');\n          if (options.get('image') === value && (!possiblyUpdatedAspectRatio || possiblyUpdatedAspectRatio === DEFAULT_ASPECT_RATIO)) {\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    name: 'backgroundSize',\n    type: 'text',\n    defaultValue: 'cover',\n    enum: [{\n      label: 'contain',\n      value: 'contain',\n      helperText: 'The image should never get cropped'\n    }, {\n      label: 'cover',\n      value: 'cover',\n      helperText: \"The image should fill it's box, cropping when needed\"\n    }]\n  }, {\n    name: 'backgroundPosition',\n    type: 'text',\n    defaultValue: 'center',\n    enum: ['center', 'top', 'left', 'right', 'bottom', 'top left', 'top right', 'bottom left', 'bottom right']\n  }, {\n    name: 'altText',\n    type: 'string',\n    helperText: 'Text to display when the user has images off'\n  }, {\n    name: 'title',\n    type: 'string',\n    helperText: 'Text to display when hovering over the asset'\n  }, {\n    name: 'height',\n    type: 'number',\n    hideFromUI: true\n  }, {\n    name: 'width',\n    type: 'number',\n    hideFromUI: true\n  }, {\n    name: 'sizes',\n    type: 'string',\n    hideFromUI: true\n  }, {\n    name: 'srcset',\n    type: 'string',\n    hideFromUI: true\n  }, {\n    name: 'lazy',\n    type: 'boolean',\n    defaultValue: true,\n    hideFromUI: true\n  }, {\n    name: 'fitContent',\n    type: 'boolean',\n    helperText: \"When child blocks are provided, fit to them instead of using the image's aspect ratio\",\n    defaultValue: true\n  }, {\n    name: 'highPriority',\n    type: 'boolean',\n    advanced: true,\n    helperText: 'Mark this image as high priority compared to other images on the page. This prevents lazy loading of the image and tells the browser to load this image before others on the page.'\n  }, {\n    name: 'aspectRatio',\n    type: 'number',\n    helperText: \"This is the ratio of height/width, e.g. set to 1.5 for a 300px wide and 200px tall photo. Set to 0 to not force the image to maintain it's aspect ratio\",\n    advanced: true,\n    defaultValue: 0.7041\n  }],\n  shouldReceiveBuilderProps: {\n    builderBlock: true\n  }\n}","import type { ComponentInfo } from '../../types/components';\nexport const componentInfo: ComponentInfo = {\n  name: 'PersonalizationContainer',\n  shouldReceiveBuilderProps: {\n    builderBlock: true,\n    builderContext: true,\n    builderComponents: true\n  },\n  noWrap: true,\n  image: 'https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F37229ed30d8c41dfb10b8cca1992053a',\n  canHaveChildren: true,\n  inputs: [{\n    name: 'variants',\n    defaultValue: [],\n    behavior: 'personalizationVariantList',\n    type: 'list',\n    subFields: [{\n      name: 'name',\n      type: 'text'\n    }, {\n      name: 'query',\n      friendlyName: 'Targeting rules',\n      type: 'BuilderQuery',\n      defaultValue: []\n    }, {\n      name: 'startDate',\n      type: 'date'\n    }, {\n      name: 'endDate',\n      type: 'date'\n    }, {\n      name: 'blocks',\n      type: 'uiBlocks',\n      hideFromUI: true,\n      defaultValue: []\n    }]\n  }]\n}","import { CommonModule } from '@angular/common';\n// fails because type imports cannot be injected\n// eslint-disable-next-line @typescript-eslint/consistent-type-imports\nimport { Component, ElementRef, input, Renderer2 } from '@angular/core';\n\ninterface Props {\n  scriptStr: string;\n  id: string;\n  nonce: string;\n}\n\n@Component({\n  selector: 'inlined-script, InlinedScript',\n  template: ``,\n  standalone: true,\n  imports: [CommonModule],\n  styles: [\n    `\n      :host {\n        display: contents;\n      }\n    `,\n  ],\n})\nexport default class InlinedScript {\n  scriptStr = input.required<Props['scriptStr']>();\n  id = input.required<Props['id']>();\n  nonce = input.required<Props['nonce']>();\n\n  constructor(\n    private renderer: Renderer2,\n    private elRef: ElementRef\n  ) {}\n\n  ngOnInit() {\n    const script = this.renderer.createElement('script');\n    script.text = this.scriptStr();\n    this.renderer.setAttribute(script, 'data-id', this.id());\n    this.renderer.setAttribute(script, 'nonce', this.nonce());\n    this.renderer.appendChild(this.elRef.nativeElement, script);\n  }\n}\n","import {\n  Component,\n  viewChild,\n  ElementRef,\n  Renderer2,\n  input,\n  effect,\n  signal,\n  computed,\n  InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport Blocks from \"../../components/blocks/blocks\";\nimport InlinedScript from \"../../components/inlined-script\";\nimport InlinedStyles from \"../../components/inlined-styles\";\nimport { TARGET } from \"../../constants/target\";\nimport { getClassPropName } from \"../../functions/get-class-prop-name\";\nimport { isEditing } from \"../../functions/is-editing\";\nimport { isPreviewing } from \"../../functions/is-previewing\";\nimport { getDefaultCanTrack } from \"../../helpers/canTrack\";\nimport { userAttributesService } from \"../../helpers/user-attributes\";\nimport { filterAttrs } from \"../helpers\";\nimport {\n  checkShouldRenderVariants,\n  DEFAULT_INDEX,\n  filterWithCustomTargeting,\n  getBlocksToRender,\n  getPersonalizationScript,\n  getUpdateVisibilityStylesScript,\n  SDKS_REQUIRING_RESET_APPROACH,\n} from \"./helpers\";\nimport type { PersonalizationContainerProps } from \"./personalization-container.types\";\nimport { setAttrs } from \"../helpers\";\n\n@Component({\n  selector: \"personalization-container\",\n  standalone: true,\n  imports: [CommonModule, Blocks, InlinedStyles, InlinedScript],\n  template: `\n    <div #rootRef #elRef0>\n      @if(shouldResetVariants() &&\n      SDKS_REQUIRING_RESET_APPROACH.includes(TARGET)){\n      <blocks\n        [blocks]=\"blocksToRender().blocks\"\n        [parent]=\"builderBlock()?.id\"\n        [path]=\"blocksToRender().path\"\n        [context]=\"builderContext()\"\n        [registeredComponents]=\"builderComponents()\"\n        [BlocksWrapperProps]=\"objSpread_BlocksWrapperProps_oi5c20()\"\n      ></blocks>\n      } @if(!shouldResetVariants() &&\n      SDKS_REQUIRING_RESET_APPROACH.includes(TARGET) ||\n      !SDKS_REQUIRING_RESET_APPROACH.includes(TARGET)){\n      @if(shouldRenderVariants()){\n      <inlined-styles\n        [nonce]=\"builderContext()?.nonce || ''\"\n        [styles]=\"hideVariantsStyleString()\"\n        [id]=\"templateStr_lw6jtt()\"\n      ></inlined-styles>\n      <inlined-script\n        [nonce]=\"builderContext()?.nonce || ''\"\n        [scriptStr]=\"updateVisibilityStylesScript()\"\n        [id]=\"templateStr_rpibqx()\"\n      ></inlined-script>\n\n      @for (variant of variants();track trackByVariant0(index, variant);let\n      index = $index) {\n      <blocks\n        [BlocksWrapperProps]=\"objSpread_BlocksWrapperProps_wq9i0g(variant, index)\"\n        [blocks]=\"variant.blocks\"\n        [parent]=\"builderBlock()?.id\"\n        [path]=\"templateStr_q6jkc(variant, index)\"\n        [context]=\"builderContext()\"\n        [registeredComponents]=\"builderComponents()\"\n      >\n        <inlined-script\n          [nonce]=\"builderContext()?.nonce || ''\"\n          [scriptStr]=\"scriptStr()\"\n          [id]=\"templateStr_cbpzp5(variant, index)\"\n        ></inlined-script>\n      </blocks>\n      } }\n      <blocks\n        [blocks]=\"blocksToRender().blocks\"\n        [parent]=\"builderBlock()?.id\"\n        [path]=\"blocksToRender().path\"\n        [context]=\"builderContext()\"\n        [registeredComponents]=\"builderComponents()\"\n        [BlocksWrapperProps]=\"objSpread_BlocksWrapperProps_oi5c20()\"\n      >\n        @if(shouldRenderVariants()){\n        <inlined-script\n          [nonce]=\"builderContext()?.nonce || ''\"\n          [scriptStr]=\"scriptStr()\"\n          [id]=\"templateStr_f5w03p()\"\n        ></inlined-script>\n        }\n      </blocks>\n      }\n    </div>\n  `,\n  styles: `:host { display: contents; }`,\n})\nexport default class PersonalizationContainer {\n  protected readonly SDKS_REQUIRING_RESET_APPROACH =\n    SDKS_REQUIRING_RESET_APPROACH;\n  protected readonly TARGET = TARGET;\n\n  builderContext: InputSignal<PersonalizationContainerProps[\"builderContext\"]> =\n    input<PersonalizationContainerProps[\"builderContext\"]>();\n  variants: InputSignal<PersonalizationContainerProps[\"variants\"]> =\n    input<PersonalizationContainerProps[\"variants\"]>();\n  builderBlock: InputSignal<PersonalizationContainerProps[\"builderBlock\"]> =\n    input<PersonalizationContainerProps[\"builderBlock\"]>();\n  attributes: InputSignal<PersonalizationContainerProps[\"attributes\"]> =\n    input<PersonalizationContainerProps[\"attributes\"]>();\n  previewingIndex: InputSignal<\n    PersonalizationContainerProps[\"previewingIndex\"]\n  > = input<PersonalizationContainerProps[\"previewingIndex\"]>();\n  builderComponents: InputSignal<\n    PersonalizationContainerProps[\"builderComponents\"]\n  > = input<PersonalizationContainerProps[\"builderComponents\"]>();\n\n  rootRef = viewChild<ElementRef>(\"rootRef\");\n  elRef0 = viewChild<ElementRef>(\"elRef0\");\n\n  userAttributes = signal(userAttributesService.getUserAttributes());\n  scriptStr = signal(undefined);\n  updateVisibilityStylesScript = signal(undefined);\n  unsubscribers = signal([]);\n  shouldRenderVariants = signal(undefined);\n  shouldResetVariants = signal(false);\n  _listenerFns = new Map();\n\n  attrs = computed(() => {\n    return {\n      ...this.attributes(),\n      ...{},\n      [getClassPropName()]: `builder-personalization-container ${\n        this.attributes()[getClassPropName()] || \"\"\n      }`,\n    };\n  });\n  filteredVariants = computed(() => {\n    return (this.variants() || []).filter((variant) => {\n      return filterWithCustomTargeting(\n        {\n          ...(this.builderContext()?.rootState?.locale\n            ? {\n                locale: this.builderContext()?.rootState?.locale,\n              }\n            : {}),\n          ...(this.userAttributes() as any),\n        },\n        variant.query,\n        variant.startDate,\n        variant.endDate\n      );\n    });\n  });\n  blocksToRender = computed(() => {\n    return getBlocksToRender({\n      variants: this.variants(),\n      fallbackBlocks: this.builderBlock()?.children,\n      isHydrated: this.shouldResetVariants(),\n      filteredVariants: this.filteredVariants(),\n      previewingIndex: this.previewingIndex(),\n    });\n  });\n  hideVariantsStyleString = computed(() => {\n    return (this.variants() || [])\n      .map(\n        (_, index) =>\n          `div[data-variant-id=\"${\n            this.builderBlock()?.id\n          }-${index}\"] { display: none !important; } `\n      )\n      .join(\"\");\n  });\n  objSpread_BlocksWrapperProps_oi5c20 = computed(() => {\n    return {\n      ...this.builderContext()?.BlocksWrapperProps,\n      \"data-variant-id\": `${this.builderBlock()?.id}-${\n        this.blocksToRender().index\n      }`,\n    };\n  });\n  templateStr_lw6jtt() {\n    return `variants-styles-${this.builderBlock()?.id}`;\n  }\n  templateStr_rpibqx() {\n    return `variants-visibility-script-${this.builderBlock()?.id}`;\n  }\n  objSpread_BlocksWrapperProps_wq9i0g(variant, index) {\n    return {\n      ...this.builderContext()?.BlocksWrapperProps,\n      \"aria-hidden\": true,\n      hidden: true,\n      \"data-variant-id\": `${this.builderBlock()?.id}-${index}`,\n    };\n  }\n  templateStr_q6jkc(variant, index) {\n    return `component.options.variants.${index}.blocks`;\n  }\n  templateStr_cbpzp5(variant, index) {\n    return `variants-script-${this.builderBlock()?.id}-${index}`;\n  }\n  templateStr_f5w03p() {\n    return `variants-script-${this.builderBlock()?.id}-${DEFAULT_INDEX}`;\n  }\n  setAttributes(el: HTMLElement, value: any, changes?: any) {\n    if (!el) {\n      return;\n    }\n    const target = typeof changes === \"undefined\" ? value : changes;\n    Object.keys(target).forEach((key) => {\n      if (key.startsWith(\"on\")) {\n        if (this._listenerFns.has(key)) {\n          this._listenerFns.get(key)!();\n        }\n        this._listenerFns.set(\n          key,\n          this.renderer.listen(\n            el,\n            key.replace(\"on\", \"\").toLowerCase(),\n            target[key]\n          )\n        );\n      } else {\n        this.renderer.setAttribute(el, key.toLowerCase(), target[key] ?? \"\");\n      }\n    });\n  }\n  trackByVariant0(index: number, variant: any) {\n    return `${this.builderBlock()?.id}-${index}`;\n  }\n\n  constructor(private renderer: Renderer2) {\n    if (typeof window !== \"undefined\") {\n      effect(\n        () => {\n          this.setAttributes(this.elRef0()?.nativeElement, this.attrs());\n        },\n        {\n          allowSignalWrites: true, // Enable writing to signals inside effects\n        }\n      );\n    }\n  }\n\n  ngOnInit() {\n    this.shouldRenderVariants.set(\n      checkShouldRenderVariants(\n        this.variants(),\n        getDefaultCanTrack(this.builderContext()?.canTrack)\n      )\n    );\n    this.updateVisibilityStylesScript.set(\n      getUpdateVisibilityStylesScript(\n        this.variants(),\n        this.builderBlock()?.id || \"none\",\n        this.builderContext()?.rootState?.locale as string | undefined\n      )\n    );\n    this.scriptStr.set(\n      getPersonalizationScript(\n        this.variants(),\n        this.builderBlock()?.id || \"none\",\n        this.builderContext()?.rootState?.locale as string | undefined\n      )\n    );\n  }\n\n  ngAfterViewInit() {\n    if (typeof window !== \"undefined\") {\n      this.shouldResetVariants.set(true);\n      const unsub = userAttributesService.subscribeOnUserAttributesChange(\n        (attrs) => {\n          this.userAttributes.set(attrs);\n        },\n        {\n          fireImmediately: TARGET === \"qwik\",\n        }\n      );\n      if (!(isEditing() || isPreviewing())) {\n        const variant = this.filteredVariants()[0];\n        if (this.rootRef()?.nativeElement) {\n          this.rootRef()?.nativeElement.dispatchEvent(\n            new CustomEvent(\"builder.variantLoaded\", {\n              detail: {\n                variant: variant || DEFAULT_INDEX,\n                content: this.builderContext()?.content,\n              },\n              bubbles: true,\n            })\n          );\n          const observer = new IntersectionObserver((entries) => {\n            entries.forEach((entry) => {\n              if (entry.isIntersecting && this.rootRef()?.nativeElement) {\n                this.rootRef()?.nativeElement.dispatchEvent(\n                  new CustomEvent(\"builder.variantDisplayed\", {\n                    detail: {\n                      variant: variant || DEFAULT_INDEX,\n                      content: this.builderContext()?.content,\n                    },\n                    bubbles: true,\n                  })\n                );\n              }\n            });\n          });\n          observer.observe(this.rootRef()?.nativeElement);\n        }\n      }\n      this.unsubscribers().push(unsub);\n    }\n    this.setAttributes(this.elRef0()?.nativeElement, this.attrs());\n  }\n\n  ngOnDestroy() {\n    this.unsubscribers().forEach((unsub) => unsub());\n  }\n}\n","import type { ComponentInfo } from '../../types/components';\nexport const componentInfo: ComponentInfo = {\n  name: 'Core:Section',\n  static: true,\n  image: 'https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2F682efef23ace49afac61748dd305c70a',\n  inputs: [{\n    name: 'maxWidth',\n    type: 'number',\n    defaultValue: 1200\n  }, {\n    name: 'lazyLoad',\n    type: 'boolean',\n    defaultValue: false,\n    advanced: true,\n    description: 'Only render this section when in view'\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  defaultChildren: [{\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}","import type { ComponentInfo } from '../../types/components';\nexport const componentInfo: ComponentInfo = {\n  name: 'Slot',\n  isRSC: true,\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: 'https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F3aad6de36eae43b59b52c85190fdef56',\n  // Maybe wrap this for canHaveChildren so bind children to this hm\n  inputs: [{\n    name: 'name',\n    type: 'string',\n    required: true,\n    defaultValue: 'children'\n  }],\n  shouldReceiveBuilderProps: {\n    builderContext: true,\n    builderComponents: true\n  }\n}","import {\n  Component,\n  viewChild,\n  ElementRef,\n  Renderer2,\n  input,\n  effect,\n  signal,\n  computed,\n  InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nexport type DropzoneProps = BuilderDataProps &\n  BuilderComponentsProp & {\n    name: string;\n    attributes: any;\n  };\n\nimport Blocks from \"../../components/blocks/blocks\";\nimport { deoptSignal } from \"../../functions/deopt\";\nimport type { BuilderBlock } from \"../../types/builder-block\";\nimport type {\n  BuilderComponentsProp,\n  BuilderDataProps,\n} from \"../../types/builder-props\";\n\n@Component({\n  selector: \"slot\",\n  standalone: true,\n  imports: [CommonModule, Blocks],\n  template: `\n    <div\n      [ngStyle]=\"{\n          pointerEvents: 'auto'\n        }\"\n      #elRef0\n    >\n      <blocks\n        [parent]=\"objSpread_parent_76vll8()\"\n        [path]=\"templateStr_y9vvxs()\"\n        [context]=\"builderContext()\"\n        [registeredComponents]=\"builderComponents()\"\n        [blocks]=\"objSpread_blocks_j4a76r()\"\n      ></blocks>\n    </div>\n  `,\n  styles: `:host { display: contents; }`,\n})\nexport default class Slot {\n  builderContext: InputSignal<DropzoneProps[\"builderContext\"]> =\n    input<DropzoneProps[\"builderContext\"]>();\n  name: InputSignal<DropzoneProps[\"name\"]> = input<DropzoneProps[\"name\"]>();\n  builderComponents: InputSignal<DropzoneProps[\"builderComponents\"]> =\n    input<DropzoneProps[\"builderComponents\"]>();\n\n  elRef0 = viewChild<ElementRef>(\"elRef0\");\n\n  _listenerFns = new Map();\n\n  objSpread_parent_76vll8 = computed(() => {\n    return this.builderContext().context?.symbolId as string;\n  });\n  objSpread_blocks_j4a76r = computed(() => {\n    return this.builderContext().rootState?.[this.name()] as BuilderBlock[];\n  });\n  templateStr_y9vvxs() {\n    return `symbol.data.${this.name()}`;\n  }\n  setAttributes(el: HTMLElement, value: any, changes?: any) {\n    if (!el) {\n      return;\n    }\n    const target = typeof changes === \"undefined\" ? value : changes;\n    Object.keys(target).forEach((key) => {\n      if (key.startsWith(\"on\")) {\n        if (this._listenerFns.has(key)) {\n          this._listenerFns.get(key)!();\n        }\n        this._listenerFns.set(\n          key,\n          this.renderer.listen(\n            el,\n            key.replace(\"on\", \"\").toLowerCase(),\n            target[key]\n          )\n        );\n      } else {\n        this.renderer.setAttribute(el, key.toLowerCase(), target[key] ?? \"\");\n      }\n    });\n  }\n\n  constructor(private renderer: Renderer2) {\n    if (typeof window !== \"undefined\") {\n      effect(\n        () => {\n          this.setAttributes(\n            this.elRef0()?.nativeElement,\n            !this.builderContext().context?.symbolId && {\n              \"builder-slot\": this.name(),\n            }\n          );\n        },\n        {\n          allowSignalWrites: true, // Enable writing to signals inside effects\n        }\n      );\n    }\n  }\n\n  ngAfterViewInit() {\n    this.setAttributes(\n      this.elRef0()?.nativeElement,\n      !this.builderContext().context?.symbolId && {\n        \"builder-slot\": this.name(),\n      }\n    );\n  }\n\n  ngOnDestroy() {\n    for (const fn of this._listenerFns.values()) {\n      fn();\n    }\n  }\n}\n","import type { ComponentInfo } from '../../types/components';\nexport const componentInfo: ComponentInfo = {\n  name: 'Symbol',\n  noWrap: true,\n  static: true,\n  isRSC: true,\n  inputs: [{\n    name: 'symbol',\n    type: 'uiSymbol'\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    name: 'inheritState',\n    helperText: 'Inherit the parent component state and data',\n    type: 'boolean',\n    defaultValue: false,\n    advanced: true\n  }, {\n    name: 'renderToLiquid',\n    helperText: 'Render this symbols contents to liquid. Turn off to fetch with javascript and use custom targeting',\n    type: 'boolean',\n    defaultValue: false,\n    advanced: true,\n    hideFromUI: true\n  }, {\n    name: 'useChildren',\n    hideFromUI: true,\n    type: 'boolean'\n  }],\n  shouldReceiveBuilderProps: {\n    builderBlock: true,\n    builderContext: true,\n    builderComponents: true,\n    builderLinkComponent: true\n  }\n}","import type { ComponentInfo } from '../../types/components';\nconst defaultTab = {\n  '@type': '@builder.io/sdk:Element',\n  responsiveStyles: {\n    large: {\n      paddingLeft: '20px',\n      paddingRight: '20px',\n      paddingTop: '10px',\n      paddingBottom: '10px',\n      minWidth: '100px',\n      textAlign: 'center',\n      display: 'flex',\n      flexDirection: 'column',\n      cursor: 'pointer',\n      userSelect: 'none'\n    }\n  },\n  component: {\n    name: 'Text',\n    options: {\n      text: 'New tab'\n    }\n  }\n};\nconst defaultElement = {\n  '@type': '@builder.io/sdk:Element',\n  responsiveStyles: {\n    large: {\n      height: '200px',\n      display: 'flex',\n      marginTop: '20px',\n      flexDirection: 'column'\n    }\n  },\n  component: {\n    name: 'Text',\n    options: {\n      text: 'New tab content '\n    }\n  }\n};\nexport const componentInfo: ComponentInfo = {\n  name: 'Builder: Tabs',\n  inputs: [{\n    name: 'tabs',\n    type: 'list',\n    broadcast: true,\n    subFields: [{\n      name: 'label',\n      type: 'uiBlocks',\n      hideFromUI: true,\n      defaultValue: [defaultTab]\n    }, {\n      name: 'content',\n      type: 'uiBlocks',\n      hideFromUI: true,\n      defaultValue: [defaultElement]\n    }],\n    defaultValue: [{\n      label: [{\n        ...defaultTab,\n        component: {\n          name: 'Text',\n          options: {\n            text: 'Tab 1'\n          }\n        }\n      }],\n      content: [{\n        ...defaultElement,\n        component: {\n          name: 'Text',\n          options: {\n            text: 'Tab 1 content'\n          }\n        }\n      }]\n    }, {\n      label: [{\n        ...defaultTab,\n        component: {\n          name: 'Text',\n          options: {\n            text: 'Tab 2'\n          }\n        }\n      }],\n      content: [{\n        ...defaultElement,\n        component: {\n          name: 'Text',\n          options: {\n            text: 'Tab 2 content'\n          }\n        }\n      }]\n    }]\n  }, {\n    name: 'activeTabStyle',\n    type: 'uiStyle',\n    helperText: 'CSS styles for the active tab',\n    defaultValue: {\n      backgroundColor: 'rgba(0, 0, 0, 0.1)'\n    }\n  }, {\n    name: 'defaultActiveTab',\n    type: 'number',\n    helperText: 'Default tab to open to. Set to \"1\" for the first tab, \"2\" for the second, or choose \"0\" for none',\n    defaultValue: 1,\n    advanced: true\n  }, {\n    name: 'collapsible',\n    type: 'boolean',\n    helperText: 'If on, clicking an open tab closes it so no tabs are active',\n    defaultValue: false,\n    advanced: true\n  }, {\n    name: 'tabHeaderLayout',\n    type: 'enum',\n    helperText: 'Change the layout of the tab headers (uses justify-content)',\n    defaultValue: 'flex-start',\n    enum: [{\n      label: 'Center',\n      value: 'center'\n    }, {\n      label: 'Space between',\n      value: 'space-between'\n    }, {\n      label: 'Space around',\n      value: 'space-around'\n    }, {\n      label: 'Left',\n      value: 'flex-start'\n    }, {\n      label: 'Right',\n      value: 'flex-end'\n    }]\n  }],\n  shouldReceiveBuilderProps: {\n    builderBlock: true,\n    builderContext: true,\n    builderComponents: true,\n    builderLinkComponent: true\n  }\n}","import { Component, input, effect, signal, InputSignal } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport Blocks from \"../../components/blocks/blocks\";\nimport type { BuilderBlock } from \"../../types/builder-block\";\nimport type { TabsProps } from \"./tabs.types\";\n\n@Component({\n  selector: \"tabs\",\n  standalone: true,\n  imports: [CommonModule, Blocks],\n  template: `\n    <div>\n      <div\n        class=\"builder-tabs-wrap\"\n        [ngStyle]=\"{\n          display: 'flex',\n          flexDirection: 'row',\n          justifyContent: tabHeaderLayout() || 'flex-start',\n          overflow: 'auto'\n        }\"\n      >\n        @for (tab of tabs();track trackByTab0(index, tab);let index = $index) {\n        <span\n          [class]=\"templateStr_1fubij(tab, index)\"\n          [ngStyle]=\"getTabStyle(index)\"\n          (click)=\"onClick(index)\"\n        >\n          <blocks\n            [parent]=\"builderBlock().id\"\n            [path]=\"templateStr_fz5znr(tab, index)\"\n            [blocks]=\"tab.label\"\n            [context]=\"builderContext()\"\n            [registeredComponents]=\"builderComponents()\"\n            [linkComponent]=\"builderLinkComponent()\"\n          ></blocks>\n        </span>\n        }\n      </div>\n      @if(activeTabContent(activeTab())){\n      <div>\n        <blocks\n          [parent]=\"builderBlock().id\"\n          [path]=\"templateStr_nlekn6()\"\n          [blocks]=\"activeTabContent(activeTab())\"\n          [context]=\"builderContext()\"\n          [registeredComponents]=\"builderComponents()\"\n          [linkComponent]=\"builderLinkComponent()\"\n        ></blocks>\n      </div>\n      }\n    </div>\n  `,\n  styles: `:host { display: contents; }`,\n})\nexport default class Tabs {\n  defaultActiveTab: InputSignal<TabsProps[\"defaultActiveTab\"]> =\n    input<TabsProps[\"defaultActiveTab\"]>();\n  tabs: InputSignal<TabsProps[\"tabs\"]> = input<TabsProps[\"tabs\"]>();\n  activeTabStyle: InputSignal<TabsProps[\"activeTabStyle\"]> =\n    input<TabsProps[\"activeTabStyle\"]>();\n  collapsible: InputSignal<TabsProps[\"collapsible\"]> =\n    input<TabsProps[\"collapsible\"]>();\n  tabHeaderLayout: InputSignal<TabsProps[\"tabHeaderLayout\"]> =\n    input<TabsProps[\"tabHeaderLayout\"]>();\n  builderBlock: InputSignal<TabsProps[\"builderBlock\"]> =\n    input<TabsProps[\"builderBlock\"]>();\n  builderContext: InputSignal<TabsProps[\"builderContext\"]> =\n    input<TabsProps[\"builderContext\"]>();\n  builderComponents: InputSignal<TabsProps[\"builderComponents\"]> =\n    input<TabsProps[\"builderComponents\"]>();\n  builderLinkComponent: InputSignal<TabsProps[\"builderLinkComponent\"]> =\n    input<TabsProps[\"builderLinkComponent\"]>();\n\n  activeTab = signal(undefined);\n\n  activeTabContent(active: number) {\n    return this.tabs() && this.tabs()[active].content;\n  }\n  getTabStyle(index: number) {\n    return index === this.activeTab() ? this.activeTabStyle() : {};\n  }\n  onClick(index: number) {\n    if (index === this.activeTab() && this.collapsible()) {\n      this.activeTab.set(-1);\n    } else {\n      this.activeTab.set(index);\n    }\n  }\n  templateStr_1fubij(tab, index) {\n    return `builder-tab-wrap ${\n      this.activeTab() === index ? \"builder-tab-active\" : \"\"\n    }`;\n  }\n  templateStr_fz5znr(tab, index) {\n    return `tabs.${index}.label`;\n  }\n  templateStr_nlekn6() {\n    return `tabs.${this.activeTab()}.content`;\n  }\n  trackByTab0(index: number, tab: any) {\n    return index;\n  }\n\n  constructor() {}\n\n  ngOnInit() {\n    this.activeTab.set(\n      this.defaultActiveTab() ? this.defaultActiveTab() - 1 : 0\n    );\n  }\n}\n","import { TARGET } from '../../constants/target';\nimport type { ComponentInfo } from '../../types/components';\nexport const componentInfo: ComponentInfo = {\n  shouldReceiveBuilderProps: TARGET === 'reactNative' ? {\n    builderBlock: true,\n    builderContext: true\n  } : {},\n  name: 'Text',\n  static: true,\n  image: 'https://firebasestorage.googleapis.com/v0/b/builder-3b0a2.appspot.com/o/images%2Fbaseline-text_fields-24px%20(1).svg?alt=media&token=12177b73-0ee3-42ca-98c6-0dd003de1929',\n  inputs: [{\n    name: 'text',\n    type: 'html',\n    required: true,\n    autoFocus: true,\n    bubble: true,\n    defaultValue: 'Enter some text...'\n  }],\n  defaultStyles: {\n    lineHeight: 'normal',\n    height: 'auto',\n    textAlign: 'center'\n  }\n}","import {\n  Component,\n  input,\n  effect,\n  ChangeDetectionStrategy,\n  InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { DomSanitizer } from \"@angular/platform-browser\";\n\nimport type { TextProps } from \"./text.types\";\n\n@Component({\n  selector: \"text\",\n  standalone: true,\n  imports: [CommonModule],\n  template: `\n    <div\n      class=\"builder-text\"\n      [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(text()?.toString() || '')\"\n      [ngStyle]=\"{\n          outline: 'none'\n        }\"\n    ></div>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  styles: `:host { display: contents; }`,\n})\nexport default class Text {\n  text: InputSignal<TextProps[\"text\"]> = input<TextProps[\"text\"]>();\n\n  constructor(protected sanitizer: DomSanitizer) {}\n}\n","import type { ComponentInfo } from '../../types/components';\nexport const componentInfo: ComponentInfo = {\n  name: 'Custom Code',\n  static: true,\n  requiredPermissions: ['editCode'],\n  inputs: [{\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    name: 'replaceNodes',\n    type: 'boolean',\n    helperText: 'Preserve server rendered dom nodes',\n    advanced: true\n  }, {\n    name: 'scriptsClientOnly',\n    type: 'boolean',\n    defaultValue: false,\n    helperText: 'Only print and run scripts on the client. Important when scripts influence DOM that could be replaced when client loads',\n    advanced: true\n  }]\n}","import {\n  Component,\n  viewChild,\n  ElementRef,\n  input,\n  effect,\n  signal,\n  ChangeDetectionStrategy,\n  InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { DomSanitizer } from \"@angular/platform-browser\";\n\nexport interface CustomCodeProps {\n  code: string;\n  replaceNodes?: boolean;\n}\n\nimport { isEditing } from \"../../functions/is-editing\";\nimport { logger } from \"../../helpers/logger\";\n\n@Component({\n  selector: \"custom-code\",\n  standalone: true,\n  imports: [CommonModule],\n  template: `\n    <div\n      #elementRef\n      [class]=\"'builder-custom-code' + (replaceNodes() ? ' replace-nodes' : '')\"\n      [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(code())\"\n    ></div>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  styles: `:host { display: contents; }`,\n})\nexport default class CustomCode {\n  code: InputSignal<CustomCodeProps[\"code\"]> = input<CustomCodeProps[\"code\"]>();\n  replaceNodes: InputSignal<CustomCodeProps[\"replaceNodes\"]> =\n    input<CustomCodeProps[\"replaceNodes\"]>();\n\n  elementRef = viewChild<ElementRef>(\"elementRef\");\n\n  scriptsInserted = signal([]);\n  scriptsRun = signal([]);\n\n  runScripts() {\n    if (\n      !this.elementRef()?.nativeElement ||\n      !this.elementRef()?.nativeElement?.getElementsByTagName ||\n      typeof window === \"undefined\"\n    ) {\n      return;\n    }\n    const scripts =\n      this.elementRef()?.nativeElement.getElementsByTagName(\"script\");\n    for (let i = 0; i < scripts.length; i++) {\n      const script = scripts[i];\n      if (script.src) {\n        if (this.scriptsInserted().includes(script.src)) {\n          continue;\n        }\n        this.scriptsInserted().push(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        [\n          \"text/javascript\",\n          \"application/javascript\",\n          \"application/ecmascript\",\n        ].includes(script.type)\n      ) {\n        if (this.scriptsRun().includes(script.innerText)) {\n          continue;\n        }\n        try {\n          requestAnimationFrame(() => {\n            this.scriptsRun().push(script.innerText);\n            new Function(script.innerText)();\n          });\n        } catch (error) {\n          logger.warn(\n            \"[BUILDER.IO] `CustomCode`: Error running script:\",\n            error\n          );\n        }\n      }\n    }\n  }\n\n  constructor(protected sanitizer: DomSanitizer) {\n    if (typeof window !== \"undefined\") {\n      effect(\n        () => {\n          // --- Mitosis: Workaround to make sure the effect() is triggered ---\n          this.code();\n          // ---\n\n          if (isEditing()) {\n            setTimeout(() => {\n              this.runScripts();\n            }, 0);\n          }\n        },\n        {\n          allowSignalWrites: true, // Enable writing to signals inside effects\n        }\n      );\n    }\n  }\n\n  ngAfterViewInit() {\n    if (typeof window !== \"undefined\") {\n      this.runScripts();\n    }\n  }\n}\n","import type { ComponentInfo } from '../../types/components';\nexport const componentInfo: ComponentInfo = {\n  name: 'Embed',\n  static: true,\n  inputs: [{\n    name: 'url',\n    type: 'url',\n    required: true,\n    defaultValue: '',\n    helperText: 'e.g. enter a youtube url, google map, etc'\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}","const SCRIPT_MIME_TYPES = ['text/javascript', 'application/javascript', 'application/ecmascript'];\nexport const isJsScript = (script: HTMLScriptElement) => SCRIPT_MIME_TYPES.includes(script.type)","import {\n  Component,\n  viewChild,\n  ElementRef,\n  input,\n  effect,\n  signal,\n  ChangeDetectionStrategy,\n  InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { DomSanitizer } from \"@angular/platform-browser\";\n\nexport interface EmbedProps {\n  content: string;\n}\n\nimport { logger } from \"../../helpers/logger\";\nimport { isJsScript } from \"./helpers\";\n\n@Component({\n  selector: \"builder-embed\",\n  standalone: true,\n  imports: [CommonModule],\n  template: `\n    <div\n      class=\"builder-embed\"\n      #elem\n      [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(content())\"\n    ></div>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  styles: `:host { display: contents; }`,\n})\nexport default class Embed {\n  content: InputSignal<EmbedProps[\"content\"]> = input<EmbedProps[\"content\"]>();\n\n  elem = viewChild<ElementRef>(\"elem\");\n\n  scriptsInserted = signal([]);\n  scriptsRun = signal([]);\n  ranInitFn = signal(false);\n\n  findAndRunScripts() {\n    if (\n      !this.elem()?.nativeElement ||\n      !this.elem()?.nativeElement.getElementsByTagName\n    )\n      return;\n    const scripts = this.elem()?.nativeElement.getElementsByTagName(\"script\");\n    for (let i = 0; i < scripts.length; i++) {\n      const script = scripts[i];\n      if (script.src && !this.scriptsInserted().includes(script.src)) {\n        this.scriptsInserted().push(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        isJsScript(script) &&\n        !this.scriptsRun().includes(script.innerText)\n      ) {\n        try {\n          requestAnimationFrame(() => {\n            this.scriptsRun().push(script.innerText);\n            new Function(script.innerText)();\n          });\n        } catch (error) {\n          logger.warn(\"[BUILDER.IO] `Embed`: Error running script:\", error);\n        }\n      }\n    }\n  }\n\n  constructor(protected sanitizer: DomSanitizer) {\n    if (typeof window !== \"undefined\") {\n      effect(\n        () => {\n          // --- Mitosis: Workaround to make sure the effect() is triggered ---\n          this.elem();\n          this.ranInitFn();\n          // ---\n\n          if (this.elem()?.nativeElement && !this.ranInitFn()) {\n            this.ranInitFn.set(true);\n            this.findAndRunScripts();\n          }\n        },\n        {\n          allowSignalWrites: true, // Enable writing to signals inside effects\n        }\n      );\n    }\n  }\n}\n","import type { ComponentInfo } from '../../../types/components';\nexport const componentInfo: ComponentInfo = {\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: 'https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2Fef36d2a846134910b64b88e6d18c5ca5',\n  inputs: [{\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      label: 'Send to email',\n      value: 'email',\n      helperText: 'Send form submissions to the email address of your choosing'\n    }, {\n      label: 'Custom',\n      value: 'custom',\n      helperText: 'Handle where the form requests go manually with a little code, e.g. to your own custom backend'\n    }],\n    defaultValue: 'email'\n  }, {\n    name: 'sendSubmissionsToEmail',\n    type: 'string',\n    required: true,\n    // TODO: required: () => options.get(\"sendSubmissionsTo\") === \"email\"\n    defaultValue: 'your@email.com',\n    showIf: 'options.get(\"sendSubmissionsTo\") === \"email\"'\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    name: 'name',\n    type: 'string',\n    defaultValue: 'My form'\n    // advanced: true\n  }, {\n    name: 'action',\n    type: 'string',\n    helperText: 'URL to send the form data to',\n    showIf: 'options.get(\"sendSubmissionsTo\") === \"custom\"'\n  }, {\n    name: 'contentType',\n    type: 'string',\n    defaultValue: 'application/json',\n    advanced: true,\n    // TODO: do automatically if file input\n    enum: ['application/json', 'multipart/form-data', 'application/x-www-form-urlencoded'],\n    showIf: 'options.get(\"sendSubmissionsTo\") === \"custom\" && options.get(\"sendWithJs\") === true'\n  }, {\n    name: 'method',\n    type: 'string',\n    showIf: 'options.get(\"sendSubmissionsTo\") === \"custom\"',\n    defaultValue: 'POST',\n    advanced: true\n  }, {\n    name: 'previewState',\n    type: 'string',\n    // TODO: persist: false flag\n    enum: ['unsubmitted', 'sending', 'success', 'error'],\n    defaultValue: 'unsubmitted',\n    helperText: '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    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    name: 'resetFormOnSubmit',\n    type: 'boolean',\n    showIf: \"options.get('sendSubmissionsTo') === 'custom' && options.get('sendWithJs') === true\",\n    advanced: true\n  }, {\n    name: 'successMessage',\n    type: 'uiBlocks',\n    hideFromUI: true,\n    defaultValue: [{\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    name: 'validate',\n    type: 'boolean',\n    defaultValue: true,\n    advanced: true\n  }, {\n    name: 'errorMessagePath',\n    type: 'text',\n    advanced: true,\n    helperText: 'Path to where to get the error message from in a JSON response to display to the user, e.g. \"error.message\" for a response like { \"error\": { \"message\": \"this username is taken\" }}'\n  }, {\n    name: 'errorMessage',\n    type: 'uiBlocks',\n    hideFromUI: true,\n    defaultValue: [{\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          text: '<span>Form submission error :( Please check your answers and try again</span>'\n        }\n      }\n    }]\n  }, {\n    name: 'sendingMessage',\n    type: 'uiBlocks',\n    hideFromUI: true,\n    defaultValue: [{\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>Sending...</span>'\n        }\n      }\n    }]\n  }, {\n    name: 'customHeaders',\n    type: 'map',\n    valueType: {\n      type: 'string'\n    },\n    advanced: true,\n    showIf: 'options.get(\"sendSubmissionsTo\") === \"custom\" && options.get(\"sendWithJs\") === true'\n  }],\n  noWrap: true,\n  canHaveChildren: true,\n  defaultChildren: [{\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    '@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    '@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    '@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    '@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  shouldReceiveBuilderProps: {\n    builderBlock: true,\n    builderContext: true,\n    builderComponents: true,\n    builderLinkComponent: true\n  }\n}","export const validEnvList = ['production', 'qa', 'test', 'development', 'dev', 'cdn-qa', 'cloud', 'fast', 'cdn2', 'cdn-prod'];\nexport const getEnv = (): string => {\n  const env = process.env.NODE_ENV || 'production';\n  return validEnvList.includes(env) ? env : 'production';\n}","import {\n  Component,\n  viewChild,\n  ElementRef,\n  Renderer2,\n  input,\n  effect,\n  signal,\n  InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\n/**\n * This import is used by the Svelte SDK. Do not remove.\n */\n\nexport type FormProps = BuilderDataProps &\n  BuilderComponentsProp &\n  BuilderLinkComponentProp & {\n    attributes?: any;\n    name?: string;\n    action?: string;\n    validate?: boolean;\n    method?: string;\n    sendSubmissionsTo?: string;\n    sendSubmissionsToEmail?: string;\n    sendWithJs?: boolean;\n    contentType?: string;\n    customHeaders?: {\n      [key: string]: string;\n    };\n    successUrl?: string;\n    previewState?: FormState;\n    successMessage?: BuilderBlock[];\n    errorMessage?: BuilderBlock[];\n    sendingMessage?: BuilderBlock[];\n    resetFormOnSubmit?: boolean;\n    errorMessagePath?: string;\n    children?: any;\n  };\n/**\n * This import is used by the Svelte SDK. Do not remove.\n */\n\nexport type FormState = \"unsubmitted\" | \"sending\" | \"success\" | \"error\";\n\nimport Blocks from \"../../../components/blocks/blocks\";\nimport { getEnv } from \"../../../functions/get-env\";\nimport { get } from \"../../../functions/get\";\nimport { isEditing } from \"../../../functions/is-editing\";\nimport { set } from \"../../../functions/set\";\nimport type { BuilderBlock } from \"../../../types/builder-block\";\nimport type {\n  BuilderComponentsProp,\n  BuilderDataProps,\n  BuilderLinkComponentProp,\n} from \"../../../types/builder-props\";\nimport type { Dictionary } from \"../../../types/typescript\";\nimport { filterAttrs } from \"../../helpers\";\nimport { logFetch } from \"../../../functions/log-fetch\";\nimport { setAttrs } from \"../../helpers\";\n\n@Component({\n  selector: \"form-component\",\n  standalone: true,\n  imports: [CommonModule, Blocks],\n  template: `\n    <form\n      [attr.validate]=\"validate()\"\n      #formRef\n      [attr.action]=\"!sendWithJs() && action()\"\n      [attr.method]=\"method()\"\n      [attr.name]=\"name()\"\n      (submit)=\"onSubmit($event)\"\n      #elRef0\n    >\n      <ng-content></ng-content>\n      @if(submissionState() === 'error'){\n      <blocks\n        path=\"errorMessage\"\n        [blocks]=\"errorMessage()!\"\n        [context]=\"builderContext()\"\n      ></blocks>\n      } @if(submissionState() === 'sending'){\n      <blocks\n        path=\"sendingMessage\"\n        [blocks]=\"sendingMessage()!\"\n        [context]=\"builderContext()\"\n      ></blocks>\n      } @if(submissionState() === 'error' && responseData()){\n      <pre class=\"builder-form-error-text pre\">\n        {{errorResponse(responseData())}}</pre\n      >\n      } @if(submissionState() === 'success'){\n      <blocks\n        path=\"successMessage\"\n        [blocks]=\"successMessage()!\"\n        [context]=\"builderContext()\"\n      ></blocks>\n      }\n    </form>\n  `,\n  styles: `:host { display: contents; }\n        .pre {\n          padding: 10px;\n          color: red;\n          text-align: center;\n        }\n`,\n})\nexport default class FormComponent {\n  builderContext: InputSignal<FormProps[\"builderContext\"]> =\n    input<FormProps[\"builderContext\"]>();\n  previewState: InputSignal<FormProps[\"previewState\"]> =\n    input<FormProps[\"previewState\"]>();\n  sendWithJs: InputSignal<FormProps[\"sendWithJs\"]> =\n    input<FormProps[\"sendWithJs\"]>();\n  sendSubmissionsTo: InputSignal<FormProps[\"sendSubmissionsTo\"]> =\n    input<FormProps[\"sendSubmissionsTo\"]>();\n  action: InputSignal<FormProps[\"action\"]> = input<FormProps[\"action\"]>();\n  customHeaders: InputSignal<FormProps[\"customHeaders\"]> =\n    input<FormProps[\"customHeaders\"]>();\n  contentType: InputSignal<FormProps[\"contentType\"]> =\n    input<FormProps[\"contentType\"]>();\n  sendSubmissionsToEmail: InputSignal<FormProps[\"sendSubmissionsToEmail\"]> =\n    input<FormProps[\"sendSubmissionsToEmail\"]>();\n  name: InputSignal<FormProps[\"name\"]> = input<FormProps[\"name\"]>();\n  method: InputSignal<FormProps[\"method\"]> = input<FormProps[\"method\"]>();\n  errorMessagePath: InputSignal<FormProps[\"errorMessagePath\"]> =\n    input<FormProps[\"errorMessagePath\"]>();\n  resetFormOnSubmit: InputSignal<FormProps[\"resetFormOnSubmit\"]> =\n    input<FormProps[\"resetFormOnSubmit\"]>();\n  successUrl: InputSignal<FormProps[\"successUrl\"]> =\n    input<FormProps[\"successUrl\"]>();\n  validate: InputSignal<FormProps[\"validate\"]> = input<FormProps[\"validate\"]>();\n  attributes: InputSignal<FormProps[\"attributes\"]> =\n    input<FormProps[\"attributes\"]>();\n  errorMessage: InputSignal<FormProps[\"errorMessage\"]> =\n    input<FormProps[\"errorMessage\"]>();\n  sendingMessage: InputSignal<FormProps[\"sendingMessage\"]> =\n    input<FormProps[\"sendingMessage\"]>();\n  successMessage: InputSignal<FormProps[\"successMessage\"]> =\n    input<FormProps[\"successMessage\"]>();\n\n  formRef = viewChild<ElementRef>(\"formRef\");\n  elRef0 = viewChild<ElementRef>(\"elRef0\");\n\n  formState = signal(\"unsubmitted\");\n  responseData = signal(null);\n  formErrorMessage = signal(\"\");\n  _listenerFns = new Map();\n\n  mergeNewRootState(newData: Dictionary<any>) {\n    const combinedState = {\n      ...this.builderContext().rootState,\n      ...newData,\n    };\n    if (this.builderContext().rootSetState) {\n      this.builderContext().rootSetState?.(combinedState);\n    } else {\n      this.builderContext().rootState = combinedState;\n    }\n  }\n  submissionState() {\n    return (isEditing() && this.previewState()) || this.formState();\n  }\n  errorResponse(response: any) {\n    return JSON.stringify(response, null, 2);\n  }\n  onSubmit(event: any) {\n    const sendWithJsProp =\n      this.sendWithJs() || this.sendSubmissionsTo() === \"email\";\n    if (this.sendSubmissionsTo() === \"zapier\") {\n      event.preventDefault();\n    } else if (sendWithJsProp) {\n      if (!(this.action() || this.sendSubmissionsTo() === \"email\")) {\n        event.preventDefault();\n        return;\n      }\n      event.preventDefault();\n      const el = event.currentTarget || event.target;\n      const headers = this.customHeaders() || {};\n      let body: any;\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(el.querySelectorAll(\"input,select,textarea\"))\n        .filter((el) => !!(el as HTMLInputElement).name)\n        .filter(\n          (el) =>\n            !!(el as HTMLInputElement).name &&\n            ((el as HTMLInputElement).type !== \"radio\" ||\n              (el as HTMLInputElement).checked)\n        )\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.value;\n                return {\n                  key,\n                  value,\n                };\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          return {\n            key,\n            value,\n          };\n        });\n      let formContentType = this.contentType();\n      if (this.sendSubmissionsTo() === \"email\") {\n        formContentType = \"multipart/form-data\";\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          formContentType = \"multipart/form-data\";\n        }\n      });\n\n      // TODO: send as urlEncoded or multipart by default\n      // because of ease of use and reliability in browser API\n      // for encoding the form?\n      if (formContentType !== \"application/json\") {\n        body = formData;\n      } else {\n        // Json\n        const json = {};\n        Array.from(formPairs).forEach(({ value, key }) => {\n          set(json, key, value);\n        });\n        body = JSON.stringify(json);\n      }\n      if (formContentType && formContentType !== \"multipart/form-data\") {\n        if (\n          /* Zapier doesn't allow content-type header to be sent from browsers */\n          !(sendWithJsProp && this.action()?.includes(\"zapier.com\"))\n        ) {\n          headers[\"content-type\"] = formContentType;\n        }\n      }\n      const presubmitEvent = new CustomEvent(\"presubmit\", {\n        detail: {\n          body,\n        },\n      });\n      if (this.formRef()?.nativeElement) {\n        this.formRef()?.nativeElement.dispatchEvent(presubmitEvent);\n        if (presubmitEvent.defaultPrevented) {\n          return;\n        }\n      }\n      this.formState.set(\"sending\");\n      if (\n        this.sendSubmissionsTo() === \"email\" &&\n        (this.sendSubmissionsToEmail() === \"your@email.com\" ||\n          !this.sendSubmissionsToEmail())\n      ) {\n        const message =\n          \"SubmissionsToEmail is required when sendSubmissionsTo is set to email\";\n        console.error(message);\n        this.formState.set(\"error\");\n        this.mergeNewRootState({\n          formErrorMessage: message,\n        });\n        return;\n      }\n      const formUrl = `${\n        getEnv() === \"dev\" ? \"http://localhost:5000\" : \"https://builder.io\"\n      }/api/v1/form-submit?apiKey=${this.builderContext().apiKey}&to=${btoa(\n        this.sendSubmissionsToEmail() || \"\"\n      )}&name=${encodeURIComponent(this.name() || \"\")}`;\n      const url =\n        this.sendSubmissionsTo() === \"email\"\n          ? formUrl\n          : this.action()!; /* TODO: throw error if no action URL */\n\n      logFetch(url);\n      fetch(url, {\n        body,\n        headers,\n        method: this.method() || \"post\",\n      }).then(\n        async (res) => {\n          let body;\n          const contentType = res.headers.get(\"content-type\");\n          if (contentType && contentType.indexOf(\"application/json\") !== -1) {\n            body = await res.json();\n          } else {\n            body = await res.text();\n          }\n          if (!res.ok) {\n            const submitErrorEvent = new CustomEvent(\"submit:error\", {\n              detail: {\n                error: body,\n                status: res.status,\n              },\n            });\n            if (this.formRef()?.nativeElement?.nativeElement) {\n              this.formRef()?.nativeElement?.nativeElement.dispatchEvent(\n                submitErrorEvent\n              );\n              if (submitErrorEvent.defaultPrevented) {\n                return;\n              }\n            }\n            this.responseData.set(body);\n            this.formState.set(\"error\");\n            let message = this.errorMessagePath()\n              ? get(body, this.errorMessagePath())\n              : body.message || body.error || body;\n            if (typeof message !== \"string\") {\n              message = JSON.stringify(message);\n            }\n            this.formErrorMessage.set(message);\n            this.mergeNewRootState({\n              formErrorMessage: message,\n            });\n            return;\n          }\n          this.responseData.set(body);\n          this.formState.set(res.ok ? \"success\" : \"error\");\n          if (res.ok) {\n            const submitSuccessEvent = new CustomEvent(\"submit:success\", {\n              detail: {\n                res,\n                body,\n              },\n            });\n            if (this.formRef()?.nativeElement) {\n              this.formRef()?.nativeElement.dispatchEvent(submitSuccessEvent);\n              if (submitSuccessEvent.defaultPrevented) {\n                return;\n              }\n              /* TODO: option to turn this on/off? */\n              if (this.resetFormOnSubmit() !== false) {\n                this.formRef()?.nativeElement.reset();\n              }\n            }\n\n            /* TODO: client side route event first that can be preventDefaulted */\n            if (this.successUrl()) {\n              if (this.formRef()?.nativeElement) {\n                const event = new CustomEvent(\"route\", {\n                  detail: {\n                    url: this.successUrl(),\n                  },\n                });\n                this.formRef()?.nativeElement.dispatchEvent(event);\n                if (!event.defaultPrevented) {\n                  location.href = this.successUrl();\n                }\n              } else {\n                location.href = this.successUrl();\n              }\n            }\n          }\n        },\n        (err) => {\n          const submitErrorEvent = new CustomEvent(\"submit:error\", {\n            detail: {\n              error: err,\n            },\n          });\n          if (this.formRef()?.nativeElement) {\n            this.formRef()?.nativeElement.dispatchEvent(submitErrorEvent);\n            if (submitErrorEvent.defaultPrevented) {\n              return;\n            }\n          }\n          this.responseData.set(err);\n          this.formState.set(\"error\");\n        }\n      );\n    }\n  }\n  setAttributes(el: HTMLElement, value: any, changes?: any) {\n    if (!el) {\n      return;\n    }\n    const target = typeof changes === \"undefined\" ? value : changes;\n    Object.keys(target).forEach((key) => {\n      if (key.startsWith(\"on\")) {\n        if (this._listenerFns.has(key)) {\n          this._listenerFns.get(key)!();\n        }\n        this._listenerFns.set(\n          key,\n          this.renderer.listen(\n            el,\n            key.replace(\"on\", \"\").toLowerCase(),\n            target[key]\n          )\n        );\n      } else {\n        this.renderer.setAttribute(el, key.toLowerCase(), target[key] ?? \"\");\n      }\n    });\n  }\n\n  constructor(private renderer: Renderer2) {\n    if (typeof window !== \"undefined\") {\n      effect(\n        () => {\n          this.setAttributes(this.elRef0()?.nativeElement, {});\n        },\n        {\n          allowSignalWrites: true, // Enable writing to signals inside effects\n        }\n      );\n      effect(\n        () => {\n          this.setAttributes(this.elRef0()?.nativeElement, {});\n        },\n        {\n          allowSignalWrites: true, // Enable writing to signals inside effects\n        }\n      );\n      effect(\n        () => {\n          this.setAttributes(this.elRef0()?.nativeElement, this.attributes());\n        },\n        {\n          allowSignalWrites: true, // Enable writing to signals inside effects\n        }\n      );\n    }\n  }\n\n  ngAfterViewInit() {\n    this.setAttributes(this.elRef0()?.nativeElement, {});\n    this.setAttributes(this.elRef0()?.nativeElement, {});\n    this.setAttributes(this.elRef0()?.nativeElement, this.attributes());\n  }\n\n  ngOnDestroy() {\n    for (const fn of this._listenerFns.values()) {\n      fn();\n    }\n  }\n}\n","import type { ComponentInfo } from '../../../types/components';\nexport const componentInfo: ComponentInfo = {\n  name: 'Form:Input',\n  image: 'https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2Fad6f37889d9e40bbbbc72cdb5875d6ca',\n  inputs: [{\n    name: 'type',\n    type: 'text',\n    enum: ['text', 'number', 'email', 'url', 'checkbox', 'radio', 'range', 'date', 'datetime-local', 'search', 'tel', 'time', 'file', 'month', 'week', 'password', 'color', 'hidden'],\n    defaultValue: 'text'\n  }, {\n    name: 'name',\n    type: 'string',\n    required: true,\n    helperText: 'Every input in a form needs a unique name describing what it takes, e.g. \"email\"'\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    name: 'value',\n    type: 'string',\n    advanced: true\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  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}","import {\n  Component,\n  viewChild,\n  ElementRef,\n  Renderer2,\n  input,\n  effect,\n  signal,\n  InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\n/**\n * This import is used by the Svelte SDK. Do not remove.\n */\n\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\nimport { isEditing } from \"../../../functions/is-editing\";\nimport { filterAttrs } from \"../../helpers\";\nimport { setAttrs } from \"../../helpers\";\n\n@Component({\n  selector: \"form-input-component\",\n  standalone: true,\n  imports: [CommonModule],\n  template: `\n    <input\n      #elRef0\n      [attr.placeholder]=\"placeholder()\"\n      [attr.type]=\"type()\"\n      [attr.name]=\"name()\"\n      [attr.value]=\"value()\"\n      [attr.defaultValue]=\"defaultValue()\"\n      [attr.required]=\"required()\"\n    />\n  `,\n  styles: `:host { display: contents; }`,\n})\nexport default class FormInputComponent {\n  protected readonly isEditing = isEditing;\n\n  attributes: InputSignal<FormInputProps[\"attributes\"]> =\n    input<FormInputProps[\"attributes\"]>();\n  defaultValue: InputSignal<FormInputProps[\"defaultValue\"]> =\n    input<FormInputProps[\"defaultValue\"]>();\n  placeholder: InputSignal<FormInputProps[\"placeholder\"]> =\n    input<FormInputProps[\"placeholder\"]>();\n  type: InputSignal<FormInputProps[\"type\"]> = input<FormInputProps[\"type\"]>();\n  name: InputSignal<FormInputProps[\"name\"]> = input<FormInputProps[\"name\"]>();\n  value: InputSignal<FormInputProps[\"value\"]> =\n    input<FormInputProps[\"value\"]>();\n  required: InputSignal<FormInputProps[\"required\"]> =\n    input<FormInputProps[\"required\"]>();\n\n  elRef0 = viewChild<ElementRef>(\"elRef0\");\n\n  _listenerFns = new Map();\n\n  setAttributes(el: HTMLElement, value: any, changes?: any) {\n    if (!el) {\n      return;\n    }\n    const target = typeof changes === \"undefined\" ? value : changes;\n    Object.keys(target).forEach((key) => {\n      if (key.startsWith(\"on\")) {\n        if (this._listenerFns.has(key)) {\n          this._listenerFns.get(key)!();\n        }\n        this._listenerFns.set(\n          key,\n          this.renderer.listen(\n            el,\n            key.replace(\"on\", \"\").toLowerCase(),\n            target[key]\n          )\n        );\n      } else {\n        this.renderer.setAttribute(el, key.toLowerCase(), target[key] ?? \"\");\n      }\n    });\n  }\n\n  constructor(private renderer: Renderer2) {\n    if (typeof window !== \"undefined\") {\n      effect(\n        () => {\n          this.setAttributes(this.elRef0()?.nativeElement, {});\n        },\n        {\n          allowSignalWrites: true, // Enable writing to signals inside effects\n        }\n      );\n      effect(\n        () => {\n          this.setAttributes(this.elRef0()?.nativeElement, this.attributes());\n        },\n        {\n          allowSignalWrites: true, // Enable writing to signals inside effects\n        }\n      );\n    }\n  }\n\n  ngAfterViewInit() {\n    this.setAttributes(this.elRef0()?.nativeElement, {});\n    this.setAttributes(this.elRef0()?.nativeElement, this.attributes());\n  }\n\n  ngOnDestroy() {\n    for (const fn of this._listenerFns.values()) {\n      fn();\n    }\n  }\n}\n","import type { ComponentInfo } from '../../../types/components';\nexport const componentInfo: ComponentInfo = {\n  name: 'Form:Select',\n  image: 'https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2F83acca093fb24aaf94dee136e9a4b045',\n  defaultStyles: {\n    alignSelf: 'flex-start'\n  },\n  inputs: [{\n    name: 'options',\n    type: 'list',\n    required: true,\n    subFields: [{\n      name: 'value',\n      type: 'text',\n      required: true\n    }, {\n      name: 'name',\n      type: 'text'\n    }],\n    defaultValue: [{\n      value: 'option 1'\n    }, {\n      value: 'option 2'\n    }]\n  }, {\n    name: 'name',\n    type: 'string',\n    required: true,\n    helperText: 'Every select in a form needs a unique name describing what it gets, e.g. \"email\"'\n  }, {\n    name: 'defaultValue',\n    type: 'string'\n  }, {\n    name: 'value',\n    type: 'string',\n    advanced: true\n  }, {\n    name: 'required',\n    type: 'boolean',\n    defaultValue: false\n  }],\n  static: true,\n  noWrap: true\n}","import {\n  Component,\n  viewChild,\n  ElementRef,\n  Renderer2,\n  input,\n  effect,\n  signal,\n  InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\n/**\n * This import is used by the Svelte SDK. Do not remove.\n */\n\nexport interface FormSelectProps {\n  options?: {\n    name?: string;\n    value: string;\n  }[];\n  attributes?: any;\n  name?: string;\n  value?: string;\n  defaultValue?: string;\n  required?: boolean;\n}\n\nimport { isEditing } from \"../../../functions/is-editing\";\nimport { filterAttrs } from \"../../helpers\";\nimport { setAttrs } from \"../../helpers\";\n\n@Component({\n  selector: \"select-component\",\n  standalone: true,\n  imports: [CommonModule],\n  template: `\n    <select\n      #elRef0\n      [attr.value]=\"value()\"\n      [attr.defaultValue]=\"defaultValue()\"\n      [attr.name]=\"name()\"\n      [attr.required]=\"required()\"\n    >\n      @for (option of options();track trackByOption0(index, option);let index =\n      $index) {\n      <option [attr.value]=\"option.value\">\n        {{option.name || option.value}}\n      </option>\n      }\n    </select>\n  `,\n  styles: `:host { display: contents; }`,\n})\nexport default class SelectComponent {\n  protected readonly isEditing = isEditing;\n\n  attributes: InputSignal<FormSelectProps[\"attributes\"]> =\n    input<FormSelectProps[\"attributes\"]>();\n  value: InputSignal<FormSelectProps[\"value\"]> =\n    input<FormSelectProps[\"value\"]>();\n  defaultValue: InputSignal<FormSelectProps[\"defaultValue\"]> =\n    input<FormSelectProps[\"defaultValue\"]>();\n  name: InputSignal<FormSelectProps[\"name\"]> = input<FormSelectProps[\"name\"]>();\n  required: InputSignal<FormSelectProps[\"required\"]> =\n    input<FormSelectProps[\"required\"]>();\n  options: InputSignal<FormSelectProps[\"options\"]> =\n    input<FormSelectProps[\"options\"]>();\n\n  elRef0 = viewChild<ElementRef>(\"elRef0\");\n\n  _listenerFns = new Map();\n\n  setAttributes(el: HTMLElement, value: any, changes?: any) {\n    if (!el) {\n      return;\n    }\n    const target = typeof changes === \"undefined\" ? value : changes;\n    Object.keys(target).forEach((key) => {\n      if (key.startsWith(\"on\")) {\n        if (this._listenerFns.has(key)) {\n          this._listenerFns.get(key)!();\n        }\n        this._listenerFns.set(\n          key,\n          this.renderer.listen(\n            el,\n            key.replace(\"on\", \"\").toLowerCase(),\n            target[key]\n          )\n        );\n      } else {\n        this.renderer.setAttribute(el, key.toLowerCase(), target[key] ?? \"\");\n      }\n    });\n  }\n  trackByOption0(index: number, option: any) {\n    return `${option.name}-${index}`;\n  }\n\n  constructor(private renderer: Renderer2) {\n    if (typeof window !== \"undefined\") {\n      effect(\n        () => {\n          this.setAttributes(this.elRef0()?.nativeElement, {});\n        },\n        {\n          allowSignalWrites: true, // Enable writing to signals inside effects\n        }\n      );\n      effect(\n        () => {\n          this.setAttributes(this.elRef0()?.nativeElement, this.attributes());\n        },\n        {\n          allowSignalWrites: true, // Enable writing to signals inside effects\n        }\n      );\n    }\n  }\n\n  ngAfterViewInit() {\n    this.setAttributes(this.elRef0()?.nativeElement, {});\n    this.setAttributes(this.elRef0()?.nativeElement, this.attributes());\n  }\n\n  ngOnDestroy() {\n    for (const fn of this._listenerFns.values()) {\n      fn();\n    }\n  }\n}\n","import type { ComponentInfo } from '../../../types/components';\nexport const componentInfo: ComponentInfo = {\n  name: 'Form:SubmitButton',\n  image: '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    name: 'text',\n    type: 'text',\n    defaultValue: 'Click me'\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}","import {\n  Component,\n  viewChild,\n  ElementRef,\n  Renderer2,\n  input,\n  effect,\n  signal,\n  InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\n/**\n * This import is used by the Svelte SDK. Do not remove.\n */\n\nexport interface ButtonProps {\n  attributes?: any;\n  text?: string;\n}\n\nimport { filterAttrs } from \"../../helpers\";\nimport { setAttrs } from \"../../helpers\";\n\n@Component({\n  selector: \"submit-button\",\n  standalone: true,\n  imports: [CommonModule],\n  template: `\n    <button type=\"submit\" #elRef0>{{text()}}</button>\n  `,\n  styles: `:host { display: contents; }`,\n})\nexport default class SubmitButton {\n  attributes: InputSignal<ButtonProps[\"attributes\"]> =\n    input<ButtonProps[\"attributes\"]>();\n  text: InputSignal<ButtonProps[\"text\"]> = input<ButtonProps[\"text\"]>();\n\n  elRef0 = viewChild<ElementRef>(\"elRef0\");\n\n  _listenerFns = new Map();\n\n  setAttributes(el: HTMLElement, value: any, changes?: any) {\n    if (!el) {\n      return;\n    }\n    const target = typeof changes === \"undefined\" ? value : changes;\n    Object.keys(target).forEach((key) => {\n      if (key.startsWith(\"on\")) {\n        if (this._listenerFns.has(key)) {\n          this._listenerFns.get(key)!();\n        }\n        this._listenerFns.set(\n          key,\n          this.renderer.listen(\n            el,\n            key.replace(\"on\", \"\").toLowerCase(),\n            target[key]\n          )\n        );\n      } else {\n        this.renderer.setAttribute(el, key.toLowerCase(), target[key] ?? \"\");\n      }\n    });\n  }\n\n  constructor(private renderer: Renderer2) {\n    if (typeof window !== \"undefined\") {\n      effect(\n        () => {\n          this.setAttributes(this.elRef0()?.nativeElement, {});\n        },\n        {\n          allowSignalWrites: true, // Enable writing to signals inside effects\n        }\n      );\n      effect(\n        () => {\n          this.setAttributes(this.elRef0()?.nativeElement, this.attributes());\n        },\n        {\n          allowSignalWrites: true, // Enable writing to signals inside effects\n        }\n      );\n    }\n  }\n\n  ngAfterViewInit() {\n    this.setAttributes(this.elRef0()?.nativeElement, {});\n    this.setAttributes(this.elRef0()?.nativeElement, this.attributes());\n  }\n\n  ngOnDestroy() {\n    for (const fn of this._listenerFns.values()) {\n      fn();\n    }\n  }\n}\n","import type { ComponentInfo } from '../../../types/components';\nexport const componentInfo: ComponentInfo = {\n  name: 'Form:TextArea',\n  image: 'https://cdn.builder.io/api/v1/image/assets%2FIsxPKMo2gPRRKeakUztj1D6uqed2%2Ff74a2f3de58c4c3e939204e5b6b8f6c3',\n  inputs: [{\n    advanced: true,\n    name: 'value',\n    type: 'string'\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    name: 'defaultValue',\n    type: 'string'\n  }, {\n    name: 'placeholder',\n    type: 'string',\n    defaultValue: 'Hello there'\n  }, {\n    name: 'required',\n    type: 'boolean',\n    defaultValue: false\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}","import {\n  Component,\n  viewChild,\n  ElementRef,\n  Renderer2,\n  input,\n  effect,\n  signal,\n  InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\n/**\n * This import is used by the Svelte SDK. Do not remove.\n */\n\nexport interface TextareaProps {\n  attributes?: any;\n  name?: string;\n  value?: string;\n  defaultValue?: string;\n  placeholder?: string;\n  required?: boolean;\n}\n\nimport { filterAttrs } from \"../../helpers\";\nimport { setAttrs } from \"../../helpers\";\n\n@Component({\n  selector: \"builder-textarea\",\n  standalone: true,\n  imports: [CommonModule],\n  template: `\n    <textarea\n      #elRef0\n      [attr.placeholder]=\"placeholder()\"\n      [attr.name]=\"name()\"\n      [attr.value]=\"value()\"\n      [attr.defaultValue]=\"defaultValue()\"\n      [attr.required]=\"required()\"\n    ></textarea>\n  `,\n  styles: `:host { display: contents; }`,\n})\nexport default class Textarea {\n  attributes: InputSignal<TextareaProps[\"attributes\"]> =\n    input<TextareaProps[\"attributes\"]>();\n  placeholder: InputSignal<TextareaProps[\"placeholder\"]> =\n    input<TextareaProps[\"placeholder\"]>();\n  name: InputSignal<TextareaProps[\"name\"]> = input<TextareaProps[\"name\"]>();\n  value: InputSignal<TextareaProps[\"value\"]> = input<TextareaProps[\"value\"]>();\n  defaultValue: InputSignal<TextareaProps[\"defaultValue\"]> =\n    input<TextareaProps[\"defaultValue\"]>();\n  required: InputSignal<TextareaProps[\"required\"]> =\n    input<TextareaProps[\"required\"]>();\n\n  elRef0 = viewChild<ElementRef>(\"elRef0\");\n\n  _listenerFns = new Map();\n\n  setAttributes(el: HTMLElement, value: any, changes?: any) {\n    if (!el) {\n      return;\n    }\n    const target = typeof changes === \"undefined\" ? value : changes;\n    Object.keys(target).forEach((key) => {\n      if (key.startsWith(\"on\")) {\n        if (this._listenerFns.has(key)) {\n          this._listenerFns.get(key)!();\n        }\n        this._listenerFns.set(\n          key,\n          this.renderer.listen(\n            el,\n            key.replace(\"on\", \"\").toLowerCase(),\n            target[key]\n          )\n        );\n      } else {\n        this.renderer.setAttribute(el, key.toLowerCase(), target[key] ?? \"\");\n      }\n    });\n  }\n\n  constructor(private renderer: Renderer2) {\n    if (typeof window !== \"undefined\") {\n      effect(\n        () => {\n          this.setAttributes(this.elRef0()?.nativeElement, {});\n        },\n        {\n          allowSignalWrites: true, // Enable writing to signals inside effects\n        }\n      );\n      effect(\n        () => {\n          this.setAttributes(this.elRef0()?.nativeElement, this.attributes());\n        },\n        {\n          allowSignalWrites: true, // Enable writing to signals inside effects\n        }\n      );\n    }\n  }\n\n  ngAfterViewInit() {\n    this.setAttributes(this.elRef0()?.nativeElement, {});\n    this.setAttributes(this.elRef0()?.nativeElement, this.attributes());\n  }\n\n  ngOnDestroy() {\n    for (const fn of this._listenerFns.values()) {\n      fn();\n    }\n  }\n}\n","import { IMAGE_FILE_TYPES } from '../../constants/file-types';\nimport type { ComponentInfo } from '../../types/components';\nexport const componentInfo: ComponentInfo = {\n  name: 'Raw:Img',\n  hideFromInsertMenu: true,\n  image: 'https://firebasestorage.googleapis.com/v0/b/builder-3b0a2.appspot.com/o/images%2Fbaseline-insert_photo-24px.svg?alt=media&token=4e5d0ef4-f5e8-4e57-b3a9-38d63a9b9dc4',\n  inputs: [{\n    name: 'image',\n    bubble: true,\n    type: 'file',\n    allowedFileTypes: IMAGE_FILE_TYPES,\n    required: true\n  }, {\n    name: 'backgroundSize',\n    type: 'text',\n    defaultValue: 'cover',\n    enum: [{\n      label: 'contain',\n      value: 'contain',\n      helperText: 'The image should never get cropped'\n    }, {\n      label: 'cover',\n      value: 'cover',\n      helperText: \"The image should fill it's box, cropping when needed\"\n    }]\n  }, {\n    name: 'backgroundPosition',\n    type: 'text',\n    defaultValue: 'center',\n    enum: ['center', 'top', 'left', 'right', 'bottom', 'top left', 'top right', 'bottom left', 'bottom right']\n  }, {\n    name: 'altText',\n    type: 'string',\n    helperText: 'Text to display when the user has images off'\n  }, {\n    name: 'title',\n    type: 'string',\n    helperText: 'Text to display when hovering over the asset'\n  }, {\n    name: 'aspectRatio',\n    type: 'number',\n    helperText: \"This is the ratio of height/width, e.g. set to 1.5 for a 300px wide and 200px tall photo. Set to 0 to not force the image to maintain it's aspect ratio\",\n    advanced: true,\n    defaultValue: 0.7041\n  }],\n  noWrap: true\n}","import {\n  Component,\n  viewChild,\n  ElementRef,\n  Renderer2,\n  input,\n  effect,\n  signal,\n  computed,\n  InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\n/**\n * This import is used by the Svelte SDK. Do not remove.\n */\n\nexport interface ImgProps {\n  attributes?: any;\n  imgSrc?: string; // TODO(misko): I think this is unused\n  image?: string;\n  altText?: string;\n  backgroundSize?: \"cover\" | \"contain\";\n  backgroundPosition?:\n    | \"center\"\n    | \"top\"\n    | \"left\"\n    | \"right\"\n    | \"bottom\"\n    | \"top left\"\n    | \"top right\"\n    | \"bottom left\"\n    | \"bottom right\";\n  aspectRatio?: number;\n  title?: string;\n}\n\nimport { isEditing } from \"../../functions/is-editing\";\nimport { filterAttrs } from \"../helpers\";\nimport { getSrcSet } from \"../image/image.helpers\";\nimport { getClassPropName } from \"../../functions/get-class-prop-name\";\n\n@Component({\n  selector: \"img-component\",\n  standalone: true,\n  imports: [CommonModule],\n  template: `\n    <img\n      loading=\"lazy\"\n      [attr.alt]=\"altText()\"\n      [attr.title]=\"title()\"\n      [attr.src]=\"imgSrc() || image()\"\n      #elRef0\n      [ngStyle]=\"objSpread_style_59ligj()\"\n    />\n  `,\n  styles: `:host { display: contents; }`,\n})\nexport default class ImgComponent {\n  protected readonly isEditing = isEditing;\n\n  imgSrc: InputSignal<ImgProps[\"imgSrc\"]> = input<ImgProps[\"imgSrc\"]>();\n  image: InputSignal<ImgProps[\"image\"]> = input<ImgProps[\"image\"]>();\n  attributes: InputSignal<ImgProps[\"attributes\"]> =\n    input<ImgProps[\"attributes\"]>();\n  altText: InputSignal<ImgProps[\"altText\"]> = input<ImgProps[\"altText\"]>();\n  title: InputSignal<ImgProps[\"title\"]> = input<ImgProps[\"title\"]>();\n  backgroundSize: InputSignal<ImgProps[\"backgroundSize\"]> =\n    input<ImgProps[\"backgroundSize\"]>();\n  backgroundPosition: InputSignal<ImgProps[\"backgroundPosition\"]> =\n    input<ImgProps[\"backgroundPosition\"]>();\n  aspectRatio: InputSignal<ImgProps[\"aspectRatio\"]> =\n    input<ImgProps[\"aspectRatio\"]>();\n\n  elRef0 = viewChild<ElementRef>(\"elRef0\");\n\n  _listenerFns = new Map();\n\n  srcSetToUse = computed(() => {\n    const url = this.imgSrc() || this.image();\n    if (!url || typeof url !== \"string\") {\n      return undefined;\n    }\n\n    // We can auto add srcset for cdn.builder.io images\n    if (!url.match(/builder\\.io/)) {\n      return undefined;\n    }\n    return getSrcSet(url);\n  });\n  imgAttrs = computed(() => {\n    const attrs = {\n      ...this.attributes(),\n      ...{},\n      [getClassPropName()]: `builder-raw-img ${\n        this.attributes()[getClassPropName()] || \"\"\n      }`,\n    } as Record<string, any>;\n    delete attrs.style;\n    return attrs;\n  });\n  objSpread_style_59ligj = computed(() => {\n    return {\n      objectFit: this.backgroundSize() || \"cover\",\n      objectPosition: this.backgroundPosition() || \"center\",\n      aspectRatio: this.aspectRatio() || undefined,\n      ...(this.attributes()?.style || {}),\n    };\n  });\n  setAttributes(el: HTMLElement, value: any, changes?: any) {\n    if (!el) {\n      return;\n    }\n    const target = typeof changes === \"undefined\" ? value : changes;\n    Object.keys(target).forEach((key) => {\n      if (key.startsWith(\"on\")) {\n        if (this._listenerFns.has(key)) {\n          this._listenerFns.get(key)!();\n        }\n        this._listenerFns.set(\n          key,\n          this.renderer.listen(\n            el,\n            key.replace(\"on\", \"\").toLowerCase(),\n            target[key]\n          )\n        );\n      } else {\n        this.renderer.setAttribute(el, key.toLowerCase(), target[key] ?? \"\");\n      }\n    });\n  }\n\n  constructor(private renderer: Renderer2) {\n    if (typeof window !== \"undefined\") {\n      effect(\n        () => {\n          this.setAttributes(this.elRef0()?.nativeElement, this.imgAttrs());\n        },\n        {\n          allowSignalWrites: true, // Enable writing to signals inside effects\n        }\n      );\n    }\n  }\n\n  ngAfterViewInit() {\n    this.setAttributes(this.elRef0()?.nativeElement, this.imgAttrs());\n  }\n\n  ngOnDestroy() {\n    for (const fn of this._listenerFns.values()) {\n      fn();\n    }\n  }\n}\n","import { IMAGE_FILE_TYPES, VIDEO_FILE_TYPES } from '../../constants/file-types';\nimport type { ComponentInfo } from '../../types/components';\nexport const componentInfo: ComponentInfo = {\n  name: 'Video',\n  canHaveChildren: true,\n  defaultStyles: {\n    minHeight: '20px',\n    minWidth: '20px'\n  },\n  image: 'https://firebasestorage.googleapis.com/v0/b/builder-3b0a2.appspot.com/o/images%2Fbaseline-videocam-24px%20(1).svg?alt=media&token=49a84e4a-b20e-4977-a650-047f986874bb',\n  inputs: [{\n    name: 'video',\n    type: 'file',\n    allowedFileTypes: VIDEO_FILE_TYPES,\n    bubble: true,\n    defaultValue: 'https://cdn.builder.io/o/assets%2FYJIGb4i01jvw0SRdL5Bt%2Fd27731a526464deba0016216f5f9e570%2Fcompressed?apiKey=YJIGb4i01jvw0SRdL5Bt&token=d27731a526464deba0016216f5f9e570&alt=media&optimized=true',\n    required: true\n  }, {\n    name: 'posterImage',\n    type: 'file',\n    allowedFileTypes: IMAGE_FILE_TYPES,\n    helperText: 'Image to show before the video plays'\n  }, {\n    name: 'autoPlay',\n    type: 'boolean',\n    defaultValue: true\n  }, {\n    name: 'controls',\n    type: 'boolean',\n    defaultValue: false\n  }, {\n    name: 'muted',\n    type: 'boolean',\n    defaultValue: true\n  }, {\n    name: 'loop',\n    type: 'boolean',\n    defaultValue: true\n  }, {\n    name: 'playsInline',\n    type: 'boolean',\n    defaultValue: true\n  }, {\n    name: 'fit',\n    type: 'text',\n    defaultValue: 'cover',\n    enum: ['contain', 'cover', 'fill', 'auto']\n  }, {\n    name: 'preload',\n    type: 'text',\n    defaultValue: 'metadata',\n    enum: ['auto', 'metadata', 'none']\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    name: 'position',\n    type: 'text',\n    defaultValue: 'center',\n    enum: ['center', 'top', 'left', 'right', 'bottom', 'top left', 'top right', 'bottom left', 'bottom right']\n  }, {\n    name: 'height',\n    type: 'number',\n    advanced: true\n  }, {\n    name: 'width',\n    type: 'number',\n    advanced: true\n  }, {\n    name: 'aspectRatio',\n    type: 'number',\n    advanced: true,\n    defaultValue: 0.7004048582995948\n  }, {\n    name: 'lazyLoad',\n    type: 'boolean',\n    helperText: '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  shouldReceiveBuilderProps: {\n    builderBlock: true\n  }\n}","import {\n  Component,\n  viewChild,\n  ElementRef,\n  Renderer2,\n  input,\n  effect,\n  signal,\n  computed,\n  InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport type { VideoProps } from \"./video.types\";\n\n@Component({\n  selector: \"builder-video\",\n  standalone: true,\n  imports: [CommonModule],\n  template: `\n    <div\n      [ngStyle]=\"{\n          position: 'relative'\n        }\"\n    >\n      <video\n        class=\"builder-video\"\n        #elRef0\n        #videoRef\n        [attr.preload]=\"lazyLoad() ? 'none' : preload() || 'metadata'\"\n        [ngStyle]=\"objSpread_style_8mtss2()\"\n        [attr.poster]=\"posterImage()\"\n      >\n        <source type=\"video/mp4\" #elRef1 />\n      </video>\n      @if(aspectRatio() && !(fitContent() && builderBlock()?.children?.length)){\n      <div\n        [ngStyle]=\"{\n          width: '100%',\n          paddingTop: aspectRatio()! * 100 + '%',\n          pointerEvents: 'none',\n          fontSize: '0px'\n        }\"\n      ></div>\n      } @if(builderBlock()?.children?.length && fitContent()){\n      <div\n        [ngStyle]=\"{\n          display: 'flex',\n          flexDirection: 'column',\n          alignItems: 'stretch'\n        }\"\n      >\n        <ng-content></ng-content>\n      </div>\n      } @if(builderBlock()?.children?.length && !fitContent()){\n      <div\n        [ngStyle]=\"{\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        <ng-content></ng-content>\n      </div>\n      }\n    </div>\n  `,\n  styles: `:host { display: contents; }`,\n})\nexport default class Video {\n  lazyLoad: InputSignal<VideoProps[\"lazyLoad\"]> =\n    input<VideoProps[\"lazyLoad\"]>();\n  autoPlay: InputSignal<VideoProps[\"autoPlay\"]> =\n    input<VideoProps[\"autoPlay\"]>();\n  muted: InputSignal<VideoProps[\"muted\"]> = input<VideoProps[\"muted\"]>();\n  controls: InputSignal<VideoProps[\"controls\"]> =\n    input<VideoProps[\"controls\"]>();\n  loop: InputSignal<VideoProps[\"loop\"]> = input<VideoProps[\"loop\"]>();\n  playsInline: InputSignal<VideoProps[\"playsInline\"]> =\n    input<VideoProps[\"playsInline\"]>();\n  preload: InputSignal<VideoProps[\"preload\"]> = input<VideoProps[\"preload\"]>();\n  attributes: InputSignal<VideoProps[\"attributes\"]> =\n    input<VideoProps[\"attributes\"]>();\n  fit: InputSignal<VideoProps[\"fit\"]> = input<VideoProps[\"fit\"]>();\n  position: InputSignal<VideoProps[\"position\"]> =\n    input<VideoProps[\"position\"]>();\n  aspectRatio: InputSignal<VideoProps[\"aspectRatio\"]> =\n    input<VideoProps[\"aspectRatio\"]>();\n  posterImage: InputSignal<VideoProps[\"posterImage\"]> =\n    input<VideoProps[\"posterImage\"]>();\n  video: InputSignal<VideoProps[\"video\"]> = input<VideoProps[\"video\"]>();\n  fitContent: InputSignal<VideoProps[\"fitContent\"]> =\n    input<VideoProps[\"fitContent\"]>();\n  builderBlock: InputSignal<VideoProps[\"builderBlock\"]> =\n    input<VideoProps[\"builderBlock\"]>();\n\n  videoRef = viewChild<ElementRef>(\"videoRef\");\n  elRef0 = viewChild<ElementRef>(\"elRef0\");\n  elRef1 = viewChild<ElementRef>(\"elRef1\");\n\n  lazyVideoObserver = signal(undefined);\n  _listenerFns = new Map();\n\n  videoProps = computed(() => {\n    return {\n      ...(this.autoPlay() === true\n        ? {\n            autoPlay: true,\n          }\n        : {}),\n      ...(this.muted() === true\n        ? {\n            muted: true,\n          }\n        : {}),\n      ...(this.controls() === true\n        ? {\n            controls: true,\n          }\n        : {}),\n      ...(this.loop() === true\n        ? {\n            loop: true,\n          }\n        : {}),\n      ...(this.playsInline() === true\n        ? {\n            playsInline: true,\n          }\n        : {}),\n    };\n  });\n  spreadProps = computed(() => {\n    return {\n      ...this.videoProps(),\n    };\n  });\n  objSpread_style_8mtss2 = computed(() => {\n    return {\n      width: \"100%\",\n      height: \"100%\",\n      ...this.attributes()?.style,\n      objectFit: this.fit(),\n      objectPosition: this.position(),\n      // Hack to get object fit to work as expected and\n      // not have the video overflow\n      borderRadius: \"1px\",\n      ...(this.aspectRatio()\n        ? {\n            position: \"absolute\",\n          }\n        : null),\n    };\n  });\n  setAttributes(el: HTMLElement, value: any, changes?: any) {\n    if (!el) {\n      return;\n    }\n    const target = typeof changes === \"undefined\" ? value : changes;\n    Object.keys(target).forEach((key) => {\n      if (key.startsWith(\"on\")) {\n        if (this._listenerFns.has(key)) {\n          this._listenerFns.get(key)!();\n        }\n        this._listenerFns.set(\n          key,\n          this.renderer.listen(\n            el,\n            key.replace(\"on\", \"\").toLowerCase(),\n            target[key]\n          )\n        );\n      } else {\n        this.renderer.setAttribute(el, key.toLowerCase(), target[key] ?? \"\");\n      }\n    });\n  }\n\n  constructor(private renderer: Renderer2) {\n    if (typeof window !== \"undefined\") {\n      effect(\n        () => {\n          this.setAttributes(this.elRef0()?.nativeElement, this.spreadProps());\n        },\n        {\n          allowSignalWrites: true, // Enable writing to signals inside effects\n        }\n      );\n      effect(\n        () => {\n          this.setAttributes(\n            this.elRef1()?.nativeElement,\n            this.lazyLoad()\n              ? {\n                  \"data-src\": this.video(),\n                }\n              : {\n                  src: this.video(),\n                }\n          );\n        },\n        {\n          allowSignalWrites: true, // Enable writing to signals inside effects\n        }\n      );\n    }\n  }\n\n  ngAfterViewInit() {\n    if (typeof window !== \"undefined\") {\n      if (this.lazyLoad()) {\n        const oberver = new IntersectionObserver(function (entries) {\n          entries.forEach(function (entry) {\n            if (!entry.isIntersecting) return;\n            const videoElement = entry.target as HTMLVideoElement;\n            try {\n              // Convert HTMLCollection to Array and filter for source elements\n              Array.from(videoElement.children)\n                .filter(\n                  (child): child is HTMLSourceElement =>\n                    child instanceof HTMLElement && child.tagName === \"SOURCE\"\n                )\n                .forEach((source) => {\n                  const src = source.dataset.src;\n                  if (src) {\n                    source.src = src;\n                  }\n                });\n              videoElement.load();\n              oberver.unobserve(videoElement);\n            } catch (error) {\n              console.error(\"Error loading lazy video:\", error);\n            }\n          });\n        });\n        if (this.videoRef()?.nativeElement) {\n          oberver.observe(this.videoRef()?.nativeElement);\n        }\n        this.lazyVideoObserver.set(oberver);\n      }\n    }\n    this.setAttributes(this.elRef0()?.nativeElement, this.spreadProps());\n    this.setAttributes(\n      this.elRef1()?.nativeElement,\n      this.lazyLoad()\n        ? {\n            \"data-src\": this.video(),\n          }\n        : {\n            src: this.video(),\n          }\n    );\n  }\n\n  ngOnDestroy() {\n    if (this.lazyVideoObserver()) {\n      this.lazyVideoObserver().disconnect();\n    }\n  }\n}\n","/**\n * These are in a separate file because React Native does not support them (yet).\n * Having them in a separate file allows us to override it to be empty in the\n * React Native SDK.\n */\n\nimport { componentInfo as customCodeInfo } from '../blocks/custom-code/component-info';\nimport { default as customCode } from '../blocks/custom-code/index';\nimport { componentInfo as embedComponentInfo } from '../blocks/embed/component-info';\nimport { default as embed } from '../blocks/embed/index';\nimport { componentInfo as formComponentInfo } from '../blocks/form/form/component-info';\nimport { default as Form } from '../blocks/form/form/index';\nimport { componentInfo as formInputComponentInfo } from '../blocks/form/input/component-info';\nimport { default as FormInput } from '../blocks/form/input/index';\nimport { componentInfo as formSelectComponentInfo } from '../blocks/form/select/component-info';\nimport { default as FormSelect } from '../blocks/form/select/index';\nimport { componentInfo as formSubmitButtonComponentInfo } from '../blocks/form/submit-button/component-info';\nimport { default as FormSubmitButton } from '../blocks/form/submit-button/index';\nimport { componentInfo as textAreaComponentInfo } from '../blocks/form/textarea/component-info';\nimport { default as Textarea } from '../blocks/form/textarea/index';\nimport { componentInfo as imgComponentInfo } from '../blocks/img/component-info';\nimport { default as Img } from '../blocks/img/index';\nimport { componentInfo as videoComponentInfo } from '../blocks/video/component-info';\nimport { default as Video } from '../blocks/video/index';\nimport type { RegisteredComponent } from '../context/types';\nimport { TARGET } from './target';\nexport const getExtraComponents: () => RegisteredComponent[] = () => [{\n  component: customCode,\n  ...customCodeInfo\n}, {\n  component: embed,\n  ...embedComponentInfo\n}, ...(TARGET === 'rsc' ? [] : [{\n  component: Form,\n  ...formComponentInfo\n}, {\n  component: FormInput,\n  ...formInputComponentInfo\n}, {\n  component: FormSubmitButton,\n  ...formSubmitButtonComponentInfo\n}, {\n  component: FormSelect,\n  ...formSelectComponentInfo\n}, {\n  component: Textarea,\n  ...textAreaComponentInfo\n}]), {\n  component: Img,\n  ...imgComponentInfo\n}, {\n  component: Video,\n  ...videoComponentInfo\n}]","import { componentInfo as accordionComponentInfo } from '../blocks/accordion/component-info';\nimport { default as Accordion } from '../blocks/accordion/index';\nimport { componentInfo as buttonComponentInfo } from '../blocks/button/component-info';\nimport { default as Button } from '../blocks/button/index';\nimport { componentInfo as columnsComponentInfo } from '../blocks/columns/component-info';\nimport { default as Columns } from '../blocks/columns/index';\nimport { componentInfo as fragmentComponentInfo } from '../blocks/fragment/component-info';\nimport { default as Fragment } from '../blocks/fragment/index';\nimport { componentInfo as imageComponentInfo } from '../blocks/image/component-info';\nimport { default as Image } from '../blocks/image/index';\nimport { componentInfo as personalizationContainerComponentInfo } from '../blocks/personalization-container/component-info';\nimport { SDKS_SUPPORTING_PERSONALIZATION } from '../blocks/personalization-container/helpers';\nimport { default as PersonalizationContainer } from '../blocks/personalization-container/index';\nimport { componentInfo as sectionComponentInfo } from '../blocks/section/component-info';\nimport { default as Section } from '../blocks/section/index';\nimport { componentInfo as slotComponentInfo } from '../blocks/slot/component-info';\nimport { default as Slot } from '../blocks/slot/index';\nimport { componentInfo as symbolComponentInfo } from '../blocks/symbol/component-info';\nimport { default as Symbol } from '../blocks/symbol/index';\nimport { componentInfo as tabsComponentInfo } from '../blocks/tabs/component-info';\nimport { default as Tabs } from '../blocks/tabs/index';\nimport { componentInfo as textComponentInfo } from '../blocks/text/component-info';\nimport { default as Text } from '../blocks/text/index';\nimport type { RegisteredComponent } from '../context/types';\nimport { getExtraComponents } from './extra-components';\nimport { TARGET } from './target';\n\n/**\n * Returns a list of all registered components.\n * NOTE: This needs to be a function to work around ESM circular dependencies.\n */\nexport const getDefaultRegisteredComponents: () => RegisteredComponent[] = () => [{\n  component: Button,\n  ...buttonComponentInfo\n}, {\n  component: Columns,\n  ...columnsComponentInfo\n}, {\n  component: Fragment,\n  ...fragmentComponentInfo\n}, {\n  component: Image,\n  ...imageComponentInfo\n}, {\n  component: Section,\n  ...sectionComponentInfo\n}, {\n  component: Slot,\n  ...slotComponentInfo\n}, {\n  component: Symbol,\n  ...symbolComponentInfo\n}, {\n  component: Text,\n  ...textComponentInfo\n}, ...(SDKS_SUPPORTING_PERSONALIZATION.includes(TARGET) ? [{\n  component: PersonalizationContainer,\n  ...personalizationContainerComponentInfo\n}] : []), ...(TARGET === 'rsc' ? [] : [{\n  component: Tabs,\n  ...tabsComponentInfo\n}, {\n  component: Accordion,\n  ...accordionComponentInfo\n}]), ...getExtraComponents()]","/**\n * WARNING: This file contains functions that get stringified and inlined into the HTML at build-time.\n * They cannot import anything.\n */\n\ntype VariantData = {\n  id: string;\n  testRatio?: number;\n};\n\n/**\n * For more information on how this works,\n * see our [SSR A/B Test Docs](https://github.com/BuilderIO/builder/tree/main/packages/sdks/src/SSR_AB_TEST.md)\n */\n\n/**\n * For more information on how this works,\n * see our [SSR A/B Test Docs](https://github.com/BuilderIO/builder/tree/main/packages/sdks/docs/SSR_AB_TEST.md)\n */\n\nexport const UPDATE_COOKIES_AND_STYLES_SCRIPT = \"function updateCookiesAndStyles(contentId, variants, isHydrationTarget, isAngularSDK) {\\n  function getAndSetVariantId() {\\n    function setCookie(name, value, days) {\\n      let expires = '';\\n      if (days) {\\n        const 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    function getCookie(name) {\\n      const nameEQ = name + '=';\\n      const ca = document.cookie.split(';');\\n      for (let i = 0; i < ca.length; i++) {\\n        let 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    const cookieName = `builder.tests.${contentId}`;\\n    const variantInCookie = getCookie(cookieName);\\n    const availableIDs = variants.map(vr => vr.id).concat(contentId);\\n    if (variantInCookie && availableIDs.includes(variantInCookie)) {\\n      return variantInCookie;\\n    }\\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        setCookie(cookieName, variant.id);\\n        return variant.id;\\n      }\\n    }\\n    setCookie(cookieName, contentId);\\n    return contentId;\\n  }\\n  const winningVariantId = getAndSetVariantId();\\n  let styleEl = document.currentScript?.previousElementSibling;\\n  if (isAngularSDK) {\\n    styleEl = document.currentScript?.parentElement?.previousElementSibling?.querySelector('style');\\n  }\\n  if (isHydrationTarget) {\\n    styleEl.remove();\\n    const thisScriptEl = document.currentScript;\\n    thisScriptEl?.remove();\\n  } else {\\n    const newStyleStr = variants.concat({\\n      id: contentId\\n    }).filter(variant => variant.id !== winningVariantId).map(value => {\\n      return `.variant-${value.id} {  display: none; }\\n        `;\\n    }).join('');\\n    styleEl.innerHTML = newStyleStr;\\n  }\\n}\";\nexport const UPDATE_VARIANT_VISIBILITY_SCRIPT = \"function updateVariantVisibility(variantContentId, defaultContentId, isHydrationTarget) {\\n  if (!navigator.cookieEnabled) {\\n    return;\\n  }\\n  function getCookie(name) {\\n    const nameEQ = name + '=';\\n    const ca = document.cookie.split(';');\\n    for (let i = 0; i < ca.length; i++) {\\n      let 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  const cookieName = `builder.tests.${defaultContentId}`;\\n  const winningVariant = getCookie(cookieName);\\n  const parentDiv = document.currentScript?.parentElement;\\n  const isDefaultContent = variantContentId === defaultContentId;\\n  const isWinningVariant = winningVariant === variantContentId;\\n  if (isWinningVariant && !isDefaultContent) {\\n    parentDiv?.removeAttribute('hidden');\\n    parentDiv?.removeAttribute('aria-hidden');\\n  } else if (!isWinningVariant && isDefaultContent) {\\n    parentDiv?.setAttribute('hidden', 'true');\\n    parentDiv?.setAttribute('aria-hidden', 'true');\\n  }\\n  if (isHydrationTarget) {\\n    if (!isWinningVariant) {\\n      parentDiv?.remove();\\n    }\\n    const thisScriptEl = document.currentScript;\\n    thisScriptEl?.remove();\\n  }\\n  return;\\n}\";","import { TARGET } from '../../constants/target';\nimport { isBrowser } from '../../functions/is-browser';\nimport type { Nullable } from '../../helpers/nullable';\nimport type { BuilderContent } from '../../types/builder-content';\nimport type { Target } from '../../types/targets';\nimport { UPDATE_COOKIES_AND_STYLES_SCRIPT, UPDATE_VARIANT_VISIBILITY_SCRIPT } from './inlined-fns';\n\n/**\n * We hardcode explicit function names here, because the `.toString()` of a function can change depending on the bundler.\n * Some bundlers will minify the fn name, etc.\n *\n * So we hardcode the function names here, and then use those names in the script string to make sure the function names are consistent.\n */\nconst UPDATE_COOKIES_AND_STYLES_SCRIPT_NAME = 'builderIoAbTest';\nconst UPDATE_VARIANT_VISIBILITY_SCRIPT_FN_NAME = 'builderIoRenderContent';\nexport const getVariants = (content: Nullable<BuilderContent>) => Object.values(content?.variations || {}).map(variant => ({\n  ...variant,\n  testVariationId: variant.id,\n  id: content?.id\n}));\nexport const checkShouldRenderVariants = ({\n  canTrack,\n  content\n}: {\n  canTrack: Nullable<boolean>;\n  content: Nullable<BuilderContent>;\n}) => {\n  const hasVariants = getVariants(content).length > 0;\n\n  /**\n   * We cannot SSR in React-Native.\n   */\n  if (TARGET === 'reactNative') return false;\n  if (!hasVariants) return false;\n  if (!canTrack) return false;\n\n  /**\n   * For Vue and Svelte, we need to (initially) render the variants. This is to avoid hydration mismatch errors.\n   *\n   * Unlike React, Vue's hydration checks are shallow and do not check the attributes/contents of each element, so we\n   * are able to modify the `hidden` HTML attributes and `display` CSS properties without causing a hydration mismatch error.\n   *\n   * NOTE: For Solid/Svelte: after the app is hydrated, we strip the variants from the DOM (on mount) to reduce the amount of HTML in the DOM.\n   * This isn't necessary, just a nice to have.\n   */\n  if (TARGET === 'vue' || TARGET === 'svelte') return true;\n  if (isBrowser()) return false;\n  return true;\n};\ntype VariantData = {\n  id: string;\n  testRatio?: number;\n};\nconst getIsHydrationTarget = (target: Target) => target === 'react' || target === 'reactNative';\nconst isAngularSDK = TARGET === 'angular';\nconst isHydrationTarget = getIsHydrationTarget(TARGET);\nexport const getInitVariantsFnsScriptString = () => `\n  window.${UPDATE_COOKIES_AND_STYLES_SCRIPT_NAME} = ${UPDATE_COOKIES_AND_STYLES_SCRIPT}\n  window.${UPDATE_VARIANT_VISIBILITY_SCRIPT_FN_NAME} = ${UPDATE_VARIANT_VISIBILITY_SCRIPT}\n  `;\nexport const getUpdateCookieAndStylesScript = (variants: VariantData[], contentId: string) => `\n  window.${UPDATE_COOKIES_AND_STYLES_SCRIPT_NAME}(\n    \"${contentId}\",${JSON.stringify(variants)}, ${isHydrationTarget}, ${isAngularSDK}\n  )`;\nexport const getUpdateVariantVisibilityScript = ({\n  contentId,\n  variationId\n}: {\n  variationId: string;\n  contentId: string;\n}) => `window.${UPDATE_VARIANT_VISIBILITY_SCRIPT_FN_NAME}(\n    \"${variationId}\", \"${contentId}\", ${isHydrationTarget}\n  )`","function round(num: number) {\n  return Math.round(num * 1000) / 1000;\n}\nconst findParentElement = (target: HTMLElement, callback: (element: HTMLElement) => boolean, checkElement = true): 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    const matches = callback(parent);\n    if (matches) {\n      return parent;\n    }\n  } while (parent = parent.parentElement);\n  return null;\n};\nconst findBuilderParent = (target: HTMLElement) => findParentElement(target, el => {\n  const id = el.getAttribute('builder-id') || el.id;\n  return Boolean(id?.indexOf('builder-') === 0);\n});\ntype Offset = {\n  x: number;\n  y: number;\n};\nconst computeOffset = ({\n  event,\n  target\n}: {\n  event: MouseEvent;\n  target: HTMLElement;\n}): Offset => {\n  const targetRect = target.getBoundingClientRect();\n  const xOffset = event.clientX - targetRect.left;\n  const yOffset = event.clientY - targetRect.top;\n  const xRatio = round(xOffset / targetRect.width);\n  const yRatio = round(yOffset / targetRect.height);\n  return {\n    x: xRatio,\n    y: yRatio\n  };\n};\nexport const getInteractionPropertiesForEvent = (event: MouseEvent) => {\n  const target = (event.target as HTMLElement | null);\n  const targetBuilderElement = target && findBuilderParent(target);\n  const builderId = targetBuilderElement?.getAttribute('builder-id') || targetBuilderElement?.id;\n  return {\n    targetBuilderElement: builderId || undefined,\n    metadata: {\n      targetOffset: target ? computeOffset({\n        event,\n        target\n      }) : undefined,\n      builderTargetOffset: targetBuilderElement ? computeOffset({\n        event,\n        target: targetBuilderElement\n      }) : undefined,\n      builderElementIndex: targetBuilderElement && builderId ? ([] as Element[]).slice.call(document.getElementsByClassName(builderId)).indexOf(targetBuilderElement) : undefined\n    }\n  };\n}","import { TARGET } from '../../../constants/target';\nimport { isEditing } from '../../../functions/is-editing';\nimport { isPreviewing } from '../../../functions/is-previewing';\nimport type { Target } from '../../../types/targets';\n\n/**\n * SDKS that use the elementRef approach to enable visual editing.\n * We don't need to render the div for other SDKs as they attach event listeners to the window.\n */\nexport const SDKS_USING_ELEMENT_REF_APPROACH = (['svelte', 'qwik', 'vue'] as Target[]);\n\n/**\n * We need to attach this div only when content exists or isPreviewing/isEditing even when content is null,\n * as we need to set the elementRef and allow previewing and visual editing\n */\nexport const needsElementRefDivForEditing = () => {\n  return SDKS_USING_ELEMENT_REF_APPROACH.includes(TARGET) && (isEditing() || isPreviewing());\n}","export interface CustomFont {\n  family?: string;\n  kind?: string;\n  fileUrl?: string;\n  files?: {\n    [key: string]: string;\n  };\n}\nconst getCssFromFont = (font: CustomFont) => {\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?.files?.regular;\n  let str = '';\n  if (url && family && name) {\n    str += `\n@font-face {\nfont-family: \"${family}\";\nsrc: local(\"${name}\"), url('${url}') format('woff2');\nfont-display: fallback;\nfont-weight: 400;\n}\n      `.trim();\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 {\nfont-family: \"${family}\";\nsrc: url('${weightUrl}') format('woff2');\nfont-display: fallback;\nfont-weight: ${weight};\n}\n        `.trim();\n      }\n    }\n  }\n  return str;\n};\nexport const getFontCss = ({\n  customFonts\n}: {\n  customFonts?: CustomFont[];\n}) => {\n  // TODO: flag for this\n  // if (!this.builder.allowCustomFonts) {\n  //   return '';\n  // }\n  // TODO: separate internal data from external\n  return customFonts?.map(font => getCssFromFont(font))?.join(' ') || '';\n};\nexport const getCss = ({\n  cssCode,\n  contentId\n}: {\n  cssCode?: string;\n  contentId?: string;\n}) => {\n  if (!cssCode) {\n    return '';\n  }\n  if (!contentId) {\n    return cssCode;\n  }\n\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  return cssCode?.replace(/&/g, `div[builder-content-id=\"${contentId}\"]`) || '';\n};\nconst DEFAULT_STYLES = `\n.builder-button {\n  all: unset;\n}\n\n.builder-text > p:first-of-type, .builder-text > .builder-paragraph:first-of-type {\n  margin: 0;\n}\n.builder-text > p, .builder-text > .builder-paragraph {\n  color: inherit;\n  line-height: inherit;\n  letter-spacing: inherit;\n  font-weight: inherit;\n  font-size: inherit;\n  text-align: inherit;\n  font-family: inherit;\n}\n`;\nexport const getDefaultStyles = (isNested: boolean | undefined) => {\n  return !isNested ? DEFAULT_STYLES : '';\n};\nexport const getWrapperClassName = (variationId?: string) => {\n  return `variant-${variationId}`;\n}","import {\n  Component,\n  viewChild,\n  ElementRef,\n  ViewContainerRef,\n  TemplateRef,\n  input,\n  effect,\n  signal,\n  computed,\n  InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\ntype BuilderEditorProps = Omit<\n  ContentProps,\n  | \"customComponents\"\n  | \"apiVersion\"\n  | \"isSsrAbTest\"\n  | \"blocksWrapper\"\n  | \"blocksWrapperProps\"\n  | \"linkComponent\"\n> & {\n  builderContextSignal: BuilderContextInterface;\n  setBuilderContextSignal?: (signal: any) => any;\n  children?: any;\n};\ninterface BuilderRequest {\n  \"@type\": \"@builder.io/core:Request\";\n  request: {\n    url: string;\n    query?: {\n      [key: string]: string;\n    };\n    headers?: {\n      [key: string]: string;\n    };\n    method: \"GET\" | \"POST\" | \"PUT\" | \"PATCH\" | \"DELETE\";\n    body?: any;\n  };\n  options?: {\n    [key: string]: any;\n  };\n  bindings?: {\n    [key: string]: string;\n  };\n}\n\nimport builderContext from \"../../../context/builder.context\";\nimport type { BuilderContextInterface } from \"../../../context/types\";\nimport { evaluate } from \"../../../functions/evaluate/index\";\nimport { fastClone } from \"../../../functions/fast-clone\";\nimport { fetchOneEntry } from \"../../../functions/get-content/index\";\nimport { isBrowser } from \"../../../functions/is-browser\";\nimport { isEditing } from \"../../../functions/is-editing\";\nimport { isPreviewing } from \"../../../functions/is-previewing\";\nimport { logFetch } from \"../../../functions/log-fetch\";\nimport { createRegisterComponentMessage } from \"../../../functions/register-component\";\nimport { _track } from \"../../../functions/track/index\";\nimport { getInteractionPropertiesForEvent } from \"../../../functions/track/interaction\";\nimport { getDefaultCanTrack } from \"../../../helpers/canTrack\";\nimport { getCookieSync } from \"../../../helpers/cookie\";\nimport { postPreviewContent } from \"../../../helpers/preview-lru-cache/set\";\nimport {\n  createEditorListener,\n  EditType,\n} from \"../../../helpers/subscribe-to-editor\";\nimport { setupBrowserForEditing } from \"../../../scripts/init-editing\";\nimport type { BuilderContent } from \"../../../types/builder-content\";\nimport type { ComponentInfo } from \"../../../types/components\";\nimport type { Dictionary } from \"../../../types/typescript\";\nimport { triggerAnimation } from \"../../block/animator\";\nimport DynamicDiv from \"../../dynamic-div\";\nimport type {\n  BuilderComponentStateChange,\n  ContentProps,\n} from \"../content.types\";\nimport { needsElementRefDivForEditing } from \"./enable-editor.helpers\";\nimport { getWrapperClassName } from \"./styles.helpers\";\n\n@Component({\n  selector: \"enable-editor\",\n  standalone: true,\n  imports: [CommonModule],\n  template: `\n    <ng-template #contentwrapperTemplate><ng-content></ng-content></ng-template>\n    @if(builderContextSignal().content || needsElementRefDivForEditing()){\n    <ng-container\n      *ngComponentOutlet=\"\n              ContentWrapper();\n        inputs: dynamicProps_sb7chb();\n              content: myContent();\n              \"\n    ></ng-container>\n    }\n  `,\n  styles: `:host { display: contents; }`,\n})\nexport default class EnableEditor {\n  protected readonly needsElementRefDivForEditing =\n    needsElementRefDivForEditing;\n  protected readonly getWrapperClassName = getWrapperClassName;\n\n  myContent = signal<any[]>([]);\n  contentwrapperTemplateRef = viewChild<TemplateRef<any>>(\n    \"contentwrapperTemplate\"\n  );\n\n  isNestedRender: InputSignal<BuilderEditorProps[\"isNestedRender\"]> =\n    input<BuilderEditorProps[\"isNestedRender\"]>();\n  locale: InputSignal<BuilderEditorProps[\"locale\"]> =\n    input<BuilderEditorProps[\"locale\"]>();\n  enrich: InputSignal<BuilderEditorProps[\"enrich\"]> =\n    input<BuilderEditorProps[\"enrich\"]>();\n  trustedHosts: InputSignal<BuilderEditorProps[\"trustedHosts\"]> =\n    input<BuilderEditorProps[\"trustedHosts\"]>();\n  model: InputSignal<BuilderEditorProps[\"model\"]> =\n    input<BuilderEditorProps[\"model\"]>();\n  apiKey: InputSignal<BuilderEditorProps[\"apiKey\"]> =\n    input<BuilderEditorProps[\"apiKey\"]>();\n  builderContextSignal: InputSignal<\n    BuilderEditorProps[\"builderContextSignal\"]\n  > = input<BuilderEditorProps[\"builderContextSignal\"]>();\n  canTrack: InputSignal<BuilderEditorProps[\"canTrack\"]> =\n    input<BuilderEditorProps[\"canTrack\"]>();\n  apiHost: InputSignal<BuilderEditorProps[\"apiHost\"]> =\n    input<BuilderEditorProps[\"apiHost\"]>();\n  content: InputSignal<BuilderEditorProps[\"content\"]> =\n    input<BuilderEditorProps[\"content\"]>();\n  context: InputSignal<BuilderEditorProps[\"context\"]> =\n    input<BuilderEditorProps[\"context\"]>();\n  data: InputSignal<BuilderEditorProps[\"data\"]> =\n    input<BuilderEditorProps[\"data\"]>();\n  showContent: InputSignal<BuilderEditorProps[\"showContent\"]> =\n    input<BuilderEditorProps[\"showContent\"]>();\n  contentWrapper: InputSignal<BuilderEditorProps[\"contentWrapper\"]> =\n    input<BuilderEditorProps[\"contentWrapper\"]>();\n  contentWrapperProps: InputSignal<BuilderEditorProps[\"contentWrapperProps\"]> =\n    input<BuilderEditorProps[\"contentWrapperProps\"]>();\n\n  elementRef = viewChild<ElementRef>(\"elementRef\");\n\n  hasExecuted = signal<boolean>(false);\n  contextValue = signal<any>(undefined);\n  prevData = signal(null);\n  prevLocale = signal(\"\");\n  ContentWrapper = signal(undefined);\n  httpReqsData = signal({});\n  httpReqsPending = signal({});\n  clicked = signal(false);\n\n  showContentProps = computed(() => {\n    return this.showContent()\n      ? {}\n      : {\n          hidden: true,\n          \"aria-hidden\": true,\n        };\n  });\n  dynamicProps_sb7chb = computed(() => {\n    return {\n      ref: this.elementRef(),\n      onClick: this.onClick.bind(this),\n      \"builder-content-id\": this.builderContextSignal().content?.id,\n      \"builder-model\": this.model(),\n      className: getWrapperClassName(\n        this.content()?.testVariationId || this.content()?.id\n      ),\n      style: {\n        display:\n          !this.builderContextSignal().content && needsElementRefDivForEditing()\n            ? \"none\"\n            : undefined,\n      },\n      ...this.showContentProps(),\n      ...this.contentWrapperProps(),\n    };\n  });\n  mergeNewRootState(newData: Dictionary<any>, editType?: EditType) {\n    const combinedState = {\n      ...this.builderContextSignal().rootState,\n      ...newData,\n    };\n    if (this.builderContextSignal().rootSetState) {\n      this.builderContextSignal().rootSetState?.(combinedState);\n    } else {\n      this.builderContextSignal().rootState = combinedState;\n    }\n    if (this.builderContextSignal().rootSetState) {\n      this.builderContextSignal().rootSetState(combinedState);\n    } else {\n      this.builderContextSignal().rootState = combinedState;\n    }\n  }\n  mergeNewContent(newContent: BuilderContent, editType?: EditType) {\n    const newContentValue = {\n      ...this.builderContextSignal().content,\n      ...newContent,\n      data: {\n        ...this.builderContextSignal().content?.data,\n        ...newContent?.data,\n      },\n      meta: {\n        ...this.builderContextSignal().content?.meta,\n        ...newContent?.meta,\n        breakpoints:\n          newContent?.meta?.breakpoints ||\n          this.builderContextSignal().content?.meta?.breakpoints,\n      },\n    };\n    this.builderContextSignal().content = newContentValue;\n  }\n  processMessage(event: MessageEvent) {\n    return createEditorListener({\n      model: this.model(),\n      trustedHosts: this.trustedHosts(),\n      callbacks: {\n        configureSdk: (messageContent) => {\n          const { breakpoints, contentId } = messageContent;\n          if (\n            !contentId ||\n            contentId !== this.builderContextSignal().content?.id\n          ) {\n            return;\n          }\n          if (breakpoints) {\n            this.mergeNewContent({\n              meta: {\n                breakpoints,\n              },\n            });\n          }\n        },\n        animation: (animation) => {\n          triggerAnimation(animation);\n        },\n        contentUpdate: (newContent, editType) => {\n          this.mergeNewContent(newContent, editType);\n        },\n        stateUpdate: (newState, editType) => {\n          this.mergeNewRootState(newState, editType);\n        },\n      },\n    })(event);\n  }\n  onClick(event: any) {\n    if (this.builderContextSignal().content) {\n      const variationId = this.builderContextSignal().content?.testVariationId;\n      const contentId = this.builderContextSignal().content?.id;\n      _track({\n        apiHost: this.apiHost(),\n        type: \"click\",\n        canTrack: getDefaultCanTrack(this.canTrack()),\n        contentId,\n        apiKey: this.apiKey(),\n        variationId: variationId !== contentId ? variationId : undefined,\n        ...getInteractionPropertiesForEvent(event),\n        unique: !this.clicked(),\n      });\n    }\n    if (!this.clicked()) {\n      this.clicked.set(true);\n    }\n  }\n  runHttpRequests() {\n    const requests: {\n      [key: string]: string | any;\n    } = this.builderContextSignal().content?.data?.httpRequests ?? {};\n    Object.entries(requests).forEach(\n      ([key, httpRequest]: [string, BuilderRequest | string]) => {\n        if (!httpRequest) return;\n        const isCoreRequest =\n          typeof httpRequest === \"object\" &&\n          httpRequest[\"@type\"] === \"@builder.io/core:Request\";\n\n        // request already in progress\n        if (this.httpReqsPending()[key]) return;\n\n        // request already completed, and not in edit mode\n        if (this.httpReqsData()[key] && !isEditing()) return;\n        const url = isCoreRequest\n          ? httpRequest.request.url\n          : (httpRequest as string);\n        this.httpReqsPending.update((httpReqsPending) => {\n          httpReqsPending[key] = true;\n          return httpReqsPending;\n        });\n        const evaluatedUrl = url.replace(\n          /{{([^}]+)}}/g,\n          (_match: string, group: string) =>\n            String(\n              evaluate({\n                code: group,\n                context: this.context() || {},\n                localState: undefined,\n                rootState: this.builderContextSignal().rootState,\n                rootSetState: this.builderContextSignal().rootSetState,\n              })\n            )\n        );\n        const fetchRequestObj = isCoreRequest\n          ? {\n              url: evaluatedUrl,\n              method: httpRequest.request.method,\n              headers: httpRequest.request.headers,\n              body: httpRequest.request.body,\n            }\n          : {\n              url: evaluatedUrl,\n              method: \"GET\",\n            };\n        logFetch(JSON.stringify(fetchRequestObj));\n        const fetchOptions = {\n          method: fetchRequestObj.method,\n          headers: fetchRequestObj.headers,\n          body: fetchRequestObj.body,\n        };\n        if (fetchRequestObj.method === \"GET\") {\n          delete fetchOptions.body;\n        }\n        fetch(fetchRequestObj.url, fetchOptions)\n          .then((response) => response.json())\n          .then((json) => {\n            this.mergeNewRootState({\n              [key]: json,\n            });\n            this.httpReqsData.update((httpReqsData) => {\n              httpReqsData[key] = true;\n              return httpReqsData;\n            });\n          })\n          .catch((err) => {\n            console.error(\n              \"error fetching dynamic data\",\n              JSON.stringify(httpRequest),\n              err\n            );\n          })\n          .finally(() => {\n            this.httpReqsPending.update((httpReqsPending) => {\n              httpReqsPending[key] = false;\n              return httpReqsPending;\n            });\n          });\n      }\n    );\n  }\n  emitStateUpdate() {\n    if (isEditing()) {\n      window.dispatchEvent(\n        new CustomEvent<BuilderComponentStateChange>(\n          \"builder:component:stateChange\",\n          {\n            detail: {\n              state: fastClone(this.builderContextSignal().rootState),\n              ref: {\n                name: this.model(),\n              },\n            },\n          }\n        )\n      );\n    }\n  }\n\n  constructor(private viewContainer: ViewContainerRef) {\n    if (typeof window !== \"undefined\") {\n      effect(\n        () => {\n          // --- Mitosis: Workaround to make sure the effect() is triggered ---\n          this.content();\n          // ---\n\n          if (this.content()) {\n            const nextId = this.content()?.id;\n            const currentId = this.builderContextSignal().content?.id;\n            if (nextId && nextId !== currentId) {\n              setTimeout(() => {\n                this.runHttpRequests();\n              });\n            }\n            this.mergeNewContent(this.content());\n          }\n        },\n        {\n          allowSignalWrites: true, // Enable writing to signals inside effects\n        }\n      );\n      effect(\n        () => {\n          this.emitStateUpdate();\n        },\n        {\n          allowSignalWrites: true, // Enable writing to signals inside effects\n        }\n      );\n      effect(\n        () => {\n          // --- Mitosis: Workaround to make sure the effect() is triggered ---\n          this.data();\n          // ---\n\n          if (this.data()) {\n            if (this.prevData() === this.data()) {\n              return;\n            }\n            this.mergeNewRootState(this.data());\n            this.prevData.set(this.data());\n          }\n        },\n        {\n          allowSignalWrites: true, // Enable writing to signals inside effects\n        }\n      );\n      effect(\n        () => {\n          // --- Mitosis: Workaround to make sure the effect() is triggered ---\n          this.locale();\n          // ---\n\n          if (this.locale()) {\n            if (this.prevLocale() === this.locale()) {\n              return;\n            }\n            this.mergeNewRootState({\n              locale: this.locale(),\n            });\n            this.prevLocale.set(this.locale());\n          }\n        },\n        {\n          allowSignalWrites: true, // Enable writing to signals inside effects\n        }\n      );\n    }\n  }\n\n  ngOnInit() {\n    this.ContentWrapper.set(this.contentWrapper() || DynamicDiv);\n    this.contextValue.set(this.builderContextSignal());\n    this.runHttpRequests();\n    this.emitStateUpdate();\n  }\n\n  _updateView() {\n    this.myContent.set([\n      this.viewContainer.createEmbeddedView(this.contentwrapperTemplateRef())\n        .rootNodes,\n    ]);\n  }\n\n  ngAfterViewInit() {\n    if (typeof window !== \"undefined\") {\n      if (isBrowser()) {\n        if (isEditing() && !this.isNestedRender()) {\n          window.addEventListener(\"message\", this.processMessage.bind(this));\n          setupBrowserForEditing({\n            ...(this.locale()\n              ? {\n                  locale: this.locale(),\n                }\n              : {}),\n            ...(this.enrich()\n              ? {\n                  enrich: this.enrich(),\n                }\n              : {}),\n            ...(this.trustedHosts()\n              ? {\n                  trustedHosts: this.trustedHosts(),\n                }\n              : {}),\n            modelName: this.model() ?? \"\",\n            apiKey: this.apiKey(),\n          });\n          Object.values<ComponentInfo>(\n            this.builderContextSignal().componentInfos\n          ).forEach((registeredComponent) => {\n            if (\n              !registeredComponent.models?.length ||\n              registeredComponent.models.includes(this.model())\n            ) {\n              const message =\n                createRegisterComponentMessage(registeredComponent);\n              window.parent?.postMessage(message, \"*\");\n            }\n          });\n          window.addEventListener(\n            \"builder:component:stateChangeListenerActivated\",\n            this.emitStateUpdate.bind(this)\n          );\n        }\n        const shouldTrackImpression =\n          this.builderContextSignal().content &&\n          getDefaultCanTrack(this.canTrack());\n        const winningVariantId = getCookieSync({\n          name: `builder.tests.${this.builderContextSignal().content?.id}`,\n          canTrack: true,\n        });\n        const variationId =\n          this.builderContextSignal().content?.testVariationId;\n        if (shouldTrackImpression && variationId === winningVariantId) {\n          const contentId = this.builderContextSignal().content?.id;\n          const apiKeyProp = this.apiKey();\n          _track({\n            apiHost: this.apiHost(),\n            type: \"impression\",\n            canTrack: true,\n            contentId,\n            apiKey: apiKeyProp!,\n            variationId:\n              winningVariantId !== contentId ? winningVariantId : undefined,\n          });\n        }\n\n        /**\n         * Override normal content in preview mode.\n         * We ignore this when editing, since the edited content is already being sent from the editor via post messages.\n         */\n        if (isPreviewing() && !isEditing()) {\n          const searchParams = new URL(location.href).searchParams;\n          const searchParamPreviewModel = searchParams.get(\"builder.preview\");\n          const searchParamPreviewId = searchParams.get(\n            `builder.overrides.${searchParamPreviewModel}`\n          );\n          const previewApiKey =\n            searchParams.get(\"apiKey\") || searchParams.get(\"builder.space\");\n\n          /**\n           * Make sure that:\n           * - the preview model name is the same as the one we're rendering, since there can be multiple models rendered\n           *  at the same time, e.g. header/page/footer.\n           * - the API key is the same, since we don't want to preview content from other organizations.\n           * - if there is content, that the preview ID is the same as that of the one we receive.\n           *\n           * TO-DO: should we only update the state when there is a change?\n           **/\n          if (\n            searchParamPreviewModel === \"BUILDER_STUDIO\" ||\n            (searchParamPreviewModel === this.model() &&\n              previewApiKey === this.apiKey() &&\n              (!this.content() || searchParamPreviewId === this.content().id))\n          ) {\n            fetchOneEntry({\n              model: this.model(),\n              apiKey: this.apiKey(),\n              apiVersion: this.builderContextSignal().apiVersion,\n              ...(searchParamPreviewModel === \"BUILDER_STUDIO\" &&\n              this.context()?.symbolId\n                ? {\n                    query: {\n                      id: this.context().symbolId,\n                    },\n                  }\n                : {}),\n            }).then((content) => {\n              if (content) {\n                this.mergeNewContent(content);\n              }\n            });\n          }\n        }\n      }\n    }\n  }\n  ngAfterContentInit() {\n    this._updateView();\n  }\n\n  ngOnDestroy() {\n    if (isBrowser()) {\n      window.removeEventListener(\"message\", this.processMessage.bind(this));\n      window.removeEventListener(\n        \"builder:component:stateChangeListenerActivated\",\n        this.emitStateUpdate.bind(this)\n      );\n    }\n  }\n}\n","import { Component, input, effect, signal, InputSignal } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\ninterface Props extends BuilderNonceProp {\n  cssCode?: string;\n  customFonts?: CustomFont[];\n  contentId?: string;\n  isNestedRender?: boolean;\n}\n\nimport type { BuilderNonceProp } from \"../../../types/builder-props\";\nimport InlinedStyles from \"../../inlined-styles\";\nimport type { CustomFont } from \"./styles.helpers\";\nimport { getCss, getDefaultStyles, getFontCss } from \"./styles.helpers\";\n\n@Component({\n  selector: \"content-styles\",\n  standalone: true,\n  imports: [CommonModule, InlinedStyles],\n  template: `\n    <inlined-styles\n      id=\"builderio-content\"\n      [styles]=\"injectedStyles()\"\n      [nonce]=\"nonce()\"\n    ></inlined-styles>\n  `,\n  styles: `:host { display: contents; }`,\n})\nexport default class ContentStyles {\n  cssCode: InputSignal<Props[\"cssCode\"]> = input<Props[\"cssCode\"]>();\n  contentId: InputSignal<Props[\"contentId\"]> = input<Props[\"contentId\"]>();\n  customFonts: InputSignal<Props[\"customFonts\"]> =\n    input<Props[\"customFonts\"]>();\n  isNestedRender: InputSignal<Props[\"isNestedRender\"]> =\n    input<Props[\"isNestedRender\"]>();\n  nonce: InputSignal<Props[\"nonce\"]> = input<Props[\"nonce\"]>();\n\n  injectedStyles = signal(undefined);\n\n  constructor() {}\n\n  ngOnInit() {\n    this.injectedStyles.set(\n      `\n${getCss({\n  cssCode: this.cssCode(),\n  contentId: this.contentId(),\n})}\n${getFontCss({\n  customFonts: this.customFonts(),\n})}\n${getDefaultStyles(this.isNestedRender())}\n`.trim()\n    );\n  }\n}\n","import type { BuilderRenderState } from '../../context/types';\nimport type { BuilderContent } from '../../types/builder-content';\nimport type { Nullable } from '../../types/typescript';\nimport type { ContentProps } from './content.types';\nexport const getRootStateInitialValue = ({\n  content,\n  data,\n  locale\n}: Pick<ContentProps, 'content' | 'data' | 'locale'>) => {\n  const defaultValues: BuilderRenderState = {};\n  const initialState = content?.data?.state || {};\n\n  // set default values for content state inputs\n  content?.data?.inputs?.forEach(input => {\n    if (input.name && input.defaultValue !== undefined) {\n      defaultValues[input.name] = input.defaultValue;\n    }\n  });\n  return {\n    ...defaultValues,\n    ...initialState,\n    ...data,\n    ...(locale ? {\n      locale\n    } : {})\n  };\n};\nexport const getContentInitialValue = ({\n  content,\n  data\n}: Pick<ContentProps, 'content' | 'data'>): Nullable<BuilderContent> => {\n  return !content ? undefined : {\n    ...content,\n    data: {\n      ...content?.data,\n      ...data\n    },\n    meta: content?.meta\n  };\n}","import { Component, input, effect, signal, InputSignal } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { getDefaultRegisteredComponents } from \"../../constants/builder-registered-components\";\nimport { TARGET } from \"../../constants/target\";\nimport ComponentsContext from \"../../context/components.context\";\nimport type {\n  BuilderContextInterface,\n  BuilderRenderState,\n  RegisteredComponents,\n} from \"../../context/types\";\nimport { evaluate } from \"../../functions/evaluate/evaluate\";\nimport { serializeIncludingFunctions } from \"../../functions/register-component\";\nimport { logger } from \"../../helpers/logger\";\nimport type { ComponentInfo } from \"../../types/components\";\nimport type { Dictionary } from \"../../types/typescript\";\nimport Blocks from \"../blocks/blocks\";\nimport { getUpdateVariantVisibilityScript } from \"../content-variants/helpers\";\nimport DynamicDiv from \"../dynamic-div\";\nimport InlinedScript from \"../inlined-script\";\nimport EnableEditor from \"./components/enable-editor\";\nimport ContentStyles from \"./components/styles\";\nimport {\n  getContentInitialValue,\n  getRootStateInitialValue,\n} from \"./content.helpers\";\nimport type { ContentProps } from \"./content.types\";\nimport { wrapComponentRef } from \"./wrap-component-ref\";\n\n@Component({\n  selector: \"content-component\",\n  standalone: true,\n  imports: [CommonModule, EnableEditor, InlinedScript, ContentStyles, Blocks],\n  template: `\n    <enable-editor\n      [apiHost]=\"apiHost()\"\n      [nonce]=\"nonce()\"\n      [content]=\"content()\"\n      [data]=\"data()\"\n      [model]=\"model()\"\n      [context]=\"context()\"\n      [apiKey]=\"apiKey()\"\n      [canTrack]=\"canTrack()\"\n      [locale]=\"locale()\"\n      [enrich]=\"enrich()\"\n      [showContent]=\"showContent()\"\n      [builderContextSignal]=\"builderContextSignal()\"\n      [contentWrapper]=\"contentWrapper()\"\n      [contentWrapperProps]=\"contentWrapperProps()\"\n      [trustedHosts]=\"trustedHosts()\"\n      [isNestedRender]=\"isNestedRender()\"\n    >\n      @if(isSsrAbTest()){\n      <inlined-script\n        id=\"builderio-variant-visibility\"\n        [scriptStr]=\"scriptStr()\"\n        [nonce]=\"nonce() || ''\"\n      ></inlined-script>\n      } @if(TARGET !== 'reactNative'){\n      <content-styles\n        [nonce]=\"nonce() || ''\"\n        [isNestedRender]=\"isNestedRender()\"\n        [contentId]=\"builderContextSignal().content?.id\"\n        [cssCode]=\"builderContextSignal().content?.data?.cssCode\"\n        [customFonts]=\"builderContextSignal().content?.data?.customFonts\"\n      ></content-styles>\n      }\n      <blocks\n        [blocks]=\"builderContextSignal().content?.data?.blocks\"\n        [context]=\"builderContextSignal()\"\n        [registeredComponents]=\"registeredComponents()\"\n        [linkComponent]=\"linkComponent()\"\n      ></blocks>\n    </enable-editor>\n  `,\n  styles: `:host { display: contents; }`,\n  host: { ngSkipHydration: \"true\" },\n})\nexport default class ContentComponent {\n  protected readonly TARGET = TARGET;\n\n  content: InputSignal<ContentProps[\"content\"]> =\n    input<ContentProps[\"content\"]>();\n  data: InputSignal<ContentProps[\"data\"]> = input<ContentProps[\"data\"]>();\n  locale: InputSignal<ContentProps[\"locale\"]> = input<ContentProps[\"locale\"]>();\n  apiKey: InputSignal<ContentProps[\"apiKey\"]> = input<ContentProps[\"apiKey\"]>();\n  context: InputSignal<ContentProps[\"context\"]> =\n    input<ContentProps[\"context\"]>();\n  customComponents: InputSignal<ContentProps[\"customComponents\"]> =\n    input<ContentProps[\"customComponents\"]>();\n  canTrack: InputSignal<ContentProps[\"canTrack\"]> =\n    input<ContentProps[\"canTrack\"]>();\n  apiVersion: InputSignal<ContentProps[\"apiVersion\"]> =\n    input<ContentProps[\"apiVersion\"]>();\n  blocksWrapper: InputSignal<ContentProps[\"blocksWrapper\"]> =\n    input<ContentProps[\"blocksWrapper\"]>();\n  blocksWrapperProps: InputSignal<ContentProps[\"blocksWrapperProps\"]> =\n    input<ContentProps[\"blocksWrapperProps\"]>();\n  nonce: InputSignal<ContentProps[\"nonce\"]> = input<ContentProps[\"nonce\"]>();\n  model: InputSignal<ContentProps[\"model\"]> = input<ContentProps[\"model\"]>();\n  apiHost: InputSignal<ContentProps[\"apiHost\"]> =\n    input<ContentProps[\"apiHost\"]>();\n  enrich: InputSignal<ContentProps[\"enrich\"]> = input<ContentProps[\"enrich\"]>();\n  showContent: InputSignal<ContentProps[\"showContent\"]> =\n    input<ContentProps[\"showContent\"]>();\n  contentWrapper: InputSignal<ContentProps[\"contentWrapper\"]> =\n    input<ContentProps[\"contentWrapper\"]>();\n  contentWrapperProps: InputSignal<ContentProps[\"contentWrapperProps\"]> =\n    input<ContentProps[\"contentWrapperProps\"]>();\n  trustedHosts: InputSignal<ContentProps[\"trustedHosts\"]> =\n    input<ContentProps[\"trustedHosts\"]>();\n  isNestedRender: InputSignal<ContentProps[\"isNestedRender\"]> =\n    input<ContentProps[\"isNestedRender\"]>();\n  isSsrAbTest: InputSignal<ContentProps[\"isSsrAbTest\"]> =\n    input<ContentProps[\"isSsrAbTest\"]>();\n  linkComponent: InputSignal<ContentProps[\"linkComponent\"]> =\n    input<ContentProps[\"linkComponent\"]>();\n\n  scriptStr = signal(undefined);\n  registeredComponents = signal(undefined);\n  builderContextSignal = signal<BuilderContextInterface>(undefined);\n\n  contentSetState(newRootState: BuilderRenderState) {\n    this.builderContextSignal.update((builderContextSignal) => ({\n      ...builderContextSignal,\n      rootState: newRootState,\n    }));\n  }\n\n  constructor() {\n    if (typeof window !== \"undefined\") {\n      effect(\n        () => {\n          // --- Mitosis: Workaround to make sure the effect() is triggered ---\n          this.content();\n          this.data();\n          this.locale();\n          // ---\n\n          const updateContentAndRootState = () => {\n            const nextId = this.content()?.id;\n            const currentId = this.builderContextSignal().content?.id;\n            if (nextId && nextId !== currentId) {\n              // Update content and root state to reflect the new entry\n              this.builderContextSignal.update((builderContextSignal) => ({\n                ...builderContextSignal,\n                content: getContentInitialValue({\n                  content: this.content(),\n                  data: this.data(),\n                }),\n              }));\n              this.builderContextSignal.update((builderContextSignal) => ({\n                ...builderContextSignal,\n                rootState: getRootStateInitialValue({\n                  content: this.content(),\n                  data: this.data(),\n                  locale: this.locale(),\n                }),\n              }));\n\n              // Update AB-test visibility script\n              this.scriptStr.set(\n                getUpdateVariantVisibilityScript({\n                  variationId: this.content()?.testVariationId || \"\",\n                  contentId: nextId,\n                })\n              );\n            }\n          };\n          updateContentAndRootState();\n        },\n        {\n          allowSignalWrites: true, // Enable writing to signals inside effects\n        }\n      );\n    }\n  }\n\n  ngOnInit() {\n    this.builderContextSignal.set({\n      content: getContentInitialValue({\n        content: this.content(),\n        data: this.data(),\n      }),\n      localState: undefined,\n      rootState: getRootStateInitialValue({\n        content: this.content(),\n        data: this.data(),\n        locale: this.locale(),\n      }),\n      rootSetState: this.contentSetState.bind(this),\n      context: this.context() || {},\n      canTrack: this.canTrack(),\n      apiKey: this.apiKey(),\n      apiVersion: this.apiVersion(),\n      componentInfos: [\n        ...getDefaultRegisteredComponents(),\n        ...(this.customComponents() || []),\n      ].reduce<Dictionary<ComponentInfo>>(\n        (acc, { component: _, ...info }) => ({\n          ...acc,\n          [info.name]: serializeIncludingFunctions(info),\n        }),\n        {}\n      ),\n      inheritedStyles: {},\n      BlocksWrapper: this.blocksWrapper() || DynamicDiv,\n      BlocksWrapperProps: this.blocksWrapperProps() || {},\n      nonce: this.nonce() || \"\",\n      model: this.model(),\n    });\n    this.registeredComponents.set(\n      [\n        ...getDefaultRegisteredComponents(),\n        ...(this.customComponents() || []),\n      ].reduce<RegisteredComponents>(\n        (acc, { component, ...info }) => ({\n          ...acc,\n          [info.name]: {\n            component: component,\n            ...serializeIncludingFunctions(info),\n          },\n        }),\n        {}\n      )\n    );\n    this.scriptStr.set(\n      getUpdateVariantVisibilityScript({\n        // eslint-disable-next-line @typescript-eslint/no-non-null-assertion, @typescript-eslint/no-non-null-asserted-optional-chain\n        variationId: this.content()?.testVariationId!,\n        // eslint-disable-next-line @typescript-eslint/no-non-null-assertion, @typescript-eslint/no-non-null-asserted-optional-chain\n        contentId: this.content()?.id!,\n      })\n    );\n    if (!this.apiKey()) {\n      logger.error(\n        \"No API key provided to `Content` component. This can cause issues. Please provide an API key using the `apiKey` prop.\"\n      );\n    }\n\n    // run any dynamic JS code attached to content\n    const jsCode = this.builderContextSignal().content?.data?.jsCode;\n    if (jsCode) {\n      evaluate({\n        code: jsCode,\n        context: this.context() || {},\n        localState: undefined,\n        rootState: this.builderContextSignal().rootState,\n        rootSetState: (newState) => {\n          this.builderContextSignal().rootSetState?.(newState);\n        },\n        isExpression: false,\n      });\n    }\n  }\n}\n","import {\n  Component,\n  input,\n  effect,\n  signal,\n  computed,\n  InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\ntype VariantsProviderProps = ContentVariantsPrps & {\n  /**\n   * For internal use only. Do not provide this prop.\n   */\n  isNestedRender?: boolean;\n};\n\nimport {\n  SDKS_SUPPORTING_PERSONALIZATION,\n  getInitPersonalizationVariantsFnsScriptString,\n} from \"../../blocks/personalization-container/helpers\";\nimport { TARGET } from \"../../constants/target\";\nimport { handleABTestingSync } from \"../../helpers/ab-tests\";\nimport { getDefaultCanTrack } from \"../../helpers/canTrack\";\nimport ContentComponent from \"../content/content\";\nimport InlinedScript from \"../inlined-script\";\nimport InlinedStyles from \"../inlined-styles\";\nimport type { ContentVariantsPrps } from \"./content-variants.types\";\nimport {\n  checkShouldRenderVariants,\n  getInitVariantsFnsScriptString,\n  getUpdateCookieAndStylesScript,\n  getVariants,\n} from \"./helpers\";\n\n@Component({\n  selector: \"builder-content, content-variants\",\n  standalone: true,\n  imports: [CommonModule, InlinedScript, InlinedStyles, ContentComponent],\n  template: `\n    <ng-container>\n      @if(!isNestedRender() && TARGET !== 'reactNative'){\n      <inlined-script\n        id=\"builderio-init-variants-fns\"\n        [scriptStr]=\"getInitVariantsFnsScriptString()\"\n        [nonce]=\"nonce() || ''\"\n      ></inlined-script>\n      @if(SDKS_SUPPORTING_PERSONALIZATION.includes(TARGET)){\n      <inlined-script\n        id=\"builderio-init-personalization-variants-fns\"\n        [nonce]=\"nonce() || ''\"\n        [scriptStr]=\"getInitPersonalizationVariantsFnsScriptString()\"\n      ></inlined-script>\n      } } @if(shouldRenderVariants()){\n      <inlined-styles\n        id=\"builderio-variants\"\n        [styles]=\"hideVariantsStyleString()\"\n        [nonce]=\"nonce() || ''\"\n      ></inlined-styles>\n      <inlined-script\n        id=\"builderio-variants-visibility\"\n        [scriptStr]=\"updateCookieAndStylesScriptStr()\"\n        [nonce]=\"nonce() || ''\"\n      ></inlined-script>\n\n      @for (variant of getVariants(content());track trackByVariant0(i,\n      variant);let i = $index) {\n      <content-component\n        [apiHost]=\"apiHost()\"\n        [isNestedRender]=\"isNestedRender()\"\n        [nonce]=\"nonce()\"\n        [content]=\"variant\"\n        [showContent]=\"false\"\n        [model]=\"model()\"\n        [data]=\"data()\"\n        [context]=\"context()\"\n        [apiKey]=\"apiKey()\"\n        [apiVersion]=\"apiVersion()\"\n        [customComponents]=\"customComponents()\"\n        [linkComponent]=\"linkComponent()\"\n        [canTrack]=\"canTrack()\"\n        [locale]=\"locale()\"\n        [enrich]=\"enrich()\"\n        [isSsrAbTest]=\"shouldRenderVariants()\"\n        [blocksWrapper]=\"blocksWrapper()\"\n        [blocksWrapperProps]=\"blocksWrapperProps()\"\n        [contentWrapper]=\"contentWrapper()\"\n        [contentWrapperProps]=\"contentWrapperProps()\"\n        [trustedHosts]=\"trustedHosts()\"\n      ></content-component>\n      } }\n      <content-component\n        [apiHost]=\"apiHost()\"\n        [nonce]=\"nonce()\"\n        [isNestedRender]=\"isNestedRender()\"\n        [content]=\"defaultContent()\"\n        [showContent]=\"true\"\n        [model]=\"model()\"\n        [data]=\"data()\"\n        [context]=\"context()\"\n        [apiKey]=\"apiKey()\"\n        [apiVersion]=\"apiVersion()\"\n        [customComponents]=\"customComponents()\"\n        [linkComponent]=\"linkComponent()\"\n        [canTrack]=\"canTrack()\"\n        [locale]=\"locale()\"\n        [enrich]=\"enrich()\"\n        [isSsrAbTest]=\"shouldRenderVariants()\"\n        [blocksWrapper]=\"blocksWrapper()\"\n        [blocksWrapperProps]=\"blocksWrapperProps()\"\n        [contentWrapper]=\"contentWrapper()\"\n        [contentWrapperProps]=\"contentWrapperProps()\"\n        [trustedHosts]=\"trustedHosts()\"\n      ></content-component>\n    </ng-container>\n  `,\n  styles: `:host { display: contents; }`,\n})\nexport default class ContentVariants {\n  protected readonly TARGET = TARGET;\n  protected readonly getInitVariantsFnsScriptString =\n    getInitVariantsFnsScriptString;\n  protected readonly SDKS_SUPPORTING_PERSONALIZATION =\n    SDKS_SUPPORTING_PERSONALIZATION;\n  protected readonly getInitPersonalizationVariantsFnsScriptString =\n    getInitPersonalizationVariantsFnsScriptString;\n  protected readonly getVariants = getVariants;\n\n  canTrack: InputSignal<VariantsProviderProps[\"canTrack\"]> =\n    input<VariantsProviderProps[\"canTrack\"]>();\n  content: InputSignal<VariantsProviderProps[\"content\"]> =\n    input<VariantsProviderProps[\"content\"]>();\n  isNestedRender: InputSignal<VariantsProviderProps[\"isNestedRender\"]> =\n    input<VariantsProviderProps[\"isNestedRender\"]>();\n  nonce: InputSignal<VariantsProviderProps[\"nonce\"]> =\n    input<VariantsProviderProps[\"nonce\"]>();\n  apiHost: InputSignal<VariantsProviderProps[\"apiHost\"]> =\n    input<VariantsProviderProps[\"apiHost\"]>();\n  model: InputSignal<VariantsProviderProps[\"model\"]> =\n    input<VariantsProviderProps[\"model\"]>();\n  data: InputSignal<VariantsProviderProps[\"data\"]> =\n    input<VariantsProviderProps[\"data\"]>();\n  context: InputSignal<VariantsProviderProps[\"context\"]> =\n    input<VariantsProviderProps[\"context\"]>();\n  apiKey: InputSignal<VariantsProviderProps[\"apiKey\"]> =\n    input<VariantsProviderProps[\"apiKey\"]>();\n  apiVersion: InputSignal<VariantsProviderProps[\"apiVersion\"]> =\n    input<VariantsProviderProps[\"apiVersion\"]>();\n  customComponents: InputSignal<VariantsProviderProps[\"customComponents\"]> =\n    input<VariantsProviderProps[\"customComponents\"]>();\n  linkComponent: InputSignal<VariantsProviderProps[\"linkComponent\"]> =\n    input<VariantsProviderProps[\"linkComponent\"]>();\n  locale: InputSignal<VariantsProviderProps[\"locale\"]> =\n    input<VariantsProviderProps[\"locale\"]>();\n  enrich: InputSignal<VariantsProviderProps[\"enrich\"]> =\n    input<VariantsProviderProps[\"enrich\"]>();\n  blocksWrapper: InputSignal<VariantsProviderProps[\"blocksWrapper\"]> =\n    input<VariantsProviderProps[\"blocksWrapper\"]>();\n  blocksWrapperProps: InputSignal<VariantsProviderProps[\"blocksWrapperProps\"]> =\n    input<VariantsProviderProps[\"blocksWrapperProps\"]>();\n  contentWrapper: InputSignal<VariantsProviderProps[\"contentWrapper\"]> =\n    input<VariantsProviderProps[\"contentWrapper\"]>();\n  contentWrapperProps: InputSignal<\n    VariantsProviderProps[\"contentWrapperProps\"]\n  > = input<VariantsProviderProps[\"contentWrapperProps\"]>();\n  trustedHosts: InputSignal<VariantsProviderProps[\"trustedHosts\"]> =\n    input<VariantsProviderProps[\"trustedHosts\"]>();\n\n  shouldRenderVariants = signal(undefined);\n\n  updateCookieAndStylesScriptStr = computed(() => {\n    return getUpdateCookieAndStylesScript(\n      getVariants(this.content()).map((value) => ({\n        id: value.testVariationId!,\n        testRatio: value.testRatio,\n      })),\n      this.content()?.id || \"\"\n    );\n  });\n  hideVariantsStyleString = computed(() => {\n    return getVariants(this.content())\n      .map((value) => `.variant-${value.testVariationId} { display: none; } `)\n      .join(\"\");\n  });\n  defaultContent = computed(() => {\n    return this.shouldRenderVariants()\n      ? {\n          ...this.content(),\n          testVariationId: this.content()?.id,\n        }\n      : handleABTestingSync({\n          item: this.content(),\n          canTrack: getDefaultCanTrack(this.canTrack()),\n        });\n  });\n  trackByVariant0(_: number, variant: any) {\n    return variant.testVariationId;\n  }\n\n  constructor() {}\n\n  ngOnInit() {\n    this.shouldRenderVariants.set(\n      checkShouldRenderVariants({\n        canTrack: getDefaultCanTrack(this.canTrack()),\n        content: this.content(),\n      })\n    );\n  }\n\n  ngAfterViewInit() {\n    if (typeof window !== \"undefined\") {\n      /**\n       * For Solid/Svelte: we unmount the non-winning variants post-hydration.\n       */\n    }\n  }\n}\n","import type { BuilderContextInterface } from '../../context/types';\nimport { fetchOneEntry } from '../../functions/get-content/index';\nimport { logger } from '../../helpers/logger';\nimport type { BuilderContent } from '../../types/builder-content';\nexport interface SymbolInfo {\n  model?: string;\n  entry?: string;\n  data?: any;\n  content?: BuilderContent;\n  inline?: boolean;\n  dynamic?: boolean;\n  ownerId?: string;\n  global?: boolean;\n}\nexport const fetchSymbolContent = async ({\n  builderContextValue,\n  symbol\n}: {\n  symbol: SymbolInfo | undefined;\n  builderContextValue: BuilderContextInterface;\n}) => {\n  /**\n   * If:\n   * - we have a symbol prop\n   * - yet it does not have any content\n   * - and we have not already stored content from before\n   * - and it has a model name\n   *\n   * then we want to re-fetch the symbol content.\n   */\n  if (symbol?.model &&\n  // This is a hack, we should not need to check for this, but it is needed for Svelte.\n  builderContextValue?.apiKey) {\n    return fetchOneEntry({\n      model: symbol.model,\n      apiKey: symbol.global && symbol.ownerId ? symbol.ownerId : builderContextValue.apiKey,\n      apiVersion: builderContextValue.apiVersion,\n      ...(symbol?.entry && {\n        query: {\n          id: symbol.entry\n        }\n      })\n    }).catch(err => {\n      logger.error('Could not fetch symbol content: ', err);\n      return undefined;\n    });\n  }\n  return undefined;\n}","import {\n  Component,\n  viewChild,\n  ElementRef,\n  Renderer2,\n  input,\n  effect,\n  signal,\n  computed,\n  InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport ContentVariants from \"../../components/content-variants/index\";\nimport type { BuilderContent } from \"../../types/builder-content\";\nimport { filterAttrs } from \"../helpers\";\nimport DynamicDiv from \"../../components/dynamic-div\";\nimport { getClassPropName } from \"../../functions/get-class-prop-name\";\nimport type { Nullable } from \"../../types/typescript\";\nimport { setAttrs } from \"../helpers\";\nimport { fetchSymbolContent } from \"./symbol.helpers\";\nimport type { SymbolProps } from \"./symbol.types\";\n\n@Component({\n  selector: \"builder-symbol\",\n  standalone: true,\n  imports: [CommonModule, ContentVariants],\n  template: `\n    <div #elRef0 [class]=\"className()\">\n      <content-variants\n        [nonce]=\"builderContext().nonce\"\n        [isNestedRender]=\"true\"\n        [apiVersion]=\"builderContext().apiVersion\"\n        [apiKey]=\"symbol()?.global && symbol()?.ownerId ? symbol().ownerId : builderContext().apiKey!\"\n        [context]=\"objSpread_context_c7ynf9()\"\n        [customComponents]=\"customComponents()\"\n        [data]=\"objSpread_data_9gx4sl()\"\n        [canTrack]=\"builderContext().canTrack\"\n        [model]=\"symbol()?.model ?? ''\"\n        [content]=\"contentToUse()\"\n        [linkComponent]=\"builderLinkComponent()\"\n        [blocksWrapper]=\"blocksWrapper()\"\n        [contentWrapper]=\"contentWrapper()\"\n      ></content-variants>\n    </div>\n  `,\n  styles: `:host { display: contents; }`,\n})\nexport default class Symbol {\n  symbol: InputSignal<SymbolProps[\"symbol\"]> = input<SymbolProps[\"symbol\"]>();\n  builderComponents: InputSignal<SymbolProps[\"builderComponents\"]> =\n    input<SymbolProps[\"builderComponents\"]>();\n  attributes: InputSignal<SymbolProps[\"attributes\"]> =\n    input<SymbolProps[\"attributes\"]>();\n  dynamic: InputSignal<SymbolProps[\"dynamic\"]> =\n    input<SymbolProps[\"dynamic\"]>();\n  builderContext: InputSignal<SymbolProps[\"builderContext\"]> =\n    input<SymbolProps[\"builderContext\"]>();\n  builderBlock: InputSignal<SymbolProps[\"builderBlock\"]> =\n    input<SymbolProps[\"builderBlock\"]>();\n  builderLinkComponent: InputSignal<SymbolProps[\"builderLinkComponent\"]> =\n    input<SymbolProps[\"builderLinkComponent\"]>();\n\n  elRef0 = viewChild<ElementRef>(\"elRef0\");\n\n  contentToUse = signal(undefined);\n  symbolEntry = signal(undefined);\n  _listenerFns = new Map();\n\n  blocksWrapper = computed(() => {\n    return DynamicDiv;\n  });\n  contentWrapper = computed(() => {\n    return DynamicDiv;\n  });\n  customComponents = computed(() => {\n    return Object.values(this.builderComponents());\n  });\n  className = computed(() => {\n    return [\n      ...[this.attributes()[getClassPropName()]],\n      \"builder-symbol\",\n      this.symbol()?.inline ? \"builder-inline-symbol\" : undefined,\n      this.symbol()?.dynamic || this.dynamic()\n        ? \"builder-dynamic-symbol\"\n        : undefined,\n    ]\n      .filter(Boolean)\n      .join(\" \");\n  });\n  objSpread_context_c7ynf9 = computed(() => {\n    return {\n      ...this.builderContext().context,\n      symbolId: this.builderBlock()?.id,\n    };\n  });\n  objSpread_data_9gx4sl = computed(() => {\n    return {\n      ...this.symbol()?.data,\n      ...this.builderContext().localState,\n      ...this.contentToUse()?.data?.state,\n    };\n  });\n  setContent() {\n    if (this.contentToUse() && this.symbolEntry() === this.symbol()?.entry)\n      return;\n    fetchSymbolContent({\n      symbol: this.symbol(),\n      builderContextValue: this.builderContext(),\n    }).then((newContent) => {\n      if (newContent) {\n        this.contentToUse.set(newContent);\n        this.symbolEntry.set(this.symbol()?.entry);\n      }\n    });\n  }\n  setAttributes(el: HTMLElement, value: any, changes?: any) {\n    if (!el) {\n      return;\n    }\n    const target = typeof changes === \"undefined\" ? value : changes;\n    Object.keys(target).forEach((key) => {\n      if (key.startsWith(\"on\")) {\n        if (this._listenerFns.has(key)) {\n          this._listenerFns.get(key)!();\n        }\n        this._listenerFns.set(\n          key,\n          this.renderer.listen(\n            el,\n            key.replace(\"on\", \"\").toLowerCase(),\n            target[key]\n          )\n        );\n      } else {\n        this.renderer.setAttribute(el, key.toLowerCase(), target[key] ?? \"\");\n      }\n    });\n  }\n\n  constructor(private renderer: Renderer2) {\n    if (typeof window !== \"undefined\") {\n      effect(\n        () => {\n          // --- Mitosis: Workaround to make sure the effect() is triggered ---\n          this.symbol();\n          // ---\n\n          this.setContent();\n        },\n        {\n          allowSignalWrites: true, // Enable writing to signals inside effects\n        }\n      );\n      effect(\n        () => {\n          this.setAttributes(this.elRef0()?.nativeElement, {});\n        },\n        {\n          allowSignalWrites: true, // Enable writing to signals inside effects\n        }\n      );\n      effect(\n        () => {\n          this.setAttributes(this.elRef0()?.nativeElement, this.attributes());\n        },\n        {\n          allowSignalWrites: true, // Enable writing to signals inside effects\n        }\n      );\n      effect(\n        () => {\n          this.setAttributes(this.elRef0()?.nativeElement, {});\n        },\n        {\n          allowSignalWrites: true, // Enable writing to signals inside effects\n        }\n      );\n    }\n  }\n\n  ngOnInit() {\n    this.symbolEntry.set(this.symbol()?.entry);\n    this.contentToUse.set(this.symbol()?.content);\n  }\n\n  ngAfterViewInit() {\n    if (typeof window !== \"undefined\") {\n    }\n    this.setAttributes(this.elRef0()?.nativeElement, {});\n    this.setAttributes(this.elRef0()?.nativeElement, this.attributes());\n    this.setAttributes(this.elRef0()?.nativeElement, {});\n  }\n\n  ngOnDestroy() {\n    for (const fn of this._listenerFns.values()) {\n      fn();\n    }\n  }\n}\n","// ignore prettier formatting for this file because the order of exports is meaningful\n// prettier-ignore\nexport * from './index-helpers/top-of-file';\n\n/**\n * In the React SDK, this file is marked with `use client`.\n */\n// prettier-ignore\nexport * from './index-helpers/blocks-exports';\n\n/**\n * In the React SDK, this file is not marked with `use client`, to allow\n * NextJS App Directory to use the SDK helper functions without issues.\n */\nexport * from './server-index'","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["DynamicDiv","evaluator","fetch","i1.BuilderContext","i2","UPDATE_VARIANT_VISIBILITY_SCRIPT_FN_NAME","checkShouldRenderVariants","isHydrationTarget","componentInfo","i1","customCode","customCodeInfo","embed","embedComponentInfo","Form","formComponentInfo","FormInput","formInputComponentInfo","FormSubmitButton","formSubmitButtonComponentInfo","FormSelect","formSelectComponentInfo","textAreaComponentInfo","Img","imgComponentInfo","videoComponentInfo","buttonComponentInfo","columnsComponentInfo","Fragment","fragmentComponentInfo","imageComponentInfo","Section","sectionComponentInfo","slotComponentInfo","symbolComponentInfo","textComponentInfo","personalizationContainerComponentInfo","tabsComponentInfo","accordionComponentInfo"],"mappings":"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"}