🚨 Shai-Hulud Strikes Again:834 Packages Compromised.Technical Analysis
Socket
Book a DemoInstallSign in
Socket

@digital-butlers/pagination

Package Overview
Dependencies
Maintainers
3
Versions
17
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@digital-butlers/pagination

A convenient library with pagination for everyday tasks

latest
Source
npmnpm
Version
0.1.13
Version published
Maintainers
3
Created
Source

Digital Butlers Pagination

Библиотека для создания пагинации с гибкими настройками.

Содержание

  • Установка
  • Быстрый старт
  • Конфигурация
  • Публичные методы
  • События
  • CSS классы
  • TypeScript типы
  • Доступность
  • URL параметры

Установка

npm install @digital-butlers/pagination
# или
yarn add @digital-butlers/pagination
# или
pnpm add @digital-butlers/pagination

Быстрый старт

import { Pagination } from '@digital-butlers/pagination';
import '@digital-butlers/pagination/css';

new Pagination('[data-pagination="wrapper"]', {
	itemsPerPage: 10,
});

Конфигурация

ПараметрТипПо умолчаниюОписание
paginationWrapperSelectorstring'[data-pagination="container"]'CSS селектор контейнера пагинации
dynamicElementSelectorstring'.w-dyn-item[role="listitem"]'CSS селектор элементов для пагинации
previousButtonInnerstring | Node'Prev'Содержимое кнопки "Назад"
nextButtonInnerstring | Node'Next'Содержимое кнопки "Вперед"
previousButtonClassnamesstring[][]Дополнительные классы для кнопки "Назад"
nextButtonClassnamesstring[][]Дополнительные классы для кнопки "Вперед"
regularButtonClassnamesstring[][]Дополнительные классы для кнопок с номерами
itemsPerPagenumber-Количество элементов на странице
emptyMapInnerstring'...'Текст для пропущенных номеров страниц
pageNumberTransformer(number: number) => string(n) => n.toString()Функция преобразования номеров страниц
hiddenButtons{ min: number }{ min: 6 }Минимальное количество видимых кнопок
devModebooleanfalseРежим разработки с дополнительными предупреждениями

Публичные методы

МетодОписание
update()Обновляет состояние пагинации
goToCurrent()Переходит на текущую страницу
addPageParam()Добавляет параметр страницы в URL

События

СобытиеПараметрыОписание
afterInit(pagination: Pagination)Вызывается после инициализации
change(pagination: Pagination)Вызывается при смене страницы
click(pagination: Pagination)Вызывается при клике на кнопку
new Pagination('[data-pagination="wrapper"]', {
	itemsPerPage: 10,
	on: {
		afterInit: (pagination) => console.log('Инициализация завершена'),
		change: (pagination) => console.log('Текущая страница:', pagination.currentPage),
		click: (pagination) => console.log('Клик по кнопке'),
	},
});

CSS классы

КлассОписание
.js--pagination-buttonБазовый класс для всех кнопок пагинации
.js--pagination-currentКласс для текущей активной страницы
.js--pagination-empty-placeКласс для пропущенных номеров страниц
.js--unactiveКласс для неактивной пагинации
.js--hidden-by-paginationКласс для скрытых элементов
.js--activeКласс для активных элементов
.js--visibleКласс для видимых элементов

TypeScript типы

interface PaginationConfigModel {
	paginationWrapperSelector?: string;
	dynamicElementSelector?: string;
	previousButtonInner?: string | Node;
	nextButtonInner?: string | Node;
	itemsPerPage: number;
	pageNumberTransformer?: PageNumberTransformer;
	emptyMapInner?: string;
	hiddenButtons?: {
		min: number;
	};
	on?: EventModel;
	previousButtonClassnames?: string[];
	nextButtonClassnames?: string[];
	regularButtonClassnames?: string[];
	devMode?: boolean;
}

interface EventModel {
	afterInit?: (pagination: Pagination) => void;
	change?: (pagination: Pagination) => void;
	click?: (pagination: Pagination) => void;
}

type PageNumberTransformer = (number: number) => string;

Доступность

Библиотека автоматически добавляет:

  • aria-label для всех кнопок
  • role="button" для элементов навигации
  • Поддержку клавиатурной навигации
  • Атрибут inert для скрытых элементов
  • Атрибут disabled для неактивных кнопок
  • Корректные значения tabindex

URL параметры

Библиотека автоматически:

  • Добавляет параметр page в URL
  • Синхронизирует состояние с URL
  • Поддерживает навигацию по истории браузера
  • Добавляет rel="prev" и rel="next" для SEO

Лицензия

MIT

Keywords

tabs

FAQs

Package last updated on 27 Apr 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts