@bizapps/ui 1.0.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/dist/main.d.ts ADDED
@@ -0,0 +1,1980 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as class_variance_authority_types from 'class-variance-authority/types';
3
+ import * as class_variance_authority from 'class-variance-authority';
4
+ import { VariantProps } from 'class-variance-authority';
5
+ import * as react from 'react';
6
+ import { HTMLAttributes, ReactNode, ComponentProps, ButtonHTMLAttributes, MouseEventHandler, SVGAttributes } from 'react';
7
+ import { Avatar as Avatar$1, Toggle as Toggle$1, ToggleGroup as ToggleGroup$1, Select as Select$1, Separator as Separator$1, Progress as Progress$1, Slider as Slider$1, Switch as Switch$1, Tabs as Tabs$1, Tooltip as Tooltip$1, Popover as Popover$1, Dialog as Dialog$1, AlertDialog as AlertDialog$1, Accordion as Accordion$1, DropdownMenu as DropdownMenu$1, RadioGroup as RadioGroup$1, NavigationMenu as NavigationMenu$1, Checkbox as Checkbox$1 } from 'radix-ui';
8
+ import { DayPicker, DayButton, Locale, DateRange } from 'react-day-picker';
9
+ export { DateRange } from 'react-day-picker';
10
+ import useEmblaCarousel, { UseEmblaCarouselType } from 'embla-carousel-react';
11
+ import { DropzoneOptions, FileRejection, DropEvent } from 'react-dropzone';
12
+ import Color from 'color';
13
+ import * as react_hook_form from 'react-hook-form';
14
+ import { UseFormProps, FieldValues } from 'react-hook-form';
15
+ export { Controller, useFieldArray } from 'react-hook-form';
16
+ import { ZodType, z } from 'zod';
17
+ import { ColumnDef, SortingState, ColumnFiltersState, Row, RowSelectionState, Table as Table$1, VisibilityState, ColumnSizingState, Header, Updater, Column } from '@tanstack/react-table';
18
+ export { Column, ColumnDef, ColumnFiltersState, Row, SortingState, Table as TanStackTableType, createColumnHelper } from '@tanstack/react-table';
19
+
20
+ declare const alertVariants: (props?: ({
21
+ variant?: "default" | "info" | "success" | "warning" | "error" | null | undefined;
22
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
23
+ interface AlertProps extends HTMLAttributes<HTMLDivElement>, VariantProps<typeof alertVariants> {
24
+ icon?: ReactNode;
25
+ onDismiss?: () => void;
26
+ }
27
+ type AlertTitleProps = HTMLAttributes<HTMLHeadingElement>;
28
+ type AlertDescriptionProps = HTMLAttributes<HTMLParagraphElement>;
29
+ declare function Alert({ className, variant, icon, onDismiss, children, ...props }: AlertProps): react_jsx_runtime.JSX.Element;
30
+ declare function AlertTitle({ className, ...props }: AlertTitleProps): react_jsx_runtime.JSX.Element;
31
+ declare function AlertDescription({ className, ...props }: AlertDescriptionProps): react_jsx_runtime.JSX.Element;
32
+
33
+ declare const avatarVariants: (props?: ({
34
+ size?: "sm" | "md" | "lg" | "xl" | null | undefined;
35
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
36
+ declare function Avatar({ className, size, ...props }: ComponentProps<typeof Avatar$1.Root> & VariantProps<typeof avatarVariants>): react_jsx_runtime.JSX.Element;
37
+ declare function AvatarImage({ className, ...props }: ComponentProps<typeof Avatar$1.Image>): react_jsx_runtime.JSX.Element;
38
+ declare function AvatarFallback({ className, ...props }: ComponentProps<typeof Avatar$1.Fallback>): react_jsx_runtime.JSX.Element;
39
+ declare function AvatarBadge({ className, ...props }: ComponentProps<'span'>): react_jsx_runtime.JSX.Element;
40
+ declare function AvatarGroup({ className, ...props }: ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
41
+ declare function AvatarGroupCount({ className, ...props }: ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
42
+
43
+ declare const badgeVariants$1: (props?: ({
44
+ variant?: "default" | "link" | "secondary" | "destructive" | "outline" | "ghost" | null | undefined;
45
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
46
+ declare function Badge$1({ className, variant, asChild, ...props }: ComponentProps<'span'> & VariantProps<typeof badgeVariants$1> & {
47
+ asChild?: boolean;
48
+ }): react_jsx_runtime.JSX.Element;
49
+
50
+ type StatusProps = ComponentProps<typeof Badge$1> & {
51
+ status: 'online' | 'offline' | 'maintenance' | 'degraded';
52
+ };
53
+ declare const Status: ({ className, status, ...props }: StatusProps) => react_jsx_runtime.JSX.Element;
54
+ type StatusIndicatorProps = HTMLAttributes<HTMLSpanElement>;
55
+ declare const StatusIndicator: ({ className, ...props }: StatusIndicatorProps) => react_jsx_runtime.JSX.Element;
56
+ type StatusLabelProps = HTMLAttributes<HTMLSpanElement>;
57
+ declare const StatusLabel: ({ className, children, ...props }: StatusLabelProps) => react_jsx_runtime.JSX.Element;
58
+
59
+ declare const badgeVariants: (props?: ({
60
+ variant?: "default" | "info" | "success" | "warning" | "error" | null | undefined;
61
+ size?: "sm" | "md" | "lg" | null | undefined;
62
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
63
+ declare function Badge({ className, variant, size, asChild, ...props }: ComponentProps<'span'> & VariantProps<typeof badgeVariants> & {
64
+ asChild?: boolean;
65
+ }): react_jsx_runtime.JSX.Element;
66
+
67
+ /**
68
+ * Root landmark for a breadcrumb trail. Renders a `<nav aria-label="breadcrumb">`
69
+ * and wraps a single {@link BreadcrumbList}.
70
+ */
71
+ declare function Breadcrumb({ className, ...props }: ComponentProps<'nav'>): react_jsx_runtime.JSX.Element;
72
+ /**
73
+ * Ordered list (`<ol>`) holding the trail. Lays the items out in a wrapping,
74
+ * gapped flex row and sets the default `text-main-grey` color and `text-sm` scale.
75
+ */
76
+ declare function BreadcrumbList({ className, ...props }: ComponentProps<'ol'>): react_jsx_runtime.JSX.Element;
77
+ /**
78
+ * A single segment (`<li>`) of the trail. Wraps a {@link BreadcrumbLink},
79
+ * {@link BreadcrumbPage}, or {@link BreadcrumbEllipsis}.
80
+ */
81
+ declare function BreadcrumbItem({ className, ...props }: ComponentProps<'li'>): react_jsx_runtime.JSX.Element;
82
+ /**
83
+ * Navigable ancestor in the trail. Renders an `<a>` by default; pass `asChild`
84
+ * to delegate to a router link (e.g. React Router / Next.js `Link`) while keeping
85
+ * the hover and focus styles.
86
+ *
87
+ * @param asChild - Render the child element instead of an `<a>` (Radix `Slot`).
88
+ */
89
+ declare function BreadcrumbLink({ asChild, className, ...props }: ComponentProps<'a'> & {
90
+ asChild?: boolean;
91
+ }): react_jsx_runtime.JSX.Element;
92
+ /**
93
+ * The current page — the last, non-interactive segment. Renders a `<span>` with
94
+ * `aria-current="page"` and emphasized `text-main-blue-primary` color.
95
+ */
96
+ declare function BreadcrumbPage({ className, ...props }: ComponentProps<'span'>): react_jsx_runtime.JSX.Element;
97
+ /**
98
+ * Visual divider between items. Defaults to a `ChevronRight` icon; pass any node
99
+ * as children to override it. Always `aria-hidden`, so overrides never reach
100
+ * assistive tech.
101
+ */
102
+ declare function BreadcrumbSeparator({ children, className, ...props }: ComponentProps<'li'>): react_jsx_runtime.JSX.Element;
103
+ /**
104
+ * Truncation marker (`…`) that collapses hidden middle segments of a long trail.
105
+ * Pair it with a `DropdownMenu` to make the collapsed segments navigable.
106
+ */
107
+ declare function BreadcrumbEllipsis({ className, ...props }: ComponentProps<'span'>): react_jsx_runtime.JSX.Element;
108
+
109
+ declare const buttonVariants$1: (props?: ({
110
+ variant?: "secondary" | "outline" | "ghost" | "cancel" | "primary" | "cancelGhost" | null | undefined;
111
+ size?: "sm" | "md" | "lg" | "icon-sm" | null | undefined;
112
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
113
+ /**
114
+ * Interactive button with 6 variants and 4 sizes. Use `asChild` to render as any element via Radix Slot.
115
+ * When `isLoading` is true, a spinner is shown and clicks are blocked while keeping the not-allowed cursor.
116
+ */
117
+ declare function Button$1({ className, variant, size, asChild, isLoading, children, onClick, ...props }: ComponentProps<'button'> & VariantProps<typeof buttonVariants$1> & {
118
+ asChild?: boolean;
119
+ isLoading?: boolean;
120
+ }): react_jsx_runtime.JSX.Element;
121
+
122
+ declare function Calendar({ className, classNames, showOutsideDays, captionLayout, buttonVariant, locale, formatters, components, fromYear, toYear, ...props }: ComponentProps<typeof DayPicker> & {
123
+ buttonVariant?: ComponentProps<typeof Button$1>['variant'];
124
+ fromYear?: number;
125
+ toYear?: number;
126
+ }): react_jsx_runtime.JSX.Element;
127
+ declare function CalendarDayButton({ className, day, modifiers, locale, ...props }: ComponentProps<typeof DayButton> & {
128
+ locale?: Partial<Locale>;
129
+ }): react_jsx_runtime.JSX.Element;
130
+
131
+ type MiniCalendarProps = HTMLAttributes<HTMLDivElement> & {
132
+ value?: Date;
133
+ defaultValue?: Date;
134
+ onValueChange?: (date: Date | undefined) => void;
135
+ startDate?: Date;
136
+ defaultStartDate?: Date;
137
+ onStartDateChange?: (date: Date | undefined) => void;
138
+ days?: number;
139
+ };
140
+ declare const MiniCalendar: ({ value, defaultValue, onValueChange, startDate, defaultStartDate, onStartDateChange, days, className, children, ...props }: MiniCalendarProps) => react_jsx_runtime.JSX.Element;
141
+ type MiniCalendarNavigationProps = ButtonHTMLAttributes<HTMLButtonElement> & {
142
+ direction: 'prev' | 'next';
143
+ asChild?: boolean;
144
+ };
145
+ declare const MiniCalendarNavigation: ({ direction, asChild, children, onClick, ...props }: MiniCalendarNavigationProps) => react_jsx_runtime.JSX.Element;
146
+ type MiniCalendarDaysProps = Omit<HTMLAttributes<HTMLDivElement>, 'children'> & {
147
+ children: (date: Date) => ReactNode;
148
+ };
149
+ declare const MiniCalendarDays: ({ className, children, ...props }: MiniCalendarDaysProps) => react_jsx_runtime.JSX.Element;
150
+ type MiniCalendarDayProps = ComponentProps<typeof Button$1> & {
151
+ date: Date;
152
+ };
153
+ declare const MiniCalendarDay: ({ date, className, ...props }: MiniCalendarDayProps) => react_jsx_runtime.JSX.Element;
154
+
155
+ declare function Card({ className, size, ...props }: ComponentProps<'div'> & {
156
+ size?: 'default' | 'sm';
157
+ }): react_jsx_runtime.JSX.Element;
158
+ declare function CardHeader({ className, ...props }: ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
159
+ declare function CardTitle({ className, ...props }: ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
160
+ declare function CardDescription({ className, ...props }: ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
161
+ declare function CardAction({ className, ...props }: ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
162
+ declare function CardContent({ className, ...props }: ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
163
+ declare function CardFooter({ className, ...props }: ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
164
+
165
+ type CarouselApi = UseEmblaCarouselType[1];
166
+ type UseCarouselParameters = Parameters<typeof useEmblaCarousel>;
167
+ type CarouselOptions = UseCarouselParameters[0];
168
+ type CarouselPlugin = UseCarouselParameters[1];
169
+ type CarouselProps = {
170
+ opts?: CarouselOptions;
171
+ plugins?: CarouselPlugin;
172
+ orientation?: 'horizontal' | 'vertical';
173
+ setApi?: (api: CarouselApi) => void;
174
+ };
175
+ type CarouselContextProps = {
176
+ carouselRef: ReturnType<typeof useEmblaCarousel>[0];
177
+ api: ReturnType<typeof useEmblaCarousel>[1];
178
+ scrollPrev: () => void;
179
+ scrollNext: () => void;
180
+ canScrollPrev: boolean;
181
+ canScrollNext: boolean;
182
+ } & CarouselProps;
183
+ declare function useCarousel(): CarouselContextProps;
184
+ /**
185
+ * Carousel root. Wraps Embla Carousel with keyboard navigation, scroll state, and context.
186
+ * Use `orientation` for vertical mode and `opts` to pass Embla options directly.
187
+ */
188
+ declare function Carousel({ orientation, opts, setApi, plugins, className, children, ...props }: ComponentProps<'div'> & CarouselProps): react_jsx_runtime.JSX.Element;
189
+ /**
190
+ * Scrollable track wrapper. Direct child of `Carousel`. Wraps `CarouselItem` children.
191
+ */
192
+ declare function CarouselContent({ className, ...props }: ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
193
+ /**
194
+ * Individual slide. Use `className` with `basis-*` utilities to control how many slides are visible.
195
+ */
196
+ declare function CarouselItem({ className, ...props }: ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
197
+ /**
198
+ * Previous-slide button. Positioned absolutely to the left (horizontal) or top (vertical).
199
+ * Disabled automatically when there are no previous slides.
200
+ */
201
+ declare function CarouselPrevious({ className, variant, size, ...props }: ComponentProps<typeof Button$1>): react_jsx_runtime.JSX.Element;
202
+ /**
203
+ * Next-slide button. Positioned absolutely to the right (horizontal) or bottom (vertical).
204
+ * Disabled automatically when there are no next slides.
205
+ */
206
+ declare function CarouselNext({ className, variant, size, ...props }: ComponentProps<typeof Button$1>): react_jsx_runtime.JSX.Element;
207
+
208
+ declare function Field({ className, ...props }: ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
209
+ declare function FieldLabel({ className, ...props }: ComponentProps<'label'>): react_jsx_runtime.JSX.Element;
210
+ declare function FieldDescription({ className, ...props }: ComponentProps<'p'>): react_jsx_runtime.JSX.Element;
211
+ declare function FieldError({ errors, className }: {
212
+ errors?: unknown[];
213
+ className?: string;
214
+ }): react_jsx_runtime.JSX.Element | null;
215
+ declare function FieldGroup({ className, ...props }: ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
216
+
217
+ declare function Input({ className, type, ...props }: ComponentProps<'input'>): react_jsx_runtime.JSX.Element;
218
+
219
+ declare const linkVariants: (props?: ({
220
+ variant?: "underlined" | "plain" | null | undefined;
221
+ size?: "sm" | "md" | "lg" | "xs" | null | undefined;
222
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
223
+ declare function Link({ className, variant, size, asChild, disabled, target, rel, href, truncate, children, onClick, ...props }: Omit<ComponentProps<'a'>, 'onClick'> & VariantProps<typeof linkVariants> & {
224
+ asChild?: boolean;
225
+ disabled?: boolean;
226
+ truncate?: boolean;
227
+ onClick?: MouseEventHandler<HTMLElement>;
228
+ }): react_jsx_runtime.JSX.Element;
229
+
230
+ interface PinInputProps {
231
+ length?: number;
232
+ value?: string;
233
+ onChange?: (value: string) => void;
234
+ disabled?: boolean;
235
+ invalid?: boolean;
236
+ mask?: boolean;
237
+ className?: string;
238
+ inputClassName?: string;
239
+ }
240
+ declare function PinInput({ length, value, onChange, disabled, invalid, mask, className, inputClassName, }: PinInputProps): react_jsx_runtime.JSX.Element;
241
+
242
+ declare const toggleVariants: (props?: ({
243
+ variant?: "default" | "outline" | null | undefined;
244
+ size?: "sm" | "md" | "lg" | null | undefined;
245
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
246
+ declare function Toggle({ className, variant, size, ...props }: ComponentProps<typeof Toggle$1.Root> & VariantProps<typeof toggleVariants>): react_jsx_runtime.JSX.Element;
247
+
248
+ type SegmentedControlSingleProps = {
249
+ type: 'single';
250
+ value?: string;
251
+ defaultValue?: string;
252
+ onValueChange?: (value: string) => void;
253
+ };
254
+ type SegmentedControlMultipleProps = {
255
+ type: 'multiple';
256
+ value?: string[];
257
+ defaultValue?: string[];
258
+ onValueChange?: (value: string[]) => void;
259
+ };
260
+ type SegmentedControlProps = (SegmentedControlSingleProps | SegmentedControlMultipleProps) & VariantProps<typeof toggleVariants> & {
261
+ disabled?: boolean;
262
+ className?: string;
263
+ children?: ReactNode;
264
+ };
265
+ declare function SegmentedControl({ className, size, children, ...props }: SegmentedControlProps): react_jsx_runtime.JSX.Element;
266
+ declare function SegmentedControlItem({ className, children, value, ...props }: ComponentProps<typeof ToggleGroup$1.Item> & VariantProps<typeof toggleVariants>): react_jsx_runtime.JSX.Element;
267
+
268
+ declare function Select({ ...props }: ComponentProps<typeof Select$1.Root>): react_jsx_runtime.JSX.Element;
269
+ declare function SelectTrigger$1({ className, children, ...props }: ComponentProps<typeof Select$1.Trigger>): react_jsx_runtime.JSX.Element;
270
+ declare function SelectContent({ className, children, position, ...props }: ComponentProps<typeof Select$1.Content>): react_jsx_runtime.JSX.Element;
271
+ declare function SelectItem({ className, children, ...props }: ComponentProps<typeof Select$1.Item>): react_jsx_runtime.JSX.Element;
272
+ declare function SelectLabel({ className, ...props }: ComponentProps<typeof Select$1.Label>): react_jsx_runtime.JSX.Element;
273
+ declare function SelectSeparator({ className, ...props }: ComponentProps<typeof Select$1.Separator>): react_jsx_runtime.JSX.Element;
274
+ declare function SelectScrollUpButton({ className, ...props }: ComponentProps<typeof Select$1.ScrollUpButton>): react_jsx_runtime.JSX.Element;
275
+ declare function SelectScrollDownButton({ className, ...props }: ComponentProps<typeof Select$1.ScrollDownButton>): react_jsx_runtime.JSX.Element;
276
+ declare function SelectValue({ ...props }: ComponentProps<typeof Select$1.Value>): react_jsx_runtime.JSX.Element;
277
+ declare function SelectGroup({ ...props }: ComponentProps<typeof Select$1.Group>): react_jsx_runtime.JSX.Element;
278
+
279
+ declare function Separator({ className, orientation, decorative, ...props }: ComponentProps<typeof Separator$1.Root>): react_jsx_runtime.JSX.Element;
280
+
281
+ declare const progressVariants: (props?: ({
282
+ variant?: "default" | "success" | "warning" | "danger" | "orange" | null | undefined;
283
+ size?: "sm" | "md" | "lg" | null | undefined;
284
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
285
+ declare const progressIndicatorVariants: (props?: ({
286
+ variant?: "default" | "success" | "warning" | "danger" | "orange" | null | undefined;
287
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
288
+ interface ProgressProps extends ComponentProps<typeof Progress$1.Root>, VariantProps<typeof progressVariants> {
289
+ }
290
+ declare function Progress({ className, value, variant, size, ...props }: ProgressProps): react_jsx_runtime.JSX.Element;
291
+
292
+ declare const skeletonVariants: (props?: ({
293
+ variant?: "default" | "text" | "avatar" | null | undefined;
294
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
295
+ declare function Skeleton({ className, variant, ...props }: ComponentProps<'div'> & VariantProps<typeof skeletonVariants>): react_jsx_runtime.JSX.Element;
296
+
297
+ declare function Slider({ className, defaultValue, value, min, max, ...props }: ComponentProps<typeof Slider$1.Root>): react_jsx_runtime.JSX.Element;
298
+
299
+ declare function Switch({ className, size, ...props }: ComponentProps<typeof Switch$1.Root> & {
300
+ size?: 'sm' | 'default';
301
+ }): react_jsx_runtime.JSX.Element;
302
+
303
+ declare function Tabs({ defaultValue, value: controlledValue, onValueChange, ...props }: ComponentProps<typeof Tabs$1.Root>): react_jsx_runtime.JSX.Element;
304
+ declare function TabsList({ className, ...props }: ComponentProps<typeof Tabs$1.List>): react_jsx_runtime.JSX.Element;
305
+ declare function TabsTrigger({ className, value, children, ...props }: ComponentProps<typeof Tabs$1.Trigger>): react_jsx_runtime.JSX.Element;
306
+ declare function TabsContent({ className, value, children, ...props }: ComponentProps<typeof Tabs$1.Content>): react_jsx_runtime.JSX.Element;
307
+
308
+ type ToastType = 'default' | 'success' | 'error' | 'warning' | 'info' | 'loading';
309
+ interface ToastAction {
310
+ label: string;
311
+ onClick: () => void;
312
+ }
313
+ interface ToastItem {
314
+ id: string;
315
+ type: ToastType;
316
+ title: string;
317
+ description?: string;
318
+ duration: number;
319
+ action?: ToastAction;
320
+ }
321
+ type ToastOptions = Partial<Omit<ToastItem, 'id' | 'title' | 'type'>> & {
322
+ id?: string;
323
+ };
324
+ interface PromiseMessages<T> {
325
+ loading: string;
326
+ success: string | ((data: T) => string);
327
+ error: string | ((err: unknown) => string);
328
+ }
329
+ declare function useToast(): ((title: string, options?: ToastOptions) => string) & {
330
+ success: (title: string, options?: ToastOptions) => string;
331
+ error: (title: string, options?: ToastOptions) => string;
332
+ warning: (title: string, options?: ToastOptions) => string;
333
+ info: (title: string, options?: ToastOptions) => string;
334
+ loading: (title: string, options?: ToastOptions) => string;
335
+ dismiss: (id: string) => void;
336
+ promise: <T>(promise: Promise<T>, messages: PromiseMessages<T>) => string;
337
+ };
338
+ type ToasterPosition = 'top-right' | 'top-left' | 'top-center' | 'bottom-right' | 'bottom-left' | 'bottom-center';
339
+ interface ToasterProps {
340
+ position?: ToasterPosition;
341
+ richColors?: boolean;
342
+ closeButton?: boolean;
343
+ duration?: number;
344
+ children?: ReactNode;
345
+ }
346
+ declare function Toaster({ position, children }: ToasterProps): react_jsx_runtime.JSX.Element;
347
+
348
+ declare function ToggleGroup({ className, variant, size, spacing, orientation, children, ...props }: ComponentProps<typeof ToggleGroup$1.Root> & VariantProps<typeof toggleVariants> & {
349
+ spacing?: number;
350
+ orientation?: 'horizontal' | 'vertical';
351
+ }): react_jsx_runtime.JSX.Element;
352
+ declare function ToggleGroupItem({ className, children, variant, size, ...props }: ComponentProps<typeof ToggleGroup$1.Item> & VariantProps<typeof toggleVariants>): react_jsx_runtime.JSX.Element;
353
+
354
+ declare const tooltipContentVariants: (props?: ({
355
+ variant?: "default" | "primary" | null | undefined;
356
+ size?: "sm" | "md" | null | undefined;
357
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
358
+ declare function TooltipProvider({ delayDuration, ...props }: ComponentProps<typeof Tooltip$1.Provider>): react_jsx_runtime.JSX.Element;
359
+ declare function Tooltip({ ...props }: ComponentProps<typeof Tooltip$1.Root>): react_jsx_runtime.JSX.Element;
360
+ declare function TooltipTrigger({ ...props }: ComponentProps<typeof Tooltip$1.Trigger>): react_jsx_runtime.JSX.Element;
361
+ declare function TooltipContent({ className, sideOffset, variant, size, children, ...props }: ComponentProps<typeof Tooltip$1.Content> & VariantProps<typeof tooltipContentVariants>): react_jsx_runtime.JSX.Element;
362
+
363
+ declare function Popover({ ...props }: ComponentProps<typeof Popover$1.Root>): react_jsx_runtime.JSX.Element;
364
+ declare function PopoverTrigger({ ...props }: ComponentProps<typeof Popover$1.Trigger>): react_jsx_runtime.JSX.Element;
365
+ declare function PopoverContent({ className, align, sideOffset, ...props }: ComponentProps<typeof Popover$1.Content>): react_jsx_runtime.JSX.Element;
366
+ declare function PopoverAnchor({ ...props }: ComponentProps<typeof Popover$1.Anchor>): react_jsx_runtime.JSX.Element;
367
+ declare function PopoverHeader({ className, ...props }: ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
368
+ declare function PopoverTitle({ className, ...props }: ComponentProps<'h2'>): react_jsx_runtime.JSX.Element;
369
+ declare function PopoverDescription({ className, ...props }: ComponentProps<'p'>): react_jsx_runtime.JSX.Element;
370
+
371
+ declare const TEXT_SIZES: readonly [12, 14, 16, 18, 20, 24, 28, 32, 40, 48];
372
+ declare const TEXT_WEIGHTS: readonly [100, 200, 300, 400, 500, 700, 800, 900];
373
+ type TextSize = (typeof TEXT_SIZES)[number];
374
+ type TextWeight = (typeof TEXT_WEIGHTS)[number];
375
+ type TextAs = 'p' | 'span' | 'label' | 'small' | 'strong' | 'em';
376
+ interface TextProps extends Omit<HTMLAttributes<HTMLElement>, 'color'> {
377
+ /** HTML element to render */
378
+ as?: TextAs;
379
+ /** Font size in pixels */
380
+ size?: TextSize;
381
+ /** Font weight */
382
+ weight?: TextWeight;
383
+ /** Italic style */
384
+ italic?: boolean;
385
+ /** Optional CSS color value */
386
+ color?: string;
387
+ /** Text content */
388
+ children: ReactNode;
389
+ }
390
+ declare function Text({ as: Tag, size, weight, italic, color, className, style, children, ...props }: TextProps): react_jsx_runtime.JSX.Element;
391
+
392
+ declare function Dialog({ children, ...props }: ComponentProps<typeof Dialog$1.Root>): react_jsx_runtime.JSX.Element;
393
+ declare function DialogTrigger({ ...props }: ComponentProps<typeof Dialog$1.Trigger>): react_jsx_runtime.JSX.Element;
394
+ declare function DialogPortal({ children, ...props }: ComponentProps<typeof Dialog$1.Portal>): react_jsx_runtime.JSX.Element;
395
+ declare function DialogClose({ ...props }: ComponentProps<typeof Dialog$1.Close>): react_jsx_runtime.JSX.Element;
396
+ declare function DialogOverlay({ className, ...props }: ComponentProps<typeof Dialog$1.Overlay>): react_jsx_runtime.JSX.Element;
397
+ declare function DialogContent({ className, children, showCloseButton, ...props }: ComponentProps<typeof Dialog$1.Content> & {
398
+ showCloseButton?: boolean;
399
+ }): react_jsx_runtime.JSX.Element;
400
+ declare function DialogHeader({ className, ...props }: ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
401
+ declare function DialogBody({ className, ...props }: ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
402
+ declare function DialogFooter({ className, showCloseButton, children, ...props }: ComponentProps<'div'> & {
403
+ showCloseButton?: boolean;
404
+ }): react_jsx_runtime.JSX.Element;
405
+ declare function DialogTitle({ className, ...props }: ComponentProps<typeof Dialog$1.Title>): react_jsx_runtime.JSX.Element;
406
+ declare function DialogDescription({ className, ...props }: ComponentProps<typeof Dialog$1.Description>): react_jsx_runtime.JSX.Element;
407
+
408
+ declare function AlertDialog({ children, ...props }: ComponentProps<typeof AlertDialog$1.Root>): react_jsx_runtime.JSX.Element;
409
+ declare function AlertDialogTrigger({ ...props }: ComponentProps<typeof AlertDialog$1.Trigger>): react_jsx_runtime.JSX.Element;
410
+ declare function AlertDialogPortal({ children, ...props }: ComponentProps<typeof AlertDialog$1.Portal>): react_jsx_runtime.JSX.Element;
411
+ declare function AlertDialogOverlay({ className, ...props }: ComponentProps<typeof AlertDialog$1.Overlay>): react_jsx_runtime.JSX.Element;
412
+ declare function AlertDialogContent({ className, size, variant, showClose, children, ...props }: ComponentProps<typeof AlertDialog$1.Content> & {
413
+ size?: 'default' | 'sm';
414
+ variant?: 'default' | 'dark-glass';
415
+ showClose?: boolean;
416
+ }): react_jsx_runtime.JSX.Element;
417
+ declare function AlertDialogHeader({ className, ...props }: ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
418
+ declare function AlertDialogFooter({ className, ...props }: ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
419
+ declare function AlertDialogMedia({ className, ...props }: ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
420
+ declare function AlertDialogTitle({ className, ...props }: ComponentProps<typeof AlertDialog$1.Title>): react_jsx_runtime.JSX.Element;
421
+ declare function AlertDialogDescription({ className, ...props }: ComponentProps<typeof AlertDialog$1.Description>): react_jsx_runtime.JSX.Element;
422
+ declare function AlertDialogAction({ className, variant, size, children, ...props }: ComponentProps<typeof AlertDialog$1.Action> & Pick<ComponentProps<typeof Button$1>, 'variant' | 'size'>): react_jsx_runtime.JSX.Element;
423
+ declare function AlertDialogCancel({ className, variant, size, children, ...props }: ComponentProps<typeof AlertDialog$1.Cancel> & Pick<ComponentProps<typeof Button$1>, 'variant' | 'size'>): react_jsx_runtime.JSX.Element;
424
+
425
+ declare function Accordion({ className, ...props }: ComponentProps<typeof Accordion$1.Root>): react_jsx_runtime.JSX.Element;
426
+ declare function AccordionItem({ className, ...props }: ComponentProps<typeof Accordion$1.Item>): react_jsx_runtime.JSX.Element;
427
+ declare function AccordionTrigger({ className, children, ...props }: ComponentProps<typeof Accordion$1.Trigger>): react_jsx_runtime.JSX.Element;
428
+ declare function AccordionContent({ className, children, ...props }: ComponentProps<typeof Accordion$1.Content>): react_jsx_runtime.JSX.Element;
429
+
430
+ interface ComboboxOption {
431
+ value: string;
432
+ label: string;
433
+ disabled?: boolean;
434
+ }
435
+ interface ComboboxProps {
436
+ options: ComboboxOption[];
437
+ value?: string;
438
+ onValueChange?: (value: string) => void;
439
+ placeholder?: string;
440
+ searchPlaceholder?: string;
441
+ emptyMessage?: string;
442
+ disabled?: boolean;
443
+ className?: string;
444
+ }
445
+ declare function Combobox({ options, value, onValueChange, placeholder, searchPlaceholder, emptyMessage, disabled, className, }: ComboboxProps): react_jsx_runtime.JSX.Element;
446
+
447
+ declare function DropdownMenu({ ...props }: ComponentProps<typeof DropdownMenu$1.Root>): react_jsx_runtime.JSX.Element;
448
+ declare function DropdownMenuPortal({ ...props }: ComponentProps<typeof DropdownMenu$1.Portal>): react_jsx_runtime.JSX.Element;
449
+ declare function DropdownMenuTrigger({ ...props }: ComponentProps<typeof DropdownMenu$1.Trigger>): react_jsx_runtime.JSX.Element;
450
+ declare function DropdownMenuContent({ className, align, sideOffset, ...props }: ComponentProps<typeof DropdownMenu$1.Content>): react_jsx_runtime.JSX.Element;
451
+ declare function DropdownMenuGroup({ ...props }: ComponentProps<typeof DropdownMenu$1.Group>): react_jsx_runtime.JSX.Element;
452
+ declare function DropdownMenuItem({ className, inset, variant, ...props }: ComponentProps<typeof DropdownMenu$1.Item> & {
453
+ inset?: boolean;
454
+ variant?: 'default' | 'destructive';
455
+ }): react_jsx_runtime.JSX.Element;
456
+ declare function DropdownMenuCheckboxItem({ className, children, checked, inset, ...props }: ComponentProps<typeof DropdownMenu$1.CheckboxItem> & {
457
+ inset?: boolean;
458
+ }): react_jsx_runtime.JSX.Element;
459
+ declare function DropdownMenuRadioGroup({ ...props }: ComponentProps<typeof DropdownMenu$1.RadioGroup>): react_jsx_runtime.JSX.Element;
460
+ declare function DropdownMenuRadioItem({ className, children, inset, ...props }: ComponentProps<typeof DropdownMenu$1.RadioItem> & {
461
+ inset?: boolean;
462
+ }): react_jsx_runtime.JSX.Element;
463
+ declare function DropdownMenuLabel({ className, inset, ...props }: ComponentProps<typeof DropdownMenu$1.Label> & {
464
+ inset?: boolean;
465
+ }): react_jsx_runtime.JSX.Element;
466
+ declare function DropdownMenuSeparator({ className, ...props }: ComponentProps<typeof DropdownMenu$1.Separator>): react_jsx_runtime.JSX.Element;
467
+ declare function DropdownMenuShortcut({ className, ...props }: ComponentProps<'span'>): react_jsx_runtime.JSX.Element;
468
+ declare function DropdownMenuSub({ ...props }: ComponentProps<typeof DropdownMenu$1.Sub>): react_jsx_runtime.JSX.Element;
469
+ declare function DropdownMenuSubTrigger({ className, inset, children, ...props }: ComponentProps<typeof DropdownMenu$1.SubTrigger> & {
470
+ inset?: boolean;
471
+ }): react_jsx_runtime.JSX.Element;
472
+ declare function DropdownMenuSubContent({ className, ...props }: ComponentProps<typeof DropdownMenu$1.SubContent>): react_jsx_runtime.JSX.Element;
473
+
474
+ type DropzoneProps = Omit<DropzoneOptions, 'onDrop'> & {
475
+ src?: File[];
476
+ className?: string;
477
+ border?: 'default' | 'dashed';
478
+ onDrop?: (acceptedFiles: File[], fileRejections: FileRejection[], event: DropEvent) => void;
479
+ children?: ReactNode;
480
+ };
481
+ declare const Dropzone: ({ accept, maxFiles, maxSize, minSize, onDrop, onError, disabled, src, className, children, border, ...props }: DropzoneProps) => react_jsx_runtime.JSX.Element;
482
+ interface DropzoneContentProps {
483
+ children?: ReactNode;
484
+ className?: string;
485
+ }
486
+ declare const DropzoneContent: ({ children, className }: DropzoneContentProps) => string | number | bigint | true | Iterable<ReactNode> | Promise<string | number | bigint | boolean | react.ReactPortal | react.ReactElement<unknown, string | react.JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | react_jsx_runtime.JSX.Element | null;
487
+ interface DropzoneEmptyStateProps {
488
+ children?: ReactNode;
489
+ className?: string;
490
+ }
491
+ declare const DropzoneEmptyState: ({ children, className }: DropzoneEmptyStateProps) => string | number | bigint | true | Iterable<ReactNode> | Promise<string | number | bigint | boolean | react.ReactPortal | react.ReactElement<unknown, string | react.JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | react_jsx_runtime.JSX.Element | null;
492
+
493
+ declare function Empty({ className, ...props }: React.ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
494
+ declare function EmptyHeader({ className, ...props }: React.ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
495
+ declare const emptyMediaVariants: (props?: ({
496
+ variant?: "default" | "icon" | null | undefined;
497
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
498
+ declare function EmptyMedia({ className, variant, ...props }: React.ComponentProps<'div'> & VariantProps<typeof emptyMediaVariants>): react_jsx_runtime.JSX.Element;
499
+ declare function EmptyTitle({ className, ...props }: React.ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
500
+ declare function EmptyDescription({ className, ...props }: React.ComponentProps<'p'>): react_jsx_runtime.JSX.Element;
501
+ declare function EmptyContent({ className, ...props }: React.ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
502
+
503
+ declare function ItemGroup({ className, ...props }: ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
504
+ declare function ItemSeparator({ className, ...props }: ComponentProps<typeof Separator>): react_jsx_runtime.JSX.Element;
505
+ declare const itemVariants: (props?: ({
506
+ variant?: "default" | "outline" | "muted" | "highlighted" | null | undefined;
507
+ size?: "default" | "sm" | "xs" | null | undefined;
508
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
509
+ declare function Item({ className, variant, size, asChild, ...props }: ComponentProps<'div'> & VariantProps<typeof itemVariants> & {
510
+ asChild?: boolean;
511
+ }): react_jsx_runtime.JSX.Element;
512
+ declare const itemMediaVariants: (props?: ({
513
+ variant?: "default" | "icon" | "image" | null | undefined;
514
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
515
+ declare function ItemMedia({ className, variant, ...props }: ComponentProps<'div'> & VariantProps<typeof itemMediaVariants>): react_jsx_runtime.JSX.Element;
516
+ declare function ItemContent({ className, ...props }: ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
517
+ declare function ItemTitle({ className, ...props }: ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
518
+ declare function ItemDescription({ className, ...props }: ComponentProps<'p'>): react_jsx_runtime.JSX.Element;
519
+ declare function ItemActions({ className, ...props }: ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
520
+ declare function ItemHeader({ className, ...props }: ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
521
+ declare function ItemFooter({ className, ...props }: ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
522
+
523
+ declare function RadioGroup({ className, ...props }: ComponentProps<typeof RadioGroup$1.Root>): react_jsx_runtime.JSX.Element;
524
+ declare function RadioGroupItem({ className, ...props }: ComponentProps<typeof RadioGroup$1.Item>): react_jsx_runtime.JSX.Element;
525
+
526
+ declare const spinnerVariants: (props?: ({
527
+ size?: "sm" | "md" | "lg" | "xl" | null | undefined;
528
+ color?: "current" | "destructive" | "primary" | "white" | "muted" | null | undefined;
529
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
530
+ interface SpinnerProps extends Omit<ComponentProps<'svg'>, 'color'>, VariantProps<typeof spinnerVariants> {
531
+ }
532
+ declare function Spinner({ className, size, color, ...props }: SpinnerProps): react_jsx_runtime.JSX.Element;
533
+ declare const spinnerLoaderVariants: (props?: ({
534
+ size?: "sm" | "md" | "lg" | "xl" | null | undefined;
535
+ color?: "current" | "destructive" | "primary" | "white" | "muted" | null | undefined;
536
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
537
+ interface SpinnerLoaderProps extends Omit<ComponentProps<'svg'>, 'color'>, VariantProps<typeof spinnerLoaderVariants> {
538
+ }
539
+ declare function SpinnerLoader({ className, size, color, ...props }: SpinnerLoaderProps): react_jsx_runtime.JSX.Element;
540
+ declare const spinnerDotsVariants: (props?: ({
541
+ size?: "sm" | "md" | "lg" | "xl" | null | undefined;
542
+ color?: "current" | "destructive" | "primary" | "white" | "muted" | null | undefined;
543
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
544
+ interface SpinnerDotsProps extends VariantProps<typeof spinnerDotsVariants> {
545
+ className?: string;
546
+ }
547
+ declare function SpinnerDots({ className, size, color }: SpinnerDotsProps): react_jsx_runtime.JSX.Element;
548
+
549
+ declare const buttonVariants: (props?: ({
550
+ variant?: "default" | "link" | "secondary" | "destructive" | "outline" | "ghost" | null | undefined;
551
+ size?: "default" | "icon" | "sm" | "lg" | "icon-sm" | "xs" | "icon-xs" | "icon-lg" | null | undefined;
552
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
553
+ declare function Button({ className, variant, size, asChild, ...props }: ComponentProps<'button'> & VariantProps<typeof buttonVariants> & {
554
+ asChild?: boolean;
555
+ }): react_jsx_runtime.JSX.Element;
556
+
557
+ declare function SelectTrigger({ className, size, children, ...props }: ComponentProps<typeof Select$1.Trigger> & {
558
+ size?: 'sm' | 'default';
559
+ }): react_jsx_runtime.JSX.Element;
560
+
561
+ interface ColorPickerContextValue {
562
+ hue: number;
563
+ saturation: number;
564
+ lightness: number;
565
+ alpha: number;
566
+ mode: string;
567
+ setHue: (hue: number) => void;
568
+ setSaturation: (saturation: number) => void;
569
+ setLightness: (lightness: number) => void;
570
+ setAlpha: (alpha: number) => void;
571
+ setMode: (mode: string) => void;
572
+ }
573
+ declare const useColorPicker: () => ColorPickerContextValue;
574
+ type ColorPickerProps = Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> & {
575
+ value?: Parameters<typeof Color>[0];
576
+ defaultValue?: Parameters<typeof Color>[0];
577
+ onChange?: (value: [number, number, number, number]) => void;
578
+ };
579
+ declare const ColorPicker: ({ value, defaultValue, onChange, className, ...props }: ColorPickerProps) => react_jsx_runtime.JSX.Element;
580
+ type ColorPickerSelectionProps = HTMLAttributes<HTMLDivElement>;
581
+ declare const ColorPickerSelection: react.MemoExoticComponent<({ className, ...props }: ColorPickerSelectionProps) => react_jsx_runtime.JSX.Element>;
582
+ type ColorPickerHueProps = ComponentProps<typeof Slider$1.Root>;
583
+ declare const ColorPickerHue: ({ className, ...props }: ColorPickerHueProps) => react_jsx_runtime.JSX.Element;
584
+ type ColorPickerAlphaProps = ComponentProps<typeof Slider$1.Root>;
585
+ declare const ColorPickerAlpha: ({ className, ...props }: ColorPickerAlphaProps) => react_jsx_runtime.JSX.Element;
586
+ type ColorPickerEyeDropperProps = ComponentProps<typeof Button>;
587
+ declare const ColorPickerEyeDropper: ({ className, ...props }: ColorPickerEyeDropperProps) => react_jsx_runtime.JSX.Element;
588
+ type ColorPickerOutputProps = ComponentProps<typeof SelectTrigger>;
589
+ declare const ColorPickerOutput: ({ ...props }: ColorPickerOutputProps) => react_jsx_runtime.JSX.Element;
590
+ type ColorPickerFormatProps = HTMLAttributes<HTMLDivElement>;
591
+ declare const ColorPickerFormat: ({ className, ...props }: ColorPickerFormatProps) => react_jsx_runtime.JSX.Element | null;
592
+ type ColorPickerPresetsProps = HTMLAttributes<HTMLDivElement> & {
593
+ colors: string[];
594
+ };
595
+ declare const ColorPickerPresets: {
596
+ ({ colors, className, ...props }: ColorPickerPresetsProps): react_jsx_runtime.JSX.Element;
597
+ displayName: string;
598
+ };
599
+
600
+ interface DatePickerSingleProps {
601
+ mode?: 'single';
602
+ selected?: Date;
603
+ onSelect?: (date: Date | undefined) => void;
604
+ placeholder?: string;
605
+ disabled?: boolean;
606
+ className?: string;
607
+ fromDate?: Date;
608
+ toDate?: Date;
609
+ }
610
+ interface DatePickerRangeProps {
611
+ mode: 'range';
612
+ selected?: DateRange;
613
+ onSelect?: (range: DateRange | undefined) => void;
614
+ placeholder?: string;
615
+ disabled?: boolean;
616
+ className?: string;
617
+ fromDate?: Date;
618
+ toDate?: Date;
619
+ }
620
+ interface DatePickerProps {
621
+ mode?: 'single' | 'range';
622
+ selected?: Date | DateRange;
623
+ onSelect?: ((date: Date | undefined) => void) | ((range: DateRange | undefined) => void);
624
+ placeholder?: string;
625
+ disabled?: boolean;
626
+ className?: string;
627
+ fromDate?: Date;
628
+ toDate?: Date;
629
+ }
630
+ declare function DatePicker({ mode, selected, onSelect, placeholder, disabled, className, fromDate, toDate, }: DatePickerProps): react_jsx_runtime.JSX.Element;
631
+
632
+ interface NavbarDropdownItem {
633
+ href: string;
634
+ label: string;
635
+ icon?: ReactNode;
636
+ }
637
+ interface NavbarNavLink {
638
+ href: string;
639
+ label: string;
640
+ active?: boolean;
641
+ icon?: ReactNode;
642
+ /** If provided, hovering this link shows a dropdown */
643
+ dropdownItems?: NavbarDropdownItem[];
644
+ }
645
+ interface NavbarUtilityLink {
646
+ href: string;
647
+ label: string;
648
+ }
649
+ interface NavbarNotification {
650
+ id: string;
651
+ title: string;
652
+ description?: string;
653
+ read?: boolean;
654
+ timestamp?: string;
655
+ }
656
+ interface NavbarProps extends HTMLAttributes<HTMLElement> {
657
+ logo?: ReactNode;
658
+ brandName?: string;
659
+ utilityLinks?: NavbarUtilityLink[];
660
+ navigationLinks?: NavbarNavLink[];
661
+ notificationCount?: number;
662
+ notifications?: NavbarNotification[];
663
+ avatarSrc?: string;
664
+ avatarFallback?: string;
665
+ onNavLinkClick?: (href: string) => void;
666
+ onSearchClick?: () => void;
667
+ onHelpClick?: () => void;
668
+ onAvatarClick?: () => void;
669
+ onNotificationClick?: (id: string) => void;
670
+ }
671
+ declare const Logo: (props: SVGAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
672
+ /**
673
+ * @remarks
674
+ * Navigation dropdowns use `absolute` positioning without a Portal. If this
675
+ * component is placed inside a container with `overflow-hidden`, dropdowns will
676
+ * be clipped. Ensure all ancestor containers use `overflow-visible`.
677
+ */
678
+ declare const Navbar: react.ForwardRefExoticComponent<NavbarProps & react.RefAttributes<HTMLElement>>;
679
+
680
+ declare function NavigationMenu({ className, children, viewport, ...props }: ComponentProps<typeof NavigationMenu$1.Root> & {
681
+ viewport?: boolean;
682
+ }): react_jsx_runtime.JSX.Element;
683
+ declare function NavigationMenuList({ className, ...props }: ComponentProps<typeof NavigationMenu$1.List>): react_jsx_runtime.JSX.Element;
684
+ declare function NavigationMenuItem({ className, ...props }: ComponentProps<typeof NavigationMenu$1.Item>): react_jsx_runtime.JSX.Element;
685
+ declare const navigationMenuTriggerStyle: (props?: class_variance_authority_types.ClassProp | undefined) => string;
686
+ declare function NavigationMenuTrigger({ className, children, ...props }: ComponentProps<typeof NavigationMenu$1.Trigger>): react_jsx_runtime.JSX.Element;
687
+ declare function NavigationMenuContent({ className, ...props }: ComponentProps<typeof NavigationMenu$1.Content>): react_jsx_runtime.JSX.Element;
688
+ declare function NavigationMenuViewport({ className, ...props }: ComponentProps<typeof NavigationMenu$1.Viewport>): react_jsx_runtime.JSX.Element;
689
+ declare function NavigationMenuLink({ className, ...props }: ComponentProps<typeof NavigationMenu$1.Link>): react_jsx_runtime.JSX.Element;
690
+ declare function NavigationMenuIndicator({ className, ...props }: ComponentProps<typeof NavigationMenu$1.Indicator>): react_jsx_runtime.JSX.Element;
691
+
692
+ interface SidebarProviderProps extends HTMLAttributes<HTMLDivElement> {
693
+ defaultOpen?: boolean;
694
+ open?: boolean;
695
+ onOpenChange?: (open: boolean) => void;
696
+ }
697
+ declare const SidebarProvider: react.ForwardRefExoticComponent<SidebarProviderProps & react.RefAttributes<HTMLDivElement>>;
698
+ declare const SidebarTrigger: react.ForwardRefExoticComponent<Omit<react.ClassAttributes<HTMLButtonElement> & ButtonHTMLAttributes<HTMLButtonElement> & class_variance_authority.VariantProps<(props?: ({
699
+ variant?: "secondary" | "outline" | "ghost" | "cancel" | "primary" | "cancelGhost" | null | undefined;
700
+ size?: "sm" | "md" | "lg" | "icon-sm" | null | undefined;
701
+ } & class_variance_authority_types.ClassProp) | undefined) => string> & {
702
+ asChild?: boolean;
703
+ isLoading?: boolean;
704
+ }, "ref"> & react.RefAttributes<HTMLButtonElement>>;
705
+
706
+ interface AppShellItem {
707
+ label: string;
708
+ icon?: React.ReactNode;
709
+ active?: boolean;
710
+ onClick?: () => void;
711
+ permission?: string | string[];
712
+ permissionMode?: 'any' | 'all';
713
+ }
714
+ interface AppShellProps {
715
+ items?: AppShellItem[];
716
+ activeItem?: string;
717
+ onItemClick?: (label: string) => void;
718
+ brandName?: string;
719
+ showHeader?: boolean;
720
+ className?: string;
721
+ mainClassName?: string;
722
+ children?: React.ReactNode;
723
+ }
724
+ /**
725
+ * @remarks
726
+ * Internally wraps SidebarProvider (shadcn), which imposes `min-h-svh` on the root.
727
+ * This component overrides it with `min-h-0`.
728
+ *
729
+ * Use `mainClassName` to control styles on the inner `<main>` (scroll, padding, etc.).
730
+ */
731
+ declare function AppShell({ items, activeItem, onItemClick, brandName, showHeader, className, mainClassName, children, }: AppShellProps): react_jsx_runtime.JSX.Element;
732
+
733
+ declare function Textarea({ className, ...props }: ComponentProps<'textarea'>): react_jsx_runtime.JSX.Element;
734
+
735
+ interface CalendarEvent {
736
+ id: string | number;
737
+ title: string;
738
+ /** ISO format: "YYYY-MM-DD HH:mm" for timed events, "YYYY-MM-DD" for all-day */
739
+ start: string;
740
+ /** ISO format: "YYYY-MM-DD HH:mm" for timed events, "YYYY-MM-DD" for all-day */
741
+ end: string;
742
+ color?: 'default' | 'primary' | 'success' | 'warning' | 'danger';
743
+ description?: string;
744
+ [key: string]: unknown;
745
+ }
746
+ type CalendarView = 'month' | 'week' | 'day' | 'agenda';
747
+ interface EventCreateRange {
748
+ /** "YYYY-MM-DD HH:mm" for timed slot, "YYYY-MM-DD" for all-day slot */
749
+ start: string;
750
+ end: string;
751
+ }
752
+ interface EventCalendarProps {
753
+ events: CalendarEvent[];
754
+ /**
755
+ * Initial view. @schedule-x owns view state — use `key` prop to force reset.
756
+ * @default 'month'
757
+ */
758
+ defaultView?: CalendarView;
759
+ /** Fired whenever the user switches views inside the calendar. */
760
+ onViewChange?: (view: CalendarView) => void;
761
+ /**
762
+ * Initial selected date in "YYYY-MM-DD" format.
763
+ * @default today
764
+ */
765
+ defaultDate?: string;
766
+ /** Fired when the user clicks an existing event. */
767
+ onEventClick?: (event: CalendarEvent) => void;
768
+ /** Fired when the user double-clicks an empty slot. Use this to open a create-event dialog. */
769
+ onEventCreate?: (range: EventCreateRange) => void;
770
+ /**
771
+ * BCP 47 locale string for calendar labels.
772
+ * @default 'en-US'
773
+ */
774
+ locale?: string;
775
+ className?: string;
776
+ }
777
+
778
+ declare function EventCalendar({ events, defaultView, onViewChange, defaultDate, onEventClick, onEventCreate, locale, className, }: EventCalendarProps): react_jsx_runtime.JSX.Element;
779
+
780
+ declare const duration: {
781
+ readonly instant: 0.1;
782
+ readonly fast: 0.15;
783
+ readonly normal: 0.25;
784
+ readonly slow: 0.4;
785
+ };
786
+ declare const ease: {
787
+ readonly smooth: readonly [0.4, 0, 0.2, 1];
788
+ readonly enter: readonly [0, 0, 0.2, 1];
789
+ readonly exit: readonly [0.4, 0, 1, 1];
790
+ readonly linear: readonly [0, 0, 1, 1];
791
+ };
792
+ declare const spring: {
793
+ readonly gentle: {
794
+ readonly type: "spring";
795
+ readonly stiffness: 260;
796
+ readonly damping: 28;
797
+ };
798
+ readonly snappy: {
799
+ readonly type: "spring";
800
+ readonly stiffness: 400;
801
+ readonly damping: 30;
802
+ };
803
+ };
804
+ declare const transition: {
805
+ readonly button: {
806
+ readonly duration: 0.1;
807
+ readonly ease: readonly [0.4, 0, 0.2, 1];
808
+ };
809
+ readonly toggle: {
810
+ readonly type: "spring";
811
+ readonly stiffness: 400;
812
+ readonly damping: 30;
813
+ };
814
+ readonly input: {
815
+ readonly duration: 0.15;
816
+ readonly ease: readonly [0.4, 0, 0.2, 1];
817
+ };
818
+ readonly dropdown: {
819
+ readonly duration: 0.15;
820
+ readonly ease: readonly [0, 0, 0.2, 1];
821
+ };
822
+ readonly toast: {
823
+ readonly duration: 0.15;
824
+ readonly ease: readonly [0.4, 0, 0.2, 1];
825
+ };
826
+ readonly modal: {
827
+ readonly type: "spring";
828
+ readonly stiffness: 260;
829
+ readonly damping: 28;
830
+ };
831
+ readonly sidebar: {
832
+ readonly duration: 0.4;
833
+ readonly ease: readonly [0.4, 0, 0.2, 1];
834
+ };
835
+ readonly card: {
836
+ readonly duration: 0.15;
837
+ readonly ease: readonly [0.4, 0, 0.2, 1];
838
+ };
839
+ };
840
+ declare const fadeIn: {
841
+ readonly hidden: {
842
+ readonly opacity: 0;
843
+ };
844
+ readonly visible: {
845
+ readonly opacity: 1;
846
+ readonly transition: {
847
+ readonly duration: 0.15;
848
+ readonly ease: readonly [0, 0, 0.2, 1];
849
+ };
850
+ };
851
+ readonly exit: {
852
+ readonly opacity: 0;
853
+ readonly transition: {
854
+ readonly duration: 0.15;
855
+ readonly ease: readonly [0.4, 0, 1, 1];
856
+ };
857
+ };
858
+ };
859
+ declare const slideUp: {
860
+ readonly hidden: {
861
+ readonly opacity: 0;
862
+ readonly y: 8;
863
+ };
864
+ readonly visible: {
865
+ readonly opacity: 1;
866
+ readonly y: 0;
867
+ readonly transition: {
868
+ readonly duration: 0.15;
869
+ readonly ease: readonly [0, 0, 0.2, 1];
870
+ };
871
+ };
872
+ readonly exit: {
873
+ readonly opacity: 0;
874
+ readonly y: 4;
875
+ readonly transition: {
876
+ readonly duration: 0.15;
877
+ readonly ease: readonly [0.4, 0, 1, 1];
878
+ };
879
+ };
880
+ };
881
+ declare const slideRight: {
882
+ readonly hidden: {
883
+ readonly opacity: 0;
884
+ readonly x: -12;
885
+ };
886
+ readonly visible: {
887
+ readonly opacity: 1;
888
+ readonly x: 0;
889
+ readonly transition: {
890
+ readonly duration: 0.4;
891
+ readonly ease: readonly [0.4, 0, 0.2, 1];
892
+ };
893
+ };
894
+ readonly exit: {
895
+ readonly opacity: 0;
896
+ readonly x: -12;
897
+ readonly transition: {
898
+ readonly duration: 0.25;
899
+ readonly ease: readonly [0.4, 0, 1, 1];
900
+ };
901
+ };
902
+ };
903
+ declare const scaleIn: {
904
+ readonly hidden: {
905
+ readonly opacity: 0;
906
+ readonly scale: 0.97;
907
+ };
908
+ readonly visible: {
909
+ readonly opacity: 1;
910
+ readonly scale: 1;
911
+ readonly transition: {
912
+ readonly type: "spring";
913
+ readonly stiffness: 260;
914
+ readonly damping: 28;
915
+ };
916
+ };
917
+ readonly exit: {
918
+ readonly opacity: 0;
919
+ readonly scale: 0.97;
920
+ readonly transition: {
921
+ readonly duration: 0.15;
922
+ readonly ease: readonly [0.4, 0, 1, 1];
923
+ };
924
+ };
925
+ };
926
+ declare const stagger: {
927
+ readonly container: {
928
+ readonly hidden: {};
929
+ readonly visible: {
930
+ readonly transition: {
931
+ readonly staggerChildren: 0.06;
932
+ readonly delayChildren: 0.05;
933
+ };
934
+ };
935
+ };
936
+ readonly item: {
937
+ readonly hidden: {
938
+ readonly opacity: 0;
939
+ readonly y: 6;
940
+ };
941
+ readonly visible: {
942
+ readonly opacity: 1;
943
+ readonly y: 0;
944
+ readonly transition: {
945
+ readonly duration: 0.15;
946
+ readonly ease: readonly [0.4, 0, 0.2, 1];
947
+ };
948
+ };
949
+ };
950
+ };
951
+ declare const animation: {
952
+ readonly duration: {
953
+ readonly instant: 0.1;
954
+ readonly fast: 0.15;
955
+ readonly normal: 0.25;
956
+ readonly slow: 0.4;
957
+ };
958
+ readonly ease: {
959
+ readonly smooth: readonly [0.4, 0, 0.2, 1];
960
+ readonly enter: readonly [0, 0, 0.2, 1];
961
+ readonly exit: readonly [0.4, 0, 1, 1];
962
+ readonly linear: readonly [0, 0, 1, 1];
963
+ };
964
+ readonly spring: {
965
+ readonly gentle: {
966
+ readonly type: "spring";
967
+ readonly stiffness: 260;
968
+ readonly damping: 28;
969
+ };
970
+ readonly snappy: {
971
+ readonly type: "spring";
972
+ readonly stiffness: 400;
973
+ readonly damping: 30;
974
+ };
975
+ };
976
+ readonly transition: {
977
+ readonly button: {
978
+ readonly duration: 0.1;
979
+ readonly ease: readonly [0.4, 0, 0.2, 1];
980
+ };
981
+ readonly toggle: {
982
+ readonly type: "spring";
983
+ readonly stiffness: 400;
984
+ readonly damping: 30;
985
+ };
986
+ readonly input: {
987
+ readonly duration: 0.15;
988
+ readonly ease: readonly [0.4, 0, 0.2, 1];
989
+ };
990
+ readonly dropdown: {
991
+ readonly duration: 0.15;
992
+ readonly ease: readonly [0, 0, 0.2, 1];
993
+ };
994
+ readonly toast: {
995
+ readonly duration: 0.15;
996
+ readonly ease: readonly [0.4, 0, 0.2, 1];
997
+ };
998
+ readonly modal: {
999
+ readonly type: "spring";
1000
+ readonly stiffness: 260;
1001
+ readonly damping: 28;
1002
+ };
1003
+ readonly sidebar: {
1004
+ readonly duration: 0.4;
1005
+ readonly ease: readonly [0.4, 0, 0.2, 1];
1006
+ };
1007
+ readonly card: {
1008
+ readonly duration: 0.15;
1009
+ readonly ease: readonly [0.4, 0, 0.2, 1];
1010
+ };
1011
+ };
1012
+ readonly variants: {
1013
+ readonly fadeIn: {
1014
+ readonly hidden: {
1015
+ readonly opacity: 0;
1016
+ };
1017
+ readonly visible: {
1018
+ readonly opacity: 1;
1019
+ readonly transition: {
1020
+ readonly duration: 0.15;
1021
+ readonly ease: readonly [0, 0, 0.2, 1];
1022
+ };
1023
+ };
1024
+ readonly exit: {
1025
+ readonly opacity: 0;
1026
+ readonly transition: {
1027
+ readonly duration: 0.15;
1028
+ readonly ease: readonly [0.4, 0, 1, 1];
1029
+ };
1030
+ };
1031
+ };
1032
+ readonly slideUp: {
1033
+ readonly hidden: {
1034
+ readonly opacity: 0;
1035
+ readonly y: 8;
1036
+ };
1037
+ readonly visible: {
1038
+ readonly opacity: 1;
1039
+ readonly y: 0;
1040
+ readonly transition: {
1041
+ readonly duration: 0.15;
1042
+ readonly ease: readonly [0, 0, 0.2, 1];
1043
+ };
1044
+ };
1045
+ readonly exit: {
1046
+ readonly opacity: 0;
1047
+ readonly y: 4;
1048
+ readonly transition: {
1049
+ readonly duration: 0.15;
1050
+ readonly ease: readonly [0.4, 0, 1, 1];
1051
+ };
1052
+ };
1053
+ };
1054
+ readonly slideRight: {
1055
+ readonly hidden: {
1056
+ readonly opacity: 0;
1057
+ readonly x: -12;
1058
+ };
1059
+ readonly visible: {
1060
+ readonly opacity: 1;
1061
+ readonly x: 0;
1062
+ readonly transition: {
1063
+ readonly duration: 0.4;
1064
+ readonly ease: readonly [0.4, 0, 0.2, 1];
1065
+ };
1066
+ };
1067
+ readonly exit: {
1068
+ readonly opacity: 0;
1069
+ readonly x: -12;
1070
+ readonly transition: {
1071
+ readonly duration: 0.25;
1072
+ readonly ease: readonly [0.4, 0, 1, 1];
1073
+ };
1074
+ };
1075
+ };
1076
+ readonly scaleIn: {
1077
+ readonly hidden: {
1078
+ readonly opacity: 0;
1079
+ readonly scale: 0.97;
1080
+ };
1081
+ readonly visible: {
1082
+ readonly opacity: 1;
1083
+ readonly scale: 1;
1084
+ readonly transition: {
1085
+ readonly type: "spring";
1086
+ readonly stiffness: 260;
1087
+ readonly damping: 28;
1088
+ };
1089
+ };
1090
+ readonly exit: {
1091
+ readonly opacity: 0;
1092
+ readonly scale: 0.97;
1093
+ readonly transition: {
1094
+ readonly duration: 0.15;
1095
+ readonly ease: readonly [0.4, 0, 1, 1];
1096
+ };
1097
+ };
1098
+ };
1099
+ readonly stagger: {
1100
+ readonly container: {
1101
+ readonly hidden: {};
1102
+ readonly visible: {
1103
+ readonly transition: {
1104
+ readonly staggerChildren: 0.06;
1105
+ readonly delayChildren: 0.05;
1106
+ };
1107
+ };
1108
+ };
1109
+ readonly item: {
1110
+ readonly hidden: {
1111
+ readonly opacity: 0;
1112
+ readonly y: 6;
1113
+ };
1114
+ readonly visible: {
1115
+ readonly opacity: 1;
1116
+ readonly y: 0;
1117
+ readonly transition: {
1118
+ readonly duration: 0.15;
1119
+ readonly ease: readonly [0.4, 0, 0.2, 1];
1120
+ };
1121
+ };
1122
+ };
1123
+ };
1124
+ };
1125
+ };
1126
+ type AnimationTokens = typeof animation;
1127
+
1128
+ declare function useAppForm<T extends ZodType>(schema: T, options?: Omit<UseFormProps<z.infer<T> & FieldValues>, 'resolver'>): react_hook_form.UseFormReturn<z.core.output<T> & FieldValues, any, z.core.output<T> & FieldValues>;
1129
+
1130
+ declare const logos: {
1131
+ readonly color: "https://dibt9vplwriap.cloudfront.net/logos/Logo_Total_Color.webp";
1132
+ readonly colorAna: "https://dibt9vplwriap.cloudfront.net/logos/Logo_Total_Color-ANA.webp";
1133
+ readonly colorAnaa: "https://dibt9vplwriap.cloudfront.net/logos/Logo_Total_Color-ANAA.webp";
1134
+ readonly negative: "https://dibt9vplwriap.cloudfront.net/logos/Logo_Total_Negative.webp";
1135
+ readonly positive: "https://dibt9vplwriap.cloudfront.net/logos/Logo_Total_Positive.webp";
1136
+ readonly grayScale: "https://dibt9vplwriap.cloudfront.net/logos/Logo_Total_gray_scale.webp";
1137
+ readonly monochBlack: "https://dibt9vplwriap.cloudfront.net/logos/Logo_Total_monochB.webp";
1138
+ readonly monochOrange: "https://dibt9vplwriap.cloudfront.net/logos/Logo_Total_monochO.webp";
1139
+ };
1140
+ type LogoKey = keyof typeof logos;
1141
+
1142
+ declare function Table({ className, containerClassName, ...props }: ComponentProps<'table'> & {
1143
+ /**
1144
+ * Classes for the scroll container that wraps the table. Defaults to
1145
+ * `overflow-x-auto` for horizontal scrolling. Pass `overflow-visible` when an
1146
+ * outer element already owns scrolling (e.g. a sticky-header data table) —
1147
+ * a nested scroll container would otherwise trap `position: sticky` cells.
1148
+ */
1149
+ containerClassName?: string;
1150
+ }): react_jsx_runtime.JSX.Element;
1151
+ declare function TableHeader({ className, ...props }: ComponentProps<'thead'>): react_jsx_runtime.JSX.Element;
1152
+ declare function TableBody({ className, ...props }: ComponentProps<'tbody'>): react_jsx_runtime.JSX.Element;
1153
+ declare function TableFooter({ className, ...props }: ComponentProps<'tfoot'>): react_jsx_runtime.JSX.Element;
1154
+ declare function TableRow({ className, ...props }: ComponentProps<'tr'>): react_jsx_runtime.JSX.Element;
1155
+ declare function TableHead({ className, ...props }: ComponentProps<'th'>): react_jsx_runtime.JSX.Element;
1156
+ declare function TableCell({ className, ...props }: ComponentProps<'td'>): react_jsx_runtime.JSX.Element;
1157
+ declare function TableCaption({ className, ...props }: ComponentProps<'caption'>): react_jsx_runtime.JSX.Element;
1158
+
1159
+ declare function Checkbox({ className, checked, ...props }: ComponentProps<typeof Checkbox$1.Root>): react_jsx_runtime.JSX.Element;
1160
+
1161
+ type TableCellSize = 'sm' | 'md' | 'lg';
1162
+ type TableVariant = 'default' | 'striped';
1163
+ type SortDirection = 'asc' | 'desc' | false;
1164
+ type CellAlignment = 'left' | 'center' | 'right';
1165
+ interface ColumnMeta {
1166
+ align?: CellAlignment;
1167
+ size?: TableCellSize;
1168
+ sortable?: boolean;
1169
+ filterable?: boolean;
1170
+ ellipsis?: boolean;
1171
+ variant?: 'default' | 'numeric';
1172
+ width?: string | number;
1173
+ className?: string;
1174
+ pinned?: 'left' | 'right' | false;
1175
+ /** Override the field label shown in mobile card view. Uses column header string by default. */
1176
+ cardLabel?: string;
1177
+ /** Exclude this column from the mobile card view entirely. Default: false */
1178
+ hideInCard?: boolean;
1179
+ /** Disable resize handle for this column. Only relevant when DataTable has enableColumnResizing=true. Default: true */
1180
+ resizable?: boolean;
1181
+ }
1182
+ type TableColumnDef<T> = ColumnDef<T, unknown> & {
1183
+ meta?: ColumnMeta;
1184
+ };
1185
+ interface TableClassNames<T> {
1186
+ wrapper?: string;
1187
+ table?: string;
1188
+ header?: string;
1189
+ body?: string;
1190
+ row?: string | ((row: Row<T>) => string);
1191
+ cell?: string | ((row: Row<T>) => string);
1192
+ }
1193
+ interface DataTableProps<T = unknown> {
1194
+ data: T[];
1195
+ columns: TableColumnDef<T>[];
1196
+ size?: TableCellSize;
1197
+ variant?: TableVariant;
1198
+ isLoading?: boolean;
1199
+ /** Pins the header row while scrolling. Requires `maxHeight` — without a bounded scroll container, sticky has no effect. */
1200
+ stickyHeader?: boolean;
1201
+ /** Sets the scroll container height. Required when using `stickyHeader`. Accepts any valid CSS value (e.g. `"500px"`, `"60vh"`). */
1202
+ maxHeight?: string | number;
1203
+ sorting?: SortingState;
1204
+ defaultSorting?: SortingState;
1205
+ onSortingChange?: (state: SortingState) => void;
1206
+ enableSorting?: boolean;
1207
+ manualSorting?: boolean;
1208
+ columnFilters?: ColumnFiltersState;
1209
+ defaultColumnFilters?: ColumnFiltersState;
1210
+ onColumnFiltersChange?: (state: ColumnFiltersState) => void;
1211
+ enableFiltering?: boolean;
1212
+ manualFiltering?: boolean;
1213
+ onRowClick?: (row: T) => void;
1214
+ classNames?: TableClassNames<T>;
1215
+ getUniqueValues?: (columnId: string) => string[];
1216
+ /** Custom content rendered when data is empty and not loading. Default: "No results found". */
1217
+ emptyState?: ReactNode;
1218
+ rowSelection?: RowSelectionState;
1219
+ defaultRowSelection?: RowSelectionState;
1220
+ onRowSelectionChange?: (state: RowSelectionState) => void;
1221
+ enableRowSelection?: boolean;
1222
+ /** Called with the original row objects whenever selection changes */
1223
+ onSelectedRowsChange?: (rows: T[]) => void;
1224
+ /** Media query below which card layout renders. Default: "(max-width: 767px)" */
1225
+ responsiveBreakpoint?: string;
1226
+ /** Set true to disable auto-responsive behaviour. Default: false */
1227
+ disableResponsive?: boolean;
1228
+ /** Number of skeleton rows shown in card view while loading. Default: 5 */
1229
+ skeletonRowCount?: number;
1230
+ /** Called once on mount with the TanStack Table instance — pass to DataTableToolbar */
1231
+ onTableReady?: (table: Table$1<T>) => void;
1232
+ /**
1233
+ * Rendered inside the DataTable context provider, above the table wrapper.
1234
+ * Use this to place DataTableToolbar and DataTableSearch so they have full
1235
+ * access to context (globalFilter, size, columnVisibility, etc.).
1236
+ */
1237
+ toolbar?: ReactNode;
1238
+ tableId?: string;
1239
+ globalFilter?: string;
1240
+ defaultGlobalFilter?: string;
1241
+ onGlobalFilterChange?: (value: string) => void;
1242
+ columnVisibility?: VisibilityState;
1243
+ defaultColumnVisibility?: VisibilityState;
1244
+ onColumnVisibilityChange?: (state: VisibilityState) => void;
1245
+ columnSizing?: ColumnSizingState;
1246
+ defaultColumnSizing?: ColumnSizingState;
1247
+ onColumnSizingChange?: (state: ColumnSizingState) => void;
1248
+ /** Enable column resize handles. Default: false */
1249
+ enableColumnResizing?: boolean;
1250
+ /** Called when the user changes density from the toolbar */
1251
+ onSizeChange?: (size: TableCellSize) => void;
1252
+ }
1253
+ interface TableContextType<T = unknown> {
1254
+ size: TableCellSize;
1255
+ variant: TableVariant;
1256
+ sorting: SortingState;
1257
+ setSorting: (state: SortingState) => void;
1258
+ columnFilters: ColumnFiltersState;
1259
+ setColumnFilters: (state: ColumnFiltersState) => void;
1260
+ getUniqueValues?: (columnId: string) => string[];
1261
+ onRowClick?: (row: T) => void;
1262
+ rowSelection: RowSelectionState;
1263
+ setRowSelection: (state: RowSelectionState) => void;
1264
+ globalFilter: string;
1265
+ setGlobalFilter: (value: string) => void;
1266
+ columnVisibility: VisibilityState;
1267
+ setColumnVisibility: (state: VisibilityState) => void;
1268
+ columnSizing: ColumnSizingState;
1269
+ setColumnSizing: (state: ColumnSizingState) => void;
1270
+ setSize: (size: TableCellSize) => void;
1271
+ /** The underlying TanStack Table instance — available inside the DataTable context. */
1272
+ table: Table$1<T>;
1273
+ }
1274
+ interface TablePaginationProps {
1275
+ page: number;
1276
+ totalPages: number;
1277
+ perPage: number;
1278
+ totalRecords?: number;
1279
+ rowsPerPageOptions?: number[];
1280
+ onPageChange: (newPage: number) => void;
1281
+ onPerPageChange: (newPerPage: number) => void;
1282
+ }
1283
+
1284
+ declare function Pagination({ className, ...props }: ComponentProps<'nav'>): react_jsx_runtime.JSX.Element;
1285
+ declare function PaginationContent({ className, ...props }: ComponentProps<'ul'>): react_jsx_runtime.JSX.Element;
1286
+ declare function PaginationItem({ ...props }: ComponentProps<'li'>): react_jsx_runtime.JSX.Element;
1287
+ type PaginationLinkProps = {
1288
+ isActive?: boolean;
1289
+ } & Pick<ComponentProps<typeof Button$1>, 'size'> & ComponentProps<'a'>;
1290
+ declare function PaginationLink({ className, isActive, size, ...props }: PaginationLinkProps): react_jsx_runtime.JSX.Element;
1291
+ declare function PaginationPrevious({ className, text, ...props }: ComponentProps<typeof PaginationLink> & {
1292
+ text?: string;
1293
+ }): react_jsx_runtime.JSX.Element;
1294
+ declare function PaginationNext({ className, text, ...props }: ComponentProps<typeof PaginationLink> & {
1295
+ text?: string;
1296
+ }): react_jsx_runtime.JSX.Element;
1297
+ declare function PaginationEllipsis({ className, ...props }: ComponentProps<'span'>): react_jsx_runtime.JSX.Element;
1298
+ declare function TablePaginationBase({ page, totalPages, perPage, totalRecords, rowsPerPageOptions, onPageChange, onPerPageChange, }: TablePaginationProps): react_jsx_runtime.JSX.Element;
1299
+ declare const TablePagination: react.MemoExoticComponent<typeof TablePaginationBase>;
1300
+
1301
+ declare function useTableContext<T = unknown>(): TableContextType<T>;
1302
+
1303
+ declare function DataTable<T>({ data, columns, size, variant, isLoading, stickyHeader, maxHeight, sorting, defaultSorting, onSortingChange, enableSorting, manualSorting, columnFilters, defaultColumnFilters, onColumnFiltersChange, enableFiltering, manualFiltering, onRowClick, classNames, getUniqueValues, emptyState, rowSelection, defaultRowSelection, onRowSelectionChange, enableRowSelection, onSelectedRowsChange, responsiveBreakpoint, disableResponsive, skeletonRowCount, onTableReady, tableId, globalFilter, defaultGlobalFilter, onGlobalFilterChange, columnVisibility, defaultColumnVisibility, onColumnVisibilityChange, columnSizing, defaultColumnSizing, onColumnSizingChange, enableColumnResizing, onSizeChange, toolbar, }: DataTableProps<T>): react_jsx_runtime.JSX.Element;
1304
+
1305
+ interface FilterOptionProps {
1306
+ value: string;
1307
+ checked: boolean;
1308
+ onChange: (value: string, checked: boolean) => void;
1309
+ }
1310
+ declare const FilterOption: react.NamedExoticComponent<FilterOptionProps>;
1311
+ interface DataTableColumnFilterProps {
1312
+ options: string[];
1313
+ selectedValues: string[];
1314
+ onChange: (values: string[]) => void;
1315
+ searchPlaceholder?: string;
1316
+ /** Human-readable column name used to build accessible labels. */
1317
+ columnLabel?: string;
1318
+ }
1319
+ declare function DataTableColumnFilter({ options, selectedValues, onChange, searchPlaceholder, columnLabel, }: DataTableColumnFilterProps): react_jsx_runtime.JSX.Element;
1320
+
1321
+ interface DataTableSkeletonProps {
1322
+ columnCount: number;
1323
+ rowCount?: number;
1324
+ size?: TableCellSize;
1325
+ }
1326
+ declare function DataTableSkeleton({ columnCount, rowCount, size }: DataTableSkeletonProps): react_jsx_runtime.JSX.Element;
1327
+
1328
+ interface DataTableHeaderCellProps<T> {
1329
+ header: Header<T, unknown>;
1330
+ }
1331
+ declare function DataTableHeaderCell<T>({ header }: DataTableHeaderCellProps<T>): react_jsx_runtime.JSX.Element;
1332
+
1333
+ interface UseTableSortingProps {
1334
+ /**
1335
+ * Controlled sorting state (optional)
1336
+ * If provided, the component operates in controlled mode
1337
+ */
1338
+ sorting?: SortingState;
1339
+ /**
1340
+ * Default sorting state for uncontrolled mode
1341
+ * @default []
1342
+ */
1343
+ defaultSorting?: SortingState;
1344
+ /**
1345
+ * Callback fired when sorting changes
1346
+ * Required for controlled mode, optional for uncontrolled
1347
+ */
1348
+ onSortingChange?: (sorting: SortingState) => void;
1349
+ }
1350
+ interface UseTableSortingReturn {
1351
+ /**
1352
+ * Current sorting state (controlled or internal)
1353
+ */
1354
+ sortingState: SortingState;
1355
+ /**
1356
+ * Handler for TanStack Table's onSortingChange
1357
+ */
1358
+ handleSortingChange: (updater: Updater<SortingState>) => void;
1359
+ /**
1360
+ * Whether the component is in controlled mode
1361
+ */
1362
+ isControlled: boolean;
1363
+ /**
1364
+ * Manual setter for uncontrolled mode (useful for imperative actions)
1365
+ */
1366
+ setSorting: (sorting: SortingState) => void;
1367
+ }
1368
+ /**
1369
+ * Hook to manage table sorting state (controlled or uncontrolled)
1370
+ *
1371
+ * @example Uncontrolled mode
1372
+ * ```tsx
1373
+ * const { sortingState, handleSortingChange } = useTableSorting({
1374
+ * defaultSorting: [{ id: 'name', desc: false }],
1375
+ * onSortingChange: (state) => console.log(state)
1376
+ * });
1377
+ * ```
1378
+ *
1379
+ * @example Controlled mode
1380
+ * ```tsx
1381
+ * const [sorting, setSorting] = useState<SortingState>([]);
1382
+ * const { sortingState, handleSortingChange } = useTableSorting({
1383
+ * sorting,
1384
+ * onSortingChange: setSorting
1385
+ * });
1386
+ * ```
1387
+ */
1388
+ declare function useTableSorting({ sorting: controlledSorting, defaultSorting, onSortingChange, }: UseTableSortingProps): UseTableSortingReturn;
1389
+
1390
+ interface UseTableFilteringProps {
1391
+ /**
1392
+ * Controlled column filters state (optional)
1393
+ * If provided, the component operates in controlled mode
1394
+ */
1395
+ columnFilters?: ColumnFiltersState;
1396
+ /**
1397
+ * Default column filters state for uncontrolled mode
1398
+ * @default []
1399
+ */
1400
+ defaultColumnFilters?: ColumnFiltersState;
1401
+ /**
1402
+ * Callback fired when column filters change
1403
+ * Required for controlled mode, optional for uncontrolled
1404
+ */
1405
+ onColumnFiltersChange?: (columnFilters: ColumnFiltersState) => void;
1406
+ }
1407
+ interface UseTableFilteringReturn {
1408
+ /**
1409
+ * Current column filters state (controlled or internal)
1410
+ */
1411
+ columnFiltersState: ColumnFiltersState;
1412
+ /**
1413
+ * Handler for TanStack Table's onColumnFiltersChange
1414
+ */
1415
+ handleColumnFiltersChange: (updater: Updater<ColumnFiltersState>) => void;
1416
+ /**
1417
+ * Whether the component is in controlled mode
1418
+ */
1419
+ isControlled: boolean;
1420
+ /**
1421
+ * Manual setter for uncontrolled mode (useful for imperative actions)
1422
+ */
1423
+ setColumnFilters: (columnFilters: ColumnFiltersState) => void;
1424
+ }
1425
+ /**
1426
+ * Hook to manage table column filtering state (controlled or uncontrolled)
1427
+ *
1428
+ * @example Uncontrolled mode
1429
+ * ```tsx
1430
+ * const { columnFiltersState, handleColumnFiltersChange } = useTableFiltering({
1431
+ * defaultColumnFilters: [{ id: 'status', value: ['Active'] }],
1432
+ * onColumnFiltersChange: (state) => console.log(state)
1433
+ * });
1434
+ * ```
1435
+ *
1436
+ * @example Controlled mode
1437
+ * ```tsx
1438
+ * const [filters, setFilters] = useState<ColumnFiltersState>([]);
1439
+ * const { columnFiltersState, handleColumnFiltersChange } = useTableFiltering({
1440
+ * columnFilters: filters,
1441
+ * onColumnFiltersChange: setFilters
1442
+ * });
1443
+ * ```
1444
+ */
1445
+ declare function useTableFiltering({ columnFilters: controlledFilters, defaultColumnFilters, onColumnFiltersChange, }: UseTableFilteringProps): UseTableFilteringReturn;
1446
+
1447
+ declare function useColumnFilter(columnId: string): {
1448
+ selectedValues: string[];
1449
+ handleChange: (values: string[]) => void;
1450
+ };
1451
+
1452
+ interface UseTableDataProps<T> {
1453
+ data: T[];
1454
+ columns: ColumnDef<T, unknown>[];
1455
+ initialPage?: number;
1456
+ initialPerPage?: number;
1457
+ initialSorting?: SortingState;
1458
+ initialColumnFilters?: ColumnFiltersState;
1459
+ }
1460
+ interface UseTableDataReturn<T> {
1461
+ paginatedData: T[];
1462
+ processedData: T[];
1463
+ page: number;
1464
+ perPage: number;
1465
+ totalPages: number;
1466
+ totalRecords: number;
1467
+ filteredRecords: number;
1468
+ setPage: (page: number) => void;
1469
+ setPerPage: (perPage: number) => void;
1470
+ sorting: SortingState;
1471
+ setSorting: (sorting: SortingState) => void;
1472
+ columnFilters: ColumnFiltersState;
1473
+ setColumnFilters: (filters: ColumnFiltersState) => void;
1474
+ getUniqueValues: (columnId: string) => string[];
1475
+ }
1476
+ declare function useTableData<T extends Record<string, unknown>>({ data, columns, initialPage, initialPerPage, initialSorting, initialColumnFilters, }: UseTableDataProps<T>): UseTableDataReturn<T>;
1477
+
1478
+ /**
1479
+ * Extracts unique values from a column in the dataset
1480
+ * @param data - The array of data objects
1481
+ * @param columnId - The column identifier
1482
+ * @param accessor - Optional accessor function to get the value from a row
1483
+ * @returns Array of unique string values, sorted alphabetically
1484
+ */
1485
+ declare function getUniqueColumnValues<T>(data: T[], columnId: string, accessor?: (row: T, index: number) => unknown): string[];
1486
+ /**
1487
+ * Custom filter function for TanStack Table multi-select filtering
1488
+ * Checks if the row's value is included in the array of selected filter values
1489
+ * @param row - The row being filtered
1490
+ * @param columnId - The column identifier
1491
+ * @param filterValue - Array of selected filter values
1492
+ * @returns true if the row should be included in filtered results
1493
+ */
1494
+ declare function multiSelectFilter<T>(row: Row<T>, columnId: string, filterValue: unknown): boolean;
1495
+ /**
1496
+ * Searches for a term within an array of items (case-insensitive)
1497
+ * @param items - Array of items to search through
1498
+ * @param searchTerm - The search term
1499
+ * @returns Filtered array of items matching the search term
1500
+ */
1501
+ declare function searchInArray(items: string[], searchTerm: string): string[];
1502
+ /**
1503
+ * Gets the count of rows for each unique value in a column
1504
+ * Useful for showing counts next to filter options (e.g., "Active (5)")
1505
+ * @param data - The array of data objects
1506
+ * @param columnId - The column identifier
1507
+ * @param accessor - Optional accessor function to get the value from a row
1508
+ * @returns Object mapping values to their counts
1509
+ */
1510
+ declare function getColumnValueCounts<T>(data: T[], columnId: string, accessor?: (row: T, index: number) => unknown): Record<string, number>;
1511
+ /**
1512
+ * Checks if a column has active filters
1513
+ * @param columnFilters - Current column filters state
1514
+ * @param columnId - The column identifier
1515
+ * @returns true if the column has active filters
1516
+ */
1517
+ declare function hasActiveFilters(columnFilters: ColumnFiltersState, columnId: string): boolean;
1518
+ /**
1519
+ * Gets the active filter values for a specific column
1520
+ * @param columnFilters - Current column filters state
1521
+ * @param columnId - The column identifier
1522
+ * @returns Array of active filter values for the column
1523
+ */
1524
+ declare function getActiveFilterValues(columnFilters: ColumnFiltersState, columnId: string): string[];
1525
+ /**
1526
+ * Gets the count of active filters across all columns
1527
+ * @param columnFilters - Current column filters state
1528
+ * @returns Total number of active filter values
1529
+ */
1530
+ declare function getActiveFilterCount(columnFilters: ColumnFiltersState): number;
1531
+
1532
+ /**
1533
+ * Backend sorting format - object representation
1534
+ * Example: { name: 'asc', created_at: 'desc' }
1535
+ */
1536
+ type SortRecord = Record<string, 'asc' | 'desc'>;
1537
+ /**
1538
+ * Converts TanStack Table SortingState to backend-friendly record format
1539
+ *
1540
+ * @param sortingState - TanStack sorting state array
1541
+ * @returns Object with field names as keys and 'asc'/'desc' as values
1542
+ *
1543
+ * @example
1544
+ * ```ts
1545
+ * const sortingState = [
1546
+ * { id: 'name', desc: false },
1547
+ * { id: 'created_at', desc: true }
1548
+ * ];
1549
+ *
1550
+ * const sortRecord = sortingStateToRecord(sortingState);
1551
+ * // Result: { name: 'asc', created_at: 'desc' }
1552
+ * ```
1553
+ */
1554
+ declare function sortingStateToRecord(sortingState: SortingState): SortRecord;
1555
+ /**
1556
+ * Converts backend sort record to TanStack Table SortingState
1557
+ * Useful for initializing sorting state from backend response
1558
+ *
1559
+ * @param sortRecord - Object with field names and sort directions
1560
+ * @returns TanStack sorting state array
1561
+ *
1562
+ * @example
1563
+ * ```ts
1564
+ * const sortRecord = { name: 'asc', created_at: 'desc' };
1565
+ *
1566
+ * const sortingState = sortRecordToSortingState(sortRecord);
1567
+ * // Result: [
1568
+ * // { id: 'name', desc: false },
1569
+ * // { id: 'created_at', desc: true }
1570
+ * // ]
1571
+ * ```
1572
+ */
1573
+ declare function sortRecordToSortingState(sortRecord: SortRecord): SortingState;
1574
+ /**
1575
+ * Converts SortingState to JSON string ready to send to Laravel backend
1576
+ * This is a convenience function for API calls
1577
+ *
1578
+ * @param sortingState - TanStack sorting state array
1579
+ * @returns JSON string representation of sort record
1580
+ *
1581
+ * @example
1582
+ * ```ts
1583
+ * const sortingState = [{ id: 'name', desc: false }];
1584
+ * const sortsParam = sortingStateToJsonString(sortingState);
1585
+ * // Result: '{"name":"asc"}'
1586
+ *
1587
+ * // Use in API call:
1588
+ * fetch(`/api/users?sorts=${sortsParam}`);
1589
+ * ```
1590
+ */
1591
+ declare function sortingStateToJsonString(sortingState: SortingState): string;
1592
+ /**
1593
+ * Creates URLSearchParams for backend pagination with sorting
1594
+ * Compatible with Laravel PaginateHelper
1595
+ *
1596
+ * @param options - Pagination and sorting options
1597
+ * @returns URLSearchParams ready to append to API request
1598
+ *
1599
+ * @example
1600
+ * ```ts
1601
+ * const params = createBackendParams({
1602
+ * sorting: [{ id: 'name', desc: false }],
1603
+ * perPage: 20,
1604
+ * genericSearch: 'john',
1605
+ * filters: { role: 'admin', status: 'active' }
1606
+ * });
1607
+ *
1608
+ * fetch(`/api/users?${params.toString()}`);
1609
+ * // Result: /api/users?sorts={"name":"asc"}&perPage=20&genericSearch=john&filters={"role":"admin","status":"active"}
1610
+ * ```
1611
+ */
1612
+ declare function createBackendParams(options: {
1613
+ sorting?: SortingState;
1614
+ perPage?: number;
1615
+ genericSearch?: string;
1616
+ filters?: Record<string, unknown>;
1617
+ }): URLSearchParams;
1618
+
1619
+ /**
1620
+ * Converts ColumnFiltersState to a simple object format
1621
+ * Example: [{ id: 'status', value: ['Active', 'Pending'] }]
1622
+ * => { status: ['Active', 'Pending'] }
1623
+ *
1624
+ * @param filters - The column filters state from TanStack Table
1625
+ * @returns Object with columnId as keys and filter values as values
1626
+ */
1627
+ declare function columnFiltersToRecord(filters: ColumnFiltersState): Record<string, string[]>;
1628
+ /**
1629
+ * Converts ColumnFiltersState to a JSON string
1630
+ * Useful for API calls that expect JSON format
1631
+ *
1632
+ * @param filters - The column filters state from TanStack Table
1633
+ * @returns JSON string representation of filters
1634
+ */
1635
+ declare function columnFiltersToJsonString(filters: ColumnFiltersState): string;
1636
+ /**
1637
+ * Converts ColumnFiltersState to URL query params format
1638
+ * Example: [{ id: 'status', value: ['Active', 'Pending'] }]
1639
+ * => 'filter[status]=Active,Pending'
1640
+ *
1641
+ * @param filters - The column filters state from TanStack Table
1642
+ * @param separator - Separator for multiple values (default: ',')
1643
+ * @returns Object suitable for URLSearchParams
1644
+ */
1645
+ declare function columnFiltersToQueryParams(filters: ColumnFiltersState, separator?: string): Record<string, string>;
1646
+ /**
1647
+ * Converts ColumnFiltersState to individual query params per value
1648
+ * Example: [{ id: 'status', value: ['Active', 'Pending'] }]
1649
+ * => 'filter[status][]=Active&filter[status][]=Pending'
1650
+ *
1651
+ * @param filters - The column filters state from TanStack Table
1652
+ * @returns Object suitable for URLSearchParams with array notation
1653
+ */
1654
+ declare function columnFiltersToArrayQueryParams(filters: ColumnFiltersState): Record<string, string[]>;
1655
+ /**
1656
+ * Creates complete backend request params with filters, sorting, and pagination
1657
+ * Combines filtering with other table features
1658
+ *
1659
+ * @param options - Configuration object
1660
+ * @param options.filters - Column filters state
1661
+ * @param options.sorts - Optional sorting state
1662
+ * @param options.page - Optional page number
1663
+ * @param options.perPage - Optional items per page
1664
+ * @returns Complete params object for API requests
1665
+ */
1666
+ declare function createBackendParamsWithFilters({ filters, sorts, page, perPage, }: {
1667
+ filters: ColumnFiltersState;
1668
+ sorts?: Array<{
1669
+ id: string;
1670
+ desc: boolean;
1671
+ }>;
1672
+ page?: number;
1673
+ perPage?: number;
1674
+ }): Record<string, string | number>;
1675
+ /**
1676
+ * Parses URL query params back to ColumnFiltersState
1677
+ * Useful for restoring filters from URL
1678
+ *
1679
+ * @param params - URLSearchParams or query string
1680
+ * @param separator - Separator used in the query params (default: ',')
1681
+ * @returns ColumnFiltersState
1682
+ */
1683
+ declare function parseQueryParamsToFilters(params: URLSearchParams | string, separator?: string): ColumnFiltersState;
1684
+ /**
1685
+ * Parses JSON string back to ColumnFiltersState
1686
+ *
1687
+ * @param jsonString - JSON string representation of filters
1688
+ * @returns ColumnFiltersState
1689
+ */
1690
+ declare function parseJsonToFilters(jsonString: string): ColumnFiltersState;
1691
+ /**
1692
+ * Merges multiple filter states, with later filters overriding earlier ones
1693
+ *
1694
+ * @param filterStates - Multiple ColumnFiltersState arrays to merge
1695
+ * @returns Merged ColumnFiltersState
1696
+ */
1697
+ declare function mergeFilters(...filterStates: ColumnFiltersState[]): ColumnFiltersState;
1698
+
1699
+ interface RowAction<T> {
1700
+ label: string;
1701
+ onClick: (row: T) => void;
1702
+ /** Renders a separator above this item */
1703
+ separator?: boolean;
1704
+ disabled?: boolean | ((row: T) => boolean);
1705
+ /** Renders item in destructive (red) style */
1706
+ destructive?: boolean;
1707
+ }
1708
+ interface DataTableRowActionsProps<T> {
1709
+ row: T;
1710
+ actions: RowAction<T>[];
1711
+ /** Screen-reader label for the trigger button. Default: "Open actions" */
1712
+ label?: string;
1713
+ }
1714
+ declare function DataTableRowActions<T>({ row, actions, label, }: DataTableRowActionsProps<T>): react_jsx_runtime.JSX.Element;
1715
+
1716
+ interface DataTableFooterProps {
1717
+ pagination: TablePaginationProps;
1718
+ /** Selected row count — renders "N row(s) selected" on the left */
1719
+ selectedCount?: number;
1720
+ className?: string;
1721
+ }
1722
+ declare function DataTableFooter({ pagination, selectedCount, className }: DataTableFooterProps): react_jsx_runtime.JSX.Element;
1723
+
1724
+ interface DataTableCardViewProps<T> {
1725
+ rows: Row<T>[];
1726
+ columns: Column<T, unknown>[];
1727
+ size?: TableCellSize;
1728
+ variant?: TableVariant;
1729
+ onRowClick?: (row: T) => void;
1730
+ isLoading?: boolean;
1731
+ skeletonRowCount?: number;
1732
+ emptyState?: ReactNode;
1733
+ }
1734
+ declare function DataTableCardView<T>({ rows, columns, size, variant, onRowClick, isLoading, skeletonRowCount, emptyState, }: DataTableCardViewProps<T>): react_jsx_runtime.JSX.Element;
1735
+
1736
+ interface DataTableToolbarProps<T> {
1737
+ /** TanStack Table instance. Optional when toolbar is rendered inside DataTable's toolbar prop (context available). */
1738
+ table?: Table$1<T>;
1739
+ /** Slot rendered on the left — e.g. search input, bulk-action buttons */
1740
+ leading?: ReactNode;
1741
+ /** Slot rendered on the right alongside the Columns button */
1742
+ trailing?: ReactNode;
1743
+ className?: string;
1744
+ /** Hide the built-in Columns visibility toggle. Default: false */
1745
+ hideColumnsToggle?: boolean;
1746
+ /** Hide the density toggle. Default: false */
1747
+ hideDensityToggle?: boolean;
1748
+ /**
1749
+ * Pass columnFilters directly if Toolbar is rendered outside DataTable's
1750
+ * context provider. When inside a DataTable, this is read from context.
1751
+ */
1752
+ columnFilters?: ColumnFiltersState;
1753
+ }
1754
+ declare function DataTableToolbar<T>({ table: tableProp, leading, trailing, className, hideColumnsToggle, hideDensityToggle, columnFilters: columnFiltersProp, }: DataTableToolbarProps<T>): react_jsx_runtime.JSX.Element;
1755
+
1756
+ interface DataTableSearchProps {
1757
+ placeholder?: string;
1758
+ className?: string;
1759
+ /** Debounce delay in ms before committing to context. Default: 300 */
1760
+ debounce?: number;
1761
+ }
1762
+ declare function DataTableSearch({ placeholder, className, debounce, }: DataTableSearchProps): react_jsx_runtime.JSX.Element;
1763
+
1764
+ interface UseTableGlobalFilterProps {
1765
+ /**
1766
+ * Controlled global filter state (optional)
1767
+ * If provided, the component operates in controlled mode
1768
+ */
1769
+ globalFilter?: string;
1770
+ /**
1771
+ * Default global filter state for uncontrolled mode
1772
+ * @default ''
1773
+ */
1774
+ defaultGlobalFilter?: string;
1775
+ /**
1776
+ * Callback fired when global filter changes
1777
+ * Required for controlled mode, optional for uncontrolled
1778
+ */
1779
+ onGlobalFilterChange?: (value: string) => void;
1780
+ }
1781
+ interface UseTableGlobalFilterReturn {
1782
+ /**
1783
+ * Current global filter state (controlled or internal)
1784
+ */
1785
+ globalFilterState: string;
1786
+ /**
1787
+ * Handler for global filter changes
1788
+ */
1789
+ handleGlobalFilterChange: (value: string) => void;
1790
+ /**
1791
+ * Whether the component is in controlled mode
1792
+ */
1793
+ isControlled: boolean;
1794
+ /**
1795
+ * Manual setter for uncontrolled mode (useful for imperative actions)
1796
+ */
1797
+ setGlobalFilter: (value: string) => void;
1798
+ }
1799
+ /**
1800
+ * Hook to manage table global filter state (controlled or uncontrolled)
1801
+ *
1802
+ * @example Uncontrolled mode
1803
+ * ```tsx
1804
+ * const { globalFilterState, handleGlobalFilterChange } = useTableGlobalFilter({
1805
+ * defaultGlobalFilter: '',
1806
+ * onGlobalFilterChange: (state) => console.log(state)
1807
+ * });
1808
+ * ```
1809
+ *
1810
+ * @example Controlled mode
1811
+ * ```tsx
1812
+ * const [globalFilter, setGlobalFilter] = useState<string>('');
1813
+ * const { globalFilterState, handleGlobalFilterChange } = useTableGlobalFilter({
1814
+ * globalFilter,
1815
+ * onGlobalFilterChange: setGlobalFilter
1816
+ * });
1817
+ * ```
1818
+ */
1819
+ declare function useTableGlobalFilter({ globalFilter: controlledFilter, defaultGlobalFilter, onGlobalFilterChange, }: UseTableGlobalFilterProps): UseTableGlobalFilterReturn;
1820
+
1821
+ interface UseTableVisibilityProps {
1822
+ /**
1823
+ * Controlled column visibility state (optional)
1824
+ * If provided, the component operates in controlled mode
1825
+ */
1826
+ columnVisibility?: VisibilityState;
1827
+ /**
1828
+ * Default column visibility state for uncontrolled mode
1829
+ * @default {}
1830
+ */
1831
+ defaultColumnVisibility?: VisibilityState;
1832
+ /**
1833
+ * Callback fired when column visibility changes
1834
+ * Required for controlled mode, optional for uncontrolled
1835
+ */
1836
+ onColumnVisibilityChange?: (state: VisibilityState) => void;
1837
+ }
1838
+ interface UseTableVisibilityReturn {
1839
+ /**
1840
+ * Current column visibility state (controlled or internal)
1841
+ */
1842
+ columnVisibilityState: VisibilityState;
1843
+ /**
1844
+ * Handler for TanStack Table's onColumnVisibilityChange
1845
+ */
1846
+ handleColumnVisibilityChange: (updater: Updater<VisibilityState>) => void;
1847
+ /**
1848
+ * Whether the component is in controlled mode
1849
+ */
1850
+ isControlled: boolean;
1851
+ /**
1852
+ * Manual setter for uncontrolled mode (useful for imperative actions)
1853
+ */
1854
+ setColumnVisibility: (state: VisibilityState) => void;
1855
+ }
1856
+ /**
1857
+ * Hook to manage table column visibility state (controlled or uncontrolled)
1858
+ *
1859
+ * @example Uncontrolled mode
1860
+ * ```tsx
1861
+ * const { columnVisibilityState, handleColumnVisibilityChange } = useTableVisibility({
1862
+ * defaultColumnVisibility: { email: false },
1863
+ * onColumnVisibilityChange: (state) => console.log(state)
1864
+ * });
1865
+ * ```
1866
+ *
1867
+ * @example Controlled mode
1868
+ * ```tsx
1869
+ * const [visibility, setVisibility] = useState<VisibilityState>({});
1870
+ * const { columnVisibilityState, handleColumnVisibilityChange } = useTableVisibility({
1871
+ * columnVisibility: visibility,
1872
+ * onColumnVisibilityChange: setVisibility
1873
+ * });
1874
+ * ```
1875
+ */
1876
+ declare function useTableVisibility({ columnVisibility: controlledVisibility, defaultColumnVisibility, onColumnVisibilityChange, }: UseTableVisibilityProps): UseTableVisibilityReturn;
1877
+
1878
+ interface UseTableSizingProps {
1879
+ /**
1880
+ * Controlled column sizing state (optional)
1881
+ * If provided, the component operates in controlled mode
1882
+ */
1883
+ columnSizing?: ColumnSizingState;
1884
+ /**
1885
+ * Default column sizing state for uncontrolled mode
1886
+ * @default {}
1887
+ */
1888
+ defaultColumnSizing?: ColumnSizingState;
1889
+ /**
1890
+ * Callback fired when column sizing changes
1891
+ * Required for controlled mode, optional for uncontrolled
1892
+ */
1893
+ onColumnSizingChange?: (state: ColumnSizingState) => void;
1894
+ }
1895
+ interface UseTableSizingReturn {
1896
+ /**
1897
+ * Current column sizing state (controlled or internal)
1898
+ */
1899
+ columnSizingState: ColumnSizingState;
1900
+ /**
1901
+ * Handler for TanStack Table's onColumnSizingChange
1902
+ */
1903
+ handleColumnSizingChange: (updater: Updater<ColumnSizingState>) => void;
1904
+ /**
1905
+ * Whether the component is in controlled mode
1906
+ */
1907
+ isControlled: boolean;
1908
+ /**
1909
+ * Manual setter for uncontrolled mode (useful for imperative actions)
1910
+ */
1911
+ setColumnSizing: (state: ColumnSizingState) => void;
1912
+ }
1913
+ /**
1914
+ * Hook to manage table column sizing state (controlled or uncontrolled)
1915
+ *
1916
+ * @example Uncontrolled mode
1917
+ * ```tsx
1918
+ * const { columnSizingState, handleColumnSizingChange } = useTableSizing({
1919
+ * defaultColumnSizing: { name: 150, email: 200 },
1920
+ * onColumnSizingChange: (state) => console.log(state)
1921
+ * });
1922
+ * ```
1923
+ *
1924
+ * @example Controlled mode
1925
+ * ```tsx
1926
+ * const [sizing, setSizing] = useState<ColumnSizingState>({});
1927
+ * const { columnSizingState, handleColumnSizingChange } = useTableSizing({
1928
+ * columnSizing: sizing,
1929
+ * onColumnSizingChange: setSizing
1930
+ * });
1931
+ * ```
1932
+ */
1933
+ declare function useTableSizing({ columnSizing: controlledSizing, defaultColumnSizing, onColumnSizingChange, }: UseTableSizingProps): UseTableSizingReturn;
1934
+
1935
+ interface CanProps {
1936
+ permission: string | string[];
1937
+ mode?: 'any' | 'all';
1938
+ negate?: boolean;
1939
+ fallback?: ReactNode;
1940
+ children: ReactNode | ((allowed: boolean) => ReactNode);
1941
+ }
1942
+ type CanNotProps = Omit<CanProps, 'negate'>;
1943
+ /** Renders children when the user has the required permission(s). Requires `AbilityProvider` in the tree. */
1944
+ declare function Can({ permission, mode, negate, fallback, children }: CanProps): react_jsx_runtime.JSX.Element;
1945
+ declare namespace Can {
1946
+ var displayName: string;
1947
+ }
1948
+ /** Renders children when the user does NOT have the required permission(s). Alias for `<Can negate />`. Requires `AbilityProvider` in the tree. */
1949
+ declare function CanNot({ permission, mode, fallback, children }: CanNotProps): react_jsx_runtime.JSX.Element;
1950
+ declare namespace CanNot {
1951
+ var displayName: string;
1952
+ }
1953
+
1954
+ interface AbilityContextValue {
1955
+ can: (permissions: string | string[], mode?: 'any' | 'all') => boolean;
1956
+ setAbilities: (permissions: string[]) => void;
1957
+ clearAbilities: () => void;
1958
+ }
1959
+ interface AbilityProviderProps {
1960
+ children: ReactNode;
1961
+ permissions?: string[];
1962
+ }
1963
+ /**
1964
+ * @param pattern - an entry from the user's grant set (may contain `*` as a segment wildcard)
1965
+ * @param permission - the permission being requested (from `Can.perform`)
1966
+ */
1967
+ declare function matchPermission(pattern: string, permission: string): boolean;
1968
+ declare function AbilityProvider({ children, permissions }: AbilityProviderProps): react_jsx_runtime.JSX.Element;
1969
+ declare function useAbility(): AbilityContextValue;
1970
+ declare function useCan(permissions: string | string[], mode?: 'any' | 'all'): boolean;
1971
+
1972
+ interface TCCEProviderProps {
1973
+ children: ReactNode;
1974
+ permissions?: string[];
1975
+ toasterPosition?: ToasterPosition;
1976
+ tooltipDelayDuration?: number;
1977
+ }
1978
+ declare function TCCEProvider({ children, permissions, toasterPosition, tooltipDelayDuration, }: TCCEProviderProps): react_jsx_runtime.JSX.Element;
1979
+
1980
+ export { type AbilityContextValue, AbilityProvider, type AbilityProviderProps, Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, type AnimationTokens, AppShell, type AppShellItem, type AppShellProps, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, Badge, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button$1 as Button, Calendar, CalendarDayButton, type CalendarEvent, type CalendarView, Can, CanNot, type CanNotProps, type CanProps, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, type CarouselApi, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CellAlignment, Checkbox, ColorPicker, ColorPickerAlpha, type ColorPickerAlphaProps, ColorPickerEyeDropper, type ColorPickerEyeDropperProps, ColorPickerFormat, type ColorPickerFormatProps, ColorPickerHue, type ColorPickerHueProps, ColorPickerOutput, type ColorPickerOutputProps, ColorPickerPresets, type ColorPickerPresetsProps, type ColorPickerProps, ColorPickerSelection, type ColorPickerSelectionProps, type ColumnMeta, Combobox, type ComboboxOption, type ComboboxProps, DataTable, DataTableCardView, type DataTableCardViewProps, DataTableColumnFilter, type DataTableColumnFilterProps, DataTableFooter, type DataTableFooterProps, DataTableHeaderCell, type DataTableHeaderCellProps, type DataTableProps, DataTableRowActions, type DataTableRowActionsProps, DataTableSearch, type DataTableSearchProps, DataTableSkeleton, type DataTableSkeletonProps, DataTableToolbar, type DataTableToolbarProps, DatePicker, type DatePickerProps, type DatePickerRangeProps, type DatePickerSingleProps, Dialog, DialogBody, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Dropzone, DropzoneContent, type DropzoneContentProps, DropzoneEmptyState, type DropzoneEmptyStateProps, type DropzoneProps, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle, EventCalendar, type EventCalendarProps, type EventCreateRange, Field, FieldDescription, FieldError, FieldGroup, FieldLabel, FilterOption, type FilterOptionProps, Input, Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle, Link, Logo, type LogoKey, MiniCalendar, MiniCalendarDay, type MiniCalendarDayProps, MiniCalendarDays, type MiniCalendarDaysProps, MiniCalendarNavigation, type MiniCalendarNavigationProps, type MiniCalendarProps, Navbar, type NavbarDropdownItem, type NavbarNavLink, type NavbarNotification, type NavbarProps, type NavbarUtilityLink, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, PinInput, type PinInputProps, Popover, PopoverAnchor, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, Progress, type ProgressProps, RadioGroup, RadioGroupItem, type RowAction, SegmentedControl, SegmentedControlItem, type SegmentedControlProps, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger$1 as SelectTrigger, SelectValue, Separator, SidebarProvider, SidebarTrigger, Skeleton, Slider, type SortDirection, type SortRecord, Spinner, SpinnerDots, type SpinnerDotsProps, SpinnerLoader, type SpinnerLoaderProps, type SpinnerProps, Status, StatusIndicator, type StatusIndicatorProps, StatusLabel, type StatusLabelProps, type StatusProps, Switch, TCCEProvider, type TCCEProviderProps, TEXT_SIZES, TEXT_WEIGHTS, Table, TableBody, TableCaption, TableCell, type TableCellSize, type TableClassNames, type TableColumnDef, type TableContextType, TableFooter, TableHead, TableHeader, TablePagination, type TablePaginationProps, TableRow, type TableVariant, Tabs, TabsContent, TabsList, TabsTrigger, Text, type TextAs, type TextProps, type TextSize, type TextWeight, Textarea, type ToastAction, type ToastItem, type ToastType, Toaster, type ToasterPosition, type ToasterProps, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, type UseTableDataProps, type UseTableDataReturn, type UseTableFilteringProps, type UseTableFilteringReturn, type UseTableGlobalFilterProps, type UseTableGlobalFilterReturn, type UseTableSizingProps, type UseTableSizingReturn, type UseTableSortingProps, type UseTableSortingReturn, type UseTableVisibilityProps, type UseTableVisibilityReturn, alertVariants, animation, avatarVariants, badgeVariants, buttonVariants$1 as buttonVariants, columnFiltersToArrayQueryParams, columnFiltersToJsonString, columnFiltersToQueryParams, columnFiltersToRecord, createBackendParams, createBackendParamsWithFilters, duration, ease, fadeIn, getActiveFilterCount, getActiveFilterValues, getColumnValueCounts, getUniqueColumnValues, hasActiveFilters, linkVariants, logos, matchPermission, mergeFilters, multiSelectFilter, navigationMenuTriggerStyle, parseJsonToFilters, parseQueryParamsToFilters, progressIndicatorVariants, progressVariants, scaleIn, searchInArray, skeletonVariants, slideRight, slideUp, sortRecordToSortingState, sortingStateToJsonString, sortingStateToRecord, spinnerDotsVariants, spinnerLoaderVariants, spinnerVariants, spring, stagger, toggleVariants, tooltipContentVariants, transition, useAbility, useAppForm, useCan, useCarousel, useColorPicker, useColumnFilter, useTableContext, useTableData, useTableFiltering, useTableGlobalFilter, useTableSizing, useTableSorting, useTableVisibility, useToast };