mifflin 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (311) hide show
  1. checksums.yaml +4 -4
  2. data/.bowerrc +3 -0
  3. data/README.md +36 -3
  4. data/bower.json +34 -0
  5. data/lib/generators/mifflin/install/install_generator.rb +88 -0
  6. data/lib/generators/mifflin/install/templates/assets/javascripts/application.js.coffee +9 -0
  7. data/lib/generators/mifflin/install/templates/assets/javascripts/requirements.js.coffee +5 -0
  8. data/lib/generators/mifflin/install/templates/assets/stylesheets/application.css.sass +80 -0
  9. data/lib/generators/mifflin/install/templates/assets/stylesheets/base/_base.page.sass +9 -0
  10. data/lib/generators/mifflin/install/templates/assets/stylesheets/base/_base.type.sass +68 -0
  11. data/lib/generators/mifflin/install/templates/assets/stylesheets/components/_components.buttons.sass +23 -0
  12. data/lib/generators/mifflin/install/templates/assets/stylesheets/generic/_generic.example.sass +0 -0
  13. data/lib/generators/mifflin/install/templates/assets/stylesheets/objects/_objects.containers.sass +9 -0
  14. data/lib/generators/mifflin/install/templates/assets/stylesheets/requirements.sass +20 -0
  15. data/lib/generators/mifflin/install/templates/assets/stylesheets/settings/_settings.colors.sass +59 -0
  16. data/lib/generators/mifflin/install/templates/assets/stylesheets/settings/_settings.fonts.sass +21 -0
  17. data/lib/generators/mifflin/install/templates/assets/stylesheets/settings/_settings.global.sass +9 -0
  18. data/lib/generators/mifflin/install/templates/assets/stylesheets/settings/_settings.grid.sass +8 -0
  19. data/lib/generators/mifflin/install/templates/assets/stylesheets/tools/_tools.intrinsic-ratio.sass +54 -0
  20. data/lib/generators/mifflin/install/templates/assets/stylesheets/tools/_tools.mediaqueries.sass +44 -0
  21. data/lib/generators/mifflin/install/templates/assets/stylesheets/tools/_tools.mixins.sass +46 -0
  22. data/lib/generators/mifflin/install/templates/assets/stylesheets/trumps/_trumps.example.sass +0 -0
  23. data/lib/mifflin.rb +1 -1
  24. data/lib/mifflin/version.rb +1 -1
  25. data/vendor/assets/bower_components/bourbon/.bower.json +45 -0
  26. data/vendor/assets/bower_components/bourbon/LICENSE.md +21 -0
  27. data/vendor/assets/bower_components/bourbon/README.md +140 -0
  28. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/_bourbon-deprecated-upcoming.scss +411 -0
  29. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/_bourbon.scss +87 -0
  30. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/addons/_border-color.scss +26 -0
  31. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/addons/_border-radius.scss +48 -0
  32. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/addons/_border-style.scss +25 -0
  33. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/addons/_border-width.scss +25 -0
  34. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/addons/_buttons.scss +64 -0
  35. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/addons/_clearfix.scss +25 -0
  36. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/addons/_ellipsis.scss +30 -0
  37. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/addons/_font-stacks.scss +31 -0
  38. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/addons/_hide-text.scss +27 -0
  39. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/addons/_margin.scss +26 -0
  40. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/addons/_padding.scss +26 -0
  41. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/addons/_position.scss +48 -0
  42. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/addons/_prefixer.scss +66 -0
  43. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/addons/_retina-image.scss +25 -0
  44. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/addons/_size.scss +51 -0
  45. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/addons/_text-inputs.scss +112 -0
  46. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/addons/_timing-functions.scss +34 -0
  47. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/addons/_triangle.scss +63 -0
  48. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/addons/_word-wrap.scss +29 -0
  49. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/css3/_animation.scss +43 -0
  50. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/css3/_appearance.scss +3 -0
  51. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/css3/_backface-visibility.scss +3 -0
  52. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/css3/_background-image.scss +42 -0
  53. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/css3/_background.scss +55 -0
  54. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/css3/_border-image.scss +59 -0
  55. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/css3/_calc.scss +4 -0
  56. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/css3/_columns.scss +47 -0
  57. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/css3/_filter.scss +4 -0
  58. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/css3/_flex-box.scss +287 -0
  59. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/css3/_font-face.scss +24 -0
  60. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/css3/_font-feature-settings.scss +4 -0
  61. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/css3/_hidpi-media-query.scss +10 -0
  62. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/css3/_hyphens.scss +4 -0
  63. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/css3/_image-rendering.scss +14 -0
  64. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/css3/_keyframes.scss +36 -0
  65. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/css3/_linear-gradient.scss +38 -0
  66. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/css3/_perspective.scss +8 -0
  67. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/css3/_placeholder.scss +8 -0
  68. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/css3/_radial-gradient.scss +39 -0
  69. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/css3/_selection.scss +42 -0
  70. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/css3/_text-decoration.scss +19 -0
  71. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/css3/_transform.scss +15 -0
  72. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/css3/_transition.scss +71 -0
  73. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/css3/_user-select.scss +3 -0
  74. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/functions/_assign-inputs.scss +11 -0
  75. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/functions/_contains-falsy.scss +20 -0
  76. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/functions/_contains.scss +26 -0
  77. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/functions/_is-length.scss +11 -0
  78. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/functions/_is-light.scss +21 -0
  79. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/functions/_is-number.scss +11 -0
  80. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/functions/_is-size.scss +13 -0
  81. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/functions/_modular-scale.scss +69 -0
  82. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/functions/_px-to-em.scss +13 -0
  83. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/functions/_px-to-rem.scss +15 -0
  84. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/functions/_shade.scss +24 -0
  85. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/functions/_strip-units.scss +17 -0
  86. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/functions/_tint.scss +24 -0
  87. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/functions/_transition-property-name.scss +22 -0
  88. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/functions/_unpack.scss +27 -0
  89. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/helpers/_convert-units.scss +21 -0
  90. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/helpers/_directional-values.scss +96 -0
  91. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/helpers/_font-source-declaration.scss +43 -0
  92. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/helpers/_gradient-positions-parser.scss +13 -0
  93. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/helpers/_linear-angle-parser.scss +25 -0
  94. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/helpers/_linear-gradient-parser.scss +41 -0
  95. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/helpers/_linear-positions-parser.scss +61 -0
  96. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/helpers/_linear-side-corner-parser.scss +31 -0
  97. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/helpers/_radial-arg-parser.scss +69 -0
  98. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/helpers/_radial-gradient-parser.scss +50 -0
  99. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/helpers/_radial-positions-parser.scss +18 -0
  100. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/helpers/_render-gradients.scss +26 -0
  101. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/helpers/_shape-size-stripper.scss +10 -0
  102. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/helpers/_str-to-num.scss +50 -0
  103. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/settings/_asset-pipeline.scss +7 -0
  104. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/settings/_prefixer.scss +9 -0
  105. data/vendor/assets/bower_components/bourbon/app/assets/stylesheets/settings/_px-to-em.scss +1 -0
  106. data/vendor/assets/bower_components/bourbon/bower.json +36 -0
  107. data/vendor/assets/bower_components/enquire/.bower.json +25 -0
  108. data/vendor/assets/bower_components/enquire/.gitignore +53 -0
  109. data/vendor/assets/bower_components/enquire/.jshintrc +29 -0
  110. data/vendor/assets/bower_components/enquire/CONTRIBUTING.md +141 -0
  111. data/vendor/assets/bower_components/enquire/bower.json +13 -0
  112. data/vendor/assets/bower_components/enquire/dist/enquire.js +296 -0
  113. data/vendor/assets/bower_components/enquire/dist/enquire.min.js +7 -0
  114. data/vendor/assets/bower_components/enquire/package.json +42 -0
  115. data/vendor/assets/bower_components/enquire/readme.md +85 -0
  116. data/vendor/assets/bower_components/fastclick/.bower.json +23 -0
  117. data/vendor/assets/bower_components/fastclick/LICENSE +22 -0
  118. data/vendor/assets/bower_components/fastclick/README.md +140 -0
  119. data/vendor/assets/bower_components/fastclick/bower.json +12 -0
  120. data/vendor/assets/bower_components/fastclick/lib/fastclick.js +841 -0
  121. data/vendor/assets/bower_components/inuit-box-sizing/.bower.json +25 -0
  122. data/vendor/assets/bower_components/inuit-box-sizing/README.md +4 -0
  123. data/vendor/assets/bower_components/inuit-box-sizing/_generic.box-sizing.scss +35 -0
  124. data/vendor/assets/bower_components/inuit-box-sizing/bower.json +16 -0
  125. data/vendor/assets/bower_components/inuit-buttons/.bower.json +29 -0
  126. data/vendor/assets/bower_components/inuit-buttons/.gitignore +4 -0
  127. data/vendor/assets/bower_components/inuit-buttons/README.md +12 -0
  128. data/vendor/assets/bower_components/inuit-buttons/_objects.buttons.scss +166 -0
  129. data/vendor/assets/bower_components/inuit-buttons/bower.json +20 -0
  130. data/vendor/assets/bower_components/inuit-buttons/package.json +25 -0
  131. data/vendor/assets/bower_components/inuit-clearfix/.bower.json +25 -0
  132. data/vendor/assets/bower_components/inuit-clearfix/README.md +11 -0
  133. data/vendor/assets/bower_components/inuit-clearfix/_trumps.clearfix.scss +19 -0
  134. data/vendor/assets/bower_components/inuit-clearfix/bower.json +16 -0
  135. data/vendor/assets/bower_components/inuit-clearfix/package.json +21 -0
  136. data/vendor/assets/bower_components/inuit-defaults/.bower.json +25 -0
  137. data/vendor/assets/bower_components/inuit-defaults/README.md +12 -0
  138. data/vendor/assets/bower_components/inuit-defaults/_settings.defaults.scss +44 -0
  139. data/vendor/assets/bower_components/inuit-defaults/bower.json +16 -0
  140. data/vendor/assets/bower_components/inuit-defaults/package.json +21 -0
  141. data/vendor/assets/bower_components/inuit-flag/.bower.json +29 -0
  142. data/vendor/assets/bower_components/inuit-flag/.gitignore +4 -0
  143. data/vendor/assets/bower_components/inuit-flag/README.md +9 -0
  144. data/vendor/assets/bower_components/inuit-flag/_objects.flag.scss +494 -0
  145. data/vendor/assets/bower_components/inuit-flag/bower.json +20 -0
  146. data/vendor/assets/bower_components/inuit-functions/.bower.json +25 -0
  147. data/vendor/assets/bower_components/inuit-functions/README.md +4 -0
  148. data/vendor/assets/bower_components/inuit-functions/_tools.functions.scss +34 -0
  149. data/vendor/assets/bower_components/inuit-functions/bower.json +16 -0
  150. data/vendor/assets/bower_components/inuit-images/.bower.json +25 -0
  151. data/vendor/assets/bower_components/inuit-images/README.md +7 -0
  152. data/vendor/assets/bower_components/inuit-images/_base.images.scss +30 -0
  153. data/vendor/assets/bower_components/inuit-images/bower.json +16 -0
  154. data/vendor/assets/bower_components/inuit-list-bare/.bower.json +28 -0
  155. data/vendor/assets/bower_components/inuit-list-bare/.gitignore +3 -0
  156. data/vendor/assets/bower_components/inuit-list-bare/README.md +7 -0
  157. data/vendor/assets/bower_components/inuit-list-bare/_objects.list-bare.scss +17 -0
  158. data/vendor/assets/bower_components/inuit-list-bare/bower.json +19 -0
  159. data/vendor/assets/bower_components/inuit-list-block/.bower.json +29 -0
  160. data/vendor/assets/bower_components/inuit-list-block/.gitignore +4 -0
  161. data/vendor/assets/bower_components/inuit-list-block/README.md +7 -0
  162. data/vendor/assets/bower_components/inuit-list-block/_objects.list-block.scss +114 -0
  163. data/vendor/assets/bower_components/inuit-list-block/bower.json +20 -0
  164. data/vendor/assets/bower_components/inuit-list-inline/.bower.json +28 -0
  165. data/vendor/assets/bower_components/inuit-list-inline/.gitignore +4 -0
  166. data/vendor/assets/bower_components/inuit-list-inline/README.md +75 -0
  167. data/vendor/assets/bower_components/inuit-list-inline/_objects.list-inline.scss +54 -0
  168. data/vendor/assets/bower_components/inuit-list-inline/bower.json +19 -0
  169. data/vendor/assets/bower_components/inuit-list-ui/.bower.json +29 -0
  170. data/vendor/assets/bower_components/inuit-list-ui/.gitignore +4 -0
  171. data/vendor/assets/bower_components/inuit-list-ui/README.md +7 -0
  172. data/vendor/assets/bower_components/inuit-list-ui/_objects.list-ui.scss +128 -0
  173. data/vendor/assets/bower_components/inuit-list-ui/bower.json +20 -0
  174. data/vendor/assets/bower_components/inuit-lists/.bower.json +14 -0
  175. data/vendor/assets/bower_components/inuit-lists/README.md +4 -0
  176. data/vendor/assets/bower_components/inuit-lists/_base.lists.scss +15 -0
  177. data/vendor/assets/bower_components/inuit-media/.bower.json +30 -0
  178. data/vendor/assets/bower_components/inuit-media/.gitignore +4 -0
  179. data/vendor/assets/bower_components/inuit-media/README.md +82 -0
  180. data/vendor/assets/bower_components/inuit-media/_objects.media.scss +395 -0
  181. data/vendor/assets/bower_components/inuit-media/bower.json +21 -0
  182. data/vendor/assets/bower_components/inuit-mixins/.bower.json +28 -0
  183. data/vendor/assets/bower_components/inuit-mixins/.gitignore +3 -0
  184. data/vendor/assets/bower_components/inuit-mixins/README.md +8 -0
  185. data/vendor/assets/bower_components/inuit-mixins/_tools.mixins.scss +77 -0
  186. data/vendor/assets/bower_components/inuit-mixins/bower.json +19 -0
  187. data/vendor/assets/bower_components/inuit-normalize/.bower.json +27 -0
  188. data/vendor/assets/bower_components/inuit-normalize/README.md +17 -0
  189. data/vendor/assets/bower_components/inuit-normalize/_generic.normalize.scss +424 -0
  190. data/vendor/assets/bower_components/inuit-normalize/bower.json +18 -0
  191. data/vendor/assets/bower_components/inuit-normalize/package.json +26 -0
  192. data/vendor/assets/bower_components/inuit-page/.bower.json +28 -0
  193. data/vendor/assets/bower_components/inuit-page/.gitignore +3 -0
  194. data/vendor/assets/bower_components/inuit-page/README.md +9 -0
  195. data/vendor/assets/bower_components/inuit-page/_base.page.scss +30 -0
  196. data/vendor/assets/bower_components/inuit-page/bower.json +19 -0
  197. data/vendor/assets/bower_components/inuit-reset/.bower.json +25 -0
  198. data/vendor/assets/bower_components/inuit-reset/README.md +5 -0
  199. data/vendor/assets/bower_components/inuit-reset/_generic.reset.scss +54 -0
  200. data/vendor/assets/bower_components/inuit-reset/bower.json +16 -0
  201. data/vendor/assets/bower_components/inuit-shared/.bower.json +28 -0
  202. data/vendor/assets/bower_components/inuit-shared/.gitignore +3 -0
  203. data/vendor/assets/bower_components/inuit-shared/README.md +13 -0
  204. data/vendor/assets/bower_components/inuit-shared/_generic.shared.scss +34 -0
  205. data/vendor/assets/bower_components/inuit-shared/bower.json +19 -0
  206. data/vendor/assets/bower_components/inuit-shared/package.json +24 -0
  207. data/vendor/assets/bower_components/inuit-spacing/.bower.json +29 -0
  208. data/vendor/assets/bower_components/inuit-spacing/.gitignore +4 -0
  209. data/vendor/assets/bower_components/inuit-spacing/README.md +27 -0
  210. data/vendor/assets/bower_components/inuit-spacing/_trumps.spacing.scss +346 -0
  211. data/vendor/assets/bower_components/inuit-spacing/bower.json +20 -0
  212. data/vendor/assets/bower_components/inuit-spacing/package.json +25 -0
  213. data/vendor/assets/bower_components/picturefill/.bower.json +43 -0
  214. data/vendor/assets/bower_components/picturefill/Authors.txt +34 -0
  215. data/vendor/assets/bower_components/picturefill/CONTRIBUTING.md +57 -0
  216. data/vendor/assets/bower_components/picturefill/LICENSE +21 -0
  217. data/vendor/assets/bower_components/picturefill/README.md +26 -0
  218. data/vendor/assets/bower_components/picturefill/bower.json +34 -0
  219. data/vendor/assets/bower_components/picturefill/dist/picturefill.js +330 -0
  220. data/vendor/assets/bower_components/picturefill/dist/picturefill.min.js +4 -0
  221. data/vendor/assets/bower_components/picturefill/dist/plugins/gecko-picture/pf.gecko-picture.js +47 -0
  222. data/vendor/assets/bower_components/picturefill/dist/plugins/gecko-picture/pf.gecko-picture.min.js +4 -0
  223. data/vendor/assets/bower_components/picturefill/dist/plugins/intrinsic-dimension/pf.intrinsic.js +149 -0
  224. data/vendor/assets/bower_components/picturefill/dist/plugins/intrinsic-dimension/pf.intrinsic.min.js +4 -0
  225. data/vendor/assets/bower_components/picturefill/dist/plugins/mutation/pf.mutation.js +431 -0
  226. data/vendor/assets/bower_components/picturefill/dist/plugins/mutation/pf.mutation.min.js +4 -0
  227. data/vendor/assets/bower_components/picturefill/dist/plugins/oldie/pf.oldie.js +36 -0
  228. data/vendor/assets/bower_components/picturefill/dist/plugins/oldie/pf.oldie.min.js +4 -0
  229. data/vendor/assets/bower_components/picturefill/dist/plugins/print/pf.print.js +65 -0
  230. data/vendor/assets/bower_components/picturefill/dist/plugins/print/pf.print.min.js +4 -0
  231. data/vendor/assets/bower_components/picturefill/dist/plugins/typesupport/pf.type.js +91 -0
  232. data/vendor/assets/bower_components/picturefill/dist/plugins/typesupport/pf.type.min.js +4 -0
  233. data/vendor/assets/bower_components/picturefill/gruntfile.js +135 -0
  234. data/vendor/assets/bower_components/picturefill/index.html +229 -0
  235. data/vendor/assets/bower_components/picturefill/package.json +41 -0
  236. data/vendor/assets/bower_components/picturefill/picturefill.json +22 -0
  237. data/vendor/assets/bower_components/picturefill/src/picturefill.js +1619 -0
  238. data/vendor/assets/bower_components/picturefill/src/plugins/gecko-picture/pf.gecko-picture.js +47 -0
  239. data/vendor/assets/bower_components/picturefill/src/plugins/intrinsic-dimension/pf.intrinsic.js +149 -0
  240. data/vendor/assets/bower_components/picturefill/src/plugins/mutation/pf.mutation.js +431 -0
  241. data/vendor/assets/bower_components/picturefill/src/plugins/oldie/pf.oldie.js +36 -0
  242. data/vendor/assets/bower_components/picturefill/src/plugins/print/pf.print.js +65 -0
  243. data/vendor/assets/bower_components/picturefill/src/plugins/typesupport/pf.type.js +91 -0
  244. data/vendor/assets/bower_components/susy/.bower.json +39 -0
  245. data/vendor/assets/bower_components/susy/CONTRIBUTING.md +116 -0
  246. data/vendor/assets/bower_components/susy/Gemfile +3 -0
  247. data/vendor/assets/bower_components/susy/LICENSE.txt +28 -0
  248. data/vendor/assets/bower_components/susy/README.md +26 -0
  249. data/vendor/assets/bower_components/susy/VERSION +1 -0
  250. data/vendor/assets/bower_components/susy/bower.json +30 -0
  251. data/vendor/assets/bower_components/susy/eyeglass-exports.js +7 -0
  252. data/vendor/assets/bower_components/susy/lib/compass-susy.rb +1 -0
  253. data/vendor/assets/bower_components/susy/lib/susy.rb +14 -0
  254. data/vendor/assets/bower_components/susy/sass/_su.scss +4 -0
  255. data/vendor/assets/bower_components/susy/sass/_susy.scss +4 -0
  256. data/vendor/assets/bower_components/susy/sass/_susyone.scss +4 -0
  257. data/vendor/assets/bower_components/susy/sass/susy/_su.scss +7 -0
  258. data/vendor/assets/bower_components/susy/sass/susy/language/_susy.scss +24 -0
  259. data/vendor/assets/bower_components/susy/sass/susy/language/_susyone.scss +13 -0
  260. data/vendor/assets/bower_components/susy/sass/susy/language/susy/_background.scss +386 -0
  261. data/vendor/assets/bower_components/susy/sass/susy/language/susy/_bleed.scss +200 -0
  262. data/vendor/assets/bower_components/susy/sass/susy/language/susy/_box-sizing.scss +47 -0
  263. data/vendor/assets/bower_components/susy/sass/susy/language/susy/_breakpoint-plugin.scss +181 -0
  264. data/vendor/assets/bower_components/susy/sass/susy/language/susy/_container.scss +81 -0
  265. data/vendor/assets/bower_components/susy/sass/susy/language/susy/_context.scss +36 -0
  266. data/vendor/assets/bower_components/susy/sass/susy/language/susy/_gallery.scss +94 -0
  267. data/vendor/assets/bower_components/susy/sass/susy/language/susy/_grids.scss +64 -0
  268. data/vendor/assets/bower_components/susy/sass/susy/language/susy/_gutters.scss +154 -0
  269. data/vendor/assets/bower_components/susy/sass/susy/language/susy/_isolate.scss +76 -0
  270. data/vendor/assets/bower_components/susy/sass/susy/language/susy/_margins.scss +92 -0
  271. data/vendor/assets/bower_components/susy/sass/susy/language/susy/_padding.scss +74 -0
  272. data/vendor/assets/bower_components/susy/sass/susy/language/susy/_rows.scss +138 -0
  273. data/vendor/assets/bower_components/susy/sass/susy/language/susy/_settings.scss +216 -0
  274. data/vendor/assets/bower_components/susy/sass/susy/language/susy/_span.scss +163 -0
  275. data/vendor/assets/bower_components/susy/sass/susy/language/susy/_validation.scss +16 -0
  276. data/vendor/assets/bower_components/susy/sass/susy/language/susyone/_background.scss +18 -0
  277. data/vendor/assets/bower_components/susy/sass/susy/language/susyone/_functions.scss +377 -0
  278. data/vendor/assets/bower_components/susy/sass/susy/language/susyone/_grid.scss +290 -0
  279. data/vendor/assets/bower_components/susy/sass/susy/language/susyone/_isolation.scss +51 -0
  280. data/vendor/assets/bower_components/susy/sass/susy/language/susyone/_margin.scss +93 -0
  281. data/vendor/assets/bower_components/susy/sass/susy/language/susyone/_media.scss +105 -0
  282. data/vendor/assets/bower_components/susy/sass/susy/language/susyone/_padding.scss +92 -0
  283. data/vendor/assets/bower_components/susy/sass/susy/language/susyone/_settings.scss +56 -0
  284. data/vendor/assets/bower_components/susy/sass/susy/output/_float.scss +9 -0
  285. data/vendor/assets/bower_components/susy/sass/susy/output/_shared.scss +15 -0
  286. data/vendor/assets/bower_components/susy/sass/susy/output/_support.scss +9 -0
  287. data/vendor/assets/bower_components/susy/sass/susy/output/float/_container.scss +16 -0
  288. data/vendor/assets/bower_components/susy/sass/susy/output/float/_end.scss +40 -0
  289. data/vendor/assets/bower_components/susy/sass/susy/output/float/_isolate.scss +22 -0
  290. data/vendor/assets/bower_components/susy/sass/susy/output/float/_span.scss +35 -0
  291. data/vendor/assets/bower_components/susy/sass/susy/output/shared/_background.scss +26 -0
  292. data/vendor/assets/bower_components/susy/sass/susy/output/shared/_container.scss +21 -0
  293. data/vendor/assets/bower_components/susy/sass/susy/output/shared/_direction.scss +42 -0
  294. data/vendor/assets/bower_components/susy/sass/susy/output/shared/_inspect.scss +22 -0
  295. data/vendor/assets/bower_components/susy/sass/susy/output/shared/_margins.scss +23 -0
  296. data/vendor/assets/bower_components/susy/sass/susy/output/shared/_output.scss +14 -0
  297. data/vendor/assets/bower_components/susy/sass/susy/output/shared/_padding.scss +23 -0
  298. data/vendor/assets/bower_components/susy/sass/susy/output/support/_background.scss +58 -0
  299. data/vendor/assets/bower_components/susy/sass/susy/output/support/_box-sizing.scss +19 -0
  300. data/vendor/assets/bower_components/susy/sass/susy/output/support/_clearfix.scss +18 -0
  301. data/vendor/assets/bower_components/susy/sass/susy/output/support/_prefix.scss +19 -0
  302. data/vendor/assets/bower_components/susy/sass/susy/output/support/_rem.scss +22 -0
  303. data/vendor/assets/bower_components/susy/sass/susy/output/support/_support.scss +85 -0
  304. data/vendor/assets/bower_components/susy/sass/susy/su/_grid.scss +103 -0
  305. data/vendor/assets/bower_components/susy/sass/susy/su/_settings.scss +73 -0
  306. data/vendor/assets/bower_components/susy/sass/susy/su/_utilities.scss +111 -0
  307. data/vendor/assets/bower_components/susy/sass/susy/su/_validation.scss +57 -0
  308. data/vendor/assets/bower_components/susy/templates/project/_grids.scss +9 -0
  309. data/vendor/assets/bower_components/susy/templates/project/manifest.rb +15 -0
  310. data/vendor/assets/bower_components/susy/templates/project/style.scss +4 -0
  311. metadata +308 -2
