@aginies/ui 0.3.0 → 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/index.d.cts +42 -43
- package/dist/index.d.ts +42 -43
- package/dist/styles.css +1 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -4,6 +4,16 @@ import * as React from 'react';
|
|
|
4
4
|
import JSX = React.JSX;
|
|
5
5
|
|
|
6
6
|
// --- core ---
|
|
7
|
+
/** Status tone shared by Tag, Badge, Alert, Stat deltas and widgets: neutral · signal · ok · warn · bad · info. Always paired with a word or icon. */
|
|
8
|
+
export type Tone = 'neutral' | 'signal' | 'ok' | 'warn' | 'bad' | 'info';
|
|
9
|
+
/** One of the seven product families (aginies.com). */
|
|
10
|
+
export type Product = 'platform' | 'hub' | 'dialog' | 'voice' | 'vision' | 'code' | 'workforce';
|
|
11
|
+
/** Control size: sm 28 · md 32 · lg 40 (compact density). */
|
|
12
|
+
export type ControlSize = 'sm' | 'md' | 'lg';
|
|
13
|
+
/** Avatar / display size scale. */
|
|
14
|
+
export type DataSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
15
|
+
/** @deprecated Use `DataSize`; kept because 0.1.0–0.3.0 exported this name. */
|
|
16
|
+
export type Size = DataSize;
|
|
7
17
|
/** A Lucide glyph by name, inline, inheriting currentColor. Stroke 2 at ≤16px, 1.75 above. */
|
|
8
18
|
export interface IconProps extends Omit<React.SVGAttributes<SVGSVGElement>, 'color' | 'name' | 'size' | 'title'> {
|
|
9
19
|
/** Lucide name in kebab-case (circle-check, triangle-alert, loader-circle, sparkles) */
|
|
@@ -268,7 +278,6 @@ export declare function useTheme(defaultTheme?: Theme): [Theme, (t: Theme) => vo
|
|
|
268
278
|
export declare function resolveTheme(t: Theme): 'light' | 'dark';
|
|
269
279
|
|
|
270
280
|
// --- forms ---
|
|
271
|
-
type FormsSize = 'sm' | 'md' | 'lg';
|
|
272
281
|
/** Label + control + help/error wrapper for every field. Wires id, aria-describedby and aria-invalid onto a single child control; readOnly renders the record-view stacked value with an inline-edit pencil; inline renders a settings row with the label in the left column. */
|
|
273
282
|
export interface FormElementProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'label' | 'value'> {
|
|
274
283
|
label?: React.ReactNode;
|
|
@@ -311,7 +320,7 @@ export interface InputProps extends Omit<React.InputHTMLAttributes<HTMLInputElem
|
|
|
311
320
|
onClear?: () => void;
|
|
312
321
|
invalid?: boolean;
|
|
313
322
|
/** sm 28 · md 32 · lg 40 */
|
|
314
|
-
size?:
|
|
323
|
+
size?: ControlSize;
|
|
315
324
|
/** No border or background: inline editing in tables and headers */
|
|
316
325
|
bare?: boolean;
|
|
317
326
|
/** Props for the wrapping div */
|
|
@@ -324,7 +333,7 @@ export declare const Input: React.ForwardRefExoticComponent<InputProps & React.R
|
|
|
324
333
|
/** Multi-line text field; autoGrow follows the content and maxLength shows a counter. */
|
|
325
334
|
export interface TextareaProps extends Omit<React.TextareaHTMLAttributes<HTMLTextAreaElement>, 'size'> {
|
|
326
335
|
invalid?: boolean;
|
|
327
|
-
size?:
|
|
336
|
+
size?: ControlSize;
|
|
328
337
|
/** Height follows the content */
|
|
329
338
|
autoGrow?: boolean;
|
|
330
339
|
/** "{n} / {max}" counter; over the limit it turns bad and sets aria-invalid */
|
|
@@ -341,7 +350,7 @@ export interface SelectProps extends Omit<React.SelectHTMLAttributes<HTMLSelectE
|
|
|
341
350
|
placeholder?: string;
|
|
342
351
|
icon?: string;
|
|
343
352
|
invalid?: boolean;
|
|
344
|
-
size?:
|
|
353
|
+
size?: ControlSize;
|
|
345
354
|
}
|
|
346
355
|
export declare const Select: React.ForwardRefExoticComponent<SelectProps & React.RefAttributes<HTMLSelectElement>>;
|
|
347
356
|
/** Checkbox with label and description; indeterminate for a select-all that covers part of the set. */
|
|
@@ -436,7 +445,7 @@ export interface ComboboxProps extends Omit<React.HTMLAttributes<HTMLDivElement>
|
|
|
436
445
|
placeholder?: string;
|
|
437
446
|
disabled?: boolean;
|
|
438
447
|
invalid?: boolean;
|
|
439
|
-
size?:
|
|
448
|
+
size?: ControlSize;
|
|
440
449
|
/** Leading icon in the field */
|
|
441
450
|
icon?: string;
|
|
442
451
|
/** Controlled open state (docs, custom triggers) */
|
|
@@ -469,7 +478,7 @@ export interface SecretFieldProps extends Omit<React.InputHTMLAttributes<HTMLInp
|
|
|
469
478
|
onChange?: (value: string) => void;
|
|
470
479
|
/** Characters left visible at the end (4) */
|
|
471
480
|
revealLast?: number;
|
|
472
|
-
size?:
|
|
481
|
+
size?: ControlSize;
|
|
473
482
|
invalid?: boolean;
|
|
474
483
|
labels?: { reveal?: string; hide?: string; copy?: string; copied?: string };
|
|
475
484
|
}
|
|
@@ -493,7 +502,6 @@ export interface TagInputProps extends Omit<React.HTMLAttributes<HTMLDivElement>
|
|
|
493
502
|
export declare function TagInput(props: TagInputProps): JSX.Element;
|
|
494
503
|
|
|
495
504
|
// --- pickers ---
|
|
496
|
-
type PickersSize = 'sm' | 'md' | 'lg';
|
|
497
505
|
/** Date field with a calendar popover; the value is a Date. Formats 15.10.2026 for tr and 15 Oct 2026 for en through locale. */
|
|
498
506
|
export interface DatepickerProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'disabled' | 'max' | 'min' | 'onChange' | 'open' | 'placeholder' | 'size' | 'value'> {
|
|
499
507
|
/** A date, or [from, to] with range */
|
|
@@ -508,7 +516,7 @@ export interface DatepickerProps extends Omit<React.HTMLAttributes<HTMLDivElemen
|
|
|
508
516
|
locale?: string;
|
|
509
517
|
disabled?: boolean;
|
|
510
518
|
invalid?: boolean;
|
|
511
|
-
size?:
|
|
519
|
+
size?: ControlSize;
|
|
512
520
|
min?: Date;
|
|
513
521
|
max?: Date;
|
|
514
522
|
/** 0 Sunday · 1 Monday (default) */
|
|
@@ -553,7 +561,7 @@ export interface TimepickerProps extends Omit<React.HTMLAttributes<HTMLDivElemen
|
|
|
553
561
|
placeholder?: string;
|
|
554
562
|
disabled?: boolean;
|
|
555
563
|
invalid?: boolean;
|
|
556
|
-
size?:
|
|
564
|
+
size?: ControlSize;
|
|
557
565
|
open?: boolean;
|
|
558
566
|
labels?: { empty?: string; clear?: string };
|
|
559
567
|
}
|
|
@@ -570,7 +578,7 @@ export interface DatetimePickerProps extends Omit<React.HTMLAttributes<HTMLDivEl
|
|
|
570
578
|
max?: Date;
|
|
571
579
|
disabled?: boolean;
|
|
572
580
|
invalid?: boolean;
|
|
573
|
-
size?:
|
|
581
|
+
size?: ControlSize;
|
|
574
582
|
labels?: CalendarProps['labels'];
|
|
575
583
|
}
|
|
576
584
|
export declare function DatetimePicker(props: DatetimePickerProps): JSX.Element;
|
|
@@ -605,7 +613,7 @@ export interface ColorPickerProps extends Omit<React.HTMLAttributes<HTMLDivEleme
|
|
|
605
613
|
swatches?: (string | Swatch)[];
|
|
606
614
|
disabled?: boolean;
|
|
607
615
|
invalid?: boolean;
|
|
608
|
-
size?:
|
|
616
|
+
size?: ControlSize;
|
|
609
617
|
open?: boolean;
|
|
610
618
|
onOpenChange?: (open: boolean) => void;
|
|
611
619
|
labels?: { open?: string; custom?: string; swatches?: string; hex?: string };
|
|
@@ -621,7 +629,7 @@ export interface CounterProps extends Omit<React.HTMLAttributes<HTMLDivElement>,
|
|
|
621
629
|
step?: number;
|
|
622
630
|
disabled?: boolean;
|
|
623
631
|
invalid?: boolean;
|
|
624
|
-
size?:
|
|
632
|
+
size?: ControlSize;
|
|
625
633
|
/** Mono unit after the value: "calls", "dk" */
|
|
626
634
|
suffix?: React.ReactNode;
|
|
627
635
|
/** Formats the displayed value while not editing */
|
|
@@ -748,9 +756,6 @@ export interface DockedFormFooterProps extends Omit<React.HTMLAttributes<HTMLDiv
|
|
|
748
756
|
export declare function DockedFormFooter(props: DockedFormFooterProps): JSX.Element;
|
|
749
757
|
|
|
750
758
|
// --- data ---
|
|
751
|
-
export type Tone = 'neutral' | 'signal' | 'ok' | 'warn' | 'bad' | 'info';
|
|
752
|
-
export type Size = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
753
|
-
|
|
754
759
|
/** One column of a DataTable or TreeGrid. */
|
|
755
760
|
export interface DataColumn<T = any> {
|
|
756
761
|
/** Field name on the row; also the sort key */
|
|
@@ -914,7 +919,7 @@ export interface AvatarProps extends Omit<React.HTMLAttributes<HTMLSpanElement>,
|
|
|
914
919
|
/** person = circle; agent and system = square */
|
|
915
920
|
kind?: 'person' | 'agent' | 'system';
|
|
916
921
|
/** xs 20 · sm 24 · md 32 · lg 40 · xl 56 */
|
|
917
|
-
size?:
|
|
922
|
+
size?: DataSize;
|
|
918
923
|
/** Lucide icon instead of initials */
|
|
919
924
|
icon?: string;
|
|
920
925
|
/** Product glyph for a system avatar */
|
|
@@ -925,7 +930,7 @@ export interface AvatarProps extends Omit<React.HTMLAttributes<HTMLSpanElement>,
|
|
|
925
930
|
}
|
|
926
931
|
export declare function Avatar(props: AvatarProps): JSX.Element;
|
|
927
932
|
/** Overlapping avatars with a "+n" overflow. Items are names or Avatar props. */
|
|
928
|
-
export interface AvatarGroupProps extends Omit<React.HTMLAttributes<HTMLSpanElement>, 'size'> { items: Array<string | AvatarProps>; /** Shown before the overflow (default 4) */ max?: number; size?:
|
|
933
|
+
export interface AvatarGroupProps extends Omit<React.HTMLAttributes<HTMLSpanElement>, 'size'> { items: Array<string | AvatarProps>; /** Shown before the overflow (default 4) */ max?: number; size?: DataSize; kind?: AvatarProps['kind']; }
|
|
929
934
|
export declare function AvatarGroup(props: AvatarGroupProps): JSX.Element;
|
|
930
935
|
|
|
931
936
|
/** Count or one-word status on a pill. Solid signal for unread counts; soft tones for status words. */
|
|
@@ -1436,12 +1441,9 @@ export interface RoomProps extends React.HTMLAttributes<HTMLElement> {
|
|
|
1436
1441
|
export declare function Room(props: RoomProps): JSX.Element;
|
|
1437
1442
|
|
|
1438
1443
|
// --- navigation ---
|
|
1439
|
-
type NavigationProduct = 'platform' | 'hub' | 'dialog' | 'voice' | 'vision' | 'code' | 'workforce';
|
|
1440
|
-
type NavigationTone = 'neutral' | 'signal' | 'ok' | 'warn' | 'bad' | 'info';
|
|
1441
|
-
|
|
1442
1444
|
/** 48px top bar: logo lockup with the product name, a search trigger with its shortcut, actions, the user's avatar. panel for consoles, ink for brand screens. */
|
|
1443
1445
|
export interface GlobalHeaderProps extends React.HTMLAttributes<HTMLElement> {
|
|
1444
|
-
/**
|
|
1446
|
+
/** Product name after the wordmark ("Platform", "Dialog") */
|
|
1445
1447
|
product?: string;
|
|
1446
1448
|
/** panel (default) on --panel with a line below; ink on --text for brand screens */
|
|
1447
1449
|
tone?: 'panel' | 'ink';
|
|
@@ -1468,7 +1470,7 @@ export interface GlobalHeaderProps extends React.HTMLAttributes<HTMLElement> {
|
|
|
1468
1470
|
export declare function GlobalHeader(props: GlobalHeaderProps): JSX.Element;
|
|
1469
1471
|
|
|
1470
1472
|
/** One sidebar item. */
|
|
1471
|
-
export interface NavItem { id: string; label: string; icon?: string; href?: string; /** Count badge; a dot when collapsed */ count?: number; countTone?:
|
|
1473
|
+
export interface NavItem { id: string; label: string; icon?: string; href?: string; /** Count badge; a dot when collapsed */ count?: number; countTone?: Tone; disabled?: boolean; }
|
|
1472
1474
|
/** A sidebar group with its mono eyebrow (build, observe, organisation). */
|
|
1473
1475
|
export interface NavGroup { id?: string; label?: string; items: NavItem[]; }
|
|
1474
1476
|
/** The console sidebar: 232px (56 collapsed; `width` or `resizable`), logo top-left, search, an optional tree slot, groups under mono eyebrows, 32px items with icon, label and count; product switcher at the bottom. */
|
|
@@ -1479,7 +1481,7 @@ export interface VerticalNavigationProps extends Omit<React.HTMLAttributes<HTMLE
|
|
|
1479
1481
|
collapsed?: boolean;
|
|
1480
1482
|
/** Shows the collapse toggle */
|
|
1481
1483
|
onCollapse?: (collapsed: boolean) => void;
|
|
1482
|
-
/**
|
|
1484
|
+
/** Product name in the logo lockup */
|
|
1483
1485
|
product?: string;
|
|
1484
1486
|
/** Search trigger under the logo */
|
|
1485
1487
|
search?: { onClick?: () => void; label?: string; placeholder?: string; shortcut?: string };
|
|
@@ -1530,7 +1532,7 @@ export interface TabsProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'o
|
|
|
1530
1532
|
export declare function Tabs(props: TabsProps): JSX.Element;
|
|
1531
1533
|
|
|
1532
1534
|
/** One top-navigation item. */
|
|
1533
|
-
export interface GlobalNavItem { id: string; label: React.ReactNode; icon?: string; href?: string; /** Count badge (signal on the active item unless countTone) */ count?: number; countTone?:
|
|
1535
|
+
export interface GlobalNavItem { id: string; label: React.ReactNode; icon?: string; href?: string; /** Count badge (signal on the active item unless countTone) */ count?: number; countTone?: Tone; disabled?: boolean; }
|
|
1534
1536
|
/** Horizontal top navigation for GlobalHeader shells: the product's sections in a row, the active one underlined in --signal, ←/→ between items, overflow into a More menu. Pages, not views of one object (that is Tabs). */
|
|
1535
1537
|
export interface GlobalNavigationProps extends Omit<React.HTMLAttributes<HTMLElement>, 'onChange'> {
|
|
1536
1538
|
items: GlobalNavItem[];
|
|
@@ -1612,14 +1614,14 @@ export interface SplitViewProps extends Omit<React.HTMLAttributes<HTMLDivElement
|
|
|
1612
1614
|
}
|
|
1613
1615
|
export declare function SplitView(props: SplitViewProps): JSX.Element;
|
|
1614
1616
|
|
|
1615
|
-
/**
|
|
1617
|
+
/** Product switcher: the seven boxed product glyphs with their names, the current one marked. */
|
|
1616
1618
|
export interface AppLauncherProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
1617
1619
|
/** Ids or { id, name, description, href } (default all seven) */
|
|
1618
|
-
products?: Array<
|
|
1619
|
-
current?:
|
|
1620
|
-
onOpen?: (id:
|
|
1621
|
-
hrefs?: Partial<Record<
|
|
1622
|
-
descriptions?: Partial<Record<
|
|
1620
|
+
products?: Array<Product | { id: Product; name?: string; description?: string; href?: string }>;
|
|
1621
|
+
current?: Product;
|
|
1622
|
+
onOpen?: (id: Product, product: any) => void;
|
|
1623
|
+
hrefs?: Partial<Record<Product, string>>;
|
|
1624
|
+
descriptions?: Partial<Record<Product, string>>;
|
|
1623
1625
|
/** No popover frame (inside a sidebar footer) */
|
|
1624
1626
|
inline?: boolean;
|
|
1625
1627
|
labels?: { title?: string; current?: string };
|
|
@@ -1628,7 +1630,7 @@ export declare const AppLauncher: ((props: AppLauncherProps) => JSX.Element) & {
|
|
|
1628
1630
|
/** The sidebar's product-switcher row: current product glyph, name and an up-down chevron, styled as a nav item; opens an AppLauncher in a Popover. Also AppLauncher.Trigger. */
|
|
1629
1631
|
export interface AppLauncherTriggerProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'name' | 'open'> {
|
|
1630
1632
|
/** Current product (default platform) */
|
|
1631
|
-
product?:
|
|
1633
|
+
product?: Product;
|
|
1632
1634
|
/** Overrides the product name */
|
|
1633
1635
|
name?: string;
|
|
1634
1636
|
/** Lucide icon instead of the product glyph, for a surface that has none (the data console: "database") */
|
|
@@ -1672,7 +1674,7 @@ export interface BuilderHeaderProps extends Omit<React.HTMLAttributes<HTMLElemen
|
|
|
1672
1674
|
/** Version tag ("v8") */
|
|
1673
1675
|
version?: string;
|
|
1674
1676
|
/** Status Tag: a word or { label, tone, dot, icon } */
|
|
1675
|
-
status?: string | { label: string; tone?:
|
|
1677
|
+
status?: string | { label: string; tone?: Tone; dot?: boolean; icon?: string };
|
|
1676
1678
|
onBack?: () => void;
|
|
1677
1679
|
backHref?: string;
|
|
1678
1680
|
onDeploy?: () => void;
|
|
@@ -2662,9 +2664,6 @@ export declare function fmtInt(value: number, locale?: string): string;
|
|
|
2662
2664
|
export declare function fmtClock(seconds: number): string;
|
|
2663
2665
|
|
|
2664
2666
|
// --- dashboard ---
|
|
2665
|
-
type DashboardProduct = 'platform' | 'hub' | 'dialog' | 'voice' | 'vision' | 'code' | 'workforce';
|
|
2666
|
-
type DashboardTone = 'neutral' | 'signal' | 'ok' | 'warn' | 'bad' | 'info';
|
|
2667
|
-
|
|
2668
2667
|
/** Dashboard KPI: a Stat (value, label, delta) with a Sparkline in a flat Card. Use plain (or KpiRow) when the KPIs are the page summary, which is never boxed. */
|
|
2669
2668
|
export interface KpiWidgetProps extends Omit<React.HTMLAttributes<HTMLElement>, 'icon' | 'label' | 'size' | 'value'> {
|
|
2670
2669
|
/** Mono uppercase label: "Runs this week" */
|
|
@@ -2844,10 +2843,10 @@ export interface RecordSummaryWidgetProps extends Omit<React.HTMLAttributes<HTML
|
|
|
2844
2843
|
avatar?: string;
|
|
2845
2844
|
/** Lucide icon for the BlockIcon (bot) */
|
|
2846
2845
|
icon?: string;
|
|
2847
|
-
/**
|
|
2848
|
-
product?:
|
|
2846
|
+
/** Product glyph for the BlockIcon */
|
|
2847
|
+
product?: Product;
|
|
2849
2848
|
/** A word or { label, tone, dot, icon } */
|
|
2850
|
-
status?: string | { label: React.ReactNode; tone?:
|
|
2849
|
+
status?: string | { label: React.ReactNode; tone?: Tone; dot?: boolean; icon?: string };
|
|
2851
2850
|
/** SummaryDetail fields (dense) */
|
|
2852
2851
|
fields?: { key?: string; label: React.ReactNode; value?: React.ReactNode; mono?: boolean; tone?: 'ok' | 'warn' | 'bad' }[];
|
|
2853
2852
|
/** Path steps; omit for records without stages */
|
|
@@ -2904,7 +2903,7 @@ export interface ActivityWidgetProps extends Omit<React.HTMLAttributes<HTMLEleme
|
|
|
2904
2903
|
export declare function ActivityWidget(props: ActivityWidgetProps): JSX.Element;
|
|
2905
2904
|
|
|
2906
2905
|
/** One action tile. */
|
|
2907
|
-
export interface QuickAction { id?: string; label: string; icon?: string; product?:
|
|
2906
|
+
export interface QuickAction { id?: string; label: string; icon?: string; product?: Product; description?: string; /** Kbd hint: ["⌘", "N"] or "G L" (the consumer binds the keys) */ shortcut?: string | string[]; tone?: Tone; badge?: number; disabled?: boolean; onClick?: (a: QuickAction) => void; }
|
|
2908
2907
|
/** A grid of action tiles (BlockIcon, label, optional line, Kbd hint, badge) for the shortcuts people take most; inside a Card when titled. */
|
|
2909
2908
|
export interface QuickActionsProps extends Omit<React.HTMLAttributes<HTMLElement>, 'title'> {
|
|
2910
2909
|
actions: QuickAction[];
|
|
@@ -2937,7 +2936,7 @@ export interface NotificationsWidgetProps extends Omit<React.HTMLAttributes<HTML
|
|
|
2937
2936
|
export declare function NotificationsWidget(props: NotificationsWidgetProps): JSX.Element;
|
|
2938
2937
|
|
|
2939
2938
|
/** One step of the mini canvas. */
|
|
2940
|
-
export interface FlowStep { id?: string; name: React.ReactNode; /** Block type in mono: "LLM · understand" */ kind?: React.ReactNode; icon?: string; product?:
|
|
2939
|
+
export interface FlowStep { id?: string; name: React.ReactNode; /** Block type in mono: "LLM · understand" */ kind?: React.ReactNode; icon?: string; product?: Product; /** done · running (execution ring) · error · waiting (warn ring, human approval) · upcoming (dashed) */ state?: 'done' | 'running' | 'error' | 'waiting' | 'upcoming'; /** Runs at or through this step */ runs?: number; }
|
|
2941
2940
|
/** A read-only mini canvas in a Card: three to six CanvasBlocks in a row joined by CanvasEdges, the running step ringed in execution, a caption per step saying where the live runs are. */
|
|
2942
2941
|
export interface AgentFlowWidgetProps extends Omit<React.HTMLAttributes<HTMLElement>, 'title'> {
|
|
2943
2942
|
agent?: React.ReactNode;
|
|
@@ -2959,7 +2958,7 @@ export interface AgentFlowWidgetProps extends Omit<React.HTMLAttributes<HTMLElem
|
|
|
2959
2958
|
export declare function AgentFlowWidget(props: AgentFlowWidgetProps): JSX.Element;
|
|
2960
2959
|
|
|
2961
2960
|
/** One ranked row. */
|
|
2962
|
-
export interface LeaderRow { id?: string; name: string; sub?: React.ReactNode; kind?: 'agent' | 'person' | 'system'; product?:
|
|
2961
|
+
export interface LeaderRow { id?: string; name: string; sub?: React.ReactNode; kind?: 'agent' | 'person' | 'system'; product?: Product; icon?: string; value: number; /** Change since the last period, in the value's unit */ delta?: number; }
|
|
2963
2962
|
/** Ranked rows in a Card: an agent or a person, a bar against the leader, the value and the change since the last period; optional period switch. */
|
|
2964
2963
|
export interface LeaderboardWidgetProps extends Omit<React.HTMLAttributes<HTMLElement>, 'format' | 'max' | 'title'> {
|
|
2965
2964
|
rows: LeaderRow[];
|
|
@@ -2985,7 +2984,7 @@ export interface LeaderboardWidgetProps extends Omit<React.HTMLAttributes<HTMLEl
|
|
|
2985
2984
|
export declare function LeaderboardWidget(props: LeaderboardWidgetProps): JSX.Element;
|
|
2986
2985
|
|
|
2987
2986
|
/** A CalendarView event with the agenda's extra fields. */
|
|
2988
|
-
export interface AgendaEvent { id?: string | number; title: string; start: Date | string; end?: Date | string; allDay?: boolean; tone?:
|
|
2987
|
+
export interface AgendaEvent { id?: string | number; title: string; start: Date | string; end?: Date | string; allDay?: boolean; tone?: Tone; kind?: 'run' | 'review' | 'call' | 'maintenance' | 'deploy' | 'meeting' | string; tenant?: string; meta?: React.ReactNode; }
|
|
2989
2988
|
/** One day of CalendarView events in a Card: a time rail, a tone bar per event, done / live / in n min, and a now line. */
|
|
2990
2989
|
export interface AgendaWidgetProps extends Omit<React.HTMLAttributes<HTMLElement>, 'max' | 'title'> {
|
|
2991
2990
|
/** Events of any day; only the shown day's are listed */
|
|
@@ -3024,7 +3023,7 @@ export interface OnboardingWidgetProps extends Omit<React.HTMLAttributes<HTMLEle
|
|
|
3024
3023
|
export declare function OnboardingWidget(props: OnboardingWidgetProps): JSX.Element;
|
|
3025
3024
|
|
|
3026
3025
|
/** One comment: FeedPost fields plus resolved. */
|
|
3027
|
-
export interface CommentItem { id?: string | number; author: string | { name: string; kind?: 'person' | 'agent' | 'system'; product?:
|
|
3026
|
+
export interface CommentItem { id?: string | number; author: string | { name: string; kind?: 'person' | 'agent' | 'system'; product?: Product }; kind?: 'person' | 'agent' | 'system'; action?: React.ReactNode; target?: React.ReactNode; time?: string; /** @handles are picked out in link colour */ text: React.ReactNode; replies?: any[]; likes?: number; liked?: boolean; resolved?: boolean; /** warn wraps the body (an escalation) */ tone?: 'warn'; }
|
|
3028
3027
|
/** A comment thread in a Card: FeedPosts with @mentions picked out, replies and likes, and the Publisher docked under the list. */
|
|
3029
3028
|
export interface CommentsWidgetProps extends Omit<React.HTMLAttributes<HTMLElement>, 'onSubmit' | 'title'> {
|
|
3030
3029
|
comments: CommentItem[];
|
package/dist/index.d.ts
CHANGED
|
@@ -4,6 +4,16 @@ import * as React from 'react';
|
|
|
4
4
|
import JSX = React.JSX;
|
|
5
5
|
|
|
6
6
|
// --- core ---
|
|
7
|
+
/** Status tone shared by Tag, Badge, Alert, Stat deltas and widgets: neutral · signal · ok · warn · bad · info. Always paired with a word or icon. */
|
|
8
|
+
export type Tone = 'neutral' | 'signal' | 'ok' | 'warn' | 'bad' | 'info';
|
|
9
|
+
/** One of the seven product families (aginies.com). */
|
|
10
|
+
export type Product = 'platform' | 'hub' | 'dialog' | 'voice' | 'vision' | 'code' | 'workforce';
|
|
11
|
+
/** Control size: sm 28 · md 32 · lg 40 (compact density). */
|
|
12
|
+
export type ControlSize = 'sm' | 'md' | 'lg';
|
|
13
|
+
/** Avatar / display size scale. */
|
|
14
|
+
export type DataSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
15
|
+
/** @deprecated Use `DataSize`; kept because 0.1.0–0.3.0 exported this name. */
|
|
16
|
+
export type Size = DataSize;
|
|
7
17
|
/** A Lucide glyph by name, inline, inheriting currentColor. Stroke 2 at ≤16px, 1.75 above. */
|
|
8
18
|
export interface IconProps extends Omit<React.SVGAttributes<SVGSVGElement>, 'color' | 'name' | 'size' | 'title'> {
|
|
9
19
|
/** Lucide name in kebab-case (circle-check, triangle-alert, loader-circle, sparkles) */
|
|
@@ -268,7 +278,6 @@ export declare function useTheme(defaultTheme?: Theme): [Theme, (t: Theme) => vo
|
|
|
268
278
|
export declare function resolveTheme(t: Theme): 'light' | 'dark';
|
|
269
279
|
|
|
270
280
|
// --- forms ---
|
|
271
|
-
type FormsSize = 'sm' | 'md' | 'lg';
|
|
272
281
|
/** Label + control + help/error wrapper for every field. Wires id, aria-describedby and aria-invalid onto a single child control; readOnly renders the record-view stacked value with an inline-edit pencil; inline renders a settings row with the label in the left column. */
|
|
273
282
|
export interface FormElementProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'label' | 'value'> {
|
|
274
283
|
label?: React.ReactNode;
|
|
@@ -311,7 +320,7 @@ export interface InputProps extends Omit<React.InputHTMLAttributes<HTMLInputElem
|
|
|
311
320
|
onClear?: () => void;
|
|
312
321
|
invalid?: boolean;
|
|
313
322
|
/** sm 28 · md 32 · lg 40 */
|
|
314
|
-
size?:
|
|
323
|
+
size?: ControlSize;
|
|
315
324
|
/** No border or background: inline editing in tables and headers */
|
|
316
325
|
bare?: boolean;
|
|
317
326
|
/** Props for the wrapping div */
|
|
@@ -324,7 +333,7 @@ export declare const Input: React.ForwardRefExoticComponent<InputProps & React.R
|
|
|
324
333
|
/** Multi-line text field; autoGrow follows the content and maxLength shows a counter. */
|
|
325
334
|
export interface TextareaProps extends Omit<React.TextareaHTMLAttributes<HTMLTextAreaElement>, 'size'> {
|
|
326
335
|
invalid?: boolean;
|
|
327
|
-
size?:
|
|
336
|
+
size?: ControlSize;
|
|
328
337
|
/** Height follows the content */
|
|
329
338
|
autoGrow?: boolean;
|
|
330
339
|
/** "{n} / {max}" counter; over the limit it turns bad and sets aria-invalid */
|
|
@@ -341,7 +350,7 @@ export interface SelectProps extends Omit<React.SelectHTMLAttributes<HTMLSelectE
|
|
|
341
350
|
placeholder?: string;
|
|
342
351
|
icon?: string;
|
|
343
352
|
invalid?: boolean;
|
|
344
|
-
size?:
|
|
353
|
+
size?: ControlSize;
|
|
345
354
|
}
|
|
346
355
|
export declare const Select: React.ForwardRefExoticComponent<SelectProps & React.RefAttributes<HTMLSelectElement>>;
|
|
347
356
|
/** Checkbox with label and description; indeterminate for a select-all that covers part of the set. */
|
|
@@ -436,7 +445,7 @@ export interface ComboboxProps extends Omit<React.HTMLAttributes<HTMLDivElement>
|
|
|
436
445
|
placeholder?: string;
|
|
437
446
|
disabled?: boolean;
|
|
438
447
|
invalid?: boolean;
|
|
439
|
-
size?:
|
|
448
|
+
size?: ControlSize;
|
|
440
449
|
/** Leading icon in the field */
|
|
441
450
|
icon?: string;
|
|
442
451
|
/** Controlled open state (docs, custom triggers) */
|
|
@@ -469,7 +478,7 @@ export interface SecretFieldProps extends Omit<React.InputHTMLAttributes<HTMLInp
|
|
|
469
478
|
onChange?: (value: string) => void;
|
|
470
479
|
/** Characters left visible at the end (4) */
|
|
471
480
|
revealLast?: number;
|
|
472
|
-
size?:
|
|
481
|
+
size?: ControlSize;
|
|
473
482
|
invalid?: boolean;
|
|
474
483
|
labels?: { reveal?: string; hide?: string; copy?: string; copied?: string };
|
|
475
484
|
}
|
|
@@ -493,7 +502,6 @@ export interface TagInputProps extends Omit<React.HTMLAttributes<HTMLDivElement>
|
|
|
493
502
|
export declare function TagInput(props: TagInputProps): JSX.Element;
|
|
494
503
|
|
|
495
504
|
// --- pickers ---
|
|
496
|
-
type PickersSize = 'sm' | 'md' | 'lg';
|
|
497
505
|
/** Date field with a calendar popover; the value is a Date. Formats 15.10.2026 for tr and 15 Oct 2026 for en through locale. */
|
|
498
506
|
export interface DatepickerProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'disabled' | 'max' | 'min' | 'onChange' | 'open' | 'placeholder' | 'size' | 'value'> {
|
|
499
507
|
/** A date, or [from, to] with range */
|
|
@@ -508,7 +516,7 @@ export interface DatepickerProps extends Omit<React.HTMLAttributes<HTMLDivElemen
|
|
|
508
516
|
locale?: string;
|
|
509
517
|
disabled?: boolean;
|
|
510
518
|
invalid?: boolean;
|
|
511
|
-
size?:
|
|
519
|
+
size?: ControlSize;
|
|
512
520
|
min?: Date;
|
|
513
521
|
max?: Date;
|
|
514
522
|
/** 0 Sunday · 1 Monday (default) */
|
|
@@ -553,7 +561,7 @@ export interface TimepickerProps extends Omit<React.HTMLAttributes<HTMLDivElemen
|
|
|
553
561
|
placeholder?: string;
|
|
554
562
|
disabled?: boolean;
|
|
555
563
|
invalid?: boolean;
|
|
556
|
-
size?:
|
|
564
|
+
size?: ControlSize;
|
|
557
565
|
open?: boolean;
|
|
558
566
|
labels?: { empty?: string; clear?: string };
|
|
559
567
|
}
|
|
@@ -570,7 +578,7 @@ export interface DatetimePickerProps extends Omit<React.HTMLAttributes<HTMLDivEl
|
|
|
570
578
|
max?: Date;
|
|
571
579
|
disabled?: boolean;
|
|
572
580
|
invalid?: boolean;
|
|
573
|
-
size?:
|
|
581
|
+
size?: ControlSize;
|
|
574
582
|
labels?: CalendarProps['labels'];
|
|
575
583
|
}
|
|
576
584
|
export declare function DatetimePicker(props: DatetimePickerProps): JSX.Element;
|
|
@@ -605,7 +613,7 @@ export interface ColorPickerProps extends Omit<React.HTMLAttributes<HTMLDivEleme
|
|
|
605
613
|
swatches?: (string | Swatch)[];
|
|
606
614
|
disabled?: boolean;
|
|
607
615
|
invalid?: boolean;
|
|
608
|
-
size?:
|
|
616
|
+
size?: ControlSize;
|
|
609
617
|
open?: boolean;
|
|
610
618
|
onOpenChange?: (open: boolean) => void;
|
|
611
619
|
labels?: { open?: string; custom?: string; swatches?: string; hex?: string };
|
|
@@ -621,7 +629,7 @@ export interface CounterProps extends Omit<React.HTMLAttributes<HTMLDivElement>,
|
|
|
621
629
|
step?: number;
|
|
622
630
|
disabled?: boolean;
|
|
623
631
|
invalid?: boolean;
|
|
624
|
-
size?:
|
|
632
|
+
size?: ControlSize;
|
|
625
633
|
/** Mono unit after the value: "calls", "dk" */
|
|
626
634
|
suffix?: React.ReactNode;
|
|
627
635
|
/** Formats the displayed value while not editing */
|
|
@@ -748,9 +756,6 @@ export interface DockedFormFooterProps extends Omit<React.HTMLAttributes<HTMLDiv
|
|
|
748
756
|
export declare function DockedFormFooter(props: DockedFormFooterProps): JSX.Element;
|
|
749
757
|
|
|
750
758
|
// --- data ---
|
|
751
|
-
export type Tone = 'neutral' | 'signal' | 'ok' | 'warn' | 'bad' | 'info';
|
|
752
|
-
export type Size = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
753
|
-
|
|
754
759
|
/** One column of a DataTable or TreeGrid. */
|
|
755
760
|
export interface DataColumn<T = any> {
|
|
756
761
|
/** Field name on the row; also the sort key */
|
|
@@ -914,7 +919,7 @@ export interface AvatarProps extends Omit<React.HTMLAttributes<HTMLSpanElement>,
|
|
|
914
919
|
/** person = circle; agent and system = square */
|
|
915
920
|
kind?: 'person' | 'agent' | 'system';
|
|
916
921
|
/** xs 20 · sm 24 · md 32 · lg 40 · xl 56 */
|
|
917
|
-
size?:
|
|
922
|
+
size?: DataSize;
|
|
918
923
|
/** Lucide icon instead of initials */
|
|
919
924
|
icon?: string;
|
|
920
925
|
/** Product glyph for a system avatar */
|
|
@@ -925,7 +930,7 @@ export interface AvatarProps extends Omit<React.HTMLAttributes<HTMLSpanElement>,
|
|
|
925
930
|
}
|
|
926
931
|
export declare function Avatar(props: AvatarProps): JSX.Element;
|
|
927
932
|
/** Overlapping avatars with a "+n" overflow. Items are names or Avatar props. */
|
|
928
|
-
export interface AvatarGroupProps extends Omit<React.HTMLAttributes<HTMLSpanElement>, 'size'> { items: Array<string | AvatarProps>; /** Shown before the overflow (default 4) */ max?: number; size?:
|
|
933
|
+
export interface AvatarGroupProps extends Omit<React.HTMLAttributes<HTMLSpanElement>, 'size'> { items: Array<string | AvatarProps>; /** Shown before the overflow (default 4) */ max?: number; size?: DataSize; kind?: AvatarProps['kind']; }
|
|
929
934
|
export declare function AvatarGroup(props: AvatarGroupProps): JSX.Element;
|
|
930
935
|
|
|
931
936
|
/** Count or one-word status on a pill. Solid signal for unread counts; soft tones for status words. */
|
|
@@ -1436,12 +1441,9 @@ export interface RoomProps extends React.HTMLAttributes<HTMLElement> {
|
|
|
1436
1441
|
export declare function Room(props: RoomProps): JSX.Element;
|
|
1437
1442
|
|
|
1438
1443
|
// --- navigation ---
|
|
1439
|
-
type NavigationProduct = 'platform' | 'hub' | 'dialog' | 'voice' | 'vision' | 'code' | 'workforce';
|
|
1440
|
-
type NavigationTone = 'neutral' | 'signal' | 'ok' | 'warn' | 'bad' | 'info';
|
|
1441
|
-
|
|
1442
1444
|
/** 48px top bar: logo lockup with the product name, a search trigger with its shortcut, actions, the user's avatar. panel for consoles, ink for brand screens. */
|
|
1443
1445
|
export interface GlobalHeaderProps extends React.HTMLAttributes<HTMLElement> {
|
|
1444
|
-
/**
|
|
1446
|
+
/** Product name after the wordmark ("Platform", "Dialog") */
|
|
1445
1447
|
product?: string;
|
|
1446
1448
|
/** panel (default) on --panel with a line below; ink on --text for brand screens */
|
|
1447
1449
|
tone?: 'panel' | 'ink';
|
|
@@ -1468,7 +1470,7 @@ export interface GlobalHeaderProps extends React.HTMLAttributes<HTMLElement> {
|
|
|
1468
1470
|
export declare function GlobalHeader(props: GlobalHeaderProps): JSX.Element;
|
|
1469
1471
|
|
|
1470
1472
|
/** One sidebar item. */
|
|
1471
|
-
export interface NavItem { id: string; label: string; icon?: string; href?: string; /** Count badge; a dot when collapsed */ count?: number; countTone?:
|
|
1473
|
+
export interface NavItem { id: string; label: string; icon?: string; href?: string; /** Count badge; a dot when collapsed */ count?: number; countTone?: Tone; disabled?: boolean; }
|
|
1472
1474
|
/** A sidebar group with its mono eyebrow (build, observe, organisation). */
|
|
1473
1475
|
export interface NavGroup { id?: string; label?: string; items: NavItem[]; }
|
|
1474
1476
|
/** The console sidebar: 232px (56 collapsed; `width` or `resizable`), logo top-left, search, an optional tree slot, groups under mono eyebrows, 32px items with icon, label and count; product switcher at the bottom. */
|
|
@@ -1479,7 +1481,7 @@ export interface VerticalNavigationProps extends Omit<React.HTMLAttributes<HTMLE
|
|
|
1479
1481
|
collapsed?: boolean;
|
|
1480
1482
|
/** Shows the collapse toggle */
|
|
1481
1483
|
onCollapse?: (collapsed: boolean) => void;
|
|
1482
|
-
/**
|
|
1484
|
+
/** Product name in the logo lockup */
|
|
1483
1485
|
product?: string;
|
|
1484
1486
|
/** Search trigger under the logo */
|
|
1485
1487
|
search?: { onClick?: () => void; label?: string; placeholder?: string; shortcut?: string };
|
|
@@ -1530,7 +1532,7 @@ export interface TabsProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'o
|
|
|
1530
1532
|
export declare function Tabs(props: TabsProps): JSX.Element;
|
|
1531
1533
|
|
|
1532
1534
|
/** One top-navigation item. */
|
|
1533
|
-
export interface GlobalNavItem { id: string; label: React.ReactNode; icon?: string; href?: string; /** Count badge (signal on the active item unless countTone) */ count?: number; countTone?:
|
|
1535
|
+
export interface GlobalNavItem { id: string; label: React.ReactNode; icon?: string; href?: string; /** Count badge (signal on the active item unless countTone) */ count?: number; countTone?: Tone; disabled?: boolean; }
|
|
1534
1536
|
/** Horizontal top navigation for GlobalHeader shells: the product's sections in a row, the active one underlined in --signal, ←/→ between items, overflow into a More menu. Pages, not views of one object (that is Tabs). */
|
|
1535
1537
|
export interface GlobalNavigationProps extends Omit<React.HTMLAttributes<HTMLElement>, 'onChange'> {
|
|
1536
1538
|
items: GlobalNavItem[];
|
|
@@ -1612,14 +1614,14 @@ export interface SplitViewProps extends Omit<React.HTMLAttributes<HTMLDivElement
|
|
|
1612
1614
|
}
|
|
1613
1615
|
export declare function SplitView(props: SplitViewProps): JSX.Element;
|
|
1614
1616
|
|
|
1615
|
-
/**
|
|
1617
|
+
/** Product switcher: the seven boxed product glyphs with their names, the current one marked. */
|
|
1616
1618
|
export interface AppLauncherProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
1617
1619
|
/** Ids or { id, name, description, href } (default all seven) */
|
|
1618
|
-
products?: Array<
|
|
1619
|
-
current?:
|
|
1620
|
-
onOpen?: (id:
|
|
1621
|
-
hrefs?: Partial<Record<
|
|
1622
|
-
descriptions?: Partial<Record<
|
|
1620
|
+
products?: Array<Product | { id: Product; name?: string; description?: string; href?: string }>;
|
|
1621
|
+
current?: Product;
|
|
1622
|
+
onOpen?: (id: Product, product: any) => void;
|
|
1623
|
+
hrefs?: Partial<Record<Product, string>>;
|
|
1624
|
+
descriptions?: Partial<Record<Product, string>>;
|
|
1623
1625
|
/** No popover frame (inside a sidebar footer) */
|
|
1624
1626
|
inline?: boolean;
|
|
1625
1627
|
labels?: { title?: string; current?: string };
|
|
@@ -1628,7 +1630,7 @@ export declare const AppLauncher: ((props: AppLauncherProps) => JSX.Element) & {
|
|
|
1628
1630
|
/** The sidebar's product-switcher row: current product glyph, name and an up-down chevron, styled as a nav item; opens an AppLauncher in a Popover. Also AppLauncher.Trigger. */
|
|
1629
1631
|
export interface AppLauncherTriggerProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'name' | 'open'> {
|
|
1630
1632
|
/** Current product (default platform) */
|
|
1631
|
-
product?:
|
|
1633
|
+
product?: Product;
|
|
1632
1634
|
/** Overrides the product name */
|
|
1633
1635
|
name?: string;
|
|
1634
1636
|
/** Lucide icon instead of the product glyph, for a surface that has none (the data console: "database") */
|
|
@@ -1672,7 +1674,7 @@ export interface BuilderHeaderProps extends Omit<React.HTMLAttributes<HTMLElemen
|
|
|
1672
1674
|
/** Version tag ("v8") */
|
|
1673
1675
|
version?: string;
|
|
1674
1676
|
/** Status Tag: a word or { label, tone, dot, icon } */
|
|
1675
|
-
status?: string | { label: string; tone?:
|
|
1677
|
+
status?: string | { label: string; tone?: Tone; dot?: boolean; icon?: string };
|
|
1676
1678
|
onBack?: () => void;
|
|
1677
1679
|
backHref?: string;
|
|
1678
1680
|
onDeploy?: () => void;
|
|
@@ -2662,9 +2664,6 @@ export declare function fmtInt(value: number, locale?: string): string;
|
|
|
2662
2664
|
export declare function fmtClock(seconds: number): string;
|
|
2663
2665
|
|
|
2664
2666
|
// --- dashboard ---
|
|
2665
|
-
type DashboardProduct = 'platform' | 'hub' | 'dialog' | 'voice' | 'vision' | 'code' | 'workforce';
|
|
2666
|
-
type DashboardTone = 'neutral' | 'signal' | 'ok' | 'warn' | 'bad' | 'info';
|
|
2667
|
-
|
|
2668
2667
|
/** Dashboard KPI: a Stat (value, label, delta) with a Sparkline in a flat Card. Use plain (or KpiRow) when the KPIs are the page summary, which is never boxed. */
|
|
2669
2668
|
export interface KpiWidgetProps extends Omit<React.HTMLAttributes<HTMLElement>, 'icon' | 'label' | 'size' | 'value'> {
|
|
2670
2669
|
/** Mono uppercase label: "Runs this week" */
|
|
@@ -2844,10 +2843,10 @@ export interface RecordSummaryWidgetProps extends Omit<React.HTMLAttributes<HTML
|
|
|
2844
2843
|
avatar?: string;
|
|
2845
2844
|
/** Lucide icon for the BlockIcon (bot) */
|
|
2846
2845
|
icon?: string;
|
|
2847
|
-
/**
|
|
2848
|
-
product?:
|
|
2846
|
+
/** Product glyph for the BlockIcon */
|
|
2847
|
+
product?: Product;
|
|
2849
2848
|
/** A word or { label, tone, dot, icon } */
|
|
2850
|
-
status?: string | { label: React.ReactNode; tone?:
|
|
2849
|
+
status?: string | { label: React.ReactNode; tone?: Tone; dot?: boolean; icon?: string };
|
|
2851
2850
|
/** SummaryDetail fields (dense) */
|
|
2852
2851
|
fields?: { key?: string; label: React.ReactNode; value?: React.ReactNode; mono?: boolean; tone?: 'ok' | 'warn' | 'bad' }[];
|
|
2853
2852
|
/** Path steps; omit for records without stages */
|
|
@@ -2904,7 +2903,7 @@ export interface ActivityWidgetProps extends Omit<React.HTMLAttributes<HTMLEleme
|
|
|
2904
2903
|
export declare function ActivityWidget(props: ActivityWidgetProps): JSX.Element;
|
|
2905
2904
|
|
|
2906
2905
|
/** One action tile. */
|
|
2907
|
-
export interface QuickAction { id?: string; label: string; icon?: string; product?:
|
|
2906
|
+
export interface QuickAction { id?: string; label: string; icon?: string; product?: Product; description?: string; /** Kbd hint: ["⌘", "N"] or "G L" (the consumer binds the keys) */ shortcut?: string | string[]; tone?: Tone; badge?: number; disabled?: boolean; onClick?: (a: QuickAction) => void; }
|
|
2908
2907
|
/** A grid of action tiles (BlockIcon, label, optional line, Kbd hint, badge) for the shortcuts people take most; inside a Card when titled. */
|
|
2909
2908
|
export interface QuickActionsProps extends Omit<React.HTMLAttributes<HTMLElement>, 'title'> {
|
|
2910
2909
|
actions: QuickAction[];
|
|
@@ -2937,7 +2936,7 @@ export interface NotificationsWidgetProps extends Omit<React.HTMLAttributes<HTML
|
|
|
2937
2936
|
export declare function NotificationsWidget(props: NotificationsWidgetProps): JSX.Element;
|
|
2938
2937
|
|
|
2939
2938
|
/** One step of the mini canvas. */
|
|
2940
|
-
export interface FlowStep { id?: string; name: React.ReactNode; /** Block type in mono: "LLM · understand" */ kind?: React.ReactNode; icon?: string; product?:
|
|
2939
|
+
export interface FlowStep { id?: string; name: React.ReactNode; /** Block type in mono: "LLM · understand" */ kind?: React.ReactNode; icon?: string; product?: Product; /** done · running (execution ring) · error · waiting (warn ring, human approval) · upcoming (dashed) */ state?: 'done' | 'running' | 'error' | 'waiting' | 'upcoming'; /** Runs at or through this step */ runs?: number; }
|
|
2941
2940
|
/** A read-only mini canvas in a Card: three to six CanvasBlocks in a row joined by CanvasEdges, the running step ringed in execution, a caption per step saying where the live runs are. */
|
|
2942
2941
|
export interface AgentFlowWidgetProps extends Omit<React.HTMLAttributes<HTMLElement>, 'title'> {
|
|
2943
2942
|
agent?: React.ReactNode;
|
|
@@ -2959,7 +2958,7 @@ export interface AgentFlowWidgetProps extends Omit<React.HTMLAttributes<HTMLElem
|
|
|
2959
2958
|
export declare function AgentFlowWidget(props: AgentFlowWidgetProps): JSX.Element;
|
|
2960
2959
|
|
|
2961
2960
|
/** One ranked row. */
|
|
2962
|
-
export interface LeaderRow { id?: string; name: string; sub?: React.ReactNode; kind?: 'agent' | 'person' | 'system'; product?:
|
|
2961
|
+
export interface LeaderRow { id?: string; name: string; sub?: React.ReactNode; kind?: 'agent' | 'person' | 'system'; product?: Product; icon?: string; value: number; /** Change since the last period, in the value's unit */ delta?: number; }
|
|
2963
2962
|
/** Ranked rows in a Card: an agent or a person, a bar against the leader, the value and the change since the last period; optional period switch. */
|
|
2964
2963
|
export interface LeaderboardWidgetProps extends Omit<React.HTMLAttributes<HTMLElement>, 'format' | 'max' | 'title'> {
|
|
2965
2964
|
rows: LeaderRow[];
|
|
@@ -2985,7 +2984,7 @@ export interface LeaderboardWidgetProps extends Omit<React.HTMLAttributes<HTMLEl
|
|
|
2985
2984
|
export declare function LeaderboardWidget(props: LeaderboardWidgetProps): JSX.Element;
|
|
2986
2985
|
|
|
2987
2986
|
/** A CalendarView event with the agenda's extra fields. */
|
|
2988
|
-
export interface AgendaEvent { id?: string | number; title: string; start: Date | string; end?: Date | string; allDay?: boolean; tone?:
|
|
2987
|
+
export interface AgendaEvent { id?: string | number; title: string; start: Date | string; end?: Date | string; allDay?: boolean; tone?: Tone; kind?: 'run' | 'review' | 'call' | 'maintenance' | 'deploy' | 'meeting' | string; tenant?: string; meta?: React.ReactNode; }
|
|
2989
2988
|
/** One day of CalendarView events in a Card: a time rail, a tone bar per event, done / live / in n min, and a now line. */
|
|
2990
2989
|
export interface AgendaWidgetProps extends Omit<React.HTMLAttributes<HTMLElement>, 'max' | 'title'> {
|
|
2991
2990
|
/** Events of any day; only the shown day's are listed */
|
|
@@ -3024,7 +3023,7 @@ export interface OnboardingWidgetProps extends Omit<React.HTMLAttributes<HTMLEle
|
|
|
3024
3023
|
export declare function OnboardingWidget(props: OnboardingWidgetProps): JSX.Element;
|
|
3025
3024
|
|
|
3026
3025
|
/** One comment: FeedPost fields plus resolved. */
|
|
3027
|
-
export interface CommentItem { id?: string | number; author: string | { name: string; kind?: 'person' | 'agent' | 'system'; product?:
|
|
3026
|
+
export interface CommentItem { id?: string | number; author: string | { name: string; kind?: 'person' | 'agent' | 'system'; product?: Product }; kind?: 'person' | 'agent' | 'system'; action?: React.ReactNode; target?: React.ReactNode; time?: string; /** @handles are picked out in link colour */ text: React.ReactNode; replies?: any[]; likes?: number; liked?: boolean; resolved?: boolean; /** warn wraps the body (an escalation) */ tone?: 'warn'; }
|
|
3028
3027
|
/** A comment thread in a Card: FeedPosts with @mentions picked out, replies and likes, and the Publisher docked under the list. */
|
|
3029
3028
|
export interface CommentsWidgetProps extends Omit<React.HTMLAttributes<HTMLElement>, 'onSubmit' | 'title'> {
|
|
3030
3029
|
comments: CommentItem[];
|
package/dist/styles.css
CHANGED
|
@@ -1107,7 +1107,7 @@ button.agn-card:disabled { cursor: default; opacity: .55; }
|
|
|
1107
1107
|
.agn-card__footer { display: flex; align-items: center; justify-content: center; min-height: 36px; padding: var(--space-1) var(--space-3); border-top: 1px solid var(--line); font-size: 12px; }
|
|
1108
1108
|
|
|
1109
1109
|
/* ---- Toolbar ---- */
|
|
1110
|
-
.agn-toolbar { display: flex; align-items: center; gap: var(--space-2); min-height: var(--control-h); padding: var(--space-2) 0; background: var(--bg); min-width: 0; }
|
|
1110
|
+
.agn-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); min-height: var(--control-h); padding: var(--space-2) 0; background: var(--bg); min-width: 0; }
|
|
1111
1111
|
.agn-toolbar--sticky { position: sticky; top: 0; z-index: var(--z-sticky); }
|
|
1112
1112
|
.agn-toolbar--bare { background: transparent; }
|
|
1113
1113
|
.agn-toolbar__title { display: inline-flex; align-items: baseline; gap: var(--space-2); font-family: var(--font-display); font-size: 15px; font-weight: 600; letter-spacing: -.01em; color: var(--text); white-space: nowrap; margin-right: var(--space-2); }
|