paint-rails 0.5.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (397) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +14 -0
  3. data/.gitmodules +3 -0
  4. data/Gemfile +4 -0
  5. data/LICENSE.txt +22 -0
  6. data/README.md +31 -0
  7. data/Rakefile +32 -0
  8. data/lib/paint-rails/version.rb +5 -0
  9. data/lib/paint-rails.rb +8 -0
  10. data/paint-rails.gemspec +21 -0
  11. data/vendor/assets/images/favicon.ico +0 -0
  12. data/vendor/assets/images/logo.png +0 -0
  13. data/vendor/assets/stylesheets/bower_components/fastclick/.bower.json +23 -0
  14. data/vendor/assets/stylesheets/bower_components/fastclick/LICENSE +22 -0
  15. data/vendor/assets/stylesheets/bower_components/fastclick/README.md +140 -0
  16. data/vendor/assets/stylesheets/bower_components/fastclick/bower.json +12 -0
  17. data/vendor/assets/stylesheets/bower_components/fastclick/lib/fastclick.js +841 -0
  18. data/vendor/assets/stylesheets/bower_components/fontawesome/.bower.json +36 -0
  19. data/vendor/assets/stylesheets/bower_components/fontawesome/.gitignore +32 -0
  20. data/vendor/assets/stylesheets/bower_components/fontawesome/.npmignore +42 -0
  21. data/vendor/assets/stylesheets/bower_components/fontawesome/bower.json +23 -0
  22. data/vendor/assets/stylesheets/bower_components/fontawesome/css/font-awesome.css +1672 -0
  23. data/vendor/assets/stylesheets/bower_components/fontawesome/css/font-awesome.min.css +4 -0
  24. data/vendor/assets/stylesheets/bower_components/fontawesome/fonts/FontAwesome.otf +0 -0
  25. data/vendor/assets/stylesheets/bower_components/fontawesome/fonts/fontawesome-webfont.eot +0 -0
  26. data/vendor/assets/stylesheets/bower_components/fontawesome/fonts/fontawesome-webfont.svg +520 -0
  27. data/vendor/assets/stylesheets/bower_components/fontawesome/fonts/fontawesome-webfont.ttf +0 -0
  28. data/vendor/assets/stylesheets/bower_components/fontawesome/fonts/fontawesome-webfont.woff +0 -0
  29. data/vendor/assets/stylesheets/bower_components/fontawesome/less/bordered-pulled.less +16 -0
  30. data/vendor/assets/stylesheets/bower_components/fontawesome/less/core.less +11 -0
  31. data/vendor/assets/stylesheets/bower_components/fontawesome/less/extras.less +2 -0
  32. data/vendor/assets/stylesheets/bower_components/fontawesome/less/fixed-width.less +6 -0
  33. data/vendor/assets/stylesheets/bower_components/fontawesome/less/font-awesome.less +17 -0
  34. data/vendor/assets/stylesheets/bower_components/fontawesome/less/icons.less +552 -0
  35. data/vendor/assets/stylesheets/bower_components/fontawesome/less/larger.less +13 -0
  36. data/vendor/assets/stylesheets/bower_components/fontawesome/less/list.less +19 -0
  37. data/vendor/assets/stylesheets/bower_components/fontawesome/less/mixins.less +25 -0
  38. data/vendor/assets/stylesheets/bower_components/fontawesome/less/path.less +14 -0
  39. data/vendor/assets/stylesheets/bower_components/fontawesome/less/rotated-flipped.less +20 -0
  40. data/vendor/assets/stylesheets/bower_components/fontawesome/less/spinning.less +29 -0
  41. data/vendor/assets/stylesheets/bower_components/fontawesome/less/stacked.less +20 -0
  42. data/vendor/assets/stylesheets/bower_components/fontawesome/less/variables.less +561 -0
  43. data/vendor/assets/stylesheets/bower_components/fontawesome/scss/_bordered-pulled.scss +16 -0
  44. data/vendor/assets/stylesheets/bower_components/fontawesome/scss/_core.scss +11 -0
  45. data/vendor/assets/stylesheets/bower_components/fontawesome/scss/_extras.scss +44 -0
  46. data/vendor/assets/stylesheets/bower_components/fontawesome/scss/_fixed-width.scss +6 -0
  47. data/vendor/assets/stylesheets/bower_components/fontawesome/scss/_icons.scss +552 -0
  48. data/vendor/assets/stylesheets/bower_components/fontawesome/scss/_larger.scss +13 -0
  49. data/vendor/assets/stylesheets/bower_components/fontawesome/scss/_list.scss +19 -0
  50. data/vendor/assets/stylesheets/bower_components/fontawesome/scss/_mixins.scss +25 -0
  51. data/vendor/assets/stylesheets/bower_components/fontawesome/scss/_path.scss +14 -0
  52. data/vendor/assets/stylesheets/bower_components/fontawesome/scss/_rotated-flipped.scss +20 -0
  53. data/vendor/assets/stylesheets/bower_components/fontawesome/scss/_spinning.scss +29 -0
  54. data/vendor/assets/stylesheets/bower_components/fontawesome/scss/_stacked.scss +20 -0
  55. data/vendor/assets/stylesheets/bower_components/fontawesome/scss/_variables.scss +561 -0
  56. data/vendor/assets/stylesheets/bower_components/fontawesome/scss/font-awesome.scss +17 -0
  57. data/vendor/assets/stylesheets/bower_components/foundation/.bower.json +32 -0
  58. data/vendor/assets/stylesheets/bower_components/foundation/bower.json +23 -0
  59. data/vendor/assets/stylesheets/bower_components/foundation/css/foundation.css +6138 -0
  60. data/vendor/assets/stylesheets/bower_components/foundation/css/normalize.css +357 -0
  61. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.abide.js +314 -0
  62. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.accordion.js +66 -0
  63. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.alert.js +43 -0
  64. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.clearing.js +558 -0
  65. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.dropdown.js +326 -0
  66. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.equalizer.js +74 -0
  67. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.interchange.js +344 -0
  68. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.joyride.js +917 -0
  69. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.js +625 -0
  70. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.magellan.js +189 -0
  71. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.offcanvas.js +152 -0
  72. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.orbit.js +472 -0
  73. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.reveal.js +444 -0
  74. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.slider.js +239 -0
  75. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.tab.js +217 -0
  76. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.tooltip.js +300 -0
  77. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.topbar.js +445 -0
  78. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation.js +5741 -0
  79. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation.min.js +4 -0
  80. data/vendor/assets/stylesheets/bower_components/foundation/js/vendor/fastclick.js +9 -0
  81. data/vendor/assets/stylesheets/bower_components/foundation/js/vendor/jquery.cookie.js +8 -0
  82. data/vendor/assets/stylesheets/bower_components/foundation/js/vendor/jquery.js +26 -0
  83. data/vendor/assets/stylesheets/bower_components/foundation/js/vendor/modernizr.js +8 -0
  84. data/vendor/assets/stylesheets/bower_components/foundation/js/vendor/placeholder.js +2 -0
  85. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/_functions.scss +102 -0
  86. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/_settings.scss +1441 -0
  87. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_accordion.scss +157 -0
  88. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_alert-boxes.scss +128 -0
  89. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_block-grid.scss +132 -0
  90. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_breadcrumbs.scss +132 -0
  91. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_button-groups.scss +197 -0
  92. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_buttons.scss +259 -0
  93. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_clearing.scss +247 -0
  94. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_dropdown-buttons.scss +130 -0
  95. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_dropdown.scss +262 -0
  96. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_flex-video.scss +51 -0
  97. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_forms.scss +585 -0
  98. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_global.scss +460 -0
  99. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_grid.scss +275 -0
  100. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_icon-bar.scss +293 -0
  101. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_inline-lists.scss +57 -0
  102. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_joyride.scss +222 -0
  103. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_keystrokes.scss +61 -0
  104. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_labels.scss +106 -0
  105. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_magellan.scss +34 -0
  106. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_offcanvas.scss +513 -0
  107. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_orbit.scss +368 -0
  108. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_pagination.scss +162 -0
  109. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_panels.scss +95 -0
  110. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_pricing-tables.scss +150 -0
  111. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_progress-bars.scss +79 -0
  112. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_range-slider.scss +168 -0
  113. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_reveal.scss +222 -0
  114. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_side-nav.scss +116 -0
  115. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_split-buttons.scss +191 -0
  116. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_sub-nav.scss +123 -0
  117. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_switches.scss +230 -0
  118. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_tables.scss +135 -0
  119. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_tabs.scss +123 -0
  120. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_thumbs.scss +66 -0
  121. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_toolbar.scss +70 -0
  122. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_tooltips.scss +142 -0
  123. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_top-bar.scss +685 -0
  124. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_type.scss +525 -0
  125. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_visibility.scss +408 -0
  126. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation.scss +45 -0
  127. data/vendor/assets/stylesheets/bower_components/foundation/scss/normalize.scss +427 -0
  128. data/vendor/assets/stylesheets/bower_components/jquery/.bower.json +37 -0
  129. data/vendor/assets/stylesheets/bower_components/jquery/MIT-LICENSE.txt +21 -0
  130. data/vendor/assets/stylesheets/bower_components/jquery/bower.json +27 -0
  131. data/vendor/assets/stylesheets/bower_components/jquery/dist/jquery.js +9205 -0
  132. data/vendor/assets/stylesheets/bower_components/jquery/dist/jquery.min.js +5 -0
  133. data/vendor/assets/stylesheets/bower_components/jquery/dist/jquery.min.map +1 -0
  134. data/vendor/assets/stylesheets/bower_components/jquery/src/ajax/jsonp.js +89 -0
  135. data/vendor/assets/stylesheets/bower_components/jquery/src/ajax/load.js +75 -0
  136. data/vendor/assets/stylesheets/bower_components/jquery/src/ajax/parseJSON.js +13 -0
  137. data/vendor/assets/stylesheets/bower_components/jquery/src/ajax/parseXML.js +28 -0
  138. data/vendor/assets/stylesheets/bower_components/jquery/src/ajax/script.js +64 -0
  139. data/vendor/assets/stylesheets/bower_components/jquery/src/ajax/var/nonce.js +5 -0
  140. data/vendor/assets/stylesheets/bower_components/jquery/src/ajax/var/rquery.js +3 -0
  141. data/vendor/assets/stylesheets/bower_components/jquery/src/ajax/xhr.js +136 -0
  142. data/vendor/assets/stylesheets/bower_components/jquery/src/ajax.js +786 -0
  143. data/vendor/assets/stylesheets/bower_components/jquery/src/attributes/attr.js +141 -0
  144. data/vendor/assets/stylesheets/bower_components/jquery/src/attributes/classes.js +158 -0
  145. data/vendor/assets/stylesheets/bower_components/jquery/src/attributes/prop.js +94 -0
  146. data/vendor/assets/stylesheets/bower_components/jquery/src/attributes/support.js +35 -0
  147. data/vendor/assets/stylesheets/bower_components/jquery/src/attributes/val.js +161 -0
  148. data/vendor/assets/stylesheets/bower_components/jquery/src/attributes.js +11 -0
  149. data/vendor/assets/stylesheets/bower_components/jquery/src/callbacks.js +205 -0
  150. data/vendor/assets/stylesheets/bower_components/jquery/src/core/access.js +60 -0
  151. data/vendor/assets/stylesheets/bower_components/jquery/src/core/init.js +123 -0
  152. data/vendor/assets/stylesheets/bower_components/jquery/src/core/parseHTML.js +39 -0
  153. data/vendor/assets/stylesheets/bower_components/jquery/src/core/ready.js +97 -0
  154. data/vendor/assets/stylesheets/bower_components/jquery/src/core/var/rsingleTag.js +4 -0
  155. data/vendor/assets/stylesheets/bower_components/jquery/src/core.js +497 -0
  156. data/vendor/assets/stylesheets/bower_components/jquery/src/css/addGetHookIf.js +22 -0
  157. data/vendor/assets/stylesheets/bower_components/jquery/src/css/curCSS.js +57 -0
  158. data/vendor/assets/stylesheets/bower_components/jquery/src/css/defaultDisplay.js +70 -0
  159. data/vendor/assets/stylesheets/bower_components/jquery/src/css/hiddenVisibleSelectors.js +15 -0
  160. data/vendor/assets/stylesheets/bower_components/jquery/src/css/support.js +96 -0
  161. data/vendor/assets/stylesheets/bower_components/jquery/src/css/swap.js +28 -0
  162. data/vendor/assets/stylesheets/bower_components/jquery/src/css/var/cssExpand.js +3 -0
  163. data/vendor/assets/stylesheets/bower_components/jquery/src/css/var/getStyles.js +12 -0
  164. data/vendor/assets/stylesheets/bower_components/jquery/src/css/var/isHidden.js +13 -0
  165. data/vendor/assets/stylesheets/bower_components/jquery/src/css/var/rmargin.js +3 -0
  166. data/vendor/assets/stylesheets/bower_components/jquery/src/css/var/rnumnonpx.js +5 -0
  167. data/vendor/assets/stylesheets/bower_components/jquery/src/css.js +450 -0
  168. data/vendor/assets/stylesheets/bower_components/jquery/src/data/Data.js +181 -0
  169. data/vendor/assets/stylesheets/bower_components/jquery/src/data/accepts.js +20 -0
  170. data/vendor/assets/stylesheets/bower_components/jquery/src/data/var/data_priv.js +5 -0
  171. data/vendor/assets/stylesheets/bower_components/jquery/src/data/var/data_user.js +5 -0
  172. data/vendor/assets/stylesheets/bower_components/jquery/src/data.js +178 -0
  173. data/vendor/assets/stylesheets/bower_components/jquery/src/deferred.js +149 -0
  174. data/vendor/assets/stylesheets/bower_components/jquery/src/deprecated.js +13 -0
  175. data/vendor/assets/stylesheets/bower_components/jquery/src/dimensions.js +50 -0
  176. data/vendor/assets/stylesheets/bower_components/jquery/src/effects/Tween.js +114 -0
  177. data/vendor/assets/stylesheets/bower_components/jquery/src/effects/animatedSelector.js +13 -0
  178. data/vendor/assets/stylesheets/bower_components/jquery/src/effects.js +648 -0
  179. data/vendor/assets/stylesheets/bower_components/jquery/src/event/ajax.js +13 -0
  180. data/vendor/assets/stylesheets/bower_components/jquery/src/event/alias.js +39 -0
  181. data/vendor/assets/stylesheets/bower_components/jquery/src/event/support.js +9 -0
  182. data/vendor/assets/stylesheets/bower_components/jquery/src/event.js +868 -0
  183. data/vendor/assets/stylesheets/bower_components/jquery/src/exports/amd.js +24 -0
  184. data/vendor/assets/stylesheets/bower_components/jquery/src/exports/global.js +32 -0
  185. data/vendor/assets/stylesheets/bower_components/jquery/src/intro.js +44 -0
  186. data/vendor/assets/stylesheets/bower_components/jquery/src/jquery.js +37 -0
  187. data/vendor/assets/stylesheets/bower_components/jquery/src/manipulation/_evalUrl.js +18 -0
  188. data/vendor/assets/stylesheets/bower_components/jquery/src/manipulation/support.js +32 -0
  189. data/vendor/assets/stylesheets/bower_components/jquery/src/manipulation/var/rcheckableType.js +3 -0
  190. data/vendor/assets/stylesheets/bower_components/jquery/src/manipulation.js +580 -0
  191. data/vendor/assets/stylesheets/bower_components/jquery/src/offset.js +207 -0
  192. data/vendor/assets/stylesheets/bower_components/jquery/src/outro.js +1 -0
  193. data/vendor/assets/stylesheets/bower_components/jquery/src/queue/delay.js +22 -0
  194. data/vendor/assets/stylesheets/bower_components/jquery/src/queue.js +142 -0
  195. data/vendor/assets/stylesheets/bower_components/jquery/src/selector-native.js +172 -0
  196. data/vendor/assets/stylesheets/bower_components/jquery/src/selector-sizzle.js +14 -0
  197. data/vendor/assets/stylesheets/bower_components/jquery/src/selector.js +1 -0
  198. data/vendor/assets/stylesheets/bower_components/jquery/src/serialize.js +111 -0
  199. data/vendor/assets/stylesheets/bower_components/jquery/src/sizzle/dist/sizzle.js +2067 -0
  200. data/vendor/assets/stylesheets/bower_components/jquery/src/sizzle/dist/sizzle.min.js +3 -0
  201. data/vendor/assets/stylesheets/bower_components/jquery/src/sizzle/dist/sizzle.min.map +1 -0
  202. data/vendor/assets/stylesheets/bower_components/jquery/src/traversing/findFilter.js +100 -0
  203. data/vendor/assets/stylesheets/bower_components/jquery/src/traversing/var/rneedsContext.js +6 -0
  204. data/vendor/assets/stylesheets/bower_components/jquery/src/traversing.js +199 -0
  205. data/vendor/assets/stylesheets/bower_components/jquery/src/var/arr.js +3 -0
  206. data/vendor/assets/stylesheets/bower_components/jquery/src/var/class2type.js +4 -0
  207. data/vendor/assets/stylesheets/bower_components/jquery/src/var/concat.js +5 -0
  208. data/vendor/assets/stylesheets/bower_components/jquery/src/var/hasOwn.js +5 -0
  209. data/vendor/assets/stylesheets/bower_components/jquery/src/var/indexOf.js +5 -0
  210. data/vendor/assets/stylesheets/bower_components/jquery/src/var/pnum.js +3 -0
  211. data/vendor/assets/stylesheets/bower_components/jquery/src/var/push.js +5 -0
  212. data/vendor/assets/stylesheets/bower_components/jquery/src/var/rnotwhite.js +3 -0
  213. data/vendor/assets/stylesheets/bower_components/jquery/src/var/slice.js +5 -0
  214. data/vendor/assets/stylesheets/bower_components/jquery/src/var/strundefined.js +3 -0
  215. data/vendor/assets/stylesheets/bower_components/jquery/src/var/support.js +4 -0
  216. data/vendor/assets/stylesheets/bower_components/jquery/src/var/toString.js +5 -0
  217. data/vendor/assets/stylesheets/bower_components/jquery/src/wrap.js +79 -0
  218. data/vendor/assets/stylesheets/bower_components/jquery-placeholder/.bower.json +33 -0
  219. data/vendor/assets/stylesheets/bower_components/jquery-placeholder/bower.json +21 -0
  220. data/vendor/assets/stylesheets/bower_components/jquery-placeholder/jquery.placeholder.js +192 -0
  221. data/vendor/assets/stylesheets/bower_components/jquery.cookie/.bower.json +28 -0
  222. data/vendor/assets/stylesheets/bower_components/jquery.cookie/bower.json +18 -0
  223. data/vendor/assets/stylesheets/bower_components/jquery.cookie/jquery.cookie.js +117 -0
  224. data/vendor/assets/stylesheets/bower_components/modernizr/.bower.json +14 -0
  225. data/vendor/assets/stylesheets/bower_components/modernizr/.editorconfig +10 -0
  226. data/vendor/assets/stylesheets/bower_components/modernizr/.gitignore +2 -0
  227. data/vendor/assets/stylesheets/bower_components/modernizr/.travis.yml +6 -0
  228. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/a-download.js +8 -0
  229. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/audio-audiodata-api.js +4 -0
  230. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/audio-webaudio-api.js +4 -0
  231. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/battery-api.js +8 -0
  232. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/battery-level.js +11 -0
  233. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/blob-constructor.js +10 -0
  234. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/canvas-todataurl-type.js +28 -0
  235. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/contenteditable.js +9 -0
  236. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/contentsecuritypolicy.js +10 -0
  237. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/contextmenu.js +11 -0
  238. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/cookies.js +15 -0
  239. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/cors.js +3 -0
  240. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-backgroundposition-shorthand.js +19 -0
  241. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-backgroundposition-xy.js +15 -0
  242. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-backgroundrepeat.js +31 -0
  243. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-backgroundsizecover.js +10 -0
  244. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-boxsizing.js +9 -0
  245. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-calc.js +12 -0
  246. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-cubicbezierrange.js +8 -0
  247. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-displayrunin.js +18 -0
  248. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-displaytable.js +27 -0
  249. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-filters.js +7 -0
  250. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-hyphens.js +205 -0
  251. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-lastchild.js +11 -0
  252. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-mask.js +12 -0
  253. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-mediaqueries.js +3 -0
  254. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-objectfit.js +6 -0
  255. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-overflow-scrolling.js +9 -0
  256. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-pointerevents.js +25 -0
  257. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-positionsticky.js +13 -0
  258. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-regions.js +55 -0
  259. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-remunit.js +19 -0
  260. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-resize.js +8 -0
  261. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-scrollbars.js +19 -0
  262. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-shapes.js +4 -0
  263. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-subpixelfont.js +23 -0
  264. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-supports.js +6 -0
  265. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-userselect.js +10 -0
  266. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-vhunit.js +14 -0
  267. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-vmaxunit.js +14 -0
  268. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-vminunit.js +14 -0
  269. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-vwunit.js +14 -0
  270. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/custom-protocol-handler.js +10 -0
  271. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/dart.js +6 -0
  272. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/dataview-api.js +4 -0
  273. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/dom-classlist.js +4 -0
  274. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/dom-createElement-attrs.js +11 -0
  275. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/dom-dataset.js +9 -0
  276. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/dom-microdata.js +4 -0
  277. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/elem-datalist.js +12 -0
  278. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/elem-details.js +25 -0
  279. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/elem-output.js +4 -0
  280. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/elem-progress-meter.js +11 -0
  281. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/elem-ruby.js +53 -0
  282. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/elem-time.js +4 -0
  283. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/elem-track.js +11 -0
  284. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/emoji.js +11 -0
  285. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/es5-strictmode.js +7 -0
  286. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/event-deviceorientation-motion.js +11 -0
  287. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/exif-orientation.js +32 -0
  288. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/file-api.js +12 -0
  289. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/file-filesystem.js +9 -0
  290. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/forms-fileinput.js +13 -0
  291. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/forms-formattribute.js +29 -0
  292. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/forms-inputnumber-l10n.js +32 -0
  293. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/forms-placeholder.js +10 -0
  294. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/forms-speechinput.js +19 -0
  295. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/forms-validation.js +62 -0
  296. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/fullscreen-api.js +10 -0
  297. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/gamepad.js +12 -0
  298. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/getusermedia.js +5 -0
  299. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/ie8compat.js +12 -0
  300. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/iframe-sandbox.js +5 -0
  301. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/iframe-seamless.js +5 -0
  302. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/iframe-srcdoc.js +5 -0
  303. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/img-apng.js +26 -0
  304. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/img-webp.js +20 -0
  305. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/json.js +7 -0
  306. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/lists-reversed.js +6 -0
  307. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/mathml.js +23 -0
  308. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/network-connection.js +22 -0
  309. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/network-eventsource.js +5 -0
  310. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/network-xhr2.js +13 -0
  311. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/notification.js +10 -0
  312. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/performance.js +5 -0
  313. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/pointerlock-api.js +4 -0
  314. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/quota-management-api.js +11 -0
  315. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/requestanimationframe.js +7 -0
  316. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/script-async.js +3 -0
  317. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/script-defer.js +3 -0
  318. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/style-scoped.js +6 -0
  319. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/svg-filters.js +13 -0
  320. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/unicode.js +32 -0
  321. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/url-data-uri.js +26 -0
  322. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/userdata.js +7 -0
  323. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/vibration.js +4 -0
  324. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/web-intents.js +6 -0
  325. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/webgl-extensions.js +42 -0
  326. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/websockets-binary.js +20 -0
  327. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/window-framed.js +8 -0
  328. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/workers-blobworkers.js +66 -0
  329. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/workers-dataworkers.js +34 -0
  330. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/workers-sharedworkers.js +3 -0
  331. data/vendor/assets/stylesheets/bower_components/modernizr/grunt.js +69 -0
  332. data/vendor/assets/stylesheets/bower_components/modernizr/media/Modernizr 2 Logo.ai +292 -1
  333. data/vendor/assets/stylesheets/bower_components/modernizr/media/Modernizr 2 Logo.eps +0 -0
  334. data/vendor/assets/stylesheets/bower_components/modernizr/media/Modernizr 2 Logo.pdf +292 -1
  335. data/vendor/assets/stylesheets/bower_components/modernizr/media/Modernizr 2 Logo.png +0 -0
  336. data/vendor/assets/stylesheets/bower_components/modernizr/media/Modernizr 2 Logo.svg +35 -0
  337. data/vendor/assets/stylesheets/bower_components/modernizr/modernizr.js +1406 -0
  338. data/vendor/assets/stylesheets/bower_components/modernizr/readme.md +28 -0
  339. data/vendor/assets/stylesheets/bower_components/modernizr/test/basic.html +65 -0
  340. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse.html +1451 -0
  341. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/Windsong-webfont.eot +0 -0
  342. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/Windsong-webfont.otf +0 -0
  343. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/Windsong-webfont.svg +147 -0
  344. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/Windsong-webfont.ttf +0 -0
  345. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/Windsong-webfont.woff +0 -0
  346. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/alpha.png +0 -0
  347. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/apng_test.png +0 -0
  348. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/before-after.png +0 -0
  349. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/form_validation.html +15 -0
  350. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/ga.js +43 -0
  351. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/green5x5.png +0 -0
  352. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/hashchange.html +16 -0
  353. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/jquery.min.js +18 -0
  354. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/mathml.html +120 -0
  355. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/mathml_ref.png +0 -0
  356. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/modernizr-1.7.min.js +2 -0
  357. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/png_alpha_result.png +0 -0
  358. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/pushstate.html +40 -0
  359. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/red30x30.png +0 -0
  360. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/ruby.png +0 -0
  361. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/stroked-text.png +0 -0
  362. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/style.css +168 -0
  363. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/svg-html-blur.png +0 -0
  364. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/svg-img.svg +5 -0
  365. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/svg-img.svg.1 +5 -0
  366. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/svg_blur.png +0 -0
  367. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/table.png +0 -0
  368. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/text-shadow1.png +0 -0
  369. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/text-shadow2.png +0 -0
  370. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/windsong_font.png +0 -0
  371. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/xhtml.html +14 -0
  372. data/vendor/assets/stylesheets/bower_components/modernizr/test/index.html +104 -0
  373. data/vendor/assets/stylesheets/bower_components/modernizr/test/js/basic.html +65 -0
  374. data/vendor/assets/stylesheets/bower_components/modernizr/test/js/dumpdata.js +75 -0
  375. data/vendor/assets/stylesheets/bower_components/modernizr/test/js/lib/detect-global.js +153 -0
  376. data/vendor/assets/stylesheets/bower_components/modernizr/test/js/lib/jquery-1.7b2.js +9279 -0
  377. data/vendor/assets/stylesheets/bower_components/modernizr/test/js/lib/jsonselect.js +279 -0
  378. data/vendor/assets/stylesheets/bower_components/modernizr/test/js/lib/polyfills.js +96 -0
  379. data/vendor/assets/stylesheets/bower_components/modernizr/test/js/lib/uaparser.js +215 -0
  380. data/vendor/assets/stylesheets/bower_components/modernizr/test/js/setup.js +44 -0
  381. data/vendor/assets/stylesheets/bower_components/modernizr/test/js/unit-caniuse.js +191 -0
  382. data/vendor/assets/stylesheets/bower_components/modernizr/test/js/unit.js +669 -0
  383. data/vendor/assets/stylesheets/bower_components/modernizr/test/qunit/qunit.css +231 -0
  384. data/vendor/assets/stylesheets/bower_components/modernizr/test/qunit/qunit.js +1932 -0
  385. data/vendor/assets/stylesheets/bower_components/modernizr/test/qunit/run-qunit.js +72 -0
  386. data/vendor/assets/stylesheets/components/_button.scss +61 -0
  387. data/vendor/assets/stylesheets/components/_dropdown.scss +27 -0
  388. data/vendor/assets/stylesheets/components/_grid.scss +37 -0
  389. data/vendor/assets/stylesheets/components/_heading.scss +17 -0
  390. data/vendor/assets/stylesheets/components/_icon.scss +4 -0
  391. data/vendor/assets/stylesheets/components/_label.scss +3 -0
  392. data/vendor/assets/stylesheets/components/_layout.scss +263 -0
  393. data/vendor/assets/stylesheets/components/_progress-bar.scss +14 -0
  394. data/vendor/assets/stylesheets/globals/_mixins.scss +5 -0
  395. data/vendor/assets/stylesheets/globals/_settings.scss +64 -0
  396. data/vendor/assets/stylesheets/paint.scss +20 -0
  397. metadata +481 -0
