@classytic/fluid 0.2.4 → 0.3.3
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/LICENSE +21 -0
- package/README.md +149 -62
- package/dist/api-pagination-CJ0vR_w6.d.mts +34 -0
- package/dist/api-pagination-DBTE0yk4.mjs +190 -0
- package/dist/chunk-DQk6qfdC.mjs +18 -0
- package/dist/client/calendar.d.mts +105 -0
- package/dist/client/calendar.mjs +202 -0
- package/dist/client/core.d.mts +1614 -0
- package/dist/client/core.mjs +2779 -0
- package/dist/client/error.d.mts +125 -0
- package/dist/client/error.mjs +166 -0
- package/dist/client/hooks.d.mts +162 -0
- package/dist/client/hooks.mjs +447 -0
- package/dist/client/table.d.mts +84 -0
- package/dist/client/table.mjs +373 -0
- package/dist/client/theme.d.mts +6 -0
- package/dist/client/theme.mjs +65 -0
- package/dist/command.d.mts +134 -0
- package/dist/command.mjs +132 -0
- package/dist/compact.d.mts +359 -0
- package/dist/compact.mjs +892 -0
- package/dist/dashboard.d.mts +778 -0
- package/dist/dashboard.mjs +1617 -0
- package/dist/filter-utils-DqMmy_v-.mjs +72 -0
- package/dist/filter-utils-IZ0GtuPo.d.mts +40 -0
- package/dist/forms.d.mts +1549 -0
- package/dist/forms.mjs +3740 -0
- package/dist/index.d.mts +296 -0
- package/dist/index.mjs +432 -0
- package/dist/layouts.d.mts +215 -0
- package/dist/layouts.mjs +460 -0
- package/dist/search-context-DR7DBs7S.mjs +19 -0
- package/dist/search.d.mts +254 -0
- package/dist/search.mjs +523 -0
- package/dist/sheet-wrapper-C13Y-Q6w.mjs +211 -0
- package/dist/use-base-search-BGgWnWaF.d.mts +35 -0
- package/dist/use-debounce-xmZucz5e.mjs +53 -0
- package/dist/use-keyboard-shortcut-Bl6YM5Q7.mjs +82 -0
- package/dist/use-keyboard-shortcut-_mRCh3QO.d.mts +24 -0
- package/dist/use-media-query-BnVNIKT4.mjs +17 -0
- package/dist/use-mobile-BX3SQVo2.mjs +20 -0
- package/dist/use-scroll-detection-CsgsQYvy.mjs +43 -0
- package/dist/utils-CDue7cEt.d.mts +6 -0
- package/dist/utils-DQ5SCVoW.mjs +10 -0
- package/package.json +85 -45
- package/styles.css +2 -2
- package/dist/chunk-GUHK2DTW.js +0 -15
- package/dist/chunk-GUHK2DTW.js.map +0 -1
- package/dist/chunk-H3NFL3GJ.js +0 -57
- package/dist/chunk-H3NFL3GJ.js.map +0 -1
- package/dist/chunk-J2YRTQE4.js +0 -293
- package/dist/chunk-J2YRTQE4.js.map +0 -1
- package/dist/compact.d.ts +0 -217
- package/dist/compact.js +0 -986
- package/dist/compact.js.map +0 -1
- package/dist/dashboard.d.ts +0 -387
- package/dist/dashboard.js +0 -1032
- package/dist/dashboard.js.map +0 -1
- package/dist/index.d.ts +0 -2140
- package/dist/index.js +0 -6422
- package/dist/index.js.map +0 -1
- package/dist/layout.d.ts +0 -25
- package/dist/layout.js +0 -4
- package/dist/layout.js.map +0 -1
- package/dist/search.d.ts +0 -172
- package/dist/search.js +0 -341
- package/dist/search.js.map +0 -1
- package/dist/use-base-search-AS5Z3SAy.d.ts +0 -64
- package/dist/utils-Cbsgs0XP.d.ts +0 -5
|
@@ -0,0 +1,1614 @@
|
|
|
1
|
+
import { n as ApiPaginationData, r as ApiPaginationProps, t as ApiPagination } from "../api-pagination-CJ0vR_w6.mjs";
|
|
2
|
+
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
3
|
+
import * as react from "react";
|
|
4
|
+
import { ComponentType, ElementType, HTMLAttributes, ReactNode, RefObject } from "react";
|
|
5
|
+
import { LucideIcon, LucideProps } from "lucide-react";
|
|
6
|
+
import { VariantProps } from "class-variance-authority";
|
|
7
|
+
import * as class_variance_authority_types0 from "class-variance-authority/types";
|
|
8
|
+
|
|
9
|
+
//#region src/components/accordion-wrapper.d.ts
|
|
10
|
+
interface AccordionSectionProps {
|
|
11
|
+
title: string;
|
|
12
|
+
icon?: ReactNode;
|
|
13
|
+
children: ReactNode;
|
|
14
|
+
defaultOpen?: boolean;
|
|
15
|
+
className?: string;
|
|
16
|
+
badge?: ReactNode;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* AccordionSection - Single collapsible section with smooth animation
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```tsx
|
|
23
|
+
* <AccordionSection title="Settings" icon={<Settings className="h-4 w-4" />}>
|
|
24
|
+
* <div>Content here</div>
|
|
25
|
+
* </AccordionSection>
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
declare const AccordionSection: react.NamedExoticComponent<AccordionSectionProps>;
|
|
29
|
+
interface FaqItem {
|
|
30
|
+
id: string;
|
|
31
|
+
question: string;
|
|
32
|
+
answer: ReactNode;
|
|
33
|
+
}
|
|
34
|
+
interface FaqAccordionProps {
|
|
35
|
+
items: FaqItem[];
|
|
36
|
+
defaultOpen?: string;
|
|
37
|
+
className?: string;
|
|
38
|
+
/** Allow multiple items to be open at once */
|
|
39
|
+
multiple?: boolean;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* FaqAccordion - FAQ-style accordion where only one item can be open by default
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* ```tsx
|
|
46
|
+
* <FaqAccordion
|
|
47
|
+
* items={[
|
|
48
|
+
* { id: "1", question: "What is this?", answer: "A FAQ accordion" },
|
|
49
|
+
* { id: "2", question: "How does it work?", answer: "Click to expand" },
|
|
50
|
+
* ]}
|
|
51
|
+
* />
|
|
52
|
+
* ```
|
|
53
|
+
*/
|
|
54
|
+
declare const FaqAccordion: react.NamedExoticComponent<FaqAccordionProps>;
|
|
55
|
+
//#endregion
|
|
56
|
+
//#region src/components/card-wrapper.d.ts
|
|
57
|
+
declare const CARD_VARIANTS: {
|
|
58
|
+
readonly default: "";
|
|
59
|
+
readonly outline: "border-2";
|
|
60
|
+
readonly ghost: "border-0 shadow-none bg-transparent";
|
|
61
|
+
readonly elevated: "shadow-lg border-0";
|
|
62
|
+
readonly primary: "border-primary/20 bg-primary/5";
|
|
63
|
+
readonly secondary: "border-secondary/20 bg-secondary/5";
|
|
64
|
+
readonly destructive: "border-destructive/20 bg-destructive/5";
|
|
65
|
+
readonly success: "border-green-500/20 bg-green-500/5";
|
|
66
|
+
readonly warning: "border-yellow-500/20 bg-yellow-500/5";
|
|
67
|
+
};
|
|
68
|
+
declare const CARD_SIZES: {
|
|
69
|
+
readonly sm: "p-3";
|
|
70
|
+
readonly default: "p-6";
|
|
71
|
+
readonly lg: "p-8";
|
|
72
|
+
readonly xl: "p-10";
|
|
73
|
+
};
|
|
74
|
+
interface CardWrapperProps {
|
|
75
|
+
title?: ReactNode;
|
|
76
|
+
description?: ReactNode;
|
|
77
|
+
children?: ReactNode;
|
|
78
|
+
footer?: ReactNode;
|
|
79
|
+
className?: string;
|
|
80
|
+
headerClassName?: string;
|
|
81
|
+
contentClassName?: string;
|
|
82
|
+
footerClassName?: string;
|
|
83
|
+
variant?: keyof typeof CARD_VARIANTS;
|
|
84
|
+
size?: keyof typeof CARD_SIZES;
|
|
85
|
+
hideHeader?: boolean;
|
|
86
|
+
}
|
|
87
|
+
declare function CardWrapper({
|
|
88
|
+
title,
|
|
89
|
+
description,
|
|
90
|
+
children,
|
|
91
|
+
footer,
|
|
92
|
+
className,
|
|
93
|
+
headerClassName,
|
|
94
|
+
contentClassName,
|
|
95
|
+
footerClassName,
|
|
96
|
+
variant,
|
|
97
|
+
size,
|
|
98
|
+
hideHeader,
|
|
99
|
+
...props
|
|
100
|
+
}: CardWrapperProps): react_jsx_runtime0.JSX.Element;
|
|
101
|
+
interface DataCardProps extends Omit<CardWrapperProps, "children"> {
|
|
102
|
+
/** Each item's `color` should be a complete Tailwind class (e.g. "text-green-600") */
|
|
103
|
+
data: Array<{
|
|
104
|
+
label: string;
|
|
105
|
+
value: ReactNode;
|
|
106
|
+
color?: string;
|
|
107
|
+
}>;
|
|
108
|
+
/** Number of columns in the data grid. Default: 3 (2 on mobile) */
|
|
109
|
+
cols?: 1 | 2 | 3 | 4;
|
|
110
|
+
}
|
|
111
|
+
declare function DataCard({
|
|
112
|
+
title,
|
|
113
|
+
data,
|
|
114
|
+
cols,
|
|
115
|
+
className,
|
|
116
|
+
...props
|
|
117
|
+
}: DataCardProps): react_jsx_runtime0.JSX.Element;
|
|
118
|
+
interface LoadingCardProps extends Omit<CardWrapperProps, "children"> {}
|
|
119
|
+
declare function LoadingCard({
|
|
120
|
+
title,
|
|
121
|
+
description,
|
|
122
|
+
className,
|
|
123
|
+
...props
|
|
124
|
+
}: LoadingCardProps): react_jsx_runtime0.JSX.Element;
|
|
125
|
+
interface StatsCardProps extends Omit<CardWrapperProps, "children" | "variant"> {
|
|
126
|
+
value: ReactNode;
|
|
127
|
+
icon?: ReactNode;
|
|
128
|
+
trend?: {
|
|
129
|
+
type: "up" | "down" | "neutral";
|
|
130
|
+
value: string;
|
|
131
|
+
};
|
|
132
|
+
/** Visual variant for the card and icon styling */
|
|
133
|
+
statsVariant?: "default" | "success" | "warning" | "danger" | "info";
|
|
134
|
+
/** Additional class for the icon wrapper */
|
|
135
|
+
iconClassName?: string;
|
|
136
|
+
}
|
|
137
|
+
declare function StatsCard({
|
|
138
|
+
title,
|
|
139
|
+
value,
|
|
140
|
+
description,
|
|
141
|
+
icon,
|
|
142
|
+
trend,
|
|
143
|
+
className,
|
|
144
|
+
statsVariant,
|
|
145
|
+
iconClassName,
|
|
146
|
+
...props
|
|
147
|
+
}: StatsCardProps): react_jsx_runtime0.JSX.Element;
|
|
148
|
+
interface DragHandleProps extends HTMLAttributes<HTMLDivElement> {
|
|
149
|
+
icon?: ReactNode;
|
|
150
|
+
}
|
|
151
|
+
interface DraggableCardProps extends Omit<CardWrapperProps, "children"> {
|
|
152
|
+
subtitle?: ReactNode;
|
|
153
|
+
badges?: ReactNode;
|
|
154
|
+
actions?: ReactNode;
|
|
155
|
+
details?: ReactNode;
|
|
156
|
+
dragHandleProps?: DragHandleProps;
|
|
157
|
+
isDragging?: boolean;
|
|
158
|
+
isHidden?: boolean;
|
|
159
|
+
children?: ReactNode;
|
|
160
|
+
}
|
|
161
|
+
declare function DraggableCard({
|
|
162
|
+
title,
|
|
163
|
+
subtitle,
|
|
164
|
+
badges,
|
|
165
|
+
actions,
|
|
166
|
+
details,
|
|
167
|
+
dragHandleProps,
|
|
168
|
+
className,
|
|
169
|
+
isDragging,
|
|
170
|
+
isHidden,
|
|
171
|
+
children,
|
|
172
|
+
...props
|
|
173
|
+
}: DraggableCardProps): react_jsx_runtime0.JSX.Element;
|
|
174
|
+
//#endregion
|
|
175
|
+
//#region src/components/client-submit-button.d.ts
|
|
176
|
+
interface ClientSubmitButtonProps {
|
|
177
|
+
children: ReactNode;
|
|
178
|
+
disabled?: boolean;
|
|
179
|
+
loading?: boolean;
|
|
180
|
+
loadingText?: string;
|
|
181
|
+
className?: string;
|
|
182
|
+
variant?: "default" | "destructive" | "outline" | "secondary" | "ghost" | "link";
|
|
183
|
+
size?: "default" | "sm" | "lg" | "icon";
|
|
184
|
+
form?: string;
|
|
185
|
+
}
|
|
186
|
+
declare function ClientSubmitButton({
|
|
187
|
+
children,
|
|
188
|
+
disabled,
|
|
189
|
+
loading,
|
|
190
|
+
loadingText,
|
|
191
|
+
className,
|
|
192
|
+
variant,
|
|
193
|
+
size,
|
|
194
|
+
form,
|
|
195
|
+
...props
|
|
196
|
+
}: ClientSubmitButtonProps): react_jsx_runtime0.JSX.Element;
|
|
197
|
+
//#endregion
|
|
198
|
+
//#region src/components/collapsible-wrapper.d.ts
|
|
199
|
+
interface CollapsibleWrapperProps {
|
|
200
|
+
children: ReactNode;
|
|
201
|
+
trigger: ReactNode;
|
|
202
|
+
defaultOpen?: boolean;
|
|
203
|
+
open?: boolean;
|
|
204
|
+
onOpenChange?: (open: boolean) => void;
|
|
205
|
+
/** @deprecated Use render prop pattern with trigger element instead */
|
|
206
|
+
triggerAsChild?: boolean;
|
|
207
|
+
triggerVariant?: "default" | "destructive" | "outline" | "secondary" | "ghost" | "link";
|
|
208
|
+
triggerSize?: "default" | "sm" | "lg" | "icon";
|
|
209
|
+
triggerClassName?: string;
|
|
210
|
+
contentClassName?: string;
|
|
211
|
+
className?: string;
|
|
212
|
+
showChevron?: boolean;
|
|
213
|
+
chevronPosition?: "left" | "right";
|
|
214
|
+
disabled?: boolean;
|
|
215
|
+
}
|
|
216
|
+
declare function CollapsibleWrapper({
|
|
217
|
+
children,
|
|
218
|
+
trigger,
|
|
219
|
+
defaultOpen,
|
|
220
|
+
open,
|
|
221
|
+
onOpenChange,
|
|
222
|
+
triggerAsChild,
|
|
223
|
+
triggerVariant,
|
|
224
|
+
triggerSize,
|
|
225
|
+
triggerClassName,
|
|
226
|
+
contentClassName,
|
|
227
|
+
className,
|
|
228
|
+
showChevron,
|
|
229
|
+
chevronPosition,
|
|
230
|
+
disabled,
|
|
231
|
+
...props
|
|
232
|
+
}: CollapsibleWrapperProps): react_jsx_runtime0.JSX.Element;
|
|
233
|
+
interface CollapsibleCardProps {
|
|
234
|
+
title: ReactNode;
|
|
235
|
+
children: ReactNode;
|
|
236
|
+
defaultOpen?: boolean;
|
|
237
|
+
className?: string;
|
|
238
|
+
headerClassName?: string;
|
|
239
|
+
contentClassName?: string;
|
|
240
|
+
}
|
|
241
|
+
declare function CollapsibleCard({
|
|
242
|
+
title,
|
|
243
|
+
children,
|
|
244
|
+
defaultOpen,
|
|
245
|
+
className,
|
|
246
|
+
headerClassName,
|
|
247
|
+
contentClassName,
|
|
248
|
+
...props
|
|
249
|
+
}: CollapsibleCardProps): react_jsx_runtime0.JSX.Element;
|
|
250
|
+
interface CollapsibleSectionProps {
|
|
251
|
+
label: ReactNode;
|
|
252
|
+
children: ReactNode;
|
|
253
|
+
defaultOpen?: boolean;
|
|
254
|
+
className?: string;
|
|
255
|
+
labelClassName?: string;
|
|
256
|
+
contentClassName?: string;
|
|
257
|
+
}
|
|
258
|
+
declare function CollapsibleSection({
|
|
259
|
+
label,
|
|
260
|
+
children,
|
|
261
|
+
defaultOpen,
|
|
262
|
+
className,
|
|
263
|
+
labelClassName,
|
|
264
|
+
contentClassName,
|
|
265
|
+
...props
|
|
266
|
+
}: CollapsibleSectionProps): react_jsx_runtime0.JSX.Element;
|
|
267
|
+
//#endregion
|
|
268
|
+
//#region src/components/confirm-dialog.d.ts
|
|
269
|
+
interface ConfirmDialogProps {
|
|
270
|
+
open: boolean;
|
|
271
|
+
onOpenChange: (open: boolean) => void;
|
|
272
|
+
/** Trigger element that opens the dialog */
|
|
273
|
+
trigger?: react.ReactElement;
|
|
274
|
+
title?: string;
|
|
275
|
+
description?: string;
|
|
276
|
+
confirmText?: string;
|
|
277
|
+
cancelText?: string;
|
|
278
|
+
variant?: "default" | "destructive" | "outline" | "secondary" | "ghost" | "link";
|
|
279
|
+
isLoading?: boolean;
|
|
280
|
+
onConfirm?: () => void;
|
|
281
|
+
onCancel?: () => void;
|
|
282
|
+
icon?: ReactNode;
|
|
283
|
+
children?: ReactNode;
|
|
284
|
+
className?: string;
|
|
285
|
+
/** Header className */
|
|
286
|
+
headerClassName?: string;
|
|
287
|
+
/** Description className */
|
|
288
|
+
descriptionClassName?: string;
|
|
289
|
+
/** Footer className */
|
|
290
|
+
footerClassName?: string;
|
|
291
|
+
/** Whether to show the cancel button (default: true) */
|
|
292
|
+
showCancel?: boolean;
|
|
293
|
+
}
|
|
294
|
+
declare function ConfirmDialog({
|
|
295
|
+
open,
|
|
296
|
+
onOpenChange,
|
|
297
|
+
trigger,
|
|
298
|
+
title,
|
|
299
|
+
description,
|
|
300
|
+
confirmText,
|
|
301
|
+
cancelText,
|
|
302
|
+
variant,
|
|
303
|
+
isLoading,
|
|
304
|
+
onConfirm,
|
|
305
|
+
onCancel,
|
|
306
|
+
icon,
|
|
307
|
+
children,
|
|
308
|
+
className,
|
|
309
|
+
headerClassName,
|
|
310
|
+
descriptionClassName,
|
|
311
|
+
footerClassName,
|
|
312
|
+
showCancel,
|
|
313
|
+
...props
|
|
314
|
+
}: ConfirmDialogProps): react_jsx_runtime0.JSX.Element;
|
|
315
|
+
interface DeleteConfirmDialogProps {
|
|
316
|
+
open: boolean;
|
|
317
|
+
onOpenChange: (open: boolean) => void;
|
|
318
|
+
onConfirm?: () => void;
|
|
319
|
+
isLoading?: boolean;
|
|
320
|
+
itemName?: string;
|
|
321
|
+
itemDetails?: ReactNode;
|
|
322
|
+
}
|
|
323
|
+
declare function DeleteConfirmDialog({
|
|
324
|
+
open,
|
|
325
|
+
onOpenChange,
|
|
326
|
+
onConfirm,
|
|
327
|
+
isLoading,
|
|
328
|
+
itemName,
|
|
329
|
+
itemDetails,
|
|
330
|
+
...props
|
|
331
|
+
}: DeleteConfirmDialogProps): react_jsx_runtime0.JSX.Element;
|
|
332
|
+
interface InfoAlertProps extends Omit<ConfirmDialogProps, "showCancel" | "variant"> {
|
|
333
|
+
confirmText?: string;
|
|
334
|
+
}
|
|
335
|
+
/**
|
|
336
|
+
* InfoAlert - Information/warning alert with only confirm button (no cancel)
|
|
337
|
+
*
|
|
338
|
+
* @example
|
|
339
|
+
* ```tsx
|
|
340
|
+
* <InfoAlert
|
|
341
|
+
* open={open}
|
|
342
|
+
* onOpenChange={setOpen}
|
|
343
|
+
* title="Session expired"
|
|
344
|
+
* description="Please log in again"
|
|
345
|
+
* confirmText="OK"
|
|
346
|
+
* onConfirm={() => setOpen(false)}
|
|
347
|
+
* />
|
|
348
|
+
* ```
|
|
349
|
+
*/
|
|
350
|
+
declare function InfoAlert({
|
|
351
|
+
title,
|
|
352
|
+
description,
|
|
353
|
+
confirmText,
|
|
354
|
+
onConfirm,
|
|
355
|
+
onOpenChange,
|
|
356
|
+
...props
|
|
357
|
+
}: InfoAlertProps): react_jsx_runtime0.JSX.Element;
|
|
358
|
+
//#endregion
|
|
359
|
+
//#region src/components/copy-button.d.ts
|
|
360
|
+
interface CopyButtonProps {
|
|
361
|
+
value: string;
|
|
362
|
+
className?: string;
|
|
363
|
+
size?: "default" | "sm" | "lg" | "icon";
|
|
364
|
+
variant?: "default" | "destructive" | "outline" | "secondary" | "ghost" | "link";
|
|
365
|
+
showToast?: boolean;
|
|
366
|
+
toastMessage?: string;
|
|
367
|
+
errorMessage?: string;
|
|
368
|
+
timeout?: number;
|
|
369
|
+
children?: ReactNode;
|
|
370
|
+
}
|
|
371
|
+
declare function CopyButton({
|
|
372
|
+
value,
|
|
373
|
+
className,
|
|
374
|
+
size,
|
|
375
|
+
variant,
|
|
376
|
+
showToast,
|
|
377
|
+
toastMessage,
|
|
378
|
+
errorMessage,
|
|
379
|
+
timeout,
|
|
380
|
+
children,
|
|
381
|
+
...props
|
|
382
|
+
}: CopyButtonProps): react_jsx_runtime0.JSX.Element;
|
|
383
|
+
interface CopyTextProps {
|
|
384
|
+
value: string;
|
|
385
|
+
displayValue?: string;
|
|
386
|
+
className?: string;
|
|
387
|
+
textClassName?: string;
|
|
388
|
+
buttonClassName?: string;
|
|
389
|
+
maxLength?: number;
|
|
390
|
+
showButton?: boolean;
|
|
391
|
+
}
|
|
392
|
+
declare function CopyText({
|
|
393
|
+
value,
|
|
394
|
+
displayValue,
|
|
395
|
+
className,
|
|
396
|
+
textClassName,
|
|
397
|
+
buttonClassName,
|
|
398
|
+
maxLength,
|
|
399
|
+
showButton,
|
|
400
|
+
...buttonProps
|
|
401
|
+
}: CopyTextProps): react_jsx_runtime0.JSX.Element;
|
|
402
|
+
interface CopyCodeBlockProps {
|
|
403
|
+
value: string;
|
|
404
|
+
className?: string;
|
|
405
|
+
language?: string;
|
|
406
|
+
showLineNumbers?: boolean;
|
|
407
|
+
}
|
|
408
|
+
declare function CopyCodeBlock({
|
|
409
|
+
value,
|
|
410
|
+
className,
|
|
411
|
+
language,
|
|
412
|
+
showLineNumbers,
|
|
413
|
+
...buttonProps
|
|
414
|
+
}: CopyCodeBlockProps): react_jsx_runtime0.JSX.Element;
|
|
415
|
+
//#endregion
|
|
416
|
+
//#region src/components/custom-pagination.d.ts
|
|
417
|
+
interface CustomPaginationProps {
|
|
418
|
+
page: number;
|
|
419
|
+
pages: number;
|
|
420
|
+
hasNext: boolean;
|
|
421
|
+
hasPrev: boolean;
|
|
422
|
+
onPageChange: (page: number) => void;
|
|
423
|
+
}
|
|
424
|
+
declare function CustomPagination({
|
|
425
|
+
page,
|
|
426
|
+
onPageChange,
|
|
427
|
+
pages,
|
|
428
|
+
hasPrev,
|
|
429
|
+
hasNext
|
|
430
|
+
}: CustomPaginationProps): react_jsx_runtime0.JSX.Element | null;
|
|
431
|
+
interface PaginationInfoProps {
|
|
432
|
+
page: number;
|
|
433
|
+
total: number;
|
|
434
|
+
limit?: number;
|
|
435
|
+
}
|
|
436
|
+
declare function PaginationInfo({
|
|
437
|
+
page,
|
|
438
|
+
total,
|
|
439
|
+
limit
|
|
440
|
+
}: PaginationInfoProps): react_jsx_runtime0.JSX.Element;
|
|
441
|
+
//#endregion
|
|
442
|
+
//#region src/components/dialog-wrapper.d.ts
|
|
443
|
+
declare const SIZE_VARIANTS: {
|
|
444
|
+
readonly sm: "sm:max-w-sm";
|
|
445
|
+
readonly default: "sm:max-w-md";
|
|
446
|
+
readonly lg: "sm:max-w-lg md:max-w-2xl";
|
|
447
|
+
readonly xl: "sm:max-w-2xl md:max-w-4xl";
|
|
448
|
+
readonly "2xl": "sm:max-w-4xl md:max-w-6xl";
|
|
449
|
+
readonly full: "max-w-[95vw] h-[95vh]";
|
|
450
|
+
};
|
|
451
|
+
type SizeVariant$1 = keyof typeof SIZE_VARIANTS;
|
|
452
|
+
interface DialogWrapperProps {
|
|
453
|
+
open: boolean;
|
|
454
|
+
onOpenChange: (open: boolean) => void;
|
|
455
|
+
title?: ReactNode;
|
|
456
|
+
description?: ReactNode;
|
|
457
|
+
children?: ReactNode;
|
|
458
|
+
footer?: ReactNode;
|
|
459
|
+
trigger?: ReactNode;
|
|
460
|
+
size?: SizeVariant$1;
|
|
461
|
+
className?: string;
|
|
462
|
+
headerClassName?: string;
|
|
463
|
+
contentClassName?: string;
|
|
464
|
+
footerClassName?: string;
|
|
465
|
+
hideHeader?: boolean;
|
|
466
|
+
hideTitle?: boolean;
|
|
467
|
+
hideDescription?: boolean;
|
|
468
|
+
hideCloseButton?: boolean;
|
|
469
|
+
}
|
|
470
|
+
declare function DialogWrapper({
|
|
471
|
+
open,
|
|
472
|
+
onOpenChange,
|
|
473
|
+
title,
|
|
474
|
+
description,
|
|
475
|
+
children,
|
|
476
|
+
footer,
|
|
477
|
+
trigger,
|
|
478
|
+
size,
|
|
479
|
+
className,
|
|
480
|
+
headerClassName,
|
|
481
|
+
contentClassName,
|
|
482
|
+
footerClassName,
|
|
483
|
+
hideHeader,
|
|
484
|
+
hideTitle,
|
|
485
|
+
hideDescription,
|
|
486
|
+
hideCloseButton,
|
|
487
|
+
...props
|
|
488
|
+
}: DialogWrapperProps): react_jsx_runtime0.JSX.Element;
|
|
489
|
+
interface FormDialogProps extends Omit<DialogWrapperProps, "footer"> {
|
|
490
|
+
onSubmit?: (e: react.FormEvent<HTMLFormElement>) => void;
|
|
491
|
+
onCancel?: () => void;
|
|
492
|
+
submitText?: string;
|
|
493
|
+
cancelText?: string;
|
|
494
|
+
isLoading?: boolean;
|
|
495
|
+
submitDisabled?: boolean;
|
|
496
|
+
}
|
|
497
|
+
declare function FormDialog({
|
|
498
|
+
open,
|
|
499
|
+
onOpenChange,
|
|
500
|
+
title,
|
|
501
|
+
description,
|
|
502
|
+
children,
|
|
503
|
+
onSubmit,
|
|
504
|
+
onCancel,
|
|
505
|
+
submitText,
|
|
506
|
+
cancelText,
|
|
507
|
+
isLoading,
|
|
508
|
+
submitDisabled,
|
|
509
|
+
...props
|
|
510
|
+
}: FormDialogProps): react_jsx_runtime0.JSX.Element;
|
|
511
|
+
//#endregion
|
|
512
|
+
//#region src/components/dropdown-wrapper.d.ts
|
|
513
|
+
interface DropdownWrapperProps {
|
|
514
|
+
trigger: react.ReactNode;
|
|
515
|
+
children: react.ReactNode;
|
|
516
|
+
align?: "start" | "center" | "end";
|
|
517
|
+
side?: "top" | "right" | "bottom" | "left";
|
|
518
|
+
sideOffset?: number;
|
|
519
|
+
className?: string;
|
|
520
|
+
contentClassName?: string;
|
|
521
|
+
}
|
|
522
|
+
declare function DropdownWrapper({
|
|
523
|
+
trigger,
|
|
524
|
+
children,
|
|
525
|
+
align,
|
|
526
|
+
side,
|
|
527
|
+
sideOffset,
|
|
528
|
+
className,
|
|
529
|
+
contentClassName,
|
|
530
|
+
...props
|
|
531
|
+
}: DropdownWrapperProps): react_jsx_runtime0.JSX.Element;
|
|
532
|
+
interface ActionDropdownItem {
|
|
533
|
+
type?: "item" | "separator" | "label" | "group";
|
|
534
|
+
key?: string;
|
|
535
|
+
label?: string | (() => string);
|
|
536
|
+
icon?: LucideIcon;
|
|
537
|
+
onClick?: (e: react.MouseEvent) => void;
|
|
538
|
+
disabled?: boolean;
|
|
539
|
+
hidden?: boolean;
|
|
540
|
+
variant?: "default" | "destructive";
|
|
541
|
+
shortcut?: string;
|
|
542
|
+
className?: string;
|
|
543
|
+
items?: ActionDropdownItem[];
|
|
544
|
+
}
|
|
545
|
+
interface ActionDropdownProps {
|
|
546
|
+
items?: ActionDropdownItem[];
|
|
547
|
+
triggerIcon?: LucideIcon;
|
|
548
|
+
triggerVariant?: "default" | "destructive" | "outline" | "secondary" | "ghost" | "link";
|
|
549
|
+
triggerSize?: "default" | "sm" | "lg" | "icon";
|
|
550
|
+
triggerClassName?: string;
|
|
551
|
+
triggerLabel?: string;
|
|
552
|
+
showOnHover?: boolean;
|
|
553
|
+
align?: "start" | "center" | "end";
|
|
554
|
+
contentClassName?: string;
|
|
555
|
+
onOpenChange?: (open: boolean) => void;
|
|
556
|
+
stopPropagation?: boolean;
|
|
557
|
+
}
|
|
558
|
+
declare function ActionDropdown({
|
|
559
|
+
items,
|
|
560
|
+
triggerIcon: TriggerIcon,
|
|
561
|
+
triggerVariant,
|
|
562
|
+
triggerSize,
|
|
563
|
+
triggerClassName,
|
|
564
|
+
triggerLabel,
|
|
565
|
+
showOnHover,
|
|
566
|
+
align,
|
|
567
|
+
contentClassName,
|
|
568
|
+
onOpenChange,
|
|
569
|
+
stopPropagation,
|
|
570
|
+
...props
|
|
571
|
+
}: ActionDropdownProps): react_jsx_runtime0.JSX.Element;
|
|
572
|
+
interface SelectDropdownOption {
|
|
573
|
+
value: string;
|
|
574
|
+
label: string;
|
|
575
|
+
icon?: LucideIcon;
|
|
576
|
+
}
|
|
577
|
+
interface SelectDropdownProps {
|
|
578
|
+
value?: string;
|
|
579
|
+
onValueChange?: (value: string) => void;
|
|
580
|
+
placeholder?: string;
|
|
581
|
+
options?: SelectDropdownOption[];
|
|
582
|
+
triggerClassName?: string;
|
|
583
|
+
contentClassName?: string;
|
|
584
|
+
disabled?: boolean;
|
|
585
|
+
}
|
|
586
|
+
declare function SelectDropdown({
|
|
587
|
+
value,
|
|
588
|
+
onValueChange,
|
|
589
|
+
placeholder,
|
|
590
|
+
options,
|
|
591
|
+
triggerClassName,
|
|
592
|
+
contentClassName,
|
|
593
|
+
disabled,
|
|
594
|
+
...props
|
|
595
|
+
}: SelectDropdownProps): react_jsx_runtime0.JSX.Element;
|
|
596
|
+
interface CheckboxDropdownProps {
|
|
597
|
+
values?: string[];
|
|
598
|
+
onValuesChange?: (values: string[]) => void;
|
|
599
|
+
placeholder?: string;
|
|
600
|
+
options?: SelectDropdownOption[];
|
|
601
|
+
triggerClassName?: string;
|
|
602
|
+
contentClassName?: string;
|
|
603
|
+
disabled?: boolean;
|
|
604
|
+
showSelectedCount?: boolean;
|
|
605
|
+
}
|
|
606
|
+
declare function CheckboxDropdown({
|
|
607
|
+
values,
|
|
608
|
+
onValuesChange,
|
|
609
|
+
placeholder,
|
|
610
|
+
options,
|
|
611
|
+
triggerClassName,
|
|
612
|
+
contentClassName,
|
|
613
|
+
disabled,
|
|
614
|
+
showSelectedCount,
|
|
615
|
+
...props
|
|
616
|
+
}: CheckboxDropdownProps): react_jsx_runtime0.JSX.Element;
|
|
617
|
+
interface RadioDropdownProps {
|
|
618
|
+
value?: string;
|
|
619
|
+
onValueChange?: (value: string) => void;
|
|
620
|
+
placeholder?: string;
|
|
621
|
+
options?: SelectDropdownOption[];
|
|
622
|
+
triggerClassName?: string;
|
|
623
|
+
contentClassName?: string;
|
|
624
|
+
disabled?: boolean;
|
|
625
|
+
}
|
|
626
|
+
declare function RadioDropdown({
|
|
627
|
+
value,
|
|
628
|
+
onValueChange,
|
|
629
|
+
placeholder,
|
|
630
|
+
options,
|
|
631
|
+
triggerClassName,
|
|
632
|
+
contentClassName,
|
|
633
|
+
disabled,
|
|
634
|
+
...props
|
|
635
|
+
}: RadioDropdownProps): react_jsx_runtime0.JSX.Element;
|
|
636
|
+
//#endregion
|
|
637
|
+
//#region src/components/error-state.d.ts
|
|
638
|
+
interface ErrorStateProps {
|
|
639
|
+
/** Error title */
|
|
640
|
+
title?: string;
|
|
641
|
+
/** Error message or Error object */
|
|
642
|
+
error: string | Error | {
|
|
643
|
+
message?: string;
|
|
644
|
+
} | null | undefined;
|
|
645
|
+
/** Optional retry callback */
|
|
646
|
+
onRetry?: () => void;
|
|
647
|
+
/** Alert variant */
|
|
648
|
+
variant?: "default" | "destructive";
|
|
649
|
+
/** Additional CSS classes */
|
|
650
|
+
className?: string;
|
|
651
|
+
/** Custom icon */
|
|
652
|
+
icon?: ReactNode;
|
|
653
|
+
}
|
|
654
|
+
/**
|
|
655
|
+
* ErrorState Component
|
|
656
|
+
*
|
|
657
|
+
* Reusable error display component with retry functionality
|
|
658
|
+
* Used for consistent error handling across pages
|
|
659
|
+
*/
|
|
660
|
+
declare function ErrorState({
|
|
661
|
+
title,
|
|
662
|
+
error,
|
|
663
|
+
onRetry,
|
|
664
|
+
variant,
|
|
665
|
+
className,
|
|
666
|
+
icon
|
|
667
|
+
}: ErrorStateProps): react_jsx_runtime0.JSX.Element;
|
|
668
|
+
interface ErrorStateInlineProps {
|
|
669
|
+
/** Error message or Error object */
|
|
670
|
+
error: string | Error | {
|
|
671
|
+
message?: string;
|
|
672
|
+
} | null | undefined;
|
|
673
|
+
/** Optional retry callback */
|
|
674
|
+
onRetry?: () => void;
|
|
675
|
+
/** Additional CSS classes */
|
|
676
|
+
className?: string;
|
|
677
|
+
/** Custom icon */
|
|
678
|
+
icon?: ReactNode;
|
|
679
|
+
}
|
|
680
|
+
/**
|
|
681
|
+
* Inline ErrorState variant - more compact for table cells
|
|
682
|
+
*/
|
|
683
|
+
declare function ErrorStateInline({
|
|
684
|
+
error,
|
|
685
|
+
onRetry,
|
|
686
|
+
className,
|
|
687
|
+
icon
|
|
688
|
+
}: ErrorStateInlineProps): react_jsx_runtime0.JSX.Element;
|
|
689
|
+
//#endregion
|
|
690
|
+
//#region src/components/info-row.d.ts
|
|
691
|
+
interface InfoRowProps {
|
|
692
|
+
label: string;
|
|
693
|
+
value: ReactNode;
|
|
694
|
+
copyable?: boolean;
|
|
695
|
+
icon?: ComponentType<LucideProps>;
|
|
696
|
+
}
|
|
697
|
+
declare function InfoRow({
|
|
698
|
+
label,
|
|
699
|
+
value,
|
|
700
|
+
copyable,
|
|
701
|
+
icon: Icon
|
|
702
|
+
}: InfoRowProps): react_jsx_runtime0.JSX.Element | null;
|
|
703
|
+
//#endregion
|
|
704
|
+
//#region src/components/item-helpers.d.ts
|
|
705
|
+
/**
|
|
706
|
+
* Item Component Helpers
|
|
707
|
+
*/
|
|
708
|
+
declare const iconItemMediaVariants: (props?: ({
|
|
709
|
+
iconBg?: "primary" | "gold" | "muted" | "gradient" | "none" | null | undefined;
|
|
710
|
+
iconSize?: "sm" | "md" | "lg" | "xl" | null | undefined;
|
|
711
|
+
} & class_variance_authority_types0.ClassProp) | undefined) => string;
|
|
712
|
+
interface IconItemMediaProps extends react.HTMLAttributes<HTMLDivElement>, VariantProps<typeof iconItemMediaVariants> {
|
|
713
|
+
icon?: react.ReactNode;
|
|
714
|
+
children?: react.ReactNode;
|
|
715
|
+
}
|
|
716
|
+
declare const IconItemMedia: react.NamedExoticComponent<IconItemMediaProps>;
|
|
717
|
+
interface FeatureItemProps {
|
|
718
|
+
icon?: react.ReactNode;
|
|
719
|
+
iconBg?: "primary" | "gold" | "muted" | "gradient" | "none";
|
|
720
|
+
iconSize?: "sm" | "md" | "lg" | "xl";
|
|
721
|
+
title?: react.ReactNode;
|
|
722
|
+
description?: react.ReactNode;
|
|
723
|
+
variant?: "default" | "outline" | "ghost" | "gradient-light" | "gradient";
|
|
724
|
+
size?: "sm" | "default" | "lg";
|
|
725
|
+
layout?: "vertical" | "horizontal";
|
|
726
|
+
titleAs?: react.ElementType;
|
|
727
|
+
className?: string;
|
|
728
|
+
titleClassName?: string;
|
|
729
|
+
descriptionClassName?: string;
|
|
730
|
+
iconClassName?: string;
|
|
731
|
+
children?: react.ReactNode;
|
|
732
|
+
}
|
|
733
|
+
declare const FeatureItem: react.NamedExoticComponent<FeatureItemProps>;
|
|
734
|
+
interface FeatureListItem {
|
|
735
|
+
id?: string;
|
|
736
|
+
icon?: react.ReactNode;
|
|
737
|
+
iconBg?: "primary" | "gold" | "muted" | "gradient" | "none";
|
|
738
|
+
iconSize?: "sm" | "md" | "lg" | "xl";
|
|
739
|
+
title: string;
|
|
740
|
+
description?: string;
|
|
741
|
+
}
|
|
742
|
+
interface FeatureListProps {
|
|
743
|
+
items?: FeatureListItem[];
|
|
744
|
+
columns?: 2 | 3 | 4;
|
|
745
|
+
variant?: "default" | "outline" | "ghost" | "gradient-light" | "gradient";
|
|
746
|
+
iconBg?: "primary" | "gold" | "muted" | "gradient" | "none";
|
|
747
|
+
iconSize?: "sm" | "md" | "lg" | "xl";
|
|
748
|
+
layout?: "vertical" | "horizontal";
|
|
749
|
+
className?: string;
|
|
750
|
+
itemClassName?: string;
|
|
751
|
+
}
|
|
752
|
+
declare function FeatureList({
|
|
753
|
+
items,
|
|
754
|
+
columns,
|
|
755
|
+
variant,
|
|
756
|
+
iconBg,
|
|
757
|
+
iconSize,
|
|
758
|
+
layout,
|
|
759
|
+
className,
|
|
760
|
+
itemClassName,
|
|
761
|
+
...props
|
|
762
|
+
}: FeatureListProps): react_jsx_runtime0.JSX.Element;
|
|
763
|
+
declare namespace FeatureList {
|
|
764
|
+
var displayName: string;
|
|
765
|
+
}
|
|
766
|
+
//#endregion
|
|
767
|
+
//#region src/components/phone-input.d.ts
|
|
768
|
+
interface PhoneCountry {
|
|
769
|
+
code: string;
|
|
770
|
+
name: string;
|
|
771
|
+
dialCode: string;
|
|
772
|
+
flag: string;
|
|
773
|
+
}
|
|
774
|
+
declare const DEFAULT_COUNTRIES: PhoneCountry[];
|
|
775
|
+
interface PhoneInputProps extends Omit<react.InputHTMLAttributes<HTMLInputElement>, "onChange"> {
|
|
776
|
+
onChange?: (value: string) => void;
|
|
777
|
+
defaultCountry?: string;
|
|
778
|
+
/** Custom list of countries to show. Defaults to a built-in list of ~50 countries. */
|
|
779
|
+
countries?: PhoneCountry[];
|
|
780
|
+
ref?: react.Ref<HTMLInputElement>;
|
|
781
|
+
}
|
|
782
|
+
declare function PhoneInput({
|
|
783
|
+
className,
|
|
784
|
+
onChange,
|
|
785
|
+
value,
|
|
786
|
+
defaultCountry,
|
|
787
|
+
countries,
|
|
788
|
+
disabled,
|
|
789
|
+
placeholder,
|
|
790
|
+
ref,
|
|
791
|
+
...props
|
|
792
|
+
}: PhoneInputProps): react_jsx_runtime0.JSX.Element;
|
|
793
|
+
//#endregion
|
|
794
|
+
//#region src/components/pill.d.ts
|
|
795
|
+
interface PillProps {
|
|
796
|
+
variant?: "default" | "secondary" | "destructive" | "outline";
|
|
797
|
+
themed?: boolean;
|
|
798
|
+
className?: string;
|
|
799
|
+
children?: ReactNode;
|
|
800
|
+
}
|
|
801
|
+
declare function Pill({
|
|
802
|
+
variant,
|
|
803
|
+
themed,
|
|
804
|
+
className,
|
|
805
|
+
...props
|
|
806
|
+
}: PillProps): react_jsx_runtime0.JSX.Element;
|
|
807
|
+
interface PillAvatarProps {
|
|
808
|
+
fallback?: string;
|
|
809
|
+
className?: string;
|
|
810
|
+
src?: string;
|
|
811
|
+
alt?: string;
|
|
812
|
+
}
|
|
813
|
+
declare function PillAvatar({
|
|
814
|
+
fallback,
|
|
815
|
+
className,
|
|
816
|
+
src,
|
|
817
|
+
alt,
|
|
818
|
+
...props
|
|
819
|
+
}: PillAvatarProps): react_jsx_runtime0.JSX.Element;
|
|
820
|
+
interface PillButtonProps {
|
|
821
|
+
className?: string;
|
|
822
|
+
children?: ReactNode;
|
|
823
|
+
onClick?: () => void;
|
|
824
|
+
}
|
|
825
|
+
declare function PillButton({
|
|
826
|
+
className,
|
|
827
|
+
...props
|
|
828
|
+
}: PillButtonProps): react_jsx_runtime0.JSX.Element;
|
|
829
|
+
interface PillStatusProps {
|
|
830
|
+
children?: ReactNode;
|
|
831
|
+
className?: string;
|
|
832
|
+
}
|
|
833
|
+
declare function PillStatus({
|
|
834
|
+
children,
|
|
835
|
+
className,
|
|
836
|
+
...props
|
|
837
|
+
}: PillStatusProps): react_jsx_runtime0.JSX.Element;
|
|
838
|
+
interface PillIndicatorProps {
|
|
839
|
+
variant?: "success" | "error" | "warning" | "info";
|
|
840
|
+
pulse?: boolean;
|
|
841
|
+
}
|
|
842
|
+
declare function PillIndicator({
|
|
843
|
+
variant,
|
|
844
|
+
pulse
|
|
845
|
+
}: PillIndicatorProps): react_jsx_runtime0.JSX.Element;
|
|
846
|
+
interface PillDeltaProps {
|
|
847
|
+
className?: string;
|
|
848
|
+
delta?: number;
|
|
849
|
+
}
|
|
850
|
+
declare function PillDelta({
|
|
851
|
+
className,
|
|
852
|
+
delta
|
|
853
|
+
}: PillDeltaProps): react_jsx_runtime0.JSX.Element;
|
|
854
|
+
interface PillIconProps extends LucideProps {
|
|
855
|
+
icon: ComponentType<LucideProps>;
|
|
856
|
+
className?: string;
|
|
857
|
+
}
|
|
858
|
+
declare function PillIcon({
|
|
859
|
+
icon: Icon,
|
|
860
|
+
className,
|
|
861
|
+
...props
|
|
862
|
+
}: PillIconProps): react_jsx_runtime0.JSX.Element;
|
|
863
|
+
interface PillAvatarGroupProps {
|
|
864
|
+
children?: ReactNode;
|
|
865
|
+
className?: string;
|
|
866
|
+
}
|
|
867
|
+
declare function PillAvatarGroup({
|
|
868
|
+
children,
|
|
869
|
+
className,
|
|
870
|
+
...props
|
|
871
|
+
}: PillAvatarGroupProps): react_jsx_runtime0.JSX.Element;
|
|
872
|
+
//#endregion
|
|
873
|
+
//#region src/components/responsive-split-layout.d.ts
|
|
874
|
+
interface PanelConfig {
|
|
875
|
+
title?: string;
|
|
876
|
+
icon?: ReactNode;
|
|
877
|
+
content: ReactNode;
|
|
878
|
+
badge?: ReactNode;
|
|
879
|
+
}
|
|
880
|
+
interface ResponsiveSplitLayoutProps {
|
|
881
|
+
leftPanel: PanelConfig;
|
|
882
|
+
rightPanel: PanelConfig;
|
|
883
|
+
className?: string;
|
|
884
|
+
leftPanelClassName?: string;
|
|
885
|
+
rightPanelClassName?: string;
|
|
886
|
+
variant?: "default" | "tabs" | "fixed";
|
|
887
|
+
desktopVariant?: "default" | "tabs" | "fixed";
|
|
888
|
+
mobileVariant?: "default" | "tabs" | "fixed";
|
|
889
|
+
defaultLayout?: [number, number];
|
|
890
|
+
minSizes?: [number, number];
|
|
891
|
+
rightPanelWidth?: number;
|
|
892
|
+
persistLayoutKey?: string;
|
|
893
|
+
mobileBreakpoint?: "sm" | "md" | "lg" | "xl";
|
|
894
|
+
forceMobile?: boolean;
|
|
895
|
+
forceDesktop?: boolean;
|
|
896
|
+
}
|
|
897
|
+
declare function ResponsiveSplitLayout({
|
|
898
|
+
leftPanel,
|
|
899
|
+
rightPanel,
|
|
900
|
+
className,
|
|
901
|
+
leftPanelClassName,
|
|
902
|
+
rightPanelClassName,
|
|
903
|
+
variant,
|
|
904
|
+
desktopVariant,
|
|
905
|
+
mobileVariant,
|
|
906
|
+
defaultLayout,
|
|
907
|
+
minSizes,
|
|
908
|
+
rightPanelWidth,
|
|
909
|
+
persistLayoutKey,
|
|
910
|
+
mobileBreakpoint,
|
|
911
|
+
forceMobile,
|
|
912
|
+
forceDesktop
|
|
913
|
+
}: ResponsiveSplitLayoutProps): react_jsx_runtime0.JSX.Element;
|
|
914
|
+
//#endregion
|
|
915
|
+
//#region src/components/sheet-wrapper.d.ts
|
|
916
|
+
declare const SIZE_CLASSES: {
|
|
917
|
+
readonly right: {
|
|
918
|
+
readonly sm: "data-[side=right]:sm:max-w-md";
|
|
919
|
+
readonly default: "data-[side=right]:w-full data-[side=right]:sm:max-w-md data-[side=right]:md:max-w-lg";
|
|
920
|
+
readonly lg: "data-[side=right]:w-full data-[side=right]:sm:max-w-lg data-[side=right]:md:max-w-2xl data-[side=right]:lg:max-w-4xl";
|
|
921
|
+
readonly xl: "data-[side=right]:w-full data-[side=right]:sm:max-w-2xl data-[side=right]:md:max-w-4xl data-[side=right]:lg:max-w-5xl";
|
|
922
|
+
readonly full: "data-[side=right]:w-full data-[side=right]:max-w-full data-[side=right]:sm:max-w-full";
|
|
923
|
+
readonly mobile: "data-[side=right]:w-[85%] data-[side=right]:sm:max-w-sm";
|
|
924
|
+
readonly "mobile-nav": "data-[side=right]:w-[300px] data-[side=right]:sm:w-[350px] data-[side=right]:sm:max-w-none";
|
|
925
|
+
};
|
|
926
|
+
readonly left: {
|
|
927
|
+
readonly sm: "data-[side=left]:sm:max-w-md";
|
|
928
|
+
readonly default: "data-[side=left]:w-full data-[side=left]:sm:max-w-md data-[side=left]:md:max-w-lg";
|
|
929
|
+
readonly lg: "data-[side=left]:w-full data-[side=left]:sm:max-w-lg data-[side=left]:md:max-w-2xl data-[side=left]:lg:max-w-4xl";
|
|
930
|
+
readonly xl: "data-[side=left]:w-full data-[side=left]:sm:max-w-2xl data-[side=left]:md:max-w-4xl data-[side=left]:lg:max-w-5xl";
|
|
931
|
+
readonly full: "data-[side=left]:w-full data-[side=left]:max-w-full data-[side=left]:sm:max-w-full";
|
|
932
|
+
readonly mobile: "data-[side=left]:w-[85%] data-[side=left]:sm:max-w-sm";
|
|
933
|
+
readonly "mobile-nav": "data-[side=left]:w-[300px] data-[side=left]:sm:w-[350px] data-[side=left]:sm:max-w-none";
|
|
934
|
+
};
|
|
935
|
+
readonly vertical: {
|
|
936
|
+
readonly sm: "sm:max-w-md";
|
|
937
|
+
readonly default: "w-full sm:max-w-md md:max-w-lg";
|
|
938
|
+
readonly lg: "w-full sm:max-w-lg md:max-w-2xl lg:max-w-4xl";
|
|
939
|
+
readonly xl: "w-full sm:max-w-2xl md:max-w-4xl lg:max-w-5xl";
|
|
940
|
+
readonly full: "w-full max-w-full";
|
|
941
|
+
readonly mobile: "w-[85%] max-w-sm";
|
|
942
|
+
readonly "mobile-nav": "w-[300px] sm:w-[350px]";
|
|
943
|
+
};
|
|
944
|
+
};
|
|
945
|
+
type SizeVariant = keyof (typeof SIZE_CLASSES)["vertical"];
|
|
946
|
+
interface SheetWrapperProps {
|
|
947
|
+
open: boolean;
|
|
948
|
+
onOpenChange: (open: boolean) => void;
|
|
949
|
+
title?: string;
|
|
950
|
+
description?: string;
|
|
951
|
+
children?: ReactNode;
|
|
952
|
+
footer?: ReactNode;
|
|
953
|
+
header?: ReactNode;
|
|
954
|
+
side?: "top" | "bottom" | "left" | "right";
|
|
955
|
+
size?: SizeVariant;
|
|
956
|
+
modal?: boolean;
|
|
957
|
+
className?: string;
|
|
958
|
+
headerClassName?: string;
|
|
959
|
+
contentClassName?: string;
|
|
960
|
+
footerClassName?: string;
|
|
961
|
+
innerClassName?: string;
|
|
962
|
+
hideHeader?: boolean;
|
|
963
|
+
hideTitle?: boolean;
|
|
964
|
+
hideDescription?: boolean;
|
|
965
|
+
hideCloseButton?: boolean;
|
|
966
|
+
disableContentPadding?: boolean;
|
|
967
|
+
}
|
|
968
|
+
declare const SheetWrapper: react.NamedExoticComponent<SheetWrapperProps>;
|
|
969
|
+
interface FormSheetProps extends Omit<SheetWrapperProps, "footer"> {
|
|
970
|
+
onSubmit?: () => void;
|
|
971
|
+
onCancel?: () => void;
|
|
972
|
+
submitLabel?: string;
|
|
973
|
+
cancelLabel?: string;
|
|
974
|
+
submitDisabled?: boolean;
|
|
975
|
+
submitLoading?: boolean;
|
|
976
|
+
formId?: string;
|
|
977
|
+
}
|
|
978
|
+
declare const FormSheet: react.NamedExoticComponent<FormSheetProps>;
|
|
979
|
+
interface ConfirmSheetProps extends Omit<SheetWrapperProps, "footer"> {
|
|
980
|
+
onConfirm?: () => void;
|
|
981
|
+
onCancel?: () => void;
|
|
982
|
+
confirmLabel?: string;
|
|
983
|
+
cancelLabel?: string;
|
|
984
|
+
confirmVariant?: "default" | "destructive" | "outline" | "secondary" | "ghost" | "link";
|
|
985
|
+
confirmDisabled?: boolean;
|
|
986
|
+
confirmLoading?: boolean;
|
|
987
|
+
}
|
|
988
|
+
declare const ConfirmSheet: react.NamedExoticComponent<ConfirmSheetProps>;
|
|
989
|
+
//#endregion
|
|
990
|
+
//#region src/components/status-banner.d.ts
|
|
991
|
+
type StatusBannerVariant = "info" | "warning" | "success" | "error";
|
|
992
|
+
interface StatusBannerProps {
|
|
993
|
+
/** The banner variant/severity */
|
|
994
|
+
variant?: StatusBannerVariant;
|
|
995
|
+
/** Main message text or node */
|
|
996
|
+
children: react.ReactNode;
|
|
997
|
+
/** Optional custom icon */
|
|
998
|
+
icon?: LucideIcon;
|
|
999
|
+
/** Whether the banner can be dismissed */
|
|
1000
|
+
dismissible?: boolean;
|
|
1001
|
+
/** Callback when dismissed */
|
|
1002
|
+
onDismiss?: () => void;
|
|
1003
|
+
/** Optional action element (e.g. a link or button) */
|
|
1004
|
+
action?: react.ReactNode;
|
|
1005
|
+
/** Additional className */
|
|
1006
|
+
className?: string;
|
|
1007
|
+
}
|
|
1008
|
+
/**
|
|
1009
|
+
* StatusBanner — A persistent info/warning/success/error banner.
|
|
1010
|
+
*
|
|
1011
|
+
* @example
|
|
1012
|
+
* ```tsx
|
|
1013
|
+
* <StatusBanner variant="warning" dismissible>
|
|
1014
|
+
* Your trial expires in 3 days. <a href="/pricing">Upgrade now</a>
|
|
1015
|
+
* </StatusBanner>
|
|
1016
|
+
*
|
|
1017
|
+
* <StatusBanner variant="success" action={<Button size="sm">View</Button>}>
|
|
1018
|
+
* Your project was deployed successfully.
|
|
1019
|
+
* </StatusBanner>
|
|
1020
|
+
* ```
|
|
1021
|
+
*/
|
|
1022
|
+
declare function StatusBanner({
|
|
1023
|
+
variant,
|
|
1024
|
+
children,
|
|
1025
|
+
icon: CustomIcon,
|
|
1026
|
+
dismissible,
|
|
1027
|
+
onDismiss,
|
|
1028
|
+
action,
|
|
1029
|
+
className
|
|
1030
|
+
}: StatusBannerProps): react_jsx_runtime0.JSX.Element | null;
|
|
1031
|
+
//#endregion
|
|
1032
|
+
//#region src/components/stepper.d.ts
|
|
1033
|
+
interface StepperStep {
|
|
1034
|
+
/** Step label */
|
|
1035
|
+
label: string;
|
|
1036
|
+
/** Optional description shown below the label */
|
|
1037
|
+
description?: string;
|
|
1038
|
+
/** Optional icon for the step (replaces the number) */
|
|
1039
|
+
icon?: react.ReactNode;
|
|
1040
|
+
/** Whether this step is optional */
|
|
1041
|
+
optional?: boolean;
|
|
1042
|
+
}
|
|
1043
|
+
interface StepperProps {
|
|
1044
|
+
/** Array of step definitions */
|
|
1045
|
+
steps: (string | StepperStep)[];
|
|
1046
|
+
/** Active step index (0-based) */
|
|
1047
|
+
currentStep: number;
|
|
1048
|
+
/** Variant */
|
|
1049
|
+
variant?: "default" | "compact";
|
|
1050
|
+
/** Orientation */
|
|
1051
|
+
orientation?: "horizontal" | "vertical";
|
|
1052
|
+
/** Additional className */
|
|
1053
|
+
className?: string;
|
|
1054
|
+
/** Callback when a completed step is clicked */
|
|
1055
|
+
onStepClick?: (stepIndex: number) => void;
|
|
1056
|
+
/** Children (StepContent panels) */
|
|
1057
|
+
children?: react.ReactNode;
|
|
1058
|
+
}
|
|
1059
|
+
interface StepContentProps {
|
|
1060
|
+
/** Step index this content belongs to (0-based) */
|
|
1061
|
+
step: number;
|
|
1062
|
+
/** Currently active step */
|
|
1063
|
+
currentStep: number;
|
|
1064
|
+
/** Children to render */
|
|
1065
|
+
children: react.ReactNode;
|
|
1066
|
+
/** Additional className */
|
|
1067
|
+
className?: string;
|
|
1068
|
+
/** Keep mounted when inactive (useful for forms) */
|
|
1069
|
+
keepMounted?: boolean;
|
|
1070
|
+
}
|
|
1071
|
+
/**
|
|
1072
|
+
* Stepper — Multi-step progress indicator
|
|
1073
|
+
*
|
|
1074
|
+
* Features:
|
|
1075
|
+
* - Horizontal layout: circles in a row with labels below, proper connectors
|
|
1076
|
+
* - Vertical layout: circles on the left with labels to the right
|
|
1077
|
+
* - Compact variant for tight spaces
|
|
1078
|
+
* - Handles many steps gracefully without scrollbars
|
|
1079
|
+
* - Clickable completed steps for navigation
|
|
1080
|
+
* - Accessible: role="list", aria-current="step"
|
|
1081
|
+
*
|
|
1082
|
+
* @example Basic
|
|
1083
|
+
* ```tsx
|
|
1084
|
+
* const [step, setStep] = useState(0);
|
|
1085
|
+
*
|
|
1086
|
+
* <Stepper steps={["Details", "Config", "Review"]} currentStep={step}>
|
|
1087
|
+
* <StepContent step={0} currentStep={step}>
|
|
1088
|
+
* <DetailsForm onNext={() => setStep(1)} />
|
|
1089
|
+
* </StepContent>
|
|
1090
|
+
* </Stepper>
|
|
1091
|
+
* ```
|
|
1092
|
+
*
|
|
1093
|
+
* @example With step objects
|
|
1094
|
+
* ```tsx
|
|
1095
|
+
* <Stepper
|
|
1096
|
+
* steps={[
|
|
1097
|
+
* { label: "Account", description: "Set up your account" },
|
|
1098
|
+
* { label: "Profile", description: "Add your details", optional: true },
|
|
1099
|
+
* { label: "Complete", description: "Review and submit" },
|
|
1100
|
+
* ]}
|
|
1101
|
+
* currentStep={1}
|
|
1102
|
+
* onStepClick={(i) => setStep(i)}
|
|
1103
|
+
* />
|
|
1104
|
+
* ```
|
|
1105
|
+
*/
|
|
1106
|
+
declare function Stepper({
|
|
1107
|
+
steps,
|
|
1108
|
+
currentStep,
|
|
1109
|
+
variant,
|
|
1110
|
+
orientation,
|
|
1111
|
+
className,
|
|
1112
|
+
onStepClick,
|
|
1113
|
+
children,
|
|
1114
|
+
...props
|
|
1115
|
+
}: StepperProps): react_jsx_runtime0.JSX.Element;
|
|
1116
|
+
/**
|
|
1117
|
+
* StepContent — Renders content for a specific step.
|
|
1118
|
+
* Only visible when `step === currentStep`.
|
|
1119
|
+
*
|
|
1120
|
+
* @example
|
|
1121
|
+
* ```tsx
|
|
1122
|
+
* <StepContent step={0} currentStep={current}>
|
|
1123
|
+
* <MyForm />
|
|
1124
|
+
* </StepContent>
|
|
1125
|
+
* ```
|
|
1126
|
+
*/
|
|
1127
|
+
declare function StepContent({
|
|
1128
|
+
step,
|
|
1129
|
+
currentStep,
|
|
1130
|
+
children,
|
|
1131
|
+
className,
|
|
1132
|
+
keepMounted
|
|
1133
|
+
}: StepContentProps): react_jsx_runtime0.JSX.Element | null;
|
|
1134
|
+
//#endregion
|
|
1135
|
+
//#region src/components/table-wrapper.d.ts
|
|
1136
|
+
interface TableWrapperColumn {
|
|
1137
|
+
key?: string;
|
|
1138
|
+
header: ReactNode;
|
|
1139
|
+
className?: string;
|
|
1140
|
+
cellClassName?: string;
|
|
1141
|
+
render?: (item: any, index: number) => ReactNode;
|
|
1142
|
+
}
|
|
1143
|
+
interface TableWrapperEmptyState {
|
|
1144
|
+
icon?: ReactNode;
|
|
1145
|
+
title?: string;
|
|
1146
|
+
description?: string;
|
|
1147
|
+
}
|
|
1148
|
+
interface TableWrapperProps {
|
|
1149
|
+
title?: ReactNode;
|
|
1150
|
+
description?: ReactNode;
|
|
1151
|
+
icon?: ReactNode;
|
|
1152
|
+
children?: ReactNode;
|
|
1153
|
+
columns?: TableWrapperColumn[];
|
|
1154
|
+
data?: any[];
|
|
1155
|
+
renderRow?: (item: any, index: number) => ReactNode;
|
|
1156
|
+
emptyState?: TableWrapperEmptyState;
|
|
1157
|
+
className?: string;
|
|
1158
|
+
tableClassName?: string;
|
|
1159
|
+
maxHeight?: string;
|
|
1160
|
+
}
|
|
1161
|
+
declare function TableWrapper({
|
|
1162
|
+
title,
|
|
1163
|
+
description,
|
|
1164
|
+
icon,
|
|
1165
|
+
children,
|
|
1166
|
+
columns,
|
|
1167
|
+
data,
|
|
1168
|
+
renderRow,
|
|
1169
|
+
emptyState,
|
|
1170
|
+
className,
|
|
1171
|
+
tableClassName,
|
|
1172
|
+
maxHeight,
|
|
1173
|
+
...props
|
|
1174
|
+
}: TableWrapperProps): react_jsx_runtime0.JSX.Element;
|
|
1175
|
+
interface SimpleTableProps extends Omit<TableWrapperProps, "renderRow" | "children"> {
|
|
1176
|
+
columns: TableWrapperColumn[];
|
|
1177
|
+
data: any[];
|
|
1178
|
+
}
|
|
1179
|
+
declare function SimpleTable({
|
|
1180
|
+
title,
|
|
1181
|
+
data,
|
|
1182
|
+
columns,
|
|
1183
|
+
emptyState,
|
|
1184
|
+
className,
|
|
1185
|
+
...props
|
|
1186
|
+
}: SimpleTableProps): react_jsx_runtime0.JSX.Element;
|
|
1187
|
+
//#endregion
|
|
1188
|
+
//#region src/components/tabs-wrapper.d.ts
|
|
1189
|
+
interface TabsWrapperProps {
|
|
1190
|
+
defaultValue?: string;
|
|
1191
|
+
value?: string;
|
|
1192
|
+
onValueChange?: (value: string) => void;
|
|
1193
|
+
children: ReactNode;
|
|
1194
|
+
className?: string;
|
|
1195
|
+
listClassName?: string;
|
|
1196
|
+
variant?: "default" | "primary" | "secondary" | "outline" | "ghost" | "underline";
|
|
1197
|
+
orientation?: "horizontal" | "vertical";
|
|
1198
|
+
layout?: "default" | "flex" | "sidebar";
|
|
1199
|
+
}
|
|
1200
|
+
declare const TabsWrapper: react.NamedExoticComponent<TabsWrapperProps>;
|
|
1201
|
+
interface TabTriggerProps {
|
|
1202
|
+
value: string;
|
|
1203
|
+
children: ReactNode;
|
|
1204
|
+
className?: string;
|
|
1205
|
+
variant?: "default" | "primary" | "secondary" | "outline" | "ghost" | "underline";
|
|
1206
|
+
icon?: ReactNode;
|
|
1207
|
+
hideTextOnMobile?: boolean;
|
|
1208
|
+
disabled?: boolean;
|
|
1209
|
+
}
|
|
1210
|
+
declare const TabTrigger: react.NamedExoticComponent<TabTriggerProps>;
|
|
1211
|
+
interface TabContentProps {
|
|
1212
|
+
value: string;
|
|
1213
|
+
children: ReactNode;
|
|
1214
|
+
className?: string;
|
|
1215
|
+
withScrollArea?: boolean;
|
|
1216
|
+
scrollAreaClassName?: string;
|
|
1217
|
+
padding?: boolean;
|
|
1218
|
+
keepMounted?: boolean;
|
|
1219
|
+
}
|
|
1220
|
+
declare const TabContent: react.NamedExoticComponent<TabContentProps>;
|
|
1221
|
+
interface DynamicTabItem {
|
|
1222
|
+
value: string;
|
|
1223
|
+
label: ReactNode;
|
|
1224
|
+
content: ReactNode;
|
|
1225
|
+
icon?: ReactNode;
|
|
1226
|
+
disabled?: boolean;
|
|
1227
|
+
hideTextOnMobile?: boolean;
|
|
1228
|
+
}
|
|
1229
|
+
interface DynamicTabsProps {
|
|
1230
|
+
tabs?: DynamicTabItem[];
|
|
1231
|
+
defaultValue?: string;
|
|
1232
|
+
value?: string;
|
|
1233
|
+
onValueChange?: (value: string) => void;
|
|
1234
|
+
variant?: "default" | "primary" | "secondary" | "outline" | "ghost" | "underline";
|
|
1235
|
+
layout?: "default" | "flex" | "sidebar";
|
|
1236
|
+
className?: string;
|
|
1237
|
+
listClassName?: string;
|
|
1238
|
+
listWrapperClassName?: string;
|
|
1239
|
+
contentClassName?: string;
|
|
1240
|
+
scrollable?: boolean;
|
|
1241
|
+
}
|
|
1242
|
+
declare const DynamicTabs: react.NamedExoticComponent<DynamicTabsProps>;
|
|
1243
|
+
//#endregion
|
|
1244
|
+
//#region src/components/thumbnail.d.ts
|
|
1245
|
+
interface ThumbnailProps {
|
|
1246
|
+
src?: string;
|
|
1247
|
+
alt?: string;
|
|
1248
|
+
aspect?: "square" | "video" | "portrait";
|
|
1249
|
+
size?: "small" | "medium" | "large" | "full";
|
|
1250
|
+
className?: string;
|
|
1251
|
+
fallback?: string;
|
|
1252
|
+
onClick?: () => void;
|
|
1253
|
+
}
|
|
1254
|
+
declare function Thumbnail({
|
|
1255
|
+
src,
|
|
1256
|
+
alt,
|
|
1257
|
+
aspect,
|
|
1258
|
+
size,
|
|
1259
|
+
className,
|
|
1260
|
+
fallback,
|
|
1261
|
+
onClick
|
|
1262
|
+
}: ThumbnailProps): react_jsx_runtime0.JSX.Element;
|
|
1263
|
+
//#endregion
|
|
1264
|
+
//#region src/components/tooltip-wrapper.d.ts
|
|
1265
|
+
interface TooltipWrapperProps {
|
|
1266
|
+
children: ReactNode;
|
|
1267
|
+
content: ReactNode;
|
|
1268
|
+
side?: "top" | "right" | "bottom" | "left";
|
|
1269
|
+
align?: "start" | "center" | "end";
|
|
1270
|
+
delay?: number;
|
|
1271
|
+
sideOffset?: number;
|
|
1272
|
+
className?: string;
|
|
1273
|
+
contentClassName?: string;
|
|
1274
|
+
disabled?: boolean;
|
|
1275
|
+
}
|
|
1276
|
+
declare function TooltipWrapper({
|
|
1277
|
+
children,
|
|
1278
|
+
content,
|
|
1279
|
+
side,
|
|
1280
|
+
align,
|
|
1281
|
+
delay,
|
|
1282
|
+
sideOffset,
|
|
1283
|
+
className,
|
|
1284
|
+
contentClassName,
|
|
1285
|
+
disabled,
|
|
1286
|
+
...props
|
|
1287
|
+
}: TooltipWrapperProps): react_jsx_runtime0.JSX.Element;
|
|
1288
|
+
interface ButtonTooltipProps extends Omit<TooltipWrapperProps, "content"> {
|
|
1289
|
+
tooltip: ReactNode;
|
|
1290
|
+
variant?: "default" | "outline" | "ghost";
|
|
1291
|
+
size?: "default" | "sm" | "lg" | "icon";
|
|
1292
|
+
}
|
|
1293
|
+
declare function ButtonTooltip({
|
|
1294
|
+
children,
|
|
1295
|
+
tooltip,
|
|
1296
|
+
variant,
|
|
1297
|
+
size,
|
|
1298
|
+
className,
|
|
1299
|
+
...props
|
|
1300
|
+
}: ButtonTooltipProps): react_jsx_runtime0.JSX.Element;
|
|
1301
|
+
interface IconTooltipProps extends Omit<TooltipWrapperProps, "content" | "children"> {
|
|
1302
|
+
icon: ReactNode;
|
|
1303
|
+
tooltip: ReactNode;
|
|
1304
|
+
iconClassName?: string;
|
|
1305
|
+
size?: number;
|
|
1306
|
+
}
|
|
1307
|
+
declare function IconTooltip({
|
|
1308
|
+
icon,
|
|
1309
|
+
tooltip,
|
|
1310
|
+
className,
|
|
1311
|
+
iconClassName,
|
|
1312
|
+
size,
|
|
1313
|
+
...props
|
|
1314
|
+
}: IconTooltipProps): react_jsx_runtime0.JSX.Element;
|
|
1315
|
+
interface InfoTooltipProps extends Omit<TooltipWrapperProps, "content" | "children"> {
|
|
1316
|
+
tooltip: ReactNode;
|
|
1317
|
+
size?: number;
|
|
1318
|
+
}
|
|
1319
|
+
declare function InfoTooltip({
|
|
1320
|
+
tooltip,
|
|
1321
|
+
className,
|
|
1322
|
+
size,
|
|
1323
|
+
...props
|
|
1324
|
+
}: InfoTooltipProps): react_jsx_runtime0.JSX.Element;
|
|
1325
|
+
interface ActionTooltipProps extends Omit<TooltipWrapperProps, "content"> {
|
|
1326
|
+
tooltip: ReactNode;
|
|
1327
|
+
action?: () => void;
|
|
1328
|
+
variant?: "ghost" | "outline";
|
|
1329
|
+
size?: "sm" | "icon";
|
|
1330
|
+
}
|
|
1331
|
+
declare function ActionTooltip({
|
|
1332
|
+
children,
|
|
1333
|
+
tooltip,
|
|
1334
|
+
action,
|
|
1335
|
+
variant,
|
|
1336
|
+
size,
|
|
1337
|
+
className,
|
|
1338
|
+
...props
|
|
1339
|
+
}: ActionTooltipProps): react_jsx_runtime0.JSX.Element;
|
|
1340
|
+
//#endregion
|
|
1341
|
+
//#region src/components/timeline.d.ts
|
|
1342
|
+
type TimelineStatus = "default" | "success" | "error" | "warning" | "pending" | "active";
|
|
1343
|
+
interface TimelineItem {
|
|
1344
|
+
/** Title of the timeline entry */
|
|
1345
|
+
title: string;
|
|
1346
|
+
/** Description or content */
|
|
1347
|
+
description?: react.ReactNode;
|
|
1348
|
+
/** Timestamp / date string */
|
|
1349
|
+
timestamp?: string;
|
|
1350
|
+
/** Secondary label (e.g., user name) */
|
|
1351
|
+
label?: string;
|
|
1352
|
+
/** Status determines icon color and connector style */
|
|
1353
|
+
status?: TimelineStatus;
|
|
1354
|
+
/** Custom icon override */
|
|
1355
|
+
icon?: LucideIcon | react.ReactNode;
|
|
1356
|
+
/** Additional content below description */
|
|
1357
|
+
content?: react.ReactNode;
|
|
1358
|
+
}
|
|
1359
|
+
interface TimelineProps {
|
|
1360
|
+
items: TimelineItem[];
|
|
1361
|
+
/** Layout direction */
|
|
1362
|
+
orientation?: "vertical" | "horizontal";
|
|
1363
|
+
/** Size variant */
|
|
1364
|
+
size?: "sm" | "default" | "lg";
|
|
1365
|
+
/** Show connector lines */
|
|
1366
|
+
showConnectors?: boolean;
|
|
1367
|
+
/** Reverse order (newest first) */
|
|
1368
|
+
reverse?: boolean;
|
|
1369
|
+
className?: string;
|
|
1370
|
+
}
|
|
1371
|
+
declare function Timeline({
|
|
1372
|
+
items,
|
|
1373
|
+
orientation,
|
|
1374
|
+
size,
|
|
1375
|
+
showConnectors,
|
|
1376
|
+
reverse,
|
|
1377
|
+
className
|
|
1378
|
+
}: TimelineProps): react_jsx_runtime0.JSX.Element;
|
|
1379
|
+
//#endregion
|
|
1380
|
+
//#region src/components/detail-view.d.ts
|
|
1381
|
+
interface DetailViewItemData {
|
|
1382
|
+
label: string;
|
|
1383
|
+
value?: react.ReactNode;
|
|
1384
|
+
/** Custom render function (overrides value) */
|
|
1385
|
+
render?: () => react.ReactNode;
|
|
1386
|
+
/** Hide this item entirely */
|
|
1387
|
+
hidden?: boolean;
|
|
1388
|
+
/** Span full width (ignores columns) */
|
|
1389
|
+
fullWidth?: boolean;
|
|
1390
|
+
/** Additional className for the value cell */
|
|
1391
|
+
className?: string;
|
|
1392
|
+
}
|
|
1393
|
+
interface DetailViewProps {
|
|
1394
|
+
items?: DetailViewItemData[];
|
|
1395
|
+
/** Grid columns */
|
|
1396
|
+
columns?: 1 | 2 | 3;
|
|
1397
|
+
/** Label placement */
|
|
1398
|
+
layout?: "stacked" | "horizontal" | "inline";
|
|
1399
|
+
/** Size variant */
|
|
1400
|
+
size?: "sm" | "default" | "lg";
|
|
1401
|
+
/** Show dividers between items */
|
|
1402
|
+
dividers?: boolean;
|
|
1403
|
+
/** Striped rows (stacked layout only) */
|
|
1404
|
+
striped?: boolean;
|
|
1405
|
+
/** Card wrapper */
|
|
1406
|
+
bordered?: boolean;
|
|
1407
|
+
/** Section title */
|
|
1408
|
+
title?: string;
|
|
1409
|
+
/** Section description */
|
|
1410
|
+
description?: string;
|
|
1411
|
+
className?: string;
|
|
1412
|
+
children?: react.ReactNode;
|
|
1413
|
+
}
|
|
1414
|
+
declare function DetailView({
|
|
1415
|
+
items,
|
|
1416
|
+
columns,
|
|
1417
|
+
layout,
|
|
1418
|
+
size,
|
|
1419
|
+
dividers,
|
|
1420
|
+
striped,
|
|
1421
|
+
bordered,
|
|
1422
|
+
title,
|
|
1423
|
+
description,
|
|
1424
|
+
className,
|
|
1425
|
+
children
|
|
1426
|
+
}: DetailViewProps): react_jsx_runtime0.JSX.Element;
|
|
1427
|
+
interface DetailItemProps {
|
|
1428
|
+
label: string;
|
|
1429
|
+
children?: react.ReactNode;
|
|
1430
|
+
value?: react.ReactNode;
|
|
1431
|
+
className?: string;
|
|
1432
|
+
labelClassName?: string;
|
|
1433
|
+
layout?: "stacked" | "horizontal" | "inline";
|
|
1434
|
+
}
|
|
1435
|
+
declare function DetailItem({
|
|
1436
|
+
label,
|
|
1437
|
+
children,
|
|
1438
|
+
value,
|
|
1439
|
+
className,
|
|
1440
|
+
labelClassName,
|
|
1441
|
+
layout
|
|
1442
|
+
}: DetailItemProps): react_jsx_runtime0.JSX.Element;
|
|
1443
|
+
//#endregion
|
|
1444
|
+
//#region src/components/animated-wrapper.d.ts
|
|
1445
|
+
/** Available entrance animation types */
|
|
1446
|
+
type Animation = "fadeIn" | "fadeInUp" | "scaleIn" | "slideInLeft" | "slideInRight" | "slideInUp" | "slideInDown";
|
|
1447
|
+
/** Slide direction for SlideIn component */
|
|
1448
|
+
type SlideDirection = "left" | "right" | "up" | "down";
|
|
1449
|
+
/** Options for the useInView hook */
|
|
1450
|
+
interface UseInViewOptions {
|
|
1451
|
+
/** IntersectionObserver rootMargin (default: "0px") */
|
|
1452
|
+
margin?: string;
|
|
1453
|
+
/** Trigger only once (default: true) */
|
|
1454
|
+
once?: boolean;
|
|
1455
|
+
/** Enable/disable observation (default: true) */
|
|
1456
|
+
enabled?: boolean;
|
|
1457
|
+
}
|
|
1458
|
+
/** Shared base props for animation components */
|
|
1459
|
+
interface AnimateBaseProps {
|
|
1460
|
+
children?: ReactNode;
|
|
1461
|
+
/** Delay in ms before animation starts */
|
|
1462
|
+
delay?: number;
|
|
1463
|
+
/** Animation duration in ms */
|
|
1464
|
+
duration?: number;
|
|
1465
|
+
/** Only animate when element scrolls into viewport */
|
|
1466
|
+
inView?: boolean;
|
|
1467
|
+
/** IntersectionObserver rootMargin for inView trigger */
|
|
1468
|
+
inViewMargin?: string;
|
|
1469
|
+
/** Fire animation only once (default: true) */
|
|
1470
|
+
once?: boolean;
|
|
1471
|
+
/** Disable animation entirely — renders children immediately */
|
|
1472
|
+
disabled?: boolean;
|
|
1473
|
+
className?: string;
|
|
1474
|
+
/** HTML element to render as (default: "div") */
|
|
1475
|
+
as?: ElementType;
|
|
1476
|
+
}
|
|
1477
|
+
interface SlideInProps extends AnimateBaseProps {
|
|
1478
|
+
/** Direction to slide from */
|
|
1479
|
+
direction?: SlideDirection;
|
|
1480
|
+
}
|
|
1481
|
+
interface StaggerChildrenProps {
|
|
1482
|
+
children?: ReactNode;
|
|
1483
|
+
/** Animation type for each child */
|
|
1484
|
+
animation?: Animation;
|
|
1485
|
+
/** Delay between each child in ms */
|
|
1486
|
+
staggerDelay?: number;
|
|
1487
|
+
/** Initial delay before first child animates */
|
|
1488
|
+
initialDelay?: number;
|
|
1489
|
+
/** Duration per child animation */
|
|
1490
|
+
duration?: number;
|
|
1491
|
+
inView?: boolean;
|
|
1492
|
+
inViewMargin?: string;
|
|
1493
|
+
once?: boolean;
|
|
1494
|
+
disabled?: boolean;
|
|
1495
|
+
className?: string;
|
|
1496
|
+
/** Extra classes applied to each child wrapper div */
|
|
1497
|
+
childClassName?: string;
|
|
1498
|
+
as?: ElementType;
|
|
1499
|
+
}
|
|
1500
|
+
interface AnimatedTextProps {
|
|
1501
|
+
/** The text string to animate */
|
|
1502
|
+
text: string;
|
|
1503
|
+
as?: ElementType;
|
|
1504
|
+
animation?: Animation;
|
|
1505
|
+
/** Split text by word or character */
|
|
1506
|
+
splitBy?: "word" | "character";
|
|
1507
|
+
/** Delay between each segment in ms */
|
|
1508
|
+
staggerDelay?: number;
|
|
1509
|
+
delay?: number;
|
|
1510
|
+
duration?: number;
|
|
1511
|
+
inView?: boolean;
|
|
1512
|
+
inViewMargin?: string;
|
|
1513
|
+
once?: boolean;
|
|
1514
|
+
disabled?: boolean;
|
|
1515
|
+
className?: string;
|
|
1516
|
+
/** Extra classes on each animated text segment */
|
|
1517
|
+
segmentClassName?: string;
|
|
1518
|
+
}
|
|
1519
|
+
interface AnimatedCounterProps {
|
|
1520
|
+
/** Start value (default: 0) */
|
|
1521
|
+
from?: number;
|
|
1522
|
+
/** Target value to count to */
|
|
1523
|
+
to: number;
|
|
1524
|
+
/** Count-up duration in ms (default: 2000) */
|
|
1525
|
+
duration?: number;
|
|
1526
|
+
/** Delay before counting starts in ms */
|
|
1527
|
+
delay?: number;
|
|
1528
|
+
/** Intl.NumberFormat locale for number formatting (e.g. "en-US") */
|
|
1529
|
+
locale?: string;
|
|
1530
|
+
/** Text rendered before the number */
|
|
1531
|
+
prefix?: string;
|
|
1532
|
+
/** Text rendered after the number */
|
|
1533
|
+
suffix?: string;
|
|
1534
|
+
/** Decimal places (default: 0) */
|
|
1535
|
+
decimals?: number;
|
|
1536
|
+
/** Custom number formatter — overrides locale/decimals */
|
|
1537
|
+
formatter?: (value: number) => string;
|
|
1538
|
+
inView?: boolean;
|
|
1539
|
+
inViewMargin?: string;
|
|
1540
|
+
once?: boolean;
|
|
1541
|
+
disabled?: boolean;
|
|
1542
|
+
className?: string;
|
|
1543
|
+
as?: ElementType;
|
|
1544
|
+
}
|
|
1545
|
+
/**
|
|
1546
|
+
* useInView — observe when an element enters the viewport.
|
|
1547
|
+
*
|
|
1548
|
+
* @example
|
|
1549
|
+
* ```tsx
|
|
1550
|
+
* const ref = useRef<HTMLDivElement>(null);
|
|
1551
|
+
* const isInView = useInView(ref, { once: true, margin: "-100px" });
|
|
1552
|
+
* return <div ref={ref}>{isInView ? "Visible!" : "Hidden"}</div>;
|
|
1553
|
+
* ```
|
|
1554
|
+
*/
|
|
1555
|
+
declare function useInView(ref: RefObject<Element | null>, options?: UseInViewOptions): boolean;
|
|
1556
|
+
/** Fade in with opacity transition */
|
|
1557
|
+
declare function FadeIn(props: AnimateBaseProps): react_jsx_runtime0.JSX.Element;
|
|
1558
|
+
/** Fade in with upward motion */
|
|
1559
|
+
declare function FadeInUp(props: AnimateBaseProps): react_jsx_runtime0.JSX.Element;
|
|
1560
|
+
/** Scale up into view */
|
|
1561
|
+
declare function ScaleIn(props: AnimateBaseProps): react_jsx_runtime0.JSX.Element;
|
|
1562
|
+
/** Slide in from a specified direction */
|
|
1563
|
+
declare function SlideIn({
|
|
1564
|
+
direction,
|
|
1565
|
+
...props
|
|
1566
|
+
}: SlideInProps): react_jsx_runtime0.JSX.Element;
|
|
1567
|
+
declare function StaggerChildren({
|
|
1568
|
+
children,
|
|
1569
|
+
animation,
|
|
1570
|
+
staggerDelay,
|
|
1571
|
+
initialDelay,
|
|
1572
|
+
duration,
|
|
1573
|
+
inView,
|
|
1574
|
+
inViewMargin,
|
|
1575
|
+
once,
|
|
1576
|
+
disabled,
|
|
1577
|
+
className,
|
|
1578
|
+
childClassName,
|
|
1579
|
+
as
|
|
1580
|
+
}: StaggerChildrenProps): react.ReactElement<any, string | react.JSXElementConstructor<any>>;
|
|
1581
|
+
declare function AnimatedText({
|
|
1582
|
+
text,
|
|
1583
|
+
as,
|
|
1584
|
+
animation,
|
|
1585
|
+
splitBy,
|
|
1586
|
+
staggerDelay,
|
|
1587
|
+
delay,
|
|
1588
|
+
duration,
|
|
1589
|
+
inView,
|
|
1590
|
+
inViewMargin,
|
|
1591
|
+
once,
|
|
1592
|
+
disabled,
|
|
1593
|
+
className,
|
|
1594
|
+
segmentClassName
|
|
1595
|
+
}: AnimatedTextProps): react.ReactElement<any, string | react.JSXElementConstructor<any>>;
|
|
1596
|
+
declare function AnimatedCounter({
|
|
1597
|
+
from,
|
|
1598
|
+
to,
|
|
1599
|
+
duration,
|
|
1600
|
+
delay,
|
|
1601
|
+
locale,
|
|
1602
|
+
prefix,
|
|
1603
|
+
suffix,
|
|
1604
|
+
decimals,
|
|
1605
|
+
formatter,
|
|
1606
|
+
inView,
|
|
1607
|
+
inViewMargin,
|
|
1608
|
+
once,
|
|
1609
|
+
disabled,
|
|
1610
|
+
className,
|
|
1611
|
+
as
|
|
1612
|
+
}: AnimatedCounterProps): react.ReactElement<any, string | react.JSXElementConstructor<any>>;
|
|
1613
|
+
//#endregion
|
|
1614
|
+
export { AccordionSection, type AccordionSectionProps, ActionDropdown, type ActionDropdownItem, type ActionDropdownProps, ActionTooltip, type ActionTooltipProps, type AnimateBaseProps, AnimatedCounter, type AnimatedCounterProps, AnimatedText, type AnimatedTextProps, type Animation, ApiPagination, type ApiPaginationData, type ApiPaginationProps, ButtonTooltip, type ButtonTooltipProps, CardWrapper, type CardWrapperProps, CheckboxDropdown, type CheckboxDropdownProps, ClientSubmitButton, type ClientSubmitButtonProps, CollapsibleCard, type CollapsibleCardProps, CollapsibleSection, type CollapsibleSectionProps, CollapsibleWrapper, type CollapsibleWrapperProps, ConfirmDialog, type ConfirmDialogProps, ConfirmSheet, type ConfirmSheetProps, CopyButton, type CopyButtonProps, CopyCodeBlock, type CopyCodeBlockProps, CopyText, type CopyTextProps, CustomPagination, type CustomPaginationProps, DEFAULT_COUNTRIES, DataCard, type DataCardProps, DeleteConfirmDialog, type DeleteConfirmDialogProps, DetailItem, type DetailItemProps, DetailView, type DetailViewItemData, type DetailViewProps, DialogWrapper, type DialogWrapperProps, type DragHandleProps, DraggableCard, type DraggableCardProps, DropdownWrapper, type DropdownWrapperProps, type DynamicTabItem, DynamicTabs, type DynamicTabsProps, ErrorState, ErrorStateInline, type ErrorStateInlineProps, type ErrorStateProps, FadeIn, FadeInUp, FaqAccordion, type FaqAccordionProps, type FaqItem, FeatureItem, type FeatureItemProps, FeatureList, type FeatureListItem, type FeatureListProps, FormDialog, type FormDialogProps, FormSheet, type FormSheetProps, IconItemMedia, type IconItemMediaProps, IconTooltip, type IconTooltipProps, InfoAlert, type InfoAlertProps, InfoRow, type InfoRowProps, InfoTooltip, type InfoTooltipProps, LoadingCard, type LoadingCardProps, PaginationInfo, type PaginationInfoProps, type PhoneCountry, PhoneInput, type PhoneInputProps, Pill, PillAvatar, PillAvatarGroup, type PillAvatarGroupProps, type PillAvatarProps, PillButton, type PillButtonProps, PillDelta, type PillDeltaProps, PillIcon, type PillIconProps, PillIndicator, type PillIndicatorProps, type PillProps, PillStatus, type PillStatusProps, RadioDropdown, type RadioDropdownProps, ResponsiveSplitLayout, type ResponsiveSplitLayoutProps, ScaleIn, SelectDropdown, type SelectDropdownOption, type SelectDropdownProps, SheetWrapper, type SheetWrapperProps, SimpleTable, type SimpleTableProps, type SlideDirection, SlideIn, type SlideInProps, StaggerChildren, type StaggerChildrenProps, StatsCard, type StatsCardProps, StatusBanner, type StatusBannerProps, type StatusBannerVariant, StepContent, type StepContentProps, Stepper, type StepperProps, type StepperStep, TabContent, type TabContentProps, TabTrigger, type TabTriggerProps, TableWrapper, type TableWrapperColumn, type TableWrapperEmptyState, type TableWrapperProps, TabsWrapper, type TabsWrapperProps, Thumbnail, type ThumbnailProps, Timeline, type TimelineItem, type TimelineProps, type TimelineStatus, TooltipWrapper, type TooltipWrapperProps, type UseInViewOptions, useInView };
|