@tensor_1/react 2.16.0 → 2.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chart-preset.cjs +15 -3
- package/dist/chart.cjs +15 -3
- package/dist/components/Alert.js +15 -7
- package/dist/components/AppShell.d.ts +3 -1
- package/dist/components/AppShell.js +3 -1
- package/dist/components/Avatar.js +2 -1
- package/dist/components/Button.js +32 -16
- package/dist/components/Card.d.ts +3 -1
- package/dist/components/Card.js +2 -2
- package/dist/components/ChartCore.js +15 -3
- package/dist/components/CommandPalette.d.ts +4 -2
- package/dist/components/CommandPalette.js +66 -13
- package/dist/components/Comments.d.ts +5 -1
- package/dist/components/Comments.js +1 -1
- package/dist/components/Composer.d.ts +8 -1
- package/dist/components/Composer.js +7 -2
- package/dist/components/DetailLayout.js +1 -1
- package/dist/components/Drawer.d.ts +3 -4
- package/dist/components/Drawer.js +6 -4
- package/dist/components/Field.js +6 -3
- package/dist/components/Inbox.d.ts +13 -3
- package/dist/components/Inbox.js +62 -3
- package/dist/components/Input.d.ts +13 -2
- package/dist/components/Input.js +20 -5
- package/dist/components/Kanban.d.ts +15 -3
- package/dist/components/Kanban.js +42 -10
- package/dist/components/Meter.d.ts +3 -1
- package/dist/components/Meter.js +9 -1
- package/dist/components/Modal.d.ts +4 -5
- package/dist/components/Modal.js +4 -4
- package/dist/components/NavFavourites.js +11 -0
- package/dist/components/PageHeader.d.ts +3 -1
- package/dist/components/PageHeader.js +2 -2
- package/dist/components/Peek.d.ts +3 -4
- package/dist/components/Peek.js +9 -6
- package/dist/components/Progress.d.ts +3 -1
- package/dist/components/Progress.js +5 -3
- package/dist/components/Radio.d.ts +3 -1
- package/dist/components/Radio.js +6 -2
- package/dist/components/Spinner.d.ts +3 -1
- package/dist/components/Spinner.js +3 -3
- package/dist/components/Stat.js +5 -1
- package/dist/components/States.d.ts +1 -0
- package/dist/components/States.js +7 -1
- package/dist/components/Table.d.ts +8 -1
- package/dist/components/Table.js +10 -6
- package/dist/components/Tabs.d.ts +13 -1
- package/dist/components/Tabs.js +79 -4
- package/dist/components/Timeline.d.ts +3 -3
- package/dist/components/Timeline.js +3 -3
- package/dist/components/Toast.js +42 -5
- package/dist/components/Tooltip.d.ts +3 -1
- package/dist/components/Tooltip.js +44 -5
- package/dist/components/Tree.d.ts +2 -0
- package/dist/components/Tree.js +26 -4
- package/dist/hooks/useDialog.d.ts +1 -1
- package/dist/hooks/useDialog.js +17 -2
- package/dist/hooks/useTable.d.ts +5 -0
- package/dist/hooks/useTable.js +20 -1
- package/dist/index.cjs +693 -243
- package/dist/index.d.cts +125 -35
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -1
- package/dist/tree-model.d.ts +4 -0
- package/dist/tree-model.js +8 -0
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import * as react from 'react';
|
|
2
|
-
import { RefObject, ButtonHTMLAttributes, ReactNode, InputHTMLAttributes, HTMLAttributes, TextareaHTMLAttributes, SelectHTMLAttributes,
|
|
2
|
+
import { RefObject, ButtonHTMLAttributes, ReactNode, InputHTMLAttributes, AriaAttributes, HTMLAttributes, TextareaHTMLAttributes, SelectHTMLAttributes, AnchorHTMLAttributes, DetailsHTMLAttributes, TdHTMLAttributes, TableHTMLAttributes, ThHTMLAttributes } from 'react';
|
|
3
3
|
|
|
4
4
|
declare function cx(...args: (string | false | null | undefined | 0)[]): string;
|
|
5
5
|
|
|
6
|
-
declare function useDialog(open: boolean): React.RefObject<HTMLDialogElement>;
|
|
6
|
+
declare function useDialog(open: boolean, onClose?: () => void): React.RefObject<HTMLDialogElement>;
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* uix table engine — framework-agnostic, dependency-free logic for data grids.
|
|
@@ -114,6 +114,11 @@ interface UseTableResult<T> {
|
|
|
114
114
|
pinned: ReadonlySet<string>;
|
|
115
115
|
/** header select-all tri-state over the current derived rows. */
|
|
116
116
|
selectAll: SelectAllState;
|
|
117
|
+
/**
|
|
118
|
+
* Screen-reader status text reflecting the latest change — "Sorted by {field}, {dir}",
|
|
119
|
+
* "{n} results" (filter/search), "{n} selected". Pass to `<TableWrap announcement>` (UIX-A11Y-2).
|
|
120
|
+
*/
|
|
121
|
+
announcement: string;
|
|
117
122
|
/** cycle a column's sort; pass additive (⇧-click) to keep it as a secondary key. */
|
|
118
123
|
toggleSort: (field: string, additive?: boolean) => void;
|
|
119
124
|
setSort: (keys: SortKey[]) => void;
|
|
@@ -265,8 +270,19 @@ interface InputGroupProps {
|
|
|
265
270
|
leadingIcon?: ReactNode;
|
|
266
271
|
trailingIcon?: ReactNode;
|
|
267
272
|
className?: string;
|
|
273
|
+
/** Injected by `<Field>` when it wraps the group; forwarded onto the child control. */
|
|
274
|
+
id?: string;
|
|
275
|
+
'aria-describedby'?: string;
|
|
276
|
+
'aria-invalid'?: AriaAttributes['aria-invalid'];
|
|
277
|
+
'aria-required'?: AriaAttributes['aria-required'];
|
|
268
278
|
}
|
|
269
|
-
|
|
279
|
+
/**
|
|
280
|
+
* Icon-adorned wrapper for a child `<Input>`. The control is passed as `children`, so
|
|
281
|
+
* `<Field>`'s injected `id`/`aria-*` land on this wrapper — they're forwarded onto the
|
|
282
|
+
* single child element (the child's own props win) so label/message association survives
|
|
283
|
+
* the extra div (UIX-A11Y-3).
|
|
284
|
+
*/
|
|
285
|
+
declare function InputGroup({ children, leadingIcon, trailingIcon, className, id, 'aria-describedby': describedBy, 'aria-invalid': invalid, 'aria-required': required, }: InputGroupProps): react.JSX.Element;
|
|
270
286
|
|
|
271
287
|
interface ComboboxOption {
|
|
272
288
|
value: string;
|
|
@@ -313,8 +329,10 @@ declare const Radio: react.ForwardRefExoticComponent<RadioProps & react.RefAttri
|
|
|
313
329
|
interface RadioGroupProps {
|
|
314
330
|
children: ReactNode;
|
|
315
331
|
className?: string;
|
|
332
|
+
/** Group name; when set the group renders as fieldset/legend so it's announced with each radio. */
|
|
333
|
+
label?: ReactNode;
|
|
316
334
|
}
|
|
317
|
-
declare function RadioGroup({ children, className }: RadioGroupProps): react.JSX.Element;
|
|
335
|
+
declare function RadioGroup({ children, className, label }: RadioGroupProps): react.JSX.Element;
|
|
318
336
|
|
|
319
337
|
interface SwitchProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type'> {
|
|
320
338
|
label?: ReactNode;
|
|
@@ -333,18 +351,17 @@ interface FieldProps {
|
|
|
333
351
|
}
|
|
334
352
|
declare function Field({ label, hint, error, success, required, children, className, htmlFor }: FieldProps): react.JSX.Element;
|
|
335
353
|
|
|
336
|
-
interface ModalProps {
|
|
354
|
+
interface ModalProps extends Omit<HTMLAttributes<HTMLDialogElement>, 'title'> {
|
|
337
355
|
open: boolean;
|
|
338
356
|
onClose?: () => void;
|
|
339
357
|
title?: ReactNode;
|
|
340
358
|
children?: ReactNode;
|
|
341
359
|
footer?: ReactNode;
|
|
342
|
-
|
|
343
|
-
style?: CSSProperties;
|
|
360
|
+
/** Accessible name for the close button (default "Close dialog"). */
|
|
344
361
|
closeLabel?: string;
|
|
345
362
|
role?: 'dialog' | 'alertdialog';
|
|
346
363
|
}
|
|
347
|
-
declare function Modal({ open, onClose, title, children, footer, className,
|
|
364
|
+
declare function Modal({ open, onClose, title, children, footer, className, closeLabel, role, ...rest }: ModalProps): react.JSX.Element;
|
|
348
365
|
|
|
349
366
|
interface ConfirmDialogProps {
|
|
350
367
|
open: boolean;
|
|
@@ -377,17 +394,16 @@ interface PromptDialogProps {
|
|
|
377
394
|
}
|
|
378
395
|
declare function PromptDialog({ open, title, description, inputLabel, defaultValue, placeholder, submitLabel, cancelLabel, closeLabel, onSubmit, onCancel, validate, pending }: PromptDialogProps): react.JSX.Element;
|
|
379
396
|
|
|
380
|
-
interface DrawerProps {
|
|
397
|
+
interface DrawerProps extends Omit<HTMLAttributes<HTMLDialogElement>, 'title'> {
|
|
381
398
|
open: boolean;
|
|
382
399
|
onClose?: () => void;
|
|
383
400
|
title?: ReactNode;
|
|
384
401
|
children?: ReactNode;
|
|
385
402
|
footer?: ReactNode;
|
|
386
|
-
className?: string;
|
|
387
403
|
}
|
|
388
|
-
declare function Drawer({ open, onClose, title, children, footer, className }: DrawerProps): react.JSX.Element;
|
|
404
|
+
declare function Drawer({ open, onClose, title, children, footer, className, ...rest }: DrawerProps): react.JSX.Element;
|
|
389
405
|
|
|
390
|
-
interface PeekProps {
|
|
406
|
+
interface PeekProps extends Omit<HTMLAttributes<HTMLDialogElement>, 'title'> {
|
|
391
407
|
open: boolean;
|
|
392
408
|
onClose?: () => void;
|
|
393
409
|
title?: ReactNode;
|
|
@@ -396,18 +412,19 @@ interface PeekProps {
|
|
|
396
412
|
onNavPrev?: () => void;
|
|
397
413
|
onNavNext?: () => void;
|
|
398
414
|
hint?: string;
|
|
399
|
-
className?: string;
|
|
400
415
|
}
|
|
401
|
-
declare function Peek({ open, onClose, title, children, footer, onNavPrev, onNavNext, hint, className }: PeekProps): react.JSX.Element;
|
|
416
|
+
declare function Peek({ open, onClose, title, children, footer, onNavPrev, onNavNext, hint, className, onClick, ...rest }: PeekProps): react.JSX.Element;
|
|
402
417
|
|
|
403
418
|
interface CardProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {
|
|
404
419
|
title?: ReactNode;
|
|
420
|
+
/** Element for the title — pick a real heading to slot the card into the page outline (UIX-A11Y-4). Default `div` keeps legacy rendering. */
|
|
421
|
+
titleAs?: 'h2' | 'h3' | 'h4' | 'div';
|
|
405
422
|
subtitle?: ReactNode;
|
|
406
423
|
headerAction?: ReactNode;
|
|
407
424
|
footer?: ReactNode;
|
|
408
425
|
children?: ReactNode;
|
|
409
426
|
}
|
|
410
|
-
declare function Card({ title, subtitle, headerAction, footer, children, className, ...props }: CardProps): react.JSX.Element;
|
|
427
|
+
declare function Card({ title, titleAs: TitleTag, subtitle, headerAction, footer, children, className, ...props }: CardProps): react.JSX.Element;
|
|
411
428
|
interface CardLinkProps extends Omit<AnchorHTMLAttributes<HTMLAnchorElement>, 'title'> {
|
|
412
429
|
title?: ReactNode;
|
|
413
430
|
subtitle?: ReactNode;
|
|
@@ -435,6 +452,8 @@ declare function Breadcrumbs({ items, label, separator, className, ...props }: B
|
|
|
435
452
|
interface PageHeaderProps extends Omit<HTMLAttributes<HTMLElement>, 'title'> {
|
|
436
453
|
eyebrow?: ReactNode;
|
|
437
454
|
title: ReactNode;
|
|
455
|
+
/** Heading level for the title — drop to `h2` when the page already owns an `h1` (UIX-A11Y-4). */
|
|
456
|
+
as?: 'h1' | 'h2';
|
|
438
457
|
/** Supporting copy under the title. */
|
|
439
458
|
subtitle?: ReactNode;
|
|
440
459
|
/** Right-aligned action area (buttons, menus). */
|
|
@@ -444,7 +463,7 @@ interface PageHeaderProps extends Omit<HTMLAttributes<HTMLElement>, 'title'> {
|
|
|
444
463
|
* Page header — eyebrow / title / subtitle + actions row, over `.uix-page-header`.
|
|
445
464
|
* The hairline + breathing room below come from the component CSS.
|
|
446
465
|
*/
|
|
447
|
-
declare function PageHeader({ eyebrow, title, subtitle, actions, className, ...props }: PageHeaderProps): react.JSX.Element;
|
|
466
|
+
declare function PageHeader({ eyebrow, title, subtitle, actions, as: TitleTag, className, ...props }: PageHeaderProps): react.JSX.Element;
|
|
448
467
|
|
|
449
468
|
interface DetailLayoutProps extends HTMLAttributes<HTMLDivElement> {
|
|
450
469
|
/** The narrow trailing column (record meta, side panels). */
|
|
@@ -589,6 +608,18 @@ interface TabProps extends Omit<HTMLAttributes<HTMLButtonElement>, 'onChange'> {
|
|
|
589
608
|
disabled?: boolean;
|
|
590
609
|
}
|
|
591
610
|
declare function Tab({ value, children, disabled, className, onClick, ...props }: TabProps): react.JSX.Element;
|
|
611
|
+
interface TabPanelProps extends HTMLAttributes<HTMLDivElement> {
|
|
612
|
+
/** The owning `<Tab>`'s value — the panel renders only while that tab is selected. */
|
|
613
|
+
value: string;
|
|
614
|
+
children?: ReactNode;
|
|
615
|
+
}
|
|
616
|
+
/**
|
|
617
|
+
* The tabpanel paired with a `<Tab>` by `value` (UIX-A11Y-2): labelled by its tab,
|
|
618
|
+
* `tabIndex 0` so Tab from the tablist lands in the content, rendered only while
|
|
619
|
+
* selected. Place it as a direct child of `<Tabs>` — it is hoisted out of the tablist —
|
|
620
|
+
* or anywhere the Tabs context reaches.
|
|
621
|
+
*/
|
|
622
|
+
declare function TabPanel({ value, children, ...props }: TabPanelProps): react.JSX.Element | null;
|
|
592
623
|
|
|
593
624
|
type ShellNav = 'full' | 'rail' | 'hidden';
|
|
594
625
|
interface AppShellProps extends HTMLAttributes<HTMLDivElement> {
|
|
@@ -606,11 +637,13 @@ interface AppShellProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
606
637
|
onExitFocus?: () => void;
|
|
607
638
|
/** Drop the content gutter so a genuinely wide table runs edge-to-edge. */
|
|
608
639
|
mainBleed?: boolean;
|
|
640
|
+
/** id given to `<main>` and targeted by the skip link. Override on collision (UIX-A11Y-2). */
|
|
641
|
+
mainId?: string;
|
|
609
642
|
sidebar?: ReactNode;
|
|
610
643
|
topbar?: ReactNode;
|
|
611
644
|
children?: ReactNode;
|
|
612
645
|
}
|
|
613
|
-
declare function AppShell({ nav, collapsed, focus, onExitFocus, mainBleed, sidebar, topbar, children, className, ...props }: AppShellProps): react.JSX.Element;
|
|
646
|
+
declare function AppShell({ nav, collapsed, focus, onExitFocus, mainBleed, mainId, sidebar, topbar, children, className, ...props }: AppShellProps): react.JSX.Element;
|
|
614
647
|
|
|
615
648
|
interface SidebarProps extends HTMLAttributes<HTMLElement> {
|
|
616
649
|
collapsed?: boolean;
|
|
@@ -749,8 +782,10 @@ declare function Alert({ tone, title, icon, children, className, ...props }: Ale
|
|
|
749
782
|
interface SpinnerProps extends HTMLAttributes<HTMLSpanElement> {
|
|
750
783
|
size?: 'md' | 'lg';
|
|
751
784
|
accent?: boolean;
|
|
785
|
+
/** Announced loading text (default "Loading…"). */
|
|
786
|
+
label?: string;
|
|
752
787
|
}
|
|
753
|
-
declare function Spinner({ size, accent, className, ...props }: SpinnerProps): react.JSX.Element;
|
|
788
|
+
declare function Spinner({ size, accent, label, className, ...props }: SpinnerProps): react.JSX.Element;
|
|
754
789
|
|
|
755
790
|
type ToastTone = 'success' | 'danger' | 'info';
|
|
756
791
|
interface ToastProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {
|
|
@@ -768,6 +803,11 @@ interface ToasterProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
768
803
|
declare function Toaster({ children, className, ...props }: ToasterProps): react.JSX.Element;
|
|
769
804
|
|
|
770
805
|
interface TableWrapProps extends HTMLAttributes<HTMLDivElement> {
|
|
806
|
+
/**
|
|
807
|
+
* Polite live-region text for table state changes — "Sorted by …", "N results",
|
|
808
|
+
* "N selected". Pass `useTable().announcement` straight through (UIX-A11Y-2).
|
|
809
|
+
*/
|
|
810
|
+
announcement?: string;
|
|
771
811
|
children?: ReactNode;
|
|
772
812
|
}
|
|
773
813
|
declare const TableWrap: react.ForwardRefExoticComponent<TableWrapProps & react.RefAttributes<HTMLDivElement>>;
|
|
@@ -819,9 +859,11 @@ interface RowActionProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
|
819
859
|
declare function RowAction({ children, className, type, ...props }: RowActionProps): react.JSX.Element;
|
|
820
860
|
interface ExpandToggleProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
821
861
|
expanded?: boolean;
|
|
862
|
+
/** id of the detail row this toggle controls → `aria-controls` (UIX-A11Y-2). */
|
|
863
|
+
controls?: string;
|
|
822
864
|
}
|
|
823
865
|
/** Chevron button that expands/collapses an inline detail row. */
|
|
824
|
-
declare function ExpandToggle({ expanded, className, type, ...props }: ExpandToggleProps): react.JSX.Element;
|
|
866
|
+
declare function ExpandToggle({ expanded, controls, className, type, ...props }: ExpandToggleProps): react.JSX.Element;
|
|
825
867
|
/** Emphasised primary cell text. */
|
|
826
868
|
declare function CellStrong({ children, className, ...props }: HTMLAttributes<HTMLSpanElement>): react.JSX.Element;
|
|
827
869
|
/** Secondary line under a primary cell value (muted, meta size). */
|
|
@@ -863,8 +905,10 @@ interface ProgressProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
863
905
|
max?: number;
|
|
864
906
|
/** Continuous slide animation when the amount of work is unknown. */
|
|
865
907
|
indeterminate?: boolean;
|
|
908
|
+
/** Accessible name — rendered as `aria-label` (an explicit `aria-label` prop wins). */
|
|
909
|
+
label?: string;
|
|
866
910
|
}
|
|
867
|
-
declare function Progress({ value, max, indeterminate, className, ...props }: ProgressProps): react.JSX.Element;
|
|
911
|
+
declare function Progress({ value, max, indeterminate, label, className, ...props }: ProgressProps): react.JSX.Element;
|
|
868
912
|
|
|
869
913
|
/** Fill color tone for the meter bar. Defaults to `success` (green). */
|
|
870
914
|
type MeterTone = 'success' | 'warning' | 'danger' | 'attention' | 'overdue';
|
|
@@ -873,9 +917,11 @@ interface MeterProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
873
917
|
value?: number;
|
|
874
918
|
/** Threshold tone applied via `data-tone` on the fill element. `success` is the implicit default (no attribute). */
|
|
875
919
|
tone?: MeterTone;
|
|
920
|
+
/** Accessible name — rendered as `aria-label` (an explicit `aria-label` prop wins). */
|
|
921
|
+
label?: string;
|
|
876
922
|
}
|
|
877
923
|
/** Horizontal utilization / threshold bar backed by `.uix-meter`. */
|
|
878
|
-
declare function Meter({ value, tone, className, ...props }: MeterProps): react.JSX.Element;
|
|
924
|
+
declare function Meter({ value, tone, label, className, ...props }: MeterProps): react.JSX.Element;
|
|
879
925
|
|
|
880
926
|
interface StatTrend {
|
|
881
927
|
direction: 'up' | 'down';
|
|
@@ -905,7 +951,9 @@ interface TooltipProps extends HTMLAttributes<HTMLSpanElement> {
|
|
|
905
951
|
* Tooltip whose bubble renders in the top layer via the native Popover API, so it
|
|
906
952
|
* escapes any `overflow: hidden/scroll` ancestor that would clip the old CSS-only
|
|
907
953
|
* `[data-uix-tip]` tooltip (UIX-FIX-02). Positioned by the shared overlay engine
|
|
908
|
-
* (flip/shift), shown on hover and keyboard focus, dismissed on blur or Escape
|
|
954
|
+
* (flip/shift), shown on hover and keyboard focus, dismissed on blur or Escape
|
|
955
|
+
* (document-level, per WCAG 1.4.13), and hoverable: the bubble stays open while
|
|
956
|
+
* the pointer is over it (UIX-A11Y-1).
|
|
909
957
|
*/
|
|
910
958
|
declare function Tooltip({ label, placement, className, children, ...props }: TooltipProps): react.JSX.Element;
|
|
911
959
|
|
|
@@ -957,6 +1005,7 @@ interface LoadingStateProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
957
1005
|
/** Number of skeleton rows to render. */
|
|
958
1006
|
rows?: number;
|
|
959
1007
|
density?: 'compact' | 'comfortable';
|
|
1008
|
+
/** Announced loading text (default "Loading"). */
|
|
960
1009
|
label?: string;
|
|
961
1010
|
}
|
|
962
1011
|
/** A stack of skeleton rows for list/section loading. `role="status"`. */
|
|
@@ -1039,7 +1088,11 @@ declare function UserChip({ avatar, name, sub, className, children, ...props }:
|
|
|
1039
1088
|
interface CommentsProps extends HTMLAttributes<HTMLDivElement> {
|
|
1040
1089
|
children?: ReactNode;
|
|
1041
1090
|
}
|
|
1042
|
-
/**
|
|
1091
|
+
/**
|
|
1092
|
+
* Comment thread container over `.uix-comments`. role="log" is an implicit polite
|
|
1093
|
+
* live region: comments appended after initial render are announced, the initial
|
|
1094
|
+
* list is not (UIX-A11Y-3). Pass `role` to override.
|
|
1095
|
+
*/
|
|
1043
1096
|
declare function Comments({ children, className, ...props }: CommentsProps): react.JSX.Element;
|
|
1044
1097
|
interface CommentProps extends HTMLAttributes<HTMLDivElement> {
|
|
1045
1098
|
/** Usually an `<Avatar />` (the grid reserves the leading column). */
|
|
@@ -1053,6 +1106,8 @@ declare function Comment({ avatar, author, meta, children, className, ...props }
|
|
|
1053
1106
|
|
|
1054
1107
|
interface ComposerProps extends HTMLAttributes<HTMLDivElement> {
|
|
1055
1108
|
children?: ReactNode;
|
|
1109
|
+
/** Accessible name for the child `<textarea>`; applied as its `aria-label`. */
|
|
1110
|
+
label?: string;
|
|
1056
1111
|
}
|
|
1057
1112
|
/**
|
|
1058
1113
|
* Composer surface over `.uix-composer` — a single box that owns the
|
|
@@ -1060,8 +1115,13 @@ interface ComposerProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
1060
1115
|
* `<ComposerBar>` inside; the descendant `textarea` picks up the composer's
|
|
1061
1116
|
* padding/typography automatically, so the input never reads as a second
|
|
1062
1117
|
* nested box.
|
|
1118
|
+
*
|
|
1119
|
+
* A placeholder is not an accessible name, so the composer labels a bare child
|
|
1120
|
+
* `<textarea>` with `label` (default "Add a comment"); a textarea that brings its
|
|
1121
|
+
* own `aria-label`/`aria-labelledby` — or an `id` (likely tied to an external
|
|
1122
|
+
* `<label htmlFor>`) — is left untouched (UIX-A11Y-3).
|
|
1063
1123
|
*/
|
|
1064
|
-
declare function Composer({ children, className, ...props }: ComposerProps): react.JSX.Element;
|
|
1124
|
+
declare function Composer({ children, className, label, ...props }: ComposerProps): react.JSX.Element;
|
|
1065
1125
|
interface ComposerBarProps extends HTMLAttributes<HTMLDivElement> {
|
|
1066
1126
|
children?: ReactNode;
|
|
1067
1127
|
}
|
|
@@ -1166,12 +1226,12 @@ type SavedViewMenuProps = SavedViewMenuBaseProps & ({
|
|
|
1166
1226
|
/** Generic saved-view selector. Persistence, ownership and authorization remain application concerns. */
|
|
1167
1227
|
declare function SavedViewMenu({ items, onSelect, onPinChange, pinLabel, unpinLabel, emptyLabel, actions, footer }: SavedViewMenuProps): react.JSX.Element;
|
|
1168
1228
|
|
|
1169
|
-
interface TimelineProps extends HTMLAttributes<
|
|
1229
|
+
interface TimelineProps extends HTMLAttributes<HTMLOListElement> {
|
|
1170
1230
|
children?: ReactNode;
|
|
1171
1231
|
}
|
|
1172
|
-
/** Activity timeline container over `.uix-timeline`. */
|
|
1232
|
+
/** Activity timeline container over `.uix-timeline`. Ordered list so AT reads entry count + sequence (UIX-A11Y-4). */
|
|
1173
1233
|
declare function Timeline({ children, className, ...props }: TimelineProps): react.JSX.Element;
|
|
1174
|
-
interface TimelineItemProps extends HTMLAttributes<
|
|
1234
|
+
interface TimelineItemProps extends HTMLAttributes<HTMLLIElement> {
|
|
1175
1235
|
/**
|
|
1176
1236
|
* Custom rail node — an icon puck, an avatar, a tinted dot. Defaults to the
|
|
1177
1237
|
* accent `.uix-timeline__node` dot. Supply this to make a heterogeneous feed
|
|
@@ -1278,7 +1338,9 @@ interface CommandPaletteProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
1278
1338
|
}
|
|
1279
1339
|
/**
|
|
1280
1340
|
* ⌘K command palette surface over `.uix-cmdk`. Presentational: mount it inside a
|
|
1281
|
-
* Modal/Popover and wire search + keyboard selection in the consumer.
|
|
1341
|
+
* Modal/Popover and wire search + keyboard selection in the consumer. The input is
|
|
1342
|
+
* a combobox over the listbox of `CommandItem`s; spreads override every default, so
|
|
1343
|
+
* consumers already passing their own roles/labels keep working.
|
|
1282
1344
|
*/
|
|
1283
1345
|
declare function CommandPalette({ inputProps, children, className, ...props }: CommandPaletteProps): react.JSX.Element;
|
|
1284
1346
|
interface CommandGroupProps {
|
|
@@ -1295,17 +1357,27 @@ interface CommandItemProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
1295
1357
|
children?: ReactNode;
|
|
1296
1358
|
}
|
|
1297
1359
|
/** A single command row over `.uix-cmdk__item`. */
|
|
1298
|
-
declare function CommandItem({ icon, shortcut, active, children, className, ...props }: CommandItemProps): react.JSX.Element;
|
|
1360
|
+
declare function CommandItem({ icon, shortcut, active, children, className, id, ...props }: CommandItemProps): react.JSX.Element;
|
|
1299
1361
|
|
|
1300
1362
|
interface InboxProps extends HTMLAttributes<HTMLDivElement> {
|
|
1363
|
+
/**
|
|
1364
|
+
* Which pane a narrow viewport (<700px) shows: 'list' (default, matches the old
|
|
1365
|
+
* behaviour) or 'detail'. Consumers should render a Back control in the detail pane
|
|
1366
|
+
* on narrow viewports to return to the list (UIX-A11Y-2).
|
|
1367
|
+
*/
|
|
1368
|
+
view?: 'list' | 'detail';
|
|
1301
1369
|
children?: ReactNode;
|
|
1302
1370
|
}
|
|
1303
1371
|
/** Two-pane inbox master-detail container backed by `.uix-inbox`. Place `<InboxList>` and `<InboxDetail>` as children. */
|
|
1304
|
-
declare function Inbox({ children, className, ...props }: InboxProps): react.JSX.Element;
|
|
1372
|
+
declare function Inbox({ view, children, className, ...props }: InboxProps): react.JSX.Element;
|
|
1305
1373
|
interface InboxListProps extends HTMLAttributes<HTMLDivElement> {
|
|
1306
1374
|
children?: ReactNode;
|
|
1307
1375
|
}
|
|
1308
|
-
/**
|
|
1376
|
+
/**
|
|
1377
|
+
* Left-pane item list. Place `<InboxItem>` children here. A keyboard listbox
|
|
1378
|
+
* (UIX-A11Y-2): the list is the single tab stop; ArrowUp/ArrowDown/Home/End move the
|
|
1379
|
+
* active option via `aria-activedescendant`, Enter/Space click it.
|
|
1380
|
+
*/
|
|
1309
1381
|
declare function InboxList({ children, className, ...props }: InboxListProps): react.JSX.Element;
|
|
1310
1382
|
interface InboxItemProps extends HTMLAttributes<HTMLDivElement> {
|
|
1311
1383
|
/** Primary subject / title line. */
|
|
@@ -1321,7 +1393,7 @@ interface InboxItemProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
1321
1393
|
children?: ReactNode;
|
|
1322
1394
|
}
|
|
1323
1395
|
/** A single inbox row with subject, preview excerpt, optional leading slot, and unread/selected states. */
|
|
1324
|
-
declare function InboxItem({ subject, preview, leading, unread, selected, children, className, ...props }: InboxItemProps): react.JSX.Element;
|
|
1396
|
+
declare function InboxItem({ subject, preview, leading, unread, selected, children, className, id, ...props }: InboxItemProps): react.JSX.Element;
|
|
1325
1397
|
interface InboxDetailProps extends HTMLAttributes<HTMLDivElement> {
|
|
1326
1398
|
children?: ReactNode;
|
|
1327
1399
|
}
|
|
@@ -1329,25 +1401,39 @@ interface InboxDetailProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
1329
1401
|
declare function InboxDetail({ children, className, ...props }: InboxDetailProps): react.JSX.Element;
|
|
1330
1402
|
|
|
1331
1403
|
interface KanbanProps extends HTMLAttributes<HTMLDivElement> {
|
|
1404
|
+
/**
|
|
1405
|
+
* Polite live-region text for keyboard moves (UIX-A11Y-2). `onMove` implementations
|
|
1406
|
+
* should set it, e.g. "Card X moved to Doing, position 2 of 4".
|
|
1407
|
+
*/
|
|
1408
|
+
announcement?: string;
|
|
1332
1409
|
children?: ReactNode;
|
|
1333
1410
|
}
|
|
1334
|
-
declare function Kanban({ children, className, ...props }: KanbanProps): react.JSX.Element;
|
|
1411
|
+
declare function Kanban({ announcement, children, className, ...props }: KanbanProps): react.JSX.Element;
|
|
1335
1412
|
interface KanbanColumnProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {
|
|
1336
1413
|
title?: ReactNode;
|
|
1337
1414
|
count?: number;
|
|
1338
1415
|
children?: ReactNode;
|
|
1339
1416
|
}
|
|
1340
1417
|
declare function KanbanColumn({ title, count, children, className, ...props }: KanbanColumnProps): react.JSX.Element;
|
|
1418
|
+
type KanbanMoveDirection = 'up' | 'down' | 'left' | 'right';
|
|
1341
1419
|
interface KanbanCardProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {
|
|
1342
1420
|
title?: ReactNode;
|
|
1343
1421
|
meta?: ReactNode;
|
|
1422
|
+
/**
|
|
1423
|
+
* Keyboard move contract (UIX-A11Y-2): when provided, Alt+Arrow on the focused card
|
|
1424
|
+
* calls it — the same accelerator convention as NavFavourites row moves. Pair with
|
|
1425
|
+
* the board-level `announcement` so SR users hear the result.
|
|
1426
|
+
*/
|
|
1427
|
+
onMove?: (dir: KanbanMoveDirection) => void;
|
|
1344
1428
|
children?: ReactNode;
|
|
1345
1429
|
}
|
|
1346
|
-
declare function KanbanCard({ title, meta, children, className, ...props }: KanbanCardProps): react.JSX.Element;
|
|
1430
|
+
declare function KanbanCard({ title, meta, children, className, onMove, onKeyDown, ...props }: KanbanCardProps): react.JSX.Element;
|
|
1347
1431
|
|
|
1348
1432
|
interface TreeNodeData {
|
|
1349
1433
|
id: string;
|
|
1350
1434
|
label: ReactNode;
|
|
1435
|
+
/** Plain-text label for keyboard typeahead when `label` is not a string (UIX-A11Y-2). */
|
|
1436
|
+
typeaheadLabel?: string;
|
|
1351
1437
|
icon?: ReactNode;
|
|
1352
1438
|
children?: TreeNodeData[];
|
|
1353
1439
|
}
|
|
@@ -1396,6 +1482,10 @@ declare function Tree({ nodes, expanded: controlledExpanded, defaultExpanded, se
|
|
|
1396
1482
|
interface TreeLike<T> {
|
|
1397
1483
|
id: string;
|
|
1398
1484
|
children?: T[];
|
|
1485
|
+
/** The display label — typeahead matches it only when it is a plain string (UIX-A11Y-2). */
|
|
1486
|
+
label?: unknown;
|
|
1487
|
+
/** Explicit typeahead text for nodes whose `label` is not a string (rich ReactNode labels). */
|
|
1488
|
+
typeaheadLabel?: string;
|
|
1399
1489
|
}
|
|
1400
1490
|
interface FlatNode<T> {
|
|
1401
1491
|
node: T;
|
|
@@ -2047,4 +2137,4 @@ declare function hsvToHex(value: HsvColor): string;
|
|
|
2047
2137
|
declare function contrastRatio(background: string, foreground: string): number | undefined;
|
|
2048
2138
|
declare function meetsContrast(background: string, foreground: string, minimum?: number): boolean;
|
|
2049
2139
|
|
|
2050
|
-
export { type AccessStateProps, Alert, type AlertProps, type AlertTone, type Align, AppShell, type AppShellProps, type AppliedBrandProfileSnapshot, type AsyncOperationState, AsyncOperationStatus, type AsyncOperationStatusProps, Avatar, AvatarGroup, type AvatarGroupProps, type AvatarProps, type BoundedRelationshipGraph, type BrandProfile, BrandProfileEditor, type BrandProfileEditorProps, type BrandProfileLogo, type BrandProfileTypography, BrandProfiles, type BreadcrumbItem, Breadcrumbs, type BreadcrumbsProps, BuilderCanvas, type BuilderCanvasItem, type BuilderCanvasProps, type BuilderPaletteItem, BulkBar, type BulkBarProps, Button, ButtonGroup, type ButtonGroupProps, type ButtonProps, type CalendarDay, Card, CardLink, type CardLinkProps, type CardProps, CellStrong, CellSub, Checkbox, type CheckboxProps, CollapsibleSection, type CollapsibleSectionProps, ColorPicker, type ColorPickerProps, type ColumnFilter, Combobox, type ComboboxOption, type ComboboxProps, CommandGroup, type CommandGroupProps, CommandItem, type CommandItemProps, CommandPalette, type CommandPaletteProps, Comment, type CommentProps, Comments, type CommentsProps, Composer, ComposerBar, type ComposerBarProps, type ComposerProps, ConfirmDialog, type ConfirmDialogProps, ContentList, ContentListItem, type ContentListItemProps, type ContentListProps, DateRangePicker, type DateRangePickerProps, type DateRangeValue, DescriptionItem, type DescriptionItemProps, DescriptionList, type DescriptionListItem, type DescriptionListProps, DetailLayout, type DetailLayoutProps, DetailPage, type DetailPageMetric, type DetailPageProps, type DetailPageTab, type DiffEntry, type DiffKind, type DiffResolution, type DiffSummary, DiffViewer, type DiffViewerProps, Drawer, type DrawerProps, EmptyState, type EmptyStateProps, ErrorState, type ErrorStateProps, EventRow, type EventRowProps, ExpandToggle, type ExpandToggleProps, FeaturedRundown, FeaturedRundownItem, type FeaturedRundownItemProps, type FeaturedRundownProps, FeaturedStage, type FeaturedStageProps, Field, type FieldProps, type FilterKind, type FilterOp, type FilterOption, FilterPopover, type FilterPopoverProps, FilteredEmptyState, type FlatNode, Flow, FlowNode, type FlowNodeProps, type FlowNodeState, type FlowProps, type FlowVariant, ForbiddenState, Highlighted, type HighlightedProps, type HsvColor, Inbox, InboxDetail, type InboxDetailProps, InboxItem, type InboxItemProps, InboxList, type InboxListProps, type InboxProps, Input, InputGroup, type InputGroupProps, type InputProps, type JsonPrimitive, type JsonValue, Kanban, KanbanCard, type KanbanCardProps, KanbanColumn, type KanbanColumnProps, type KanbanProps, Label, type LabelProps, LicensePositionBar, type LicensePositionBarProps, List, ListItem, type ListItemProps, type ListProps, LoadingState, type LoadingStateProps, Mark, type MarkProps, type MatchBulkResult, MatchReview, type MatchReviewAction, type MatchReviewCandidate, type MatchReviewField, type MatchReviewProps, Meter, type MeterProps, type MeterTone, MetricInput, type MetricInputProps, Modal, type ModalProps, type NavFavouriteItem, NavFavourites, type NavFavouritesLabels, type NavFavouritesProps, NavGroup, type NavGroupProps, NavItem, type NavItemProps, NewsLead, type NewsLeadProps, NotFoundState, Note, type NoteProps, type NoteTone, NoticeQueue, type NoticeQueueProps, PageHeader, type PageHeaderProps, PageIntro, type PageIntroProps, Pagination, type PaginationProps, Peek, type PeekProps, type PillTone, type PillTreatment, Pipeline, type PipelineProps, PipelineStage, type PipelineStageProps, type PipelineStageState, type Placement, Popover, type PopoverProps, type PositionOptions, type PositionResult, type PositionedRelationshipNode, type Primitive, Progress, type ProgressProps, PromptDialog, type PromptDialogProps, Prose, type ProseProps, Radio, RadioGroup, type RadioGroupProps, type RadioProps, type Rect, type RelatedLinkItem, RelatedLinks, type RelatedLinksProps, RelationshipGraph, type RelationshipGraphEdge, type RelationshipGraphLegendItem, type RelationshipGraphNode, type RelationshipGraphProps, RelativeTime, type RelativeTimeFormatContext, type RelativeTimeProps, type RelativeTimeUnit, type RelativeTimeValue, ResourceGrid, type ResourceGridProps, type RgbColor, type Row, RowAction, type RowActionProps, RowActions, type RowActionsProps, type RuleAction, type RuleActionDefinition, RuleBuilder, type RuleBuilderProps, type RuleCondition, type RuleDefinition, type RuleFieldDefinition, type RuleGroup, type RuleOperatorDefinition, type RuleValidationIssue, type RuleValueEditorProps, type SavedViewItem, SavedViewMenu, type SavedViewMenuProps, SchedulingCalendar, type SchedulingCalendarEntry, type SchedulingCalendarOverlay, type SchedulingCalendarProps, type SchedulingCalendarView, type SchedulingEntryState, type SchedulingOverlayKind, SectionHead, type SectionHeadProps, type Segment, Segmented, SegmentedOption, type SegmentedOptionProps, type SegmentedProps, Select, type SelectAllState, type SelectProps, type ShellNav, type Side, Sidebar, type SidebarProps, SidebarSection, type SidebarSectionProps, type Size, Skeleton, type SkeletonProps, type SortDir, type SortDirection, type SortKey, Spinner, type SpinnerProps, StarButton, type StarButtonProps, Stat, StatLine, type StatLineItem, type StatLineProps, type StatProps, type StatTrend, type StateVariant, StatusPill, type StatusPillProps, StatusRow, type StatusRowProps, SubNavItem, type SubNavItemProps, Switch, type SwitchProps, Tab, type TabProps, Table, type TableDensity, type TableProps, TableWrap, type TableWrapProps, Tabs, type TabsProps, Td, type TdProps, Textarea, type TextareaProps, Th, type ThProps, Timeline, TimelineItem, type TimelineItemProps, type TimelineProps, Toast, type ToastProps, type ToastTone, Toaster, type ToasterProps, ToggleRow, type ToggleRowProps, Tooltip, type TooltipProps, Tr, type TrProps, Tree, type TreeLike, type TreeNavAction, type TreeNodeData, type TreeNodeProps, type TreeProps, type UseAnchoredPositionOptions, type UseTableOptions, type UseTableResult, type UseVirtualRowsOptions, type UseVirtualRowsResult, UserChip, type UserChipProps, ViewMenu, type ViewMenuColumn, type ViewMenuProps, type ViewState, type VirtualWindow, type ZonedDateSpan, addCalendarDays, addCalendarMonths, appendRuleNode, applyBrandProfile, applyFilters, boundRelationshipGraph, buildMonthGrid, buildThreeWayDiff, clampMetricValue, clampWidth, computePosition, contrastRatio, cx, enumerateDateSpan, filterComboboxOptions, findRuleNodeDepth, flattenTree, hexToRgb, highlightSegments, hsvToHex, hsvToRgb, isDateInRange, isDateUnavailable, isRuleGroup, layoutRelationshipGraph, mapRuleGroup, matchFilter, meetsContrast, mergePinned, moveRuleNode, multiSort, nextSortDir, normalizeHex, parseDateValue, parseMetricValue, parseView, relationshipNeighbors, relativeTimeValue, removeRuleNode, reorder, restoreBrandProfile, rgbToHex, rgbToHsv, ruleDepth, searchRows, selectAllState, selectRangeDate, serializeView, shouldVirtualize, startOfMonth, stepMetricValue, summarizeDiff, summarizeRule, toDateKey, toggleId, togglePage, toggleSort, traverseRelationshipNode, treeNav, useAnchoredPosition, useDialog, useTable, useVirtualRows, validateRuleDefinition, virtualWindow, zonedDateKey, zonedDateSpan };
|
|
2140
|
+
export { type AccessStateProps, Alert, type AlertProps, type AlertTone, type Align, AppShell, type AppShellProps, type AppliedBrandProfileSnapshot, type AsyncOperationState, AsyncOperationStatus, type AsyncOperationStatusProps, Avatar, AvatarGroup, type AvatarGroupProps, type AvatarProps, type BoundedRelationshipGraph, type BrandProfile, BrandProfileEditor, type BrandProfileEditorProps, type BrandProfileLogo, type BrandProfileTypography, BrandProfiles, type BreadcrumbItem, Breadcrumbs, type BreadcrumbsProps, BuilderCanvas, type BuilderCanvasItem, type BuilderCanvasProps, type BuilderPaletteItem, BulkBar, type BulkBarProps, Button, ButtonGroup, type ButtonGroupProps, type ButtonProps, type CalendarDay, Card, CardLink, type CardLinkProps, type CardProps, CellStrong, CellSub, Checkbox, type CheckboxProps, CollapsibleSection, type CollapsibleSectionProps, ColorPicker, type ColorPickerProps, type ColumnFilter, Combobox, type ComboboxOption, type ComboboxProps, CommandGroup, type CommandGroupProps, CommandItem, type CommandItemProps, CommandPalette, type CommandPaletteProps, Comment, type CommentProps, Comments, type CommentsProps, Composer, ComposerBar, type ComposerBarProps, type ComposerProps, ConfirmDialog, type ConfirmDialogProps, ContentList, ContentListItem, type ContentListItemProps, type ContentListProps, DateRangePicker, type DateRangePickerProps, type DateRangeValue, DescriptionItem, type DescriptionItemProps, DescriptionList, type DescriptionListItem, type DescriptionListProps, DetailLayout, type DetailLayoutProps, DetailPage, type DetailPageMetric, type DetailPageProps, type DetailPageTab, type DiffEntry, type DiffKind, type DiffResolution, type DiffSummary, DiffViewer, type DiffViewerProps, Drawer, type DrawerProps, EmptyState, type EmptyStateProps, ErrorState, type ErrorStateProps, EventRow, type EventRowProps, ExpandToggle, type ExpandToggleProps, FeaturedRundown, FeaturedRundownItem, type FeaturedRundownItemProps, type FeaturedRundownProps, FeaturedStage, type FeaturedStageProps, Field, type FieldProps, type FilterKind, type FilterOp, type FilterOption, FilterPopover, type FilterPopoverProps, FilteredEmptyState, type FlatNode, Flow, FlowNode, type FlowNodeProps, type FlowNodeState, type FlowProps, type FlowVariant, ForbiddenState, Highlighted, type HighlightedProps, type HsvColor, Inbox, InboxDetail, type InboxDetailProps, InboxItem, type InboxItemProps, InboxList, type InboxListProps, type InboxProps, Input, InputGroup, type InputGroupProps, type InputProps, type JsonPrimitive, type JsonValue, Kanban, KanbanCard, type KanbanCardProps, KanbanColumn, type KanbanColumnProps, type KanbanMoveDirection, type KanbanProps, Label, type LabelProps, LicensePositionBar, type LicensePositionBarProps, List, ListItem, type ListItemProps, type ListProps, LoadingState, type LoadingStateProps, Mark, type MarkProps, type MatchBulkResult, MatchReview, type MatchReviewAction, type MatchReviewCandidate, type MatchReviewField, type MatchReviewProps, Meter, type MeterProps, type MeterTone, MetricInput, type MetricInputProps, Modal, type ModalProps, type NavFavouriteItem, NavFavourites, type NavFavouritesLabels, type NavFavouritesProps, NavGroup, type NavGroupProps, NavItem, type NavItemProps, NewsLead, type NewsLeadProps, NotFoundState, Note, type NoteProps, type NoteTone, NoticeQueue, type NoticeQueueProps, PageHeader, type PageHeaderProps, PageIntro, type PageIntroProps, Pagination, type PaginationProps, Peek, type PeekProps, type PillTone, type PillTreatment, Pipeline, type PipelineProps, PipelineStage, type PipelineStageProps, type PipelineStageState, type Placement, Popover, type PopoverProps, type PositionOptions, type PositionResult, type PositionedRelationshipNode, type Primitive, Progress, type ProgressProps, PromptDialog, type PromptDialogProps, Prose, type ProseProps, Radio, RadioGroup, type RadioGroupProps, type RadioProps, type Rect, type RelatedLinkItem, RelatedLinks, type RelatedLinksProps, RelationshipGraph, type RelationshipGraphEdge, type RelationshipGraphLegendItem, type RelationshipGraphNode, type RelationshipGraphProps, RelativeTime, type RelativeTimeFormatContext, type RelativeTimeProps, type RelativeTimeUnit, type RelativeTimeValue, ResourceGrid, type ResourceGridProps, type RgbColor, type Row, RowAction, type RowActionProps, RowActions, type RowActionsProps, type RuleAction, type RuleActionDefinition, RuleBuilder, type RuleBuilderProps, type RuleCondition, type RuleDefinition, type RuleFieldDefinition, type RuleGroup, type RuleOperatorDefinition, type RuleValidationIssue, type RuleValueEditorProps, type SavedViewItem, SavedViewMenu, type SavedViewMenuProps, SchedulingCalendar, type SchedulingCalendarEntry, type SchedulingCalendarOverlay, type SchedulingCalendarProps, type SchedulingCalendarView, type SchedulingEntryState, type SchedulingOverlayKind, SectionHead, type SectionHeadProps, type Segment, Segmented, SegmentedOption, type SegmentedOptionProps, type SegmentedProps, Select, type SelectAllState, type SelectProps, type ShellNav, type Side, Sidebar, type SidebarProps, SidebarSection, type SidebarSectionProps, type Size, Skeleton, type SkeletonProps, type SortDir, type SortDirection, type SortKey, Spinner, type SpinnerProps, StarButton, type StarButtonProps, Stat, StatLine, type StatLineItem, type StatLineProps, type StatProps, type StatTrend, type StateVariant, StatusPill, type StatusPillProps, StatusRow, type StatusRowProps, SubNavItem, type SubNavItemProps, Switch, type SwitchProps, Tab, TabPanel, type TabPanelProps, type TabProps, Table, type TableDensity, type TableProps, TableWrap, type TableWrapProps, Tabs, type TabsProps, Td, type TdProps, Textarea, type TextareaProps, Th, type ThProps, Timeline, TimelineItem, type TimelineItemProps, type TimelineProps, Toast, type ToastProps, type ToastTone, Toaster, type ToasterProps, ToggleRow, type ToggleRowProps, Tooltip, type TooltipProps, Tr, type TrProps, Tree, type TreeLike, type TreeNavAction, type TreeNodeData, type TreeNodeProps, type TreeProps, type UseAnchoredPositionOptions, type UseTableOptions, type UseTableResult, type UseVirtualRowsOptions, type UseVirtualRowsResult, UserChip, type UserChipProps, ViewMenu, type ViewMenuColumn, type ViewMenuProps, type ViewState, type VirtualWindow, type ZonedDateSpan, addCalendarDays, addCalendarMonths, appendRuleNode, applyBrandProfile, applyFilters, boundRelationshipGraph, buildMonthGrid, buildThreeWayDiff, clampMetricValue, clampWidth, computePosition, contrastRatio, cx, enumerateDateSpan, filterComboboxOptions, findRuleNodeDepth, flattenTree, hexToRgb, highlightSegments, hsvToHex, hsvToRgb, isDateInRange, isDateUnavailable, isRuleGroup, layoutRelationshipGraph, mapRuleGroup, matchFilter, meetsContrast, mergePinned, moveRuleNode, multiSort, nextSortDir, normalizeHex, parseDateValue, parseMetricValue, parseView, relationshipNeighbors, relativeTimeValue, removeRuleNode, reorder, restoreBrandProfile, rgbToHex, rgbToHsv, ruleDepth, searchRows, selectAllState, selectRangeDate, serializeView, shouldVirtualize, startOfMonth, stepMetricValue, summarizeDiff, summarizeRule, toDateKey, toggleId, togglePage, toggleSort, traverseRelationshipNode, treeNav, useAnchoredPosition, useDialog, useTable, useVirtualRows, validateRuleDefinition, virtualWindow, zonedDateKey, zonedDateSpan };
|
package/dist/index.d.ts
CHANGED
|
@@ -28,7 +28,7 @@ export { ToggleRow, ToggleRowProps } from './components/ToggleRow.js';
|
|
|
28
28
|
export { CollapsibleSection, CollapsibleSectionProps } from './components/CollapsibleSection.js';
|
|
29
29
|
export { List, ListItem, ListItemProps, ListProps } from './components/List.js';
|
|
30
30
|
export { DescriptionItem, DescriptionItemProps, DescriptionList, DescriptionListItem, DescriptionListProps } from './components/DescriptionList.js';
|
|
31
|
-
export { Tab, TabProps, Tabs, TabsProps } from './components/Tabs.js';
|
|
31
|
+
export { Tab, TabPanel, TabPanelProps, TabProps, Tabs, TabsProps } from './components/Tabs.js';
|
|
32
32
|
export { AppShell, AppShellProps, ShellNav } from './components/AppShell.js';
|
|
33
33
|
export { NavGroup, NavGroupProps, NavItem, NavItemProps, Sidebar, SidebarProps, SidebarSection, SidebarSectionProps, SubNavItem, SubNavItemProps } from './components/Sidebar.js';
|
|
34
34
|
export { StarButton, StarButtonProps } from './components/StarButton.js';
|
|
@@ -61,7 +61,7 @@ export { Note, NoteProps, NoteTone, Prose, ProseProps } from './components/Prose
|
|
|
61
61
|
export { Popover, PopoverProps } from './components/Popover.js';
|
|
62
62
|
export { CommandGroup, CommandGroupProps, CommandItem, CommandItemProps, CommandPalette, CommandPaletteProps } from './components/CommandPalette.js';
|
|
63
63
|
export { Inbox, InboxDetail, InboxDetailProps, InboxItem, InboxItemProps, InboxList, InboxListProps, InboxProps } from './components/Inbox.js';
|
|
64
|
-
export { Kanban, KanbanCard, KanbanCardProps, KanbanColumn, KanbanColumnProps, KanbanProps } from './components/Kanban.js';
|
|
64
|
+
export { Kanban, KanbanCard, KanbanCardProps, KanbanColumn, KanbanColumnProps, KanbanMoveDirection, KanbanProps } from './components/Kanban.js';
|
|
65
65
|
export { Tree, TreeNodeData, TreeNodeProps, TreeProps } from './components/Tree.js';
|
|
66
66
|
export { FlatNode, TreeLike, TreeNavAction, flattenTree, treeNav } from './tree-model.js';
|
|
67
67
|
export { ContentList, ContentListItem, ContentListItemProps, ContentListProps, EventRow, EventRowProps, FeaturedRundown, FeaturedRundownItem, FeaturedRundownItemProps, FeaturedRundownProps, FeaturedStage, FeaturedStageProps, NewsLead, NewsLeadProps, NoticeQueue, NoticeQueueProps, PageIntro, PageIntroProps, ResourceGrid, ResourceGridProps, SectionHead, SectionHeadProps, StatLine, StatLineItem, StatLineProps, StatusRow, StatusRowProps } from './components/EditorialHome.js';
|
package/dist/index.js
CHANGED
|
@@ -28,7 +28,7 @@ import { ToggleRow } from "./components/ToggleRow.js";
|
|
|
28
28
|
import { CollapsibleSection } from "./components/CollapsibleSection.js";
|
|
29
29
|
import { List, ListItem } from "./components/List.js";
|
|
30
30
|
import { DescriptionList, DescriptionItem } from "./components/DescriptionList.js";
|
|
31
|
-
import { Tabs, Tab } from "./components/Tabs.js";
|
|
31
|
+
import { Tabs, Tab, TabPanel } from "./components/Tabs.js";
|
|
32
32
|
import { AppShell } from "./components/AppShell.js";
|
|
33
33
|
import { Sidebar, SidebarSection, NavItem, NavGroup, SubNavItem } from "./components/Sidebar.js";
|
|
34
34
|
import { StarButton } from "./components/StarButton.js";
|
|
@@ -247,6 +247,7 @@ export {
|
|
|
247
247
|
SubNavItem,
|
|
248
248
|
Switch,
|
|
249
249
|
Tab,
|
|
250
|
+
TabPanel,
|
|
250
251
|
Table,
|
|
251
252
|
TableWrap,
|
|
252
253
|
Tabs,
|
package/dist/tree-model.d.ts
CHANGED
|
@@ -11,6 +11,10 @@
|
|
|
11
11
|
interface TreeLike<T> {
|
|
12
12
|
id: string;
|
|
13
13
|
children?: T[];
|
|
14
|
+
/** The display label — typeahead matches it only when it is a plain string (UIX-A11Y-2). */
|
|
15
|
+
label?: unknown;
|
|
16
|
+
/** Explicit typeahead text for nodes whose `label` is not a string (rich ReactNode labels). */
|
|
17
|
+
typeaheadLabel?: string;
|
|
14
18
|
}
|
|
15
19
|
interface FlatNode<T> {
|
|
16
20
|
node: T;
|
package/dist/tree-model.js
CHANGED
|
@@ -40,6 +40,14 @@ function treeNav(flat, currentId, key) {
|
|
|
40
40
|
case " ":
|
|
41
41
|
return cur.hasChildren ? { toggleId: cur.node.id, selectId: cur.node.id } : { selectId: cur.node.id };
|
|
42
42
|
default:
|
|
43
|
+
if (key.length === 1) {
|
|
44
|
+
const q = key.toLowerCase();
|
|
45
|
+
for (let step = 1; step <= flat.length; step++) {
|
|
46
|
+
const f = flat[(idx + step) % flat.length];
|
|
47
|
+
const label = f.node.typeaheadLabel ?? (typeof f.node.label === "string" ? f.node.label : void 0);
|
|
48
|
+
if (label != null && label.toLowerCase().startsWith(q)) return { focusId: f.node.id };
|
|
49
|
+
}
|
|
50
|
+
}
|
|
43
51
|
return {};
|
|
44
52
|
}
|
|
45
53
|
}
|