@@ -0,0 +1,4 @@
1
+ // <output>
2
+ // http://www.whatwg.org/specs/web-apps/current-work/multipage/the-button-element.html#the-output-element
3
+ // by Addy Osmani
4
+ Modernizr.addTest('outputelem', 'value' in document.createElement('output'));
@@ -0,0 +1,11 @@
1
+ //By Stefan Wallin
2
+
3
+ //tests for progressbar-support. All browsers that don't support progressbar returns undefined =)
4
+ Modernizr.addTest("progressbar",function(){
5
+ return document.createElement('progress').max !== undefined;
6
+ });
7
+
8
+ //tests for meter-support. All browsers that don't support meters returns undefined =)
9
+ Modernizr.addTest("meter",function(){
10
+ return document.createElement('meter').max !== undefined;
11
+ });
@@ -0,0 +1,53 @@
1
+ // Browser support test for the HTML5 <ruby>, <rt> and <rp> elements
2
+ // http://www.whatwg.org/specs/web-apps/current-work/multipage/text-level-semantics.html#the-ruby-element
3
+ //
4
+ // by @alrra
5
+
6
+ Modernizr.addTest('ruby', function () {
7
+
8
+ var ruby = document.createElement('ruby'),
9
+ rt = document.createElement('rt'),
10
+ rp = document.createElement('rp'),
11
+ docElement = document.documentElement,
12
+ displayStyleProperty = 'display',
13
+ fontSizeStyleProperty = 'fontSize'; // 'fontSize' - because it`s only used for IE6 and IE7
14
+
15
+ ruby.appendChild(rp);
16
+ ruby.appendChild(rt);
17
+ docElement.appendChild(ruby);
18
+
19
+ // browsers that support <ruby> hide the <rp> via "display:none"
20
+ if ( getStyle(rp, displayStyleProperty) == 'none' || // for non-IE browsers
21
+ // but in IE browsers <rp> has "display:inline" so, the test needs other conditions:
22
+ getStyle(ruby, displayStyleProperty) == 'ruby' && getStyle(rt, displayStyleProperty) == 'ruby-text' || // for IE8 & IE9
23
+ getStyle(rp, fontSizeStyleProperty) == '6pt' && getStyle(rt, fontSizeStyleProperty) == '6pt' ) { // for IE6 & IE7
24
+
25
+ cleanUp();
26
+ return true;
27
+
28
+ } else {
29
+ cleanUp();
30
+ return false;
31
+ }
32
+
33
+ function getStyle( element, styleProperty ) {
34
+ var result;
35
+
36
+ if ( window.getComputedStyle ) { // for non-IE browsers
37
+ result = document.defaultView.getComputedStyle(element,null).getPropertyValue(styleProperty);
38
+ } else if ( element.currentStyle ) { // for IE
39
+ result = element.currentStyle[styleProperty];
40
+ }
41
+
42
+ return result;
43
+ }
44
+
45
+ function cleanUp() {
46
+ docElement.removeChild(ruby);
47
+ // the removed child node still exists in memory, so ...
48
+ ruby = null;
49
+ rt = null;
50
+ rp = null;
51
+ }
52
+
53
+ });
@@ -0,0 +1,4 @@
1
+ // <time> element
2
+ // http://www.whatwg.org/specs/web-apps/current-work/multipage/rendering.html#the-time-element-0
3
+ // by Addy Osmani
4
+ Modernizr.addTest('time', 'valueAsDate' in document.createElement('time'));
@@ -0,0 +1,11 @@
1
+ // Track element + Timed Text Track API
2
+ // http://www.w3.org/TR/html5/video.html#the-track-element
3
+ // http://www.w3.org/TR/html5/media-elements.html#text-track-api
4
+ //
5
+ // While IE10 has implemented the track element, IE10 does not expose the underlying APIs to create timed text tracks by JS (really sad)
6
+ // By Addy Osmani
7
+ Modernizr.addTest({
8
+ texttrackapi: (typeof (document.createElement('video').addTextTrack) === 'function'),
9
+ // a more strict test for track including UI support: document.createElement('track').kind === 'subtitles'
10
+ track: ('kind' in document.createElement('track'))
11
+ });
@@ -0,0 +1,11 @@
1
+ // Requires a Modernizr build with `canvastext` included
2
+ // http://www.modernizr.com/download/#-canvas-canvastext
3
+ Modernizr.addTest('emoji', function() {
4
+ if (!Modernizr.canvastext) return false;
5
+ var node = document.createElement('canvas'),
6
+ ctx = node.getContext('2d');
7
+ ctx.textBaseline = 'top';
8
+ ctx.font = '32px Arial';
9
+ ctx.fillText('\ud83d\ude03', 0, 0); // "smiling face with open mouth" emoji
10
+ return ctx.getImageData(16, 16, 1, 1).data[0] !== 0;
11
+ });
@@ -0,0 +1,7 @@
1
+ // strict mode
2
+
3
+ // test by @kangax
4
+
5
+ Modernizr.addTest('strictmode', function(){
6
+ return (function(){ "use strict"; return !this; })();
7
+ });
@@ -0,0 +1,11 @@
1
+ //By Shi Chuan
2
+ //Part of Device Access aspect of HTML5, same category as geolocation
3
+ //W3C Editor's Draft at http://dev.w3.org/geo/api/spec-source-orientation.html
4
+ //Implementation by iOS Safari at http://goo.gl/fhce3 and http://goo.gl/rLKz8
5
+
6
+
7
+ //test for Device Motion Event support, returns boolean value true/false
8
+ Modernizr.addTest('devicemotion', ('DeviceMotionEvent' in window) );
9
+
10
+ //test for Device Orientation Event support, returns boolean value true/false
11
+ Modernizr.addTest('deviceorientation', ('DeviceOrientationEvent' in window) );
@@ -0,0 +1,32 @@
1
+ // EXIF Orientation test
2
+
3
+ // iOS looks at the EXIF Orientation flag in jpgs and rotates the image
4
+ // accordingly. Looks like most desktop browsers just ignore this data.
5
+
6
+ // description: www.impulseadventure.com/photo/exif-orientation.html
7
+
8
+ // Bug trackers:
9
+ // bugzil.la/298619 (unimplemented)
10
+ // crbug.com/56845 (looks incomplete)
11
+ // webk.it/19688 (available upstream but its up all ports to turn on individually)
12
+ //
13
+
14
+ // detect by Paul Sayre
15
+
16
+
17
+ (function(){
18
+
19
+ var img = new Image();
20
+
21
+ img.onerror = function() {
22
+ Modernizr.addTest('exif-orientation', function () { return false; });
23
+ };
24
+
25
+ img.onload = function() {
26
+ Modernizr.addTest('exif-orientation', function () { return img.width !== 2; });
27
+ };
28
+
29
+ // There may be a way to shrink this more, it's a 1x2 white jpg with the orientation flag set to 6
30
+ img.src = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4QAiRXhpZgAASUkqAAgAAAABABIBAwABAAAABgASAAAAAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wAARCAABAAIDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD+/iiiigD/2Q==";
31
+
32
+ })();
@@ -0,0 +1,12 @@
1
+ /**
2
+ * file tests for the File API specification
3
+ * Tests for objects specific to the File API W3C specification without
4
+ * being redundant (don't bother testing for Blob since it is assumed
5
+ * to be the File object's prototype.
6
+ *
7
+ * Will fail in Safari 5 due to its lack of support for the standards
8
+ * defined FileReader object
9
+ */
10
+ Modernizr.addTest('filereader', function () {
11
+ return !!(window.File && window.FileList && window.FileReader);
12
+ });
@@ -0,0 +1,9 @@
1
+ // Filesystem API
2
+ // dev.w3.org/2009/dap/file-system/file-dir-sys.html
3
+
4
+ // The API will be present in Chrome incognito, but will throw an exception.
5
+ // See crbug.com/93417
6
+ //
7
+ // By Eric Bidelman (@ebidel)
8
+
9
+ Modernizr.addTest('filesystem', !!Modernizr.prefixed('requestFileSystem', window));
@@ -0,0 +1,13 @@
1
+
2
+
3
+ // Detects whether input type="file" is available on the platform
4
+ // E.g. iOS < 6 and some android version don't support this
5
+
6
+ // It's useful if you want to hide the upload feature of your app on devices that
7
+ // don't support it (iphone, ipad, etc).
8
+
9
+ Modernizr.addTest('fileinput', function() {
10
+ var elem = document.createElement('input');
11
+ elem.type = 'file';
12
+ return !elem.disabled;
13
+ });
@@ -0,0 +1,29 @@
1
+ // Detects whether input form="form_id" is available on the platform
2
+ // E.g. IE 10 (and below), don't support this
3
+ Modernizr.addTest("formattribute", function() {
4
+ var form = document.createElement("form"),
5
+ input = document.createElement("input"),
6
+ div = document.createElement("div"),
7
+ id = "formtest"+(new Date().getTime()),
8
+ attr,
9
+ bool = false;
10
+
11
+ form.id = id;
12
+
13
+ //IE6/7 confuses the form idl attribute and the form content attribute
14
+ if(document.createAttribute){
15
+ attr = document.createAttribute("form");
16
+ attr.nodeValue = id;
17
+ input.setAttributeNode(attr);
18
+ div.appendChild(form);
19
+ div.appendChild(input);
20
+
21
+ document.documentElement.appendChild(div);
22
+
23
+ bool = form.elements.length === 1 && input.form == form;
24
+
25
+ div.parentNode.removeChild(div);
26
+ }
27
+
28
+ return bool;
29
+ });
@@ -0,0 +1,32 @@
1
+ // input[type="number"] localized input/output
2
+ // // Detects whether input type="number" is capable of receiving and
3
+ // // displaying localized numbers, e.g. with comma separator
4
+ // // https://bugs.webkit.org/show_bug.cgi?id=42484
5
+ // // Based on http://trac.webkit.org/browser/trunk/LayoutTests/fast/forms/script-tests/input-number-keyoperation.js?rev=80096#L9
6
+ // // By Peter Janes
7
+
8
+ Modernizr.addTest('localizedNumber', function() {
9
+ var doc = document,
10
+ el = document.createElement('div'),
11
+ fake,
12
+ root,
13
+ input,
14
+ diff;
15
+ root = doc.body || (function() {
16
+ var de = doc.documentElement;
17
+ fake = true;
18
+ return de.insertBefore(doc.createElement('body'), de.firstElementChild || de.firstChild);
19
+ }());
20
+ el.innerHTML = '<input type="number" value="1.0" step="0.1"/>';
21
+ input = el.childNodes[0];
22
+ root.appendChild(el);
23
+ input.focus();
24
+ try {
25
+ doc.execCommand('InsertText', false, '1,1');
26
+ } catch(e) { // prevent warnings in IE
27
+ }
28
+ diff = input.type === 'number' && input.valueAsNumber === 1.1 && input.checkValidity();
29
+ root.removeChild(el);
30
+ fake && root.parentNode.removeChild(root);
31
+ return diff;
32
+ });
@@ -0,0 +1,10 @@
1
+ // testing for placeholder attribute in inputs and textareas
2
+ // re-using Modernizr.input if available
3
+
4
+ Modernizr.addTest('placeholder', function(){
5
+
6
+ return !!( 'placeholder' in ( Modernizr.input || document.createElement('input') ) &&
7
+ 'placeholder' in ( Modernizr.textarea || document.createElement('textarea') )
8
+ );
9
+
10
+ });
@@ -0,0 +1,19 @@
1
+ // speech input for inputs
2
+ // by @alrra
3
+
4
+
5
+ // `webkitSpeech` in elem
6
+ // doesn`t work correctly in all versions of Chromium based browsers.
7
+ // It can return false even if they have support for speech i.imgur.com/2Y40n.png
8
+ // Testing with 'onwebkitspeechchange' seems to fix this problem
9
+
10
+ // this detect only checks the webkit version because
11
+ // the speech attribute is likely to be deprecated in favor of a JavaScript API.
12
+ // http://lists.w3.org/Archives/Public/public-webapps/2011OctDec/att-1696/speechapi.html
13
+
14
+ // FIXME: add support for detecting the new spec'd behavior
15
+
16
+ Modernizr.addTest('speechinput', function(){
17
+ var elem = document.createElement('input');
18
+ return 'speech' in elem || 'onwebkitspeechchange' in elem;
19
+ });
@@ -0,0 +1,62 @@
1
+ // This implementation only tests support for interactive form validation.
2
+ // To check validation for a specific type or a specific other constraint,
3
+ // the test can be combined:
4
+ // - Modernizr.inputtypes.numer && Modernizr.formvalidation (browser supports rangeOverflow, typeMismatch etc. for type=number)
5
+ // - Modernizr.input.required && Modernizr.formvalidation (browser supports valueMissing)
6
+ //
7
+ (function(document, Modernizr){
8
+
9
+
10
+ Modernizr.formvalidationapi = false;
11
+ Modernizr.formvalidationmessage = false;
12
+
13
+ Modernizr.addTest('formvalidation', function() {
14
+ var form = document.createElement('form');
15
+ if ( !('checkValidity' in form) || !('addEventListener' in form) ) {
16
+ return false;
17
+ }
18
+ if ('reportValidity' in form) {
19
+ return true;
20
+ }
21
+ var invalidFired = false;
22
+ var input;
23
+
24
+ Modernizr.formvalidationapi = true;
25
+
26
+ // Prevent form from being submitted
27
+ form.addEventListener('submit', function(e) {
28
+ //Opera does not validate form, if submit is prevented
29
+ if ( !window.opera ) {
30
+ e.preventDefault();
31
+ }
32
+ e.stopPropagation();
33
+ }, false);
34
+
35
+ // Calling form.submit() doesn't trigger interactive validation,
36
+ // use a submit button instead
37
+ //older opera browsers need a name attribute
38
+ form.innerHTML = '<input name="modTest" required><button></button>';
39
+
40
+ Modernizr.testStyles('#modernizr form{position:absolute;top:-99999em}', function( node ) {
41
+ node.appendChild(form);
42
+
43
+ input = form.getElementsByTagName('input')[0];
44
+
45
+ // Record whether "invalid" event is fired
46
+ input.addEventListener('invalid', function(e) {
47
+ invalidFired = true;
48
+ e.preventDefault();
49
+ e.stopPropagation();
50
+ }, false);
51
+
52
+ //Opera does not fully support the validationMessage property
53
+ Modernizr.formvalidationmessage = !!input.validationMessage;
54
+
55
+ // Submit form by clicking submit button
56
+ form.getElementsByTagName('button')[0].click();
57
+ });
58
+
59
+ return invalidFired;
60
+ });
61
+
62
+ })(document, window.Modernizr);
@@ -0,0 +1,10 @@
1
+ Modernizr.addTest('fullscreen',function(){
2
+ for(var i = 0; i < Modernizr._domPrefixes.length; i++) {
3
+ if( document[Modernizr._domPrefixes[i].toLowerCase() + 'CancelFullScreen'])
4
+ return true;
5
+ }
6
+ return !!document['cancelFullScreen'] || false;
7
+ });
8
+
9
+ // http://developer.apple.com/library/safari/documentation/AudioVideo/Conceptual/Using_HTML5_Audio_Video/ControllingMediaWithJavaScript/ControllingMediaWithJavaScript.html#//apple_ref/doc/uid/TP40009523-CH3-SW20
10
+ // https://developer.mozilla.org/en/API/Fullscreen
@@ -0,0 +1,12 @@
1
+ // GamePad API
2
+ // https://dvcs.w3.org/hg/gamepad/raw-file/default/gamepad.html
3
+ // By Eric Bidelman
4
+
5
+ // FF has Gamepad API support only in special builds, but not in any release (even behind a flag)
6
+ // Their current implementation has no way to feature detect, only events to bind to.
7
+ // http://www.html5rocks.com/en/tutorials/doodles/gamepad/#toc-featuredetect
8
+
9
+ // but a patch will bring them up to date with the spec when it lands (and they'll pass this test)
10
+ // https://bugzilla.mozilla.org/show_bug.cgi?id=690935
11
+
12
+ Modernizr.addTest('gamepads', !!Modernizr.prefixed('getGamepads', navigator));
@@ -0,0 +1,5 @@
1
+ // getUserMedia
2
+ // http://www.whatwg.org/specs/web-apps/current-work/multipage/video-conferencing-and-peer-to-peer-communication.html
3
+ // By Eric Bidelman
4
+
5
+ Modernizr.addTest('getusermedia', !!Modernizr.prefixed('getUserMedia', navigator));
@@ -0,0 +1,12 @@
1
+
2
+ // IE8 compat mode aka Fake IE7
3
+ // by Erich Ocean
4
+
5
+ // In this case, IE8 will be acting as IE7. You may choose to remove features in this case.
6
+
7
+ // related:
8
+ // james.padolsey.com/javascript/detect-ie-in-js-using-conditional-comments/
9
+
10
+ Modernizr.addTest('ie8compat',function(){
11
+ return (!window.addEventListener && document.documentMode && document.documentMode === 7);
12
+ });
@@ -0,0 +1,5 @@
1
+ // Test for `sandbox` attribute in iframes.
2
+ //
3
+ // Spec: http://www.whatwg.org/specs/web-apps/current-work/multipage/the-iframe-element.html#attr-iframe-sandbox
4
+
5
+ Modernizr.addTest('sandbox', 'sandbox' in document.createElement('iframe'));
@@ -0,0 +1,5 @@
1
+ // Test for `seamless` attribute in iframes.
2
+ //
3
+ // Spec: http://www.whatwg.org/specs/web-apps/current-work/multipage/the-iframe-element.html#attr-iframe-seamless
4
+
5
+ Modernizr.addTest('seamless', 'seamless' in document.createElement('iframe'));
@@ -0,0 +1,5 @@
1
+ // Test for `srcdoc` attribute in iframes.
2
+ //
3
+ // Spec: http://www.whatwg.org/specs/web-apps/current-work/multipage/the-iframe-element.html#attr-iframe-srcdoc
4
+
5
+ Modernizr.addTest('srcdoc', 'srcdoc' in document.createElement('iframe'));
@@ -0,0 +1,26 @@
1
+ // Animated PNG
2
+ // http://en.wikipedia.org/wiki/APNG
3
+ // By Addy Osmani
4
+ (function () {
5
+
6
+ if (!Modernizr.canvas) return false;
7
+
8
+ var image = new Image(),
9
+ canvas = document.createElement('canvas'),
10
+ ctx = canvas.getContext('2d');
11
+
12
+
13
+ image.onload = function () {
14
+ Modernizr.addTest('apng', function () {
15
+ if (typeof canvas.getContext == 'undefined') {
16
+ return false;
17
+ } else {
18
+ ctx.drawImage(image, 0, 0);
19
+ return ctx.getImageData(0, 0, 1, 1).data[3] === 0;
20
+ }
21
+ });
22
+ };
23
+
24
+ image.src = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAACGFjVEwAAAABAAAAAcMq2TYAAAANSURBVAiZY2BgYPgPAAEEAQB9ssjfAAAAGmZjVEwAAAAAAAAAAQAAAAEAAAAAAAAAAAD6A+gBAbNU+2sAAAARZmRBVAAAAAEImWNgYGBgAAAABQAB6MzFdgAAAABJRU5ErkJggg==";
25
+
26
+ }());
@@ -0,0 +1,20 @@
1
+ // code.google.com/speed/webp/
2
+ // by rich bradshaw, ryan seddon, and paul irish
3
+
4
+
5
+ // This test is asynchronous. Watch out.
6
+
7
+ (function(){
8
+
9
+ var image = new Image();
10
+
11
+ image.onerror = function() {
12
+ Modernizr.addTest('webp', false);
13
+ };
14
+ image.onload = function() {
15
+ Modernizr.addTest('webp', function() { return image.width == 1; });
16
+ };
17
+
18
+ image.src = 'data:image/webp;base64,UklGRiwAAABXRUJQVlA4ICAAAAAUAgCdASoBAAEAL/3+/3+CAB/AAAFzrNsAAP5QAAAAAA==';
19
+
20
+ }());
@@ -0,0 +1,7 @@
1
+ // native JSON support.
2
+ // developer.mozilla.org/en/JSON
3
+
4
+ // this will also succeed if you've loaded the JSON2.js polyfill ahead of time
5
+ // ... but that should be obvious. :)
6
+
7
+ Modernizr.addTest('json', !!window.JSON && !!JSON.parse);
@@ -0,0 +1,6 @@
1
+
2
+ // impressivewebs.com/reverse-ordered-lists-html5
3
+ // polyfill: github.com/impressivewebs/HTML5-Reverse-Ordered-Lists
4
+
5
+
6
+ Modernizr.addTest('olreversed', 'reversed' in document.createElement('ol'));
@@ -0,0 +1,23 @@
1
+ // MathML
2
+ // http://www.w3.org/Math/
3
+ // By Addy Osmani
4
+ // Based on work by Davide (@dpvc) and David (@davidcarlisle)
5
+ // in https://github.com/mathjax/MathJax/issues/182
6
+
7
+ Modernizr.addTest('mathml', function(){
8
+ var hasMathML = false;
9
+ if ( document.createElementNS ) {
10
+ var ns = "http://www.w3.org/1998/Math/MathML",
11
+ div = document.createElement("div");
12
+ div.style.position = "absolute";
13
+ var mfrac = div.appendChild(document.createElementNS(ns,"math"))
14
+ .appendChild(document.createElementNS(ns,"mfrac"));
15
+ mfrac.appendChild(document.createElementNS(ns,"mi"))
16
+ .appendChild(document.createTextNode("xx"));
17
+ mfrac.appendChild(document.createElementNS(ns,"mi"))
18
+ .appendChild(document.createTextNode("yy"));
19
+ document.body.appendChild(div);
20
+ hasMathML = div.offsetHeight > div.offsetWidth;
21
+ }
22
+ return hasMathML;
23
+ });
@@ -0,0 +1,22 @@
1
+ // determining low-bandwidth via navigator.connection
2
+
3
+ // There are two iterations of the navigator.connection interface:
4
+
5
+ // The first is present in Android 2.2+ and only in the Browser (not WebView)
6
+ // : docs.phonegap.com/en/1.2.0/phonegap_connection_connection.md.html#connection.type
7
+ // : davidbcalhoun.com/2010/using-navigator-connection-android
8
+
9
+ // The second is specced at dev.w3.org/2009/dap/netinfo/ and perhaps landing in WebKit
10
+ // : bugs.webkit.org/show_bug.cgi?id=73528
11
+
12
+ // unknown devices are assumed as fast
13
+ // for more rigorous network testing, consider boomerang.js: github.com/bluesmoon/boomerang/
14
+
15
+ Modernizr.addTest('lowbandwidth', function() {
16
+
17
+ var connection = navigator.connection || { type: 0 }; // polyfill
18
+
19
+ return connection.type == 3 || // connection.CELL_2G
20
+ connection.type == 4 || // connection.CELL_3G
21
+ /^[23]g$/.test(connection.type); // string value in new spec
22
+ });
@@ -0,0 +1,5 @@
1
+
2
+ // server sent events aka eventsource
3
+ // dev.w3.org/html5/eventsource/
4
+
5
+ Modernizr.addTest('eventsource', !!window.EventSource);
@@ -0,0 +1,13 @@
1
+
2
+
3
+ // XML HTTP Request Level 2
4
+ // www.w3.org/TR/XMLHttpRequest2/
5
+
6
+ // Much more details at github.com/Modernizr/Modernizr/issues/385
7
+
8
+ // all three of these details report consistently across all target browsers:
9
+ // !!(window.ProgressEvent);
10
+ // !!(window.FormData);
11
+ // window.XMLHttpRequest && "withCredentials" in new XMLHttpRequest;
12
+
13
+ Modernizr.addTest('xhr2', 'FormData' in window);
@@ -0,0 +1,10 @@
1
+ // Notifications
2
+ // By Theodoor van Donge
3
+
4
+ // window.webkitNotifications is only used by Chrome
5
+ // http://www.html5rocks.com/en/tutorials/notifications/quick/
6
+
7
+ // window.Notification only exist in the draft specs
8
+ // http://dev.w3.org/2006/webapi/WebNotifications/publish/Notifications.html#idl-if-Notification
9
+
10
+ Modernizr.addTest('notification', 'Notification' in window && 'permission' in window.Notification && 'requestPermission' in window.Notification);
@@ -0,0 +1,5 @@
1
+ // Navigation Timing (Performance)
2
+ // https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/NavigationTiming/
3
+ // http://www.html5rocks.com/en/tutorials/webperformance/basics/
4
+ // By Scott Murphy (uxder)
5
+ Modernizr.addTest('performance', !!Modernizr.prefixed('performance', window));
@@ -0,0 +1,4 @@
1
+ // https://developer.mozilla.org/en-US/docs/API/Pointer_Lock_API
2
+
3
+ Modernizr.addTest('pointerlock',!!Modernizr.prefixed('pointerLockElement', document));
4
+
@@ -0,0 +1,11 @@
1
+ // Quota Storage Management API
2
+ // This API can be used to check how much quota an origin is using and request more
3
+
4
+ // Currently only implemented in Chrome.
5
+ // https://developers.google.com/chrome/whitepapers/storage
6
+ // By Addy Osmani
7
+
8
+ Modernizr.addTest('quotamanagement', function(){
9
+ var storage = Modernizr.prefixed('StorageInfo', window);
10
+ return !!(storage && 'TEMPORARY' in storage && 'PERSISTENT' in storage);
11
+ });
@@ -0,0 +1,7 @@
1
+
2
+ // requestAnimationFrame
3
+ // Offload animation repainting to browser for optimized performance.
4
+ // http://dvcs.w3.org/hg/webperf/raw-file/tip/specs/RequestAnimationFrame/Overview.html
5
+ // By Addy Osmani
6
+
7
+ Modernizr.addTest('raf', !!Modernizr.prefixed('requestAnimationFrame', window));
@@ -0,0 +1,3 @@
1
+ // async script
2
+ // By Theodoor van Donge
3
+ Modernizr.addTest('scriptasync', 'async' in document.createElement('script'));
@@ -0,0 +1,3 @@
1
+ // defer script
2
+ // By Theodoor van Donge
3
+ Modernizr.addTest('scriptdefer', 'defer' in document.createElement('script'));
@@ -0,0 +1,6 @@
1
+ // Browser support test for <style scoped>
2
+ // http://www.w3.org/TR/html5/the-style-element.html#attr-style-scoped
3
+ //
4
+ // by @alrra
5
+
6
+ Modernizr.addTest( 'stylescoped', 'scoped' in document.createElement('style') );
@@ -0,0 +1,13 @@
1
+ // Detect support for svg filters - http://www.w3.org/TR/SVG11/filters.html.
2
+ // Should fail in Safari: http://stackoverflow.com/questions/9739955/feature-detecting-support-for-svg-filters.
3
+ // detect by erik dahlstrom
4
+
5
+ Modernizr.addTest('svgfilters', function(){
6
+ var result = false;
7
+ try {
8
+ result = typeof SVGFEColorMatrixElement !== undefined &&
9
+ SVGFEColorMatrixElement.SVG_FECOLORMATRIX_TYPE_SATURATE == 2;
10
+ }
11
+ catch(e) {}
12
+ return result;
13
+ });