@geomak/ui 5.8.0 → 5.9.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
@@ -614,6 +614,10 @@ interface IconButtonProps {
614
614
  loading?: boolean;
615
615
  loadingIcon?: React.ReactNode;
616
616
  title?: string;
617
+ /** Extra classes appended to the button. */
618
+ className?: string;
619
+ /** Inline style on the button. */
620
+ style?: React.CSSProperties;
617
621
  }
618
622
  /**
619
623
  * Square icon-only button.
@@ -622,7 +626,7 @@ interface IconButtonProps {
622
626
  * <IconButton icon={<Icon.Search />} onClick={doSearch} />
623
627
  * <IconButton type="bordered" icon={<Icon.Edit />} />
624
628
  */
625
- declare function IconButton({ icon, onClick, type, buttonType, disabled, size, loading, loadingIcon, }: IconButtonProps): react_jsx_runtime.JSX.Element;
629
+ declare function IconButton({ icon, onClick, type, buttonType, disabled, size, loading, loadingIcon, className, style, }: IconButtonProps): react_jsx_runtime.JSX.Element;
626
630
 
627
631
  interface ModalProps {
628
632
  /**
@@ -646,6 +650,8 @@ interface ModalProps {
646
650
  hasFooter?: boolean;
647
651
  title?: React__default.ReactNode;
648
652
  children?: React__default.ReactNode;
653
+ /** Extra classes merged onto the modal panel. */
654
+ className?: string;
649
655
  }
650
656
  /**
651
657
  * Centred modal dialog powered by Radix Dialog + Framer Motion.
@@ -659,7 +665,7 @@ interface ModalProps {
659
665
  * Are you sure you want to delete this item?
660
666
  * </Modal>
661
667
  */
662
- declare function Modal({ width, size, isOpen, onClose, onOk, onCancel, okText, cancelText, hasFooter, title, children, }: ModalProps): react_jsx_runtime.JSX.Element;
668
+ declare function Modal({ width, size, isOpen, onClose, onOk, onCancel, okText, cancelText, hasFooter, title, children, className, }: ModalProps): react_jsx_runtime.JSX.Element;
663
669
 
