šŸš€ Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more →
Socket
Sign inDemoInstall
Socket

stimulus-scroll-to

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

stimulus-scroll-to

A Stimulus controller to scroll to elements.

1.0.0
npm
Version published
Weekly downloads
0
Maintainers
1
Weekly downloads
Ā 
Created
Source

Stimulus ScrollTo

Netlify Status

Getting started

A Stimulus controller to scroll to elements.

Installation

$ yarn add stimulus-scroll-to

And use it in your JS file:

import { Application } from "stimulus"
import ScrollTo from "stimulus-scroll-to"

const application = Application.start()
application.register("scroll-to", ScrollTo)

Usage

<a href="#awesome-stuff-here" data-controller="scroll-to">Scroll to #awesome-stuff-here</a>

<h2 id="awesome-stuff-here">Awesome stuff here</h2>

With options:

<a
  href="#awesome-stuff-here"
  data-controller="scroll-to"
  data-scroll-to-offset="150"
  data-scroll-to-behavior="auto"
>Scroll to #awesome-stuff-here</a>

<h2 id="awesome-stuff-here">Awesome stuff here</h2>

Configuration

AttributeDefaultDescriptionOptional
data-scroll-to-offset10Offset in pixels from top of the element.āœ…
data-scroll-to-behaviorsmoothThe scroll behavior. auto or smooth.āœ…

Extending Controller

You can use inheritance to extend the functionality of any Stimulus component.

import ScrollTo from "stimulus-scroll-to"

export default class extends ScrollTo {
  connect() {
    super.connect()
    console.log("Do what you want here.")
  }

  // You can set default options in this getter for all your anchors.
  get defaultOptions () {
    return {
      offset: 100,
      behavior: 'auto'
    }
  }
}

This controller will automatically have access to targets defined in the parent class.

If you override the connect, disconnect or any other methods from the parent, you'll want to call super.method() to make sure the parent functionality is executed.

Development

Linter

Prettier and ESLint are responsible to lint and format this component:

$ yarn lint
$ yarn format

Contributing

Do not hesitate to contribute to the project by adapting or adding features ! Bug reports or pull requests are welcome.

Credits

This controller is inspired excid3/tailwindcss-stimulus-components.

License

This project is released under the MIT license.

Keywords

stimulus

FAQs

Package last updated on 24 Nov 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts