@donotdev/components 0.0.13 → 0.0.15
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/advanced/Code/CodeContent.d.ts.map +1 -1
- package/dist/advanced/Code/CodeContent.js +5 -1
- package/dist/advanced/Code/CodeSkeleton.d.ts.map +1 -1
- package/dist/advanced/Code/CodeSkeleton.js +2 -1
- package/dist/advanced/ImageGallery/ImageGallery.d.ts +39 -0
- package/dist/advanced/ImageGallery/ImageGallery.d.ts.map +1 -0
- package/dist/advanced/ImageGallery/ImageGallery.js +138 -0
- package/dist/advanced/ImageGallery/index.d.ts +3 -0
- package/dist/advanced/ImageGallery/index.d.ts.map +1 -0
- package/dist/advanced/ImageGallery/index.js +2 -0
- package/dist/advanced/JsonViewer/JsonViewer.d.ts.map +1 -1
- package/dist/advanced/JsonViewer/JsonViewer.js +2 -1
- package/dist/advanced/index.d.ts +2 -0
- package/dist/advanced/index.d.ts.map +1 -1
- package/dist/advanced/index.js +1 -0
- package/dist/atomic/Accordion/AccordionPrimitive.d.ts +1 -1
- package/dist/atomic/Accordion/AccordionPrimitive.d.ts.map +1 -1
- package/dist/atomic/Accordion/AccordionPrimitive.js +1 -1
- package/dist/atomic/Accordion/index.d.ts.map +1 -1
- package/dist/atomic/Accordion/index.js +1 -1
- package/dist/atomic/AlertDialog/AlertDialogPrimitive.d.ts +1 -1
- package/dist/atomic/AlertDialog/AlertDialogPrimitive.d.ts.map +1 -1
- package/dist/atomic/AlertDialog/AlertDialogPrimitive.js +1 -1
- package/dist/atomic/AlertDialog/index.d.ts.map +1 -1
- package/dist/atomic/AlertDialog/index.js +1 -1
- package/dist/atomic/Avatar/AvatarPrimitive.d.ts +1 -2
- package/dist/atomic/Avatar/AvatarPrimitive.d.ts.map +1 -1
- package/dist/atomic/Avatar/AvatarPrimitive.js +1 -2
- package/dist/atomic/Avatar/index.d.ts +1 -1
- package/dist/atomic/Avatar/index.d.ts.map +1 -1
- package/dist/atomic/Avatar/index.js +1 -1
- package/dist/atomic/Badge/index.d.ts +1 -1
- package/dist/atomic/Button/index.d.ts +1 -1
- package/dist/atomic/Button/index.d.ts.map +1 -1
- package/dist/atomic/Checkbox/CheckboxPrimitive.d.ts +1 -1
- package/dist/atomic/Checkbox/CheckboxPrimitive.d.ts.map +1 -1
- package/dist/atomic/Checkbox/CheckboxPrimitive.js +1 -1
- package/dist/atomic/Checkbox/index.d.ts +17 -3
- package/dist/atomic/Checkbox/index.d.ts.map +1 -1
- package/dist/atomic/Checkbox/index.js +21 -5
- package/dist/atomic/Collapsible/CollapsiblePrimitive.d.ts +1 -2
- package/dist/atomic/Collapsible/CollapsiblePrimitive.d.ts.map +1 -1
- package/dist/atomic/Collapsible/CollapsiblePrimitive.js +1 -2
- package/dist/atomic/Collapsible/index.d.ts.map +1 -1
- package/dist/atomic/Collapsible/index.js +6 -2
- package/dist/atomic/ContextMenu/ContextMenuPrimitive.d.ts +1 -1
- package/dist/atomic/ContextMenu/ContextMenuPrimitive.d.ts.map +1 -1
- package/dist/atomic/ContextMenu/ContextMenuPrimitive.js +1 -1
- package/dist/atomic/ContextMenu/index.d.ts.map +1 -1
- package/dist/atomic/ContextMenu/index.js +1 -1
- package/dist/atomic/Dialog/DialogPrimitive.d.ts +1 -1
- package/dist/atomic/Dialog/DialogPrimitive.d.ts.map +1 -1
- package/dist/atomic/Dialog/DialogPrimitive.js +1 -1
- package/dist/atomic/DropdownMenu/DropdownMenuPrimitive.d.ts +1 -1
- package/dist/atomic/DropdownMenu/DropdownMenuPrimitive.d.ts.map +1 -1
- package/dist/atomic/DropdownMenu/DropdownMenuPrimitive.js +1 -1
- package/dist/atomic/DropdownMenu/index.d.ts.map +1 -1
- package/dist/atomic/DropdownMenu/index.js +1 -1
- package/dist/atomic/HoverCard/HoverCardPrimitive.d.ts +1 -1
- package/dist/atomic/HoverCard/HoverCardPrimitive.d.ts.map +1 -1
- package/dist/atomic/HoverCard/HoverCardPrimitive.js +1 -1
- package/dist/atomic/HoverCard/index.d.ts.map +1 -1
- package/dist/atomic/HoverCard/index.js +1 -1
- package/dist/atomic/Icons/Partner/providerIcons.d.ts.map +1 -1
- package/dist/atomic/Icons/Partner/providerIcons.js +17 -1
- package/dist/atomic/Input/index.d.ts +6 -1
- package/dist/atomic/Input/index.d.ts.map +1 -1
- package/dist/atomic/Input/index.js +10 -5
- package/dist/atomic/Label/FloatingLabel.d.ts +3 -1
- package/dist/atomic/Label/FloatingLabel.d.ts.map +1 -1
- package/dist/atomic/Label/FloatingLabel.js +2 -2
- package/dist/atomic/Label/LabelPrimitive.d.ts +1 -1
- package/dist/atomic/Label/LabelPrimitive.d.ts.map +1 -1
- package/dist/atomic/Label/LabelPrimitive.js +1 -1
- package/dist/atomic/Label/index.d.ts.map +1 -1
- package/dist/atomic/Label/index.js +1 -1
- package/dist/atomic/NavigationMenu/NavigationMenuPrimitive.d.ts +1 -1
- package/dist/atomic/NavigationMenu/NavigationMenuPrimitive.d.ts.map +1 -1
- package/dist/atomic/NavigationMenu/NavigationMenuPrimitive.js +1 -1
- package/dist/atomic/NavigationMenu/index.d.ts +1 -1
- package/dist/atomic/NavigationMenu/index.d.ts.map +1 -1
- package/dist/atomic/NavigationMenu/index.js +1 -1
- package/dist/atomic/Pagination/index.d.ts +7 -29
- package/dist/atomic/Pagination/index.d.ts.map +1 -1
- package/dist/atomic/Pagination/index.js +101 -71
- package/dist/atomic/PasswordInput/index.d.ts.map +1 -1
- package/dist/atomic/PasswordInput/index.js +1 -1
- package/dist/atomic/Popover/PopoverPrimitive.d.ts +1 -1
- package/dist/atomic/Popover/PopoverPrimitive.d.ts.map +1 -1
- package/dist/atomic/Popover/PopoverPrimitive.js +1 -1
- package/dist/atomic/Popover/index.d.ts.map +1 -1
- package/dist/atomic/Popover/index.js +1 -1
- package/dist/atomic/Portal/PortalPrimitive.d.ts +1 -1
- package/dist/atomic/Portal/PortalPrimitive.d.ts.map +1 -1
- package/dist/atomic/Portal/PortalPrimitive.js +1 -1
- package/dist/atomic/Portal/index.d.ts +1 -1
- package/dist/atomic/Portal/index.d.ts.map +1 -1
- package/dist/atomic/Portal/index.js +1 -1
- package/dist/atomic/Progress/ProgressPrimitive.d.ts +1 -1
- package/dist/atomic/Progress/ProgressPrimitive.d.ts.map +1 -1
- package/dist/atomic/Progress/ProgressPrimitive.js +1 -1
- package/dist/atomic/Progress/index.d.ts +1 -1
- package/dist/atomic/Progress/index.d.ts.map +1 -1
- package/dist/atomic/Progress/index.js +1 -1
- package/dist/atomic/RadioGroup/RadioGroupPrimitive.d.ts +1 -1
- package/dist/atomic/RadioGroup/RadioGroupPrimitive.d.ts.map +1 -1
- package/dist/atomic/RadioGroup/RadioGroupPrimitive.js +1 -1
- package/dist/atomic/RadioGroup/index.d.ts.map +1 -1
- package/dist/atomic/RadioGroup/index.js +1 -1
- package/dist/atomic/RangeInput/index.d.ts +45 -0
- package/dist/atomic/RangeInput/index.d.ts.map +1 -0
- package/dist/atomic/RangeInput/index.js +63 -0
- package/dist/atomic/Rating/index.d.ts +39 -0
- package/dist/atomic/Rating/index.d.ts.map +1 -0
- package/dist/atomic/Rating/index.js +115 -0
- package/dist/atomic/ScrollArea/ScrollAreaPrimitive.d.ts +1 -1
- package/dist/atomic/ScrollArea/ScrollAreaPrimitive.d.ts.map +1 -1
- package/dist/atomic/ScrollArea/ScrollAreaPrimitive.js +1 -1
- package/dist/atomic/ScrollArea/index.d.ts +1 -1
- package/dist/atomic/ScrollArea/index.d.ts.map +1 -1
- package/dist/atomic/ScrollArea/index.js +1 -1
- package/dist/atomic/Section/index.d.ts.map +1 -1
- package/dist/atomic/Section/index.js +1 -1
- package/dist/atomic/Select/SelectPrimitive.d.ts +1 -1
- package/dist/atomic/Select/SelectPrimitive.d.ts.map +1 -1
- package/dist/atomic/Select/SelectPrimitive.js +1 -1
- package/dist/atomic/Select/index.d.ts +2 -2
- package/dist/atomic/Select/index.d.ts.map +1 -1
- package/dist/atomic/Select/index.js +3 -3
- package/dist/atomic/Separator/SeparatorPrimitive.d.ts +1 -1
- package/dist/atomic/Separator/SeparatorPrimitive.d.ts.map +1 -1
- package/dist/atomic/Separator/SeparatorPrimitive.js +1 -1
- package/dist/atomic/Separator/index.d.ts +1 -1
- package/dist/atomic/Separator/index.d.ts.map +1 -1
- package/dist/atomic/Separator/index.js +1 -1
- package/dist/atomic/Sheet/SheetPrimitive.d.ts +1 -1
- package/dist/atomic/Sheet/SheetPrimitive.d.ts.map +1 -1
- package/dist/atomic/Sheet/SheetPrimitive.js +1 -1
- package/dist/atomic/Slider/SliderPrimitive.d.ts +1 -1
- package/dist/atomic/Slider/SliderPrimitive.d.ts.map +1 -1
- package/dist/atomic/Slider/SliderPrimitive.js +1 -1
- package/dist/atomic/Slider/index.d.ts +3 -2
- package/dist/atomic/Slider/index.d.ts.map +1 -1
- package/dist/atomic/Slider/index.js +9 -6
- package/dist/atomic/Stepper/index.d.ts +1 -1
- package/dist/atomic/Switch/SwitchPrimitive.d.ts +1 -1
- package/dist/atomic/Switch/SwitchPrimitive.d.ts.map +1 -1
- package/dist/atomic/Switch/SwitchPrimitive.js +1 -1
- package/dist/atomic/Switch/index.d.ts +1 -1
- package/dist/atomic/Switch/index.d.ts.map +1 -1
- package/dist/atomic/Switch/index.js +1 -1
- package/dist/atomic/Table/index.d.ts +18 -5
- package/dist/atomic/Table/index.d.ts.map +1 -1
- package/dist/atomic/Table/index.js +91 -31
- package/dist/atomic/Tabs/TabsPrimitive.d.ts +1 -2
- package/dist/atomic/Tabs/TabsPrimitive.d.ts.map +1 -1
- package/dist/atomic/Tabs/TabsPrimitive.js +1 -2
- package/dist/atomic/Tabs/index.d.ts +2 -2
- package/dist/atomic/Tabs/index.d.ts.map +1 -1
- package/dist/atomic/Tabs/index.js +1 -1
- package/dist/atomic/Text/index.d.ts +6 -0
- package/dist/atomic/Text/index.d.ts.map +1 -1
- package/dist/atomic/Text/index.js +2 -1
- package/dist/atomic/Textarea/index.d.ts +4 -0
- package/dist/atomic/Textarea/index.d.ts.map +1 -1
- package/dist/atomic/Textarea/index.js +3 -3
- package/dist/atomic/Toaster/Toast.types.d.ts +17 -0
- package/dist/atomic/Toaster/Toast.types.d.ts.map +1 -0
- package/dist/atomic/Toaster/Toast.types.js +2 -0
- package/dist/atomic/Toaster/ToastPrimitive.d.ts +2 -2
- package/dist/atomic/Toaster/ToastPrimitive.d.ts.map +1 -1
- package/dist/atomic/Toaster/ToastPrimitive.js +1 -1
- package/dist/atomic/Toaster/index.js +1 -1
- package/dist/atomic/Toggle/TogglePrimitive.d.ts +0 -1
- package/dist/atomic/Toggle/TogglePrimitive.d.ts.map +1 -1
- package/dist/atomic/Toggle/TogglePrimitive.js +0 -1
- package/dist/atomic/Toggle/index.d.ts +2 -2
- package/dist/atomic/Toggle/index.d.ts.map +1 -1
- package/dist/atomic/Toggle/index.js +1 -1
- package/dist/atomic/ToggleGroup/ToggleGroupPrimitive.d.ts +1 -1
- package/dist/atomic/ToggleGroup/ToggleGroupPrimitive.d.ts.map +1 -1
- package/dist/atomic/ToggleGroup/ToggleGroupPrimitive.js +1 -1
- package/dist/atomic/ToggleGroup/index.d.ts.map +1 -1
- package/dist/atomic/ToggleGroup/index.js +1 -1
- package/dist/atomic/Tooltip/TooltipPrimitive.d.ts +1 -1
- package/dist/atomic/Tooltip/TooltipPrimitive.d.ts.map +1 -1
- package/dist/atomic/Tooltip/TooltipPrimitive.js +1 -1
- package/dist/atomic/Tooltip/index.d.ts.map +1 -1
- package/dist/atomic/Tooltip/index.js +1 -1
- package/dist/atomic/VideoPlayer/index.d.ts +11 -1
- package/dist/atomic/VideoPlayer/index.d.ts.map +1 -1
- package/dist/atomic/VideoPlayer/index.js +6 -8
- package/dist/atomic/VisuallyHidden/VisuallyHiddenPrimitive.d.ts +0 -1
- package/dist/atomic/VisuallyHidden/VisuallyHiddenPrimitive.d.ts.map +1 -1
- package/dist/atomic/VisuallyHidden/VisuallyHiddenPrimitive.js +0 -1
- package/dist/atomic/index.d.ts +7 -0
- package/dist/atomic/index.d.ts.map +1 -1
- package/dist/atomic/index.js +5 -0
- package/dist/hooks/index.d.ts +2 -1
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/useToast.d.ts +1 -8
- package/dist/hooks/useToast.d.ts.map +1 -1
- package/dist/hooks/useToast.js +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -4
- package/dist/styles/index.css +365 -72
- package/dist/utils/variants.d.ts +1 -1
- package/package.json +5 -5
|
@@ -1,77 +1,107 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
// packages/components/src/atomic/Pagination/index.tsx
|
|
3
|
-
|
|
4
|
-
* @fileoverview Pagination component
|
|
5
|
-
* @description Accessible pagination component with props-based API
|
|
6
|
-
*
|
|
7
|
-
* @version 0.0.1
|
|
8
|
-
* @since 0.0.1
|
|
9
|
-
* @author AMBROISE PARK Consulting
|
|
10
|
-
*/
|
|
3
|
+
import { useMemo, useState } from 'react';
|
|
11
4
|
import { ChevronLeft, ChevronRight } from 'lucide-react';
|
|
12
|
-
import { useMemo } from 'react';
|
|
13
|
-
import { cn } from '../../utils/helpers';
|
|
14
|
-
import Stack from '../Stack';
|
|
15
5
|
import './Pagination.css';
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
6
|
+
import Button from '../Button';
|
|
7
|
+
import Select from '../Select';
|
|
8
|
+
import Text from '../Text';
|
|
9
|
+
import { cn } from '../../utils/helpers';
|
|
10
|
+
const Pagination = ({ currentPage, totalPages, onPageChange, pageSize: pageSizeProp, total: totalProp, onPageSizeChange, maxVisible = 5, // Default to 5 to fit safe on mobile (48px * 7 items ~= 336px)
|
|
11
|
+
showNavigation = true, previousLabel = 'Previous', nextLabel = 'Next', itemsPerPagePlaceholder = 'Items per page', showingLabel, className, }) => {
|
|
12
|
+
const [internalPageSize, setInternalPageSize] = useState(12);
|
|
13
|
+
const pageSize = pageSizeProp ?? internalPageSize;
|
|
14
|
+
const total = totalProp;
|
|
15
|
+
const handlePageSizeChange = (value) => {
|
|
16
|
+
const newPageSize = value === 'all' ? 0 : Number(value);
|
|
17
|
+
if (onPageSizeChange) {
|
|
18
|
+
onPageSizeChange(newPageSize);
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
setInternalPageSize(newPageSize);
|
|
22
|
+
}
|
|
23
|
+
onPageChange(1);
|
|
24
|
+
};
|
|
25
|
+
const isShowingAll = pageSize === 0;
|
|
26
|
+
const effectiveTotalPages = isShowingAll
|
|
27
|
+
? 1
|
|
28
|
+
: total && total > 0
|
|
29
|
+
? Math.ceil(total / pageSize)
|
|
30
|
+
: totalPages;
|
|
31
|
+
const selectValue = isShowingAll ? 'all' : String(pageSize);
|
|
32
|
+
let pageSizeOptions = [];
|
|
33
|
+
if (typeof total === 'number' && total > 0) {
|
|
34
|
+
if (total < 12) {
|
|
35
|
+
pageSizeOptions = [];
|
|
36
|
+
}
|
|
37
|
+
else if (total < 36) {
|
|
38
|
+
pageSizeOptions = [
|
|
39
|
+
{ value: '12', label: '12' },
|
|
40
|
+
{ value: 'all', label: String(total) },
|
|
41
|
+
];
|
|
42
|
+
}
|
|
43
|
+
else if (total < 120) {
|
|
44
|
+
pageSizeOptions = [
|
|
45
|
+
{ value: '12', label: '12' },
|
|
46
|
+
{ value: '36', label: '36' },
|
|
47
|
+
{ value: 'ALL', label: String(total) },
|
|
48
|
+
];
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
pageSizeOptions = [
|
|
52
|
+
{ value: '12', label: '12' },
|
|
53
|
+
{ value: '36', label: '36' },
|
|
54
|
+
{ value: '120', label: '120' },
|
|
55
|
+
{ value: 'all', label: String(total) },
|
|
56
|
+
];
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
pageSizeOptions = [
|
|
61
|
+
{ value: '12', label: '12' },
|
|
62
|
+
{ value: '36', label: '36' },
|
|
63
|
+
{ value: '120', label: '120' },
|
|
64
|
+
{ value: 'all', label: 'All' },
|
|
65
|
+
];
|
|
66
|
+
}
|
|
67
|
+
const showPageSizeSelector = pageSizeOptions.length > 1;
|
|
36
68
|
const pageNumbers = useMemo(() => {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
pages.push(
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
return (_jsx("li", { className: "dndev-pagination-item", children: _jsx("button", { type: "button", onClick: () => onPageChange(page), "aria-current": page === currentPage ? 'page' : undefined, "aria-label": `Page ${page}`, className: "dndev-pagination-button", children: page }) }, page));
|
|
75
|
-
}), showNavigation && currentPage < totalPages && (_jsx("li", { className: "dndev-pagination-item", children: _jsx("button", { type: "button", onClick: () => onPageChange(Math.min(totalPages, currentPage + 1)), className: "dndev-pagination-button", "aria-label": nextLabel, children: _jsx(ChevronRight, { className: "dndev-size-md" }) }) }, "next"))] }) }));
|
|
69
|
+
if (isShowingAll)
|
|
70
|
+
return [1];
|
|
71
|
+
if (effectiveTotalPages <= maxVisible) {
|
|
72
|
+
return Array.from({ length: effectiveTotalPages }, (_, i) => i + 1);
|
|
73
|
+
}
|
|
74
|
+
const pages = [];
|
|
75
|
+
const half = Math.floor(maxVisible / 2);
|
|
76
|
+
if (currentPage <= half + 1) {
|
|
77
|
+
for (let i = 1; i <= maxVisible - 2; i++)
|
|
78
|
+
pages.push(i);
|
|
79
|
+
pages.push('ellipsis', effectiveTotalPages);
|
|
80
|
+
}
|
|
81
|
+
else if (currentPage >= effectiveTotalPages - half) {
|
|
82
|
+
pages.push(1, 'ellipsis');
|
|
83
|
+
for (let i = effectiveTotalPages - (maxVisible - 3); i <= effectiveTotalPages; i++)
|
|
84
|
+
pages.push(i);
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
pages.push(1, 'ellipsis');
|
|
88
|
+
for (let i = currentPage - 1; i <= currentPage + 1; i++)
|
|
89
|
+
pages.push(i);
|
|
90
|
+
pages.push('ellipsis', effectiveTotalPages);
|
|
91
|
+
}
|
|
92
|
+
return pages;
|
|
93
|
+
}, [currentPage, effectiveTotalPages, maxVisible, isShowingAll]);
|
|
94
|
+
const startItem = (currentPage - 1) * pageSize + 1;
|
|
95
|
+
const endItem = Math.min(currentPage * pageSize, total || 0);
|
|
96
|
+
const showInfo = typeof total === 'number' && total > 0;
|
|
97
|
+
const showingText = showInfo && showingLabel
|
|
98
|
+
? showingLabel
|
|
99
|
+
.replace('{{from}}', String(startItem))
|
|
100
|
+
.replace('{{to}}', String(endItem))
|
|
101
|
+
.replace('{{total}}', String(total))
|
|
102
|
+
: showInfo
|
|
103
|
+
? `Showing ${startItem}-${endItem} of ${total}`
|
|
104
|
+
: null;
|
|
105
|
+
return (_jsxs("nav", { role: "navigation", "aria-label": "pagination", className: cn('dndev-pagination', className), children: [_jsx("div", { className: "dndev-pagination-info", children: showingText && (_jsx(Text, { level: "small", variant: "muted", children: showingText })) }), _jsx("div", { className: "dndev-pagination-size", children: showPageSizeSelector && (_jsxs(_Fragment, { children: [_jsx("span", { className: "dndev-pagination-size-label", children: _jsx(Text, { level: "small", variant: "muted", children: itemsPerPagePlaceholder }) }), _jsx(Select, { value: selectValue, onValueChange: handlePageSizeChange, options: pageSizeOptions, placeholder: String(pageSize) })] })) }), _jsxs("div", { className: "dndev-pagination-nav", children: [showNavigation && (_jsx(Button, { variant: "ghost", className: "dndev-pagination-button", icon: ChevronLeft, onClick: () => onPageChange(Math.max(1, currentPage - 1)), disabled: currentPage <= 1, "aria-label": previousLabel })), _jsx("ul", { className: "dndev-pagination-list", children: pageNumbers.map((page, index) => page === 'ellipsis' ? (_jsx("li", { children: _jsx("div", { className: "dndev-pagination-button", children: _jsx(Text, { level: "small", variant: "muted", children: "..." }) }) }, `ellipsis-${index}`)) : (_jsx("li", { children: _jsx(Button, { variant: page === currentPage ? 'default' : 'ghost', className: "dndev-pagination-button", onClick: () => onPageChange(page), "aria-current": page === currentPage ? 'page' : undefined, "aria-label": `Page ${page}`, children: page }) }, page))) }), showNavigation && (_jsx(Button, { variant: "ghost", className: "dndev-pagination-button", icon: ChevronRight, onClick: () => onPageChange(Math.min(effectiveTotalPages, currentPage + 1)), disabled: currentPage >= effectiveTotalPages, "aria-label": nextLabel }))] })] }));
|
|
76
106
|
};
|
|
77
107
|
export default Pagination;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atomic/PasswordInput/index.tsx"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,qBAAqB,CAAC;AAE7B,MAAM,WAAW,kBAAmB,SAAQ,IAAI,CAC9C,mBAAmB,CAAC,gBAAgB,CAAC,EACrC,MAAM,CACP;IACC,gDAAgD;IAChD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,uCAAuC;IACvC,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAChD,8EAA8E;IAC9E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,QAAA,MAAM,aAAa,GAAI,kHAUpB,kBAAkB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atomic/PasswordInput/index.tsx"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,qBAAqB,CAAC;AAE7B,MAAM,WAAW,kBAAmB,SAAQ,IAAI,CAC9C,mBAAmB,CAAC,gBAAgB,CAAC,EACrC,MAAM,CACP;IACC,gDAAgD;IAChD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,uCAAuC;IACvC,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAChD,8EAA8E;IAC9E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,QAAA,MAAM,aAAa,GAAI,kHAUpB,kBAAkB,4CAoEpB,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
|
@@ -55,7 +55,7 @@ const PasswordInput = ({ className, visible: controlledVisible, onVisibilityChan
|
|
|
55
55
|
}
|
|
56
56
|
onVisibilityChange?.(newVisible);
|
|
57
57
|
};
|
|
58
|
-
const inputContent = (_jsxs("div", { className: "dndev-relative", children: [_jsx("input", { id: id, type: isVisible ? 'text' : 'password', value: value, className: cn('dndev-input', 'dndev-password-input-with-toggle', className), onFocus: onFocus, onBlur: onBlur, required: required, ...props }), _jsx("button", { type: "button", className: "dndev-password-toggle-button", onClick: toggleVisibility, "aria-label": isVisible ? 'Hide password' : 'Show password', "aria-describedby": props['aria-describedby'], tabIndex: -1, children: isVisible ? (_jsx(EyeOff, { className: "dndev-size-md dndev-password-toggle-icon" })) : (_jsx(Eye, { className: "dndev-size-md dndev-password-toggle-icon" })) })] }));
|
|
58
|
+
const inputContent = (_jsxs("div", { className: "dndev-relative", children: [_jsx("input", { id: id, type: isVisible ? 'text' : 'password', value: value, className: cn('dndev-input', 'dndev-password-input-with-toggle', className), "data-bare": hasLabel || undefined, onFocus: onFocus, onBlur: onBlur, required: required, ...props }), _jsx("button", { type: "button", className: "dndev-password-toggle-button", onClick: toggleVisibility, "aria-label": isVisible ? 'Hide password' : 'Show password', "aria-describedby": props['aria-describedby'], tabIndex: -1, children: isVisible ? (_jsx(EyeOff, { className: "dndev-size-md dndev-password-toggle-icon" })) : (_jsx(Eye, { className: "dndev-size-md dndev-password-toggle-icon" })) })] }));
|
|
59
59
|
if (!hasLabel) {
|
|
60
60
|
return inputContent;
|
|
61
61
|
}
|
|
@@ -14,6 +14,6 @@ declare const PopoverContent: ({ className, align, side, sideOffset, onCloseAuto
|
|
|
14
14
|
onCloseAutoFocus?: (event: Event) => void;
|
|
15
15
|
onInteractOutside?: (event: Event) => void;
|
|
16
16
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
17
|
-
export
|
|
17
|
+
export { Popover as PopoverPrimitive };
|
|
18
18
|
export { PopoverTrigger, PopoverContent };
|
|
19
19
|
//# sourceMappingURL=PopoverPrimitive.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PopoverPrimitive.d.ts","sourceRoot":"","sources":["../../../src/atomic/Popover/PopoverPrimitive.tsx"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,KAAK,gBAAgB,MAAM,yBAAyB,CAAC;AAI5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAE5C,QAAA,MAAM,OAAO,mDAAwB,CAAC;AAEtC,QAAA,MAAM,cAAc,oIAA2B,CAAC;AAEhD,QAAA,MAAM,cAAc,GAAI,uFAQrB,cAAc,CAAC,OAAO,gBAAgB,CAAC,OAAO,CAAC,GAAG;IACnD,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAC1C,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAC5C,4CA0BA,CAAC;AAEF,
|
|
1
|
+
{"version":3,"file":"PopoverPrimitive.d.ts","sourceRoot":"","sources":["../../../src/atomic/Popover/PopoverPrimitive.tsx"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,KAAK,gBAAgB,MAAM,yBAAyB,CAAC;AAI5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAE5C,QAAA,MAAM,OAAO,mDAAwB,CAAC;AAEtC,QAAA,MAAM,cAAc,oIAA2B,CAAC;AAEhD,QAAA,MAAM,cAAc,GAAI,uFAQrB,cAAc,CAAC,OAAO,gBAAgB,CAAC,OAAO,CAAC,GAAG;IACnD,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAC1C,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAC5C,4CA0BA,CAAC;AAEF,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,CAAC"}
|
|
@@ -25,5 +25,5 @@ const PopoverContent = ({ className, align = 'start', side = 'bottom', sideOffse
|
|
|
25
25
|
}
|
|
26
26
|
: undefined, className: cn(className), ...props }) }));
|
|
27
27
|
};
|
|
28
|
-
export
|
|
28
|
+
export { Popover as PopoverPrimitive };
|
|
29
29
|
export { PopoverTrigger, PopoverContent };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atomic/Popover/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atomic/Popover/index.tsx"],"names":[],"mappings":"AAgBA,OAAO,EAAoB,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAG/E;;GAEG;AACH,QAAA,MAAM,WAAW,oEAAmB,CAAC;AACrC,QAAA,MAAM,uBAAuB,qJAAiB,CAAC;AAC/C,QAAA,MAAM,uBAAuB;oBAK5B,CAAA;qBAA6C,CAAC;6CALD,CAAC;AAE/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC;;;;GAIG;AACH,eAAO,MAAM,eAAe;;;;;;;;;CAAmB,CAAC;AAEhD,MAAM,WAAW,YAAY;IAC3B,2CAA2C;IAC3C,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,sBAAsB;IACtB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,4BAA4B;IAC5B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,uCAAuC;IACvC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,oCAAoC;IACpC,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IACnC,2BAA2B;IAC3B,IAAI,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC3C,4BAA4B;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2CAA2C;IAC3C,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sEAAsE;IACtE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,gCAAgC;IAChC,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAC5C;AAED;;;;;;;;;;;;;GAaG;AACH,QAAA,MAAM,OAAO;wHAYV,YAAY;;;;wBAzDd,CAAA;yBAA6C,CAAC;;CA2E9C,CAAC;wBAMwB,OAAO,OAAO,GAAG;IACzC,IAAI,EAAE,OAAO,WAAW,CAAC;IACzB,OAAO,EAAE,OAAO,uBAAuB,CAAC;IACxC,OAAO,EAAE,OAAO,uBAAuB,CAAC;CACzC;AAJD,wBAIE"}
|
|
@@ -8,7 +8,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
8
8
|
* @since 0.0.1
|
|
9
9
|
* @author AMBROISE PARK Consulting
|
|
10
10
|
*/
|
|
11
|
-
import PopoverPrimitive,
|
|
11
|
+
import { PopoverPrimitive, PopoverTrigger, PopoverContent, } from './PopoverPrimitive';
|
|
12
12
|
import { FLOATING_VARIANT } from '../../utils/constants';
|
|
13
13
|
import { cn, getVariantDataAttrs } from '../../utils/helpers';
|
|
14
14
|
/**
|
|
@@ -20,5 +20,5 @@ export interface PortalPrimitiveProps extends ComponentProps<typeof PortalPrimit
|
|
|
20
20
|
* @returns {JSX.Element} The rendered portal
|
|
21
21
|
*/
|
|
22
22
|
declare const PortalPrimitiveComponent: ({ className, children, ...props }: PortalPrimitiveProps) => import("react/jsx-runtime").JSX.Element;
|
|
23
|
-
export
|
|
23
|
+
export { PortalPrimitiveComponent as PortalPrimitive };
|
|
24
24
|
//# sourceMappingURL=PortalPrimitive.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PortalPrimitive.d.ts","sourceRoot":"","sources":["../../../src/atomic/Portal/PortalPrimitive.tsx"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAE1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAE5C,MAAM,WAAW,oBAAqB,SAAQ,cAAc,CAC1D,OAAO,eAAe,CAAC,IAAI,CAC5B;IACC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,QAAA,MAAM,wBAAwB,GAAI,mCAI/B,oBAAoB,4CAEtB,CAAC;AAEF,
|
|
1
|
+
{"version":3,"file":"PortalPrimitive.d.ts","sourceRoot":"","sources":["../../../src/atomic/Portal/PortalPrimitive.tsx"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAE1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAE5C,MAAM,WAAW,oBAAqB,SAAQ,cAAc,CAC1D,OAAO,eAAe,CAAC,IAAI,CAC5B;IACC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,QAAA,MAAM,wBAAwB,GAAI,mCAI/B,oBAAoB,4CAEtB,CAAC;AAEF,OAAO,EAAE,wBAAwB,IAAI,eAAe,EAAE,CAAC"}
|
|
@@ -18,4 +18,4 @@ import * as PortalPrimitive from '@radix-ui/react-portal';
|
|
|
18
18
|
* @returns {JSX.Element} The rendered portal
|
|
19
19
|
*/
|
|
20
20
|
const PortalPrimitiveComponent = ({ className, children, ...props }) => (_jsx(PortalPrimitive.Root, { ...props, children: children }));
|
|
21
|
-
export
|
|
21
|
+
export { PortalPrimitiveComponent as PortalPrimitive };
|
|
@@ -6,6 +6,6 @@
|
|
|
6
6
|
* @since 0.0.1
|
|
7
7
|
* @author AMBROISE PARK Consulting
|
|
8
8
|
*/
|
|
9
|
-
export { default } from './PortalPrimitive';
|
|
9
|
+
export { PortalPrimitive as default } from './PortalPrimitive';
|
|
10
10
|
export type { PortalPrimitiveProps as PortalProps } from './PortalPrimitive';
|
|
11
11
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atomic/Portal/index.tsx"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atomic/Portal/index.tsx"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,EAAE,eAAe,IAAI,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC/D,YAAY,EAAE,oBAAoB,IAAI,WAAW,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -27,5 +27,5 @@ export interface ProgressPrimitiveProps extends ComponentProps<typeof ProgressPr
|
|
|
27
27
|
* @returns {JSX.Element} The rendered progress bar
|
|
28
28
|
*/
|
|
29
29
|
declare const ProgressPrimitiveComponent: ({ className, value, variant, ...props }: ProgressPrimitiveProps) => import("react/jsx-runtime").JSX.Element;
|
|
30
|
-
export
|
|
30
|
+
export { ProgressPrimitiveComponent as ProgressPrimitive };
|
|
31
31
|
//# sourceMappingURL=ProgressPrimitive.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProgressPrimitive.d.ts","sourceRoot":"","sources":["../../../src/atomic/Progress/ProgressPrimitive.tsx"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAC;AAI9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAE5C,MAAM,WAAW,sBAAuB,SAAQ,cAAc,CAC5D,OAAO,iBAAiB,CAAC,IAAI,CAC9B;IACC;;;OAGG;IACH,OAAO,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,aAAa,CAAC;CACxE;AAED;;;;;;;;;;GAUG;AACH,QAAA,MAAM,0BAA0B,GAAI,yCAKjC,sBAAsB,4CAkBxB,CAAC;AAEF,
|
|
1
|
+
{"version":3,"file":"ProgressPrimitive.d.ts","sourceRoot":"","sources":["../../../src/atomic/Progress/ProgressPrimitive.tsx"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAC;AAI9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAE5C,MAAM,WAAW,sBAAuB,SAAQ,cAAc,CAC5D,OAAO,iBAAiB,CAAC,IAAI,CAC9B;IACC;;;OAGG;IACH,OAAO,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,aAAa,CAAC;CACxE;AAED;;;;;;;;;;GAUG;AACH,QAAA,MAAM,0BAA0B,GAAI,yCAKjC,sBAAsB,4CAkBxB,CAAC;AAEF,OAAO,EAAE,0BAA0B,IAAI,iBAAiB,EAAE,CAAC"}
|
|
@@ -25,4 +25,4 @@ const ProgressPrimitiveComponent = ({ className, value, variant = 'default', ...
|
|
|
25
25
|
const variantAttrs = getVariantDataAttrs({ variant });
|
|
26
26
|
return (_jsx(ProgressPrimitive.Root, { value: value, "aria-valuenow": value ?? 0, "aria-valuemin": 0, "aria-valuemax": 100, className: cn(className), ...props, children: _jsx(ProgressPrimitive.Indicator, { ...variantAttrs, style: { transform: `translateX(-${100 - (value || 0)}%)` } }) }));
|
|
27
27
|
};
|
|
28
|
-
export
|
|
28
|
+
export { ProgressPrimitiveComponent as ProgressPrimitive };
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* @since 0.0.1
|
|
7
7
|
* @author AMBROISE PARK Consulting
|
|
8
8
|
*/
|
|
9
|
-
import ProgressPrimitive,
|
|
9
|
+
import { ProgressPrimitive, type ProgressPrimitiveProps } from './ProgressPrimitive';
|
|
10
10
|
declare const Progress: ({ className, ...props }: ProgressPrimitiveProps) => import("react/jsx-runtime").JSX.Element;
|
|
11
11
|
export default Progress;
|
|
12
12
|
export { ProgressPrimitive };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atomic/Progress/index.tsx"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,iBAAiB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atomic/Progress/index.tsx"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,EACL,iBAAiB,EACjB,KAAK,sBAAsB,EAC5B,MAAM,qBAAqB,CAAC;AAG7B,QAAA,MAAM,QAAQ,GAAI,yBAAyB,sBAAsB,4CAEhE,CAAC;AAEF,eAAe,QAAQ,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAC7B,YAAY,EAAE,sBAAsB,IAAI,aAAa,EAAE,CAAC"}
|
|
@@ -8,7 +8,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
8
8
|
* @since 0.0.1
|
|
9
9
|
* @author AMBROISE PARK Consulting
|
|
10
10
|
*/
|
|
11
|
-
import ProgressPrimitive,
|
|
11
|
+
import { ProgressPrimitive, } from './ProgressPrimitive';
|
|
12
12
|
import { cn } from '../../utils/helpers';
|
|
13
13
|
const Progress = ({ className, ...props }) => (_jsx(ProgressPrimitive, { className: cn('dndev-progress', className), ...props }));
|
|
14
14
|
export default Progress;
|
|
@@ -22,7 +22,7 @@ export interface RadioOption {
|
|
|
22
22
|
declare const RadioGroupRootPrimitive: import("react").ForwardRefExoticComponent<RadixRadioGroup.RadioGroupProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
23
23
|
declare const RadioGroupItemPrimitive: ({ className, ...props }: ComponentProps<typeof RadixRadioGroup.Item>) => import("react/jsx-runtime").JSX.Element;
|
|
24
24
|
declare const RadioGroupIndicatorPrimitive: ({ className, ...props }: ComponentProps<typeof RadixRadioGroup.Indicator>) => import("react/jsx-runtime").JSX.Element;
|
|
25
|
-
export
|
|
25
|
+
export { RadioGroupRootPrimitive as RadioGroupPrimitive };
|
|
26
26
|
export { RadioGroupRootPrimitive, RadioGroupItemPrimitive, RadioGroupIndicatorPrimitive, };
|
|
27
27
|
export type RadioGroupRootProps = ComponentProps<typeof RadixRadioGroup.Root>;
|
|
28
28
|
export type RadioGroupItemProps = ComponentProps<typeof RadixRadioGroup.Item>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RadioGroupPrimitive.d.ts","sourceRoot":"","sources":["../../../src/atomic/RadioGroup/RadioGroupPrimitive.tsx"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,KAAK,eAAe,MAAM,6BAA6B,CAAC;AAI/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAE5C;;;;;;GAMG;AACH,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,QAAA,MAAM,uBAAuB,4HAAuB,CAAC;AAErD,QAAA,MAAM,uBAAuB,GAAI,yBAG9B,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,4CAM7C,CAAC;AAEF,QAAA,MAAM,4BAA4B,GAAI,yBAGnC,cAAc,CAAC,OAAO,eAAe,CAAC,SAAS,CAAC,4CAElD,CAAC;AAEF,
|
|
1
|
+
{"version":3,"file":"RadioGroupPrimitive.d.ts","sourceRoot":"","sources":["../../../src/atomic/RadioGroup/RadioGroupPrimitive.tsx"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,KAAK,eAAe,MAAM,6BAA6B,CAAC;AAI/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAE5C;;;;;;GAMG;AACH,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,QAAA,MAAM,uBAAuB,4HAAuB,CAAC;AAErD,QAAA,MAAM,uBAAuB,GAAI,yBAG9B,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,4CAM7C,CAAC;AAEF,QAAA,MAAM,4BAA4B,GAAI,yBAGnC,cAAc,CAAC,OAAO,eAAe,CAAC,SAAS,CAAC,4CAElD,CAAC;AAEF,OAAO,EAAE,uBAAuB,IAAI,mBAAmB,EAAE,CAAC;AAC1D,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,4BAA4B,GAC7B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;AAC9E,MAAM,MAAM,mBAAmB,GAAG,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;AAC9E,MAAM,MAAM,wBAAwB,GAAG,cAAc,CACnD,OAAO,eAAe,CAAC,SAAS,CACjC,CAAC"}
|
|
@@ -13,5 +13,5 @@ import { cn } from '../../utils/helpers';
|
|
|
13
13
|
const RadioGroupRootPrimitive = RadixRadioGroup.Root;
|
|
14
14
|
const RadioGroupItemPrimitive = ({ className, ...props }) => (_jsx(RadixRadioGroup.Item, { className: cn(className), "data-type": "radio", ...props }));
|
|
15
15
|
const RadioGroupIndicatorPrimitive = ({ className, ...props }) => (_jsx(RadixRadioGroup.Indicator, { className: cn(className), ...props }));
|
|
16
|
-
export
|
|
16
|
+
export { RadioGroupRootPrimitive as RadioGroupPrimitive };
|
|
17
17
|
export { RadioGroupRootPrimitive, RadioGroupItemPrimitive, RadioGroupIndicatorPrimitive, };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atomic/RadioGroup/index.tsx"],"names":[],"mappings":"AAcA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atomic/RadioGroup/index.tsx"],"names":[],"mappings":"AAcA,OAAO,EAKL,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAG7E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,kBAAkB,CAAC;AAoB1B,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,mBAAmB,EAAE,UAAU,CAAC;IAC5E,6BAA6B;IAC7B,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,sDAAsD;IACtD,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;IACtB,oEAAoE;IACpE,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,UAAU,GAAG,WAAW,CAAC;IACtE,iDAAiD;IACjD,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,QAAA,MAAM,UAAU,GAAI,6DAOjB,eAAe,4CAyBjB,CAAC;AAEF,eAAe,UAAU,CAAC;AAC1B,OAAO,EAAE,eAAe,IAAI,kBAAkB,EAAE,CAAC;AACjD,YAAY,EAAE,WAAW,EAAE,cAAc,IAAI,iBAAiB,EAAE,CAAC"}
|
|
@@ -10,7 +10,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
10
10
|
* @author AMBROISE PARK Consulting
|
|
11
11
|
*/
|
|
12
12
|
import { cva } from 'class-variance-authority';
|
|
13
|
-
import RadioGroupPrimitive,
|
|
13
|
+
import { RadioGroupPrimitive, RadioGroupRootPrimitive, RadioGroupItemPrimitive, RadioGroupIndicatorPrimitive, } from './RadioGroupPrimitive';
|
|
14
14
|
import { CONTROL_VARIANT } from '../../utils/constants';
|
|
15
15
|
import { cn, getVariantDataAttrs } from '../../utils/helpers';
|
|
16
16
|
import './RadioGroup.css';
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { InputHTMLAttributes } from 'react';
|
|
2
|
+
import './RangeInput.css';
|
|
3
|
+
export interface RangeInputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'onChange' | 'value'> {
|
|
4
|
+
/** Label for the range (single FloatingLabel wrapping both inputs) */
|
|
5
|
+
label?: string;
|
|
6
|
+
/** Placeholder for min input */
|
|
7
|
+
minPlaceholder?: string;
|
|
8
|
+
/** Placeholder for max input */
|
|
9
|
+
maxPlaceholder?: string;
|
|
10
|
+
/** Current min value */
|
|
11
|
+
minValue?: string;
|
|
12
|
+
/** Current max value */
|
|
13
|
+
maxValue?: string;
|
|
14
|
+
/** Actual min value from data (for auto-populate on focus) */
|
|
15
|
+
actualMin?: string | number;
|
|
16
|
+
/** Actual max value from data (for auto-populate on focus) */
|
|
17
|
+
actualMax?: string | number;
|
|
18
|
+
/** Change handler: (min, max) => void */
|
|
19
|
+
onChange: (min: string, max: string) => void;
|
|
20
|
+
/** Clear handler - required, X button always visible */
|
|
21
|
+
onClear: () => void;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* RangeInput - Two-input component for min/max ranges
|
|
25
|
+
*
|
|
26
|
+
* Features:
|
|
27
|
+
* - Single FloatingLabel wrapping both inputs (when label provided)
|
|
28
|
+
* - Auto-populates with actual data min/max on focus if empty
|
|
29
|
+
* - Selects all text on focus
|
|
30
|
+
* - Clear button always visible (disabled when empty)
|
|
31
|
+
*
|
|
32
|
+
* @component
|
|
33
|
+
* @example
|
|
34
|
+
* ```tsx
|
|
35
|
+
* <RangeInput
|
|
36
|
+
* type="number"
|
|
37
|
+
* label="Price"
|
|
38
|
+
* onChange={(min, max) => setFilter({ min, max })}
|
|
39
|
+
* onClear={() => setFilter({ min: '', max: '' })}
|
|
40
|
+
* />
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
43
|
+
export declare function RangeInput({ type, label, minPlaceholder, maxPlaceholder, minValue, maxValue, actualMin, actualMax, min, max, onChange, onClear, ...props }: RangeInputProps): import("react/jsx-runtime").JSX.Element;
|
|
44
|
+
export default RangeInput;
|
|
45
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atomic/RangeInput/index.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAC;AAEjD,OAAO,kBAAkB,CAAC;AAE1B,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAC3C,mBAAmB,CAAC,gBAAgB,CAAC,EACrC,UAAU,GAAG,OAAO,CACrB;IACC,sEAAsE;IACtE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gCAAgC;IAChC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gCAAgC;IAChC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,wBAAwB;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wBAAwB;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8DAA8D;IAC9D,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,8DAA8D;IAC9D,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,yCAAyC;IACzC,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,wDAAwD;IACxD,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,UAAU,CAAC,EACzB,IAAe,EACf,KAAK,EACL,cAAsB,EACtB,cAAsB,EACtB,QAAa,EACb,QAAa,EACb,SAAS,EACT,SAAS,EACT,GAAG,EACH,GAAG,EACH,QAAQ,EACR,OAAO,EACP,GAAG,KAAK,EACT,EAAE,eAAe,2CA+EjB;AAED,eAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
// packages/components/src/atomic/RangeInput/index.tsx
|
|
3
|
+
/**
|
|
4
|
+
* @fileoverview RangeInput component
|
|
5
|
+
* @description Two-input range component for min/max values (e.g., price ranges, date ranges)
|
|
6
|
+
*
|
|
7
|
+
* @version 0.0.2
|
|
8
|
+
* @since 0.0.1
|
|
9
|
+
* @author AMBROISE PARK Consulting
|
|
10
|
+
*/
|
|
11
|
+
import { X } from 'lucide-react';
|
|
12
|
+
import Button from '../Button';
|
|
13
|
+
import Input from '../Input';
|
|
14
|
+
import { FloatingLabel } from '../Label';
|
|
15
|
+
import Text from '../Text';
|
|
16
|
+
import './RangeInput.css';
|
|
17
|
+
/**
|
|
18
|
+
* RangeInput - Two-input component for min/max ranges
|
|
19
|
+
*
|
|
20
|
+
* Features:
|
|
21
|
+
* - Single FloatingLabel wrapping both inputs (when label provided)
|
|
22
|
+
* - Auto-populates with actual data min/max on focus if empty
|
|
23
|
+
* - Selects all text on focus
|
|
24
|
+
* - Clear button always visible (disabled when empty)
|
|
25
|
+
*
|
|
26
|
+
* @component
|
|
27
|
+
* @example
|
|
28
|
+
* ```tsx
|
|
29
|
+
* <RangeInput
|
|
30
|
+
* type="number"
|
|
31
|
+
* label="Price"
|
|
32
|
+
* onChange={(min, max) => setFilter({ min, max })}
|
|
33
|
+
* onClear={() => setFilter({ min: '', max: '' })}
|
|
34
|
+
* />
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
export function RangeInput({ type = 'number', label, minPlaceholder = 'Min', maxPlaceholder = 'Max', minValue = '', maxValue = '', actualMin, actualMax, min, max, onChange, onClear, ...props }) {
|
|
38
|
+
const handleMinFocus = (e) => {
|
|
39
|
+
e.target.select();
|
|
40
|
+
if (!minValue &&
|
|
41
|
+
actualMin !== null &&
|
|
42
|
+
actualMin !== undefined &&
|
|
43
|
+
actualMin !== '') {
|
|
44
|
+
onChange(String(actualMin), maxValue);
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
const handleMaxFocus = (e) => {
|
|
48
|
+
e.target.select();
|
|
49
|
+
if (!maxValue &&
|
|
50
|
+
actualMax !== null &&
|
|
51
|
+
actualMax !== undefined &&
|
|
52
|
+
actualMax !== '') {
|
|
53
|
+
onChange(minValue, String(actualMax));
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
const hasValue = !!(minValue || maxValue);
|
|
57
|
+
const inputs = (_jsxs(_Fragment, { children: [_jsx(Input, { type: type, placeholder: minPlaceholder, value: minValue, min: min, max: max, bare: true, onFocus: handleMinFocus, onChange: (e) => onChange(e.target.value, maxValue), ...props }), _jsx(Text, { level: "small", variant: "muted", className: "dndev-range-input-separator", children: "\u2013" }), _jsx(Input, { type: type, placeholder: maxPlaceholder, value: maxValue, min: min, max: max, bare: true, onFocus: handleMaxFocus, onChange: (e) => onChange(minValue, e.target.value), ...props }), _jsx(Button, { icon: X, variant: "ghost", display: "compact", onClick: onClear, disabled: !hasValue, "aria-label": "Clear", className: "dndev-range-input-clear" })] }));
|
|
58
|
+
if (label) {
|
|
59
|
+
return (_jsx(FloatingLabel, { label: label, className: "dndev-range-input", children: inputs }));
|
|
60
|
+
}
|
|
61
|
+
return _jsx("div", { className: "dndev-range-input", children: inputs });
|
|
62
|
+
}
|
|
63
|
+
export default RangeInput;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { type VariantProps } from 'class-variance-authority';
|
|
2
|
+
import { CONTROL_VARIANT, type ControlVariant } from '../../utils/constants';
|
|
3
|
+
import './Rating.css';
|
|
4
|
+
import type { HTMLAttributes } from 'react';
|
|
5
|
+
declare const ratingVariants: (props?: ({
|
|
6
|
+
variant?: "default" | "primary" | "destructive" | "warning" | "success" | "muted" | "secondary" | "accent" | null | undefined;
|
|
7
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
8
|
+
export interface RatingProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'>, VariantProps<typeof ratingVariants> {
|
|
9
|
+
/** Current rating value (1-5, supports decimals for display) */
|
|
10
|
+
value?: number;
|
|
11
|
+
/** Callback when rating changes (only fires whole numbers 1-5) */
|
|
12
|
+
onChange?: (value: number) => void;
|
|
13
|
+
/** Maximum rating value */
|
|
14
|
+
max?: number;
|
|
15
|
+
/** Read-only mode (no interaction) */
|
|
16
|
+
readonly?: boolean;
|
|
17
|
+
/** Disabled state */
|
|
18
|
+
disabled?: boolean;
|
|
19
|
+
/** Accessible label */
|
|
20
|
+
'aria-label'?: string;
|
|
21
|
+
/** Show numeric value next to stars */
|
|
22
|
+
showValue?: boolean;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Rating component for star-based ratings
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* // Interactive (form input)
|
|
29
|
+
* <Rating value={rating} onChange={setRating} />
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* // Display only (average rating)
|
|
33
|
+
* <Rating value={4.3} readonly />
|
|
34
|
+
*/
|
|
35
|
+
declare const Rating: ({ value, onChange, max, readonly, disabled, variant, className, showValue, "aria-label": ariaLabel, ...props }: RatingProps) => import("react/jsx-runtime").JSX.Element;
|
|
36
|
+
export default Rating;
|
|
37
|
+
export { ratingVariants, CONTROL_VARIANT as RATING_VARIANT };
|
|
38
|
+
export type { ControlVariant as RatingVariant };
|
|
39
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atomic/Rating/index.tsx"],"names":[],"mappings":"AAcA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,EAAE,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAG7E,OAAO,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,cAAc,EAAiB,MAAM,OAAO,CAAC;AAE3D,QAAA,MAAM,cAAc;;8EAgBlB,CAAC;AAEH,MAAM,WAAW,WACf,SAAQ,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,EACtD,YAAY,CAAC,OAAO,cAAc,CAAC;IACrC,gEAAgE;IAChE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kEAAkE;IAClE,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,2BAA2B;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,sCAAsC;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uBAAuB;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uCAAuC;IACvC,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAiBD;;;;;;;;;;GAUG;AACH,QAAA,MAAM,MAAM,GAAI,gHAWb,WAAW,4CAoHb,CAAC;AAEF,eAAe,MAAM,CAAC;AACtB,OAAO,EAAE,cAAc,EAAE,eAAe,IAAI,cAAc,EAAE,CAAC;AAC7D,YAAY,EAAE,cAAc,IAAI,aAAa,EAAE,CAAC"}
|