smoothscroll-polyfill

WebJar for smoothscroll-polyfill

License

License

MIT
GroupId

GroupId

org.webjars.npm
ArtifactId

ArtifactId

smoothscroll-polyfill
Last Version

Last Version

0.4.4
Release Date

Release Date

Type

Type

jar
Description

Description

smoothscroll-polyfill
WebJar for smoothscroll-polyfill
Project URL

Project URL

http://webjars.org
Source Code Management

Source Code Management

https://github.com/iamdustan/smoothscroll

Download smoothscroll-polyfill

How to add to project

<!-- https://jarcasting.com/artifacts/org.webjars.npm/smoothscroll-polyfill/ -->
<dependency>
    <groupId>org.webjars.npm</groupId>
    <artifactId>smoothscroll-polyfill</artifactId>
    <version>0.4.4</version>
</dependency>
// https://jarcasting.com/artifacts/org.webjars.npm/smoothscroll-polyfill/
implementation 'org.webjars.npm:smoothscroll-polyfill:0.4.4'
// https://jarcasting.com/artifacts/org.webjars.npm/smoothscroll-polyfill/
implementation ("org.webjars.npm:smoothscroll-polyfill:0.4.4")
'org.webjars.npm:smoothscroll-polyfill:jar:0.4.4'
<dependency org="org.webjars.npm" name="smoothscroll-polyfill" rev="0.4.4">
  <artifact name="smoothscroll-polyfill" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.webjars.npm', module='smoothscroll-polyfill', version='0.4.4')
)
libraryDependencies += "org.webjars.npm" % "smoothscroll-polyfill" % "0.4.4"
[org.webjars.npm/smoothscroll-polyfill "0.4.4"]

Dependencies

There are no dependencies for this project. It is a standalone project that does not depend on any other jars.

Project Modules

There are no modules declared in this project.

Smooth Scroll behavior polyfill

The Scroll Behavior specification has been introduced as an extension of the Window interface to allow for the developer to opt in to native smooth scrolling. To date this has only been implemented in Chrome, Firefox and Opera.

Check out all the methods covered here: https://iamdustan.github.io/smoothscroll

Installation and use

Download the production ready file here and include it in your project, or install it as a package.

# npm
npm install smoothscroll-polyfill --save

# yarn
yarn add smoothscroll-polyfill

When including the polyfill in a script tag, it will run immediately after loaded.

If you are importing it as a dependency, make sure to call the polyfill method:

import smoothscroll from 'smoothscroll-polyfill';

// kick off the polyfill!
smoothscroll.polyfill();

In both cases, the script will detect if the spec is natively supported and take action only when necessary.

The code requires requestAnimationFrame polyfill for browsers which don't support it.

Force polyfill implementation

If you prefer to always override the native scrolling methods, place this global variable before requiring the module or including the polyfill file.

window.__forceSmoothScrollPolyfill__ = true;

We strongly recommend not to do this unless your project strongly needs it.

Contribute

The requirements to contribute are yarn and the latest LTS Node.js version.

First, fork the repository and do yarn install in the root folder to get all the dependencies to work with. Create a feature branch, write your stuff and run yarn test to check code style and prevent bugs.

In this project we use Prettier to format the final published code, you can run yarn format before committing. If you don't, a precommit hook will prevent you from pushing code that hasn't been formatted properly.

Are you done? Awesome, submit a pull request explaining your changes.

This is a polyfill, not library, so make sure the behavior you are introducing is in the spec.

On tests files we are using ES2015, but the polyfill is written in ES5 for browser compatibility.

Watch tests

If you want to watch tests as you write your code run yarn test --watch.

Browser Support

Successfully working in:

  • natively supported in Chrome
  • natively supported in Firefox
  • Safari 6+
  • Internet Explorer 9+
  • Microsoft Edge 12+
  • Opera Next

Standards documentation

Versions

Version
0.4.4