Skip to content

Commit 8c8ad00

Browse files
committed
ionic update
1 parent d9f01c1 commit 8c8ad00

16 files changed

+3852
-4945
lines changed

www/lib/css/ionic.css

Lines changed: 40 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
* Copyright 2014 Drifty Co.
33
* http://drifty.com/
44
*
5-
* Ionic, v1.0.0-beta.12
5+
* Ionic, v1.0.0-beta.13
66
* A powerful HTML5 mobile app framework.
77
* http://ionicframework.com/
88
*
@@ -2287,11 +2287,11 @@ body.grade-b, body.grade-c {
22872287
position: absolute;
22882288
border-radius: 4px;
22892289
background: rgba(0, 0, 0, 0.3);
2290-
opacity: 1; }
2290+
opacity: 1;
2291+
-webkit-transition: opacity 0.3s linear;
2292+
-moz-transition: opacity 0.3s linear;
2293+
transition: opacity 0.3s linear; }
22912294
.scroll-bar-indicator.scroll-bar-fade-out {
2292-
-webkit-transition: opacity 0.3s linear;
2293-
-moz-transition: opacity 0.3s linear;
2294-
transition: opacity 0.3s linear;
22952295
opacity: 0; }
22962296

22972297
.grade-b .scroll-bar-indicator, .grade-c .scroll-bar-indicator {
@@ -2307,25 +2307,25 @@ body.grade-b, body.grade-c {
23072307
transform: translate3d(0, 0, 0) rotate(0); }
23082308

23092309
100% {
2310-
transform: translate3d(0, 0, 0) rotate(-180deg); } }
2310+
transform: translate3d(0, 0, 0) rotate(180deg); } }
23112311

23122312
@-webkit-keyframes refresh-spin {
23132313
0% {
23142314
-webkit-transform: translate3d(0, 0, 0) rotate(0); }
23152315

23162316
100% {
2317-
-webkit-transform: translate3d(0, 0, 0) rotate(-180deg); } }
2317+
-webkit-transform: translate3d(0, 0, 0) rotate(180deg); } }
23182318

23192319
@keyframes refresh-spin-back {
23202320
0% {
2321-
transform: translate3d(0, 0, 0) rotate(-180deg); }
2321+
transform: translate3d(0, 0, 0) rotate(180deg); }
23222322

23232323
100% {
23242324
transform: translate3d(0, 0, 0) rotate(0); } }
23252325

23262326
@-webkit-keyframes refresh-spin-back {
23272327
0% {
2328-
-webkit-transform: translate3d(0, 0, 0) rotate(-180deg); }
2328+
-webkit-transform: translate3d(0, 0, 0) rotate(180deg); }
23292329

