diff --git a/Gruntfile.js b/Gruntfile.js
index 6d31392..c81ee0d 100644
--- a/Gruntfile.js
+++ b/Gruntfile.js
@@ -42,7 +42,7 @@ module.exports = function(grunt) {
}
});
- grunt.loadNpmTasks('grunt-sass');
+ grunt.loadNpmTasks('grunt-contrib-sass');
grunt.loadNpmTasks('grunt-contrib-less');
grunt.loadNpmTasks('grunt-contrib-cssmin');
diff --git a/dist/angular-progress-button-styles.css b/dist/angular-progress-button-styles.css
index a84d716..cfb751d 100644
--- a/dist/angular-progress-button-styles.css
+++ b/dist/angular-progress-button-styles.css
@@ -1,387 +1,390 @@
-/* Checkmark for success */
-/* Checkmark for error */
-/* General styles for all types of buttons */
-.progress-button {
- position: relative;
- display: inline-block;
- padding: 0 60px;
- outline: none;
- border: none;
- background: #1d9650;
- color: #FFF;
- text-transform: uppercase;
- letter-spacing: 1px;
- font-size: 1em;
- line-height: 4;
- cursor: pointer;
- /* Necessary 3d styles for buttons with perspective */ }
- .progress-button *, .progress-button *:after, .progress-button *::before {
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box; }
- .progress-button .notransition {
- -webkit-transition: none !important;
- transition: none !important; }
- .progress-button[disabled], .progress-button.disabled {
- cursor: default; }
- .progress-button .content {
- position: relative;
- display: block; }
- .progress-button .content:before, .progress-button .content:after {
- position: absolute;
- right: 20px;
- color: #0e7138;
- font-family: "FontAwesome";
- opacity: 0;
- -webkit-transition: opacity 0.3s 0.3s;
- transition: opacity 0.3s 0.3s; }
- .progress-button .content:before {
- content: "\f00c"; }
- .progress-button .content:after {
- content: "\f05e"; }
- .progress-button.state-success .content:before, .progress-button.state-error .content:after {
- opacity: 1; }
- .progress-button .progress {
- background: #148544; }
- .progress-button .progress-inner {
- position: absolute;
- left: 0;
- background: #0e7138; }
- .progress-button-dir-horizontal .progress-inner {
- top: 0;
- width: 0;
- height: 100%;
- -webkit-transition: width 0.3s, opacity 0.3s;
- transition: width 0.3s, opacity 0.3s; }
- .progress-button-dir-vertical .progress-inner {
- bottom: 0;
- width: 100%;
- height: 0;
- -webkit-transition: height 0.3s, opacity 0.3s;
- transition: height 0.3s, opacity 0.3s; }
- .progress-button-perspective {
- position: relative;
- display: inline-block;
- padding: 0;
- background: transparent;
- -webkit-perspective: 900px;
- perspective: 900px; }
- .progress-button-perspective .content, .progress-button-perspective .progress {
- outline: 1px solid rgba(0, 0, 0, 0);
- /* Smoothen jagged edges in FF */ }
- .progress-button-perspective .progress-wrap {
- display: block;
- -webkit-transition: -webkit-transform 0.2s;
- transition: transform 0.2s;
- -webkit-transform-style: preserve-3d;
- transform-style: preserve-3d; }
- .progress-button-perspective .content {
- padding: 0 60px;
- background: #1d9650; }
-
-.progress-button-style-fill.progress-button-dir-horizontal {
- overflow: hidden; }
- .progress-button-style-fill.progress-button-dir-horizontal .content {
- z-index: 10;
- -webkit-transition: -webkit-transform 0.3s;
- transition: transform 0.3s; }
- .progress-button-style-fill.progress-button-dir-horizontal .content:before, .progress-button-style-fill.progress-button-dir-horizontal .content:after {
- top: 100%;
- right: auto;
- left: 50%;
- -webkit-transition: opacity 0.3s;
- transition: opacity 0.3s;
- -webkit-transform: translateX(-50%);
- transform: translateX(-50%); }
- .progress-button-style-fill.progress-button-dir-horizontal.state-success .content, .progress-button-style-fill.progress-button-dir-horizontal.state-error .content {
- -webkit-transform: translateY(-100%);
- transform: translateY(-100%); }
-
-.progress-button-style-fill.progress-button-dir-vertical {
- overflow: hidden; }
- .progress-button-style-fill.progress-button-dir-vertical .content {
- z-index: 10;
- -webkit-transition: -webkit-transform 0.3s;
- transition: transform 0.3s; }
- .progress-button-style-fill.progress-button-dir-vertical .content:before, .progress-button-style-fill.progress-button-dir-vertical .content:after {
- top: 100%;
- right: auto;
- left: 50%;
- -webkit-transition: opacity 0.3s;
- transition: opacity 0.3s;
- -webkit-transform: translateX(-50%);
- transform: translateX(-50%); }
- .progress-button-style-fill.progress-button-dir-vertical.state-success .content, .progress-button-style-fill.progress-button-dir-vertical.state-error .content {
- -webkit-transform: translateY(-100%);
- transform: translateY(-100%); }
-
-.progress-button-style-shrink {
- overflow: hidden;
- -webkit-transition: -webkit-transform 0.2s;
- transition: transform 0.2s; }
-.progress-button-style-shrink.progress-button-dir-horizontal .content {
- -webkit-transition: opacity 0.3s, -webkit-transform 0.3s;
- transition: opacity 0.3s, transform 0.3s; }
- .progress-button-style-shrink.progress-button-dir-horizontal .content:before, .progress-button-style-shrink.progress-button-dir-horizontal .content:after {
- top: 100%;
- right: auto;
- left: 50%;
- -webkit-transition: opacity 0.3s;
- transition: opacity 0.3s;
- -webkit-transform: translateX(-50%);
- transform: translateX(-50%); }
-.progress-button-style-shrink.progress-button-dir-horizontal.state-loading {
- -webkit-transform: scaleY(0.3);
- transform: scaleY(0.3); }
- .progress-button-style-shrink.progress-button-dir-horizontal.state-loading .content {
- opacity: 0; }
-.progress-button-style-shrink.progress-button-dir-horizontal.state-error .content, .progress-button-style-shrink.progress-button-dir-horizontal.state-success .content {
- -webkit-transform: translateY(-100%);
- transform: translateY(-100%); }
-
-.progress-button-style-shrink {
- overflow: hidden;
- -webkit-transition: -webkit-transform 0.2s;
- transition: transform 0.2s; }
-.progress-button-style-shrink.progress-button-dir-vertical .content {
- -webkit-transition: opacity 0.3s, -webkit-transform 0.3s;
- transition: opacity 0.3s, transform 0.3s; }
- .progress-button-style-shrink.progress-button-dir-vertical .content:before, .progress-button-style-shrink.progress-button-dir-vertical .content:after {
- top: 100%;
- right: auto;
- left: 50%;
- -webkit-transition: opacity 0.3s;
- transition: opacity 0.3s;
- -webkit-transform: translateX(-50%);
- transform: translateX(-50%); }
-.progress-button-style-shrink.progress-button-dir-vertical.state-loading {
- -webkit-transform: scaleX(0.1);
- transform: scaleX(0.1); }
- .progress-button-style-shrink.progress-button-dir-vertical.state-loading .content {
- opacity: 0; }
-.progress-button-style-shrink.progress-button-dir-vertical.state-error .content, .progress-button-style-shrink.progress-button-dir-vertical.state-success .content {
- -webkit-transform: translateY(-100%);
- transform: translateY(-100%); }
-
-.progress-button-style-rotate-angle-bottom .progress {
- position: absolute;
- top: 100%;
- left: 0;
- width: 100%;
- height: 20px;
- box-shadow: 0 -1px 0 #148544;
- /* fix the blurriness that causes a gap */
- -webkit-transform: rotateX(-90deg);
- transform: rotateX(-90deg);
- -webkit-transform-origin: 50% 0%;
- transform-origin: 50% 0%; }
-.progress-button-style-rotate-angle-bottom.state-loading .progress-wrap {
- -webkit-transform: rotateX(45deg);
- transform: rotateX(45deg); }
-.progress-button-style-rotate-angle-top .progress {
- position: absolute;
- bottom: 100%;
- left: 0;
- width: 100%;
- height: 20px;
- box-shadow: 0 1px 0 #148544;
- /* fix the blurriness that causes a gap */
- -webkit-transform: rotateX(90deg);
- transform: rotateX(90deg);
- -webkit-transform-origin: 50% 100%;
- transform-origin: 50% 100%; }
-.progress-button-style-rotate-angle-top.state-loading .progress-wrap {
- -webkit-transform: rotateX(-45deg);
- transform: rotateX(-45deg); }
-.progress-button-style-rotate-angle-left .progress {
- position: absolute;
- top: 0;
- right: 100%;
- width: 20px;
- height: 100%;
- box-shadow: 1px 0 0 #148544;
- /* fix the blurriness that causes a gap */
- -webkit-transform: rotateY(-90deg);
- transform: rotateY(-90deg);
- -webkit-transform-origin: 100% 50%;
- transform-origin: 100% 50%; }
-.progress-button-style-rotate-angle-left.state-loading .progress-wrap {
- -webkit-transform: rotateY(45deg);
- transform: rotateY(45deg); }
-.progress-button-style-rotate-angle-right .progress {
- position: absolute;
- top: 0;
- left: 100%;
- width: 20px;
- height: 100%;
- box-shadow: -1px 0 0 #148544;
- /* fix the blurriness that causes a gap */
- -webkit-transform: rotateY(90deg);
- transform: rotateY(90deg);
- -webkit-transform-origin: 0% 50%;
- transform-origin: 0% 50%; }
-.progress-button-style-rotate-angle-right.state-loading .progress-wrap {
- -webkit-transform: rotateY(-45deg);
- transform: rotateY(-45deg); }
-
-.progress-button-style-rotate-side-down .progress {
- position: absolute;
- top: 100%;
- left: 0;
- width: 100%;
- height: 20px;
- -webkit-transform: rotateX(-90deg);
- transform: rotateX(-90deg);
- -webkit-transform-origin: 50% 0%;
- transform-origin: 50% 0%;
- -webkit-backface-visibility: hidden;
- backface-visibility: hidden; }
-.progress-button-style-rotate-side-down.state-loading .progress-wrap {
- -webkit-transform: rotateX(90deg) translateZ(10px);
- transform: rotateX(90deg) translateZ(10px); }
-.progress-button-style-rotate-side-up .progress {
- position: absolute;
- bottom: 100%;
- left: 0;
- width: 100%;
- height: 20px;
- -webkit-transform: rotateX(90deg);
- transform: rotateX(90deg);
- -webkit-transform-origin: 50% 100%;
- transform-origin: 50% 100%;
- -webkit-backface-visibility: hidden;
- backface-visibility: hidden; }
-.progress-button-style-rotate-side-up.state-loading .progress-wrap {
- -webkit-transform: rotateX(-90deg) translateZ(10px);
- transform: rotateX(-90deg) translateZ(10px); }
-.progress-button-style-rotate-side-left .progress-wrap {
- -webkit-transform-origin: 0 50%;
- transform-origin: 0 50%; }
-.progress-button-style-rotate-side-left .progress {
- position: absolute;
- top: 0;
- left: 0;
- width: 20px;
- height: 100%;
- -webkit-transform: rotateY(90deg);
- transform: rotateY(90deg);
- -webkit-transform-origin: 0 50%;
- transform-origin: 0 50%; }
-.progress-button-style-rotate-side-left.state-loading .progress-wrap {
- -webkit-transform: translateX(50%) rotateY(90deg) translateZ(10px);
- transform: translateX(50%) rotateY(90deg) translateZ(10px); }
-.progress-button-style-rotate-side-right .progress-wrap {
- -webkit-transform-origin: 100% 50%;
- transform-origin: 100% 50%; }
-.progress-button-style-rotate-side-right .progress {
- position: absolute;
- top: 0;
- left: 100%;
- width: 20px;
- height: 100%;
- -webkit-transform: rotateY(90deg);
- transform: rotateY(90deg);
- -webkit-transform-origin: 0 50%;
- transform-origin: 0 50%; }
-.progress-button-style-rotate-side-right.state-loading .progress-wrap {
- -webkit-transform: translateX(-50%) rotateY(-90deg) translateZ(10px);
- transform: translateX(-50%) rotateY(-90deg) translateZ(10px); }
-
-.progress-button-style-rotate-back .progress-wrap {
- -webkit-transition-timing-function: ease-out;
- transition-timing-function: ease-out; }
-.progress-button-style-rotate-back .content {
- -webkit-backface-visibility: hidden;
- backface-visibility: hidden; }
-.progress-button-style-rotate-back .progress {
- position: absolute;
- top: 100%;
- left: 0;
- width: 100%;
- height: 100%;
- -webkit-transform: rotateX(-180deg);
- transform: rotateX(-180deg);
- -webkit-transform-origin: 50% 0%;
- transform-origin: 50% 0%;
- -webkit-backface-visibility: hidden;
- backface-visibility: hidden; }
-.progress-button-style-rotate-back.state-loading .progress-wrap {
- -webkit-transform: rotateX(180deg) scaleX(0.6) scaleY(0.3);
- transform: rotateX(180deg) scaleX(0.6) scaleY(0.3); }
-
-/* flip open 3d */
-/* ====================== */
-.progress-button-style-flip-open .content {
- z-index: 10;
- -webkit-transition: -webkit-transform 0.2s;
- transition: transform 0.2s;
- -webkit-transform-origin: 50% 0;
- transform-origin: 50% 0; }
-.progress-button-style-flip-open .progress {
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%; }
-.progress-button-style-flip-open.state-loading .content {
- -webkit-transform: rotateX(45deg);
- transform: rotateX(45deg); }
-
-.progress-button-style-slide-down {
- padding: 0;
- overflow: visible;
- -webkit-backface-visibility: hidden;
- backface-visibility: hidden; }
- .progress-button-style-slide-down .content {
- z-index: 10;
- padding: 0 60px;
- background: #1d9650; }
- .progress-button-style-slide-down .progress {
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
- -webkit-transition: -webkit-transform 0.2s;
- transition: transform 0.2s; }
- .progress-button-style-slide-down.state-loading .progress {
- -webkit-transform: translateY(10px);
- transform: translateY(10px); }
-
-.progress-button-style-move-up {
- padding: 0;
- overflow: visible;
- -webkit-backface-visibility: hidden;
- backface-visibility: hidden; }
- .progress-button-style-move-up .content {
- z-index: 10;
- padding: 0 60px;
- background: #1d9650;
- -webkit-transition: -webkit-transform 0.2s;
- transition: transform 0.2s; }
- .progress-button-style-move-up .progress {
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%; }
- .progress-button-style-move-up.state-loading .content {
- -webkit-transform: translateY(-10px);
- transform: translateY(-10px); }
-
-.progress-button-style-top-line .progress-inner {
- height: 3px; }
-.progress-button-style-top-line .content:before, .progress-button-style-top-line .content:after {
- right: auto;
- left: 100%;
- margin-left: 25px; }
-
-.progress-button-style-lateral-lines .progress-inner {
- width: 100%;
- border-right: 3px solid #0e7138;
- border-left: 3px solid #0e7138;
- background: transparent; }
-.progress-button-style-lateral-lines .content:before, .progress-button-style-lateral-lines .content:after {
- right: auto;
- left: 100%;
- margin-left: 25px; }
+@charset "UTF-8";
+/* Checkmark for success */
+/* Checkmark for error */
+/* General styles for all types of buttons */
+.progress-button {
+ position: relative;
+ display: inline-block;
+ padding: 0 60px;
+ outline: none;
+ border: none;
+ background: #1d9650;
+ color: #FFF;
+ text-transform: uppercase;
+ letter-spacing: 1px;
+ font-size: 1em;
+ line-height: 4;
+ cursor: pointer;
+ /* Necessary 3d styles for buttons with perspective */ }
+ .progress-button *, .progress-button *:after, .progress-button *::before {
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box; }
+ .progress-button .notransition {
+ -webkit-transition: none !important;
+ transition: none !important; }
+ .progress-button[disabled], .progress-button.disabled {
+ cursor: default; }
+ .progress-button .content {
+ position: relative;
+ display: block; }
+ .progress-button .content:before, .progress-button .content:after {
+ position: absolute;
+ right: 20px;
+ color: #0e7138;
+ font-family: "FontAwesome";
+ opacity: 0;
+ -webkit-transition: opacity 0.3s 0.3s;
+ transition: opacity 0.3s 0.3s; }
+ .progress-button .content:before {
+ content: ""; }
+ .progress-button .content:after {
+ content: ""; }
+ .progress-button.state-success .content:before, .progress-button.state-error .content:after {
+ opacity: 1; }
+ .progress-button .progress {
+ background: #148544; }
+ .progress-button .progress-inner {
+ position: absolute;
+ left: 0;
+ background: #0e7138; }
+ .progress-button-dir-horizontal .progress-inner {
+ top: 0;
+ width: 0;
+ height: 100%;
+ -webkit-transition: width 0.3s, opacity 0.3s;
+ transition: width 0.3s, opacity 0.3s; }
+ .progress-button-dir-vertical .progress-inner {
+ bottom: 0;
+ width: 100%;
+ height: 0;
+ -webkit-transition: height 0.3s, opacity 0.3s;
+ transition: height 0.3s, opacity 0.3s; }
+ .progress-button-perspective {
+ position: relative;
+ display: inline-block;
+ padding: 0;
+ background: transparent;
+ -webkit-perspective: 900px;
+ perspective: 900px; }
+ .progress-button-perspective .content, .progress-button-perspective .progress {
+ outline: 1px solid transparent;
+ /* Smoothen jagged edges in FF */ }
+ .progress-button-perspective .progress-wrap {
+ display: block;
+ -webkit-transition: -webkit-transform 0.2s;
+ transition: transform 0.2s;
+ -webkit-transform-style: preserve-3d;
+ transform-style: preserve-3d; }
+ .progress-button-perspective .content {
+ padding: 0 60px;
+ background: #1d9650; }
+
+.progress-button-style-fill.progress-button-dir-horizontal {
+ overflow: hidden; }
+ .progress-button-style-fill.progress-button-dir-horizontal .content {
+ z-index: 10;
+ -webkit-transition: -webkit-transform 0.3s;
+ transition: transform 0.3s; }
+ .progress-button-style-fill.progress-button-dir-horizontal .content:before, .progress-button-style-fill.progress-button-dir-horizontal .content:after {
+ top: 100%;
+ right: auto;
+ left: 50%;
+ -webkit-transition: opacity 0.3s;
+ transition: opacity 0.3s;
+ -webkit-transform: translateX(-50%);
+ transform: translateX(-50%); }
+ .progress-button-style-fill.progress-button-dir-horizontal.state-success .content, .progress-button-style-fill.progress-button-dir-horizontal.state-error .content {
+ -webkit-transform: translateY(-100%);
+ transform: translateY(-100%); }
+
+.progress-button-style-fill.progress-button-dir-vertical {
+ overflow: hidden; }
+ .progress-button-style-fill.progress-button-dir-vertical .content {
+ z-index: 10;
+ -webkit-transition: -webkit-transform 0.3s;
+ transition: transform 0.3s; }
+ .progress-button-style-fill.progress-button-dir-vertical .content:before, .progress-button-style-fill.progress-button-dir-vertical .content:after {
+ top: 100%;
+ right: auto;
+ left: 50%;
+ -webkit-transition: opacity 0.3s;
+ transition: opacity 0.3s;
+ -webkit-transform: translateX(-50%);
+ transform: translateX(-50%); }
+ .progress-button-style-fill.progress-button-dir-vertical.state-success .content, .progress-button-style-fill.progress-button-dir-vertical.state-error .content {
+ -webkit-transform: translateY(-100%);
+ transform: translateY(-100%); }
+
+.progress-button-style-shrink {
+ overflow: hidden;
+ -webkit-transition: -webkit-transform 0.2s;
+ transition: transform 0.2s; }
+.progress-button-style-shrink.progress-button-dir-horizontal .content {
+ -webkit-transition: opacity 0.3s, -webkit-transform 0.3s;
+ transition: opacity 0.3s, transform 0.3s; }
+ .progress-button-style-shrink.progress-button-dir-horizontal .content:before, .progress-button-style-shrink.progress-button-dir-horizontal .content:after {
+ top: 100%;
+ right: auto;
+ left: 50%;
+ -webkit-transition: opacity 0.3s;
+ transition: opacity 0.3s;
+ -webkit-transform: translateX(-50%);
+ transform: translateX(-50%); }
+.progress-button-style-shrink.progress-button-dir-horizontal.state-loading {
+ -webkit-transform: scaleY(0.3);
+ transform: scaleY(0.3); }
+ .progress-button-style-shrink.progress-button-dir-horizontal.state-loading .content {
+ opacity: 0; }
+.progress-button-style-shrink.progress-button-dir-horizontal.state-error .content, .progress-button-style-shrink.progress-button-dir-horizontal.state-success .content {
+ -webkit-transform: translateY(-100%);
+ transform: translateY(-100%); }
+
+.progress-button-style-shrink {
+ overflow: hidden;
+ -webkit-transition: -webkit-transform 0.2s;
+ transition: transform 0.2s; }
+.progress-button-style-shrink.progress-button-dir-vertical .content {
+ -webkit-transition: opacity 0.3s, -webkit-transform 0.3s;
+ transition: opacity 0.3s, transform 0.3s; }
+ .progress-button-style-shrink.progress-button-dir-vertical .content:before, .progress-button-style-shrink.progress-button-dir-vertical .content:after {
+ top: 100%;
+ right: auto;
+ left: 50%;
+ -webkit-transition: opacity 0.3s;
+ transition: opacity 0.3s;
+ -webkit-transform: translateX(-50%);
+ transform: translateX(-50%); }
+.progress-button-style-shrink.progress-button-dir-vertical.state-loading {
+ -webkit-transform: scaleX(0.1);
+ transform: scaleX(0.1); }
+ .progress-button-style-shrink.progress-button-dir-vertical.state-loading .content {
+ opacity: 0; }
+.progress-button-style-shrink.progress-button-dir-vertical.state-error .content, .progress-button-style-shrink.progress-button-dir-vertical.state-success .content {
+ -webkit-transform: translateY(-100%);
+ transform: translateY(-100%); }
+
+.progress-button-style-rotate-angle-bottom .progress {
+ position: absolute;
+ top: 100%;
+ left: 0;
+ width: 100%;
+ height: 20px;
+ box-shadow: 0 -1px 0 #148544;
+ /* fix the blurriness that causes a gap */
+ -webkit-transform: rotateX(-90deg);
+ transform: rotateX(-90deg);
+ -webkit-transform-origin: 50% 0%;
+ transform-origin: 50% 0%; }
+.progress-button-style-rotate-angle-bottom.state-loading .progress-wrap {
+ -webkit-transform: rotateX(45deg);
+ transform: rotateX(45deg); }
+.progress-button-style-rotate-angle-top .progress {
+ position: absolute;
+ bottom: 100%;
+ left: 0;
+ width: 100%;
+ height: 20px;
+ box-shadow: 0 1px 0 #148544;
+ /* fix the blurriness that causes a gap */
+ -webkit-transform: rotateX(90deg);
+ transform: rotateX(90deg);
+ -webkit-transform-origin: 50% 100%;
+ transform-origin: 50% 100%; }
+.progress-button-style-rotate-angle-top.state-loading .progress-wrap {
+ -webkit-transform: rotateX(-45deg);
+ transform: rotateX(-45deg); }
+.progress-button-style-rotate-angle-left .progress {
+ position: absolute;
+ top: 0;
+ right: 100%;
+ width: 20px;
+ height: 100%;
+ box-shadow: 1px 0 0 #148544;
+ /* fix the blurriness that causes a gap */
+ -webkit-transform: rotateY(-90deg);
+ transform: rotateY(-90deg);
+ -webkit-transform-origin: 100% 50%;
+ transform-origin: 100% 50%; }
+.progress-button-style-rotate-angle-left.state-loading .progress-wrap {
+ -webkit-transform: rotateY(45deg);
+ transform: rotateY(45deg); }
+.progress-button-style-rotate-angle-right .progress {
+ position: absolute;
+ top: 0;
+ left: 100%;
+ width: 20px;
+ height: 100%;
+ box-shadow: -1px 0 0 #148544;
+ /* fix the blurriness that causes a gap */
+ -webkit-transform: rotateY(90deg);
+ transform: rotateY(90deg);
+ -webkit-transform-origin: 0% 50%;
+ transform-origin: 0% 50%; }
+.progress-button-style-rotate-angle-right.state-loading .progress-wrap {
+ -webkit-transform: rotateY(-45deg);
+ transform: rotateY(-45deg); }
+
+.progress-button-style-rotate-side-down .progress {
+ position: absolute;
+ top: 100%;
+ left: 0;
+ width: 100%;
+ height: 20px;
+ -webkit-transform: rotateX(-90deg);
+ transform: rotateX(-90deg);
+ -webkit-transform-origin: 50% 0%;
+ transform-origin: 50% 0%;
+ -webkit-backface-visibility: hidden;
+ backface-visibility: hidden; }
+.progress-button-style-rotate-side-down.state-loading .progress-wrap {
+ -webkit-transform: rotateX(90deg) translateZ(10px);
+ transform: rotateX(90deg) translateZ(10px); }
+.progress-button-style-rotate-side-up .progress {
+ position: absolute;
+ bottom: 100%;
+ left: 0;
+ width: 100%;
+ height: 20px;
+ -webkit-transform: rotateX(90deg);
+ transform: rotateX(90deg);
+ -webkit-transform-origin: 50% 100%;
+ transform-origin: 50% 100%;
+ -webkit-backface-visibility: hidden;
+ backface-visibility: hidden; }
+.progress-button-style-rotate-side-up.state-loading .progress-wrap {
+ -webkit-transform: rotateX(-90deg) translateZ(10px);
+ transform: rotateX(-90deg) translateZ(10px); }
+.progress-button-style-rotate-side-left .progress-wrap {
+ -webkit-transform-origin: 0 50%;
+ transform-origin: 0 50%; }
+.progress-button-style-rotate-side-left .progress {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 20px;
+ height: 100%;
+ -webkit-transform: rotateY(90deg);
+ transform: rotateY(90deg);
+ -webkit-transform-origin: 0 50%;
+ transform-origin: 0 50%; }
+.progress-button-style-rotate-side-left.state-loading .progress-wrap {
+ -webkit-transform: translateX(50%) rotateY(90deg) translateZ(10px);
+ transform: translateX(50%) rotateY(90deg) translateZ(10px); }
+.progress-button-style-rotate-side-right .progress-wrap {
+ -webkit-transform-origin: 100% 50%;
+ transform-origin: 100% 50%; }
+.progress-button-style-rotate-side-right .progress {
+ position: absolute;
+ top: 0;
+ left: 100%;
+ width: 20px;
+ height: 100%;
+ -webkit-transform: rotateY(90deg);
+ transform: rotateY(90deg);
+ -webkit-transform-origin: 0 50%;
+ transform-origin: 0 50%; }
+.progress-button-style-rotate-side-right.state-loading .progress-wrap {
+ -webkit-transform: translateX(-50%) rotateY(-90deg) translateZ(10px);
+ transform: translateX(-50%) rotateY(-90deg) translateZ(10px); }
+
+.progress-button-style-rotate-back .progress-wrap {
+ -webkit-transition-timing-function: ease-out;
+ transition-timing-function: ease-out; }
+.progress-button-style-rotate-back .content {
+ -webkit-backface-visibility: hidden;
+ backface-visibility: hidden; }
+.progress-button-style-rotate-back .progress {
+ position: absolute;
+ top: 100%;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ -webkit-transform: rotateX(-180deg);
+ transform: rotateX(-180deg);
+ -webkit-transform-origin: 50% 0%;
+ transform-origin: 50% 0%;
+ -webkit-backface-visibility: hidden;
+ backface-visibility: hidden; }
+.progress-button-style-rotate-back.state-loading .progress-wrap {
+ -webkit-transform: rotateX(180deg) scaleX(0.6) scaleY(0.3);
+ transform: rotateX(180deg) scaleX(0.6) scaleY(0.3); }
+
+/* flip open 3d */
+/* ====================== */
+.progress-button-style-flip-open .content {
+ z-index: 10;
+ -webkit-transition: -webkit-transform 0.2s;
+ transition: transform 0.2s;
+ -webkit-transform-origin: 50% 0;
+ transform-origin: 50% 0; }
+.progress-button-style-flip-open .progress {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%; }
+.progress-button-style-flip-open.state-loading .content {
+ -webkit-transform: rotateX(45deg);
+ transform: rotateX(45deg); }
+
+.progress-button-style-slide-down {
+ padding: 0;
+ overflow: visible;
+ -webkit-backface-visibility: hidden;
+ backface-visibility: hidden; }
+ .progress-button-style-slide-down .content {
+ z-index: 10;
+ padding: 0 60px;
+ background: #1d9650; }
+ .progress-button-style-slide-down .progress {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ -webkit-transition: -webkit-transform 0.2s;
+ transition: transform 0.2s; }
+ .progress-button-style-slide-down.state-loading .progress {
+ -webkit-transform: translateY(10px);
+ transform: translateY(10px); }
+
+.progress-button-style-move-up {
+ padding: 0;
+ overflow: visible;
+ -webkit-backface-visibility: hidden;
+ backface-visibility: hidden; }
+ .progress-button-style-move-up .content {
+ z-index: 10;
+ padding: 0 60px;
+ background: #1d9650;
+ -webkit-transition: -webkit-transform 0.2s;
+ transition: transform 0.2s; }
+ .progress-button-style-move-up .progress {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%; }
+ .progress-button-style-move-up.state-loading .content {
+ -webkit-transform: translateY(-10px);
+ transform: translateY(-10px); }
+
+.progress-button-style-top-line .progress-inner {
+ height: 3px; }
+.progress-button-style-top-line .content:before, .progress-button-style-top-line .content:after {
+ right: auto;
+ left: 100%;
+ margin-left: 25px; }
+
+.progress-button-style-lateral-lines .progress-inner {
+ width: 100%;
+ border-right: 3px solid #0e7138;
+ border-left: 3px solid #0e7138;
+ background: transparent; }
+.progress-button-style-lateral-lines .content:before, .progress-button-style-lateral-lines .content:after {
+ right: auto;
+ left: 100%;
+ margin-left: 25px; }
+
+/*# sourceMappingURL=angular-progress-button-styles.css.map */
diff --git a/dist/angular-progress-button-styles.css.map b/dist/angular-progress-button-styles.css.map
new file mode 100644
index 0000000..85e2061
--- /dev/null
+++ b/dist/angular-progress-button-styles.css.map
@@ -0,0 +1,7 @@
+{
+"version": 3,
+"mappings": "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",
+"sources": ["../sass/_progress-button.scss","../sass/_variables.scss","../sass/_fill-horizontal.scss","../sass/_fill-vertical.scss","../sass/_shrink-horizontal.scss","../sass/_shrink-vertical.scss","../sass/_rotate-angle.scss","../sass/_rotate-side.scss","../sass/_rotate-back.scss","../sass/_flip-open.scss","../sass/_slide-down.scss","../sass/_move-up.scss","../sass/_top-line.scss","../sass/_lateral-lines.scss"],
+"names": [],
+"file": "angular-progress-button-styles.css"
+}
diff --git a/dist/angular-progress-button-styles.js b/dist/angular-progress-button-styles.js
index d9cf22c..f1f4df7 100644
--- a/dist/angular-progress-button-styles.js
+++ b/dist/angular-progress-button-styles.js
@@ -73,7 +73,8 @@
'progressButton': '&',
'pbStyle': '@',
'pbDirection': '@',
- 'pbProfile': '@'
+ 'pbProfile': '@',
+ 'pbValue': '@'
},
template: '' +
'' +
@@ -105,32 +106,47 @@
});
$element.on('click', function() {
- $scope.$apply(function() {
- if ($scope.disabled) return;
- $scope.disabled = true;
- $element.addClass('state-loading');
- $scope.allowProgressTransition = true;
- var interval = null;
- $q.when($scope.progressButton()).then(
- function success() {
- setProgress(1);
- interval && $interval.cancel(interval);
- doStop(1);
- },
- function error() {
- interval && $interval.cancel(interval);
- doStop(-1);
- },
- function notify(arg) {
- !$scope.pbRandomProgress && setProgress(arg);
- }
- );
- if ($scope.pbRandomProgress) {
- interval = runProgressInterval();
- }
- });
+ $scope.$apply(_start);
});
+ $scope.$watch('pbValue', valueChangedExternally);
+
+ function valueChangedExternally (newValue, oldValue) {
+ if ($scope.allowProgressTransition)
+ setProgress(newValue);
+ else if (newValue > 0 && newValue != 1)
+ _start(newValue);
+ }
+ function _start(startingValue) {
+ if ($scope.disabled) return;
+ $scope.disabled = true;
+ $element.addClass('state-loading');
+ $scope.allowProgressTransition = true;
+ var interval = null;
+
+ if (startingValue) {
+ setProgress(startingValue);
+ }
+
+ $q.when($scope.progressButton()).then(
+ function success() {
+ setProgress(1);
+ interval && $interval.cancel(interval);
+ doStop(1);
+ },
+ function error() {
+ interval && $interval.cancel(interval);
+ doStop(-1);
+ },
+ function notify(arg) {
+ !$scope.pbRandomProgress && setProgress(arg);
+ }
+ );
+ if ($scope.pbRandomProgress) {
+ interval = runProgressInterval();
+ }
+ }
+
function _configure() {
var profile = progressButtonConfig.getProfile($scope.pbProfile);
diff --git a/dist/angular-progress-button-styles.min.css b/dist/angular-progress-button-styles.min.css
index ab02f0f..99adda5 100644
--- a/dist/angular-progress-button-styles.min.css
+++ b/dist/angular-progress-button-styles.min.css
@@ -1 +1 @@
-.progress-button-style-fill.progress-button-dir-horizontal,.progress-button-style-fill.progress-button-dir-vertical{overflow:hidden}.progress-button{position:relative;display:inline-block;padding:0 60px;outline:0;border:none;background:#1d9650;color:#FFF;text-transform:uppercase;letter-spacing:1px;font-size:1em;line-height:4;cursor:pointer}.progress-button *,.progress-button ::before,.progress-button :after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.progress-button .notransition{-webkit-transition:none!important;transition:none!important}.progress-button.disabled,.progress-button[disabled]{cursor:default}.progress-button .content{position:relative;display:block}.progress-button .content:after,.progress-button .content:before{position:absolute;right:20px;color:#0e7138;font-family:FontAwesome;opacity:0;-webkit-transition:opacity .3s .3s;transition:opacity .3s .3s}.progress-button .content:before{content:"\f00c"}.progress-button .content:after{content:"\f05e"}.progress-button.state-error .content:after,.progress-button.state-success .content:before{opacity:1}.progress-button-style-shrink.progress-button-dir-horizontal.state-loading .content,.progress-button-style-shrink.progress-button-dir-vertical.state-loading .content{opacity:0}.progress-button .progress{background:#148544}.progress-button .progress-inner{position:absolute;left:0;background:#0e7138}.progress-button-dir-horizontal .progress-inner{top:0;width:0;height:100%;-webkit-transition:width .3s,opacity .3s;transition:width .3s,opacity .3s}.progress-button-dir-vertical .progress-inner{bottom:0;width:100%;height:0;-webkit-transition:height .3s,opacity .3s;transition:height .3s,opacity .3s}.progress-button-perspective{position:relative;display:inline-block;padding:0;background:0 0;-webkit-perspective:900px;perspective:900px}.progress-button-perspective .content,.progress-button-perspective .progress{outline:transparent solid 1px}.progress-button-perspective .progress-wrap{display:block;-webkit-transition:-webkit-transform .2s;transition:transform .2s;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.progress-button-perspective .content{padding:0 60px;background:#1d9650}.progress-button-style-fill.progress-button-dir-horizontal .content{z-index:10;-webkit-transition:-webkit-transform .3s;transition:transform .3s}.progress-button-style-fill.progress-button-dir-horizontal .content:after,.progress-button-style-fill.progress-button-dir-horizontal .content:before{top:100%;right:auto;left:50%;-webkit-transition:opacity .3s;transition:opacity .3s;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.progress-button-style-fill.progress-button-dir-horizontal.state-error .content,.progress-button-style-fill.progress-button-dir-horizontal.state-success .content{-webkit-transform:translateY(-100%);transform:translateY(-100%)}.progress-button-style-fill.progress-button-dir-vertical .content{z-index:10;-webkit-transition:-webkit-transform .3s;transition:transform .3s}.progress-button-style-fill.progress-button-dir-vertical .content:after,.progress-button-style-fill.progress-button-dir-vertical .content:before{top:100%;right:auto;left:50%;-webkit-transition:opacity .3s;transition:opacity .3s;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.progress-button-style-fill.progress-button-dir-vertical.state-error .content,.progress-button-style-fill.progress-button-dir-vertical.state-success .content{-webkit-transform:translateY(-100%);transform:translateY(-100%)}.progress-button-style-shrink.progress-button-dir-horizontal .content{-webkit-transition:opacity .3s,-webkit-transform .3s;transition:opacity .3s,transform .3s}.progress-button-style-shrink.progress-button-dir-horizontal .content:after,.progress-button-style-shrink.progress-button-dir-horizontal .content:before{top:100%;right:auto;left:50%;-webkit-transition:opacity .3s;transition:opacity .3s;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.progress-button-style-shrink.progress-button-dir-horizontal.state-loading{-webkit-transform:scaleY(.3);transform:scaleY(.3)}.progress-button-style-shrink.progress-button-dir-horizontal.state-error .content,.progress-button-style-shrink.progress-button-dir-horizontal.state-success .content{-webkit-transform:translateY(-100%);transform:translateY(-100%)}.progress-button-style-shrink{overflow:hidden;-webkit-transition:-webkit-transform .2s;transition:transform .2s}.progress-button-style-shrink.progress-button-dir-vertical .content{-webkit-transition:opacity .3s,-webkit-transform .3s;transition:opacity .3s,transform .3s}.progress-button-style-shrink.progress-button-dir-vertical .content:after,.progress-button-style-shrink.progress-button-dir-vertical .content:before{top:100%;right:auto;left:50%;-webkit-transition:opacity .3s;transition:opacity .3s;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.progress-button-style-shrink.progress-button-dir-vertical.state-loading{-webkit-transform:scaleX(.1);transform:scaleX(.1)}.progress-button-style-shrink.progress-button-dir-vertical.state-error .content,.progress-button-style-shrink.progress-button-dir-vertical.state-success .content{-webkit-transform:translateY(-100%);transform:translateY(-100%)}.progress-button-style-rotate-angle-bottom .progress{position:absolute;top:100%;left:0;width:100%;height:20px;box-shadow:0 -1px 0 #148544;-webkit-transform:rotateX(-90deg);transform:rotateX(-90deg);-webkit-transform-origin:50% 0;transform-origin:50% 0}.progress-button-style-rotate-angle-bottom.state-loading .progress-wrap{-webkit-transform:rotateX(45deg);transform:rotateX(45deg)}.progress-button-style-rotate-angle-top .progress{position:absolute;bottom:100%;left:0;width:100%;height:20px;box-shadow:0 1px 0 #148544;-webkit-transform:rotateX(90deg);transform:rotateX(90deg);-webkit-transform-origin:50% 100%;transform-origin:50% 100%}.progress-button-style-rotate-angle-top.state-loading .progress-wrap{-webkit-transform:rotateX(-45deg);transform:rotateX(-45deg)}.progress-button-style-rotate-angle-left .progress{position:absolute;top:0;right:100%;width:20px;height:100%;box-shadow:1px 0 0 #148544;-webkit-transform:rotateY(-90deg);transform:rotateY(-90deg);-webkit-transform-origin:100% 50%;transform-origin:100% 50%}.progress-button-style-rotate-angle-left.state-loading .progress-wrap{-webkit-transform:rotateY(45deg);transform:rotateY(45deg)}.progress-button-style-rotate-angle-right .progress{position:absolute;top:0;left:100%;width:20px;height:100%;box-shadow:-1px 0 0 #148544;-webkit-transform:rotateY(90deg);transform:rotateY(90deg);-webkit-transform-origin:0 50%;transform-origin:0 50%}.progress-button-style-rotate-angle-right.state-loading .progress-wrap{-webkit-transform:rotateY(-45deg);transform:rotateY(-45deg)}.progress-button-style-rotate-side-down .progress{position:absolute;top:100%;left:0;width:100%;height:20px;-webkit-transform:rotateX(-90deg);transform:rotateX(-90deg);-webkit-transform-origin:50% 0;transform-origin:50% 0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.progress-button-style-rotate-side-down.state-loading .progress-wrap{-webkit-transform:rotateX(90deg) translateZ(10px);transform:rotateX(90deg) translateZ(10px)}.progress-button-style-rotate-side-up .progress{position:absolute;bottom:100%;left:0;width:100%;height:20px;-webkit-transform:rotateX(90deg);transform:rotateX(90deg);-webkit-transform-origin:50% 100%;transform-origin:50% 100%;-webkit-backface-visibility:hidden;backface-visibility:hidden}.progress-button-style-rotate-side-up.state-loading .progress-wrap{-webkit-transform:rotateX(-90deg) translateZ(10px);transform:rotateX(-90deg) translateZ(10px)}.progress-button-style-rotate-side-left .progress-wrap{-webkit-transform-origin:0 50%;transform-origin:0 50%}.progress-button-style-rotate-side-left .progress{position:absolute;top:0;left:0;width:20px;height:100%;-webkit-transform:rotateY(90deg);transform:rotateY(90deg);-webkit-transform-origin:0 50%;transform-origin:0 50%}.progress-button-style-rotate-side-left.state-loading .progress-wrap{-webkit-transform:translateX(50%) rotateY(90deg) translateZ(10px);transform:translateX(50%) rotateY(90deg) translateZ(10px)}.progress-button-style-rotate-side-right .progress-wrap{-webkit-transform-origin:100% 50%;transform-origin:100% 50%}.progress-button-style-rotate-side-right .progress{position:absolute;top:0;left:100%;width:20px;height:100%;-webkit-transform:rotateY(90deg);transform:rotateY(90deg);-webkit-transform-origin:0 50%;transform-origin:0 50%}.progress-button-style-rotate-side-right.state-loading .progress-wrap{-webkit-transform:translateX(-50%) rotateY(-90deg) translateZ(10px);transform:translateX(-50%) rotateY(-90deg) translateZ(10px)}.progress-button-style-rotate-back .progress-wrap{-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.progress-button-style-rotate-back .content{-webkit-backface-visibility:hidden;backface-visibility:hidden}.progress-button-style-rotate-back .progress{position:absolute;top:100%;left:0;width:100%;height:100%;-webkit-transform:rotateX(-180deg);transform:rotateX(-180deg);-webkit-transform-origin:50% 0;transform-origin:50% 0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.progress-button-style-flip-open .progress,.progress-button-style-move-up .progress,.progress-button-style-slide-down .progress{width:100%;position:absolute;top:0;left:0;height:100%}.progress-button-style-rotate-back.state-loading .progress-wrap{-webkit-transform:rotateX(180deg) scaleX(.6) scaleY(.3);transform:rotateX(180deg) scaleX(.6) scaleY(.3)}.progress-button-style-flip-open .content{z-index:10;-webkit-transition:-webkit-transform .2s;transition:transform .2s;-webkit-transform-origin:50% 0;transform-origin:50% 0}.progress-button-style-flip-open.state-loading .content{-webkit-transform:rotateX(45deg);transform:rotateX(45deg)}.progress-button-style-slide-down{padding:0;overflow:visible;-webkit-backface-visibility:hidden;backface-visibility:hidden}.progress-button-style-slide-down .content{z-index:10;padding:0 60px;background:#1d9650}.progress-button-style-slide-down .progress{-webkit-transition:-webkit-transform .2s;transition:transform .2s}.progress-button-style-slide-down.state-loading .progress{-webkit-transform:translateY(10px);transform:translateY(10px)}.progress-button-style-move-up{padding:0;overflow:visible;-webkit-backface-visibility:hidden;backface-visibility:hidden}.progress-button-style-move-up .content{z-index:10;padding:0 60px;background:#1d9650;-webkit-transition:-webkit-transform .2s;transition:transform .2s}.progress-button-style-lateral-lines .content:after,.progress-button-style-lateral-lines .content:before,.progress-button-style-top-line .content:after,.progress-button-style-top-line .content:before{right:auto;left:100%;margin-left:25px}.progress-button-style-move-up.state-loading .content{-webkit-transform:translateY(-10px);transform:translateY(-10px)}.progress-button-style-top-line .progress-inner{height:3px}.progress-button-style-lateral-lines .progress-inner{width:100%;border-right:3px solid #0e7138;border-left:3px solid #0e7138;background:0 0}
\ No newline at end of file
+@charset "UTF-8";.progress-button-style-fill.progress-button-dir-horizontal,.progress-button-style-fill.progress-button-dir-vertical{overflow:hidden}.progress-button{position:relative;display:inline-block;padding:0 60px;outline:0;border:none;background:#1d9650;color:#FFF;text-transform:uppercase;letter-spacing:1px;font-size:1em;line-height:4;cursor:pointer}.progress-button *,.progress-button ::before,.progress-button :after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.progress-button .notransition{-webkit-transition:none!important;transition:none!important}.progress-button.disabled,.progress-button[disabled]{cursor:default}.progress-button .content{position:relative;display:block}.progress-button .content:after,.progress-button .content:before{position:absolute;right:20px;color:#0e7138;font-family:FontAwesome;opacity:0;-webkit-transition:opacity .3s .3s;transition:opacity .3s .3s}.progress-button .content:before{content:""}.progress-button .content:after{content:""}.progress-button.state-error .content:after,.progress-button.state-success .content:before{opacity:1}.progress-button-style-shrink.progress-button-dir-horizontal.state-loading .content,.progress-button-style-shrink.progress-button-dir-vertical.state-loading .content{opacity:0}.progress-button .progress{background:#148544}.progress-button .progress-inner{position:absolute;left:0;background:#0e7138}.progress-button-dir-horizontal .progress-inner{top:0;width:0;height:100%;-webkit-transition:width .3s,opacity .3s;transition:width .3s,opacity .3s}.progress-button-dir-vertical .progress-inner{bottom:0;width:100%;height:0;-webkit-transition:height .3s,opacity .3s;transition:height .3s,opacity .3s}.progress-button-perspective{position:relative;display:inline-block;padding:0;background:0 0;-webkit-perspective:900px;perspective:900px}.progress-button-perspective .content,.progress-button-perspective .progress{outline:transparent solid 1px}.progress-button-perspective .progress-wrap{display:block;-webkit-transition:-webkit-transform .2s;transition:transform .2s;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.progress-button-perspective .content{padding:0 60px;background:#1d9650}.progress-button-style-fill.progress-button-dir-horizontal .content{z-index:10;-webkit-transition:-webkit-transform .3s;transition:transform .3s}.progress-button-style-fill.progress-button-dir-horizontal .content:after,.progress-button-style-fill.progress-button-dir-horizontal .content:before{top:100%;right:auto;left:50%;-webkit-transition:opacity .3s;transition:opacity .3s;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.progress-button-style-fill.progress-button-dir-horizontal.state-error .content,.progress-button-style-fill.progress-button-dir-horizontal.state-success .content{-webkit-transform:translateY(-100%);transform:translateY(-100%)}.progress-button-style-fill.progress-button-dir-vertical .content{z-index:10;-webkit-transition:-webkit-transform .3s;transition:transform .3s}.progress-button-style-fill.progress-button-dir-vertical .content:after,.progress-button-style-fill.progress-button-dir-vertical .content:before{top:100%;right:auto;left:50%;-webkit-transition:opacity .3s;transition:opacity .3s;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.progress-button-style-fill.progress-button-dir-vertical.state-error .content,.progress-button-style-fill.progress-button-dir-vertical.state-success .content{-webkit-transform:translateY(-100%);transform:translateY(-100%)}.progress-button-style-shrink.progress-button-dir-horizontal .content{-webkit-transition:opacity .3s,-webkit-transform .3s;transition:opacity .3s,transform .3s}.progress-button-style-shrink.progress-button-dir-horizontal .content:after,.progress-button-style-shrink.progress-button-dir-horizontal .content:before{top:100%;right:auto;left:50%;-webkit-transition:opacity .3s;transition:opacity .3s;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.progress-button-style-shrink.progress-button-dir-horizontal.state-loading{-webkit-transform:scaleY(.3);transform:scaleY(.3)}.progress-button-style-shrink.progress-button-dir-horizontal.state-error .content,.progress-button-style-shrink.progress-button-dir-horizontal.state-success .content{-webkit-transform:translateY(-100%);transform:translateY(-100%)}.progress-button-style-shrink{overflow:hidden;-webkit-transition:-webkit-transform .2s;transition:transform .2s}.progress-button-style-shrink.progress-button-dir-vertical .content{-webkit-transition:opacity .3s,-webkit-transform .3s;transition:opacity .3s,transform .3s}.progress-button-style-shrink.progress-button-dir-vertical .content:after,.progress-button-style-shrink.progress-button-dir-vertical .content:before{top:100%;right:auto;left:50%;-webkit-transition:opacity .3s;transition:opacity .3s;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.progress-button-style-shrink.progress-button-dir-vertical.state-loading{-webkit-transform:scaleX(.1);transform:scaleX(.1)}.progress-button-style-shrink.progress-button-dir-vertical.state-error .content,.progress-button-style-shrink.progress-button-dir-vertical.state-success .content{-webkit-transform:translateY(-100%);transform:translateY(-100%)}.progress-button-style-rotate-angle-bottom .progress{position:absolute;top:100%;left:0;width:100%;height:20px;box-shadow:0 -1px 0 #148544;-webkit-transform:rotateX(-90deg);transform:rotateX(-90deg);-webkit-transform-origin:50% 0;transform-origin:50% 0}.progress-button-style-rotate-angle-bottom.state-loading .progress-wrap{-webkit-transform:rotateX(45deg);transform:rotateX(45deg)}.progress-button-style-rotate-angle-top .progress{position:absolute;bottom:100%;left:0;width:100%;height:20px;box-shadow:0 1px 0 #148544;-webkit-transform:rotateX(90deg);transform:rotateX(90deg);-webkit-transform-origin:50% 100%;transform-origin:50% 100%}.progress-button-style-rotate-angle-top.state-loading .progress-wrap{-webkit-transform:rotateX(-45deg);transform:rotateX(-45deg)}.progress-button-style-rotate-angle-left .progress{position:absolute;top:0;right:100%;width:20px;height:100%;box-shadow:1px 0 0 #148544;-webkit-transform:rotateY(-90deg);transform:rotateY(-90deg);-webkit-transform-origin:100% 50%;transform-origin:100% 50%}.progress-button-style-rotate-angle-left.state-loading .progress-wrap{-webkit-transform:rotateY(45deg);transform:rotateY(45deg)}.progress-button-style-rotate-angle-right .progress{position:absolute;top:0;left:100%;width:20px;height:100%;box-shadow:-1px 0 0 #148544;-webkit-transform:rotateY(90deg);transform:rotateY(90deg);-webkit-transform-origin:0 50%;transform-origin:0 50%}.progress-button-style-rotate-angle-right.state-loading .progress-wrap{-webkit-transform:rotateY(-45deg);transform:rotateY(-45deg)}.progress-button-style-rotate-side-down .progress{position:absolute;top:100%;left:0;width:100%;height:20px;-webkit-transform:rotateX(-90deg);transform:rotateX(-90deg);-webkit-transform-origin:50% 0;transform-origin:50% 0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.progress-button-style-rotate-side-down.state-loading .progress-wrap{-webkit-transform:rotateX(90deg) translateZ(10px);transform:rotateX(90deg) translateZ(10px)}.progress-button-style-rotate-side-up .progress{position:absolute;bottom:100%;left:0;width:100%;height:20px;-webkit-transform:rotateX(90deg);transform:rotateX(90deg);-webkit-transform-origin:50% 100%;transform-origin:50% 100%;-webkit-backface-visibility:hidden;backface-visibility:hidden}.progress-button-style-rotate-side-up.state-loading .progress-wrap{-webkit-transform:rotateX(-90deg) translateZ(10px);transform:rotateX(-90deg) translateZ(10px)}.progress-button-style-rotate-side-left .progress-wrap{-webkit-transform-origin:0 50%;transform-origin:0 50%}.progress-button-style-rotate-side-left .progress{position:absolute;top:0;left:0;width:20px;height:100%;-webkit-transform:rotateY(90deg);transform:rotateY(90deg);-webkit-transform-origin:0 50%;transform-origin:0 50%}.progress-button-style-rotate-side-left.state-loading .progress-wrap{-webkit-transform:translateX(50%) rotateY(90deg) translateZ(10px);transform:translateX(50%) rotateY(90deg) translateZ(10px)}.progress-button-style-rotate-side-right .progress-wrap{-webkit-transform-origin:100% 50%;transform-origin:100% 50%}.progress-button-style-rotate-side-right .progress{position:absolute;top:0;left:100%;width:20px;height:100%;-webkit-transform:rotateY(90deg);transform:rotateY(90deg);-webkit-transform-origin:0 50%;transform-origin:0 50%}.progress-button-style-rotate-side-right.state-loading .progress-wrap{-webkit-transform:translateX(-50%) rotateY(-90deg) translateZ(10px);transform:translateX(-50%) rotateY(-90deg) translateZ(10px)}.progress-button-style-rotate-back .progress-wrap{-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.progress-button-style-rotate-back .content{-webkit-backface-visibility:hidden;backface-visibility:hidden}.progress-button-style-rotate-back .progress{position:absolute;top:100%;left:0;width:100%;height:100%;-webkit-transform:rotateX(-180deg);transform:rotateX(-180deg);-webkit-transform-origin:50% 0;transform-origin:50% 0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.progress-button-style-flip-open .progress,.progress-button-style-move-up .progress,.progress-button-style-slide-down .progress{position:absolute;top:0;left:0;height:100%;width:100%}.progress-button-style-rotate-back.state-loading .progress-wrap{-webkit-transform:rotateX(180deg) scaleX(.6) scaleY(.3);transform:rotateX(180deg) scaleX(.6) scaleY(.3)}.progress-button-style-flip-open .content{z-index:10;-webkit-transition:-webkit-transform .2s;transition:transform .2s;-webkit-transform-origin:50% 0;transform-origin:50% 0}.progress-button-style-flip-open.state-loading .content{-webkit-transform:rotateX(45deg);transform:rotateX(45deg)}.progress-button-style-slide-down{padding:0;overflow:visible;-webkit-backface-visibility:hidden;backface-visibility:hidden}.progress-button-style-slide-down .content{z-index:10;padding:0 60px;background:#1d9650}.progress-button-style-slide-down .progress{-webkit-transition:-webkit-transform .2s;transition:transform .2s}.progress-button-style-slide-down.state-loading .progress{-webkit-transform:translateY(10px);transform:translateY(10px)}.progress-button-style-move-up{padding:0;overflow:visible;-webkit-backface-visibility:hidden;backface-visibility:hidden}.progress-button-style-move-up .content{z-index:10;padding:0 60px;background:#1d9650;-webkit-transition:-webkit-transform .2s;transition:transform .2s}.progress-button-style-lateral-lines .content:after,.progress-button-style-lateral-lines .content:before,.progress-button-style-top-line .content:after,.progress-button-style-top-line .content:before{right:auto;left:100%;margin-left:25px}.progress-button-style-move-up.state-loading .content{-webkit-transform:translateY(-10px);transform:translateY(-10px)}.progress-button-style-top-line .progress-inner{height:3px}.progress-button-style-lateral-lines .progress-inner{width:100%;border-right:3px solid #0e7138;border-left:3px solid #0e7138;background:0 0}
\ No newline at end of file
diff --git a/dist/angular-progress-button-styles.min.js b/dist/angular-progress-button-styles.min.js
index 0e201f6..a89217b 100644
--- a/dist/angular-progress-button-styles.min.js
+++ b/dist/angular-progress-button-styles.min.js
@@ -1 +1 @@
-"use strict";!function(a){function b(a){var b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return b[c]}function c(){var a={},b=null,c={style:"fill",direction:"horizontal",randomProgress:!0};this.profile=function(c,d){if(1==arguments.length){if(b)throw Error("Default profile already set.");b=c}else{if(a[c])throw Error("Profile ["+c+"] aready set.");a[c]=d}},this.$get=function(){return{getProfile:function(d){return d&&a[d]?a[d]:b||c}}}}function d(c,d,e){return{restrict:"A",transclude:!0,scope:{progressButton:"&",pbStyle:"@",pbDirection:"@",pbProfile:"@"},template:'',controller:function(){},link:function(f,g,h){function i(){var a=d.getProfile(f.pbProfile);f.pbStyle=f.pbStyle||a.style||"fill","lateral-lines"!=f.pbStyle?f.pbDirection=f.pbDirection||a.direction||"horizontal":f.pbDirection="vertical",f.pbPerspective=0==f.pbStyle.indexOf("rotate")||0==f.pbStyle.indexOf("flip-open"),f.pbRandomProgress=h.pbRandomProgress?"false"!==h.pbRandomProgress:a.randomProgress||!0}function j(a){f.progressStyles[o]=100*a+"%"}function k(){var a=0;return e(function(){a+=(1-a)*Math.random()*.5,j(a)},200)}function l(){f.$apply(function(){f.disabled=!1})}function m(a){function b(a){("opacity"===a.propertyName||a.originalEvent&&"opacity"===a.originalEvent.propertyName)&&(g.off(n,b),f.$apply(function(){f.allowProgressTransition=!1,j(0),f.progressStyles.opacity=1}))}if(n&&(f.progressStyles.opacity=0,g.on(n,b)),"number"==typeof a){var c=a>=0?"state-success":"state-error";g.addClass(c),setTimeout(function(){g.removeClass(c),l()},1500)}else l();g.removeClass("state-loading")}i();var n=b(g[0]),o="vertical"==f.pbDirection?"height":"width";if(f.pbPerspective){var p=a.element('');p.append(g.children()),g.append(p),g.addClass("progress-button-perspective")}f.progressStyles={},f.disabled=!1,f.allowProgressTransition=!1,g.addClass("progress-button"),g.addClass("progress-button-dir-"+f.pbDirection),g.addClass("progress-button-style-"+f.pbStyle),f.$watch("disabled",function(a){g.toggleClass("disabled",a)}),g.on("click",function(){f.$apply(function(){if(!f.disabled){f.disabled=!0,g.addClass("state-loading"),f.allowProgressTransition=!0;var a=null;c.when(f.progressButton()).then(function(){j(1),a&&e.cancel(a),m(1)},function(){a&&e.cancel(a),m(-1)},function(a){!f.pbRandomProgress&&j(a)}),f.pbRandomProgress&&(a=k())}})})}}}var e=a.module("angular-progress-button-styles",[]);e.provider("progressButtonConfig",c),e.directive("progressButton",d),d.$inject=["$q","progressButtonConfig","$interval"]}(angular);
\ No newline at end of file
+"use strict";!function(a){function b(a){var b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return b[c]}function c(){var a={},b=null,c={style:"fill",direction:"horizontal",randomProgress:!0};this.profile=function(c,d){if(1==arguments.length){if(b)throw Error("Default profile already set.");b=c}else{if(a[c])throw Error("Profile ["+c+"] aready set.");a[c]=d}},this.$get=function(){return{getProfile:function(d){return d&&a[d]?a[d]:b||c}}}}function d(c,d,e){return{restrict:"A",transclude:!0,scope:{progressButton:"&",pbStyle:"@",pbDirection:"@",pbProfile:"@",pbValue:"@"},template:'',controller:function(){},link:function(f,g,h){function i(a,b){f.allowProgressTransition?l(a):a>0&&1!=a&&j(a)}function j(a){if(!f.disabled){f.disabled=!0,g.addClass("state-loading"),f.allowProgressTransition=!0;var b=null;a&&l(a),c.when(f.progressButton()).then(function(){l(1),b&&e.cancel(b),o(1)},function(){b&&e.cancel(b),o(-1)},function(a){!f.pbRandomProgress&&l(a)}),f.pbRandomProgress&&(b=m())}}function k(){var a=d.getProfile(f.pbProfile);f.pbStyle=f.pbStyle||a.style||"fill","lateral-lines"!=f.pbStyle?f.pbDirection=f.pbDirection||a.direction||"horizontal":f.pbDirection="vertical",f.pbPerspective=0==f.pbStyle.indexOf("rotate")||0==f.pbStyle.indexOf("flip-open"),f.pbRandomProgress=h.pbRandomProgress?"false"!==h.pbRandomProgress:a.randomProgress||!0}function l(a){f.progressStyles[q]=100*a+"%"}function m(){var a=0;return e(function(){a+=(1-a)*Math.random()*.5,l(a)},200)}function n(){f.$apply(function(){f.disabled=!1})}function o(a){function b(a){("opacity"===a.propertyName||a.originalEvent&&"opacity"===a.originalEvent.propertyName)&&(g.off(p,b),f.$apply(function(){f.allowProgressTransition=!1,l(0),f.progressStyles.opacity=1}))}if(p&&(f.progressStyles.opacity=0,g.on(p,b)),"number"==typeof a){var c=a>=0?"state-success":"state-error";g.addClass(c),setTimeout(function(){g.removeClass(c),n()},1500)}else n();g.removeClass("state-loading")}k();var p=b(g[0]),q="vertical"==f.pbDirection?"height":"width";if(f.pbPerspective){var r=a.element('');r.append(g.children()),g.append(r),g.addClass("progress-button-perspective")}f.progressStyles={},f.disabled=!1,f.allowProgressTransition=!1,g.addClass("progress-button"),g.addClass("progress-button-dir-"+f.pbDirection),g.addClass("progress-button-style-"+f.pbStyle),f.$watch("disabled",function(a){g.toggleClass("disabled",a)}),g.on("click",function(){f.$apply(j)}),f.$watch("pbValue",i)}}}var e=a.module("angular-progress-button-styles",[]);e.provider("progressButtonConfig",c),e.directive("progressButton",d),d.$inject=["$q","progressButtonConfig","$interval"]}(angular);
\ No newline at end of file
diff --git a/js/angular-progress-button-styles.js b/js/angular-progress-button-styles.js
index d9cf22c..f1f4df7 100644
--- a/js/angular-progress-button-styles.js
+++ b/js/angular-progress-button-styles.js
@@ -73,7 +73,8 @@
'progressButton': '&',
'pbStyle': '@',
'pbDirection': '@',
- 'pbProfile': '@'
+ 'pbProfile': '@',
+ 'pbValue': '@'
},
template: '' +
'' +
@@ -105,32 +106,47 @@
});
$element.on('click', function() {
- $scope.$apply(function() {
- if ($scope.disabled) return;
- $scope.disabled = true;
- $element.addClass('state-loading');
- $scope.allowProgressTransition = true;
- var interval = null;
- $q.when($scope.progressButton()).then(
- function success() {
- setProgress(1);
- interval && $interval.cancel(interval);
- doStop(1);
- },
- function error() {
- interval && $interval.cancel(interval);
- doStop(-1);
- },
- function notify(arg) {
- !$scope.pbRandomProgress && setProgress(arg);
- }
- );
- if ($scope.pbRandomProgress) {
- interval = runProgressInterval();
- }
- });
+ $scope.$apply(_start);
});
+ $scope.$watch('pbValue', valueChangedExternally);
+
+ function valueChangedExternally (newValue, oldValue) {
+ if ($scope.allowProgressTransition)
+ setProgress(newValue);
+ else if (newValue > 0 && newValue != 1)
+ _start(newValue);
+ }
+ function _start(startingValue) {
+ if ($scope.disabled) return;
+ $scope.disabled = true;
+ $element.addClass('state-loading');
+ $scope.allowProgressTransition = true;
+ var interval = null;
+
+ if (startingValue) {
+ setProgress(startingValue);
+ }
+
+ $q.when($scope.progressButton()).then(
+ function success() {
+ setProgress(1);
+ interval && $interval.cancel(interval);
+ doStop(1);
+ },
+ function error() {
+ interval && $interval.cancel(interval);
+ doStop(-1);
+ },
+ function notify(arg) {
+ !$scope.pbRandomProgress && setProgress(arg);
+ }
+ );
+ if ($scope.pbRandomProgress) {
+ interval = runProgressInterval();
+ }
+ }
+
function _configure() {
var profile = progressButtonConfig.getProfile($scope.pbProfile);
diff --git a/package.json b/package.json
index fcef06b..b2fda79 100644
--- a/package.json
+++ b/package.json
@@ -24,7 +24,7 @@
"grunt-contrib-cssmin": "^0.12.1",
"grunt-contrib-less": "^1.0.0",
"grunt-contrib-uglify": "^0.7.0",
- "grunt-sass": "^0.17.0"
+ "grunt-contrib-sass": "^0.9.2"
},
"dependencies": {
"angular": "~1.x"