Class CustomScroll<StaticProps, ChangeableProps, CallbacksTypes>

Custom smooth scrolling component that replaces native scrolling behavior. It provides smooth interpolation, custom scroll events, and integration with other elements.

Requires

Requires styles: @import '~vevet/lib/styles/components/CustomScroll';

Link

See examples https://antonbobrov.github.io/vevet-demo/custom-scroll/

Link

See docs https://antonbobrov.github.io/vevet/classes/CustomScroll.html

Type Parameters

Hierarchy

  • Component<StaticProps, ChangeableProps, CallbacksTypes>
    • CustomScroll

Implements

Constructors

Accessors

  • get isDestroyed(): boolean
  • Checks if the module has been destroyed.

    Returns boolean

  • get isInitialized(): boolean
  • Checks if the module has been initialized.

    Returns boolean

  • get name(): string
  • The name of the module, derived from the class name

    Returns string

  • get props(): TRequiredModuleProp<StaticProps & ChangeableProps>
  • The current properties of the module, which include both static and changeable properties. These can be retrieved dynamically during the module's lifecycle.

    Returns TRequiredModuleProp<StaticProps & ChangeableProps>

  • get wrapper(): HTMLElement
  • Scroll wrapper. If the element does not exist indide the container, it will be created automatically

    Returns HTMLElement

Methods

  • Adds a custom callback to the module.

    Type Parameters

    • T extends string | number | symbol

    Parameters

    • target: T

      The event type to listen for (e.g., 'propsChange', 'destroy').

    • action: TAction<CallbacksTypes[T]>

      The function to execute when the event is triggered.

    • settings: ISettings = {}

      Additional settings for the callback.

    Returns IAddedCallback

  • Adds a DOM event listener that will be automatically removed when the module is destroyed.

    Type Parameters

    • Target extends keyof HTMLElementEventMap

    • Listener extends ((event) => void)

    Parameters

    • element: Document | Element | Window

      The target element for the event listener.

    • target: Target

      The event type to listen for (e.g., 'click', 'resize').

    • callback: Listener

      The callback function to execute when the event is triggered.

    • Optional options: boolean | AddEventListenerOptions

      Additional options for the event listener.

    Returns (() => void)

      • (): void
      • Returns void

  • Adds a plugin to the component. The plugin is initialized upon being added, and the plugin's component property is set to the current component instance.

    Type Parameters

    • T extends Plugin<any, any, any, any>

    Parameters

    • plugin: T

      An instance of the Plugin class to be added.

    Returns void

  • Adds a viewport callback that will be automatically removed when the module is destroyed.

    Parameters

    • target: keyof IViewportCallbackTypes

      The viewport target (e.g., width or height).

    • action: (() => void)

      The callback function to execute when the viewport target changes.

        • (): void
        • Returns void

    • data: undefined | ISettings = {}

      Additional data for the callback.

    Returns void