jekyll-theme-chalk 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/404.html +39 -0
- data/LICENSE +21 -0
- data/LICENSE.txt +21 -0
- data/README.md +91 -0
- data/_assets/fonts/cormorant-garamond/Cormorant-Garamond-700.eot +0 -0
- data/_assets/fonts/cormorant-garamond/Cormorant-Garamond-700.ttf +0 -0
- data/_assets/fonts/cormorant-garamond/Cormorant-Garamond-700.woff +0 -0
- data/_assets/fonts/cormorant-garamond/Cormorant-Garamond-700.woff2 +0 -0
- data/_assets/fonts/ionicons/ionicons.eot +0 -0
- data/_assets/fonts/ionicons/ionicons.ttf +0 -0
- data/_assets/fonts/ionicons/ionicons.woff +0 -0
- data/_assets/fonts/lato/Lato-300.eot +0 -0
- data/_assets/fonts/lato/Lato-300.ttf +0 -0
- data/_assets/fonts/lato/Lato-300.woff +0 -0
- data/_assets/fonts/lato/Lato-300.woff2 +0 -0
- data/_assets/fonts/lato/Lato-700.eot +0 -0
- data/_assets/fonts/lato/Lato-700.ttf +0 -0
- data/_assets/fonts/lato/Lato-700.woff +0 -0
- data/_assets/fonts/lato/Lato-700.woff2 +0 -0
- data/_assets/fonts/lato/Lato-regular.eot +0 -0
- data/_assets/fonts/lato/Lato-regular.ttf +0 -0
- data/_assets/fonts/lato/Lato-regular.woff +0 -0
- data/_assets/fonts/lato/Lato-regular.woff2 +0 -0
- data/_assets/images/about.jpg +0 -0
- data/_assets/images/about@2x.jpg +0 -0
- data/_assets/images/apple-touch-icon.png +0 -0
- data/_assets/images/documentation/chalk-intro.png +0 -0
- data/_assets/images/documentation/chalk-intro@2x.png +0 -0
- data/_assets/images/documentation/enlarge.gif +0 -0
- data/_assets/images/documentation/enlarge@2x.gif +0 -0
- data/_assets/images/documentation/sample-image.jpg +0 -0
- data/_assets/images/documentation/sample-image@2x.jpg +0 -0
- data/_assets/images/og-image.jpg +0 -0
- data/_assets/javascripts/application.js +17 -0
- data/_assets/javascripts/scrollappear.js +25 -0
- data/_assets/javascripts/vendor.js +4 -0
- data/_assets/javascripts/webfonts.js +7 -0
- data/_assets/stylesheets/.csscomb.json +196 -0
- data/_assets/stylesheets/.scss-lint.yml +33 -0
- data/_assets/stylesheets/_base.scss +151 -0
- data/_assets/stylesheets/_mixins.scss +28 -0
- data/_assets/stylesheets/_variables.scss +47 -0
- data/_assets/stylesheets/dark.scss +71 -0
- data/_assets/stylesheets/fonts.scss +63 -0
- data/_assets/stylesheets/layouts/_footer.scss +17 -0
- data/_assets/stylesheets/layouts/_grid.scss +102 -0
- data/_assets/stylesheets/light.scss +71 -0
- data/_assets/stylesheets/modules/_about.scss +10 -0
- data/_assets/stylesheets/modules/_articles.scss +213 -0
- data/_assets/stylesheets/modules/_embed.scss +31 -0
- data/_assets/stylesheets/modules/_header.scss +57 -0
- data/_assets/stylesheets/modules/_highlights-dark.scss +415 -0
- data/_assets/stylesheets/modules/_highlights-light.scss +409 -0
- data/_assets/stylesheets/modules/_icons.scss +83 -0
- data/_assets/stylesheets/modules/_scrollappear.scss +14 -0
- data/_assets/stylesheets/notfound-dark.scss +91 -0
- data/_assets/stylesheets/notfound-light.scss +91 -0
- data/_assets/stylesheets/vendor/_normalize.scss +461 -0
- data/_assets/yarn/.yarn-integrity +22 -0
- data/_assets/yarn/fluidbox/.gitattributes +22 -0
- data/_assets/yarn/fluidbox/.npmignore +220 -0
- data/_assets/yarn/fluidbox/.travis.yml +6 -0
- data/_assets/yarn/fluidbox/Gruntfile.js +8 -0
- data/_assets/yarn/fluidbox/LICENSE.md +23 -0
- data/_assets/yarn/fluidbox/README.html +750 -0
- data/_assets/yarn/fluidbox/README.md +396 -0
- data/_assets/yarn/fluidbox/bower.json +35 -0
- data/_assets/yarn/fluidbox/demo/css/styles.min.css +2 -0
- data/_assets/yarn/fluidbox/demo/css/styles.min.css.map +1 -0
- data/_assets/yarn/fluidbox/demo/fonts/BLOKKRegular.eot +0 -0
- data/_assets/yarn/fluidbox/demo/fonts/BLOKKRegular.svg +233 -0
- data/_assets/yarn/fluidbox/demo/fonts/BLOKKRegular.ttf +0 -0
- data/_assets/yarn/fluidbox/demo/fonts/BLOKKRegular.woff +0 -0
- data/_assets/yarn/fluidbox/demo/fonts/fontello.eot +0 -0
- data/_assets/yarn/fluidbox/demo/fonts/fontello.svg +13 -0
- data/_assets/yarn/fluidbox/demo/fonts/fontello.ttf +0 -0
- data/_assets/yarn/fluidbox/demo/fonts/fontello.woff +0 -0
- data/_assets/yarn/fluidbox/demo/index.html +758 -0
- data/_assets/yarn/fluidbox/demo/src/css/styles.scss +1131 -0
- data/_assets/yarn/fluidbox/dist/css/fluidbox.min.css +2 -0
- data/_assets/yarn/fluidbox/dist/css/fluidbox.min.css.map +1 -0
- data/_assets/yarn/fluidbox/dist/js/jquery.fluidbox.min.js +1 -0
- data/_assets/yarn/fluidbox/grunt/aliases.yaml +20 -0
- data/_assets/yarn/fluidbox/grunt/clean.js +5 -0
- data/_assets/yarn/fluidbox/grunt/concurrent.js +33 -0
- data/_assets/yarn/fluidbox/grunt/jshint.js +10 -0
- data/_assets/yarn/fluidbox/grunt/postcss.js +47 -0
- data/_assets/yarn/fluidbox/grunt/sass.js +42 -0
- data/_assets/yarn/fluidbox/grunt/uglify.js +7 -0
- data/_assets/yarn/fluidbox/grunt/watch.js +28 -0
- data/_assets/yarn/fluidbox/index.html +8 -0
- data/_assets/yarn/fluidbox/license.txt +21 -0
- data/_assets/yarn/fluidbox/package.json +61 -0
- data/_assets/yarn/fluidbox/src/css/_fluidbox.scss +95 -0
- data/_assets/yarn/fluidbox/src/css/fluidbox.scss +2 -0
- data/_assets/yarn/fluidbox/src/js/jquery.fluidbox.js +722 -0
- data/_assets/yarn/jquery/AUTHORS.txt +301 -0
- data/_assets/yarn/jquery/LICENSE.txt +36 -0
- data/_assets/yarn/jquery/README.md +67 -0
- data/_assets/yarn/jquery/bower.json +14 -0
- data/_assets/yarn/jquery/dist/core.js +476 -0
- data/_assets/yarn/jquery/dist/jquery.js +10253 -0
- data/_assets/yarn/jquery/dist/jquery.min.js +4 -0
- data/_assets/yarn/jquery/dist/jquery.min.map +1 -0
- data/_assets/yarn/jquery/dist/jquery.slim.js +8160 -0
- data/_assets/yarn/jquery/dist/jquery.slim.min.js +4 -0
- data/_assets/yarn/jquery/dist/jquery.slim.min.map +1 -0
- data/_assets/yarn/jquery/external/sizzle/LICENSE.txt +36 -0
- data/_assets/yarn/jquery/external/sizzle/dist/sizzle.js +2272 -0
- data/_assets/yarn/jquery/external/sizzle/dist/sizzle.min.js +3 -0
- data/_assets/yarn/jquery/external/sizzle/dist/sizzle.min.map +1 -0
- data/_assets/yarn/jquery/package.json +97 -0
- data/_assets/yarn/jquery/src/.eslintrc.json +5 -0
- data/_assets/yarn/jquery/src/ajax.js +855 -0
- data/_assets/yarn/jquery/src/ajax/jsonp.js +102 -0
- data/_assets/yarn/jquery/src/ajax/load.js +76 -0
- data/_assets/yarn/jquery/src/ajax/parseXML.js +30 -0
- data/_assets/yarn/jquery/src/ajax/script.js +77 -0
- data/_assets/yarn/jquery/src/ajax/var/location.js +5 -0
- data/_assets/yarn/jquery/src/ajax/var/nonce.js +7 -0
- data/_assets/yarn/jquery/src/ajax/var/rquery.js +5 -0
- data/_assets/yarn/jquery/src/ajax/xhr.js +169 -0
- data/_assets/yarn/jquery/src/attributes.js +13 -0
- data/_assets/yarn/jquery/src/attributes/attr.js +141 -0
- data/_assets/yarn/jquery/src/attributes/classes.js +174 -0
- data/_assets/yarn/jquery/src/attributes/prop.js +143 -0
- data/_assets/yarn/jquery/src/attributes/support.js +33 -0
- data/_assets/yarn/jquery/src/attributes/val.js +190 -0
- data/_assets/yarn/jquery/src/callbacks.js +234 -0
- data/_assets/yarn/jquery/src/core.js +476 -0
- data/_assets/yarn/jquery/src/core/DOMEval.js +16 -0
- data/_assets/yarn/jquery/src/core/access.js +70 -0
- data/_assets/yarn/jquery/src/core/init.js +128 -0
- data/_assets/yarn/jquery/src/core/nodeName.js +13 -0
- data/_assets/yarn/jquery/src/core/parseHTML.js +65 -0
- data/_assets/yarn/jquery/src/core/ready-no-deferred.js +96 -0
- data/_assets/yarn/jquery/src/core/ready.js +86 -0
- data/_assets/yarn/jquery/src/core/readyException.js +13 -0
- data/_assets/yarn/jquery/src/core/stripAndCollapse.js +14 -0
- data/_assets/yarn/jquery/src/core/support.js +20 -0
- data/_assets/yarn/jquery/src/core/var/rsingleTag.js +6 -0
- data/_assets/yarn/jquery/src/css.js +438 -0
- data/_assets/yarn/jquery/src/css/addGetHookIf.js +26 -0
- data/_assets/yarn/jquery/src/css/adjustCSS.js +71 -0
- data/_assets/yarn/jquery/src/css/curCSS.js +65 -0
- data/_assets/yarn/jquery/src/css/hiddenVisibleSelectors.js +15 -0
- data/_assets/yarn/jquery/src/css/showHide.js +105 -0
- data/_assets/yarn/jquery/src/css/support.js +89 -0
- data/_assets/yarn/jquery/src/css/var/cssExpand.js +5 -0
- data/_assets/yarn/jquery/src/css/var/getStyles.js +17 -0
- data/_assets/yarn/jquery/src/css/var/isHiddenWithinTree.js +34 -0
- data/_assets/yarn/jquery/src/css/var/rmargin.js +5 -0
- data/_assets/yarn/jquery/src/css/var/rnumnonpx.js +7 -0
- data/_assets/yarn/jquery/src/css/var/swap.js +26 -0
- data/_assets/yarn/jquery/src/data.js +179 -0
- data/_assets/yarn/jquery/src/data/Data.js +161 -0
- data/_assets/yarn/jquery/src/data/var/acceptData.js +19 -0
- data/_assets/yarn/jquery/src/data/var/dataPriv.js +7 -0
- data/_assets/yarn/jquery/src/data/var/dataUser.js +7 -0
- data/_assets/yarn/jquery/src/deferred.js +391 -0
- data/_assets/yarn/jquery/src/deferred/exceptionHook.js +21 -0
- data/_assets/yarn/jquery/src/deprecated.js +40 -0
- data/_assets/yarn/jquery/src/dimensions.js +56 -0
- data/_assets/yarn/jquery/src/effects.js +699 -0
- data/_assets/yarn/jquery/src/effects/Tween.js +123 -0
- data/_assets/yarn/jquery/src/effects/animatedSelector.js +15 -0
- data/_assets/yarn/jquery/src/event.js +746 -0
- data/_assets/yarn/jquery/src/event/ajax.js +22 -0
- data/_assets/yarn/jquery/src/event/alias.js +29 -0
- data/_assets/yarn/jquery/src/event/focusin.js +55 -0
- data/_assets/yarn/jquery/src/event/support.js +11 -0
- data/_assets/yarn/jquery/src/event/trigger.js +185 -0
- data/_assets/yarn/jquery/src/exports/amd.js +26 -0
- data/_assets/yarn/jquery/src/exports/global.js +34 -0
- data/_assets/yarn/jquery/src/jquery.js +41 -0
- data/_assets/yarn/jquery/src/manipulation.js +488 -0
- data/_assets/yarn/jquery/src/manipulation/_evalUrl.js +23 -0
- data/_assets/yarn/jquery/src/manipulation/buildFragment.js +104 -0
- data/_assets/yarn/jquery/src/manipulation/getAll.js +32 -0
- data/_assets/yarn/jquery/src/manipulation/setGlobalEval.js +22 -0
- data/_assets/yarn/jquery/src/manipulation/support.js +35 -0
- data/_assets/yarn/jquery/src/manipulation/var/rcheckableType.js +5 -0
- data/_assets/yarn/jquery/src/manipulation/var/rscriptType.js +5 -0
- data/_assets/yarn/jquery/src/manipulation/var/rtagName.js +5 -0
- data/_assets/yarn/jquery/src/manipulation/wrapMap.js +29 -0
- data/_assets/yarn/jquery/src/offset.js +229 -0
- data/_assets/yarn/jquery/src/queue.js +145 -0
- data/_assets/yarn/jquery/src/queue/delay.js +24 -0
- data/_assets/yarn/jquery/src/selector-native.js +237 -0
- data/_assets/yarn/jquery/src/selector-sizzle.js +19 -0
- data/_assets/yarn/jquery/src/selector.js +3 -0
- data/_assets/yarn/jquery/src/serialize.js +130 -0
- data/_assets/yarn/jquery/src/traversing.js +191 -0
- data/_assets/yarn/jquery/src/traversing/findFilter.js +106 -0
- data/_assets/yarn/jquery/src/traversing/var/dir.js +22 -0
- data/_assets/yarn/jquery/src/traversing/var/rneedsContext.js +8 -0
- data/_assets/yarn/jquery/src/traversing/var/siblings.js +17 -0
- data/_assets/yarn/jquery/src/var/ObjectFunctionString.js +7 -0
- data/_assets/yarn/jquery/src/var/arr.js +5 -0
- data/_assets/yarn/jquery/src/var/class2type.js +6 -0
- data/_assets/yarn/jquery/src/var/concat.js +7 -0
- data/_assets/yarn/jquery/src/var/document.js +5 -0
- data/_assets/yarn/jquery/src/var/documentElement.js +7 -0
- data/_assets/yarn/jquery/src/var/fnToString.js +7 -0
- data/_assets/yarn/jquery/src/var/getProto.js +5 -0
- data/_assets/yarn/jquery/src/var/hasOwn.js +7 -0
- data/_assets/yarn/jquery/src/var/indexOf.js +7 -0
- data/_assets/yarn/jquery/src/var/pnum.js +5 -0
- data/_assets/yarn/jquery/src/var/push.js +7 -0
- data/_assets/yarn/jquery/src/var/rcssNum.js +9 -0
- data/_assets/yarn/jquery/src/var/rnothtmlwhite.js +8 -0
- data/_assets/yarn/jquery/src/var/slice.js +7 -0
- data/_assets/yarn/jquery/src/var/support.js +6 -0
- data/_assets/yarn/jquery/src/var/toString.js +7 -0
- data/_assets/yarn/jquery/src/wrap.js +77 -0
- data/_assets/yarn/retinajs/.babelrc +4 -0
- data/_assets/yarn/retinajs/.editorconfig +15 -0
- data/_assets/yarn/retinajs/.eslintignore +2 -0
- data/_assets/yarn/retinajs/.eslintrc +9 -0
- data/_assets/yarn/retinajs/.npmignore +7 -0
- data/_assets/yarn/retinajs/.travis.yml +20 -0
- data/_assets/yarn/retinajs/LICENSE +20 -0
- data/_assets/yarn/retinajs/README.md +267 -0
- data/_assets/yarn/retinajs/bower.json +25 -0
- data/_assets/yarn/retinajs/dist/_retina.sass +68 -0
- data/_assets/yarn/retinajs/dist/_retina.scss +102 -0
- data/_assets/yarn/retinajs/dist/retina.js +100 -0
- data/_assets/yarn/retinajs/dist/retina.js.map +1 -0
- data/_assets/yarn/retinajs/dist/retina.less +56 -0
- data/_assets/yarn/retinajs/dist/retina.min.js +2 -0
- data/_assets/yarn/retinajs/dist/retina.min.js.map +1 -0
- data/_assets/yarn/retinajs/dist/retina.styl +56 -0
- data/_assets/yarn/retinajs/es/_retina.sass +68 -0
- data/_assets/yarn/retinajs/es/_retina.scss +102 -0
- data/_assets/yarn/retinajs/es/retina.js +91 -0
- data/_assets/yarn/retinajs/es/retina.js.map +1 -0
- data/_assets/yarn/retinajs/es/retina.less +56 -0
- data/_assets/yarn/retinajs/es/retina.styl +56 -0
- data/_assets/yarn/retinajs/gulpfile.babel.js +154 -0
- data/_assets/yarn/retinajs/package.json +57 -0
- data/_assets/yarn/retinajs/src/_retina.sass +68 -0
- data/_assets/yarn/retinajs/src/_retina.scss +102 -0
- data/_assets/yarn/retinajs/src/retina.js +246 -0
- data/_assets/yarn/retinajs/src/retina.less +56 -0
- data/_assets/yarn/retinajs/src/retina.styl +56 -0
- data/_assets/yarn/retinajs/test/DOM.js +44 -0
- data/_assets/yarn/retinajs/test/fixtures/image.js +19 -0
- data/_assets/yarn/retinajs/test/fixtures/less_expected_output.css +18 -0
- data/_assets/yarn/retinajs/test/fixtures/scss_expected_output.css +13 -0
- data/_assets/yarn/retinajs/test/fixtures/test.less +10 -0
- data/_assets/yarn/retinajs/test/fixtures/test.scss +11 -0
- data/_assets/yarn/retinajs/test/fixtures/xml_http_request.js +24 -0
- data/_assets/yarn/retinajs/test/functional/public/google-logo.png +0 -0
- data/_assets/yarn/retinajs/test/functional/public/google-logo@2x.png +0 -0
- data/_assets/yarn/retinajs/test/functional/public/google-logo@3x.png +0 -0
- data/_assets/yarn/retinajs/test/functional/public/index.html +190 -0
- data/_assets/yarn/retinajs/test/functional/public/ipad.png +0 -0
- data/_assets/yarn/retinajs/test/functional/public/ipad@2x.png +0 -0
- data/_assets/yarn/retinajs/test/functional/public/ipad@3x.png +0 -0
- data/_assets/yarn/retinajs/test/functional/public/styles/_retina.sass +68 -0
- data/_assets/yarn/retinajs/test/functional/public/styles/_retina.scss +102 -0
- data/_assets/yarn/retinajs/test/functional/public/styles/less-base.less +13 -0
- data/_assets/yarn/retinajs/test/functional/public/styles/retina.less +56 -0
- data/_assets/yarn/retinajs/test/functional/public/styles/retina.less.css +73 -0
- data/_assets/yarn/retinajs/test/functional/public/styles/retina.sass.css +42 -0
- data/_assets/yarn/retinajs/test/functional/public/styles/retina.scss.css +96 -0
- data/_assets/yarn/retinajs/test/functional/public/styles/retina.styl +56 -0
- data/_assets/yarn/retinajs/test/functional/public/styles/retina.styl.css +61 -0
- data/_assets/yarn/retinajs/test/functional/public/styles/sass-base.sass +10 -0
- data/_assets/yarn/retinajs/test/functional/public/styles/scss-base.scss +13 -0
- data/_assets/yarn/retinajs/test/functional/public/styles/styl-base.styl +10 -0
- data/_assets/yarn/retinajs/test/mocha-runner.js +7 -0
- data/_assets/yarn/retinajs/test/retina.spec.js +14 -0
- data/_assets/yarn/scrollreveal/.gitattributes +10 -0
- data/_assets/yarn/scrollreveal/.github/CONTRIBUTING.md +9 -0
- data/_assets/yarn/scrollreveal/.github/ISSUE_TEMPLATE.md +11 -0
- data/_assets/yarn/scrollreveal/.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov-report/base.css +213 -0
- data/_assets/yarn/scrollreveal/.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov-report/index.html +158 -0
- data/_assets/yarn/scrollreveal/.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov-report/lib/index.html +93 -0
- data/_assets/yarn/scrollreveal/.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov-report/lib/package.json.html +143 -0
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- data/_assets/yarn/scrollreveal/.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov-report/prettify.css +1 -0
- data/_assets/yarn/scrollreveal/.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov-report/prettify.js +1 -0
- data/_assets/yarn/scrollreveal/.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov-report/sort-arrow-sprite.png +0 -0
- data/_assets/yarn/scrollreveal/.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov-report/sorter.js +158 -0
- data/_assets/yarn/scrollreveal/.ignore/coverage/PhantomJS 2.1.1 (Mac OS X 0.0.0)/lcov.info +1016 -0
- data/_assets/yarn/scrollreveal/.ignore/coverage/server.coverage.js +11 -0
- data/_assets/yarn/scrollreveal/.ignore/sandbox/css/styles.css +32 -0
- data/_assets/yarn/scrollreveal/.ignore/sandbox/index.html +68 -0
- data/_assets/yarn/scrollreveal/.ignore/sandbox/js/scrollreveal.js +1271 -0
- data/_assets/yarn/scrollreveal/.ignore/sandbox/rollup.conf.sandbox.js +15 -0
- data/_assets/yarn/scrollreveal/.ignore/sandbox/server.sandbox.js +11 -0
- data/_assets/yarn/scrollreveal/.npmignore +8 -0
- data/_assets/yarn/scrollreveal/CHANGELOG.md +268 -0
- data/_assets/yarn/scrollreveal/LICENSE.md +12 -0
- data/_assets/yarn/scrollreveal/README.md +413 -0
- data/_assets/yarn/scrollreveal/bower.json +24 -0
- data/_assets/yarn/scrollreveal/dist/scrollreveal.js +860 -0
- data/_assets/yarn/scrollreveal/dist/scrollreveal.min.js +1 -0
- data/_assets/yarn/scrollreveal/gulpfile.js +33 -0
- data/_assets/yarn/scrollreveal/lib/gulp/gulp-clean.js +7 -0
- data/_assets/yarn/scrollreveal/lib/gulp/gulp-dev.js +6 -0
- data/_assets/yarn/scrollreveal/lib/gulp/gulp-dist-min.js +19 -0
- data/_assets/yarn/scrollreveal/lib/gulp/gulp-dist.js +6 -0
- data/_assets/yarn/scrollreveal/lib/gulp/gulp-server.js +9 -0
- data/_assets/yarn/scrollreveal/lib/gulp/gulp-validate-bower.js +13 -0
- data/_assets/yarn/scrollreveal/lib/gulp/gulp-watch.js +6 -0
- data/_assets/yarn/scrollreveal/src/scrollreveal.js +860 -0
- data/_assets/yarn/throttle-debounce-fn/.jscsrc +5 -0
- data/_assets/yarn/throttle-debounce-fn/.jshintrc +13 -0
- data/_assets/yarn/throttle-debounce-fn/.npmignore +1 -0
- data/_assets/yarn/throttle-debounce-fn/Gruntfile.js +76 -0
- data/_assets/yarn/throttle-debounce-fn/LICENSE.md +22 -0
- data/_assets/yarn/throttle-debounce-fn/README.md +55 -0
- data/_assets/yarn/throttle-debounce-fn/dist/throttle-debounce-fn.js +164 -0
- data/_assets/yarn/throttle-debounce-fn/dist/throttle-debounce-fn.min.js +10 -0
- data/_assets/yarn/throttle-debounce-fn/package.json +36 -0
- data/_assets/yarn/throttle-debounce-fn/src/throttle-debounce-fn.js +156 -0
- data/_assets/yarn/turbolinks/LICENSE +20 -0
- data/_assets/yarn/turbolinks/README.md +473 -0
- data/_assets/yarn/turbolinks/dist/turbolinks.js +6 -0
- data/_assets/yarn/turbolinks/src/turbolinks/BANNER.js.erb +4 -0
- data/_assets/yarn/turbolinks/src/turbolinks/VERSION +1 -0
- data/_assets/yarn/turbolinks/src/turbolinks/browser_adapter.coffee +61 -0
- data/_assets/yarn/turbolinks/src/turbolinks/compatibility.coffee +30 -0
- data/_assets/yarn/turbolinks/src/turbolinks/controller.coffee +239 -0
- data/_assets/yarn/turbolinks/src/turbolinks/error_renderer.coffee +21 -0
- data/_assets/yarn/turbolinks/src/turbolinks/head_details.coffee +51 -0
- data/_assets/yarn/turbolinks/src/turbolinks/helpers.coffee +57 -0
- data/_assets/yarn/turbolinks/src/turbolinks/history.coffee +48 -0
- data/_assets/yarn/turbolinks/src/turbolinks/http_request.coffee +88 -0
- data/_assets/yarn/turbolinks/src/turbolinks/index.coffee +18 -0
- data/_assets/yarn/turbolinks/src/turbolinks/location.coffee +70 -0
- data/_assets/yarn/turbolinks/src/turbolinks/progress_bar.coffee +83 -0
- data/_assets/yarn/turbolinks/src/turbolinks/renderer.coffee +27 -0
- data/_assets/yarn/turbolinks/src/turbolinks/scroll_manager.coffee +28 -0
- data/_assets/yarn/turbolinks/src/turbolinks/snapshot.coffee +47 -0
- data/_assets/yarn/turbolinks/src/turbolinks/snapshot_cache.coffee +43 -0
- data/_assets/yarn/turbolinks/src/turbolinks/snapshot_renderer.coffee +88 -0
- data/_assets/yarn/turbolinks/src/turbolinks/start.coffee +18 -0
- data/_assets/yarn/turbolinks/src/turbolinks/view.coffee +34 -0
- data/_assets/yarn/turbolinks/src/turbolinks/visit.coffee +162 -0
- data/_assets/yarn/webfontloader/CHANGELOG +419 -0
- data/_assets/yarn/webfontloader/LICENSE +176 -0
- data/_assets/yarn/webfontloader/README.md +394 -0
- data/_assets/yarn/webfontloader/package.json +37 -0
- data/_assets/yarn/webfontloader/src/closure.js +2 -0
- data/_assets/yarn/webfontloader/src/core/cssclassname.js +46 -0
- data/_assets/yarn/webfontloader/src/core/domhelper.js +405 -0
- data/_assets/yarn/webfontloader/src/core/eventdispatcher.js +195 -0
- data/_assets/yarn/webfontloader/src/core/font.js +140 -0
- data/_assets/yarn/webfontloader/src/core/fontmodule.js +16 -0
- data/_assets/yarn/webfontloader/src/core/fontmoduleloader.js +47 -0
- data/_assets/yarn/webfontloader/src/core/fontruler.js +60 -0
- data/_assets/yarn/webfontloader/src/core/fontwatcher.js +171 -0
- data/_assets/yarn/webfontloader/src/core/fontwatchrunner.js +249 -0
- data/_assets/yarn/webfontloader/src/core/initialize.js +97 -0
- data/_assets/yarn/webfontloader/src/core/nativefontwatchrunner.js +69 -0
- data/_assets/yarn/webfontloader/src/core/stylesheetwaiter.js +48 -0
- data/_assets/yarn/webfontloader/src/core/webfont.js +97 -0
- data/_assets/yarn/webfontloader/src/modules/custom.js +63 -0
- data/_assets/yarn/webfontloader/src/modules/fontdeck.js +66 -0
- data/_assets/yarn/webfontloader/src/modules/google/fontapiparser.js +181 -0
- data/_assets/yarn/webfontloader/src/modules/google/fontapiurlbuilder.js +77 -0
- data/_assets/yarn/webfontloader/src/modules/google/googlefontapi.js +54 -0
- data/_assets/yarn/webfontloader/src/modules/monotype.js +110 -0
- data/_assets/yarn/webfontloader/src/modules/typekit.js +73 -0
- data/_assets/yarn/webfontloader/webfontloader.js +17 -0
- data/_includes/footer.html +7 -0
- data/_includes/head.html +41 -0
- data/_includes/image.html +5 -0
- data/_includes/javascript.html +1 -0
- data/_includes/javascripts.html +19 -0
- data/_includes/navigation.html +75 -0
- data/_includes/stylesheet.html +1 -0
- data/_layouts/articles_by_tag.html +38 -0
- data/_layouts/default.html +16 -0
- data/_layouts/post.html +65 -0
- data/about.html +18 -0
- data/favicon.ico +0 -0
- data/feed.xml +20 -0
- data/index.html +49 -0
- data/robots.txt +5 -0
- metadata +596 -0
|
@@ -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
|
+
}());
|