todo_rails 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (426) hide show
  1. checksums.yaml +4 -4
  2. data/lib/todo_rails/version.rb +1 -1
  3. data/vendor/assets/bower.json +8 -0
  4. data/vendor/assets/bower_components/angular-animate/README.md +68 -0
  5. data/vendor/assets/bower_components/angular-animate/angular-animate.js +3721 -0
  6. data/vendor/assets/bower_components/angular-animate/angular-animate.min.js +52 -0
  7. data/vendor/assets/bower_components/angular-animate/angular-animate.min.js.map +8 -0
  8. data/vendor/assets/bower_components/angular-animate/bower.json +9 -0
  9. data/vendor/assets/bower_components/angular-animate/index.js +2 -0
  10. data/vendor/assets/bower_components/angular-animate/package.json +26 -0
  11. data/vendor/assets/bower_components/angular-aria/README.md +67 -0
  12. data/vendor/assets/bower_components/angular-aria/angular-aria.js +393 -0
  13. data/vendor/assets/bower_components/angular-aria/angular-aria.min.js +13 -0
  14. data/vendor/assets/bower_components/angular-aria/angular-aria.min.js.map +8 -0
  15. data/vendor/assets/bower_components/angular-aria/bower.json +9 -0
  16. data/vendor/assets/bower_components/angular-aria/index.js +2 -0
  17. data/vendor/assets/bower_components/angular-aria/package.json +27 -0
  18. data/vendor/assets/bower_components/angular-material/CHANGELOG.md +1599 -0
  19. data/vendor/assets/bower_components/angular-material/LICENSE +21 -0
  20. data/vendor/assets/bower_components/angular-material/README.md +211 -0
  21. data/vendor/assets/bower_components/angular-material/angular-material-mocks.js +77 -0
  22. data/vendor/assets/bower_components/angular-material/angular-material.css +7183 -0
  23. data/vendor/assets/bower_components/angular-material/angular-material.js +15406 -0
  24. data/vendor/assets/bower_components/angular-material/angular-material.min.css +6 -0
  25. data/vendor/assets/bower_components/angular-material/angular-material.min.js +14 -0
  26. data/vendor/assets/bower_components/angular-material/bower.json +14 -0
  27. data/vendor/assets/bower_components/angular-material/demos/bottomSheet/demoBasicUsage/img/icons/copy.svg +1 -0
  28. data/vendor/assets/bower_components/angular-material/demos/bottomSheet/demoBasicUsage/img/icons/copy2.svg +1 -0
  29. data/vendor/assets/bower_components/angular-material/demos/bottomSheet/demoBasicUsage/img/icons/facebook.svg +1 -0
  30. data/vendor/assets/bower_components/angular-material/demos/bottomSheet/demoBasicUsage/img/icons/hangout.svg +1 -0
  31. data/vendor/assets/bower_components/angular-material/demos/bottomSheet/demoBasicUsage/img/icons/mail.svg +1 -0
  32. data/vendor/assets/bower_components/angular-material/demos/bottomSheet/demoBasicUsage/img/icons/message.svg +1 -0
  33. data/vendor/assets/bower_components/angular-material/demos/bottomSheet/demoBasicUsage/img/icons/print.svg +1 -0
  34. data/vendor/assets/bower_components/angular-material/demos/bottomSheet/demoBasicUsage/img/icons/share-arrow.svg +1 -0
  35. data/vendor/assets/bower_components/angular-material/demos/bottomSheet/demoBasicUsage/img/icons/twitter.svg +2 -0
  36. data/vendor/assets/bower_components/angular-material/demos/bottomSheet/demoBasicUsage/img/icons/upload.svg +1 -0
  37. data/vendor/assets/bower_components/angular-material/demos/chips/demoBasicUsage/style.scss +39 -0
  38. data/vendor/assets/bower_components/angular-material/demos/chips/demoContactChips/style.scss +47 -0
  39. data/vendor/assets/bower_components/angular-material/demos/gridList/demoBasicUsage/style.scss +75 -0
  40. data/vendor/assets/bower_components/angular-material/demos/gridList/demoDynamicTiles/style.scss +78 -0
  41. data/vendor/assets/bower_components/angular-material/demos/gridList/demoResponsiveUsage/style.scss +0 -0
  42. data/vendor/assets/bower_components/angular-material/demos/icon/demoLoadSvgIconsFromUrl/img/icons/addShoppingCart.svg +1 -0
  43. data/vendor/assets/bower_components/angular-material/demos/icon/demoLoadSvgIconsFromUrl/img/icons/android.svg +1 -0
  44. data/vendor/assets/bower_components/angular-material/demos/icon/demoLoadSvgIconsFromUrl/img/icons/cake.svg +1 -0
  45. data/vendor/assets/bower_components/angular-material/demos/icon/demoSvgIconSets/assets/cake.svg +1 -0
  46. data/vendor/assets/bower_components/angular-material/demos/icon/demoSvgIconSets/assets/core-icons.svg +26 -0
  47. data/vendor/assets/bower_components/angular-material/demos/icon/demoSvgIconSets/assets/social-icons.svg +26 -0
  48. data/vendor/assets/bower_components/angular-material/demos/icon/demoSvgIconsFromURL/img/icons/addShoppingCart.svg +1 -0
  49. data/vendor/assets/bower_components/angular-material/demos/icon/demoSvgIconsFromURL/img/icons/android.svg +1 -0
  50. data/vendor/assets/bower_components/angular-material/demos/icon/demoSvgIconsFromURL/img/icons/cake.svg +1 -0
  51. data/vendor/assets/bower_components/angular-material/demos/icon/demoUsingTemplateCache/assets/android.svg +1 -0
  52. data/vendor/assets/bower_components/angular-material/demos/icon/demoUsingTemplateCache/assets/cake.svg +1 -0
  53. data/vendor/assets/bower_components/angular-material/demos/icon/demoUsingTemplateCache/assets/core-icons.svg +26 -0
  54. data/vendor/assets/bower_components/angular-material/demos/input/demoIcons/icons/ic_email_24px.svg +4 -0
  55. data/vendor/assets/bower_components/angular-material/demos/input/demoIcons/icons/ic_person_24px.svg +4 -0
  56. data/vendor/assets/bower_components/angular-material/demos/input/demoIcons/icons/ic_phone_24px.svg +4 -0
  57. data/vendor/assets/bower_components/angular-material/demos/input/demoIcons/icons/ic_place_24px.svg +4 -0
  58. data/vendor/assets/bower_components/angular-material/demos/input/demoIcons/style.scss +18 -0
  59. data/vendor/assets/bower_components/angular-material/demos/list/demoListControls/img/100-0.jpeg +0 -0
  60. data/vendor/assets/bower_components/angular-material/demos/list/demoListControls/img/100-1.jpeg +0 -0
  61. data/vendor/assets/bower_components/angular-material/demos/list/demoListControls/img/100-2.jpeg +0 -0
  62. data/vendor/assets/bower_components/angular-material/demos/tabs/demoDynamicHeight/style.scss +13 -0
  63. data/vendor/assets/bower_components/angular-material/demos/tabs/demoDynamicTabs/style.scss +44 -0
  64. data/vendor/assets/bower_components/angular-material/demos/tabs/demoStaticTabs/style.scss +25 -0
  65. data/vendor/assets/bower_components/angular-material/demos/toolbar/demoBasicUsage/img/icons/favorite.svg +4 -0
  66. data/vendor/assets/bower_components/angular-material/demos/toolbar/demoBasicUsage/img/icons/menu.svg +4 -0
  67. data/vendor/assets/bower_components/angular-material/demos/toolbar/demoBasicUsage/img/icons/more_vert.svg +4 -0
  68. data/vendor/assets/bower_components/angular-material/index.js +12 -0
  69. data/vendor/assets/bower_components/angular-material/modules/closure/autocomplete/autocomplete-default-theme.css +24 -0
  70. data/vendor/assets/bower_components/angular-material/modules/closure/autocomplete/autocomplete.css +220 -0
  71. data/vendor/assets/bower_components/angular-material/modules/closure/autocomplete/autocomplete.js +951 -0
  72. data/vendor/assets/bower_components/angular-material/modules/closure/backdrop/backdrop-default-theme.css +9 -0
  73. data/vendor/assets/bower_components/angular-material/modules/closure/backdrop/backdrop.css +59 -0
  74. data/vendor/assets/bower_components/angular-material/modules/closure/backdrop/backdrop.js +38 -0
  75. data/vendor/assets/bower_components/angular-material/modules/closure/bottomSheet/bottomSheet-default-theme.css +16 -0
  76. data/vendor/assets/bower_components/angular-material/modules/closure/bottomSheet/bottomSheet.css +170 -0
  77. data/vendor/assets/bower_components/angular-material/modules/closure/bottomSheet/bottomSheet.js +267 -0
  78. data/vendor/assets/bower_components/angular-material/modules/closure/button/button-default-theme.css +94 -0
  79. data/vendor/assets/bower_components/angular-material/modules/closure/button/button.css +158 -0
  80. data/vendor/assets/bower_components/angular-material/modules/closure/button/button.js +135 -0
  81. data/vendor/assets/bower_components/angular-material/modules/closure/card/card-default-theme.css +12 -0
  82. data/vendor/assets/bower_components/angular-material/modules/closure/card/card.css +34 -0
  83. data/vendor/assets/bower_components/angular-material/modules/closure/card/card.js +84 -0
  84. data/vendor/assets/bower_components/angular-material/modules/closure/checkbox/checkbox-default-theme.css +47 -0
  85. data/vendor/assets/bower_components/angular-material/modules/closure/checkbox/checkbox.css +124 -0
  86. data/vendor/assets/bower_components/angular-material/modules/closure/checkbox/checkbox.js +166 -0
  87. data/vendor/assets/bower_components/angular-material/modules/closure/chips/chips-default-theme.css +24 -0
  88. data/vendor/assets/bower_components/angular-material/modules/closure/chips/chips.css +131 -0
  89. data/vendor/assets/bower_components/angular-material/modules/closure/chips/chips.js +949 -0
  90. data/vendor/assets/bower_components/angular-material/modules/closure/content/content-default-theme.css +9 -0
  91. data/vendor/assets/bower_components/angular-material/modules/closure/content/content.css +20 -0
  92. data/vendor/assets/bower_components/angular-material/modules/closure/content/content.js +84 -0
  93. data/vendor/assets/bower_components/angular-material/modules/closure/core/core.css +2594 -0
  94. data/vendor/assets/bower_components/angular-material/modules/closure/core/core.js +3772 -0
  95. data/vendor/assets/bower_components/angular-material/modules/closure/core/default-theme.js +4 -0
  96. data/vendor/assets/bower_components/angular-material/modules/closure/dialog/dialog-default-theme.css +12 -0
  97. data/vendor/assets/bower_components/angular-material/modules/closure/dialog/dialog.css +111 -0
  98. data/vendor/assets/bower_components/angular-material/modules/closure/dialog/dialog.js +713 -0
  99. data/vendor/assets/bower_components/angular-material/modules/closure/divider/divider-default-theme.css +9 -0
  100. data/vendor/assets/bower_components/angular-material/modules/closure/divider/divider.css +14 -0
  101. data/vendor/assets/bower_components/angular-material/modules/closure/divider/divider.js +45 -0
  102. data/vendor/assets/bower_components/angular-material/modules/closure/fabActions/fabActions.js +57 -0
  103. data/vendor/assets/bower_components/angular-material/modules/closure/fabSpeedDial/fabSpeedDial.css +100 -0
  104. data/vendor/assets/bower_components/angular-material/modules/closure/fabSpeedDial/fabSpeedDial.js +236 -0
  105. data/vendor/assets/bower_components/angular-material/modules/closure/fabToolbar/fabToolbar.css +74 -0
  106. data/vendor/assets/bower_components/angular-material/modules/closure/fabToolbar/fabToolbar.js +218 -0
  107. data/vendor/assets/bower_components/angular-material/modules/closure/fabTrigger/fabTrigger.js +54 -0
  108. data/vendor/assets/bower_components/angular-material/modules/closure/gridList/gridList-default-theme.css +6 -0
  109. data/vendor/assets/bower_components/angular-material/modules/closure/gridList/gridList.css +68 -0
  110. data/vendor/assets/bower_components/angular-material/modules/closure/gridList/gridList.js +762 -0
  111. data/vendor/assets/bower_components/angular-material/modules/closure/icon/icon-default-theme.css +15 -0
  112. data/vendor/assets/bower_components/angular-material/modules/closure/icon/icon.css +20 -0
  113. data/vendor/assets/bower_components/angular-material/modules/closure/icon/icon.js +783 -0
  114. data/vendor/assets/bower_components/angular-material/modules/closure/input/input-default-theme.css +46 -0
  115. data/vendor/assets/bower_components/angular-material/modules/closure/input/input.css +162 -0
  116. data/vendor/assets/bower_components/angular-material/modules/closure/input/input.js +371 -0
  117. data/vendor/assets/bower_components/angular-material/modules/closure/list/list-default-theme.css +23 -0
  118. data/vendor/assets/bower_components/angular-material/modules/closure/list/list.css +147 -0
  119. data/vendor/assets/bower_components/angular-material/modules/closure/list/list.js +273 -0
  120. data/vendor/assets/bower_components/angular-material/modules/closure/menu/menu-default-theme.css +11 -0
  121. data/vendor/assets/bower_components/angular-material/modules/closure/menu/menu.css +121 -0
  122. data/vendor/assets/bower_components/angular-material/modules/closure/menu/menu.js +620 -0
  123. data/vendor/assets/bower_components/angular-material/modules/closure/progressCircular/progressCircular-default-theme.css +36 -0
  124. data/vendor/assets/bower_components/angular-material/modules/closure/progressCircular/progressCircular.css +1409 -0
  125. data/vendor/assets/bower_components/angular-material/modules/closure/progressCircular/progressCircular.js +109 -0
  126. data/vendor/assets/bower_components/angular-material/modules/closure/progressLinear/progressLinear-default-theme.css +27 -0
  127. data/vendor/assets/bower_components/angular-material/modules/closure/progressLinear/progressLinear.css +287 -0
  128. data/vendor/assets/bower_components/angular-material/modules/closure/progressLinear/progressLinear.js +126 -0
  129. data/vendor/assets/bower_components/angular-material/modules/closure/radioButton/radioButton-default-theme.css +47 -0
  130. data/vendor/assets/bower_components/angular-material/modules/closure/radioButton/radioButton.css +91 -0
  131. data/vendor/assets/bower_components/angular-material/modules/closure/radioButton/radioButton.js +312 -0
  132. data/vendor/assets/bower_components/angular-material/modules/closure/select/select-default-theme.css +42 -0
  133. data/vendor/assets/bower_components/angular-material/modules/closure/select/select.css +170 -0
  134. data/vendor/assets/bower_components/angular-material/modules/closure/select/select.js +1055 -0
  135. data/vendor/assets/bower_components/angular-material/modules/closure/sidenav/sidenav-default-theme.css +9 -0
  136. data/vendor/assets/bower_components/angular-material/modules/closure/sidenav/sidenav.css +99 -0
  137. data/vendor/assets/bower_components/angular-material/modules/closure/sidenav/sidenav.js +424 -0
  138. data/vendor/assets/bower_components/angular-material/modules/closure/slider/slider-default-theme.css +56 -0
  139. data/vendor/assets/bower_components/angular-material/modules/closure/slider/slider.css +220 -0
  140. data/vendor/assets/bower_components/angular-material/modules/closure/slider/slider.js +403 -0
  141. data/vendor/assets/bower_components/angular-material/modules/closure/sticky/sticky.css +21 -0
  142. data/vendor/assets/bower_components/angular-material/modules/closure/sticky/sticky.js +315 -0
  143. data/vendor/assets/bower_components/angular-material/modules/closure/subheader/subheader-default-theme.css +16 -0
  144. data/vendor/assets/bower_components/angular-material/modules/closure/subheader/subheader.css +63 -0
  145. data/vendor/assets/bower_components/angular-material/modules/closure/subheader/subheader.js +93 -0
  146. data/vendor/assets/bower_components/angular-material/modules/closure/swipe/swipe.js +72 -0
  147. data/vendor/assets/bower_components/angular-material/modules/closure/switch/switch-default-theme.css +33 -0
  148. data/vendor/assets/bower_components/angular-material/modules/closure/switch/switch.css +110 -0
  149. data/vendor/assets/bower_components/angular-material/modules/closure/switch/switch.js +169 -0
  150. data/vendor/assets/bower_components/angular-material/modules/closure/tabs/tabs-arrow.svg +7 -0
  151. data/vendor/assets/bower_components/angular-material/modules/closure/tabs/tabs-default-theme.css +82 -0
  152. data/vendor/assets/bower_components/angular-material/modules/closure/tabs/tabs.css +274 -0
  153. data/vendor/assets/bower_components/angular-material/modules/closure/tabs/tabs.js +1060 -0
  154. data/vendor/assets/bower_components/angular-material/modules/closure/textField/textField-default-theme.css +30 -0
  155. data/vendor/assets/bower_components/angular-material/modules/closure/textField/textField.css +111 -0
  156. data/vendor/assets/bower_components/angular-material/modules/closure/textField/textField.js +145 -0
  157. data/vendor/assets/bower_components/angular-material/modules/closure/toast/toast-default-theme.css +18 -0
  158. data/vendor/assets/bower_components/angular-material/modules/closure/toast/toast.css +119 -0
  159. data/vendor/assets/bower_components/angular-material/modules/closure/toast/toast.js +265 -0
  160. data/vendor/assets/bower_components/angular-material/modules/closure/toolbar/toolbar-default-theme.css +20 -0
  161. data/vendor/assets/bower_components/angular-material/modules/closure/toolbar/toolbar.css +83 -0
  162. data/vendor/assets/bower_components/angular-material/modules/closure/toolbar/toolbar.js +169 -0
  163. data/vendor/assets/bower_components/angular-material/modules/closure/tooltip/tooltip-default-theme.css +11 -0
  164. data/vendor/assets/bower_components/angular-material/modules/closure/tooltip/tooltip.css +72 -0
  165. data/vendor/assets/bower_components/angular-material/modules/closure/tooltip/tooltip.js +267 -0
  166. data/vendor/assets/bower_components/angular-material/modules/closure/whiteframe/whiteframe.css +25 -0
  167. data/vendor/assets/bower_components/angular-material/modules/closure/whiteframe/whiteframe.js +15 -0
  168. data/vendor/assets/bower_components/angular-material/modules/css/angular-material-layout.css +2375 -0
  169. data/vendor/assets/bower_components/angular-material/modules/js/autocomplete/autocomplete-default-theme.css +24 -0
  170. data/vendor/assets/bower_components/angular-material/modules/js/autocomplete/autocomplete-default-theme.min.css +6 -0
  171. data/vendor/assets/bower_components/angular-material/modules/js/autocomplete/autocomplete.css +220 -0
  172. data/vendor/assets/bower_components/angular-material/modules/js/autocomplete/autocomplete.js +951 -0
  173. data/vendor/assets/bower_components/angular-material/modules/js/autocomplete/autocomplete.min.css +6 -0
  174. data/vendor/assets/bower_components/angular-material/modules/js/autocomplete/autocomplete.min.js +7 -0
  175. data/vendor/assets/bower_components/angular-material/modules/js/autocomplete/bower.json +8 -0
  176. data/vendor/assets/bower_components/angular-material/modules/js/backdrop/backdrop-default-theme.css +9 -0
  177. data/vendor/assets/bower_components/angular-material/modules/js/backdrop/backdrop-default-theme.min.css +6 -0
  178. data/vendor/assets/bower_components/angular-material/modules/js/backdrop/backdrop.css +59 -0
  179. data/vendor/assets/bower_components/angular-material/modules/js/backdrop/backdrop.js +39 -0
  180. data/vendor/assets/bower_components/angular-material/modules/js/backdrop/backdrop.min.css +6 -0
  181. data/vendor/assets/bower_components/angular-material/modules/js/backdrop/backdrop.min.js +7 -0
  182. data/vendor/assets/bower_components/angular-material/modules/js/backdrop/bower.json +7 -0
  183. data/vendor/assets/bower_components/angular-material/modules/js/bottomSheet/bottomSheet-default-theme.css +16 -0
  184. data/vendor/assets/bower_components/angular-material/modules/js/bottomSheet/bottomSheet-default-theme.min.css +6 -0
  185. data/vendor/assets/bower_components/angular-material/modules/js/bottomSheet/bottomSheet.css +170 -0
  186. data/vendor/assets/bower_components/angular-material/modules/js/bottomSheet/bottomSheet.js +267 -0
  187. data/vendor/assets/bower_components/angular-material/modules/js/bottomSheet/bottomSheet.min.css +6 -0
  188. data/vendor/assets/bower_components/angular-material/modules/js/bottomSheet/bottomSheet.min.js +7 -0
  189. data/vendor/assets/bower_components/angular-material/modules/js/bottomSheet/bower.json +8 -0
  190. data/vendor/assets/bower_components/angular-material/modules/js/button/bower.json +7 -0
  191. data/vendor/assets/bower_components/angular-material/modules/js/button/button-default-theme.css +94 -0
  192. data/vendor/assets/bower_components/angular-material/modules/js/button/button-default-theme.min.css +6 -0
  193. data/vendor/assets/bower_components/angular-material/modules/js/button/button.css +158 -0
  194. data/vendor/assets/bower_components/angular-material/modules/js/button/button.js +136 -0
  195. data/vendor/assets/bower_components/angular-material/modules/js/button/button.min.css +6 -0
  196. data/vendor/assets/bower_components/angular-material/modules/js/button/button.min.js +7 -0
  197. data/vendor/assets/bower_components/angular-material/modules/js/card/bower.json +7 -0
  198. data/vendor/assets/bower_components/angular-material/modules/js/card/card-default-theme.css +12 -0
  199. data/vendor/assets/bower_components/angular-material/modules/js/card/card-default-theme.min.css +6 -0
  200. data/vendor/assets/bower_components/angular-material/modules/js/card/card.css +34 -0
  201. data/vendor/assets/bower_components/angular-material/modules/js/card/card.js +85 -0
  202. data/vendor/assets/bower_components/angular-material/modules/js/card/card.min.css +6 -0
  203. data/vendor/assets/bower_components/angular-material/modules/js/card/card.min.js +7 -0
  204. data/vendor/assets/bower_components/angular-material/modules/js/checkbox/bower.json +7 -0
  205. data/vendor/assets/bower_components/angular-material/modules/js/checkbox/checkbox-default-theme.css +47 -0
  206. data/vendor/assets/bower_components/angular-material/modules/js/checkbox/checkbox-default-theme.min.css +6 -0
  207. data/vendor/assets/bower_components/angular-material/modules/js/checkbox/checkbox.css +124 -0
  208. data/vendor/assets/bower_components/angular-material/modules/js/checkbox/checkbox.js +167 -0
  209. data/vendor/assets/bower_components/angular-material/modules/js/checkbox/checkbox.min.css +6 -0
  210. data/vendor/assets/bower_components/angular-material/modules/js/checkbox/checkbox.min.js +7 -0
  211. data/vendor/assets/bower_components/angular-material/modules/js/chips/bower.json +8 -0
  212. data/vendor/assets/bower_components/angular-material/modules/js/chips/chips-default-theme.css +24 -0
  213. data/vendor/assets/bower_components/angular-material/modules/js/chips/chips-default-theme.min.css +6 -0
  214. data/vendor/assets/bower_components/angular-material/modules/js/chips/chips.css +131 -0
  215. data/vendor/assets/bower_components/angular-material/modules/js/chips/chips.js +949 -0
  216. data/vendor/assets/bower_components/angular-material/modules/js/chips/chips.min.css +6 -0
  217. data/vendor/assets/bower_components/angular-material/modules/js/chips/chips.min.js +7 -0
  218. data/vendor/assets/bower_components/angular-material/modules/js/content/bower.json +7 -0
  219. data/vendor/assets/bower_components/angular-material/modules/js/content/content-default-theme.css +9 -0
  220. data/vendor/assets/bower_components/angular-material/modules/js/content/content-default-theme.min.css +6 -0
  221. data/vendor/assets/bower_components/angular-material/modules/js/content/content.css +20 -0
  222. data/vendor/assets/bower_components/angular-material/modules/js/content/content.js +85 -0
  223. data/vendor/assets/bower_components/angular-material/modules/js/content/content.min.css +6 -0
  224. data/vendor/assets/bower_components/angular-material/modules/js/content/content.min.js +7 -0
  225. data/vendor/assets/bower_components/angular-material/modules/js/core/bower.json +8 -0
  226. data/vendor/assets/bower_components/angular-material/modules/js/core/core.css +2594 -0
  227. data/vendor/assets/bower_components/angular-material/modules/js/core/core.js +3772 -0
  228. data/vendor/assets/bower_components/angular-material/modules/js/core/core.min.css +6 -0
  229. data/vendor/assets/bower_components/angular-material/modules/js/core/core.min.js +10 -0
  230. data/vendor/assets/bower_components/angular-material/modules/js/core/default-theme.js +4 -0
  231. data/vendor/assets/bower_components/angular-material/modules/js/dialog/bower.json +8 -0
  232. data/vendor/assets/bower_components/angular-material/modules/js/dialog/dialog-default-theme.css +12 -0
  233. data/vendor/assets/bower_components/angular-material/modules/js/dialog/dialog-default-theme.min.css +6 -0
  234. data/vendor/assets/bower_components/angular-material/modules/js/dialog/dialog.css +111 -0
  235. data/vendor/assets/bower_components/angular-material/modules/js/dialog/dialog.js +713 -0
  236. data/vendor/assets/bower_components/angular-material/modules/js/dialog/dialog.min.css +6 -0
  237. data/vendor/assets/bower_components/angular-material/modules/js/dialog/dialog.min.js +7 -0
  238. data/vendor/assets/bower_components/angular-material/modules/js/divider/bower.json +7 -0
  239. data/vendor/assets/bower_components/angular-material/modules/js/divider/divider-default-theme.css +9 -0
  240. data/vendor/assets/bower_components/angular-material/modules/js/divider/divider-default-theme.min.css +6 -0
  241. data/vendor/assets/bower_components/angular-material/modules/js/divider/divider.css +14 -0
  242. data/vendor/assets/bower_components/angular-material/modules/js/divider/divider.js +46 -0
  243. data/vendor/assets/bower_components/angular-material/modules/js/divider/divider.min.css +6 -0
  244. data/vendor/assets/bower_components/angular-material/modules/js/divider/divider.min.js +7 -0
  245. data/vendor/assets/bower_components/angular-material/modules/js/fabActions/bower.json +7 -0
  246. data/vendor/assets/bower_components/angular-material/modules/js/fabActions/fabActions.js +58 -0
  247. data/vendor/assets/bower_components/angular-material/modules/js/fabActions/fabActions.min.js +7 -0
  248. data/vendor/assets/bower_components/angular-material/modules/js/fabSpeedDial/bower.json +9 -0
  249. data/vendor/assets/bower_components/angular-material/modules/js/fabSpeedDial/fabSpeedDial.css +100 -0
  250. data/vendor/assets/bower_components/angular-material/modules/js/fabSpeedDial/fabSpeedDial.js +235 -0
  251. data/vendor/assets/bower_components/angular-material/modules/js/fabSpeedDial/fabSpeedDial.min.css +6 -0
  252. data/vendor/assets/bower_components/angular-material/modules/js/fabSpeedDial/fabSpeedDial.min.js +7 -0
  253. data/vendor/assets/bower_components/angular-material/modules/js/fabToolbar/bower.json +9 -0
  254. data/vendor/assets/bower_components/angular-material/modules/js/fabToolbar/fabToolbar.css +74 -0
  255. data/vendor/assets/bower_components/angular-material/modules/js/fabToolbar/fabToolbar.js +217 -0
  256. data/vendor/assets/bower_components/angular-material/modules/js/fabToolbar/fabToolbar.min.css +6 -0
  257. data/vendor/assets/bower_components/angular-material/modules/js/fabToolbar/fabToolbar.min.js +7 -0
  258. data/vendor/assets/bower_components/angular-material/modules/js/fabTrigger/bower.json +7 -0
  259. data/vendor/assets/bower_components/angular-material/modules/js/fabTrigger/fabTrigger.js +55 -0
  260. data/vendor/assets/bower_components/angular-material/modules/js/fabTrigger/fabTrigger.min.js +7 -0
  261. data/vendor/assets/bower_components/angular-material/modules/js/gridList/bower.json +7 -0
  262. data/vendor/assets/bower_components/angular-material/modules/js/gridList/gridList.css +68 -0
  263. data/vendor/assets/bower_components/angular-material/modules/js/gridList/gridList.js +763 -0
  264. data/vendor/assets/bower_components/angular-material/modules/js/gridList/gridList.min.css +6 -0
  265. data/vendor/assets/bower_components/angular-material/modules/js/gridList/gridList.min.js +7 -0
  266. data/vendor/assets/bower_components/angular-material/modules/js/icon/bower.json +7 -0
  267. data/vendor/assets/bower_components/angular-material/modules/js/icon/icon-default-theme.css +15 -0
  268. data/vendor/assets/bower_components/angular-material/modules/js/icon/icon-default-theme.min.css +6 -0
  269. data/vendor/assets/bower_components/angular-material/modules/js/icon/icon.css +20 -0
  270. data/vendor/assets/bower_components/angular-material/modules/js/icon/icon.js +784 -0
  271. data/vendor/assets/bower_components/angular-material/modules/js/icon/icon.min.css +6 -0
  272. data/vendor/assets/bower_components/angular-material/modules/js/icon/icon.min.js +7 -0
  273. data/vendor/assets/bower_components/angular-material/modules/js/input/bower.json +7 -0
  274. data/vendor/assets/bower_components/angular-material/modules/js/input/input-default-theme.css +46 -0
  275. data/vendor/assets/bower_components/angular-material/modules/js/input/input-default-theme.min.css +6 -0
  276. data/vendor/assets/bower_components/angular-material/modules/js/input/input.css +162 -0
  277. data/vendor/assets/bower_components/angular-material/modules/js/input/input.js +372 -0
  278. data/vendor/assets/bower_components/angular-material/modules/js/input/input.min.css +6 -0
  279. data/vendor/assets/bower_components/angular-material/modules/js/input/input.min.js +7 -0
  280. data/vendor/assets/bower_components/angular-material/modules/js/list/bower.json +7 -0
  281. data/vendor/assets/bower_components/angular-material/modules/js/list/list-default-theme.css +23 -0
  282. data/vendor/assets/bower_components/angular-material/modules/js/list/list-default-theme.min.css +6 -0
  283. data/vendor/assets/bower_components/angular-material/modules/js/list/list.css +147 -0
  284. data/vendor/assets/bower_components/angular-material/modules/js/list/list.js +274 -0
  285. data/vendor/assets/bower_components/angular-material/modules/js/list/list.min.css +6 -0
  286. data/vendor/assets/bower_components/angular-material/modules/js/list/list.min.js +7 -0
  287. data/vendor/assets/bower_components/angular-material/modules/js/menu/bower.json +8 -0
  288. data/vendor/assets/bower_components/angular-material/modules/js/menu/menu-default-theme.css +11 -0
  289. data/vendor/assets/bower_components/angular-material/modules/js/menu/menu-default-theme.min.css +6 -0
  290. data/vendor/assets/bower_components/angular-material/modules/js/menu/menu.css +121 -0
  291. data/vendor/assets/bower_components/angular-material/modules/js/menu/menu.js +620 -0
  292. data/vendor/assets/bower_components/angular-material/modules/js/menu/menu.min.css +6 -0
  293. data/vendor/assets/bower_components/angular-material/modules/js/menu/menu.min.js +7 -0
  294. data/vendor/assets/bower_components/angular-material/modules/js/progressCircular/bower.json +7 -0
  295. data/vendor/assets/bower_components/angular-material/modules/js/progressCircular/progressCircular-default-theme.css +36 -0
  296. data/vendor/assets/bower_components/angular-material/modules/js/progressCircular/progressCircular-default-theme.min.css +6 -0
  297. data/vendor/assets/bower_components/angular-material/modules/js/progressCircular/progressCircular.css +1409 -0
  298. data/vendor/assets/bower_components/angular-material/modules/js/progressCircular/progressCircular.js +110 -0
  299. data/vendor/assets/bower_components/angular-material/modules/js/progressCircular/progressCircular.min.css +6 -0
  300. data/vendor/assets/bower_components/angular-material/modules/js/progressCircular/progressCircular.min.js +7 -0
  301. data/vendor/assets/bower_components/angular-material/modules/js/progressLinear/bower.json +7 -0
  302. data/vendor/assets/bower_components/angular-material/modules/js/progressLinear/progressLinear-default-theme.css +27 -0
  303. data/vendor/assets/bower_components/angular-material/modules/js/progressLinear/progressLinear-default-theme.min.css +6 -0
  304. data/vendor/assets/bower_components/angular-material/modules/js/progressLinear/progressLinear.css +287 -0
  305. data/vendor/assets/bower_components/angular-material/modules/js/progressLinear/progressLinear.js +127 -0
  306. data/vendor/assets/bower_components/angular-material/modules/js/progressLinear/progressLinear.min.css +6 -0
  307. data/vendor/assets/bower_components/angular-material/modules/js/progressLinear/progressLinear.min.js +7 -0
  308. data/vendor/assets/bower_components/angular-material/modules/js/radioButton/bower.json +7 -0
  309. data/vendor/assets/bower_components/angular-material/modules/js/radioButton/radioButton-default-theme.css +47 -0
  310. data/vendor/assets/bower_components/angular-material/modules/js/radioButton/radioButton-default-theme.min.css +6 -0
  311. data/vendor/assets/bower_components/angular-material/modules/js/radioButton/radioButton.css +91 -0
  312. data/vendor/assets/bower_components/angular-material/modules/js/radioButton/radioButton.js +313 -0
  313. data/vendor/assets/bower_components/angular-material/modules/js/radioButton/radioButton.min.css +6 -0
  314. data/vendor/assets/bower_components/angular-material/modules/js/radioButton/radioButton.min.js +7 -0
  315. data/vendor/assets/bower_components/angular-material/modules/js/select/bower.json +8 -0
  316. data/vendor/assets/bower_components/angular-material/modules/js/select/select-default-theme.css +42 -0
  317. data/vendor/assets/bower_components/angular-material/modules/js/select/select-default-theme.min.css +6 -0
  318. data/vendor/assets/bower_components/angular-material/modules/js/select/select.css +170 -0
  319. data/vendor/assets/bower_components/angular-material/modules/js/select/select.js +1055 -0
  320. data/vendor/assets/bower_components/angular-material/modules/js/select/select.min.css +6 -0
  321. data/vendor/assets/bower_components/angular-material/modules/js/select/select.min.js +7 -0
  322. data/vendor/assets/bower_components/angular-material/modules/js/sidenav/bower.json +8 -0
  323. data/vendor/assets/bower_components/angular-material/modules/js/sidenav/sidenav-default-theme.css +9 -0
  324. data/vendor/assets/bower_components/angular-material/modules/js/sidenav/sidenav-default-theme.min.css +6 -0
  325. data/vendor/assets/bower_components/angular-material/modules/js/sidenav/sidenav.css +99 -0
  326. data/vendor/assets/bower_components/angular-material/modules/js/sidenav/sidenav.js +424 -0
  327. data/vendor/assets/bower_components/angular-material/modules/js/sidenav/sidenav.min.css +6 -0
  328. data/vendor/assets/bower_components/angular-material/modules/js/sidenav/sidenav.min.js +7 -0
  329. data/vendor/assets/bower_components/angular-material/modules/js/slider/bower.json +7 -0
  330. data/vendor/assets/bower_components/angular-material/modules/js/slider/slider-default-theme.css +56 -0
  331. data/vendor/assets/bower_components/angular-material/modules/js/slider/slider-default-theme.min.css +6 -0
  332. data/vendor/assets/bower_components/angular-material/modules/js/slider/slider.css +220 -0
  333. data/vendor/assets/bower_components/angular-material/modules/js/slider/slider.js +404 -0
  334. data/vendor/assets/bower_components/angular-material/modules/js/slider/slider.min.css +6 -0
  335. data/vendor/assets/bower_components/angular-material/modules/js/slider/slider.min.js +7 -0
  336. data/vendor/assets/bower_components/angular-material/modules/js/sticky/bower.json +8 -0
  337. data/vendor/assets/bower_components/angular-material/modules/js/sticky/sticky.css +21 -0
  338. data/vendor/assets/bower_components/angular-material/modules/js/sticky/sticky.js +315 -0
  339. data/vendor/assets/bower_components/angular-material/modules/js/sticky/sticky.min.css +6 -0
  340. data/vendor/assets/bower_components/angular-material/modules/js/sticky/sticky.min.js +7 -0
  341. data/vendor/assets/bower_components/angular-material/modules/js/subheader/bower.json +8 -0
  342. data/vendor/assets/bower_components/angular-material/modules/js/subheader/subheader-default-theme.css +16 -0
  343. data/vendor/assets/bower_components/angular-material/modules/js/subheader/subheader-default-theme.min.css +6 -0
  344. data/vendor/assets/bower_components/angular-material/modules/js/subheader/subheader.css +63 -0
  345. data/vendor/assets/bower_components/angular-material/modules/js/subheader/subheader.js +93 -0
  346. data/vendor/assets/bower_components/angular-material/modules/js/subheader/subheader.min.css +6 -0
  347. data/vendor/assets/bower_components/angular-material/modules/js/subheader/subheader.min.js +7 -0
  348. data/vendor/assets/bower_components/angular-material/modules/js/swipe/bower.json +7 -0
  349. data/vendor/assets/bower_components/angular-material/modules/js/swipe/swipe.js +73 -0
  350. data/vendor/assets/bower_components/angular-material/modules/js/swipe/swipe.min.js +7 -0
  351. data/vendor/assets/bower_components/angular-material/modules/js/switch/bower.json +8 -0
  352. data/vendor/assets/bower_components/angular-material/modules/js/switch/switch-default-theme.css +33 -0
  353. data/vendor/assets/bower_components/angular-material/modules/js/switch/switch-default-theme.min.css +6 -0
  354. data/vendor/assets/bower_components/angular-material/modules/js/switch/switch.css +110 -0
  355. data/vendor/assets/bower_components/angular-material/modules/js/switch/switch.js +169 -0
  356. data/vendor/assets/bower_components/angular-material/modules/js/switch/switch.min.css +6 -0
  357. data/vendor/assets/bower_components/angular-material/modules/js/switch/switch.min.js +7 -0
  358. data/vendor/assets/bower_components/angular-material/modules/js/tabs/bower.json +8 -0
  359. data/vendor/assets/bower_components/angular-material/modules/js/tabs/tabs-default-theme.css +82 -0
  360. data/vendor/assets/bower_components/angular-material/modules/js/tabs/tabs-default-theme.min.css +6 -0
  361. data/vendor/assets/bower_components/angular-material/modules/js/tabs/tabs.css +274 -0
  362. data/vendor/assets/bower_components/angular-material/modules/js/tabs/tabs.js +1060 -0
  363. data/vendor/assets/bower_components/angular-material/modules/js/tabs/tabs.min.css +6 -0
  364. data/vendor/assets/bower_components/angular-material/modules/js/tabs/tabs.min.js +7 -0
  365. data/vendor/assets/bower_components/angular-material/modules/js/textField/bower.json +7 -0
  366. data/vendor/assets/bower_components/angular-material/modules/js/textField/textField-default-theme.css +30 -0
  367. data/vendor/assets/bower_components/angular-material/modules/js/textField/textField-default-theme.min.css +6 -0
  368. data/vendor/assets/bower_components/angular-material/modules/js/textField/textField.css +111 -0
  369. data/vendor/assets/bower_components/angular-material/modules/js/textField/textField.js +143 -0
  370. data/vendor/assets/bower_components/angular-material/modules/js/textField/textField.min.css +6 -0
  371. data/vendor/assets/bower_components/angular-material/modules/js/textField/textField.min.js +7 -0
  372. data/vendor/assets/bower_components/angular-material/modules/js/toast/bower.json +8 -0
  373. data/vendor/assets/bower_components/angular-material/modules/js/toast/toast-default-theme.css +18 -0
  374. data/vendor/assets/bower_components/angular-material/modules/js/toast/toast-default-theme.min.css +6 -0
  375. data/vendor/assets/bower_components/angular-material/modules/js/toast/toast.css +119 -0
  376. data/vendor/assets/bower_components/angular-material/modules/js/toast/toast.js +265 -0
  377. data/vendor/assets/bower_components/angular-material/modules/js/toast/toast.min.css +6 -0
  378. data/vendor/assets/bower_components/angular-material/modules/js/toast/toast.min.js +7 -0
  379. data/vendor/assets/bower_components/angular-material/modules/js/toolbar/bower.json +8 -0
  380. data/vendor/assets/bower_components/angular-material/modules/js/toolbar/toolbar-default-theme.css +20 -0
  381. data/vendor/assets/bower_components/angular-material/modules/js/toolbar/toolbar-default-theme.min.css +6 -0
  382. data/vendor/assets/bower_components/angular-material/modules/js/toolbar/toolbar.css +83 -0
  383. data/vendor/assets/bower_components/angular-material/modules/js/toolbar/toolbar.js +169 -0
  384. data/vendor/assets/bower_components/angular-material/modules/js/toolbar/toolbar.min.css +6 -0
  385. data/vendor/assets/bower_components/angular-material/modules/js/toolbar/toolbar.min.js +7 -0
  386. data/vendor/assets/bower_components/angular-material/modules/js/tooltip/bower.json +7 -0
  387. data/vendor/assets/bower_components/angular-material/modules/js/tooltip/tooltip-default-theme.css +11 -0
  388. data/vendor/assets/bower_components/angular-material/modules/js/tooltip/tooltip-default-theme.min.css +6 -0
  389. data/vendor/assets/bower_components/angular-material/modules/js/tooltip/tooltip.css +72 -0
  390. data/vendor/assets/bower_components/angular-material/modules/js/tooltip/tooltip.js +268 -0
  391. data/vendor/assets/bower_components/angular-material/modules/js/tooltip/tooltip.min.css +6 -0
  392. data/vendor/assets/bower_components/angular-material/modules/js/tooltip/tooltip.min.js +7 -0
  393. data/vendor/assets/bower_components/angular-material/modules/js/whiteframe/bower.json +5 -0
  394. data/vendor/assets/bower_components/angular-material/modules/js/whiteframe/whiteframe.css +25 -0
  395. data/vendor/assets/bower_components/angular-material/modules/js/whiteframe/whiteframe.js +16 -0
  396. data/vendor/assets/bower_components/angular-material/modules/js/whiteframe/whiteframe.min.css +6 -0
  397. data/vendor/assets/bower_components/angular-material/modules/js/whiteframe/whiteframe.min.js +7 -0
  398. data/vendor/assets/bower_components/angular-material/package.json +48 -0
  399. data/vendor/assets/bower_components/angular/README.md +64 -0
  400. data/vendor/assets/bower_components/angular/angular-csp.css +21 -0
  401. data/vendor/assets/bower_components/angular/angular.js +28364 -0
  402. data/vendor/assets/bower_components/angular/angular.min.js +290 -0
  403. data/vendor/assets/bower_components/angular/angular.min.js.gzip +0 -0
  404. data/vendor/assets/bower_components/angular/angular.min.js.map +8 -0
  405. data/vendor/assets/bower_components/angular/bower.json +8 -0
  406. data/vendor/assets/bower_components/angular/index.js +2 -0
  407. data/vendor/assets/bower_components/angular/package.json +25 -0
  408. data/vendor/assets/bower_components/lodash/LICENSE +22 -0
  409. data/vendor/assets/bower_components/lodash/bower.json +19 -0
  410. data/vendor/assets/bower_components/lodash/lodash.js +12351 -0
  411. data/vendor/assets/bower_components/lodash/lodash.min.js +99 -0
  412. data/vendor/assets/bower_components/restangular/CHANGELOG.md +18 -0
  413. data/vendor/assets/bower_components/restangular/CONTRIBUTE.md +31 -0
  414. data/vendor/assets/bower_components/restangular/Gruntfile.js +149 -0
  415. data/vendor/assets/bower_components/restangular/README.md +1336 -0
  416. data/vendor/assets/bower_components/restangular/bower.json +19 -0
  417. data/vendor/assets/bower_components/restangular/dist/restangular.js +1355 -0
  418. data/vendor/assets/bower_components/restangular/dist/restangular.min.js +6 -0
  419. data/vendor/assets/bower_components/restangular/dist/restangular.zip +0 -0
  420. data/vendor/assets/bower_components/restangular/karma.conf.js +74 -0
  421. data/vendor/assets/bower_components/restangular/karma.underscore.conf.js +74 -0
  422. data/vendor/assets/bower_components/restangular/license.md +21 -0
  423. data/vendor/assets/bower_components/restangular/package.json +55 -0
  424. data/vendor/assets/bower_components/restangular/src/restangular.js +1350 -0
  425. data/vendor/assets/bower_components/restangular/test/restangularSpec.js +1136 -0
  426. metadata +424 -1
