source: trip-planner-front/node_modules/angular-material/modules/js/tabs/tabs.min.js@ 6a3a178

Last change on this file since 6a3a178 was 6a3a178, checked in by Ema <ema_spirova@…>, 3 years ago

initial commit

  • Property mode set to 100644
File size: 16.5 KB
Line 
1/*!
2 * AngularJS Material Design
3 * https://github.com/angular/material
4 * @license MIT
5 * v1.2.2-master-0a06f99
6 */
7!function(e,K,X){"use strict";function t(a){return{restrict:"A",compile:function(e,t){var n=a(t.mdTabScroll,null,!0);return function(t,e){e.on("wheel",function(e){t.$apply(function(){n(t,{$event:e})})})}}}}function n(c,l,t,n,s,f,o,i,a,e,r,b,d){var m=this,u=!1,p=[],h=!1,g=!1;function x(t,e){var n=i.$normalize("md-"+t);function a(e){m[t]="false"!==e}e&&B(t,e,X),i.hasOwnProperty(n)&&a(i[n]),i.$observe(n,a)}function v(){h=!0,K.element(t).off("resize",L)}function T(){var e=M();K.element(e.wrapper).toggleClass("md-stretch-tabs",function(){switch(m.stretchTabs){case"always":return!0;case"never":return!1;default:return!m.shouldPaginate&&t.matchMedia("(max-width: 600px)").matches}}()),Y()}function $(){m.shouldCenterTabs=A()}function C(t,e){if(t!==e){var n=M();K.forEach(n.tabs,function(e){e.style.maxWidth=t+"px"}),K.forEach(n.dummies,function(e){e.style.maxWidth=t+"px"}),f.nextTick(m.updateInkBarStyles)}}function I(e,t){e!==t&&(m.maxTabWidth=R(),m.shouldCenterTabs=A(),f.nextTick(function(){m.maxTabWidth=R(),_(m.selectedIndex)}))}function w(e){l[e?"removeClass":"addClass"]("md-no-tab-content")}function y(e){var t=(m.shouldCenterTabs||z()?"":"-")+e+"px";t=t.replace("--",""),K.element(M().paging).css(n.CSS.TRANSFORM,"translate("+t+", 0)"),c.$broadcast("$mdTabsPaginationChanged")}function k(e,t){e!==t&&M().tabs[e]&&(_(),H())}function P(e,t){e!==t&&(m.selectedIndex=E(e),m.lastSelectedIndex=t,m.updateInkBarStyles(),j(),_(e),c.$broadcast("$mdTabsChanged"),m.tabs[t]&&m.tabs[t].scope.deselect(),m.tabs[e]&&m.tabs[e].scope.select())}function S(e,t){u||(m.focusIndex=m.selectedIndex=e),t&&m.noSelectClick||f.nextTick(function(){m.tabs[e].element.triggerHandler("click")},!1)}function L(){m.lastSelectedIndex=m.selectedIndex,m.offsetLeft=U(m.offsetLeft),f.nextTick(function(){m.updateInkBarStyles(),D()})}function W(e){K.element(M().inkBar).toggleClass("ng-hide",e)}function O(e){l.toggleClass("md-dynamic-height",e)}function M(){var e={},t=l[0];return e.wrapper=t.querySelector("md-tabs-wrapper"),e.canvas=e.wrapper.querySelector("md-tabs-canvas"),e.paging=e.canvas.querySelector("md-pagination-wrapper"),e.inkBar=e.paging.querySelector("md-ink-bar"),e.nextButton=t.querySelector("md-next-button"),e.prevButton=t.querySelector("md-prev-button"),e.contents=t.querySelectorAll("md-tabs-content-wrapper > md-tab-content"),e.tabs=e.paging.querySelectorAll("md-tab-item"),e.dummies=e.canvas.querySelectorAll("md-dummy-tab"),e}function A(){return m.centerTabs&&!m.shouldPaginate}function E(e){if(-1===e)return-1;var t,n,a=Math.max(m.tabs.length-e,e);for(t=0;t<=a;t++){if((n=m.tabs[e+t])&&!0!==n.scope.disabled)return n.getIndex();if((n=m.tabs[e-t])&&!0!==n.scope.disabled)return n.getIndex()}return e}function B(e,n,a){Object.defineProperty(m,e,{get:function(){return a},set:function(e){var t=a;a=e,n&&n(e,t)}})}function D(){m.maxTabWidth=R(),m.shouldPaginate=function(){var e;if(m.noPagination||!g)return!1;var t=l.prop("clientWidth");return K.forEach(M().tabs,function(e){t-=e.offsetWidth}),e=t<0,f.msie&&(M().paging.style.width=e?"999999px":X),e}()}function F(e){var t=0;return K.forEach(e,function(e){t+=Math.max(e.offsetWidth,e.getBoundingClientRect().width)}),Math.ceil(t)}function R(){var e=M().canvas.clientWidth;return Math.max(0,Math.min(e-1,264))}function q(e,t){var n,a=t?"focusIndex":"selectedIndex",s=m[a];for(n=s+e;m.tabs[n]&&m.tabs[n].scope.disabled;n+=e);n=(s+e+m.tabs.length)%m.tabs.length,m.tabs[n]&&(m[a]=n)}function H(){m.styleTabItemFocus="keyboard"===r.getLastInteractionType();var e=M().tabs[m.focusIndex];e&&e.focus()}function _(e){var t=M();if(K.isNumber(e)||(e=m.focusIndex),t.tabs[e]&&!m.shouldCenterTabs){var n=t.tabs[e],a=n.offsetLeft,s=n.offsetWidth+a;if(0!==e)if(z()){var i=F(Array.prototype.slice.call(t.tabs,0,e)),r=F(Array.prototype.slice.call(t.tabs,0,e+1));m.offsetLeft=Math.min(m.offsetLeft,U(i)),m.offsetLeft=Math.max(m.offsetLeft,U(r-t.canvas.clientWidth))}else m.offsetLeft=Math.max(m.offsetLeft,U(s-t.canvas.clientWidth+32)),m.offsetLeft=Math.min(m.offsetLeft,U(a));else m.offsetLeft=0}}function N(){m.selectedIndex=E(m.selectedIndex),m.focusIndex=E(m.focusIndex)}function j(){if(!m.dynamicHeight)return l.css("height","");if(!m.tabs.length)return p.push(j);var e=M(),t=e.contents[m.selectedIndex],n=t?t.offsetHeight:0,a=e.wrapper.offsetHeight,s=n+a,i=l.prop("clientHeight");if(i!==s){"bottom"===l.attr("md-align-tabs")&&(i-=a,s-=a,l.attr("md-border-bottom")!==X&&++i),u=!0;var r={height:i+"px"},d={height:s+"px"};l.css(r),o(l,{from:r,to:d,easing:"cubic-bezier(0.35, 0, 0.25, 1)",duration:.5}).start().done(function(){l.css({transition:"none",height:""}),f.nextTick(function(){l.css("transition","")}),u=!1})}}function Y(e,t){if(!m.noInkBar){var n=M();if(n.tabs[m.selectedIndex])if(m.tabs.length)if(l.prop("offsetParent")){var a=m.selectedIndex,s=n.paging.offsetWidth,i=n.tabs[a],r=i.offsetLeft,d=s-r-i.offsetWidth;if(m.shouldCenterTabs){var o=F(n.tabs);o<s&&e!==s&&t!==o&&b(Y,0,!0,s,o)}!function(){var e=M(),t=m.selectedIndex,n=m.lastSelectedIndex,a=K.element(e.inkBar);if(!K.isNumber(n))return;a.toggleClass("md-left",t<n).toggleClass("md-right",n<t)}(),K.element(n.inkBar).css({left:r+"px",right:d+"px"})}else(function e(){e.watcher||(e.watcher=c.$watch(function(){f.nextTick(function(){e.watcher&&l.prop("offsetParent")&&(e.watcher(),e.watcher=null,L())},!1)}))})();else p.push(m.updateInkBarStyles);else K.element(n.inkBar).css({left:"auto",right:"auto"})}}function U(e){var t=M();if(!t.tabs.length||!m.shouldPaginate)return 0;var n=t.tabs[t.tabs.length-1],a=n.offsetLeft+n.offsetWidth;return e=z()?(e=Math.min(t.paging.offsetWidth-t.canvas.clientWidth,e),Math.max(0,e)):(e=Math.max(0,e),Math.min(a-t.canvas.clientWidth,e))}function z(){return f.isRtl(i)}m.$onInit=function(){(function(t,e){var n=i.$normalize("md-"+t);e&&B(t,e);i.$observe(n,function(e){m[t]=e})})("stretchTabs",T),B("focusIndex",k,m.selectedIndex||0),B("offsetLeft",y,0),B("hasContent",w,!1),B("maxTabWidth",C,R()),B("shouldPaginate",I,!1),x("noInkBar",W),x("dynamicHeight",O),x("noPagination"),x("swipeContent"),x("autoselect"),x("noSelectClick"),x("centerTabs",$),x("enableDisconnect"),m.scope=c,m.parent=c.$parent,m.tabs=[],m.lastSelectedIndex=null,m.hasFocus=!1,m.styleTabItemFocus=!1,m.shouldCenterTabs=A(),m.tabContentPrefix="tab-content-",m.navigationHint="Use the left and right arrow keys to navigate between tabs",m.selectedIndex=m.selectedIndex||0,function(){var e=i.$mdTabsTemplate,t=K.element(l[0].querySelector("md-tab-data"));t.html(e),a(t.contents())(m.parent),delete i.$mdTabsTemplate}(),c.$watch("$mdTabsCtrl.selectedIndex",P),K.element(t).on("resize",L),c.$on("$destroy",v),e(l),f.nextTick(function(){j(),_(),Y(),m.tabs[m.selectedIndex]&&m.tabs[m.selectedIndex].scope.select(),g=!0,D()})},m.updatePagination=f.debounce(D,100),m.redirectFocus=H,m.attachRipple=function(e,t){var n=M(),a={colorElement:K.element(n.inkBar)};s.attach(e,t,a)},m.insertTab=function(e,t){var n=g,a={getIndex:function(){return m.tabs.indexOf(s)},isActive:function(){return this.getIndex()===m.selectedIndex},isLeft:function(){return this.getIndex()<m.selectedIndex},isRight:function(){return this.getIndex()>m.selectedIndex},shouldRender:function(){return m.dynamicHeight||this.isActive()},hasFocus:function(){return m.styleTabItemFocus&&m.hasFocus&&this.getIndex()===m.focusIndex},id:f.nextUid(),hasContent:!(!e.template||!e.template.trim())},s=K.extend(a,e);K.isDefined(t)?m.tabs.splice(t,0,s):m.tabs.push(s);return function(){p.forEach(function(e){f.nextTick(e)}),p=[]}(),function(){var e,t=!1;for(e=0;e<m.tabs.length;e++)if(m.tabs[e].hasContent){t=!0;break}m.hasContent=t}(),f.nextTick(function(){D(),function(e){if(e.hasContent){var t=l[0].querySelectorAll('[md-tab-id="'+e.id+'"]');K.element(t).attr("aria-controls",m.tabContentPrefix+e.id)}}(s),n&&m.autoselect&&f.nextTick(function(){f.nextTick(function(){S(m.tabs.indexOf(s))})})}),s},m.removeTab=function(e){if(h)return;var t=m.selectedIndex,n=m.tabs.splice(e.getIndex(),1)[0];N(),m.selectedIndex===t&&(n.scope.deselect(),m.tabs[m.selectedIndex]&&m.tabs[m.selectedIndex].scope.select());f.nextTick(function(){D(),m.offsetLeft=U(m.offsetLeft)})},m.select=S,m.scroll=function(e){if(!m.shouldPaginate)return;e.preventDefault(),e.deltaY?m.offsetLeft=U(m.offsetLeft+e.deltaY):e.deltaX&&(m.offsetLeft=U(m.offsetLeft+e.deltaX))},m.nextPage=function(){if(!m.canPageForward())return;var e=d.increasePageOffset(M(),m.offsetLeft);m.offsetLeft=U(e)},m.previousPage=function(){if(!m.canPageBack())return;var e=d.decreasePageOffset(M(),m.offsetLeft);m.offsetLeft=U(e)},m.keydown=function(e){switch(e.keyCode){case n.KEY_CODE.LEFT_ARROW:e.preventDefault(),q(-1,!0);break;case n.KEY_CODE.RIGHT_ARROW:e.preventDefault(),q(1,!0);break;case n.KEY_CODE.SPACE:case n.KEY_CODE.ENTER:e.preventDefault(),u||S(m.focusIndex);break;case n.KEY_CODE.TAB:m.focusIndex!==m.selectedIndex&&(m.focusIndex=m.selectedIndex)}},m.canPageForward=function(){var e=M(),t=e.tabs[e.tabs.length-1];if(z())return m.offsetLeft<e.paging.offsetWidth-e.canvas.offsetWidth;return t&&t.offsetLeft+t.offsetWidth>e.canvas.clientWidth+m.offsetLeft},m.canPageBack=function(){return 0<m.offsetLeft},m.refreshIndex=N,m.incrementIndex=q,m.getTabElementIndex=function(e){var t=l[0].getElementsByTagName("md-tab");return Array.prototype.indexOf.call(t,e[0])},m.updateInkBarStyles=f.debounce(Y,100),m.updateTabOrder=f.debounce(function(){var e=m.tabs[m.selectedIndex],t=m.tabs[m.focusIndex];m.tabs=m.tabs.sort(function(e,t){return e.index-t.index}),m.selectedIndex=m.tabs.indexOf(e),m.focusIndex=m.tabs.indexOf(t)},100),m.getFocusedTabId=function(){var e=m.tabs[m.focusIndex];return e&&e.id?"tab-item-"+e.id:null},1===K.version.major&&K.version.minor<=4&&this.$onInit()}function a(n){return{scope:{navigationHint:"@?mdNavigationHint",selectedIndex:"=?mdSelected"},template:function(e,t){return t.$mdTabsTemplate=e.html(),'<md-tabs-wrapper> <md-tab-data></md-tab-data> <md-prev-button tabindex="-1" role="button" aria-label="Previous Page" aria-disabled="{{!$mdTabsCtrl.canPageBack()}}" ng-class="{ \'md-disabled\': !$mdTabsCtrl.canPageBack() }" ng-if="$mdTabsCtrl.shouldPaginate" ng-click="$mdTabsCtrl.previousPage()"> <md-icon md-svg-src="'+n.mdTabsArrow+'"></md-icon> </md-prev-button> <md-next-button tabindex="-1" role="button" aria-label="Next Page" aria-disabled="{{!$mdTabsCtrl.canPageForward()}}" ng-class="{ \'md-disabled\': !$mdTabsCtrl.canPageForward() }" ng-if="$mdTabsCtrl.shouldPaginate" ng-click="$mdTabsCtrl.nextPage()"> <md-icon md-svg-src="'+n.mdTabsArrow+'"></md-icon> </md-next-button> <md-tabs-canvas tabindex="{{ $mdTabsCtrl.hasFocus ? -1 : 0 }}" ng-focus="$mdTabsCtrl.redirectFocus()" ng-class="{ \'md-paginated\': $mdTabsCtrl.shouldPaginate, \'md-center-tabs\': $mdTabsCtrl.shouldCenterTabs }" ng-keydown="$mdTabsCtrl.keydown($event)"> <md-pagination-wrapper ng-class="{ \'md-center-tabs\': $mdTabsCtrl.shouldCenterTabs }" md-tab-scroll="$mdTabsCtrl.scroll($event)" role="tablist" aria-label="{{::$mdTabsCtrl.navigationHint}}"><md-tab-item tabindex="{{ tab.isActive() ? 0 : -1 }}" class="md-tab {{::tab.scope.tabClass}}" ng-repeat="tab in $mdTabsCtrl.tabs" role="tab" id="tab-item-{{::tab.id}}" md-tab-id="{{::tab.id}}" aria-selected="{{tab.isActive()}}" aria-disabled="{{tab.scope.disabled || \'false\'}}" ng-click="$mdTabsCtrl.select(tab.getIndex())" ng-focus="$mdTabsCtrl.hasFocus = true" ng-blur="$mdTabsCtrl.hasFocus = false" ng-class="{ \'md-active\': tab.isActive(), \'md-focused\': tab.hasFocus(), \'md-disabled\': tab.scope.disabled }" ng-disabled="tab.scope.disabled" md-swipe-left="$mdTabsCtrl.nextPage()" md-swipe-right="$mdTabsCtrl.previousPage()" md-tabs-template="::tab.label" md-scope="::tab.parent"></md-tab-item> <md-ink-bar></md-ink-bar> </md-pagination-wrapper> <md-tabs-dummy-wrapper aria-hidden="true" class="md-visually-hidden md-dummy-wrapper"> <md-dummy-tab class="md-tab" tabindex="-1" ng-focus="$mdTabsCtrl.hasFocus = true" ng-blur="$mdTabsCtrl.hasFocus = false" ng-repeat="tab in $mdTabsCtrl.tabs" md-tabs-template="::tab.label" md-scope="::tab.parent"></md-dummy-tab> </md-tabs-dummy-wrapper> </md-tabs-canvas> </md-tabs-wrapper> <md-tabs-content-wrapper ng-show="$mdTabsCtrl.hasContent && $mdTabsCtrl.selectedIndex >= 0" class="_md"> <md-tab-content id="{{:: $mdTabsCtrl.tabContentPrefix + tab.id}}" class="_md" role="tabpanel" aria-labelledby="tab-item-{{::tab.id}}" md-swipe-left="$mdTabsCtrl.swipeContent && $mdTabsCtrl.incrementIndex(1)" md-swipe-right="$mdTabsCtrl.swipeContent && $mdTabsCtrl.incrementIndex(-1)" ng-if="tab.hasContent" ng-repeat="(index, tab) in $mdTabsCtrl.tabs" ng-class="{ \'md-no-transition\': $mdTabsCtrl.lastSelectedIndex == null, \'md-active\': tab.isActive(), \'md-left\': tab.isLeft(), \'md-right\': tab.isRight(), \'md-no-scroll\': $mdTabsCtrl.dynamicHeight }"> <div md-tabs-template="::tab.template" md-connected-if="tab.isActive()" md-scope="::tab.parent" ng-if="$mdTabsCtrl.enableDisconnect || tab.shouldRender()"></div> </md-tab-content> </md-tabs-content-wrapper>'},controller:"MdTabsController",controllerAs:"$mdTabsCtrl",bindToController:!0}}function s(o,c){return{require:"^?mdTabs",link:function(e,t,n,a){if(a){var s,i,r=function(){a.updatePagination(),a.updateInkBarStyles()};if("MutationObserver"in c){(s=new MutationObserver(r)).observe(t[0],{childList:!0,subtree:!0,characterData:!0}),i=s.disconnect.bind(s)}else{var d=o.debounce(r,15,null,!1);t.on("DOMSubtreeModified",d),i=t.off.bind(t,"DOMSubtreeModified",d)}e.$on("$destroy",function(){i()})}}}}function i(r,d){return{restrict:"A",link:function(e,t,n,a){if(!a)return;var s=a.enableDisconnect?e.compileScope.$new():e.compileScope;return t.html(e.template),r(t.contents())(s),d.nextTick(function(){e.$watch("connected",function(e){!1===e?a.enableDisconnect&&d.disconnectScope(s):i()}),e.$on("$destroy",i)});function i(){a.enableDisconnect&&d.reconnectScope(s)}},scope:{template:"=mdTabsTemplate",connected:"=?mdConnectedIf",compileScope:"=mdScope"},require:"^?mdTabs"}}K.module("material.components.tabs",["material.core","material.components.icon"]),K.module("material.components.tabs").service("MdTabsPaginationService",function(){return{decreasePageOffset:function(e,t){var n,a,s=e.canvas,i=d(e);for(n=0;n<i.length;n++)if(i[n]>=t){a=i[n];break}return Math.max(0,a-s.clientWidth)},increasePageOffset:function(e,t){var n,a,s=e.canvas,i=o(e)-s.clientWidth,r=d(e);for(n=0;r.length,r[n]<=t+s.clientWidth;n++)a=r[n];return Math.min(i,a)},getTabOffsets:d,getTotalTabsWidth:o};function d(e){var t,n,a=0,s=[];for(t=0;t<e.tabs.length;t++)n=e.tabs[t],s.push(a),a+=n.offsetWidth;return s}function o(e){var t,n=0;for(t=0;t<e.tabs.length;t++)n+=e.tabs[t].offsetWidth;return n}}),K.module("material.components.tabs").directive("mdTab",function(){return{require:"^?mdTabs",terminal:!0,compile:function(e,t){var n=o(e,"md-tab-label"),a=o(e,"md-tab-body");if(0===n.length&&(n=K.element("<md-tab-label></md-tab-label>"),t.label?n.text(t.label):n.append(e.contents()),0===a.length)){var s=e.contents().detach();(a=K.element("<md-tab-body></md-tab-body>")).append(s)}return e.append(n),a.html()&&e.append(a),i},scope:{active:"=?mdActive",disabled:"=?ngDisabled",select:"&?mdOnSelect",deselect:"&?mdOnDeselect",tabClass:"@mdTabClass"}};function i(e,t,n,a){if(a){var s=a.getTabElementIndex(t),i=o(t,"md-tab-body").remove(),r=o(t,"md-tab-label").remove(),d=a.insertTab({scope:e,parent:e.$parent,index:s,element:t,template:i.html(),label:r.html()},s);e.select=e.select||K.noop,e.deselect=e.deselect||K.noop,e.$watch("active",function(e){e&&a.select(d.getIndex(),!0)}),e.$watch("disabled",function(){a.refreshIndex()}),e.$watch(function(){return a.getTabElementIndex(t)},function(e){d.index=e,a.updateTabOrder()}),e.$on("$destroy",function(){a.removeTab(d)})}}function o(e,t){for(var n=e[0].children,a=0,s=n.length;a<s;a++){var i=n[a];if(i.tagName===t.toUpperCase())return K.element(i)}return K.element()}}),K.module("material.components.tabs").directive("mdTabItem",function(){return{require:"^?mdTabs",link:function(e,t,n,a){a&&a.attachRipple(e,t)}}}),K.module("material.components.tabs").directive("mdTabLabel",function(){return{terminal:!0}}),t.$inject=["$parse"],K.module("material.components.tabs").directive("mdTabScroll",t),n.$inject=["$scope","$element","$window","$mdConstant","$mdTabInkRipple","$mdUtil","$animateCss","$attrs","$compile","$mdTheming","$mdInteraction","$timeout","MdTabsPaginationService"],K.module("material.components.tabs").controller("MdTabsController",n),a.$inject=["$$mdSvgRegistry"],K.module("material.components.tabs").directive("mdTabs",a),s.$inject=["$mdUtil","$window"],K.module("material.components.tabs").directive("mdTabsDummyWrapper",s),i.$inject=["$compile","$mdUtil"],K.module("material.components.tabs").directive("mdTabsTemplate",i)}(window,window.angular);
Note: See TracBrowser for help on using the repository browser.