@@ -0,0 +1,57 @@
1
+ # Contributing
2
+
3
+ ## Project Scope
4
+ Picturefill aims to polyfill the standard features of the `picture` element and related `srcset`, `sizes`, `type`, and `media` attributes (some of which work on `img` elements without a `picture` parent as well). Issues and contributions that fall outside of this scope are not likely to be accepted by the project. Some exceptions include workarounds that improve browser support for standard features.
5
+
6
+ ## Code License
7
+
8
+ Picturefill is an open source project falling under the MIT License. By using, distributing, or contributing to this project, you accept and agree that all code within the Picturefill project are licensed under MIT license.
9
+
10
+ ## Working on Picturefill
11
+
12
+ ### Issue Discussion
13
+
14
+ General Picturefill discussion takes place in Slack, at [http://picturefill.slack.com](http://picturefill.slack.com). To join, send an email to `picturefill` at `ricg.io`. Discussion of issues pretaining to the responsive images specifications takes place in the [RICG IRC channel](irc://irc.w3.org:6665/#respimg) and [issue tracker](https://github.com/responsiveimagescg/picture-element/issues/).
15
+
16
+ You can connect to the Picturefill Slack channel [via IRC](https://slack.zendesk.com/hc/en-us/articles/201727913-Connecting-to-Slack-over-IRC-and-XMPP) (SSL enabled).
17
+
18
+ ### Modifying the code
19
+ First, ensure that you have the latest [Node.js](http://nodejs.org/) and [npm](http://npmjs.org/) installed.
20
+
21
+ Test that Grunt's CLI is installed by running `grunt --version`. If the command isn't found, run `npm install -g grunt-cli`. For more information about installing Grunt, see the [getting started guide](http://gruntjs.com/getting-started).
22
+
23
+ 1. Fork and clone the repo.
24
+ 1. Run `npm install` to install all dependencies (including Grunt).
25
+ 1. Run `grunt` to grunt this project.
26
+
27
+ Assuming that you don't see any red, you're ready to go. Just be sure to run `grunt` after making any changes, to ensure that nothing is broken.
28
+
29
+ ### Development Workflow
30
+
31
+ 1. If no issue already exists for the work you’ll be doing, create one to document the problem(s) being solved and self-assign.
32
+ 1. Create a new branch—please don't work in your `master` branch directly. We reccomend naming the branch to match the issue being addressed (`issue-777`).
33
+ 1. Add failing tests for the change you want to make. Run `grunt` to see the tests fail.
34
+ 1. Fix stuff.
35
+ 1. Run `grunt` to see if the tests pass. Repeat steps 2-4 until done.
36
+ 1. Open `test/*.html` unit test file(s) in actual browsers to ensure tests pass everywhere.
37
+ 1. Update the documentation to reflect any changes.
38
+ 1. Push to your fork or push your issue-specific branch to the main repo, then submit a pull request against `master`.
39
+ 1. Once tested and +1’d by another team member (with no outstanding objections), self-merge into `master`.
40
+
41
+ ### Versioning
42
+
43
+ The rules of [semver](http://semver.org/) don’t necessarily apply here in the case of major releases (as a polyfill for a stable spec, we _shouldn’t_ have breaking changes), so we’re using the following:
44
+
45
+ 1. MAJOR versions at maintaners’ discretion following significant changes to the codebase (e.g. refactoring core)
46
+ 1. MINOR versions for backwards-compatible enhancements (e.g. performance improvements)
47
+ 1. PATCH versions for backwards-compatible bug fixes (e.g. spec compliance bugs, support issues)
48
+
49
+ ### Important notes
50
+
51
+ Please don't edit files in the `dist` subdirectory as they are generated via Grunt. You'll find source code in the `src` subdirectory!
52
+
53
+ #### Code style
54
+ Regarding code style like indentation and whitespace, **follow the conventions you see used in the source already.**
55
+
56
+ #### PhantomJS
57
+ While Grunt can run the included unit tests via [PhantomJS](http://phantomjs.org/), this shouldn't be considered a substitute for the real thing. Please be sure to test the `test/*.html` unit test file(s) in _actual_ browsers.
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2014 Filament Group
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,26 @@
1
+ # Picturefill
2
+ A [responsive image](http://www.whatwg.org/specs/web-apps/current-work/multipage/embedded-content.html#embedded-content) polyfill.
3
+ * Authors: Scott Jehl, Mat Marquis, Shawn Jansepar (2.0 refactor lead), and many more: see Authors.txt
4
+ * License: MIT
5
+
6
+ [![build-status](https://api.travis-ci.org/scottjehl/picturefill.svg)](https://travis-ci.org/scottjehl/picturefill)
7
+
8
+ Picturefill has two versions:
9
+ * Version 2 is a strict polyfill of the [Picture element draft specification](http://www.whatwg.org/specs/web-apps/current-work/multipage/embedded-content.html#embedded-content) and is the main version in development.
10
+ * Version 1 mimics the Picture element pattern with `span` elements. It is maintained in the 1.2 branch.
11
+
12
+ ## Usage, Demos, Docs
13
+ To find out how to use Picturefill on your sites, visit the project and demo site:
14
+
15
+ [Picturefill Documentation, Downloads, and Demos Site](http://scottjehl.github.com/picturefill/)
16
+
17
+ ## Contributing
18
+ For information on how to contribute code to Picturefill, check out `CONTRIBUTING.md`
19
+
20
+ ## Issues
21
+ If you find a bug in Picturefill, please add it to [the issue tracker](https://github.com/scottjehl/picturefill/issues)
22
+
23
+
24
+ ## Support
25
+
26
+ Picturefill supports a broad range of browsers and devices (there are currently no known unsupported browsers), provided that you stick with the markup conventions provided.
@@ -0,0 +1,34 @@
1
+ {
2
+ "name": "picturefill",
3
+ "repo": "scottjehl/picturefill",
4
+ "description": "A Polyfill for the HTML Picture Element (http://picture.responsiveimages.org/) that you can use today.",
5
+ "version": "3.0.0-alpha1",
6
+ "main": "dist/picturefill.js",
7
+ "scripts": [
8
+ "dist/picturefill.js"
9
+ ],
10
+ "license": "MIT",
11
+ "homepage": "http://scottjehl.github.com/picturefill/",
12
+ "authors": [
13
+ "Scott Jehl <scottjehl@gmail.com>"
14
+ ],
15
+ "moduleType": [
16
+ "amd",
17
+ "globals",
18
+ "node"
19
+ ],
20
+ "keywords": [
21
+ "picture",
22
+ "srcset",
23
+ "polyfill"
24
+ ],
25
+ "ignore": [
26
+ "**/.*",
27
+ "node_modules",
28
+ "bower_components",
29
+ "test",
30
+ "tests",
31
+ "examples",
32
+ "perf-test"
33
+ ]
34
+ }
@@ -0,0 +1,330 @@
1
+ /*! Picturefill - v3.0.0 - 2015-05-14
2
+ * http://scottjehl.github.io/picturefill
3
+ * Copyright (c) 2015 https://github.com/scottjehl/picturefill/blob/master/Authors.txt; Licensed MIT */
4
+ !function(window, document, undefined) {
5
+ "use strict";
6
+ function isSpace(c) {
7
+ return " " === c || " " === c || "\n" === c || "\f" === c || "\r" === c;
8
+ }
9
+ function updateMetrics() {
10
+ var dprM;
11
+ isVwDirty = !1, DPR = window.devicePixelRatio, cssCache = {}, sizeLengthCache = {},
12
+ dprM = (DPR || 1) * cfg.xQuant, cfg.uT || (cfg.maxX = Math.max(1.3, cfg.maxX), dprM = Math.min(dprM, cfg.maxX),
13
+ ri.DPR = dprM), units.width = Math.max(window.innerWidth || 0, docElem.clientWidth),
14
+ units.height = Math.max(window.innerHeight || 0, docElem.clientHeight), units.vw = units.width / 100,
15
+ units.vh = units.height / 100, evalId = [ units.height, units.width, dprM ].join("-"),
16
+ units.em = ri.getEmValue(), units.rem = units.em, lazyFactor = cfg.lazyFactor / 2,
17
+ lazyFactor = lazyFactor * dprM + lazyFactor, lowTreshold = .5 + .2 * dprM, partialLowTreshold = .5 + .25 * dprM,
18
+ (isLandscape = units.width > units.height) || (lazyFactor *= .9), supportAbort && (lazyFactor *= .9);
19
+ }
20
+ function chooseLowRes(lowRes, diff, dpr) {
21
+ var add = diff * Math.pow(lowRes - .4, 1.2);
22
+ return isLandscape || (add /= 1.3), lowRes += add, lowRes > dpr;
23
+ }
24
+ function applyBestCandidate(img) {
25
+ var srcSetCandidates, matchingSet = ri.getSet(img), evaluated = !1;
26
+ "pending" !== matchingSet && (evaluated = evalId, matchingSet && (srcSetCandidates = ri.setRes(matchingSet),
27
+ ri.applySetCandidate(srcSetCandidates, img))), img[ri.ns].evaled = evaluated;
28
+ }
29
+ function ascendingSort(a, b) {
30
+ return a.res - b.res;
31
+ }
32
+ function setSrcToCur(img, src, set) {
33
+ var candidate;
34
+ return !set && src && (set = img[ri.ns].sets, set = set && set[set.length - 1]),
35
+ candidate = getCandidateForSrc(src, set), candidate && (src = ri.makeUrl(src), img[ri.ns].curSrc = src,
36
+ img[ri.ns].curCan = candidate, candidate.res || setResolution(candidate, candidate.set.sizes)),
37
+ candidate;
38
+ }
39
+ function getCandidateForSrc(src, set) {
40
+ var i, candidate, candidates;
41
+ if (src && set) for (candidates = ri.parseSet(set), src = ri.makeUrl(src), i = 0; i < candidates.length; i++) if (src === ri.makeUrl(candidates[i].url)) {
42
+ candidate = candidates[i];
43
+ break;
44
+ }
45
+ return candidate;
46
+ }
47
+ function getAllSourceElements(picture, candidates) {
48
+ var i, len, source, srcset, sources = picture.getElementsByTagName("source");
49
+ for (i = 0, len = sources.length; len > i; i++) source = sources[i], source[ri.ns] = !0,
50
+ srcset = source.getAttribute("srcset"), srcset && candidates.push({
51
+ srcset: srcset,
52
+ media: source.getAttribute("media"),
53
+ type: source.getAttribute("type"),
54
+ sizes: source.getAttribute("sizes")
55
+ });
56
+ }
57
+ function parseSrcset(input, set) {
58
+ function collectCharacters(regEx) {
59
+ var chars, match = regEx.exec(input.substring(pos));
60
+ return match ? (chars = match[0], pos += chars.length, chars) : void 0;
61
+ }
62
+ function parseDescriptors() {
63
+ var w, d, h, i, desc, lastChar, value, intVal, floatVal, pError = !1, candidate = {};
64
+ for (i = 0; i < descriptors.length; i++) desc = descriptors[i], lastChar = desc[desc.length - 1],
65
+ value = desc.substring(0, desc.length - 1), intVal = parseInt(value, 10), floatVal = parseFloat(value),
66
+ regexNonNegativeInteger.test(value) && "w" === lastChar ? ((w || d) && (pError = !0),
67
+ 0 === intVal ? pError = !0 : w = intVal) : regexFloatingPoint.test(value) && "x" === lastChar ? ((w || d || h) && (pError = !0),
68
+ 0 > floatVal ? pError = !0 : d = floatVal) : regexNonNegativeInteger.test(value) && "h" === lastChar ? ((h || d) && (pError = !0),
69
+ 0 === intVal ? pError = !0 : h = intVal) : pError = !0;
70
+ pError || (candidate.url = url, w && (candidate.w = w), d && (candidate.d = d),
71
+ h && (candidate.h = h), h || d || w || (candidate.d = 1), 1 === candidate.d && (set.has1x = !0),
72
+ candidate.set = set, candidates.push(candidate));
73
+ }
74
+ function tokenize() {
75
+ for (collectCharacters(regexLeadingSpaces), currentDescriptor = "", state = "in descriptor"; ;) {
76
+ if (c = input.charAt(pos), "in descriptor" === state) if (isSpace(c)) currentDescriptor && (descriptors.push(currentDescriptor),
77
+ currentDescriptor = "", state = "after descriptor"); else {
78
+ if ("," === c) return pos += 1, currentDescriptor && descriptors.push(currentDescriptor),
79
+ void parseDescriptors();
80
+ if ("(" === c) currentDescriptor += c, state = "in parens"; else {
81
+ if ("" === c) return currentDescriptor && descriptors.push(currentDescriptor), void parseDescriptors();
82
+ currentDescriptor += c;
83
+ }
84
+ } else if ("in parens" === state) if (")" === c) currentDescriptor += c, state = "in descriptor"; else {
85
+ if ("" === c) return descriptors.push(currentDescriptor), void parseDescriptors();
86
+ currentDescriptor += c;
87
+ } else if ("after descriptor" === state) if (isSpace(c)) ; else {
88
+ if ("" === c) return void parseDescriptors();
89
+ state = "in descriptor", pos -= 1;
90
+ }
91
+ pos += 1;
92
+ }
93
+ }
94
+ for (var url, descriptors, currentDescriptor, state, c, inputLength = input.length, pos = 0, candidates = []; ;) {
95
+ if (collectCharacters(regexLeadingCommasOrSpaces), pos >= inputLength) return candidates;
96
+ url = collectCharacters(regexLeadingNotSpaces), descriptors = [], "," === url.slice(-1) ? (url = url.replace(regexTrailingCommas, ""),
97
+ parseDescriptors()) : tokenize();
98
+ }
99
+ }
100
+ function parseSizes(strValue) {
101
+ function parseComponentValues(str) {
102
+ function pushComponent() {
103
+ component && (componentArray.push(component), component = "");
104
+ }
105
+ function pushComponentArray() {
106
+ componentArray[0] && (listArray.push(componentArray), componentArray = []);
107
+ }
108
+ for (var chrctr, component = "", componentArray = [], listArray = [], parenDepth = 0, pos = 0, inComment = !1; ;) {
109
+ if (chrctr = str[pos], chrctr === undefined) return pushComponent(), pushComponentArray(),
110
+ listArray;
111
+ if (inComment) {
112
+ if ("*" === chrctr && "/" === str[pos + 1]) {
113
+ inComment = !1, pos += 2, pushComponent();
114
+ continue;
115
+ }
116
+ pos += 1;
117
+ } else {
118
+ if (isSpace(chrctr)) {
119
+ if (str[pos - 1] && isSpace(str[pos - 1]) || !component) {
120
+ pos += 1;
121
+ continue;
122
+ }
123
+ if (0 === parenDepth) {
124
+ pushComponent(), pos += 1;
125
+ continue;
126
+ }
127
+ chrctr = " ";
128
+ } else if ("(" === chrctr) parenDepth += 1; else if (")" === chrctr) parenDepth -= 1; else {
129
+ if ("," === chrctr) {
130
+ pushComponent(), pushComponentArray(), pos += 1;
131
+ continue;
132
+ }
133
+ if ("/" === chrctr && "*" === str[pos + 1]) {
134
+ inComment = !0, pos += 2;
135
+ continue;
136
+ }
137
+ }
138
+ component += chrctr, pos += 1;
139
+ }
140
+ }
141
+ }
142
+ function isValidNonNegativeSourceSizeValue(s) {
143
+ return regexCssLengthWithUnits.test(s) && parseFloat(s) >= 0 ? !0 : regexCssCalc.test(s) ? !0 : "0" === s || "-0" === s || "+0" === s ? !0 : !1;
144
+ }
145
+ var i, unparsedSizesList, unparsedSizesListLength, unparsedSize, lastComponentValue, size, regexCssLengthWithUnits = /^(?:[+-]?[0-9]+|[0-9]*\.[0-9]+)(?:[eE][+-]?[0-9]+)?(?:ch|cm|em|ex|in|mm|pc|pt|px|rem|vh|vmin|vmax|vw)$/i, regexCssCalc = /^calc\((?:[0-9a-z \.\+\-\*\/\(\)]+)\)$/i;
146
+ for (unparsedSizesList = parseComponentValues(strValue), unparsedSizesListLength = unparsedSizesList.length,
147
+ i = 0; unparsedSizesListLength > i; i++) if (unparsedSize = unparsedSizesList[i],
148
+ lastComponentValue = unparsedSize[unparsedSize.length - 1], isValidNonNegativeSourceSizeValue(lastComponentValue)) {
149
+ if (size = lastComponentValue, unparsedSize.pop(), 0 === unparsedSize.length) return size;
150
+ if (unparsedSize = unparsedSize.join(" "), ri.matchesMedia(unparsedSize)) return size;
151
+ }
152
+ return "100vw";
153
+ }
154
+ document.createElement("picture");
155
+ var lowTreshold, partialLowTreshold, isLandscape, lazyFactor, eminpx, alwaysCheckWDescriptor, resizeThrottle, evalId, ri = {}, noop = function() {}, image = document.createElement("img"), getImgAttr = image.getAttribute, setImgAttr = image.setAttribute, removeImgAttr = image.removeAttribute, docElem = document.documentElement, types = {}, cfg = {
156
+ xQuant: 1,
157
+ lazyFactor: .3,
158
+ maxX: 4
159
+ }, srcAttr = "data-pfsrc", srcsetAttr = srcAttr + "set", ua = navigator.userAgent, supportAbort = /rident/.test(ua) || /ecko/.test(ua) && ua.match(/rv\:(\d+)/) && RegExp.$1 > 35, curSrcProp = "currentSrc", regWDesc = /\s+\+?\d+(e\d+)?w/, regSize = /(\([^)]+\))?\s*(.+)/, setOptions = window.picturefillCFG, baseStyle = ("https:" === location.protocol,
160
+ "position:absolute;left:0;visibility:hidden;display:block;padding:0;border:none;font-size:1em;width:1em;overflow:hidden;clip:rect(0px, 0px, 0px, 0px)"), fsCss = "font-size:100%!important;", isVwDirty = !0, cssCache = {}, sizeLengthCache = {}, DPR = window.devicePixelRatio, units = {
161
+ px: 1,
162
+ "in": 96
163
+ }, anchor = document.createElement("a"), alreadyRun = !1, regexLeadingSpaces = /^[ \t\n\r\u000c]+/, regexLeadingCommasOrSpaces = /^[, \t\n\r\u000c]+/, regexLeadingNotSpaces = /^[^ \t\n\r\u000c]+/, regexTrailingCommas = /[,]+$/, regexNonNegativeInteger = /^\d+$/, regexFloatingPoint = /^-?(?:[0-9]+|[0-9]*\.[0-9]+)(?:[eE][+-]?[0-9]+)?$/, on = function(obj, evt, fn, capture) {
164
+ obj.addEventListener ? obj.addEventListener(evt, fn, capture || !1) : obj.attachEvent && obj.attachEvent("on" + evt, fn);
165
+ }, memoize = function(fn) {
166
+ var cache = {};
167
+ return function(input) {
168
+ return input in cache || (cache[input] = fn(input)), cache[input];
169
+ };
170
+ }, evalCSS = function() {
171
+ var regLength = /^([\d\.]+)(em|vw|px)$/, replace = function() {
172
+ for (var args = arguments, index = 0, string = args[0]; ++index in args; ) string = string.replace(args[index], args[++index]);
173
+ return string;
174
+ }, buidlStr = memoize(function(css) {
175
+ return "return " + replace((css || "").toLowerCase(), /\band\b/g, "&&", /,/g, "||", /min-([a-z-\s]+):/g, "e.$1>=", /max-([a-z-\s]+):/g, "e.$1<=", /calc([^)]+)/g, "($1)", /(\d+[\.]*[\d]*)([a-z]+)/g, "($1 * e.$2)", /^(?!(e.[a-z]|[0-9\.&=|><\+\-\*\(\)\/])).*/gi, "") + ";";
176
+ });
177
+ return function(css, length) {
178
+ var parsedLength;
179
+ if (!(css in cssCache)) if (cssCache[css] = !1, length && (parsedLength = css.match(regLength))) cssCache[css] = parsedLength[1] * units[parsedLength[2]]; else try {
180
+ cssCache[css] = new Function("e", buidlStr(css))(units);
181
+ } catch (e) {}
182
+ return cssCache[css];
183
+ };
184
+ }(), setResolution = function(candidate, sizesattr) {
185
+ return candidate.w ? (candidate.cWidth = ri.calcListLength(sizesattr || "100vw"),
186
+ candidate.res = candidate.w / candidate.cWidth) : candidate.res = candidate.d, candidate;
187
+ }, picturefill = function(opt) {
188
+ var elements, i, plen, options = opt || {};
189
+ if (options.elements && 1 === options.elements.nodeType && ("IMG" === options.elements.nodeName.toUpperCase() ? options.elements = [ options.elements ] : (options.context = options.elements,
190
+ options.elements = null)), elements = options.elements || ri.qsa(options.context || document, options.reevaluate || options.mqchange ? ri.sel : ri.selShort),
191
+ plen = elements.length) {
192
+ for (ri.setupRun(options), alreadyRun = !0, i = 0; plen > i; i++) ri.fillImg(elements[i], options);
193
+ ri.teardownRun(options);
194
+ }
195
+ };
196
+ curSrcProp in image || (curSrcProp = "src"), types["image/jpeg"] = !0, types["image/gif"] = !0,
197
+ types["image/png"] = !0, types["image/svg+xml"] = document.implementation.hasFeature("http://wwwindow.w3.org/TR/SVG11/feature#Image", "1.1"),
198
+ ri.ns = ("pf" + new Date().getTime()).substr(0, 9), ri.supSrcset = "srcset" in image,
199
+ ri.supSizes = "sizes" in image, ri.selShort = "picture>img,img[srcset]", ri.sel = ri.selShort,
200
+ ri.cfg = cfg, ri.supSrcset && (ri.sel += ",img[" + srcsetAttr + "]"), ri.DPR = DPR || 1,
201
+ ri.u = units, ri.types = types, alwaysCheckWDescriptor = ri.supSrcset && !ri.supSizes,
202
+ ri.setSize = noop, ri.makeUrl = memoize(function(src) {
203
+ return anchor.href = src, anchor.href;
204
+ }), ri.qsa = function(context, sel) {
205
+ return context.querySelectorAll(sel);
206
+ }, ri.matchesMedia = function() {
207
+ return ri.matchesMedia = window.matchMedia && (matchMedia("(min-width: 0.1em)") || {}).matches ? function(media) {
208
+ return !media || matchMedia(media).matches;
209
+ } : ri.mMQ, ri.matchesMedia.apply(this, arguments);
210
+ }, ri.mMQ = function(media) {
211
+ return media ? evalCSS(media) : !0;
212
+ }, ri.calcLength = function(sourceSizeValue) {
213
+ var value = evalCSS(sourceSizeValue, !0) || !1;
214
+ return 0 > value && (value = !1), value;
215
+ }, ri.supportsType = function(type) {
216
+ return type ? types[type] : !0;
217
+ }, ri.parseSize = memoize(function(sourceSizeStr) {
218
+ var match = (sourceSizeStr || "").match(regSize);
219
+ return {
220
+ media: match && match[1],
221
+ length: match && match[2]
222
+ };
223
+ }), ri.parseSet = function(set) {
224
+ return set.cands || (set.cands = parseSrcset(set.srcset, set)), set.cands;
225
+ }, ri.getEmValue = function() {
226
+ var body;
227
+ if (!eminpx && (body = document.body)) {
228
+ var div = document.createElement("div"), originalHTMLCSS = docElem.style.cssText, originalBodyCSS = body.style.cssText;
229
+ div.style.cssText = baseStyle, docElem.style.cssText = fsCss, body.style.cssText = fsCss,
230
+ body.appendChild(div), eminpx = div.offsetWidth, body.removeChild(div), eminpx = parseFloat(eminpx, 10),
231
+ docElem.style.cssText = originalHTMLCSS, body.style.cssText = originalBodyCSS;
232
+ }
233
+ return eminpx || 16;
234
+ }, ri.calcListLength = function(sourceSizeListStr) {
235
+ if (!(sourceSizeListStr in sizeLengthCache) || cfg.uT) {
236
+ var winningLength = ri.calcLength(parseSizes(sourceSizeListStr));
237
+ sizeLengthCache[sourceSizeListStr] = winningLength ? winningLength : units.width;
238
+ }
239
+ return sizeLengthCache[sourceSizeListStr];
240
+ }, ri.setRes = function(set) {
241
+ var candidates;
242
+ if (set) {
243
+ candidates = ri.parseSet(set);
244
+ for (var i = 0, len = candidates.length; len > i; i++) setResolution(candidates[i], set.sizes);
245
+ }
246
+ return candidates;
247
+ }, ri.setRes.res = setResolution, ri.applySetCandidate = function(candidates, img) {
248
+ if (candidates.length) {
249
+ var candidate, i, j, diff, length, bestCandidate, curSrc, curCan, isSameSet, candidateSrc, curRes, abortCurSrc, imageData = img[ri.ns], dpr = ri.DPR, sub = .2 + .1 * dpr;
250
+ if (curSrc = imageData.curSrc || img[curSrcProp], curCan = imageData.curCan || setSrcToCur(img, curSrc, candidates[0].set),
251
+ curRes = curCan && curCan.res, curSrc && (abortCurSrc = supportAbort && !img.complete && curCan && curRes > dpr,
252
+ abortCurSrc || (curCan && dpr > curRes && curRes > lowTreshold && (partialLowTreshold > curRes && (sub += .1 * dpr),
253
+ curCan.res += lazyFactor * (curRes - sub)), isSameSet = !imageData.pic || curCan && curCan.set === candidates[0].set,
254
+ curCan && isSameSet && curCan.res >= dpr && (bestCandidate = curCan))), !bestCandidate) for (curRes && (curCan.res = curCan.res - (curCan.res - curRes) / 2),
255
+ candidates.sort(ascendingSort), length = candidates.length, bestCandidate = candidates[length - 1],
256
+ i = 0; length > i; i++) if (candidate = candidates[i], candidate.res >= dpr) {
257
+ j = i - 1, bestCandidate = candidates[j] && (diff = candidate.res - dpr) && (abortCurSrc || curSrc !== ri.makeUrl(candidate.url)) && chooseLowRes(candidates[j].res, diff, dpr) ? candidates[j] : candidate;
258
+ break;
259
+ }
260
+ curRes && (curCan.res = curRes), bestCandidate && (candidateSrc = ri.makeUrl(bestCandidate.url),
261
+ imageData.curSrc = candidateSrc, imageData.curCan = bestCandidate, candidateSrc !== curSrc && ri.setSrc(img, bestCandidate),
262
+ ri.setSize(img));
263
+ }
264
+ }, ri.setSrc = function(img, bestCandidate) {
265
+ var origWidth;
266
+ img.src = bestCandidate.url, "image/svg+xml" === bestCandidate.set.type && (origWidth = img.style.width,
267
+ img.style.width = img.offsetWidth + 1 + "px", img.offsetWidth + 1 && (img.style.width = origWidth));
268
+ }, ri.getSet = function(img) {
269
+ var i, set, supportsType, match = !1, sets = img[ri.ns].sets;
270
+ for (i = 0; i < sets.length && !match; i++) if (set = sets[i], set.srcset && ri.matchesMedia(set.media) && (supportsType = ri.supportsType(set.type))) {
271
+ "pending" === supportsType && (set = supportsType), match = set;
272
+ break;
273
+ }
274
+ return match;
275
+ }, ri.parseSets = function(element, parent) {
276
+ var srcsetAttribute, imageSet, isWDescripor, srcsetParsed, hasPicture = parent && "PICTURE" === parent.nodeName.toUpperCase(), imageData = element[ri.ns];
277
+ imageData.src === undefined && (imageData.src = getImgAttr.call(element, "src"),
278
+ imageData.src ? setImgAttr.call(element, srcAttr, imageData.src) : removeImgAttr.call(element, srcAttr)),
279
+ imageData.srcset === undefined && (srcsetAttribute = getImgAttr.call(element, "srcset"),
280
+ imageData.srcset = srcsetAttribute, srcsetParsed = !0), imageData.sets = [], hasPicture && (imageData.pic = !0,
281
+ getAllSourceElements(parent, imageData.sets)), imageData.srcset ? (imageSet = {
282
+ srcset: imageData.srcset,
283
+ sizes: getImgAttr.call(element, "sizes")
284
+ }, imageData.sets.push(imageSet), isWDescripor = (alwaysCheckWDescriptor || imageData.src) && regWDesc.test(imageData.srcset || ""),
285
+ isWDescripor || !imageData.src || getCandidateForSrc(imageData.src, imageSet) || imageSet.has1x || (imageSet.srcset += ", " + imageData.src,
286
+ imageSet.cands.push({
287
+ url: imageData.src,
288
+ d: 1,
289
+ set: imageSet
290
+ }))) : imageData.src && imageData.sets.push({
291
+ srcset: imageData.src,
292
+ sizes: null
293
+ }), imageData.curCan = null, imageData.supported = !(hasPicture || imageSet && !ri.supSrcset || isWDescripor),
294
+ srcsetParsed && ri.supSrcset && !imageData.supported && (srcsetAttribute ? (setImgAttr.call(element, srcsetAttr, srcsetAttribute),
295
+ element.srcset = "") : removeImgAttr.call(element, srcsetAttr)), imageData.supported && !imageData.srcset && (!imageData.src && element.src || element.src !== ri.makeUrl(imageData.src)) && (null === imageData.src ? element.removeAttribute("src") : element.src = imageData.src),
296
+ imageData.parsed = !0;
297
+ }, ri.fillImg = function(element, options) {
298
+ var imageData, extreme = options.reselect || options.reevaluate;
299
+ element[ri.ns] || (element[ri.ns] = {}), imageData = element[ri.ns], (extreme || imageData.evaled !== evalId) && ((!imageData.parsed || options.reevaluate) && ri.parseSets(element, element.parentNode, options),
300
+ imageData.supported ? imageData.evaled = evalId : applyBestCandidate(element));
301
+ }, ri.setupRun = function(options) {
302
+ (!alreadyRun || isVwDirty || DPR !== window.devicePixelRatio) && (updateMetrics(),
303
+ options.elements || options.context || clearTimeout(resizeThrottle));
304
+ }, window.HTMLPictureElement ? (picturefill = noop, ri.fillImg = noop) : !function() {
305
+ var isDomReady, regReady = window.attachEvent ? /d$|^c/ : /d$|^c|^i/, run = function() {
306
+ var readyState = document.readyState || "";
307
+ timerId = setTimeout(run, "loading" === readyState ? 200 : 999), document.body && (ri.fillImgs(),
308
+ isDomReady = isDomReady || regReady.test(readyState), isDomReady && clearTimeout(timerId));
309
+ }, resizeEval = function() {
310
+ ri.fillImgs();
311
+ }, onResize = function() {
312
+ clearTimeout(resizeThrottle), isVwDirty = !0, resizeThrottle = setTimeout(resizeEval, 99);
313
+ }, timerId = setTimeout(run, document.body ? 9 : 99);
314
+ on(window, "resize", onResize), on(document, "readystatechange", run);
315
+ }(), ri.picturefill = picturefill, ri.fillImgs = picturefill, ri.teardownRun = noop,
316
+ picturefill._ = ri, window.picturefillCFG = {
317
+ ri: ri,
318
+ push: function(args) {
319
+ var name = args.shift();
320
+ "function" == typeof ri[name] ? ri[name].apply(ri, args) : (cfg[name] = args[0],
321
+ alreadyRun && ri.fillImgs({
322
+ reselect: !0
323
+ }));
324
+ }
325
+ };
326
+ for (;setOptions && setOptions.length; ) window.picturefillCFG.push(setOptions.shift());
327
+ window.picturefill = picturefill, "object" == typeof module && "object" == typeof module.exports ? module.exports = picturefill : "function" == typeof define && define.amd && define("picturefill", function() {
328
+ return picturefill;
329
+ });
330
+ }(window, document);