@docubook/ui-react 0.1.0 → 0.1.2

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.
Files changed (60) hide show
  1. package/README.md +1 -1
  2. package/dist/breadcrumbs.cjs +3 -3
  3. package/dist/breadcrumbs.js +2 -3
  4. package/dist/{chunk-7HHY2WDF.cjs → chunk-2DFF5NEL.cjs} +3 -1
  5. package/dist/chunk-4QUABBES.js +43 -0
  6. package/dist/{chunk-BCJ3FW3Y.cjs → chunk-5SA5UPFQ.cjs} +3 -3
  7. package/dist/{chunk-IBKH77YN.js → chunk-5UVG5YY5.js} +1 -2
  8. package/dist/{chunk-LJV3UIMK.cjs → chunk-6B7U7IWT.cjs} +7 -7
  9. package/dist/{chunk-LUO4YXRQ.js → chunk-7BWAXCW2.js} +1 -2
  10. package/dist/{chunk-FGJ6EYLA.js → chunk-AQP3U2YN.js} +1 -2
  11. package/dist/{chunk-PB4SHWMJ.cjs → chunk-BHHZBMD4.cjs} +9 -9
  12. package/dist/{chunk-QZH7EIFW.js → chunk-FQQILPIP.js} +1 -2
  13. package/dist/{chunk-NJKWNMJF.js → chunk-GRADTONK.js} +3 -2
  14. package/dist/{chunk-54N6HTQV.cjs → chunk-HTH2UTCL.cjs} +5 -5
  15. package/dist/chunk-K22HSWMW.cjs +43 -0
  16. package/dist/{chunk-VRODU4ZV.cjs → chunk-K6B7XOJ5.cjs} +3 -3
  17. package/dist/{chunk-EJCGJCVK.cjs → chunk-LUVR2YGT.cjs} +10 -10
  18. package/dist/{chunk-42YUT467.cjs → chunk-MWJV72OM.cjs} +6 -6
  19. package/dist/{chunk-I4CZWV3M.js → chunk-ND7BTYGG.js} +1 -2
  20. package/dist/{chunk-Q55KNNKE.js → chunk-OGI5BHGM.js} +1 -2
  21. package/dist/{chunk-ACEM5N2Y.cjs → chunk-OO3HHTPV.cjs} +10 -10
  22. package/dist/{chunk-W5G2ZBYA.js → chunk-OTJGG73E.js} +1 -2
  23. package/dist/{chunk-HTNZRBKW.js → chunk-PFRBA5BH.js} +1 -2
  24. package/dist/{chunk-KHU72DOY.cjs → chunk-RDRDPR67.cjs} +4 -4
  25. package/dist/{chunk-OB6B2KN5.js → chunk-RXFYKKNI.js} +2 -3
  26. package/dist/{chunk-OKMEBWPL.cjs → chunk-SV4L2FGT.cjs} +6 -6
  27. package/dist/{chunk-4DCBYM74.js → chunk-SX6DOGUE.js} +1 -2
  28. package/dist/cn.cjs +2 -2
  29. package/dist/cn.d.cts +2 -1
  30. package/dist/cn.d.ts +2 -1
  31. package/dist/cn.js +1 -2
  32. package/dist/collapse.cjs +3 -3
  33. package/dist/collapse.js +2 -3
  34. package/dist/drawer.cjs +3 -3
  35. package/dist/drawer.js +2 -3
  36. package/dist/dropdown.cjs +3 -3
  37. package/dist/dropdown.js +2 -3
  38. package/dist/index.cjs +13 -25
  39. package/dist/index.d.cts +2 -1
  40. package/dist/index.d.ts +2 -1
  41. package/dist/index.js +13 -26
  42. package/dist/input.cjs +5 -4
  43. package/dist/input.js +2 -2
  44. package/dist/kbd.cjs +5 -4
  45. package/dist/kbd.js +2 -2
  46. package/dist/modal.cjs +3 -3
  47. package/dist/modal.js +2 -3
  48. package/dist/navbar.cjs +3 -3
  49. package/dist/navbar.js +2 -3
  50. package/dist/pagination.cjs +4 -17
  51. package/dist/pagination.d.cts +1 -69
  52. package/dist/pagination.d.ts +1 -69
  53. package/dist/pagination.js +4 -18
  54. package/dist/theme-controller.cjs +3 -3
  55. package/dist/theme-controller.js +2 -3
  56. package/dist/toggle.cjs +3 -3
  57. package/dist/toggle.js +2 -3
  58. package/package.json +6 -2
  59. package/dist/chunk-EN2X23AN.cjs +0 -330
  60. package/dist/chunk-ZMIZV66S.js +0 -331
