UNPKG

@codedungeon/vue-messenger

Version:

Vue Messenger provides an expressive suite of features and customization

1 lines 13.8 kB
!function(e,s){for(var t in s)e[t]=s[t]}(window,function(e){var s={};function t(r){if(s[r])return s[r].exports;var n=s[r]={i:r,l:!1,exports:{}};return e[r].call(n.exports,n,n.exports,t),n.l=!0,n.exports}return t.m=e,t.c=s,t.d=function(e,s,r){t.o(e,s)||Object.defineProperty(e,s,{enumerable:!0,get:r})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,s){if(1&s&&(e=t(e)),8&s)return e;if(4&s&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(t.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&s&&"string"!=typeof e)for(var n in e)t.d(r,n,function(s){return e[s]}.bind(null,n));return r},t.n=function(e){var s=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(s,"a",s),s},t.o=function(e,s){return Object.prototype.hasOwnProperty.call(e,s)},t.p="",t(t.s=1)}([function(e,s,t){"use strict";var r=function(e,s,t,r,n,o,a,i){var d=typeof(e=e||{}).default;"object"!==d&&"function"!==d||(e=e.default);var l,c="function"==typeof e?e.options:e;if(s&&(c.render=s,c.staticRenderFns=t,c._compiled=!0),r&&(c.functional=!0),o&&(c._scopeId=o),a?(l=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),n&&n.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(a)},c._ssrRegister=l):n&&(l=i?function(){n.call(this,this.$root.$options.shadowRoot)}:n),l)if(c.functional){c._injectStyles=l;var g=c.render;c.render=function(e,s){return l.call(s),g(e,s)}}else{var u=c.beforeCreate;c.beforeCreate=u?[].concat(u,l):[l]}return{exports:e,options:c}}({name:"vue-messenger",components:{},props:{type:{type:String,default:""},title:{type:String,default:""},description:{type:String,default:""},autoClose:{type:Boolean,default:!1},autoCloseDelay:{type:[Number,String],default:7500},more:{type:[Array,String],default:""},moreLinkText:{type:String,default:"show more"},icon:{type:[Boolean,String],default:!1},debug:{type:Boolean,default:!1}},data:()=>({msgTypeOptions:["alert","danger","error","info","success","warning"],msgOpen:!1,msgTitle:"",msgType:"",msgTypeClass:"",msgCloseClass:"",msgDescription:"",msgAutoClose:!1,msgAutoCloseDelay:7500,msgMore:[],moreMessage:!1,moreMessageType:"",moreMessageOpen:!1,showMoreMessageLink:!0,msgMoreLinkText:"show more",msgIcon:!1,msgIconClass:"",moreMessageDividierClass:""}),methods:{updateMessage(e={}){this.closeMessage(),this.$nextTick(()=>{let s=Object.assign({type:"info",title:"",description:"",more:"",moreLinkText:"show more",autoClose:!1,autoCloseDelay:7500,icon:!1},e);s.debug&&(console.log("====== VUE MESSENGER DEBUG ====="),console.log(this),console.log("====== VUE MESSENGER DEBUG =====")),"default"===this.msgType&&(this.msgType="info"),this.msgType=this.msgTypeOptions.includes(s.type)?s.type:"info",this.msgTitle=s.title,this.msgDescription=s.description,0===this.msgDescription.length&&(this.msgDescription=this.msgTitle,this.msgTitle=""),this.msgMore=s.more,this.msgMoreLinkText=s.moreLinkText,this.msgAutoClose=s.autoClose,this.msgAutoCloseDelay=parseInt(s.autoCloseDelay),this.msgTypeClass="vue-messenger-header-message-"+this.msgType,this.msgCloseClass="vue-messenger-header-message-close-"+this.msgType,this.moreMessage=!1,this.moreMessageType=this.msgMore?Array.isArray(this.msgMore)?"array":"text":"",this.moreMessage=this.moreMessageType.length>0,this.moreMessageOpen=!1,this.showMoreMessageLink=this.moreMessageType.length>0,this.msgIcon=s.icon,this.msgIconClass=this.getMsgIconClass(this.msgType),this.moreMessageDividierClass="vue-messenger-more-divider-"+this.msgType,this.msgOpen=!0,this.msgAutoClose&&setTimeout(()=>{this.closeMessage()},this.msgAutoCloseDelay)})},showMoreMessage(){this.showMoreMessageLink=!1,this.moreMessageOpen=!0},closeMessage(){this.msgOpen&&(this.msgOpen=!1),this.$emit("closeMessage"),this.$emit("close")},getMarker(e="info"){let s="‣";switch(e){case"danger":case"error":s="✖︎";break;case"success":s="✓";break;case"warning":s="﹅";break;default:s="‣"}return s},getMsgIconClass(e="info"){let s="fas fa-info-circle";switch(e){case"info":s="fas fa-info-circle";break;case"danger":case"error":s="fas fa-times-circle";break;case"success":s="fas fa-check-circle";break;case"warning":s="fas fa-exclamation-circle";break;default:s="fas fa-info-circle"}return s="icon "+s,s},getMoreDividerClass(e="info"){let s="vue-messenger-more-divider";switch(e){case"error":case"success":s="vue-messenger-more-divider-error"}return s}},created(){["https://kit.fontawesome.com/86b695319c.js"].forEach(e=>{let s=document.createElement("script");s.setAttribute("src",e),document.head.appendChild(s)})},mounted(){""===this.title&&""===this.description&&this.closeMessage(),this.msgDescription=this.description,this.msgType=this.msgTypeOptions.includes(this.type)?this.type:"info",this.msgTitle=this.title,this.msgTypeClass="vue-messenger-header-message-"+this.type,this.msgCloseClass="vue-messenger-header-message-close-"+this.type,this.msgMore=this.more,this.moreMessageType=this.msgMore?Array.isArray(this.msgMore)?"array":"text":"",this.msgAutoClose=this.autoClose,this.msgAutoCloseDelay=parseInt(this.autoCloseDelay),this.msgIcon=this.icon,this.msgIconClass=this.getMsgIconClass(this.msgType),this.moreMessageDividierClass="vue-messenger-more-divider-"+this.msgType,this.msgOpen=this.msgTitle.length>0||this.msgDescription.length>0,this.msgAutoClose&&setTimeout(()=>{this.closeMessage()},this.msgAutoCloseDelay),this.$on("vue-messenger_MESSAGE_UPDATE",e=>{console.log(e)})}},(function(){var e=this,s=e.$createElement,t=e._self._c||s;return t("div",{staticClass:"vue-messenger-template"},[t("div",{attrs:{id:"vue-messenger-copyright"}}),e._v(" "),e.msgOpen&&(e.msgDescription.length>0||e.msgTitle.length>0)?t("div",e._g(e._b({},"div",e.$attrs,!1),e.$listeners),[t("transition",{attrs:{name:"fade",appear:""}},[t("div",{staticClass:"vue-messenger-header-message",class:e.msgTypeClass},[t("span",{staticClass:"vue-messenger-header-message-close",class:e.msgCloseClass,on:{click:e.closeMessage}},[e._v("×")]),e._v(" "),e._t("default",[t("div",{staticClass:"vue-messenger-header-message-title"},[e.msgIcon&&e.msgTitle.length>0?t("span",[t("i",{class:e.msgIconClass})]):e._e(),e._v(" "),t("span",{staticClass:"vue-messenger-header-message-title"},[e._v(e._s(e.msgTitle))])]),e._v(" "),t("div",{staticClass:"vue-messenger-header-message-text"},[e.msgIcon&&0===e.msgTitle.length?t("span",[t("i",{class:e.msgIconClass})]):e._e(),e._v(" "),t("span",{domProps:{innerHTML:e._s(e.msgDescription)}}),e._v(" "),e.moreMessageType.length>0?t("span",[t("span",{directives:[{name:"show",rawName:"v-show",value:e.showMoreMessageLink,expression:"showMoreMessageLink"}],on:{click:e.showMoreMessage}},[t("span",{staticClass:"vue-messenger-header-message-more",domProps:{innerHTML:e._s(e.msgMoreLinkText)}})]),e._v(" "),t("span",{directives:[{name:"show",rawName:"v-show",value:e.moreMessageOpen,expression:"moreMessageOpen"}]},[t("hr",{class:e.moreMessageDividierClass}),e._v(" "),"text"===e.moreMessageType?t("span",[e._v("\n "+e._s(e.msgMore)+"\n ")]):t("ul",{staticClass:"vue-messenger-more-items"},e._l(e.msgMore,(function(s,r){return t("li",{key:r},[e._v(e._s(e.getMarker(e.msgType))+" "+e._s(s))])})),0)])]):e._e()])])],2)])],1):e._e()])}),[],!1,(function(e){t(3)}),"data-v-3ded9748",null);s.a=r.exports},function(e,s,t){"use strict";t.r(s),function(e){t.d(s,"install",(function(){return n}));var r=t(0);function n(e){n.installed||(n.installed=!0,e.component("vue-messenger",r.a))}const o={install:n};let a=null;"undefined"!=typeof window?a=window.Vue:void 0!==e&&(a=e.Vue),a&&a.use(o),s.default=r.a}.call(this,t(2))},function(e,s){var t;t=function(){return this}();try{t=t||new Function("return this")()}catch(e){"object"==typeof window&&(t=window)}e.exports=t},function(e,s,t){var r=t(4);"string"==typeof r&&(r=[[e.i,r,""]]),r.locals&&(e.exports=r.locals);(0,t(6).default)("7767a282",r,!0,{})},function(e,s,t){(e.exports=t(5)(!1)).push([e.i,"#vue-messenger-copyright[data-v-3ded9748]{display:none}.vue-messenger-more-divider[data-v-3ded9748]{padding-bottom:0}.vue-messenger-more-divider-info[data-v-3ded9748]{border-top:1px solid #d3d3d3}.vue-messenger-more-divider-danger[data-v-3ded9748],.vue-messenger-more-divider-error[data-v-3ded9748]{border-top:1px solid pink}.vue-messenger-more-divider-success[data-v-3ded9748]{border-top:1px solid #90ee90}.vue-messenger-more-divider-warning[data-v-3ded9748]{border-top:1px solid #e4b06e}.vue-messenger-template[data-v-3ded9748]{font-size:inherit;line-height:inherit}.vue-messenger-header-message[data-v-3ded9748]{background-color:#f2f2f3;margin:0;color:#85888e;padding-top:5px;padding:5px 10px 10px}.vue-messenger-header-message-danger[data-v-3ded9748],.vue-messenger-header-message-error[data-v-3ded9748]{background-color:#fceeee;color:#ec8b86}.vue-messenger-header-message-success[data-v-3ded9748]{background-color:#eff7e9;color:#80bf5e}.vue-messenger-header-message-warning[data-v-3ded9748]{background-color:#fcf5ea;color:#e4b06e}.vue-messenger-header-message-close[data-v-3ded9748]{float:right;color:#c7c7cd;font-size:20px;cursor:pointer;opacity:1}.vue-messenger-header-message-close-danger[data-v-3ded9748],.vue-messenger-header-message-close-error[data-v-3ded9748]{background-color:#fceeee;color:#ec8b86}.vue-messenger-header-message-close-success[data-v-3ded9748]{background-color:#eff7e9;color:#80bf5e}.vue-messenger-header-message-close-warning[data-v-3ded9748]{background-color:#fcf5ea;color:#e4b06e}.vue-messenger-header-message-title[data-v-3ded9748]{font-weight:700;padding-bottom:5px}.vue-messenger-header-message-text[data-v-3ded9748]{line-height:20px}.vue-messenger-header-message-more[data-v-3ded9748]{text-decoration:underline;cursor:pointer;padding-left:5px}.vue-messenger-more-items[data-v-3ded9748]{list-style:none;padding:0;margin:0;padding-top:5px}.icon[data-v-3ded9748]{font-weight:900;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;padding-right:4px}.fade-enter-active[data-v-3ded9748],.fade-leave-active[data-v-3ded9748]{transition:opacity .5s}.fade-enter[data-v-3ded9748],.fade-leave-to[data-v-3ded9748]{opacity:0}",""])},function(e,s){e.exports=function(e){var s=[];return s.toString=function(){return this.map((function(s){var t=function(e,s){var t=e[1]||"",r=e[3];if(!r)return t;if(s&&"function"==typeof btoa){var n=(a=r,"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(a))))+" */"),o=r.sources.map((function(e){return"/*# sourceURL="+r.sourceRoot+e+" */"}));return[t].concat(o).concat([n]).join("\n")}var a;return[t].join("\n")}(s,e);return s[2]?"@media "+s[2]+"{"+t+"}":t})).join("")},s.i=function(e,t){"string"==typeof e&&(e=[[null,e,""]]);for(var r={},n=0;n<this.length;n++){var o=this[n][0];"number"==typeof o&&(r[o]=!0)}for(n=0;n<e.length;n++){var a=e[n];"number"==typeof a[0]&&r[a[0]]||(t&&!a[2]?a[2]=t:t&&(a[2]="("+a[2]+") and ("+t+")"),s.push(a))}},s}},function(e,s,t){"use strict";function r(e,s){for(var t=[],r={},n=0;n<s.length;n++){var o=s[n],a=o[0],i={id:e+":"+n,css:o[1],media:o[2],sourceMap:o[3]};r[a]?r[a].parts.push(i):t.push(r[a]={id:a,parts:[i]})}return t}t.r(s),t.d(s,"default",(function(){return m}));var n="undefined"!=typeof document;if("undefined"!=typeof DEBUG&&DEBUG&&!n)throw new Error("vue-style-loader cannot be used in a non-browser environment. Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.");var o={},a=n&&(document.head||document.getElementsByTagName("head")[0]),i=null,d=0,l=!1,c=function(){},g=null,u="undefined"!=typeof navigator&&/msie [6-9]\b/.test(navigator.userAgent.toLowerCase());function m(e,s,t,n){l=t,g=n||{};var a=r(e,s);return p(a),function(s){for(var t=[],n=0;n<a.length;n++){var i=a[n];(d=o[i.id]).refs--,t.push(d)}s?p(a=r(e,s)):a=[];for(n=0;n<t.length;n++){var d;if(0===(d=t[n]).refs){for(var l=0;l<d.parts.length;l++)d.parts[l]();delete o[d.id]}}}}function p(e){for(var s=0;s<e.length;s++){var t=e[s],r=o[t.id];if(r){r.refs++;for(var n=0;n<r.parts.length;n++)r.parts[n](t.parts[n]);for(;n<t.parts.length;n++)r.parts.push(f(t.parts[n]));r.parts.length>t.parts.length&&(r.parts.length=t.parts.length)}else{var a=[];for(n=0;n<t.parts.length;n++)a.push(f(t.parts[n]));o[t.id]={id:t.id,refs:1,parts:a}}}}function h(){var e=document.createElement("style");return e.type="text/css",a.appendChild(e),e}function f(e){var s,t,r=document.querySelector('style[data-vue-ssr-id~="'+e.id+'"]');if(r){if(l)return c;r.parentNode.removeChild(r)}if(u){var n=d++;r=i||(i=h()),s=M.bind(null,r,n,!1),t=M.bind(null,r,n,!0)}else r=h(),s=C.bind(null,r),t=function(){r.parentNode.removeChild(r)};return s(e),function(r){if(r){if(r.css===e.css&&r.media===e.media&&r.sourceMap===e.sourceMap)return;s(e=r)}else t()}}var v,y=(v=[],function(e,s){return v[e]=s,v.filter(Boolean).join("\n")});function M(e,s,t,r){var n=t?"":r.css;if(e.styleSheet)e.styleSheet.cssText=y(s,n);else{var o=document.createTextNode(n),a=e.childNodes;a[s]&&e.removeChild(a[s]),a.length?e.insertBefore(o,a[s]):e.appendChild(o)}}function C(e,s){var t=s.css,r=s.media,n=s.sourceMap;if(r&&e.setAttribute("media",r),g.ssrId&&e.setAttribute("data-vue-ssr-id",s.id),n&&(t+="\n/*# sourceURL="+n.sources[0]+" */",t+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(n))))+" */"),e.styleSheet)e.styleSheet.cssText=t;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(t))}}}]));