SchwarzIT / onyx

🚀 A design system and Vue.js component library created by Schwarz IT
https://onyx.schwarz
Apache License 2.0
54 stars 6 forks source link

Implement OnyxPagination "inline" mode #1714

Open JoCa96 opened 1 month ago

JoCa96 commented 1 month ago

Image

Open questions:

Why?

Pagination is used to navigate through multiple pages of data. This is the implementation ticket for the inline mode of the OnyxPagination.

Design

Figma

Acceptance criteria

Definition of Done

Approval

Implementation details

There are two types: modern and classic.

The two Pagination types are implemented as individual support components and are "proxied" by the actual OnyxPagination.

export type OnyxPaginationProps = {
  /**
   * The different style variants of the pagination:
   * `inline`: A pagination with many numbered page buttons surrounded by arrow buttons to navigate to pages.
   * `select`: A less space consuming pagination, which provides a dropdown and arrow keys for the page selection.
   */
   type: 'inline' | 'select';
   /**
    *  The maximum number of pages
    */
   pages: number;
   /**
    *  The currently selected, zero-based page index
    */
   modelValue?: number;
}

Reference implementations

Applicable ARIA Pattern

JoCa96 commented 1 month ago

@mj-hof @jannick-ux We need some more input from you before we feel confident estimating and starting this story.