summaryrefslogtreecommitdiffstats
path: root/vnfmarket/src/main/webapp/common/thirdparty/angular-material/modules/closure/slider
diff options
context:
space:
mode:
Diffstat (limited to 'vnfmarket/src/main/webapp/common/thirdparty/angular-material/modules/closure/slider')
-rw-r--r--vnfmarket/src/main/webapp/common/thirdparty/angular-material/modules/closure/slider/slider-default-theme.css125
-rw-r--r--vnfmarket/src/main/webapp/common/thirdparty/angular-material/modules/closure/slider/slider-default-theme.min.css6
-rw-r--r--vnfmarket/src/main/webapp/common/thirdparty/angular-material/modules/closure/slider/slider.css439
-rw-r--r--vnfmarket/src/main/webapp/common/thirdparty/angular-material/modules/closure/slider/slider.js606
-rw-r--r--vnfmarket/src/main/webapp/common/thirdparty/angular-material/modules/closure/slider/slider.min.css6
-rw-r--r--vnfmarket/src/main/webapp/common/thirdparty/angular-material/modules/closure/slider/slider.min.js7
6 files changed, 1189 insertions, 0 deletions
diff --git a/vnfmarket/src/main/webapp/common/thirdparty/angular-material/modules/closure/slider/slider-default-theme.css b/vnfmarket/src/main/webapp/common/thirdparty/angular-material/modules/closure/slider/slider-default-theme.css
new file mode 100644
index 00000000..283d8048
--- /dev/null
+++ b/vnfmarket/src/main/webapp/common/thirdparty/angular-material/modules/closure/slider/slider-default-theme.css
@@ -0,0 +1,125 @@
+/*!
+ * Angular Material Design
+ * https://github.com/angular/material
+ * @license MIT
+ * v1.1.3
+ */
+md-slider.md-THEME_NAME-theme .md-track {
+ background-color: '{{foreground-3}}'; }
+
+md-slider.md-THEME_NAME-theme .md-track-ticks {
+ color: '{{background-contrast}}'; }
+
+md-slider.md-THEME_NAME-theme .md-focus-ring {
+ background-color: '{{accent-A200-0.2}}'; }
+
+md-slider.md-THEME_NAME-theme .md-disabled-thumb {
+ border-color: '{{background-color}}';
+ background-color: '{{background-color}}'; }
+
+md-slider.md-THEME_NAME-theme.md-min .md-thumb:after {
+ background-color: '{{background-color}}';
+ border-color: '{{foreground-3}}'; }
+
+md-slider.md-THEME_NAME-theme.md-min .md-focus-ring {
+ background-color: '{{foreground-3-0.38}}'; }
+
+md-slider.md-THEME_NAME-theme.md-min[md-discrete] .md-thumb:after {
+ background-color: '{{background-contrast}}';
+ border-color: transparent; }
+
+md-slider.md-THEME_NAME-theme.md-min[md-discrete] .md-sign {
+ background-color: '{{background-400}}'; }
+ md-slider.md-THEME_NAME-theme.md-min[md-discrete] .md-sign:after {
+ border-top-color: '{{background-400}}'; }
+
+md-slider.md-THEME_NAME-theme.md-min[md-discrete][md-vertical] .md-sign:after {
+ border-top-color: transparent;
+ border-left-color: '{{background-400}}'; }
+
+md-slider.md-THEME_NAME-theme .md-track.md-track-fill {
+ background-color: '{{accent-color}}'; }
+
+md-slider.md-THEME_NAME-theme .md-thumb:after {
+ border-color: '{{accent-color}}';
+ background-color: '{{accent-color}}'; }
+
+md-slider.md-THEME_NAME-theme .md-sign {
+ background-color: '{{accent-color}}'; }
+ md-slider.md-THEME_NAME-theme .md-sign:after {
+ border-top-color: '{{accent-color}}'; }
+
+md-slider.md-THEME_NAME-theme[md-vertical] .md-sign:after {
+ border-top-color: transparent;
+ border-left-color: '{{accent-color}}'; }
+
+md-slider.md-THEME_NAME-theme .md-thumb-text {
+ color: '{{accent-contrast}}'; }
+
+md-slider.md-THEME_NAME-theme.md-warn .md-focus-ring {
+ background-color: '{{warn-200-0.38}}'; }
+
+md-slider.md-THEME_NAME-theme.md-warn .md-track.md-track-fill {
+ background-color: '{{warn-color}}'; }
+
+md-slider.md-THEME_NAME-theme.md-warn .md-thumb:after {
+ border-color: '{{warn-color}}';
+ background-color: '{{warn-color}}'; }
+
+md-slider.md-THEME_NAME-theme.md-warn .md-sign {
+ background-color: '{{warn-color}}'; }
+ md-slider.md-THEME_NAME-theme.md-warn .md-sign:after {
+ border-top-color: '{{warn-color}}'; }
+
+md-slider.md-THEME_NAME-theme.md-warn[md-vertical] .md-sign:after {
+ border-top-color: transparent;
+ border-left-color: '{{warn-color}}'; }
+
+md-slider.md-THEME_NAME-theme.md-warn .md-thumb-text {
+ color: '{{warn-contrast}}'; }
+
+md-slider.md-THEME_NAME-theme.md-primary .md-focus-ring {
+ background-color: '{{primary-200-0.38}}'; }
+
+md-slider.md-THEME_NAME-theme.md-primary .md-track.md-track-fill {
+ background-color: '{{primary-color}}'; }
+
+md-slider.md-THEME_NAME-theme.md-primary .md-thumb:after {
+ border-color: '{{primary-color}}';
+ background-color: '{{primary-color}}'; }
+
+md-slider.md-THEME_NAME-theme.md-primary .md-sign {
+ background-color: '{{primary-color}}'; }
+ md-slider.md-THEME_NAME-theme.md-primary .md-sign:after {
+ border-top-color: '{{primary-color}}'; }
+
+md-slider.md-THEME_NAME-theme.md-primary[md-vertical] .md-sign:after {
+ border-top-color: transparent;
+ border-left-color: '{{primary-color}}'; }
+
+md-slider.md-THEME_NAME-theme.md-primary .md-thumb-text {
+ color: '{{primary-contrast}}'; }
+
+md-slider.md-THEME_NAME-theme[disabled] .md-thumb:after {
+ border-color: transparent; }
+
+md-slider.md-THEME_NAME-theme[disabled]:not(.md-min) .md-thumb:after, md-slider.md-THEME_NAME-theme[disabled][md-discrete] .md-thumb:after {
+ background-color: '{{foreground-3}}';
+ border-color: transparent; }
+
+md-slider.md-THEME_NAME-theme[disabled][readonly] .md-sign {
+ background-color: '{{background-400}}'; }
+ md-slider.md-THEME_NAME-theme[disabled][readonly] .md-sign:after {
+ border-top-color: '{{background-400}}'; }
+
+md-slider.md-THEME_NAME-theme[disabled][readonly][md-vertical] .md-sign:after {
+ border-top-color: transparent;
+ border-left-color: '{{background-400}}'; }
+
+md-slider.md-THEME_NAME-theme[disabled][readonly] .md-disabled-thumb {
+ border-color: transparent;
+ background-color: transparent; }
+
+md-slider-container[disabled] > *:first-child:not(md-slider),
+md-slider-container[disabled] > *:last-child:not(md-slider) {
+ color: '{{foreground-3}}'; }
diff --git a/vnfmarket/src/main/webapp/common/thirdparty/angular-material/modules/closure/slider/slider-default-theme.min.css b/vnfmarket/src/main/webapp/common/thirdparty/angular-material/modules/closure/slider/slider-default-theme.min.css
new file mode 100644
index 00000000..556a0523
--- /dev/null
+++ b/vnfmarket/src/main/webapp/common/thirdparty/angular-material/modules/closure/slider/slider-default-theme.min.css
@@ -0,0 +1,6 @@
+/*!
+ * Angular Material Design
+ * https://github.com/angular/material
+ * @license MIT
+ * v1.1.2-master-a9ba340
+ */md-slider.md-THEME_NAME-theme .md-track{background-color:"{{foreground-3}}"}md-slider.md-THEME_NAME-theme .md-track-ticks{color:"{{background-contrast}}"}md-slider.md-THEME_NAME-theme .md-focus-ring{background-color:"{{accent-A200-0.2}}"}md-slider.md-THEME_NAME-theme .md-disabled-thumb{border-color:"{{background-color}}";background-color:"{{background-color}}"}md-slider.md-THEME_NAME-theme.md-min .md-thumb:after{background-color:"{{background-color}}";border-color:"{{foreground-3}}"}md-slider.md-THEME_NAME-theme.md-min .md-focus-ring{background-color:"{{foreground-3-0.38}}"}md-slider.md-THEME_NAME-theme.md-min[md-discrete] .md-thumb:after{background-color:"{{background-contrast}}";border-color:transparent}md-slider.md-THEME_NAME-theme.md-min[md-discrete] .md-sign{background-color:"{{background-400}}"}md-slider.md-THEME_NAME-theme.md-min[md-discrete] .md-sign:after{border-top-color:"{{background-400}}"}md-slider.md-THEME_NAME-theme.md-min[md-discrete][md-vertical] .md-sign:after{border-top-color:transparent;border-left-color:"{{background-400}}"}md-slider.md-THEME_NAME-theme .md-track.md-track-fill{background-color:"{{accent-color}}"}md-slider.md-THEME_NAME-theme .md-thumb:after{border-color:"{{accent-color}}";background-color:"{{accent-color}}"}md-slider.md-THEME_NAME-theme .md-sign{background-color:"{{accent-color}}"}md-slider.md-THEME_NAME-theme .md-sign:after{border-top-color:"{{accent-color}}"}md-slider.md-THEME_NAME-theme[md-vertical] .md-sign:after{border-top-color:transparent;border-left-color:"{{accent-color}}"}md-slider.md-THEME_NAME-theme .md-thumb-text{color:"{{accent-contrast}}"}md-slider.md-THEME_NAME-theme.md-warn .md-focus-ring{background-color:"{{warn-200-0.38}}"}md-slider.md-THEME_NAME-theme.md-warn .md-track.md-track-fill{background-color:"{{warn-color}}"}md-slider.md-THEME_NAME-theme.md-warn .md-thumb:after{border-color:"{{warn-color}}";background-color:"{{warn-color}}"}md-slider.md-THEME_NAME-theme.md-warn .md-sign{background-color:"{{warn-color}}"}md-slider.md-THEME_NAME-theme.md-warn .md-sign:after{border-top-color:"{{warn-color}}"}md-slider.md-THEME_NAME-theme.md-warn[md-vertical] .md-sign:after{border-top-color:transparent;border-left-color:"{{warn-color}}"}md-slider.md-THEME_NAME-theme.md-warn .md-thumb-text{color:"{{warn-contrast}}"}md-slider.md-THEME_NAME-theme.md-primary .md-focus-ring{background-color:"{{primary-200-0.38}}"}md-slider.md-THEME_NAME-theme.md-primary .md-track.md-track-fill{background-color:"{{primary-color}}"}md-slider.md-THEME_NAME-theme.md-primary .md-thumb:after{border-color:"{{primary-color}}";background-color:"{{primary-color}}"}md-slider.md-THEME_NAME-theme.md-primary .md-sign{background-color:"{{primary-color}}"}md-slider.md-THEME_NAME-theme.md-primary .md-sign:after{border-top-color:"{{primary-color}}"}md-slider.md-THEME_NAME-theme.md-primary[md-vertical] .md-sign:after{border-top-color:transparent;border-left-color:"{{primary-color}}"}md-slider.md-THEME_NAME-theme.md-primary .md-thumb-text{color:"{{primary-contrast}}"}md-slider.md-THEME_NAME-theme[disabled] .md-thumb:after{border-color:transparent}md-slider.md-THEME_NAME-theme[disabled]:not(.md-min) .md-thumb:after,md-slider.md-THEME_NAME-theme[disabled][md-discrete] .md-thumb:after{background-color:"{{foreground-3}}";border-color:transparent}md-slider.md-THEME_NAME-theme[disabled][readonly] .md-sign{background-color:"{{background-400}}"}md-slider.md-THEME_NAME-theme[disabled][readonly] .md-sign:after{border-top-color:"{{background-400}}"}md-slider.md-THEME_NAME-theme[disabled][readonly][md-vertical] .md-sign:after{border-top-color:transparent;border-left-color:"{{background-400}}"}md-slider.md-THEME_NAME-theme[disabled][readonly] .md-disabled-thumb{border-color:transparent;background-color:transparent}md-slider-container[disabled]>:first-child:not(md-slider),md-slider-container[disabled]>:last-child:not(md-slider){color:"{{foreground-3}}"} \ No newline at end of file
diff --git a/vnfmarket/src/main/webapp/common/thirdparty/angular-material/modules/closure/slider/slider.css b/vnfmarket/src/main/webapp/common/thirdparty/angular-material/modules/closure/slider/slider.css
new file mode 100644
index 00000000..1a487bb6
--- /dev/null
+++ b/vnfmarket/src/main/webapp/common/thirdparty/angular-material/modules/closure/slider/slider.css
@@ -0,0 +1,439 @@
+/*!
+ * Angular Material Design
+ * https://github.com/angular/material
+ * @license MIT
+ * v1.1.3
+ */
+@-webkit-keyframes sliderFocusThumb {
+ 0% {
+ -webkit-transform: scale(0.7);
+ transform: scale(0.7); }
+ 30% {
+ -webkit-transform: scale(1);
+ transform: scale(1); }
+ 100% {
+ -webkit-transform: scale(0.7);
+ transform: scale(0.7); } }
+
+@keyframes sliderFocusThumb {
+ 0% {
+ -webkit-transform: scale(0.7);
+ transform: scale(0.7); }
+ 30% {
+ -webkit-transform: scale(1);
+ transform: scale(1); }
+ 100% {
+ -webkit-transform: scale(0.7);
+ transform: scale(0.7); } }
+
+@-webkit-keyframes sliderDiscreteFocusThumb {
+ 0% {
+ -webkit-transform: scale(0.7);
+ transform: scale(0.7); }
+ 50% {
+ -webkit-transform: scale(0.8);
+ transform: scale(0.8); }
+ 100% {
+ -webkit-transform: scale(0);
+ transform: scale(0); } }
+
+@keyframes sliderDiscreteFocusThumb {
+ 0% {
+ -webkit-transform: scale(0.7);
+ transform: scale(0.7); }
+ 50% {
+ -webkit-transform: scale(0.8);
+ transform: scale(0.8); }
+ 100% {
+ -webkit-transform: scale(0);
+ transform: scale(0); } }
+
+@-webkit-keyframes sliderDiscreteFocusRing {
+ 0% {
+ -webkit-transform: scale(0.7);
+ transform: scale(0.7);
+ opacity: 0; }
+ 50% {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ opacity: 1; }
+ 100% {
+ -webkit-transform: scale(0);
+ transform: scale(0); } }
+
+@keyframes sliderDiscreteFocusRing {
+ 0% {
+ -webkit-transform: scale(0.7);
+ transform: scale(0.7);
+ opacity: 0; }
+ 50% {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ opacity: 1; }
+ 100% {
+ -webkit-transform: scale(0);
+ transform: scale(0); } }
+
+md-slider {
+ height: 48px;
+ min-width: 128px;
+ position: relative;
+ margin-left: 4px;
+ margin-right: 4px;
+ padding: 0;
+ display: block;
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: row;
+ flex-direction: row;
+ /**
+ * Track
+ */
+ /**
+ * Slider thumb
+ */
+ /* The sign that's focused in discrete mode */
+ /**
+ * The border/background that comes in when focused in non-discrete mode
+ */
+ /* Don't animate left/right while panning */ }
+ md-slider *, md-slider *:after {
+ box-sizing: border-box; }
+ md-slider .md-slider-wrapper {
+ outline: none;
+ width: 100%;
+ height: 100%; }
+ md-slider .md-slider-content {
+ position: relative; }
+ md-slider .md-track-container {
+ width: 100%;
+ position: absolute;
+ top: 23px;
+ height: 2px; }
+ md-slider .md-track {
+ position: absolute;
+ left: 0;
+ right: 0;
+ height: 100%; }
+ md-slider .md-track-fill {
+ -webkit-transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
+ transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
+ -webkit-transition-property: width, height;
+ transition-property: width, height; }
+ md-slider .md-track-ticks {
+ position: absolute;
+ left: 0;
+ right: 0;
+ height: 100%; }
+ md-slider .md-track-ticks canvas {
+ width: 100%;
+ height: 100%; }
+ md-slider .md-thumb-container {
+ position: absolute;
+ left: 0;
+ top: 50%;
+ -webkit-transform: translate3d(-50%, -50%, 0);
+ transform: translate3d(-50%, -50%, 0);
+ -webkit-transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
+ transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
+ -webkit-transition-property: left, right, bottom;
+ transition-property: left, right, bottom; }
+ [dir=rtl] md-slider .md-thumb-container {
+ left: auto;
+ right: 0; }
+ md-slider .md-thumb {
+ z-index: 1;
+ position: absolute;
+ left: -10px;
+ top: 14px;
+ width: 20px;
+ height: 20px;
+ border-radius: 20px;
+ -webkit-transform: scale(0.7);
+ transform: scale(0.7);
+ -webkit-transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
+ transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); }
+ [dir=rtl] md-slider .md-thumb {
+ left: auto;
+ right: -10px; }
+ md-slider .md-thumb:after {
+ content: '';
+ position: absolute;
+ width: 20px;
+ height: 20px;
+ border-radius: 20px;
+ border-width: 3px;
+ border-style: solid;
+ -webkit-transition: inherit;
+ transition: inherit; }
+ md-slider .md-sign {
+ /* Center the children (slider-thumb-text) */
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: flex;
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ align-items: center;
+ -webkit-box-pack: center;
+ -webkit-justify-content: center;
+ justify-content: center;
+ position: absolute;
+ left: -14px;
+ top: -17px;
+ width: 28px;
+ height: 28px;
+ border-radius: 28px;
+ -webkit-transform: scale(0.4) translate3d(0, 67.5px, 0);
+ transform: scale(0.4) translate3d(0, 67.5px, 0);
+ -webkit-transition: all 0.3s cubic-bezier(0.35, 0, 0.25, 1);
+ transition: all 0.3s cubic-bezier(0.35, 0, 0.25, 1);
+ /* The arrow pointing down under the sign */ }
+ md-slider .md-sign:after {
+ position: absolute;
+ content: '';
+ left: 0px;
+ border-radius: 16px;
+ top: 19px;
+ border-left: 14px solid transparent;
+ border-right: 14px solid transparent;
+ border-top-width: 16px;
+ border-top-style: solid;
+ opacity: 0;
+ -webkit-transform: translate3d(0, -8px, 0);
+ transform: translate3d(0, -8px, 0);
+ -webkit-transition: all 0.2s cubic-bezier(0.35, 0, 0.25, 1);
+ transition: all 0.2s cubic-bezier(0.35, 0, 0.25, 1); }
+ [dir=rtl] md-slider .md-sign:after {
+ left: auto;
+ right: 0px; }
+ md-slider .md-sign .md-thumb-text {
+ z-index: 1;
+ font-size: 12px;
+ font-weight: bold; }
+ md-slider .md-focus-ring {
+ position: absolute;
+ left: -17px;
+ top: 7px;
+ width: 34px;
+ height: 34px;
+ border-radius: 34px;
+ -webkit-transform: scale(0.7);
+ transform: scale(0.7);
+ opacity: 0;
+ -webkit-transition: all 0.35s cubic-bezier(0.35, 0, 0.25, 1);
+ transition: all 0.35s cubic-bezier(0.35, 0, 0.25, 1); }
+ [dir=rtl] md-slider .md-focus-ring {
+ left: auto;
+ right: -17px; }
+ md-slider .md-disabled-thumb {
+ position: absolute;
+ left: -14px;
+ top: 10px;
+ width: 28px;
+ height: 28px;
+ border-radius: 28px;
+ -webkit-transform: scale(0.5);
+ transform: scale(0.5);
+ border-width: 4px;
+ border-style: solid;
+ display: none; }
+ [dir=rtl] md-slider .md-disabled-thumb {
+ left: auto;
+ right: -14px; }
+ md-slider.md-min .md-sign {
+ opacity: 0; }
+ md-slider:focus {
+ outline: none; }
+ md-slider.md-dragging .md-thumb-container,
+ md-slider.md-dragging .md-track-fill {
+ -webkit-transition: none;
+ transition: none; }
+ md-slider:not([md-discrete]) {
+ /* Hide the sign and ticks in non-discrete mode */ }
+ md-slider:not([md-discrete]) .md-track-ticks,
+ md-slider:not([md-discrete]) .md-sign {
+ display: none; }
+ md-slider:not([md-discrete]):not([disabled]) .md-slider-wrapper .md-thumb:hover {
+ -webkit-transform: scale(0.8);
+ transform: scale(0.8); }
+ md-slider:not([md-discrete]):not([disabled]) .md-slider-wrapper.md-focused .md-focus-ring {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ opacity: 1; }
+ md-slider:not([md-discrete]):not([disabled]) .md-slider-wrapper.md-focused .md-thumb {
+ -webkit-animation: sliderFocusThumb 0.7s cubic-bezier(0.35, 0, 0.25, 1);
+ animation: sliderFocusThumb 0.7s cubic-bezier(0.35, 0, 0.25, 1); }
+ md-slider:not([md-discrete]):not([disabled]).md-active .md-slider-wrapper .md-thumb {
+ -webkit-transform: scale(1);
+ transform: scale(1); }
+ md-slider[md-discrete]:not([disabled]) .md-slider-wrapper.md-focused .md-focus-ring {
+ -webkit-transform: scale(0);
+ transform: scale(0);
+ -webkit-animation: sliderDiscreteFocusRing 0.5s cubic-bezier(0.35, 0, 0.25, 1);
+ animation: sliderDiscreteFocusRing 0.5s cubic-bezier(0.35, 0, 0.25, 1); }
+ md-slider[md-discrete]:not([disabled]) .md-slider-wrapper.md-focused .md-thumb {
+ -webkit-animation: sliderDiscreteFocusThumb 0.5s cubic-bezier(0.35, 0, 0.25, 1);
+ animation: sliderDiscreteFocusThumb 0.5s cubic-bezier(0.35, 0, 0.25, 1); }
+ md-slider[md-discrete]:not([disabled]) .md-slider-wrapper.md-focused .md-thumb, md-slider[md-discrete]:not([disabled]).md-active .md-thumb {
+ -webkit-transform: scale(0);
+ transform: scale(0); }
+ md-slider[md-discrete]:not([disabled]) .md-slider-wrapper.md-focused .md-sign,
+ md-slider[md-discrete]:not([disabled]) .md-slider-wrapper.md-focused .md-sign:after, md-slider[md-discrete]:not([disabled]).md-active .md-sign,
+ md-slider[md-discrete]:not([disabled]).md-active .md-sign:after {
+ opacity: 1;
+ -webkit-transform: translate3d(0, 0, 0) scale(1);
+ transform: translate3d(0, 0, 0) scale(1); }
+ md-slider[md-discrete][disabled][readonly] .md-thumb {
+ -webkit-transform: scale(0);
+ transform: scale(0); }
+ md-slider[md-discrete][disabled][readonly] .md-sign,
+ md-slider[md-discrete][disabled][readonly] .md-sign:after {
+ opacity: 1;
+ -webkit-transform: translate3d(0, 0, 0) scale(1);
+ transform: translate3d(0, 0, 0) scale(1); }
+ md-slider[disabled] .md-track-fill {
+ display: none; }
+ md-slider[disabled] .md-track-ticks {
+ opacity: 0; }
+ md-slider[disabled]:not([readonly]) .md-sign {
+ opacity: 0; }
+ md-slider[disabled] .md-thumb {
+ -webkit-transform: scale(0.5);
+ transform: scale(0.5); }
+ md-slider[disabled] .md-disabled-thumb {
+ display: block; }
+ md-slider[md-vertical] {
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: column;
+ flex-direction: column;
+ min-height: 128px;
+ min-width: 0; }
+ md-slider[md-vertical] .md-slider-wrapper {
+ -webkit-box-flex: 1;
+ -webkit-flex: 1;
+ flex: 1;
+ padding-top: 12px;
+ padding-bottom: 12px;
+ width: 48px;
+ -webkit-align-self: center;
+ align-self: center;
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: flex;
+ -webkit-box-pack: center;
+ -webkit-justify-content: center;
+ justify-content: center; }
+ md-slider[md-vertical] .md-track-container {
+ height: 100%;
+ width: 2px;
+ top: 0;
+ left: calc(50% - (2px / 2)); }
+ md-slider[md-vertical] .md-thumb-container {
+ top: auto;
+ margin-bottom: 23px;
+ left: calc(50% - 1px);
+ bottom: 0; }
+ md-slider[md-vertical] .md-thumb-container .md-thumb:after {
+ left: 1px; }
+ md-slider[md-vertical] .md-thumb-container .md-focus-ring {
+ left: -16px; }
+ md-slider[md-vertical] .md-track-fill {
+ bottom: 0; }
+ md-slider[md-vertical][md-discrete] .md-sign {
+ left: -40px;
+ top: 9.5px;
+ -webkit-transform: scale(0.4) translate3d(67.5px, 0, 0);
+ transform: scale(0.4) translate3d(67.5px, 0, 0);
+ /* The arrow pointing left next the sign */ }
+ md-slider[md-vertical][md-discrete] .md-sign:after {
+ top: 9.5px;
+ left: 19px;
+ border-top: 14px solid transparent;
+ border-right: 0;
+ border-bottom: 14px solid transparent;
+ border-left-width: 16px;
+ border-left-style: solid;
+ opacity: 0;
+ -webkit-transform: translate3d(0, -8px, 0);
+ transform: translate3d(0, -8px, 0);
+ -webkit-transition: all 0.2s ease-in-out;
+ transition: all 0.2s ease-in-out; }
+ md-slider[md-vertical][md-discrete] .md-sign .md-thumb-text {
+ z-index: 1;
+ font-size: 12px;
+ font-weight: bold; }
+ md-slider[md-vertical][md-discrete].md-active .md-sign:after,
+ md-slider[md-vertical][md-discrete] .md-focused .md-sign:after, md-slider[md-vertical][md-discrete][disabled][readonly] .md-sign:after {
+ top: 0; }
+ md-slider[md-vertical][disabled][readonly] .md-thumb {
+ -webkit-transform: scale(0);
+ transform: scale(0); }
+ md-slider[md-vertical][disabled][readonly] .md-sign,
+ md-slider[md-vertical][disabled][readonly] .md-sign:after {
+ opacity: 1;
+ -webkit-transform: translate3d(0, 0, 0) scale(1);
+ transform: translate3d(0, 0, 0) scale(1); }
+ md-slider[md-invert]:not([md-vertical]) .md-track-fill {
+ left: auto;
+ right: 0; }
+ [dir=rtl] md-slider[md-invert]:not([md-vertical]) .md-track-fill {
+ left: 0; }
+ [dir=rtl] md-slider[md-invert]:not([md-vertical]) .md-track-fill {
+ right: auto; }
+ md-slider[md-invert][md-vertical] .md-track-fill {
+ bottom: auto;
+ top: 0; }
+
+md-slider-container {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: flex;
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ align-items: center;
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: row;
+ flex-direction: row; }
+ md-slider-container > *:first-child:not(md-slider),
+ md-slider-container > *:last-child:not(md-slider) {
+ min-width: 25px;
+ max-width: 42px;
+ height: 25px;
+ -webkit-transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
+ transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
+ -webkit-transition-property: color, max-width;
+ transition-property: color, max-width; }
+ md-slider-container > *:first-child:not(md-slider) {
+ margin-right: 16px; }
+ [dir=rtl] md-slider-container > *:first-child:not(md-slider) {
+ margin-right: auto;
+ margin-left: 16px; }
+ md-slider-container > *:last-child:not(md-slider) {
+ margin-left: 16px; }
+ [dir=rtl] md-slider-container > *:last-child:not(md-slider) {
+ margin-left: auto;
+ margin-right: 16px; }
+ md-slider-container[md-vertical] {
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: column;
+ flex-direction: column; }
+ md-slider-container[md-vertical] > *:first-child:not(md-slider),
+ md-slider-container[md-vertical] > *:last-child:not(md-slider) {
+ margin-right: 0;
+ margin-left: 0;
+ text-align: center; }
+ md-slider-container md-input-container input[type="number"] {
+ text-align: center;
+ padding-left: 15px;
+ height: 50px;
+ margin-top: -25px; }
+ [dir=rtl] md-slider-container md-input-container input[type="number"] {
+ padding-left: 0;
+ padding-right: 15px; }
+
+@media screen and (-ms-high-contrast: active) {
+ md-slider.md-default-theme .md-track {
+ border-bottom: 1px solid #fff; } }
diff --git a/vnfmarket/src/main/webapp/common/thirdparty/angular-material/modules/closure/slider/slider.js b/vnfmarket/src/main/webapp/common/thirdparty/angular-material/modules/closure/slider/slider.js
new file mode 100644
index 00000000..6a21de4a
--- /dev/null
+++ b/vnfmarket/src/main/webapp/common/thirdparty/angular-material/modules/closure/slider/slider.js
@@ -0,0 +1,606 @@
+/*!
+ * Angular Material Design
+ * https://github.com/angular/material
+ * @license MIT
+ * v1.1.3
+ */
+goog.provide('ngmaterial.components.slider');
+goog.require('ngmaterial.core');
+ /**
+ * @ngdoc module
+ * @name material.components.slider
+ */
+SliderDirective['$inject'] = ["$$rAF", "$window", "$mdAria", "$mdUtil", "$mdConstant", "$mdTheming", "$mdGesture", "$parse", "$log", "$timeout"];
+ angular.module('material.components.slider', [
+ 'material.core'
+ ])
+ .directive('mdSlider', SliderDirective)
+ .directive('mdSliderContainer', SliderContainerDirective);
+
+/**
+ * @ngdoc directive
+ * @name mdSliderContainer
+ * @module material.components.slider
+ * @restrict E
+ * @description
+ * The `<md-slider-container>` contains slider with two other elements.
+ *
+ *
+ * @usage
+ * <h4>Normal Mode</h4>
+ * <hljs lang="html">
+ * </hljs>
+ */
+function SliderContainerDirective() {
+ return {
+ controller: function () {},
+ compile: function (elem) {
+ var slider = elem.find('md-slider');
+
+ if (!slider) {
+ return;
+ }
+
+ var vertical = slider.attr('md-vertical');
+
+ if (vertical !== undefined) {
+ elem.attr('md-vertical', '');
+ }
+
+ if(!slider.attr('flex')) {
+ slider.attr('flex', '');
+ }
+
+ return function postLink(scope, element, attr, ctrl) {
+ element.addClass('_md'); // private md component indicator for styling
+
+ // We have to manually stop the $watch on ngDisabled because it exists
+ // on the parent scope, and won't be automatically destroyed when
+ // the component is destroyed.
+ function setDisable(value) {
+ element.children().attr('disabled', value);
+ element.find('input').attr('disabled', value);
+ }
+
+ var stopDisabledWatch = angular.noop;
+
+ if (attr.disabled) {
+ setDisable(true);
+ }
+ else if (attr.ngDisabled) {
+ stopDisabledWatch = scope.$watch(attr.ngDisabled, function (value) {
+ setDisable(value);
+ });
+ }
+
+ scope.$on('$destroy', function () {
+ stopDisabledWatch();
+ });
+
+ var initialMaxWidth;
+
+ ctrl.fitInputWidthToTextLength = function (length) {
+ var input = element[0].querySelector('md-input-container');
+
+ if (input) {
+ var computedStyle = getComputedStyle(input);
+ var minWidth = parseInt(computedStyle.minWidth);
+ var padding = parseInt(computedStyle.padding) * 2;
+
+ initialMaxWidth = initialMaxWidth || parseInt(computedStyle.maxWidth);
+ var newMaxWidth = Math.max(initialMaxWidth, minWidth + padding + (minWidth / 2 * length));
+
+ input.style.maxWidth = newMaxWidth + 'px';
+ }
+ };
+ };
+ }
+ };
+}
+
+/**
+ * @ngdoc directive
+ * @name mdSlider
+ * @module material.components.slider
+ * @restrict E
+ * @description
+ * The `<md-slider>` component allows the user to choose from a range of
+ * values.
+ *
+ * As per the [material design spec](http://www.google.com/design/spec/style/color.html#color-ui-color-application)
+ * the slider is in the accent color by default. The primary color palette may be used with
+ * the `md-primary` class.
+ *
+ * It has two modes: 'normal' mode, where the user slides between a wide range
+ * of values, and 'discrete' mode, where the user slides between only a few
+ * select values.
+ *
+ * To enable discrete mode, add the `md-discrete` attribute to a slider,
+ * and use the `step` attribute to change the distance between
+ * values the user is allowed to pick.
+ *
+ * @usage
+ * <h4>Normal Mode</h4>
+ * <hljs lang="html">
+ * <md-slider ng-model="myValue" min="5" max="500">
+ * </md-slider>
+ * </hljs>
+ * <h4>Discrete Mode</h4>
+ * <hljs lang="html">
+ * <md-slider md-discrete ng-model="myDiscreteValue" step="10" min="10" max="130">
+ * </md-slider>
+ * </hljs>
+ * <h4>Invert Mode</h4>
+ * <hljs lang="html">
+ * <md-slider md-invert ng-model="myValue" step="10" min="10" max="130">
+ * </md-slider>
+ * </hljs>
+ *
+ * @param {boolean=} md-discrete Whether to enable discrete mode.
+ * @param {boolean=} md-invert Whether to enable invert mode.
+ * @param {number=} step The distance between values the user is allowed to pick. Default 1.
+ * @param {number=} min The minimum value the user is allowed to pick. Default 0.
+ * @param {number=} max The maximum value the user is allowed to pick. Default 100.
+ * @param {number=} round The amount of numbers after the decimal point, maximum is 6 to prevent scientific notation. Default 3.
+ */
+function SliderDirective($$rAF, $window, $mdAria, $mdUtil, $mdConstant, $mdTheming, $mdGesture, $parse, $log, $timeout) {
+ return {
+ scope: {},
+ require: ['?ngModel', '?^mdSliderContainer'],
+ template:
+ '<div class="md-slider-wrapper">' +
+ '<div class="md-slider-content">' +
+ '<div class="md-track-container">' +
+ '<div class="md-track"></div>' +
+ '<div class="md-track md-track-fill"></div>' +
+ '<div class="md-track-ticks"></div>' +
+ '</div>' +
+ '<div class="md-thumb-container">' +
+ '<div class="md-thumb"></div>' +
+ '<div class="md-focus-thumb"></div>' +
+ '<div class="md-focus-ring"></div>' +
+ '<div class="md-sign">' +
+ '<span class="md-thumb-text"></span>' +
+ '</div>' +
+ '<div class="md-disabled-thumb"></div>' +
+ '</div>' +
+ '</div>' +
+ '</div>',
+ compile: compile
+ };
+
+ // **********************************************************
+ // Private Methods
+ // **********************************************************
+
+ function compile (tElement, tAttrs) {
+ var wrapper = angular.element(tElement[0].getElementsByClassName('md-slider-wrapper'));
+
+ var tabIndex = tAttrs.tabindex || 0;
+ wrapper.attr('tabindex', tabIndex);
+
+ if (tAttrs.disabled || tAttrs.ngDisabled) wrapper.attr('tabindex', -1);
+
+ wrapper.attr('role', 'slider');
+
+ $mdAria.expect(tElement, 'aria-label');
+
+ return postLink;
+ }
+
+ function postLink(scope, element, attr, ctrls) {
+ $mdTheming(element);
+ var ngModelCtrl = ctrls[0] || {
+ // Mock ngModelController if it doesn't exist to give us
+ // the minimum functionality needed
+ $setViewValue: function(val) {
+ this.$viewValue = val;
+ this.$viewChangeListeners.forEach(function(cb) { cb(); });
+ },
+ $parsers: [],
+ $formatters: [],
+ $viewChangeListeners: []
+ };
+
+ var containerCtrl = ctrls[1];
+ var container = angular.element($mdUtil.getClosest(element, '_md-slider-container', true));
+ var isDisabled = attr.ngDisabled ? angular.bind(null, $parse(attr.ngDisabled), scope.$parent) : function () {
+ return element[0].hasAttribute('disabled');
+ };
+
+ var thumb = angular.element(element[0].querySelector('.md-thumb'));
+ var thumbText = angular.element(element[0].querySelector('.md-thumb-text'));
+ var thumbContainer = thumb.parent();
+ var trackContainer = angular.element(element[0].querySelector('.md-track-container'));
+ var activeTrack = angular.element(element[0].querySelector('.md-track-fill'));
+ var tickContainer = angular.element(element[0].querySelector('.md-track-ticks'));
+ var wrapper = angular.element(element[0].getElementsByClassName('md-slider-wrapper'));
+ var content = angular.element(element[0].getElementsByClassName('md-slider-content'));
+ var throttledRefreshDimensions = $mdUtil.throttle(refreshSliderDimensions, 5000);
+
+ // Default values, overridable by attrs
+ var DEFAULT_ROUND = 3;
+ var vertical = angular.isDefined(attr.mdVertical);
+ var discrete = angular.isDefined(attr.mdDiscrete);
+ var invert = angular.isDefined(attr.mdInvert);
+ angular.isDefined(attr.min) ? attr.$observe('min', updateMin) : updateMin(0);
+ angular.isDefined(attr.max) ? attr.$observe('max', updateMax) : updateMax(100);
+ angular.isDefined(attr.step)? attr.$observe('step', updateStep) : updateStep(1);
+ angular.isDefined(attr.round)? attr.$observe('round', updateRound) : updateRound(DEFAULT_ROUND);
+
+ // We have to manually stop the $watch on ngDisabled because it exists
+ // on the parent scope, and won't be automatically destroyed when
+ // the component is destroyed.
+ var stopDisabledWatch = angular.noop;
+ if (attr.ngDisabled) {
+ stopDisabledWatch = scope.$parent.$watch(attr.ngDisabled, updateAriaDisabled);
+ }
+
+ $mdGesture.register(wrapper, 'drag', { horizontal: !vertical });
+
+ scope.mouseActive = false;
+
+ wrapper
+ .on('keydown', keydownListener)
+ .on('mousedown', mouseDownListener)
+ .on('focus', focusListener)
+ .on('blur', blurListener)
+ .on('$md.pressdown', onPressDown)
+ .on('$md.pressup', onPressUp)
+ .on('$md.dragstart', onDragStart)
+ .on('$md.drag', onDrag)
+ .on('$md.dragend', onDragEnd);
+
+ // On resize, recalculate the slider's dimensions and re-render
+ function updateAll() {
+ refreshSliderDimensions();
+ ngModelRender();
+ }
+ setTimeout(updateAll, 0);
+
+ var debouncedUpdateAll = $$rAF.throttle(updateAll);
+ angular.element($window).on('resize', debouncedUpdateAll);
+
+ scope.$on('$destroy', function() {
+ angular.element($window).off('resize', debouncedUpdateAll);
+ });
+
+ ngModelCtrl.$render = ngModelRender;
+ ngModelCtrl.$viewChangeListeners.push(ngModelRender);
+ ngModelCtrl.$formatters.push(minMaxValidator);
+ ngModelCtrl.$formatters.push(stepValidator);
+
+ /**
+ * Attributes
+ */
+ var min;
+ var max;
+ var step;
+ var round;
+ function updateMin(value) {
+ min = parseFloat(value);
+ element.attr('aria-valuemin', value);
+ updateAll();
+ }
+ function updateMax(value) {
+ max = parseFloat(value);
+ element.attr('aria-valuemax', value);
+ updateAll();
+ }
+ function updateStep(value) {
+ step = parseFloat(value);
+ }
+ function updateRound(value) {
+ // Set max round digits to 6, after 6 the input uses scientific notation
+ round = minMaxValidator(parseInt(value), 0, 6);
+ }
+ function updateAriaDisabled() {
+ element.attr('aria-disabled', !!isDisabled());
+ }
+
+ // Draw the ticks with canvas.
+ // The alternative to drawing ticks with canvas is to draw one element for each tick,
+ // which could quickly become a performance bottleneck.
+ var tickCanvas, tickCtx;
+ function redrawTicks() {
+ if (!discrete || isDisabled()) return;
+ if ( angular.isUndefined(step) ) return;
+
+ if ( step <= 0 ) {
+ var msg = 'Slider step value must be greater than zero when in discrete mode';
+ $log.error(msg);
+ throw new Error(msg);
+ }
+
+ var numSteps = Math.floor( (max - min) / step );
+ if (!tickCanvas) {
+ tickCanvas = angular.element('<canvas>').css('position', 'absolute');
+ tickContainer.append(tickCanvas);
+
+ tickCtx = tickCanvas[0].getContext('2d');
+ }
+
+ var dimensions = getSliderDimensions();
+
+ // If `dimensions` doesn't have height and width it might be the first attempt so we will refresh dimensions
+ if (dimensions && !dimensions.height && !dimensions.width) {
+ refreshSliderDimensions();
+ dimensions = sliderDimensions;
+ }
+
+ tickCanvas[0].width = dimensions.width;
+ tickCanvas[0].height = dimensions.height;
+
+ var distance;
+ for (var i = 0; i <= numSteps; i++) {
+ var trackTicksStyle = $window.getComputedStyle(tickContainer[0]);
+ tickCtx.fillStyle = trackTicksStyle.color || 'black';
+
+ distance = Math.floor((vertical ? dimensions.height : dimensions.width) * (i / numSteps));
+
+ tickCtx.fillRect(vertical ? 0 : distance - 1,
+ vertical ? distance - 1 : 0,
+ vertical ? dimensions.width : 2,
+ vertical ? 2 : dimensions.height);
+ }
+ }
+
+ function clearTicks() {
+ if(tickCanvas && tickCtx) {
+ var dimensions = getSliderDimensions();
+ tickCtx.clearRect(0, 0, dimensions.width, dimensions.height);
+ }
+ }
+
+ /**
+ * Refreshing Dimensions
+ */
+ var sliderDimensions = {};
+ refreshSliderDimensions();
+ function refreshSliderDimensions() {
+ sliderDimensions = trackContainer[0].getBoundingClientRect();
+ }
+ function getSliderDimensions() {
+ throttledRefreshDimensions();
+ return sliderDimensions;
+ }
+
+ /**
+ * left/right/up/down arrow listener
+ */
+ function keydownListener(ev) {
+ if (isDisabled()) return;
+
+ var changeAmount;
+ if (vertical ? ev.keyCode === $mdConstant.KEY_CODE.DOWN_ARROW : ev.keyCode === $mdConstant.KEY_CODE.LEFT_ARROW) {
+ changeAmount = -step;
+ } else if (vertical ? ev.keyCode === $mdConstant.KEY_CODE.UP_ARROW : ev.keyCode === $mdConstant.KEY_CODE.RIGHT_ARROW) {
+ changeAmount = step;
+ }
+ changeAmount = invert ? -changeAmount : changeAmount;
+ if (changeAmount) {
+ if (ev.metaKey || ev.ctrlKey || ev.altKey) {
+ changeAmount *= 4;
+ }
+ ev.preventDefault();
+ ev.stopPropagation();
+ scope.$evalAsync(function() {
+ setModelValue(ngModelCtrl.$viewValue + changeAmount);
+ });
+ }
+ }
+
+ function mouseDownListener() {
+ redrawTicks();
+
+ scope.mouseActive = true;
+ wrapper.removeClass('md-focused');
+
+ $timeout(function() {
+ scope.mouseActive = false;
+ }, 100);
+ }
+
+ function focusListener() {
+ if (scope.mouseActive === false) {
+ wrapper.addClass('md-focused');
+ }
+ }
+
+ function blurListener() {
+ wrapper.removeClass('md-focused');
+ element.removeClass('md-active');
+ clearTicks();
+ }
+
+ /**
+ * ngModel setters and validators
+ */
+ function setModelValue(value) {
+ ngModelCtrl.$setViewValue( minMaxValidator(stepValidator(value)) );
+ }
+ function ngModelRender() {
+ if (isNaN(ngModelCtrl.$viewValue)) {
+ ngModelCtrl.$viewValue = ngModelCtrl.$modelValue;
+ }
+
+ ngModelCtrl.$viewValue = minMaxValidator(ngModelCtrl.$viewValue);
+
+ var percent = valueToPercent(ngModelCtrl.$viewValue);
+ scope.modelValue = ngModelCtrl.$viewValue;
+ element.attr('aria-valuenow', ngModelCtrl.$viewValue);
+ setSliderPercent(percent);
+ thumbText.text( ngModelCtrl.$viewValue );
+ }
+
+ function minMaxValidator(value, minValue, maxValue) {
+ if (angular.isNumber(value)) {
+ minValue = angular.isNumber(minValue) ? minValue : min;
+ maxValue = angular.isNumber(maxValue) ? maxValue : max;
+
+ return Math.max(minValue, Math.min(maxValue, value));
+ }
+ }
+
+ function stepValidator(value) {
+ if (angular.isNumber(value)) {
+ var formattedValue = (Math.round((value - min) / step) * step + min);
+ formattedValue = (Math.round(formattedValue * Math.pow(10, round)) / Math.pow(10, round));
+
+ if (containerCtrl && containerCtrl.fitInputWidthToTextLength){
+ $mdUtil.debounce(function () {
+ containerCtrl.fitInputWidthToTextLength(formattedValue.toString().length);
+ }, 100)();
+ }
+
+ return formattedValue;
+ }
+ }
+
+ /**
+ * @param percent 0-1
+ */
+ function setSliderPercent(percent) {
+
+ percent = clamp(percent);
+
+ var thumbPosition = (percent * 100) + '%';
+ var activeTrackPercent = invert ? (1 - percent) * 100 + '%' : thumbPosition;
+
+ if (vertical) {
+ thumbContainer.css('bottom', thumbPosition);
+ }
+ else {
+ $mdUtil.bidiProperty(thumbContainer, 'left', 'right', thumbPosition);
+ }
+
+
+ activeTrack.css(vertical ? 'height' : 'width', activeTrackPercent);
+
+ element.toggleClass((invert ? 'md-max' : 'md-min'), percent === 0);
+ element.toggleClass((invert ? 'md-min' : 'md-max'), percent === 1);
+ }
+
+ /**
+ * Slide listeners
+ */
+ var isDragging = false;
+
+ function onPressDown(ev) {
+ if (isDisabled()) return;
+
+ element.addClass('md-active');
+ element[0].focus();
+ refreshSliderDimensions();
+
+ var exactVal = percentToValue( positionToPercent( vertical ? ev.pointer.y : ev.pointer.x ));
+ var closestVal = minMaxValidator( stepValidator(exactVal) );
+ scope.$apply(function() {
+ setModelValue( closestVal );
+ setSliderPercent( valueToPercent(closestVal));
+ });
+ }
+ function onPressUp(ev) {
+ if (isDisabled()) return;
+
+ element.removeClass('md-dragging');
+
+ var exactVal = percentToValue( positionToPercent( vertical ? ev.pointer.y : ev.pointer.x ));
+ var closestVal = minMaxValidator( stepValidator(exactVal) );
+ scope.$apply(function() {
+ setModelValue(closestVal);
+ ngModelRender();
+ });
+ }
+ function onDragStart(ev) {
+ if (isDisabled()) return;
+ isDragging = true;
+
+ ev.stopPropagation();
+
+ element.addClass('md-dragging');
+ setSliderFromEvent(ev);
+ }
+ function onDrag(ev) {
+ if (!isDragging) return;
+ ev.stopPropagation();
+ setSliderFromEvent(ev);
+ }
+ function onDragEnd(ev) {
+ if (!isDragging) return;
+ ev.stopPropagation();
+ isDragging = false;
+ }
+
+ function setSliderFromEvent(ev) {
+ // While panning discrete, update only the
+ // visual positioning but not the model value.
+ if ( discrete ) adjustThumbPosition( vertical ? ev.pointer.y : ev.pointer.x );
+ else doSlide( vertical ? ev.pointer.y : ev.pointer.x );
+ }
+
+ /**
+ * Slide the UI by changing the model value
+ * @param x
+ */
+ function doSlide( x ) {
+ scope.$evalAsync( function() {
+ setModelValue( percentToValue( positionToPercent(x) ));
+ });
+ }
+
+ /**
+ * Slide the UI without changing the model (while dragging/panning)
+ * @param x
+ */
+ function adjustThumbPosition( x ) {
+ var exactVal = percentToValue( positionToPercent( x ));
+ var closestVal = minMaxValidator( stepValidator(exactVal) );
+ setSliderPercent( positionToPercent(x) );
+ thumbText.text( closestVal );
+ }
+
+ /**
+ * Clamps the value to be between 0 and 1.
+ * @param {number} value The value to clamp.
+ * @returns {number}
+ */
+ function clamp(value) {
+ return Math.max(0, Math.min(value || 0, 1));
+ }
+
+ /**
+ * Convert position on slider to percentage value of offset from beginning...
+ * @param position
+ * @returns {number}
+ */
+ function positionToPercent( position ) {
+ var offset = vertical ? sliderDimensions.top : sliderDimensions.left;
+ var size = vertical ? sliderDimensions.height : sliderDimensions.width;
+ var calc = (position - offset) / size;
+
+ if (!vertical && $mdUtil.bidi() === 'rtl') {
+ calc = 1 - calc;
+ }
+
+ return Math.max(0, Math.min(1, vertical ? 1 - calc : calc));
+ }
+
+ /**
+ * Convert percentage offset on slide to equivalent model value
+ * @param percent
+ * @returns {*}
+ */
+ function percentToValue( percent ) {
+ var adjustedPercent = invert ? (1 - percent) : percent;
+ return (min + adjustedPercent * (max - min));
+ }
+
+ function valueToPercent( val ) {
+ var percent = (val - min) / (max - min);
+ return invert ? (1 - percent) : percent;
+ }
+ }
+}
+
+ngmaterial.components.slider = angular.module("material.components.slider"); \ No newline at end of file
diff --git a/vnfmarket/src/main/webapp/common/thirdparty/angular-material/modules/closure/slider/slider.min.css b/vnfmarket/src/main/webapp/common/thirdparty/angular-material/modules/closure/slider/slider.min.css
new file mode 100644
index 00000000..23543617
--- /dev/null
+++ b/vnfmarket/src/main/webapp/common/thirdparty/angular-material/modules/closure/slider/slider.min.css
@@ -0,0 +1,6 @@
+/*!
+ * Angular Material Design
+ * https://github.com/angular/material
+ * @license MIT
+ * v1.1.2-master-a9ba340
+ */@-webkit-keyframes sliderFocusThumb{0%{-webkit-transform:scale(.7);transform:scale(.7)}30%{-webkit-transform:scale(1);transform:scale(1)}to{-webkit-transform:scale(.7);transform:scale(.7)}}@keyframes sliderFocusThumb{0%{-webkit-transform:scale(.7);transform:scale(.7)}30%{-webkit-transform:scale(1);transform:scale(1)}to{-webkit-transform:scale(.7);transform:scale(.7)}}@-webkit-keyframes sliderDiscreteFocusThumb{0%{-webkit-transform:scale(.7);transform:scale(.7)}50%{-webkit-transform:scale(.8);transform:scale(.8)}to{-webkit-transform:scale(0);transform:scale(0)}}@keyframes sliderDiscreteFocusThumb{0%{-webkit-transform:scale(.7);transform:scale(.7)}50%{-webkit-transform:scale(.8);transform:scale(.8)}to{-webkit-transform:scale(0);transform:scale(0)}}@-webkit-keyframes sliderDiscreteFocusRing{0%{-webkit-transform:scale(.7);transform:scale(.7);opacity:0}50%{-webkit-transform:scale(1);transform:scale(1);opacity:1}to{-webkit-transform:scale(0);transform:scale(0)}}@keyframes sliderDiscreteFocusRing{0%{-webkit-transform:scale(.7);transform:scale(.7);opacity:0}50%{-webkit-transform:scale(1);transform:scale(1);opacity:1}to{-webkit-transform:scale(0);transform:scale(0)}}md-slider{height:48px;min-width:128px;position:relative;margin-left:4px;margin-right:4px;padding:0;display:block;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row}md-slider *,md-slider :after{box-sizing:border-box}md-slider .md-slider-wrapper{outline:none;width:100%;height:100%}md-slider .md-slider-content{position:relative}md-slider .md-track-container{width:100%;position:absolute;top:23px;height:2px}md-slider .md-track{position:absolute;left:0;right:0;height:100%}md-slider .md-track-fill{-webkit-transition:all .4s cubic-bezier(.25,.8,.25,1);transition:all .4s cubic-bezier(.25,.8,.25,1);-webkit-transition-property:width,height;transition-property:width,height}md-slider .md-track-ticks{position:absolute;left:0;right:0;height:100%}md-slider .md-track-ticks canvas{width:100%;height:100%}md-slider .md-thumb-container{position:absolute;left:0;top:50%;-webkit-transform:translate3d(-50%,-50%,0);transform:translate3d(-50%,-50%,0);-webkit-transition:all .4s cubic-bezier(.25,.8,.25,1);transition:all .4s cubic-bezier(.25,.8,.25,1);-webkit-transition-property:left,right,bottom;transition-property:left,right,bottom}[dir=rtl] md-slider .md-thumb-container{left:auto;right:0}md-slider .md-thumb{z-index:1;position:absolute;left:-10px;top:14px;width:20px;height:20px;border-radius:20px;-webkit-transform:scale(.7);transform:scale(.7);-webkit-transition:all .4s cubic-bezier(.25,.8,.25,1);transition:all .4s cubic-bezier(.25,.8,.25,1)}[dir=rtl] md-slider .md-thumb{left:auto;right:-10px}md-slider .md-thumb:after{content:"";position:absolute;width:20px;height:20px;border-radius:20px;border-width:3px;border-style:solid;-webkit-transition:inherit;transition:inherit}md-slider .md-sign{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;position:absolute;left:-14px;top:-17px;width:28px;height:28px;border-radius:28px;-webkit-transform:scale(.4) translate3d(0,67.5px,0);transform:scale(.4) translate3d(0,67.5px,0);-webkit-transition:all .3s cubic-bezier(.35,0,.25,1);transition:all .3s cubic-bezier(.35,0,.25,1)}md-slider .md-sign:after{position:absolute;content:"";left:0;border-radius:16px;top:19px;border-left:14px solid transparent;border-right:14px solid transparent;border-top-width:16px;border-top-style:solid;opacity:0;-webkit-transform:translate3d(0,-8px,0);transform:translate3d(0,-8px,0);-webkit-transition:all .2s cubic-bezier(.35,0,.25,1);transition:all .2s cubic-bezier(.35,0,.25,1)}[dir=rtl] md-slider .md-sign:after{left:auto;right:0}md-slider .md-sign .md-thumb-text{z-index:1;font-size:12px;font-weight:700}md-slider .md-focus-ring{position:absolute;left:-17px;top:7px;width:34px;height:34px;border-radius:34px;-webkit-transform:scale(.7);transform:scale(.7);opacity:0;-webkit-transition:all .35s cubic-bezier(.35,0,.25,1);transition:all .35s cubic-bezier(.35,0,.25,1)}[dir=rtl] md-slider .md-focus-ring{left:auto;right:-17px}md-slider .md-disabled-thumb{position:absolute;left:-14px;top:10px;width:28px;height:28px;border-radius:28px;-webkit-transform:scale(.5);transform:scale(.5);border-width:4px;border-style:solid;display:none}[dir=rtl] md-slider .md-disabled-thumb{left:auto;right:-14px}md-slider.md-min .md-sign{opacity:0}md-slider:focus{outline:none}md-slider.md-dragging .md-thumb-container,md-slider.md-dragging .md-track-fill{-webkit-transition:none;transition:none}md-slider:not([md-discrete]) .md-sign,md-slider:not([md-discrete]) .md-track-ticks{display:none}md-slider:not([md-discrete]):not([disabled]) .md-slider-wrapper .md-thumb:hover{-webkit-transform:scale(.8);transform:scale(.8)}md-slider:not([md-discrete]):not([disabled]) .md-slider-wrapper.md-focused .md-focus-ring{-webkit-transform:scale(1);transform:scale(1);opacity:1}md-slider:not([md-discrete]):not([disabled]) .md-slider-wrapper.md-focused .md-thumb{-webkit-animation:sliderFocusThumb .7s cubic-bezier(.35,0,.25,1);animation:sliderFocusThumb .7s cubic-bezier(.35,0,.25,1)}md-slider:not([md-discrete]):not([disabled]).md-active .md-slider-wrapper .md-thumb{-webkit-transform:scale(1);transform:scale(1)}md-slider[md-discrete]:not([disabled]) .md-slider-wrapper.md-focused .md-focus-ring{-webkit-transform:scale(0);transform:scale(0);-webkit-animation:sliderDiscreteFocusRing .5s cubic-bezier(.35,0,.25,1);animation:sliderDiscreteFocusRing .5s cubic-bezier(.35,0,.25,1)}md-slider[md-discrete]:not([disabled]) .md-slider-wrapper.md-focused .md-thumb{-webkit-animation:sliderDiscreteFocusThumb .5s cubic-bezier(.35,0,.25,1);animation:sliderDiscreteFocusThumb .5s cubic-bezier(.35,0,.25,1)}md-slider[md-discrete]:not([disabled]).md-active .md-thumb,md-slider[md-discrete]:not([disabled]) .md-slider-wrapper.md-focused .md-thumb{-webkit-transform:scale(0);transform:scale(0)}md-slider[md-discrete]:not([disabled]).md-active .md-sign,md-slider[md-discrete]:not([disabled]).md-active .md-sign:after,md-slider[md-discrete]:not([disabled]) .md-slider-wrapper.md-focused .md-sign,md-slider[md-discrete]:not([disabled]) .md-slider-wrapper.md-focused .md-sign:after{opacity:1;-webkit-transform:translate3d(0,0,0) scale(1);transform:translate3d(0,0,0) scale(1)}md-slider[md-discrete][disabled][readonly] .md-thumb{-webkit-transform:scale(0);transform:scale(0)}md-slider[md-discrete][disabled][readonly] .md-sign,md-slider[md-discrete][disabled][readonly] .md-sign:after{opacity:1;-webkit-transform:translate3d(0,0,0) scale(1);transform:translate3d(0,0,0) scale(1)}md-slider[disabled] .md-track-fill{display:none}md-slider[disabled] .md-track-ticks,md-slider[disabled]:not([readonly]) .md-sign{opacity:0}md-slider[disabled] .md-thumb{-webkit-transform:scale(.5);transform:scale(.5)}md-slider[disabled] .md-disabled-thumb{display:block}md-slider[md-vertical]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;min-height:128px;min-width:0}md-slider[md-vertical] .md-slider-wrapper{-webkit-box-flex:1;-webkit-flex:1;flex:1;padding-top:12px;padding-bottom:12px;width:48px;-webkit-align-self:center;align-self:center;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}md-slider[md-vertical] .md-track-container{height:100%;width:2px;top:0;left:calc(50% - 1px)}md-slider[md-vertical] .md-thumb-container{top:auto;margin-bottom:23px;left:calc(50% - 1px);bottom:0}md-slider[md-vertical] .md-thumb-container .md-thumb:after{left:1px}md-slider[md-vertical] .md-thumb-container .md-focus-ring{left:-16px}md-slider[md-vertical] .md-track-fill{bottom:0}md-slider[md-vertical][md-discrete] .md-sign{left:-40px;top:9.5px;-webkit-transform:scale(.4) translate3d(67.5px,0,0);transform:scale(.4) translate3d(67.5px,0,0)}md-slider[md-vertical][md-discrete] .md-sign:after{top:9.5px;left:19px;border-top:14px solid transparent;border-right:0;border-bottom:14px solid transparent;border-left-width:16px;border-left-style:solid;opacity:0;-webkit-transform:translate3d(0,-8px,0);transform:translate3d(0,-8px,0);-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}md-slider[md-vertical][md-discrete] .md-sign .md-thumb-text{z-index:1;font-size:12px;font-weight:700}md-slider[md-vertical][md-discrete].md-active .md-sign:after,md-slider[md-vertical][md-discrete] .md-focused .md-sign:after,md-slider[md-vertical][md-discrete][disabled][readonly] .md-sign:after{top:0}md-slider[md-vertical][disabled][readonly] .md-thumb{-webkit-transform:scale(0);transform:scale(0)}md-slider[md-vertical][disabled][readonly] .md-sign,md-slider[md-vertical][disabled][readonly] .md-sign:after{opacity:1;-webkit-transform:translate3d(0,0,0) scale(1);transform:translate3d(0,0,0) scale(1)}md-slider[md-invert]:not([md-vertical]) .md-track-fill{left:auto;right:0}[dir=rtl] md-slider[md-invert]:not([md-vertical]) .md-track-fill{left:0;right:auto}md-slider[md-invert][md-vertical] .md-track-fill{bottom:auto;top:0}md-slider-container{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row}md-slider-container>:first-child:not(md-slider),md-slider-container>:last-child:not(md-slider){min-width:25px;max-width:42px;height:25px;-webkit-transition:all .4s cubic-bezier(.25,.8,.25,1);transition:all .4s cubic-bezier(.25,.8,.25,1);-webkit-transition-property:color,max-width;transition-property:color,max-width}md-slider-container>:first-child:not(md-slider){margin-right:16px}[dir=rtl] md-slider-container>:first-child:not(md-slider){margin-right:auto;margin-left:16px}md-slider-container>:last-child:not(md-slider){margin-left:16px}[dir=rtl] md-slider-container>:last-child:not(md-slider){margin-left:auto;margin-right:16px}md-slider-container[md-vertical]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column}md-slider-container[md-vertical]>:first-child:not(md-slider),md-slider-container[md-vertical]>:last-child:not(md-slider){margin-right:0;margin-left:0;text-align:center}md-slider-container md-input-container input[type=number]{text-align:center;padding-left:15px;height:50px;margin-top:-25px}[dir=rtl] md-slider-container md-input-container input[type=number]{padding-left:0;padding-right:15px}@media screen and (-ms-high-contrast:active){md-slider.md-default-theme .md-track{border-bottom:1px solid #fff}} \ No newline at end of file
diff --git a/vnfmarket/src/main/webapp/common/thirdparty/angular-material/modules/closure/slider/slider.min.js b/vnfmarket/src/main/webapp/common/thirdparty/angular-material/modules/closure/slider/slider.min.js
new file mode 100644
index 00000000..da63a4be
--- /dev/null
+++ b/vnfmarket/src/main/webapp/common/thirdparty/angular-material/modules/closure/slider/slider.min.js
@@ -0,0 +1,7 @@
+/*!
+ * Angular Material Design
+ * https://github.com/angular/material
+ * @license MIT
+ * v1.1.2-master-a9ba340
+ */
+function SliderContainerDirective(){return{controller:function(){},compile:function(e){var t=e.find("md-slider");if(t){var n=t.attr("md-vertical");return void 0!==n&&e.attr("md-vertical",""),t.attr("flex")||t.attr("flex",""),function(e,t,n,a){function i(e){t.children().attr("disabled",e),t.find("input").attr("disabled",e)}t.addClass("_md");var r=angular.noop;n.disabled?i(!0):n.ngDisabled&&(r=e.$watch(n.ngDisabled,function(e){i(e)})),e.$on("$destroy",function(){r()});var o;a.fitInputWidthToTextLength=function(e){var n=t[0].querySelector("md-input-container");if(n){var a=getComputedStyle(n),i=parseInt(a.minWidth),r=2*parseInt(a.padding);o=o||parseInt(a.maxWidth);var d=Math.max(o,i+r+i/2*e);n.style.maxWidth=d+"px"}}}}}}}function SliderDirective(e,t,n,a,i,r,o,d,l,s){function u(e,t){var a=angular.element(e[0].getElementsByClassName("md-slider-wrapper")),i=t.tabindex||0;return a.attr("tabindex",i),(t.disabled||t.ngDisabled)&&a.attr("tabindex",-1),a.attr("role","slider"),n.expect(e,"aria-label"),c}function c(n,u,c,m){function f(){C(),E()}function v(e){de=parseFloat(e),u.attr("aria-valuemin",e),f()}function g(e){le=parseFloat(e),u.attr("aria-valuemax",e),f()}function p(e){se=parseFloat(e)}function h(e){ue=M(parseInt(e),0,6)}function $(){u.attr("aria-disabled",!!U())}function b(){if(ae&&!U()&&!angular.isUndefined(se)){if(se<=0){var e="Slider step value must be greater than zero when in discrete mode";throw l.error(e),new Error(e)}var n=Math.floor((le-de)/se);ce||(ce=angular.element("<canvas>").css("position","absolute"),X.append(ce),me=ce[0].getContext("2d"));var a=y();!a||a.height||a.width||(C(),a=fe),ce[0].width=a.width,ce[0].height=a.height;for(var i,r=0;r<=n;r++){var o=t.getComputedStyle(X[0]);me.fillStyle=o.color||"black",i=Math.floor((ne?a.height:a.width)*(r/n)),me.fillRect(ne?0:i-1,ne?i-1:0,ne?a.width:2,ne?2:a.height)}}}function w(){if(ce&&me){var e=y();me.clearRect(0,0,e.width,e.height)}}function C(){fe=J[0].getBoundingClientRect()}function y(){return ee(),fe}function x(e){if(!U()){var t;(ne?e.keyCode===i.KEY_CODE.DOWN_ARROW:e.keyCode===i.KEY_CODE.LEFT_ARROW)?t=-se:(ne?e.keyCode===i.KEY_CODE.UP_ARROW:e.keyCode===i.KEY_CODE.RIGHT_ARROW)&&(t=se),t=ie?-t:t,t&&((e.metaKey||e.ctrlKey||e.altKey)&&(t*=4),e.preventDefault(),e.stopPropagation(),n.$evalAsync(function(){k(B.$viewValue+t)}))}}function D(){b(),n.mouseActive=!0,Z.removeClass("md-focused"),s(function(){n.mouseActive=!1},100)}function S(){n.mouseActive===!1&&Z.addClass("md-focused")}function V(){Z.removeClass("md-focused"),u.removeClass("md-active"),w()}function k(e){B.$setViewValue(M(A(e)))}function E(){isNaN(B.$viewValue)&&(B.$viewValue=B.$modelValue),B.$viewValue=M(B.$viewValue);var e=z(B.$viewValue);n.modelValue=B.$viewValue,u.attr("aria-valuenow",B.$viewValue),R(e),j.text(B.$viewValue)}function M(e,t,n){if(angular.isNumber(e))return t=angular.isNumber(t)?t:de,n=angular.isNumber(n)?n:le,Math.max(t,Math.min(n,e))}function A(e){if(angular.isNumber(e)){var t=Math.round((e-de)/se)*se+de;return t=Math.round(t*Math.pow(10,ue))/Math.pow(10,ue),Y&&Y.fitInputWidthToTextLength&&a.debounce(function(){Y.fitInputWidthToTextLength(t.toString().length)},100)(),t}}function R(e){e=L(e);var t=100*e+"%",n=ie?100*(1-e)+"%":t;ne?H.css("bottom",t):a.bidiProperty(H,"left","right",t),Q.css(ne?"height":"width",n),u.toggleClass(ie?"md-max":"md-min",0===e),u.toggleClass(ie?"md-min":"md-max",1===e)}function W(e){if(!U()){u.addClass("md-active"),u[0].focus(),C();var t=F(P(ne?e.pointer.y:e.pointer.x)),a=M(A(t));n.$apply(function(){k(a),R(z(a))})}}function N(e){if(!U()){u.removeClass("md-dragging");var t=F(P(ne?e.pointer.y:e.pointer.x)),a=M(A(t));n.$apply(function(){k(a),E()})}}function T(e){U()||(ve=!0,e.stopPropagation(),u.addClass("md-dragging"),O(e))}function _(e){ve&&(e.stopPropagation(),O(e))}function I(e){ve&&(e.stopPropagation(),ve=!1)}function O(e){ae?K(ne?e.pointer.y:e.pointer.x):q(ne?e.pointer.y:e.pointer.x)}function q(e){n.$evalAsync(function(){k(F(P(e)))})}function K(e){var t=F(P(e)),n=M(A(t));R(P(e)),j.text(n)}function L(e){return Math.max(0,Math.min(e||0,1))}function P(e){var t=ne?fe.top:fe.left,n=ne?fe.height:fe.width,i=(e-t)/n;return ne||"rtl"!==a.bidi()||(i=1-i),Math.max(0,Math.min(1,ne?1-i:i))}function F(e){var t=ie?1-e:e;return de+t*(le-de)}function z(e){var t=(e-de)/(le-de);return ie?1-t:t}r(u);var B=m[0]||{$setViewValue:function(e){this.$viewValue=e,this.$viewChangeListeners.forEach(function(e){e()})},$parsers:[],$formatters:[],$viewChangeListeners:[]},Y=m[1],U=(angular.element(a.getClosest(u,"_md-slider-container",!0)),c.ngDisabled?angular.bind(null,d(c.ngDisabled),n.$parent):function(){return u[0].hasAttribute("disabled")}),G=angular.element(u[0].querySelector(".md-thumb")),j=angular.element(u[0].querySelector(".md-thumb-text")),H=G.parent(),J=angular.element(u[0].querySelector(".md-track-container")),Q=angular.element(u[0].querySelector(".md-track-fill")),X=angular.element(u[0].querySelector(".md-track-ticks")),Z=angular.element(u[0].getElementsByClassName("md-slider-wrapper")),ee=(angular.element(u[0].getElementsByClassName("md-slider-content")),a.throttle(C,5e3)),te=3,ne=angular.isDefined(c.mdVertical),ae=angular.isDefined(c.mdDiscrete),ie=angular.isDefined(c.mdInvert);angular.isDefined(c.min)?c.$observe("min",v):v(0),angular.isDefined(c.max)?c.$observe("max",g):g(100),angular.isDefined(c.step)?c.$observe("step",p):p(1),angular.isDefined(c.round)?c.$observe("round",h):h(te);var re=angular.noop;c.ngDisabled&&(re=n.$parent.$watch(c.ngDisabled,$)),o.register(Z,"drag",{horizontal:!ne}),n.mouseActive=!1,Z.on("keydown",x).on("mousedown",D).on("focus",S).on("blur",V).on("$md.pressdown",W).on("$md.pressup",N).on("$md.dragstart",T).on("$md.drag",_).on("$md.dragend",I),setTimeout(f,0);var oe=e.throttle(f);angular.element(t).on("resize",oe),n.$on("$destroy",function(){angular.element(t).off("resize",oe)}),B.$render=E,B.$viewChangeListeners.push(E),B.$formatters.push(M),B.$formatters.push(A);var de,le,se,ue,ce,me,fe={};C();var ve=!1}return{scope:{},require:["?ngModel","?^mdSliderContainer"],template:'<div class="md-slider-wrapper"><div class="md-slider-content"><div class="md-track-container"><div class="md-track"></div><div class="md-track md-track-fill"></div><div class="md-track-ticks"></div></div><div class="md-thumb-container"><div class="md-thumb"></div><div class="md-focus-thumb"></div><div class="md-focus-ring"></div><div class="md-sign"><span class="md-thumb-text"></span></div><div class="md-disabled-thumb"></div></div></div></div>',compile:u}}goog.provide("ngmaterial.components.slider"),goog.require("ngmaterial.core"),SliderDirective.$inject=["$$rAF","$window","$mdAria","$mdUtil","$mdConstant","$mdTheming","$mdGesture","$parse","$log","$timeout"],angular.module("material.components.slider",["material.core"]).directive("mdSlider",SliderDirective).directive("mdSliderContainer",SliderContainerDirective),ngmaterial.components.slider=angular.module("material.components.slider"); \ No newline at end of file