@sequenceholdings/atlas-ui 0.1.3 → 0.3.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/chart-D6BE0zF5.js +18381 -0
- package/dist/charts.d.ts +8 -12
- package/dist/charts.mjs +1276 -7572
- package/dist/index.d.ts +607 -477
- package/dist/index.mjs +15631 -31844
- package/dist/tokens.css +0 -36
- package/motion.css +75 -0
- package/package.json +19 -5
- package/theme.v2.css +240 -0
- package/tokens.v2.css +537 -0
- package/dist/utils-BZS7Y02J.js +0 -1692
package/dist/index.d.ts
CHANGED
|
@@ -5,8 +5,10 @@ import { ClassValue } from 'clsx';
|
|
|
5
5
|
import { ColumnDef } from '@tanstack/react-table';
|
|
6
6
|
import { ColumnFiltersState } from '@tanstack/react-table';
|
|
7
7
|
import { Command as Command_2 } from 'cmdk';
|
|
8
|
+
import { ComponentProps } from 'react';
|
|
8
9
|
import * as ContextMenuPrimitive from '@radix-ui/react-context-menu';
|
|
9
10
|
import { DayPicker } from 'react-day-picker';
|
|
11
|
+
import { default as default_2 } from 'react';
|
|
10
12
|
import * as DialogPrimitive from '@radix-ui/react-dialog';
|
|
11
13
|
import { Dispatch } from 'react';
|
|
12
14
|
import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
|
|
@@ -16,8 +18,10 @@ import { JSX } from 'react/jsx-runtime';
|
|
|
16
18
|
import * as LabelPrimitive from '@radix-ui/react-label';
|
|
17
19
|
import * as PopoverPrimitive from '@radix-ui/react-popover';
|
|
18
20
|
import { QueryKey } from '@tanstack/react-query';
|
|
21
|
+
import * as RadioGroupPrimitive from '@radix-ui/react-radio-group';
|
|
19
22
|
import * as React_2 from 'react';
|
|
20
23
|
import { ReactNode } from 'react';
|
|
24
|
+
import * as RechartsPrimitive from 'recharts';
|
|
21
25
|
import { Row } from '@tanstack/react-table';
|
|
22
26
|
import * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area';
|
|
23
27
|
import * as SelectPrimitive from '@radix-ui/react-select';
|
|
@@ -36,62 +40,42 @@ import * as TooltipPrimitive from '@radix-ui/react-tooltip';
|
|
|
36
40
|
import { UseMutationResult } from '@tanstack/react-query';
|
|
37
41
|
import { VariantProps } from 'class-variance-authority';
|
|
38
42
|
|
|
39
|
-
export declare function AckBadges({ ack1, ack2, currentUserId, requiredAcks, onAck, onUnack, disabled, disabledReason, className, }: AckBadgesProps): JSX.Element;
|
|
40
|
-
|
|
41
|
-
export declare interface AckBadgesProps {
|
|
42
|
-
ack1?: AckUser;
|
|
43
|
-
ack2?: AckUser;
|
|
44
|
-
currentUserId: string;
|
|
45
|
-
requiredAcks: 1 | 2;
|
|
46
|
-
onAck?: () => void;
|
|
47
|
-
onUnack?: () => void;
|
|
48
|
-
disabled?: boolean;
|
|
49
|
-
disabledReason?: string;
|
|
50
|
-
className?: string;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
export declare interface AckUser {
|
|
54
|
-
userId: string;
|
|
55
|
-
displayName: string;
|
|
56
|
-
at: string;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
43
|
export declare const AGENT_TINTS: {
|
|
60
|
-
readonly
|
|
61
|
-
readonly bg: "bg-
|
|
62
|
-
readonly fg: "text-
|
|
44
|
+
readonly 'identity-1': {
|
|
45
|
+
readonly bg: "bg-identity-1";
|
|
46
|
+
readonly fg: "text-identity-1-text";
|
|
63
47
|
};
|
|
64
|
-
readonly
|
|
65
|
-
readonly bg: "bg-
|
|
66
|
-
readonly fg: "text-
|
|
48
|
+
readonly 'identity-2': {
|
|
49
|
+
readonly bg: "bg-identity-2";
|
|
50
|
+
readonly fg: "text-identity-2-text";
|
|
67
51
|
};
|
|
68
|
-
readonly
|
|
69
|
-
readonly bg: "bg-
|
|
70
|
-
readonly fg: "text-
|
|
52
|
+
readonly 'identity-3': {
|
|
53
|
+
readonly bg: "bg-identity-3";
|
|
54
|
+
readonly fg: "text-identity-3-text";
|
|
71
55
|
};
|
|
72
|
-
readonly
|
|
73
|
-
readonly bg: "bg-
|
|
74
|
-
readonly fg: "text-
|
|
56
|
+
readonly 'identity-4': {
|
|
57
|
+
readonly bg: "bg-identity-4";
|
|
58
|
+
readonly fg: "text-identity-4-text";
|
|
75
59
|
};
|
|
76
|
-
readonly
|
|
77
|
-
readonly bg: "bg-
|
|
78
|
-
readonly fg: "text-
|
|
60
|
+
readonly 'identity-5': {
|
|
61
|
+
readonly bg: "bg-identity-5";
|
|
62
|
+
readonly fg: "text-identity-5-text";
|
|
79
63
|
};
|
|
80
|
-
readonly
|
|
81
|
-
readonly bg: "bg-
|
|
82
|
-
readonly fg: "text-
|
|
64
|
+
readonly 'identity-6': {
|
|
65
|
+
readonly bg: "bg-identity-6";
|
|
66
|
+
readonly fg: "text-identity-6-text";
|
|
83
67
|
};
|
|
84
|
-
readonly
|
|
85
|
-
readonly bg: "bg-
|
|
86
|
-
readonly fg: "text-
|
|
68
|
+
readonly 'identity-7': {
|
|
69
|
+
readonly bg: "bg-identity-7";
|
|
70
|
+
readonly fg: "text-identity-7-text";
|
|
87
71
|
};
|
|
88
|
-
readonly
|
|
89
|
-
readonly bg: "bg-
|
|
90
|
-
readonly fg: "text-
|
|
72
|
+
readonly 'identity-8': {
|
|
73
|
+
readonly bg: "bg-identity-8";
|
|
74
|
+
readonly fg: "text-identity-8-text";
|
|
91
75
|
};
|
|
92
|
-
readonly
|
|
93
|
-
readonly bg: "bg-
|
|
94
|
-
readonly fg: "text-
|
|
76
|
+
readonly neutral: {
|
|
77
|
+
readonly bg: "bg-muted";
|
|
78
|
+
readonly fg: "text-foreground";
|
|
95
79
|
};
|
|
96
80
|
};
|
|
97
81
|
|
|
@@ -103,7 +87,14 @@ export declare const AlertDialogAction: React_2.ForwardRefExoticComponent<Omit<A
|
|
|
103
87
|
|
|
104
88
|
export declare const AlertDialogCancel: React_2.ForwardRefExoticComponent<Omit<AlertDialogPrimitive.AlertDialogCancelProps & React_2.RefAttributes<HTMLButtonElement>, "ref"> & React_2.RefAttributes<HTMLButtonElement>>;
|
|
105
89
|
|
|
106
|
-
export declare const AlertDialogContent: React_2.ForwardRefExoticComponent<Omit<AlertDialogPrimitive.AlertDialogContentProps & React_2.RefAttributes<HTMLDivElement>, "ref"> &
|
|
90
|
+
export declare const AlertDialogContent: React_2.ForwardRefExoticComponent<Omit<AlertDialogPrimitive.AlertDialogContentProps & React_2.RefAttributes<HTMLDivElement>, "ref"> & {
|
|
91
|
+
/**
|
|
92
|
+
* Classes for the scrim behind the dialog. Pair with `className` when
|
|
93
|
+
* raising z-index — a lone `className="z-modal"` lifts only the panel and
|
|
94
|
+
* leaves the overlay at `z-50` (DES-315). Additive; defaults unchanged.
|
|
95
|
+
*/
|
|
96
|
+
overlayClassName?: string;
|
|
97
|
+
} & React_2.RefAttributes<HTMLDivElement>>;
|
|
107
98
|
|
|
108
99
|
export declare const AlertDialogDescription: React_2.ForwardRefExoticComponent<Omit<AlertDialogPrimitive.AlertDialogDescriptionProps & React_2.RefAttributes<HTMLParagraphElement>, "ref"> & React_2.RefAttributes<HTMLParagraphElement>>;
|
|
109
100
|
|
|
@@ -194,24 +185,113 @@ declare interface BadgeProps extends React_2.HTMLAttributes<HTMLSpanElement>, Va
|
|
|
194
185
|
}
|
|
195
186
|
|
|
196
187
|
export declare const badgeVariants: (props?: ({
|
|
197
|
-
variant?: "
|
|
188
|
+
variant?: "default" | "success" | "secondary" | "neutral" | "destructive" | "outline" | "warning" | "info" | "danger" | "identity" | "ghost" | "alpha" | "beta" | null | undefined;
|
|
189
|
+
size?: "default" | "sm" | null | undefined;
|
|
198
190
|
} & ClassProp) | undefined) => string;
|
|
199
191
|
|
|
200
|
-
export declare function Breadcrumb({
|
|
192
|
+
export declare function Breadcrumb({ items, interactive, maxItems, variant, renderLink, ariaLabel, className, }: BreadcrumbProps): JSX.Element | null;
|
|
193
|
+
|
|
194
|
+
declare function Breadcrumb_2({ ...props }: React_2.ComponentProps<"nav">): JSX.Element;
|
|
195
|
+
|
|
196
|
+
/**
|
|
197
|
+
* Breadcrumb — the app-facing, presentational breadcrumb.
|
|
198
|
+
*
|
|
199
|
+
* App-agnostic on purpose so it ships in the published `atlas-ui` package and
|
|
200
|
+
* artifacts can use it: it takes the full `items` trail as a prop and does NOT
|
|
201
|
+
* touch any app registry, router, or `next/navigation`. Navigation defaults to
|
|
202
|
+
* plain `<a href>`; inject `renderLink` (e.g. a SPA `Link`) for client routing,
|
|
203
|
+
* or mount `BreadcrumbLinkProvider` once to supply it to a whole subtree (the
|
|
204
|
+
* Atlas shell does this). For the app-root crumb, prepend `useAppRootCrumb()`
|
|
205
|
+
* (`@platform/hooks/useAppRootCrumb`).
|
|
206
|
+
*
|
|
207
|
+
* Depth drives the affordance (`variant='auto'`): 0 ancestors → nothing, 1 →
|
|
208
|
+
* back button, 2+ → breadcrumb. Long trails collapse into an ellipsis dropdown
|
|
209
|
+
* (`maxItems`); every crumb truncates with a tooltip; `loading` crumbs show a
|
|
210
|
+
* pulsing skeleton.
|
|
211
|
+
*/
|
|
212
|
+
export declare interface BreadcrumbCrumb {
|
|
213
|
+
label: React_2.ReactNode;
|
|
214
|
+
/** Navigation target for an ancestor crumb. Ignored on the last crumb (it
|
|
215
|
+
* renders as the current page). Prefer `href`; use `onClick` for custom nav. */
|
|
216
|
+
href?: string;
|
|
217
|
+
onClick?: () => void;
|
|
218
|
+
/** Render a pulsing skeleton in place of the label while its value loads. */
|
|
219
|
+
loading?: boolean;
|
|
220
|
+
}
|
|
201
221
|
|
|
202
|
-
|
|
222
|
+
declare function BreadcrumbEllipsis({ className, ...props }: React_2.ComponentProps<"span">): JSX.Element;
|
|
203
223
|
|
|
204
|
-
|
|
224
|
+
declare function BreadcrumbItem({ className, ...props }: React_2.ComponentProps<"li">): JSX.Element;
|
|
205
225
|
|
|
206
|
-
|
|
226
|
+
declare function BreadcrumbLink({ asChild, className, ...props }: React_2.ComponentProps<"a"> & {
|
|
207
227
|
asChild?: boolean;
|
|
208
228
|
}): JSX.Element;
|
|
209
229
|
|
|
210
|
-
|
|
230
|
+
/**
|
|
231
|
+
* Supplies the router link that `Breadcrumb` uses for ancestor crumbs. Mount it
|
|
232
|
+
* once in the app shell with your SPA `Link` so every breadcrumb navigates
|
|
233
|
+
* client-side; without it (e.g. in a standalone artifact) breadcrumbs fall back
|
|
234
|
+
* to plain `<a href>`. A `renderLink` prop on an individual `Breadcrumb` still
|
|
235
|
+
* wins over this.
|
|
236
|
+
*/
|
|
237
|
+
export declare function BreadcrumbLinkProvider({ renderLink, children, }: {
|
|
238
|
+
renderLink: BreadcrumbLinkRenderer;
|
|
239
|
+
children: React_2.ReactNode;
|
|
240
|
+
}): JSX.Element;
|
|
211
241
|
|
|
212
|
-
|
|
242
|
+
/** Renders a navigable crumb. Default is a plain `<a href>`; a host injects its
|
|
243
|
+
* router link (e.g. `<Link to={href}>`) so SPA nav works without coupling the
|
|
244
|
+
* shared component to any router. */
|
|
245
|
+
export declare type BreadcrumbLinkRenderer = (props: {
|
|
246
|
+
href: string;
|
|
247
|
+
onClick?: () => void;
|
|
248
|
+
className?: string;
|
|
249
|
+
children: React_2.ReactNode;
|
|
250
|
+
}) => React_2.ReactElement;
|
|
251
|
+
|
|
252
|
+
declare function BreadcrumbList({ className, ...props }: React_2.ComponentProps<"ol">): JSX.Element;
|
|
213
253
|
|
|
214
|
-
|
|
254
|
+
declare function BreadcrumbPage({ className, ...props }: React_2.ComponentProps<"span">): JSX.Element;
|
|
255
|
+
|
|
256
|
+
/**
|
|
257
|
+
* shadcn breadcrumb primitives, grouped under one namespace so the bare name
|
|
258
|
+
* `Breadcrumb` names the app-facing smart component (`./breadcrumb-nav`).
|
|
259
|
+
* Compose these directly only when building a bespoke trail; almost all code
|
|
260
|
+
* should use the smart `Breadcrumb` instead.
|
|
261
|
+
*/
|
|
262
|
+
export declare const BreadcrumbPrimitive: {
|
|
263
|
+
Root: typeof Breadcrumb_2;
|
|
264
|
+
List: typeof BreadcrumbList;
|
|
265
|
+
Item: typeof BreadcrumbItem;
|
|
266
|
+
Link: typeof BreadcrumbLink;
|
|
267
|
+
Page: typeof BreadcrumbPage;
|
|
268
|
+
Separator: typeof BreadcrumbSeparator;
|
|
269
|
+
Ellipsis: typeof BreadcrumbEllipsis;
|
|
270
|
+
};
|
|
271
|
+
|
|
272
|
+
export declare interface BreadcrumbProps {
|
|
273
|
+
/** The full trail; the last item renders as the current page. */
|
|
274
|
+
items: BreadcrumbCrumb[];
|
|
275
|
+
/** When false, ancestor crumbs render as static text (e.g. loading states). */
|
|
276
|
+
interactive?: boolean;
|
|
277
|
+
/** Collapse the middle of long trails to an ellipsis-dropdown once the count
|
|
278
|
+
* exceeds this (clamped to >= 2 so the root + current page always show). */
|
|
279
|
+
maxItems?: number;
|
|
280
|
+
/**
|
|
281
|
+
* Which affordance to render. Defaults to `'auto'`, which picks by depth so
|
|
282
|
+
* callers never decide: **0 ancestors** → nothing; **1 ancestor** → a back
|
|
283
|
+
* button (a full breadcrumb is overkill one level deep); **2+ ancestors** →
|
|
284
|
+
* the breadcrumb trail. Force `'breadcrumb'` / `'back'` for a deliberate
|
|
285
|
+
* exception.
|
|
286
|
+
*/
|
|
287
|
+
variant?: "auto" | "breadcrumb" | "back";
|
|
288
|
+
/** Injected router link. Defaults to a plain `<a href>`. */
|
|
289
|
+
renderLink?: BreadcrumbLinkRenderer;
|
|
290
|
+
ariaLabel?: string;
|
|
291
|
+
className?: string;
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
declare function BreadcrumbSeparator({ children, className, ...props }: React_2.ComponentProps<"li">): JSX.Element;
|
|
215
295
|
|
|
216
296
|
/**
|
|
217
297
|
* Generate heat-colored columns for time-period keys (dates, weeks, months).
|
|
@@ -242,12 +322,26 @@ export declare interface ButtonProps extends React_2.ButtonHTMLAttributes<HTMLBu
|
|
|
242
322
|
}
|
|
243
323
|
|
|
244
324
|
export declare const buttonVariants: (props?: ({
|
|
245
|
-
variant?: "
|
|
246
|
-
size?: "default" | "
|
|
325
|
+
variant?: "default" | "link" | "secondary" | "destructive" | "outline" | "ghost" | "submit" | null | undefined;
|
|
326
|
+
size?: "default" | "sm" | "icon" | "lg" | "xs" | "icon-xs" | "icon-sm" | "icon-lg" | null | undefined;
|
|
247
327
|
} & ClassProp) | undefined) => string;
|
|
248
328
|
|
|
249
329
|
export declare function Calendar({ className, classNames, showOutsideDays, ...props }: React_2.ComponentProps<typeof DayPicker>): JSX.Element;
|
|
250
330
|
|
|
331
|
+
export declare function CalendarGrid({ startHour, endHour, hourHeight, maxHeight, initialScrollHour, dayHeaders, children, loading, loadingText, }: CalendarGridProps): JSX.Element;
|
|
332
|
+
|
|
333
|
+
export declare interface CalendarGridProps {
|
|
334
|
+
startHour?: number;
|
|
335
|
+
endHour?: number;
|
|
336
|
+
hourHeight?: number;
|
|
337
|
+
maxHeight?: number;
|
|
338
|
+
initialScrollHour?: number;
|
|
339
|
+
dayHeaders?: default_2.ReactNode[];
|
|
340
|
+
children: (dayIdx: number) => default_2.ReactNode;
|
|
341
|
+
loading?: boolean;
|
|
342
|
+
loadingText?: string;
|
|
343
|
+
}
|
|
344
|
+
|
|
251
345
|
/**
|
|
252
346
|
* Card — the foundational surface for grouped content (dashboards,
|
|
253
347
|
* metrics, forms, lists, detail pages).
|
|
@@ -266,11 +360,11 @@ export declare function Calendar({ className, classNames, showOutsideDays, ...pr
|
|
|
266
360
|
* Drop shadows on cards quickly compound against each other in
|
|
267
361
|
* dense dashboards (card-inside-card, kpi-tile-inside-card, etc.)
|
|
268
362
|
* and visually muddy the hierarchy.
|
|
269
|
-
* - Radius: `rounded-
|
|
270
|
-
*
|
|
363
|
+
* - Radius: `rounded-surface` (DES-313) — the top-level-container
|
|
364
|
+
* radius role. Cards own their radius; call sites never pass one.
|
|
271
365
|
*
|
|
272
366
|
* When a card genuinely needs elevation (modal/popover-adjacent lifts,
|
|
273
|
-
* drag affordances), opt in explicitly with `shadow-
|
|
367
|
+
* drag affordances), opt in explicitly with `shadow-resting`
|
|
274
368
|
* at the call site rather than baking it into the base.
|
|
275
369
|
*/
|
|
276
370
|
export declare const Card: React_2.ForwardRefExoticComponent<React_2.HTMLAttributes<HTMLDivElement> & React_2.RefAttributes<HTMLDivElement>>;
|
|
@@ -283,19 +377,66 @@ export declare const CardHeader: React_2.ForwardRefExoticComponent<React_2.HTMLA
|
|
|
283
377
|
|
|
284
378
|
export declare const CardTitle: React_2.ForwardRefExoticComponent<React_2.HTMLAttributes<HTMLDivElement> & React_2.RefAttributes<HTMLDivElement>>;
|
|
285
379
|
|
|
286
|
-
declare
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
380
|
+
export declare type ChartConfig = {
|
|
381
|
+
[key: string]: {
|
|
382
|
+
label?: React_2.ReactNode;
|
|
383
|
+
icon?: React_2.ComponentType;
|
|
384
|
+
} & ({
|
|
385
|
+
color?: string;
|
|
386
|
+
theme?: never;
|
|
387
|
+
} | {
|
|
388
|
+
color?: never;
|
|
389
|
+
theme: Record<keyof typeof THEMES, string>;
|
|
390
|
+
});
|
|
391
|
+
};
|
|
392
|
+
|
|
393
|
+
export declare function ChartContainer({ id, className, children, config, ...props }: React_2.ComponentProps<'div'> & {
|
|
394
|
+
config: ChartConfig;
|
|
395
|
+
children: React_2.ComponentProps<typeof RechartsPrimitive.ResponsiveContainer>['children'];
|
|
396
|
+
}): JSX.Element;
|
|
397
|
+
|
|
398
|
+
export declare const ChartLegend: typeof RechartsPrimitive.Legend;
|
|
399
|
+
|
|
400
|
+
export declare function ChartLegendContent({ className, hideIcon, payload, verticalAlign, nameKey, }: {
|
|
401
|
+
className?: string;
|
|
402
|
+
hideIcon?: boolean;
|
|
403
|
+
payload?: LegendPayloadItem[];
|
|
404
|
+
verticalAlign?: 'top' | 'bottom';
|
|
405
|
+
nameKey?: string;
|
|
406
|
+
}): JSX.Element | null;
|
|
407
|
+
|
|
408
|
+
export declare const ChartTooltip: typeof RechartsPrimitive.Tooltip;
|
|
409
|
+
|
|
410
|
+
export declare function ChartTooltipContent({ active, payload, className, indicator, hideLabel, hideIndicator, label, labelFormatter, labelClassName, formatter, color, nameKey, labelKey, footer, }: {
|
|
411
|
+
active?: boolean;
|
|
412
|
+
payload?: TooltipPayloadItem[];
|
|
413
|
+
className?: string;
|
|
414
|
+
indicator?: 'line' | 'dot' | 'dashed';
|
|
415
|
+
hideLabel?: boolean;
|
|
416
|
+
hideIndicator?: boolean;
|
|
417
|
+
label?: React_2.ReactNode;
|
|
418
|
+
labelFormatter?: (value: React_2.ReactNode, payload: TooltipPayloadItem[]) => React_2.ReactNode;
|
|
419
|
+
labelClassName?: string;
|
|
420
|
+
formatter?: (value: number | string, name: string | number, item: TooltipPayloadItem, index: number, payloadItem: Record<string, unknown> | undefined) => React_2.ReactNode;
|
|
421
|
+
color?: string;
|
|
422
|
+
nameKey?: string;
|
|
423
|
+
labelKey?: string;
|
|
424
|
+
footer?: (visible: TooltipPayloadItem[]) => React_2.ReactNode;
|
|
425
|
+
}): JSX.Element | null;
|
|
290
426
|
|
|
291
427
|
/**
|
|
292
428
|
* Checkbox — matches shadcn's canonical 16×16 design:
|
|
293
429
|
*
|
|
294
430
|
* - `size-4` (16px)
|
|
295
|
-
* - `rounded-
|
|
296
|
-
*
|
|
297
|
-
*
|
|
298
|
-
*
|
|
431
|
+
* - `rounded-badge` (4px) — a square with softened corners, NOT a
|
|
432
|
+
* circle. This is chosen for its VALUE, not its name: a checkbox is
|
|
433
|
+
* not a label about something, but `badge` is the only radius role
|
|
434
|
+
* that stays 4px in both flag states, and 4px is the only step that
|
|
435
|
+
* keeps a 16px box reading as a square. `rounded-control` would make
|
|
436
|
+
* it a full circle — that is a radio button, not a checkbox — and
|
|
437
|
+
* `rounded-surface-nested` (8px) would render it as a 50% pill.
|
|
438
|
+
* Kept off the legacy `rounded-xs` so it survives the DES-324
|
|
439
|
+
* deletion of the legacy scale (DES-379).
|
|
299
440
|
* - Neutral `border-input` when unchecked; flips to `border-primary`
|
|
300
441
|
* when checked/indeterminate so the outline blends with the fill.
|
|
301
442
|
* - No drop shadow — consistent with the rest of Atlas's form
|
|
@@ -337,10 +478,10 @@ export declare interface CheckboxOption<T extends string> {
|
|
|
337
478
|
}
|
|
338
479
|
|
|
339
480
|
declare const CHIP_TONES: {
|
|
340
|
-
readonly default: "border-
|
|
341
|
-
readonly danger: "border-
|
|
342
|
-
readonly warning: "border-
|
|
343
|
-
readonly success: "border-
|
|
481
|
+
readonly default: "border-border bg-accent text-muted-foreground";
|
|
482
|
+
readonly danger: "border-danger/30 bg-danger-tint text-danger-text";
|
|
483
|
+
readonly warning: "border-warning/30 bg-warning-tint text-warning-text";
|
|
484
|
+
readonly success: "border-success/30 bg-success-tint text-success-text";
|
|
344
485
|
};
|
|
345
486
|
|
|
346
487
|
export declare const ChoiceCard: React_2.ForwardRefExoticComponent<ChoiceCardProps & React_2.RefAttributes<HTMLLabelElement>>;
|
|
@@ -472,6 +613,26 @@ declare interface ChoiceCardProps {
|
|
|
472
613
|
className?: string;
|
|
473
614
|
}
|
|
474
615
|
|
|
616
|
+
export declare function CitationChip({ fileName, url, kind, resolved, className, }: CitationChipProps): JSX.Element;
|
|
617
|
+
|
|
618
|
+
/**
|
|
619
|
+
* Inline citation chip — the rendered form of a resolved `[[cite:...]]` anchor.
|
|
620
|
+
* A `document` chip shows the source filename; a `web` chip shows the site (or
|
|
621
|
+
* host) and links out; an unresolved anchor renders a muted "source" pill so a
|
|
622
|
+
* fabricated/dropped citation is still visible rather than a raw token.
|
|
623
|
+
*
|
|
624
|
+
* The label truncates and reveals its full value on hover (via `TruncatedText`).
|
|
625
|
+
* When a `url` is present the chip is an anchor that opens in a new tab.
|
|
626
|
+
*/
|
|
627
|
+
export declare interface CitationChipProps {
|
|
628
|
+
fileName?: string | null;
|
|
629
|
+
url?: string | null;
|
|
630
|
+
kind?: 'web' | 'document';
|
|
631
|
+
/** False renders the muted unresolved state. Defaults to true. */
|
|
632
|
+
resolved?: boolean;
|
|
633
|
+
className?: string;
|
|
634
|
+
}
|
|
635
|
+
|
|
475
636
|
export declare function cn(...inputs: ClassValue[]): string;
|
|
476
637
|
|
|
477
638
|
export declare const CodeBadge: React_2.ForwardRefExoticComponent<CodeBadgeProps & React_2.RefAttributes<HTMLSpanElement>>;
|
|
@@ -638,7 +799,7 @@ export declare function DashboardShell({ title, range, actions, children, classN
|
|
|
638
799
|
* >
|
|
639
800
|
* <KpiTileGrid columns={4}>…</KpiTileGrid>
|
|
640
801
|
* <ChartCard />
|
|
641
|
-
* <
|
|
802
|
+
* <Table … />
|
|
642
803
|
* </DashboardShell>
|
|
643
804
|
* ```
|
|
644
805
|
*
|
|
@@ -646,7 +807,7 @@ export declare function DashboardShell({ title, range, actions, children, classN
|
|
|
646
807
|
* - Don't render a page subtitle (e.g. "N total") under the title — those
|
|
647
808
|
* belong in section headers or on the table itself.
|
|
648
809
|
* - Don't nest a `<DashboardShell>` inside another scroll container.
|
|
649
|
-
* - Title renders at 16px (
|
|
810
|
+
* - Title renders at 16px (`text-base`).
|
|
650
811
|
*/
|
|
651
812
|
declare interface DashboardShellProps {
|
|
652
813
|
/** Page title — 16px, semibold. Usually a short noun ("Agents", "Schedules"). */
|
|
@@ -661,96 +822,6 @@ declare interface DashboardShellProps {
|
|
|
661
822
|
bodyClassName?: string;
|
|
662
823
|
}
|
|
663
824
|
|
|
664
|
-
export declare function DataReviewTable<T extends {
|
|
665
|
-
id: string;
|
|
666
|
-
_version?: number;
|
|
667
|
-
}>({ columns, data, selectedRows: controlledSelected, onSelectionChange, defaultSort, emptyMessage, className, maxHeight, highlightedRowIds, enableSorting, selectionDisabled, enableCellSelection, selectedCells: controlledCells, onCellSelectionChange, }: DataReviewTableProps<T>): JSX.Element;
|
|
668
|
-
|
|
669
|
-
export declare interface DataReviewTableProps<T extends {
|
|
670
|
-
id: string;
|
|
671
|
-
_version?: number;
|
|
672
|
-
}> {
|
|
673
|
-
columns: ColumnDef<T, unknown>[];
|
|
674
|
-
data: T[];
|
|
675
|
-
/**
|
|
676
|
-
* Controlled selection. When provided, the table reflects this value and
|
|
677
|
-
* fires `onSelectionChange` on user interaction without mutating internal
|
|
678
|
-
* state. When omitted, the table manages selection itself (uncontrolled
|
|
679
|
-
* mode) — useful when the caller only needs the callback or no callback
|
|
680
|
-
* at all. Mixing controlled/uncontrolled across renders is undefined
|
|
681
|
-
* behavior (standard React convention).
|
|
682
|
-
*/
|
|
683
|
-
selectedRows?: string[];
|
|
684
|
-
onSelectionChange?: (rowIds: string[]) => void;
|
|
685
|
-
defaultSort?: SortingState;
|
|
686
|
-
emptyMessage?: string;
|
|
687
|
-
className?: string;
|
|
688
|
-
/**
|
|
689
|
-
* Height cap on the internal scroll container. Required for the virtualized
|
|
690
|
-
* path (rows >= VIRTUALIZATION_THRESHOLD) — without a bounded scroll
|
|
691
|
-
* element, `useVirtualizer` only sees the initial viewport and rows below
|
|
692
|
-
* the fold stay unreachable. Accepts any CSS length (`'70vh'`, `'600px'`,
|
|
693
|
-
* `'calc(100vh - 12rem)'`) or a pixel `number`. Default is `'70vh'`.
|
|
694
|
-
*/
|
|
695
|
-
maxHeight?: string | number;
|
|
696
|
-
/**
|
|
697
|
-
* Row IDs to highlight with a transient amber background — typically used
|
|
698
|
-
* to flash rows that conflicted during a batch mutation so the user can
|
|
699
|
-
* see which rows changed underneath them. The caller owns the lifecycle
|
|
700
|
-
* (populate on conflict, clear on timer).
|
|
701
|
-
*/
|
|
702
|
-
highlightedRowIds?: Set<string>;
|
|
703
|
-
/**
|
|
704
|
-
* When false, column headers do not respond to clicks and rows are
|
|
705
|
-
* rendered in `data` order. Use this when sorting is implemented server-
|
|
706
|
-
* side or when sorting a paginated subset would produce cross-page
|
|
707
|
-
* inconsistencies. Default `true` preserves the previous client-side
|
|
708
|
-
* sort behavior.
|
|
709
|
-
*/
|
|
710
|
-
enableSorting?: boolean;
|
|
711
|
-
/**
|
|
712
|
-
* When true, the leading checkbox column is removed entirely AND any
|
|
713
|
-
* internal/uncontrolled selection state is dropped. Use this for
|
|
714
|
-
* read-only views (e.g. a LOCKED migration table) where ack actions
|
|
715
|
-
* are forbidden — without this prop the table would silently keep its
|
|
716
|
-
* own selection in uncontrolled mode even when the parent thinks
|
|
717
|
-
* selection is disabled, surfacing a checkbox column the user can
|
|
718
|
-
* tick but never act on.
|
|
719
|
-
*/
|
|
720
|
-
selectionDisabled?: boolean;
|
|
721
|
-
/**
|
|
722
|
-
* When true, switches the table into Excel-grade cell selection mode.
|
|
723
|
-
* The leading checkbox column is NOT rendered and row-selection plumbing
|
|
724
|
-
* is disabled; users interact with individual cells instead. Supports
|
|
725
|
-
* click, shift-click (rectangular range), cmd/ctrl-click (additive),
|
|
726
|
-
* mouse drag, Escape to clear, and Cmd/Ctrl+A to select all visible
|
|
727
|
-
* cells. The caller can observe or drive selection via
|
|
728
|
-
* `selectedCells` / `onCellSelectionChange`.
|
|
729
|
-
*/
|
|
730
|
-
enableCellSelection?: boolean;
|
|
731
|
-
/**
|
|
732
|
-
* Controlled cell selection. When provided, the table reflects this
|
|
733
|
-
* value and fires `onCellSelectionChange` on user interaction without
|
|
734
|
-
* mutating internal state. Only applies when `enableCellSelection` is
|
|
735
|
-
* true.
|
|
736
|
-
*/
|
|
737
|
-
selectedCells?: CellCoord[];
|
|
738
|
-
onCellSelectionChange?: (cells: CellCoord[]) => void;
|
|
739
|
-
}
|
|
740
|
-
|
|
741
|
-
export declare function DataTable<T>({ columns, data, pageSize, defaultSort, emptyMessage, onRowClick, rowClassName, className, }: DataTableProps<T>): JSX.Element;
|
|
742
|
-
|
|
743
|
-
declare interface DataTableProps<T> {
|
|
744
|
-
columns: ColumnDef<T, unknown>[];
|
|
745
|
-
data: T[];
|
|
746
|
-
pageSize?: number;
|
|
747
|
-
defaultSort?: SortingState;
|
|
748
|
-
emptyMessage?: string;
|
|
749
|
-
onRowClick?: (row: T) => void;
|
|
750
|
-
rowClassName?: (row: Row<T>) => string | undefined;
|
|
751
|
-
className?: string;
|
|
752
|
-
}
|
|
753
|
-
|
|
754
825
|
/**
|
|
755
826
|
* Date picker working in `Date | null` (or `DateRange | null` in `mode="range"`).
|
|
756
827
|
* Radix popover + react-day-picker calendar + free-text parsing + presets.
|
|
@@ -851,15 +922,6 @@ declare interface DateFieldSingleProps extends DateFieldCommonProps {
|
|
|
851
922
|
onChange: (next: Date | null) => void;
|
|
852
923
|
}
|
|
853
924
|
|
|
854
|
-
export declare function DatePicker({ value, onChange, placeholder, className }: DatePickerProps): JSX.Element;
|
|
855
|
-
|
|
856
|
-
declare interface DatePickerProps {
|
|
857
|
-
value: string | null;
|
|
858
|
-
onChange: (date: string | null) => void;
|
|
859
|
-
placeholder?: string;
|
|
860
|
-
className?: string;
|
|
861
|
-
}
|
|
862
|
-
|
|
863
925
|
export declare interface DateRange {
|
|
864
926
|
from: Date;
|
|
865
927
|
to: Date;
|
|
@@ -941,8 +1003,11 @@ export declare type DefaultTaskStatus = 'todo' | 'in_progress' | 'blocked' | 'do
|
|
|
941
1003
|
* `aria-hidden` bookkeeping for nested layers.
|
|
942
1004
|
* - Title renders at `text-base` (16px) semibold — NOT `text-lg`
|
|
943
1005
|
* (which in Atlas's token scale is 26px / hero size).
|
|
944
|
-
* - Overlay is `bg-
|
|
945
|
-
*
|
|
1006
|
+
* - Overlay is `bg-overlay` with a light backdrop blur — a
|
|
1007
|
+
* mode-independent dark scrim, NOT an alpha of `--foreground`
|
|
1008
|
+
* (see `DialogOverlay`).
|
|
1009
|
+
* - Content rounds to `rounded-surface` (DES-313) — the top-level
|
|
1010
|
+
* container radius role shared with Card.
|
|
946
1011
|
*/
|
|
947
1012
|
export declare const Dialog: React_2.FC<DialogPrimitive.DialogProps>;
|
|
948
1013
|
|
|
@@ -973,6 +1038,12 @@ export declare const DialogContent: React_2.ForwardRefExoticComponent<Omit<Dialo
|
|
|
973
1038
|
* controlled `open` + an `onOpenChange` guard for full lockout.
|
|
974
1039
|
*/
|
|
975
1040
|
showCloseButton?: boolean;
|
|
1041
|
+
/**
|
|
1042
|
+
* Classes for the scrim behind the dialog. Pair with `className` when
|
|
1043
|
+
* raising z-index — a lone `className="z-modal"` lifts only the panel and
|
|
1044
|
+
* leaves the overlay at `z-50` (DES-315). Additive; defaults unchanged.
|
|
1045
|
+
*/
|
|
1046
|
+
overlayClassName?: string;
|
|
976
1047
|
} & React_2.RefAttributes<HTMLDivElement>>;
|
|
977
1048
|
|
|
978
1049
|
export declare const DialogDescription: React_2.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogDescriptionProps & React_2.RefAttributes<HTMLParagraphElement>, "ref"> & React_2.RefAttributes<HTMLParagraphElement>>;
|
|
@@ -997,25 +1068,6 @@ export declare const DialogTitle: React_2.ForwardRefExoticComponent<Omit<DialogP
|
|
|
997
1068
|
|
|
998
1069
|
export declare const DialogTrigger: React_2.ForwardRefExoticComponent<DialogPrimitive.DialogTriggerProps & React_2.RefAttributes<HTMLButtonElement>>;
|
|
999
1070
|
|
|
1000
|
-
export declare function DiffCell({ before, after, editable, onChange, className, }: DiffCellProps): JSX.Element;
|
|
1001
|
-
|
|
1002
|
-
export declare interface DiffCellProps {
|
|
1003
|
-
before: string | number | null;
|
|
1004
|
-
after: string | number | null;
|
|
1005
|
-
editable?: boolean;
|
|
1006
|
-
onChange?: (newValue: string) => void;
|
|
1007
|
-
className?: string;
|
|
1008
|
-
}
|
|
1009
|
-
|
|
1010
|
-
export declare function DotLabel({ color, children, bold, className }: DotLabelProps): JSX.Element;
|
|
1011
|
-
|
|
1012
|
-
declare interface DotLabelProps {
|
|
1013
|
-
color: string;
|
|
1014
|
-
children: string;
|
|
1015
|
-
bold?: boolean;
|
|
1016
|
-
className?: string;
|
|
1017
|
-
}
|
|
1018
|
-
|
|
1019
1071
|
export declare const DropdownMenu: React_2.FC<DropdownMenuPrimitive.DropdownMenuProps>;
|
|
1020
1072
|
|
|
1021
1073
|
export declare const DropdownMenuCheckboxItem: React_2.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuCheckboxItemProps & React_2.RefAttributes<HTMLDivElement>, "ref"> & React_2.RefAttributes<HTMLDivElement>>;
|
|
@@ -1254,6 +1306,10 @@ export declare function EditorTopBarStatusBadge({ tone, label, }: {
|
|
|
1254
1306
|
|
|
1255
1307
|
/**
|
|
1256
1308
|
* Consistent empty-state placeholder for tables and content areas.
|
|
1309
|
+
*
|
|
1310
|
+
* For a full-route / full-panel "instead of content" screen (404, access
|
|
1311
|
+
* denied, page error), use {@link PageState} from `./page-state` instead —
|
|
1312
|
+
* this component is the small inline placeholder, not the page template.
|
|
1257
1313
|
*/
|
|
1258
1314
|
export declare function EmptyState({ icon, message, detail, className }: EmptyStateProps): JSX.Element;
|
|
1259
1315
|
|
|
@@ -1264,6 +1320,14 @@ export declare interface EmptyStateProps {
|
|
|
1264
1320
|
className?: string;
|
|
1265
1321
|
}
|
|
1266
1322
|
|
|
1323
|
+
/**
|
|
1324
|
+
* The canonical inline failure banner — one treatment for "this panel could not
|
|
1325
|
+
* load", used across apps so a failure reads the same everywhere.
|
|
1326
|
+
*
|
|
1327
|
+
* Status roles (`danger-tint` / `danger-text` / `danger`) carry the hue and
|
|
1328
|
+
* flip under dark mode — no hand-rolled `dark:` pairs needed here. Distinct
|
|
1329
|
+
* from {@link PageState}, which is the full-surface utility layout.
|
|
1330
|
+
*/
|
|
1267
1331
|
export declare function ErrorState({ message, className }: ErrorStateProps): JSX.Element;
|
|
1268
1332
|
|
|
1269
1333
|
declare interface ErrorStateProps {
|
|
@@ -1426,6 +1490,7 @@ export declare interface FileRejection {
|
|
|
1426
1490
|
message: string;
|
|
1427
1491
|
}
|
|
1428
1492
|
|
|
1493
|
+
/** @deprecated Use `MultiSelectOption` from `./multi-select`. */
|
|
1429
1494
|
export declare interface FilterOption<T extends string> {
|
|
1430
1495
|
value: T;
|
|
1431
1496
|
label: string;
|
|
@@ -1454,9 +1519,15 @@ export declare function FilterPill({ label, options, selected, onChange }: Filte
|
|
|
1454
1519
|
* grab-bag of visual treatments:
|
|
1455
1520
|
*
|
|
1456
1521
|
* - Height: h-9 (36px)
|
|
1457
|
-
* - Radius: rounded-
|
|
1458
|
-
* - Border/bg: `border bg-
|
|
1459
|
-
*
|
|
1522
|
+
* - Radius: `rounded-control` — operable and one line tall
|
|
1523
|
+
* - Border/bg: `border bg-card` — `--input` border, raised surface,
|
|
1524
|
+
* same palette as Select/Input. NOT `background`: that is
|
|
1525
|
+
* the PAGE role (ds-neutral-50 under v2, not white), which
|
|
1526
|
+
* rendered the pill as a grey chip next to the white
|
|
1527
|
+
* outline controls beside it. `Button variant="outline"`
|
|
1528
|
+
* carries the same note and the same `dark:bg-input/30`
|
|
1529
|
+
* lift, since in dark the resting fill matches the darkest
|
|
1530
|
+
* surface and vanishes.
|
|
1460
1531
|
* - Padding: px-3 py-1
|
|
1461
1532
|
* - Text: text-base md:text-sm (14px on desktop)
|
|
1462
1533
|
* - Focus ring: focus:ring-1 focus:ring-ring (keyboard-visible)
|
|
@@ -1483,6 +1554,13 @@ declare interface FilterPillProps {
|
|
|
1483
1554
|
}
|
|
1484
1555
|
|
|
1485
1556
|
/**
|
|
1557
|
+
* @deprecated Do not use in new code, and migrate existing usages off it.
|
|
1558
|
+
* `FilterSelect` is retired in favor of `MultiSelect` (searchable cmdk list,
|
|
1559
|
+
* always-visible checkboxes, stacked trigger icons). It is still exported from
|
|
1560
|
+
* `@sequenceholdings/atlas-ui` (deprecated) so remaining consumers keep
|
|
1561
|
+
* compiling — remove only after the blast-radius scan is clean (FilterPill /
|
|
1562
|
+
* DES-261 deprecate-before-delete pattern).
|
|
1563
|
+
*
|
|
1486
1564
|
* A compact multi-select filter for a table/list toolbar: a trigger with a count
|
|
1487
1565
|
* chip when active, and a popover of swatch + label rows with a check on the
|
|
1488
1566
|
* selected ones. Reusable for any short enum filter (status, health, type, …).
|
|
@@ -1493,6 +1571,7 @@ declare interface FilterPillProps {
|
|
|
1493
1571
|
*/
|
|
1494
1572
|
export declare function FilterSelect<T extends string>({ label, options, selected, onChange, }: FilterSelectProps<T>): JSX.Element;
|
|
1495
1573
|
|
|
1574
|
+
/** @deprecated Use `MultiSelect` props instead. */
|
|
1496
1575
|
export declare interface FilterSelectProps<T extends string> {
|
|
1497
1576
|
label: string;
|
|
1498
1577
|
options: FilterOption<T>[];
|
|
@@ -1571,7 +1650,7 @@ export declare interface FormDialogProps {
|
|
|
1571
1650
|
* FormField does is still reachable as individual primitives. Use FormField
|
|
1572
1651
|
* when you want the 90% case in one line.
|
|
1573
1652
|
*/
|
|
1574
|
-
export declare function FormField({ label, required, error, description, id: providedId, children, className, }: FormFieldProps): JSX.Element;
|
|
1653
|
+
export declare function FormField({ label, required, error, description, descriptionPlacement, id: providedId, children, className, }: FormFieldProps): JSX.Element;
|
|
1575
1654
|
|
|
1576
1655
|
export declare interface FormFieldProps {
|
|
1577
1656
|
/**
|
|
@@ -1593,11 +1672,19 @@ export declare interface FormFieldProps {
|
|
|
1593
1672
|
*/
|
|
1594
1673
|
error?: string;
|
|
1595
1674
|
/**
|
|
1596
|
-
* Helper text rendered
|
|
1597
|
-
*
|
|
1598
|
-
* takes the same slot.
|
|
1675
|
+
* Helper text rendered in muted color (field hint, input format, etc).
|
|
1676
|
+
* Placement is controlled by {@link descriptionPlacement}. When placed
|
|
1677
|
+
* `below` (default), an `error` takes the same slot and hides it.
|
|
1599
1678
|
*/
|
|
1600
1679
|
description?: React_2.ReactNode;
|
|
1680
|
+
/**
|
|
1681
|
+
* Where the {@link description} sits relative to the control:
|
|
1682
|
+
* - `below` (default) — the classic helper-text slot beneath the control.
|
|
1683
|
+
* - `above` — a caption between the label and the control, for fields
|
|
1684
|
+
* where the description explains what to pick before you pick it
|
|
1685
|
+
* (e.g. a multi-select of capabilities). An `error` still renders below.
|
|
1686
|
+
*/
|
|
1687
|
+
descriptionPlacement?: 'above' | 'below';
|
|
1601
1688
|
/**
|
|
1602
1689
|
* DOM id for the control. If omitted, `useId()` generates one so
|
|
1603
1690
|
* `<label htmlFor>` and `aria-describedby` wire up automatically.
|
|
@@ -1633,7 +1720,7 @@ export declare function heatColor(value: number, min: number, max: number): stri
|
|
|
1633
1720
|
* Pair with `buildPeriodColumns` and `buildTotalColumn` for time-series
|
|
1634
1721
|
* data, or supply your own `ColumnDef` array for any tabular layout.
|
|
1635
1722
|
*/
|
|
1636
|
-
export declare function HeatmapTable<T>({ data, columns, pageSize, defaultSort, onRowClick, entityLabel, className, }: HeatmapTableProps<T>): JSX.Element;
|
|
1723
|
+
export declare function HeatmapTable<T>({ data, columns, pageSize, defaultSort, onRowClick, entityLabel, density, className, }: HeatmapTableProps<T>): JSX.Element;
|
|
1637
1724
|
|
|
1638
1725
|
export declare interface HeatmapTableProps<T> {
|
|
1639
1726
|
data: T[];
|
|
@@ -1643,6 +1730,8 @@ export declare interface HeatmapTableProps<T> {
|
|
|
1643
1730
|
onRowClick?: (row: T) => void;
|
|
1644
1731
|
/** Label used in pagination ("1–10 of 42 {entityLabel}") and empty state. */
|
|
1645
1732
|
entityLabel?: string;
|
|
1733
|
+
/** Tightens cell padding for dense, many-column matrices. */
|
|
1734
|
+
density?: 'default' | 'compact' | 'dense';
|
|
1646
1735
|
className?: string;
|
|
1647
1736
|
}
|
|
1648
1737
|
|
|
@@ -1652,24 +1741,6 @@ export declare const HoverCardContent: React_2.ForwardRefExoticComponent<Omit<Ho
|
|
|
1652
1741
|
|
|
1653
1742
|
export declare const HoverCardTrigger: React_2.ForwardRefExoticComponent<HoverCardPrimitive.HoverCardTriggerProps & React_2.RefAttributes<HTMLAnchorElement>>;
|
|
1654
1743
|
|
|
1655
|
-
/**
|
|
1656
|
-
* Click-to-edit date cell. Shows a custom (or default) display until clicked,
|
|
1657
|
-
* then a native date input that commits on change/blur. The closed display is a
|
|
1658
|
-
* render prop so callers can style it (e.g. a due-date heat pill).
|
|
1659
|
-
*/
|
|
1660
|
-
export declare function InlineDateCell({ value, onCommit, renderDisplay, placeholder, title, className, }: InlineDateCellProps): JSX.Element;
|
|
1661
|
-
|
|
1662
|
-
export declare interface InlineDateCellProps {
|
|
1663
|
-
/** ISO date string (YYYY-MM-DD) or null. */
|
|
1664
|
-
value: string | null;
|
|
1665
|
-
onCommit: (value: string | null) => void | Promise<void>;
|
|
1666
|
-
/** Closed-state display for the value; defaults to the raw date or a dash. */
|
|
1667
|
-
renderDisplay?: (value: string | null) => ReactNode;
|
|
1668
|
-
placeholder?: string;
|
|
1669
|
-
title?: string;
|
|
1670
|
-
className?: string;
|
|
1671
|
-
}
|
|
1672
|
-
|
|
1673
1744
|
/**
|
|
1674
1745
|
* Click-to-edit text cell. Reads as plain text until clicked, then becomes a
|
|
1675
1746
|
* borderless auto-growing textarea that commits on blur / Enter (⌘/Ctrl+Enter
|
|
@@ -1778,32 +1849,6 @@ declare type KpiTone = 'neutral' | 'warn' | 'info';
|
|
|
1778
1849
|
|
|
1779
1850
|
export declare const Label: React_2.ForwardRefExoticComponent<Omit<LabelPrimitive.LabelProps & React_2.RefAttributes<HTMLLabelElement>, "ref"> & VariantProps<(props?: ClassProp | undefined) => string> & LabelOwnProps & React_2.RefAttributes<HTMLLabelElement>>;
|
|
1780
1851
|
|
|
1781
|
-
export declare function LabeledSelect({ label, icon, value, options, onChange, ariaLabel, prefixHiddenValues, className, }: LabeledSelectProps): JSX.Element;
|
|
1782
|
-
|
|
1783
|
-
export declare interface LabeledSelectOption {
|
|
1784
|
-
value: string;
|
|
1785
|
-
label: string;
|
|
1786
|
-
}
|
|
1787
|
-
|
|
1788
|
-
export declare interface LabeledSelectProps {
|
|
1789
|
-
/** Muted prefix shown before the value, e.g. `"Group by"` / `"Sorted by"`. */
|
|
1790
|
-
label: string;
|
|
1791
|
-
/** Leading glyph (kept small + muted by the pill). */
|
|
1792
|
-
icon?: React_2.ReactNode;
|
|
1793
|
-
value: string;
|
|
1794
|
-
options: LabeledSelectOption[];
|
|
1795
|
-
onChange: (value: string) => void;
|
|
1796
|
-
/** Accessible name for the trigger. Defaults to `label`. */
|
|
1797
|
-
ariaLabel?: string;
|
|
1798
|
-
/**
|
|
1799
|
-
* Values for which the muted prefix is hidden — the pill shows just the
|
|
1800
|
-
* value. Use for "off"/"none" states where the prefix reads awkwardly
|
|
1801
|
-
* (e.g. `'none'` → "No grouping", not "Group by No grouping").
|
|
1802
|
-
*/
|
|
1803
|
-
prefixHiddenValues?: readonly string[];
|
|
1804
|
-
className?: string;
|
|
1805
|
-
}
|
|
1806
|
-
|
|
1807
1852
|
declare interface LabelOwnProps {
|
|
1808
1853
|
/**
|
|
1809
1854
|
* When true, appends a red `*` marker after the label text. Prefer this
|
|
@@ -1815,6 +1860,12 @@ declare interface LabelOwnProps {
|
|
|
1815
1860
|
required?: boolean;
|
|
1816
1861
|
}
|
|
1817
1862
|
|
|
1863
|
+
declare type LegendPayloadItem = {
|
|
1864
|
+
value?: string | number;
|
|
1865
|
+
dataKey?: string | number;
|
|
1866
|
+
color?: string;
|
|
1867
|
+
};
|
|
1868
|
+
|
|
1818
1869
|
export declare function LineSparklineCell({ values, width, height, scaleMax, color, label, className, }: LineSparklineCellProps): JSX.Element;
|
|
1819
1870
|
|
|
1820
1871
|
declare interface LineSparklineCellProps {
|
|
@@ -1844,7 +1895,7 @@ export declare interface MetricAreaChartPoint {
|
|
|
1844
1895
|
|
|
1845
1896
|
export declare interface MetricAreaChartProps {
|
|
1846
1897
|
points: MetricAreaChartPoint[];
|
|
1847
|
-
/** Stroke / fill color for the area. Defaults to
|
|
1898
|
+
/** Stroke / fill color for the area. Defaults to the semantic "positive series" token. */
|
|
1848
1899
|
color?: string;
|
|
1849
1900
|
height?: number;
|
|
1850
1901
|
/** `spark` = compact, axis-less (cards); `full` = axes + grid + tooltip. */
|
|
@@ -1921,8 +1972,8 @@ declare interface MultiSelectListProps extends MultiSelectCoreProps {
|
|
|
1921
1972
|
* - Command (cmdk) for the searchable list and keyboard nav.
|
|
1922
1973
|
* - Checkbox (Radix) for per-row selection state.
|
|
1923
1974
|
*
|
|
1924
|
-
* Visual contract for the trigger mirrors `SelectTrigger` (h-9, rounded-
|
|
1925
|
-
* border + bg-
|
|
1975
|
+
* Visual contract for the trigger mirrors `SelectTrigger` (h-9, rounded-field,
|
|
1976
|
+
* border + bg-field) so a toolbar of MultiSelect + Input + Select reads
|
|
1926
1977
|
* as one coherent control row. Active state stacks up to `maxStackedIcons`
|
|
1927
1978
|
* selected-row icons (with a generic silhouette for icon-less rows) and
|
|
1928
1979
|
* shows "{count} {countLabel}" alongside.
|
|
@@ -2013,25 +2064,30 @@ export declare interface OptimisticResourceContext<TData> {
|
|
|
2013
2064
|
}
|
|
2014
2065
|
|
|
2015
2066
|
/**
|
|
2016
|
-
*
|
|
2017
|
-
*
|
|
2018
|
-
*
|
|
2019
|
-
*
|
|
2067
|
+
* Overlay scope (DES-368) — how far an overlay's scrim and panel reach.
|
|
2068
|
+
*
|
|
2069
|
+
* "viewport" — covers the whole shell, chrome included. A modal is a
|
|
2070
|
+
* platform-level interruption: it blocks everything, so it dims
|
|
2071
|
+
* everything. This is Dialog / AlertDialog, and it is why they stay
|
|
2072
|
+
* `fixed`.
|
|
2073
|
+
*
|
|
2074
|
+
* "surface" — covers only the app it belongs to. A slide-out panel is
|
|
2075
|
+
* an extension of the current app, not an interruption of the
|
|
2076
|
+
* platform, so it must not black out the sidebar and header. This is
|
|
2077
|
+
* Sheet's default.
|
|
2078
|
+
*
|
|
2079
|
+
* Surface scope is plain `absolute` — it bounds itself against the nearest
|
|
2080
|
+
* positioned ancestor, which is each app's own root (`.atlas-shell-routes`
|
|
2081
|
+
* for most apps, `#chat-container` in Chat). No portal retargeting and no
|
|
2082
|
+
* app-surface context: overlays already portal in-tree at the app layout
|
|
2083
|
+
* root, so the app box is the containing block on offer.
|
|
2084
|
+
*
|
|
2085
|
+
* The attribute is stamped into the DOM as well as driving the classes.
|
|
2086
|
+
* It is the seam other layers key off — chat.css rebinds surface-scoped
|
|
2087
|
+
* overlays, and the artifact sandbox bridge reads it to decide whether a
|
|
2088
|
+
* scrim should elevate to the host shell.
|
|
2020
2089
|
*/
|
|
2021
|
-
|
|
2022
|
-
|
|
2023
|
-
export declare interface OptionPickerProps<T extends string> {
|
|
2024
|
-
value: T;
|
|
2025
|
-
options: PickerOption<T>[];
|
|
2026
|
-
onChange: (value: T) => void;
|
|
2027
|
-
/** Closed-state trigger content (the badge / dot shown in the row). */
|
|
2028
|
-
children: ReactNode;
|
|
2029
|
-
ariaLabel?: string;
|
|
2030
|
-
align?: 'start' | 'center' | 'end';
|
|
2031
|
-
/** Extra classes for the trigger button (e.g. padding around a small dot). */
|
|
2032
|
-
triggerClassName?: string;
|
|
2033
|
-
contentClassName?: string;
|
|
2034
|
-
}
|
|
2090
|
+
declare type OverlayScope = "viewport" | "surface";
|
|
2035
2091
|
|
|
2036
2092
|
export declare function PageSkeleton({ variant, className }: PageSkeletonProps): JSX.Element;
|
|
2037
2093
|
|
|
@@ -2042,6 +2098,28 @@ export declare interface PageSkeletonProps {
|
|
|
2042
2098
|
|
|
2043
2099
|
export declare type PageSkeletonVariant = 'default' | 'list' | 'detail' | 'dashboard';
|
|
2044
2100
|
|
|
2101
|
+
export declare function PageState({ icon, tone, title, description, actions, details, detailsLabel, size, className, align, }: PageStateProps): JSX.Element;
|
|
2102
|
+
|
|
2103
|
+
export declare interface PageStateProps {
|
|
2104
|
+
/** Tabler (or other) icon element — never an emoji. The template owns the medallion. */
|
|
2105
|
+
icon: ReactNode;
|
|
2106
|
+
tone?: PageStateTone;
|
|
2107
|
+
title: string;
|
|
2108
|
+
description?: ReactNode;
|
|
2109
|
+
/** Shared `Button`s (primary + optional secondary). */
|
|
2110
|
+
actions?: ReactNode;
|
|
2111
|
+
/** Optional disclosure body (stack trace / error digest). Uses Collapsible + Button — never a native `<button>`. */
|
|
2112
|
+
details?: ReactNode;
|
|
2113
|
+
detailsLabel?: string;
|
|
2114
|
+
size?: PageStateSize;
|
|
2115
|
+
className?: string;
|
|
2116
|
+
align?: 'start' | 'center';
|
|
2117
|
+
}
|
|
2118
|
+
|
|
2119
|
+
export declare type PageStateSize = NonNullable<VariantProps<typeof sizeShell>['size']>;
|
|
2120
|
+
|
|
2121
|
+
export declare type PageStateTone = NonNullable<VariantProps<typeof toneMedallion>['tone']>;
|
|
2122
|
+
|
|
2045
2123
|
export declare function pctChange(current: number, previous: number): number | null;
|
|
2046
2124
|
|
|
2047
2125
|
export declare function PercentCell({ value, dangerBelow, className, }: {
|
|
@@ -2050,14 +2128,6 @@ export declare function PercentCell({ value, dangerBelow, className, }: {
|
|
|
2050
2128
|
className?: string;
|
|
2051
2129
|
}): JSX.Element;
|
|
2052
2130
|
|
|
2053
|
-
export declare interface PickerOption<T extends string> {
|
|
2054
|
-
value: T;
|
|
2055
|
-
/** Optional text label; omit when the swatch already reads as the option. */
|
|
2056
|
-
label?: string;
|
|
2057
|
-
/** The option's visual — a colored badge, dot, etc. */
|
|
2058
|
-
swatch: ReactNode;
|
|
2059
|
-
}
|
|
2060
|
-
|
|
2061
2131
|
export declare const Popover: React_2.FC<PopoverPrimitive.PopoverProps>;
|
|
2062
2132
|
|
|
2063
2133
|
export declare const PopoverAnchor: React_2.ForwardRefExoticComponent<PopoverPrimitive.PopoverAnchorProps & React_2.RefAttributes<HTMLDivElement>>;
|
|
@@ -2083,8 +2153,9 @@ export declare type ProColumnDef<T> = ColumnDef<T, unknown> & {
|
|
|
2083
2153
|
};
|
|
2084
2154
|
|
|
2085
2155
|
/**
|
|
2086
|
-
*
|
|
2087
|
-
*
|
|
2156
|
+
* Table — opinionated data table for dashboard-style lists (DES-267 canonical).
|
|
2157
|
+
* Formerly `ProDataTable`; that name remains as a temporary alias (DES-262).
|
|
2158
|
+
* Layered on the shadcn `TablePrimitive` parts for richer chrome:
|
|
2088
2159
|
* - toolbar slot (search + filters + extras) above the header row
|
|
2089
2160
|
* - uppercase, compact header cells with sort arrows (stateful)
|
|
2090
2161
|
* - sticky-left columns for "name" identity (horizontal-scroll safe)
|
|
@@ -2256,8 +2327,6 @@ declare interface ProColumnMetaSticky extends ProColumnMetaBase {
|
|
|
2256
2327
|
grow?: never;
|
|
2257
2328
|
}
|
|
2258
2329
|
|
|
2259
|
-
export declare function ProDataTable<T>({ columns, data, searchable, filters, toolbar, actions, footer, pageSize, disablePagination, resizableColumns, columnSizingStorageKey, defaultSort, manualPagination, rowCount, pageIndex, onPageChange, manualSorting, sorting: controlledSorting, onSortingChange, manualFiltering, columnFilters: controlledColumnFilters, onColumnFiltersChange, loading, emptyMessage, onRowClick, rowHref, rowClassName, minWidth, height, bordered, variant, ariaLabel, className, }: ProDataTableProps<T>): JSX.Element;
|
|
2260
|
-
|
|
2261
2330
|
/**
|
|
2262
2331
|
* Native segmented filter for the toolbar (e.g. All / Groups / People). The
|
|
2263
2332
|
* table renders the pills; the caller owns the active value and the actual
|
|
@@ -2295,6 +2364,40 @@ declare interface ProDataTablePaginationProps<T> {
|
|
|
2295
2364
|
declare interface ProDataTableProps<T> {
|
|
2296
2365
|
columns: ProColumnDef<T>[];
|
|
2297
2366
|
data: T[];
|
|
2367
|
+
/**
|
|
2368
|
+
* Render a leading, left-pinned selection checkbox column (with a select-all
|
|
2369
|
+
* header), backed by TanStack's row-selection model. The table owns the
|
|
2370
|
+
* column and the state — pass `getRowId` for stable keys and read the result
|
|
2371
|
+
* via `onSelectionChange`, or drive it with `selectedRowIds`. Prefer this
|
|
2372
|
+
* over hand-rolling a checkbox column + selection `Set`.
|
|
2373
|
+
*/
|
|
2374
|
+
selectable?: boolean;
|
|
2375
|
+
/**
|
|
2376
|
+
* Stable id per row. Strongly recommended with `selectable` — without it
|
|
2377
|
+
* selection is keyed by row index and won't survive sort/filter/paging.
|
|
2378
|
+
*/
|
|
2379
|
+
getRowId?: (row: T) => string;
|
|
2380
|
+
/** Controlled selection (row ids). Omit for uncontrolled; read via `onSelectionChange`. */
|
|
2381
|
+
selectedRowIds?: string[];
|
|
2382
|
+
/** Called with the selected row ids whenever selection changes. */
|
|
2383
|
+
onSelectionChange?: (ids: string[]) => void;
|
|
2384
|
+
/** Gate which rows can be selected. Defaults to all rows selectable. */
|
|
2385
|
+
enableRowSelection?: (row: T) => boolean;
|
|
2386
|
+
/**
|
|
2387
|
+
* Render a trailing, right-pinned overflow (⋯) menu, resolved per row. Return
|
|
2388
|
+
* the actions for that row — an empty array (or all `hidden`) renders no
|
|
2389
|
+
* button. Destructive actions automatically drop below a divider. Prefer this
|
|
2390
|
+
* over hand-rolling an end-of-row action button + `DropdownMenu`.
|
|
2391
|
+
*/
|
|
2392
|
+
rowActions?: (row: T) => RowAction[];
|
|
2393
|
+
/**
|
|
2394
|
+
* Human-readable per-row label for accessibility. When set, the injected
|
|
2395
|
+
* selection checkbox and row-actions (⋯) trigger get row-specific aria-labels
|
|
2396
|
+
* ("Select <label>" / "Actions for <label>") instead of generic repeated ones,
|
|
2397
|
+
* so screen-reader users can tell which record they're acting on. Recommended
|
|
2398
|
+
* whenever `selectable` or `rowActions` is used.
|
|
2399
|
+
*/
|
|
2400
|
+
getRowLabel?: (row: T) => string;
|
|
2298
2401
|
/**
|
|
2299
2402
|
* Enable a client-side search input in the table header. Filters rows by
|
|
2300
2403
|
* concatenating every cell's accessor value (default) or via a custom
|
|
@@ -2423,7 +2526,7 @@ declare interface ProDataTableProps<T> {
|
|
|
2423
2526
|
bordered?: boolean;
|
|
2424
2527
|
/**
|
|
2425
2528
|
* `table` (default) renders column headers (sortable). `list` hides the
|
|
2426
|
-
* header row for a clean borderless list — rows still carry the `
|
|
2529
|
+
* header row for a clean borderless list — rows still carry the `border`
|
|
2427
2530
|
* inset dividers. Use for identity lists (people / groups) where column
|
|
2428
2531
|
* labels are noise. Sorting via header click isn't available in `list`;
|
|
2429
2532
|
* pass `defaultSort` for a fixed order.
|
|
@@ -2431,6 +2534,11 @@ declare interface ProDataTableProps<T> {
|
|
|
2431
2534
|
variant?: 'table' | 'list';
|
|
2432
2535
|
/** Shown when the table is selected in a multi-table shell (optional). */
|
|
2433
2536
|
ariaLabel?: string;
|
|
2537
|
+
/**
|
|
2538
|
+
* Layout only (`h-auto`, `flex-none`, width). Card fill (`bg-card`) and
|
|
2539
|
+
* toolbar/header chrome colors/sizes are owned by the component — do not
|
|
2540
|
+
* pass `bg-*` here expecting it to restyle the table surface.
|
|
2541
|
+
*/
|
|
2434
2542
|
className?: string;
|
|
2435
2543
|
}
|
|
2436
2544
|
|
|
@@ -2452,13 +2560,30 @@ declare interface ProDataTableSearchable<T> {
|
|
|
2452
2560
|
/**
|
|
2453
2561
|
* Controlled (server-side) search. When `onChange` is provided the table
|
|
2454
2562
|
* stops filtering client-side and hands the debounced query to the parent,
|
|
2455
|
-
* which refetches — pair with `manualPagination`.
|
|
2456
|
-
*
|
|
2457
|
-
*
|
|
2563
|
+
* which refetches — pair with `manualPagination`. Omit both for the default
|
|
2564
|
+
* client-side filter over the loaded `data`.
|
|
2565
|
+
*
|
|
2566
|
+
* Once `value` is provided it is the source of truth for the input:
|
|
2567
|
+
* keystrokes show instantly, but as soon as the debounce emits, the field
|
|
2568
|
+
* renders `value` again. So rejecting or rewriting the query in `onChange` is
|
|
2569
|
+
* reflected in the box rather than leaving a stale private copy behind, and a
|
|
2570
|
+
* `value` the parent changes on its own cancels any unsent keystroke.
|
|
2571
|
+
*
|
|
2572
|
+
* Set your state to the emitted value synchronously inside `onChange` — the
|
|
2573
|
+
* normal controlled-input contract. A `value` that only catches up after a
|
|
2574
|
+
* round-trip leaves the field showing the pre-emit query until it does, and
|
|
2575
|
+
* anything typed while that update is in flight is dropped when it lands.
|
|
2458
2576
|
*/
|
|
2459
2577
|
value?: string;
|
|
2460
2578
|
onChange?: (value: string) => void;
|
|
2461
|
-
/**
|
|
2579
|
+
/**
|
|
2580
|
+
* Debounce before a controlled `onChange` fires, in ms. Default 300.
|
|
2581
|
+
*
|
|
2582
|
+
* `0` (or negative) means no debounce at all — `onChange` fires inline on the
|
|
2583
|
+
* keystroke, with no timer. Use it for search that filters rows already in
|
|
2584
|
+
* memory: a debounce only adds keystroke lag there, and emitting inline also
|
|
2585
|
+
* means the field is never showing a query the parent has not been handed.
|
|
2586
|
+
*/
|
|
2462
2587
|
debounceMs?: number;
|
|
2463
2588
|
}
|
|
2464
2589
|
|
|
@@ -2487,51 +2612,33 @@ declare interface ProgressBarProps {
|
|
|
2487
2612
|
className?: string;
|
|
2488
2613
|
}
|
|
2489
2614
|
|
|
2490
|
-
export declare function ProgressCard({ title, description, total, counts, assignees, footer, onClick, locked, className, }: ProgressCardProps): JSX.Element;
|
|
2491
|
-
|
|
2492
|
-
export declare interface ProgressCardAssignee {
|
|
2493
|
-
id: string;
|
|
2494
|
-
displayName: string;
|
|
2495
|
-
avatarUrl?: string;
|
|
2496
|
-
}
|
|
2497
|
-
|
|
2498
|
-
export declare interface ProgressCardCounts {
|
|
2499
|
-
todo: number;
|
|
2500
|
-
pending: number;
|
|
2501
|
-
done: number;
|
|
2502
|
-
}
|
|
2503
|
-
|
|
2504
|
-
export declare interface ProgressCardProps {
|
|
2505
|
-
title: string;
|
|
2506
|
-
description?: string;
|
|
2507
|
-
total: number;
|
|
2508
|
-
counts: ProgressCardCounts;
|
|
2509
|
-
assignees?: ProgressCardAssignee[];
|
|
2510
|
-
footer?: React_2.ReactNode;
|
|
2511
|
-
onClick?: () => void;
|
|
2512
|
-
locked?: boolean;
|
|
2513
|
-
className?: string;
|
|
2514
|
-
}
|
|
2515
|
-
|
|
2516
2615
|
/**
|
|
2517
|
-
*
|
|
2518
|
-
*
|
|
2519
|
-
*
|
|
2520
|
-
* the
|
|
2616
|
+
* Radio group — sibling of `checkbox.tsx`, sized + tokened to match.
|
|
2617
|
+
*
|
|
2618
|
+
* - 16×16 (`size-4`) so the controls align next to the same line-height
|
|
2619
|
+
* body text the existing Checkbox does.
|
|
2620
|
+
* - `rounded-full` (radios are circles).
|
|
2621
|
+
* - `border-input` when unchecked; flips to `border-primary` when checked
|
|
2622
|
+
* so the outline blends with the fill, same pattern as `checkbox.tsx`.
|
|
2623
|
+
* - Inner dot is a `RadioGroupPrimitive.Indicator` filled `bg-primary`,
|
|
2624
|
+
* sized to leave a 3px gap to the outer ring — the canonical shadcn
|
|
2625
|
+
* radio look.
|
|
2626
|
+
* - No drop shadow; matches Input/Select/Button/Checkbox primitives.
|
|
2627
|
+
*
|
|
2628
|
+
* Usage:
|
|
2629
|
+
*
|
|
2630
|
+
* <RadioGroup value={selected} onValueChange={setSelected}>
|
|
2631
|
+
* <RadioGroupItem value="a" id="a" />
|
|
2632
|
+
* <Label htmlFor="a">Option A</Label>
|
|
2633
|
+
* ...
|
|
2634
|
+
* </RadioGroup>
|
|
2635
|
+
*
|
|
2636
|
+
* Each item must have a stable `value` — that's what Radix uses for the
|
|
2637
|
+
* controlled group state.
|
|
2521
2638
|
*/
|
|
2522
|
-
export declare
|
|
2639
|
+
export declare const RadioGroup: React_2.ForwardRefExoticComponent<Omit<RadioGroupPrimitive.RadioGroupProps & React_2.RefAttributes<HTMLDivElement>, "ref"> & React_2.RefAttributes<HTMLDivElement>>;
|
|
2523
2640
|
|
|
2524
|
-
export declare
|
|
2525
|
-
/** Manually trigger a refresh. */
|
|
2526
|
-
onRefresh: () => void;
|
|
2527
|
-
/** A background refresh is in flight — shows a subtle pulse. */
|
|
2528
|
-
isFetching?: boolean;
|
|
2529
|
-
/** Auto-refresh is paused (e.g. while editing) — shows a muted dot. */
|
|
2530
|
-
isPaused?: boolean;
|
|
2531
|
-
/** Last successful refresh time (ms epoch) — surfaced in the tooltip only. */
|
|
2532
|
-
updatedAt?: number;
|
|
2533
|
-
className?: string;
|
|
2534
|
-
}
|
|
2641
|
+
export declare const RadioGroupItem: React_2.ForwardRefExoticComponent<Omit<RadioGroupPrimitive.RadioGroupItemProps & React_2.RefAttributes<HTMLButtonElement>, "ref"> & React_2.RefAttributes<HTMLButtonElement>>;
|
|
2535
2642
|
|
|
2536
2643
|
export declare function RelativeTimeCell({ primary, secondary, className, }: {
|
|
2537
2644
|
primary: React_2.ReactNode;
|
|
@@ -2560,6 +2667,23 @@ export declare interface RouteLoadingProps {
|
|
|
2560
2667
|
|
|
2561
2668
|
export { Row }
|
|
2562
2669
|
|
|
2670
|
+
/**
|
|
2671
|
+
* A single entry in a row's overflow (⋯) menu. The consumer resolves these
|
|
2672
|
+
* per-row via `rowActions`, so `onSelect` closes over the row itself — no row
|
|
2673
|
+
* argument needed here.
|
|
2674
|
+
*/
|
|
2675
|
+
declare interface RowAction {
|
|
2676
|
+
label: React_2.ReactNode;
|
|
2677
|
+
onSelect: () => void;
|
|
2678
|
+
/** Optional leading icon (e.g. `<IconPencil />`). */
|
|
2679
|
+
icon?: React_2.ReactNode;
|
|
2680
|
+
/** Render below a divider with destructive styling (Delete, Remove, …). */
|
|
2681
|
+
destructive?: boolean;
|
|
2682
|
+
disabled?: boolean;
|
|
2683
|
+
/** Omit this action for this row entirely. */
|
|
2684
|
+
hidden?: boolean;
|
|
2685
|
+
}
|
|
2686
|
+
|
|
2563
2687
|
export declare function scoreBand(value: number): 'green' | 'amber' | 'red';
|
|
2564
2688
|
|
|
2565
2689
|
export declare function ScoreBarCell({ value, className, }: {
|
|
@@ -2691,6 +2815,20 @@ export declare const SheetContent: React_2.ForwardRefExoticComponent<SheetConten
|
|
|
2691
2815
|
|
|
2692
2816
|
declare interface SheetContentProps extends React_2.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>, VariantProps<typeof sheetVariants> {
|
|
2693
2817
|
hideCloseButton?: boolean;
|
|
2818
|
+
/**
|
|
2819
|
+
* How far the panel and its scrim reach. Defaults to `"surface"` — a
|
|
2820
|
+
* slide-out belongs to the app that opened it and should leave the
|
|
2821
|
+
* shell's sidebar and header reachable and undimmed.
|
|
2822
|
+
*
|
|
2823
|
+
* Use `"viewport"` only for a panel that genuinely speaks for the
|
|
2824
|
+
* platform rather than the current app (a shell-level nav drawer, say).
|
|
2825
|
+
* If you are reaching for it to escape a clipping ancestor, fix the
|
|
2826
|
+
* ancestor instead — covering the whole shell to dodge `overflow:hidden`
|
|
2827
|
+
* is the bug DES-368 was filed about.
|
|
2828
|
+
*/
|
|
2829
|
+
scope?: OverlayScope;
|
|
2830
|
+
/** Classes for the scrim, mirroring `DialogContent`'s `overlayClassName`. */
|
|
2831
|
+
overlayClassName?: string;
|
|
2694
2832
|
}
|
|
2695
2833
|
|
|
2696
2834
|
export declare const SheetDescription: React_2.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogDescriptionProps & React_2.RefAttributes<HTMLParagraphElement>, "ref"> & React_2.RefAttributes<HTMLParagraphElement>>;
|
|
@@ -2705,7 +2843,9 @@ export declare const SheetHeader: {
|
|
|
2705
2843
|
displayName: string;
|
|
2706
2844
|
};
|
|
2707
2845
|
|
|
2708
|
-
export declare const SheetOverlay: React_2.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogOverlayProps & React_2.RefAttributes<HTMLDivElement>, "ref"> &
|
|
2846
|
+
export declare const SheetOverlay: React_2.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogOverlayProps & React_2.RefAttributes<HTMLDivElement>, "ref"> & {
|
|
2847
|
+
scope?: OverlayScope;
|
|
2848
|
+
} & React_2.RefAttributes<HTMLDivElement>>;
|
|
2709
2849
|
|
|
2710
2850
|
export declare function SheetPortal({ container, ...props }: React_2.ComponentProps<typeof DialogPrimitive.Portal>): JSX.Element;
|
|
2711
2851
|
|
|
@@ -2714,7 +2854,8 @@ export declare const SheetTitle: React_2.ForwardRefExoticComponent<Omit<DialogPr
|
|
|
2714
2854
|
export declare const SheetTrigger: React_2.ForwardRefExoticComponent<DialogPrimitive.DialogTriggerProps & React_2.RefAttributes<HTMLButtonElement>>;
|
|
2715
2855
|
|
|
2716
2856
|
declare const sheetVariants: (props?: ({
|
|
2717
|
-
|
|
2857
|
+
scope?: "surface" | "viewport" | null | undefined;
|
|
2858
|
+
side?: "bottom" | "left" | "right" | "top" | null | undefined;
|
|
2718
2859
|
} & ClassProp) | undefined) => string;
|
|
2719
2860
|
|
|
2720
2861
|
/**
|
|
@@ -2727,78 +2868,6 @@ export declare function showFieldInline({ show, hasValue, }: {
|
|
|
2727
2868
|
hasValue: boolean;
|
|
2728
2869
|
}): boolean;
|
|
2729
2870
|
|
|
2730
|
-
/**
|
|
2731
|
-
* SidebarNav — shared primitives for app-sidebar navigation.
|
|
2732
|
-
*
|
|
2733
|
-
* Two levels:
|
|
2734
|
-
* - `SidebarNavItem` — the top-level row with icon + label (app entry)
|
|
2735
|
-
* - `SidebarNavSubList` — the indented, rail-connected secondary nav
|
|
2736
|
-
* rendered directly beneath a parent SidebarNavItem
|
|
2737
|
-
*
|
|
2738
|
-
* The pattern mirrors what Atlas's shell sidebar has been rendering
|
|
2739
|
-
* inline for a long time, but extracted here so every consumer
|
|
2740
|
-
* (Atlas, embedded MFEs, the design system gallery) gets the same
|
|
2741
|
-
* visual treatment and spacing rules for free.
|
|
2742
|
-
*
|
|
2743
|
-
* Spacing contract
|
|
2744
|
-
* ----------------
|
|
2745
|
-
* Parent item label x-position = `itemPaddingX + iconSize + iconGap`.
|
|
2746
|
-
* The sub-list is designed so its labels land at the SAME x-position
|
|
2747
|
-
* by default — with defaults of `itemPaddingX=8`, `iconSize=24`,
|
|
2748
|
-
* `iconGap=12` the sub-list labels indent by 44px. A rail sits at the
|
|
2749
|
-
* horizontal center of the parent icon (x = 8 + 24/2 = 20).
|
|
2750
|
-
*
|
|
2751
|
-
* If a consumer uses a different parent item geometry, pass
|
|
2752
|
-
* `labelIndent` / `railIndent` to match.
|
|
2753
|
-
*/
|
|
2754
|
-
export declare interface SidebarNavSubItem {
|
|
2755
|
-
id: string;
|
|
2756
|
-
label: string;
|
|
2757
|
-
/** Link href. Omit when using `onSelect` with a custom navigator. */
|
|
2758
|
-
href?: string;
|
|
2759
|
-
/** True for the currently-selected item — gets weight + color emphasis. */
|
|
2760
|
-
active?: boolean;
|
|
2761
|
-
/** Optional tail counter (e.g., "12"). Rendered right-aligned. */
|
|
2762
|
-
count?: number | string;
|
|
2763
|
-
/** Optional uppercase chip (e.g., "NEW", "BETA"). Rendered right-aligned. */
|
|
2764
|
-
tag?: string;
|
|
2765
|
-
/**
|
|
2766
|
-
* Render as visible but non-interactive. Use for placeholder items that
|
|
2767
|
-
* will become clickable later (feature gating, coming-soon, etc.).
|
|
2768
|
-
*/
|
|
2769
|
-
parked?: boolean;
|
|
2770
|
-
}
|
|
2771
|
-
|
|
2772
|
-
/**
|
|
2773
|
-
* Indented secondary navigation with a vertical connector rail. Renders
|
|
2774
|
-
* nothing when `items` is empty.
|
|
2775
|
-
*/
|
|
2776
|
-
export declare function SidebarNavSubList({ items, onSelect, labelIndent, railIndent, className, ariaLabel, }: SidebarNavSubListProps): JSX.Element | null;
|
|
2777
|
-
|
|
2778
|
-
export declare interface SidebarNavSubListProps {
|
|
2779
|
-
items: SidebarNavSubItem[];
|
|
2780
|
-
/**
|
|
2781
|
-
* Called when the user activates an item (click, keyboard enter).
|
|
2782
|
-
* Use this to route with your SPA router; if omitted, the `<a href>`
|
|
2783
|
-
* does a full navigation. Parked items never fire this.
|
|
2784
|
-
*/
|
|
2785
|
-
onSelect?: (item: SidebarNavSubItem, event: React_2.MouseEvent<HTMLAnchorElement>) => void;
|
|
2786
|
-
/**
|
|
2787
|
-
* Horizontal distance (px) from the list's left edge at which item
|
|
2788
|
-
* labels begin. Should equal the parent item's label x-position so
|
|
2789
|
-
* the two stacks visually line up. Default 44.
|
|
2790
|
-
*/
|
|
2791
|
-
labelIndent?: number;
|
|
2792
|
-
/**
|
|
2793
|
-
* X-position (px) of the vertical connector rail. Usually the center
|
|
2794
|
-
* of the parent item's icon. Default 20.
|
|
2795
|
-
*/
|
|
2796
|
-
railIndent?: number;
|
|
2797
|
-
className?: string;
|
|
2798
|
-
/** Accessible name for the list (e.g., "Agent Builder pages"). */
|
|
2799
|
-
ariaLabel?: string;
|
|
2800
|
-
}
|
|
2801
|
-
|
|
2802
2871
|
/**
|
|
2803
2872
|
* SingleSelectList — the single-select sibling of `MultiSelectList`. Same
|
|
2804
2873
|
* searchable cmdk body, pinned grouping, and icon column, but rows carry a
|
|
@@ -2837,6 +2906,10 @@ declare interface SingleSelectListProps {
|
|
|
2837
2906
|
searchable?: boolean;
|
|
2838
2907
|
}
|
|
2839
2908
|
|
|
2909
|
+
declare const sizeShell: (props?: ({
|
|
2910
|
+
size?: "page" | "panel" | null | undefined;
|
|
2911
|
+
} & ClassProp) | undefined) => string;
|
|
2912
|
+
|
|
2840
2913
|
export declare function Skeleton({ className, ...props }: React.ComponentProps<'div'>): JSX.Element;
|
|
2841
2914
|
|
|
2842
2915
|
export declare function SkeletonBlock({ className, style }: {
|
|
@@ -2876,74 +2949,74 @@ export declare const spinnerVariants: (props?: ({
|
|
|
2876
2949
|
|
|
2877
2950
|
export declare const STATUS_TONES: {
|
|
2878
2951
|
readonly healthy: {
|
|
2879
|
-
readonly bg: "bg-
|
|
2880
|
-
readonly fg: "text-
|
|
2881
|
-
readonly dot: "bg-
|
|
2952
|
+
readonly bg: "bg-success-tint";
|
|
2953
|
+
readonly fg: "text-success-text";
|
|
2954
|
+
readonly dot: "bg-success";
|
|
2882
2955
|
};
|
|
2883
2956
|
readonly active: {
|
|
2884
|
-
readonly bg: "bg-
|
|
2885
|
-
readonly fg: "text-
|
|
2886
|
-
readonly dot: "bg-
|
|
2957
|
+
readonly bg: "bg-success-tint";
|
|
2958
|
+
readonly fg: "text-success-text";
|
|
2959
|
+
readonly dot: "bg-success";
|
|
2887
2960
|
};
|
|
2888
2961
|
readonly completed: {
|
|
2889
|
-
readonly bg: "bg-
|
|
2890
|
-
readonly fg: "text-
|
|
2891
|
-
readonly dot: "bg-
|
|
2962
|
+
readonly bg: "bg-success-tint";
|
|
2963
|
+
readonly fg: "text-success-text";
|
|
2964
|
+
readonly dot: "bg-success";
|
|
2892
2965
|
};
|
|
2893
2966
|
readonly success: {
|
|
2894
|
-
readonly bg: "bg-
|
|
2895
|
-
readonly fg: "text-
|
|
2896
|
-
readonly dot: "bg-
|
|
2967
|
+
readonly bg: "bg-success-tint";
|
|
2968
|
+
readonly fg: "text-success-text";
|
|
2969
|
+
readonly dot: "bg-success";
|
|
2897
2970
|
};
|
|
2898
2971
|
readonly running: {
|
|
2899
|
-
readonly bg: "bg-
|
|
2900
|
-
readonly fg: "text-
|
|
2901
|
-
readonly dot: "bg-
|
|
2972
|
+
readonly bg: "bg-info-tint";
|
|
2973
|
+
readonly fg: "text-info-text";
|
|
2974
|
+
readonly dot: "bg-info";
|
|
2902
2975
|
};
|
|
2903
2976
|
readonly info: {
|
|
2904
|
-
readonly bg: "bg-
|
|
2905
|
-
readonly fg: "text-
|
|
2906
|
-
readonly dot: "bg-
|
|
2977
|
+
readonly bg: "bg-info-tint";
|
|
2978
|
+
readonly fg: "text-info-text";
|
|
2979
|
+
readonly dot: "bg-info";
|
|
2907
2980
|
};
|
|
2908
2981
|
readonly queued: {
|
|
2909
|
-
readonly bg: "bg-
|
|
2910
|
-
readonly fg: "text-
|
|
2911
|
-
readonly dot: "bg-
|
|
2982
|
+
readonly bg: "bg-info-tint";
|
|
2983
|
+
readonly fg: "text-info-text";
|
|
2984
|
+
readonly dot: "bg-info";
|
|
2912
2985
|
};
|
|
2913
2986
|
readonly drift: {
|
|
2914
|
-
readonly bg: "bg-
|
|
2915
|
-
readonly fg: "text-
|
|
2916
|
-
readonly dot: "bg-
|
|
2987
|
+
readonly bg: "bg-warning-tint";
|
|
2988
|
+
readonly fg: "text-warning-text";
|
|
2989
|
+
readonly dot: "bg-warning";
|
|
2917
2990
|
};
|
|
2918
2991
|
readonly warn: {
|
|
2919
|
-
readonly bg: "bg-
|
|
2920
|
-
readonly fg: "text-
|
|
2921
|
-
readonly dot: "bg-
|
|
2992
|
+
readonly bg: "bg-warning-tint";
|
|
2993
|
+
readonly fg: "text-warning-text";
|
|
2994
|
+
readonly dot: "bg-warning";
|
|
2922
2995
|
};
|
|
2923
2996
|
readonly failing: {
|
|
2924
|
-
readonly bg: "bg-
|
|
2925
|
-
readonly fg: "text-
|
|
2926
|
-
readonly dot: "bg-
|
|
2997
|
+
readonly bg: "bg-danger-tint";
|
|
2998
|
+
readonly fg: "text-danger-text";
|
|
2999
|
+
readonly dot: "bg-danger";
|
|
2927
3000
|
};
|
|
2928
3001
|
readonly failed: {
|
|
2929
|
-
readonly bg: "bg-
|
|
2930
|
-
readonly fg: "text-
|
|
2931
|
-
readonly dot: "bg-
|
|
3002
|
+
readonly bg: "bg-danger-tint";
|
|
3003
|
+
readonly fg: "text-danger-text";
|
|
3004
|
+
readonly dot: "bg-danger";
|
|
2932
3005
|
};
|
|
2933
3006
|
readonly error: {
|
|
2934
|
-
readonly bg: "bg-
|
|
2935
|
-
readonly fg: "text-
|
|
2936
|
-
readonly dot: "bg-
|
|
3007
|
+
readonly bg: "bg-danger-tint";
|
|
3008
|
+
readonly fg: "text-danger-text";
|
|
3009
|
+
readonly dot: "bg-danger";
|
|
2937
3010
|
};
|
|
2938
3011
|
readonly paused: {
|
|
2939
|
-
readonly bg: "bg-
|
|
2940
|
-
readonly fg: "text-
|
|
2941
|
-
readonly dot: "bg-
|
|
3012
|
+
readonly bg: "bg-muted";
|
|
3013
|
+
readonly fg: "text-muted-foreground";
|
|
3014
|
+
readonly dot: "bg-muted-foreground";
|
|
2942
3015
|
};
|
|
2943
3016
|
readonly neutral: {
|
|
2944
|
-
readonly bg: "bg-
|
|
2945
|
-
readonly fg: "text-
|
|
2946
|
-
readonly dot: "bg-
|
|
3017
|
+
readonly bg: "bg-muted";
|
|
3018
|
+
readonly fg: "text-muted-foreground";
|
|
3019
|
+
readonly dot: "bg-muted-foreground";
|
|
2947
3020
|
};
|
|
2948
3021
|
};
|
|
2949
3022
|
|
|
@@ -2976,7 +3049,10 @@ export declare type StatusTone = keyof typeof STATUS_TONES;
|
|
|
2976
3049
|
*/
|
|
2977
3050
|
export declare const Switch: React_2.ForwardRefExoticComponent<Omit<SwitchPrimitives.SwitchProps & React_2.RefAttributes<HTMLButtonElement>, "ref"> & React_2.RefAttributes<HTMLButtonElement>>;
|
|
2978
3051
|
|
|
2979
|
-
|
|
3052
|
+
declare function Table<T>({ columns, data, selectable, getRowId, selectedRowIds, onSelectionChange, enableRowSelection, rowActions, getRowLabel, searchable, filters, toolbar, actions, footer, pageSize, disablePagination, resizableColumns, columnSizingStorageKey, defaultSort, manualPagination, rowCount, pageIndex, onPageChange, manualSorting, sorting: controlledSorting, onSortingChange, manualFiltering, columnFilters: controlledColumnFilters, onColumnFiltersChange, loading, emptyMessage, onRowClick, rowHref, rowClassName, minWidth, height, bordered, variant, ariaLabel, className, }: ProDataTableProps<T>): JSX.Element;
|
|
3053
|
+
export { Table as DataTable }
|
|
3054
|
+
export { Table as ProDataTable }
|
|
3055
|
+
export { Table }
|
|
2980
3056
|
|
|
2981
3057
|
export declare const TableBody: React_2.ForwardRefExoticComponent<React_2.HTMLAttributes<HTMLTableSectionElement> & React_2.RefAttributes<HTMLTableSectionElement>>;
|
|
2982
3058
|
|
|
@@ -2990,15 +3066,18 @@ export declare const TableHead: React_2.ForwardRefExoticComponent<React_2.ThHTML
|
|
|
2990
3066
|
|
|
2991
3067
|
export declare const TableHeader: React_2.ForwardRefExoticComponent<React_2.HTMLAttributes<HTMLTableSectionElement> & React_2.RefAttributes<HTMLTableSectionElement>>;
|
|
2992
3068
|
|
|
2993
|
-
export declare const
|
|
2994
|
-
|
|
2995
|
-
|
|
3069
|
+
export declare const TablePrimitive: {
|
|
3070
|
+
Root: React_2.ForwardRefExoticComponent<React_2.HTMLAttributes<HTMLTableElement> & React_2.RefAttributes<HTMLTableElement>>;
|
|
3071
|
+
Header: React_2.ForwardRefExoticComponent<React_2.HTMLAttributes<HTMLTableSectionElement> & React_2.RefAttributes<HTMLTableSectionElement>>;
|
|
3072
|
+
Body: React_2.ForwardRefExoticComponent<React_2.HTMLAttributes<HTMLTableSectionElement> & React_2.RefAttributes<HTMLTableSectionElement>>;
|
|
3073
|
+
Footer: React_2.ForwardRefExoticComponent<React_2.HTMLAttributes<HTMLTableSectionElement> & React_2.RefAttributes<HTMLTableSectionElement>>;
|
|
3074
|
+
Head: React_2.ForwardRefExoticComponent<React_2.ThHTMLAttributes<HTMLTableCellElement> & React_2.RefAttributes<HTMLTableCellElement>>;
|
|
3075
|
+
Row: React_2.ForwardRefExoticComponent<React_2.HTMLAttributes<HTMLTableRowElement> & React_2.RefAttributes<HTMLTableRowElement>>;
|
|
3076
|
+
Cell: React_2.ForwardRefExoticComponent<React_2.TdHTMLAttributes<HTMLTableCellElement> & React_2.RefAttributes<HTMLTableCellElement>>;
|
|
3077
|
+
Caption: React_2.ForwardRefExoticComponent<React_2.HTMLAttributes<HTMLTableCaptionElement> & React_2.RefAttributes<HTMLTableCaptionElement>>;
|
|
3078
|
+
};
|
|
2996
3079
|
|
|
2997
|
-
declare
|
|
2998
|
-
children: ReactNode;
|
|
2999
|
-
maxWidth?: 'md' | 'lg' | 'xl' | '2xl' | '4xl' | '6xl' | '7xl' | 'full';
|
|
3000
|
-
className?: string;
|
|
3001
|
-
}
|
|
3080
|
+
export declare const TableRow: React_2.ForwardRefExoticComponent<React_2.HTMLAttributes<HTMLTableRowElement> & React_2.RefAttributes<HTMLTableRowElement>>;
|
|
3002
3081
|
|
|
3003
3082
|
export declare const Tabs: React_2.ForwardRefExoticComponent<TabsPrimitive.TabsProps & React_2.RefAttributes<HTMLDivElement>>;
|
|
3004
3083
|
|
|
@@ -3493,6 +3572,22 @@ declare interface TextareaOwnProps {
|
|
|
3493
3572
|
|
|
3494
3573
|
export declare type TextareaProps = React_2.ComponentProps<"textarea"> & TextareaOwnProps;
|
|
3495
3574
|
|
|
3575
|
+
/**
|
|
3576
|
+
* shadcn/ui chart primitive (recharts-based).
|
|
3577
|
+
*
|
|
3578
|
+
* Provides a themeable container + tooltip/legend chrome so charts across
|
|
3579
|
+
* Atlas share one styling contract instead of each app hand-rolling recharts
|
|
3580
|
+
* markup. New charts should compose `ChartContainer` + a `ChartConfig` and let
|
|
3581
|
+
* this primitive resolve colors from the `--chart-*` design tokens.
|
|
3582
|
+
*
|
|
3583
|
+
* Jarvis is migrating its bespoke recharts usage onto this primitive — prefer
|
|
3584
|
+
* it over importing recharts directly in new code.
|
|
3585
|
+
*/
|
|
3586
|
+
declare const THEMES: {
|
|
3587
|
+
readonly light: "";
|
|
3588
|
+
readonly dark: ".dark";
|
|
3589
|
+
};
|
|
3590
|
+
|
|
3496
3591
|
export declare function tintForString(seed: string): AgentTint;
|
|
3497
3592
|
|
|
3498
3593
|
export { toast }
|
|
@@ -3514,7 +3609,7 @@ export { toast }
|
|
|
3514
3609
|
* the same without re-specifying options at the call site.
|
|
3515
3610
|
* 2. Binds Sonner's internal classes to Atlas design tokens via
|
|
3516
3611
|
* `toastOptions.classNames` — `bg-card`, `border-border`,
|
|
3517
|
-
* `shadow-
|
|
3612
|
+
* `shadow-popover`, `rounded-surface`, and the `--destructive` /
|
|
3518
3613
|
* `--primary` / `--muted` pairs. Matches Dialog / Popover /
|
|
3519
3614
|
* DropdownMenu so all floating UI reads as one visual family.
|
|
3520
3615
|
* 3. Uses `richColors` for the semantic variants
|
|
@@ -3568,6 +3663,21 @@ export declare const toggleVariants: (props?: ({
|
|
|
3568
3663
|
size?: "default" | "sm" | "lg" | null | undefined;
|
|
3569
3664
|
} & ClassProp) | undefined) => string;
|
|
3570
3665
|
|
|
3666
|
+
/**
|
|
3667
|
+
* Full-surface utility layout for "instead of content" screens — 404, access
|
|
3668
|
+
* denied, page error, empty route. Distinct from {@link EmptyState} in
|
|
3669
|
+
* `loading-state.tsx`, which is the small inline placeholder for tables and
|
|
3670
|
+
* section panels. Reach for `PageState` when the whole content area (or a
|
|
3671
|
+
* bounded panel) is the message; reach for `EmptyState` when a table/list
|
|
3672
|
+
* inside an otherwise-loaded page has no rows.
|
|
3673
|
+
*
|
|
3674
|
+
* Tone → status-role mapping lives **once** here. Call sites pass a Tabler
|
|
3675
|
+
* glyph via `icon` and never write medallion colors themselves.
|
|
3676
|
+
*/
|
|
3677
|
+
declare const toneMedallion: (props?: ({
|
|
3678
|
+
tone?: "neutral" | "warning" | "danger" | "restricted" | null | undefined;
|
|
3679
|
+
} & ClassProp) | undefined) => string;
|
|
3680
|
+
|
|
3571
3681
|
export declare const Tooltip: React_2.FC<TooltipPrimitive.TooltipProps>;
|
|
3572
3682
|
|
|
3573
3683
|
/**
|
|
@@ -3602,6 +3712,15 @@ export declare const TooltipContent: React_2.ForwardRefExoticComponent<Omit<Tool
|
|
|
3602
3712
|
container?: HTMLElement | null;
|
|
3603
3713
|
} & React_2.RefAttributes<HTMLDivElement>>;
|
|
3604
3714
|
|
|
3715
|
+
declare type TooltipPayloadItem = {
|
|
3716
|
+
name?: string | number;
|
|
3717
|
+
dataKey?: string | number;
|
|
3718
|
+
value?: number | string;
|
|
3719
|
+
color?: string;
|
|
3720
|
+
payload?: Record<string, unknown>;
|
|
3721
|
+
fill?: string;
|
|
3722
|
+
};
|
|
3723
|
+
|
|
3605
3724
|
/**
|
|
3606
3725
|
* Tooltip — contextual helper text anchored to a trigger.
|
|
3607
3726
|
*
|
|
@@ -3651,6 +3770,41 @@ declare interface TrendBadgeProps {
|
|
|
3651
3770
|
invertColors?: boolean;
|
|
3652
3771
|
}
|
|
3653
3772
|
|
|
3773
|
+
/**
|
|
3774
|
+
* Text that truncates with an ellipsis and reveals its full value in a tooltip —
|
|
3775
|
+
* **but only when actually clipped**. The one place the overflow-detection +
|
|
3776
|
+
* tooltip pattern lives, so every truncating title/label gets it for free.
|
|
3777
|
+
*
|
|
3778
|
+
* Use for **titles and labels** (page/tab titles, table cells, breadcrumbs, list
|
|
3779
|
+
* rows) — anything single-line that must fit a bounded width. Do **not** use for
|
|
3780
|
+
* body or long-form copy: that should wrap, not truncate.
|
|
3781
|
+
*
|
|
3782
|
+
* ```tsx
|
|
3783
|
+
* <TruncatedText className="max-w-[16rem]">{customer.name}</TruncatedText>
|
|
3784
|
+
*
|
|
3785
|
+
* // asChild — the link itself truncates; pass the text as `tooltip`:
|
|
3786
|
+
* <TruncatedText asChild tooltip={repo.name}>
|
|
3787
|
+
* <a href={href} className="max-w-[14rem]">{repo.name}</a>
|
|
3788
|
+
* </TruncatedText>
|
|
3789
|
+
* ```
|
|
3790
|
+
*/
|
|
3791
|
+
export declare function TruncatedText({ asChild, tooltip, side, className, children, ref: forwardedRef, ...props }: TruncatedTextProps): JSX.Element;
|
|
3792
|
+
|
|
3793
|
+
declare type TruncatedTextProps = ComponentProps<'span'> & {
|
|
3794
|
+
/**
|
|
3795
|
+
* Merge the truncation + tooltip onto the child element instead of rendering a
|
|
3796
|
+
* `<span>` (shadcn `asChild`). Use when the truncating element must be a link,
|
|
3797
|
+
* button, or heading. When set, pass `tooltip` explicitly — `children` is an
|
|
3798
|
+
* element, not the text.
|
|
3799
|
+
*/
|
|
3800
|
+
asChild?: boolean;
|
|
3801
|
+
/** Tooltip content. Defaults to `children` (correct only when they're the raw
|
|
3802
|
+
* text — i.e. not `asChild`). */
|
|
3803
|
+
tooltip?: ReactNode;
|
|
3804
|
+
/** Tooltip side; forwarded to `TooltipContent`. */
|
|
3805
|
+
side?: ComponentProps<typeof TooltipContent>['side'];
|
|
3806
|
+
};
|
|
3807
|
+
|
|
3654
3808
|
export declare function useAppClassName(): string | undefined;
|
|
3655
3809
|
|
|
3656
3810
|
/**
|
|
@@ -3909,23 +4063,6 @@ export declare interface UserChipUser {
|
|
|
3909
4063
|
initials?: string;
|
|
3910
4064
|
}
|
|
3911
4065
|
|
|
3912
|
-
/**
|
|
3913
|
-
* A person rendered as one inline unit: a neutral avatar icon followed by their
|
|
3914
|
-
* full name. For lightweight person references (a lead, an assignee label) where
|
|
3915
|
-
* you only have a name. When you have full identity (email/org) and want the
|
|
3916
|
-
* hover card, use `UserChip` instead.
|
|
3917
|
-
*
|
|
3918
|
-
* Inherits font size/color from its container so it drops into any context.
|
|
3919
|
-
*/
|
|
3920
|
-
export declare function UserLabel({ name, size, className }: UserLabelProps): JSX.Element;
|
|
3921
|
-
|
|
3922
|
-
export declare interface UserLabelProps {
|
|
3923
|
-
name: string;
|
|
3924
|
-
/** Avatar size in px. Defaults to 18. */
|
|
3925
|
-
size?: number;
|
|
3926
|
-
className?: string;
|
|
3927
|
-
}
|
|
3928
|
-
|
|
3929
4066
|
/**
|
|
3930
4067
|
* Resolve a `ParsedDate` (year/month/day, any of which may be null)
|
|
3931
4068
|
* into a concrete `Date`, using the reference date and `dayDefault`
|
|
@@ -3952,10 +4089,3 @@ export declare interface UserLabelProps {
|
|
|
3952
4089
|
declare type YearBias = 'past' | 'future';
|
|
3953
4090
|
|
|
3954
4091
|
export { }
|
|
3955
|
-
|
|
3956
|
-
|
|
3957
|
-
declare module 'chart.js' {
|
|
3958
|
-
interface TooltipPositionerMap {
|
|
3959
|
-
cursor: TooltipPositionerFunction<ChartType>;
|
|
3960
|
-
}
|
|
3961
|
-
}
|