@@ -1,30 +1,6 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { ReactNode } from 'react';
3
3
 
4
- type PaginationSize = "lg" | "md" | "sm" | "xs";
5
- type PaginationVariant = "default" | "square" | "rounded";
6
- interface PaginationItemProps {
7
- children: ReactNode;
8
- active?: boolean;
9
- disabled?: boolean;
10
- onClick?: () => void;
11
- className?: string;
12
- size?: PaginationSize;
13
- "aria-label"?: string;
14
- }
15
- interface PaginationFullProps {
16
- current: number;
17
- total: number;
18
- pageSize?: number;
19
- onPageChange: (page: number) => void;
20
- siblingCount?: number;
21
- className?: string;
22
- size?: PaginationSize;
23
- variant?: PaginationVariant;
24
- showFirstLast?: boolean;
25
- showPrevNext?: boolean;
26
- infoClassName?: string;
27
- }
28
4
  interface PaginationDocsProps {
29
5
  prev?: {
30
6
  href: string;
@@ -39,50 +15,6 @@ interface PaginationDocsProps {
39
15
  nextIcon?: ReactNode;
40
16
  linkClassName?: string;
41
17
  }
42
- interface PaginationButtonsProps {
43
- page: number;
44
- totalPages: number;
45
- onPageChange: (page: number) => void;
46
- className?: string;
47
- size?: PaginationSize;
48
- showFirstLast?: boolean;
49
- showPrevNext?: boolean;
50
- prevLabel?: string;
51
- nextLabel?: string;
52
- firstLabel?: string;
53
- lastLabel?: string;
54
- disabled?: boolean;
55
- }
56
- interface PaginationRangeProps {
57
- start: number;
58
- end: number;
59
- total: number;
60
- current: number;
61
- onPageChange: (page: number) => void;
62
- siblingCount?: number;
63
- className?: string;
64
- size?: PaginationSize;
65
- variant?: PaginationVariant;
66
- }
67
- interface PaginationInfoProps {
68
- current: number;
69
- total: number;
70
- pageSize?: number;
71
- className?: string;
72
- label?: string;
73
- showTotal?: boolean;
74
- }
75
- declare function getPaginationRange({ totalCount, pageSize, siblingCount, currentPage, }: {
76
- totalCount: number;
77
- pageSize: number;
78
- siblingCount?: number;
79
- currentPage: number;
80
- }): (number | "ellipsis")[];
81
- declare function PaginationItem({ children, active, disabled, onClick, className, size, "aria-label": ariaLabel, }: PaginationItemProps): react_jsx_runtime.JSX.Element;
82
- declare function PaginationButtons({ page, totalPages, onPageChange, className, size, showFirstLast, showPrevNext, prevLabel, nextLabel, firstLabel, lastLabel, disabled, }: PaginationButtonsProps): react_jsx_runtime.JSX.Element;
83
- declare function PaginationRange({ start, end, total, current, onPageChange, siblingCount, className, size, variant, }: PaginationRangeProps): react_jsx_runtime.JSX.Element;
84
- declare function PaginationInfo({ current, total, pageSize, className, label, showTotal, }: PaginationInfoProps): react_jsx_runtime.JSX.Element;
85
- declare function PaginationFull({ current, total, pageSize, onPageChange, siblingCount, className, size, variant, showFirstLast, showPrevNext, infoClassName, }: PaginationFullProps): react_jsx_runtime.JSX.Element;
86
18
  declare function PaginationDocs({ prev, next, className, prevIcon, nextIcon, linkClassName, }: PaginationDocsProps): react_jsx_runtime.JSX.Element;
87
19
 
88
- export { PaginationButtons, type PaginationButtonsProps, PaginationDocs, type PaginationDocsProps, PaginationFull, type PaginationFullProps, PaginationInfo, type PaginationInfoProps, PaginationItem, type PaginationItemProps, PaginationRange, type PaginationRangeProps, type PaginationSize, type PaginationVariant, getPaginationRange };
20
+ export { PaginationDocs, type PaginationDocsProps };
@@ -1,30 +1,6 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { ReactNode } from 'react';
3
3
 
4
- type PaginationSize = "lg" | "md" | "sm" | "xs";
5
- type PaginationVariant = "default" | "square" | "rounded";
6
- interface PaginationItemProps {
7
- children: ReactNode;
8
- active?: boolean;
9
- disabled?: boolean;
10
- onClick?: () => void;
11
- className?: string;
12
- size?: PaginationSize;
13
- "aria-label"?: string;
14
- }
15
- interface PaginationFullProps {
16
- current: number;
17
- total: number;
18
- pageSize?: number;
19
- onPageChange: (page: number) => void;
20
- siblingCount?: number;
21
- className?: string;
22
- size?: PaginationSize;
23
- variant?: PaginationVariant;
24
- showFirstLast?: boolean;
25
- showPrevNext?: boolean;
26
- infoClassName?: string;
27
- }
28
4
  interface PaginationDocsProps {
29
5
  prev?: {
30
6
  href: string;
@@ -39,50 +15,6 @@ interface PaginationDocsProps {
39
15
  nextIcon?: ReactNode;
40
16
  linkClassName?: string;
41
17
  }
42
- interface PaginationButtonsProps {
43
- page: number;
44
- totalPages: number;
45
- onPageChange: (page: number) => void;
46
- className?: string;
47
- size?: PaginationSize;
48
- showFirstLast?: boolean;
49
- showPrevNext?: boolean;
50
- prevLabel?: string;
51
- nextLabel?: string;
52
- firstLabel?: string;
53
- lastLabel?: string;
54
- disabled?: boolean;
55
- }
56
- interface PaginationRangeProps {
57
- start: number;
58
- end: number;
59
- total: number;
60
- current: number;
61
- onPageChange: (page: number) => void;
62
- siblingCount?: number;
63
- className?: string;
64
- size?: PaginationSize;
65
- variant?: PaginationVariant;
66
- }
67
- interface PaginationInfoProps {
68
- current: number;
69
- total: number;
70
- pageSize?: number;
71
- className?: string;
72
- label?: string;
73
- showTotal?: boolean;
74
- }
75
- declare function getPaginationRange({ totalCount, pageSize, siblingCount, currentPage, }: {
76
- totalCount: number;
77
- pageSize: number;
78
- siblingCount?: number;
79
- currentPage: number;
80
- }): (number | "ellipsis")[];
81
- declare function PaginationItem({ children, active, disabled, onClick, className, size, "aria-label": ariaLabel, }: PaginationItemProps): react_jsx_runtime.JSX.Element;
82
- declare function PaginationButtons({ page, totalPages, onPageChange, className, size, showFirstLast, showPrevNext, prevLabel, nextLabel, firstLabel, lastLabel, disabled, }: PaginationButtonsProps): react_jsx_runtime.JSX.Element;
83
- declare function PaginationRange({ start, end, total, current, onPageChange, siblingCount, className, size, variant, }: PaginationRangeProps): react_jsx_runtime.JSX.Element;
84
- declare function PaginationInfo({ current, total, pageSize, className, label, showTotal, }: PaginationInfoProps): react_jsx_runtime.JSX.Element;
85
- declare function PaginationFull({ current, total, pageSize, onPageChange, siblingCount, className, size, variant, showFirstLast, showPrevNext, infoClassName, }: PaginationFullProps): react_jsx_runtime.JSX.Element;
86
18
  declare function PaginationDocs({ prev, next, className, prevIcon, nextIcon, linkClassName, }: PaginationDocsProps): react_jsx_runtime.JSX.Element;
87
19
 
88
- export { PaginationButtons, type PaginationButtonsProps, PaginationDocs, type PaginationDocsProps, PaginationFull, type PaginationFullProps, PaginationInfo, type PaginationInfoProps, PaginationItem, type PaginationItemProps, PaginationRange, type PaginationRangeProps, type PaginationSize, type PaginationVariant, getPaginationRange };
20
+ export { PaginationDocs, type PaginationDocsProps };
@@ -1,21 +1,7 @@
1
- "use client";
2
- "use client";
3
1
  import {
4
- PaginationButtons,
5
- PaginationDocs,
6
- PaginationFull,
7
- PaginationInfo,
8
- PaginationItem,
9
- PaginationRange,
10
- getPaginationRange
11
- } from "./chunk-ZMIZV66S.js";
12
- import "./chunk-NJKWNMJF.js";
2
+ PaginationDocs
3
+ } from "./chunk-4QUABBES.js";
4
+ import "./chunk-GRADTONK.js";
13
5
  export {
14
- PaginationButtons,
15
- PaginationDocs,
16
- PaginationFull,
17
- PaginationInfo,
18
- PaginationItem,
19
- PaginationRange,
20
- getPaginationRange
6
+ PaginationDocs
21
7
  };
@@ -1,8 +1,8 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
2
2
 
3
3
 
4
- var _chunkBCJ3FW3Ycjs = require('./chunk-BCJ3FW3Y.cjs');
5
- require('./chunk-7HHY2WDF.cjs');
4
+ var _chunk5SA5UPFQcjs = require('./chunk-5SA5UPFQ.cjs');
5
+ require('./chunk-2DFF5NEL.cjs');
6
6
 
7
7
 
8
- exports.ThemeControllerToggle = _chunkBCJ3FW3Ycjs.ThemeControllerToggle;
8
+ exports.ThemeControllerToggle = _chunk5SA5UPFQcjs.ThemeControllerToggle;
@@ -1,9 +1,8 @@
1
1
  "use client";
2
- "use client";
3
2
  import {
4
3
  ThemeControllerToggle
5
- } from "./chunk-HTNZRBKW.js";
6
- import "./chunk-NJKWNMJF.js";
4
+ } from "./chunk-PFRBA5BH.js";
5
+ import "./chunk-GRADTONK.js";
7
6
  export {
8
7
  ThemeControllerToggle
9
8
  };
package/dist/toggle.cjs CHANGED
@@ -2,9 +2,9 @@
2
2
 
3
3
 
4
4
 
5
- var _chunkACEM5N2Ycjs = require('./chunk-ACEM5N2Y.cjs');
6
- require('./chunk-7HHY2WDF.cjs');
5
+ var _chunkOO3HHTPVcjs = require('./chunk-OO3HHTPV.cjs');
6
+ require('./chunk-2DFF5NEL.cjs');
7
7
 
8
8
 
9
9
 
10
- exports.Toggle = _chunkACEM5N2Ycjs.Toggle; exports.ToggleGroup = _chunkACEM5N2Ycjs.ToggleGroup;
10
+ exports.Toggle = _chunkOO3HHTPVcjs.Toggle; exports.ToggleGroup = _chunkOO3HHTPVcjs.ToggleGroup;
package/dist/toggle.js CHANGED
@@ -1,10 +1,9 @@
1
1
  "use client";
2
- "use client";
3
2
  import {
4
3
  Toggle,
5
4
  ToggleGroup
6
- } from "./chunk-I4CZWV3M.js";
7
- import "./chunk-NJKWNMJF.js";
5
+ } from "./chunk-ND7BTYGG.js";
6
+ import "./chunk-GRADTONK.js";
8
7
  export {
9
8
  Toggle,
10
9
  ToggleGroup
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@docubook/ui-react",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "React + DaisyUI component library for documentation sites",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
@@ -196,5 +196,9 @@
196
196
  "docs framework",
197
197
  "ui",
198
198
  "tailwindcss"
199
- ]
199
+ ],
200
+ "dependencies": {
201
+ "clsx": "^2.1.1",
202
+ "tailwind-merge": "^2.6.1"
203
+ }
200
204
  }
