{"version":3,"sources":["webpack://@verndale/toolkit/./src/js/modules/shareModule.ts"],"names":["ShareModule","Component","el","__publicField","svg","_a","clone","option","service","url","winTop","winLeft"],"mappings":"yUAEA,MAAMA,UAAoBC,WAAU,CAGlC,YAAYC,EAAiB,CAC3B,MAAMA,CAAE,EAHVC,EAAA,YAIE,KAAK,IAAM,OAAO,SAAS,IAC7B,CAEA,eAAgB,CACd,KAAK,IAAM,CACT,SAAU,KAAK,GAAG,iBAChB,gCACF,EACA,QAAS,KAAK,GAAG,iBAA8B,gBAAgB,CACjE,EAEA,CAAC,EAAE,QAAQ,KAAK,KAAK,IAAI,SAAUC,GAAO,CAlB9C,IAAAC,EAmBM,MAAMC,EAASF,EAAa,UAAU,EAAI,EAC1CE,EAAM,gBAAgB,IAAI,GACzBD,EAAAD,EAAoB,aAApB,MAAAC,EAAgC,YAAYC,EAC/C,CAAC,CACH,CAEA,cAAe,CACZ,KAAK,IAAI,QAA0C,QAAQC,GAAU,CACpEA,EAAO,iBAAiB,QAAS,KAAK,kBAAkB,KAAK,IAAI,CAAC,CACpE,CAAC,CACH,CAEA,kBAAkB,EAAU,CAE1B,MAAMC,EADS,EAAE,cACM,QAAQ,QAE/B,QAAQ,IAAIA,CAAO,EAEfA,GACF,KAAK,MAAMA,CAAO,CAEtB,CAEA,MAAMA,EAAiB,CACrB,OAAQA,EAAS,CACf,IAAK,WACH,KAAK,UAAU,wCAAwC,KAAK,KAAK,EACjE,MAIF,IAAK,WACH,KAAK,UACH,uDAAuD,KAAK,KAC9D,EACA,MACF,IAAK,QACH,KAAK,UAAU,gBAAgB,OAAO,SAAS,MAAM,EACrD,MACF,QACE,KACJ,CACF,CAEA,UAAUC,EAAa,CACrB,MAAMC,EAAS,OAAO,YAAc,EAAI,IAClCC,EAAU,OAAO,WAAa,EAAI,IAExC,OAAO,KACLF,EACA,SACA,OAAOC,WAAgBC,yCACzB,CACF,CACF,CAEA,QAAeX,C","file":"scripts/9074.fb0b9824f42067d1e70f.js","sourcesContent":["import { Component } from '@verndale/core';\n\nclass ShareModule extends Component {\n  url: string;\n\n  constructor(el: HTMLElement) {\n    super(el);\n    this.url = window.location.href;\n  }\n\n  setupDefaults() {\n    this.dom = {\n      svgIcons: this.el.querySelectorAll<HTMLElement>(\n        '.share-module__icon-button svg'\n      ),\n      options: this.el.querySelectorAll<HTMLElement>('[data-service]')\n    };\n\n    [].forEach.call(this.dom.svgIcons, svg => {\n      const clone = (svg as Node).cloneNode(true) as HTMLElement;\n      clone.removeAttribute('id');\n      (svg as HTMLElement).parentNode?.appendChild(clone);\n    });\n  }\n\n  addListeners() {\n    (this.dom.options as NodeListOf<HTMLButtonElement>).forEach(option => {\n      option.addEventListener('click', this.handleOptionClick.bind(this));\n    });\n  }\n\n  handleOptionClick(e: Event) {\n    const target = e.currentTarget as HTMLElement;\n    const service = target.dataset.service;\n\n    console.log(service);\n\n    if (service) {\n      this.share(service);\n    }\n  }\n\n  share(service: string) {\n    switch (service) {\n      case 'facebook':\n        this.openModal(`https://www.facebook.com/share.php?u=${this.url}`);\n        break;\n      // case 'x':\n      //   this.openModal(`https://twitter.com/share?url=${this.url}`);\n      //   break;\n      case 'linkedin':\n        this.openModal(\n          `https://www.linkedin.com/sharing/share-offsite/?url=${this.url}`\n        );\n        break;\n      case 'email':\n        this.openModal(`mailto:?body=${window.location.href}`);\n        break;\n      default:\n        break;\n    }\n  }\n\n  openModal(url: string) {\n    const winTop = window.innerHeight / 3 - 200;\n    const winLeft = window.innerWidth / 2 - 300;\n\n    window.open(\n      url,\n      'sharer',\n      `top=${winTop}, left=${winLeft}, width=600, height=400, scrollbars=no`\n    );\n  }\n}\n\nexport default ShareModule;\n"],"sourceRoot":""}