jekyll-theme-chalk 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (405) hide show
  1. checksums.yaml +7 -0
  2. data/404.html +39 -0
  3. data/LICENSE +21 -0
  4. data/LICENSE.txt +21 -0
  5. data/README.md +91 -0
  6. data/_assets/fonts/cormorant-garamond/Cormorant-Garamond-700.eot +0 -0
  7. data/_assets/fonts/cormorant-garamond/Cormorant-Garamond-700.ttf +0 -0
  8. data/_assets/fonts/cormorant-garamond/Cormorant-Garamond-700.woff +0 -0
  9. data/_assets/fonts/cormorant-garamond/Cormorant-Garamond-700.woff2 +0 -0
  10. data/_assets/fonts/ionicons/ionicons.eot +0 -0
  11. data/_assets/fonts/ionicons/ionicons.ttf +0 -0
  12. data/_assets/fonts/ionicons/ionicons.woff +0 -0
  13. data/_assets/fonts/lato/Lato-300.eot +0 -0
  14. data/_assets/fonts/lato/Lato-300.ttf +0 -0
  15. data/_assets/fonts/lato/Lato-300.woff +0 -0
  16. data/_assets/fonts/lato/Lato-300.woff2 +0 -0
  17. data/_assets/fonts/lato/Lato-700.eot +0 -0
  18. data/_assets/fonts/lato/Lato-700.ttf +0 -0
  19. data/_assets/fonts/lato/Lato-700.woff +0 -0
  20. data/_assets/fonts/lato/Lato-700.woff2 +0 -0
  21. data/_assets/fonts/lato/Lato-regular.eot +0 -0
  22. data/_assets/fonts/lato/Lato-regular.ttf +0 -0
  23. data/_assets/fonts/lato/Lato-regular.woff +0 -0
  24. data/_assets/fonts/lato/Lato-regular.woff2 +0 -0
  25. data/_assets/images/about.jpg +0 -0
  26. data/_assets/images/about@2x.jpg +0 -0
  27. data/_assets/images/apple-touch-icon.png +0 -0
  28. data/_assets/images/documentation/chalk-intro.png +0 -0
  29. data/_assets/images/documentation/chalk-intro@2x.png +0 -0
  30. data/_assets/images/documentation/enlarge.gif +0 -0
  31. data/_assets/images/documentation/enlarge@2x.gif +0 -0
  32. data/_assets/images/documentation/sample-image.jpg +0 -0
  33. data/_assets/images/documentation/sample-image@2x.jpg +0 -0
  34. data/_assets/images/og-image.jpg +0 -0
  35. data/_assets/javascripts/application.js +17 -0
  36. data/_assets/javascripts/scrollappear.js +25 -0
  37. data/_assets/javascripts/vendor.js +4 -0
  38. data/_assets/javascripts/webfonts.js +7 -0
  39. data/_assets/stylesheets/.csscomb.json +196 -0
  40. data/_assets/stylesheets/.scss-lint.yml +33 -0
  41. data/_assets/stylesheets/_base.scss +151 -0
  42. data/_assets/stylesheets/_mixins.scss +28 -0
  43. data/_assets/stylesheets/_variables.scss +47 -0
  44. data/_assets/stylesheets/dark.scss +71 -0
  45. data/_assets/stylesheets/fonts.scss +63 -0
  46. data/_assets/stylesheets/layouts/_footer.scss +17 -0
  47. data/_assets/stylesheets/layouts/_grid.scss +102 -0
  48. data/_assets/stylesheets/light.scss +71 -0
  49. data/_assets/stylesheets/modules/_about.scss +10 -0
  50. data/_assets/stylesheets/modules/_articles.scss +213 -0
  51. data/_assets/stylesheets/modules/_embed.scss +31 -0
  52. data/_assets/stylesheets/modules/_header.scss +57 -0
  53. data/_assets/stylesheets/modules/_highlights-dark.scss +415 -0
  54. data/_assets/stylesheets/modules/_highlights-light.scss +409 -0
  55. data/_assets/stylesheets/modules/_icons.scss +83 -0
  56. data/_assets/stylesheets/modules/_scrollappear.scss +14 -0
  57. data/_assets/stylesheets/notfound-dark.scss +91 -0
  58. data/_assets/stylesheets/notfound-light.scss +91 -0
  59. data/_assets/stylesheets/vendor/_normalize.scss +461 -0
  60. data/_assets/yarn/.yarn-integrity +22 -0
  61. data/_assets/yarn/fluidbox/.gitattributes +22 -0
  62. data/_assets/yarn/fluidbox/.npmignore +220 -0
  63. data/_assets/yarn/fluidbox/.travis.yml +6 -0
  64. data/_assets/yarn/fluidbox/Gruntfile.js +8 -0
  65. data/_assets/yarn/fluidbox/LICENSE.md +23 -0
  66. data/_assets/yarn/fluidbox/README.html +750 -0
  67. data/_assets/yarn/fluidbox/README.md +396 -0
  68. data/_assets/yarn/fluidbox/bower.json +35 -0
  69. data/_assets/yarn/fluidbox/demo/css/styles.min.css +2 -0
  70. data/_assets/yarn/fluidbox/demo/css/styles.min.css.map +1 -0
  71. data/_assets/yarn/fluidbox/demo/fonts/BLOKKRegular.eot +0 -0
  72. data/_assets/yarn/fluidbox/demo/fonts/BLOKKRegular.svg +233 -0
  73. data/_assets/yarn/fluidbox/demo/fonts/BLOKKRegular.ttf +0 -0
  74. data/_assets/yarn/fluidbox/demo/fonts/BLOKKRegular.woff +0 -0
  75. data/_assets/yarn/fluidbox/demo/fonts/fontello.eot +0 -0
  76. data/_assets/yarn/fluidbox/demo/fonts/fontello.svg +13 -0
  77. data/_assets/yarn/fluidbox/demo/fonts/fontello.ttf +0 -0
  78. data/_assets/yarn/fluidbox/demo/fonts/fontello.woff +0 -0
  79. data/_assets/yarn/fluidbox/demo/index.html +758 -0
  80. data/_assets/yarn/fluidbox/demo/src/css/styles.scss +1131 -0
  81. data/_assets/yarn/fluidbox/dist/css/fluidbox.min.css +2 -0
  82. data/_assets/yarn/fluidbox/dist/css/fluidbox.min.css.map +1 -0
  83. data/_assets/yarn/fluidbox/dist/js/jquery.fluidbox.min.js +1 -0
  84. data/_assets/yarn/fluidbox/grunt/aliases.yaml +20 -0
  85. data/_assets/yarn/fluidbox/grunt/clean.js +5 -0
  86. data/_assets/yarn/fluidbox/grunt/concurrent.js +33 -0
  87. data/_assets/yarn/fluidbox/grunt/jshint.js +10 -0
  88. data/_assets/yarn/fluidbox/grunt/postcss.js +47 -0
  89. data/_assets/yarn/fluidbox/grunt/sass.js +42 -0
  90. data/_assets/yarn/fluidbox/grunt/uglify.js +7 -0
  91. data/_assets/yarn/fluidbox/grunt/watch.js +28 -0
  92. data/_assets/yarn/fluidbox/index.html +8 -0
  93. data/_assets/yarn/fluidbox/license.txt +21 -0
  94. data/_assets/yarn/fluidbox/package.json +61 -0
  95. data/_assets/yarn/fluidbox/src/css/_fluidbox.scss +95 -0
  96. data/_assets/yarn/fluidbox/src/css/fluidbox.scss +2 -0
  97. data/_assets/yarn/fluidbox/src/js/jquery.fluidbox.js +722 -0
  98. data/_assets/yarn/jquery/AUTHORS.txt +301 -0
  99. data/_assets/yarn/jquery/LICENSE.txt +36 -0
  100. data/_assets/yarn/jquery/README.md +67 -0
  101. data/_assets/yarn/jquery/bower.json +14 -0
  102. data/_assets/yarn/jquery/dist/core.js +476 -0
  103. data/_assets/yarn/jquery/dist/jquery.js +10253 -0
  104. data/_assets/yarn/jquery/dist/jquery.min.js +4 -0
  105. data/_assets/yarn/jquery/dist/jquery.min.map +1 -0
  106. data/_assets/yarn/jquery/dist/jquery.slim.js +8160 -0
  107. data/_assets/yarn/jquery/dist/jquery.slim.min.js +4 -0
  108. data/_assets/yarn/jquery/dist/jquery.slim.min.map +1 -0
  109. data/_assets/yarn/jquery/external/sizzle/LICENSE.txt +36 -0
  110. data/_assets/yarn/jquery/external/sizzle/dist/sizzle.js +2272 -0
  111. data/_assets/yarn/jquery/external/sizzle/dist/sizzle.min.js +3 -0
  112. data/_assets/yarn/jquery/external/sizzle/dist/sizzle.min.map +1 -0
  113. data/_assets/yarn/jquery/package.json +97 -0
  114. data/_assets/yarn/jquery/src/.eslintrc.json +5 -0
  115. data/_assets/yarn/jquery/src/ajax.js +855 -0
  116. data/_assets/yarn/jquery/src/ajax/jsonp.js +102 -0
  117. data/_assets/yarn/jquery/src/ajax/load.js +76 -0
  118. data/_assets/yarn/jquery/src/ajax/parseXML.js +30 -0
  119. data/_assets/yarn/jquery/src/ajax/script.js +77 -0
  120. data/_assets/yarn/jquery/src/ajax/var/location.js +5 -0
  121. data/_assets/yarn/jquery/src/ajax/var/nonce.js +7 -0
  122. data/_assets/yarn/jquery/src/ajax/var/rquery.js +5 -0
  123. data/_assets/yarn/jquery/src/ajax/xhr.js +169 -0
  124. data/_assets/yarn/jquery/src/attributes.js +13 -0
  125. data/_assets/yarn/jquery/src/attributes/attr.js +141 -0
  126. data/_assets/yarn/jquery/src/attributes/classes.js +174 -0
  127. data/_assets/yarn/jquery/src/attributes/prop.js +143 -0
  128. data/_assets/yarn/jquery/src/attributes/support.js +33 -0
  129. data/_assets/yarn/jquery/src/attributes/val.js +190 -0
  130. data/_assets/yarn/jquery/src/callbacks.js +234 -0
  131. data/_assets/yarn/jquery/src/core.js +476 -0
  132. data/_assets/yarn/jquery/src/core/DOMEval.js +16 -0
  133. data/_assets/yarn/jquery/src/core/access.js +70 -0
  134. data/_assets/yarn/jquery/src/core/init.js +128 -0
  135. data/_assets/yarn/jquery/src/core/nodeName.js +13 -0
  136. data/_assets/yarn/jquery/src/core/parseHTML.js +65 -0
  137. data/_assets/yarn/jquery/src/core/ready-no-deferred.js +96 -0
  138. data/_assets/yarn/jquery/src/core/ready.js +86 -0
  139. data/_assets/yarn/jquery/src/core/readyException.js +13 -0
  140. data/_assets/yarn/jquery/src/core/stripAndCollapse.js +14 -0
  141. data/_assets/yarn/jquery/src/core/support.js +20 -0
  142. data/_assets/yarn/jquery/src/core/var/rsingleTag.js +6 -0
  143. data/_assets/yarn/jquery/src/css.js +438 -0
  144. data/_assets/yarn/jquery/src/css/addGetHookIf.js +26 -0
  145. data/_assets/yarn/jquery/src/css/adjustCSS.js +71 -0
  146. data/_assets/yarn/jquery/src/css/curCSS.js +65 -0
  147. data/_assets/yarn/jquery/src/css/hiddenVisibleSelectors.js +15 -0
  148. data/_assets/yarn/jquery/src/css/showHide.js +105 -0
  149. data/_assets/yarn/jquery/src/css/support.js +89 -0
  150. data/_assets/yarn/jquery/src/css/var/cssExpand.js +5 -0
  151. data/_assets/yarn/jquery/src/css/var/getStyles.js +17 -0
  152. data/_assets/yarn/jquery/src/css/var/isHiddenWithinTree.js +34 -0
  153. data/_assets/yarn/jquery/src/css/var/rmargin.js +5 -0
  154. data/_assets/yarn/jquery/src/css/var/rnumnonpx.js +7 -0
  155. data/_assets/yarn/jquery/src/css/var/swap.js +26 -0
  156. data/_assets/yarn/jquery/src/data.js +179 -0
  157. data/_assets/yarn/jquery/src/data/Data.js +161 -0
  158. data/_assets/yarn/jquery/src/data/var/acceptData.js +19 -0
  159. data/_assets/yarn/jquery/src/data/var/dataPriv.js +7 -0
  160. data/_assets/yarn/jquery/src/data/var/dataUser.js +7 -0
  161. data/_assets/yarn/jquery/src/deferred.js +391 -0
  162. data/_assets/yarn/jquery/src/deferred/exceptionHook.js +21 -0
  163. data/_assets/yarn/jquery/src/deprecated.js +40 -0
  164. data/_assets/yarn/jquery/src/dimensions.js +56 -0
  165. data/_assets/yarn/jquery/src/effects.js +699 -0
  166. data/_assets/yarn/jquery/src/effects/Tween.js +123 -0
  167. data/_assets/yarn/jquery/src/effects/animatedSelector.js +15 -0
  168. data/_assets/yarn/jquery/src/event.js +746 -0
  169. data/_assets/yarn/jquery/src/event/ajax.js +22 -0
  170. data/_assets/yarn/jquery/src/event/alias.js +29 -0
  171. data/_assets/yarn/jquery/src/event/focusin.js +55 -0
  172. data/_assets/yarn/jquery/src/event/support.js +11 -0
  173. data/_assets/yarn/jquery/src/event/trigger.js +185 -0
  174. data/_assets/yarn/jquery/src/exports/amd.js +26 -0
  175. data/_assets/yarn/jquery/src/exports/global.js +34 -0
  176. data/_assets/yarn/jquery/src/jquery.js +41 -0
  177. data/_assets/yarn/jquery/src/manipulation.js +488 -0
  178. data/_assets/yarn/jquery/src/manipulation/_evalUrl.js +23 -0
  179. data/_assets/yarn/jquery/src/manipulation/buildFragment.js +104 -0
  180. data/_assets/yarn/jquery/src/manipulation/getAll.js +32 -0
  181. data/_assets/yarn/jquery/src/manipulation/setGlobalEval.js +22 -0
  182. data/_assets/yarn/jquery/src/manipulation/support.js +35 -0
  183. data/_assets/yarn/jquery/src/manipulation/var/rcheckableType.js +5 -0
  184. data/_assets/yarn/jquery/src/manipulation/var/rscriptType.js +5 -0
  185. data/_assets/yarn/jquery/src/manipulation/var/rtagName.js +5 -0
  186. data/_assets/yarn/jquery/src/manipulation/wrapMap.js +29 -0
  187. data/_assets/yarn/jquery/src/offset.js +229 -0
  188. data/_assets/yarn/jquery/src/queue.js +145 -0
  189. data/_assets/yarn/jquery/src/queue/delay.js +24 -0
  190. data/_assets/yarn/jquery/src/selector-native.js +237 -0
  191. data/_assets/yarn/jquery/src/selector-sizzle.js +19 -0
  192. data/_assets/yarn/jquery/src/selector.js +3 -0
  193. data/_assets/yarn/jquery/src/serialize.js +130 -0
  194. data/_assets/yarn/jquery/src/traversing.js +191 -0
  195. data/_assets/yarn/jquery/src/traversing/findFilter.js +106 -0
  196. data/_assets/yarn/jquery/src/traversing/var/dir.js +22 -0
  197. data/_assets/yarn/jquery/src/traversing/var/rneedsContext.js +8 -0
  198. data/_assets/yarn/jquery/src/traversing/var/siblings.js +17 -0
  199. data/_assets/yarn/jquery/src/var/ObjectFunctionString.js +7 -0
  200. data/_assets/yarn/jquery/src/var/arr.js +5 -0
  201. data/_assets/yarn/jquery/src/var/class2type.js +6 -0
  202. data/_assets/yarn/jquery/src/var/concat.js +7 -0
  203. data/_assets/yarn/jquery/src/var/document.js +5 -0
  204. data/_assets/yarn/jquery/src/var/documentElement.js +7 -0
  205. data/_assets/yarn/jquery/src/var/fnToString.js +7 -0
  206. data/_assets/yarn/jquery/src/var/getProto.js +5 -0
  207. data/_assets/yarn/jquery/src/var/hasOwn.js +7 -0
  208. data/_assets/yarn/jquery/src/var/indexOf.js +7 -0
  209. data/_assets/yarn/jquery/src/var/pnum.js +5 -0
  210. data/_assets/yarn/jquery/src/var/push.js +7 -0
  211. data/_assets/yarn/jquery/src/var/rcssNum.js +9 -0
  212. data/_assets/yarn/jquery/src/var/rnothtmlwhite.js +8 -0
  213. data/_assets/yarn/jquery/src/var/slice.js +7 -0
  214. data/_assets/yarn/jquery/src/var/support.js +6 -0
  215. data/_assets/yarn/jquery/src/var/toString.js +7 -0
  216. data/_assets/yarn/jquery/src/wrap.js +77 -0
  217. data/_assets/yarn/retinajs/.babelrc +4 -0
  218. data/_assets/yarn/retinajs/.editorconfig +15 -0
  219. data/_assets/yarn/retinajs/.eslintignore +2 -0
  220. data/_assets/yarn/retinajs/.eslintrc +9 -0
  221. data/_assets/yarn/retinajs/.npmignore +7 -0
  222. data/_assets/yarn/retinajs/.travis.yml +20 -0
  223. data/_assets/yarn/retinajs/LICENSE +20 -0
  224. data/_assets/yarn/retinajs/README.md +267 -0
  225. data/_assets/yarn/retinajs/bower.json +25 -0
  226. data/_assets/yarn/retinajs/dist/_retina.sass +68 -0
  227. data/_assets/yarn/retinajs/dist/_retina.scss +102 -0
  228. data/_assets/yarn/retinajs/dist/retina.js +100 -0
  229. data/_assets/yarn/retinajs/dist/retina.js.map +1 -0
  230. data/_assets/yarn/retinajs/dist/retina.less +56 -0
  231. data/_assets/yarn/retinajs/dist/retina.min.js +2 -0
  232. data/_assets/yarn/retinajs/dist/retina.min.js.map +1 -0
  233. data/_assets/yarn/retinajs/dist/retina.styl +56 -0
  234. data/_assets/yarn/retinajs/es/_retina.sass +68 -0
  235. data/_assets/yarn/retinajs/es/_retina.scss +102 -0
  236. data/_assets/yarn/retinajs/es/retina.js +91 -0
  237. data/_assets/yarn/retinajs/es/retina.js.map +1 -0
  238. data/_assets/yarn/retinajs/es/retina.less +56 -0
  239. data/_assets/yarn/retinajs/es/retina.styl +56 -0
  240. data/_assets/yarn/retinajs/gulpfile.babel.js +154 -0
  241. data/_assets/yarn/retinajs/package.json +57 -0
  242. data/_assets/yarn/retinajs/src/_retina.sass +68 -0
  243. data/_assets/yarn/retinajs/src/_retina.scss +102 -0
  244. data/_assets/yarn/retinajs/src/retina.js +246 -0
  245. data/_assets/yarn/retinajs/src/retina.less +56 -0
  246. data/_assets/yarn/retinajs/src/retina.styl +56 -0
  247. data/_assets/yarn/retinajs/test/DOM.js +44 -0
  248. data/_assets/yarn/retinajs/test/fixtures/image.js +19 -0
  249. data/_assets/yarn/retinajs/test/fixtures/less_expected_output.css +18 -0
  250. data/_assets/yarn/retinajs/test/fixtures/scss_expected_output.css +13 -0
  251. data/_assets/yarn/retinajs/test/fixtures/test.less +10 -0
  252. data/_assets/yarn/retinajs/test/fixtures/test.scss +11 -0
  253. data/_assets/yarn/retinajs/test/fixtures/xml_http_request.js +24 -0
  254. data/_assets/yarn/retinajs/test/functional/public/google-logo.png +0 -0
  255. data/_assets/yarn/retinajs/test/functional/public/google-logo@2x.png +0 -0
  256. data/_assets/yarn/retinajs/test/functional/public/google-logo@3x.png +0 -0
  257. data/_assets/yarn/retinajs/test/functional/public/index.html +190 -0
  258. data/_assets/yarn/retinajs/test/functional/public/ipad.png +0 -0
  259. data/_assets/yarn/retinajs/test/functional/public/ipad@2x.png +0 -0
  260. data/_assets/yarn/retinajs/test/functional/public/ipad@3x.png +0 -0
  261. data/_assets/yarn/retinajs/test/functional/public/styles/_retina.sass +68 -0
  262. data/_assets/yarn/retinajs/test/functional/public/styles/_retina.scss +102 -0
  263. data/_assets/yarn/retinajs/test/functional/public/styles/less-base.less +13 -0
  264. data/_assets/yarn/retinajs/test/functional/public/styles/retina.less +56 -0
  265. data/_assets/yarn/retinajs/test/functional/public/styles/retina.less.css +73 -0
  266. data/_assets/yarn/retinajs/test/functional/public/styles/retina.sass.css +42 -0
  267. data/_assets/yarn/retinajs/test/functional/public/styles/retina.scss.css +96 -0
  268. data/_assets/yarn/retinajs/test/functional/public/styles/retina.styl +56 -0
  269. data/_assets/yarn/retinajs/test/functional/public/styles/retina.styl.css +61 -0
  270. data/_assets/yarn/retinajs/test/functional/public/styles/sass-base.sass +10 -0
  271. data/_assets/yarn/retinajs/test/functional/public/styles/scss-base.scss +13 -0
  272. data/_assets/yarn/retinajs/test/functional/public/styles/styl-base.styl +10 -0
  273. data/_assets/yarn/retinajs/test/mocha-runner.js +7 -0
  274. data/_assets/yarn/retinajs/test/retina.spec.js +14 -0
  275. data/_assets/yarn/scrollreveal/.gitattributes +10 -0
  276. data/_assets/yarn/scrollreveal/.github/CONTRIBUTING.md +9 -0
  277. data/_assets/yarn/scrollreveal/.github/ISSUE_TEMPLATE.md +11 -0
  278. data/_assets/yarn/scrollreveal/.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov-report/base.css +213 -0
  279. data/_assets/yarn/scrollreveal/.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov-report/index.html +158 -0
  280. data/_assets/yarn/scrollreveal/.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov-report/lib/index.html +93 -0
  281. data/_assets/yarn/scrollreveal/.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov-report/lib/package.json.html +143 -0
  282. data/_assets/yarn/scrollreveal/.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov-report/lib/src/instance/constructor.js.html +311 -0
  283. data/_assets/yarn/scrollreveal/.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov-report/lib/src/instance/defaults.js.html +158 -0
  284. data/_assets/yarn/scrollreveal/.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov-report/lib/src/instance/functions/animate.js.html +395 -0
  285. data/_assets/yarn/scrollreveal/.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov-report/lib/src/instance/functions/delegate.js.html +179 -0
  286. data/_assets/yarn/scrollreveal/.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov-report/lib/src/instance/functions/index.html +145 -0
  287. data/_assets/yarn/scrollreveal/.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov-report/lib/src/instance/functions/initialize.js.html +197 -0
  288. data/_assets/yarn/scrollreveal/.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov-report/lib/src/instance/functions/rinse.js.html +311 -0
  289. data/_assets/yarn/scrollreveal/.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov-report/lib/src/instance/functions/style.js.html +617 -0
  290. data/_assets/yarn/scrollreveal/.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov-report/lib/src/instance/index.html +119 -0
  291. data/_assets/yarn/scrollreveal/.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov-report/lib/src/instance/methods/clean.js.html +137 -0
  292. data/_assets/yarn/scrollreveal/.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov-report/lib/src/instance/methods/destroy.js.html +182 -0
  293. data/_assets/yarn/scrollreveal/.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov-report/lib/src/instance/methods/index.html +132 -0
  294. data/_assets/yarn/scrollreveal/.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov-report/lib/src/instance/methods/reveal.js.html +524 -0
  295. data/_assets/yarn/scrollreveal/.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov-report/lib/src/instance/methods/sync.js.html +125 -0
  296. data/_assets/yarn/scrollreveal/.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov-report/lib/src/instance/noop.js.html +89 -0
  297. data/_assets/yarn/scrollreveal/.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov-report/lib/src/polyfills/index.html +93 -0
  298. data/_assets/yarn/scrollreveal/.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov-report/lib/src/polyfills/requestAnimationFrame.js.html +125 -0
  299. data/_assets/yarn/scrollreveal/.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov-report/lib/src/utils/browser.js.html +272 -0
  300. data/_assets/yarn/scrollreveal/.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov-report/lib/src/utils/core.js.html +434 -0
  301. data/_assets/yarn/scrollreveal/.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov-report/lib/src/utils/generic.js.html +218 -0
  302. data/_assets/yarn/scrollreveal/.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov-report/lib/src/utils/index.html +119 -0
  303. data/_assets/yarn/scrollreveal/.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov-report/prettify.css +1 -0
  304. data/_assets/yarn/scrollreveal/.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov-report/prettify.js +1 -0
  305. data/_assets/yarn/scrollreveal/.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov-report/sort-arrow-sprite.png +0 -0
  306. data/_assets/yarn/scrollreveal/.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov-report/sorter.js +158 -0
  307. data/_assets/yarn/scrollreveal/.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov.info +1016 -0
  308. data/_assets/yarn/scrollreveal/.ignore/coverage/server.coverage.js +11 -0
  309. data/_assets/yarn/scrollreveal/.ignore/sandbox/css/styles.css +32 -0
  310. data/_assets/yarn/scrollreveal/.ignore/sandbox/index.html +68 -0
  311. data/_assets/yarn/scrollreveal/.ignore/sandbox/js/scrollreveal.js +1271 -0
  312. data/_assets/yarn/scrollreveal/.ignore/sandbox/rollup.conf.sandbox.js +15 -0
  313. data/_assets/yarn/scrollreveal/.ignore/sandbox/server.sandbox.js +11 -0
  314. data/_assets/yarn/scrollreveal/.npmignore +8 -0
  315. data/_assets/yarn/scrollreveal/CHANGELOG.md +268 -0
  316. data/_assets/yarn/scrollreveal/LICENSE.md +12 -0
  317. data/_assets/yarn/scrollreveal/README.md +413 -0
  318. data/_assets/yarn/scrollreveal/bower.json +24 -0
  319. data/_assets/yarn/scrollreveal/dist/scrollreveal.js +860 -0
  320. data/_assets/yarn/scrollreveal/dist/scrollreveal.min.js +1 -0
  321. data/_assets/yarn/scrollreveal/gulpfile.js +33 -0
  322. data/_assets/yarn/scrollreveal/lib/gulp/gulp-clean.js +7 -0
  323. data/_assets/yarn/scrollreveal/lib/gulp/gulp-dev.js +6 -0
  324. data/_assets/yarn/scrollreveal/lib/gulp/gulp-dist-min.js +19 -0
  325. data/_assets/yarn/scrollreveal/lib/gulp/gulp-dist.js +6 -0
  326. data/_assets/yarn/scrollreveal/lib/gulp/gulp-server.js +9 -0
  327. data/_assets/yarn/scrollreveal/lib/gulp/gulp-validate-bower.js +13 -0
  328. data/_assets/yarn/scrollreveal/lib/gulp/gulp-watch.js +6 -0
  329. data/_assets/yarn/scrollreveal/src/scrollreveal.js +860 -0
  330. data/_assets/yarn/throttle-debounce-fn/.jscsrc +5 -0
  331. data/_assets/yarn/throttle-debounce-fn/.jshintrc +13 -0
  332. data/_assets/yarn/throttle-debounce-fn/.npmignore +1 -0
  333. data/_assets/yarn/throttle-debounce-fn/Gruntfile.js +76 -0
  334. data/_assets/yarn/throttle-debounce-fn/LICENSE.md +22 -0
  335. data/_assets/yarn/throttle-debounce-fn/README.md +55 -0
  336. data/_assets/yarn/throttle-debounce-fn/dist/throttle-debounce-fn.js +164 -0
  337. data/_assets/yarn/throttle-debounce-fn/dist/throttle-debounce-fn.min.js +10 -0
  338. data/_assets/yarn/throttle-debounce-fn/package.json +36 -0
  339. data/_assets/yarn/throttle-debounce-fn/src/throttle-debounce-fn.js +156 -0
  340. data/_assets/yarn/turbolinks/LICENSE +20 -0
  341. data/_assets/yarn/turbolinks/README.md +473 -0
  342. data/_assets/yarn/turbolinks/dist/turbolinks.js +6 -0
  343. data/_assets/yarn/turbolinks/src/turbolinks/BANNER.js.erb +4 -0
  344. data/_assets/yarn/turbolinks/src/turbolinks/VERSION +1 -0
  345. data/_assets/yarn/turbolinks/src/turbolinks/browser_adapter.coffee +61 -0
  346. data/_assets/yarn/turbolinks/src/turbolinks/compatibility.coffee +30 -0
  347. data/_assets/yarn/turbolinks/src/turbolinks/controller.coffee +239 -0
  348. data/_assets/yarn/turbolinks/src/turbolinks/error_renderer.coffee +21 -0
  349. data/_assets/yarn/turbolinks/src/turbolinks/head_details.coffee +51 -0
  350. data/_assets/yarn/turbolinks/src/turbolinks/helpers.coffee +57 -0
  351. data/_assets/yarn/turbolinks/src/turbolinks/history.coffee +48 -0
  352. data/_assets/yarn/turbolinks/src/turbolinks/http_request.coffee +88 -0
  353. data/_assets/yarn/turbolinks/src/turbolinks/index.coffee +18 -0
  354. data/_assets/yarn/turbolinks/src/turbolinks/location.coffee +70 -0
  355. data/_assets/yarn/turbolinks/src/turbolinks/progress_bar.coffee +83 -0
  356. data/_assets/yarn/turbolinks/src/turbolinks/renderer.coffee +27 -0
  357. data/_assets/yarn/turbolinks/src/turbolinks/scroll_manager.coffee +28 -0
  358. data/_assets/yarn/turbolinks/src/turbolinks/snapshot.coffee +47 -0
  359. data/_assets/yarn/turbolinks/src/turbolinks/snapshot_cache.coffee +43 -0
  360. data/_assets/yarn/turbolinks/src/turbolinks/snapshot_renderer.coffee +88 -0
  361. data/_assets/yarn/turbolinks/src/turbolinks/start.coffee +18 -0
  362. data/_assets/yarn/turbolinks/src/turbolinks/view.coffee +34 -0
  363. data/_assets/yarn/turbolinks/src/turbolinks/visit.coffee +162 -0
  364. data/_assets/yarn/webfontloader/CHANGELOG +419 -0
  365. data/_assets/yarn/webfontloader/LICENSE +176 -0
  366. data/_assets/yarn/webfontloader/README.md +394 -0
  367. data/_assets/yarn/webfontloader/package.json +37 -0
  368. data/_assets/yarn/webfontloader/src/closure.js +2 -0
  369. data/_assets/yarn/webfontloader/src/core/cssclassname.js +46 -0
  370. data/_assets/yarn/webfontloader/src/core/domhelper.js +405 -0
  371. data/_assets/yarn/webfontloader/src/core/eventdispatcher.js +195 -0
  372. data/_assets/yarn/webfontloader/src/core/font.js +140 -0
  373. data/_assets/yarn/webfontloader/src/core/fontmodule.js +16 -0
  374. data/_assets/yarn/webfontloader/src/core/fontmoduleloader.js +47 -0
  375. data/_assets/yarn/webfontloader/src/core/fontruler.js +60 -0
  376. data/_assets/yarn/webfontloader/src/core/fontwatcher.js +171 -0
  377. data/_assets/yarn/webfontloader/src/core/fontwatchrunner.js +249 -0
  378. data/_assets/yarn/webfontloader/src/core/initialize.js +97 -0
  379. data/_assets/yarn/webfontloader/src/core/nativefontwatchrunner.js +69 -0
  380. data/_assets/yarn/webfontloader/src/core/stylesheetwaiter.js +48 -0
  381. data/_assets/yarn/webfontloader/src/core/webfont.js +97 -0
  382. data/_assets/yarn/webfontloader/src/modules/custom.js +63 -0
  383. data/_assets/yarn/webfontloader/src/modules/fontdeck.js +66 -0
  384. data/_assets/yarn/webfontloader/src/modules/google/fontapiparser.js +181 -0
  385. data/_assets/yarn/webfontloader/src/modules/google/fontapiurlbuilder.js +77 -0
  386. data/_assets/yarn/webfontloader/src/modules/google/googlefontapi.js +54 -0
  387. data/_assets/yarn/webfontloader/src/modules/monotype.js +110 -0
  388. data/_assets/yarn/webfontloader/src/modules/typekit.js +73 -0
  389. data/_assets/yarn/webfontloader/webfontloader.js +17 -0
  390. data/_includes/footer.html +7 -0
  391. data/_includes/head.html +41 -0
  392. data/_includes/image.html +5 -0
  393. data/_includes/javascript.html +1 -0
  394. data/_includes/javascripts.html +19 -0
  395. data/_includes/navigation.html +75 -0
  396. data/_includes/stylesheet.html +1 -0
  397. data/_layouts/articles_by_tag.html +38 -0
  398. data/_layouts/default.html +16 -0
  399. data/_layouts/post.html +65 -0
  400. data/about.html +18 -0
  401. data/favicon.ico +0 -0
  402. data/feed.xml +20 -0
  403. data/index.html +49 -0
  404. data/robots.txt +5 -0
  405. metadata +596 -0
