@geomak/ui 5.5.2 → 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.ts 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. */
@@ -2134,12 +2148,23 @@ interface RadioGroupProps {
2134
2148
  onChange?: (value: string) => void;
2135
2149
  name?: string;
2136
2150
  label?: React$1.ReactNode;
2137
- /** Group orientation. Default `'vertical'`. */
2138
- orientation?: 'vertical' | 'horizontal';
2151
+ /**
2152
+ * Option arrangement. `'vertical'` (default) stacks options in a column;
2153
+ * `'horizontal'` lays them in a row. Named `layout` for consistency with
2154
+ * the other inputs.
2155
+ */
2156
+ layout?: 'vertical' | 'horizontal';
2157
+ /**
2158
+ * Where each option's label sits relative to its radio dot.
2159
+ * `'right'` (default) → dot then label; `'left'` → label then dot.
2160
+ */
2161
+ labelPosition?: 'left' | 'right';
2139
2162
  /** Size preset — controls the dot + text size. Default `'md'`. */
2140
2163
  size?: FieldSize;
2141
2164
  disabled?: boolean;
2142
2165
  required?: boolean;
2166
+ /** Contextual help revealed via an info icon + tooltip beside the label. */
2167
+ helperText?: React$1.ReactNode;
2143
2168
  errorMessage?: React$1.ReactNode;
2144
2169
  }
2145
2170
  /**
@@ -2165,33 +2190,59 @@ interface RadioGroupProps {
2165
2190
  * />
2166
2191
  * ```
2167
2192
  */
