{"version":3,"file":"banner-side-by-side-section.min.js","mappings":"wZAOA,MAAMA,yBAAyBC,YAYtB,iBAAAC,GACLC,KAAKC,sBACP,CAEQ,oBAAAA,GACDD,KAAKE,aACRF,KAAKG,aAAa,CAAEC,KAAM,SAC1BJ,KAAKE,WAAWG,UAAY,yVAEhC,EAWGC,eAAeC,IAAI,wBACtBD,eAAeE,OAAO,sBAAuBX","sources":["webpack://lange/./sections/banner-side-by-side/banner-side-by-side/index.ts"],"sourcesContent":["import type { CustomElement } from '@integrabeauty/custom-elements';\nimport html from './index.html';\nimport styles from './index.scss';\n\n/**\n * Renders Side By Side banner text + image\n */\nclass BannerSideBySide extends HTMLElement implements CustomElement {\n  declare readonly dataset: {\n    /**\n     * Present as the string \"true\" when the banner renders with an image, and omitted entirely when\n     * it renders the text-only variant.\n     */\n    hasImage: 'true';\n\n    /** Drive CSS for aligning image left or right on page */\n    imageAlignment: string;\n  };\n\n  public connectedCallback() {\n    this.initializeShadowRoot();\n  }\n\n  private initializeShadowRoot() {\n    if (!this.shadowRoot) {\n      this.attachShadow({ mode: 'open' });\n      this.shadowRoot.innerHTML = `<style>${styles}</style>${html}`;\n    }\n  }\n}\n\ndeclare global {\n  interface HTMLElementTagNameMap {\n    'banner-side-by-side': BannerSideBySide;\n  }\n}\n\n// This module is potentially loaded more than once.\n\nif (!customElements.get('banner-side-by-side')) {\n  customElements.define('banner-side-by-side', BannerSideBySide);\n}\n"],"names":["BannerSideBySide","HTMLElement","connectedCallback","this","initializeShadowRoot","shadowRoot","attachShadow","mode","innerHTML","customElements","get","define"],"sourceRoot":""}