New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

tatva-scroll

Package Overview
Dependencies
Maintainers
0
Versions
11
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

tatva-scroll

TatvaScroll is a lightweight, customizable smooth scrolling library that enhances the native scrolling experience across web applications. Designed to integrate seamlessly without affecting any existing layouts, styles, or JavaScript logic, TatvaScroll en

latest
npmnpm
Version
1.12.0
Version published
Maintainers
0
Created
Source

TatvaScroll

TatvaScroll is a lightweight, customizable smooth scrolling library that enhances the native scrolling experience across web applications. Designed to integrate seamlessly without affecting any existing layouts, styles, or JavaScript logic, TatvaScroll ensures a smooth scrolling experience while maintaining compatibility with custom elements, sticky headers, and scroll-triggered events.

Features

  • Smooth scrolling for wheel and touch events
  • Highly customizable parameters for fine-tuning
  • Lightweight and zero-dependency
  • Framework compatibility with React, Vue, and Vanilla JavaScript
  • Non-intrusive design that preserves fixed and sticky elements and allows scroll-based logic
  • Supports both horizontal and vertical scrolling

Installation

npm Installation

npm install tatva-scroll

bun Installation

bun add tatva-scroll

yarn Installation

yarn add tatva-scroll

CDN Usage

<script type="module">
import TatvaScroll from "https://unpkg.com/tatva-scroll/dist/tatvaScroll.mjs";
</script>

Usage

Vanilla JavaScript

// Basic initialization
import TatvaScroll from 'tatva-scroll';

const tatvaScroll = new TatvaScroll({
  lerp: 0.1, // Smoothness of scroll (0-1)
  multiplier: 1, // Scroll speed multiplier
  smoothWheel: true, // Enable smooth wheel scrolling
  smoothTouch: true, // Enable smooth touch scrolling
});

// Optional: Destroy instance if needed
tatvaScroll.destroy();

React

import React, { useEffect } from 'react';
import TatvaScroll from 'tatva-scroll';

function App() {
  useEffect(() => {
    const tatvaScroll = new TatvaScroll({
      lerp: 0.1,
      multiplier: 1,
      smoothWheel: true,
      smoothTouch: true,
    });

    // Optional: Clean up on component unmount
    return () => {
      tatvaScroll.destroy();
    };
  }, []);

  return (
    <div id="scroll-container">
      {/* Your scrollable content */}
      <div style={{ height: '200vh' }}>Scroll through this content</div>
    </div>
  );
}

export default App;

Vue

<template>
  <div id="scroll-container">
    <!-- Your scrollable content -->
    <div style="height: 200vh">Scroll through this content</div>
  </div>
</template>

<script>
import { onMounted, onUnmounted } from 'vue';
import TatvaScroll from 'tatva-scroll';

export default {
  setup() {
    let tatvaScroll;

    onMounted(() => {
      tatvaScroll = new TatvaScroll({
        lerp: 0.1,
        multiplier: 1,
        smoothWheel: true,
        smoothTouch: true,
      });
    });

    onUnmounted(() => {
      tatvaScroll.destroy();
    });
  },
};
</script>

HTML Direct Integration

<!DOCTYPE html>
<html>
<head>
  <title>TatvaScroll Example</title>
  <style>
    #scroll-container {
      height: 200vh;
    }
  </style>
</head>
<body>
  <div id="scroll-container">
    <!-- Your scrollable content -->
    Scroll through this content
  </div>

  <script type="module">
    import TatvaScroll from "https://unpkg.com/tatva-scroll/dist/tatvaScroll.mjs";

    const tatvaScroll = new TatvaScroll({
      lerp: 0.1,
      multiplier: 1,
      smoothWheel: true,
      smoothTouch: true,
    });
  </script>
</body>
</html>

Configuration Options

OptionTypeDefaultDescription
lerpNumber0.1Smoothness of scroll (0-1). Lower values result in smoother scrolling.
multiplierNumber1Scroll speed multiplier. Less than 1 slows down scrolling.
smoothWheelBooleantrueEnable smooth mouse wheel scrolling.
smoothTouchBooleantrueEnable smooth touch/trackpad scrolling.
scrollbarWidthString'10px'Width of the custom scrollbar.
scrollbarColorString'rgba(0, 0, 0, 0.5)'Color of the custom scrollbar.

Methods

  • destroy(): Removes all event listeners and resets scroll behavior.
  • scrollTo(target, options): Scroll to a specific position or element.
    • target: Accepts a selector, an HTMLElement, or a number.
    • options: Configuration for the scroll behavior (e.g., duration).

Example: Scroll to a Specific Element

const tatvaScroll = new TatvaScroll();

// Scroll to an element with an ID
tatvaScroll.scrollTo('#target-element');

// Scroll to a specific Y position
tatvaScroll.scrollTo(500);

Created By

TatvaTech - Smooth Scrolling Simplified

Keywords

smooth scrolling

FAQs

Package last updated on 19 Dec 2024

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