@kadoui/react
Version:
Kadoui primitive components for React
19 lines (18 loc) • 748 B
JavaScript
"use client";
import { jsx as _jsx } from "react/jsx-runtime";
import { useState } from "react";
import { PaginationContext } from "./PaginationContext";
export function PaginationStateRoot({ pages, pagesLength, ...p }) {
const [page, setPage] = useState(1);
const correctPagesLength = (pages?.length || pagesLength);
const nextPage = () => setPage((prev) => (prev < correctPagesLength ? prev + 1 : prev));
const prevPage = () => setPage((prev) => (prev > 1 ? prev - 1 : prev));
return (_jsx(PaginationContext.Provider, { value: {
pages,
page,
setPage,
pagesLength: correctPagesLength,
nextPage,
prevPage,
}, children: _jsx("div", { ...p }) }));
}