@hilum/ui 3.8.6 → 3.10.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/README.md +32 -1
- package/dist/{chunk-RI6QJR2L.js → chunk-R576DV2A.js} +120 -14
- package/dist/chunk-R576DV2A.js.map +1 -0
- package/dist/create-theme.js +2 -1
- package/dist/create-theme.js.map +1 -1
- package/dist/index.d.ts +733 -68
- package/dist/index.js +3097 -1619
- package/dist/index.js.map +1 -1
- package/dist/tokens.css +163 -19
- package/dist/tokens.d.ts +69 -5
- package/dist/tokens.js +1 -1
- package/llms.txt +11 -4
- package/package.json +11 -10
- package/src/components/accordion.tsx +2 -2
- package/src/components/account-menu.tsx +1 -1
- package/src/components/alert-dialog.tsx +107 -0
- package/src/components/ask-user-questions.tsx +24 -18
- package/src/components/badge.tsx +36 -3
- package/src/components/breadcrumb.tsx +4 -2
- package/src/components/button-group.tsx +1 -1
- package/src/components/button.tsx +31 -23
- package/src/components/calendar.tsx +1 -1
- package/src/components/card.tsx +4 -2
- package/src/components/checkbox-card.tsx +1 -1
- package/src/components/checkbox-group.tsx +2 -1
- package/src/components/code-block.tsx +99 -0
- package/src/components/color-input.tsx +9 -6
- package/src/components/color-picker.tsx +38 -26
- package/src/components/combobox.tsx +59 -12
- package/src/components/command-palette.tsx +150 -42
- package/src/components/command.tsx +5 -3
- package/src/components/context-menu.tsx +18 -15
- package/src/components/contextual-save-bar.tsx +156 -0
- package/src/components/data-table.tsx +34 -5
- package/src/components/date-picker.tsx +275 -28
- package/src/components/date-text.tsx +90 -0
- package/src/components/dropdown-menu.tsx +11 -8
- package/src/components/dropdown.tsx +6 -3
- package/src/components/empty-state.tsx +85 -20
- package/src/components/file-dropzone.tsx +2 -1
- package/src/components/file-thumbnail.tsx +84 -20
- package/src/components/filter-bar.tsx +91 -0
- package/src/components/grid-list.tsx +2 -2
- package/src/components/help-tooltip.tsx +1 -1
- package/src/components/input-copy.tsx +1 -1
- package/src/components/input-group.tsx +1 -1
- package/src/components/input-message.tsx +5 -4
- package/src/components/input-number.tsx +103 -11
- package/src/components/input.tsx +5 -3
- package/src/components/label.tsx +1 -0
- package/src/components/media-asset-card.tsx +1 -1
- package/src/components/menu-item.tsx +37 -3
- package/src/components/menubar.tsx +21 -18
- package/src/components/native-select.tsx +1 -1
- package/src/components/navigation-menu.tsx +2 -2
- package/src/components/notification.tsx +1 -1
- package/src/components/pagination.tsx +97 -3
- package/src/components/popover.tsx +2 -0
- package/src/components/property-row.tsx +7 -4
- package/src/components/radio-card.tsx +1 -1
- package/src/components/radio-group.tsx +2 -1
- package/src/components/rating.tsx +136 -0
- package/src/components/resizable.tsx +1 -1
- package/src/components/resource-item.tsx +133 -0
- package/src/components/rich-text-editor.tsx +1 -0
- package/src/components/search-input.tsx +98 -0
- package/src/components/searchable-table.tsx +10 -11
- package/src/components/select.tsx +28 -9
- package/src/components/sidebar.tsx +4 -4
- package/src/components/slider.tsx +78 -36
- package/src/components/sonner.tsx +18 -4
- package/src/components/stat-card.tsx +121 -37
- package/src/components/status-badge.tsx +142 -47
- package/src/components/status-tile.tsx +9 -0
- package/src/components/switch.tsx +6 -5
- package/src/components/tabs-subtle.tsx +10 -2
- package/src/components/tabs.tsx +23 -3
- package/src/components/textarea.tsx +2 -3
- package/src/components/thinking-steps.tsx +3 -3
- package/src/components/toggle.tsx +14 -13
- package/src/components/tooltip.tsx +11 -8
- package/src/components/url-redirect-prompt.tsx +0 -1
- package/src/index.ts +15 -0
- package/src/lib/density-context.tsx +65 -0
- package/src/lib/format.tsx +301 -0
- package/src/lib/interaction.ts +12 -4
- package/src/lib/scroll-fade.tsx +39 -0
- package/src/tokens/tokens.test.ts +77 -0
- package/src/tokens/tokens.ts +114 -5
- package/dist/chunk-RI6QJR2L.js.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ClassValue } from 'clsx';
|
|
2
2
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
3
3
|
import * as React from 'react';
|
|
4
|
-
import { ComponentType, ReactNode, HTMLAttributes, ButtonHTMLAttributes,
|
|
4
|
+
import { ComponentType, ReactNode, RefObject, CSSProperties, HTMLAttributes, ButtonHTMLAttributes, ComponentPropsWithoutRef, InputHTMLAttributes, ChangeEventHandler, TextareaHTMLAttributes, TdHTMLAttributes, ThHTMLAttributes } from 'react';
|
|
5
5
|
import * as _radix_ui_react_dropdown_menu from '@radix-ui/react-dropdown-menu';
|
|
6
6
|
import { DropdownMenu, AlertDialog, AspectRatio, Avatar as Avatar$1, Checkbox, Collapsible, ContextMenu, HoverCard, Label as Label$1, Menubar, Dialog as Dialog$1, NavigationMenu, Popover, Progress, ScrollArea, Separator as Separator$1, ToggleGroup, Toggle } from 'radix-ui';
|
|
7
7
|
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
@@ -15,11 +15,12 @@ import * as DialogPrimitive from '@radix-ui/react-dialog';
|
|
|
15
15
|
import { ColumnDef } from '@tanstack/react-table';
|
|
16
16
|
export { ColumnDef, createColumnHelper } from '@tanstack/react-table';
|
|
17
17
|
import * as vaul from 'vaul';
|
|
18
|
-
import * as
|
|
18
|
+
import * as Pdfjs from 'pdfjs-dist';
|
|
19
19
|
import * as input_otp from 'input-otp';
|
|
20
20
|
import * as _radix_ui_react_context from '@radix-ui/react-context';
|
|
21
21
|
import { SeparatorProps, Panel, GroupProps } from 'react-resizable-panels';
|
|
22
|
-
import { Toaster as Toaster$1 } from 'sonner';
|
|
22
|
+
import { toast, Toaster as Toaster$1 } from 'sonner';
|
|
23
|
+
export { toast, useSonner } from 'sonner';
|
|
23
24
|
import * as TabsPrimitive from '@radix-ui/react-tabs';
|
|
24
25
|
import * as TooltipPrimitive from '@radix-ui/react-tooltip';
|
|
25
26
|
|
|
@@ -91,6 +92,168 @@ declare function SurfaceProvider({ value, children }: {
|
|
|
91
92
|
children: ReactNode;
|
|
92
93
|
}): react_jsx_runtime.JSX.Element;
|
|
93
94
|
|
|
95
|
+
/**
|
|
96
|
+
* Control density.
|
|
97
|
+
*
|
|
98
|
+
* - `default` — the standard Hilum sizing (40px inputs, 32px buttons, 40px
|
|
99
|
+
* menu rows). Used everywhere unless something opts in.
|
|
100
|
+
* - `compact` — editor-chrome sizing (Figma / Framer / Linear inspectors):
|
|
101
|
+
* 24px controls, 28px rows and menu items, 12px text, 11px labels, 8px
|
|
102
|
+
* horizontal padding, 4–6px radii.
|
|
103
|
+
*
|
|
104
|
+
* Density is carried two ways so it works for both CSS and portalled UI:
|
|
105
|
+
* 1. the `data-density="compact"` attribute on an ancestor element drives the
|
|
106
|
+
* `compact:` Tailwind variant and the `--density-*` CSS variables emitted
|
|
107
|
+
* in tokens.css;
|
|
108
|
+
* 2. React context, so portalled content (menus, popovers, select lists)
|
|
109
|
+
* can re-apply the attribute on its own root outside the DOM subtree.
|
|
110
|
+
*/
|
|
111
|
+
type Density = "default" | "compact";
|
|
112
|
+
declare const DensityContext: React.Context<Density>;
|
|
113
|
+
declare function useDensity(): Density;
|
|
114
|
+
interface DensityProviderProps {
|
|
115
|
+
density: Density;
|
|
116
|
+
children: ReactNode;
|
|
117
|
+
/**
|
|
118
|
+
* Render a `display: contents` wrapper carrying `data-density` (default).
|
|
119
|
+
* Pass `false` when you already set `data-density` on your own element and
|
|
120
|
+
* only need the React context (e.g. for portalled menus).
|
|
121
|
+
*/
|
|
122
|
+
wrap?: boolean;
|
|
123
|
+
}
|
|
124
|
+
declare function DensityProvider({ density, children, wrap }: DensityProviderProps): react_jsx_runtime.JSX.Element;
|
|
125
|
+
/**
|
|
126
|
+
* Props to spread on a portalled content root so it inherits the density of
|
|
127
|
+
* the tree that opened it. Returns `{}` in default density so markup is
|
|
128
|
+
* unchanged for non-editor consumers.
|
|
129
|
+
*/
|
|
130
|
+
declare function useDensityAttributes(): {
|
|
131
|
+
"data-density"?: Density;
|
|
132
|
+
};
|
|
133
|
+
|
|
134
|
+
type DateInput = Date | string | number | null | undefined;
|
|
135
|
+
/**
|
|
136
|
+
* - `date` / `short` — "Sep 26, 2026" (default; `short` is an alias)
|
|
137
|
+
* - `long` — "September 26, 2026"
|
|
138
|
+
* - `datetime` — "Sep 26, 2026, 3:04 PM"
|
|
139
|
+
* - `time` — "3:04 PM"
|
|
140
|
+
* - `monthDay` — "Sep 26" (dense timelines, same-year lists)
|
|
141
|
+
* - `month` — "September 2026"
|
|
142
|
+
* - `iso` — "2026-09-26" (local calendar date, for APIs)
|
|
143
|
+
*/
|
|
144
|
+
type DateFormatStyle = "date" | "short" | "long" | "datetime" | "time" | "monthDay" | "month" | "iso";
|
|
145
|
+
interface FormatOptions {
|
|
146
|
+
/** BCP-47 locale. Defaults to the provider locale, then the runtime default. */
|
|
147
|
+
locale?: string | undefined;
|
|
148
|
+
/** IANA time zone, e.g. "America/Lima". Defaults to the runtime zone. */
|
|
149
|
+
timeZone?: string | undefined;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Parse a date-ish value. Date-only ISO strings ("2026-09-26") are read as
|
|
153
|
+
* local calendar dates instead of UTC midnight, so they never shift a day
|
|
154
|
+
* backwards in western time zones. Returns `null` for empty/invalid input.
|
|
155
|
+
*/
|
|
156
|
+
declare function toDate(value: DateInput): Date | null;
|
|
157
|
+
/** Format a Date as a local calendar date string ("YYYY-MM-DD"). */
|
|
158
|
+
declare function toISODate(value: DateInput): string;
|
|
159
|
+
interface FormatDateOptions extends FormatOptions {
|
|
160
|
+
/** Preset style. Default: `"date"` ("Sep 26, 2026"). */
|
|
161
|
+
style?: DateFormatStyle;
|
|
162
|
+
/** Rendered for empty/invalid input. Default: "—". */
|
|
163
|
+
fallback?: string;
|
|
164
|
+
}
|
|
165
|
+
declare function formatDate(value: DateInput, options?: FormatDateOptions): string;
|
|
166
|
+
declare function formatDateTime(value: DateInput, options?: Omit<FormatDateOptions, "style">): string;
|
|
167
|
+
interface FormatDateRangeOptions extends FormatOptions {
|
|
168
|
+
style?: Exclude<DateFormatStyle, "iso" | "time">;
|
|
169
|
+
fallback?: string;
|
|
170
|
+
}
|
|
171
|
+
/** "Sep 1 – 26, 2026" — collapses shared parts via Intl.DateTimeFormat#formatRange. */
|
|
172
|
+
declare function formatDateRange(start: DateInput, end: DateInput, options?: FormatDateRangeOptions): string;
|
|
173
|
+
interface FormatRelativeTimeOptions extends FormatOptions {
|
|
174
|
+
/** Reference time. Default: now. */
|
|
175
|
+
now?: DateInput;
|
|
176
|
+
/**
|
|
177
|
+
* After this many seconds the absolute date is shown instead
|
|
178
|
+
* ("Sep 26, 2026"). Default: 7 days. Pass `Infinity` to always be relative.
|
|
179
|
+
*/
|
|
180
|
+
maxRelativeSeconds?: number;
|
|
181
|
+
fallback?: string;
|
|
182
|
+
}
|
|
183
|
+
/** "just now", "5 minutes ago", "in 2 days"; absolute date past `maxRelativeSeconds`. */
|
|
184
|
+
declare function formatRelativeTime(value: DateInput, options?: FormatRelativeTimeOptions): string;
|
|
185
|
+
interface FormatNumberOptions extends FormatOptions, Intl.NumberFormatOptions {
|
|
186
|
+
fallback?: string;
|
|
187
|
+
}
|
|
188
|
+
declare function formatNumber(value: number | string | null | undefined, options?: FormatNumberOptions): string;
|
|
189
|
+
interface FormatCurrencyOptions extends FormatNumberOptions {
|
|
190
|
+
/** ISO-4217 code. Default: provider currency, then "USD". */
|
|
191
|
+
currency?: string;
|
|
192
|
+
/** When true, `value` is in minor units (cents) and divided by 10^fractionDigits. */
|
|
193
|
+
minorUnits?: boolean;
|
|
194
|
+
}
|
|
195
|
+
declare function formatCurrency(value: number | string | null | undefined, options?: FormatCurrencyOptions): string;
|
|
196
|
+
declare function formatPercent(value: number | null | undefined, options?: FormatNumberOptions): string;
|
|
197
|
+
interface PluralizeOptions extends FormatOptions {
|
|
198
|
+
/** Plural form. Default: `${singular}s`. */
|
|
199
|
+
plural?: string;
|
|
200
|
+
/** Omit the number ("items" instead of "2 items"). */
|
|
201
|
+
hideCount?: boolean;
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* "1 item", "2 items", "1,204 orders". Uses Intl.PluralRules to pick the form
|
|
205
|
+
* and Intl.NumberFormat for the count.
|
|
206
|
+
*/
|
|
207
|
+
declare function pluralize(count: number, singular: string, options?: PluralizeOptions): string;
|
|
208
|
+
interface FormatContextValue {
|
|
209
|
+
locale?: string | undefined;
|
|
210
|
+
currency?: string | undefined;
|
|
211
|
+
timeZone?: string | undefined;
|
|
212
|
+
}
|
|
213
|
+
interface FormatProviderProps extends FormatContextValue {
|
|
214
|
+
children: ReactNode;
|
|
215
|
+
}
|
|
216
|
+
declare function FormatProvider({ locale, currency, timeZone, children }: FormatProviderProps): react_jsx_runtime.JSX.Element;
|
|
217
|
+
/** Formatters bound to the nearest FormatProvider's locale/currency/timeZone. */
|
|
218
|
+
declare function useFormatter(): {
|
|
219
|
+
locale: string | undefined;
|
|
220
|
+
currencyCode: string | undefined;
|
|
221
|
+
timeZone: string | undefined;
|
|
222
|
+
date: (value: DateInput, options?: FormatDateOptions) => string;
|
|
223
|
+
dateTime: (value: DateInput, options?: Omit<FormatDateOptions, "style">) => string;
|
|
224
|
+
dateRange: (start: DateInput, end: DateInput, options?: FormatDateRangeOptions) => string;
|
|
225
|
+
relative: (value: DateInput, options?: FormatRelativeTimeOptions) => string;
|
|
226
|
+
number: (value: number | string | null | undefined, options?: FormatNumberOptions) => string;
|
|
227
|
+
currency: (value: number | string | null | undefined, options?: FormatCurrencyOptions) => string;
|
|
228
|
+
percent: (value: number | null | undefined, options?: FormatNumberOptions) => string;
|
|
229
|
+
pluralize: (count: number, singular: string, options?: PluralizeOptions) => string;
|
|
230
|
+
};
|
|
231
|
+
|
|
232
|
+
interface ScrollEdges {
|
|
233
|
+
top: boolean;
|
|
234
|
+
bottom: boolean;
|
|
235
|
+
left: boolean;
|
|
236
|
+
right: boolean;
|
|
237
|
+
}
|
|
238
|
+
interface UseScrollEdgesOptions {
|
|
239
|
+
/** Attach/detach tracking. While false all edges read false. Callers whose
|
|
240
|
+
* scroller mounts late (portals) must fold that into `enabled` so the
|
|
241
|
+
* hook re-attaches once the element exists. Defaults to `true`. */
|
|
242
|
+
enabled?: boolean;
|
|
243
|
+
/** Which axes to measure. Defaults to `"vertical"`. */
|
|
244
|
+
axis?: "vertical" | "horizontal" | "both";
|
|
245
|
+
}
|
|
246
|
+
declare function useScrollEdges(ref: RefObject<HTMLElement | null>, { enabled, axis }?: UseScrollEdgesOptions): ScrollEdges;
|
|
247
|
+
/**
|
|
248
|
+
* CSS mask that fades whichever horizontal edges still hide content. Works on
|
|
249
|
+
* any background (unlike a surface-coloured gradient), so it suits tab tracks.
|
|
250
|
+
*/
|
|
251
|
+
declare function horizontalEdgeMask(left: boolean, right: boolean): string | undefined;
|
|
252
|
+
/** Style for a horizontally scrolling strip: edge fades while content is hidden. */
|
|
253
|
+
declare function useHorizontalOverflowMask(ref: RefObject<HTMLElement | null>, enabled?: boolean): CSSProperties | undefined;
|
|
254
|
+
/** Scroll `index`'s `[data-proximity-index]` child into view inside a horizontal strip. */
|
|
255
|
+
declare function scrollStripItemIntoView(container: HTMLElement | null, index: number): void;
|
|
256
|
+
|
|
94
257
|
declare const DropdownMenuRoot: React.FC<DropdownMenu.DropdownMenuProps>;
|
|
95
258
|
declare const DropdownMenuTrigger: React.ForwardRefExoticComponent<DropdownMenu.DropdownMenuTriggerProps & React.RefAttributes<HTMLButtonElement>>;
|
|
96
259
|
declare const DropdownMenuGroup: React.ForwardRefExoticComponent<DropdownMenu.DropdownMenuGroupProps & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -238,9 +401,46 @@ declare const AlertDialogTitle: React.ForwardRefExoticComponent<Omit<AlertDialog
|
|
|
238
401
|
declare const AlertDialogDescription: React.ForwardRefExoticComponent<Omit<AlertDialog.AlertDialogDescriptionProps & React.RefAttributes<HTMLParagraphElement>, "ref"> & React.RefAttributes<HTMLParagraphElement>>;
|
|
239
402
|
declare const AlertDialogAction: React.ForwardRefExoticComponent<Omit<AlertDialog.AlertDialogActionProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
240
403
|
declare const AlertDialogCancel: React.ForwardRefExoticComponent<Omit<AlertDialog.AlertDialogCancelProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
404
|
+
interface ConfirmDialogProps {
|
|
405
|
+
/** Element that opens the dialog (e.g. a "Delete" Button). Optional when controlled. */
|
|
406
|
+
trigger?: React.ReactNode;
|
|
407
|
+
open?: boolean;
|
|
408
|
+
onOpenChange?: (open: boolean) => void;
|
|
409
|
+
title: React.ReactNode;
|
|
410
|
+
description?: React.ReactNode;
|
|
411
|
+
confirmLabel?: React.ReactNode;
|
|
412
|
+
cancelLabel?: React.ReactNode;
|
|
413
|
+
/** Red confirm button for irreversible actions (delete, cancel order). */
|
|
414
|
+
destructive?: boolean;
|
|
415
|
+
/**
|
|
416
|
+
* Runs on confirm. If it returns a promise the confirm button shows a
|
|
417
|
+
* pending state and the dialog stays open until it resolves; a rejection
|
|
418
|
+
* keeps the dialog open so the caller can surface the error (e.g. toast).
|
|
419
|
+
*/
|
|
420
|
+
onConfirm: () => void | Promise<unknown>;
|
|
421
|
+
/** Extra content between the description and the footer. */
|
|
422
|
+
children?: React.ReactNode;
|
|
423
|
+
className?: string;
|
|
424
|
+
}
|
|
425
|
+
/**
|
|
426
|
+
* One-call confirmation dialog — replaces hand-built "Delete X" dialogs.
|
|
427
|
+
*
|
|
428
|
+
* <ConfirmDialog
|
|
429
|
+
* trigger={<Button variant="destructive">Delete</Button>}
|
|
430
|
+
* title="Delete product?"
|
|
431
|
+
* description="This can't be undone."
|
|
432
|
+
* confirmLabel="Delete product"
|
|
433
|
+
* destructive
|
|
434
|
+
* onConfirm={() => deleteProduct(id)}
|
|
435
|
+
* />
|
|
436
|
+
*/
|
|
437
|
+
declare function ConfirmDialog({ trigger, open: openProp, onOpenChange, title, description, confirmLabel, cancelLabel, destructive, onConfirm, children, className, }: ConfirmDialogProps): react_jsx_runtime.JSX.Element;
|
|
438
|
+
declare namespace ConfirmDialog {
|
|
439
|
+
var displayName: string;
|
|
440
|
+
}
|
|
241
441
|
|
|
242
442
|
declare const alertVariants: (props?: ({
|
|
243
|
-
variant?: "
|
|
443
|
+
variant?: "default" | "destructive" | "info" | "success" | "warning" | null | undefined;
|
|
244
444
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
245
445
|
interface AlertProps extends React.ComponentProps<"div">, VariantProps<typeof alertVariants> {
|
|
246
446
|
}
|
|
@@ -360,12 +560,31 @@ declare const badgeColors: {
|
|
|
360
560
|
readonly rose: "#f43f5e";
|
|
361
561
|
};
|
|
362
562
|
type BadgeColor = keyof typeof badgeColors;
|
|
563
|
+
/**
|
|
564
|
+
* Semantic tones — the convention every product surface should use instead
|
|
565
|
+
* of picking badge colours by hand:
|
|
566
|
+
*
|
|
567
|
+
* - `success` — finished and healthy: paid, fulfilled, active, delivered.
|
|
568
|
+
* - `info` — in motion, nothing to do yet: processing, shipped, scheduled.
|
|
569
|
+
* - `attention` — needs a merchant action soon: unfulfilled, partially paid, on hold.
|
|
570
|
+
* - `warning` — at risk / waiting on someone else: pending, past due, expiring.
|
|
571
|
+
* - `critical` — failed or blocked: failed, cancelled, suspended, declined.
|
|
572
|
+
* - `neutral` — inactive or terminal-but-fine: draft, archived, refunded, closed.
|
|
573
|
+
*/
|
|
574
|
+
type StatusTone = "success" | "info" | "attention" | "warning" | "critical" | "neutral";
|
|
575
|
+
type ToneBadgeVariant = "success" | "brand" | "warning" | "destructive" | "secondary";
|
|
576
|
+
declare const STATUS_TONE_BADGE: Record<StatusTone, {
|
|
577
|
+
variant: ToneBadgeVariant;
|
|
578
|
+
color?: BadgeColor;
|
|
579
|
+
}>;
|
|
363
580
|
declare const badgeVariants: (props?: ({
|
|
364
|
-
variant?: "dot" | "
|
|
581
|
+
variant?: "dot" | "default" | "destructive" | "outline" | "brand" | "secondary" | "solid" | "success" | "warning" | null | undefined;
|
|
365
582
|
size?: "sm" | "md" | "lg" | null | undefined;
|
|
366
583
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
367
584
|
interface BadgeProps extends Omit<HTMLAttributes<HTMLSpanElement>, "color">, VariantProps<typeof badgeVariants> {
|
|
368
585
|
color?: BadgeColor;
|
|
586
|
+
/** Semantic tone — wins over `variant`/`color`. See `StatusTone`. */
|
|
587
|
+
tone?: StatusTone;
|
|
369
588
|
}
|
|
370
589
|
declare const Badge: React.ForwardRefExoticComponent<BadgeProps & React.RefAttributes<HTMLSpanElement>>;
|
|
371
590
|
|
|
@@ -402,8 +621,8 @@ declare namespace ButtonGroupItem {
|
|
|
402
621
|
}
|
|
403
622
|
|
|
404
623
|
declare const buttonVariants: (props?: ({
|
|
405
|
-
variant?: "link" | "
|
|
406
|
-
size?: "icon" | "
|
|
624
|
+
variant?: "link" | "default" | "destructive" | "outline" | "primary" | "brand" | "secondary" | "tertiary" | "ghost" | null | undefined;
|
|
625
|
+
size?: "icon" | "default" | "xs" | "sm" | "md" | "lg" | "icon-xs" | "icon-sm" | "icon-lg" | null | undefined;
|
|
407
626
|
iconLeft?: boolean | null | undefined;
|
|
408
627
|
iconRight?: boolean | null | undefined;
|
|
409
628
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
@@ -426,7 +645,7 @@ declare namespace Calendar {
|
|
|
426
645
|
}
|
|
427
646
|
|
|
428
647
|
declare const calloutVariants: (props?: ({
|
|
429
|
-
tone?: "
|
|
648
|
+
tone?: "default" | "destructive" | "info" | "success" | "warning" | null | undefined;
|
|
430
649
|
compact?: boolean | null | undefined;
|
|
431
650
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
432
651
|
interface CalloutProps extends Omit<React.ComponentProps<"div">, "title">, VariantProps<typeof calloutVariants> {
|
|
@@ -492,7 +711,7 @@ declare const CHART_COLORS: {
|
|
|
492
711
|
secondary: "#CDEA19";
|
|
493
712
|
tertiary: "#fff5bf";
|
|
494
713
|
muted: "#737373";
|
|
495
|
-
subtle: "#
|
|
714
|
+
subtle: "#e5e5e5";
|
|
496
715
|
dark: "#171717";
|
|
497
716
|
};
|
|
498
717
|
declare const THEMES: {
|
|
@@ -618,6 +837,28 @@ declare const CollapsibleRoot: React.ForwardRefExoticComponent<Collapsible.Colla
|
|
|
618
837
|
declare const CollapsibleTrigger: React.ForwardRefExoticComponent<Collapsible.CollapsibleTriggerProps & React.RefAttributes<HTMLButtonElement>>;
|
|
619
838
|
declare const CollapsibleContent: React.ForwardRefExoticComponent<Collapsible.CollapsibleContentProps & React.RefAttributes<HTMLDivElement>>;
|
|
620
839
|
|
|
840
|
+
interface CodeBlockProps {
|
|
841
|
+
/** Code as a string (copied verbatim). */
|
|
842
|
+
children: string;
|
|
843
|
+
/** Optional language / filename label in the header. */
|
|
844
|
+
language?: string;
|
|
845
|
+
/** Max height before the block scrolls, e.g. 320 or "20rem". */
|
|
846
|
+
maxHeight?: number | string;
|
|
847
|
+
/** Show a copy button. Default: true. */
|
|
848
|
+
copy?: boolean;
|
|
849
|
+
/** Soft-wrap long lines instead of scrolling horizontally. Default: false. */
|
|
850
|
+
wrap?: boolean;
|
|
851
|
+
className?: string;
|
|
852
|
+
}
|
|
853
|
+
/**
|
|
854
|
+
* Styled, scrollable `<pre>` with copy-to-clipboard — for API keys, webhook
|
|
855
|
+
* payloads, snippets and logs. No syntax highlighting (bring your own).
|
|
856
|
+
*/
|
|
857
|
+
declare function CodeBlock({ children, language, maxHeight, copy, wrap, className, }: CodeBlockProps): react_jsx_runtime.JSX.Element;
|
|
858
|
+
declare namespace CodeBlock {
|
|
859
|
+
var displayName: string;
|
|
860
|
+
}
|
|
861
|
+
|
|
621
862
|
type ControlDensity = "default" | "compact";
|
|
622
863
|
type ControlMobileSurface = "default" | "flush";
|
|
623
864
|
interface InputProps extends React.ComponentProps<"input"> {
|
|
@@ -732,7 +973,9 @@ interface ComboboxOption {
|
|
|
732
973
|
statusColor?: string;
|
|
733
974
|
avatar?: string;
|
|
734
975
|
}
|
|
735
|
-
|
|
976
|
+
/** ARIA attributes the combobox manages itself and therefore doesn't accept. */
|
|
977
|
+
type ManagedAria = "aria-expanded" | "aria-controls" | "aria-activedescendant" | "aria-autocomplete" | "aria-haspopup";
|
|
978
|
+
interface ComboboxProps extends Omit<React.AriaAttributes, ManagedAria> {
|
|
736
979
|
options: ComboboxOption[];
|
|
737
980
|
value?: string;
|
|
738
981
|
onValueChange?: (value: string) => void;
|
|
@@ -740,11 +983,14 @@ interface ComboboxProps {
|
|
|
740
983
|
searchPlaceholder?: string;
|
|
741
984
|
emptyText?: string;
|
|
742
985
|
className?: string;
|
|
986
|
+
/** id of the text input (e.g. for a `<label htmlFor>`). */
|
|
987
|
+
id?: string;
|
|
988
|
+
/** Form field name. Submits the selected option's `value` via a hidden input. */
|
|
989
|
+
name?: string;
|
|
990
|
+
disabled?: boolean;
|
|
991
|
+
onBlur?: React.FocusEventHandler<HTMLInputElement>;
|
|
743
992
|
}
|
|
744
|
-
declare
|
|
745
|
-
declare namespace Combobox {
|
|
746
|
-
var displayName: string;
|
|
747
|
-
}
|
|
993
|
+
declare const Combobox: React.ForwardRefExoticComponent<ComboboxProps & React.RefAttributes<HTMLInputElement>>;
|
|
748
994
|
|
|
749
995
|
interface CommandPaletteItem {
|
|
750
996
|
id?: string | number;
|
|
@@ -761,8 +1007,18 @@ interface CommandPaletteProps {
|
|
|
761
1007
|
items: CommandPaletteItem[];
|
|
762
1008
|
placeholder?: string;
|
|
763
1009
|
emptyText?: string;
|
|
764
|
-
|
|
765
|
-
|
|
1010
|
+
/** Accessible name of the dialog (visually hidden). */
|
|
1011
|
+
title?: string;
|
|
1012
|
+
/** Accessible description of the dialog (visually hidden). */
|
|
1013
|
+
description?: string;
|
|
1014
|
+
/**
|
|
1015
|
+
* Called for items with an `href` (instead of a full page load via
|
|
1016
|
+
* `window.location`). Pass your router's navigate function for client-side
|
|
1017
|
+
* routing. As before, an item's `href` takes precedence over its `onSelect`.
|
|
1018
|
+
*/
|
|
1019
|
+
onNavigate?: (href: string) => void;
|
|
1020
|
+
}
|
|
1021
|
+
declare function CommandPalette({ open, onClose, items, placeholder, emptyText, title, description, onNavigate, }: CommandPaletteProps): react_jsx_runtime.JSX.Element;
|
|
766
1022
|
declare namespace CommandPalette {
|
|
767
1023
|
var displayName: string;
|
|
768
1024
|
}
|
|
@@ -847,6 +1103,52 @@ declare namespace ContextMenuShortcut {
|
|
|
847
1103
|
var displayName: string;
|
|
848
1104
|
}
|
|
849
1105
|
|
|
1106
|
+
interface ContextualSaveBarProps {
|
|
1107
|
+
/** Show the bar — usually `form.isDirty`. */
|
|
1108
|
+
open: boolean;
|
|
1109
|
+
/** Message on the leading edge. Default: "Unsaved changes". */
|
|
1110
|
+
message?: React.ReactNode;
|
|
1111
|
+
/** Primary action. */
|
|
1112
|
+
onSave?: () => void;
|
|
1113
|
+
/** Secondary action — resets the form to its saved state. */
|
|
1114
|
+
onDiscard?: () => void;
|
|
1115
|
+
saveLabel?: React.ReactNode;
|
|
1116
|
+
discardLabel?: React.ReactNode;
|
|
1117
|
+
/** Shows a spinner on Save and disables both actions. */
|
|
1118
|
+
saving?: boolean;
|
|
1119
|
+
/** Disable Save (e.g. while the form is invalid). */
|
|
1120
|
+
saveDisabled?: boolean;
|
|
1121
|
+
/**
|
|
1122
|
+
* Wire the Save button to a `<form id>` instead of `onSave` — the button
|
|
1123
|
+
* becomes `type="submit" form={formId}` so native validation still runs.
|
|
1124
|
+
*/
|
|
1125
|
+
formId?: string;
|
|
1126
|
+
/**
|
|
1127
|
+
* `fixed` pins the bar to the viewport (default: top on desktop,
|
|
1128
|
+
* bottom on mobile for thumb reach). `sticky` keeps it inside its scroll
|
|
1129
|
+
* container — useful inside a settings pane or a dialog.
|
|
1130
|
+
*/
|
|
1131
|
+
position?: "fixed" | "sticky";
|
|
1132
|
+
/** Extra content between the message and the actions (e.g. a "Preview" link). */
|
|
1133
|
+
children?: React.ReactNode;
|
|
1134
|
+
className?: string;
|
|
1135
|
+
}
|
|
1136
|
+
/**
|
|
1137
|
+
* Contextual save bar — the "you have unsaved changes" strip that replaces
|
|
1138
|
+
* per-card Save buttons on edit screens (Shopify's contextual save bar).
|
|
1139
|
+
* Announces itself politely to assistive tech and binds ⌘S / Ctrl+S to Save
|
|
1140
|
+
* while open.
|
|
1141
|
+
*/
|
|
1142
|
+
declare function ContextualSaveBar({ open, message, onSave, onDiscard, saveLabel, discardLabel, saving, saveDisabled, formId, position, children, className, }: ContextualSaveBarProps): react_jsx_runtime.JSX.Element;
|
|
1143
|
+
declare namespace ContextualSaveBar {
|
|
1144
|
+
var displayName: string;
|
|
1145
|
+
}
|
|
1146
|
+
/**
|
|
1147
|
+
* Warn before the tab closes / reloads while `dirty` is true. Pair with
|
|
1148
|
+
* ContextualSaveBar; route-level blocking belongs to your router.
|
|
1149
|
+
*/
|
|
1150
|
+
declare function useUnsavedChangesWarning(dirty: boolean): void;
|
|
1151
|
+
|
|
850
1152
|
interface DataTableProps<TData> {
|
|
851
1153
|
columns: ColumnDef<TData, any>[];
|
|
852
1154
|
data: TData[];
|
|
@@ -854,8 +1156,14 @@ interface DataTableProps<TData> {
|
|
|
854
1156
|
searchPlaceholder?: string;
|
|
855
1157
|
pageSize?: number;
|
|
856
1158
|
showPagination?: boolean;
|
|
1159
|
+
/** Rendered in the table body when there are no rows (e.g. an `<EmptyState>` with an action). */
|
|
1160
|
+
emptyState?: React.ReactNode;
|
|
1161
|
+
/** Make rows clickable (e.g. open the detail page). Enter/Space activate focused rows. */
|
|
1162
|
+
onRowClick?: (row: TData) => void;
|
|
1163
|
+
/** Noun for the result count — "12 orders". Default: "result". */
|
|
1164
|
+
itemLabel?: string;
|
|
857
1165
|
}
|
|
858
|
-
declare function DataTable<TData>({ columns, data, searchKey, searchPlaceholder, pageSize, showPagination, }: DataTableProps<TData>): react_jsx_runtime.JSX.Element;
|
|
1166
|
+
declare function DataTable<TData>({ columns, data, searchKey, searchPlaceholder, pageSize, showPagination, emptyState, onRowClick, itemLabel, }: DataTableProps<TData>): react_jsx_runtime.JSX.Element;
|
|
859
1167
|
|
|
860
1168
|
interface DataTransferScopeOption {
|
|
861
1169
|
value: string;
|
|
@@ -887,18 +1195,106 @@ declare namespace DataTransferControls {
|
|
|
887
1195
|
var displayName: string;
|
|
888
1196
|
}
|
|
889
1197
|
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
1198
|
+
type DateRange = {
|
|
1199
|
+
from: Date | undefined;
|
|
1200
|
+
to?: Date | undefined;
|
|
1201
|
+
};
|
|
1202
|
+
interface DatePickerBaseProps {
|
|
894
1203
|
placeholder?: string;
|
|
895
1204
|
disabled?: boolean;
|
|
1205
|
+
/** Earliest selectable day. */
|
|
1206
|
+
minDate?: Date;
|
|
1207
|
+
/** Latest selectable day. */
|
|
1208
|
+
maxDate?: Date;
|
|
1209
|
+
/** Show a clear (×) button when a value is set. */
|
|
1210
|
+
clearable?: boolean;
|
|
1211
|
+
/** BCP-47 locale for the trigger label. Defaults to FormatProvider. */
|
|
1212
|
+
locale?: string;
|
|
1213
|
+
/**
|
|
1214
|
+
* Stretch the trigger to its container (default, like Input). Pass `false`
|
|
1215
|
+
* for an inline 15rem trigger, or size it with `containerClassName`.
|
|
1216
|
+
*/
|
|
1217
|
+
fullWidth?: boolean;
|
|
1218
|
+
/** Classes for the trigger wrapper (width, margins). `className` targets the button. */
|
|
1219
|
+
containerClassName?: string;
|
|
1220
|
+
id?: string;
|
|
1221
|
+
name?: string;
|
|
1222
|
+
"aria-label"?: string;
|
|
1223
|
+
"aria-invalid"?: boolean;
|
|
896
1224
|
className?: string;
|
|
897
1225
|
}
|
|
898
|
-
|
|
1226
|
+
interface DatePickerProps extends DatePickerBaseProps {
|
|
1227
|
+
value?: Date | undefined;
|
|
1228
|
+
onChange?: (date: Date | undefined) => void;
|
|
1229
|
+
}
|
|
1230
|
+
/**
|
|
1231
|
+
* Single-date picker — a button trigger + calendar popover. Replaces native
|
|
1232
|
+
* `<input type="date">` so dates look and localise the same everywhere.
|
|
1233
|
+
* Pair with `toISODate()` / `toDate()` when your API speaks "YYYY-MM-DD".
|
|
1234
|
+
*/
|
|
1235
|
+
declare function DatePicker({ value, onChange, placeholder, minDate, maxDate, locale, ...rest }: DatePickerProps): react_jsx_runtime.JSX.Element;
|
|
899
1236
|
declare namespace DatePicker {
|
|
900
1237
|
var displayName: string;
|
|
901
1238
|
}
|
|
1239
|
+
interface DateRangePreset {
|
|
1240
|
+
label: string;
|
|
1241
|
+
range: () => DateRange;
|
|
1242
|
+
}
|
|
1243
|
+
/** Common analytics / reporting presets. */
|
|
1244
|
+
declare const DEFAULT_DATE_RANGE_PRESETS: DateRangePreset[];
|
|
1245
|
+
interface DateRangePickerProps extends DatePickerBaseProps {
|
|
1246
|
+
value?: DateRange | undefined;
|
|
1247
|
+
/** Shorthand for `value={{ from, to }}`. Ignored when `value` is set. */
|
|
1248
|
+
from?: Date | undefined;
|
|
1249
|
+
/** Shorthand for `value={{ from, to }}`. Ignored when `value` is set. */
|
|
1250
|
+
to?: Date | undefined;
|
|
1251
|
+
onChange?: (range: DateRange | undefined) => void;
|
|
1252
|
+
/** Quick ranges shown beside the calendar. Pass `[]` to hide. */
|
|
1253
|
+
presets?: DateRangePreset[];
|
|
1254
|
+
/** Months shown side-by-side from `sm` up. Default: 2. */
|
|
1255
|
+
numberOfMonths?: number;
|
|
1256
|
+
}
|
|
1257
|
+
/**
|
|
1258
|
+
* Date-range picker with optional presets ("Last 30 days") — for analytics
|
|
1259
|
+
* filters, reports and exports. Replaces pairs of native date inputs.
|
|
1260
|
+
*/
|
|
1261
|
+
declare function DateRangePicker({ value: valueProp, from, to, onChange, placeholder, minDate, maxDate, locale, presets, numberOfMonths, ...rest }: DateRangePickerProps): react_jsx_runtime.JSX.Element;
|
|
1262
|
+
declare namespace DateRangePicker {
|
|
1263
|
+
var displayName: string;
|
|
1264
|
+
}
|
|
1265
|
+
|
|
1266
|
+
interface DateTextProps extends Omit<React.HTMLAttributes<HTMLTimeElement>, "children"> {
|
|
1267
|
+
/** Date, ISO string, or epoch ms. Empty/invalid renders `fallback`. */
|
|
1268
|
+
value: DateInput;
|
|
1269
|
+
/**
|
|
1270
|
+
* Preset. `date`/`short` → "Sep 26, 2026" (default), `datetime` → "Sep 26,
|
|
1271
|
+
* 2026, 3:04 PM", `monthDay` → "Sep 26", `long`, `month`, `time`, `iso`, or
|
|
1272
|
+
* `relative` → "3 hours ago".
|
|
1273
|
+
*/
|
|
1274
|
+
format?: DateFormatStyle | "relative";
|
|
1275
|
+
locale?: string;
|
|
1276
|
+
timeZone?: string;
|
|
1277
|
+
/** Shown when `value` is empty or invalid. Default: "—". */
|
|
1278
|
+
fallback?: string;
|
|
1279
|
+
}
|
|
1280
|
+
/**
|
|
1281
|
+
* Renders a semantic `<time>` with a consistent, locale-aware format and the
|
|
1282
|
+
* full date-time as a hover title. Use it for every date in tables, detail
|
|
1283
|
+
* sidebars and timelines instead of `toLocaleDateString()` or raw ISO strings.
|
|
1284
|
+
*/
|
|
1285
|
+
declare function DateText({ value, format, locale, timeZone, fallback, className, title, ...props }: DateTextProps): react_jsx_runtime.JSX.Element;
|
|
1286
|
+
declare namespace DateText {
|
|
1287
|
+
var displayName: string;
|
|
1288
|
+
}
|
|
1289
|
+
interface RelativeTimeProps extends Omit<DateTextProps, "format"> {
|
|
1290
|
+
/** Re-render on an interval so "just now" ages. Default: 60s. `0` disables. */
|
|
1291
|
+
updateInterval?: number;
|
|
1292
|
+
}
|
|
1293
|
+
/** "5 minutes ago" that keeps itself fresh; falls back to a date after 7 days. */
|
|
1294
|
+
declare function RelativeTime({ updateInterval, ...props }: RelativeTimeProps): react_jsx_runtime.JSX.Element;
|
|
1295
|
+
declare namespace RelativeTime {
|
|
1296
|
+
var displayName: string;
|
|
1297
|
+
}
|
|
902
1298
|
|
|
903
1299
|
interface DescriptionItem {
|
|
904
1300
|
term: string;
|
|
@@ -949,18 +1345,36 @@ declare const Dropdown: React.ForwardRefExoticComponent<DropdownProps & React.Re
|
|
|
949
1345
|
declare const DropdownLabel: React.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
950
1346
|
declare const DropdownSeparator: React.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
951
1347
|
|
|
1348
|
+
interface EmptyStateAction {
|
|
1349
|
+
label: string;
|
|
1350
|
+
href?: string;
|
|
1351
|
+
onClick?: () => void;
|
|
1352
|
+
/** Optional leading icon. */
|
|
1353
|
+
icon?: React.ReactNode;
|
|
1354
|
+
}
|
|
952
1355
|
interface EmptyStateProps {
|
|
953
1356
|
icon?: React.ReactNode;
|
|
954
1357
|
title: string;
|
|
955
|
-
description?:
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
1358
|
+
description?: React.ReactNode;
|
|
1359
|
+
/**
|
|
1360
|
+
* Primary call to action — every first-run empty state should have one
|
|
1361
|
+
* ("Add product", "Create discount"). Pass an element for router links.
|
|
1362
|
+
*/
|
|
1363
|
+
action?: EmptyStateAction | React.ReactElement;
|
|
1364
|
+
/** Secondary, lower-emphasis action (e.g. "Import CSV", "Learn more"). */
|
|
1365
|
+
secondaryAction?: EmptyStateAction | React.ReactElement;
|
|
1366
|
+
/**
|
|
1367
|
+
* `plain` (default) — sits inside an existing card/table.
|
|
1368
|
+
* `card` — standalone bordered surface for a whole page section.
|
|
1369
|
+
*/
|
|
1370
|
+
variant?: "plain" | "card";
|
|
1371
|
+
/** `sm` for inline table/list bodies, `md` (default) for page sections. */
|
|
1372
|
+
size?: "sm" | "md";
|
|
1373
|
+
/** Extra content below the actions (e.g. a help link or illustration). */
|
|
1374
|
+
children?: React.ReactNode;
|
|
961
1375
|
className?: string;
|
|
962
1376
|
}
|
|
963
|
-
declare function EmptyState({ icon, title, description, action, className }: EmptyStateProps): react_jsx_runtime.JSX.Element;
|
|
1377
|
+
declare function EmptyState({ icon, title, description, action, secondaryAction, variant, size, children, className, }: EmptyStateProps): react_jsx_runtime.JSX.Element;
|
|
964
1378
|
declare namespace EmptyState {
|
|
965
1379
|
var displayName: string;
|
|
966
1380
|
}
|
|
@@ -981,9 +1395,11 @@ declare namespace Field {
|
|
|
981
1395
|
var displayName: string;
|
|
982
1396
|
}
|
|
983
1397
|
|
|
984
|
-
type PdfjsModule = typeof
|
|
985
|
-
|
|
986
|
-
declare function
|
|
1398
|
+
type PdfjsModule = typeof Pdfjs;
|
|
1399
|
+
/** Set the pdf.js worker URL used by FileThumbnail PDF previews (app-wide). */
|
|
1400
|
+
declare function setPdfWorkerSrc(workerSrc: string | undefined): void;
|
|
1401
|
+
declare function loadPdfjs(workerSrc?: string): Promise<PdfjsModule>;
|
|
1402
|
+
declare function renderPdfFirstPage(file: File, targetWidth: number, workerSrc?: string): Promise<string>;
|
|
987
1403
|
interface FileThumbnailProps {
|
|
988
1404
|
file?: File;
|
|
989
1405
|
name?: string;
|
|
@@ -991,8 +1407,45 @@ interface FileThumbnailProps {
|
|
|
991
1407
|
/** Side length of the square thumbnail in pixels. */
|
|
992
1408
|
size?: number | string;
|
|
993
1409
|
className?: string;
|
|
1410
|
+
/**
|
|
1411
|
+
* URL of the pdf.js worker used for PDF previews. Overrides
|
|
1412
|
+
* setPdfWorkerSrc(); when neither is set, the worker loads from jsDelivr.
|
|
1413
|
+
*/
|
|
1414
|
+
pdfWorkerSrc?: string;
|
|
1415
|
+
}
|
|
1416
|
+
declare function FileThumbnail({ file, name, type, size, className, pdfWorkerSrc, }: FileThumbnailProps): react_jsx_runtime.JSX.Element;
|
|
1417
|
+
|
|
1418
|
+
interface FilterBarSearch {
|
|
1419
|
+
value: string;
|
|
1420
|
+
onValueChange: (value: string) => void;
|
|
1421
|
+
placeholder?: string;
|
|
1422
|
+
loading?: boolean;
|
|
1423
|
+
}
|
|
1424
|
+
interface FilterBarProps {
|
|
1425
|
+
/** Built-in SearchInput. Omit for filter-only bars. */
|
|
1426
|
+
search?: FilterBarSearch;
|
|
1427
|
+
/** Filter controls — Select, DateRangePicker, toggles. Scroll horizontally on mobile. */
|
|
1428
|
+
children?: React.ReactNode;
|
|
1429
|
+
/** Whether any filter/search is applied; shows the clear action. */
|
|
1430
|
+
active?: boolean;
|
|
1431
|
+
/** Reset search and filters. Shown only while `active`. */
|
|
1432
|
+
onClear?: () => void;
|
|
1433
|
+
clearLabel?: string;
|
|
1434
|
+
/** Trailing actions (sort, export, view toggle) aligned right from `sm`. */
|
|
1435
|
+
actions?: React.ReactNode;
|
|
1436
|
+
/** Result summary under the bar ("24 orders"). */
|
|
1437
|
+
summary?: React.ReactNode;
|
|
1438
|
+
className?: string;
|
|
1439
|
+
}
|
|
1440
|
+
/**
|
|
1441
|
+
* List toolbar: search + filters + clear + actions. Stacks on mobile with the
|
|
1442
|
+
* filter row scrolling horizontally; one row from `md`. Replaces hand-built
|
|
1443
|
+
* "Input + Select + date inputs + reset" rows above tables.
|
|
1444
|
+
*/
|
|
1445
|
+
declare function FilterBar({ search, children, active, onClear, clearLabel, actions, summary, className, }: FilterBarProps): react_jsx_runtime.JSX.Element;
|
|
1446
|
+
declare namespace FilterBar {
|
|
1447
|
+
var displayName: string;
|
|
994
1448
|
}
|
|
995
|
-
declare function FileThumbnail({ file, name, type, size, className }: FileThumbnailProps): react_jsx_runtime.JSX.Element;
|
|
996
1449
|
|
|
997
1450
|
type FileDropzoneSelectedFile = Pick<File, "name" | "size">;
|
|
998
1451
|
interface FileDropzoneProps extends Omit<React.HTMLAttributes<HTMLLabelElement>, "children" | "onChange" | "onDrop" | "onDragOver" | "onDragLeave"> {
|
|
@@ -1222,8 +1675,26 @@ interface InputNumberProps extends Omit<React.ComponentProps<"input">, "type" |
|
|
|
1222
1675
|
mixedLabel?: string | undefined;
|
|
1223
1676
|
/** Calls onChange while typing instead of waiting for blur/Enter. */
|
|
1224
1677
|
commitOnChange?: boolean | undefined;
|
|
1225
|
-
/**
|
|
1678
|
+
/**
|
|
1679
|
+
* Hides the up/down stepper buttons. Defaults to `true` under
|
|
1680
|
+
* data-density="compact" (editor chrome relies on arrow keys + label
|
|
1681
|
+
* scrubbing there) and `false` otherwise.
|
|
1682
|
+
*/
|
|
1226
1683
|
hideSteppers?: boolean | undefined;
|
|
1684
|
+
/**
|
|
1685
|
+
* Short prefix label rendered inside the field (e.g. "X", "W", an icon).
|
|
1686
|
+
* It doubles as a scrub handle: drag horizontally to change the value
|
|
1687
|
+
* (Shift = 10×), like Figma's inspector fields.
|
|
1688
|
+
*/
|
|
1689
|
+
label?: React.ReactNode;
|
|
1690
|
+
/** Accessible name for the scrub handle when `label` is not plain text. */
|
|
1691
|
+
scrubLabel?: string | undefined;
|
|
1692
|
+
/**
|
|
1693
|
+
* Horizontal alignment of the number. Defaults to `"left"` when a `label`
|
|
1694
|
+
* is given or under compact density (value sits next to its label), and
|
|
1695
|
+
* `"right"` otherwise.
|
|
1696
|
+
*/
|
|
1697
|
+
align?: "left" | "right" | undefined;
|
|
1227
1698
|
}
|
|
1228
1699
|
/**
|
|
1229
1700
|
* Numeric input with up/down steppers, unit suffix, and arrow-key step (Shift = 10×).
|
|
@@ -1311,6 +1782,8 @@ declare namespace MediaObject {
|
|
|
1311
1782
|
var displayName: string;
|
|
1312
1783
|
}
|
|
1313
1784
|
|
|
1785
|
+
/** ARIA flavour of a menu row. */
|
|
1786
|
+
type MenuItemType = "item" | "radio" | "checkbox";
|
|
1314
1787
|
interface MenuItemProps extends HTMLAttributes<HTMLDivElement> {
|
|
1315
1788
|
/** Optional leading icon. When omitted, the row renders text-only with no
|
|
1316
1789
|
* reserved icon column. */
|
|
@@ -1318,6 +1791,16 @@ interface MenuItemProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
1318
1791
|
label?: string;
|
|
1319
1792
|
index?: number;
|
|
1320
1793
|
checked?: boolean;
|
|
1794
|
+
/**
|
|
1795
|
+
* ARIA semantics of the row:
|
|
1796
|
+
* - `"item"` → `role="menuitem"` (a plain action, no `aria-checked`)
|
|
1797
|
+
* - `"radio"` → `role="menuitemradio"` (one-of-many selection)
|
|
1798
|
+
* - `"checkbox"` → `role="menuitemcheckbox"` (independent toggle)
|
|
1799
|
+
*
|
|
1800
|
+
* Defaults to `"radio"` when the row carries selection state — `checked` is
|
|
1801
|
+
* passed or the parent `<Dropdown>` has a `checkedIndex` — otherwise `"item"`.
|
|
1802
|
+
*/
|
|
1803
|
+
type?: MenuItemType;
|
|
1321
1804
|
onSelect?: () => void;
|
|
1322
1805
|
trailing?: ReactNode;
|
|
1323
1806
|
}
|
|
@@ -1357,7 +1840,7 @@ declare const SheetRoot: React.FC<Dialog$1.DialogProps>;
|
|
|
1357
1840
|
declare const SheetTrigger: React.ForwardRefExoticComponent<Dialog$1.DialogTriggerProps & React.RefAttributes<HTMLButtonElement>>;
|
|
1358
1841
|
declare const SheetClose: React.ForwardRefExoticComponent<Dialog$1.DialogCloseProps & React.RefAttributes<HTMLButtonElement>>;
|
|
1359
1842
|
declare const sheetContentVariants: (props?: ({
|
|
1360
|
-
side?: "top" | "
|
|
1843
|
+
side?: "top" | "bottom" | "left" | "right" | null | undefined;
|
|
1361
1844
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
1362
1845
|
interface SheetContentProps extends React.ComponentPropsWithoutRef<typeof Dialog$1.Content>, VariantProps<typeof sheetContentVariants> {
|
|
1363
1846
|
}
|
|
@@ -1478,7 +1961,7 @@ type PaginationLinkProps = React.ComponentProps<"a"> & {
|
|
|
1478
1961
|
isActive?: boolean;
|
|
1479
1962
|
};
|
|
1480
1963
|
declare const PaginationLink: {
|
|
1481
|
-
({ className, isActive, ...props }: PaginationLinkProps): react_jsx_runtime.JSX.Element;
|
|
1964
|
+
({ className, isActive, children, ...props }: PaginationLinkProps): react_jsx_runtime.JSX.Element;
|
|
1482
1965
|
displayName: string;
|
|
1483
1966
|
};
|
|
1484
1967
|
declare const PaginationPrevious: {
|
|
@@ -1493,6 +1976,31 @@ declare const PaginationEllipsis: {
|
|
|
1493
1976
|
({ className, ...props }: React.ComponentProps<"span">): react_jsx_runtime.JSX.Element;
|
|
1494
1977
|
displayName: string;
|
|
1495
1978
|
};
|
|
1979
|
+
interface PaginationBarProps {
|
|
1980
|
+
/** 1-based current page. */
|
|
1981
|
+
page: number;
|
|
1982
|
+
pageSize: number;
|
|
1983
|
+
/** Total item count. Omit for cursor pagination (then pass `hasNextPage`). */
|
|
1984
|
+
total?: number;
|
|
1985
|
+
/** Cursor pagination: whether a next page exists when `total` is unknown. */
|
|
1986
|
+
hasNextPage?: boolean;
|
|
1987
|
+
onPageChange: (page: number) => void;
|
|
1988
|
+
/** Noun for the summary — "Showing 1–20 of 124 orders". Default: "result". */
|
|
1989
|
+
itemLabel?: string;
|
|
1990
|
+
/** Plural noun when it isn't `${itemLabel}s`. */
|
|
1991
|
+
itemLabelPlural?: string;
|
|
1992
|
+
previousLabel?: string;
|
|
1993
|
+
nextLabel?: string;
|
|
1994
|
+
className?: string;
|
|
1995
|
+
}
|
|
1996
|
+
/**
|
|
1997
|
+
* Compact list/table footer: "Showing 21–40 of 124 orders" plus Previous /
|
|
1998
|
+
* Next. Replaces hand-built Prev/Next rows; use Pagination* for numbered pages.
|
|
1999
|
+
*/
|
|
2000
|
+
declare function PaginationBar({ page, pageSize, total, hasNextPage, onPageChange, itemLabel, itemLabelPlural, previousLabel, nextLabel, className, }: PaginationBarProps): react_jsx_runtime.JSX.Element;
|
|
2001
|
+
declare namespace PaginationBar {
|
|
2002
|
+
var displayName: string;
|
|
2003
|
+
}
|
|
1496
2004
|
|
|
1497
2005
|
declare const PopoverRoot: React.FC<Popover.PopoverProps>;
|
|
1498
2006
|
declare const PopoverTrigger: React.ForwardRefExoticComponent<Popover.PopoverTriggerProps & React.RefAttributes<HTMLButtonElement>>;
|
|
@@ -1546,6 +2054,33 @@ declare namespace RadioCards {
|
|
|
1546
2054
|
var displayName: string;
|
|
1547
2055
|
}
|
|
1548
2056
|
|
|
2057
|
+
interface RatingProps {
|
|
2058
|
+
/** Current rating; fractional values render partial stars (read-only). */
|
|
2059
|
+
value: number;
|
|
2060
|
+
/** Number of stars. Default: 5. */
|
|
2061
|
+
max?: number;
|
|
2062
|
+
/** When set, renders an interactive radio group (whole stars). */
|
|
2063
|
+
onValueChange?: (value: number) => void;
|
|
2064
|
+
size?: "sm" | "md" | "lg";
|
|
2065
|
+
/** Show "4.5" after the stars. */
|
|
2066
|
+
showValue?: boolean;
|
|
2067
|
+
/** Optional count after the value, e.g. "(128)". */
|
|
2068
|
+
count?: number;
|
|
2069
|
+
/** Accessible name for the interactive variant. Default: "Rating". */
|
|
2070
|
+
label?: string;
|
|
2071
|
+
disabled?: boolean;
|
|
2072
|
+
className?: string;
|
|
2073
|
+
}
|
|
2074
|
+
/**
|
|
2075
|
+
* Star rating. Read-only by default (reviews, product cards); pass
|
|
2076
|
+
* `onValueChange` for an accessible radio-group input. Colours are tokens
|
|
2077
|
+
* (`foreground` fill on a `border` track) so it works in every theme.
|
|
2078
|
+
*/
|
|
2079
|
+
declare function Rating({ value, max, onValueChange, size, showValue, count, label, disabled, className, }: RatingProps): react_jsx_runtime.JSX.Element;
|
|
2080
|
+
declare namespace Rating {
|
|
2081
|
+
var displayName: string;
|
|
2082
|
+
}
|
|
2083
|
+
|
|
1549
2084
|
interface RadioGroupProps extends Omit<HTMLAttributes<HTMLDivElement>, "onSelect"> {
|
|
1550
2085
|
children: ReactNode;
|
|
1551
2086
|
selectedIndex?: number;
|
|
@@ -1582,6 +2117,53 @@ declare namespace ResizableHandle {
|
|
|
1582
2117
|
var displayName: string;
|
|
1583
2118
|
}
|
|
1584
2119
|
|
|
2120
|
+
interface ResourceCellProps {
|
|
2121
|
+
/** Primary line — the resource name / order number. Rendered strongest. */
|
|
2122
|
+
title: React.ReactNode;
|
|
2123
|
+
/** Secondary line — email, SKU, "3 items", date. Rendered muted and smaller. */
|
|
2124
|
+
subtitle?: React.ReactNode;
|
|
2125
|
+
/** Leading thumbnail / avatar (32px works best). */
|
|
2126
|
+
media?: React.ReactNode;
|
|
2127
|
+
/** Inline trailing content on the title line (e.g. a StatusBadge). */
|
|
2128
|
+
badge?: React.ReactNode;
|
|
2129
|
+
/** Link the title (e.g. to the detail page). Use a router link via `title` for SPA navigation. */
|
|
2130
|
+
href?: string;
|
|
2131
|
+
className?: string;
|
|
2132
|
+
}
|
|
2133
|
+
/**
|
|
2134
|
+
* Two-line table cell with the canonical hierarchy: a strong primary line and
|
|
2135
|
+
* a muted secondary line — never the other way round. Use it for the first
|
|
2136
|
+
* column of resource tables (products, orders, customers, merchants).
|
|
2137
|
+
*/
|
|
2138
|
+
declare function ResourceCell({ title, subtitle, media, badge, href, className }: ResourceCellProps): react_jsx_runtime.JSX.Element;
|
|
2139
|
+
declare namespace ResourceCell {
|
|
2140
|
+
var displayName: string;
|
|
2141
|
+
}
|
|
2142
|
+
interface ResourceItemProps extends Omit<ResourceCellProps, "href" | "className"> {
|
|
2143
|
+
/** Row-level metadata under the subtitle (e.g. "Sep 26, 2026 · 3 items"). */
|
|
2144
|
+
meta?: React.ReactNode;
|
|
2145
|
+
/** Right-aligned primary value (amount, count). */
|
|
2146
|
+
trailing?: React.ReactNode;
|
|
2147
|
+
/** Right-aligned secondary value under `trailing` (date, status). */
|
|
2148
|
+
trailingSecondary?: React.ReactNode;
|
|
2149
|
+
/** Make the whole row a link. */
|
|
2150
|
+
href?: string;
|
|
2151
|
+
/** Make the whole row a button. Ignored when `href` is set. */
|
|
2152
|
+
onClick?: () => void;
|
|
2153
|
+
/** Accessible name when the row is interactive and `title` isn't plain text. */
|
|
2154
|
+
"aria-label"?: string;
|
|
2155
|
+
className?: string;
|
|
2156
|
+
}
|
|
2157
|
+
/**
|
|
2158
|
+
* List row for `<StackedList>` — the mobile counterpart of a resource table
|
|
2159
|
+
* row. Same primary/secondary hierarchy as ResourceCell, with a trailing
|
|
2160
|
+
* value column. The entire row is one link/button target.
|
|
2161
|
+
*/
|
|
2162
|
+
declare function ResourceItem({ title, subtitle, media, badge, meta, trailing, trailingSecondary, href, onClick, "aria-label": ariaLabel, className, }: ResourceItemProps): react_jsx_runtime.JSX.Element;
|
|
2163
|
+
declare namespace ResourceItem {
|
|
2164
|
+
var displayName: string;
|
|
2165
|
+
}
|
|
2166
|
+
|
|
1585
2167
|
type RichTextImageUrlHandler = () => string | null | undefined | Promise<string | null | undefined>;
|
|
1586
2168
|
interface RichTextEditorProps {
|
|
1587
2169
|
value: string;
|
|
@@ -1617,6 +2199,23 @@ interface SectionHeadingProps {
|
|
|
1617
2199
|
}
|
|
1618
2200
|
declare function SectionHeading({ title, description, actions, border, className, }: SectionHeadingProps): react_jsx_runtime.JSX.Element;
|
|
1619
2201
|
|
|
2202
|
+
interface SearchInputProps extends Omit<InputProps, "type" | "onChange" | "value"> {
|
|
2203
|
+
value: string;
|
|
2204
|
+
/** Called with the new string (not the event) on every keystroke and on clear. */
|
|
2205
|
+
onValueChange: (value: string) => void;
|
|
2206
|
+
/** Show a spinner in place of the clear button (e.g. while results load). */
|
|
2207
|
+
loading?: boolean;
|
|
2208
|
+
/** Accessible name when there is no visible label. Default: placeholder or "Search". */
|
|
2209
|
+
"aria-label"?: string;
|
|
2210
|
+
/** Classes for the wrapper (width, margins). `className` targets the input. */
|
|
2211
|
+
containerClassName?: string;
|
|
2212
|
+
}
|
|
2213
|
+
/**
|
|
2214
|
+
* Search field with a leading magnifier, clear button and Escape-to-clear.
|
|
2215
|
+
* Replaces the hand-built "Input + absolutely positioned Search icon" pattern.
|
|
2216
|
+
*/
|
|
2217
|
+
declare const SearchInput: React.ForwardRefExoticComponent<Omit<SearchInputProps, "ref"> & React.RefAttributes<HTMLInputElement>>;
|
|
2218
|
+
|
|
1620
2219
|
interface SearchableTableFilterOption {
|
|
1621
2220
|
value: string;
|
|
1622
2221
|
label: string;
|
|
@@ -1643,16 +2242,11 @@ interface SearchableTableProps<T extends {
|
|
|
1643
2242
|
options: SearchableTableFilterOption[];
|
|
1644
2243
|
placeholder: string;
|
|
1645
2244
|
}>;
|
|
1646
|
-
|
|
1647
|
-
|
|
1648
|
-
|
|
1649
|
-
|
|
1650
|
-
|
|
1651
|
-
label: string;
|
|
1652
|
-
href?: string;
|
|
1653
|
-
onClick?: () => void;
|
|
1654
|
-
};
|
|
1655
|
-
};
|
|
2245
|
+
/**
|
|
2246
|
+
* Shown when there are no rows. Give first-run states a primary `action`
|
|
2247
|
+
* ("Add product"); give filtered-empty states a "Clear filters" action.
|
|
2248
|
+
*/
|
|
2249
|
+
emptyState?: Pick<EmptyStateProps, "icon" | "title" | "description" | "action" | "secondaryAction">;
|
|
1656
2250
|
actions?: (item: T) => React.ReactNode;
|
|
1657
2251
|
mobileCard?: (item: T) => React.ReactNode;
|
|
1658
2252
|
tableClassName?: string;
|
|
@@ -1818,6 +2412,12 @@ interface SliderProps extends Omit<HTMLAttributes<HTMLDivElement>, "onChange" |
|
|
|
1818
2412
|
hideFill?: boolean;
|
|
1819
2413
|
thumbColor?: string;
|
|
1820
2414
|
thumbBorderColor?: string;
|
|
2415
|
+
/**
|
|
2416
|
+
* Track thickness in px. Default 4 (thin track + filled range). Thick tracks
|
|
2417
|
+
* (≥ 8px, e.g. colour-picker hue / alpha strips) keep the thumb inside the
|
|
2418
|
+
* rounded ends instead of overhanging them.
|
|
2419
|
+
*/
|
|
2420
|
+
trackSize?: number;
|
|
1821
2421
|
}
|
|
1822
2422
|
declare const Slider: React.ForwardRefExoticComponent<SliderProps & React.RefAttributes<HTMLDivElement>>;
|
|
1823
2423
|
interface SliderComfortableProps extends Omit<HTMLAttributes<HTMLDivElement>, "onChange" | "defaultValue" | "onDrag" | "onDragStart" | "onDragEnd" | "onDragOver" | "onAnimationStart"> {
|
|
@@ -1835,10 +2435,22 @@ declare const SliderComfortable: React.ForwardRefExoticComponent<SliderComfortab
|
|
|
1835
2435
|
declare const SliderControl: React.ForwardRefExoticComponent<SliderProps & React.RefAttributes<HTMLDivElement>>;
|
|
1836
2436
|
|
|
1837
2437
|
type ToasterProps = React.ComponentProps<typeof Toaster$1>;
|
|
1838
|
-
|
|
2438
|
+
type ToastOptions = NonNullable<Parameters<typeof toast>[1]>;
|
|
2439
|
+
/**
|
|
2440
|
+
* Toast host. Mount once near the app root; fire toasts with the re-exported
|
|
2441
|
+
* `toast()` API so apps never import `sonner` directly:
|
|
2442
|
+
*
|
|
2443
|
+
* import { Toaster, toast } from "@hilum/ui";
|
|
2444
|
+
* toast.success("Product saved");
|
|
2445
|
+
* toast.promise(save(), { loading: "Saving…", success: "Saved", error: "Could not save" });
|
|
2446
|
+
*
|
|
2447
|
+
* Colours come from Hilum tokens, so the default `theme="system"` only
|
|
2448
|
+
* affects Sonner's built-in icons and close button.
|
|
2449
|
+
*/
|
|
2450
|
+
declare function Toaster({ theme, position, ...props }: ToasterProps): react_jsx_runtime.JSX.Element;
|
|
1839
2451
|
|
|
1840
2452
|
declare const spinnerVariants: (props?: ({
|
|
1841
|
-
size?: "
|
|
2453
|
+
size?: "default" | "xs" | "sm" | "lg" | "xl" | null | undefined;
|
|
1842
2454
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
1843
2455
|
interface SpinnerProps extends React.HTMLAttributes<HTMLSpanElement>, VariantProps<typeof spinnerVariants> {
|
|
1844
2456
|
}
|
|
@@ -1860,15 +2472,35 @@ interface StackedListItemProps {
|
|
|
1860
2472
|
}
|
|
1861
2473
|
declare function StackedListItem({ children, href, onClick, className }: StackedListItemProps): react_jsx_runtime.JSX.Element;
|
|
1862
2474
|
|
|
2475
|
+
type StatTrendTone = "positive" | "negative" | "neutral";
|
|
2476
|
+
interface StatCardTrend {
|
|
2477
|
+
value: string;
|
|
2478
|
+
direction: "up" | "down" | "neutral";
|
|
2479
|
+
/**
|
|
2480
|
+
* Whether the change is good or bad. Defaults to up → positive,
|
|
2481
|
+
* down → negative. Set explicitly for metrics where "up" is bad
|
|
2482
|
+
* (refunds, churn, response time).
|
|
2483
|
+
*/
|
|
2484
|
+
tone?: StatTrendTone;
|
|
2485
|
+
/** Screen-reader / caption context, e.g. "vs last 30 days". */
|
|
2486
|
+
label?: string;
|
|
2487
|
+
}
|
|
1863
2488
|
interface StatCardProps {
|
|
1864
2489
|
label?: string;
|
|
1865
2490
|
title?: string;
|
|
1866
|
-
value?:
|
|
1867
|
-
|
|
1868
|
-
|
|
1869
|
-
|
|
1870
|
-
|
|
1871
|
-
|
|
2491
|
+
value?: React.ReactNode;
|
|
2492
|
+
/**
|
|
2493
|
+
* `default` — bordered card. `responsive` — flat on mobile, card from `sm`.
|
|
2494
|
+
* `plain` — no surface; use inside an existing Card or a divided StatGrid.
|
|
2495
|
+
*/
|
|
2496
|
+
variant?: "default" | "responsive" | "plain";
|
|
2497
|
+
trend?: StatCardTrend;
|
|
2498
|
+
/** Secondary line under the value (e.g. "32 orders", "Last 30 days"). */
|
|
2499
|
+
description?: React.ReactNode;
|
|
2500
|
+
/** Render skeletons for the value and trend. */
|
|
2501
|
+
loading?: boolean;
|
|
2502
|
+
/** Make the whole card a link (e.g. drill into the orders list). */
|
|
2503
|
+
href?: string;
|
|
1872
2504
|
icon?: React.ReactNode;
|
|
1873
2505
|
children?: React.ReactNode;
|
|
1874
2506
|
actionButtons?: React.ReactNode;
|
|
@@ -1879,6 +2511,11 @@ interface StatCardProps {
|
|
|
1879
2511
|
}
|
|
1880
2512
|
interface StatCardGridProps {
|
|
1881
2513
|
children: React.ReactNode;
|
|
2514
|
+
/**
|
|
2515
|
+
* Column count at the widest breakpoint. Always 2 columns on mobile (1 for
|
|
2516
|
+
* `columns={1}`), stepping up through `sm`/`lg`. Default: 6-slot dashboard grid.
|
|
2517
|
+
*/
|
|
2518
|
+
columns?: 1 | 2 | 3 | 4 | 5 | 6;
|
|
1882
2519
|
maxSlots?: number;
|
|
1883
2520
|
onAddCard?: () => void;
|
|
1884
2521
|
className?: string;
|
|
@@ -1889,7 +2526,7 @@ interface StatCardSlotProps {
|
|
|
1889
2526
|
className?: string;
|
|
1890
2527
|
label?: string;
|
|
1891
2528
|
}
|
|
1892
|
-
declare function StatCard({ label, title, value, variant, trend, icon, children, actionButtons, className, containerClassName, titleClassName, valueClassName, }: StatCardProps): react_jsx_runtime.JSX.Element;
|
|
2529
|
+
declare function StatCard({ label, title, value, variant, trend, description, loading, href, icon, children, actionButtons, className, containerClassName, titleClassName, valueClassName, }: StatCardProps): react_jsx_runtime.JSX.Element;
|
|
1893
2530
|
declare namespace StatCard {
|
|
1894
2531
|
var displayName: string;
|
|
1895
2532
|
}
|
|
@@ -1897,18 +2534,28 @@ declare function StatCardSlot({ onAddCard, className, label }: StatCardSlotProps
|
|
|
1897
2534
|
declare namespace StatCardSlot {
|
|
1898
2535
|
var displayName: string;
|
|
1899
2536
|
}
|
|
1900
|
-
declare function StatCardGrid({ children, maxSlots, onAddCard, className, showEmptySlots, }: StatCardGridProps): react_jsx_runtime.JSX.Element;
|
|
2537
|
+
declare function StatCardGrid({ children, columns, maxSlots, onAddCard, className, showEmptySlots, }: StatCardGridProps): react_jsx_runtime.JSX.Element;
|
|
1901
2538
|
declare namespace StatCardGrid {
|
|
1902
2539
|
var displayName: string;
|
|
1903
2540
|
}
|
|
2541
|
+
/** Alias — `StatGrid` reads better next to `StatCard` in new code. */
|
|
2542
|
+
declare const StatGrid: typeof StatCardGrid;
|
|
1904
2543
|
|
|
1905
2544
|
type StatusBadgeVariant = NonNullable<React.ComponentProps<typeof Badge>["variant"]>;
|
|
1906
2545
|
type StatusBadgeIcon = React.ComponentType<{
|
|
1907
2546
|
className?: string;
|
|
1908
2547
|
}>;
|
|
2548
|
+
declare const DEFAULT_STATUS_TONE: Record<string, StatusTone>;
|
|
1909
2549
|
interface StatusBadgeProps extends Omit<React.ComponentProps<typeof Badge>, "children" | "variant"> {
|
|
1910
2550
|
status?: string | null;
|
|
1911
2551
|
label?: React.ReactNode;
|
|
2552
|
+
/**
|
|
2553
|
+
* Semantic tone. Wins over `variant` and the built-in status map. Prefer
|
|
2554
|
+
* `tone` / `toneMap` over raw `variant` so colours stay consistent.
|
|
2555
|
+
*/
|
|
2556
|
+
tone?: StatusTone;
|
|
2557
|
+
/** Per-app status → tone overrides, merged over the built-in convention. */
|
|
2558
|
+
toneMap?: Record<string, StatusTone>;
|
|
1912
2559
|
variant?: StatusBadgeVariant;
|
|
1913
2560
|
variantMap?: Record<string, StatusBadgeVariant>;
|
|
1914
2561
|
labelMap?: Record<string, React.ReactNode>;
|
|
@@ -1919,8 +2566,14 @@ interface StatusBadgeProps extends Omit<React.ComponentProps<typeof Badge>, "chi
|
|
|
1919
2566
|
dotClassName?: string;
|
|
1920
2567
|
}
|
|
1921
2568
|
declare function statusLabel(status?: string | null): string;
|
|
2569
|
+
/**
|
|
2570
|
+
* Resolve a status string to its semantic tone. Unknown statuses resolve to
|
|
2571
|
+
* `neutral`. Status strings are normalised ("Partially Fulfilled",
|
|
2572
|
+
* "partially-fulfilled" and "PARTIALLY_FULFILLED" are equivalent).
|
|
2573
|
+
*/
|
|
2574
|
+
declare function statusToneFor(status?: string | null, toneMap?: Record<string, StatusTone>): StatusTone;
|
|
1922
2575
|
declare function statusBadgeVariantFor(status?: string | null, variantMap?: Record<string, StatusBadgeVariant>): StatusBadgeVariant;
|
|
1923
|
-
declare function StatusBadge({ status, label, variant, variantMap, labelMap, icon, iconMap, iconClassName, showDot, dotClassName, className, ...props }: StatusBadgeProps): react_jsx_runtime.JSX.Element;
|
|
2576
|
+
declare function StatusBadge({ status, label, tone, toneMap, variant, variantMap, labelMap, icon, iconMap, iconClassName, showDot, dotClassName, className, ...props }: StatusBadgeProps): react_jsx_runtime.JSX.Element;
|
|
1924
2577
|
declare namespace StatusBadge {
|
|
1925
2578
|
var displayName: string;
|
|
1926
2579
|
}
|
|
@@ -1937,6 +2590,10 @@ interface StatusTileProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "ti
|
|
|
1937
2590
|
className?: string;
|
|
1938
2591
|
}>;
|
|
1939
2592
|
labelMap?: Record<string, React.ReactNode>;
|
|
2593
|
+
/** Semantic tone override for the badge. */
|
|
2594
|
+
tone?: StatusTone;
|
|
2595
|
+
/** Per-app status → tone overrides. */
|
|
2596
|
+
toneMap?: Record<string, StatusTone>;
|
|
1940
2597
|
variantMap?: Record<string, StatusBadgeVariant>;
|
|
1941
2598
|
iconMap?: Record<string, React.ComponentType<{
|
|
1942
2599
|
className?: string;
|
|
@@ -1946,7 +2603,7 @@ declare function StatusTileGrid({ columns, className, ...props }: StatusTileGrid
|
|
|
1946
2603
|
declare namespace StatusTileGrid {
|
|
1947
2604
|
var displayName: string;
|
|
1948
2605
|
}
|
|
1949
|
-
declare function StatusTile({ title, status, description, meta, icon: Icon, labelMap, variantMap, iconMap, className, ...props }: StatusTileProps): react_jsx_runtime.JSX.Element;
|
|
2606
|
+
declare function StatusTile({ title, status, description, meta, icon: Icon, labelMap, tone, toneMap, variantMap, iconMap, className, ...props }: StatusTileProps): react_jsx_runtime.JSX.Element;
|
|
1950
2607
|
declare namespace StatusTile {
|
|
1951
2608
|
var displayName: string;
|
|
1952
2609
|
}
|
|
@@ -2029,8 +2686,16 @@ interface TabsProps extends Omit<ComponentPropsWithoutRef<typeof TabsPrimitive.R
|
|
|
2029
2686
|
onSelect?: (index: number) => void;
|
|
2030
2687
|
}
|
|
2031
2688
|
declare const Tabs: React.ForwardRefExoticComponent<TabsProps & React.RefAttributes<HTMLDivElement>>;
|
|
2032
|
-
|
|
2033
|
-
|
|
2689
|
+
interface TabsListProps extends ComponentPropsWithoutRef<typeof TabsPrimitive.List> {
|
|
2690
|
+
/**
|
|
2691
|
+
* Let the strip scroll horizontally instead of clipping when the tabs are
|
|
2692
|
+
* wider than their container (settings tabs on mobile, narrow panels).
|
|
2693
|
+
* Edges fade while more tabs are hidden and the active tab is scrolled into
|
|
2694
|
+
* view. Default: `true`.
|
|
2695
|
+
*/
|
|
2696
|
+
scrollable?: boolean;
|
|
2697
|
+
}
|
|
2698
|
+
declare const TabsList: React.ForwardRefExoticComponent<TabsListProps & React.RefAttributes<HTMLDivElement>>;
|
|
2034
2699
|
interface TabItemProps extends ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger> {
|
|
2035
2700
|
/** Unique value for this tab. */
|
|
2036
2701
|
value: string;
|
|
@@ -2121,7 +2786,7 @@ interface ThinkingStepProps {
|
|
|
2121
2786
|
children?: ReactNode;
|
|
2122
2787
|
className?: string;
|
|
2123
2788
|
}
|
|
2124
|
-
declare function ThinkingStep({ icon, showIcon, label, description, status,
|
|
2789
|
+
declare function ThinkingStep({ icon, showIcon, label, description, status, isLast, children, className, }: ThinkingStepProps): react_jsx_runtime.JSX.Element | null;
|
|
2125
2790
|
interface ThinkingStepDetailsProps {
|
|
2126
2791
|
summary: string;
|
|
2127
2792
|
details?: string[];
|
|
@@ -2177,17 +2842,17 @@ declare namespace TitledCard {
|
|
|
2177
2842
|
}
|
|
2178
2843
|
|
|
2179
2844
|
declare const ToggleGroupRoot: React.ForwardRefExoticComponent<((Omit<ToggleGroup.ToggleGroupSingleProps & React.RefAttributes<HTMLDivElement>, "ref"> | Omit<ToggleGroup.ToggleGroupMultipleProps & React.RefAttributes<HTMLDivElement>, "ref">) & VariantProps<(props?: ({
|
|
2180
|
-
variant?: "
|
|
2181
|
-
size?: "icon" | "
|
|
2845
|
+
variant?: "default" | "outline" | "brand" | null | undefined;
|
|
2846
|
+
size?: "icon" | "default" | "sm" | "lg" | "icon-sm" | "icon-lg" | null | undefined;
|
|
2182
2847
|
} & class_variance_authority_types.ClassProp) | undefined) => string>) & React.RefAttributes<HTMLDivElement>>;
|
|
2183
2848
|
declare const ToggleGroupItem: React.ForwardRefExoticComponent<Omit<ToggleGroup.ToggleGroupItemProps & React.RefAttributes<HTMLButtonElement>, "ref"> & VariantProps<(props?: ({
|
|
2184
|
-
variant?: "
|
|
2185
|
-
size?: "icon" | "
|
|
2849
|
+
variant?: "default" | "outline" | "brand" | null | undefined;
|
|
2850
|
+
size?: "icon" | "default" | "sm" | "lg" | "icon-sm" | "icon-lg" | null | undefined;
|
|
2186
2851
|
} & class_variance_authority_types.ClassProp) | undefined) => string> & React.RefAttributes<HTMLButtonElement>>;
|
|
2187
2852
|
|
|
2188
2853
|
declare const toggleVariants: (props?: ({
|
|
2189
|
-
variant?: "
|
|
2190
|
-
size?: "icon" | "
|
|
2854
|
+
variant?: "default" | "outline" | "brand" | null | undefined;
|
|
2855
|
+
size?: "icon" | "default" | "sm" | "lg" | "icon-sm" | "icon-lg" | null | undefined;
|
|
2191
2856
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
2192
2857
|
interface ToggleProps extends React.ComponentPropsWithoutRef<typeof Toggle.Root>, VariantProps<typeof toggleVariants> {
|
|
2193
2858
|
}
|
|
@@ -2252,4 +2917,4 @@ interface UsageBarProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
|
2252
2917
|
}
|
|
2253
2918
|
declare function UsageBar({ label, value, max, percent, valueLabel, showPercent, layout, tone, className, barClassName, indicatorClassName, ...props }: UsageBarProps): react_jsx_runtime.JSX.Element;
|
|
2254
2919
|
|
|
2255
|
-
export { Accordion, AccordionContent, AccordionGroup, AccordionItem, AccordionTrigger, AccountMenuContent, AccountMenuHeader, AccountMenuItem, AccountMenuSection, AccountMenuSeparator, ActionPanel, ActivityFeed, Alert, AlertDescription, AlertDialogRoot as AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, type AskUserAnswer, type AskUserOption, type AskUserQuestion, AskUserQuestions, type AskUserQuestionsProps, AspectRatioRoot as AspectRatio, Avatar, AvatarFallback, AvatarImage, AvatarStack, type AvatarStackItem, AvatarWithStatus, Badge, type BadgeColor, type BadgeProps, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem$1 as BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, ButtonGroup, ButtonGroupItem, type ButtonProps, CHART_COLORS, Calendar, type CalendarProps, Callout, type CalloutProps, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardHeading, CardMedia, type CardMobileSurface, type CardProps, CardTitle, Carousel, type CarouselApi, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, ChatMessage, type ChatMessageProps, CheckboxRoot as Checkbox, CheckboxCard, type CheckboxCardProps, CheckboxGroup, CheckboxItem, CollapsibleRoot as Collapsible, CollapsibleContent, CollapsibleTrigger, type ColorFormat, ColorInput, type ColorInputProps, ColorPicker, ColorPickerPopover, type ColorPickerPopoverProps, ColorPickerPortalContainer, type ColorPickerProps, ColorSwatch, type ColorSwatchProps, ColorTile, Combobox, type ComboboxOption, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandPalette, type CommandPaletteItem, CommandSeparator, CommandShortcut, ContextMenuRoot as ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, type ControlDensity, type ControlMobileSurface, DataTable, type DataTransferAction, DataTransferControls, type DataTransferControlsProps, type DataTransferScopeOption, DatePicker, type DescriptionItem, DescriptionList, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, DrawerRoot as Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, Dropdown, DropdownLabel, DropdownMenuRoot as DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, DropdownSeparator, EmptyState, type FeedEvent, Field, FileDropzone, type FileDropzoneProps, type FileDropzoneSelectedFile, FileThumbnail, type FileThumbnailProps, GridList, GridListAccentCard, GridListCard, HelpTooltip, type HelpTooltipProps, HoverCardRoot as HoverCard, HoverCardContent, HoverCardTrigger, type IconComponent, type IconLibrary, type IconName, IconProvider, Input, InputCopy, type InputCopyProps, InputField, InputGroup, InputMessage, type InputMessageProps, type InputMessageSlotContext, InputNumber, type InputNumberProps, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, type InputProps, Kbd, Label, MediaAssetCard, type MediaAssetCardProps, MediaAssetGrid, MediaAssetGridItem, type MediaAssetGridProps, MediaObject, MenuItem, MenubarRoot as Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, MobileDrawer, type MobileDrawerProps, NativeSelect, NativeSelectOptGroup, NativeSelectOption, NavItem, type NavItemProps, NavMenu, type NavMenuItem, type NavMenuProps, NavigationMenuRoot as NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, Notification, PageHeading, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, type ParsedColor, PopoverRoot as Popover, PopoverClose, PopoverContent, PopoverTrigger, ProgressRoot as Progress, PropertyRow, type PropertyRowProps, type QueuedMessage, type RadioCardOption, RadioCards, RadioGroup, RadioGroupItem, RadioItem, ResizableHandle, ResizablePanel, ResizablePanelGroup, RichTextEditor, type RichTextEditorProps, type RichTextImageUrlHandler, SIDEBAR_COOKIE_MAX_AGE, SIDEBAR_COOKIE_NAME, SIDEBAR_KEYBOARD_SHORTCUT, SIDEBAR_WIDTH, SIDEBAR_WIDTH_ICON, SIDEBAR_WIDTH_MOBILE, ScrollAreaRoot as ScrollArea, SearchableTable, type SearchableTableColumn, type SearchableTableFilterOption, type SearchableTableProps, SectionHeading, Select, SelectContent, type SelectContentProps, SelectGroup, SelectItem, type SelectItemProps, SelectLabel, type SelectProps, SelectSeparator, SelectTrigger, type SelectTriggerProps, SelectValue, Separator, type ShapeClasses, ShapeProvider, type ShapeVariant, SheetRoot as Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, Slider, SliderComfortable, type SliderComfortableProps, SliderControl, type SliderProps, type SliderValue, Spinner, StackedList, StackedListItem, StatCard, StatCardGrid, type StatCardGridProps, type StatCardProps, StatCardSlot, type StatCardSlotProps, StatusBadge, type StatusBadgeProps, type StatusBadgeVariant, StatusTile, StatusTileGrid, type StatusTileGridProps, type StatusTileProps, type Step, type StepStatus, Steps, SummaryTile, SummaryTileGrid, type SummaryTileGridProps, type SummaryTileProps, SurfaceProvider, Switch, type SwitchProps, TabItem, type TabItemProps, TabPanel, type TabPanelProps, Table, TableBody, TableCaption, TableCell, type TableDensity, TableFooter, TableHead, TableHeader, type TableMobileSurface, type TableProps, TableRow, Tabs, TabsContent, TabsList, type TabsListProps, type TabsProps, TabsSubtle, TabsSubtleItem, TabsSubtlePanel, TabsTrigger, Textarea, type TextareaProps, ThinkingIndicator, type ThinkingIndicatorProps, ThinkingStep, ThinkingStepDetails, type ThinkingStepDetailsProps, ThinkingStepImage, type ThinkingStepImageProps, type ThinkingStepProps, ThinkingStepSource, type ThinkingStepSourceProps, ThinkingStepSources, type ThinkingStepSourcesProps, type ThinkingStepStatus, ThinkingSteps, ThinkingStepsContent, type ThinkingStepsContentProps, ThinkingStepsHeader, type ThinkingStepsHeaderProps, type ThinkingStepsProps, TitledCard, type TitledCardProps, Toaster, ToggleRoot as Toggle, ToggleGroupRoot as ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipPortalContainer, type TooltipProps, TooltipProvider, TooltipRoot, type TooltipSide, TooltipTrigger, UrlRedirectPrompt, type UrlRedirectPromptProps, UsageBar, type UsageBarLayout, type UsageBarProps, type UsageBarTone, type ValuePosition, badgeColors, badgeVariants, buildParsed, buttonVariants, cardVariants, cn, formatDate, formatFileSize, hasUrlHandleChanged, iconLibraryLabels, iconLibraryOrder, loadPdfjs, navigationMenuTriggerStyle, normalizeUrlHandle, parseColor, renderPdfFirstPage, shapeMap, spinnerVariants, statusBadgeVariantFor, statusLabel, toggleVariants, triggerVariants, urlResourcePath, useDropdown, useIcon, useIconLibrary, useIcons, useOptionalSidebar, useShape, useShapeContext, useSidebar, useSurface };
|
|
2920
|
+
export { Accordion, AccordionContent, AccordionGroup, AccordionItem, AccordionTrigger, AccountMenuContent, AccountMenuHeader, AccountMenuItem, AccountMenuSection, AccountMenuSeparator, ActionPanel, ActivityFeed, Alert, AlertDescription, AlertDialogRoot as AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, type AskUserAnswer, type AskUserOption, type AskUserQuestion, AskUserQuestions, type AskUserQuestionsProps, AspectRatioRoot as AspectRatio, Avatar, AvatarFallback, AvatarImage, AvatarStack, type AvatarStackItem, AvatarWithStatus, Badge, type BadgeColor, type BadgeProps, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem$1 as BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, ButtonGroup, ButtonGroupItem, type ButtonProps, CHART_COLORS, Calendar, type CalendarProps, Callout, type CalloutProps, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardHeading, CardMedia, type CardMobileSurface, type CardProps, CardTitle, Carousel, type CarouselApi, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, ChatMessage, type ChatMessageProps, CheckboxRoot as Checkbox, CheckboxCard, type CheckboxCardProps, CheckboxGroup, CheckboxItem, CodeBlock, type CodeBlockProps, CollapsibleRoot as Collapsible, CollapsibleContent, CollapsibleTrigger, type ColorFormat, ColorInput, type ColorInputProps, ColorPicker, ColorPickerPopover, type ColorPickerPopoverProps, ColorPickerPortalContainer, type ColorPickerProps, ColorSwatch, type ColorSwatchProps, ColorTile, Combobox, type ComboboxOption, type ComboboxProps, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandPalette, type CommandPaletteItem, type CommandPaletteProps, CommandSeparator, CommandShortcut, ConfirmDialog, type ConfirmDialogProps, ContextMenuRoot as ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, ContextualSaveBar, type ContextualSaveBarProps, type ControlDensity, type ControlMobileSurface, DEFAULT_DATE_RANGE_PRESETS, DEFAULT_STATUS_TONE, DataTable, type DataTableProps, type DataTransferAction, DataTransferControls, type DataTransferControlsProps, type DataTransferScopeOption, type DateFormatStyle, type DateInput, DatePicker, type DatePickerProps, type DateRange, DateRangePicker, type DateRangePickerProps, type DateRangePreset, DateText, type DateTextProps, type Density, DensityContext, DensityProvider, type DensityProviderProps, type DescriptionItem, DescriptionList, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, DrawerRoot as Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, Dropdown, DropdownLabel, DropdownMenuRoot as DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, DropdownSeparator, EmptyState, type EmptyStateAction, type EmptyStateProps, type FeedEvent, Field, FileDropzone, type FileDropzoneProps, type FileDropzoneSelectedFile, FileThumbnail, type FileThumbnailProps, FilterBar, type FilterBarProps, type FilterBarSearch, type FormatContextValue, type FormatCurrencyOptions, type FormatDateOptions, type FormatDateRangeOptions, type FormatNumberOptions, type FormatOptions, FormatProvider, type FormatProviderProps, type FormatRelativeTimeOptions, GridList, GridListAccentCard, GridListCard, HelpTooltip, type HelpTooltipProps, HoverCardRoot as HoverCard, HoverCardContent, HoverCardTrigger, type IconComponent, type IconLibrary, type IconName, IconProvider, Input, InputCopy, type InputCopyProps, InputField, InputGroup, InputMessage, type InputMessageProps, type InputMessageSlotContext, InputNumber, type InputNumberProps, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, type InputProps, Kbd, Label, MediaAssetCard, type MediaAssetCardProps, MediaAssetGrid, MediaAssetGridItem, type MediaAssetGridProps, MediaObject, MenuItem, type MenuItemProps, type MenuItemType, MenubarRoot as Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, MobileDrawer, type MobileDrawerProps, NativeSelect, NativeSelectOptGroup, NativeSelectOption, NavItem, type NavItemProps, NavMenu, type NavMenuItem, type NavMenuProps, NavigationMenuRoot as NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, Notification, PageHeading, Pagination, PaginationBar, type PaginationBarProps, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, type ParsedColor, type PluralizeOptions, PopoverRoot as Popover, PopoverClose, PopoverContent, PopoverTrigger, ProgressRoot as Progress, PropertyRow, type PropertyRowProps, type QueuedMessage, type RadioCardOption, RadioCards, RadioGroup, RadioGroupItem, RadioItem, Rating, type RatingProps, RelativeTime, type RelativeTimeProps, ResizableHandle, ResizablePanel, ResizablePanelGroup, ResourceCell, type ResourceCellProps, ResourceItem, type ResourceItemProps, RichTextEditor, type RichTextEditorProps, type RichTextImageUrlHandler, SIDEBAR_COOKIE_MAX_AGE, SIDEBAR_COOKIE_NAME, SIDEBAR_KEYBOARD_SHORTCUT, SIDEBAR_WIDTH, SIDEBAR_WIDTH_ICON, SIDEBAR_WIDTH_MOBILE, STATUS_TONE_BADGE, ScrollAreaRoot as ScrollArea, SearchInput, type SearchInputProps, SearchableTable, type SearchableTableColumn, type SearchableTableFilterOption, type SearchableTableProps, SectionHeading, Select, SelectContent, type SelectContentProps, SelectGroup, SelectItem, type SelectItemProps, SelectLabel, type SelectProps, SelectSeparator, SelectTrigger, type SelectTriggerProps, SelectValue, Separator, type ShapeClasses, ShapeProvider, type ShapeVariant, SheetRoot as Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, Slider, SliderComfortable, type SliderComfortableProps, SliderControl, type SliderProps, type SliderValue, Spinner, StackedList, StackedListItem, StatCard, StatCardGrid, type StatCardGridProps, type StatCardProps, StatCardSlot, type StatCardSlotProps, type StatCardTrend, StatGrid, type StatTrendTone, StatusBadge, type StatusBadgeProps, type StatusBadgeVariant, StatusTile, StatusTileGrid, type StatusTileGridProps, type StatusTileProps, type StatusTone, type Step, type StepStatus, Steps, SummaryTile, SummaryTileGrid, type SummaryTileGridProps, type SummaryTileProps, SurfaceProvider, Switch, type SwitchProps, TabItem, type TabItemProps, TabPanel, type TabPanelProps, Table, TableBody, TableCaption, TableCell, type TableDensity, TableFooter, TableHead, TableHeader, type TableMobileSurface, type TableProps, TableRow, Tabs, TabsContent, TabsList, type TabsListProps, type TabsProps, TabsSubtle, TabsSubtleItem, TabsSubtlePanel, TabsTrigger, Textarea, type TextareaProps, ThinkingIndicator, type ThinkingIndicatorProps, ThinkingStep, ThinkingStepDetails, type ThinkingStepDetailsProps, ThinkingStepImage, type ThinkingStepImageProps, type ThinkingStepProps, ThinkingStepSource, type ThinkingStepSourceProps, ThinkingStepSources, type ThinkingStepSourcesProps, type ThinkingStepStatus, ThinkingSteps, ThinkingStepsContent, type ThinkingStepsContentProps, ThinkingStepsHeader, type ThinkingStepsHeaderProps, type ThinkingStepsProps, TitledCard, type TitledCardProps, type ToastOptions, Toaster, type ToasterProps, ToggleRoot as Toggle, ToggleGroupRoot as ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipPortalContainer, type TooltipProps, TooltipProvider, TooltipRoot, type TooltipSide, TooltipTrigger, UrlRedirectPrompt, type UrlRedirectPromptProps, UsageBar, type UsageBarLayout, type UsageBarProps, type UsageBarTone, type ValuePosition, badgeColors, badgeVariants, buildParsed, buttonVariants, cardVariants, cn, formatCurrency, formatDate, formatDateRange, formatDateTime, formatFileSize, formatNumber, formatPercent, formatRelativeTime, hasUrlHandleChanged, horizontalEdgeMask, iconLibraryLabels, iconLibraryOrder, loadPdfjs, navigationMenuTriggerStyle, normalizeUrlHandle, parseColor, pluralize, renderPdfFirstPage, scrollStripItemIntoView, setPdfWorkerSrc, shapeMap, spinnerVariants, statusBadgeVariantFor, statusLabel, statusToneFor, toDate, toISODate, toggleVariants, triggerVariants, urlResourcePath, useDensity, useDensityAttributes, useDropdown, useFormatter, useHorizontalOverflowMask, useIcon, useIconLibrary, useIcons, useOptionalSidebar, useScrollEdges, useShape, useShapeContext, useSidebar, useSurface, useUnsavedChangesWarning };
|