From b54df0ddd0c6a0372327c5aa3668e5a6458fcd64 Mon Sep 17 00:00:00 2001 From: st782s Date: Thu, 4 May 2017 07:48:42 -0400 Subject: [PORTAL-7] Rebase This rebasing includes common libraries and common overlays projects abstraction of components Change-Id: I9a24a338665c7cd058978e8636bc412d9e2fdce8 Signed-off-by: st782s --- .../js/autocomplete/autocomplete-default-theme.css | 24 - .../autocomplete-default-theme.min.css | 6 - .../modules/js/autocomplete/autocomplete.css | 220 -- .../modules/js/autocomplete/autocomplete.js | 794 ---- .../modules/js/autocomplete/autocomplete.min.css | 6 - .../modules/js/autocomplete/autocomplete.min.js | 7 - .../modules/js/autocomplete/bower.json | 8 - .../modules/js/backdrop/backdrop-default-theme.css | 9 - .../js/backdrop/backdrop-default-theme.min.css | 6 - .../modules/js/backdrop/backdrop.css | 59 - .../modules/js/backdrop/backdrop.js | 39 - .../modules/js/backdrop/backdrop.min.css | 6 - .../modules/js/backdrop/backdrop.min.js | 7 - .../modules/js/backdrop/bower.json | 7 - .../js/bottomSheet/bottomSheet-default-theme.css | 16 - .../bottomSheet/bottomSheet-default-theme.min.css | 6 - .../modules/js/bottomSheet/bottomSheet.css | 170 - .../modules/js/bottomSheet/bottomSheet.js | 267 -- .../modules/js/bottomSheet/bottomSheet.min.css | 6 - .../modules/js/bottomSheet/bottomSheet.min.js | 7 - .../modules/js/bottomSheet/bower.json | 8 - .../angular-material/modules/js/button/bower.json | 7 - .../modules/js/button/button-default-theme.css | 94 - .../modules/js/button/button-default-theme.min.css | 6 - .../angular-material/modules/js/button/button.css | 158 - .../angular-material/modules/js/button/button.js | 136 - .../modules/js/button/button.min.css | 6 - .../modules/js/button/button.min.js | 7 - .../angular-material/modules/js/card/bower.json | 7 - .../modules/js/card/card-default-theme.css | 12 - .../modules/js/card/card-default-theme.min.css | 6 - .../angular-material/modules/js/card/card.css | 34 - .../angular-material/modules/js/card/card.js | 85 - .../angular-material/modules/js/card/card.min.css | 6 - .../angular-material/modules/js/card/card.min.js | 7 - .../modules/js/checkbox/bower.json | 7 - .../modules/js/checkbox/checkbox-default-theme.css | 47 - .../js/checkbox/checkbox-default-theme.min.css | 6 - .../modules/js/checkbox/checkbox.css | 125 - .../modules/js/checkbox/checkbox.js | 167 - .../modules/js/checkbox/checkbox.min.css | 6 - .../modules/js/checkbox/checkbox.min.js | 7 - .../angular-material/modules/js/chips/bower.json | 8 - .../modules/js/chips/chips-default-theme.css | 24 - .../modules/js/chips/chips-default-theme.min.css | 6 - .../angular-material/modules/js/chips/chips.css | 131 - .../angular-material/modules/js/chips/chips.js | 949 ----- .../modules/js/chips/chips.min.css | 6 - .../angular-material/modules/js/chips/chips.min.js | 7 - .../angular-material/modules/js/content/bower.json | 7 - .../modules/js/content/content-default-theme.css | 9 - .../js/content/content-default-theme.min.css | 6 - .../modules/js/content/content.css | 20 - .../angular-material/modules/js/content/content.js | 85 - .../modules/js/content/content.min.css | 6 - .../modules/js/content/content.min.js | 7 - .../angular-material/modules/js/core/bower.json | 8 - .../angular-material/modules/js/core/core.css | 2590 -------------- .../angular-material/modules/js/core/core.js | 3779 -------------------- .../angular-material/modules/js/core/core.min.css | 6 - .../angular-material/modules/js/core/core.min.js | 10 - .../modules/js/core/default-theme.js | 4 - .../angular-material/modules/js/dialog/bower.json | 8 - .../modules/js/dialog/dialog-default-theme.css | 12 - .../modules/js/dialog/dialog-default-theme.min.css | 6 - .../angular-material/modules/js/dialog/dialog.css | 111 - .../angular-material/modules/js/dialog/dialog.js | 713 ---- .../modules/js/dialog/dialog.min.css | 6 - .../modules/js/dialog/dialog.min.js | 7 - .../angular-material/modules/js/divider/bower.json | 7 - .../modules/js/divider/divider-default-theme.css | 9 - .../js/divider/divider-default-theme.min.css | 6 - .../modules/js/divider/divider.css | 14 - .../angular-material/modules/js/divider/divider.js | 46 - .../modules/js/divider/divider.min.css | 6 - .../modules/js/divider/divider.min.js | 7 - .../modules/js/gridList/bower.json | 7 - .../modules/js/gridList/gridList.css | 68 - .../modules/js/gridList/gridList.js | 763 ---- .../modules/js/gridList/gridList.min.css | 6 - .../modules/js/gridList/gridList.min.js | 7 - .../angular-material/modules/js/icon/bower.json | 7 - .../modules/js/icon/icon-default-theme.css | 15 - .../modules/js/icon/icon-default-theme.min.css | 6 - .../angular-material/modules/js/icon/icon.css | 20 - .../angular-material/modules/js/icon/icon.js | 788 ---- .../angular-material/modules/js/icon/icon.min.css | 6 - .../angular-material/modules/js/icon/icon.min.js | 7 - .../angular-material/modules/js/input/bower.json | 7 - .../modules/js/input/input-default-theme.css | 46 - .../modules/js/input/input-default-theme.min.css | 6 - .../angular-material/modules/js/input/input.css | 162 - .../angular-material/modules/js/input/input.js | 372 -- .../modules/js/input/input.min.css | 6 - .../angular-material/modules/js/input/input.min.js | 7 - .../angular-material/modules/js/list/bower.json | 7 - .../modules/js/list/list-default-theme.css | 23 - .../modules/js/list/list-default-theme.min.css | 6 - .../angular-material/modules/js/list/list.css | 147 - .../angular-material/modules/js/list/list.js | 274 -- .../angular-material/modules/js/list/list.min.css | 6 - .../angular-material/modules/js/list/list.min.js | 7 - .../angular-material/modules/js/menu/bower.json | 5 - .../angular-material/modules/js/menu/menu.css | 6 - .../angular-material/modules/js/menu/menu.js | 27 - .../angular-material/modules/js/menu/menu.min.css | 6 - .../angular-material/modules/js/menu/menu.min.js | 7 - .../modules/js/progressCircular/bower.json | 7 - .../progressCircular-default-theme.css | 36 - .../progressCircular-default-theme.min.css | 6 - .../js/progressCircular/progressCircular.css | 1306 ------- .../js/progressCircular/progressCircular.js | 110 - .../js/progressCircular/progressCircular.min.css | 6 - .../js/progressCircular/progressCircular.min.js | 7 - .../modules/js/progressLinear/bower.json | 7 - .../progressLinear-default-theme.css | 27 - .../progressLinear-default-theme.min.css | 6 - .../modules/js/progressLinear/progressLinear.css | 287 -- .../modules/js/progressLinear/progressLinear.js | 127 - .../js/progressLinear/progressLinear.min.css | 6 - .../js/progressLinear/progressLinear.min.js | 7 - .../modules/js/radioButton/bower.json | 7 - .../js/radioButton/radioButton-default-theme.css | 47 - .../radioButton/radioButton-default-theme.min.css | 6 - .../modules/js/radioButton/radioButton.css | 90 - .../modules/js/radioButton/radioButton.js | 313 -- .../modules/js/radioButton/radioButton.min.css | 6 - .../modules/js/radioButton/radioButton.min.js | 7 - .../angular-material/modules/js/select/bower.json | 8 - .../modules/js/select/select-default-theme.css | 42 - .../modules/js/select/select-default-theme.min.css | 6 - .../angular-material/modules/js/select/select.css | 168 - .../angular-material/modules/js/select/select.js | 1056 ------ .../modules/js/select/select.min.css | 6 - .../modules/js/select/select.min.js | 7 - .../angular-material/modules/js/sidenav/bower.json | 8 - .../modules/js/sidenav/sidenav-default-theme.css | 9 - .../js/sidenav/sidenav-default-theme.min.css | 6 - .../modules/js/sidenav/sidenav.css | 99 - .../angular-material/modules/js/sidenav/sidenav.js | 424 --- .../modules/js/sidenav/sidenav.min.css | 6 - .../modules/js/sidenav/sidenav.min.js | 7 - .../angular-material/modules/js/slider/bower.json | 7 - .../modules/js/slider/slider-default-theme.css | 56 - .../modules/js/slider/slider-default-theme.min.css | 6 - .../angular-material/modules/js/slider/slider.css | 220 -- .../angular-material/modules/js/slider/slider.js | 404 --- .../modules/js/slider/slider.min.css | 6 - .../modules/js/slider/slider.min.js | 7 - .../angular-material/modules/js/sticky/bower.json | 8 - .../angular-material/modules/js/sticky/sticky.css | 21 - .../angular-material/modules/js/sticky/sticky.js | 315 -- .../modules/js/sticky/sticky.min.css | 6 - .../modules/js/sticky/sticky.min.js | 7 - .../modules/js/subheader/bower.json | 8 - .../js/subheader/subheader-default-theme.css | 16 - .../js/subheader/subheader-default-theme.min.css | 6 - .../modules/js/subheader/subheader.css | 63 - .../modules/js/subheader/subheader.js | 93 - .../modules/js/subheader/subheader.min.css | 6 - .../modules/js/subheader/subheader.min.js | 7 - .../angular-material/modules/js/swipe/bower.json | 7 - .../angular-material/modules/js/swipe/swipe.js | 73 - .../angular-material/modules/js/swipe/swipe.min.js | 7 - .../angular-material/modules/js/switch/bower.json | 8 - .../modules/js/switch/switch-default-theme.css | 33 - .../modules/js/switch/switch-default-theme.min.css | 6 - .../angular-material/modules/js/switch/switch.css | 110 - .../angular-material/modules/js/switch/switch.js | 169 - .../modules/js/switch/switch.min.css | 6 - .../modules/js/switch/switch.min.js | 7 - .../angular-material/modules/js/tabs/bower.json | 8 - .../modules/js/tabs/tabs-default-theme.css | 82 - .../modules/js/tabs/tabs-default-theme.min.css | 6 - .../angular-material/modules/js/tabs/tabs.css | 272 -- .../angular-material/modules/js/tabs/tabs.js | 867 ----- .../angular-material/modules/js/tabs/tabs.min.css | 6 - .../angular-material/modules/js/tabs/tabs.min.js | 7 - .../modules/js/textField/bower.json | 7 - .../js/textField/textField-default-theme.css | 30 - .../js/textField/textField-default-theme.min.css | 6 - .../modules/js/textField/textField.css | 111 - .../modules/js/textField/textField.js | 143 - .../modules/js/textField/textField.min.css | 6 - .../modules/js/textField/textField.min.js | 7 - .../angular-material/modules/js/toast/bower.json | 8 - .../modules/js/toast/toast-default-theme.css | 18 - .../modules/js/toast/toast-default-theme.min.css | 6 - .../angular-material/modules/js/toast/toast.css | 119 - .../angular-material/modules/js/toast/toast.js | 265 -- .../modules/js/toast/toast.min.css | 6 - .../angular-material/modules/js/toast/toast.min.js | 7 - .../angular-material/modules/js/toolbar/bower.json | 8 - .../modules/js/toolbar/toolbar-default-theme.css | 20 - .../js/toolbar/toolbar-default-theme.min.css | 6 - .../modules/js/toolbar/toolbar.css | 83 - .../angular-material/modules/js/toolbar/toolbar.js | 169 - .../modules/js/toolbar/toolbar.min.css | 6 - .../modules/js/toolbar/toolbar.min.js | 7 - .../angular-material/modules/js/tooltip/bower.json | 7 - .../modules/js/tooltip/tooltip-default-theme.css | 11 - .../js/tooltip/tooltip-default-theme.min.css | 6 - .../modules/js/tooltip/tooltip.css | 72 - .../angular-material/modules/js/tooltip/tooltip.js | 268 -- .../modules/js/tooltip/tooltip.min.css | 6 - .../modules/js/tooltip/tooltip.min.js | 7 - .../modules/js/whiteframe/bower.json | 5 - .../modules/js/whiteframe/whiteframe.css | 25 - .../modules/js/whiteframe/whiteframe.js | 16 - .../modules/js/whiteframe/whiteframe.min.css | 6 - .../modules/js/whiteframe/whiteframe.min.js | 7 - 211 files changed, 22750 deletions(-) delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/autocomplete/autocomplete-default-theme.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/autocomplete/autocomplete-default-theme.min.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/autocomplete/autocomplete.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/autocomplete/autocomplete.js delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/autocomplete/autocomplete.min.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/autocomplete/autocomplete.min.js delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/autocomplete/bower.json delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/backdrop/backdrop-default-theme.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/backdrop/backdrop-default-theme.min.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/backdrop/backdrop.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/backdrop/backdrop.js delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/backdrop/backdrop.min.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/backdrop/backdrop.min.js delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/backdrop/bower.json delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/bottomSheet/bottomSheet-default-theme.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/bottomSheet/bottomSheet-default-theme.min.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/bottomSheet/bottomSheet.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/bottomSheet/bottomSheet.js delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/bottomSheet/bottomSheet.min.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/bottomSheet/bottomSheet.min.js delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/bottomSheet/bower.json delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/button/bower.json delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/button/button-default-theme.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/button/button-default-theme.min.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/button/button.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/button/button.js delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/button/button.min.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/button/button.min.js delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/card/bower.json delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/card/card-default-theme.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/card/card-default-theme.min.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/card/card.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/card/card.js delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/card/card.min.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/card/card.min.js delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/checkbox/bower.json delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/checkbox/checkbox-default-theme.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/checkbox/checkbox-default-theme.min.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/checkbox/checkbox.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/checkbox/checkbox.js delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/checkbox/checkbox.min.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/checkbox/checkbox.min.js delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/chips/bower.json delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/chips/chips-default-theme.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/chips/chips-default-theme.min.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/chips/chips.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/chips/chips.js delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/chips/chips.min.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/chips/chips.min.js delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/content/bower.json delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/content/content-default-theme.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/content/content-default-theme.min.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/content/content.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/content/content.js delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/content/content.min.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/content/content.min.js delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/core/bower.json delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/core/core.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/core/core.js delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/core/core.min.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/core/core.min.js delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/core/default-theme.js delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/dialog/bower.json delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/dialog/dialog-default-theme.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/dialog/dialog-default-theme.min.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/dialog/dialog.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/dialog/dialog.js delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/dialog/dialog.min.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/dialog/dialog.min.js delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/divider/bower.json delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/divider/divider-default-theme.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/divider/divider-default-theme.min.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/divider/divider.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/divider/divider.js delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/divider/divider.min.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/divider/divider.min.js delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/gridList/bower.json delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/gridList/gridList.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/gridList/gridList.js delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/gridList/gridList.min.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/gridList/gridList.min.js delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/icon/bower.json delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/icon/icon-default-theme.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/icon/icon-default-theme.min.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/icon/icon.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/icon/icon.js delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/icon/icon.min.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/icon/icon.min.js delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/input/bower.json delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/input/input-default-theme.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/input/input-default-theme.min.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/input/input.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/input/input.js delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/input/input.min.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/input/input.min.js delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/list/bower.json delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/list/list-default-theme.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/list/list-default-theme.min.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/list/list.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/list/list.js delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/list/list.min.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/list/list.min.js delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/menu/bower.json delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/menu/menu.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/menu/menu.js delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/menu/menu.min.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/menu/menu.min.js delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/progressCircular/bower.json delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/progressCircular/progressCircular-default-theme.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/progressCircular/progressCircular-default-theme.min.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/progressCircular/progressCircular.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/progressCircular/progressCircular.js delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/progressCircular/progressCircular.min.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/progressCircular/progressCircular.min.js delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/progressLinear/bower.json delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/progressLinear/progressLinear-default-theme.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/progressLinear/progressLinear-default-theme.min.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/progressLinear/progressLinear.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/progressLinear/progressLinear.js delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/progressLinear/progressLinear.min.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/progressLinear/progressLinear.min.js delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/radioButton/bower.json delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/radioButton/radioButton-default-theme.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/radioButton/radioButton-default-theme.min.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/radioButton/radioButton.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/radioButton/radioButton.js delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/radioButton/radioButton.min.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/radioButton/radioButton.min.js delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/select/bower.json delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/select/select-default-theme.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/select/select-default-theme.min.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/select/select.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/select/select.js delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/select/select.min.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/select/select.min.js delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/sidenav/bower.json delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/sidenav/sidenav-default-theme.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/sidenav/sidenav-default-theme.min.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/sidenav/sidenav.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/sidenav/sidenav.js delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/sidenav/sidenav.min.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/sidenav/sidenav.min.js delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/slider/bower.json delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/slider/slider-default-theme.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/slider/slider-default-theme.min.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/slider/slider.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/slider/slider.js delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/slider/slider.min.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/slider/slider.min.js delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/sticky/bower.json delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/sticky/sticky.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/sticky/sticky.js delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/sticky/sticky.min.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/sticky/sticky.min.js delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/subheader/bower.json delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/subheader/subheader-default-theme.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/subheader/subheader-default-theme.min.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/subheader/subheader.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/subheader/subheader.js delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/subheader/subheader.min.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/subheader/subheader.min.js delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/swipe/bower.json delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/swipe/swipe.js delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/swipe/swipe.min.js delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/switch/bower.json delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/switch/switch-default-theme.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/switch/switch-default-theme.min.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/switch/switch.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/switch/switch.js delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/switch/switch.min.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/switch/switch.min.js delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/tabs/bower.json delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/tabs/tabs-default-theme.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/tabs/tabs-default-theme.min.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/tabs/tabs.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/tabs/tabs.js delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/tabs/tabs.min.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/tabs/tabs.min.js delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/textField/bower.json delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/textField/textField-default-theme.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/textField/textField-default-theme.min.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/textField/textField.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/textField/textField.js delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/textField/textField.min.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/textField/textField.min.js delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/toast/bower.json delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/toast/toast-default-theme.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/toast/toast-default-theme.min.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/toast/toast.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/toast/toast.js delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/toast/toast.min.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/toast/toast.min.js delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/toolbar/bower.json delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/toolbar/toolbar-default-theme.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/toolbar/toolbar-default-theme.min.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/toolbar/toolbar.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/toolbar/toolbar.js delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/toolbar/toolbar.min.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/toolbar/toolbar.min.js delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/tooltip/bower.json delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/tooltip/tooltip-default-theme.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/tooltip/tooltip-default-theme.min.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/tooltip/tooltip.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/tooltip/tooltip.js delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/tooltip/tooltip.min.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/tooltip/tooltip.min.js delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/whiteframe/bower.json delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/whiteframe/whiteframe.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/whiteframe/whiteframe.js delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/whiteframe/whiteframe.min.css delete mode 100644 ecomp-portal-FE/client/bower_components/angular-material/modules/js/whiteframe/whiteframe.min.js (limited to 'ecomp-portal-FE/client/bower_components/angular-material/modules/js') diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/autocomplete/autocomplete-default-theme.css b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/autocomplete/autocomplete-default-theme.css deleted file mode 100644 index d5374598..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/autocomplete/autocomplete-default-theme.css +++ /dev/null @@ -1,24 +0,0 @@ -/*! - * 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-autocomplete.md-THEME_NAME-theme { - background: '{{background-50}}'; } - md-autocomplete.md-THEME_NAME-theme[disabled] { - background: '{{background-100}}'; } - md-autocomplete.md-THEME_NAME-theme button md-icon path { - fill: '{{background-600}}'; } - md-autocomplete.md-THEME_NAME-theme button:after { - background: '{{background-600-0.3}}'; } - -.md-autocomplete-suggestions.md-THEME_NAME-theme { - background: '{{background-50}}'; } - .md-autocomplete-suggestions.md-THEME_NAME-theme li { - color: '{{background-900}}'; } - .md-autocomplete-suggestions.md-THEME_NAME-theme li .highlight { - color: '{{background-600}}'; } - .md-autocomplete-suggestions.md-THEME_NAME-theme li:hover, .md-autocomplete-suggestions.md-THEME_NAME-theme li.selected { - background: '{{background-200}}'; } diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/autocomplete/autocomplete-default-theme.min.css b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/autocomplete/autocomplete-default-theme.min.css deleted file mode 100644 index 94f5aff9..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/autocomplete/autocomplete-default-theme.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Angular Material Design - * https://github.com/angular/material - * @license MIT - * v0.9.8 - */md-autocomplete.md-THEME_NAME-theme,md-autocomplete.md-THEME_NAME-theme[disabled]{background:0 0}md-autocomplete.md-THEME_NAME-theme button md-icon path{fill:'{{background-600}}'}.md-autocomplete-suggestions.md-THEME_NAME-theme,md-autocomplete.md-THEME_NAME-theme button:after{background:0 0}.md-autocomplete-suggestions.md-THEME_NAME-theme li{color:'{{background-900}}'}.md-autocomplete-suggestions.md-THEME_NAME-theme li .highlight{color:'{{background-600}}'}.md-autocomplete-suggestions.md-THEME_NAME-theme li.selected,.md-autocomplete-suggestions.md-THEME_NAME-theme li:hover{background:0 0} \ No newline at end of file diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/autocomplete/autocomplete.css b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/autocomplete/autocomplete.css deleted file mode 100644 index 51c3f857..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/autocomplete/autocomplete.css +++ /dev/null @@ -1,220 +0,0 @@ -/*! - * Angular Material Design - * https://github.com/angular/material - * @license MIT - * v0.9.8 - */ -/* mixin definition ; sets LTR and RTL within the same style call */ -@-webkit-keyframes md-autocomplete-list-out { - 0% { - -webkit-animation-timing-function: linear; - animation-timing-function: linear; } - - 50% { - opacity: 0; - height: 40px; - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in; } - - 100% { - height: 0; - opacity: 0; } } -@keyframes md-autocomplete-list-out { - 0% { - -webkit-animation-timing-function: linear; - animation-timing-function: linear; } - - 50% { - opacity: 0; - height: 40px; - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in; } - - 100% { - height: 0; - opacity: 0; } } - -@-webkit-keyframes md-autocomplete-list-in { - 0% { - opacity: 0; - height: 0; - -webkit-animation-timing-function: ease-out; - animation-timing-function: ease-out; } - - 50% { - opacity: 0; - height: 40px; } - - 100% { - opacity: 1; - height: 40px; } } - -@keyframes md-autocomplete-list-in { - 0% { - opacity: 0; - height: 0; - -webkit-animation-timing-function: ease-out; - animation-timing-function: ease-out; } - - 50% { - opacity: 0; - height: 40px; } - - 100% { - opacity: 1; - height: 40px; } } - -md-autocomplete { - border-radius: 2px; - display: block; - height: 40px; - position: relative; - overflow: visible; - min-width: 190px; } - md-autocomplete[disabled] input { - cursor: not-allowed; } - md-autocomplete[md-floating-label] { - padding-bottom: 26px; - border-radius: 0; - background: transparent; - height: auto; } - md-autocomplete[md-floating-label] md-input-container { - padding-bottom: 0; } - md-autocomplete[md-floating-label] md-autocomplete-wrap { - height: auto; } - md-autocomplete[md-floating-label] button { - position: absolute; - top: auto; - bottom: 0; - right: 0; - width: 30px; - height: 30px; } - md-autocomplete md-autocomplete-wrap { - display: block; - position: relative; - overflow: visible; - height: 40px; } - md-autocomplete md-autocomplete-wrap md-progress-linear[md-mode=indeterminate] { - position: absolute; - bottom: 0; - left: 0; - width: 100%; - height: 3px; - transition: none; } - md-autocomplete md-autocomplete-wrap md-progress-linear[md-mode=indeterminate] .md-container { - transition: none; - top: auto; - height: 3px; } - md-autocomplete md-autocomplete-wrap md-progress-linear[md-mode=indeterminate].ng-enter { - transition: opacity 0.15s linear; } - md-autocomplete md-autocomplete-wrap md-progress-linear[md-mode=indeterminate].ng-enter.ng-enter-active { - opacity: 1; } - md-autocomplete md-autocomplete-wrap md-progress-linear[md-mode=indeterminate].ng-leave { - transition: opacity 0.15s linear; } - md-autocomplete md-autocomplete-wrap md-progress-linear[md-mode=indeterminate].ng-leave.ng-leave-active { - opacity: 0; } - md-autocomplete input:not(.md-input) { - width: 100%; - box-sizing: border-box; - border: none; - box-shadow: none; - padding: 0 15px; - font-size: 14px; - line-height: 40px; - height: 40px; - outline: none; - background: transparent; } - md-autocomplete input:not(.md-input)::-ms-clear { - display: none; } - md-autocomplete button { - position: relative; - line-height: 20px; - text-align: center; - width: 30px; - height: 30px; - cursor: pointer; - border: none; - border-radius: 50%; - padding: 0; - font-size: 12px; - background: transparent; - margin: auto 5px; } - md-autocomplete button:after { - content: ''; - position: absolute; - top: -6px; - right: -6px; - bottom: -6px; - left: -6px; - border-radius: 50%; - -webkit-transform: scale(0); - transform: scale(0); - opacity: 0; - transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); } - md-autocomplete button:focus { - outline: none; } - md-autocomplete button:focus:after { - -webkit-transform: scale(1); - transform: scale(1); - opacity: 1; } - md-autocomplete button md-icon { - position: absolute; - top: 50%; - left: 50%; - -webkit-transform: translate3d(-50%, -50%, 0) scale(0.9); - transform: translate3d(-50%, -50%, 0) scale(0.9); } - md-autocomplete button md-icon path { - stroke-width: 0; } - md-autocomplete button.ng-enter { - -webkit-transform: scale(0); - transform: scale(0); - transition: -webkit-transform 0.15s ease-out; - transition: transform 0.15s ease-out; } - md-autocomplete button.ng-enter.ng-enter-active { - -webkit-transform: scale(1); - transform: scale(1); } - md-autocomplete button.ng-leave { - transition: -webkit-transform 0.15s ease-out; - transition: transform 0.15s ease-out; } - md-autocomplete button.ng-leave.ng-leave-active { - -webkit-transform: scale(0); - transform: scale(0); } - @media screen and (-ms-high-contrast: active) { - md-autocomplete input { - border: 1px solid #fff; } - md-autocomplete li:focus { - color: #fff; } } - -.md-autocomplete-suggestions { - position: absolute; - margin: 0; - list-style: none; - padding: 0; - overflow: auto; - max-height: 225.5px; - z-index: 100; } - .md-autocomplete-suggestions li { - cursor: pointer; - font-size: 14px; - overflow: hidden; - padding: 0 15px; - line-height: 48px; - height: 48px; - transition: background 0.15s linear; - margin: 0; - white-space: nowrap; - text-overflow: ellipsis; } - .md-autocomplete-suggestions li.ng-enter, .md-autocomplete-suggestions li.ng-hide-remove { - transition: none; - -webkit-animation: md-autocomplete-list-in 0.2s; - animation: md-autocomplete-list-in 0.2s; } - .md-autocomplete-suggestions li.ng-leave, .md-autocomplete-suggestions li.ng-hide-add { - transition: none; - -webkit-animation: md-autocomplete-list-out 0.2s; - animation: md-autocomplete-list-out 0.2s; } - .md-autocomplete-suggestions li:focus { - outline: none; } - -@media screen and (-ms-high-contrast: active) { - md-autocomplete, .md-autocomplete-suggestions { - border: 1px solid #fff; } } diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/autocomplete/autocomplete.js b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/autocomplete/autocomplete.js deleted file mode 100644 index 061cf329..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/autocomplete/autocomplete.js +++ /dev/null @@ -1,794 +0,0 @@ -/*! - * Angular Material Design - * https://github.com/angular/material - * @license MIT - * v0.9.8 - */ -(function( window, angular, undefined ){ -"use strict"; - -/** - * @ngdoc module - * @name material.components.autocomplete - */ -/* - * @see js folder for autocomplete implementation - */ -angular.module('material.components.autocomplete', [ - 'material.core', - 'material.components.icon' -]); - -angular - .module('material.components.autocomplete') - .controller('MdAutocompleteCtrl', MdAutocompleteCtrl); - -var ITEM_HEIGHT = 41, - MAX_HEIGHT = 5.5 * ITEM_HEIGHT, - MENU_PADDING = 8; - -function MdAutocompleteCtrl ($scope, $element, $mdUtil, $mdConstant, $timeout, $mdTheming, $window, $animate, $rootElement) { - - //-- private variables - - var self = this, - itemParts = $scope.itemsExpr.split(/ in /i), - itemExpr = itemParts[1], - elements = null, - promise = null, - cache = {}, - noBlur = false, - selectedItemWatchers = [], - hasFocus = false, - lastCount = 0; - - //-- public variables - - self.scope = $scope; - self.parent = $scope.$parent; - self.itemName = itemParts[0]; - self.matches = []; - self.loading = false; - self.hidden = true; - self.index = null; - self.messages = []; - self.id = $mdUtil.nextUid(); - - //-- public methods - - self.keydown = keydown; - self.blur = blur; - self.focus = focus; - self.clear = clearValue; - self.select = select; - self.getCurrentDisplayValue = getCurrentDisplayValue; - self.registerSelectedItemWatcher = registerSelectedItemWatcher; - self.unregisterSelectedItemWatcher = unregisterSelectedItemWatcher; - - self.listEnter = function () { noBlur = true; }; - self.listLeave = function () { - noBlur = false; - if (!hasFocus) self.hidden = true; - }; - self.mouseUp = function () { elements.input.focus(); }; - - return init(); - - //-- initialization methods - - function init () { - configureWatchers(); - $timeout(function () { - gatherElements(); - focusElement(); - moveDropdown(); - }); - } - - function positionDropdown () { - if (!elements) return $timeout(positionDropdown, 0, false); - var hrect = elements.wrap.getBoundingClientRect(), - vrect = elements.snap.getBoundingClientRect(), - root = elements.root.getBoundingClientRect(), - top = vrect.bottom - root.top, - bot = root.bottom - vrect.top, - left = hrect.left - root.left, - width = hrect.width, - styles = { - left: left + 'px', - minWidth: width + 'px', - maxWidth: Math.max(hrect.right - root.left, root.right - hrect.left) - MENU_PADDING + 'px' - }; - if (top > bot && root.height - hrect.bottom - MENU_PADDING < MAX_HEIGHT) { - styles.top = 'auto'; - styles.bottom = bot + 'px'; - styles.maxHeight = Math.min(MAX_HEIGHT, hrect.top - root.top - MENU_PADDING) + 'px'; - } else { - styles.top = top + 'px'; - styles.bottom = 'auto'; - styles.maxHeight = Math.min(MAX_HEIGHT, root.bottom - hrect.bottom - MENU_PADDING) + 'px'; - } - elements.$.ul.css(styles); - $timeout(correctHorizontalAlignment, 0, false); - - function correctHorizontalAlignment () { - var dropdown = elements.ul.getBoundingClientRect(), - styles = {}; - if (dropdown.right > root.right - MENU_PADDING) { - styles.left = (hrect.right - dropdown.width) + 'px'; - } - elements.$.ul.css(styles); - } - } - - function moveDropdown () { - if (!elements.$.root.length) return; - $mdTheming(elements.$.ul); - elements.$.ul.detach(); - elements.$.root.append(elements.$.ul); - if ($animate.pin) $animate.pin(elements.$.ul, $rootElement); - } - - function focusElement () { - if ($scope.autofocus) elements.input.focus(); - } - - function configureWatchers () { - var wait = parseInt($scope.delay, 10) || 0; - $scope.$watch('searchText', wait - ? $mdUtil.debounce(handleSearchText, wait) - : handleSearchText); - registerSelectedItemWatcher(selectedItemChange); - $scope.$watch('selectedItem', handleSelectedItemChange); - $scope.$watch('$mdAutocompleteCtrl.hidden', function (hidden, oldHidden) { - if (!hidden && oldHidden) positionDropdown(); - }); - angular.element($window).on('resize', positionDropdown); - $scope.$on('$destroy', cleanup); - } - - function cleanup () { - elements.$.ul.remove(); - } - - function gatherElements () { - elements = { - main: $element[0], - ul: $element.find('ul')[0], - input: $element.find('input')[0], - wrap: $element.find('md-autocomplete-wrap')[0], - root: document.body - }; - elements.li = elements.ul.getElementsByTagName('li'); - elements.snap = getSnapTarget(); - elements.$ = getAngularElements(elements); - } - - function getSnapTarget () { - for (var element = $element; element.length; element = element.parent()) { - if (angular.isDefined(element.attr('md-autocomplete-snap'))) return element[0]; - } - return elements.wrap; - } - - function getAngularElements (elements) { - var obj = {}; - for (var key in elements) { - obj[key] = angular.element(elements[key]); - } - return obj; - } - - //-- event/change handlers - - function selectedItemChange (selectedItem, previousSelectedItem) { - if (selectedItem) { - $scope.searchText = getDisplayValue(selectedItem); - } - if ($scope.itemChange && selectedItem !== previousSelectedItem) - $scope.itemChange(getItemScope(selectedItem)); - } - - function handleSelectedItemChange(selectedItem, previousSelectedItem) { - for (var i = 0; i < selectedItemWatchers.length; ++i) { - selectedItemWatchers[i](selectedItem, previousSelectedItem); - } - } - - /** - * Register a function to be called when the selected item changes. - * @param cb - */ - function registerSelectedItemWatcher(cb) { - if (selectedItemWatchers.indexOf(cb) == -1) { - selectedItemWatchers.push(cb); - } - } - - /** - * Unregister a function previously registered for selected item changes. - * @param cb - */ - function unregisterSelectedItemWatcher(cb) { - var i = selectedItemWatchers.indexOf(cb); - if (i != -1) { - selectedItemWatchers.splice(i, 1); - } - } - - function handleSearchText (searchText, previousSearchText) { - self.index = getDefaultIndex(); - //-- do nothing on init - if (searchText === previousSearchText) return; - //-- clear selected item if search text no longer matches it - if (searchText !== getDisplayValue($scope.selectedItem)) $scope.selectedItem = null; - else return; - //-- trigger change event if available - if ($scope.textChange && searchText !== previousSearchText) - $scope.textChange(getItemScope($scope.selectedItem)); - //-- cancel results if search text is not long enough - if (!isMinLengthMet()) { - self.loading = false; - self.matches = []; - self.hidden = shouldHide(); - updateMessages(); - } else { - handleQuery(); - } - } - - function blur () { - hasFocus = false; - if (!noBlur) self.hidden = true; - } - - function focus () { - hasFocus = true; - //-- if searchText is null, let's force it to be a string - if (!angular.isString($scope.searchText)) $scope.searchText = ''; - if ($scope.minLength > 0) return; - self.hidden = shouldHide(); - if (!self.hidden) handleQuery(); - } - - function keydown (event) { - switch (event.keyCode) { - case $mdConstant.KEY_CODE.DOWN_ARROW: - if (self.loading) return; - event.preventDefault(); - self.index = Math.min(self.index + 1, self.matches.length - 1); - updateScroll(); - updateMessages(); - break; - case $mdConstant.KEY_CODE.UP_ARROW: - if (self.loading) return; - event.preventDefault(); - self.index = self.index < 0 ? self.matches.length - 1 : Math.max(0, self.index - 1); - updateScroll(); - updateMessages(); - break; - case $mdConstant.KEY_CODE.TAB: - case $mdConstant.KEY_CODE.ENTER: - if (self.hidden || self.loading || self.index < 0 || self.matches.length < 1) return; - event.preventDefault(); - select(self.index); - break; - case $mdConstant.KEY_CODE.ESCAPE: - self.matches = []; - self.hidden = true; - self.index = getDefaultIndex(); - break; - default: - } - } - - //-- getters - - function getMinLength () { - return angular.isNumber($scope.minLength) ? $scope.minLength : 1; - } - - function getDisplayValue (item) { - return (item && $scope.itemText) ? $scope.itemText(getItemScope(item)) : item; - } - - function getItemScope (item) { - if (!item) return; - var locals = {}; - if (self.itemName) locals[self.itemName] = item; - return locals; - } - - function getDefaultIndex () { - return $scope.autoselect ? 0 : -1; - } - - function shouldHide () { - if (!isMinLengthMet()) return true; - } - - function getCurrentDisplayValue () { - return getDisplayValue(self.matches[self.index]); - } - - function isMinLengthMet () { - return $scope.searchText && $scope.searchText.length >= getMinLength(); - } - - //-- actions - - function select (index) { - $scope.selectedItem = self.matches[index]; - self.hidden = true; - self.index = 0; - self.matches = []; - //-- force form to update state for validation - $timeout(function () { - elements.$.input.controller('ngModel').$setViewValue(getDisplayValue($scope.selectedItem) || $scope.searchText); - self.hidden = true; - }); - } - - function clearValue () { - $scope.searchText = ''; - select(-1); - - // Per http://www.w3schools.com/jsref/event_oninput.asp - var eventObj = document.createEvent('CustomEvent'); - eventObj.initCustomEvent('input', true, true, {value: $scope.searchText}); - elements.input.dispatchEvent(eventObj); - - elements.input.focus(); - } - - function fetchResults (searchText) { - var items = $scope.$parent.$eval(itemExpr), - term = searchText.toLowerCase(); - if (angular.isArray(items)) { - handleResults(items); - } else { - self.loading = true; - if (items.success) items.success(handleResults); - if (items.then) items.then(handleResults); - if (items.error) items.error(function () { self.loading = false; }); - } - function handleResults (matches) { - cache[term] = matches; - if (searchText !== $scope.searchText) return; //-- just cache the results if old request - self.loading = false; - promise = null; - self.matches = matches; - self.hidden = shouldHide(); - updateMessages(); - positionDropdown(); - } - } - - function updateMessages () { - self.messages = [ getCountMessage(), getCurrentDisplayValue() ]; - } - - function getCountMessage () { - if (lastCount === self.matches.length) return ''; - lastCount = self.matches.length; - switch (self.matches.length) { - case 0: return 'There are no matches available.'; - case 1: return 'There is 1 match available.'; - default: return 'There are ' + self.matches.length + ' matches available.'; - } - } - - function updateScroll () { - if (!elements.li[self.index]) return; - var li = elements.li[self.index], - top = li.offsetTop, - bot = top + li.offsetHeight, - hgt = elements.ul.clientHeight; - if (top < elements.ul.scrollTop) { - elements.ul.scrollTop = top; - } else if (bot > elements.ul.scrollTop + hgt) { - elements.ul.scrollTop = bot - hgt; - } - } - - function handleQuery () { - var searchText = $scope.searchText, - term = searchText.toLowerCase(); - //-- cancel promise if a promise is in progress - if (promise && promise.cancel) { - promise.cancel(); - promise = null; - } - //-- if results are cached, pull in cached results - if (!$scope.noCache && cache[term]) { - self.matches = cache[term]; - updateMessages(); - } else { - fetchResults(searchText); - } - if (hasFocus) self.hidden = shouldHide(); - } - -} -MdAutocompleteCtrl.$inject = ["$scope", "$element", "$mdUtil", "$mdConstant", "$timeout", "$mdTheming", "$window", "$animate", "$rootElement"]; - -angular - .module('material.components.autocomplete') - .directive('mdAutocomplete', MdAutocomplete); - -/** - * @ngdoc directive - * @name mdAutocomplete - * @module material.components.autocomplete - * - * @description - * `` is a special input component with a drop-down of all possible matches to a custom query. - * This component allows you to provide real-time suggestions as the user types in the input area. - * - * To start, you will need to specify the required parameters and provide a template for your results. - * The content inside `md-autocomplete` will be treated as a template. - * - * In more complex cases, you may want to include other content such as a message to display when - * no matches were found. You can do this by wrapping your template in `md-item-template` and adding - * a tag for `md-not-found`. An example of this is shown below. - * ### Validation - * - * You can use `ng-messages` to include validation the same way that you would normally validate; - * however, if you want to replicate a standard input with a floating label, you will have to do the - * following: - * - * - Make sure that your template is wrapped in `md-item-template` - * - Add your `ng-messages` code inside of `md-autocomplete` - * - Add your validation properties to `md-autocomplete` (ie. `required`) - * - Add a `name` to `md-autocomplete` (to be used on the generated `input`) - * - * There is an example below of how this should look. - * - * - * @param {expression} md-items An expression in the format of `item in items` to iterate over matches for your search. - * @param {expression=} md-selected-item-change An expression to be run each time a new item is selected - * @param {expression=} md-search-text-change An expression to be run each time the search text updates - * @param {string=} md-search-text A model to bind the search query text to - * @param {object=} md-selected-item A model to bind the selected item to - * @param {string=} md-item-text An expression that will convert your object to a single string. - * @param {string=} placeholder Placeholder text that will be forwarded to the input. - * @param {boolean=} md-no-cache Disables the internal caching that happens in autocomplete - * @param {boolean=} ng-disabled Determines whether or not to disable the input field - * @param {number=} md-min-length Specifies the minimum length of text before autocomplete will make suggestions - * @param {number=} md-delay Specifies the amount of time (in milliseconds) to wait before looking for results - * @param {boolean=} md-autofocus If true, will immediately focus the input element - * @param {boolean=} md-autoselect If true, the first item will be selected by default - * @param {string=} md-menu-class This will be applied to the dropdown menu for styling - * @param {string=} md-floating-label This will add a floating label to autocomplete and wrap it in `md-input-container` - * - * @usage - * ###Basic Example - * - * - * {{item.display}} - * - * - * - * ###Example with "not found" message - * - * - * - * {{item.display}} - * - * - * No matches found. - * - * - * - * - * In this example, our code utilizes `md-item-template` and `md-not-found` to specify the different - * parts that make up our component. - * - * ### Example with validation - * - *
- * - * - * {{item.display}} - * - *
- *
This field is required
- *
- *
- *
- *
- * - * In this example, our code utilizes `md-item-template` and `md-not-found` to specify the different - * parts that make up our component. - */ - -function MdAutocomplete ($mdTheming, $mdUtil) { - return { - controller: 'MdAutocompleteCtrl', - controllerAs: '$mdAutocompleteCtrl', - link: link, - scope: { - inputName: '@mdInputName', - inputMinlength: '@mdInputMinlength', - inputMaxlength: '@mdInputMaxlength', - searchText: '=?mdSearchText', - selectedItem: '=?mdSelectedItem', - itemsExpr: '@mdItems', - itemText: '&mdItemText', - placeholder: '@placeholder', - noCache: '=?mdNoCache', - itemChange: '&?mdSelectedItemChange', - textChange: '&?mdSearchTextChange', - minLength: '=?mdMinLength', - delay: '=?mdDelay', - autofocus: '=?mdAutofocus', - floatingLabel: '@?mdFloatingLabel', - autoselect: '=?mdAutoselect', - menuClass: '@?mdMenuClass' - }, - template: function (element, attr) { - var noItemsTemplate = getNoItemsTemplate(), - itemTemplate = getItemTemplate(), - leftover = element.html(); - return '\ - \ - ' + getInputElement() + '\ - \ - \ - \ - \ -

{{message}}

\ - '; - - function getItemTemplate() { - var templateTag = element.find('md-item-template').remove(), - html = templateTag.length ? templateTag.html() : element.html(); - if (!templateTag.length) element.empty(); - return html; - } - - function getNoItemsTemplate() { - var templateTag = element.find('md-not-found').remove(), - template = templateTag.length ? templateTag.html() : ''; - return template - ? '
  • ' + template + '
  • ' - : ''; - - } - - function getInputElement() { - if (attr.mdFloatingLabel) { - return '\ - \ - \ - \ -
    ' + leftover + '
    \ -
    '; - } else { - return '\ - \ - \ - \ - Clear\ - \ - '; - } - } - } - }; - - function link (scope, element, attr) { - attr.$observe('disabled', function (value) { scope.isDisabled = value; }); - attr.$observe('required', function (value) { scope.isRequired = value !== null; }); - - $mdUtil.initOptionalProperties(scope, attr, {searchText:null, selectedItem:null} ); - - $mdTheming(element); - } -} -MdAutocomplete.$inject = ["$mdTheming", "$mdUtil"]; - -angular - .module('material.components.autocomplete') - .controller('MdHighlightCtrl', MdHighlightCtrl); - -function MdHighlightCtrl ($scope, $element, $interpolate) { - this.init = init; - - return init(); - - function init (term) { - var unsafeText = $interpolate($element.html())($scope), - text = angular.element('
    ').text(unsafeText).html(), - flags = $element.attr('md-highlight-flags') || '', - watcher = $scope.$watch(term, function (term) { - var regex = getRegExp(term, flags), - html = text.replace(regex, '$&'); - $element.html(html); - }); - $element.on('$destroy', function () { watcher(); }); - } - - function sanitize (term) { - if (!term) return term; - return term.replace(/[\\\^\$\*\+\?\.\(\)\|\{\}\[\]]/g, '\\$&'); - } - - function getRegExp (text, flags) { - var str = ''; - if (flags.indexOf('^') >= 1) str += '^'; - str += text; - if (flags.indexOf('$') >= 1) str += '$'; - return new RegExp(sanitize(str), flags.replace(/[\$\^]/g, '')); - } -} -MdHighlightCtrl.$inject = ["$scope", "$element", "$interpolate"]; - -angular - .module('material.components.autocomplete') - .directive('mdHighlightText', MdHighlight); - -/** - * @ngdoc directive - * @name mdHighlightText - * @module material.components.autocomplete - * - * @description - * The `md-highlight-text` directive allows you to specify text that should be highlighted within - * an element. Highlighted text will be wrapped in `` which can - * be styled through CSS. Please note that child elements may not be used with this directive. - * - * @param {string} md-highlight-text A model to be searched for - * @param {string=} md-highlight-flags A list of flags (loosely based on JavaScript RexExp flags). - * #### **Supported flags**: - * - `g`: Find all matches within the provided text - * - `i`: Ignore case when searching for matches - * - `$`: Only match if the text ends with the search term - * - `^`: Only match if the text begins with the search term - * - * @usage - * - * - *
      - *
    • - * {{result.text}} - *
    • - *
    - *
    - */ - -function MdHighlight () { - return { - terminal: true, - scope: false, - controller: 'MdHighlightCtrl', - link: function (scope, element, attr, ctrl) { - ctrl.init(attr.mdHighlightText); - } - }; -} - -angular - .module('material.components.autocomplete') - .directive('mdAutocompleteListItem', MdAutocompleteListItem); - -function MdAutocompleteListItem ($compile, $mdUtil) { - return { - terminal: true, - link: postLink, - scope: false - }; - function postLink (scope, element, attr) { - var ctrl = scope.$parent.$mdAutocompleteCtrl, - newScope = ctrl.parent.$new(false, ctrl.parent), - itemName = ctrl.scope.$eval(attr.mdAutocompleteListItem); - newScope[itemName] = scope.item; - $compile(element.contents())(newScope); - element.attr({ - role: 'option', - id: 'item_' + $mdUtil.nextUid() - }); - } -} -MdAutocompleteListItem.$inject = ["$compile", "$mdUtil"]; - -angular - .module('material.components.autocomplete') - .directive('mdAutocompleteParentScope', MdAutocompleteParentScope); - -function MdAutocompleteParentScope ($compile, $mdUtil) { - return { - restrict: 'A', - terminal: true, - link: postLink, - scope: false - }; - function postLink (scope, element, attr) { - var ctrl = scope.$parent.$mdAutocompleteCtrl; - $compile(element.contents())(ctrl.parent); - if (attr.hasOwnProperty('mdAutocompleteReplace')) { - element.after(element.contents()); - element.remove(); - } - } -} -MdAutocompleteParentScope.$inject = ["$compile", "$mdUtil"]; - -})(window, window.angular); \ No newline at end of file diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/autocomplete/autocomplete.min.css b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/autocomplete/autocomplete.min.css deleted file mode 100644 index a22d6407..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/autocomplete/autocomplete.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Angular Material Design - * https://github.com/angular/material - * @license MIT - * v0.9.8 - */@-webkit-keyframes md-autocomplete-list-out{0%{-webkit-animation-timing-function:linear;animation-timing-function:linear}50%{opacity:0;height:40px;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}100%{height:0;opacity:0}}@keyframes md-autocomplete-list-out{0%{-webkit-animation-timing-function:linear;animation-timing-function:linear}50%{opacity:0;height:40px;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}100%{height:0;opacity:0}}@-webkit-keyframes md-autocomplete-list-in{0%{opacity:0;height:0;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{opacity:0;height:40px}100%{opacity:1;height:40px}}@keyframes md-autocomplete-list-in{0%{opacity:0;height:0;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{opacity:0;height:40px}100%{opacity:1;height:40px}}md-autocomplete{border-radius:2px;display:block;height:40px;position:relative;overflow:visible;min-width:190px}md-autocomplete[disabled] input{cursor:not-allowed}md-autocomplete[md-floating-label]{padding-bottom:26px;border-radius:0;background:0 0;height:auto}md-autocomplete[md-floating-label] md-input-container{padding-bottom:0}md-autocomplete[md-floating-label] md-autocomplete-wrap{height:auto}md-autocomplete[md-floating-label] button{position:absolute;top:auto;bottom:0;right:0;width:30px;height:30px}md-autocomplete md-autocomplete-wrap{display:block;position:relative;overflow:visible;height:40px}md-autocomplete md-autocomplete-wrap md-progress-linear[md-mode=indeterminate]{position:absolute;bottom:0;left:0;width:100%;height:3px;transition:none}md-autocomplete md-autocomplete-wrap md-progress-linear[md-mode=indeterminate] .md-container{transition:none;top:auto;height:3px}md-autocomplete md-autocomplete-wrap md-progress-linear[md-mode=indeterminate].ng-enter{transition:opacity .15s linear}md-autocomplete md-autocomplete-wrap md-progress-linear[md-mode=indeterminate].ng-enter.ng-enter-active{opacity:1}md-autocomplete md-autocomplete-wrap md-progress-linear[md-mode=indeterminate].ng-leave{transition:opacity .15s linear}md-autocomplete md-autocomplete-wrap md-progress-linear[md-mode=indeterminate].ng-leave.ng-leave-active{opacity:0}md-autocomplete input:not(.md-input){width:100%;box-sizing:border-box;border:none;box-shadow:none;padding:0 15px;font-size:14px;line-height:40px;height:40px;outline:0;background:0 0}md-autocomplete input:not(.md-input)::-ms-clear{display:none}md-autocomplete button{position:relative;line-height:20px;text-align:center;width:30px;height:30px;cursor:pointer;border:none;border-radius:50%;padding:0;font-size:12px;background:0 0;margin:auto 5px}md-autocomplete button:after{content:'';position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:50%;-webkit-transform:scale(0);transform:scale(0);opacity:0;transition:all .4s cubic-bezier(.25,.8,.25,1)}md-autocomplete button:focus{outline:0}md-autocomplete button:focus:after{-webkit-transform:scale(1);transform:scale(1);opacity:1}md-autocomplete button md-icon{position:absolute;top:50%;left:50%;-webkit-transform:translate3d(-50%,-50%,0) scale(.9);transform:translate3d(-50%,-50%,0) scale(.9)}md-autocomplete button md-icon path{stroke-width:0}md-autocomplete button.ng-enter{-webkit-transform:scale(0);transform:scale(0);transition:-webkit-transform .15s ease-out;transition:transform .15s ease-out}md-autocomplete button.ng-enter.ng-enter-active{-webkit-transform:scale(1);transform:scale(1)}md-autocomplete button.ng-leave{transition:-webkit-transform .15s ease-out;transition:transform .15s ease-out}md-autocomplete button.ng-leave.ng-leave-active{-webkit-transform:scale(0);transform:scale(0)}@media screen and (-ms-high-contrast:active){md-autocomplete input{border:1px solid #fff}md-autocomplete li:focus{color:#fff}}.md-autocomplete-suggestions{position:absolute;margin:0;list-style:none;padding:0;overflow:auto;max-height:225.5px;z-index:100}.md-autocomplete-suggestions li{cursor:pointer;font-size:14px;overflow:hidden;padding:0 15px;line-height:48px;height:48px;transition:background .15s linear;margin:0;white-space:nowrap;text-overflow:ellipsis}.md-autocomplete-suggestions li.ng-enter,.md-autocomplete-suggestions li.ng-hide-remove{transition:none;-webkit-animation:md-autocomplete-list-in .2s;animation:md-autocomplete-list-in .2s}.md-autocomplete-suggestions li.ng-hide-add,.md-autocomplete-suggestions li.ng-leave{transition:none;-webkit-animation:md-autocomplete-list-out .2s;animation:md-autocomplete-list-out .2s}.md-autocomplete-suggestions li:focus{outline:0}@media screen and (-ms-high-contrast:active){.md-autocomplete-suggestions,md-autocomplete{border:1px solid #fff}} \ No newline at end of file diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/autocomplete/autocomplete.min.js b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/autocomplete/autocomplete.min.js deleted file mode 100644 index 93112977..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/autocomplete/autocomplete.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * Angular Material Design - * https://github.com/angular/material - * @license MIT - * v0.9.8 - */ -!function(e,t,n){"use strict";function o(e,n,o,i,l,a,r,m,c){function s(){f(),l(function(){x(),g(),h()})}function p(){function e(){var e=z.ul.getBoundingClientRect(),n={};e.right>o.right-d&&(n.left=t.right-e.width+"px"),z.$.ul.css(n)}if(!z)return l(p,0,!1);var t=z.wrap.getBoundingClientRect(),n=z.snap.getBoundingClientRect(),o=z.root.getBoundingClientRect(),i=n.bottom-o.top,a=o.bottom-n.top,r=t.left-o.left,m=t.width,c={left:r+"px",minWidth:m+"px",maxWidth:Math.max(t.right-o.left,o.right-t.left)-d+"px"};i>a&&o.height-t.bottom-d0||(K.hidden=R(),K.hidden||j())}function L(e){switch(e.keyCode){case i.KEY_CODE.DOWN_ARROW:if(K.loading)return;e.preventDefault(),K.index=Math.min(K.index+1,K.matches.length-1),B(),W();break;case i.KEY_CODE.UP_ARROW:if(K.loading)return;e.preventDefault(),K.index=K.index<0?K.matches.length-1:Math.max(0,K.index-1),B(),W();break;case i.KEY_CODE.TAB:case i.KEY_CODE.ENTER:if(K.hidden||K.loading||K.index<0||K.matches.length<1)return;e.preventDefault(),U(K.index);break;case i.KEY_CODE.ESCAPE:K.matches=[],K.hidden=!0,K.index=O()}}function M(){return t.isNumber(e.minLength)?e.minLength:1}function D(t){return t&&e.itemText?e.itemText(k(t)):t}function k(e){if(e){var t={};return K.itemName&&(t[K.itemName]=e),t}}function O(){return e.autoselect?0:-1}function R(){return S()?void 0:!0}function N(){return D(K.matches[K.index])}function S(){return e.searchText&&e.searchText.length>=M()}function U(t){e.selectedItem=K.matches[t],K.hidden=!0,K.index=0,K.matches=[],l(function(){z.$.input.controller("ngModel").$setViewValue(D(e.selectedItem)||e.searchText),K.hidden=!0})}function H(){e.searchText="",U(-1);var t=document.createEvent("CustomEvent");t.initCustomEvent("input",!0,!0,{value:e.searchText}),z.input.dispatchEvent(t),z.input.focus()}function _(n){function o(t){F[l]=t,n===e.searchText&&(K.loading=!1,V=null,K.matches=t,K.hidden=R(),W(),p())}var i=e.$parent.$eval(Y),l=n.toLowerCase();t.isArray(i)?o(i):(K.loading=!0,i.success&&i.success(o),i.then&&i.then(o),i.error&&i.error(function(){K.loading=!1}))}function W(){K.messages=[q(),N()]}function q(){if(X===K.matches.length)return"";switch(X=K.matches.length,K.matches.length){case 0:return"There are no matches available.";case 1:return"There is 1 match available.";default:return"There are "+K.matches.length+" matches available."}}function B(){if(z.li[K.index]){var e=z.li[K.index],t=e.offsetTop,n=t+e.offsetHeight,o=z.ul.clientHeight;tz.ul.scrollTop+o&&(z.ul.scrollTop=n-o)}}function j(){var t=e.searchText,n=t.toLowerCase();V&&V.cancel&&(V.cancel(),V=null),!e.noCache&&F[n]?(K.matches=F[n],W()):_(t),Q&&(K.hidden=R())}var K=this,P=e.itemsExpr.split(/ in /i),Y=P[1],z=null,V=null,F={},G=!1,J=[],Q=!1,X=0;return K.scope=e,K.parent=e.$parent,K.itemName=P[0],K.matches=[],K.loading=!1,K.hidden=!0,K.index=null,K.messages=[],K.id=o.nextUid(),K.keydown=L,K.blur=y,K.focus=I,K.clear=H,K.select=U,K.getCurrentDisplayValue=N,K.registerSelectedItemWatcher=T,K.unregisterSelectedItemWatcher=w,K.listEnter=function(){G=!0},K.listLeave=function(){G=!1,Q||(K.hidden=!0)},K.mouseUp=function(){z.input.focus()},s()}function i(e,t){function n(n,o,i){i.$observe("disabled",function(e){n.isDisabled=e}),i.$observe("required",function(e){n.isRequired=null!==e}),t.initOptionalProperties(n,i,{searchText:null,selectedItem:null}),e(o)}return{controller:"MdAutocompleteCtrl",controllerAs:"$mdAutocompleteCtrl",link:n,scope:{inputName:"@mdInputName",inputMinlength:"@mdInputMinlength",inputMaxlength:"@mdInputMaxlength",searchText:"=?mdSearchText",selectedItem:"=?mdSelectedItem",itemsExpr:"@mdItems",itemText:"&mdItemText",placeholder:"@placeholder",noCache:"=?mdNoCache",itemChange:"&?mdSelectedItemChange",textChange:"&?mdSearchTextChange",minLength:"=?mdMinLength",delay:"=?mdDelay",autofocus:"=?mdAutofocus",floatingLabel:"@?mdFloatingLabel",autoselect:"=?mdAutoselect",menuClass:"@?mdMenuClass"},template:function(e,t){function n(){var t=e.find("md-item-template").remove(),n=t.length?t.html():e.html();return t.length||e.empty(),n}function o(){var t=e.find("md-not-found").remove(),n=t.length?t.html():"";return n?'
  • '+n+"
  • ":""}function i(){return t.mdFloatingLabel?'
    '+r+"
    ":' '}var l=o(),a=n(),r=e.html();return' '+i()+'

    {{message}}

    '}}}function l(e,n,o){function i(i){var l=o(n.html())(e),r=t.element("
    ").text(l).html(),m=n.attr("md-highlight-flags")||"",c=e.$watch(i,function(e){var t=a(e,m),o=r.replace(t,'$&');n.html(o)});n.on("$destroy",function(){c()})}function l(e){return e?e.replace(/[\\\^\$\*\+\?\.\(\)\|\{\}\[\]]/g,"\\$&"):e}function a(e,t){var n="";return t.indexOf("^")>=1&&(n+="^"),n+=e,t.indexOf("$")>=1&&(n+="$"),new RegExp(l(n),t.replace(/[\$\^]/g,""))}return this.init=i,i()}function a(){return{terminal:!0,scope:!1,controller:"MdHighlightCtrl",link:function(e,t,n,o){o.init(n.mdHighlightText)}}}function r(e,t){function n(n,o,i){var l=n.$parent.$mdAutocompleteCtrl,a=l.parent.$new(!1,l.parent),r=l.scope.$eval(i.mdAutocompleteListItem);a[r]=n.item,e(o.contents())(a),o.attr({role:"option",id:"item_"+t.nextUid()})}return{terminal:!0,link:n,scope:!1}}function m(e,t){function n(t,n,o){var i=t.$parent.$mdAutocompleteCtrl;e(n.contents())(i.parent),o.hasOwnProperty("mdAutocompleteReplace")&&(n.after(n.contents()),n.remove())}return{restrict:"A",terminal:!0,link:n,scope:!1}}t.module("material.components.autocomplete",["material.core","material.components.icon"]),t.module("material.components.autocomplete").controller("MdAutocompleteCtrl",o);var c=41,u=5.5*c,d=8;o.$inject=["$scope","$element","$mdUtil","$mdConstant","$timeout","$mdTheming","$window","$animate","$rootElement"],t.module("material.components.autocomplete").directive("mdAutocomplete",i),i.$inject=["$mdTheming","$mdUtil"],t.module("material.components.autocomplete").controller("MdHighlightCtrl",l),l.$inject=["$scope","$element","$interpolate"],t.module("material.components.autocomplete").directive("mdHighlightText",a),t.module("material.components.autocomplete").directive("mdAutocompleteListItem",r),r.$inject=["$compile","$mdUtil"],t.module("material.components.autocomplete").directive("mdAutocompleteParentScope",m),m.$inject=["$compile","$mdUtil"]}(window,window.angular); \ No newline at end of file diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/autocomplete/bower.json b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/autocomplete/bower.json deleted file mode 100644 index 59be5c4b..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/autocomplete/bower.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "angular-material-autocomplete", - "version": "0.9.8", - "dependencies": { - "angular-material-core": "0.9.8", - "angular-material-icon": "0.9.8" - } -} \ No newline at end of file diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/backdrop/backdrop-default-theme.css b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/backdrop/backdrop-default-theme.css deleted file mode 100644 index 6177ae75..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/backdrop/backdrop-default-theme.css +++ /dev/null @@ -1,9 +0,0 @@ -/*! - * 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-backdrop.md-opaque.md-THEME_NAME-theme { - background-color: '{{foreground-4-0.5}}'; } diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/backdrop/backdrop-default-theme.min.css b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/backdrop/backdrop-default-theme.min.css deleted file mode 100644 index 191c2065..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/backdrop/backdrop-default-theme.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Angular Material Design - * https://github.com/angular/material - * @license MIT - * v0.9.8 - */md-backdrop.md-opaque.md-THEME_NAME-theme{background-color:'{{foreground-4-0.5}}'} \ No newline at end of file diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/backdrop/backdrop.css b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/backdrop/backdrop.css deleted file mode 100644 index d20683a5..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/backdrop/backdrop.css +++ /dev/null @@ -1,59 +0,0 @@ -/*! - * 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-backdrop { - z-index: 50; - background-color: transparent; - position: absolute; - height: 100%; - left: 0; - right: 0; } - md-backdrop.md-select-backdrop { - z-index: 81; } - md-backdrop.md-dialog-backdrop { - z-index: 79; } - md-backdrop.md-bottom-sheet-backdrop { - z-index: 69; } - md-backdrop.md-sidenav-backdrop { - z-index: 59; } - md-backdrop.md-click-catcher { - top: 0; - position: fixed; } - md-backdrop.ng-enter { - -webkit-animation: cubic-bezier(0.25, 0.8, 0.25, 1) mdBackdropFadeIn 0.5s both; - animation: cubic-bezier(0.25, 0.8, 0.25, 1) mdBackdropFadeIn 0.5s both; } - md-backdrop.ng-leave { - -webkit-animation: cubic-bezier(0.55, 0, 0.55, 0.2) mdBackdropFadeOut 0.2s both; - animation: cubic-bezier(0.55, 0, 0.55, 0.2) mdBackdropFadeOut 0.2s both; } - -@-webkit-keyframes mdBackdropFadeIn { - from { - opacity: 0; } - - to { - opacity: 1; } } - -@keyframes mdBackdropFadeIn { - from { - opacity: 0; } - - to { - opacity: 1; } } - -@-webkit-keyframes mdBackdropFadeOut { - from { - opacity: 1; } - - to { - opacity: 0; } } - -@keyframes mdBackdropFadeOut { - from { - opacity: 1; } - - to { - opacity: 0; } } diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/backdrop/backdrop.js b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/backdrop/backdrop.js deleted file mode 100644 index cb938267..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/backdrop/backdrop.js +++ /dev/null @@ -1,39 +0,0 @@ -/*! - * Angular Material Design - * https://github.com/angular/material - * @license MIT - * v0.9.8 - */ -(function( window, angular, undefined ){ -"use strict"; - -/* - * @ngdoc module - * @name material.components.backdrop - * @description Backdrop - */ - -/** - * @ngdoc directive - * @name mdBackdrop - * @module material.components.backdrop - * - * @restrict E - * - * @description - * `` is a backdrop element used by other components, such as dialog and bottom sheet. - * Apply class `opaque` to make the backdrop use the theme backdrop color. - * - */ - -angular.module('material.components.backdrop', [ - 'material.core' -]) - .directive('mdBackdrop', BackdropDirective); - -function BackdropDirective($mdTheming) { - return $mdTheming; -} -BackdropDirective.$inject = ["$mdTheming"]; - -})(window, window.angular); \ No newline at end of file diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/backdrop/backdrop.min.css b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/backdrop/backdrop.min.css deleted file mode 100644 index 41ac50b6..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/backdrop/backdrop.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Angular Material Design - * https://github.com/angular/material - * @license MIT - * v0.9.8 - */md-backdrop{z-index:50;background-color:transparent;position:absolute;height:100%;left:0;right:0}md-backdrop.md-select-backdrop{z-index:81}md-backdrop.md-dialog-backdrop{z-index:79}md-backdrop.md-bottom-sheet-backdrop{z-index:69}md-backdrop.md-sidenav-backdrop{z-index:59}md-backdrop.md-click-catcher{top:0;position:fixed}md-backdrop.ng-enter{-webkit-animation:cubic-bezier(.25,.8,.25,1) mdBackdropFadeIn .5s both;animation:cubic-bezier(.25,.8,.25,1) mdBackdropFadeIn .5s both}md-backdrop.ng-leave{-webkit-animation:cubic-bezier(.55,0,.55,.2) mdBackdropFadeOut .2s both;animation:cubic-bezier(.55,0,.55,.2) mdBackdropFadeOut .2s both}@-webkit-keyframes mdBackdropFadeIn{from{opacity:0}to{opacity:1}}@keyframes mdBackdropFadeIn{from{opacity:0}to{opacity:1}}@-webkit-keyframes mdBackdropFadeOut{from{opacity:1}to{opacity:0}}@keyframes mdBackdropFadeOut{from{opacity:1}to{opacity:0}} \ No newline at end of file diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/backdrop/backdrop.min.js b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/backdrop/backdrop.min.js deleted file mode 100644 index 1f096afd..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/backdrop/backdrop.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * Angular Material Design - * https://github.com/angular/material - * @license MIT - * v0.9.8 - */ -!function(n,e,i){"use strict";function o(n){return n}e.module("material.components.backdrop",["material.core"]).directive("mdBackdrop",o),o.$inject=["$mdTheming"]}(window,window.angular); \ No newline at end of file diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/backdrop/bower.json b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/backdrop/bower.json deleted file mode 100644 index 9c9e0643..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/backdrop/bower.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "name": "angular-material-backdrop", - "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/bottomSheet/bottomSheet-default-theme.css b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/bottomSheet/bottomSheet-default-theme.css deleted file mode 100644 index 82e3eb39..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/bottomSheet/bottomSheet-default-theme.css +++ /dev/null @@ -1,16 +0,0 @@ -/*! - * 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-bottom-sheet.md-THEME_NAME-theme { - background-color: '{{background-50}}'; - border-top-color: '{{background-300}}'; } - md-bottom-sheet.md-THEME_NAME-theme.md-list md-list-item { - color: '{{foreground-1}}'; } - md-bottom-sheet.md-THEME_NAME-theme .md-subheader { - background-color: '{{background-50}}'; } - md-bottom-sheet.md-THEME_NAME-theme .md-subheader { - color: '{{foreground-1}}'; } diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/bottomSheet/bottomSheet-default-theme.min.css b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/bottomSheet/bottomSheet-default-theme.min.css deleted file mode 100644 index ac127d3c..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/bottomSheet/bottomSheet-default-theme.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Angular Material Design - * https://github.com/angular/material - * @license MIT - * v0.9.8 - */md-bottom-sheet.md-THEME_NAME-theme{background-color:'{{background-50}}';border-top-color:'{{background-300}}'}md-bottom-sheet.md-THEME_NAME-theme.md-list md-list-item{color:'{{foreground-1}}'}md-bottom-sheet.md-THEME_NAME-theme .md-subheader{background-color:'{{background-50}}';color:'{{foreground-1}}'} \ No newline at end of file diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/bottomSheet/bottomSheet.css b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/bottomSheet/bottomSheet.css deleted file mode 100644 index 88a429f2..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/bottomSheet/bottomSheet.css +++ /dev/null @@ -1,170 +0,0 @@ -/*! - * 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-bottom-sheet { - position: absolute; - left: 0; - right: 0; - bottom: 0; - padding: 8px 16px 88px 16px; - z-index: 70; - border-top-width: 1px; - border-top-style: solid; - -webkit-transform: translate3d(0, 80px, 0); - transform: translate3d(0, 80px, 0); - transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); - transition-property: -webkit-transform; - transition-property: transform; } - md-bottom-sheet.md-has-header { - padding-top: 0; } - md-bottom-sheet.ng-enter { - opacity: 0; - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0); } - md-bottom-sheet.ng-enter-active { - opacity: 1; - display: block; - -webkit-transform: translate3d(0, 80px, 0) !important; - transform: translate3d(0, 80px, 0) !important; } - md-bottom-sheet.ng-leave-active { - -webkit-transform: translate3d(0, 100%, 0) !important; - transform: translate3d(0, 100%, 0) !important; - transition: all 0.3s cubic-bezier(0.55, 0, 0.55, 0.2); } - md-bottom-sheet .md-subheader { - background-color: transparent; - font-family: RobotoDraft, Roboto, 'Helvetica Neue', sans-serif; - line-height: 56px; - padding: 0; - white-space: nowrap; } - md-bottom-sheet md-inline-icon { - display: inline-block; - height: 24px; - width: 24px; - fill: #444; } - md-bottom-sheet md-list-item { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - outline: none; } - md-bottom-sheet md-list-item:hover { - cursor: pointer; } - md-bottom-sheet.md-list md-list-item { - padding: 0; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - height: 48px; } - md-bottom-sheet.md-list md-list-item div.md-icon-container { - display: inline-block; - height: 24px; - margin-right: 32px; } - md-bottom-sheet.md-grid { - padding-left: 24px; - padding-right: 24px; - padding-top: 0; } - md-bottom-sheet.md-grid md-list { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row; - -webkit-flex-wrap: wrap; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - transition: all 0.5s; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; } - md-bottom-sheet.md-grid md-list-item { - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - transition: all 0.5s; - height: 96px; - margin-top: 8px; - margin-bottom: 8px; - /* Mixin for how many grid items to show per row */ } - @media screen and (max-width: 600px) { - md-bottom-sheet.md-grid md-list-item { - -webkit-flex: 1 1 33.33333%; - -ms-flex: 1 1 33.33333%; - flex: 1 1 33.33333%; - max-width: 33.33333%; } - md-bottom-sheet.md-grid md-list-item:nth-of-type(3n+1) { - -webkit-align-items: flex-start; - -ms-flex-align: start; - align-items: flex-start; } - md-bottom-sheet.md-grid md-list-item:nth-of-type(3n) { - -webkit-align-items: flex-end; - -ms-flex-align: end; - align-items: flex-end; } } - @media screen and (min-width: 600px) and (max-width: 960px) { - md-bottom-sheet.md-grid md-list-item { - -webkit-flex: 1 1 25%; - -ms-flex: 1 1 25%; - flex: 1 1 25%; - max-width: 25%; } } - @media screen and (min-width: 960px) and (max-width: 1200px) { - md-bottom-sheet.md-grid md-list-item { - -webkit-flex: 1 1 16.66667%; - -ms-flex: 1 1 16.66667%; - flex: 1 1 16.66667%; - max-width: 16.66667%; } } - @media screen and (min-width: 1200px) { - md-bottom-sheet.md-grid md-list-item { - -webkit-flex: 1 1 14.28571%; - -ms-flex: 1 1 14.28571%; - flex: 1 1 14.28571%; - max-width: 14.28571%; } } - md-bottom-sheet.md-grid md-list-item .md-list-item-content { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - width: 48px; - padding-bottom: 16px; } - md-bottom-sheet.md-grid md-list-item .md-grid-item-content { - border: 1px solid transparent; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - width: 80px; } - md-bottom-sheet.md-grid md-list-item .md-icon-container { - display: inline-block; - box-sizing: border-box; - height: 48px; - width: 48px; - margin: 0 0; } - md-bottom-sheet.md-grid md-list-item .md-grid-text { - font-weight: 400; - line-height: 16px; - font-size: 13px; - margin: 0; - white-space: nowrap; - width: 64px; - text-align: center; - text-transform: none; - padding-top: 8px; } - -@media screen and (-ms-high-contrast: active) { - md-bottom-sheet { - border: 1px solid #fff; } } diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/bottomSheet/bottomSheet.js b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/bottomSheet/bottomSheet.js deleted file mode 100644 index 1ade20c3..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/bottomSheet/bottomSheet.js +++ /dev/null @@ -1,267 +0,0 @@ -/*! - * Angular Material Design - * https://github.com/angular/material - * @license MIT - * v0.9.8 - */ -(function( window, angular, undefined ){ -"use strict"; - -/** - * @ngdoc module - * @name material.components.bottomSheet - * @description - * BottomSheet - */ -angular.module('material.components.bottomSheet', [ - 'material.core', - 'material.components.backdrop' -]) - .directive('mdBottomSheet', MdBottomSheetDirective) - .provider('$mdBottomSheet', MdBottomSheetProvider); - -function MdBottomSheetDirective() { - return { - restrict: 'E' - }; -} - -/** - * @ngdoc service - * @name $mdBottomSheet - * @module material.components.bottomSheet - * - * @description - * `$mdBottomSheet` opens a bottom sheet over the app and provides a simple promise API. - * - * ## Restrictions - * - * - The bottom sheet's template must have an outer `` element. - * - Add the `md-grid` class to the bottom sheet for a grid layout. - * - Add the `md-list` class to the bottom sheet for a list layout. - * - * @usage - * - *
    - * - * Open a Bottom Sheet! - * - *
    - *
    - * - * var app = angular.module('app', ['ngMaterial']); - * app.controller('MyController', function($scope, $mdBottomSheet) { - * $scope.openBottomSheet = function() { - * $mdBottomSheet.show({ - * template: 'Hello!' - * }); - * }; - * }); - * - */ - - /** - * @ngdoc method - * @name $mdBottomSheet#show - * - * @description - * Show a bottom sheet with the specified options. - * - * @param {object} options An options object, with the following properties: - * - * - `templateUrl` - `{string=}`: The url of an html template file that will - * be used as the content of the bottom sheet. Restrictions: the template must - * have an outer `md-bottom-sheet` element. - * - `template` - `{string=}`: Same as templateUrl, except this is an actual - * template string. - * - `scope` - `{object=}`: the scope to link the template / controller to. If none is specified, it will create a new child scope. - * This scope will be destroyed when the bottom sheet is removed unless `preserveScope` is set to true. - * - `preserveScope` - `{boolean=}`: whether to preserve the scope when the element is removed. Default is false - * - `controller` - `{string=}`: The controller to associate with this bottom sheet. - * - `locals` - `{string=}`: An object containing key/value pairs. The keys will - * be used as names of values to inject into the controller. For example, - * `locals: {three: 3}` would inject `three` into the controller with the value - * of 3. - * - `targetEvent` - `{DOMClickEvent=}`: A click's event object. When passed in as an option, - * the location of the click will be used as the starting point for the opening animation - * of the the dialog. - * - `resolve` - `{object=}`: Similar to locals, except it takes promises as values - * and the bottom sheet will not open until the promises resolve. - * - `controllerAs` - `{string=}`: An alias to assign the controller to on the scope. - * - `parent` - `{element=}`: The element to append the bottom sheet to. The `parent` may be a `function`, `string`, - * `object`, or null. Defaults to appending to the body of the root element (or the root element) of the application. - * e.g. angular.element(document.getElementById('content')) or "#content" - * - `disableParentScroll` - `{boolean=}`: Whether to disable scrolling while the bottom sheet is open. - * Default true. - * - * @returns {promise} A promise that can be resolved with `$mdBottomSheet.hide()` or - * rejected with `$mdBottomSheet.cancel()`. - */ - -/** - * @ngdoc method - * @name $mdBottomSheet#hide - * - * @description - * Hide the existing bottom sheet and resolve the promise returned from - * `$mdBottomSheet.show()`. This call will close the most recently opened/current bottomsheet (if any). - * - * @param {*=} response An argument for the resolved promise. - * - */ - -/** - * @ngdoc method - * @name $mdBottomSheet#cancel - * - * @description - * Hide the existing bottom sheet and reject the promise returned from - * `$mdBottomSheet.show()`. - * - * @param {*=} response An argument for the rejected promise. - * - */ - -function MdBottomSheetProvider($$interimElementProvider) { - // how fast we need to flick down to close the sheet, pixels/ms - var CLOSING_VELOCITY = 0.5; - var PADDING = 80; // same as css - - bottomSheetDefaults.$inject = ["$animate", "$mdConstant", "$mdUtil", "$timeout", "$compile", "$mdTheming", "$mdBottomSheet", "$rootElement", "$mdGesture"]; - return $$interimElementProvider('$mdBottomSheet') - .setDefaults({ - methods: ['disableParentScroll', 'escapeToClose', 'targetEvent'], - options: bottomSheetDefaults - }); - - /* ngInject */ - function bottomSheetDefaults($animate, $mdConstant, $mdUtil, $timeout, $compile, $mdTheming, $mdBottomSheet, $rootElement, $mdGesture) { - var backdrop; - - return { - themable: true, - targetEvent: null, - onShow: onShow, - onRemove: onRemove, - escapeToClose: true, - disableParentScroll: true - }; - - - function onShow(scope, element, options) { - - element = $mdUtil.extractElementByName(element, 'md-bottom-sheet'); - - // Add a backdrop that will close on click - backdrop = $compile('')(scope); - backdrop.on('click', function() { - $timeout($mdBottomSheet.cancel); - }); - $mdTheming.inherit(backdrop, options.parent); - - $animate.enter(backdrop, options.parent, null); - - var bottomSheet = new BottomSheet(element, options.parent); - options.bottomSheet = bottomSheet; - - // Give up focus on calling item - options.targetEvent && angular.element(options.targetEvent.target).blur(); - $mdTheming.inherit(bottomSheet.element, options.parent); - - if (options.disableParentScroll) { - options.lastOverflow = options.parent.css('overflow'); - options.parent.css('overflow', 'hidden'); - } - - return $animate.enter(bottomSheet.element, options.parent) - .then(function() { - var focusable = angular.element( - element[0].querySelector('button') || - element[0].querySelector('a') || - element[0].querySelector('[ng-click]') - ); - focusable.focus(); - - if (options.escapeToClose) { - options.rootElementKeyupCallback = function(e) { - if (e.keyCode === $mdConstant.KEY_CODE.ESCAPE) { - $timeout($mdBottomSheet.cancel); - } - }; - $rootElement.on('keyup', options.rootElementKeyupCallback); - } - }); - - } - - function onRemove(scope, element, options) { - - var bottomSheet = options.bottomSheet; - - $animate.leave(backdrop); - return $animate.leave(bottomSheet.element).then(function() { - if (options.disableParentScroll) { - options.parent.css('overflow', options.lastOverflow); - delete options.lastOverflow; - } - - bottomSheet.cleanup(); - - // Restore focus - options.targetEvent && angular.element(options.targetEvent.target).focus(); - }); - } - - /** - * BottomSheet class to apply bottom-sheet behavior to an element - */ - function BottomSheet(element, parent) { - var deregister = $mdGesture.register(parent, 'drag', { horizontal: false }); - parent.on('$md.dragstart', onDragStart) - .on('$md.drag', onDrag) - .on('$md.dragend', onDragEnd); - - return { - element: element, - cleanup: function cleanup() { - deregister(); - parent.off('$md.dragstart', onDragStart) - .off('$md.drag', onDrag) - .off('$md.dragend', onDragEnd); - } - }; - - function onDragStart(ev) { - // Disable transitions on transform so that it feels fast - element.css($mdConstant.CSS.TRANSITION_DURATION, '0ms'); - } - - function onDrag(ev) { - var transform = ev.pointer.distanceY; - if (transform < 5) { - // Slow down drag when trying to drag up, and stop after PADDING - transform = Math.max(-PADDING, transform / 2); - } - element.css($mdConstant.CSS.TRANSFORM, 'translate3d(0,' + (PADDING + transform) + 'px,0)'); - } - - function onDragEnd(ev) { - if (ev.pointer.distanceY > 0 && - (ev.pointer.distanceY > 20 || Math.abs(ev.pointer.velocityY) > CLOSING_VELOCITY)) { - var distanceRemaining = element.prop('offsetHeight') - ev.pointer.distanceY; - var transitionDuration = Math.min(distanceRemaining / ev.pointer.velocityY * 0.75, 500); - element.css($mdConstant.CSS.TRANSITION_DURATION, transitionDuration + 'ms'); - $timeout($mdBottomSheet.cancel); - } else { - element.css($mdConstant.CSS.TRANSITION_DURATION, ''); - element.css($mdConstant.CSS.TRANSFORM, ''); - } - } - } - - } - -} -MdBottomSheetProvider.$inject = ["$$interimElementProvider"]; - -})(window, window.angular); \ No newline at end of file diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/bottomSheet/bottomSheet.min.css b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/bottomSheet/bottomSheet.min.css deleted file mode 100644 index 16ff96d8..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/bottomSheet/bottomSheet.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Angular Material Design - * https://github.com/angular/material - * @license MIT - * v0.9.8 - */md-bottom-sheet{position:absolute;left:0;right:0;bottom:0;padding:8px 16px 88px;z-index:70;border-top-width:1px;border-top-style:solid;-webkit-transform:translate3d(0,80px,0);transform:translate3d(0,80px,0);transition:all .4s cubic-bezier(.25,.8,.25,1);transition-property:-webkit-transform;transition-property:transform}md-bottom-sheet.md-has-header{padding-top:0}md-bottom-sheet.ng-enter{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}md-bottom-sheet.ng-enter-active{opacity:1;display:block;-webkit-transform:translate3d(0,80px,0)!important;transform:translate3d(0,80px,0)!important}md-bottom-sheet.ng-leave-active{-webkit-transform:translate3d(0,100%,0)!important;transform:translate3d(0,100%,0)!important;transition:all .3s cubic-bezier(.55,0,.55,.2)}md-bottom-sheet .md-subheader{background-color:transparent;font-family:RobotoDraft,Roboto,'Helvetica Neue',sans-serif;line-height:56px;padding:0;white-space:nowrap}md-bottom-sheet md-inline-icon{display:inline-block;height:24px;width:24px;fill:#444}md-bottom-sheet md-list-item{display:-webkit-flex;display:-ms-flexbox;display:flex;outline:0}md-bottom-sheet md-list-item:hover{cursor:pointer}md-bottom-sheet.md-list md-list-item{padding:0;-webkit-align-items:center;-ms-flex-align:center;align-items:center;height:48px}md-bottom-sheet.md-list md-list-item div.md-icon-container{display:inline-block;height:24px;margin-right:32px}md-bottom-sheet.md-grid{padding-left:24px;padding-right:24px;padding-top:0}md-bottom-sheet.md-grid md-list{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;transition:all .5s;-webkit-align-items:center;-ms-flex-align:center;align-items:center}md-bottom-sheet.md-grid md-list-item{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:center;-ms-flex-align:center;align-items:center;transition:all .5s;height:96px;margin-top:8px;margin-bottom:8px}@media screen and (max-width:600px){md-bottom-sheet.md-grid md-list-item{-webkit-flex:1 1 33.33333%;-ms-flex:1 1 33.33333%;flex:1 1 33.33333%;max-width:33.33333%}md-bottom-sheet.md-grid md-list-item:nth-of-type(3n+1){-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start}md-bottom-sheet.md-grid md-list-item:nth-of-type(3n){-webkit-align-items:flex-end;-ms-flex-align:end;align-items:flex-end}}@media screen and (min-width:600px) and (max-width:960px){md-bottom-sheet.md-grid md-list-item{-webkit-flex:1 1 25%;-ms-flex:1 1 25%;flex:1 1 25%;max-width:25%}}@media screen and (min-width:960px) and (max-width:1200px){md-bottom-sheet.md-grid md-list-item{-webkit-flex:1 1 16.66667%;-ms-flex:1 1 16.66667%;flex:1 1 16.66667%;max-width:16.66667%}}@media screen and (min-width:1200px){md-bottom-sheet.md-grid md-list-item{-webkit-flex:1 1 14.28571%;-ms-flex:1 1 14.28571%;flex:1 1 14.28571%;max-width:14.28571%}}md-bottom-sheet.md-grid md-list-item .md-list-item-content{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:center;-ms-flex-align:center;align-items:center;width:48px;padding-bottom:16px}md-bottom-sheet.md-grid md-list-item .md-grid-item-content{border:1px solid transparent;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:center;-ms-flex-align:center;align-items:center;width:80px}md-bottom-sheet.md-grid md-list-item .md-icon-container{display:inline-block;box-sizing:border-box;height:48px;width:48px;margin:0}md-bottom-sheet.md-grid md-list-item .md-grid-text{font-weight:400;line-height:16px;font-size:13px;margin:0;white-space:nowrap;width:64px;text-align:center;text-transform:none;padding-top:8px}@media screen and (-ms-high-contrast:active){md-bottom-sheet{border:1px solid #fff}} \ No newline at end of file diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/bottomSheet/bottomSheet.min.js b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/bottomSheet/bottomSheet.min.js deleted file mode 100644 index 67f85da9..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/bottomSheet/bottomSheet.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * Angular Material Design - * https://github.com/angular/material - * @license MIT - * v0.9.8 - */ -!function(e,t,n){"use strict";function o(){return{restrict:"E"}}function r(e){function n(e,n,a,l,c,i,s,m,d){function u(o,r,d){r=a.extractElementByName(r,"md-bottom-sheet"),S=c('')(o),S.on("click",function(){l(s.cancel)}),i.inherit(S,d.parent),e.enter(S,d.parent,null);var u=new f(r,d.parent);return d.bottomSheet=u,d.targetEvent&&t.element(d.targetEvent.target).blur(),i.inherit(u.element,d.parent),d.disableParentScroll&&(d.lastOverflow=d.parent.css("overflow"),d.parent.css("overflow","hidden")),e.enter(u.element,d.parent).then(function(){var e=t.element(r[0].querySelector("button")||r[0].querySelector("a")||r[0].querySelector("[ng-click]"));e.focus(),d.escapeToClose&&(d.rootElementKeyupCallback=function(e){e.keyCode===n.KEY_CODE.ESCAPE&&l(s.cancel)},m.on("keyup",d.rootElementKeyupCallback))})}function p(n,o,r){var a=r.bottomSheet;return e.leave(S),e.leave(a.element).then(function(){r.disableParentScroll&&(r.parent.css("overflow",r.lastOverflow),delete r.lastOverflow),a.cleanup(),r.targetEvent&&t.element(r.targetEvent.target).focus()})}function f(e,t){function a(t){e.css(n.CSS.TRANSITION_DURATION,"0ms")}function c(t){var o=t.pointer.distanceY;5>o&&(o=Math.max(-r,o/2)),e.css(n.CSS.TRANSFORM,"translate3d(0,"+(r+o)+"px,0)")}function i(t){if(t.pointer.distanceY>0&&(t.pointer.distanceY>20||Math.abs(t.pointer.velocityY)>o)){var r=e.prop("offsetHeight")-t.pointer.distanceY,a=Math.min(r/t.pointer.velocityY*.75,500);e.css(n.CSS.TRANSITION_DURATION,a+"ms"),l(s.cancel)}else e.css(n.CSS.TRANSITION_DURATION,""),e.css(n.CSS.TRANSFORM,"")}var m=d.register(t,"drag",{horizontal:!1});return t.on("$md.dragstart",a).on("$md.drag",c).on("$md.dragend",i),{element:e,cleanup:function(){m(),t.off("$md.dragstart",a).off("$md.drag",c).off("$md.dragend",i)}}}var S;return{themable:!0,targetEvent:null,onShow:u,onRemove:p,escapeToClose:!0,disableParentScroll:!0}}var o=.5,r=80;return n.$inject=["$animate","$mdConstant","$mdUtil","$timeout","$compile","$mdTheming","$mdBottomSheet","$rootElement","$mdGesture"],e("$mdBottomSheet").setDefaults({methods:["disableParentScroll","escapeToClose","targetEvent"],options:n})}t.module("material.components.bottomSheet",["material.core","material.components.backdrop"]).directive("mdBottomSheet",o).provider("$mdBottomSheet",r),r.$inject=["$$interimElementProvider"]}(window,window.angular); \ No newline at end of file diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/bottomSheet/bower.json b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/bottomSheet/bower.json deleted file mode 100644 index ae567438..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/bottomSheet/bower.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "angular-material-bottomSheet", - "version": "0.9.8", - "dependencies": { - "angular-material-core": "0.9.8", - "angular-material-backdrop": "0.9.8" - } -} \ No newline at end of file diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/button/bower.json b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/button/bower.json deleted file mode 100644 index 98d86b40..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/button/bower.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "name": "angular-material-button", - "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/button/button-default-theme.css b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/button/button-default-theme.css deleted file mode 100644 index d26c5cbf..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/button/button-default-theme.css +++ /dev/null @@ -1,94 +0,0 @@ -/*! - * Angular Material Design - * https://github.com/angular/material - * @license MIT - * v0.9.8 - */ -/* mixin definition ; sets LTR and RTL within the same style call */ -a.md-button.md-THEME_NAME-theme, .md-button.md-THEME_NAME-theme { - border-radius: 3px; } - a.md-button.md-THEME_NAME-theme:not([disabled]):hover, .md-button.md-THEME_NAME-theme:not([disabled]):hover { - background-color: '{{background-500-0.2}}'; } - a.md-button.md-THEME_NAME-theme:not([disabled]).md-focused, .md-button.md-THEME_NAME-theme:not([disabled]).md-focused { - background-color: '{{background-500-0.2}}'; } - a.md-button.md-THEME_NAME-theme:not([disabled]).md-icon-button:hover, .md-button.md-THEME_NAME-theme:not([disabled]).md-icon-button:hover { - background-color: transparent; } - a.md-button.md-THEME_NAME-theme.md-fab, .md-button.md-THEME_NAME-theme.md-fab { - border-radius: 50%; - background-color: '{{accent-color}}'; - color: '{{accent-contrast}}'; } - a.md-button.md-THEME_NAME-theme.md-fab md-icon, .md-button.md-THEME_NAME-theme.md-fab md-icon { - color: '{{accent-contrast}}'; } - a.md-button.md-THEME_NAME-theme.md-fab:not([disabled]):hover, .md-button.md-THEME_NAME-theme.md-fab:not([disabled]):hover { - background-color: '{{accent-color}}'; } - a.md-button.md-THEME_NAME-theme.md-fab:not([disabled]).md-focused, .md-button.md-THEME_NAME-theme.md-fab:not([disabled]).md-focused { - background-color: '{{accent-A700}}'; } - a.md-button.md-THEME_NAME-theme.md-icon-button, .md-button.md-THEME_NAME-theme.md-icon-button { - border-radius: 50%; } - a.md-button.md-THEME_NAME-theme.md-primary, .md-button.md-THEME_NAME-theme.md-primary { - color: '{{primary-color}}'; } - a.md-button.md-THEME_NAME-theme.md-primary.md-raised, a.md-button.md-THEME_NAME-theme.md-primary.md-fab, .md-button.md-THEME_NAME-theme.md-primary.md-raised, .md-button.md-THEME_NAME-theme.md-primary.md-fab { - color: '{{primary-contrast}}'; - background-color: '{{primary-color}}'; } - a.md-button.md-THEME_NAME-theme.md-primary.md-raised:not([disabled]) md-icon, a.md-button.md-THEME_NAME-theme.md-primary.md-fab:not([disabled]) md-icon, .md-button.md-THEME_NAME-theme.md-primary.md-raised:not([disabled]) md-icon, .md-button.md-THEME_NAME-theme.md-primary.md-fab:not([disabled]) md-icon { - color: '{{primary-contrast}}'; } - a.md-button.md-THEME_NAME-theme.md-primary.md-raised:not([disabled]):hover, a.md-button.md-THEME_NAME-theme.md-primary.md-fab:not([disabled]):hover, .md-button.md-THEME_NAME-theme.md-primary.md-raised:not([disabled]):hover, .md-button.md-THEME_NAME-theme.md-primary.md-fab:not([disabled]):hover { - background-color: '{{primary-color}}'; } - a.md-button.md-THEME_NAME-theme.md-primary.md-raised:not([disabled]).md-focused, a.md-button.md-THEME_NAME-theme.md-primary.md-fab:not([disabled]).md-focused, .md-button.md-THEME_NAME-theme.md-primary.md-raised:not([disabled]).md-focused, .md-button.md-THEME_NAME-theme.md-primary.md-fab:not([disabled]).md-focused { - background-color: '{{primary-600}}'; } - a.md-button.md-THEME_NAME-theme.md-primary:not([disabled]) md-icon, .md-button.md-THEME_NAME-theme.md-primary:not([disabled]) md-icon { - color: '{{primary-color}}'; } - a.md-button.md-THEME_NAME-theme.md-fab, .md-button.md-THEME_NAME-theme.md-fab { - border-radius: 50%; - background-color: '{{accent-color}}'; - color: '{{accent-contrast}}'; } - a.md-button.md-THEME_NAME-theme.md-fab:not([disabled]) .md-icon, .md-button.md-THEME_NAME-theme.md-fab:not([disabled]) .md-icon { - color: '{{accent-contrast}}'; } - a.md-button.md-THEME_NAME-theme.md-fab:not([disabled]):hover, .md-button.md-THEME_NAME-theme.md-fab:not([disabled]):hover { - background-color: '{{accent-color}}'; } - a.md-button.md-THEME_NAME-theme.md-fab:not([disabled]).md-focused, .md-button.md-THEME_NAME-theme.md-fab:not([disabled]).md-focused { - background-color: '{{accent-A700}}'; } - a.md-button.md-THEME_NAME-theme.md-raised, .md-button.md-THEME_NAME-theme.md-raised { - color: '{{background-contrast}}'; - background-color: '{{background-50}}'; } - a.md-button.md-THEME_NAME-theme.md-raised:not([disabled]) .md-icon, .md-button.md-THEME_NAME-theme.md-raised:not([disabled]) .md-icon { - color: '{{background-contrast}}'; } - a.md-button.md-THEME_NAME-theme.md-raised:not([disabled]):hover, .md-button.md-THEME_NAME-theme.md-raised:not([disabled]):hover { - background-color: '{{background-50}}'; } - a.md-button.md-THEME_NAME-theme.md-raised:not([disabled]).md-focused, .md-button.md-THEME_NAME-theme.md-raised:not([disabled]).md-focused { - background-color: '{{background-200}}'; } - a.md-button.md-THEME_NAME-theme.md-warn, .md-button.md-THEME_NAME-theme.md-warn { - color: '{{warn-color}}'; } - a.md-button.md-THEME_NAME-theme.md-warn.md-raised, a.md-button.md-THEME_NAME-theme.md-warn.md-fab, .md-button.md-THEME_NAME-theme.md-warn.md-raised, .md-button.md-THEME_NAME-theme.md-warn.md-fab { - color: '{{warn-contrast}}'; - background-color: '{{warn-color}}'; } - a.md-button.md-THEME_NAME-theme.md-warn.md-raised:not([disabled]) md-icon, a.md-button.md-THEME_NAME-theme.md-warn.md-fab:not([disabled]) md-icon, .md-button.md-THEME_NAME-theme.md-warn.md-raised:not([disabled]) md-icon, .md-button.md-THEME_NAME-theme.md-warn.md-fab:not([disabled]) md-icon { - color: '{{warn-contrast}}'; } - a.md-button.md-THEME_NAME-theme.md-warn.md-raised:not([disabled]):hover, a.md-button.md-THEME_NAME-theme.md-warn.md-fab:not([disabled]):hover, .md-button.md-THEME_NAME-theme.md-warn.md-raised:not([disabled]):hover, .md-button.md-THEME_NAME-theme.md-warn.md-fab:not([disabled]):hover { - background-color: '{{warn-color}}'; } - a.md-button.md-THEME_NAME-theme.md-warn.md-raised:not([disabled]).md-focused, a.md-button.md-THEME_NAME-theme.md-warn.md-fab:not([disabled]).md-focused, .md-button.md-THEME_NAME-theme.md-warn.md-raised:not([disabled]).md-focused, .md-button.md-THEME_NAME-theme.md-warn.md-fab:not([disabled]).md-focused { - background-color: '{{warn-700}}'; } - a.md-button.md-THEME_NAME-theme.md-warn:not([disabled]) md-icon, .md-button.md-THEME_NAME-theme.md-warn:not([disabled]) md-icon { - color: '{{warn-color}}'; } - a.md-button.md-THEME_NAME-theme.md-accent, .md-button.md-THEME_NAME-theme.md-accent { - color: '{{accent-color}}'; } - a.md-button.md-THEME_NAME-theme.md-accent.md-raised, a.md-button.md-THEME_NAME-theme.md-accent.md-fab, .md-button.md-THEME_NAME-theme.md-accent.md-raised, .md-button.md-THEME_NAME-theme.md-accent.md-fab { - color: '{{accent-contrast}}'; - background-color: '{{accent-color}}'; } - a.md-button.md-THEME_NAME-theme.md-accent.md-raised:not([disabled]) md-icon, a.md-button.md-THEME_NAME-theme.md-accent.md-fab:not([disabled]) md-icon, .md-button.md-THEME_NAME-theme.md-accent.md-raised:not([disabled]) md-icon, .md-button.md-THEME_NAME-theme.md-accent.md-fab:not([disabled]) md-icon { - color: '{{accent-contrast}}'; } - a.md-button.md-THEME_NAME-theme.md-accent.md-raised:not([disabled]):hover, a.md-button.md-THEME_NAME-theme.md-accent.md-fab:not([disabled]):hover, .md-button.md-THEME_NAME-theme.md-accent.md-raised:not([disabled]):hover, .md-button.md-THEME_NAME-theme.md-accent.md-fab:not([disabled]):hover { - background-color: '{{accent-color}}'; } - a.md-button.md-THEME_NAME-theme.md-accent.md-raised:not([disabled]).md-focused, a.md-button.md-THEME_NAME-theme.md-accent.md-fab:not([disabled]).md-focused, .md-button.md-THEME_NAME-theme.md-accent.md-raised:not([disabled]).md-focused, .md-button.md-THEME_NAME-theme.md-accent.md-fab:not([disabled]).md-focused { - background-color: '{{accent-700}}'; } - a.md-button.md-THEME_NAME-theme.md-accent:not([disabled]) md-icon, .md-button.md-THEME_NAME-theme.md-accent:not([disabled]) md-icon { - color: '{{accent-color}}'; } - a.md-button.md-THEME_NAME-theme[disabled], a.md-button.md-THEME_NAME-theme.md-raised[disabled], a.md-button.md-THEME_NAME-theme.md-fab[disabled], a.md-button.md-THEME_NAME-theme.md-accent[disabled], a.md-button.md-THEME_NAME-theme.md-warn[disabled], .md-button.md-THEME_NAME-theme[disabled], .md-button.md-THEME_NAME-theme.md-raised[disabled], .md-button.md-THEME_NAME-theme.md-fab[disabled], .md-button.md-THEME_NAME-theme.md-accent[disabled], .md-button.md-THEME_NAME-theme.md-warn[disabled] { - color: '{{foreground-3}}'; - cursor: not-allowed; } - a.md-button.md-THEME_NAME-theme[disabled] md-icon, a.md-button.md-THEME_NAME-theme.md-raised[disabled] md-icon, a.md-button.md-THEME_NAME-theme.md-fab[disabled] md-icon, a.md-button.md-THEME_NAME-theme.md-accent[disabled] md-icon, a.md-button.md-THEME_NAME-theme.md-warn[disabled] md-icon, .md-button.md-THEME_NAME-theme[disabled] md-icon, .md-button.md-THEME_NAME-theme.md-raised[disabled] md-icon, .md-button.md-THEME_NAME-theme.md-fab[disabled] md-icon, .md-button.md-THEME_NAME-theme.md-accent[disabled] md-icon, .md-button.md-THEME_NAME-theme.md-warn[disabled] md-icon { - color: '{{foreground-3}}'; } - a.md-button.md-THEME_NAME-theme.md-raised[disabled], a.md-button.md-THEME_NAME-theme.md-fab[disabled], .md-button.md-THEME_NAME-theme.md-raised[disabled], .md-button.md-THEME_NAME-theme.md-fab[disabled] { - background-color: '{{foreground-4}}'; } - a.md-button.md-THEME_NAME-theme[disabled], .md-button.md-THEME_NAME-theme[disabled] { - background-color: transparent; } diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/button/button-default-theme.min.css b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/button/button-default-theme.min.css deleted file mode 100644 index 9273305d..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/button/button-default-theme.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Angular Material Design - * https://github.com/angular/material - * @license MIT - * v0.9.8 - */.md-button.md-THEME_NAME-theme,a.md-button.md-THEME_NAME-theme{border-radius:3px}.md-button.md-THEME_NAME-theme:not([disabled]).md-focused,.md-button.md-THEME_NAME-theme:not([disabled]):hover,a.md-button.md-THEME_NAME-theme:not([disabled]).md-focused,a.md-button.md-THEME_NAME-theme:not([disabled]):hover{background-color:'{{background-500-0.2}}'}.md-button.md-THEME_NAME-theme:not([disabled]).md-icon-button:hover,a.md-button.md-THEME_NAME-theme:not([disabled]).md-icon-button:hover{background-color:transparent}.md-button.md-THEME_NAME-theme.md-fab md-icon,a.md-button.md-THEME_NAME-theme.md-fab md-icon{color:'{{accent-contrast}}'}.md-button.md-THEME_NAME-theme.md-icon-button,a.md-button.md-THEME_NAME-theme.md-icon-button{border-radius:50%}.md-button.md-THEME_NAME-theme.md-primary,a.md-button.md-THEME_NAME-theme.md-primary{color:'{{primary-color}}'}.md-button.md-THEME_NAME-theme.md-primary.md-fab,.md-button.md-THEME_NAME-theme.md-primary.md-raised,a.md-button.md-THEME_NAME-theme.md-primary.md-fab,a.md-button.md-THEME_NAME-theme.md-primary.md-raised{color:'{{primary-contrast}}';background-color:'{{primary-color}}'}.md-button.md-THEME_NAME-theme.md-primary.md-fab:not([disabled]) md-icon,.md-button.md-THEME_NAME-theme.md-primary.md-raised:not([disabled]) md-icon,a.md-button.md-THEME_NAME-theme.md-primary.md-fab:not([disabled]) md-icon,a.md-button.md-THEME_NAME-theme.md-primary.md-raised:not([disabled]) md-icon{color:'{{primary-contrast}}'}.md-button.md-THEME_NAME-theme.md-primary.md-fab:not([disabled]):hover,.md-button.md-THEME_NAME-theme.md-primary.md-raised:not([disabled]):hover,a.md-button.md-THEME_NAME-theme.md-primary.md-fab:not([disabled]):hover,a.md-button.md-THEME_NAME-theme.md-primary.md-raised:not([disabled]):hover{background-color:'{{primary-color}}'}.md-button.md-THEME_NAME-theme.md-primary.md-fab:not([disabled]).md-focused,.md-button.md-THEME_NAME-theme.md-primary.md-raised:not([disabled]).md-focused,a.md-button.md-THEME_NAME-theme.md-primary.md-fab:not([disabled]).md-focused,a.md-button.md-THEME_NAME-theme.md-primary.md-raised:not([disabled]).md-focused{background-color:'{{primary-600}}'}.md-button.md-THEME_NAME-theme.md-primary:not([disabled]) md-icon,a.md-button.md-THEME_NAME-theme.md-primary:not([disabled]) md-icon{color:'{{primary-color}}'}.md-button.md-THEME_NAME-theme.md-fab,a.md-button.md-THEME_NAME-theme.md-fab{border-radius:50%;background-color:'{{accent-color}}';color:'{{accent-contrast}}'}.md-button.md-THEME_NAME-theme.md-fab:not([disabled]) .md-icon,a.md-button.md-THEME_NAME-theme.md-fab:not([disabled]) .md-icon{color:'{{accent-contrast}}'}.md-button.md-THEME_NAME-theme.md-fab:not([disabled]):hover,a.md-button.md-THEME_NAME-theme.md-fab:not([disabled]):hover{background-color:'{{accent-color}}'}.md-button.md-THEME_NAME-theme.md-fab:not([disabled]).md-focused,a.md-button.md-THEME_NAME-theme.md-fab:not([disabled]).md-focused{background-color:'{{accent-A700}}'}.md-button.md-THEME_NAME-theme.md-raised,a.md-button.md-THEME_NAME-theme.md-raised{color:'{{background-contrast}}';background-color:'{{background-50}}'}.md-button.md-THEME_NAME-theme.md-raised:not([disabled]) .md-icon,a.md-button.md-THEME_NAME-theme.md-raised:not([disabled]) .md-icon{color:'{{background-contrast}}'}.md-button.md-THEME_NAME-theme.md-raised:not([disabled]):hover,a.md-button.md-THEME_NAME-theme.md-raised:not([disabled]):hover{background-color:'{{background-50}}'}.md-button.md-THEME_NAME-theme.md-raised:not([disabled]).md-focused,a.md-button.md-THEME_NAME-theme.md-raised:not([disabled]).md-focused{background-color:'{{background-200}}'}.md-button.md-THEME_NAME-theme.md-warn,a.md-button.md-THEME_NAME-theme.md-warn{color:'{{warn-color}}'}.md-button.md-THEME_NAME-theme.md-warn.md-fab,.md-button.md-THEME_NAME-theme.md-warn.md-raised,a.md-button.md-THEME_NAME-theme.md-warn.md-fab,a.md-button.md-THEME_NAME-theme.md-warn.md-raised{color:'{{warn-contrast}}';background-color:'{{warn-color}}'}.md-button.md-THEME_NAME-theme.md-warn.md-fab:not([disabled]) md-icon,.md-button.md-THEME_NAME-theme.md-warn.md-raised:not([disabled]) md-icon,a.md-button.md-THEME_NAME-theme.md-warn.md-fab:not([disabled]) md-icon,a.md-button.md-THEME_NAME-theme.md-warn.md-raised:not([disabled]) md-icon{color:'{{warn-contrast}}'}.md-button.md-THEME_NAME-theme.md-warn.md-fab:not([disabled]):hover,.md-button.md-THEME_NAME-theme.md-warn.md-raised:not([disabled]):hover,a.md-button.md-THEME_NAME-theme.md-warn.md-fab:not([disabled]):hover,a.md-button.md-THEME_NAME-theme.md-warn.md-raised:not([disabled]):hover{background-color:'{{warn-color}}'}.md-button.md-THEME_NAME-theme.md-warn.md-fab:not([disabled]).md-focused,.md-button.md-THEME_NAME-theme.md-warn.md-raised:not([disabled]).md-focused,a.md-button.md-THEME_NAME-theme.md-warn.md-fab:not([disabled]).md-focused,a.md-button.md-THEME_NAME-theme.md-warn.md-raised:not([disabled]).md-focused{background-color:'{{warn-700}}'}.md-button.md-THEME_NAME-theme.md-warn:not([disabled]) md-icon,a.md-button.md-THEME_NAME-theme.md-warn:not([disabled]) md-icon{color:'{{warn-color}}'}.md-button.md-THEME_NAME-theme.md-accent,a.md-button.md-THEME_NAME-theme.md-accent{color:'{{accent-color}}'}.md-button.md-THEME_NAME-theme.md-accent.md-fab,.md-button.md-THEME_NAME-theme.md-accent.md-raised,a.md-button.md-THEME_NAME-theme.md-accent.md-fab,a.md-button.md-THEME_NAME-theme.md-accent.md-raised{color:'{{accent-contrast}}';background-color:'{{accent-color}}'}.md-button.md-THEME_NAME-theme.md-accent.md-fab:not([disabled]) md-icon,.md-button.md-THEME_NAME-theme.md-accent.md-raised:not([disabled]) md-icon,a.md-button.md-THEME_NAME-theme.md-accent.md-fab:not([disabled]) md-icon,a.md-button.md-THEME_NAME-theme.md-accent.md-raised:not([disabled]) md-icon{color:'{{accent-contrast}}'}.md-button.md-THEME_NAME-theme.md-accent.md-fab:not([disabled]):hover,.md-button.md-THEME_NAME-theme.md-accent.md-raised:not([disabled]):hover,a.md-button.md-THEME_NAME-theme.md-accent.md-fab:not([disabled]):hover,a.md-button.md-THEME_NAME-theme.md-accent.md-raised:not([disabled]):hover{background-color:'{{accent-color}}'}.md-button.md-THEME_NAME-theme.md-accent.md-fab:not([disabled]).md-focused,.md-button.md-THEME_NAME-theme.md-accent.md-raised:not([disabled]).md-focused,a.md-button.md-THEME_NAME-theme.md-accent.md-fab:not([disabled]).md-focused,a.md-button.md-THEME_NAME-theme.md-accent.md-raised:not([disabled]).md-focused{background-color:'{{accent-700}}'}.md-button.md-THEME_NAME-theme.md-accent:not([disabled]) md-icon,a.md-button.md-THEME_NAME-theme.md-accent:not([disabled]) md-icon{color:'{{accent-color}}'}.md-button.md-THEME_NAME-theme.md-accent[disabled],.md-button.md-THEME_NAME-theme.md-fab[disabled],.md-button.md-THEME_NAME-theme.md-raised[disabled],.md-button.md-THEME_NAME-theme.md-warn[disabled],.md-button.md-THEME_NAME-theme[disabled],a.md-button.md-THEME_NAME-theme.md-accent[disabled],a.md-button.md-THEME_NAME-theme.md-fab[disabled],a.md-button.md-THEME_NAME-theme.md-raised[disabled],a.md-button.md-THEME_NAME-theme.md-warn[disabled],a.md-button.md-THEME_NAME-theme[disabled]{color:'{{foreground-3}}';cursor:not-allowed}.md-button.md-THEME_NAME-theme.md-accent[disabled] md-icon,.md-button.md-THEME_NAME-theme.md-fab[disabled] md-icon,.md-button.md-THEME_NAME-theme.md-raised[disabled] md-icon,.md-button.md-THEME_NAME-theme.md-warn[disabled] md-icon,.md-button.md-THEME_NAME-theme[disabled] md-icon,a.md-button.md-THEME_NAME-theme.md-accent[disabled] md-icon,a.md-button.md-THEME_NAME-theme.md-fab[disabled] md-icon,a.md-button.md-THEME_NAME-theme.md-raised[disabled] md-icon,a.md-button.md-THEME_NAME-theme.md-warn[disabled] md-icon,a.md-button.md-THEME_NAME-theme[disabled] md-icon{color:'{{foreground-3}}'}.md-button.md-THEME_NAME-theme.md-fab[disabled],.md-button.md-THEME_NAME-theme.md-raised[disabled],a.md-button.md-THEME_NAME-theme.md-fab[disabled],a.md-button.md-THEME_NAME-theme.md-raised[disabled]{background-color:'{{foreground-4}}'}.md-button.md-THEME_NAME-theme[disabled],a.md-button.md-THEME_NAME-theme[disabled]{background-color:transparent} \ No newline at end of file diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/button/button.css b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/button/button.css deleted file mode 100644 index 310df601..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/button/button.css +++ /dev/null @@ -1,158 +0,0 @@ -/*! - * Angular Material Design - * https://github.com/angular/material - * @license MIT - * v0.9.8 - */ -/* mixin definition ; sets LTR and RTL within the same style call */ -/** - * Position a FAB button. - */ -.md-button { - box-sizing: border-box; - color: currentColor; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - position: relative; - outline: none; - border: 0; - display: inline-block; - padding: 0 6px; - margin: 6px 8px; - line-height: 36px; - min-height: 36px; - background: transparent; - white-space: nowrap; - min-width: 88px; - text-align: center; - text-transform: uppercase; - font-weight: 500; - font-size: 14px; - font-style: inherit; - font-variant: inherit; - font-family: inherit; - text-decoration: none; - cursor: pointer; - overflow: hidden; - transition: box-shadow 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), background-color 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); } - .md-button *, .md-button *:before, .md-button *:after { - box-sizing: border-box; } - .md-button:focus { - outline: none; } - .md-button:hover, .md-button:focus { - text-decoration: none; } - .md-button.ng-hide, .md-button.ng-leave { - transition: none; } - .md-button.md-cornered { - border-radius: 0; } - .md-button.md-icon { - padding: 0; - background: none; } - .md-button.md-icon-button { - margin: 0 6px; - height: 48px; - min-width: 0; - line-height: 48px; - padding-left: 0; - padding-right: 0; - width: 48px; - border-radius: 50%; } - .md-button.md-icon-button .md-ripple-container { - border-radius: 50%; - background-clip: padding-box; - overflow: hidden; - -webkit-mask-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAA5JREFUeNpiYGBgAAgwAAAEAAGbA+oJAAAAAElFTkSuQmCC'); } - .md-button.md-fab { - z-index: 20; - line-height: 56px; - min-width: 0; - width: 56px; - height: 56px; - vertical-align: middle; - border-radius: 50%; - background-clip: padding-box; - overflow: hidden; - transition: 0.2s linear; - transition-property: background-color, box-shadow; } - .md-button.md-fab.md-fab-bottom-right { - top: auto; - right: 20px; - bottom: 20px; - left: auto; - position: absolute; } - .md-button.md-fab.md-fab-bottom-left { - top: auto; - right: auto; - bottom: 20px; - left: 20px; - position: absolute; } - .md-button.md-fab.md-fab-top-right { - top: 20px; - right: 20px; - bottom: auto; - left: auto; - position: absolute; } - .md-button.md-fab.md-fab-top-left { - top: 20px; - right: auto; - bottom: auto; - left: 20px; - position: absolute; } - .md-button.md-fab .md-ripple-container { - border-radius: 50%; - background-clip: padding-box; - overflow: hidden; - -webkit-mask-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAA5JREFUeNpiYGBgAAgwAAAEAAGbA+oJAAAAAElFTkSuQmCC'); } - .md-button.md-fab md-icon { - margin-top: 0; } - .md-button.md-fab.md-mini { - line-height: 40px; - width: 40px; - height: 40px; } - -.md-toast-open-top .md-button.md-fab-top-left, .md-toast-open-top .md-button.md-fab-top-right { - -webkit-transform: translate3d(0, 42px, 0); - transform: translate3d(0, 42px, 0); } - .md-toast-open-top .md-button.md-fab-top-left:not([disabled]).md-focused, .md-toast-open-top .md-button.md-fab-top-left:not([disabled]):hover, .md-toast-open-top .md-button.md-fab-top-right:not([disabled]).md-focused, .md-toast-open-top .md-button.md-fab-top-right:not([disabled]):hover { - -webkit-transform: translate3d(0, 41px, 0); - transform: translate3d(0, 41px, 0); } - -.md-toast-open-bottom .md-button.md-fab-bottom-left, .md-toast-open-bottom .md-button.md-fab-bottom-right { - -webkit-transform: translate3d(0, -42px, 0); - transform: translate3d(0, -42px, 0); } - .md-toast-open-bottom .md-button.md-fab-bottom-left:not([disabled]).md-focused, .md-toast-open-bottom .md-button.md-fab-bottom-left:not([disabled]):hover, .md-toast-open-bottom .md-button.md-fab-bottom-right:not([disabled]).md-focused, .md-toast-open-bottom .md-button.md-fab-bottom-right:not([disabled]):hover { - -webkit-transform: translate3d(0, -43px, 0); - transform: translate3d(0, -43px, 0); } - -.md-button-group { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; - width: 100%; } - -.md-button-group > .md-button { - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; - display: block; - overflow: hidden; - width: 0; - border-width: 1px 0px 1px 1px; - border-radius: 0; - text-align: center; - text-overflow: ellipsis; - white-space: nowrap; } - .md-button-group > .md-button:first-child { - border-radius: 2px 0px 0px 2px; } - .md-button-group > .md-button:last-child { - border-right-width: 1px; - border-radius: 0px 2px 2px 0px; } - -@media screen and (-ms-high-contrast: active) { - .md-button.md-raised, .md-button.md-fab { - border: 1px solid #fff; } } diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/button/button.js b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/button/button.js deleted file mode 100644 index eff33266..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/button/button.js +++ /dev/null @@ -1,136 +0,0 @@ -/*! - * Angular Material Design - * https://github.com/angular/material - * @license MIT - * v0.9.8 - */ -(function( window, angular, undefined ){ -"use strict"; - -/** - * @ngdoc module - * @name material.components.button - * @description - * - * Button - */ -angular - .module('material.components.button', [ 'material.core' ]) - .directive('mdButton', MdButtonDirective); - -/** - * @ngdoc directive - * @name mdButton - * @module material.components.button - * - * @restrict E - * - * @description - * `` is a button directive with optional ink ripples (default enabled). - * - * If you supply a `href` or `ng-href` attribute, it will become an `` element. Otherwise, it will - * become a `'; - } - - function postLink(scope, element, attr) { - var node = element[0]; - $mdTheming(element); - $mdButtonInkRipple.attach(scope, element); - - var elementHasText = node.textContent.trim(); - if (!elementHasText) { - $mdAria.expect(element, 'aria-label'); - } - - // For anchor elements, we have to set tabindex manually when the - // element is disabled - if (isAnchor(attr) && angular.isDefined(attr.ngDisabled) ) { - scope.$watch(attr.ngDisabled, function(isDisabled) { - element.attr('tabindex', isDisabled ? -1 : 0); - }); - } - - // disabling click event when disabled is true - element.on('click', function(e){ - if (attr.disabled === true) { - e.preventDefault(); - e.stopImmediatePropagation(); - } - }); - - // restrict focus styles to the keyboard - scope.mouseActive = false; - element.on('mousedown', function() { - scope.mouseActive = true; - $timeout(function(){ - scope.mouseActive = false; - }, 100); - }) - .on('focus', function() { - if(scope.mouseActive === false) { element.addClass('md-focused'); } - }) - .on('blur', function() { element.removeClass('md-focused'); }); - } - -} -MdButtonDirective.$inject = ["$mdButtonInkRipple", "$mdTheming", "$mdAria", "$timeout"]; - -})(window, window.angular); \ No newline at end of file diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/button/button.min.css b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/button/button.min.css deleted file mode 100644 index 304b27bb..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/button/button.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Angular Material Design - * https://github.com/angular/material - * @license MIT - * v0.9.8 - */.md-button{box-sizing:border-box;color:currentColor;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;outline:0;border:0;display:inline-block;padding:0 6px;margin:6px 8px;line-height:36px;min-height:36px;background:0 0;white-space:nowrap;min-width:88px;text-align:center;text-transform:uppercase;font-weight:500;font-size:14px;font-style:inherit;font-variant:inherit;font-family:inherit;text-decoration:none;cursor:pointer;overflow:hidden;transition:box-shadow .4s cubic-bezier(.25,.8,.25,1),background-color .4s cubic-bezier(.25,.8,.25,1)}.md-button *,.md-button :after,.md-button :before{box-sizing:border-box}.md-button:focus{outline:0}.md-button:focus,.md-button:hover{text-decoration:none}.md-button.ng-hide,.md-button.ng-leave{transition:none}.md-button.md-cornered{border-radius:0}.md-button.md-icon{padding:0;background:0 0}.md-button.md-icon-button{margin:0 6px;height:48px;min-width:0;line-height:48px;padding-left:0;padding-right:0;width:48px;border-radius:50%}.md-button.md-icon-button .md-ripple-container{border-radius:50%;background-clip:padding-box;overflow:hidden;-webkit-mask-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAA5JREFUeNpiYGBgAAgwAAAEAAGbA+oJAAAAAElFTkSuQmCC)}.md-button.md-fab{z-index:20;line-height:56px;min-width:0;width:56px;height:56px;vertical-align:middle;border-radius:50%;background-clip:padding-box;overflow:hidden;transition:.2s linear;transition-property:background-color,box-shadow}.md-button.md-fab.md-fab-bottom-right{top:auto;right:20px;bottom:20px;left:auto;position:absolute}.md-button.md-fab.md-fab-bottom-left{top:auto;right:auto;bottom:20px;left:20px;position:absolute}.md-button.md-fab.md-fab-top-right{top:20px;right:20px;bottom:auto;left:auto;position:absolute}.md-button.md-fab.md-fab-top-left{top:20px;right:auto;bottom:auto;left:20px;position:absolute}.md-button.md-fab .md-ripple-container{border-radius:50%;background-clip:padding-box;overflow:hidden;-webkit-mask-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAA5JREFUeNpiYGBgAAgwAAAEAAGbA+oJAAAAAElFTkSuQmCC)}.md-button.md-fab md-icon{margin-top:0}.md-button.md-fab.md-mini{line-height:40px;width:40px;height:40px}.md-toast-open-top .md-button.md-fab-top-left,.md-toast-open-top .md-button.md-fab-top-right{-webkit-transform:translate3d(0,42px,0);transform:translate3d(0,42px,0)}.md-toast-open-top .md-button.md-fab-top-left:not([disabled]).md-focused,.md-toast-open-top .md-button.md-fab-top-left:not([disabled]):hover,.md-toast-open-top .md-button.md-fab-top-right:not([disabled]).md-focused,.md-toast-open-top .md-button.md-fab-top-right:not([disabled]):hover{-webkit-transform:translate3d(0,41px,0);transform:translate3d(0,41px,0)}.md-toast-open-bottom .md-button.md-fab-bottom-left,.md-toast-open-bottom .md-button.md-fab-bottom-right{-webkit-transform:translate3d(0,-42px,0);transform:translate3d(0,-42px,0)}.md-toast-open-bottom .md-button.md-fab-bottom-left:not([disabled]).md-focused,.md-toast-open-bottom .md-button.md-fab-bottom-left:not([disabled]):hover,.md-toast-open-bottom .md-button.md-fab-bottom-right:not([disabled]).md-focused,.md-toast-open-bottom .md-button.md-fab-bottom-right:not([disabled]):hover{-webkit-transform:translate3d(0,-43px,0);transform:translate3d(0,-43px,0)}.md-button-group{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:1;-ms-flex:1;flex:1;width:100%}.md-button-group>.md-button{-webkit-flex:1;-ms-flex:1;flex:1;display:block;overflow:hidden;width:0;border-width:1px 0 1px 1px;border-radius:0;text-align:center;text-overflow:ellipsis;white-space:nowrap}.md-button-group>.md-button:first-child{border-radius:2px 0 0 2px}.md-button-group>.md-button:last-child{border-right-width:1px;border-radius:0 2px 2px 0}@media screen and (-ms-high-contrast:active){.md-button.md-fab,.md-button.md-raised{border:1px solid #fff}} \ No newline at end of file diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/button/button.min.js b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/button/button.min.js deleted file mode 100644 index fdbb6931..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/button/button.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * Angular Material Design - * https://github.com/angular/material - * @license MIT - * v0.9.8 - */ -!function(n,t,e){"use strict";function i(n,e,i,o){function u(n){return t.isDefined(n.href)||t.isDefined(n.ngHref)||t.isDefined(n.ngLink)||t.isDefined(n.uiSref)}function a(n,t){return u(t)?'':''}function c(a,c,s){var d=c[0];e(c),n.attach(a,c);var r=d.textContent.trim();r||i.expect(c,"aria-label"),u(s)&&t.isDefined(s.ngDisabled)&&a.$watch(s.ngDisabled,function(n){c.attr("tabindex",n?-1:0)}),c.on("click",function(n){s.disabled===!0&&(n.preventDefault(),n.stopImmediatePropagation())}),a.mouseActive=!1,c.on("mousedown",function(){a.mouseActive=!0,o(function(){a.mouseActive=!1},100)}).on("focus",function(){a.mouseActive===!1&&c.addClass("md-focused")}).on("blur",function(){c.removeClass("md-focused")})}return{restrict:"EA",replace:!0,transclude:!0,template:a,link:c}}t.module("material.components.button",["material.core"]).directive("mdButton",i),i.$inject=["$mdButtonInkRipple","$mdTheming","$mdAria","$timeout"]}(window,window.angular); \ No newline at end of file diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/card/bower.json b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/card/bower.json deleted file mode 100644 index ccd35586..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/card/bower.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "name": "angular-material-card", - "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/card/card-default-theme.css b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/card/card-default-theme.css deleted file mode 100644 index 02f7b56f..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/card/card-default-theme.css +++ /dev/null @@ -1,12 +0,0 @@ -/*! - * 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-card.md-THEME_NAME-theme { - background-color: '{{background-color}}'; - border-radius: 2px; } - md-card.md-THEME_NAME-theme .md-card-image { - border-radius: 2px 2px 0 0; } diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/card/card-default-theme.min.css b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/card/card-default-theme.min.css deleted file mode 100644 index 8efbd14e..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/card/card-default-theme.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Angular Material Design - * https://github.com/angular/material - * @license MIT - * v0.9.8 - */md-card.md-THEME_NAME-theme{background-color:'{{background-color}}';border-radius:2px}md-card.md-THEME_NAME-theme .md-card-image{border-radius:2px 2px 0 0} \ No newline at end of file diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/card/card.css b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/card/card.css deleted file mode 100644 index 7c201992..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/card/card.css +++ /dev/null @@ -1,34 +0,0 @@ -/*! - * 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-card { - box-sizing: border-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - margin: 8px; - box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.14), 0px 2px 2px 0px rgba(0, 0, 0, 0.098), 0px 1px 5px 0px rgba(0, 0, 0, 0.084); } - md-card > img, md-card > :not(md-card-content) img { - width: 100%; } - md-card md-card-content { - padding: 16px; } - md-card .md-actions { - margin: 0; } - md-card .md-actions .md-button { - margin-bottom: 8px; - margin-top: 8px; - margin-right: 4px; - margin-left: 4px; } - md-card md-card-footer { - padding: 16px; } - -@media screen and (-ms-high-contrast: active) { - md-card { - border: 1px solid #fff; } } diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/card/card.js b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/card/card.js deleted file mode 100644 index 7f0298a0..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/card/card.js +++ /dev/null @@ -1,85 +0,0 @@ -/*! - * Angular Material Design - * https://github.com/angular/material - * @license MIT - * v0.9.8 - */ -(function( window, angular, undefined ){ -"use strict"; - -/** - * @ngdoc module - * @name material.components.card - * - * @description - * Card components. - */ -angular.module('material.components.card', [ - 'material.core' -]) - .directive('mdCard', mdCardDirective); - - - -/** - * @ngdoc directive - * @name mdCard - * @module material.components.card - * - * @restrict E - * - * @description - * The `` directive is a container element used within `` containers. - * - * An image included as a direct descendant will fill the card's width, while the `` - * container will wrap text content and provide padding. An `` element can be - * optionally included to put content flush against the bottom edge of the card. - * - * Action buttons can be included in an element with the `.md-actions` class, also used in `md-dialog`. - * You can then position buttons using layout attributes. - * - * Cards have constant width and variable heights; where the maximum height is limited to what can - * fit within a single view on a platform, but it can temporarily expand as needed. - * - * @usage - * ###Card with optional footer - * - * - * image caption - * - *

    Card headline

    - *

    Card content

    - *
    - * - * Card footer - * - *
    - *
    - * - * ###Card with actions - * - * - * image caption - * - *

    Card headline

    - *

    Card content

    - *
    - *
    - * Action 1 - * Action 2 - *
    - *
    - *
    - * - */ -function mdCardDirective($mdTheming) { - return { - restrict: 'E', - link: function($scope, $element, $attr) { - $mdTheming($element); - } - }; -} -mdCardDirective.$inject = ["$mdTheming"]; - -})(window, window.angular); \ No newline at end of file diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/card/card.min.css b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/card/card.min.css deleted file mode 100644 index 06a2c819..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/card/card.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Angular Material Design - * https://github.com/angular/material - * @license MIT - * v0.9.8 - */md-card{box-sizing:border-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;margin:8px;box-shadow:0 3px 1px -2px rgba(0,0,0,.14),0 2px 2px 0 rgba(0,0,0,.098),0 1px 5px 0 rgba(0,0,0,.084)}md-card>:not(md-card-content) img,md-card>img{width:100%}md-card md-card-content{padding:16px}md-card .md-actions{margin:0}md-card .md-actions .md-button{margin:8px 4px}md-card md-card-footer{padding:16px}@media screen and (-ms-high-contrast:active){md-card{border:1px solid #fff}} \ No newline at end of file diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/card/card.min.js b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/card/card.min.js deleted file mode 100644 index 51e21f59..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/card/card.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * Angular Material Design - * https://github.com/angular/material - * @license MIT - * v0.9.8 - */ -!function(n,i,t){"use strict";function e(n){return{restrict:"E",link:function(i,t,e){n(t)}}}i.module("material.components.card",["material.core"]).directive("mdCard",e),e.$inject=["$mdTheming"]}(window,window.angular); \ No newline at end of file diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/checkbox/bower.json b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/checkbox/bower.json deleted file mode 100644 index 5a26f2e8..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/checkbox/bower.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "name": "angular-material-checkbox", - "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/checkbox/checkbox-default-theme.css b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/checkbox/checkbox-default-theme.css deleted file mode 100644 index c23e596c..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/checkbox/checkbox-default-theme.css +++ /dev/null @@ -1,47 +0,0 @@ -/*! - * 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-checkbox.md-THEME_NAME-theme .md-ripple { - color: '{{accent-600}}'; } -md-checkbox.md-THEME_NAME-theme.md-checked .md-ripple { - color: '{{background-600}}'; } -md-checkbox.md-THEME_NAME-theme.md-checked.md-focused .md-container:before { - background-color: '{{accent-color-0.26}}'; } -md-checkbox.md-THEME_NAME-theme .md-icon { - border-color: '{{foreground-2}}'; } -md-checkbox.md-THEME_NAME-theme.md-checked .md-icon { - background-color: '{{accent-color-0.87}}'; } -md-checkbox.md-THEME_NAME-theme.md-checked .md-icon:after { - border-color: '{{background-200}}'; } -md-checkbox.md-THEME_NAME-theme:not([disabled]).md-primary .md-ripple { - color: '{{primary-600}}'; } -md-checkbox.md-THEME_NAME-theme:not([disabled]).md-primary.md-checked .md-ripple { - color: '{{background-600}}'; } -md-checkbox.md-THEME_NAME-theme:not([disabled]).md-primary .md-icon { - border-color: '{{foreground-2}}'; } -md-checkbox.md-THEME_NAME-theme:not([disabled]).md-primary.md-checked .md-icon { - background-color: '{{primary-color-0.87}}'; } -md-checkbox.md-THEME_NAME-theme:not([disabled]).md-primary.md-checked.md-focused .md-container:before { - background-color: '{{primary-color-0.26}}'; } -md-checkbox.md-THEME_NAME-theme:not([disabled]).md-primary.md-checked .md-icon:after { - border-color: '{{background-200}}'; } -md-checkbox.md-THEME_NAME-theme:not([disabled]).md-warn .md-ripple { - color: '{{warn-600}}'; } -md-checkbox.md-THEME_NAME-theme:not([disabled]).md-warn .md-icon { - border-color: '{{foreground-2}}'; } -md-checkbox.md-THEME_NAME-theme:not([disabled]).md-warn.md-checked .md-icon { - background-color: '{{warn-color-0.87}}'; } -md-checkbox.md-THEME_NAME-theme:not([disabled]).md-warn.md-checked.md-focused:not([disabled]) .md-container:before { - background-color: '{{warn-color-0.26}}'; } -md-checkbox.md-THEME_NAME-theme:not([disabled]).md-warn.md-checked .md-icon:after { - border-color: '{{background-200}}'; } -md-checkbox.md-THEME_NAME-theme[disabled] .md-icon { - border-color: '{{foreground-3}}'; } -md-checkbox.md-THEME_NAME-theme[disabled].md-checked .md-icon { - background-color: '{{foreground-3}}'; } -md-checkbox.md-THEME_NAME-theme[disabled] .md-label { - color: '{{foreground-3}}'; } diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/checkbox/checkbox-default-theme.min.css b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/checkbox/checkbox-default-theme.min.css deleted file mode 100644 index 4eea8f80..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/checkbox/checkbox-default-theme.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Angular Material Design - * https://github.com/angular/material - * @license MIT - * v0.9.8 - */md-checkbox.md-THEME_NAME-theme .md-ripple{color:'{{accent-600}}'}md-checkbox.md-THEME_NAME-theme.md-checked .md-ripple{color:'{{background-600}}'}md-checkbox.md-THEME_NAME-theme.md-checked.md-focused .md-container:before{background-color:'{{accent-color-0.26}}'}md-checkbox.md-THEME_NAME-theme .md-icon{border-color:'{{foreground-2}}'}md-checkbox.md-THEME_NAME-theme.md-checked .md-icon{background-color:'{{accent-color-0.87}}'}md-checkbox.md-THEME_NAME-theme.md-checked .md-icon:after{border-color:'{{background-200}}'}md-checkbox.md-THEME_NAME-theme:not([disabled]).md-primary .md-ripple{color:'{{primary-600}}'}md-checkbox.md-THEME_NAME-theme:not([disabled]).md-primary.md-checked .md-ripple{color:'{{background-600}}'}md-checkbox.md-THEME_NAME-theme:not([disabled]).md-primary .md-icon{border-color:'{{foreground-2}}'}md-checkbox.md-THEME_NAME-theme:not([disabled]).md-primary.md-checked .md-icon{background-color:'{{primary-color-0.87}}'}md-checkbox.md-THEME_NAME-theme:not([disabled]).md-primary.md-checked.md-focused .md-container:before{background-color:'{{primary-color-0.26}}'}md-checkbox.md-THEME_NAME-theme:not([disabled]).md-primary.md-checked .md-icon:after{border-color:'{{background-200}}'}md-checkbox.md-THEME_NAME-theme:not([disabled]).md-warn .md-ripple{color:'{{warn-600}}'}md-checkbox.md-THEME_NAME-theme:not([disabled]).md-warn .md-icon{border-color:'{{foreground-2}}'}md-checkbox.md-THEME_NAME-theme:not([disabled]).md-warn.md-checked .md-icon{background-color:'{{warn-color-0.87}}'}md-checkbox.md-THEME_NAME-theme:not([disabled]).md-warn.md-checked.md-focused:not([disabled]) .md-container:before{background-color:'{{warn-color-0.26}}'}md-checkbox.md-THEME_NAME-theme:not([disabled]).md-warn.md-checked .md-icon:after{border-color:'{{background-200}}'}md-checkbox.md-THEME_NAME-theme[disabled] .md-icon{border-color:'{{foreground-3}}'}md-checkbox.md-THEME_NAME-theme[disabled].md-checked .md-icon{background-color:'{{foreground-3}}'}md-checkbox.md-THEME_NAME-theme[disabled] .md-label{color:'{{foreground-3}}'} \ No newline at end of file diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/checkbox/checkbox.css b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/checkbox/checkbox.css deleted file mode 100644 index 652ba9f1..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/checkbox/checkbox.css +++ /dev/null @@ -1,125 +0,0 @@ -/*! - * 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-checkbox { - box-sizing: border-box; - display: block; - margin: 8px; - white-space: nowrap; - cursor: pointer; - outline: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - padding-left: 18px; - padding-right: 0; - position: relative; - line-height: 26px; - min-width: 18px; - min-height: 18px; } - html[dir=rtl] md-checkbox { - padding-left: 0; } - html[dir=rtl] md-checkbox { - padding-right: 18px; } - md-checkbox *, md-checkbox *:before, md-checkbox *:after { - box-sizing: border-box; } - md-checkbox.md-focused:not([disabled]) .md-container:before { - left: -8px; - top: -8px; - right: -8px; - bottom: -8px; } - md-checkbox.md-focused:not([disabled]):not(.md-checked) .md-container:before { - background-color: rgba(0, 0, 0, 0.12); } - md-checkbox .md-container { - position: absolute; - top: 50%; - display: inline-block; - width: 18px; - height: 18px; - -webkit-transform: translateY(-50%); - transform: translateY(-50%); - left: 0; - right: auto; } - html[dir=rtl] md-checkbox .md-container { - left: auto; } - html[dir=rtl] md-checkbox .md-container { - right: 0; } - md-checkbox .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-checkbox .md-container:after { - content: ''; - position: absolute; - top: -10px; - right: -10px; - bottom: -10px; - left: -10px; } - md-checkbox .md-container .md-ripple-container { - position: absolute; - display: block; - width: auto; - height: auto; - left: -15px; - top: -15px; - right: -15px; - bottom: -15px; } - md-checkbox .md-icon { - transition: 240ms; - position: absolute; - top: 0; - left: 0; - width: 18px; - height: 18px; - border-width: 2px; - border-style: solid; - border-radius: 2px; } - md-checkbox.md-checked .md-icon { - border: none; } - md-checkbox[disabled] { - cursor: no-drop; } - md-checkbox.md-checked .md-icon:after { - -webkit-transform: rotate(45deg); - transform: rotate(45deg); - position: absolute; - left: 6px; - top: 2px; - display: table; - width: 6px; - height: 12px; - border-width: 2px; - border-style: solid; - border-top: 0; - border-left: 0; - content: ''; } - md-checkbox .md-label { - position: relative; - display: inline-block; - vertical-align: middle; - white-space: normal; - pointer-events: none; - -webkit-user-select: text; - -moz-user-select: text; - -ms-user-select: text; - user-select: text; } - md-checkbox .md-label span { - margin-left: 10px; - margin-right: 0; } - html[dir=rtl] md-checkbox .md-label span { - margin-left: 0; } - html[dir=rtl] md-checkbox .md-label span { - margin-right: 10px; } diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/checkbox/checkbox.js b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/checkbox/checkbox.js deleted file mode 100644 index 0b28ffd3..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/checkbox/checkbox.js +++ /dev/null @@ -1,167 +0,0 @@ -/*! - * Angular Material Design - * https://github.com/angular/material - * @license MIT - * v0.9.8 - */ -(function( window, angular, undefined ){ -"use strict"; - -/** - * @ngdoc module - * @name material.components.checkbox - * @description Checkbox module! - */ -angular - .module('material.components.checkbox', ['material.core']) - .directive('mdCheckbox', MdCheckboxDirective); - -/** - * @ngdoc directive - * @name mdCheckbox - * @module material.components.checkbox - * @restrict E - * - * @description - * The checkbox directive is used like the normal [angular checkbox](https://docs.angularjs.org/api/ng/input/input%5Bcheckbox%5D). - * - * As per the [material design spec](http://www.google.com/design/spec/style/color.html#color-ui-color-application) - * the checkbox is in the accent color by default. The primary color palette may be used with - * the `md-primary` class. - * - * @param {string} ng-model Assignable angular expression to data-bind to. - * @param {string=} name Property name of the form under which the control is published. - * @param {expression=} ng-true-value The value to which the expression should be set when selected. - * @param {expression=} ng-false-value The value to which the expression should be set when not selected. - * @param {string=} ng-change Angular expression to be executed when input changes due to user interaction with the input element. - * @param {boolean=} md-no-ink Use of attribute indicates use of ripple ink effects - * @param {string=} aria-label Adds label to checkbox for accessibility. - * Defaults to checkbox's text. If no default text is found, a warning will be logged. - * - * @usage - * - * - * Finished ? - * - * - * - * No Ink Effects - * - * - * - * Disabled - * - * - * - * - */ -function MdCheckboxDirective(inputDirective, $mdInkRipple, $mdAria, $mdConstant, $mdTheming, $mdUtil, $timeout) { - inputDirective = inputDirective[0]; - var CHECKED_CSS = 'md-checked'; - - return { - restrict: 'E', - transclude: true, - require: '?ngModel', - priority:210, // Run before ngAria - template: - '
    ' + - '
    ' + - '
    ' + - '
    ', - compile: compile - }; - - // ********************************************************** - // Private Methods - // ********************************************************** - - function compile (tElement, tAttrs) { - - tAttrs.type = 'checkbox'; - tAttrs.tabindex = tAttrs.tabindex || '0'; - tElement.attr('role', tAttrs.type); - - return function postLink(scope, element, attr, ngModelCtrl) { - ngModelCtrl = ngModelCtrl || $mdUtil.fakeNgModel(); - $mdTheming(element); - - if (attr.ngChecked) { - scope.$watch( - scope.$eval.bind(scope, attr.ngChecked), - ngModelCtrl.$setViewValue.bind(ngModelCtrl) - ); - } - $$watchExpr('ngDisabled', 'tabindex', { - true: '-1', - false: attr.tabindex - }); - $mdAria.expectWithText(element, 'aria-label'); - - // Reuse the original input[type=checkbox] directive from Angular core. - // This is a bit hacky as we need our own event listener and own render - // function. - inputDirective.link.pre(scope, { - on: angular.noop, - 0: {} - }, attr, [ngModelCtrl]); - - scope.mouseActive = false; - element.on('click', listener) - .on('keypress', keypressHandler) - .on('mousedown', function() { - scope.mouseActive = true; - $timeout(function(){ - scope.mouseActive = false; - }, 100); - }) - .on('focus', function() { - if(scope.mouseActive === false) { element.addClass('md-focused'); } - }) - .on('blur', function() { element.removeClass('md-focused'); }); - - ngModelCtrl.$render = render; - - function $$watchExpr(expr, htmlAttr, valueOpts) { - if (attr[expr]) { - scope.$watch(attr[expr], function(val) { - if (valueOpts[val]) { - element.attr(htmlAttr, valueOpts[val]); - } - }); - } - } - - function keypressHandler(ev) { - var keyCode = ev.which || ev.keyCode; - if (keyCode === $mdConstant.KEY_CODE.SPACE || keyCode === $mdConstant.KEY_CODE.ENTER) { - ev.preventDefault(); - if (!element.hasClass('md-focused')) { element.addClass('md-focused'); } - listener(ev); - } - } - function listener(ev) { - if (element[0].hasAttribute('disabled')) return; - - scope.$apply(function() { - // Toggle the checkbox value... - var viewValue = attr.ngChecked ? attr.checked : !ngModelCtrl.$viewValue; - - ngModelCtrl.$setViewValue( viewValue, ev && ev.type); - ngModelCtrl.$render(); - }); - } - - function render() { - if(ngModelCtrl.$viewValue) { - element.addClass(CHECKED_CSS); - } else { - element.removeClass(CHECKED_CSS); - } - } - }; - } -} -MdCheckboxDirective.$inject = ["inputDirective", "$mdInkRipple", "$mdAria", "$mdConstant", "$mdTheming", "$mdUtil", "$timeout"]; - -})(window, window.angular); \ No newline at end of file diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/checkbox/checkbox.min.css b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/checkbox/checkbox.min.css deleted file mode 100644 index 231352a0..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/checkbox/checkbox.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Angular Material Design - * https://github.com/angular/material - * @license MIT - * v0.9.8 - */md-checkbox{box-sizing:border-box;display:block;margin:8px;white-space:nowrap;cursor:pointer;outline:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;padding-left:18px;padding-right:0;position:relative;line-height:26px;min-width:18px;min-height:18px}html[dir=rtl] md-checkbox{padding-left:0;padding-right:18px}md-checkbox *,md-checkbox :after,md-checkbox :before{box-sizing:border-box}md-checkbox.md-focused:not([disabled]) .md-container:before{left:-8px;top:-8px;right:-8px;bottom:-8px}md-checkbox.md-focused:not([disabled]):not(.md-checked) .md-container:before{background-color:rgba(0,0,0,.12)}md-checkbox .md-container{position:absolute;top:50%;display:inline-block;width:18px;height:18px;-webkit-transform:translateY(-50%);transform:translateY(-50%);left:0;right:auto}html[dir=rtl] md-checkbox .md-container{left:auto;right:0}md-checkbox .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-checkbox .md-container:after{content:'';position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px}md-checkbox .md-container .md-ripple-container{position:absolute;display:block;width:auto;height:auto;left:-15px;top:-15px;right:-15px;bottom:-15px}md-checkbox .md-icon{transition:240ms;position:absolute;top:0;left:0;width:18px;height:18px;border-width:2px;border-style:solid;border-radius:2px}md-checkbox.md-checked .md-icon{border:none}md-checkbox[disabled]{cursor:no-drop}md-checkbox.md-checked .md-icon:after{-webkit-transform:rotate(45deg);transform:rotate(45deg);position:absolute;left:6px;top:2px;display:table;width:6px;height:12px;border-width:2px;border-style:solid;border-top:0;border-left:0;content:''}md-checkbox .md-label{position:relative;display:inline-block;vertical-align:middle;white-space:normal;pointer-events:none;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}md-checkbox .md-label span{margin-left:10px;margin-right:0}html[dir=rtl] md-checkbox .md-label span{margin-left:0;margin-right:10px} \ No newline at end of file diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/checkbox/checkbox.min.js b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/checkbox/checkbox.min.js deleted file mode 100644 index 74575091..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/checkbox/checkbox.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * Angular Material Design - * https://github.com/angular/material - * @license MIT - * v0.9.8 - */ -!function(e,n,i){"use strict";function t(e,i,t,c,d,o,a){function s(i,s){return s.type="checkbox",s.tabindex=s.tabindex||"0",i.attr("role",s.type),function(i,s,u,l){function m(e,n,t){u[e]&&i.$watch(u[e],function(e){t[e]&&s.attr(n,t[e])})}function f(e){var n=e.which||e.keyCode;(n===c.KEY_CODE.SPACE||n===c.KEY_CODE.ENTER)&&(e.preventDefault(),s.hasClass("md-focused")||s.addClass("md-focused"),p(e))}function p(e){s[0].hasAttribute("disabled")||i.$apply(function(){var n=u.ngChecked?u.checked:!l.$viewValue;l.$setViewValue(n,e&&e.type),l.$render()})}function v(){l.$viewValue?s.addClass(r):s.removeClass(r)}l=l||o.fakeNgModel(),d(s),u.ngChecked&&i.$watch(i.$eval.bind(i,u.ngChecked),l.$setViewValue.bind(l)),m("ngDisabled","tabindex",{"true":"-1","false":u.tabindex}),t.expectWithText(s,"aria-label"),e.link.pre(i,{on:n.noop,0:{}},u,[l]),i.mouseActive=!1,s.on("click",p).on("keypress",f).on("mousedown",function(){i.mouseActive=!0,a(function(){i.mouseActive=!1},100)}).on("focus",function(){i.mouseActive===!1&&s.addClass("md-focused")}).on("blur",function(){s.removeClass("md-focused")}),l.$render=v}}e=e[0];var r="md-checked";return{restrict:"E",transclude:!0,require:"?ngModel",priority:210,template:'
    ',compile:s}}n.module("material.components.checkbox",["material.core"]).directive("mdCheckbox",t),t.$inject=["inputDirective","$mdInkRipple","$mdAria","$mdConstant","$mdTheming","$mdUtil","$timeout"]}(window,window.angular); \ No newline at end of file diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/chips/bower.json b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/chips/bower.json deleted file mode 100644 index c6199f5c..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/chips/bower.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "angular-material-chips", - "version": "0.9.8", - "dependencies": { - "angular-material-core": "0.9.8", - "angular-material-autocomplete": "0.9.8" - } -} \ No newline at end of file diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/chips/chips-default-theme.css b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/chips/chips-default-theme.css deleted file mode 100644 index 4a2fa22f..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/chips/chips-default-theme.css +++ /dev/null @@ -1,24 +0,0 @@ -/*! - * 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-chips.md-THEME_NAME-theme .md-chips { - box-shadow: 0 1px '{{background-300}}'; } - md-chips.md-THEME_NAME-theme .md-chips.md-focused { - box-shadow: 0 2px '{{primary-color}}'; } -md-chips.md-THEME_NAME-theme .md-chip { - background: '{{background-300}}'; - color: '{{background-800}}'; } - md-chips.md-THEME_NAME-theme .md-chip.md-focused { - background: '{{primary-color}}'; - color: '{{primary-contrast}}'; } - md-chips.md-THEME_NAME-theme .md-chip.md-focused md-icon { - color: '{{primary-contrast}}'; } -md-chips.md-THEME_NAME-theme md-chip-remove .md-button md-icon path { - fill: '{{background-500}}'; } - -.md-contact-suggestion span.md-contact-email { - color: '{{background-400}}'; } diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/chips/chips-default-theme.min.css b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/chips/chips-default-theme.min.css deleted file mode 100644 index ee124b78..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/chips/chips-default-theme.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Angular Material Design - * https://github.com/angular/material - * @license MIT - * v0.9.8 - */md-chips.md-THEME_NAME-theme .md-chips{box-shadow:0 1px '{{background-300}}'}md-chips.md-THEME_NAME-theme .md-chips.md-focused{box-shadow:0 2px '{{primary-color}}'}md-chips.md-THEME_NAME-theme .md-chip{background:0 0;color:'{{background-800}}'}md-chips.md-THEME_NAME-theme .md-chip.md-focused{background:0 0;color:'{{primary-contrast}}'}md-chips.md-THEME_NAME-theme .md-chip.md-focused md-icon{color:'{{primary-contrast}}'}md-chips.md-THEME_NAME-theme md-chip-remove .md-button md-icon path{fill:'{{background-500}}'}.md-contact-suggestion span.md-contact-email{color:'{{background-400}}'} \ No newline at end of file diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/chips/chips.css b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/chips/chips.css deleted file mode 100644 index 571a0d0c..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/chips/chips.css +++ /dev/null @@ -1,131 +0,0 @@ -/*! - * 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-contact-chips .md-chips .md-chip { - padding: 0 8px 0 0; } - .md-contact-chips .md-chips .md-chip .md-contact-avatar { - float: left; } - .md-contact-chips .md-chips .md-chip .md-contact-avatar img { - height: 32px; - border-radius: 16px; } - .md-contact-chips .md-chips .md-chip .md-contact-name { - display: inline-block; - height: 32px; - margin-left: 8px; } - -.md-contact-suggestion { - height: 56px; } - .md-contact-suggestion img { - height: 40px; - border-radius: 20px; - margin-top: 8px; } - .md-contact-suggestion .md-contact-name { - margin-left: 8px; - width: 120px; } - .md-contact-suggestion .md-contact-name, .md-contact-suggestion .md-contact-email { - display: inline-block; - overflow: hidden; - text-overflow: ellipsis; } - -.md-contact-chips-suggestions li { - height: 100%; } - -.md-chips { - display: block; - font-family: RobotoDraft, Roboto, 'Helvetica Neue', sans-serif; - font-size: 13px; - padding: 0 0 8px 0; - vertical-align: middle; - cursor: text; } - .md-chips:after { - content: ''; - display: table; - clear: both; } - .md-chips .md-chip { - cursor: default; - border-radius: 16px; - display: block; - height: 32px; - line-height: 32px; - margin: 8px 8px 0 0; - padding: 0 8px 0 12px; - float: left; } - .md-chips .md-chip .md-chip-content { - display: block; - padding-right: 4px; - float: left; - white-space: nowrap; } - .md-chips .md-chip .md-chip-content:focus { - outline: none; } - .md-chips .md-chip .md-chip-remove-container { - display: inline-block; - margin-right: -5px; } - .md-chips .md-chip .md-chip-remove { - text-align: center; - width: 32px; - height: 32px; - min-width: 0; - padding: 0; - background: transparent; - border: none; - box-shadow: none; - margin: 0; - position: relative; } - .md-chips .md-chip .md-chip-remove md-icon { - height: 18px; - width: 18px; - position: absolute; - top: 50%; - left: 50%; - -webkit-transform: translate3d(-50%, -50%, 0); - transform: translate3d(-50%, -50%, 0); } - .md-chips .md-chip-input-container { - display: block; - line-height: 32px; - margin: 8px 8px 0 0; - padding: 0 8px 0 12px; - float: left; } - .md-chips .md-chip-input-container input:not([type]), .md-chips .md-chip-input-container input[type="email"], .md-chips .md-chip-input-container input[type="number"], .md-chips .md-chip-input-container input[type="tel"], .md-chips .md-chip-input-container input[type="url"], .md-chips .md-chip-input-container input[type="text"] { - border: 0; - height: 32px; - line-height: 32px; - padding: 0; } - .md-chips .md-chip-input-container input:not([type]):focus, .md-chips .md-chip-input-container input[type="email"]:focus, .md-chips .md-chip-input-container input[type="number"]:focus, .md-chips .md-chip-input-container input[type="tel"]:focus, .md-chips .md-chip-input-container input[type="url"]:focus, .md-chips .md-chip-input-container input[type="text"]:focus { - outline: none; } - .md-chips .md-chip-input-container md-autocomplete, .md-chips .md-chip-input-container md-autocomplete-wrap { - background: transparent; - height: 32px; } - .md-chips .md-chip-input-container md-autocomplete md-autocomplete-wrap { - box-shadow: none; } - .md-chips .md-chip-input-container md-autocomplete input { - position: relative; } - .md-chips .md-chip-input-container input { - border: 0; - height: 32px; - line-height: 32px; - padding: 0; } - .md-chips .md-chip-input-container input:focus { - outline: none; } - .md-chips .md-chip-input-container md-autocomplete, .md-chips .md-chip-input-container md-autocomplete-wrap { - height: 32px; } - .md-chips .md-chip-input-container md-autocomplete { - box-shadow: none; } - .md-chips .md-chip-input-container md-autocomplete input { - position: relative; } - .md-chips .md-chip-input-container:not(:first-child) { - margin: 8px 8px 0 0; } - .md-chips .md-chip-input-container input { - background: transparent; - border-width: 0; } - .md-chips md-autocomplete button { - display: none; } - -@media screen and (-ms-high-contrast: active) { - .md-chip-input-container, md-chip { - border: 1px solid #fff; } - .md-chip-input-container md-autocomplete { - border: none; } } diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/chips/chips.js b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/chips/chips.js deleted file mode 100644 index e2d7e29b..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/chips/chips.js +++ /dev/null @@ -1,949 +0,0 @@ -/*! - * Angular Material Design - * https://github.com/angular/material - * @license MIT - * v0.9.8 - */ -(function( window, angular, undefined ){ -"use strict"; - -/** - * @ngdoc module - * @name material.components.chips - */ -/* - * @see js folder for chips implementation - */ -angular.module('material.components.chips', [ - 'material.core', - 'material.components.autocomplete' -]); - -angular - .module('material.components.chips') - .directive('mdChip', MdChip); - -/** - * @ngdoc directive - * @name mdChip - * @module material.components.chips - * - * @description - * `` is a component used within `` and is responsible for rendering individual - * chips. - * - * - * @usage - * - * {{$chip}} - * - * - */ - -// This hint text is hidden within a chip but used by screen readers to -// inform the user how they can interact with a chip. -var DELETE_HINT_TEMPLATE = '\ - \ - {{$mdChipsCtrl.deleteHint}}\ - '; - -/** - * MDChip Directive Definition - * - * @param $mdTheming - * @param $mdInkRipple - * ngInject - */ -function MdChip($mdTheming) { - return { - restrict: 'E', - require: '^?mdChips', - compile: compile - }; - - function compile(element, attr) { - element.append(DELETE_HINT_TEMPLATE); - return function postLink(scope, element, attr, ctrl) { - element.addClass('md-chip'); - $mdTheming(element); - - if (ctrl) angular.element(element[0].querySelector('.md-chip-content')) - .on('blur', function () { - ctrl.selectedChip = -1; - }); - }; - } -} -MdChip.$inject = ["$mdTheming"]; - -angular - .module('material.components.chips') - .directive('mdChipRemove', MdChipRemove); - -/** - * @ngdoc directive - * @name mdChipRemove - * @module material.components.chips - * - * @description - * `` - * Designates an element to be used as the delete button for a chip. This - * element is passed as a child of the `md-chips` element. - * - * @usage - * - * - * - */ - - -/** - * MdChipRemove Directive Definition. - * - * @param $compile - * @param $timeout - * @returns {{restrict: string, require: string[], link: Function, scope: boolean}} - * @constructor - */ -function MdChipRemove ($timeout) { - return { - restrict: 'A', - require: '^mdChips', - scope: false, - link: postLink - }; - - function postLink(scope, element, attr, ctrl) { - element.on('click', function(event) { - scope.$apply(function() { - ctrl.removeChip(scope.$$replacedScope.$index); - }); - }); - - // Child elements aren't available until after a $timeout tick as they are hidden by an - // `ng-if`. see http://goo.gl/zIWfuw - $timeout(function() { - element.attr({ tabindex: -1, ariaHidden: true }); - element.find('button').attr('tabindex', '-1'); - }); - } -} -MdChipRemove.$inject = ["$timeout"]; - -angular - .module('material.components.chips') - .directive('mdChipTransclude', MdChipTransclude); - -function MdChipTransclude ($compile, $mdUtil) { - return { - restrict: 'EA', - terminal: true, - link: link, - scope: false - }; - function link (scope, element, attr) { - var ctrl = scope.$parent.$mdChipsCtrl, - newScope = ctrl.parent.$new(false, ctrl.parent); - newScope.$$replacedScope = scope; - newScope.$chip = scope.$chip; - newScope.$mdChipsCtrl = ctrl; - element.html(ctrl.$scope.$eval(attr.mdChipTransclude)); - $compile(element.contents())(newScope); - } -} -MdChipTransclude.$inject = ["$compile", "$mdUtil"]; - -angular - .module('material.components.chips') - .controller('MdChipsCtrl', MdChipsCtrl); - -/** - * Controller for the MdChips component. Responsible for adding to and - * removing from the list of chips, marking chips as selected, and binding to - * the models of various input components. - * - * @param $scope - * @param $mdConstant - * @param $log - * @param $element - * @constructor - */ -function MdChipsCtrl ($scope, $mdConstant, $log, $element, $timeout) { - /** @type {$timeout} **/ - this.$timeout = $timeout; - - /** @type {Object} */ - this.$mdConstant = $mdConstant; - - /** @type {angular.$scope} */ - this.$scope = $scope; - - /** @type {angular.$scope} */ - this.parent = $scope.$parent; - - /** @type {$log} */ - this.$log = $log; - - /** @type {$element} */ - this.$element = $element; - - /** @type {angular.NgModelController} */ - this.ngModelCtrl = null; - - /** @type {angular.NgModelController} */ - this.userInputNgModelCtrl = null; - - /** @type {Element} */ - this.userInputElement = null; - - /** @type {Array.} */ - this.items = []; - - /** @type {number} */ - this.selectedChip = -1; - - - /** - * Hidden hint text for how to delete a chip. Used to give context to screen readers. - * @type {string} - */ - this.deleteHint = 'Press delete to remove this chip.'; - - /** - * Hidden label for the delete button. Used to give context to screen readers. - * @type {string} - */ - this.deleteButtonLabel = 'Remove'; - - /** - * Model used by the input element. - * @type {string} - */ - this.chipBuffer = ''; - - /** - * Whether to use the mdOnAppend expression to transform the chip buffer - * before appending it to the list. - * @type {boolean} - */ - this.useMdOnAppend = false; -} -MdChipsCtrl.$inject = ["$scope", "$mdConstant", "$log", "$element", "$timeout"]; - -/** - * Handles the keydown event on the input element: appends the - * buffer to the chip list, while backspace removes the last chip in the list - * if the current buffer is empty. - * @param event - */ -MdChipsCtrl.prototype.inputKeydown = function(event) { - var chipBuffer = this.getChipBuffer(); - switch (event.keyCode) { - case this.$mdConstant.KEY_CODE.ENTER: - if (this.$scope.requireMatch || !chipBuffer) break; - event.preventDefault(); - this.appendChip(chipBuffer); - this.resetChipBuffer(); - break; - case this.$mdConstant.KEY_CODE.BACKSPACE: - if (chipBuffer) break; - event.stopPropagation(); - if (this.items.length) this.selectAndFocusChipSafe(this.items.length - 1); - break; - } -}; - -/** - * Handles the keydown event on the chip elements: backspace removes the selected chip, arrow - * keys switch which chips is active - * @param event - */ -MdChipsCtrl.prototype.chipKeydown = function (event) { - if (this.getChipBuffer()) return; - switch (event.keyCode) { - case this.$mdConstant.KEY_CODE.BACKSPACE: - case this.$mdConstant.KEY_CODE.DELETE: - if (this.selectedChip < 0) return; - event.preventDefault(); - this.removeAndSelectAdjacentChip(this.selectedChip); - break; - case this.$mdConstant.KEY_CODE.LEFT_ARROW: - event.preventDefault(); - if (this.selectedChip < 0) this.selectedChip = this.items.length; - if (this.items.length) this.selectAndFocusChipSafe(this.selectedChip - 1); - break; - case this.$mdConstant.KEY_CODE.RIGHT_ARROW: - event.preventDefault(); - this.selectAndFocusChipSafe(this.selectedChip + 1); - break; - case this.$mdConstant.KEY_CODE.ESCAPE: - case this.$mdConstant.KEY_CODE.TAB: - if (this.selectedChip < 0) return; - event.preventDefault(); - this.onFocus(); - break; - } -}; - -/** - * Get the input's placeholder - uses `placeholder` when list is empty and `secondary-placeholder` - * when the list is non-empty. If `secondary-placeholder` is not provided, `placeholder` is used - * always. - */ -MdChipsCtrl.prototype.getPlaceholder = function() { - // Allow `secondary-placeholder` to be blank. - var useSecondary = (this.items.length && - (this.secondaryPlaceholder == '' || this.secondaryPlaceholder)); - return useSecondary ? this.placeholder : this.secondaryPlaceholder; -}; - -/** - * Removes chip at {@code index} and selects the adjacent chip. - * @param index - */ -MdChipsCtrl.prototype.removeAndSelectAdjacentChip = function(index) { - var selIndex = this.getAdjacentChipIndex(index); - this.removeChip(index); - this.$timeout(angular.bind(this, function () { - this.selectAndFocusChipSafe(selIndex); - })); -}; - -/** - * Sets the selected chip index to -1. - */ -MdChipsCtrl.prototype.resetSelectedChip = function() { - this.selectedChip = -1; -}; - -/** - * Gets the index of an adjacent chip to select after deletion. Adjacency is - * determined as the next chip in the list, unless the target chip is the - * last in the list, then it is the chip immediately preceding the target. If - * there is only one item in the list, -1 is returned (select none). - * The number returned is the index to select AFTER the target has been - * removed. - * If the current chip is not selected, then -1 is returned to select none. - */ -MdChipsCtrl.prototype.getAdjacentChipIndex = function(index) { - var len = this.items.length - 1; - return (len == 0) ? -1 : - (index == len) ? index -1 : index; -}; - -/** - * Append the contents of the buffer to the chip list. This method will first - * call out to the md-on-append method, if provided - * @param newChip - */ -MdChipsCtrl.prototype.appendChip = function(newChip) { - if (this.items.indexOf(newChip) + 1) return; - if (this.useMdOnAppend && this.mdOnAppend) { - newChip = this.mdOnAppend({'$chip': newChip}); - } - this.items.push(newChip); -}; - -/** - * Sets whether to use the md-on-append expression. This expression is - * bound to scope and controller in {@code MdChipsDirective} as - * {@code mdOnAppend}. Due to the nature of directive scope bindings, the - * controller cannot know on its own/from the scope whether an expression was - * actually provided. - */ -MdChipsCtrl.prototype.useMdOnAppendExpression = function() { - this.useMdOnAppend = true; -}; - -/** - * Gets the input buffer. The input buffer can be the model bound to the - * default input item {@code this.chipBuffer}, the {@code selectedItem} - * model of an {@code md-autocomplete}, or, through some magic, the model - * bound to any inpput or text area element found within a - * {@code md-input-container} element. - * @return {Object|string} - */ -MdChipsCtrl.prototype.getChipBuffer = function() { - return !this.userInputElement ? this.chipBuffer : - this.userInputNgModelCtrl ? this.userInputNgModelCtrl.$viewValue : - this.userInputElement[0].value; -}; - -/** - * Resets the input buffer for either the internal input or user provided input element. - */ -MdChipsCtrl.prototype.resetChipBuffer = function() { - if (this.userInputElement) { - if (this.userInputNgModelCtrl) { - this.userInputNgModelCtrl.$setViewValue(''); - this.userInputNgModelCtrl.$render(); - } else { - this.userInputElement[0].value = ''; - } - } else { - this.chipBuffer = ''; - } -}; - -/** - * Removes the chip at the given index. - * @param index - */ -MdChipsCtrl.prototype.removeChip = function(index) { - this.items.splice(index, 1); -}; - -MdChipsCtrl.prototype.removeChipAndFocusInput = function (index) { - this.removeChip(index); - this.onFocus(); -}; -/** - * Selects the chip at `index`, - * @param index - */ -MdChipsCtrl.prototype.selectAndFocusChipSafe = function(index) { - if (!this.items.length) { - this.selectChip(-1); - this.onFocus(); - return; - } - if (index === this.items.length) return this.onFocus(); - index = Math.max(index, 0); - index = Math.min(index, this.items.length - 1); - this.selectChip(index); - this.focusChip(index); -}; - -/** - * Marks the chip at the given index as selected. - * @param index - */ -MdChipsCtrl.prototype.selectChip = function(index) { - if (index >= -1 && index <= this.items.length) { - this.selectedChip = index; - } else { - this.$log.warn('Selected Chip index out of bounds; ignoring.'); - } -}; - -/** - * Selects the chip at `index` and gives it focus. - * @param index - */ -MdChipsCtrl.prototype.selectAndFocusChip = function(index) { - this.selectChip(index); - if (index != -1) { - this.focusChip(index); - } -}; - -/** - * Call `focus()` on the chip at `index` - */ -MdChipsCtrl.prototype.focusChip = function(index) { - this.$element[0].querySelector('md-chip[index="' + index + '"] .md-chip-content').focus(); -}; - -/** - * Configures the required interactions with the ngModel Controller. - * Specifically, set {@code this.items} to the {@code NgModelCtrl#$viewVale}. - * @param ngModelCtrl - */ -MdChipsCtrl.prototype.configureNgModel = function(ngModelCtrl) { - this.ngModelCtrl = ngModelCtrl; - - var self = this; - ngModelCtrl.$render = function() { - // model is updated. do something. - self.items = self.ngModelCtrl.$viewValue; - }; -}; - -MdChipsCtrl.prototype.onFocus = function () { - var input = this.$element[0].querySelector('input'); - input && input.focus(); - this.resetSelectedChip(); -}; - -MdChipsCtrl.prototype.onInputFocus = function () { - this.inputHasFocus = true; - this.resetSelectedChip(); -}; - -MdChipsCtrl.prototype.onInputBlur = function () { - this.inputHasFocus = false; -}; - -/** - * Configure event bindings on a user-provided input element. - * @param inputElement - */ -MdChipsCtrl.prototype.configureUserInput = function(inputElement) { - this.userInputElement = inputElement; - - // Find the NgModelCtrl for the input element - var ngModelCtrl = inputElement.controller('ngModel'); - // `.controller` will look in the parent as well. - if (ngModelCtrl != this.ngModelCtrl) { - this.userInputNgModelCtrl = ngModelCtrl; - } - - // Bind to keydown and focus events of input - var scope = this.$scope; - var ctrl = this; - inputElement - .attr({ tabindex: 0 }) - .on('keydown', function(event) { scope.$apply( angular.bind(ctrl, function() { ctrl.inputKeydown(event); })) }) - .on('focus', angular.bind(ctrl, ctrl.onInputFocus)) - .on('blur', angular.bind(ctrl, ctrl.onInputBlur)); -}; - -MdChipsCtrl.prototype.configureAutocomplete = function(ctrl) { - - ctrl.registerSelectedItemWatcher(angular.bind(this, function (item) { - if (item) { - this.appendChip(item); - this.resetChipBuffer(); - } - })); - - this.$element.find('input') - .on('focus',angular.bind(this, this.onInputFocus) ) - .on('blur', angular.bind(this, this.onInputBlur) ); -}; - -MdChipsCtrl.prototype.hasFocus = function () { - return this.inputHasFocus || this.selectedChip >= 0; -}; - - angular - .module('material.components.chips') - .directive('mdChips', MdChips); - - /** - * @ngdoc directive - * @name mdChips - * @module material.components.chips - * - * @description - * `` is an input component for building lists of strings or objects. The list items are - * displayed as 'chips'. This component can make use of an `` element or an - * `` element. - * - * Custom `` template - * A custom template may be provided to render the content of each chip. This is achieved by - * specifying an `` element as a child of ``. Note: Any attributes on - * `` will be dropped as only the innerHTML is used for the chip template. The - * variables `$chip` and `$index` are available in the scope of ``, representing - * the chip object and its index in the list of chips, respectively. - * To override the chip delete control, include an element (ideally a button) with the attribute - * `md-chip-remove`. A click listener to remove the chip will be added automatically. The element - * is also placed as a sibling to the chip content (on which there are also click listeners) to - * avoid a nested ng-click situation. - * - *

    Pending Features

    - *
      - * - *
        Style - *
      • Colours for hover, press states (ripple?).
      • - *
      - * - *
        List Manipulation - *
      • delete item via DEL or backspace keys when selected
      • - *
      - * - *
        Validation - *
      • de-dupe values (or support duplicates, but fix the ng-repeat duplicate key issue)
      • - *
      • allow a validation callback
      • - *
      • hilighting style for invalid chips
      • - *
      - * - *
        Item mutation - *
      • Support ` - * ` template, show/hide the edit element on tap/click? double tap/double - * click? - *
      • - *
      - * - *
        Truncation and Disambiguation (?) - *
      • Truncate chip text where possible, but do not truncate entries such that two are - * indistinguishable.
      • - *
      - * - *
        Drag and Drop - *
      • Drag and drop chips between related `` elements. - *
      • - *
      - *
    - * - * - * Warning: This component is a WORK IN PROGRESS. If you use it now, - * it will probably break on you in the future. - * - * - * @param {string=|object=} ng-model A model to bind the list of items to - * @param {string=} placeholder Placeholder text that will be forwarded to the input. - * @param {string=} secondary-placeholder Placeholder text that will be forwarded to the input, - * displayed when there is at least on item in the list - * @param {boolean=} readonly Disables list manipulation (deleting or adding list items), hiding - * the input and delete buttons - * @param {expression} md-on-append An expression expected to convert the input string into an - * object when adding a chip. - * @param {string=} delete-hint A string read by screen readers instructing users that pressing - * the delete key will remove the chip. - * @param {string=} delete-button-label A label for the delete button. Also hidden and read by - * screen readers. - * - * @usage - * - * - * - * - * - */ - - - var MD_CHIPS_TEMPLATE = '\ - \ - \ - \ -
    \ -
    \ -
    \ - \ - '; - - var CHIP_INPUT_TEMPLATE = '\ - '; - - var CHIP_DEFAULT_TEMPLATE = '\ - {{$chip}}'; - - var CHIP_REMOVE_TEMPLATE = '\ -
    \ - \ -
    \ - {{$chip[$mdContactChipsCtrl.contactName]}}\ -
    \ -
    \ - {{$chip[$mdContactChipsCtrl.contactName]}}\ -
    \ -
    \ -
    '; - - - /** - * MDContactChips Directive Definition - * - * @param $mdTheming - * @returns {*} - * ngInject - */ - function MdContactChips ($mdTheming, $mdUtil) { - return { - template: function(element, attrs) { - return MD_CONTACT_CHIPS_TEMPLATE; - }, - restrict: 'E', - controller: 'MdContactChipsCtrl', - controllerAs: '$mdContactChipsCtrl', - bindToController: true, - compile: compile, - scope: { - contactQuery: '&mdContacts', - placeholder: '@', - secondaryPlaceholder: '@', - contactName: '@mdContactName', - contactImage: '@mdContactImage', - contactEmail: '@mdContactEmail', - contacts: '=ngModel', - requireMatch: '=?mdRequireMatch' - } - }; - - function compile(element, attr) { - return function postLink(scope, element, attrs, controllers) { - - $mdUtil.initOptionalProperties(scope, attr); - $mdTheming(element); - - element.attr('tabindex', '-1'); - }; - } - } - MdContactChips.$inject = ["$mdTheming", "$mdUtil"]; - -})(window, window.angular); \ No newline at end of file diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/chips/chips.min.css b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/chips/chips.min.css deleted file mode 100644 index 6343b502..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/chips/chips.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Angular Material Design - * https://github.com/angular/material - * @license MIT - * v0.9.8 - */.md-contact-chips .md-chips .md-chip{padding:0 8px 0 0}.md-contact-chips .md-chips .md-chip .md-contact-avatar{float:left}.md-contact-chips .md-chips .md-chip .md-contact-avatar img{height:32px;border-radius:16px}.md-contact-chips .md-chips .md-chip .md-contact-name{display:inline-block;height:32px;margin-left:8px}.md-contact-suggestion{height:56px}.md-contact-suggestion img{height:40px;border-radius:20px;margin-top:8px}.md-contact-suggestion .md-contact-name{margin-left:8px;width:120px}.md-contact-suggestion .md-contact-email,.md-contact-suggestion .md-contact-name{display:inline-block;overflow:hidden;text-overflow:ellipsis}.md-contact-chips-suggestions li{height:100%}.md-chips{display:block;font-family:RobotoDraft,Roboto,'Helvetica Neue',sans-serif;font-size:13px;padding:0 0 8px;vertical-align:middle;cursor:text}.md-chips:after{content:'';display:table;clear:both}.md-chips .md-chip{cursor:default;border-radius:16px;display:block;height:32px;line-height:32px;margin:8px 8px 0 0;padding:0 8px 0 12px;float:left}.md-chips .md-chip .md-chip-content{display:block;padding-right:4px;float:left;white-space:nowrap}.md-chips .md-chip .md-chip-content:focus{outline:0}.md-chips .md-chip .md-chip-remove-container{display:inline-block;margin-right:-5px}.md-chips .md-chip .md-chip-remove{text-align:center;width:32px;height:32px;min-width:0;padding:0;background:0 0;border:none;box-shadow:none;margin:0;position:relative}.md-chips .md-chip .md-chip-remove md-icon{height:18px;width:18px;position:absolute;top:50%;left:50%;-webkit-transform:translate3d(-50%,-50%,0);transform:translate3d(-50%,-50%,0)}.md-chips .md-chip-input-container{display:block;line-height:32px;margin:8px 8px 0 0;padding:0 8px 0 12px;float:left}.md-chips .md-chip-input-container input:not([type]),.md-chips .md-chip-input-container input[type=email],.md-chips .md-chip-input-container input[type=number],.md-chips .md-chip-input-container input[type=tel],.md-chips .md-chip-input-container input[type=url],.md-chips .md-chip-input-container input[type=text]{border:0;height:32px;line-height:32px;padding:0}.md-chips .md-chip-input-container input:not([type]):focus,.md-chips .md-chip-input-container input[type=email]:focus,.md-chips .md-chip-input-container input[type=number]:focus,.md-chips .md-chip-input-container input[type=tel]:focus,.md-chips .md-chip-input-container input[type=url]:focus,.md-chips .md-chip-input-container input[type=text]:focus{outline:0}.md-chips .md-chip-input-container md-autocomplete,.md-chips .md-chip-input-container md-autocomplete-wrap{background:0 0}.md-chips .md-chip-input-container md-autocomplete md-autocomplete-wrap{box-shadow:none}.md-chips .md-chip-input-container input{border:0;height:32px;line-height:32px;padding:0}.md-chips .md-chip-input-container input:focus{outline:0}.md-chips .md-chip-input-container md-autocomplete,.md-chips .md-chip-input-container md-autocomplete-wrap{height:32px}.md-chips .md-chip-input-container md-autocomplete{box-shadow:none}.md-chips .md-chip-input-container md-autocomplete input{position:relative}.md-chips .md-chip-input-container:not(:first-child){margin:8px 8px 0 0}.md-chips .md-chip-input-container input{background:0 0;border-width:0}.md-chips md-autocomplete button{display:none}@media screen and (-ms-high-contrast:active){.md-chip-input-container,md-chip{border:1px solid #fff}.md-chip-input-container md-autocomplete{border:none}} \ No newline at end of file diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/chips/chips.min.js b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/chips/chips.min.js deleted file mode 100644 index 55ed20b4..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/chips/chips.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * Angular Material Design - * https://github.com/angular/material - * @license MIT - * v0.9.8 - */ -!function(t,e,i){"use strict";function n(t){function i(i,n){return i.append(l),function(i,n,o,s){n.addClass("md-chip"),t(n),s&&e.element(n[0].querySelector(".md-chip-content")).on("blur",function(){s.selectedChip=-1})}}return{restrict:"E",require:"^?mdChips",compile:i}}function o(t){function e(e,i,n,o){i.on("click",function(t){e.$apply(function(){o.removeChip(e.$$replacedScope.$index)})}),t(function(){i.attr({tabindex:-1,ariaHidden:!0}),i.find("button").attr("tabindex","-1")})}return{restrict:"A",require:"^mdChips",scope:!1,link:e}}function s(t,e){function i(e,i,n){var o=e.$parent.$mdChipsCtrl,s=o.parent.$new(!1,o.parent);s.$$replacedScope=e,s.$chip=e.$chip,s.$mdChipsCtrl=o,i.html(o.$scope.$eval(n.mdChipTransclude)),t(i.contents())(s)}return{restrict:"EA",terminal:!0,link:i,scope:!1}}function c(t,e,i,n,o){this.$timeout=o,this.$mdConstant=e,this.$scope=t,this.parent=t.$parent,this.$log=i,this.$element=n,this.ngModelCtrl=null,this.userInputNgModelCtrl=null,this.userInputElement=null,this.items=[],this.selectedChip=-1,this.deleteHint="Press delete to remove this chip.",this.deleteButtonLabel="Remove",this.chipBuffer="",this.useMdOnAppend=!1}function r(t,e,i,n,o){function s(s,c){function r(t){if(c.ngModel){var e=p[0].querySelector(t);return e&&e.outerHTML}}var p=c.$mdUserTemplate;c.$mdUserTemplate=null;var d=r("md-chips>*[md-chip-remove]")||u,l=r("md-chips>md-chip-template")||m,h=r("md-chips>md-autocomplete")||r("md-chips>input")||a,C=p.find("md-chip");return p[0].querySelector("md-chip-template>*[md-chip-remove]")&&n.warn("invalid placement of md-chip-remove within md-chip-template."),function(n,s,r,p){e.initOptionalProperties(n,c),t(s);var m=p[0];if(m.chipContentsTemplate=l,m.chipRemoveTemplate=d,m.chipInputTemplate=h,s.attr({ariaHidden:!0,tabindex:-1}).on("focus",function(){m.onFocus()}),c.ngModel&&(m.configureNgModel(s.controller("ngModel")),r.mdOnAppend&&m.useMdOnAppendExpression(),h!=a&&o(function(){0===h.indexOf("0){var u=i(C)(n.$parent);o(function(){s.find("md-chips-wrap").prepend(u)})}}}return{template:function(t,e){e.$mdUserTemplate=t.clone();return h},require:["mdChips"],restrict:"E",controller:"MdChipsCtrl",controllerAs:"$mdChipsCtrl",bindToController:!0,compile:s,scope:{readonly:"=readonly",placeholder:"@",secondaryPlaceholder:"@",mdOnAppend:"&",deleteHint:"@",deleteButtonLabel:"@",requireMatch:"=?mdRequireMatch"}}}function p(){this.selectedItem=null,this.searchText=""}function d(t,e){function i(i,n){return function(i,o,s,c){e.initOptionalProperties(i,n),t(o),o.attr("tabindex","-1")}}return{template:function(t,e){return C},restrict:"E",controller:"MdContactChipsCtrl",controllerAs:"$mdContactChipsCtrl",bindToController:!0,compile:i,scope:{contactQuery:"&mdContacts",placeholder:"@",secondaryPlaceholder:"@",contactName:"@mdContactName",contactImage:"@mdContactImage",contactEmail:"@mdContactEmail",contacts:"=ngModel",requireMatch:"=?mdRequireMatch"}}}e.module("material.components.chips",["material.core","material.components.autocomplete"]),e.module("material.components.chips").directive("mdChip",n);var l=' {{$mdChipsCtrl.deleteHint}} ';n.$inject=["$mdTheming"],e.module("material.components.chips").directive("mdChipRemove",o),o.$inject=["$timeout"],e.module("material.components.chips").directive("mdChipTransclude",s),s.$inject=["$compile","$mdUtil"],e.module("material.components.chips").controller("MdChipsCtrl",c),c.$inject=["$scope","$mdConstant","$log","$element","$timeout"],c.prototype.inputKeydown=function(t){var e=this.getChipBuffer();switch(t.keyCode){case this.$mdConstant.KEY_CODE.ENTER:if(this.$scope.requireMatch||!e)break;t.preventDefault(),this.appendChip(e),this.resetChipBuffer();break;case this.$mdConstant.KEY_CODE.BACKSPACE:if(e)break;t.stopPropagation(),this.items.length&&this.selectAndFocusChipSafe(this.items.length-1)}},c.prototype.chipKeydown=function(t){if(!this.getChipBuffer())switch(t.keyCode){case this.$mdConstant.KEY_CODE.BACKSPACE:case this.$mdConstant.KEY_CODE.DELETE:if(this.selectedChip<0)return;t.preventDefault(),this.removeAndSelectAdjacentChip(this.selectedChip);break;case this.$mdConstant.KEY_CODE.LEFT_ARROW:t.preventDefault(),this.selectedChip<0&&(this.selectedChip=this.items.length),this.items.length&&this.selectAndFocusChipSafe(this.selectedChip-1);break;case this.$mdConstant.KEY_CODE.RIGHT_ARROW:t.preventDefault(),this.selectAndFocusChipSafe(this.selectedChip+1);break;case this.$mdConstant.KEY_CODE.ESCAPE:case this.$mdConstant.KEY_CODE.TAB:if(this.selectedChip<0)return;t.preventDefault(),this.onFocus()}},c.prototype.getPlaceholder=function(){var t=this.items.length&&(""==this.secondaryPlaceholder||this.secondaryPlaceholder);return t?this.placeholder:this.secondaryPlaceholder},c.prototype.removeAndSelectAdjacentChip=function(t){var i=this.getAdjacentChipIndex(t);this.removeChip(t),this.$timeout(e.bind(this,function(){this.selectAndFocusChipSafe(i)}))},c.prototype.resetSelectedChip=function(){this.selectedChip=-1},c.prototype.getAdjacentChipIndex=function(t){var e=this.items.length-1;return 0==e?-1:t==e?t-1:t},c.prototype.appendChip=function(t){this.items.indexOf(t)+1||(this.useMdOnAppend&&this.mdOnAppend&&(t=this.mdOnAppend({$chip:t})),this.items.push(t))},c.prototype.useMdOnAppendExpression=function(){this.useMdOnAppend=!0},c.prototype.getChipBuffer=function(){return this.userInputElement?this.userInputNgModelCtrl?this.userInputNgModelCtrl.$viewValue:this.userInputElement[0].value:this.chipBuffer},c.prototype.resetChipBuffer=function(){this.userInputElement?this.userInputNgModelCtrl?(this.userInputNgModelCtrl.$setViewValue(""),this.userInputNgModelCtrl.$render()):this.userInputElement[0].value="":this.chipBuffer=""},c.prototype.removeChip=function(t){this.items.splice(t,1)},c.prototype.removeChipAndFocusInput=function(t){this.removeChip(t),this.onFocus()},c.prototype.selectAndFocusChipSafe=function(t){return this.items.length?t===this.items.length?this.onFocus():(t=Math.max(t,0),t=Math.min(t,this.items.length-1),this.selectChip(t),void this.focusChip(t)):(this.selectChip(-1),void this.onFocus())},c.prototype.selectChip=function(t){t>=-1&&t<=this.items.length?this.selectedChip=t:this.$log.warn("Selected Chip index out of bounds; ignoring.")},c.prototype.selectAndFocusChip=function(t){this.selectChip(t),-1!=t&&this.focusChip(t)},c.prototype.focusChip=function(t){this.$element[0].querySelector('md-chip[index="'+t+'"] .md-chip-content').focus()},c.prototype.configureNgModel=function(t){this.ngModelCtrl=t;var e=this;t.$render=function(){e.items=e.ngModelCtrl.$viewValue}},c.prototype.onFocus=function(){var t=this.$element[0].querySelector("input");t&&t.focus(),this.resetSelectedChip()},c.prototype.onInputFocus=function(){this.inputHasFocus=!0,this.resetSelectedChip()},c.prototype.onInputBlur=function(){this.inputHasFocus=!1},c.prototype.configureUserInput=function(t){this.userInputElement=t;var i=t.controller("ngModel");i!=this.ngModelCtrl&&(this.userInputNgModelCtrl=i);var n=this.$scope,o=this;t.attr({tabindex:0}).on("keydown",function(t){n.$apply(e.bind(o,function(){o.inputKeydown(t)}))}).on("focus",e.bind(o,o.onInputFocus)).on("blur",e.bind(o,o.onInputBlur))},c.prototype.configureAutocomplete=function(t){t.registerSelectedItemWatcher(e.bind(this,function(t){t&&(this.appendChip(t),this.resetChipBuffer())})),this.$element.find("input").on("focus",e.bind(this,this.onInputFocus)).on("blur",e.bind(this,this.onInputBlur))},c.prototype.hasFocus=function(){return this.inputHasFocus||this.selectedChip>=0},e.module("material.components.chips").directive("mdChips",r);var h='
    ',a=' ',m=" {{$chip}}",u=' ';r.$inject=["$mdTheming","$mdUtil","$compile","$log","$timeout"],e.module("material.components.chips").controller("MdContactChipsCtrl",p),p.prototype.queryContact=function(t){var i=this.contactQuery({$query:t});return this.filterSelected?i.filter(e.bind(this,this.filterSelectedContacts)):i},p.prototype.filterSelectedContacts=function(t){return-1==this.contacts.indexOf(t)},e.module("material.components.chips").directive("mdContactChips",d);var C='
    {{item[$mdContactChipsCtrl.contactName]}} {{item[$mdContactChipsCtrl.contactName]}} {{item[$mdContactChipsCtrl.contactEmail]}}
    {{$chip[$mdContactChipsCtrl.contactName]}}
    {{$chip[$mdContactChipsCtrl.contactName]}}
    ';d.$inject=["$mdTheming","$mdUtil"]}(window,window.angular); \ No newline at end of file diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/content/bower.json b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/content/bower.json deleted file mode 100644 index a88a677b..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/content/bower.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "name": "angular-material-content", - "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/content/content-default-theme.css b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/content/content-default-theme.css deleted file mode 100644 index 3b7b4dca..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/content/content-default-theme.css +++ /dev/null @@ -1,9 +0,0 @@ -/*! - * 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-content.md-THEME_NAME-theme { - background-color: '{{background-color}}'; } diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/content/content-default-theme.min.css b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/content/content-default-theme.min.css deleted file mode 100644 index 5da5131d..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/content/content-default-theme.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Angular Material Design - * https://github.com/angular/material - * @license MIT - * v0.9.8 - */md-content.md-THEME_NAME-theme{background-color:'{{background-color}}'} \ No newline at end of file diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/content/content.css b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/content/content.css deleted file mode 100644 index 2909004d..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/content/content.css +++ /dev/null @@ -1,20 +0,0 @@ -/*! - * 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-content { - display: block; - position: relative; - overflow: auto; - -webkit-overflow-scrolling: touch; } - md-content[md-scroll-y] { - overflow-y: auto; - overflow-x: hidden; } - md-content[md-scroll-x] { - overflow-x: auto; - overflow-y: hidden; } - md-content.autoScroll { - -webkit-overflow-scrolling: auto; } diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/content/content.js b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/content/content.js deleted file mode 100644 index 5e191e29..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/content/content.js +++ /dev/null @@ -1,85 +0,0 @@ -/*! - * Angular Material Design - * https://github.com/angular/material - * @license MIT - * v0.9.8 - */ -(function( window, angular, undefined ){ -"use strict"; - -/** - * @ngdoc module - * @name material.components.content - * - * @description - * Scrollable content - */ -angular.module('material.components.content', [ - 'material.core' -]) - .directive('mdContent', mdContentDirective); - -/** - * @ngdoc directive - * @name mdContent - * @module material.components.content - * - * @restrict E - * - * @description - * The `` directive is a container element useful for scrollable content - * - * @usage - * - * - Add the `[layout-padding]` attribute to make the content padded. - * - * - * - * Lorem ipsum dolor sit amet, ne quod novum mei. - * - * - * - */ - -function mdContentDirective($mdTheming) { - return { - restrict: 'E', - controller: ['$scope', '$element', ContentController], - link: function(scope, element, attr) { - var node = element[0]; - - $mdTheming(element); - scope.$broadcast('$mdContentLoaded', element); - - iosScrollFix(element[0]); - } - }; - - function ContentController($scope, $element) { - this.$scope = $scope; - this.$element = $element; - } -} -mdContentDirective.$inject = ["$mdTheming"]; - -function iosScrollFix(node) { - // IOS FIX: - // If we scroll where there is no more room for the webview to scroll, - // by default the webview itself will scroll up and down, this looks really - // bad. So if we are scrolling to the very top or bottom, add/subtract one - angular.element(node).on('$md.pressdown', function(ev) { - // Only touch events - if (ev.pointer.type !== 't') return; - // Don't let a child content's touchstart ruin it for us. - if (ev.$materialScrollFixed) return; - ev.$materialScrollFixed = true; - - if (node.scrollTop === 0) { - node.scrollTop = 1; - } else if (node.scrollHeight === node.scrollTop + node.offsetHeight) { - node.scrollTop -= 1; - } - }); -} - -})(window, window.angular); \ No newline at end of file diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/content/content.min.css b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/content/content.min.css deleted file mode 100644 index 877f4adb..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/content/content.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Angular Material Design - * https://github.com/angular/material - * @license MIT - * v0.9.8 - */md-content{display:block;position:relative;overflow:auto;-webkit-overflow-scrolling:touch}md-content[md-scroll-y]{overflow-y:auto;overflow-x:hidden}md-content[md-scroll-x]{overflow-x:auto;overflow-y:hidden}md-content.autoScroll{-webkit-overflow-scrolling:auto} \ No newline at end of file diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/content/content.min.js b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/content/content.min.js deleted file mode 100644 index a5110a27..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/content/content.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * Angular Material Design - * https://github.com/angular/material - * @license MIT - * v0.9.8 - */ -!function(e,t,o){"use strict";function n(e){function t(e,t){this.$scope=e,this.$element=t}return{restrict:"E",controller:["$scope","$element",t],link:function(t,o,n){o[0];e(o),t.$broadcast("$mdContentLoaded",o),i(o[0])}}}function i(e){t.element(e).on("$md.pressdown",function(t){"t"===t.pointer.type&&(t.$materialScrollFixed||(t.$materialScrollFixed=!0,0===e.scrollTop?e.scrollTop=1:e.scrollHeight===e.scrollTop+e.offsetHeight&&(e.scrollTop-=1)))})}t.module("material.components.content",["material.core"]).directive("mdContent",n),n.$inject=["$mdTheming"]}(window,window.angular); \ No newline at end of file diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/core/bower.json b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/core/bower.json deleted file mode 100644 index e2f67f88..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/core/bower.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "angular-material-core", - "version": "0.9.8", - "dependencies": { - "angular-material-gestures": "0.9.8", - "angular-material-theming": "0.9.8" - } -} \ No newline at end of file diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/core/core.css b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/core/core.css deleted file mode 100644 index 6789b140..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/core/core.css +++ /dev/null @@ -1,2590 +0,0 @@ -/*! - * Angular Material Design - * https://github.com/angular/material - * @license MIT - * v0.9.8 - */ -/* mixin definition ; sets LTR and RTL within the same style call */ -/* Sizes: - 0 <= size < 600 Phone - 600 <= size < 960 Tablet - 960 <= size < 1200 Tablet-Landscape - 1200 <= size PC -*/ -[layout] { - box-sizing: border-box; - display: -webkit-flex; - display: -moz-flex; - display: -ms-flexbox; - display: flex; } - -[layout=column] { - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; } - -[layout=row] { - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row; } - -[layout-padding] > [flex-sm], [layout-padding] > [flex-lt-md] { - padding: 4px; } - -[layout-padding], [layout-padding] > [flex], [layout-padding] > [flex-gt-sm], [layout-padding] > [flex-md], [layout-padding] > [flex-lt-lg] { - padding: 8px; } - -[layout-padding] > [flex-gt-md], [layout-padding] > [flex-lg] { - padding: 16px; } - -[layout-margin] > [flex-sm], [layout-margin] > [flex-lt-md] { - margin: 4px; } - -[layout-margin], [layout-margin] > [flex], [layout-margin] > [flex-gt-sm], [layout-margin] > [flex-md], [layout-margin] > [flex-lt-lg] { - margin: 8px; } - -[layout-margin] > [flex-gt-md], [layout-margin] > [flex-lg] { - margin: 16px; } - -[layout-wrap] { - -webkit-flex-wrap: wrap; - -ms-flex-wrap: wrap; - flex-wrap: wrap; } - -[layout-fill] { - margin: 0; - min-height: 100%; - width: 100%; } - -@-moz-document url-prefix() { - [layout-fill] { - margin: 0; - width: 100%; - min-height: auto; - height: inherit; } } - -[flex] { - box-sizing: border-box; - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; } - -[flex="0"] { - -webkit-flex: 0 0 0%; - -ms-flex: 0 0 0%; - flex: 0 0 0%; } - -[layout="row"] > [flex="0"] { - max-width: 0%; } - -[layout="column"] > [flex="0"] { - max-height: 0%; } - -[flex="5"] { - -webkit-flex: 0 0 5%; - -ms-flex: 0 0 5%; - flex: 0 0 5%; } - -[layout="row"] > [flex="5"] { - max-width: 5%; } - -[layout="column"] > [flex="5"] { - max-height: 5%; } - -[flex="10"] { - -webkit-flex: 0 0 10%; - -ms-flex: 0 0 10%; - flex: 0 0 10%; } - -[layout="row"] > [flex="10"] { - max-width: 10%; } - -[layout="column"] > [flex="10"] { - max-height: 10%; } - -[flex="15"] { - -webkit-flex: 0 0 15%; - -ms-flex: 0 0 15%; - flex: 0 0 15%; } - -[layout="row"] > [flex="15"] { - max-width: 15%; } - -[layout="column"] > [flex="15"] { - max-height: 15%; } - -[flex="20"] { - -webkit-flex: 0 0 20%; - -ms-flex: 0 0 20%; - flex: 0 0 20%; } - -[layout="row"] > [flex="20"] { - max-width: 20%; } - -[layout="column"] > [flex="20"] { - max-height: 20%; } - -[flex="25"] { - -webkit-flex: 0 0 25%; - -ms-flex: 0 0 25%; - flex: 0 0 25%; } - -[layout="row"] > [flex="25"] { - max-width: 25%; } - -[layout="column"] > [flex="25"] { - max-height: 25%; } - -[flex="30"] { - -webkit-flex: 0 0 30%; - -ms-flex: 0 0 30%; - flex: 0 0 30%; } - -[layout="row"] > [flex="30"] { - max-width: 30%; } - -[layout="column"] > [flex="30"] { - max-height: 30%; } - -[flex="35"] { - -webkit-flex: 0 0 35%; - -ms-flex: 0 0 35%; - flex: 0 0 35%; } - -[layout="row"] > [flex="35"] { - max-width: 35%; } - -[layout="column"] > [flex="35"] { - max-height: 35%; } - -[flex="40"] { - -webkit-flex: 0 0 40%; - -ms-flex: 0 0 40%; - flex: 0 0 40%; } - -[layout="row"] > [flex="40"] { - max-width: 40%; } - -[layout="column"] > [flex="40"] { - max-height: 40%; } - -[flex="45"] { - -webkit-flex: 0 0 45%; - -ms-flex: 0 0 45%; - flex: 0 0 45%; } - -[layout="row"] > [flex="45"] { - max-width: 45%; } - -[layout="column"] > [flex="45"] { - max-height: 45%; } - -[flex="50"] { - -webkit-flex: 0 0 50%; - -ms-flex: 0 0 50%; - flex: 0 0 50%; } - -[layout="row"] > [flex="50"] { - max-width: 50%; } - -[layout="column"] > [flex="50"] { - max-height: 50%; } - -[flex="55"] { - -webkit-flex: 0 0 55%; - -ms-flex: 0 0 55%; - flex: 0 0 55%; } - -[layout="row"] > [flex="55"] { - max-width: 55%; } - -[layout="column"] > [flex="55"] { - max-height: 55%; } - -[flex="60"] { - -webkit-flex: 0 0 60%; - -ms-flex: 0 0 60%; - flex: 0 0 60%; } - -[layout="row"] > [flex="60"] { - max-width: 60%; } - -[layout="column"] > [flex="60"] { - max-height: 60%; } - -[flex="65"] { - -webkit-flex: 0 0 65%; - -ms-flex: 0 0 65%; - flex: 0 0 65%; } - -[layout="row"] > [flex="65"] { - max-width: 65%; } - -[layout="column"] > [flex="65"] { - max-height: 65%; } - -[flex="70"] { - -webkit-flex: 0 0 70%; - -ms-flex: 0 0 70%; - flex: 0 0 70%; } - -[layout="row"] > [flex="70"] { - max-width: 70%; } - -[layout="column"] > [flex="70"] { - max-height: 70%; } - -[flex="75"] { - -webkit-flex: 0 0 75%; - -ms-flex: 0 0 75%; - flex: 0 0 75%; } - -[layout="row"] > [flex="75"] { - max-width: 75%; } - -[layout="column"] > [flex="75"] { - max-height: 75%; } - -[flex="80"] { - -webkit-flex: 0 0 80%; - -ms-flex: 0 0 80%; - flex: 0 0 80%; } - -[layout="row"] > [flex="80"] { - max-width: 80%; } - -[layout="column"] > [flex="80"] { - max-height: 80%; } - -[flex="85"] { - -webkit-flex: 0 0 85%; - -ms-flex: 0 0 85%; - flex: 0 0 85%; } - -[layout="row"] > [flex="85"] { - max-width: 85%; } - -[layout="column"] > [flex="85"] { - max-height: 85%; } - -[flex="90"] { - -webkit-flex: 0 0 90%; - -ms-flex: 0 0 90%; - flex: 0 0 90%; } - -[layout="row"] > [flex="90"] { - max-width: 90%; } - -[layout="column"] > [flex="90"] { - max-height: 90%; } - -[flex="95"] { - -webkit-flex: 0 0 95%; - -ms-flex: 0 0 95%; - flex: 0 0 95%; } - -[layout="row"] > [flex="95"] { - max-width: 95%; } - -[layout="column"] > [flex="95"] { - max-height: 95%; } - -[flex="100"] { - -webkit-flex: 0 0 100%; - -ms-flex: 0 0 100%; - flex: 0 0 100%; } - -[layout="row"] > [flex="100"] { - max-width: 100%; } - -[layout="column"] > [flex="100"] { - max-height: 100%; } - -[flex="33"], [flex="34"] { - -webkit-flex: 0 0 33.33%; - -ms-flex: 0 0 33.33%; - flex: 0 0 33.33%; } - -[flex="66"], [flex="67"] { - -webkit-flex: 0 0 66.66%; - -ms-flex: 0 0 66.66%; - flex: 0 0 66.66%; } - -[layout="row"] > [flex="33"], [layout="row"] > [flex="34"] { - max-width: 33.33%; } -[layout="row"] > [flex="66"], [layout="row"] > [flex="67"] { - max-width: 66.66%; } - -[layout="column"] > [flex="33"], [layout="column"] > [flex="34"] { - max-height: 33.33%; } -[layout="column"] > [flex="66"], [layout="column"] > [flex="67"] { - max-height: 66.66%; } - -[layout-align="center"], [layout-align="center center"], [layout-align="center start"], [layout-align="center end"] { - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; } - -[layout-align="end"], [layout-align="end center"], [layout-align="end start"], [layout-align="end end"] { - -webkit-justify-content: flex-end; - -ms-flex-pack: end; - justify-content: flex-end; } - -[layout-align="space-around"], [layout-align="space-around center"], [layout-align="space-around start"], [layout-align="space-around end"] { - -webkit-justify-content: space-around; - -ms-flex-pack: distribute; - justify-content: space-around; } - -[layout-align="space-between"], [layout-align="space-between center"], [layout-align="space-between start"], [layout-align="space-between end"] { - -webkit-justify-content: space-between; - -ms-flex-pack: justify; - justify-content: space-between; } - -[layout-align="center center"], [layout-align="start center"], [layout-align="end center"], [layout-align="space-between center"], [layout-align="space-around center"] { - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; } - -[layout-align="center start"], [layout-align="start start"], [layout-align="end start"], [layout-align="space-between start"], [layout-align="space-around start"] { - -webkit-align-items: flex-start; - -ms-flex-align: start; - align-items: flex-start; } - -[layout-align="center end"], [layout-align="start end"], [layout-align="end end"], [layout-align="space-between end"], [layout-align="space-around end"] { - -webkit-align-items: flex-end; - -ms-flex-align: end; - align-items: flex-end; } - -[flex-order="0"] { - -webkit-order: 0; - -ms-flex-order: 0; - order: 0; } - -[flex-order="1"] { - -webkit-order: 1; - -ms-flex-order: 1; - order: 1; } - -[flex-order="2"] { - -webkit-order: 2; - -ms-flex-order: 2; - order: 2; } - -[flex-order="3"] { - -webkit-order: 3; - -ms-flex-order: 3; - order: 3; } - -[flex-order="4"] { - -webkit-order: 4; - -ms-flex-order: 4; - order: 4; } - -[flex-order="5"] { - -webkit-order: 5; - -ms-flex-order: 5; - order: 5; } - -[flex-order="6"] { - -webkit-order: 6; - -ms-flex-order: 6; - order: 6; } - -[flex-order="7"] { - -webkit-order: 7; - -ms-flex-order: 7; - order: 7; } - -[flex-order="8"] { - -webkit-order: 8; - -ms-flex-order: 8; - order: 8; } - -[flex-order="9"] { - -webkit-order: 9; - -ms-flex-order: 9; - order: 9; } - -[offset="5"] { - margin-left: 5%; } - -[offset="10"] { - margin-left: 10%; } - -[offset="15"] { - margin-left: 15%; } - -[offset="20"] { - margin-left: 20%; } - -[offset="25"] { - margin-left: 25%; } - -[offset="30"] { - margin-left: 30%; } - -[offset="35"] { - margin-left: 35%; } - -[offset="40"] { - margin-left: 40%; } - -[offset="45"] { - margin-left: 45%; } - -[offset="50"] { - margin-left: 50%; } - -[offset="55"] { - margin-left: 55%; } - -[offset="60"] { - margin-left: 60%; } - -[offset="65"] { - margin-left: 65%; } - -[offset="70"] { - margin-left: 70%; } - -[offset="75"] { - margin-left: 75%; } - -[offset="80"] { - margin-left: 80%; } - -[offset="85"] { - margin-left: 85%; } - -[offset="90"] { - margin-left: 90%; } - -[offset="95"] { - margin-left: 95%; } - -[offset="33"], [offset="34"] { - margin-left: 33.33%; } - -[offset="66"], [offset="67"] { - margin-left: 66.66%; } - -/** - * `hide-gt-sm show-gt-lg` should hide from 600px to 1200px - * `show-md hide-gt-sm` should show from 0px to 960px and hide at >960px - * `hide-gt-md show-gt-sm` should show everywhere (show overrides hide)` - */ -@media (max-width: 599px) { - [hide-sm]:not([show-sm]):not([show]), [hide]:not([show-sm]):not([show]) { - display: none; } - [flex-order-sm="0"] { - -webkit-order: 0; - -ms-flex-order: 0; - order: 0; } - [flex-order-sm="1"] { - -webkit-order: 1; - -ms-flex-order: 1; - order: 1; } - [flex-order-sm="2"] { - -webkit-order: 2; - -ms-flex-order: 2; - order: 2; } - [flex-order-sm="3"] { - -webkit-order: 3; - -ms-flex-order: 3; - order: 3; } - [flex-order-sm="4"] { - -webkit-order: 4; - -ms-flex-order: 4; - order: 4; } - [flex-order-sm="5"] { - -webkit-order: 5; - -ms-flex-order: 5; - order: 5; } - [flex-order-sm="6"] { - -webkit-order: 6; - -ms-flex-order: 6; - order: 6; } - [flex-order-sm="7"] { - -webkit-order: 7; - -ms-flex-order: 7; - order: 7; } - [flex-order-sm="8"] { - -webkit-order: 8; - -ms-flex-order: 8; - order: 8; } - [flex-order-sm="9"] { - -webkit-order: 9; - -ms-flex-order: 9; - order: 9; } - [layout-align-sm="center"], [layout-align-sm="center center"], [layout-align-sm="center start"], [layout-align-sm="center end"] { - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; } - [layout-align-sm="end"], [layout-align-sm="end center"], [layout-align-sm="end start"], [layout-align-sm="end end"] { - -webkit-justify-content: flex-end; - -ms-flex-pack: end; - justify-content: flex-end; } - [layout-align-sm="space-around"], [layout-align-sm="space-around center"], [layout-align-sm="space-around start"], [layout-align-sm="space-around end"] { - -webkit-justify-content: space-around; - -ms-flex-pack: distribute; - justify-content: space-around; } - [layout-align-sm="space-between"], [layout-align-sm="space-between center"], [layout-align-sm="space-between start"], [layout-align-sm="space-between end"] { - -webkit-justify-content: space-between; - -ms-flex-pack: justify; - justify-content: space-between; } - [layout-align-sm="center center"], [layout-align-sm="start center"], [layout-align-sm="end center"], [layout-align-sm="space-between center"], [layout-align-sm="space-around center"] { - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; } - [layout-align-sm="center start"], [layout-align-sm="start start"], [layout-align-sm="end start"], [layout-align-sm="space-between start"], [layout-align-sm="space-around start"] { - -webkit-align-items: flex-start; - -ms-flex-align: start; - align-items: flex-start; } - [layout-align-sm="center end"], [layout-align-sm="start end"], [layout-align-sm="end end"], [layout-align-sm="space-between end"], [layout-align-sm="space-around end"] { - -webkit-align-items: flex-end; - -ms-flex-align: end; - align-items: flex-end; } - [layout-sm] { - box-sizing: border-box; - display: -webkit-flex; - display: -moz-flex; - display: -ms-flexbox; - display: flex; } - [layout-sm=column] { - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; } - [layout-sm=row] { - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row; } - [offset-sm="5"] { - margin-left: 5%; } - [offset-sm="10"] { - margin-left: 10%; } - [offset-sm="15"] { - margin-left: 15%; } - [offset-sm="20"] { - margin-left: 20%; } - [offset-sm="25"] { - margin-left: 25%; } - [offset-sm="30"] { - margin-left: 30%; } - [offset-sm="35"] { - margin-left: 35%; } - [offset-sm="40"] { - margin-left: 40%; } - [offset-sm="45"] { - margin-left: 45%; } - [offset-sm="50"] { - margin-left: 50%; } - [offset-sm="55"] { - margin-left: 55%; } - [offset-sm="60"] { - margin-left: 60%; } - [offset-sm="65"] { - margin-left: 65%; } - [offset-sm="70"] { - margin-left: 70%; } - [offset-sm="75"] { - margin-left: 75%; } - [offset-sm="80"] { - margin-left: 80%; } - [offset-sm="85"] { - margin-left: 85%; } - [offset-sm="90"] { - margin-left: 90%; } - [offset-sm="95"] { - margin-left: 95%; } - [offset-sm="33"], [offset-sm="34"] { - margin-left: 33.33%; } - [offset-sm="66"], [offset-sm="67"] { - margin-left: 66.66%; } - [flex-sm] { - box-sizing: border-box; - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; } - [flex-sm="0"] { - -webkit-flex: 0 0 0%; - -ms-flex: 0 0 0%; - flex: 0 0 0%; } - [layout="row"] > [flex-sm="0"] { - max-width: 0%; } - [layout="column"] > [flex-sm="0"] { - max-height: 0%; } - [flex-sm="5"] { - -webkit-flex: 0 0 5%; - -ms-flex: 0 0 5%; - flex: 0 0 5%; } - [layout="row"] > [flex-sm="5"] { - max-width: 5%; } - [layout="column"] > [flex-sm="5"] { - max-height: 5%; } - [flex-sm="10"] { - -webkit-flex: 0 0 10%; - -ms-flex: 0 0 10%; - flex: 0 0 10%; } - [layout="row"] > [flex-sm="10"] { - max-width: 10%; } - [layout="column"] > [flex-sm="10"] { - max-height: 10%; } - [flex-sm="15"] { - -webkit-flex: 0 0 15%; - -ms-flex: 0 0 15%; - flex: 0 0 15%; } - [layout="row"] > [flex-sm="15"] { - max-width: 15%; } - [layout="column"] > [flex-sm="15"] { - max-height: 15%; } - [flex-sm="20"] { - -webkit-flex: 0 0 20%; - -ms-flex: 0 0 20%; - flex: 0 0 20%; } - [layout="row"] > [flex-sm="20"] { - max-width: 20%; } - [layout="column"] > [flex-sm="20"] { - max-height: 20%; } - [flex-sm="25"] { - -webkit-flex: 0 0 25%; - -ms-flex: 0 0 25%; - flex: 0 0 25%; } - [layout="row"] > [flex-sm="25"] { - max-width: 25%; } - [layout="column"] > [flex-sm="25"] { - max-height: 25%; } - [flex-sm="30"] { - -webkit-flex: 0 0 30%; - -ms-flex: 0 0 30%; - flex: 0 0 30%; } - [layout="row"] > [flex-sm="30"] { - max-width: 30%; } - [layout="column"] > [flex-sm="30"] { - max-height: 30%; } - [flex-sm="35"] { - -webkit-flex: 0 0 35%; - -ms-flex: 0 0 35%; - flex: 0 0 35%; } - [layout="row"] > [flex-sm="35"] { - max-width: 35%; } - [layout="column"] > [flex-sm="35"] { - max-height: 35%; } - [flex-sm="40"] { - -webkit-flex: 0 0 40%; - -ms-flex: 0 0 40%; - flex: 0 0 40%; } - [layout="row"] > [flex-sm="40"] { - max-width: 40%; } - [layout="column"] > [flex-sm="40"] { - max-height: 40%; } - [flex-sm="45"] { - -webkit-flex: 0 0 45%; - -ms-flex: 0 0 45%; - flex: 0 0 45%; } - [layout="row"] > [flex-sm="45"] { - max-width: 45%; } - [layout="column"] > [flex-sm="45"] { - max-height: 45%; } - [flex-sm="50"] { - -webkit-flex: 0 0 50%; - -ms-flex: 0 0 50%; - flex: 0 0 50%; } - [layout="row"] > [flex-sm="50"] { - max-width: 50%; } - [layout="column"] > [flex-sm="50"] { - max-height: 50%; } - [flex-sm="55"] { - -webkit-flex: 0 0 55%; - -ms-flex: 0 0 55%; - flex: 0 0 55%; } - [layout="row"] > [flex-sm="55"] { - max-width: 55%; } - [layout="column"] > [flex-sm="55"] { - max-height: 55%; } - [flex-sm="60"] { - -webkit-flex: 0 0 60%; - -ms-flex: 0 0 60%; - flex: 0 0 60%; } - [layout="row"] > [flex-sm="60"] { - max-width: 60%; } - [layout="column"] > [flex-sm="60"] { - max-height: 60%; } - [flex-sm="65"] { - -webkit-flex: 0 0 65%; - -ms-flex: 0 0 65%; - flex: 0 0 65%; } - [layout="row"] > [flex-sm="65"] { - max-width: 65%; } - [layout="column"] > [flex-sm="65"] { - max-height: 65%; } - [flex-sm="70"] { - -webkit-flex: 0 0 70%; - -ms-flex: 0 0 70%; - flex: 0 0 70%; } - [layout="row"] > [flex-sm="70"] { - max-width: 70%; } - [layout="column"] > [flex-sm="70"] { - max-height: 70%; } - [flex-sm="75"] { - -webkit-flex: 0 0 75%; - -ms-flex: 0 0 75%; - flex: 0 0 75%; } - [layout="row"] > [flex-sm="75"] { - max-width: 75%; } - [layout="column"] > [flex-sm="75"] { - max-height: 75%; } - [flex-sm="80"] { - -webkit-flex: 0 0 80%; - -ms-flex: 0 0 80%; - flex: 0 0 80%; } - [layout="row"] > [flex-sm="80"] { - max-width: 80%; } - [layout="column"] > [flex-sm="80"] { - max-height: 80%; } - [flex-sm="85"] { - -webkit-flex: 0 0 85%; - -ms-flex: 0 0 85%; - flex: 0 0 85%; } - [layout="row"] > [flex-sm="85"] { - max-width: 85%; } - [layout="column"] > [flex-sm="85"] { - max-height: 85%; } - [flex-sm="90"] { - -webkit-flex: 0 0 90%; - -ms-flex: 0 0 90%; - flex: 0 0 90%; } - [layout="row"] > [flex-sm="90"] { - max-width: 90%; } - [layout="column"] > [flex-sm="90"] { - max-height: 90%; } - [flex-sm="95"] { - -webkit-flex: 0 0 95%; - -ms-flex: 0 0 95%; - flex: 0 0 95%; } - [layout="row"] > [flex-sm="95"] { - max-width: 95%; } - [layout="column"] > [flex-sm="95"] { - max-height: 95%; } - [flex-sm="100"] { - -webkit-flex: 0 0 100%; - -ms-flex: 0 0 100%; - flex: 0 0 100%; } - [layout="row"] > [flex-sm="100"] { - max-width: 100%; } - [layout="column"] > [flex-sm="100"] { - max-height: 100%; } - [flex-sm="33"], [flex-sm="34"] { - -webkit-flex: 0 0 33.33%; - -ms-flex: 0 0 33.33%; - flex: 0 0 33.33%; } - [flex-sm="66"], [flex-sm="67"] { - -webkit-flex: 0 0 66.66%; - -ms-flex: 0 0 66.66%; - flex: 0 0 66.66%; } - [layout="row"] > [flex-sm="33"], [layout="row"] > [flex-sm="34"] { - max-width: 33.33%; } - [layout="row"] > [flex-sm="66"], [layout="row"] > [flex-sm="67"] { - max-width: 66.66%; } - [layout="column"] > [flex-sm="33"], [layout="column"] > [flex-sm="34"] { - max-height: 33.33%; } - [layout="column"] > [flex-sm="66"], [layout="column"] > [flex-sm="67"] { - max-height: 66.66%; } } - -@media (min-width: 600px) { - [flex-order-gt-sm="0"] { - -webkit-order: 0; - -ms-flex-order: 0; - order: 0; } - [flex-order-gt-sm="1"] { - -webkit-order: 1; - -ms-flex-order: 1; - order: 1; } - [flex-order-gt-sm="2"] { - -webkit-order: 2; - -ms-flex-order: 2; - order: 2; } - [flex-order-gt-sm="3"] { - -webkit-order: 3; - -ms-flex-order: 3; - order: 3; } - [flex-order-gt-sm="4"] { - -webkit-order: 4; - -ms-flex-order: 4; - order: 4; } - [flex-order-gt-sm="5"] { - -webkit-order: 5; - -ms-flex-order: 5; - order: 5; } - [flex-order-gt-sm="6"] { - -webkit-order: 6; - -ms-flex-order: 6; - order: 6; } - [flex-order-gt-sm="7"] { - -webkit-order: 7; - -ms-flex-order: 7; - order: 7; } - [flex-order-gt-sm="8"] { - -webkit-order: 8; - -ms-flex-order: 8; - order: 8; } - [flex-order-gt-sm="9"] { - -webkit-order: 9; - -ms-flex-order: 9; - order: 9; } - [layout-align-gt-sm="center"], [layout-align-gt-sm="center center"], [layout-align-gt-sm="center start"], [layout-align-gt-sm="center end"] { - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; } - [layout-align-gt-sm="end"], [layout-align-gt-sm="end center"], [layout-align-gt-sm="end start"], [layout-align-gt-sm="end end"] { - -webkit-justify-content: flex-end; - -ms-flex-pack: end; - justify-content: flex-end; } - [layout-align-gt-sm="space-around"], [layout-align-gt-sm="space-around center"], [layout-align-gt-sm="space-around start"], [layout-align-gt-sm="space-around end"] { - -webkit-justify-content: space-around; - -ms-flex-pack: distribute; - justify-content: space-around; } - [layout-align-gt-sm="space-between"], [layout-align-gt-sm="space-between center"], [layout-align-gt-sm="space-between start"], [layout-align-gt-sm="space-between end"] { - -webkit-justify-content: space-between; - -ms-flex-pack: justify; - justify-content: space-between; } - [layout-align-gt-sm="center center"], [layout-align-gt-sm="start center"], [layout-align-gt-sm="end center"], [layout-align-gt-sm="space-between center"], [layout-align-gt-sm="space-around center"] { - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; } - [layout-align-gt-sm="center start"], [layout-align-gt-sm="start start"], [layout-align-gt-sm="end start"], [layout-align-gt-sm="space-between start"], [layout-align-gt-sm="space-around start"] { - -webkit-align-items: flex-start; - -ms-flex-align: start; - align-items: flex-start; } - [layout-align-gt-sm="center end"], [layout-align-gt-sm="start end"], [layout-align-gt-sm="end end"], [layout-align-gt-sm="space-between end"], [layout-align-gt-sm="space-around end"] { - -webkit-align-items: flex-end; - -ms-flex-align: end; - align-items: flex-end; } - [layout-gt-sm] { - box-sizing: border-box; - display: -webkit-flex; - display: -moz-flex; - display: -ms-flexbox; - display: flex; } - [layout-gt-sm=column] { - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; } - [layout-gt-sm=row] { - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row; } - [offset-gt-sm="5"] { - margin-left: 5%; } - [offset-gt-sm="10"] { - margin-left: 10%; } - [offset-gt-sm="15"] { - margin-left: 15%; } - [offset-gt-sm="20"] { - margin-left: 20%; } - [offset-gt-sm="25"] { - margin-left: 25%; } - [offset-gt-sm="30"] { - margin-left: 30%; } - [offset-gt-sm="35"] { - margin-left: 35%; } - [offset-gt-sm="40"] { - margin-left: 40%; } - [offset-gt-sm="45"] { - margin-left: 45%; } - [offset-gt-sm="50"] { - margin-left: 50%; } - [offset-gt-sm="55"] { - margin-left: 55%; } - [offset-gt-sm="60"] { - margin-left: 60%; } - [offset-gt-sm="65"] { - margin-left: 65%; } - [offset-gt-sm="70"] { - margin-left: 70%; } - [offset-gt-sm="75"] { - margin-left: 75%; } - [offset-gt-sm="80"] { - margin-left: 80%; } - [offset-gt-sm="85"] { - margin-left: 85%; } - [offset-gt-sm="90"] { - margin-left: 90%; } - [offset-gt-sm="95"] { - margin-left: 95%; } - [offset-gt-sm="33"], [offset-gt-sm="34"] { - margin-left: 33.33%; } - [offset-gt-sm="66"], [offset-gt-sm="67"] { - margin-left: 66.66%; } - [flex-gt-sm] { - box-sizing: border-box; - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; } - [flex-gt-sm="0"] { - -webkit-flex: 0 0 0%; - -ms-flex: 0 0 0%; - flex: 0 0 0%; } - [layout="row"] > [flex-gt-sm="0"] { - max-width: 0%; } - [layout="column"] > [flex-gt-sm="0"] { - max-height: 0%; } - [flex-gt-sm="5"] { - -webkit-flex: 0 0 5%; - -ms-flex: 0 0 5%; - flex: 0 0 5%; } - [layout="row"] > [flex-gt-sm="5"] { - max-width: 5%; } - [layout="column"] > [flex-gt-sm="5"] { - max-height: 5%; } - [flex-gt-sm="10"] { - -webkit-flex: 0 0 10%; - -ms-flex: 0 0 10%; - flex: 0 0 10%; } - [layout="row"] > [flex-gt-sm="10"] { - max-width: 10%; } - [layout="column"] > [flex-gt-sm="10"] { - max-height: 10%; } - [flex-gt-sm="15"] { - -webkit-flex: 0 0 15%; - -ms-flex: 0 0 15%; - flex: 0 0 15%; } - [layout="row"] > [flex-gt-sm="15"] { - max-width: 15%; } - [layout="column"] > [flex-gt-sm="15"] { - max-height: 15%; } - [flex-gt-sm="20"] { - -webkit-flex: 0 0 20%; - -ms-flex: 0 0 20%; - flex: 0 0 20%; } - [layout="row"] > [flex-gt-sm="20"] { - max-width: 20%; } - [layout="column"] > [flex-gt-sm="20"] { - max-height: 20%; } - [flex-gt-sm="25"] { - -webkit-flex: 0 0 25%; - -ms-flex: 0 0 25%; - flex: 0 0 25%; } - [layout="row"] > [flex-gt-sm="25"] { - max-width: 25%; } - [layout="column"] > [flex-gt-sm="25"] { - max-height: 25%; } - [flex-gt-sm="30"] { - -webkit-flex: 0 0 30%; - -ms-flex: 0 0 30%; - flex: 0 0 30%; } - [layout="row"] > [flex-gt-sm="30"] { - max-width: 30%; } - [layout="column"] > [flex-gt-sm="30"] { - max-height: 30%; } - [flex-gt-sm="35"] { - -webkit-flex: 0 0 35%; - -ms-flex: 0 0 35%; - flex: 0 0 35%; } - [layout="row"] > [flex-gt-sm="35"] { - max-width: 35%; } - [layout="column"] > [flex-gt-sm="35"] { - max-height: 35%; } - [flex-gt-sm="40"] { - -webkit-flex: 0 0 40%; - -ms-flex: 0 0 40%; - flex: 0 0 40%; } - [layout="row"] > [flex-gt-sm="40"] { - max-width: 40%; } - [layout="column"] > [flex-gt-sm="40"] { - max-height: 40%; } - [flex-gt-sm="45"] { - -webkit-flex: 0 0 45%; - -ms-flex: 0 0 45%; - flex: 0 0 45%; } - [layout="row"] > [flex-gt-sm="45"] { - max-width: 45%; } - [layout="column"] > [flex-gt-sm="45"] { - max-height: 45%; } - [flex-gt-sm="50"] { - -webkit-flex: 0 0 50%; - -ms-flex: 0 0 50%; - flex: 0 0 50%; } - [layout="row"] > [flex-gt-sm="50"] { - max-width: 50%; } - [layout="column"] > [flex-gt-sm="50"] { - max-height: 50%; } - [flex-gt-sm="55"] { - -webkit-flex: 0 0 55%; - -ms-flex: 0 0 55%; - flex: 0 0 55%; } - [layout="row"] > [flex-gt-sm="55"] { - max-width: 55%; } - [layout="column"] > [flex-gt-sm="55"] { - max-height: 55%; } - [flex-gt-sm="60"] { - -webkit-flex: 0 0 60%; - -ms-flex: 0 0 60%; - flex: 0 0 60%; } - [layout="row"] > [flex-gt-sm="60"] { - max-width: 60%; } - [layout="column"] > [flex-gt-sm="60"] { - max-height: 60%; } - [flex-gt-sm="65"] { - -webkit-flex: 0 0 65%; - -ms-flex: 0 0 65%; - flex: 0 0 65%; } - [layout="row"] > [flex-gt-sm="65"] { - max-width: 65%; } - [layout="column"] > [flex-gt-sm="65"] { - max-height: 65%; } - [flex-gt-sm="70"] { - -webkit-flex: 0 0 70%; - -ms-flex: 0 0 70%; - flex: 0 0 70%; } - [layout="row"] > [flex-gt-sm="70"] { - max-width: 70%; } - [layout="column"] > [flex-gt-sm="70"] { - max-height: 70%; } - [flex-gt-sm="75"] { - -webkit-flex: 0 0 75%; - -ms-flex: 0 0 75%; - flex: 0 0 75%; } - [layout="row"] > [flex-gt-sm="75"] { - max-width: 75%; } - [layout="column"] > [flex-gt-sm="75"] { - max-height: 75%; } - [flex-gt-sm="80"] { - -webkit-flex: 0 0 80%; - -ms-flex: 0 0 80%; - flex: 0 0 80%; } - [layout="row"] > [flex-gt-sm="80"] { - max-width: 80%; } - [layout="column"] > [flex-gt-sm="80"] { - max-height: 80%; } - [flex-gt-sm="85"] { - -webkit-flex: 0 0 85%; - -ms-flex: 0 0 85%; - flex: 0 0 85%; } - [layout="row"] > [flex-gt-sm="85"] { - max-width: 85%; } - [layout="column"] > [flex-gt-sm="85"] { - max-height: 85%; } - [flex-gt-sm="90"] { - -webkit-flex: 0 0 90%; - -ms-flex: 0 0 90%; - flex: 0 0 90%; } - [layout="row"] > [flex-gt-sm="90"] { - max-width: 90%; } - [layout="column"] > [flex-gt-sm="90"] { - max-height: 90%; } - [flex-gt-sm="95"] { - -webkit-flex: 0 0 95%; - -ms-flex: 0 0 95%; - flex: 0 0 95%; } - [layout="row"] > [flex-gt-sm="95"] { - max-width: 95%; } - [layout="column"] > [flex-gt-sm="95"] { - max-height: 95%; } - [flex-gt-sm="100"] { - -webkit-flex: 0 0 100%; - -ms-flex: 0 0 100%; - flex: 0 0 100%; } - [layout="row"] > [flex-gt-sm="100"] { - max-width: 100%; } - [layout="column"] > [flex-gt-sm="100"] { - max-height: 100%; } - [flex-gt-sm="33"], [flex-gt-sm="34"] { - -webkit-flex: 0 0 33.33%; - -ms-flex: 0 0 33.33%; - flex: 0 0 33.33%; } - [flex-gt-sm="66"], [flex-gt-sm="67"] { - -webkit-flex: 0 0 66.66%; - -ms-flex: 0 0 66.66%; - flex: 0 0 66.66%; } - [layout="row"] > [flex-gt-sm="33"], [layout="row"] > [flex-gt-sm="34"] { - max-width: 33.33%; } - [layout="row"] > [flex-gt-sm="66"], [layout="row"] > [flex-gt-sm="67"] { - max-width: 66.66%; } - [layout="column"] > [flex-gt-sm="33"], [layout="column"] > [flex-gt-sm="34"] { - max-height: 33.33%; } - [layout="column"] > [flex-gt-sm="66"], [layout="column"] > [flex-gt-sm="67"] { - max-height: 66.66%; } } - -@media (min-width: 600px) and (max-width: 959px) { - [hide]:not([show-gt-sm]):not([show-md]):not([show]), [hide-gt-sm]:not([show-gt-sm]):not([show-md]):not([show]) { - display: none; } - [hide-md]:not([show-md]):not([show]) { - display: none; } - [flex-order-md="0"] { - -webkit-order: 0; - -ms-flex-order: 0; - order: 0; } - [flex-order-md="1"] { - -webkit-order: 1; - -ms-flex-order: 1; - order: 1; } - [flex-order-md="2"] { - -webkit-order: 2; - -ms-flex-order: 2; - order: 2; } - [flex-order-md="3"] { - -webkit-order: 3; - -ms-flex-order: 3; - order: 3; } - [flex-order-md="4"] { - -webkit-order: 4; - -ms-flex-order: 4; - order: 4; } - [flex-order-md="5"] { - -webkit-order: 5; - -ms-flex-order: 5; - order: 5; } - [flex-order-md="6"] { - -webkit-order: 6; - -ms-flex-order: 6; - order: 6; } - [flex-order-md="7"] { - -webkit-order: 7; - -ms-flex-order: 7; - order: 7; } - [flex-order-md="8"] { - -webkit-order: 8; - -ms-flex-order: 8; - order: 8; } - [flex-order-md="9"] { - -webkit-order: 9; - -ms-flex-order: 9; - order: 9; } - [layout-align-md="center"], [layout-align-md="center center"], [layout-align-md="center start"], [layout-align-md="center end"] { - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; } - [layout-align-md="end"], [layout-align-md="end center"], [layout-align-md="end start"], [layout-align-md="end end"] { - -webkit-justify-content: flex-end; - -ms-flex-pack: end; - justify-content: flex-end; } - [layout-align-md="space-around"], [layout-align-md="space-around center"], [layout-align-md="space-around start"], [layout-align-md="space-around end"] { - -webkit-justify-content: space-around; - -ms-flex-pack: distribute; - justify-content: space-around; } - [layout-align-md="space-between"], [layout-align-md="space-between center"], [layout-align-md="space-between start"], [layout-align-md="space-between end"] { - -webkit-justify-content: space-between; - -ms-flex-pack: justify; - justify-content: space-between; } - [layout-align-md="center center"], [layout-align-md="start center"], [layout-align-md="end center"], [layout-align-md="space-between center"], [layout-align-md="space-around center"] { - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; } - [layout-align-md="center start"], [layout-align-md="start start"], [layout-align-md="end start"], [layout-align-md="space-between start"], [layout-align-md="space-around start"] { - -webkit-align-items: flex-start; - -ms-flex-align: start; - align-items: flex-start; } - [layout-align-md="center end"], [layout-align-md="start end"], [layout-align-md="end end"], [layout-align-md="space-between end"], [layout-align-md="space-around end"] { - -webkit-align-items: flex-end; - -ms-flex-align: end; - align-items: flex-end; } - [layout-md] { - box-sizing: border-box; - display: -webkit-flex; - display: -moz-flex; - display: -ms-flexbox; - display: flex; } - [layout-md=column] { - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; } - [layout-md=row] { - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row; } - [offset-md="5"] { - margin-left: 5%; } - [offset-md="10"] { - margin-left: 10%; } - [offset-md="15"] { - margin-left: 15%; } - [offset-md="20"] { - margin-left: 20%; } - [offset-md="25"] { - margin-left: 25%; } - [offset-md="30"] { - margin-left: 30%; } - [offset-md="35"] { - margin-left: 35%; } - [offset-md="40"] { - margin-left: 40%; } - [offset-md="45"] { - margin-left: 45%; } - [offset-md="50"] { - margin-left: 50%; } - [offset-md="55"] { - margin-left: 55%; } - [offset-md="60"] { - margin-left: 60%; } - [offset-md="65"] { - margin-left: 65%; } - [offset-md="70"] { - margin-left: 70%; } - [offset-md="75"] { - margin-left: 75%; } - [offset-md="80"] { - margin-left: 80%; } - [offset-md="85"] { - margin-left: 85%; } - [offset-md="90"] { - margin-left: 90%; } - [offset-md="95"] { - margin-left: 95%; } - [offset-md="33"], [offset-md="34"] { - margin-left: 33.33%; } - [offset-md="66"], [offset-md="67"] { - margin-left: 66.66%; } - [flex-md] { - box-sizing: border-box; - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; } - [flex-md="0"] { - -webkit-flex: 0 0 0%; - -ms-flex: 0 0 0%; - flex: 0 0 0%; } - [layout="row"] > [flex-md="0"] { - max-width: 0%; } - [layout="column"] > [flex-md="0"] { - max-height: 0%; } - [flex-md="5"] { - -webkit-flex: 0 0 5%; - -ms-flex: 0 0 5%; - flex: 0 0 5%; } - [layout="row"] > [flex-md="5"] { - max-width: 5%; } - [layout="column"] > [flex-md="5"] { - max-height: 5%; } - [flex-md="10"] { - -webkit-flex: 0 0 10%; - -ms-flex: 0 0 10%; - flex: 0 0 10%; } - [layout="row"] > [flex-md="10"] { - max-width: 10%; } - [layout="column"] > [flex-md="10"] { - max-height: 10%; } - [flex-md="15"] { - -webkit-flex: 0 0 15%; - -ms-flex: 0 0 15%; - flex: 0 0 15%; } - [layout="row"] > [flex-md="15"] { - max-width: 15%; } - [layout="column"] > [flex-md="15"] { - max-height: 15%; } - [flex-md="20"] { - -webkit-flex: 0 0 20%; - -ms-flex: 0 0 20%; - flex: 0 0 20%; } - [layout="row"] > [flex-md="20"] { - max-width: 20%; } - [layout="column"] > [flex-md="20"] { - max-height: 20%; } - [flex-md="25"] { - -webkit-flex: 0 0 25%; - -ms-flex: 0 0 25%; - flex: 0 0 25%; } - [layout="row"] > [flex-md="25"] { - max-width: 25%; } - [layout="column"] > [flex-md="25"] { - max-height: 25%; } - [flex-md="30"] { - -webkit-flex: 0 0 30%; - -ms-flex: 0 0 30%; - flex: 0 0 30%; } - [layout="row"] > [flex-md="30"] { - max-width: 30%; } - [layout="column"] > [flex-md="30"] { - max-height: 30%; } - [flex-md="35"] { - -webkit-flex: 0 0 35%; - -ms-flex: 0 0 35%; - flex: 0 0 35%; } - [layout="row"] > [flex-md="35"] { - max-width: 35%; } - [layout="column"] > [flex-md="35"] { - max-height: 35%; } - [flex-md="40"] { - -webkit-flex: 0 0 40%; - -ms-flex: 0 0 40%; - flex: 0 0 40%; } - [layout="row"] > [flex-md="40"] { - max-width: 40%; } - [layout="column"] > [flex-md="40"] { - max-height: 40%; } - [flex-md="45"] { - -webkit-flex: 0 0 45%; - -ms-flex: 0 0 45%; - flex: 0 0 45%; } - [layout="row"] > [flex-md="45"] { - max-width: 45%; } - [layout="column"] > [flex-md="45"] { - max-height: 45%; } - [flex-md="50"] { - -webkit-flex: 0 0 50%; - -ms-flex: 0 0 50%; - flex: 0 0 50%; } - [layout="row"] > [flex-md="50"] { - max-width: 50%; } - [layout="column"] > [flex-md="50"] { - max-height: 50%; } - [flex-md="55"] { - -webkit-flex: 0 0 55%; - -ms-flex: 0 0 55%; - flex: 0 0 55%; } - [layout="row"] > [flex-md="55"] { - max-width: 55%; } - [layout="column"] > [flex-md="55"] { - max-height: 55%; } - [flex-md="60"] { - -webkit-flex: 0 0 60%; - -ms-flex: 0 0 60%; - flex: 0 0 60%; } - [layout="row"] > [flex-md="60"] { - max-width: 60%; } - [layout="column"] > [flex-md="60"] { - max-height: 60%; } - [flex-md="65"] { - -webkit-flex: 0 0 65%; - -ms-flex: 0 0 65%; - flex: 0 0 65%; } - [layout="row"] > [flex-md="65"] { - max-width: 65%; } - [layout="column"] > [flex-md="65"] { - max-height: 65%; } - [flex-md="70"] { - -webkit-flex: 0 0 70%; - -ms-flex: 0 0 70%; - flex: 0 0 70%; } - [layout="row"] > [flex-md="70"] { - max-width: 70%; } - [layout="column"] > [flex-md="70"] { - max-height: 70%; } - [flex-md="75"] { - -webkit-flex: 0 0 75%; - -ms-flex: 0 0 75%; - flex: 0 0 75%; } - [layout="row"] > [flex-md="75"] { - max-width: 75%; } - [layout="column"] > [flex-md="75"] { - max-height: 75%; } - [flex-md="80"] { - -webkit-flex: 0 0 80%; - -ms-flex: 0 0 80%; - flex: 0 0 80%; } - [layout="row"] > [flex-md="80"] { - max-width: 80%; } - [layout="column"] > [flex-md="80"] { - max-height: 80%; } - [flex-md="85"] { - -webkit-flex: 0 0 85%; - -ms-flex: 0 0 85%; - flex: 0 0 85%; } - [layout="row"] > [flex-md="85"] { - max-width: 85%; } - [layout="column"] > [flex-md="85"] { - max-height: 85%; } - [flex-md="90"] { - -webkit-flex: 0 0 90%; - -ms-flex: 0 0 90%; - flex: 0 0 90%; } - [layout="row"] > [flex-md="90"] { - max-width: 90%; } - [layout="column"] > [flex-md="90"] { - max-height: 90%; } - [flex-md="95"] { - -webkit-flex: 0 0 95%; - -ms-flex: 0 0 95%; - flex: 0 0 95%; } - [layout="row"] > [flex-md="95"] { - max-width: 95%; } - [layout="column"] > [flex-md="95"] { - max-height: 95%; } - [flex-md="100"] { - -webkit-flex: 0 0 100%; - -ms-flex: 0 0 100%; - flex: 0 0 100%; } - [layout="row"] > [flex-md="100"] { - max-width: 100%; } - [layout="column"] > [flex-md="100"] { - max-height: 100%; } - [flex-md="33"], [flex-md="34"] { - -webkit-flex: 0 0 33.33%; - -ms-flex: 0 0 33.33%; - flex: 0 0 33.33%; } - [flex-md="66"], [flex-md="67"] { - -webkit-flex: 0 0 66.66%; - -ms-flex: 0 0 66.66%; - flex: 0 0 66.66%; } - [layout="row"] > [flex-md="33"], [layout="row"] > [flex-md="34"] { - max-width: 33.33%; } - [layout="row"] > [flex-md="66"], [layout="row"] > [flex-md="67"] { - max-width: 66.66%; } - [layout="column"] > [flex-md="33"], [layout="column"] > [flex-md="34"] { - max-height: 33.33%; } - [layout="column"] > [flex-md="66"], [layout="column"] > [flex-md="67"] { - max-height: 66.66%; } } - -@media (min-width: 960px) { - [flex-order-gt-md="0"] { - -webkit-order: 0; - -ms-flex-order: 0; - order: 0; } - [flex-order-gt-md="1"] { - -webkit-order: 1; - -ms-flex-order: 1; - order: 1; } - [flex-order-gt-md="2"] { - -webkit-order: 2; - -ms-flex-order: 2; - order: 2; } - [flex-order-gt-md="3"] { - -webkit-order: 3; - -ms-flex-order: 3; - order: 3; } - [flex-order-gt-md="4"] { - -webkit-order: 4; - -ms-flex-order: 4; - order: 4; } - [flex-order-gt-md="5"] { - -webkit-order: 5; - -ms-flex-order: 5; - order: 5; } - [flex-order-gt-md="6"] { - -webkit-order: 6; - -ms-flex-order: 6; - order: 6; } - [flex-order-gt-md="7"] { - -webkit-order: 7; - -ms-flex-order: 7; - order: 7; } - [flex-order-gt-md="8"] { - -webkit-order: 8; - -ms-flex-order: 8; - order: 8; } - [flex-order-gt-md="9"] { - -webkit-order: 9; - -ms-flex-order: 9; - order: 9; } - [layout-align-gt-md="center"], [layout-align-gt-md="center center"], [layout-align-gt-md="center start"], [layout-align-gt-md="center end"] { - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; } - [layout-align-gt-md="end"], [layout-align-gt-md="end center"], [layout-align-gt-md="end start"], [layout-align-gt-md="end end"] { - -webkit-justify-content: flex-end; - -ms-flex-pack: end; - justify-content: flex-end; } - [layout-align-gt-md="space-around"], [layout-align-gt-md="space-around center"], [layout-align-gt-md="space-around start"], [layout-align-gt-md="space-around end"] { - -webkit-justify-content: space-around; - -ms-flex-pack: distribute; - justify-content: space-around; } - [layout-align-gt-md="space-between"], [layout-align-gt-md="space-between center"], [layout-align-gt-md="space-between start"], [layout-align-gt-md="space-between end"] { - -webkit-justify-content: space-between; - -ms-flex-pack: justify; - justify-content: space-between; } - [layout-align-gt-md="center center"], [layout-align-gt-md="start center"], [layout-align-gt-md="end center"], [layout-align-gt-md="space-between center"], [layout-align-gt-md="space-around center"] { - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; } - [layout-align-gt-md="center start"], [layout-align-gt-md="start start"], [layout-align-gt-md="end start"], [layout-align-gt-md="space-between start"], [layout-align-gt-md="space-around start"] { - -webkit-align-items: flex-start; - -ms-flex-align: start; - align-items: flex-start; } - [layout-align-gt-md="center end"], [layout-align-gt-md="start end"], [layout-align-gt-md="end end"], [layout-align-gt-md="space-between end"], [layout-align-gt-md="space-around end"] { - -webkit-align-items: flex-end; - -ms-flex-align: end; - align-items: flex-end; } - [layout-gt-md] { - box-sizing: border-box; - display: -webkit-flex; - display: -moz-flex; - display: -ms-flexbox; - display: flex; } - [layout-gt-md=column] { - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; } - [layout-gt-md=row] { - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row; } - [offset-gt-md="5"] { - margin-left: 5%; } - [offset-gt-md="10"] { - margin-left: 10%; } - [offset-gt-md="15"] { - margin-left: 15%; } - [offset-gt-md="20"] { - margin-left: 20%; } - [offset-gt-md="25"] { - margin-left: 25%; } - [offset-gt-md="30"] { - margin-left: 30%; } - [offset-gt-md="35"] { - margin-left: 35%; } - [offset-gt-md="40"] { - margin-left: 40%; } - [offset-gt-md="45"] { - margin-left: 45%; } - [offset-gt-md="50"] { - margin-left: 50%; } - [offset-gt-md="55"] { - margin-left: 55%; } - [offset-gt-md="60"] { - margin-left: 60%; } - [offset-gt-md="65"] { - margin-left: 65%; } - [offset-gt-md="70"] { - margin-left: 70%; } - [offset-gt-md="75"] { - margin-left: 75%; } - [offset-gt-md="80"] { - margin-left: 80%; } - [offset-gt-md="85"] { - margin-left: 85%; } - [offset-gt-md="90"] { - margin-left: 90%; } - [offset-gt-md="95"] { - margin-left: 95%; } - [offset-gt-md="33"], [offset-gt-md="34"] { - margin-left: 33.33%; } - [offset-gt-md="66"], [offset-gt-md="67"] { - margin-left: 66.66%; } - [flex-gt-md] { - box-sizing: border-box; - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; } - [flex-gt-md="0"] { - -webkit-flex: 0 0 0%; - -ms-flex: 0 0 0%; - flex: 0 0 0%; } - [layout="row"] > [flex-gt-md="0"] { - max-width: 0%; } - [layout="column"] > [flex-gt-md="0"] { - max-height: 0%; } - [flex-gt-md="5"] { - -webkit-flex: 0 0 5%; - -ms-flex: 0 0 5%; - flex: 0 0 5%; } - [layout="row"] > [flex-gt-md="5"] { - max-width: 5%; } - [layout="column"] > [flex-gt-md="5"] { - max-height: 5%; } - [flex-gt-md="10"] { - -webkit-flex: 0 0 10%; - -ms-flex: 0 0 10%; - flex: 0 0 10%; } - [layout="row"] > [flex-gt-md="10"] { - max-width: 10%; } - [layout="column"] > [flex-gt-md="10"] { - max-height: 10%; } - [flex-gt-md="15"] { - -webkit-flex: 0 0 15%; - -ms-flex: 0 0 15%; - flex: 0 0 15%; } - [layout="row"] > [flex-gt-md="15"] { - max-width: 15%; } - [layout="column"] > [flex-gt-md="15"] { - max-height: 15%; } - [flex-gt-md="20"] { - -webkit-flex: 0 0 20%; - -ms-flex: 0 0 20%; - flex: 0 0 20%; } - [layout="row"] > [flex-gt-md="20"] { - max-width: 20%; } - [layout="column"] > [flex-gt-md="20"] { - max-height: 20%; } - [flex-gt-md="25"] { - -webkit-flex: 0 0 25%; - -ms-flex: 0 0 25%; - flex: 0 0 25%; } - [layout="row"] > [flex-gt-md="25"] { - max-width: 25%; } - [layout="column"] > [flex-gt-md="25"] { - max-height: 25%; } - [flex-gt-md="30"] { - -webkit-flex: 0 0 30%; - -ms-flex: 0 0 30%; - flex: 0 0 30%; } - [layout="row"] > [flex-gt-md="30"] { - max-width: 30%; } - [layout="column"] > [flex-gt-md="30"] { - max-height: 30%; } - [flex-gt-md="35"] { - -webkit-flex: 0 0 35%; - -ms-flex: 0 0 35%; - flex: 0 0 35%; } - [layout="row"] > [flex-gt-md="35"] { - max-width: 35%; } - [layout="column"] > [flex-gt-md="35"] { - max-height: 35%; } - [flex-gt-md="40"] { - -webkit-flex: 0 0 40%; - -ms-flex: 0 0 40%; - flex: 0 0 40%; } - [layout="row"] > [flex-gt-md="40"] { - max-width: 40%; } - [layout="column"] > [flex-gt-md="40"] { - max-height: 40%; } - [flex-gt-md="45"] { - -webkit-flex: 0 0 45%; - -ms-flex: 0 0 45%; - flex: 0 0 45%; } - [layout="row"] > [flex-gt-md="45"] { - max-width: 45%; } - [layout="column"] > [flex-gt-md="45"] { - max-height: 45%; } - [flex-gt-md="50"] { - -webkit-flex: 0 0 50%; - -ms-flex: 0 0 50%; - flex: 0 0 50%; } - [layout="row"] > [flex-gt-md="50"] { - max-width: 50%; } - [layout="column"] > [flex-gt-md="50"] { - max-height: 50%; } - [flex-gt-md="55"] { - -webkit-flex: 0 0 55%; - -ms-flex: 0 0 55%; - flex: 0 0 55%; } - [layout="row"] > [flex-gt-md="55"] { - max-width: 55%; } - [layout="column"] > [flex-gt-md="55"] { - max-height: 55%; } - [flex-gt-md="60"] { - -webkit-flex: 0 0 60%; - -ms-flex: 0 0 60%; - flex: 0 0 60%; } - [layout="row"] > [flex-gt-md="60"] { - max-width: 60%; } - [layout="column"] > [flex-gt-md="60"] { - max-height: 60%; } - [flex-gt-md="65"] { - -webkit-flex: 0 0 65%; - -ms-flex: 0 0 65%; - flex: 0 0 65%; } - [layout="row"] > [flex-gt-md="65"] { - max-width: 65%; } - [layout="column"] > [flex-gt-md="65"] { - max-height: 65%; } - [flex-gt-md="70"] { - -webkit-flex: 0 0 70%; - -ms-flex: 0 0 70%; - flex: 0 0 70%; } - [layout="row"] > [flex-gt-md="70"] { - max-width: 70%; } - [layout="column"] > [flex-gt-md="70"] { - max-height: 70%; } - [flex-gt-md="75"] { - -webkit-flex: 0 0 75%; - -ms-flex: 0 0 75%; - flex: 0 0 75%; } - [layout="row"] > [flex-gt-md="75"] { - max-width: 75%; } - [layout="column"] > [flex-gt-md="75"] { - max-height: 75%; } - [flex-gt-md="80"] { - -webkit-flex: 0 0 80%; - -ms-flex: 0 0 80%; - flex: 0 0 80%; } - [layout="row"] > [flex-gt-md="80"] { - max-width: 80%; } - [layout="column"] > [flex-gt-md="80"] { - max-height: 80%; } - [flex-gt-md="85"] { - -webkit-flex: 0 0 85%; - -ms-flex: 0 0 85%; - flex: 0 0 85%; } - [layout="row"] > [flex-gt-md="85"] { - max-width: 85%; } - [layout="column"] > [flex-gt-md="85"] { - max-height: 85%; } - [flex-gt-md="90"] { - -webkit-flex: 0 0 90%; - -ms-flex: 0 0 90%; - flex: 0 0 90%; } - [layout="row"] > [flex-gt-md="90"] { - max-width: 90%; } - [layout="column"] > [flex-gt-md="90"] { - max-height: 90%; } - [flex-gt-md="95"] { - -webkit-flex: 0 0 95%; - -ms-flex: 0 0 95%; - flex: 0 0 95%; } - [layout="row"] > [flex-gt-md="95"] { - max-width: 95%; } - [layout="column"] > [flex-gt-md="95"] { - max-height: 95%; } - [flex-gt-md="100"] { - -webkit-flex: 0 0 100%; - -ms-flex: 0 0 100%; - flex: 0 0 100%; } - [layout="row"] > [flex-gt-md="100"] { - max-width: 100%; } - [layout="column"] > [flex-gt-md="100"] { - max-height: 100%; } - [flex-gt-md="33"], [flex-gt-md="34"] { - -webkit-flex: 0 0 33.33%; - -ms-flex: 0 0 33.33%; - flex: 0 0 33.33%; } - [flex-gt-md="66"], [flex-gt-md="67"] { - -webkit-flex: 0 0 66.66%; - -ms-flex: 0 0 66.66%; - flex: 0 0 66.66%; } - [layout="row"] > [flex-gt-md="33"], [layout="row"] > [flex-gt-md="34"] { - max-width: 33.33%; } - [layout="row"] > [flex-gt-md="66"], [layout="row"] > [flex-gt-md="67"] { - max-width: 66.66%; } - [layout="column"] > [flex-gt-md="33"], [layout="column"] > [flex-gt-md="34"] { - max-height: 33.33%; } - [layout="column"] > [flex-gt-md="66"], [layout="column"] > [flex-gt-md="67"] { - max-height: 66.66%; } } - -@media (min-width: 960px) and (max-width: 1199px) { - [hide]:not([show-gt-sm]):not([show-gt-md]):not([show-lg]):not([show]), [hide-gt-sm]:not([show-gt-sm]):not([show-gt-md]):not([show-lg]):not([show]), [hide-gt-md]:not([show-gt-sm]):not([show-gt-md]):not([show-lg]):not([show]) { - display: none; } - [hide-lg]:not([show-lg]):not([show]) { - display: none; } - [flex-order-lg="0"] { - -webkit-order: 0; - -ms-flex-order: 0; - order: 0; } - [flex-order-lg="1"] { - -webkit-order: 1; - -ms-flex-order: 1; - order: 1; } - [flex-order-lg="2"] { - -webkit-order: 2; - -ms-flex-order: 2; - order: 2; } - [flex-order-lg="3"] { - -webkit-order: 3; - -ms-flex-order: 3; - order: 3; } - [flex-order-lg="4"] { - -webkit-order: 4; - -ms-flex-order: 4; - order: 4; } - [flex-order-lg="5"] { - -webkit-order: 5; - -ms-flex-order: 5; - order: 5; } - [flex-order-lg="6"] { - -webkit-order: 6; - -ms-flex-order: 6; - order: 6; } - [flex-order-lg="7"] { - -webkit-order: 7; - -ms-flex-order: 7; - order: 7; } - [flex-order-lg="8"] { - -webkit-order: 8; - -ms-flex-order: 8; - order: 8; } - [flex-order-lg="9"] { - -webkit-order: 9; - -ms-flex-order: 9; - order: 9; } - [layout-align-lg="center"], [layout-align-lg="center center"], [layout-align-lg="center start"], [layout-align-lg="center end"] { - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; } - [layout-align-lg="end"], [layout-align-lg="end center"], [layout-align-lg="end start"], [layout-align-lg="end end"] { - -webkit-justify-content: flex-end; - -ms-flex-pack: end; - justify-content: flex-end; } - [layout-align-lg="space-around"], [layout-align-lg="space-around center"], [layout-align-lg="space-around start"], [layout-align-lg="space-around end"] { - -webkit-justify-content: space-around; - -ms-flex-pack: distribute; - justify-content: space-around; } - [layout-align-lg="space-between"], [layout-align-lg="space-between center"], [layout-align-lg="space-between start"], [layout-align-lg="space-between end"] { - -webkit-justify-content: space-between; - -ms-flex-pack: justify; - justify-content: space-between; } - [layout-align-lg="center center"], [layout-align-lg="start center"], [layout-align-lg="end center"], [layout-align-lg="space-between center"], [layout-align-lg="space-around center"] { - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; } - [layout-align-lg="center start"], [layout-align-lg="start start"], [layout-align-lg="end start"], [layout-align-lg="space-between start"], [layout-align-lg="space-around start"] { - -webkit-align-items: flex-start; - -ms-flex-align: start; - align-items: flex-start; } - [layout-align-lg="center end"], [layout-align-lg="start end"], [layout-align-lg="end end"], [layout-align-lg="space-between end"], [layout-align-lg="space-around end"] { - -webkit-align-items: flex-end; - -ms-flex-align: end; - align-items: flex-end; } - [layout-lg] { - box-sizing: border-box; - display: -webkit-flex; - display: -moz-flex; - display: -ms-flexbox; - display: flex; } - [layout-lg=column] { - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; } - [layout-lg=row] { - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row; } - [offset-lg="5"] { - margin-left: 5%; } - [offset-lg="10"] { - margin-left: 10%; } - [offset-lg="15"] { - margin-left: 15%; } - [offset-lg="20"] { - margin-left: 20%; } - [offset-lg="25"] { - margin-left: 25%; } - [offset-lg="30"] { - margin-left: 30%; } - [offset-lg="35"] { - margin-left: 35%; } - [offset-lg="40"] { - margin-left: 40%; } - [offset-lg="45"] { - margin-left: 45%; } - [offset-lg="50"] { - margin-left: 50%; } - [offset-lg="55"] { - margin-left: 55%; } - [offset-lg="60"] { - margin-left: 60%; } - [offset-lg="65"] { - margin-left: 65%; } - [offset-lg="70"] { - margin-left: 70%; } - [offset-lg="75"] { - margin-left: 75%; } - [offset-lg="80"] { - margin-left: 80%; } - [offset-lg="85"] { - margin-left: 85%; } - [offset-lg="90"] { - margin-left: 90%; } - [offset-lg="95"] { - margin-left: 95%; } - [offset-lg="33"], [offset-lg="34"] { - margin-left: 33.33%; } - [offset-lg="66"], [offset-lg="67"] { - margin-left: 66.66%; } - [flex-lg] { - box-sizing: border-box; - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; } - [flex-lg="0"] { - -webkit-flex: 0 0 0%; - -ms-flex: 0 0 0%; - flex: 0 0 0%; } - [layout="row"] > [flex-lg="0"] { - max-width: 0%; } - [layout="column"] > [flex-lg="0"] { - max-height: 0%; } - [flex-lg="5"] { - -webkit-flex: 0 0 5%; - -ms-flex: 0 0 5%; - flex: 0 0 5%; } - [layout="row"] > [flex-lg="5"] { - max-width: 5%; } - [layout="column"] > [flex-lg="5"] { - max-height: 5%; } - [flex-lg="10"] { - -webkit-flex: 0 0 10%; - -ms-flex: 0 0 10%; - flex: 0 0 10%; } - [layout="row"] > [flex-lg="10"] { - max-width: 10%; } - [layout="column"] > [flex-lg="10"] { - max-height: 10%; } - [flex-lg="15"] { - -webkit-flex: 0 0 15%; - -ms-flex: 0 0 15%; - flex: 0 0 15%; } - [layout="row"] > [flex-lg="15"] { - max-width: 15%; } - [layout="column"] > [flex-lg="15"] { - max-height: 15%; } - [flex-lg="20"] { - -webkit-flex: 0 0 20%; - -ms-flex: 0 0 20%; - flex: 0 0 20%; } - [layout="row"] > [flex-lg="20"] { - max-width: 20%; } - [layout="column"] > [flex-lg="20"] { - max-height: 20%; } - [flex-lg="25"] { - -webkit-flex: 0 0 25%; - -ms-flex: 0 0 25%; - flex: 0 0 25%; } - [layout="row"] > [flex-lg="25"] { - max-width: 25%; } - [layout="column"] > [flex-lg="25"] { - max-height: 25%; } - [flex-lg="30"] { - -webkit-flex: 0 0 30%; - -ms-flex: 0 0 30%; - flex: 0 0 30%; } - [layout="row"] > [flex-lg="30"] { - max-width: 30%; } - [layout="column"] > [flex-lg="30"] { - max-height: 30%; } - [flex-lg="35"] { - -webkit-flex: 0 0 35%; - -ms-flex: 0 0 35%; - flex: 0 0 35%; } - [layout="row"] > [flex-lg="35"] { - max-width: 35%; } - [layout="column"] > [flex-lg="35"] { - max-height: 35%; } - [flex-lg="40"] { - -webkit-flex: 0 0 40%; - -ms-flex: 0 0 40%; - flex: 0 0 40%; } - [layout="row"] > [flex-lg="40"] { - max-width: 40%; } - [layout="column"] > [flex-lg="40"] { - max-height: 40%; } - [flex-lg="45"] { - -webkit-flex: 0 0 45%; - -ms-flex: 0 0 45%; - flex: 0 0 45%; } - [layout="row"] > [flex-lg="45"] { - max-width: 45%; } - [layout="column"] > [flex-lg="45"] { - max-height: 45%; } - [flex-lg="50"] { - -webkit-flex: 0 0 50%; - -ms-flex: 0 0 50%; - flex: 0 0 50%; } - [layout="row"] > [flex-lg="50"] { - max-width: 50%; } - [layout="column"] > [flex-lg="50"] { - max-height: 50%; } - [flex-lg="55"] { - -webkit-flex: 0 0 55%; - -ms-flex: 0 0 55%; - flex: 0 0 55%; } - [layout="row"] > [flex-lg="55"] { - max-width: 55%; } - [layout="column"] > [flex-lg="55"] { - max-height: 55%; } - [flex-lg="60"] { - -webkit-flex: 0 0 60%; - -ms-flex: 0 0 60%; - flex: 0 0 60%; } - [layout="row"] > [flex-lg="60"] { - max-width: 60%; } - [layout="column"] > [flex-lg="60"] { - max-height: 60%; } - [flex-lg="65"] { - -webkit-flex: 0 0 65%; - -ms-flex: 0 0 65%; - flex: 0 0 65%; } - [layout="row"] > [flex-lg="65"] { - max-width: 65%; } - [layout="column"] > [flex-lg="65"] { - max-height: 65%; } - [flex-lg="70"] { - -webkit-flex: 0 0 70%; - -ms-flex: 0 0 70%; - flex: 0 0 70%; } - [layout="row"] > [flex-lg="70"] { - max-width: 70%; } - [layout="column"] > [flex-lg="70"] { - max-height: 70%; } - [flex-lg="75"] { - -webkit-flex: 0 0 75%; - -ms-flex: 0 0 75%; - flex: 0 0 75%; } - [layout="row"] > [flex-lg="75"] { - max-width: 75%; } - [layout="column"] > [flex-lg="75"] { - max-height: 75%; } - [flex-lg="80"] { - -webkit-flex: 0 0 80%; - -ms-flex: 0 0 80%; - flex: 0 0 80%; } - [layout="row"] > [flex-lg="80"] { - max-width: 80%; } - [layout="column"] > [flex-lg="80"] { - max-height: 80%; } - [flex-lg="85"] { - -webkit-flex: 0 0 85%; - -ms-flex: 0 0 85%; - flex: 0 0 85%; } - [layout="row"] > [flex-lg="85"] { - max-width: 85%; } - [layout="column"] > [flex-lg="85"] { - max-height: 85%; } - [flex-lg="90"] { - -webkit-flex: 0 0 90%; - -ms-flex: 0 0 90%; - flex: 0 0 90%; } - [layout="row"] > [flex-lg="90"] { - max-width: 90%; } - [layout="column"] > [flex-lg="90"] { - max-height: 90%; } - [flex-lg="95"] { - -webkit-flex: 0 0 95%; - -ms-flex: 0 0 95%; - flex: 0 0 95%; } - [layout="row"] > [flex-lg="95"] { - max-width: 95%; } - [layout="column"] > [flex-lg="95"] { - max-height: 95%; } - [flex-lg="100"] { - -webkit-flex: 0 0 100%; - -ms-flex: 0 0 100%; - flex: 0 0 100%; } - [layout="row"] > [flex-lg="100"] { - max-width: 100%; } - [layout="column"] > [flex-lg="100"] { - max-height: 100%; } - [flex-lg="33"], [flex-lg="34"] { - -webkit-flex: 0 0 33.33%; - -ms-flex: 0 0 33.33%; - flex: 0 0 33.33%; } - [flex-lg="66"], [flex-lg="67"] { - -webkit-flex: 0 0 66.66%; - -ms-flex: 0 0 66.66%; - flex: 0 0 66.66%; } - [layout="row"] > [flex-lg="33"], [layout="row"] > [flex-lg="34"] { - max-width: 33.33%; } - [layout="row"] > [flex-lg="66"], [layout="row"] > [flex-lg="67"] { - max-width: 66.66%; } - [layout="column"] > [flex-lg="33"], [layout="column"] > [flex-lg="34"] { - max-height: 33.33%; } - [layout="column"] > [flex-lg="66"], [layout="column"] > [flex-lg="67"] { - max-height: 66.66%; } } - -@media (min-width: 1200px) { - [hide-gt-sm]:not([show-gt-sm]):not([show-gt-md]):not([show-gt-lg]):not([show]), [hide-gt-md]:not([show-gt-sm]):not([show-gt-md]):not([show-gt-lg]):not([show]), [hide-gt-lg]:not([show-gt-sm]):not([show-gt-md]):not([show-gt-lg]):not([show]), [hide]:not([show-gt-sm]):not([show-gt-md]):not([show-gt-lg]):not([show]) { - display: none; } - [flex-order-gt-lg="0"] { - -webkit-order: 0; - -ms-flex-order: 0; - order: 0; } - [flex-order-gt-lg="1"] { - -webkit-order: 1; - -ms-flex-order: 1; - order: 1; } - [flex-order-gt-lg="2"] { - -webkit-order: 2; - -ms-flex-order: 2; - order: 2; } - [flex-order-gt-lg="3"] { - -webkit-order: 3; - -ms-flex-order: 3; - order: 3; } - [flex-order-gt-lg="4"] { - -webkit-order: 4; - -ms-flex-order: 4; - order: 4; } - [flex-order-gt-lg="5"] { - -webkit-order: 5; - -ms-flex-order: 5; - order: 5; } - [flex-order-gt-lg="6"] { - -webkit-order: 6; - -ms-flex-order: 6; - order: 6; } - [flex-order-gt-lg="7"] { - -webkit-order: 7; - -ms-flex-order: 7; - order: 7; } - [flex-order-gt-lg="8"] { - -webkit-order: 8; - -ms-flex-order: 8; - order: 8; } - [flex-order-gt-lg="9"] { - -webkit-order: 9; - -ms-flex-order: 9; - order: 9; } - [layout-align-gt-lg="center"], [layout-align-gt-lg="center center"], [layout-align-gt-lg="center start"], [layout-align-gt-lg="center end"] { - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; } - [layout-align-gt-lg="end"], [layout-align-gt-lg="end center"], [layout-align-gt-lg="end start"], [layout-align-gt-lg="end end"] { - -webkit-justify-content: flex-end; - -ms-flex-pack: end; - justify-content: flex-end; } - [layout-align-gt-lg="space-around"], [layout-align-gt-lg="space-around center"], [layout-align-gt-lg="space-around start"], [layout-align-gt-lg="space-around end"] { - -webkit-justify-content: space-around; - -ms-flex-pack: distribute; - justify-content: space-around; } - [layout-align-gt-lg="space-between"], [layout-align-gt-lg="space-between center"], [layout-align-gt-lg="space-between start"], [layout-align-gt-lg="space-between end"] { - -webkit-justify-content: space-between; - -ms-flex-pack: justify; - justify-content: space-between; } - [layout-align-gt-lg="center center"], [layout-align-gt-lg="start center"], [layout-align-gt-lg="end center"], [layout-align-gt-lg="space-between center"], [layout-align-gt-lg="space-around center"] { - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; } - [layout-align-gt-lg="center start"], [layout-align-gt-lg="start start"], [layout-align-gt-lg="end start"], [layout-align-gt-lg="space-between start"], [layout-align-gt-lg="space-around start"] { - -webkit-align-items: flex-start; - -ms-flex-align: start; - align-items: flex-start; } - [layout-align-gt-lg="center end"], [layout-align-gt-lg="start end"], [layout-align-gt-lg="end end"], [layout-align-gt-lg="space-between end"], [layout-align-gt-lg="space-around end"] { - -webkit-align-items: flex-end; - -ms-flex-align: end; - align-items: flex-end; } - [layout-gt-lg] { - box-sizing: border-box; - display: -webkit-flex; - display: -moz-flex; - display: -ms-flexbox; - display: flex; } - [layout-gt-lg=column] { - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; } - [layout-gt-lg=row] { - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row; } - [offset-gt-lg="5"] { - margin-left: 5%; } - [offset-gt-lg="10"] { - margin-left: 10%; } - [offset-gt-lg="15"] { - margin-left: 15%; } - [offset-gt-lg="20"] { - margin-left: 20%; } - [offset-gt-lg="25"] { - margin-left: 25%; } - [offset-gt-lg="30"] { - margin-left: 30%; } - [offset-gt-lg="35"] { - margin-left: 35%; } - [offset-gt-lg="40"] { - margin-left: 40%; } - [offset-gt-lg="45"] { - margin-left: 45%; } - [offset-gt-lg="50"] { - margin-left: 50%; } - [offset-gt-lg="55"] { - margin-left: 55%; } - [offset-gt-lg="60"] { - margin-left: 60%; } - [offset-gt-lg="65"] { - margin-left: 65%; } - [offset-gt-lg="70"] { - margin-left: 70%; } - [offset-gt-lg="75"] { - margin-left: 75%; } - [offset-gt-lg="80"] { - margin-left: 80%; } - [offset-gt-lg="85"] { - margin-left: 85%; } - [offset-gt-lg="90"] { - margin-left: 90%; } - [offset-gt-lg="95"] { - margin-left: 95%; } - [offset-gt-lg="33"], [offset-gt-lg="34"] { - margin-left: 33.33%; } - [offset-gt-lg="66"], [offset-gt-lg="67"] { - margin-left: 66.66%; } - [flex-gt-lg] { - box-sizing: border-box; - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; } - [flex-gt-lg="0"] { - -webkit-flex: 0 0 0%; - -ms-flex: 0 0 0%; - flex: 0 0 0%; } - [layout="row"] > [flex-gt-lg="0"] { - max-width: 0%; } - [layout="column"] > [flex-gt-lg="0"] { - max-height: 0%; } - [flex-gt-lg="5"] { - -webkit-flex: 0 0 5%; - -ms-flex: 0 0 5%; - flex: 0 0 5%; } - [layout="row"] > [flex-gt-lg="5"] { - max-width: 5%; } - [layout="column"] > [flex-gt-lg="5"] { - max-height: 5%; } - [flex-gt-lg="10"] { - -webkit-flex: 0 0 10%; - -ms-flex: 0 0 10%; - flex: 0 0 10%; } - [layout="row"] > [flex-gt-lg="10"] { - max-width: 10%; } - [layout="column"] > [flex-gt-lg="10"] { - max-height: 10%; } - [flex-gt-lg="15"] { - -webkit-flex: 0 0 15%; - -ms-flex: 0 0 15%; - flex: 0 0 15%; } - [layout="row"] > [flex-gt-lg="15"] { - max-width: 15%; } - [layout="column"] > [flex-gt-lg="15"] { - max-height: 15%; } - [flex-gt-lg="20"] { - -webkit-flex: 0 0 20%; - -ms-flex: 0 0 20%; - flex: 0 0 20%; } - [layout="row"] > [flex-gt-lg="20"] { - max-width: 20%; } - [layout="column"] > [flex-gt-lg="20"] { - max-height: 20%; } - [flex-gt-lg="25"] { - -webkit-flex: 0 0 25%; - -ms-flex: 0 0 25%; - flex: 0 0 25%; } - [layout="row"] > [flex-gt-lg="25"] { - max-width: 25%; } - [layout="column"] > [flex-gt-lg="25"] { - max-height: 25%; } - [flex-gt-lg="30"] { - -webkit-flex: 0 0 30%; - -ms-flex: 0 0 30%; - flex: 0 0 30%; } - [layout="row"] > [flex-gt-lg="30"] { - max-width: 30%; } - [layout="column"] > [flex-gt-lg="30"] { - max-height: 30%; } - [flex-gt-lg="35"] { - -webkit-flex: 0 0 35%; - -ms-flex: 0 0 35%; - flex: 0 0 35%; } - [layout="row"] > [flex-gt-lg="35"] { - max-width: 35%; } - [layout="column"] > [flex-gt-lg="35"] { - max-height: 35%; } - [flex-gt-lg="40"] { - -webkit-flex: 0 0 40%; - -ms-flex: 0 0 40%; - flex: 0 0 40%; } - [layout="row"] > [flex-gt-lg="40"] { - max-width: 40%; } - [layout="column"] > [flex-gt-lg="40"] { - max-height: 40%; } - [flex-gt-lg="45"] { - -webkit-flex: 0 0 45%; - -ms-flex: 0 0 45%; - flex: 0 0 45%; } - [layout="row"] > [flex-gt-lg="45"] { - max-width: 45%; } - [layout="column"] > [flex-gt-lg="45"] { - max-height: 45%; } - [flex-gt-lg="50"] { - -webkit-flex: 0 0 50%; - -ms-flex: 0 0 50%; - flex: 0 0 50%; } - [layout="row"] > [flex-gt-lg="50"] { - max-width: 50%; } - [layout="column"] > [flex-gt-lg="50"] { - max-height: 50%; } - [flex-gt-lg="55"] { - -webkit-flex: 0 0 55%; - -ms-flex: 0 0 55%; - flex: 0 0 55%; } - [layout="row"] > [flex-gt-lg="55"] { - max-width: 55%; } - [layout="column"] > [flex-gt-lg="55"] { - max-height: 55%; } - [flex-gt-lg="60"] { - -webkit-flex: 0 0 60%; - -ms-flex: 0 0 60%; - flex: 0 0 60%; } - [layout="row"] > [flex-gt-lg="60"] { - max-width: 60%; } - [layout="column"] > [flex-gt-lg="60"] { - max-height: 60%; } - [flex-gt-lg="65"] { - -webkit-flex: 0 0 65%; - -ms-flex: 0 0 65%; - flex: 0 0 65%; } - [layout="row"] > [flex-gt-lg="65"] { - max-width: 65%; } - [layout="column"] > [flex-gt-lg="65"] { - max-height: 65%; } - [flex-gt-lg="70"] { - -webkit-flex: 0 0 70%; - -ms-flex: 0 0 70%; - flex: 0 0 70%; } - [layout="row"] > [flex-gt-lg="70"] { - max-width: 70%; } - [layout="column"] > [flex-gt-lg="70"] { - max-height: 70%; } - [flex-gt-lg="75"] { - -webkit-flex: 0 0 75%; - -ms-flex: 0 0 75%; - flex: 0 0 75%; } - [layout="row"] > [flex-gt-lg="75"] { - max-width: 75%; } - [layout="column"] > [flex-gt-lg="75"] { - max-height: 75%; } - [flex-gt-lg="80"] { - -webkit-flex: 0 0 80%; - -ms-flex: 0 0 80%; - flex: 0 0 80%; } - [layout="row"] > [flex-gt-lg="80"] { - max-width: 80%; } - [layout="column"] > [flex-gt-lg="80"] { - max-height: 80%; } - [flex-gt-lg="85"] { - -webkit-flex: 0 0 85%; - -ms-flex: 0 0 85%; - flex: 0 0 85%; } - [layout="row"] > [flex-gt-lg="85"] { - max-width: 85%; } - [layout="column"] > [flex-gt-lg="85"] { - max-height: 85%; } - [flex-gt-lg="90"] { - -webkit-flex: 0 0 90%; - -ms-flex: 0 0 90%; - flex: 0 0 90%; } - [layout="row"] > [flex-gt-lg="90"] { - max-width: 90%; } - [layout="column"] > [flex-gt-lg="90"] { - max-height: 90%; } - [flex-gt-lg="95"] { - -webkit-flex: 0 0 95%; - -ms-flex: 0 0 95%; - flex: 0 0 95%; } - [layout="row"] > [flex-gt-lg="95"] { - max-width: 95%; } - [layout="column"] > [flex-gt-lg="95"] { - max-height: 95%; } - [flex-gt-lg="100"] { - -webkit-flex: 0 0 100%; - -ms-flex: 0 0 100%; - flex: 0 0 100%; } - [layout="row"] > [flex-gt-lg="100"] { - max-width: 100%; } - [layout="column"] > [flex-gt-lg="100"] { - max-height: 100%; } - [flex-gt-lg="33"], [flex-gt-lg="34"] { - -webkit-flex: 0 0 33.33%; - -ms-flex: 0 0 33.33%; - flex: 0 0 33.33%; } - [flex-gt-lg="66"], [flex-gt-lg="67"] { - -webkit-flex: 0 0 66.66%; - -ms-flex: 0 0 66.66%; - flex: 0 0 66.66%; } - [layout="row"] > [flex-gt-lg="33"], [layout="row"] > [flex-gt-lg="34"] { - max-width: 33.33%; } - [layout="row"] > [flex-gt-lg="66"], [layout="row"] > [flex-gt-lg="67"] { - max-width: 66.66%; } - [layout="column"] > [flex-gt-lg="33"], [layout="column"] > [flex-gt-lg="34"] { - max-height: 33.33%; } - [layout="column"] > [flex-gt-lg="66"], [layout="column"] > [flex-gt-lg="67"] { - max-height: 66.66%; } } - -/* mixin definition ; sets LTR and RTL within the same style call */ -html, body { - height: 100%; - color: rgba(0, 0, 0, 0.87); - background: white; - position: relative; } - -body { - margin: 0; - padding: 0; } - -[tabindex='-1']:focus { - outline: none; } - -.inset { - padding: 10px; } - -button.md-no-style { - font-weight: normal; - background-color: inherit; - text-align: left; - border: none; - padding: 0; - margin: 0; } - -select, button, textarea, input { - vertical-align: baseline; } - -input[type="reset"], input[type="submit"], html input[type="button"], button { - cursor: pointer; - -webkit-appearance: button; } - input[type="reset"][disabled], input[type="submit"][disabled], html input[type="button"][disabled], button[disabled] { - cursor: default; } - -textarea { - vertical-align: top; - overflow: auto; } - -input[type="search"] { - -webkit-appearance: textfield; - box-sizing: content-box; - -webkit-box-sizing: content-box; } - input[type="search"]::-webkit-search-decoration, input[type="search"]::-webkit-search-cancel-button { - -webkit-appearance: none; } - -.md-visually-hidden { - border: 0; - clip: rect(0 0 0 0); - height: 1px; - margin: -1px; - overflow: hidden; - padding: 0; - position: absolute; - text-transform: none; - width: 1px; } - -.md-shadow { - position: absolute; - top: 0; - left: 0; - bottom: 0; - right: 0; - border-radius: inherit; - pointer-events: none; } - -.md-shadow-bottom-z-1 { - box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); } - -.md-shadow-bottom-z-2 { - box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.4); } - -.md-shadow-animated.md-shadow { - transition: box-shadow 0.28s cubic-bezier(0.4, 0, 0.2, 1); } - -/* - * A container inside of a rippling element (eg a button), - * which contains all of the individual ripples - */ -.md-ripple-container { - pointer-events: none; - position: absolute; - overflow: hidden; - left: 0; - top: 0; - width: 100%; - height: 100%; - transition: all 0.55s cubic-bezier(0.25, 0.8, 0.25, 1); } - -.md-ripple { - position: absolute; - -webkit-transform: scale(0); - transform: scale(0); - -webkit-transform-origin: 50% 50%; - transform-origin: 50% 50%; - opacity: 0; - border-radius: 50%; } - .md-ripple.md-ripple-placed { - transition: left 1.8s cubic-bezier(0.25, 0.8, 0.25, 1), top 1.8s cubic-bezier(0.25, 0.8, 0.25, 1), margin 1.3s cubic-bezier(0.25, 0.8, 0.25, 1), border 1.3s cubic-bezier(0.25, 0.8, 0.25, 1), width 1.3s cubic-bezier(0.25, 0.8, 0.25, 1), height 1.3s cubic-bezier(0.25, 0.8, 0.25, 1), opacity 1.3s cubic-bezier(0.25, 0.8, 0.25, 1), -webkit-transform 1.3s cubic-bezier(0.25, 0.8, 0.25, 1); - transition: left 1.8s cubic-bezier(0.25, 0.8, 0.25, 1), top 1.8s cubic-bezier(0.25, 0.8, 0.25, 1), margin 1.3s cubic-bezier(0.25, 0.8, 0.25, 1), border 1.3s cubic-bezier(0.25, 0.8, 0.25, 1), width 1.3s cubic-bezier(0.25, 0.8, 0.25, 1), height 1.3s cubic-bezier(0.25, 0.8, 0.25, 1), opacity 1.3s cubic-bezier(0.25, 0.8, 0.25, 1), transform 1.3s cubic-bezier(0.25, 0.8, 0.25, 1); } - .md-ripple.md-ripple-scaled { - -webkit-transform: scale(1); - transform: scale(1); } - .md-ripple.md-ripple-active, .md-ripple.md-ripple-full, .md-ripple.md-ripple-visible { - opacity: 0.20; } - -.md-padding { - padding: 8px; } - -.md-margin { - margin: 8px; } - -.md-scroll-mask { - position: absolute; - background-color: transparent; } - .md-scroll-mask > .md-scroll-mask-bar { - display: block; - position: absolute; - background-color: #fafafa; - right: 0; - top: 0; - bottom: 0; - z-index: 65; - box-shadow: inset 0px 0px 1px rgba(0, 0, 0, 0.3); } - -@media (min-width: 600px) { - .md-padding { - padding: 16px; } } - -/* mixin definition ; sets LTR and RTL within the same style call */ -/* mixin definition ; sets LTR and RTL within the same style call */ -/* mixin definition ; sets LTR and RTL within the same style call */ -html, body { - -webkit-tap-highlight-color: transparent; - -webkit-touch-callout: none; - -webkit-text-size-adjust: 100%; - -webkit-font-smoothing: antialiased; } - -md-select, md-card, md-list, md-toolbar, ul, ol, p, h1, h2, h3, h4, h5, h6 { - text-rendering: optimizeLegibility; } - -/************ - * Headings - ************/ -.md-display-4 { - font-size: 112px; - font-weight: 300; - letter-spacing: -0.01em; - line-height: 112px; } - -.md-display-3 { - font-size: 56px; - font-weight: 400; - letter-spacing: -0.005em; - line-height: 56px; } - -.md-display-2 { - font-size: 45px; - font-weight: 400; - line-height: 64px; } - -.md-display-1 { - font-size: 34px; - font-weight: 400; - line-height: 40px; } - -.md-headline { - font-size: 24px; - font-weight: 400; - line-height: 32px; } - -.md-title { - font-size: 20px; - font-weight: 500; - letter-spacing: 0.005em; } - -.md-subhead { - font-size: 16px; - font-weight: 400; - letter-spacing: 0.01em; - line-height: 24px; } - -/************ - * Body Copy - ************/ -.md-body-1 { - font-size: 14px; - font-weight: 400; - letter-spacing: 0.01em; - line-height: 20px; } - -.md-body-2 { - font-size: 14px; - font-weight: 500; - letter-spacing: 0.01em; - line-height: 24px; } - -.md-caption { - font-size: 12px; - letter-spacing: 0.02em; } - -.md-button { - letter-spacing: 0.01em; } - -/************ - * Defaults - ************/ -button, select, html, textarea, input { - font-family: RobotoDraft, Roboto, 'Helvetica Neue', sans-serif; } - -select, button, textarea, input { - font-size: 100%; } - -/* mixin definition ; sets LTR and RTL within the same style call */ \ No newline at end of file diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/core/core.js b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/core/core.js deleted file mode 100644 index 66c2fc46..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/core/core.js +++ /dev/null @@ -1,3779 +0,0 @@ -/*! - * Angular Material Design - * https://github.com/angular/material - * @license MIT - * v0.9.8 - */ -(function( window, angular, undefined ){ -"use strict"; - - -/** - * Initialization function that validates environment - * requirements. - */ -angular - .module('material.core', [ 'material.core.gestures', 'material.core.theming' ]) - .config( MdCoreConfigure ); - - -function MdCoreConfigure($provide, $mdThemingProvider) { - - $provide.decorator('$$rAF', ["$delegate", rAFDecorator]); - - $mdThemingProvider.theme('default') - .primaryPalette('indigo') - .accentPalette('pink') - .warnPalette('red') - .backgroundPalette('grey'); -} -MdCoreConfigure.$inject = ["$provide", "$mdThemingProvider"]; - -function rAFDecorator( $delegate ) { - /** - * Use this to throttle events that come in often. - * The throttled function will always use the *last* invocation before the - * coming frame. - * - * For example, window resize events that fire many times a second: - * If we set to use an raf-throttled callback on window resize, then - * our callback will only be fired once per frame, with the last resize - * event that happened before that frame. - * - * @param {function} callback function to debounce - */ - $delegate.throttle = function(cb) { - var queueArgs, alreadyQueued, queueCb, context; - return function debounced() { - queueArgs = arguments; - context = this; - queueCb = cb; - if (!alreadyQueued) { - alreadyQueued = true; - $delegate(function() { - queueCb.apply(context, queueArgs); - alreadyQueued = false; - }); - } - }; - }; - return $delegate; -} - -angular.module('material.core') -.factory('$mdConstant', MdConstantFactory); - -function MdConstantFactory($$rAF, $sniffer) { - - var webkit = /webkit/i.test($sniffer.vendorPrefix); - function vendorProperty(name) { - return webkit ? ('webkit' + name.charAt(0).toUpperCase() + name.substring(1)) : name; - } - - return { - KEY_CODE: { - ENTER: 13, - ESCAPE: 27, - SPACE: 32, - LEFT_ARROW : 37, - UP_ARROW : 38, - RIGHT_ARROW : 39, - DOWN_ARROW : 40, - TAB : 9, - BACKSPACE: 8, - DELETE: 46 - }, - CSS: { - /* Constants */ - TRANSITIONEND: 'transitionend' + (webkit ? ' webkitTransitionEnd' : ''), - ANIMATIONEND: 'animationend' + (webkit ? ' webkitAnimationEnd' : ''), - - TRANSFORM: vendorProperty('transform'), - TRANSFORM_ORIGIN: vendorProperty('transformOrigin'), - TRANSITION: vendorProperty('transition'), - TRANSITION_DURATION: vendorProperty('transitionDuration'), - ANIMATION_PLAY_STATE: vendorProperty('animationPlayState'), - ANIMATION_DURATION: vendorProperty('animationDuration'), - ANIMATION_NAME: vendorProperty('animationName'), - ANIMATION_TIMING: vendorProperty('animationTimingFunction'), - ANIMATION_DIRECTION: vendorProperty('animationDirection') - }, - MEDIA: { - 'sm': '(max-width: 600px)', - 'gt-sm': '(min-width: 600px)', - 'md': '(min-width: 600px) and (max-width: 960px)', - 'gt-md': '(min-width: 960px)', - 'lg': '(min-width: 960px) and (max-width: 1200px)', - 'gt-lg': '(min-width: 1200px)' - }, - MEDIA_PRIORITY: [ - 'gt-lg', - 'lg', - 'gt-md', - 'md', - 'gt-sm', - 'sm' - ] - }; -} -MdConstantFactory.$inject = ["$$rAF", "$sniffer"]; - - angular - .module('material.core') - .config( ["$provide", function($provide){ - $provide.decorator('$mdUtil', ['$delegate', function ($delegate){ - /** - * Inject the iterator facade to easily support iteration and accessors - * @see iterator below - */ - $delegate.iterator = MdIterator; - - return $delegate; - } - ]); - }]); - - /** - * iterator is a list facade to easily support iteration and accessors - * - * @param items Array list which this iterator will enumerate - * @param reloop Boolean enables iterator to consider the list as an endless reloop - */ - function MdIterator(items, reloop) { - var trueFn = function() { return true; }; - - if (items && !angular.isArray(items)) { - items = Array.prototype.slice.call(items); - } - - reloop = !!reloop; - var _items = items || [ ]; - - // Published API - return { - items: getItems, - count: count, - - inRange: inRange, - contains: contains, - indexOf: indexOf, - itemAt: itemAt, - - findBy: findBy, - - add: add, - remove: remove, - - first: first, - last: last, - next: angular.bind(null, findSubsequentItem, false), - previous: angular.bind(null, findSubsequentItem, true), - - hasPrevious: hasPrevious, - hasNext: hasNext - - }; - - /** - * Publish copy of the enumerable set - * @returns {Array|*} - */ - function getItems() { - return [].concat(_items); - } - - /** - * Determine length of the list - * @returns {Array.length|*|number} - */ - function count() { - return _items.length; - } - - /** - * Is the index specified valid - * @param index - * @returns {Array.length|*|number|boolean} - */ - function inRange(index) { - return _items.length && ( index > -1 ) && (index < _items.length ); - } - - /** - * Can the iterator proceed to the next item in the list; relative to - * the specified item. - * - * @param item - * @returns {Array.length|*|number|boolean} - */ - function hasNext(item) { - return item ? inRange(indexOf(item) + 1) : false; - } - - /** - * Can the iterator proceed to the previous item in the list; relative to - * the specified item. - * - * @param item - * @returns {Array.length|*|number|boolean} - */ - function hasPrevious(item) { - return item ? inRange(indexOf(item) - 1) : false; - } - - /** - * Get item at specified index/position - * @param index - * @returns {*} - */ - function itemAt(index) { - return inRange(index) ? _items[index] : null; - } - - /** - * Find all elements matching the key/value pair - * otherwise return null - * - * @param val - * @param key - * - * @return array - */ - function findBy(key, val) { - return _items.filter(function(item) { - return item[key] === val; - }); - } - - /** - * Add item to list - * @param item - * @param index - * @returns {*} - */ - function add(item, index) { - if ( !item ) return -1; - - if (!angular.isNumber(index)) { - index = _items.length; - } - - _items.splice(index, 0, item); - - return indexOf(item); - } - - /** - * Remove item from list... - * @param item - */ - function remove(item) { - if ( contains(item) ){ - _items.splice(indexOf(item), 1); - } - } - - /** - * Get the zero-based index of the target item - * @param item - * @returns {*} - */ - function indexOf(item) { - return _items.indexOf(item); - } - - /** - * Boolean existence check - * @param item - * @returns {boolean} - */ - function contains(item) { - return item && (indexOf(item) > -1); - } - - /** - * Return first item in the list - * @returns {*} - */ - function first() { - return _items.length ? _items[0] : null; - } - - /** - * Return last item in the list... - * @returns {*} - */ - function last() { - return _items.length ? _items[_items.length - 1] : null; - } - - /** - * Find the next item. If reloop is true and at the end of the list, it will go back to the - * first item. If given, the `validate` callback will be used to determine whether the next item - * is valid. If not valid, it will try to find the next item again. - * - * @param {boolean} backwards Specifies the direction of searching (forwards/backwards) - * @param {*} item The item whose subsequent item we are looking for - * @param {Function=} validate The `validate` function - * @param {integer=} limit The recursion limit - * - * @returns {*} The subsequent item or null - */ - function findSubsequentItem(backwards, item, validate, limit) { - validate = validate || trueFn; - - var curIndex = indexOf(item); - while (true) { - if (!inRange(curIndex)) return null; - - var nextIndex = curIndex + (backwards ? -1 : 1); - var foundItem = null; - if (inRange(nextIndex)) { - foundItem = _items[nextIndex]; - } else if (reloop) { - foundItem = backwards ? last() : first(); - nextIndex = indexOf(foundItem); - } - - if ((foundItem === null) || (nextIndex === limit)) return null; - if (validate(foundItem)) return foundItem; - - if (angular.isUndefined(limit)) limit = nextIndex; - - curIndex = nextIndex; - } - } - } - - -angular.module('material.core') -.factory('$mdMedia', mdMediaFactory); - -/** - * @ngdoc service - * @name $mdMedia - * @module material.core - * - * @description - * `$mdMedia` is used to evaluate whether a given media query is true or false given the - * current device's screen / window size. The media query will be re-evaluated on resize, allowing - * you to register a watch. - * - * `$mdMedia` also has pre-programmed support for media queries that match the layout breakpoints. - * (`sm`, `gt-sm`, `md`, `gt-md`, `lg`, `gt-lg`). - * - * @returns {boolean} a boolean representing whether or not the given media query is true or false. - * - * @usage - * - * app.controller('MyController', function($mdMedia, $scope) { - * $scope.$watch(function() { return $mdMedia('lg'); }, function(big) { - * $scope.bigScreen = big; - * }); - * - * $scope.screenIsSmall = $mdMedia('sm'); - * $scope.customQuery = $mdMedia('(min-width: 1234px)'); - * $scope.anotherCustom = $mdMedia('max-width: 300px'); - * }); - * - */ - -function mdMediaFactory($mdConstant, $rootScope, $window) { - var queries = {}; - var mqls = {}; - var results = {}; - var normalizeCache = {}; - - $mdMedia.getResponsiveAttribute = getResponsiveAttribute; - $mdMedia.getQuery = getQuery; - $mdMedia.watchResponsiveAttributes = watchResponsiveAttributes; - - return $mdMedia; - - function $mdMedia(query) { - var validated = queries[query]; - if (angular.isUndefined(validated)) { - validated = queries[query] = validate(query); - } - - var result = results[validated]; - if (angular.isUndefined(result)) { - result = add(validated); - } - - return result; - } - - function validate(query) { - return $mdConstant.MEDIA[query] || - ((query.charAt(0) !== '(') ? ('(' + query + ')') : query); - } - - function add(query) { - var result = mqls[query] = $window.matchMedia(query); - result.addListener(onQueryChange); - return (results[result.media] = !!result.matches); - } - - function onQueryChange(query) { - $rootScope.$evalAsync(function() { - results[query.media] = !!query.matches; - }); - } - - function getQuery(name) { - return mqls[name]; - } - - function getResponsiveAttribute(attrs, attrName) { - for (var i = 0; i < $mdConstant.MEDIA_PRIORITY.length; i++) { - var mediaName = $mdConstant.MEDIA_PRIORITY[i]; - if (!mqls[queries[mediaName]].matches) { - continue; - } - - var normalizedName = getNormalizedName(attrs, attrName + '-' + mediaName); - if (attrs[normalizedName]) { - return attrs[normalizedName]; - } - } - - // fallback on unprefixed - return attrs[getNormalizedName(attrs, attrName)]; - } - - function watchResponsiveAttributes(attrNames, attrs, watchFn) { - var unwatchFns = []; - attrNames.forEach(function(attrName) { - var normalizedName = getNormalizedName(attrs, attrName); - if (attrs[normalizedName]) { - unwatchFns.push( - attrs.$observe(normalizedName, angular.bind(void 0, watchFn, null))); - } - - for (var mediaName in $mdConstant.MEDIA) { - normalizedName = getNormalizedName(attrs, attrName + '-' + mediaName); - if (!attrs[normalizedName]) { - return; - } - - unwatchFns.push(attrs.$observe(normalizedName, angular.bind(void 0, watchFn, mediaName))); - } - }); - - return function unwatch() { - unwatchFns.forEach(function(fn) { fn(); }) - }; - } - - // Improves performance dramatically - function getNormalizedName(attrs, attrName) { - return normalizeCache[attrName] || - (normalizeCache[attrName] = attrs.$normalize(attrName)); - } -} -mdMediaFactory.$inject = ["$mdConstant", "$rootScope", "$window"]; - -/* - * This var has to be outside the angular factory, otherwise when - * there are multiple material apps on the same page, each app - * will create its own instance of this array and the app's IDs - * will not be unique. - */ -var nextUniqueId = 0; - -angular.module('material.core') -.factory('$mdUtil', ["$cacheFactory", "$document", "$timeout", "$q", "$window", "$mdConstant", function($cacheFactory, $document, $timeout, $q, $window, $mdConstant) { - var Util; - - function getNode(el) { - return el[0] || el; - } - - return Util = { - now: window.performance ? - angular.bind(window.performance, window.performance.now) : - Date.now, - - clientRect: function(element, offsetParent, isOffsetRect) { - var node = getNode(element); - offsetParent = getNode(offsetParent || node.offsetParent || document.body); - var nodeRect = node.getBoundingClientRect(); - - // The user can ask for an offsetRect: a rect relative to the offsetParent, - // or a clientRect: a rect relative to the page - var offsetRect = isOffsetRect ? - offsetParent.getBoundingClientRect() : - { left: 0, top: 0, width: 0, height: 0 }; - return { - left: nodeRect.left - offsetRect.left, - top: nodeRect.top - offsetRect.top, - width: nodeRect.width, - height: nodeRect.height - }; - }, - offsetRect: function(element, offsetParent) { - return Util.clientRect(element, offsetParent, true); - }, - // Disables scroll around the passed element. Goes up the DOM to find a - // disableTarget (a md-content that is scrolling, or the body as a fallback) - // and uses CSS/JS to prevent it from scrolling - disableScrollAround: function(element) { - element = element instanceof angular.element ? element[0] : element; - var parentEl = element; - var disableTarget; - - // Find the highest level scrolling md-content - while (parentEl = this.getClosest(parentEl, 'MD-CONTENT', true)) { - if (isScrolling(parentEl)) { - disableTarget = angular.element(parentEl)[0]; - } - } - - // Default to the body if no scrolling md-content - if (!disableTarget) { - disableTarget = $document[0].body; - if (!isScrolling(disableTarget)) return angular.noop; - } - - if (disableTarget.nodeName == 'BODY') { - return disableBodyScroll(); - } else { - return disableElementScroll(); - } - - // Creates a virtual scrolling mask to absorb touchmove, keyboard, scrollbar clicking, and wheel events - function disableElementScroll() { - var scrollMask = angular.element('
    '); - var computedStyle = $window.getComputedStyle(disableTarget); - var disableRect = disableTarget.getBoundingClientRect(); - var scrollWidth = disableRect.width - disableTarget.clientWidth; - applyStyles(scrollMask[0], { - zIndex: computedStyle.zIndex == 'auto' ? 2 : computedStyle.zIndex + 1, - width: disableRect.width + 'px', - height: disableRect.height + 'px', - top: disableRect.top + 'px', - left: disableRect.left + 'px' - }); - scrollMask[0].firstElementChild.style.width = scrollWidth + 'px'; - $document[0].body.appendChild(scrollMask[0]); - - scrollMask.on('wheel', preventDefault); - scrollMask.on('touchmove', preventDefault); - $document.on('keydown', disableKeyNav); - - return function restoreScroll() { - scrollMask.off('wheel'); - scrollMask.off('touchmove'); - scrollMask[0].parentNode.removeChild(scrollMask[0]); - $document.off('keydown', disableKeyNav); - }; - - // Prevent keypresses from elements inside the disableTarget - // used to stop the keypresses that could cause the page to scroll - // (arrow keys, spacebar, tab, etc). - function disableKeyNav(e) { - if (disableTarget.contains(e.target)) { - e.preventDefault(); - e.stopImmediatePropagation(); - } - } - - function preventDefault(e) { - e.preventDefault(); - } - } - - // Converts the disableTarget (body) to a position fixed block and translate it to the propper scroll position - function disableBodyScroll() { - var restoreStyle = disableTarget.getAttribute('style') || ''; - var scrollOffset = disableTarget.scrollTop; - - applyStyles(disableTarget, { - position: 'fixed', - width: '100%', - overflowY: 'scroll', - top: -scrollOffset + 'px' - }); - - return function restoreScroll() { - disableTarget.setAttribute('style', restoreStyle); - disableTarget.scrollTop = scrollOffset; - }; - } - - function applyStyles (el, styles) { - for (var key in styles) { - el.style[key] = styles[key]; - } - } - - function isScrolling(el) { - if (el instanceof angular.element) el = el[0]; - return el.scrollHeight > el.offsetHeight; - } - }, - - floatingScrollbars: function() { - if (this.floatingScrollbars.cached === undefined) { - var tempNode = angular.element('
    '); - $document[0].body.appendChild(tempNode[0]); - this.floatingScrollbars.cached = (tempNode[0].offsetWidth == tempNode[0].childNodes[0].offsetWidth); - tempNode.remove(); - } - return this.floatingScrollbars.cached; - }, - - // Mobile safari only allows you to set focus in click event listeners... - forceFocus: function(element) { - var node = element[0] || element; - - document.addEventListener('click', function focusOnClick(ev) { - if (ev.target === node && ev.$focus) { - node.focus(); - ev.stopImmediatePropagation(); - ev.preventDefault(); - node.removeEventListener('click', focusOnClick); - } - }, true); - - var newEvent = document.createEvent('MouseEvents'); - newEvent.initMouseEvent('click', false, true, window, {}, 0, 0, 0, 0, - false, false, false, false, 0, null); - newEvent.$material = true; - newEvent.$focus = true; - node.dispatchEvent(newEvent); - }, - - transitionEndPromise: function(element, opts) { - opts = opts || {}; - var deferred = $q.defer(); - element.on($mdConstant.CSS.TRANSITIONEND, finished); - function finished(ev) { - // Make sure this transitionend didn't bubble up from a child - if (!ev || ev.target === element[0]) { - element.off($mdConstant.CSS.TRANSITIONEND, finished); - deferred.resolve(); - } - } - if (opts.timeout) $timeout(finished, opts.timeout); - return deferred.promise; - }, - - fakeNgModel: function() { - return { - $fake: true, - $setTouched: angular.noop, - $setViewValue: function(value) { - this.$viewValue = value; - this.$render(value); - this.$viewChangeListeners.forEach(function(cb) { cb(); }); - }, - $isEmpty: function(value) { - return ('' + value).length === 0; - }, - $parsers: [], - $formatters: [], - $viewChangeListeners: [], - $render: angular.noop - }; - }, - - // Returns a function, that, as long as it continues to be invoked, will not - // be triggered. The function will be called after it stops being called for - // N milliseconds. - // @param wait Integer value of msecs to delay (since last debounce reset); default value 10 msecs - // @param invokeApply should the $timeout trigger $digest() dirty checking - debounce: function (func, wait, scope, invokeApply) { - var timer; - - return function debounced() { - var context = scope, - args = Array.prototype.slice.call(arguments); - - $timeout.cancel(timer); - timer = $timeout(function() { - - timer = undefined; - func.apply(context, args); - - }, wait || 10, invokeApply ); - }; - }, - - // Returns a function that can only be triggered every `delay` milliseconds. - // In other words, the function will not be called unless it has been more - // than `delay` milliseconds since the last call. - throttle: function throttle(func, delay) { - var recent; - return function throttled() { - var context = this; - var args = arguments; - var now = Util.now(); - - if (!recent || (now - recent > delay)) { - func.apply(context, args); - recent = now; - } - }; - }, - - /** - * Measures the number of milliseconds taken to run the provided callback - * function. Uses a high-precision timer if available. - */ - time: function time(cb) { - var start = Util.now(); - cb(); - return Util.now() - start; - }, - - /** - * Get a unique ID. - * - * @returns {string} an unique numeric string - */ - nextUid: function() { - return '' + nextUniqueId++; - }, - - // Stop watchers and events from firing on a scope without destroying it, - // by disconnecting it from its parent and its siblings' linked lists. - disconnectScope: function disconnectScope(scope) { - if (!scope) return; - - // we can't destroy the root scope or a scope that has been already destroyed - if (scope.$root === scope) return; - if (scope.$$destroyed ) return; - - var parent = scope.$parent; - scope.$$disconnected = true; - - // See Scope.$destroy - if (parent.$$childHead === scope) parent.$$childHead = scope.$$nextSibling; - if (parent.$$childTail === scope) parent.$$childTail = scope.$$prevSibling; - if (scope.$$prevSibling) scope.$$prevSibling.$$nextSibling = scope.$$nextSibling; - if (scope.$$nextSibling) scope.$$nextSibling.$$prevSibling = scope.$$prevSibling; - - scope.$$nextSibling = scope.$$prevSibling = null; - - }, - - // Undo the effects of disconnectScope above. - reconnectScope: function reconnectScope(scope) { - if (!scope) return; - - // we can't disconnect the root node or scope already disconnected - if (scope.$root === scope) return; - if (!scope.$$disconnected) return; - - var child = scope; - - var parent = child.$parent; - child.$$disconnected = false; - // See Scope.$new for this logic... - child.$$prevSibling = parent.$$childTail; - if (parent.$$childHead) { - parent.$$childTail.$$nextSibling = child; - parent.$$childTail = child; - } else { - parent.$$childHead = parent.$$childTail = child; - } - }, - - /* - * getClosest replicates jQuery.closest() to walk up the DOM tree until it finds a matching nodeName - * - * @param el Element to start walking the DOM from - * @param tagName Tag name to find closest to el, such as 'form' - */ - getClosest: function getClosest(el, tagName, onlyParent) { - if (el instanceof angular.element) el = el[0]; - tagName = tagName.toUpperCase(); - if (onlyParent) el = el.parentNode; - if (!el) return null; - do { - if (el.nodeName === tagName) { - return el; - } - } while (el = el.parentNode); - return null; - }, - - /** - * Functional equivalent for $element.filter(‘md-bottom-sheet’) - * useful with interimElements where the element and its container are important... - */ - extractElementByName: function (element, nodeName) { - for (var i = 0, len = element.length; i < len; i++) { - if (element[i].nodeName.toLowerCase() === nodeName){ - return angular.element(element[i]); - } - } - return element; - }, - - /** - * Give optional properties with no value a boolean true by default - */ - initOptionalProperties: function (scope, attr, defaults ) { - defaults = defaults || { }; - angular.forEach(scope.$$isolateBindings, function (binding, key) { - if (binding.optional && angular.isUndefined(scope[key])) { - var hasKey = attr.hasOwnProperty(attr.$normalize(binding.attrName)); - - scope[key] = angular.isDefined(defaults[key]) ? defaults[key] : hasKey; - } - }); - } - - }; - -}]); - -/* - * Since removing jQuery from the demos, some code that uses `element.focus()` is broken. - * - * We need to add `element.focus()`, because it's testable unlike `element[0].focus`. - * - * TODO(ajoslin): This should be added in a better place later. - */ - -angular.element.prototype.focus = angular.element.prototype.focus || function() { - if (this.length) { - this[0].focus(); - } - return this; -}; -angular.element.prototype.blur = angular.element.prototype.blur || function() { - if (this.length) { - this[0].blur(); - } - return this; -}; - - -angular.module('material.core') - .service('$mdAria', AriaService); - -/* - * ngInject - */ -function AriaService($$rAF, $log, $window) { - - return { - expect: expect, - expectAsync: expectAsync, - expectWithText: expectWithText - }; - - /** - * Check if expected attribute has been specified on the target element or child - * @param element - * @param attrName - * @param {optional} defaultValue What to set the attr to if no value is found - */ - function expect(element, attrName, defaultValue) { - var node = element[0] || element; - - // if node exists and neither it nor its children have the attribute - if (node && - ((!node.hasAttribute(attrName) || - node.getAttribute(attrName).length === 0) && - !childHasAttribute(node, attrName))) { - - defaultValue = angular.isString(defaultValue) ? defaultValue.trim() : ''; - if (defaultValue.length) { - element.attr(attrName, defaultValue); - } else { - $log.warn('ARIA: Attribute "', attrName, '", required for accessibility, is missing on node:', node); - } - - } - } - - function expectAsync(element, attrName, defaultValueGetter) { - // Problem: when retrieving the element's contents synchronously to find the label, - // the text may not be defined yet in the case of a binding. - // There is a higher chance that a binding will be defined if we wait one frame. - $$rAF(function() { - expect(element, attrName, defaultValueGetter()); - }); - } - - function expectWithText(element, attrName) { - expectAsync(element, attrName, function() { - return getText(element); - }); - } - - function getText(element) { - return element.text().trim(); - } - - function childHasAttribute(node, attrName) { - var hasChildren = node.hasChildNodes(), - hasAttr = false; - - function isHidden(el) { - var style = el.currentStyle ? el.currentStyle : $window.getComputedStyle(el); - return (style.display === 'none'); - } - - if(hasChildren) { - var children = node.childNodes; - for(var i=0; i - * $mdCompiler.compile({ - * templateUrl: 'modal.html', - * controller: 'ModalCtrl', - * locals: { - * modal: myModalInstance; - * } - * }).then(function(compileData) { - * compileData.element; // modal.html's template in an element - * compileData.link(myScope); //attach controller & scope to element - * }); - * - */ - - /* - * @ngdoc method - * @name $mdCompiler#compile - * @description A helper to compile an HTML template/templateUrl with a given controller, - * locals, and scope. - * @param {object} options An options object, with the following properties: - * - * - `controller` - `{(string=|function()=}` Controller fn that should be associated with - * newly created scope or the name of a registered controller if passed as a string. - * - `controllerAs` - `{string=}` A controller alias name. If present the controller will be - * published to scope under the `controllerAs` name. - * - `template` - `{string=}` An html template as a string. - * - `templateUrl` - `{string=}` A path to an html template. - * - `transformTemplate` - `{function(template)=}` A function which transforms the template after - * it is loaded. It will be given the template string as a parameter, and should - * return a a new string representing the transformed template. - * - `resolve` - `{Object.=}` - An optional map of dependencies which should - * be injected into the controller. If any of these dependencies are promises, the compiler - * will wait for them all to be resolved, or if one is rejected before the controller is - * instantiated `compile()` will fail.. - * * `key` - `{string}`: a name of a dependency to be injected into the controller. - * * `factory` - `{string|function}`: If `string` then it is an alias for a service. - * Otherwise if function, then it is injected and the return value is treated as the - * dependency. If the result is a promise, it is resolved before its value is - * injected into the controller. - * - * @returns {object=} promise A promise, which will be resolved with a `compileData` object. - * `compileData` has the following properties: - * - * - `element` - `{element}`: an uncompiled element matching the provided template. - * - `link` - `{function(scope)}`: A link function, which, when called, will compile - * the element and instantiate the provided controller (if given). - * - `locals` - `{object}`: The locals which will be passed into the controller once `link` is - * called. If `bindToController` is true, they will be coppied to the ctrl instead - * - `bindToController` - `bool`: bind the locals to the controller, instead of passing them in. - */ - this.compile = function(options) { - var templateUrl = options.templateUrl; - var template = options.template || ''; - var controller = options.controller; - var controllerAs = options.controllerAs; - var resolve = options.resolve || {}; - var locals = options.locals || {}; - var transformTemplate = options.transformTemplate || angular.identity; - var bindToController = options.bindToController; - - // Take resolve values and invoke them. - // Resolves can either be a string (value: 'MyRegisteredAngularConst'), - // or an invokable 'factory' of sorts: (value: function ValueGetter($dependency) {}) - angular.forEach(resolve, function(value, key) { - if (angular.isString(value)) { - resolve[key] = $injector.get(value); - } else { - resolve[key] = $injector.invoke(value); - } - }); - //Add the locals, which are just straight values to inject - //eg locals: { three: 3 }, will inject three into the controller - angular.extend(resolve, locals); - - if (templateUrl) { - resolve.$template = $http.get(templateUrl, {cache: $templateCache}) - .then(function(response) { - return response.data; - }); - } else { - resolve.$template = $q.when(template); - } - - // Wait for all the resolves to finish if they are promises - return $q.all(resolve).then(function(locals) { - - var template = transformTemplate(locals.$template); - var element = options.element || angular.element('
    ').html(template.trim()).contents(); - var linkFn = $compile(element); - - //Return a linking function that can be used later when the element is ready - return { - locals: locals, - element: element, - link: function link(scope) { - locals.$scope = scope; - - //Instantiate controller if it exists, because we have scope - if (controller) { - var invokeCtrl = $controller(controller, locals, true); - if (bindToController) { - angular.extend(invokeCtrl.instance, locals); - } - var ctrl = invokeCtrl(); - //See angular-route source for this logic - element.data('$ngControllerController', ctrl); - element.children().data('$ngControllerController', ctrl); - - if (controllerAs) { - scope[controllerAs] = ctrl; - } - } - return linkFn(scope); - } - }; - }); - - }; -} -mdCompilerService.$inject = ["$q", "$http", "$injector", "$compile", "$controller", "$templateCache"]; - - var HANDLERS = {}; - /* The state of the current 'pointer' - * The pointer represents the state of the current touch. - * It contains normalized x and y coordinates from DOM events, - * as well as other information abstracted from the DOM. - */ - var pointer, lastPointer, forceSkipClickHijack = false; - - // Used to attach event listeners once when multiple ng-apps are running. - var isInitialized = false; - - angular - .module('material.core.gestures', [ ]) - .provider('$mdGesture', MdGestureProvider) - .factory('$$MdGestureHandler', MdGestureHandler) - .run( attachToDocument ); - - /** - * @ngdoc service - * @name $mdGestureProvider - * @module material.core.gestures - * - * @description - * In some scenarios on Mobile devices (without jQuery), the click events should NOT be hijacked. - * `$mdGestureProvider` is used to configure the Gesture module to ignore or skip click hijacking on mobile - * devices. - * - * - * app.config(function($mdGestureProvider) { - * - * // For mobile devices without jQuery loaded, do not - * // intercept click events during the capture phase. - * $mdGestureProvider.skipClickHijack(); - * - * }); - * - * - */ - function MdGestureProvider() { } - - MdGestureProvider.prototype = { - - // Publish access to setter to configure a variable BEFORE the - // $mdGesture service is instantiated... - skipClickHijack: function() { - return forceSkipClickHijack = true; - }, - - /** - * $get is used to build an instance of $mdGesture - * ngInject - */ - $get : ["$$MdGestureHandler", "$$rAF", "$timeout", function($$MdGestureHandler, $$rAF, $timeout) { - return new MdGesture($$MdGestureHandler, $$rAF, $timeout); - }] - }; - - - - /** - * MdGesture factory construction function - * ngInject - */ - function MdGesture($$MdGestureHandler, $$rAF, $timeout) { - var userAgent = navigator.userAgent || navigator.vendor || window.opera; - var isIos = userAgent.match(/ipad|iphone|ipod/i); - var isAndroid = userAgent.match(/android/i); - var hasJQuery = (typeof window.jQuery !== 'undefined') && (angular.element === window.jQuery); - - var self = { - handler: addHandler, - register: register, - // On mobile w/out jQuery, we normally intercept clicks. Should we skip that? - isHijackingClicks: (isIos || isAndroid) && !hasJQuery && !forceSkipClickHijack - }; - - if (self.isHijackingClicks) { - self.handler('click', { - options: { - maxDistance: 6 - }, - onEnd: function (ev, pointer) { - if (pointer.distance < this.state.options.maxDistance) { - this.dispatchEvent(ev, 'click'); - } - } - }); - } - - /* - * Register an element to listen for a handler. - * This allows an element to override the default options for a handler. - * Additionally, some handlers like drag and hold only dispatch events if - * the domEvent happens inside an element that's registered to listen for these events. - * - * @see GestureHandler for how overriding of default options works. - * @example $mdGesture.register(myElement, 'drag', { minDistance: 20, horziontal: false }) - */ - function register(element, handlerName, options) { - var handler = HANDLERS[handlerName.replace(/^\$md./, '')]; - if (!handler) { - throw new Error('Failed to register element with handler ' + handlerName + '. ' + - 'Available handlers: ' + Object.keys(HANDLERS).join(', ')); - } - return handler.registerElement(element, options); - } - - /* - * add a handler to $mdGesture. see below. - */ - function addHandler(name, definition) { - var handler = new $$MdGestureHandler(name); - angular.extend(handler, definition); - HANDLERS[name] = handler; - - return self; - } - - /* - * Register handlers. These listen to touch/start/move events, interpret them, - * and dispatch gesture events depending on options & conditions. These are all - * instances of GestureHandler. - * @see GestureHandler - */ - return self - /* - * The press handler dispatches an event on touchdown/touchend. - * It's a simple abstraction of touch/mouse/pointer start and end. - */ - .handler('press', { - onStart: function (ev, pointer) { - this.dispatchEvent(ev, '$md.pressdown'); - }, - onEnd: function (ev, pointer) { - this.dispatchEvent(ev, '$md.pressup'); - } - }) - - /* - * The hold handler dispatches an event if the user keeps their finger within - * the same area for ms. - * The hold handler will only run if a parent of the touch target is registered - * to listen for hold events through $mdGesture.register() - */ - .handler('hold', { - options: { - maxDistance: 6, - delay: 500 - }, - onCancel: function () { - $timeout.cancel(this.state.timeout); - }, - onStart: function (ev, pointer) { - // For hold, require a parent to be registered with $mdGesture.register() - // Because we prevent scroll events, this is necessary. - if (!this.state.registeredParent) return this.cancel(); - - this.state.pos = {x: pointer.x, y: pointer.y}; - this.state.timeout = $timeout(angular.bind(this, function holdDelayFn() { - this.dispatchEvent(ev, '$md.hold'); - this.cancel(); //we're done! - }), this.state.options.delay, false); - }, - onMove: function (ev, pointer) { - // Don't scroll while waiting for hold. - // If we don't preventDefault touchmove events here, Android will assume we don't - // want to listen to anymore touch events. It will start scrolling and stop sending - // touchmove events. - ev.preventDefault(); - - // If the user moves greater than pixels, stop the hold timer - // set in onStart - var dx = this.state.pos.x - pointer.x; - var dy = this.state.pos.y - pointer.y; - if (Math.sqrt(dx * dx + dy * dy) > this.options.maxDistance) { - this.cancel(); - } - }, - onEnd: function () { - this.onCancel(); - } - }) - - /* - * The drag handler dispatches a drag event if the user holds and moves his finger greater than - * px in the x or y direction, depending on options.horizontal. - * The drag will be cancelled if the user moves his finger greater than * in - * the perpindicular direction. Eg if the drag is horizontal and the user moves his finger * - * pixels vertically, this handler won't consider the move part of a drag. - */ - .handler('drag', { - options: { - minDistance: 6, - horizontal: true, - cancelMultiplier: 1.5 - }, - onStart: function (ev) { - // For drag, require a parent to be registered with $mdGesture.register() - if (!this.state.registeredParent) this.cancel(); - }, - onMove: function (ev, pointer) { - var shouldStartDrag, shouldCancel; - // Don't scroll while deciding if this touchmove qualifies as a drag event. - // If we don't preventDefault touchmove events here, Android will assume we don't - // want to listen to anymore touch events. It will start scrolling and stop sending - // touchmove events. - ev.preventDefault(); - - if (!this.state.dragPointer) { - if (this.state.options.horizontal) { - shouldStartDrag = Math.abs(pointer.distanceX) > this.state.options.minDistance; - shouldCancel = Math.abs(pointer.distanceY) > this.state.options.minDistance * this.state.options.cancelMultiplier; - } else { - shouldStartDrag = Math.abs(pointer.distanceY) > this.state.options.minDistance; - shouldCancel = Math.abs(pointer.distanceX) > this.state.options.minDistance * this.state.options.cancelMultiplier; - } - - if (shouldStartDrag) { - // Create a new pointer representing this drag, starting at this point where the drag started. - this.state.dragPointer = makeStartPointer(ev); - updatePointerState(ev, this.state.dragPointer); - this.dispatchEvent(ev, '$md.dragstart', this.state.dragPointer); - - } else if (shouldCancel) { - this.cancel(); - } - } else { - this.dispatchDragMove(ev); - } - }, - // Only dispatch dragmove events every frame; any more is unnecessray - dispatchDragMove: $$rAF.throttle(function (ev) { - // Make sure the drag didn't stop while waiting for the next frame - if (this.state.isRunning) { - updatePointerState(ev, this.state.dragPointer); - this.dispatchEvent(ev, '$md.drag', this.state.dragPointer); - } - }), - onEnd: function (ev, pointer) { - if (this.state.dragPointer) { - updatePointerState(ev, this.state.dragPointer); - this.dispatchEvent(ev, '$md.dragend', this.state.dragPointer); - } - } - }) - - /* - * The swipe handler will dispatch a swipe event if, on the end of a touch, - * the velocity and distance were high enough. - * TODO: add vertical swiping with a `horizontal` option similar to the drag handler. - */ - .handler('swipe', { - options: { - minVelocity: 0.65, - minDistance: 10 - }, - onEnd: function (ev, pointer) { - if (Math.abs(pointer.velocityX) > this.state.options.minVelocity && - Math.abs(pointer.distanceX) > this.state.options.minDistance) { - var eventType = pointer.directionX == 'left' ? '$md.swipeleft' : '$md.swiperight'; - this.dispatchEvent(ev, eventType); - } - } - }); - - } - MdGesture.$inject = ["$$MdGestureHandler", "$$rAF", "$timeout"]; - - /** - * MdGestureHandler - * A GestureHandler is an object which is able to dispatch custom dom events - * based on native dom {touch,pointer,mouse}{start,move,end} events. - * - * A gesture will manage its lifecycle through the start,move,end, and cancel - * functions, which are called by native dom events. - * - * A gesture has the concept of 'options' (eg a swipe's required velocity), which can be - * overridden by elements registering through $mdGesture.register() - */ - function GestureHandler (name) { - this.name = name; - this.state = {}; - } - - function MdGestureHandler() { - var hasJQuery = (typeof window.jQuery !== 'undefined') && (angular.element === window.jQuery); - - GestureHandler.prototype = { - options: {}, - // jQuery listeners don't work with custom DOMEvents, so we have to dispatch events - // differently when jQuery is loaded - dispatchEvent: hasJQuery ? jQueryDispatchEvent : nativeDispatchEvent, - - // These are overridden by the registered handler - onStart: angular.noop, - onMove: angular.noop, - onEnd: angular.noop, - onCancel: angular.noop, - - // onStart sets up a new state for the handler, which includes options from the - // nearest registered parent element of ev.target. - start: function (ev, pointer) { - if (this.state.isRunning) return; - var parentTarget = this.getNearestParent(ev.target); - // Get the options from the nearest registered parent - var parentTargetOptions = parentTarget && parentTarget.$mdGesture[this.name] || {}; - - this.state = { - isRunning: true, - // Override the default options with the nearest registered parent's options - options: angular.extend({}, this.options, parentTargetOptions), - // Pass in the registered parent node to the state so the onStart listener can use - registeredParent: parentTarget - }; - this.onStart(ev, pointer); - }, - move: function (ev, pointer) { - if (!this.state.isRunning) return; - this.onMove(ev, pointer); - }, - end: function (ev, pointer) { - if (!this.state.isRunning) return; - this.onEnd(ev, pointer); - this.state.isRunning = false; - }, - cancel: function (ev, pointer) { - this.onCancel(ev, pointer); - this.state = {}; - }, - - // Find and return the nearest parent element that has been registered to - // listen for this handler via $mdGesture.register(element, 'handlerName'). - getNearestParent: function (node) { - var current = node; - while (current) { - if ((current.$mdGesture || {})[this.name]) { - return current; - } - current = current.parentNode; - } - return null; - }, - - // Called from $mdGesture.register when an element reigsters itself with a handler. - // Store the options the user gave on the DOMElement itself. These options will - // be retrieved with getNearestParent when the handler starts. - registerElement: function (element, options) { - var self = this; - element[0].$mdGesture = element[0].$mdGesture || {}; - element[0].$mdGesture[this.name] = options || {}; - element.on('$destroy', onDestroy); - - return onDestroy; - - function onDestroy() { - delete element[0].$mdGesture[self.name]; - element.off('$destroy', onDestroy); - } - } - }; - - return GestureHandler; - - /* - * Dispatch an event with jQuery - * TODO: Make sure this sends bubbling events - * - * @param srcEvent the original DOM touch event that started this. - * @param eventType the name of the custom event to send (eg 'click' or '$md.drag') - * @param eventPointer the pointer object that matches this event. - */ - function jQueryDispatchEvent(srcEvent, eventType, eventPointer) { - eventPointer = eventPointer || pointer; - var eventObj = new angular.element.Event(eventType); - - eventObj.$material = true; - eventObj.pointer = eventPointer; - eventObj.srcEvent = srcEvent; - - angular.extend(eventObj, { - clientX: eventPointer.x, - clientY: eventPointer.y, - screenX: eventPointer.x, - screenY: eventPointer.y, - pageX: eventPointer.x, - pageY: eventPointer.y, - ctrlKey: srcEvent.ctrlKey, - altKey: srcEvent.altKey, - shiftKey: srcEvent.shiftKey, - metaKey: srcEvent.metaKey - }); - angular.element(eventPointer.target).trigger(eventObj); - } - - /* - * NOTE: nativeDispatchEvent is very performance sensitive. - * @param srcEvent the original DOM touch event that started this. - * @param eventType the name of the custom event to send (eg 'click' or '$md.drag') - * @param eventPointer the pointer object that matches this event. - */ - function nativeDispatchEvent(srcEvent, eventType, eventPointer) { - eventPointer = eventPointer || pointer; - var eventObj; - - if (eventType === 'click') { - eventObj = document.createEvent('MouseEvents'); - eventObj.initMouseEvent( - 'click', true, true, window, srcEvent.detail, - eventPointer.x, eventPointer.y, eventPointer.x, eventPointer.y, - srcEvent.ctrlKey, srcEvent.altKey, srcEvent.shiftKey, srcEvent.metaKey, - srcEvent.button, srcEvent.relatedTarget || null - ); - - } else { - eventObj = document.createEvent('CustomEvent'); - eventObj.initCustomEvent(eventType, true, true, {}); - } - eventObj.$material = true; - eventObj.pointer = eventPointer; - eventObj.srcEvent = srcEvent; - eventPointer.target.dispatchEvent(eventObj); - } - - } - - /** - * Attach Gestures: hook document and check shouldHijack clicks - * ngInject - */ - function attachToDocument( $mdGesture, $$MdGestureHandler ) { - - // Polyfill document.contains for IE11. - // TODO: move to util - document.contains || (document.contains = function (node) { - return document.body.contains(node); - }); - - if (!isInitialized && $mdGesture.isHijackingClicks ) { - /* - * If hijack clicks is true, we preventDefault any click that wasn't - * sent by ngMaterial. This is because on older Android & iOS, a false, or 'ghost', - * click event will be sent ~400ms after a touchend event happens. - * The only way to know if this click is real is to prevent any normal - * click events, and add a flag to events sent by material so we know not to prevent those. - * - * Two exceptions to click events that should be prevented are: - * - click events sent by the keyboard (eg form submit) - * - events that originate from an Ionic app - */ - document.addEventListener('click', function clickHijacker(ev) { - var isKeyClick = ev.clientX === 0 && ev.clientY === 0; - if (!isKeyClick && !ev.$material && !ev.isIonicTap) { - ev.preventDefault(); - ev.stopPropagation(); - } - }, true); - - isInitialized = true; - } - - // Listen to all events to cover all platforms. - var START_EVENTS = 'mousedown touchstart pointerdown'; - var MOVE_EVENTS = 'mousemove touchmove pointermove'; - var END_EVENTS = 'mouseup mouseleave touchend touchcancel pointerup pointercancel'; - - angular.element(document) - .on(START_EVENTS, gestureStart) - .on(MOVE_EVENTS, gestureMove) - .on(END_EVENTS, gestureEnd) - // For testing - .on('$$mdGestureReset', function gestureClearCache () { - lastPointer = pointer = null; - }); - - /* - * When a DOM event happens, run all registered gesture handlers' lifecycle - * methods which match the DOM event. - * Eg when a 'touchstart' event happens, runHandlers('start') will call and - * run `handler.cancel()` and `handler.start()` on all registered handlers. - */ - function runHandlers(handlerEvent, event) { - var handler; - for (var name in HANDLERS) { - handler = HANDLERS[name]; - if( handler instanceof $$MdGestureHandler ) { - - if (handlerEvent === 'start') { - // Run cancel to reset any handlers' state - handler.cancel(); - } - handler[handlerEvent](event, pointer); - - } - } - } - - /* - * gestureStart vets if a start event is legitimate (and not part of a 'ghost click' from iOS/Android) - * If it is legitimate, we initiate the pointer state and mark the current pointer's type - * For example, for a touchstart event, mark the current pointer as a 'touch' pointer, so mouse events - * won't effect it. - */ - function gestureStart(ev) { - // If we're already touched down, abort - if (pointer) return; - - var now = +Date.now(); - - // iOS & old android bug: after a touch event, a click event is sent 350 ms later. - // If <400ms have passed, don't allow an event of a different type than the previous event - if (lastPointer && !typesMatch(ev, lastPointer) && (now - lastPointer.endTime < 1500)) { - return; - } - - pointer = makeStartPointer(ev); - - runHandlers('start', ev); - } - /* - * If a move event happens of the right type, update the pointer and run all the move handlers. - * "of the right type": if a mousemove happens but our pointer started with a touch event, do nothing. - */ - function gestureMove(ev) { - if (!pointer || !typesMatch(ev, pointer)) return; - - updatePointerState(ev, pointer); - runHandlers('move', ev); - } - /* - * If an end event happens of the right type, update the pointer, run endHandlers, and save the pointer as 'lastPointer' - */ - function gestureEnd(ev) { - if (!pointer || !typesMatch(ev, pointer)) return; - - updatePointerState(ev, pointer); - pointer.endTime = +Date.now(); - - runHandlers('end', ev); - - lastPointer = pointer; - pointer = null; - } - - } - attachToDocument.$inject = ["$mdGesture", "$$MdGestureHandler"]; - - // ******************** - // Module Functions - // ******************** - - /* - * Initiate the pointer. x, y, and the pointer's type. - */ - function makeStartPointer(ev) { - var point = getEventPoint(ev); - var startPointer = { - startTime: +Date.now(), - target: ev.target, - // 'p' for pointer events, 'm' for mouse, 't' for touch - type: ev.type.charAt(0) - }; - startPointer.startX = startPointer.x = point.pageX; - startPointer.startY = startPointer.y = point.pageY; - return startPointer; - } - - /* - * return whether the pointer's type matches the event's type. - * Eg if a touch event happens but the pointer has a mouse type, return false. - */ - function typesMatch(ev, pointer) { - return ev && pointer && ev.type.charAt(0) === pointer.type; - } - - /* - * Update the given pointer based upon the given DOMEvent. - * Distance, velocity, direction, duration, etc - */ - function updatePointerState(ev, pointer) { - var point = getEventPoint(ev); - var x = pointer.x = point.pageX; - var y = pointer.y = point.pageY; - - pointer.distanceX = x - pointer.startX; - pointer.distanceY = y - pointer.startY; - pointer.distance = Math.sqrt( - pointer.distanceX * pointer.distanceX + pointer.distanceY * pointer.distanceY - ); - - pointer.directionX = pointer.distanceX > 0 ? 'right' : pointer.distanceX < 0 ? 'left' : ''; - pointer.directionY = pointer.distanceY > 0 ? 'up' : pointer.distanceY < 0 ? 'down' : ''; - - pointer.duration = +Date.now() - pointer.startTime; - pointer.velocityX = pointer.distanceX / pointer.duration; - pointer.velocityY = pointer.distanceY / pointer.duration; - } - - /* - * Normalize the point where the DOM event happened whether it's touch or mouse. - * @returns point event obj with pageX and pageY on it. - */ - function getEventPoint(ev) { - ev = ev.originalEvent || ev; // support jQuery events - return (ev.touches && ev.touches[0]) || - (ev.changedTouches && ev.changedTouches[0]) || - ev; - } - -angular.module('material.core') - .provider('$$interimElement', InterimElementProvider); - -/* - * @ngdoc service - * @name $$interimElement - * @module material.core - * - * @description - * - * Factory that contructs `$$interimElement.$service` services. - * Used internally in material design for elements that appear on screen temporarily. - * The service provides a promise-like API for interacting with the temporary - * elements. - * - * ```js - * app.service('$mdToast', function($$interimElement) { - * var $mdToast = $$interimElement(toastDefaultOptions); - * return $mdToast; - * }); - * ``` - * @param {object=} defaultOptions Options used by default for the `show` method on the service. - * - * @returns {$$interimElement.$service} - * - */ - -function InterimElementProvider() { - createInterimElementProvider.$get = InterimElementFactory; - InterimElementFactory.$inject = ["$document", "$q", "$rootScope", "$timeout", "$rootElement", "$animate", "$interpolate", "$mdCompiler", "$mdTheming"]; - return createInterimElementProvider; - - /** - * Returns a new provider which allows configuration of a new interimElement - * service. Allows configuration of default options & methods for options, - * as well as configuration of 'preset' methods (eg dialog.basic(): basic is a preset method) - */ - function createInterimElementProvider(interimFactoryName) { - var EXPOSED_METHODS = ['onHide', 'onShow', 'onRemove']; - - var customMethods = {}; - var providerConfig = { - presets: {} - }; - - var provider = { - setDefaults: setDefaults, - addPreset: addPreset, - addMethod: addMethod, - $get: factory - }; - - /** - * all interim elements will come with the 'build' preset - */ - provider.addPreset('build', { - methods: ['controller', 'controllerAs', 'resolve', - 'template', 'templateUrl', 'themable', 'transformTemplate', 'parent'] - }); - - factory.$inject = ["$$interimElement", "$animate", "$injector"]; - return provider; - - /** - * Save the configured defaults to be used when the factory is instantiated - */ - function setDefaults(definition) { - providerConfig.optionsFactory = definition.options; - providerConfig.methods = (definition.methods || []).concat(EXPOSED_METHODS); - return provider; - } - - /** - * Add a method to the factory that isn't specific to any interim element operations - */ - - function addMethod(name, fn) { - customMethods[name] = fn; - return provider; - } - - /** - * Save the configured preset to be used when the factory is instantiated - */ - function addPreset(name, definition) { - definition = definition || {}; - definition.methods = definition.methods || []; - definition.options = definition.options || function() { return {}; }; - - if (/^cancel|hide|show$/.test(name)) { - throw new Error("Preset '" + name + "' in " + interimFactoryName + " is reserved!"); - } - if (definition.methods.indexOf('_options') > -1) { - throw new Error("Method '_options' in " + interimFactoryName + " is reserved!"); - } - providerConfig.presets[name] = { - methods: definition.methods.concat(EXPOSED_METHODS), - optionsFactory: definition.options, - argOption: definition.argOption - }; - return provider; - } - - /** - * Create a factory that has the given methods & defaults implementing interimElement - */ - /* ngInject */ - function factory($$interimElement, $animate, $injector) { - var defaultMethods; - var defaultOptions; - var interimElementService = $$interimElement(); - - /* - * publicService is what the developer will be using. - * It has methods hide(), cancel(), show(), build(), and any other - * presets which were set during the config phase. - */ - var publicService = { - hide: interimElementService.hide, - cancel: interimElementService.cancel, - show: showInterimElement - }; - - defaultMethods = providerConfig.methods || []; - // This must be invoked after the publicService is initialized - defaultOptions = invokeFactory(providerConfig.optionsFactory, {}); - - // Copy over the simple custom methods - angular.forEach(customMethods, function(fn, name) { - publicService[name] = fn; - }); - - angular.forEach(providerConfig.presets, function(definition, name) { - var presetDefaults = invokeFactory(definition.optionsFactory, {}); - var presetMethods = (definition.methods || []).concat(defaultMethods); - - // Every interimElement built with a preset has a field called `$type`, - // which matches the name of the preset. - // Eg in preset 'confirm', options.$type === 'confirm' - angular.extend(presetDefaults, { $type: name }); - - // This creates a preset class which has setter methods for every - // method given in the `.addPreset()` function, as well as every - // method given in the `.setDefaults()` function. - // - // @example - // .setDefaults({ - // methods: ['hasBackdrop', 'clickOutsideToClose', 'escapeToClose', 'targetEvent'], - // options: dialogDefaultOptions - // }) - // .addPreset('alert', { - // methods: ['title', 'ok'], - // options: alertDialogOptions - // }) - // - // Set values will be passed to the options when interimElemnt.show() is called. - function Preset(opts) { - this._options = angular.extend({}, presetDefaults, opts); - } - angular.forEach(presetMethods, function(name) { - Preset.prototype[name] = function(value) { - this._options[name] = value; - return this; - }; - }); - - // Create shortcut method for one-linear methods - if (definition.argOption) { - var methodName = 'show' + name.charAt(0).toUpperCase() + name.slice(1); - publicService[methodName] = function(arg) { - var config = publicService[name](arg); - return publicService.show(config); - }; - } - - // eg $mdDialog.alert() will return a new alert preset - publicService[name] = function(arg) { - // If argOption is supplied, eg `argOption: 'content'`, then we assume - // if the argument is not an options object then it is the `argOption` option. - // - // @example `$mdToast.simple('hello')` // sets options.content to hello - // // because argOption === 'content' - if (arguments.length && definition.argOption && !angular.isObject(arg) && - !angular.isArray(arg)) { - return (new Preset())[definition.argOption](arg); - } else { - return new Preset(arg); - } - - }; - }); - - return publicService; - - function showInterimElement(opts) { - // opts is either a preset which stores its options on an _options field, - // or just an object made up of options - if (opts && opts._options) opts = opts._options; - return interimElementService.show( - angular.extend({}, defaultOptions, opts) - ); - } - - /** - * Helper to call $injector.invoke with a local of the factory name for - * this provider. - * If an $mdDialog is providing options for a dialog and tries to inject - * $mdDialog, a circular dependency error will happen. - * We get around that by manually injecting $mdDialog as a local. - */ - function invokeFactory(factory, defaultVal) { - var locals = {}; - locals[interimFactoryName] = publicService; - return $injector.invoke(factory || function() { return defaultVal; }, {}, locals); - } - - } - - } - - /* ngInject */ - function InterimElementFactory($document, $q, $rootScope, $timeout, $rootElement, $animate, - $interpolate, $mdCompiler, $mdTheming ) { - var startSymbol = $interpolate.startSymbol(), - endSymbol = $interpolate.endSymbol(), - usesStandardSymbols = ((startSymbol === '{{') && (endSymbol === '}}')), - processTemplate = usesStandardSymbols ? angular.identity : replaceInterpolationSymbols; - - return function createInterimElementService() { - /* - * @ngdoc service - * @name $$interimElement.$service - * - * @description - * A service used to control inserting and removing an element into the DOM. - * - */ - var stack = []; - var service; - return service = { - show: show, - hide: hide, - cancel: cancel - }; - - /* - * @ngdoc method - * @name $$interimElement.$service#show - * @kind function - * - * @description - * Adds the `$interimElement` to the DOM and returns a promise that will be resolved or rejected - * with hide or cancel, respectively. - * - * @param {*} options is hashMap of settings - * @returns a Promise - * - */ - function show(options) { - if (stack.length) { - return service.cancel().then(function() { - return show(options); - }); - } else { - var interimElement = new InterimElement(options); - stack.push(interimElement); - return interimElement.show().then(function() { - return interimElement.deferred.promise; - }); - } - } - - /* - * @ngdoc method - * @name $$interimElement.$service#hide - * @kind function - * - * @description - * Removes the `$interimElement` from the DOM and resolves the promise returned from `show` - * - * @param {*} resolveParam Data to resolve the promise with - * @returns a Promise that will be resolved after the element has been removed. - * - */ - function hide(response) { - var interimElement = stack.shift(); - return interimElement && interimElement.remove().then(function() { - interimElement.deferred.resolve(response); - }); - } - - /* - * @ngdoc method - * @name $$interimElement.$service#cancel - * @kind function - * - * @description - * Removes the `$interimElement` from the DOM and rejects the promise returned from `show` - * - * @param {*} reason Data to reject the promise with - * @returns Promise that will be resolved after the element has been removed. - * - */ - function cancel(reason) { - var interimElement = stack.shift(); - return $q.when(interimElement && interimElement.remove().then(function() { - interimElement.deferred.reject(reason); - })); - } - - - /* - * Internal Interim Element Object - * Used internally to manage the DOM element and related data - */ - function InterimElement(options) { - var self; - var hideTimeout, element, showDone, removeDone; - - options = options || {}; - options = angular.extend({ - preserveScope: false, - scope: options.scope || $rootScope.$new(options.isolateScope), - onShow: function(scope, element, options) { - return $animate.enter(element, options.parent); - }, - onRemove: function(scope, element, options) { - // Element could be undefined if a new element is shown before - // the old one finishes compiling. - return element && $animate.leave(element) || $q.when(); - } - }, options); - - if (options.template) { - options.template = processTemplate(options.template); - } - - return self = { - options: options, - deferred: $q.defer(), - show: function() { - var compilePromise; - if (options.skipCompile) { - compilePromise = $q(function(resolve) { - resolve({ - locals: {}, - link: function() { return options.element; } - }); - }); - } else { - compilePromise = $mdCompiler.compile(options); - } - - return showDone = compilePromise.then(function(compileData) { - angular.extend(compileData.locals, self.options); - - element = compileData.link(options.scope); - - // Search for parent at insertion time, if not specified - if (angular.isFunction(options.parent)) { - options.parent = options.parent(options.scope, element, options); - } else if (angular.isString(options.parent)) { - options.parent = angular.element($document[0].querySelector(options.parent)); - } - - // If parent querySelector/getter function fails, or it's just null, - // find a default. - if (!(options.parent || {}).length) { - var el; - if ($rootElement[0] && $rootElement[0].querySelector) { - el = $rootElement[0].querySelector(':not(svg) > body'); - } - if (!el) el = $rootElement[0]; - if (el.nodeName == '#comment') { - el = $document[0].body; - } - options.parent = angular.element(el); - } - - if (options.themable) $mdTheming(element); - var ret = options.onShow(options.scope, element, options); - return $q.when(ret) - .then(function(){ - // Issue onComplete callback when the `show()` finishes - (options.onComplete || angular.noop)(options.scope, element, options); - startHideTimeout(); - }); - - function startHideTimeout() { - if (options.hideDelay) { - hideTimeout = $timeout(service.cancel, options.hideDelay) ; - } - } - }, function(reason) { showDone = true; self.deferred.reject(reason); }); - }, - cancelTimeout: function() { - if (hideTimeout) { - $timeout.cancel(hideTimeout); - hideTimeout = undefined; - } - }, - remove: function() { - self.cancelTimeout(); - return removeDone = $q.when(showDone).then(function() { - var ret = element ? options.onRemove(options.scope, element, options) : true; - return $q.when(ret).then(function() { - if (!options.preserveScope) options.scope.$destroy(); - removeDone = true; - }); - }); - } - }; - } - }; - - /* - * Replace `{{` and `}}` in a string (usually a template) with the actual start-/endSymbols used - * for interpolation. This allows pre-defined templates (for components such as dialog, toast etc) - * to continue to work in apps that use custom interpolation start-/endSymbols. - * - * @param {string} text The text in which to replace `{{` / `}}` - * @returns {string} The modified string using the actual interpolation start-/endSymbols - */ - function replaceInterpolationSymbols(text) { - if (!text || !angular.isString(text)) return text; - return text.replace(/\{\{/g, startSymbol).replace(/}}/g, endSymbol); - } - } - -} - - /** - * @ngdoc module - * @name material.core.componentRegistry - * - * @description - * A component instance registration service. - * Note: currently this as a private service in the SideNav component. - */ - angular.module('material.core') - .factory('$mdComponentRegistry', ComponentRegistry); - - /* - * @private - * @ngdoc factory - * @name ComponentRegistry - * @module material.core.componentRegistry - * - */ - function ComponentRegistry($log, $q) { - - var self; - var instances = [ ]; - var pendings = { }; - - return self = { - /** - * Used to print an error when an instance for a handle isn't found. - */ - notFoundError: function(handle) { - $log.error('No instance found for handle', handle); - }, - /** - * Return all registered instances as an array. - */ - getInstances: function() { - return instances; - }, - - /** - * Get a registered instance. - * @param handle the String handle to look up for a registered instance. - */ - get: function(handle) { - if ( !isValidID(handle) ) return null; - - var i, j, instance; - for(i = 0, j = instances.length; i < j; i++) { - instance = instances[i]; - if(instance.$$mdHandle === handle) { - return instance; - } - } - return null; - }, - - /** - * Register an instance. - * @param instance the instance to register - * @param handle the handle to identify the instance under. - */ - register: function(instance, handle) { - if ( !handle ) return angular.noop; - - instance.$$mdHandle = handle; - instances.push(instance); - resolveWhen(); - - return deregister; - - /** - * Remove registration for an instance - */ - function deregister() { - var index = instances.indexOf(instance); - if (index !== -1) { - instances.splice(index, 1); - } - } - - /** - * Resolve any pending promises for this instance - */ - function resolveWhen() { - var dfd = pendings[handle]; - if ( dfd ) { - dfd.resolve( instance ); - delete pendings[handle]; - } - } - }, - - /** - * Async accessor to registered component instance - * If not available then a promise is created to notify - * all listeners when the instance is registered. - */ - when : function(handle) { - if ( isValidID(handle) ) { - var deferred = $q.defer(); - var instance = self.get(handle); - - if ( instance ) { - deferred.resolve( instance ); - } else { - pendings[handle] = deferred; - } - - return deferred.promise; - } - return $q.reject("Invalid `md-component-id` value."); - } - - }; - - function isValidID(handle){ - return handle && (handle !== ""); - } - - } - ComponentRegistry.$inject = ["$log", "$q"]; - -(function() { - 'use strict'; - - /** - * @ngdoc service - * @name $mdButtonInkRipple - * @module material.core - * - * @description - * Provides ripple effects for md-button. See $mdInkRipple service for all possible configuration options. - * - * @param {object=} scope Scope within the current context - * @param {object=} element The element the ripple effect should be applied to - * @param {object=} options (Optional) Configuration options to override the defaultripple configuration - */ - - angular.module('material.core') - .factory('$mdButtonInkRipple', MdButtonInkRipple); - - function MdButtonInkRipple($mdInkRipple) { - return { - attach: attach - }; - - function attach(scope, element, options) { - var elementOptions = optionsForElement(element); - return $mdInkRipple.attach(scope, element, angular.extend(elementOptions, options)); - }; - - function optionsForElement(element) { - if (element.hasClass('md-icon-button')) { - return { - isMenuItem: element.hasClass('md-menu-item'), - fitRipple: true, - center: true - }; - } else { - return { - isMenuItem: element.hasClass('md-menu-item'), - dimBackground: true - } - } - }; - } - MdButtonInkRipple.$inject = ["$mdInkRipple"];; -})(); - -(function() { - 'use strict'; - - /** - * @ngdoc service - * @name $mdCheckboxInkRipple - * @module material.core - * - * @description - * Provides ripple effects for md-checkbox. See $mdInkRipple service for all possible configuration options. - * - * @param {object=} scope Scope within the current context - * @param {object=} element The element the ripple effect should be applied to - * @param {object=} options (Optional) Configuration options to override the defaultripple configuration - */ - - angular.module('material.core') - .factory('$mdCheckboxInkRipple', MdCheckboxInkRipple); - - function MdCheckboxInkRipple($mdInkRipple) { - return { - attach: attach - }; - - function attach(scope, element, options) { - return $mdInkRipple.attach(scope, element, angular.extend({ - center: true, - dimBackground: false, - fitRipple: true - }, options)); - }; - } - MdCheckboxInkRipple.$inject = ["$mdInkRipple"];; -})(); - -(function() { - 'use strict'; - - /** - * @ngdoc service - * @name $mdListInkRipple - * @module material.core - * - * @description - * Provides ripple effects for md-list. See $mdInkRipple service for all possible configuration options. - * - * @param {object=} scope Scope within the current context - * @param {object=} element The element the ripple effect should be applied to - * @param {object=} options (Optional) Configuration options to override the defaultripple configuration - */ - - angular.module('material.core') - .factory('$mdListInkRipple', MdListInkRipple); - - function MdListInkRipple($mdInkRipple) { - return { - attach: attach - }; - - function attach(scope, element, options) { - return $mdInkRipple.attach(scope, element, angular.extend({ - center: false, - dimBackground: true, - outline: false, - rippleSize: 'full' - }, options)); - }; - } - MdListInkRipple.$inject = ["$mdInkRipple"];; -})(); - -angular.module('material.core') - .factory('$mdInkRipple', InkRippleService) - .directive('mdInkRipple', InkRippleDirective) - .directive('mdNoInk', attrNoDirective()) - .directive('mdNoBar', attrNoDirective()) - .directive('mdNoStretch', attrNoDirective()); - -function InkRippleDirective($mdButtonInkRipple, $mdCheckboxInkRipple) { - return { - controller: angular.noop, - link: function (scope, element, attr) { - if (attr.hasOwnProperty('mdInkRippleCheckbox')) { - $mdCheckboxInkRipple.attach(scope, element); - } else { - $mdButtonInkRipple.attach(scope, element); - } - } - }; -} -InkRippleDirective.$inject = ["$mdButtonInkRipple", "$mdCheckboxInkRipple"]; - -function InkRippleService($window, $timeout) { - - return { - attach: attach - }; - - function attach(scope, element, options) { - if (element.controller('mdNoInk')) return angular.noop; - - options = angular.extend({ - colorElement: element, - mousedown: true, - hover: true, - focus: true, - center: false, - mousedownPauseTime: 150, - dimBackground: false, - outline: false, - fullRipple: true, - isMenuItem: false, - fitRipple: false - }, options); - - var rippleSize, - controller = element.controller('mdInkRipple') || {}, - counter = 0, - ripples = [], - states = [], - isActiveExpr = element.attr('md-highlight'), - isActive = false, - isHeld = false, - node = element[0], - rippleSizeSetting = element.attr('md-ripple-size'), - color = parseColor(element.attr('md-ink-ripple')) || parseColor(options.colorElement.length && $window.getComputedStyle(options.colorElement[0]).color || 'rgb(0, 0, 0)'); - - switch (rippleSizeSetting) { - case 'full': - options.fullRipple = true; - break; - case 'partial': - options.fullRipple = false; - break; - } - - // expose onInput for ripple testing - if (options.mousedown) { - element.on('$md.pressdown', onPressDown) - .on('$md.pressup', onPressUp); - } - - controller.createRipple = createRipple; - - if (isActiveExpr) { - scope.$watch(isActiveExpr, function watchActive(newValue) { - isActive = newValue; - if (isActive && !ripples.length) { - $timeout(function () { createRipple(0, 0); }, 0, false); - } - angular.forEach(ripples, updateElement); - }); - } - - // Publish self-detach method if desired... - return function detach() { - element.off('$md.pressdown', onPressDown) - .off('$md.pressup', onPressUp); - getRippleContainer().remove(); - }; - - /** - * Gets the current ripple container - * If there is no ripple container, it creates one and returns it - * - * @returns {angular.element} ripple container element - */ - function getRippleContainer() { - var container = element.data('$mdRippleContainer'); - if (container) return container; - container = angular.element('
    '); - element.append(container); - element.data('$mdRippleContainer', container); - return container; - } - - function parseColor(color) { - if (!color) return; - if (color.indexOf('rgba') === 0) return color.replace(/\d?\.?\d*\s*\)\s*$/, '0.1)'); - if (color.indexOf('rgb') === 0) return rgbToRGBA(color); - if (color.indexOf('#') === 0) return hexToRGBA(color); - - /** - * Converts a hex value to an rgba string - * - * @param {string} hex value (3 or 6 digits) to be converted - * - * @returns {string} rgba color with 0.1 alpha - */ - function hexToRGBA(color) { - var hex = color.charAt(0) === '#' ? color.substr(1) : color, - dig = hex.length / 3, - red = hex.substr(0, dig), - grn = hex.substr(dig, dig), - blu = hex.substr(dig * 2); - if (dig === 1) { - red += red; - grn += grn; - blu += blu; - } - return 'rgba(' + parseInt(red, 16) + ',' + parseInt(grn, 16) + ',' + parseInt(blu, 16) + ',0.1)'; - } - - /** - * Converts rgb value to rgba string - * - * @param {string} rgb color string - * - * @returns {string} rgba color with 0.1 alpha - */ - function rgbToRGBA(color) { - return color.replace(')', ', 0.1)').replace('(', 'a('); - } - - } - - function removeElement(elem, wait) { - ripples.splice(ripples.indexOf(elem), 1); - if (ripples.length === 0) { - getRippleContainer().css({ backgroundColor: '' }); - } - $timeout(function () { elem.remove(); }, wait, false); - } - - function updateElement(elem) { - var index = ripples.indexOf(elem), - state = states[index] || {}, - elemIsActive = ripples.length > 1 ? false : isActive, - elemIsHeld = ripples.length > 1 ? false : isHeld; - if (elemIsActive || state.animating || elemIsHeld) { - elem.addClass('md-ripple-visible'); - } else if (elem) { - elem.removeClass('md-ripple-visible'); - if (options.outline) { - elem.css({ - width: rippleSize + 'px', - height: rippleSize + 'px', - marginLeft: (rippleSize * -1) + 'px', - marginTop: (rippleSize * -1) + 'px' - }); - } - removeElement(elem, options.outline ? 450 : 650); - } - } - - /** - * Creates a ripple at the provided coordinates - * - * @param {number} left cursor position - * @param {number} top cursor position - * - * @returns {angular.element} the generated ripple element - */ - function createRipple(left, top) { - - color = parseColor(element.attr('md-ink-ripple')) || parseColor($window.getComputedStyle(options.colorElement[0]).color || 'rgb(0, 0, 0)'); - - var container = getRippleContainer(), - size = getRippleSize(left, top), - css = getRippleCss(size, left, top), - elem = getRippleElement(css), - index = ripples.indexOf(elem), - state = states[index] || {}; - - rippleSize = size; - - state.animating = true; - - $timeout(function () { - if (options.dimBackground) { - container.css({ backgroundColor: color }); - } - elem.addClass('md-ripple-placed md-ripple-scaled'); - if (options.outline) { - elem.css({ - borderWidth: (size * 0.5) + 'px', - marginLeft: (size * -0.5) + 'px', - marginTop: (size * -0.5) + 'px' - }); - } else { - elem.css({ left: '50%', top: '50%' }); - } - updateElement(elem); - $timeout(function () { - state.animating = false; - updateElement(elem); - }, (options.outline ? 450 : 225), false); - }, 0, false); - - return elem; - - /** - * Creates the ripple element with the provided css - * - * @param {object} css properties to be applied - * - * @returns {angular.element} the generated ripple element - */ - function getRippleElement(css) { - var elem = angular.element('
    '); - ripples.unshift(elem); - states.unshift({ animating: true }); - container.append(elem); - css && elem.css(css); - return elem; - } - - /** - * Calculate the ripple size - * - * @returns {number} calculated ripple diameter - */ - function getRippleSize(left, top) { - var width = container.prop('offsetWidth'), - height = container.prop('offsetHeight'), - multiplier, size, rect; - if (options.isMenuItem) { - size = Math.sqrt(Math.pow(width, 2) + Math.pow(height, 2)); - } else if (options.outline) { - rect = node.getBoundingClientRect(); - left -= rect.left; - top -= rect.top; - width = Math.max(left, width - left); - height = Math.max(top, height - top); - size = 2 * Math.sqrt(Math.pow(width, 2) + Math.pow(height, 2)); - } else { - multiplier = options.fullRipple ? 1.1 : 0.8; - size = Math.sqrt(Math.pow(width, 2) + Math.pow(height, 2)) * multiplier; - if (options.fitRipple) { - size = Math.min(height, width, size); - } - } - return size; - } - - /** - * Generates the ripple css - * - * @param {number} the diameter of the ripple - * @param {number} the left cursor offset - * @param {number} the top cursor offset - * - * @returns {{backgroundColor: string, borderColor: string, width: string, height: string}} - */ - function getRippleCss(size, left, top) { - var rect = node.getBoundingClientRect(), - css = { - backgroundColor: rgbaToRGB(color), - borderColor: rgbaToRGB(color), - width: size + 'px', - height: size + 'px' - }; - - if (options.outline) { - css.width = 0; - css.height = 0; - } else { - css.marginLeft = css.marginTop = (size * -0.5) + 'px'; - } - - if (options.center) { - css.left = css.top = '50%'; - } else { - css.left = Math.round((left - rect.left) / container.prop('offsetWidth') * 100) + '%'; - css.top = Math.round((top - rect.top) / container.prop('offsetHeight') * 100) + '%'; - } - - return css; - - /** - * Converts rgba string to rgb, removing the alpha value - * - * @param {string} rgba color - * - * @returns {string} rgb color - */ - function rgbaToRGB(color) { - return color.replace('rgba', 'rgb').replace(/,[^\),]+\)/, ')'); - } - } - } - - /** - * Handles user input start and stop events - * - */ - function onPressDown(ev) { - if (!isRippleAllowed()) return; - - createRipple(ev.pointer.x, ev.pointer.y); - isHeld = true; - } - function onPressUp() { - isHeld = false; - var ripple = ripples[ ripples.length - 1 ]; - $timeout(function () { updateElement(ripple); }, 0, false); - } - - /** - * Determines if the ripple is allowed - * - * @returns {boolean} true if the ripple is allowed, false if not - */ - function isRippleAllowed() { - var parent = node.parentNode; - var grandparent = parent && parent.parentNode; - var ancestor = grandparent && grandparent.parentNode; - return !isDisabled(node) && !isDisabled(parent) && !isDisabled(grandparent) && !isDisabled(ancestor); - function isDisabled (elem) { - return elem && elem.hasAttribute && elem.hasAttribute('disabled'); - } - } - - } -} -InkRippleService.$inject = ["$window", "$timeout"]; - -/** - * noink/nobar/nostretch directive: make any element that has one of - * these attributes be given a controller, so that other directives can - * `require:` these and see if there is a `no` parent attribute. - * - * @usage - * - * - * - * - * - * - * - * - * myApp.directive('detectNo', function() { - * return { - * require: ['^?mdNoInk', ^?mdNoBar'], - * link: function(scope, element, attr, ctrls) { - * var noinkCtrl = ctrls[0]; - * var nobarCtrl = ctrls[1]; - * if (noInkCtrl) { - * alert("the md-no-ink flag has been specified on an ancestor!"); - * } - * if (nobarCtrl) { - * alert("the md-no-bar flag has been specified on an ancestor!"); - * } - * } - * }; - * }); - * - */ -function attrNoDirective() { - return function() { - return { - controller: angular.noop - }; - }; -} - -(function() { - 'use strict'; - - /** - * @ngdoc service - * @name $mdTabInkRipple - * @module material.core - * - * @description - * Provides ripple effects for md-tabs. See $mdInkRipple service for all possible configuration options. - * - * @param {object=} scope Scope within the current context - * @param {object=} element The element the ripple effect should be applied to - * @param {object=} options (Optional) Configuration options to override the defaultripple configuration - */ - - angular.module('material.core') - .factory('$mdTabInkRipple', MdTabInkRipple); - - function MdTabInkRipple($mdInkRipple) { - return { - attach: attach - }; - - function attach(scope, element, options) { - return $mdInkRipple.attach(scope, element, angular.extend({ - center: false, - dimBackground: true, - outline: false, - rippleSize: 'full' - }, options)); - }; - } - MdTabInkRipple.$inject = ["$mdInkRipple"];; -})(); - -angular.module('material.core.theming.palette', []) -.constant('$mdColorPalette', { - 'red': { - '50': '#ffebee', - '100': '#ffcdd2', - '200': '#ef9a9a', - '300': '#e57373', - '400': '#ef5350', - '500': '#f44336', - '600': '#e53935', - '700': '#d32f2f', - '800': '#c62828', - '900': '#b71c1c', - 'A100': '#ff8a80', - 'A200': '#ff5252', - 'A400': '#ff1744', - 'A700': '#d50000', - 'contrastDefaultColor': 'light', - 'contrastDarkColors': '50 100 200 300 400 A100', - 'contrastStrongLightColors': '500 600 700 A200 A400 A700' - }, - 'pink': { - '50': '#fce4ec', - '100': '#f8bbd0', - '200': '#f48fb1', - '300': '#f06292', - '400': '#ec407a', - '500': '#e91e63', - '600': '#d81b60', - '700': '#c2185b', - '800': '#ad1457', - '900': '#880e4f', - 'A100': '#ff80ab', - 'A200': '#ff4081', - 'A400': '#f50057', - 'A700': '#c51162', - 'contrastDefaultColor': 'light', - 'contrastDarkColors': '50 100 200 300 400 A100', - 'contrastStrongLightColors': '500 600 A200 A400 A700' - }, - 'purple': { - '50': '#f3e5f5', - '100': '#e1bee7', - '200': '#ce93d8', - '300': '#ba68c8', - '400': '#ab47bc', - '500': '#9c27b0', - '600': '#8e24aa', - '700': '#7b1fa2', - '800': '#6a1b9a', - '900': '#4a148c', - 'A100': '#ea80fc', - 'A200': '#e040fb', - 'A400': '#d500f9', - 'A700': '#aa00ff', - 'contrastDefaultColor': 'light', - 'contrastDarkColors': '50 100 200 A100', - 'contrastStrongLightColors': '300 400 A200 A400 A700' - }, - 'deep-purple': { - '50': '#ede7f6', - '100': '#d1c4e9', - '200': '#b39ddb', - '300': '#9575cd', - '400': '#7e57c2', - '500': '#673ab7', - '600': '#5e35b1', - '700': '#512da8', - '800': '#4527a0', - '900': '#311b92', - 'A100': '#b388ff', - 'A200': '#7c4dff', - 'A400': '#651fff', - 'A700': '#6200ea', - 'contrastDefaultColor': 'light', - 'contrastDarkColors': '50 100 200 A100', - 'contrastStrongLightColors': '300 400 A200' - }, - 'indigo': { - '50': '#e8eaf6', - '100': '#c5cae9', - '200': '#9fa8da', - '300': '#7986cb', - '400': '#5c6bc0', - '500': '#3f51b5', - '600': '#3949ab', - '700': '#303f9f', - '800': '#283593', - '900': '#1a237e', - 'A100': '#8c9eff', - 'A200': '#536dfe', - 'A400': '#3d5afe', - 'A700': '#304ffe', - 'contrastDefaultColor': 'light', - 'contrastDarkColors': '50 100 200 A100', - 'contrastStrongLightColors': '300 400 A200 A400' - }, - 'blue': { - '50': '#e3f2fd', - '100': '#bbdefb', - '200': '#90caf9', - '300': '#64b5f6', - '400': '#42a5f5', - '500': '#2196f3', - '600': '#1e88e5', - '700': '#1976d2', - '800': '#1565c0', - '900': '#0d47a1', - 'A100': '#82b1ff', - 'A200': '#448aff', - 'A400': '#2979ff', - 'A700': '#2962ff', - 'contrastDefaultColor': 'light', - 'contrastDarkColors': '100 200 300 400 A100', - 'contrastStrongLightColors': '500 600 700 A200 A400 A700' - }, - 'light-blue': { - '50': '#e1f5fe', - '100': '#b3e5fc', - '200': '#81d4fa', - '300': '#4fc3f7', - '400': '#29b6f6', - '500': '#03a9f4', - '600': '#039be5', - '700': '#0288d1', - '800': '#0277bd', - '900': '#01579b', - 'A100': '#80d8ff', - 'A200': '#40c4ff', - 'A400': '#00b0ff', - 'A700': '#0091ea', - 'contrastDefaultColor': 'dark', - 'contrastLightColors': '500 600 700 800 900 A700', - 'contrastStrongLightColors': '500 600 700 800 A700' - }, - 'cyan': { - '50': '#e0f7fa', - '100': '#b2ebf2', - '200': '#80deea', - '300': '#4dd0e1', - '400': '#26c6da', - '500': '#00bcd4', - '600': '#00acc1', - '700': '#0097a7', - '800': '#00838f', - '900': '#006064', - 'A100': '#84ffff', - 'A200': '#18ffff', - 'A400': '#00e5ff', - 'A700': '#00b8d4', - 'contrastDefaultColor': 'dark', - 'contrastLightColors': '500 600 700 800 900', - 'contrastStrongLightColors': '500 600 700 800' - }, - 'teal': { - '50': '#e0f2f1', - '100': '#b2dfdb', - '200': '#80cbc4', - '300': '#4db6ac', - '400': '#26a69a', - '500': '#009688', - '600': '#00897b', - '700': '#00796b', - '800': '#00695c', - '900': '#004d40', - 'A100': '#a7ffeb', - 'A200': '#64ffda', - 'A400': '#1de9b6', - 'A700': '#00bfa5', - 'contrastDefaultColor': 'dark', - 'contrastLightColors': '500 600 700 800 900', - 'contrastStrongLightColors': '500 600 700' - }, - 'green': { - '50': '#e8f5e9', - '100': '#c8e6c9', - '200': '#a5d6a7', - '300': '#81c784', - '400': '#66bb6a', - '500': '#4caf50', - '600': '#43a047', - '700': '#388e3c', - '800': '#2e7d32', - '900': '#1b5e20', - 'A100': '#b9f6ca', - 'A200': '#69f0ae', - 'A400': '#00e676', - 'A700': '#00c853', - 'contrastDefaultColor': 'dark', - 'contrastLightColors': '500 600 700 800 900', - 'contrastStrongLightColors': '500 600 700' - }, - 'light-green': { - '50': '#f1f8e9', - '100': '#dcedc8', - '200': '#c5e1a5', - '300': '#aed581', - '400': '#9ccc65', - '500': '#8bc34a', - '600': '#7cb342', - '700': '#689f38', - '800': '#558b2f', - '900': '#33691e', - 'A100': '#ccff90', - 'A200': '#b2ff59', - 'A400': '#76ff03', - 'A700': '#64dd17', - 'contrastDefaultColor': 'dark', - 'contrastLightColors': '800 900', - 'contrastStrongLightColors': '800 900' - }, - 'lime': { - '50': '#f9fbe7', - '100': '#f0f4c3', - '200': '#e6ee9c', - '300': '#dce775', - '400': '#d4e157', - '500': '#cddc39', - '600': '#c0ca33', - '700': '#afb42b', - '800': '#9e9d24', - '900': '#827717', - 'A100': '#f4ff81', - 'A200': '#eeff41', - 'A400': '#c6ff00', - 'A700': '#aeea00', - 'contrastDefaultColor': 'dark', - 'contrastLightColors': '900', - 'contrastStrongLightColors': '900' - }, - 'yellow': { - '50': '#fffde7', - '100': '#fff9c4', - '200': '#fff59d', - '300': '#fff176', - '400': '#ffee58', - '500': '#ffeb3b', - '600': '#fdd835', - '700': '#fbc02d', - '800': '#f9a825', - '900': '#f57f17', - 'A100': '#ffff8d', - 'A200': '#ffff00', - 'A400': '#ffea00', - 'A700': '#ffd600', - 'contrastDefaultColor': 'dark' - }, - 'amber': { - '50': '#fff8e1', - '100': '#ffecb3', - '200': '#ffe082', - '300': '#ffd54f', - '400': '#ffca28', - '500': '#ffc107', - '600': '#ffb300', - '700': '#ffa000', - '800': '#ff8f00', - '900': '#ff6f00', - 'A100': '#ffe57f', - 'A200': '#ffd740', - 'A400': '#ffc400', - 'A700': '#ffab00', - 'contrastDefaultColor': 'dark' - }, - 'orange': { - '50': '#fff3e0', - '100': '#ffe0b2', - '200': '#ffcc80', - '300': '#ffb74d', - '400': '#ffa726', - '500': '#ff9800', - '600': '#fb8c00', - '700': '#f57c00', - '800': '#ef6c00', - '900': '#e65100', - 'A100': '#ffd180', - 'A200': '#ffab40', - 'A400': '#ff9100', - 'A700': '#ff6d00', - 'contrastDefaultColor': 'dark', - 'contrastLightColors': '800 900', - 'contrastStrongLightColors': '800 900' - }, - 'deep-orange': { - '50': '#fbe9e7', - '100': '#ffccbc', - '200': '#ffab91', - '300': '#ff8a65', - '400': '#ff7043', - '500': '#ff5722', - '600': '#f4511e', - '700': '#e64a19', - '800': '#d84315', - '900': '#bf360c', - 'A100': '#ff9e80', - 'A200': '#ff6e40', - 'A400': '#ff3d00', - 'A700': '#dd2c00', - 'contrastDefaultColor': 'light', - 'contrastDarkColors': '50 100 200 300 400 A100 A200', - 'contrastStrongLightColors': '500 600 700 800 900 A400 A700' - }, - 'brown': { - '50': '#efebe9', - '100': '#d7ccc8', - '200': '#bcaaa4', - '300': '#a1887f', - '400': '#8d6e63', - '500': '#795548', - '600': '#6d4c41', - '700': '#5d4037', - '800': '#4e342e', - '900': '#3e2723', - 'A100': '#d7ccc8', - 'A200': '#bcaaa4', - 'A400': '#8d6e63', - 'A700': '#5d4037', - 'contrastDefaultColor': 'light', - 'contrastDarkColors': '50 100 200', - 'contrastStrongLightColors': '300 400' - }, - 'grey': { - '50': '#fafafa', - '100': '#f5f5f5', - '200': '#eeeeee', - '300': '#e0e0e0', - '400': '#bdbdbd', - '500': '#9e9e9e', - '600': '#757575', - '700': '#616161', - '800': '#424242', - '900': '#212121', - '1000': '#000000', - 'A100': '#ffffff', - 'A200': '#eeeeee', - 'A400': '#bdbdbd', - 'A700': '#616161', - 'contrastDefaultColor': 'dark', - 'contrastLightColors': '600 700 800 900' - }, - 'blue-grey': { - '50': '#eceff1', - '100': '#cfd8dc', - '200': '#b0bec5', - '300': '#90a4ae', - '400': '#78909c', - '500': '#607d8b', - '600': '#546e7a', - '700': '#455a64', - '800': '#37474f', - '900': '#263238', - 'A100': '#cfd8dc', - 'A200': '#b0bec5', - 'A400': '#78909c', - 'A700': '#455a64', - 'contrastDefaultColor': 'light', - 'contrastDarkColors': '50 100 200 300', - 'contrastStrongLightColors': '400 500' - } -}); - -angular.module('material.core.theming', ['material.core.theming.palette']) - .directive('mdTheme', ThemingDirective) - .directive('mdThemable', ThemableDirective) - .provider('$mdTheming', ThemingProvider) - .run(generateThemes); - -/** - * @ngdoc provider - * @name $mdThemingProvider - * @module material.core - * - * @description Provider to configure the `$mdTheming` service. - */ - -/** - * @ngdoc method - * @name $mdThemingProvider#setDefaultTheme - * @param {string} themeName Default theme name to be applied to elements. Default value is `default`. - */ - -/** - * @ngdoc method - * @name $mdThemingProvider#alwaysWatchTheme - * @param {boolean} watch Whether or not to always watch themes for changes and re-apply - * classes when they change. Default is `false`. Enabling can reduce performance. - */ - -/* Some Example Valid Theming Expressions - * ======================================= - * - * Intention group expansion: (valid for primary, accent, warn, background) - * - * {{primary-100}} - grab shade 100 from the primary palette - * {{primary-100-0.7}} - grab shade 100, apply opacity of 0.7 - * {{primary-hue-1}} - grab the shade assigned to hue-1 from the primary palette - * {{primary-hue-1-0.7}} - apply 0.7 opacity to primary-hue-1 - * {{primary-color}} - Generates .md-hue-1, .md-hue-2, .md-hue-3 with configured shades set for each hue - * {{primary-color-0.7}} - Apply 0.7 opacity to each of the above rules - * {{primary-contrast}} - Generates .md-hue-1, .md-hue-2, .md-hue-3 with configured contrast (ie. text) color shades set for each hue - * {{primary-contrast-0.7}} - Apply 0.7 opacity to each of the above rules - * - * Foreground expansion: Applies rgba to black/white foreground text - * - * {{foreground-1}} - used for primary text - * {{foreground-2}} - used for secondary text/divider - * {{foreground-3}} - used for disabled text - * {{foreground-4}} - used for dividers - * - */ - -// In memory generated CSS rules; registered by theme.name -var GENERATED = { }; - -// In memory storage of defined themes and color palettes (both loaded by CSS, and user specified) -var PALETTES; -var THEMES; - -var DARK_FOREGROUND = { - name: 'dark', - '1': 'rgba(0,0,0,0.87)', - '2': 'rgba(0,0,0,0.54)', - '3': 'rgba(0,0,0,0.26)', - '4': 'rgba(0,0,0,0.12)' -}; -var LIGHT_FOREGROUND = { - name: 'light', - '1': 'rgba(255,255,255,1.0)', - '2': 'rgba(255,255,255,0.7)', - '3': 'rgba(255,255,255,0.3)', - '4': 'rgba(255,255,255,0.12)' -}; - -var DARK_SHADOW = '1px 1px 0px rgba(0,0,0,0.4), -1px -1px 0px rgba(0,0,0,0.4)'; -var LIGHT_SHADOW = ''; - -var DARK_CONTRAST_COLOR = colorToRgbaArray('rgba(0,0,0,0.87)'); -var LIGHT_CONTRAST_COLOR = colorToRgbaArray('rgba(255,255,255,0.87'); -var STRONG_LIGHT_CONTRAST_COLOR = colorToRgbaArray('rgb(255,255,255)'); - -var THEME_COLOR_TYPES = ['primary', 'accent', 'warn', 'background']; -var DEFAULT_COLOR_TYPE = 'primary'; - -// A color in a theme will use these hues by default, if not specified by user. -var LIGHT_DEFAULT_HUES = { - 'accent': { - 'default': 'A200', - 'hue-1': 'A100', - 'hue-2': 'A400', - 'hue-3': 'A700' - }, - 'background': { - 'default': 'A100', - 'hue-1': '300', - 'hue-2': '800', - 'hue-3': '900' - } -}; - -var DARK_DEFAULT_HUES = { - 'background': { - 'default': '800', - 'hue-1': '300', - 'hue-2': '600', - 'hue-3': '900' - } -}; -THEME_COLOR_TYPES.forEach(function(colorType) { - // Color types with unspecified default hues will use these default hue values - var defaultDefaultHues = { - 'default': '500', - 'hue-1': '300', - 'hue-2': '800', - 'hue-3': 'A100' - }; - if (!LIGHT_DEFAULT_HUES[colorType]) LIGHT_DEFAULT_HUES[colorType] = defaultDefaultHues; - if (!DARK_DEFAULT_HUES[colorType]) DARK_DEFAULT_HUES[colorType] = defaultDefaultHues; -}); - -var VALID_HUE_VALUES = [ - '50', '100', '200', '300', '400', '500', '600', - '700', '800', '900', 'A100', 'A200', 'A400', 'A700' -]; - -function ThemingProvider($mdColorPalette) { - PALETTES = { }; - THEMES = { }; - - var themingProvider; - var defaultTheme = 'default'; - var alwaysWatchTheme = false; - - // Load JS Defined Palettes - angular.extend(PALETTES, $mdColorPalette); - - // Default theme defined in core.js - - ThemingService.$inject = ["$rootScope", "$log"]; - return themingProvider = { - definePalette: definePalette, - extendPalette: extendPalette, - theme: registerTheme, - - setDefaultTheme: function(theme) { - defaultTheme = theme; - }, - alwaysWatchTheme: function(alwaysWatch) { - alwaysWatchTheme = alwaysWatch; - }, - $get: ThemingService, - _LIGHT_DEFAULT_HUES: LIGHT_DEFAULT_HUES, - _DARK_DEFAULT_HUES: DARK_DEFAULT_HUES, - _PALETTES: PALETTES, - _THEMES: THEMES, - _parseRules: parseRules, - _rgba: rgba - }; - - // Example: $mdThemingProvider.definePalette('neonRed', { 50: '#f5fafa', ... }); - function definePalette(name, map) { - map = map || {}; - PALETTES[name] = checkPaletteValid(name, map); - return themingProvider; - } - - // Returns an new object which is a copy of a given palette `name` with variables from - // `map` overwritten - // Example: var neonRedMap = $mdThemingProvider.extendPalette('red', { 50: '#f5fafafa' }); - function extendPalette(name, map) { - return checkPaletteValid(name, angular.extend({}, PALETTES[name] || {}, map) ); - } - - // Make sure that palette has all required hues - function checkPaletteValid(name, map) { - var missingColors = VALID_HUE_VALUES.filter(function(field) { - return !map[field]; - }); - if (missingColors.length) { - throw new Error("Missing colors %1 in palette %2!" - .replace('%1', missingColors.join(', ')) - .replace('%2', name)); - } - - return map; - } - - // Register a theme (which is a collection of color palettes to use with various states - // ie. warn, accent, primary ) - // Optionally inherit from an existing theme - // $mdThemingProvider.theme('custom-theme').primaryPalette('red'); - function registerTheme(name, inheritFrom) { - if (THEMES[name]) return THEMES[name]; - - inheritFrom = inheritFrom || 'default'; - - var parentTheme = typeof inheritFrom === 'string' ? THEMES[inheritFrom] : inheritFrom; - var theme = new Theme(name); - - if (parentTheme) { - angular.forEach(parentTheme.colors, function(color, colorType) { - theme.colors[colorType] = { - name: color.name, - // Make sure a COPY of the hues is given to the child color, - // not the same reference. - hues: angular.extend({}, color.hues) - }; - }); - } - THEMES[name] = theme; - - return theme; - } - - function Theme(name) { - var self = this; - self.name = name; - self.colors = {}; - - self.dark = setDark; - setDark(false); - - function setDark(isDark) { - isDark = arguments.length === 0 ? true : !!isDark; - - // If no change, abort - if (isDark === self.isDark) return; - - self.isDark = isDark; - - self.foregroundPalette = self.isDark ? LIGHT_FOREGROUND : DARK_FOREGROUND; - self.foregroundShadow = self.isDark ? DARK_SHADOW : LIGHT_SHADOW; - - // Light and dark themes have different default hues. - // Go through each existing color type for this theme, and for every - // hue value that is still the default hue value from the previous light/dark setting, - // set it to the default hue value from the new light/dark setting. - var newDefaultHues = self.isDark ? DARK_DEFAULT_HUES : LIGHT_DEFAULT_HUES; - var oldDefaultHues = self.isDark ? LIGHT_DEFAULT_HUES : DARK_DEFAULT_HUES; - angular.forEach(newDefaultHues, function(newDefaults, colorType) { - var color = self.colors[colorType]; - var oldDefaults = oldDefaultHues[colorType]; - if (color) { - for (var hueName in color.hues) { - if (color.hues[hueName] === oldDefaults[hueName]) { - color.hues[hueName] = newDefaults[hueName]; - } - } - } - }); - - return self; - } - - THEME_COLOR_TYPES.forEach(function(colorType) { - var defaultHues = (self.isDark ? DARK_DEFAULT_HUES : LIGHT_DEFAULT_HUES)[colorType]; - self[colorType + 'Palette'] = function setPaletteType(paletteName, hues) { - var color = self.colors[colorType] = { - name: paletteName, - hues: angular.extend({}, defaultHues, hues) - }; - - Object.keys(color.hues).forEach(function(name) { - if (!defaultHues[name]) { - throw new Error("Invalid hue name '%1' in theme %2's %3 color %4. Available hue names: %4" - .replace('%1', name) - .replace('%2', self.name) - .replace('%3', paletteName) - .replace('%4', Object.keys(defaultHues).join(', ')) - ); - } - }); - Object.keys(color.hues).map(function(key) { - return color.hues[key]; - }).forEach(function(hueValue) { - if (VALID_HUE_VALUES.indexOf(hueValue) == -1) { - throw new Error("Invalid hue value '%1' in theme %2's %3 color %4. Available hue values: %5" - .replace('%1', hueValue) - .replace('%2', self.name) - .replace('%3', colorType) - .replace('%4', paletteName) - .replace('%5', VALID_HUE_VALUES.join(', ')) - ); - } - }); - return self; - }; - - self[colorType + 'Color'] = function() { - var args = Array.prototype.slice.call(arguments); - console.warn('$mdThemingProviderTheme.' + colorType + 'Color() has been deprecated. ' + - 'Use $mdThemingProviderTheme.' + colorType + 'Palette() instead.'); - return self[colorType + 'Palette'].apply(self, args); - }; - }); - } - - /** - * @ngdoc service - * @name $mdTheming - * - * @description - * - * Service that makes an element apply theming related classes to itself. - * - * ```js - * app.directive('myFancyDirective', function($mdTheming) { - * return { - * restrict: 'e', - * link: function(scope, el, attrs) { - * $mdTheming(el); - * } - * }; - * }); - * ``` - * @param {el=} element to apply theming to - */ - /* ngInject */ - function ThemingService($rootScope, $log) { - - applyTheme.inherit = function(el, parent) { - var ctrl = parent.controller('mdTheme'); - - var attrThemeValue = el.attr('md-theme-watch'); - if ( (alwaysWatchTheme || angular.isDefined(attrThemeValue)) && attrThemeValue != 'false') { - var deregisterWatch = $rootScope.$watch(function() { - return ctrl && ctrl.$mdTheme || defaultTheme; - }, changeTheme); - el.on('$destroy', deregisterWatch); - } else { - var theme = ctrl && ctrl.$mdTheme || defaultTheme; - changeTheme(theme); - } - - function changeTheme(theme) { - if (!registered(theme)) { - $log.warn('Attempted to use unregistered theme \'' + theme + '\'. ' + - 'Register it with $mdThemingProvider.theme().'); - } - var oldTheme = el.data('$mdThemeName'); - if (oldTheme) el.removeClass('md-' + oldTheme +'-theme'); - el.addClass('md-' + theme + '-theme'); - el.data('$mdThemeName', theme); - } - }; - - applyTheme.THEMES = angular.extend({}, THEMES); - applyTheme.defaultTheme = function() { return defaultTheme; }; - applyTheme.registered = registered; - - return applyTheme; - - function registered(themeName) { - if (themeName === undefined || themeName === '') return true; - return applyTheme.THEMES[themeName] !== undefined; - } - - function applyTheme(scope, el) { - // Allow us to be invoked via a linking function signature. - if (el === undefined) { - el = scope; - scope = undefined; - } - if (scope === undefined) { - scope = $rootScope; - } - applyTheme.inherit(el, el); - } - } -} -ThemingProvider.$inject = ["$mdColorPalette"]; - -function ThemingDirective($mdTheming, $interpolate, $log) { - return { - priority: 100, - link: { - pre: function(scope, el, attrs) { - var ctrl = { - $setTheme: function(theme) { - if (!$mdTheming.registered(theme)) { - $log.warn('attempted to use unregistered theme \'' + theme + '\''); - } - ctrl.$mdTheme = theme; - } - }; - el.data('$mdThemeController', ctrl); - ctrl.$setTheme($interpolate(attrs.mdTheme)(scope)); - attrs.$observe('mdTheme', ctrl.$setTheme); - } - } - }; -} -ThemingDirective.$inject = ["$mdTheming", "$interpolate", "$log"]; - -function ThemableDirective($mdTheming) { - return $mdTheming; -} -ThemableDirective.$inject = ["$mdTheming"]; - -function parseRules(theme, colorType, rules) { - checkValidPalette(theme, colorType); - - rules = rules.replace(/THEME_NAME/g, theme.name); - var generatedRules = []; - var color = theme.colors[colorType]; - - var themeNameRegex = new RegExp('.md-' + theme.name + '-theme', 'g'); - // Matches '{{ primary-color }}', etc - var hueRegex = new RegExp('(\'|")?{{\\s*(' + colorType + ')-(color|contrast)-?(\\d\\.?\\d*)?\\s*}}(\"|\')?','g'); - var simpleVariableRegex = /'?"?\{\{\s*([a-zA-Z]+)-(A?\d+|hue\-[0-3]|shadow)-?(\d\.?\d*)?\s*\}\}'?"?/g; - var palette = PALETTES[color.name]; - - // find and replace simple variables where we use a specific hue, not an entire palette - // eg. "{{primary-100}}" - //\(' + THEME_COLOR_TYPES.join('\|') + '\)' - rules = rules.replace(simpleVariableRegex, function(match, colorType, hue, opacity) { - if (colorType === 'foreground') { - if (hue == 'shadow') { - return theme.foregroundShadow; - } else { - return theme.foregroundPalette[hue] || theme.foregroundPalette['1']; - } - } - if (hue.indexOf('hue') === 0) { - hue = theme.colors[colorType].hues[hue]; - } - return rgba( (PALETTES[ theme.colors[colorType].name ][hue] || '').value, opacity ); - }); - - // For each type, generate rules for each hue (ie. default, md-hue-1, md-hue-2, md-hue-3) - angular.forEach(color.hues, function(hueValue, hueName) { - var newRule = rules - .replace(hueRegex, function(match, _, colorType, hueType, opacity) { - return rgba(palette[hueValue][hueType === 'color' ? 'value' : 'contrast'], opacity); - }); - if (hueName !== 'default') { - newRule = newRule.replace(themeNameRegex, '.md-' + theme.name + '-theme.md-' + hueName); - } - - // Don't apply a selector rule to the default theme, making it easier to override - // styles of the base-component - if (theme.name == 'default') { - newRule = newRule.replace(/\.md-default-theme/g, ''); - } - generatedRules.push(newRule); - }); - - return generatedRules; -} - -// Generate our themes at run time given the state of THEMES and PALETTES -function generateThemes($injector) { - - var head = document.getElementsByTagName('head')[0]; - var firstChild = head ? head.firstElementChild : null; - var themeCss = $injector.has('$MD_THEME_CSS') ? $injector.get('$MD_THEME_CSS') : ''; - - if ( !firstChild ) return; - if (themeCss.length === 0) return; // no rules, so no point in running this expensive task - - // Expose contrast colors for palettes to ensure that text is always readable - angular.forEach(PALETTES, sanitizePalette); - - // MD_THEME_CSS is a string generated by the build process that includes all the themable - // components as templates - - // Break the CSS into individual rules - var rulesByType = {}; - var rules = themeCss - .split(/\}(?!(\}|'|"|;))/) - .filter(function(rule) { return rule && rule.length; }) - .map(function(rule) { return rule.trim() + '}'; }); - - - var ruleMatchRegex = new RegExp('md-(' + THEME_COLOR_TYPES.join('|') + ')', 'g'); - - THEME_COLOR_TYPES.forEach(function(type) { - rulesByType[type] = ''; - }); - - - // Sort the rules based on type, allowing us to do color substitution on a per-type basis - rules.forEach(function(rule) { - var match = rule.match(ruleMatchRegex); - // First: test that if the rule has '.md-accent', it goes into the accent set of rules - for (var i = 0, type; type = THEME_COLOR_TYPES[i]; i++) { - if (rule.indexOf('.md-' + type) > -1) { - return rulesByType[type] += rule; - } - } - - // If no eg 'md-accent' class is found, try to just find 'accent' in the rule and guess from - // there - for (i = 0; type = THEME_COLOR_TYPES[i]; i++) { - if (rule.indexOf(type) > -1) { - return rulesByType[type] += rule; - } - } - - // Default to the primary array - return rulesByType[DEFAULT_COLOR_TYPE] += rule; - }); - - // For each theme, use the color palettes specified for - // `primary`, `warn` and `accent` to generate CSS rules. - - angular.forEach(THEMES, function(theme) { - if ( !GENERATED[theme.name] ) { - - - THEME_COLOR_TYPES.forEach(function(colorType) { - var styleStrings = parseRules(theme, colorType, rulesByType[colorType]); - while (styleStrings.length) { - var style = document.createElement('style'); - style.setAttribute('type', 'text/css'); - style.appendChild(document.createTextNode(styleStrings.shift())); - head.insertBefore(style, firstChild); - } - }); - - - if (theme.colors.primary.name == theme.colors.accent.name) { - console.warn("$mdThemingProvider: Using the same palette for primary and" + - " accent. This violates the material design spec."); - } - - GENERATED[theme.name] = true; - } - }); - - - // ************************* - // Internal functions - // ************************* - - // The user specifies a 'default' contrast color as either light or dark, - // then explicitly lists which hues are the opposite contrast (eg. A100 has dark, A200 has light) - function sanitizePalette(palette) { - var defaultContrast = palette.contrastDefaultColor; - var lightColors = palette.contrastLightColors || []; - var strongLightColors = palette.contrastStrongLightColors || []; - var darkColors = palette.contrastDarkColors || []; - - // These colors are provided as space-separated lists - if (typeof lightColors === 'string') lightColors = lightColors.split(' '); - if (typeof strongLightColors === 'string') strongLightColors = strongLightColors.split(' '); - if (typeof darkColors === 'string') darkColors = darkColors.split(' '); - - // Cleanup after ourselves - delete palette.contrastDefaultColor; - delete palette.contrastLightColors; - delete palette.contrastStrongLightColors; - delete palette.contrastDarkColors; - - // Change { 'A100': '#fffeee' } to { 'A100': { value: '#fffeee', contrast:DARK_CONTRAST_COLOR } - angular.forEach(palette, function(hueValue, hueName) { - if (angular.isObject(hueValue)) return; // Already converted - // Map everything to rgb colors - var rgbValue = colorToRgbaArray(hueValue); - if (!rgbValue) { - throw new Error("Color %1, in palette %2's hue %3, is invalid. Hex or rgb(a) color expected." - .replace('%1', hueValue) - .replace('%2', palette.name) - .replace('%3', hueName)); - } - - palette[hueName] = { - value: rgbValue, - contrast: getContrastColor() - }; - function getContrastColor() { - if (defaultContrast === 'light') { - if (darkColors.indexOf(hueName) > -1) { - return DARK_CONTRAST_COLOR; - } else { - return strongLightColors.indexOf(hueName) > -1 ? STRONG_LIGHT_CONTRAST_COLOR - : LIGHT_CONTRAST_COLOR; - } - } else { - if (lightColors.indexOf(hueName) > -1) { - return strongLightColors.indexOf(hueName) > -1 ? STRONG_LIGHT_CONTRAST_COLOR - : LIGHT_CONTRAST_COLOR; - } else { - return DARK_CONTRAST_COLOR; - } - } - } - }); - } - - -} -generateThemes.$inject = ["$injector"]; - -function checkValidPalette(theme, colorType) { - // If theme attempts to use a palette that doesnt exist, throw error - if (!PALETTES[ (theme.colors[colorType] || {}).name ]) { - throw new Error( - "You supplied an invalid color palette for theme %1's %2 palette. Available palettes: %3" - .replace('%1', theme.name) - .replace('%2', colorType) - .replace('%3', Object.keys(PALETTES).join(', ')) - ); - } -} - -function colorToRgbaArray(clr) { - if (angular.isArray(clr) && clr.length == 3) return clr; - if (/^rgb/.test(clr)) { - return clr.replace(/(^\s*rgba?\(|\)\s*$)/g, '').split(',').map(function(value, i) { - return i == 3 ? parseFloat(value, 10) : parseInt(value, 10); - }); - } - if (clr.charAt(0) == '#') clr = clr.substring(1); - if (!/^([a-fA-F0-9]{3}){1,2}$/g.test(clr)) return; - - var dig = clr.length / 3; - var red = clr.substr(0, dig); - var grn = clr.substr(dig, dig); - var blu = clr.substr(dig * 2); - if (dig === 1) { - red += red; - grn += grn; - blu += blu; - } - return [parseInt(red, 16), parseInt(grn, 16), parseInt(blu, 16)]; -} - -function rgba(rgbArray, opacity) { - if ( !rgbArray ) return "rgb('0,0,0')"; - - if (rgbArray.length == 4) { - rgbArray = angular.copy(rgbArray); - opacity ? rgbArray.pop() : opacity = rgbArray.pop(); - } - return opacity && (typeof opacity == 'number' || (typeof opacity == 'string' && opacity.length)) ? - 'rgba(' + rgbArray.join(',') + ',' + opacity + ')' : - 'rgb(' + rgbArray.join(',') + ')'; -} - - -(function(){ -angular.module("material.core").constant("$MD_THEME_CSS", "/* mixin definition ; sets LTR and RTL within the same style call */md-autocomplete.md-THEME_NAME-theme { background: '{{background-50}}'; } md-autocomplete.md-THEME_NAME-theme[disabled] { background: '{{background-100}}'; } md-autocomplete.md-THEME_NAME-theme button md-icon path { fill: '{{background-600}}'; } md-autocomplete.md-THEME_NAME-theme button:after { background: '{{background-600-0.3}}'; }.md-autocomplete-suggestions.md-THEME_NAME-theme { background: '{{background-50}}'; } .md-autocomplete-suggestions.md-THEME_NAME-theme li { color: '{{background-900}}'; } .md-autocomplete-suggestions.md-THEME_NAME-theme li .highlight { color: '{{background-600}}'; } .md-autocomplete-suggestions.md-THEME_NAME-theme li:hover, .md-autocomplete-suggestions.md-THEME_NAME-theme li.selected { background: '{{background-200}}'; }md-backdrop.md-opaque.md-THEME_NAME-theme { background-color: '{{foreground-4-0.5}}'; }md-bottom-sheet.md-THEME_NAME-theme { background-color: '{{background-50}}'; border-top-color: '{{background-300}}'; } md-bottom-sheet.md-THEME_NAME-theme.md-list md-list-item { color: '{{foreground-1}}'; } md-bottom-sheet.md-THEME_NAME-theme .md-subheader { background-color: '{{background-50}}'; } md-bottom-sheet.md-THEME_NAME-theme .md-subheader { color: '{{foreground-1}}'; }a.md-button.md-THEME_NAME-theme, .md-button.md-THEME_NAME-theme { border-radius: 3px; } a.md-button.md-THEME_NAME-theme:not([disabled]):hover, .md-button.md-THEME_NAME-theme:not([disabled]):hover { background-color: '{{background-500-0.2}}'; } a.md-button.md-THEME_NAME-theme:not([disabled]).md-focused, .md-button.md-THEME_NAME-theme:not([disabled]).md-focused { background-color: '{{background-500-0.2}}'; } a.md-button.md-THEME_NAME-theme:not([disabled]).md-icon-button:hover, .md-button.md-THEME_NAME-theme:not([disabled]).md-icon-button:hover { background-color: transparent; } a.md-button.md-THEME_NAME-theme.md-fab, .md-button.md-THEME_NAME-theme.md-fab { border-radius: 50%; background-color: '{{accent-color}}'; color: '{{accent-contrast}}'; } a.md-button.md-THEME_NAME-theme.md-fab md-icon, .md-button.md-THEME_NAME-theme.md-fab md-icon { color: '{{accent-contrast}}'; } a.md-button.md-THEME_NAME-theme.md-fab:not([disabled]):hover, .md-button.md-THEME_NAME-theme.md-fab:not([disabled]):hover { background-color: '{{accent-color}}'; } a.md-button.md-THEME_NAME-theme.md-fab:not([disabled]).md-focused, .md-button.md-THEME_NAME-theme.md-fab:not([disabled]).md-focused { background-color: '{{accent-A700}}'; } a.md-button.md-THEME_NAME-theme.md-icon-button, .md-button.md-THEME_NAME-theme.md-icon-button { border-radius: 50%; } a.md-button.md-THEME_NAME-theme.md-primary, .md-button.md-THEME_NAME-theme.md-primary { color: '{{primary-color}}'; } a.md-button.md-THEME_NAME-theme.md-primary.md-raised, a.md-button.md-THEME_NAME-theme.md-primary.md-fab, .md-button.md-THEME_NAME-theme.md-primary.md-raised, .md-button.md-THEME_NAME-theme.md-primary.md-fab { color: '{{primary-contrast}}'; background-color: '{{primary-color}}'; } a.md-button.md-THEME_NAME-theme.md-primary.md-raised:not([disabled]) md-icon, a.md-button.md-THEME_NAME-theme.md-primary.md-fab:not([disabled]) md-icon, .md-button.md-THEME_NAME-theme.md-primary.md-raised:not([disabled]) md-icon, .md-button.md-THEME_NAME-theme.md-primary.md-fab:not([disabled]) md-icon { color: '{{primary-contrast}}'; } a.md-button.md-THEME_NAME-theme.md-primary.md-raised:not([disabled]):hover, a.md-button.md-THEME_NAME-theme.md-primary.md-fab:not([disabled]):hover, .md-button.md-THEME_NAME-theme.md-primary.md-raised:not([disabled]):hover, .md-button.md-THEME_NAME-theme.md-primary.md-fab:not([disabled]):hover { background-color: '{{primary-color}}'; } a.md-button.md-THEME_NAME-theme.md-primary.md-raised:not([disabled]).md-focused, a.md-button.md-THEME_NAME-theme.md-primary.md-fab:not([disabled]).md-focused, .md-button.md-THEME_NAME-theme.md-primary.md-raised:not([disabled]).md-focused, .md-button.md-THEME_NAME-theme.md-primary.md-fab:not([disabled]).md-focused { background-color: '{{primary-600}}'; } a.md-button.md-THEME_NAME-theme.md-primary:not([disabled]) md-icon, .md-button.md-THEME_NAME-theme.md-primary:not([disabled]) md-icon { color: '{{primary-color}}'; } a.md-button.md-THEME_NAME-theme.md-fab, .md-button.md-THEME_NAME-theme.md-fab { border-radius: 50%; background-color: '{{accent-color}}'; color: '{{accent-contrast}}'; } a.md-button.md-THEME_NAME-theme.md-fab:not([disabled]) .md-icon, .md-button.md-THEME_NAME-theme.md-fab:not([disabled]) .md-icon { color: '{{accent-contrast}}'; } a.md-button.md-THEME_NAME-theme.md-fab:not([disabled]):hover, .md-button.md-THEME_NAME-theme.md-fab:not([disabled]):hover { background-color: '{{accent-color}}'; } a.md-button.md-THEME_NAME-theme.md-fab:not([disabled]).md-focused, .md-button.md-THEME_NAME-theme.md-fab:not([disabled]).md-focused { background-color: '{{accent-A700}}'; } a.md-button.md-THEME_NAME-theme.md-raised, .md-button.md-THEME_NAME-theme.md-raised { color: '{{background-contrast}}'; background-color: '{{background-50}}'; } a.md-button.md-THEME_NAME-theme.md-raised:not([disabled]) .md-icon, .md-button.md-THEME_NAME-theme.md-raised:not([disabled]) .md-icon { color: '{{background-contrast}}'; } a.md-button.md-THEME_NAME-theme.md-raised:not([disabled]):hover, .md-button.md-THEME_NAME-theme.md-raised:not([disabled]):hover { background-color: '{{background-50}}'; } a.md-button.md-THEME_NAME-theme.md-raised:not([disabled]).md-focused, .md-button.md-THEME_NAME-theme.md-raised:not([disabled]).md-focused { background-color: '{{background-200}}'; } a.md-button.md-THEME_NAME-theme.md-warn, .md-button.md-THEME_NAME-theme.md-warn { color: '{{warn-color}}'; } a.md-button.md-THEME_NAME-theme.md-warn.md-raised, a.md-button.md-THEME_NAME-theme.md-warn.md-fab, .md-button.md-THEME_NAME-theme.md-warn.md-raised, .md-button.md-THEME_NAME-theme.md-warn.md-fab { color: '{{warn-contrast}}'; background-color: '{{warn-color}}'; } a.md-button.md-THEME_NAME-theme.md-warn.md-raised:not([disabled]) md-icon, a.md-button.md-THEME_NAME-theme.md-warn.md-fab:not([disabled]) md-icon, .md-button.md-THEME_NAME-theme.md-warn.md-raised:not([disabled]) md-icon, .md-button.md-THEME_NAME-theme.md-warn.md-fab:not([disabled]) md-icon { color: '{{warn-contrast}}'; } a.md-button.md-THEME_NAME-theme.md-warn.md-raised:not([disabled]):hover, a.md-button.md-THEME_NAME-theme.md-warn.md-fab:not([disabled]):hover, .md-button.md-THEME_NAME-theme.md-warn.md-raised:not([disabled]):hover, .md-button.md-THEME_NAME-theme.md-warn.md-fab:not([disabled]):hover { background-color: '{{warn-color}}'; } a.md-button.md-THEME_NAME-theme.md-warn.md-raised:not([disabled]).md-focused, a.md-button.md-THEME_NAME-theme.md-warn.md-fab:not([disabled]).md-focused, .md-button.md-THEME_NAME-theme.md-warn.md-raised:not([disabled]).md-focused, .md-button.md-THEME_NAME-theme.md-warn.md-fab:not([disabled]).md-focused { background-color: '{{warn-700}}'; } a.md-button.md-THEME_NAME-theme.md-warn:not([disabled]) md-icon, .md-button.md-THEME_NAME-theme.md-warn:not([disabled]) md-icon { color: '{{warn-color}}'; } a.md-button.md-THEME_NAME-theme.md-accent, .md-button.md-THEME_NAME-theme.md-accent { color: '{{accent-color}}'; } a.md-button.md-THEME_NAME-theme.md-accent.md-raised, a.md-button.md-THEME_NAME-theme.md-accent.md-fab, .md-button.md-THEME_NAME-theme.md-accent.md-raised, .md-button.md-THEME_NAME-theme.md-accent.md-fab { color: '{{accent-contrast}}'; background-color: '{{accent-color}}'; } a.md-button.md-THEME_NAME-theme.md-accent.md-raised:not([disabled]) md-icon, a.md-button.md-THEME_NAME-theme.md-accent.md-fab:not([disabled]) md-icon, .md-button.md-THEME_NAME-theme.md-accent.md-raised:not([disabled]) md-icon, .md-button.md-THEME_NAME-theme.md-accent.md-fab:not([disabled]) md-icon { color: '{{accent-contrast}}'; } a.md-button.md-THEME_NAME-theme.md-accent.md-raised:not([disabled]):hover, a.md-button.md-THEME_NAME-theme.md-accent.md-fab:not([disabled]):hover, .md-button.md-THEME_NAME-theme.md-accent.md-raised:not([disabled]):hover, .md-button.md-THEME_NAME-theme.md-accent.md-fab:not([disabled]):hover { background-color: '{{accent-color}}'; } a.md-button.md-THEME_NAME-theme.md-accent.md-raised:not([disabled]).md-focused, a.md-button.md-THEME_NAME-theme.md-accent.md-fab:not([disabled]).md-focused, .md-button.md-THEME_NAME-theme.md-accent.md-raised:not([disabled]).md-focused, .md-button.md-THEME_NAME-theme.md-accent.md-fab:not([disabled]).md-focused { background-color: '{{accent-700}}'; } a.md-button.md-THEME_NAME-theme.md-accent:not([disabled]) md-icon, .md-button.md-THEME_NAME-theme.md-accent:not([disabled]) md-icon { color: '{{accent-color}}'; } a.md-button.md-THEME_NAME-theme[disabled], a.md-button.md-THEME_NAME-theme.md-raised[disabled], a.md-button.md-THEME_NAME-theme.md-fab[disabled], a.md-button.md-THEME_NAME-theme.md-accent[disabled], a.md-button.md-THEME_NAME-theme.md-warn[disabled], .md-button.md-THEME_NAME-theme[disabled], .md-button.md-THEME_NAME-theme.md-raised[disabled], .md-button.md-THEME_NAME-theme.md-fab[disabled], .md-button.md-THEME_NAME-theme.md-accent[disabled], .md-button.md-THEME_NAME-theme.md-warn[disabled] { color: '{{foreground-3}}'; cursor: not-allowed; } a.md-button.md-THEME_NAME-theme[disabled] md-icon, a.md-button.md-THEME_NAME-theme.md-raised[disabled] md-icon, a.md-button.md-THEME_NAME-theme.md-fab[disabled] md-icon, a.md-button.md-THEME_NAME-theme.md-accent[disabled] md-icon, a.md-button.md-THEME_NAME-theme.md-warn[disabled] md-icon, .md-button.md-THEME_NAME-theme[disabled] md-icon, .md-button.md-THEME_NAME-theme.md-raised[disabled] md-icon, .md-button.md-THEME_NAME-theme.md-fab[disabled] md-icon, .md-button.md-THEME_NAME-theme.md-accent[disabled] md-icon, .md-button.md-THEME_NAME-theme.md-warn[disabled] md-icon { color: '{{foreground-3}}'; } a.md-button.md-THEME_NAME-theme.md-raised[disabled], a.md-button.md-THEME_NAME-theme.md-fab[disabled], .md-button.md-THEME_NAME-theme.md-raised[disabled], .md-button.md-THEME_NAME-theme.md-fab[disabled] { background-color: '{{foreground-4}}'; } a.md-button.md-THEME_NAME-theme[disabled], .md-button.md-THEME_NAME-theme[disabled] { background-color: transparent; }md-card.md-THEME_NAME-theme { background-color: '{{background-color}}'; border-radius: 2px; } md-card.md-THEME_NAME-theme .md-card-image { border-radius: 2px 2px 0 0; }md-chips.md-THEME_NAME-theme .md-chips { box-shadow: 0 1px '{{background-300}}'; } md-chips.md-THEME_NAME-theme .md-chips.md-focused { box-shadow: 0 2px '{{primary-color}}'; }md-chips.md-THEME_NAME-theme .md-chip { background: '{{background-300}}'; color: '{{background-800}}'; } md-chips.md-THEME_NAME-theme .md-chip.md-focused { background: '{{primary-color}}'; color: '{{primary-contrast}}'; } md-chips.md-THEME_NAME-theme .md-chip.md-focused md-icon { color: '{{primary-contrast}}'; }md-chips.md-THEME_NAME-theme md-chip-remove .md-button md-icon path { fill: '{{background-500}}'; }.md-contact-suggestion span.md-contact-email { color: '{{background-400}}'; }md-content.md-THEME_NAME-theme { background-color: '{{background-color}}'; }md-checkbox.md-THEME_NAME-theme .md-ripple { color: '{{accent-600}}'; }md-checkbox.md-THEME_NAME-theme.md-checked .md-ripple { color: '{{background-600}}'; }md-checkbox.md-THEME_NAME-theme.md-checked.md-focused .md-container:before { background-color: '{{accent-color-0.26}}'; }md-checkbox.md-THEME_NAME-theme .md-icon { border-color: '{{foreground-2}}'; }md-checkbox.md-THEME_NAME-theme.md-checked .md-icon { background-color: '{{accent-color-0.87}}'; }md-checkbox.md-THEME_NAME-theme.md-checked .md-icon:after { border-color: '{{background-200}}'; }md-checkbox.md-THEME_NAME-theme:not([disabled]).md-primary .md-ripple { color: '{{primary-600}}'; }md-checkbox.md-THEME_NAME-theme:not([disabled]).md-primary.md-checked .md-ripple { color: '{{background-600}}'; }md-checkbox.md-THEME_NAME-theme:not([disabled]).md-primary .md-icon { border-color: '{{foreground-2}}'; }md-checkbox.md-THEME_NAME-theme:not([disabled]).md-primary.md-checked .md-icon { background-color: '{{primary-color-0.87}}'; }md-checkbox.md-THEME_NAME-theme:not([disabled]).md-primary.md-checked.md-focused .md-container:before { background-color: '{{primary-color-0.26}}'; }md-checkbox.md-THEME_NAME-theme:not([disabled]).md-primary.md-checked .md-icon:after { border-color: '{{background-200}}'; }md-checkbox.md-THEME_NAME-theme:not([disabled]).md-warn .md-ripple { color: '{{warn-600}}'; }md-checkbox.md-THEME_NAME-theme:not([disabled]).md-warn .md-icon { border-color: '{{foreground-2}}'; }md-checkbox.md-THEME_NAME-theme:not([disabled]).md-warn.md-checked .md-icon { background-color: '{{warn-color-0.87}}'; }md-checkbox.md-THEME_NAME-theme:not([disabled]).md-warn.md-checked.md-focused:not([disabled]) .md-container:before { background-color: '{{warn-color-0.26}}'; }md-checkbox.md-THEME_NAME-theme:not([disabled]).md-warn.md-checked .md-icon:after { border-color: '{{background-200}}'; }md-checkbox.md-THEME_NAME-theme[disabled] .md-icon { border-color: '{{foreground-3}}'; }md-checkbox.md-THEME_NAME-theme[disabled].md-checked .md-icon { background-color: '{{foreground-3}}'; }md-checkbox.md-THEME_NAME-theme[disabled] .md-label { color: '{{foreground-3}}'; }md-dialog.md-THEME_NAME-theme { border-radius: 4px; background-color: '{{background-color}}'; } md-dialog.md-THEME_NAME-theme.md-content-overflow .md-actions { border-top-color: '{{foreground-4}}'; }md-divider.md-THEME_NAME-theme { border-top-color: '{{foreground-4}}'; }md-icon.md-THEME_NAME-theme { color: '{{foreground-2}}'; } md-icon.md-THEME_NAME-theme.md-primary { color: '{{primary-color}}'; } md-icon.md-THEME_NAME-theme.md-accent { color: '{{accent-color}}'; } md-icon.md-THEME_NAME-theme.md-warn { color: '{{warn-color}}'; }md-input-container.md-THEME_NAME-theme .md-input { color: '{{foreground-1}}'; border-color: '{{foreground-4}}'; text-shadow: '{{foreground-shadow}}'; } md-input-container.md-THEME_NAME-theme .md-input::-webkit-input-placeholder, md-input-container.md-THEME_NAME-theme .md-input::-moz-placeholder, md-input-container.md-THEME_NAME-theme .md-input:-moz-placeholder, md-input-container.md-THEME_NAME-theme .md-input:-ms-input-placeholder { color: '{{foreground-3}}'; }md-input-container.md-THEME_NAME-theme > md-icon { color: '{{foreground-1}}'; }md-input-container.md-THEME_NAME-theme label, md-input-container.md-THEME_NAME-theme .md-placeholder { text-shadow: '{{foreground-shadow}}'; color: '{{foreground-3}}'; }md-input-container.md-THEME_NAME-theme ng-messages, md-input-container.md-THEME_NAME-theme [ng-message], md-input-container.md-THEME_NAME-theme [data-ng-message], md-input-container.md-THEME_NAME-theme [x-ng-message] { color: '{{warn-500}}'; }md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-has-value label { color: '{{foreground-2}}'; }md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-focused .md-input { border-color: '{{primary-500}}'; }md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-focused label { color: '{{primary-500}}'; }md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-focused md-icon { color: '{{primary-500}}'; }md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-focused.md-accent .md-input { border-color: '{{accent-500}}'; }md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-focused.md-accent label { color: '{{accent-500}}'; }md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-focused.md-warn .md-input { border-color: '{{warn-500}}'; }md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-focused.md-warn label { color: '{{warn-500}}'; }md-input-container.md-THEME_NAME-theme.md-input-invalid .md-input { border-color: '{{warn-500}}'; }md-input-container.md-THEME_NAME-theme.md-input-invalid.md-input-focused label { color: '{{warn-500}}'; }md-input-container.md-THEME_NAME-theme.md-input-invalid ng-message, md-input-container.md-THEME_NAME-theme.md-input-invalid data-ng-message, md-input-container.md-THEME_NAME-theme.md-input-invalid x-ng-message, md-input-container.md-THEME_NAME-theme.md-input-invalid [ng-message], md-input-container.md-THEME_NAME-theme.md-input-invalid [data-ng-message], md-input-container.md-THEME_NAME-theme.md-input-invalid [x-ng-message], md-input-container.md-THEME_NAME-theme.md-input-invalid .md-char-counter { color: '{{warn-500}}'; }md-input-container.md-THEME_NAME-theme .md-input[disabled], [disabled] md-input-container.md-THEME_NAME-theme .md-input { border-bottom-color: transparent; color: '{{foreground-3}}'; background-image: linear-gradient(to right, '{{foreground-3}}' 0%, '{{foreground-3}}' 33%, transparent 0%); background-image: -ms-linear-gradient(left, transparent 0%, '{{foreground-3}}' 100%); }md-list.md-THEME_NAME-theme md-list-item.md-2-line .md-list-item-text h3, md-list.md-THEME_NAME-theme md-list-item.md-2-line .md-list-item-text h4, md-list.md-THEME_NAME-theme md-list-item.md-3-line .md-list-item-text h3, md-list.md-THEME_NAME-theme md-list-item.md-3-line .md-list-item-text h4 { color: '{{foreground-1}}'; }md-list.md-THEME_NAME-theme md-list-item.md-2-line .md-list-item-text p, md-list.md-THEME_NAME-theme md-list-item.md-3-line .md-list-item-text p { color: '{{foreground-2}}'; }md-list.md-THEME_NAME-theme .md-proxy-focus.md-focused div.md-no-style { background-color: '{{background-100}}'; }md-list.md-THEME_NAME-theme md-list-item > md-icon { color: '{{foreground-2}}'; } md-list.md-THEME_NAME-theme md-list-item > md-icon.md-highlight { color: '{{primary-color}}'; } md-list.md-THEME_NAME-theme md-list-item > md-icon.md-highlight.md-accent { color: '{{accent-color}}'; }md-list.md-THEME_NAME-theme md-list-item button { background-color: '{{background-color}}'; } md-list.md-THEME_NAME-theme md-list-item button.md-button:not([disabled]):hover { background-color: '{{background-color}}'; }md-progress-circular.md-THEME_NAME-theme { background-color: transparent; } md-progress-circular.md-THEME_NAME-theme .md-inner .md-gap { border-top-color: '{{primary-color}}'; border-bottom-color: '{{primary-color}}'; } md-progress-circular.md-THEME_NAME-theme .md-inner .md-left .md-half-circle, md-progress-circular.md-THEME_NAME-theme .md-inner .md-right .md-half-circle { border-top-color: '{{primary-color}}'; } md-progress-circular.md-THEME_NAME-theme .md-inner .md-right .md-half-circle { border-right-color: '{{primary-color}}'; } md-progress-circular.md-THEME_NAME-theme .md-inner .md-left .md-half-circle { border-left-color: '{{primary-color}}'; } md-progress-circular.md-THEME_NAME-theme.md-warn .md-inner .md-gap { border-top-color: '{{warn-color}}'; border-bottom-color: '{{warn-color}}'; } md-progress-circular.md-THEME_NAME-theme.md-warn .md-inner .md-left .md-half-circle, md-progress-circular.md-THEME_NAME-theme.md-warn .md-inner .md-right .md-half-circle { border-top-color: '{{warn-color}}'; } md-progress-circular.md-THEME_NAME-theme.md-warn .md-inner .md-right .md-half-circle { border-right-color: '{{warn-color}}'; } md-progress-circular.md-THEME_NAME-theme.md-warn .md-inner .md-left .md-half-circle { border-left-color: '{{warn-color}}'; } md-progress-circular.md-THEME_NAME-theme.md-accent .md-inner .md-gap { border-top-color: '{{accent-color}}'; border-bottom-color: '{{accent-color}}'; } md-progress-circular.md-THEME_NAME-theme.md-accent .md-inner .md-left .md-half-circle, md-progress-circular.md-THEME_NAME-theme.md-accent .md-inner .md-right .md-half-circle { border-top-color: '{{accent-color}}'; } md-progress-circular.md-THEME_NAME-theme.md-accent .md-inner .md-right .md-half-circle { border-right-color: '{{accent-color}}'; } md-progress-circular.md-THEME_NAME-theme.md-accent .md-inner .md-left .md-half-circle { border-left-color: '{{accent-color}}'; }md-progress-linear.md-THEME_NAME-theme .md-container { background-color: '{{primary-100}}'; }md-progress-linear.md-THEME_NAME-theme .md-bar { background-color: '{{primary-color}}'; }md-progress-linear.md-THEME_NAME-theme.md-warn .md-container { background-color: '{{warn-100}}'; }md-progress-linear.md-THEME_NAME-theme.md-warn .md-bar { background-color: '{{warn-color}}'; }md-progress-linear.md-THEME_NAME-theme.md-accent .md-container { background-color: '{{accent-100}}'; }md-progress-linear.md-THEME_NAME-theme.md-accent .md-bar { background-color: '{{accent-color}}'; }md-progress-linear.md-THEME_NAME-theme[md-mode=buffer].md-warn .md-bar1 { background-color: '{{warn-100}}'; }md-progress-linear.md-THEME_NAME-theme[md-mode=buffer].md-warn .md-dashed:before { background: radial-gradient('{{warn-100}}' 0%, '{{warn-100}}' 16%, transparent 42%); }md-progress-linear.md-THEME_NAME-theme[md-mode=buffer].md-accent .md-bar1 { background-color: '{{accent-100}}'; }md-progress-linear.md-THEME_NAME-theme[md-mode=buffer].md-accent .md-dashed:before { background: radial-gradient('{{accent-100}}' 0%, '{{accent-100}}' 16%, transparent 42%); }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}}'; }md-sidenav.md-THEME_NAME-theme { background-color: '{{background-color}}'; }md-select.md-THEME_NAME-theme.ng-invalid.ng-dirty .md-select-label { color: '{{warn-500}}' !important; border-bottom-color: '{{warn-500}}' !important; }md-select.md-THEME_NAME-theme:not([disabled]):focus .md-select-label { border-bottom-color: '{{primary-color}}'; color: '{{ foreground-1 }}'; } md-select.md-THEME_NAME-theme:not([disabled]):focus .md-select-label.md-placeholder { color: '{{ foreground-1 }}'; }md-select.md-THEME_NAME-theme:not([disabled]):focus.md-accent .md-select-label { border-bottom-color: '{{accent-color}}'; }md-select.md-THEME_NAME-theme:not([disabled]):focus.md-warn .md-select-label { border-bottom-color: '{{warn-color}}'; }md-select.md-THEME_NAME-theme[disabled] .md-select-label { color: '{{foreground-3}}'; } md-select.md-THEME_NAME-theme[disabled] .md-select-label.md-placeholder { color: '{{foreground-3}}'; }md-select.md-THEME_NAME-theme .md-select-label { border-bottom-color: '{{foreground-4}}'; } md-select.md-THEME_NAME-theme .md-select-label.md-placeholder { color: '{{foreground-2}}'; }md-select-menu.md-THEME_NAME-theme md-optgroup { color: '{{foreground-2}}'; } md-select-menu.md-THEME_NAME-theme md-optgroup md-option { color: '{{foreground-1}}'; }md-select-menu.md-THEME_NAME-theme md-option[selected] { color: '{{primary-500}}'; } md-select-menu.md-THEME_NAME-theme md-option[selected]:focus { color: '{{primary-600}}'; } md-select-menu.md-THEME_NAME-theme md-option[selected].md-accent { color: '{{accent-500}}'; } md-select-menu.md-THEME_NAME-theme md-option[selected].md-accent:focus { color: '{{accent-600}}'; }md-select-menu.md-THEME_NAME-theme md-option:focus:not([selected]) { background: '{{background-200}}'; }md-slider.md-THEME_NAME-theme .md-track { background-color: '{{foreground-3}}'; }md-slider.md-THEME_NAME-theme .md-track-ticks { background-color: '{{foreground-4}}'; }md-slider.md-THEME_NAME-theme .md-focus-thumb { background-color: '{{foreground-2}}'; }md-slider.md-THEME_NAME-theme .md-focus-ring { border-color: '{{foreground-4}}'; }md-slider.md-THEME_NAME-theme .md-disabled-thumb { border-color: '{{background-color}}'; }md-slider.md-THEME_NAME-theme.md-min .md-thumb:after { background-color: '{{background-color}}'; }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-thumb-text { color: '{{accent-contrast}}'; }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-thumb-text { color: '{{warn-contrast}}'; }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-thumb-text { color: '{{primary-contrast}}'; }md-slider.md-THEME_NAME-theme[disabled] .md-thumb:after { border-color: '{{foreground-3}}'; }md-slider.md-THEME_NAME-theme[disabled]:not(.md-min) .md-thumb:after { background-color: '{{foreground-3}}'; }.md-subheader.md-THEME_NAME-theme { color: '{{ foreground-2-0.23 }}'; background-color: '{{background-color}}'; } .md-subheader.md-THEME_NAME-theme.md-primary { color: '{{primary-color}}'; } .md-subheader.md-THEME_NAME-theme.md-accent { color: '{{accent-color}}'; } .md-subheader.md-THEME_NAME-theme.md-warn { color: '{{warn-color}}'; }md-switch.md-THEME_NAME-theme .md-thumb { background-color: '{{background-50}}'; }md-switch.md-THEME_NAME-theme .md-bar { background-color: '{{background-500}}'; }md-switch.md-THEME_NAME-theme.md-checked .md-thumb { background-color: '{{accent-color}}'; }md-switch.md-THEME_NAME-theme.md-checked .md-bar { background-color: '{{accent-color-0.5}}'; }md-switch.md-THEME_NAME-theme.md-checked.md-focused .md-thumb:before { background-color: '{{accent-color-0.26}}'; }md-switch.md-THEME_NAME-theme.md-checked.md-primary .md-thumb { background-color: '{{primary-color}}'; }md-switch.md-THEME_NAME-theme.md-checked.md-primary .md-bar { background-color: '{{primary-color-0.5}}'; }md-switch.md-THEME_NAME-theme.md-checked.md-primary.md-focused .md-thumb:before { background-color: '{{primary-color-0.26}}'; }md-switch.md-THEME_NAME-theme.md-checked.md-warn .md-thumb { background-color: '{{warn-color}}'; }md-switch.md-THEME_NAME-theme.md-checked.md-warn .md-bar { background-color: '{{warn-color-0.5}}'; }md-switch.md-THEME_NAME-theme.md-checked.md-warn.md-focused .md-thumb:before { background-color: '{{warn-color-0.26}}'; }md-switch.md-THEME_NAME-theme[disabled] .md-thumb { background-color: '{{background-400}}'; }md-switch.md-THEME_NAME-theme[disabled] .md-bar { background-color: '{{foreground-4}}'; }md-tabs.md-THEME_NAME-theme md-tabs-wrapper { background-color: transparent; border-color: '{{foreground-4}}'; }md-tabs.md-THEME_NAME-theme .md-paginator md-icon { color: '{{primary-color}}'; }md-tabs.md-THEME_NAME-theme md-ink-bar { color: '{{accent-color}}'; background: '{{accent-color}}'; }md-tabs.md-THEME_NAME-theme .md-tab { color: '{{foreground-2}}'; } md-tabs.md-THEME_NAME-theme .md-tab[disabled] { color: '{{foreground-3}}'; } md-tabs.md-THEME_NAME-theme .md-tab.md-active, md-tabs.md-THEME_NAME-theme .md-tab.md-focused { color: '{{primary-color}}'; } md-tabs.md-THEME_NAME-theme .md-tab.md-focused { background: '{{primary-color-0.1}}'; } md-tabs.md-THEME_NAME-theme .md-tab .md-ripple-container { color: '{{accent-100}}'; }md-tabs.md-THEME_NAME-theme.md-accent md-tabs-wrapper { background-color: '{{accent-color}}'; }md-tabs.md-THEME_NAME-theme.md-accent md-tab-item:not([disabled]) { color: '{{accent-100}}'; } md-tabs.md-THEME_NAME-theme.md-accent md-tab-item:not([disabled]).md-active, md-tabs.md-THEME_NAME-theme.md-accent md-tab-item:not([disabled]).md-focused { color: '{{accent-contrast}}'; } md-tabs.md-THEME_NAME-theme.md-accent md-tab-item:not([disabled]).md-focused { background: '{{accent-contrast-0.1}}'; }md-tabs.md-THEME_NAME-theme.md-accent md-ink-bar { color: '{{primary-600-1}}'; background: '{{primary-600-1}}'; }md-tabs.md-THEME_NAME-theme.md-primary md-tabs-wrapper { background-color: '{{primary-color}}'; }md-tabs.md-THEME_NAME-theme.md-primary md-tab-item:not([disabled]) { color: '{{primary-100}}'; } md-tabs.md-THEME_NAME-theme.md-primary md-tab-item:not([disabled]).md-active, md-tabs.md-THEME_NAME-theme.md-primary md-tab-item:not([disabled]).md-focused { color: '{{primary-contrast}}'; } md-tabs.md-THEME_NAME-theme.md-primary md-tab-item:not([disabled]).md-focused { background: '{{primary-contrast-0.1}}'; }md-tabs.md-THEME_NAME-theme.md-warn md-tabs-wrapper { background-color: '{{warn-color}}'; }md-tabs.md-THEME_NAME-theme.md-warn md-tab-item:not([disabled]) { color: '{{warn-100}}'; } md-tabs.md-THEME_NAME-theme.md-warn md-tab-item:not([disabled]).md-active, md-tabs.md-THEME_NAME-theme.md-warn md-tab-item:not([disabled]).md-focused { color: '{{warn-contrast}}'; } md-tabs.md-THEME_NAME-theme.md-warn md-tab-item:not([disabled]).md-focused { background: '{{warn-contrast-0.1}}'; }md-toolbar > md-tabs.md-THEME_NAME-theme md-tabs-wrapper { background-color: '{{primary-color}}'; }md-toolbar > md-tabs.md-THEME_NAME-theme md-tab-item:not([disabled]) { color: '{{primary-100}}'; } md-toolbar > md-tabs.md-THEME_NAME-theme md-tab-item:not([disabled]).md-active, md-toolbar > md-tabs.md-THEME_NAME-theme md-tab-item:not([disabled]).md-focused { color: '{{primary-contrast}}'; } md-toolbar > md-tabs.md-THEME_NAME-theme md-tab-item:not([disabled]).md-focused { background: '{{primary-contrast-0.1}}'; }md-toolbar.md-accent > md-tabs.md-THEME_NAME-theme md-tabs-wrapper { background-color: '{{accent-color}}'; }md-toolbar.md-accent > md-tabs.md-THEME_NAME-theme md-tab-item:not([disabled]) { color: '{{accent-100}}'; } md-toolbar.md-accent > md-tabs.md-THEME_NAME-theme md-tab-item:not([disabled]).md-active, md-toolbar.md-accent > md-tabs.md-THEME_NAME-theme md-tab-item:not([disabled]).md-focused { color: '{{accent-contrast}}'; } md-toolbar.md-accent > md-tabs.md-THEME_NAME-theme md-tab-item:not([disabled]).md-focused { background: '{{accent-contrast-0.1}}'; }md-toolbar.md-accent > md-tabs.md-THEME_NAME-theme md-ink-bar { color: '{{primary-600-1}}'; background: '{{primary-600-1}}'; }md-toolbar.md-warn > md-tabs.md-THEME_NAME-theme md-tabs-wrapper { background-color: '{{warn-color}}'; }md-toolbar.md-warn > md-tabs.md-THEME_NAME-theme md-tab-item:not([disabled]) { color: '{{warn-100}}'; } md-toolbar.md-warn > md-tabs.md-THEME_NAME-theme md-tab-item:not([disabled]).md-active, md-toolbar.md-warn > md-tabs.md-THEME_NAME-theme md-tab-item:not([disabled]).md-focused { color: '{{warn-contrast}}'; } md-toolbar.md-warn > md-tabs.md-THEME_NAME-theme md-tab-item:not([disabled]).md-focused { background: '{{warn-contrast-0.1}}'; }md-toast.md-THEME_NAME-theme { background-color: #323232; color: '{{background-50}}'; } md-toast.md-THEME_NAME-theme .md-button { color: '{{background-50}}'; } md-toast.md-THEME_NAME-theme .md-button.md-highlight { color: '{{primary-A200}}'; } md-toast.md-THEME_NAME-theme .md-button.md-highlight.md-accent { color: '{{accent-A200}}'; } md-toast.md-THEME_NAME-theme .md-button.md-highlight.md-warn { color: '{{warn-A200}}'; }md-toolbar.md-THEME_NAME-theme { background-color: '{{primary-color}}'; color: '{{primary-contrast}}'; } md-toolbar.md-THEME_NAME-theme md-icon { color: '{{primary-contrast}}'; } md-toolbar.md-THEME_NAME-theme .md-button { color: '{{primary-contrast}}'; } md-toolbar.md-THEME_NAME-theme.md-accent { background-color: '{{accent-color}}'; color: '{{accent-contrast}}'; } md-toolbar.md-THEME_NAME-theme.md-warn { background-color: '{{warn-color}}'; color: '{{warn-contrast}}'; }md-tooltip.md-THEME_NAME-theme { color: '{{background-A100}}'; } md-tooltip.md-THEME_NAME-theme .md-background { background-color: '{{foreground-2}}'; }"); -})(); - - -})(window, window.angular); \ No newline at end of file diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/core/core.min.css b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/core/core.min.css deleted file mode 100644 index 51b5b9a1..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/core/core.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Angular Material Design - * https://github.com/angular/material - * @license MIT - * v0.9.8 - */[layout]{box-sizing:border-box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex}[layout=column]{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}[layout=row]{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}[layout-padding]>[flex-lt-md],[layout-padding]>[flex-sm]{padding:4px}[layout-padding],[layout-padding]>[flex-gt-sm],[layout-padding]>[flex-lt-lg],[layout-padding]>[flex-md],[layout-padding]>[flex]{padding:8px}[layout-padding]>[flex-gt-md],[layout-padding]>[flex-lg]{padding:16px}[layout-margin]>[flex-lt-md],[layout-margin]>[flex-sm]{margin:4px}[layout-margin],[layout-margin]>[flex-gt-sm],[layout-margin]>[flex-lt-lg],[layout-margin]>[flex-md],[layout-margin]>[flex]{margin:8px}[layout-margin]>[flex-gt-md],[layout-margin]>[flex-lg]{margin:16px}[layout-wrap]{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}[layout-fill]{margin:0;min-height:100%;width:100%}@-moz-document url-prefix(){[layout-fill]{margin:0;width:100%;min-height:auto;height:inherit}}[flex]{box-sizing:border-box;-webkit-flex:1;-ms-flex:1;flex:1}[flex="0"]{-webkit-flex:0 0 0;-ms-flex:0 0 0;flex:0 0 0}[layout=row]>[flex="0"]{max-width:0}[layout=column]>[flex="0"]{max-height:0}[flex="5"]{-webkit-flex:0 0 5%;-ms-flex:0 0 5%;flex:0 0 5%}[layout=row]>[flex="5"]{max-width:5%}[layout=column]>[flex="5"]{max-height:5%}[flex="10"]{-webkit-flex:0 0 10%;-ms-flex:0 0 10%;flex:0 0 10%}[layout=row]>[flex="10"]{max-width:10%}[layout=column]>[flex="10"]{max-height:10%}[flex="15"]{-webkit-flex:0 0 15%;-ms-flex:0 0 15%;flex:0 0 15%}[layout=row]>[flex="15"]{max-width:15%}[layout=column]>[flex="15"]{max-height:15%}[flex="20"]{-webkit-flex:0 0 20%;-ms-flex:0 0 20%;flex:0 0 20%}[layout=row]>[flex="20"]{max-width:20%}[layout=column]>[flex="20"]{max-height:20%}[flex="25"]{-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%}[layout=row]>[flex="25"]{max-width:25%}[layout=column]>[flex="25"]{max-height:25%}[flex="30"]{-webkit-flex:0 0 30%;-ms-flex:0 0 30%;flex:0 0 30%}[layout=row]>[flex="30"]{max-width:30%}[layout=column]>[flex="30"]{max-height:30%}[flex="35"]{-webkit-flex:0 0 35%;-ms-flex:0 0 35%;flex:0 0 35%}[layout=row]>[flex="35"]{max-width:35%}[layout=column]>[flex="35"]{max-height:35%}[flex="40"]{-webkit-flex:0 0 40%;-ms-flex:0 0 40%;flex:0 0 40%}[layout=row]>[flex="40"]{max-width:40%}[layout=column]>[flex="40"]{max-height:40%}[flex="45"]{-webkit-flex:0 0 45%;-ms-flex:0 0 45%;flex:0 0 45%}[layout=row]>[flex="45"]{max-width:45%}[layout=column]>[flex="45"]{max-height:45%}[flex="50"]{-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%}[layout=row]>[flex="50"]{max-width:50%}[layout=column]>[flex="50"]{max-height:50%}[flex="55"]{-webkit-flex:0 0 55%;-ms-flex:0 0 55%;flex:0 0 55%}[layout=row]>[flex="55"]{max-width:55%}[layout=column]>[flex="55"]{max-height:55%}[flex="60"]{-webkit-flex:0 0 60%;-ms-flex:0 0 60%;flex:0 0 60%}[layout=row]>[flex="60"]{max-width:60%}[layout=column]>[flex="60"]{max-height:60%}[flex="65"]{-webkit-flex:0 0 65%;-ms-flex:0 0 65%;flex:0 0 65%}[layout=row]>[flex="65"]{max-width:65%}[layout=column]>[flex="65"]{max-height:65%}[flex="70"]{-webkit-flex:0 0 70%;-ms-flex:0 0 70%;flex:0 0 70%}[layout=row]>[flex="70"]{max-width:70%}[layout=column]>[flex="70"]{max-height:70%}[flex="75"]{-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%}[layout=row]>[flex="75"]{max-width:75%}[layout=column]>[flex="75"]{max-height:75%}[flex="80"]{-webkit-flex:0 0 80%;-ms-flex:0 0 80%;flex:0 0 80%}[layout=row]>[flex="80"]{max-width:80%}[layout=column]>[flex="80"]{max-height:80%}[flex="85"]{-webkit-flex:0 0 85%;-ms-flex:0 0 85%;flex:0 0 85%}[layout=row]>[flex="85"]{max-width:85%}[layout=column]>[flex="85"]{max-height:85%}[flex="90"]{-webkit-flex:0 0 90%;-ms-flex:0 0 90%;flex:0 0 90%}[layout=row]>[flex="90"]{max-width:90%}[layout=column]>[flex="90"]{max-height:90%}[flex="95"]{-webkit-flex:0 0 95%;-ms-flex:0 0 95%;flex:0 0 95%}[layout=row]>[flex="95"]{max-width:95%}[layout=column]>[flex="95"]{max-height:95%}[flex="100"]{-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%}[layout=row]>[flex="100"]{max-width:100%}[layout=column]>[flex="100"]{max-height:100%}[flex="33"],[flex="34"]{-webkit-flex:0 0 33.33%;-ms-flex:0 0 33.33%;flex:0 0 33.33%}[flex="66"],[flex="67"]{-webkit-flex:0 0 66.66%;-ms-flex:0 0 66.66%;flex:0 0 66.66%}[layout=row]>[flex="33"],[layout=row]>[flex="34"]{max-width:33.33%}[layout=row]>[flex="66"],[layout=row]>[flex="67"]{max-width:66.66%}[layout=column]>[flex="33"],[layout=column]>[flex="34"]{max-height:33.33%}[layout=column]>[flex="66"],[layout=column]>[flex="67"]{max-height:66.66%}[layout-align=center],[layout-align="center center"],[layout-align="center start"],[layout-align="center end"]{-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}[layout-align=end],[layout-align="end center"],[layout-align="end start"],[layout-align="end end"]{-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}[layout-align=space-around],[layout-align="space-around center"],[layout-align="space-around start"],[layout-align="space-around end"]{-webkit-justify-content:space-around;-ms-flex-pack:distribute;justify-content:space-around}[layout-align=space-between],[layout-align="space-between center"],[layout-align="space-between start"],[layout-align="space-between end"]{-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}[layout-align="center center"],[layout-align="end center"],[layout-align="space-around center"],[layout-align="space-between center"],[layout-align="start center"]{-webkit-align-items:center;-ms-flex-align:center;align-items:center}[layout-align="center start"],[layout-align="end start"],[layout-align="space-around start"],[layout-align="space-between start"],[layout-align="start start"]{-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start}[layout-align="center end"],[layout-align="end end"],[layout-align="space-around end"],[layout-align="space-between end"],[layout-align="start end"]{-webkit-align-items:flex-end;-ms-flex-align:end;align-items:flex-end}[flex-order="0"]{-webkit-order:0;-ms-flex-order:0;order:0}[flex-order="1"]{-webkit-order:1;-ms-flex-order:1;order:1}[flex-order="2"]{-webkit-order:2;-ms-flex-order:2;order:2}[flex-order="3"]{-webkit-order:3;-ms-flex-order:3;order:3}[flex-order="4"]{-webkit-order:4;-ms-flex-order:4;order:4}[flex-order="5"]{-webkit-order:5;-ms-flex-order:5;order:5}[flex-order="6"]{-webkit-order:6;-ms-flex-order:6;order:6}[flex-order="7"]{-webkit-order:7;-ms-flex-order:7;order:7}[flex-order="8"]{-webkit-order:8;-ms-flex-order:8;order:8}[flex-order="9"]{-webkit-order:9;-ms-flex-order:9;order:9}[offset="5"]{margin-left:5%}[offset="10"]{margin-left:10%}[offset="15"]{margin-left:15%}[offset="20"]{margin-left:20%}[offset="25"]{margin-left:25%}[offset="30"]{margin-left:30%}[offset="35"]{margin-left:35%}[offset="40"]{margin-left:40%}[offset="45"]{margin-left:45%}[offset="50"]{margin-left:50%}[offset="55"]{margin-left:55%}[offset="60"]{margin-left:60%}[offset="65"]{margin-left:65%}[offset="70"]{margin-left:70%}[offset="75"]{margin-left:75%}[offset="80"]{margin-left:80%}[offset="85"]{margin-left:85%}[offset="90"]{margin-left:90%}[offset="95"]{margin-left:95%}[offset="33"],[offset="34"]{margin-left:33.33%}[offset="66"],[offset="67"]{margin-left:66.66%}@media (max-width:599px){[hide-sm]:not([show-sm]):not([show]),[hide]:not([show-sm]):not([show]){display:none}[flex-order-sm="0"]{-webkit-order:0;-ms-flex-order:0;order:0}[flex-order-sm="1"]{-webkit-order:1;-ms-flex-order:1;order:1}[flex-order-sm="2"]{-webkit-order:2;-ms-flex-order:2;order:2}[flex-order-sm="3"]{-webkit-order:3;-ms-flex-order:3;order:3}[flex-order-sm="4"]{-webkit-order:4;-ms-flex-order:4;order:4}[flex-order-sm="5"]{-webkit-order:5;-ms-flex-order:5;order:5}[flex-order-sm="6"]{-webkit-order:6;-ms-flex-order:6;order:6}[flex-order-sm="7"]{-webkit-order:7;-ms-flex-order:7;order:7}[flex-order-sm="8"]{-webkit-order:8;-ms-flex-order:8;order:8}[flex-order-sm="9"]{-webkit-order:9;-ms-flex-order:9;order:9}[layout-align-sm=center],[layout-align-sm="center center"],[layout-align-sm="center start"],[layout-align-sm="center end"]{-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}[layout-align-sm=end],[layout-align-sm="end center"],[layout-align-sm="end start"],[layout-align-sm="end end"]{-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}[layout-align-sm=space-around],[layout-align-sm="space-around center"],[layout-align-sm="space-around start"],[layout-align-sm="space-around end"]{-webkit-justify-content:space-around;-ms-flex-pack:distribute;justify-content:space-around}[layout-align-sm=space-between],[layout-align-sm="space-between center"],[layout-align-sm="space-between start"],[layout-align-sm="space-between end"]{-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}[layout-align-sm="center center"],[layout-align-sm="end center"],[layout-align-sm="space-around center"],[layout-align-sm="space-between center"],[layout-align-sm="start center"]{-webkit-align-items:center;-ms-flex-align:center;align-items:center}[layout-align-sm="center start"],[layout-align-sm="end start"],[layout-align-sm="space-around start"],[layout-align-sm="space-between start"],[layout-align-sm="start start"]{-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start}[layout-align-sm="center end"],[layout-align-sm="end end"],[layout-align-sm="space-around end"],[layout-align-sm="space-between end"],[layout-align-sm="start end"]{-webkit-align-items:flex-end;-ms-flex-align:end;align-items:flex-end}[layout-sm]{box-sizing:border-box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex}[layout-sm=column]{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}[layout-sm=row]{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}[offset-sm="5"]{margin-left:5%}[offset-sm="10"]{margin-left:10%}[offset-sm="15"]{margin-left:15%}[offset-sm="20"]{margin-left:20%}[offset-sm="25"]{margin-left:25%}[offset-sm="30"]{margin-left:30%}[offset-sm="35"]{margin-left:35%}[offset-sm="40"]{margin-left:40%}[offset-sm="45"]{margin-left:45%}[offset-sm="50"]{margin-left:50%}[offset-sm="55"]{margin-left:55%}[offset-sm="60"]{margin-left:60%}[offset-sm="65"]{margin-left:65%}[offset-sm="70"]{margin-left:70%}[offset-sm="75"]{margin-left:75%}[offset-sm="80"]{margin-left:80%}[offset-sm="85"]{margin-left:85%}[offset-sm="90"]{margin-left:90%}[offset-sm="95"]{margin-left:95%}[offset-sm="33"],[offset-sm="34"]{margin-left:33.33%}[offset-sm="66"],[offset-sm="67"]{margin-left:66.66%}[flex-sm]{box-sizing:border-box;-webkit-flex:1;-ms-flex:1;flex:1}[flex-sm="0"]{-webkit-flex:0 0 0;-ms-flex:0 0 0;flex:0 0 0}[layout=row]>[flex-sm="0"]{max-width:0}[layout=column]>[flex-sm="0"]{max-height:0}[flex-sm="5"]{-webkit-flex:0 0 5%;-ms-flex:0 0 5%;flex:0 0 5%}[layout=row]>[flex-sm="5"]{max-width:5%}[layout=column]>[flex-sm="5"]{max-height:5%}[flex-sm="10"]{-webkit-flex:0 0 10%;-ms-flex:0 0 10%;flex:0 0 10%}[layout=row]>[flex-sm="10"]{max-width:10%}[layout=column]>[flex-sm="10"]{max-height:10%}[flex-sm="15"]{-webkit-flex:0 0 15%;-ms-flex:0 0 15%;flex:0 0 15%}[layout=row]>[flex-sm="15"]{max-width:15%}[layout=column]>[flex-sm="15"]{max-height:15%}[flex-sm="20"]{-webkit-flex:0 0 20%;-ms-flex:0 0 20%;flex:0 0 20%}[layout=row]>[flex-sm="20"]{max-width:20%}[layout=column]>[flex-sm="20"]{max-height:20%}[flex-sm="25"]{-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%}[layout=row]>[flex-sm="25"]{max-width:25%}[layout=column]>[flex-sm="25"]{max-height:25%}[flex-sm="30"]{-webkit-flex:0 0 30%;-ms-flex:0 0 30%;flex:0 0 30%}[layout=row]>[flex-sm="30"]{max-width:30%}[layout=column]>[flex-sm="30"]{max-height:30%}[flex-sm="35"]{-webkit-flex:0 0 35%;-ms-flex:0 0 35%;flex:0 0 35%}[layout=row]>[flex-sm="35"]{max-width:35%}[layout=column]>[flex-sm="35"]{max-height:35%}[flex-sm="40"]{-webkit-flex:0 0 40%;-ms-flex:0 0 40%;flex:0 0 40%}[layout=row]>[flex-sm="40"]{max-width:40%}[layout=column]>[flex-sm="40"]{max-height:40%}[flex-sm="45"]{-webkit-flex:0 0 45%;-ms-flex:0 0 45%;flex:0 0 45%}[layout=row]>[flex-sm="45"]{max-width:45%}[layout=column]>[flex-sm="45"]{max-height:45%}[flex-sm="50"]{-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%}[layout=row]>[flex-sm="50"]{max-width:50%}[layout=column]>[flex-sm="50"]{max-height:50%}[flex-sm="55"]{-webkit-flex:0 0 55%;-ms-flex:0 0 55%;flex:0 0 55%}[layout=row]>[flex-sm="55"]{max-width:55%}[layout=column]>[flex-sm="55"]{max-height:55%}[flex-sm="60"]{-webkit-flex:0 0 60%;-ms-flex:0 0 60%;flex:0 0 60%}[layout=row]>[flex-sm="60"]{max-width:60%}[layout=column]>[flex-sm="60"]{max-height:60%}[flex-sm="65"]{-webkit-flex:0 0 65%;-ms-flex:0 0 65%;flex:0 0 65%}[layout=row]>[flex-sm="65"]{max-width:65%}[layout=column]>[flex-sm="65"]{max-height:65%}[flex-sm="70"]{-webkit-flex:0 0 70%;-ms-flex:0 0 70%;flex:0 0 70%}[layout=row]>[flex-sm="70"]{max-width:70%}[layout=column]>[flex-sm="70"]{max-height:70%}[flex-sm="75"]{-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%}[layout=row]>[flex-sm="75"]{max-width:75%}[layout=column]>[flex-sm="75"]{max-height:75%}[flex-sm="80"]{-webkit-flex:0 0 80%;-ms-flex:0 0 80%;flex:0 0 80%}[layout=row]>[flex-sm="80"]{max-width:80%}[layout=column]>[flex-sm="80"]{max-height:80%}[flex-sm="85"]{-webkit-flex:0 0 85%;-ms-flex:0 0 85%;flex:0 0 85%}[layout=row]>[flex-sm="85"]{max-width:85%}[layout=column]>[flex-sm="85"]{max-height:85%}[flex-sm="90"]{-webkit-flex:0 0 90%;-ms-flex:0 0 90%;flex:0 0 90%}[layout=row]>[flex-sm="90"]{max-width:90%}[layout=column]>[flex-sm="90"]{max-height:90%}[flex-sm="95"]{-webkit-flex:0 0 95%;-ms-flex:0 0 95%;flex:0 0 95%}[layout=row]>[flex-sm="95"]{max-width:95%}[layout=column]>[flex-sm="95"]{max-height:95%}[flex-sm="100"]{-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%}[layout=row]>[flex-sm="100"]{max-width:100%}[layout=column]>[flex-sm="100"]{max-height:100%}[flex-sm="33"],[flex-sm="34"]{-webkit-flex:0 0 33.33%;-ms-flex:0 0 33.33%;flex:0 0 33.33%}[flex-sm="66"],[flex-sm="67"]{-webkit-flex:0 0 66.66%;-ms-flex:0 0 66.66%;flex:0 0 66.66%}[layout=row]>[flex-sm="33"],[layout=row]>[flex-sm="34"]{max-width:33.33%}[layout=row]>[flex-sm="66"],[layout=row]>[flex-sm="67"]{max-width:66.66%}[layout=column]>[flex-sm="33"],[layout=column]>[flex-sm="34"]{max-height:33.33%}[layout=column]>[flex-sm="66"],[layout=column]>[flex-sm="67"]{max-height:66.66%}}@media (min-width:600px){[flex-order-gt-sm="0"]{-webkit-order:0;-ms-flex-order:0;order:0}[flex-order-gt-sm="1"]{-webkit-order:1;-ms-flex-order:1;order:1}[flex-order-gt-sm="2"]{-webkit-order:2;-ms-flex-order:2;order:2}[flex-order-gt-sm="3"]{-webkit-order:3;-ms-flex-order:3;order:3}[flex-order-gt-sm="4"]{-webkit-order:4;-ms-flex-order:4;order:4}[flex-order-gt-sm="5"]{-webkit-order:5;-ms-flex-order:5;order:5}[flex-order-gt-sm="6"]{-webkit-order:6;-ms-flex-order:6;order:6}[flex-order-gt-sm="7"]{-webkit-order:7;-ms-flex-order:7;order:7}[flex-order-gt-sm="8"]{-webkit-order:8;-ms-flex-order:8;order:8}[flex-order-gt-sm="9"]{-webkit-order:9;-ms-flex-order:9;order:9}[layout-align-gt-sm=center],[layout-align-gt-sm="center center"],[layout-align-gt-sm="center start"],[layout-align-gt-sm="center end"]{-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}[layout-align-gt-sm=end],[layout-align-gt-sm="end center"],[layout-align-gt-sm="end start"],[layout-align-gt-sm="end end"]{-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}[layout-align-gt-sm=space-around],[layout-align-gt-sm="space-around center"],[layout-align-gt-sm="space-around start"],[layout-align-gt-sm="space-around end"]{-webkit-justify-content:space-around;-ms-flex-pack:distribute;justify-content:space-around}[layout-align-gt-sm=space-between],[layout-align-gt-sm="space-between center"],[layout-align-gt-sm="space-between start"],[layout-align-gt-sm="space-between end"]{-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}[layout-align-gt-sm="center center"],[layout-align-gt-sm="end center"],[layout-align-gt-sm="space-around center"],[layout-align-gt-sm="space-between center"],[layout-align-gt-sm="start center"]{-webkit-align-items:center;-ms-flex-align:center;align-items:center}[layout-align-gt-sm="center start"],[layout-align-gt-sm="end start"],[layout-align-gt-sm="space-around start"],[layout-align-gt-sm="space-between start"],[layout-align-gt-sm="start start"]{-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start}[layout-align-gt-sm="center end"],[layout-align-gt-sm="end end"],[layout-align-gt-sm="space-around end"],[layout-align-gt-sm="space-between end"],[layout-align-gt-sm="start end"]{-webkit-align-items:flex-end;-ms-flex-align:end;align-items:flex-end}[layout-gt-sm]{box-sizing:border-box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex}[layout-gt-sm=column]{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}[layout-gt-sm=row]{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}[offset-gt-sm="5"]{margin-left:5%}[offset-gt-sm="10"]{margin-left:10%}[offset-gt-sm="15"]{margin-left:15%}[offset-gt-sm="20"]{margin-left:20%}[offset-gt-sm="25"]{margin-left:25%}[offset-gt-sm="30"]{margin-left:30%}[offset-gt-sm="35"]{margin-left:35%}[offset-gt-sm="40"]{margin-left:40%}[offset-gt-sm="45"]{margin-left:45%}[offset-gt-sm="50"]{margin-left:50%}[offset-gt-sm="55"]{margin-left:55%}[offset-gt-sm="60"]{margin-left:60%}[offset-gt-sm="65"]{margin-left:65%}[offset-gt-sm="70"]{margin-left:70%}[offset-gt-sm="75"]{margin-left:75%}[offset-gt-sm="80"]{margin-left:80%}[offset-gt-sm="85"]{margin-left:85%}[offset-gt-sm="90"]{margin-left:90%}[offset-gt-sm="95"]{margin-left:95%}[offset-gt-sm="33"],[offset-gt-sm="34"]{margin-left:33.33%}[offset-gt-sm="66"],[offset-gt-sm="67"]{margin-left:66.66%}[flex-gt-sm]{box-sizing:border-box;-webkit-flex:1;-ms-flex:1;flex:1}[flex-gt-sm="0"]{-webkit-flex:0 0 0;-ms-flex:0 0 0;flex:0 0 0}[layout=row]>[flex-gt-sm="0"]{max-width:0}[layout=column]>[flex-gt-sm="0"]{max-height:0}[flex-gt-sm="5"]{-webkit-flex:0 0 5%;-ms-flex:0 0 5%;flex:0 0 5%}[layout=row]>[flex-gt-sm="5"]{max-width:5%}[layout=column]>[flex-gt-sm="5"]{max-height:5%}[flex-gt-sm="10"]{-webkit-flex:0 0 10%;-ms-flex:0 0 10%;flex:0 0 10%}[layout=row]>[flex-gt-sm="10"]{max-width:10%}[layout=column]>[flex-gt-sm="10"]{max-height:10%}[flex-gt-sm="15"]{-webkit-flex:0 0 15%;-ms-flex:0 0 15%;flex:0 0 15%}[layout=row]>[flex-gt-sm="15"]{max-width:15%}[layout=column]>[flex-gt-sm="15"]{max-height:15%}[flex-gt-sm="20"]{-webkit-flex:0 0 20%;-ms-flex:0 0 20%;flex:0 0 20%}[layout=row]>[flex-gt-sm="20"]{max-width:20%}[layout=column]>[flex-gt-sm="20"]{max-height:20%}[flex-gt-sm="25"]{-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%}[layout=row]>[flex-gt-sm="25"]{max-width:25%}[layout=column]>[flex-gt-sm="25"]{max-height:25%}[flex-gt-sm="30"]{-webkit-flex:0 0 30%;-ms-flex:0 0 30%;flex:0 0 30%}[layout=row]>[flex-gt-sm="30"]{max-width:30%}[layout=column]>[flex-gt-sm="30"]{max-height:30%}[flex-gt-sm="35"]{-webkit-flex:0 0 35%;-ms-flex:0 0 35%;flex:0 0 35%}[layout=row]>[flex-gt-sm="35"]{max-width:35%}[layout=column]>[flex-gt-sm="35"]{max-height:35%}[flex-gt-sm="40"]{-webkit-flex:0 0 40%;-ms-flex:0 0 40%;flex:0 0 40%}[layout=row]>[flex-gt-sm="40"]{max-width:40%}[layout=column]>[flex-gt-sm="40"]{max-height:40%}[flex-gt-sm="45"]{-webkit-flex:0 0 45%;-ms-flex:0 0 45%;flex:0 0 45%}[layout=row]>[flex-gt-sm="45"]{max-width:45%}[layout=column]>[flex-gt-sm="45"]{max-height:45%}[flex-gt-sm="50"]{-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%}[layout=row]>[flex-gt-sm="50"]{max-width:50%}[layout=column]>[flex-gt-sm="50"]{max-height:50%}[flex-gt-sm="55"]{-webkit-flex:0 0 55%;-ms-flex:0 0 55%;flex:0 0 55%}[layout=row]>[flex-gt-sm="55"]{max-width:55%}[layout=column]>[flex-gt-sm="55"]{max-height:55%}[flex-gt-sm="60"]{-webkit-flex:0 0 60%;-ms-flex:0 0 60%;flex:0 0 60%}[layout=row]>[flex-gt-sm="60"]{max-width:60%}[layout=column]>[flex-gt-sm="60"]{max-height:60%}[flex-gt-sm="65"]{-webkit-flex:0 0 65%;-ms-flex:0 0 65%;flex:0 0 65%}[layout=row]>[flex-gt-sm="65"]{max-width:65%}[layout=column]>[flex-gt-sm="65"]{max-height:65%}[flex-gt-sm="70"]{-webkit-flex:0 0 70%;-ms-flex:0 0 70%;flex:0 0 70%}[layout=row]>[flex-gt-sm="70"]{max-width:70%}[layout=column]>[flex-gt-sm="70"]{max-height:70%}[flex-gt-sm="75"]{-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%}[layout=row]>[flex-gt-sm="75"]{max-width:75%}[layout=column]>[flex-gt-sm="75"]{max-height:75%}[flex-gt-sm="80"]{-webkit-flex:0 0 80%;-ms-flex:0 0 80%;flex:0 0 80%}[layout=row]>[flex-gt-sm="80"]{max-width:80%}[layout=column]>[flex-gt-sm="80"]{max-height:80%}[flex-gt-sm="85"]{-webkit-flex:0 0 85%;-ms-flex:0 0 85%;flex:0 0 85%}[layout=row]>[flex-gt-sm="85"]{max-width:85%}[layout=column]>[flex-gt-sm="85"]{max-height:85%}[flex-gt-sm="90"]{-webkit-flex:0 0 90%;-ms-flex:0 0 90%;flex:0 0 90%}[layout=row]>[flex-gt-sm="90"]{max-width:90%}[layout=column]>[flex-gt-sm="90"]{max-height:90%}[flex-gt-sm="95"]{-webkit-flex:0 0 95%;-ms-flex:0 0 95%;flex:0 0 95%}[layout=row]>[flex-gt-sm="95"]{max-width:95%}[layout=column]>[flex-gt-sm="95"]{max-height:95%}[flex-gt-sm="100"]{-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%}[layout=row]>[flex-gt-sm="100"]{max-width:100%}[layout=column]>[flex-gt-sm="100"]{max-height:100%}[flex-gt-sm="33"],[flex-gt-sm="34"]{-webkit-flex:0 0 33.33%;-ms-flex:0 0 33.33%;flex:0 0 33.33%}[flex-gt-sm="66"],[flex-gt-sm="67"]{-webkit-flex:0 0 66.66%;-ms-flex:0 0 66.66%;flex:0 0 66.66%}[layout=row]>[flex-gt-sm="33"],[layout=row]>[flex-gt-sm="34"]{max-width:33.33%}[layout=row]>[flex-gt-sm="66"],[layout=row]>[flex-gt-sm="67"]{max-width:66.66%}[layout=column]>[flex-gt-sm="33"],[layout=column]>[flex-gt-sm="34"]{max-height:33.33%}[layout=column]>[flex-gt-sm="66"],[layout=column]>[flex-gt-sm="67"]{max-height:66.66%}}@media (min-width:600px) and (max-width:959px){[hide-gt-sm]:not([show-gt-sm]):not([show-md]):not([show]),[hide-md]:not([show-md]):not([show]),[hide]:not([show-gt-sm]):not([show-md]):not([show]){display:none}[flex-order-md="0"]{-webkit-order:0;-ms-flex-order:0;order:0}[flex-order-md="1"]{-webkit-order:1;-ms-flex-order:1;order:1}[flex-order-md="2"]{-webkit-order:2;-ms-flex-order:2;order:2}[flex-order-md="3"]{-webkit-order:3;-ms-flex-order:3;order:3}[flex-order-md="4"]{-webkit-order:4;-ms-flex-order:4;order:4}[flex-order-md="5"]{-webkit-order:5;-ms-flex-order:5;order:5}[flex-order-md="6"]{-webkit-order:6;-ms-flex-order:6;order:6}[flex-order-md="7"]{-webkit-order:7;-ms-flex-order:7;order:7}[flex-order-md="8"]{-webkit-order:8;-ms-flex-order:8;order:8}[flex-order-md="9"]{-webkit-order:9;-ms-flex-order:9;order:9}[layout-align-md=center],[layout-align-md="center center"],[layout-align-md="center start"],[layout-align-md="center end"]{-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}[layout-align-md=end],[layout-align-md="end center"],[layout-align-md="end start"],[layout-align-md="end end"]{-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}[layout-align-md=space-around],[layout-align-md="space-around center"],[layout-align-md="space-around start"],[layout-align-md="space-around end"]{-webkit-justify-content:space-around;-ms-flex-pack:distribute;justify-content:space-around}[layout-align-md=space-between],[layout-align-md="space-between center"],[layout-align-md="space-between start"],[layout-align-md="space-between end"]{-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}[layout-align-md="center center"],[layout-align-md="end center"],[layout-align-md="space-around center"],[layout-align-md="space-between center"],[layout-align-md="start center"]{-webkit-align-items:center;-ms-flex-align:center;align-items:center}[layout-align-md="center start"],[layout-align-md="end start"],[layout-align-md="space-around start"],[layout-align-md="space-between start"],[layout-align-md="start start"]{-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start}[layout-align-md="center end"],[layout-align-md="end end"],[layout-align-md="space-around end"],[layout-align-md="space-between end"],[layout-align-md="start end"]{-webkit-align-items:flex-end;-ms-flex-align:end;align-items:flex-end}[layout-md]{box-sizing:border-box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex}[layout-md=column]{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}[layout-md=row]{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}[offset-md="5"]{margin-left:5%}[offset-md="10"]{margin-left:10%}[offset-md="15"]{margin-left:15%}[offset-md="20"]{margin-left:20%}[offset-md="25"]{margin-left:25%}[offset-md="30"]{margin-left:30%}[offset-md="35"]{margin-left:35%}[offset-md="40"]{margin-left:40%}[offset-md="45"]{margin-left:45%}[offset-md="50"]{margin-left:50%}[offset-md="55"]{margin-left:55%}[offset-md="60"]{margin-left:60%}[offset-md="65"]{margin-left:65%}[offset-md="70"]{margin-left:70%}[offset-md="75"]{margin-left:75%}[offset-md="80"]{margin-left:80%}[offset-md="85"]{margin-left:85%}[offset-md="90"]{margin-left:90%}[offset-md="95"]{margin-left:95%}[offset-md="33"],[offset-md="34"]{margin-left:33.33%}[offset-md="66"],[offset-md="67"]{margin-left:66.66%}[flex-md]{box-sizing:border-box;-webkit-flex:1;-ms-flex:1;flex:1}[flex-md="0"]{-webkit-flex:0 0 0;-ms-flex:0 0 0;flex:0 0 0}[layout=row]>[flex-md="0"]{max-width:0}[layout=column]>[flex-md="0"]{max-height:0}[flex-md="5"]{-webkit-flex:0 0 5%;-ms-flex:0 0 5%;flex:0 0 5%}[layout=row]>[flex-md="5"]{max-width:5%}[layout=column]>[flex-md="5"]{max-height:5%}[flex-md="10"]{-webkit-flex:0 0 10%;-ms-flex:0 0 10%;flex:0 0 10%}[layout=row]>[flex-md="10"]{max-width:10%}[layout=column]>[flex-md="10"]{max-height:10%}[flex-md="15"]{-webkit-flex:0 0 15%;-ms-flex:0 0 15%;flex:0 0 15%}[layout=row]>[flex-md="15"]{max-width:15%}[layout=column]>[flex-md="15"]{max-height:15%}[flex-md="20"]{-webkit-flex:0 0 20%;-ms-flex:0 0 20%;flex:0 0 20%}[layout=row]>[flex-md="20"]{max-width:20%}[layout=column]>[flex-md="20"]{max-height:20%}[flex-md="25"]{-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%}[layout=row]>[flex-md="25"]{max-width:25%}[layout=column]>[flex-md="25"]{max-height:25%}[flex-md="30"]{-webkit-flex:0 0 30%;-ms-flex:0 0 30%;flex:0 0 30%}[layout=row]>[flex-md="30"]{max-width:30%}[layout=column]>[flex-md="30"]{max-height:30%}[flex-md="35"]{-webkit-flex:0 0 35%;-ms-flex:0 0 35%;flex:0 0 35%}[layout=row]>[flex-md="35"]{max-width:35%}[layout=column]>[flex-md="35"]{max-height:35%}[flex-md="40"]{-webkit-flex:0 0 40%;-ms-flex:0 0 40%;flex:0 0 40%}[layout=row]>[flex-md="40"]{max-width:40%}[layout=column]>[flex-md="40"]{max-height:40%}[flex-md="45"]{-webkit-flex:0 0 45%;-ms-flex:0 0 45%;flex:0 0 45%}[layout=row]>[flex-md="45"]{max-width:45%}[layout=column]>[flex-md="45"]{max-height:45%}[flex-md="50"]{-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%}[layout=row]>[flex-md="50"]{max-width:50%}[layout=column]>[flex-md="50"]{max-height:50%}[flex-md="55"]{-webkit-flex:0 0 55%;-ms-flex:0 0 55%;flex:0 0 55%}[layout=row]>[flex-md="55"]{max-width:55%}[layout=column]>[flex-md="55"]{max-height:55%}[flex-md="60"]{-webkit-flex:0 0 60%;-ms-flex:0 0 60%;flex:0 0 60%}[layout=row]>[flex-md="60"]{max-width:60%}[layout=column]>[flex-md="60"]{max-height:60%}[flex-md="65"]{-webkit-flex:0 0 65%;-ms-flex:0 0 65%;flex:0 0 65%}[layout=row]>[flex-md="65"]{max-width:65%}[layout=column]>[flex-md="65"]{max-height:65%}[flex-md="70"]{-webkit-flex:0 0 70%;-ms-flex:0 0 70%;flex:0 0 70%}[layout=row]>[flex-md="70"]{max-width:70%}[layout=column]>[flex-md="70"]{max-height:70%}[flex-md="75"]{-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%}[layout=row]>[flex-md="75"]{max-width:75%}[layout=column]>[flex-md="75"]{max-height:75%}[flex-md="80"]{-webkit-flex:0 0 80%;-ms-flex:0 0 80%;flex:0 0 80%}[layout=row]>[flex-md="80"]{max-width:80%}[layout=column]>[flex-md="80"]{max-height:80%}[flex-md="85"]{-webkit-flex:0 0 85%;-ms-flex:0 0 85%;flex:0 0 85%}[layout=row]>[flex-md="85"]{max-width:85%}[layout=column]>[flex-md="85"]{max-height:85%}[flex-md="90"]{-webkit-flex:0 0 90%;-ms-flex:0 0 90%;flex:0 0 90%}[layout=row]>[flex-md="90"]{max-width:90%}[layout=column]>[flex-md="90"]{max-height:90%}[flex-md="95"]{-webkit-flex:0 0 95%;-ms-flex:0 0 95%;flex:0 0 95%}[layout=row]>[flex-md="95"]{max-width:95%}[layout=column]>[flex-md="95"]{max-height:95%}[flex-md="100"]{-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%}[layout=row]>[flex-md="100"]{max-width:100%}[layout=column]>[flex-md="100"]{max-height:100%}[flex-md="33"],[flex-md="34"]{-webkit-flex:0 0 33.33%;-ms-flex:0 0 33.33%;flex:0 0 33.33%}[flex-md="66"],[flex-md="67"]{-webkit-flex:0 0 66.66%;-ms-flex:0 0 66.66%;flex:0 0 66.66%}[layout=row]>[flex-md="33"],[layout=row]>[flex-md="34"]{max-width:33.33%}[layout=row]>[flex-md="66"],[layout=row]>[flex-md="67"]{max-width:66.66%}[layout=column]>[flex-md="33"],[layout=column]>[flex-md="34"]{max-height:33.33%}[layout=column]>[flex-md="66"],[layout=column]>[flex-md="67"]{max-height:66.66%}}@media (min-width:960px){[flex-order-gt-md="0"]{-webkit-order:0;-ms-flex-order:0;order:0}[flex-order-gt-md="1"]{-webkit-order:1;-ms-flex-order:1;order:1}[flex-order-gt-md="2"]{-webkit-order:2;-ms-flex-order:2;order:2}[flex-order-gt-md="3"]{-webkit-order:3;-ms-flex-order:3;order:3}[flex-order-gt-md="4"]{-webkit-order:4;-ms-flex-order:4;order:4}[flex-order-gt-md="5"]{-webkit-order:5;-ms-flex-order:5;order:5}[flex-order-gt-md="6"]{-webkit-order:6;-ms-flex-order:6;order:6}[flex-order-gt-md="7"]{-webkit-order:7;-ms-flex-order:7;order:7}[flex-order-gt-md="8"]{-webkit-order:8;-ms-flex-order:8;order:8}[flex-order-gt-md="9"]{-webkit-order:9;-ms-flex-order:9;order:9}[layout-align-gt-md=center],[layout-align-gt-md="center center"],[layout-align-gt-md="center start"],[layout-align-gt-md="center end"]{-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}[layout-align-gt-md=end],[layout-align-gt-md="end center"],[layout-align-gt-md="end start"],[layout-align-gt-md="end end"]{-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}[layout-align-gt-md=space-around],[layout-align-gt-md="space-around center"],[layout-align-gt-md="space-around start"],[layout-align-gt-md="space-around end"]{-webkit-justify-content:space-around;-ms-flex-pack:distribute;justify-content:space-around}[layout-align-gt-md=space-between],[layout-align-gt-md="space-between center"],[layout-align-gt-md="space-between start"],[layout-align-gt-md="space-between end"]{-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}[layout-align-gt-md="center center"],[layout-align-gt-md="end center"],[layout-align-gt-md="space-around center"],[layout-align-gt-md="space-between center"],[layout-align-gt-md="start center"]{-webkit-align-items:center;-ms-flex-align:center;align-items:center}[layout-align-gt-md="center start"],[layout-align-gt-md="end start"],[layout-align-gt-md="space-around start"],[layout-align-gt-md="space-between start"],[layout-align-gt-md="start start"]{-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start}[layout-align-gt-md="center end"],[layout-align-gt-md="end end"],[layout-align-gt-md="space-around end"],[layout-align-gt-md="space-between end"],[layout-align-gt-md="start end"]{-webkit-align-items:flex-end;-ms-flex-align:end;align-items:flex-end}[layout-gt-md]{box-sizing:border-box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex}[layout-gt-md=column]{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}[layout-gt-md=row]{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}[offset-gt-md="5"]{margin-left:5%}[offset-gt-md="10"]{margin-left:10%}[offset-gt-md="15"]{margin-left:15%}[offset-gt-md="20"]{margin-left:20%}[offset-gt-md="25"]{margin-left:25%}[offset-gt-md="30"]{margin-left:30%}[offset-gt-md="35"]{margin-left:35%}[offset-gt-md="40"]{margin-left:40%}[offset-gt-md="45"]{margin-left:45%}[offset-gt-md="50"]{margin-left:50%}[offset-gt-md="55"]{margin-left:55%}[offset-gt-md="60"]{margin-left:60%}[offset-gt-md="65"]{margin-left:65%}[offset-gt-md="70"]{margin-left:70%}[offset-gt-md="75"]{margin-left:75%}[offset-gt-md="80"]{margin-left:80%}[offset-gt-md="85"]{margin-left:85%}[offset-gt-md="90"]{margin-left:90%}[offset-gt-md="95"]{margin-left:95%}[offset-gt-md="33"],[offset-gt-md="34"]{margin-left:33.33%}[offset-gt-md="66"],[offset-gt-md="67"]{margin-left:66.66%}[flex-gt-md]{box-sizing:border-box;-webkit-flex:1;-ms-flex:1;flex:1}[flex-gt-md="0"]{-webkit-flex:0 0 0;-ms-flex:0 0 0;flex:0 0 0}[layout=row]>[flex-gt-md="0"]{max-width:0}[layout=column]>[flex-gt-md="0"]{max-height:0}[flex-gt-md="5"]{-webkit-flex:0 0 5%;-ms-flex:0 0 5%;flex:0 0 5%}[layout=row]>[flex-gt-md="5"]{max-width:5%}[layout=column]>[flex-gt-md="5"]{max-height:5%}[flex-gt-md="10"]{-webkit-flex:0 0 10%;-ms-flex:0 0 10%;flex:0 0 10%}[layout=row]>[flex-gt-md="10"]{max-width:10%}[layout=column]>[flex-gt-md="10"]{max-height:10%}[flex-gt-md="15"]{-webkit-flex:0 0 15%;-ms-flex:0 0 15%;flex:0 0 15%}[layout=row]>[flex-gt-md="15"]{max-width:15%}[layout=column]>[flex-gt-md="15"]{max-height:15%}[flex-gt-md="20"]{-webkit-flex:0 0 20%;-ms-flex:0 0 20%;flex:0 0 20%}[layout=row]>[flex-gt-md="20"]{max-width:20%}[layout=column]>[flex-gt-md="20"]{max-height:20%}[flex-gt-md="25"]{-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%}[layout=row]>[flex-gt-md="25"]{max-width:25%}[layout=column]>[flex-gt-md="25"]{max-height:25%}[flex-gt-md="30"]{-webkit-flex:0 0 30%;-ms-flex:0 0 30%;flex:0 0 30%}[layout=row]>[flex-gt-md="30"]{max-width:30%}[layout=column]>[flex-gt-md="30"]{max-height:30%}[flex-gt-md="35"]{-webkit-flex:0 0 35%;-ms-flex:0 0 35%;flex:0 0 35%}[layout=row]>[flex-gt-md="35"]{max-width:35%}[layout=column]>[flex-gt-md="35"]{max-height:35%}[flex-gt-md="40"]{-webkit-flex:0 0 40%;-ms-flex:0 0 40%;flex:0 0 40%}[layout=row]>[flex-gt-md="40"]{max-width:40%}[layout=column]>[flex-gt-md="40"]{max-height:40%}[flex-gt-md="45"]{-webkit-flex:0 0 45%;-ms-flex:0 0 45%;flex:0 0 45%}[layout=row]>[flex-gt-md="45"]{max-width:45%}[layout=column]>[flex-gt-md="45"]{max-height:45%}[flex-gt-md="50"]{-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%}[layout=row]>[flex-gt-md="50"]{max-width:50%}[layout=column]>[flex-gt-md="50"]{max-height:50%}[flex-gt-md="55"]{-webkit-flex:0 0 55%;-ms-flex:0 0 55%;flex:0 0 55%}[layout=row]>[flex-gt-md="55"]{max-width:55%}[layout=column]>[flex-gt-md="55"]{max-height:55%}[flex-gt-md="60"]{-webkit-flex:0 0 60%;-ms-flex:0 0 60%;flex:0 0 60%}[layout=row]>[flex-gt-md="60"]{max-width:60%}[layout=column]>[flex-gt-md="60"]{max-height:60%}[flex-gt-md="65"]{-webkit-flex:0 0 65%;-ms-flex:0 0 65%;flex:0 0 65%}[layout=row]>[flex-gt-md="65"]{max-width:65%}[layout=column]>[flex-gt-md="65"]{max-height:65%}[flex-gt-md="70"]{-webkit-flex:0 0 70%;-ms-flex:0 0 70%;flex:0 0 70%}[layout=row]>[flex-gt-md="70"]{max-width:70%}[layout=column]>[flex-gt-md="70"]{max-height:70%}[flex-gt-md="75"]{-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%}[layout=row]>[flex-gt-md="75"]{max-width:75%}[layout=column]>[flex-gt-md="75"]{max-height:75%}[flex-gt-md="80"]{-webkit-flex:0 0 80%;-ms-flex:0 0 80%;flex:0 0 80%}[layout=row]>[flex-gt-md="80"]{max-width:80%}[layout=column]>[flex-gt-md="80"]{max-height:80%}[flex-gt-md="85"]{-webkit-flex:0 0 85%;-ms-flex:0 0 85%;flex:0 0 85%}[layout=row]>[flex-gt-md="85"]{max-width:85%}[layout=column]>[flex-gt-md="85"]{max-height:85%}[flex-gt-md="90"]{-webkit-flex:0 0 90%;-ms-flex:0 0 90%;flex:0 0 90%}[layout=row]>[flex-gt-md="90"]{max-width:90%}[layout=column]>[flex-gt-md="90"]{max-height:90%}[flex-gt-md="95"]{-webkit-flex:0 0 95%;-ms-flex:0 0 95%;flex:0 0 95%}[layout=row]>[flex-gt-md="95"]{max-width:95%}[layout=column]>[flex-gt-md="95"]{max-height:95%}[flex-gt-md="100"]{-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%}[layout=row]>[flex-gt-md="100"]{max-width:100%}[layout=column]>[flex-gt-md="100"]{max-height:100%}[flex-gt-md="33"],[flex-gt-md="34"]{-webkit-flex:0 0 33.33%;-ms-flex:0 0 33.33%;flex:0 0 33.33%}[flex-gt-md="66"],[flex-gt-md="67"]{-webkit-flex:0 0 66.66%;-ms-flex:0 0 66.66%;flex:0 0 66.66%}[layout=row]>[flex-gt-md="33"],[layout=row]>[flex-gt-md="34"]{max-width:33.33%}[layout=row]>[flex-gt-md="66"],[layout=row]>[flex-gt-md="67"]{max-width:66.66%}[layout=column]>[flex-gt-md="33"],[layout=column]>[flex-gt-md="34"]{max-height:33.33%}[layout=column]>[flex-gt-md="66"],[layout=column]>[flex-gt-md="67"]{max-height:66.66%}}@media (min-width:960px) and (max-width:1199px){[hide-gt-md]:not([show-gt-sm]):not([show-gt-md]):not([show-lg]):not([show]),[hide-gt-sm]:not([show-gt-sm]):not([show-gt-md]):not([show-lg]):not([show]),[hide-lg]:not([show-lg]):not([show]),[hide]:not([show-gt-sm]):not([show-gt-md]):not([show-lg]):not([show]){display:none}[flex-order-lg="0"]{-webkit-order:0;-ms-flex-order:0;order:0}[flex-order-lg="1"]{-webkit-order:1;-ms-flex-order:1;order:1}[flex-order-lg="2"]{-webkit-order:2;-ms-flex-order:2;order:2}[flex-order-lg="3"]{-webkit-order:3;-ms-flex-order:3;order:3}[flex-order-lg="4"]{-webkit-order:4;-ms-flex-order:4;order:4}[flex-order-lg="5"]{-webkit-order:5;-ms-flex-order:5;order:5}[flex-order-lg="6"]{-webkit-order:6;-ms-flex-order:6;order:6}[flex-order-lg="7"]{-webkit-order:7;-ms-flex-order:7;order:7}[flex-order-lg="8"]{-webkit-order:8;-ms-flex-order:8;order:8}[flex-order-lg="9"]{-webkit-order:9;-ms-flex-order:9;order:9}[layout-align-lg=center],[layout-align-lg="center center"],[layout-align-lg="center start"],[layout-align-lg="center end"]{-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}[layout-align-lg=end],[layout-align-lg="end center"],[layout-align-lg="end start"],[layout-align-lg="end end"]{-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}[layout-align-lg=space-around],[layout-align-lg="space-around center"],[layout-align-lg="space-around start"],[layout-align-lg="space-around end"]{-webkit-justify-content:space-around;-ms-flex-pack:distribute;justify-content:space-around}[layout-align-lg=space-between],[layout-align-lg="space-between center"],[layout-align-lg="space-between start"],[layout-align-lg="space-between end"]{-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}[layout-align-lg="center center"],[layout-align-lg="end center"],[layout-align-lg="space-around center"],[layout-align-lg="space-between center"],[layout-align-lg="start center"]{-webkit-align-items:center;-ms-flex-align:center;align-items:center}[layout-align-lg="center start"],[layout-align-lg="end start"],[layout-align-lg="space-around start"],[layout-align-lg="space-between start"],[layout-align-lg="start start"]{-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start}[layout-align-lg="center end"],[layout-align-lg="end end"],[layout-align-lg="space-around end"],[layout-align-lg="space-between end"],[layout-align-lg="start end"]{-webkit-align-items:flex-end;-ms-flex-align:end;align-items:flex-end}[layout-lg]{box-sizing:border-box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex}[layout-lg=column]{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}[layout-lg=row]{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}[offset-lg="5"]{margin-left:5%}[offset-lg="10"]{margin-left:10%}[offset-lg="15"]{margin-left:15%}[offset-lg="20"]{margin-left:20%}[offset-lg="25"]{margin-left:25%}[offset-lg="30"]{margin-left:30%}[offset-lg="35"]{margin-left:35%}[offset-lg="40"]{margin-left:40%}[offset-lg="45"]{margin-left:45%}[offset-lg="50"]{margin-left:50%}[offset-lg="55"]{margin-left:55%}[offset-lg="60"]{margin-left:60%}[offset-lg="65"]{margin-left:65%}[offset-lg="70"]{margin-left:70%}[offset-lg="75"]{margin-left:75%}[offset-lg="80"]{margin-left:80%}[offset-lg="85"]{margin-left:85%}[offset-lg="90"]{margin-left:90%}[offset-lg="95"]{margin-left:95%}[offset-lg="33"],[offset-lg="34"]{margin-left:33.33%}[offset-lg="66"],[offset-lg="67"]{margin-left:66.66%}[flex-lg]{box-sizing:border-box;-webkit-flex:1;-ms-flex:1;flex:1}[flex-lg="0"]{-webkit-flex:0 0 0;-ms-flex:0 0 0;flex:0 0 0}[layout=row]>[flex-lg="0"]{max-width:0}[layout=column]>[flex-lg="0"]{max-height:0}[flex-lg="5"]{-webkit-flex:0 0 5%;-ms-flex:0 0 5%;flex:0 0 5%}[layout=row]>[flex-lg="5"]{max-width:5%}[layout=column]>[flex-lg="5"]{max-height:5%}[flex-lg="10"]{-webkit-flex:0 0 10%;-ms-flex:0 0 10%;flex:0 0 10%}[layout=row]>[flex-lg="10"]{max-width:10%}[layout=column]>[flex-lg="10"]{max-height:10%}[flex-lg="15"]{-webkit-flex:0 0 15%;-ms-flex:0 0 15%;flex:0 0 15%}[layout=row]>[flex-lg="15"]{max-width:15%}[layout=column]>[flex-lg="15"]{max-height:15%}[flex-lg="20"]{-webkit-flex:0 0 20%;-ms-flex:0 0 20%;flex:0 0 20%}[layout=row]>[flex-lg="20"]{max-width:20%}[layout=column]>[flex-lg="20"]{max-height:20%}[flex-lg="25"]{-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%}[layout=row]>[flex-lg="25"]{max-width:25%}[layout=column]>[flex-lg="25"]{max-height:25%}[flex-lg="30"]{-webkit-flex:0 0 30%;-ms-flex:0 0 30%;flex:0 0 30%}[layout=row]>[flex-lg="30"]{max-width:30%}[layout=column]>[flex-lg="30"]{max-height:30%}[flex-lg="35"]{-webkit-flex:0 0 35%;-ms-flex:0 0 35%;flex:0 0 35%}[layout=row]>[flex-lg="35"]{max-width:35%}[layout=column]>[flex-lg="35"]{max-height:35%}[flex-lg="40"]{-webkit-flex:0 0 40%;-ms-flex:0 0 40%;flex:0 0 40%}[layout=row]>[flex-lg="40"]{max-width:40%}[layout=column]>[flex-lg="40"]{max-height:40%}[flex-lg="45"]{-webkit-flex:0 0 45%;-ms-flex:0 0 45%;flex:0 0 45%}[layout=row]>[flex-lg="45"]{max-width:45%}[layout=column]>[flex-lg="45"]{max-height:45%}[flex-lg="50"]{-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%}[layout=row]>[flex-lg="50"]{max-width:50%}[layout=column]>[flex-lg="50"]{max-height:50%}[flex-lg="55"]{-webkit-flex:0 0 55%;-ms-flex:0 0 55%;flex:0 0 55%}[layout=row]>[flex-lg="55"]{max-width:55%}[layout=column]>[flex-lg="55"]{max-height:55%}[flex-lg="60"]{-webkit-flex:0 0 60%;-ms-flex:0 0 60%;flex:0 0 60%}[layout=row]>[flex-lg="60"]{max-width:60%}[layout=column]>[flex-lg="60"]{max-height:60%}[flex-lg="65"]{-webkit-flex:0 0 65%;-ms-flex:0 0 65%;flex:0 0 65%}[layout=row]>[flex-lg="65"]{max-width:65%}[layout=column]>[flex-lg="65"]{max-height:65%}[flex-lg="70"]{-webkit-flex:0 0 70%;-ms-flex:0 0 70%;flex:0 0 70%}[layout=row]>[flex-lg="70"]{max-width:70%}[layout=column]>[flex-lg="70"]{max-height:70%}[flex-lg="75"]{-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%}[layout=row]>[flex-lg="75"]{max-width:75%}[layout=column]>[flex-lg="75"]{max-height:75%}[flex-lg="80"]{-webkit-flex:0 0 80%;-ms-flex:0 0 80%;flex:0 0 80%}[layout=row]>[flex-lg="80"]{max-width:80%}[layout=column]>[flex-lg="80"]{max-height:80%}[flex-lg="85"]{-webkit-flex:0 0 85%;-ms-flex:0 0 85%;flex:0 0 85%}[layout=row]>[flex-lg="85"]{max-width:85%}[layout=column]>[flex-lg="85"]{max-height:85%}[flex-lg="90"]{-webkit-flex:0 0 90%;-ms-flex:0 0 90%;flex:0 0 90%}[layout=row]>[flex-lg="90"]{max-width:90%}[layout=column]>[flex-lg="90"]{max-height:90%}[flex-lg="95"]{-webkit-flex:0 0 95%;-ms-flex:0 0 95%;flex:0 0 95%}[layout=row]>[flex-lg="95"]{max-width:95%}[layout=column]>[flex-lg="95"]{max-height:95%}[flex-lg="100"]{-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%}[layout=row]>[flex-lg="100"]{max-width:100%}[layout=column]>[flex-lg="100"]{max-height:100%}[flex-lg="33"],[flex-lg="34"]{-webkit-flex:0 0 33.33%;-ms-flex:0 0 33.33%;flex:0 0 33.33%}[flex-lg="66"],[flex-lg="67"]{-webkit-flex:0 0 66.66%;-ms-flex:0 0 66.66%;flex:0 0 66.66%}[layout=row]>[flex-lg="33"],[layout=row]>[flex-lg="34"]{max-width:33.33%}[layout=row]>[flex-lg="66"],[layout=row]>[flex-lg="67"]{max-width:66.66%}[layout=column]>[flex-lg="33"],[layout=column]>[flex-lg="34"]{max-height:33.33%}[layout=column]>[flex-lg="66"],[layout=column]>[flex-lg="67"]{max-height:66.66%}}@media (min-width:1200px){[hide-gt-lg]:not([show-gt-sm]):not([show-gt-md]):not([show-gt-lg]):not([show]),[hide-gt-md]:not([show-gt-sm]):not([show-gt-md]):not([show-gt-lg]):not([show]),[hide-gt-sm]:not([show-gt-sm]):not([show-gt-md]):not([show-gt-lg]):not([show]),[hide]:not([show-gt-sm]):not([show-gt-md]):not([show-gt-lg]):not([show]){display:none}[flex-order-gt-lg="0"]{-webkit-order:0;-ms-flex-order:0;order:0}[flex-order-gt-lg="1"]{-webkit-order:1;-ms-flex-order:1;order:1}[flex-order-gt-lg="2"]{-webkit-order:2;-ms-flex-order:2;order:2}[flex-order-gt-lg="3"]{-webkit-order:3;-ms-flex-order:3;order:3}[flex-order-gt-lg="4"]{-webkit-order:4;-ms-flex-order:4;order:4}[flex-order-gt-lg="5"]{-webkit-order:5;-ms-flex-order:5;order:5}[flex-order-gt-lg="6"]{-webkit-order:6;-ms-flex-order:6;order:6}[flex-order-gt-lg="7"]{-webkit-order:7;-ms-flex-order:7;order:7}[flex-order-gt-lg="8"]{-webkit-order:8;-ms-flex-order:8;order:8}[flex-order-gt-lg="9"]{-webkit-order:9;-ms-flex-order:9;order:9}[layout-align-gt-lg=center],[layout-align-gt-lg="center center"],[layout-align-gt-lg="center start"],[layout-align-gt-lg="center end"]{-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}[layout-align-gt-lg=end],[layout-align-gt-lg="end center"],[layout-align-gt-lg="end start"],[layout-align-gt-lg="end end"]{-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}[layout-align-gt-lg=space-around],[layout-align-gt-lg="space-around center"],[layout-align-gt-lg="space-around start"],[layout-align-gt-lg="space-around end"]{-webkit-justify-content:space-around;-ms-flex-pack:distribute;justify-content:space-around}[layout-align-gt-lg=space-between],[layout-align-gt-lg="space-between center"],[layout-align-gt-lg="space-between start"],[layout-align-gt-lg="space-between end"]{-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}[layout-align-gt-lg="center center"],[layout-align-gt-lg="end center"],[layout-align-gt-lg="space-around center"],[layout-align-gt-lg="space-between center"],[layout-align-gt-lg="start center"]{-webkit-align-items:center;-ms-flex-align:center;align-items:center}[layout-align-gt-lg="center start"],[layout-align-gt-lg="end start"],[layout-align-gt-lg="space-around start"],[layout-align-gt-lg="space-between start"],[layout-align-gt-lg="start start"]{-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start}[layout-align-gt-lg="center end"],[layout-align-gt-lg="end end"],[layout-align-gt-lg="space-around end"],[layout-align-gt-lg="space-between end"],[layout-align-gt-lg="start end"]{-webkit-align-items:flex-end;-ms-flex-align:end;align-items:flex-end}[layout-gt-lg]{box-sizing:border-box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex}[layout-gt-lg=column]{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}[layout-gt-lg=row]{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}[offset-gt-lg="5"]{margin-left:5%}[offset-gt-lg="10"]{margin-left:10%}[offset-gt-lg="15"]{margin-left:15%}[offset-gt-lg="20"]{margin-left:20%}[offset-gt-lg="25"]{margin-left:25%}[offset-gt-lg="30"]{margin-left:30%}[offset-gt-lg="35"]{margin-left:35%}[offset-gt-lg="40"]{margin-left:40%}[offset-gt-lg="45"]{margin-left:45%}[offset-gt-lg="50"]{margin-left:50%}[offset-gt-lg="55"]{margin-left:55%}[offset-gt-lg="60"]{margin-left:60%}[offset-gt-lg="65"]{margin-left:65%}[offset-gt-lg="70"]{margin-left:70%}[offset-gt-lg="75"]{margin-left:75%}[offset-gt-lg="80"]{margin-left:80%}[offset-gt-lg="85"]{margin-left:85%}[offset-gt-lg="90"]{margin-left:90%}[offset-gt-lg="95"]{margin-left:95%}[offset-gt-lg="33"],[offset-gt-lg="34"]{margin-left:33.33%}[offset-gt-lg="66"],[offset-gt-lg="67"]{margin-left:66.66%}[flex-gt-lg]{box-sizing:border-box;-webkit-flex:1;-ms-flex:1;flex:1}[flex-gt-lg="0"]{-webkit-flex:0 0 0;-ms-flex:0 0 0;flex:0 0 0}[layout=row]>[flex-gt-lg="0"]{max-width:0}[layout=column]>[flex-gt-lg="0"]{max-height:0}[flex-gt-lg="5"]{-webkit-flex:0 0 5%;-ms-flex:0 0 5%;flex:0 0 5%}[layout=row]>[flex-gt-lg="5"]{max-width:5%}[layout=column]>[flex-gt-lg="5"]{max-height:5%}[flex-gt-lg="10"]{-webkit-flex:0 0 10%;-ms-flex:0 0 10%;flex:0 0 10%}[layout=row]>[flex-gt-lg="10"]{max-width:10%}[layout=column]>[flex-gt-lg="10"]{max-height:10%}[flex-gt-lg="15"]{-webkit-flex:0 0 15%;-ms-flex:0 0 15%;flex:0 0 15%}[layout=row]>[flex-gt-lg="15"]{max-width:15%}[layout=column]>[flex-gt-lg="15"]{max-height:15%}[flex-gt-lg="20"]{-webkit-flex:0 0 20%;-ms-flex:0 0 20%;flex:0 0 20%}[layout=row]>[flex-gt-lg="20"]{max-width:20%}[layout=column]>[flex-gt-lg="20"]{max-height:20%}[flex-gt-lg="25"]{-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%}[layout=row]>[flex-gt-lg="25"]{max-width:25%}[layout=column]>[flex-gt-lg="25"]{max-height:25%}[flex-gt-lg="30"]{-webkit-flex:0 0 30%;-ms-flex:0 0 30%;flex:0 0 30%}[layout=row]>[flex-gt-lg="30"]{max-width:30%}[layout=column]>[flex-gt-lg="30"]{max-height:30%}[flex-gt-lg="35"]{-webkit-flex:0 0 35%;-ms-flex:0 0 35%;flex:0 0 35%}[layout=row]>[flex-gt-lg="35"]{max-width:35%}[layout=column]>[flex-gt-lg="35"]{max-height:35%}[flex-gt-lg="40"]{-webkit-flex:0 0 40%;-ms-flex:0 0 40%;flex:0 0 40%}[layout=row]>[flex-gt-lg="40"]{max-width:40%}[layout=column]>[flex-gt-lg="40"]{max-height:40%}[flex-gt-lg="45"]{-webkit-flex:0 0 45%;-ms-flex:0 0 45%;flex:0 0 45%}[layout=row]>[flex-gt-lg="45"]{max-width:45%}[layout=column]>[flex-gt-lg="45"]{max-height:45%}[flex-gt-lg="50"]{-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%}[layout=row]>[flex-gt-lg="50"]{max-width:50%}[layout=column]>[flex-gt-lg="50"]{max-height:50%}[flex-gt-lg="55"]{-webkit-flex:0 0 55%;-ms-flex:0 0 55%;flex:0 0 55%}[layout=row]>[flex-gt-lg="55"]{max-width:55%}[layout=column]>[flex-gt-lg="55"]{max-height:55%}[flex-gt-lg="60"]{-webkit-flex:0 0 60%;-ms-flex:0 0 60%;flex:0 0 60%}[layout=row]>[flex-gt-lg="60"]{max-width:60%}[layout=column]>[flex-gt-lg="60"]{max-height:60%}[flex-gt-lg="65"]{-webkit-flex:0 0 65%;-ms-flex:0 0 65%;flex:0 0 65%}[layout=row]>[flex-gt-lg="65"]{max-width:65%}[layout=column]>[flex-gt-lg="65"]{max-height:65%}[flex-gt-lg="70"]{-webkit-flex:0 0 70%;-ms-flex:0 0 70%;flex:0 0 70%}[layout=row]>[flex-gt-lg="70"]{max-width:70%}[layout=column]>[flex-gt-lg="70"]{max-height:70%}[flex-gt-lg="75"]{-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%}[layout=row]>[flex-gt-lg="75"]{max-width:75%}[layout=column]>[flex-gt-lg="75"]{max-height:75%}[flex-gt-lg="80"]{-webkit-flex:0 0 80%;-ms-flex:0 0 80%;flex:0 0 80%}[layout=row]>[flex-gt-lg="80"]{max-width:80%}[layout=column]>[flex-gt-lg="80"]{max-height:80%}[flex-gt-lg="85"]{-webkit-flex:0 0 85%;-ms-flex:0 0 85%;flex:0 0 85%}[layout=row]>[flex-gt-lg="85"]{max-width:85%}[layout=column]>[flex-gt-lg="85"]{max-height:85%}[flex-gt-lg="90"]{-webkit-flex:0 0 90%;-ms-flex:0 0 90%;flex:0 0 90%}[layout=row]>[flex-gt-lg="90"]{max-width:90%}[layout=column]>[flex-gt-lg="90"]{max-height:90%}[flex-gt-lg="95"]{-webkit-flex:0 0 95%;-ms-flex:0 0 95%;flex:0 0 95%}[layout=row]>[flex-gt-lg="95"]{max-width:95%}[layout=column]>[flex-gt-lg="95"]{max-height:95%}[flex-gt-lg="100"]{-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%}[layout=row]>[flex-gt-lg="100"]{max-width:100%}[layout=column]>[flex-gt-lg="100"]{max-height:100%}[flex-gt-lg="33"],[flex-gt-lg="34"]{-webkit-flex:0 0 33.33%;-ms-flex:0 0 33.33%;flex:0 0 33.33%}[flex-gt-lg="66"],[flex-gt-lg="67"]{-webkit-flex:0 0 66.66%;-ms-flex:0 0 66.66%;flex:0 0 66.66%}[layout=row]>[flex-gt-lg="33"],[layout=row]>[flex-gt-lg="34"]{max-width:33.33%}[layout=row]>[flex-gt-lg="66"],[layout=row]>[flex-gt-lg="67"]{max-width:66.66%}[layout=column]>[flex-gt-lg="33"],[layout=column]>[flex-gt-lg="34"]{max-height:33.33%}[layout=column]>[flex-gt-lg="66"],[layout=column]>[flex-gt-lg="67"]{max-height:66.66%}}body,html{height:100%;color:rgba(0,0,0,.87);background:#fff;position:relative}body{margin:0;padding:0}[tabindex='-1']:focus{outline:0}.inset{padding:10px}button.md-no-style{font-weight:400;background-color:inherit;text-align:left;border:none;padding:0;margin:0}button,input,select,textarea{vertical-align:baseline}button,html input[type=button],input[type=reset],input[type=submit]{cursor:pointer;-webkit-appearance:button}button[disabled],html input[type=button][disabled],input[type=reset][disabled],input[type=submit][disabled]{cursor:default}textarea{vertical-align:top;overflow:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box;-webkit-box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}.md-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;text-transform:none;width:1px}.md-shadow{position:absolute;top:0;left:0;bottom:0;right:0;border-radius:inherit;pointer-events:none}.md-shadow-bottom-z-1{box-shadow:0 2px 5px 0 rgba(0,0,0,.26)}.md-shadow-bottom-z-2{box-shadow:0 4px 8px 0 rgba(0,0,0,.4)}.md-shadow-animated.md-shadow{transition:box-shadow .28s cubic-bezier(.4,0,.2,1)}.md-ripple-container{pointer-events:none;position:absolute;overflow:hidden;left:0;top:0;width:100%;height:100%;transition:all .55s cubic-bezier(.25,.8,.25,1)}.md-ripple{position:absolute;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:50% 50%;transform-origin:50% 50%;opacity:0;border-radius:50%}.md-ripple.md-ripple-placed{transition:left 1.8s cubic-bezier(.25,.8,.25,1),top 1.8s cubic-bezier(.25,.8,.25,1),margin 1.3s cubic-bezier(.25,.8,.25,1),border 1.3s cubic-bezier(.25,.8,.25,1),width 1.3s cubic-bezier(.25,.8,.25,1),height 1.3s cubic-bezier(.25,.8,.25,1),opacity 1.3s cubic-bezier(.25,.8,.25,1),-webkit-transform 1.3s cubic-bezier(.25,.8,.25,1);transition:left 1.8s cubic-bezier(.25,.8,.25,1),top 1.8s cubic-bezier(.25,.8,.25,1),margin 1.3s cubic-bezier(.25,.8,.25,1),border 1.3s cubic-bezier(.25,.8,.25,1),width 1.3s cubic-bezier(.25,.8,.25,1),height 1.3s cubic-bezier(.25,.8,.25,1),opacity 1.3s cubic-bezier(.25,.8,.25,1),transform 1.3s cubic-bezier(.25,.8,.25,1)}.md-ripple.md-ripple-scaled{-webkit-transform:scale(1);transform:scale(1)}.md-ripple.md-ripple-active,.md-ripple.md-ripple-full,.md-ripple.md-ripple-visible{opacity:.2}.md-padding{padding:8px}.md-margin{margin:8px}.md-scroll-mask{position:absolute;background-color:transparent}.md-scroll-mask>.md-scroll-mask-bar{display:block;position:absolute;background-color:#fafafa;right:0;top:0;bottom:0;z-index:65;box-shadow:inset 0 0 1px rgba(0,0,0,.3)}@media (min-width:600px){.md-padding{padding:16px}}body,html{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6,md-card,md-list,md-select,md-toolbar,ol,p,ul{text-rendering:optimizeLegibility}.md-display-4{font-size:112px;font-weight:300;letter-spacing:-.01em;line-height:112px}.md-display-3{font-size:56px;font-weight:400;letter-spacing:-.005em;line-height:56px}.md-display-2{font-size:45px;font-weight:400;line-height:64px}.md-display-1{font-size:34px;font-weight:400;line-height:40px}.md-headline{font-size:24px;font-weight:400;line-height:32px}.md-title{font-size:20px;font-weight:500;letter-spacing:.005em}.md-subhead{font-size:16px;font-weight:400;letter-spacing:.01em;line-height:24px}.md-body-1{font-size:14px;font-weight:400;letter-spacing:.01em;line-height:20px}.md-body-2{font-size:14px;font-weight:500;letter-spacing:.01em;line-height:24px}.md-caption{font-size:12px;letter-spacing:.02em}.md-button{letter-spacing:.01em}button,html,input,select,textarea{font-family:RobotoDraft,Roboto,'Helvetica Neue',sans-serif}button,input,select,textarea{font-size:100%} \ No newline at end of file diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/core/core.min.js b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/core/core.min.js deleted file mode 100644 index c00e5760..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/core/core.min.js +++ /dev/null @@ -1,10 +0,0 @@ -/*! - * Angular Material Design - * https://github.com/angular/material - * @license MIT - * v0.9.8 - */ -!function(e,t,o){"use strict";function d(e,t){e.decorator("$$rAF",["$delegate",r]),t.theme("default").primaryPalette("indigo").accentPalette("pink").warnPalette("red").backgroundPalette("grey")}function r(e){return e.throttle=function(t){var o,d,r,n;return function(){o=arguments,n=this,r=t,d||(d=!0,e(function(){r.apply(n,o),d=!1}))}},e}function n(e,t){function o(e){return d?"webkit"+e.charAt(0).toUpperCase()+e.substring(1):e}var d=/webkit/i.test(t.vendorPrefix);return{KEY_CODE:{ENTER:13,ESCAPE:27,SPACE:32,LEFT_ARROW:37,UP_ARROW:38,RIGHT_ARROW:39,DOWN_ARROW:40,TAB:9,BACKSPACE:8,DELETE:46},CSS:{TRANSITIONEND:"transitionend"+(d?" webkitTransitionEnd":""),ANIMATIONEND:"animationend"+(d?" webkitAnimationEnd":""),TRANSFORM:o("transform"),TRANSFORM_ORIGIN:o("transformOrigin"),TRANSITION:o("transition"),TRANSITION_DURATION:o("transitionDuration"),ANIMATION_PLAY_STATE:o("animationPlayState"),ANIMATION_DURATION:o("animationDuration"),ANIMATION_NAME:o("animationName"),ANIMATION_TIMING:o("animationTimingFunction"),ANIMATION_DIRECTION:o("animationDirection")},MEDIA:{sm:"(max-width: 600px)","gt-sm":"(min-width: 600px)",md:"(min-width: 600px) and (max-width: 960px)","gt-md":"(min-width: 960px)",lg:"(min-width: 960px) and (max-width: 1200px)","gt-lg":"(min-width: 1200px)"},MEDIA_PRIORITY:["gt-lg","lg","gt-md","md","gt-sm","sm"]}}function m(e,o){function d(){return[].concat(M)}function r(){return M.length}function n(e){return M.length&&e>-1&&e-1}function h(){return M.length?M[0]:null}function f(){return M.length?M[M.length-1]:null}function b(e,d,r,m){r=r||p;for(var a=u(d);;){if(!n(a))return null;var c=a+(e?-1:1),i=null;if(n(c)?i=M[c]:o&&(i=e?f():h(),c=u(i)),null===i||c===m)return null;if(r(i))return i;t.isUndefined(m)&&(m=c),a=c}}var p=function(){return!0};e&&!t.isArray(e)&&(e=Array.prototype.slice.call(e)),o=!!o;var M=e||[];return{items:d,count:r,inRange:n,contains:E,indexOf:u,itemAt:c,findBy:i,add:l,remove:s,first:h,last:f,next:t.bind(null,b,!1),previous:t.bind(null,b,!0),hasPrevious:a,hasNext:m}}function a(e,o,d){function r(e){var o=u[e];t.isUndefined(o)&&(o=u[e]=n(e));var d=h[o];return t.isUndefined(d)&&(d=m(o)),d}function n(t){return e.MEDIA[t]||("("!==t.charAt(0)?"("+t+")":t)}function m(e){var t=E[e]=d.matchMedia(e);return t.addListener(a),h[t.media]=!!t.matches}function a(e){o.$evalAsync(function(){h[e.media]=!!e.matches})}function c(e){return E[e]}function i(t,o){for(var d=0;d").html(o.trim()).contents(),m=r(d);return{locals:e,element:d,link:function(o){if(e.$scope=o,l){var r=n(l,e,!0);f&&t.extend(r.instance,e);var a=r();d.data("$ngControllerController",a),d.children().data("$ngControllerController",a),s&&(o[s]=a)}return m(o)}}})}}function l(){}function s(o,d,r){function n(e,t,o){var d=I[t.replace(/^\$md./,"")];if(!d)throw new Error("Failed to register element with handler "+t+". Available handlers: "+Object.keys(I).join(", "));return d.registerElement(e,o)}function m(e,d){var r=new o(e);return t.extend(r,d),I[e]=r,s}var a=navigator.userAgent||navigator.vendor||e.opera,c=a.match(/ipad|iphone|ipod/i),i=a.match(/android/i),l="undefined"!=typeof e.jQuery&&t.element===e.jQuery,s={handler:m,register:n,isHijackingClicks:(c||i)&&!l&&!O};return s.isHijackingClicks&&s.handler("click",{options:{maxDistance:6},onEnd:function(e,t){t.distancethis.options.maxDistance&&this.cancel()},onEnd:function(){this.onCancel()}}).handler("drag",{options:{minDistance:6,horizontal:!0,cancelMultiplier:1.5},onStart:function(e){this.state.registeredParent||this.cancel()},onMove:function(e,t){var o,d;e.preventDefault(),this.state.dragPointer?this.dispatchDragMove(e):(this.state.options.horizontal?(o=Math.abs(t.distanceX)>this.state.options.minDistance,d=Math.abs(t.distanceY)>this.state.options.minDistance*this.state.options.cancelMultiplier):(o=Math.abs(t.distanceY)>this.state.options.minDistance,d=Math.abs(t.distanceX)>this.state.options.minDistance*this.state.options.cancelMultiplier),o?(this.state.dragPointer=f(e),p(e,this.state.dragPointer),this.dispatchEvent(e,"$md.dragstart",this.state.dragPointer)):d&&this.cancel())},dispatchDragMove:d.throttle(function(e){this.state.isRunning&&(p(e,this.state.dragPointer),this.dispatchEvent(e,"$md.drag",this.state.dragPointer))}),onEnd:function(e,t){this.state.dragPointer&&(p(e,this.state.dragPointer),this.dispatchEvent(e,"$md.dragend",this.state.dragPointer))}}).handler("swipe",{options:{minVelocity:.65,minDistance:10},onEnd:function(e,t){if(Math.abs(t.velocityX)>this.state.options.minVelocity&&Math.abs(t.distanceX)>this.state.options.minDistance){var o="left"==t.directionX?"$md.swipeleft":"$md.swiperight";this.dispatchEvent(e,o)}}})}function u(e){this.name=e,this.state={}}function E(){function o(e,o,d){d=d||D;var r=new t.element.Event(o);r.$material=!0,r.pointer=d,r.srcEvent=e,t.extend(r,{clientX:d.x,clientY:d.y,screenX:d.x,screenY:d.y,pageX:d.x,pageY:d.y,ctrlKey:e.ctrlKey,altKey:e.altKey,shiftKey:e.shiftKey,metaKey:e.metaKey}),t.element(d.target).trigger(r)}function d(t,o,d){d=d||D;var r;"click"===o?(r=document.createEvent("MouseEvents"),r.initMouseEvent("click",!0,!0,e,t.detail,d.x,d.y,d.x,d.y,t.ctrlKey,t.altKey,t.shiftKey,t.metaKey,t.button,t.relatedTarget||null)):(r=document.createEvent("CustomEvent"),r.initCustomEvent(o,!0,!0,{})),r.$material=!0,r.pointer=d,r.srcEvent=t,d.target.dispatchEvent(r)}var r="undefined"!=typeof e.jQuery&&t.element===e.jQuery;return u.prototype={options:{},dispatchEvent:r?o:d,onStart:t.noop,onMove:t.noop,onEnd:t.noop,onCancel:t.noop,start:function(e,o){if(!this.state.isRunning){var d=this.getNearestParent(e.target),r=d&&d.$mdGesture[this.name]||{};this.state={isRunning:!0,options:t.extend({},this.options,r),registeredParent:d},this.onStart(e,o)}},move:function(e,t){this.state.isRunning&&this.onMove(e,t)},end:function(e,t){this.state.isRunning&&(this.onEnd(e,t),this.state.isRunning=!1)},cancel:function(e,t){this.onCancel(e,t),this.state={}},getNearestParent:function(e){for(var t=e;t;){if((t.$mdGesture||{})[this.name])return t;t=t.parentNode}return null},registerElement:function(e,t){function o(){delete e[0].$mdGesture[d.name],e.off("$destroy",o)}var d=this;return e[0].$mdGesture=e[0].$mdGesture||{},e[0].$mdGesture[this.name]=t||{},e.on("$destroy",o),o}},u}function h(e,o){function d(e,t){var d;for(var r in I)d=I[r],d instanceof o&&("start"===e&&d.cancel(),d[e](t,D))}function r(e){if(!D){var t=+Date.now();R&&!b(e,R)&&t-R.endTime<1500||(D=f(e),d("start",e))}}function n(e){D&&b(e,D)&&(p(e,D),d("move",e))}function m(e){D&&b(e,D)&&(p(e,D),D.endTime=+Date.now(),d("end",e),R=D,D=null)}document.contains||(document.contains=function(e){return document.body.contains(e)}),!P&&e.isHijackingClicks&&(document.addEventListener("click",function(e){var t=0===e.clientX&&0===e.clientY;t||e.$material||e.isIonicTap||(e.preventDefault(),e.stopPropagation())},!0),P=!0);var a="mousedown touchstart pointerdown",c="mousemove touchmove pointermove",i="mouseup mouseleave touchend touchcancel pointerup pointercancel";t.element(document).on(a,r).on(c,n).on(i,m).on("$$mdGestureReset",function(){R=D=null})}function f(e){var t=M(e),o={startTime:+Date.now(),target:e.target,type:e.type.charAt(0)};return o.startX=o.x=t.pageX,o.startY=o.y=t.pageY,o}function b(e,t){return e&&t&&e.type.charAt(0)===t.type}function p(e,t){var o=M(e),d=t.x=o.pageX,r=t.y=o.pageY;t.distanceX=d-t.startX,t.distanceY=r-t.startY,t.distance=Math.sqrt(t.distanceX*t.distanceX+t.distanceY*t.distanceY),t.directionX=t.distanceX>0?"right":t.distanceX<0?"left":"",t.directionY=t.distanceY>0?"up":t.distanceY<0?"down":"",t.duration=+Date.now()-t.startTime,t.velocityX=t.distanceX/t.duration,t.velocityY=t.distanceY/t.duration}function M(e){return e=e.originalEvent||e,e.touches&&e.touches[0]||e.changedTouches&&e.changedTouches[0]||e}function g(){function e(e){function o(e){return c.optionsFactory=e.options,c.methods=(e.methods||[]).concat(m),i}function d(e,t){return a[e]=t,i}function r(t,o){if(o=o||{},o.methods=o.methods||[],o.options=o.options||function(){return{}},/^cancel|hide|show$/.test(t))throw new Error("Preset '"+t+"' in "+e+" is reserved!");if(o.methods.indexOf("_options")>-1)throw new Error("Method '_options' in "+e+" is reserved!");return c.presets[t]={methods:o.methods.concat(m),optionsFactory:o.options,argOption:o.argOption},i}function n(o,d,r){function n(e){return e&&e._options&&(e=e._options),s.show(t.extend({},l,e))}function m(t,o){var d={};return d[e]=u,r.invoke(t||function(){return o},{},d)}var i,l,s=o(),u={hide:s.hide,cancel:s.cancel,show:n};return i=c.methods||[],l=m(c.optionsFactory,{}),t.forEach(a,function(e,t){u[t]=e}),t.forEach(c.presets,function(e,o){function d(e){this._options=t.extend({},r,e)}var r=m(e.optionsFactory,{}),n=(e.methods||[]).concat(i);if(t.extend(r,{$type:o}),t.forEach(n,function(e){d.prototype[e]=function(t){return this._options[e]=t,this}}),e.argOption){var a="show"+o.charAt(0).toUpperCase()+o.slice(1);u[a]=function(e){var t=u[o](e);return u.show(t)}}u[o]=function(o){return arguments.length&&e.argOption&&!t.isObject(o)&&!t.isArray(o)?(new d)[e.argOption](o):new d(o)}}),u}var m=["onHide","onShow","onRemove"],a={},c={presets:{}},i={setDefaults:o,addPreset:r,addMethod:d,$get:n};return i.addPreset("build",{methods:["controller","controllerAs","resolve","template","templateUrl","themable","transformTemplate","parent"]}),n.$inject=["$$interimElement","$animate","$injector"],i}function d(e,d,r,n,m,a,c,i,l){function s(e){return e&&t.isString(e)?e.replace(/\{\{/g,u).replace(/}}/g,E):e}var u=c.startSymbol(),E=c.endSymbol(),h="{{"===u&&"}}"===E,f=h?t.identity:s;return function(){function c(e){if(b.length)return h.cancel().then(function(){return c(e)});var t=new E(e);return b.push(t),t.show().then(function(){return t.deferred.promise})}function s(e){var t=b.shift();return t&&t.remove().then(function(){t.deferred.resolve(e)})}function u(e){var t=b.shift();return d.when(t&&t.remove().then(function(){t.deferred.reject(e)}))}function E(c){var s,u,E,b,p;return c=c||{},c=t.extend({preserveScope:!1,scope:c.scope||r.$new(c.isolateScope),onShow:function(e,t,o){return a.enter(t,o.parent)},onRemove:function(e,t,o){return t&&a.leave(t)||d.when()}},c),c.template&&(c.template=f(c.template)),s={options:c,deferred:d.defer(),show:function(){var o;return o=c.skipCompile?d(function(e){e({locals:{},link:function(){return c.element}})}):i.compile(c),b=o.then(function(o){function r(){c.hideDelay&&(u=n(h.cancel,c.hideDelay))}if(t.extend(o.locals,s.options),E=o.link(c.scope),t.isFunction(c.parent)?c.parent=c.parent(c.scope,E,c):t.isString(c.parent)&&(c.parent=t.element(e[0].querySelector(c.parent))),!(c.parent||{}).length){var a;m[0]&&m[0].querySelector&&(a=m[0].querySelector(":not(svg) > body")),a||(a=m[0]),"#comment"==a.nodeName&&(a=e[0].body),c.parent=t.element(a)}c.themable&&l(E);var i=c.onShow(c.scope,E,c);return d.when(i).then(function(){(c.onComplete||t.noop)(c.scope,E,c),r()})},function(e){b=!0,s.deferred.reject(e)})},cancelTimeout:function(){u&&(n.cancel(u),u=o)},remove:function(){return s.cancelTimeout(),p=d.when(b).then(function(){var e=E?c.onRemove(c.scope,E,c):!0;return d.when(e).then(function(){c.preserveScope||c.scope.$destroy(),p=!0})})}}}var h,b=[];return h={show:c,hide:s,cancel:u}}}return e.$get=d,d.$inject=["$document","$q","$rootScope","$timeout","$rootElement","$animate","$interpolate","$mdCompiler","$mdTheming"],e}function A(e,o){function d(e){return e&&""!==e}var r,n=[],m={};return r={notFoundError:function(t){e.error("No instance found for handle",t)},getInstances:function(){return n},get:function(e){if(!d(e))return null;var t,o,r;for(t=0,o=n.length;o>t;t++)if(r=n[t],r.$$mdHandle===e)return r;return null},register:function(e,o){function d(){var t=n.indexOf(e);-1!==t&&n.splice(t,1)}function r(){var t=m[o];t&&(t.resolve(e),delete m[o])}return o?(e.$$mdHandle=o,n.push(e),r(),d):t.noop},when:function(e){if(d(e)){var t=o.defer(),n=r.get(e);return n?t.resolve(n):m[e]=t,t.promise}return o.reject("Invalid `md-component-id` value.")}}}function T(e,o){return{controller:t.noop,link:function(t,d,r){r.hasOwnProperty("mdInkRippleCheckbox")?o.attach(t,d):e.attach(t,d)}}}function N(e,o){function d(d,r,n){function m(){var e=r.data("$mdRippleContainer");return e?e:(e=t.element('
    '),r.append(e),r.data("$mdRippleContainer",e),e)}function a(e){function t(e){var t="#"===e.charAt(0)?e.substr(1):e,o=t.length/3,d=t.substr(0,o),r=t.substr(o,o),n=t.substr(2*o);return 1===o&&(d+=d,r+=r,n+=n),"rgba("+parseInt(d,16)+","+parseInt(r,16)+","+parseInt(n,16)+",0.1)"}function o(e){return e.replace(")",", 0.1)").replace("(","a(")}if(e)return 0===e.indexOf("rgba")?e.replace(/\d?\.?\d*\s*\)\s*$/,"0.1)"):0===e.indexOf("rgb")?o(e):0===e.indexOf("#")?t(e):void 0}function c(e,t){p.splice(p.indexOf(e),1),0===p.length&&m().css({backgroundColor:""}),o(function(){e.remove()},t,!1)}function i(e){var t=p.indexOf(e),o=M[t]||{},d=p.length>1?!1:A,r=p.length>1?!1:T;d||o.animating||r?e.addClass("md-ripple-visible"):e&&(e.removeClass("md-ripple-visible"),n.outline&&e.css({width:h+"px",height:h+"px",marginLeft:-1*h+"px",marginTop:-1*h+"px"}),c(e,n.outline?450:650))}function l(d,c){function l(e){var o=t.element('
    ');return p.unshift(o),M.unshift({animating:!0}),E.append(o),e&&o.css(e),o}function s(e,t){var o,d,r,m=E.prop("offsetWidth"),a=E.prop("offsetHeight");return n.isMenuItem?d=Math.sqrt(Math.pow(m,2)+Math.pow(a,2)):n.outline?(r=N.getBoundingClientRect(),e-=r.left,t-=r.top,m=Math.max(e,m-e),a=Math.max(t,a-t),d=2*Math.sqrt(Math.pow(m,2)+Math.pow(a,2))):(o=n.fullRipple?1.1:.8,d=Math.sqrt(Math.pow(m,2)+Math.pow(a,2))*o,n.fitRipple&&(d=Math.min(a,m,d))),d}function u(e,t,o){function d(e){return e.replace("rgba","rgb").replace(/,[^\),]+\)/,")")}var r=N.getBoundingClientRect(),m={backgroundColor:d(H),borderColor:d(H),width:e+"px",height:e+"px"};return n.outline?(m.width=0,m.height=0):m.marginLeft=m.marginTop=e*-.5+"px",n.center?m.left=m.top="50%":(m.left=Math.round((t-r.left)/E.prop("offsetWidth")*100)+"%",m.top=Math.round((o-r.top)/E.prop("offsetHeight")*100)+"%"),m}H=a(r.attr("md-ink-ripple"))||a(e.getComputedStyle(n.colorElement[0]).color||"rgb(0, 0, 0)");var E=m(),f=s(d,c),g=u(f,d,c),A=l(g),T=p.indexOf(A),_=M[T]||{};return h=f,_.animating=!0,o(function(){n.dimBackground&&E.css({backgroundColor:H}),A.addClass("md-ripple-placed md-ripple-scaled"),A.css(n.outline?{borderWidth:.5*f+"px",marginLeft:f*-.5+"px",marginTop:f*-.5+"px"}:{left:"50%",top:"50%"}),i(A),o(function(){_.animating=!1,i(A)},n.outline?450:225,!1)},0,!1),A}function s(e){E()&&(l(e.pointer.x,e.pointer.y),T=!0)}function u(){T=!1;var e=p[p.length-1];o(function(){i(e)},0,!1)}function E(){function e(e){return e&&e.hasAttribute&&e.hasAttribute("disabled")}var t=N.parentNode,o=t&&t.parentNode,d=o&&o.parentNode;return!(e(N)||e(t)||e(o)||e(d))}if(r.controller("mdNoInk"))return t.noop;n=t.extend({colorElement:r,mousedown:!0,hover:!0,focus:!0,center:!1,mousedownPauseTime:150,dimBackground:!1,outline:!1,fullRipple:!0,isMenuItem:!1,fitRipple:!1},n);var h,f=r.controller("mdInkRipple")||{},b=0,p=[],M=[],g=r.attr("md-highlight"),A=!1,T=!1,N=r[0],_=r.attr("md-ripple-size"),H=a(r.attr("md-ink-ripple"))||a(n.colorElement.length&&e.getComputedStyle(n.colorElement[0]).color||"rgb(0, 0, 0)");switch(_){case"full":n.fullRipple=!0;break;case"partial":n.fullRipple=!1}return n.mousedown&&r.on("$md.pressdown",s).on("$md.pressup",u),f.createRipple=l,g&&d.$watch(g,function(e){A=e,A&&!p.length&&o(function(){l(0,0)},0,!1),t.forEach(p,i)}),function(){r.off("$md.pressdown",s).off("$md.pressup",u),m().remove()}}return{attach:d}}function _(){return function(){return{controller:t.noop}}}function H(e){function d(e,t){return t=t||{},j[e]=n(e,t),i}function r(e,o){return n(e,t.extend({},j[e]||{},o))}function n(e,t){var o=Z.filter(function(e){return!t[e]});if(o.length)throw new Error("Missing colors %1 in palette %2!".replace("%1",o.join(", ")).replace("%2",e));return t}function m(e,o){if(L[e])return L[e];o=o||"default";var d="string"==typeof o?L[o]:o,r=new a(e);return d&&t.forEach(d.colors,function(e,o){r.colors[o]={name:e.name,hues:t.extend({},e.hues)}}),L[e]=r,r}function a(e){function o(e){if(e=0===arguments.length?!0:!!e,e!==d.isDark){d.isDark=e,d.foregroundPalette=d.isDark?F:B,d.foregroundShadow=d.isDark?U:X;var o=d.isDark?V:Q,r=d.isDark?Q:V;return t.forEach(o,function(e,t){var o=d.colors[t],n=r[t];if(o)for(var m in o.hues)o.hues[m]===n[m]&&(o.hues[m]=e[m])}),d}}var d=this;d.name=e,d.colors={},d.dark=o,o(!1),z.forEach(function(e){var o=(d.isDark?V:Q)[e];d[e+"Palette"]=function(r,n){var m=d.colors[e]={name:r,hues:t.extend({},o,n)};return Object.keys(m.hues).forEach(function(e){if(!o[e])throw new Error("Invalid hue name '%1' in theme %2's %3 color %4. Available hue names: %4".replace("%1",e).replace("%2",d.name).replace("%3",r).replace("%4",Object.keys(o).join(", ")))}),Object.keys(m.hues).map(function(e){return m.hues[e]}).forEach(function(t){if(-1==Z.indexOf(t))throw new Error("Invalid hue value '%1' in theme %2's %3 color %4. Available hue values: %5".replace("%1",t).replace("%2",d.name).replace("%3",e).replace("%4",r).replace("%5",Z.join(", ")))}),d},d[e+"Color"]=function(){var t=Array.prototype.slice.call(arguments);return console.warn("$mdThemingProviderTheme."+e+"Color() has been deprecated. Use $mdThemingProviderTheme."+e+"Palette() instead."),d[e+"Palette"].apply(d,t)}})}function c(e,d){function r(e){return e===o||""===e?!0:n.THEMES[e]!==o}function n(t,d){d===o&&(d=t,t=o),t===o&&(t=e),n.inherit(d,d)}return n.inherit=function(o,n){function m(e){r(e)||d.warn("Attempted to use unregistered theme '"+e+"'. Register it with $mdThemingProvider.theme().");var t=o.data("$mdThemeName");t&&o.removeClass("md-"+t+"-theme"),o.addClass("md-"+e+"-theme"),o.data("$mdThemeName",e)}var a=n.controller("mdTheme"),c=o.attr("md-theme-watch");if((s||t.isDefined(c))&&"false"!=c){var i=e.$watch(function(){return a&&a.$mdTheme||l},m);o.on("$destroy",i)}else{var u=a&&a.$mdTheme||l;m(u)}},n.THEMES=t.extend({},L),n.defaultTheme=function(){return l},n.registered=r,n}j={},L={};var i,l="default",s=!1;return t.extend(j,e),c.$inject=["$rootScope","$log"],i={definePalette:d,extendPalette:r,theme:m,setDefaultTheme:function(e){l=e},alwaysWatchTheme:function(e){s=e},$get:c,_LIGHT_DEFAULT_HUES:Q,_DARK_DEFAULT_HUES:V,_PALETTES:j,_THEMES:L,_parseRules:w,_rgba:C}}function k(e,t,o){return{priority:100,link:{pre:function(d,r,n){var m={$setTheme:function(t){e.registered(t)||o.warn("attempted to use unregistered theme '"+t+"'"),m.$mdTheme=t}};r.data("$mdThemeController",m),m.$setTheme(t(n.mdTheme)(d)),n.$observe("mdTheme",m.$setTheme)}}}}function v(e){return e}function w(e,o,d){$(e,o),d=d.replace(/THEME_NAME/g,e.name);var r=[],n=e.colors[o],m=new RegExp(".md-"+e.name+"-theme","g"),a=new RegExp("('|\")?{{\\s*("+o+")-(color|contrast)-?(\\d\\.?\\d*)?\\s*}}(\"|')?","g"),c=/'?"?\{\{\s*([a-zA-Z]+)-(A?\d+|hue\-[0-3]|shadow)-?(\d\.?\d*)?\s*\}\}'?"?/g,i=j[n.name];return d=d.replace(c,function(t,o,d,r){return"foreground"===o?"shadow"==d?e.foregroundShadow:e.foregroundPalette[d]||e.foregroundPalette[1]:(0===d.indexOf("hue")&&(d=e.colors[o].hues[d]),C((j[e.colors[o].name][d]||"").value,r))}),t.forEach(n.hues,function(t,o){var n=d.replace(a,function(e,o,d,r,n){return C(i[t]["color"===r?"value":"contrast"],n)});"default"!==o&&(n=n.replace(m,".md-"+e.name+"-theme.md-"+o)),"default"==e.name&&(n=n.replace(/\.md-default-theme/g,"")),r.push(n)}),r}function y(e){function o(e){var o=e.contrastDefaultColor,d=e.contrastLightColors||[],r=e.contrastStrongLightColors||[],n=e.contrastDarkColors||[];"string"==typeof d&&(d=d.split(" ")),"string"==typeof r&&(r=r.split(" ")),"string"==typeof n&&(n=n.split(" ")),delete e.contrastDefaultColor,delete e.contrastLightColors,delete e.contrastStrongLightColors,delete e.contrastDarkColors,t.forEach(e,function(m,a){function c(){return"light"===o?n.indexOf(a)>-1?G:r.indexOf(a)>-1?q:K:d.indexOf(a)>-1?r.indexOf(a)>-1?q:K:G}if(!t.isObject(m)){var i=x(m);if(!i)throw new Error("Color %1, in palette %2's hue %3, is invalid. Hex or rgb(a) color expected.".replace("%1",m).replace("%2",e.name).replace("%3",a));e[a]={value:i,contrast:c()}}})}var d=document.getElementsByTagName("head")[0],r=d?d.firstElementChild:null,n=e.has("$MD_THEME_CSS")?e.get("$MD_THEME_CSS"):"";if(r&&0!==n.length){t.forEach(j,o);var m={},a=n.split(/\}(?!(\}|'|"|;))/).filter(function(e){return e&&e.length}).map(function(e){return e.trim()+"}"}),c=new RegExp("md-("+z.join("|")+")","g");z.forEach(function(e){m[e]=""}),a.forEach(function(e){for(var t,o=(e.match(c),0);t=z[o];o++)if(e.indexOf(".md-"+t)>-1)return m[t]+=e;for(o=0;t=z[o];o++)if(e.indexOf(t)>-1)return m[t]+=e;return m[W]+=e}),t.forEach(L,function(e){Y[e.name]||(z.forEach(function(t){for(var o=w(e,t,m[t]);o.length;){var n=document.createElement("style");n.setAttribute("type","text/css"),n.appendChild(document.createTextNode(o.shift())),d.insertBefore(n,r)}}),e.colors.primary.name==e.colors.accent.name&&console.warn("$mdThemingProvider: Using the same palette for primary and accent. This violates the material design spec."),Y[e.name]=!0)})}}function $(e,t){if(!j[(e.colors[t]||{}).name])throw new Error("You supplied an invalid color palette for theme %1's %2 palette. Available palettes: %3".replace("%1",e.name).replace("%2",t).replace("%3",Object.keys(j).join(", ")))}function x(e){if(t.isArray(e)&&3==e.length)return e;if(/^rgb/.test(e))return e.replace(/(^\s*rgba?\(|\)\s*$)/g,"").split(",").map(function(e,t){return 3==t?parseFloat(e,10):parseInt(e,10)});if("#"==e.charAt(0)&&(e=e.substring(1)),/^([a-fA-F0-9]{3}){1,2}$/g.test(e)){var o=e.length/3,d=e.substr(0,o),r=e.substr(o,o),n=e.substr(2*o);return 1===o&&(d+=d,r+=r,n+=n),[parseInt(d,16),parseInt(r,16),parseInt(n,16)]}}function C(e,o){return e?(4==e.length&&(e=t.copy(e),o?e.pop():o=e.pop()),o&&("number"==typeof o||"string"==typeof o&&o.length)?"rgba("+e.join(",")+","+o+")":"rgb("+e.join(",")+")"):"rgb('0,0,0')"}t.module("material.core",["material.core.gestures","material.core.theming"]).config(d),d.$inject=["$provide","$mdThemingProvider"],t.module("material.core").factory("$mdConstant",n),n.$inject=["$$rAF","$sniffer"],t.module("material.core").config(["$provide",function(e){e.decorator("$mdUtil",["$delegate",function(e){return e.iterator=m,e}])}]),t.module("material.core").factory("$mdMedia",a),a.$inject=["$mdConstant","$rootScope","$window"];var S=0;t.module("material.core").factory("$mdUtil",["$cacheFactory","$document","$timeout","$q","$window","$mdConstant",function(d,r,n,m,a,c){function i(e){return e[0]||e}var l;return l={now:e.performance?t.bind(e.performance,e.performance.now):Date.now,clientRect:function(e,t,o){var d=i(e);t=i(t||d.offsetParent||document.body);var r=d.getBoundingClientRect(),n=o?t.getBoundingClientRect():{left:0,top:0,width:0,height:0};return{left:r.left-n.left,top:r.top-n.top,width:r.width,height:r.height}},offsetRect:function(e,t){return l.clientRect(e,t,!0)},disableScrollAround:function(e){function o(){function e(e){c.contains(e.target)&&(e.preventDefault(),e.stopImmediatePropagation())}function o(e){e.preventDefault()}var d=t.element('
    '),m=a.getComputedStyle(c),i=c.getBoundingClientRect(),l=i.width-c.clientWidth;return n(d[0],{zIndex:"auto"==m.zIndex?2:m.zIndex+1,width:i.width+"px",height:i.height+"px",top:i.top+"px",left:i.left+"px"}),d[0].firstElementChild.style.width=l+"px",r[0].body.appendChild(d[0]),d.on("wheel",o),d.on("touchmove",o),r.on("keydown",e),function(){d.off("wheel"),d.off("touchmove"),d[0].parentNode.removeChild(d[0]),r.off("keydown",e)}}function d(){var e=c.getAttribute("style")||"",t=c.scrollTop;return n(c,{position:"fixed",width:"100%",overflowY:"scroll",top:-t+"px"}),function(){c.setAttribute("style",e),c.scrollTop=t}}function n(e,t){for(var o in t)e.style[o]=t[o]}function m(e){return e instanceof t.element&&(e=e[0]),e.scrollHeight>e.offsetHeight}e=e instanceof t.element?e[0]:e;for(var c,i=e;i=this.getClosest(i,"MD-CONTENT",!0);)m(i)&&(c=t.element(i)[0]);return c||(c=r[0].body,m(c))?"BODY"==c.nodeName?d():o():t.noop},floatingScrollbars:function(){if(this.floatingScrollbars.cached===o){var e=t.element('
    ');r[0].body.appendChild(e[0]),this.floatingScrollbars.cached=e[0].offsetWidth==e[0].childNodes[0].offsetWidth,e.remove()}return this.floatingScrollbars.cached},forceFocus:function(t){var o=t[0]||t;document.addEventListener("click",function r(e){e.target===o&&e.$focus&&(o.focus(),e.stopImmediatePropagation(),e.preventDefault(),o.removeEventListener("click",r))},!0);var d=document.createEvent("MouseEvents");d.initMouseEvent("click",!1,!0,e,{},0,0,0,0,!1,!1,!1,!1,0,null),d.$material=!0,d.$focus=!0,o.dispatchEvent(d)},transitionEndPromise:function(e,t){function o(t){t&&t.target!==e[0]||(e.off(c.CSS.TRANSITIONEND,o),d.resolve())}t=t||{};var d=m.defer();return e.on(c.CSS.TRANSITIONEND,o),t.timeout&&n(o,t.timeout),d.promise},fakeNgModel:function(){return{$fake:!0,$setTouched:t.noop,$setViewValue:function(e){this.$viewValue=e,this.$render(e),this.$viewChangeListeners.forEach(function(e){e()})},$isEmpty:function(e){return 0===(""+e).length},$parsers:[],$formatters:[],$viewChangeListeners:[],$render:t.noop}},debounce:function(e,t,d,r){var m;return function(){var a=d,c=Array.prototype.slice.call(arguments);n.cancel(m),m=n(function(){m=o,e.apply(a,c)},t||10,r)}},throttle:function(e,t){var o;return function(){var d=this,r=arguments,n=l.now();(!o||n-o>t)&&(e.apply(d,r),o=n)}},time:function(e){var t=l.now();return e(),l.now()-t},nextUid:function(){return""+S++},disconnectScope:function(e){if(e&&e.$root!==e&&!e.$$destroyed){var t=e.$parent;e.$$disconnected=!0,t.$$childHead===e&&(t.$$childHead=e.$$nextSibling),t.$$childTail===e&&(t.$$childTail=e.$$prevSibling),e.$$prevSibling&&(e.$$prevSibling.$$nextSibling=e.$$nextSibling),e.$$nextSibling&&(e.$$nextSibling.$$prevSibling=e.$$prevSibling),e.$$nextSibling=e.$$prevSibling=null}},reconnectScope:function(e){if(e&&e.$root!==e&&e.$$disconnected){var t=e,o=t.$parent;t.$$disconnected=!1,t.$$prevSibling=o.$$childTail,o.$$childHead?(o.$$childTail.$$nextSibling=t,o.$$childTail=t):o.$$childHead=o.$$childTail=t}},getClosest:function(e,o,d){if(e instanceof t.element&&(e=e[0]),o=o.toUpperCase(),d&&(e=e.parentNode),!e)return null;do if(e.nodeName===o)return e;while(e=e.parentNode);return null},extractElementByName:function(e,o){for(var d=0,r=e.length;r>d;d++)if(e[d].nodeName.toLowerCase()===o)return t.element(e[d]);return e},initOptionalProperties:function(e,o,d){d=d||{},t.forEach(e.$$isolateBindings,function(r,n){if(r.optional&&t.isUndefined(e[n])){var m=o.hasOwnProperty(o.$normalize(r.attrName));e[n]=t.isDefined(d[n])?d[n]:m}})}}}]),t.element.prototype.focus=t.element.prototype.focus||function(){return this.length&&this[0].focus(),this},t.element.prototype.blur=t.element.prototype.blur||function(){return this.length&&this[0].blur(),this},t.module("material.core").service("$mdAria",c),c.$inject=["$$rAF","$log","$window"],t.module("material.core").service("$mdCompiler",i),i.$inject=["$q","$http","$injector","$compile","$controller","$templateCache"];var D,R,I={},O=!1,P=!1;t.module("material.core.gestures",[]).provider("$mdGesture",l).factory("$$MdGestureHandler",E).run(h),l.prototype={skipClickHijack:function(){return O=!0},$get:["$$MdGestureHandler","$$rAF","$timeout",function(e,t,o){return new s(e,t,o)}]},s.$inject=["$$MdGestureHandler","$$rAF","$timeout"],h.$inject=["$mdGesture","$$MdGestureHandler"],t.module("material.core").provider("$$interimElement",g),t.module("material.core").factory("$mdComponentRegistry",A),A.$inject=["$log","$q"],function(){function e(e){function o(o,r,n){var m=d(r);return e.attach(o,r,t.extend(m,n))}function d(e){return e.hasClass("md-icon-button")?{isMenuItem:e.hasClass("md-menu-item"),fitRipple:!0,center:!0}:{isMenuItem:e.hasClass("md-menu-item"),dimBackground:!0}}return{attach:o}}t.module("material.core").factory("$mdButtonInkRipple",e),e.$inject=["$mdInkRipple"]}(),function(){function e(e){function o(o,d,r){return e.attach(o,d,t.extend({center:!0,dimBackground:!1,fitRipple:!0},r))}return{attach:o}}t.module("material.core").factory("$mdCheckboxInkRipple",e),e.$inject=["$mdInkRipple"]}(),function(){function e(e){function o(o,d,r){return e.attach(o,d,t.extend({center:!1,dimBackground:!0,outline:!1,rippleSize:"full"},r))}return{attach:o}}t.module("material.core").factory("$mdListInkRipple",e),e.$inject=["$mdInkRipple"]}(),t.module("material.core").factory("$mdInkRipple",N).directive("mdInkRipple",T).directive("mdNoInk",_()).directive("mdNoBar",_()).directive("mdNoStretch",_()),T.$inject=["$mdButtonInkRipple","$mdCheckboxInkRipple"],N.$inject=["$window","$timeout"],function(){function e(e){function o(o,d,r){return e.attach(o,d,t.extend({center:!1,dimBackground:!0,outline:!1,rippleSize:"full"},r))}return{attach:o}}t.module("material.core").factory("$mdTabInkRipple",e),e.$inject=["$mdInkRipple"]}(),t.module("material.core.theming.palette",[]).constant("$mdColorPalette",{red:{50:"#ffebee",100:"#ffcdd2",200:"#ef9a9a",300:"#e57373",400:"#ef5350",500:"#f44336",600:"#e53935",700:"#d32f2f",800:"#c62828",900:"#b71c1c",A100:"#ff8a80",A200:"#ff5252",A400:"#ff1744",A700:"#d50000",contrastDefaultColor:"light",contrastDarkColors:"50 100 200 300 400 A100", -contrastStrongLightColors:"500 600 700 A200 A400 A700"},pink:{50:"#fce4ec",100:"#f8bbd0",200:"#f48fb1",300:"#f06292",400:"#ec407a",500:"#e91e63",600:"#d81b60",700:"#c2185b",800:"#ad1457",900:"#880e4f",A100:"#ff80ab",A200:"#ff4081",A400:"#f50057",A700:"#c51162",contrastDefaultColor:"light",contrastDarkColors:"50 100 200 300 400 A100",contrastStrongLightColors:"500 600 A200 A400 A700"},purple:{50:"#f3e5f5",100:"#e1bee7",200:"#ce93d8",300:"#ba68c8",400:"#ab47bc",500:"#9c27b0",600:"#8e24aa",700:"#7b1fa2",800:"#6a1b9a",900:"#4a148c",A100:"#ea80fc",A200:"#e040fb",A400:"#d500f9",A700:"#aa00ff",contrastDefaultColor:"light",contrastDarkColors:"50 100 200 A100",contrastStrongLightColors:"300 400 A200 A400 A700"},"deep-purple":{50:"#ede7f6",100:"#d1c4e9",200:"#b39ddb",300:"#9575cd",400:"#7e57c2",500:"#673ab7",600:"#5e35b1",700:"#512da8",800:"#4527a0",900:"#311b92",A100:"#b388ff",A200:"#7c4dff",A400:"#651fff",A700:"#6200ea",contrastDefaultColor:"light",contrastDarkColors:"50 100 200 A100",contrastStrongLightColors:"300 400 A200"},indigo:{50:"#e8eaf6",100:"#c5cae9",200:"#9fa8da",300:"#7986cb",400:"#5c6bc0",500:"#3f51b5",600:"#3949ab",700:"#303f9f",800:"#283593",900:"#1a237e",A100:"#8c9eff",A200:"#536dfe",A400:"#3d5afe",A700:"#304ffe",contrastDefaultColor:"light",contrastDarkColors:"50 100 200 A100",contrastStrongLightColors:"300 400 A200 A400"},blue:{50:"#e3f2fd",100:"#bbdefb",200:"#90caf9",300:"#64b5f6",400:"#42a5f5",500:"#2196f3",600:"#1e88e5",700:"#1976d2",800:"#1565c0",900:"#0d47a1",A100:"#82b1ff",A200:"#448aff",A400:"#2979ff",A700:"#2962ff",contrastDefaultColor:"light",contrastDarkColors:"100 200 300 400 A100",contrastStrongLightColors:"500 600 700 A200 A400 A700"},"light-blue":{50:"#e1f5fe",100:"#b3e5fc",200:"#81d4fa",300:"#4fc3f7",400:"#29b6f6",500:"#03a9f4",600:"#039be5",700:"#0288d1",800:"#0277bd",900:"#01579b",A100:"#80d8ff",A200:"#40c4ff",A400:"#00b0ff",A700:"#0091ea",contrastDefaultColor:"dark",contrastLightColors:"500 600 700 800 900 A700",contrastStrongLightColors:"500 600 700 800 A700"},cyan:{50:"#e0f7fa",100:"#b2ebf2",200:"#80deea",300:"#4dd0e1",400:"#26c6da",500:"#00bcd4",600:"#00acc1",700:"#0097a7",800:"#00838f",900:"#006064",A100:"#84ffff",A200:"#18ffff",A400:"#00e5ff",A700:"#00b8d4",contrastDefaultColor:"dark",contrastLightColors:"500 600 700 800 900",contrastStrongLightColors:"500 600 700 800"},teal:{50:"#e0f2f1",100:"#b2dfdb",200:"#80cbc4",300:"#4db6ac",400:"#26a69a",500:"#009688",600:"#00897b",700:"#00796b",800:"#00695c",900:"#004d40",A100:"#a7ffeb",A200:"#64ffda",A400:"#1de9b6",A700:"#00bfa5",contrastDefaultColor:"dark",contrastLightColors:"500 600 700 800 900",contrastStrongLightColors:"500 600 700"},green:{50:"#e8f5e9",100:"#c8e6c9",200:"#a5d6a7",300:"#81c784",400:"#66bb6a",500:"#4caf50",600:"#43a047",700:"#388e3c",800:"#2e7d32",900:"#1b5e20",A100:"#b9f6ca",A200:"#69f0ae",A400:"#00e676",A700:"#00c853",contrastDefaultColor:"dark",contrastLightColors:"500 600 700 800 900",contrastStrongLightColors:"500 600 700"},"light-green":{50:"#f1f8e9",100:"#dcedc8",200:"#c5e1a5",300:"#aed581",400:"#9ccc65",500:"#8bc34a",600:"#7cb342",700:"#689f38",800:"#558b2f",900:"#33691e",A100:"#ccff90",A200:"#b2ff59",A400:"#76ff03",A700:"#64dd17",contrastDefaultColor:"dark",contrastLightColors:"800 900",contrastStrongLightColors:"800 900"},lime:{50:"#f9fbe7",100:"#f0f4c3",200:"#e6ee9c",300:"#dce775",400:"#d4e157",500:"#cddc39",600:"#c0ca33",700:"#afb42b",800:"#9e9d24",900:"#827717",A100:"#f4ff81",A200:"#eeff41",A400:"#c6ff00",A700:"#aeea00",contrastDefaultColor:"dark",contrastLightColors:"900",contrastStrongLightColors:"900"},yellow:{50:"#fffde7",100:"#fff9c4",200:"#fff59d",300:"#fff176",400:"#ffee58",500:"#ffeb3b",600:"#fdd835",700:"#fbc02d",800:"#f9a825",900:"#f57f17",A100:"#ffff8d",A200:"#ffff00",A400:"#ffea00",A700:"#ffd600",contrastDefaultColor:"dark"},amber:{50:"#fff8e1",100:"#ffecb3",200:"#ffe082",300:"#ffd54f",400:"#ffca28",500:"#ffc107",600:"#ffb300",700:"#ffa000",800:"#ff8f00",900:"#ff6f00",A100:"#ffe57f",A200:"#ffd740",A400:"#ffc400",A700:"#ffab00",contrastDefaultColor:"dark"},orange:{50:"#fff3e0",100:"#ffe0b2",200:"#ffcc80",300:"#ffb74d",400:"#ffa726",500:"#ff9800",600:"#fb8c00",700:"#f57c00",800:"#ef6c00",900:"#e65100",A100:"#ffd180",A200:"#ffab40",A400:"#ff9100",A700:"#ff6d00",contrastDefaultColor:"dark",contrastLightColors:"800 900",contrastStrongLightColors:"800 900"},"deep-orange":{50:"#fbe9e7",100:"#ffccbc",200:"#ffab91",300:"#ff8a65",400:"#ff7043",500:"#ff5722",600:"#f4511e",700:"#e64a19",800:"#d84315",900:"#bf360c",A100:"#ff9e80",A200:"#ff6e40",A400:"#ff3d00",A700:"#dd2c00",contrastDefaultColor:"light",contrastDarkColors:"50 100 200 300 400 A100 A200",contrastStrongLightColors:"500 600 700 800 900 A400 A700"},brown:{50:"#efebe9",100:"#d7ccc8",200:"#bcaaa4",300:"#a1887f",400:"#8d6e63",500:"#795548",600:"#6d4c41",700:"#5d4037",800:"#4e342e",900:"#3e2723",A100:"#d7ccc8",A200:"#bcaaa4",A400:"#8d6e63",A700:"#5d4037",contrastDefaultColor:"light",contrastDarkColors:"50 100 200",contrastStrongLightColors:"300 400"},grey:{50:"#fafafa",100:"#f5f5f5",200:"#eeeeee",300:"#e0e0e0",400:"#bdbdbd",500:"#9e9e9e",600:"#757575",700:"#616161",800:"#424242",900:"#212121",1000:"#000000",A100:"#ffffff",A200:"#eeeeee",A400:"#bdbdbd",A700:"#616161",contrastDefaultColor:"dark",contrastLightColors:"600 700 800 900"},"blue-grey":{50:"#eceff1",100:"#cfd8dc",200:"#b0bec5",300:"#90a4ae",400:"#78909c",500:"#607d8b",600:"#546e7a",700:"#455a64",800:"#37474f",900:"#263238",A100:"#cfd8dc",A200:"#b0bec5",A400:"#78909c",A700:"#455a64",contrastDefaultColor:"light",contrastDarkColors:"50 100 200 300",contrastStrongLightColors:"400 500"}}),t.module("material.core.theming",["material.core.theming.palette"]).directive("mdTheme",k).directive("mdThemable",v).provider("$mdTheming",H).run(y);var j,L,Y={},B={name:"dark",1:"rgba(0,0,0,0.87)",2:"rgba(0,0,0,0.54)",3:"rgba(0,0,0,0.26)",4:"rgba(0,0,0,0.12)"},F={name:"light",1:"rgba(255,255,255,1.0)",2:"rgba(255,255,255,0.7)",3:"rgba(255,255,255,0.3)",4:"rgba(255,255,255,0.12)"},U="1px 1px 0px rgba(0,0,0,0.4), -1px -1px 0px rgba(0,0,0,0.4)",X="",G=x("rgba(0,0,0,0.87)"),K=x("rgba(255,255,255,0.87"),q=x("rgb(255,255,255)"),z=["primary","accent","warn","background"],W="primary",Q={accent:{"default":"A200","hue-1":"A100","hue-2":"A400","hue-3":"A700"},background:{"default":"A100","hue-1":"300","hue-2":"800","hue-3":"900"}},V={background:{"default":"800","hue-1":"300","hue-2":"600","hue-3":"900"}};z.forEach(function(e){var t={"default":"500","hue-1":"300","hue-2":"800","hue-3":"A100"};Q[e]||(Q[e]=t),V[e]||(V[e]=t)});var Z=["50","100","200","300","400","500","600","700","800","900","A100","A200","A400","A700"];H.$inject=["$mdColorPalette"],k.$inject=["$mdTheming","$interpolate","$log"],v.$inject=["$mdTheming"],y.$inject=["$injector"],function(){t.module("material.core").constant("$MD_THEME_CSS","/* mixin definition ; sets LTR and RTL within the same style call */md-autocomplete.md-THEME_NAME-theme { background: '{{background-50}}'; } md-autocomplete.md-THEME_NAME-theme[disabled] { background: '{{background-100}}'; } md-autocomplete.md-THEME_NAME-theme button md-icon path { fill: '{{background-600}}'; } md-autocomplete.md-THEME_NAME-theme button:after { background: '{{background-600-0.3}}'; }.md-autocomplete-suggestions.md-THEME_NAME-theme { background: '{{background-50}}'; } .md-autocomplete-suggestions.md-THEME_NAME-theme li { color: '{{background-900}}'; } .md-autocomplete-suggestions.md-THEME_NAME-theme li .highlight { color: '{{background-600}}'; } .md-autocomplete-suggestions.md-THEME_NAME-theme li:hover, .md-autocomplete-suggestions.md-THEME_NAME-theme li.selected { background: '{{background-200}}'; }md-backdrop.md-opaque.md-THEME_NAME-theme { background-color: '{{foreground-4-0.5}}'; }md-bottom-sheet.md-THEME_NAME-theme { background-color: '{{background-50}}'; border-top-color: '{{background-300}}'; } md-bottom-sheet.md-THEME_NAME-theme.md-list md-list-item { color: '{{foreground-1}}'; } md-bottom-sheet.md-THEME_NAME-theme .md-subheader { background-color: '{{background-50}}'; } md-bottom-sheet.md-THEME_NAME-theme .md-subheader { color: '{{foreground-1}}'; }a.md-button.md-THEME_NAME-theme, .md-button.md-THEME_NAME-theme { border-radius: 3px; } a.md-button.md-THEME_NAME-theme:not([disabled]):hover, .md-button.md-THEME_NAME-theme:not([disabled]):hover { background-color: '{{background-500-0.2}}'; } a.md-button.md-THEME_NAME-theme:not([disabled]).md-focused, .md-button.md-THEME_NAME-theme:not([disabled]).md-focused { background-color: '{{background-500-0.2}}'; } a.md-button.md-THEME_NAME-theme:not([disabled]).md-icon-button:hover, .md-button.md-THEME_NAME-theme:not([disabled]).md-icon-button:hover { background-color: transparent; } a.md-button.md-THEME_NAME-theme.md-fab, .md-button.md-THEME_NAME-theme.md-fab { border-radius: 50%; background-color: '{{accent-color}}'; color: '{{accent-contrast}}'; } a.md-button.md-THEME_NAME-theme.md-fab md-icon, .md-button.md-THEME_NAME-theme.md-fab md-icon { color: '{{accent-contrast}}'; } a.md-button.md-THEME_NAME-theme.md-fab:not([disabled]):hover, .md-button.md-THEME_NAME-theme.md-fab:not([disabled]):hover { background-color: '{{accent-color}}'; } a.md-button.md-THEME_NAME-theme.md-fab:not([disabled]).md-focused, .md-button.md-THEME_NAME-theme.md-fab:not([disabled]).md-focused { background-color: '{{accent-A700}}'; } a.md-button.md-THEME_NAME-theme.md-icon-button, .md-button.md-THEME_NAME-theme.md-icon-button { border-radius: 50%; } a.md-button.md-THEME_NAME-theme.md-primary, .md-button.md-THEME_NAME-theme.md-primary { color: '{{primary-color}}'; } a.md-button.md-THEME_NAME-theme.md-primary.md-raised, a.md-button.md-THEME_NAME-theme.md-primary.md-fab, .md-button.md-THEME_NAME-theme.md-primary.md-raised, .md-button.md-THEME_NAME-theme.md-primary.md-fab { color: '{{primary-contrast}}'; background-color: '{{primary-color}}'; } a.md-button.md-THEME_NAME-theme.md-primary.md-raised:not([disabled]) md-icon, a.md-button.md-THEME_NAME-theme.md-primary.md-fab:not([disabled]) md-icon, .md-button.md-THEME_NAME-theme.md-primary.md-raised:not([disabled]) md-icon, .md-button.md-THEME_NAME-theme.md-primary.md-fab:not([disabled]) md-icon { color: '{{primary-contrast}}'; } a.md-button.md-THEME_NAME-theme.md-primary.md-raised:not([disabled]):hover, a.md-button.md-THEME_NAME-theme.md-primary.md-fab:not([disabled]):hover, .md-button.md-THEME_NAME-theme.md-primary.md-raised:not([disabled]):hover, .md-button.md-THEME_NAME-theme.md-primary.md-fab:not([disabled]):hover { background-color: '{{primary-color}}'; } a.md-button.md-THEME_NAME-theme.md-primary.md-raised:not([disabled]).md-focused, a.md-button.md-THEME_NAME-theme.md-primary.md-fab:not([disabled]).md-focused, .md-button.md-THEME_NAME-theme.md-primary.md-raised:not([disabled]).md-focused, .md-button.md-THEME_NAME-theme.md-primary.md-fab:not([disabled]).md-focused { background-color: '{{primary-600}}'; } a.md-button.md-THEME_NAME-theme.md-primary:not([disabled]) md-icon, .md-button.md-THEME_NAME-theme.md-primary:not([disabled]) md-icon { color: '{{primary-color}}'; } a.md-button.md-THEME_NAME-theme.md-fab, .md-button.md-THEME_NAME-theme.md-fab { border-radius: 50%; background-color: '{{accent-color}}'; color: '{{accent-contrast}}'; } a.md-button.md-THEME_NAME-theme.md-fab:not([disabled]) .md-icon, .md-button.md-THEME_NAME-theme.md-fab:not([disabled]) .md-icon { color: '{{accent-contrast}}'; } a.md-button.md-THEME_NAME-theme.md-fab:not([disabled]):hover, .md-button.md-THEME_NAME-theme.md-fab:not([disabled]):hover { background-color: '{{accent-color}}'; } a.md-button.md-THEME_NAME-theme.md-fab:not([disabled]).md-focused, .md-button.md-THEME_NAME-theme.md-fab:not([disabled]).md-focused { background-color: '{{accent-A700}}'; } a.md-button.md-THEME_NAME-theme.md-raised, .md-button.md-THEME_NAME-theme.md-raised { color: '{{background-contrast}}'; background-color: '{{background-50}}'; } a.md-button.md-THEME_NAME-theme.md-raised:not([disabled]) .md-icon, .md-button.md-THEME_NAME-theme.md-raised:not([disabled]) .md-icon { color: '{{background-contrast}}'; } a.md-button.md-THEME_NAME-theme.md-raised:not([disabled]):hover, .md-button.md-THEME_NAME-theme.md-raised:not([disabled]):hover { background-color: '{{background-50}}'; } a.md-button.md-THEME_NAME-theme.md-raised:not([disabled]).md-focused, .md-button.md-THEME_NAME-theme.md-raised:not([disabled]).md-focused { background-color: '{{background-200}}'; } a.md-button.md-THEME_NAME-theme.md-warn, .md-button.md-THEME_NAME-theme.md-warn { color: '{{warn-color}}'; } a.md-button.md-THEME_NAME-theme.md-warn.md-raised, a.md-button.md-THEME_NAME-theme.md-warn.md-fab, .md-button.md-THEME_NAME-theme.md-warn.md-raised, .md-button.md-THEME_NAME-theme.md-warn.md-fab { color: '{{warn-contrast}}'; background-color: '{{warn-color}}'; } a.md-button.md-THEME_NAME-theme.md-warn.md-raised:not([disabled]) md-icon, a.md-button.md-THEME_NAME-theme.md-warn.md-fab:not([disabled]) md-icon, .md-button.md-THEME_NAME-theme.md-warn.md-raised:not([disabled]) md-icon, .md-button.md-THEME_NAME-theme.md-warn.md-fab:not([disabled]) md-icon { color: '{{warn-contrast}}'; } a.md-button.md-THEME_NAME-theme.md-warn.md-raised:not([disabled]):hover, a.md-button.md-THEME_NAME-theme.md-warn.md-fab:not([disabled]):hover, .md-button.md-THEME_NAME-theme.md-warn.md-raised:not([disabled]):hover, .md-button.md-THEME_NAME-theme.md-warn.md-fab:not([disabled]):hover { background-color: '{{warn-color}}'; } a.md-button.md-THEME_NAME-theme.md-warn.md-raised:not([disabled]).md-focused, a.md-button.md-THEME_NAME-theme.md-warn.md-fab:not([disabled]).md-focused, .md-button.md-THEME_NAME-theme.md-warn.md-raised:not([disabled]).md-focused, .md-button.md-THEME_NAME-theme.md-warn.md-fab:not([disabled]).md-focused { background-color: '{{warn-700}}'; } a.md-button.md-THEME_NAME-theme.md-warn:not([disabled]) md-icon, .md-button.md-THEME_NAME-theme.md-warn:not([disabled]) md-icon { color: '{{warn-color}}'; } a.md-button.md-THEME_NAME-theme.md-accent, .md-button.md-THEME_NAME-theme.md-accent { color: '{{accent-color}}'; } a.md-button.md-THEME_NAME-theme.md-accent.md-raised, a.md-button.md-THEME_NAME-theme.md-accent.md-fab, .md-button.md-THEME_NAME-theme.md-accent.md-raised, .md-button.md-THEME_NAME-theme.md-accent.md-fab { color: '{{accent-contrast}}'; background-color: '{{accent-color}}'; } a.md-button.md-THEME_NAME-theme.md-accent.md-raised:not([disabled]) md-icon, a.md-button.md-THEME_NAME-theme.md-accent.md-fab:not([disabled]) md-icon, .md-button.md-THEME_NAME-theme.md-accent.md-raised:not([disabled]) md-icon, .md-button.md-THEME_NAME-theme.md-accent.md-fab:not([disabled]) md-icon { color: '{{accent-contrast}}'; } a.md-button.md-THEME_NAME-theme.md-accent.md-raised:not([disabled]):hover, a.md-button.md-THEME_NAME-theme.md-accent.md-fab:not([disabled]):hover, .md-button.md-THEME_NAME-theme.md-accent.md-raised:not([disabled]):hover, .md-button.md-THEME_NAME-theme.md-accent.md-fab:not([disabled]):hover { background-color: '{{accent-color}}'; } a.md-button.md-THEME_NAME-theme.md-accent.md-raised:not([disabled]).md-focused, a.md-button.md-THEME_NAME-theme.md-accent.md-fab:not([disabled]).md-focused, .md-button.md-THEME_NAME-theme.md-accent.md-raised:not([disabled]).md-focused, .md-button.md-THEME_NAME-theme.md-accent.md-fab:not([disabled]).md-focused { background-color: '{{accent-700}}'; } a.md-button.md-THEME_NAME-theme.md-accent:not([disabled]) md-icon, .md-button.md-THEME_NAME-theme.md-accent:not([disabled]) md-icon { color: '{{accent-color}}'; } a.md-button.md-THEME_NAME-theme[disabled], a.md-button.md-THEME_NAME-theme.md-raised[disabled], a.md-button.md-THEME_NAME-theme.md-fab[disabled], a.md-button.md-THEME_NAME-theme.md-accent[disabled], a.md-button.md-THEME_NAME-theme.md-warn[disabled], .md-button.md-THEME_NAME-theme[disabled], .md-button.md-THEME_NAME-theme.md-raised[disabled], .md-button.md-THEME_NAME-theme.md-fab[disabled], .md-button.md-THEME_NAME-theme.md-accent[disabled], .md-button.md-THEME_NAME-theme.md-warn[disabled] { color: '{{foreground-3}}'; cursor: not-allowed; } a.md-button.md-THEME_NAME-theme[disabled] md-icon, a.md-button.md-THEME_NAME-theme.md-raised[disabled] md-icon, a.md-button.md-THEME_NAME-theme.md-fab[disabled] md-icon, a.md-button.md-THEME_NAME-theme.md-accent[disabled] md-icon, a.md-button.md-THEME_NAME-theme.md-warn[disabled] md-icon, .md-button.md-THEME_NAME-theme[disabled] md-icon, .md-button.md-THEME_NAME-theme.md-raised[disabled] md-icon, .md-button.md-THEME_NAME-theme.md-fab[disabled] md-icon, .md-button.md-THEME_NAME-theme.md-accent[disabled] md-icon, .md-button.md-THEME_NAME-theme.md-warn[disabled] md-icon { color: '{{foreground-3}}'; } a.md-button.md-THEME_NAME-theme.md-raised[disabled], a.md-button.md-THEME_NAME-theme.md-fab[disabled], .md-button.md-THEME_NAME-theme.md-raised[disabled], .md-button.md-THEME_NAME-theme.md-fab[disabled] { background-color: '{{foreground-4}}'; } a.md-button.md-THEME_NAME-theme[disabled], .md-button.md-THEME_NAME-theme[disabled] { background-color: transparent; }md-card.md-THEME_NAME-theme { background-color: '{{background-color}}'; border-radius: 2px; } md-card.md-THEME_NAME-theme .md-card-image { border-radius: 2px 2px 0 0; }md-chips.md-THEME_NAME-theme .md-chips { box-shadow: 0 1px '{{background-300}}'; } md-chips.md-THEME_NAME-theme .md-chips.md-focused { box-shadow: 0 2px '{{primary-color}}'; }md-chips.md-THEME_NAME-theme .md-chip { background: '{{background-300}}'; color: '{{background-800}}'; } md-chips.md-THEME_NAME-theme .md-chip.md-focused { background: '{{primary-color}}'; color: '{{primary-contrast}}'; } md-chips.md-THEME_NAME-theme .md-chip.md-focused md-icon { color: '{{primary-contrast}}'; }md-chips.md-THEME_NAME-theme md-chip-remove .md-button md-icon path { fill: '{{background-500}}'; }.md-contact-suggestion span.md-contact-email { color: '{{background-400}}'; }md-content.md-THEME_NAME-theme { background-color: '{{background-color}}'; }md-checkbox.md-THEME_NAME-theme .md-ripple { color: '{{accent-600}}'; }md-checkbox.md-THEME_NAME-theme.md-checked .md-ripple { color: '{{background-600}}'; }md-checkbox.md-THEME_NAME-theme.md-checked.md-focused .md-container:before { background-color: '{{accent-color-0.26}}'; }md-checkbox.md-THEME_NAME-theme .md-icon { border-color: '{{foreground-2}}'; }md-checkbox.md-THEME_NAME-theme.md-checked .md-icon { background-color: '{{accent-color-0.87}}'; }md-checkbox.md-THEME_NAME-theme.md-checked .md-icon:after { border-color: '{{background-200}}'; }md-checkbox.md-THEME_NAME-theme:not([disabled]).md-primary .md-ripple { color: '{{primary-600}}'; }md-checkbox.md-THEME_NAME-theme:not([disabled]).md-primary.md-checked .md-ripple { color: '{{background-600}}'; }md-checkbox.md-THEME_NAME-theme:not([disabled]).md-primary .md-icon { border-color: '{{foreground-2}}'; }md-checkbox.md-THEME_NAME-theme:not([disabled]).md-primary.md-checked .md-icon { background-color: '{{primary-color-0.87}}'; }md-checkbox.md-THEME_NAME-theme:not([disabled]).md-primary.md-checked.md-focused .md-container:before { background-color: '{{primary-color-0.26}}'; }md-checkbox.md-THEME_NAME-theme:not([disabled]).md-primary.md-checked .md-icon:after { border-color: '{{background-200}}'; }md-checkbox.md-THEME_NAME-theme:not([disabled]).md-warn .md-ripple { color: '{{warn-600}}'; }md-checkbox.md-THEME_NAME-theme:not([disabled]).md-warn .md-icon { border-color: '{{foreground-2}}'; }md-checkbox.md-THEME_NAME-theme:not([disabled]).md-warn.md-checked .md-icon { background-color: '{{warn-color-0.87}}'; }md-checkbox.md-THEME_NAME-theme:not([disabled]).md-warn.md-checked.md-focused:not([disabled]) .md-container:before { background-color: '{{warn-color-0.26}}'; }md-checkbox.md-THEME_NAME-theme:not([disabled]).md-warn.md-checked .md-icon:after { border-color: '{{background-200}}'; }md-checkbox.md-THEME_NAME-theme[disabled] .md-icon { border-color: '{{foreground-3}}'; }md-checkbox.md-THEME_NAME-theme[disabled].md-checked .md-icon { background-color: '{{foreground-3}}'; }md-checkbox.md-THEME_NAME-theme[disabled] .md-label { color: '{{foreground-3}}'; }md-dialog.md-THEME_NAME-theme { border-radius: 4px; background-color: '{{background-color}}'; } md-dialog.md-THEME_NAME-theme.md-content-overflow .md-actions { border-top-color: '{{foreground-4}}'; }md-divider.md-THEME_NAME-theme { border-top-color: '{{foreground-4}}'; }md-icon.md-THEME_NAME-theme { color: '{{foreground-2}}'; } md-icon.md-THEME_NAME-theme.md-primary { color: '{{primary-color}}'; } md-icon.md-THEME_NAME-theme.md-accent { color: '{{accent-color}}'; } md-icon.md-THEME_NAME-theme.md-warn { color: '{{warn-color}}'; }md-input-container.md-THEME_NAME-theme .md-input { color: '{{foreground-1}}'; border-color: '{{foreground-4}}'; text-shadow: '{{foreground-shadow}}'; } md-input-container.md-THEME_NAME-theme .md-input::-webkit-input-placeholder, md-input-container.md-THEME_NAME-theme .md-input::-moz-placeholder, md-input-container.md-THEME_NAME-theme .md-input:-moz-placeholder, md-input-container.md-THEME_NAME-theme .md-input:-ms-input-placeholder { color: '{{foreground-3}}'; }md-input-container.md-THEME_NAME-theme > md-icon { color: '{{foreground-1}}'; }md-input-container.md-THEME_NAME-theme label, md-input-container.md-THEME_NAME-theme .md-placeholder { text-shadow: '{{foreground-shadow}}'; color: '{{foreground-3}}'; }md-input-container.md-THEME_NAME-theme ng-messages, md-input-container.md-THEME_NAME-theme [ng-message], md-input-container.md-THEME_NAME-theme [data-ng-message], md-input-container.md-THEME_NAME-theme [x-ng-message] { color: '{{warn-500}}'; }md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-has-value label { color: '{{foreground-2}}'; }md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-focused .md-input { border-color: '{{primary-500}}'; }md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-focused label { color: '{{primary-500}}'; }md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-focused md-icon { color: '{{primary-500}}'; }md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-focused.md-accent .md-input { border-color: '{{accent-500}}'; }md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-focused.md-accent label { color: '{{accent-500}}'; }md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-focused.md-warn .md-input { border-color: '{{warn-500}}'; }md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-focused.md-warn label { color: '{{warn-500}}'; }md-input-container.md-THEME_NAME-theme.md-input-invalid .md-input { border-color: '{{warn-500}}'; }md-input-container.md-THEME_NAME-theme.md-input-invalid.md-input-focused label { color: '{{warn-500}}'; }md-input-container.md-THEME_NAME-theme.md-input-invalid ng-message, md-input-container.md-THEME_NAME-theme.md-input-invalid data-ng-message, md-input-container.md-THEME_NAME-theme.md-input-invalid x-ng-message, md-input-container.md-THEME_NAME-theme.md-input-invalid [ng-message], md-input-container.md-THEME_NAME-theme.md-input-invalid [data-ng-message], md-input-container.md-THEME_NAME-theme.md-input-invalid [x-ng-message], md-input-container.md-THEME_NAME-theme.md-input-invalid .md-char-counter { color: '{{warn-500}}'; }md-input-container.md-THEME_NAME-theme .md-input[disabled], [disabled] md-input-container.md-THEME_NAME-theme .md-input { border-bottom-color: transparent; color: '{{foreground-3}}'; background-image: linear-gradient(to right, '{{foreground-3}}' 0%, '{{foreground-3}}' 33%, transparent 0%); background-image: -ms-linear-gradient(left, transparent 0%, '{{foreground-3}}' 100%); }md-list.md-THEME_NAME-theme md-list-item.md-2-line .md-list-item-text h3, md-list.md-THEME_NAME-theme md-list-item.md-2-line .md-list-item-text h4, md-list.md-THEME_NAME-theme md-list-item.md-3-line .md-list-item-text h3, md-list.md-THEME_NAME-theme md-list-item.md-3-line .md-list-item-text h4 { color: '{{foreground-1}}'; }md-list.md-THEME_NAME-theme md-list-item.md-2-line .md-list-item-text p, md-list.md-THEME_NAME-theme md-list-item.md-3-line .md-list-item-text p { color: '{{foreground-2}}'; }md-list.md-THEME_NAME-theme .md-proxy-focus.md-focused div.md-no-style { background-color: '{{background-100}}'; }md-list.md-THEME_NAME-theme md-list-item > md-icon { color: '{{foreground-2}}'; } md-list.md-THEME_NAME-theme md-list-item > md-icon.md-highlight { color: '{{primary-color}}'; } md-list.md-THEME_NAME-theme md-list-item > md-icon.md-highlight.md-accent { color: '{{accent-color}}'; }md-list.md-THEME_NAME-theme md-list-item button { background-color: '{{background-color}}'; } md-list.md-THEME_NAME-theme md-list-item button.md-button:not([disabled]):hover { background-color: '{{background-color}}'; }md-progress-circular.md-THEME_NAME-theme { background-color: transparent; } md-progress-circular.md-THEME_NAME-theme .md-inner .md-gap { border-top-color: '{{primary-color}}'; border-bottom-color: '{{primary-color}}'; } md-progress-circular.md-THEME_NAME-theme .md-inner .md-left .md-half-circle, md-progress-circular.md-THEME_NAME-theme .md-inner .md-right .md-half-circle { border-top-color: '{{primary-color}}'; } md-progress-circular.md-THEME_NAME-theme .md-inner .md-right .md-half-circle { border-right-color: '{{primary-color}}'; } md-progress-circular.md-THEME_NAME-theme .md-inner .md-left .md-half-circle { border-left-color: '{{primary-color}}'; } md-progress-circular.md-THEME_NAME-theme.md-warn .md-inner .md-gap { border-top-color: '{{warn-color}}'; border-bottom-color: '{{warn-color}}'; } md-progress-circular.md-THEME_NAME-theme.md-warn .md-inner .md-left .md-half-circle, md-progress-circular.md-THEME_NAME-theme.md-warn .md-inner .md-right .md-half-circle { border-top-color: '{{warn-color}}'; } md-progress-circular.md-THEME_NAME-theme.md-warn .md-inner .md-right .md-half-circle { border-right-color: '{{warn-color}}'; } md-progress-circular.md-THEME_NAME-theme.md-warn .md-inner .md-left .md-half-circle { border-left-color: '{{warn-color}}'; } md-progress-circular.md-THEME_NAME-theme.md-accent .md-inner .md-gap { border-top-color: '{{accent-color}}'; border-bottom-color: '{{accent-color}}'; } md-progress-circular.md-THEME_NAME-theme.md-accent .md-inner .md-left .md-half-circle, md-progress-circular.md-THEME_NAME-theme.md-accent .md-inner .md-right .md-half-circle { border-top-color: '{{accent-color}}'; } md-progress-circular.md-THEME_NAME-theme.md-accent .md-inner .md-right .md-half-circle { border-right-color: '{{accent-color}}'; } md-progress-circular.md-THEME_NAME-theme.md-accent .md-inner .md-left .md-half-circle { border-left-color: '{{accent-color}}'; }md-progress-linear.md-THEME_NAME-theme .md-container { background-color: '{{primary-100}}'; }md-progress-linear.md-THEME_NAME-theme .md-bar { background-color: '{{primary-color}}'; }md-progress-linear.md-THEME_NAME-theme.md-warn .md-container { background-color: '{{warn-100}}'; }md-progress-linear.md-THEME_NAME-theme.md-warn .md-bar { background-color: '{{warn-color}}'; }md-progress-linear.md-THEME_NAME-theme.md-accent .md-container { background-color: '{{accent-100}}'; }md-progress-linear.md-THEME_NAME-theme.md-accent .md-bar { background-color: '{{accent-color}}'; }md-progress-linear.md-THEME_NAME-theme[md-mode=buffer].md-warn .md-bar1 { background-color: '{{warn-100}}'; }md-progress-linear.md-THEME_NAME-theme[md-mode=buffer].md-warn .md-dashed:before { background: radial-gradient('{{warn-100}}' 0%, '{{warn-100}}' 16%, transparent 42%); }md-progress-linear.md-THEME_NAME-theme[md-mode=buffer].md-accent .md-bar1 { background-color: '{{accent-100}}'; }md-progress-linear.md-THEME_NAME-theme[md-mode=buffer].md-accent .md-dashed:before { background: radial-gradient('{{accent-100}}' 0%, '{{accent-100}}' 16%, transparent 42%); }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}}'; }md-sidenav.md-THEME_NAME-theme { background-color: '{{background-color}}'; }md-select.md-THEME_NAME-theme.ng-invalid.ng-dirty .md-select-label { color: '{{warn-500}}' !important; border-bottom-color: '{{warn-500}}' !important; }md-select.md-THEME_NAME-theme:not([disabled]):focus .md-select-label { border-bottom-color: '{{primary-color}}'; color: '{{ foreground-1 }}'; } md-select.md-THEME_NAME-theme:not([disabled]):focus .md-select-label.md-placeholder { color: '{{ foreground-1 }}'; }md-select.md-THEME_NAME-theme:not([disabled]):focus.md-accent .md-select-label { border-bottom-color: '{{accent-color}}'; }md-select.md-THEME_NAME-theme:not([disabled]):focus.md-warn .md-select-label { border-bottom-color: '{{warn-color}}'; }md-select.md-THEME_NAME-theme[disabled] .md-select-label { color: '{{foreground-3}}'; } md-select.md-THEME_NAME-theme[disabled] .md-select-label.md-placeholder { color: '{{foreground-3}}'; }md-select.md-THEME_NAME-theme .md-select-label { border-bottom-color: '{{foreground-4}}'; } md-select.md-THEME_NAME-theme .md-select-label.md-placeholder { color: '{{foreground-2}}'; }md-select-menu.md-THEME_NAME-theme md-optgroup { color: '{{foreground-2}}'; } md-select-menu.md-THEME_NAME-theme md-optgroup md-option { color: '{{foreground-1}}'; }md-select-menu.md-THEME_NAME-theme md-option[selected] { color: '{{primary-500}}'; } md-select-menu.md-THEME_NAME-theme md-option[selected]:focus { color: '{{primary-600}}'; } md-select-menu.md-THEME_NAME-theme md-option[selected].md-accent { color: '{{accent-500}}'; } md-select-menu.md-THEME_NAME-theme md-option[selected].md-accent:focus { color: '{{accent-600}}'; }md-select-menu.md-THEME_NAME-theme md-option:focus:not([selected]) { background: '{{background-200}}'; }md-slider.md-THEME_NAME-theme .md-track { background-color: '{{foreground-3}}'; }md-slider.md-THEME_NAME-theme .md-track-ticks { background-color: '{{foreground-4}}'; }md-slider.md-THEME_NAME-theme .md-focus-thumb { background-color: '{{foreground-2}}'; }md-slider.md-THEME_NAME-theme .md-focus-ring { border-color: '{{foreground-4}}'; }md-slider.md-THEME_NAME-theme .md-disabled-thumb { border-color: '{{background-color}}'; }md-slider.md-THEME_NAME-theme.md-min .md-thumb:after { background-color: '{{background-color}}'; }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-thumb-text { color: '{{accent-contrast}}'; }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-thumb-text { color: '{{warn-contrast}}'; }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-thumb-text { color: '{{primary-contrast}}'; }md-slider.md-THEME_NAME-theme[disabled] .md-thumb:after { border-color: '{{foreground-3}}'; }md-slider.md-THEME_NAME-theme[disabled]:not(.md-min) .md-thumb:after { background-color: '{{foreground-3}}'; }.md-subheader.md-THEME_NAME-theme { color: '{{ foreground-2-0.23 }}'; background-color: '{{background-color}}'; } .md-subheader.md-THEME_NAME-theme.md-primary { color: '{{primary-color}}'; } .md-subheader.md-THEME_NAME-theme.md-accent { color: '{{accent-color}}'; } .md-subheader.md-THEME_NAME-theme.md-warn { color: '{{warn-color}}'; }md-switch.md-THEME_NAME-theme .md-thumb { background-color: '{{background-50}}'; }md-switch.md-THEME_NAME-theme .md-bar { background-color: '{{background-500}}'; }md-switch.md-THEME_NAME-theme.md-checked .md-thumb { background-color: '{{accent-color}}'; }md-switch.md-THEME_NAME-theme.md-checked .md-bar { background-color: '{{accent-color-0.5}}'; }md-switch.md-THEME_NAME-theme.md-checked.md-focused .md-thumb:before { background-color: '{{accent-color-0.26}}'; }md-switch.md-THEME_NAME-theme.md-checked.md-primary .md-thumb { background-color: '{{primary-color}}'; }md-switch.md-THEME_NAME-theme.md-checked.md-primary .md-bar { background-color: '{{primary-color-0.5}}'; }md-switch.md-THEME_NAME-theme.md-checked.md-primary.md-focused .md-thumb:before { background-color: '{{primary-color-0.26}}'; }md-switch.md-THEME_NAME-theme.md-checked.md-warn .md-thumb { background-color: '{{warn-color}}'; }md-switch.md-THEME_NAME-theme.md-checked.md-warn .md-bar { background-color: '{{warn-color-0.5}}'; }md-switch.md-THEME_NAME-theme.md-checked.md-warn.md-focused .md-thumb:before { background-color: '{{warn-color-0.26}}'; }md-switch.md-THEME_NAME-theme[disabled] .md-thumb { background-color: '{{background-400}}'; }md-switch.md-THEME_NAME-theme[disabled] .md-bar { background-color: '{{foreground-4}}'; }md-tabs.md-THEME_NAME-theme md-tabs-wrapper { background-color: transparent; border-color: '{{foreground-4}}'; }md-tabs.md-THEME_NAME-theme .md-paginator md-icon { color: '{{primary-color}}'; }md-tabs.md-THEME_NAME-theme md-ink-bar { color: '{{accent-color}}'; background: '{{accent-color}}'; }md-tabs.md-THEME_NAME-theme .md-tab { color: '{{foreground-2}}'; } md-tabs.md-THEME_NAME-theme .md-tab[disabled] { color: '{{foreground-3}}'; } md-tabs.md-THEME_NAME-theme .md-tab.md-active, md-tabs.md-THEME_NAME-theme .md-tab.md-focused { color: '{{primary-color}}'; } md-tabs.md-THEME_NAME-theme .md-tab.md-focused { background: '{{primary-color-0.1}}'; } md-tabs.md-THEME_NAME-theme .md-tab .md-ripple-container { color: '{{accent-100}}'; }md-tabs.md-THEME_NAME-theme.md-accent md-tabs-wrapper { background-color: '{{accent-color}}'; }md-tabs.md-THEME_NAME-theme.md-accent md-tab-item:not([disabled]) { color: '{{accent-100}}'; } md-tabs.md-THEME_NAME-theme.md-accent md-tab-item:not([disabled]).md-active, md-tabs.md-THEME_NAME-theme.md-accent md-tab-item:not([disabled]).md-focused { color: '{{accent-contrast}}'; } md-tabs.md-THEME_NAME-theme.md-accent md-tab-item:not([disabled]).md-focused { background: '{{accent-contrast-0.1}}'; }md-tabs.md-THEME_NAME-theme.md-accent md-ink-bar { color: '{{primary-600-1}}'; background: '{{primary-600-1}}'; }md-tabs.md-THEME_NAME-theme.md-primary md-tabs-wrapper { background-color: '{{primary-color}}'; }md-tabs.md-THEME_NAME-theme.md-primary md-tab-item:not([disabled]) { color: '{{primary-100}}'; } md-tabs.md-THEME_NAME-theme.md-primary md-tab-item:not([disabled]).md-active, md-tabs.md-THEME_NAME-theme.md-primary md-tab-item:not([disabled]).md-focused { color: '{{primary-contrast}}'; } md-tabs.md-THEME_NAME-theme.md-primary md-tab-item:not([disabled]).md-focused { background: '{{primary-contrast-0.1}}'; }md-tabs.md-THEME_NAME-theme.md-warn md-tabs-wrapper { background-color: '{{warn-color}}'; }md-tabs.md-THEME_NAME-theme.md-warn md-tab-item:not([disabled]) { color: '{{warn-100}}'; } md-tabs.md-THEME_NAME-theme.md-warn md-tab-item:not([disabled]).md-active, md-tabs.md-THEME_NAME-theme.md-warn md-tab-item:not([disabled]).md-focused { color: '{{warn-contrast}}'; } md-tabs.md-THEME_NAME-theme.md-warn md-tab-item:not([disabled]).md-focused { background: '{{warn-contrast-0.1}}'; }md-toolbar > md-tabs.md-THEME_NAME-theme md-tabs-wrapper { background-color: '{{primary-color}}'; }md-toolbar > md-tabs.md-THEME_NAME-theme md-tab-item:not([disabled]) { color: '{{primary-100}}'; } md-toolbar > md-tabs.md-THEME_NAME-theme md-tab-item:not([disabled]).md-active, md-toolbar > md-tabs.md-THEME_NAME-theme md-tab-item:not([disabled]).md-focused { color: '{{primary-contrast}}'; } md-toolbar > md-tabs.md-THEME_NAME-theme md-tab-item:not([disabled]).md-focused { background: '{{primary-contrast-0.1}}'; }md-toolbar.md-accent > md-tabs.md-THEME_NAME-theme md-tabs-wrapper { background-color: '{{accent-color}}'; }md-toolbar.md-accent > md-tabs.md-THEME_NAME-theme md-tab-item:not([disabled]) { color: '{{accent-100}}'; } md-toolbar.md-accent > md-tabs.md-THEME_NAME-theme md-tab-item:not([disabled]).md-active, md-toolbar.md-accent > md-tabs.md-THEME_NAME-theme md-tab-item:not([disabled]).md-focused { color: '{{accent-contrast}}'; } md-toolbar.md-accent > md-tabs.md-THEME_NAME-theme md-tab-item:not([disabled]).md-focused { background: '{{accent-contrast-0.1}}'; }md-toolbar.md-accent > md-tabs.md-THEME_NAME-theme md-ink-bar { color: '{{primary-600-1}}'; background: '{{primary-600-1}}'; }md-toolbar.md-warn > md-tabs.md-THEME_NAME-theme md-tabs-wrapper { background-color: '{{warn-color}}'; }md-toolbar.md-warn > md-tabs.md-THEME_NAME-theme md-tab-item:not([disabled]) { color: '{{warn-100}}'; } md-toolbar.md-warn > md-tabs.md-THEME_NAME-theme md-tab-item:not([disabled]).md-active, md-toolbar.md-warn > md-tabs.md-THEME_NAME-theme md-tab-item:not([disabled]).md-focused { color: '{{warn-contrast}}'; } md-toolbar.md-warn > md-tabs.md-THEME_NAME-theme md-tab-item:not([disabled]).md-focused { background: '{{warn-contrast-0.1}}'; }md-toast.md-THEME_NAME-theme { background-color: #323232; color: '{{background-50}}'; } md-toast.md-THEME_NAME-theme .md-button { color: '{{background-50}}'; } md-toast.md-THEME_NAME-theme .md-button.md-highlight { color: '{{primary-A200}}'; } md-toast.md-THEME_NAME-theme .md-button.md-highlight.md-accent { color: '{{accent-A200}}'; } md-toast.md-THEME_NAME-theme .md-button.md-highlight.md-warn { color: '{{warn-A200}}'; }md-toolbar.md-THEME_NAME-theme { background-color: '{{primary-color}}'; color: '{{primary-contrast}}'; } md-toolbar.md-THEME_NAME-theme md-icon { color: '{{primary-contrast}}'; } md-toolbar.md-THEME_NAME-theme .md-button { color: '{{primary-contrast}}'; } md-toolbar.md-THEME_NAME-theme.md-accent { background-color: '{{accent-color}}'; color: '{{accent-contrast}}'; } md-toolbar.md-THEME_NAME-theme.md-warn { background-color: '{{warn-color}}'; color: '{{warn-contrast}}'; }md-tooltip.md-THEME_NAME-theme { color: '{{background-A100}}'; } md-tooltip.md-THEME_NAME-theme .md-background { background-color: '{{foreground-2}}'; }"); - -}()}(window,window.angular); \ No newline at end of file diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/core/default-theme.js b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/core/default-theme.js deleted file mode 100644 index 9ccfb69e..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/core/default-theme.js +++ /dev/null @@ -1,4 +0,0 @@ -(function(){ -angular.module("material.core").constant("$MD_THEME_CSS", "/* mixin definition ; sets LTR and RTL within the same style call */md-autocomplete.md-THEME_NAME-theme { background: '{{background-50}}'; } md-autocomplete.md-THEME_NAME-theme button md-icon path { fill: '{{background-600}}'; } md-autocomplete.md-THEME_NAME-theme button:after { background: '{{background-600-0.3}}'; }.md-autocomplete-suggestions.md-THEME_NAME-theme { background: '{{background-50}}'; } .md-autocomplete-suggestions.md-THEME_NAME-theme li { color: '{{background-900}}'; } .md-autocomplete-suggestions.md-THEME_NAME-theme li .highlight { color: '{{background-600}}'; } .md-autocomplete-suggestions.md-THEME_NAME-theme li:hover, .md-autocomplete-suggestions.md-THEME_NAME-theme li.selected { background: '{{background-200}}'; }md-backdrop.md-opaque.md-THEME_NAME-theme { background-color: '{{foreground-4-0.5}}'; }md-bottom-sheet.md-THEME_NAME-theme { background-color: '{{background-50}}'; border-top-color: '{{background-300}}'; } md-bottom-sheet.md-THEME_NAME-theme.md-list md-list-item { color: '{{foreground-1}}'; } md-bottom-sheet.md-THEME_NAME-theme .md-subheader { background-color: '{{background-50}}'; } md-bottom-sheet.md-THEME_NAME-theme .md-subheader { color: '{{foreground-1}}'; }a.md-button.md-THEME_NAME-theme, .md-button.md-THEME_NAME-theme { border-radius: 3px; } a.md-button.md-THEME_NAME-theme:not([disabled]):hover, .md-button.md-THEME_NAME-theme:not([disabled]):hover { background-color: '{{background-500-0.2}}'; } a.md-button.md-THEME_NAME-theme:not([disabled]).md-focused, .md-button.md-THEME_NAME-theme:not([disabled]).md-focused { background-color: '{{background-500-0.2}}'; } a.md-button.md-THEME_NAME-theme:not([disabled]).md-icon-button:hover, .md-button.md-THEME_NAME-theme:not([disabled]).md-icon-button:hover { background-color: transparent; } a.md-button.md-THEME_NAME-theme.md-fab, .md-button.md-THEME_NAME-theme.md-fab { border-radius: 50%; background-color: '{{accent-color}}'; color: '{{accent-contrast}}'; } a.md-button.md-THEME_NAME-theme.md-fab md-icon, .md-button.md-THEME_NAME-theme.md-fab md-icon { color: '{{accent-contrast}}'; } a.md-button.md-THEME_NAME-theme.md-fab:not([disabled]):hover, .md-button.md-THEME_NAME-theme.md-fab:not([disabled]):hover { background-color: '{{accent-color}}'; } a.md-button.md-THEME_NAME-theme.md-fab:not([disabled]).md-focused, .md-button.md-THEME_NAME-theme.md-fab:not([disabled]).md-focused { background-color: '{{accent-A700}}'; } a.md-button.md-THEME_NAME-theme.md-icon-button, .md-button.md-THEME_NAME-theme.md-icon-button { border-radius: 50%; } a.md-button.md-THEME_NAME-theme.md-primary, .md-button.md-THEME_NAME-theme.md-primary { color: '{{primary-color}}'; } a.md-button.md-THEME_NAME-theme.md-primary.md-raised, a.md-button.md-THEME_NAME-theme.md-primary.md-fab, .md-button.md-THEME_NAME-theme.md-primary.md-raised, .md-button.md-THEME_NAME-theme.md-primary.md-fab { color: '{{primary-contrast}}'; background-color: '{{primary-color}}'; } a.md-button.md-THEME_NAME-theme.md-primary.md-raised:not([disabled]) md-icon, a.md-button.md-THEME_NAME-theme.md-primary.md-fab:not([disabled]) md-icon, .md-button.md-THEME_NAME-theme.md-primary.md-raised:not([disabled]) md-icon, .md-button.md-THEME_NAME-theme.md-primary.md-fab:not([disabled]) md-icon { color: '{{primary-contrast}}'; } a.md-button.md-THEME_NAME-theme.md-primary.md-raised:not([disabled]):hover, a.md-button.md-THEME_NAME-theme.md-primary.md-fab:not([disabled]):hover, .md-button.md-THEME_NAME-theme.md-primary.md-raised:not([disabled]):hover, .md-button.md-THEME_NAME-theme.md-primary.md-fab:not([disabled]):hover { background-color: '{{primary-color}}'; } a.md-button.md-THEME_NAME-theme.md-primary.md-raised:not([disabled]).md-focused, a.md-button.md-THEME_NAME-theme.md-primary.md-fab:not([disabled]).md-focused, .md-button.md-THEME_NAME-theme.md-primary.md-raised:not([disabled]).md-focused, .md-button.md-THEME_NAME-theme.md-primary.md-fab:not([disabled]).md-focused { background-color: '{{primary-600}}'; } a.md-button.md-THEME_NAME-theme.md-primary:not([disabled]) md-icon, .md-button.md-THEME_NAME-theme.md-primary:not([disabled]) md-icon { color: '{{primary-color}}'; } a.md-button.md-THEME_NAME-theme.md-fab, .md-button.md-THEME_NAME-theme.md-fab { border-radius: 50%; background-color: '{{accent-color}}'; color: '{{accent-contrast}}'; } a.md-button.md-THEME_NAME-theme.md-fab:not([disabled]) .md-icon, .md-button.md-THEME_NAME-theme.md-fab:not([disabled]) .md-icon { color: '{{accent-contrast}}'; } a.md-button.md-THEME_NAME-theme.md-fab:not([disabled]):hover, .md-button.md-THEME_NAME-theme.md-fab:not([disabled]):hover { background-color: '{{accent-color}}'; } a.md-button.md-THEME_NAME-theme.md-fab:not([disabled]).md-focused, .md-button.md-THEME_NAME-theme.md-fab:not([disabled]).md-focused { background-color: '{{accent-A700}}'; } a.md-button.md-THEME_NAME-theme.md-raised, .md-button.md-THEME_NAME-theme.md-raised { color: '{{background-contrast}}'; background-color: '{{background-50}}'; } a.md-button.md-THEME_NAME-theme.md-raised:not([disabled]) .md-icon, .md-button.md-THEME_NAME-theme.md-raised:not([disabled]) .md-icon { color: '{{background-contrast}}'; } a.md-button.md-THEME_NAME-theme.md-raised:not([disabled]):hover, .md-button.md-THEME_NAME-theme.md-raised:not([disabled]):hover { background-color: '{{background-50}}'; } a.md-button.md-THEME_NAME-theme.md-raised:not([disabled]).md-focused, .md-button.md-THEME_NAME-theme.md-raised:not([disabled]).md-focused { background-color: '{{background-200}}'; } a.md-button.md-THEME_NAME-theme.md-warn, .md-button.md-THEME_NAME-theme.md-warn { color: '{{warn-color}}'; } a.md-button.md-THEME_NAME-theme.md-warn.md-raised, a.md-button.md-THEME_NAME-theme.md-warn.md-fab, .md-button.md-THEME_NAME-theme.md-warn.md-raised, .md-button.md-THEME_NAME-theme.md-warn.md-fab { color: '{{warn-contrast}}'; background-color: '{{warn-color}}'; } a.md-button.md-THEME_NAME-theme.md-warn.md-raised:not([disabled]) md-icon, a.md-button.md-THEME_NAME-theme.md-warn.md-fab:not([disabled]) md-icon, .md-button.md-THEME_NAME-theme.md-warn.md-raised:not([disabled]) md-icon, .md-button.md-THEME_NAME-theme.md-warn.md-fab:not([disabled]) md-icon { color: '{{warn-contrast}}'; } a.md-button.md-THEME_NAME-theme.md-warn.md-raised:not([disabled]):hover, a.md-button.md-THEME_NAME-theme.md-warn.md-fab:not([disabled]):hover, .md-button.md-THEME_NAME-theme.md-warn.md-raised:not([disabled]):hover, .md-button.md-THEME_NAME-theme.md-warn.md-fab:not([disabled]):hover { background-color: '{{warn-color}}'; } a.md-button.md-THEME_NAME-theme.md-warn.md-raised:not([disabled]).md-focused, a.md-button.md-THEME_NAME-theme.md-warn.md-fab:not([disabled]).md-focused, .md-button.md-THEME_NAME-theme.md-warn.md-raised:not([disabled]).md-focused, .md-button.md-THEME_NAME-theme.md-warn.md-fab:not([disabled]).md-focused { background-color: '{{warn-700}}'; } a.md-button.md-THEME_NAME-theme.md-warn:not([disabled]) md-icon, .md-button.md-THEME_NAME-theme.md-warn:not([disabled]) md-icon { color: '{{warn-color}}'; } a.md-button.md-THEME_NAME-theme.md-accent, .md-button.md-THEME_NAME-theme.md-accent { color: '{{accent-color}}'; } a.md-button.md-THEME_NAME-theme.md-accent.md-raised, a.md-button.md-THEME_NAME-theme.md-accent.md-fab, .md-button.md-THEME_NAME-theme.md-accent.md-raised, .md-button.md-THEME_NAME-theme.md-accent.md-fab { color: '{{accent-contrast}}'; background-color: '{{accent-color}}'; } a.md-button.md-THEME_NAME-theme.md-accent.md-raised:not([disabled]) md-icon, a.md-button.md-THEME_NAME-theme.md-accent.md-fab:not([disabled]) md-icon, .md-button.md-THEME_NAME-theme.md-accent.md-raised:not([disabled]) md-icon, .md-button.md-THEME_NAME-theme.md-accent.md-fab:not([disabled]) md-icon { color: '{{accent-contrast}}'; } a.md-button.md-THEME_NAME-theme.md-accent.md-raised:not([disabled]):hover, a.md-button.md-THEME_NAME-theme.md-accent.md-fab:not([disabled]):hover, .md-button.md-THEME_NAME-theme.md-accent.md-raised:not([disabled]):hover, .md-button.md-THEME_NAME-theme.md-accent.md-fab:not([disabled]):hover { background-color: '{{accent-color}}'; } a.md-button.md-THEME_NAME-theme.md-accent.md-raised:not([disabled]).md-focused, a.md-button.md-THEME_NAME-theme.md-accent.md-fab:not([disabled]).md-focused, .md-button.md-THEME_NAME-theme.md-accent.md-raised:not([disabled]).md-focused, .md-button.md-THEME_NAME-theme.md-accent.md-fab:not([disabled]).md-focused { background-color: '{{accent-700}}'; } a.md-button.md-THEME_NAME-theme.md-accent:not([disabled]) md-icon, .md-button.md-THEME_NAME-theme.md-accent:not([disabled]) md-icon { color: '{{accent-color}}'; } a.md-button.md-THEME_NAME-theme[disabled], a.md-button.md-THEME_NAME-theme.md-raised[disabled], a.md-button.md-THEME_NAME-theme.md-fab[disabled], a.md-button.md-THEME_NAME-theme.md-accent[disabled], a.md-button.md-THEME_NAME-theme.md-warn[disabled], .md-button.md-THEME_NAME-theme[disabled], .md-button.md-THEME_NAME-theme.md-raised[disabled], .md-button.md-THEME_NAME-theme.md-fab[disabled], .md-button.md-THEME_NAME-theme.md-accent[disabled], .md-button.md-THEME_NAME-theme.md-warn[disabled] { color: '{{foreground-3}}'; cursor: not-allowed; } a.md-button.md-THEME_NAME-theme[disabled] md-icon, a.md-button.md-THEME_NAME-theme.md-raised[disabled] md-icon, a.md-button.md-THEME_NAME-theme.md-fab[disabled] md-icon, a.md-button.md-THEME_NAME-theme.md-accent[disabled] md-icon, a.md-button.md-THEME_NAME-theme.md-warn[disabled] md-icon, .md-button.md-THEME_NAME-theme[disabled] md-icon, .md-button.md-THEME_NAME-theme.md-raised[disabled] md-icon, .md-button.md-THEME_NAME-theme.md-fab[disabled] md-icon, .md-button.md-THEME_NAME-theme.md-accent[disabled] md-icon, .md-button.md-THEME_NAME-theme.md-warn[disabled] md-icon { color: '{{foreground-3}}'; } a.md-button.md-THEME_NAME-theme.md-raised[disabled], a.md-button.md-THEME_NAME-theme.md-fab[disabled], .md-button.md-THEME_NAME-theme.md-raised[disabled], .md-button.md-THEME_NAME-theme.md-fab[disabled] { background-color: '{{foreground-4}}'; } a.md-button.md-THEME_NAME-theme[disabled], .md-button.md-THEME_NAME-theme[disabled] { background-color: transparent; }md-card.md-THEME_NAME-theme { background-color: '{{background-color}}'; border-radius: 2px; } md-card.md-THEME_NAME-theme .md-card-image { border-radius: 2px 2px 0 0; }md-checkbox.md-THEME_NAME-theme .md-ripple { color: '{{accent-600}}'; }md-checkbox.md-THEME_NAME-theme.md-checked .md-ripple { color: '{{background-600}}'; }md-checkbox.md-THEME_NAME-theme.md-checked.md-focused .md-container:before { background-color: '{{accent-color-0.26}}'; }md-checkbox.md-THEME_NAME-theme .md-icon { border-color: '{{foreground-2}}'; }md-checkbox.md-THEME_NAME-theme.md-checked .md-icon { background-color: '{{accent-color-0.87}}'; }md-checkbox.md-THEME_NAME-theme.md-checked .md-icon:after { border-color: '{{background-200}}'; }md-checkbox.md-THEME_NAME-theme:not([disabled]).md-primary .md-ripple { color: '{{primary-600}}'; }md-checkbox.md-THEME_NAME-theme:not([disabled]).md-primary.md-checked .md-ripple { color: '{{background-600}}'; }md-checkbox.md-THEME_NAME-theme:not([disabled]).md-primary .md-icon { border-color: '{{foreground-2}}'; }md-checkbox.md-THEME_NAME-theme:not([disabled]).md-primary.md-checked .md-icon { background-color: '{{primary-color-0.87}}'; }md-checkbox.md-THEME_NAME-theme:not([disabled]).md-primary.md-checked.md-focused .md-container:before { background-color: '{{primary-color-0.26}}'; }md-checkbox.md-THEME_NAME-theme:not([disabled]).md-primary.md-checked .md-icon:after { border-color: '{{background-200}}'; }md-checkbox.md-THEME_NAME-theme:not([disabled]).md-warn .md-ripple { color: '{{warn-600}}'; }md-checkbox.md-THEME_NAME-theme:not([disabled]).md-warn .md-icon { border-color: '{{foreground-2}}'; }md-checkbox.md-THEME_NAME-theme:not([disabled]).md-warn.md-checked .md-icon { background-color: '{{warn-color-0.87}}'; }md-checkbox.md-THEME_NAME-theme:not([disabled]).md-warn.md-checked.md-focused:not([disabled]) .md-container:before { background-color: '{{warn-color-0.26}}'; }md-checkbox.md-THEME_NAME-theme:not([disabled]).md-warn.md-checked .md-icon:after { border-color: '{{background-200}}'; }md-checkbox.md-THEME_NAME-theme[disabled] .md-icon { border-color: '{{foreground-3}}'; }md-checkbox.md-THEME_NAME-theme[disabled].md-checked .md-icon { background-color: '{{foreground-3}}'; }md-checkbox.md-THEME_NAME-theme[disabled] .md-label { color: '{{foreground-3}}'; }md-chips.md-THEME_NAME-theme .md-chips { box-shadow: 0 1px '{{background-300}}'; } md-chips.md-THEME_NAME-theme .md-chips.md-focused { box-shadow: 0 2px '{{primary-color}}'; }md-chips.md-THEME_NAME-theme .md-chip { background: '{{background-300}}'; color: '{{background-800}}'; } md-chips.md-THEME_NAME-theme .md-chip.md-focused { background: '{{primary-color}}'; color: '{{primary-contrast}}'; } md-chips.md-THEME_NAME-theme .md-chip.md-focused md-icon { color: '{{primary-contrast}}'; }md-chips.md-THEME_NAME-theme md-chip-remove .md-button md-icon path { fill: '{{background-500}}'; }.md-contact-suggestion span.md-contact-email { color: '{{background-400}}'; }md-content.md-THEME_NAME-theme { background-color: '{{background-color}}'; }md-dialog.md-THEME_NAME-theme { border-radius: 4px; background-color: '{{background-color}}'; } md-dialog.md-THEME_NAME-theme.md-content-overflow .md-actions { border-top-color: '{{foreground-4}}'; }md-divider.md-THEME_NAME-theme { border-top-color: '{{foreground-4}}'; }md-icon.md-THEME_NAME-theme { color: '{{foreground-2}}'; } md-icon.md-THEME_NAME-theme.md-primary { color: '{{primary-color}}'; } md-icon.md-THEME_NAME-theme.md-accent { color: '{{accent-color}}'; } md-icon.md-THEME_NAME-theme.md-warn { color: '{{warn-color}}'; }md-input-container.md-THEME_NAME-theme .md-input { color: '{{foreground-1}}'; border-color: '{{foreground-4}}'; text-shadow: '{{foreground-shadow}}'; } md-input-container.md-THEME_NAME-theme .md-input::-webkit-input-placeholder, md-input-container.md-THEME_NAME-theme .md-input::-moz-placeholder, md-input-container.md-THEME_NAME-theme .md-input:-moz-placeholder, md-input-container.md-THEME_NAME-theme .md-input:-ms-input-placeholder { color: '{{foreground-3}}'; }md-input-container.md-THEME_NAME-theme > md-icon { color: '{{foreground-1}}'; }md-input-container.md-THEME_NAME-theme label, md-input-container.md-THEME_NAME-theme .md-placeholder { text-shadow: '{{foreground-shadow}}'; color: '{{foreground-3}}'; }md-input-container.md-THEME_NAME-theme ng-messages, md-input-container.md-THEME_NAME-theme [ng-message], md-input-container.md-THEME_NAME-theme [data-ng-message], md-input-container.md-THEME_NAME-theme [x-ng-message] { color: '{{warn-500}}'; }md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-has-value label { color: '{{foreground-2}}'; }md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-focused .md-input { border-color: '{{primary-500}}'; }md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-focused label { color: '{{primary-500}}'; }md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-focused md-icon { color: '{{primary-500}}'; }md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-focused.md-accent .md-input { border-color: '{{accent-500}}'; }md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-focused.md-accent label { color: '{{accent-500}}'; }md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-focused.md-warn .md-input { border-color: '{{warn-500}}'; }md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-focused.md-warn label { color: '{{warn-500}}'; }md-input-container.md-THEME_NAME-theme.md-input-invalid .md-input { border-color: '{{warn-500}}'; }md-input-container.md-THEME_NAME-theme.md-input-invalid.md-input-focused label { color: '{{warn-500}}'; }md-input-container.md-THEME_NAME-theme.md-input-invalid ng-message, md-input-container.md-THEME_NAME-theme.md-input-invalid data-ng-message, md-input-container.md-THEME_NAME-theme.md-input-invalid x-ng-message, md-input-container.md-THEME_NAME-theme.md-input-invalid [ng-message], md-input-container.md-THEME_NAME-theme.md-input-invalid [data-ng-message], md-input-container.md-THEME_NAME-theme.md-input-invalid [x-ng-message], md-input-container.md-THEME_NAME-theme.md-input-invalid .md-char-counter { color: '{{warn-500}}'; }md-input-container.md-THEME_NAME-theme .md-input[disabled], [disabled] md-input-container.md-THEME_NAME-theme .md-input { border-bottom-color: transparent; color: '{{foreground-3}}'; background-image: linear-gradient(to right, '{{foreground-4}}' 0%, '{{foreground-4}}' 33%, transparent 0%); background-image: -ms-linear-gradient(left, transparent 0%, '{{foreground-4}}' 100%); }md-list.md-THEME_NAME-theme md-list-item.md-2-line .md-list-item-text h3, md-list.md-THEME_NAME-theme md-list-item.md-2-line .md-list-item-text h4, md-list.md-THEME_NAME-theme md-list-item.md-3-line .md-list-item-text h3, md-list.md-THEME_NAME-theme md-list-item.md-3-line .md-list-item-text h4 { color: '{{foreground-1}}'; }md-list.md-THEME_NAME-theme md-list-item.md-2-line .md-list-item-text p, md-list.md-THEME_NAME-theme md-list-item.md-3-line .md-list-item-text p { color: '{{foreground-2}}'; }md-list.md-THEME_NAME-theme .md-proxy-focus.md-focused div.md-no-style { background-color: '{{background-100}}'; }md-list.md-THEME_NAME-theme md-list-item > md-icon { color: '{{foreground-2}}'; } md-list.md-THEME_NAME-theme md-list-item > md-icon.md-highlight { color: '{{primary-color}}'; } md-list.md-THEME_NAME-theme md-list-item > md-icon.md-highlight.md-accent { color: '{{accent-color}}'; }md-list.md-THEME_NAME-theme md-list-item button { background-color: '{{background-color}}'; } md-list.md-THEME_NAME-theme md-list-item button.md-button:not([disabled]):hover { background-color: '{{background-color}}'; }md-progress-circular.md-THEME_NAME-theme { background-color: transparent; } md-progress-circular.md-THEME_NAME-theme .md-inner .md-gap { border-top-color: '{{primary-color}}'; border-bottom-color: '{{primary-color}}'; } md-progress-circular.md-THEME_NAME-theme .md-inner .md-left .md-half-circle, md-progress-circular.md-THEME_NAME-theme .md-inner .md-right .md-half-circle { border-top-color: '{{primary-color}}'; } md-progress-circular.md-THEME_NAME-theme .md-inner .md-right .md-half-circle { border-right-color: '{{primary-color}}'; } md-progress-circular.md-THEME_NAME-theme .md-inner .md-left .md-half-circle { border-left-color: '{{primary-color}}'; } md-progress-circular.md-THEME_NAME-theme.md-warn .md-inner .md-gap { border-top-color: '{{warn-color}}'; border-bottom-color: '{{warn-color}}'; } md-progress-circular.md-THEME_NAME-theme.md-warn .md-inner .md-left .md-half-circle, md-progress-circular.md-THEME_NAME-theme.md-warn .md-inner .md-right .md-half-circle { border-top-color: '{{warn-color}}'; } md-progress-circular.md-THEME_NAME-theme.md-warn .md-inner .md-right .md-half-circle { border-right-color: '{{warn-color}}'; } md-progress-circular.md-THEME_NAME-theme.md-warn .md-inner .md-left .md-half-circle { border-left-color: '{{warn-color}}'; } md-progress-circular.md-THEME_NAME-theme.md-accent .md-inner .md-gap { border-top-color: '{{accent-color}}'; border-bottom-color: '{{accent-color}}'; } md-progress-circular.md-THEME_NAME-theme.md-accent .md-inner .md-left .md-half-circle, md-progress-circular.md-THEME_NAME-theme.md-accent .md-inner .md-right .md-half-circle { border-top-color: '{{accent-color}}'; } md-progress-circular.md-THEME_NAME-theme.md-accent .md-inner .md-right .md-half-circle { border-right-color: '{{accent-color}}'; } md-progress-circular.md-THEME_NAME-theme.md-accent .md-inner .md-left .md-half-circle { border-left-color: '{{accent-color}}'; }md-progress-linear.md-THEME_NAME-theme .md-container { background-color: '{{primary-100}}'; }md-progress-linear.md-THEME_NAME-theme .md-bar { background-color: '{{primary-color}}'; }md-progress-linear.md-THEME_NAME-theme.md-warn .md-container { background-color: '{{warn-100}}'; }md-progress-linear.md-THEME_NAME-theme.md-warn .md-bar { background-color: '{{warn-color}}'; }md-progress-linear.md-THEME_NAME-theme.md-accent .md-container { background-color: '{{accent-100}}'; }md-progress-linear.md-THEME_NAME-theme.md-accent .md-bar { background-color: '{{accent-color}}'; }md-progress-linear.md-THEME_NAME-theme[md-mode=buffer].md-warn .md-bar1 { background-color: '{{warn-100}}'; }md-progress-linear.md-THEME_NAME-theme[md-mode=buffer].md-warn .md-dashed:before { background: radial-gradient('{{warn-100}}' 0%, '{{warn-100}}' 16%, transparent 42%); }md-progress-linear.md-THEME_NAME-theme[md-mode=buffer].md-accent .md-bar1 { background-color: '{{accent-100}}'; }md-progress-linear.md-THEME_NAME-theme[md-mode=buffer].md-accent .md-dashed:before { background: radial-gradient('{{accent-100}}' 0%, '{{accent-100}}' 16%, transparent 42%); }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}}'; }md-select.md-THEME_NAME-theme.ng-invalid.ng-dirty .md-select-label { color: '{{warn-500}}' !important; border-bottom-color: '{{warn-500}}' !important; }md-select.md-THEME_NAME-theme:not([disabled]):focus .md-select-label { border-bottom-color: '{{primary-color}}'; color: '{{ foreground-1 }}'; } md-select.md-THEME_NAME-theme:not([disabled]):focus .md-select-label.md-placeholder { color: '{{ foreground-1 }}'; }md-select.md-THEME_NAME-theme:not([disabled]):focus.md-accent .md-select-label { border-bottom-color: '{{accent-color}}'; }md-select.md-THEME_NAME-theme:not([disabled]):focus.md-warn .md-select-label { border-bottom-color: '{{warn-color}}'; }md-select.md-THEME_NAME-theme[disabled] .md-select-label { color: '{{foreground-3}}'; } md-select.md-THEME_NAME-theme[disabled] .md-select-label.md-placeholder { color: '{{foreground-3}}'; }md-select.md-THEME_NAME-theme .md-select-label { border-bottom-color: '{{foreground-4}}'; } md-select.md-THEME_NAME-theme .md-select-label.md-placeholder { color: '{{foreground-2}}'; }md-select-menu.md-THEME_NAME-theme md-optgroup { color: '{{foreground-2}}'; } md-select-menu.md-THEME_NAME-theme md-optgroup md-option { color: '{{foreground-1}}'; }md-select-menu.md-THEME_NAME-theme md-option[selected] { color: '{{primary-500}}'; } md-select-menu.md-THEME_NAME-theme md-option[selected]:focus { color: '{{primary-600}}'; } md-select-menu.md-THEME_NAME-theme md-option[selected].md-accent { color: '{{accent-500}}'; } md-select-menu.md-THEME_NAME-theme md-option[selected].md-accent:focus { color: '{{accent-600}}'; }md-select-menu.md-THEME_NAME-theme md-option:focus:not([selected]) { background: '{{background-200}}'; }md-sidenav.md-THEME_NAME-theme { background-color: '{{background-color}}'; }md-slider.md-THEME_NAME-theme .md-track { background-color: '{{foreground-3}}'; }md-slider.md-THEME_NAME-theme .md-track-ticks { background-color: '{{foreground-4}}'; }md-slider.md-THEME_NAME-theme .md-focus-thumb { background-color: '{{foreground-2}}'; }md-slider.md-THEME_NAME-theme .md-focus-ring { border-color: '{{foreground-4}}'; }md-slider.md-THEME_NAME-theme .md-disabled-thumb { border-color: '{{background-color}}'; }md-slider.md-THEME_NAME-theme.md-min .md-thumb:after { background-color: '{{background-color}}'; }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-thumb-text { color: '{{accent-contrast}}'; }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-thumb-text { color: '{{warn-contrast}}'; }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-thumb-text { color: '{{primary-contrast}}'; }md-slider.md-THEME_NAME-theme[disabled] .md-thumb:after { border-color: '{{foreground-3}}'; }md-slider.md-THEME_NAME-theme[disabled]:not(.md-min) .md-thumb:after { background-color: '{{foreground-3}}'; }.md-subheader.md-THEME_NAME-theme { color: '{{ foreground-2-0.23 }}'; background-color: '{{background-color}}'; } .md-subheader.md-THEME_NAME-theme.md-primary { color: '{{primary-color}}'; } .md-subheader.md-THEME_NAME-theme.md-accent { color: '{{accent-color}}'; } .md-subheader.md-THEME_NAME-theme.md-warn { color: '{{warn-color}}'; }md-switch.md-THEME_NAME-theme .md-thumb { background-color: '{{background-50}}'; }md-switch.md-THEME_NAME-theme .md-bar { background-color: '{{background-500}}'; }md-switch.md-THEME_NAME-theme.md-checked .md-thumb { background-color: '{{accent-color}}'; }md-switch.md-THEME_NAME-theme.md-checked .md-bar { background-color: '{{accent-color-0.5}}'; }md-switch.md-THEME_NAME-theme.md-checked.md-focused .md-thumb:before { background-color: '{{accent-color-0.26}}'; }md-switch.md-THEME_NAME-theme.md-checked.md-primary .md-thumb { background-color: '{{primary-color}}'; }md-switch.md-THEME_NAME-theme.md-checked.md-primary .md-bar { background-color: '{{primary-color-0.5}}'; }md-switch.md-THEME_NAME-theme.md-checked.md-primary.md-focused .md-thumb:before { background-color: '{{primary-color-0.26}}'; }md-switch.md-THEME_NAME-theme.md-checked.md-warn .md-thumb { background-color: '{{warn-color}}'; }md-switch.md-THEME_NAME-theme.md-checked.md-warn .md-bar { background-color: '{{warn-color-0.5}}'; }md-switch.md-THEME_NAME-theme.md-checked.md-warn.md-focused .md-thumb:before { background-color: '{{warn-color-0.26}}'; }md-switch.md-THEME_NAME-theme[disabled] .md-thumb { background-color: '{{background-400}}'; }md-switch.md-THEME_NAME-theme[disabled] .md-bar { background-color: '{{foreground-4}}'; }md-tabs.md-THEME_NAME-theme md-tabs-wrapper { background-color: transparent; border-color: '{{foreground-4}}'; }md-tabs.md-THEME_NAME-theme .md-paginator md-icon { color: '{{primary-color}}'; }md-tabs.md-THEME_NAME-theme md-ink-bar { color: '{{accent-color}}'; background: '{{accent-color}}'; }md-tabs.md-THEME_NAME-theme .md-tab { color: '{{foreground-2}}'; } md-tabs.md-THEME_NAME-theme .md-tab[disabled] { color: '{{foreground-3}}'; } md-tabs.md-THEME_NAME-theme .md-tab.md-active, md-tabs.md-THEME_NAME-theme .md-tab.md-focused { color: '{{primary-color}}'; } md-tabs.md-THEME_NAME-theme .md-tab.md-focused { background: '{{primary-color-0.1}}'; } md-tabs.md-THEME_NAME-theme .md-tab .md-ripple-container { color: '{{accent-100}}'; }md-tabs.md-THEME_NAME-theme.md-accent md-tabs-wrapper { background-color: '{{accent-color}}'; }md-tabs.md-THEME_NAME-theme.md-accent md-tab-item:not([disabled]) { color: '{{accent-100}}'; } md-tabs.md-THEME_NAME-theme.md-accent md-tab-item:not([disabled]).md-active, md-tabs.md-THEME_NAME-theme.md-accent md-tab-item:not([disabled]).md-focused { color: '{{accent-contrast}}'; } md-tabs.md-THEME_NAME-theme.md-accent md-tab-item:not([disabled]).md-focused { background: '{{accent-contrast-0.1}}'; }md-tabs.md-THEME_NAME-theme.md-accent md-ink-bar { color: '{{primary-600-1}}'; background: '{{primary-600-1}}'; }md-tabs.md-THEME_NAME-theme.md-primary md-tabs-wrapper { background-color: '{{primary-color}}'; }md-tabs.md-THEME_NAME-theme.md-primary md-tab-item:not([disabled]) { color: '{{primary-100}}'; } md-tabs.md-THEME_NAME-theme.md-primary md-tab-item:not([disabled]).md-active, md-tabs.md-THEME_NAME-theme.md-primary md-tab-item:not([disabled]).md-focused { color: '{{primary-contrast}}'; } md-tabs.md-THEME_NAME-theme.md-primary md-tab-item:not([disabled]).md-focused { background: '{{primary-contrast-0.1}}'; }md-tabs.md-THEME_NAME-theme.md-warn md-tabs-wrapper { background-color: '{{warn-color}}'; }md-tabs.md-THEME_NAME-theme.md-warn md-tab-item:not([disabled]) { color: '{{warn-100}}'; } md-tabs.md-THEME_NAME-theme.md-warn md-tab-item:not([disabled]).md-active, md-tabs.md-THEME_NAME-theme.md-warn md-tab-item:not([disabled]).md-focused { color: '{{warn-contrast}}'; } md-tabs.md-THEME_NAME-theme.md-warn md-tab-item:not([disabled]).md-focused { background: '{{warn-contrast-0.1}}'; }md-toolbar > md-tabs.md-THEME_NAME-theme md-tabs-wrapper { background-color: '{{primary-color}}'; }md-toolbar > md-tabs.md-THEME_NAME-theme md-tab-item:not([disabled]) { color: '{{primary-100}}'; } md-toolbar > md-tabs.md-THEME_NAME-theme md-tab-item:not([disabled]).md-active, md-toolbar > md-tabs.md-THEME_NAME-theme md-tab-item:not([disabled]).md-focused { color: '{{primary-contrast}}'; } md-toolbar > md-tabs.md-THEME_NAME-theme md-tab-item:not([disabled]).md-focused { background: '{{primary-contrast-0.1}}'; }md-toolbar.md-accent > md-tabs.md-THEME_NAME-theme md-tabs-wrapper { background-color: '{{accent-color}}'; }md-toolbar.md-accent > md-tabs.md-THEME_NAME-theme md-tab-item:not([disabled]) { color: '{{accent-100}}'; } md-toolbar.md-accent > md-tabs.md-THEME_NAME-theme md-tab-item:not([disabled]).md-active, md-toolbar.md-accent > md-tabs.md-THEME_NAME-theme md-tab-item:not([disabled]).md-focused { color: '{{accent-contrast}}'; } md-toolbar.md-accent > md-tabs.md-THEME_NAME-theme md-tab-item:not([disabled]).md-focused { background: '{{accent-contrast-0.1}}'; }md-toolbar.md-accent > md-tabs.md-THEME_NAME-theme md-ink-bar { color: '{{primary-600-1}}'; background: '{{primary-600-1}}'; }md-toolbar.md-warn > md-tabs.md-THEME_NAME-theme md-tabs-wrapper { background-color: '{{warn-color}}'; }md-toolbar.md-warn > md-tabs.md-THEME_NAME-theme md-tab-item:not([disabled]) { color: '{{warn-100}}'; } md-toolbar.md-warn > md-tabs.md-THEME_NAME-theme md-tab-item:not([disabled]).md-active, md-toolbar.md-warn > md-tabs.md-THEME_NAME-theme md-tab-item:not([disabled]).md-focused { color: '{{warn-contrast}}'; } md-toolbar.md-warn > md-tabs.md-THEME_NAME-theme md-tab-item:not([disabled]).md-focused { background: '{{warn-contrast-0.1}}'; }md-toast.md-THEME_NAME-theme { background-color: #323232; color: '{{background-50}}'; } md-toast.md-THEME_NAME-theme .md-button { color: '{{background-50}}'; } md-toast.md-THEME_NAME-theme .md-button.md-highlight { color: '{{primary-A200}}'; } md-toast.md-THEME_NAME-theme .md-button.md-highlight.md-accent { color: '{{accent-A200}}'; } md-toast.md-THEME_NAME-theme .md-button.md-highlight.md-warn { color: '{{warn-A200}}'; }md-toolbar.md-THEME_NAME-theme { background-color: '{{primary-color}}'; color: '{{primary-contrast}}'; } md-toolbar.md-THEME_NAME-theme md-icon { color: '{{primary-contrast}}'; } md-toolbar.md-THEME_NAME-theme .md-button { color: '{{primary-contrast}}'; } md-toolbar.md-THEME_NAME-theme.md-accent { background-color: '{{accent-color}}'; color: '{{accent-contrast}}'; } md-toolbar.md-THEME_NAME-theme.md-warn { background-color: '{{warn-color}}'; color: '{{warn-contrast}}'; }md-tooltip.md-THEME_NAME-theme { color: '{{background-A100}}'; } md-tooltip.md-THEME_NAME-theme .md-background { background-color: '{{foreground-2}}'; }"); -})(); - diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/dialog/bower.json b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/dialog/bower.json deleted file mode 100644 index 52623b3f..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/dialog/bower.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "angular-material-dialog", - "version": "0.9.8", - "dependencies": { - "angular-material-core": "0.9.8", - "angular-material-backdrop": "0.9.8" - } -} \ No newline at end of file diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/dialog/dialog-default-theme.css b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/dialog/dialog-default-theme.css deleted file mode 100644 index d69b1259..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/dialog/dialog-default-theme.css +++ /dev/null @@ -1,12 +0,0 @@ -/*! - * 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-dialog.md-THEME_NAME-theme { - border-radius: 4px; - background-color: '{{background-color}}'; } - md-dialog.md-THEME_NAME-theme.md-content-overflow .md-actions { - border-top-color: '{{foreground-4}}'; } diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/dialog/dialog-default-theme.min.css b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/dialog/dialog-default-theme.min.css deleted file mode 100644 index 9ae8431b..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/dialog/dialog-default-theme.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Angular Material Design - * https://github.com/angular/material - * @license MIT - * v0.9.8 - */md-dialog.md-THEME_NAME-theme{border-radius:4px;background-color:'{{background-color}}'}md-dialog.md-THEME_NAME-theme.md-content-overflow .md-actions{border-top-color:'{{foreground-4}}'} \ No newline at end of file diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/dialog/dialog.css b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/dialog/dialog.css deleted file mode 100644 index 12cc2a57..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/dialog/dialog.css +++ /dev/null @@ -1,111 +0,0 @@ -/*! - * 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-dialog-is-showing { - max-height: 100%; } - -.md-dialog-container { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - z-index: 80; } - -md-dialog { - opacity: 0; - min-width: 240px; - max-width: 80%; - max-height: 80%; - position: relative; - overflow: hidden; - box-shadow: 0px 8px 10px -5px rgba(0, 0, 0, 0.14), 0px 16px 24px 2px rgba(0, 0, 0, 0.098), 0px 6px 30px 5px rgba(0, 0, 0, 0.084); - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; } - md-dialog.transition-in { - opacity: 1; - transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); - -webkit-transform: translate3d(0, 0, 0) scale(1); - transform: translate3d(0, 0, 0) scale(1); } - md-dialog.transition-out { - transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); - -webkit-transform: translate3d(0, 100%, 0) scale(0.2); - transform: translate3d(0, 100%, 0) scale(0.2); } - md-dialog > form { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - overflow: auto; } - md-dialog md-dialog-content { - -webkit-order: 1; - -ms-flex-order: 1; - order: 1; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - padding: 24px; - overflow: auto; - -webkit-overflow-scrolling: touch; } - md-dialog md-dialog-content:not([layout=row]) > *:first-child:not(.md-subheader) { - margin-top: 0; } - md-dialog md-dialog-content:focus { - outline: none; } - md-dialog md-dialog-content .md-subheader { - margin: 0; } - md-dialog md-dialog-content .md-subheader.sticky-clone { - box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.16); } - md-dialog md-dialog-content.sticky-container { - padding: 0; } - md-dialog md-dialog-content.sticky-container > div { - padding: 24px; - padding-top: 0; } - md-dialog .md-actions { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-order: 2; - -ms-flex-order: 2; - order: 2; - box-sizing: border-box; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - -webkit-justify-content: flex-end; - -ms-flex-pack: end; - justify-content: flex-end; - margin-bottom: 0; - padding-right: 8px; - padding-left: 16px; - min-height: 52px; } - md-dialog .md-actions .md-button { - margin-bottom: 8px; - margin-left: 8px; - margin-right: 0; - margin-top: 8px; } - md-dialog.md-content-overflow .md-actions { - border-top-width: 1px; - border-top-style: solid; } - -@media screen and (-ms-high-contrast: active) { - md-dialog { - border: 1px solid #fff; } } diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/dialog/dialog.js b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/dialog/dialog.js deleted file mode 100644 index c0df1596..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/dialog/dialog.js +++ /dev/null @@ -1,713 +0,0 @@ -/*! - * Angular Material Design - * https://github.com/angular/material - * @license MIT - * v0.9.8 - */ -(function( window, angular, undefined ){ -"use strict"; - -/** - * @ngdoc module - * @name material.components.dialog - */ -angular.module('material.components.dialog', [ - 'material.core', - 'material.components.backdrop' -]) - .directive('mdDialog', MdDialogDirective) - .provider('$mdDialog', MdDialogProvider); - -function MdDialogDirective($$rAF, $mdTheming) { - return { - restrict: 'E', - link: function(scope, element, attr) { - $mdTheming(element); - $$rAF(function() { - var content = element[0].querySelector('md-dialog-content'); - if (content && content.scrollHeight > content.clientHeight) { - element.addClass('md-content-overflow'); - } - }); - } - }; -} -MdDialogDirective.$inject = ["$$rAF", "$mdTheming"]; - -/** - * @ngdoc service - * @name $mdDialog - * @module material.components.dialog - * - * @description - * `$mdDialog` opens a dialog over the app to inform users about critical information or require - * them to make decisions. There are two approaches for setup: a simple promise API - * and regular object syntax. - * - * ## Restrictions - * - * - The dialog is always given an isolate scope. - * - The dialog's template must have an outer `` element. - * Inside, use an `` element for the dialog's content, and use - * an element with class `md-actions` for the dialog's actions. - * - Dialogs must cover the entire application to keep interactions inside of them. - * Use the `parent` option to change where dialogs are appended. - * - * ## Sizing - * - Complex dialogs can be sized with `flex="percentage"`, i.e. `flex="66"`. - * - Default max-width is 80% of the `rootElement` or `parent`. - * - * @usage - * - *
    - *
    - * - * Employee Alert! - * - *
    - *
    - * - * Custom Dialog - * - *
    - *
    - * - * Close Alert - * - *
    - *
    - * - * Greet Employee - * - *
    - *
    - *
    - * - * ### JavaScript: object syntax - * - * (function(angular, undefined){ - * "use strict"; - * - * angular - * .module('demoApp', ['ngMaterial']) - * .controller('AppCtrl', AppController); - * - * function AppController($scope, $mdDialog) { - * var alert; - * $scope.showAlert = showAlert; - * $scope.showDialog = showDialog; - * $scope.items = [1, 2, 3]; - * - * // Internal method - * function showAlert() { - * alert = $mdDialog.alert({ - * title: 'Attention', - * content: 'This is an example of how easy dialogs can be!', - * ok: 'Close' - * }); - * - * $mdDialog - * .show( alert ) - * .finally(function() { - * alert = undefined; - * }); - * } - * - * function showDialog($event) { - * var parentEl = angular.element(document.body); - * $mdDialog.show({ - * parent: parentEl, - * targetEvent: $event, - * template: - * '' + - * ' '+ - * ' '+ - * ' '+ - * '

    Number {{item}}

    ' + - * ' '+ - * '
    '+ - * '
    ' + - * '
    ' + - * ' ' + - * ' Close Dialog' + - * ' ' + - * '
    ' + - * '
    ', - * locals: { - * items: $scope.items - * }, - * controller: DialogController - * }); - * function DialogController($scope, $mdDialog, items) { - * $scope.items = items; - * $scope.closeDialog = function() { - * $mdDialog.hide(); - * } - * } - * } - * } - * })(angular); - *
    - * - * ### JavaScript: promise API syntax, custom dialog template - * - * (function(angular, undefined){ - * "use strict"; - * - * angular - * .module('demoApp', ['ngMaterial']) - * .controller('EmployeeController', EmployeeEditor) - * .controller('GreetingController', GreetingController); - * - * // Fictitious Employee Editor to show how to use simple and complex dialogs. - * - * function EmployeeEditor($scope, $mdDialog) { - * var alert; - * - * $scope.showAlert = showAlert; - * $scope.closeAlert = closeAlert; - * $scope.showGreeting = showCustomGreeting; - * - * $scope.hasAlert = function() { return !!alert }; - * $scope.userName = $scope.userName || 'Bobby'; - * - * // Dialog #1 - Show simple alert dialog and cache - * // reference to dialog instance - * - * function showAlert() { - * alert = $mdDialog.alert() - * .title('Attention, ' + $scope.userName) - * .content('This is an example of how easy dialogs can be!') - * .ok('Close'); - * - * $mdDialog - * .show( alert ) - * .finally(function() { - * alert = undefined; - * }); - * } - * - * // Close the specified dialog instance and resolve with 'finished' flag - * // Normally this is not needed, just use '$mdDialog.hide()' to close - * // the most recent dialog popup. - * - * function closeAlert() { - * $mdDialog.hide( alert, "finished" ); - * alert = undefined; - * } - * - * // Dialog #2 - Demonstrate more complex dialogs construction and popup. - * - * function showCustomGreeting($event) { - * $mdDialog.show({ - * targetEvent: $event, - * template: - * '' + - * - * ' Hello {{ employee }}!' + - * - * '
    ' + - * ' ' + - * ' Close Greeting' + - * ' ' + - * '
    ' + - * '
    ', - * controller: 'GreetingController', - * onComplete: afterShowAnimation, - * locals: { employee: $scope.userName } - * }); - * - * // When the 'enter' animation finishes... - * - * function afterShowAnimation(scope, element, options) { - * // post-show code here: DOM element focus, etc. - * } - * } - * - * // Dialog #3 - Demonstrate use of ControllerAs and passing $scope to dialog - * // Here we used ng-controller="GreetingController as vm" and - * // $scope.vm === - * - * function showCustomGreeting() { - * - * $mdDialog.show({ - * clickOutsideToClose: true, - * - * scope: $scope, // use parent scope in template - * preserveScope: true, // do not forget this if use parent scope - - * // Since GreetingController is instantiated with ControllerAs syntax - * // AND we are passing the parent '$scope' to the dialog, we MUST - * // use 'vm.' in the template markup - * - * template: '' + - * ' ' + - * ' Hi There {{vm.employee}}' + - * ' ' + - * '', - * - * controller: function DialogController($scope, $mdDialog) { - * $scope.closeDialog = function() { - * $mdDialog.hide(); - * } - * } - * }); - * } - * - * } - * - * // Greeting controller used with the more complex 'showCustomGreeting()' custom dialog - * - * function GreetingController($scope, $mdDialog, employee) { - * // Assigned from construction locals options... - * $scope.employee = employee; - * - * $scope.closeDialog = function() { - * // Easily hides most recent dialog shown... - * // no specific instance reference is needed. - * $mdDialog.hide(); - * }; - * } - * - * })(angular); - *
    - */ - - /** - * @ngdoc method - * @name $mdDialog#alert - * - * @description - * Builds a preconfigured dialog with the specified message. - * - * @returns {obj} an `$mdDialogPreset` with the chainable configuration methods: - * - * - $mdDialogPreset#title(string) - sets title to string - * - $mdDialogPreset#content(string) - sets content / message to string - * - $mdDialogPreset#ok(string) - sets okay button text to string - * - $mdDialogPreset#theme(string) - sets the theme of the dialog - * - */ - - /** - * @ngdoc method - * @name $mdDialog#confirm - * - * @description - * Builds a preconfigured dialog with the specified message. You can call show and the promise returned - * will be resolved only if the user clicks the confirm action on the dialog. - * - * @returns {obj} an `$mdDialogPreset` with the chainable configuration methods: - * - * Additionally, it supports the following methods: - * - * - $mdDialogPreset#title(string) - sets title to string - * - $mdDialogPreset#content(string) - sets content / message to string - * - $mdDialogPreset#ok(string) - sets okay button text to string - * - $mdDialogPreset#cancel(string) - sets cancel button text to string - * - $mdDialogPreset#theme(string) - sets the theme of the dialog - * - */ - -/** - * @ngdoc method - * @name $mdDialog#show - * - * @description - * Show a dialog with the specified options. - * - * @param {object} optionsOrPreset Either provide an `$mdDialogPreset` returned from `alert()`, and - * `confirm()`, or an options object with the following properties: - * - `templateUrl` - `{string=}`: The url of a template that will be used as the content - * of the dialog. - * - `template` - `{string=}`: Same as templateUrl, except this is an actual template string. - * - `targetEvent` - `{DOMClickEvent=}`: A click's event object. When passed in as an option, - * the location of the click will be used as the starting point for the opening animation - * of the the dialog. - * - `scope` - `{object=}`: the scope to link the template / controller to. If none is specified, - * it will create a new isolate scope. - * This scope will be destroyed when the dialog is removed unless `preserveScope` is set to true. - * - `preserveScope` - `{boolean=}`: whether to preserve the scope when the element is removed. Default is false - * - `disableParentScroll` - `{boolean=}`: Whether to disable scrolling while the dialog is open. - * Default true. - * - `hasBackdrop` - `{boolean=}`: Whether there should be an opaque backdrop behind the dialog. - * Default true. - * - `clickOutsideToClose` - `{boolean=}`: Whether the user can click outside the dialog to - * close it. Default false. - * - `escapeToClose` - `{boolean=}`: Whether the user can press escape to close the dialog. - * Default true. - * - `focusOnOpen` - `{boolean=}`: An option to override focus behavior on open. Only disable if - * focusing some other way, as focus management is required for dialogs to be accessible. - * Defaults to true. - * - `controller` - `{string=}`: The controller to associate with the dialog. The controller - * will be injected with the local `$mdDialog`, which passes along a scope for the dialog. - * - `locals` - `{object=}`: An object containing key/value pairs. The keys will be used as names - * of values to inject into the controller. For example, `locals: {three: 3}` would inject - * `three` into the controller, with the value 3. If `bindToController` is true, they will be - * copied to the controller instead. - * - `bindToController` - `bool`: bind the locals to the controller, instead of passing them in. - * These values will not be available until after initialization. - * - `resolve` - `{object=}`: Similar to locals, except it takes promises as values, and the - * dialog will not open until all of the promises resolve. - * - `controllerAs` - `{string=}`: An alias to assign the controller to on the scope. - * - `parent` - `{element=}`: The element to append the dialog to. Defaults to appending - * to the root element of the application. - * - `onComplete` `{function=}`: Callback function used to announce when the show() action is - * finished. - * - * @returns {promise} A promise that can be resolved with `$mdDialog.hide()` or - * rejected with `$mdDialog.cancel()`. - */ - -/** - * @ngdoc method - * @name $mdDialog#hide - * - * @description - * Hide an existing dialog and resolve the promise returned from `$mdDialog.show()`. - * - * @param {*=} response An argument for the resolved promise. - * - * @returns {promise} A promise that is resolved when the dialog has been closed. - */ - -/** - * @ngdoc method - * @name $mdDialog#cancel - * - * @description - * Hide an existing dialog and reject the promise returned from `$mdDialog.show()`. - * - * @param {*=} response An argument for the rejected promise. - * - * @returns {promise} A promise that is resolved when the dialog has been closed. - */ - -function MdDialogProvider($$interimElementProvider) { - - var alertDialogMethods = ['title', 'content', 'ariaLabel', 'ok']; - - advancedDialogOptions.$inject = ["$mdDialog", "$mdTheming"]; - dialogDefaultOptions.$inject = ["$mdAria", "$document", "$mdUtil", "$mdConstant", "$mdTheming", "$mdDialog", "$timeout", "$rootElement", "$animate", "$$rAF", "$q"]; - return $$interimElementProvider('$mdDialog') - .setDefaults({ - methods: ['disableParentScroll', 'hasBackdrop', 'clickOutsideToClose', 'escapeToClose', 'targetEvent', 'parent'], - options: dialogDefaultOptions - }) - .addPreset('alert', { - methods: ['title', 'content', 'ariaLabel', 'ok', 'theme'], - options: advancedDialogOptions - }) - .addPreset('confirm', { - methods: ['title', 'content', 'ariaLabel', 'ok', 'cancel', 'theme'], - options: advancedDialogOptions - }); - - /* ngInject */ - function advancedDialogOptions($mdDialog, $mdTheming) { - return { - template: [ - '', - '', - '

    {{ dialog.title }}

    ', - '

    {{ dialog.content }}

    ', - '
    ', - '
    ', - '', - '{{ dialog.cancel }}', - '', - '', - '{{ dialog.ok }}', - '', - '
    ', - '
    ' - ].join(''), - controller: function mdDialogCtrl() { - this.hide = function() { - $mdDialog.hide(true); - }; - this.abort = function() { - $mdDialog.cancel(); - }; - }, - controllerAs: 'dialog', - bindToController: true, - theme: $mdTheming.defaultTheme() - }; - } - - /* ngInject */ - function dialogDefaultOptions($mdAria, $document, $mdUtil, $mdConstant, $mdTheming, $mdDialog, $timeout, $rootElement, $animate, $$rAF, $q) { - return { - hasBackdrop: true, - isolateScope: true, - onShow: onShow, - onRemove: onRemove, - clickOutsideToClose: false, - escapeToClose: true, - targetEvent: null, - focusOnOpen: true, - disableParentScroll: true, - transformTemplate: function(template) { - return '
    ' + template + '
    '; - } - }; - - function trapFocus(ev) { - var dialog = document.querySelector('md-dialog'); - - if (dialog && !dialog.contains(ev.target)) { - ev.stopImmediatePropagation(); - dialog.focus(); - } - } - - // On show method for dialogs - function onShow(scope, element, options) { - angular.element($document[0].body).addClass('md-dialog-is-showing'); - element = $mdUtil.extractElementByName(element, 'md-dialog'); - - // Incase the user provides a raw dom element, always wrap it in jqLite - options.parent = angular.element(options.parent); - - options.popInTarget = angular.element((options.targetEvent || {}).target); - var closeButton = findCloseButton(); - - if (options.hasBackdrop) { - // Fix for IE 10 - var computeFrom = (options.parent[0] == $document[0].body && $document[0].documentElement - && $document[0].documentElement.scrollTop) ? angular.element($document[0].documentElement) : options.parent; - var parentOffset = computeFrom.prop('scrollTop'); - options.backdrop = angular.element(''); - options.backdrop.css('top', parentOffset +'px'); - $mdTheming.inherit(options.backdrop, options.parent); - $animate.enter(options.backdrop, options.parent); - element.css('top', parentOffset +'px'); - } - - var role = 'dialog', - elementToFocus = closeButton; - - if (options.$type === 'alert') { - role = 'alertdialog'; - elementToFocus = element.find('md-dialog-content'); - } - - configureAria(element.find('md-dialog'), role, options); - - document.addEventListener('focus', trapFocus, true); - - if (options.disableParentScroll) { - options.lastOverflow = options.parent.css('overflow'); - options.parent.css('overflow', 'hidden'); - } - - return dialogPopIn( - element, - options.parent, - options.popInTarget && options.popInTarget.length && options.popInTarget - ) - .then(function() { - - applyAriaToSiblings(element, true); - - if (options.escapeToClose) { - options.rootElementKeyupCallback = function(e) { - if (e.keyCode === $mdConstant.KEY_CODE.ESCAPE) { - $timeout($mdDialog.cancel); - } - }; - $rootElement.on('keyup', options.rootElementKeyupCallback); - } - - if (options.clickOutsideToClose) { - options.dialogClickOutsideCallback = function(ev) { - // Only close if we click the flex container outside the backdrop - if (ev.target === element[0]) { - $timeout($mdDialog.cancel); - } - }; - element.on('click', options.dialogClickOutsideCallback); - } - - if (options.focusOnOpen) { - elementToFocus.focus(); - } - }); - - - function findCloseButton() { - //If no element with class dialog-close, try to find the last - //button child in md-actions and assume it is a close button - var closeButton = element[0].querySelector('.dialog-close'); - if (!closeButton) { - var actionButtons = element[0].querySelectorAll('.md-actions button'); - closeButton = actionButtons[ actionButtons.length - 1 ]; - } - return angular.element(closeButton); - } - - } - - // On remove function for all dialogs - function onRemove(scope, element, options) { - angular.element($document[0].body).removeClass('md-dialog-is-showing'); - - if (options.backdrop) { - $animate.leave(options.backdrop); - } - if (options.disableParentScroll) { - options.parent.css('overflow', options.lastOverflow); - delete options.lastOverflow; - } - if (options.escapeToClose) { - $rootElement.off('keyup', options.rootElementKeyupCallback); - } - if (options.clickOutsideToClose) { - element.off('click', options.dialogClickOutsideCallback); - } - - applyAriaToSiblings(element, false); - - document.removeEventListener('focus', trapFocus, true); - - return dialogPopOut( - element, - options.parent, - options.popInTarget && options.popInTarget.length && options.popInTarget - ).then(function() { - element.remove(); - options.popInTarget && options.popInTarget.focus(); - }); - - } - - /** - * Inject ARIA-specific attributes appropriate for Dialogs - */ - function configureAria(element, role, options) { - - element.attr({ - 'role': role, - 'tabIndex': '-1' - }); - - var dialogContent = element.find('md-dialog-content'); - if (dialogContent.length === 0){ - dialogContent = element; - } - - var dialogId = element.attr('id') || ('dialog_' + $mdUtil.nextUid()); - dialogContent.attr('id', dialogId); - element.attr('aria-describedby', dialogId); - - if (options.ariaLabel) { - $mdAria.expect(element, 'aria-label', options.ariaLabel); - } - else { - $mdAria.expectAsync(element, 'aria-label', function() { - var words = dialogContent.text().split(/\s+/); - if (words.length > 3) words = words.slice(0,3).concat('...'); - return words.join(' '); - }); - } - } - /** - * Utility function to filter out raw DOM nodes - */ - function isNodeOneOf(elem, nodeTypeArray) { - if (nodeTypeArray.indexOf(elem.nodeName) !== -1) { - return true; - } - } - /** - * Walk DOM to apply or remove aria-hidden on sibling nodes - * and parent sibling nodes - * - * Prevents screen reader interaction behind modal window - * on swipe interfaces - */ - function applyAriaToSiblings(element, value) { - var attribute = 'aria-hidden'; - - // get raw DOM node - element = element[0]; - - function walkDOM(element) { - while (element.parentNode) { - if (element === document.body) { - return; - } - var children = element.parentNode.children; - for (var i = 0; i < children.length; i++) { - // skip over child if it is an ascendant of the dialog - // or a script or style tag - if (element !== children[i] && !isNodeOneOf(children[i], ['SCRIPT', 'STYLE'])) { - children[i].setAttribute(attribute, value); - } - } - - walkDOM(element = element.parentNode); - } - } - walkDOM(element); - } - - function dialogPopIn(container, parentElement, clickElement) { - var dialogEl = container.find('md-dialog'); - - parentElement.append(container); - transformToClickElement(dialogEl, clickElement); - - $$rAF(function() { - dialogEl.addClass('transition-in') - .css($mdConstant.CSS.TRANSFORM, ''); - }); - - return $mdUtil.transitionEndPromise(dialogEl); - } - - function dialogPopOut(container, parentElement, clickElement) { - var dialogEl = container.find('md-dialog'); - - dialogEl.addClass('transition-out').removeClass('transition-in'); - transformToClickElement(dialogEl, clickElement); - - return $mdUtil.transitionEndPromise(dialogEl); - } - - function transformToClickElement(dialogEl, clickElement) { - if (clickElement) { - var clickRect = clickElement[0].getBoundingClientRect(); - var dialogRect = dialogEl[0].getBoundingClientRect(); - - var scaleX = Math.min(0.5, clickRect.width / dialogRect.width); - var scaleY = Math.min(0.5, clickRect.height / dialogRect.height); - - dialogEl.css($mdConstant.CSS.TRANSFORM, 'translate3d(' + - (-dialogRect.left + clickRect.left + clickRect.width/2 - dialogRect.width/2) + 'px,' + - (-dialogRect.top + clickRect.top + clickRect.height/2 - dialogRect.height/2) + 'px,' + - '0) scale(' + scaleX + ',' + scaleY + ')' - ); - } - } - - function dialogTransitionEnd(dialogEl) { - var deferred = $q.defer(); - dialogEl.on($mdConstant.CSS.TRANSITIONEND, finished); - function finished(ev) { - //Make sure this transitionend didn't bubble up from a child - if (ev.target === dialogEl[0]) { - dialogEl.off($mdConstant.CSS.TRANSITIONEND, finished); - deferred.resolve(); - } - } - return deferred.promise; - } - - } -} -MdDialogProvider.$inject = ["$$interimElementProvider"]; - -})(window, window.angular); \ No newline at end of file diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/dialog/dialog.min.css b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/dialog/dialog.min.css deleted file mode 100644 index 9d29c13a..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/dialog/dialog.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Angular Material Design - * https://github.com/angular/material - * @license MIT - * v0.9.8 - */.md-dialog-is-showing{max-height:100%}.md-dialog-container{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;position:absolute;top:0;left:0;width:100%;height:100%;z-index:80}md-dialog{opacity:0;min-width:240px;max-width:80%;max-height:80%;position:relative;overflow:hidden;box-shadow:0 8px 10px -5px rgba(0,0,0,.14),0 16px 24px 2px rgba(0,0,0,.098),0 6px 30px 5px rgba(0,0,0,.084);display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}md-dialog.transition-in{opacity:1;transition:all .4s cubic-bezier(.25,.8,.25,1);-webkit-transform:translate3d(0,0,0) scale(1);transform:translate3d(0,0,0) scale(1)}md-dialog.transition-out{transition:all .4s cubic-bezier(.25,.8,.25,1);-webkit-transform:translate3d(0,100%,0) scale(.2);transform:translate3d(0,100%,0) scale(.2)}md-dialog>form{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;overflow:auto}md-dialog md-dialog-content{-webkit-order:1;-ms-flex-order:1;order:1;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding:24px;overflow:auto;-webkit-overflow-scrolling:touch}md-dialog md-dialog-content:not([layout=row])>:first-child:not(.md-subheader){margin-top:0}md-dialog md-dialog-content:focus{outline:0}md-dialog md-dialog-content .md-subheader{margin:0}md-dialog md-dialog-content .md-subheader.sticky-clone{box-shadow:0 2px 4px 0 rgba(0,0,0,.16)}md-dialog md-dialog-content.sticky-container{padding:0}md-dialog md-dialog-content.sticky-container>div{padding:0 24px 24px}md-dialog .md-actions{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-order:2;-ms-flex-order:2;order:2;box-sizing:border-box;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;margin-bottom:0;padding-right:8px;padding-left:16px;min-height:52px}md-dialog .md-actions .md-button{margin:8px 0 8px 8px}md-dialog.md-content-overflow .md-actions{border-top-width:1px;border-top-style:solid}@media screen and (-ms-high-contrast:active){md-dialog{border:1px solid #fff}} \ No newline at end of file diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/dialog/dialog.min.js b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/dialog/dialog.min.js deleted file mode 100644 index 597f83fb..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/dialog/dialog.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * Angular Material Design - * https://github.com/angular/material - * @license MIT - * v0.9.8 - */ -!function(e,t,n){"use strict";function o(e,t){return{restrict:"E",link:function(n,o,a){t(o),e(function(){var e=o[0].querySelector("md-dialog-content");e&&e.scrollHeight>e.clientHeight&&o.addClass("md-content-overflow")})}}}function a(e){function n(e,t){return{template:['','','

    {{ dialog.title }}

    ',"

    {{ dialog.content }}

    ","
    ",'
    ','',"{{ dialog.cancel }}","",'',"{{ dialog.ok }}","","
    ","
    "].join(""),controller:function(){this.hide=function(){e.hide(!0)},this.abort=function(){e.cancel()}},controllerAs:"dialog",bindToController:!0,theme:t.defaultTheme()}}function o(e,n,o,a,i,l,r,d,c,s,m){function p(e){var t=document.querySelector("md-dialog");t&&!t.contains(e.target)&&(e.stopImmediatePropagation(),t.focus())}function u(e,s,m){function u(){var e=s[0].querySelector(".dialog-close");if(!e){var n=s[0].querySelectorAll(".md-actions button");e=n[n.length-1]}return t.element(e)}t.element(n[0].body).addClass("md-dialog-is-showing"),s=o.extractElementByName(s,"md-dialog"),m.parent=t.element(m.parent),m.popInTarget=t.element((m.targetEvent||{}).target);var g=u();if(m.hasBackdrop){var h=m.parent[0]==n[0].body&&n[0].documentElement&&n[0].documentElement.scrollTop?t.element(n[0].documentElement):m.parent,k=h.prop("scrollTop");m.backdrop=t.element(''),m.backdrop.css("top",k+"px"),i.inherit(m.backdrop,m.parent),c.enter(m.backdrop,m.parent),s.css("top",k+"px")}var C="dialog",T=g;return"alert"===m.$type&&(C="alertdialog",T=s.find("md-dialog-content")),f(s.find("md-dialog"),C,m),document.addEventListener("focus",p,!0),m.disableParentScroll&&(m.lastOverflow=m.parent.css("overflow"),m.parent.css("overflow","hidden")),v(s,m.parent,m.popInTarget&&m.popInTarget.length&&m.popInTarget).then(function(){b(s,!0),m.escapeToClose&&(m.rootElementKeyupCallback=function(e){e.keyCode===a.KEY_CODE.ESCAPE&&r(l.cancel)},d.on("keyup",m.rootElementKeyupCallback)),m.clickOutsideToClose&&(m.dialogClickOutsideCallback=function(e){e.target===s[0]&&r(l.cancel)},s.on("click",m.dialogClickOutsideCallback)),m.focusOnOpen&&T.focus()})}function g(e,o,a){return t.element(n[0].body).removeClass("md-dialog-is-showing"),a.backdrop&&c.leave(a.backdrop),a.disableParentScroll&&(a.parent.css("overflow",a.lastOverflow),delete a.lastOverflow),a.escapeToClose&&d.off("keyup",a.rootElementKeyupCallback),a.clickOutsideToClose&&o.off("click",a.dialogClickOutsideCallback),b(o,!1),document.removeEventListener("focus",p,!0),k(o,a.parent,a.popInTarget&&a.popInTarget.length&&a.popInTarget).then(function(){o.remove(),a.popInTarget&&a.popInTarget.focus()})}function f(t,n,a){t.attr({role:n,tabIndex:"-1"});var i=t.find("md-dialog-content");0===i.length&&(i=t);var l=t.attr("id")||"dialog_"+o.nextUid();i.attr("id",l),t.attr("aria-describedby",l),a.ariaLabel?e.expect(t,"aria-label",a.ariaLabel):e.expectAsync(t,"aria-label",function(){var e=i.text().split(/\s+/);return e.length>3&&(e=e.slice(0,3).concat("...")),e.join(" ")})}function h(e,t){return-1!==t.indexOf(e.nodeName)?!0:void 0}function b(e,t){function n(e){for(;e.parentNode;){if(e===document.body)return;for(var a=e.parentNode.children,i=0;i'+e+"
    "}}}return n.$inject=["$mdDialog","$mdTheming"],o.$inject=["$mdAria","$document","$mdUtil","$mdConstant","$mdTheming","$mdDialog","$timeout","$rootElement","$animate","$$rAF","$q"],e("$mdDialog").setDefaults({methods:["disableParentScroll","hasBackdrop","clickOutsideToClose","escapeToClose","targetEvent","parent"],options:o}).addPreset("alert",{methods:["title","content","ariaLabel","ok","theme"],options:n}).addPreset("confirm",{methods:["title","content","ariaLabel","ok","cancel","theme"],options:n})}t.module("material.components.dialog",["material.core","material.components.backdrop"]).directive("mdDialog",o).provider("$mdDialog",a),o.$inject=["$$rAF","$mdTheming"],a.$inject=["$$interimElementProvider"]}(window,window.angular); \ No newline at end of file diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/divider/bower.json b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/divider/bower.json deleted file mode 100644 index bdbc18c3..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/divider/bower.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "name": "angular-material-divider", - "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/divider/divider-default-theme.css b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/divider/divider-default-theme.css deleted file mode 100644 index 4e2fb829..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/divider/divider-default-theme.css +++ /dev/null @@ -1,9 +0,0 @@ -/*! - * 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-divider.md-THEME_NAME-theme { - border-top-color: '{{foreground-4}}'; } diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/divider/divider-default-theme.min.css b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/divider/divider-default-theme.min.css deleted file mode 100644 index bcf8e57b..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/divider/divider-default-theme.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Angular Material Design - * https://github.com/angular/material - * @license MIT - * v0.9.8 - */md-divider.md-THEME_NAME-theme{border-top-color:'{{foreground-4}}'} \ No newline at end of file diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/divider/divider.css b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/divider/divider.css deleted file mode 100644 index 270c06b5..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/divider/divider.css +++ /dev/null @@ -1,14 +0,0 @@ -/*! - * 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-divider { - display: block; - border-top-width: 1px; - border-top-style: solid; - margin: 0; } - md-divider[md-inset] { - margin-left: 80px; } diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/divider/divider.js b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/divider/divider.js deleted file mode 100644 index ac834389..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/divider/divider.js +++ /dev/null @@ -1,46 +0,0 @@ -/*! - * Angular Material Design - * https://github.com/angular/material - * @license MIT - * v0.9.8 - */ -(function( window, angular, undefined ){ -"use strict"; - -/** - * @ngdoc module - * @name material.components.divider - * @description Divider module! - */ -angular.module('material.components.divider', [ - 'material.core' -]) - .directive('mdDivider', MdDividerDirective); - -/** - * @ngdoc directive - * @name mdDivider - * @module material.components.divider - * @restrict E - * - * @description - * Dividers group and separate content within lists and page layouts using strong visual and spatial distinctions. This divider is a thin rule, lightweight enough to not distract the user from content. - * - * @param {boolean=} md-inset Add this attribute to activate the inset divider style. - * @usage - * - * - * - * - * - * - */ -function MdDividerDirective($mdTheming) { - return { - restrict: 'E', - link: $mdTheming - }; -} -MdDividerDirective.$inject = ["$mdTheming"]; - -})(window, window.angular); \ No newline at end of file diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/divider/divider.min.css b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/divider/divider.min.css deleted file mode 100644 index b99f02c7..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/divider/divider.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Angular Material Design - * https://github.com/angular/material - * @license MIT - * v0.9.8 - */md-divider{display:block;border-top-width:1px;border-top-style:solid;margin:0}md-divider[md-inset]{margin-left:80px} \ No newline at end of file diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/divider/divider.min.js b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/divider/divider.min.js deleted file mode 100644 index c3acac45..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/divider/divider.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * Angular Material Design - * https://github.com/angular/material - * @license MIT - * v0.9.8 - */ -!function(i,e,n){"use strict";function r(i){return{restrict:"E",link:i}}e.module("material.components.divider",["material.core"]).directive("mdDivider",r),r.$inject=["$mdTheming"]}(window,window.angular); \ No newline at end of file diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/gridList/bower.json b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/gridList/bower.json deleted file mode 100644 index bb8c78a0..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/gridList/bower.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "name": "angular-material-gridList", - "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/gridList/gridList.css b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/gridList/gridList.css deleted file mode 100644 index 2705de84..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/gridList/gridList.css +++ /dev/null @@ -1,68 +0,0 @@ -/*! - * 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-grid-list { - box-sizing: border-box; - display: block; - position: relative; } - md-grid-list *, md-grid-list *:before, md-grid-list *:after { - box-sizing: border-box; } - md-grid-list md-grid-tile { - display: block; - position: absolute; } - md-grid-list md-grid-tile figure { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; - height: 100%; - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - padding: 0; - margin: 0; } - md-grid-list md-grid-tile md-grid-tile-header, md-grid-list md-grid-tile md-grid-tile-footer { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - height: 48px; - color: #fff; - background: rgba(0, 0, 0, 0.18); - overflow: hidden; - position: absolute; - left: 0; - right: 0; } - md-grid-list md-grid-tile md-grid-tile-header h3, md-grid-list md-grid-tile md-grid-tile-header h4, md-grid-list md-grid-tile md-grid-tile-footer h3, md-grid-list md-grid-tile md-grid-tile-footer h4 { - font-weight: 400; - margin: 0 0 0 16px; } - md-grid-list md-grid-tile md-grid-tile-header h3, md-grid-list md-grid-tile md-grid-tile-footer h3 { - font-size: 14px; } - md-grid-list md-grid-tile md-grid-tile-header h4, md-grid-list md-grid-tile md-grid-tile-footer h4 { - font-size: 12px; } - md-grid-list md-grid-tile md-grid-tile-header { - top: 0; } - md-grid-list md-grid-tile md-grid-tile-footer { - bottom: 0; } - -@media screen and (-ms-high-contrast: active) { - md-grid-tile { - border: 1px solid #fff; } - md-grid-tile-footer { - border-top: 1px solid #fff; } } diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/gridList/gridList.js b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/gridList/gridList.js deleted file mode 100644 index adffa314..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/gridList/gridList.js +++ /dev/null @@ -1,763 +0,0 @@ -/*! - * Angular Material Design - * https://github.com/angular/material - * @license MIT - * v0.9.8 - */ -(function( window, angular, undefined ){ -"use strict"; - -/** - * @ngdoc module - * @name material.components.gridList - */ -angular.module('material.components.gridList', ['material.core']) - .directive('mdGridList', GridListDirective) - .directive('mdGridTile', GridTileDirective) - .directive('mdGridTileFooter', GridTileCaptionDirective) - .directive('mdGridTileHeader', GridTileCaptionDirective) - .factory('$mdGridLayout', GridLayoutFactory); - -/** - * @ngdoc directive - * @name mdGridList - * @module material.components.gridList - * @restrict E - * @description - * Grid lists are an alternative to standard list views. Grid lists are distinct - * from grids used for layouts and other visual presentations. - * - * A grid list is best suited to presenting a homogenous data type, typically - * images, and is optimized for visual comprehension and differentiating between - * like data types. - * - * A grid list is a continuous element consisting of tessellated, regular - * subdivisions called cells that contain tiles (`md-grid-tile`). - * - * Concept of grid explained visually - * Grid concepts legend - * - * Cells are arrayed vertically and horizontally within the grid. - * - * Tiles hold content and can span one or more cells vertically or horizontally. - * - * ### Responsive Attributes - * - * The `md-grid-list` directive supports "responsive" attributes, which allow - * different `md-cols`, `md-gutter` and `md-row-height` values depending on the - * currently matching media query (as defined in `$mdConstant.MEDIA`). - * - * In order to set a responsive attribute, first define the fallback value with - * the standard attribute name, then add additional attributes with the - * following convention: `{base-attribute-name}-{media-query-name}="{value}"` - * (ie. `md-cols-lg="8"`) - * - * @param {number} md-cols Number of columns in the grid. - * @param {string} md-row-height One of - *
      - *
    • CSS length - Fixed height rows (eg. `8px` or `1rem`)
    • - *
    • `{width}:{height}` - Ratio of width to height (eg. - * `md-row-height="16:9"`)
    • - *
    • `"fit"` - Height will be determined by subdividing the available - * height by the number of rows
    • - *
    - * @param {string=} md-gutter The amount of space between tiles in CSS units - * (default 1px) - * @param {expression=} md-on-layout Expression to evaluate after layout. Event - * object is available as `$event`, and contains performance information. - * - * @usage - * Basic: - * - * - * - * - * - * - * Fixed-height rows: - * - * - * - * - * - * - * Fit rows: - * - * - * - * - * - * - * Using responsive attributes: - * - * - * - * - * - */ -function GridListDirective($interpolate, $mdConstant, $mdGridLayout, $mdMedia) { - return { - restrict: 'E', - controller: GridListController, - scope: { - mdOnLayout: '&' - }, - link: postLink - }; - - function postLink(scope, element, attrs, ctrl) { - // Apply semantics - element.attr('role', 'list'); - - // Provide the controller with a way to trigger layouts. - ctrl.layoutDelegate = layoutDelegate; - - var invalidateLayout = angular.bind(ctrl, ctrl.invalidateLayout), - unwatchAttrs = watchMedia(); - scope.$on('$destroy', unwatchMedia); - - /** - * Watches for changes in media, invalidating layout as necessary. - */ - function watchMedia() { - for (var mediaName in $mdConstant.MEDIA) { - $mdMedia(mediaName); // initialize - $mdMedia.getQuery($mdConstant.MEDIA[mediaName]) - .addListener(invalidateLayout); - } - return $mdMedia.watchResponsiveAttributes( - ['md-cols', 'md-row-height'], attrs, layoutIfMediaMatch); - } - - function unwatchMedia() { - ctrl.layoutDelegate = angular.noop; - - unwatchAttrs(); - for (var mediaName in $mdConstant.MEDIA) { - $mdMedia.getQuery($mdConstant.MEDIA[mediaName]) - .removeListener(invalidateLayout); - } - } - - /** - * Performs grid layout if the provided mediaName matches the currently - * active media type. - */ - function layoutIfMediaMatch(mediaName) { - if (mediaName == null) { - // TODO(shyndman): It would be nice to only layout if we have - // instances of attributes using this media type - ctrl.invalidateLayout(); - } else if ($mdMedia(mediaName)) { - ctrl.invalidateLayout(); - } - } - - var lastLayoutProps; - - /** - * Invokes the layout engine, and uses its results to lay out our - * tile elements. - * - * @param {boolean} tilesInvalidated Whether tiles have been - * added/removed/moved since the last layout. This is to avoid situations - * where tiles are replaced with properties identical to their removed - * counterparts. - */ - function layoutDelegate(tilesInvalidated) { - var tiles = getTileElements(); - var props = { - tileSpans: getTileSpans(tiles), - colCount: getColumnCount(), - rowMode: getRowMode(), - rowHeight: getRowHeight(), - gutter: getGutter() - }; - - if (!tilesInvalidated && angular.equals(props, lastLayoutProps)) { - return; - } - - var performance = - $mdGridLayout(props.colCount, props.tileSpans, tiles) - .map(function(tilePositions, rowCount) { - return { - grid: { - element: element, - style: getGridStyle(props.colCount, rowCount, - props.gutter, props.rowMode, props.rowHeight) - }, - tiles: tilePositions.map(function(ps, i) { - return { - element: angular.element(tiles[i]), - style: getTileStyle(ps.position, ps.spans, - props.colCount, props.rowCount, - props.gutter, props.rowMode, props.rowHeight) - } - }) - } - }) - .reflow() - .performance(); - - // Report layout - scope.mdOnLayout({ - $event: { - performance: performance - } - }); - - lastLayoutProps = props; - } - - // Use $interpolate to do some simple string interpolation as a convenience. - - var startSymbol = $interpolate.startSymbol(); - var endSymbol = $interpolate.endSymbol(); - - // Returns an expression wrapped in the interpolator's start and end symbols. - function expr(exprStr) { - return startSymbol + exprStr + endSymbol; - } - - // The amount of space a single 1x1 tile would take up (either width or height), used as - // a basis for other calculations. This consists of taking the base size percent (as would be - // if evenly dividing the size between cells), and then subtracting the size of one gutter. - // However, since there are no gutters on the edges, each tile only uses a fration - // (gutterShare = numGutters / numCells) of the gutter size. (Imagine having one gutter per - // tile, and then breaking up the extra gutter on the edge evenly among the cells). - var UNIT = $interpolate(expr('share') + '% - (' + expr('gutter') + ' * ' + expr('gutterShare') + ')'); - - // The horizontal or vertical position of a tile, e.g., the 'top' or 'left' property value. - // The position comes the size of a 1x1 tile plus gutter for each previous tile in the - // row/column (offset). - var POSITION = $interpolate('calc((' + expr('unit') + ' + ' + expr('gutter') + ') * ' + expr('offset') + ')'); - - // The actual size of a tile, e.g., width or height, taking rowSpan or colSpan into account. - // This is computed by multiplying the base unit by the rowSpan/colSpan, and then adding back - // in the space that the gutter would normally have used (which was already accounted for in - // the base unit calculation). - var DIMENSION = $interpolate('calc((' + expr('unit') + ') * ' + expr('span') + ' + (' + expr('span') + ' - 1) * ' + expr('gutter') + ')'); - - /** - * Gets the styles applied to a tile element described by the given parameters. - * @param {{row: number, col: number}} position The row and column indices of the tile. - * @param {{row: number, col: number}} spans The rowSpan and colSpan of the tile. - * @param {number} colCount The number of columns. - * @param {number} rowCount The number of rows. - * @param {string} gutter The amount of space between tiles. This will be something like - * '5px' or '2em'. - * @param {string} rowMode The row height mode. Can be one of: - * 'fixed': all rows have a fixed size, given by rowHeight, - * 'ratio': row height defined as a ratio to width, or - * 'fit': fit to the grid-list element height, divinding evenly among rows. - * @param {string|number} rowHeight The height of a row. This is only used for 'fixed' mode and - * for 'ratio' mode. For 'ratio' mode, this is the *ratio* of width-to-height (e.g., 0.75). - * @returns {Object} Map of CSS properties to be applied to the style element. Will define - * values for top, left, width, height, marginTop, and paddingTop. - */ - function getTileStyle(position, spans, colCount, rowCount, gutter, rowMode, rowHeight) { - // TODO(shyndman): There are style caching opportunities here. - - // Percent of the available horizontal space that one column takes up. - var hShare = (1 / colCount) * 100; - - // Fraction of the gutter size that each column takes up. - var hGutterShare = (colCount - 1) / colCount; - - // Base horizontal size of a column. - var hUnit = UNIT({share: hShare, gutterShare: hGutterShare, gutter: gutter}); - - // The width and horizontal position of each tile is always calculated the same way, but the - // height and vertical position depends on the rowMode. - var style = { - left: POSITION({ unit: hUnit, offset: position.col, gutter: gutter }), - width: DIMENSION({ unit: hUnit, span: spans.col, gutter: gutter }), - // resets - paddingTop: '', - marginTop: '', - top: '', - height: '' - }; - - switch (rowMode) { - case 'fixed': - // In fixed mode, simply use the given rowHeight. - style.top = POSITION({ unit: rowHeight, offset: position.row, gutter: gutter }); - style.height = DIMENSION({ unit: rowHeight, span: spans.row, gutter: gutter }); - break; - - case 'ratio': - // Percent of the available vertical space that one row takes up. Here, rowHeight holds - // the ratio value. For example, if the width:height ratio is 4:3, rowHeight = 1.333. - var vShare = hShare / rowHeight; - - // Base veritcal size of a row. - var vUnit = UNIT({ share: vShare, gutterShare: hGutterShare, gutter: gutter }); - - // padidngTop and marginTop are used to maintain the given aspect ratio, as - // a percentage-based value for these properties is applied to the *width* of the - // containing block. See http://www.w3.org/TR/CSS2/box.html#margin-properties - style.paddingTop = DIMENSION({ unit: vUnit, span: spans.row, gutter: gutter}); - style.marginTop = POSITION({ unit: vUnit, offset: position.row, gutter: gutter }); - break; - - case 'fit': - // Fraction of the gutter size that each column takes up. - var vGutterShare = (rowCount - 1) / rowCount; - - // Percent of the available vertical space that one row takes up. - var vShare = (1 / rowCount) * 100; - - // Base vertical size of a row. - var vUnit = UNIT({share: vShare, gutterShare: vGutterShare, gutter: gutter}); - - style.top = POSITION({unit: vUnit, offset: position.row, gutter: gutter}); - style.height = DIMENSION({unit: vUnit, span: spans.row, gutter: gutter}); - break; - } - - return style; - } - - function getGridStyle(colCount, rowCount, gutter, rowMode, rowHeight) { - var style = { - height: '', - paddingBottom: '' - }; - - switch(rowMode) { - case 'fixed': - style.height = DIMENSION({ unit: rowHeight, span: rowCount, gutter: gutter }); - break; - - case 'ratio': - // rowHeight is width / height - var hGutterShare = colCount === 1 ? 0 : (colCount - 1) / colCount, - hShare = (1 / colCount) * 100, - vShare = hShare * (1 / rowHeight), - vUnit = UNIT({ share: vShare, gutterShare: hGutterShare, gutter: gutter }); - - style.paddingBottom = DIMENSION({ unit: vUnit, span: rowCount, gutter: gutter}); - break; - - case 'fit': - // noop, as the height is user set - break; - } - - return style; - } - - function getTileElements() { - return [].filter.call(element.children(), function(ele) { - return ele.tagName == 'MD-GRID-TILE'; - }); - } - - /** - * Gets an array of objects containing the rowspan and colspan for each tile. - * @returns {Array<{row: number, col: number}>} - */ - function getTileSpans(tileElements) { - return [].map.call(tileElements, function(ele) { - var ctrl = angular.element(ele).controller('mdGridTile'); - return { - row: parseInt( - $mdMedia.getResponsiveAttribute(ctrl.$attrs, 'md-rowspan'), 10) || 1, - col: parseInt( - $mdMedia.getResponsiveAttribute(ctrl.$attrs, 'md-colspan'), 10) || 1 - }; - }); - } - - function getColumnCount() { - var colCount = parseInt($mdMedia.getResponsiveAttribute(attrs, 'md-cols'), 10); - if (isNaN(colCount)) { - throw 'md-grid-list: md-cols attribute was not found, or contained a non-numeric value'; - } - return colCount; - } - - function getGutter() { - return applyDefaultUnit($mdMedia.getResponsiveAttribute(attrs, 'md-gutter') || 1); - } - - function getRowHeight() { - var rowHeight = $mdMedia.getResponsiveAttribute(attrs, 'md-row-height'); - switch (getRowMode()) { - case 'fixed': - return applyDefaultUnit(rowHeight); - case 'ratio': - var whRatio = rowHeight.split(':'); - return parseFloat(whRatio[0]) / parseFloat(whRatio[1]); - case 'fit': - return 0; // N/A - } - } - - function getRowMode() { - var rowHeight = $mdMedia.getResponsiveAttribute(attrs, 'md-row-height'); - if (rowHeight == 'fit') { - return 'fit'; - } else if (rowHeight.indexOf(':') !== -1) { - return 'ratio'; - } else { - return 'fixed'; - } - } - - function applyDefaultUnit(val) { - return /\D$/.test(val) ? val : val + 'px'; - } - } -} -GridListDirective.$inject = ["$interpolate", "$mdConstant", "$mdGridLayout", "$mdMedia"]; - -/* ngInject */ -function GridListController($timeout) { - this.layoutInvalidated = false; - this.tilesInvalidated = false; - this.$timeout_ = $timeout; - this.layoutDelegate = angular.noop; -} -GridListController.$inject = ["$timeout"]; - -GridListController.prototype = { - invalidateTiles: function() { - this.tilesInvalidated = true; - this.invalidateLayout(); - }, - - invalidateLayout: function() { - if (this.layoutInvalidated) { - return; - } - this.layoutInvalidated = true; - this.$timeout_(angular.bind(this, this.layout)); - }, - - layout: function() { - try { - this.layoutDelegate(this.tilesInvalidated); - } finally { - this.layoutInvalidated = false; - this.tilesInvalidated = false; - } - } -}; - - -/* ngInject */ -function GridLayoutFactory($mdUtil) { - var defaultAnimator = GridTileAnimator; - - /** - * Set the reflow animator callback - */ - GridLayout.animateWith = function(customAnimator) { - defaultAnimator = !angular.isFunction(customAnimator) ? GridTileAnimator : customAnimator; - }; - - return GridLayout; - - /** - * Publish layout function - */ - function GridLayout(colCount, tileSpans) { - var self, layoutInfo, gridStyles, layoutTime, mapTime, reflowTime; - - layoutTime = $mdUtil.time(function() { - layoutInfo = calculateGridFor(colCount, tileSpans); - }); - - return self = { - - /** - * An array of objects describing each tile's position in the grid. - */ - layoutInfo: function() { - return layoutInfo; - }, - - /** - * Maps grid positioning to an element and a set of styles using the - * provided updateFn. - */ - map: function(updateFn) { - mapTime = $mdUtil.time(function() { - var info = self.layoutInfo(); - gridStyles = updateFn(info.positioning, info.rowCount); - }); - return self; - }, - - /** - * Default animator simply sets the element.css( ). An alternate - * animator can be provided as an argument. The function has the following - * signature: - * - * function({grid: {element: JQLite, style: Object}, tiles: Array<{element: JQLite, style: Object}>) - */ - reflow: function(animatorFn) { - reflowTime = $mdUtil.time(function() { - var animator = animatorFn || defaultAnimator; - animator(gridStyles.grid, gridStyles.tiles); - }); - return self; - }, - - /** - * Timing for the most recent layout run. - */ - performance: function() { - return { - tileCount: tileSpans.length, - layoutTime: layoutTime, - mapTime: mapTime, - reflowTime: reflowTime, - totalTime: layoutTime + mapTime + reflowTime - }; - } - }; - } - - /** - * Default Gridlist animator simple sets the css for each element; - * NOTE: any transitions effects must be manually set in the CSS. - * e.g. - * - * md-grid-tile { - * transition: all 700ms ease-out 50ms; - * } - * - */ - function GridTileAnimator(grid, tiles) { - grid.element.css(grid.style); - tiles.forEach(function(t) { - t.element.css(t.style); - }) - } - - /** - * Calculates the positions of tiles. - * - * The algorithm works as follows: - * An Array with length colCount (spaceTracker) keeps track of - * available tiling positions, where elements of value 0 represents an - * empty position. Space for a tile is reserved by finding a sequence of - * 0s with length <= than the tile's colspan. When such a space has been - * found, the occupied tile positions are incremented by the tile's - * rowspan value, as these positions have become unavailable for that - * many rows. - * - * If the end of a row has been reached without finding space for the - * tile, spaceTracker's elements are each decremented by 1 to a minimum - * of 0. Rows are searched in this fashion until space is found. - */ - function calculateGridFor(colCount, tileSpans) { - var curCol = 0, - curRow = 0, - spaceTracker = newSpaceTracker(); - - return { - positioning: tileSpans.map(function(spans, i) { - return { - spans: spans, - position: reserveSpace(spans, i) - }; - }), - rowCount: curRow + Math.max.apply(Math, spaceTracker) - }; - - function reserveSpace(spans, i) { - if (spans.col > colCount) { - throw 'md-grid-list: Tile at position ' + i + ' has a colspan ' + - '(' + spans.col + ') that exceeds the column count ' + - '(' + colCount + ')'; - } - - var start = 0, - end = 0; - - // TODO(shyndman): This loop isn't strictly necessary if you can - // determine the minimum number of rows before a space opens up. To do - // this, recognize that you've iterated across an entire row looking for - // space, and if so fast-forward by the minimum rowSpan count. Repeat - // until the required space opens up. - while (end - start < spans.col) { - if (curCol >= colCount) { - nextRow(); - continue; - } - - start = spaceTracker.indexOf(0, curCol); - if (start === -1 || (end = findEnd(start + 1)) === -1) { - start = end = 0; - nextRow(); - continue; - } - - curCol = end + 1; - } - - adjustRow(start, spans.col, spans.row); - curCol = start + spans.col; - - return { - col: start, - row: curRow - }; - } - - function nextRow() { - curCol = 0; - curRow++; - adjustRow(0, colCount, -1); // Decrement row spans by one - } - - function adjustRow(from, cols, by) { - for (var i = from; i < from + cols; i++) { - spaceTracker[i] = Math.max(spaceTracker[i] + by, 0); - } - } - - function findEnd(start) { - var i; - for (i = start; i < spaceTracker.length; i++) { - if (spaceTracker[i] !== 0) { - return i; - } - } - - if (i === spaceTracker.length) { - return i; - } - } - - function newSpaceTracker() { - var tracker = []; - for (var i = 0; i < colCount; i++) { - tracker.push(0); - } - return tracker; - } - } -} -GridLayoutFactory.$inject = ["$mdUtil"]; - -/** - * @ngdoc directive - * @name mdGridTile - * @module material.components.gridList - * @restrict E - * @description - * Tiles contain the content of an `md-grid-list`. They span one or more grid - * cells vertically or horizontally, and use `md-grid-tile-{footer,header}` to - * display secondary content. - * - * ### Responsive Attributes - * - * The `md-grid-tile` directive supports "responsive" attributes, which allow - * different `md-rowspan` and `md-colspan` values depending on the currently - * matching media query (as defined in `$mdConstant.MEDIA`). - * - * In order to set a responsive attribute, first define the fallback value with - * the standard attribute name, then add additional attributes with the - * following convention: `{base-attribute-name}-{media-query-name}="{value}"` - * (ie. `md-colspan-sm="4"`) - * - * @param {number=} md-colspan The number of columns to span (default 1). Cannot - * exceed the number of columns in the grid. Supports interpolation. - * @param {number=} md-rowspan The number of rows to span (default 1). Supports - * interpolation. - * - * @usage - * With header: - * - * - * - *

    This is a header

    - *
    - *
    - *
    - * - * With footer: - * - * - * - *

    This is a footer

    - *
    - *
    - *
    - * - * Spanning multiple rows/columns: - * - * - * - * - * - * Responsive attributes: - * - * - * - * - */ -function GridTileDirective($mdMedia) { - return { - restrict: 'E', - require: '^mdGridList', - template: '
    ', - transclude: true, - scope: {}, - // Simple controller that exposes attributes to the grid directive - controller: ["$attrs", function($attrs) { - this.$attrs = $attrs; - }], - link: postLink - }; - - function postLink(scope, element, attrs, gridCtrl) { - // Apply semantics - element.attr('role', 'listitem'); - - // If our colspan or rowspan changes, trigger a layout - var unwatchAttrs = $mdMedia.watchResponsiveAttributes(['md-colspan', 'md-rowspan'], - attrs, angular.bind(gridCtrl, gridCtrl.invalidateLayout)); - - // Tile registration/deregistration - gridCtrl.invalidateTiles(); - scope.$on('$destroy', function() { - unwatchAttrs(); - gridCtrl.invalidateLayout(); - }); - - if (angular.isDefined(scope.$parent.$index)) { - scope.$watch(function() { return scope.$parent.$index; }, - function indexChanged(newIdx, oldIdx) { - if (newIdx === oldIdx) { - return; - } - gridCtrl.invalidateTiles(); - }); - } - } -} -GridTileDirective.$inject = ["$mdMedia"]; - - -function GridTileCaptionDirective() { - return { - template: '
    ', - transclude: true - }; -} - -})(window, window.angular); \ No newline at end of file diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/gridList/gridList.min.css b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/gridList/gridList.min.css deleted file mode 100644 index d25d8284..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/gridList/gridList.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Angular Material Design - * https://github.com/angular/material - * @license MIT - * v0.9.8 - */md-grid-list{box-sizing:border-box;display:block;position:relative}md-grid-list *,md-grid-list :after,md-grid-list :before{box-sizing:border-box}md-grid-list md-grid-tile{display:block;position:absolute}md-grid-list md-grid-tile figure{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;height:100%;position:absolute;top:0;right:0;bottom:0;left:0;padding:0;margin:0}md-grid-list md-grid-tile md-grid-tile-footer,md-grid-list md-grid-tile md-grid-tile-header{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-ms-flex-align:center;align-items:center;height:48px;color:#fff;background:rgba(0,0,0,.18);overflow:hidden;position:absolute;left:0;right:0}md-grid-list md-grid-tile md-grid-tile-footer h3,md-grid-list md-grid-tile md-grid-tile-footer h4,md-grid-list md-grid-tile md-grid-tile-header h3,md-grid-list md-grid-tile md-grid-tile-header h4{font-weight:400;margin:0 0 0 16px}md-grid-list md-grid-tile md-grid-tile-footer h3,md-grid-list md-grid-tile md-grid-tile-header h3{font-size:14px}md-grid-list md-grid-tile md-grid-tile-footer h4,md-grid-list md-grid-tile md-grid-tile-header h4{font-size:12px}md-grid-list md-grid-tile md-grid-tile-header{top:0}md-grid-list md-grid-tile md-grid-tile-footer{bottom:0}@media screen and (-ms-high-contrast:active){md-grid-tile{border:1px solid #fff}md-grid-tile-footer{border-top:1px solid #fff}} \ No newline at end of file diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/gridList/gridList.min.js b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/gridList/gridList.min.js deleted file mode 100644 index 5b82ed7c..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/gridList/gridList.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * Angular Material Design - * https://github.com/angular/material - * @license MIT - * v0.9.8 - */ -!function(t,e,n){"use strict";function i(t,n,i,o){function a(r,a,u,s){function l(){for(var t in n.MEDIA)o(t),o.getQuery(n.MEDIA[t]).addListener(L);return o.watchResponsiveAttributes(["md-cols","md-row-height"],u,d)}function c(){s.layoutDelegate=e.noop,T();for(var t in n.MEDIA)o.getQuery(n.MEDIA[t]).removeListener(L)}function d(t){null==t?s.invalidateLayout():o(t)&&s.invalidateLayout()}function f(t){var n=h(),o={tileSpans:v(n),colCount:w(),rowMode:I(),rowHeight:$(),gutter:y()};if(t||!e.equals(o,M)){var u=i(o.colCount,o.tileSpans,n).map(function(t,i){return{grid:{element:a,style:m(o.colCount,i,o.gutter,o.rowMode,o.rowHeight)},tiles:t.map(function(t,i){return{element:e.element(n[i]),style:g(t.position,t.spans,o.colCount,o.rowCount,o.gutter,o.rowMode,o.rowHeight)}})}}).reflow().performance();r.mdOnLayout({$event:{performance:u}}),M=o}}function p(t){return x+t+A}function g(t,e,n,i,r,o,a){var u=1/n*100,s=(n-1)/n,l=D({share:u,gutterShare:s,gutter:r}),c={left:C({unit:l,offset:t.col,gutter:r}),width:G({unit:l,span:e.col,gutter:r}),paddingTop:"",marginTop:"",top:"",height:""};switch(o){case"fixed":c.top=C({unit:a,offset:t.row,gutter:r}),c.height=G({unit:a,span:e.row,gutter:r});break;case"ratio":var d=u/a,f=D({share:d,gutterShare:s,gutter:r});c.paddingTop=G({unit:f,span:e.row,gutter:r}),c.marginTop=C({unit:f,offset:t.row,gutter:r});break;case"fit":var p=(i-1)/i,d=1/i*100,f=D({share:d,gutterShare:p,gutter:r});c.top=C({unit:f,offset:t.row,gutter:r}),c.height=G({unit:f,span:e.row,gutter:r})}return c}function m(t,e,n,i,r){var o={height:"",paddingBottom:""};switch(i){case"fixed":o.height=G({unit:r,span:e,gutter:n});break;case"ratio":var a=1===t?0:(t-1)/t,u=1/t*100,s=u*(1/r),l=D({share:s,gutterShare:a,gutter:n});o.paddingBottom=G({unit:l,span:e,gutter:n});break;case"fit":}return o}function h(){return[].filter.call(a.children(),function(t){return"MD-GRID-TILE"==t.tagName})}function v(t){return[].map.call(t,function(t){var n=e.element(t).controller("mdGridTile");return{row:parseInt(o.getResponsiveAttribute(n.$attrs,"md-rowspan"),10)||1,col:parseInt(o.getResponsiveAttribute(n.$attrs,"md-colspan"),10)||1}})}function w(){var t=parseInt(o.getResponsiveAttribute(u,"md-cols"),10);if(isNaN(t))throw"md-grid-list: md-cols attribute was not found, or contained a non-numeric value";return t}function y(){return b(o.getResponsiveAttribute(u,"md-gutter")||1)}function $(){var t=o.getResponsiveAttribute(u,"md-row-height");switch(I()){case"fixed":return b(t);case"ratio":var e=t.split(":");return parseFloat(e[0])/parseFloat(e[1]);case"fit":return 0}}function I(){var t=o.getResponsiveAttribute(u,"md-row-height");return"fit"==t?"fit":-1!==t.indexOf(":")?"ratio":"fixed"}function b(t){return/\D$/.test(t)?t:t+"px"}a.attr("role","list"),s.layoutDelegate=f;var L=e.bind(s,s.invalidateLayout),T=l();r.$on("$destroy",c);var M,x=t.startSymbol(),A=t.endSymbol(),D=t(p("share")+"% - ("+p("gutter")+" * "+p("gutterShare")+")"),C=t("calc(("+p("unit")+" + "+p("gutter")+") * "+p("offset")+")"),G=t("calc(("+p("unit")+") * "+p("span")+" + ("+p("span")+" - 1) * "+p("gutter")+")")}return{restrict:"E",controller:r,scope:{mdOnLayout:"&"},link:a}}function r(t){this.layoutInvalidated=!1,this.tilesInvalidated=!1,this.$timeout_=t,this.layoutDelegate=e.noop}function o(t){function n(e,n){var i,a,u,s,l,c;return s=t.time(function(){a=r(e,n)}),i={layoutInfo:function(){return a},map:function(e){return l=t.time(function(){var t=i.layoutInfo();u=e(t.positioning,t.rowCount)}),i},reflow:function(e){return c=t.time(function(){var t=e||o;t(u.grid,u.tiles)}),i},performance:function(){return{tileCount:n.length,layoutTime:s,mapTime:l,reflowTime:c,totalTime:s+l+c}}}}function i(t,e){t.element.css(t.style),e.forEach(function(t){t.element.css(t.style)})}function r(t,e){function n(e,n){if(e.col>t)throw"md-grid-list: Tile at position "+n+" has a colspan ("+e.col+") that exceeds the column count ("+t+")";for(var a=0,c=0;c-a=t?i():(a=l.indexOf(0,u),-1!==a&&-1!==(c=o(a+1))?u=c+1:(a=c=0,i()));return r(a,e.col,e.row),u=a+e.col,{col:a,row:s}}function i(){u=0,s++,r(0,t,-1)}function r(t,e,n){for(var i=t;t+e>i;i++)l[i]=Math.max(l[i]+n,0)}function o(t){var e;for(e=t;en;n++)e.push(0);return e}var u=0,s=0,l=a();return{positioning:e.map(function(t,e){return{spans:t,position:n(t,e)}}),rowCount:s+Math.max.apply(Math,l)}}var o=i;return n.animateWith=function(t){o=e.isFunction(t)?t:i},n}function a(t){function n(n,i,r,o){i.attr("role","listitem");var a=t.watchResponsiveAttributes(["md-colspan","md-rowspan"],r,e.bind(o,o.invalidateLayout));o.invalidateTiles(),n.$on("$destroy",function(){a(),o.invalidateLayout()}),e.isDefined(n.$parent.$index)&&n.$watch(function(){return n.$parent.$index},function(t,e){t!==e&&o.invalidateTiles()})}return{restrict:"E",require:"^mdGridList",template:"
    ",transclude:!0,scope:{},controller:["$attrs",function(t){this.$attrs=t}],link:n}}function u(){return{template:"
    ",transclude:!0}}e.module("material.components.gridList",["material.core"]).directive("mdGridList",i).directive("mdGridTile",a).directive("mdGridTileFooter",u).directive("mdGridTileHeader",u).factory("$mdGridLayout",o),i.$inject=["$interpolate","$mdConstant","$mdGridLayout","$mdMedia"],r.$inject=["$timeout"],r.prototype={invalidateTiles:function(){this.tilesInvalidated=!0,this.invalidateLayout()},invalidateLayout:function(){this.layoutInvalidated||(this.layoutInvalidated=!0,this.$timeout_(e.bind(this,this.layout)))},layout:function(){try{this.layoutDelegate(this.tilesInvalidated)}finally{this.layoutInvalidated=!1,this.tilesInvalidated=!1}}},o.$inject=["$mdUtil"],a.$inject=["$mdMedia"]}(window,window.angular); \ No newline at end of file diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/icon/bower.json b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/icon/bower.json deleted file mode 100644 index 58d91a81..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/icon/bower.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "name": "angular-material-icon", - "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/icon/icon-default-theme.css b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/icon/icon-default-theme.css deleted file mode 100644 index eaa5d39f..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/icon/icon-default-theme.css +++ /dev/null @@ -1,15 +0,0 @@ -/*! - * 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-icon.md-THEME_NAME-theme { - color: '{{foreground-2}}'; } - md-icon.md-THEME_NAME-theme.md-primary { - color: '{{primary-color}}'; } - md-icon.md-THEME_NAME-theme.md-accent { - color: '{{accent-color}}'; } - md-icon.md-THEME_NAME-theme.md-warn { - color: '{{warn-color}}'; } diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/icon/icon-default-theme.min.css b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/icon/icon-default-theme.min.css deleted file mode 100644 index 42c29964..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/icon/icon-default-theme.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Angular Material Design - * https://github.com/angular/material - * @license MIT - * v0.9.8 - */md-icon.md-THEME_NAME-theme{color:'{{foreground-2}}'}md-icon.md-THEME_NAME-theme.md-primary{color:'{{primary-color}}'}md-icon.md-THEME_NAME-theme.md-accent{color:'{{accent-color}}'}md-icon.md-THEME_NAME-theme.md-warn{color:'{{warn-color}}'} \ No newline at end of file diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/icon/icon.css b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/icon/icon.css deleted file mode 100644 index c55add2c..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/icon/icon.css +++ /dev/null @@ -1,20 +0,0 @@ -/*! - * 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-icon { - margin: auto; - background-repeat: no-repeat no-repeat; - display: inline-block; - vertical-align: middle; - fill: currentColor; - height: 24px; - width: 24px; } - md-icon svg { - pointer-events: none; } - md-icon[md-font-icon] { - line-height: 1; - width: auto; } diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/icon/icon.js b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/icon/icon.js deleted file mode 100644 index e6a6cad6..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/icon/icon.js +++ /dev/null @@ -1,788 +0,0 @@ -/*! - * Angular Material Design - * https://github.com/angular/material - * @license MIT - * v0.9.8 - */ -(function( window, angular, undefined ){ -"use strict"; - -/** - * @ngdoc module - * @name material.components.icon - * @description - * Icon - */ -angular.module('material.components.icon', [ - 'material.core' - ]) - .directive('mdIcon', mdIconDirective); - -/** - * @ngdoc directive - * @name mdIcon - * @module material.components.icon - * - * @restrict E - * - * @description - * The `` directive is an markup element useful for showing an icon based on a font-icon - * or a SVG. Icons are view-only elements that should not be used directly as buttons; instead nest a `` - * inside a `md-button` to add hover and click features. - * - * When using SVGs, both external SVGs (via URLs) or sets of SVGs [from icon sets] can be - * easily loaded and used.When use font-icons, developers must following three (3) simple steps: - * - *
      - *
    1. Load the font library. e.g.
      - * <link href="https://fonts.googleapis.com/icon?family=Material+Icons" - * rel="stylesheet"> - *
    2. - *
    3. Use either (a) font-icon class names or (b) font ligatures to render the font glyph by using its textual name
    4. - *
    5. Use <md-icon md-font-icon="classname" /> or
      - * use <md-icon md-font-set="font library classname or alias"> textual_name </md-icon> or
      - * use <md-icon md-font-set="font library classname or alias"> numerical_character_reference </md-icon> - *
    6. - *
    - * - * Full details for these steps can be found: - * - *
      - *
    • http://google.github.io/material-design-icons/
    • - *
    • http://google.github.io/material-design-icons/#icon-font-for-the-web
    • - *
    - * - * The Material Design icon style .material-icons and the icon font references are published in - * Material Design Icons: - * - *
      - *
    • http://www.google.com/design/icons/
    • - *
    • https://www.google.com/design/icons/#ic_accessibility
    • - *
    - * - *

    Material Design Icons

    - * Using the Material Design Icon-Selector, developers can easily and quickly search for a Material Design font-icon and - * determine its textual name and character reference code. Click on any icon to see the slide-up information - * panel with details regarding a SVG download or information on the font-icon usage. - * - * - * - * - * - * - * Click on the image above to link to the - * Material Design Icon-Selector. - * - * - * @param {string} md-font-icon Name of CSS icon associated with the font-face will be used - * to render the icon. Requires the fonts and the named CSS styles to be preloaded. - * @param {string} md-font-set CSS style name associated with the font library; which will be assigned as - * the class for the font-icon ligature. This value may also be an alias that is used to lookup the classname; - * internally use `$mdIconProvider.fontSet()` to determine the style name. - * @param {string} md-svg-src URL [or expression ] used to load, cache, and display an external SVG. - * @param {string} md-svg-icon Name used for lookup of the icon from the internal cache; interpolated strings or - * expressions may also be used. Specific set names can be used with the syntax `:`.

    - * To use icon sets, developers are required to pre-register the sets using the `$mdIconProvider` service. - * @param {string=} aria-label Labels icon for accessibility. If an empty string is provided, icon - * will be hidden from accessibility layer with `aria-hidden="true"`. If there's no aria-label on the icon - * nor a label on the parent element, a warning will be logged to the console. - * - * @usage - * When using SVGs: - * - * - * - * - * - * - * - * - * - * - * - * Use the $mdIconProvider to configure your application with - * svg iconsets. - * - * - * angular.module('appSvgIconSets', ['ngMaterial']) - * .controller('DemoCtrl', function($scope) {}) - * .config(function($mdIconProvider) { - * $mdIconProvider - * .iconSet('social', 'img/icons/sets/social-icons.svg', 24) - * .defaultIconSet('img/icons/sets/core-icons.svg', 24); - * }); - * - * - * - * When using Font Icons with classnames: - * - * - * - * - * - * - * - * When using Material Font Icons with ligatures: - * - * - * - * face - * face - * face - * #xE87C; - * - * - * When using other Font-Icon libraries: - * - * - * // Specify a font-icon style alias - * angular.config(function($mdIconProvider) { - * $mdIconProvider.fontSet('fa', 'fontawesome'); - * }); - * - * - * - * email - * - * - */ -function mdIconDirective($mdIcon, $mdTheming, $mdAria, $interpolate ) { - - return { - scope: { - fontSet : '@mdFontSet', - fontIcon: '@mdFontIcon', - svgIcon : '@mdSvgIcon', - svgSrc : '@mdSvgSrc' - }, - restrict: 'E', - transclude:true, - template: getTemplate, - link: postLink - }; - - function getTemplate(element, attr) { - var isEmptyAttr = function(key) { return angular.isDefined(attr[key]) ? attr[key].length == 0 : false }, - hasAttrValue = function(key) { return attr[key] && attr[key].length > 0; }, - attrValue = function(key) { return hasAttrValue(key) ? attr[key] : '' }; - - // If using the deprecated md-font-icon API - // If using ligature-based font-icons, transclude the ligature or NRCs - - var tmplFontIcon = ''; - var tmplFontSet = ''; - - var tmpl = hasAttrValue('mdSvgIcon') ? '' : - hasAttrValue('mdSvgSrc') ? '' : - isEmptyAttr('mdFontIcon') ? '' : - hasAttrValue('mdFontIcon') ? tmplFontIcon : tmplFontSet; - - // If available, lookup the fontSet style and add to the list of classnames - // NOTE: Material Icons expects classnames like `.material-icons.md-48` instead of `.material-icons .md-48` - - var names = (tmpl == tmplFontSet) ? $mdIcon.fontSet(attrValue('mdFontSet')) + ' ' : ''; - names = (names + attrValue('class')).trim(); - - return $interpolate( tmpl )({ classNames: names }); - } - - - /** - * Directive postLink - * Supports embedded SVGs, font-icons, & external SVGs - */ - function postLink(scope, element, attr) { - $mdTheming(element); - - // If using a font-icon, then the textual name of the icon itself - // provides the aria-label. - - var label = attr.alt || scope.fontIcon || scope.svgIcon || element.text(); - var attrName = attr.$normalize(attr.$attr.mdSvgIcon || attr.$attr.mdSvgSrc || ''); - - if ( !attr['aria-label'] ) { - - if (label != '' && !parentsHaveText() ) { - - $mdAria.expect(element, 'aria-label', label); - $mdAria.expect(element, 'role', 'img'); - - } else if ( !element.text() ) { - // If not a font-icon with ligature, then - // hide from the accessibility layer. - - $mdAria.expect(element, 'aria-hidden', 'true'); - } - } - - if (attrName) { - // Use either pre-configured SVG or URL source, respectively. - attr.$observe(attrName, function(attrVal) { - - element.empty(); - if (attrVal) { - $mdIcon(attrVal).then(function(svg) { - element.append(svg); - }); - } - - }); - } - function parentsHaveText() { - var parent = element.parent(); - if (parent.attr('aria-label') || parent.text()) { - return true; - } - else if(parent.parent().attr('aria-label') || parent.parent().text()) { - return true; - } - return false; - } - } -} -mdIconDirective.$inject = ["$mdIcon", "$mdTheming", "$mdAria", "$interpolate"]; - - angular - .module('material.components.icon' ) - .provider('$mdIcon', MdIconProvider); - - /** - * @ngdoc service - * @name $mdIconProvider - * @module material.components.icon - * - * @description - * `$mdIconProvider` is used only to register icon IDs with URLs. These configuration features allow - * icons and icon sets to be pre-registered and associated with source URLs **before** the `` - * directives are compiled. - * - * If using font-icons, the developer is repsonsible for loading the fonts. - * - * If using SVGs, loading of the actual svg files are deferred to on-demand requests and are loaded - * internally by the `$mdIcon` service using the `$http` service. When an SVG is requested by name/ID, - * the `$mdIcon` service searches its registry for the associated source URL; - * that URL is used to on-demand load and parse the SVG dynamically. - * - * @usage - * - * app.config(function($mdIconProvider) { - * - * // Configure URLs for icons specified by [set:]id. - * - * $mdIconProvider - * .defaultFontSet( 'fontawesome' ) - * .defaultIconSet('my/app/icons.svg') // Register a default set of SVG icons - * .iconSet('social', 'my/app/social.svg') // Register a named icon set of SVGs - * .icon('android', 'my/app/android.svg') // Register a specific icon (by name) - * .icon('work:chair', 'my/app/chair.svg'); // Register icon in a specific set - * }); - * - * - * SVG icons and icon sets can be easily pre-loaded and cached using either (a) a build process or (b) a runtime - * **startup** process (shown below): - * - * - * app.config(function($mdIconProvider) { - * - * // Register a default set of SVG icon definitions - * $mdIconProvider.defaultIconSet('my/app/icons.svg') - * - * }) - * .run(function($http, $templateCache){ - * - * // Pre-fetch icons sources by URL and cache in the $templateCache... - * // subsequent $http calls will look there first. - * - * var urls = [ 'imy/app/icons.svg', 'img/icons/android.svg']; - * - * angular.forEach(urls, function(url) { - * $http.get(url, {cache: $templateCache}); - * }); - * - * }); - * - * - * - * NOTE: the loaded SVG data is subsequently cached internally for future requests. - * - */ - - /** - * @ngdoc method - * @name $mdIconProvider#icon - * - * @description - * Register a source URL for a specific icon name; the name may include optional 'icon set' name prefix. - * These icons will later be retrieved from the cache using `$mdIcon( )` - * - * @param {string} id Icon name/id used to register the icon - * @param {string} url specifies the external location for the data file. Used internally by `$http` to load the - * data or as part of the lookup in `$templateCache` if pre-loading was configured. - * @param {string=} iconSize Number indicating the width and height of the icons in the set. All icons - * in the icon set must be the same size. Default size is 24. - * - * @returns {obj} an `$mdIconProvider` reference; used to support method call chains for the API - * - * @usage - * - * app.config(function($mdIconProvider) { - * - * // Configure URLs for icons specified by [set:]id. - * - * $mdIconProvider - * .icon('android', 'my/app/android.svg') // Register a specific icon (by name) - * .icon('work:chair', 'my/app/chair.svg'); // Register icon in a specific set - * }); - * - * - */ - /** - * @ngdoc method - * @name $mdIconProvider#iconSet - * - * @description - * Register a source URL for a 'named' set of icons; group of SVG definitions where each definition - * has an icon id. Individual icons can be subsequently retrieved from this cached set using - * `$mdIcon(:)` - * - * @param {string} id Icon name/id used to register the iconset - * @param {string} url specifies the external location for the data file. Used internally by `$http` to load the - * data or as part of the lookup in `$templateCache` if pre-loading was configured. - * @param {string=} iconSize Number indicating the width and height of the icons in the set. All icons - * in the icon set must be the same size. Default size is 24. - * - * @returns {obj} an `$mdIconProvider` reference; used to support method call chains for the API - * - * - * @usage - * - * app.config(function($mdIconProvider) { - * - * // Configure URLs for icons specified by [set:]id. - * - * $mdIconProvider - * .iconSet('social', 'my/app/social.svg') // Register a named icon set - * }); - * - * - */ - /** - * @ngdoc method - * @name $mdIconProvider#defaultIconSet - * - * @description - * Register a source URL for the default 'named' set of icons. Unless explicitly registered, - * subsequent lookups of icons will failover to search this 'default' icon set. - * Icon can be retrieved from this cached, default set using `$mdIcon()` - * - * @param {string} url specifies the external location for the data file. Used internally by `$http` to load the - * data or as part of the lookup in `$templateCache` if pre-loading was configured. - * @param {string=} iconSize Number indicating the width and height of the icons in the set. All icons - * in the icon set must be the same size. Default size is 24. - * - * @returns {obj} an `$mdIconProvider` reference; used to support method call chains for the API - * - * @usage - * - * app.config(function($mdIconProvider) { - * - * // Configure URLs for icons specified by [set:]id. - * - * $mdIconProvider - * .defaultIconSet( 'my/app/social.svg' ) // Register a default icon set - * }); - * - * - */ - /** - * @ngdoc method - * @name $mdIconProvider#defaultFontSet - * - * @description - * When using Font-Icons, Angular Material assumes the the Material Design icons will be used and automatically - * configures the default font-set == 'material-icons'. Note that the font-set references the font-icon library - * class style that should be applied to the ``. - * - * Configuring the default means that the attributes - * `md-font-set="material-icons"` or `class="material-icons"` do not need to be explicitly declared on the - * `` markup. For example: - * - * ` face ` - * will render as - * ` face `, and - * - * ` face ` - * will render as - * ` face ` - * - * @param {string} name of the font-library style that should be applied to the md-icon DOM element - * - * @usage - * - * app.config(function($mdIconProvider) { - * $mdIconProvider.defaultFontSet( 'fontawesome' ); - * }); - * - * - */ - - /** - * @ngdoc method - * @name $mdIconProvider#defaultIconSize - * - * @description - * While `` markup can also be style with sizing CSS, this method configures - * the default width **and** height used for all icons; unless overridden by specific CSS. - * The default sizing is (24px, 24px). - * - * @param {string} iconSize Number indicating the width and height of the icons in the set. All icons - * in the icon set must be the same size. Default size is 24. - * - * @returns {obj} an `$mdIconProvider` reference; used to support method call chains for the API - * - * @usage - * - * app.config(function($mdIconProvider) { - * - * // Configure URLs for icons specified by [set:]id. - * - * $mdIconProvider - * .defaultIconSize(36) // Register a default icon size (width == height) - * }); - * - * - */ - - var config = { - defaultIconSize: 24, - defaultFontSet: 'material-icons', - fontSets : [ ] - }; - - function MdIconProvider() { } - - MdIconProvider.prototype = { - - icon : function icon(id, url, iconSize) { - if ( id.indexOf(':') == -1 ) id = '$default:' + id; - - config[id] = new ConfigurationItem(url, iconSize ); - return this; - }, - iconSet : function iconSet(id, url, iconSize) { - config[id] = new ConfigurationItem(url, iconSize ); - return this; - }, - defaultIconSet : function defaultIconSet(url, iconSize) { - var setName = '$default'; - - if ( !config[setName] ) { - config[setName] = new ConfigurationItem(url, iconSize ); - } - - config[setName].iconSize = iconSize || config.defaultIconSize; - return this; - }, - - /** - * Register an alias name associated with a font-icon library style ; - */ - fontSet : function fontSet(alias, className) { - config.fontSets.push({ - alias : alias, - fontSet : className || alias - }); - }, - - /** - * Specify a default style name associated with a font-icon library - * fallback to Material Icons. - * - */ - defaultFontSet : function defaultFontSet(className) { - config.defaultFontSet = !className ? '' : className; - return this; - }, - - defaultIconSize : function defaultIconSize(iconSize) { - config.defaultIconSize = iconSize; - return this; - }, - - preloadIcons: function ($templateCache) { - var iconProvider = this; - var svgRegistry = [ - { - id : 'md-tabs-arrow', - url: 'md-tabs-arrow.svg', - svg: '' - }, - { - id : 'md-close', - url: 'md-close.svg', - svg: '' - }, - { - id: 'md-cancel', - url: 'md-cancel.svg', - svg: '' - }, - { - id: 'md-menu', - url: 'md-menu.svg', - svg: '' - }, - { - id: 'md-toggle-arrow', - url: 'md-toggle-arrow-svg', - svg: '' - } - ]; - - svgRegistry.forEach(function(asset){ - iconProvider.icon(asset.id, asset.url); - $templateCache.put(asset.url, asset.svg); - }); - - }, - - $get : ['$http', '$q', '$log', '$templateCache', function($http, $q, $log, $templateCache) { - this.preloadIcons($templateCache); - return MdIconService(config, $http, $q, $log, $templateCache); - }] - }; - - /** - * Configuration item stored in the Icon registry; used for lookups - * to load if not already cached in the `loaded` cache - */ - function ConfigurationItem(url, iconSize) { - this.url = url; - this.iconSize = iconSize || config.defaultIconSize; - } - - /** - * @ngdoc service - * @name $mdIcon - * @module material.components.icon - * - * @description - * The `$mdIcon` service is a function used to lookup SVG icons. - * - * @param {string} id Query value for a unique Id or URL. If the argument is a URL, then the service will retrieve the icon element - * from its internal cache or load the icon and cache it first. If the value is not a URL-type string, then an ID lookup is - * performed. The Id may be a unique icon ID or may include an iconSet ID prefix. - * - * For the **id** query to work properly, this means that all id-to-URL mappings must have been previously configured - * using the `$mdIconProvider`. - * - * @returns {obj} Clone of the initial SVG DOM element; which was created from the SVG markup in the SVG data file. - * - * @usage - * - * function SomeDirective($mdIcon) { - * - * // See if the icon has already been loaded, if not - * // then lookup the icon from the registry cache, load and cache - * // it for future requests. - * // NOTE: ID queries require configuration with $mdIconProvider - * - * $mdIcon('android').then(function(iconEl) { element.append(iconEl); }); - * $mdIcon('work:chair').then(function(iconEl) { element.append(iconEl); }); - * - * // Load and cache the external SVG using a URL - * - * $mdIcon('img/icons/android.svg').then(function(iconEl) { - * element.append(iconEl); - * }); - * }; - * - * - * NOTE: The ` ` directive internally uses the `$mdIcon` service to query, loaded, and instantiate - * SVG DOM elements. - */ - function MdIconService(config, $http, $q, $log, $templateCache) { - var iconCache = {}; - var urlRegex = /[-a-zA-Z0-9@:%_\+.~#?&//=]{2,256}\.[a-z]{2,4}\b(\/[-a-zA-Z0-9@:%_\+.~#?&//=]*)?/i; - - Icon.prototype = { clone : cloneSVG, prepare: prepareAndStyle }; - getIcon.fontSet = findRegisteredFontSet; - - // Publish service... - return getIcon; - - /** - * Actual $mdIcon service is essentially a lookup function - */ - function getIcon(id) { - id = id || ''; - - // If already loaded and cached, use a clone of the cached icon. - // Otherwise either load by URL, or lookup in the registry and then load by URL, and cache. - - if ( iconCache[id] ) return $q.when( iconCache[id].clone() ); - if ( urlRegex.test(id) ) return loadByURL(id).then( cacheIcon(id) ); - if ( id.indexOf(':') == -1 ) id = '$default:' + id; - - return loadByID(id) - .catch(loadFromIconSet) - .catch(announceIdNotFound) - .catch(announceNotFound) - .then( cacheIcon(id) ); - } - - /** - * Lookup registered fontSet style using its alias... - * If not found, - */ - function findRegisteredFontSet(alias) { - var useDefault = angular.isUndefined(alias) || !(alias && alias.length); - if ( useDefault ) return config.defaultFontSet; - - var result = alias; - angular.forEach(config.fontSets, function(it){ - if ( it.alias == alias ) result = it.fontSet || result; - }); - - return result; - } - - /** - * Prepare and cache the loaded icon for the specified `id` - */ - function cacheIcon( id ) { - - return function updateCache( icon ) { - iconCache[id] = isIcon(icon) ? icon : new Icon(icon, config[id]); - - return iconCache[id].clone(); - }; - } - - /** - * Lookup the configuration in the registry, if !registered throw an error - * otherwise load the icon [on-demand] using the registered URL. - * - */ - function loadByID(id) { - var iconConfig = config[id]; - - return !iconConfig ? $q.reject(id) : loadByURL(iconConfig.url).then(function(icon) { - return new Icon(icon, iconConfig); - }); - } - - /** - * Loads the file as XML and uses querySelector( ) to find - * the desired node... - */ - function loadFromIconSet(id) { - var setName = id.substring(0, id.lastIndexOf(':')) || '$default'; - var iconSetConfig = config[setName]; - - return !iconSetConfig ? $q.reject(id) : loadByURL(iconSetConfig.url).then(extractFromSet); - - function extractFromSet(set) { - var iconName = id.slice(id.lastIndexOf(':') + 1); - var icon = set.querySelector('#' + iconName); - return !icon ? $q.reject(id) : new Icon(icon, iconSetConfig); - } - } - - /** - * Load the icon by URL (may use the $templateCache). - * Extract the data for later conversion to Icon - */ - function loadByURL(url) { - return $http - .get(url, { cache: $templateCache }) - .then(function(response) { - return angular.element('
    ').append(response.data).find('svg')[0]; - }); - } - - /** - * User did not specify a URL and the ID has not been registered with the $mdIcon - * registry - */ - function announceIdNotFound(id) { - var msg; - - if (angular.isString(id)) { - msg = 'icon ' + id + ' not found'; - $log.warn(msg); - } - - return $q.reject(msg || id); - } - - /** - * Catch HTTP or generic errors not related to incorrect icon IDs. - */ - function announceNotFound(err) { - var msg = angular.isString(err) ? err : (err.message || err.data || err.statusText); - $log.warn(msg); - - return $q.reject(msg); - } - - /** - * Check target signature to see if it is an Icon instance. - */ - function isIcon(target) { - return angular.isDefined(target.element) && angular.isDefined(target.config); - } - - /** - * Define the Icon class - */ - function Icon(el, config) { - if (el.tagName != 'svg') { - el = angular.element('').append(el)[0]; - } - - // Inject the namespace if not available... - if ( !el.getAttribute('xmlns') ) { - el.setAttribute('xmlns', "http://www.w3.org/2000/svg"); - } - - this.element = el; - this.config = config; - this.prepare(); - } - - /** - * Prepare the DOM element that will be cached in the - * loaded iconCache store. - */ - function prepareAndStyle() { - var iconSize = this.config ? this.config.iconSize : config.defaultIconSize; - angular.forEach({ - 'fit' : '', - 'height': '100%', - 'width' : '100%', - 'preserveAspectRatio': 'xMidYMid meet', - 'viewBox' : this.element.getAttribute('viewBox') || ('0 0 ' + iconSize + ' ' + iconSize) - }, function(val, attr) { - this.element.setAttribute(attr, val); - }, this); - - angular.forEach({ - 'pointer-events' : 'none', - 'display' : 'block' - }, function(val, style) { - this.element.style[style] = val; - }, this); - } - - /** - * Clone the Icon DOM element. - */ - function cloneSVG(){ - return this.element.cloneNode(true); - } - - } - -})(window, window.angular); \ No newline at end of file diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/icon/icon.min.css b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/icon/icon.min.css deleted file mode 100644 index 12c5e23f..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/icon/icon.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Angular Material Design - * https://github.com/angular/material - * @license MIT - * v0.9.8 - */md-icon{margin:auto;background-repeat:no-repeat no-repeat;display:inline-block;vertical-align:middle;fill:currentColor;height:24px;width:24px}md-icon svg{pointer-events:none}md-icon[md-font-icon]{line-height:1;width:auto} \ No newline at end of file diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/icon/icon.min.js b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/icon/icon.min.js deleted file mode 100644 index ff83d0f0..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/icon/icon.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * Angular Material Design - * https://github.com/angular/material - * @license MIT - * v0.9.8 - */ -!function(t,n,e){"use strict";function i(t,e,i,o){function r(e,i){var r=function(t){return n.isDefined(i[t])?0==i[t].length:!1},a=function(t){return i[t]&&i[t].length>0},c=function(t){return a(t)?i[t]:""},s='',u='',l=a("mdSvgIcon")?"":a("mdSvgSrc")?"":r("mdFontIcon")?"":a("mdFontIcon")?s:u,f=l==u?t.fontSet(c("mdFontSet"))+" ":"";return f=(f+c("class")).trim(),o(l)({classNames:f})}function a(n,o,r){function a(){var t=o.parent();return t.attr("aria-label")||t.text()?!0:t.parent().attr("aria-label")||t.parent().text()?!0:!1}e(o);var c=r.alt||n.fontIcon||n.svgIcon||o.text(),s=r.$normalize(r.$attr.mdSvgIcon||r.$attr.mdSvgSrc||"");r["aria-label"]||(""==c||a()?o.text()||i.expect(o,"aria-hidden","true"):(i.expect(o,"aria-label",c),i.expect(o,"role","img"))),s&&r.$observe(s,function(n){o.empty(),n&&t(n).then(function(t){o.append(t)})})}return{scope:{fontSet:"@mdFontSet",fontIcon:"@mdFontIcon",svgIcon:"@mdSvgIcon",svgSrc:"@mdSvgSrc"},restrict:"E",transclude:!0,template:r,link:a}}function o(){}function r(t,n){this.url=t,this.iconSize=n||c.defaultIconSize}function a(t,e,i,o,r){function a(t){return t=t||"",S[t]?i.when(S[t].clone()):x.test(t)?f(t).then(s(t)):(-1==t.indexOf(":")&&(t="$default:"+t),u(t)["catch"](l)["catch"](d)["catch"](g).then(s(t)))}function c(e){var i=n.isUndefined(e)||!(e&&e.length);if(i)return t.defaultFontSet;var o=e;return n.forEach(t.fontSets,function(t){t.alias==e&&(o=t.fontSet||o)}),o}function s(n){return function(e){return S[n]=p(e)?e:new v(e,t[n]),S[n].clone()}}function u(n){var e=t[n];return e?f(e.url).then(function(t){return new v(t,e)}):i.reject(n)}function l(n){function e(t){var e=n.slice(n.lastIndexOf(":")+1),o=t.querySelector("#"+e);return o?new v(o,r):i.reject(n)}var o=n.substring(0,n.lastIndexOf(":"))||"$default",r=t[o];return r?f(r.url).then(e):i.reject(n)}function f(t){return e.get(t,{cache:r}).then(function(t){return n.element("
    ").append(t.data).find("svg")[0]})}function d(t){var e;return n.isString(t)&&(e="icon "+t+" not found",o.warn(e)),i.reject(e||t)}function g(t){var e=n.isString(t)?t:t.message||t.data||t.statusText;return o.warn(e),i.reject(e)}function p(t){return n.isDefined(t.element)&&n.isDefined(t.config)}function v(t,e){"svg"!=t.tagName&&(t=n.element('').append(t)[0]),t.getAttribute("xmlns")||t.setAttribute("xmlns","http://www.w3.org/2000/svg"),this.element=t,this.config=e,this.prepare()}function h(){var e=this.config?this.config.iconSize:t.defaultIconSize;n.forEach({fit:"",height:"100%",width:"100%",preserveAspectRatio:"xMidYMid meet",viewBox:this.element.getAttribute("viewBox")||"0 0 "+e+" "+e},function(t,n){this.element.setAttribute(n,t)},this),n.forEach({"pointer-events":"none",display:"block"},function(t,n){this.element.style[n]=t},this)}function m(){return this.element.cloneNode(!0)}var S={},x=/[-a-zA-Z0-9@:%_\+.~#?&//=]{2,256}\.[a-z]{2,4}\b(\/[-a-zA-Z0-9@:%_\+.~#?&//=]*)?/i;return v.prototype={clone:m,prepare:h},a.fontSet=c,a}n.module("material.components.icon",["material.core"]).directive("mdIcon",i),i.$inject=["$mdIcon","$mdTheming","$mdAria","$interpolate"],n.module("material.components.icon").provider("$mdIcon",o);var c={defaultIconSize:24,defaultFontSet:"material-icons",fontSets:[]};o.prototype={icon:function(t,n,e){return-1==t.indexOf(":")&&(t="$default:"+t),c[t]=new r(n,e),this},iconSet:function(t,n,e){return c[t]=new r(n,e),this},defaultIconSet:function(t,n){var e="$default";return c[e]||(c[e]=new r(t,n)),c[e].iconSize=n||c.defaultIconSize,this},fontSet:function(t,n){c.fontSets.push({alias:t,fontSet:n||t})},defaultFontSet:function(t){return c.defaultFontSet=t?t:"",this},defaultIconSize:function(t){return c.defaultIconSize=t,this},preloadIcons:function(t){var n=this,e=[{id:"md-tabs-arrow",url:"md-tabs-arrow.svg",svg:''},{id:"md-close",url:"md-close.svg",svg:''},{id:"md-cancel",url:"md-cancel.svg",svg:''},{id:"md-menu",url:"md-menu.svg",svg:''},{id:"md-toggle-arrow",url:"md-toggle-arrow-svg",svg:''}];e.forEach(function(e){n.icon(e.id,e.url),t.put(e.url,e.svg)})},$get:["$http","$q","$log","$templateCache",function(t,n,e,i){return this.preloadIcons(i),a(c,t,n,e,i)}]}}(window,window.angular); \ No newline at end of file diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/input/bower.json b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/input/bower.json deleted file mode 100644 index 8f4c2642..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/input/bower.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "name": "angular-material-input", - "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/input/input-default-theme.css b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/input/input-default-theme.css deleted file mode 100644 index c4dc50c7..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/input/input-default-theme.css +++ /dev/null @@ -1,46 +0,0 @@ -/*! - * 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-input-container.md-THEME_NAME-theme .md-input { - color: '{{foreground-1}}'; - border-color: '{{foreground-4}}'; - text-shadow: '{{foreground-shadow}}'; } - md-input-container.md-THEME_NAME-theme .md-input::-webkit-input-placeholder, md-input-container.md-THEME_NAME-theme .md-input::-moz-placeholder, md-input-container.md-THEME_NAME-theme .md-input:-moz-placeholder, md-input-container.md-THEME_NAME-theme .md-input:-ms-input-placeholder { - color: '{{foreground-3}}'; } -md-input-container.md-THEME_NAME-theme > md-icon { - color: '{{foreground-1}}'; } -md-input-container.md-THEME_NAME-theme label, md-input-container.md-THEME_NAME-theme .md-placeholder { - text-shadow: '{{foreground-shadow}}'; - color: '{{foreground-3}}'; } -md-input-container.md-THEME_NAME-theme ng-messages, md-input-container.md-THEME_NAME-theme [ng-message], md-input-container.md-THEME_NAME-theme [data-ng-message], md-input-container.md-THEME_NAME-theme [x-ng-message] { - color: '{{warn-500}}'; } -md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-has-value label { - color: '{{foreground-2}}'; } -md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-focused .md-input { - border-color: '{{primary-500}}'; } -md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-focused label { - color: '{{primary-500}}'; } -md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-focused md-icon { - color: '{{primary-500}}'; } -md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-focused.md-accent .md-input { - border-color: '{{accent-500}}'; } -md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-focused.md-accent label { - color: '{{accent-500}}'; } -md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-focused.md-warn .md-input { - border-color: '{{warn-500}}'; } -md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-focused.md-warn label { - color: '{{warn-500}}'; } -md-input-container.md-THEME_NAME-theme.md-input-invalid .md-input { - border-color: '{{warn-500}}'; } -md-input-container.md-THEME_NAME-theme.md-input-invalid.md-input-focused label { - color: '{{warn-500}}'; } -md-input-container.md-THEME_NAME-theme.md-input-invalid ng-message, md-input-container.md-THEME_NAME-theme.md-input-invalid data-ng-message, md-input-container.md-THEME_NAME-theme.md-input-invalid x-ng-message, md-input-container.md-THEME_NAME-theme.md-input-invalid [ng-message], md-input-container.md-THEME_NAME-theme.md-input-invalid [data-ng-message], md-input-container.md-THEME_NAME-theme.md-input-invalid [x-ng-message], md-input-container.md-THEME_NAME-theme.md-input-invalid .md-char-counter { - color: '{{warn-500}}'; } -md-input-container.md-THEME_NAME-theme .md-input[disabled], [disabled] md-input-container.md-THEME_NAME-theme .md-input { - border-bottom-color: transparent; - color: '{{foreground-3}}'; - background-image: linear-gradient(to right, '{{foreground-3}}' 0%, '{{foreground-3}}' 33%, transparent 0%); } diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/input/input-default-theme.min.css b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/input/input-default-theme.min.css deleted file mode 100644 index 0ff5bb98..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/input/input-default-theme.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Angular Material Design - * https://github.com/angular/material - * @license MIT - * v0.9.8 - */md-input-container.md-THEME_NAME-theme .md-input{color:'{{foreground-1}}';border-color:'{{foreground-4}}';text-shadow:'{{foreground-shadow}}'}md-input-container.md-THEME_NAME-theme .md-input:-moz-placeholder,md-input-container.md-THEME_NAME-theme .md-input:-ms-input-placeholder,md-input-container.md-THEME_NAME-theme .md-input::-moz-placeholder,md-input-container.md-THEME_NAME-theme .md-input::-webkit-input-placeholder{color:'{{foreground-3}}'}md-input-container.md-THEME_NAME-theme>md-icon{color:'{{foreground-1}}'}md-input-container.md-THEME_NAME-theme .md-placeholder,md-input-container.md-THEME_NAME-theme label{text-shadow:'{{foreground-shadow}}';color:'{{foreground-3}}'}md-input-container.md-THEME_NAME-theme [data-ng-message],md-input-container.md-THEME_NAME-theme [ng-message],md-input-container.md-THEME_NAME-theme [x-ng-message],md-input-container.md-THEME_NAME-theme ng-messages{color:'{{warn-500}}'}md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-has-value label{color:'{{foreground-2}}'}md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-focused .md-input{border-color:'{{primary-500}}'}md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-focused label,md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-focused md-icon{color:'{{primary-500}}'}md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-focused.md-accent .md-input{border-color:'{{accent-500}}'}md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-focused.md-accent label{color:'{{accent-500}}'}md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-focused.md-warn .md-input{border-color:'{{warn-500}}'}md-input-container.md-THEME_NAME-theme:not(.md-input-invalid).md-input-focused.md-warn label{color:'{{warn-500}}'}md-input-container.md-THEME_NAME-theme.md-input-invalid .md-input{border-color:'{{warn-500}}'}md-input-container.md-THEME_NAME-theme.md-input-invalid .md-char-counter,md-input-container.md-THEME_NAME-theme.md-input-invalid [data-ng-message],md-input-container.md-THEME_NAME-theme.md-input-invalid [ng-message],md-input-container.md-THEME_NAME-theme.md-input-invalid [x-ng-message],md-input-container.md-THEME_NAME-theme.md-input-invalid data-ng-message,md-input-container.md-THEME_NAME-theme.md-input-invalid ng-message,md-input-container.md-THEME_NAME-theme.md-input-invalid x-ng-message,md-input-container.md-THEME_NAME-theme.md-input-invalid.md-input-focused label{color:'{{warn-500}}'}[disabled] md-input-container.md-THEME_NAME-theme .md-input,md-input-container.md-THEME_NAME-theme .md-input[disabled]{border-bottom-color:transparent;color:'{{foreground-3}}';background-image:linear-gradient(to right,'{{foreground-3}}' 0,'{{foreground-3}}' 33%,transparent 0)} \ No newline at end of file diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/input/input.css b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/input/input.css deleted file mode 100644 index fb731109..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/input/input.css +++ /dev/null @@ -1,162 +0,0 @@ -/*! - * 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-input-container { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - position: relative; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - padding: 2px; - padding-bottom: 26px; - /* - * The .md-input class is added to the input/textarea - */ } - md-input-container > md-icon { - position: absolute; - top: 5px; - left: 2px; } - md-input-container > md-icon + input { - margin-left: 36px; } - md-input-container textarea, md-input-container input[type="text"], md-input-container input[type="password"], md-input-container input[type="datetime"], md-input-container input[type="datetime-local"], md-input-container input[type="date"], md-input-container input[type="month"], md-input-container input[type="time"], md-input-container input[type="week"], md-input-container input[type="number"], md-input-container input[type="email"], md-input-container input[type="url"], md-input-container input[type="search"], md-input-container input[type="tel"], md-input-container input[type="color"] { - /* remove default appearance from all input/textarea */ - -moz-appearance: none; - -webkit-appearance: none; } - md-input-container input[type="date"], md-input-container input[type="datetime-local"], md-input-container input[type="month"], md-input-container input[type="time"], md-input-container input[type="week"] { - min-height: 26px; } - md-input-container textarea { - resize: none; - overflow: hidden; } - md-input-container textarea.md-input { - min-height: 56px; - -ms-flex-preferred-size: auto; } - md-input-container label { - position: relative; - top: -2px; } - md-input-container label:not(.md-no-float), md-input-container .md-placeholder:not(.md-select-label) { - -webkit-order: 1; - -ms-flex-order: 1; - order: 1; - pointer-events: none; - -webkit-font-smoothing: antialiased; - padding-left: 2px; - z-index: 1; - -webkit-transform: translate3d(0, 28px, 0) scale(1); - transform: translate3d(0, 28px, 0) scale(1); - transition: -webkit-transform cubic-bezier(0.25, 0.8, 0.25, 1) 0.25s; - transition: transform cubic-bezier(0.25, 0.8, 0.25, 1) 0.25s; - -webkit-transform-origin: left top; - transform-origin: left top; } - html[dir=rtl] md-input-container label:not(.md-no-float), html[dir=rtl] md-input-container .md-placeholder:not(.md-select-label) { - -webkit-transform-origin: right top; - transform-origin: right top; } - md-input-container .md-placeholder:not(.md-select-label) { - position: absolute; - top: 0; - opacity: 0; - transition-property: opacity, -webkit-transform; - transition-property: opacity, transform; - -webkit-transform: translate3d(0, 30px, 0); - transform: translate3d(0, 30px, 0); } - md-input-container.md-input-focused .md-placeholder { - opacity: 1; - -webkit-transform: translate3d(0, 24px, 0); - transform: translate3d(0, 24px, 0); } - md-input-container.md-input-has-value .md-placeholder { - transition: none; - opacity: 0; } - md-input-container:not(.md-input-has-value) input:not(:focus) { - color: transparent; } - md-input-container .md-input { - -webkit-flex: 1 1 auto; - -ms-flex: 1 1 auto; - flex: 1 1 auto; - -webkit-order: 2; - -ms-flex-order: 2; - order: 2; - display: block; - background: none; - padding-top: 2px; - padding-bottom: 1px; - padding-left: 2px; - padding-right: 2px; - border-width: 0 0 1px 0; - line-height: 26px; - -ms-flex-preferred-size: 26px; - border-radius: 0; } - md-input-container .md-input:focus { - outline: none; } - md-input-container .md-input:invalid { - outline: none; - box-shadow: none; } - md-input-container ng-messages, md-input-container data-ng-messages, md-input-container x-ng-messages, md-input-container [ng-messages], md-input-container [data-ng-messages], md-input-container [x-ng-messages] { - -webkit-order: 3; - -ms-flex-order: 3; - order: 3; - position: relative; } - md-input-container ng-message, md-input-container data-ng-message, md-input-container x-ng-message, md-input-container [ng-message], md-input-container [data-ng-message], md-input-container [x-ng-message], md-input-container .md-char-counter { - -webkit-font-smoothing: antialiased; - position: absolute; - font-size: 12px; - line-height: 24px; } - md-input-container ng-message:not(.md-char-counter), md-input-container data-ng-message:not(.md-char-counter), md-input-container x-ng-message:not(.md-char-counter), md-input-container [ng-message]:not(.md-char-counter), md-input-container [data-ng-message]:not(.md-char-counter), md-input-container [x-ng-message]:not(.md-char-counter), md-input-container .md-char-counter:not(.md-char-counter) { - padding-right: 30px; } - md-input-container ng-message.ng-enter, md-input-container data-ng-message.ng-enter, md-input-container x-ng-message.ng-enter, md-input-container [ng-message].ng-enter, md-input-container [data-ng-message].ng-enter, md-input-container [x-ng-message].ng-enter, md-input-container .md-char-counter.ng-enter { - transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); - transition-delay: 0.2s; } - md-input-container ng-message.ng-leave, md-input-container data-ng-message.ng-leave, md-input-container x-ng-message.ng-leave, md-input-container [ng-message].ng-leave, md-input-container [data-ng-message].ng-leave, md-input-container [x-ng-message].ng-leave, md-input-container .md-char-counter.ng-leave { - transition: all 0.3s cubic-bezier(0.55, 0, 0.55, 0.2); } - md-input-container ng-message.ng-enter, md-input-container ng-message.ng-leave.ng-leave-active, md-input-container data-ng-message.ng-enter, md-input-container data-ng-message.ng-leave.ng-leave-active, md-input-container x-ng-message.ng-enter, md-input-container x-ng-message.ng-leave.ng-leave-active, md-input-container [ng-message].ng-enter, md-input-container [ng-message].ng-leave.ng-leave-active, md-input-container [data-ng-message].ng-enter, md-input-container [data-ng-message].ng-leave.ng-leave-active, md-input-container [x-ng-message].ng-enter, md-input-container [x-ng-message].ng-leave.ng-leave-active, md-input-container .md-char-counter.ng-enter, md-input-container .md-char-counter.ng-leave.ng-leave-active { - opacity: 0; - -webkit-transform: translate3d(0, -20%, 0); - transform: translate3d(0, -20%, 0); } - md-input-container ng-message.ng-leave, md-input-container ng-message.ng-enter.ng-enter-active, md-input-container data-ng-message.ng-leave, md-input-container data-ng-message.ng-enter.ng-enter-active, md-input-container x-ng-message.ng-leave, md-input-container x-ng-message.ng-enter.ng-enter-active, md-input-container [ng-message].ng-leave, md-input-container [ng-message].ng-enter.ng-enter-active, md-input-container [data-ng-message].ng-leave, md-input-container [data-ng-message].ng-enter.ng-enter-active, md-input-container [x-ng-message].ng-leave, md-input-container [x-ng-message].ng-enter.ng-enter-active, md-input-container .md-char-counter.ng-leave, md-input-container .md-char-counter.ng-enter.ng-enter-active { - opacity: 1; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); } - md-input-container .md-char-counter { - bottom: 2px; - right: 2px; } - md-input-container.md-input-focused label:not(.md-no-float), md-input-container.md-input-has-value label:not(.md-no-float) { - -webkit-transform: translate3d(0, 6px, 0) scale(0.75); - transform: translate3d(0, 6px, 0) scale(0.75); } - md-input-container.md-input-focused .md-input, md-input-container .md-input.ng-invalid.ng-dirty { - padding-bottom: 0; - border-width: 0 0 2px 0; } - md-input-container .md-input[disabled], [disabled] md-input-container .md-input { - background-position: 0 bottom; - background-size: 4px 1px; - background-repeat: repeat-x; - margin-bottom: -1px; } - -md-input-container.md-icon-float { - margin-top: -16px; - transition: margin-top 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); } - md-input-container.md-icon-float > label { - pointer-events: none; - position: absolute; - margin-left: 36px; } - md-input-container.md-icon-float > md-icon { - top: 26px; - left: 2px; } - md-input-container.md-icon-float > md-icon + input { - margin-left: 36px; } - md-input-container.md-icon-float > input { - padding-top: 24px; } - md-input-container.md-icon-float.md-input-focused, md-input-container.md-icon-float.md-input-has-value { - margin-top: -8px; } - md-input-container.md-icon-float.md-input-focused label, md-input-container.md-icon-float.md-input-has-value label { - -webkit-transform: translate3d(0, 6px, 0) scale(0.75); - transform: translate3d(0, 6px, 0) scale(0.75); - transition: -webkit-transform cubic-bezier(0.25, 0.8, 0.25, 1) 0.5s; - transition: transform cubic-bezier(0.25, 0.8, 0.25, 1) 0.5s; } - -@media screen and (-ms-high-contrast: active) { - md-input-container.md-default-theme > md-icon { - fill: #fff; } } diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/input/input.js b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/input/input.js deleted file mode 100644 index 4e6666be..00000000 --- a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/input/input.js +++ /dev/null @@ -1,372 +0,0 @@ -/*! - * Angular Material Design - * https://github.com/angular/material - * @license MIT - * v0.9.8 - */ -(function( window, angular, undefined ){ -"use strict"; - -/** - * @ngdoc module - * @name material.components.input - */ - -angular.module('material.components.input', [ - 'material.core' -]) - .directive('mdInputContainer', mdInputContainerDirective) - .directive('label', labelDirective) - .directive('input', inputTextareaDirective) - .directive('textarea', inputTextareaDirective) - .directive('mdMaxlength', mdMaxlengthDirective) - .directive('placeholder', placeholderDirective); - -/** - * @ngdoc directive - * @name mdInputContainer - * @module material.components.input - * - * @restrict E - * - * @description - * `` is the parent of any input or textarea element. - * - * Input and textarea elements will not behave properly unless the md-input-container - * parent is provided. - * - * @param md-is-error {expression=} When the given expression evaluates to true, the input container will go into error state. Defaults to erroring if the input has been touched and is invalid. - * @param md-no-float {boolean=} When present, placeholders will not be converted to floating labels - * - * @usage - * - * - * - * - * - * - * - * - * - * - * - * - */ -function mdInputContainerDirective($mdTheming, $parse) { - ContainerCtrl.$inject = ["$scope", "$element", "$attrs"]; - return { - restrict: 'E', - link: postLink, - controller: ContainerCtrl - }; - - function postLink(scope, element, attr) { - $mdTheming(element); - } - function ContainerCtrl($scope, $element, $attrs) { - var self = this; - - self.isErrorGetter = $attrs.mdIsError && $parse($attrs.mdIsError); - - self.delegateClick = function() { - self.input.focus(); - }; - self.element = $element; - self.setFocused = function(isFocused) { - $element.toggleClass('md-input-focused', !!isFocused); - }; - self.setHasValue = function(hasValue) { - $element.toggleClass('md-input-has-value', !!hasValue); - }; - self.setInvalid = function(isInvalid) { - $element.toggleClass('md-input-invalid', !!isInvalid); - }; - $scope.$watch(function() { - return self.label && self.input; - }, function(hasLabelAndInput) { - if (hasLabelAndInput && !self.label.attr('for')) { - self.label.attr('for', self.input.attr('id')); - } - }); - } -} -mdInputContainerDirective.$inject = ["$mdTheming", "$parse"]; - -function labelDirective() { - return { - restrict: 'E', - require: '^?mdInputContainer', - link: function(scope, element, attr, containerCtrl) { - if (!containerCtrl || attr.mdNoFloat) return; - - containerCtrl.label = element; - scope.$on('$destroy', function() { - containerCtrl.label = null; - }); - } - }; -} - -/** - * @ngdoc directive - * @name mdInput - * @restrict E - * @module material.components.input - * - * @description - * Use the `

    - * The purpose of **`md-maxlength`** is exactly to show the max length counter text. If you don't want the counter text and only need "plain" validation, you can use the "simple" `ng-maxlength` or maxlength attributes. - * @param {string=} aria-label Aria-label is required when no label is present. A warning message will be logged in the console if not present. - * @param {string=} placeholder An alternative approach to using aria-label when the label is not present. The placeholder text is copied to the aria-label attribute. - * - * @usage - * - * - * - * - * - * - *

    With Errors

    - * - * - *
    - * - * - * - *
    - *
    This is required!
    - *
    That's too long!
    - *
    That's too short!
    - *
    - *
    - * - * - * - *
    - *
    This is required!
    - *
    That's too long!
    - *
    - *
    - * - * - * - * - * - * - *
    - *
    - * - * Requires [ngMessages](https://docs.angularjs.org/api/ngMessages). - * Behaves like the [AngularJS input directive](https://docs.angularjs.org/api/ng/directive/input). - * - */ - -function inputTextareaDirective($mdUtil, $window, $mdAria) { - return { - restrict: 'E', - require: ['^?mdInputContainer', '?ngModel'], - link: postLink - }; - - function postLink(scope, element, attr, ctrls) { - - var containerCtrl = ctrls[0]; - var ngModelCtrl = ctrls[1] || $mdUtil.fakeNgModel(); - var isReadonly = angular.isDefined(attr.readonly); - - if ( !containerCtrl ) return; - if (containerCtrl.input) { - throw new Error(" can only have *one* or