npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

react-sb3

v2.0.0

Published

React Customizable and auto hidable Scrollbars Component based on malte-wessel work

Downloads

6

Readme

React SB3

Usage:

Install Using:

// With NPM
npm add react-sb3

// With Yarn
yarn add react-sb3

Component PropTypes

Styling Properties

| Property | Description | Kind | Default | | --- | --- | --- | --- | | autoHide | Enables the autoHiding function for the scrollbars | bool | False | | showX | Enables the Horizontal scrollbar | bool | true | | showY | Enables the Vertical scrollbar | bool | true | | flashTime | Indicates the time ( in microseconds ) the scrollbars will be visible after a scroll movement, before auto hiding. Needs autohide enabled | number | 500 | | InitialFlashTime | The time ( in microseconds ) the scrollbars will be visible after mount, to indicate the existence of scrollbars | number | 0 | | initialFlashDelay | Indicates the time ( in microseconds ) before the autoFlash starts | number | 0 | | thumbMinSize | The minimum size ( in pixels ) of both thumbs | number | 30 | | elementClasses | The css classes to be passed to internal elements See element Classes for details | object | {} |

Events

| EventName | Description | | --- | --- | | onScrollStart | When scrolling process starts | | onScrollEnd | When scrolling process ends | | onScroll | When scrolling | | onScrollFrame | When scrolling inside animation frame process | | onTopReached | When top position is reached, won't trigger initially | | onLeftReached | When left position is reached, won't trigger initially | | onBottomReached | When bottom position is reached | | onRightReached | When right position is reached |

References

| PropName | Element | | --- | --- | | refRoot | Returns the root element | | refView | Returns the root element | | refXBar | Returns the horizontal bar element | | refYBar | Returns the vertical bar element | | refXThumb | Returns the horizontal thumb element | | refYThumb | Returns the vertical thumb element | | refAll | Returns an object with all the elements; |

Using the references:

    
    import React from 'react';
    import Scrollbars3 from 'react-sb3';
    
    class component extends React.Component
        
        constructor(props){
            super(props);
            this.scrollbarRoot = null;
        }
        
        render(){
            return (
                <Scrollbars3 refRoot={ el => { this.scrollbarRoot = el }}>
                    {/* All content here */}
                </Scrollbars3>
            );
        }
        
    };
    
    export default component;
    

Internal Elements of the Component

Root

Its the component wrapper.

View

Its the scrolling view

xBar

Its the horizontal scrollbar

yBar

Its the vertical scrollbar

xThumb

Its the horizontal thumb

yThumb

Its the vertical thumb

Styling Internal Elements

Example: 2 Files, 1 Component, 1 Less Style Sheet

componentFile.jsx

    import React from 'react';
    import Scrollbars3 from 'react-sb3';
    import './someFile.less';
    
    const component = ( ) => {
        
        const elementClasses = {
            root  : "myRootClass",
            view  : "myViewClass",
            xBar  : "myXBarClass",
            yBar  : "myYBarClass",
            xThumb: "myXThumbClass",
            xThumb: "myYThumbClass",
        }
        
        return (
            <Scrollbars3 elementClasses={elementClasses}>
                {/* All content here */}
            </Scrollbars3>
        );
        
    };
    
    export default component;
    

someFile.less

    
    .myRootClass{
        border: 1px solid red;
    }
    
    .myViewClass{
        border: 1px solid red;
    }
    
    .myXBarClass{
        //red horizontal bar
        backgroundColor: red;
        
        &.autoShowing:{
            opacity: 1
        },
        &.autoHiding:{
            opacity:0
        }
    }
    
    .myYBarClass{
        //blue horizontal bar
        backgroundColor: blue;
        
        &.autoShowing:{
            opacity: 1
        },
        &.autoHiding:{
            opacity:0
        }
    }
    
    .myXThumbClass{
        //green x thumb
        backgroundColor: green;
    }
    
    .myYThumbClass{
        //purple x thumb
        backgroundColor: purple;
    }