UNPKG

@furman1331/page-scroller

Version:

Amazing plugin for creating smooth scroll on your website

28 lines (17 loc) 979 B
import { useLogger } from './logger' import { state } from './state/state' import { changeSectionBySpecificIndex, changeSectionByDirection, onInitialize } from './common' import type { IPageScrollerOptions, IPageScrollerReturn } from '@/types' import './index.css' const logger = useLogger() export function usePageScroller(options?: IPageScrollerOptions): IPageScrollerReturn { function initPageScroller(selector: string) { logger.info('Initializing page scroller...') if (state.isInitialized) throw new Error(logger.createMessage('Page scroller is already initialized.')) if (selector === undefined) throw new Error(logger.createMessage('Please provide a valid selector.')) state.container = document.querySelector(selector) if (!state.container) throw new Error(logger.createMessage('Container not found. Please provide a valid selector.')) onInitialize(options) } return { initPageScroller, changeSectionByDirection, changeSectionBySpecificIndex } }