@synertech/ui 0.39.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/skills/use-synertech-ui/SKILL.md +1578 -0
- package/LICENSE +37 -0
- package/README.md +343 -0
- package/bin/setup-claude-skill.mjs +61 -0
- package/dist/index.cjs +31 -0
- package/dist/index.d.cts +2433 -0
- package/dist/index.d.ts +2433 -0
- package/dist/index.js +31 -0
- package/dist/styles.css +6863 -0
- package/package.json +112 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,2433 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import * as react from 'react';
|
|
3
|
+
import react__default, { ReactNode, ReactElement, ComponentPropsWithoutRef, ChangeEvent, MouseEvent, RefObject, Dispatch, SetStateAction, HTMLAttributes, TableHTMLAttributes, ThHTMLAttributes, TdHTMLAttributes } from 'react';
|
|
4
|
+
|
|
5
|
+
type AccordionType = "single" | "multiple";
|
|
6
|
+
type AccordionVariant = "default" | "bordered" | "separated" | "ghost";
|
|
7
|
+
type AccordionSize = "sm" | "md" | "lg";
|
|
8
|
+
interface AccordionProps {
|
|
9
|
+
/** Allow single or multiple items open at once */
|
|
10
|
+
type?: AccordionType;
|
|
11
|
+
/** Controlled open item(s) */
|
|
12
|
+
value?: string | string[];
|
|
13
|
+
/** Default open item(s) for uncontrolled mode */
|
|
14
|
+
defaultValue?: string | string[];
|
|
15
|
+
/** Change callback */
|
|
16
|
+
onValueChange?: (value: string | string[]) => void;
|
|
17
|
+
/** Allow collapsing all items (only for type="single") */
|
|
18
|
+
collapsible?: boolean;
|
|
19
|
+
/** Visual variant */
|
|
20
|
+
variant?: AccordionVariant;
|
|
21
|
+
/** Size */
|
|
22
|
+
size?: AccordionSize;
|
|
23
|
+
/** Disable all items */
|
|
24
|
+
disabled?: boolean;
|
|
25
|
+
/** Icon position */
|
|
26
|
+
iconPosition?: "left" | "right";
|
|
27
|
+
/** Custom chevron icon */
|
|
28
|
+
icon?: ReactNode;
|
|
29
|
+
/** Hide the chevron icon */
|
|
30
|
+
hideIcon?: boolean;
|
|
31
|
+
/** Additional class names */
|
|
32
|
+
className?: string;
|
|
33
|
+
children: ReactNode;
|
|
34
|
+
}
|
|
35
|
+
interface AccordionItemProps {
|
|
36
|
+
/** Unique value for this item */
|
|
37
|
+
value: string;
|
|
38
|
+
/** Disable this item */
|
|
39
|
+
disabled?: boolean;
|
|
40
|
+
/** Additional class names */
|
|
41
|
+
className?: string;
|
|
42
|
+
children: ReactNode;
|
|
43
|
+
}
|
|
44
|
+
interface AccordionTriggerProps {
|
|
45
|
+
/** Additional class names */
|
|
46
|
+
className?: string;
|
|
47
|
+
/** Custom icon override for this trigger */
|
|
48
|
+
icon?: ReactNode;
|
|
49
|
+
children: ReactNode;
|
|
50
|
+
}
|
|
51
|
+
interface AccordionContentProps {
|
|
52
|
+
/** Additional class names */
|
|
53
|
+
className?: string;
|
|
54
|
+
children: ReactNode;
|
|
55
|
+
}
|
|
56
|
+
declare function Accordion({ type, value: valueProp, defaultValue, onValueChange, collapsible, variant, size, disabled, iconPosition, icon, hideIcon, className, children, }: AccordionProps): react_jsx_runtime.JSX.Element;
|
|
57
|
+
declare function AccordionItem({ value, disabled: disabledProp, className, children, }: AccordionItemProps): react_jsx_runtime.JSX.Element;
|
|
58
|
+
declare function AccordionTrigger({ className, icon: iconOverride, children, }: AccordionTriggerProps): react_jsx_runtime.JSX.Element;
|
|
59
|
+
declare function AccordionContent({ className, children, }: AccordionContentProps): react_jsx_runtime.JSX.Element;
|
|
60
|
+
|
|
61
|
+
interface AdvanceDetachableRenderContext {
|
|
62
|
+
open: () => void;
|
|
63
|
+
close: () => void;
|
|
64
|
+
toggle: () => void;
|
|
65
|
+
detached: boolean;
|
|
66
|
+
windowRef: Window | null;
|
|
67
|
+
}
|
|
68
|
+
interface AdvanceDetachableProps<T = unknown> {
|
|
69
|
+
mode: "detach" | "clone";
|
|
70
|
+
id: string;
|
|
71
|
+
title?: string;
|
|
72
|
+
children: ReactNode | ((ctx: AdvanceDetachableRenderContext) => ReactNode);
|
|
73
|
+
value?: T;
|
|
74
|
+
defaultValue?: T;
|
|
75
|
+
onValueChange?: (next: T) => void;
|
|
76
|
+
isDetached?: boolean;
|
|
77
|
+
defaultDetached?: boolean;
|
|
78
|
+
onDetachedChange?: (detached: boolean) => void;
|
|
79
|
+
features?: string;
|
|
80
|
+
target?: string;
|
|
81
|
+
autoFocus?: boolean;
|
|
82
|
+
className?: string;
|
|
83
|
+
placeholderClassName?: string;
|
|
84
|
+
detachedBodyClassName?: string;
|
|
85
|
+
disabled?: boolean;
|
|
86
|
+
readOnly?: boolean;
|
|
87
|
+
closeOnMainWindowUnload?: boolean;
|
|
88
|
+
name?: string;
|
|
89
|
+
serialize?: (value: T) => string;
|
|
90
|
+
deserialize?: (raw: string) => T;
|
|
91
|
+
}
|
|
92
|
+
interface AdvanceDetachableRef {
|
|
93
|
+
open: () => void;
|
|
94
|
+
close: () => void;
|
|
95
|
+
toggle: () => void;
|
|
96
|
+
readonly isDetached: boolean;
|
|
97
|
+
readonly window: Window | null;
|
|
98
|
+
}
|
|
99
|
+
interface AdvanceDetachableComponent {
|
|
100
|
+
<T = unknown>(props: AdvanceDetachableProps<T> & React.RefAttributes<AdvanceDetachableRef>): ReactElement | null;
|
|
101
|
+
displayName?: string;
|
|
102
|
+
}
|
|
103
|
+
declare const AdvanceDetachable: AdvanceDetachableComponent;
|
|
104
|
+
|
|
105
|
+
interface AvatarProps extends ComponentPropsWithoutRef<"div"> {
|
|
106
|
+
src?: string;
|
|
107
|
+
alt?: string;
|
|
108
|
+
fallback?: string;
|
|
109
|
+
size?: "xs" | "sm" | "md" | "lg" | "xl";
|
|
110
|
+
variant?: "circle" | "square" | "rounded";
|
|
111
|
+
border?: boolean;
|
|
112
|
+
}
|
|
113
|
+
declare function Avatar({ src, alt, fallback, size, variant, border, className, ...props }: AvatarProps): react_jsx_runtime.JSX.Element;
|
|
114
|
+
|
|
115
|
+
type BadgeColor = "default" | "primary" | "success" | "warning" | "error" | "info" | "purple" | "indigo" | "teal";
|
|
116
|
+
type BadgeSize = "sm" | "md" | "lg";
|
|
117
|
+
type BadgeVariant = "solid" | "soft" | "outlined" | "subtle";
|
|
118
|
+
interface BadgeProps extends Omit<ComponentPropsWithoutRef<"span">, "color"> {
|
|
119
|
+
children?: ReactNode;
|
|
120
|
+
color?: BadgeColor;
|
|
121
|
+
size?: BadgeSize;
|
|
122
|
+
variant?: BadgeVariant;
|
|
123
|
+
dot?: boolean;
|
|
124
|
+
icon?: ReactNode;
|
|
125
|
+
pill?: boolean;
|
|
126
|
+
}
|
|
127
|
+
declare function Badge({ children, color, size, variant, dot, icon, pill, className, ...props }: BadgeProps): react_jsx_runtime.JSX.Element;
|
|
128
|
+
declare namespace Badge {
|
|
129
|
+
var displayName: string;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
type BannerVariant = "notification" | "hero" | "promotion";
|
|
133
|
+
type BannerType = "info" | "success" | "warning" | "error" | "default";
|
|
134
|
+
interface BannerProps extends Omit<ComponentPropsWithoutRef<"div">, "title"> {
|
|
135
|
+
children?: ReactNode;
|
|
136
|
+
variant?: BannerVariant;
|
|
137
|
+
type?: BannerType;
|
|
138
|
+
title?: ReactNode;
|
|
139
|
+
description?: ReactNode;
|
|
140
|
+
icon?: ReactNode;
|
|
141
|
+
action?: ReactNode;
|
|
142
|
+
closable?: boolean;
|
|
143
|
+
onClose?: () => void;
|
|
144
|
+
backgroundImage?: string;
|
|
145
|
+
badge?: string;
|
|
146
|
+
fullWidth?: boolean;
|
|
147
|
+
}
|
|
148
|
+
declare function Banner({ variant, ...props }: BannerProps): react_jsx_runtime.JSX.Element;
|
|
149
|
+
declare namespace Banner {
|
|
150
|
+
var displayName: string;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
interface BreadcrumbItem {
|
|
154
|
+
label: string;
|
|
155
|
+
href?: string;
|
|
156
|
+
icon?: ReactNode;
|
|
157
|
+
onClick?: () => void;
|
|
158
|
+
}
|
|
159
|
+
interface BreadcrumbProps extends ComponentPropsWithoutRef<"nav"> {
|
|
160
|
+
items: BreadcrumbItem[];
|
|
161
|
+
separator?: ReactNode;
|
|
162
|
+
size?: "sm" | "md" | "lg";
|
|
163
|
+
maxItems?: number;
|
|
164
|
+
itemColor?: string;
|
|
165
|
+
activeColor?: string;
|
|
166
|
+
separatorColor?: string;
|
|
167
|
+
}
|
|
168
|
+
declare function Breadcrumb({ items, separator, size, maxItems, itemColor, activeColor, separatorColor, className, ...props }: BreadcrumbProps): react_jsx_runtime.JSX.Element;
|
|
169
|
+
|
|
170
|
+
interface ButtonProps extends ComponentPropsWithoutRef<"button"> {
|
|
171
|
+
label?: string;
|
|
172
|
+
children?: ReactNode;
|
|
173
|
+
type?: "button" | "submit" | "reset";
|
|
174
|
+
size?: "sm" | "md" | "lg" | "xl";
|
|
175
|
+
loading?: boolean;
|
|
176
|
+
leftIcon?: ReactNode;
|
|
177
|
+
rightIcon?: ReactNode;
|
|
178
|
+
icon?: ReactNode;
|
|
179
|
+
fullWidth?: boolean;
|
|
180
|
+
rounded?: "none" | "sm" | "md" | "lg" | "full";
|
|
181
|
+
bgColor?: string;
|
|
182
|
+
textColor?: string;
|
|
183
|
+
focusColor?: string;
|
|
184
|
+
selected?: boolean;
|
|
185
|
+
value?: string;
|
|
186
|
+
showFocusOnClick?: boolean;
|
|
187
|
+
}
|
|
188
|
+
declare function Button({ label, children, onClick, disabled, className, type, size, loading, leftIcon, rightIcon, icon, fullWidth, rounded, bgColor, textColor, focusColor, selected, value, showFocusOnClick, ...props }: ButtonProps): react_jsx_runtime.JSX.Element;
|
|
189
|
+
|
|
190
|
+
interface ButtonGroupProps {
|
|
191
|
+
children: react__default.ReactNode;
|
|
192
|
+
orientation?: "horizontal" | "vertical";
|
|
193
|
+
size?: "sm" | "md" | "lg" | "xl";
|
|
194
|
+
fullWidth?: boolean;
|
|
195
|
+
selectedValue?: string;
|
|
196
|
+
onChange?: (value: string) => void;
|
|
197
|
+
className?: string;
|
|
198
|
+
}
|
|
199
|
+
declare function ButtonGroup({ children, orientation, size, fullWidth, selectedValue, onChange, className, }: ButtonGroupProps): react_jsx_runtime.JSX.Element;
|
|
200
|
+
|
|
201
|
+
type CalendarSize = "sm" | "md" | "lg";
|
|
202
|
+
type CalendarColor = "primary" | "success" | "warning" | "error" | "info" | "neutral";
|
|
203
|
+
type CalendarMode = "single" | "multiple" | "range";
|
|
204
|
+
type CalendarWeekStart = 0 | 1 | 2 | 3 | 4 | 5 | 6;
|
|
205
|
+
interface CalendarDateRange {
|
|
206
|
+
from: Date | null;
|
|
207
|
+
to: Date | null;
|
|
208
|
+
}
|
|
209
|
+
/** Visual/semantic state of a day cell, handed to `renderDay`. */
|
|
210
|
+
interface CalendarDayState {
|
|
211
|
+
selected: boolean;
|
|
212
|
+
today: boolean;
|
|
213
|
+
outside: boolean;
|
|
214
|
+
disabled: boolean;
|
|
215
|
+
rangeStart: boolean;
|
|
216
|
+
rangeEnd: boolean;
|
|
217
|
+
inRange: boolean;
|
|
218
|
+
}
|
|
219
|
+
interface CalendarLabels {
|
|
220
|
+
previousMonth?: string;
|
|
221
|
+
nextMonth?: string;
|
|
222
|
+
today?: string;
|
|
223
|
+
clear?: string;
|
|
224
|
+
monthSelect?: string;
|
|
225
|
+
yearSelect?: string;
|
|
226
|
+
weekNumber?: string;
|
|
227
|
+
}
|
|
228
|
+
interface CalendarBaseProps extends Omit<ComponentPropsWithoutRef<"div">, "onChange" | "value" | "defaultValue"> {
|
|
229
|
+
/** Controlled displayed month (any date within it). */
|
|
230
|
+
month?: Date;
|
|
231
|
+
/** Uncontrolled initial displayed month. */
|
|
232
|
+
defaultMonth?: Date;
|
|
233
|
+
/** Called with the first day of the new displayed month. */
|
|
234
|
+
onMonthChange?: (month: Date) => void;
|
|
235
|
+
/** Number of consecutive months rendered side by side. */
|
|
236
|
+
numberOfMonths?: number;
|
|
237
|
+
/** First day of the week — 0 = Sunday … 6 = Saturday. */
|
|
238
|
+
weekStartsOn?: CalendarWeekStart;
|
|
239
|
+
/** BCP 47 locale used for month/weekday names. */
|
|
240
|
+
locale?: string;
|
|
241
|
+
size?: CalendarSize;
|
|
242
|
+
color?: CalendarColor;
|
|
243
|
+
/** Earliest selectable date (inclusive). */
|
|
244
|
+
minDate?: Date;
|
|
245
|
+
/** Latest selectable date (inclusive). */
|
|
246
|
+
maxDate?: Date;
|
|
247
|
+
/** Extra non-selectable dates, as a list or a predicate. */
|
|
248
|
+
disabledDates?: Date[] | ((date: Date) => boolean);
|
|
249
|
+
/** Disable the whole calendar. */
|
|
250
|
+
disabled?: boolean;
|
|
251
|
+
/** Render the leading/trailing days of the adjacent months. */
|
|
252
|
+
showOutsideDays?: boolean;
|
|
253
|
+
/** Render an ISO week-number column. */
|
|
254
|
+
showWeekNumbers?: boolean;
|
|
255
|
+
/** Always render 6 week rows so the height never shifts. */
|
|
256
|
+
fixedWeeks?: boolean;
|
|
257
|
+
/** Caption as plain text or as month/year dropdowns. */
|
|
258
|
+
captionLayout?: "label" | "dropdown";
|
|
259
|
+
/** First year offered by the year dropdown. */
|
|
260
|
+
fromYear?: number;
|
|
261
|
+
/** Last year offered by the year dropdown. */
|
|
262
|
+
toYear?: number;
|
|
263
|
+
/** Show a "Today" shortcut in the footer. */
|
|
264
|
+
todayButton?: boolean;
|
|
265
|
+
/** Show a "Clear" shortcut in the footer. */
|
|
266
|
+
clearButton?: boolean;
|
|
267
|
+
/** Extra footer content, rendered below the grid. */
|
|
268
|
+
footer?: ReactNode;
|
|
269
|
+
/** Wrap the calendar in a bordered, rounded surface. */
|
|
270
|
+
bordered?: boolean;
|
|
271
|
+
/** Override the content of a day cell. */
|
|
272
|
+
renderDay?: (date: Date, state: CalendarDayState) => ReactNode;
|
|
273
|
+
/** Accessible labels for the navigation and footer controls. */
|
|
274
|
+
labels?: CalendarLabels;
|
|
275
|
+
}
|
|
276
|
+
interface CalendarSingleProps {
|
|
277
|
+
mode?: "single";
|
|
278
|
+
value?: Date | null;
|
|
279
|
+
defaultValue?: Date | null;
|
|
280
|
+
onChange?: (date: Date | null) => void;
|
|
281
|
+
}
|
|
282
|
+
interface CalendarMultipleProps {
|
|
283
|
+
mode: "multiple";
|
|
284
|
+
value?: Date[];
|
|
285
|
+
defaultValue?: Date[];
|
|
286
|
+
onChange?: (dates: Date[]) => void;
|
|
287
|
+
/** Maximum number of selectable dates. */
|
|
288
|
+
max?: number;
|
|
289
|
+
}
|
|
290
|
+
interface CalendarRangeProps {
|
|
291
|
+
mode: "range";
|
|
292
|
+
value?: CalendarDateRange | null;
|
|
293
|
+
defaultValue?: CalendarDateRange | null;
|
|
294
|
+
onChange?: (range: CalendarDateRange) => void;
|
|
295
|
+
}
|
|
296
|
+
type CalendarProps = CalendarBaseProps & (CalendarSingleProps | CalendarMultipleProps | CalendarRangeProps);
|
|
297
|
+
declare function Calendar(props: CalendarProps): react_jsx_runtime.JSX.Element;
|
|
298
|
+
|
|
299
|
+
interface CardProps extends ComponentPropsWithoutRef<"div"> {
|
|
300
|
+
variant?: "default" | "outlined" | "elevated" | "filled";
|
|
301
|
+
size?: "sm" | "md" | "lg";
|
|
302
|
+
rounded?: "none" | "sm" | "md" | "lg" | "xl" | "full";
|
|
303
|
+
padding?: "none" | "sm" | "md" | "lg";
|
|
304
|
+
bgColor?: string;
|
|
305
|
+
borderColor?: string;
|
|
306
|
+
shadowColor?: string;
|
|
307
|
+
hoverable?: boolean;
|
|
308
|
+
clickable?: boolean;
|
|
309
|
+
as?: "article" | "section" | "div";
|
|
310
|
+
children?: ReactNode;
|
|
311
|
+
}
|
|
312
|
+
declare function Card({ variant, size, rounded, padding, bgColor, borderColor, shadowColor, hoverable, clickable, as, className, children, onClick, ...props }: CardProps): react_jsx_runtime.JSX.Element;
|
|
313
|
+
declare namespace Card {
|
|
314
|
+
var displayName: string;
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
interface CardHeaderProps extends ComponentPropsWithoutRef<"div"> {
|
|
318
|
+
actions?: ReactNode;
|
|
319
|
+
divider?: boolean;
|
|
320
|
+
padding?: "none" | "sm" | "md" | "lg";
|
|
321
|
+
children?: ReactNode;
|
|
322
|
+
}
|
|
323
|
+
declare function CardHeader({ actions, divider, padding, className, children, ...props }: CardHeaderProps): react_jsx_runtime.JSX.Element;
|
|
324
|
+
declare namespace CardHeader {
|
|
325
|
+
var displayName: string;
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
interface CardBodyProps extends ComponentPropsWithoutRef<"div"> {
|
|
329
|
+
padding?: "none" | "sm" | "md" | "lg";
|
|
330
|
+
children?: ReactNode;
|
|
331
|
+
}
|
|
332
|
+
declare function CardBody({ padding, className, children, ...props }: CardBodyProps): react_jsx_runtime.JSX.Element;
|
|
333
|
+
declare namespace CardBody {
|
|
334
|
+
var displayName: string;
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
interface CardFooterProps extends ComponentPropsWithoutRef<"div"> {
|
|
338
|
+
divider?: boolean;
|
|
339
|
+
align?: "left" | "center" | "right" | "between";
|
|
340
|
+
padding?: "none" | "sm" | "md" | "lg";
|
|
341
|
+
children?: ReactNode;
|
|
342
|
+
}
|
|
343
|
+
declare function CardFooter({ divider, align, padding, className, children, ...props }: CardFooterProps): react_jsx_runtime.JSX.Element;
|
|
344
|
+
declare namespace CardFooter {
|
|
345
|
+
var displayName: string;
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
interface CardImageProps extends ComponentPropsWithoutRef<"img"> {
|
|
349
|
+
position?: "top" | "bottom";
|
|
350
|
+
aspectRatio?: "auto" | "square" | "video" | "wide";
|
|
351
|
+
objectFit?: "cover" | "contain" | "fill" | "none";
|
|
352
|
+
src: string;
|
|
353
|
+
alt: string;
|
|
354
|
+
}
|
|
355
|
+
declare function CardImage({ position, aspectRatio, objectFit, src, alt, className, ...props }: CardImageProps): react_jsx_runtime.JSX.Element;
|
|
356
|
+
declare namespace CardImage {
|
|
357
|
+
var displayName: string;
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
interface CardTitleProps extends ComponentPropsWithoutRef<"h3"> {
|
|
361
|
+
as?: "h1" | "h2" | "h3" | "h4" | "h5" | "h6";
|
|
362
|
+
size?: "sm" | "md" | "lg";
|
|
363
|
+
children?: ReactNode;
|
|
364
|
+
}
|
|
365
|
+
declare function CardTitle({ as, size, className, children, ...props }: CardTitleProps): react_jsx_runtime.JSX.Element;
|
|
366
|
+
declare namespace CardTitle {
|
|
367
|
+
var displayName: string;
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
interface CardDescriptionProps extends ComponentPropsWithoutRef<"p"> {
|
|
371
|
+
size?: "sm" | "md" | "lg";
|
|
372
|
+
children?: ReactNode;
|
|
373
|
+
}
|
|
374
|
+
declare function CardDescription({ size, className, children, ...props }: CardDescriptionProps): react_jsx_runtime.JSX.Element;
|
|
375
|
+
declare namespace CardDescription {
|
|
376
|
+
var displayName: string;
|
|
377
|
+
}
|
|
378
|
+
|
|
379
|
+
interface CheckboxProps extends Omit<ComponentPropsWithoutRef<"input">, "size" | "onChange" | "type"> {
|
|
380
|
+
checked?: boolean;
|
|
381
|
+
defaultChecked?: boolean;
|
|
382
|
+
onChange?: (checked: boolean, event: ChangeEvent<HTMLInputElement>) => void;
|
|
383
|
+
disabled?: boolean;
|
|
384
|
+
readOnly?: boolean;
|
|
385
|
+
required?: boolean;
|
|
386
|
+
label?: ReactNode;
|
|
387
|
+
description?: string;
|
|
388
|
+
error?: boolean | string;
|
|
389
|
+
size?: "sm" | "md" | "lg";
|
|
390
|
+
labelPosition?: "left" | "right";
|
|
391
|
+
checkedColor?: string;
|
|
392
|
+
uncheckedColor?: string;
|
|
393
|
+
borderColor?: string;
|
|
394
|
+
labelColor?: string;
|
|
395
|
+
errorColor?: string;
|
|
396
|
+
checkmarkColor?: string;
|
|
397
|
+
hoverColor?: string;
|
|
398
|
+
focusRingColor?: string;
|
|
399
|
+
indeterminate?: boolean;
|
|
400
|
+
icon?: ReactNode;
|
|
401
|
+
variant?: "default" | "filled" | "outlined";
|
|
402
|
+
shape?: "square" | "rounded" | "circle";
|
|
403
|
+
animation?: boolean;
|
|
404
|
+
showFocusRing?: boolean;
|
|
405
|
+
className?: string;
|
|
406
|
+
containerClassName?: string;
|
|
407
|
+
}
|
|
408
|
+
declare const Checkbox: react.ForwardRefExoticComponent<CheckboxProps & react.RefAttributes<HTMLInputElement>>;
|
|
409
|
+
|
|
410
|
+
interface CheckboxGroupProps extends Omit<ComponentPropsWithoutRef<"div">, "onChange"> {
|
|
411
|
+
label?: ReactNode;
|
|
412
|
+
description?: string;
|
|
413
|
+
value?: string[];
|
|
414
|
+
defaultValue?: string[];
|
|
415
|
+
onChange?: (values: string[]) => void;
|
|
416
|
+
orientation?: "horizontal" | "vertical";
|
|
417
|
+
spacing?: "sm" | "md" | "lg";
|
|
418
|
+
disabled?: boolean;
|
|
419
|
+
size?: "sm" | "md" | "lg";
|
|
420
|
+
error?: boolean | string;
|
|
421
|
+
required?: boolean;
|
|
422
|
+
children: ReactNode;
|
|
423
|
+
className?: string;
|
|
424
|
+
labelClassName?: string;
|
|
425
|
+
}
|
|
426
|
+
declare const CheckboxGroup: {
|
|
427
|
+
({ label, description, value: controlledValue, defaultValue, onChange, orientation, spacing, disabled, size, error, required, children, className, labelClassName, ...rest }: CheckboxGroupProps): react_jsx_runtime.JSX.Element;
|
|
428
|
+
displayName: string;
|
|
429
|
+
};
|
|
430
|
+
interface CheckboxGroupItemProps extends Omit<CheckboxProps, "checked" | "onChange"> {
|
|
431
|
+
value: string;
|
|
432
|
+
}
|
|
433
|
+
declare const CheckboxGroupItem: {
|
|
434
|
+
({ value, disabled: itemDisabled, size: itemSize, ...props }: CheckboxGroupItemProps): react_jsx_runtime.JSX.Element;
|
|
435
|
+
displayName: string;
|
|
436
|
+
};
|
|
437
|
+
|
|
438
|
+
type SortDirection = "asc" | "desc" | null;
|
|
439
|
+
interface SortState {
|
|
440
|
+
key: string;
|
|
441
|
+
direction: SortDirection;
|
|
442
|
+
}
|
|
443
|
+
interface FilterValue {
|
|
444
|
+
column: string;
|
|
445
|
+
operator: FilterOperator;
|
|
446
|
+
value: string;
|
|
447
|
+
}
|
|
448
|
+
type FilterOperator = "contains" | "equals" | "startsWith" | "endsWith" | "gt" | "gte" | "lt" | "lte" | "between" | "isEmpty" | "isNotEmpty";
|
|
449
|
+
type FilterType = "text" | "number" | "select" | "date";
|
|
450
|
+
type AggregateFunction = "sum" | "avg" | "count" | "min" | "max";
|
|
451
|
+
type Density = "compact" | "default" | "comfortable";
|
|
452
|
+
type SelectionMode = "single" | "multiple";
|
|
453
|
+
type DataGridMode = "client" | "server";
|
|
454
|
+
interface PaginationConfig {
|
|
455
|
+
pageSize?: number;
|
|
456
|
+
pageSizeOptions?: number[];
|
|
457
|
+
showPageSizeSelector?: boolean;
|
|
458
|
+
showTotalItems?: boolean;
|
|
459
|
+
}
|
|
460
|
+
interface ColumnDef<T = unknown> {
|
|
461
|
+
/** Unique key matching a property in the data object */
|
|
462
|
+
key: string;
|
|
463
|
+
/** Header text or ReactNode */
|
|
464
|
+
header: ReactNode;
|
|
465
|
+
/** Column width (CSS value) */
|
|
466
|
+
width?: string | number;
|
|
467
|
+
/** Minimum column width for resizing */
|
|
468
|
+
minWidth?: number;
|
|
469
|
+
/** Maximum column width for resizing */
|
|
470
|
+
maxWidth?: number;
|
|
471
|
+
/** Text alignment */
|
|
472
|
+
align?: "left" | "center" | "right";
|
|
473
|
+
/** Enable sorting on this column */
|
|
474
|
+
sortable?: boolean;
|
|
475
|
+
/** Custom sort comparator */
|
|
476
|
+
sortComparator?: (a: T, b: T) => number;
|
|
477
|
+
/** Enable filtering on this column */
|
|
478
|
+
filterable?: boolean;
|
|
479
|
+
/** Filter type */
|
|
480
|
+
filterType?: FilterType;
|
|
481
|
+
/** Options for select filter */
|
|
482
|
+
filterOptions?: string[];
|
|
483
|
+
/** Custom cell renderer */
|
|
484
|
+
render?: (value: unknown, row: T, rowIndex: number) => ReactNode;
|
|
485
|
+
/** Custom header renderer */
|
|
486
|
+
renderHeader?: (column: ColumnDef<T>) => ReactNode;
|
|
487
|
+
/** Column is resizable */
|
|
488
|
+
resizable?: boolean;
|
|
489
|
+
/** Sticky column position */
|
|
490
|
+
sticky?: "left" | "right";
|
|
491
|
+
/** Column is hidden */
|
|
492
|
+
hidden?: boolean;
|
|
493
|
+
/** Column is editable */
|
|
494
|
+
editable?: boolean;
|
|
495
|
+
/** Column type for special behavior */
|
|
496
|
+
type?: "data" | "actions" | "selection" | "expand";
|
|
497
|
+
/** Aggregate function for footer */
|
|
498
|
+
aggregate?: AggregateFunction;
|
|
499
|
+
/** Custom aggregate renderer */
|
|
500
|
+
renderAggregate?: (value: number, data: T[]) => ReactNode;
|
|
501
|
+
/** Custom class for cells in this column */
|
|
502
|
+
cellClassName?: string;
|
|
503
|
+
/** Custom class for the header cell */
|
|
504
|
+
headerClassName?: string;
|
|
505
|
+
/** Column span function */
|
|
506
|
+
colSpan?: (row: T, rowIndex: number) => number;
|
|
507
|
+
}
|
|
508
|
+
interface DataGridProps<T = unknown> {
|
|
509
|
+
/** Column definitions */
|
|
510
|
+
columns: ColumnDef<T>[];
|
|
511
|
+
/** Data array */
|
|
512
|
+
data: T[];
|
|
513
|
+
/** Unique key extractor for rows */
|
|
514
|
+
rowKey?: string | ((row: T, index: number) => string);
|
|
515
|
+
/** Data processing mode */
|
|
516
|
+
mode?: DataGridMode;
|
|
517
|
+
/** Enable sorting */
|
|
518
|
+
sortable?: boolean;
|
|
519
|
+
/** Enable multi-column sorting */
|
|
520
|
+
multiSort?: boolean;
|
|
521
|
+
/** Controlled sort state */
|
|
522
|
+
sort?: SortState[];
|
|
523
|
+
/** Default sort state */
|
|
524
|
+
defaultSort?: SortState[];
|
|
525
|
+
/** Sort change callback */
|
|
526
|
+
onSort?: (sort: SortState[]) => void;
|
|
527
|
+
/** Enable pagination */
|
|
528
|
+
pagination?: boolean | PaginationConfig;
|
|
529
|
+
/** Current page (controlled, 1-based) */
|
|
530
|
+
page?: number;
|
|
531
|
+
/** Page change callback */
|
|
532
|
+
onPageChange?: (page: number) => void;
|
|
533
|
+
/** Page size change callback */
|
|
534
|
+
onPageSizeChange?: (pageSize: number) => void;
|
|
535
|
+
/** Total items for server-mode pagination */
|
|
536
|
+
totalItems?: number;
|
|
537
|
+
/** Enable row selection */
|
|
538
|
+
selectable?: boolean;
|
|
539
|
+
/** Selection mode */
|
|
540
|
+
selectionMode?: SelectionMode;
|
|
541
|
+
/** Selected row keys (controlled) */
|
|
542
|
+
selectedRows?: string[];
|
|
543
|
+
/** Selection change callback */
|
|
544
|
+
onSelectionChange?: (selectedKeys: string[]) => void;
|
|
545
|
+
/** Enable global search */
|
|
546
|
+
searchable?: boolean;
|
|
547
|
+
/** Search placeholder */
|
|
548
|
+
searchPlaceholder?: string;
|
|
549
|
+
/** Controlled search value */
|
|
550
|
+
searchValue?: string;
|
|
551
|
+
/** Search change callback */
|
|
552
|
+
onSearch?: (value: string) => void;
|
|
553
|
+
/** Active column filters (controlled) */
|
|
554
|
+
filters?: FilterValue[];
|
|
555
|
+
/** Column filter change callback */
|
|
556
|
+
onFilterChange?: (filters: FilterValue[]) => void;
|
|
557
|
+
/** Enable expandable rows */
|
|
558
|
+
expandable?: boolean;
|
|
559
|
+
/** Render expanded row content */
|
|
560
|
+
expandedContent?: (row: T, index: number) => ReactNode;
|
|
561
|
+
/** Controlled expanded row keys */
|
|
562
|
+
expandedRows?: string[];
|
|
563
|
+
/** Expand change callback */
|
|
564
|
+
onExpandChange?: (expandedKeys: string[]) => void;
|
|
565
|
+
/** Enable inline cell editing */
|
|
566
|
+
editable?: boolean;
|
|
567
|
+
/** Cell edit callback */
|
|
568
|
+
onCellEdit?: (rowKey: string, columnKey: string, value: unknown) => void;
|
|
569
|
+
/** Enable row drag & drop reorder */
|
|
570
|
+
reorderable?: boolean;
|
|
571
|
+
/** Reorder callback */
|
|
572
|
+
onReorder?: (fromIndex: number, toIndex: number) => void;
|
|
573
|
+
/** Enable column drag & drop reorder */
|
|
574
|
+
columnReorderable?: boolean;
|
|
575
|
+
/** Column reorder callback */
|
|
576
|
+
onColumnReorder?: (fromKey: string, toKey: string) => void;
|
|
577
|
+
/** Enable column visibility toggle */
|
|
578
|
+
columnToggle?: boolean;
|
|
579
|
+
/** Hidden column keys (controlled) */
|
|
580
|
+
hiddenColumns?: string[];
|
|
581
|
+
/** Column visibility change callback */
|
|
582
|
+
onColumnVisibilityChange?: (hiddenKeys: string[]) => void;
|
|
583
|
+
/** Group rows by column key(s) */
|
|
584
|
+
groupBy?: string | string[];
|
|
585
|
+
/** Render custom group header */
|
|
586
|
+
renderGroupHeader?: (groupKey: string, groupValue: unknown, rows: T[]) => ReactNode;
|
|
587
|
+
/** Enable export functionality */
|
|
588
|
+
exportable?: boolean;
|
|
589
|
+
/** Supported export formats */
|
|
590
|
+
exportFormats?: ("csv" | "json")[];
|
|
591
|
+
/** Custom export filename */
|
|
592
|
+
exportFilename?: string;
|
|
593
|
+
/** Enable virtual scrolling for large datasets */
|
|
594
|
+
virtualized?: boolean;
|
|
595
|
+
/** Row height for virtualization (px) */
|
|
596
|
+
rowHeight?: number;
|
|
597
|
+
/** Visible area height for virtualization (px) */
|
|
598
|
+
virtualHeight?: number;
|
|
599
|
+
/** Density / padding */
|
|
600
|
+
density?: Density;
|
|
601
|
+
/** Striped rows */
|
|
602
|
+
striped?: boolean;
|
|
603
|
+
/** Show borders between cells */
|
|
604
|
+
bordered?: boolean;
|
|
605
|
+
/** Borderless style */
|
|
606
|
+
borderless?: boolean;
|
|
607
|
+
/** Sticky header on vertical scroll */
|
|
608
|
+
stickyHeader?: boolean;
|
|
609
|
+
/** Max height with scroll (CSS value) */
|
|
610
|
+
maxHeight?: string | number;
|
|
611
|
+
/** Loading state */
|
|
612
|
+
loading?: boolean;
|
|
613
|
+
/** Number of skeleton rows to show when loading */
|
|
614
|
+
loadingRows?: number;
|
|
615
|
+
/** Custom empty state */
|
|
616
|
+
emptyState?: ReactNode;
|
|
617
|
+
/** Show footer with aggregates */
|
|
618
|
+
showFooter?: boolean;
|
|
619
|
+
/** Row click callback */
|
|
620
|
+
onRowClick?: (row: T, index: number) => void;
|
|
621
|
+
/** Row double-click callback */
|
|
622
|
+
onRowDoubleClick?: (row: T, index: number) => void;
|
|
623
|
+
/** Row context menu callback */
|
|
624
|
+
onRowContextMenu?: (row: T, index: number, event: MouseEvent) => void;
|
|
625
|
+
/** Additional class names for the wrapper */
|
|
626
|
+
className?: string;
|
|
627
|
+
/** Custom row class name */
|
|
628
|
+
rowClassName?: string | ((row: T, index: number) => string);
|
|
629
|
+
/** Custom cell class name */
|
|
630
|
+
cellClassName?: string;
|
|
631
|
+
/** Custom header class name */
|
|
632
|
+
headerClassName?: string;
|
|
633
|
+
}
|
|
634
|
+
interface DataGridRef {
|
|
635
|
+
/** Get currently visible data (after sort/filter/pagination) */
|
|
636
|
+
getVisibleData: () => unknown[];
|
|
637
|
+
/** Reset all filters and search */
|
|
638
|
+
resetFilters: () => void;
|
|
639
|
+
/** Reset sort state */
|
|
640
|
+
resetSort: () => void;
|
|
641
|
+
/** Select all visible rows */
|
|
642
|
+
selectAll: () => void;
|
|
643
|
+
/** Deselect all rows */
|
|
644
|
+
deselectAll: () => void;
|
|
645
|
+
/** Export data */
|
|
646
|
+
exportData: (format: "csv" | "json") => void;
|
|
647
|
+
/** Scroll to a specific row by index */
|
|
648
|
+
scrollToRow: (index: number) => void;
|
|
649
|
+
}
|
|
650
|
+
declare function DataGridInner<T>(props: DataGridProps<T>, ref: react__default.ForwardedRef<DataGridRef>): react_jsx_runtime.JSX.Element;
|
|
651
|
+
declare const DataGrid: <T = unknown>(props: DataGridProps<T> & {
|
|
652
|
+
ref?: react__default.Ref<DataGridRef>;
|
|
653
|
+
}) => ReturnType<typeof DataGridInner>;
|
|
654
|
+
|
|
655
|
+
type ChipVariant = "solid" | "outlined" | "soft" | "dot";
|
|
656
|
+
type ChipSize = "sm" | "md" | "lg";
|
|
657
|
+
type ChipColor = "default" | "primary" | "success" | "warning" | "error" | "info";
|
|
658
|
+
interface ChipProps extends Omit<ComponentPropsWithoutRef<"span">, "color"> {
|
|
659
|
+
label?: string;
|
|
660
|
+
children?: ReactNode;
|
|
661
|
+
variant?: ChipVariant;
|
|
662
|
+
size?: ChipSize;
|
|
663
|
+
color?: ChipColor;
|
|
664
|
+
bgColor?: string;
|
|
665
|
+
textColor?: string;
|
|
666
|
+
borderColor?: string;
|
|
667
|
+
rounded?: "none" | "sm" | "md" | "lg" | "full";
|
|
668
|
+
icon?: ReactNode;
|
|
669
|
+
endIcon?: ReactNode;
|
|
670
|
+
avatar?: ReactNode;
|
|
671
|
+
onClose?: () => void;
|
|
672
|
+
closable?: boolean;
|
|
673
|
+
clickable?: boolean;
|
|
674
|
+
selected?: boolean;
|
|
675
|
+
disabled?: boolean;
|
|
676
|
+
as?: "span" | "div" | "button";
|
|
677
|
+
}
|
|
678
|
+
declare function Chip({ label, children, variant, size, color, bgColor, textColor, borderColor, rounded, icon, endIcon, avatar, onClose, closable, clickable, selected, disabled, as, className, onClick, ...props }: ChipProps): react_jsx_runtime.JSX.Element;
|
|
679
|
+
declare namespace Chip {
|
|
680
|
+
var displayName: string;
|
|
681
|
+
}
|
|
682
|
+
|
|
683
|
+
interface DetachableProps {
|
|
684
|
+
children: ReactNode;
|
|
685
|
+
detached?: boolean;
|
|
686
|
+
defaultDetached?: boolean;
|
|
687
|
+
onClose?: () => void;
|
|
688
|
+
onDetach?: () => void;
|
|
689
|
+
title?: string;
|
|
690
|
+
width?: number;
|
|
691
|
+
height?: number;
|
|
692
|
+
left?: number;
|
|
693
|
+
top?: number;
|
|
694
|
+
center?: boolean;
|
|
695
|
+
copyStyles?: boolean;
|
|
696
|
+
closeOnParentUnmount?: boolean;
|
|
697
|
+
className?: string;
|
|
698
|
+
windowClassName?: string;
|
|
699
|
+
onPopupBlocked?: () => void;
|
|
700
|
+
}
|
|
701
|
+
interface DetachableRef {
|
|
702
|
+
detach: () => void;
|
|
703
|
+
attach: () => void;
|
|
704
|
+
isDetached: boolean;
|
|
705
|
+
window: Window | null;
|
|
706
|
+
}
|
|
707
|
+
declare const Detachable: react.ForwardRefExoticComponent<DetachableProps & react.RefAttributes<DetachableRef>>;
|
|
708
|
+
|
|
709
|
+
type DeviceType = "phone" | "android" | "tablet" | "laptop" | "desktop" | "watch" | "browser";
|
|
710
|
+
type DeviceOrientation = "portrait" | "landscape";
|
|
711
|
+
type DeviceTheme = "light" | "dark";
|
|
712
|
+
type DeviceSize = "sm" | "md" | "lg";
|
|
713
|
+
interface DeviceMockupProps {
|
|
714
|
+
/** Device type to render */
|
|
715
|
+
device?: DeviceType;
|
|
716
|
+
/** Image source to display inside the device screen */
|
|
717
|
+
src?: string;
|
|
718
|
+
/** Alt text for the image */
|
|
719
|
+
alt?: string;
|
|
720
|
+
/** React content to display inside the device screen */
|
|
721
|
+
children?: ReactNode;
|
|
722
|
+
/** Device orientation */
|
|
723
|
+
orientation?: DeviceOrientation;
|
|
724
|
+
/** Device frame theme */
|
|
725
|
+
theme?: DeviceTheme;
|
|
726
|
+
/** Device size */
|
|
727
|
+
size?: DeviceSize;
|
|
728
|
+
/** Show simulated status bar (phone, android, tablet) */
|
|
729
|
+
showStatusBar?: boolean;
|
|
730
|
+
/** Time displayed in the status bar */
|
|
731
|
+
statusBarTime?: string;
|
|
732
|
+
/** Enable auto-scroll animation for content */
|
|
733
|
+
animated?: boolean;
|
|
734
|
+
/** Scroll animation speed in pixels per second */
|
|
735
|
+
scrollSpeed?: number;
|
|
736
|
+
/** Frame color override (CSS color value) */
|
|
737
|
+
frameColor?: string;
|
|
738
|
+
/** Additional class names for the wrapper */
|
|
739
|
+
className?: string;
|
|
740
|
+
/** Additional class names for the screen/content area */
|
|
741
|
+
contentClassName?: string;
|
|
742
|
+
}
|
|
743
|
+
declare function DeviceMockup({ device, src, alt, children, orientation, theme, size, showStatusBar, statusBarTime, animated, scrollSpeed, frameColor, className, contentClassName, }: DeviceMockupProps): react_jsx_runtime.JSX.Element;
|
|
744
|
+
|
|
745
|
+
type CircularProgressSize = "xs" | "sm" | "md" | "lg" | "xl";
|
|
746
|
+
type CircularProgressThickness = "thin" | "normal" | "thick";
|
|
747
|
+
type CircularProgressColor = "default" | "primary" | "success" | "warning" | "error" | "info";
|
|
748
|
+
interface CircularProgressProps extends Omit<ComponentPropsWithoutRef<"div">, "children"> {
|
|
749
|
+
value?: number;
|
|
750
|
+
indeterminate?: boolean;
|
|
751
|
+
size?: CircularProgressSize;
|
|
752
|
+
thickness?: CircularProgressThickness;
|
|
753
|
+
color?: CircularProgressColor;
|
|
754
|
+
progressColor?: string;
|
|
755
|
+
trackColor?: string;
|
|
756
|
+
showValue?: boolean;
|
|
757
|
+
children?: ReactNode;
|
|
758
|
+
valueFormat?: (value: number) => string;
|
|
759
|
+
animated?: boolean;
|
|
760
|
+
}
|
|
761
|
+
declare function CircularProgress({ value, indeterminate, size, thickness, color, progressColor, trackColor, showValue, children, valueFormat, animated, className, ...props }: CircularProgressProps): react_jsx_runtime.JSX.Element;
|
|
762
|
+
declare namespace CircularProgress {
|
|
763
|
+
var displayName: string;
|
|
764
|
+
}
|
|
765
|
+
|
|
766
|
+
type DividerOrientation = "horizontal" | "vertical";
|
|
767
|
+
type DividerVariant = "solid" | "dashed" | "dotted";
|
|
768
|
+
type DividerTextAlign = "left" | "center" | "right";
|
|
769
|
+
interface DividerProps extends ComponentPropsWithoutRef<"hr"> {
|
|
770
|
+
orientation?: DividerOrientation;
|
|
771
|
+
variant?: DividerVariant;
|
|
772
|
+
label?: string;
|
|
773
|
+
textAlign?: DividerTextAlign;
|
|
774
|
+
thickness?: number;
|
|
775
|
+
color?: string;
|
|
776
|
+
spacing?: string;
|
|
777
|
+
}
|
|
778
|
+
declare function Divider({ orientation, variant, label, textAlign, thickness, color, spacing, className, ...props }: DividerProps): react_jsx_runtime.JSX.Element;
|
|
779
|
+
declare namespace Divider {
|
|
780
|
+
var displayName: string;
|
|
781
|
+
}
|
|
782
|
+
|
|
783
|
+
/**
|
|
784
|
+
* Where the focus goes when the dialog opens.
|
|
785
|
+
*
|
|
786
|
+
* - `"dialog"` (default): the dialog container itself, so screen readers
|
|
787
|
+
* announce its name and description before the content.
|
|
788
|
+
* - `"first"`: the first focusable element inside the dialog.
|
|
789
|
+
* - `"none"`: the focus is left untouched.
|
|
790
|
+
* - a ref: that specific element (falls back to the dialog if unmounted).
|
|
791
|
+
*/
|
|
792
|
+
type DialogInitialFocus = "dialog" | "first" | "none" | RefObject<HTMLElement | null>;
|
|
793
|
+
/**
|
|
794
|
+
* Where the focus goes when the dialog closes.
|
|
795
|
+
*
|
|
796
|
+
* - `true` (default): back to the element that was focused before opening.
|
|
797
|
+
* - `false`: nothing is restored.
|
|
798
|
+
* - a ref: that specific element.
|
|
799
|
+
*/
|
|
800
|
+
type DialogReturnFocus = boolean | RefObject<HTMLElement | null>;
|
|
801
|
+
interface UseDialogA11yOptions {
|
|
802
|
+
/** Whether the dialog is currently rendered. */
|
|
803
|
+
open: boolean;
|
|
804
|
+
/** Called when Escape is pressed on the topmost dialog. */
|
|
805
|
+
onClose?: () => void;
|
|
806
|
+
/** Close the dialog on Escape. Default `true`. */
|
|
807
|
+
closeOnEscape?: boolean;
|
|
808
|
+
/** Keep Tab / Shift+Tab inside the dialog. Default `true`. */
|
|
809
|
+
trapFocus?: boolean;
|
|
810
|
+
/** Element focused when the dialog opens. Default `"dialog"`. */
|
|
811
|
+
initialFocus?: DialogInitialFocus;
|
|
812
|
+
/** Element focused when the dialog closes. Default `true` (the trigger). */
|
|
813
|
+
returnFocus?: DialogReturnFocus;
|
|
814
|
+
/** Mark the rest of the page `inert` + `aria-hidden`. Default `true`. */
|
|
815
|
+
hideBackground?: boolean;
|
|
816
|
+
/**
|
|
817
|
+
* Elements outside the dialog that must stay interactive while it is open
|
|
818
|
+
* (a clickable overlay, a portalled popover, ...).
|
|
819
|
+
*/
|
|
820
|
+
keepInteractive?: Array<RefObject<HTMLElement | null> | HTMLElement | null | undefined>;
|
|
821
|
+
/** Prevent the page behind the dialog from scrolling. Default `true`. */
|
|
822
|
+
lockScroll?: boolean;
|
|
823
|
+
}
|
|
824
|
+
/** Props to spread on the dialog container. */
|
|
825
|
+
interface DialogA11yProps {
|
|
826
|
+
role: "dialog";
|
|
827
|
+
"aria-modal": true;
|
|
828
|
+
/** Required so the container itself can receive the initial focus. */
|
|
829
|
+
tabIndex: -1;
|
|
830
|
+
}
|
|
831
|
+
interface UseDialogA11yResult<T extends HTMLElement> {
|
|
832
|
+
/** Attach to the dialog container (the element holding `dialogProps`). */
|
|
833
|
+
dialogRef: RefObject<T | null>;
|
|
834
|
+
dialogProps: DialogA11yProps;
|
|
835
|
+
}
|
|
836
|
+
/**
|
|
837
|
+
* Turns any container into an accessible modal dialog:
|
|
838
|
+
* `role="dialog"` + `aria-modal`, initial focus, Tab / Shift+Tab containment,
|
|
839
|
+
* Escape, focus returned to the trigger, inert background and nested dialog
|
|
840
|
+
* support (only the topmost one reacts to the keyboard).
|
|
841
|
+
*
|
|
842
|
+
* ```tsx
|
|
843
|
+
* const { dialogRef, dialogProps } = useDialogA11y({ open, onClose });
|
|
844
|
+
* return open ? <div ref={dialogRef} {...dialogProps} aria-labelledby={titleId}>…</div> : null;
|
|
845
|
+
* ```
|
|
846
|
+
*/
|
|
847
|
+
declare function useDialogA11y<T extends HTMLElement = HTMLDivElement>(options: UseDialogA11yOptions): UseDialogA11yResult<T>;
|
|
848
|
+
|
|
849
|
+
type DrawerPosition = "left" | "right" | "top" | "bottom";
|
|
850
|
+
type DrawerSize = "sm" | "md" | "lg" | "xl" | "full" | "half";
|
|
851
|
+
interface DrawerProps {
|
|
852
|
+
open: boolean;
|
|
853
|
+
onClose: () => void;
|
|
854
|
+
children: ReactNode;
|
|
855
|
+
position?: DrawerPosition;
|
|
856
|
+
size?: DrawerSize;
|
|
857
|
+
/** Largeur personnalisée du drawer (ex: "400px", "25rem", "40%"). Prioritaire sur `size` pour les positions left/right. */
|
|
858
|
+
customWidth?: string;
|
|
859
|
+
/** Hauteur personnalisée du drawer (ex: "400px", "25rem", "40%"). Prioritaire sur `size` pour les positions top/bottom. */
|
|
860
|
+
customHeight?: string;
|
|
861
|
+
showOverlay?: boolean;
|
|
862
|
+
closeOnOverlayClick?: boolean;
|
|
863
|
+
closeOnEscape?: boolean;
|
|
864
|
+
title?: string;
|
|
865
|
+
footer?: ReactNode;
|
|
866
|
+
className?: string;
|
|
867
|
+
overlayClassName?: string;
|
|
868
|
+
/**
|
|
869
|
+
* Accessible name of the close button. Defaults to the `closeDrawer` label of
|
|
870
|
+
* the nearest `UILabelsProvider`.
|
|
871
|
+
*/
|
|
872
|
+
closeLabel?: string;
|
|
873
|
+
/**
|
|
874
|
+
* Accessible name of the drawer when no `title` is rendered. A dialog without
|
|
875
|
+
* a name is announced as "dialog" only, so provide one of the two.
|
|
876
|
+
*/
|
|
877
|
+
"aria-label"?: string;
|
|
878
|
+
/** Keep Tab / Shift+Tab inside the drawer. Default `true`. */
|
|
879
|
+
trapFocus?: boolean;
|
|
880
|
+
/** Element focused when the drawer opens. Default `"dialog"`. */
|
|
881
|
+
initialFocus?: DialogInitialFocus;
|
|
882
|
+
/** Element focused when the drawer closes. Default `true` (the trigger). */
|
|
883
|
+
returnFocus?: DialogReturnFocus;
|
|
884
|
+
/** Prevent the page behind the drawer from scrolling. Default `true`. */
|
|
885
|
+
lockScroll?: boolean;
|
|
886
|
+
}
|
|
887
|
+
declare function Drawer({ open, onClose, children, position, size, customWidth, customHeight, showOverlay, closeOnOverlayClick, closeOnEscape, title, footer, className, overlayClassName, closeLabel, "aria-label": ariaLabel, trapFocus, initialFocus, returnFocus, lockScroll, }: DrawerProps): react_jsx_runtime.JSX.Element | null;
|
|
888
|
+
declare namespace Drawer {
|
|
889
|
+
var displayName: string;
|
|
890
|
+
}
|
|
891
|
+
|
|
892
|
+
interface SelectedFile {
|
|
893
|
+
file: File;
|
|
894
|
+
id: string;
|
|
895
|
+
error?: string;
|
|
896
|
+
}
|
|
897
|
+
interface FileSelectorProps {
|
|
898
|
+
/** Currently selected files (controlled mode) */
|
|
899
|
+
value?: File[];
|
|
900
|
+
/** Callback when files change */
|
|
901
|
+
onChange?: (files: File[]) => void;
|
|
902
|
+
/** Accepted file types (MIME types or extensions, e.g. "image/*,.pdf,.docx") */
|
|
903
|
+
accept?: string;
|
|
904
|
+
/** Allow multiple file selection */
|
|
905
|
+
multiple?: boolean;
|
|
906
|
+
/** Maximum file size in bytes (default: 10MB) */
|
|
907
|
+
maxSize?: number;
|
|
908
|
+
/** Maximum number of files (only when multiple=true) */
|
|
909
|
+
maxFiles?: number;
|
|
910
|
+
/** Selection mode: file only, directory only, or both */
|
|
911
|
+
mode?: "file" | "directory" | "both";
|
|
912
|
+
/** Visual variant */
|
|
913
|
+
variant?: "dropzone" | "button";
|
|
914
|
+
/** Component size */
|
|
915
|
+
size?: "sm" | "md" | "lg";
|
|
916
|
+
/** Disabled state */
|
|
917
|
+
disabled?: boolean;
|
|
918
|
+
/** Read-only state (shows files but can't change) */
|
|
919
|
+
readOnly?: boolean;
|
|
920
|
+
/** Label text */
|
|
921
|
+
label?: string;
|
|
922
|
+
/** Helper text below the component */
|
|
923
|
+
helperText?: string;
|
|
924
|
+
/** Error message */
|
|
925
|
+
error?: string;
|
|
926
|
+
/** Show file list below the selector */
|
|
927
|
+
showFileList?: boolean;
|
|
928
|
+
/** Custom placeholder text for dropzone */
|
|
929
|
+
placeholder?: string;
|
|
930
|
+
/** Custom text for the browse button */
|
|
931
|
+
browseLabel?: string;
|
|
932
|
+
/** Custom text for the browse folder button (used in "directory" and "both" modes) */
|
|
933
|
+
browseFolderLabel?: string;
|
|
934
|
+
/** Custom icon for the dropzone */
|
|
935
|
+
icon?: ReactNode;
|
|
936
|
+
/** Callback when a file is rejected (size, type, etc.) */
|
|
937
|
+
onReject?: (file: File, reason: string) => void;
|
|
938
|
+
/** Additional class names */
|
|
939
|
+
className?: string;
|
|
940
|
+
}
|
|
941
|
+
declare function FileSelector({ value, onChange, accept, multiple, maxSize, maxFiles, mode, variant, size, disabled, readOnly, label, helperText, error, showFileList, placeholder, browseLabel, browseFolderLabel, icon, onReject, className, }: FileSelectorProps): react_jsx_runtime.JSX.Element;
|
|
942
|
+
|
|
943
|
+
type Side$1 = "top" | "right" | "bottom" | "left";
|
|
944
|
+
type Align$1 = "start" | "center" | "end";
|
|
945
|
+
interface DropdownProps {
|
|
946
|
+
open?: boolean;
|
|
947
|
+
defaultOpen?: boolean;
|
|
948
|
+
onOpenChange?: (open: boolean) => void;
|
|
949
|
+
closeOnSelect?: boolean;
|
|
950
|
+
closeOnClickOutside?: boolean;
|
|
951
|
+
closeOnEscape?: boolean;
|
|
952
|
+
modal?: boolean;
|
|
953
|
+
children: ReactNode;
|
|
954
|
+
}
|
|
955
|
+
interface DropdownContextValue {
|
|
956
|
+
isOpen: boolean;
|
|
957
|
+
setIsOpen: (open: boolean) => void;
|
|
958
|
+
triggerRef: RefObject<HTMLButtonElement | null>;
|
|
959
|
+
contentRef: RefObject<HTMLDivElement | null>;
|
|
960
|
+
closeOnSelect: boolean;
|
|
961
|
+
closeOnClickOutside: boolean;
|
|
962
|
+
closeOnEscape: boolean;
|
|
963
|
+
modal: boolean;
|
|
964
|
+
focusedIndex: number;
|
|
965
|
+
setFocusedIndex: Dispatch<SetStateAction<number>>;
|
|
966
|
+
itemsRef: RefObject<(HTMLElement | null)[]>;
|
|
967
|
+
registerItem: (index: number, element: HTMLElement | null) => void;
|
|
968
|
+
getNextItemIndex: () => number;
|
|
969
|
+
triggerId: string;
|
|
970
|
+
contentId: string;
|
|
971
|
+
}
|
|
972
|
+
declare function useDropdownContext(): DropdownContextValue;
|
|
973
|
+
declare function Dropdown({ open, defaultOpen, onOpenChange, closeOnSelect, closeOnClickOutside, closeOnEscape, modal, children, }: DropdownProps): react_jsx_runtime.JSX.Element;
|
|
974
|
+
declare namespace Dropdown {
|
|
975
|
+
var displayName: string;
|
|
976
|
+
}
|
|
977
|
+
|
|
978
|
+
interface DropdownTriggerProps {
|
|
979
|
+
asChild?: boolean;
|
|
980
|
+
disabled?: boolean;
|
|
981
|
+
children: ReactNode;
|
|
982
|
+
className?: string;
|
|
983
|
+
}
|
|
984
|
+
declare function DropdownTrigger({ asChild, disabled, children, className, }: DropdownTriggerProps): react_jsx_runtime.JSX.Element;
|
|
985
|
+
declare namespace DropdownTrigger {
|
|
986
|
+
var displayName: string;
|
|
987
|
+
}
|
|
988
|
+
|
|
989
|
+
interface DropdownContentProps {
|
|
990
|
+
side?: Side$1;
|
|
991
|
+
align?: Align$1;
|
|
992
|
+
sideOffset?: number;
|
|
993
|
+
alignOffset?: number;
|
|
994
|
+
avoidCollisions?: boolean;
|
|
995
|
+
collisionPadding?: number;
|
|
996
|
+
minWidth?: number | string;
|
|
997
|
+
maxWidth?: number | string;
|
|
998
|
+
maxHeight?: number | string;
|
|
999
|
+
animation?: "fade" | "scale" | "slide" | "none";
|
|
1000
|
+
portal?: boolean;
|
|
1001
|
+
children: ReactNode;
|
|
1002
|
+
className?: string;
|
|
1003
|
+
}
|
|
1004
|
+
declare function DropdownContent({ side, align, sideOffset, alignOffset, avoidCollisions, collisionPadding, minWidth, maxWidth, maxHeight, animation, portal, children, className, }: DropdownContentProps): react_jsx_runtime.JSX.Element;
|
|
1005
|
+
declare namespace DropdownContent {
|
|
1006
|
+
var displayName: string;
|
|
1007
|
+
}
|
|
1008
|
+
|
|
1009
|
+
interface DropdownItemProps extends Omit<ComponentPropsWithoutRef<"button">, "children"> {
|
|
1010
|
+
children: ReactNode;
|
|
1011
|
+
icon?: ReactNode;
|
|
1012
|
+
iconPosition?: "left" | "right";
|
|
1013
|
+
description?: string;
|
|
1014
|
+
shortcut?: string;
|
|
1015
|
+
variant?: "default" | "danger" | "success";
|
|
1016
|
+
closeOnSelect?: boolean;
|
|
1017
|
+
onSelect?: () => void;
|
|
1018
|
+
disabled?: boolean;
|
|
1019
|
+
index?: number;
|
|
1020
|
+
}
|
|
1021
|
+
declare function DropdownItem({ children, icon, iconPosition, description, shortcut, variant, closeOnSelect: closeOnSelectProp, onSelect, disabled, className, onClick, index: providedIndex, ...rest }: DropdownItemProps): react_jsx_runtime.JSX.Element;
|
|
1022
|
+
declare namespace DropdownItem {
|
|
1023
|
+
var displayName: string;
|
|
1024
|
+
}
|
|
1025
|
+
|
|
1026
|
+
interface DropdownSeparatorProps {
|
|
1027
|
+
className?: string;
|
|
1028
|
+
}
|
|
1029
|
+
declare function DropdownSeparator({ className }: DropdownSeparatorProps): react_jsx_runtime.JSX.Element;
|
|
1030
|
+
declare namespace DropdownSeparator {
|
|
1031
|
+
var displayName: string;
|
|
1032
|
+
}
|
|
1033
|
+
interface DropdownLabelProps {
|
|
1034
|
+
children: ReactNode;
|
|
1035
|
+
className?: string;
|
|
1036
|
+
}
|
|
1037
|
+
declare function DropdownLabel({ children, className }: DropdownLabelProps): react_jsx_runtime.JSX.Element;
|
|
1038
|
+
declare namespace DropdownLabel {
|
|
1039
|
+
var displayName: string;
|
|
1040
|
+
}
|
|
1041
|
+
|
|
1042
|
+
interface DropdownCheckboxItemProps {
|
|
1043
|
+
checked?: boolean;
|
|
1044
|
+
defaultChecked?: boolean;
|
|
1045
|
+
onCheckedChange?: (checked: boolean) => void;
|
|
1046
|
+
children: ReactNode;
|
|
1047
|
+
icon?: ReactNode;
|
|
1048
|
+
description?: string;
|
|
1049
|
+
disabled?: boolean;
|
|
1050
|
+
closeOnChange?: boolean;
|
|
1051
|
+
className?: string;
|
|
1052
|
+
index?: number;
|
|
1053
|
+
}
|
|
1054
|
+
declare function DropdownCheckboxItem({ checked: controlledChecked, defaultChecked, onCheckedChange, children, icon, description, disabled, closeOnChange, className, index: providedIndex, }: DropdownCheckboxItemProps): react_jsx_runtime.JSX.Element;
|
|
1055
|
+
declare namespace DropdownCheckboxItem {
|
|
1056
|
+
var displayName: string;
|
|
1057
|
+
}
|
|
1058
|
+
|
|
1059
|
+
interface DropdownRadioGroupProps {
|
|
1060
|
+
value?: string;
|
|
1061
|
+
defaultValue?: string;
|
|
1062
|
+
onValueChange?: (value: string) => void;
|
|
1063
|
+
children: ReactNode;
|
|
1064
|
+
className?: string;
|
|
1065
|
+
}
|
|
1066
|
+
declare function DropdownRadioGroup({ value: controlledValue, defaultValue, onValueChange, children, className, }: DropdownRadioGroupProps): react_jsx_runtime.JSX.Element;
|
|
1067
|
+
declare namespace DropdownRadioGroup {
|
|
1068
|
+
var displayName: string;
|
|
1069
|
+
}
|
|
1070
|
+
interface DropdownRadioItemProps {
|
|
1071
|
+
value: string;
|
|
1072
|
+
children: ReactNode;
|
|
1073
|
+
icon?: ReactNode;
|
|
1074
|
+
description?: string;
|
|
1075
|
+
disabled?: boolean;
|
|
1076
|
+
closeOnChange?: boolean;
|
|
1077
|
+
className?: string;
|
|
1078
|
+
index?: number;
|
|
1079
|
+
}
|
|
1080
|
+
declare function DropdownRadioItem({ value, children, icon, description, disabled, closeOnChange, className, index: providedIndex, }: DropdownRadioItemProps): react_jsx_runtime.JSX.Element;
|
|
1081
|
+
declare namespace DropdownRadioItem {
|
|
1082
|
+
var displayName: string;
|
|
1083
|
+
}
|
|
1084
|
+
|
|
1085
|
+
interface DropdownSubMenuProps {
|
|
1086
|
+
children: ReactNode;
|
|
1087
|
+
}
|
|
1088
|
+
declare function DropdownSubMenu({ children }: DropdownSubMenuProps): react_jsx_runtime.JSX.Element;
|
|
1089
|
+
declare namespace DropdownSubMenu {
|
|
1090
|
+
var displayName: string;
|
|
1091
|
+
}
|
|
1092
|
+
interface DropdownSubMenuTriggerProps {
|
|
1093
|
+
children: ReactNode;
|
|
1094
|
+
icon?: ReactNode;
|
|
1095
|
+
disabled?: boolean;
|
|
1096
|
+
className?: string;
|
|
1097
|
+
index?: number;
|
|
1098
|
+
}
|
|
1099
|
+
declare function DropdownSubMenuTrigger({ children, icon, disabled, className, index: providedIndex, }: DropdownSubMenuTriggerProps): react_jsx_runtime.JSX.Element;
|
|
1100
|
+
declare namespace DropdownSubMenuTrigger {
|
|
1101
|
+
var displayName: string;
|
|
1102
|
+
}
|
|
1103
|
+
interface DropdownSubMenuContentProps {
|
|
1104
|
+
children: ReactNode;
|
|
1105
|
+
sideOffset?: number;
|
|
1106
|
+
className?: string;
|
|
1107
|
+
}
|
|
1108
|
+
declare function DropdownSubMenuContent({ children, sideOffset, className, }: DropdownSubMenuContentProps): react_jsx_runtime.JSX.Element;
|
|
1109
|
+
declare namespace DropdownSubMenuContent {
|
|
1110
|
+
var displayName: string;
|
|
1111
|
+
}
|
|
1112
|
+
|
|
1113
|
+
declare function useClickOutside(ref: RefObject<HTMLElement | null>, handler: () => void, enabled?: boolean): void;
|
|
1114
|
+
|
|
1115
|
+
interface UseKeyboardNavigationOptions {
|
|
1116
|
+
isOpen: boolean;
|
|
1117
|
+
onClose: () => void;
|
|
1118
|
+
itemsCount: number;
|
|
1119
|
+
focusedIndex: number;
|
|
1120
|
+
setFocusedIndex: Dispatch<SetStateAction<number>>;
|
|
1121
|
+
onSelect?: (index: number) => void;
|
|
1122
|
+
loop?: boolean;
|
|
1123
|
+
}
|
|
1124
|
+
declare function useKeyboardNavigation({ isOpen, onClose, itemsCount, focusedIndex, setFocusedIndex, onSelect, loop, }: UseKeyboardNavigationOptions): {
|
|
1125
|
+
focusedIndex: number;
|
|
1126
|
+
};
|
|
1127
|
+
declare function useFocusItem(itemsRef: RefObject<(HTMLElement | null)[]>, focusedIndex: number, isOpen: boolean): void;
|
|
1128
|
+
|
|
1129
|
+
type Side = "top" | "right" | "bottom" | "left";
|
|
1130
|
+
type Align = "start" | "center" | "end";
|
|
1131
|
+
interface UsePositioningOptions {
|
|
1132
|
+
triggerRef: RefObject<HTMLElement | null>;
|
|
1133
|
+
contentRef: RefObject<HTMLElement | null>;
|
|
1134
|
+
isOpen: boolean;
|
|
1135
|
+
side?: Side;
|
|
1136
|
+
align?: Align;
|
|
1137
|
+
sideOffset?: number;
|
|
1138
|
+
alignOffset?: number;
|
|
1139
|
+
avoidCollisions?: boolean;
|
|
1140
|
+
collisionPadding?: number;
|
|
1141
|
+
}
|
|
1142
|
+
interface Position {
|
|
1143
|
+
top: number;
|
|
1144
|
+
left: number;
|
|
1145
|
+
actualSide: Side;
|
|
1146
|
+
actualAlign: Align;
|
|
1147
|
+
isReady: boolean;
|
|
1148
|
+
}
|
|
1149
|
+
declare function usePositioning({ triggerRef, contentRef, isOpen, side, align, sideOffset, alignOffset, avoidCollisions, collisionPadding, }: UsePositioningOptions): Position;
|
|
1150
|
+
|
|
1151
|
+
interface InputStyleProps {
|
|
1152
|
+
size?: "sm" | "md" | "lg";
|
|
1153
|
+
error?: boolean;
|
|
1154
|
+
borderColor?: string;
|
|
1155
|
+
textColor?: string;
|
|
1156
|
+
disabled?: boolean;
|
|
1157
|
+
readOnly?: boolean;
|
|
1158
|
+
icon?: React.ReactNode;
|
|
1159
|
+
iconPosition?: "left" | "right";
|
|
1160
|
+
}
|
|
1161
|
+
|
|
1162
|
+
interface InputProps extends Omit<ComponentPropsWithoutRef<"input"> & ComponentPropsWithoutRef<"textarea">, "size">, InputStyleProps {
|
|
1163
|
+
label?: string;
|
|
1164
|
+
inline?: boolean;
|
|
1165
|
+
labelColor?: string;
|
|
1166
|
+
borderColor?: string;
|
|
1167
|
+
textColor?: string;
|
|
1168
|
+
helperText?: string;
|
|
1169
|
+
error?: boolean;
|
|
1170
|
+
hideLabel?: boolean;
|
|
1171
|
+
multiline?: boolean;
|
|
1172
|
+
rows?: number;
|
|
1173
|
+
focused?: boolean;
|
|
1174
|
+
}
|
|
1175
|
+
declare const Input: react.ForwardRefExoticComponent<InputProps & react.RefAttributes<HTMLInputElement | HTMLTextAreaElement>>;
|
|
1176
|
+
|
|
1177
|
+
interface MentionSuggestion {
|
|
1178
|
+
id: string;
|
|
1179
|
+
label: string;
|
|
1180
|
+
avatar?: string;
|
|
1181
|
+
data?: Record<string, unknown>;
|
|
1182
|
+
}
|
|
1183
|
+
interface MentionData {
|
|
1184
|
+
trigger: string;
|
|
1185
|
+
suggestion: MentionSuggestion;
|
|
1186
|
+
startIndex: number;
|
|
1187
|
+
endIndex: number;
|
|
1188
|
+
}
|
|
1189
|
+
interface MentionInputValue {
|
|
1190
|
+
text: string;
|
|
1191
|
+
mentions: MentionData[];
|
|
1192
|
+
}
|
|
1193
|
+
|
|
1194
|
+
interface MentionInputProps extends InputStyleProps {
|
|
1195
|
+
label?: string;
|
|
1196
|
+
inline?: boolean;
|
|
1197
|
+
labelColor?: string;
|
|
1198
|
+
borderColor?: string;
|
|
1199
|
+
textColor?: string;
|
|
1200
|
+
helperText?: string;
|
|
1201
|
+
error?: boolean;
|
|
1202
|
+
hideLabel?: boolean;
|
|
1203
|
+
mentionTrigger?: string;
|
|
1204
|
+
suggestions?: MentionSuggestion[];
|
|
1205
|
+
onMentionSearch?: (query: string) => void;
|
|
1206
|
+
onMentionSelect?: (mention: MentionSuggestion) => void;
|
|
1207
|
+
onMentionRemove?: (mention: MentionSuggestion) => void;
|
|
1208
|
+
renderSuggestion?: (suggestion: MentionSuggestion) => React.ReactNode;
|
|
1209
|
+
value?: MentionInputValue;
|
|
1210
|
+
onChange?: (value: MentionInputValue) => void;
|
|
1211
|
+
placeholder?: string;
|
|
1212
|
+
loading?: boolean;
|
|
1213
|
+
maxSuggestions?: number;
|
|
1214
|
+
chipVariant?: ChipVariant;
|
|
1215
|
+
chipColor?: ChipColor;
|
|
1216
|
+
chipSize?: ChipSize;
|
|
1217
|
+
}
|
|
1218
|
+
declare const MentionInput: react.ForwardRefExoticComponent<MentionInputProps & react.RefAttributes<HTMLDivElement>>;
|
|
1219
|
+
|
|
1220
|
+
interface NumberInputProps extends Omit<React.ComponentPropsWithoutRef<"input">, "size" | "type" | "onChange" | "value">, InputStyleProps {
|
|
1221
|
+
label?: string;
|
|
1222
|
+
inline?: boolean;
|
|
1223
|
+
labelColor?: string;
|
|
1224
|
+
borderColor?: string;
|
|
1225
|
+
textColor?: string;
|
|
1226
|
+
helperText?: string;
|
|
1227
|
+
error?: boolean;
|
|
1228
|
+
hideLabel?: boolean;
|
|
1229
|
+
value?: number | null;
|
|
1230
|
+
onChange?: (value: number | null) => void;
|
|
1231
|
+
format?: "number" | "currency" | "percentage" | "decimal";
|
|
1232
|
+
currency?: string;
|
|
1233
|
+
locale?: string;
|
|
1234
|
+
decimals?: number;
|
|
1235
|
+
min?: number;
|
|
1236
|
+
max?: number;
|
|
1237
|
+
step?: number;
|
|
1238
|
+
prefix?: string;
|
|
1239
|
+
suffix?: string;
|
|
1240
|
+
thousandSeparator?: boolean;
|
|
1241
|
+
allowNegative?: boolean;
|
|
1242
|
+
}
|
|
1243
|
+
declare const NumberInput: react.ForwardRefExoticComponent<NumberInputProps & react.RefAttributes<HTMLInputElement>>;
|
|
1244
|
+
|
|
1245
|
+
interface NavItem {
|
|
1246
|
+
label: string;
|
|
1247
|
+
href?: string;
|
|
1248
|
+
icon?: ReactNode;
|
|
1249
|
+
badge?: string | number;
|
|
1250
|
+
children?: NavItem[];
|
|
1251
|
+
onClick?: () => void;
|
|
1252
|
+
external?: boolean;
|
|
1253
|
+
active?: boolean;
|
|
1254
|
+
}
|
|
1255
|
+
interface HeaderProps {
|
|
1256
|
+
logo?: ReactNode;
|
|
1257
|
+
logoHref?: string;
|
|
1258
|
+
onLogoClick?: () => void;
|
|
1259
|
+
navItems?: NavItem[];
|
|
1260
|
+
actions?: ReactNode;
|
|
1261
|
+
rightContent?: ReactNode;
|
|
1262
|
+
variant?: "default" | "transparent" | "bordered" | "shadow";
|
|
1263
|
+
size?: "sm" | "md" | "lg";
|
|
1264
|
+
backgroundColor?: string;
|
|
1265
|
+
textColor?: string;
|
|
1266
|
+
hoverColor?: string;
|
|
1267
|
+
navItemTextColor?: string;
|
|
1268
|
+
navItemHoverColor?: string;
|
|
1269
|
+
navItemBgHover?: string;
|
|
1270
|
+
navItemActiveColor?: string;
|
|
1271
|
+
sticky?: boolean;
|
|
1272
|
+
fixed?: boolean;
|
|
1273
|
+
showSearch?: boolean;
|
|
1274
|
+
onSearch?: (query: string) => void;
|
|
1275
|
+
searchPlaceholder?: string;
|
|
1276
|
+
className?: string;
|
|
1277
|
+
containerClassName?: string;
|
|
1278
|
+
}
|
|
1279
|
+
declare function Header({ logo, logoHref, onLogoClick, navItems, actions, rightContent, variant, size, backgroundColor, textColor, hoverColor, navItemTextColor, navItemHoverColor, navItemBgHover, navItemActiveColor, sticky, fixed, showSearch, onSearch, searchPlaceholder, className, containerClassName, }: HeaderProps): react_jsx_runtime.JSX.Element;
|
|
1280
|
+
|
|
1281
|
+
interface HelpButtonProps {
|
|
1282
|
+
content: string | ReactNode;
|
|
1283
|
+
markdown?: boolean;
|
|
1284
|
+
position?: "top" | "bottom" | "left" | "right";
|
|
1285
|
+
size?: "xs" | "sm" | "md" | "lg";
|
|
1286
|
+
className?: string;
|
|
1287
|
+
visible?: boolean;
|
|
1288
|
+
editable?: boolean;
|
|
1289
|
+
onSave?: (content: string) => Promise<boolean> | boolean;
|
|
1290
|
+
onReset?: () => Promise<boolean> | boolean;
|
|
1291
|
+
width?: "sm" | "md" | "lg" | "xl";
|
|
1292
|
+
title?: string;
|
|
1293
|
+
}
|
|
1294
|
+
interface WithHelpButtonProps extends HelpButtonProps {
|
|
1295
|
+
children: ReactNode;
|
|
1296
|
+
}
|
|
1297
|
+
declare function HelpButton({ content, markdown, position, size, className, visible, editable, onSave, onReset, width, title }: HelpButtonProps): react_jsx_runtime.JSX.Element | null;
|
|
1298
|
+
declare function WithHelpButton({ children, content, markdown, position, size, visible, editable, onSave, onReset, width, title, className }: WithHelpButtonProps): react_jsx_runtime.JSX.Element;
|
|
1299
|
+
|
|
1300
|
+
interface ImageUploaderProps {
|
|
1301
|
+
value?: string;
|
|
1302
|
+
onChange: (url: string) => void;
|
|
1303
|
+
onUpload?: (file: File) => Promise<string>;
|
|
1304
|
+
label?: string;
|
|
1305
|
+
maxSize?: number;
|
|
1306
|
+
accept?: string;
|
|
1307
|
+
helpText?: string;
|
|
1308
|
+
disabled?: boolean;
|
|
1309
|
+
className?: string;
|
|
1310
|
+
showUrlInput?: boolean;
|
|
1311
|
+
urlPlaceholder?: string;
|
|
1312
|
+
aspectRatio?: "16/9" | "4/3" | "1/1" | "auto";
|
|
1313
|
+
}
|
|
1314
|
+
declare function ImageUploader({ value, onChange, onUpload, label, maxSize, accept, helpText, disabled, className, showUrlInput, urlPlaceholder, aspectRatio }: ImageUploaderProps): react_jsx_runtime.JSX.Element;
|
|
1315
|
+
|
|
1316
|
+
type IndicatorColor = "default" | "primary" | "success" | "warning" | "error" | "info" | "dark" | "purple" | "indigo" | "teal";
|
|
1317
|
+
type IndicatorSize = "xs" | "sm" | "md" | "lg" | "xl";
|
|
1318
|
+
type IndicatorPlacement = "top-left" | "top-center" | "top-right" | "center-left" | "center" | "center-right" | "bottom-left" | "bottom-center" | "bottom-right";
|
|
1319
|
+
type IndicatorVariant = "dot" | "count" | "status" | "legend";
|
|
1320
|
+
interface IndicatorProps extends Omit<ComponentPropsWithoutRef<"div">, "color"> {
|
|
1321
|
+
children?: ReactNode;
|
|
1322
|
+
variant?: IndicatorVariant;
|
|
1323
|
+
color?: IndicatorColor;
|
|
1324
|
+
size?: IndicatorSize;
|
|
1325
|
+
placement?: IndicatorPlacement;
|
|
1326
|
+
count?: number;
|
|
1327
|
+
maxCount?: number;
|
|
1328
|
+
label?: string;
|
|
1329
|
+
bordered?: boolean;
|
|
1330
|
+
borderColor?: string;
|
|
1331
|
+
pulse?: boolean;
|
|
1332
|
+
offset?: boolean;
|
|
1333
|
+
}
|
|
1334
|
+
declare function Indicator({ variant, children, ...props }: IndicatorProps): react_jsx_runtime.JSX.Element;
|
|
1335
|
+
declare namespace Indicator {
|
|
1336
|
+
var displayName: string;
|
|
1337
|
+
}
|
|
1338
|
+
|
|
1339
|
+
type LabelSize = "xs" | "sm" | "md" | "lg" | "xl";
|
|
1340
|
+
type LabelColor = "default" | "primary" | "secondary" | "success" | "warning" | "error" | "info" | "muted";
|
|
1341
|
+
type LabelVariant = "default" | "light" | "strong";
|
|
1342
|
+
type LabelWeight = "normal" | "medium" | "semibold" | "bold";
|
|
1343
|
+
interface LabelProps extends HTMLAttributes<HTMLElement> {
|
|
1344
|
+
children?: ReactNode;
|
|
1345
|
+
size?: LabelSize;
|
|
1346
|
+
color?: LabelColor;
|
|
1347
|
+
variant?: LabelVariant;
|
|
1348
|
+
weight?: LabelWeight;
|
|
1349
|
+
textColor?: string;
|
|
1350
|
+
htmlFor?: string;
|
|
1351
|
+
required?: boolean;
|
|
1352
|
+
requiredIndicator?: ReactNode;
|
|
1353
|
+
optional?: boolean;
|
|
1354
|
+
optionalText?: string;
|
|
1355
|
+
tooltip?: string;
|
|
1356
|
+
icon?: ReactNode;
|
|
1357
|
+
endIcon?: ReactNode;
|
|
1358
|
+
disabled?: boolean;
|
|
1359
|
+
truncate?: boolean;
|
|
1360
|
+
as?: "label" | "span" | "p";
|
|
1361
|
+
}
|
|
1362
|
+
declare function Label({ children, size, color, variant, weight, textColor, required, requiredIndicator, optional, optionalText, tooltip, icon, endIcon, disabled, truncate, as, className, ...props }: LabelProps): react_jsx_runtime.JSX.Element;
|
|
1363
|
+
declare namespace Label {
|
|
1364
|
+
var displayName: string;
|
|
1365
|
+
}
|
|
1366
|
+
|
|
1367
|
+
interface ModalProps {
|
|
1368
|
+
isOpen: boolean;
|
|
1369
|
+
onClose: () => void;
|
|
1370
|
+
title?: string;
|
|
1371
|
+
children?: ReactNode;
|
|
1372
|
+
buttonLabel?: string;
|
|
1373
|
+
onButtonClick?: () => void | Promise<void>;
|
|
1374
|
+
className?: string;
|
|
1375
|
+
allowFullScreen?: boolean;
|
|
1376
|
+
showSubmit?: boolean;
|
|
1377
|
+
submitLabel?: string;
|
|
1378
|
+
onSubmitClick?: () => void | Promise<void>;
|
|
1379
|
+
showCancel?: boolean;
|
|
1380
|
+
cancelLabel?: string;
|
|
1381
|
+
onCancelClick?: () => void | Promise<void>;
|
|
1382
|
+
buttonsPosition?: "left" | "center" | "right";
|
|
1383
|
+
showHeaderDivider?: boolean;
|
|
1384
|
+
showFooterDivider?: boolean;
|
|
1385
|
+
description?: string;
|
|
1386
|
+
icon?: ReactNode;
|
|
1387
|
+
size?: "sm" | "md" | "lg" | "xl" | "full";
|
|
1388
|
+
reverseButtons?: boolean;
|
|
1389
|
+
headerClassName?: string;
|
|
1390
|
+
contentClassName?: string;
|
|
1391
|
+
footerClassName?: string;
|
|
1392
|
+
titleClassName?: string;
|
|
1393
|
+
descriptionClassName?: string;
|
|
1394
|
+
submitClassName?: string;
|
|
1395
|
+
cancelClassName?: string;
|
|
1396
|
+
/**
|
|
1397
|
+
* Accessible name of the close button (also used as its `sr-only` text).
|
|
1398
|
+
* Defaults to the `closeModal` label of the nearest `UILabelsProvider`.
|
|
1399
|
+
*/
|
|
1400
|
+
closeLabel?: string;
|
|
1401
|
+
/** Accessible name of the "expand" button. Defaults to the `enterFullScreen` label. */
|
|
1402
|
+
enterFullScreenLabel?: string;
|
|
1403
|
+
/** Accessible name of the "collapse" button. Defaults to the `exitFullScreen` label. */
|
|
1404
|
+
exitFullScreenLabel?: string;
|
|
1405
|
+
/**
|
|
1406
|
+
* Accessible name of the dialog when no visible `title` is rendered
|
|
1407
|
+
* (`title=""`). Ignored otherwise: the title labels the dialog.
|
|
1408
|
+
*/
|
|
1409
|
+
"aria-label"?: string;
|
|
1410
|
+
/** Close the modal when Escape is pressed. Default `true`. */
|
|
1411
|
+
closeOnEscape?: boolean;
|
|
1412
|
+
/** Keep Tab / Shift+Tab inside the modal. Default `true`. */
|
|
1413
|
+
trapFocus?: boolean;
|
|
1414
|
+
/** Element focused when the modal opens. Default `"dialog"`. */
|
|
1415
|
+
initialFocus?: DialogInitialFocus;
|
|
1416
|
+
/** Element focused when the modal closes. Default `true` (the trigger). */
|
|
1417
|
+
returnFocus?: DialogReturnFocus;
|
|
1418
|
+
/** Prevent the page behind the modal from scrolling. Default `true`. */
|
|
1419
|
+
lockScroll?: boolean;
|
|
1420
|
+
}
|
|
1421
|
+
declare const Modal: react.ForwardRefExoticComponent<ModalProps & react.RefAttributes<HTMLDivElement>>;
|
|
1422
|
+
|
|
1423
|
+
interface PaginationProps extends Omit<ComponentPropsWithoutRef<"nav">, "onChange"> {
|
|
1424
|
+
page: number;
|
|
1425
|
+
totalPages: number;
|
|
1426
|
+
onPageChange: (page: number) => void;
|
|
1427
|
+
size?: "sm" | "md" | "lg";
|
|
1428
|
+
variant?: "default" | "outlined" | "minimal";
|
|
1429
|
+
showFirstLast?: boolean;
|
|
1430
|
+
siblings?: number;
|
|
1431
|
+
boundaries?: number;
|
|
1432
|
+
disabled?: boolean;
|
|
1433
|
+
labels?: {
|
|
1434
|
+
first?: string;
|
|
1435
|
+
previous?: string;
|
|
1436
|
+
next?: string;
|
|
1437
|
+
last?: string;
|
|
1438
|
+
};
|
|
1439
|
+
totalItems?: number;
|
|
1440
|
+
pageSize?: number;
|
|
1441
|
+
pageSizeOptions?: number[];
|
|
1442
|
+
onPageSizeChange?: (size: number) => void;
|
|
1443
|
+
}
|
|
1444
|
+
declare function Pagination({ page, totalPages, onPageChange, size, variant, showFirstLast, siblings, boundaries, disabled, labels, totalItems, pageSize, pageSizeOptions, onPageSizeChange, className, ...props }: PaginationProps): react_jsx_runtime.JSX.Element;
|
|
1445
|
+
|
|
1446
|
+
type ProgressBarSize = "xs" | "sm" | "md" | "lg" | "xl";
|
|
1447
|
+
type ProgressBarColor = "default" | "primary" | "success" | "warning" | "error" | "info";
|
|
1448
|
+
type ProgressBarVariant = "default" | "striped" | "gradient";
|
|
1449
|
+
interface ProgressBarProps extends Omit<ComponentPropsWithoutRef<"div">, "children"> {
|
|
1450
|
+
value?: number;
|
|
1451
|
+
indeterminate?: boolean;
|
|
1452
|
+
size?: ProgressBarSize;
|
|
1453
|
+
color?: ProgressBarColor;
|
|
1454
|
+
variant?: ProgressBarVariant;
|
|
1455
|
+
showValue?: boolean;
|
|
1456
|
+
valueFormat?: (value: number) => string;
|
|
1457
|
+
label?: string;
|
|
1458
|
+
animated?: boolean;
|
|
1459
|
+
}
|
|
1460
|
+
declare function ProgressBar({ value, indeterminate, size, color, variant, showValue, valueFormat, label, animated, className, ...props }: ProgressBarProps): react_jsx_runtime.JSX.Element;
|
|
1461
|
+
declare namespace ProgressBar {
|
|
1462
|
+
var displayName: string;
|
|
1463
|
+
}
|
|
1464
|
+
|
|
1465
|
+
interface RadioButtonProps extends Omit<ComponentPropsWithoutRef<"input">, "type" | "size" | "onChange"> {
|
|
1466
|
+
label?: string;
|
|
1467
|
+
description?: string;
|
|
1468
|
+
value: string;
|
|
1469
|
+
checked?: boolean;
|
|
1470
|
+
defaultChecked?: boolean;
|
|
1471
|
+
onCheckedChange?: (checked: boolean) => void;
|
|
1472
|
+
size?: "sm" | "md" | "lg";
|
|
1473
|
+
variant?: "default" | "filled" | "outlined";
|
|
1474
|
+
labelPosition?: "left" | "right";
|
|
1475
|
+
error?: boolean | string;
|
|
1476
|
+
disabled?: boolean;
|
|
1477
|
+
readOnly?: boolean;
|
|
1478
|
+
required?: boolean;
|
|
1479
|
+
checkedColor?: string;
|
|
1480
|
+
uncheckedColor?: string;
|
|
1481
|
+
borderColor?: string;
|
|
1482
|
+
labelColor?: string;
|
|
1483
|
+
errorColor?: string;
|
|
1484
|
+
dotColor?: string;
|
|
1485
|
+
hoverColor?: string;
|
|
1486
|
+
focusRingColor?: string;
|
|
1487
|
+
showFocusRing?: boolean;
|
|
1488
|
+
containerClassName?: string;
|
|
1489
|
+
}
|
|
1490
|
+
declare const RadioButton: react.ForwardRefExoticComponent<RadioButtonProps & react.RefAttributes<HTMLInputElement>>;
|
|
1491
|
+
|
|
1492
|
+
interface SelectOption {
|
|
1493
|
+
value: string;
|
|
1494
|
+
label: string;
|
|
1495
|
+
icon?: ReactNode;
|
|
1496
|
+
description?: string;
|
|
1497
|
+
disabled?: boolean;
|
|
1498
|
+
keywords?: string[];
|
|
1499
|
+
}
|
|
1500
|
+
interface SelectProps {
|
|
1501
|
+
options: SelectOption[];
|
|
1502
|
+
value?: string;
|
|
1503
|
+
defaultValue?: string;
|
|
1504
|
+
onValueChange?: (value: string) => void;
|
|
1505
|
+
searchable?: boolean;
|
|
1506
|
+
clearable?: boolean;
|
|
1507
|
+
disabled?: boolean;
|
|
1508
|
+
readOnly?: boolean;
|
|
1509
|
+
loading?: boolean;
|
|
1510
|
+
size?: "sm" | "md" | "lg";
|
|
1511
|
+
variant?: "default" | "outlined" | "filled";
|
|
1512
|
+
placeholder?: string;
|
|
1513
|
+
label?: string;
|
|
1514
|
+
description?: string;
|
|
1515
|
+
helperText?: string;
|
|
1516
|
+
error?: string;
|
|
1517
|
+
required?: boolean;
|
|
1518
|
+
noOptionsText?: string;
|
|
1519
|
+
onSearchChange?: (query: string) => void;
|
|
1520
|
+
name?: string;
|
|
1521
|
+
className?: string;
|
|
1522
|
+
triggerClassName?: string;
|
|
1523
|
+
contentClassName?: string;
|
|
1524
|
+
maxHeight?: number;
|
|
1525
|
+
}
|
|
1526
|
+
declare function Select({ options, value, defaultValue, onValueChange, searchable, clearable, disabled, readOnly, loading, size, variant, placeholder, label, description, helperText, error, required, noOptionsText, onSearchChange, name, className, triggerClassName, contentClassName, maxHeight, }: SelectProps): react_jsx_runtime.JSX.Element;
|
|
1527
|
+
|
|
1528
|
+
type SidebarVariant = "default" | "bordered" | "floating";
|
|
1529
|
+
type SidebarPosition = "left" | "right";
|
|
1530
|
+
interface SidebarProps {
|
|
1531
|
+
/** Controlled collapsed state */
|
|
1532
|
+
collapsed?: boolean;
|
|
1533
|
+
/** Default collapsed state (uncontrolled) */
|
|
1534
|
+
defaultCollapsed?: boolean;
|
|
1535
|
+
/** Collapse change callback */
|
|
1536
|
+
onCollapsedChange?: (collapsed: boolean) => void;
|
|
1537
|
+
/** Width when expanded (px) */
|
|
1538
|
+
expandedWidth?: number;
|
|
1539
|
+
/** Width when collapsed (px) */
|
|
1540
|
+
collapsedWidth?: number;
|
|
1541
|
+
/** Sidebar position */
|
|
1542
|
+
position?: SidebarPosition;
|
|
1543
|
+
/** Visual variant */
|
|
1544
|
+
variant?: SidebarVariant;
|
|
1545
|
+
/** Breakpoint for mobile drawer mode (px) */
|
|
1546
|
+
mobileBreakpoint?: number;
|
|
1547
|
+
/** Controlled mobile open state */
|
|
1548
|
+
mobileOpen?: boolean;
|
|
1549
|
+
/** Mobile open change callback */
|
|
1550
|
+
onMobileOpenChange?: (open: boolean) => void;
|
|
1551
|
+
/** Additional class names */
|
|
1552
|
+
className?: string;
|
|
1553
|
+
/**
|
|
1554
|
+
* Accessible name of the mobile drawer. Defaults to the `sidebar` label of the
|
|
1555
|
+
* nearest `UILabelsProvider`.
|
|
1556
|
+
*/
|
|
1557
|
+
"aria-label"?: string;
|
|
1558
|
+
/**
|
|
1559
|
+
* Accessible name of the mobile close button. Defaults to the `closeSidebar`
|
|
1560
|
+
* label of the nearest `UILabelsProvider`.
|
|
1561
|
+
*/
|
|
1562
|
+
closeLabel?: string;
|
|
1563
|
+
/** Keep Tab / Shift+Tab inside the mobile drawer. Default `true`. */
|
|
1564
|
+
trapFocus?: boolean;
|
|
1565
|
+
/** Element focused when the mobile drawer opens. Default `"dialog"`. */
|
|
1566
|
+
initialFocus?: DialogInitialFocus;
|
|
1567
|
+
/** Element focused when the mobile drawer closes. Default `true` (the trigger). */
|
|
1568
|
+
returnFocus?: DialogReturnFocus;
|
|
1569
|
+
/** Prevent the page behind the mobile drawer from scrolling. Default `true`. */
|
|
1570
|
+
lockScroll?: boolean;
|
|
1571
|
+
children: ReactNode;
|
|
1572
|
+
}
|
|
1573
|
+
interface SidebarHeaderProps {
|
|
1574
|
+
/** Additional class names */
|
|
1575
|
+
className?: string;
|
|
1576
|
+
children: ReactNode;
|
|
1577
|
+
}
|
|
1578
|
+
interface SidebarContentProps {
|
|
1579
|
+
/** Additional class names */
|
|
1580
|
+
className?: string;
|
|
1581
|
+
children: ReactNode;
|
|
1582
|
+
}
|
|
1583
|
+
interface SidebarFooterProps {
|
|
1584
|
+
/** Additional class names */
|
|
1585
|
+
className?: string;
|
|
1586
|
+
children: ReactNode;
|
|
1587
|
+
}
|
|
1588
|
+
interface SidebarGroupProps {
|
|
1589
|
+
/** Group label (hidden when collapsed) */
|
|
1590
|
+
label?: string;
|
|
1591
|
+
/** Additional class names */
|
|
1592
|
+
className?: string;
|
|
1593
|
+
children: ReactNode;
|
|
1594
|
+
}
|
|
1595
|
+
interface SidebarItemProps {
|
|
1596
|
+
/** Icon element (always visible) */
|
|
1597
|
+
icon?: ReactNode;
|
|
1598
|
+
/** Item label */
|
|
1599
|
+
label: string;
|
|
1600
|
+
/** Badge content (number, string, or ReactNode) */
|
|
1601
|
+
badge?: ReactNode;
|
|
1602
|
+
/** Badge color */
|
|
1603
|
+
badgeColor?: string;
|
|
1604
|
+
/** Active/selected state */
|
|
1605
|
+
active?: boolean;
|
|
1606
|
+
/** Disabled state */
|
|
1607
|
+
disabled?: boolean;
|
|
1608
|
+
/** Link href (renders as <a>) */
|
|
1609
|
+
href?: string;
|
|
1610
|
+
/** Click handler */
|
|
1611
|
+
onClick?: () => void;
|
|
1612
|
+
/** Tooltip text (shown in collapsed mode, defaults to label) */
|
|
1613
|
+
tooltip?: string;
|
|
1614
|
+
/** Additional class names */
|
|
1615
|
+
className?: string;
|
|
1616
|
+
}
|
|
1617
|
+
interface SidebarSubMenuProps {
|
|
1618
|
+
/** Icon for the submenu trigger */
|
|
1619
|
+
icon?: ReactNode;
|
|
1620
|
+
/** Submenu label */
|
|
1621
|
+
label: string;
|
|
1622
|
+
/** Badge on the submenu trigger */
|
|
1623
|
+
badge?: ReactNode;
|
|
1624
|
+
/** Default open state */
|
|
1625
|
+
defaultOpen?: boolean;
|
|
1626
|
+
/** Additional class names */
|
|
1627
|
+
className?: string;
|
|
1628
|
+
children: ReactNode;
|
|
1629
|
+
}
|
|
1630
|
+
interface SidebarToggleProps {
|
|
1631
|
+
/** Additional class names */
|
|
1632
|
+
className?: string;
|
|
1633
|
+
}
|
|
1634
|
+
interface SidebarContextValue {
|
|
1635
|
+
collapsed: boolean;
|
|
1636
|
+
isMobile: boolean;
|
|
1637
|
+
mobileOpen: boolean;
|
|
1638
|
+
position: SidebarPosition;
|
|
1639
|
+
variant: SidebarVariant;
|
|
1640
|
+
expandedWidth: number;
|
|
1641
|
+
collapsedWidth: number;
|
|
1642
|
+
toggle: () => void;
|
|
1643
|
+
closeMobile: () => void;
|
|
1644
|
+
closeLabel?: string;
|
|
1645
|
+
}
|
|
1646
|
+
/** Hook to access sidebar state from outside the component tree */
|
|
1647
|
+
declare function useSidebar(): SidebarContextValue;
|
|
1648
|
+
declare function Sidebar({ collapsed: collapsedProp, defaultCollapsed, onCollapsedChange, expandedWidth, collapsedWidth, position, variant, mobileBreakpoint, mobileOpen: mobileOpenProp, onMobileOpenChange, className, "aria-label": ariaLabel, closeLabel, trapFocus, initialFocus, returnFocus, lockScroll, children, }: SidebarProps): react_jsx_runtime.JSX.Element;
|
|
1649
|
+
declare function SidebarHeader({ className, children }: SidebarHeaderProps): react_jsx_runtime.JSX.Element;
|
|
1650
|
+
declare function SidebarContent({ className, children }: SidebarContentProps): react_jsx_runtime.JSX.Element;
|
|
1651
|
+
declare function SidebarFooter({ className, children }: SidebarFooterProps): react_jsx_runtime.JSX.Element;
|
|
1652
|
+
declare function SidebarGroup({ label, className, children, }: SidebarGroupProps): react_jsx_runtime.JSX.Element;
|
|
1653
|
+
declare function SidebarItem({ icon, label, badge, badgeColor, active, disabled, href, onClick, tooltip, className, }: SidebarItemProps): react_jsx_runtime.JSX.Element;
|
|
1654
|
+
declare function SidebarSubMenu({ icon, label, badge, defaultOpen, className, children, }: SidebarSubMenuProps): react_jsx_runtime.JSX.Element;
|
|
1655
|
+
declare function SidebarToggle({ className }: SidebarToggleProps): react_jsx_runtime.JSX.Element;
|
|
1656
|
+
|
|
1657
|
+
type SkeletonVariant = "text" | "circular" | "rectangular" | "rounded";
|
|
1658
|
+
type SkeletonAnimation = "pulse" | "wave" | "none";
|
|
1659
|
+
interface SkeletonProps extends ComponentPropsWithoutRef<"div"> {
|
|
1660
|
+
variant?: SkeletonVariant;
|
|
1661
|
+
animation?: SkeletonAnimation;
|
|
1662
|
+
width?: string | number;
|
|
1663
|
+
height?: string | number;
|
|
1664
|
+
count?: number;
|
|
1665
|
+
}
|
|
1666
|
+
declare function Skeleton({ variant, animation, width, height, count, className, style, ...props }: SkeletonProps): react_jsx_runtime.JSX.Element;
|
|
1667
|
+
declare namespace Skeleton {
|
|
1668
|
+
var displayName: string;
|
|
1669
|
+
}
|
|
1670
|
+
|
|
1671
|
+
type SliderSize = "sm" | "md" | "lg";
|
|
1672
|
+
type SliderColor = "primary" | "success" | "warning" | "error" | "info" | "neutral";
|
|
1673
|
+
interface SliderMark {
|
|
1674
|
+
value: number;
|
|
1675
|
+
label?: ReactNode;
|
|
1676
|
+
}
|
|
1677
|
+
interface SliderProps extends Omit<ComponentPropsWithoutRef<"input">, "type" | "size" | "value" | "defaultValue" | "onChange"> {
|
|
1678
|
+
/** Controlled value. */
|
|
1679
|
+
value?: number;
|
|
1680
|
+
/** Uncontrolled initial value. */
|
|
1681
|
+
defaultValue?: number;
|
|
1682
|
+
/** Called with the new numeric value whenever it changes. */
|
|
1683
|
+
onValueChange?: (value: number) => void;
|
|
1684
|
+
min?: number;
|
|
1685
|
+
max?: number;
|
|
1686
|
+
step?: number;
|
|
1687
|
+
size?: SliderSize;
|
|
1688
|
+
color?: SliderColor;
|
|
1689
|
+
disabled?: boolean;
|
|
1690
|
+
readOnly?: boolean;
|
|
1691
|
+
/** Field label rendered above the track. */
|
|
1692
|
+
label?: string;
|
|
1693
|
+
/** Helper text rendered below the track. */
|
|
1694
|
+
description?: string;
|
|
1695
|
+
/** Error state — `true` for styling only, or a string to display a message. */
|
|
1696
|
+
error?: boolean | string;
|
|
1697
|
+
/** Display the current value next to the label. */
|
|
1698
|
+
showValue?: boolean;
|
|
1699
|
+
/** Display a value bubble above the thumb on hover/focus. */
|
|
1700
|
+
showTooltip?: boolean;
|
|
1701
|
+
/** Format the displayed value (for `showValue` and `showTooltip`). */
|
|
1702
|
+
valueFormat?: (value: number) => string;
|
|
1703
|
+
/** Tick marks — an array of marks, or `true` to auto-generate from the step. */
|
|
1704
|
+
marks?: boolean | SliderMark[];
|
|
1705
|
+
/** Override the track (rail) background color. */
|
|
1706
|
+
trackColor?: string;
|
|
1707
|
+
/** Override the filled portion color. */
|
|
1708
|
+
fillColor?: string;
|
|
1709
|
+
/** Override the thumb color. */
|
|
1710
|
+
thumbColor?: string;
|
|
1711
|
+
/** className applied to the outer container. */
|
|
1712
|
+
containerClassName?: string;
|
|
1713
|
+
}
|
|
1714
|
+
declare const Slider: react.ForwardRefExoticComponent<SliderProps & react.RefAttributes<HTMLInputElement>>;
|
|
1715
|
+
|
|
1716
|
+
interface TableProps extends TableHTMLAttributes<HTMLTableElement> {
|
|
1717
|
+
children: ReactNode;
|
|
1718
|
+
}
|
|
1719
|
+
declare function Table({ children, className, ...props }: TableProps): react_jsx_runtime.JSX.Element;
|
|
1720
|
+
|
|
1721
|
+
interface TableHeaderProps extends HTMLAttributes<HTMLTableSectionElement> {
|
|
1722
|
+
children: ReactNode;
|
|
1723
|
+
}
|
|
1724
|
+
declare function TableHeader({ children, className, ...props }: TableHeaderProps): react_jsx_runtime.JSX.Element;
|
|
1725
|
+
|
|
1726
|
+
interface TableHeaderCellProps extends ThHTMLAttributes<HTMLTableCellElement> {
|
|
1727
|
+
children?: ReactNode;
|
|
1728
|
+
sortable?: boolean;
|
|
1729
|
+
}
|
|
1730
|
+
declare function TableHeaderCell({ children, onClick, hidden, className, sortable, ...props }: TableHeaderCellProps): react_jsx_runtime.JSX.Element;
|
|
1731
|
+
|
|
1732
|
+
interface TableBodyProps extends HTMLAttributes<HTMLTableSectionElement> {
|
|
1733
|
+
children: ReactNode;
|
|
1734
|
+
}
|
|
1735
|
+
declare function TableBody({ children, className, ...props }: TableBodyProps): react_jsx_runtime.JSX.Element;
|
|
1736
|
+
|
|
1737
|
+
interface TableRowProps extends HTMLAttributes<HTMLTableRowElement> {
|
|
1738
|
+
children: ReactNode;
|
|
1739
|
+
clickable?: boolean;
|
|
1740
|
+
}
|
|
1741
|
+
declare function TableRow({ children, onClick, clickable, className, ...props }: TableRowProps): react_jsx_runtime.JSX.Element;
|
|
1742
|
+
|
|
1743
|
+
interface TableCellProps extends TdHTMLAttributes<HTMLTableCellElement> {
|
|
1744
|
+
children?: ReactNode;
|
|
1745
|
+
}
|
|
1746
|
+
declare function TableCell({ children, onClick, hidden, className, ...props }: TableCellProps): react_jsx_runtime.JSX.Element;
|
|
1747
|
+
|
|
1748
|
+
type TabsVariant = "underline" | "pills" | "enclosed" | "soft";
|
|
1749
|
+
type TabsSize = "sm" | "md" | "lg";
|
|
1750
|
+
type TabsColor = "default" | "primary" | "secondary" | "success" | "warning" | "error";
|
|
1751
|
+
type TabsOrientation = "horizontal" | "vertical";
|
|
1752
|
+
|
|
1753
|
+
interface TabsProps {
|
|
1754
|
+
children: ReactNode;
|
|
1755
|
+
defaultValue?: string;
|
|
1756
|
+
value?: string;
|
|
1757
|
+
onValueChange?: (value: string) => void;
|
|
1758
|
+
variant?: TabsVariant;
|
|
1759
|
+
size?: TabsSize;
|
|
1760
|
+
color?: TabsColor;
|
|
1761
|
+
fullWidth?: boolean;
|
|
1762
|
+
orientation?: TabsOrientation;
|
|
1763
|
+
className?: string;
|
|
1764
|
+
}
|
|
1765
|
+
declare function Tabs({ children, defaultValue, value: controlledValue, onValueChange, variant, size, color, fullWidth, orientation, className, }: TabsProps): react_jsx_runtime.JSX.Element;
|
|
1766
|
+
declare namespace Tabs {
|
|
1767
|
+
var displayName: string;
|
|
1768
|
+
}
|
|
1769
|
+
|
|
1770
|
+
interface TabsListProps {
|
|
1771
|
+
children: ReactNode;
|
|
1772
|
+
className?: string;
|
|
1773
|
+
bgColor?: string;
|
|
1774
|
+
gap?: "none" | "sm" | "md" | "lg";
|
|
1775
|
+
}
|
|
1776
|
+
declare function TabsList({ children, className, bgColor, gap }: TabsListProps): react_jsx_runtime.JSX.Element;
|
|
1777
|
+
declare namespace TabsList {
|
|
1778
|
+
var displayName: string;
|
|
1779
|
+
}
|
|
1780
|
+
|
|
1781
|
+
interface TabsTriggerProps {
|
|
1782
|
+
value: string;
|
|
1783
|
+
children: ReactNode;
|
|
1784
|
+
disabled?: boolean;
|
|
1785
|
+
icon?: ReactNode;
|
|
1786
|
+
endIcon?: ReactNode;
|
|
1787
|
+
className?: string;
|
|
1788
|
+
activeClassName?: string;
|
|
1789
|
+
inactiveClassName?: string;
|
|
1790
|
+
}
|
|
1791
|
+
declare function TabsTrigger({ value, children, disabled, icon, endIcon, className, activeClassName, inactiveClassName, }: TabsTriggerProps): react_jsx_runtime.JSX.Element;
|
|
1792
|
+
declare namespace TabsTrigger {
|
|
1793
|
+
var displayName: string;
|
|
1794
|
+
}
|
|
1795
|
+
|
|
1796
|
+
interface TabsContentProps {
|
|
1797
|
+
value: string;
|
|
1798
|
+
children: ReactNode;
|
|
1799
|
+
className?: string;
|
|
1800
|
+
forceMount?: boolean;
|
|
1801
|
+
}
|
|
1802
|
+
declare function TabsContent({ value, children, className, forceMount }: TabsContentProps): react_jsx_runtime.JSX.Element | null;
|
|
1803
|
+
declare namespace TabsContent {
|
|
1804
|
+
var displayName: string;
|
|
1805
|
+
}
|
|
1806
|
+
|
|
1807
|
+
type ToastVariant = "solid" | "outlined" | "soft";
|
|
1808
|
+
type ToastType = "success" | "error" | "warning" | "info" | "default";
|
|
1809
|
+
type ToastPosition = "top-left" | "top-center" | "top-right" | "bottom-left" | "bottom-center" | "bottom-right";
|
|
1810
|
+
interface ToastProps extends Omit<ComponentPropsWithoutRef<"div">, "type"> {
|
|
1811
|
+
children?: ReactNode;
|
|
1812
|
+
title?: string;
|
|
1813
|
+
description?: string;
|
|
1814
|
+
type?: ToastType;
|
|
1815
|
+
variant?: ToastVariant;
|
|
1816
|
+
position?: ToastPosition;
|
|
1817
|
+
icon?: ReactNode;
|
|
1818
|
+
action?: ReactNode;
|
|
1819
|
+
onClose?: () => void;
|
|
1820
|
+
closable?: boolean;
|
|
1821
|
+
duration?: number;
|
|
1822
|
+
}
|
|
1823
|
+
declare function Toast({ children, title, description, type, variant, icon, action, onClose, closable, className, ...props }: ToastProps): react_jsx_runtime.JSX.Element;
|
|
1824
|
+
declare namespace Toast {
|
|
1825
|
+
var displayName: string;
|
|
1826
|
+
}
|
|
1827
|
+
|
|
1828
|
+
type TooltipPosition = "top" | "bottom" | "left" | "right";
|
|
1829
|
+
type TooltipVariant = "default" | "light" | "error" | "success" | "warning" | "info";
|
|
1830
|
+
type TooltipSize = "sm" | "md" | "lg";
|
|
1831
|
+
type TooltipTrigger = "hover" | "click" | "manual";
|
|
1832
|
+
interface TooltipProps extends Omit<HTMLAttributes<HTMLDivElement>, "content"> {
|
|
1833
|
+
children: ReactNode;
|
|
1834
|
+
content: ReactNode;
|
|
1835
|
+
position?: TooltipPosition;
|
|
1836
|
+
variant?: TooltipVariant;
|
|
1837
|
+
size?: TooltipSize;
|
|
1838
|
+
trigger?: TooltipTrigger;
|
|
1839
|
+
open?: boolean;
|
|
1840
|
+
delay?: number;
|
|
1841
|
+
showArrow?: boolean;
|
|
1842
|
+
maxWidth?: string;
|
|
1843
|
+
contentClassName?: string;
|
|
1844
|
+
disabled?: boolean;
|
|
1845
|
+
offset?: number;
|
|
1846
|
+
}
|
|
1847
|
+
declare function Tooltip({ children, content, position, variant, size, trigger, open, delay, showArrow, maxWidth, className, contentClassName, disabled, ...props }: TooltipProps): react_jsx_runtime.JSX.Element;
|
|
1848
|
+
declare namespace Tooltip {
|
|
1849
|
+
var displayName: string;
|
|
1850
|
+
}
|
|
1851
|
+
|
|
1852
|
+
interface FooterProps extends ComponentPropsWithoutRef<"footer"> {
|
|
1853
|
+
variant?: "default" | "bordered" | "minimal" | "dark";
|
|
1854
|
+
size?: "sm" | "md" | "lg";
|
|
1855
|
+
sticky?: boolean;
|
|
1856
|
+
children?: ReactNode;
|
|
1857
|
+
}
|
|
1858
|
+
declare function Footer({ variant, size, sticky, className, children, ...props }: FooterProps): react_jsx_runtime.JSX.Element;
|
|
1859
|
+
declare namespace Footer {
|
|
1860
|
+
var displayName: string;
|
|
1861
|
+
}
|
|
1862
|
+
|
|
1863
|
+
interface FooterSectionProps extends ComponentPropsWithoutRef<"div"> {
|
|
1864
|
+
title?: string;
|
|
1865
|
+
titleClassName?: string;
|
|
1866
|
+
columns?: 1 | 2 | 3 | 4 | 5 | 6;
|
|
1867
|
+
children?: ReactNode;
|
|
1868
|
+
}
|
|
1869
|
+
declare function FooterSection({ title, titleClassName, columns, className, children, ...props }: FooterSectionProps): react_jsx_runtime.JSX.Element;
|
|
1870
|
+
declare namespace FooterSection {
|
|
1871
|
+
var displayName: string;
|
|
1872
|
+
}
|
|
1873
|
+
|
|
1874
|
+
interface FooterColumnProps extends ComponentPropsWithoutRef<"div"> {
|
|
1875
|
+
title?: string;
|
|
1876
|
+
titleClassName?: string;
|
|
1877
|
+
children?: ReactNode;
|
|
1878
|
+
}
|
|
1879
|
+
declare function FooterColumn({ title, titleClassName, className, children, ...props }: FooterColumnProps): react_jsx_runtime.JSX.Element;
|
|
1880
|
+
declare namespace FooterColumn {
|
|
1881
|
+
var displayName: string;
|
|
1882
|
+
}
|
|
1883
|
+
|
|
1884
|
+
interface FooterLinkProps extends ComponentPropsWithoutRef<"a"> {
|
|
1885
|
+
external?: boolean;
|
|
1886
|
+
}
|
|
1887
|
+
declare function FooterLink({ external, className, children, ...props }: FooterLinkProps): react_jsx_runtime.JSX.Element;
|
|
1888
|
+
declare namespace FooterLink {
|
|
1889
|
+
var displayName: string;
|
|
1890
|
+
}
|
|
1891
|
+
|
|
1892
|
+
interface FooterBottomProps extends ComponentPropsWithoutRef<"div"> {
|
|
1893
|
+
copyright?: string;
|
|
1894
|
+
children?: ReactNode;
|
|
1895
|
+
}
|
|
1896
|
+
declare function FooterBottom({ copyright, className, children, ...props }: FooterBottomProps): react_jsx_runtime.JSX.Element;
|
|
1897
|
+
declare namespace FooterBottom {
|
|
1898
|
+
var displayName: string;
|
|
1899
|
+
}
|
|
1900
|
+
|
|
1901
|
+
interface FooterSocialProps extends ComponentPropsWithoutRef<"div"> {
|
|
1902
|
+
children?: ReactNode;
|
|
1903
|
+
}
|
|
1904
|
+
interface FooterSocialLinkProps extends ComponentPropsWithoutRef<"a"> {
|
|
1905
|
+
icon: ReactNode;
|
|
1906
|
+
label: string;
|
|
1907
|
+
}
|
|
1908
|
+
declare function FooterSocial({ className, children, ...props }: FooterSocialProps): react_jsx_runtime.JSX.Element;
|
|
1909
|
+
declare namespace FooterSocial {
|
|
1910
|
+
var displayName: string;
|
|
1911
|
+
}
|
|
1912
|
+
declare function FooterSocialLink({ icon, label, className, ...props }: FooterSocialLinkProps): react_jsx_runtime.JSX.Element;
|
|
1913
|
+
declare namespace FooterSocialLink {
|
|
1914
|
+
var displayName: string;
|
|
1915
|
+
}
|
|
1916
|
+
|
|
1917
|
+
type SchemaFieldType = "text" | "varchar" | "char" | "int2" | "int4" | "int8" | "serial" | "bigserial" | "float4" | "float8" | "numeric" | "decimal" | "bool" | "date" | "time" | "timestamp" | "timestamptz" | "uuid" | "json" | "jsonb" | "bytea" | (string & {});
|
|
1918
|
+
type SchemaField = {
|
|
1919
|
+
id: string;
|
|
1920
|
+
name: string;
|
|
1921
|
+
type: SchemaFieldType;
|
|
1922
|
+
nullable?: boolean;
|
|
1923
|
+
primaryKey?: boolean;
|
|
1924
|
+
unique?: boolean;
|
|
1925
|
+
indexed?: boolean;
|
|
1926
|
+
defaultValue?: string;
|
|
1927
|
+
foreignKey?: {
|
|
1928
|
+
tableId: string;
|
|
1929
|
+
fieldId: string;
|
|
1930
|
+
} | null;
|
|
1931
|
+
};
|
|
1932
|
+
type SchemaTable = {
|
|
1933
|
+
id: string;
|
|
1934
|
+
name: string;
|
|
1935
|
+
x: number;
|
|
1936
|
+
y: number;
|
|
1937
|
+
width?: number;
|
|
1938
|
+
height?: number;
|
|
1939
|
+
fields: SchemaField[];
|
|
1940
|
+
collapsed?: boolean;
|
|
1941
|
+
locked?: boolean;
|
|
1942
|
+
color?: string;
|
|
1943
|
+
notes?: string;
|
|
1944
|
+
};
|
|
1945
|
+
type SchemaRelationCardinality = "1:1" | "1:n" | "n:1" | "n:n";
|
|
1946
|
+
type SchemaRelation = {
|
|
1947
|
+
id: string;
|
|
1948
|
+
from: {
|
|
1949
|
+
tableId: string;
|
|
1950
|
+
fieldId: string;
|
|
1951
|
+
};
|
|
1952
|
+
to: {
|
|
1953
|
+
tableId: string;
|
|
1954
|
+
fieldId: string;
|
|
1955
|
+
};
|
|
1956
|
+
cardinality?: SchemaRelationCardinality;
|
|
1957
|
+
label?: string;
|
|
1958
|
+
};
|
|
1959
|
+
type SchemaViewport = {
|
|
1960
|
+
x: number;
|
|
1961
|
+
y: number;
|
|
1962
|
+
zoom: number;
|
|
1963
|
+
};
|
|
1964
|
+
type SchemaValue = {
|
|
1965
|
+
tables: SchemaTable[];
|
|
1966
|
+
relations: SchemaRelation[];
|
|
1967
|
+
viewport?: SchemaViewport;
|
|
1968
|
+
};
|
|
1969
|
+
type SchemaTableEvent = {
|
|
1970
|
+
table: SchemaTable;
|
|
1971
|
+
nativeEvent: globalThis.MouseEvent;
|
|
1972
|
+
};
|
|
1973
|
+
type SchemaFieldEvent = {
|
|
1974
|
+
table: SchemaTable;
|
|
1975
|
+
field: SchemaField;
|
|
1976
|
+
nativeEvent: globalThis.MouseEvent;
|
|
1977
|
+
};
|
|
1978
|
+
type SchemaEditorProps = {
|
|
1979
|
+
value?: SchemaValue;
|
|
1980
|
+
defaultValue?: SchemaValue;
|
|
1981
|
+
onValueChange?: (next: SchemaValue) => void;
|
|
1982
|
+
fieldTypes?: SchemaFieldType[];
|
|
1983
|
+
onTableClick?: (event: SchemaTableEvent) => void;
|
|
1984
|
+
onTableDoubleClick?: (event: SchemaTableEvent) => void;
|
|
1985
|
+
onTableContextMenu?: (event: SchemaTableEvent) => void;
|
|
1986
|
+
onFieldClick?: (event: SchemaFieldEvent) => void;
|
|
1987
|
+
onFieldDoubleClick?: (event: SchemaFieldEvent) => void;
|
|
1988
|
+
readOnly?: boolean;
|
|
1989
|
+
disabled?: boolean;
|
|
1990
|
+
draggableTables?: boolean;
|
|
1991
|
+
panOnDrag?: boolean;
|
|
1992
|
+
zoomOnWheel?: boolean;
|
|
1993
|
+
editable?: boolean;
|
|
1994
|
+
minZoom?: number;
|
|
1995
|
+
maxZoom?: number;
|
|
1996
|
+
snapToGrid?: boolean;
|
|
1997
|
+
gridSize?: number;
|
|
1998
|
+
showGrid?: boolean;
|
|
1999
|
+
toolbar?: boolean;
|
|
2000
|
+
legend?: boolean;
|
|
2001
|
+
autoFit?: boolean;
|
|
2002
|
+
className?: string;
|
|
2003
|
+
};
|
|
2004
|
+
type SchemaEditorRef = {
|
|
2005
|
+
zoomIn(): void;
|
|
2006
|
+
zoomOut(): void;
|
|
2007
|
+
resetView(): void;
|
|
2008
|
+
fitToContent(): void;
|
|
2009
|
+
addTable(table: SchemaTable): void;
|
|
2010
|
+
removeTable(tableId: string): void;
|
|
2011
|
+
addField(tableId: string, field: SchemaField): void;
|
|
2012
|
+
removeField(tableId: string, fieldId: string): void;
|
|
2013
|
+
addRelation(relation: SchemaRelation): void;
|
|
2014
|
+
removeRelation(relationId: string): void;
|
|
2015
|
+
toJSON(): string;
|
|
2016
|
+
loadJSON(json: string): void;
|
|
2017
|
+
toSQL(): string;
|
|
2018
|
+
};
|
|
2019
|
+
|
|
2020
|
+
declare const SchemaEditor: (props: SchemaEditorProps & {
|
|
2021
|
+
ref?: React.Ref<SchemaEditorRef>;
|
|
2022
|
+
}) => React.ReactElement | null;
|
|
2023
|
+
|
|
2024
|
+
declare const DEFAULT_FIELD_TYPES: SchemaFieldType[];
|
|
2025
|
+
declare function generateTableId(): string;
|
|
2026
|
+
declare function generateFieldId(): string;
|
|
2027
|
+
declare function generateRelationId(): string;
|
|
2028
|
+
declare function createDefaultField(name?: string): SchemaField;
|
|
2029
|
+
declare function createDefaultTable(x: number, y: number, name?: string): SchemaTable;
|
|
2030
|
+
|
|
2031
|
+
declare function generateSQL(value: SchemaValue): string;
|
|
2032
|
+
|
|
2033
|
+
/**
|
|
2034
|
+
* Simple grid-based auto-layout that arranges tables in rows,
|
|
2035
|
+
* placing tables with foreign key dependencies after their referenced tables.
|
|
2036
|
+
*/
|
|
2037
|
+
declare function autoLayoutTables(tables: SchemaTable[], editable: boolean): SchemaTable[];
|
|
2038
|
+
|
|
2039
|
+
type WorkflowPort = {
|
|
2040
|
+
id: string;
|
|
2041
|
+
kind: "in" | "out";
|
|
2042
|
+
side?: "left" | "right" | "top" | "bottom";
|
|
2043
|
+
label?: string;
|
|
2044
|
+
disabled?: boolean;
|
|
2045
|
+
};
|
|
2046
|
+
type WorkflowNode<TData = unknown> = {
|
|
2047
|
+
id: string;
|
|
2048
|
+
type: string;
|
|
2049
|
+
x: number;
|
|
2050
|
+
y: number;
|
|
2051
|
+
data: TData;
|
|
2052
|
+
ports?: WorkflowPort[];
|
|
2053
|
+
width?: number;
|
|
2054
|
+
height?: number;
|
|
2055
|
+
locked?: boolean;
|
|
2056
|
+
};
|
|
2057
|
+
type WorkflowEdge = {
|
|
2058
|
+
id: string;
|
|
2059
|
+
from: {
|
|
2060
|
+
nodeId: string;
|
|
2061
|
+
portId: string;
|
|
2062
|
+
};
|
|
2063
|
+
to: {
|
|
2064
|
+
nodeId: string;
|
|
2065
|
+
portId: string;
|
|
2066
|
+
};
|
|
2067
|
+
label?: string;
|
|
2068
|
+
disabled?: boolean;
|
|
2069
|
+
};
|
|
2070
|
+
type WorkflowViewport = {
|
|
2071
|
+
x: number;
|
|
2072
|
+
y: number;
|
|
2073
|
+
zoom: number;
|
|
2074
|
+
};
|
|
2075
|
+
type WorkflowValue<TData = unknown> = {
|
|
2076
|
+
nodes: WorkflowNode<TData>[];
|
|
2077
|
+
edges: WorkflowEdge[];
|
|
2078
|
+
viewport?: WorkflowViewport;
|
|
2079
|
+
};
|
|
2080
|
+
type WorkflowNodeActionPosition = "top-right" | "top-left" | "bottom-right" | "bottom-left";
|
|
2081
|
+
type WorkflowNodeAction<TData = unknown> = {
|
|
2082
|
+
id: string;
|
|
2083
|
+
icon: ReactNode;
|
|
2084
|
+
label?: string;
|
|
2085
|
+
position?: WorkflowNodeActionPosition;
|
|
2086
|
+
hidden?: boolean | ((node: WorkflowNode<TData>) => boolean);
|
|
2087
|
+
className?: string;
|
|
2088
|
+
};
|
|
2089
|
+
type WorkflowNodeActionEvent<TData = unknown> = {
|
|
2090
|
+
node: WorkflowNode<TData>;
|
|
2091
|
+
actionId: string;
|
|
2092
|
+
nativeEvent: globalThis.MouseEvent;
|
|
2093
|
+
};
|
|
2094
|
+
type NodeRegistryEntry<TData = unknown> = {
|
|
2095
|
+
title?: string;
|
|
2096
|
+
icon?: ReactNode;
|
|
2097
|
+
render: (args: {
|
|
2098
|
+
node: WorkflowNode<TData>;
|
|
2099
|
+
selected: boolean;
|
|
2100
|
+
disabled: boolean;
|
|
2101
|
+
}) => ReactNode;
|
|
2102
|
+
getPorts?: (node: WorkflowNode<TData>) => WorkflowPort[];
|
|
2103
|
+
actions?: WorkflowNodeAction<TData>[] | ((node: WorkflowNode<TData>) => WorkflowNodeAction<TData>[]);
|
|
2104
|
+
canConnect?: (args: {
|
|
2105
|
+
fromNode: WorkflowNode<TData>;
|
|
2106
|
+
toNode: WorkflowNode<TData>;
|
|
2107
|
+
fromPort: WorkflowPort;
|
|
2108
|
+
toPort: WorkflowPort;
|
|
2109
|
+
}) => boolean;
|
|
2110
|
+
};
|
|
2111
|
+
type WorkflowDirection = "horizontal" | "vertical";
|
|
2112
|
+
type WorkflowNodeEvent<TData = unknown> = {
|
|
2113
|
+
node: WorkflowNode<TData>;
|
|
2114
|
+
nativeEvent: globalThis.MouseEvent;
|
|
2115
|
+
};
|
|
2116
|
+
type WorkflowEditorProps<TData = unknown> = {
|
|
2117
|
+
value?: WorkflowValue<TData>;
|
|
2118
|
+
defaultValue?: WorkflowValue<TData>;
|
|
2119
|
+
onValueChange?: (next: WorkflowValue<TData>) => void;
|
|
2120
|
+
nodeRegistry: Record<string, NodeRegistryEntry<TData>>;
|
|
2121
|
+
direction?: WorkflowDirection;
|
|
2122
|
+
onDirectionChange?: (direction: WorkflowDirection) => void;
|
|
2123
|
+
onNodeClick?: (event: WorkflowNodeEvent<TData>) => void;
|
|
2124
|
+
onNodeDoubleClick?: (event: WorkflowNodeEvent<TData>) => void;
|
|
2125
|
+
onNodeContextMenu?: (event: WorkflowNodeEvent<TData>) => void;
|
|
2126
|
+
onNodeAction?: (event: WorkflowNodeActionEvent<TData>) => void;
|
|
2127
|
+
readOnly?: boolean;
|
|
2128
|
+
disabled?: boolean;
|
|
2129
|
+
draggableNodes?: boolean;
|
|
2130
|
+
connectable?: boolean;
|
|
2131
|
+
selectable?: boolean;
|
|
2132
|
+
multiSelect?: boolean;
|
|
2133
|
+
panOnDrag?: boolean;
|
|
2134
|
+
zoomOnWheel?: boolean;
|
|
2135
|
+
minZoom?: number;
|
|
2136
|
+
maxZoom?: number;
|
|
2137
|
+
snapToGrid?: boolean;
|
|
2138
|
+
gridSize?: number;
|
|
2139
|
+
showGrid?: boolean;
|
|
2140
|
+
toolbar?: boolean;
|
|
2141
|
+
autoFit?: boolean;
|
|
2142
|
+
className?: string;
|
|
2143
|
+
};
|
|
2144
|
+
type WorkflowEditorRef = {
|
|
2145
|
+
zoomIn(): void;
|
|
2146
|
+
zoomOut(): void;
|
|
2147
|
+
resetView(): void;
|
|
2148
|
+
fitToContent(): void;
|
|
2149
|
+
addNode(node: WorkflowNode<unknown>): void;
|
|
2150
|
+
removeNode(nodeId: string): void;
|
|
2151
|
+
toJSON(): string;
|
|
2152
|
+
loadJSON(json: string): void;
|
|
2153
|
+
};
|
|
2154
|
+
|
|
2155
|
+
declare const WorkflowEditor: <TData = unknown>(props: WorkflowEditorProps<TData> & {
|
|
2156
|
+
ref?: React.Ref<WorkflowEditorRef>;
|
|
2157
|
+
}) => React.ReactElement | null;
|
|
2158
|
+
|
|
2159
|
+
type WizardOrientation = "horizontal" | "vertical";
|
|
2160
|
+
type WizardVariant = "default" | "dots" | "simple";
|
|
2161
|
+
type WizardSize = "sm" | "md" | "lg";
|
|
2162
|
+
type WizardColor = "primary" | "secondary" | "success" | "warning" | "error";
|
|
2163
|
+
type WizardStepStatus = "upcoming" | "active" | "completed" | "error";
|
|
2164
|
+
type WizardDirection = "forward" | "backward" | "jump";
|
|
2165
|
+
interface WizardStepDefinition {
|
|
2166
|
+
/** Stable identifier (used as React key). Falls back to the index. */
|
|
2167
|
+
id?: string;
|
|
2168
|
+
/** Step title shown in the indicator */
|
|
2169
|
+
title: ReactNode;
|
|
2170
|
+
/** Optional secondary line under the title */
|
|
2171
|
+
description?: ReactNode;
|
|
2172
|
+
/** Custom marker content (replaces the step number) */
|
|
2173
|
+
icon?: ReactNode;
|
|
2174
|
+
/** Mark the step as optional (adds an "(optional)" hint) */
|
|
2175
|
+
optional?: boolean;
|
|
2176
|
+
/** Disable navigation to this step */
|
|
2177
|
+
disabled?: boolean;
|
|
2178
|
+
/** Force the error visual state on this step */
|
|
2179
|
+
error?: boolean;
|
|
2180
|
+
}
|
|
2181
|
+
interface WizardStepChangeMeta {
|
|
2182
|
+
/** The step index we navigated away from */
|
|
2183
|
+
previous: number;
|
|
2184
|
+
/** Navigation direction */
|
|
2185
|
+
direction: WizardDirection;
|
|
2186
|
+
}
|
|
2187
|
+
interface WizardContextValue {
|
|
2188
|
+
steps: WizardStepDefinition[];
|
|
2189
|
+
activeStep: number;
|
|
2190
|
+
totalSteps: number;
|
|
2191
|
+
isFirstStep: boolean;
|
|
2192
|
+
isLastStep: boolean;
|
|
2193
|
+
orientation: WizardOrientation;
|
|
2194
|
+
variant: WizardVariant;
|
|
2195
|
+
size: WizardSize;
|
|
2196
|
+
color: WizardColor;
|
|
2197
|
+
linear: boolean;
|
|
2198
|
+
/** Navigate to a specific step (respects accessibility rules) */
|
|
2199
|
+
goToStep: (index: number) => void;
|
|
2200
|
+
/** Advance to the next step, or call onComplete on the last step */
|
|
2201
|
+
goNext: () => void;
|
|
2202
|
+
/** Go back to the previous step */
|
|
2203
|
+
goBack: () => void;
|
|
2204
|
+
/** Resolve the visual status of a given step */
|
|
2205
|
+
getStepStatus: (index: number) => WizardStepStatus;
|
|
2206
|
+
/** Whether a step can be navigated to via click */
|
|
2207
|
+
isStepAccessible: (index: number) => boolean;
|
|
2208
|
+
}
|
|
2209
|
+
/**
|
|
2210
|
+
* Access the surrounding Wizard state. Useful for building custom controls.
|
|
2211
|
+
* Throws when used outside of a `<Wizard>` provider.
|
|
2212
|
+
*/
|
|
2213
|
+
declare function useWizard(): WizardContextValue;
|
|
2214
|
+
interface WizardProps {
|
|
2215
|
+
/** Ordered list of steps that drives the indicator and navigation bounds */
|
|
2216
|
+
steps: WizardStepDefinition[];
|
|
2217
|
+
/** Controlled active step index */
|
|
2218
|
+
step?: number;
|
|
2219
|
+
/** Default active step index for uncontrolled mode */
|
|
2220
|
+
defaultStep?: number;
|
|
2221
|
+
/** Called whenever the active step changes */
|
|
2222
|
+
onStepChange?: (step: number, meta: WizardStepChangeMeta) => void;
|
|
2223
|
+
/** Called when "Next" is pressed on the last step */
|
|
2224
|
+
onComplete?: () => void;
|
|
2225
|
+
/** Indicator orientation */
|
|
2226
|
+
orientation?: WizardOrientation;
|
|
2227
|
+
/** Indicator visual variant */
|
|
2228
|
+
variant?: WizardVariant;
|
|
2229
|
+
/** Size */
|
|
2230
|
+
size?: WizardSize;
|
|
2231
|
+
/** Accent color */
|
|
2232
|
+
color?: WizardColor;
|
|
2233
|
+
/** When true (default), only reached steps can be clicked */
|
|
2234
|
+
linear?: boolean;
|
|
2235
|
+
/** Additional class names on the root element */
|
|
2236
|
+
className?: string;
|
|
2237
|
+
children: ReactNode;
|
|
2238
|
+
}
|
|
2239
|
+
declare function Wizard({ steps, step: stepProp, defaultStep, onStepChange, onComplete, orientation, variant, size, color, linear, className, children, }: WizardProps): react_jsx_runtime.JSX.Element;
|
|
2240
|
+
declare namespace Wizard {
|
|
2241
|
+
var displayName: string;
|
|
2242
|
+
}
|
|
2243
|
+
interface WizardStepsProps {
|
|
2244
|
+
/** Additional class names on the indicator list */
|
|
2245
|
+
className?: string;
|
|
2246
|
+
/** Hide the connector lines between steps */
|
|
2247
|
+
hideConnector?: boolean;
|
|
2248
|
+
/** Hide step titles/descriptions (markers only) */
|
|
2249
|
+
hideLabels?: boolean;
|
|
2250
|
+
}
|
|
2251
|
+
declare function WizardSteps({ className, hideConnector, hideLabels, }: WizardStepsProps): react_jsx_runtime.JSX.Element;
|
|
2252
|
+
declare namespace WizardSteps {
|
|
2253
|
+
var displayName: string;
|
|
2254
|
+
}
|
|
2255
|
+
interface WizardPanelProps {
|
|
2256
|
+
/** Step index this panel belongs to */
|
|
2257
|
+
index: number;
|
|
2258
|
+
/** Keep the panel mounted (hidden) when inactive instead of unmounting */
|
|
2259
|
+
keepMounted?: boolean;
|
|
2260
|
+
className?: string;
|
|
2261
|
+
children: ReactNode;
|
|
2262
|
+
}
|
|
2263
|
+
declare function WizardPanel({ index, keepMounted, className, children }: WizardPanelProps): react_jsx_runtime.JSX.Element | null;
|
|
2264
|
+
declare namespace WizardPanel {
|
|
2265
|
+
var displayName: string;
|
|
2266
|
+
}
|
|
2267
|
+
interface WizardContentProps {
|
|
2268
|
+
className?: string;
|
|
2269
|
+
/** Static content or a render-prop receiving the wizard state */
|
|
2270
|
+
children: ReactNode | ((wizard: WizardContextValue) => ReactNode);
|
|
2271
|
+
}
|
|
2272
|
+
declare function WizardContent({ className, children }: WizardContentProps): react_jsx_runtime.JSX.Element;
|
|
2273
|
+
declare namespace WizardContent {
|
|
2274
|
+
var displayName: string;
|
|
2275
|
+
}
|
|
2276
|
+
interface WizardPreviousProps extends Omit<ComponentPropsWithoutRef<"button">, "children"> {
|
|
2277
|
+
children?: ReactNode;
|
|
2278
|
+
/** Button text (used when no children are provided) */
|
|
2279
|
+
label?: ReactNode;
|
|
2280
|
+
}
|
|
2281
|
+
declare function WizardPrevious({ children, label, className, onClick, disabled, ...props }: WizardPreviousProps): react_jsx_runtime.JSX.Element;
|
|
2282
|
+
declare namespace WizardPrevious {
|
|
2283
|
+
var displayName: string;
|
|
2284
|
+
}
|
|
2285
|
+
interface WizardNextProps extends Omit<ComponentPropsWithoutRef<"button">, "children"> {
|
|
2286
|
+
children?: ReactNode;
|
|
2287
|
+
/** Button text on non-final steps */
|
|
2288
|
+
label?: ReactNode;
|
|
2289
|
+
/** Button text on the final step */
|
|
2290
|
+
finishLabel?: ReactNode;
|
|
2291
|
+
}
|
|
2292
|
+
declare function WizardNext({ children, label, finishLabel, className, onClick, ...props }: WizardNextProps): react_jsx_runtime.JSX.Element;
|
|
2293
|
+
declare namespace WizardNext {
|
|
2294
|
+
var displayName: string;
|
|
2295
|
+
}
|
|
2296
|
+
interface WizardActionsProps {
|
|
2297
|
+
className?: string;
|
|
2298
|
+
/** Custom controls. Defaults to Previous + Next when omitted. */
|
|
2299
|
+
children?: ReactNode;
|
|
2300
|
+
/** Horizontal alignment of the controls */
|
|
2301
|
+
align?: "between" | "start" | "center" | "end";
|
|
2302
|
+
}
|
|
2303
|
+
declare function WizardActions({ className, children, align }: WizardActionsProps): react_jsx_runtime.JSX.Element;
|
|
2304
|
+
declare namespace WizardActions {
|
|
2305
|
+
var displayName: string;
|
|
2306
|
+
}
|
|
2307
|
+
|
|
2308
|
+
/**
|
|
2309
|
+
* Utility to concatenate class names.
|
|
2310
|
+
* Filters out falsy values and joins with space.
|
|
2311
|
+
*/
|
|
2312
|
+
declare function cn(...classes: (string | undefined | null | false)[]): string;
|
|
2313
|
+
|
|
2314
|
+
/**
|
|
2315
|
+
* Every user-facing string the library renders on its own (mostly the
|
|
2316
|
+
* `aria-label` / `sr-only` text of built-in buttons).
|
|
2317
|
+
*
|
|
2318
|
+
* Each component also exposes a matching prop, so a label can be overridden
|
|
2319
|
+
* globally (provider) or per instance (prop wins).
|
|
2320
|
+
*/
|
|
2321
|
+
interface UILabels {
|
|
2322
|
+
/** Accessible name of the Modal close button. */
|
|
2323
|
+
closeModal: string;
|
|
2324
|
+
/** Accessible name of the Drawer close button. */
|
|
2325
|
+
closeDrawer: string;
|
|
2326
|
+
/** Accessible name of the Sidebar close button (mobile). */
|
|
2327
|
+
closeSidebar: string;
|
|
2328
|
+
/** Accessible name of the Sidebar toggle when it opens the mobile drawer. */
|
|
2329
|
+
openSidebar: string;
|
|
2330
|
+
/** Accessible name of the Sidebar toggle when it expands a collapsed sidebar. */
|
|
2331
|
+
expandSidebar: string;
|
|
2332
|
+
/** Accessible name of the Sidebar toggle when it collapses the sidebar. */
|
|
2333
|
+
collapseSidebar: string;
|
|
2334
|
+
/** Accessible name of the mobile Sidebar dialog when no `aria-label` is given. */
|
|
2335
|
+
sidebar: string;
|
|
2336
|
+
/** Accessible name of the Modal "expand" button. */
|
|
2337
|
+
enterFullScreen: string;
|
|
2338
|
+
/** Accessible name of the Modal "collapse" button. */
|
|
2339
|
+
exitFullScreen: string;
|
|
2340
|
+
/** Default label of the Modal submit button. */
|
|
2341
|
+
confirm: string;
|
|
2342
|
+
/** Default label of the Modal cancel button. */
|
|
2343
|
+
cancel: string;
|
|
2344
|
+
/** Shown while the optional Markdown editor is being loaded. */
|
|
2345
|
+
markdownEditorLoading: string;
|
|
2346
|
+
/** Shown when the optional `@mdxeditor/editor` package is not installed. */
|
|
2347
|
+
markdownEditorUnavailable: string;
|
|
2348
|
+
}
|
|
2349
|
+
/** English labels, used when no provider is mounted. */
|
|
2350
|
+
declare const defaultUILabels: UILabels;
|
|
2351
|
+
/** Ready-to-use French translation. */
|
|
2352
|
+
declare const frenchUILabels: UILabels;
|
|
2353
|
+
interface UILabelsProviderProps {
|
|
2354
|
+
/** Partial overrides merged over the labels inherited from the parent provider. */
|
|
2355
|
+
labels?: Partial<UILabels>;
|
|
2356
|
+
children: ReactNode;
|
|
2357
|
+
}
|
|
2358
|
+
/**
|
|
2359
|
+
* Translates the strings built into the library.
|
|
2360
|
+
*
|
|
2361
|
+
* ```tsx
|
|
2362
|
+
* <UILabelsProvider labels={locale === "fr" ? frenchUILabels : defaultUILabels}>
|
|
2363
|
+
* <App />
|
|
2364
|
+
* </UILabelsProvider>
|
|
2365
|
+
* ```
|
|
2366
|
+
*
|
|
2367
|
+
* Providers can be nested: a subtree only needs to override what differs.
|
|
2368
|
+
*/
|
|
2369
|
+
declare function UILabelsProvider({ labels, children }: UILabelsProviderProps): react_jsx_runtime.JSX.Element;
|
|
2370
|
+
/** Reads the current labels (English defaults when no provider is mounted). */
|
|
2371
|
+
declare function useUILabels(): UILabels;
|
|
2372
|
+
|
|
2373
|
+
/**
|
|
2374
|
+
* Makes everything outside of a dialog inert for both pointer and assistive
|
|
2375
|
+
* technology users.
|
|
2376
|
+
*
|
|
2377
|
+
* The algorithm walks up from the dialog element to `<body>` and marks every
|
|
2378
|
+
* sibling met on the way with `inert` + `aria-hidden="true"`. Ancestors are
|
|
2379
|
+
* never touched, so the dialog itself stays reachable.
|
|
2380
|
+
*
|
|
2381
|
+
* A reference count is kept per element so that nested dialogs restore the
|
|
2382
|
+
* original attributes in the right order.
|
|
2383
|
+
*/
|
|
2384
|
+
/** Opt-out attribute for elements that must stay live (toasts, aria-live regions). */
|
|
2385
|
+
declare const INERT_IGNORE_ATTRIBUTE = "data-synertech-inert-ignore";
|
|
2386
|
+
/**
|
|
2387
|
+
* Declares `layer` as a floating layer owned by `getOwner()`.
|
|
2388
|
+
*
|
|
2389
|
+
* The owner is resolved lazily, because a portal is usually mounted before the
|
|
2390
|
+
* trigger it belongs to.
|
|
2391
|
+
*
|
|
2392
|
+
* @returns a function unregistering the layer.
|
|
2393
|
+
*/
|
|
2394
|
+
declare function registerFloatingLayer(layer: Element, getOwner: () => Element | null): () => void;
|
|
2395
|
+
/** Registered layers whose owner lives inside one of `targets`. */
|
|
2396
|
+
declare function findOwnedLayers(targets: Element[]): Element[];
|
|
2397
|
+
/**
|
|
2398
|
+
* Hides every element that is neither an ancestor nor a descendant of one of
|
|
2399
|
+
* the `targets` (typically the dialog and, when it must stay clickable, its
|
|
2400
|
+
* overlay).
|
|
2401
|
+
*
|
|
2402
|
+
* @returns a function restoring the previous state (idempotent).
|
|
2403
|
+
*/
|
|
2404
|
+
declare function hideOthers(targets: Element | Element[]): () => void;
|
|
2405
|
+
|
|
2406
|
+
/**
|
|
2407
|
+
* Focus helpers shared by the dialog-like components (Modal, Drawer, ...).
|
|
2408
|
+
*
|
|
2409
|
+
* Dependency-free on purpose: the library ships no runtime dependency for
|
|
2410
|
+
* accessibility primitives.
|
|
2411
|
+
*/
|
|
2412
|
+
/** Selector matching every element that can potentially receive focus. */
|
|
2413
|
+
declare const FOCUSABLE_SELECTOR: string;
|
|
2414
|
+
/**
|
|
2415
|
+
* Walks up from `element` and returns false as soon as an ancestor hides it
|
|
2416
|
+
* (`hidden`, `inert`, `aria-hidden`, `display: none`, `visibility: hidden`).
|
|
2417
|
+
*
|
|
2418
|
+
* Layout based checks (`offsetParent`, `getClientRects`) are deliberately not
|
|
2419
|
+
* used: they always report "invisible" in jsdom, which would make the focus
|
|
2420
|
+
* trap untestable.
|
|
2421
|
+
*/
|
|
2422
|
+
declare function isElementVisible(element: HTMLElement): boolean;
|
|
2423
|
+
/** True when `element` can be reached with the Tab key. */
|
|
2424
|
+
declare function isFocusable(element: HTMLElement): boolean;
|
|
2425
|
+
/**
|
|
2426
|
+
* Every focusable descendant of `container`, in DOM order.
|
|
2427
|
+
*
|
|
2428
|
+
* Positive `tabindex` values are not re-ordered: mixing them with the natural
|
|
2429
|
+
* order is an anti-pattern and the sequence stays predictable this way.
|
|
2430
|
+
*/
|
|
2431
|
+
declare function getFocusableElements(container: HTMLElement): HTMLElement[];
|
|
2432
|
+
|
|
2433
|
+
export { Accordion, AccordionContent, type AccordionContentProps, AccordionItem, type AccordionItemProps, type AccordionProps, type AccordionSize, AccordionTrigger, type AccordionTriggerProps, type AccordionType, type AccordionVariant, AdvanceDetachable, type AdvanceDetachableProps, type AdvanceDetachableRef, type AdvanceDetachableRenderContext, type AggregateFunction, type Align, Avatar, type AvatarProps, Badge, type BadgeColor, type BadgeProps, type BadgeSize, type BadgeVariant, Banner, type BannerProps, type BannerType, type BannerVariant, Breadcrumb, type BreadcrumbItem, type BreadcrumbProps, Button, ButtonGroup, type ButtonGroupProps, type ButtonProps, Calendar, type CalendarColor, type CalendarDateRange, type CalendarDayState, type CalendarLabels, type CalendarMode, type CalendarProps, type CalendarSize, type CalendarWeekStart, Card, CardBody, type CardBodyProps, CardDescription, type CardDescriptionProps, CardFooter, type CardFooterProps, CardHeader, type CardHeaderProps, CardImage, type CardImageProps, type CardProps, CardTitle, type CardTitleProps, Checkbox, CheckboxGroup, CheckboxGroupItem, type CheckboxGroupItemProps, type CheckboxGroupProps, type CheckboxProps, Chip, type ChipColor, type ChipProps, type ChipSize, type ChipVariant, CircularProgress, type CircularProgressColor, type CircularProgressProps, type CircularProgressSize, type CircularProgressThickness, type ColumnDef, DEFAULT_FIELD_TYPES, DataGrid, type DataGridMode, type DataGridProps, type DataGridRef, type Density, Detachable, type DetachableProps, type DetachableRef, DeviceMockup, type DeviceMockupProps, type DeviceOrientation, type DeviceSize, type DeviceTheme, type DeviceType, type DialogA11yProps, type DialogInitialFocus, type DialogReturnFocus, Divider, type DividerOrientation, type DividerProps, type DividerTextAlign, type DividerVariant, Drawer, type DrawerPosition, type DrawerProps, type DrawerSize, Dropdown, DropdownCheckboxItem, type DropdownCheckboxItemProps, DropdownContent, type DropdownContentProps, type DropdownContextValue, DropdownItem, type DropdownItemProps, DropdownLabel, type DropdownLabelProps, type DropdownProps, DropdownRadioGroup, type DropdownRadioGroupProps, DropdownRadioItem, type DropdownRadioItemProps, DropdownSeparator, type DropdownSeparatorProps, DropdownSubMenu, DropdownSubMenuContent, type DropdownSubMenuContentProps, type DropdownSubMenuProps, DropdownSubMenuTrigger, type DropdownSubMenuTriggerProps, DropdownTrigger, type DropdownTriggerProps, FOCUSABLE_SELECTOR, FileSelector, type FileSelectorProps, type FilterOperator, type FilterType, type FilterValue, Footer, FooterBottom, type FooterBottomProps, FooterColumn, type FooterColumnProps, FooterLink, type FooterLinkProps, type FooterProps, FooterSection, type FooterSectionProps, FooterSocial, FooterSocialLink, type FooterSocialLinkProps, type FooterSocialProps, Header, type HeaderProps, HelpButton, type HelpButtonProps, INERT_IGNORE_ATTRIBUTE, ImageUploader, type ImageUploaderProps, Indicator, type IndicatorColor, type IndicatorPlacement, type IndicatorProps, type IndicatorSize, type IndicatorVariant, Input, type InputProps, Label, type LabelColor, type LabelProps, type LabelSize, type LabelVariant, type LabelWeight, type MentionData, MentionInput, type MentionInputProps, type MentionInputValue, type MentionSuggestion, Modal, type ModalProps, type NavItem, type NodeRegistryEntry, NumberInput, type NumberInputProps, Pagination, type PaginationConfig, type PaginationProps, type Position, ProgressBar, type ProgressBarColor, type ProgressBarProps, type ProgressBarSize, type ProgressBarVariant, RadioButton, type RadioButtonProps, SchemaEditor, type SchemaEditorProps, type SchemaEditorRef, type SchemaField, type SchemaFieldEvent, type SchemaFieldType, type SchemaRelation, type SchemaRelationCardinality, type SchemaTable, type SchemaTableEvent, type SchemaValue, type SchemaViewport, Select, type SelectOption, type SelectProps, type SelectedFile, type SelectionMode, type Side, Sidebar, SidebarContent, type SidebarContentProps, SidebarFooter, type SidebarFooterProps, SidebarGroup, type SidebarGroupProps, SidebarHeader, type SidebarHeaderProps, SidebarItem, type SidebarItemProps, type SidebarPosition, type SidebarProps, SidebarSubMenu, type SidebarSubMenuProps, SidebarToggle, type SidebarToggleProps, type SidebarVariant, Skeleton, type SkeletonAnimation, type SkeletonProps, type SkeletonVariant, Slider, type SliderColor, type SliderMark, type SliderProps, type SliderSize, type SortDirection, type SortState, Table, TableBody, type TableBodyProps, TableCell, type TableCellProps, TableHeader, TableHeaderCell, type TableHeaderCellProps, type TableHeaderProps, type TableProps, TableRow, type TableRowProps, Tabs, type TabsColor, TabsContent, type TabsContentProps, TabsList, type TabsListProps, type TabsOrientation, type TabsProps, type TabsSize, TabsTrigger, type TabsTriggerProps, type TabsVariant, Toast, type ToastPosition, type ToastProps, type ToastType, type ToastVariant, Tooltip, type TooltipPosition, type TooltipProps, type TooltipSize, type TooltipTrigger, type TooltipVariant, type UILabels, UILabelsProvider, type UILabelsProviderProps, type UseDialogA11yOptions, type UseDialogA11yResult, type UseKeyboardNavigationOptions, type UsePositioningOptions, WithHelpButton, type WithHelpButtonProps, Wizard, WizardActions, type WizardActionsProps, type WizardColor, WizardContent, type WizardContentProps, type WizardContextValue, type WizardDirection, WizardNext, type WizardNextProps, type WizardOrientation, WizardPanel, type WizardPanelProps, WizardPrevious, type WizardPreviousProps, type WizardProps, type WizardSize, type WizardStepChangeMeta, type WizardStepDefinition, type WizardStepStatus, WizardSteps, type WizardStepsProps, type WizardVariant, type WorkflowDirection, type WorkflowEdge, WorkflowEditor, type WorkflowEditorProps, type WorkflowEditorRef, type WorkflowNode, type WorkflowNodeAction, type WorkflowNodeActionEvent, type WorkflowNodeActionPosition, type WorkflowNodeEvent, type WorkflowPort, type WorkflowValue, type WorkflowViewport, autoLayoutTables, cn, createDefaultField, createDefaultTable, defaultUILabels, findOwnedLayers, frenchUILabels, generateFieldId, generateRelationId, generateSQL, generateTableId, getFocusableElements, hideOthers, isElementVisible, isFocusable, registerFloatingLayer, useClickOutside, useDialogA11y, useDropdownContext, useFocusItem, useKeyboardNavigation, usePositioning, useSidebar, useUILabels, useWizard };
|