@tensor_1/react 2.41.0 → 2.42.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.
Files changed (39) hide show
  1. package/dist/components/Button.d.ts +19 -1
  2. package/dist/components/Button.js +13 -8
  3. package/dist/components/DescriptionList.d.ts +11 -0
  4. package/dist/components/DiscardPrompt.d.ts +54 -0
  5. package/dist/components/DiscardPrompt.js +245 -0
  6. package/dist/components/Drawer.d.ts +19 -3
  7. package/dist/components/Drawer.js +60 -21
  8. package/dist/components/EditorialHome.d.ts +1 -1
  9. package/dist/components/Field.d.ts +7 -1
  10. package/dist/components/Field.js +5 -4
  11. package/dist/components/Input.d.ts +5 -0
  12. package/dist/components/Input.js +2 -1
  13. package/dist/components/Kbd.d.ts +20 -1
  14. package/dist/components/Kbd.js +30 -7
  15. package/dist/components/Menu.d.ts +11 -4
  16. package/dist/components/Menu.js +17 -3
  17. package/dist/components/MetricInput.d.ts +8 -1
  18. package/dist/components/MetricInput.js +11 -3
  19. package/dist/components/Modal.d.ts +15 -1
  20. package/dist/components/Modal.js +58 -13
  21. package/dist/components/SearchBar.d.ts +67 -0
  22. package/dist/components/SearchBar.js +117 -0
  23. package/dist/components/Select.js +5 -4
  24. package/dist/components/ShortcutHint.d.ts +29 -0
  25. package/dist/components/ShortcutHint.js +149 -0
  26. package/dist/components/Tooltip.d.ts +10 -1
  27. package/dist/components/Tooltip.js +15 -4
  28. package/dist/emoji.cjs +108 -31
  29. package/dist/hooks/useAnchoredPosition.d.ts +13 -1
  30. package/dist/hooks/useAnchoredPosition.js +19 -11
  31. package/dist/hooks/useDialog.d.ts +6 -1
  32. package/dist/hooks/useDialog.js +10 -1
  33. package/dist/index.cjs +3184 -2521
  34. package/dist/index.d.cts +221 -39
  35. package/dist/index.d.ts +3 -1
  36. package/dist/index.js +6 -1
  37. package/dist/labels-context.d.ts +8 -0
  38. package/dist/rich-text.cjs +17 -10
  39. package/package.json +1 -1
package/dist/index.d.cts CHANGED
@@ -1,12 +1,17 @@
1
1
  import * as react from 'react';
2
- import { RefObject, AnchorHTMLAttributes, ReactNode, ButtonHTMLAttributes, HTMLAttributes, AriaAttributes, CSSProperties, SelectHTMLAttributes, Ref, InputHTMLAttributes, TextareaHTMLAttributes, MouseEvent, DetailsHTMLAttributes, LiHTMLAttributes, TdHTMLAttributes, TableHTMLAttributes, ThHTMLAttributes, ReactElement } from 'react';
2
+ import { RefObject, AnchorHTMLAttributes, ReactNode, HTMLAttributes, ButtonHTMLAttributes, AriaAttributes, CSSProperties, SelectHTMLAttributes, Ref, InputHTMLAttributes, TextareaHTMLAttributes, MouseEvent, DetailsHTMLAttributes, LiHTMLAttributes, TdHTMLAttributes, TableHTMLAttributes, ThHTMLAttributes, ReactElement } from 'react';
3
3
  import { P as Placement } from './overlay-position-2Afke51l.cjs';
4
4
  export { A as Align, a as PositionOptions, b as PositionResult, R as Rect, S as Side, c as Size, d as computePosition } from './overlay-position-2Afke51l.cjs';
5
5
  export { C as ChartStatPoint, L as LinearFit, P as PredictionBandPoint, l as linearFit, n as normalQuantile, p as predictionBand, q as quantiles, s as studentTQuantile } from './chart-stats-o4zDhpVm.cjs';
6
6
 
7
7
  declare function cx(...args: (string | false | null | undefined | 0)[]): string;
8
8
 
9
- declare function useDialog(open: boolean, onClose?: () => void): React.RefObject<HTMLDialogElement>;
9
+ /**
10
+ * `keepOpen` is asked when the browser closed the dialog on its own (Escape or a close request
11
+ * nobody cancelled, a `method="dialog"` form). Returning `true` reopens it instead of calling
12
+ * `onClose`: a form dialog with unsaved input or a save in flight (HAR-2029).
13
+ */
14
+ declare function useDialog(open: boolean, onClose?: () => void, keepOpen?: () => boolean): React.RefObject<HTMLDialogElement>;
10
15
 
11
16
  /**
12
17
  * uix table engine — framework-agnostic, dependency-free logic for data grids.
@@ -255,6 +260,40 @@ interface UixLinkProps extends AnchorHTMLAttributes<HTMLAnchorElement> {
255
260
  type UixRenderLink = (props: UixLinkProps) => ReactNode;
256
261
  declare const renderPlainLink: UixRenderLink;
257
262
 
263
+ interface KbdProps extends HTMLAttributes<HTMLElement> {
264
+ children?: ReactNode;
265
+ }
266
+ /** One keyboard key over `.uix-kbd` (HAR-1361; TENSOR C14, MOTUS B-A16). */
267
+ declare function Kbd({ className, children, ...props }: KbdProps): react.JSX.Element;
268
+ type KbdPlatform = 'mac' | 'other';
269
+ /**
270
+ * A keyboard shortcut (HAR-2031): the keys pressed together, in `KbdCombo`'s names, e.g.
271
+ * `['Mod', 'K']`, `['Shift', '?']` or `['A']`. `Mod` is ⌘ on Apple and Ctrl elsewhere.
272
+ */
273
+ type KeyShortcut = readonly string[];
274
+ /**
275
+ * The `aria-keyshortcuts` value of a shortcut on a platform (HAR-2031): `['Mod', 'K']` is
276
+ * `Meta+K` on Apple and `Control+K` elsewhere; a single letter is upper-cased (`['a']` is `A`).
277
+ * For a control the kit does not render.
278
+ */
279
+ declare function ariaKeyShortcuts(keys: KeyShortcut, platform: KbdPlatform): string;
280
+ interface KbdComboProps extends Omit<HTMLAttributes<HTMLSpanElement>, 'children'> {
281
+ /**
282
+ * Keys in order, e.g. `['Mod', 'K']`. `Mod` is ⌘ on Apple and Ctrl elsewhere; `Shift`,
283
+ * `Alt`, `Enter`, `Escape`, `Backspace`, `Tab` and the arrows get platform glyphs.
284
+ */
285
+ keys: string[];
286
+ /** Fix the platform (tests, docs). Default: detected after mount; the server renders `other`. */
287
+ platform?: KbdPlatform;
288
+ /** Spoken names for keys, e.g. `{ Mod: 'Steuerung' }`; the glyphs stay. */
289
+ keyLabels?: Partial<Record<string, string>>;
290
+ }
291
+ /**
292
+ * A shortcut such as ⌘K / Ctrl+K. Screen readers hear the key names ("Command+K"), not the
293
+ * glyphs. The platform is resolved at display time, after mount, so server and client agree.
294
+ */
295
+ declare function KbdCombo({ keys, platform, keyLabels, className, ...props }: KbdComboProps): react.JSX.Element;
296
+
258
297
  type ButtonVariant = 'primary' | 'secondary' | 'outline' | 'ghost' | 'danger' | 'link';
259
298
  /** `xs` is 24 px: the smallest hit area WCAG 2.5.8 allows, for dense tool rows (HAR-1348). */
260
299
  type ButtonSize = 'xs' | 'sm' | 'md' | 'lg';
@@ -263,6 +302,21 @@ interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
263
302
  size?: ButtonSize;
264
303
  icon?: boolean;
265
304
  loading?: boolean;
305
+ /**
306
+ * Let a long label wrap onto more lines: the size becomes a minimum height instead of a fixed
307
+ * one (HAR-1813, WCAG 1.4.10 reflow). For human-language labels on public or narrow screens;
308
+ * dense staff rows keep the one-line default. Ignored with `icon`.
309
+ */
310
+ wrap?: boolean;
311
+ /**
312
+ * The button's keyboard shortcut, in `KbdCombo` key names: `['A']`, `['Mod', 'Enter']`
313
+ * (HAR-2031). Hover or focus shows the keys in a hint above the button (an icon button's
314
+ * `aria-label` before them), and the button gets `aria-keyshortcuts` for the viewer's platform
315
+ * (⌘ / Meta on Apple, Ctrl / Control elsewhere), unless you pass `aria-keyshortcuts` yourself.
316
+ * Inside a `Tooltip` the Tooltip shows the keys in its own bubble. The kit only shows the
317
+ * shortcut: the product binds the key.
318
+ */
319
+ shortcut?: KeyShortcut;
266
320
  children?: ReactNode;
267
321
  }
268
322
  declare const Button: react.ForwardRefExoticComponent<ButtonProps & react.RefAttributes<HTMLButtonElement>>;
