pixelize-design-library 2.2.193 → 2.2.194

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 (209) hide show
  1. package/package.json +1 -1
  2. package/.claude/settings.local.json +0 -15
  3. package/coverage/clover.xml +0 -638
  4. package/coverage/coverage-final.json +0 -20
  5. package/coverage/lcov-report/Table/CompactSelect.tsx.html +0 -379
  6. package/coverage/lcov-report/Table/Components/ActiveFilters.tsx.html +0 -514
  7. package/coverage/lcov-report/Table/Components/HeaderActions.tsx.html +0 -373
  8. package/coverage/lcov-report/Table/Components/Pagination.tsx.html +0 -574
  9. package/coverage/lcov-report/Table/Components/TableActions.tsx.html +0 -574
  10. package/coverage/lcov-report/Table/Components/TableBody.tsx.html +0 -1027
  11. package/coverage/lcov-report/Table/Components/TableFilters.tsx.html +0 -397
  12. package/coverage/lcov-report/Table/Components/TableHeader.tsx.html +0 -1060
  13. package/coverage/lcov-report/Table/Components/TableLoading.tsx.html +0 -361
  14. package/coverage/lcov-report/Table/Components/TableSearch.tsx.html +0 -337
  15. package/coverage/lcov-report/Table/Components/index.html +0 -266
  16. package/coverage/lcov-report/Table/Components/useDebounce.ts.html +0 -178
  17. package/coverage/lcov-report/Table/Components/useTable.ts.html +0 -778
  18. package/coverage/lcov-report/Table/LeftFilterPane.tsx.html +0 -1810
  19. package/coverage/lcov-report/Table/SelectOperationControls.tsx.html +0 -178
  20. package/coverage/lcov-report/Table/Table.tsx.html +0 -1567
  21. package/coverage/lcov-report/Table/TableProps.tsx.html +0 -658
  22. package/coverage/lcov-report/Table/TableSettings/ManageColumns.tsx.html +0 -619
  23. package/coverage/lcov-report/Table/TableSettings/TableFilters.tsx.html +0 -229
  24. package/coverage/lcov-report/Table/TableSettings/TableSettings.tsx.html +0 -532
  25. package/coverage/lcov-report/Table/TableSettings/index.html +0 -146
  26. package/coverage/lcov-report/Table/TableToDo.tsx.html +0 -973
  27. package/coverage/lcov-report/Table/TextOperationControls.tsx.html +0 -271
  28. package/coverage/lcov-report/Table/filterTypes.ts.html +0 -97
  29. package/coverage/lcov-report/Table/index.html +0 -176
  30. package/coverage/lcov-report/base.css +0 -224
  31. package/coverage/lcov-report/block-navigation.js +0 -87
  32. package/coverage/lcov-report/favicon.png +0 -0
  33. package/coverage/lcov-report/index.html +0 -146
  34. package/coverage/lcov-report/prettify.css +0 -1
  35. package/coverage/lcov-report/prettify.js +0 -2
  36. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  37. package/coverage/lcov-report/sorter.js +0 -210
  38. package/coverage/lcov.info +0 -1836
  39. package/dist/Assets/defaultLogo.tsx +0 -31
  40. package/dist/Theme/Dark/palette.d.ts +0 -370
  41. package/dist/Theme/Dark/palette.js +0 -372
  42. package/dist/components-v2/AlertDialog/AlertDialog.d.ts +0 -23
  43. package/dist/components-v2/AlertDialog/AlertDialog.js +0 -98
  44. package/dist/components-v2/Breadcrumbs/Breadcrumbs.d.ts +0 -14
  45. package/dist/components-v2/Breadcrumbs/Breadcrumbs.js +0 -66
  46. package/dist/components-v2/Charts/AreaChart.d.ts +0 -23
  47. package/dist/components-v2/Charts/AreaChart.js +0 -63
  48. package/dist/components-v2/Charts/BarChart.d.ts +0 -25
  49. package/dist/components-v2/Charts/BarChart.js +0 -57
  50. package/dist/components-v2/Charts/LineChart.d.ts +0 -23
  51. package/dist/components-v2/Charts/LineChart.js +0 -55
  52. package/dist/components-v2/Charts/PieChart.d.ts +0 -15
  53. package/dist/components-v2/Charts/PieChart.js +0 -54
  54. package/dist/components-v2/Charts/PolarChart.d.ts +0 -14
  55. package/dist/components-v2/Charts/PolarChart.js +0 -54
  56. package/dist/components-v2/Charts/chartOptions.d.ts +0 -7
  57. package/dist/components-v2/Charts/chartOptions.js +0 -41
  58. package/dist/components-v2/Charts/useChartTheme.d.ts +0 -22
  59. package/dist/components-v2/Charts/useChartTheme.js +0 -106
  60. package/dist/components-v2/ContactForm/ContactForm.d.ts +0 -25
  61. package/dist/components-v2/ContactForm/ContactForm.js +0 -116
  62. package/dist/components-v2/DatePicker/Calendar.d.ts +0 -19
  63. package/dist/components-v2/DatePicker/Calendar.js +0 -212
  64. package/dist/components-v2/DatePicker/DatePicker.d.ts +0 -46
  65. package/dist/components-v2/DatePicker/DatePicker.js +0 -189
  66. package/dist/components-v2/DatePicker/TimePicker.d.ts +0 -12
  67. package/dist/components-v2/DatePicker/TimePicker.js +0 -105
  68. package/dist/components-v2/DatePicker/utils.d.ts +0 -31
  69. package/dist/components-v2/DatePicker/utils.js +0 -109
  70. package/dist/components-v2/Drawer/Drawer.d.ts +0 -27
  71. package/dist/components-v2/Drawer/Drawer.js +0 -132
  72. package/dist/components-v2/FeedbackForm/FeedbackForm.d.ts +0 -26
  73. package/dist/components-v2/FeedbackForm/FeedbackForm.js +0 -112
  74. package/dist/components-v2/FileUploader/FileUploader.d.ts +0 -28
  75. package/dist/components-v2/FileUploader/FileUploader.js +0 -127
  76. package/dist/components-v2/Input/TextInput.d.ts +0 -41
  77. package/dist/components-v2/Input/TextInput.js +0 -169
  78. package/dist/components-v2/KanbanBoard/KanbanBoard.d.ts +0 -39
  79. package/dist/components-v2/KanbanBoard/KanbanBoard.js +0 -101
  80. package/dist/components-v2/Layout/AppLayout.d.ts +0 -22
  81. package/dist/components-v2/Layout/AppLayout.js +0 -53
  82. package/dist/components-v2/Loading/Loading.d.ts +0 -19
  83. package/dist/components-v2/Loading/Loading.js +0 -55
  84. package/dist/components-v2/Modal/Modal.d.ts +0 -30
  85. package/dist/components-v2/Modal/Modal.js +0 -82
  86. package/dist/components-v2/NavigationBar/NavigationBar.d.ts +0 -47
  87. package/dist/components-v2/NavigationBar/NavigationBar.js +0 -148
  88. package/dist/components-v2/Notification/Notification.d.ts +0 -22
  89. package/dist/components-v2/Notification/Notification.js +0 -113
  90. package/dist/components-v2/NumberInput/NumberInput.d.ts +0 -37
  91. package/dist/components-v2/NumberInput/NumberInput.js +0 -210
  92. package/dist/components-v2/PinInput/PinInput.d.ts +0 -26
  93. package/dist/components-v2/PinInput/PinInput.js +0 -138
  94. package/dist/components-v2/ProfilePhotoViewer/ProfilePhotoViewer.d.ts +0 -18
  95. package/dist/components-v2/ProfilePhotoViewer/ProfilePhotoViewer.js +0 -91
  96. package/dist/components-v2/Select/Select.d.ts +0 -41
  97. package/dist/components-v2/Select/Select.js +0 -284
  98. package/dist/components-v2/Sidebar/Sidebar.d.ts +0 -41
  99. package/dist/components-v2/Sidebar/Sidebar.js +0 -182
  100. package/dist/components-v2/Slider/Slider.d.ts +0 -18
  101. package/dist/components-v2/Slider/Slider.js +0 -101
  102. package/dist/components-v2/Table/Table.d.ts +0 -7
  103. package/dist/components-v2/Table/Table.js +0 -172
  104. package/dist/components-v2/Table/TableProps.d.ts +0 -139
  105. package/dist/components-v2/Table/TableProps.js +0 -9
  106. package/dist/components-v2/Table/components/ActiveFilters.d.ts +0 -10
  107. package/dist/components-v2/Table/components/ActiveFilters.js +0 -70
  108. package/dist/components-v2/Table/components/BulkActionBar.d.ts +0 -11
  109. package/dist/components-v2/Table/components/BulkActionBar.js +0 -92
  110. package/dist/components-v2/Table/components/ColumnResizeHandle.d.ts +0 -7
  111. package/dist/components-v2/Table/components/ColumnResizeHandle.js +0 -41
  112. package/dist/components-v2/Table/components/Pagination.d.ts +0 -11
  113. package/dist/components-v2/Table/components/Pagination.js +0 -92
  114. package/dist/components-v2/Table/components/TableBody.d.ts +0 -23
  115. package/dist/components-v2/Table/components/TableBody.js +0 -69
  116. package/dist/components-v2/Table/components/TableCell.d.ts +0 -14
  117. package/dist/components-v2/Table/components/TableCell.js +0 -63
  118. package/dist/components-v2/Table/components/TableEmptyState.d.ts +0 -12
  119. package/dist/components-v2/Table/components/TableEmptyState.js +0 -55
  120. package/dist/components-v2/Table/components/TableErrorState.d.ts +0 -6
  121. package/dist/components-v2/Table/components/TableErrorState.js +0 -52
  122. package/dist/components-v2/Table/components/TableHeader.d.ts +0 -21
  123. package/dist/components-v2/Table/components/TableHeader.js +0 -94
  124. package/dist/components-v2/Table/components/TableRow.d.ts +0 -20
  125. package/dist/components-v2/Table/components/TableRow.js +0 -64
  126. package/dist/components-v2/Table/components/TableSearch.d.ts +0 -8
  127. package/dist/components-v2/Table/components/TableSearch.js +0 -47
  128. package/dist/components-v2/Table/filters/FilterChips.d.ts +0 -6
  129. package/dist/components-v2/Table/filters/FilterChips.js +0 -9
  130. package/dist/components-v2/Table/filters/LeftFilterPane.d.ts +0 -17
  131. package/dist/components-v2/Table/filters/LeftFilterPane.js +0 -105
  132. package/dist/components-v2/Table/filters/TableFilters.d.ts +0 -12
  133. package/dist/components-v2/Table/filters/TableFilters.js +0 -127
  134. package/dist/components-v2/Table/hooks/useColumnResize.d.ts +0 -15
  135. package/dist/components-v2/Table/hooks/useColumnResize.js +0 -104
  136. package/dist/components-v2/Table/hooks/useTable.d.ts +0 -58
  137. package/dist/components-v2/Table/hooks/useTable.js +0 -254
  138. package/dist/components-v2/Table/hooks/useTableKeyboard.d.ts +0 -25
  139. package/dist/components-v2/Table/hooks/useTableKeyboard.js +0 -112
  140. package/dist/components-v2/Table/hooks/useVirtualScroll.d.ts +0 -29
  141. package/dist/components-v2/Table/hooks/useVirtualScroll.js +0 -83
  142. package/dist/components-v2/Table/settings/ManageColumns.d.ts +0 -12
  143. package/dist/components-v2/Table/settings/ManageColumns.js +0 -59
  144. package/dist/components-v2/Table/settings/TableSettings.d.ts +0 -12
  145. package/dist/components-v2/Table/settings/TableSettings.js +0 -57
  146. package/dist/components-v2/Table/utils/filterUtils.d.ts +0 -7
  147. package/dist/components-v2/Table/utils/filterUtils.js +0 -149
  148. package/dist/components-v2/Table/utils/sortUtils.d.ts +0 -6
  149. package/dist/components-v2/Table/utils/sortUtils.js +0 -65
  150. package/dist/components-v2/Tag/Tag.d.ts +0 -15
  151. package/dist/components-v2/Tag/Tag.js +0 -87
  152. package/dist/components-v2/Timeline/Timeline.d.ts +0 -18
  153. package/dist/components-v2/Timeline/Timeline.js +0 -76
  154. package/dist/components-v2/Toaster/Toaster.d.ts +0 -61
  155. package/dist/components-v2/Toaster/Toaster.js +0 -63
  156. package/dist/components-v2/Toggle/Toggle.d.ts +0 -28
  157. package/dist/components-v2/Toggle/Toggle.js +0 -90
  158. package/dist/components-v2/ui/accordion.d.ts +0 -12
  159. package/dist/components-v2/ui/accordion.js +0 -104
  160. package/dist/components-v2/ui/alert.d.ts +0 -18
  161. package/dist/components-v2/ui/alert.js +0 -99
  162. package/dist/components-v2/ui/avatar.d.ts +0 -12
  163. package/dist/components-v2/ui/avatar.js +0 -80
  164. package/dist/components-v2/ui/badge.d.ts +0 -10
  165. package/dist/components-v2/ui/badge.js +0 -76
  166. package/dist/components-v2/ui/button.d.ts +0 -18
  167. package/dist/components-v2/ui/button.js +0 -97
  168. package/dist/components-v2/ui/checkbox.d.ts +0 -15
  169. package/dist/components-v2/ui/checkbox.js +0 -86
  170. package/dist/components-v2/ui/dialog.d.ts +0 -30
  171. package/dist/components-v2/ui/dialog.js +0 -115
  172. package/dist/components-v2/ui/dropdown-menu.d.ts +0 -26
  173. package/dist/components-v2/ui/dropdown-menu.js +0 -121
  174. package/dist/components-v2/ui/field.d.ts +0 -32
  175. package/dist/components-v2/ui/field.js +0 -62
  176. package/dist/components-v2/ui/form-field.d.ts +0 -25
  177. package/dist/components-v2/ui/form-field.js +0 -96
  178. package/dist/components-v2/ui/input.d.ts +0 -9
  179. package/dist/components-v2/ui/input.js +0 -73
  180. package/dist/components-v2/ui/label.d.ts +0 -10
  181. package/dist/components-v2/ui/label.js +0 -70
  182. package/dist/components-v2/ui/popover.d.ts +0 -9
  183. package/dist/components-v2/ui/popover.js +0 -60
  184. package/dist/components-v2/ui/progress.d.ts +0 -12
  185. package/dist/components-v2/ui/progress.js +0 -75
  186. package/dist/components-v2/ui/radio-group.d.ts +0 -17
  187. package/dist/components-v2/ui/radio-group.js +0 -91
  188. package/dist/components-v2/ui/select.d.ts +0 -24
  189. package/dist/components-v2/ui/select.js +0 -122
  190. package/dist/components-v2/ui/separator.d.ts +0 -5
  191. package/dist/components-v2/ui/separator.js +0 -55
  192. package/dist/components-v2/ui/skeleton.d.ts +0 -9
  193. package/dist/components-v2/ui/skeleton.js +0 -68
  194. package/dist/components-v2/ui/spinner.d.ts +0 -16
  195. package/dist/components-v2/ui/spinner.js +0 -64
  196. package/dist/components-v2/ui/switch.d.ts +0 -10
  197. package/dist/components-v2/ui/switch.js +0 -81
  198. package/dist/components-v2/ui/tabs.d.ts +0 -13
  199. package/dist/components-v2/ui/tabs.js +0 -95
  200. package/dist/components-v2/ui/textarea.d.ts +0 -10
  201. package/dist/components-v2/ui/textarea.js +0 -96
  202. package/dist/components-v2/ui/tooltip.d.ts +0 -17
  203. package/dist/components-v2/ui/tooltip.js +0 -75
  204. package/dist/lib/utils.d.ts +0 -2
  205. package/dist/lib/utils.js +0 -8
  206. package/dist/theme-v2/ThemeProvider.d.ts +0 -19
  207. package/dist/theme-v2/ThemeProvider.js +0 -149
  208. package/dist/theme-v2/dark.css +0 -47
  209. package/dist/theme-v2/tokens.css +0 -72
@@ -1,148 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.NavigationBar = NavigationBar;
37
- const React = __importStar(require("react"));
38
- const lucide_react_1 = require("lucide-react");
39
- const utils_1 = require("../../lib/utils");
40
- const ThemeProvider_1 = require("../../theme-v2/ThemeProvider");
41
- const avatar_1 = require("../ui/avatar");
42
- const button_1 = require("../ui/button");
43
- const dialog_1 = require("../ui/dialog");
44
- const dropdown_menu_1 = require("../ui/dropdown-menu");
45
- const input_1 = require("../ui/input");
46
- const Breadcrumbs_1 = require("../Breadcrumbs/Breadcrumbs");
47
- function NavigationBar({ logo, appName, onSidebarToggle, sidebarOpen, breadcrumb, pageTitle, backAction, actions, user, userMenuItems = [], onLogout, logoutLabel = "Sign out", notificationCount, notificationIcon, onNotificationClick, globalSearch, showThemeSwitcher = false, className, }) {
48
- var _a, _b, _c;
49
- const [searchOpen, setSearchOpen] = React.useState(false);
50
- const [searchQuery, setSearchQuery] = React.useState("");
51
- const submitSearch = (event) => {
52
- var _a;
53
- event === null || event === void 0 ? void 0 : event.preventDefault();
54
- (_a = globalSearch === null || globalSearch === void 0 ? void 0 : globalSearch.onSearch) === null || _a === void 0 ? void 0 : _a.call(globalSearch, searchQuery);
55
- };
56
- const NotificationIcon = notificationIcon !== null && notificationIcon !== void 0 ? notificationIcon : lucide_react_1.Bell;
57
- const showNotification = onNotificationClick !== undefined ||
58
- typeof notificationCount === "number";
59
- return (React.createElement("header", { role: "banner", className: (0, utils_1.cn)("sticky top-0 z-40 flex h-14 shrink-0 items-center gap-2 border-b border-border bg-background px-3", className) },
60
- onSidebarToggle && (React.createElement("button", { type: "button", "aria-label": sidebarOpen ? "Close sidebar" : "Open sidebar", "aria-expanded": sidebarOpen, onClick: onSidebarToggle, className: "inline-flex h-9 w-9 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-accent hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring md:hidden" },
61
- React.createElement(lucide_react_1.Menu, { "aria-hidden": "true", className: "h-5 w-5" }))),
62
- (logo || appName) && (React.createElement("div", { className: "flex items-center gap-2 md:hidden" },
63
- logo ? (React.createElement("img", { src: logo, alt: "", className: "h-6 w-6 rounded-sm object-contain" })) : null,
64
- appName && (React.createElement("span", { className: "text-sm font-semibold text-foreground" }, appName)))),
65
- backAction && (React.createElement("button", { type: "button", onClick: backAction.onClick, "aria-label": (_a = backAction.label) !== null && _a !== void 0 ? _a : "Go back", className: "inline-flex items-center gap-1 rounded-md px-2 py-1 text-sm text-muted-foreground transition-colors hover:bg-accent hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" },
66
- React.createElement(lucide_react_1.ChevronLeft, { "aria-hidden": "true", className: "h-4 w-4" }),
67
- backAction.label && (React.createElement("span", { className: "hidden sm:inline" }, backAction.label)))),
68
- React.createElement("div", { className: "min-w-0 flex-1" }, breadcrumb && breadcrumb.length > 0 ? (React.createElement(Breadcrumbs_1.Breadcrumbs, { items: breadcrumb, maxItems: 4 })) : pageTitle ? (React.createElement("h1", { className: "truncate text-sm font-semibold text-foreground" }, pageTitle)) : null),
69
- React.createElement("nav", { "aria-label": "Global", className: "flex items-center gap-1" },
70
- globalSearch && (React.createElement("button", { type: "button", onClick: () => setSearchOpen(true), "aria-label": "Open search", className: "hidden h-9 items-center gap-2 rounded-md border border-input bg-background px-2.5 text-sm text-muted-foreground transition-colors hover:bg-accent hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring sm:inline-flex" },
71
- React.createElement(lucide_react_1.Search, { "aria-hidden": "true", className: "h-4 w-4" }),
72
- React.createElement("span", { className: "hidden md:inline" }, (_b = globalSearch.placeholder) !== null && _b !== void 0 ? _b : "Search…"),
73
- globalSearch.shortcut && (React.createElement("kbd", { className: "ml-1 rounded border border-border bg-muted px-1 text-[10px] font-medium text-muted-foreground" }, globalSearch.shortcut)))),
74
- globalSearch && (React.createElement("button", { type: "button", onClick: () => setSearchOpen(true), "aria-label": "Open search", className: "inline-flex h-9 w-9 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-accent hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring sm:hidden" },
75
- React.createElement(lucide_react_1.Search, { "aria-hidden": "true", className: "h-5 w-5" }))),
76
- actions,
77
- showThemeSwitcher && React.createElement(ThemeSwitcher, null),
78
- showNotification && (React.createElement("button", { type: "button", onClick: onNotificationClick, "aria-label": typeof notificationCount === "number" && notificationCount > 0
79
- ? `Notifications (${notificationCount} unread)`
80
- : "Notifications", className: "relative inline-flex h-9 w-9 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-accent hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" },
81
- React.createElement(NotificationIcon, { "aria-hidden": "true", className: "h-5 w-5" }),
82
- typeof notificationCount === "number" && notificationCount > 0 && (React.createElement("span", { "aria-hidden": "true", className: "absolute right-1 top-1 inline-flex min-w-[16px] items-center justify-center rounded-full bg-destructive px-1 text-[10px] font-semibold leading-none text-destructive-foreground" }, notificationCount > 99 ? "99+" : notificationCount)))),
83
- user && (React.createElement(UserMenu, { user: user, items: userMenuItems, onLogout: onLogout, logoutLabel: logoutLabel }))),
84
- globalSearch && (React.createElement(dialog_1.Dialog, { open: searchOpen, onOpenChange: setSearchOpen },
85
- React.createElement(dialog_1.DialogContent, { size: "lg", className: "top-[25%] gap-3" },
86
- React.createElement(dialog_1.DialogHeader, null,
87
- React.createElement(dialog_1.DialogTitle, null, "Search")),
88
- React.createElement("form", { onSubmit: submitSearch, className: "flex gap-2" },
89
- React.createElement(input_1.Input, { autoFocus: true, value: searchQuery, onChange: (event) => setSearchQuery(event.target.value), placeholder: (_c = globalSearch.placeholder) !== null && _c !== void 0 ? _c : "Search…", size: "lg" }),
90
- React.createElement(button_1.Button, { type: "submit", size: "lg" }, "Go")))))));
91
- }
92
- function UserMenu({ user, items, onLogout, logoutLabel, }) {
93
- var _a;
94
- const initials = (_a = user.initials) !== null && _a !== void 0 ? _a : user.name
95
- .split(/\s+/)
96
- .map((part) => part[0])
97
- .filter(Boolean)
98
- .slice(0, 2)
99
- .join("")
100
- .toUpperCase();
101
- return (React.createElement(dropdown_menu_1.DropdownMenu, null,
102
- React.createElement(dropdown_menu_1.DropdownMenuTrigger, { asChild: true },
103
- React.createElement("button", { type: "button", "aria-label": `Account menu for ${user.name}`, className: "ml-1 rounded-full focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background" },
104
- React.createElement(avatar_1.Avatar, { size: "sm" },
105
- user.avatarUrl && (React.createElement(avatar_1.AvatarImage, { src: user.avatarUrl, alt: user.name })),
106
- React.createElement(avatar_1.AvatarFallback, null, initials || "?")))),
107
- React.createElement(dropdown_menu_1.DropdownMenuContent, { align: "end", className: "w-56" },
108
- React.createElement("div", { className: "px-2 py-1.5" },
109
- React.createElement("p", { className: "truncate text-sm font-medium text-foreground" }, user.name),
110
- user.email && (React.createElement("p", { className: "truncate text-xs text-muted-foreground" }, user.email))),
111
- items.length > 0 && React.createElement(dropdown_menu_1.DropdownMenuSeparator, null),
112
- items.map((item, index) => (React.createElement(React.Fragment, { key: `${item.label}-${index}` },
113
- item.separator && React.createElement(dropdown_menu_1.DropdownMenuSeparator, null),
114
- item.href ? (React.createElement(dropdown_menu_1.DropdownMenuItem, { asChild: true },
115
- React.createElement("a", { href: item.href, className: (0, utils_1.cn)(item.variant === "destructive" &&
116
- "text-destructive focus:text-destructive") },
117
- item.icon,
118
- item.label))) : (React.createElement(dropdown_menu_1.DropdownMenuItem, { onClick: item.onClick, className: (0, utils_1.cn)(item.variant === "destructive" &&
119
- "text-destructive focus:text-destructive") },
120
- item.icon,
121
- item.label))))),
122
- onLogout && (React.createElement(React.Fragment, null,
123
- React.createElement(dropdown_menu_1.DropdownMenuSeparator, null),
124
- React.createElement(dropdown_menu_1.DropdownMenuItem, { onClick: onLogout, className: "text-destructive focus:text-destructive" },
125
- React.createElement(lucide_react_1.LogOut, { "aria-hidden": "true", className: "h-4 w-4" }),
126
- logoutLabel))))));
127
- }
128
- function ThemeSwitcher() {
129
- const { mode, setMode } = (0, ThemeProvider_1.useTheme)();
130
- const Icon = mode === "dark" ? lucide_react_1.Moon : mode === "light" ? lucide_react_1.Sun : lucide_react_1.Monitor;
131
- return (React.createElement(dropdown_menu_1.DropdownMenu, null,
132
- React.createElement(dropdown_menu_1.DropdownMenuTrigger, { asChild: true },
133
- React.createElement("button", { type: "button", "aria-label": "Change theme", className: "inline-flex h-9 w-9 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-accent hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" },
134
- React.createElement(Icon, { "aria-hidden": "true", className: "h-5 w-5" }))),
135
- React.createElement(dropdown_menu_1.DropdownMenuContent, { align: "end", className: "w-40" },
136
- React.createElement(dropdown_menu_1.DropdownMenuLabel, null, "Theme"),
137
- React.createElement(dropdown_menu_1.DropdownMenuSeparator, null),
138
- React.createElement(dropdown_menu_1.DropdownMenuRadioGroup, { value: mode, onValueChange: (value) => setMode(value) },
139
- React.createElement(dropdown_menu_1.DropdownMenuRadioItem, { value: "light" },
140
- React.createElement(lucide_react_1.Sun, { "aria-hidden": "true", className: "h-4 w-4" }),
141
- "Light"),
142
- React.createElement(dropdown_menu_1.DropdownMenuRadioItem, { value: "dark" },
143
- React.createElement(lucide_react_1.Moon, { "aria-hidden": "true", className: "h-4 w-4" }),
144
- "Dark"),
145
- React.createElement(dropdown_menu_1.DropdownMenuRadioItem, { value: "system" },
146
- React.createElement(lucide_react_1.Monitor, { "aria-hidden": "true", className: "h-4 w-4" }),
147
- "System")))));
148
- }
@@ -1,22 +0,0 @@
1
- import * as React from "react";
2
- export type NotificationType = "info" | "success" | "warning" | "error";
3
- export interface NotificationProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "title"> {
4
- title: React.ReactNode;
5
- description?: React.ReactNode;
6
- /** Absolute timestamp, ISO string, or pre-formatted string. */
7
- timestamp?: Date | string;
8
- /** When false, the item is rendered with the "unread" indicator. */
9
- read?: boolean;
10
- onRead?: () => void;
11
- onDismiss?: () => void;
12
- type?: NotificationType;
13
- /** Inline avatar (URL or initials). */
14
- avatar?: {
15
- src?: string;
16
- initials?: string;
17
- alt?: string;
18
- };
19
- /** Action row below the description. */
20
- actions?: React.ReactNode;
21
- }
22
- export declare const Notification: React.ForwardRefExoticComponent<NotificationProps & React.RefAttributes<HTMLDivElement>>;
@@ -1,113 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __rest = (this && this.__rest) || function (s, e) {
36
- var t = {};
37
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
38
- t[p] = s[p];
39
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
40
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
41
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
42
- t[p[i]] = s[p[i]];
43
- }
44
- return t;
45
- };
46
- Object.defineProperty(exports, "__esModule", { value: true });
47
- exports.Notification = void 0;
48
- const React = __importStar(require("react"));
49
- const lucide_react_1 = require("lucide-react");
50
- const utils_1 = require("../../lib/utils");
51
- const avatar_1 = require("../ui/avatar");
52
- const TYPE_STYLES = {
53
- info: {
54
- border: "border-l-primary",
55
- bg: "bg-primary/5",
56
- icon: React.createElement(lucide_react_1.Info, { "aria-hidden": "true", className: "h-4 w-4 text-primary" }),
57
- },
58
- success: {
59
- border: "border-l-success",
60
- bg: "bg-success/5",
61
- icon: React.createElement(lucide_react_1.CheckCircle2, { "aria-hidden": "true", className: "h-4 w-4 text-success" }),
62
- },
63
- warning: {
64
- border: "border-l-warning",
65
- bg: "bg-warning/5",
66
- icon: React.createElement(lucide_react_1.AlertTriangle, { "aria-hidden": "true", className: "h-4 w-4 text-warning" }),
67
- },
68
- error: {
69
- border: "border-l-destructive",
70
- bg: "bg-destructive/5",
71
- icon: React.createElement(lucide_react_1.AlertCircle, { "aria-hidden": "true", className: "h-4 w-4 text-destructive" }),
72
- },
73
- };
74
- function formatTimestamp(value) {
75
- const date = value instanceof Date ? value : new Date(value);
76
- if (Number.isNaN(date.getTime()))
77
- return String(value);
78
- return date.toLocaleString(undefined, {
79
- month: "short",
80
- day: "numeric",
81
- hour: "numeric",
82
- minute: "2-digit",
83
- });
84
- }
85
- exports.Notification = React.forwardRef((_a, ref) => {
86
- var _b, _c;
87
- var { className, title, description, timestamp, read = false, onRead, onDismiss, type = "info", avatar, actions, onClick } = _a, rest = __rest(_a, ["className", "title", "description", "timestamp", "read", "onRead", "onDismiss", "type", "avatar", "actions", "onClick"]);
88
- const styles = TYPE_STYLES[type];
89
- const handleClick = (event) => {
90
- if (!read)
91
- onRead === null || onRead === void 0 ? void 0 : onRead();
92
- onClick === null || onClick === void 0 ? void 0 : onClick(event);
93
- };
94
- return (React.createElement("div", Object.assign({ ref: ref, role: "article", "aria-live": !read ? "polite" : undefined, onClick: handleClick, className: (0, utils_1.cn)("relative flex gap-3 border-l-2 p-3 transition-colors", "hover:bg-accent/40", read ? "border-l-transparent" : (0, utils_1.cn)(styles.border, styles.bg), onClick && "cursor-pointer", className) }, rest),
95
- avatar ? (React.createElement(avatar_1.Avatar, { size: "sm" },
96
- avatar.src && (React.createElement(avatar_1.AvatarImage, { src: avatar.src, alt: (_b = avatar.alt) !== null && _b !== void 0 ? _b : "" })),
97
- React.createElement(avatar_1.AvatarFallback, null, (_c = avatar.initials) !== null && _c !== void 0 ? _c : "?"))) : (React.createElement("span", { className: "mt-0.5 inline-flex h-6 w-6 shrink-0 items-center justify-center rounded-full bg-card" }, styles.icon)),
98
- React.createElement("div", { className: "min-w-0 flex-1" },
99
- React.createElement("div", { className: "flex items-start justify-between gap-2" },
100
- React.createElement("p", { className: (0, utils_1.cn)("text-sm", read
101
- ? "font-medium text-muted-foreground"
102
- : "font-semibold text-foreground") }, title),
103
- timestamp && (React.createElement("time", { className: "shrink-0 text-[11px] text-muted-foreground" }, formatTimestamp(timestamp)))),
104
- description && (React.createElement("p", { className: "mt-0.5 text-sm text-muted-foreground" }, description)),
105
- actions && React.createElement("div", { className: "mt-2 flex gap-2" }, actions)),
106
- !read && (React.createElement("span", { "aria-label": "Unread", className: "absolute right-3 top-3 h-2 w-2 rounded-full bg-primary" })),
107
- onDismiss && (React.createElement("button", { type: "button", "aria-label": "Dismiss notification", onClick: (event) => {
108
- event.stopPropagation();
109
- onDismiss();
110
- }, className: "absolute bottom-2 right-2 rounded-sm text-muted-foreground opacity-0 transition-opacity hover:text-foreground focus-visible:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring group-hover:opacity-100" },
111
- React.createElement(lucide_react_1.X, { "aria-hidden": "true", className: "h-3.5 w-3.5" })))));
112
- });
113
- exports.Notification.displayName = "Notification";
@@ -1,37 +0,0 @@
1
- import * as React from "react";
2
- export type NumberInputSize = "sm" | "md" | "lg";
3
- export interface NumberInputProps {
4
- id?: string;
5
- name?: string;
6
- label?: React.ReactNode;
7
- placeholder?: string;
8
- value?: number | null;
9
- defaultValue?: number | null;
10
- onChange?: (value: number | null) => void;
11
- onBlur?: (event: React.FocusEvent<HTMLInputElement>) => void;
12
- onFocus?: (event: React.FocusEvent<HTMLInputElement>) => void;
13
- min?: number;
14
- max?: number;
15
- step?: number;
16
- /** Decimal places — applied on clamp/blur. */
17
- precision?: number;
18
- /** Custom display formatter (e.g. currency). Called when input isn't focused. */
19
- format?: (value: number) => string;
20
- /** Inverse of format. Receives the raw input string. Return NaN to reject. */
21
- parse?: (raw: string) => number;
22
- helperText?: React.ReactNode;
23
- error?: boolean;
24
- errorMessage?: React.ReactNode;
25
- isInformation?: boolean;
26
- informationMessage?: React.ReactNode;
27
- isDisabled?: boolean;
28
- isReadOnly?: boolean;
29
- isRequired?: boolean;
30
- size?: NumberInputSize;
31
- width?: string;
32
- className?: string;
33
- autoFocus?: boolean;
34
- /** Hide the +/- stepper buttons. */
35
- hideSteppers?: boolean;
36
- }
37
- export declare const NumberInput: React.ForwardRefExoticComponent<NumberInputProps & React.RefAttributes<HTMLInputElement>>;
@@ -1,210 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.NumberInput = void 0;
37
- const React = __importStar(require("react"));
38
- const lucide_react_1 = require("lucide-react");
39
- const utils_1 = require("../../lib/utils");
40
- const field_1 = require("../ui/field");
41
- const input_1 = require("../ui/input");
42
- const form_field_1 = require("../ui/form-field");
43
- const STEPPER_SIZE = {
44
- sm: "w-5",
45
- md: "w-6",
46
- lg: "w-7",
47
- };
48
- const STEPPER_ICON = {
49
- sm: "h-2.5 w-2.5",
50
- md: "h-3 w-3",
51
- lg: "h-3.5 w-3.5",
52
- };
53
- function clamp(value, min, max) {
54
- if (typeof min === "number" && value < min)
55
- return min;
56
- if (typeof max === "number" && value > max)
57
- return max;
58
- return value;
59
- }
60
- function roundTo(value, precision) {
61
- const factor = 10 ** precision;
62
- return Math.round(value * factor) / factor;
63
- }
64
- function defaultParse(raw) {
65
- if (raw.trim() === "")
66
- return NaN;
67
- const cleaned = raw.replace(/[^\d.\-+eE]/g, "");
68
- return parseFloat(cleaned);
69
- }
70
- function defaultFormat(value, precision) {
71
- if (Number.isNaN(value))
72
- return "";
73
- if (typeof precision === "number")
74
- return value.toFixed(precision);
75
- return String(value);
76
- }
77
- exports.NumberInput = React.forwardRef((props, ref) => {
78
- const { id, label, placeholder, value, defaultValue, onChange, onBlur, onFocus, min, max, step = 1, precision, format, parse = defaultParse, helperText, error = false, errorMessage, isInformation, informationMessage, isDisabled, isReadOnly, isRequired, size = "md", width, className, autoFocus, hideSteppers = false, name, } = props;
79
- return (React.createElement(field_1.Field, { id: id, label: label, isRequired: isRequired, isInformation: isInformation, informationMessage: informationMessage, helperText: helperText, error: error, errorMessage: errorMessage, width: width },
80
- React.createElement(NumberInputControl, { ref: ref, name: name, placeholder: placeholder, value: value, defaultValue: defaultValue, onChange: onChange, onBlur: onBlur, onFocus: onFocus, min: min, max: max, step: step, precision: precision, format: format, parse: parse, isDisabled: isDisabled, isReadOnly: isReadOnly, error: error, size: size, className: className, autoFocus: autoFocus, hideSteppers: hideSteppers })));
81
- });
82
- exports.NumberInput.displayName = "NumberInput";
83
- const NumberInputControl = React.forwardRef(({ placeholder, value, defaultValue, onChange, onBlur, onFocus, min, max, step = 1, precision, format, parse = defaultParse, isDisabled, isReadOnly, error = false, size = "md", className, autoFocus, hideSteppers = false, name, }, ref) => {
84
- const field = (0, form_field_1.useFormField)();
85
- const [draft, setDraft] = React.useState(() => {
86
- const initial = typeof value === "number"
87
- ? value
88
- : typeof defaultValue === "number"
89
- ? defaultValue
90
- : null;
91
- return initial === null ? "" : (format
92
- ? format(initial)
93
- : defaultFormat(initial, precision));
94
- });
95
- const [focused, setFocused] = React.useState(false);
96
- React.useEffect(() => {
97
- if (focused)
98
- return;
99
- if (value === undefined)
100
- return;
101
- setDraft(value === null
102
- ? ""
103
- : format
104
- ? format(value)
105
- : defaultFormat(value, precision));
106
- }, [value, focused, format, precision]);
107
- const innerRef = React.useRef(null);
108
- const setRefs = React.useCallback((node) => {
109
- innerRef.current = node;
110
- if (typeof ref === "function")
111
- ref(node);
112
- else if (ref)
113
- ref.current =
114
- node;
115
- }, [ref]);
116
- const commit = (next) => {
117
- const formatted = next === null
118
- ? ""
119
- : format
120
- ? format(next)
121
- : defaultFormat(next, precision);
122
- setDraft(formatted);
123
- onChange === null || onChange === void 0 ? void 0 : onChange(next);
124
- };
125
- const adjustBy = (delta) => {
126
- if (isDisabled || isReadOnly)
127
- return;
128
- const parsed = parse(draft);
129
- const base = Number.isNaN(parsed) ? min !== null && min !== void 0 ? min : 0 : parsed;
130
- let next = base + delta * step;
131
- if (typeof precision === "number")
132
- next = roundTo(next, precision);
133
- next = clamp(next, min, max);
134
- commit(next);
135
- };
136
- const handleChange = (event) => {
137
- setDraft(event.target.value);
138
- const parsed = parse(event.target.value);
139
- if (Number.isNaN(parsed)) {
140
- if (event.target.value === "")
141
- onChange === null || onChange === void 0 ? void 0 : onChange(null);
142
- }
143
- else {
144
- onChange === null || onChange === void 0 ? void 0 : onChange(parsed);
145
- }
146
- };
147
- const handleBlur = (event) => {
148
- setFocused(false);
149
- const parsed = parse(draft);
150
- if (Number.isNaN(parsed)) {
151
- if (draft.trim() === "")
152
- commit(null);
153
- else
154
- commit(value !== null && value !== void 0 ? value : null);
155
- }
156
- else {
157
- let next = parsed;
158
- if (typeof precision === "number")
159
- next = roundTo(next, precision);
160
- next = clamp(next, min, max);
161
- commit(next);
162
- }
163
- onBlur === null || onBlur === void 0 ? void 0 : onBlur(event);
164
- };
165
- const handleFocus = (event) => {
166
- setFocused(true);
167
- const parsed = parse(draft);
168
- if (!Number.isNaN(parsed)) {
169
- setDraft(defaultFormat(parsed, precision));
170
- }
171
- onFocus === null || onFocus === void 0 ? void 0 : onFocus(event);
172
- };
173
- const handleKeyDown = (event) => {
174
- if (event.key === "ArrowUp") {
175
- event.preventDefault();
176
- adjustBy(event.shiftKey ? 10 : 1);
177
- }
178
- else if (event.key === "ArrowDown") {
179
- event.preventDefault();
180
- adjustBy(event.shiftKey ? -10 : -1);
181
- }
182
- };
183
- const atMin = typeof min === "number" && parseSafe(draft) <= min;
184
- const atMax = typeof max === "number" && parseSafe(draft) >= max;
185
- return (React.createElement("div", { className: (0, utils_1.cn)("relative", className) },
186
- React.createElement(input_1.Input, { ref: setRefs, name: name, type: "text", inputMode: "decimal", placeholder: placeholder, value: draft, onChange: handleChange, onBlur: handleBlur, onFocus: handleFocus, onKeyDown: handleKeyDown, disabled: isDisabled, readOnly: isReadOnly, autoFocus: autoFocus, size: size, "aria-invalid": error || field.hasError || undefined, role: "spinbutton", "aria-valuemin": min, "aria-valuemax": max, "aria-valuenow": typeof value === "number" ? value : undefined, className: (0, utils_1.cn)(!hideSteppers && stepperPadding(size), "tabular-nums", error &&
187
- "border-destructive bg-destructive/5 focus-visible:ring-destructive") }),
188
- !hideSteppers && (React.createElement("div", { className: (0, utils_1.cn)("pointer-events-none absolute inset-y-0 right-0 flex flex-col border-l border-input", STEPPER_SIZE[size]), "aria-hidden": "true" },
189
- React.createElement(StepperButton, { label: "Increment", disabled: isDisabled || isReadOnly || atMax, onClick: () => adjustBy(1), size: size, position: "top" },
190
- React.createElement(lucide_react_1.ChevronUp, { className: STEPPER_ICON[size] })),
191
- React.createElement(StepperButton, { label: "Decrement", disabled: isDisabled || isReadOnly || atMin, onClick: () => adjustBy(-1), size: size, position: "bottom" },
192
- React.createElement(lucide_react_1.ChevronDown, { className: STEPPER_ICON[size] }))))));
193
- });
194
- NumberInputControl.displayName = "NumberInputControl";
195
- function parseSafe(raw) {
196
- const n = parseFloat(raw);
197
- return Number.isNaN(n) ? -Infinity : n;
198
- }
199
- function stepperPadding(size) {
200
- if (size === "sm")
201
- return "pr-7";
202
- if (size === "lg")
203
- return "pr-9";
204
- return "pr-8";
205
- }
206
- function StepperButton({ label, disabled, onClick, size, position, children, }) {
207
- return (React.createElement("button", { type: "button", tabIndex: -1, "aria-label": label, disabled: disabled, onMouseDown: (event) => {
208
- event.preventDefault();
209
- }, onClick: onClick, className: (0, utils_1.cn)("pointer-events-auto flex flex-1 items-center justify-center text-muted-foreground transition-colors", "hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50", position === "top" ? "rounded-tr-md" : "rounded-br-md", size === "sm" ? "min-h-0" : "min-h-0") }, children));
210
- }
@@ -1,26 +0,0 @@
1
- import * as React from "react";
2
- export type PinInputSize = "sm" | "md" | "lg";
3
- export type PinInputType = "number" | "alphanumeric";
4
- export interface PinInputProps {
5
- length?: number;
6
- type?: PinInputType;
7
- value?: string;
8
- defaultValue?: string;
9
- onChange?: (value: string) => void;
10
- /** Fires when all boxes are filled. */
11
- onComplete?: (value: string) => void;
12
- autoFocus?: boolean;
13
- /** Replace the visible character with • (e.g. for OTP secrets). */
14
- mask?: boolean;
15
- label?: React.ReactNode;
16
- helperText?: React.ReactNode;
17
- error?: boolean;
18
- errorMessage?: React.ReactNode;
19
- isRequired?: boolean;
20
- size?: PinInputSize;
21
- name?: string;
22
- isDisabled?: boolean;
23
- className?: string;
24
- id?: string;
25
- }
26
- export declare const PinInput: React.ForwardRefExoticComponent<PinInputProps & React.RefAttributes<HTMLDivElement>>;