@geomak/ui 5.5.3 → 5.6.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/index.d.cts CHANGED
@@ -1865,6 +1865,8 @@ interface FieldProps {
1865
1865
  layout?: 'horizontal' | 'vertical';
1866
1866
  /** Show a required asterisk after the label. */
1867
1867
  required?: boolean;
1868
+ /** Contextual help revealed via an info icon + tooltip beside the label. */
1869
+ helperText?: React$1.ReactNode;
1868
1870
  labelStyle?: React$1.CSSProperties;
1869
1871
  /** Width of the label column in horizontal layout (CSS length). */
1870
1872
  labelWidth?: string | number;
@@ -1887,7 +1889,7 @@ interface FieldProps {
1887
1889
  * medium weight so it reads as the anchor, while the input's placeholder is
1888
1890
  * muted — establishing hierarchy without making the label tiny.
1889
1891
  */
1890
- declare function Field({ label, htmlFor, errorId, errorMessage, layout, required, labelStyle, labelWidth, className, children, }: FieldProps): react_jsx_runtime.JSX.Element;
1892
+ declare function Field({ label, htmlFor, errorId, errorMessage, layout, required, helperText, labelStyle, labelWidth, className, children, }: FieldProps): react_jsx_runtime.JSX.Element;
1891
1893
 
1892
1894
  interface TextInputProps {
1893
1895
  value?: string;
@@ -1907,6 +1909,8 @@ interface TextInputProps {
1907
1909
  size?: FieldSize;
1908
1910
  onBlur?: React$1.FocusEventHandler<HTMLInputElement>;
1909
1911
  errorMessage?: React$1.ReactNode;
1912
+ /** Contextual help revealed via an info icon + tooltip beside the label. */
1913
+ helperText?: React$1.ReactNode;
1910
1914
  /** Mark the field required (renders an asterisk after the label). */
1911
1915
  required?: boolean;
1912
1916
  /** Optional leading adornment (icon / prefix). */
@@ -1936,7 +1940,7 @@ interface TextInputProps {
1936
1940
  * />
1937
1941
  * ```
1938
1942
  */
1939
- declare function TextInput({ value, onChange, disabled, label, htmlFor, placeholder, name, type, inputStyle, style, layout, size, onBlur, errorMessage, required, prefix, suffix, }: TextInputProps): react_jsx_runtime.JSX.Element;
1943
+ declare function TextInput({ value, onChange, disabled, label, htmlFor, placeholder, name, type, inputStyle, style, layout, size, onBlur, errorMessage, helperText, required, prefix, suffix, }: TextInputProps): react_jsx_runtime.JSX.Element;
1940
1944
 
1941
1945
  interface NumberInputProps {
1942
1946
  /** Step size for the up/down buttons and native arrow-key handling. Default `1`. */
@@ -1960,6 +1964,8 @@ interface NumberInputProps {
1960
1964
  /** Size preset. Default `'md'`. */
1961
1965
  size?: FieldSize;
1962
1966
  errorMessage?: React$1.ReactNode;
1967
+ /** Contextual help revealed via an info icon + tooltip beside the label. */
1968
+ helperText?: React$1.ReactNode;
1963
1969
  required?: boolean;
1964
1970
  inputStyle?: React$1.CSSProperties;
1965
1971
  labelStyle?: React$1.CSSProperties;
@@ -2003,7 +2009,7 @@ interface NumberInputProps {
2003
2009
  * <NumberInput label="Tonnage" step={0.25} precision={2} />
2004
2010
  * ```
2005
2011
  */
2006
- declare function NumberInput({ step, value, onChange, label, htmlFor, name, disabled, layout, size, errorMessage, required, inputStyle, labelStyle, placeholder, style, min, max, readOnly, precision, }: NumberInputProps): react_jsx_runtime.JSX.Element;
2012
+ declare function NumberInput({ step, value, onChange, label, htmlFor, name, disabled, layout, size, errorMessage, helperText, required, inputStyle, labelStyle, placeholder, style, min, max, readOnly, precision, }: NumberInputProps): react_jsx_runtime.JSX.Element;
2007
2013
 
2008
2014
  interface PasswordProps {
2009
2015
  value?: string;
@@ -2021,6 +2027,8 @@ interface PasswordProps {
2021
2027
  size?: FieldSize;
2022
2028
  onBlur?: React$1.FocusEventHandler<HTMLInputElement>;
2023
2029
  errorMessage?: React$1.ReactNode;
2030
+ /** Contextual help revealed via an info icon + tooltip beside the label. */
2031
+ helperText?: React$1.ReactNode;
2024
2032
  required?: boolean;
2025
2033
  /** Override the "reveal" (password hidden) icon. */
2026
2034
  showIcon?: React$1.ReactNode;
@@ -2036,7 +2044,7 @@ interface PasswordProps {
2036
2044
  * <Password label="Password" value={pw} onChange={(e) => setPw(e.target.value)} />
2037
2045
  * ```
2038
2046
  */
2039
- declare function Password({ value, onChange, disabled, label, htmlFor, placeholder, name, inputStyle, style, layout, size, onBlur, errorMessage, required, showIcon, hideIcon, }: PasswordProps): react_jsx_runtime.JSX.Element;
2047
+ declare function Password({ value, onChange, disabled, label, htmlFor, placeholder, name, inputStyle, style, layout, size, onBlur, errorMessage, helperText, required, showIcon, hideIcon, }: PasswordProps): react_jsx_runtime.JSX.Element;
2040
2048
 
2041
2049
  interface SearchInputProps {
2042
2050
  value?: string;
@@ -2054,6 +2062,8 @@ interface SearchInputProps {
2054
2062
  size?: FieldSize;
2055
2063
  /** Override the leading search icon. */
2056
2064
  icon?: React$1.ReactNode;
2065
+ /** Contextual help revealed via an info icon + tooltip beside the label. */
2066
+ helperText?: React$1.ReactNode;
2057
2067
  }
2058
2068
  /**
2059
2069
  * Search field with a leading magnifier icon. Uses `type="search"` for the
@@ -2095,6 +2105,10 @@ interface CheckboxProps {
2095
2105
  * - In vertical: `'right'` (default) → box then label below; `'left'` → label above then box.
2096
2106
  */
2097
2107
  labelPosition?: 'left' | 'right';
2108
+ /** Contextual help revealed via an info icon + tooltip beside the label. */
2109
+ helperText?: React$1.ReactNode;
2110
+ /** Show a required asterisk after the label. */
2111
+ required?: boolean;
2098
2112
  /** @deprecated Use `checked` */
2099
2113
  value?: boolean;
2100
2114
  }
@@ -2113,7 +2127,7 @@ interface CheckboxProps {
2113
2127
  * />
2114
2128
  */
2115
2129
  declare function Checkbox({ checked, value, // legacy alias
2116
- onChange, label, name, htmlFor, errorMessage, disabled, layout, labelPosition, }: CheckboxProps): react_jsx_runtime.JSX.Element;
2130
+ onChange, label, name, htmlFor, errorMessage, disabled, layout, labelPosition, helperText, required, }: CheckboxProps): react_jsx_runtime.JSX.Element;
2117
2131
 
2118
2132
  interface RadioOption {
2119
2133
  /** Stable value submitted / reported on change. */
@@ -2149,6 +2163,8 @@ interface RadioGroupProps {
2149
2163
  size?: FieldSize;
2150
2164
  disabled?: boolean;
2151
2165
  required?: boolean;
2166
+ /** Contextual help revealed via an info icon + tooltip beside the label. */
2167
+ helperText?: React$1.ReactNode;
2152
2168
  errorMessage?: React$1.ReactNode;
2153
2169
  }
2154
2170
  /**
@@ -2174,33 +2190,59 @@ interface RadioGroupProps {
2174
2190
  * />
2175
2191
  * ```
2176
2192
  */
2177
- declare function RadioGroup({ options, value, defaultValue, onChange, name, label, layout, labelPosition, size, disabled, required, errorMessage, }: RadioGroupProps): react_jsx_runtime.JSX.Element;
2193
+ declare function RadioGroup({ options, value, defaultValue, onChange, name, label, layout, labelPosition, size, disabled, required, helperText, errorMessage, }: RadioGroupProps): react_jsx_runtime.JSX.Element;
2178
2194
 
2179
2195
  interface SwitchInputProps {
2196
+ /** Controlled on/off state. */
2180
2197
  checked?: boolean;
2198
+ /** Uncontrolled initial state. */
2199
+ defaultChecked?: boolean;
2181
2200
  onChange?: (e: {
2182
2201
  target: {
2183
2202
  checked: boolean;
2203
+ name?: string;
2184
2204
  };
2185
2205
  }) => void;
2206
+ /** Thumb icon shown when on. */
2186
2207
  checkedIcon?: React$1.ReactNode;
2208
+ /** Thumb icon shown when off. */
2187
2209
  uncheckedIcon?: React$1.ReactNode;
2210
+ /**
2211
+ * Central field label, positioned per `layout` (above in vertical, beside
2212
+ * in horizontal) — the same affordance every other input uses.
2213
+ */
2214
+ label?: React$1.ReactNode;
2215
+ /** Label/control orientation. Default `'horizontal'`. */
2216
+ layout?: 'horizontal' | 'vertical';
2217
+ /** Contextual help revealed via an info icon + tooltip beside the label. */
2218
+ helperText?: React$1.ReactNode;
2219
+ /** Label rendered to the left of the track, emphasised while off. */
2220
+ offLabel?: React$1.ReactNode;
2221
+ /** Label rendered to the right of the track, emphasised while on. */
2222
+ onLabel?: React$1.ReactNode;
2223
+ name?: string;
2224
+ required?: boolean;
2225
+ disabled?: boolean;
2226
+ errorMessage?: React$1.ReactNode;
2188
2227
  }
2189
2228
  /**
2190
2229
  * Form switch (on/off toggle) powered by Radix Switch.
2191
2230
  *
2192
- * Radix handles keyboard activation, focus ring, and `role="switch"` ARIA.
2193
- * Accepts optional icon slots for the thumb in checked/unchecked states.
2231
+ * Two labelling modes, usable together or apart:
2232
+ * - **central `label`** positioned by `layout` (the standard field label), and
2233
+ * - **per-state `offLabel` / `onLabel`** flanking the track, each emphasised
2234
+ * when its state is active (the "Off ▮ On" pattern).
2194
2235
  *
2195
- * Emits `{ target: { checked } }` for compatibility with existing handlers.
2236
+ * Form-ready: pass `name` for native serialisation (Radix emits a hidden
2237
+ * input), `errorMessage` for validation, `required` for the asterisk.
2238
+ *
2239
+ * Works controlled (`checked` + `onChange`) or uncontrolled (`defaultChecked`).
2196
2240
  *
2197
2241
  * @example
2198
- * <Switch
2199
- * checked={form.enabled}
2200
- * onChange={({ target }) => setField('enabled', target.checked)}
2201
- * />
2242
+ * <Switch label="Email notifications" checked={on} onChange={({ target }) => setOn(target.checked)} />
2243
+ * <Switch offLabel="Monthly" onLabel="Yearly" checked={yearly} onChange={...} />
2202
2244
  */
2203
- declare function Switch({ checked, onChange, checkedIcon, uncheckedIcon, }: SwitchInputProps): react_jsx_runtime.JSX.Element;
2245
+ declare function Switch({ checked, defaultChecked, onChange, checkedIcon, uncheckedIcon, label, layout, helperText, offLabel, onLabel, name, required, disabled, errorMessage, }: SwitchInputProps): react_jsx_runtime.JSX.Element;
2204
2246
 
2205
2247
  interface DropdownItem {
2206
2248
  key: string | number;
@@ -2234,6 +2276,9 @@ interface DropdownProps {
2234
2276
  disabled?: boolean;
2235
2277
  /** Label/input orientation. Defaults to `'vertical'`. */
2236
2278
  layout?: 'horizontal' | 'vertical';
2279
+ /** Contextual help revealed via an info icon + tooltip beside the label. */
2280
+ helperText?: React$1.ReactNode;
2281
+ required?: boolean;
2237
2282
  errorMessage?: React$1.ReactNode;
2238
2283
  style?: React$1.CSSProperties;
2239
2284
  htmlFor?: string;
@@ -2258,7 +2303,7 @@ interface DropdownProps {
2258
2303
  * // Multi-select
2259
2304
  * <Dropdown isMultiselect label="Fuels" items={fuels} value={form.fuels} onChange={handleChange} />
2260
2305
  */
2261
- declare function Dropdown({ isMultiselect, hasSearch, label, name, value, onChange, disabled, layout, errorMessage, style, htmlFor, items, labelStyle, placeholder, size, }: DropdownProps): react_jsx_runtime.JSX.Element;
2306
+ declare function Dropdown({ isMultiselect, hasSearch, label, name, value, onChange, disabled, layout, helperText, required, errorMessage, style, htmlFor, items, labelStyle, placeholder, size, }: DropdownProps): react_jsx_runtime.JSX.Element;
2262
2307
 
2263
2308
  interface AutoCompleteItem {
2264
2309
  key: string;
@@ -2304,6 +2349,8 @@ interface AutoCompleteProps {
2304
2349
  icon?: React$1.ReactNode;
2305
2350
  /** Validation message — turns the field red and links via aria-describedby. */
2306
2351
  errorMessage?: React$1.ReactNode;
2352
+ /** Contextual help revealed via an info icon + tooltip beside the label. */
2353
+ helperText?: React$1.ReactNode;
2307
2354
  /** Mark required (asterisk after the label). */
2308
2355
  required?: boolean;
2309
2356
  htmlFor?: string;
@@ -2344,7 +2391,7 @@ interface AutoCompleteProps {
2344
2391
  * />
2345
2392
  * ```
2346
2393
  */
2347
- declare function AutoComplete({ disabled, label, placeholder, name, inputStyle, style, layout, items, onSearch, debounce, onItemClick, emptyText, loadingText, size, icon, errorMessage, required, htmlFor, }: AutoCompleteProps): react_jsx_runtime.JSX.Element;
2394
+ declare function AutoComplete({ disabled, label, placeholder, name, inputStyle, style, layout, items, onSearch, debounce, onItemClick, emptyText, loadingText, size, icon, errorMessage, helperText, required, htmlFor, }: AutoCompleteProps): react_jsx_runtime.JSX.Element;
2348
2395
 
2349
2396
  interface TreeSelectNode {
2350
2397
  key: string | number;
@@ -2375,6 +2422,10 @@ interface TreeSelectProps {
2375
2422
  name?: string;
2376
2423
  /** Label/trigger orientation. Defaults to `'horizontal'`. */
2377
2424
  layout?: 'horizontal' | 'vertical';
2425
+ /** Contextual help revealed via an info icon + tooltip beside the label. */
2426
+ helperText?: React$1.ReactNode;
2427
+ /** Show a required asterisk after the label. */
2428
+ required?: boolean;
2378
2429
  disabled?: boolean;
2379
2430
  errorMessage?: React$1.ReactNode;
2380
2431
  style?: React$1.CSSProperties;
@@ -2425,7 +2476,7 @@ interface TreeSelectProps {
2425
2476
  * />
2426
2477
  * ```
2427
2478
  */
2428
- declare function TreeSelect({ label, name, value, onChange, disabled, layout, errorMessage, style, htmlFor, items, placeholder, parentsSelectable, defaultExpandedKeys, size, }: TreeSelectProps): react_jsx_runtime.JSX.Element;
2479
+ declare function TreeSelect({ label, name, value, onChange, disabled, layout, helperText, required, errorMessage, style, htmlFor, items, placeholder, parentsSelectable, defaultExpandedKeys, size, }: TreeSelectProps): react_jsx_runtime.JSX.Element;
2429
2480
 
2430
2481
  interface FileInputProps {
2431
2482
  allowMultiple?: boolean;
@@ -2449,6 +2500,8 @@ interface FileInputProps {
2449
2500
  /** Maximum file size in bytes. Files above this are rejected with an error. */
2450
2501
  maxSize?: number;
2451
2502
  errorMessage?: React$1.ReactNode;
2503
+ /** Contextual help revealed via an info icon + tooltip beside the label. */
2504
+ helperText?: React$1.ReactNode;
2452
2505
  disabled?: boolean;
2453
2506
  required?: boolean;
2454
2507
  /** Override the upload glyph in the empty state. */
@@ -2474,7 +2527,7 @@ interface FileInputProps {
2474
2527
  * />
2475
2528
  * ```
2476
2529
  */
2477
- declare function FileInput({ allowMultiple, onChange, name, htmlFor, label, accept, prompt, hint, maxSize, errorMessage, disabled, required, icon, }: FileInputProps): react_jsx_runtime.JSX.Element;
2530
+ declare function FileInput({ allowMultiple, onChange, name, htmlFor, label, accept, prompt, hint, maxSize, errorMessage, helperText, disabled, required, icon, }: FileInputProps): react_jsx_runtime.JSX.Element;
2478
2531
 
2479
2532
  interface DatePickerProps {
2480
2533
  /** Current date. `null` / `undefined` means "no date selected". */
@@ -2488,6 +2541,10 @@ interface DatePickerProps {
2488
2541
  name?: string;
2489
2542
  /** Label/trigger orientation. Defaults to `'horizontal'`. */
2490
2543
  layout?: 'horizontal' | 'vertical';
2544
+ /** Contextual help revealed via an info icon + tooltip beside the label. */
2545
+ helperText?: React$1.ReactNode;
2546
+ /** Show a required asterisk after the label. */
2547
+ required?: boolean;
2491
2548
  disabled?: boolean;
2492
2549
  errorMessage?: React$1.ReactNode;
2493
2550
  /** Earliest selectable date. Dates before this render disabled. */
@@ -2543,7 +2600,7 @@ type TemporalPickerProps = DatePickerProps;
2543
2600
  * />
2544
2601
  * ```
2545
2602
  */
2546
- declare function DatePicker({ value, onChange, label, placeholder, htmlFor, name: _name, layout, disabled, errorMessage, min, max, style, format, weekStartsOn, clearable, size, }: DatePickerProps): react_jsx_runtime.JSX.Element;
2603
+ declare function DatePicker({ value, onChange, label, placeholder, htmlFor, name: _name, layout, helperText, required, disabled, errorMessage, min, max, style, format, weekStartsOn, clearable, size, }: DatePickerProps): react_jsx_runtime.JSX.Element;
2547
2604
 
2548
2605
  interface TextAreaProps {
2549
2606
  value?: string;
@@ -2574,6 +2631,8 @@ interface TextAreaProps {
2574
2631
  /** CSS `resize` behaviour. Default `'vertical'` (or `'none'` when autoGrow). */
2575
2632
  resize?: 'none' | 'vertical' | 'horizontal' | 'both';
2576
2633
  errorMessage?: React$1.ReactNode;
2634
+ /** Contextual help revealed via an info icon + tooltip beside the label. */
2635
+ helperText?: React$1.ReactNode;
2577
2636
  required?: boolean;
2578
2637
  style?: React$1.CSSProperties;
2579
2638
  inputStyle?: React$1.CSSProperties;
@@ -2594,7 +2653,7 @@ interface TextAreaProps {
2594
2653
  * <TextArea label="Bio" maxLength={280} showCount value={bio} onChange={onChange} />
2595
2654
  * ```
2596
2655
  */
2597
- declare function TextArea({ value, onChange, onBlur, disabled, label, htmlFor, placeholder, name, layout, size, rows, autoGrow, maxRows, maxLength, showCount, resize, errorMessage, required, style, inputStyle, }: TextAreaProps): react_jsx_runtime.JSX.Element;
2656
+ declare function TextArea({ value, onChange, onBlur, disabled, label, htmlFor, placeholder, name, layout, size, rows, autoGrow, maxRows, maxLength, showCount, resize, errorMessage, helperText, required, style, inputStyle, }: TextAreaProps): react_jsx_runtime.JSX.Element;
2598
2657
 
2599
2658
  interface SegmentedOption {
2600
2659
  value: string;
@@ -2614,6 +2673,16 @@ interface SegmentedControlProps {
2614
2673
  /** Stretch to fill the container, segments share the width equally. */
2615
2674
  fullWidth?: boolean;
2616
2675
  disabled?: boolean;
2676
+ /** Optional label, positioned per `layout`. */
2677
+ label?: React$1.ReactNode;
2678
+ /** Label/control orientation. Default `'vertical'`. */
2679
+ layout?: 'horizontal' | 'vertical';
2680
+ /** Contextual help revealed via an info icon + tooltip beside the label. */
2681
+ helperText?: React$1.ReactNode;
2682
+ /** Native form field name (emits a hidden input carrying the value). */
2683
+ name?: string;
2684
+ required?: boolean;
2685
+ errorMessage?: React$1.ReactNode;
2617
2686
  'aria-label'?: string;
2618
2687
  }
2619
2688
  /**
@@ -2626,9 +2695,13 @@ interface SegmentedControlProps {
2626
2695
  * track, the macOS / iOS segmented-control pattern, rendered with the
2627
2696
  * system's tight radii and accent-colored active text.
2628
2697
  *
2698
+ * Form-ready: optional `label` (positioned via `layout`), `helperText`,
2699
+ * `errorMessage`, and a hidden input emitted when `name` is set.
2700
+ *
2629
2701
  * @example
2630
2702
  * ```tsx
2631
2703
  * <SegmentedControl
2704
+ * label="View"
2632
2705
  * value={view}
2633
2706
  * onChange={setView}
2634
2707
  * options={[
@@ -2639,7 +2712,7 @@ interface SegmentedControlProps {
2639
2712
  * />
2640
2713
  * ```
2641
2714
  */
2642
- declare function SegmentedControl({ options, value, defaultValue, onChange, size, fullWidth, disabled, 'aria-label': ariaLabel, }: SegmentedControlProps): react_jsx_runtime.JSX.Element;
2715
+ declare function SegmentedControl({ options, value, defaultValue, onChange, size, fullWidth, disabled, label, layout, helperText, name, required, errorMessage, 'aria-label': ariaLabel, }: SegmentedControlProps): react_jsx_runtime.JSX.Element;
2643
2716
 
2644
2717
  /**
2645
2718
  * Slider value. A single number for a one-thumb slider, or a `[min, max]`
@@ -2671,6 +2744,10 @@ interface SliderProps {
2671
2744
  size?: FieldSize;
2672
2745
  disabled?: boolean;
2673
2746
  errorMessage?: React$1.ReactNode;
2747
+ /** Contextual help revealed via an info icon + tooltip beside the label. */
2748
+ helperText?: React$1.ReactNode;
2749
+ /** Show a required asterisk after the label. */
2750
+ required?: boolean;
2674
2751
  name?: string;
2675
2752
  htmlFor?: string;
2676
2753
  }
@@ -2695,7 +2772,7 @@ interface SliderProps {
2695
2772
  * />
2696
2773
  * ```
2697
2774
  */
2698
- declare function Slider({ value, defaultValue, onChange, onChangeEnd, min, max, step, label, showValue, formatValue, marks, tooltip, size, disabled, errorMessage, name, htmlFor, }: SliderProps): react_jsx_runtime.JSX.Element;
2775
+ declare function Slider({ value, defaultValue, onChange, onChangeEnd, min, max, step, label, showValue, formatValue, marks, tooltip, size, disabled, errorMessage, helperText, required, name, htmlFor, }: SliderProps): react_jsx_runtime.JSX.Element;
2699
2776
 
2700
2777
  interface TagsInputProps {
2701
2778
  /** Controlled list of tags. */
@@ -2711,6 +2788,8 @@ interface TagsInputProps {
2711
2788
  size?: FieldSize;
2712
2789
  disabled?: boolean;
2713
2790
  errorMessage?: React$1.ReactNode;
2791
+ /** Contextual help revealed via an info icon + tooltip beside the label. */
2792
+ helperText?: React$1.ReactNode;
2714
2793
  required?: boolean;
2715
2794
  /** Maximum number of tags. Further input is ignored once reached. */
2716
2795
  maxTags?: number;
@@ -2736,7 +2815,7 @@ interface TagsInputProps {
2736
2815
  * validate={(t) => /.+@.+\..+/.test(t) || 'Not a valid email'} />
2737
2816
  * ```
2738
2817
  */
2739
- declare function TagsInput({ value, defaultValue, onChange, label, htmlFor, name, placeholder, layout, size, disabled, errorMessage, required, maxTags, dedupe, validate, separators, }: TagsInputProps): react_jsx_runtime.JSX.Element;
2818
+ declare function TagsInput({ value, defaultValue, onChange, label, htmlFor, name, placeholder, layout, size, disabled, errorMessage, helperText, required, maxTags, dedupe, validate, separators, }: TagsInputProps): react_jsx_runtime.JSX.Element;
2740
2819
 
2741
2820
  interface OtpInputProps {
2742
2821
  /** Number of code boxes. Default `6`. */
@@ -2756,6 +2835,10 @@ interface OtpInputProps {
2756
2835
  disabled?: boolean;
2757
2836
  errorMessage?: React$1.ReactNode;
2758
2837
  required?: boolean;
2838
+ /** Label/control orientation. Default `'vertical'`. */
2839
+ layout?: 'horizontal' | 'vertical';
2840
+ /** Contextual help revealed via an info icon + tooltip beside the label. */
2841
+ helperText?: React$1.ReactNode;
2759
2842
  /** Render a visual gap after this many boxes (e.g. `3` → `123 456`). */
2760
2843
  groupAfter?: number;
2761
2844
  }
@@ -2769,7 +2852,7 @@ interface OtpInputProps {
2769
2852
  * <OtpInput length={6} value={code} onChange={setCode} onComplete={verify} />
2770
2853
  * ```
2771
2854
  */
2772
- declare function OtpInput({ length, value, onChange, onComplete, label, htmlFor, name, mode, masked, size, disabled, errorMessage, required, groupAfter, }: OtpInputProps): react_jsx_runtime.JSX.Element;
2855
+ declare function OtpInput({ length, value, onChange, onComplete, label, htmlFor, name, mode, masked, size, disabled, errorMessage, required, layout, helperText, groupAfter, }: OtpInputProps): react_jsx_runtime.JSX.Element;
2773
2856
 
2774
2857
  interface RatingProps {
2775
2858
  value?: number;
@@ -2790,6 +2873,12 @@ interface RatingProps {
2790
2873
  icon?: (filled: boolean) => React$1.ReactNode;
2791
2874
  errorMessage?: React$1.ReactNode;
2792
2875
  name?: string;
2876
+ /** Label/control orientation. Default `'vertical'`. */
2877
+ layout?: 'horizontal' | 'vertical';
2878
+ /** Contextual help revealed via an info icon + tooltip beside the label. */
2879
+ helperText?: React$1.ReactNode;
2880
+ /** Show a required asterisk after the label. */
2881
+ required?: boolean;
2793
2882
  }
2794
2883
  /**
2795
2884
  * Star (or custom glyph) rating with optional half-steps, hover preview, and
@@ -2806,7 +2895,7 @@ interface RatingProps {
2806
2895
  * <Rating value={4.5} allowHalf readOnly />
2807
2896
  * ```
2808
2897
  */
2809
- declare function Rating({ value, defaultValue, onChange, count, allowHalf, readOnly, clearable, label, size, disabled, icon, errorMessage, name, }: RatingProps): react_jsx_runtime.JSX.Element;
2898
+ declare function Rating({ value, defaultValue, onChange, count, allowHalf, readOnly, clearable, label, size, disabled, icon, errorMessage, name, layout, helperText, required, }: RatingProps): react_jsx_runtime.JSX.Element;
2810
2899
 
2811
2900
  interface TimePickerProps {
2812
2901
  /** Value as `"HH:mm"` (24h) or `"HH:mm:ss"`. `null`/`undefined` = unset. */
@@ -2826,6 +2915,8 @@ interface TimePickerProps {
2826
2915
  minuteStep?: number;
2827
2916
  disabled?: boolean;
2828
2917
  errorMessage?: React$1.ReactNode;
2918
+ /** Contextual help revealed via an info icon + tooltip beside the label. */
2919
+ helperText?: React$1.ReactNode;
2829
2920
  required?: boolean;
2830
2921
  style?: React$1.CSSProperties;
2831
2922
  }
@@ -2839,7 +2930,7 @@ interface TimePickerProps {
2839
2930
  * <TimePicker label="Departure" value={time} onChange={setTime} minuteStep={15} use12Hours />
2840
2931
  * ```
2841
2932
  */
2842
- declare function TimePicker({ value, onChange, label, htmlFor, name, placeholder, layout, size, use12Hours, withSeconds, minuteStep, disabled, errorMessage, required, style, }: TimePickerProps): react_jsx_runtime.JSX.Element;
2933
+ declare function TimePicker({ value, onChange, label, htmlFor, name, placeholder, layout, size, use12Hours, withSeconds, minuteStep, disabled, errorMessage, helperText, required, style, }: TimePickerProps): react_jsx_runtime.JSX.Element;
2843
2934
 
2844
2935
  interface DateRange {
2845
2936
  start: Date | null;
@@ -2867,6 +2958,8 @@ interface DateRangePickerProps {
2867
2958
  format?: (d: Date) => string;
2868
2959
  disabled?: boolean;
2869
2960
  errorMessage?: React$1.ReactNode;
2961
+ /** Contextual help revealed via an info icon + tooltip beside the label. */
2962
+ helperText?: React$1.ReactNode;
2870
2963
  required?: boolean;
2871
2964
  style?: React$1.CSSProperties;
2872
2965
  }
@@ -2887,7 +2980,7 @@ interface DateRangePickerProps {
2887
2980
  * />
2888
2981
  * ```
2889
2982
  */
2890
- declare function DateRangePicker({ value, onChange, label, htmlFor, placeholder, layout, size, min, max, weekStartsOn, presets, format, disabled, errorMessage, required, style, }: DateRangePickerProps): react_jsx_runtime.JSX.Element;
2983
+ declare function DateRangePicker({ value, onChange, label, htmlFor, placeholder, layout, size, min, max, weekStartsOn, presets, format, disabled, errorMessage, helperText, required, style, }: DateRangePickerProps): react_jsx_runtime.JSX.Element;
2891
2984
 
2892
2985
  interface ColorPickerProps {
2893
2986
  /** Hex string, e.g. `"#0466c8"`. */
@@ -2904,6 +2997,8 @@ interface ColorPickerProps {
2904
2997
  allowCustom?: boolean;
2905
2998
  disabled?: boolean;
2906
2999
  errorMessage?: React$1.ReactNode;
3000
+ /** Contextual help revealed via an info icon + tooltip beside the label. */
3001
+ helperText?: React$1.ReactNode;
2907
3002
  required?: boolean;
2908
3003
  placeholder?: string;
2909
3004
  }
@@ -2917,6 +3012,6 @@ interface ColorPickerProps {
2917
3012
  * <ColorPicker label="Brand colour" value={color} onChange={setColor} />
2918
3013
  * ```
2919
3014
  */
2920
- declare function ColorPicker({ value, onChange, label, htmlFor, name, layout, size, swatches, allowCustom, disabled, errorMessage, required, placeholder, }: ColorPickerProps): react_jsx_runtime.JSX.Element;
3015
+ declare function ColorPicker({ value, onChange, label, htmlFor, name, layout, size, swatches, allowCustom, disabled, errorMessage, helperText, required, placeholder, }: ColorPickerProps): react_jsx_runtime.JSX.Element;
2921
3016
 
2922
3017
  export { AppShell, type AppShellProps, AutoComplete, type AutoCompleteProps, Avatar, type AvatarProps, type AvatarShape, type AvatarSize, type AvatarStatus, Box, type BoxBackground, type BoxBorder, type BoxProps, type BoxRadius, type BoxShadow, Button, type ButtonProps, Catalog, CatalogCarousel, type CatalogCarouselProps, CatalogGrid, type CatalogGridProps, type CatalogProps, Checkbox, type CheckboxProps, ColorPicker, type ColorPickerProps, ContextMenu, type ContextMenuActionItem, type ContextMenuPosition, type ContextMenuProps, type DatePickerProps, type DateRange, DateRangePicker, type DateRangePickerProps, type DateRangePreset, Drawer, type DrawerProps, Dropdown, type DropdownItem, type DropdownProps, type ExpandRowOptions, FadingBase, type FadingBaseProps, Field, type FieldProps, type FieldShellOptions, type FieldSize, FileInput, type FileInputProps, Flex, type FlexAlign, type FlexDirection, type FlexJustify, type FlexProps, type FlexWrap, Grid, GridCard, type GridCardItem, type GridCardProps, type GridProps, Icon, IconButton, type IconButtonProps, List, type ListItem, type ListProps, LoadingSpinner, type LoadingSpinnerProps, Modal, type ModalProps, type NotificationPayload, NotificationProvider, NumberInput, type NumberInputProps, OpaqueGridCard, type OpaqueGridCardProps, OtpInput, type OtpInputProps, type PaginationOptions, Password, type PasswordProps, Portal, type PortalProps, RadioGroup, type RadioGroupProps, type RadioOption, Rating, type RatingProps, ScalableContainer, type ScalableContainerProps, SearchInput, type SearchInputProps, SegmentedControl, type SegmentedControlProps, type SegmentedOption, Sidebar, type SidebarItem, type SidebarProps, type SidebarSection, SkeletonBox, type SkeletonBoxProps, SkeletonCard, type SkeletonCardProps, SkeletonCircle, type SkeletonCircleProps, SkeletonText, type SkeletonTextProps, Slider, type SliderMark, type SliderProps, type SliderValue, type Spacing, Switch, type SwitchInputProps, type TabItem, Table, type TableColumn, type TableProps, Tabs, type TabsProps, TagsInput, type TagsInputProps, DatePicker as Temporal, type TemporalPickerProps, TextArea, type TextAreaProps, TextInput, type TextInputProps, type ThemeColors, type ThemeConfig, type ThemeDensity, type ThemeMotion, ThemeProvider, type ThemeProviderProps, type ThemeRadius, type ThemeShadows, ThemeSwitch, type ThemeSwitchProps, type ThemeTypography, TimePicker, type TimePickerProps, Tooltip, type TooltipProps, TooltipProvider, TopBar, type TopBarProps, Tree, type TreeItemClickPayload, type TreeNode, type TreeProps, TreeSelect, type TreeSelectProps, Typography, type TypographyAlign, type TypographyColor, type TypographyProps, type TypographyVariant, type TypographyWeight, Wizard, type WizardProps, type WizardStep, fieldShell, useNotification };