@square/maker
Version:
Maker Design System by Square
2 lines • 11.5 kB
JavaScript
!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t(require("../../components/Theme"),require("../../components/TouchCapture"),require("../../components/TransitionFadeIn"),require("../../components/TransitionResponsive"),require("../../utils/RenderFn"),require("../../utils/assert"),require("../../utils/css-validator"),require("../../utils/transitions"),require("lodash/throttle"),require("vue"));else if("function"==typeof define&&define.amd)define(["../../components/Theme","../../components/TouchCapture","../../components/TransitionFadeIn","../../components/TransitionResponsive","../../utils/RenderFn","../../utils/assert","../../utils/css-validator","../../utils/transitions","lodash/throttle","vue"],t);else{var o="object"==typeof exports?t(require("../../components/Theme"),require("../../components/TouchCapture"),require("../../components/TransitionFadeIn"),require("../../components/TransitionResponsive"),require("../../utils/RenderFn"),require("../../utils/assert"),require("../../utils/css-validator"),require("../../utils/transitions"),require("lodash/throttle"),require("vue")):t(e["../../components/Theme"],e["../../components/TouchCapture"],e["../../components/TransitionFadeIn"],e["../../components/TransitionResponsive"],e["../../utils/RenderFn"],e["../../utils/assert"],e["../../utils/css-validator"],e["../../utils/transitions"],e["lodash/throttle"],e.vue);for(var n in o)("object"==typeof exports?exports:e)[n]=o[n]}}(this,(function(e,t,o,n,r,s,i,a,l,d){return(()=>{var c={89:function(e){e.exports=function(){"use strict";var e=function(e){var t=e.props,o=e.data,n=e.parent,r=function e(t){return Array.isArray(t)?(o=t=>e(t),t.reduce(((e,t)=>e.concat(o(t))),[])):null!==(n=t)&&"object"==typeof n?function(e){let t=[];for(const o in e)e[o]&&t.push(o);return t}(t):"string"==typeof t&&t?[t]:[];var o,n}([o.staticClass,o.class]);if(r){var s,i,a,l=(i=(s=t).body,a=s.document,i?window.document.body:!!a&&window.document.documentElement);if(l){var d=function(e,t){if(!t.length)return;const{classList:o}=e;return t.filter((e=>{if(!o.contains(e))return o.add(e),!0}))}(l,r),c=function(){!function(e,t){if(!t||!t.length)return;let o;for(;o=t.shift();)e.classList.remove(o);e.classList.length||e.removeAttribute("class")}(l,d)};n.$once("hook:beforeUpdate",c),n.$once("hook:destroyed",c)}}},t=Object.prototype.hasOwnProperty,o=function(e,t,o){var n="&"===t[0],r="~"===(t=n?t.slice(1):t)[0],s="!"===(t=r?t.slice(1):t)[0];return{o:e,t:t=s?t.slice(1):t,i:o,u:{once:r,capture:s,passive:n}}},n=function(e){var n,r,s,i=e.props,a=e.listeners,l=e.parent,d=function(e,n){var r,s,i=[];for(var a in n)if(r=n,s=a,t.call(r,s)){var l=n[a],d=o(e,a,l);d.o.addEventListener(d.t,d.i,d.u),i.push(d)}return i}((r=(n=i).body,s=n.document,r?window.document.body:s?window.document:window),a),c=function(){!function(e){for(var t;t=e.shift();)t.o.removeEventListener(t.t,t.i,t.u)}(d)};l.$once("hook:beforeUpdate",c),l.$once("hook:destroyed",c)},r=function(t){n(t),e(t)};return{name:"pseudo-window",functional:!0,props:{document:Boolean,body:Boolean},render:function(e,t){return t.parent._isMounted?r(t):t.parent.$once("hook:mounted",(function(){r(t)})),t.slots().default}}}()},219:t=>{"use strict";t.exports=e},138:e=>{"use strict";e.exports=t},403:e=>{"use strict";e.exports=o},216:e=>{"use strict";e.exports=n},296:e=>{"use strict";e.exports=r},455:e=>{"use strict";e.exports=s},948:e=>{"use strict";e.exports=i},387:e=>{"use strict";e.exports=a},400:e=>{"use strict";e.exports=l},103:e=>{"use strict";e.exports=d}},u={};function p(e){var t=u[e];if(void 0!==t)return t.exports;var o=u[e]={exports:{}};return c[e].call(o.exports,o,o.exports,p),o.exports}p.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return p.d(t,{a:t}),t},p.d=(e,t)=>{for(var o in t)p.o(t,o)&&!p.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},p.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),p.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var f={};return(()=>{"use strict";p.r(f),p.d(f,{MModal:()=>d,MModalContent:()=>u,MModalLayer:()=>k,modalApi:()=>e,useModalLayer:()=>g});const e=Symbol("modalApiKey");var t=p(400),o=p.n(t),n=p(948),r=p.n(n),s=p(219);const i={name:"Modal",components:{MTouchCapture:p(138).MTouchCapture},inject:{modalApi:e,theme:{default:(0,s.defaultTheme)(),from:s.MThemeKey}},inheritAttrs:!1,props:{beforeClose:{type:Function,default:void 0},bgColor:{type:String,default:void 0,validator:r()("color")},color:{type:String,default:void 0,validator:r()("color")},closeOnSwipeDown:{type:Boolean,default:!0},ariaLabelledby:{type:String,default:void 0}},data(){return{modalStyles:{},isScrolledToTop:!0,onScroll:o()(this.setScrollTop,800),preventDefault:!1}},computed:{...(0,s.resolveThemeableProps)("modal",["bgColor","color"]),style(){return{"--bg-color":this.resolvedBgColor,"--color":this.resolvedColor,...this.modalStyles}}},watch:{beforeClose:{immediate:!0,handler(e){this.modalApi.registerBeforeCloseHook(e)}}},methods:{setScrollTop(){var e,t,o;if(!this.closeOnSwipeDown)return;const n=(null===(e=this.$refs)||void 0===e||null===(t=e.modal)||void 0===t||null===(o=t.$el)||void 0===o?void 0:o.scrollTop)||0;this.isScrolledToTop=n<=0},onSwipeDown(){this.closeOnSwipeDown&&this.isScrolledToTop&&(this.preventDefault=!0,this.modalApi.close())},onDragDown(e){if(this.closeOnSwipeDown&&this.isScrolledToTop){this.preventDefault=!0;const t="translateY(".concat(e.changeY,"px)");this.modalStyles={transform:t,"backface-visibility":"hidden",overflow:"hidden",transition:"none"}}},onDragEnd(e){if(!this.closeOnSwipeDown)return;const t=.3*window.innerHeight;this.isScrolledToTop&&e.changeY>t?this.modalApi.close():(this.preventDefault=!1,this.modalStyles={})}}},a={Modal:"📚19-10-2lWZo9"};function l(e,t,o,n,r,s,i,a){var l,d="function"==typeof e?e.options:e;if(t&&(d.render=t,d.staticRenderFns=o,d._compiled=!0),n&&(d.functional=!0),s&&(d._scopeId="data-v-"+s),i?(l=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),r&&r.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(i)},d._ssrRegister=l):r&&(l=a?function(){r.call(this,(d.functional?this.parent:this).$root.$options.shadowRoot)}:r),l)if(d.functional){d._injectStyles=l;var c=d.render;d.render=function(e,t){return l.call(t),c(e,t)}}else{var u=d.beforeCreate;d.beforeCreate=u?[].concat(u,l):[l]}return{exports:e,options:d}}const d=l(i,(function(){var e=this,t=e.$createElement;return(e._self._c||t)("m-touch-capture",e._g(e._b({ref:"modal",class:e.$s.Modal,style:e.style,attrs:{"prevent-default":e.preventDefault,"aria-labelledby":e.ariaLabelledby},on:{"on-drag-down":e.onDragDown,"on-drag-end":e.onDragEnd,"on-swipe-down":e.onSwipeDown},nativeOn:{scroll:function(t){return e.onScroll.apply(null,arguments)}}},"m-touch-capture",e.$attrs,!1),e.$listeners),[e._t("default")],2)}),[],!1,(function(e){this.$s=a.locals||a}),null,null).exports;const c={ModalContent:"📚19-10-2EYuNB"};const u=l({},(function(){var e=this,t=e.$createElement;return(e._self._c||t)("div",{class:e.$s.ModalContent},[e._t("default")],2)}),[],!1,(function(e){this.$s=c.locals||c}),null,null).exports;var h=p(103),m=p(89),v=p.n(m),y=p(455),b=p.n(y),w=p(403),C=p(216),M=p(387),T=p(296);function S(e){return"object"==typeof e&&"function"==typeof e.then}async function _(e){if(!e)return!0;if(e.state.children>1)return!1;if("function"==typeof e.state.localBeforeCloseHook){const t=e.state.localBeforeCloseHook();if(S(t))return t.then((t=>!!t&&("function"!=typeof e.state.options.beforeCloseHook||e.state.options.beforeCloseHook()))).then((t=>!!t&&(e.state.renderFn=void 0,e.uncountChild(),!0)));if(!t)return!1}if("function"==typeof e.state.options.beforeCloseHook){const t=e.state.options.beforeCloseHook();if(S(t))return t.then((t=>!!t&&(e.state.renderFn=void 0,e.uncountChild(),!0)));if(!t)return!1}return e.state.renderFn=void 0,e.uncountChild(),!0}function F(e){return{state:(0,h.reactive)({renderFn:void 0,localBeforeCloseHook:void 0,children:0,options:{},isStacked:!!e}),open(e,t={}){return!this.state.renderFn&&(this.state.renderFn=e,this.state.options=t,this.countChild(),()=>this.state.renderFn===e?(_(this),!0):!this.state.renderFn)},countChild(){this.state.children+=1,null==e||e.countChild()},uncountChild(){this.state.children-=1,null==e||e.uncountChild()},registerBeforeCloseHook(t){if(!e){if(!t)return;b().error(!1,"Cannot set the beforeClose prop on a Modal if it is mounted outside of an ModalLayer","Modal")}e.state.localBeforeCloseHook=t},close:async()=>_(e),async closeAll(){return!!await this.close()&&(!e||await e.closeAll())}}}const g=()=>{const t=(0,h.inject)(e,void 0),o=F(t);return(0,h.provide)(e,o),{modalApi:t||o}},x={inject:{parentModalApi:{default:void 0,from:e}},provide(){const t=F(this.parentModalApi);return this.modalApi||(this.modalApi=t),{[e]:t}}},$={name:"ModalLayer",components:{RenderFn:p.n(T)(),PseudoWindow:v(),MTransitionFadeIn:w.MTransitionFadeIn,MTransitionResponsive:C.MTransitionResponsive},mixins:[x],inheritAttrs:!1,apiMixin:x,useModalLayer:g,data(){let e=M.floatUpFn,t=M.floatDownFn;return this.parentModalApi.state.isStacked&&(e=M.delayedFloatUpFn,t=M.floatDownFn),{transitions:[{minWidth:M.mobileMinWidth,enter:M.springUpFn,leave:M.springDownFn},{minWidth:M.tabletMinWidth,enter:e,leave:t}]}},mounted(){const e=this;this.unwatchStackedModal=this.$watch((()=>e.modalApi.state.renderFn),(()=>{const t=window.innerWidth>=M.tabletMinWidth,o=!t,n=!!e.modalApi.state.renderFn,r=!n,s=this.$refs.baseModalLayer;s&&(t&&n?(0,M.fadeOutFn)({element:s}):t&&r?(0,M.delayedFadeInFn)({element:s}):o&&n?setTimeout((()=>{s.style.opacity="0%"}),M.springDelay):o&&r&&s.style.removeProperty("opacity"))}))},destroyed(){this.unwatchStackedModal()},methods:{closeOnClickOutside(e){const{closeOnClickOutside:t}=this.parentModalApi.state.options,{modal:o}=this.$refs;o&&t&&!o.contains(e.target)&&this.modalApi.close()},closeOnEsc(){const{closeOnEsc:e}=this.parentModalApi.state.options,{modal:t}=this.$refs;t&&e&&this.modalApi.close()}}},A={Layer:"📚19-10-2_MzTS",ModalLayer:"📚19-10-2KtxAY",Translucent:"📚19-10-2XItK4",Transparent:"📚19-10-2PPufJ",disableScroll:"📚19-10-2Qb9Nw",Container:"📚19-10-2Am6mM"};const k=l($,(function(){var e,t=this,o=t.$createElement,n=t._self._c||o;return n("div",{class:t.$s.Layer},[n("m-transition-fade-in",[t.parentModalApi.state.renderFn?n("div",{class:[t.$s.Translucent,(e={},e[t.$s.Transparent]=t.parentModalApi.state.isStacked,e)]}):t._e()]),t._v(" "),n("m-transition-responsive",{attrs:{transitions:t.transitions}},[t.parentModalApi.state.renderFn?n("div",{ref:"baseModalLayer",class:t.$s.ModalLayer,on:{"!click":function(e){return t.closeOnClickOutside.apply(null,arguments)}}},[n("pseudo-window",{class:t.$s.disableScroll,attrs:{body:""}}),t._v(" "),n("pseudo-window",{attrs:{document:""},on:{keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"esc",27,e.key,["Esc","Escape"])?null:t.closeOnEsc.apply(null,arguments)}}}),t._v(" "),n("div",{ref:"modal",class:t.$s.Container,attrs:{role:"dialog","aria-modal":"true",tabindex:"-1"}},[n("render-fn",{attrs:{"render-fn":t.parentModalApi.state.renderFn}})],1)],1):t._e()]),t._v(" "),t.parentModalApi.state.renderFn?n("modal-layer"):t._e()],1)}),[],!1,(function(e){this.$s=A.locals||A}),null,null).exports})(),f})()}));
//# sourceMappingURL=script.js.map