@@ -0,0 +1,11 @@
1
+ var liveServer = require('live-server');
2
+
3
+ var params = {
4
+ logLevel: 2,
5
+ port: 9001,
6
+ root: './.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov-report',
7
+ open: false,
8
+ wait: 500,
9
+ };
10
+
11
+ liveServer.start(params);
@@ -0,0 +1,32 @@
1
+ html {
2
+ padding: 0;
3
+ margin: 0;
4
+ }
5
+
6
+ .noir { background-color: #0E141F; }
7
+ .yellow { background-color: #FFCB36; }
8
+ .orange { background-color: #FF7C35; }
9
+ .red { background-color: #E31D65; }
10
+ .green { background-color: #25A954; }
11
+ .blue { background-color: #007D97; }
12
+ .purple { background-color: #553AB8; }
13
+
14
+ body {
15
+ padding: 40px;
16
+ margin: 0;
17
+ }
18
+
19
+ .blocks {
20
+ list-style: none;
21
+ margin: 0;
22
+ padding: 0;
23
+ }
24
+
25
+ .blocks li {
26
+ height: 80px;
27
+ border-radius: 3px;
28
+ }
29
+
30
+ .blocks li:not(:last-child) {
31
+ margin-bottom: 40px;
32
+ }
@@ -0,0 +1,68 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <title>Sandbox</title>
6
+ <link rel="stylesheet" href="./css/styles.css">
7
+ <style>
8
+ html {
9
+ overflow-x: hidden;
10
+ }
11
+ .blocks li {
12
+ visibility: hidden;
13
+ }
14
+ </style>
15
+ </head>
16
+ <body class="noir">
17
+ <ul class="blocks">
18
+ <li class="red"></li>
19
+ <li class="orange"></li>
20
+ <li class="yellow"></li>
21
+ <li class="green"></li>
22
+ <li class="blue"></li>
23
+ <li class="purple"></li>
24
+ <li class="red"></li>
25
+ <li class="orange"></li>
26
+ <li class="yellow"></li>
27
+ <li class="green"></li>
28
+ <li class="blue"></li>
29
+ <li class="purple"></li>
30
+ <li class="red"></li>
31
+ <li class="orange"></li>
32
+ <li class="yellow"></li>
33
+ <li class="green"></li>
34
+ <li class="blue"></li>
35
+ <li class="purple"></li>
36
+ <li class="red"></li>
37
+ <li class="orange"></li>
38
+ <li class="yellow"></li>
39
+ <li class="green"></li>
40
+ <li class="blue"></li>
41
+ <li class="purple"></li>
42
+ </ul>
43
+ <script src="./js/scrollreveal.js"></script>
44
+ <script>
45
+
46
+ const sr = new ScrollReveal();
47
+ const config = {
48
+ distance: '100%',
49
+ duration: 600,
50
+ origin: 'right',
51
+ scale: 0.7,
52
+ // delay: 2000,
53
+ // useDelay: 'onload',
54
+ // reset: true,
55
+ // beforeReveal: (e) => console.log('BEFORE revealed'),
56
+ // beforeReset: (e) => console.log('BEFORE reset'),
57
+ // afterReveal: (e) => console.log('AFTER revealed'),
58
+ // afterReset: (e) => console.log('AFTER reset'),
59
+ // rotate: { z: 5 },
60
+ // container: 'ul.blocks',
61
+ opacity: null,
62
+ // desktop: false,
63
+ }
64
+ sr.reveal('.blocks li', config, 60);
65
+
66
+ </script>
67
+ </body>
68
+ </html>
@@ -0,0 +1,1271 @@
1
+ var ScrollReveal = (function () {
2
+ 'use strict';
3
+
4
+ var defaults = {
5
+ origin: 'bottom',
6
+ distance: '0',
7
+ duration: 600,
8
+ delay: 0,
9
+ rotate: {
10
+ x: 0,
11
+ y: 0,
12
+ z: 0,
13
+ },
14
+ opacity: 0,
15
+ scale: 1,
16
+ easing: 'cubic-bezier(0.6, 0.2, 0.1, 1)',
17
+ container: document.documentElement,
18
+ desktop: true,
19
+ mobile: true,
20
+ reset: false,
21
+ useDelay: 'always',
22
+ viewFactor: 0.0,
23
+ viewOffset: {
24
+ top: 0,
25
+ right: 0,
26
+ bottom: 0,
27
+ left: 0,
28
+ },
29
+ beforeReveal: function beforeReveal () {},
30
+ beforeReset: function beforeReset () {},
31
+ afterReveal: function afterReveal () {},
32
+ afterReset: function afterReset () {},
33
+ };
34
+
35
+ var noop = {
36
+ clean: function clean () {},
37
+ destroy: function destroy () {},
38
+ reveal: function reveal () {},
39
+ sync: function sync () {},
40
+ get noop () { return true },
41
+ };
42
+
43
+ function deepAssign (target) {
44
+ var sources = [], len = arguments.length - 1;
45
+ while ( len-- > 0 ) sources[ len ] = arguments[ len + 1 ];
46
+
47
+ if (isObject(target)) {
48
+ each(sources, function (source) {
49
+ each(source, function (data, key) {
50
+ if (isObject(data)) {
51
+ if (!target[key] || !isObject(target[key])) {
52
+ target[key] = {};
53
+ }
54
+ deepAssign(target[key], data);
55
+ } else {
56
+ target[key] = data;
57
+ }
58
+ });
59
+ });
60
+ return target
61
+ } else {
62
+ throw new TypeError('Expected an object literal.')
63
+ }
64
+ }
65
+
66
+
67
+ function isObject (object) {
68
+ return object !== null && typeof object === 'object'
69
+ && (object.constructor === Object || Object.prototype.toString.call(object) === '[object Object]')
70
+ }
71
+
72
+
73
+ function each (collection, callback) {
74
+ if (isObject(collection)) {
75
+ var keys = Object.keys(collection);
76
+ for (var i = 0; i < keys.length; i++) {
77
+ callback(collection[ keys[i] ], keys[i], collection);
78
+ }
79
+ } else if (Array.isArray(collection)) {
80
+ for (var i$1 = 0; i$1 < collection.length; i$1++) {
81
+ callback(collection[i$1], i$1, collection);
82
+ }
83
+ } else {
84
+ throw new TypeError('Expected either an array or object literal.')
85
+ }
86
+ }
87
+
88
+
89
+ var nextUniqueId = (function () {
90
+ var uid = 0;
91
+ return function () { return uid++; }
92
+ })();
93
+
94
+ var getPrefixedStyleProperty = (function () {
95
+ var properties = {};
96
+ var style = document.documentElement.style;
97
+
98
+ function getPrefixedStyleProperty (name, source) {
99
+ if ( source === void 0 ) source = style;
100
+
101
+ if (name && typeof name === 'string') {
102
+ if (properties[name]) {
103
+ return properties[name]
104
+ }
105
+ if (typeof source[name] === 'string') {
106
+ return properties[name] = name
107
+ }
108
+ if (typeof source[("-webkit-" + name)] === 'string') {
109
+ return properties[name] = "-webkit-" + name
110
+ }
111
+ throw new RangeError(("Unable to find \"" + name + "\" style property."))
112
+ }
113
+ throw new TypeError('Expected a string.')
114
+ }
115
+
116
+ getPrefixedStyleProperty.clearCache = function () { return properties = {}; };
117
+
118
+ return getPrefixedStyleProperty
119
+ })();
120
+
121
+
122
+ function isMobile (agent) {
123
+ if ( agent === void 0 ) agent = navigator.userAgent;
124
+
125
+ return /Android|iPhone|iPad|iPod/i.test(agent)
126
+ }
127
+
128
+
129
+ function isNode (target) {
130
+ return typeof window.Node === 'object'
131
+ ? target instanceof window.Node
132
+ : target !== null
133
+ && typeof target === 'object'
134
+ && typeof target.nodeType === 'number'
135
+ && typeof target.nodeName === 'string'
136
+ }
137
+
138
+
139
+ function isNodeList (target) {
140
+ var prototypeToString = Object.prototype.toString.call(target);
141
+ var regex = /^\[object (HTMLCollection|NodeList|Object)\]$/;
142
+
143
+ return typeof window.NodeList === 'object'
144
+ ? target instanceof window.NodeList
145
+ : typeof target === 'object'
146
+ && typeof target.length === 'number'
147
+ && regex.test(prototypeToString)
148
+ && (target.length === 0 || isNode(target[0]))
149
+ }
150
+
151
+
152
+ function transformSupported () {
153
+ var style = document.documentElement.style;
154
+ return 'transform' in style || 'WebkitTransform' in style
155
+ }
156
+
157
+
158
+ function transitionSupported () {
159
+ var style = document.documentElement.style;
160
+ return 'transition' in style || 'WebkitTransition' in style
161
+ }
162
+
163
+ function isElementVisible (element) {
164
+ var container = this.store.containers[element.containerId];
165
+ var viewFactor = element.config.viewFactor;
166
+ var viewOffset = element.config.viewOffset;
167
+
168
+ var elementBounds = {
169
+ top: element.geometry.bounds.top + element.geometry.height * viewFactor,
170
+ right: element.geometry.bounds.right - element.geometry.width * viewFactor,
171
+ bottom: element.geometry.bounds.bottom - element.geometry.height * viewFactor,
172
+ left: element.geometry.bounds.left + element.geometry.width * viewFactor,
173
+ };
174
+
175
+ var containerBounds = {
176
+ top: container.geometry.bounds.top + container.scroll.top + viewOffset.top,
177
+ right: container.geometry.bounds.right + container.scroll.left + viewOffset.right,
178
+ bottom: container.geometry.bounds.bottom + container.scroll.top + viewOffset.bottom,
179
+ left: container.geometry.bounds.left + container.scroll.left + viewOffset.left,
180
+ };
181
+
182
+ return elementBounds.top < containerBounds.bottom
183
+ && elementBounds.right > containerBounds.left
184
+ && elementBounds.bottom > containerBounds.top
185
+ && elementBounds.left < containerBounds.right
186
+ || element.styles.position === 'fixed'
187
+ }
188
+
189
+
190
+ function getGeometry (target, isContainer) {
191
+ /**
192
+ * We want to ignore padding and scrollbars for container elements.
193
+ * More information here: https://goo.gl/vOZpbz
194
+ */
195
+ var height = (isContainer) ? target.node.clientHeight : target.node.offsetHeight;
196
+ var width = (isContainer) ? target.node.clientWidth : target.node.offsetWidth;
197
+
198
+ var offsetTop = 0;
199
+ var offsetLeft = 0;
200
+ var node = target.node;
201
+
202
+ do {
203
+ if (!isNaN(node.offsetTop)) {
204
+ offsetTop += node.offsetTop;
205
+ }
206
+ if (!isNaN(node.offsetLeft)) {
207
+ offsetLeft += node.offsetLeft;
208
+ }
209
+ node = node.offsetParent;
210
+ } while (node)
211
+
212
+ return {
213
+ bounds: {
214
+ top: offsetTop,
215
+ right: offsetLeft + width,
216
+ bottom: offsetTop + height,
217
+ left: offsetLeft,
218
+ },
219
+ height: height,
220
+ width: width,
221
+ }
222
+ }
223
+
224
+
225
+ function getNode (target, container) {
226
+ if ( container === void 0 ) container = document;
227
+
228
+ var node = null;
229
+ if (typeof target === 'string') {
230
+ try {
231
+ node = container.querySelector(target);
232
+ if (!node) { logger(("Querying the selector \"" + target + "\" returned nothing.")); }
233
+ } catch (err) {
234
+ logger(("\"" + target + "\" is not a valid selector."));
235
+ }
236
+ }
237
+ return isNode(target) ? target : node
238
+ }
239
+
240
+
241
+ function getNodes (target, container) {
242
+ if ( container === void 0 ) container = document;
243
+
244
+ if (isNode(target)) { return [target] }
245
+ if (isNodeList(target)) { return Array.prototype.slice.call(target) }
246
+ if (typeof target === 'string') {
247
+ try {
248
+ var query = container.querySelectorAll(target);
249
+ var nodes = Array.prototype.slice.call(query);
250
+ if (nodes.length) { return nodes }
251
+ logger(("Querying the selector \"" + target + "\" returned nothing."));
252
+ } catch (error) {
253
+ logger(("\"" + target + "\" is not a valid selector."));
254
+ }
255
+ }
256
+ return []
257
+ }
258
+
259
+
260
+ function getScrolled (container) {
261
+ return (container.node === document.documentElement)
262
+ ? {
263
+ top: window.pageYOffset,
264
+ left: window.pageXOffset,
265
+ } : {
266
+ top: container.node.scrollTop,
267
+ left: container.node.scrollLeft,
268
+ }
269
+ }
270
+
271
+
272
+ function logger (message) {
273
+ var details = [], len = arguments.length - 1;
274
+ while ( len-- > 0 ) details[ len ] = arguments[ len + 1 ];
275
+
276
+ if (console) {
277
+ var report = "ScrollReveal: " + message;
278
+ details.forEach(function (detail) { return report += "\n - " + detail; });
279
+ console.log(report); // eslint-disable-line no-console
280
+ }
281
+ }
282
+
283
+ function rinse () {
284
+ var this$1 = this;
285
+
286
+
287
+ var elementIds = {
288
+ active: [],
289
+ stale: [],
290
+ };
291
+
292
+ var containerIds = {
293
+ active: [],
294
+ stale: [],
295
+ };
296
+
297
+ var sequenceIds = {
298
+ active: [],
299
+ stale: [],
300
+ };
301
+
302
+ /**
303
+ * Take stock of active element IDs.
304
+ */
305
+ each(getNodes('[data-sr-id]'), function (node) {
306
+ var id = parseInt(node.getAttribute('data-sr-id'));
307
+ elementIds.active.push(id);
308
+ });
309
+
310
+ /**
311
+ * Destroy stale elements.
312
+ */
313
+ each(this.store.elements, function (element) {
314
+ if (elementIds.active.indexOf(element.id) === -1) {
315
+ elementIds.stale.push(element.id);
316
+ }
317
+ });
318
+
319
+ each(elementIds.stale, function (staleId) { return delete this$1.store.elements[staleId]; });
320
+
321
+ /**
322
+ * Take stock of active container and sequence IDs.
323
+ */
324
+ each(this.store.elements, function (element) {
325
+ if (containerIds.active.indexOf(element.containerId) === -1) {
326
+ containerIds.active.push(element.containerId);
327
+ }
328
+ if (element.hasOwnProperty('sequence')) {
329
+ if (sequenceIds.active.indexOf(element.sequence.id) === -1) {
330
+ sequenceIds.active.push(element.sequence.id);
331
+ }
332
+ }
333
+ });
334
+
335
+ /**
336
+ * Destroy stale containers.
337
+ */
338
+ each(this.store.containers, function (container) {
339
+ if (containerIds.active.indexOf(container.id) === -1) {
340
+ containerIds.stale.push(container.id);
341
+ }
342
+ });
343
+
344
+ each(containerIds.stale, function (staleId) {
345
+ this$1.store.containers[staleId].node.removeEventListener('scroll', this$1.delegate);
346
+ this$1.store.containers[staleId].node.removeEventListener('resize', this$1.delegate);
347
+ delete this$1.store.containers[staleId];
348
+ });
349
+
350
+ /**
351
+ * Destroy stale sequences.
352
+ */
353
+ each(this.store.sequences, function (sequence) {
354
+ if (sequenceIds.active.indexOf(sequence.id) === -1) {
355
+ sequenceIds.stale.push(sequence.id);
356
+ }
357
+ });
358
+
359
+ each(sequenceIds.stale, function (staleId) { return delete this$1.store.sequences[staleId]; });
360
+ }
361
+
362
+ function clean (target) {
363
+ var this$1 = this;
364
+
365
+
366
+ var dirty;
367
+
368
+ each(getNodes(target), function (node) {
369
+ var id = node.getAttribute('data-sr-id');
370
+ if (id !== null) {
371
+ dirty = true;
372
+ node.setAttribute('style', this$1.store.elements[id].styles.inline);
373
+ node.removeAttribute('data-sr-id');
374
+ delete this$1.store.elements[id];
375
+ }
376
+ });
377
+
378
+ if (dirty) { rinse.call(this); }
379
+ }
380
+
381
+ function destroy () {
382
+ var this$1 = this;
383
+
384
+
385
+ /**
386
+ * Remove all generated styles and element ids
387
+ */
388
+ each(this.store.elements, function (element) {
389
+ element.node.setAttribute('style', element.styles.inline);
390
+ element.node.removeAttribute('data-sr-id');
391
+ });
392
+
393
+ /**
394
+ * Remove all event listeners.
395
+ */
396
+ each(this.store.containers, function (container) {
397
+ if (container.node === document.documentElement) {
398
+ window.removeEventListener('scroll', this$1.delegate);
399
+ window.removeEventListener('resize', this$1.delegate);
400
+ } else {
401
+ container.node.removeEventListener('scroll', this$1.delegate);
402
+ container.node.removeEventListener('resize', this$1.delegate);
403
+ }
404
+ });
405
+
406
+ /**
407
+ * Clear all data from the store
408
+ */
409
+ this.store = {
410
+ containers: {},
411
+ elements: {},
412
+ history: [],
413
+ sequences: {},
414
+ };
415
+ }
416
+
417
+ /* @license Redpill v0.4.1
418
+
419
+ Copyright (c) 2017, Fisssion LLC
420
+
421
+ Permission is hereby granted, free of charge, to any person obtaining a copy
422
+ of this software and associated documentation files (the "Software"), to deal
423
+ in the Software without restriction, including without limitation the rights
424
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
425
+ copies of the Software, and to permit persons to whom the Software is
426
+ furnished to do so, subject to the following conditions:
427
+
428
+ The above copyright notice and this permission notice shall be included in
429
+ all copies or substantial portions of the Software.
430
+
431
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
432
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
433
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
434
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
435
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
436
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
437
+ THE SOFTWARE.
438
+ */
439
+ /**
440
+ * @module Redpill
441
+ */
442
+
443
+ /**
444
+ * Transformation matrices in the browser come in two flavors:
445
+ *
446
+ * - `matrix` using 6 values (short)
447
+ * - `matrix3d` using 16 values (long)
448
+ *
449
+ * This utility follows this [conversion guide](https://goo.gl/EJlUQ1)
450
+ * to expand short form matrices to their equivalent long form.
451
+ *
452
+ * @param {array} source - Accepts both short and long form matrices.
453
+ * @return {array}
454
+ */
455
+ function format (source) {
456
+ if (source.constructor !== Array) {
457
+ throw new TypeError('Expected array.')
458
+ }
459
+ if (source.length === 16) {
460
+ return source
461
+ }
462
+ if (source.length === 6) {
463
+ var matrix = identity();
464
+ matrix[0] = source[0];
465
+ matrix[1] = source[1];
466
+ matrix[4] = source[2];
467
+ matrix[5] = source[3];
468
+ matrix[12] = source[4];
469
+ matrix[13] = source[5];
470
+ return matrix
471
+ }
472
+ throw new RangeError('Expected array with either 6 or 16 values.')
473
+ }
474
+
475
+
476
+ /**
477
+ * Returns a matrix representing no transformation. The product of any matrix
478
+ * multiplied by the identity matrix will be the original matrix.
479
+ *
480
+ * > **Tip:** Similar to how `5 * 1 === 5`, where `1` is the identity number.
481
+ *
482
+ * @return {array}
483
+ */
484
+ function identity () {
485
+ var matrix = [];
486
+ for (var i = 0; i < 16; i++) {
487
+ i % 5 == 0 ? matrix.push(1) : matrix.push(0);
488
+ }
489
+ return matrix
490
+ }
491
+
492
+
493
+ /**
494
+ * Returns a 4x4 matrix describing the combined transformations
495
+ * of both arguments.
496
+ *
497
+ * > **Note:** Order is very important. For example, rotating 90°
498
+ * along the Z-axis, followed by translating 500 pixels along the
499
+ * Y-axis... is not the same as translating 500 pixels along the
500
+ * Y-axis, followed by rotating 45° along on the Z-axis.
501
+ *
502
+ * @param {array} m1 - Accepts both short and long form matrices.
503
+ * @param {array} m2 - Accepts both short and long form matrices.
504
+ * @return {array}
505
+ */
506
+ function multiply (m1, m2) {
507
+ var fm1 = format(m1);
508
+ var fm2 = format(m2);
509
+ var product = [];
510
+
511
+ for (var i = 0; i < 4; i++) {
512
+ var row = [fm1[i], fm1[i + 4], fm1[i + 8], fm1[i + 12]];
513
+ for (var j = 0; j < 4; j++) {
514
+ var k = j * 4;
515
+ var col = [fm2[k], fm2[k + 1], fm2[k + 2], fm2[k + 3]];
516
+ var result = row[0] * col[0] + row[1] * col[1] + row[2] * col[2] + row[3] * col[3];
517
+
518
+ product[i + k] = result;
519
+ }
520
+ }
521
+
522
+ return product
523
+ }
524
+
525
+
526
+ /**
527
+ * Attempts to returns a 4x4 matrix describing the CSS transform matrix passed
528
+ * in, but will return the identity matrix as a fallback.
529
+ *
530
+ * **Tip:** In virtually all cases, this method is used to convert a CSS matrix
531
+ * (retrieved as a `string` from computed styles) to its equivalent array format.
532
+ *
533
+ * @param {string} source - String containing a valid CSS `matrix` or `matrix3d` property.
534
+ * @return {array}
535
+ */
536
+ function parse (source) {
537
+ if (typeof source === 'string') {
538
+ var match = source.match(/matrix(3d)?\(([^)]+)\)/);
539
+ if (match) {
540
+ var raw = match[2].split(', ').map(function (value) { return parseFloat(value); });
541
+ return format(raw)
542
+ }
543
+ }
544
+ return identity()
545
+ }
546
+
547
+
548
+ /**
549
+ * Returns a 4x4 matrix describing X-axis rotation.
550
+ *
551
+ * @param {number} angle - Measured in degrees.
552
+ * @return {array}
553
+ */
554
+ function rotateX (angle) {
555
+ var theta = Math.PI / 180 * angle;
556
+ var matrix = identity();
557
+
558
+ matrix[5] = matrix[10] = Math.cos(theta);
559
+ matrix[6] = matrix[9] = Math.sin(theta);
560
+ matrix[9] *= -1;
561
+
562
+ return matrix
563
+ }
564
+
565
+
566
+ /**
567
+ * Returns a 4x4 matrix describing Y-axis rotation.
568
+ *
569
+ * @param {number} angle - Measured in degrees.
570
+ * @return {array}
571
+ */
572
+ function rotateY (angle) {
573
+ var theta = Math.PI / 180 * angle;
574
+ var matrix = identity();
575
+
576
+ matrix[0] = matrix[10] = Math.cos(theta);
577
+ matrix[2] = matrix[8] = Math.sin(theta);
578
+ matrix[2] *= -1;
579
+
580
+ return matrix
581
+ }
582
+
583
+
584
+ /**
585
+ * Returns a 4x4 matrix describing Z-axis rotation.
586
+ *
587
+ * @param {number} angle - Measured in degrees.
588
+ * @return {array}
589
+ */
590
+ function rotateZ (angle) {
591
+ var theta = Math.PI / 180 * angle;
592
+ var matrix = identity();
593
+
594
+ matrix[0] = matrix[5] = Math.cos(theta);
595
+ matrix[1] = matrix[4] = Math.sin(theta);
596
+ matrix[4] *= -1;
597
+
598
+ return matrix
599
+ }
600
+
601
+
602
+ /**
603
+ * Returns a 4x4 matrix describing 2D scaling. The first argument
604
+ * is used for both X and Y-axis scaling, unless an optional
605
+ * second argument is provided to explicitly define Y-axis scaling.
606
+ *
607
+ * @param {number} scalarX - Decimal multiplier.
608
+ * @param {number} [scalarY] - Decimal multiplier.
609
+ * @return {array}
610
+ */
611
+ function scale (scalarX, scalarY) {
612
+ var matrix = identity();
613
+ matrix[0] = scalarX;
614
+ matrix[5] = scalarY || scalarX;
615
+ return matrix
616
+ }
617
+
618
+
619
+ /**
620
+ * Returns a 4x4 matrix describing X-axis translation.
621
+ *
622
+ * @param {number} distance - Measured in pixels.
623
+ * @return {array}
624
+ */
625
+ function translateX (distance) {
626
+ var matrix = identity();
627
+ matrix[12] = distance;
628
+ return matrix
629
+ }
630
+
631
+
632
+ /**
633
+ * Returns a 4x4 matrix describing Y-axis translation.
634
+ *
635
+ * @param {number} distance - Measured in pixels.
636
+ * @return {array}
637
+ */
638
+ function translateY (distance) {
639
+ var matrix = identity();
640
+ matrix[13] = distance;
641
+ return matrix
642
+ }
643
+
644
+ function style (element) {
645
+ var computed = window.getComputedStyle(element.node);
646
+ var position = computed.position;
647
+ var config = element.config;
648
+
649
+ /**
650
+ * Generate inline styles
651
+ */
652
+ var inlineRegex = /.+[^;]/g;
653
+ var inlineStyle = element.node.getAttribute('style') || '';
654
+ var inlineMatch = inlineRegex.exec(inlineStyle);
655
+
656
+ var inline = (inlineMatch) ? ((inlineMatch[0]) + ";") : '';
657
+ if (inline.indexOf('visibility: visible') === -1) {
658
+ inline += (inline.length) ? ' ' : '';
659
+ inline += 'visibility: visible;';
660
+ }
661
+
662
+ /**
663
+ * Generate opacity styles
664
+ */
665
+ var computedOpacity = parseFloat(computed.opacity);
666
+ var configOpacity = !isNaN(parseFloat(config.opacity))
667
+ ? parseFloat(config.opacity)
668
+ : parseFloat(computed.opacity);
669
+
670
+ var opacity = {
671
+ computed: (computedOpacity !== configOpacity) ? ("opacity: " + computedOpacity + ";") : '',
672
+ generated: (computedOpacity !== configOpacity) ? ("opacity: " + configOpacity + ";") : '',
673
+ };
674
+
675
+ /**
676
+ * Generate transformation styles
677
+ */
678
+ var transformations = [];
679
+
680
+ if (parseFloat(config.distance)) {
681
+ var axis = (config.origin === 'top' || config.origin === 'bottom') ? 'Y' : 'X';
682
+
683
+ /**
684
+ * Let’s make sure our our pixel distances are negative for top and left.
685
+ * e.g. { origin: 'top', distance: '25px' } starts at `top: -25px` in CSS.
686
+ */
687
+ var distance = config.distance;
688
+ if (config.origin === 'top' || config.origin === 'left') {
689
+ distance = /^-/.test(distance)
690
+ ? distance.substr(1)
691
+ : ("-" + distance);
692
+ }
693
+
694
+ var ref = distance.match(/(^-?\d+\.?\d?)|(em$|px$|\%$)/g);
695
+ var value = ref[0];
696
+ var unit = ref[1];
697
+
698
+ switch (unit) {
699
+ case 'em':
700
+ distance = parseInt(computed.fontSize) * value;
701
+ break
702
+ case 'px':
703
+ distance = value;
704
+ break
705
+ case '%':
706
+ distance = (axis === 'Y')
707
+ ? element.node.getBoundingClientRect().height * value / 100
708
+ : element.node.getBoundingClientRect().width * value / 100;
709
+ break
710
+ default:
711
+ throw new RangeError('Unrecognized or missing distance unit.')
712
+ }
713
+
714
+ (axis === 'Y')
715
+ ? transformations.push(translateY(distance))
716
+ : transformations.push(translateX(distance));
717
+ }
718
+
719
+ if (config.rotate.x) { transformations.push(rotateX(config.rotate.x)); }
720
+ if (config.rotate.y) { transformations.push(rotateY(config.rotate.y)); }
721
+ if (config.rotate.z) { transformations.push(rotateZ(config.rotate.z)); }
722
+ if (config.scale !== 1) { transformations.push(scale(config.scale)); }
723
+
724
+ var transform = {};
725
+ if (transformations.length) {
726
+
727
+ transform.property = getPrefixedStyleProperty('transform');
728
+ /**
729
+ * The default computed transform value should be one of:
730
+ * undefined || 'none' || 'matrix()' || 'matrix3d()'
731
+ */
732
+ transform.computed = {
733
+ raw: computed[transform.property],
734
+ matrix: parse(computed[transform.property]),
735
+ };
736
+
737
+ transformations.unshift(transform.computed.matrix);
738
+ var product = transformations.reduce(multiply);
739
+
740
+ transform.generated = {
741
+ initial: ((transform.property) + ": matrix3d(" + (product.join(', ')) + ");"),
742
+ final: ((transform.property) + ": matrix3d(" + (transform.computed.matrix.join(', ')) + ");"),
743
+ };
744
+ } else {
745
+ transform.generated = {
746
+ initial: '',
747
+ final: '',
748
+ };
749
+ }
750
+
751
+ /**
752
+ * Generate transition styles
753
+ */
754
+ var transition = {};
755
+ if (opacity.generated || transform.generated.initial) {
756
+
757
+ transition.property = getPrefixedStyleProperty('transition');
758
+ transition.computed = computed[transition.property];
759
+ transition.fragments = [];
760
+
761
+ var delay = config.delay;
762
+ var duration = config.duration;
763
+ var easing = config.easing;
764
+
765
+ if (opacity.generated) {
766
+ transition.fragments.push({
767
+ delayed: ("opacity " + (duration / 1000) + "s " + easing + " " + (delay / 1000) + "s"),
768
+ instant: ("opacity " + (duration / 1000) + "s " + easing + " 0s"),
769
+ });
770
+ }
771
+
772
+ if (transform.generated.initial) {
773
+ transition.fragments.push({
774
+ delayed: ((transform.property) + " " + (duration / 1000) + "s " + easing + " " + (delay / 1000) + "s"),
775
+ instant: ((transform.property) + " " + (duration / 1000) + "s " + easing + " 0s"),
776
+ });
777
+ }
778
+
779
+ /**
780
+ * The default computed transition property should be one of:
781
+ * undefined || '' || 'all 0s ease 0s' || 'all 0s 0s cubic-bezier()'
782
+ */
783
+ if (transition.computed && !transition.computed.match(/all 0s/)) {
784
+ transition.fragments.unshift({
785
+ delayed: transition.computed,
786
+ instant: transition.computed,
787
+ });
788
+ }
789
+
790
+ var composed = transition.fragments.reduce(function (composition, fragment, i) {
791
+ composition.delayed += (i === 0) ? fragment.delayed : (", " + (fragment.delayed));
792
+ composition.instant += (i === 0) ? fragment.instant : (", " + (fragment.instant));
793
+ return composition
794
+ }, {
795
+ delayed: '',
796
+ instant: '',
797
+ });
798
+
799
+ transition.generated = {
800
+ delayed: ((transition.property) + ": " + (composed.delayed) + ";"),
801
+ instant: ((transition.property) + ": " + (composed.instant) + ";"),
802
+ };
803
+ }
804
+
805
+ return {
806
+ inline: inline,
807
+ opacity: opacity,
808
+ position: position,
809
+ transform: transform,
810
+ transition: transition,
811
+ }
812
+ }
813
+
814
+ function initialize () {
815
+ var this$1 = this;
816
+
817
+
818
+ rinse.call(this);
819
+
820
+ each(this.store.elements, function (element) {
821
+ var styles = [element.styles.inline];
822
+
823
+ if (element.visible) {
824
+ styles.push(element.styles.opacity.computed);
825
+ styles.push(element.styles.transform.generated.final);
826
+ } else {
827
+ styles.push(element.styles.opacity.generated);
828
+ styles.push(element.styles.transform.generated.initial);
829
+ }
830
+
831
+ element.node.setAttribute('style', styles.join(' '));
832
+ });
833
+
834
+ each(this.store.containers, function (container) {
835
+ if (container.node === document.documentElement) {
836
+ window.addEventListener('scroll', this$1.delegate);
837
+ window.addEventListener('resize', this$1.delegate);
838
+ } else {
839
+ container.node.addEventListener('scroll', this$1.delegate);
840
+ container.node.addEventListener('resize', this$1.delegate);
841
+ }
842
+ });
843
+
844
+ /**
845
+ * Manually invoke delegate once to capture
846
+ * element and container dimensions, container
847
+ * scroll position, and trigger any valid reveals
848
+ */
849
+ this.delegate();
850
+
851
+ this.initTimeout = null;
852
+ }
853
+
854
+ function reveal (target, options, interval, sync) {
855
+ var this$1 = this;
856
+
857
+
858
+ /**
859
+ * The reveal method has an optional 2nd parameter,
860
+ * so here we just shuffle things around to accept
861
+ * the interval being passed as the 2nd argument.
862
+ */
863
+ if (typeof options === 'number') {
864
+ interval = Math.abs(parseInt(options));
865
+ options = {};
866
+ } else {
867
+ interval = Math.abs(parseInt(interval));
868
+ options = options || {};
869
+ }
870
+
871
+ var config = deepAssign({}, this.defaults, options);
872
+ var containers = this.store.containers;
873
+ var container = getNode(config.container);
874
+ var targets = getNodes(target, container);
875
+
876
+ if (!targets.length) {
877
+ logger('Reveal aborted.', 'Reveal cannot be performed on 0 elements.');
878
+ return
879
+ }
880
+
881
+ /**
882
+ * Verify our platform matches our platform configuration.
883
+ */
884
+ if (!config.mobile && isMobile() || !config.desktop && !isMobile()) {
885
+ logger('Reveal aborted.', 'This platform has been disabled.');
886
+ return
887
+ }
888
+
889
+ /**
890
+ * Sequence intervals must be at least 16ms (60fps).
891
+ */
892
+ var sequence;
893
+ if (interval) {
894
+ if (interval >= 16) {
895
+ var sequenceId = nextUniqueId();
896
+ sequence = {
897
+ elementIds: [],
898
+ head: { index: null, blocked: false },
899
+ tail: { index: null, blocked: false },
900
+ id: sequenceId,
901
+ interval: Math.abs(interval),
902
+ };
903
+ } else {
904
+ logger('Reveal failed.', 'Sequence intervals must be at least 16 milliseconds.');
905
+ return
906
+ }
907
+ }
908
+
909
+ var containerId;
910
+ each(containers, function (storedContainer) {
911
+ if (!containerId && storedContainer.node === container) {
912
+ containerId = storedContainer.id;
913
+ }
914
+ });
915
+
916
+ if (isNaN(containerId)) {
917
+ containerId = nextUniqueId();
918
+ }
919
+
920
+ try {
921
+ var elements = targets.map(function (node) {
922
+ var element = {};
923
+ var existingId = node.getAttribute('data-sr-id');
924
+
925
+ if (existingId) {
926
+ deepAssign(element, this$1.store.elements[existingId]);
927
+
928
+ /**
929
+ * In order to prevent previously generated styles
930
+ * from throwing off the new styles, the style tag
931
+ * has to be reverted to it's pre-reveal state.
932
+ */
933
+ element.node.setAttribute('style', element.styles.inline);
934
+
935
+ } else {
936
+ element.id = nextUniqueId();
937
+ element.node = node;
938
+ element.seen = false;
939
+ element.visible = false;
940
+ }
941
+
942
+ element.config = config;
943
+ element.containerId = containerId;
944
+ element.styles = style(element);
945
+
946
+ if (sequence) {
947
+ element.sequence = {
948
+ id: sequence.id,
949
+ index: sequence.elementIds.length,
950
+ };
951
+ sequence.elementIds.push(element.id);
952
+ }
953
+
954
+ return element
955
+ });
956
+
957
+ /**
958
+ * Modifying the DOM via setAttribute needs to be handled
959
+ * separately from reading computed styles in the map above
960
+ * for the browser to batch DOM changes (limiting reflows)
961
+ */
962
+ each(elements, function (element) {
963
+ this$1.store.elements[element.id] = element;
964
+ element.node.setAttribute('data-sr-id', element.id);
965
+ });
966
+
967
+ } catch (error) {
968
+ logger('Reveal failed.', error.message);
969
+ return
970
+ }
971
+
972
+ containers[containerId] = containers[containerId] || {
973
+ id: containerId,
974
+ node: container,
975
+ };
976
+
977
+ if (sequence) {
978
+ this.store.sequences[sequence.id] = sequence;
979
+ }
980
+
981
+ /**
982
+ * If reveal wasn't invoked by sync, we want to
983
+ * make sure to add this call to the history.
984
+ */
985
+ if (!sync) {
986
+ this.store.history.push({ target: target, options: options, interval: interval });
987
+
988
+ /**
989
+ * Push initialization to the event queue, giving
990
+ * multiple reveal calls time to be interpretted.
991
+ */
992
+ if (this.initTimeout) {
993
+ window.clearTimeout(this.initTimeout);
994
+ }
995
+ this.initTimeout = window.setTimeout(initialize.bind(this), 0);
996
+ }
997
+ }
998
+
999
+ /**
1000
+ * Re-runs the reveal method for each record stored in history,
1001
+ * for capturing new content asynchronously loaded into the DOM.
1002
+ */
1003
+ function sync () {
1004
+ var this$1 = this;
1005
+
1006
+ each(this.store.history, function (record) {
1007
+ reveal.call(this$1, record.target, record.options, record.interval, true);
1008
+ });
1009
+
1010
+ initialize.call(this);
1011
+ }
1012
+
1013
+ function animate (element) {
1014
+ var this$1 = this;
1015
+
1016
+
1017
+ var isDelayed = element.config.useDelay === 'always'
1018
+ || element.config.useDelay === 'onload' && this.pristine
1019
+ || element.config.useDelay === 'once' && !element.seen;
1020
+
1021
+ var sequence = (element.sequence) ? this.store.sequences[element.sequence.id] : null;
1022
+ var styles = [element.styles.inline];
1023
+
1024
+ if (isElementVisible.call(this, element) && !element.visible) {
1025
+
1026
+ if (sequence !== null) {
1027
+ if (sequence.head.index === null && sequence.tail.index === null) {
1028
+ sequence.head.index = sequence.tail.index = element.sequence.index;
1029
+ sequence.head.blocked = sequence.tail.blocked = true;
1030
+
1031
+ } else if (sequence.head.index - 1 === element.sequence.index && !sequence.head.blocked) {
1032
+ sequence.head.index--;
1033
+ sequence.head.blocked = true;
1034
+
1035
+ } else if (sequence.tail.index + 1 === element.sequence.index && !sequence.tail.blocked) {
1036
+ sequence.tail.index++;
1037
+ sequence.tail.blocked = true;
1038
+
1039
+ } else { return }
1040
+
1041
+ window.setTimeout(function () {
1042
+ sequence.head.blocked = sequence.tail.blocked = false;
1043
+ this$1.delegate();
1044
+ }, sequence.interval);
1045
+ }
1046
+
1047
+ styles.push(element.styles.opacity.computed);
1048
+ styles.push(element.styles.transform.generated.final);
1049
+
1050
+ if (isDelayed) {
1051
+ styles.push(element.styles.transition.generated.delayed);
1052
+ } else {
1053
+ styles.push(element.styles.transition.generated.instant);
1054
+ }
1055
+
1056
+ element.seen = true;
1057
+ element.visible = true;
1058
+ registerCallbacks.call(this, element, isDelayed);
1059
+ element.node.setAttribute('style', styles.join(' '));
1060
+
1061
+ } else {
1062
+ if (!isElementVisible.call(this, element) && element.visible && element.config.reset) {
1063
+
1064
+ if (sequence) {
1065
+ if (sequence.head.index === element.sequence.index) {
1066
+ sequence.head.index++;
1067
+ } else if (sequence.tail.index === element.sequence.index) {
1068
+ sequence.tail.index--;
1069
+ } else { return }
1070
+ }
1071
+
1072
+ styles.push(element.styles.opacity.generated);
1073
+ styles.push(element.styles.transform.generated.initial);
1074
+ styles.push(element.styles.transition.generated.instant);
1075
+
1076
+ element.visible = false;
1077
+ registerCallbacks.call(this, element);
1078
+ element.node.setAttribute('style', styles.join(' '));
1079
+ }
1080
+ }
1081
+ }
1082
+
1083
+
1084
+ function registerCallbacks (element, isDelayed) {
1085
+ var this$1 = this;
1086
+
1087
+
1088
+ var duration = (isDelayed)
1089
+ ? element.config.duration + element.config.delay
1090
+ : element.config.duration;
1091
+
1092
+ var afterCallback;
1093
+ if (element.visible) {
1094
+ element.config.beforeReveal(element.node);
1095
+ afterCallback = element.config.afterReveal;
1096
+ } else {
1097
+ element.config.beforeReset(element.node);
1098
+ afterCallback = element.config.afterReset;
1099
+ }
1100
+
1101
+ var elapsed = 0;
1102
+ if (element.callbackTimer) {
1103
+ elapsed = Date.now() - element.callbackTimer.start;
1104
+ window.clearTimeout(element.callbackTimer.clock);
1105
+ }
1106
+
1107
+ element.callbackTimer = {
1108
+ start: Date.now(),
1109
+ clock: window.setTimeout(function () {
1110
+ afterCallback(element.node);
1111
+ element.callbackTimer = null;
1112
+ if (element.visible && !element.config.reset) {
1113
+ clean.call(this$1, element.node);
1114
+ }
1115
+ }, duration - elapsed),
1116
+ };
1117
+ }
1118
+
1119
+ var polyfill = (function () {
1120
+ var clock = Date.now();
1121
+
1122
+ return function (callback) {
1123
+ var currentTime = Date.now();
1124
+ if (currentTime - clock > 16) {
1125
+ clock = currentTime;
1126
+ callback(currentTime);
1127
+ } else {
1128
+ setTimeout(function () { return polyfill(callback); }, 0);
1129
+ }
1130
+ }
1131
+ })();
1132
+
1133
+
1134
+ var requestAnimationFrame = window.requestAnimationFrame
1135
+ || window.webkitRequestAnimationFrame
1136
+ || window.mozRequestAnimationFrame
1137
+ || polyfill;
1138
+
1139
+ function delegate (event) {
1140
+ var this$1 = this;
1141
+ if ( event === void 0 ) event = {};
1142
+
1143
+ requestAnimationFrame(function () {
1144
+ var containers = this$1.store.containers;
1145
+ var elements = this$1.store.elements;
1146
+
1147
+ switch (event.type) {
1148
+
1149
+ case 'scroll':
1150
+ each(containers, function (container) { return container.scroll = getScrolled.call(this$1, container); });
1151
+ each(elements, function (element) { return animate.call(this$1, element); });
1152
+ break
1153
+
1154
+ case 'resize':
1155
+ default:
1156
+ each(containers, function (container) {
1157
+ container.geometry = getGeometry.call(this$1, container, /* isContainer: */ true);
1158
+ container.scroll = getScrolled.call(this$1, container);
1159
+ });
1160
+ each(elements, function (element) {
1161
+ element.geometry = getGeometry.call(this$1, element);
1162
+ animate.call(this$1, element);
1163
+ });
1164
+ }
1165
+
1166
+ this$1.pristine = false;
1167
+ });
1168
+ }
1169
+
1170
+ var version = "4.0.0-beta.2";
1171
+
1172
+ function ScrollReveal (options) {
1173
+ if ( options === void 0 ) options = {};
1174
+
1175
+
1176
+ /**
1177
+ * Support instantiation without the `new` keyword.
1178
+ */
1179
+ if (typeof this === 'undefined' || Object.getPrototypeOf(this) !== ScrollReveal.prototype) {
1180
+ return new ScrollReveal(options)
1181
+ }
1182
+
1183
+ if (!ScrollReveal.isSupported()) {
1184
+ logger('Instantiation aborted.', 'This browser is not supported.');
1185
+ return noop
1186
+ }
1187
+
1188
+ try {
1189
+ Object.defineProperty(this, 'defaults', {
1190
+ get: (function () {
1191
+ var config = {};
1192
+ deepAssign(config, defaults, options);
1193
+ return function () { return config; }
1194
+ })(),
1195
+ });
1196
+ } catch (error) {
1197
+ logger('Instantiation failed.', 'Invalid configuration provided.', error.message);
1198
+ return noop
1199
+ }
1200
+
1201
+ var container = getNode(this.defaults.container);
1202
+ if (!container) {
1203
+ logger('Instantiation failed.', 'Invalid or missing container.');
1204
+ return noop
1205
+ }
1206
+
1207
+ if (this.defaults.mobile === isMobile() || this.defaults.desktop === !isMobile()) {
1208
+ document.documentElement.classList.add('sr');
1209
+ }
1210
+
1211
+ this.store = {
1212
+ containers: {},
1213
+ elements: {},
1214
+ history: [],
1215
+ sequences: {},
1216
+ };
1217
+
1218
+ this.pristine = true;
1219
+ this.delegate = delegate.bind(this);
1220
+
1221
+ Object.defineProperty(this, 'version', {
1222
+ get: function () { return version; },
1223
+ });
1224
+
1225
+ Object.defineProperty(this, 'noop', {
1226
+ get: function () { return false; },
1227
+ });
1228
+ }
1229
+
1230
+ ScrollReveal.isSupported = function () { return transformSupported() && transitionSupported(); };
1231
+
1232
+ ScrollReveal.prototype.clean = clean;
1233
+ ScrollReveal.prototype.destroy = destroy;
1234
+ ScrollReveal.prototype.reveal = reveal;
1235
+ ScrollReveal.prototype.sync = sync;
1236
+
1237
+ ///// ///// ///// /////
1238
+ ///// ///// ///// /////
1239
+ ///// ///// ///// /////
1240
+ ///// ///// ///// /////
1241
+ ///// ///// /////
1242
+ ///// ///// /////
1243
+ ///// ///// ///// /////
1244
+ ///// ///// ///// /////
1245
+ ///// /////
1246
+ ///// /////
1247
+ ///// ///// ///// /////
1248
+ ///// ///// ///// /////
1249
+ ///// ///// ///// /////
1250
+ ///// ///// ///// /////
1251
+
1252
+ /*!
1253
+ * ScrollReveal
1254
+ * ------------
1255
+ * Website : https://scrollreveal.com
1256
+ * Support : https://github.com/jlmakes/scrollreveal/issues
1257
+ * Author : https://twitter.com/jlmakes
1258
+ *
1259
+ * Licensed under the GNU General Public License 3.0 for
1260
+ * compatible open source projects and non-commercial use.
1261
+ *
1262
+ * For commercial sites, themes, projects, and applications,
1263
+ * keep your source code proprietary and please purchase a
1264
+ * commercial license from https://scrollreveal.com
1265
+ *
1266
+ * Copyright (c) 2014–2017 Julian Lloyd. All rights reserved.
1267
+ */
1268
+
1269
+ return ScrollReveal;
1270
+
1271
+ }());