@ember-home/unbound-styleguide 0.0.1
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/index.d.ts +1177 -0
- package/dist/index.js +5938 -0
- package/dist/styles.css +4226 -0
- package/package.json +92 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,1177 @@
|
|
|
1
|
+
import { ClassValue } from 'clsx';
|
|
2
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
3
|
+
import { VariantProps } from 'class-variance-authority';
|
|
4
|
+
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
5
|
+
import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
|
|
6
|
+
import * as TooltipPrimitive from '@radix-ui/react-tooltip';
|
|
7
|
+
import * as SeparatorPrimitive from '@radix-ui/react-separator';
|
|
8
|
+
import * as CollapsiblePrimitive from '@radix-ui/react-collapsible';
|
|
9
|
+
import * as React$1 from 'react';
|
|
10
|
+
import * as DialogPrimitive from '@radix-ui/react-dialog';
|
|
11
|
+
import * as PopoverPrimitive from '@radix-ui/react-popover';
|
|
12
|
+
import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
|
|
13
|
+
import * as LabelPrimitive from '@radix-ui/react-label';
|
|
14
|
+
import * as SelectPrimitive from '@radix-ui/react-select';
|
|
15
|
+
import { Command as Command$1 } from 'cmdk';
|
|
16
|
+
import { DayPicker } from 'react-day-picker';
|
|
17
|
+
import * as TabsPrimitive from '@radix-ui/react-tabs';
|
|
18
|
+
import { ColumnDef } from '@tanstack/react-table';
|
|
19
|
+
export { ColumnDef, ColumnFiltersState, Row, RowSelectionState, SortingState } from '@tanstack/react-table';
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Merges class names using clsx and tailwind-merge.
|
|
23
|
+
* Handles conditional classes and deduplicates Tailwind utility conflicts.
|
|
24
|
+
*/
|
|
25
|
+
declare function mergeClasses(...inputs: ClassValue[]): string;
|
|
26
|
+
|
|
27
|
+
declare function useIsMobile(): boolean;
|
|
28
|
+
|
|
29
|
+
declare const buttonVariants: (props?: ({
|
|
30
|
+
variant?: "default" | "destructive" | "outline" | "secondary" | "ghost" | "link" | null | undefined;
|
|
31
|
+
size?: "default" | "sm" | "lg" | "icon" | "icon-sm" | "icon-lg" | null | undefined;
|
|
32
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
33
|
+
|
|
34
|
+
type ButtonVariant = "default" | "destructive" | "outline" | "secondary" | "ghost" | "link";
|
|
35
|
+
type ButtonSize = "default" | "sm" | "lg" | "icon" | "icon-sm" | "icon-lg";
|
|
36
|
+
type ButtonProps = React.ButtonHTMLAttributes<HTMLButtonElement> & VariantProps<typeof buttonVariants> & {
|
|
37
|
+
/**
|
|
38
|
+
* When true, the button will render as a Slot, allowing you to pass your own element
|
|
39
|
+
*/
|
|
40
|
+
asChild?: boolean;
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
declare function Button({ className, variant, size, asChild, ...props }: ButtonProps): react_jsx_runtime.JSX.Element;
|
|
44
|
+
|
|
45
|
+
type DropdownMenuProps = React.ComponentProps<typeof DropdownMenuPrimitive.Root>;
|
|
46
|
+
type DropdownMenuTriggerProps = React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>;
|
|
47
|
+
type DropdownMenuContentProps = React.ComponentProps<typeof DropdownMenuPrimitive.Content>;
|
|
48
|
+
type DropdownMenuItemProps = React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {
|
|
49
|
+
inset?: boolean;
|
|
50
|
+
variant?: "default" | "destructive";
|
|
51
|
+
};
|
|
52
|
+
type DropdownMenuLabelProps = React.ComponentProps<typeof DropdownMenuPrimitive.Label> & {
|
|
53
|
+
inset?: boolean;
|
|
54
|
+
};
|
|
55
|
+
type DropdownMenuSubTriggerProps = React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {
|
|
56
|
+
inset?: boolean;
|
|
57
|
+
};
|
|
58
|
+
declare function DropdownMenu({ ...props }: DropdownMenuProps): react_jsx_runtime.JSX.Element;
|
|
59
|
+
declare function DropdownMenuPortal({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>): react_jsx_runtime.JSX.Element;
|
|
60
|
+
declare function DropdownMenuTrigger({ ...props }: DropdownMenuTriggerProps): react_jsx_runtime.JSX.Element;
|
|
61
|
+
declare function DropdownMenuContent({ className, sideOffset, ...props }: DropdownMenuContentProps): react_jsx_runtime.JSX.Element;
|
|
62
|
+
declare function DropdownMenuGroup({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Group>): react_jsx_runtime.JSX.Element;
|
|
63
|
+
declare function DropdownMenuItem({ className, inset, variant, ...props }: DropdownMenuItemProps): react_jsx_runtime.JSX.Element;
|
|
64
|
+
declare function DropdownMenuCheckboxItem({ className, children, checked, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>): react_jsx_runtime.JSX.Element;
|
|
65
|
+
declare function DropdownMenuRadioGroup({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>): react_jsx_runtime.JSX.Element;
|
|
66
|
+
declare function DropdownMenuRadioItem({ className, children, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>): react_jsx_runtime.JSX.Element;
|
|
67
|
+
declare function DropdownMenuLabel({ className, inset, ...props }: DropdownMenuLabelProps): react_jsx_runtime.JSX.Element;
|
|
68
|
+
declare function DropdownMenuSeparator({ className, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>): react_jsx_runtime.JSX.Element;
|
|
69
|
+
declare function DropdownMenuShortcut({ className, ...props }: React.ComponentProps<"span">): react_jsx_runtime.JSX.Element;
|
|
70
|
+
declare function DropdownMenuSub({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>): react_jsx_runtime.JSX.Element;
|
|
71
|
+
declare function DropdownMenuSubTrigger({ className, inset, children, ...props }: DropdownMenuSubTriggerProps): react_jsx_runtime.JSX.Element;
|
|
72
|
+
declare function DropdownMenuSubContent({ className, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>): react_jsx_runtime.JSX.Element;
|
|
73
|
+
|
|
74
|
+
declare const alertVariants: (props?: ({
|
|
75
|
+
variant?: "default" | "destructive" | null | undefined;
|
|
76
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
77
|
+
type AlertVariant = "default" | "destructive";
|
|
78
|
+
type AlertProps = React.HTMLAttributes<HTMLDivElement> & VariantProps<typeof alertVariants>;
|
|
79
|
+
type AlertTitleProps = React.HTMLAttributes<HTMLDivElement>;
|
|
80
|
+
type AlertDescriptionProps = React.HTMLAttributes<HTMLDivElement>;
|
|
81
|
+
declare function Alert({ className, variant, ...props }: AlertProps): react_jsx_runtime.JSX.Element;
|
|
82
|
+
declare function AlertTitle({ className, ...props }: AlertTitleProps): react_jsx_runtime.JSX.Element;
|
|
83
|
+
declare function AlertDescription({ className, ...props }: AlertDescriptionProps): react_jsx_runtime.JSX.Element;
|
|
84
|
+
|
|
85
|
+
declare const badgeVariants: (props?: ({
|
|
86
|
+
variant?: "default" | "destructive" | "outline" | "secondary" | null | undefined;
|
|
87
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
88
|
+
type BadgeVariant = "default" | "secondary" | "destructive" | "outline";
|
|
89
|
+
type BadgeProps = React.HTMLAttributes<HTMLSpanElement> & VariantProps<typeof badgeVariants> & {
|
|
90
|
+
asChild?: boolean;
|
|
91
|
+
};
|
|
92
|
+
declare function Badge({ className, variant, asChild, ...props }: BadgeProps): react_jsx_runtime.JSX.Element;
|
|
93
|
+
|
|
94
|
+
type SkeletonProps = React.HTMLAttributes<HTMLDivElement>;
|
|
95
|
+
declare function Skeleton({ className, ...props }: SkeletonProps): react_jsx_runtime.JSX.Element;
|
|
96
|
+
|
|
97
|
+
type TooltipProviderProps = React.ComponentProps<typeof TooltipPrimitive.Provider>;
|
|
98
|
+
type TooltipProps = React.ComponentProps<typeof TooltipPrimitive.Root>;
|
|
99
|
+
type TooltipTriggerProps = React.ComponentProps<typeof TooltipPrimitive.Trigger>;
|
|
100
|
+
type TooltipContentProps = React.ComponentProps<typeof TooltipPrimitive.Content>;
|
|
101
|
+
declare function TooltipProvider({ delayDuration, ...props }: TooltipProviderProps): react_jsx_runtime.JSX.Element;
|
|
102
|
+
declare function Tooltip({ ...props }: TooltipProps): react_jsx_runtime.JSX.Element;
|
|
103
|
+
declare function TooltipTrigger({ ...props }: TooltipTriggerProps): react_jsx_runtime.JSX.Element;
|
|
104
|
+
declare function TooltipContent({ className, sideOffset, children, ...props }: TooltipContentProps): react_jsx_runtime.JSX.Element;
|
|
105
|
+
|
|
106
|
+
interface ToasterProps {
|
|
107
|
+
/** Position of the toast container */
|
|
108
|
+
position?: "top-left" | "top-right" | "bottom-left" | "bottom-right" | "top-center" | "bottom-center";
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Toast notification provider.
|
|
112
|
+
* Mount once at the app root (e.g., in the main layout).
|
|
113
|
+
*/
|
|
114
|
+
declare function Toaster({ position }: ToasterProps): react_jsx_runtime.JSX.Element;
|
|
115
|
+
|
|
116
|
+
interface ToastOptions {
|
|
117
|
+
/** Secondary text below the main message */
|
|
118
|
+
description?: string;
|
|
119
|
+
/** Override default duration in milliseconds */
|
|
120
|
+
duration?: number;
|
|
121
|
+
/** Action button configuration */
|
|
122
|
+
action?: {
|
|
123
|
+
label: string;
|
|
124
|
+
onClick: () => void;
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Display a success toast.
|
|
129
|
+
* Use for: completed actions, saved changes, successful operations.
|
|
130
|
+
*/
|
|
131
|
+
declare function success(message: string, options?: ToastOptions): void;
|
|
132
|
+
/**
|
|
133
|
+
* Display an error toast.
|
|
134
|
+
* Use for: failed operations, validation errors, API failures.
|
|
135
|
+
* Note: For errors requiring user action, consider a modal instead.
|
|
136
|
+
*/
|
|
137
|
+
declare function error(message: string, options?: ToastOptions): void;
|
|
138
|
+
/**
|
|
139
|
+
* Display a warning toast.
|
|
140
|
+
* Use for: partial success, skipped items, non-critical issues.
|
|
141
|
+
*/
|
|
142
|
+
declare function warning(message: string, options?: ToastOptions): void;
|
|
143
|
+
/**
|
|
144
|
+
* Display an info toast.
|
|
145
|
+
* Use for: neutral updates, tips, background status changes.
|
|
146
|
+
*/
|
|
147
|
+
declare function info(message: string, options?: ToastOptions): void;
|
|
148
|
+
/**
|
|
149
|
+
* Display a loading toast that can be updated.
|
|
150
|
+
* Returns a toast ID for later dismissal or update.
|
|
151
|
+
*/
|
|
152
|
+
declare function loading(message: string): string | number;
|
|
153
|
+
/**
|
|
154
|
+
* Dismiss a specific toast by ID or dismiss all toasts.
|
|
155
|
+
*/
|
|
156
|
+
declare function dismiss(toastId?: string | number): void;
|
|
157
|
+
/**
|
|
158
|
+
* Promise-based toast for async operations.
|
|
159
|
+
* Shows loading state, then success or error based on promise result.
|
|
160
|
+
*/
|
|
161
|
+
declare function promise<T>(promiseToWrap: Promise<T>, messages: {
|
|
162
|
+
loading: string;
|
|
163
|
+
success: string | ((data: T) => string);
|
|
164
|
+
error: string | ((error: unknown) => string);
|
|
165
|
+
}): Promise<T>;
|
|
166
|
+
declare const notify: {
|
|
167
|
+
success: typeof success;
|
|
168
|
+
error: typeof error;
|
|
169
|
+
warning: typeof warning;
|
|
170
|
+
info: typeof info;
|
|
171
|
+
loading: typeof loading;
|
|
172
|
+
dismiss: typeof dismiss;
|
|
173
|
+
promise: typeof promise;
|
|
174
|
+
};
|
|
175
|
+
|
|
176
|
+
type CardProps = React.HTMLAttributes<HTMLDivElement>;
|
|
177
|
+
type CardHeaderProps = React.HTMLAttributes<HTMLDivElement>;
|
|
178
|
+
type CardTitleProps = React.HTMLAttributes<HTMLDivElement>;
|
|
179
|
+
type CardDescriptionProps = React.HTMLAttributes<HTMLDivElement>;
|
|
180
|
+
type CardActionProps = React.HTMLAttributes<HTMLDivElement>;
|
|
181
|
+
type CardContentProps = React.HTMLAttributes<HTMLDivElement>;
|
|
182
|
+
type CardFooterProps = React.HTMLAttributes<HTMLDivElement>;
|
|
183
|
+
declare function Card({ className, ...props }: CardProps): react_jsx_runtime.JSX.Element;
|
|
184
|
+
declare function CardHeader({ className, ...props }: CardHeaderProps): react_jsx_runtime.JSX.Element;
|
|
185
|
+
declare function CardTitle({ className, ...props }: CardTitleProps): react_jsx_runtime.JSX.Element;
|
|
186
|
+
declare function CardDescription({ className, ...props }: CardDescriptionProps): react_jsx_runtime.JSX.Element;
|
|
187
|
+
declare function CardAction({ className, ...props }: CardActionProps): react_jsx_runtime.JSX.Element;
|
|
188
|
+
declare function CardContent({ className, ...props }: CardContentProps): react_jsx_runtime.JSX.Element;
|
|
189
|
+
declare function CardFooter({ className, ...props }: CardFooterProps): react_jsx_runtime.JSX.Element;
|
|
190
|
+
|
|
191
|
+
type SeparatorProps = React.ComponentProps<typeof SeparatorPrimitive.Root>;
|
|
192
|
+
declare function Separator({ className, orientation, decorative, ...props }: SeparatorProps): react_jsx_runtime.JSX.Element;
|
|
193
|
+
|
|
194
|
+
type CollapsibleProps = React.ComponentProps<typeof CollapsiblePrimitive.Root>;
|
|
195
|
+
type CollapsibleTriggerProps = React.ComponentProps<typeof CollapsiblePrimitive.CollapsibleTrigger>;
|
|
196
|
+
type CollapsibleContentProps = React.ComponentProps<typeof CollapsiblePrimitive.CollapsibleContent>;
|
|
197
|
+
declare function Collapsible({ ...props }: CollapsibleProps): react_jsx_runtime.JSX.Element;
|
|
198
|
+
declare function CollapsibleTrigger({ ...props }: CollapsibleTriggerProps): react_jsx_runtime.JSX.Element;
|
|
199
|
+
declare function CollapsibleContent({ ...props }: CollapsibleContentProps): react_jsx_runtime.JSX.Element;
|
|
200
|
+
|
|
201
|
+
interface UtilityBarAction {
|
|
202
|
+
/** Button label */
|
|
203
|
+
label: string;
|
|
204
|
+
/** Click handler */
|
|
205
|
+
onClick: () => void;
|
|
206
|
+
/** Button variant */
|
|
207
|
+
variant?: "default" | "secondary" | "outline" | "ghost" | "destructive";
|
|
208
|
+
/** Whether button is disabled */
|
|
209
|
+
disabled?: boolean;
|
|
210
|
+
/** Optional icon to show before label */
|
|
211
|
+
icon?: React$1.ReactNode;
|
|
212
|
+
}
|
|
213
|
+
interface UtilityBarProps {
|
|
214
|
+
/** Additional class names */
|
|
215
|
+
className?: string;
|
|
216
|
+
/**
|
|
217
|
+
* Whether to show the filter button.
|
|
218
|
+
* @default true if filterContent is provided, false otherwise
|
|
219
|
+
*/
|
|
220
|
+
showFilter?: boolean;
|
|
221
|
+
/**
|
|
222
|
+
* Controlled mode: current expanded state.
|
|
223
|
+
* Use with `onFilterExpandedChange` for controlled behavior.
|
|
224
|
+
*/
|
|
225
|
+
filterExpanded?: boolean;
|
|
226
|
+
/**
|
|
227
|
+
* Controlled mode: callback when expanded state changes.
|
|
228
|
+
* If provided, the component is controlled and `filterExpanded` is the source of truth.
|
|
229
|
+
* If omitted, the component manages expansion state internally.
|
|
230
|
+
*/
|
|
231
|
+
onFilterExpandedChange?: (expanded: boolean) => void;
|
|
232
|
+
/**
|
|
233
|
+
* Uncontrolled mode: initial expanded state.
|
|
234
|
+
* Only used when `onFilterExpandedChange` is not provided.
|
|
235
|
+
* @default false
|
|
236
|
+
*/
|
|
237
|
+
defaultFilterExpanded?: boolean;
|
|
238
|
+
/** Content to render in the filter panel when expanded */
|
|
239
|
+
filterContent?: React$1.ReactNode;
|
|
240
|
+
/**
|
|
241
|
+
* Custom label for the filter button.
|
|
242
|
+
* @default "Filter"
|
|
243
|
+
*/
|
|
244
|
+
filterLabel?: string;
|
|
245
|
+
/** Number of active filters (shows badge on button) */
|
|
246
|
+
activeFilterCount?: number;
|
|
247
|
+
/**
|
|
248
|
+
* Whether to show the date range picker slot.
|
|
249
|
+
* @default false
|
|
250
|
+
*/
|
|
251
|
+
showDateRange?: boolean;
|
|
252
|
+
/** Date range picker component */
|
|
253
|
+
dateRangeContent?: React$1.ReactNode;
|
|
254
|
+
/**
|
|
255
|
+
* Whether to show the search field.
|
|
256
|
+
* When true, `onSearchChange` must be provided.
|
|
257
|
+
* @default false
|
|
258
|
+
*/
|
|
259
|
+
showSearch?: boolean;
|
|
260
|
+
/**
|
|
261
|
+
* Current search value.
|
|
262
|
+
* @default ""
|
|
263
|
+
*/
|
|
264
|
+
searchValue?: string;
|
|
265
|
+
/**
|
|
266
|
+
* Callback when search value changes.
|
|
267
|
+
* Required when `showSearch` is true.
|
|
268
|
+
*/
|
|
269
|
+
onSearchChange?: (value: string) => void;
|
|
270
|
+
/**
|
|
271
|
+
* Search placeholder text.
|
|
272
|
+
* @default "Search..."
|
|
273
|
+
*/
|
|
274
|
+
searchPlaceholder?: string;
|
|
275
|
+
/** Primary action button config */
|
|
276
|
+
primaryAction?: UtilityBarAction;
|
|
277
|
+
/** Secondary action button config */
|
|
278
|
+
secondaryAction?: UtilityBarAction;
|
|
279
|
+
/** Additional custom actions (rendered between search and secondary action) */
|
|
280
|
+
additionalActions?: React$1.ReactNode;
|
|
281
|
+
/** Content rendered below the utility bar */
|
|
282
|
+
children?: React$1.ReactNode;
|
|
283
|
+
}
|
|
284
|
+
interface DateRangePlaceholderProps {
|
|
285
|
+
className?: string;
|
|
286
|
+
}
|
|
287
|
+
declare function DateRangePlaceholder({ className }: DateRangePlaceholderProps): react_jsx_runtime.JSX.Element;
|
|
288
|
+
declare function UtilityBar({ className, showFilter, filterExpanded, onFilterExpandedChange, defaultFilterExpanded, filterContent, filterLabel, activeFilterCount, showDateRange, dateRangeContent, showSearch, searchValue, onSearchChange, searchPlaceholder, primaryAction, secondaryAction, additionalActions, children, }: UtilityBarProps): react_jsx_runtime.JSX.Element;
|
|
289
|
+
|
|
290
|
+
type DialogProps = React.ComponentProps<typeof DialogPrimitive.Root>;
|
|
291
|
+
type DialogTriggerProps = React.ComponentProps<typeof DialogPrimitive.Trigger>;
|
|
292
|
+
type DialogPortalProps = React.ComponentProps<typeof DialogPrimitive.Portal>;
|
|
293
|
+
type DialogCloseProps = React.ComponentProps<typeof DialogPrimitive.Close>;
|
|
294
|
+
type DialogOverlayProps = React.ComponentProps<typeof DialogPrimitive.Overlay>;
|
|
295
|
+
type DialogContentProps = React.ComponentProps<typeof DialogPrimitive.Content> & {
|
|
296
|
+
showCloseButton?: boolean;
|
|
297
|
+
};
|
|
298
|
+
type DialogHeaderProps = React.HTMLAttributes<HTMLDivElement>;
|
|
299
|
+
type DialogFooterProps = React.HTMLAttributes<HTMLDivElement>;
|
|
300
|
+
type DialogTitleProps = React.ComponentProps<typeof DialogPrimitive.Title>;
|
|
301
|
+
type DialogDescriptionProps = React.ComponentProps<typeof DialogPrimitive.Description>;
|
|
302
|
+
declare function Dialog({ ...props }: DialogProps): react_jsx_runtime.JSX.Element;
|
|
303
|
+
declare function DialogTrigger({ ...props }: DialogTriggerProps): react_jsx_runtime.JSX.Element;
|
|
304
|
+
declare function DialogPortal({ ...props }: DialogPortalProps): react_jsx_runtime.JSX.Element;
|
|
305
|
+
declare function DialogClose({ ...props }: DialogCloseProps): react_jsx_runtime.JSX.Element;
|
|
306
|
+
declare function DialogOverlay({ className, ...props }: DialogOverlayProps): react_jsx_runtime.JSX.Element;
|
|
307
|
+
declare function DialogContent({ className, children, showCloseButton, ...props }: DialogContentProps): react_jsx_runtime.JSX.Element;
|
|
308
|
+
declare function DialogHeader({ className, ...props }: DialogHeaderProps): react_jsx_runtime.JSX.Element;
|
|
309
|
+
declare function DialogFooter({ className, ...props }: DialogFooterProps): react_jsx_runtime.JSX.Element;
|
|
310
|
+
declare function DialogTitle({ className, ...props }: DialogTitleProps): react_jsx_runtime.JSX.Element;
|
|
311
|
+
declare function DialogDescription({ className, ...props }: DialogDescriptionProps): react_jsx_runtime.JSX.Element;
|
|
312
|
+
|
|
313
|
+
type PopoverProps = React.ComponentProps<typeof PopoverPrimitive.Root>;
|
|
314
|
+
type PopoverTriggerProps = React.ComponentProps<typeof PopoverPrimitive.Trigger>;
|
|
315
|
+
type PopoverContentProps = React.ComponentProps<typeof PopoverPrimitive.Content>;
|
|
316
|
+
type PopoverAnchorProps = React.ComponentProps<typeof PopoverPrimitive.Anchor>;
|
|
317
|
+
declare function Popover({ ...props }: PopoverProps): react_jsx_runtime.JSX.Element;
|
|
318
|
+
declare function PopoverTrigger({ ...props }: PopoverTriggerProps): react_jsx_runtime.JSX.Element;
|
|
319
|
+
declare function PopoverContent({ className, align, sideOffset, ...props }: PopoverContentProps): react_jsx_runtime.JSX.Element;
|
|
320
|
+
declare function PopoverAnchor({ ...props }: PopoverAnchorProps): react_jsx_runtime.JSX.Element;
|
|
321
|
+
|
|
322
|
+
type SheetProps = React.ComponentProps<typeof DialogPrimitive.Root>;
|
|
323
|
+
type SheetTriggerProps = React.ComponentProps<typeof DialogPrimitive.Trigger>;
|
|
324
|
+
type SheetCloseProps = React.ComponentProps<typeof DialogPrimitive.Close>;
|
|
325
|
+
type SheetPortalProps = React.ComponentProps<typeof DialogPrimitive.Portal>;
|
|
326
|
+
type SheetOverlayProps = React.ComponentProps<typeof DialogPrimitive.Overlay>;
|
|
327
|
+
type SheetContentProps = React.ComponentProps<typeof DialogPrimitive.Content> & {
|
|
328
|
+
side?: "top" | "right" | "bottom" | "left";
|
|
329
|
+
};
|
|
330
|
+
type SheetHeaderProps = React.HTMLAttributes<HTMLDivElement>;
|
|
331
|
+
type SheetFooterProps = React.HTMLAttributes<HTMLDivElement>;
|
|
332
|
+
type SheetTitleProps = React.ComponentProps<typeof DialogPrimitive.Title>;
|
|
333
|
+
type SheetDescriptionProps = React.ComponentProps<typeof DialogPrimitive.Description>;
|
|
334
|
+
declare function Sheet({ ...props }: SheetProps): react_jsx_runtime.JSX.Element;
|
|
335
|
+
declare function SheetTrigger({ ...props }: SheetTriggerProps): react_jsx_runtime.JSX.Element;
|
|
336
|
+
declare function SheetClose({ ...props }: SheetCloseProps): react_jsx_runtime.JSX.Element;
|
|
337
|
+
declare function SheetPortal({ ...props }: SheetPortalProps): react_jsx_runtime.JSX.Element;
|
|
338
|
+
declare function SheetOverlay({ className, ...props }: SheetOverlayProps): react_jsx_runtime.JSX.Element;
|
|
339
|
+
declare function SheetContent({ className, children, side, ...props }: SheetContentProps): react_jsx_runtime.JSX.Element;
|
|
340
|
+
declare function SheetHeader({ className, ...props }: SheetHeaderProps): react_jsx_runtime.JSX.Element;
|
|
341
|
+
declare function SheetFooter({ className, ...props }: SheetFooterProps): react_jsx_runtime.JSX.Element;
|
|
342
|
+
declare function SheetTitle({ className, ...props }: SheetTitleProps): react_jsx_runtime.JSX.Element;
|
|
343
|
+
declare function SheetDescription({ className, ...props }: SheetDescriptionProps): react_jsx_runtime.JSX.Element;
|
|
344
|
+
|
|
345
|
+
interface BottomSheetProps {
|
|
346
|
+
/** Whether the modal is open */
|
|
347
|
+
open: boolean;
|
|
348
|
+
/** Callback when open state changes */
|
|
349
|
+
onOpenChange: (open: boolean) => void;
|
|
350
|
+
/** Modal title - can be string or ReactNode */
|
|
351
|
+
title?: React$1.ReactNode;
|
|
352
|
+
/** Optional accessible description for screen readers */
|
|
353
|
+
description?: React$1.ReactNode;
|
|
354
|
+
/** Modal content */
|
|
355
|
+
children: React$1.ReactNode;
|
|
356
|
+
/** Optional sticky bottom actions */
|
|
357
|
+
actions?: React$1.ReactNode;
|
|
358
|
+
/** Whether clicking outside closes the modal (default: true) */
|
|
359
|
+
closeOnOutsideClick?: boolean;
|
|
360
|
+
/** Additional className for the overlay */
|
|
361
|
+
overlayClassName?: string;
|
|
362
|
+
/** Additional className for the content container */
|
|
363
|
+
contentClassName?: string;
|
|
364
|
+
/** Additional className for the header */
|
|
365
|
+
headerClassName?: string;
|
|
366
|
+
/** Additional className for the scrollable body */
|
|
367
|
+
bodyClassName?: string;
|
|
368
|
+
/** Additional className for the actions footer */
|
|
369
|
+
actionsClassName?: string;
|
|
370
|
+
}
|
|
371
|
+
declare function BottomSheet({ open, onOpenChange, title, description, children, actions, closeOnOutsideClick, overlayClassName, contentClassName, headerClassName, bodyClassName, actionsClassName, }: BottomSheetProps): react_jsx_runtime.JSX.Element;
|
|
372
|
+
interface BottomSheetSectionProps {
|
|
373
|
+
/** Section title */
|
|
374
|
+
title: string;
|
|
375
|
+
/** Optional section description */
|
|
376
|
+
description?: string;
|
|
377
|
+
/** Section content */
|
|
378
|
+
children: React$1.ReactNode;
|
|
379
|
+
/** Additional className */
|
|
380
|
+
className?: string;
|
|
381
|
+
}
|
|
382
|
+
declare function BottomSheetSection({ title, description, children, className, }: BottomSheetSectionProps): react_jsx_runtime.JSX.Element;
|
|
383
|
+
interface BottomSheetDividerProps {
|
|
384
|
+
className?: string;
|
|
385
|
+
}
|
|
386
|
+
declare function BottomSheetDivider({ className }: BottomSheetDividerProps): react_jsx_runtime.JSX.Element;
|
|
387
|
+
interface BottomSheetLayoutProps {
|
|
388
|
+
/** Layout content - should contain BottomSheetSidebar and BottomSheetMain */
|
|
389
|
+
children: React$1.ReactNode;
|
|
390
|
+
/** Additional className */
|
|
391
|
+
className?: string;
|
|
392
|
+
}
|
|
393
|
+
/**
|
|
394
|
+
* Container for split layout within BottomSheet.
|
|
395
|
+
* Use with BottomSheetSidebar and BottomSheetMain for sidebar + main content layouts.
|
|
396
|
+
*
|
|
397
|
+
* @example
|
|
398
|
+
* <BottomSheet open={open} onOpenChange={setOpen} title="Settings">
|
|
399
|
+
* <BottomSheetLayout>
|
|
400
|
+
* <BottomSheetSidebar>
|
|
401
|
+
* <nav>...</nav>
|
|
402
|
+
* </BottomSheetSidebar>
|
|
403
|
+
* <BottomSheetMain>
|
|
404
|
+
* <SettingsContent />
|
|
405
|
+
* </BottomSheetMain>
|
|
406
|
+
* </BottomSheetLayout>
|
|
407
|
+
* </BottomSheet>
|
|
408
|
+
*/
|
|
409
|
+
declare function BottomSheetLayout({ children, className }: BottomSheetLayoutProps): react_jsx_runtime.JSX.Element;
|
|
410
|
+
interface BottomSheetSidebarProps {
|
|
411
|
+
/** Sidebar content */
|
|
412
|
+
children: React$1.ReactNode;
|
|
413
|
+
/** Width of sidebar (default: "w-64") */
|
|
414
|
+
width?: string;
|
|
415
|
+
/** Additional className */
|
|
416
|
+
className?: string;
|
|
417
|
+
}
|
|
418
|
+
/**
|
|
419
|
+
* Sidebar panel for split layout. Place inside BottomSheetLayout.
|
|
420
|
+
*/
|
|
421
|
+
declare function BottomSheetSidebar({ children, width, className, }: BottomSheetSidebarProps): react_jsx_runtime.JSX.Element;
|
|
422
|
+
interface BottomSheetMainProps {
|
|
423
|
+
/** Main content */
|
|
424
|
+
children: React$1.ReactNode;
|
|
425
|
+
/** Additional className */
|
|
426
|
+
className?: string;
|
|
427
|
+
}
|
|
428
|
+
/**
|
|
429
|
+
* Main content area for split layout. Place inside BottomSheetLayout.
|
|
430
|
+
*/
|
|
431
|
+
declare function BottomSheetMain({ children, className }: BottomSheetMainProps): react_jsx_runtime.JSX.Element;
|
|
432
|
+
/** @deprecated Use BottomSheet instead */
|
|
433
|
+
declare const GlobalSettingsModal: typeof BottomSheet;
|
|
434
|
+
/** @deprecated Use BottomSheetProps instead */
|
|
435
|
+
type GlobalSettingsModalProps = BottomSheetProps;
|
|
436
|
+
/** @deprecated Use BottomSheetSection instead */
|
|
437
|
+
declare const GlobalSettingsModalSection: typeof BottomSheetSection;
|
|
438
|
+
/** @deprecated Use BottomSheetSectionProps instead */
|
|
439
|
+
type GlobalSettingsModalSectionProps = BottomSheetSectionProps;
|
|
440
|
+
/** @deprecated Use BottomSheetDivider instead */
|
|
441
|
+
declare const GlobalSettingsModalDivider: typeof BottomSheetDivider;
|
|
442
|
+
/** @deprecated Use BottomSheetDividerProps instead */
|
|
443
|
+
type GlobalSettingsModalDividerProps = BottomSheetDividerProps;
|
|
444
|
+
|
|
445
|
+
type CheckboxProps = React.ComponentProps<typeof CheckboxPrimitive.Root>;
|
|
446
|
+
declare function Checkbox({ className, ...props }: CheckboxProps): react_jsx_runtime.JSX.Element;
|
|
447
|
+
|
|
448
|
+
type InputProps = React$1.InputHTMLAttributes<HTMLInputElement>;
|
|
449
|
+
declare const Input: React$1.ForwardRefExoticComponent<InputProps & React$1.RefAttributes<HTMLInputElement>>;
|
|
450
|
+
|
|
451
|
+
type LabelProps = React.ComponentProps<typeof LabelPrimitive.Root>;
|
|
452
|
+
declare function Label({ className, ...props }: LabelProps): react_jsx_runtime.JSX.Element;
|
|
453
|
+
|
|
454
|
+
type TextareaProps = React.TextareaHTMLAttributes<HTMLTextAreaElement>;
|
|
455
|
+
declare function Textarea({ className, ...props }: TextareaProps): react_jsx_runtime.JSX.Element;
|
|
456
|
+
|
|
457
|
+
type SelectProps = React.ComponentProps<typeof SelectPrimitive.Root>;
|
|
458
|
+
type SelectGroupProps = React.ComponentProps<typeof SelectPrimitive.Group>;
|
|
459
|
+
type SelectValueProps = React.ComponentProps<typeof SelectPrimitive.Value>;
|
|
460
|
+
type SelectTriggerProps = React.ComponentProps<typeof SelectPrimitive.Trigger> & {
|
|
461
|
+
size?: "sm" | "default";
|
|
462
|
+
};
|
|
463
|
+
type SelectContentProps = React.ComponentProps<typeof SelectPrimitive.Content>;
|
|
464
|
+
type SelectLabelProps = React.ComponentProps<typeof SelectPrimitive.Label>;
|
|
465
|
+
type SelectItemProps = React.ComponentProps<typeof SelectPrimitive.Item>;
|
|
466
|
+
type SelectSeparatorProps = React.ComponentProps<typeof SelectPrimitive.Separator>;
|
|
467
|
+
declare function Select({ ...props }: SelectProps): react_jsx_runtime.JSX.Element;
|
|
468
|
+
declare function SelectGroup({ ...props }: SelectGroupProps): react_jsx_runtime.JSX.Element;
|
|
469
|
+
declare function SelectValue({ ...props }: SelectValueProps): react_jsx_runtime.JSX.Element;
|
|
470
|
+
declare function SelectTrigger({ className, size, children, ...props }: SelectTriggerProps): react_jsx_runtime.JSX.Element;
|
|
471
|
+
declare function SelectContent({ className, children, position, align, ...props }: SelectContentProps): react_jsx_runtime.JSX.Element;
|
|
472
|
+
declare function SelectLabel({ className, ...props }: SelectLabelProps): react_jsx_runtime.JSX.Element;
|
|
473
|
+
declare function SelectItem({ className, children, ...props }: SelectItemProps): react_jsx_runtime.JSX.Element;
|
|
474
|
+
declare function SelectSeparator({ className, ...props }: SelectSeparatorProps): react_jsx_runtime.JSX.Element;
|
|
475
|
+
declare function SelectScrollUpButton({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>): react_jsx_runtime.JSX.Element;
|
|
476
|
+
declare function SelectScrollDownButton({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>): react_jsx_runtime.JSX.Element;
|
|
477
|
+
|
|
478
|
+
type CommandProps = React.ComponentProps<typeof Command$1>;
|
|
479
|
+
type CommandDialogProps = React.ComponentProps<typeof Dialog> & {
|
|
480
|
+
title?: string;
|
|
481
|
+
description?: string;
|
|
482
|
+
className?: string;
|
|
483
|
+
showCloseButton?: boolean;
|
|
484
|
+
};
|
|
485
|
+
type CommandInputProps = React.ComponentProps<typeof Command$1.Input>;
|
|
486
|
+
type CommandListProps = React.ComponentProps<typeof Command$1.List>;
|
|
487
|
+
type CommandEmptyProps = React.ComponentProps<typeof Command$1.Empty>;
|
|
488
|
+
type CommandGroupProps = React.ComponentProps<typeof Command$1.Group>;
|
|
489
|
+
type CommandSeparatorProps = React.ComponentProps<typeof Command$1.Separator>;
|
|
490
|
+
type CommandItemProps = React.ComponentProps<typeof Command$1.Item>;
|
|
491
|
+
type CommandShortcutProps = React.HTMLAttributes<HTMLSpanElement>;
|
|
492
|
+
declare function Command({ className, ...props }: CommandProps): react_jsx_runtime.JSX.Element;
|
|
493
|
+
declare function CommandDialog({ title, description, children, className, showCloseButton, ...props }: CommandDialogProps): react_jsx_runtime.JSX.Element;
|
|
494
|
+
declare function CommandInput({ className, ...props }: CommandInputProps): react_jsx_runtime.JSX.Element;
|
|
495
|
+
declare function CommandList({ className, ...props }: CommandListProps): react_jsx_runtime.JSX.Element;
|
|
496
|
+
declare function CommandEmpty({ ...props }: CommandEmptyProps): react_jsx_runtime.JSX.Element;
|
|
497
|
+
declare function CommandGroup({ className, ...props }: CommandGroupProps): react_jsx_runtime.JSX.Element;
|
|
498
|
+
declare function CommandSeparator({ className, ...props }: CommandSeparatorProps): react_jsx_runtime.JSX.Element;
|
|
499
|
+
declare function CommandItem({ className, ...props }: CommandItemProps): react_jsx_runtime.JSX.Element;
|
|
500
|
+
declare function CommandShortcut({ className, ...props }: CommandShortcutProps): react_jsx_runtime.JSX.Element;
|
|
501
|
+
|
|
502
|
+
interface ComboboxOption {
|
|
503
|
+
value: string;
|
|
504
|
+
label: string;
|
|
505
|
+
disabled?: boolean;
|
|
506
|
+
}
|
|
507
|
+
interface ComboboxProps {
|
|
508
|
+
/** The currently selected value */
|
|
509
|
+
value?: string;
|
|
510
|
+
/** Callback when value changes */
|
|
511
|
+
onValueChange?: (value: string) => void;
|
|
512
|
+
/** Placeholder text when no value is selected */
|
|
513
|
+
placeholder?: string;
|
|
514
|
+
/** Search input placeholder */
|
|
515
|
+
searchPlaceholder?: string;
|
|
516
|
+
/** Text shown when no results match search */
|
|
517
|
+
emptyText?: string;
|
|
518
|
+
/** Available options */
|
|
519
|
+
options: ComboboxOption[];
|
|
520
|
+
/** Whether the combobox is disabled */
|
|
521
|
+
disabled?: boolean;
|
|
522
|
+
/** Size variant - matches Select sizing */
|
|
523
|
+
size?: "sm" | "default";
|
|
524
|
+
/** Additional class names for the trigger */
|
|
525
|
+
className?: string;
|
|
526
|
+
/** Alignment of the popover content */
|
|
527
|
+
align?: "start" | "center" | "end";
|
|
528
|
+
}
|
|
529
|
+
declare function Combobox({ value, onValueChange, placeholder, searchPlaceholder, emptyText, options, disabled, size, className, align, }: ComboboxProps): react_jsx_runtime.JSX.Element;
|
|
530
|
+
interface ComboboxTriggerProps extends React$1.ButtonHTMLAttributes<HTMLButtonElement> {
|
|
531
|
+
size?: "sm" | "default";
|
|
532
|
+
}
|
|
533
|
+
declare function ComboboxTrigger({ className, size, children, ...props }: ComboboxTriggerProps): react_jsx_runtime.JSX.Element;
|
|
534
|
+
interface ComboboxContentProps extends React$1.ComponentProps<typeof PopoverContent> {
|
|
535
|
+
}
|
|
536
|
+
declare function ComboboxContent({ className, children, align, ...props }: ComboboxContentProps): react_jsx_runtime.JSX.Element;
|
|
537
|
+
interface ComboboxInputProps extends React$1.ComponentProps<typeof CommandInput> {
|
|
538
|
+
}
|
|
539
|
+
declare function ComboboxInput({ ...props }: ComboboxInputProps): react_jsx_runtime.JSX.Element;
|
|
540
|
+
interface ComboboxEmptyProps extends React$1.ComponentProps<typeof CommandEmpty> {
|
|
541
|
+
}
|
|
542
|
+
declare function ComboboxEmpty({ ...props }: ComboboxEmptyProps): react_jsx_runtime.JSX.Element;
|
|
543
|
+
interface ComboboxGroupProps extends React$1.ComponentProps<typeof CommandGroup> {
|
|
544
|
+
}
|
|
545
|
+
declare function ComboboxGroup({ ...props }: ComboboxGroupProps): react_jsx_runtime.JSX.Element;
|
|
546
|
+
interface ComboboxListProps extends React$1.ComponentProps<typeof CommandList> {
|
|
547
|
+
}
|
|
548
|
+
declare function ComboboxList({ ...props }: ComboboxListProps): react_jsx_runtime.JSX.Element;
|
|
549
|
+
interface ComboboxItemProps extends React$1.ComponentProps<typeof CommandItem> {
|
|
550
|
+
/** Whether this item is currently selected */
|
|
551
|
+
selected?: boolean;
|
|
552
|
+
}
|
|
553
|
+
declare function ComboboxItem({ className, children, selected, ...props }: ComboboxItemProps): react_jsx_runtime.JSX.Element;
|
|
554
|
+
|
|
555
|
+
type CalendarProps = React$1.ComponentProps<typeof DayPicker>;
|
|
556
|
+
declare function Calendar({ className, classNames, showOutsideDays, captionLayout, navLayout, startMonth, endMonth, ...props }: CalendarProps): react_jsx_runtime.JSX.Element;
|
|
557
|
+
declare namespace Calendar {
|
|
558
|
+
var displayName: string;
|
|
559
|
+
}
|
|
560
|
+
|
|
561
|
+
interface DatePickerProps {
|
|
562
|
+
value: Date | null;
|
|
563
|
+
onChange: (date: Date | null) => void;
|
|
564
|
+
placeholder?: string;
|
|
565
|
+
disabled?: boolean;
|
|
566
|
+
readOnly?: boolean;
|
|
567
|
+
className?: string;
|
|
568
|
+
error?: string;
|
|
569
|
+
}
|
|
570
|
+
declare function DatePicker({ value, onChange, placeholder, disabled, readOnly, className, error: externalError, }: DatePickerProps): react_jsx_runtime.JSX.Element;
|
|
571
|
+
|
|
572
|
+
type DayOfWeek = "monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday" | "sunday";
|
|
573
|
+
type WeekOfMonth = 1 | 2 | 3 | 4 | -1;
|
|
574
|
+
type Recurrence = {
|
|
575
|
+
type: "daily";
|
|
576
|
+
} | {
|
|
577
|
+
type: "weekly";
|
|
578
|
+
interval: number;
|
|
579
|
+
days: DayOfWeek[];
|
|
580
|
+
} | {
|
|
581
|
+
type: "monthlyDate";
|
|
582
|
+
interval: number;
|
|
583
|
+
dayOfMonth: number;
|
|
584
|
+
} | {
|
|
585
|
+
type: "monthlyWeekday";
|
|
586
|
+
interval: number;
|
|
587
|
+
week: WeekOfMonth;
|
|
588
|
+
day: DayOfWeek;
|
|
589
|
+
} | {
|
|
590
|
+
type: "yearly";
|
|
591
|
+
interval: number;
|
|
592
|
+
};
|
|
593
|
+
type EndCondition = {
|
|
594
|
+
type: "date";
|
|
595
|
+
value: Date;
|
|
596
|
+
} | {
|
|
597
|
+
type: "occurrences";
|
|
598
|
+
value: number;
|
|
599
|
+
} | null;
|
|
600
|
+
interface RecurrenceConfig {
|
|
601
|
+
startDate: Date | null;
|
|
602
|
+
recurrence: Recurrence | null;
|
|
603
|
+
endCondition: EndCondition;
|
|
604
|
+
}
|
|
605
|
+
interface RecurrenceSchedulerProps {
|
|
606
|
+
value: RecurrenceConfig;
|
|
607
|
+
onChange: (config: RecurrenceConfig) => void;
|
|
608
|
+
startDate: Date | null;
|
|
609
|
+
onStartDateChange?: (date: Date | null) => void;
|
|
610
|
+
disabled?: boolean;
|
|
611
|
+
showEndOptions?: boolean;
|
|
612
|
+
className?: string;
|
|
613
|
+
}
|
|
614
|
+
declare const DEFAULT_RECURRENCE_CONFIG: RecurrenceConfig;
|
|
615
|
+
declare function createDefaultRecurrence(type: Recurrence["type"], startDate: Date | null): Recurrence;
|
|
616
|
+
type FrequencyOption = Recurrence["type"] | "none";
|
|
617
|
+
declare const DAYS_OF_WEEK: {
|
|
618
|
+
value: DayOfWeek;
|
|
619
|
+
label: string;
|
|
620
|
+
short: string;
|
|
621
|
+
}[];
|
|
622
|
+
declare const WEEKS_OF_MONTH: {
|
|
623
|
+
value: WeekOfMonth;
|
|
624
|
+
label: string;
|
|
625
|
+
}[];
|
|
626
|
+
declare const FREQUENCY_OPTIONS: {
|
|
627
|
+
value: FrequencyOption;
|
|
628
|
+
label: string;
|
|
629
|
+
description: string;
|
|
630
|
+
}[];
|
|
631
|
+
|
|
632
|
+
declare function RecurrenceScheduler({ value, onChange, startDate, onStartDateChange, disabled, className, }: RecurrenceSchedulerProps): react_jsx_runtime.JSX.Element;
|
|
633
|
+
|
|
634
|
+
interface UseRecurrenceSchedulerProps {
|
|
635
|
+
value: RecurrenceConfig;
|
|
636
|
+
onChange: (config: RecurrenceConfig) => void;
|
|
637
|
+
startDate: Date | null;
|
|
638
|
+
}
|
|
639
|
+
declare function useRecurrenceScheduler({ value, onChange, startDate, }: UseRecurrenceSchedulerProps): {
|
|
640
|
+
isEnabled: boolean;
|
|
641
|
+
isValid: boolean;
|
|
642
|
+
summary: string;
|
|
643
|
+
frequency: FrequencyOption;
|
|
644
|
+
recurrence: Recurrence | null;
|
|
645
|
+
endCondition: EndCondition;
|
|
646
|
+
setFrequency: (newFrequency: FrequencyOption) => void;
|
|
647
|
+
setWeeklyDays: (days: DayOfWeek[]) => void;
|
|
648
|
+
setWeeklyInterval: (interval: number) => void;
|
|
649
|
+
toggleWeeklyDay: (day: DayOfWeek) => void;
|
|
650
|
+
setMonthlyInterval: (interval: number) => void;
|
|
651
|
+
setMonthlyDate: (dayOfMonth: number) => void;
|
|
652
|
+
setMonthlyWeekday: (week: WeekOfMonth, day: DayOfWeek) => void;
|
|
653
|
+
setYearlyInterval: (interval: number) => void;
|
|
654
|
+
setEndDate: (date: Date | null) => void;
|
|
655
|
+
setOccurrences: (count: number | null) => void;
|
|
656
|
+
};
|
|
657
|
+
|
|
658
|
+
interface FrequencySelectProps {
|
|
659
|
+
value: FrequencyOption;
|
|
660
|
+
onChange: (frequency: FrequencyOption) => void;
|
|
661
|
+
disabled?: boolean;
|
|
662
|
+
}
|
|
663
|
+
declare function FrequencySelect({ value, onChange, disabled, }: FrequencySelectProps): react_jsx_runtime.JSX.Element;
|
|
664
|
+
|
|
665
|
+
interface WeeklyDaysSelectProps {
|
|
666
|
+
interval: number;
|
|
667
|
+
onIntervalChange: (interval: number) => void;
|
|
668
|
+
selectedDays: DayOfWeek[];
|
|
669
|
+
onToggleDay: (day: DayOfWeek) => void;
|
|
670
|
+
disabled?: boolean;
|
|
671
|
+
}
|
|
672
|
+
declare function WeeklyDaysSelect({ interval, onIntervalChange, selectedDays, onToggleDay, disabled, }: WeeklyDaysSelectProps): react_jsx_runtime.JSX.Element;
|
|
673
|
+
|
|
674
|
+
interface MonthlyDatePickerProps {
|
|
675
|
+
interval: number;
|
|
676
|
+
onIntervalChange: (interval: number) => void;
|
|
677
|
+
date: number;
|
|
678
|
+
onChange: (date: number) => void;
|
|
679
|
+
disabled?: boolean;
|
|
680
|
+
}
|
|
681
|
+
declare function MonthlyDatePicker({ interval, onIntervalChange, date, onChange, disabled, }: MonthlyDatePickerProps): react_jsx_runtime.JSX.Element;
|
|
682
|
+
interface MonthlyWeekdayPickerProps {
|
|
683
|
+
interval: number;
|
|
684
|
+
onIntervalChange: (interval: number) => void;
|
|
685
|
+
week: WeekOfMonth;
|
|
686
|
+
day: DayOfWeek;
|
|
687
|
+
onChange: (week: WeekOfMonth, day: DayOfWeek) => void;
|
|
688
|
+
disabled?: boolean;
|
|
689
|
+
}
|
|
690
|
+
declare function MonthlyWeekdayPicker({ interval, onIntervalChange, week, day, onChange, disabled, }: MonthlyWeekdayPickerProps): react_jsx_runtime.JSX.Element;
|
|
691
|
+
|
|
692
|
+
interface SummaryDisplayProps {
|
|
693
|
+
summary: string;
|
|
694
|
+
isValid: boolean;
|
|
695
|
+
isEnabled: boolean;
|
|
696
|
+
className?: string;
|
|
697
|
+
}
|
|
698
|
+
declare function SummaryDisplay({ summary, isValid, isEnabled, className, }: SummaryDisplayProps): react_jsx_runtime.JSX.Element;
|
|
699
|
+
|
|
700
|
+
type ValueSchemaType = "none" | "scalar" | "array" | "range" | "relative_time";
|
|
701
|
+
type TimeUnit = "days" | "weeks" | "months" | "years";
|
|
702
|
+
interface ValueSchema {
|
|
703
|
+
readonly type: ValueSchemaType;
|
|
704
|
+
/** For scalar/array: the primitive type of items */
|
|
705
|
+
readonly itemType?: "string" | "number" | "date";
|
|
706
|
+
/** For relative_time: which units are allowed */
|
|
707
|
+
readonly allowedUnits?: readonly TimeUnit[];
|
|
708
|
+
}
|
|
709
|
+
type RelativeTimeValue = {
|
|
710
|
+
readonly amount: number;
|
|
711
|
+
readonly unit: TimeUnit;
|
|
712
|
+
};
|
|
713
|
+
type RangeValue = {
|
|
714
|
+
readonly from: number | Date;
|
|
715
|
+
readonly to: number | Date;
|
|
716
|
+
};
|
|
717
|
+
type FilterValue = null | string | number | boolean | Date | readonly string[] | readonly number[] | RangeValue | RelativeTimeValue;
|
|
718
|
+
type OperatorId = "is" | "is_not" | "is_any_of" | "is_none_of" | "contains" | "not_contains" | "starts_with" | "ends_with" | "greater_than" | "greater_than_or_equal" | "less_than" | "less_than_or_equal" | "between" | "in_the_next" | "in_the_last" | "on_or_before" | "on_or_after" | "is_set" | "is_not_set";
|
|
719
|
+
type UIHint = "none" | "select" | "combobox" | "checkbox-list" | "multi-combobox" | "text" | "number" | "date-picker" | "date-range" | "number-range" | "relative-time";
|
|
720
|
+
type SemanticFieldType = "string" | "number" | "boolean" | "enum" | "date" | "date.recurring" | "entity";
|
|
721
|
+
interface FilterOperator {
|
|
722
|
+
readonly id: OperatorId;
|
|
723
|
+
/** Display label (e.g., "is any of", "in the next") */
|
|
724
|
+
readonly label: string;
|
|
725
|
+
/** What value shape this operator expects */
|
|
726
|
+
readonly valueSchema: ValueSchema;
|
|
727
|
+
/** Default UI rendering hint */
|
|
728
|
+
readonly uiHint: UIHint;
|
|
729
|
+
/** Which field types this operator is compatible with */
|
|
730
|
+
readonly compatibleFieldTypes: readonly SemanticFieldType[];
|
|
731
|
+
/** Factory for safe value initialization */
|
|
732
|
+
defaultValue(): FilterValue;
|
|
733
|
+
}
|
|
734
|
+
interface FilterFieldOption {
|
|
735
|
+
readonly value: string;
|
|
736
|
+
readonly label: string;
|
|
737
|
+
}
|
|
738
|
+
interface FilterField {
|
|
739
|
+
/** Unique field identifier */
|
|
740
|
+
readonly id: string;
|
|
741
|
+
/** Display label */
|
|
742
|
+
readonly label: string;
|
|
743
|
+
/** Semantic type - determines allowed operators and evaluation logic */
|
|
744
|
+
readonly type: SemanticFieldType;
|
|
745
|
+
/** Allowed operator IDs for this field */
|
|
746
|
+
readonly operators: readonly OperatorId[];
|
|
747
|
+
/** For enum fields: available options */
|
|
748
|
+
readonly options?: readonly FilterFieldOption[];
|
|
749
|
+
/** For entity fields: the entity type for lookups */
|
|
750
|
+
readonly entityType?: string;
|
|
751
|
+
/** Override operator's default UI hint (UI only, never value schema) */
|
|
752
|
+
readonly uiHintOverrides?: Partial<Record<OperatorId, UIHint>>;
|
|
753
|
+
}
|
|
754
|
+
interface FilterExpression {
|
|
755
|
+
/** Unique identifier for this expression instance */
|
|
756
|
+
readonly id: string;
|
|
757
|
+
/** Field being filtered */
|
|
758
|
+
readonly fieldId: string;
|
|
759
|
+
/** Operator being applied */
|
|
760
|
+
readonly operatorId: OperatorId;
|
|
761
|
+
/** Value - shape determined by operator's valueSchema */
|
|
762
|
+
readonly value: FilterValue;
|
|
763
|
+
}
|
|
764
|
+
type FilterLogic = "and" | "or";
|
|
765
|
+
interface FilterState {
|
|
766
|
+
readonly expressions: readonly FilterExpression[];
|
|
767
|
+
readonly logic: FilterLogic;
|
|
768
|
+
}
|
|
769
|
+
interface QuickFilterConfig {
|
|
770
|
+
/** Field ID this quick filter controls */
|
|
771
|
+
readonly fieldId: string;
|
|
772
|
+
/** Default operator when using this quick filter */
|
|
773
|
+
readonly defaultOperatorId: OperatorId;
|
|
774
|
+
/** Optional: override the field's label */
|
|
775
|
+
readonly label?: string;
|
|
776
|
+
/** Optional: override the placeholder text */
|
|
777
|
+
readonly placeholder?: string;
|
|
778
|
+
/** Optional: fixed width in pixels */
|
|
779
|
+
readonly width?: number;
|
|
780
|
+
}
|
|
781
|
+
|
|
782
|
+
interface SemanticFilterControllerProps {
|
|
783
|
+
/** Available field definitions */
|
|
784
|
+
fields: readonly FilterField[];
|
|
785
|
+
/** Current filter state */
|
|
786
|
+
value: FilterState;
|
|
787
|
+
/** Callback when filter state changes */
|
|
788
|
+
onChange: (state: FilterState) => void;
|
|
789
|
+
/** Quick filter configurations */
|
|
790
|
+
quickFilters?: readonly QuickFilterConfig[];
|
|
791
|
+
/** Whether to show advanced filters option */
|
|
792
|
+
showAdvanced?: boolean;
|
|
793
|
+
/** Default state to reset to */
|
|
794
|
+
defaultValue?: FilterState;
|
|
795
|
+
/** Additional CSS classes */
|
|
796
|
+
className?: string;
|
|
797
|
+
}
|
|
798
|
+
declare function SemanticFilterController({ fields, value, onChange, quickFilters, showAdvanced, defaultValue, className, }: SemanticFilterControllerProps): react_jsx_runtime.JSX.Element;
|
|
799
|
+
|
|
800
|
+
interface SemanticQuickFiltersProps {
|
|
801
|
+
/** Available field definitions */
|
|
802
|
+
fields: readonly FilterField[];
|
|
803
|
+
/** Quick filter configurations */
|
|
804
|
+
configs: readonly QuickFilterConfig[];
|
|
805
|
+
/** Current filter state */
|
|
806
|
+
value: FilterState;
|
|
807
|
+
/** Callback when filter state changes */
|
|
808
|
+
onChange: (state: FilterState) => void;
|
|
809
|
+
/** Currently visible quick filter field IDs */
|
|
810
|
+
activeFieldIds: Set<string>;
|
|
811
|
+
/** Callback to add a quick filter */
|
|
812
|
+
onAddFilter: (fieldId: string) => void;
|
|
813
|
+
/** Callback to remove a quick filter */
|
|
814
|
+
onRemoveFilter: (fieldId: string) => void;
|
|
815
|
+
/** Additional CSS classes */
|
|
816
|
+
className?: string;
|
|
817
|
+
}
|
|
818
|
+
declare function SemanticQuickFilters({ fields, configs, value, onChange, activeFieldIds, onAddFilter, onRemoveFilter, className, }: SemanticQuickFiltersProps): react_jsx_runtime.JSX.Element | null;
|
|
819
|
+
|
|
820
|
+
interface SemanticAdvancedFilterBuilderProps {
|
|
821
|
+
/** Available field definitions */
|
|
822
|
+
fields: readonly FilterField[];
|
|
823
|
+
/** Current filter expressions */
|
|
824
|
+
expressions: readonly FilterExpression[];
|
|
825
|
+
/** Callback when expressions change */
|
|
826
|
+
onChange: (expressions: FilterExpression[]) => void;
|
|
827
|
+
/** Current logic operator (and/or) */
|
|
828
|
+
logic: FilterLogic;
|
|
829
|
+
/** Callback when logic changes */
|
|
830
|
+
onLogicChange: (logic: FilterLogic) => void;
|
|
831
|
+
/** Callback to switch to quick filters view */
|
|
832
|
+
onSwitchToQuickFilters?: () => void;
|
|
833
|
+
/** Additional CSS classes */
|
|
834
|
+
className?: string;
|
|
835
|
+
}
|
|
836
|
+
declare function SemanticAdvancedFilterBuilder({ fields, expressions, onChange, logic, onLogicChange, onSwitchToQuickFilters, className, }: SemanticAdvancedFilterBuilderProps): react_jsx_runtime.JSX.Element;
|
|
837
|
+
|
|
838
|
+
interface ValueInputProps {
|
|
839
|
+
/** Resolved UI hint (after field overrides) */
|
|
840
|
+
uiHint: UIHint;
|
|
841
|
+
/** The field (provides options for enum fields) */
|
|
842
|
+
field: FilterField;
|
|
843
|
+
/** The operator (provides value schema info) */
|
|
844
|
+
operator: FilterOperator;
|
|
845
|
+
/** Current value */
|
|
846
|
+
value: FilterValue;
|
|
847
|
+
/** Callback when value changes */
|
|
848
|
+
onChange: (value: FilterValue) => void;
|
|
849
|
+
/** Optional size variant */
|
|
850
|
+
size?: "sm" | "default";
|
|
851
|
+
/** Optional className */
|
|
852
|
+
className?: string;
|
|
853
|
+
}
|
|
854
|
+
declare function ValueInput({ uiHint, field, operator, value, onChange, size, className, }: ValueInputProps): react_jsx_runtime.JSX.Element | null;
|
|
855
|
+
|
|
856
|
+
interface UseSemanticFilterStateOptions {
|
|
857
|
+
/** Initial filter state */
|
|
858
|
+
initialState?: FilterState;
|
|
859
|
+
/** Default state to reset to */
|
|
860
|
+
defaultState?: FilterState;
|
|
861
|
+
/** Callback when state changes */
|
|
862
|
+
onStateChange?: (state: FilterState) => void;
|
|
863
|
+
}
|
|
864
|
+
interface UseSemanticFilterStateReturn {
|
|
865
|
+
/** Current filter state */
|
|
866
|
+
state: FilterState;
|
|
867
|
+
/** All expressions */
|
|
868
|
+
expressions: readonly FilterExpression[];
|
|
869
|
+
/** Current logic operator */
|
|
870
|
+
logic: FilterLogic;
|
|
871
|
+
/** Whether there are any active filters */
|
|
872
|
+
hasFilters: boolean;
|
|
873
|
+
/** Whether state differs from default */
|
|
874
|
+
canReset: boolean;
|
|
875
|
+
/** Set the entire state */
|
|
876
|
+
setState: (state: FilterState) => void;
|
|
877
|
+
/** Add a new expression */
|
|
878
|
+
addExpression: (expression: FilterExpression) => void;
|
|
879
|
+
/** Update an existing expression */
|
|
880
|
+
updateExpression: (expressionId: string, updates: Partial<Omit<FilterExpression, "id">>) => void;
|
|
881
|
+
/** Remove an expression by ID */
|
|
882
|
+
removeExpression: (expressionId: string) => void;
|
|
883
|
+
/** Set or update expression for a field */
|
|
884
|
+
setField: (fieldId: string, operatorId: OperatorId, value: FilterValue) => void;
|
|
885
|
+
/** Remove expression for a field */
|
|
886
|
+
clearField: (fieldId: string) => void;
|
|
887
|
+
/** Set the logic operator */
|
|
888
|
+
setLogic: (logic: FilterLogic) => void;
|
|
889
|
+
/** Reset to default state */
|
|
890
|
+
reset: () => void;
|
|
891
|
+
/** Clear all expressions */
|
|
892
|
+
clearAll: () => void;
|
|
893
|
+
}
|
|
894
|
+
declare function useSemanticFilterState(options?: UseSemanticFilterStateOptions): UseSemanticFilterStateReturn;
|
|
895
|
+
|
|
896
|
+
/**
|
|
897
|
+
* Get an operator by ID.
|
|
898
|
+
* Throws if operator doesn't exist.
|
|
899
|
+
*/
|
|
900
|
+
declare function getOperator(id: OperatorId): FilterOperator;
|
|
901
|
+
/**
|
|
902
|
+
* Get all operators for a field based on its declared operator list.
|
|
903
|
+
*/
|
|
904
|
+
declare function getOperatorsForField(operatorIds: readonly OperatorId[]): FilterOperator[];
|
|
905
|
+
/**
|
|
906
|
+
* Check if an operator is compatible with a field type.
|
|
907
|
+
*/
|
|
908
|
+
declare function isOperatorCompatible(operatorId: OperatorId, fieldType: SemanticFieldType): boolean;
|
|
909
|
+
/**
|
|
910
|
+
* Get all operators compatible with a field type.
|
|
911
|
+
*/
|
|
912
|
+
declare function getCompatibleOperators(fieldType: SemanticFieldType): FilterOperator[];
|
|
913
|
+
/**
|
|
914
|
+
* Get the full operator registry (for iteration/debugging).
|
|
915
|
+
*/
|
|
916
|
+
declare function getAllOperators(): readonly FilterOperator[];
|
|
917
|
+
/**
|
|
918
|
+
* Get default value for an operator.
|
|
919
|
+
* Convenience function that doesn't require fetching the full operator.
|
|
920
|
+
*/
|
|
921
|
+
declare function getDefaultValueForOperator(operatorId: OperatorId): FilterValue;
|
|
922
|
+
|
|
923
|
+
/**
|
|
924
|
+
* Generate a unique ID for a filter expression.
|
|
925
|
+
*/
|
|
926
|
+
declare function generateExpressionId(): string;
|
|
927
|
+
/**
|
|
928
|
+
* Resolve the UI hint for a field + operator combination.
|
|
929
|
+
* Precedence:
|
|
930
|
+
* 1. Field uiHintOverrides (highest)
|
|
931
|
+
* 2. Inferred default based on (field.type, operator, hasOptions)
|
|
932
|
+
* 3. Operator default uiHint (fallback)
|
|
933
|
+
*/
|
|
934
|
+
declare function resolveUIHint(field: FilterField, operator: FilterOperator): UIHint;
|
|
935
|
+
/**
|
|
936
|
+
* Resolve UI hint by IDs (convenience function).
|
|
937
|
+
*/
|
|
938
|
+
declare function resolveUIHintByIds(field: FilterField, operatorId: OperatorId): UIHint;
|
|
939
|
+
/**
|
|
940
|
+
* Initialize value when field changes.
|
|
941
|
+
* Resets to first operator's default value.
|
|
942
|
+
*/
|
|
943
|
+
declare function initializeForField(field: FilterField): Pick<FilterExpression, "fieldId" | "operatorId" | "value">;
|
|
944
|
+
/**
|
|
945
|
+
* Initialize value when operator changes.
|
|
946
|
+
* Resets to the new operator's default value.
|
|
947
|
+
*/
|
|
948
|
+
declare function initializeForOperator(operatorId: OperatorId): Pick<FilterExpression, "operatorId" | "value">;
|
|
949
|
+
/**
|
|
950
|
+
* Create a new filter expression for a field.
|
|
951
|
+
* Uses first operator and its default value.
|
|
952
|
+
*/
|
|
953
|
+
declare function createExpression(field: FilterField): FilterExpression;
|
|
954
|
+
/**
|
|
955
|
+
* Create a filter expression with specific values.
|
|
956
|
+
*/
|
|
957
|
+
declare function createExpressionWith(fieldId: string, operatorId: OperatorId, value: FilterValue): FilterExpression;
|
|
958
|
+
/**
|
|
959
|
+
* Add an expression to the state.
|
|
960
|
+
*/
|
|
961
|
+
declare function addExpression(state: FilterState, expression: FilterExpression): FilterState;
|
|
962
|
+
/**
|
|
963
|
+
* Update an expression in the state.
|
|
964
|
+
*/
|
|
965
|
+
declare function updateExpression(state: FilterState, expressionId: string, updates: Partial<Omit<FilterExpression, "id">>): FilterState;
|
|
966
|
+
/**
|
|
967
|
+
* Remove an expression from the state.
|
|
968
|
+
*/
|
|
969
|
+
declare function removeExpression(state: FilterState, expressionId: string): FilterState;
|
|
970
|
+
/**
|
|
971
|
+
* Set or update an expression by field ID.
|
|
972
|
+
* If an expression for this field exists, update it.
|
|
973
|
+
* Otherwise, add a new one.
|
|
974
|
+
*/
|
|
975
|
+
declare function setExpressionForField(state: FilterState, fieldId: string, operatorId: OperatorId, value: FilterValue): FilterState;
|
|
976
|
+
/**
|
|
977
|
+
* Update the logic operator.
|
|
978
|
+
*/
|
|
979
|
+
declare function setLogic(state: FilterState, logic: FilterLogic): FilterState;
|
|
980
|
+
/**
|
|
981
|
+
* Clear all expressions.
|
|
982
|
+
*/
|
|
983
|
+
declare function clearAll(): FilterState;
|
|
984
|
+
/**
|
|
985
|
+
* Check if state has any expressions.
|
|
986
|
+
*/
|
|
987
|
+
declare function hasExpressions(state: FilterState): boolean;
|
|
988
|
+
/**
|
|
989
|
+
* Get expression by field ID.
|
|
990
|
+
*/
|
|
991
|
+
declare function getExpressionByField(state: FilterState, fieldId: string): FilterExpression | undefined;
|
|
992
|
+
/**
|
|
993
|
+
* Get expression by ID.
|
|
994
|
+
*/
|
|
995
|
+
declare function getExpressionById(state: FilterState, expressionId: string): FilterExpression | undefined;
|
|
996
|
+
/**
|
|
997
|
+
* Check if state differs from another state.
|
|
998
|
+
*/
|
|
999
|
+
declare function hasChanges(state: FilterState, other: FilterState): boolean;
|
|
1000
|
+
/**
|
|
1001
|
+
* Check if a value is considered "empty".
|
|
1002
|
+
*/
|
|
1003
|
+
declare function isValueEmpty(value: FilterValue): boolean;
|
|
1004
|
+
/**
|
|
1005
|
+
* Check if an operator is a presence operator (is_set, is_not_set).
|
|
1006
|
+
*/
|
|
1007
|
+
declare function isPresenceOperator(operatorId: OperatorId): boolean;
|
|
1008
|
+
/**
|
|
1009
|
+
* Deep equality check for filter values.
|
|
1010
|
+
*/
|
|
1011
|
+
declare function areValuesEqual(a: FilterValue, b: FilterValue): boolean;
|
|
1012
|
+
/**
|
|
1013
|
+
* Extract values for quick filters from state.
|
|
1014
|
+
* Returns a map of fieldId -> value.
|
|
1015
|
+
*/
|
|
1016
|
+
declare function extractQuickFilterValues(state: FilterState, fieldIds: readonly string[]): Record<string, FilterValue>;
|
|
1017
|
+
/**
|
|
1018
|
+
* Get field IDs that have active expressions.
|
|
1019
|
+
*/
|
|
1020
|
+
declare function getActiveFieldIds(state: FilterState): string[];
|
|
1021
|
+
declare const EMPTY_STATE: FilterState;
|
|
1022
|
+
|
|
1023
|
+
type TabsProps = React.ComponentProps<typeof TabsPrimitive.Root>;
|
|
1024
|
+
type TabsListProps = React.ComponentProps<typeof TabsPrimitive.List>;
|
|
1025
|
+
type TabsTriggerProps = React.ComponentProps<typeof TabsPrimitive.Trigger>;
|
|
1026
|
+
type TabsContentProps = React.ComponentProps<typeof TabsPrimitive.Content>;
|
|
1027
|
+
declare function Tabs({ className, ...props }: TabsProps): react_jsx_runtime.JSX.Element;
|
|
1028
|
+
declare function TabsList({ className, ...props }: TabsListProps): react_jsx_runtime.JSX.Element;
|
|
1029
|
+
declare function TabsTrigger({ className, ...props }: TabsTriggerProps): react_jsx_runtime.JSX.Element;
|
|
1030
|
+
declare function TabsContent({ className, ...props }: TabsContentProps): react_jsx_runtime.JSX.Element;
|
|
1031
|
+
|
|
1032
|
+
type SidebarContextProps = {
|
|
1033
|
+
state: "expanded" | "collapsed";
|
|
1034
|
+
open: boolean;
|
|
1035
|
+
setOpen: (open: boolean) => void;
|
|
1036
|
+
openMobile: boolean;
|
|
1037
|
+
setOpenMobile: (open: boolean) => void;
|
|
1038
|
+
isMobile: boolean;
|
|
1039
|
+
toggleSidebar: () => void;
|
|
1040
|
+
};
|
|
1041
|
+
declare function useSidebar(): SidebarContextProps;
|
|
1042
|
+
declare function SidebarProvider({ defaultOpen, open: openProp, onOpenChange: setOpenProp, className, style, children, ...props }: React$1.ComponentProps<"div"> & {
|
|
1043
|
+
defaultOpen?: boolean;
|
|
1044
|
+
open?: boolean;
|
|
1045
|
+
onOpenChange?: (open: boolean) => void;
|
|
1046
|
+
}): react_jsx_runtime.JSX.Element;
|
|
1047
|
+
declare function Sidebar({ side, variant, collapsible, className, children, ...props }: React$1.ComponentProps<"div"> & {
|
|
1048
|
+
side?: "left" | "right";
|
|
1049
|
+
variant?: "sidebar" | "floating" | "inset";
|
|
1050
|
+
collapsible?: "offcanvas" | "icon" | "none";
|
|
1051
|
+
}): react_jsx_runtime.JSX.Element;
|
|
1052
|
+
declare function SidebarTrigger({ className, onClick, ...props }: React$1.ComponentProps<typeof Button>): react_jsx_runtime.JSX.Element;
|
|
1053
|
+
declare function SidebarRail({ className, ...props }: React$1.ComponentProps<"button">): react_jsx_runtime.JSX.Element;
|
|
1054
|
+
declare function SidebarInset({ className, ...props }: React$1.ComponentProps<"main">): react_jsx_runtime.JSX.Element;
|
|
1055
|
+
declare function SidebarInput({ className, ...props }: React$1.ComponentProps<typeof Input>): react_jsx_runtime.JSX.Element;
|
|
1056
|
+
declare function SidebarHeader({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
|
|
1057
|
+
declare function SidebarFooter({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
|
|
1058
|
+
declare function SidebarSeparator({ className, ...props }: React$1.ComponentProps<typeof Separator>): react_jsx_runtime.JSX.Element;
|
|
1059
|
+
declare function SidebarContent({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
|
|
1060
|
+
declare function SidebarGroup({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
|
|
1061
|
+
declare function SidebarGroupLabel({ className, asChild, ...props }: React$1.ComponentProps<"div"> & {
|
|
1062
|
+
asChild?: boolean;
|
|
1063
|
+
}): react_jsx_runtime.JSX.Element;
|
|
1064
|
+
declare function SidebarGroupAction({ className, asChild, ...props }: React$1.ComponentProps<"button"> & {
|
|
1065
|
+
asChild?: boolean;
|
|
1066
|
+
}): react_jsx_runtime.JSX.Element;
|
|
1067
|
+
declare function SidebarGroupContent({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
|
|
1068
|
+
declare function SidebarMenu({ className, ...props }: React$1.ComponentProps<"ul">): react_jsx_runtime.JSX.Element;
|
|
1069
|
+
declare function SidebarMenuItem({ className, ...props }: React$1.ComponentProps<"li">): react_jsx_runtime.JSX.Element;
|
|
1070
|
+
declare const sidebarMenuButtonVariants: (props?: ({
|
|
1071
|
+
variant?: "default" | "outline" | null | undefined;
|
|
1072
|
+
size?: "default" | "sm" | "lg" | null | undefined;
|
|
1073
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
1074
|
+
declare function SidebarMenuButton({ asChild, isActive, variant, size, tooltip, className, ...props }: React$1.ComponentProps<"button"> & {
|
|
1075
|
+
asChild?: boolean;
|
|
1076
|
+
isActive?: boolean;
|
|
1077
|
+
tooltip?: string | React$1.ComponentProps<typeof TooltipContent>;
|
|
1078
|
+
} & VariantProps<typeof sidebarMenuButtonVariants>): react_jsx_runtime.JSX.Element;
|
|
1079
|
+
declare function SidebarMenuAction({ className, asChild, showOnHover, ...props }: React$1.ComponentProps<"button"> & {
|
|
1080
|
+
asChild?: boolean;
|
|
1081
|
+
showOnHover?: boolean;
|
|
1082
|
+
}): react_jsx_runtime.JSX.Element;
|
|
1083
|
+
declare function SidebarMenuBadge({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
|
|
1084
|
+
declare function SidebarMenuSkeleton({ className, showIcon, ...props }: React$1.ComponentProps<"div"> & {
|
|
1085
|
+
showIcon?: boolean;
|
|
1086
|
+
}): react_jsx_runtime.JSX.Element;
|
|
1087
|
+
declare function SidebarMenuSub({ className, ...props }: React$1.ComponentProps<"ul">): react_jsx_runtime.JSX.Element;
|
|
1088
|
+
declare function SidebarMenuSubItem({ className, ...props }: React$1.ComponentProps<"li">): react_jsx_runtime.JSX.Element;
|
|
1089
|
+
declare function SidebarMenuSubButton({ asChild, size, isActive, className, ...props }: React$1.ComponentProps<"a"> & {
|
|
1090
|
+
asChild?: boolean;
|
|
1091
|
+
size?: "sm" | "md";
|
|
1092
|
+
isActive?: boolean;
|
|
1093
|
+
}): react_jsx_runtime.JSX.Element;
|
|
1094
|
+
|
|
1095
|
+
type TableProps = React.TableHTMLAttributes<HTMLTableElement>;
|
|
1096
|
+
type TableHeaderProps = React.HTMLAttributes<HTMLTableSectionElement>;
|
|
1097
|
+
type TableBodyProps = React.HTMLAttributes<HTMLTableSectionElement>;
|
|
1098
|
+
type TableFooterProps = React.HTMLAttributes<HTMLTableSectionElement>;
|
|
1099
|
+
type TableRowProps = React.HTMLAttributes<HTMLTableRowElement>;
|
|
1100
|
+
type TableHeadProps = React.ThHTMLAttributes<HTMLTableCellElement>;
|
|
1101
|
+
type TableCellProps = React.TdHTMLAttributes<HTMLTableCellElement>;
|
|
1102
|
+
type TableCaptionProps = React.HTMLAttributes<HTMLTableCaptionElement>;
|
|
1103
|
+
declare function Table({ className, ...props }: TableProps): react_jsx_runtime.JSX.Element;
|
|
1104
|
+
declare function TableHeader({ className, ...props }: TableHeaderProps): react_jsx_runtime.JSX.Element;
|
|
1105
|
+
declare function TableBody({ className, ...props }: TableBodyProps): react_jsx_runtime.JSX.Element;
|
|
1106
|
+
declare function TableFooter({ className, ...props }: TableFooterProps): react_jsx_runtime.JSX.Element;
|
|
1107
|
+
declare function TableRow({ className, ...props }: TableRowProps): react_jsx_runtime.JSX.Element;
|
|
1108
|
+
declare function TableHead({ className, ...props }: TableHeadProps): react_jsx_runtime.JSX.Element;
|
|
1109
|
+
declare function TableCell({ className, ...props }: TableCellProps): react_jsx_runtime.JSX.Element;
|
|
1110
|
+
declare function TableCaption({ className, ...props }: TableCaptionProps): react_jsx_runtime.JSX.Element;
|
|
1111
|
+
|
|
1112
|
+
interface RowAction<TData> {
|
|
1113
|
+
label: string;
|
|
1114
|
+
onClick: (row: TData) => void;
|
|
1115
|
+
icon?: React.ReactNode;
|
|
1116
|
+
variant?: "default" | "destructive";
|
|
1117
|
+
separator?: boolean;
|
|
1118
|
+
}
|
|
1119
|
+
/**
|
|
1120
|
+
* Visual chrome variants for DataTable.
|
|
1121
|
+
* - "default": Standard appearance with no special styling
|
|
1122
|
+
* - "pageShell": Optimized for use inside PageShell - gray header background,
|
|
1123
|
+
* edge-to-edge layout that accounts for PageShell's card padding
|
|
1124
|
+
*/
|
|
1125
|
+
type DataTableChrome = "default" | "pageShell";
|
|
1126
|
+
interface DataTableProps<TData, TValue> {
|
|
1127
|
+
/** Column definitions for the table */
|
|
1128
|
+
columns: ColumnDef<TData, TValue>[];
|
|
1129
|
+
/** Data to display in the table */
|
|
1130
|
+
data: TData[];
|
|
1131
|
+
/** Enable sorting on columns (default: true) */
|
|
1132
|
+
enableSorting?: boolean;
|
|
1133
|
+
/** Enable pagination (default: false) */
|
|
1134
|
+
enablePagination?: boolean;
|
|
1135
|
+
/** Number of rows per page when pagination is enabled (default: 10) */
|
|
1136
|
+
pageSize?: number;
|
|
1137
|
+
/** Callback when a row is clicked */
|
|
1138
|
+
onRowClick?: (row: TData) => void;
|
|
1139
|
+
/** Custom class name for the table container */
|
|
1140
|
+
className?: string;
|
|
1141
|
+
/** Empty state message */
|
|
1142
|
+
emptyMessage?: string;
|
|
1143
|
+
/** Empty state description */
|
|
1144
|
+
emptyDescription?: string;
|
|
1145
|
+
/** Enable row selection with checkboxes */
|
|
1146
|
+
enableRowSelection?: boolean;
|
|
1147
|
+
/** Callback when row selection changes */
|
|
1148
|
+
onRowSelectionChange?: (selectedRows: TData[]) => void;
|
|
1149
|
+
/** Enable column visibility toggle */
|
|
1150
|
+
enableColumnVisibility?: boolean;
|
|
1151
|
+
/** Enable global search filter */
|
|
1152
|
+
enableGlobalFilter?: boolean;
|
|
1153
|
+
/** Placeholder for global search input */
|
|
1154
|
+
globalFilterPlaceholder?: string;
|
|
1155
|
+
/** Row actions dropdown - provide actions for each row */
|
|
1156
|
+
rowActions?: (row: TData) => RowAction<TData>[];
|
|
1157
|
+
/**
|
|
1158
|
+
* Visual chrome variant.
|
|
1159
|
+
* - "default": Standard appearance
|
|
1160
|
+
* - "pageShell": Optimized for PageShell (gray header, edge-to-edge layout)
|
|
1161
|
+
* @default "default"
|
|
1162
|
+
*/
|
|
1163
|
+
chrome?: DataTableChrome;
|
|
1164
|
+
}
|
|
1165
|
+
interface DataTableColumnHeaderProps<TData, TValue> {
|
|
1166
|
+
column: {
|
|
1167
|
+
getCanSort: () => boolean;
|
|
1168
|
+
getIsSorted: () => false | "asc" | "desc";
|
|
1169
|
+
toggleSorting: (desc?: boolean) => void;
|
|
1170
|
+
};
|
|
1171
|
+
title: string;
|
|
1172
|
+
className?: string;
|
|
1173
|
+
}
|
|
1174
|
+
declare function DataTableColumnHeader<TData, TValue>({ column, title, className, }: DataTableColumnHeaderProps<TData, TValue>): react_jsx_runtime.JSX.Element;
|
|
1175
|
+
declare function DataTable<TData, TValue>({ columns: userColumns, data, enableSorting, enablePagination, pageSize, onRowClick, className, emptyMessage, emptyDescription, enableRowSelection, onRowSelectionChange, enableColumnVisibility, enableGlobalFilter, globalFilterPlaceholder, rowActions, chrome, }: DataTableProps<TData, TValue>): react_jsx_runtime.JSX.Element;
|
|
1176
|
+
|
|
1177
|
+
export { Alert, AlertDescription, type AlertDescriptionProps, type AlertProps, AlertTitle, type AlertTitleProps, type AlertVariant, Badge, type BadgeProps, type BadgeVariant, BottomSheet, BottomSheetDivider, type BottomSheetDividerProps, BottomSheetLayout, type BottomSheetLayoutProps, BottomSheetMain, type BottomSheetMainProps, type BottomSheetProps, BottomSheetSection, type BottomSheetSectionProps, BottomSheetSidebar, type BottomSheetSidebarProps, Button, type ButtonProps, type ButtonSize, type ButtonVariant, Calendar, type CalendarProps, Card, CardAction, type CardActionProps, CardContent, type CardContentProps, CardDescription, type CardDescriptionProps, CardFooter, type CardFooterProps, CardHeader, type CardHeaderProps, type CardProps, CardTitle, type CardTitleProps, Checkbox, type CheckboxProps, Collapsible, CollapsibleContent, type CollapsibleContentProps, type CollapsibleProps, CollapsibleTrigger, type CollapsibleTriggerProps, Combobox, ComboboxContent, type ComboboxContentProps, ComboboxEmpty, type ComboboxEmptyProps, ComboboxGroup, type ComboboxGroupProps, ComboboxInput, type ComboboxInputProps, ComboboxItem, type ComboboxItemProps, ComboboxList, type ComboboxListProps, type ComboboxOption, type ComboboxProps, ComboboxTrigger, type ComboboxTriggerProps, Command, CommandDialog, type CommandDialogProps, CommandEmpty, type CommandEmptyProps, CommandGroup, type CommandGroupProps, CommandInput, type CommandInputProps, CommandItem, type CommandItemProps, CommandList, type CommandListProps, type CommandProps, CommandSeparator, type CommandSeparatorProps, CommandShortcut, type CommandShortcutProps, DAYS_OF_WEEK, DEFAULT_RECURRENCE_CONFIG, DataTable, DataTableColumnHeader, type DataTableColumnHeaderProps, type DataTableProps, DatePicker, type DatePickerProps, type DayOfWeek, Dialog, DialogClose, type DialogCloseProps, DialogContent, type DialogContentProps, DialogDescription, type DialogDescriptionProps, DialogFooter, type DialogFooterProps, DialogHeader, type DialogHeaderProps, DialogOverlay, type DialogOverlayProps, DialogPortal, type DialogPortalProps, type DialogProps, DialogTitle, type DialogTitleProps, DialogTrigger, type DialogTriggerProps, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, type DropdownMenuContentProps, DropdownMenuGroup, DropdownMenuItem, type DropdownMenuItemProps, DropdownMenuLabel, type DropdownMenuLabelProps, DropdownMenuPortal, type DropdownMenuProps, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, type DropdownMenuSubTriggerProps, DropdownMenuTrigger, type DropdownMenuTriggerProps, EMPTY_STATE, type EndCondition, FREQUENCY_OPTIONS, type FilterExpression, type FilterField, type FilterFieldOption, type FilterLogic, type FilterOperator, type FilterState, type FilterValue, type FrequencyOption, FrequencySelect, GlobalSettingsModal, GlobalSettingsModalDivider, type GlobalSettingsModalDividerProps, type GlobalSettingsModalProps, GlobalSettingsModalSection, type GlobalSettingsModalSectionProps, Input, type InputProps, Label, type LabelProps, MonthlyDatePicker, MonthlyWeekdayPicker, type OperatorId, Popover, PopoverAnchor, type PopoverAnchorProps, PopoverContent, type PopoverContentProps, type PopoverProps, PopoverTrigger, type PopoverTriggerProps, type QuickFilterConfig, type RangeValue, type Recurrence, type RecurrenceConfig, RecurrenceScheduler, type RecurrenceSchedulerProps, type RelativeTimeValue, type RowAction, Select, SelectContent, type SelectContentProps, SelectGroup, type SelectGroupProps, SelectItem, type SelectItemProps, SelectLabel, type SelectLabelProps, type SelectProps, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, type SelectSeparatorProps, SelectTrigger, type SelectTriggerProps, SelectValue, type SelectValueProps, SemanticAdvancedFilterBuilder, type SemanticAdvancedFilterBuilderProps, type SemanticFieldType, SemanticFilterController, type SemanticFilterControllerProps, SemanticQuickFilters, type SemanticQuickFiltersProps, Separator, type SeparatorProps, Sheet, SheetClose, type SheetCloseProps, SheetContent, type SheetContentProps, SheetDescription, type SheetDescriptionProps, SheetFooter, type SheetFooterProps, SheetHeader, type SheetHeaderProps, SheetOverlay, type SheetOverlayProps, SheetPortal, type SheetPortalProps, type SheetProps, SheetTitle, type SheetTitleProps, SheetTrigger, type SheetTriggerProps, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, type SkeletonProps, SummaryDisplay, Table, TableBody, type TableBodyProps, TableCaption, type TableCaptionProps, TableCell, type TableCellProps, TableFooter, type TableFooterProps, TableHead, type TableHeadProps, TableHeader, type TableHeaderProps, type TableProps, TableRow, type TableRowProps, Tabs, TabsContent, type TabsContentProps, TabsList, type TabsListProps, type TabsProps, TabsTrigger, type TabsTriggerProps, Textarea, type TextareaProps, type TimeUnit, type ToastOptions, Toaster, type ToasterProps, Tooltip, TooltipContent, type TooltipContentProps, type TooltipProps, TooltipProvider, type TooltipProviderProps, TooltipTrigger, type TooltipTriggerProps, type UIHint, type UseSemanticFilterStateOptions, type UseSemanticFilterStateReturn, UtilityBar, type UtilityBarAction, DateRangePlaceholder as UtilityBarDateRangePlaceholder, type UtilityBarProps, ValueInput, type ValueSchema, type ValueSchemaType, WEEKS_OF_MONTH, type WeekOfMonth, WeeklyDaysSelect, addExpression, alertVariants, areValuesEqual, badgeVariants, buttonVariants, clearAll, createDefaultRecurrence, createExpression, createExpressionWith, extractQuickFilterValues, generateExpressionId, getActiveFieldIds, getAllOperators, getCompatibleOperators, getDefaultValueForOperator, getExpressionByField, getExpressionById, getOperator, getOperatorsForField, hasChanges, hasExpressions, initializeForField, initializeForOperator, isOperatorCompatible, isPresenceOperator, isValueEmpty, mergeClasses, notify, removeExpression, resolveUIHint, resolveUIHintByIds, setExpressionForField, setLogic, updateExpression, useIsMobile, useRecurrenceScheduler, useSemanticFilterState, useSidebar };
|