1.3.4 • Published 8 months ago

pagination-schema v1.3.4

Weekly downloads
-
License
ISC
Repository
github
Last release
8 months ago

Table of contents

Installation 📦

$ npm install pagination-schema

or

$ yarn add pagination-schema

Usage ✨

import generate from "pagination-schema";

const pages = generate({
  total: 100,
  perPage: 5,
  currentPage: 1,
});

// the output array:

[1, 2, 3, 0, 18, 19, 20];

// now, you can make your custom pagination component using the output array

What does the output array mean? 🤔

The output array indicates the structure of the pagination component, for example:

import generate from "pagination-schema";

const pages = generate({
  total: 230,
  perPage: 10,
  currentPage: 15,
});

// [1,0,14,15,16,0,23]

The rendered pagination should have the following structure:

Alt text

You are free to handle all the events, styles and behaviors of your component, the generate helper only helps you to build the structure of your pagination component.

Output array:

number {n ∈ N} (1,2,3...∞) indicates a page number

zero (0) indicates the ellipsis separator, (...) or another separator symbol

Types 🦺

Pagination Schema was made with TypeScript ❤️ so, you can use the configuration types as you need:

import type { PaginationConfig } from "pagination-schema";

const config: PaginationConfig;

API Reference 📃

ItemDescriptionType
generateThe helper function to make the pagination structure(config: PaginationConfig) => number[]
config.totalThe total numbers of items in your databasenumber
config.perPageThe number of items showed per pagenumber
config.currentPageThe current page in your paginationnumber
config?.siblingCountHow many pages on either side of current pagenumber (default 1)
config?.boundaryCountHow many pages to the ends of paginationnumber (default 0)
config?.autoCalibrateCalibrate output array to have always the same length (usefully to prevent UI flickering)boolean (default true)

Examples ✔

1.2.0

8 months ago

1.1.0

8 months ago

1.3.4

8 months ago

1.3.3

8 months ago

1.3.2

8 months ago

1.3.1

8 months ago

1.3.0

8 months ago

1.0.0

10 months ago