{"version":3,"sources":["webpack:///./es6/components/change-svg.js"],"names":["ChangeSvg","this","selectors","generalChangeSvg","composeSVG","$generalChangeSvg","target","$currentTarget","$","map","e","img","imgURL","attr","get","data","imgID","imgClass","svg","find","removeAttr","replaceWith","initSelectors","initChangeSvg","initEvents"],"mappings":"0RASMA,E,WACL,c,6FAAe,CAAD,QACbC,KAAKC,UAAY,CAChBC,iBAAkB,kB,uIAUpB,WACCF,KAAKG,WAAWH,KAAKI,qB,wBAStB,SAAWC,GAAS,IAAD,OACZC,EAAiBC,IAAEF,GAAQG,KAAI,SAACC,GAyBrC,OAxBA,EAAKC,IAAMH,IAAEF,EAAOI,IACpB,EAAKE,OAAS,EAAKD,IAAIE,KAAK,OAE5BL,IAAEM,IAAI,EAAKF,QAAQ,SAACG,GACnB,EAAKJ,IAAMH,IAAEF,EAAOI,IACpB,EAAKM,MAAQ,EAAKL,IAAIE,KAAK,MAC3B,EAAKI,SAAW,EAAKN,IAAIE,KAAK,SAC9B,EAAKD,OAAS,EAAKD,IAAIE,KAAK,OAC5B,EAAKK,IAAMV,IAAEO,GAAMI,KAAK,YACE,IAAf,EAAKH,QACf,EAAKE,IAAM,EAAKA,IAAIL,KAAK,KAAM,EAAKG,aAER,IAAlB,EAAKC,WACf,EAAKC,IAAM,EAAKA,IAAIL,KAAK,QAAd,UAA0B,EAAKI,SAA/B,mBAGZ,EAAKC,IAAM,EAAKA,IAAIE,WAAW,YAE1B,EAAKF,IAAIL,KAAK,YAAc,EAAKK,IAAIL,KAAK,WAAa,EAAKK,IAAIL,KAAK,UACzE,EAAKK,IAAIL,KAAK,UAAd,cAAgC,EAAKK,IAAIL,KAAK,UAA9C,YAA2D,EAAKK,IAAIL,KAAK,WAG1EL,IAAE,EAAKG,KAAKU,YAAY,EAAKH,OAC3B,OACIX,O,2BAUT,WACCN,KAAKI,kBAAoBG,IAAEP,KAAKC,UAAUC,oB,qBAO3C,c,wBAUA,c,kBAQA,WACCF,KAAKqB,gBACLrB,KAAKsB,gBACLtB,KAAKuB,iB,KAIQxB","file":"js/change-svg.js","sourcesContent":["/**\r\n * @fileoverview\r\n */\r\nimport $ from 'jquery';\r\n\r\n/**\r\n * ChangeSvg Component\r\n * @class ChangeSvg\r\n */\r\nclass ChangeSvg {\r\n\tconstructor() {\r\n\t\tthis.selectors = {\r\n\t\t\tgeneralChangeSvg: '.js-change-svg',\r\n\t\t};\r\n\t}\r\n\r\n\t/**\r\n * ChangeSvg component initChangeSvg method\r\n * @function initChangeSvg\r\n * @memberof ChangeSvg\r\n * @returns {Void}\r\n */\r\n\tinitChangeSvg() {\r\n\t\tthis.composeSVG(this.$generalChangeSvg);\r\n\t}\r\n\r\n\t/**\r\n * ChangeSvg component composeSVG method\r\n * @function initChangeSvg\r\n * @memberof ChangeSvg\r\n * @returns {Void}\r\n */\r\n\tcomposeSVG(target) {\r\n\t\tconst $currentTarget = $(target).map((e) => {\r\n\t\t\tthis.img = $(target[e]);\r\n\t\t\tthis.imgURL = this.img.attr('src');\r\n\r\n\t\t\t$.get(this.imgURL, (data) => {\r\n\t\t\t\tthis.img = $(target[e]);\r\n\t\t\t\tthis.imgID = this.img.attr('id');\r\n\t\t\t\tthis.imgClass = this.img.attr('class');\r\n\t\t\t\tthis.imgURL = this.img.attr('src');\r\n\t\t\t\tthis.svg = $(data).find('svg');\r\n\t\t\t\tif (typeof this.imgID !== 'undefined') {\r\n\t\t\t\t\tthis.svg = this.svg.attr('id', this.imgID);\r\n\t\t\t\t}\r\n\t\t\t\tif (typeof this.imgClass !== 'undefined') {\r\n\t\t\t\t\tthis.svg = this.svg.attr('class', `${this.imgClass} replaced-svg`);\r\n\t\t\t\t}\r\n\t\t\t\t// Remove any invalid XML tags as per http://validator.w3.org\r\n\t\t\t\tthis.svg = this.svg.removeAttr('xmlns:a');\r\n\t\t\t\t// Check if the viewport is set, else we gonna set it if we can.\r\n\t\t\t\tif (!this.svg.attr('viewBox') && this.svg.attr('height') && this.svg.attr('width')) {\r\n\t\t\t\t\tthis.svg.attr('viewBox', `0 0 ${this.svg.attr('height')} ${this.svg.attr('width')}`);\r\n\t\t\t\t}\r\n\t\t\t\t// Replace image with new SVG\r\n\t\t\t\t$(this.img).replaceWith(this.svg);\r\n\t\t\t}, 'xml');\r\n\t\t\treturn $currentTarget;\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n * ChangeSvg component initSelectors method\r\n * @function initSelectors\r\n * @memberof ChangeSvg\r\n * @returns {Void}\r\n */\r\n\tinitSelectors() {\r\n\t\tthis.$generalChangeSvg = $(this.selectors.generalChangeSvg);\r\n\t}\r\n\r\n\t/**\r\n * Destroy events and clear memory\r\n * @function initEvents\r\n */\r\n\tdestroy() {\r\n\t\t// Do somthing here\r\n\t}\r\n\r\n\t/**\r\n * ChangeSvg component initEvents method\r\n * @function initEvents\r\n * @memberof ChangeSvg\r\n * @returns {Void}\r\n */\r\n\tinitEvents() {}\r\n\r\n\t/**\r\n * ChangeSvg component init method\r\n * @function init\r\n * @memberof ChangeSvg\r\n * @returns {Void}\r\n */\r\n\tinit() {\r\n\t\tthis.initSelectors();\r\n\t\tthis.initChangeSvg();\r\n\t\tthis.initEvents();\r\n\t}\r\n}\r\n\r\nexport default ChangeSvg;\r\n"],"sourceRoot":""}