@@ -1,330 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
-
3
- var _chunk7HHY2WDFcjs = require('./chunk-7HHY2WDF.cjs');
4
-
5
- // src/base/pagination.tsx
6
- var _react = require('react');
7
- var _jsxruntime = require('react/jsx-runtime');
8
- function getPaginationRange({
9
- totalCount,
10
- pageSize,
11
- siblingCount = 1,
12
- currentPage
13
- }) {
14
- const totalPages = Math.ceil(totalCount / pageSize);
15
- if (totalPages <= 1) return [1];
16
- const totalPageNumbers = siblingCount + 5;
17
- if (totalPages < totalPageNumbers) return Array.from({ length: totalPages }, (_, i) => i + 1);
18
- const leftSiblingIndex = Math.max(currentPage - siblingCount, 1);
19
- const rightSiblingIndex = Math.min(currentPage + siblingCount, totalPages);
20
- const showLeftDots = leftSiblingIndex > 2;
21
- const showRightDots = rightSiblingIndex < totalPages - 1;
22
- if (!showLeftDots && showRightDots)
23
- return [...Array.from({ length: 3 }, (_, i) => i + 1), "ellipsis", totalPages - 1, totalPages];
24
- if (showLeftDots && !showRightDots)
25
- return [1, 2, "ellipsis", ...Array.from({ length: 3 }, (_, i) => totalPages - 2 + i)];
26
- if (showLeftDots && showRightDots) {
27
- const middle = Array.from(
28
- { length: rightSiblingIndex - leftSiblingIndex + 1 },
29
- (_, i) => leftSiblingIndex + i
30
- );
31
- return [1, 2, "ellipsis", ...middle, "ellipsis", totalPages - 1, totalPages];
32
- }
33
- return [1];
34
- }
35
- function variantClass(variant) {
36
- if (variant === "square") return "[&_.join-item]:btn-square";
37
- if (variant === "rounded") return "[&_.join-item]:btn-circle";
38
- return "";
39
- }
40
- function PaginationItem({
41
- children,
42
- active,
43
- disabled,
44
- onClick,
45
- className,
46
- size = "md",
47
- "aria-label": ariaLabel
48
- }) {
49
- const sizeClass = size === "lg" ? "btn-lg" : size === "sm" ? "btn-sm" : size === "xs" ? "btn-xs" : "";
50
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
51
- "button",
52
- {
53
- type: "button",
54
- className: _chunk7HHY2WDFcjs.cn.call(void 0,
55
- "join-item btn",
56
- sizeClass,
57
- active && "btn-active",
58
- disabled && "btn-disabled",
59
- className
60
- ),
61
- onClick,
62
- disabled,
63
- "aria-label": ariaLabel,
64
- "aria-current": active ? "page" : void 0,
65
- children
66
- }
67
- );
68
- }
69
- function PaginationButtons({
70
- page,
71
- totalPages,
72
- onPageChange,
73
- className,
74
- size = "md",
75
- showFirstLast = false,
76
- showPrevNext = true,
77
- prevLabel,
78
- nextLabel,
79
- firstLabel,
80
- lastLabel,
81
- disabled = false
82
- }) {
83
- const sizeClass = size !== "md" ? `btn-${size}` : "";
84
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
85
- showFirstLast && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
86
- "button",
87
- {
88
- type: "button",
89
- className: _chunk7HHY2WDFcjs.cn.call(void 0, "join-item btn", sizeClass, className),
90
- onClick: () => onPageChange(1),
91
- disabled: disabled || page <= 1,
92
- "aria-label": firstLabel != null ? firstLabel : "First page",
93
- children: firstLabel != null ? firstLabel : "\xAB"
94
- }
95
- ),
96
- showPrevNext && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
97
- "button",
98
- {
99
- type: "button",
100
- className: _chunk7HHY2WDFcjs.cn.call(void 0, "join-item btn", sizeClass, className),
101
- onClick: () => onPageChange(page - 1),
102
- disabled: disabled || page <= 1,
103
- "aria-label": prevLabel != null ? prevLabel : "Previous page",
104
- children: prevLabel != null ? prevLabel : "\u2039"
105
- }
106
- ),
107
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "join-item btn btn-disabled no-animation cursor-default", children: [
108
- page,
109
- " / ",
110
- totalPages
111
- ] }),
112
- showPrevNext && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
113
- "button",
114
- {
115
- type: "button",
116
- className: _chunk7HHY2WDFcjs.cn.call(void 0, "join-item btn", sizeClass, className),
117
- onClick: () => onPageChange(page + 1),
118
- disabled: disabled || page >= totalPages,
119
- "aria-label": nextLabel != null ? nextLabel : "Next page",
120
- children: nextLabel != null ? nextLabel : "\u203A"
121
- }
122
- ),
123
- showFirstLast && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
124
- "button",
125
- {
126
- type: "button",
127
- className: _chunk7HHY2WDFcjs.cn.call(void 0, "join-item btn", sizeClass, className),
128
- onClick: () => onPageChange(totalPages),
129
- disabled: disabled || page >= totalPages,
130
- "aria-label": lastLabel != null ? lastLabel : "Last page",
131
- children: lastLabel != null ? lastLabel : "\xBB"
132
- }
133
- )
134
- ] });
135
- }
136
- function PaginationRange({
137
- start,
138
- end,
139
- total,
140
- current,
141
- onPageChange,
142
- siblingCount = 1,
143
- className,
144
- size = "md",
145
- variant
146
- }) {
147
- const range = _react.useMemo.call(void 0,
148
- () => getPaginationRange({
149
- totalCount: total,
150
- pageSize: end - start + 1,
151
- siblingCount,
152
- currentPage: current
153
- }),
154
- [total, start, end, siblingCount, current]
155
- );
156
- const sizeClass = size === "lg" ? "join-lg" : size === "sm" ? "join-sm" : size === "xs" ? "join-xs" : "";
157
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk7HHY2WDFcjs.cn.call(void 0, "join", sizeClass, variantClass(variant), className), children: range.map(
158
- (item, i) => item === "ellipsis" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "join-item btn btn-disabled no-animation", children: "..." }, `e-${i}`) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
159
- "button",
160
- {
161
- type: "button",
162
- className: _chunk7HHY2WDFcjs.cn.call(void 0,
163
- "join-item btn",
164
- item === current && "btn-active",
165
- size !== "md" && `btn-${size}`
166
- ),
167
- onClick: () => onPageChange(item),
168
- "aria-current": item === current ? "page" : void 0,
169
- children: item
170
- },
171
- item
172
- )
173
- ) });
174
- }
175
- function PaginationInfo({
176
- current,
177
- total,
178
- pageSize = 10,
179
- className,
180
- label = "Showing",
181
- showTotal = true
182
- }) {
183
- const start = (current - 1) * pageSize + 1;
184
- const end = Math.min(current * pageSize, total);
185
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk7HHY2WDFcjs.cn.call(void 0, "text-base-content/70 text-sm", className), children: [
186
- label,
187
- " ",
188
- start,
189
- "-",
190
- end,
191
- showTotal && ` of ${total}`
192
- ] });
193
- }
194
- function PaginationFull({
195
- current,
196
- total,
197
- pageSize = 10,
198
- onPageChange,
199
- siblingCount = 1,
200
- className,
201
- size = "md",
202
- variant,
203
- showFirstLast = true,
204
- showPrevNext = true,
205
- infoClassName
206
- }) {
207
- const totalPages = Math.ceil(total / pageSize);
208
- const range = _react.useMemo.call(void 0,
209
- () => getPaginationRange({ totalCount: total, pageSize, siblingCount, currentPage: current }),
210
- [total, pageSize, siblingCount, current]
211
- );
212
- const sizeClass = size === "lg" ? "join-lg" : size === "sm" ? "join-sm" : size === "xs" ? "join-xs" : "";
213
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk7HHY2WDFcjs.cn.call(void 0, "flex flex-col items-center justify-between gap-4 sm:flex-row", className), children: [
214
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
215
- PaginationInfo,
216
- {
217
- current,
218
- total,
219
- pageSize,
220
- className: infoClassName
221
- }
222
- ),
223
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk7HHY2WDFcjs.cn.call(void 0, "join", sizeClass, variantClass(variant)), children: [
224
- showFirstLast && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
225
- "button",
226
- {
227
- type: "button",
228
- className: _chunk7HHY2WDFcjs.cn.call(void 0, "join-item btn", size !== "md" && `btn-${size}`),
229
- onClick: () => onPageChange(1),
230
- disabled: current <= 1,
231
- "aria-label": "First page",
232
- children: "\xAB"
233
- }
234
- ),
235
- showPrevNext && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
236
- "button",
237
- {
238
- type: "button",
239
- className: _chunk7HHY2WDFcjs.cn.call(void 0, "join-item btn", size !== "md" && `btn-${size}`),
240
- onClick: () => onPageChange(current - 1),
241
- disabled: current <= 1,
242
- "aria-label": "Previous page",
243
- children: "\u2039"
244
- }
245
- ),
246
- range.map(
247
- (item, i) => item === "ellipsis" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "join-item btn btn-disabled no-animation", children: "..." }, `e-${i}`) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
248
- "button",
249
- {
250
- type: "button",
251
- className: _chunk7HHY2WDFcjs.cn.call(void 0,
252
- "join-item btn",
253
- item === current && "btn-active",
254
- size !== "md" && `btn-${size}`
255
- ),
256
- onClick: () => onPageChange(item),
257
- "aria-current": item === current ? "page" : void 0,
258
- children: item
259
- },
260
- item
261
- )
262
- ),
263
- showPrevNext && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
264
- "button",
265
- {
266
- type: "button",
267
- className: _chunk7HHY2WDFcjs.cn.call(void 0, "join-item btn", size !== "md" && `btn-${size}`),
268
- onClick: () => onPageChange(current + 1),
269
- disabled: current >= totalPages,
270
- "aria-label": "Next page",
271
- children: "\u203A"
272
- }
273
- ),
274
- showFirstLast && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
275
- "button",
276
- {
277
- type: "button",
278
- className: _chunk7HHY2WDFcjs.cn.call(void 0, "join-item btn", size !== "md" && `btn-${size}`),
279
- onClick: () => onPageChange(totalPages),
280
- disabled: current >= totalPages,
281
- "aria-label": "Last page",
282
- children: "\xBB"
283
- }
284
- )
285
- ] })
286
- ] });
287
- }
288
- function PaginationDocs({
289
- prev,
290
- next,
291
- className,
292
- prevIcon,
293
- nextIcon,
294
- linkClassName
295
- }) {
296
- const linkBase = "flex flex-col no-underline rounded-lg border border-base-300 bg-base-100 transition-colors hover:bg-base-200 hover:border-base-300";
297
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk7HHY2WDFcjs.cn.call(void 0, "grid grow grid-cols-1 gap-4 py-8 sm:grid-cols-2", className), children: [
298
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { children: prev && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "a", { href: prev.href, className: _chunk7HHY2WDFcjs.cn.call(void 0, linkBase, "items-start px-4 py-4", linkClassName), children: [
299
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-muted-foreground flex items-center justify-start text-xs", children: [
300
- prevIcon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "mr-1", children: prevIcon }),
301
- "Previous"
302
- ] }),
303
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-base-content mt-1 text-sm font-medium", children: prev.title })
304
- ] }) }),
305
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { children: next && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
306
- "a",
307
- {
308
- href: next.href,
309
- className: _chunk7HHY2WDFcjs.cn.call(void 0, linkBase, "items-end px-4 py-4 text-right", linkClassName),
310
- children: [
311
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-muted-foreground flex items-center justify-end text-xs", children: [
312
- "Next",
313
- nextIcon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "ml-1", children: nextIcon })
314
- ] }),
315
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-base-content mt-1 text-sm font-medium", children: next.title })
316
- ]
317
- }
318
- ) })
319
- ] });
320
- }
321
-
322
-
323
-
324
-
325
-
326
-
327
-
328
-
329
-
330
- exports.getPaginationRange = getPaginationRange; exports.PaginationItem = PaginationItem; exports.PaginationButtons = PaginationButtons; exports.PaginationRange = PaginationRange; exports.PaginationInfo = PaginationInfo; exports.PaginationFull = PaginationFull; exports.PaginationDocs = PaginationDocs;