Scroll Island
A dynamic and interactive component that displays scroll progress with animated visuals and an expandable area for additional content.
Note: This component uses NumberFlow & requires @number-flow/vue
npm package as a dependency.
Please install NumberFlow using following commands.
API
Prop Name | Type | Default | Description |
---|---|---|---|
class | string | "" | Additional CSS classes for custom styling. |
title | string | "Progress" | Title displayed in the header of the component. |
Component Code
You can copy and paste the following code to create this component:
Features
- Scroll Progress Tracking: Dynamically displays the scroll progress of the page as a percentage.
- Expandable Layout: Transforms between a circular and a rectangular layout based on user interaction.
- Animated Circular Progress Bar: Displays a visually appealing progress bar with smooth transitions.
- Dynamic Content Slot: Supports additional content in the expandable section.
- Dark Mode Support: Adapts to the dark or light mode of the user's system preferences.
Credits
- Inspired by the work of Ali Samadi & Nitish Khagwal
- NumberFlow by Maxwell Barvian for number formatting and animations.