diff --git a/dist/Sharee.60987b84.js b/dist/Sharee.1b963f5d.js similarity index 99% rename from dist/Sharee.60987b84.js rename to dist/Sharee.1b963f5d.js index aaca4af..39f0eec 100644 --- a/dist/Sharee.60987b84.js +++ b/dist/Sharee.1b963f5d.js @@ -31,7 +31,7 @@ const p = { Facebook: x, default: c }, Symbol.toStringTag, { value: "Module" })); -class u { +class d { constructor() { n(this, "eventListeners", []); } @@ -48,7 +48,7 @@ const b = { type: "column", animation: "fade-down" }; -class d extends u { +class u extends d { constructor(e) { super(); n(this, "sharee"); @@ -167,7 +167,7 @@ function m(o, s) { } while (o); return !1; } -class _ extends d { +class _ extends u { constructor(s) { super(s), this.options.type = "row"; } @@ -244,7 +244,7 @@ class _ extends d { const M = { noTitle: !1 }; -class H extends u { +class H extends d { constructor(e) { super(); n(this, "sharee"); @@ -320,7 +320,7 @@ const S = { position: "top-right", noTitle: !1 }; -class O extends u { +class O extends d { constructor(e) { super(); n(this, "sharee"); @@ -390,7 +390,7 @@ class O extends u { return i.innerHTML = e.getButtonText(), e.mainEl.appendChild(t), this.options.noTitle ? (e.mainEl.title = e.getButtonText(), e.mainEl.classList.add("sharee__no-title")) : e.mainEl.appendChild(i), e.mainEl.classList.add("sharee__driver__" + e.getName()), e.mainEl; } } -class z extends d { +class z extends u { constructor(s) { super(s), this.options.type = "row"; } @@ -419,7 +419,7 @@ class z extends d { } } const R = { - dropdown: d, + dropdown: u, text: _, normal: H, fixed: O, @@ -613,7 +613,7 @@ class h { const t = R[this.options.mode]; if (typeof t > "u") throw new Error('Selected mode "' + e.mode + '" not found'); - this.strategy = new t(this), this.init().then(() => { + this.strategy = new t(this), typeof window < "u" && this.init().then(() => { this.strategy.render(); }); } diff --git a/dist/sharee-react.js.js b/dist/sharee-react.js.js index f400d89..9929513 100644 --- a/dist/sharee-react.js.js +++ b/dist/sharee-react.js.js @@ -1,5 +1,5 @@ import { useRef as n, useEffect as u } from "react"; -import { S as o } from "./Sharee.60987b84.js"; +import { S as o } from "./Sharee.1b963f5d.js"; import { jsx as f } from "react/jsx-runtime"; import "lodash.merge"; function m(e) { diff --git a/dist/sharee-vue.js.js b/dist/sharee-vue.js.js index b879325..069f5e2 100644 --- a/dist/sharee-vue.js.js +++ b/dist/sharee-vue.js.js @@ -1,5 +1,5 @@ import { defineComponent as a, ref as r, onMounted as s, onUnmounted as u, openBlock as p, createElementBlock as i } from "vue"; -import { S as c } from "./Sharee.60987b84.js"; +import { S as c } from "./Sharee.1b963f5d.js"; import "lodash.merge"; const _ = /* @__PURE__ */ a({ __name: "Sharee", diff --git a/dist/sharee.js b/dist/sharee.js index 4d5303e..7c64da9 100644 --- a/dist/sharee.js +++ b/dist/sharee.js @@ -1,4 +1,4 @@ -import { S as a } from "./Sharee.60987b84.js"; +import { S as a } from "./Sharee.1b963f5d.js"; import "lodash.merge"; export { a as default diff --git a/dist/sharee.min.js b/dist/sharee.min.js index a1c8f1b..6e0caab 100644 --- a/dist/sharee.min.js +++ b/dist/sharee.min.js @@ -1,5 +1,5 @@ (function(){"use strict";try{if(typeof document!="undefined"){var r=document.createElement("style");r.appendChild(document.createTextNode(".sharee__normal{min-width:13em;display:flex;flex-direction:row;background:white;--border-radius: 5px;border-radius:var(--border-radius);border:none}.sharee__normal a[href]{text-decoration:none}.sharee__normal svg{width:1.9em;max-height:1.9em;vertical-align:middle}.sharee__normal.sharee__rtl{direction:rtl}.sharee__normal>*{display:flex;justify-content:start;align-items:center;background:white;padding-top:3px;padding-bottom:4px;padding-inline-end:10px;padding-inline-start:5px;cursor:pointer;max-width:1.58em;white-space:nowrap;overflow:hidden}.sharee__normal>*:not(.sharee__no-title):hover{max-width:10em}.sharee__normal>*>*:first-child{margin-inline-end:.3em}.sharee__normal>*:hover{background:#ebebeb}.sharee__normal>*:first-child:not(:last-child){border-start-start-radius:var(--border-radius);border-end-start-radius:var(--border-radius)}.sharee__normal>*:last-child:not(:first-child){border-start-end-radius:var(--border-radius);border-end-end-radius:var(--border-radius)}.sharee__normal.sharee__normal__grid{display:grid;grid-template-columns:1fr 1fr;overflow:hidden}.sharee__normal.sharee__normal__grid>*{border-radius:0!important}.sharee__modal{display:none;position:fixed;z-index:1;padding-top:100px;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:#000;background-color:#0006;opacity:0;transition:.3s all}.sharee__modal.showing{display:block}.sharee__modal.show{opacity:1}.sharee__modal .sharee__modal__content{background-color:#fefefe;margin:auto;padding:20px;border:1px solid #888;width:80%}.sharee__modal__close{color:#aaa;float:right;font-size:28px;font-weight:700}.sharee__modal__close:hover,.sharee__modal__close:focus{color:#000;text-decoration:none;cursor:pointer}.sharee__modal svg{width:1.9em;max-height:1.9em}.sharee__modal.sharee__rtl{direction:rtl}.sharee__modal>*{display:flex;justify-content:start;align-items:center;background:white;padding:2px 7px 2px 10px;cursor:pointer;max-width:1.58em;white-space:nowrap;overflow:hidden}.sharee__modal>*:hover{max-width:10em}.sharee__modal>* svg{transform:translateY(.13em)}.sharee__modal>*>*:first-child{margin-inline-end:.3em}.sharee__modal>*:hover{background:#ebebeb}.sharee__modal>*:first-child:not(:last-child){border-start-start-radius:var(--border-radius);border-end-start-radius:var(--border-radius)}.sharee__modal>*:last-child:not(:first-child){border-start-end-radius:var(--border-radius);border-end-end-radius:var(--border-radius)}.sharee__modal.sharee__modal__grid{display:grid;grid-template-columns:1fr 1fr;overflow:hidden}.sharee__modal.sharee__modal__grid>*{border-radius:0!important}.sharee__fixed{display:block;position:fixed;z-index:1;overflow:auto;transition:.3s all;border-start-end-radius:5px;border-end-end-radius:5px;--border-radius: 5px}.sharee__fixed a[href]{text-decoration:none}.sharee__fixed.sharee__position__top-right{right:0;top:10vh;direction:rtl!important}.sharee__fixed.sharee__position__top-left{left:0;top:10vh;direction:ltr!important}.sharee__fixed.sharee__position__bottom-left{left:0;bottom:10vh;direction:ltr!important}.sharee__fixed.sharee__position__bottom-right{bottom:10vh;right:0;direction:rtl!important}.sharee__fixed svg{width:1.9em;max-height:1.9em;vertical-align:middle}.sharee__fixed.sharee__rtl{direction:rtl}.sharee__fixed>*{display:flex;justify-content:start;align-items:center;background:white;padding-inline-start:2px;padding-inline-end:9px;padding-top:5px;padding-bottom:4px;cursor:pointer;max-width:1.58em;white-space:nowrap;overflow:hidden}.sharee__fixed>*:not(.sharee__no-title):hover{max-width:10em}.sharee__fixed>*>*:first-child{margin-inline-end:.3em}.sharee__fixed>*:hover{background:#ebebeb}.sharee__fixed>*:not(.sharee__no-title):hover{border-start-end-radius:var(--border-radius);border-end-end-radius:var(--border-radius)}.sharee__fixed>*:first-child{border-start-end-radius:var(--border-radius)}.sharee__fixed>*:last-child{border-end-end-radius:var(--border-radius)}.sharee__text.sharee__dropdown{min-width:unset;left:-1000px}.sharee__text.sharee__dropdown>*{padding:0 4px}.sharee__dropdown.sharee__text>*>*:first-child{margin-inline-end:unset}.sharee__text.sharee__dropdown svg{vertical-align:middle}.sharee__dropdown{position:fixed;min-width:13em;display:flex;flex-direction:column;background:white;--border-radius: 5px;border-radius:var(--border-radius);border:1px solid #c5c5c5;box-shadow:#3a3d42a6 0 1px,#0000007f 0 4px 16px -7px}.sharee__dropdown a[href]{text-decoration:none}.sharee__dropdown:not(.show):not(.showing){display:none!important}.sharee__dropdown.sharee__dropdown__row{border:none;box-shadow:#0000007f 0 1px 16px -7px}.sharee__dropdown.sharee__dropdown__row{flex-direction:row}.sharee__dropdown svg{width:1.9em;max-height:1.9em;vertical-align:middle}.sharee__dropdown.sharee__rtl{direction:rtl}.sharee__dropdown>*{display:flex;justify-content:start;align-items:center;background:white;padding:2px 7px 2px 10px;cursor:pointer;min-height:2.6em}.sharee__dropdown:not(.sharee__dropdown__row)>*:first-child:last-child{border-radius:inherit}.sharee__dropdown:not(.sharee__dropdown__row)>*:first-child:not(:last-child){border-radius:var(--border-radius) var(--border-radius) 0 0}.sharee__dropdown:not(.sharee__dropdown__row)>*:last-child:not(:first-child){border-radius:0 0 var(--border-radius) var(--border-radius)}.sharee__dropdown>*>*:first-child{margin-inline-end:.3em}.sharee__dropdown>*:hover{background:#ebebeb}.sharee__dropdown.fade:not(.show){opacity:0}.sharee__dropdown.fade.show{opacity:1}.sharee__dropdown.fade-down:not(.show){opacity:0;transform:translateY(-10px)}.sharee__dropdown.fade-down.show{opacity:1;transform:translateY(0)}.sharee__dropdown.sharee__dropdown__row>*:first-child:not(:last-child){border-start-start-radius:var(--border-radius);border-end-start-radius:var(--border-radius)}.sharee__dropdown.sharee__dropdown__row>*:last-child:not(:first-child){border-start-end-radius:var(--border-radius);border-end-end-radius:var(--border-radius)}.sharee__dropdown.sharee__dropdown__grid{display:grid;grid-template-columns:1fr 1fr;overflow:hidden}.sharee__dropdown.sharee__dropdown__grid>*{border-radius:0!important}.sharee__hover,.sharee__dropdown.fade-down.sharee__hover.show{transform:translate(-50%)}.sharee__dropdown.fade-down:not(.show){transform:translate(-50%,-10px)}")),document.head.appendChild(r)}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}})(); -(function(x,w){typeof exports=="object"&&typeof module<"u"?module.exports=w():typeof define=="function"&&define.amd?define(w):(x=typeof globalThis<"u"?globalThis:x||self,x.Sharee=w())})(this,function(){"use strict";var pr=Object.defineProperty;var fr=(x,w,S)=>w in x?pr(x,w,{enumerable:!0,configurable:!0,writable:!0,value:S}):x[w]=S;var o=(x,w,S)=>(fr(x,typeof w!="symbol"?w+"":w,S),S);function x(p,s){for(var t=0;ti[c]})}}}return Object.freeze(Object.defineProperty(p,Symbol.toStringTag,{value:"Module"}))}const w={showTransitionDuration:"200ms",lang:"fa",onLoad:()=>{},drivers:["copy","telegram","facebook","whatsapp","twitter","linkedin"],ripple:!0,mode:"normal"},S="rtl",Je="\u0627\u0634\u062A\u0631\u0627\u06A9 \u062F\u0631 \u062A\u0644\u06AF\u0631\u0627\u0645",Qe="\u06A9\u067E\u06CC \u0644\u06CC\u0646\u06A9",et="\u0628\u0627 \u0645\u0648\u0641\u0642\u06CC\u062A \u06A9\u067E\u06CC \u0634\u062F!",tt="\u0627\u0634\u062A\u0631\u0627\u06A9 \u062F\u0631 \u0648\u0627\u062A\u0633\u0627\u067E",nt="\u0627\u0634\u062A\u0631\u0627\u06A9 \u062F\u0631 \u062A\u0648\u06CC\u06CC\u062A\u0631",rt="\u0627\u0634\u062A\u0631\u0627\u06A9 \u062F\u0631 \u0644\u06CC\u0646\u06A9\u062F\u06CC\u0646",it="\u0627\u0634\u062A\u0631\u0627\u06A9 \u062F\u0631 \u0641\u06CC\u0633\u0628\u0648\u06A9",xe={Direction:S,Telegram:Je,Copy_Link:Qe,CopiedSuccessfully:et,Whatsapp:tt,Twitter:nt,Linkedin:rt,Facebook:it},Ht=Object.freeze(Object.defineProperty({__proto__:null,Direction:S,Telegram:Je,Copy_Link:Qe,CopiedSuccessfully:et,Whatsapp:tt,Twitter:nt,Linkedin:rt,Facebook:it,default:xe},Symbol.toStringTag,{value:"Module"}));class De{constructor(){o(this,"eventListeners",[])}resolveDriver(s){if(console.log(X.drivers),X.drivers.hasOwnProperty(s))return X.drivers[s];throw new Error(`Unknown driver: ${s}`)}shouldRenderDriver(s){return!0}}var W=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},Oe={exports:{}};(function(p,s){var t=200,i="__lodash_hash_undefined__",c=800,g=16,M=9007199254740991,$="[object Arguments]",ne="[object Array]",re="[object AsyncFunction]",ie="[object Boolean]",se="[object Date]",oe="[object Error]",ae="[object Function]",He="[object GeneratorFunction]",Z="[object Map]",B="[object Number]",le="[object Null]",q="[object Object]",je="[object Proxy]",K="[object RegExp]",he="[object Set]",l="[object String]",u="[object Undefined]",h="[object WeakMap]",C="[object ArrayBuffer]",_="[object DataView]",j="[object Float32Array]",Pe="[object Float64Array]",ze="[object Int8Array]",Ae="[object Int16Array]",Re="[object Int32Array]",ce="[object Uint8Array]",Ie="[object Uint8ClampedArray]",ue="[object Uint16Array]",$e="[object Uint32Array]",de=/[\\^$.*+?()[\]{}|]/g,pe=/^\[object .+?Constructor\]$/,fe=/^(?:0|[1-9]\d*)$/,m={};m[j]=m[Pe]=m[ze]=m[Ae]=m[Re]=m[ce]=m[Ie]=m[ue]=m[$e]=!0,m[$]=m[ne]=m[C]=m[ie]=m[_]=m[se]=m[oe]=m[ae]=m[Z]=m[B]=m[q]=m[K]=m[he]=m[l]=m[h]=!1;var Y=typeof W=="object"&&W&&W.Object===Object&&W,b=typeof self=="object"&&self&&self.Object===Object&&self,D=Y||b||Function("return this")(),N=s&&!s.nodeType&&s,H=N&&!0&&p&&!p.nodeType&&p,J=H&&H.exports===N,P=J&&Y.process,ge=function(){try{var e=H&&H.require&&H.require("util").types;return e||P&&P.binding&&P.binding("util")}catch{}}(),F=ge&&ge.isTypedArray;function me(e,n,r){switch(r.length){case 0:return e.call(n);case 1:return e.call(n,r[0]);case 2:return e.call(n,r[0],r[1]);case 3:return e.call(n,r[0],r[1],r[2])}return e.apply(n,r)}function ve(e,n){for(var r=-1,a=Array(e);++r-1}function bn(e,n){var r=this.__data__,a=we(r,e);return a<0?(++this.size,r.push([e,n])):r[a][1]=n,this}k.prototype.clear=yn,k.prototype.delete=Cn,k.prototype.get=_n,k.prototype.has=wn,k.prototype.set=bn;function U(e){var n=-1,r=e==null?0:e.length;for(this.clear();++n1?r[f-1]:void 0,E=f>2?r[2]:void 0;for(v=e.length>3&&typeof v=="function"?(f--,v):void 0,E&&Jn(r[0],r[1],E)&&(v=f<3?void 0:v,f=1),n=Object(n);++a-1&&e%1==0&&e0){if(++n>=c)return arguments[0]}else n=0;return e.apply(void 0,arguments)}}function or(e){if(e!=null){try{return ye.call(e)}catch{}try{return e+""}catch{}}return""}function Te(e,n){return e===n||e!==e&&n!==n}var Ge=wt(function(){return arguments}())?wt:function(e){return ee(e)&&O.call(e,"callee")&&!hn.call(e,"callee")},Xe=Array.isArray;function Ze(e){return e!=null&&Dt(e.length)&&!qe(e)}function ar(e){return ee(e)&&Ze(e)}var xt=un||dr;function qe(e){if(!R(e))return!1;var n=be(e);return n==ae||n==He||n==re||n==je}function Dt(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=M}function R(e){var n=typeof e;return e!=null&&(n=="object"||n=="function")}function ee(e){return e!=null&&typeof e=="object"}function lr(e){if(!ee(e)||be(e)!=q)return!1;var n=Et(e);if(n===null)return!0;var r=O.call(n,"constructor")&&n.constructor;return typeof r=="function"&&r instanceof r&&ye.call(r)==an}var Ot=F?Be(F):In;function hr(e){return Xn(e,kt(e))}function kt(e){return Ze(e)?Pn(e,!0):$n(e)}var cr=Zn(function(e,n,r){bt(e,n,r)});function ur(e){return function(){return e}}function St(e){return e}function dr(){return!1}p.exports=cr})(Oe,Oe.exports);const G=Oe.exports,jt={type:"column",animation:"fade-down"};class ke extends De{constructor(t){super();o(this,"sharee");o(this,"elementHovering",!1);o(this,"shareeElHovering",!1);o(this,"shareeEl");o(this,"driverListeners",{});o(this,"hideTimeout",0);o(this,"options");this.sharee=t,this.shareeEl=document.createElement("div"),this.options=G({},jt,t.options.modeOptions)}show(){this.shareeEl.classList.add("showing"),setTimeout(()=>{this.shareeEl.classList.add("show");const t=this.sharee.targetElement.getBoundingClientRect(),i=t.x,c=t.y;this.sharee.lang.Direction==="ltr"?(this.shareeEl.style.left=`${i}px`,this.shareeEl.style.right="unset"):(this.shareeEl.style.right=`${i}px`,this.shareeEl.style.left="unset"),this.shareeEl.style.top=`${c+t.height}px`})}hide(){var t;(t=this.shareeEl)==null||t.classList.remove("show"),clearTimeout(this.hideTimeout),this.hideTimeout=setTimeout(()=>{var i;(i=this.shareeEl)==null||i.classList.remove("showing")},Number.parseInt(this.sharee.options.showTransitionDuration))}elementOnMouseEnter(){this.elementHovering=!0,this.show()}elementOnMouseLeave(){setTimeout(()=>this.elementHovering=!1),setTimeout(()=>{this.shareeElHovering||this.hide()})}shareElOnMouseEnter(){this.elementHovering&&this.show(),this.shareeElHovering=!0}shareElOnMouseLeave(){setTimeout(()=>this.shareeElHovering=!1),setTimeout(()=>{this.elementHovering||this.hide()})}listenEvents(){this.shareeEl.addEventListener("mouseenter",this.shareElOnMouseEnter.bind(this)),this.shareeEl.addEventListener("mouseleave",this.shareElOnMouseLeave.bind(this));const t=this.elementOnMouseEnter.bind(this),i=this.elementOnMouseLeave.bind(this);this.sharee.targetElement.addEventListener("mouseenter",t),this.sharee.targetElement.addEventListener("mouseleave",i),this.eventListeners.push([this.sharee.targetElement,"mouseenter",t]),this.eventListeners.push([this.sharee.targetElement,"mouseleave",i])}destroy(){window.shareeEl=this.shareeEl,this.eventListeners.forEach(t=>{t[0].removeEventListener(t[1],t[2])}),this.shareeEl.parentElement.removeChild(this.shareeEl)}reRender(){this.destroy(),setTimeout(()=>{this.render()})}render(){this.shareeEl=document.createElement("div"),this.shareeEl.classList.add("sharee__dropdown"),this.shareeEl.classList.add("sharee__"+this.sharee.lang.Direction),this.shareeEl.classList.add(this.options.animation),this.shareeEl.style.transition="all "+this.sharee.options.showTransitionDuration,this.shareeEl.style.transitionProperty="transform, opacity";for(let t of this.sharee.options.drivers){if(!this.shouldRenderDriver(t))continue;const i=this.resolveDriver(t),c=new i(this.sharee.lang,{lang:this.sharee.lang,shareText:this.sharee.getShareText(),shareLink:this.sharee.getShareLink(),ripple:this.sharee.options.ripple}),g=this.renderDriver(c);this.shareeEl.appendChild(g)}document.body.appendChild(this.shareeEl),this.listenEvents(),this.options.type==="grid"?this.shareeEl.classList.add("sharee__dropdown__grid"):this.options.type==="row"&&this.shareeEl.classList.add("sharee__dropdown__row")}onDriverMouseEnter(t){return()=>{t.mainEl.style.backgroundColor=t.backgroundHoverColor,t.mainEl.style.color=t.textHoverColor}}onDriverMouseLeave(t){return()=>{this.initDriverStyles(t)}}onDriverClick(t){return i=>{t.onClick(i)}}initDriverStyles(t){var i,c;t.mainEl.style.backgroundColor=t.backgroundColor,t.mainEl.style.color=t.textColor,t.mainEl.style.transition=(((i=t.options)==null?void 0:i.transitionDuration)||"200ms")+" all",(c=t.options)!=null&&c.ripple&&this.initRipple(t)}initRipple(t){t.rippleInitialized||(t.rippleInitialized=!0,Promise.resolve().then(()=>Me).then(i=>{i.default(t.mainEl,{background:t.rippleColor})}))}renderDriver(t){t.mainEl=document.createElement("a"),"getLink"in t&&(t.mainEl.href=t.getLink()),this.initDriverStyles(t),this.listenDriverEvents(t);const i=document.createElement("div");i.innerHTML=t.icon;const c=document.createElement("div");return c.innerHTML=t.getButtonText(),t.mainEl.appendChild(i),t.mainEl.appendChild(c),t.mainEl}listenDriverEvents(t){const i=this.onDriverMouseEnter(t),c=this.onDriverMouseLeave(t),g=this.onDriverClick(t);this.driverListeners[t.buttonText]=[i,c,g],t.mainEl.addEventListener("mouseenter",i),t.mainEl.addEventListener("mouseleave",c),t.mainEl.addEventListener("click",g)}}function st(p,s){var t,i;do{if(typeof((t=p==null?void 0:p.className)==null?void 0:t.includes)<"u"&&((i=p==null?void 0:p.className)==null?void 0:i.includes(s)))return!0;p=p.parentNode}while(p);return!1}class Pt extends ke{constructor(s){super(s),this.options.type="row"}show(){this.shareeEl.classList.add("showing"),setTimeout(()=>{this.shareeEl.classList.add("show")})}getDistanceFromTop(){return window.pageXOffset||document.documentElement.scrollTop||document.body.scrollTop}getTooltipPosition(){let s;try{s=window.getSelection().getRangeAt(0).getBoundingClientRect()}catch{return{left:0,top:0}}const t=30,i=s.top,c=s.left+(s.width-t*this.sharee.options.drivers.length)/2;return{top:i,left:c}}setPosition(s){this.shareeEl.style.right="unset";const{left:t,top:i}=this.getTooltipPosition();return t===0?(this.hide(),!1):(s.x+300>window.innerWidth?this.shareeEl.style.left=t+"px":this.shareeEl.style.left=t+"px",this.shareeEl.style.top=`${i+26}px`,!0)}shouldRenderDriver(s){return s!=="copy"}getSelectedText(){var s;try{window.getSelection().getRangeAt(0)}catch{return!1}return window.getSelection?(s=window.getSelection())==null?void 0:s.toString():typeof document.selection<"u"?document.selection.createRange().text:""}destroy(){super.destroy(),window.removeEventListener("resize",this.windowOnResize)}render(){super.render(),this.shareeEl.classList.add("sharee__text")}documentOnClick(s){st(s.target,"sharee__text")||this.hide()}elementOnMouseUp(s){const t=s.currentTarget;setTimeout(()=>{const i=this.getSelectedText();!i||st(t,"sharee__text")||(this.sharee.options.shareText=i,this.reRender(),setTimeout(()=>{this.show(),setTimeout(()=>{this.setPosition(s)})}))})}windowOnResize(){this.hide()}listenEvents(){const s=this.elementOnMouseUp.bind(this),t=this.documentOnClick.bind(this);this.sharee.targetElement.addEventListener("mouseup",s),document.addEventListener("click",t);const i=this.windowOnResize.bind(this);window.addEventListener("resize",i),this.eventListeners.push([this.sharee.targetElement,"mouseup",s]),this.eventListeners.push([document,"click",t]),this.eventListeners.push([window,"resize",i])}renderDriver(s){s.mainEl=document.createElement("a"),s.mainEl.title=s.getButtonText(),"getLink"in s&&(s.mainEl.href=s.getLink()),this.initDriverStyles(s),this.listenDriverEvents(s);const t=document.createElement("div");return t.innerHTML=s.icon,s.mainEl.appendChild(t),s.mainEl}}const zt={noTitle:!1};class At extends De{constructor(t){super();o(this,"sharee");o(this,"elementHovering",!1);o(this,"shareeElHovering",!1);o(this,"shareeEl");o(this,"driverListeners",{});o(this,"hideTimeout",0);o(this,"options");this.sharee=t,this.shareeEl=document.createElement("div"),this.options=G({},zt,t.options.modeOptions)}hide(){var t;(t=this.shareeEl)==null||t.classList.remove("show"),clearTimeout(this.hideTimeout),this.hideTimeout=setTimeout(()=>{var i;(i=this.shareeEl)==null||i.classList.remove("showing")},Number.parseInt(this.sharee.options.showTransitionDuration))}destroy(){this.eventListeners.forEach(t=>{t[0].removeEventListener(t[1],t[2])}),this.shareeEl.parentElement.removeChild(this.shareeEl)}reRender(){this.destroy(),setTimeout(()=>{this.render()})}render(){this.shareeEl=document.createElement("div"),this.shareeEl.classList.add("sharee__normal"),this.shareeEl.classList.add("sharee__"+this.sharee.lang.Direction),this.shareeEl.style.transition="all "+this.sharee.options.showTransitionDuration,this.shareeEl.style.transitionProperty="transform, opacity";for(let t of this.sharee.options.drivers){if(!this.shouldRenderDriver(t))continue;const i=this.resolveDriver(t),c=new i(this.sharee.lang,{lang:this.sharee.lang,shareText:this.sharee.getShareText(),shareLink:this.sharee.getShareLink(),ripple:this.sharee.options.ripple}),g=this.renderDriver(c);this.shareeEl.appendChild(g)}this.sharee.targetElement.appendChild(this.shareeEl)}onDriverClick(t){return i=>{t.onClick(i)}}initDriverStyles(t){var i,c;t.mainEl.style.backgroundColor=t.backgroundColor,t.mainEl.style.color=t.textColor,t.mainEl.style.transition=(((i=t.options)==null?void 0:i.transitionDuration)||"200ms")+" background, 1s max-width",(c=t.options)!=null&&c.ripple&&this.initRipple(t)}initRipple(t){t.rippleInitialized||(t.rippleInitialized=!0,Promise.resolve().then(()=>Me).then(i=>{i.default(t.mainEl,{background:t.rippleColor})}))}renderDriver(t){t.mainEl=document.createElement("a"),"getLink"in t&&(t.mainEl.href=t.getLink()),this.initDriverStyles(t),this.listenDriverEvents(t);const i=document.createElement("div");i.innerHTML=t.icon;const c=document.createElement("div");return c.innerHTML=t.getButtonText(),t.mainEl.appendChild(i),this.options.noTitle?(t.mainEl.title=t.getButtonText(),t.mainEl.classList.add("sharee__no-title")):t.mainEl.appendChild(c),t.mainEl.classList.add("sharee__driver__"+t.getName()),t.mainEl}listenDriverEvents(t){const i=this.onDriverClick(t);this.driverListeners[t.buttonText]=[i],t.mainEl.addEventListener("click",i)}}const Rt={position:"top-right",noTitle:!1};class It extends De{constructor(t){super();o(this,"sharee");o(this,"shareeEl");o(this,"driverListeners",{});o(this,"options");this.sharee=t,this.shareeEl=document.createElement("div"),this.options=G({},Rt,t.options.modeOptions)}destroy(){window.shareeEl=this.shareeEl,console.log(this.shareeEl),this.eventListeners.forEach(t=>{t[0].removeEventListener(t[1],t[2])}),this.shareeEl.parentElement.removeChild(this.shareeEl)}reRender(){this.destroy(),setTimeout(()=>{this.render()})}getPositionClass(){}render(){this.shareeEl=document.createElement("div"),this.shareeEl.classList.add("sharee__fixed"),this.shareeEl.classList.add("sharee__"+this.sharee.lang.Direction),this.shareeEl.classList.add("sharee__position__"+this.options.position),this.shareeEl.style.transition="all "+this.sharee.options.showTransitionDuration,this.shareeEl.style.transitionProperty="transform, opacity";for(let t of this.sharee.options.drivers){if(!this.shouldRenderDriver(t))continue;const i=this.resolveDriver(t),c=new i(this.sharee.lang,{lang:this.sharee.lang,shareText:this.sharee.getShareText(),shareLink:this.sharee.getShareLink(),ripple:this.sharee.options.ripple}),g=this.renderDriver(c);this.shareeEl.appendChild(g)}document.body.appendChild(this.shareeEl)}onDriverMouseEnter(t){return()=>{t.mainEl.style.backgroundColor=t.backgroundHoverColor,t.mainEl.style.color=t.textHoverColor}}onDriverMouseLeave(t){return()=>{this.initDriverStyles(t)}}onDriverClick(t){return i=>{t.onClick(i)}}initDriverStyles(t){var i,c;t.mainEl.style.backgroundColor=t.backgroundColor,t.mainEl.style.color=t.textColor,t.mainEl.style.transition=(((i=t.options)==null?void 0:i.transitionDuration)||"200ms")+" all",(c=t.options)!=null&&c.ripple&&this.initRipple(t)}initRipple(t){t.rippleInitialized||(t.rippleInitialized=!0,Promise.resolve().then(()=>Me).then(i=>{i.default(t.mainEl,{background:t.rippleColor})}))}renderDriver(t){t.mainEl=document.createElement("a"),"getLink"in t&&(t.mainEl.href=t.getLink()),this.initDriverStyles(t);const i=document.createElement("div");i.innerHTML=t.icon;const c=document.createElement("div");return c.innerHTML=t.getButtonText(),t.mainEl.appendChild(i),this.options.noTitle?(t.mainEl.title=t.getButtonText(),t.mainEl.classList.add("sharee__no-title")):t.mainEl.appendChild(c),t.mainEl.classList.add("sharee__driver__"+t.getName()),t.mainEl}}class $t extends ke{constructor(s){super(s),this.options.type="row"}destroy(){super.destroy()}render(){super.render(),this.shareeEl.classList.add("sharee__text"),this.shareeEl.classList.add("sharee__hover")}show(){this.shareeEl.classList.add("showing"),setTimeout(()=>{this.shareeEl.classList.add("show");const s=this.sharee.targetElement.getBoundingClientRect(),t=s.x,i=s.y;this.sharee.lang.Direction==="ltr"?(this.shareeEl.style.left=`${t+s.width/2}px`,this.shareeEl.style.right="unset"):(this.shareeEl.style.right=`${t}px`,this.shareeEl.style.left="unset"),this.shareeEl.style.top=`${i+s.height}px`})}listenEvents(){this.shareeEl.addEventListener("mouseenter",this.shareElOnMouseEnter.bind(this)),this.shareeEl.addEventListener("mouseleave",this.shareElOnMouseLeave.bind(this));const s=this.elementOnMouseEnter.bind(this),t=this.elementOnMouseLeave.bind(this);this.sharee.targetElement.addEventListener("mouseenter",s),this.sharee.targetElement.addEventListener("mouseleave",t),this.eventListeners.push([this.sharee.targetElement,"mouseenter",s]),this.eventListeners.push([this.sharee.targetElement,"mouseleave",t])}renderDriver(s){s.mainEl=document.createElement("a"),s.mainEl.title=s.getButtonText(),"getLink"in s&&(s.mainEl.href=s.getLink()),this.initDriverStyles(s),this.listenDriverEvents(s);const t=document.createElement("div");return t.innerHTML=s.icon,s.mainEl.appendChild(t),s.mainEl}}const Bt={dropdown:ke,text:Pt,normal:At,fixed:It,hover:$t},gr="";class I{constructor(s,t){o(this,"lang");o(this,"mainEl",null);o(this,"options");o(this,"rippleColor","#ffffff75");o(this,"rippleInitialized",!1);this.options=t,this.lang=s}getButtonText(){return this.lang[this.buttonText.replaceAll(" ","_")]||this.buttonText}onClick(s){}getName(){return this.constructor.name}}const Nt=`\r +(function(x,_){typeof exports=="object"&&typeof module<"u"?module.exports=_():typeof define=="function"&&define.amd?define(_):(x=typeof globalThis<"u"?globalThis:x||self,x.Sharee=_())})(this,function(){"use strict";var fr=Object.defineProperty;var pr=(x,_,S)=>_ in x?fr(x,_,{enumerable:!0,configurable:!0,writable:!0,value:S}):x[_]=S;var o=(x,_,S)=>(pr(x,typeof _!="symbol"?_+"":_,S),S);function x(f,s){for(var t=0;ti[c]})}}}return Object.freeze(Object.defineProperty(f,Symbol.toStringTag,{value:"Module"}))}const _={showTransitionDuration:"200ms",lang:"fa",onLoad:()=>{},drivers:["copy","telegram","facebook","whatsapp","twitter","linkedin"],ripple:!0,mode:"normal"},S="rtl",Je="\u0627\u0634\u062A\u0631\u0627\u06A9 \u062F\u0631 \u062A\u0644\u06AF\u0631\u0627\u0645",Qe="\u06A9\u067E\u06CC \u0644\u06CC\u0646\u06A9",et="\u0628\u0627 \u0645\u0648\u0641\u0642\u06CC\u062A \u06A9\u067E\u06CC \u0634\u062F!",tt="\u0627\u0634\u062A\u0631\u0627\u06A9 \u062F\u0631 \u0648\u0627\u062A\u0633\u0627\u067E",nt="\u0627\u0634\u062A\u0631\u0627\u06A9 \u062F\u0631 \u062A\u0648\u06CC\u06CC\u062A\u0631",rt="\u0627\u0634\u062A\u0631\u0627\u06A9 \u062F\u0631 \u0644\u06CC\u0646\u06A9\u062F\u06CC\u0646",it="\u0627\u0634\u062A\u0631\u0627\u06A9 \u062F\u0631 \u0641\u06CC\u0633\u0628\u0648\u06A9",xe={Direction:S,Telegram:Je,Copy_Link:Qe,CopiedSuccessfully:et,Whatsapp:tt,Twitter:nt,Linkedin:rt,Facebook:it},Ht=Object.freeze(Object.defineProperty({__proto__:null,Direction:S,Telegram:Je,Copy_Link:Qe,CopiedSuccessfully:et,Whatsapp:tt,Twitter:nt,Linkedin:rt,Facebook:it,default:xe},Symbol.toStringTag,{value:"Module"}));class De{constructor(){o(this,"eventListeners",[])}resolveDriver(s){if(console.log(X.drivers),X.drivers.hasOwnProperty(s))return X.drivers[s];throw new Error(`Unknown driver: ${s}`)}shouldRenderDriver(s){return!0}}var W=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},Oe={exports:{}};(function(f,s){var t=200,i="__lodash_hash_undefined__",c=800,g=16,M=9007199254740991,$="[object Arguments]",ne="[object Array]",re="[object AsyncFunction]",ie="[object Boolean]",se="[object Date]",oe="[object Error]",ae="[object Function]",He="[object GeneratorFunction]",Z="[object Map]",B="[object Number]",le="[object Null]",q="[object Object]",je="[object Proxy]",K="[object RegExp]",he="[object Set]",l="[object String]",u="[object Undefined]",h="[object WeakMap]",C="[object ArrayBuffer]",w="[object DataView]",j="[object Float32Array]",Pe="[object Float64Array]",ze="[object Int8Array]",Ae="[object Int16Array]",Re="[object Int32Array]",ce="[object Uint8Array]",Ie="[object Uint8ClampedArray]",ue="[object Uint16Array]",$e="[object Uint32Array]",de=/[\\^$.*+?()[\]{}|]/g,fe=/^\[object .+?Constructor\]$/,pe=/^(?:0|[1-9]\d*)$/,m={};m[j]=m[Pe]=m[ze]=m[Ae]=m[Re]=m[ce]=m[Ie]=m[ue]=m[$e]=!0,m[$]=m[ne]=m[C]=m[ie]=m[w]=m[se]=m[oe]=m[ae]=m[Z]=m[B]=m[q]=m[K]=m[he]=m[l]=m[h]=!1;var Y=typeof W=="object"&&W&&W.Object===Object&&W,b=typeof self=="object"&&self&&self.Object===Object&&self,D=Y||b||Function("return this")(),N=s&&!s.nodeType&&s,H=N&&!0&&f&&!f.nodeType&&f,J=H&&H.exports===N,P=J&&Y.process,ge=function(){try{var e=H&&H.require&&H.require("util").types;return e||P&&P.binding&&P.binding("util")}catch{}}(),F=ge&&ge.isTypedArray;function me(e,n,r){switch(r.length){case 0:return e.call(n);case 1:return e.call(n,r[0]);case 2:return e.call(n,r[0],r[1]);case 3:return e.call(n,r[0],r[1],r[2])}return e.apply(n,r)}function ve(e,n){for(var r=-1,a=Array(e);++r-1}function bn(e,n){var r=this.__data__,a=_e(r,e);return a<0?(++this.size,r.push([e,n])):r[a][1]=n,this}k.prototype.clear=yn,k.prototype.delete=Cn,k.prototype.get=wn,k.prototype.has=_n,k.prototype.set=bn;function U(e){var n=-1,r=e==null?0:e.length;for(this.clear();++n1?r[p-1]:void 0,E=p>2?r[2]:void 0;for(v=e.length>3&&typeof v=="function"?(p--,v):void 0,E&&Jn(r[0],r[1],E)&&(v=p<3?void 0:v,p=1),n=Object(n);++a-1&&e%1==0&&e0){if(++n>=c)return arguments[0]}else n=0;return e.apply(void 0,arguments)}}function or(e){if(e!=null){try{return ye.call(e)}catch{}try{return e+""}catch{}}return""}function Te(e,n){return e===n||e!==e&&n!==n}var Ge=_t(function(){return arguments}())?_t:function(e){return ee(e)&&O.call(e,"callee")&&!hn.call(e,"callee")},Xe=Array.isArray;function Ze(e){return e!=null&&Dt(e.length)&&!qe(e)}function ar(e){return ee(e)&&Ze(e)}var xt=un||dr;function qe(e){if(!R(e))return!1;var n=be(e);return n==ae||n==He||n==re||n==je}function Dt(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=M}function R(e){var n=typeof e;return e!=null&&(n=="object"||n=="function")}function ee(e){return e!=null&&typeof e=="object"}function lr(e){if(!ee(e)||be(e)!=q)return!1;var n=Et(e);if(n===null)return!0;var r=O.call(n,"constructor")&&n.constructor;return typeof r=="function"&&r instanceof r&&ye.call(r)==an}var Ot=F?Be(F):In;function hr(e){return Xn(e,kt(e))}function kt(e){return Ze(e)?Pn(e,!0):$n(e)}var cr=Zn(function(e,n,r){bt(e,n,r)});function ur(e){return function(){return e}}function St(e){return e}function dr(){return!1}f.exports=cr})(Oe,Oe.exports);const G=Oe.exports,jt={type:"column",animation:"fade-down"};class ke extends De{constructor(t){super();o(this,"sharee");o(this,"elementHovering",!1);o(this,"shareeElHovering",!1);o(this,"shareeEl");o(this,"driverListeners",{});o(this,"hideTimeout",0);o(this,"options");this.sharee=t,this.shareeEl=document.createElement("div"),this.options=G({},jt,t.options.modeOptions)}show(){this.shareeEl.classList.add("showing"),setTimeout(()=>{this.shareeEl.classList.add("show");const t=this.sharee.targetElement.getBoundingClientRect(),i=t.x,c=t.y;this.sharee.lang.Direction==="ltr"?(this.shareeEl.style.left=`${i}px`,this.shareeEl.style.right="unset"):(this.shareeEl.style.right=`${i}px`,this.shareeEl.style.left="unset"),this.shareeEl.style.top=`${c+t.height}px`})}hide(){var t;(t=this.shareeEl)==null||t.classList.remove("show"),clearTimeout(this.hideTimeout),this.hideTimeout=setTimeout(()=>{var i;(i=this.shareeEl)==null||i.classList.remove("showing")},Number.parseInt(this.sharee.options.showTransitionDuration))}elementOnMouseEnter(){this.elementHovering=!0,this.show()}elementOnMouseLeave(){setTimeout(()=>this.elementHovering=!1),setTimeout(()=>{this.shareeElHovering||this.hide()})}shareElOnMouseEnter(){this.elementHovering&&this.show(),this.shareeElHovering=!0}shareElOnMouseLeave(){setTimeout(()=>this.shareeElHovering=!1),setTimeout(()=>{this.elementHovering||this.hide()})}listenEvents(){this.shareeEl.addEventListener("mouseenter",this.shareElOnMouseEnter.bind(this)),this.shareeEl.addEventListener("mouseleave",this.shareElOnMouseLeave.bind(this));const t=this.elementOnMouseEnter.bind(this),i=this.elementOnMouseLeave.bind(this);this.sharee.targetElement.addEventListener("mouseenter",t),this.sharee.targetElement.addEventListener("mouseleave",i),this.eventListeners.push([this.sharee.targetElement,"mouseenter",t]),this.eventListeners.push([this.sharee.targetElement,"mouseleave",i])}destroy(){window.shareeEl=this.shareeEl,this.eventListeners.forEach(t=>{t[0].removeEventListener(t[1],t[2])}),this.shareeEl.parentElement.removeChild(this.shareeEl)}reRender(){this.destroy(),setTimeout(()=>{this.render()})}render(){this.shareeEl=document.createElement("div"),this.shareeEl.classList.add("sharee__dropdown"),this.shareeEl.classList.add("sharee__"+this.sharee.lang.Direction),this.shareeEl.classList.add(this.options.animation),this.shareeEl.style.transition="all "+this.sharee.options.showTransitionDuration,this.shareeEl.style.transitionProperty="transform, opacity";for(let t of this.sharee.options.drivers){if(!this.shouldRenderDriver(t))continue;const i=this.resolveDriver(t),c=new i(this.sharee.lang,{lang:this.sharee.lang,shareText:this.sharee.getShareText(),shareLink:this.sharee.getShareLink(),ripple:this.sharee.options.ripple}),g=this.renderDriver(c);this.shareeEl.appendChild(g)}document.body.appendChild(this.shareeEl),this.listenEvents(),this.options.type==="grid"?this.shareeEl.classList.add("sharee__dropdown__grid"):this.options.type==="row"&&this.shareeEl.classList.add("sharee__dropdown__row")}onDriverMouseEnter(t){return()=>{t.mainEl.style.backgroundColor=t.backgroundHoverColor,t.mainEl.style.color=t.textHoverColor}}onDriverMouseLeave(t){return()=>{this.initDriverStyles(t)}}onDriverClick(t){return i=>{t.onClick(i)}}initDriverStyles(t){var i,c;t.mainEl.style.backgroundColor=t.backgroundColor,t.mainEl.style.color=t.textColor,t.mainEl.style.transition=(((i=t.options)==null?void 0:i.transitionDuration)||"200ms")+" all",(c=t.options)!=null&&c.ripple&&this.initRipple(t)}initRipple(t){t.rippleInitialized||(t.rippleInitialized=!0,Promise.resolve().then(()=>Me).then(i=>{i.default(t.mainEl,{background:t.rippleColor})}))}renderDriver(t){t.mainEl=document.createElement("a"),"getLink"in t&&(t.mainEl.href=t.getLink()),this.initDriverStyles(t),this.listenDriverEvents(t);const i=document.createElement("div");i.innerHTML=t.icon;const c=document.createElement("div");return c.innerHTML=t.getButtonText(),t.mainEl.appendChild(i),t.mainEl.appendChild(c),t.mainEl}listenDriverEvents(t){const i=this.onDriverMouseEnter(t),c=this.onDriverMouseLeave(t),g=this.onDriverClick(t);this.driverListeners[t.buttonText]=[i,c,g],t.mainEl.addEventListener("mouseenter",i),t.mainEl.addEventListener("mouseleave",c),t.mainEl.addEventListener("click",g)}}function st(f,s){var t,i;do{if(typeof((t=f==null?void 0:f.className)==null?void 0:t.includes)<"u"&&((i=f==null?void 0:f.className)==null?void 0:i.includes(s)))return!0;f=f.parentNode}while(f);return!1}class Pt extends ke{constructor(s){super(s),this.options.type="row"}show(){this.shareeEl.classList.add("showing"),setTimeout(()=>{this.shareeEl.classList.add("show")})}getDistanceFromTop(){return window.pageXOffset||document.documentElement.scrollTop||document.body.scrollTop}getTooltipPosition(){let s;try{s=window.getSelection().getRangeAt(0).getBoundingClientRect()}catch{return{left:0,top:0}}const t=30,i=s.top,c=s.left+(s.width-t*this.sharee.options.drivers.length)/2;return{top:i,left:c}}setPosition(s){this.shareeEl.style.right="unset";const{left:t,top:i}=this.getTooltipPosition();return t===0?(this.hide(),!1):(s.x+300>window.innerWidth?this.shareeEl.style.left=t+"px":this.shareeEl.style.left=t+"px",this.shareeEl.style.top=`${i+26}px`,!0)}shouldRenderDriver(s){return s!=="copy"}getSelectedText(){var s;try{window.getSelection().getRangeAt(0)}catch{return!1}return window.getSelection?(s=window.getSelection())==null?void 0:s.toString():typeof document.selection<"u"?document.selection.createRange().text:""}destroy(){super.destroy(),window.removeEventListener("resize",this.windowOnResize)}render(){super.render(),this.shareeEl.classList.add("sharee__text")}documentOnClick(s){st(s.target,"sharee__text")||this.hide()}elementOnMouseUp(s){const t=s.currentTarget;setTimeout(()=>{const i=this.getSelectedText();!i||st(t,"sharee__text")||(this.sharee.options.shareText=i,this.reRender(),setTimeout(()=>{this.show(),setTimeout(()=>{this.setPosition(s)})}))})}windowOnResize(){this.hide()}listenEvents(){const s=this.elementOnMouseUp.bind(this),t=this.documentOnClick.bind(this);this.sharee.targetElement.addEventListener("mouseup",s),document.addEventListener("click",t);const i=this.windowOnResize.bind(this);window.addEventListener("resize",i),this.eventListeners.push([this.sharee.targetElement,"mouseup",s]),this.eventListeners.push([document,"click",t]),this.eventListeners.push([window,"resize",i])}renderDriver(s){s.mainEl=document.createElement("a"),s.mainEl.title=s.getButtonText(),"getLink"in s&&(s.mainEl.href=s.getLink()),this.initDriverStyles(s),this.listenDriverEvents(s);const t=document.createElement("div");return t.innerHTML=s.icon,s.mainEl.appendChild(t),s.mainEl}}const zt={noTitle:!1};class At extends De{constructor(t){super();o(this,"sharee");o(this,"elementHovering",!1);o(this,"shareeElHovering",!1);o(this,"shareeEl");o(this,"driverListeners",{});o(this,"hideTimeout",0);o(this,"options");this.sharee=t,this.shareeEl=document.createElement("div"),this.options=G({},zt,t.options.modeOptions)}hide(){var t;(t=this.shareeEl)==null||t.classList.remove("show"),clearTimeout(this.hideTimeout),this.hideTimeout=setTimeout(()=>{var i;(i=this.shareeEl)==null||i.classList.remove("showing")},Number.parseInt(this.sharee.options.showTransitionDuration))}destroy(){this.eventListeners.forEach(t=>{t[0].removeEventListener(t[1],t[2])}),this.shareeEl.parentElement.removeChild(this.shareeEl)}reRender(){this.destroy(),setTimeout(()=>{this.render()})}render(){this.shareeEl=document.createElement("div"),this.shareeEl.classList.add("sharee__normal"),this.shareeEl.classList.add("sharee__"+this.sharee.lang.Direction),this.shareeEl.style.transition="all "+this.sharee.options.showTransitionDuration,this.shareeEl.style.transitionProperty="transform, opacity";for(let t of this.sharee.options.drivers){if(!this.shouldRenderDriver(t))continue;const i=this.resolveDriver(t),c=new i(this.sharee.lang,{lang:this.sharee.lang,shareText:this.sharee.getShareText(),shareLink:this.sharee.getShareLink(),ripple:this.sharee.options.ripple}),g=this.renderDriver(c);this.shareeEl.appendChild(g)}this.sharee.targetElement.appendChild(this.shareeEl)}onDriverClick(t){return i=>{t.onClick(i)}}initDriverStyles(t){var i,c;t.mainEl.style.backgroundColor=t.backgroundColor,t.mainEl.style.color=t.textColor,t.mainEl.style.transition=(((i=t.options)==null?void 0:i.transitionDuration)||"200ms")+" background, 1s max-width",(c=t.options)!=null&&c.ripple&&this.initRipple(t)}initRipple(t){t.rippleInitialized||(t.rippleInitialized=!0,Promise.resolve().then(()=>Me).then(i=>{i.default(t.mainEl,{background:t.rippleColor})}))}renderDriver(t){t.mainEl=document.createElement("a"),"getLink"in t&&(t.mainEl.href=t.getLink()),this.initDriverStyles(t),this.listenDriverEvents(t);const i=document.createElement("div");i.innerHTML=t.icon;const c=document.createElement("div");return c.innerHTML=t.getButtonText(),t.mainEl.appendChild(i),this.options.noTitle?(t.mainEl.title=t.getButtonText(),t.mainEl.classList.add("sharee__no-title")):t.mainEl.appendChild(c),t.mainEl.classList.add("sharee__driver__"+t.getName()),t.mainEl}listenDriverEvents(t){const i=this.onDriverClick(t);this.driverListeners[t.buttonText]=[i],t.mainEl.addEventListener("click",i)}}const Rt={position:"top-right",noTitle:!1};class It extends De{constructor(t){super();o(this,"sharee");o(this,"shareeEl");o(this,"driverListeners",{});o(this,"options");this.sharee=t,this.shareeEl=document.createElement("div"),this.options=G({},Rt,t.options.modeOptions)}destroy(){window.shareeEl=this.shareeEl,console.log(this.shareeEl),this.eventListeners.forEach(t=>{t[0].removeEventListener(t[1],t[2])}),this.shareeEl.parentElement.removeChild(this.shareeEl)}reRender(){this.destroy(),setTimeout(()=>{this.render()})}getPositionClass(){}render(){this.shareeEl=document.createElement("div"),this.shareeEl.classList.add("sharee__fixed"),this.shareeEl.classList.add("sharee__"+this.sharee.lang.Direction),this.shareeEl.classList.add("sharee__position__"+this.options.position),this.shareeEl.style.transition="all "+this.sharee.options.showTransitionDuration,this.shareeEl.style.transitionProperty="transform, opacity";for(let t of this.sharee.options.drivers){if(!this.shouldRenderDriver(t))continue;const i=this.resolveDriver(t),c=new i(this.sharee.lang,{lang:this.sharee.lang,shareText:this.sharee.getShareText(),shareLink:this.sharee.getShareLink(),ripple:this.sharee.options.ripple}),g=this.renderDriver(c);this.shareeEl.appendChild(g)}document.body.appendChild(this.shareeEl)}onDriverMouseEnter(t){return()=>{t.mainEl.style.backgroundColor=t.backgroundHoverColor,t.mainEl.style.color=t.textHoverColor}}onDriverMouseLeave(t){return()=>{this.initDriverStyles(t)}}onDriverClick(t){return i=>{t.onClick(i)}}initDriverStyles(t){var i,c;t.mainEl.style.backgroundColor=t.backgroundColor,t.mainEl.style.color=t.textColor,t.mainEl.style.transition=(((i=t.options)==null?void 0:i.transitionDuration)||"200ms")+" all",(c=t.options)!=null&&c.ripple&&this.initRipple(t)}initRipple(t){t.rippleInitialized||(t.rippleInitialized=!0,Promise.resolve().then(()=>Me).then(i=>{i.default(t.mainEl,{background:t.rippleColor})}))}renderDriver(t){t.mainEl=document.createElement("a"),"getLink"in t&&(t.mainEl.href=t.getLink()),this.initDriverStyles(t);const i=document.createElement("div");i.innerHTML=t.icon;const c=document.createElement("div");return c.innerHTML=t.getButtonText(),t.mainEl.appendChild(i),this.options.noTitle?(t.mainEl.title=t.getButtonText(),t.mainEl.classList.add("sharee__no-title")):t.mainEl.appendChild(c),t.mainEl.classList.add("sharee__driver__"+t.getName()),t.mainEl}}class $t extends ke{constructor(s){super(s),this.options.type="row"}destroy(){super.destroy()}render(){super.render(),this.shareeEl.classList.add("sharee__text"),this.shareeEl.classList.add("sharee__hover")}show(){this.shareeEl.classList.add("showing"),setTimeout(()=>{this.shareeEl.classList.add("show");const s=this.sharee.targetElement.getBoundingClientRect(),t=s.x,i=s.y;this.sharee.lang.Direction==="ltr"?(this.shareeEl.style.left=`${t+s.width/2}px`,this.shareeEl.style.right="unset"):(this.shareeEl.style.right=`${t}px`,this.shareeEl.style.left="unset"),this.shareeEl.style.top=`${i+s.height}px`})}listenEvents(){this.shareeEl.addEventListener("mouseenter",this.shareElOnMouseEnter.bind(this)),this.shareeEl.addEventListener("mouseleave",this.shareElOnMouseLeave.bind(this));const s=this.elementOnMouseEnter.bind(this),t=this.elementOnMouseLeave.bind(this);this.sharee.targetElement.addEventListener("mouseenter",s),this.sharee.targetElement.addEventListener("mouseleave",t),this.eventListeners.push([this.sharee.targetElement,"mouseenter",s]),this.eventListeners.push([this.sharee.targetElement,"mouseleave",t])}renderDriver(s){s.mainEl=document.createElement("a"),s.mainEl.title=s.getButtonText(),"getLink"in s&&(s.mainEl.href=s.getLink()),this.initDriverStyles(s),this.listenDriverEvents(s);const t=document.createElement("div");return t.innerHTML=s.icon,s.mainEl.appendChild(t),s.mainEl}}const Bt={dropdown:ke,text:Pt,normal:At,fixed:It,hover:$t},gr="";class I{constructor(s,t){o(this,"lang");o(this,"mainEl",null);o(this,"options");o(this,"rippleColor","#ffffff75");o(this,"rippleInitialized",!1);this.options=t,this.lang=s}getButtonText(){return this.lang[this.buttonText.replaceAll(" ","_")]||this.buttonText}onClick(s){}getName(){return this.constructor.name}}const Nt=`\r `;class Ft extends I{constructor(t,i){super(t,i);o(this,"buttonText","Telegram");o(this,"icon",Nt);o(this,"backgroundColor","#0088CC");o(this,"backgroundHoverColor","#0371aa");o(this,"textColor","#fff");o(this,"textHoverColor","#fff")}getLink(){var t,i;return`https://telegram.me/share/url?url=${(t=this.options)==null?void 0:t.shareLink}&text=${encodeURIComponent((i=this.options)==null?void 0:i.shareText)}`}}const Ut=`\r \r @@ -44,10 +44,10 @@ `;class Kt extends I{constructor(t,i){super(t,i);o(this,"buttonText","Linkedin");o(this,"icon",qt);o(this,"backgroundColor","#0077B5");o(this,"backgroundHoverColor","#026092");o(this,"textColor","#fff");o(this,"textHoverColor","#fff")}getLink(){var t;return`https://www.linkedin.com/sharing/share-offsite/?url=${(t=this.options)==null?void 0:t.shareLink}`}}const Yt=`\r \r \r -`;class Jt extends I{constructor(t,i){super(t,i);o(this,"buttonText","Facebook");o(this,"icon",Yt);o(this,"backgroundColor","#4267B2");o(this,"backgroundHoverColor","#355696");o(this,"textColor","#fff");o(this,"textHoverColor","#fff")}getLink(){var t,i;return`https://twitter.com/share?text=${encodeURIComponent((t=this.options)==null?void 0:t.shareText)}&url=${(i=this.options)==null?void 0:i.shareLink}`}}const Qt=new Object({telegram:Ft,whatsapp:Vt,copy:Gt,twitter:Zt,linkedin:Kt,facebook:Jt});class X{constructor(s,t=w){o(this,"options");o(this,"lang",xe);o(this,"strategy");o(this,"targetElement");this.targetElement=s,this.options=G({},w,t),this.options.drivers=t.drivers||this.options.drivers;const i=Bt[this.options.mode];if(typeof i>"u")throw new Error('Selected mode "'+t.mode+'" not found');this.strategy=new i(this),this.init().then(()=>{this.strategy.render()})}static addDriver(s,t){this.drivers[s]=t}async init(){this.targetElement.sharee=this,await this.setLang(this.options.lang,this.options.langs)}async setLang(s,t={}){const i=Object.assign({"../locales/en.json":()=>Promise.resolve().then(()=>tn),"../locales/fa.json":()=>Promise.resolve().then(()=>Ht)});let c=xe;for(const g in i)g.includes(s)&&(i[g]instanceof Function?c={...await i[g]()}:c={...i[g]},t[s]&&G(c,t[s]));this.lang=c}getShareText(){return this.options.shareText||document.title}getShareLink(){return this.options.shareLink||window.location.href}destroy(){this.strategy.destroy()}}o(X,"drivers",{...Qt});var Se={exports:{}};/*! +`;class Jt extends I{constructor(t,i){super(t,i);o(this,"buttonText","Facebook");o(this,"icon",Yt);o(this,"backgroundColor","#4267B2");o(this,"backgroundHoverColor","#355696");o(this,"textColor","#fff");o(this,"textHoverColor","#fff")}getLink(){var t,i;return`https://twitter.com/share?text=${encodeURIComponent((t=this.options)==null?void 0:t.shareText)}&url=${(i=this.options)==null?void 0:i.shareLink}`}}const Qt=new Object({telegram:Ft,whatsapp:Vt,copy:Gt,twitter:Zt,linkedin:Kt,facebook:Jt});class X{constructor(s,t=_){o(this,"options");o(this,"lang",xe);o(this,"strategy");o(this,"targetElement");this.targetElement=s,this.options=G({},_,t),this.options.drivers=t.drivers||this.options.drivers;const i=Bt[this.options.mode];if(typeof i>"u")throw new Error('Selected mode "'+t.mode+'" not found');this.strategy=new i(this),typeof window<"u"&&this.init().then(()=>{this.strategy.render()})}static addDriver(s,t){this.drivers[s]=t}async init(){this.targetElement.sharee=this,await this.setLang(this.options.lang,this.options.langs)}async setLang(s,t={}){const i=Object.assign({"../locales/en.json":()=>Promise.resolve().then(()=>tn),"../locales/fa.json":()=>Promise.resolve().then(()=>Ht)});let c=xe;for(const g in i)g.includes(s)&&(i[g]instanceof Function?c={...await i[g]()}:c={...i[g]},t[s]&&G(c,t[s]));this.lang=c}getShareText(){return this.options.shareText||document.title}getShareLink(){return this.options.shareLink||window.location.href}destroy(){this.strategy.destroy()}}o(X,"drivers",{...Qt});var Se={exports:{}};/*! * ripple-effects * customizable ripple effect with one line of code * * @version v1.0.2 * @author Cris FandiƱo - */(function(p,s){(function(t,i){p.exports=i()})(W,function(){function t(l,u,h){return u in l?Object.defineProperty(l,u,{value:h,enumerable:!0,configurable:!0,writable:!0}):l[u]=h,l}function i(l,u){var h=Object.keys(l);if(Object.getOwnPropertySymbols){var C=Object.getOwnPropertySymbols(l);u&&(C=C.filter(function(_){return Object.getOwnPropertyDescriptor(l,_).enumerable})),h.push.apply(h,C)}return h}function c(l){for(var u=1;u-1}function ie(l){var u,h={top:0,left:0};return u=(l&&l.ownerDocument).documentElement,l.getBoundingClientRect!==void 0&&(h=l.getBoundingClientRect()),{top:h.top+window.pageYOffset-u.clientTop,left:h.left+window.pageXOffset-u.clientLeft}}function se(l){for(var u=[],h=0;h1&&arguments[1]!==void 0?arguments[1]:document,h=l instanceof HTMLCollection||l instanceof NodeList;return h?se(l):l instanceof Element?[l]:se(u.querySelectorAll(l))}var ae=Object.freeze({__proto__:null,tag:M,styles:$,edit:ne,isSelfTag:re,offset:ie,elementToArray:oe}),He={background:"rgb(150,150,150)",opacity:.5,zIndex:99,duration:700,timing:"ease",outDuration:800},Z=M,B=ne,le=ie,q=oe,je=re,K=$;function he(){var l=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"_",u=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},h=u=c(c({},He),u),C=h.background,_=h.opacity,j=h.zIndex,Pe=h.duration,ze=h.timing,Ae=h.height,Re=h.width,ce=h.triggerOnChild,Ie=ce===void 0||ce,ue=h.triggerExcept,$e=ue===void 0?"_":ue,de=h.outDuration,pe="ontouchstart"in window;function fe(b){if(!(q($e,this).indexOf(b.target)>-1)&&(b.target===this||Ie)){var D,N;K(this,"position").toLowerCase()==="static"&&(this.style.position="relative");var H=le(this).top,J=le(this).left;try{if(b.touches[1])return;N=b.touches[0].pageX-J,D=b.touches[0].pageY-H}catch{N=b.pageX-J,D=b.pageY-H}var P=this.offsetWidth,ge=this.offsetHeight,F=Z("div",{appendTo:this,className:"ripleParent__",style:{zIndex:j,height:ge+"px",width:P+"px",borderRadius:K(this,"borderRadius"),clipPath:K(this,"clipPath"),transition:"opacity ".concat(de,"ms linear")}});Z("div",{appendTo:F,className:"riple__",style:{top:D+"px",left:N+"px",opacity:_,width:Re||P*Math.PI+"px",height:Ae||P*Math.PI+"px",background:C,animation:"ripple__ ".concat(Pe,"ms ").concat(ze," both")}});var me=pe?"touchend touchcancel":"mouseleave mouseup";B(this).on(me,function ve(){var Be=this;F.style.opacity=0,setTimeout(function(){return Be.removeChild(F)},de),B(this).off(me,ve)})}}var m=q(l),Y=pe?"touchstart":"mousedown";return m.forEach(function(b){if(je(b))return console.error("Ripple is not allowed on self closing tag you need to wrap it");B(b).on(Y,fe)}),{destroy:function(){m.forEach(function(b){return B(b).off(Y,fe)})}}}return Z("style",{innerHTML:".ripleParent__{pointer-events:none;overflow:hidden;background:transparent;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.riple__{border-radius:50%;position: absolute;will-change:transform; pointer-events:none;}@keyframes ripple__{0%{transform: translate(-50%,-50%) scale(0);}100%{transform: translate(-50%,-50%) scale(1);}}",appendTo:document.head}),he.utils=ae,he})})(Se);const en=Se.exports,Me=x({__proto__:null,default:en},[Se.exports]),ot="ltr",at="Copied successfully",lt="Telegram",ht="Copy Link",ct="Whatsapp",ut="Twitter",dt="Linkedin",tn=Object.freeze(Object.defineProperty({__proto__:null,Direction:ot,CopiedSuccessfully:at,Telegram:lt,Copy_Link:ht,Whatsapp:ct,Twitter:ut,Linkedin:dt,default:{Direction:ot,CopiedSuccessfully:at,Telegram:lt,Copy_Link:ht,Whatsapp:ct,Twitter:ut,Linkedin:dt}},Symbol.toStringTag,{value:"Module"}));return X}); + */(function(f,s){(function(t,i){f.exports=i()})(W,function(){function t(l,u,h){return u in l?Object.defineProperty(l,u,{value:h,enumerable:!0,configurable:!0,writable:!0}):l[u]=h,l}function i(l,u){var h=Object.keys(l);if(Object.getOwnPropertySymbols){var C=Object.getOwnPropertySymbols(l);u&&(C=C.filter(function(w){return Object.getOwnPropertyDescriptor(l,w).enumerable})),h.push.apply(h,C)}return h}function c(l){for(var u=1;u-1}function ie(l){var u,h={top:0,left:0};return u=(l&&l.ownerDocument).documentElement,l.getBoundingClientRect!==void 0&&(h=l.getBoundingClientRect()),{top:h.top+window.pageYOffset-u.clientTop,left:h.left+window.pageXOffset-u.clientLeft}}function se(l){for(var u=[],h=0;h1&&arguments[1]!==void 0?arguments[1]:document,h=l instanceof HTMLCollection||l instanceof NodeList;return h?se(l):l instanceof Element?[l]:se(u.querySelectorAll(l))}var ae=Object.freeze({__proto__:null,tag:M,styles:$,edit:ne,isSelfTag:re,offset:ie,elementToArray:oe}),He={background:"rgb(150,150,150)",opacity:.5,zIndex:99,duration:700,timing:"ease",outDuration:800},Z=M,B=ne,le=ie,q=oe,je=re,K=$;function he(){var l=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"_",u=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},h=u=c(c({},He),u),C=h.background,w=h.opacity,j=h.zIndex,Pe=h.duration,ze=h.timing,Ae=h.height,Re=h.width,ce=h.triggerOnChild,Ie=ce===void 0||ce,ue=h.triggerExcept,$e=ue===void 0?"_":ue,de=h.outDuration,fe="ontouchstart"in window;function pe(b){if(!(q($e,this).indexOf(b.target)>-1)&&(b.target===this||Ie)){var D,N;K(this,"position").toLowerCase()==="static"&&(this.style.position="relative");var H=le(this).top,J=le(this).left;try{if(b.touches[1])return;N=b.touches[0].pageX-J,D=b.touches[0].pageY-H}catch{N=b.pageX-J,D=b.pageY-H}var P=this.offsetWidth,ge=this.offsetHeight,F=Z("div",{appendTo:this,className:"ripleParent__",style:{zIndex:j,height:ge+"px",width:P+"px",borderRadius:K(this,"borderRadius"),clipPath:K(this,"clipPath"),transition:"opacity ".concat(de,"ms linear")}});Z("div",{appendTo:F,className:"riple__",style:{top:D+"px",left:N+"px",opacity:w,width:Re||P*Math.PI+"px",height:Ae||P*Math.PI+"px",background:C,animation:"ripple__ ".concat(Pe,"ms ").concat(ze," both")}});var me=fe?"touchend touchcancel":"mouseleave mouseup";B(this).on(me,function ve(){var Be=this;F.style.opacity=0,setTimeout(function(){return Be.removeChild(F)},de),B(this).off(me,ve)})}}var m=q(l),Y=fe?"touchstart":"mousedown";return m.forEach(function(b){if(je(b))return console.error("Ripple is not allowed on self closing tag you need to wrap it");B(b).on(Y,pe)}),{destroy:function(){m.forEach(function(b){return B(b).off(Y,pe)})}}}return Z("style",{innerHTML:".ripleParent__{pointer-events:none;overflow:hidden;background:transparent;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.riple__{border-radius:50%;position: absolute;will-change:transform; pointer-events:none;}@keyframes ripple__{0%{transform: translate(-50%,-50%) scale(0);}100%{transform: translate(-50%,-50%) scale(1);}}",appendTo:document.head}),he.utils=ae,he})})(Se);const en=Se.exports,Me=x({__proto__:null,default:en},[Se.exports]),ot="ltr",at="Copied successfully",lt="Telegram",ht="Copy Link",ct="Whatsapp",ut="Twitter",dt="Linkedin",tn=Object.freeze(Object.defineProperty({__proto__:null,Direction:ot,CopiedSuccessfully:at,Telegram:lt,Copy_Link:ht,Whatsapp:ct,Twitter:ut,Linkedin:dt,default:{Direction:ot,CopiedSuccessfully:at,Telegram:lt,Copy_Link:ht,Whatsapp:ct,Twitter:ut,Linkedin:dt}},Symbol.toStringTag,{value:"Module"}));return X}); diff --git a/src/lib/Sharee.ts b/src/lib/Sharee.ts index c30e2c1..5b508ea 100644 --- a/src/lib/Sharee.ts +++ b/src/lib/Sharee.ts @@ -27,9 +27,11 @@ export default class Sharee { throw new Error('Selected mode \"' + options.mode + '\" not found') } this.strategy = new strategyClass(this); - this.init().then(() => { - this.strategy.render() - }); + if (typeof window !== 'undefined') { + this.init().then(() => { + this.strategy.render() + }); + } } public static addDriver(driverName: string, driver: typeof Driver) {