mirror of
https://github.com/Hopiu/vue-material.git
synced 2026-04-10 18:01:06 +00:00
1 line
No EOL
10 KiB
JavaScript
1 line
No EOL
10 KiB
JavaScript
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.VueMaterial=e():t.VueMaterial=e()}(this,function(){return function(t){function e(i){if(n[i])return n[i].exports;var o=n[i]={exports:{},id:i,loaded:!1};return t[i].call(o.exports,o,o.exports,e),o.loaded=!0,o.exports}var n={};return e.m=t,e.c=n,e.p="/",e(0)}({0:function(t,e,n){t.exports=n(14)},1:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function t(e,n){return!!e.$el&&(e.$el.classList.contains(n)?e:0!==e._uid&&t(e.$parent,n))};e.default=n},14:function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}function o(t){t.component("md-menu",t.extend(r.default)),t.component("md-menu-item",t.extend(h.default)),t.component("md-menu-content",t.extend(d.default)),t.material.styles.push(c.default)}Object.defineProperty(e,"__esModule",{value:!0}),e.default=o;var s=n(136),r=i(s),u=n(138),h=i(u),l=n(137),d=i(l),a=n(101),c=i(a)},30:function(t,e){"use strict";function n(){var t=document.createElement("span"),e={transition:"transitionend",OTransition:"oTransitionEnd",MozTransition:"transitionend",WebkitTransition:"webkitTransitionEnd"};for(var n in e)if(void 0!==t.style[n])return e[n]}Object.defineProperty(e,"__esModule",{value:!0}),e.default=n()},47:function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var o=n(30),s=i(o);e.default={props:{mdSize:{type:[Number,String],default:0},mdDirection:{type:String,default:"bottom right"},mdCloseOnSelect:{type:Boolean,default:!0}},data:function(){return{browserMargin:8,active:!1}},watch:{mdSize:function(t,e){t>=1&&t<=7&&(this.removeLastSizeMenuContentClass(e),this.addNewSizeMenuContentClass(t))},mdDirection:function(t,e){this.removeLastDirectionMenuContentClass(e),this.addNewDirectionMenuContentClass(t)}},methods:{validateMenu:function(){if(!this.menuContent)throw this.$destroy(),new Error("You must have a md-menu-content inside your menu.");if(!this.menuTrigger)throw this.$destroy(),new Error("You must have an element with a md-menu-trigger attribute inside your menu.")},removeLastSizeMenuContentClass:function(t){this.menuContent.classList.remove("md-size-"+t)},removeLastDirectionMenuContentClass:function(t){this.menuContent.classList.remove("md-direction-"+t.replace(" ","-"))},addNewSizeMenuContentClass:function(t){this.menuContent.classList.add("md-size-"+t)},addNewDirectionMenuContentClass:function(t){this.menuContent.classList.add("md-direction-"+t.replace(" ","-"))},closeOnOffClick:function(t){this.$el.contains(t.target)||this.menuContent.contains(t.target)||this.close()},isAboveOfViewport:function(t){return t.top<=this.browserMargin-parseInt(getComputedStyle(this.menuContent).marginTop,10)},isBelowOfViewport:function(t){return t.top+this.menuContent.offsetHeight+this.browserMargin>=window.innerHeight-parseInt(getComputedStyle(this.menuContent).marginTop,10)},isOnTheLeftOfViewport:function(t){return t.left<=this.browserMargin-parseInt(getComputedStyle(this.menuContent).marginLeft,10)},isOnTheRightOfViewport:function(t){return t.left+this.menuContent.offsetWidth+this.browserMargin>=window.innerWidth-parseInt(getComputedStyle(this.menuContent).marginLeft,10)},getInViewPosition:function(t){var e=getComputedStyle(this.menuContent);return this.isAboveOfViewport(t)&&(t.top=this.browserMargin-parseInt(e.marginTop,10)),this.isOnTheLeftOfViewport(t)&&(t.left=this.browserMargin-parseInt(e.marginLeft,10)),this.isOnTheRightOfViewport(t)&&(t.left=window.innerWidth-this.browserMargin-this.menuContent.offsetWidth-parseInt(e.marginLeft,10)),this.isBelowOfViewport(t)&&(t.top=window.innerHeight-this.browserMargin-this.menuContent.offsetHeight-parseInt(e.marginTop,10)),t},getBottomRightPos:function(){var t=this.menuTrigger.getBoundingClientRect(),e={top:t.top,left:t.left};return this.getInViewPosition(e),e},getBottomLeftPos:function(){var t=this.menuTrigger.getBoundingClientRect(),e={top:t.top,left:t.left-this.menuContent.offsetWidth+t.width};return this.getInViewPosition(e),e},getTopRightPos:function(){var t=this.menuTrigger.getBoundingClientRect(),e={top:t.top+t.height-this.menuContent.offsetHeight,left:t.left};return this.getInViewPosition(e),e},getTopLeftPos:function(){var t=this.menuTrigger.getBoundingClientRect(),e={top:t.top+t.height-this.menuContent.offsetHeight,left:t.left-this.menuContent.offsetWidth+t.width};return this.getInViewPosition(e),e},calculateMenuContentPos:function(){var t=void 0;switch(this.mdDirection){case"bottom left":t=this.getBottomLeftPos();break;case"top right":t=this.getTopRightPos();break;case"top left":t=this.getTopLeftPos();break;default:t=this.getBottomRightPos()}this.menuContent.style.top=t.top+"px",this.menuContent.style.left=t.left+"px"},recalculateOnResize:function(){window.requestAnimationFrame(this.calculateMenuContentPos)},open:function(){this.$root.$el.contains(this.menuContent)&&this.$root.$el.removeChild(this.menuContent),this.$root.$el.appendChild(this.menuContent),document.addEventListener("click",this.closeOnOffClick),window.addEventListener("resize",this.recalculateOnResize),this.calculateMenuContentPos(),getComputedStyle(this.menuContent).top,this.menuContent.classList.add("md-active"),this.menuContent.focus(),this.active=!0},close:function t(){var e=this,n=this.menuContent,t=function t(i){if(n&&i.target===n){var o=e.menuContent.querySelector(".md-ripple.md-active");n.removeEventListener(s.default,t),e.menuTrigger.focus(),e.active=!1,o&&o.classList.remove("md-active"),e.$root.$el.removeChild(n),document.removeEventListener("click",e.closeOnOffClick),window.removeEventListener("resize",e.recalculateOnResize)}};this.menuContent.addEventListener(s.default,t),this.menuContent.classList.remove("md-active")},toggle:function(){this.active?this.close():this.open()}},mounted:function(){this.menuTrigger=this.$el.querySelector("[md-menu-trigger]"),this.menuContent=this.$el.querySelector(".md-menu-content"),this.validateMenu(),this.addNewSizeMenuContentClass(this.mdSize),this.addNewDirectionMenuContentClass(this.mdDirection),this.menuContent.parentNode.removeChild(this.menuContent),this.menuTrigger.addEventListener("click",this.toggle)}}},48:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default={data:function(){return{oldHighlight:!1,highlighted:!1,itemsAmount:0}},methods:{close:function(){this.highlighted=!1,this.$parent.close()},highlightItem:function(t){this.oldHighlight=this.highlighted,"up"===t&&(1===this.highlighted?this.highlighted=this.itemsAmount:this.highlighted--),"down"===t&&(this.highlighted===this.itemsAmount?this.highlighted=1:this.highlighted++)},fireClick:function(){this.highlighted>0&&this.$children[0].$children[this.highlighted-1].$el.click()}},mounted:function(){if(!this.$parent.$el.classList.contains("md-menu"))throw this.$destroy(),new Error("You must wrap the md-menu-content in a md-menu")}}},49:function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var o=n(1),s=i(o);n(69),e.default={props:{disabled:Boolean},data:function(){return{parentContent:{},index:0}},computed:{classes:function(){return{"md-highlighted":this.highlighted}},highlighted:function(){return this.index===this.parentContent.highlighted&&(this.disabled&&(this.parentContent.oldHighlight>this.parentContent.highlighted?this.parentContent.highlighted--:this.parentContent.highlighted++),1===this.index?this.parentContent.$el.scrollTop=0:this.index===this.parentContent.itemsAmount?this.parentContent.$el.scrollTop=this.parentContent.$el.scrollHeight:this.$el.scrollIntoViewIfNeeded(!1),!0)}},methods:{close:function(){this.disabled||(this.parentMenu.mdCloseOnSelect&&this.parentContent.close(),this.$emit("click"))}},mounted:function(){if(this.parentContent=(0,s.default)(this.$parent,"md-menu-content"),this.parentMenu=(0,s.default)(this.$parent,"md-menu"),!this.parentContent)throw this.$destroy(),new Error("You must wrap the md-menu-item in a md-menu-content");this.parentContent.itemsAmount++,this.index=this.parentContent.itemsAmount}}},69:function(t,e){Element.prototype.scrollIntoViewIfNeeded||(Element.prototype.scrollIntoViewIfNeeded=function(t){t=0===arguments.length||!!t;var e=this.parentNode,n=window.getComputedStyle(e,null),i=parseInt(n.getPropertyValue("border-top-width")),o=parseInt(n.getPropertyValue("border-left-width")),s=this.offsetTop-e.offsetTop<e.scrollTop,r=this.offsetTop-e.offsetTop+this.clientHeight-i>e.scrollTop+e.clientHeight,u=this.offsetLeft-e.offsetLeft<e.scrollLeft,h=this.offsetLeft-e.offsetLeft+this.clientWidth-o>e.scrollLeft+e.clientWidth,l=s&&!r;(s||r)&&t&&(e.scrollTop=this.offsetTop-e.offsetTop-e.clientHeight/2-i+this.clientHeight/2),(u||h)&&t&&(e.scrollLeft=this.offsetLeft-e.offsetLeft-e.clientWidth/2-o+this.clientWidth/2),(s||r||u||h)&&!t&&this.scrollIntoView(l)})},70:function(t,e){},101:function(t,e){t.exports=""},136:function(t,e,n){var i,o;n(70),i=n(47);var s=n(159);o=i=i||{},"object"!=typeof i.default&&"function"!=typeof i.default||(o=i=i.default),"function"==typeof o&&(o=o.options),o.render=s.render,o.staticRenderFns=s.staticRenderFns,t.exports=i},137:function(t,e,n){var i,o;i=n(48);var s=n(181);o=i=i||{},"object"!=typeof i.default&&"function"!=typeof i.default||(o=i=i.default),"function"==typeof o&&(o=o.options),o.render=s.render,o.staticRenderFns=s.staticRenderFns,t.exports=i},138:function(t,e,n){var i,o;i=n(49);var s=n(184);o=i=i||{},"object"!=typeof i.default&&"function"!=typeof i.default||(o=i=i.default),"function"==typeof o&&(o=o.options),o.render=s.render,o.staticRenderFns=s.staticRenderFns,t.exports=i},159:function(t,e){t.exports={render:function(){var t=this;return t._h("div",{staticClass:"md-menu"},[t._t("default")])},staticRenderFns:[]}},181:function(t,e){t.exports={render:function(){var t=this;return t._h("div",{staticClass:"md-menu-content",attrs:{tabindex:"-1"},on:{keydown:[function(e){27===e.keyCode&&(e.preventDefault(),t.close(e))},function(e){9===e.keyCode&&(e.preventDefault(),t.close(e))},function(e){38===e.keyCode&&(e.preventDefault(),t.highlightItem("up"))},function(e){40===e.keyCode&&(e.preventDefault(),t.highlightItem("down"))},function(e){13===e.keyCode&&(e.preventDefault(),t.fireClick(e))},function(e){32===e.keyCode&&(e.preventDefault(),t.fireClick(e))}]}},[t._h("md-list",[t._t("default")])])},staticRenderFns:[]}},184:function(t,e){t.exports={render:function(){var t=this;return t._h("md-list-item",{staticClass:"md-menu-item",class:t.classes,attrs:{disabled:t.disabled},on:{click:t.close}},[t._t("default")])},staticRenderFns:[]}}})}); |