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