@apicart/vue-components
Version:
Apicart Vue.Js components for simple e-commerce platform development
8 lines (6 loc) • 5.99 kB
JavaScript
/**
* @apicart/vue-components v1.0.0-alpha7
* (c) 2018-2020 Apicart Company
* Released under the MIT License.
*/
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).ApicartDrawer=t()}(this,(function(){"use strict";let e=!1;if("undefined"!=typeof window){const t={get passive(){e=!0}};window.addEventListener("testPassive",null,t),window.removeEventListener("testPassive",null,t)}const t="undefined"!=typeof window&&window.navigator&&window.navigator.platform&&(/iP(ad|hone|od)/.test(window.navigator.platform)||"MacIntel"===window.navigator.platform&&window.navigator.maxTouchPoints>1);let o,i,r=[],a=!1,n=-1;const s=e=>r.some(t=>!(!t.options.allowTouchMove||!t.options.allowTouchMove(e))),d=e=>{const t=e||window.event;return!!s(t.target)||(t.touches.length>1||(t.preventDefault&&t.preventDefault(),!1))},c=(c,l)=>{if(t){if(!c)return void console.error("disableBodyScroll unsuccessful - targetElement must be provided when calling disableBodyScroll on IOS devices.");if(c&&!r.some(e=>e.targetElement===c)){const t={targetElement:c,options:l||{}};r=[...r,t],c.ontouchstart=e=>{1===e.targetTouches.length&&(n=e.targetTouches[0].clientY)},c.ontouchmove=e=>{1===e.targetTouches.length&&((e,t)=>{const o=e.targetTouches[0].clientY-n;!s(e.target)&&(t&&0===t.scrollTop&&o>0||(e=>!!e&&e.scrollHeight-e.scrollTop<=e.clientHeight)(t)&&o<0?d(e):e.stopPropagation())})(e,c)},a||(document.addEventListener("touchmove",d,e?{passive:!1}:void 0),a=!0)}}else{(e=>{setTimeout(()=>{if(void 0===i){const t=!!e&&!0===e.reserveScrollBarGap,o=window.innerWidth-document.documentElement.clientWidth;t&&o>0&&(i=document.body.style.paddingRight,document.body.style.paddingRight=o+"px")}void 0===o&&(o=document.body.style.overflow,document.body.style.overflow="hidden")})})(l);const e={targetElement:c,options:l||{}};r=[...r,e]}},l=n=>{if(t){if(!n)return void console.error("enableBodyScroll unsuccessful - targetElement must be provided when calling enableBodyScroll on IOS devices.");n.ontouchstart=null,n.ontouchmove=null,r=r.filter(e=>e.targetElement!==n),a&&0===r.length&&(document.removeEventListener("touchmove",d,e?{passive:!1}:void 0),a=!1)}else r=r.filter(e=>e.targetElement!==n),r.length||setTimeout(()=>{void 0!==i&&(document.body.style.paddingRight=i,i=void 0),void 0!==o&&(document.body.style.overflow=o,o=void 0)})};var p={name:"apicart-drawer",props:{position:{type:String,default:"left"}},data:function(){return{visible:!1}},methods:{open:function(){this.visible=!0,this.$emit("open"),c(this.$el,{reserveScrollBarGap:!0})},close:function(){this.visible=!1,this.$emit("close"),l(this.$el)},toggle:function(){this.visible?this.close():this.open()}}};!function(e,t){void 0===t&&(t={});var o=t.insertAt;if(e&&"undefined"!=typeof document){var i=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css","top"===o&&i.firstChild?i.insertBefore(r,i.firstChild):i.appendChild(r),r.styleSheet?r.styleSheet.cssText=e:r.appendChild(document.createTextNode(e))}}('.apicart-drawer{font-family:-apple-system,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";-webkit-font-smoothing:antialiased;box-sizing:border-box;outline:0}.apicart-drawer *{box-sizing:border-box;outline:0}.apicart-drawer__mask{position:fixed;z-index:9998;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.32);display:table;transition:opacity .3s ease}.apicart-drawer__wrapper{display:table-cell;vertical-align:middle}.apicart-drawer__container{width:80vw;position:absolute;left:0;top:0;max-height:100%;overflow:auto;height:100%;max-width:300px;background-color:#fff;box-shadow:0 2px 8px rgba(0,0,0,.33);transform:translateX(0);transition:transform .3s ease;font-family:Helvetica,Arial,sans-serif}@media (min-width:768px){.apicart-drawer__container{width:85vw;max-width:300px}}.apicart-drawer__container-right{right:0;left:auto}.apicart-drawer__header h3{margin-top:0;color:#42b983}.apicart-drawer__body{margin:20px 0}.apicart-drawer__footer-default-button-wrapper{text-align:center}.apicart-drawer-enter{opacity:0}.apicart-drawer-leave-active{opacity:0}.apicart-drawer-enter .apicart-drawer__container.apicart-drawer__container-right,.apicart-drawer-leave-active .apicart-drawer__container.apicart-drawer__container-right{transform:translateX(100%)}.apicart-drawer-enter .apicart-drawer__container.apicart-drawer__container-left,.apicart-drawer-leave-active .apicart-drawer__container.apicart-drawer__container-left{transform:translateX(-100%)}');return function(e,t,o,i,r,a,n,s,d,c){"boolean"!=typeof n&&(d=s,s=n,n=!1);const l="function"==typeof o?o.options:o;let p;if(e&&e.render&&(l.render=e.render,l.staticRenderFns=e.staticRenderFns,l._compiled=!0,r&&(l.functional=!0)),i&&(l._scopeId=i),a?(p=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__),t&&t.call(this,d(e)),e&&e._registeredComponents&&e._registeredComponents.add(a)},l._ssrRegister=p):t&&(p=n?function(e){t.call(this,c(e,this.$root.$options.shadowRoot))}:function(e){t.call(this,s(e))}),p)if(l.functional){const e=l.render;l.render=function(t,o){return p.call(o),e(t,o)}}else{const e=l.beforeCreate;l.beforeCreate=e?[].concat(e,p):[p]}return o}({render:function(){var e=this.$createElement,t=this._self._c||e;return t("transition",{attrs:{name:"apicart-drawer"}},[t("div",{directives:[{name:"show",rawName:"v-show",value:this.visible,expression:"visible"}],staticClass:"apicart-drawer__mask"},[t("div",{staticClass:"apicart-drawer__wrapper",on:{click:this.close}},[t("div",{class:"apicart-drawer__container apicart-drawer__container-"+this.position,on:{click:function(e){e.stopPropagation()}}},[this._t("default")],2)])])])},staticRenderFns:[]},void 0,p,void 0,!1,void 0,!1,void 0,void 0,void 0)}));