664
670
  interface DrawerProps {
665
671
  isOpen?: boolean;
@@ -674,6 +680,8 @@ interface DrawerProps {
674
680
  onCancel?: () => void;
675
681
  title?: React__default.ReactNode;
676
682
  children?: React__default.ReactNode;
683
+ /** Extra classes merged onto the drawer panel. */
684
+ className?: string;
677
685
  }
678
686
  /**
679
687
  * Side-sliding drawer panel powered by Radix Dialog + Framer Motion.
@@ -687,7 +695,7 @@ interface DrawerProps {
687
695
  * <FilterForm />
688
696
  * </Drawer>
689
697
  */
690
- declare function Drawer({ isOpen, onClose, hasFooter, placement, width, okText, cancelText, onOk, onCancel, title, children, }: DrawerProps): react_jsx_runtime.JSX.Element;
698
+ declare function Drawer({ isOpen, onClose, hasFooter, placement, width, okText, cancelText, onOk, onCancel, title, children, className, }: DrawerProps): react_jsx_runtime.JSX.Element;
691
699
 
692
700
  interface TooltipProps {
693
701
  children: React__default.ReactNode;
@@ -959,6 +967,10 @@ interface ListProps {
959
967
  * `'comfortable'` (default) for typical UI, `'spacious'` for hero rows.
960
968
  */
961
969
  density?: 'compact' | 'comfortable' | 'spacious';
970
+ /** Extra classes merged onto the list root. */
971
+ className?: string;
972
+ /** Inline style on the list root. */
973
+ style?: React__default.CSSProperties;
962
974
  }
963
975
  /**
964
976
  * Vertical clickable list with optional avatar / description / trailing
@@ -998,7 +1010,7 @@ interface ListProps {
998
1010
  * />
999
1011
  * ```
1000
1012
  */
1001
- declare function List({ items, onItemClick, activeKey, density, }: ListProps): react_jsx_runtime.JSX.Element;
1013
+ declare function List({ items, onItemClick, activeKey, density, className, style, }: ListProps): react_jsx_runtime.JSX.Element;
1002
1014
 
1003
1015
  interface ScalableContainerProps {
1004
1016
  /** Resting width. Any CSS length / percent. Default `'100%'`. */
@@ -1071,6 +1083,10 @@ interface GridCardProps {
1071
1083
  buttonText?: string;
1072
1084
  /** Called when the button is clicked. Receives the full item. */
1073
1085
  onOpen?: (item: GridCardItem) => void;
1086
+ /** Extra classes merged onto the card root. */
1087
+ className?: string;
1088
+ /** Inline style on the card root. */
1089
+ style?: React__default.CSSProperties;
1074
1090
  }
1075
1091
  /**
1076
1092
  * Application card tile (grid layout).
@@ -1083,7 +1099,7 @@ interface GridCardProps {
1083
1099
  * onOpen={({ to }) => navigate(to!)}
1084
1100
  * />
1085
1101
  */
1086
- declare function GridCard({ item, buttonText, onOpen }: GridCardProps): react_jsx_runtime.JSX.Element;
1102
+ declare function GridCard({ item, buttonText, onOpen, className, style }: GridCardProps): react_jsx_runtime.JSX.Element;
1087
1103
 
1088
1104
  interface OpaqueGridCardProps {
1089
1105
  item: GridCardItem;
@@ -1376,6 +1392,10 @@ interface TableProps<T extends Record<string, any> = Record<string, any>> {
1376
1392
  loading?: boolean;
1377
1393
  /** Number of skeleton rows to render when `loading` is true. Default `8`. */
1378
1394
  loadingRowCount?: number;
1395
+ /** Extra classes merged onto the table wrapper root. */
1396
+ className?: string;
1397
+ /** Inline style on the table wrapper root. */
1398
+ style?: React__default.CSSProperties;
1379
1399
  }
1380
1400
  /** ─────────────────── main component ─────────────────── */
1381
1401
  /**
@@ -1418,7 +1438,7 @@ interface TableProps<T extends Record<string, any> = Record<string, any>> {
1418
1438
  * />
1419
1439
  * ```
1420
1440
  */
1421
- declare function Table<T extends Record<string, any> = Record<string, any>>({ columns, rows, getRowKey, pagination, expandRow, hasSearch, footer, header, loading, loadingRowCount, }: TableProps<T>): react_jsx_runtime.JSX.Element;
1441
+ declare function Table<T extends Record<string, any> = Record<string, any>>({ columns, rows, getRowKey, pagination, expandRow, hasSearch, footer, header, loading, loadingRowCount, className, style, }: TableProps<T>): react_jsx_runtime.JSX.Element;
1422
1442
 
1423
1443
  interface ThemeSwitchProps {
1424
1444
  checked: boolean;
@@ -1515,6 +1535,8 @@ interface SidebarProps {
1515
1535
  collapsedWidth?: number;
1516
1536
  /** Slot rendered at the bottom of the sidebar (theme switch, user avatar…) */
1517
1537
  footer?: React__default.ReactNode;
1538
+ /** Extra classes merged onto the sidebar root (`<aside>`). */
1539
+ className?: string;
1518
1540
  }
1519
1541
  /** ─────────────────── main component ─────────────────── */
1520
1542
  /**
@@ -1532,7 +1554,7 @@ interface SidebarProps {
1532
1554
  * onToggle={() => setOpen(o => !o)}
1533
1555
  * />
1534
1556
  */
1535
- declare function Sidebar({ sections, isExpanded, onToggle, expandedWidth, collapsedWidth, footer, }: SidebarProps): react_jsx_runtime.JSX.Element;
1557
+ declare function Sidebar({ sections, isExpanded, onToggle, expandedWidth, collapsedWidth, footer, className, }: SidebarProps): react_jsx_runtime.JSX.Element;
1536
1558
 
1537
1559
  interface AppShellProps {
1538
1560
  /**
@@ -1801,6 +1823,8 @@ interface ButtonProps {
1801
1823
  disabled?: boolean;
1802
1824
  /** Inline style overrides (width, etc.). Margins/layout belong in the parent. */
1803
1825
  style?: React__default.CSSProperties;
1826
+ /** Extra classes appended to the button (override variant/size styles). */
1827
+ className?: string;
1804
1828
  /** Leading icon — rendered before content */
1805
1829
  icon?: React__default.ReactNode;
1806
1830
  /** Click handler. */
@@ -1822,7 +1846,7 @@ interface ButtonProps {
1822
1846
  * <Button content="Cancel" variant="secondary" />
1823
1847
  * <Button content="Loading…" loading buttonType="submit" />
1824
1848
  */
1825
- declare function Button({ content, variant, size, buttonType, loading, disabled, style, icon, onClick, }: ButtonProps): react_jsx_runtime.JSX.Element;
1849
+ declare function Button({ content, variant, size, buttonType, loading, disabled, style, icon, onClick, className, }: ButtonProps): react_jsx_runtime.JSX.Element;
1826
1850
 
1827
1851
  /**
1828
1852
  * Shared field foundation for all oxygen-ui inputs.
@@ -1971,6 +1995,8 @@ interface TextInputProps {
1971
1995
  errorMessage?: React__default.ReactNode;
1972
1996
  /** Contextual help revealed via an info icon + tooltip beside the label. */
1973
1997
  helperText?: React__default.ReactNode;
1998
+ /** Extra classes merged onto the field root element. */
1999
+ className?: string;
1974
2000
  /** Mark the field required (renders an asterisk after the label). */
1975
2001
  required?: boolean;
1976
2002
  /** Optional leading adornment (icon / prefix). */
@@ -2001,7 +2027,7 @@ interface TextInputProps {
2001
2027
  * />
2002
2028
  * ```
2003
2029
  */
2004
- 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;
2030
+ declare function TextInput({ value, onChange, disabled, label, htmlFor, placeholder, name, type, inputStyle, style, layout, size, onBlur, errorMessage, helperText, className, required, prefix, suffix, }: TextInputProps): react_jsx_runtime.JSX.Element;
2005
2031
 
2006
2032
  interface NumberInputProps {
2007
2033
  /** Step size for the up/down buttons and native arrow-key handling. Default `1`. */
@@ -2032,6 +2058,8 @@ interface NumberInputProps {
2032
2058
  errorMessage?: React__default.ReactNode;
2033
2059
  /** Contextual help revealed via an info icon + tooltip beside the label. */
2034
2060
  helperText?: React__default.ReactNode;
2061
+ /** Extra classes merged onto the field root element. */
2062
+ className?: string;
2035
2063
  /** Show a required asterisk after the label. */
2036
2064
  required?: boolean;
2037
2065
  /** Inline style applied to the inner input element. */
@@ -2083,7 +2111,7 @@ interface NumberInputProps {
2083
2111
  * <NumberInput label="Tonnage" step={0.25} precision={2} />
2084
2112
  * ```
2085
2113
  */
2086
- 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;
2114
+ declare function NumberInput({ step, value, onChange, label, htmlFor, name, disabled, layout, size, errorMessage, helperText, className, required, inputStyle, labelStyle, placeholder, style, min, max, readOnly, precision, }: NumberInputProps): react_jsx_runtime.JSX.Element;
2087
2115
 
2088
2116
  interface PasswordProps {
2089
2117
  /** Controlled value. */
@@ -2114,6 +2142,8 @@ interface PasswordProps {
2114
2142
  errorMessage?: React__default.ReactNode;
2115
2143
  /** Contextual help revealed via an info icon + tooltip beside the label. */
2116
2144
  helperText?: React__default.ReactNode;
2145
+ /** Extra classes merged onto the field root element. */
2146
+ className?: string;
2117
2147
  /** Show a required asterisk after the label. */
2118
2148
  required?: boolean;
2119
2149
  /** Override the "reveal" (password hidden) icon. */
@@ -2130,7 +2160,7 @@ interface PasswordProps {
2130
2160
  * <Password label="Password" value={pw} onChange={(e) => setPw(e.target.value)} />
2131
2161
  * ```
2132
2162
  */
2133
- 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;
2163
+ declare function Password({ value, onChange, disabled, label, htmlFor, placeholder, name, inputStyle, style, layout, size, onBlur, errorMessage, helperText, className, required, showIcon, hideIcon, }: PasswordProps): react_jsx_runtime.JSX.Element;
2134
2164
 
2135
2165
  interface SearchInputProps {
2136
2166
  /** Controlled value. */
@@ -2159,6 +2189,8 @@ interface SearchInputProps {
2159
2189
  icon?: React__default.ReactNode;
2160
2190
  /** Contextual help revealed via an info icon + tooltip beside the label. */
2161
2191
  helperText?: React__default.ReactNode;
2192
+ /** Extra classes merged onto the field root element. */
2193
+ className?: string;
2162
2194
  }
2163
2195
  /**
2164
2196
  * Search field with a leading magnifier icon. Uses `type="search"` for the
@@ -2213,6 +2245,8 @@ interface CheckboxProps {
2213
2245
  labelPosition?: 'left' | 'right';
2214
2246
  /** @deprecated Use `checked`. Kept for API compatibility. */
2215
2247
  value?: boolean;
2248
+ /** Extra classes merged onto the component root. */
2249
+ className?: string;
2216
2250
  }
2217
2251
  /**
2218
2252
  * Accessible checkbox powered by Radix Checkbox.
@@ -2235,7 +2269,7 @@ interface CheckboxProps {
2235
2269
  * />
2236
2270
  */
2237
2271
  declare function Checkbox({ checked, value, // legacy alias
2238
- onChange, label, description, name, htmlFor, errorMessage, helperText, disabled, required, layout, labelPosition, }: CheckboxProps): react_jsx_runtime.JSX.Element;
2272
+ onChange, label, description, name, htmlFor, errorMessage, helperText, disabled, required, layout, labelPosition, className, }: CheckboxProps): react_jsx_runtime.JSX.Element;
2239
2273
 
2240
2274
  interface RadioOption {
2241
2275
  /** Stable value submitted / reported on change. */
@@ -2279,6 +2313,8 @@ interface RadioGroupProps {
2279
2313
  required?: boolean;
2280
2314
  /** Contextual help revealed via an info icon + tooltip beside the label. */
2281
2315
  helperText?: React__default.ReactNode;
2316
+ /** Extra classes merged onto the field root element. */
2317
+ className?: string;
2282
2318
  /** Validation message — shown under the control; also flags it red and sets aria-invalid. */
2283
2319
  errorMessage?: React__default.ReactNode;
2284
2320
  }
@@ -2305,7 +2341,7 @@ interface RadioGroupProps {
2305
2341
  * />
2306
2342
  * ```
2307
2343
  */
2308
- declare function RadioGroup({ options, value, defaultValue, onChange, name, label, layout, labelPosition, size, disabled, required, helperText, errorMessage, }: RadioGroupProps): react_jsx_runtime.JSX.Element;
2344
+ declare function RadioGroup({ options, value, defaultValue, onChange, name, label, layout, labelPosition, size, disabled, required, helperText, className, errorMessage, }: RadioGroupProps): react_jsx_runtime.JSX.Element;
2309
2345
 
2310
2346
  interface SwitchInputProps {
2311
2347
  /** Controlled on/off state. */
@@ -2332,6 +2368,8 @@ interface SwitchInputProps {
2332
2368
  layout?: 'horizontal' | 'vertical';
2333
2369
  /** Contextual help revealed via an info icon + tooltip beside the label. */
2334
2370
  helperText?: React__default.ReactNode;
2371
+ /** Extra classes merged onto the field root element. */
2372
+ className?: string;
2335
2373
  /** Label rendered to the left of the track, emphasised while off. */
2336
2374
  offLabel?: React__default.ReactNode;
2337
2375
  /** Label rendered to the right of the track, emphasised while on. */
@@ -2362,7 +2400,7 @@ interface SwitchInputProps {
2362
2400
  * <Switch label="Email notifications" checked={on} onChange={({ target }) => setOn(target.checked)} />
2363
2401
  * <Switch offLabel="Monthly" onLabel="Yearly" checked={yearly} onChange={...} />
2364
2402
  */
2365
- declare function Switch({ checked, defaultChecked, onChange, checkedIcon, uncheckedIcon, label, layout, helperText, offLabel, onLabel, name, required, disabled, errorMessage, }: SwitchInputProps): react_jsx_runtime.JSX.Element;
2403
+ declare function Switch({ checked, defaultChecked, onChange, checkedIcon, uncheckedIcon, label, layout, helperText, className, offLabel, onLabel, name, required, disabled, errorMessage, }: SwitchInputProps): react_jsx_runtime.JSX.Element;
2366
2404
 
2367
2405
  interface DropdownItem {
2368
2406
  key: string | number;
@@ -2422,6 +2460,8 @@ interface DropdownProps {
2422
2460
  placeholder?: string;
2423
2461
  /** Size preset. Default `'md'`. */
2424
2462
  size?: FieldSize;
2463
+ /** Extra classes merged onto the component root. */
2464
+ className?: string;
2425
2465
  }
2426
2466
  /**
2427
2467
  * Select / multi-select dropdown powered by Radix Popover.
@@ -2438,7 +2478,7 @@ interface DropdownProps {
2438
2478
  * // Multi-select
2439
2479
  * <Dropdown isMultiselect label="Fuels" items={fuels} value={form.fuels} onChange={handleChange} />
2440
2480
  */
2441
- 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;
2481
+ declare function Dropdown({ isMultiselect, hasSearch, label, name, value, onChange, disabled, layout, helperText, required, errorMessage, style, htmlFor, items, labelStyle, placeholder, size, className, }: DropdownProps): react_jsx_runtime.JSX.Element;
2442
2482
 
2443
2483
  interface AutoCompleteItem {
2444
2484
  key: string;
@@ -2493,6 +2533,8 @@ interface AutoCompleteProps {
2493
2533
  errorMessage?: React__default.ReactNode;
2494
2534
  /** Contextual help revealed via an info icon + tooltip beside the label. */
2495
2535
  helperText?: React__default.ReactNode;
2536
+ /** Extra classes merged onto the field root element. */
2537
+ className?: string;
2496
2538
  /** Mark required (asterisk after the label). */
2497
2539
  required?: boolean;
2498
2540
  /** The control id; the field label links to it for accessibility. */
@@ -2534,7 +2576,7 @@ interface AutoCompleteProps {
2534
2576
  * />
2535
2577
  * ```
2536
2578
  */
2537
- 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;
2579
+ declare function AutoComplete({ disabled, label, placeholder, name, inputStyle, style, layout, items, onSearch, debounce, onItemClick, emptyText, loadingText, size, icon, errorMessage, helperText, className, required, htmlFor, }: AutoCompleteProps): react_jsx_runtime.JSX.Element;
2538
2580
 
2539
2581
  interface TreeSelectNode {
2540
2582
  key: string | number;
@@ -2570,6 +2612,8 @@ interface TreeSelectProps {
2570
2612
  layout?: 'horizontal' | 'vertical';
2571
2613
  /** Contextual help revealed via an info icon + tooltip beside the label. */
2572
2614
  helperText?: React__default.ReactNode;
2615
+ /** Extra classes merged onto the field root element. */
2616
+ className?: string;
2573
2617
  /** Show a required asterisk after the label. */
2574
2618
  required?: boolean;
2575
2619
  /** Disable interaction and dim the control. */
@@ -2625,7 +2669,7 @@ interface TreeSelectProps {
2625
2669
  * />
2626
2670
  * ```
2627
2671
  */
2628
- 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;
2672
+ declare function TreeSelect({ label, name, value, onChange, disabled, layout, helperText, className, required, errorMessage, style, htmlFor, items, placeholder, parentsSelectable, defaultExpandedKeys, size, }: TreeSelectProps): react_jsx_runtime.JSX.Element;
2629
2673
 
2630
2674
  interface FileInputProps {
2631
2675
  /** Allow selecting more than one file. */
@@ -2657,6 +2701,8 @@ interface FileInputProps {
2657
2701
  errorMessage?: React__default.ReactNode;
2658
2702
  /** Contextual help revealed via an info icon + tooltip beside the label. */
2659
2703
  helperText?: React__default.ReactNode;
2704
+ /** Extra classes merged onto the field root element. */
2705
+ className?: string;
2660
2706
  /** Disable interaction and dim the control. */
2661
2707
  disabled?: boolean;
2662
2708
  /** Show a required asterisk after the label. */
@@ -2684,7 +2730,7 @@ interface FileInputProps {
2684
2730
  * />
2685
2731
  * ```
2686
2732
  */
2687
- declare function FileInput({ allowMultiple, onChange, name, htmlFor, label, accept, prompt, hint, maxSize, errorMessage, helperText, disabled, required, icon, }: FileInputProps): react_jsx_runtime.JSX.Element;
2733
+ declare function FileInput({ allowMultiple, onChange, name, htmlFor, label, accept, prompt, hint, maxSize, errorMessage, helperText, className, disabled, required, icon, }: FileInputProps): react_jsx_runtime.JSX.Element;
2688
2734
 
2689
2735
  interface DatePickerProps {
2690
2736
  /** Current date. `null` / `undefined` means "no date selected". */
@@ -2805,6 +2851,8 @@ interface TextAreaProps {
2805
2851
  errorMessage?: React__default.ReactNode;
2806
2852
  /** Contextual help revealed via an info icon + tooltip beside the label. */
2807
2853
  helperText?: React__default.ReactNode;
2854
+ /** Extra classes merged onto the field root element. */
2855
+ className?: string;
2808
2856
  /** Show a required asterisk after the label. */
2809
2857
  required?: boolean;
2810
2858
  /** Inline style applied to the control shell. */
@@ -2828,7 +2876,7 @@ interface TextAreaProps {
2828
2876
  * <TextArea label="Bio" maxLength={280} showCount value={bio} onChange={onChange} />
2829
2877
  * ```
2830
2878
  */
2831
- 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;
2879
+ declare function TextArea({ value, onChange, onBlur, disabled, label, htmlFor, placeholder, name, layout, size, rows, autoGrow, maxRows, maxLength, showCount, resize, errorMessage, helperText, className, required, style, inputStyle, }: TextAreaProps): react_jsx_runtime.JSX.Element;
2832
2880
 
2833
2881
  interface SegmentedOption {
2834
2882
  value: string;
@@ -2857,6 +2905,8 @@ interface SegmentedControlProps {
2857
2905
  layout?: 'horizontal' | 'vertical';
2858
2906
  /** Contextual help revealed via an info icon + tooltip beside the label. */
2859
2907
  helperText?: React__default.ReactNode;
2908
+ /** Extra classes merged onto the field root element. */
2909
+ className?: string;
2860
2910
  /** Native form field name (emits a hidden input carrying the value). */
2861
2911
  name?: string;
2862
2912
  /** Show a required asterisk after the label. */
@@ -2893,7 +2943,7 @@ interface SegmentedControlProps {
2893
2943
  * />
2894
2944
  * ```
2895
2945
  */
2896
- 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;
2946
+ declare function SegmentedControl({ options, value, defaultValue, onChange, size, fullWidth, disabled, label, layout, helperText, className, name, required, errorMessage, 'aria-label': ariaLabel, }: SegmentedControlProps): react_jsx_runtime.JSX.Element;
2897
2947
 
2898
2948
  /**
2899
2949
  * Slider value. A single number for a one-thumb slider, or a `[min, max]`
@@ -2937,6 +2987,8 @@ interface SliderProps {
2937
2987
  errorMessage?: React__default.ReactNode;
2938
2988
  /** Contextual help revealed via an info icon + tooltip beside the label. */
2939
2989
  helperText?: React__default.ReactNode;
2990
+ /** Extra classes merged onto the field root element. */
2991
+ className?: string;
2940
2992
  /** Show a required asterisk after the label. */
2941
2993
  required?: boolean;
2942
2994
  /** Native form field name (used for FormData serialisation). */
@@ -2965,7 +3017,7 @@ interface SliderProps {
2965
3017
  * />
2966
3018
  * ```
2967
3019
  */
2968
- 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;
3020
+ declare function Slider({ value, defaultValue, onChange, onChangeEnd, min, max, step, label, showValue, formatValue, marks, tooltip, size, disabled, errorMessage, helperText, className, required, name, htmlFor, }: SliderProps): react_jsx_runtime.JSX.Element;
2969
3021
 
2970
3022
  interface TagsInputProps {
2971
3023
  /** Controlled list of tags. */
@@ -2992,6 +3044,8 @@ interface TagsInputProps {
2992
3044
  errorMessage?: React__default.ReactNode;
2993
3045
  /** Contextual help revealed via an info icon + tooltip beside the label. */
2994
3046
  helperText?: React__default.ReactNode;
3047
+ /** Extra classes merged onto the field root element. */
3048
+ className?: string;
2995
3049
  /** Show a required asterisk after the label. */
2996
3050
  required?: boolean;
2997
3051
  /** Maximum number of tags. Further input is ignored once reached. */
@@ -3018,7 +3072,7 @@ interface TagsInputProps {
3018
3072
  * validate={(t) => /.+@.+\..+/.test(t) || 'Not a valid email'} />
3019
3073
  * ```
3020
3074
  */
3021
- 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;
3075
+ declare function TagsInput({ value, defaultValue, onChange, label, htmlFor, name, placeholder, layout, size, disabled, errorMessage, helperText, className, required, maxTags, dedupe, validate, separators, }: TagsInputProps): react_jsx_runtime.JSX.Element;
3022
3076
 
3023
3077
  interface OtpInputProps {
3024
3078
  /** Number of code boxes. Default `6`. */
@@ -3051,6 +3105,8 @@ interface OtpInputProps {
3051
3105
  layout?: 'horizontal' | 'vertical';
3052
3106
  /** Contextual help revealed via an info icon + tooltip beside the label. */
3053
3107
  helperText?: React__default.ReactNode;
3108
+ /** Extra classes merged onto the field root element. */
3109
+ className?: string;
3054
3110
  /** Render a visual gap after this many boxes (e.g. `3` → `123 456`). */
3055
3111
  groupAfter?: number;
3056
3112
  }
@@ -3064,7 +3120,7 @@ interface OtpInputProps {
3064
3120
  * <OtpInput length={6} value={code} onChange={setCode} onComplete={verify} />
3065
3121
  * ```
3066
3122
  */
3067
- 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;
3123
+ declare function OtpInput({ length, value, onChange, onComplete, label, htmlFor, name, mode, masked, size, disabled, errorMessage, required, layout, helperText, className, groupAfter, }: OtpInputProps): react_jsx_runtime.JSX.Element;
3068
3124
 
3069
3125
  interface RatingProps {
3070
3126
  /** Controlled value. */
@@ -3097,6 +3153,8 @@ interface RatingProps {
3097
3153
  layout?: 'horizontal' | 'vertical';
3098
3154
  /** Contextual help revealed via an info icon + tooltip beside the label. */
3099
3155
  helperText?: React__default.ReactNode;
3156
+ /** Extra classes merged onto the field root element. */
3157
+ className?: string;
3100
3158
  /** Show a required asterisk after the label. */
3101
3159
  required?: boolean;
3102
3160
  }
@@ -3115,7 +3173,7 @@ interface RatingProps {
3115
3173
  * <Rating value={4.5} allowHalf readOnly />
3116
3174
  * ```
3117
3175
  */
3118
- 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;
3176
+ declare function Rating({ value, defaultValue, onChange, count, allowHalf, readOnly, clearable, label, size, disabled, icon, errorMessage, name, layout, helperText, className, required, }: RatingProps): react_jsx_runtime.JSX.Element;
3119
3177
 
3120
3178
  interface TimePickerProps {
3121
3179
  /** Value as `"HH:mm"` (24h) or `"HH:mm:ss"`. `null`/`undefined` = unset. */
@@ -3146,6 +3204,8 @@ interface TimePickerProps {
3146
3204
  errorMessage?: React__default.ReactNode;
3147
3205
  /** Contextual help revealed via an info icon + tooltip beside the label. */
3148
3206
  helperText?: React__default.ReactNode;
3207
+ /** Extra classes merged onto the field root element. */
3208
+ className?: string;
3149
3209
  /** Show a required asterisk after the label. */
3150
3210
  required?: boolean;
3151
3211
  /** Inline style applied to the control shell. */
@@ -3161,7 +3221,7 @@ interface TimePickerProps {
3161
3221
  * <TimePicker label="Departure" value={time} onChange={setTime} minuteStep={15} use12Hours />
3162
3222
  * ```
3163
3223
  */
3164
- 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;
3224
+ declare function TimePicker({ value, onChange, label, htmlFor, name, placeholder, layout, size, use12Hours, withSeconds, minuteStep, disabled, errorMessage, helperText, className, required, style, }: TimePickerProps): react_jsx_runtime.JSX.Element;
3165
3225
 
3166
3226
  interface DateRange {
3167
3227
  start: Date | null;
@@ -3203,6 +3263,8 @@ interface DateRangePickerProps {
3203
3263
  errorMessage?: React__default.ReactNode;
3204
3264
  /** Contextual help revealed via an info icon + tooltip beside the label. */
3205
3265
  helperText?: React__default.ReactNode;
3266
+ /** Extra classes merged onto the field root element. */
3267
+ className?: string;
3206
3268
  /** Show a required asterisk after the label. */
3207
3269
  required?: boolean;
3208
3270
  /** Inline style applied to the control shell. */
@@ -3225,7 +3287,7 @@ interface DateRangePickerProps {
3225
3287
  * />
3226
3288
  * ```
3227
3289
  */
3228
- 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;
3290
+ declare function DateRangePicker({ value, onChange, label, htmlFor, placeholder, layout, size, min, max, weekStartsOn, presets, format, disabled, errorMessage, helperText, className, required, style, }: DateRangePickerProps): react_jsx_runtime.JSX.Element;
3229
3291
 
3230
3292
  interface ColorPickerProps {
3231
3293
  /** Hex string, e.g. `"#0466c8"`. */
@@ -3252,6 +3314,8 @@ interface ColorPickerProps {
3252
3314
  errorMessage?: React__default.ReactNode;
3253
3315
  /** Contextual help revealed via an info icon + tooltip beside the label. */
3254
3316
  helperText?: React__default.ReactNode;
3317
+ /** Extra classes merged onto the field root element. */
3318
+ className?: string;
3255
3319
  /** Show a required asterisk after the label. */
3256
3320
  required?: boolean;
3257
3321
  /** Placeholder shown when the field is empty. */
@@ -3267,7 +3331,7 @@ interface ColorPickerProps {
3267
3331
  * <ColorPicker label="Brand colour" value={color} onChange={setColor} />
3268
3332
  * ```
3269
3333
  */
3270
- declare function ColorPicker({ value, onChange, label, htmlFor, name, layout, size, swatches, allowCustom, disabled, errorMessage, helperText, required, placeholder, }: ColorPickerProps): react_jsx_runtime.JSX.Element;
3334
+ declare function ColorPicker({ value, onChange, label, htmlFor, name, layout, size, swatches, allowCustom, disabled, errorMessage, helperText, className, required, placeholder, }: ColorPickerProps): react_jsx_runtime.JSX.Element;
3271
3335
 
3272
3336
  /**
3273
3337
  * Native, dependency-free validation. A field carries one rule or an array of