@@ -272,6 +326,8 @@ interface ButtonLinkProps extends AnchorHTMLAttributes<HTMLAnchorElement> {
272
326
  size?: ButtonSize;
273
327
  /** Icon-only link: square, and needs `aria-label`. */
274
328
  icon?: boolean;
329
+ /** Let a long label wrap (see `ButtonProps.wrap`, HAR-1813). Ignored with `icon`. */
330
+ wrap?: boolean;
275
331
  /**
276
332
  * Renders the link without `href`, with `aria-disabled="true"`, so it is announced
277
333
  * as an unavailable link and cannot be followed or focused.
@@ -285,7 +341,7 @@ interface ButtonLinkProps extends AnchorHTMLAttributes<HTMLAnchorElement> {
285
341
  * A link that looks like a `Button` (HAR-1348; TENSOR A4/B5, MOTUS C-3). Use it when the
286
342
  * action navigates; use `Button` when it acts in place.
287
343
  */
288
- declare function ButtonLink({ href, variant, size, icon, disabled, renderLink, className, children, onClick, ...props }: ButtonLinkProps): react.JSX.Element;
344
+ declare function ButtonLink({ href, variant, size, icon, wrap, disabled, renderLink, className, children, onClick, ...props }: ButtonLinkProps): react.JSX.Element;
289
345
  interface ButtonGroupProps {
290
346
  children?: ReactNode;
291
347
  className?: string;
@@ -2605,6 +2661,86 @@ interface InlineEditProps {
2605
2661
  */
2606
2662
  declare function InlineEdit({ value, onSave, label, renderView, renderEditor, multiline, validate, placeholder, disabled, labels: labelOverrides, className, }: InlineEditProps): react.JSX.Element;
2607
2663
 
2664
+ /** The words of the "Discard changes?" step a `dirty` Drawer or Modal asks before it closes (HAR-2029). */
2665
+ interface DiscardPromptLabels {
2666
+ /** The question, e.g. "Discard changes?". It names the step. */
2667
+ title: string;
2668
+ /** What discarding means, under the question. */
2669
+ description: string;
2670
+ /** The safe choice. It has focus when the step opens. */
2671
+ keepEditing: string;
2672
+ /** Close and throw the input away. */
2673
+ discard: string;
2674
+ }
2675
+ type DialogCloseProps = ButtonProps;
2676
+ /**
2677
+ * A button that closes the surrounding `Drawer` or `Modal` the way its × does (HAR-2029): at once
2678
+ * when the form is clean, through the "Discard changes?" step (placed against this button) when
2679
+ * the dialog is `dirty`, and not at all while it is `pending`. Use it for the footer's Cancel.
2680
+ * Its own `onClick` runs first; `event.preventDefault()` there keeps the dialog open.
2681
+ */
2682
+ declare const DialogClose: react.ForwardRefExoticComponent<ButtonProps & react.RefAttributes<HTMLButtonElement>>;
2683
+
2684
+ /** The words of a `SearchBar` (HAR-2030); the field's own name is its `label`. */
2685
+ interface SearchBarLabels {
2686
+ /** Accessible name of the clear button. */
2687
+ clear: string;
2688
+ /** Text of the submit button (`submitButton`). */
2689
+ submit: string;
2690
+ }
2691
+ interface SearchBarProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onSubmit' | 'onChange' | 'defaultValue'> {
2692
+ /**
2693
+ * Accessible name of the field and of its search landmark, e.g. "Search services". It is not
2694
+ * shown (the placeholder is not a label): the field shows `placeholder`.
2695
+ */
2696
+ label: string;
2697
+ /** The text in the field (controlled). Leave it out, with `defaultValue`, for an uncontrolled field. */
2698
+ value?: string;
2699
+ defaultValue?: string;
2700
+ /** Called on every edit, and with `''` when the field is cleared. */
2701
+ onValueChange?: (value: string) => void;
2702
+ /** Enter in the field, or the submit button: search for this text. */
2703
+ onSubmit?: (value: string) => void;
2704
+ /** After the clear button or Escape emptied the field. Focus stays in the field. */
2705
+ onClear?: () => void;
2706
+ placeholder?: string;
2707
+ /** `md` (default) for a header or a toolbar; `lg` for a page-level or public search: 44 px, the touch floor. */
2708
+ size?: 'md' | 'lg';
2709
+ /** A submit button after the field, with `labels.submit`. Enter submits either way. */
2710
+ submitButton?: boolean;
2711
+ /** The submit button's variant. Default `primary`. */
2712
+ submitVariant?: ButtonVariant;
2713
+ /**
2714
+ * A `search` landmark named by `label` (default). Pass `false` for a field that filters a list
2715
+ * or a table, where one more landmark per toolbar would crowd the landmark list. Never wrap it
2716
+ * in a `<search>` or `role="search"` of your own: that nests two landmarks.
2717
+ */
2718
+ landmark?: boolean;
2719
+ /** Ids of elements that describe the field (a hint, a result count), as its `aria-describedby`. */
2720
+ inputDescribedBy?: string;
2721
+ /** The words. Default: `UixLabelsProvider` `searchBar`, then English. */
2722
+ labels?: Partial<SearchBarLabels>;
2723
+ /** The field's `name`. */
2724
+ name?: string;
2725
+ /** The field's `id`, e.g. for a "/" shortcut that focuses it. Default: generated. */
2726
+ inputId?: string;
2727
+ inputRef?: Ref<HTMLInputElement>;
2728
+ autoFocus?: boolean;
2729
+ disabled?: boolean;
2730
+ }
2731
+ /**
2732
+ * One search field look and behaviour (HAR-2030; TENSOR audit UXC-02) over the `.uix-searchbar`
2733
+ * contract: a leading magnifier, a clear button while there is text, Enter to search, Escape to
2734
+ * clear (an empty field lets Escape through, so it still closes the dialog it sits in). It is a
2735
+ * `search` landmark named by `label`.
2736
+ *
2737
+ * It is not a `<form>`, so it can sit inside one: Enter calls `onSubmit` and never submits a
2738
+ * surrounding form. For suggestions while typing, use `SearchSuggest`. Inside an overlay that
2739
+ * takes Escape itself before the field (a ConfirmPopover, the table's view menu), Escape closes
2740
+ * the overlay rather than clearing the text.
2741
+ */
2742
+ declare function SearchBar({ label, value: valueProp, defaultValue, onValueChange, onSubmit, onClear, placeholder, size, submitButton, submitVariant, landmark, inputDescribedBy, labels: labelsProp, name, inputId, inputRef, autoFocus, disabled, className, ...props }: SearchBarProps): react.JSX.Element;
2743
+
2608
2744
  /**
2609
2745
  * Kit chrome strings by component (HAR-1358; TENSOR C20, MOTUS executive summary #3).
2610
2746
  * Each entry overrides that component's English defaults for every instance below the
@@ -2621,6 +2757,8 @@ interface UixLabels {
2621
2757
  drawer?: {
2622
2758
  close?: string;
2623
2759
  };
2760
+ /** The "Discard changes?" step of a `dirty` Drawer or Modal (HAR-2029). */
2761
+ discardPrompt?: Partial<DiscardPromptLabels>;
2624
2762
  peek?: {
2625
2763
  previous?: string;
2626
2764
  next?: string;
@@ -2643,6 +2781,8 @@ interface UixLabels {
2643
2781
  searchSuggest?: {
2644
2782
  clear?: string;
2645
2783
  };
2784
+ /** `SearchBar` (HAR-2030): the clear button's name and the submit button's text. */
2785
+ searchBar?: Partial<SearchBarLabels>;
2646
2786
  /** `resultsOne` / `resultsMany`: the polite result count; `{count}`. */
2647
2787
  commandPalette?: {
2648
2788
  input?: string;
@@ -2695,6 +2835,11 @@ interface InputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size'>
2695
2835
  size?: 'sm' | 'md';
2696
2836
  invalid?: boolean;
2697
2837
  valid?: boolean;
2838
+ /**
2839
+ * "Check this": a value the reader should confirm, not an error, e.g. one an assistant filled
2840
+ * in (HAR-1814). Draws the warning border; `invalid` wins when both are set.
2841
+ */
2842
+ warning?: boolean;
2698
2843
  }
2699
2844
  declare const Input: react.ForwardRefExoticComponent<InputProps & react.RefAttributes<HTMLInputElement>>;
2700
2845
  interface InputGroupProps {
@@ -2810,6 +2955,12 @@ interface FieldProps {
2810
2955
  label?: string;
2811
2956
  hint?: string;
2812
2957
  error?: string;
2958
+ /**
2959
+ * A value to check, not an error (HAR-1814): shown under the control in the warning colour,
2960
+ * announced politely, and marks the control `data-warning`. `error` wins over it; it wins
2961
+ * over `success` and `hint`.
2962
+ */
2963
+ warning?: string;
2813
2964
  success?: string;
2814
2965
  required?: boolean;
2815
2966
  /**
@@ -2824,11 +2975,21 @@ interface FieldProps {
2824
2975
  className?: string;
2825
2976
  htmlFor?: string;
2826
2977
  }
2827
- declare function Field({ label, hint, error, success, required, help, helpLabel, children, className, htmlFor }: FieldProps): react.JSX.Element;
2978
+ declare function Field({ label, hint, error, warning, success, required, help, helpLabel, children, className, htmlFor }: FieldProps): react.JSX.Element;
2828
2979
 
2829
2980
  interface ModalProps extends Omit<HTMLAttributes<HTMLDialogElement>, 'title'> {
2830
2981
  open: boolean;
2831
2982
  onClose?: () => void;
2983
+ /**
2984
+ * The dialog holds input that is not saved (HAR-2029). Escape, the close button and a
2985
+ * `DialogClose` then open an anchored "Discard changes?" step with focus on "Keep editing"
2986
+ * instead of calling `onClose`; "Discard" calls it. A clean dialog closes at once.
2987
+ */
2988
+ dirty?: boolean;
2989
+ /** A save is in flight: Escape, the close button and a `DialogClose` do nothing. */
2990
+ pending?: boolean;
2991
+ /** The words of the discard step. Default: `UixLabelsProvider` `discardPrompt`, then English. */
2992
+ discardLabels?: Partial<DiscardPromptLabels>;
2832
2993
  title?: ReactNode;
2833
2994
  children?: ReactNode;
2834
2995
  footer?: ReactNode;
@@ -2836,7 +2997,7 @@ interface ModalProps extends Omit<HTMLAttributes<HTMLDialogElement>, 'title'> {
2836
2997
  closeLabel?: string;
2837
2998
  role?: 'dialog' | 'alertdialog';
2838
2999
  }
2839
- declare function Modal({ open, onClose, title, children, footer, className, closeLabel: closeLabelProp, role, ...rest }: ModalProps): react.JSX.Element;
3000
+ declare function Modal({ open, onClose, dirty, pending, discardLabels, title, children, footer, className, closeLabel: closeLabelProp, role, onKeyDown, ...rest }: ModalProps): react.JSX.Element;
2840
3001
 
2841
3002
  interface ConfirmDialogProps {
2842
3003
  open: boolean;
@@ -2945,10 +3106,22 @@ interface DrawerProps extends Omit<HTMLAttributes<HTMLDialogElement>, 'title'> {
2945
3106
  closeLabel?: string;
2946
3107
  open: boolean;
2947
3108
  onClose?: () => void;
3109
+ /**
3110
+ * The drawer holds input that is not saved (HAR-2029), e.g. react-hook-form's
3111
+ * `formState.isDirty`. Escape, the close button, a backdrop click and a `DialogClose` then open
3112
+ * an anchored "Discard changes?" step with focus on "Keep editing" instead of calling `onClose`;
3113
+ * "Discard" calls it. A clean drawer closes at once. A `<form method="dialog">` submit counts
3114
+ * as a way out too: save with your own handler instead.
3115
+ */
3116
+ dirty?: boolean;
3117
+ /** A save is in flight: Escape, the close button, a backdrop click and a `DialogClose` do nothing. */
3118
+ pending?: boolean;
3119
+ /** The words of the discard step. Default: `UixLabelsProvider` `discardPrompt`, then English. */
3120
+ discardLabels?: Partial<DiscardPromptLabels>;
2948
3121
  /**
2949
3122
  * A click on the dimmed backdrop calls `onClose`, like Escape and the close button
2950
- * (TENSOR HAR-547). Pass `false` on a drawer that holds unsaved form input, so a stray click
2951
- * can't discard it; Escape and the close button still close. Default `true`.
3123
+ * (TENSOR HAR-547), or asks first when the drawer is `dirty`. `false` ignores backdrop clicks
3124
+ * altogether. Default `true`.
2952
3125
  */
2953
3126
  dismissOnBackdrop?: boolean;
2954
3127
  /**
@@ -2960,7 +3133,7 @@ interface DrawerProps extends Omit<HTMLAttributes<HTMLDialogElement>, 'title'> {
2960
3133
  children?: ReactNode;
2961
3134
  footer?: ReactNode;
2962
3135
  }
2963
- declare function Drawer({ open, onClose, dismissOnBackdrop, side, title, children, footer, closeLabel: closeLabelProp, className, onClick, ...rest }: DrawerProps): react.JSX.Element;
3136
+ declare function Drawer({ open, onClose, dirty, pending, discardLabels, dismissOnBackdrop, side, title, children, footer, closeLabel: closeLabelProp, className, onClick, onKeyDown, ...rest }: DrawerProps): react.JSX.Element;
2964
3137
 
2965
3138
  interface PeekProps extends Omit<HTMLAttributes<HTMLDialogElement>, 'title'> {
2966
3139
  /** TENSOR RX-125 (UIX-04): translatable; English default. */
@@ -3331,6 +3504,17 @@ declare function ListItem({ title, meta, trail, leading, children, className, ..
3331
3504
  * Use `items` for data-driven lists (the common case) or the `DescriptionItem`
3332
3505
  * compound child for hand-authored content. Both render `<dt>`/`<dd>` pairs as
3333
3506
  * direct children of the grid `<dl>`, so they align into the same columns.
3507
+ *
3508
+ * Below 22rem of its own width (a phone, a side rail, a narrow column) each label
3509
+ * sits above its value and both take the full width (HAR-2032), so a long label
3510
+ * never squeezes the value. A `DetailLayout` side column always stacks.
3511
+ *
3512
+ * The list is an inline-size container for this, so its content no longer sizes
3513
+ * it: in a box sized by its content (a flex row, a `Popover` or hover card, a
3514
+ * `max-content` tooltip, an auto-layout table cell, inline-block, a float) it is
3515
+ * 12rem wide, and stacked, unless you size it (`flex: 1`, a width). And an
3516
+ * unnamed `@container` query or a `cqi` unit inside a value now measures the
3517
+ * list: name the container you mean (`@container/card`).
3334
3518
  */
3335
3519
  interface DescriptionListItem {
3336
3520
  /** Stable identity for the row; falls back to the list index when omitted. */
@@ -4168,29 +4352,6 @@ interface ChipGroupProps extends HTMLAttributes<HTMLDivElement> {
4168
4352
  /** A wrapping row of chips with a group name. */
4169
4353
  declare function ChipGroup({ label, children, className, ...props }: ChipGroupProps): react.JSX.Element;
4170
4354
 
4171
- interface KbdProps extends HTMLAttributes<HTMLElement> {
4172
- children?: ReactNode;
4173
- }
4174
- /** One keyboard key over `.uix-kbd` (HAR-1361; TENSOR C14, MOTUS B-A16). */
4175
- declare function Kbd({ className, children, ...props }: KbdProps): react.JSX.Element;
4176
- type KbdPlatform = 'mac' | 'other';
4177
- interface KbdComboProps extends Omit<HTMLAttributes<HTMLSpanElement>, 'children'> {
4178
- /**
4179
- * Keys in order, e.g. `['Mod', 'K']`. `Mod` is ⌘ on Apple and Ctrl elsewhere; `Shift`,
4180
- * `Alt`, `Enter`, `Escape`, `Backspace`, `Tab` and the arrows get platform glyphs.
4181
- */
4182
- keys: string[];
4183
- /** Fix the platform (tests, docs). Default: detected after mount; the server renders `other`. */
4184
- platform?: KbdPlatform;
4185
- /** Spoken names for keys, e.g. `{ Mod: 'Steuerung' }`; the glyphs stay. */
4186
- keyLabels?: Partial<Record<string, string>>;
4187
- }
4188
- /**
4189
- * A shortcut such as ⌘K / Ctrl+K. Screen readers hear the key names ("Command+K"), not the
4190
- * glyphs. The platform is resolved at display time, after mount, so server and client agree.
4191
- */
4192
- declare function KbdCombo({ keys, platform, keyLabels, className, ...props }: KbdComboProps): react.JSX.Element;
4193
-
4194
4355
  type StepState = 'complete' | 'current' | 'upcoming' | 'waiting' | 'error';
4195
4356
  /** The state words read after each step's title (state is never colour alone). */
4196
4357
  interface StepStateLabels {
@@ -4269,6 +4430,14 @@ interface TooltipProps extends Omit<HTMLAttributes<HTMLSpanElement>, 'content'>
4269
4430
  content?: ReactNode;
4270
4431
  /** Preferred placement. Default `'top'`. */
4271
4432
  placement?: Placement;
4433
+ /**
4434
+ * The trigger's keyboard shortcut, in `KbdCombo` key names, e.g. `['Mod', 'K']` (HAR-2031):
4435
+ * shown with `Kbd` after the text, and set as the trigger's `aria-keyshortcuts` for the
4436
+ * viewer's platform. Default: the `shortcut` of a `Button` child, so a Tooltip around a Button
4437
+ * with a shortcut shows one bubble with the label and the keys. The kit only shows it: the
4438
+ * product binds the key.
4439
+ */
4440
+ shortcut?: KeyShortcut;
4272
4441
  children?: ReactNode;
4273
4442
  }
4274
4443
  /**
@@ -4279,7 +4448,7 @@ interface TooltipProps extends Omit<HTMLAttributes<HTMLSpanElement>, 'content'>
4279
4448
  * (document-level, per WCAG 1.4.13), and hoverable: the bubble stays open while
4280
4449
  * the pointer is over it (UIX-A11Y-1).
4281
4450
  */
4282
- declare function Tooltip({ label, content, placement, className, children, ...props }: TooltipProps): react.JSX.Element;
4451
+ declare function Tooltip({ label, content, placement, shortcut, className, children, ...props }: TooltipProps): react.JSX.Element;
4283
4452
 
4284
4453
  interface InfoTipProps extends Omit<HTMLAttributes<HTMLSpanElement>, 'content' | 'children'> {
4285
4454
  /**
@@ -4905,8 +5074,12 @@ interface MenuItemProps extends MenuItemAttributes {
4905
5074
  href?: string;
4906
5075
  renderLink?: UixRenderLink;
4907
5076
  icon?: ReactNode;
4908
- /** Shortcut hint at the end of the row, e.g. `<KbdCombo keys={['Mod', 'D']} />`. */
4909
- shortcut?: ReactNode;
5077
+ /**
5078
+ * The row's keyboard shortcut, at its end. Key names (`['Mod', 'D']`, `['A']`) render with
5079
+ * `KbdCombo` and set the row's `aria-keyshortcuts` for the viewer's platform (HAR-2031); any
5080
+ * other node renders as given.
5081
+ */
5082
+ shortcut?: KeyShortcut | ReactNode;
4910
5083
  tone?: 'default' | 'danger';
4911
5084
  disabled?: boolean;
4912
5085
  className?: string;
@@ -4935,7 +5108,8 @@ interface MenuItemRadioProps extends MenuItemAttributes {
4935
5108
  closeOnSelect?: boolean;
4936
5109
  children?: ReactNode;
4937
5110
  icon?: ReactNode;
4938
- shortcut?: ReactNode;
5111
+ /** Key names (`['Shift', 'W']`) or a node; see `MenuItemProps.shortcut`. */
5112
+ shortcut?: KeyShortcut | ReactNode;
4939
5113
  disabled?: boolean;
4940
5114
  className?: string;
4941
5115
  }
@@ -4948,7 +5122,8 @@ interface MenuItemCheckboxProps extends MenuItemAttributes {
4948
5122
  closeOnSelect?: boolean;
4949
5123
  children?: ReactNode;
4950
5124
  icon?: ReactNode;
4951
- shortcut?: ReactNode;
5125
+ /** Key names (`['Shift', 'W']`) or a node; see `MenuItemProps.shortcut`. */
5126
+ shortcut?: KeyShortcut | ReactNode;
4952
5127
  disabled?: boolean;
4953
5128
  className?: string;
4954
5129
  }
@@ -5127,7 +5302,7 @@ interface PageIntroProps extends Omit<HTMLAttributes<HTMLElement>, 'title'> {
5127
5302
  lede?: ReactNode;
5128
5303
  /** Label shown above the search well. */
5129
5304
  searchLabel?: ReactNode;
5130
- /** The search well itself (form + `.uix-searchbar` markup, or `SearchBar`-style composition). */
5305
+ /** The search well itself: a `SearchBar size="lg"` (HAR-2030), or `.uix-searchbar` markup. */
5131
5306
  search?: ReactNode;
5132
5307
  /** Shortcut buttons; rendered inside the `.uix-shortcut-grid` full-width row. */
5133
5308
  shortcuts?: ReactNode;
@@ -5731,6 +5906,13 @@ interface MetricInputProps {
5731
5906
  label: string;
5732
5907
  invalid?: boolean;
5733
5908
  errorMessage?: string;
5909
+ /**
5910
+ * A required value (HAR-1819): the label shows the same marker as `Field`, and the input
5911
+ * gets native `required` and `aria-required="true"`.
5912
+ */
5913
+ required?: boolean;
5914
+ /** Guidance under the control (a range, a unit rule), tied to the input by `aria-describedby`. */
5915
+ hint?: string;
5734
5916
  disabled?: boolean;
5735
5917
  readOnly?: boolean;
5736
5918
  parse?: (input: string) => number | null;
@@ -5739,7 +5921,7 @@ interface MetricInputProps {
5739
5921
  id?: string;
5740
5922
  }
5741
5923
  /** Accessible numeric recipe composed from Input and the UIx stepper controls. */
5742
- declare function MetricInput({ value, onValueChange, min, max, step, unit, label, invalid, errorMessage, disabled, readOnly, parse, format, className, id: providedId, }: MetricInputProps): react.JSX.Element;
5924
+ declare function MetricInput({ value, onValueChange, min, max, step, unit, label, invalid, errorMessage, required, hint, disabled, readOnly, parse, format, className, id: providedId, }: MetricInputProps): react.JSX.Element;
5743
5925
 
5744
5926
  declare function clampMetricValue(value: number, min?: number, max?: number): number;
5745
5927
  declare function stepMetricValue(value: number | null, direction: -1 | 1, options?: {
@@ -5964,4 +6146,4 @@ declare function hsvToHex(value: HsvColor): string;
5964
6146
  declare function contrastRatio(background: string, foreground: string): number | undefined;
5965
6147
  declare function meetsContrast(background: string, foreground: string, minimum?: number): boolean;
5966
6148
 
5967
- export { type AccessStateProps, Alert, type AlertProps, type AlertTone, AppShell, type AppShellProps, type AppliedBrandProfileSnapshot, type AsyncOperationState, AsyncOperationStatus, type AsyncOperationStatusProps, Attachment, type AttachmentLabels, AttachmentList, type AttachmentListProps, type AttachmentProps, Avatar, AvatarGroup, type AvatarGroupProps, type AvatarPresence, type AvatarProps, type BoundedRelationshipGraph, type BrandProfile, BrandProfileEditor, type BrandProfileEditorLabels, type BrandProfileEditorProps, type BrandProfileLogo, type BrandProfileTypography, BrandProfiles, type BreadcrumbItem, Breadcrumbs, type BreadcrumbsProps, BuilderCanvas, type BuilderCanvasItem, type BuilderCanvasLabels, type BuilderCanvasProps, type BuilderPaletteItem, BulkBar, type BulkBarProps, Bullet, type BulletProps, Button, ButtonGroup, type ButtonGroupProps, ButtonLink, type ButtonLinkProps, type ButtonProps, type ButtonSize, type ButtonVariant, type CalendarDay, type CalendarWeekday, Card, CardLink, type CardLinkProps, type CardProps, CellStrong, CellSub, Checkbox, type CheckboxProps, Chip, ChipGroup, type ChipGroupProps, type ChipProps, CollapsibleSection, type CollapsibleSectionProps, ColorPicker, type ColorPickerLabels, 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, CopyButton, type CopyButtonProps, DAY, DEFAULT_ATTACHMENT_LABELS, DEFAULT_BRAND_PROFILE_EDITOR_LABELS, DEFAULT_BUILDER_CANVAS_LABELS, DEFAULT_COLOR_PICKER_LABELS, DEFAULT_DATE_PICKER_LABELS, DEFAULT_DATE_RANGE_PICKER_LABELS, DEFAULT_DATE_TIME_PICKER_LABELS, DEFAULT_DIFF_VIEWER_LABELS, DEFAULT_ENTITY_PICKER_LABELS, DEFAULT_FILE_UPLOAD_LABELS, DEFAULT_FILTER_EDITOR_LABELS, DEFAULT_FILTER_SUMMARY_LABELS, DEFAULT_INLINE_EDIT_LABELS, DEFAULT_INSIGHT_CARD_LABELS, DEFAULT_LIGHTBOX_LABELS, DEFAULT_MATCH_REVIEW_LABELS, DEFAULT_PAGINATION_LABELS, DEFAULT_PRESENCE_LABELS, DEFAULT_RELATIONSHIP_GRAPH_LABELS, DEFAULT_RULE_BUILDER_LABELS, DEFAULT_RULE_SUMMARY_WORDS, DEFAULT_RULE_VALIDATION_MESSAGES, DEFAULT_SAVE_STATUS_LABELS, DEFAULT_SCHEDULING_CALENDAR_LABELS, DEFAULT_SCHEDULING_TIMELINE_LABELS, DEFAULT_STEP_STATE_LABELS, DEFAULT_TEXT_DIFF_LABELS, DEFAULT_TREE_LABELS, DashboardGrid, type DashboardGridBreakpoint, type DashboardGridColumnCount, type DashboardGridColumns, type DashboardGridGap, DashboardGridItem, type DashboardGridItemProps, type DashboardGridProps, type DashboardGridSpan, type DateInputProblem, type DatePart, DatePicker, type DatePickerLabels, type DatePickerProps, DateRangePicker, type DateRangePickerLabels, type DateRangePickerProps, type DateRangeValue, DateTimePicker, type DateTimePickerLabels, type DateTimePickerProps, type DaySpanLayout, DescriptionItem, type DescriptionItemProps, DescriptionList, type DescriptionListItem, type DescriptionListProps, DetailLayout, type DetailLayoutProps, DetailPage, type DetailPageLinkProps, type DetailPageMetric, type DetailPageProps, type DetailPageTab, type DiffEntry, type DiffKind, type DiffResolution, type DiffSummary, DiffViewer, type DiffViewerLabels, type DiffViewerProps, Drawer, type DrawerProps, EmptyState, type EmptyStateProps, EntityPicker, type EntityPickerLabels, type EntityPickerProps, type EntityPickerSearchResult, ErrorState, type ErrorStateProps, EventRow, type EventRowProps, ExpandToggle, type ExpandToggleProps, FeaturedRundown, FeaturedRundownItem, type FeaturedRundownItemProps, type FeaturedRundownProps, FeaturedStage, type FeaturedStageProps, Field, type FieldProps, type FileRejection, type FileRejectionReason, type FileSizeFormatter, type FileSizeOptions, FileUpload, type FileUploadItem, type FileUploadLabels, type FileUploadProps, type FileUploadStatus, type FilterChoice, FilterEditor, type FilterEditorLabels, type FilterEditorProps, type FilterField, type FilterKind, type FilterOp, type FilterOption, FilterPopover, type FilterPopoverProps, type FilterPreset, type FilterSummaryLabels, type FilterValue, type FilterValueKind, FilteredEmptyState, type FlatNode, Flow, FlowNode, type FlowNodeProps, type FlowNodeState, type FlowProps, type FlowVariant, type FoldedText, ForbiddenState, HOUR, Heartbeat, type HeartbeatProps, type HeartbeatState, Highlighted, type HighlightedProps, type HsvColor, Inbox, InboxDetail, type InboxDetailProps, InboxItem, type InboxItemProps, InboxList, type InboxListProps, type InboxProps, InfoTip, type InfoTipProps, InlineEdit, type InlineEditEditorProps, type InlineEditLabels, type InlineEditProps, Input, InputGroup, type InputGroupProps, type InputProps, InsightCard, type InsightCardLabels, type InsightCardProps, type InsightComparison, type InsightCoverage, type InsightKpi, type InsightStatus, type InsightStatusTone, type InsightTarget, type JsonPrimitive, type JsonValue, Kanban, KanbanCard, type KanbanCardProps, KanbanColumn, type KanbanColumnProps, type KanbanMoveDirection, type KanbanProps, Kbd, KbdCombo, type KbdComboProps, type KbdPlatform, type KbdProps, Label, type LabelProps, type LaneCluster, type LaneInterval, type LanePlacement, type LayeredColumn, type LayeredEdgeClassification, type LayeredEdgeKind, type LayeredItem, type LayeredLayout, type LayeredLayoutOptions, type LayeredNavigationKey, type LayoutLaneOptions, type LayoutMonthSpansOptions, LicensePositionBar, type LicensePositionBarProps, Lightbox, type LightboxItem, type LightboxLabels, type LightboxProps, List, ListItem, type ListItemProps, type ListProps, LiveIndicator, type LiveIndicatorProps, LoadingState, type LoadingStateProps, Mark, type MarkProps, type MatchBulkResult, MatchReview, type MatchReviewAction, type MatchReviewCandidate, type MatchReviewField, type MatchReviewLabels, type MatchReviewProps, Menu, MenuGroup, type MenuGroupProps, MenuItem, type MenuItemAttributes, MenuItemCheckbox, type MenuItemCheckboxProps, type MenuItemProps, MenuItemRadio, type MenuItemRadioProps, type MenuProps, MenuRadioGroup, type MenuRadioGroupProps, MenuSeparator, Meter, type MeterProps, type MeterTone, MetricInput, type MetricInputProps, Modal, type ModalProps, type MonthSpanGroup, type MonthSpanInput, type MonthSpanLayout, type MoveProposal, NUMBER_FILTER_OPERATORS, 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, type NumberFilterOperator, type PackLanesOptions, type PackedLanes, PageHeader, type PageHeaderProps, PageIntro, type PageIntroProps, Pagination, type PaginationLabels, type PaginationProps, Peek, type PeekProps, type PillSize, type PillTone, type PillTreatment, Pipeline, type PipelineProps, PipelineStage, type PipelineStageProps, type PipelineStageState, type PlacedDaySpan, type PlacedMonthSpan, type PlacedSpan, Placement, Popconfirm, type PopconfirmProps, Popover, type PopoverProps, type PositionedRelationshipNode, PresenceDot, type PresenceDotProps, type Primitive, Progress, type ProgressProps, PromptDialog, type PromptDialogProps, Prose, type ProseProps, Radio, RadioCard, type RadioCardProps, RadioGroup, type RadioGroupProps, type RadioProps, type RelatedLinkItem, RelatedLinks, type RelatedLinksProps, RelationshipGraph, type RelationshipGraphArrow, type RelationshipGraphCluster, type RelationshipGraphEdge, type RelationshipGraphLabels, type RelationshipGraphLegendItem, type RelationshipGraphNode, type RelationshipGraphProps, RelativeTime, type RelativeTimeFormatContext, type RelativeTimeProps, type RelativeTimeUnit, type RelativeTimeValue, ResourceGrid, type ResourceGridProps, type RgbColor, type RoutedEdge, type Row, RowAction, type RowActionProps, RowActions, type RowActionsProps, type RuleAction, type RuleActionDefinition, RuleBuilder, type RuleBuilderLabels, type RuleBuilderProps, type RuleCheck, type RuleCondition, type RuleDefinition, type RuleFieldDefinition, type RuleGroup, type RuleOperatorDefinition, type RuleSummaryWords, type RuleValidationIssue, type RuleValidationOptions, type RuleValueEditorProps, SaveStatus, type SaveStatusLabels, type SaveStatusProps, type SaveStatusState, type SavedViewItem, SavedViewMenu, type SavedViewMenuProps, type SavedViewSection, type SchedulingAgendaGroup, type SchedulingBand, SchedulingCalendar, type SchedulingCalendarDay, type SchedulingCalendarEntry, type SchedulingCalendarLabels, type SchedulingCalendarOverlay, type SchedulingCalendarProps, type SchedulingCalendarView, type SchedulingDatePart, type SchedulingEntryState, type SchedulingLegendItem, type SchedulingMarker, type SchedulingMarkerEmphasis, type SchedulingOverlayKind, type SchedulingOverlayPattern, type SchedulingStatus, SchedulingTimeline, type SchedulingTimelineGroup, type SchedulingTimelineItem, type SchedulingTimelineLabels, type SchedulingTimelineLane, type SchedulingTimelineMarker, type SchedulingTimelineOverlay, type SchedulingTimelineOverlayKind, type SchedulingTimelineProps, type SearchSegment, SearchSuggest, type SearchSuggestAction, type SearchSuggestOption, type SearchSuggestProps, SectionHead, type SectionHeadProps, type Segment, Segmented, SegmentedOption, type SegmentedOptionProps, type SegmentedProps, Select, type SelectAllState, type SelectGroup, type SelectLabels, type SelectOption, type SelectProps, type ShellNav, Sidebar, type SidebarProps, SidebarSection, type SidebarSectionProps, 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, Step, type StepProps, type StepState, type StepStateLabels, Steps, type StepsProps, SubNavItem, type SubNavItemProps, type SummarizeFilterOptions, Switch, type SwitchProps, TEXT_FILTER_OPERATORS, TOAST_LEAVE_MS, TOP_LANE_CROSS_MIDNIGHT_MINUTES, Tab, TabPanel, type TabPanelProps, type TabProps, Table, type TableDensity, type TableProps, TableWrap, type TableWrapProps, Tabs, type TabsProps, Td, type TdProps, TextDiff, type TextDiffGranularity, type TextDiffLabels, type TextDiffLine, type TextDiffOp, type TextDiffOptions, type TextDiffProps, type TextDiffResult, type TextDiffRow, type TextDiffSegment, type TextFilterOperator, Textarea, type TextareaProps, Th, type ThProps, type TimeGridDayLayout, type TimeGridEntryContext, type TimeGridEntryInput, type TimeGridPart, type TimeGridSegment, Timeline, TimelineItem, type TimelineItemProps, type TimelineProps, type TimelineRange, type TimelineScale, type TimelineSpan, type TimelineSubTick, type TimelineTick, Toast, type ToastAction, type ToastApi, type ToastDismissReason, type ToastKind, type ToastOptions, type ToastPromiseMessages, type ToastProps, type ToastRecord, type ToastStore, type ToastTone, Toaster, type ToasterProps, ToggleRow, type ToggleRowProps, Tooltip, type TooltipProps, Tr, type TrProps, Tree, type TreeLabels, type TreeLike, type TreeNavAction, type TreeNodeData, type TreeNodeProps, type TreeProps, type UixLabels, UixLabelsProvider, type UixLabelsProviderProps, type UixLinkProps, type UixRenderLink, type UndoableToastOptions, type UseAnchoredPositionOptions, type UseTableOptions, type UseTableResult, type UseVirtualRowsOptions, type UseVirtualRowsResult, UserChip, type UserChipProps, ViewMenu, type ViewMenuColumn, type ViewMenuColumnLabels, type ViewMenuProps, type ViewState, type VirtualWindow, type ZonedDateSpan, type ZonedDayBounds, type ZonedDayShift, type ZonedDaySpan, type ZonedHourSlot, addCalendarDays, addCalendarMonths, addZonedDays, appendRuleNode, applyBrandProfile, applyFilters, boundRelationshipGraph, buildMonthGrid, buildThreeWayDiff, cachedDateTimeFormat, clampMetricValue, clampWidth, classifyLayeredEdges, clusterIdFor, contrastRatio, createToastApi, createToastStore, cx, dashboardGridClassName, dashboardGridItemClassName, dateOrder, datePattern, defaultTimelineStep, diffText, diffTokens, emptyFilterValue, enumerateDateKeys, enumerateDateSpan, fileKind, fileMatchesAccept, filterComboboxOptions, findRuleNodeDepth, flattenTree, foldForSearch, formatDateKey, formatFileSize, hexToRgb, highlightSegments, hsvToHex, hsvToRgb, isDateInRange, isDateUnavailable, isFilterEmpty, isRuleGroup, isValidDateKey, itemDaySpan, joinDateTime, layeredNeighbor, layoutDaySpans, layoutLane, layoutLayeredGraph, layoutMonthSpans, layoutRelationshipGraph, layoutTimeGridDay, mapRuleGroup, matchFilter, matchFilterPreset, meetsContrast, mergePinned, moveRuleNode, multiSort, nextSortDir, normalizeHex, packLanes, parseDateInput, parseDateValue, parseMetricValue, parseView, partitionFiles, pixelsToMs, placeSpan, placesInTopLane, proposeMove, rankOverflow, relationshipNeighbors, relativeTimeValue, removeRuleNode, renderPlainLink, reorder, restoreBrandProfile, rgbToHex, rgbToHsv, ruleDepth, schedulingGridDays, searchRows, searchSegments, selectAllState, selectRangeDate, serializeView, setRuleCombinator, shiftSpan, shouldVirtualize, snapToStep, splitDateTime, startOfMonth, stepMetricValue, summarizeDiff, summarizeFilter, summarizeRule, textDiffRows, timeZoneName, timelineRepeatedHourOffset, timelineStepDelta, timelineSubTicks, timelineTicks, toDateKey, toast, toggleId, togglePage, toggleSort, tokenizeText, traverseRelationshipNode, treeNav, useAnchoredPosition, useDialog, useTable, useUixLabels, useVirtualRows, validateRuleDefinition, virtualWindow, wrapEdgeLabel, zonedDateKey, zonedDateSpan, zonedDayBounds, zonedDaySpan, zonedHourSlots, zonedTimeOfDay };
6149
+ export { type AccessStateProps, Alert, type AlertProps, type AlertTone, AppShell, type AppShellProps, type AppliedBrandProfileSnapshot, type AsyncOperationState, AsyncOperationStatus, type AsyncOperationStatusProps, Attachment, type AttachmentLabels, AttachmentList, type AttachmentListProps, type AttachmentProps, Avatar, AvatarGroup, type AvatarGroupProps, type AvatarPresence, type AvatarProps, type BoundedRelationshipGraph, type BrandProfile, BrandProfileEditor, type BrandProfileEditorLabels, type BrandProfileEditorProps, type BrandProfileLogo, type BrandProfileTypography, BrandProfiles, type BreadcrumbItem, Breadcrumbs, type BreadcrumbsProps, BuilderCanvas, type BuilderCanvasItem, type BuilderCanvasLabels, type BuilderCanvasProps, type BuilderPaletteItem, BulkBar, type BulkBarProps, Bullet, type BulletProps, Button, ButtonGroup, type ButtonGroupProps, ButtonLink, type ButtonLinkProps, type ButtonProps, type ButtonSize, type ButtonVariant, type CalendarDay, type CalendarWeekday, Card, CardLink, type CardLinkProps, type CardProps, CellStrong, CellSub, Checkbox, type CheckboxProps, Chip, ChipGroup, type ChipGroupProps, type ChipProps, CollapsibleSection, type CollapsibleSectionProps, ColorPicker, type ColorPickerLabels, 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, CopyButton, type CopyButtonProps, DAY, DEFAULT_ATTACHMENT_LABELS, DEFAULT_BRAND_PROFILE_EDITOR_LABELS, DEFAULT_BUILDER_CANVAS_LABELS, DEFAULT_COLOR_PICKER_LABELS, DEFAULT_DATE_PICKER_LABELS, DEFAULT_DATE_RANGE_PICKER_LABELS, DEFAULT_DATE_TIME_PICKER_LABELS, DEFAULT_DIFF_VIEWER_LABELS, DEFAULT_ENTITY_PICKER_LABELS, DEFAULT_FILE_UPLOAD_LABELS, DEFAULT_FILTER_EDITOR_LABELS, DEFAULT_FILTER_SUMMARY_LABELS, DEFAULT_INLINE_EDIT_LABELS, DEFAULT_INSIGHT_CARD_LABELS, DEFAULT_LIGHTBOX_LABELS, DEFAULT_MATCH_REVIEW_LABELS, DEFAULT_PAGINATION_LABELS, DEFAULT_PRESENCE_LABELS, DEFAULT_RELATIONSHIP_GRAPH_LABELS, DEFAULT_RULE_BUILDER_LABELS, DEFAULT_RULE_SUMMARY_WORDS, DEFAULT_RULE_VALIDATION_MESSAGES, DEFAULT_SAVE_STATUS_LABELS, DEFAULT_SCHEDULING_CALENDAR_LABELS, DEFAULT_SCHEDULING_TIMELINE_LABELS, DEFAULT_STEP_STATE_LABELS, DEFAULT_TEXT_DIFF_LABELS, DEFAULT_TREE_LABELS, DashboardGrid, type DashboardGridBreakpoint, type DashboardGridColumnCount, type DashboardGridColumns, type DashboardGridGap, DashboardGridItem, type DashboardGridItemProps, type DashboardGridProps, type DashboardGridSpan, type DateInputProblem, type DatePart, DatePicker, type DatePickerLabels, type DatePickerProps, DateRangePicker, type DateRangePickerLabels, type DateRangePickerProps, type DateRangeValue, DateTimePicker, type DateTimePickerLabels, type DateTimePickerProps, type DaySpanLayout, DescriptionItem, type DescriptionItemProps, DescriptionList, type DescriptionListItem, type DescriptionListProps, DetailLayout, type DetailLayoutProps, DetailPage, type DetailPageLinkProps, type DetailPageMetric, type DetailPageProps, type DetailPageTab, DialogClose, type DialogCloseProps, type DiffEntry, type DiffKind, type DiffResolution, type DiffSummary, DiffViewer, type DiffViewerLabels, type DiffViewerProps, type DiscardPromptLabels, Drawer, type DrawerProps, EmptyState, type EmptyStateProps, EntityPicker, type EntityPickerLabels, type EntityPickerProps, type EntityPickerSearchResult, ErrorState, type ErrorStateProps, EventRow, type EventRowProps, ExpandToggle, type ExpandToggleProps, FeaturedRundown, FeaturedRundownItem, type FeaturedRundownItemProps, type FeaturedRundownProps, FeaturedStage, type FeaturedStageProps, Field, type FieldProps, type FileRejection, type FileRejectionReason, type FileSizeFormatter, type FileSizeOptions, FileUpload, type FileUploadItem, type FileUploadLabels, type FileUploadProps, type FileUploadStatus, type FilterChoice, FilterEditor, type FilterEditorLabels, type FilterEditorProps, type FilterField, type FilterKind, type FilterOp, type FilterOption, FilterPopover, type FilterPopoverProps, type FilterPreset, type FilterSummaryLabels, type FilterValue, type FilterValueKind, FilteredEmptyState, type FlatNode, Flow, FlowNode, type FlowNodeProps, type FlowNodeState, type FlowProps, type FlowVariant, type FoldedText, ForbiddenState, HOUR, Heartbeat, type HeartbeatProps, type HeartbeatState, Highlighted, type HighlightedProps, type HsvColor, Inbox, InboxDetail, type InboxDetailProps, InboxItem, type InboxItemProps, InboxList, type InboxListProps, type InboxProps, InfoTip, type InfoTipProps, InlineEdit, type InlineEditEditorProps, type InlineEditLabels, type InlineEditProps, Input, InputGroup, type InputGroupProps, type InputProps, InsightCard, type InsightCardLabels, type InsightCardProps, type InsightComparison, type InsightCoverage, type InsightKpi, type InsightStatus, type InsightStatusTone, type InsightTarget, type JsonPrimitive, type JsonValue, Kanban, KanbanCard, type KanbanCardProps, KanbanColumn, type KanbanColumnProps, type KanbanMoveDirection, type KanbanProps, Kbd, KbdCombo, type KbdComboProps, type KbdPlatform, type KbdProps, type KeyShortcut, Label, type LabelProps, type LaneCluster, type LaneInterval, type LanePlacement, type LayeredColumn, type LayeredEdgeClassification, type LayeredEdgeKind, type LayeredItem, type LayeredLayout, type LayeredLayoutOptions, type LayeredNavigationKey, type LayoutLaneOptions, type LayoutMonthSpansOptions, LicensePositionBar, type LicensePositionBarProps, Lightbox, type LightboxItem, type LightboxLabels, type LightboxProps, List, ListItem, type ListItemProps, type ListProps, LiveIndicator, type LiveIndicatorProps, LoadingState, type LoadingStateProps, Mark, type MarkProps, type MatchBulkResult, MatchReview, type MatchReviewAction, type MatchReviewCandidate, type MatchReviewField, type MatchReviewLabels, type MatchReviewProps, Menu, MenuGroup, type MenuGroupProps, MenuItem, type MenuItemAttributes, MenuItemCheckbox, type MenuItemCheckboxProps, type MenuItemProps, MenuItemRadio, type MenuItemRadioProps, type MenuProps, MenuRadioGroup, type MenuRadioGroupProps, MenuSeparator, Meter, type MeterProps, type MeterTone, MetricInput, type MetricInputProps, Modal, type ModalProps, type MonthSpanGroup, type MonthSpanInput, type MonthSpanLayout, type MoveProposal, NUMBER_FILTER_OPERATORS, 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, type NumberFilterOperator, type PackLanesOptions, type PackedLanes, PageHeader, type PageHeaderProps, PageIntro, type PageIntroProps, Pagination, type PaginationLabels, type PaginationProps, Peek, type PeekProps, type PillSize, type PillTone, type PillTreatment, Pipeline, type PipelineProps, PipelineStage, type PipelineStageProps, type PipelineStageState, type PlacedDaySpan, type PlacedMonthSpan, type PlacedSpan, Placement, Popconfirm, type PopconfirmProps, Popover, type PopoverProps, type PositionedRelationshipNode, PresenceDot, type PresenceDotProps, type Primitive, Progress, type ProgressProps, PromptDialog, type PromptDialogProps, Prose, type ProseProps, Radio, RadioCard, type RadioCardProps, RadioGroup, type RadioGroupProps, type RadioProps, type RelatedLinkItem, RelatedLinks, type RelatedLinksProps, RelationshipGraph, type RelationshipGraphArrow, type RelationshipGraphCluster, type RelationshipGraphEdge, type RelationshipGraphLabels, type RelationshipGraphLegendItem, type RelationshipGraphNode, type RelationshipGraphProps, RelativeTime, type RelativeTimeFormatContext, type RelativeTimeProps, type RelativeTimeUnit, type RelativeTimeValue, ResourceGrid, type ResourceGridProps, type RgbColor, type RoutedEdge, type Row, RowAction, type RowActionProps, RowActions, type RowActionsProps, type RuleAction, type RuleActionDefinition, RuleBuilder, type RuleBuilderLabels, type RuleBuilderProps, type RuleCheck, type RuleCondition, type RuleDefinition, type RuleFieldDefinition, type RuleGroup, type RuleOperatorDefinition, type RuleSummaryWords, type RuleValidationIssue, type RuleValidationOptions, type RuleValueEditorProps, SaveStatus, type SaveStatusLabels, type SaveStatusProps, type SaveStatusState, type SavedViewItem, SavedViewMenu, type SavedViewMenuProps, type SavedViewSection, type SchedulingAgendaGroup, type SchedulingBand, SchedulingCalendar, type SchedulingCalendarDay, type SchedulingCalendarEntry, type SchedulingCalendarLabels, type SchedulingCalendarOverlay, type SchedulingCalendarProps, type SchedulingCalendarView, type SchedulingDatePart, type SchedulingEntryState, type SchedulingLegendItem, type SchedulingMarker, type SchedulingMarkerEmphasis, type SchedulingOverlayKind, type SchedulingOverlayPattern, type SchedulingStatus, SchedulingTimeline, type SchedulingTimelineGroup, type SchedulingTimelineItem, type SchedulingTimelineLabels, type SchedulingTimelineLane, type SchedulingTimelineMarker, type SchedulingTimelineOverlay, type SchedulingTimelineOverlayKind, type SchedulingTimelineProps, SearchBar, type SearchBarLabels, type SearchBarProps, type SearchSegment, SearchSuggest, type SearchSuggestAction, type SearchSuggestOption, type SearchSuggestProps, SectionHead, type SectionHeadProps, type Segment, Segmented, SegmentedOption, type SegmentedOptionProps, type SegmentedProps, Select, type SelectAllState, type SelectGroup, type SelectLabels, type SelectOption, type SelectProps, type ShellNav, Sidebar, type SidebarProps, SidebarSection, type SidebarSectionProps, 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, Step, type StepProps, type StepState, type StepStateLabels, Steps, type StepsProps, SubNavItem, type SubNavItemProps, type SummarizeFilterOptions, Switch, type SwitchProps, TEXT_FILTER_OPERATORS, TOAST_LEAVE_MS, TOP_LANE_CROSS_MIDNIGHT_MINUTES, Tab, TabPanel, type TabPanelProps, type TabProps, Table, type TableDensity, type TableProps, TableWrap, type TableWrapProps, Tabs, type TabsProps, Td, type TdProps, TextDiff, type TextDiffGranularity, type TextDiffLabels, type TextDiffLine, type TextDiffOp, type TextDiffOptions, type TextDiffProps, type TextDiffResult, type TextDiffRow, type TextDiffSegment, type TextFilterOperator, Textarea, type TextareaProps, Th, type ThProps, type TimeGridDayLayout, type TimeGridEntryContext, type TimeGridEntryInput, type TimeGridPart, type TimeGridSegment, Timeline, TimelineItem, type TimelineItemProps, type TimelineProps, type TimelineRange, type TimelineScale, type TimelineSpan, type TimelineSubTick, type TimelineTick, Toast, type ToastAction, type ToastApi, type ToastDismissReason, type ToastKind, type ToastOptions, type ToastPromiseMessages, type ToastProps, type ToastRecord, type ToastStore, type ToastTone, Toaster, type ToasterProps, ToggleRow, type ToggleRowProps, Tooltip, type TooltipProps, Tr, type TrProps, Tree, type TreeLabels, type TreeLike, type TreeNavAction, type TreeNodeData, type TreeNodeProps, type TreeProps, type UixLabels, UixLabelsProvider, type UixLabelsProviderProps, type UixLinkProps, type UixRenderLink, type UndoableToastOptions, type UseAnchoredPositionOptions, type UseTableOptions, type UseTableResult, type UseVirtualRowsOptions, type UseVirtualRowsResult, UserChip, type UserChipProps, ViewMenu, type ViewMenuColumn, type ViewMenuColumnLabels, type ViewMenuProps, type ViewState, type VirtualWindow, type ZonedDateSpan, type ZonedDayBounds, type ZonedDayShift, type ZonedDaySpan, type ZonedHourSlot, addCalendarDays, addCalendarMonths, addZonedDays, appendRuleNode, applyBrandProfile, applyFilters, ariaKeyShortcuts, boundRelationshipGraph, buildMonthGrid, buildThreeWayDiff, cachedDateTimeFormat, clampMetricValue, clampWidth, classifyLayeredEdges, clusterIdFor, contrastRatio, createToastApi, createToastStore, cx, dashboardGridClassName, dashboardGridItemClassName, dateOrder, datePattern, defaultTimelineStep, diffText, diffTokens, emptyFilterValue, enumerateDateKeys, enumerateDateSpan, fileKind, fileMatchesAccept, filterComboboxOptions, findRuleNodeDepth, flattenTree, foldForSearch, formatDateKey, formatFileSize, hexToRgb, highlightSegments, hsvToHex, hsvToRgb, isDateInRange, isDateUnavailable, isFilterEmpty, isRuleGroup, isValidDateKey, itemDaySpan, joinDateTime, layeredNeighbor, layoutDaySpans, layoutLane, layoutLayeredGraph, layoutMonthSpans, layoutRelationshipGraph, layoutTimeGridDay, mapRuleGroup, matchFilter, matchFilterPreset, meetsContrast, mergePinned, moveRuleNode, multiSort, nextSortDir, normalizeHex, packLanes, parseDateInput, parseDateValue, parseMetricValue, parseView, partitionFiles, pixelsToMs, placeSpan, placesInTopLane, proposeMove, rankOverflow, relationshipNeighbors, relativeTimeValue, removeRuleNode, renderPlainLink, reorder, restoreBrandProfile, rgbToHex, rgbToHsv, ruleDepth, schedulingGridDays, searchRows, searchSegments, selectAllState, selectRangeDate, serializeView, setRuleCombinator, shiftSpan, shouldVirtualize, snapToStep, splitDateTime, startOfMonth, stepMetricValue, summarizeDiff, summarizeFilter, summarizeRule, textDiffRows, timeZoneName, timelineRepeatedHourOffset, timelineStepDelta, timelineSubTicks, timelineTicks, toDateKey, toast, toggleId, togglePage, toggleSort, tokenizeText, traverseRelationshipNode, treeNav, useAnchoredPosition, useDialog, useTable, useUixLabels, useVirtualRows, validateRuleDefinition, virtualWindow, wrapEdgeLabel, zonedDateKey, zonedDateSpan, zonedDayBounds, zonedDaySpan, zonedHourSlots, zonedTimeOfDay };
package/dist/index.d.ts CHANGED
@@ -11,6 +11,7 @@ export { Input, InputGroup, InputGroupProps, InputProps } from './components/Inp
11
11
  export { Combobox, ComboboxProps } from './components/Combobox.js';
12
12
  export { ComboboxOption, filterComboboxOptions } from './combobox-model.js';
13
13
  export { SearchSuggest, SearchSuggestAction, SearchSuggestOption, SearchSuggestProps } from './components/SearchSuggest.js';
14
+ export { SearchBar, SearchBarLabels, SearchBarProps } from './components/SearchBar.js';
14
15
  export { DEFAULT_ENTITY_PICKER_LABELS, EntityPicker, EntityPickerLabels, EntityPickerProps, EntityPickerSearchResult } from './components/EntityPicker.js';
15
16
  export { FoldedText, SearchSegment, foldForSearch, searchSegments } from './search-suggest-model.js';
16
17
  export { Textarea, TextareaProps } from './components/Textarea.js';
@@ -23,6 +24,7 @@ export { Field, FieldProps } from './components/Field.js';
23
24
  export { Modal, ModalProps } from './components/Modal.js';
24
25
  export { ConfirmDialog, ConfirmDialogProps, Popconfirm, PopconfirmProps, PromptDialog, PromptDialogProps } from './components/Dialogs.js';
25
26
  export { Drawer, DrawerProps } from './components/Drawer.js';
27
+ export { DialogClose, DialogCloseProps, DiscardPromptLabels } from './components/DiscardPrompt.js';
26
28
  export { Peek, PeekProps } from './components/Peek.js';
27
29
  export { DEFAULT_LIGHTBOX_LABELS, Lightbox, LightboxItem, LightboxLabels, LightboxProps } from './components/Lightbox.js';
28
30
  export { Card, CardLink, CardLinkProps, CardProps } from './components/Card.js';
@@ -60,7 +62,7 @@ export { Stat, StatProps, StatTrend } from './components/Stat.js';
60
62
  export { Bullet, BulletProps, DEFAULT_INSIGHT_CARD_LABELS, InsightCard, InsightCardLabels, InsightCardProps, InsightComparison, InsightCoverage, InsightKpi, InsightStatus, InsightStatusTone, InsightTarget } from './components/InsightCard.js';
61
63
  export { ChartStatPoint, LinearFit, PredictionBandPoint, linearFit, normalQuantile, predictionBand, quantiles, studentTQuantile } from './chart-stats.js';
62
64
  export { Chip, ChipGroup, ChipGroupProps, ChipProps } from './components/Chip.js';
63
- export { Kbd, KbdCombo, KbdComboProps, KbdPlatform, KbdProps } from './components/Kbd.js';
65
+ export { Kbd, KbdCombo, KbdComboProps, KbdPlatform, KbdProps, KeyShortcut, ariaKeyShortcuts } from './components/Kbd.js';
64
66
  export { DEFAULT_STEP_STATE_LABELS, Step, StepProps, StepState, StepStateLabels, Steps, StepsProps } from './components/Steps.js';
65
67
  export { Tooltip, TooltipProps } from './components/Tooltip.js';
66
68
  export { InfoTip, InfoTipProps } from './components/InfoTip.js';
package/dist/index.js CHANGED
@@ -11,6 +11,7 @@ import { Input, InputGroup } from "./components/Input.js";
11
11
  import { Combobox } from "./components/Combobox.js";
12
12
  import { filterComboboxOptions } from "./combobox-model.js";
13
13
  import { SearchSuggest } from "./components/SearchSuggest.js";
14
+ import { SearchBar } from "./components/SearchBar.js";
14
15
  import { EntityPicker, DEFAULT_ENTITY_PICKER_LABELS } from "./components/EntityPicker.js";
15
16
  import { searchSegments, foldForSearch } from "./search-suggest-model.js";
16
17
  import { Textarea } from "./components/Textarea.js";
@@ -23,6 +24,7 @@ import { Field } from "./components/Field.js";
23
24
  import { Modal } from "./components/Modal.js";
24
25
  import { ConfirmDialog, Popconfirm, PromptDialog } from "./components/Dialogs.js";
25
26
  import { Drawer } from "./components/Drawer.js";
27
+ import { DialogClose } from "./components/DiscardPrompt.js";
26
28
  import { Peek } from "./components/Peek.js";
27
29
  import { Lightbox, DEFAULT_LIGHTBOX_LABELS } from "./components/Lightbox.js";
28
30
  import { Card, CardLink } from "./components/Card.js";
@@ -74,7 +76,7 @@ import { Stat } from "./components/Stat.js";
74
76
  import { Bullet, DEFAULT_INSIGHT_CARD_LABELS, InsightCard } from "./components/InsightCard.js";
75
77
  import { linearFit, normalQuantile, predictionBand, quantiles, studentTQuantile } from "./chart-stats.js";
76
78
  import { Chip, ChipGroup } from "./components/Chip.js";
77
- import { Kbd, KbdCombo } from "./components/Kbd.js";
79
+ import { Kbd, KbdCombo, ariaKeyShortcuts } from "./components/Kbd.js";
78
80
  import { Steps, Step, DEFAULT_STEP_STATE_LABELS } from "./components/Steps.js";
79
81
  import { Tooltip } from "./components/Tooltip.js";
80
82
  import { InfoTip } from "./components/InfoTip.js";
@@ -290,6 +292,7 @@ export {
290
292
  DescriptionList,
291
293
  DetailLayout,
292
294
  DetailPage,
295
+ DialogClose,
293
296
  DiffViewer,
294
297
  Drawer,
295
298
  EmptyState,
@@ -378,6 +381,7 @@ export {
378
381
  SavedViewMenu,
379
382
  SchedulingCalendar,
380
383
  SchedulingTimeline,
384
+ SearchBar,
381
385
  SearchSuggest,
382
386
  SectionHead,
383
387
  Segmented,
@@ -424,6 +428,7 @@ export {
424
428
  addZonedDays,
425
429
  appendRuleNode,
426
430
  applyBrandProfile,
431
+ ariaKeyShortcuts,
427
432
  boundRelationshipGraph,
428
433
  buildMonthGrid,
429
434
  buildThreeWayDiff,
@@ -14,6 +14,8 @@ import { AttachmentLabels } from './attachment-labels.js';
14
14
  import { EntityPickerLabels } from './components/EntityPicker.js';
15
15
  import { TreeLabels } from './components/Tree.js';
16
16
  import { InlineEditLabels } from './components/InlineEdit.js';
17
+ import { DiscardPromptLabels } from './components/DiscardPrompt.js';
18
+ import { SearchBarLabels } from './components/SearchBar.js';
17
19
  import './link.js';
18
20
  import './calendar-model.js';
19
21
  import './scheduling-calendar-model.js';
@@ -26,6 +28,8 @@ import './json-value.js';
26
28
  import './rule-builder-model.js';
27
29
  import './file-model.js';
28
30
  import './components/SearchSuggest.js';
31
+ import './components/Button.js';
32
+ import './components/Kbd.js';
29
33
 
30
34
  /**
31
35
  * Kit chrome strings by component (HAR-1358; TENSOR C20, MOTUS executive summary #3).
@@ -43,6 +47,8 @@ interface UixLabels {
43
47
  drawer?: {
44
48
  close?: string;
45
49
  };
50
+ /** The "Discard changes?" step of a `dirty` Drawer or Modal (HAR-2029). */
51
+ discardPrompt?: Partial<DiscardPromptLabels>;
46
52
  peek?: {
47
53
  previous?: string;
48
54
  next?: string;
@@ -65,6 +71,8 @@ interface UixLabels {
65
71
  searchSuggest?: {
66
72
  clear?: string;
67
73
  };
74
+ /** `SearchBar` (HAR-2030): the clear button's name and the submit button's text. */
75
+ searchBar?: Partial<SearchBarLabels>;
68
76
  /** `resultsOne` / `resultsMany`: the polite result count; `{count}`. */
69
77
  commandPalette?: {
70
78
  input?: string;