{"version":3,"file":"discount-message-element-section-xxxxxxxxxxxxxxxxxxxx.min.js","mappings":"yBAQA,MAAMA,wBAAwBC,YAC5B,6BAAWC,GACT,MAAO,CACL,eAEJ,CAWAC,WAAAA,GACEC,QACAC,KAAKC,aAAa,CAAEC,KAAM,SAC1BF,KAAKG,WAAWC,UAAY,UAAHC,OC3B7B,yWD2BgD,YAAAA,OE1BrC,+BF2BPL,KAAKM,QACP,CAEOC,wBAAAA,CAAyBC,EAAcC,EAAmBC,GAC1DV,KAAKW,aAAwB,iBAATH,GAIzBR,KAAKM,QACP,CAEQA,MAAAA,GACUN,KAAKG,WAAWS,cAA2B,YACnDR,UAAYJ,KAAKa,QAAQC,OACnC,EASGC,eAAeC,IAAI,qBACtBD,eAAeE,OAAO,mBAAoBtB,gB","sources":["webpack://lange/./scripts/sections/discount-message-element/discount-message/index.ts","webpack://lange/./scripts/sections/discount-message-element/discount-message/index.scss","webpack://lange/./scripts/sections/discount-message-element/discount-message/index.html"],"sourcesContent":["import type { CustomElement } from '@integrabeauty/custom-elements';\nimport html from './index.html';\nimport styles from './index.scss';\n\n/**\n * A custom HTML element that displays a product variant's discount message. It observes the\n * 'data-message' attribute and updates the rendered message accordingly when the attribute changes.\n */\nclass DiscountMessage extends HTMLElement implements CustomElement {\n  static get observedAttributes() {\n    return [\n      'data-message'\n    ];\n  }\n\n  public dataset!: {\n    /**\n     * Discount offer message\n     */\n    message: string;\n  };\n\n  public shadowRoot!: ShadowRoot;\n\n  constructor() {\n    super();\n    this.attachShadow({ mode: 'open' });\n    this.shadowRoot.innerHTML = `<style>${styles}</style>${html}`;\n    this.render();\n  }\n\n  public attributeChangedCallback(name: string, _oldValue: string, _newValue: string) {\n    if (!this.isConnected || name !== 'data-message') {\n      return;\n    }\n\n    this.render();\n  }\n\n  private render() {\n    const message = this.shadowRoot.querySelector<HTMLElement>('.message');\n    message.innerHTML = this.dataset.message;\n  }\n}\n\ndeclare global {\n  interface HTMLElementTagNameMap {\n    'discount-message': DiscountMessage;\n  }\n}\n\nif (!customElements.get('discount-message')) {\n  customElements.define('discount-message', DiscountMessage);\n}\n","export default \":host{background-color:#f5f5f5;border-radius:2px;display:block;font-size:.875rem;font-weight:600;padding:10px 20px;text-align:center;width:100%}@media screen and (min-width:768px){:host{font-size:1rem;padding-bottom:12px;padding-top:12px}}:host(:not([data-message])),:host([data-message=\\\"\\\"]){display:none}b,strong{font-weight:600}.message:empty{display:none}\";","// Module\nvar code = \"<div class=\\\"message\\\"></div>\";\n// Exports\nexport default code;"],"names":["DiscountMessage","HTMLElement","observedAttributes","constructor","super","this","attachShadow","mode","shadowRoot","innerHTML","concat","render","attributeChangedCallback","name","_oldValue","_newValue","isConnected","querySelector","dataset","message","customElements","get","define"],"sourceRoot":""}