paint-rails 0.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
+ });