primevue
Version:
[](https://opensource.org/licenses/MIT) [](https://badge.fury.io/js/primevue) [ • 13.6 kB
JavaScript
import e from"primevue/portal";import t from"primevue/toasteventbus";import{ZIndexUtils as n,ObjectUtils as o,UniqueComponentId as r}from"primevue/utils";import s from"primevue/basecomponent";import{useStyle as i}from"primevue/usestyle";import a from"primevue/icons/check";import c from"primevue/icons/exclamationtriangle";import l from"primevue/icons/infocircle";import u from"primevue/icons/times";import m from"primevue/icons/timescircle";import p from"primevue/ripple";import{resolveDirective as f,openBlock as y,createElementBlock as g,mergeProps as b,createElementVNode as d,Fragment as v,createBlock as h,resolveDynamicComponent as I,toDisplayString as S,normalizeProps as w,withDirectives as x,createCommentVNode as O,resolveComponent as j,withCtx as P,createVNode as T,TransitionGroup as E,renderList as k}from"vue";function C(e){return C="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},C(e)}function A(e,t,n){return(t=$(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function $(e){var t=B(e,"string");return"symbol"===C(t)?t:String(t)}function B(e,t){if("object"!==C(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||"default");if("object"!==C(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}var D={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={},A(t,n.infoIcon,"info"===n.message.severity),A(t,n.warnIcon,"warn"===n.message.severity),A(t,n.errorIcon,"error"===n.message.severity),A(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"},L=i("\n.p-toast {\n width: 25rem;\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}),G={name:"BaseToast",extends:s,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:D,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:L.load},provide:function(){return{$parentInstance:this}}},R={name:"ToastMessage",hostName:"Toast",extends:s,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&&l,success:!this.successIcon&&a,warn:!this.warnIcon&&c,error:!this.errorIcon&&m}[this.message.severity]},closeAriaLabel:function(){return this.$primevue.config.locale.aria?this.$primevue.config.locale.aria.close:void 0}},components:{TimesIcon:u,InfoCircleIcon:l,CheckIcon:a,ExclamationTriangleIcon:c,TimesCircleIcon:m},directives:{ripple:p}};function Z(e){return Z="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},Z(e)}function M(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 N(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?M(Object(n),!0).forEach((function(t){U(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):M(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function U(e,t,n){return(t=z(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function z(e){var t=Y(e,"string");return"symbol"===Z(t)?t:String(t)}function Y(e,t){if("object"!==Z(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||"default");if("object"!==Z(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}var X=["aria-label"];function _(){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 H(e,t){if(e){if("string"==typeof e)return J(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)?J(e,t):void 0}}function q(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function F(e){if(Array.isArray(e))return J(e)}function J(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}R.render=function(e,t,n,o,r,s){var i=f("ripple");return y(),g("div",b({class:e.cx("container"),role:"alert","aria-live":"assertive","aria-atomic":"true"},e.ptm("container")),[d("div",b({class:[e.cx("content"),n.message.contentStyleClass]},e.ptm("content")),[n.templates.message?(y(),h(I(n.templates.message),{key:1,message:n.message},null,8,["message"])):(y(),g(v,{key:0},[(y(),h(I(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"])),d("div",b({class:e.cx("text")},e.ptm("text")),[d("span",b({class:e.cx("summary")},e.ptm("summary")),S(n.message.summary),17),d("div",b({class:e.cx("detail")},e.ptm("detail")),S(n.message.detail),17)],16)],64)),!1!==n.message.closable?(y(),g("div",w(b({key:2},e.ptm("buttonContainer"))),[x((y(),g("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:""},N(N(N({},n.closeButtonProps),e.ptm("button")),e.ptm("closeButton"))),[(y(),h(I(n.templates.closeicon||"TimesIcon"),b({class:[e.cx("closeIcon"),n.closeIcon]},N(N({},e.ptm("buttonIcon")),e.ptm("closeIcon"))),null,16,["class"]))],16,X)),[[i]])],16)):O("",!0)],16)],16)};var K=0,Q={name:"Toast",extends:G,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=K++),this.messages=[].concat(F(t=this.messages)||q(t)||H(t)||_(),[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){this.styleElement=document.createElement("style"),this.styleElement.type="text/css",document.head.appendChild(this.styleElement);var e="";for(var t in this.breakpoints){var n="";for(var o in this.breakpoints[t])n+=o+":"+this.breakpoints[t][o]+"!important;";e+="\n @media screen and (max-width: ".concat(t,") {\n .p-toast[").concat(this.attributeSelector,"] {\n ").concat(n,"\n }\n }\n ")}this.styleElement.innerHTML=e}},destroyStyle:function(){this.styleElement&&(document.head.removeChild(this.styleElement),this.styleElement=null)}},computed:{attributeSelector:function(){return r()}},components:{ToastMessage:R,Portal:e}};function V(e){return V="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},V(e)}function W(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 ee(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?W(Object(n),!0).forEach((function(t){te(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):W(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function te(e,t,n){return(t=ne(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ne(e){var t=oe(e,"string");return"symbol"===V(t)?t:String(t)}function oe(e,t){if("object"!==V(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||"default");if("object"!==V(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}Q.render=function(e,t,n,o,r,s){var i=j("ToastMessage"),a=j("Portal");return y(),h(a,null,{default:P((function(){return[d("div",b({ref:"container",class:e.cx("root"),style:e.sx("root",!0,{position:e.position})},ee(ee({},e.$attrs),e.ptm("root"))),[T(E,b({name:"p-toast-message",tag:"div",onEnter:s.onEnter,onLeave:s.onLeave},e.ptm("message")),{default:P((function(){return[(y(!0),g(v,null,k(r.messages,(function(n){return y(),h(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{Q as default};