2168
- declare function RadioGroup({ options, value, defaultValue, onChange, name, label, orientation, 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;
2169
2194
 
2170
2195
  interface SwitchInputProps {
2196
+ /** Controlled on/off state. */
2171
2197
  checked?: boolean;
2198
+ /** Uncontrolled initial state. */
2199
+ defaultChecked?: boolean;
2172
2200
  onChange?: (e: {
2173
2201
  target: {
2174
2202
  checked: boolean;
2203
+ name?: string;
2175
2204
  };
2176
2205
  }) => void;
2206
+ /** Thumb icon shown when on. */
2177
2207
  checkedIcon?: React$1.ReactNode;
2208
+ /** Thumb icon shown when off. */
2178
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;
2179
2227
  }
2180
2228
  /**
2181
2229
  * Form switch (on/off toggle) powered by Radix Switch.
2182
2230
  *
2183
- * Radix handles keyboard activation, focus ring, and `role="switch"` ARIA.
2184
- * 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).
2235
+ *
2236
+ * Form-ready: pass `name` for native serialisation (Radix emits a hidden
2237
+ * input), `errorMessage` for validation, `required` for the asterisk.
2185
2238
  *
2186
- * Emits `{ target: { checked } }` for compatibility with existing handlers.
2239
+ * Works controlled (`checked` + `onChange`) or uncontrolled (`defaultChecked`).
2187
2240
  *
2188
2241
  * @example
2189
- * <Switch
2190
- * checked={form.enabled}
2191
- * onChange={({ target }) => setField('enabled', target.checked)}
2192
- * />
2242
+ * <Switch label="Email notifications" checked={on} onChange={({ target }) => setOn(target.checked)} />
2243
+ * <Switch offLabel="Monthly" onLabel="Yearly" checked={yearly} onChange={...} />
2193
2244
  */
2194
- 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;
2195
2246
 
2196
2247
  interface DropdownItem {
2197
2248
  key: string | number;
@@ -2225,6 +2276,9 @@ interface DropdownProps {
2225
2276
  disabled?: boolean;
2226
2277
  /** Label/input orientation. Defaults to `'vertical'`. */
2227
2278
  layout?: 'horizontal' | 'vertical';
2279
+ /** Contextual help revealed via an info icon + tooltip beside the label. */
2280
+ helperText?: React$1.ReactNode;
2281
+ required?: boolean;
2228
2282
  errorMessage?: React$1.ReactNode;
2229
2283
  style?: React$1.CSSProperties;
2230
2284
  htmlFor?: string;
@@ -2249,7 +2303,7 @@ interface DropdownProps {
2249
2303
  * // Multi-select
2250
2304
  * <Dropdown isMultiselect label="Fuels" items={fuels} value={form.fuels} onChange={handleChange} />
2251
2305
  */
2252
- 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;
2253
2307
 
2254
2308
  interface AutoCompleteItem {
2255
2309
  key: string;
@@ -2295,6 +2349,8 @@ interface AutoCompleteProps {
2295
2349
  icon?: React$1.ReactNode;
2296
2350
  /** Validation message — turns the field red and links via aria-describedby. */
2297
2351
  errorMessage?: React$1.ReactNode;
2352
+ /** Contextual help revealed via an info icon + tooltip beside the label. */
2353
+ helperText?: React$1.ReactNode;
2298
2354
  /** Mark required (asterisk after the label). */
2299
2355
  required?: boolean;
2300
2356
  htmlFor?: string;
@@ -2335,7 +2391,7 @@ interface AutoCompleteProps {
2335
2391
  * />
2336
2392
  * ```
2337
2393
  */
2338
- 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;
2339
2395
 
2340
2396
  interface TreeSelectNode {
2341
2397
  key: string | number;
@@ -2366,6 +2422,10 @@ interface TreeSelectProps {
2366
2422
  name?: string;
2367
2423
  /** Label/trigger orientation. Defaults to `'horizontal'`. */
2368
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;
2369
2429
  disabled?: boolean;
2370
2430
  errorMessage?: React$1.ReactNode;
2371
2431
  style?: React$1.CSSProperties;
@@ -2416,7 +2476,7 @@ interface TreeSelectProps {
2416
2476
  * />
2417
2477
  * ```
2418
2478
  */
2419
- 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;
2420
2480
 
2421
2481
  interface FileInputProps {
2422
2482
  allowMultiple?: boolean;
@@ -2440,6 +2500,8 @@ interface FileInputProps {
2440
2500
  /** Maximum file size in bytes. Files above this are rejected with an error. */
2441
2501
  maxSize?: number;
2442
2502
  errorMessage?: React$1.ReactNode;
2503
+ /** Contextual help revealed via an info icon + tooltip beside the label. */
2504
+ helperText?: React$1.ReactNode;
2443
2505
  disabled?: boolean;
2444
2506
  required?: boolean;
2445
2507
  /** Override the upload glyph in the empty state. */
@@ -2465,7 +2527,7 @@ interface FileInputProps {
2465
2527
  * />
2466
2528
  * ```
2467
2529
  */
2468
- 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;
2469
2531
 
2470
2532
  interface DatePickerProps {
2471
2533
  /** Current date. `null` / `undefined` means "no date selected". */
@@ -2479,6 +2541,10 @@ interface DatePickerProps {
2479
2541
  name?: string;
2480
2542
  /** Label/trigger orientation. Defaults to `'horizontal'`. */
2481
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;
2482
2548
  disabled?: boolean;
2483
2549
  errorMessage?: React$1.ReactNode;
2484
2550
  /** Earliest selectable date. Dates before this render disabled. */
@@ -2534,7 +2600,7 @@ type TemporalPickerProps = DatePickerProps;
2534
2600
  * />
2535
2601
  * ```
2536
2602
  */
2537
- 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;
2538
2604
 
2539
2605
  interface TextAreaProps {
2540
2606
  value?: string;
@@ -2565,6 +2631,8 @@ interface TextAreaProps {
2565
2631
  /** CSS `resize` behaviour. Default `'vertical'` (or `'none'` when autoGrow). */
2566
2632
  resize?: 'none' | 'vertical' | 'horizontal' | 'both';
2567
2633
  errorMessage?: React$1.ReactNode;
2634
+ /** Contextual help revealed via an info icon + tooltip beside the label. */
2635
+ helperText?: React$1.ReactNode;
2568
2636
  required?: boolean;
2569
2637
  style?: React$1.CSSProperties;
2570
2638
  inputStyle?: React$1.CSSProperties;
@@ -2585,7 +2653,7 @@ interface TextAreaProps {
2585
2653
  * <TextArea label="Bio" maxLength={280} showCount value={bio} onChange={onChange} />
2586
2654
  * ```
2587
2655
  */
2588
- 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;
2589
2657
 
2590
2658
  interface SegmentedOption {
2591
2659
  value: string;
@@ -2605,6 +2673,16 @@ interface SegmentedControlProps {
2605
2673
  /** Stretch to fill the container, segments share the width equally. */
2606
2674
  fullWidth?: boolean;
2607
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;
2608
2686
  'aria-label'?: string;
2609
2687
  }
2610
2688
  /**
@@ -2617,9 +2695,13 @@ interface SegmentedControlProps {
2617
2695
  * track, the macOS / iOS segmented-control pattern, rendered with the
2618
2696
  * system's tight radii and accent-colored active text.
2619
2697
  *
2698
+ * Form-ready: optional `label` (positioned via `layout`), `helperText`,
2699
+ * `errorMessage`, and a hidden input emitted when `name` is set.
2700
+ *
2620
2701
  * @example
2621
2702
  * ```tsx
2622
2703
  * <SegmentedControl
2704
+ * label="View"
2623
2705
  * value={view}
2624
2706
  * onChange={setView}
2625
2707
  * options={[
@@ -2630,7 +2712,7 @@ interface SegmentedControlProps {
2630
2712
  * />
2631
2713
  * ```
2632
2714
  */
2633
- 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;
2634
2716
 
2635
2717
  /**
2636
2718
  * Slider value. A single number for a one-thumb slider, or a `[min, max]`
@@ -2662,6 +2744,10 @@ interface SliderProps {
2662
2744
  size?: FieldSize;
2663
2745
  disabled?: boolean;
2664
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;
2665
2751
  name?: string;
2666
2752
  htmlFor?: string;
2667
2753
  }
@@ -2686,7 +2772,7 @@ interface SliderProps {
2686
2772
  * />
2687
2773
  * ```
2688
2774
  */
2689
- 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;
2690
2776
 
2691
2777
  interface TagsInputProps {
2692
2778
  /** Controlled list of tags. */
@@ -2702,6 +2788,8 @@ interface TagsInputProps {
2702
2788
  size?: FieldSize;
2703
2789
  disabled?: boolean;
2704
2790
  errorMessage?: React$1.ReactNode;
2791
+ /** Contextual help revealed via an info icon + tooltip beside the label. */
2792
+ helperText?: React$1.ReactNode;
2705
2793
  required?: boolean;
2706
2794
  /** Maximum number of tags. Further input is ignored once reached. */
2707
2795
  maxTags?: number;
@@ -2727,7 +2815,7 @@ interface TagsInputProps {
2727
2815
  * validate={(t) => /.+@.+\..+/.test(t) || 'Not a valid email'} />
2728
2816
  * ```
2729
2817
  */
2730
- 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;
2731
2819
 
2732
2820
  interface OtpInputProps {
2733
2821
  /** Number of code boxes. Default `6`. */
@@ -2747,6 +2835,10 @@ interface OtpInputProps {
2747
2835
  disabled?: boolean;
2748
2836
  errorMessage?: React$1.ReactNode;
2749
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;
2750
2842
  /** Render a visual gap after this many boxes (e.g. `3` → `123 456`). */
2751
2843
  groupAfter?: number;
2752
2844
  }
@@ -2760,7 +2852,7 @@ interface OtpInputProps {
2760
2852
  * <OtpInput length={6} value={code} onChange={setCode} onComplete={verify} />
2761
2853
  * ```
2762
2854
  */
2763
- 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;
2764
2856
 
2765
2857
  interface RatingProps {
2766
2858
  value?: number;
@@ -2781,6 +2873,12 @@ interface RatingProps {
2781
2873
  icon?: (filled: boolean) => React$1.ReactNode;
2782
2874
  errorMessage?: React$1.ReactNode;
2783
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;
2784
2882
  }
2785
2883
  /**
2786
2884
  * Star (or custom glyph) rating with optional half-steps, hover preview, and
@@ -2797,7 +2895,7 @@ interface RatingProps {
2797
2895
  * <Rating value={4.5} allowHalf readOnly />
2798
2896
  * ```
2799
2897
  */
2800
- 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;
2801
2899
 
2802
2900
  interface TimePickerProps {
2803
2901
  /** Value as `"HH:mm"` (24h) or `"HH:mm:ss"`. `null`/`undefined` = unset. */
@@ -2817,6 +2915,8 @@ interface TimePickerProps {
2817
2915
  minuteStep?: number;
2818
2916
  disabled?: boolean;
2819
2917
  errorMessage?: React$1.ReactNode;
2918
+ /** Contextual help revealed via an info icon + tooltip beside the label. */
2919
+ helperText?: React$1.ReactNode;
2820
2920
  required?: boolean;
2821
2921
  style?: React$1.CSSProperties;
2822
2922
  }
@@ -2830,7 +2930,7 @@ interface TimePickerProps {
2830
2930
  * <TimePicker label="Departure" value={time} onChange={setTime} minuteStep={15} use12Hours />
2831
2931
  * ```
2832
2932
  */
2833
- 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;
2834
2934
 
2835
2935
  interface DateRange {
2836
2936
  start: Date | null;
@@ -2858,6 +2958,8 @@ interface DateRangePickerProps {
2858
2958
  format?: (d: Date) => string;
2859
2959
  disabled?: boolean;
2860
2960
  errorMessage?: React$1.ReactNode;
2961
+ /** Contextual help revealed via an info icon + tooltip beside the label. */
2962
+ helperText?: React$1.ReactNode;
2861
2963
  required?: boolean;
2862
2964
  style?: React$1.CSSProperties;
2863
2965
  }
@@ -2878,7 +2980,7 @@ interface DateRangePickerProps {
2878
2980
  * />
2879
2981
  * ```
2880
2982
  */
2881
- 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;
2882
2984
 
2883
2985
  interface ColorPickerProps {
2884
2986
  /** Hex string, e.g. `"#0466c8"`. */
@@ -2895,6 +2997,8 @@ interface ColorPickerProps {
2895
2997
  allowCustom?: boolean;
2896
2998
  disabled?: boolean;
2897
2999
  errorMessage?: React$1.ReactNode;
3000
+ /** Contextual help revealed via an info icon + tooltip beside the label. */
3001
+ helperText?: React$1.ReactNode;
2898
3002
  required?: boolean;
2899
3003
  placeholder?: string;
2900
3004
  }
@@ -2908,6 +3012,6 @@ interface ColorPickerProps {
2908
3012
  * <ColorPicker label="Brand colour" value={color} onChange={setColor} />
2909
3013
  * ```
2910
3014
  */
2911
- 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;
2912
3016
 
2913
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 };