primevue
Version:
[](https://opensource.org/licenses/MIT) [](https://badge.fury.io/js/primevue) [ • 11.7 kB
JavaScript
this.primevue=this.primevue||{},this.primevue.confirmpopup=function(e,n,t,o,i,r,c,s,a){"use strict";function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var u=l(e),p=l(n),f=l(t),m=l(o),d=l(i),h=l(c),v=s.useStyle("\n.p-confirm-popup {\n position: absolute;\n margin-top: 10px;\n top: 0;\n left: 0;\n}\n\n.p-confirm-popup-flipped {\n margin-top: 0;\n margin-bottom: 10px;\n}\n\n/* Animation */\n.p-confirm-popup-enter-from {\n opacity: 0;\n transform: scaleY(0.8);\n}\n\n.p-confirm-popup-leave-to {\n opacity: 0;\n}\n\n.p-confirm-popup-enter-active {\n transition: transform 0.12s cubic-bezier(0, 0, 0.2, 1), opacity 0.12s cubic-bezier(0, 0, 0.2, 1);\n}\n\n.p-confirm-popup-leave-active {\n transition: opacity 0.1s linear;\n}\n\n.p-confirm-popup:after,\n.p-confirm-popup:before {\n bottom: 100%;\n left: calc(var(--overlayArrowLeft, 0) + 1.25rem);\n content: ' ';\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none;\n}\n\n.p-confirm-popup:after {\n border-width: 8px;\n margin-left: -8px;\n}\n\n.p-confirm-popup:before {\n border-width: 10px;\n margin-left: -10px;\n}\n\n.p-confirm-popup-flipped:after,\n.p-confirm-popup-flipped:before {\n bottom: auto;\n top: 100%;\n}\n\n.p-confirm-popup.p-confirm-popup-flipped:after {\n border-bottom-color: transparent;\n}\n\n.p-confirm-popup.p-confirm-popup-flipped:before {\n border-bottom-color: transparent;\n}\n\n.p-confirm-popup .p-confirm-popup-content {\n display: flex;\n align-items: center;\n}\n",{name:"confirmpopup",manual:!0}),b={name:"ConfirmPopup",extends:{name:"BaseConfirmPopup",extends:h.default,props:{group:String},css:{classes:{root:function(e){var n=e.instance;return["p-confirm-popup p-component",{"p-input-filled":"filled"===n.$primevue.config.inputStyle,"p-ripple-disabled":!1===n.$primevue.config.ripple}]},content:"p-confirm-popup-content",icon:function(e){var n=e.instance;return["p-confirm-popup-icon",n.confirmation?n.confirmation.icon:null]},message:"p-confirm-popup-message",footer:"p-confirm-popup-footer",rejectButton:function(e){var n=e.instance;return["p-confirm-dialog-reject",n.confirmation?n.confirmation.rejectClass||"p-button-text":null]},acceptButton:function(e){var n=e.instance;return["p-confirm-dialog-accept",n.confirmation?n.confirmation.acceptClass:null]}},loadStyle:v.load},provide:function(){return{$parentInstance:this}}},inheritAttrs:!1,data:function(){return{visible:!1,confirmation:null,autoFocusAccept:null,autoFocusReject:null}},target:null,outsideClickListener:null,scrollHandler:null,resizeListener:null,container:null,confirmListener:null,closeListener:null,mounted:function(){var e=this;this.confirmListener=function(n){n&&n.group===e.group&&(e.confirmation=n,e.target=n.target,e.confirmation.onShow&&e.confirmation.onShow(),e.visible=!0)},this.closeListener=function(){e.visible=!1,e.confirmation=null},p.default.on("confirm",this.confirmListener),p.default.on("close",this.closeListener)},beforeUnmount:function(){p.default.off("confirm",this.confirmListener),p.default.off("close",this.closeListener),this.unbindOutsideClickListener(),this.scrollHandler&&(this.scrollHandler.destroy(),this.scrollHandler=null),this.unbindResizeListener(),this.container&&(r.ZIndexUtils.clear(this.container),this.container=null),this.target=null,this.confirmation=null},methods:{accept:function(){this.confirmation.accept&&this.confirmation.accept(),this.visible=!1},reject:function(){this.confirmation.reject&&this.confirmation.reject(),this.visible=!1},onHide:function(){this.confirmation.onHide&&this.confirmation.onHide(),this.visible=!1},onAcceptKeydown:function(e){"Space"!==e.code&&"Enter"!==e.code||(this.accept(),r.DomHandler.focus(this.target),e.preventDefault())},onRejectKeydown:function(e){"Space"!==e.code&&"Enter"!==e.code||(this.reject(),r.DomHandler.focus(this.target),e.preventDefault())},onEnter:function(e){this.autoFocusAccept=void 0===this.confirmation.defaultFocus||"accept"===this.confirmation.defaultFocus,this.autoFocusReject="reject"===this.confirmation.defaultFocus,this.bindOutsideClickListener(),this.bindScrollListener(),this.bindResizeListener(),r.ZIndexUtils.set("overlay",e,this.$primevue.config.zIndex.overlay)},onAfterEnter:function(){this.focus()},onLeave:function(){this.autoFocusAccept=null,this.autoFocusReject=null,this.unbindOutsideClickListener(),this.unbindScrollListener(),this.unbindResizeListener()},onAfterLeave:function(e){r.ZIndexUtils.clear(e)},alignOverlay:function(){r.DomHandler.absolutePosition(this.container,this.target);var e=r.DomHandler.getOffset(this.container),n=r.DomHandler.getOffset(this.target),t=0;e.left<n.left&&(t=n.left-e.left),this.container.style.setProperty("--overlayArrowLeft","".concat(t,"px")),e.top<n.top&&(this.container.setAttribute("data-p-confirm-popup-flipped","true"),!this.isUnstyled&&r.DomHandler.addClass(this.container,"p-confirm-popup-flipped"))},bindOutsideClickListener:function(){var e=this;this.outsideClickListener||(this.outsideClickListener=function(n){e.visible&&e.container&&!e.container.contains(n.target)&&!e.isTargetClicked(n)?(e.confirmation.onHide&&e.confirmation.onHide(),e.visible=!1):e.alignOverlay()},document.addEventListener("click",this.outsideClickListener))},unbindOutsideClickListener:function(){this.outsideClickListener&&(document.removeEventListener("click",this.outsideClickListener),this.outsideClickListener=null)},bindScrollListener:function(){var e=this;this.scrollHandler||(this.scrollHandler=new r.ConnectedOverlayScrollHandler(this.target,(function(){e.visible&&(e.visible=!1)}))),this.scrollHandler.bindScrollListener()},unbindScrollListener:function(){this.scrollHandler&&this.scrollHandler.unbindScrollListener()},bindResizeListener:function(){var e=this;this.resizeListener||(this.resizeListener=function(){e.visible&&!r.DomHandler.isTouchDevice()&&(e.visible=!1)},window.addEventListener("resize",this.resizeListener))},unbindResizeListener:function(){this.resizeListener&&(window.removeEventListener("resize",this.resizeListener),this.resizeListener=null)},focus:function(){var e=this.container.querySelector("[autofocus]");e&&e.focus({preventScroll:!0})},isTargetClicked:function(e){return this.target&&(this.target===e.target||this.target.contains(e.target))},containerRef:function(e){this.container=e},onOverlayClick:function(e){m.default.emit("overlay-click",{originalEvent:e,target:this.target})},onOverlayKeydown:function(e){"Escape"===e.code&&(p.default.emit("close",this.closeListener),r.DomHandler.focus(this.target))},getCXOptions:function(e,n){return{contenxt:{icon:e,iconClass:n.class}}}},computed:{message:function(){return this.confirmation?this.confirmation.message:null},acceptLabel:function(){return this.confirmation?this.confirmation.acceptLabel||this.$primevue.config.locale.accept:null},rejectLabel:function(){return this.confirmation?this.confirmation.rejectLabel||this.$primevue.config.locale.reject:null},acceptIcon:function(){return this.confirmation?this.confirmation.acceptIcon:null},rejectIcon:function(){return this.confirmation?this.confirmation.rejectIcon:null}},components:{CPButton:u.default,Portal:d.default},directives:{focustrap:f.default}};function y(e){return y="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},y(e)}function g(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);n&&(o=o.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,o)}return t}function L(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?g(Object(t),!0).forEach((function(n){j(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):g(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function j(e,n,t){return(n=k(n))in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function k(e){var n=C(e,"string");return"symbol"===y(n)?n:String(n)}function C(e,n){if("object"!==y(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var o=t.call(e,n||"default");if("object"!==y(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}var w=["aria-modal"];return b.render=function(e,n,t,o,i,r){var c=a.resolveComponent("CPButton"),s=a.resolveComponent("Portal"),l=a.resolveDirective("focustrap");return a.openBlock(),a.createBlock(s,null,{default:a.withCtx((function(){return[a.createVNode(a.Transition,{name:"p-confirm-popup",onEnter:r.onEnter,onAfterEnter:r.onAfterEnter,onLeave:r.onLeave,onAfterLeave:r.onAfterLeave},{default:a.withCtx((function(){return[i.visible?a.withDirectives((a.openBlock(),a.createElementBlock("div",a.mergeProps({key:0,ref:r.containerRef,role:"alertdialog",class:e.cx("root"),"aria-modal":i.visible,onClick:n[2]||(n[2]=function(){return r.onOverlayClick&&r.onOverlayClick.apply(r,arguments)}),onKeydown:n[3]||(n[3]=function(){return r.onOverlayKeydown&&r.onOverlayKeydown.apply(r,arguments)})},L(L({},e.$attrs),e.ptm("root"))),[e.$slots.message?(a.openBlock(),a.createBlock(a.resolveDynamicComponent(e.$slots.message),{key:1,message:i.confirmation},null,8,["message"])):(a.openBlock(),a.createElementBlock("div",a.mergeProps({key:0,class:e.cx("content")},e.ptm("content")),[a.renderSlot(e.$slots,"icon",{},(function(){return[e.$slots.icon?(a.openBlock(),a.createBlock(a.resolveDynamicComponent(e.$slots.icon),{key:0,class:a.normalizeClass(e.cx("icon"))},null,8,["class"])):i.confirmation.icon?(a.openBlock(),a.createElementBlock("span",a.mergeProps({key:1,class:e.cx("icon")},e.ptm("icon")),null,16)):a.createCommentVNode("",!0)]})),a.createElementVNode("span",a.mergeProps({class:e.cx("message")},e.ptm("message")),a.toDisplayString(i.confirmation.message),17)],16)),a.createElementVNode("div",a.mergeProps({class:e.cx("footer")},e.ptm("footer")),[a.createVNode(c,{label:r.rejectLabel,onClick:n[0]||(n[0]=function(e){return r.reject()}),onKeydown:r.onRejectKeydown,autofocus:i.autoFocusReject,class:a.normalizeClass(e.cx("rejectButton")),unstyled:e.unstyled,pt:e.ptm("rejectButton"),"data-pc-name":"rejectbutton"},a.createSlots({_:2},[r.rejectIcon||e.$slots.rejecticon?{name:"icon",fn:a.withCtx((function(n){return[a.renderSlot(e.$slots,"rejecticon",{},(function(){return[a.createElementVNode("span",a.mergeProps({class:[r.rejectIcon,n.class]},e.ptm("rejectButton").icon,{"data-pc-name":"rejectbuttonicon"}),null,16)]}))]})),key:"0"}:void 0]),1032,["label","onKeydown","autofocus","class","unstyled","pt"]),a.createVNode(c,{label:r.acceptLabel,onClick:n[1]||(n[1]=function(e){return r.accept()}),onKeydown:r.onAcceptKeydown,autofocus:i.autoFocusAccept,class:a.normalizeClass(e.cx("acceptButton")),unstyled:e.unstyled,pt:e.ptm("acceptButton"),"data-pc-name":"acceptbutton"},a.createSlots({_:2},[r.acceptIcon||e.$slots.accepticon?{name:"icon",fn:a.withCtx((function(n){return[a.renderSlot(e.$slots,"accepticon",{},(function(){return[a.createElementVNode("span",a.mergeProps({class:[r.acceptIcon,n.class]},e.ptm("acceptButton").icon,{"data-pc-name":"acceptbuttonicon"}),null,16)]}))]})),key:"0"}:void 0]),1032,["label","onKeydown","autofocus","class","unstyled","pt"])],16)],16,w)),[[l]]):a.createCommentVNode("",!0)]})),_:3},8,["onEnter","onAfterEnter","onLeave","onAfterLeave"])]})),_:3})},b}(primevue.button,primevue.confirmationeventbus,primevue.focustrap,primevue.overlayeventbus,primevue.portal,primevue.utils,primevue.basecomponent,primevue.usestyle,Vue);