@@ -0,0 +1,6 @@
1
+ /*!
2
+ * Angular Material Design
3
+ * https://github.com/angular/material
4
+ * @license MIT
5
+ * v0.10.0
6
+ */md-sidenav{box-sizing:border-box;position:absolute;width:304px;min-width:304px;max-width:304px;bottom:0;z-index:60;background-color:#fff;overflow:auto;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}md-sidenav *,md-sidenav :after,md-sidenav :before{box-sizing:border-box}md-sidenav ul{list-style:none}md-sidenav.md-closed{display:none}md-sidenav.md-closed-add,md-sidenav.md-closed-remove{display:-webkit-flex;display:-ms-flexbox;display:flex;transition:0s all}md-sidenav.md-closed-add.md-closed-add-active,md-sidenav.md-closed-remove.md-closed-remove-active{transition:all .4s cubic-bezier(.25,.8,.25,1)}md-sidenav.md-locked-open-add,md-sidenav.md-locked-open-remove{position:static;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}md-sidenav.md-locked-open{width:304px;min-width:304px;max-width:304px}md-sidenav.md-locked-open,md-sidenav.md-locked-open-remove.md-closed,md-sidenav.md-locked-open.md-closed,md-sidenav.md-locked-open.md-closed.md-sidenav-left,md-sidenav.md-locked-open.md-closed.md-sidenav-right{position:static;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}md-sidenav.md-locked-open-remove-active{transition:width .3s cubic-bezier(.55,0,.55,.2),min-width .3s cubic-bezier(.55,0,.55,.2);width:0;min-width:0}md-sidenav.md-closed.md-locked-open-add{width:0;min-width:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}md-sidenav.md-closed.md-locked-open-add-active{transition:width .3s cubic-bezier(.55,0,.55,.2),min-width .3s cubic-bezier(.55,0,.55,.2);width:304px;min-width:304px;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.md-sidenav-backdrop.md-locked-open{display:none}.md-sidenav-left,md-sidenav{left:0;top:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.md-sidenav-left.md-closed,md-sidenav.md-closed{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.md-sidenav-right{left:100%;top:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.md-sidenav-right.md-closed{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}@media (max-width:360px){md-sidenav{width:85%}}@media screen and (-ms-high-contrast:active){.md-sidenav-left,md-sidenav{border-right:1px solid #fff}.md-sidenav-right{border-left:1px solid #fff}}
@@ -0,0 +1,7 @@
1
+ /*!
2
+ * Angular Material Design
3
+ * https://github.com/angular/material
4
+ * @license MIT
5
+ * v0.10.0
6
+ */
7
+ !function(e,n,t){"use strict";function o(e,t){return function(o){function r(){return e.when(o).then(function(e){return s=e,e})}var i,c="SideNav '"+o+"' is not available!",s=e.get(o);return s||e.notFoundError(o),i={isOpen:function(){return s&&s.isOpen()},isLockedOpen:function(){return s&&s.isLockedOpen()},toggle:function(){return s?s.toggle():t.reject(c)},open:function(){return s?s.open():t.reject(c)},close:function(){return s?s.close():t.reject(c)},then:function(e){var o=s?t.when(s):r();return o.then(e||n.noop)}}}}function r(){return{restrict:"A",require:"^mdSidenav",link:function(e,n,t,o){o.focusElement(n)}}}function i(e,o,r,i,c,s,d,u,a,l){function f(f,p,m,$){function v(e,n){f.isLockedOpen=e,e===n?p.toggleClass("md-locked-open",!!e):o[e?"addClass":"removeClass"](p,"md-locked-open"),L.toggleClass("md-locked-open",!!e)}function g(e){var n=p.parent();n[e?"on":"off"]("keydown",k),L[e?"on":"off"]("click",w),e&&(E=l[0].activeElement);var t=$.focusElement();return O(e),y=a.all([e?o.enter(L,n):o.leave(L),o[e?"removeClass":"addClass"](p,"md-closed")]).then(function(){f.isOpen&&t&&t.focus()})}function O(e){var o=p.parent();e?(C=o.css("overflow"),o.css("overflow","hidden")):n.isDefined(C)&&(o.css("overflow",C),C=t)}function h(n){if(f.isOpen==n)return a.when(!0);var t=a.defer();return f.isOpen=n,e(function(){y.then(function(e){f.isOpen||(E&&E.focus(),E=null),t.resolve(e)})},0,!1),t.promise}function k(e){var n=e.keyCode===s.KEY_CODE.ESCAPE;return n?w(e):a.when(!0)}function w(e){return e.preventDefault(),e.stopPropagation(),$.close()}var C,E=null,y=a.when(!0),S=r(m.mdIsLockedOpen),j=function(){return S(f.$parent,{$media:function(e){return i.warn("$media is deprecated for is-locked-open. Use $mdMedia instead."),c(e)},$mdMedia:c})},L=d('<md-backdrop class="md-sidenav-backdrop md-opaque ng-enter">')(f);p.on("$destroy",$.destroy),u.inherit(L,p),f.$watch(j,v),f.$watch("isOpen",g),$.$toggleOpen=h,$.focusElement($.focusElement()||p)}return{restrict:"E",scope:{isOpen:"=?mdIsOpen"},controller:"$mdSidenavController",compile:function(e){return e.addClass("md-closed"),e.attr("tabIndex","-1"),f}}}function c(e,t,o,r,i){var c,s=this;s.isOpen=function(){return!!e.isOpen},s.isLockedOpen=function(){return!!e.isLockedOpen},s.open=function(){return s.$toggleOpen(!0)},s.close=function(){return s.$toggleOpen(!1)},s.toggle=function(){return s.$toggleOpen(!e.isOpen)},s.focusElement=function(e){return n.isDefined(e)&&(c=e),c},s.$toggleOpen=function(){return i.when(e.isOpen)},s.destroy=r.register(s,o.mdComponentId)}n.module("material.components.sidenav",["material.core","material.components.backdrop"]).factory("$mdSidenav",o).directive("mdSidenav",i).directive("mdSidenavFocus",r).controller("$mdSidenavController",c),o.$inject=["$mdComponentRegistry","$q"],i.$inject=["$timeout","$animate","$parse","$log","$mdMedia","$mdConstant","$compile","$mdTheming","$q","$document"],c.$inject=["$scope","$element","$attrs","$mdComponentRegistry","$q"]}(window,window.angular);
@@ -0,0 +1,7 @@
1
+ {
2
+ "name": "angular-material-slider",
3
+ "version": "0.10.0",
4
+ "dependencies": {
5
+ "angular-material-core": "0.10.0"
6
+ }
7
+ }
@@ -0,0 +1,56 @@
1
+ /*!
2
+ * Angular Material Design
3
+ * https://github.com/angular/material
4
+ * @license MIT
5
+ * v0.10.0
6
+ */
7
+ /* mixin definition ; sets LTR and RTL within the same style call */
8
+ md-slider.md-THEME_NAME-theme .md-track {
9
+ background-color: '{{foreground-3}}'; }
10
+ md-slider.md-THEME_NAME-theme .md-track-ticks {
11
+ background-color: '{{foreground-4}}'; }
12
+ md-slider.md-THEME_NAME-theme .md-focus-thumb {
13
+ background-color: '{{foreground-2}}'; }
14
+ md-slider.md-THEME_NAME-theme .md-focus-ring {
15
+ border-color: '{{foreground-4}}'; }
16
+ md-slider.md-THEME_NAME-theme .md-disabled-thumb {
17
+ border-color: '{{background-color}}'; }
18
+ md-slider.md-THEME_NAME-theme.md-min .md-thumb:after {
19
+ background-color: '{{background-color}}'; }
20
+ md-slider.md-THEME_NAME-theme .md-track.md-track-fill {
21
+ background-color: '{{accent-color}}'; }
22
+ md-slider.md-THEME_NAME-theme .md-thumb:after {
23
+ border-color: '{{accent-color}}';
24
+ background-color: '{{accent-color}}'; }
25
+ md-slider.md-THEME_NAME-theme .md-sign {
26
+ background-color: '{{accent-color}}'; }
27
+ md-slider.md-THEME_NAME-theme .md-sign:after {
28
+ border-top-color: '{{accent-color}}'; }
29
+ md-slider.md-THEME_NAME-theme .md-thumb-text {
30
+ color: '{{accent-contrast}}'; }
31
+ md-slider.md-THEME_NAME-theme.md-warn .md-track.md-track-fill {
32
+ background-color: '{{warn-color}}'; }
33
+ md-slider.md-THEME_NAME-theme.md-warn .md-thumb:after {
34
+ border-color: '{{warn-color}}';
35
+ background-color: '{{warn-color}}'; }
36
+ md-slider.md-THEME_NAME-theme.md-warn .md-sign {
37
+ background-color: '{{warn-color}}'; }
38
+ md-slider.md-THEME_NAME-theme.md-warn .md-sign:after {
39
+ border-top-color: '{{warn-color}}'; }
40
+ md-slider.md-THEME_NAME-theme.md-warn .md-thumb-text {
41
+ color: '{{warn-contrast}}'; }
42
+ md-slider.md-THEME_NAME-theme.md-primary .md-track.md-track-fill {
43
+ background-color: '{{primary-color}}'; }
44
+ md-slider.md-THEME_NAME-theme.md-primary .md-thumb:after {
45
+ border-color: '{{primary-color}}';
46
+ background-color: '{{primary-color}}'; }
47
+ md-slider.md-THEME_NAME-theme.md-primary .md-sign {
48
+ background-color: '{{primary-color}}'; }
49
+ md-slider.md-THEME_NAME-theme.md-primary .md-sign:after {
50
+ border-top-color: '{{primary-color}}'; }
51
+ md-slider.md-THEME_NAME-theme.md-primary .md-thumb-text {
52
+ color: '{{primary-contrast}}'; }
53
+ md-slider.md-THEME_NAME-theme[disabled] .md-thumb:after {
54
+ border-color: '{{foreground-3}}'; }
55
+ md-slider.md-THEME_NAME-theme[disabled]:not(.md-min) .md-thumb:after {
56
+ background-color: '{{foreground-3}}'; }
@@ -0,0 +1,6 @@
1
+ /*!
2
+ * Angular Material Design
3
+ * https://github.com/angular/material
4
+ * @license MIT
5
+ * v0.10.0
6
+ */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}}'}
@@ -0,0 +1,220 @@
1
+ /*!
2
+ * Angular Material Design
3
+ * https://github.com/angular/material
4
+ * @license MIT
5
+ * v0.10.0
6
+ */
7
+ /* mixin definition ; sets LTR and RTL within the same style call */
8
+ @-webkit-keyframes sliderFocusThumb {
9
+ 0% {
10
+ opacity: 0;
11
+ -webkit-transform: scale(0);
12
+ transform: scale(0); }
13
+
14
+ 50% {
15
+ -webkit-transform: scale(1);
16
+ transform: scale(1);
17
+ opacity: 1; }
18
+
19
+ 100% {
20
+ opacity: 0; } }
21
+ @keyframes sliderFocusThumb {
22
+ 0% {
23
+ opacity: 0;
24
+ -webkit-transform: scale(0);
25
+ transform: scale(0); }
26
+
27
+ 50% {
28
+ -webkit-transform: scale(1);
29
+ transform: scale(1);
30
+ opacity: 1; }
31
+
32
+ 100% {
33
+ opacity: 0; } }
34
+
35
+ md-slider {
36
+ height: 48px;
37
+ position: relative;
38
+ display: block;
39
+ margin-left: 4px;
40
+ margin-right: 4px;
41
+ padding: 0;
42
+ /**
43
+ * Track
44
+ */
45
+ /**
46
+ * Slider thumb
47
+ */
48
+ /* The sign that's focused in discrete mode */
49
+ /**
50
+ * The border/background that comes in when focused in non-discrete mode
51
+ */
52
+ /* Don't animate left/right while panning */ }
53
+ md-slider *, md-slider *:after {
54
+ box-sizing: border-box; }
55
+ md-slider .md-slider-wrapper {
56
+ position: relative; }
57
+ md-slider .md-track-container {
58
+ width: 100%;
59
+ position: absolute;
60
+ top: 23px;
61
+ height: 2px; }
62
+ md-slider .md-track {
63
+ position: absolute;
64
+ left: 0;
65
+ right: 0;
66
+ height: 100%; }
67
+ md-slider .md-track-fill {
68
+ transition: width 0.05s linear; }
69
+ md-slider .md-track-ticks {
70
+ position: absolute;
71
+ left: 0;
72
+ right: 0;
73
+ height: 100%; }
74
+ md-slider .md-thumb-container {
75
+ position: absolute;
76
+ left: 0;
77
+ top: 50%;
78
+ -webkit-transform: translate3d(-50%, -50%, 0);
79
+ transform: translate3d(-50%, -50%, 0);
80
+ transition: left 0.1s linear; }
81
+ md-slider .md-thumb {
82
+ z-index: 1;
83
+ position: absolute;
84
+ left: -19px;
85
+ top: 5px;
86
+ width: 38px;
87
+ height: 38px;
88
+ border-radius: 38px;
89
+ -webkit-transform: scale(0.5);
90
+ transform: scale(0.5);
91
+ transition: all 0.1s linear; }
92
+ md-slider .md-thumb:after {
93
+ content: '';
94
+ position: absolute;
95
+ left: 3px;
96
+ top: 3px;
97
+ width: 32px;
98
+ height: 32px;
99
+ border-radius: 32px;
100
+ border-width: 3px;
101
+ border-style: solid; }
102
+ md-slider .md-sign {
103
+ /* Center the children (slider-thumb-text) */
104
+ display: -webkit-flex;
105
+ display: -ms-flexbox;
106
+ display: flex;
107
+ -webkit-align-items: center;
108
+ -ms-flex-align: center;
109
+ align-items: center;
110
+ -webkit-justify-content: center;
111
+ -ms-flex-pack: center;
112
+ justify-content: center;
113
+ position: absolute;
114
+ left: -14px;
115
+ top: -20px;
116
+ width: 28px;
117
+ height: 28px;
118
+ border-radius: 28px;
119
+ -webkit-transform: scale(0.4) translate3d(0, 70px, 0);
120
+ transform: scale(0.4) translate3d(0, 70px, 0);
121
+ transition: all 0.2s ease-in-out;
122
+ /* The arrow pointing down under the sign */ }
123
+ md-slider .md-sign:after {
124
+ position: absolute;
125
+ content: '';
126
+ left: 0px;
127
+ border-radius: 16px;
128
+ top: 19px;
129
+ border-left: 14px solid transparent;
130
+ border-right: 14px solid transparent;
131
+ border-top-width: 16px;
132
+ border-top-style: solid;
133
+ opacity: 0;
134
+ -webkit-transform: translate3d(0, -8px, 0);
135
+ transform: translate3d(0, -8px, 0);
136
+ transition: all 0.2s ease-in-out; }
137
+ md-slider .md-sign .md-thumb-text {
138
+ z-index: 1;
139
+ font-size: 12px;
140
+ font-weight: bold; }
141
+ md-slider .md-focus-thumb {
142
+ position: absolute;
143
+ left: -24px;
144
+ top: 0px;
145
+ width: 48px;
146
+ height: 48px;
147
+ border-radius: 48px;
148
+ display: none;
149
+ opacity: 0;
150
+ background-color: #C0C0C0;
151
+ -webkit-animation: sliderFocusThumb 0.4s linear;
152
+ animation: sliderFocusThumb 0.4s linear; }
153
+ md-slider .md-focus-ring {
154
+ position: absolute;
155
+ left: -24px;
156
+ top: 0px;
157
+ width: 48px;
158
+ height: 48px;
159
+ border-radius: 48px;
160
+ border: 2px solid #D6D6D6;
161
+ background-color: transparent;
162
+ -webkit-transform: scale(0);
163
+ transform: scale(0);
164
+ transition: all 0.2s linear; }
165
+ md-slider .md-disabled-thumb {
166
+ position: absolute;
167
+ left: -22px;
168
+ top: 2px;
169
+ width: 44px;
170
+ height: 44px;
171
+ border-radius: 44px;
172
+ -webkit-transform: scale(0.35);
173
+ transform: scale(0.35);
174
+ border-width: 6px;
175
+ border-style: solid;
176
+ display: none; }
177
+ md-slider.md-min .md-thumb:after {
178
+ background-color: white; }
179
+ md-slider.md-min .md-sign {
180
+ opacity: 0; }
181
+ md-slider:focus {
182
+ outline: none; }
183
+ md-slider.dragging .md-thumb-container, md-slider.dragging .md-track-fill {
184
+ transition: none; }
185
+ md-slider:not([md-discrete]) {
186
+ /* Hide the sign and ticks in non-discrete mode */ }
187
+ md-slider:not([md-discrete]) .md-track-ticks, md-slider:not([md-discrete]) .md-sign {
188
+ display: none; }
189
+ md-slider:not([md-discrete]):not([disabled]):hover .md-thumb {
190
+ -webkit-transform: scale(0.6);
191
+ transform: scale(0.6); }
192
+ md-slider:not([md-discrete]):not([disabled]):focus .md-focus-thumb, md-slider:not([md-discrete]):not([disabled]).active .md-focus-thumb {
193
+ display: block; }
194
+ md-slider:not([md-discrete]):not([disabled]):focus .md-focus-ring, md-slider:not([md-discrete]):not([disabled]).active .md-focus-ring {
195
+ -webkit-transform: scale(1);
196
+ transform: scale(1); }
197
+ md-slider:not([md-discrete]):not([disabled]):focus .md-thumb, md-slider:not([md-discrete]):not([disabled]).active .md-thumb {
198
+ -webkit-transform: scale(0.85);
199
+ transform: scale(0.85); }
200
+ md-slider[md-discrete] {
201
+ /* Hide the focus thumb in discrete mode */ }
202
+ md-slider[md-discrete] .md-focus-thumb, md-slider[md-discrete] .md-focus-ring {
203
+ display: none; }
204
+ md-slider[md-discrete]:not([disabled]):focus .md-sign, md-slider[md-discrete]:not([disabled]):focus .md-sign:after, md-slider[md-discrete]:not([disabled]).active .md-sign, md-slider[md-discrete]:not([disabled]).active .md-sign:after {
205
+ opacity: 1;
206
+ -webkit-transform: translate3d(0, 0, 0) scale(1);
207
+ transform: translate3d(0, 0, 0) scale(1); }
208
+ md-slider[disabled] .md-track-fill {
209
+ display: none; }
210
+ md-slider[disabled] .md-sign {
211
+ display: none; }
212
+ md-slider[disabled] .md-thumb {
213
+ -webkit-transform: scale(0.35);
214
+ transform: scale(0.35); }
215
+ md-slider[disabled] .md-disabled-thumb {
216
+ display: block; }
217
+
218
+ @media screen and (-ms-high-contrast: active) {
219
+ md-slider.md-default-theme .md-track {
220
+ border-bottom: 1px solid #fff; } }
@@ -0,0 +1,404 @@
1
+ /*!
2
+ * Angular Material Design
3
+ * https://github.com/angular/material
4
+ * @license MIT
5
+ * v0.10.0
6
+ */
7
+ (function( window, angular, undefined ){
8
+ "use strict";
9
+
10
+ /**
11
+ * @ngdoc module
12
+ * @name material.components.slider
13
+ */
14
+ angular.module('material.components.slider', [
15
+ 'material.core'
16
+ ])
17
+ .directive('mdSlider', SliderDirective);
18
+
19
+ /**
20
+ * @ngdoc directive
21
+ * @name mdSlider
22
+ * @module material.components.slider
23
+ * @restrict E
24
+ * @description
25
+ * The `<md-slider>` component allows the user to choose from a range of
26
+ * values.
27
+ *
28
+ * As per the [material design spec](http://www.google.com/design/spec/style/color.html#color-ui-color-application)
29
+ * the slider is in the accent color by default. The primary color palette may be used with
30
+ * the `md-primary` class.
31
+ *
32
+ * It has two modes: 'normal' mode, where the user slides between a wide range
33
+ * of values, and 'discrete' mode, where the user slides between only a few
34
+ * select values.
35
+ *
36
+ * To enable discrete mode, add the `md-discrete` attribute to a slider,
37
+ * and use the `step` attribute to change the distance between
38
+ * values the user is allowed to pick.
39
+ *
40
+ * @usage
41
+ * <h4>Normal Mode</h4>
42
+ * <hljs lang="html">
43
+ * <md-slider ng-model="myValue" min="5" max="500">
44
+ * </md-slider>
45
+ * </hljs>
46
+ * <h4>Discrete Mode</h4>
47
+ * <hljs lang="html">
48
+ * <md-slider md-discrete ng-model="myDiscreteValue" step="10" min="10" max="130">
49
+ * </md-slider>
50
+ * </hljs>
51
+ *
52
+ * @param {boolean=} md-discrete Whether to enable discrete mode.
53
+ * @param {number=} step The distance between values the user is allowed to pick. Default 1.
54
+ * @param {number=} min The minimum value the user is allowed to pick. Default 0.
55
+ * @param {number=} max The maximum value the user is allowed to pick. Default 100.
56
+ */
57
+ function SliderDirective($$rAF, $window, $mdAria, $mdUtil, $mdConstant, $mdTheming, $mdGesture, $parse) {
58
+ return {
59
+ scope: {},
60
+ require: '?ngModel',
61
+ template:
62
+ '<div class="md-slider-wrapper">\
63
+ <div class="md-track-container">\
64
+ <div class="md-track"></div>\
65
+ <div class="md-track md-track-fill"></div>\
66
+ <div class="md-track-ticks"></div>\
67
+ </div>\
68
+ <div class="md-thumb-container">\
69
+ <div class="md-thumb"></div>\
70
+ <div class="md-focus-thumb"></div>\
71
+ <div class="md-focus-ring"></div>\
72
+ <div class="md-sign">\
73
+ <span class="md-thumb-text"></span>\
74
+ </div>\
75
+ <div class="md-disabled-thumb"></div>\
76
+ </div>\
77
+ </div>',
78
+ compile: compile
79
+ };
80
+
81
+ // **********************************************************
82
+ // Private Methods
83
+ // **********************************************************
84
+
85
+ function compile (tElement, tAttrs) {
86
+ tElement.attr({
87
+ tabIndex: 0,
88
+ role: 'slider'
89
+ });
90
+
91
+ $mdAria.expect(tElement, 'aria-label');
92
+
93
+ return postLink;
94
+ }
95
+
96
+ function postLink(scope, element, attr, ngModelCtrl) {
97
+ $mdTheming(element);
98
+ ngModelCtrl = ngModelCtrl || {
99
+ // Mock ngModelController if it doesn't exist to give us
100
+ // the minimum functionality needed
101
+ $setViewValue: function(val) {
102
+ this.$viewValue = val;
103
+ this.$viewChangeListeners.forEach(function(cb) { cb(); });
104
+ },
105
+ $parsers: [],
106
+ $formatters: [],
107
+ $viewChangeListeners: []
108
+ };
109
+
110
+ var isDisabledParsed = attr.ngDisabled && $parse(attr.ngDisabled);
111
+ var isDisabledGetter = isDisabledParsed ?
112
+ function() { return isDisabledParsed(scope.$parent); } :
113
+ angular.noop;
114
+ var thumb = angular.element(element[0].querySelector('.md-thumb'));
115
+ var thumbText = angular.element(element[0].querySelector('.md-thumb-text'));
116
+ var thumbContainer = thumb.parent();
117
+ var trackContainer = angular.element(element[0].querySelector('.md-track-container'));
118
+ var activeTrack = angular.element(element[0].querySelector('.md-track-fill'));
119
+ var tickContainer = angular.element(element[0].querySelector('.md-track-ticks'));
120
+ var throttledRefreshDimensions = $mdUtil.throttle(refreshSliderDimensions, 5000);
121
+
122
+ // Default values, overridable by attrs
123
+ angular.isDefined(attr.min) ? attr.$observe('min', updateMin) : updateMin(0);
124
+ angular.isDefined(attr.max) ? attr.$observe('max', updateMax) : updateMax(100);
125
+ angular.isDefined(attr.step)? attr.$observe('step', updateStep) : updateStep(1);
126
+
127
+ // We have to manually stop the $watch on ngDisabled because it exists
128
+ // on the parent scope, and won't be automatically destroyed when
129
+ // the component is destroyed.
130
+ var stopDisabledWatch = angular.noop;
131
+ if (attr.ngDisabled) {
132
+ stopDisabledWatch = scope.$parent.$watch(attr.ngDisabled, updateAriaDisabled);
133
+ }
134
+
135
+ $mdGesture.register(element, 'drag');
136
+
137
+ element
138
+ .on('keydown', keydownListener)
139
+ .on('$md.pressdown', onPressDown)
140
+ .on('$md.pressup', onPressUp)
141
+ .on('$md.dragstart', onDragStart)
142
+ .on('$md.drag', onDrag)
143
+ .on('$md.dragend', onDragEnd);
144
+
145
+ // On resize, recalculate the slider's dimensions and re-render
146
+ function updateAll() {
147
+ refreshSliderDimensions();
148
+ ngModelRender();
149
+ redrawTicks();
150
+ }
151
+ setTimeout(updateAll);
152
+
153
+ var debouncedUpdateAll = $$rAF.throttle(updateAll);
154
+ angular.element($window).on('resize', debouncedUpdateAll);
155
+
156
+ scope.$on('$destroy', function() {
157
+ angular.element($window).off('resize', debouncedUpdateAll);
158
+ stopDisabledWatch();
159
+ });
160
+
161
+ ngModelCtrl.$render = ngModelRender;
162
+ ngModelCtrl.$viewChangeListeners.push(ngModelRender);
163
+ ngModelCtrl.$formatters.push(minMaxValidator);
164
+ ngModelCtrl.$formatters.push(stepValidator);
165
+
166
+ /**
167
+ * Attributes
168
+ */
169
+ var min;
170
+ var max;
171
+ var step;
172
+ function updateMin(value) {
173
+ min = parseFloat(value);
174
+ element.attr('aria-valuemin', value);
175
+ updateAll();
176
+ }
177
+ function updateMax(value) {
178
+ max = parseFloat(value);
179
+ element.attr('aria-valuemax', value);
180
+ updateAll();
181
+ }
182
+ function updateStep(value) {
183
+ step = parseFloat(value);
184
+ redrawTicks();
185
+ }
186
+ function updateAriaDisabled(isDisabled) {
187
+ element.attr('aria-disabled', !!isDisabled);
188
+ }
189
+
190
+ // Draw the ticks with canvas.
191
+ // The alternative to drawing ticks with canvas is to draw one element for each tick,
192
+ // which could quickly become a performance bottleneck.
193
+ var tickCanvas, tickCtx;
194
+ function redrawTicks() {
195
+ if (!angular.isDefined(attr.mdDiscrete)) return;
196
+
197
+ var numSteps = Math.floor( (max - min) / step );
198
+ if (!tickCanvas) {
199
+ var trackTicksStyle = $window.getComputedStyle(tickContainer[0]);
200
+ tickCanvas = angular.element('<canvas style="position:absolute;">');
201
+ tickCtx = tickCanvas[0].getContext('2d');
202
+ tickCtx.fillStyle = trackTicksStyle.backgroundColor || 'black';
203
+ tickContainer.append(tickCanvas);
204
+ }
205
+ var dimensions = getSliderDimensions();
206
+ tickCanvas[0].width = dimensions.width;
207
+ tickCanvas[0].height = dimensions.height;
208
+
209
+ var distance;
210
+ for (var i = 0; i <= numSteps; i++) {
211
+ distance = Math.floor(dimensions.width * (i / numSteps));
212
+ tickCtx.fillRect(distance - 1, 0, 2, dimensions.height);
213
+ }
214
+ }
215
+
216
+
217
+ /**
218
+ * Refreshing Dimensions
219
+ */
220
+ var sliderDimensions = {};
221
+ refreshSliderDimensions();
222
+ function refreshSliderDimensions() {
223
+ sliderDimensions = trackContainer[0].getBoundingClientRect();
224
+ }
225
+ function getSliderDimensions() {
226
+ throttledRefreshDimensions();
227
+ return sliderDimensions;
228
+ }
229
+
230
+ /**
231
+ * left/right arrow listener
232
+ */
233
+ function keydownListener(ev) {
234
+ if(element[0].hasAttribute('disabled')) {
235
+ return;
236
+ }
237
+
238
+ var changeAmount;
239
+ if (ev.keyCode === $mdConstant.KEY_CODE.LEFT_ARROW) {
240
+ changeAmount = -step;
241
+ } else if (ev.keyCode === $mdConstant.KEY_CODE.RIGHT_ARROW) {
242
+ changeAmount = step;
243
+ }
244
+ if (changeAmount) {
245
+ if (ev.metaKey || ev.ctrlKey || ev.altKey) {
246
+ changeAmount *= 4;
247
+ }
248
+ ev.preventDefault();
249
+ ev.stopPropagation();
250
+ scope.$evalAsync(function() {
251
+ setModelValue(ngModelCtrl.$viewValue + changeAmount);
252
+ });
253
+ }
254
+ }
255
+
256
+ /**
257
+ * ngModel setters and validators
258
+ */
259
+ function setModelValue(value) {
260
+ ngModelCtrl.$setViewValue( minMaxValidator(stepValidator(value)) );
261
+ }
262
+ function ngModelRender() {
263
+ if (isNaN(ngModelCtrl.$viewValue)) {
264
+ ngModelCtrl.$viewValue = ngModelCtrl.$modelValue;
265
+ }
266
+
267
+ var percent = (ngModelCtrl.$viewValue - min) / (max - min);
268
+ scope.modelValue = ngModelCtrl.$viewValue;
269
+ element.attr('aria-valuenow', ngModelCtrl.$viewValue);
270
+ setSliderPercent(percent);
271
+ thumbText.text( ngModelCtrl.$viewValue );
272
+ }
273
+
274
+ function minMaxValidator(value) {
275
+ if (angular.isNumber(value)) {
276
+ return Math.max(min, Math.min(max, value));
277
+ }
278
+ }
279
+ function stepValidator(value) {
280
+ if (angular.isNumber(value)) {
281
+ var formattedValue = (Math.round(value / step) * step);
282
+ // Format to 3 digits after the decimal point - fixes #2015.
283
+ return (Math.round(formattedValue * 1000) / 1000);
284
+ }
285
+ }
286
+
287
+ /**
288
+ * @param percent 0-1
289
+ */
290
+ function setSliderPercent(percent) {
291
+ activeTrack.css('width', (percent * 100) + '%');
292
+ thumbContainer.css(
293
+ 'left',
294
+ (percent * 100) + '%'
295
+ );
296
+ element.toggleClass('md-min', percent === 0);
297
+ }
298
+
299
+
300
+ /**
301
+ * Slide listeners
302
+ */
303
+ var isDragging = false;
304
+ var isDiscrete = angular.isDefined(attr.mdDiscrete);
305
+
306
+ function onPressDown(ev) {
307
+ if (isDisabledGetter()) return;
308
+
309
+ element.addClass('active');
310
+ element[0].focus();
311
+ refreshSliderDimensions();
312
+
313
+ var exactVal = percentToValue( positionToPercent( ev.pointer.x ));
314
+ var closestVal = minMaxValidator( stepValidator(exactVal) );
315
+ scope.$apply(function() {
316
+ setModelValue( closestVal );
317
+ setSliderPercent( valueToPercent(closestVal));
318
+ });
319
+ }
320
+ function onPressUp(ev) {
321
+ if (isDisabledGetter()) return;
322
+
323
+ element.removeClass('dragging active');
324
+
325
+ var exactVal = percentToValue( positionToPercent( ev.pointer.x ));
326
+ var closestVal = minMaxValidator( stepValidator(exactVal) );
327
+ scope.$apply(function() {
328
+ setModelValue(closestVal);
329
+ ngModelRender();
330
+ });
331
+ }
332
+ function onDragStart(ev) {
333
+ if (isDisabledGetter()) return;
334
+ isDragging = true;
335
+ ev.stopPropagation();
336
+
337
+ element.addClass('dragging');
338
+ setSliderFromEvent(ev);
339
+ }
340
+ function onDrag(ev) {
341
+ if (!isDragging) return;
342
+ ev.stopPropagation();
343
+ setSliderFromEvent(ev);
344
+ }
345
+ function onDragEnd(ev) {
346
+ if (!isDragging) return;
347
+ ev.stopPropagation();
348
+ isDragging = false;
349
+ }
350
+
351
+ function setSliderFromEvent(ev) {
352
+ // While panning discrete, update only the
353
+ // visual positioning but not the model value.
354
+ if ( isDiscrete ) adjustThumbPosition( ev.pointer.x );
355
+ else doSlide( ev.pointer.x );
356
+ }
357
+
358
+ /**
359
+ * Slide the UI by changing the model value
360
+ * @param x
361
+ */
362
+ function doSlide( x ) {
363
+ scope.$evalAsync( function() {
364
+ setModelValue( percentToValue( positionToPercent(x) ));
365
+ });
366
+ }
367
+
368
+ /**
369
+ * Slide the UI without changing the model (while dragging/panning)
370
+ * @param x
371
+ */
372
+ function adjustThumbPosition( x ) {
373
+ var exactVal = percentToValue( positionToPercent( x ));
374
+ var closestVal = minMaxValidator( stepValidator(exactVal) );
375
+ setSliderPercent( positionToPercent(x) );
376
+ thumbText.text( closestVal );
377
+ }
378
+
379
+ /**
380
+ * Convert horizontal position on slider to percentage value of offset from beginning...
381
+ * @param x
382
+ * @returns {number}
383
+ */
384
+ function positionToPercent( x ) {
385
+ return Math.max(0, Math.min(1, (x - sliderDimensions.left) / (sliderDimensions.width)));
386
+ }
387
+
388
+ /**
389
+ * Convert percentage offset on slide to equivalent model value
390
+ * @param percent
391
+ * @returns {*}
392
+ */
393
+ function percentToValue( percent ) {
394
+ return (min + percent * (max - min));
395
+ }
396
+
397
+ function valueToPercent( val ) {
398
+ return (val - min)/(max - min);
399
+ }
400
+ }
401
+ }
402
+ SliderDirective.$inject = ["$$rAF", "$window", "$mdAria", "$mdUtil", "$mdConstant", "$mdTheming", "$mdGesture", "$parse"];
403
+
404
+ })(window, window.angular);