{"version":3,"file":"./modules/share.bundle.js","mappings":";;;;;;;;;;;;;;;;;;AAAA;;IAEqBC;AACjB,6BAAc;AAAA;;AACV,SAAKC,QAAL,GAAgB,iBAAhB;AACA,SAAKC,SAAL,GAAiB,EAAjB;AACA,SAAKC,IAAL;AACH;;;;WAED,gBAAO;AAAA;;AACH,UAAIC,QAAQ,CAACC,gBAAT,CAA0B,KAAKJ,QAA/B,EAAyCK,MAA7C,EAAqD;AACjDF,QAAAA,QAAQ,CAACC,gBAAT,CAA0B,KAAKJ,QAA/B,EAAyCM,OAAzC,CAAiD,UAAAC,SAAS,EAAI;AAC1D,cAAMC,KAAK,GAAG,IAAIV,8CAAJ,CAAUS,SAAV,CAAd;;AACA,eAAI,CAACN,SAAL,CAAeQ,IAAf,CAAoBD,KAApB;;AACAA,UAAAA,KAAK,CAACN,IAAN;AACH,SAJD;AAKH;AACJ;;;;;;;;;;;;;;;;;;;;;;;;;ICjBgBJ;AACjB,iBAAYS,SAAZ,EAAuB;AAAA;;AACnB,SAAKA,SAAL,GAAiBA,SAAjB;AAEA,SAAKG,GAAL,GAAW,IAAX;AACA,SAAKC,WAAL,GAAmB,IAAnB;AACA,SAAKC,KAAL,GAAa,IAAb;AACA,SAAKC,QAAL,GAAgB,iBAAhB;AACA,SAAKC,MAAL,GAAc,KAAd;AAEA,SAAKC,WAAL,GAAmB,KAAnB;AAEA,SAAKC,KAAL,GAAa,CACT,UADS,EAET,SAFS,EAGT,UAHS,EAIT,OAJS,EAKT,UALS,EAMT,QANS,CAAb;AASA,SAAKC,MAAL,GAAc;AACVC,MAAAA,OAAO,EAAE;AACLC,QAAAA,IAAI,EAAE,SADD;AAELC,QAAAA,OAAO,EAAE,IAFJ;AAGLC,QAAAA,IAAI,EAAE,6EAHD;AAILC,QAAAA,UAAU,EAAE;AAJP,OADC;AAOVC,MAAAA,QAAQ,EAAE;AACNJ,QAAAA,IAAI,EAAE,UADA;AAENC,QAAAA,OAAO,EAAE,IAFH;AAGNC,QAAAA,IAAI,EAAE,8EAHA;AAINC,QAAAA,UAAU,EAAE;AAJN,OAPA;AAaVE,MAAAA,QAAQ,EAAE;AACNL,QAAAA,IAAI,EAAE,UADA;AAENC,QAAAA,OAAO,EAAE,IAFH;AAGNC,QAAAA,IAAI,EAAE,8EAHA;AAINC,QAAAA,UAAU,EAAE;AAJN,OAbA;AAmBVG,MAAAA,QAAQ,EAAE;AACNN,QAAAA,IAAI,EAAE,UADA;AAENC,QAAAA,OAAO,EAAE,IAFH;AAGNC,QAAAA,IAAI,EAAE,8EAHA;AAINC,QAAAA,UAAU,EAAE;AAJN,OAnBA;AAyBVI,MAAAA,KAAK,EAAE;AACHP,QAAAA,IAAI,EAAE,QADH;AAEHC,QAAAA,OAAO,EAAE,IAFN;AAGHC,QAAAA,IAAI,EAAE,2EAHH;AAIHC,QAAAA,UAAU,EAAE;AAJT,OAzBG;AA+BV,gBAAQ;AACJH,QAAAA,IAAI,EAAE,OADF;AAEJC,QAAAA,OAAO,EAAE,IAFL;AAGJP,QAAAA,QAAQ,EAAE,OAHN;AAIJQ,QAAAA,IAAI,EAAE,6EAJF;AAKJC,QAAAA,UAAU,EAAE;AALR;AA/BE,KAAd;AAuCH;;;;WAED,gBAAO;AACH,WAAKR,MAAL,GAAc,KAAKa,YAAL,EAAd;AACA,WAAKjB,GAAL,GAAW,KAAKkB,SAAL,EAAX;AACA,WAAKjB,WAAL,GAAmB,KAAKkB,iBAAL,EAAnB;AACA,WAAKjB,KAAL,GAAa,KAAKkB,WAAL,EAAb;AAEA,WAAKC,kBAAL;AACH;;;WAED,8BAAqB;AAAA;;AACjB,UAAIC,IAAI,GAAGC,MAAM,CAACC,IAAP,CAAY,KAAKjB,MAAjB,CAAX;;AAEA,UAAI,KAAKD,KAAT,EAAgB;AACZgB,QAAAA,IAAI,GAAG,KAAKhB,KAAZ;AACH;;AACDgB,MAAAA,IAAI,CAAC1B,OAAL,CAAa,UAAA6B,KAAK,EAAI;AAClB,YAAI,KAAI,CAAClB,MAAL,CAAYkB,KAAZ,EAAmBf,OAAvB,EAAgC;AAC5B,cAAIgB,MAAM,GAAG,IAAb;;AACA,cAAI,KAAI,CAACnB,MAAL,CAAYkB,KAAZ,EAAmBb,UAAnB,IAAiC,CAAC,KAAI,CAACR,MAA3C,EAAmD;AAC/CsB,YAAAA,MAAM,GAAG,KAAT;AACH;;AAED,cAAID,KAAK,IAAI,QAAT,IAAqB,CAACE,SAAS,CAAC7B,KAApC,EAA2C;AACvC4B,YAAAA,MAAM,GAAG,KAAT;AACH;;AAEDE,UAAAA,OAAO,CAACC,GAAR,WAAeJ,KAAf,eAAyBC,MAAzB;;AAEA,cAAIA,MAAJ,EAAY;AACR,gBAAMI,GAAG,GAAGrC,QAAQ,CAACsC,aAAT,CAAuB,GAAvB,CAAZ;AACAD,YAAAA,GAAG,CAACE,YAAJ,CAAiB,QAAjB,EAA2B,QAA3B;AACAF,YAAAA,GAAG,CAACE,YAAJ,CAAiB,KAAjB,EAAwB,UAAxB;AACAF,YAAAA,GAAG,CAACG,IAAJ,GAAW,KAAI,CAACR,KAAD,CAAJ,EAAX;;AACA,gBAAI,KAAI,CAAClB,MAAL,CAAYkB,KAAZ,EAAmBtB,QAAvB,EAAiC;AAC7B2B,cAAAA,GAAG,CAAC5B,KAAJ,GAAY,KAAI,CAACK,MAAL,CAAYkB,KAAZ,EAAmBtB,QAA/B;AACH,aAFD,MAEO;AACH2B,cAAAA,GAAG,CAAC5B,KAAJ,GAAY,KAAI,CAACC,QAAL,CAAc+B,OAAd,CAAsB,QAAtB,EAAgC,KAAI,CAAC3B,MAAL,CAAYkB,KAAZ,EAAmBhB,IAAnD,CAAZ;AACH;;AACDqB,YAAAA,GAAG,CAACK,SAAJ,GAAgB,KAAI,CAAC5B,MAAL,CAAYkB,KAAZ,EAAmBd,IAAnC;;AAEA,iBAAI,CAACyB,UAAL,CAAgBN,GAAhB,EAAqBL,KAArB;;AACA,iBAAI,CAAC5B,SAAL,CAAewC,WAAf,CAA2BP,GAA3B;AACH;AACJ;AACJ,OA7BD;AA8BH;;;WAED,wBAAe;AACX,aAAO,6BAA6BQ,IAA7B,CAAkCX,SAAS,CAACY,SAA5C,CAAP;AACH;;;WAED,qBAAY;AACR,UAAI,KAAK1C,SAAL,CAAe2C,OAAf,CAAuBxC,GAA3B,EAAgC;AAC5B,eAAO,KAAKH,SAAL,CAAe2C,OAAf,CAAuBxC,GAA9B;AACH;;AAED,aAAOyC,MAAM,CAACC,QAAP,CAAgBT,IAAvB;AACH;;;WAED,6BAAoB;AAChB,UAAI,KAAKpC,SAAL,CAAe2C,OAAf,CAAuBvC,WAA3B,EAAwC;AACpC,eAAO,KAAKJ,SAAL,CAAe2C,OAAf,CAAuBvC,WAA9B;AACH;;AAED,UAAI0C,eAAe,GAAG,IAAtB;AACA,UAAIC,aAAa,GAAG,IAApB;AACA,UAAIC,QAAQ,GAAGpD,QAAQ,CAACqD,IAAT,CAAcC,oBAAd,CAAmC,MAAnC,CAAf;;AAEA,WAAK,IAAIC,SAAS,GAAG,CAArB,EAAwBA,SAAS,GAAGH,QAAQ,CAAClD,MAA7C,EAAqDqD,SAAS,EAA9D,EAAkE;AAC9D,YAAIH,QAAQ,CAACG,SAAD,CAAR,CAAoBC,YAApB,CAAiC,UAAjC,MAAiD,aAArD,EAAoE;AAChEN,UAAAA,eAAe,GAAGE,QAAQ,CAACG,SAAD,CAAR,CAAoBC,YAApB,CAAiC,SAAjC,CAAlB;AACH;;AACD,YAAIJ,QAAQ,CAACG,SAAD,CAAR,CAAoBC,YAApB,CAAiC,UAAjC,MAAiD,gBAArD,EAAuE;AACnEL,UAAAA,aAAa,GAAGC,QAAQ,CAACG,SAAD,CAAR,CAAoBC,YAApB,CAAiC,SAAjC,CAAhB;AACH;AACJ;;AAED,UAAIN,eAAe,KAAK,IAApB,IAA4BC,aAAa,KAAK,IAAlD,EAAwD;AACpD,eAAO,EAAP;AACH;;AAED,UAAIA,aAAa,KAAK,IAAtB,EAA4B;AACxB,eAAOA,aAAP;AACH;;AAED,aAAOD,eAAP;AACH;;;WAED,uBAAc;AACV,UAAI,KAAK9C,SAAL,CAAe2C,OAAf,CAAuBtC,KAA3B,EAAkC;AAC9B,eAAO,KAAKL,SAAL,CAAe2C,OAAf,CAAuBtC,KAA9B;AACH;;AAED,aAAOT,QAAQ,CAACS,KAAhB;AACH;;;WAED,wBAAeuB,KAAf,EAAsB;AAClB,UAAI,KAAK5B,SAAL,CAAe2C,OAAf,CAAuBrC,QAA3B,EAAqC;AACjC,eAAO,KAAKN,SAAL,CAAe2C,OAAf,CAAuBrC,QAAvB,CAAgC+B,OAAhC,UAAiD,KAAK3B,MAAL,CAAYkB,KAAZ,EAAmBhB,IAApE,CAAP;AACH;;AAED,gCAAmB,KAAKF,MAAL,CAAYkB,KAAZ,EAAmBhB,IAAtC;AACH,MAED;;;;WACA,mBAAU;AACN,4DAA+CyC,kBAAkB,CAAC,KAAKlD,GAAN,CAAjE,mBAAoFkD,kBAAkB,CAAC,KAAKjD,WAAN,CAAtG;AACH;;;WAED,oBAAW;AACP,iEAAoDiD,kBAAkB,CAAC,KAAKlD,GAAN,CAAtE,gCAAsGkD,kBAAkB,CAAC,KAAKjD,WAAN,CAAxH;AACH;;;WAED,oBAAW;AACP,6DAAgDiD,kBAAkB,CAAC,KAAKlD,GAAN,CAAlE;AACH;;;WAED,iBAAQ;AACJ,oCAAuBkD,kBAAkB,CAAC,KAAKlD,GAAN,CAAlB,GAA+B,GAA/B,GAAqC,KAAKC,WAAjE,+DAAiI,KAAKC,KAAtI;AACH;;;WAED,oBAAW;AACP,0CAA6BgD,kBAAkB,CAAC,KAAKlD,GAAN,CAA/C;AACH;;;WAED,kBAAS;AACL,aAAO,qBAAP;AACH;;;WAED,oBAAW8B,GAAX,EAAgBL,KAAhB,EAAuB;AAAA;;AACnBK,MAAAA,GAAG,CAACqB,gBAAJ,CAAqB,OAArB,EAA8B,UAAAC,CAAC,EAAI;AAC/BA,QAAAA,CAAC,CAACC,cAAF;;AAEA,YAAI5B,KAAK,IAAI,QAAb,EAAuB;AACnB,cAAM6B,IAAI,GAAG;AACTpD,YAAAA,KAAK,EAAE,MAAI,CAACA,KADH;AAETD,YAAAA,WAAW,EAAE,MAAI,CAACA,WAFT;AAGTD,YAAAA,GAAG,EAAE,MAAI,CAACA;AAHD,WAAb;;AAMA,cAAI;AACA2B,YAAAA,SAAS,CAAC7B,KAAV,CAAgBwD,IAAhB;AACH,WAFD,CAEE,OAAOF,CAAP,EAAU;AACR,gBAAIxB,OAAO,IAAIA,OAAO,CAAC2B,KAAvB,EAA8B;AAC1B3B,cAAAA,OAAO,CAAC2B,KAAR,CAAcH,CAAd;AACH;AACJ;AACJ,SAdD,MAcO;AACHX,UAAAA,MAAM,CAACe,IAAP,CAAY1B,GAAG,CAACG,IAAhB,EAAsB,WAAtB,qEAA+F,CAACwB,MAAM,CAACC,MAAP,GAAgB,GAAjB,IAAwB,CAAvH,mBAAiI,CAACD,MAAM,CAACE,KAAP,GAAe,GAAhB,IAAuB,CAAxJ;AACH;AACJ,OApBD;AAqBH","sources":["webpack://amaris_2021/./werkenbij/scripts/controllers/share/controller.js","webpack://amaris_2021/./werkenbij/scripts/controllers/share/share.js"],"sourcesContent":["import Share from './share';\r\n\r\nexport default class ShareController {\r\n constructor() {\r\n this.selector = '.shareContainer';\r\n this.instances = [];\r\n this.init();\r\n }\r\n\r\n init() {\r\n if (document.querySelectorAll(this.selector).length) {\r\n document.querySelectorAll(this.selector).forEach(container => {\r\n const share = new Share(container);\r\n this.instances.push(share);\r\n share.init();\r\n })\r\n }\r\n }\r\n}","export default class Share {\r\n constructor(container) {\r\n this.container = container;\r\n\r\n this.url = null;\r\n this.description = null;\r\n this.title = null;\r\n this.tagTitle = 'Delen via MEDIA';\r\n this.mobile = false;\r\n\r\n this.nativeShare = false;\r\n\r\n this.order = [\r\n 'facebook',\r\n 'twitter',\r\n 'linkedin', \r\n 'email',\r\n 'whatsapp',\r\n 'native',\r\n ];\r\n\r\n this.medias = {\r\n twitter: {\r\n name: 'Twitter',\r\n enabled: true,\r\n icon: '
',\r\n mobileOnly: false,\r\n },\r\n linkedin: {\r\n name: 'LinkedIn',\r\n enabled: true,\r\n icon: '
',\r\n mobileOnly: false,\r\n },\r\n facebook: {\r\n name: 'Facebook',\r\n enabled: true,\r\n icon: '
',\r\n mobileOnly: false,\r\n },\r\n whatsapp: {\r\n name: 'WhatsApp',\r\n enabled: true,\r\n icon: '
',\r\n mobileOnly: true,\r\n },\r\n email: {\r\n name: 'e-mail',\r\n enabled: true,\r\n icon: '
',\r\n mobileOnly: false,\r\n }, \r\n native: {\r\n name: 'Share',\r\n enabled: true,\r\n tagTitle: 'Delen',\r\n icon: '
',\r\n mobileOnly: false,\r\n },\r\n };\r\n }\r\n\r\n init() {\r\n this.mobile = this.detectMobile();\r\n this.url = this.obtainUrl();\r\n this.description = this.obtainDescription();\r\n this.title = this.obtainTitle();\r\n\r\n this.createShareButtons();\r\n }\r\n\r\n createShareButtons() {\r\n let list = Object.keys(this.medias);\r\n\r\n if (this.order) {\r\n list = this.order;\r\n }\r\n list.forEach(media => {\r\n if (this.medias[media].enabled) {\r\n let render = true;\r\n if (this.medias[media].mobileOnly && !this.mobile) {\r\n render = false;\r\n }\r\n\r\n if (media == 'native' && !navigator.share) {\r\n render = false;\r\n }\r\n\r\n console.log(`${media}: ${render}`);\r\n\r\n if (render) {\r\n const tag = document.createElement('a');\r\n tag.setAttribute('target', '_blank');\r\n tag.setAttribute('rel', 'noopener');\r\n tag.href = this[media]();\r\n if (this.medias[media].tagTitle) {\r\n tag.title = this.medias[media].tagTitle;\r\n } else {\r\n tag.title = this.tagTitle.replace(/MEDIA/g, this.medias[media].name);\r\n }\r\n tag.innerHTML = this.medias[media].icon;\r\n\r\n this.bindEvents(tag, media);\r\n this.container.appendChild(tag);\r\n }\r\n }\r\n });\r\n }\r\n\r\n detectMobile() {\r\n return /iPhone|Android|Blackberry/i.test(navigator.userAgent);\r\n }\r\n\r\n obtainUrl() {\r\n if (this.container.dataset.url) {\r\n return this.container.dataset.url;\r\n }\r\n\r\n return window.location.href;\r\n }\r\n\r\n obtainDescription() {\r\n if (this.container.dataset.description) {\r\n return this.container.dataset.description;\r\n }\r\n \r\n let metaDescription = null;\r\n let ogDescription = null;\r\n let metaTags = document.head.getElementsByTagName('meta');\r\n\r\n for (let metaIndex = 0; metaIndex < metaTags.length; metaIndex++) {\r\n if (metaTags[metaIndex].getAttribute('property') === 'description') {\r\n metaDescription = metaTags[metaIndex].getAttribute('content');\r\n }\r\n if (metaTags[metaIndex].getAttribute('property') === 'og:description') {\r\n ogDescription = metaTags[metaIndex].getAttribute('content');\r\n }\r\n }\r\n\r\n if (metaDescription === null && ogDescription === null) {\r\n return '';\r\n } \r\n \r\n if (ogDescription !== null) {\r\n return ogDescription;\r\n }\r\n\r\n return metaDescription;\r\n }\r\n\r\n obtainTitle() {\r\n if (this.container.dataset.title) {\r\n return this.container.dataset.title;\r\n }\r\n\r\n return document.title;\r\n }\r\n\r\n obtainTagTitle(media) {\r\n if (this.container.dataset.tagTitle) {\r\n return this.container.dataset.tagTitle.replace(`MEDIA`, this.medias[media].name);\r\n }\r\n\r\n return `Deel via ${this.medias[media].name}`;\r\n }\r\n\r\n // Social media specific methods\r\n twitter() {\r\n return `https://twitter.com/intent/tweet?url=${encodeURIComponent(this.url)}&text=${encodeURIComponent(this.description)}`;\r\n }\r\n\r\n linkedin() {\r\n return `https://www.linkedin.com/shareArticle?url=${encodeURIComponent(this.url)}&mini=true&summary=${encodeURIComponent(this.description)}`\r\n }\r\n \r\n facebook() {\r\n return `https://www.facebook.com/sharer.php?u=${encodeURIComponent(this.url)}`;\r\n }\r\n \r\n email() {\r\n return `mailto:?body=${encodeURIComponent(this.url) + ' ' + this.description}&subject=Ik heb een interessante pagina gevonden: ${this.title}`;\r\n }\r\n\r\n whatsapp() {\r\n return `https://wa.me?text=${encodeURIComponent(this.url)}`;\r\n }\r\n\r\n native() {\r\n return 'javascript:void(0);';\r\n }\r\n\r\n bindEvents(tag, media) {\r\n tag.addEventListener('click', e => {\r\n e.preventDefault();\r\n\r\n if (media == 'native') {\r\n const data = {\r\n title: this.title,\r\n description: this.description,\r\n url: this.url\r\n };\r\n\r\n try {\r\n navigator.share(data);\r\n } catch (e) {\r\n if (console && console.error) {\r\n console.error(e);\r\n }\r\n }\r\n } else {\r\n window.open(tag.href, 'NewWindow', `menubar=no,toolbar=no,status=no,width=570,height=570,top=${(screen.height - 570) / 2},left=${(screen.width - 570) / 2}`);\r\n }\r\n });\r\n }\r\n}"],"names":["Share","ShareController","selector","instances","init","document","querySelectorAll","length","forEach","container","share","push","url","description","title","tagTitle","mobile","nativeShare","order","medias","twitter","name","enabled","icon","mobileOnly","linkedin","facebook","whatsapp","email","detectMobile","obtainUrl","obtainDescription","obtainTitle","createShareButtons","list","Object","keys","media","render","navigator","console","log","tag","createElement","setAttribute","href","replace","innerHTML","bindEvents","appendChild","test","userAgent","dataset","window","location","metaDescription","ogDescription","metaTags","head","getElementsByTagName","metaIndex","getAttribute","encodeURIComponent","addEventListener","e","preventDefault","data","error","open","screen","height","width"],"sourceRoot":""}