23302330
100% {
23312331
-webkit-transform: translate3d(0, 0, 0) rotate(0); } }
@@ -2378,16 +2378,28 @@ body.grade-b, body.grade-c {
23782378
-webkit-animation-duration: 1.5s;
23792379
-moz-animation-duration: 1.5s;
23802380
animation-duration: 1.5s; }
2381-
.scroll-refresher.active .icon-pulling {
2381+
.scroll-refresher.active .icon-pulling:not(.pulling-rotation-disabled) {
23822382
-webkit-animation-name: refresh-spin;
23832383
-moz-animation-name: refresh-spin;
23842384
animation-name: refresh-spin;
23852385
-webkit-transform: translate3d(0, 0, 0) rotate(-180deg);
23862386
transform: translate3d(0, 0, 0) rotate(-180deg); }
2387-
.scroll-refresher.active.refreshing .icon-pulling, .scroll-refresher.active.refreshing .text-pulling {
2388-
display: none; }
2389-
.scroll-refresher.active.refreshing .icon-refreshing, .scroll-refresher.active.refreshing .text-refreshing {
2390-
display: block; }
2387+
.scroll-refresher.active.refreshing {
2388+
-webkit-transition: transform 0.2s;
2389+
-moz-transition: transform 0.2s;
2390+
transition: transform 0.2s;
2391+
-webkit-transition: -webkit-transform 0.2s;
2392+
-moz-transition: -webkit-transform 0.2s;
2393+
transition: -webkit-transform 0.2s;
2394+
-webkit-transform: scale(1, 1);
2395+
transform: scale(1, 1); }
2396+
.scroll-refresher.active.refreshing .icon-pulling, .scroll-refresher.active.refreshing .text-pulling {
2397+
display: none; }
2398+
.scroll-refresher.active.refreshing .icon-refreshing, .scroll-refresher.active.refreshing .text-refreshing {
2399+
display: block; }
2400+
.scroll-refresher.active.refreshing.refreshing-tail {
2401+
-webkit-transform: scale(0, 0);
2402+
transform: scale(0, 0); }
23912403

23922404
ion-infinite-scroll {
23932405
height: 60px;
@@ -3267,6 +3279,11 @@ a.subdued {
32673279
border: none;
32683280
box-shadow: 0 2px 3px rgba(0, 0, 0, 0.15);
32693281
padding-top: 2px; }
3282+
.tabs-striped .tab-item.tab-item-active, .tabs-striped .tab-item.active, .tabs-striped .tab-item.activated {
3283+
margin-top: -2px;
3284+
border-style: solid;
3285+
border-width: 2px 0 0 0;
3286+
border-color: #444; }
32703287
.tabs-striped.tabs-light .tabs {
32713288
background-color: #444; }
32723289
.tabs-striped.tabs-light .tab-item {
@@ -3848,6 +3865,7 @@ a.subdued {
38483865
left: 50%;
38493866
z-index: 10;
38503867
display: block;
3868+
margin-top: 12px;
38513869
margin-left: -110px;
38523870
height: 280px;
38533871
width: 220px;
@@ -3858,8 +3876,6 @@ a.subdued {
38583876
border-top: 0; }
38593877
.popover .item:last-child {
38603878
border-bottom: 0; }
3861-
.popover.popover-top {
3862-
margin-top: 12px; }
38633879
.popover.popover-bottom {
38643880
margin-top: -12px; }
38653881

@@ -3893,6 +3909,7 @@ a.subdued {
38933909
.platform-ios .popover-arrow {
38943910
position: absolute;
38953911
display: block;
3912+
top: -17px;
38963913
width: 30px;
38973914
height: 19px;
38983915
overflow: hidden; }
@@ -3908,22 +3925,20 @@ a.subdued {
39083925
-webkit-transform: rotate(-45deg);
39093926
-moz-transform: rotate(-45deg);
39103927
transform: rotate(-45deg); }
3911-
.platform-ios .popover-top .popover-arrow {
3912-
top: -17px; }
39133928
.platform-ios .popover-bottom .popover-arrow {
3929+
top: auto;
39143930
bottom: -10px; }
39153931
.platform-ios .popover-bottom .popover-arrow:after {
39163932
top: -6px; }
39173933

39183934
.platform-android .popover {
3935+
margin-top: -32px;
39193936
background-color: #fafafa;
39203937
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.35); }
39213938
.platform-android .popover .item {
39223939
border-color: #fafafa;
39233940
background-color: #fafafa;
39243941
color: #4d4d4d; }
3925-
.platform-android .popover.popover-top {
3926-
margin-top: -32px; }
39273942
.platform-android .popover.popover-bottom {
39283943
margin-top: 32px; }
39293944
.platform-android .popover-backdrop, .platform-android .popover-backdrop.active {
@@ -4017,7 +4032,7 @@ a.subdued {
40174032
flex-direction: column; }
40184033

40194034
.popup-head {
4020-
padding: 15px 0px;
4035+
padding: 15px 10px;
40214036
border-bottom: 1px solid #eee;
40224037
text-align: center; }
40234038

@@ -4058,6 +4073,7 @@ a.subdued {
40584073
-moz-flex: 1;
40594074
-ms-flex: 1;
40604075
flex: 1;
4076+
display: block;
40614077
min-height: 45px;
40624078
border-radius: 2px;
40634079
line-height: 20px;
@@ -4104,6 +4120,8 @@ a.subdued {
41044120
transition: 0.2s opacity linear;
41054121
visibility: hidden;
41064122
opacity: 0; }
4123+
.loading-container:not(.visible) .icon {
4124+
display: none; }
41074125
.loading-container.visible {
41084126
visibility: visible; }
41094127
.loading-container.active {
@@ -4764,7 +4782,7 @@ a.item-content {
47644782
.card {
47654783
padding-top: 1px;
47664784
padding-bottom: 1px;
4767-
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.25); }
4785+
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); }
47684786

47694787
.padding .card, .padding .list-inset {
47704788
margin-left: 0;

www/lib/css/ionic.min.css

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

www/lib/js/angular/angular-animate.js

100644100755
Lines changed: 78 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/**
2-
* @license AngularJS v1.2.17
2+
* @license AngularJS v1.2.25
33
* (c) 2010-2014 Google, Inc. http://angularjs.org
44
* License: MIT
55
*/
@@ -52,9 +52,9 @@
5252
* }
5353
*
5454
* .slide.ng-enter { } /* starting animations for enter */
55-
* .slide.ng-enter-active { } /* terminal animations for enter */
55+
* .slide.ng-enter.ng-enter-active { } /* terminal animations for enter */
5656
* .slide.ng-leave { } /* starting animations for leave */
57-
* .slide.ng-leave-active { } /* terminal animations for leave */
57+
* .slide.ng-leave.ng-leave-active { } /* terminal animations for leave */
5858
* </style>
5959
*
6060
* <!--
@@ -64,8 +64,22 @@
6464
* <ANY class="slide" ng-include="..."></ANY>
6565
* ```
6666
*
67-
* Keep in mind that if an animation is running, any child elements cannot be animated until the parent element's
68-
* animation has completed.
67+
* Keep in mind that, by default, if an animation is running, any child elements cannot be animated
68+
* until the parent element's animation has completed. This blocking feature can be overridden by
69+
* placing the `ng-animate-children` attribute on a parent container tag.
70+
*
71+
* ```html
72+
* <div class="slide-animation" ng-if="on" ng-animate-children>
73+
* <div class="fade-animation" ng-if="on">
74+
* <div class="explode-animation" ng-if="on">
75+
* ...
76+
* </div>
77+
* </div>
78+
* </div>
79+
* ```
80+
*
81+
* When the `on` expression value changes and an animation is triggered then each of the elements within
82+
* will all animate without the block being applied to child elements.
6983
*
7084
* <h2>CSS-defined Animations</h2>
7185
* The animate service will automatically apply two CSS classes to the animated element and these two CSS classes
@@ -255,6 +269,19 @@ angular.module('ngAnimate', ['ng'])
255269
* Please visit the {@link ngAnimate `ngAnimate`} module overview page learn more about how to use animations in your application.
256270
*
257271
*/
272+
.directive('ngAnimateChildren', function() {
273+
var NG_ANIMATE_CHILDREN = '$$ngAnimateChildren';
274+
return function(scope, element, attrs) {
275+
var val = attrs.ngAnimateChildren;
276+
if(angular.isString(val) && val.length === 0) { //empty attribute
277+
element.data(NG_ANIMATE_CHILDREN, true);
278+
} else {
279+
scope.$watch(val, function(value) {
280+
element.data(NG_ANIMATE_CHILDREN, !!value);
281+
});
282+
}
283+
};
284+
})
258285

259286
//this private service is only used within CSS-enabled animations
260287
//IE8 + IE9 do not support rAF natively, but that is fine since they
@@ -283,6 +310,7 @@ angular.module('ngAnimate', ['ng'])
283310

284311
var ELEMENT_NODE = 1;
285312
var NG_ANIMATE_STATE = '$$ngAnimateState';
313+
var NG_ANIMATE_CHILDREN = '$$ngAnimateChildren';
286314
var NG_ANIMATE_CLASS_NAME = 'ng-animate';
287315
var rootAnimateState = {running: true};
288316

@@ -332,6 +360,12 @@ angular.module('ngAnimate', ['ng'])
332360
return classNameFilter.test(className);
333361
};
334362

363+
function blockElementAnimations(element) {
364+
var data = element.data(NG_ANIMATE_STATE) || {};
365+
data.running = true;
366+
element.data(NG_ANIMATE_STATE, data);
367+
}
368+
335369
function lookup(name) {
336370
if (name) {
337371
var matches = [],
@@ -558,7 +592,7 @@ angular.module('ngAnimate', ['ng'])
558592
parentElement = prepareElement(parentElement);
559593
afterElement = prepareElement(afterElement);
560594

561-
this.enabled(false, element);
595+
blockElementAnimations(element);
562596
$delegate.enter(element, parentElement, afterElement);
563597
$rootScope.$$postDigest(function() {
564598
element = stripCommentsFromElement(element);
@@ -596,7 +630,7 @@ angular.module('ngAnimate', ['ng'])
596630
leave : function(element, doneCallback) {
597631
element = angular.element(element);
598632
cancelChildAnimations(element);
599-
this.enabled(false, element);
633+
blockElementAnimations(element);
600634
$rootScope.$$postDigest(function() {
601635
performAnimation('leave', 'ng-leave', stripCommentsFromElement(element), null, null, function() {
602636
$delegate.leave(element);
@@ -640,7 +674,7 @@ angular.module('ngAnimate', ['ng'])
640674
afterElement = prepareElement(afterElement);
641675

642676
cancelChildAnimations(element);
643-
this.enabled(false, element);
677+
blockElementAnimations(element);
644678
$delegate.move(element, parentElement, afterElement);
645679
$rootScope.$$postDigest(function() {
646680
element = stripCommentsFromElement(element);
@@ -750,7 +784,7 @@ angular.module('ngAnimate', ['ng'])
750784
* @kind function
751785
*
752786
* @param {boolean=} value If provided then set the animation on or off.
753-
* @param {DOMElement} element If provided then the element will be used to represent the enable/disable operation
787+
* @param {DOMElement=} element If provided then the element will be used to represent the enable/disable operation
754788
* @return {boolean} Current animation state.
755789
*
756790
* @description
@@ -814,9 +848,12 @@ angular.module('ngAnimate', ['ng'])
814848

815849
//only allow animations if the currently running animation is not structural
816850
//or if there is no animation running at all
817-
var skipAnimations = runner.isClassBased ?
818-
ngAnimateState.disabled || (lastAnimation && !lastAnimation.isClassBased) :
819-
false;
851+
var skipAnimations;
852+
if (runner.isClassBased) {
853+
skipAnimations = ngAnimateState.running ||
854+
ngAnimateState.disabled ||
855+
(lastAnimation && !lastAnimation.isClassBased);
856+
}
820857

821858
//skip the animation if animations are disabled, a parent is already being animated,
822859
//the element is not currently attached to the document body or then completely close
@@ -1033,30 +1070,49 @@ angular.module('ngAnimate', ['ng'])
10331070
}
10341071

10351072
function animationsDisabled(element, parentElement) {
1036-
if (rootAnimateState.disabled) return true;
1073+
if (rootAnimateState.disabled) {
1074+
return true;
1075+
}
10371076

1038-
if(isMatchingElement(element, $rootElement)) {
1039-
return rootAnimateState.disabled || rootAnimateState.running;
1077+
if (isMatchingElement(element, $rootElement)) {
1078+
return rootAnimateState.running;
10401079
}
10411080

1081+
var allowChildAnimations, parentRunningAnimation, hasParent;
10421082
do {
10431083
//the element did not reach the root element which means that it
10441084
//is not apart of the DOM. Therefore there is no reason to do
10451085
//any animations on it
1046-
if(parentElement.length === 0) break;
1086+
if (parentElement.length === 0) break;
10471087

10481088
var isRoot = isMatchingElement(parentElement, $rootElement);
1049-
var state = isRoot ? rootAnimateState : parentElement.data(NG_ANIMATE_STATE);
1050-
var result = state && (!!state.disabled || state.running || state.totalActive > 0);
1051-
if(isRoot || result) {
1052-
return result;
1089+
var state = isRoot ? rootAnimateState : (parentElement.data(NG_ANIMATE_STATE) || {});
1090+
if (state.disabled) {
1091+
return true;
1092+
}
1093+
1094+
//no matter what, for an animation to work it must reach the root element
1095+
//this implies that the element is attached to the DOM when the animation is run
1096+
if (isRoot) {
1097+
hasParent = true;
10531098
}
10541099

1055-
if(isRoot) return true;
1100+
//once a flag is found that is strictly false then everything before
1101+
//it will be discarded and all child animations will be restricted
1102+
if (allowChildAnimations !== false) {
1103+
var animateChildrenFlag = parentElement.data(NG_ANIMATE_CHILDREN);
1104+
if(angular.isDefined(animateChildrenFlag)) {
1105+
allowChildAnimations = animateChildrenFlag;
1106+
}
1107+
}
1108+
1109+
parentRunningAnimation = parentRunningAnimation ||
1110+
state.running ||
1111+
(state.last && !state.last.isClassBased);
10561112
}
10571113
while(parentElement = parentElement.parent());
10581114

1059-
return true;
1115+
return !hasParent || (!allowChildAnimations && parentRunningAnimation);
10601116
}
10611117
}]);
10621118

0 commit comments

Comments
 (0)