Class CustomCursor<StaticProps, ChangeableProps, CallbacksTypes>

Creates a smooth custom cursor

Type Parameters

Hierarchy

  • Component<StaticProps, ChangeableProps, CallbacksTypes>
    • CustomCursor

Constructors

Properties

Animation frame

_container: Window | Element

Cursor container

_coords: ICoords

Current cursor coordinates

_hoveredElement?: IHoveredElement

Hovered element

_innerElement: HTMLElement

Inner cursor element

_isContainerWindow: boolean

The container is window

_outerElement: HTMLElement

Outer cursor element

_targetCoords: ICoords

Target cursor coordinates

Accessors

  • get isDestroyed(): boolean
  • The module is destroyed

    Returns boolean

  • get isInitialized(): boolean
  • The module is initialized

    Returns boolean

  • get props(): TRequiredModuleProp<StaticProps & ChangeableProps>
  • Current properties

    Returns TRequiredModuleProp<StaticProps & ChangeableProps>

  • get targetCoords(): {
        height: number;
        width: number;
        x: number;
        y: number;
    }
  • Target cursor coordinates

    Returns {
        height: number;
        width: number;
        x: number;
        y: number;
    }

    • height: number
    • width: number
    • x: number
    • y: number

Methods

  • Get Default properties (should be extended)

    Returns DeepRequired<StaticProps & ChangeableProps> & {
        container: Window & typeof globalThis;
        height: number;
        isEnabled: boolean;
        isFpsNormalized: boolean;
        isNativeCursorHidden: boolean;
        lerp: number;
        shouldAutoStop: boolean;
        width: number;
    }

  • Add a DOM event listener

    Type Parameters

    • El extends ListenerElement

    • Target extends keyof HTMLElementEventMap

    • Callback extends ((evt) => void)

    Parameters

    • el: El
    • target: Target
    • callback: Callback
    • Optional options: IAddEventListenerOptions

    Returns IAddEventListener

  • Set hover events on an element

    Parameters

    Returns {
        remove: (() => void);
    }

    • remove: (() => void)
        • (): void
        • Returns void