In this challenge, you will build a versatile pagination component as part of a design system. These components will be essential for navigating pages across various projects and apps found within the platform.
- Current page: Current page
- Number of pages: The total number of pages
- Icon-only: Whether to show icon only for the prev/next buttons
- Design fidelity: Aim to follow the design as closely as possible. All elements in the design should be present, using the specified text color, font size, font weight, spacing, dimensions, etc.
- Page numbers: The first and last page numbers should always be shown. The numbers around the current page should also be shown. Any non-consecutive page numbers will have a "..." in-between.
- Cross-browser compatibility: Check that your solution works for major browsers including Chrome, Firefox, and Safari.
- [Stretch goal] Performance optimization: Optimize image assets and code for quick load times, ensuring a smooth and responsive user experience.
- [Stretch goal] Accessibility and semantics: Follow best practices for web accessibility, such as using semantic HTML and ARIA roles where necessary and using proper
alt
tags for images.