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-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}}
@@ -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(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<e.col;)u>=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;e<l.length;e++)if(0!==l[e])return e;return e===l.length?e:void 0}function a(){for(var e=[],n=0;t>n;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:"<figure ng-transclude></figure>",transclude:!0,scope:{},controller:["$attrs",function(t){this.$attrs=t}],link:n}}function u(){return{template:"<figcaption ng-transclude></figcaption>",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);
@@ -0,0 +1,7 @@
1
+ {
2
+ "name": "angular-material-icon",
3
+ "version": "0.10.0",
4
+ "dependencies": {
5
+ "angular-material-core": "0.10.0"
6
+ }
7
+ }
@@ -0,0 +1,15 @@
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-icon.md-THEME_NAME-theme {
9
+ color: '{{foreground-2}}'; }
10
+ md-icon.md-THEME_NAME-theme.md-primary {
11
+ color: '{{primary-color}}'; }
12
+ md-icon.md-THEME_NAME-theme.md-accent {
13
+ color: '{{accent-color}}'; }
14
+ md-icon.md-THEME_NAME-theme.md-warn {
15
+ color: '{{warn-color}}'; }
@@ -0,0 +1,6 @@
1
+ /*!
2
+ * Angular Material Design
3
+ * https://github.com/angular/material
4
+ * @license MIT
5
+ * v0.10.0
6
+ */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}}'}
@@ -0,0 +1,20 @@
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-icon {
9
+ margin: auto;
10
+ background-repeat: no-repeat no-repeat;
11
+ display: inline-block;
12
+ vertical-align: middle;
13
+ fill: currentColor;
14
+ height: 24px;
15
+ width: 24px; }
16
+ md-icon svg {
17
+ pointer-events: none; }
18
+ md-icon[md-font-icon] {
19
+ line-height: 1;
20
+ width: auto; }
@@ -0,0 +1,784 @@
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.icon
13
+ * @description
14
+ * Icon
15
+ */
16
+ angular.module('material.components.icon', [
17
+ 'material.core'
18
+ ])
19
+ .directive('mdIcon', mdIconDirective);
20
+
21
+ /**
22
+ * @ngdoc directive
23
+ * @name mdIcon
24
+ * @module material.components.icon
25
+ *
26
+ * @restrict E
27
+ *
28
+ * @description
29
+ * The `<md-icon>` directive is an markup element useful for showing an icon based on a font-icon
30
+ * or a SVG. Icons are view-only elements that should not be used directly as buttons; instead nest a `<md-icon>`
31
+ * inside a `md-button` to add hover and click features.
32
+ *
33
+ * When using SVGs, both external SVGs (via URLs) or sets of SVGs [from icon sets] can be
34
+ * easily loaded and used.When use font-icons, developers must following three (3) simple steps:
35
+ *
36
+ * <ol>
37
+ * <li>Load the font library. e.g.<br/>
38
+ * &lt;link href="https://fonts.googleapis.com/icon?family=Material+Icons"
39
+ * rel="stylesheet"&gt;
40
+ * </li>
41
+ * <li> Use either (a) font-icon class names or (b) font ligatures to render the font glyph by using its textual name</li>
42
+ * <li> Use &lt;md-icon md-font-icon="classname" /&gt; or <br/>
43
+ * use &lt;md-icon md-font-set="font library classname or alias"&gt; textual_name &lt;/md-icon&gt; or <br/>
44
+ * use &lt;md-icon md-font-set="font library classname or alias"&gt; numerical_character_reference &lt;/md-icon&gt;
45
+ * </li>
46
+ * </ol>
47
+ *
48
+ * Full details for these steps can be found:
49
+ *
50
+ * <ul>
51
+ * <li>http://google.github.io/material-design-icons/</li>
52
+ * <li>http://google.github.io/material-design-icons/#icon-font-for-the-web</li>
53
+ * </ul>
54
+ *
55
+ * The Material Design icon style <code>.material-icons</code> and the icon font references are published in
56
+ * Material Design Icons:
57
+ *
58
+ * <ul>
59
+ * <li>http://www.google.com/design/icons/</li>
60
+ * <li>https://www.google.com/design/icons/#ic_accessibility</li>
61
+ * </ul>
62
+ *
63
+ * <h2 id="material_design_icons">Material Design Icons</h2>
64
+ * Using the Material Design Icon-Selector, developers can easily and quickly search for a Material Design font-icon and
65
+ * determine its textual name and character reference code. Click on any icon to see the slide-up information
66
+ * panel with details regarding a SVG download or information on the font-icon usage.
67
+ *
68
+ * <a href="https://www.google.com/design/icons/#ic_accessibility" target="_blank" style="border-bottom:none;">
69
+ * <img src="https://cloud.githubusercontent.com/assets/210413/7902490/fe8dd14c-0780-11e5-98fb-c821cc6475e6.png"
70
+ * aria-label="Material Design Icon-Selector" style="max-width:75%;padding-left:10%">
71
+ * </a>
72
+ *
73
+ * <span class="image_caption">
74
+ * Click on the image above to link to the
75
+ * <a href="https://www.google.com/design/icons/#ic_accessibility" target="_blank">Material Design Icon-Selector</a>.
76
+ * </span>
77
+ *
78
+ * @param {string} md-font-icon Name of CSS icon associated with the font-face will be used
79
+ * to render the icon. Requires the fonts and the named CSS styles to be preloaded.
80
+ * @param {string} md-font-set CSS style name associated with the font library; which will be assigned as
81
+ * the class for the font-icon ligature. This value may also be an alias that is used to lookup the classname;
82
+ * internally use `$mdIconProvider.fontSet(<alias>)` to determine the style name.
83
+ * @param {string} md-svg-src URL [or expression ] used to load, cache, and display an external SVG.
84
+ * @param {string} md-svg-icon Name used for lookup of the icon from the internal cache; interpolated strings or
85
+ * expressions may also be used. Specific set names can be used with the syntax `<set name>:<icon name>`.<br/><br/>
86
+ * To use icon sets, developers are required to pre-register the sets using the `$mdIconProvider` service.
87
+ * @param {string=} aria-label Labels icon for accessibility. If an empty string is provided, icon
88
+ * will be hidden from accessibility layer with `aria-hidden="true"`. If there's no aria-label on the icon
89
+ * nor a label on the parent element, a warning will be logged to the console.
90
+ *
91
+ * @usage
92
+ * When using SVGs:
93
+ * <hljs lang="html">
94
+ *
95
+ * <!-- Icon ID; may contain optional icon set prefix; icons must registered using $mdIconProvider -->
96
+ * <md-icon md-svg-icon="social:android" aria-label="android " ></md-icon>
97
+ *
98
+ * <!-- Icon urls; may be preloaded in templateCache -->
99
+ * <md-icon md-svg-src="/android.svg" aria-label="android " ></md-icon>
100
+ * <md-icon md-svg-src="{{ getAndroid() }}" aria-label="android " ></md-icon>
101
+ *
102
+ * </hljs>
103
+ *
104
+ * Use the <code>$mdIconProvider</code> to configure your application with
105
+ * svg iconsets.
106
+ *
107
+ * <hljs lang="js">
108
+ * angular.module('appSvgIconSets', ['ngMaterial'])
109
+ * .controller('DemoCtrl', function($scope) {})
110
+ * .config(function($mdIconProvider) {
111
+ * $mdIconProvider
112
+ * .iconSet('social', 'img/icons/sets/social-icons.svg', 24)
113
+ * .defaultIconSet('img/icons/sets/core-icons.svg', 24);
114
+ * });
115
+ * </hljs>
116
+ *
117
+ *
118
+ * When using Font Icons with classnames:
119
+ * <hljs lang="html">
120
+ *
121
+ * <md-icon md-font-icon="android" aria-label="android" ></md-icon>
122
+ * <md-icon class="icon_home" aria-label="Home" ></md-icon>
123
+ *
124
+ * </hljs>
125
+ *
126
+ * When using Material Font Icons with ligatures:
127
+ * <hljs lang="html">
128
+ * <!-- For Material Design Icons -->
129
+ * <!-- The class '.material-icons' is auto-added. -->
130
+ * <md-icon> face </md-icon>
131
+ * <md-icon class="md-light md-48"> face </md-icon>
132
+ * <md-icon md-font-set="material-icons"> face </md-icon>
133
+ * <md-icon> #xE87C; </md-icon>
134
+ * </hljs>
135
+ *
136
+ * When using other Font-Icon libraries:
137
+ *
138
+ * <hljs lang="js">
139
+ * // Specify a font-icon style alias
140
+ * angular.config(function($mdIconProvider) {
141
+ * $mdIconProvider.fontSet('fa', 'fontawesome');
142
+ * });
143
+ * </hljs>
144
+ *
145
+ * <hljs lang="html">
146
+ * <md-icon md-font-set="fa">email</md-icon>
147
+ * </hljs>
148
+ *
149
+ */
150
+ function mdIconDirective($mdIcon, $mdTheming, $mdAria, $interpolate ) {
151
+
152
+ return {
153
+ scope: {
154
+ fontSet : '@mdFontSet',
155
+ fontIcon: '@mdFontIcon',
156
+ svgIcon : '@mdSvgIcon',
157
+ svgSrc : '@mdSvgSrc'
158
+ },
159
+ restrict: 'E',
160
+ link : postLink
161
+ };
162
+
163
+
164
+ /**
165
+ * Directive postLink
166
+ * Supports embedded SVGs, font-icons, & external SVGs
167
+ */
168
+ function postLink(scope, element, attr) {
169
+ $mdTheming(element);
170
+
171
+ prepareForFontIcon();
172
+
173
+ // If using a font-icon, then the textual name of the icon itself
174
+ // provides the aria-label.
175
+
176
+ var label = attr.alt || scope.fontIcon || scope.svgIcon || element.text();
177
+ var attrName = attr.$normalize(attr.$attr.mdSvgIcon || attr.$attr.mdSvgSrc || '');
178
+
179
+ if ( !attr['aria-label'] ) {
180
+
181
+ if (label != '' && !parentsHaveText() ) {
182
+
183
+ $mdAria.expect(element, 'aria-label', label);
184
+ $mdAria.expect(element, 'role', 'img');
185
+
186
+ } else if ( !element.text() ) {
187
+ // If not a font-icon with ligature, then
188
+ // hide from the accessibility layer.
189
+
190
+ $mdAria.expect(element, 'aria-hidden', 'true');
191
+ }
192
+ }
193
+
194
+ if (attrName) {
195
+ // Use either pre-configured SVG or URL source, respectively.
196
+ attr.$observe(attrName, function(attrVal) {
197
+
198
+ element.empty();
199
+ if (attrVal) {
200
+ $mdIcon(attrVal).then(function(svg) {
201
+ element.append(svg);
202
+ });
203
+ }
204
+
205
+ });
206
+ }
207
+
208
+ function parentsHaveText() {
209
+ var parent = element.parent();
210
+ if (parent.attr('aria-label') || parent.text()) {
211
+ return true;
212
+ }
213
+ else if(parent.parent().attr('aria-label') || parent.parent().text()) {
214
+ return true;
215
+ }
216
+ return false;
217
+ }
218
+
219
+ function prepareForFontIcon () {
220
+ if (!scope.svgIcon && !scope.svgSrc) {
221
+ if (scope.fontIcon) {
222
+ element.addClass('md-font');
223
+ element.addClass(scope.fontIcon);
224
+ } else {
225
+ element.addClass($mdIcon.fontSet(scope.fontSet));
226
+ }
227
+ }
228
+
229
+ }
230
+ }
231
+ }
232
+ mdIconDirective.$inject = ["$mdIcon", "$mdTheming", "$mdAria", "$interpolate"];
233
+
234
+ angular
235
+ .module('material.components.icon' )
236
+ .provider('$mdIcon', MdIconProvider);
237
+
238
+ /**
239
+ * @ngdoc service
240
+ * @name $mdIconProvider
241
+ * @module material.components.icon
242
+ *
243
+ * @description
244
+ * `$mdIconProvider` is used only to register icon IDs with URLs. These configuration features allow
245
+ * icons and icon sets to be pre-registered and associated with source URLs **before** the `<md-icon />`
246
+ * directives are compiled.
247
+ *
248
+ * If using font-icons, the developer is repsonsible for loading the fonts.
249
+ *
250
+ * If using SVGs, loading of the actual svg files are deferred to on-demand requests and are loaded
251
+ * internally by the `$mdIcon` service using the `$http` service. When an SVG is requested by name/ID,
252
+ * the `$mdIcon` service searches its registry for the associated source URL;
253
+ * that URL is used to on-demand load and parse the SVG dynamically.
254
+ *
255
+ * @usage
256
+ * <hljs lang="js">
257
+ * app.config(function($mdIconProvider) {
258
+ *
259
+ * // Configure URLs for icons specified by [set:]id.
260
+ *
261
+ * $mdIconProvider
262
+ * .defaultFontSet( 'fontawesome' )
263
+ * .defaultIconSet('my/app/icons.svg') // Register a default set of SVG icons
264
+ * .iconSet('social', 'my/app/social.svg') // Register a named icon set of SVGs
265
+ * .icon('android', 'my/app/android.svg') // Register a specific icon (by name)
266
+ * .icon('work:chair', 'my/app/chair.svg'); // Register icon in a specific set
267
+ * });
268
+ * </hljs>
269
+ *
270
+ * SVG icons and icon sets can be easily pre-loaded and cached using either (a) a build process or (b) a runtime
271
+ * **startup** process (shown below):
272
+ *
273
+ * <hljs lang="js">
274
+ * app.config(function($mdIconProvider) {
275
+ *
276
+ * // Register a default set of SVG icon definitions
277
+ * $mdIconProvider.defaultIconSet('my/app/icons.svg')
278
+ *
279
+ * })
280
+ * .run(function($http, $templateCache){
281
+ *
282
+ * // Pre-fetch icons sources by URL and cache in the $templateCache...
283
+ * // subsequent $http calls will look there first.
284
+ *
285
+ * var urls = [ 'imy/app/icons.svg', 'img/icons/android.svg'];
286
+ *
287
+ * angular.forEach(urls, function(url) {
288
+ * $http.get(url, {cache: $templateCache});
289
+ * });
290
+ *
291
+ * });
292
+ *
293
+ * </hljs>
294
+ *
295
+ * NOTE: the loaded SVG data is subsequently cached internally for future requests.
296
+ *
297
+ */
298
+
299
+ /**
300
+ * @ngdoc method
301
+ * @name $mdIconProvider#icon
302
+ *
303
+ * @description
304
+ * Register a source URL for a specific icon name; the name may include optional 'icon set' name prefix.
305
+ * These icons will later be retrieved from the cache using `$mdIcon( <icon name> )`
306
+ *
307
+ * @param {string} id Icon name/id used to register the icon
308
+ * @param {string} url specifies the external location for the data file. Used internally by `$http` to load the
309
+ * data or as part of the lookup in `$templateCache` if pre-loading was configured.
310
+ * @param {number=} viewBoxSize Sets the width and height the icon's viewBox.
311
+ * It is ignored for icons with an existing viewBox. Default size is 24.
312
+ *
313
+ * @returns {obj} an `$mdIconProvider` reference; used to support method call chains for the API
314
+ *
315
+ * @usage
316
+ * <hljs lang="js">
317
+ * app.config(function($mdIconProvider) {
318
+ *
319
+ * // Configure URLs for icons specified by [set:]id.
320
+ *
321
+ * $mdIconProvider
322
+ * .icon('android', 'my/app/android.svg') // Register a specific icon (by name)
323
+ * .icon('work:chair', 'my/app/chair.svg'); // Register icon in a specific set
324
+ * });
325
+ * </hljs>
326
+ *
327
+ */
328
+ /**
329
+ * @ngdoc method
330
+ * @name $mdIconProvider#iconSet
331
+ *
332
+ * @description
333
+ * Register a source URL for a 'named' set of icons; group of SVG definitions where each definition
334
+ * has an icon id. Individual icons can be subsequently retrieved from this cached set using
335
+ * `$mdIcon(<icon set name>:<icon name>)`
336
+ *
337
+ * @param {string} id Icon name/id used to register the iconset
338
+ * @param {string} url specifies the external location for the data file. Used internally by `$http` to load the
339
+ * data or as part of the lookup in `$templateCache` if pre-loading was configured.
340
+ * @param {number=} viewBoxSize Sets the width and height of the viewBox of all icons in the set.
341
+ * It is ignored for icons with an existing viewBox. All icons in the icon set should be the same size.
342
+ * Default value is 24.
343
+ *
344
+ * @returns {obj} an `$mdIconProvider` reference; used to support method call chains for the API
345
+ *
346
+ *
347
+ * @usage
348
+ * <hljs lang="js">
349
+ * app.config(function($mdIconProvider) {
350
+ *
351
+ * // Configure URLs for icons specified by [set:]id.
352
+ *
353
+ * $mdIconProvider
354
+ * .iconSet('social', 'my/app/social.svg') // Register a named icon set
355
+ * });
356
+ * </hljs>
357
+ *
358
+ */
359
+ /**
360
+ * @ngdoc method
361
+ * @name $mdIconProvider#defaultIconSet
362
+ *
363
+ * @description
364
+ * Register a source URL for the default 'named' set of icons. Unless explicitly registered,
365
+ * subsequent lookups of icons will failover to search this 'default' icon set.
366
+ * Icon can be retrieved from this cached, default set using `$mdIcon(<name>)`
367
+ *
368
+ * @param {string} url specifies the external location for the data file. Used internally by `$http` to load the
369
+ * data or as part of the lookup in `$templateCache` if pre-loading was configured.
370
+ * @param {number=} viewBoxSize Sets the width and height of the viewBox of all icons in the set.
371
+ * It is ignored for icons with an existing viewBox. All icons in the icon set should be the same size.
372
+ * Default value is 24.
373
+ *
374
+ * @returns {obj} an `$mdIconProvider` reference; used to support method call chains for the API
375
+ *
376
+ * @usage
377
+ * <hljs lang="js">
378
+ * app.config(function($mdIconProvider) {
379
+ *
380
+ * // Configure URLs for icons specified by [set:]id.
381
+ *
382
+ * $mdIconProvider
383
+ * .defaultIconSet( 'my/app/social.svg' ) // Register a default icon set
384
+ * });
385
+ * </hljs>
386
+ *
387
+ */
388
+ /**
389
+ * @ngdoc method
390
+ * @name $mdIconProvider#defaultFontSet
391
+ *
392
+ * @description
393
+ * When using Font-Icons, Angular Material assumes the the Material Design icons will be used and automatically
394
+ * configures the default font-set == 'material-icons'. Note that the font-set references the font-icon library
395
+ * class style that should be applied to the `<md-icon>`.
396
+ *
397
+ * Configuring the default means that the attributes
398
+ * `md-font-set="material-icons"` or `class="material-icons"` do not need to be explicitly declared on the
399
+ * `<md-icon>` markup. For example:
400
+ *
401
+ * `<md-icon> face </md-icon>`
402
+ * will render as
403
+ * `<span class="material-icons"> face </span>`, and
404
+ *
405
+ * `<md-icon md-font-set="fa"> face </md-icon>`
406
+ * will render as
407
+ * `<span class="fa"> face </span>`
408
+ *
409
+ * @param {string} name of the font-library style that should be applied to the md-icon DOM element
410
+ *
411
+ * @usage
412
+ * <hljs lang="js">
413
+ * app.config(function($mdIconProvider) {
414
+ * $mdIconProvider.defaultFontSet( 'fontawesome' );
415
+ * });
416
+ * </hljs>
417
+ *
418
+ */
419
+
420
+ /**
421
+ * @ngdoc method
422
+ * @name $mdIconProvider#defaultViewBoxSize
423
+ *
424
+ * @description
425
+ * While `<md-icon />` markup can also be style with sizing CSS, this method configures
426
+ * the default width **and** height used for all icons; unless overridden by specific CSS.
427
+ * The default sizing is (24px, 24px).
428
+ * @param {number=} viewBoxSize Sets the width and height of the viewBox for an icon or an icon set.
429
+ * All icons in a set should be the same size. The default value is 24.
430
+ *
431
+ * @returns {obj} an `$mdIconProvider` reference; used to support method call chains for the API
432
+ *
433
+ * @usage
434
+ * <hljs lang="js">
435
+ * app.config(function($mdIconProvider) {
436
+ *
437
+ * // Configure URLs for icons specified by [set:]id.
438
+ *
439
+ * $mdIconProvider
440
+ * .defaultViewBoxSize(36) // Register a default icon size (width == height)
441
+ * });
442
+ * </hljs>
443
+ *
444
+ */
445
+
446
+ var config = {
447
+ defaultViewBoxSize: 24,
448
+ defaultFontSet: 'material-icons',
449
+ fontSets : [ ]
450
+ };
451
+
452
+ function MdIconProvider() { }
453
+
454
+ MdIconProvider.prototype = {
455
+ icon : function (id, url, viewBoxSize) {
456
+ if ( id.indexOf(':') == -1 ) id = '$default:' + id;
457
+
458
+ config[id] = new ConfigurationItem(url, viewBoxSize );
459
+ return this;
460
+ },
461
+
462
+ iconSet : function (id, url, viewBoxSize) {
463
+ config[id] = new ConfigurationItem(url, viewBoxSize );
464
+ return this;
465
+ },
466
+
467
+ defaultIconSet : function (url, viewBoxSize) {
468
+ var setName = '$default';
469
+
470
+ if ( !config[setName] ) {
471
+ config[setName] = new ConfigurationItem(url, viewBoxSize );
472
+ }
473
+
474
+ config[setName].viewBoxSize = viewBoxSize || config.defaultViewBoxSize;
475
+
476
+ return this;
477
+ },
478
+
479
+ defaultViewBoxSize : function (viewBoxSize) {
480
+ config.defaultViewBoxSize = viewBoxSize;
481
+ return this;
482
+ },
483
+
484
+ /**
485
+ * Register an alias name associated with a font-icon library style ;
486
+ */
487
+ fontSet : function fontSet(alias, className) {
488
+ config.fontSets.push({
489
+ alias : alias,
490
+ fontSet : className || alias
491
+ });
492
+ },
493
+
494
+ /**
495
+ * Specify a default style name associated with a font-icon library
496
+ * fallback to Material Icons.
497
+ *
498
+ */
499
+ defaultFontSet : function defaultFontSet(className) {
500
+ config.defaultFontSet = !className ? '' : className;
501
+ return this;
502
+ },
503
+
504
+ defaultIconSize : function defaultIconSize(iconSize) {
505
+ config.defaultIconSize = iconSize;
506
+ return this;
507
+ },
508
+
509
+ preloadIcons: function ($templateCache) {
510
+ var iconProvider = this;
511
+ var svgRegistry = [
512
+ {
513
+ id : 'md-tabs-arrow',
514
+ url: 'md-tabs-arrow.svg',
515
+ svg: '<svg version="1.1" x="0px" y="0px" viewBox="0 0 24 24"><g><polygon points="15.4,7.4 14,6 8,12 14,18 15.4,16.6 10.8,12 "/></g></svg>'
516
+ },
517
+ {
518
+ id : 'md-close',
519
+ url: 'md-close.svg',
520
+ svg: '<svg version="1.1" x="0px" y="0px" viewBox="0 0 24 24"><g><path d="M19 6.41l-1.41-1.41-5.59 5.59-5.59-5.59-1.41 1.41 5.59 5.59-5.59 5.59 1.41 1.41 5.59-5.59 5.59 5.59 1.41-1.41-5.59-5.59z"/></g></svg>'
521
+ },
522
+ {
523
+ id: 'md-cancel',
524
+ url: 'md-cancel.svg',
525
+ svg: '<svg version="1.1" x="0px" y="0px" viewBox="0 0 24 24"><g><path d="M12 2c-5.53 0-10 4.47-10 10s4.47 10 10 10 10-4.47 10-10-4.47-10-10-10zm5 13.59l-1.41 1.41-3.59-3.59-3.59 3.59-1.41-1.41 3.59-3.59-3.59-3.59 1.41-1.41 3.59 3.59 3.59-3.59 1.41 1.41-3.59 3.59 3.59 3.59z"/></g></svg>'
526
+ },
527
+ {
528
+ id: 'md-menu',
529
+ url: 'md-menu.svg',
530
+ svg: '<svg version="1.1" x="0px" y="0px" viewBox="0 0 100 100"><path d="M 50 0 L 100 14 L 92 80 L 50 100 L 8 80 L 0 14 Z" fill="#b2b2b2"></path><path d="M 50 5 L 6 18 L 13.5 77 L 50 94 Z" fill="#E42939"></path><path d="M 50 5 L 94 18 L 86.5 77 L 50 94 Z" fill="#B72833"></path><path d="M 50 7 L 83 75 L 72 75 L 65 59 L 50 59 L 50 50 L 61 50 L 50 26 Z" fill="#b2b2b2"></path><path d="M 50 7 L 17 75 L 28 75 L 35 59 L 50 59 L 50 50 L 39 50 L 50 26 Z" fill="#fff"></path></svg>'
531
+ },
532
+ {
533
+ id: 'md-toggle-arrow',
534
+ url: 'md-toggle-arrow-svg',
535
+ svg: '<svg version="1.1" x="0px" y="0px" viewBox="0 0 48 48"><path d="M24 16l-12 12 2.83 2.83 9.17-9.17 9.17 9.17 2.83-2.83z"/><path d="M0 0h48v48h-48z" fill="none"/></svg>'
536
+ }
537
+ ];
538
+
539
+ svgRegistry.forEach(function(asset){
540
+ iconProvider.icon(asset.id, asset.url);
541
+ $templateCache.put(asset.url, asset.svg);
542
+ });
543
+
544
+ },
545
+
546
+ $get : ['$http', '$q', '$log', '$templateCache', function($http, $q, $log, $templateCache) {
547
+ this.preloadIcons($templateCache);
548
+ return MdIconService(config, $http, $q, $log, $templateCache);
549
+ }]
550
+ };
551
+
552
+ /**
553
+ * Configuration item stored in the Icon registry; used for lookups
554
+ * to load if not already cached in the `loaded` cache
555
+ */
556
+ function ConfigurationItem(url, viewBoxSize) {
557
+ this.url = url;
558
+ this.viewBoxSize = viewBoxSize || config.defaultViewBoxSize;
559
+ }
560
+
561
+ /**
562
+ * @ngdoc service
563
+ * @name $mdIcon
564
+ * @module material.components.icon
565
+ *
566
+ * @description
567
+ * The `$mdIcon` service is a function used to lookup SVG icons.
568
+ *
569
+ * @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
570
+ * 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
571
+ * performed. The Id may be a unique icon ID or may include an iconSet ID prefix.
572
+ *
573
+ * For the **id** query to work properly, this means that all id-to-URL mappings must have been previously configured
574
+ * using the `$mdIconProvider`.
575
+ *
576
+ * @returns {obj} Clone of the initial SVG DOM element; which was created from the SVG markup in the SVG data file.
577
+ *
578
+ * @usage
579
+ * <hljs lang="js">
580
+ * function SomeDirective($mdIcon) {
581
+ *
582
+ * // See if the icon has already been loaded, if not
583
+ * // then lookup the icon from the registry cache, load and cache
584
+ * // it for future requests.
585
+ * // NOTE: ID queries require configuration with $mdIconProvider
586
+ *
587
+ * $mdIcon('android').then(function(iconEl) { element.append(iconEl); });
588
+ * $mdIcon('work:chair').then(function(iconEl) { element.append(iconEl); });
589
+ *
590
+ * // Load and cache the external SVG using a URL
591
+ *
592
+ * $mdIcon('img/icons/android.svg').then(function(iconEl) {
593
+ * element.append(iconEl);
594
+ * });
595
+ * };
596
+ * </hljs>
597
+ *
598
+ * NOTE: The `<md-icon /> ` directive internally uses the `$mdIcon` service to query, loaded, and instantiate
599
+ * SVG DOM elements.
600
+ */
601
+ function MdIconService(config, $http, $q, $log, $templateCache) {
602
+ var iconCache = {};
603
+ var urlRegex = /[-a-zA-Z0-9@:%_\+.~#?&//=]{2,256}\.[a-z]{2,4}\b(\/[-a-zA-Z0-9@:%_\+.~#?&//=]*)?/i;
604
+
605
+ Icon.prototype = { clone : cloneSVG, prepare: prepareAndStyle };
606
+ getIcon.fontSet = findRegisteredFontSet;
607
+
608
+ // Publish service...
609
+ return getIcon;
610
+
611
+ /**
612
+ * Actual $mdIcon service is essentially a lookup function
613
+ */
614
+ function getIcon(id) {
615
+ id = id || '';
616
+
617
+ // If already loaded and cached, use a clone of the cached icon.
618
+ // Otherwise either load by URL, or lookup in the registry and then load by URL, and cache.
619
+
620
+ if ( iconCache[id] ) return $q.when( iconCache[id].clone() );
621
+ if ( urlRegex.test(id) ) return loadByURL(id).then( cacheIcon(id) );
622
+ if ( id.indexOf(':') == -1 ) id = '$default:' + id;
623
+
624
+ return loadByID(id)
625
+ .catch(loadFromIconSet)
626
+ .catch(announceIdNotFound)
627
+ .catch(announceNotFound)
628
+ .then( cacheIcon(id) );
629
+ }
630
+
631
+ /**
632
+ * Lookup registered fontSet style using its alias...
633
+ * If not found,
634
+ */
635
+ function findRegisteredFontSet(alias) {
636
+ var useDefault = angular.isUndefined(alias) || !(alias && alias.length);
637
+ if ( useDefault ) return config.defaultFontSet;
638
+
639
+ var result = alias;
640
+ angular.forEach(config.fontSets, function(it){
641
+ if ( it.alias == alias ) result = it.fontSet || result;
642
+ });
643
+
644
+ return result;
645
+ }
646
+
647
+ /**
648
+ * Prepare and cache the loaded icon for the specified `id`
649
+ */
650
+ function cacheIcon( id ) {
651
+
652
+ return function updateCache( icon ) {
653
+ iconCache[id] = isIcon(icon) ? icon : new Icon(icon, config[id]);
654
+
655
+ return iconCache[id].clone();
656
+ };
657
+ }
658
+
659
+ /**
660
+ * Lookup the configuration in the registry, if !registered throw an error
661
+ * otherwise load the icon [on-demand] using the registered URL.
662
+ *
663
+ */
664
+ function loadByID(id) {
665
+ var iconConfig = config[id];
666
+
667
+ return !iconConfig ? $q.reject(id) : loadByURL(iconConfig.url).then(function(icon) {
668
+ return new Icon(icon, iconConfig);
669
+ });
670
+ }
671
+
672
+ /**
673
+ * Loads the file as XML and uses querySelector( <id> ) to find
674
+ * the desired node...
675
+ */
676
+ function loadFromIconSet(id) {
677
+ var setName = id.substring(0, id.lastIndexOf(':')) || '$default';
678
+ var iconSetConfig = config[setName];
679
+
680
+ return !iconSetConfig ? $q.reject(id) : loadByURL(iconSetConfig.url).then(extractFromSet);
681
+
682
+ function extractFromSet(set) {
683
+ var iconName = id.slice(id.lastIndexOf(':') + 1);
684
+ var icon = set.querySelector('#' + iconName);
685
+ return !icon ? $q.reject(id) : new Icon(icon, iconSetConfig);
686
+ }
687
+ }
688
+
689
+ /**
690
+ * Load the icon by URL (may use the $templateCache).
691
+ * Extract the data for later conversion to Icon
692
+ */
693
+ function loadByURL(url) {
694
+ return $http
695
+ .get(url, { cache: $templateCache })
696
+ .then(function(response) {
697
+ return angular.element('<div>').append(response.data).find('svg')[0];
698
+ });
699
+ }
700
+
701
+ /**
702
+ * User did not specify a URL and the ID has not been registered with the $mdIcon
703
+ * registry
704
+ */
705
+ function announceIdNotFound(id) {
706
+ var msg;
707
+
708
+ if (angular.isString(id)) {
709
+ msg = 'icon ' + id + ' not found';
710
+ $log.warn(msg);
711
+ }
712
+
713
+ return $q.reject(msg || id);
714
+ }
715
+
716
+ /**
717
+ * Catch HTTP or generic errors not related to incorrect icon IDs.
718
+ */
719
+ function announceNotFound(err) {
720
+ var msg = angular.isString(err) ? err : (err.message || err.data || err.statusText);
721
+ $log.warn(msg);
722
+
723
+ return $q.reject(msg);
724
+ }
725
+
726
+ /**
727
+ * Check target signature to see if it is an Icon instance.
728
+ */
729
+ function isIcon(target) {
730
+ return angular.isDefined(target.element) && angular.isDefined(target.config);
731
+ }
732
+
733
+ /**
734
+ * Define the Icon class
735
+ */
736
+ function Icon(el, config) {
737
+ if (el.tagName != 'svg') {
738
+ el = angular.element('<svg xmlns="http://www.w3.org/2000/svg">').append(el)[0];
739
+ }
740
+
741
+ // Inject the namespace if not available...
742
+ if ( !el.getAttribute('xmlns') ) {
743
+ el.setAttribute('xmlns', "http://www.w3.org/2000/svg");
744
+ }
745
+
746
+ this.element = el;
747
+ this.config = config;
748
+ this.prepare();
749
+ }
750
+
751
+ /**
752
+ * Prepare the DOM element that will be cached in the
753
+ * loaded iconCache store.
754
+ */
755
+ function prepareAndStyle() {
756
+ var viewBoxSize = this.config ? this.config.viewBoxSize : config.defaultViewBoxSize;
757
+ angular.forEach({
758
+ 'fit' : '',
759
+ 'height': '100%',
760
+ 'width' : '100%',
761
+ 'preserveAspectRatio': 'xMidYMid meet',
762
+ 'viewBox' : this.element.getAttribute('viewBox') || ('0 0 ' + viewBoxSize + ' ' + viewBoxSize)
763
+ }, function(val, attr) {
764
+ this.element.setAttribute(attr, val);
765
+ }, this);
766
+
767
+ angular.forEach({
768
+ 'pointer-events' : 'none',
769
+ 'display' : 'block'
770
+ }, function(val, style) {
771
+ this.element.style[style] = val;
772
+ }, this);
773
+ }
774
+
775
+ /**
776
+ * Clone the Icon DOM element.
777
+ */
778
+ function cloneSVG(){
779
+ return this.element.cloneNode(true);
780
+ }
781
+
782
+ }
783
+
784
+ })(window, window.angular);