@visitscotland/component-library
Version:
VisitScotland Component Library
1 lines • 3.99 kB
JavaScript
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.VsSocialShareItem=t():e.VsSocialShareItem=t()}(self,(function(){return(self.webpackChunk_visitscotland_component_library=self.webpackChunk_visitscotland_component_library||[]).push([[2053],{77119:function(){},11443:function(e,t,n){"use strict";var r=n(45676),i=n(46422),a=n(11438),o=n(98745);t.A={name:"VsSocialShareItem",status:"prototype",release:"0.0.1",components:{VsCol:a.Il,VsLink:r.default,VsIcon:i.default},mixins:[o.default],inject:{referringPageUrl:{default:""},pageTitle:{default:""},noJs:{default:""}},props:{name:{type:String,required:!0,validator:function(e){return e.match(/(facebook|twitter|pinterest|link|email|whatsapp)/)}},linkText:{type:String,required:!0},linkCopiedText:{type:String,default:""}},emits:["copyLinkClicked"],data:function(){return{show:!1}},computed:{iconColour:function(){var e="";switch(this.name){case"facebook":e="#1877f2";break;case"x-twitter":e="#0F1419";break;case"pinterest":e="#E60023";break;case"whatsapp":e="#455a64";break;default:e="#000000"}return e},encodedPageTitle:function(){return encodeURI(this.pageTitle)},shareUrl:function(){var e="";switch(this.name){case"facebook":e="https://www.facebook.com/sharer/sharer.php?u=".concat(this.referringPageUrl,"&t=").concat(this.encodedPageTitle);break;case"x-twitter":e="https://twitter.com/intent/tweet?text=".concat(this.encodedPageTitle,"%20@VisitScotland&url=").concat(this.referringPageUrl);break;case"pinterest":e="https://www.pinterest.com/pin/create/button/?url=".concat(this.referringPageUrl);break;case"email":e="mailto:?body=".concat(this.encodedPageTitle,"%20-%20").concat(this.referringPageUrl,"&subject=").concat(this.encodedPageTitle);break;case"whatsapp":e="https://wa.me/?text=".concat(this.encodedPageTitle,"%20-%20").concat(this.referringPageUrl);break;default:e="#"}return e}},methods:{copyToClipboard:function(e){var t=this;if("link"===this.name){if(this.$emit("copyLinkClicked"),!navigator.clipboard)return;navigator.clipboard.writeText&&navigator.clipboard.writeText(this.referringPageUrl),this.show=!0,setTimeout((function(){t.show=!1}),2e3)}this.trackShareClick(e)},trackShareClick:function(e){this.createDataLayerObject("socialShareDataEvent",e,this.href)}}}},78525:function(e,t,n){"use strict";n.d(t,{X:function(){return o}});var r=n(20641),i=n(90033),a={class:"vs-social-share-item__text"};function o(e,t,n,o,s,c){var l=(0,r.g2)("VsIcon"),u=(0,r.g2)("VsLink"),f=(0,r.g2)("VsCol");return(0,r.uX)(),(0,r.Wv)(f,{class:"vs-social-share-item","data-test":"vs-social-share-item",cols:4,md:c.noJs?2:4},{default:(0,r.k6)((function(){return[(0,r.bF)(u,{class:"vs-social-share-item__link",href:c.shareUrl,onClick:t[0]||(t[0]=function(e){return c.copyToClipboard(e)}),id:"vs-share-".concat(n.name)},{default:(0,r.k6)((function(){return[(0,r.bF)(l,{name:n.name,"custom-colour":c.iconColour,size:"xl","small-size":"lg"},null,8,["name","custom-colour"]),(0,r.Lk)("span",a,(0,i.toDisplayString)(s.show?n.linkCopiedText:n.linkText),1)]})),_:1},8,["href","id"])]})),_:1},8,["md"])}},46305:function(e,t,n){"use strict";var r=n(85072),i=n.n(r),a=n(97825),o=n.n(a),s=n(77659),c=n.n(s),l=n(55056),u=n.n(l),f=n(10540),d=n.n(f),h=n(41113),p=n.n(h),m=n(77119),k=n.n(m),g={};g.styleTagTransform=p(),g.setAttributes=u(),g.insert=c().bind(null,"head"),g.domAPI=o(),g.insertStyleElement=d(),i()(k(),g),k()&&k().locals&&k().locals},5807:function(e,t,n){"use strict";n.r(t);var r=n(99181),i=n(30359);n(40509);const a=(0,n(66262).A)(i.A,[["render",r.X]]);t.default=a},30359:function(e,t,n){"use strict";n.d(t,{A:function(){return r.A}});var r=n(11443)},99181:function(e,t,n){"use strict";n.d(t,{X:function(){return r.X}});var r=n(78525)},40509:function(e,t,n){"use strict";n(46305)}},function(e){return e.O(0,[641,6262,7510,3751,4352,4467,7527,8086,810,6422,8745,8638,2368,7521,1438,5676],(function(){return e(e.s=5807)})),e.O()}])}));