@scbt-ecom/ui 0.119.1 → 0.120.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/exports/ui.js +1 -1
- package/dist/lib/shared/ui/index.js +1 -1
- package/dist/lib/shared/ui/pagination/hooks/index.js +2 -0
- package/dist/lib/shared/ui/pagination/hooks/index.js.map +1 -0
- package/dist/lib/shared/ui/pagination/hooks/usePagination.js +2 -0
- package/dist/lib/shared/ui/pagination/hooks/usePagination.js.map +1 -0
- package/dist/lib/shared/ui/pagination/index.js +1 -1
- package/dist/stats.html +1 -1
- package/dist/types/lib/shared/ui/pagination/hooks/index.d.ts +1 -0
- package/dist/types/lib/shared/ui/pagination/hooks/usePagination.d.ts +15 -0
- package/dist/types/lib/shared/ui/pagination/index.d.ts +1 -0
- package/package.json +1 -1
package/dist/lib/exports/ui.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{ResponsiveContainer as t}from"../shared/ui/responsiveContainer/ResponsiveContainer.js";import{Button as p}from"../shared/ui/button/Button.js";import{buttonPrimitiveIntent as
|
|
1
|
+
import{ResponsiveContainer as t}from"../shared/ui/responsiveContainer/ResponsiveContainer.js";import{Button as p}from"../shared/ui/button/Button.js";import{buttonPrimitiveIntent as m,buttonPrimitiveSize as x,buttonPrimitiveTextFormat as f,buttonPrimitiveType as n}from"../shared/ui/button/model/helpers.js";import{ButtonIcon as l}from"../shared/ui/buttonIcon/ButtonIcon.js";import{PhoneView as s}from"../shared/ui/phoneView/PhoneView.js";import{Badge as u}from"../shared/ui/badge/Badge.js";import{Loader as T}from"../shared/ui/loader/Loader.js";import{Skeleton as I}from"../shared/ui/skeleton/Skeleton.js";import{FloatButton as S}from"../shared/ui/floatButton/FloatButton.js";import{Calendar as P}from"../shared/ui/calendar/Calendar.js";import{DATE_VISIBLE_PATTERN as y,defaultClassNames as v,formatDateToLocaleString as k,formatDateToMonthString as R,formatDateToYearString as h}from"../shared/ui/calendar/model/utils.js";import{Accordion as A}from"../shared/ui/accordion/Accordion.js";import{Hint as E}from"../shared/ui/hint/Hint.js";import{Popover as F}from"../shared/ui/popover/Popover.js";import{ProgressBar as M}from"../shared/ui/progressBar/ProgressBar.js";import{TabsSwitcher as O}from"../shared/ui/tabSwitcher/TabsSwitcher.js";import{Modal as z}from"../shared/ui/modal/Modal.js";import{Notification as _}from"../shared/ui/notification/Notification.js";import{Table as Y,TableBody as j,TableCaption as q,TableCell as J,TableFooter as Q,TableHead as W,TableHeader as X,TableRow as Z}from"../shared/ui/table/ui/primitives/Primitives.js";import{DataTableColumnHeader as oo}from"../shared/ui/table/ui/dataTableColumnHeader/DataTableColumnHeader.js";import{EditableCell as to}from"../shared/ui/table/ui/editableCell/EditableCell.js";import{DataTable as po}from"../shared/ui/table/Table.js";import{TableUtils as mo}from"../shared/ui/table/model/TableUtils.js";import{Pagination as fo}from"../shared/ui/pagination/Pagination.js";import{usePagination as io}from"../shared/ui/pagination/hooks/usePagination.js";import{CarouselBase as so}from"../shared/ui/carousel/CarouselBase.js";import{ArrowNavigationButton as uo}from"../shared/ui/carousel/ui/ArrowNavigationButton.js";import{CarouselSlide as To}from"../shared/ui/carousel/ui/CarouselSlide.js";import{DotsNavigations as Io}from"../shared/ui/carousel/ui/DotsNavigations.js";import{SlideProductCard as So}from"../shared/ui/carousel/ui/slideVariants/SlideProductCard.js";import{SlideOnlyImage as Po}from"../shared/ui/carousel/ui/slideVariants/SlideOnlyImage.js";import{SlideFullScreen as yo}from"../shared/ui/carousel/ui/slideVariants/SlideFullScreen.js";import{CarouselContent as ko}from"../shared/ui/carousel/ui/CarouselContent.js";import{Dialog as ho}from"../shared/ui/dialog/Dialog.js";import{NotificationProvider as Ao}from"../shared/ui/providers/NotificationProvider.js";import{Heading as Eo}from"../shared/ui/heading/Heading.js";import{Icon as Fo}from"../shared/ui/icon/Icon.js";import{allowedIcons as Mo}from"../shared/ui/icon/allowedIcons.js";import{brandLogos as Oo}from"../shared/ui/brandLogos/BrandLogos.js";import{CustomLink as zo}from"../shared/ui/customLink/CustomLink.js";import{linkPrimitiveIconIntent as _o,linkPrimitiveIntent as Ko,linkPrimitiveSize as Yo}from"../shared/ui/customLink/model/helpers.js";import{KeyboardShortcuts as qo}from"../shared/ui/keyboardShortcuts/KeyboardShortcuts.js";import{Slot as Qo}from"../shared/ui/slot/Slot.js";import{AutocompleteBase as Xo}from"../shared/ui/formElements/uncontrolled/autocomplete/Autocomplete.js";import{CheckboxBase as $o}from"../shared/ui/formElements/uncontrolled/checkbox/Checkbox.js";import{Combobox as rr}from"../shared/ui/formElements/uncontrolled/combobox/combobox.js";import{DayPickerBase as er}from"../shared/ui/formElements/uncontrolled/dayPicker/DayPicker.js";import{InputBase as ar}from"../shared/ui/formElements/uncontrolled/input/Input.js";import{InputOtpBase as xr}from"../shared/ui/formElements/uncontrolled/inputOtp/InputOtpBase.js";import{MaskInput as nr}from"../shared/ui/formElements/uncontrolled/maskInput/MaskInput.js";import{RadioGroupBase as lr}from"../shared/ui/formElements/uncontrolled/radio/RadioGroup.js";import{RadioItem as sr}from"../shared/ui/formElements/uncontrolled/radio/ui/RadioItem.js";import{RadioItemCard as ur}from"../shared/ui/formElements/uncontrolled/radio/ui/RadioItemCard.js";import{RadioItemTab as Tr}from"../shared/ui/formElements/uncontrolled/radio/ui/RadioItemTab.js";import{SliderBase as Ir}from"../shared/ui/formElements/uncontrolled/slider/SliderBase.js";import{SwitchBase as Sr}from"../shared/ui/formElements/uncontrolled/switch/Switch.js";import{TextareaBase as Pr}from"../shared/ui/formElements/uncontrolled/textarea/Textarea.js";import{UploaderBase as yr}from"../shared/ui/formElements/uncontrolled/uploader/UploaderBase.js";import{bytesToMegabytes as kr,megabytesToBytes as Rr}from"../shared/ui/formElements/uncontrolled/uploader/model/helpers.js";import{InputCurrencyBase as wr}from"../shared/ui/formElements/uncontrolled/inputCurrency/InputCurrency.js";import{Uncontrolled as Lr}from"../shared/ui/formElements/uncontrolled/index.js";import{AutocompleteControl as Nr}from"../shared/ui/formElements/controlled/autocomplete/Autocomplete.js";import{CheckboxControl as Hr}from"../shared/ui/formElements/controlled/checkbox/CheckboxControl.js";import{DadataOrganization as Gr}from"../shared/ui/formElements/controlled/dadata/party/DadataOrganization.js";import{DadataAddress as Ur}from"../shared/ui/formElements/controlled/dadata/address/DadataAddress.js";import{DadataAuto as Vr}from"../shared/ui/formElements/controlled/dadata/auto/DadataAuto.js";import{DadataCountry as Kr}from"../shared/ui/formElements/controlled/dadata/country/DadataCountry.js";import{DadataFio as jr}from"../shared/ui/formElements/controlled/dadata/fio/DadataFio.js";import{DayPickerControl as Jr}from"../shared/ui/formElements/controlled/dayPickerControl/dayPickerControl.js";import{EditorControl as Wr}from"../shared/ui/formElements/controlled/editor/EditorControl.js";import{InputControl as Zr}from"../shared/ui/formElements/controlled/input/InputControl.js";import{MaskInputControl as ot}from"../shared/ui/formElements/controlled/input/MaskInputControl.js";import{InputCurrencyControl as tt}from"../shared/ui/formElements/controlled/inputCurrency/InputCurrencyControl.js";import{InputOtpControl as pt}from"../shared/ui/formElements/controlled/inputOtp/InputOtpControl.js";import{RadioGroupControl as mt}from"../shared/ui/formElements/controlled/radio/RadioGroupControl.js";import{RadioGroupTabControl as ft}from"../shared/ui/formElements/controlled/radio/RadioGroupTabControl.js";import{RadioGroupCardControl as it}from"../shared/ui/formElements/controlled/radio/RadioGroupCardControl.js";import{SliderControl as dt}from"../shared/ui/formElements/controlled/slider/SliderControl.js";import{SwitchControl as Ct}from"../shared/ui/formElements/controlled/switch/SwitchControl.js";import{TextareaControl as bt}from"../shared/ui/formElements/controlled/textarea/TextareaControl.js";import{UploaderControl as ct}from"../shared/ui/formElements/controlled/uploader/UploaderControl.js";import{ComboboxControl as Bt}from"../shared/ui/formElements/controlled/combobox/ComboboxControl.js";import{Controlled as Dt}from"../shared/ui/formElements/controlled/index.js";import{Chips as gt}from"../shared/ui/chips/Chips.js";import{DropdownItem as vt}from"../shared/ui/dropdownList/ui/dropdownItem/DropdownItem.js";import{EmptyList as Rt}from"../shared/ui/dropdownList/ui/Empty.js";import{DropdownList as wt}from"../shared/ui/dropdownList/DropdownList.js";import{Portal as Lt}from"../shared/ui/portal/Portal.js";import{Divider as Nt}from"../shared/ui/divider/Divider.js";export{A as Accordion,uo as ArrowNavigationButton,Xo as AutocompleteBase,Nr as AutocompleteControl,u as Badge,p as Button,l as ButtonIcon,P as Calendar,so as CarouselBase,ko as CarouselContent,To as CarouselSlide,$o as CheckboxBase,Hr as CheckboxControl,gt as Chips,rr as Combobox,Bt as ComboboxControl,Dt as Controlled,zo as CustomLink,y as DATE_VISIBLE_PATTERN,Ur as DadataAddress,Vr as DadataAuto,Kr as DadataCountry,jr as DadataFio,Gr as DadataOrganization,po as DataTable,oo as DataTableColumnHeader,er as DayPickerBase,Jr as DayPickerControl,ho as Dialog,Nt as Divider,Io as DotsNavigations,vt as DropdownItem,wt as DropdownList,to as EditableCell,Wr as EditorControl,Rt as EmptyList,S as FloatButton,Eo as Heading,E as Hint,Fo as Icon,ar as InputBase,Zr as InputControl,wr as InputCurrencyBase,tt as InputCurrencyControl,xr as InputOtpBase,pt as InputOtpControl,qo as KeyboardShortcuts,T as Loader,nr as MaskInput,ot as MaskInputControl,z as Modal,_ as Notification,Ao as NotificationProvider,fo as Pagination,s as PhoneView,F as Popover,Lt as Portal,M as ProgressBar,lr as RadioGroupBase,it as RadioGroupCardControl,mt as RadioGroupControl,ft as RadioGroupTabControl,sr as RadioItem,ur as RadioItemCard,Tr as RadioItemTab,t as ResponsiveContainer,I as Skeleton,yo as SlideFullScreen,Po as SlideOnlyImage,So as SlideProductCard,Ir as SliderBase,dt as SliderControl,Qo as Slot,Sr as SwitchBase,Ct as SwitchControl,Y as Table,j as TableBody,q as TableCaption,J as TableCell,Q as TableFooter,W as TableHead,X as TableHeader,Z as TableRow,mo as TableUtils,O as TabsSwitcher,Pr as TextareaBase,bt as TextareaControl,Lr as Uncontrolled,yr as UploaderBase,ct as UploaderControl,Mo as allowedIcons,Oo as brandLogos,m as buttonPrimitiveIntent,x as buttonPrimitiveSize,f as buttonPrimitiveTextFormat,n as buttonPrimitiveType,kr as bytesToMegabytes,v as defaultClassNames,k as formatDateToLocaleString,R as formatDateToMonthString,h as formatDateToYearString,_o as linkPrimitiveIconIntent,Ko as linkPrimitiveIntent,Yo as linkPrimitiveSize,Rr as megabytesToBytes,io as usePagination};
|
|
2
2
|
//# sourceMappingURL=ui.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{ResponsiveContainer as t}from"./responsiveContainer/ResponsiveContainer.js";import{Button as p}from"./button/Button.js";import{buttonPrimitiveIntent as
|
|
1
|
+
import{ResponsiveContainer as t}from"./responsiveContainer/ResponsiveContainer.js";import{Button as p}from"./button/Button.js";import{buttonPrimitiveIntent as m,buttonPrimitiveSize as x,buttonPrimitiveTextFormat as f,buttonPrimitiveType as n}from"./button/model/helpers.js";import{ButtonIcon as l}from"./buttonIcon/ButtonIcon.js";import{PhoneView as s}from"./phoneView/PhoneView.js";import{Badge as u}from"./badge/Badge.js";import{Loader as T}from"./loader/Loader.js";import{Skeleton as I}from"./skeleton/Skeleton.js";import{FloatButton as S}from"./floatButton/FloatButton.js";import{Calendar as P}from"./calendar/Calendar.js";import{DATE_VISIBLE_PATTERN as y,defaultClassNames as v,formatDateToLocaleString as k,formatDateToMonthString as R,formatDateToYearString as h}from"./calendar/model/utils.js";import{Accordion as A}from"./accordion/Accordion.js";import{Hint as E}from"./hint/Hint.js";import{Popover as F}from"./popover/Popover.js";import{ProgressBar as M}from"./progressBar/ProgressBar.js";import{TabsSwitcher as O}from"./tabSwitcher/TabsSwitcher.js";import{Modal as z}from"./modal/Modal.js";import{Notification as _}from"./notification/Notification.js";import{Table as Y,TableBody as j,TableCaption as q,TableCell as J,TableFooter as Q,TableHead as W,TableHeader as X,TableRow as Z}from"./table/ui/primitives/Primitives.js";import{DataTableColumnHeader as oo}from"./table/ui/dataTableColumnHeader/DataTableColumnHeader.js";import{EditableCell as to}from"./table/ui/editableCell/EditableCell.js";import{DataTable as po}from"./table/Table.js";import{TableUtils as mo}from"./table/model/TableUtils.js";import{Pagination as fo}from"./pagination/Pagination.js";import{usePagination as io}from"./pagination/hooks/usePagination.js";import{CarouselBase as so}from"./carousel/CarouselBase.js";import{ArrowNavigationButton as uo}from"./carousel/ui/ArrowNavigationButton.js";import{CarouselSlide as To}from"./carousel/ui/CarouselSlide.js";import{DotsNavigations as Io}from"./carousel/ui/DotsNavigations.js";import{SlideProductCard as So}from"./carousel/ui/slideVariants/SlideProductCard.js";import{SlideOnlyImage as Po}from"./carousel/ui/slideVariants/SlideOnlyImage.js";import{SlideFullScreen as yo}from"./carousel/ui/slideVariants/SlideFullScreen.js";import{CarouselContent as ko}from"./carousel/ui/CarouselContent.js";import{Dialog as ho}from"./dialog/Dialog.js";import{NotificationProvider as Ao}from"./providers/NotificationProvider.js";import{Heading as Eo}from"./heading/Heading.js";import{Icon as Fo}from"./icon/Icon.js";import{allowedIcons as Mo}from"./icon/allowedIcons.js";import{brandLogos as Oo}from"./brandLogos/BrandLogos.js";import{CustomLink as zo}from"./customLink/CustomLink.js";import{linkPrimitiveIconIntent as _o,linkPrimitiveIntent as Ko,linkPrimitiveSize as Yo}from"./customLink/model/helpers.js";import{KeyboardShortcuts as qo}from"./keyboardShortcuts/KeyboardShortcuts.js";import{Slot as Qo}from"./slot/Slot.js";import{AutocompleteBase as Xo}from"./formElements/uncontrolled/autocomplete/Autocomplete.js";import{CheckboxBase as $o}from"./formElements/uncontrolled/checkbox/Checkbox.js";import{Combobox as rr}from"./formElements/uncontrolled/combobox/combobox.js";import{DayPickerBase as er}from"./formElements/uncontrolled/dayPicker/DayPicker.js";import{InputBase as ar}from"./formElements/uncontrolled/input/Input.js";import{InputOtpBase as xr}from"./formElements/uncontrolled/inputOtp/InputOtpBase.js";import{MaskInput as nr}from"./formElements/uncontrolled/maskInput/MaskInput.js";import{RadioGroupBase as lr}from"./formElements/uncontrolled/radio/RadioGroup.js";import{RadioItem as sr}from"./formElements/uncontrolled/radio/ui/RadioItem.js";import{RadioItemCard as ur}from"./formElements/uncontrolled/radio/ui/RadioItemCard.js";import{RadioItemTab as Tr}from"./formElements/uncontrolled/radio/ui/RadioItemTab.js";import{SliderBase as Ir}from"./formElements/uncontrolled/slider/SliderBase.js";import{SwitchBase as Sr}from"./formElements/uncontrolled/switch/Switch.js";import{TextareaBase as Pr}from"./formElements/uncontrolled/textarea/Textarea.js";import{UploaderBase as yr}from"./formElements/uncontrolled/uploader/UploaderBase.js";import{bytesToMegabytes as kr,megabytesToBytes as Rr}from"./formElements/uncontrolled/uploader/model/helpers.js";import{InputCurrencyBase as wr}from"./formElements/uncontrolled/inputCurrency/InputCurrency.js";import{Uncontrolled as Lr}from"./formElements/uncontrolled/index.js";import{AutocompleteControl as Nr}from"./formElements/controlled/autocomplete/Autocomplete.js";import{CheckboxControl as Hr}from"./formElements/controlled/checkbox/CheckboxControl.js";import{DadataOrganization as Gr}from"./formElements/controlled/dadata/party/DadataOrganization.js";import{DadataAddress as Ur}from"./formElements/controlled/dadata/address/DadataAddress.js";import{DadataAuto as Vr}from"./formElements/controlled/dadata/auto/DadataAuto.js";import{DadataCountry as Kr}from"./formElements/controlled/dadata/country/DadataCountry.js";import{DadataFio as jr}from"./formElements/controlled/dadata/fio/DadataFio.js";import{DayPickerControl as Jr}from"./formElements/controlled/dayPickerControl/dayPickerControl.js";import{EditorControl as Wr}from"./formElements/controlled/editor/EditorControl.js";import{InputControl as Zr}from"./formElements/controlled/input/InputControl.js";import{MaskInputControl as ot}from"./formElements/controlled/input/MaskInputControl.js";import{InputCurrencyControl as tt}from"./formElements/controlled/inputCurrency/InputCurrencyControl.js";import{InputOtpControl as pt}from"./formElements/controlled/inputOtp/InputOtpControl.js";import{RadioGroupControl as mt}from"./formElements/controlled/radio/RadioGroupControl.js";import{RadioGroupTabControl as ft}from"./formElements/controlled/radio/RadioGroupTabControl.js";import{RadioGroupCardControl as it}from"./formElements/controlled/radio/RadioGroupCardControl.js";import{SliderControl as dt}from"./formElements/controlled/slider/SliderControl.js";import{SwitchControl as Ct}from"./formElements/controlled/switch/SwitchControl.js";import{TextareaControl as bt}from"./formElements/controlled/textarea/TextareaControl.js";import{UploaderControl as ct}from"./formElements/controlled/uploader/UploaderControl.js";import{ComboboxControl as Bt}from"./formElements/controlled/combobox/ComboboxControl.js";import{Controlled as Dt}from"./formElements/controlled/index.js";import{Chips as gt}from"./chips/Chips.js";import{DropdownItem as vt}from"./dropdownList/ui/dropdownItem/DropdownItem.js";import{EmptyList as Rt}from"./dropdownList/ui/Empty.js";import{DropdownList as wt}from"./dropdownList/DropdownList.js";import{Portal as Lt}from"./portal/Portal.js";import{Divider as Nt}from"./divider/Divider.js";export{A as Accordion,uo as ArrowNavigationButton,Xo as AutocompleteBase,Nr as AutocompleteControl,u as Badge,p as Button,l as ButtonIcon,P as Calendar,so as CarouselBase,ko as CarouselContent,To as CarouselSlide,$o as CheckboxBase,Hr as CheckboxControl,gt as Chips,rr as Combobox,Bt as ComboboxControl,Dt as Controlled,zo as CustomLink,y as DATE_VISIBLE_PATTERN,Ur as DadataAddress,Vr as DadataAuto,Kr as DadataCountry,jr as DadataFio,Gr as DadataOrganization,po as DataTable,oo as DataTableColumnHeader,er as DayPickerBase,Jr as DayPickerControl,ho as Dialog,Nt as Divider,Io as DotsNavigations,vt as DropdownItem,wt as DropdownList,to as EditableCell,Wr as EditorControl,Rt as EmptyList,S as FloatButton,Eo as Heading,E as Hint,Fo as Icon,ar as InputBase,Zr as InputControl,wr as InputCurrencyBase,tt as InputCurrencyControl,xr as InputOtpBase,pt as InputOtpControl,qo as KeyboardShortcuts,T as Loader,nr as MaskInput,ot as MaskInputControl,z as Modal,_ as Notification,Ao as NotificationProvider,fo as Pagination,s as PhoneView,F as Popover,Lt as Portal,M as ProgressBar,lr as RadioGroupBase,it as RadioGroupCardControl,mt as RadioGroupControl,ft as RadioGroupTabControl,sr as RadioItem,ur as RadioItemCard,Tr as RadioItemTab,t as ResponsiveContainer,I as Skeleton,yo as SlideFullScreen,Po as SlideOnlyImage,So as SlideProductCard,Ir as SliderBase,dt as SliderControl,Qo as Slot,Sr as SwitchBase,Ct as SwitchControl,Y as Table,j as TableBody,q as TableCaption,J as TableCell,Q as TableFooter,W as TableHead,X as TableHeader,Z as TableRow,mo as TableUtils,O as TabsSwitcher,Pr as TextareaBase,bt as TextareaControl,Lr as Uncontrolled,yr as UploaderBase,ct as UploaderControl,Mo as allowedIcons,Oo as brandLogos,m as buttonPrimitiveIntent,x as buttonPrimitiveSize,f as buttonPrimitiveTextFormat,n as buttonPrimitiveType,kr as bytesToMegabytes,v as defaultClassNames,k as formatDateToLocaleString,R as formatDateToMonthString,h as formatDateToYearString,_o as linkPrimitiveIconIntent,Ko as linkPrimitiveIntent,Yo as linkPrimitiveSize,Rr as megabytesToBytes,io as usePagination};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{useState as c,useMemo as i}from"react";const p=({totalPages:e,initialPage:t=0})=>{const[r,n]=c(t),s=()=>{n(0)},u=()=>{n(e)};return{page:i(()=>r>=e?r-1:Math.min(r,e),[r,e]),totalPages:e,setPage:n,setLast:u,setFirst:s,hasNext:r<e,hasPrev:r>0}};export{p as usePagination};
|
|
2
|
+
//# sourceMappingURL=usePagination.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePagination.js","sources":["../../../../../../lib/shared/ui/pagination/hooks/usePagination.ts"],"sourcesContent":["import { type Dispatch, type SetStateAction, useMemo, useState } from 'react'\n\nexport interface UsePaginationProps {\n totalPages: number\n initialPage?: number\n}\n\nexport interface UsePaginationReturn {\n page: number\n setLast: () => void\n setFirst: () => void\n setPage: Dispatch<SetStateAction<number>>\n totalPages: number\n hasNext: boolean\n hasPrev: boolean\n}\n\nexport const usePagination = ({ totalPages, initialPage = 0 }: UsePaginationProps): UsePaginationReturn => {\n const [page, setPage] = useState<number>(initialPage)\n\n const setFirst = () => {\n setPage(0)\n }\n\n const setLast = () => {\n setPage(totalPages)\n }\n\n const currentPage = useMemo<number>(() => {\n if (page >= totalPages) return page - 1\n\n return Math.min(page, totalPages)\n }, [page, totalPages])\n\n return { page: currentPage, totalPages, setPage, setLast, setFirst, hasNext: page < totalPages, hasPrev: page > 0 }\n}\n"],"names":["usePagination","totalPages","initialPage","page","setPage","useState","setFirst","setLast","useMemo"],"mappings":"8CAiBO,MAAMA,EAAgB,CAAC,CAAE,WAAAC,EAAY,YAAAC,EAAc,KAAiD,CACzG,KAAM,CAACC,EAAMC,CAAO,EAAIC,EAAiBH,CAAW,EAE9CI,EAAW,IAAM,CACrBF,EAAQ,CAAC,CACX,EAEMG,EAAU,IAAM,CACpBH,EAAQH,CAAU,CACpB,EAQA,MAAO,CAAE,KANWO,EAAgB,IAC9BL,GAAQF,EAAmBE,EAAO,EAE/B,KAAK,IAAIA,EAAMF,CAAU,EAC/B,CAACE,EAAMF,CAAU,CAAC,EAEO,WAAAA,EAAY,QAAAG,EAAS,QAAAG,EAAS,SAAAD,EAAU,QAASH,EAAOF,EAAY,QAASE,EAAO,CAAA,CAClH"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Pagination as i}from"./Pagination.js";export{i as Pagination};
|
|
1
|
+
import{Pagination as i}from"./Pagination.js";import{usePagination as r}from"./hooks/usePagination.js";export{i as Pagination,r as usePagination};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|