{"version":3,"sources":["../src/elements/svgs.ts"],"sourcesContent":["import { LitElement, html, css } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\n\n/**\n * @since 1.0.0\n * @status stable\n *\n * @tagname kemet-svgs\n * @summary A set of SVG graphics that can be referenced anywhere in a page or app.\n *\n * @prop {string} set - Defines the name for the set of svgs.\n *\n */\n\n@customElement('kemet-svgs')\nexport default class KemetSVGs extends LitElement {\n  static styles = [css`\n    :host {\n      display: none;\n    }\n  `];\n\n  @property({ type: String })\n  set: string = 'svgs';\n\n  @state()\n  slotElement: HTMLSlotElement;\n\n  firstUpdated() {\n    this.slotElement = this.shadowRoot.querySelector('slot');\n    document.kemetSVGs = document.kemetSVGs || {};\n\n    this.populateIcons();\n    this.slotElement.addEventListener('slotchange', () => this.populateIcons());\n  }\n\n  render() {\n    return html`<slot></slot>`;\n  }\n\n  populateIcons() {\n    const svg = this.slotElement.assignedElements()[0];\n    const svgContents = svg ? svg.querySelectorAll('defs > g') : null;\n\n    if (svgContents) {\n      document.kemetSVGs[this.set] = svgContents;\n    }\n  }\n}\n\ndeclare global {\n  interface HTMLElementTagNameMap {\n    'kemet-svgs': KemetSVGs\n  }\n\n  interface Document {\n    kemetSVGs: any;\n  }\n}\n"],"mappings":";;;;;AAAA,SAAS,YAAY,MAAM,WAAW;AACtC,SAAS,eAAe,UAAU,aAAa;AAc/C,IAAqB,YAArB,cAAuC,WAAW;AAAA,EAAlD;AAAA;AAQE,eAAc;AAAA;AAAA,EAKd,eAAe;AACb,SAAK,cAAc,KAAK,WAAW,cAAc,MAAM;AACvD,aAAS,YAAY,SAAS,aAAa,CAAC;AAE5C,SAAK,cAAc;AACnB,SAAK,YAAY,iBAAiB,cAAc,MAAM,KAAK,cAAc,CAAC;AAAA,EAC5E;AAAA,EAEA,SAAS;AACP,WAAO;AAAA,EACT;AAAA,EAEA,gBAAgB;AACd,UAAM,MAAM,KAAK,YAAY,iBAAiB,EAAE,CAAC;AACjD,UAAM,cAAc,MAAM,IAAI,iBAAiB,UAAU,IAAI;AAE7D,QAAI,aAAa;AACf,eAAS,UAAU,KAAK,GAAG,IAAI;AAAA,IACjC;AAAA,EACF;AACF;AAjCqB,UACZ,SAAS,CAAC;AAAA;AAAA;AAAA;AAAA,GAIhB;AAGD;AAAA,EADC,SAAS,EAAE,MAAM,OAAO,CAAC;AAAA,GAPP,UAQnB;AAGA;AAAA,EADC,MAAM;AAAA,GAVY,UAWnB;AAXmB,YAArB;AAAA,EADC,cAAc,YAAY;AAAA,GACN;","names":[]}