diff --git a/.babelrc b/.babelrc index 8aa924d7..aa95a286 100644 --- a/.babelrc +++ b/.babelrc @@ -1,3 +1,10 @@ { - "presets": ["@babel/preset-env"] -} \ No newline at end of file + "presets": [ + [ + "@babel/preset-env", + { + "exclude": ["@babel/plugin-transform-regenerator"] + } + ] + ] +} diff --git a/.browserslistrc b/.browserslistrc deleted file mode 100644 index 214388fe..00000000 --- a/.browserslistrc +++ /dev/null @@ -1,3 +0,0 @@ -> 1% -last 2 versions -not dead diff --git a/.eslintignore b/.eslintignore index fab4781d..c7392091 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,3 +1,11 @@ +# default dist types/**/*.d.ts -docs \ No newline at end of file + +# docs +docs/.nuxt +docs/docs +docs/static + +# example +example/dist diff --git a/.eslintrc.js b/.eslintrc.js index c823c40a..4875f7e1 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,30 +1,16 @@ module.exports = { root: true, env: { - node: true + node: true, + jest: true, + es2020: true }, - extends: [ - 'plugin:vue/vue3-essential', - 'plugin:vue/vue3-strongly-recommended', - 'plugin:vue/vue3-recommended', - '@vue/prettier' - ], parserOptions: { - parser: 'babel-eslint' + parser: 'babel-eslint', + sourceType: 'module' }, rules: { 'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off', 'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off' - }, - overrides: [ - { - files: [ - '**/__tests__/*.{j,t}s?(x)', - '**/tests/unit/**/*.spec.{j,t}s?(x)' - ], - env: { - jest: true - } - } - ] + } } diff --git a/.prettierrc.yaml b/.prettierrc.yaml index 67495339..cabf4ba4 100644 --- a/.prettierrc.yaml +++ b/.prettierrc.yaml @@ -3,6 +3,6 @@ printWidth: 120 tabWidth: 2 semi: false singleQuote: true -# trailingComma: 'es5' +trailingComma: 'none' # bracketSpacing: true arrowParens: 'avoid' \ No newline at end of file diff --git a/dist/VueFinalModal.esm.js b/dist/VueFinalModal.esm.js index 83ce99a2..d59d4abd 100644 --- a/dist/VueFinalModal.esm.js +++ b/dist/VueFinalModal.esm.js @@ -1,2 +1,2 @@ -import{ref as e,inject as n,reactive as t,computed as o,watch as r,onMounted as a,onBeforeUnmount as i,nextTick as l,withScopeId as u,withDirectives as s,openBlock as c,createBlock as d,withKeys as f,createVNode as v,Transition as p,mergeProps as m,createCommentVNode as y,withModifiers as b,renderSlot as h,vShow as g,Fragment as E,renderList as w,resolveDynamicComponent as O,toHandlers as S,createSlots as k,withCtx as T,shallowReactive as C}from"vue";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})(e)}function A(e,n){for(var t=0;te.length)&&(n=e.length);for(var t=0,o=new Array(n);t1),R=[],U=!1,$=0,F=-1,Y=function(e,n){var t=!1;return function(e){for(var n=[];e;){if(n.push(e),e.classList.contains("vfm"))return n;e=e.parentElement}return n}(e).forEach((function(e){(function(e){if(!e||e.nodeType!==Node.ELEMENT_NODE)return!1;var n=window.getComputedStyle(e);return["auto","scroll"].includes(n.overflowY)&&e.scrollHeight>e.clientHeight})(e)&&function(e,n){return!(0===e.scrollTop&&n<0||e.scrollTop+e.clientHeight+n>=e.scrollHeight&&n>0)}(e,n)&&(t=!0)})),t},q=function(e){return R.some((function(){return Y(e,-$)}))},G=function(e){var n=e||window.event;return!!q(n.target)||(n.touches.length>1||(n.preventDefault&&n.preventDefault(),!1))},W=function(e,n){if(e){if(!R.some((function(n){return n.targetElement===e}))){var t={targetElement:e,options:n||{}};R=[].concat(L(R),[t]),K?(e.ontouchstart=function(e){1===e.targetTouches.length&&(F=e.targetTouches[0].clientY)},e.ontouchmove=function(n){1===n.targetTouches.length&&function(e,n){$=e.targetTouches[0].clientY-F,!q(e.target)&&(n&&0===n.scrollTop&&$>0||function(e){return!!e&&e.scrollHeight-e.scrollTop<=e.clientHeight}(n)&&$<0?G(e):e.stopPropagation())}(n,e)},U||(document.addEventListener("touchmove",G,_?{passive:!1}:void 0),U=!0)):function(e){if(void 0===H){var n=!!e&&!0===e.reserveScrollBarGap,t=window.innerWidth-document.documentElement.clientWidth;if(n&&t>0){var o=parseInt(getComputedStyle(document.body).getPropertyValue("padding-right"),10);H=document.body.style.paddingRight,document.body.style.paddingRight="".concat(o+t,"px")}}void 0===z&&(z=document.body.style.overflow,document.body.style.overflow="hidden")}(n)}}else console.error("disableBodyScroll unsuccessful - targetElement must be provided when calling disableBodyScroll on IOS devices.")},Z=function(e){e?(R=R.filter((function(n){return n.targetElement!==e})),K?(e.ontouchstart=null,e.ontouchmove=null,U&&0===R.length&&(document.removeEventListener("touchmove",G,_?{passive:!1}:void 0),U=!1)):R.length||(void 0!==H&&(document.body.style.paddingRight=H,H=void 0),void 0!==z&&(document.body.style.overflow=z,z=void 0))):console.error("enableBodyScroll unsuccessful - targetElement must be provided when calling enableBodyScroll on IOS devices.")},J="enter",Q="entering",X="leave",ee="leavng",ne={props:{name:{type:String,default:null},modelValue:{type:Boolean,default:!1},ssr:{type:Boolean,default:!0},classes:{type:[String,Object,Array],default:""},overlayClass:{type:[String,Object,Array],default:""},contentClass:{type:[String,Object,Array],default:""},styles:{type:[String,Object,Array],default:""},overlayStyle:{type:[String,Object,Array],default:""},contentStyle:{type:[String,Object,Array],default:""},lockScroll:{type:Boolean,default:!0},hideOverlay:{type:Boolean,default:!1},clickToClose:{type:Boolean,default:!0},escToClose:{type:Boolean,default:!1},preventClick:{type:Boolean,default:!1},attach:{type:null,default:!1,validator:function(e){var n=M(e);return"boolean"===n||"string"===n||e.nodeType===Node.ELEMENT_NODE}},transition:{type:[String,Object],default:"vfm"},overlayTransition:{type:[String,Object],default:"vfm"},zIndexAuto:{type:Boolean,default:!0},zIndexBase:{type:[String,Number],default:1e3},zIndex:{type:[Boolean,String,Number],default:!1},focusRetain:{type:Boolean,default:!0},focusTrap:{type:Boolean,default:!1}},emits:["update:modelValue","click-outside","before-open","opened","before-close","closed"],setup:function(u,s){var c=s.emit,d=Symbol("vfm"),f=e(null),v=e(null),p=e(null),m=e(null),y=n(u.options.key),b=e(null),h=new N,g=e(!1),E=t({modal:!1,overlay:!1}),w=e(null),O=e(null),S=e(!1),k=e({}),T=o((function(){return"string"==typeof u.overlayTransition?{name:u.overlayTransition}:B({},u.overlayTransition)})),C=o((function(){return"string"==typeof u.transition?{name:u.transition}:B({},u.transition)})),M=o((function(){return(u.hideOverlay||w.value===X)&&O.value===X})),A=o((function(){return!1===u.zIndex?!!u.zIndexAuto&&+u.zIndexBase+2*(b.value||0):u.zIndex})),j=o((function(){return B({},!1!==A.value&&{zIndex:A.value})}));function x(){return{uid:d,props:u,emit:c,vfmContainer:v,vfmOverlayTransition:p,vfmTransition:m,getAttachElement:P,modalStackIndex:b,visibility:E,handleLockScroll:V,$focusTrap:h,toggle:z,params:k}}function L(){if(u.modelValue){if(D("before-open",!1))return;var e=P();if(e||!1===u.attach){!1!==u.attach&&e.appendChild(f.value);var n=y.openedModals.findIndex((function(e){return e.uid===d}));-1!==n&&y.openedModals.splice(n,1),y.openedModals.push(x()),b.value=y.openedModals.length-1,V(),y.openedModals.filter((function(e){return e.uid!==d})).forEach((function(n,t){n.getAttachElement()===e&&(n.modalStackIndex.value=t,n.visibility.overlay=!1)})),g.value=!0,l((function(){E.overlay=!0,E.modal=!0}))}else!1!==e&&console.warn("Unable to locate target ".concat(u.attach))}}function I(){var e=y.openedModals.findIndex((function(e){return e.uid===d}));if(-1!==e&&y.openedModals.splice(e,1),y.openedModals.length>0){var n=y.openedModals[y.openedModals.length-1];n.props.focusTrap&&n.$focusTrap.firstElement().focus(),(n.props.focusRetain||n.props.focusTrap)&&n.vfmContainer.value.focus(),!n.props.hideOverlay&&(n.visibility.overlay=!0)}E.overlay=!1,E.modal=!1}function V(){u.modelValue&&l((function(){u.lockScroll?W(v.value,{reserveScrollBarGap:!0}):Z(v.value)}))}function P(){return!1!==u.attach&&("string"==typeof u.attach?!!window&&window.document.querySelector(u.attach):u.attach)}function _(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return B({ref:x()},e)}function D(e,n){var t=!1,o=_({type:e,stop:function(){t=!0}});return c(e,o),!!t&&(S.value=!0,l((function(){c("update:modelValue",n)})),!0)}function z(e,n){var t="boolean"==typeof e?e:!u.modelValue;t&&2===arguments.length&&(k.value=n),c("update:modelValue",t)}return r((function(){return u.modelValue}),(function(e){if(S.value)S.value=!1;else if(L(),!e){if(D("before-close",!0))return;I()}})),r((function(){return u.lockScroll}),V),r((function(){return u.hideOverlay}),(function(e){u.modelValue&&!e&&(E.overlay=!0)})),r((function(){return u.attach}),L),r(M,(function(e){e&&(g.value=!1,v.value.style.display="none")}),{flush:"post"}),y.modals.push(x()),a((function(){L()})),i((function(){var e;I(),u.lockScroll&&v.value&&Z(v.value),null==f||null===(e=f.value)||void 0===e||e.remove();var n=y.modals.findIndex((function(e){return e.uid===d}));y.modals.splice(n,1)})),{root:f,vfmContainer:v,vfmOverlayTransition:p,vfmTransition:m,computedOverlayTransition:T,computedTransition:C,visible:g,visibility:E,params:k,calculateZIndex:A,bindStyle:j,beforeOverlayEnter:function(){w.value=Q},afterOverlayEnter:function(){w.value=J},beforeOverlayLeave:function(){w.value=ee},afterOverlayLeave:function(){w.value=X},beforeModalEnter:function(){O.value=Q},afterModalEnter:function(){O.value=J,(u.focusRetain||u.focusTrap)&&v.value.focus(),u.focusTrap&&h.enable(v.value),c("opened",_({type:"opened"}))},beforeModalLeave:function(){O.value=ee,h.enabled()&&h.disable()},afterModalLeave:function(){O.value=X,b.value=null,u.lockScroll&&Z(v.value);var e=!1,n=_({type:"closed",stop:function(){e=!0}});c("closed",n),e||(k.value={})},onClickContainer:function(){c("click-outside",_({type:"click-outside"})),u.clickToClose&&c("update:modelValue",!1)},onEsc:function(){g.value&&u.escToClose&&c("update:modelValue",!1)}}}},te=u("data-v-2836fdb5"),oe=te((function(e,n,t,o,r,a){return t.ssr||o.visible?s((c(),d("div",{key:0,ref:"root",style:o.bindStyle,class:["vfm vfm--inset",[!1===t.attach?"vfm--fixed":"vfm--absolute",{"vfm--prevent-none":t.preventClick}]],onKeydown:n[2]||(n[2]=f((function(){return o.onEsc&&o.onEsc.apply(o,arguments)}),["esc"]))},[v(p,m(o.computedOverlayTransition,{onBeforeEnter:o.beforeOverlayEnter,onAfterEnter:o.afterOverlayEnter,onBeforeLeave:o.beforeOverlayLeave,onAfterLeave:o.afterOverlayLeave}),{default:te((function(){return[!t.hideOverlay&&o.visibility.overlay?(c(),d("div",{key:0,class:["vfm__overlay vfm--overlay vfm--absolute vfm--inset",t.overlayClass],style:t.overlayStyle},null,6)):y("v-if",!0)]})),_:1},16,["onBeforeEnter","onAfterEnter","onBeforeLeave","onAfterLeave"]),v(p,m(o.computedTransition,{onBeforeEnter:o.beforeModalEnter,onAfterEnter:o.afterModalEnter,onBeforeLeave:o.beforeModalLeave,onAfterLeave:o.afterModalLeave}),{default:te((function(){return[s(v("div",{ref:"vfmContainer",class:["vfm__container vfm--absolute vfm--inset vfm--outline-none",t.classes],style:t.styles,"aria-expanded":o.visibility.modal.toString(),role:"dialog","aria-modal":"true",tabindex:"-1",onClick:n[1]||(n[1]=b((function(){return o.onClickContainer&&o.onClickContainer.apply(o,arguments)}),["self"]))},[v("div",{class:["vfm__content",[t.contentClass,{"vfm--prevent-auto":t.preventClick}]],style:t.contentStyle},[h(e.$slots,"default",{params:o.params})],6)],14,["aria-expanded"]),[[g,o.visibility.modal]])]})),_:3},16,["onBeforeEnter","onAfterEnter","onBeforeLeave","onAfterLeave"])],38)),[[g,!t.ssr||o.visible]]):y("v-if",!0)}));!function(e,n){void 0===n&&(n={});var t=n.insertAt;if(e&&"undefined"!=typeof document){var o=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css","top"===t&&o.firstChild?o.insertBefore(r,o.firstChild):o.appendChild(r),r.styleSheet?r.styleSheet.cssText=e:r.appendChild(document.createTextNode(e))}}("\n.vfm--fixed[data-v-2836fdb5] {\n position: fixed;\n}\n.vfm--absolute[data-v-2836fdb5] {\n position: absolute;\n}\n.vfm--inset[data-v-2836fdb5] {\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n}\n.vfm--overlay[data-v-2836fdb5] {\n background-color: rgba(0, 0, 0, 0.5);\n}\n.vfm--prevent-none[data-v-2836fdb5] {\n pointer-events: none;\n}\n.vfm--prevent-auto[data-v-2836fdb5] {\n pointer-events: auto;\n}\n.vfm--outline-none[data-v-2836fdb5]:focus {\n outline: none;\n}\n.vfm-enter-active[data-v-2836fdb5],\n.vfm-leave-active[data-v-2836fdb5] {\n transition: opacity 0.2s;\n}\n.vfm-enter-from[data-v-2836fdb5],\n.vfm-leave-to[data-v-2836fdb5] {\n opacity: 0;\n}\n"),ne.render=oe,ne.__scopeId="data-v-2836fdb5",ne.__file="lib/VueFinalModal.vue";var re={props:{},computed:{api:function(){return this[this.options.key]}},methods:{slice:function(e){this.api.dynamicModals.splice(e,1)},beforeOpen:function(e,n){e.ref.params.value=n.params},isString:function(e){return"string"==typeof e}}},ae={class:"modals-container"};function ie(e,n){var t=B({},e);return Object.assign(t.props,{options:{type:Object,default:function(){return n}}}),t}function le(e,n){var t=function(e){return function(){return{show:function(n){for(var t=arguments.length,o=new Array(t>1?t-1:0),r=1;r=0;e--)this.openedModals[e].emit("update:modelValue",!1)},toggle:function(e){for(var n=arguments.length,t=new Array(n>1?n-1:0),o=1;oe.length)&&(n=e.length);for(var t=0,o=new Array(n);t1),R=[],U=!1,$=0,F=-1,Y=function(e,n){var t=!1;return function(e){for(var n=[];e;){if(n.push(e),e.classList.contains("vfm"))return n;e=e.parentElement}return n}(e).forEach((function(e){(function(e){if(!e||e.nodeType!==Node.ELEMENT_NODE)return!1;var n=window.getComputedStyle(e);return["auto","scroll"].includes(n.overflowY)&&e.scrollHeight>e.clientHeight})(e)&&function(e,n){return!(0===e.scrollTop&&n<0||e.scrollTop+e.clientHeight+n>=e.scrollHeight&&n>0)}(e,n)&&(t=!0)})),t},q=function(e){return R.some((function(){return Y(e,-$)}))},G=function(e){var n=e||window.event;return!!q(n.target)||(n.touches.length>1||(n.preventDefault&&n.preventDefault(),!1))},W=function(e,n){if(e){if(!R.some((function(n){return n.targetElement===e}))){var t={targetElement:e,options:n||{}};R=[].concat(L(R),[t]),K?(e.ontouchstart=function(e){1===e.targetTouches.length&&(F=e.targetTouches[0].clientY)},e.ontouchmove=function(n){1===n.targetTouches.length&&function(e,n){$=e.targetTouches[0].clientY-F,!q(e.target)&&(n&&0===n.scrollTop&&$>0||function(e){return!!e&&e.scrollHeight-e.scrollTop<=e.clientHeight}(n)&&$<0?G(e):e.stopPropagation())}(n,e)},U||(document.addEventListener("touchmove",G,_?{passive:!1}:void 0),U=!0)):function(e){if(void 0===H){var n=!!e&&!0===e.reserveScrollBarGap,t=window.innerWidth-document.documentElement.clientWidth;if(n&&t>0){var o=parseInt(getComputedStyle(document.body).getPropertyValue("padding-right"),10);H=document.body.style.paddingRight,document.body.style.paddingRight="".concat(o+t,"px")}}void 0===z&&(z=document.body.style.overflow,document.body.style.overflow="hidden")}(n)}}else console.error("disableBodyScroll unsuccessful - targetElement must be provided when calling disableBodyScroll on IOS devices.")},Z=function(e){e?(R=R.filter((function(n){return n.targetElement!==e})),K?(e.ontouchstart=null,e.ontouchmove=null,U&&0===R.length&&(document.removeEventListener("touchmove",G,_?{passive:!1}:void 0),U=!1)):R.length||(void 0!==H&&(document.body.style.paddingRight=H,H=void 0),void 0!==z&&(document.body.style.overflow=z,z=void 0))):console.error("enableBodyScroll unsuccessful - targetElement must be provided when calling enableBodyScroll on IOS devices.")},J="enter",Q="entering",X="leave",ee="leavng",ne={props:{name:{type:String,default:null},modelValue:{type:Boolean,default:!1},ssr:{type:Boolean,default:!0},classes:{type:[String,Object,Array],default:""},overlayClass:{type:[String,Object,Array],default:""},contentClass:{type:[String,Object,Array],default:""},styles:{type:[String,Object,Array],default:""},overlayStyle:{type:[String,Object,Array],default:""},contentStyle:{type:[String,Object,Array],default:""},lockScroll:{type:Boolean,default:!0},hideOverlay:{type:Boolean,default:!1},clickToClose:{type:Boolean,default:!0},escToClose:{type:Boolean,default:!1},preventClick:{type:Boolean,default:!1},attach:{type:null,default:!1,validator:function(e){var n=M(e);return"boolean"===n||"string"===n||e.nodeType===Node.ELEMENT_NODE}},transition:{type:[String,Object],default:"vfm"},overlayTransition:{type:[String,Object],default:"vfm"},zIndexAuto:{type:Boolean,default:!0},zIndexBase:{type:[String,Number],default:1e3},zIndex:{type:[Boolean,String,Number],default:!1},focusRetain:{type:Boolean,default:!0},focusTrap:{type:Boolean,default:!1}},emits:["update:modelValue","click-outside","before-open","opened","before-close","closed"],setup:function(u,s){var c=s.emit,d=Symbol("vfm"),f=e(null),v=e(null),p=e(null),m=e(null),y=n(u.options.key),b=e(null),h=new N,g=e(!1),E=t({modal:!1,overlay:!1}),w=e(null),O=e(null),S=e(!1),k=e({}),T=o((function(){return"string"==typeof u.overlayTransition?{name:u.overlayTransition}:B({},u.overlayTransition)})),C=o((function(){return"string"==typeof u.transition?{name:u.transition}:B({},u.transition)})),M=o((function(){return(u.hideOverlay||w.value===X)&&O.value===X})),A=o((function(){return!1===u.zIndex?!!u.zIndexAuto&&+u.zIndexBase+2*(b.value||0):u.zIndex})),j=o((function(){return B({},!1!==A.value&&{zIndex:A.value})}));function x(){return{uid:d,props:u,emit:c,vfmContainer:v,vfmOverlayTransition:p,vfmTransition:m,getAttachElement:P,modalStackIndex:b,visibility:E,handleLockScroll:V,$focusTrap:h,toggle:z,params:k}}function L(){if(u.modelValue){if(D("before-open",!1))return;var e=P();if(e||!1===u.attach){!1!==u.attach&&e.appendChild(f.value);var n=y.openedModals.findIndex((function(e){return e.uid===d}));-1!==n&&y.openedModals.splice(n,1),y.openedModals.push(x()),b.value=y.openedModals.length-1,V(),y.openedModals.filter((function(e){return e.uid!==d})).forEach((function(n,t){n.getAttachElement()===e&&(n.modalStackIndex.value=t,n.visibility.overlay=!1)})),g.value=!0,l((function(){E.overlay=!0,E.modal=!0}))}else!1!==e&&console.warn("Unable to locate target ".concat(u.attach))}}function I(){var e=y.openedModals.findIndex((function(e){return e.uid===d}));if(-1!==e&&y.openedModals.splice(e,1),y.openedModals.length>0){var n=y.openedModals[y.openedModals.length-1];n.props.focusTrap&&n.$focusTrap.firstElement().focus(),(n.props.focusRetain||n.props.focusTrap)&&n.vfmContainer.value.focus(),!n.props.hideOverlay&&(n.visibility.overlay=!0)}E.overlay=!1,E.modal=!1}function V(){u.modelValue&&l((function(){u.lockScroll?W(v.value,{reserveScrollBarGap:!0}):Z(v.value)}))}function P(){return!1!==u.attach&&("string"==typeof u.attach?!!window&&window.document.querySelector(u.attach):u.attach)}function _(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return B({ref:x()},e)}function D(e,n){var t=!1,o=_({type:e,stop:function(){t=!0}});return c(e,o),!!t&&(S.value=!0,l((function(){c("update:modelValue",n)})),!0)}function z(e,n){var t="boolean"==typeof e?e:!u.modelValue;t&&2===arguments.length&&(k.value=n),c("update:modelValue",t)}return r((function(){return u.modelValue}),(function(e){if(S.value)S.value=!1;else if(L(),!e){if(D("before-close",!0))return;I()}})),r((function(){return u.lockScroll}),V),r((function(){return u.hideOverlay}),(function(e){u.modelValue&&!e&&(E.overlay=!0)})),r((function(){return u.attach}),L),r(M,(function(e){e&&(g.value=!1,v.value.style.display="none")}),{flush:"post"}),y.modals.push(x()),a((function(){L()})),i((function(){var e;I(),u.lockScroll&&v.value&&Z(v.value),null==f||null===(e=f.value)||void 0===e||e.remove();var n=y.modals.findIndex((function(e){return e.uid===d}));y.modals.splice(n,1)})),{root:f,vfmContainer:v,vfmOverlayTransition:p,vfmTransition:m,computedOverlayTransition:T,computedTransition:C,visible:g,visibility:E,params:k,calculateZIndex:A,bindStyle:j,beforeOverlayEnter:function(){w.value=Q},afterOverlayEnter:function(){w.value=J},beforeOverlayLeave:function(){w.value=ee},afterOverlayLeave:function(){w.value=X},beforeModalEnter:function(){O.value=Q},afterModalEnter:function(){O.value=J,(u.focusRetain||u.focusTrap)&&v.value.focus(),u.focusTrap&&h.enable(v.value),c("opened",_({type:"opened"}))},beforeModalLeave:function(){O.value=ee,h.enabled()&&h.disable()},afterModalLeave:function(){O.value=X,b.value=null,u.lockScroll&&Z(v.value);var e=!1,n=_({type:"closed",stop:function(){e=!0}});c("closed",n),e||(k.value={})},onClickContainer:function(){c("click-outside",_({type:"click-outside"})),u.clickToClose&&c("update:modelValue",!1)},onEsc:function(){g.value&&u.escToClose&&c("update:modelValue",!1)}}}},te=u("data-v-2836fdb5"),oe=te((function(e,n,t,o,r,a){return t.ssr||o.visible?s((c(),d("div",{key:0,ref:"root",style:o.bindStyle,class:["vfm vfm--inset",[!1===t.attach?"vfm--fixed":"vfm--absolute",{"vfm--prevent-none":t.preventClick}]],onKeydown:n[2]||(n[2]=f((function(){return o.onEsc&&o.onEsc.apply(o,arguments)}),["esc"]))},[v(p,m(o.computedOverlayTransition,{onBeforeEnter:o.beforeOverlayEnter,onAfterEnter:o.afterOverlayEnter,onBeforeLeave:o.beforeOverlayLeave,onAfterLeave:o.afterOverlayLeave}),{default:te((function(){return[!t.hideOverlay&&o.visibility.overlay?(c(),d("div",{key:0,class:["vfm__overlay vfm--overlay vfm--absolute vfm--inset",t.overlayClass],style:t.overlayStyle},null,6)):y("v-if",!0)]})),_:1},16,["onBeforeEnter","onAfterEnter","onBeforeLeave","onAfterLeave"]),v(p,m(o.computedTransition,{onBeforeEnter:o.beforeModalEnter,onAfterEnter:o.afterModalEnter,onBeforeLeave:o.beforeModalLeave,onAfterLeave:o.afterModalLeave}),{default:te((function(){return[s(v("div",{ref:"vfmContainer",class:["vfm__container vfm--absolute vfm--inset vfm--outline-none",t.classes],style:t.styles,"aria-expanded":o.visibility.modal.toString(),role:"dialog","aria-modal":"true",tabindex:"-1",onClick:n[1]||(n[1]=b((function(){return o.onClickContainer&&o.onClickContainer.apply(o,arguments)}),["self"]))},[v("div",{class:["vfm__content",[t.contentClass,{"vfm--prevent-auto":t.preventClick}]],style:t.contentStyle},[h(e.$slots,"default",{params:o.params})],6)],14,["aria-expanded"]),[[g,o.visibility.modal]])]})),_:3},16,["onBeforeEnter","onAfterEnter","onBeforeLeave","onAfterLeave"])],38)),[[g,!t.ssr||o.visible]]):y("v-if",!0)}));!function(e,n){void 0===n&&(n={});var t=n.insertAt;if(e&&"undefined"!=typeof document){var o=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css","top"===t&&o.firstChild?o.insertBefore(r,o.firstChild):o.appendChild(r),r.styleSheet?r.styleSheet.cssText=e:r.appendChild(document.createTextNode(e))}}("\n.vfm--fixed[data-v-2836fdb5] {\n position: fixed;\n}\n.vfm--absolute[data-v-2836fdb5] {\n position: absolute;\n}\n.vfm--inset[data-v-2836fdb5] {\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n}\n.vfm--overlay[data-v-2836fdb5] {\n background-color: rgba(0, 0, 0, 0.5);\n}\n.vfm--prevent-none[data-v-2836fdb5] {\n pointer-events: none;\n}\n.vfm--prevent-auto[data-v-2836fdb5] {\n pointer-events: auto;\n}\n.vfm--outline-none[data-v-2836fdb5]:focus {\n outline: none;\n}\n.vfm-enter-active[data-v-2836fdb5],\n.vfm-leave-active[data-v-2836fdb5] {\n transition: opacity 0.2s;\n}\n.vfm-enter-from[data-v-2836fdb5],\n.vfm-leave-to[data-v-2836fdb5] {\n opacity: 0;\n}\n"),ne.render=oe,ne.__scopeId="data-v-2836fdb5",ne.__file="lib/VueFinalModal.vue";var re={props:{},computed:{api:function(){return this[this.options.key]}},methods:{slice:function(e){this.api.dynamicModals.splice(e,1)},beforeOpen:function(e,n){e.ref.params.value=n.params},isString:function(e){return"string"==typeof e}}},ae={class:"modals-container"};function ie(e,n){var t=B({},e);return Object.assign(t.props,{options:{type:Object,default:function(){return n}}}),t}function le(e,n){var t=function(e){return function(){return{show:function(n){for(var t=arguments.length,o=new Array(t>1?t-1:0),r=1;r=0;e--)this.openedModals[e].emit("update:modelValue",!1)},toggle:function(e){for(var n=arguments.length,t=new Array(n>1?n-1:0),o=1;o {\n return event.key === 'Tab' || event.keyCode === 9\n}\n\nconst querySelectorAll = (element, selector) => {\n return [...(element.querySelectorAll(selector) || [])]\n}\n\nconst queryFocusableElements = element => {\n return querySelectorAll(element, FOCUSABLE_ELEMENTS_QUERY)\n}\n\nconst isFocused = element => {\n return element == document.activeElement\n}\n\nconst isNothingFocused = () => {\n return !document.activeElement\n}\n\nclass FocusTrap {\n constructor() {\n this.root = null\n this.elements = []\n\n this.onKeyDown = this.onKeyDown.bind(this)\n this.enable = this.enable.bind(this)\n this.disable = this.disable.bind(this)\n this.firstElement = this.firstElement.bind(this)\n this.lastElement = this.lastElement.bind(this)\n }\n\n lastElement() {\n return this.elements[this.elements.length - 1] || null\n }\n\n firstElement() {\n return this.elements[0] || null\n }\n\n onKeyDown(event) {\n if (!isTabPressed(event)) {\n return\n }\n\n // SHIFT + TAB\n if (event.shiftKey) {\n if (isFocused(this.firstElement())) {\n this.lastElement().focus()\n event.preventDefault()\n }\n return\n }\n\n // TAB\n if (isNothingFocused() || isFocused(this.lastElement())) {\n this.firstElement().focus()\n event.preventDefault()\n return\n }\n }\n\n enabled() {\n return !!this.root\n }\n\n enable(root) {\n if (!root) {\n return\n }\n\n this.root = root\n this.elements = queryFocusableElements(this.root)\n\n this.root.addEventListener('keydown', this.onKeyDown)\n }\n\n disable() {\n this.root.removeEventListener('keydown', this.onKeyDown)\n this.root = null\n }\n}\n\nexport default FocusTrap\n","// stolen from body-scroll-lock\n\n// Older browsers don't support event options, feature detect it.\nlet hasPassiveEvents = false\nif (typeof window !== 'undefined') {\n const passiveTestOptions = {\n get passive() {\n hasPassiveEvents = true\n return undefined\n }\n }\n window.addEventListener('testPassive', null, passiveTestOptions)\n window.removeEventListener('testPassive', null, passiveTestOptions)\n}\n\nconst isIosDevice =\n typeof window !== 'undefined' &&\n window.navigator &&\n window.navigator.platform &&\n (/iP(ad|hone|od)/.test(window.navigator.platform) ||\n (window.navigator.platform === 'MacIntel' && window.navigator.maxTouchPoints > 1))\n\nlet locks = []\nlet documentListenerAdded = false\nlet clientY = 0\nlet initialClientY = -1\nlet previousBodyOverflowSetting\nlet previousBodyPaddingRight\n\nconst hasScrollbar = el => {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return false\n\n const style = window.getComputedStyle(el)\n return ['auto', 'scroll'].includes(style.overflowY) && el.scrollHeight > el.clientHeight\n}\n\nconst shouldScroll = (el, delta) => {\n if (el.scrollTop === 0 && delta < 0) return false\n if (el.scrollTop + el.clientHeight + delta >= el.scrollHeight && delta > 0) return false\n return true\n}\n\nconst composedPath = el => {\n const path = []\n while (el) {\n path.push(el)\n if (el.classList.contains('vfm')) return path\n el = el.parentElement\n }\n return path\n}\n\nconst hasAnyScrollableEl = (el, delta) => {\n let hasAnyScrollableEl = false\n const path = composedPath(el)\n path.forEach(el => {\n if (hasScrollbar(el) && shouldScroll(el, delta)) {\n hasAnyScrollableEl = true\n }\n })\n return hasAnyScrollableEl\n}\n\n// returns true if `el` should be allowed to receive touchmove events.\nconst allowTouchMove = el => locks.some(() => hasAnyScrollableEl(el, -clientY))\n\nconst preventDefault = rawEvent => {\n const e = rawEvent || window.event\n\n // For the case whereby consumers adds a touchmove event listener to document.\n // Recall that we do document.addEventListener('touchmove', preventDefault, { passive: false })\n // in disableBodyScroll - so if we provide this opportunity to allowTouchMove, then\n // the touchmove event on document will break.\n if (allowTouchMove(e.target)) {\n return true\n }\n // Do not prevent if the event has more than one touch (usually meaning this is a multi touch gesture like pinch to zoom).\n if (e.touches.length > 1) return true\n\n if (e.preventDefault) e.preventDefault()\n\n return false\n}\n\nconst setOverflowHidden = options => {\n // If previousBodyPaddingRight is already set, don't set it again.\n if (previousBodyPaddingRight === undefined) {\n const reserveScrollBarGap = !!options && options.reserveScrollBarGap === true\n const scrollBarGap = window.innerWidth - document.documentElement.clientWidth\n\n if (reserveScrollBarGap && scrollBarGap > 0) {\n const computedBodyPaddingRight = parseInt(getComputedStyle(document.body).getPropertyValue('padding-right'), 10)\n previousBodyPaddingRight = document.body.style.paddingRight\n document.body.style.paddingRight = `${computedBodyPaddingRight + scrollBarGap}px`\n }\n }\n // If previousBodyOverflowSetting is already set, don't set it again.\n if (previousBodyOverflowSetting === undefined) {\n previousBodyOverflowSetting = document.body.style.overflow\n document.body.style.overflow = 'hidden'\n }\n}\n\nconst restoreOverflowSetting = () => {\n if (previousBodyPaddingRight !== undefined) {\n document.body.style.paddingRight = previousBodyPaddingRight\n\n // Restore previousBodyPaddingRight to undefined so setOverflowHidden knows it\n // can be set again.\n previousBodyPaddingRight = undefined\n }\n\n if (previousBodyOverflowSetting !== undefined) {\n document.body.style.overflow = previousBodyOverflowSetting\n\n // Restore previousBodyOverflowSetting to undefined\n // so setOverflowHidden knows it can be set again.\n previousBodyOverflowSetting = undefined\n }\n}\n// https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollHeight#Problems_and_solutions\nconst isTargetElementTotallyScrolled = targetElement =>\n targetElement ? targetElement.scrollHeight - targetElement.scrollTop <= targetElement.clientHeight : false\n\nconst handleScroll = (event, targetElement) => {\n clientY = event.targetTouches[0].clientY - initialClientY\n\n if (allowTouchMove(event.target)) {\n return false\n }\n\n if (targetElement && targetElement.scrollTop === 0 && clientY > 0) {\n // element is at the top of its scroll.\n return preventDefault(event)\n }\n\n if (isTargetElementTotallyScrolled(targetElement) && clientY < 0) {\n // element is at the bottom of its scroll.\n return preventDefault(event)\n }\n\n event.stopPropagation()\n return true\n}\n\nexport const disableBodyScroll = (targetElement, options) => {\n // targetElement must be provided\n if (!targetElement) {\n // eslint-disable-next-line no-console\n console.error(\n 'disableBodyScroll unsuccessful - targetElement must be provided when calling disableBodyScroll on IOS devices.'\n )\n return\n }\n\n // disableBodyScroll must not have been called on this targetElement before\n if (locks.some(lock => lock.targetElement === targetElement)) {\n return\n }\n\n const lock = {\n targetElement,\n options: options || {}\n }\n\n locks = [...locks, lock]\n\n if (isIosDevice) {\n targetElement.ontouchstart = event => {\n if (event.targetTouches.length === 1) {\n // detect single touch.\n initialClientY = event.targetTouches[0].clientY\n }\n }\n targetElement.ontouchmove = event => {\n if (event.targetTouches.length === 1) {\n // detect single touch.\n handleScroll(event, targetElement)\n }\n }\n\n if (!documentListenerAdded) {\n document.addEventListener('touchmove', preventDefault, hasPassiveEvents ? { passive: false } : undefined)\n documentListenerAdded = true\n }\n } else {\n setOverflowHidden(options)\n }\n}\n\nexport const enableBodyScroll = targetElement => {\n if (!targetElement) {\n // eslint-disable-next-line no-console\n console.error(\n 'enableBodyScroll unsuccessful - targetElement must be provided when calling enableBodyScroll on IOS devices.'\n )\n return\n }\n\n locks = locks.filter(lock => lock.targetElement !== targetElement)\n\n if (isIosDevice) {\n targetElement.ontouchstart = null\n targetElement.ontouchmove = null\n\n if (documentListenerAdded && locks.length === 0) {\n document.removeEventListener('touchmove', preventDefault, hasPassiveEvents ? { passive: false } : undefined)\n documentListenerAdded = false\n }\n } else if (!locks.length) {\n restoreOverflowSetting()\n }\n}\n","\n\n\n\n\n","\n\n\n\n\n","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","\n\n\n","\n\n\n","import VueFinalModal from './VueFinalModal.vue'\nimport ModalsContainer from './ModalsContainer.vue'\nimport { shallowReactive } from 'vue'\n\nfunction assignOptions(component, options) {\n const _component = { ...component }\n Object.assign(_component.props, {\n options: { type: Object, default: () => options }\n })\n return _component\n}\n\nfunction createVfm(options) {\n let vfm\n\n return function() {\n vfm = {\n show(modal, ...args) {\n switch (typeof modal) {\n case 'string':\n this.toggle(modal, true, ...args)\n break\n case 'object':\n {\n const defaultModal = {\n value: true,\n id: Symbol('dynamicModal'),\n component: options.componentName,\n bind: {},\n slots: {},\n on: {},\n params: args[0]\n }\n this.dynamicModals.push(shallowReactive(Object.assign(defaultModal, modal)))\n }\n break\n }\n },\n hide(...names) {\n this.toggle(names, false)\n },\n hideAll() {\n for (let i = this.openedModals.length - 1; i >= 0; i--) {\n this.openedModals[i].emit('update:modelValue', false)\n }\n },\n toggle(name, ...args) {\n const modals = Array.isArray(name) ? this.get(...name) : this.get(name)\n modals.forEach(modal => modal.toggle(...args))\n },\n get(...names) {\n return this.modals.filter(modal => names.includes(modal.props.name))\n },\n dynamicModals: shallowReactive([]),\n openedModals: [],\n modals: []\n }\n return vfm\n }\n}\n\nexport function bindPrototype(app, options) {\n const vfm = createVfm(options)()\n Object.defineProperty(app.config.globalProperties, options.key, {\n get() {\n return vfm\n }\n })\n app.provide(options.key, vfm)\n}\n\nexport function registModal(app, options) {\n app.component(options.componentName, assignOptions(VueFinalModal, options))\n}\nexport function registContainer(app, options) {\n app.component(options.dynamicContainerName, assignOptions(ModalsContainer, options))\n}\n","export const DUPLICATE_KEY = '[vue-final-modal] Duplicate registration API key of VueFinalModal.'\n\nexport const DUPLICATE_COMPONENT = '[vue-final-modal] Duplicate registration componentName of VueFinalModal.'\n\nexport const DUPLICATE_DYNAMIC_CONTAINER =\n '[vue-final-modal] Duplicate registration dynamicContainerName of ModalsContainer.'\n","import { bindPrototype, registModal, registContainer } from './PluginCore'\nimport { DUPLICATE_KEY, DUPLICATE_COMPONENT, DUPLICATE_DYNAMIC_CONTAINER } from './utils/errors'\n\nconst defaultOptions = {\n componentName: 'VueFinalModal',\n dynamicContainerName: 'ModalsContainer',\n key: '$vfm'\n}\n\nconst validPlugin = (duplicateKey, duplicateComponent, duplicateDynamicContainer) => {\n if (!(duplicateKey || duplicateComponent || duplicateDynamicContainer)) return true\n\n if (typeof window === 'undefined') return false\n\n duplicateKey && console.error(DUPLICATE_KEY)\n duplicateComponent && console.error(DUPLICATE_COMPONENT)\n duplicateDynamicContainer && console.error(DUPLICATE_DYNAMIC_CONTAINER)\n\n return false\n}\n\nconst Plugin = pluginOptions => ({\n install(app, options) {\n const _options = Object.assign({}, defaultOptions, pluginOptions, options)\n const duplicateKey = app.config.globalProperties[_options.key]\n const duplicateComponent = app._context.components[_options.componentName]\n const duplicateDynamicContainer = app._context.components[_options.dynamicContainerName]\n\n if (validPlugin(duplicateKey, duplicateComponent, duplicateDynamicContainer)) {\n bindPrototype(app, _options)\n registModal(app, _options)\n registContainer(app, _options)\n }\n }\n})\n\nexport default Plugin\n"],"names":["queryFocusableElements","element","selector","querySelectorAll","isFocused","document","activeElement","FocusTrap","root","elements","onKeyDown","this","bind","enable","disable","firstElement","lastElement","length","event","key","keyCode","isTabPressed","shiftKey","focus","preventDefault","addEventListener","removeEventListener","hasPassiveEvents","window","passiveTestOptions","previousBodyOverflowSetting","previousBodyPaddingRight","isIosDevice","navigator","platform","test","maxTouchPoints","locks","documentListenerAdded","clientY","initialClientY","hasAnyScrollableEl","el","delta","path","push","classList","contains","parentElement","composedPath","forEach","nodeType","Node","ELEMENT_NODE","style","getComputedStyle","includes","overflowY","scrollHeight","clientHeight","hasScrollbar","scrollTop","shouldScroll","allowTouchMove","some","rawEvent","e","target","touches","disableBodyScroll","targetElement","options","lock","ontouchstart","targetTouches","ontouchmove","isTargetElementTotallyScrolled","stopPropagation","handleScroll","passive","undefined","reserveScrollBarGap","scrollBarGap","innerWidth","documentElement","clientWidth","computedBodyPaddingRight","parseInt","body","getPropertyValue","paddingRight","overflow","setOverflowHidden","console","error","enableBodyScroll","filter","TransitionState","props","name","type","String","default","modelValue","Boolean","ssr","classes","Object","Array","overlayClass","contentClass","styles","overlayStyle","contentStyle","lockScroll","hideOverlay","clickToClose","escToClose","preventClick","attach","validator","val","transition","overlayTransition","zIndexAuto","zIndexBase","Number","zIndex","focusRetain","focusTrap","emits","setup","emit","uid","Symbol","ref","vfmContainer","vfmOverlayTransition","vfmTransition","$vfm","inject","modalStackIndex","$focusTrap","visible","visibility","reactive","modal","overlay","overlayTransitionState","modalTransitionState","_stopEvent","params","computedOverlayTransition","computed","computedTransition","isComponentReadyToBeDestroyed","value","calculateZIndex","bindStyle","getModalInfo","getAttachElement","handleLockScroll","toggle","mounted","emitEvent","appendChild","index","openedModals","findIndex","vm","splice","nextTick","warn","concat","close","$_vm","querySelector","createModalEvent","eventProps","eventType","stopEvent","stop","show","_params","arguments","watch","display","flush","modals","onMounted","onBeforeUnmount","remove","beforeOverlayEnter","afterOverlayEnter","beforeOverlayLeave","afterOverlayLeave","beforeModalEnter","afterModalEnter","beforeModalLeave","enabled","afterModalLeave","onClickContainer","onEsc","$props","$setup","_createBlock","class","onKeydown","_createVNode","_mergeProps","onBeforeEnter","onAfterEnter","onBeforeLeave","onAfterLeave","toString","role","tabindex","onClick","_renderSlot","css","insertAt","head","getElementsByTagName","createElement","firstChild","insertBefore","styleSheet","cssText","createTextNode","api","methods","slice","dynamicModals","beforeOpen","isString","assignOptions","component","_component","assign","bindPrototype","app","vfm","args","defaultModal","id","componentName","slots","on","shallowReactive","hide","names","hideAll","i","isArray","get","createVfm","defineProperty","config","globalProperties","provide","_hoisted_1","$options","_toHandlers","onClosed","onBeforeOpen","slot","innerHTML","defaultOptions","dynamicContainerName","pluginOptions","install","_options","duplicateKey","duplicateComponent","duplicateDynamicContainer","validPlugin","_context","components","VueFinalModal","registModal","ModalsContainer","registContainer"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"VueFinalModal.esm.js","sources":["../lib/utils/focusTrap.js","../lib/utils/bodyScrollLock.js","../lib/VueFinalModal.vue","../lib/VueFinalModal.vue?vue&type=template&id=2836fdb5&lang.js","../node_modules/style-inject/dist/style-inject.es.js","../lib/ModalsContainer.vue","../lib/ModalsContainer.vue?vue&type=template&id=74d49173&lang.js","../lib/PluginCore.js","../lib/utils/errors.js","../lib/Plugin.js"],"sourcesContent":["// stolen from vue-js-modal\n\nconst FOCUSABLE_ELEMENTS_QUERY =\n 'button:not([disabled]), ' +\n 'select:not([disabled]), ' +\n 'a[href]:not([disabled]), ' +\n 'area[href]:not([disabled]), ' +\n '[contentEditable=\"\"]:not([disabled]), ' +\n '[contentEditable=\"true\"]:not([disabled]), ' +\n '[contentEditable=\"TRUE\"]:not([disabled]), ' +\n 'textarea:not([disabled]), ' +\n 'iframe:not([disabled]), ' +\n 'input:not([disabled]), ' +\n 'summary:not([disabled]), ' +\n '[tabindex]:not([tabindex=\"-1\"])'\n\nconst isTabPressed = event => {\n return event.key === 'Tab' || event.keyCode === 9\n}\n\nconst querySelectorAll = (element, selector) => {\n return [...(element.querySelectorAll(selector) || [])]\n}\n\nconst queryFocusableElements = element => {\n return querySelectorAll(element, FOCUSABLE_ELEMENTS_QUERY)\n}\n\nconst isFocused = element => {\n return element == document.activeElement\n}\n\nconst isNothingFocused = () => {\n return !document.activeElement\n}\n\nclass FocusTrap {\n constructor() {\n this.root = null\n this.elements = []\n\n this.onKeyDown = this.onKeyDown.bind(this)\n this.enable = this.enable.bind(this)\n this.disable = this.disable.bind(this)\n this.firstElement = this.firstElement.bind(this)\n this.lastElement = this.lastElement.bind(this)\n }\n\n lastElement() {\n return this.elements[this.elements.length - 1] || null\n }\n\n firstElement() {\n return this.elements[0] || null\n }\n\n onKeyDown(event) {\n if (!isTabPressed(event)) {\n return\n }\n\n // SHIFT + TAB\n if (event.shiftKey) {\n if (isFocused(this.firstElement())) {\n this.lastElement().focus()\n event.preventDefault()\n }\n return\n }\n\n // TAB\n if (isNothingFocused() || isFocused(this.lastElement())) {\n this.firstElement().focus()\n event.preventDefault()\n return\n }\n }\n\n enabled() {\n return !!this.root\n }\n\n enable(root) {\n if (!root) {\n return\n }\n\n this.root = root\n this.elements = queryFocusableElements(this.root)\n\n this.root.addEventListener('keydown', this.onKeyDown)\n }\n\n disable() {\n this.root.removeEventListener('keydown', this.onKeyDown)\n this.root = null\n }\n}\n\nexport default FocusTrap\n","// stolen from body-scroll-lock\n\n// Older browsers don't support event options, feature detect it.\nlet hasPassiveEvents = false\nif (typeof window !== 'undefined') {\n const passiveTestOptions = {\n get passive() {\n hasPassiveEvents = true\n return undefined\n }\n }\n window.addEventListener('testPassive', null, passiveTestOptions)\n window.removeEventListener('testPassive', null, passiveTestOptions)\n}\n\nconst isIosDevice =\n typeof window !== 'undefined' &&\n window.navigator &&\n window.navigator.platform &&\n (/iP(ad|hone|od)/.test(window.navigator.platform) ||\n (window.navigator.platform === 'MacIntel' && window.navigator.maxTouchPoints > 1))\n\nlet locks = []\nlet documentListenerAdded = false\nlet clientY = 0\nlet initialClientY = -1\nlet previousBodyOverflowSetting\nlet previousBodyPaddingRight\n\nconst hasScrollbar = el => {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return false\n\n const style = window.getComputedStyle(el)\n return ['auto', 'scroll'].includes(style.overflowY) && el.scrollHeight > el.clientHeight\n}\n\nconst shouldScroll = (el, delta) => {\n if (el.scrollTop === 0 && delta < 0) return false\n if (el.scrollTop + el.clientHeight + delta >= el.scrollHeight && delta > 0) return false\n return true\n}\n\nconst composedPath = el => {\n const path = []\n while (el) {\n path.push(el)\n if (el.classList.contains('vfm')) return path\n el = el.parentElement\n }\n return path\n}\n\nconst hasAnyScrollableEl = (el, delta) => {\n let hasAnyScrollableEl = false\n const path = composedPath(el)\n path.forEach(el => {\n if (hasScrollbar(el) && shouldScroll(el, delta)) {\n hasAnyScrollableEl = true\n }\n })\n return hasAnyScrollableEl\n}\n\n// returns true if `el` should be allowed to receive touchmove events.\nconst allowTouchMove = el => locks.some(() => hasAnyScrollableEl(el, -clientY))\n\nconst preventDefault = rawEvent => {\n const e = rawEvent || window.event\n\n // For the case whereby consumers adds a touchmove event listener to document.\n // Recall that we do document.addEventListener('touchmove', preventDefault, { passive: false })\n // in disableBodyScroll - so if we provide this opportunity to allowTouchMove, then\n // the touchmove event on document will break.\n if (allowTouchMove(e.target)) {\n return true\n }\n // Do not prevent if the event has more than one touch (usually meaning this is a multi touch gesture like pinch to zoom).\n if (e.touches.length > 1) return true\n\n if (e.preventDefault) e.preventDefault()\n\n return false\n}\n\nconst setOverflowHidden = options => {\n // If previousBodyPaddingRight is already set, don't set it again.\n if (previousBodyPaddingRight === undefined) {\n const reserveScrollBarGap = !!options && options.reserveScrollBarGap === true\n const scrollBarGap = window.innerWidth - document.documentElement.clientWidth\n\n if (reserveScrollBarGap && scrollBarGap > 0) {\n const computedBodyPaddingRight = parseInt(getComputedStyle(document.body).getPropertyValue('padding-right'), 10)\n previousBodyPaddingRight = document.body.style.paddingRight\n document.body.style.paddingRight = `${computedBodyPaddingRight + scrollBarGap}px`\n }\n }\n // If previousBodyOverflowSetting is already set, don't set it again.\n if (previousBodyOverflowSetting === undefined) {\n previousBodyOverflowSetting = document.body.style.overflow\n document.body.style.overflow = 'hidden'\n }\n}\n\nconst restoreOverflowSetting = () => {\n if (previousBodyPaddingRight !== undefined) {\n document.body.style.paddingRight = previousBodyPaddingRight\n\n // Restore previousBodyPaddingRight to undefined so setOverflowHidden knows it\n // can be set again.\n previousBodyPaddingRight = undefined\n }\n\n if (previousBodyOverflowSetting !== undefined) {\n document.body.style.overflow = previousBodyOverflowSetting\n\n // Restore previousBodyOverflowSetting to undefined\n // so setOverflowHidden knows it can be set again.\n previousBodyOverflowSetting = undefined\n }\n}\n// https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollHeight#Problems_and_solutions\nconst isTargetElementTotallyScrolled = targetElement =>\n targetElement ? targetElement.scrollHeight - targetElement.scrollTop <= targetElement.clientHeight : false\n\nconst handleScroll = (event, targetElement) => {\n clientY = event.targetTouches[0].clientY - initialClientY\n\n if (allowTouchMove(event.target)) {\n return false\n }\n\n if (targetElement && targetElement.scrollTop === 0 && clientY > 0) {\n // element is at the top of its scroll.\n return preventDefault(event)\n }\n\n if (isTargetElementTotallyScrolled(targetElement) && clientY < 0) {\n // element is at the bottom of its scroll.\n return preventDefault(event)\n }\n\n event.stopPropagation()\n return true\n}\n\nexport const disableBodyScroll = (targetElement, options) => {\n // targetElement must be provided\n if (!targetElement) {\n // eslint-disable-next-line no-console\n console.error(\n 'disableBodyScroll unsuccessful - targetElement must be provided when calling disableBodyScroll on IOS devices.'\n )\n return\n }\n\n // disableBodyScroll must not have been called on this targetElement before\n if (locks.some(lock => lock.targetElement === targetElement)) {\n return\n }\n\n const lock = {\n targetElement,\n options: options || {}\n }\n\n locks = [...locks, lock]\n\n if (isIosDevice) {\n targetElement.ontouchstart = event => {\n if (event.targetTouches.length === 1) {\n // detect single touch.\n initialClientY = event.targetTouches[0].clientY\n }\n }\n targetElement.ontouchmove = event => {\n if (event.targetTouches.length === 1) {\n // detect single touch.\n handleScroll(event, targetElement)\n }\n }\n\n if (!documentListenerAdded) {\n document.addEventListener('touchmove', preventDefault, hasPassiveEvents ? { passive: false } : undefined)\n documentListenerAdded = true\n }\n } else {\n setOverflowHidden(options)\n }\n}\n\nexport const enableBodyScroll = targetElement => {\n if (!targetElement) {\n // eslint-disable-next-line no-console\n console.error(\n 'enableBodyScroll unsuccessful - targetElement must be provided when calling enableBodyScroll on IOS devices.'\n )\n return\n }\n\n locks = locks.filter(lock => lock.targetElement !== targetElement)\n\n if (isIosDevice) {\n targetElement.ontouchstart = null\n targetElement.ontouchmove = null\n\n if (documentListenerAdded && locks.length === 0) {\n document.removeEventListener('touchmove', preventDefault, hasPassiveEvents ? { passive: false } : undefined)\n documentListenerAdded = false\n }\n } else if (!locks.length) {\n restoreOverflowSetting()\n }\n}\n","\n\n\n\n\n","\n\n\n\n\n","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","\n\n\n","\n\n\n","import VueFinalModal from './VueFinalModal.vue'\nimport ModalsContainer from './ModalsContainer.vue'\nimport { shallowReactive } from 'vue'\n\nfunction assignOptions(component, options) {\n const _component = { ...component }\n Object.assign(_component.props, {\n options: { type: Object, default: () => options }\n })\n return _component\n}\n\nfunction createVfm(options) {\n let vfm\n\n return function() {\n vfm = {\n show(modal, ...args) {\n switch (typeof modal) {\n case 'string':\n this.toggle(modal, true, ...args)\n break\n case 'object':\n {\n const defaultModal = {\n value: true,\n id: Symbol('dynamicModal'),\n component: options.componentName,\n bind: {},\n slots: {},\n on: {},\n params: args[0]\n }\n this.dynamicModals.push(shallowReactive(Object.assign(defaultModal, modal)))\n }\n break\n }\n },\n hide(...names) {\n this.toggle(names, false)\n },\n hideAll() {\n for (let i = this.openedModals.length - 1; i >= 0; i--) {\n this.openedModals[i].emit('update:modelValue', false)\n }\n },\n toggle(name, ...args) {\n const modals = Array.isArray(name) ? this.get(...name) : this.get(name)\n modals.forEach(modal => modal.toggle(...args))\n },\n get(...names) {\n return this.modals.filter(modal => names.includes(modal.props.name))\n },\n dynamicModals: shallowReactive([]),\n openedModals: [],\n modals: []\n }\n return vfm\n }\n}\n\nexport function bindPrototype(app, options) {\n const vfm = createVfm(options)()\n Object.defineProperty(app.config.globalProperties, options.key, {\n get() {\n return vfm\n }\n })\n app.provide(options.key, vfm)\n}\n\nexport function registModal(app, options) {\n app.component(options.componentName, assignOptions(VueFinalModal, options))\n}\nexport function registContainer(app, options) {\n app.component(options.dynamicContainerName, assignOptions(ModalsContainer, options))\n}\n","export const DUPLICATE_KEY = '[vue-final-modal] Duplicate registration API key of VueFinalModal.'\n\nexport const DUPLICATE_COMPONENT = '[vue-final-modal] Duplicate registration componentName of VueFinalModal.'\n\nexport const DUPLICATE_DYNAMIC_CONTAINER =\n '[vue-final-modal] Duplicate registration dynamicContainerName of ModalsContainer.'\n","import { bindPrototype, registModal, registContainer } from './PluginCore'\nimport { DUPLICATE_KEY, DUPLICATE_COMPONENT, DUPLICATE_DYNAMIC_CONTAINER } from './utils/errors'\n\nconst defaultOptions = {\n componentName: 'VueFinalModal',\n dynamicContainerName: 'ModalsContainer',\n key: '$vfm'\n}\n\nconst validPlugin = (duplicateKey, duplicateComponent, duplicateDynamicContainer) => {\n if (!(duplicateKey || duplicateComponent || duplicateDynamicContainer)) return true\n\n if (typeof window === 'undefined') return false\n\n duplicateKey && console.error(DUPLICATE_KEY)\n duplicateComponent && console.error(DUPLICATE_COMPONENT)\n duplicateDynamicContainer && console.error(DUPLICATE_DYNAMIC_CONTAINER)\n\n return false\n}\n\nconst Plugin = pluginOptions => ({\n install(app, options) {\n const _options = Object.assign({}, defaultOptions, pluginOptions, options)\n const duplicateKey = app.config.globalProperties[_options.key]\n const duplicateComponent = app._context.components[_options.componentName]\n const duplicateDynamicContainer = app._context.components[_options.dynamicContainerName]\n\n if (validPlugin(duplicateKey, duplicateComponent, duplicateDynamicContainer)) {\n bindPrototype(app, _options)\n registModal(app, _options)\n registContainer(app, _options)\n }\n }\n})\n\nexport default Plugin\n"],"names":["queryFocusableElements","element","selector","querySelectorAll","isFocused","document","activeElement","FocusTrap","root","elements","onKeyDown","this","bind","enable","disable","firstElement","lastElement","length","event","key","keyCode","isTabPressed","shiftKey","focus","preventDefault","addEventListener","removeEventListener","hasPassiveEvents","window","passiveTestOptions","previousBodyOverflowSetting","previousBodyPaddingRight","isIosDevice","navigator","platform","test","maxTouchPoints","locks","documentListenerAdded","clientY","initialClientY","hasAnyScrollableEl","el","delta","path","push","classList","contains","parentElement","composedPath","forEach","nodeType","Node","ELEMENT_NODE","style","getComputedStyle","includes","overflowY","scrollHeight","clientHeight","hasScrollbar","scrollTop","shouldScroll","allowTouchMove","some","rawEvent","e","target","touches","disableBodyScroll","targetElement","options","lock","ontouchstart","targetTouches","ontouchmove","isTargetElementTotallyScrolled","stopPropagation","handleScroll","passive","undefined","reserveScrollBarGap","scrollBarGap","innerWidth","documentElement","clientWidth","computedBodyPaddingRight","parseInt","body","getPropertyValue","paddingRight","overflow","setOverflowHidden","console","error","enableBodyScroll","filter","TransitionState","props","name","type","String","modelValue","Boolean","ssr","classes","Object","Array","overlayClass","contentClass","styles","overlayStyle","contentStyle","lockScroll","hideOverlay","clickToClose","escToClose","preventClick","attach","validator","val","transition","overlayTransition","zIndexAuto","zIndexBase","Number","zIndex","focusRetain","focusTrap","emits","setup","emit","uid","Symbol","ref","vfmContainer","vfmOverlayTransition","vfmTransition","$vfm","inject","modalStackIndex","$focusTrap","visible","visibility","reactive","modal","overlay","overlayTransitionState","modalTransitionState","_stopEvent","params","computedOverlayTransition","computed","computedTransition","isComponentReadyToBeDestroyed","value","calculateZIndex","bindStyle","getModalInfo","getAttachElement","handleLockScroll","toggle","mounted","emitEvent","appendChild","index","openedModals","findIndex","vm","splice","nextTick","warn","concat","close","$_vm","querySelector","createModalEvent","eventProps","eventType","stopEvent","stop","show","_params","arguments","watch","display","flush","modals","onMounted","onBeforeUnmount","remove","beforeOverlayEnter","afterOverlayEnter","beforeOverlayLeave","afterOverlayLeave","beforeModalEnter","afterModalEnter","beforeModalLeave","enabled","afterModalLeave","onClickContainer","onEsc","$props","$setup","_createBlock","onKeydown","_createVNode","_mergeProps","onBeforeEnter","onAfterEnter","onBeforeLeave","onAfterLeave","toString","role","tabindex","onClick","_renderSlot","css","insertAt","head","getElementsByTagName","createElement","firstChild","insertBefore","styleSheet","cssText","createTextNode","api","methods","slice","dynamicModals","beforeOpen","isString","assignOptions","component","_component","assign","bindPrototype","app","vfm","args","defaultModal","id","componentName","slots","on","shallowReactive","hide","names","hideAll","i","isArray","get","createVfm","defineProperty","config","globalProperties","provide","_hoisted_1","$options","_toHandlers","onClosed","onBeforeOpen","slot","_createCommentVNode","innerHTML","defaultOptions","dynamicContainerName","pluginOptions","install","_options","duplicateKey","duplicateComponent","duplicateDynamicContainer","validPlugin","_context","components","VueFinalModal","registModal","ModalsContainer","registContainer"],"mappings":"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"} \ No newline at end of file diff --git a/dist/VueFinalModal.umd.js b/dist/VueFinalModal.umd.js index c57fa7d5..b54e06ca 100644 --- a/dist/VueFinalModal.umd.js +++ b/dist/VueFinalModal.umd.js @@ -1,2 +1,2 @@ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue")):"function"==typeof define&&define.amd?define(["vue"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).VueFinalModal=t(e.Vue)}(this,(function(e){"use strict";function t(e){return(t="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})(e)}function n(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,o=new Array(t);n1),y=[],b=!1,h=0,g=-1,w=function(e,t){var n=!1;return function(e){for(var t=[];e;){if(t.push(e),e.classList.contains("vfm"))return t;e=e.parentElement}return t}(e).forEach((function(e){(function(e){if(!e||e.nodeType!==Node.ELEMENT_NODE)return!1;var t=window.getComputedStyle(e);return["auto","scroll"].includes(t.overflowY)&&e.scrollHeight>e.clientHeight})(e)&&function(e,t){return!(0===e.scrollTop&&t<0||e.scrollTop+e.clientHeight+t>=e.scrollHeight&&t>0)}(e,t)&&(n=!0)})),n},E=function(e){return y.some((function(){return w(e,-h)}))},k=function(e){var t=e||window.event;return!!E(t.target)||(t.touches.length>1||(t.preventDefault&&t.preventDefault(),!1))},S=function(e,t){if(e){if(!y.some((function(t){return t.targetElement===e}))){var n={targetElement:e,options:t||{}};y=[].concat(i(y),[n]),m?(e.ontouchstart=function(e){1===e.targetTouches.length&&(g=e.targetTouches[0].clientY)},e.ontouchmove=function(t){1===t.targetTouches.length&&function(e,t){h=e.targetTouches[0].clientY-g,!E(e.target)&&(t&&0===t.scrollTop&&h>0||function(e){return!!e&&e.scrollHeight-e.scrollTop<=e.clientHeight}(t)&&h<0?k(e):e.stopPropagation())}(t,e)},b||(document.addEventListener("touchmove",k,d?{passive:!1}:void 0),b=!0)):function(e){if(void 0===p){var t=!!e&&!0===e.reserveScrollBarGap,n=window.innerWidth-document.documentElement.clientWidth;if(t&&n>0){var o=parseInt(getComputedStyle(document.body).getPropertyValue("padding-right"),10);p=document.body.style.paddingRight,document.body.style.paddingRight="".concat(o+n,"px")}}void 0===v&&(v=document.body.style.overflow,document.body.style.overflow="hidden")}(t)}}else console.error("disableBodyScroll unsuccessful - targetElement must be provided when calling disableBodyScroll on IOS devices.")},O=function(e){e?(y=y.filter((function(t){return t.targetElement!==e})),m?(e.ontouchstart=null,e.ontouchmove=null,b&&0===y.length&&(document.removeEventListener("touchmove",k,d?{passive:!1}:void 0),b=!1)):y.length||(void 0!==p&&(document.body.style.paddingRight=p,p=void 0),void 0!==v&&(document.body.style.overflow=v,v=void 0))):console.error("enableBodyScroll unsuccessful - targetElement must be provided when calling enableBodyScroll on IOS devices.")},T="enter",B="entering",C="leave",M="leavng",x={props:{name:{type:String,default:null},modelValue:{type:Boolean,default:!1},ssr:{type:Boolean,default:!0},classes:{type:[String,Object,Array],default:""},overlayClass:{type:[String,Object,Array],default:""},contentClass:{type:[String,Object,Array],default:""},styles:{type:[String,Object,Array],default:""},overlayStyle:{type:[String,Object,Array],default:""},contentStyle:{type:[String,Object,Array],default:""},lockScroll:{type:Boolean,default:!0},hideOverlay:{type:Boolean,default:!1},clickToClose:{type:Boolean,default:!0},escToClose:{type:Boolean,default:!1},preventClick:{type:Boolean,default:!1},attach:{type:null,default:!1,validator:function(e){var n=t(e);return"boolean"===n||"string"===n||e.nodeType===Node.ELEMENT_NODE}},transition:{type:[String,Object],default:"vfm"},overlayTransition:{type:[String,Object],default:"vfm"},zIndexAuto:{type:Boolean,default:!0},zIndexBase:{type:[String,Number],default:1e3},zIndex:{type:[Boolean,String,Number],default:!1},focusRetain:{type:Boolean,default:!0},focusTrap:{type:Boolean,default:!1}},emits:["update:modelValue","click-outside","before-open","opened","before-close","closed"],setup:function(t,n){var o=n.emit,r=Symbol("vfm"),i=e.ref(null),l=e.ref(null),u=e.ref(null),c=e.ref(null),d=e.inject(t.options.key),f=e.ref(null),v=new s,p=e.ref(!1),m=e.reactive({modal:!1,overlay:!1}),y=e.ref(null),b=e.ref(null),h=e.ref(!1),g=e.ref({}),w=e.computed((function(){return"string"==typeof t.overlayTransition?{name:t.overlayTransition}:a({},t.overlayTransition)})),E=e.computed((function(){return"string"==typeof t.transition?{name:t.transition}:a({},t.transition)})),k=e.computed((function(){return(t.hideOverlay||y.value===C)&&b.value===C})),x=e.computed((function(){return!1===t.zIndex?!!t.zIndexAuto&&+t.zIndexBase+2*(f.value||0):t.zIndex})),A=e.computed((function(){return a({},!1!==x.value&&{zIndex:x.value})}));function j(){return{uid:r,props:t,emit:o,vfmContainer:l,vfmOverlayTransition:u,vfmTransition:c,getAttachElement:I,modalStackIndex:f,visibility:m,handleLockScroll:N,$focusTrap:v,toggle:_,params:g}}function L(){if(t.modelValue){if(D("before-open",!1))return;var n=I();if(n||!1===t.attach){!1!==t.attach&&n.appendChild(i.value);var o=d.openedModals.findIndex((function(e){return e.uid===r}));-1!==o&&d.openedModals.splice(o,1),d.openedModals.push(j()),f.value=d.openedModals.length-1,N(),d.openedModals.filter((function(e){return e.uid!==r})).forEach((function(e,t){e.getAttachElement()===n&&(e.modalStackIndex.value=t,e.visibility.overlay=!1)})),p.value=!0,e.nextTick((function(){m.overlay=!0,m.modal=!0}))}else!1!==n&&console.warn("Unable to locate target ".concat(t.attach))}}function V(){var e=d.openedModals.findIndex((function(e){return e.uid===r}));if(-1!==e&&d.openedModals.splice(e,1),d.openedModals.length>0){var t=d.openedModals[d.openedModals.length-1];t.props.focusTrap&&t.$focusTrap.firstElement().focus(),(t.props.focusRetain||t.props.focusTrap)&&t.vfmContainer.value.focus(),!t.props.hideOverlay&&(t.visibility.overlay=!0)}m.overlay=!1,m.modal=!1}function N(){t.modelValue&&e.nextTick((function(){t.lockScroll?S(l.value,{reserveScrollBarGap:!0}):O(l.value)}))}function I(){return!1!==t.attach&&("string"==typeof t.attach?!!window&&window.document.querySelector(t.attach):t.attach)}function P(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return a({ref:j()},e)}function D(t,n){var r=!1,a=P({type:t,stop:function(){r=!0}});return o(t,a),!!r&&(h.value=!0,e.nextTick((function(){o("update:modelValue",n)})),!0)}function _(e,n){var r="boolean"==typeof e?e:!t.modelValue;r&&2===arguments.length&&(g.value=n),o("update:modelValue",r)}return e.watch((function(){return t.modelValue}),(function(e){if(h.value)h.value=!1;else if(L(),!e){if(D("before-close",!0))return;V()}})),e.watch((function(){return t.lockScroll}),N),e.watch((function(){return t.hideOverlay}),(function(e){t.modelValue&&!e&&(m.overlay=!0)})),e.watch((function(){return t.attach}),L),e.watch(k,(function(e){e&&(p.value=!1,l.value.style.display="none")}),{flush:"post"}),d.modals.push(j()),e.onMounted((function(){L()})),e.onBeforeUnmount((function(){var e;V(),t.lockScroll&&l.value&&O(l.value),null==i||null===(e=i.value)||void 0===e||e.remove();var n=d.modals.findIndex((function(e){return e.uid===r}));d.modals.splice(n,1)})),{root:i,vfmContainer:l,vfmOverlayTransition:u,vfmTransition:c,computedOverlayTransition:w,computedTransition:E,visible:p,visibility:m,params:g,calculateZIndex:x,bindStyle:A,beforeOverlayEnter:function(){y.value=B},afterOverlayEnter:function(){y.value=T},beforeOverlayLeave:function(){y.value=M},afterOverlayLeave:function(){y.value=C},beforeModalEnter:function(){b.value=B},afterModalEnter:function(){b.value=T,(t.focusRetain||t.focusTrap)&&l.value.focus(),t.focusTrap&&v.enable(l.value),o("opened",P({type:"opened"}))},beforeModalLeave:function(){b.value=M,v.enabled()&&v.disable()},afterModalLeave:function(){b.value=C,f.value=null,t.lockScroll&&O(l.value);var e=!1,n=P({type:"closed",stop:function(){e=!0}});o("closed",n),e||(g.value={})},onClickContainer:function(){o("click-outside",P({type:"click-outside"})),t.clickToClose&&o("update:modelValue",!1)},onEsc:function(){p.value&&t.escToClose&&o("update:modelValue",!1)}}}},A=e.withScopeId("data-v-2836fdb5"),j=A((function(t,n,o,r,a,i){return o.ssr||r.visible?e.withDirectives((e.openBlock(),e.createBlock("div",{key:0,ref:"root",style:r.bindStyle,class:["vfm vfm--inset",[!1===o.attach?"vfm--fixed":"vfm--absolute",{"vfm--prevent-none":o.preventClick}]],onKeydown:n[2]||(n[2]=e.withKeys((function(){return r.onEsc&&r.onEsc.apply(r,arguments)}),["esc"]))},[e.createVNode(e.Transition,e.mergeProps(r.computedOverlayTransition,{onBeforeEnter:r.beforeOverlayEnter,onAfterEnter:r.afterOverlayEnter,onBeforeLeave:r.beforeOverlayLeave,onAfterLeave:r.afterOverlayLeave}),{default:A((function(){return[!o.hideOverlay&&r.visibility.overlay?(e.openBlock(),e.createBlock("div",{key:0,class:["vfm__overlay vfm--overlay vfm--absolute vfm--inset",o.overlayClass],style:o.overlayStyle},null,6)):e.createCommentVNode("v-if",!0)]})),_:1},16,["onBeforeEnter","onAfterEnter","onBeforeLeave","onAfterLeave"]),e.createVNode(e.Transition,e.mergeProps(r.computedTransition,{onBeforeEnter:r.beforeModalEnter,onAfterEnter:r.afterModalEnter,onBeforeLeave:r.beforeModalLeave,onAfterLeave:r.afterModalLeave}),{default:A((function(){return[e.withDirectives(e.createVNode("div",{ref:"vfmContainer",class:["vfm__container vfm--absolute vfm--inset vfm--outline-none",o.classes],style:o.styles,"aria-expanded":r.visibility.modal.toString(),role:"dialog","aria-modal":"true",tabindex:"-1",onClick:n[1]||(n[1]=e.withModifiers((function(){return r.onClickContainer&&r.onClickContainer.apply(r,arguments)}),["self"]))},[e.createVNode("div",{class:["vfm__content",[o.contentClass,{"vfm--prevent-auto":o.preventClick}]],style:o.contentStyle},[e.renderSlot(t.$slots,"default",{params:r.params})],6)],14,["aria-expanded"]),[[e.vShow,r.visibility.modal]])]})),_:3},16,["onBeforeEnter","onAfterEnter","onBeforeLeave","onAfterLeave"])],38)),[[e.vShow,!o.ssr||r.visible]]):e.createCommentVNode("v-if",!0)}));!function(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&"undefined"!=typeof document){var o=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css","top"===n&&o.firstChild?o.insertBefore(r,o.firstChild):o.appendChild(r),r.styleSheet?r.styleSheet.cssText=e:r.appendChild(document.createTextNode(e))}}("\n.vfm--fixed[data-v-2836fdb5] {\n position: fixed;\n}\n.vfm--absolute[data-v-2836fdb5] {\n position: absolute;\n}\n.vfm--inset[data-v-2836fdb5] {\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n}\n.vfm--overlay[data-v-2836fdb5] {\n background-color: rgba(0, 0, 0, 0.5);\n}\n.vfm--prevent-none[data-v-2836fdb5] {\n pointer-events: none;\n}\n.vfm--prevent-auto[data-v-2836fdb5] {\n pointer-events: auto;\n}\n.vfm--outline-none[data-v-2836fdb5]:focus {\n outline: none;\n}\n.vfm-enter-active[data-v-2836fdb5],\n.vfm-leave-active[data-v-2836fdb5] {\n transition: opacity 0.2s;\n}\n.vfm-enter-from[data-v-2836fdb5],\n.vfm-leave-to[data-v-2836fdb5] {\n opacity: 0;\n}\n"),x.render=j,x.__scopeId="data-v-2836fdb5",x.__file="lib/VueFinalModal.vue";var L={props:{},computed:{api:function(){return this[this.options.key]}},methods:{slice:function(e){this.api.dynamicModals.splice(e,1)},beforeOpen:function(e,t){e.ref.params.value=t.params},isString:function(e){return"string"==typeof e}}},V={class:"modals-container"};function N(e,t){var n=a({},e);return Object.assign(n.props,{options:{type:Object,default:function(){return t}}}),n}function I(n,o){var r=function(n){return function(){return{show:function(o){for(var r=arguments.length,a=new Array(r>1?r-1:0),i=1;i=0;e--)this.openedModals[e].emit("update:modelValue",!1)},toggle:function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),o=1;oe.length)&&(t=e.length);for(var n=0,o=new Array(t);n1),y=[],b=!1,h=0,g=-1,w=function(e,t){var n=!1;return function(e){for(var t=[];e;){if(t.push(e),e.classList.contains("vfm"))return t;e=e.parentElement}return t}(e).forEach((function(e){(function(e){if(!e||e.nodeType!==Node.ELEMENT_NODE)return!1;var t=window.getComputedStyle(e);return["auto","scroll"].includes(t.overflowY)&&e.scrollHeight>e.clientHeight})(e)&&function(e,t){return!(0===e.scrollTop&&t<0||e.scrollTop+e.clientHeight+t>=e.scrollHeight&&t>0)}(e,t)&&(n=!0)})),n},E=function(e){return y.some((function(){return w(e,-h)}))},k=function(e){var t=e||window.event;return!!E(t.target)||(t.touches.length>1||(t.preventDefault&&t.preventDefault(),!1))},S=function(e,t){if(e){if(!y.some((function(t){return t.targetElement===e}))){var n={targetElement:e,options:t||{}};y=[].concat(i(y),[n]),m?(e.ontouchstart=function(e){1===e.targetTouches.length&&(g=e.targetTouches[0].clientY)},e.ontouchmove=function(t){1===t.targetTouches.length&&function(e,t){h=e.targetTouches[0].clientY-g,!E(e.target)&&(t&&0===t.scrollTop&&h>0||function(e){return!!e&&e.scrollHeight-e.scrollTop<=e.clientHeight}(t)&&h<0?k(e):e.stopPropagation())}(t,e)},b||(document.addEventListener("touchmove",k,d?{passive:!1}:void 0),b=!0)):function(e){if(void 0===p){var t=!!e&&!0===e.reserveScrollBarGap,n=window.innerWidth-document.documentElement.clientWidth;if(t&&n>0){var o=parseInt(getComputedStyle(document.body).getPropertyValue("padding-right"),10);p=document.body.style.paddingRight,document.body.style.paddingRight="".concat(o+n,"px")}}void 0===v&&(v=document.body.style.overflow,document.body.style.overflow="hidden")}(t)}}else console.error("disableBodyScroll unsuccessful - targetElement must be provided when calling disableBodyScroll on IOS devices.")},O=function(e){e?(y=y.filter((function(t){return t.targetElement!==e})),m?(e.ontouchstart=null,e.ontouchmove=null,b&&0===y.length&&(document.removeEventListener("touchmove",k,d?{passive:!1}:void 0),b=!1)):y.length||(void 0!==p&&(document.body.style.paddingRight=p,p=void 0),void 0!==v&&(document.body.style.overflow=v,v=void 0))):console.error("enableBodyScroll unsuccessful - targetElement must be provided when calling enableBodyScroll on IOS devices.")},T="enter",C="entering",B="leave",M="leavng",x={props:{name:{type:String,default:null},modelValue:{type:Boolean,default:!1},ssr:{type:Boolean,default:!0},classes:{type:[String,Object,Array],default:""},overlayClass:{type:[String,Object,Array],default:""},contentClass:{type:[String,Object,Array],default:""},styles:{type:[String,Object,Array],default:""},overlayStyle:{type:[String,Object,Array],default:""},contentStyle:{type:[String,Object,Array],default:""},lockScroll:{type:Boolean,default:!0},hideOverlay:{type:Boolean,default:!1},clickToClose:{type:Boolean,default:!0},escToClose:{type:Boolean,default:!1},preventClick:{type:Boolean,default:!1},attach:{type:null,default:!1,validator:function(e){var n=t(e);return"boolean"===n||"string"===n||e.nodeType===Node.ELEMENT_NODE}},transition:{type:[String,Object],default:"vfm"},overlayTransition:{type:[String,Object],default:"vfm"},zIndexAuto:{type:Boolean,default:!0},zIndexBase:{type:[String,Number],default:1e3},zIndex:{type:[Boolean,String,Number],default:!1},focusRetain:{type:Boolean,default:!0},focusTrap:{type:Boolean,default:!1}},emits:["update:modelValue","click-outside","before-open","opened","before-close","closed"],setup:function(t,n){var o=n.emit,r=Symbol("vfm"),i=e.ref(null),l=e.ref(null),u=e.ref(null),c=e.ref(null),d=e.inject(t.options.key),f=e.ref(null),v=new s,p=e.ref(!1),m=e.reactive({modal:!1,overlay:!1}),y=e.ref(null),b=e.ref(null),h=e.ref(!1),g=e.ref({}),w=e.computed((function(){return"string"==typeof t.overlayTransition?{name:t.overlayTransition}:a({},t.overlayTransition)})),E=e.computed((function(){return"string"==typeof t.transition?{name:t.transition}:a({},t.transition)})),k=e.computed((function(){return(t.hideOverlay||y.value===B)&&b.value===B})),x=e.computed((function(){return!1===t.zIndex?!!t.zIndexAuto&&+t.zIndexBase+2*(f.value||0):t.zIndex})),A=e.computed((function(){return a({},!1!==x.value&&{zIndex:x.value})}));function j(){return{uid:r,props:t,emit:o,vfmContainer:l,vfmOverlayTransition:u,vfmTransition:c,getAttachElement:I,modalStackIndex:f,visibility:m,handleLockScroll:N,$focusTrap:v,toggle:_,params:g}}function L(){if(t.modelValue){if(D("before-open",!1))return;var n=I();if(n||!1===t.attach){!1!==t.attach&&n.appendChild(i.value);var o=d.openedModals.findIndex((function(e){return e.uid===r}));-1!==o&&d.openedModals.splice(o,1),d.openedModals.push(j()),f.value=d.openedModals.length-1,N(),d.openedModals.filter((function(e){return e.uid!==r})).forEach((function(e,t){e.getAttachElement()===n&&(e.modalStackIndex.value=t,e.visibility.overlay=!1)})),p.value=!0,e.nextTick((function(){m.overlay=!0,m.modal=!0}))}else!1!==n&&console.warn("Unable to locate target ".concat(t.attach))}}function V(){var e=d.openedModals.findIndex((function(e){return e.uid===r}));if(-1!==e&&d.openedModals.splice(e,1),d.openedModals.length>0){var t=d.openedModals[d.openedModals.length-1];t.props.focusTrap&&t.$focusTrap.firstElement().focus(),(t.props.focusRetain||t.props.focusTrap)&&t.vfmContainer.value.focus(),!t.props.hideOverlay&&(t.visibility.overlay=!0)}m.overlay=!1,m.modal=!1}function N(){t.modelValue&&e.nextTick((function(){t.lockScroll?S(l.value,{reserveScrollBarGap:!0}):O(l.value)}))}function I(){return!1!==t.attach&&("string"==typeof t.attach?!!window&&window.document.querySelector(t.attach):t.attach)}function P(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return a({ref:j()},e)}function D(t,n){var r=!1,a=P({type:t,stop:function(){r=!0}});return o(t,a),!!r&&(h.value=!0,e.nextTick((function(){o("update:modelValue",n)})),!0)}function _(e,n){var r="boolean"==typeof e?e:!t.modelValue;r&&2===arguments.length&&(g.value=n),o("update:modelValue",r)}return e.watch((function(){return t.modelValue}),(function(e){if(h.value)h.value=!1;else if(L(),!e){if(D("before-close",!0))return;V()}})),e.watch((function(){return t.lockScroll}),N),e.watch((function(){return t.hideOverlay}),(function(e){t.modelValue&&!e&&(m.overlay=!0)})),e.watch((function(){return t.attach}),L),e.watch(k,(function(e){e&&(p.value=!1,l.value.style.display="none")}),{flush:"post"}),d.modals.push(j()),e.onMounted((function(){L()})),e.onBeforeUnmount((function(){var e;V(),t.lockScroll&&l.value&&O(l.value),null==i||null===(e=i.value)||void 0===e||e.remove();var n=d.modals.findIndex((function(e){return e.uid===r}));d.modals.splice(n,1)})),{root:i,vfmContainer:l,vfmOverlayTransition:u,vfmTransition:c,computedOverlayTransition:w,computedTransition:E,visible:p,visibility:m,params:g,calculateZIndex:x,bindStyle:A,beforeOverlayEnter:function(){y.value=C},afterOverlayEnter:function(){y.value=T},beforeOverlayLeave:function(){y.value=M},afterOverlayLeave:function(){y.value=B},beforeModalEnter:function(){b.value=C},afterModalEnter:function(){b.value=T,(t.focusRetain||t.focusTrap)&&l.value.focus(),t.focusTrap&&v.enable(l.value),o("opened",P({type:"opened"}))},beforeModalLeave:function(){b.value=M,v.enabled()&&v.disable()},afterModalLeave:function(){b.value=B,f.value=null,t.lockScroll&&O(l.value);var e=!1,n=P({type:"closed",stop:function(){e=!0}});o("closed",n),e||(g.value={})},onClickContainer:function(){o("click-outside",P({type:"click-outside"})),t.clickToClose&&o("update:modelValue",!1)},onEsc:function(){p.value&&t.escToClose&&o("update:modelValue",!1)}}}},A=e.withScopeId("data-v-2836fdb5"),j=A((function(t,n,o,r,a,i){return o.ssr||r.visible?e.withDirectives((e.openBlock(),e.createBlock("div",{key:0,ref:"root",style:r.bindStyle,class:["vfm vfm--inset",[!1===o.attach?"vfm--fixed":"vfm--absolute",{"vfm--prevent-none":o.preventClick}]],onKeydown:n[2]||(n[2]=e.withKeys((function(){return r.onEsc&&r.onEsc.apply(r,arguments)}),["esc"]))},[e.createVNode(e.Transition,e.mergeProps(r.computedOverlayTransition,{onBeforeEnter:r.beforeOverlayEnter,onAfterEnter:r.afterOverlayEnter,onBeforeLeave:r.beforeOverlayLeave,onAfterLeave:r.afterOverlayLeave}),{default:A((function(){return[!o.hideOverlay&&r.visibility.overlay?(e.openBlock(),e.createBlock("div",{key:0,class:["vfm__overlay vfm--overlay vfm--absolute vfm--inset",o.overlayClass],style:o.overlayStyle},null,6)):e.createCommentVNode("v-if",!0)]})),_:1},16,["onBeforeEnter","onAfterEnter","onBeforeLeave","onAfterLeave"]),e.createVNode(e.Transition,e.mergeProps(r.computedTransition,{onBeforeEnter:r.beforeModalEnter,onAfterEnter:r.afterModalEnter,onBeforeLeave:r.beforeModalLeave,onAfterLeave:r.afterModalLeave}),{default:A((function(){return[e.withDirectives(e.createVNode("div",{ref:"vfmContainer",class:["vfm__container vfm--absolute vfm--inset vfm--outline-none",o.classes],style:o.styles,"aria-expanded":r.visibility.modal.toString(),role:"dialog","aria-modal":"true",tabindex:"-1",onClick:n[1]||(n[1]=e.withModifiers((function(){return r.onClickContainer&&r.onClickContainer.apply(r,arguments)}),["self"]))},[e.createVNode("div",{class:["vfm__content",[o.contentClass,{"vfm--prevent-auto":o.preventClick}]],style:o.contentStyle},[e.renderSlot(t.$slots,"default",{params:r.params})],6)],14,["aria-expanded"]),[[e.vShow,r.visibility.modal]])]})),_:3},16,["onBeforeEnter","onAfterEnter","onBeforeLeave","onAfterLeave"])],38)),[[e.vShow,!o.ssr||r.visible]]):e.createCommentVNode("v-if",!0)}));!function(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&"undefined"!=typeof document){var o=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css","top"===n&&o.firstChild?o.insertBefore(r,o.firstChild):o.appendChild(r),r.styleSheet?r.styleSheet.cssText=e:r.appendChild(document.createTextNode(e))}}("\n.vfm--fixed[data-v-2836fdb5] {\n position: fixed;\n}\n.vfm--absolute[data-v-2836fdb5] {\n position: absolute;\n}\n.vfm--inset[data-v-2836fdb5] {\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n}\n.vfm--overlay[data-v-2836fdb5] {\n background-color: rgba(0, 0, 0, 0.5);\n}\n.vfm--prevent-none[data-v-2836fdb5] {\n pointer-events: none;\n}\n.vfm--prevent-auto[data-v-2836fdb5] {\n pointer-events: auto;\n}\n.vfm--outline-none[data-v-2836fdb5]:focus {\n outline: none;\n}\n.vfm-enter-active[data-v-2836fdb5],\n.vfm-leave-active[data-v-2836fdb5] {\n transition: opacity 0.2s;\n}\n.vfm-enter-from[data-v-2836fdb5],\n.vfm-leave-to[data-v-2836fdb5] {\n opacity: 0;\n}\n"),x.render=j,x.__scopeId="data-v-2836fdb5",x.__file="lib/VueFinalModal.vue";var L={props:{},computed:{api:function(){return this[this.options.key]}},methods:{slice:function(e){this.api.dynamicModals.splice(e,1)},beforeOpen:function(e,t){e.ref.params.value=t.params},isString:function(e){return"string"==typeof e}}},V={class:"modals-container"};function N(e,t){var n=a({},e);return Object.assign(n.props,{options:{type:Object,default:function(){return t}}}),n}function I(n,o){var r=function(n){return function(){return{show:function(o){for(var r=arguments.length,a=new Array(r>1?r-1:0),i=1;i=0;e--)this.openedModals[e].emit("update:modelValue",!1)},toggle:function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),o=1;o {\n return event.key === 'Tab' || event.keyCode === 9\n}\n\nconst querySelectorAll = (element, selector) => {\n return [...(element.querySelectorAll(selector) || [])]\n}\n\nconst queryFocusableElements = element => {\n return querySelectorAll(element, FOCUSABLE_ELEMENTS_QUERY)\n}\n\nconst isFocused = element => {\n return element == document.activeElement\n}\n\nconst isNothingFocused = () => {\n return !document.activeElement\n}\n\nclass FocusTrap {\n constructor() {\n this.root = null\n this.elements = []\n\n this.onKeyDown = this.onKeyDown.bind(this)\n this.enable = this.enable.bind(this)\n this.disable = this.disable.bind(this)\n this.firstElement = this.firstElement.bind(this)\n this.lastElement = this.lastElement.bind(this)\n }\n\n lastElement() {\n return this.elements[this.elements.length - 1] || null\n }\n\n firstElement() {\n return this.elements[0] || null\n }\n\n onKeyDown(event) {\n if (!isTabPressed(event)) {\n return\n }\n\n // SHIFT + TAB\n if (event.shiftKey) {\n if (isFocused(this.firstElement())) {\n this.lastElement().focus()\n event.preventDefault()\n }\n return\n }\n\n // TAB\n if (isNothingFocused() || isFocused(this.lastElement())) {\n this.firstElement().focus()\n event.preventDefault()\n return\n }\n }\n\n enabled() {\n return !!this.root\n }\n\n enable(root) {\n if (!root) {\n return\n }\n\n this.root = root\n this.elements = queryFocusableElements(this.root)\n\n this.root.addEventListener('keydown', this.onKeyDown)\n }\n\n disable() {\n this.root.removeEventListener('keydown', this.onKeyDown)\n this.root = null\n }\n}\n\nexport default FocusTrap\n","// stolen from body-scroll-lock\n\n// Older browsers don't support event options, feature detect it.\nlet hasPassiveEvents = false\nif (typeof window !== 'undefined') {\n const passiveTestOptions = {\n get passive() {\n hasPassiveEvents = true\n return undefined\n }\n }\n window.addEventListener('testPassive', null, passiveTestOptions)\n window.removeEventListener('testPassive', null, passiveTestOptions)\n}\n\nconst isIosDevice =\n typeof window !== 'undefined' &&\n window.navigator &&\n window.navigator.platform &&\n (/iP(ad|hone|od)/.test(window.navigator.platform) ||\n (window.navigator.platform === 'MacIntel' && window.navigator.maxTouchPoints > 1))\n\nlet locks = []\nlet documentListenerAdded = false\nlet clientY = 0\nlet initialClientY = -1\nlet previousBodyOverflowSetting\nlet previousBodyPaddingRight\n\nconst hasScrollbar = el => {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return false\n\n const style = window.getComputedStyle(el)\n return ['auto', 'scroll'].includes(style.overflowY) && el.scrollHeight > el.clientHeight\n}\n\nconst shouldScroll = (el, delta) => {\n if (el.scrollTop === 0 && delta < 0) return false\n if (el.scrollTop + el.clientHeight + delta >= el.scrollHeight && delta > 0) return false\n return true\n}\n\nconst composedPath = el => {\n const path = []\n while (el) {\n path.push(el)\n if (el.classList.contains('vfm')) return path\n el = el.parentElement\n }\n return path\n}\n\nconst hasAnyScrollableEl = (el, delta) => {\n let hasAnyScrollableEl = false\n const path = composedPath(el)\n path.forEach(el => {\n if (hasScrollbar(el) && shouldScroll(el, delta)) {\n hasAnyScrollableEl = true\n }\n })\n return hasAnyScrollableEl\n}\n\n// returns true if `el` should be allowed to receive touchmove events.\nconst allowTouchMove = el => locks.some(() => hasAnyScrollableEl(el, -clientY))\n\nconst preventDefault = rawEvent => {\n const e = rawEvent || window.event\n\n // For the case whereby consumers adds a touchmove event listener to document.\n // Recall that we do document.addEventListener('touchmove', preventDefault, { passive: false })\n // in disableBodyScroll - so if we provide this opportunity to allowTouchMove, then\n // the touchmove event on document will break.\n if (allowTouchMove(e.target)) {\n return true\n }\n // Do not prevent if the event has more than one touch (usually meaning this is a multi touch gesture like pinch to zoom).\n if (e.touches.length > 1) return true\n\n if (e.preventDefault) e.preventDefault()\n\n return false\n}\n\nconst setOverflowHidden = options => {\n // If previousBodyPaddingRight is already set, don't set it again.\n if (previousBodyPaddingRight === undefined) {\n const reserveScrollBarGap = !!options && options.reserveScrollBarGap === true\n const scrollBarGap = window.innerWidth - document.documentElement.clientWidth\n\n if (reserveScrollBarGap && scrollBarGap > 0) {\n const computedBodyPaddingRight = parseInt(getComputedStyle(document.body).getPropertyValue('padding-right'), 10)\n previousBodyPaddingRight = document.body.style.paddingRight\n document.body.style.paddingRight = `${computedBodyPaddingRight + scrollBarGap}px`\n }\n }\n // If previousBodyOverflowSetting is already set, don't set it again.\n if (previousBodyOverflowSetting === undefined) {\n previousBodyOverflowSetting = document.body.style.overflow\n document.body.style.overflow = 'hidden'\n }\n}\n\nconst restoreOverflowSetting = () => {\n if (previousBodyPaddingRight !== undefined) {\n document.body.style.paddingRight = previousBodyPaddingRight\n\n // Restore previousBodyPaddingRight to undefined so setOverflowHidden knows it\n // can be set again.\n previousBodyPaddingRight = undefined\n }\n\n if (previousBodyOverflowSetting !== undefined) {\n document.body.style.overflow = previousBodyOverflowSetting\n\n // Restore previousBodyOverflowSetting to undefined\n // so setOverflowHidden knows it can be set again.\n previousBodyOverflowSetting = undefined\n }\n}\n// https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollHeight#Problems_and_solutions\nconst isTargetElementTotallyScrolled = targetElement =>\n targetElement ? targetElement.scrollHeight - targetElement.scrollTop <= targetElement.clientHeight : false\n\nconst handleScroll = (event, targetElement) => {\n clientY = event.targetTouches[0].clientY - initialClientY\n\n if (allowTouchMove(event.target)) {\n return false\n }\n\n if (targetElement && targetElement.scrollTop === 0 && clientY > 0) {\n // element is at the top of its scroll.\n return preventDefault(event)\n }\n\n if (isTargetElementTotallyScrolled(targetElement) && clientY < 0) {\n // element is at the bottom of its scroll.\n return preventDefault(event)\n }\n\n event.stopPropagation()\n return true\n}\n\nexport const disableBodyScroll = (targetElement, options) => {\n // targetElement must be provided\n if (!targetElement) {\n // eslint-disable-next-line no-console\n console.error(\n 'disableBodyScroll unsuccessful - targetElement must be provided when calling disableBodyScroll on IOS devices.'\n )\n return\n }\n\n // disableBodyScroll must not have been called on this targetElement before\n if (locks.some(lock => lock.targetElement === targetElement)) {\n return\n }\n\n const lock = {\n targetElement,\n options: options || {}\n }\n\n locks = [...locks, lock]\n\n if (isIosDevice) {\n targetElement.ontouchstart = event => {\n if (event.targetTouches.length === 1) {\n // detect single touch.\n initialClientY = event.targetTouches[0].clientY\n }\n }\n targetElement.ontouchmove = event => {\n if (event.targetTouches.length === 1) {\n // detect single touch.\n handleScroll(event, targetElement)\n }\n }\n\n if (!documentListenerAdded) {\n document.addEventListener('touchmove', preventDefault, hasPassiveEvents ? { passive: false } : undefined)\n documentListenerAdded = true\n }\n } else {\n setOverflowHidden(options)\n }\n}\n\nexport const enableBodyScroll = targetElement => {\n if (!targetElement) {\n // eslint-disable-next-line no-console\n console.error(\n 'enableBodyScroll unsuccessful - targetElement must be provided when calling enableBodyScroll on IOS devices.'\n )\n return\n }\n\n locks = locks.filter(lock => lock.targetElement !== targetElement)\n\n if (isIosDevice) {\n targetElement.ontouchstart = null\n targetElement.ontouchmove = null\n\n if (documentListenerAdded && locks.length === 0) {\n document.removeEventListener('touchmove', preventDefault, hasPassiveEvents ? { passive: false } : undefined)\n documentListenerAdded = false\n }\n } else if (!locks.length) {\n restoreOverflowSetting()\n }\n}\n","\n\n\n\n\n","\n\n\n\n\n","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","\n\n\n","\n\n\n","import VueFinalModal from './VueFinalModal.vue'\nimport ModalsContainer from './ModalsContainer.vue'\nimport { shallowReactive } from 'vue'\n\nfunction assignOptions(component, options) {\n const _component = { ...component }\n Object.assign(_component.props, {\n options: { type: Object, default: () => options }\n })\n return _component\n}\n\nfunction createVfm(options) {\n let vfm\n\n return function() {\n vfm = {\n show(modal, ...args) {\n switch (typeof modal) {\n case 'string':\n this.toggle(modal, true, ...args)\n break\n case 'object':\n {\n const defaultModal = {\n value: true,\n id: Symbol('dynamicModal'),\n component: options.componentName,\n bind: {},\n slots: {},\n on: {},\n params: args[0]\n }\n this.dynamicModals.push(shallowReactive(Object.assign(defaultModal, modal)))\n }\n break\n }\n },\n hide(...names) {\n this.toggle(names, false)\n },\n hideAll() {\n for (let i = this.openedModals.length - 1; i >= 0; i--) {\n this.openedModals[i].emit('update:modelValue', false)\n }\n },\n toggle(name, ...args) {\n const modals = Array.isArray(name) ? this.get(...name) : this.get(name)\n modals.forEach(modal => modal.toggle(...args))\n },\n get(...names) {\n return this.modals.filter(modal => names.includes(modal.props.name))\n },\n dynamicModals: shallowReactive([]),\n openedModals: [],\n modals: []\n }\n return vfm\n }\n}\n\nexport function bindPrototype(app, options) {\n const vfm = createVfm(options)()\n Object.defineProperty(app.config.globalProperties, options.key, {\n get() {\n return vfm\n }\n })\n app.provide(options.key, vfm)\n}\n\nexport function registModal(app, options) {\n app.component(options.componentName, assignOptions(VueFinalModal, options))\n}\nexport function registContainer(app, options) {\n app.component(options.dynamicContainerName, assignOptions(ModalsContainer, options))\n}\n","export const DUPLICATE_KEY = '[vue-final-modal] Duplicate registration API key of VueFinalModal.'\n\nexport const DUPLICATE_COMPONENT = '[vue-final-modal] Duplicate registration componentName of VueFinalModal.'\n\nexport const DUPLICATE_DYNAMIC_CONTAINER =\n '[vue-final-modal] Duplicate registration dynamicContainerName of ModalsContainer.'\n","import { bindPrototype, registModal, registContainer } from './PluginCore'\nimport { DUPLICATE_KEY, DUPLICATE_COMPONENT, DUPLICATE_DYNAMIC_CONTAINER } from './utils/errors'\n\nconst defaultOptions = {\n componentName: 'VueFinalModal',\n dynamicContainerName: 'ModalsContainer',\n key: '$vfm'\n}\n\nconst validPlugin = (duplicateKey, duplicateComponent, duplicateDynamicContainer) => {\n if (!(duplicateKey || duplicateComponent || duplicateDynamicContainer)) return true\n\n if (typeof window === 'undefined') return false\n\n duplicateKey && console.error(DUPLICATE_KEY)\n duplicateComponent && console.error(DUPLICATE_COMPONENT)\n duplicateDynamicContainer && console.error(DUPLICATE_DYNAMIC_CONTAINER)\n\n return false\n}\n\nconst Plugin = pluginOptions => ({\n install(app, options) {\n const _options = Object.assign({}, defaultOptions, pluginOptions, options)\n const duplicateKey = app.config.globalProperties[_options.key]\n const duplicateComponent = app._context.components[_options.componentName]\n const duplicateDynamicContainer = app._context.components[_options.dynamicContainerName]\n\n if (validPlugin(duplicateKey, duplicateComponent, duplicateDynamicContainer)) {\n bindPrototype(app, _options)\n registModal(app, _options)\n registContainer(app, _options)\n }\n }\n})\n\nexport default Plugin\n"],"names":["queryFocusableElements","element","selector","querySelectorAll","isFocused","document","activeElement","FocusTrap","root","elements","onKeyDown","this","bind","enable","disable","firstElement","lastElement","length","event","key","keyCode","isTabPressed","shiftKey","focus","preventDefault","addEventListener","removeEventListener","hasPassiveEvents","window","passiveTestOptions","previousBodyOverflowSetting","previousBodyPaddingRight","isIosDevice","navigator","platform","test","maxTouchPoints","locks","documentListenerAdded","clientY","initialClientY","hasAnyScrollableEl","el","delta","path","push","classList","contains","parentElement","composedPath","forEach","nodeType","Node","ELEMENT_NODE","style","getComputedStyle","includes","overflowY","scrollHeight","clientHeight","hasScrollbar","scrollTop","shouldScroll","allowTouchMove","some","rawEvent","e","target","touches","disableBodyScroll","targetElement","options","lock","ontouchstart","targetTouches","ontouchmove","isTargetElementTotallyScrolled","stopPropagation","handleScroll","passive","undefined","reserveScrollBarGap","scrollBarGap","innerWidth","documentElement","clientWidth","computedBodyPaddingRight","parseInt","body","getPropertyValue","paddingRight","overflow","setOverflowHidden","console","error","enableBodyScroll","filter","TransitionState","props","name","type","String","default","modelValue","Boolean","ssr","classes","Object","Array","overlayClass","contentClass","styles","overlayStyle","contentStyle","lockScroll","hideOverlay","clickToClose","escToClose","preventClick","attach","validator","val","transition","overlayTransition","zIndexAuto","zIndexBase","Number","zIndex","focusRetain","focusTrap","emits","setup","emit","uid","Symbol","ref","vfmContainer","vfmOverlayTransition","vfmTransition","$vfm","inject","modalStackIndex","$focusTrap","visible","visibility","reactive","modal","overlay","overlayTransitionState","modalTransitionState","_stopEvent","params","computedOverlayTransition","computed","computedTransition","isComponentReadyToBeDestroyed","value","calculateZIndex","bindStyle","getModalInfo","getAttachElement","handleLockScroll","toggle","mounted","emitEvent","appendChild","index","openedModals","findIndex","vm","splice","nextTick","warn","concat","close","$_vm","querySelector","createModalEvent","eventProps","eventType","stopEvent","stop","show","_params","arguments","watch","display","flush","modals","onMounted","onBeforeUnmount","remove","beforeOverlayEnter","afterOverlayEnter","beforeOverlayLeave","afterOverlayLeave","beforeModalEnter","afterModalEnter","beforeModalLeave","enabled","afterModalLeave","onClickContainer","onEsc","$props","$setup","_createBlock","class","onKeydown","_createVNode","_mergeProps","onBeforeEnter","onAfterEnter","onBeforeLeave","onAfterLeave","toString","role","tabindex","onClick","_renderSlot","css","insertAt","head","getElementsByTagName","createElement","firstChild","insertBefore","styleSheet","cssText","createTextNode","api","methods","slice","dynamicModals","beforeOpen","isString","assignOptions","component","_component","assign","bindPrototype","app","vfm","args","defaultModal","id","componentName","slots","on","shallowReactive","hide","names","hideAll","i","isArray","get","createVfm","defineProperty","config","globalProperties","provide","_hoisted_1","$options","_toHandlers","onClosed","onBeforeOpen","slot","innerHTML","defaultOptions","dynamicContainerName","pluginOptions","install","_options","duplicateKey","duplicateComponent","duplicateDynamicContainer","validPlugin","_context","components","VueFinalModal","registModal","ModalsContainer","registContainer"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"VueFinalModal.umd.js","sources":["../lib/utils/focusTrap.js","../lib/utils/bodyScrollLock.js","../lib/VueFinalModal.vue","../lib/VueFinalModal.vue?vue&type=template&id=2836fdb5&lang.js","../node_modules/style-inject/dist/style-inject.es.js","../lib/ModalsContainer.vue","../lib/ModalsContainer.vue?vue&type=template&id=74d49173&lang.js","../lib/PluginCore.js","../lib/utils/errors.js","../lib/Plugin.js"],"sourcesContent":["// stolen from vue-js-modal\n\nconst FOCUSABLE_ELEMENTS_QUERY =\n 'button:not([disabled]), ' +\n 'select:not([disabled]), ' +\n 'a[href]:not([disabled]), ' +\n 'area[href]:not([disabled]), ' +\n '[contentEditable=\"\"]:not([disabled]), ' +\n '[contentEditable=\"true\"]:not([disabled]), ' +\n '[contentEditable=\"TRUE\"]:not([disabled]), ' +\n 'textarea:not([disabled]), ' +\n 'iframe:not([disabled]), ' +\n 'input:not([disabled]), ' +\n 'summary:not([disabled]), ' +\n '[tabindex]:not([tabindex=\"-1\"])'\n\nconst isTabPressed = event => {\n return event.key === 'Tab' || event.keyCode === 9\n}\n\nconst querySelectorAll = (element, selector) => {\n return [...(element.querySelectorAll(selector) || [])]\n}\n\nconst queryFocusableElements = element => {\n return querySelectorAll(element, FOCUSABLE_ELEMENTS_QUERY)\n}\n\nconst isFocused = element => {\n return element == document.activeElement\n}\n\nconst isNothingFocused = () => {\n return !document.activeElement\n}\n\nclass FocusTrap {\n constructor() {\n this.root = null\n this.elements = []\n\n this.onKeyDown = this.onKeyDown.bind(this)\n this.enable = this.enable.bind(this)\n this.disable = this.disable.bind(this)\n this.firstElement = this.firstElement.bind(this)\n this.lastElement = this.lastElement.bind(this)\n }\n\n lastElement() {\n return this.elements[this.elements.length - 1] || null\n }\n\n firstElement() {\n return this.elements[0] || null\n }\n\n onKeyDown(event) {\n if (!isTabPressed(event)) {\n return\n }\n\n // SHIFT + TAB\n if (event.shiftKey) {\n if (isFocused(this.firstElement())) {\n this.lastElement().focus()\n event.preventDefault()\n }\n return\n }\n\n // TAB\n if (isNothingFocused() || isFocused(this.lastElement())) {\n this.firstElement().focus()\n event.preventDefault()\n return\n }\n }\n\n enabled() {\n return !!this.root\n }\n\n enable(root) {\n if (!root) {\n return\n }\n\n this.root = root\n this.elements = queryFocusableElements(this.root)\n\n this.root.addEventListener('keydown', this.onKeyDown)\n }\n\n disable() {\n this.root.removeEventListener('keydown', this.onKeyDown)\n this.root = null\n }\n}\n\nexport default FocusTrap\n","// stolen from body-scroll-lock\n\n// Older browsers don't support event options, feature detect it.\nlet hasPassiveEvents = false\nif (typeof window !== 'undefined') {\n const passiveTestOptions = {\n get passive() {\n hasPassiveEvents = true\n return undefined\n }\n }\n window.addEventListener('testPassive', null, passiveTestOptions)\n window.removeEventListener('testPassive', null, passiveTestOptions)\n}\n\nconst isIosDevice =\n typeof window !== 'undefined' &&\n window.navigator &&\n window.navigator.platform &&\n (/iP(ad|hone|od)/.test(window.navigator.platform) ||\n (window.navigator.platform === 'MacIntel' && window.navigator.maxTouchPoints > 1))\n\nlet locks = []\nlet documentListenerAdded = false\nlet clientY = 0\nlet initialClientY = -1\nlet previousBodyOverflowSetting\nlet previousBodyPaddingRight\n\nconst hasScrollbar = el => {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return false\n\n const style = window.getComputedStyle(el)\n return ['auto', 'scroll'].includes(style.overflowY) && el.scrollHeight > el.clientHeight\n}\n\nconst shouldScroll = (el, delta) => {\n if (el.scrollTop === 0 && delta < 0) return false\n if (el.scrollTop + el.clientHeight + delta >= el.scrollHeight && delta > 0) return false\n return true\n}\n\nconst composedPath = el => {\n const path = []\n while (el) {\n path.push(el)\n if (el.classList.contains('vfm')) return path\n el = el.parentElement\n }\n return path\n}\n\nconst hasAnyScrollableEl = (el, delta) => {\n let hasAnyScrollableEl = false\n const path = composedPath(el)\n path.forEach(el => {\n if (hasScrollbar(el) && shouldScroll(el, delta)) {\n hasAnyScrollableEl = true\n }\n })\n return hasAnyScrollableEl\n}\n\n// returns true if `el` should be allowed to receive touchmove events.\nconst allowTouchMove = el => locks.some(() => hasAnyScrollableEl(el, -clientY))\n\nconst preventDefault = rawEvent => {\n const e = rawEvent || window.event\n\n // For the case whereby consumers adds a touchmove event listener to document.\n // Recall that we do document.addEventListener('touchmove', preventDefault, { passive: false })\n // in disableBodyScroll - so if we provide this opportunity to allowTouchMove, then\n // the touchmove event on document will break.\n if (allowTouchMove(e.target)) {\n return true\n }\n // Do not prevent if the event has more than one touch (usually meaning this is a multi touch gesture like pinch to zoom).\n if (e.touches.length > 1) return true\n\n if (e.preventDefault) e.preventDefault()\n\n return false\n}\n\nconst setOverflowHidden = options => {\n // If previousBodyPaddingRight is already set, don't set it again.\n if (previousBodyPaddingRight === undefined) {\n const reserveScrollBarGap = !!options && options.reserveScrollBarGap === true\n const scrollBarGap = window.innerWidth - document.documentElement.clientWidth\n\n if (reserveScrollBarGap && scrollBarGap > 0) {\n const computedBodyPaddingRight = parseInt(getComputedStyle(document.body).getPropertyValue('padding-right'), 10)\n previousBodyPaddingRight = document.body.style.paddingRight\n document.body.style.paddingRight = `${computedBodyPaddingRight + scrollBarGap}px`\n }\n }\n // If previousBodyOverflowSetting is already set, don't set it again.\n if (previousBodyOverflowSetting === undefined) {\n previousBodyOverflowSetting = document.body.style.overflow\n document.body.style.overflow = 'hidden'\n }\n}\n\nconst restoreOverflowSetting = () => {\n if (previousBodyPaddingRight !== undefined) {\n document.body.style.paddingRight = previousBodyPaddingRight\n\n // Restore previousBodyPaddingRight to undefined so setOverflowHidden knows it\n // can be set again.\n previousBodyPaddingRight = undefined\n }\n\n if (previousBodyOverflowSetting !== undefined) {\n document.body.style.overflow = previousBodyOverflowSetting\n\n // Restore previousBodyOverflowSetting to undefined\n // so setOverflowHidden knows it can be set again.\n previousBodyOverflowSetting = undefined\n }\n}\n// https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollHeight#Problems_and_solutions\nconst isTargetElementTotallyScrolled = targetElement =>\n targetElement ? targetElement.scrollHeight - targetElement.scrollTop <= targetElement.clientHeight : false\n\nconst handleScroll = (event, targetElement) => {\n clientY = event.targetTouches[0].clientY - initialClientY\n\n if (allowTouchMove(event.target)) {\n return false\n }\n\n if (targetElement && targetElement.scrollTop === 0 && clientY > 0) {\n // element is at the top of its scroll.\n return preventDefault(event)\n }\n\n if (isTargetElementTotallyScrolled(targetElement) && clientY < 0) {\n // element is at the bottom of its scroll.\n return preventDefault(event)\n }\n\n event.stopPropagation()\n return true\n}\n\nexport const disableBodyScroll = (targetElement, options) => {\n // targetElement must be provided\n if (!targetElement) {\n // eslint-disable-next-line no-console\n console.error(\n 'disableBodyScroll unsuccessful - targetElement must be provided when calling disableBodyScroll on IOS devices.'\n )\n return\n }\n\n // disableBodyScroll must not have been called on this targetElement before\n if (locks.some(lock => lock.targetElement === targetElement)) {\n return\n }\n\n const lock = {\n targetElement,\n options: options || {}\n }\n\n locks = [...locks, lock]\n\n if (isIosDevice) {\n targetElement.ontouchstart = event => {\n if (event.targetTouches.length === 1) {\n // detect single touch.\n initialClientY = event.targetTouches[0].clientY\n }\n }\n targetElement.ontouchmove = event => {\n if (event.targetTouches.length === 1) {\n // detect single touch.\n handleScroll(event, targetElement)\n }\n }\n\n if (!documentListenerAdded) {\n document.addEventListener('touchmove', preventDefault, hasPassiveEvents ? { passive: false } : undefined)\n documentListenerAdded = true\n }\n } else {\n setOverflowHidden(options)\n }\n}\n\nexport const enableBodyScroll = targetElement => {\n if (!targetElement) {\n // eslint-disable-next-line no-console\n console.error(\n 'enableBodyScroll unsuccessful - targetElement must be provided when calling enableBodyScroll on IOS devices.'\n )\n return\n }\n\n locks = locks.filter(lock => lock.targetElement !== targetElement)\n\n if (isIosDevice) {\n targetElement.ontouchstart = null\n targetElement.ontouchmove = null\n\n if (documentListenerAdded && locks.length === 0) {\n document.removeEventListener('touchmove', preventDefault, hasPassiveEvents ? { passive: false } : undefined)\n documentListenerAdded = false\n }\n } else if (!locks.length) {\n restoreOverflowSetting()\n }\n}\n","\n\n\n\n\n","\n\n\n\n\n","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","\n\n\n","\n\n\n","import VueFinalModal from './VueFinalModal.vue'\nimport ModalsContainer from './ModalsContainer.vue'\nimport { shallowReactive } from 'vue'\n\nfunction assignOptions(component, options) {\n const _component = { ...component }\n Object.assign(_component.props, {\n options: { type: Object, default: () => options }\n })\n return _component\n}\n\nfunction createVfm(options) {\n let vfm\n\n return function() {\n vfm = {\n show(modal, ...args) {\n switch (typeof modal) {\n case 'string':\n this.toggle(modal, true, ...args)\n break\n case 'object':\n {\n const defaultModal = {\n value: true,\n id: Symbol('dynamicModal'),\n component: options.componentName,\n bind: {},\n slots: {},\n on: {},\n params: args[0]\n }\n this.dynamicModals.push(shallowReactive(Object.assign(defaultModal, modal)))\n }\n break\n }\n },\n hide(...names) {\n this.toggle(names, false)\n },\n hideAll() {\n for (let i = this.openedModals.length - 1; i >= 0; i--) {\n this.openedModals[i].emit('update:modelValue', false)\n }\n },\n toggle(name, ...args) {\n const modals = Array.isArray(name) ? this.get(...name) : this.get(name)\n modals.forEach(modal => modal.toggle(...args))\n },\n get(...names) {\n return this.modals.filter(modal => names.includes(modal.props.name))\n },\n dynamicModals: shallowReactive([]),\n openedModals: [],\n modals: []\n }\n return vfm\n }\n}\n\nexport function bindPrototype(app, options) {\n const vfm = createVfm(options)()\n Object.defineProperty(app.config.globalProperties, options.key, {\n get() {\n return vfm\n }\n })\n app.provide(options.key, vfm)\n}\n\nexport function registModal(app, options) {\n app.component(options.componentName, assignOptions(VueFinalModal, options))\n}\nexport function registContainer(app, options) {\n app.component(options.dynamicContainerName, assignOptions(ModalsContainer, options))\n}\n","export const DUPLICATE_KEY = '[vue-final-modal] Duplicate registration API key of VueFinalModal.'\n\nexport const DUPLICATE_COMPONENT = '[vue-final-modal] Duplicate registration componentName of VueFinalModal.'\n\nexport const DUPLICATE_DYNAMIC_CONTAINER =\n '[vue-final-modal] Duplicate registration dynamicContainerName of ModalsContainer.'\n","import { bindPrototype, registModal, registContainer } from './PluginCore'\nimport { DUPLICATE_KEY, DUPLICATE_COMPONENT, DUPLICATE_DYNAMIC_CONTAINER } from './utils/errors'\n\nconst defaultOptions = {\n componentName: 'VueFinalModal',\n dynamicContainerName: 'ModalsContainer',\n key: '$vfm'\n}\n\nconst validPlugin = (duplicateKey, duplicateComponent, duplicateDynamicContainer) => {\n if (!(duplicateKey || duplicateComponent || duplicateDynamicContainer)) return true\n\n if (typeof window === 'undefined') return false\n\n duplicateKey && console.error(DUPLICATE_KEY)\n duplicateComponent && console.error(DUPLICATE_COMPONENT)\n duplicateDynamicContainer && console.error(DUPLICATE_DYNAMIC_CONTAINER)\n\n return false\n}\n\nconst Plugin = pluginOptions => ({\n install(app, options) {\n const _options = Object.assign({}, defaultOptions, pluginOptions, options)\n const duplicateKey = app.config.globalProperties[_options.key]\n const duplicateComponent = app._context.components[_options.componentName]\n const duplicateDynamicContainer = app._context.components[_options.dynamicContainerName]\n\n if (validPlugin(duplicateKey, duplicateComponent, duplicateDynamicContainer)) {\n bindPrototype(app, _options)\n registModal(app, _options)\n registContainer(app, _options)\n }\n }\n})\n\nexport default Plugin\n"],"names":["queryFocusableElements","element","selector","querySelectorAll","isFocused","document","activeElement","FocusTrap","root","elements","onKeyDown","this","bind","enable","disable","firstElement","lastElement","length","event","key","keyCode","isTabPressed","shiftKey","focus","preventDefault","addEventListener","removeEventListener","hasPassiveEvents","window","passiveTestOptions","previousBodyOverflowSetting","previousBodyPaddingRight","isIosDevice","navigator","platform","test","maxTouchPoints","locks","documentListenerAdded","clientY","initialClientY","hasAnyScrollableEl","el","delta","path","push","classList","contains","parentElement","composedPath","forEach","nodeType","Node","ELEMENT_NODE","style","getComputedStyle","includes","overflowY","scrollHeight","clientHeight","hasScrollbar","scrollTop","shouldScroll","allowTouchMove","some","rawEvent","e","target","touches","disableBodyScroll","targetElement","options","lock","ontouchstart","targetTouches","ontouchmove","isTargetElementTotallyScrolled","stopPropagation","handleScroll","passive","undefined","reserveScrollBarGap","scrollBarGap","innerWidth","documentElement","clientWidth","computedBodyPaddingRight","parseInt","body","getPropertyValue","paddingRight","overflow","setOverflowHidden","console","error","enableBodyScroll","filter","TransitionState","props","name","type","String","modelValue","Boolean","ssr","classes","Object","Array","overlayClass","contentClass","styles","overlayStyle","contentStyle","lockScroll","hideOverlay","clickToClose","escToClose","preventClick","attach","validator","val","transition","overlayTransition","zIndexAuto","zIndexBase","Number","zIndex","focusRetain","focusTrap","emits","setup","emit","uid","Symbol","ref","vfmContainer","vfmOverlayTransition","vfmTransition","$vfm","inject","modalStackIndex","$focusTrap","visible","visibility","reactive","modal","overlay","overlayTransitionState","modalTransitionState","_stopEvent","params","computedOverlayTransition","computed","computedTransition","isComponentReadyToBeDestroyed","value","calculateZIndex","bindStyle","getModalInfo","getAttachElement","handleLockScroll","toggle","mounted","emitEvent","appendChild","index","openedModals","findIndex","vm","splice","nextTick","warn","concat","close","$_vm","querySelector","createModalEvent","eventProps","eventType","stopEvent","stop","show","_params","arguments","watch","display","flush","modals","onMounted","onBeforeUnmount","remove","beforeOverlayEnter","afterOverlayEnter","beforeOverlayLeave","afterOverlayLeave","beforeModalEnter","afterModalEnter","beforeModalLeave","enabled","afterModalLeave","onClickContainer","onEsc","$props","$setup","_createBlock","onKeydown","_createVNode","_mergeProps","onBeforeEnter","onAfterEnter","onBeforeLeave","onAfterLeave","toString","role","tabindex","onClick","_renderSlot","css","insertAt","head","getElementsByTagName","createElement","firstChild","insertBefore","styleSheet","cssText","createTextNode","api","methods","slice","dynamicModals","beforeOpen","isString","assignOptions","component","_component","assign","bindPrototype","app","vfm","args","defaultModal","id","componentName","slots","on","shallowReactive","hide","names","hideAll","i","isArray","get","createVfm","defineProperty","config","globalProperties","provide","_hoisted_1","$options","_toHandlers","onClosed","onBeforeOpen","slot","_createCommentVNode","innerHTML","defaultOptions","dynamicContainerName","pluginOptions","install","_options","duplicateKey","duplicateComponent","duplicateDynamicContainer","validPlugin","_context","components","VueFinalModal","registModal","ModalsContainer","registContainer"],"mappings":"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"} \ No newline at end of file diff --git a/docs/.eslintrc.js b/docs/.eslintrc.js new file mode 100644 index 00000000..c1d35d26 --- /dev/null +++ b/docs/.eslintrc.js @@ -0,0 +1,3 @@ +module.exports = { + extends: ['plugin:vue/essential', 'plugin:vue/strongly-recommended', 'eslint:recommended', '@vue/prettier'] +} diff --git a/docs/components/examples/VContent.vue b/docs/components/examples/VDescription.vue similarity index 100% rename from docs/components/examples/VContent.vue rename to docs/components/examples/VDescription.vue diff --git a/docs/components/examples/basic/BasicOptions.vue b/docs/components/examples/basic/BasicOptions.vue index 507aec82..647241ac 100644 --- a/docs/components/examples/basic/BasicOptions.vue +++ b/docs/components/examples/basic/BasicOptions.vue @@ -19,7 +19,7 @@ @confirm="showModal = false" @cancel="showModal = false" > - +

Lorem Ipsum is simply dummy text of the printing and typesetting industry.

diff --git a/docs/components/examples/basic/BasicPlainStyleCodepen.vue b/docs/components/examples/basic/BasicPlainStyleCodepen.vue index 9a98994e..d4274da7 100644 --- a/docs/components/examples/basic/BasicPlainStyleCodepen.vue +++ b/docs/components/examples/basic/BasicPlainStyleCodepen.vue @@ -1,7 +1,7 @@