summaryrefslogtreecommitdiffstats
path: root/ecomp-portal-FE/client/bower_components/angular-material/modules/js/radioButton
diff options
context:
space:
mode:
Diffstat (limited to 'ecomp-portal-FE/client/bower_components/angular-material/modules/js/radioButton')
-rw-r--r--ecomp-portal-FE/client/bower_components/angular-material/modules/js/radioButton/bower.json7
-rw-r--r--ecomp-portal-FE/client/bower_components/angular-material/modules/js/radioButton/radioButton-default-theme.css47
-rw-r--r--ecomp-portal-FE/client/bower_components/angular-material/modules/js/radioButton/radioButton-default-theme.min.css6
-rw-r--r--ecomp-portal-FE/client/bower_components/angular-material/modules/js/radioButton/radioButton.css90
-rw-r--r--ecomp-portal-FE/client/bower_components/angular-material/modules/js/radioButton/radioButton.js313
-rw-r--r--ecomp-portal-FE/client/bower_components/angular-material/modules/js/radioButton/radioButton.min.css6
-rw-r--r--ecomp-portal-FE/client/bower_components/angular-material/modules/js/radioButton/radioButton.min.js7
7 files changed, 476 insertions, 0 deletions
diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/radioButton/bower.json b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/radioButton/bower.json
new file mode 100644
index 00000000..602b44e9
--- /dev/null
+++ b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/radioButton/bower.json
@@ -0,0 +1,7 @@
+{
+ "name": "angular-material-radioButton",
+ "version": "0.9.8",
+ "dependencies": {
+ "angular-material-core": "0.9.8"
+ }
+} \ No newline at end of file
diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/radioButton/radioButton-default-theme.css b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/radioButton/radioButton-default-theme.css
new file mode 100644
index 00000000..8e4eb604
--- /dev/null
+++ b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/radioButton/radioButton-default-theme.css
@@ -0,0 +1,47 @@
+/*!
+ * Angular Material Design
+ * https://github.com/angular/material
+ * @license MIT
+ * v0.9.8
+ */
+/* mixin definition ; sets LTR and RTL within the same style call */
+md-radio-button.md-THEME_NAME-theme .md-off {
+ border-color: '{{foreground-2}}'; }
+md-radio-button.md-THEME_NAME-theme .md-on {
+ background-color: '{{accent-color-0.87}}'; }
+md-radio-button.md-THEME_NAME-theme.md-checked .md-off {
+ border-color: '{{accent-color-0.87}}'; }
+md-radio-button.md-THEME_NAME-theme.md-checked .md-ink-ripple {
+ color: '{{accent-color-0.87}}'; }
+md-radio-button.md-THEME_NAME-theme .md-container .md-ripple {
+ color: '{{accent-600}}'; }
+
+md-radio-group.md-THEME_NAME-theme:not([disabled]) .md-primary .md-on, md-radio-group.md-THEME_NAME-theme:not([disabled]).md-primary .md-on, md-radio-button.md-THEME_NAME-theme:not([disabled]) .md-primary .md-on, md-radio-button.md-THEME_NAME-theme:not([disabled]).md-primary .md-on {
+ background-color: '{{primary-color-0.87}}'; }
+md-radio-group.md-THEME_NAME-theme:not([disabled]) .md-primary .md-checked .md-off, md-radio-group.md-THEME_NAME-theme:not([disabled]) .md-primary.md-checked .md-off, md-radio-group.md-THEME_NAME-theme:not([disabled]).md-primary .md-checked .md-off, md-radio-group.md-THEME_NAME-theme:not([disabled]).md-primary.md-checked .md-off, md-radio-button.md-THEME_NAME-theme:not([disabled]) .md-primary .md-checked .md-off, md-radio-button.md-THEME_NAME-theme:not([disabled]) .md-primary.md-checked .md-off, md-radio-button.md-THEME_NAME-theme:not([disabled]).md-primary .md-checked .md-off, md-radio-button.md-THEME_NAME-theme:not([disabled]).md-primary.md-checked .md-off {
+ border-color: '{{primary-color-0.87}}'; }
+md-radio-group.md-THEME_NAME-theme:not([disabled]) .md-primary .md-checked .md-ink-ripple, md-radio-group.md-THEME_NAME-theme:not([disabled]) .md-primary.md-checked .md-ink-ripple, md-radio-group.md-THEME_NAME-theme:not([disabled]).md-primary .md-checked .md-ink-ripple, md-radio-group.md-THEME_NAME-theme:not([disabled]).md-primary.md-checked .md-ink-ripple, md-radio-button.md-THEME_NAME-theme:not([disabled]) .md-primary .md-checked .md-ink-ripple, md-radio-button.md-THEME_NAME-theme:not([disabled]) .md-primary.md-checked .md-ink-ripple, md-radio-button.md-THEME_NAME-theme:not([disabled]).md-primary .md-checked .md-ink-ripple, md-radio-button.md-THEME_NAME-theme:not([disabled]).md-primary.md-checked .md-ink-ripple {
+ color: '{{primary-color-0.87}}'; }
+md-radio-group.md-THEME_NAME-theme:not([disabled]) .md-primary .md-container .md-ripple, md-radio-group.md-THEME_NAME-theme:not([disabled]).md-primary .md-container .md-ripple, md-radio-button.md-THEME_NAME-theme:not([disabled]) .md-primary .md-container .md-ripple, md-radio-button.md-THEME_NAME-theme:not([disabled]).md-primary .md-container .md-ripple {
+ color: '{{primary-600}}'; }
+md-radio-group.md-THEME_NAME-theme:not([disabled]) .md-warn .md-on, md-radio-group.md-THEME_NAME-theme:not([disabled]).md-warn .md-on, md-radio-button.md-THEME_NAME-theme:not([disabled]) .md-warn .md-on, md-radio-button.md-THEME_NAME-theme:not([disabled]).md-warn .md-on {
+ background-color: '{{warn-color-0.87}}'; }
+md-radio-group.md-THEME_NAME-theme:not([disabled]) .md-warn .md-checked .md-off, md-radio-group.md-THEME_NAME-theme:not([disabled]) .md-warn.md-checked .md-off, md-radio-group.md-THEME_NAME-theme:not([disabled]).md-warn .md-checked .md-off, md-radio-group.md-THEME_NAME-theme:not([disabled]).md-warn.md-checked .md-off, md-radio-button.md-THEME_NAME-theme:not([disabled]) .md-warn .md-checked .md-off, md-radio-button.md-THEME_NAME-theme:not([disabled]) .md-warn.md-checked .md-off, md-radio-button.md-THEME_NAME-theme:not([disabled]).md-warn .md-checked .md-off, md-radio-button.md-THEME_NAME-theme:not([disabled]).md-warn.md-checked .md-off {
+ border-color: '{{warn-color-0.87}}'; }
+md-radio-group.md-THEME_NAME-theme:not([disabled]) .md-warn .md-checked .md-ink-ripple, md-radio-group.md-THEME_NAME-theme:not([disabled]) .md-warn.md-checked .md-ink-ripple, md-radio-group.md-THEME_NAME-theme:not([disabled]).md-warn .md-checked .md-ink-ripple, md-radio-group.md-THEME_NAME-theme:not([disabled]).md-warn.md-checked .md-ink-ripple, md-radio-button.md-THEME_NAME-theme:not([disabled]) .md-warn .md-checked .md-ink-ripple, md-radio-button.md-THEME_NAME-theme:not([disabled]) .md-warn.md-checked .md-ink-ripple, md-radio-button.md-THEME_NAME-theme:not([disabled]).md-warn .md-checked .md-ink-ripple, md-radio-button.md-THEME_NAME-theme:not([disabled]).md-warn.md-checked .md-ink-ripple {
+ color: '{{warn-color-0.87}}'; }
+md-radio-group.md-THEME_NAME-theme:not([disabled]) .md-warn .md-container .md-ripple, md-radio-group.md-THEME_NAME-theme:not([disabled]).md-warn .md-container .md-ripple, md-radio-button.md-THEME_NAME-theme:not([disabled]) .md-warn .md-container .md-ripple, md-radio-button.md-THEME_NAME-theme:not([disabled]).md-warn .md-container .md-ripple {
+ color: '{{warn-600}}'; }
+md-radio-group.md-THEME_NAME-theme[disabled], md-radio-button.md-THEME_NAME-theme[disabled] {
+ color: '{{foreground-3}}'; }
+ md-radio-group.md-THEME_NAME-theme[disabled] .md-container .md-off, md-radio-button.md-THEME_NAME-theme[disabled] .md-container .md-off {
+ border-color: '{{foreground-3}}'; }
+ md-radio-group.md-THEME_NAME-theme[disabled] .md-container .md-on, md-radio-button.md-THEME_NAME-theme[disabled] .md-container .md-on {
+ border-color: '{{foreground-3}}'; }
+
+md-radio-group.md-THEME_NAME-theme.md-focused:not(:empty) .md-checked .md-container:before {
+ background-color: '{{accent-color-0.26}}'; }
+md-radio-group.md-THEME_NAME-theme.md-focused:not(:empty) .md-checked:not([disabled]).md-primary .md-container:before {
+ background-color: '{{primary-color-0.26}}'; }
+md-radio-group.md-THEME_NAME-theme.md-focused:not(:empty) .md-checked.md-primary .md-container:before {
+ background-color: '{{warn-color-0.26}}'; }
diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/radioButton/radioButton-default-theme.min.css b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/radioButton/radioButton-default-theme.min.css
new file mode 100644
index 00000000..43b883ba
--- /dev/null
+++ b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/radioButton/radioButton-default-theme.min.css
@@ -0,0 +1,6 @@
+/*!
+ * Angular Material Design
+ * https://github.com/angular/material
+ * @license MIT
+ * v0.9.8
+ */md-radio-button.md-THEME_NAME-theme .md-off{border-color:'{{foreground-2}}'}md-radio-button.md-THEME_NAME-theme .md-on{background-color:'{{accent-color-0.87}}'}md-radio-button.md-THEME_NAME-theme.md-checked .md-off{border-color:'{{accent-color-0.87}}'}md-radio-button.md-THEME_NAME-theme.md-checked .md-ink-ripple{color:'{{accent-color-0.87}}'}md-radio-button.md-THEME_NAME-theme .md-container .md-ripple{color:'{{accent-600}}'}md-radio-button.md-THEME_NAME-theme:not([disabled]) .md-primary .md-on,md-radio-button.md-THEME_NAME-theme:not([disabled]).md-primary .md-on,md-radio-group.md-THEME_NAME-theme:not([disabled]) .md-primary .md-on,md-radio-group.md-THEME_NAME-theme:not([disabled]).md-primary .md-on{background-color:'{{primary-color-0.87}}'}md-radio-button.md-THEME_NAME-theme:not([disabled]) .md-primary .md-checked .md-off,md-radio-button.md-THEME_NAME-theme:not([disabled]) .md-primary.md-checked .md-off,md-radio-button.md-THEME_NAME-theme:not([disabled]).md-primary .md-checked .md-off,md-radio-button.md-THEME_NAME-theme:not([disabled]).md-primary.md-checked .md-off,md-radio-group.md-THEME_NAME-theme:not([disabled]) .md-primary .md-checked .md-off,md-radio-group.md-THEME_NAME-theme:not([disabled]) .md-primary.md-checked .md-off,md-radio-group.md-THEME_NAME-theme:not([disabled]).md-primary .md-checked .md-off,md-radio-group.md-THEME_NAME-theme:not([disabled]).md-primary.md-checked .md-off{border-color:'{{primary-color-0.87}}'}md-radio-button.md-THEME_NAME-theme:not([disabled]) .md-primary .md-checked .md-ink-ripple,md-radio-button.md-THEME_NAME-theme:not([disabled]) .md-primary.md-checked .md-ink-ripple,md-radio-button.md-THEME_NAME-theme:not([disabled]).md-primary .md-checked .md-ink-ripple,md-radio-button.md-THEME_NAME-theme:not([disabled]).md-primary.md-checked .md-ink-ripple,md-radio-group.md-THEME_NAME-theme:not([disabled]) .md-primary .md-checked .md-ink-ripple,md-radio-group.md-THEME_NAME-theme:not([disabled]) .md-primary.md-checked .md-ink-ripple,md-radio-group.md-THEME_NAME-theme:not([disabled]).md-primary .md-checked .md-ink-ripple,md-radio-group.md-THEME_NAME-theme:not([disabled]).md-primary.md-checked .md-ink-ripple{color:'{{primary-color-0.87}}'}md-radio-button.md-THEME_NAME-theme:not([disabled]) .md-primary .md-container .md-ripple,md-radio-button.md-THEME_NAME-theme:not([disabled]).md-primary .md-container .md-ripple,md-radio-group.md-THEME_NAME-theme:not([disabled]) .md-primary .md-container .md-ripple,md-radio-group.md-THEME_NAME-theme:not([disabled]).md-primary .md-container .md-ripple{color:'{{primary-600}}'}md-radio-button.md-THEME_NAME-theme:not([disabled]) .md-warn .md-on,md-radio-button.md-THEME_NAME-theme:not([disabled]).md-warn .md-on,md-radio-group.md-THEME_NAME-theme:not([disabled]) .md-warn .md-on,md-radio-group.md-THEME_NAME-theme:not([disabled]).md-warn .md-on{background-color:'{{warn-color-0.87}}'}md-radio-button.md-THEME_NAME-theme:not([disabled]) .md-warn .md-checked .md-off,md-radio-button.md-THEME_NAME-theme:not([disabled]) .md-warn.md-checked .md-off,md-radio-button.md-THEME_NAME-theme:not([disabled]).md-warn .md-checked .md-off,md-radio-button.md-THEME_NAME-theme:not([disabled]).md-warn.md-checked .md-off,md-radio-group.md-THEME_NAME-theme:not([disabled]) .md-warn .md-checked .md-off,md-radio-group.md-THEME_NAME-theme:not([disabled]) .md-warn.md-checked .md-off,md-radio-group.md-THEME_NAME-theme:not([disabled]).md-warn .md-checked .md-off,md-radio-group.md-THEME_NAME-theme:not([disabled]).md-warn.md-checked .md-off{border-color:'{{warn-color-0.87}}'}md-radio-button.md-THEME_NAME-theme:not([disabled]) .md-warn .md-checked .md-ink-ripple,md-radio-button.md-THEME_NAME-theme:not([disabled]) .md-warn.md-checked .md-ink-ripple,md-radio-button.md-THEME_NAME-theme:not([disabled]).md-warn .md-checked .md-ink-ripple,md-radio-button.md-THEME_NAME-theme:not([disabled]).md-warn.md-checked .md-ink-ripple,md-radio-group.md-THEME_NAME-theme:not([disabled]) .md-warn .md-checked .md-ink-ripple,md-radio-group.md-THEME_NAME-theme:not([disabled]) .md-warn.md-checked .md-ink-ripple,md-radio-group.md-THEME_NAME-theme:not([disabled]).md-warn .md-checked .md-ink-ripple,md-radio-group.md-THEME_NAME-theme:not([disabled]).md-warn.md-checked .md-ink-ripple{color:'{{warn-color-0.87}}'}md-radio-button.md-THEME_NAME-theme:not([disabled]) .md-warn .md-container .md-ripple,md-radio-button.md-THEME_NAME-theme:not([disabled]).md-warn .md-container .md-ripple,md-radio-group.md-THEME_NAME-theme:not([disabled]) .md-warn .md-container .md-ripple,md-radio-group.md-THEME_NAME-theme:not([disabled]).md-warn .md-container .md-ripple{color:'{{warn-600}}'}md-radio-button.md-THEME_NAME-theme[disabled],md-radio-group.md-THEME_NAME-theme[disabled]{color:'{{foreground-3}}'}md-radio-button.md-THEME_NAME-theme[disabled] .md-container .md-off,md-radio-button.md-THEME_NAME-theme[disabled] .md-container .md-on,md-radio-group.md-THEME_NAME-theme[disabled] .md-container .md-off,md-radio-group.md-THEME_NAME-theme[disabled] .md-container .md-on{border-color:'{{foreground-3}}'}md-radio-group.md-THEME_NAME-theme.md-focused:not(:empty) .md-checked .md-container:before{background-color:'{{accent-color-0.26}}'}md-radio-group.md-THEME_NAME-theme.md-focused:not(:empty) .md-checked:not([disabled]).md-primary .md-container:before{background-color:'{{primary-color-0.26}}'}md-radio-group.md-THEME_NAME-theme.md-focused:not(:empty) .md-checked.md-primary .md-container:before{background-color:'{{warn-color-0.26}}'} \ No newline at end of file
diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/radioButton/radioButton.css b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/radioButton/radioButton.css
new file mode 100644
index 00000000..bc036e8d
--- /dev/null
+++ b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/radioButton/radioButton.css
@@ -0,0 +1,90 @@
+/*!
+ * Angular Material Design
+ * https://github.com/angular/material
+ * @license MIT
+ * v0.9.8
+ */
+/* mixin definition ; sets LTR and RTL within the same style call */
+md-radio-button, .md-switch-thumb {
+ box-sizing: border-box;
+ display: block;
+ margin: 15px;
+ white-space: nowrap;
+ cursor: pointer; }
+ md-radio-button *, md-radio-button *:before, md-radio-button *:after, .md-switch-thumb *, .md-switch-thumb *:before, .md-switch-thumb *:after {
+ box-sizing: border-box; }
+ md-radio-button input, .md-switch-thumb input {
+ display: none; }
+ md-radio-button .md-container, .md-switch-thumb .md-container {
+ position: relative;
+ top: 4px;
+ display: inline-block;
+ width: 16px;
+ height: 16px;
+ cursor: pointer; }
+ md-radio-button .md-container .md-ripple-container, .md-switch-thumb .md-container .md-ripple-container {
+ position: absolute;
+ display: block;
+ width: 48px;
+ height: 48px;
+ left: -16px;
+ top: -16px; }
+ md-radio-button .md-container:before, .md-switch-thumb .md-container:before {
+ background-color: transparent;
+ border-radius: 50%;
+ content: '';
+ position: absolute;
+ display: block;
+ height: auto;
+ left: 0;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ transition: all 0.5s;
+ width: auto; }
+ md-radio-button .md-off, .md-switch-thumb .md-off {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 16px;
+ height: 16px;
+ border: solid 2px;
+ border-radius: 50%;
+ transition: border-color ease 0.28s; }
+ md-radio-button .md-on, .md-switch-thumb .md-on {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 16px;
+ height: 16px;
+ border-radius: 50%;
+ transition: -webkit-transform ease 0.28s;
+ transition: transform ease 0.28s;
+ -webkit-transform: scale(0);
+ transform: scale(0); }
+ md-radio-button.md-checked .md-on, .md-switch-thumb.md-checked .md-on {
+ -webkit-transform: scale(0.5);
+ transform: scale(0.5); }
+ md-radio-button .md-label, .md-switch-thumb .md-label {
+ position: relative;
+ display: inline-block;
+ margin-left: 10px;
+ margin-right: 10px;
+ vertical-align: middle;
+ white-space: normal;
+ pointer-events: none;
+ width: auto; }
+ md-radio-button .circle, .md-switch-thumb .circle {
+ border-radius: 50%; }
+
+md-radio-group:focus {
+ outline: none; }
+md-radio-group.md-focused .md-checked .md-container:before {
+ left: -8px;
+ top: -8px;
+ right: -8px;
+ bottom: -8px; }
+
+@media screen and (-ms-high-contrast: active) {
+ md-radio-button.md-default-theme .md-on {
+ background-color: #fff; } }
diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/radioButton/radioButton.js b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/radioButton/radioButton.js
new file mode 100644
index 00000000..7110021f
--- /dev/null
+++ b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/radioButton/radioButton.js
@@ -0,0 +1,313 @@
+/*!
+ * Angular Material Design
+ * https://github.com/angular/material
+ * @license MIT
+ * v0.9.8
+ */
+(function( window, angular, undefined ){
+"use strict";
+
+/**
+ * @ngdoc module
+ * @name material.components.radioButton
+ * @description radioButton module!
+ */
+angular.module('material.components.radioButton', [
+ 'material.core'
+])
+ .directive('mdRadioGroup', mdRadioGroupDirective)
+ .directive('mdRadioButton', mdRadioButtonDirective);
+
+/**
+ * @ngdoc directive
+ * @module material.components.radioButton
+ * @name mdRadioGroup
+ *
+ * @restrict E
+ *
+ * @description
+ * The `<md-radio-group>` directive identifies a grouping
+ * container for the 1..n grouped radio buttons; specified using nested
+ * `<md-radio-button>` tags.
+ *
+ * As per the [material design spec](http://www.google.com/design/spec/style/color.html#color-ui-color-application)
+ * the radio button is in the accent color by default. The primary color palette may be used with
+ * the `md-primary` class.
+ *
+ * Note: `<md-radio-group>` and `<md-radio-button>` handle tabindex differently
+ * than the native `<input type='radio'>` controls. Whereas the native controls
+ * force the user to tab through all the radio buttons, `<md-radio-group>`
+ * is focusable, and by default the `<md-radio-button>`s are not.
+ *
+ * @param {string} ng-model Assignable angular expression to data-bind to.
+ * @param {boolean=} md-no-ink Use of attribute indicates flag to disable ink ripple effects.
+ *
+ * @usage
+ * <hljs lang="html">
+ * <md-radio-group ng-model="selected">
+ *
+ * <md-radio-button
+ * ng-repeat="d in colorOptions"
+ * ng-value="d.value" aria-label="{{ d.label }}">
+ *
+ * {{ d.label }}
+ *
+ * </md-radio-button>
+ *
+ * </md-radio-group>
+ * </hljs>
+ *
+ */
+function mdRadioGroupDirective($mdUtil, $mdConstant, $mdTheming, $timeout) {
+ RadioGroupController.prototype = createRadioGroupControllerProto();
+
+ return {
+ restrict: 'E',
+ controller: ['$element', RadioGroupController],
+ require: ['mdRadioGroup', '?ngModel'],
+ link: { pre: linkRadioGroup }
+ };
+
+ function linkRadioGroup(scope, element, attr, ctrls) {
+ $mdTheming(element);
+ var rgCtrl = ctrls[0];
+ var ngModelCtrl = ctrls[1] || $mdUtil.fakeNgModel();
+
+ function setFocus() {
+ if (!element.hasClass('md-focused')) { element.addClass('md-focused'); }
+ }
+
+ function keydownListener(ev) {
+ var keyCode = ev.which || ev.keyCode;
+ switch(keyCode) {
+ case $mdConstant.KEY_CODE.LEFT_ARROW:
+ case $mdConstant.KEY_CODE.UP_ARROW:
+ ev.preventDefault();
+ rgCtrl.selectPrevious();
+ setFocus();
+ break;
+
+ case $mdConstant.KEY_CODE.RIGHT_ARROW:
+ case $mdConstant.KEY_CODE.DOWN_ARROW:
+ ev.preventDefault();
+ rgCtrl.selectNext();
+ setFocus();
+ break;
+
+ case $mdConstant.KEY_CODE.ENTER:
+ var form = angular.element($mdUtil.getClosest(element[0], 'form'));
+ if (form.length > 0) {
+ form.triggerHandler('submit');
+ }
+ break;
+ }
+ }
+
+ rgCtrl.init(ngModelCtrl);
+
+ scope.mouseActive = false;
+ element.attr({
+ 'role': 'radiogroup',
+ 'tabIndex': element.attr('tabindex') || '0'
+ })
+ .on('keydown', keydownListener)
+ .on('mousedown', function(event) {
+ scope.mouseActive = true;
+ $timeout(function() {
+ scope.mouseActive = false;
+ }, 100);
+ })
+ .on('focus', function() {
+ if(scope.mouseActive === false) { rgCtrl.$element.addClass('md-focused'); }
+ })
+ .on('blur', function() { rgCtrl.$element.removeClass('md-focused'); });
+ }
+
+ function RadioGroupController($element) {
+ this._radioButtonRenderFns = [];
+ this.$element = $element;
+ }
+
+ function createRadioGroupControllerProto() {
+ return {
+ init: function(ngModelCtrl) {
+ this._ngModelCtrl = ngModelCtrl;
+ this._ngModelCtrl.$render = angular.bind(this, this.render);
+ },
+ add: function(rbRender) {
+ this._radioButtonRenderFns.push(rbRender);
+ },
+ remove: function(rbRender) {
+ var index = this._radioButtonRenderFns.indexOf(rbRender);
+ if (index !== -1) {
+ this._radioButtonRenderFns.splice(index, 1);
+ }
+ },
+ render: function() {
+ this._radioButtonRenderFns.forEach(function(rbRender) {
+ rbRender();
+ });
+ },
+ setViewValue: function(value, eventType) {
+ this._ngModelCtrl.$setViewValue(value, eventType);
+ // update the other radio buttons as well
+ this.render();
+ },
+ getViewValue: function() {
+ return this._ngModelCtrl.$viewValue;
+ },
+ selectNext: function() {
+ return changeSelectedButton(this.$element, 1);
+ },
+ selectPrevious: function() {
+ return changeSelectedButton(this.$element, -1);
+ },
+ setActiveDescendant: function (radioId) {
+ this.$element.attr('aria-activedescendant', radioId);
+ }
+ };
+ }
+ /**
+ * Change the radio group's selected button by a given increment.
+ * If no button is selected, select the first button.
+ */
+ function changeSelectedButton(parent, increment) {
+ // Coerce all child radio buttons into an array, then wrap then in an iterator
+ var buttons = $mdUtil.iterator(parent[0].querySelectorAll('md-radio-button'), true);
+
+ if (buttons.count()) {
+ var validate = function (button) {
+ // If disabled, then NOT valid
+ return !angular.element(button).attr("disabled");
+ };
+ var selected = parent[0].querySelector('md-radio-button.md-checked');
+ var target = buttons[increment < 0 ? 'previous' : 'next'](selected, validate) || buttons.first();
+ // Activate radioButton's click listener (triggerHandler won't create a real click event)
+ angular.element(target).triggerHandler('click');
+
+
+ }
+ }
+
+}
+mdRadioGroupDirective.$inject = ["$mdUtil", "$mdConstant", "$mdTheming", "$timeout"];
+
+/**
+ * @ngdoc directive
+ * @module material.components.radioButton
+ * @name mdRadioButton
+ *
+ * @restrict E
+ *
+ * @description
+ * The `<md-radio-button>`directive is the child directive required to be used within `<md-radio-group>` elements.
+ *
+ * While similar to the `<input type="radio" ng-model="" value="">` directive,
+ * the `<md-radio-button>` directive provides ink effects, ARIA support, and
+ * supports use within named radio groups.
+ *
+ * @param {string} ngModel Assignable angular expression to data-bind to.
+ * @param {string=} ngChange Angular expression to be executed when input changes due to user
+ * interaction with the input element.
+ * @param {string} ngValue Angular expression which sets the value to which the expression should
+ * be set when selected.*
+ * @param {string} value The value to which the expression should be set when selected.
+ * @param {string=} name Property name of the form under which the control is published.
+ * @param {string=} aria-label Adds label to radio button for accessibility.
+ * Defaults to radio button's text. If no text content is available, a warning will be logged.
+ *
+ * @usage
+ * <hljs lang="html">
+ *
+ * <md-radio-button value="1" aria-label="Label 1">
+ * Label 1
+ * </md-radio-button>
+ *
+ * <md-radio-button ng-model="color" ng-value="specialValue" aria-label="Green">
+ * Green
+ * </md-radio-button>
+ *
+ * </hljs>
+ *
+ */
+function mdRadioButtonDirective($mdAria, $mdUtil, $mdTheming) {
+
+ var CHECKED_CSS = 'md-checked';
+
+ return {
+ restrict: 'E',
+ require: '^mdRadioGroup',
+ transclude: true,
+ template: '<div class="md-container" md-ink-ripple md-ink-ripple-checkbox>' +
+ '<div class="md-off"></div>' +
+ '<div class="md-on"></div>' +
+ '</div>' +
+ '<div ng-transclude class="md-label"></div>',
+ link: link
+ };
+
+ function link(scope, element, attr, rgCtrl) {
+ var lastChecked;
+
+ $mdTheming(element);
+ configureAria(element, scope);
+
+ rgCtrl.add(render);
+ attr.$observe('value', render);
+
+ element
+ .on('click', listener)
+ .on('$destroy', function() {
+ rgCtrl.remove(render);
+ });
+
+ function listener(ev) {
+ if (element[0].hasAttribute('disabled')) return;
+
+ scope.$apply(function() {
+ rgCtrl.setViewValue(attr.value, ev && ev.type);
+ });
+ }
+
+ function render() {
+ var checked = (rgCtrl.getViewValue() == attr.value);
+ if (checked === lastChecked) {
+ return;
+ }
+ lastChecked = checked;
+ element.attr('aria-checked', checked);
+ if (checked) {
+ element.addClass(CHECKED_CSS);
+ rgCtrl.setActiveDescendant(element.attr('id'));
+ } else {
+ element.removeClass(CHECKED_CSS);
+ }
+ }
+ /**
+ * Inject ARIA-specific attributes appropriate for each radio button
+ */
+ function configureAria( element, scope ){
+ scope.ariaId = buildAriaID();
+
+ element.attr({
+ 'id' : scope.ariaId,
+ 'role' : 'radio',
+ 'aria-checked' : 'false'
+ });
+
+ $mdAria.expectWithText(element, 'aria-label');
+
+ /**
+ * Build a unique ID for each radio button that will be used with aria-activedescendant.
+ * Preserve existing ID if already specified.
+ * @returns {*|string}
+ */
+ function buildAriaID() {
+ return attr.id || ( 'radio' + "_" + $mdUtil.nextUid() );
+ }
+ }
+ }
+}
+mdRadioButtonDirective.$inject = ["$mdAria", "$mdUtil", "$mdTheming"];
+
+})(window, window.angular); \ No newline at end of file
diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/radioButton/radioButton.min.css b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/radioButton/radioButton.min.css
new file mode 100644
index 00000000..104408ee
--- /dev/null
+++ b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/radioButton/radioButton.min.css
@@ -0,0 +1,6 @@
+/*!
+ * Angular Material Design
+ * https://github.com/angular/material
+ * @license MIT
+ * v0.9.8
+ */.md-switch-thumb,md-radio-button{box-sizing:border-box;display:block;margin:15px;white-space:nowrap;cursor:pointer}.md-switch-thumb *,.md-switch-thumb :after,.md-switch-thumb :before,md-radio-button *,md-radio-button :after,md-radio-button :before{box-sizing:border-box}.md-switch-thumb input,md-radio-button input{display:none}.md-switch-thumb .md-container,md-radio-button .md-container{position:relative;top:4px;display:inline-block;width:16px;height:16px;cursor:pointer}.md-switch-thumb .md-container .md-ripple-container,md-radio-button .md-container .md-ripple-container{position:absolute;display:block;width:48px;height:48px;left:-16px;top:-16px}.md-switch-thumb .md-container:before,md-radio-button .md-container:before{background-color:transparent;border-radius:50%;content:'';position:absolute;display:block;height:auto;left:0;top:0;right:0;bottom:0;transition:all .5s;width:auto}.md-switch-thumb .md-off,md-radio-button .md-off{position:absolute;top:0;left:0;width:16px;height:16px;border:2px solid;border-radius:50%;transition:border-color ease .28s}.md-switch-thumb .md-on,md-radio-button .md-on{position:absolute;top:0;left:0;width:16px;height:16px;border-radius:50%;transition:-webkit-transform ease .28s;transition:transform ease .28s;-webkit-transform:scale(0);transform:scale(0)}.md-switch-thumb.md-checked .md-on,md-radio-button.md-checked .md-on{-webkit-transform:scale(.5);transform:scale(.5)}.md-switch-thumb .md-label,md-radio-button .md-label{position:relative;display:inline-block;margin-left:10px;margin-right:10px;vertical-align:middle;white-space:normal;pointer-events:none;width:auto}.md-switch-thumb .circle,md-radio-button .circle{border-radius:50%}md-radio-group:focus{outline:0}md-radio-group.md-focused .md-checked .md-container:before{left:-8px;top:-8px;right:-8px;bottom:-8px}@media screen and (-ms-high-contrast:active){md-radio-button.md-default-theme .md-on{background-color:#fff}} \ No newline at end of file
diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/radioButton/radioButton.min.js b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/radioButton/radioButton.min.js
new file mode 100644
index 00000000..5a713697
--- /dev/null
+++ b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/radioButton/radioButton.min.js
@@ -0,0 +1,7 @@
+/*!
+ * Angular Material Design
+ * https://github.com/angular/material
+ * @license MIT
+ * v0.9.8
+ */
+!function(e,t,n){"use strict";function i(e,n,i,r){function o(o,d,a,c){function s(){d.hasClass("md-focused")||d.addClass("md-focused")}function u(i){var r=i.which||i.keyCode;switch(r){case n.KEY_CODE.LEFT_ARROW:case n.KEY_CODE.UP_ARROW:i.preventDefault(),l.selectPrevious(),s();break;case n.KEY_CODE.RIGHT_ARROW:case n.KEY_CODE.DOWN_ARROW:i.preventDefault(),l.selectNext(),s();break;case n.KEY_CODE.ENTER:var o=t.element(e.getClosest(d[0],"form"));o.length>0&&o.triggerHandler("submit")}}i(d);var l=c[0],m=c[1]||e.fakeNgModel();l.init(m),o.mouseActive=!1,d.attr({role:"radiogroup",tabIndex:d.attr("tabindex")||"0"}).on("keydown",u).on("mousedown",function(e){o.mouseActive=!0,r(function(){o.mouseActive=!1},100)}).on("focus",function(){o.mouseActive===!1&&l.$element.addClass("md-focused")}).on("blur",function(){l.$element.removeClass("md-focused")})}function d(e){this._radioButtonRenderFns=[],this.$element=e}function a(){return{init:function(e){this._ngModelCtrl=e,this._ngModelCtrl.$render=t.bind(this,this.render)},add:function(e){this._radioButtonRenderFns.push(e)},remove:function(e){var t=this._radioButtonRenderFns.indexOf(e);-1!==t&&this._radioButtonRenderFns.splice(t,1)},render:function(){this._radioButtonRenderFns.forEach(function(e){e()})},setViewValue:function(e,t){this._ngModelCtrl.$setViewValue(e,t),this.render()},getViewValue:function(){return this._ngModelCtrl.$viewValue},selectNext:function(){return c(this.$element,1)},selectPrevious:function(){return c(this.$element,-1)},setActiveDescendant:function(e){this.$element.attr("aria-activedescendant",e)}}}function c(n,i){var r=e.iterator(n[0].querySelectorAll("md-radio-button"),!0);if(r.count()){var o=function(e){return!t.element(e).attr("disabled")},d=n[0].querySelector("md-radio-button.md-checked"),a=r[0>i?"previous":"next"](d,o)||r.first();t.element(a).triggerHandler("click")}}return d.prototype=a(),{restrict:"E",controller:["$element",d],require:["mdRadioGroup","?ngModel"],link:{pre:o}}}function r(e,t,n){function i(i,o,d,a){function c(e){o[0].hasAttribute("disabled")||i.$apply(function(){a.setViewValue(d.value,e&&e.type)})}function s(){var e=a.getViewValue()==d.value;e!==l&&(l=e,o.attr("aria-checked",e),e?(o.addClass(r),a.setActiveDescendant(o.attr("id"))):o.removeClass(r))}function u(n,i){function r(){return d.id||"radio_"+t.nextUid()}i.ariaId=r(),n.attr({id:i.ariaId,role:"radio","aria-checked":"false"}),e.expectWithText(n,"aria-label")}var l;n(o),u(o,i),a.add(s),d.$observe("value",s),o.on("click",c).on("$destroy",function(){a.remove(s)})}var r="md-checked";return{restrict:"E",require:"^mdRadioGroup",transclude:!0,template:'<div class="md-container" md-ink-ripple md-ink-ripple-checkbox><div class="md-off"></div><div class="md-on"></div></div><div ng-transclude class="md-label"></div>',link:i}}t.module("material.components.radioButton",["material.core"]).directive("mdRadioGroup",i).directive("mdRadioButton",r),i.$inject=["$mdUtil","$mdConstant","$mdTheming","$timeout"],r.$inject=["$mdAria","$mdUtil","$mdTheming"]}(window,window.angular); \ No newline at end of file