diff --git a/dist/css/ionic.css b/dist/css/ionic.css
index f2cbab53ae..16bf28b0a6 100644
--- a/dist/css/ionic.css
+++ b/dist/css/ionic.css
@@ -1,3 +1,4 @@
+@charset "UTF-8";
/*!
* Copyright 2014 Drifty Co.
* http://drifty.com/
diff --git a/dist/css/ionic.min.css b/dist/css/ionic.min.css
index 4acd26d032..7c4270f6e4 100644
--- a/dist/css/ionic.min.css
+++ b/dist/css/ionic.min.css
@@ -1,4 +1,4 @@
-/*!
+@charset "UTF-8";/*!
* Copyright 2014 Drifty Co.
* http://drifty.com/
*
diff --git a/dist/js/ionic-angular.js b/dist/js/ionic-angular.js
index 3c109feac1..d0934fe40f 100644
--- a/dist/js/ionic-angular.js
+++ b/dist/js/ionic-angular.js
@@ -1390,7 +1390,7 @@ angular.module('ionic.ui.list', ['ngAnimate'])
reorderIcon: '@'
},
- template: '
\
+ template: '
\
\
\
\
@@ -1413,8 +1413,15 @@ angular.module('ionic.ui.list', ['ngAnimate'])
if(value) $scope.href = value.trim();
});
+ if(!$scope.itemType) {
+ $scope.itemType = $parentScope.itemType;
+ }
+
// Set this item's class, first from the item directive attr, and then the list attr if item not set
- $scope.itemClass = $scope.itemType || $parentScope.itemType;
+ $element.addClass($scope.itemType || $parentScope.itemType);
+
+ $scope.itemClass = $scope.itemType;
+
// Decide if this item can do stuff, and follow a certain priority
// depending on where the value comes from
if(($attr.canDelete ? $scope.canDelete : $parentScope.canDelete) !== "false") {
diff --git a/dist/js/ionic-angular.min.js b/dist/js/ionic-angular.min.js
index ab729c149e..45ea38e537 100644
--- a/dist/js/ionic-angular.min.js
+++ b/dist/js/ionic-angular.min.js
@@ -11,5 +11,5 @@
* Licensed under the MIT license. Please see LICENSE for more information.
*
*/
-angular.module("ionic.service",["ionic.service.platform","ionic.service.actionSheet","ionic.service.gesture","ionic.service.loading","ionic.service.modal","ionic.service.popup","ionic.service.templateLoad","ionic.service.view"]),angular.module("ionic.ui.service",["ionic.ui.service.scrollDelegate","ionic.ui.service.slideBoxDelegate"]),angular.module("ionic.ui",["ionic.ui.content","ionic.ui.scroll","ionic.ui.tabs","ionic.ui.viewState","ionic.ui.header","ionic.ui.sideMenu","ionic.ui.slideBox","ionic.ui.list","ionic.ui.checkbox","ionic.ui.toggle","ionic.ui.radio"]),angular.module("ionic",["ionic.service","ionic.ui.service","ionic.ui","ngAnimate","ngTouch","ngSanitize","ui.router"]),function(){"use strict";angular.module("ionic.ui.service.scrollDelegate",[]).factory("ScrollDelegate",["$rootScope",function(a){return{scrollTop:function(b){a.$broadcast("scroll.scrollTop",b)},tapScrollToTop:function(a){var b=this;ionic.on("tap",function(c){var d=a[0],e=d.getBoundingClientRect();ionic.DomUtil.rectContains(c.gesture.touches[0].pageX,c.gesture.touches[0].pageY,e.left,e.top,e.left+e.width,e.top+20)&&b.scrollTop()},a[0])},register:function(a,b){b.bind("scroll",function(b){a.onScroll({event:b,scrollTop:b.detail?b.detail.scrollTop:b.originalEvent?b.originalEvent.detail.scrollTop:0,scrollLeft:b.detail?b.detail.scrollLeft:b.originalEvent?b.originalEvent.detail.scrollLeft:0})}),a.$parent.$on("scroll.resize",function(){$timeout(function(){a.$parent.scrollView&&a.$parent.scrollView.resize()})}),a.$parent.$on("scroll.refreshComplete",function(){a.$parent.scrollView&&a.$parent.scrollView.finishPullToRefresh()}),a.$parent.$on("scroll.scrollTop",function(b,c){a.$parent.scrollView&&a.$parent.scrollView.scrollTo(0,0,c===!1?!1:!0)})}}}])}(ionic),function(){"use strict";angular.module("ionic.ui.service.slideBoxDelegate",[]).factory("SlideBoxDelegate",["$rootScope","$timeout",function(a,b){return{update:function(){a.$broadcast("slideBox.update")},register:function(a){a.$parent.$on("slideBox.update",function(c){c.defaultPrevented||(b(function(){a.$parent.slideBox.setup()}),c.preventDefault())})}}}])}(ionic),angular.module("ionic.service.actionSheet",["ionic.service.templateLoad","ionic.ui.actionSheet","ngAnimate"]).factory("ActionSheet",["$rootScope","$document","$compile","$animate","$timeout","TemplateLoader",function(a,b,c,d){return{show:function(e){var f=a.$new(!0);angular.extend(f,e);var g=c('
')(f),h=angular.element(g[0].querySelector(".action-sheet")),i=function(a){d.leave(h,function(){a&&e.cancel()}),d.removeClass(g,"active",function(){f.$destroy()})};f.cancel=function(){i(!0)},f.buttonClicked=function(a){(e.buttonClicked&&e.buttonClicked(a))===!0&&i(!1)},f.destructiveButtonClicked=function(){(e.destructiveButtonClicked&&e.destructiveButtonClicked())===!0&&i(!1)},b[0].body.appendChild(g[0]);var j=new ionic.views.ActionSheet({el:g[0]});return f.sheet=j,d.addClass(g,"active"),d.enter(h,g,null,function(){}),j}}}]),angular.module("ionic.service.gesture",[]).factory("Gesture",[function(){return{on:function(a,b,c){return window.ionic.onGesture(a,b,c[0])},off:function(a,b,c){return window.ionic.offGesture(a,b,c)}}}]),angular.module("ionic.service.loading",["ionic.ui.loading"]).factory("Loading",["$rootScope","$document","$compile",function(a,b,c){return{show:function(d){var e={content:"",animation:"fade-in",showBackdrop:!0,maxWidth:200,showDelay:2e3};d=angular.extend(e,d);var f=a.$new(!0);angular.extend(f,d);var g=angular.element(b[0].querySelector(".loading-backdrop"));if(g.length&&(f=g.scope(),f.loading))return f.loading.show(),f.loading;var h=c("
"+d.content+"")(f);b[0].body.appendChild(h[0]);var i=new ionic.views.Loading({el:h[0],maxWidth:d.maxWidth,showDelay:d.showDelay});return i.show(),f.loading=i,i}}}]),angular.module("ionic.service.modal",["ionic.service.templateLoad","ngAnimate"]).factory("Modal",["$rootScope","$document","$compile","$animate","$q","TemplateLoader",function(a,b,c,d,e,f){var g=ionic.views.Modal.inherit({initialize:function(a){ionic.views.Modal.prototype.initialize.call(this,a),this.animation=a.animation||"slide-in-up"},show:function(){var a=this,c=angular.element(this.el);c.parent().length||(angular.element(b[0].body).append(c),ionic.views.Modal.prototype.show.call(a)),d.addClass(c,this.animation,function(){})},hide:function(){var a=angular.element(this.el);d.removeClass(a,this.animation),ionic.views.Modal.prototype.hide.call(this)},remove:function(){{var a=this;angular.element(this.el)}d.leave(angular.element(this.el),function(){a.scope.$destroy()})}}),h=function(b,d){var e=d.scope&&d.scope.$new()||a.$new(!0),f=c(b)(e);d.el=f[0];var h=new g(d);return h.scope=e,d.scope||(e.modal=h),h};return{fromTemplate:function(a,b){var c=h(a,b||{});return c},fromTemplateUrl:function(a,b,c){return f.load(a).then(function(a){var d=h(a,c||{});return b?b(d):null,d})}}}]),function(){"use strict";angular.module("ionic.service.platform",[]).provider("Platform",function(){var a="web",b=!1;(window.cordova||window.PhoneGap||window.phonegap)&&(a="cordova");var c=function(){return"cordova"==a?window.device||window.Cordova:!0};return setTimeout(function d(){c()?ionic.Platform.detect():setTimeout(d,50)},10),{setPlatform:function(b){a=b},$get:["$q","$timeout",function(a,d){return{onHardwareBackButton:function(a){this.ready(function(){document.addEventListener("backbutton",a,!1)})},offHardwareBackButton:function(a){this.ready(function(){document.removeEventListener("backbutton",a)})},is:function(a){return ionic.Platform.is(a)},ready:function(e){var f=a.defer();return d(function g(){c()?(b=!0,f.resolve(),e()):d(g,50)},50),f.promise}}}]}})}(ionic),angular.module("ionic.service.popup",["ionic.service.templateLoad"]).factory("Popup",["$rootScope","$document","$compile","TemplateLoader",function(a,b,c){var d=function(){var a=angular.element(b[0].querySelector(".popup"));if(a.length){var c=a.scope();if(c.popup)return c}};return{alert:function(e,f){var g=d();if(g)return g.popup.alert(e);var h={title:e,animation:"fade-in"};opts=angular.extend(h,opts);var i=f&&f.$new()||a.$new(!0);angular.extend(i,opts);var j=c("
"+opts.content+"")(i);b[0].body.appendChild(j[0]);var k=new ionic.views.Popup({el:j[0]});return k.alert(e),i.popup=k,k},confirm:function(){},prompt:function(){},show:function(){}}}]),angular.module("ionic.service.templateLoad",[]).factory("TemplateLoader",["$q","$http","$templateCache",function(a,b,c){return{load:function(d){var e=a.defer();return b({method:"GET",url:d,cache:c}).success(function(a){e.resolve(a&&a.trim())}).error(function(a){e.reject(a)}),e.promise}}}]),angular.module("ionic.service.view",["ui.router"]).run(["$rootScope","$state","$location","$document",function(a,b,c,d){a.$viewHistory={histories:{root:{historyId:"root",parentHistoryId:null,stack:[],cursor:-1}},backView:null,forwardView:null,currentView:null},a.$on("viewState.changeHistory",function(d,e){if(e){var f=e.historyId?a.$viewHistory.histories[e.historyId]:null;if(f&&f.cursor>-1&&f.cursor
-1&&g.stack.length>0&&g.cursor=j.index;n--)m.stack[n].destory(),m.stack.splice(n)}}else k.navAction="initialView";d.histories[k.viewId]=this.createView({viewId:k.viewId,index:g.stack.length,historyId:g.historyId,backViewId:h&&h.viewId?h.viewId:null,forwardViewId:null,stateId:e,stateName:this.getCurrentStateName(),stateParams:this.getCurrentStateParams(),url:c.url()}),g.stack.push(d.histories[k.viewId])}return this.setNavViews(k.viewId),g.cursor=d.currentView.index,k},setNavViews:function(b){var c=a.$viewHistory;c.currentView=this._getView(b),c.backView=this._getBackView(c.currentView),c.forwardView=this._getForwardView(c.currentView),a.$broadcast("$viewHistory.historyChange",{showBack:c.backView&&c.backView.historyId===c.currentView.historyId})},registerHistory:function(a){a.$historyId="h"+Math.round(99999999999*Math.random())},createView:function(a){var b=new h;return b.initialize(a)},getCurrentView:function(){return a.$viewHistory.currentView},getBackView:function(){return a.$viewHistory.backView},getForwardView:function(){return a.$viewHistory.forwardView},getNavDirection:function(){return a.$viewHistory.navDirection},getCurrentStateName:function(){return b&&b.current?b.current.name:null},isCurrentStateNavView:function(a){return b&&b.current&&b.current.views&&b.current.views[a]?!0:!1},getCurrentStateParams:function(){var a;if(b&&b.params)for(var c in b.params)b.params.hasOwnProperty(c)&&(a=a||{},a[c]=b.params[c]);return a},getCurrentStateId:function(){var a;if(b&&b.current&&b.current.name){if(a=b.current.name,b.params)for(var c in b.params)b.params.hasOwnProperty(c)&&b.params[c]&&(a+="_"+c+"="+b.params[c]);return a}return"r"+Math.round(9999999*Math.random())},_getView:function(b){return b?a.$viewHistory.histories[b]:null},_getBackView:function(a){return a?this._getView(a.backViewId):null},_getForwardView:function(a){return a?this._getView(a.forwardViewId):null},_getHistory:function(b){var c=this._getParentHistoryObj(b);return a.$viewHistory.histories[c.historyId]||(a.$viewHistory.histories[c.historyId]={historyId:c.historyId,parentHistoryId:this._getParentHistoryObj(c.scope.$parent).historyId,stack:[],cursor:-1}),a.$viewHistory.histories[c.historyId]},_getParentHistoryObj:function(b){for(var c=b;c;){if(c.hasOwnProperty("$historyId"))return{historyId:c.$historyId,scope:c};c=c.$parent}return{historyId:"root",scope:a}},transition:function(b){function c(){for(var a=b.enteringScope;a;){if(a.animation)return a.animation;a=a.$parent}}if(b&&b.enteringElement){b.leavingScope&&(b.leavingScope.$destroy(),b.leavingScope=null);var d=b.animation||c();g&&d&&b.doAnimation!==!1&&b.navDirection?(this.setAnimationClass(b.parentElement,d,b.navDirection),b.leavingElement&&g.leave(b.leavingElement),g.enter(b.enteringElement,b.parentElement)):(b.leavingElement&&b.leavingElement.remove(),b.parentElement.append(b.enteringElement)),a.$broadcast("viewState.viewEnter",{title:b.enteringScope?b.enteringScope.title:null,navDirection:b.navDirection?b.navDirection:null})}},setAnimationClass:function(a,b,c){a[0].classList.add(b),"back"===c?a[0].classList.add("reverse"):a[0].classList.remove("reverse")},clearHistory:function(){var b,c=a.$viewHistory.histories,d=a.$viewHistory.currentView;for(b in c)c[b].stack&&(c[b].stack=[],c[b].cursor=-1),d.historyId===b?(d.backViewId=null,d.forwardViewId=null,c[b].stack.push(d)):c[b].destroy&&c[b].destroy();this.setNavViews(d.viewId)}}}]),function(){"use strict";angular.module("ionic.ui.actionSheet",[]).directive("actionSheet",["$document",function(a){return{restrict:"E",scope:!0,replace:!0,link:function(b,c){var d=function(a){27==a.which&&(b.cancel(),b.$apply())},e=function(a){a.target==c[0]&&(b.cancel(),b.$apply())};b.$on("$destroy",function(){c.remove(),a.unbind("keyup",d)}),a.bind("keyup",d),c.bind("click",e)},template:'{{titleText}}
'}}])}(),function(a){"use strict";angular.module("ionic.ui.header",["ngAnimate"]).directive("barHeader",["ScrollDelegate",function(a){return{restrict:"C",link:function(b,c){a.tapScrollToTop(c)}}}]).directive("headerBar",[function(){return{restrict:"E",replace:!0,transclude:!0,template:'',scope:{leftButtons:"=",rightButtons:"=",title:"=",type:"@",alignTitle:"@"},link:function(b,c){var d=new a.views.HeaderBar({el:c[0],alignTitle:b.alignTitle||"center"});c.addClass(b.type),b.headerBarView=d,b.$watch("leftButtons",function(){d.align()}),b.$watch("rightButtons",function(){console.log("Right buttons changed"),d.align()}),b.$watch("title",function(){d.align()})}}}]).directive("footerBar",function(){return{restrict:"E",replace:!0,transclude:!0,template:'',scope:{type:"@"},link:function(a,b){b.addClass(a.type)}}})}(ionic),function(){"use strict";angular.module("ionic.ui.checkbox",[]).directive("checkbox",function(){return{restrict:"E",replace:!0,require:"?ngModel",scope:{},transclude:!0,template:'
',link:function(a,b,c,d){var e;d&&(e=angular.element(b[0].querySelector('input[type="checkbox"]')),e.length&&(e.bind("change",function(b){d.$setViewValue(e[0].checked),a.$apply(function(){b.alreadyHandled=!0})}),d&&(d.$render=function(){e[0].checked=d.$viewValue})))}}})}(),function(){"use strict";angular.module("ionic.ui.content",["ionic.ui.service"]).directive("pane",function(){return{restrict:"E",link:function(a,b){b.addClass("pane")}}}).directive("content",["$parse","$timeout","Platform","ScrollDelegate",function(a,b,c,d){return{restrict:"E",replace:!0,template:'',transclude:!0,scope:{onRefresh:"&",onRefreshOpening:"&",onScroll:"&",onScrollComplete:"&",refreshComplete:"=",onInfiniteScroll:"=",infiniteScrollDistance:"@",hasBouncing:"@",scroll:"@",hasScrollX:"@",hasScrollY:"@",scrollbarX:"@",scrollbarY:"@",scrollEventInterval:"@"},compile:function(a,e,f){return"true"==e.hasHeader&&a.addClass("has-header"),"true"==e.hasSubheader&&a.addClass("has-subheader"),"true"==e.hasFooter&&a.addClass("has-footer"),"true"==e.hasTabs&&a.addClass("has-tabs"),function(a,g){var h,i,j,k=!1,l=g.eq(0);if("false"===a.scroll)h=f(a.$parent),g.append(h);else if("true"===e.overflowScroll)l.addClass("overflow-scroll"),h=f(a.$parent),g.append(h);else{i=document.createElement("div"),i.className="scroll","true"==e.padding&&(i.className+=" padding",k=!0),g.append(i),h=f(a.$parent),angular.element(g[0].firstElementChild).append(h);{var m=g[0].querySelector(".scroll-refresher");m&&m.clientHeight||0}e.refreshComplete&&(a.refreshComplete=function(){a.scrollView&&(m&&m.classList.remove("active"),a.scrollView.finishPullToRefresh(),a.$parent.$broadcast("scroll.onRefreshComplete"))}),b(function(){var b=a.$eval(a.hasBouncing),e=!c.is("Android")&&b!==!1;j=new ionic.views.Scroll({el:g[0],bouncing:e,scrollbarX:a.$eval(a.scrollbarX)!==!1,scrollbarY:a.$eval(a.scrollbarY)!==!1,scrollingX:a.$eval(a.hasScrollX)===!0,scrollingY:a.$eval(a.hasScrollY)!==!1,scrollEventInterval:parseInt(a.scrollEventInterval,10)||20,scrollingComplete:function(){a.onScrollComplete({scrollTop:this.__scrollTop,scrollLeft:this.__scrollLeft})}}),m&&j.activatePullToRefresh(50,function(){m.classList.add("active")},function(){m.classList.remove("refreshing"),m.classList.remove("active")},function(){m.classList.add("refreshing"),a.onRefresh(),a.$parent.$broadcast("scroll.onRefresh")}),d.register(a,g),a.$parent.scrollView=j});var n=g.find("infinite-scroll"),o=!1;if(n){var p,q=e.infiniteScrollDistance||"1%";p=q.indexOf("%")?function(){return j.getScrollMax().top*(1-parseInt(q,10)/100)}:function(){return j.getScrollMax().top-parseInt(q,10)},g.bind("scroll",function(){if(j&&!o&&j.getValues().top>p()){o=!0,n.addClass("active");var b=function(){j.resize(),o=!1,n.removeClass("active")};a.$apply(angular.bind(a,a.onInfiniteScroll,b))}})}}"true"!=e.padding||k||l.addClass("padding")}}}}]).directive("refresher",function(){return{restrict:"E",replace:!0,require:["^?content","^?list"],template:'',scope:!0}}).directive("scrollRefresher",function(){return{restrict:"E",replace:!0,transclude:!0,template:''}}).directive("infiniteScroll",function(){return{restrict:"E",replace:!1,template:''}})}(),function(){"use strict";angular.module("ionic.ui.list",["ngAnimate"]).directive("item",["$timeout","$parse",function(){return{restrict:"E",require:"?^list",replace:!0,transclude:!0,scope:{item:"=",itemType:"@",canDelete:"@",canReorder:"@",canSwipe:"@",onDelete:"&",optionButtons:"&",deleteIcon:"@",reorderIcon:"@"},template:'',link:function(a,b,c,d){if(d){var e=d.scope,f=d.attrs;c.$observe("href",function(b){b&&(a.href=b.trim())}),a.itemClass=a.itemType||e.itemType,"false"!==(c.canDelete?a.canDelete:e.canDelete)&&(c.onDelete||f.onDelete)&&(a.deleteClick=function(){c.onDelete?a.onDelete({item:a.item}):f.onDelete&&e.onDelete({item:a.item})},a.deleteIconClass=a.deleteIcon||e.deleteIcon||"ion-minus-circled"),"true"===(c.canReorder?a.canReorder:e.canReorder)&&(a.reorderIconClass=a.reorderIcon||e.reorderIcon||"ion-navicon"),"false"!==(c.canSwipe?a.canSwipe:e.canSwipe)&&(a.itemOptionButtons=a.optionButtons(),"undefined"==typeof a.itemOptionButtons&&(a.itemOptionButtons=e.optionButtons()))}}}}]).directive("list",["$timeout",function(a){return{restrict:"E",replace:!0,transclude:!0,scope:{itemType:"@",canDelete:"@",canReorder:"@",canSwipe:"@",showDelete:"=",showReorder:"=",onDelete:"&",onReorder:"&",optionButtons:"&",deleteIcon:"@",reorderIcon:"@"},template:"",controller:["$scope","$attrs",function(a,b){this.scope=a,this.attrs=b}],link:function(b,c,d){b.listView=new ionic.views.ListView({el:c[0],listEl:c[0].children[0]}),d.animation&&c[0].classList.add(d.animation);var e=b.$watch("showReorder",function(b){b?c[0].classList.add("item-options-hide"):b===!1&&a(function(){c[0].classList.remove("item-options-hide")},250)});b.$on("$destroy",function(){e()})}}}])}(),function(){"use strict";angular.module("ionic.ui.loading",[]).directive("loading",function(){return{restrict:"E",replace:!0,transclude:!0,link:function(a,b){b.addClass(a.animation||"")},template:''}})}(),function(a){"use strict";angular.module("ionic.ui.radio",[]).directive("radio",function(){return{restrict:"E",replace:!0,require:"?ngModel",scope:{value:"@"},transclude:!0,template:'',link:function(a,b,c,d){var e;d&&(e=b.children().eq(0),e.length&&d&&(e.bind("click",function(b){console.log("RADIO CLICK"),a.$apply(function(){d.$setViewValue(a.$eval(c.ngValue))}),b.alreadyHandled=!0}),d.$render=function(){var b=a.$eval(c.ngValue);b===d.$viewValue?e.attr("checked","checked"):e.removeAttr("checked")}))}}}).directive("radioButtons",function(){return{restrict:"E",replace:!0,require:"?ngModel",scope:{value:"@"},transclude:!0,template:'',controller:["$scope","$element",function(a,b){this.select=function(a){for(var c,d=b.children(),e=0;e',transclude:!0,scope:{direction:"@",paging:"@",onRefresh:"&",onScroll:"&",refreshComplete:"=",scroll:"@",scrollbarX:"@",scrollbarY:"@"},controller:function(){},compile:function(a,c,d){return function(a,e){var f,g,h=document.createElement("div");h.className="scroll","true"==c.padding&&h.classList.add("padding"),a.$eval(a.paging)===!0&&h.classList.add("scroll-paging"),e.append(h),f=d(a.$parent),angular.element(e[0].firstElementChild).append(f);var i=e[0].querySelector(".scroll-refresher"),j=i&&i.clientHeight||0;a.direction||(a.direction="y");var k=a.direction.indexOf("x")>=0,l=a.direction.indexOf("y")>=0;b(function(){var c={el:e[0],paging:a.$eval(a.paging)===!0,scrollbarX:a.$eval(a.scrollbarX)!==!1,scrollbarY:a.$eval(a.scrollbarY)!==!1,scrollingX:k,scrollingY:l};c.paging&&(c.speedMultiplier=.8,c.bouncing=!1),g=new ionic.views.Scroll(c),i&&g.activatePullToRefresh(j,function(){i.classList.add("active")},function(){i.classList.remove("refreshing"),i.classList.remove("active")},function(){i.classList.add("refreshing"),a.onRefresh(),a.$parent.$broadcast("scroll.onRefresh")}),e.bind("scroll",function(b){a.onScroll({event:b,scrollTop:b.detail?b.detail.scrollTop:b.originalEvent?b.originalEvent.detail.scrollTop:0,scrollLeft:b.detail?b.detail.scrollLeft:b.originalEvent?b.originalEvent.detail.scrollLeft:0})}),a.$parent.$on("scroll.resize",function(){b(function(){g&&g.resize()})}),a.$parent.$on("scroll.refreshComplete",function(){g&&g.finishPullToRefresh()}),a.$parent.scrollView=g})}}}}])}(),function(){"use strict";angular.module("ionic.ui.sideMenu",["ionic.service.gesture"]).directive("sideMenus",function(){return{restrict:"ECA",controller:["$scope",function(a){angular.extend(this,ionic.controllers.SideMenuController.prototype),ionic.controllers.SideMenuController.call(this,{left:{width:275},right:{width:275}}),a.sideMenuContentTranslateX=0,a.sideMenuController=this}],replace:!0,transclude:!0,template:'
'}}).directive("sideMenuContent",["$timeout","Gesture",function(a,b){return{restrict:"AC",require:"^sideMenus",scope:!0,compile:function(){return function(c,d,e,f){d.addClass("menu-content"),c.dragContent=c.$eval(e.dragContent)===!1?!1:!0;var g=!1,h=!1,i=function(a){if(c.dragContent){if(g||a.gesture.srcEvent.defaultPrevented)return;h=!0,f._handleDrag(a),a.gesture.srcEvent.preventDefault()}},j=function(a){h&&a.gesture.srcEvent.preventDefault()},k=b.on("dragright",i,d),l=b.on("dragleft",i,d),m=b.on("dragup",j,d),n=b.on("dragdown",j,d),o=function(a){h=!1,g||f._endDrag(a),g=!1},p=b.on("release",o,d);f.setContent({onDrag:function(){},endDrag:function(){},getTranslateX:function(){return c.sideMenuContentTranslateX||0},setTranslateX:function(b){d[0].style.webkitTransform="translate3d("+b+"px, 0, 0)",a(function(){c.sideMenuContentTranslateX=b})},enableAnimation:function(){c.animationEnabled=!0,d[0].classList.add("menu-animated")},disableAnimation:function(){c.animationEnabled=!1,d[0].classList.remove("menu-animated")}}),c.$on("$destroy",function(){b.off(l,"dragleft",i),b.off(k,"dragright",i),b.off(m,"dragup",i),b.off(n,"dragdown",i),b.off(p,"release",o)})}}}}]).directive("sideMenu",function(){return{restrict:"E",require:"^sideMenus",replace:!0,transclude:!0,scope:!0,template:'',compile:function(a,b,c){return function(a,b,d,e){a.side=d.side,"left"==a.side?(e.left.isEnabled=!0,e.left.pushDown=function(){b[0].style.zIndex=-1},e.left.bringUp=function(){b[0].style.zIndex=0}):"right"==a.side&&(e.right.isEnabled=!0,e.right.pushDown=function(){b[0].style.zIndex=-1},e.right.bringUp=function(){b[0].style.zIndex=0}),b.append(c(a))}}}})}(),function(){"use strict";angular.module("ionic.ui.slideBox",[]).directive("slideBox",["$timeout","$compile","SlideBoxDelegate",function(a,b,c){return{restrict:"E",replace:!0,transclude:!0,scope:{doesContinue:"@",slideInterval:"@",showPager:"@",disableScroll:"@",onSlideChanged:"&",activeSlide:"="},controller:["$scope","$element",function(b,d){var e=b.$eval(b.doesContinue)===!0,f=e?b.$eval(b.slideInterval)||4e3:0,g=new ionic.views.Slider({el:d[0],auto:f,disableScroll:b.$eval(b.disableScroll)===!0||!1,continuous:e,slidesChanged:function(){b.currentSlide=g.getPos(),a(function(){})},callback:function(c){b.currentSlide=c,b.onSlideChanged({index:b.currentSlide}),b.$parent.$broadcast("slideBox.slideChanged",c),b.activeSlide=c,a(function(){})}});b.$watch("activeSlide",function(a){angular.isDefined(a)&&g.slide(a)}),b.$on("slideBox.nextSlide",function(){g.next()}),b.$on("slideBox.prevSlide",function(){g.prev()}),b.$on("slideBox.setSlide",function(a,b){g.slide(b)}),b.$parent.slideBox=g,c.register(b,d),this.getNumSlides=function(){return g.getNumSlides()},a(function(){g.load()})}],template:'
',link:function(a,c){if(a.$eval(a.showPager)!==!1){var d=a.$new(),e=angular.element("
");c.append(e),b(e)(d)}}}}]).directive("slide",function(){return{restrict:"E",require:"^slideBox",compile:function(a){return a.addClass("slider-slide"),function(){}}}}).directive("pager",function(){return{restrict:"E",replace:!0,require:"^slideBox",template:'',link:function(a,b,c,d){var e=function(a){for(var c=b[0].children,d=c.length,e=0;d>e;e++)e==a?c[e].classList.add("active"):c[e].classList.remove("active")};a.numSlides=function(){return new Array(d.getNumSlides())},a.$watch("currentSlide",function(a){e(a)})}}})}(),angular.module("ionic.ui.tabs",["ionic.service.view"]).directive("tabs",[function(){return{restrict:"E",replace:!0,scope:!0,transclude:!0,controller:["$scope","$element",function(a){var b=this;a.tabCount=0,a.selectedIndex=-1,a.$enableViewRegister=!1,angular.extend(this,ionic.controllers.TabBarController.prototype),ionic.controllers.TabBarController.call(this,{controllerChanged:function(b,c,d,e){a.controllerChanged&&a.controllerChanged({oldController:b,oldIndex:c,newController:d,newIndex:e})},tabBar:{tryTabSelect:function(){},setSelectedItem:function(){},addItem:function(){}}}),this.add=function(b){b.tabIndex=a.tabCount,this.addController(b),0===b.tabIndex&&this.select(0),a.tabCount++},this.select=function(c,d){if(c!==a.selectedIndex){a.selectedIndex=c,a.activeAnimation=a.animation,b.selectController(c);for(var e={type:"tab",typeIndex:c},f=0;f
',compile:function(a,b,c){return function(a,b,d){var e=b[0].querySelector(".tabs");a.tabsType=d.tabsType||"tabs-positive",a.tabsStyle=d.tabsStyle,a.animation=d.animation,a.animateNav=a.$eval(d.animateNav),a.animateNav!==!1&&(a.animateNav=!0),d.$observe("tabsStyle",function(){e&&angular.element(e).addClass(d.tabsStyle)}),d.$observe("tabsType",function(){e&&angular.element(e).addClass(d.tabsType)}),a.$watch("activeAnimation",function(){b.addClass(a.activeAnimation)}),c(a,function(a){b.prepend(a)})}}}}]).directive("tab",["ViewService","$rootScope","$animate","$parse",function(a,b,c,d){return{restrict:"E",require:"^tabs",scope:!0,transclude:"element",compile:function(e,f,g){return function(e,f,h,i){var j,k;a.registerHistory(e),e.title=h.title,e.icon=h.icon,e.iconOn=h.iconOn,e.iconOff=h.iconOff,e.viewSref=h.uiSref,e.url=h.href,e.url&&0===e.url.indexOf("#")&&(e.url=e.url.replace("#","")),e.hideBackButton=e.$eval(h.hideBackButton),e.hideBackButton!==!0&&(e.hideBackButton=!1),e.animate=e.$eval(h.animate);var l=d(h.leftButtons);e.$watch(l,function(a){e.leftButtons=a,e.doesUpdateNavRouter&&e.$emit("viewState.leftButtonsChanged",e.rightButtons)});var m=d(h.rightButtons);e.$watch(m,function(a){e.rightButtons=a}),i.add(e),e.$watch("isVisible",function(a){k&&(c.leave(k),e.$broadcast("tab.hidden"),k=void 0),j&&(j.$destroy(),j=void 0),a&&(j=e.$new(),g(j,function(a){k=a,a.addClass("pane"),c.enter(a,f.parent(),f),e.$broadcast("tab.shown")
-}))}),g(e.$new(),function(b){var c=b[0].getElementsByTagName("nav-view");e.hasNavView=c.length>0,e.hasNavView&&(e.navViewName=c[0].getAttribute("name"),a.isCurrentStateNavView(e.navViewName)&&i.select(e.tabIndex))}),b.$on("$stateChangeSuccess",function(){a.isCurrentStateNavView(e.navViewName)&&e.tabIndex!==i.selectedIndex&&i.select(e.tabIndex)})}}}}]).directive("tabControllerBar",function(){return{restrict:"E",require:"^tabs",transclude:!0,replace:!0,scope:!0,template:'