UNPKG

primevue

Version:

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![npm version](https://badge.fury.io/js/primevue.svg)](https://badge.fury.io/js/primevue) [![Discord Chat](https://img.shields.io/discord/55794023

2 lines (1 loc) 14 kB
import e from"primevue/portal";import t from"primevue/toasteventbus";import{ZIndexUtils as n,ObjectUtils as o,DomHandler as r,UniqueComponentId as s}from"primevue/utils";import i from"primevue/basecomponent";import{useStyle as a}from"primevue/usestyle";import c from"primevue/icons/check";import l from"primevue/icons/exclamationtriangle";import u from"primevue/icons/infocircle";import m from"primevue/icons/times";import p from"primevue/icons/timescircle";import f from"primevue/ripple";import{resolveDirective as y,openBlock as g,createElementBlock as d,mergeProps as b,createElementVNode as v,Fragment as h,createBlock as I,resolveDynamicComponent as S,toDisplayString as w,normalizeProps as x,withDirectives as O,createCommentVNode as j,resolveComponent as P,withCtx as k,createVNode as T,TransitionGroup as E,renderList as C}from"vue";function A(e){return A="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},A(e)}function $(e,t,n){return(t=B(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function B(e){var t=D(e,"string");return"symbol"===A(t)?t:String(t)}function D(e,t){if("object"!==A(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||"default");if("object"!==A(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}var L={root:function(e){var t=e.instance;return["p-toast p-component p-toast-"+e.props.position,{"p-input-filled":"filled"===t.$primevue.config.inputStyle,"p-ripple-disabled":!1===t.$primevue.config.ripple}]},container:function(e){var t=e.props;return["p-toast-message",{"p-toast-message-info":"info"===t.message.severity||void 0===t.message.severity,"p-toast-message-warn":"warn"===t.message.severity,"p-toast-message-error":"error"===t.message.severity,"p-toast-message-success":"success"===t.message.severity}]},content:"p-toast-message-content",icon:function(e){var t,n=e.props;return["p-toast-message-icon",(t={},$(t,n.infoIcon,"info"===n.message.severity),$(t,n.warnIcon,"warn"===n.message.severity),$(t,n.errorIcon,"error"===n.message.severity),$(t,n.successIcon,"success"===n.message.severity),t)]},text:"p-toast-message-text",summary:"p-toast-summary",detail:"p-toast-detail",closeButton:"p-toast-icon-close p-link",closeIcon:"p-toast-icon-close-icon"},G=a("\n.p-toast {\n width: 25rem;\n white-space: pre-line;\n word-break: break-word;\n}\n\n.p-toast-message-icon {\n flex-shrink: 0;\n}\n\n.p-toast-message-content {\n display: flex;\n align-items: flex-start;\n}\n\n.p-toast-message-text {\n flex: 1 1 auto;\n}\n\n.p-toast-top-center {\n transform: translateX(-50%);\n}\n\n.p-toast-bottom-center {\n transform: translateX(-50%);\n}\n\n.p-toast-center {\n min-width: 20vw;\n transform: translate(-50%, -50%);\n}\n\n.p-toast-icon-close {\n display: flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n position: relative;\n}\n\n.p-toast-icon-close.p-link {\n cursor: pointer;\n}\n\n/* Animations */\n.p-toast-message-enter-from {\n opacity: 0;\n -webkit-transform: translateY(50%);\n -ms-transform: translateY(50%);\n transform: translateY(50%);\n}\n\n.p-toast-message-leave-from {\n max-height: 1000px;\n}\n\n.p-toast .p-toast-message.p-toast-message-leave-to {\n max-height: 0;\n opacity: 0;\n margin-bottom: 0;\n overflow: hidden;\n}\n\n.p-toast-message-enter-active {\n -webkit-transition: transform 0.3s, opacity 0.3s;\n transition: transform 0.3s, opacity 0.3s;\n}\n\n.p-toast-message-leave-active {\n -webkit-transition: max-height 0.45s cubic-bezier(0, 1, 0, 1), opacity 0.3s, margin-bottom 0.3s;\n transition: max-height 0.45s cubic-bezier(0, 1, 0, 1), opacity 0.3s, margin-bottom 0.3s;\n}\n",{name:"toast",manual:!0}),R={name:"BaseToast",extends:i,props:{group:{type:String,default:null},position:{type:String,default:"top-right"},autoZIndex:{type:Boolean,default:!0},baseZIndex:{type:Number,default:0},breakpoints:{type:Object,default:null},closeIcon:{type:String,default:void 0},infoIcon:{type:String,default:void 0},warnIcon:{type:String,default:void 0},errorIcon:{type:String,default:void 0},successIcon:{type:String,default:void 0},closeButtonProps:{type:null,default:null}},css:{classes:L,inlineStyles:{root:function(e){var t=e.position;return{position:"fixed",top:"top-right"===t||"top-left"===t||"top-center"===t?"20px":"center"===t?"50%":null,right:("top-right"===t||"bottom-right"===t)&&"20px",bottom:("bottom-left"===t||"bottom-right"===t||"bottom-center"===t)&&"20px",left:"top-left"===t||"bottom-left"===t?"20px":"center"===t||"top-center"===t||"bottom-center"===t?"50%":null}}},loadStyle:G.load},provide:function(){return{$parentInstance:this}}},Z={name:"ToastMessage",hostName:"Toast",extends:i,emits:["close"],closeTimeout:null,props:{message:{type:null,default:null},templates:{type:Object,default:null},closeIcon:{type:String,default:null},infoIcon:{type:String,default:null},warnIcon:{type:String,default:null},errorIcon:{type:String,default:null},successIcon:{type:String,default:null},closeButtonProps:{type:null,default:null}},mounted:function(){var e=this;this.message.life&&(this.closeTimeout=setTimeout((function(){e.close({message:e.message,type:"life-end"})}),this.message.life))},beforeUnmount:function(){this.clearCloseTimeout()},methods:{close:function(e){this.$emit("close",e)},onCloseClick:function(){this.clearCloseTimeout(),this.close({message:this.message,type:"close"})},clearCloseTimeout:function(){this.closeTimeout&&(clearTimeout(this.closeTimeout),this.closeTimeout=null)}},computed:{iconComponent:function(){return{info:!this.infoIcon&&u,success:!this.successIcon&&c,warn:!this.warnIcon&&l,error:!this.errorIcon&&p}[this.message.severity]},closeAriaLabel:function(){return this.$primevue.config.locale.aria?this.$primevue.config.locale.aria.close:void 0}},components:{TimesIcon:m,InfoCircleIcon:u,CheckIcon:c,ExclamationTriangleIcon:l,TimesCircleIcon:p},directives:{ripple:f}};function M(e){return M="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},M(e)}function N(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function U(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?N(Object(n),!0).forEach((function(t){z(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):N(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function z(e,t,n){return(t=Y(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Y(e){var t=X(e,"string");return"symbol"===M(t)?t:String(t)}function X(e,t){if("object"!==M(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||"default");if("object"!==M(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}var _=["aria-label"];function H(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function q(e,t){if(e){if("string"==typeof e)return K(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?K(e,t):void 0}}function F(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function J(e){if(Array.isArray(e))return K(e)}function K(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n<t;n++)o[n]=e[n];return o}Z.render=function(e,t,n,o,r,s){var i=y("ripple");return g(),d("div",b({class:e.cx("container"),role:"alert","aria-live":"assertive","aria-atomic":"true"},e.ptm("container")),[v("div",b({class:[e.cx("content"),n.message.contentStyleClass]},e.ptm("content")),[n.templates.message?(g(),I(S(n.templates.message),{key:1,message:n.message},null,8,["message"])):(g(),d(h,{key:0},[(g(),I(S(n.templates.icon?n.templates.icon:s.iconComponent&&s.iconComponent.name?s.iconComponent:"span"),b({class:e.cx("icon")},e.ptm("icon")),null,16,["class"])),v("div",b({class:e.cx("text")},e.ptm("text")),[v("span",b({class:e.cx("summary")},e.ptm("summary")),w(n.message.summary),17),v("div",b({class:e.cx("detail")},e.ptm("detail")),w(n.message.detail),17)],16)],64)),!1!==n.message.closable?(g(),d("div",x(b({key:2},e.ptm("buttonContainer"))),[O((g(),d("button",b({class:e.cx("closeButton"),type:"button","aria-label":s.closeAriaLabel,onClick:t[0]||(t[0]=function(){return s.onCloseClick&&s.onCloseClick.apply(s,arguments)}),autofocus:""},U(U(U({},n.closeButtonProps),e.ptm("button")),e.ptm("closeButton"))),[(g(),I(S(n.templates.closeicon||"TimesIcon"),b({class:[e.cx("closeIcon"),n.closeIcon]},U(U({},e.ptm("buttonIcon")),e.ptm("closeIcon"))),null,16,["class"]))],16,_)),[[i]])],16)):j("",!0)],16)],16)};var Q=0,V={name:"Toast",extends:R,inheritAttrs:!1,emits:["close","life-end"],data:function(){return{messages:[]}},styleElement:null,mounted:function(){t.on("add",this.onAdd),t.on("remove-group",this.onRemoveGroup),t.on("remove-all-groups",this.onRemoveAllGroups),this.breakpoints&&this.createStyle()},beforeUnmount:function(){this.destroyStyle(),this.$refs.container&&this.autoZIndex&&n.clear(this.$refs.container),t.off("add",this.onAdd),t.off("remove-group",this.onRemoveGroup),t.off("remove-all-groups",this.onRemoveAllGroups)},methods:{add:function(e){var t;null==e.id&&(e.id=Q++),this.messages=[].concat(J(t=this.messages)||F(t)||q(t)||H(),[e])},remove:function(e){for(var t=-1,n=0;n<this.messages.length;n++)if(this.messages[n]===e.message){t=n;break}this.messages.splice(t,1),this.$emit(e.type,{message:e.message})},onAdd:function(e){this.group==e.group&&this.add(e)},onRemoveGroup:function(e){this.group===e&&(this.messages=[])},onRemoveAllGroups:function(){this.messages=[]},onEnter:function(){this.$refs.container.setAttribute(this.attributeSelector,""),this.autoZIndex&&n.set("modal",this.$refs.container,this.baseZIndex||this.$primevue.config.zIndex.modal)},onLeave:function(){var e=this;this.$refs.container&&this.autoZIndex&&o.isEmpty(this.messages)&&setTimeout((function(){n.clear(e.$refs.container)}),200)},createStyle:function(){if(!this.styleElement&&!this.isUnstyled){var e;this.styleElement=document.createElement("style"),this.styleElement.type="text/css",r.setAttribute(this.styleElement,"nonce",null===(e=this.$primevue)||void 0===e||null===(e=e.config)||void 0===e||null===(e=e.csp)||void 0===e?void 0:e.nonce),document.head.appendChild(this.styleElement);var t="";for(var n in this.breakpoints){var o="";for(var s in this.breakpoints[n])o+=s+":"+this.breakpoints[n][s]+"!important;";t+="\n @media screen and (max-width: ".concat(n,") {\n .p-toast[").concat(this.attributeSelector,"] {\n ").concat(o,"\n }\n }\n ")}this.styleElement.innerHTML=t}},destroyStyle:function(){this.styleElement&&(document.head.removeChild(this.styleElement),this.styleElement=null)}},computed:{attributeSelector:function(){return s()}},components:{ToastMessage:Z,Portal:e}};function W(e){return W="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},W(e)}function ee(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function te(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ee(Object(n),!0).forEach((function(t){ne(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ee(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function ne(e,t,n){return(t=oe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function oe(e){var t=re(e,"string");return"symbol"===W(t)?t:String(t)}function re(e,t){if("object"!==W(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||"default");if("object"!==W(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}V.render=function(e,t,n,o,r,s){var i=P("ToastMessage"),a=P("Portal");return g(),I(a,null,{default:k((function(){return[v("div",b({ref:"container",class:e.cx("root"),style:e.sx("root",!0,{position:e.position})},te(te({},e.$attrs),e.ptm("root"))),[T(E,b({name:"p-toast-message",tag:"div",onEnter:s.onEnter,onLeave:s.onLeave},te(te({},e.ptm("message")),e.ptm("transition"))),{default:k((function(){return[(g(!0),d(h,null,C(r.messages,(function(n){return g(),I(i,{key:n.id,message:n,templates:e.$slots,closeIcon:e.closeIcon,infoIcon:e.infoIcon,warnIcon:e.warnIcon,errorIcon:e.errorIcon,successIcon:e.successIcon,closeButtonProps:e.closeButtonProps,onClose:t[0]||(t[0]=function(e){return s.remove(e)}),pt:e.pt},null,8,["message","templates","closeIcon","infoIcon","warnIcon","errorIcon","successIcon","closeButtonProps","pt"])})),128))]})),_:1},16,["onEnter","onLeave"])],16)]})),_:1})};export{V as default};