@geomak/ui 5.7.1 → 5.8.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
@@ -1787,6 +1787,7 @@ interface SkeletonCardProps extends SkeletonBaseProps {
1787
1787
  declare function SkeletonCard({ hasAvatar, lines, className, style }: SkeletonCardProps): react_jsx_runtime.JSX.Element;
1788
1788
 
1789
1789
  interface ButtonProps {
1790
+ /** Button content (text or nodes). */
1790
1791
  content?: React__default.ReactNode;
1791
1792
  /** Visual style variant */
1792
1793
  variant?: 'primary' | 'secondary' | 'ghost' | 'danger';
@@ -1794,12 +1795,15 @@ interface ButtonProps {
1794
1795
  size?: 'sm' | 'md' | 'lg';
1795
1796
  /** HTML button type */
1796
1797
  buttonType?: 'button' | 'submit' | 'reset';
1798
+ /** Show a loading spinner and disable the control. */
1797
1799
  loading?: boolean;
1800
+ /** Disable interaction and dim the control. */
1798
1801
  disabled?: boolean;
1799
1802
  /** Inline style overrides (width, etc.). Margins/layout belong in the parent. */
1800
1803
  style?: React__default.CSSProperties;
1801
1804
  /** Leading icon — rendered before content */
1802
1805
  icon?: React__default.ReactNode;
1806
+ /** Click handler. */
1803
1807
  onClick?: React__default.MouseEventHandler<HTMLButtonElement>;
1804
1808
  /**
1805
1809
  * @deprecated Pass `variant` instead. Kept for API compat — currently no-op.
@@ -1870,8 +1874,15 @@ interface FieldLabelProps {
1870
1874
  required?: boolean;
1871
1875
  /** Reveals an info icon + tooltip beside the label. */
1872
1876
  helperText?: React__default.ReactNode;
1873
- /** Apply horizontal-layout spacing (top margin, no-wrap, shrink). */
1877
+ /** Apply horizontal-layout spacing (no-wrap, shrink). */
1874
1878
  horizontal?: boolean;
1879
+ /**
1880
+ * Vertical alignment of the label against the control in horizontal layout.
1881
+ * `'start'` (default) nudges the label down to meet a standard ~36px input's
1882
+ * first line; `'center'` removes that offset so the label centres against a
1883
+ * short control (Switch, SegmentedControl).
1884
+ */
1885
+ align?: 'start' | 'center';
1875
1886
  style?: React__default.CSSProperties;
1876
1887
  /** Label column width in horizontal layout. */
1877
1888
  width?: string | number;
@@ -1885,7 +1896,7 @@ interface FieldLabelProps {
1885
1896
  *
1886
1897
  * Returns `null` when there's nothing to show (no label and no helperText).
1887
1898
  */
1888
- declare function FieldLabel({ label, htmlFor, required, helperText, horizontal, style, width, className, }: FieldLabelProps): react_jsx_runtime.JSX.Element;
1899
+ declare function FieldLabel({ label, htmlFor, required, helperText, horizontal, align, style, width, className, }: FieldLabelProps): react_jsx_runtime.JSX.Element;
1889
1900
  interface FieldProps {
1890
1901
  label?: React__default.ReactNode;
1891
1902
  /** `id` of the control — links the `<label htmlFor>`. */
@@ -1899,6 +1910,12 @@ interface FieldProps {
1899
1910
  required?: boolean;
1900
1911
  /** Contextual help revealed via an info icon + tooltip beside the label. */
1901
1912
  helperText?: React__default.ReactNode;
1913
+ /**
1914
+ * Label alignment against the control in horizontal layout. `'start'`
1915
+ * (default) for standard-height inputs; `'center'` for short controls
1916
+ * (Switch) so the label lines up with the control's centre.
1917
+ */
1918
+ labelAlign?: 'start' | 'center';
1902
1919
  labelStyle?: React__default.CSSProperties;
1903
1920
  /** Width of the label column in horizontal layout (CSS length). */
1904
1921
  labelWidth?: string | number;
@@ -1921,25 +1938,36 @@ interface FieldProps {
1921
1938
  * medium weight so it reads as the anchor, while the input's placeholder is
1922
1939
  * muted — establishing hierarchy without making the label tiny.
1923
1940
  */
1924
- declare function Field({ label, htmlFor, errorId, errorMessage, layout, required, helperText, labelStyle, labelWidth, className, children, }: FieldProps): react_jsx_runtime.JSX.Element;
1941
+ declare function Field({ label, htmlFor, errorId, errorMessage, layout, required, helperText, labelAlign, labelStyle, labelWidth, className, children, }: FieldProps): react_jsx_runtime.JSX.Element;
1925
1942
 
1926
1943
  interface TextInputProps {
1944
+ /** Controlled string value. */
1927
1945
  value?: string;
1946
+ /** Native change handler — read `e.target.value`. */
1928
1947
  onChange?: React__default.ChangeEventHandler<HTMLInputElement>;
1948
+ /** Disable interaction and dim the field. */
1929
1949
  disabled?: boolean;
1950
+ /** Field label rendered above (vertical) or beside (horizontal) the input. */
1930
1951
  label?: React__default.ReactNode;
1952
+ /** `id` for the input + the `<label htmlFor>` link. */
1931
1953
  htmlFor?: string;
1954
+ /** Placeholder shown when the field is empty. */
1932
1955
  placeholder?: string;
1956
+ /** Native form field name (used for `FormData` serialisation). */
1933
1957
  name?: string;
1934
1958
  /** Native input type. Defaults to `'text'`. */
1935
1959
  type?: 'text' | 'email' | 'url' | 'tel';
1960
+ /** Inline style applied to the `<input>` element. */
1936
1961
  inputStyle?: React__default.CSSProperties;
1962
+ /** Inline style applied to the field shell / adornment wrapper. */
1937
1963
  style?: React__default.CSSProperties;
1938
1964
  /** Label/input orientation. Defaults to `'vertical'`. */
1939
1965
  layout?: 'horizontal' | 'vertical';
1940
1966
  /** Size preset — controls height, padding, and font. Default `'md'`. */
1941
1967
  size?: FieldSize;
1968
+ /** Native blur handler. */
1942
1969
  onBlur?: React__default.FocusEventHandler<HTMLInputElement>;
1970
+ /** Validation message — shown under the input; also flags it red + `aria-invalid`. */
1943
1971
  errorMessage?: React__default.ReactNode;
1944
1972
  /** Contextual help revealed via an info icon + tooltip beside the label. */
1945
1973
  helperText?: React__default.ReactNode;
@@ -1949,6 +1977,7 @@ interface TextInputProps {
1949
1977
  prefix?: React__default.ReactNode;
1950
1978
  /** Optional trailing adornment (icon / suffix / unit). */
1951
1979
  suffix?: React__default.ReactNode;
1980
+ /** @deprecated Use `htmlFor`. */
1952
1981
  id?: string;
1953
1982
  }
1954
1983
  /**
@@ -1987,24 +2016,37 @@ interface NumberInputProps {
1987
2016
  name?: string;
1988
2017
  };
1989
2018
  }) => void;
2019
+ /** Field label, placed above (vertical) or beside (horizontal) the control. */
1990
2020
  label?: React__default.ReactNode;
2021
+ /** The control id; the field label links to it for accessibility. */
1991
2022
  htmlFor?: string;
2023
+ /** Native form field name (used for FormData serialisation). */
1992
2024
  name?: string;
2025
+ /** Disable interaction and dim the control. */
1993
2026
  disabled?: boolean;
1994
2027
  /** Label/input orientation. Defaults to `'vertical'`. */
1995
2028
  layout?: 'horizontal' | 'vertical';
1996
2029
  /** Size preset. Default `'md'`. */
1997
2030
  size?: FieldSize;
2031
+ /** Validation message — shown under the control; also flags it red and sets aria-invalid. */
1998
2032
  errorMessage?: React__default.ReactNode;
1999
2033
  /** Contextual help revealed via an info icon + tooltip beside the label. */
2000
2034
  helperText?: React__default.ReactNode;
2035
+ /** Show a required asterisk after the label. */
2001
2036
  required?: boolean;
2037
+ /** Inline style applied to the inner input element. */
2002
2038
  inputStyle?: React__default.CSSProperties;
2039
+ /** Inline style applied to the label. */
2003
2040
  labelStyle?: React__default.CSSProperties;
2041
+ /** Placeholder shown when the field is empty. */
2004
2042
  placeholder?: string;
2043
+ /** Inline style applied to the control shell. */
2005
2044
  style?: React__default.CSSProperties;
2045
+ /** Minimum allowed value. */
2006
2046
  min?: number;
2047
+ /** Maximum allowed value. */
2007
2048
  max?: number;
2049
+ /** Render read-only — visible but not editable. */
2008
2050
  readOnly?: boolean;
2009
2051
  /** Optional precision for floating-point steps (number of decimal places to round to). */
2010
2052
  precision?: number;
@@ -2044,23 +2086,35 @@ interface NumberInputProps {
2044
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;
2045
2087
 
2046
2088
  interface PasswordProps {
2089
+ /** Controlled value. */
2047
2090
  value?: string;
2091
+ /** Fires when the value changes. */
2048
2092
  onChange?: React__default.ChangeEventHandler<HTMLInputElement>;
2093
+ /** Disable interaction and dim the control. */
2049
2094
  disabled?: boolean;
2095
+ /** Field label, placed above (vertical) or beside (horizontal) the control. */
2050
2096
  label?: React__default.ReactNode;
2097
+ /** The control id; the field label links to it for accessibility. */
2051
2098
  htmlFor?: string;
2099
+ /** Placeholder shown when the field is empty. */
2052
2100
  placeholder?: string;
2101
+ /** Native form field name (used for FormData serialisation). */
2053
2102
  name?: string;
2103
+ /** Inline style applied to the inner input element. */
2054
2104
  inputStyle?: React__default.CSSProperties;
2105
+ /** Inline style applied to the control shell. */
2055
2106
  style?: React__default.CSSProperties;
2056
2107
  /** Label/input orientation. Defaults to `'vertical'`. */
2057
2108
  layout?: 'horizontal' | 'vertical';
2058
2109
  /** Size preset — controls height, padding, and font. Default `'md'`. */
2059
2110
  size?: FieldSize;
2111
+ /** Blur handler — useful for touched/validation timing. */
2060
2112
  onBlur?: React__default.FocusEventHandler<HTMLInputElement>;
2113
+ /** Validation message — shown under the control; also flags it red and sets aria-invalid. */
2061
2114
  errorMessage?: React__default.ReactNode;
2062
2115
  /** Contextual help revealed via an info icon + tooltip beside the label. */
2063
2116
  helperText?: React__default.ReactNode;
2117
+ /** Show a required asterisk after the label. */
2064
2118
  required?: boolean;
2065
2119
  /** Override the "reveal" (password hidden) icon. */
2066
2120
  showIcon?: React__default.ReactNode;
@@ -2079,14 +2133,23 @@ interface PasswordProps {
2079
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;
2080
2134
 
2081
2135
  interface SearchInputProps {
2136
+ /** Controlled value. */
2082
2137
  value?: string;
2138
+ /** Fires when the value changes. */
2083
2139
  onChange?: React__default.ChangeEventHandler<HTMLInputElement>;
2140
+ /** Disable interaction and dim the control. */
2084
2141
  disabled?: boolean;
2142
+ /** Field label, placed above (vertical) or beside (horizontal) the control. */
2085
2143
  label?: React__default.ReactNode;
2144
+ /** The control id; the field label links to it for accessibility. */
2086
2145
  htmlFor?: string;
2146
+ /** Placeholder shown when the field is empty. */
2087
2147
  placeholder?: string;
2148
+ /** Native form field name (used for FormData serialisation). */
2088
2149
  name?: string;
2150
+ /** Inline style applied to the inner input element. */
2089
2151
  inputStyle?: React__default.CSSProperties;
2152
+ /** Inline style applied to the control shell. */
2090
2153
  style?: React__default.CSSProperties;
2091
2154
  /** Label/input orientation. Defaults to `'vertical'`. */
2092
2155
  layout?: 'horizontal' | 'vertical';
@@ -2110,8 +2173,9 @@ interface SearchInputProps {
2110
2173
  declare const SearchInput: React__default.ForwardRefExoticComponent<SearchInputProps & React__default.RefAttributes<HTMLInputElement>>;
2111
2174
 
2112
2175
  interface CheckboxProps {
2113
- /** Controlled checked state */
2176
+ /** Controlled checked state. */
2114
2177
  checked?: boolean;
2178
+ /** Fires `{ target: { checked, id, name } }` for form-handler compatibility. */
2115
2179
  onChange?: (e: {
2116
2180
  target: {
2117
2181
  checked: boolean;
@@ -2119,12 +2183,22 @@ interface CheckboxProps {
2119
2183
  name?: string;
2120
2184
  };
2121
2185
  }) => void;
2186
+ /** Primary label text. */
2122
2187
  label?: React__default.ReactNode;
2188
+ /** Secondary line rendered under the label (same affordance as RadioGroup options). */
2189
+ description?: React__default.ReactNode;
2190
+ /** Native form field name. */
2123
2191
  name?: string;
2124
- /** `id` for the hidden input and the `<label htmlFor>` link */
2192
+ /** `id` for the control and the `<label htmlFor>` link. */
2125
2193
  htmlFor?: string;
2194
+ /** Validation message — shown under the control; also flags the box red + `aria-invalid`. */
2126
2195
  errorMessage?: React__default.ReactNode;
2196
+ /** Contextual help revealed via an info icon + tooltip beside the label. */
2197
+ helperText?: React__default.ReactNode;
2198
+ /** Disable interaction + dim the control. */
2127
2199
  disabled?: boolean;
2200
+ /** Show a required asterisk after the label. */
2201
+ required?: boolean;
2128
2202
  /**
2129
2203
  * Box + label arrangement.
2130
2204
  * - `'horizontal'` (default): box and label on one row.
@@ -2132,34 +2206,36 @@ interface CheckboxProps {
2132
2206
  */
2133
2207
  layout?: 'horizontal' | 'vertical';
2134
2208
  /**
2135
- * Where the label sits relative to the box.
2136
- * - In horizontal: `'right'` (default) box then label; `'left'` → label then box.
2137
- * - In vertical: `'right'` (default) box then label below; `'left'` label above then box.
2209
+ * Which side of the box the label sits on.
2210
+ * - `'right'` (default): box then label.
2211
+ * - `'left'`: label then box (the description always wraps under the label).
2138
2212
  */
2139
2213
  labelPosition?: 'left' | 'right';
2140
- /** Contextual help revealed via an info icon + tooltip beside the label. */
2141
- helperText?: React__default.ReactNode;
2142
- /** Show a required asterisk after the label. */
2143
- required?: boolean;
2144
- /** @deprecated Use `checked` */
2214
+ /** @deprecated Use `checked`. Kept for API compatibility. */
2145
2215
  value?: boolean;
2146
2216
  }
2147
2217
  /**
2148
2218
  * Accessible checkbox powered by Radix Checkbox.
2149
2219
  *
2150
- * Radix handles keyboard activation, focus ring, and `role="checkbox"` ARIA.
2151
- * The check mark pops in with a spring animation on first check.
2220
+ * Radix handles keyboard activation, focus ring, and `role="checkbox"` ARIA;
2221
+ * the check mark pops in with a spring on first check. Supports a secondary
2222
+ * `description`, `helperText` tooltip, left/right label placement, and the
2223
+ * shared error treatment — so it lines up with every other input in a form.
2224
+ *
2225
+ * Emits `{ target: { checked, id, name } }` for drop-in use with existing
2226
+ * change handlers.
2152
2227
  *
2153
2228
  * @example
2154
2229
  * <Checkbox
2155
2230
  * htmlFor="agree"
2156
2231
  * label="I agree to the terms"
2232
+ * description="You can revoke consent any time in settings."
2157
2233
  * checked={form.agree}
2158
2234
  * onChange={({ target }) => setField('agree', target.checked)}
2159
2235
  * />
2160
2236
  */
2161
2237
  declare function Checkbox({ checked, value, // legacy alias
2162
- onChange, label, name, htmlFor, errorMessage, disabled, layout, labelPosition, helperText, required, }: CheckboxProps): react_jsx_runtime.JSX.Element;
2238
+ onChange, label, description, name, htmlFor, errorMessage, helperText, disabled, required, layout, labelPosition, }: CheckboxProps): react_jsx_runtime.JSX.Element;
2163
2239
 
2164
2240
  interface RadioOption {
2165
2241
  /** Stable value submitted / reported on change. */
@@ -2172,13 +2248,17 @@ interface RadioOption {
2172
2248
  disabled?: boolean;
2173
2249
  }
2174
2250
  interface RadioGroupProps {
2251
+ /** The selectable options. */
2175
2252
  options: RadioOption[];
2176
2253
  /** Controlled selected value. */
2177
2254
  value?: string;
2178
2255
  /** Uncontrolled initial value. */
2179
2256
  defaultValue?: string;
2257
+ /** Fires when the value changes. */
2180
2258
  onChange?: (value: string) => void;
2259
+ /** Native form field name (used for FormData serialisation). */
2181
2260
  name?: string;
2261
+ /** Field label, placed above (vertical) or beside (horizontal) the control. */
2182
2262
  label?: React__default.ReactNode;
2183
2263
  /**
2184
2264
  * Option arrangement. `'vertical'` (default) stacks options in a column;
@@ -2193,10 +2273,13 @@ interface RadioGroupProps {
2193
2273
  labelPosition?: 'left' | 'right';
2194
2274
  /** Size preset — controls the dot + text size. Default `'md'`. */
2195
2275
  size?: FieldSize;
2276
+ /** Disable interaction and dim the control. */
2196
2277
  disabled?: boolean;
2278
+ /** Show a required asterisk after the label. */
2197
2279
  required?: boolean;
2198
2280
  /** Contextual help revealed via an info icon + tooltip beside the label. */
2199
2281
  helperText?: React__default.ReactNode;
2282
+ /** Validation message — shown under the control; also flags it red and sets aria-invalid. */
2200
2283
  errorMessage?: React__default.ReactNode;
2201
2284
  }
2202
2285
  /**
@@ -2229,6 +2312,7 @@ interface SwitchInputProps {
2229
2312
  checked?: boolean;
2230
2313
  /** Uncontrolled initial state. */
2231
2314
  defaultChecked?: boolean;
2315
+ /** Fires when the value changes. */
2232
2316
  onChange?: (e: {
2233
2317
  target: {
2234
2318
  checked: boolean;
@@ -2252,9 +2336,13 @@ interface SwitchInputProps {
2252
2336
  offLabel?: React__default.ReactNode;
2253
2337
  /** Label rendered to the right of the track, emphasised while on. */
2254
2338
  onLabel?: React__default.ReactNode;
2339
+ /** Native form field name (used for FormData serialisation). */
2255
2340
  name?: string;
2341
+ /** Show a required asterisk after the label. */
2256
2342
  required?: boolean;
2343
+ /** Disable interaction and dim the control. */
2257
2344
  disabled?: boolean;
2345
+ /** Validation message — shown under the control; also flags it red and sets aria-invalid. */
2258
2346
  errorMessage?: React__default.ReactNode;
2259
2347
  }
2260
2348
  /**
@@ -2292,11 +2380,17 @@ type DropdownKey = string | number;
2292
2380
  */
2293
2381
  type DropdownValue = DropdownKey | DropdownKey[];
2294
2382
  interface DropdownProps {
2383
+ /** Enable multi-select (value becomes an array of keys). */
2295
2384
  isMultiselect?: boolean;
2385
+ /** Show a search box inside the dropdown panel. */
2296
2386
  hasSearch?: boolean;
2387
+ /** Field label, placed above (vertical) or beside (horizontal) the control. */
2297
2388
  label?: React__default.ReactNode;
2389
+ /** Native form field name (used for FormData serialisation). */
2298
2390
  name?: string;
2391
+ /** Controlled value. */
2299
2392
  value?: DropdownValue;
2393
+ /** Fires when the value changes. */
2300
2394
  onChange?: (e: {
2301
2395
  target: {
2302
2396
  value: DropdownValue;
@@ -2304,18 +2398,27 @@ interface DropdownProps {
2304
2398
  name?: string;
2305
2399
  };
2306
2400
  }) => void;
2401
+ /** Blur handler — useful for touched/validation timing. */
2307
2402
  onBlur?: React__default.FocusEventHandler;
2403
+ /** Disable interaction and dim the control. */
2308
2404
  disabled?: boolean;
2309
2405
  /** Label/input orientation. Defaults to `'vertical'`. */
2310
2406
  layout?: 'horizontal' | 'vertical';
2311
2407
  /** Contextual help revealed via an info icon + tooltip beside the label. */
2312
2408
  helperText?: React__default.ReactNode;
2409
+ /** Show a required asterisk after the label. */
2313
2410
  required?: boolean;
2411
+ /** Validation message — shown under the control; also flags it red and sets aria-invalid. */
2314
2412
  errorMessage?: React__default.ReactNode;
2413
+ /** Inline style applied to the control shell. */
2315
2414
  style?: React__default.CSSProperties;
2415
+ /** The control id; the field label links to it for accessibility. */
2316
2416
  htmlFor?: string;
2417
+ /** The selectable items. */
2317
2418
  items?: DropdownItem[];
2419
+ /** Inline style applied to the label. */
2318
2420
  labelStyle?: React__default.CSSProperties;
2421
+ /** Placeholder shown when the field is empty. */
2319
2422
  placeholder?: string;
2320
2423
  /** Size preset. Default `'md'`. */
2321
2424
  size?: FieldSize;
@@ -2344,11 +2447,17 @@ interface AutoCompleteItem {
2344
2447
  icon?: React__default.ReactNode;
2345
2448
  }
2346
2449
  interface AutoCompleteProps {
2450
+ /** Disable interaction and dim the control. */
2347
2451
  disabled?: boolean;
2452
+ /** Field label, placed above (vertical) or beside (horizontal) the control. */
2348
2453
  label?: React__default.ReactNode;
2454
+ /** Placeholder shown when the field is empty. */
2349
2455
  placeholder?: string;
2456
+ /** Native form field name (used for FormData serialisation). */
2350
2457
  name?: string;
2458
+ /** Inline style applied to the inner input element. */
2351
2459
  inputStyle?: React__default.CSSProperties;
2460
+ /** Inline style applied to the control shell. */
2352
2461
  style?: React__default.CSSProperties;
2353
2462
  /** Label/input orientation. Defaults to `'vertical'`. */
2354
2463
  layout?: 'horizontal' | 'vertical';
@@ -2370,6 +2479,7 @@ interface AutoCompleteProps {
2370
2479
  * typing. Default `250`. Ignored when `items` is used.
2371
2480
  */
2372
2481
  debounce?: number;
2482
+ /** Fires when a suggestion is selected, with its value. */
2373
2483
  onItemClick?: (value: string) => void;
2374
2484
  /** Custom "empty" message */
2375
2485
  emptyText?: string;
@@ -2385,6 +2495,7 @@ interface AutoCompleteProps {
2385
2495
  helperText?: React__default.ReactNode;
2386
2496
  /** Mark required (asterisk after the label). */
2387
2497
  required?: boolean;
2498
+ /** The control id; the field label links to it for accessibility. */
2388
2499
  htmlFor?: string;
2389
2500
  }
2390
2501
  /**
@@ -2447,10 +2558,13 @@ interface TreeSelectProps {
2447
2558
  name?: string;
2448
2559
  };
2449
2560
  }) => void;
2561
+ /** Field label, placed above (vertical) or beside (horizontal) the control. */
2450
2562
  label?: React__default.ReactNode;
2563
+ /** Placeholder shown when the field is empty. */
2451
2564
  placeholder?: string;
2452
2565
  /** Form control id linkage. */
2453
2566
  htmlFor?: string;
2567
+ /** Native form field name (used for FormData serialisation). */
2454
2568
  name?: string;
2455
2569
  /** Label/trigger orientation. Defaults to `'horizontal'`. */
2456
2570
  layout?: 'horizontal' | 'vertical';
@@ -2458,8 +2572,11 @@ interface TreeSelectProps {
2458
2572
  helperText?: React__default.ReactNode;
2459
2573
  /** Show a required asterisk after the label. */
2460
2574
  required?: boolean;
2575
+ /** Disable interaction and dim the control. */
2461
2576
  disabled?: boolean;
2577
+ /** Validation message — shown under the control; also flags it red and sets aria-invalid. */
2462
2578
  errorMessage?: React__default.ReactNode;
2579
+ /** Inline style applied to the control shell. */
2463
2580
  style?: React__default.CSSProperties;
2464
2581
  /**
2465
2582
  * Whether parent (branch) nodes can be selected. When `false`, parents
@@ -2511,7 +2628,9 @@ interface TreeSelectProps {
2511
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;
2512
2629
 
2513
2630
  interface FileInputProps {
2631
+ /** Allow selecting more than one file. */
2514
2632
  allowMultiple?: boolean;
2633
+ /** Fires when the value changes. */
2515
2634
  onChange?: (e: {
2516
2635
  target: {
2517
2636
  files: File[];
@@ -2520,8 +2639,11 @@ interface FileInputProps {
2520
2639
  value?: string;
2521
2640
  };
2522
2641
  }) => void;
2642
+ /** Native form field name (used for FormData serialisation). */
2523
2643
  name?: string;
2644
+ /** The control id; the field label links to it for accessibility. */
2524
2645
  htmlFor?: string;
2646
+ /** Field label, placed above (vertical) or beside (horizontal) the control. */
2525
2647
  label?: React__default.ReactNode;
2526
2648
  /** Accepted MIME types / extensions, e.g. `'.xlsx,application/pdf'`. */
2527
2649
  accept?: string;
@@ -2531,10 +2653,13 @@ interface FileInputProps {
2531
2653
  hint?: React__default.ReactNode;
2532
2654
  /** Maximum file size in bytes. Files above this are rejected with an error. */
2533
2655
  maxSize?: number;
2656
+ /** Validation message — shown under the control; also flags it red and sets aria-invalid. */
2534
2657
  errorMessage?: React__default.ReactNode;
2535
2658
  /** Contextual help revealed via an info icon + tooltip beside the label. */
2536
2659
  helperText?: React__default.ReactNode;
2660
+ /** Disable interaction and dim the control. */
2537
2661
  disabled?: boolean;
2662
+ /** Show a required asterisk after the label. */
2538
2663
  required?: boolean;
2539
2664
  /** Override the upload glyph in the empty state. */
2540
2665
  icon?: React__default.ReactNode;
@@ -2566,10 +2691,13 @@ interface DatePickerProps {
2566
2691
  value?: Date | null;
2567
2692
  /** Fires with the next date (or `null` if cleared via the clear button). */
2568
2693
  onChange?: (date: Date | null) => void;
2694
+ /** Field label, placed above (vertical) or beside (horizontal) the control. */
2569
2695
  label?: React__default.ReactNode;
2570
2696
  /** Text shown in the trigger when no date is selected. Default `"Select a date…"`. */
2571
2697
  placeholder?: string;
2698
+ /** The control id; the field label links to it for accessibility. */
2572
2699
  htmlFor?: string;
2700
+ /** Native form field name (used for FormData serialisation). */
2573
2701
  name?: string;
2574
2702
  /** Label/trigger orientation. Defaults to `'horizontal'`. */
2575
2703
  layout?: 'horizontal' | 'vertical';
@@ -2577,12 +2705,15 @@ interface DatePickerProps {
2577
2705
  helperText?: React__default.ReactNode;
2578
2706
  /** Show a required asterisk after the label. */
2579
2707
  required?: boolean;
2708
+ /** Disable interaction and dim the control. */
2580
2709
  disabled?: boolean;
2710
+ /** Validation message — shown under the control; also flags it red and sets aria-invalid. */
2581
2711
  errorMessage?: React__default.ReactNode;
2582
2712
  /** Earliest selectable date. Dates before this render disabled. */
2583
2713
  min?: Date;
2584
2714
  /** Latest selectable date. Dates after this render disabled. */
2585
2715
  max?: Date;
2716
+ /** Inline style applied to the control shell. */
2586
2717
  style?: React__default.CSSProperties;
2587
2718
  /**
2588
2719
  * Custom formatter for the trigger display. Defaults to
@@ -2635,13 +2766,21 @@ type TemporalPickerProps = DatePickerProps;
2635
2766
  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;
2636
2767
 
2637
2768
  interface TextAreaProps {
2769
+ /** Controlled value. */
2638
2770
  value?: string;
2771
+ /** Fires when the value changes. */
2639
2772
  onChange?: React__default.ChangeEventHandler<HTMLTextAreaElement>;
2773
+ /** Blur handler — useful for touched/validation timing. */
2640
2774
  onBlur?: React__default.FocusEventHandler<HTMLTextAreaElement>;
2775
+ /** Disable interaction and dim the control. */
2641
2776
  disabled?: boolean;
2777
+ /** Field label, placed above (vertical) or beside (horizontal) the control. */
2642
2778
  label?: React__default.ReactNode;
2779
+ /** The control id; the field label links to it for accessibility. */
2643
2780
  htmlFor?: string;
2781
+ /** Placeholder shown when the field is empty. */
2644
2782
  placeholder?: string;
2783
+ /** Native form field name (used for FormData serialisation). */
2645
2784
  name?: string;
2646
2785
  /** Label/control orientation. Default `'vertical'`. */
2647
2786
  layout?: 'horizontal' | 'vertical';
@@ -2662,11 +2801,15 @@ interface TextAreaProps {
2662
2801
  showCount?: boolean;
2663
2802
  /** CSS `resize` behaviour. Default `'vertical'` (or `'none'` when autoGrow). */
2664
2803
  resize?: 'none' | 'vertical' | 'horizontal' | 'both';
2804
+ /** Validation message — shown under the control; also flags it red and sets aria-invalid. */
2665
2805
  errorMessage?: React__default.ReactNode;
2666
2806
  /** Contextual help revealed via an info icon + tooltip beside the label. */
2667
2807
  helperText?: React__default.ReactNode;
2808
+ /** Show a required asterisk after the label. */
2668
2809
  required?: boolean;
2810
+ /** Inline style applied to the control shell. */
2669
2811
  style?: React__default.CSSProperties;
2812
+ /** Inline style applied to the inner input element. */
2670
2813
  inputStyle?: React__default.CSSProperties;
2671
2814
  }
2672
2815
  /**
@@ -2694,16 +2837,19 @@ interface SegmentedOption {
2694
2837
  disabled?: boolean;
2695
2838
  }
2696
2839
  interface SegmentedControlProps {
2840
+ /** The selectable options. */
2697
2841
  options: SegmentedOption[];
2698
2842
  /** Controlled selected value. */
2699
2843
  value?: string;
2700
2844
  /** Uncontrolled initial value. */
2701
2845
  defaultValue?: string;
2846
+ /** Fires when the value changes. */
2702
2847
  onChange?: (value: string) => void;
2703
2848
  /** Size preset. Default `'md'`. */
2704
2849
  size?: FieldSize;
2705
2850
  /** Stretch to fill the container, segments share the width equally. */
2706
2851
  fullWidth?: boolean;
2852
+ /** Disable interaction and dim the control. */
2707
2853
  disabled?: boolean;
2708
2854
  /** Optional label, positioned per `layout`. */
2709
2855
  label?: React__default.ReactNode;
@@ -2713,8 +2859,11 @@ interface SegmentedControlProps {
2713
2859
  helperText?: React__default.ReactNode;
2714
2860
  /** Native form field name (emits a hidden input carrying the value). */
2715
2861
  name?: string;
2862
+ /** Show a required asterisk after the label. */
2716
2863
  required?: boolean;
2864
+ /** Validation message — shown under the control; also flags it red and sets aria-invalid. */
2717
2865
  errorMessage?: React__default.ReactNode;
2866
+ /** Accessible label for the control. */
2718
2867
  'aria-label'?: string;
2719
2868
  }
2720
2869
  /**
@@ -2756,14 +2905,21 @@ interface SliderMark {
2756
2905
  label?: React__default.ReactNode;
2757
2906
  }
2758
2907
  interface SliderProps {
2908
+ /** Controlled value. */
2759
2909
  value?: SliderValue;
2910
+ /** Uncontrolled initial value. */
2760
2911
  defaultValue?: SliderValue;
2912
+ /** Fires when the value changes. */
2761
2913
  onChange?: (value: SliderValue) => void;
2762
2914
  /** Fired once at the end of a drag/keyboard interaction. */
2763
2915
  onChangeEnd?: (value: SliderValue) => void;
2916
+ /** Minimum allowed value. */
2764
2917
  min?: number;
2918
+ /** Maximum allowed value. */
2765
2919
  max?: number;
2920
+ /** Step increment between values. */
2766
2921
  step?: number;
2922
+ /** Field label, placed above (vertical) or beside (horizontal) the control. */
2767
2923
  label?: React__default.ReactNode;
2768
2924
  /** Show the current value(s) next to the label. */
2769
2925
  showValue?: boolean;
@@ -2773,14 +2929,19 @@ interface SliderProps {
2773
2929
  marks?: SliderMark[];
2774
2930
  /** Show a value tooltip above the thumb while dragging. */
2775
2931
  tooltip?: boolean;
2932
+ /** Size preset — controls height, padding, and font. Default 'md'. */
2776
2933
  size?: FieldSize;
2934
+ /** Disable interaction and dim the control. */
2777
2935
  disabled?: boolean;
2936
+ /** Validation message — shown under the control; also flags it red and sets aria-invalid. */
2778
2937
  errorMessage?: React__default.ReactNode;
2779
2938
  /** Contextual help revealed via an info icon + tooltip beside the label. */
2780
2939
  helperText?: React__default.ReactNode;
2781
2940
  /** Show a required asterisk after the label. */
2782
2941
  required?: boolean;
2942
+ /** Native form field name (used for FormData serialisation). */
2783
2943
  name?: string;
2944
+ /** The control id; the field label links to it for accessibility. */
2784
2945
  htmlFor?: string;
2785
2946
  }
2786
2947
  /**
@@ -2811,17 +2972,27 @@ interface TagsInputProps {
2811
2972
  value?: string[];
2812
2973
  /** Uncontrolled initial tags. */
2813
2974
  defaultValue?: string[];
2975
+ /** Fires when the value changes. */
2814
2976
  onChange?: (tags: string[]) => void;
2977
+ /** Field label, placed above (vertical) or beside (horizontal) the control. */
2815
2978
  label?: React__default.ReactNode;
2979
+ /** The control id; the field label links to it for accessibility. */
2816
2980
  htmlFor?: string;
2981
+ /** Native form field name (used for FormData serialisation). */
2817
2982
  name?: string;
2983
+ /** Placeholder shown when the field is empty. */
2818
2984
  placeholder?: string;
2985
+ /** Label/control orientation: 'horizontal' or 'vertical'. */
2819
2986
  layout?: 'horizontal' | 'vertical';
2987
+ /** Size preset — controls height, padding, and font. Default 'md'. */
2820
2988
  size?: FieldSize;
2989
+ /** Disable interaction and dim the control. */
2821
2990
  disabled?: boolean;
2991
+ /** Validation message — shown under the control; also flags it red and sets aria-invalid. */
2822
2992
  errorMessage?: React__default.ReactNode;
2823
2993
  /** Contextual help revealed via an info icon + tooltip beside the label. */
2824
2994
  helperText?: React__default.ReactNode;
2995
+ /** Show a required asterisk after the label. */
2825
2996
  required?: boolean;
2826
2997
  /** Maximum number of tags. Further input is ignored once reached. */
2827
2998
  maxTags?: number;
@@ -2852,20 +3023,29 @@ declare function TagsInput({ value, defaultValue, onChange, label, htmlFor, name
2852
3023
  interface OtpInputProps {
2853
3024
  /** Number of code boxes. Default `6`. */
2854
3025
  length?: number;
3026
+ /** Controlled value. */
2855
3027
  value?: string;
3028
+ /** Fires when the value changes. */
2856
3029
  onChange?: (code: string) => void;
2857
3030
  /** Fired when every box is filled. */
2858
3031
  onComplete?: (code: string) => void;
3032
+ /** Field label, placed above (vertical) or beside (horizontal) the control. */
2859
3033
  label?: React__default.ReactNode;
3034
+ /** The control id; the field label links to it for accessibility. */
2860
3035
  htmlFor?: string;
3036
+ /** Native form field name (used for FormData serialisation). */
2861
3037
  name?: string;
2862
3038
  /** `'numeric'` (default) restricts to digits; `'alphanumeric'` allows letters too. */
2863
3039
  mode?: 'numeric' | 'alphanumeric';
2864
3040
  /** Render boxes as masked dots (for PIN entry). */
2865
3041
  masked?: boolean;
3042
+ /** Size preset — controls height, padding, and font. Default 'md'. */
2866
3043
  size?: FieldSize;
3044
+ /** Disable interaction and dim the control. */
2867
3045
  disabled?: boolean;
3046
+ /** Validation message — shown under the control; also flags it red and sets aria-invalid. */
2868
3047
  errorMessage?: React__default.ReactNode;
3048
+ /** Show a required asterisk after the label. */
2869
3049
  required?: boolean;
2870
3050
  /** Label/control orientation. Default `'vertical'`. */
2871
3051
  layout?: 'horizontal' | 'vertical';
@@ -2887,8 +3067,11 @@ interface OtpInputProps {
2887
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;
2888
3068
 
2889
3069
  interface RatingProps {
3070
+ /** Controlled value. */
2890
3071
  value?: number;
3072
+ /** Uncontrolled initial value. */
2891
3073
  defaultValue?: number;
3074
+ /** Fires when the value changes. */
2892
3075
  onChange?: (value: number) => void;
2893
3076
  /** Number of icons. Default `5`. */
2894
3077
  count?: number;
@@ -2898,12 +3081,17 @@ interface RatingProps {
2898
3081
  readOnly?: boolean;
2899
3082
  /** Clicking the current value again clears to 0. Default `true`. */
2900
3083
  clearable?: boolean;
3084
+ /** Field label, placed above (vertical) or beside (horizontal) the control. */
2901
3085
  label?: React__default.ReactNode;
3086
+ /** Size preset — controls height, padding, and font. Default 'md'. */
2902
3087
  size?: FieldSize;
3088
+ /** Disable interaction and dim the control. */
2903
3089
  disabled?: boolean;
2904
3090
  /** Override the icon. Receives a `filled` flag. Default is a star. */
2905
3091
  icon?: (filled: boolean) => React__default.ReactNode;
3092
+ /** Validation message — shown under the control; also flags it red and sets aria-invalid. */
2906
3093
  errorMessage?: React__default.ReactNode;
3094
+ /** Native form field name (used for FormData serialisation). */
2907
3095
  name?: string;
2908
3096
  /** Label/control orientation. Default `'vertical'`. */
2909
3097
  layout?: 'horizontal' | 'vertical';
@@ -2932,12 +3120,19 @@ declare function Rating({ value, defaultValue, onChange, count, allowHalf, readO
2932
3120
  interface TimePickerProps {
2933
3121
  /** Value as `"HH:mm"` (24h) or `"HH:mm:ss"`. `null`/`undefined` = unset. */
2934
3122
  value?: string | null;
3123
+ /** Fires when the value changes. */
2935
3124
  onChange?: (value: string | null) => void;
3125
+ /** Field label, placed above (vertical) or beside (horizontal) the control. */
2936
3126
  label?: React__default.ReactNode;
3127
+ /** The control id; the field label links to it for accessibility. */
2937
3128
  htmlFor?: string;
3129
+ /** Native form field name (used for FormData serialisation). */
2938
3130
  name?: string;
3131
+ /** Placeholder shown when the field is empty. */
2939
3132
  placeholder?: string;
3133
+ /** Label/control orientation: 'horizontal' or 'vertical'. */
2940
3134
  layout?: 'horizontal' | 'vertical';
3135
+ /** Size preset — controls height, padding, and font. Default 'md'. */
2941
3136
  size?: FieldSize;
2942
3137
  /** Display in 12-hour format with AM/PM (value stays 24h `"HH:mm"`). */
2943
3138
  use12Hours?: boolean;
@@ -2945,11 +3140,15 @@ interface TimePickerProps {
2945
3140
  withSeconds?: boolean;
2946
3141
  /** Minute step. Default `1`. Use `5` / `15` for coarse pickers. */
2947
3142
  minuteStep?: number;
3143
+ /** Disable interaction and dim the control. */
2948
3144
  disabled?: boolean;
3145
+ /** Validation message — shown under the control; also flags it red and sets aria-invalid. */
2949
3146
  errorMessage?: React__default.ReactNode;
2950
3147
  /** Contextual help revealed via an info icon + tooltip beside the label. */
2951
3148
  helperText?: React__default.ReactNode;
3149
+ /** Show a required asterisk after the label. */
2952
3150
  required?: boolean;
3151
+ /** Inline style applied to the control shell. */
2953
3152
  style?: React__default.CSSProperties;
2954
3153
  }
2955
3154
  /**
@@ -2974,25 +3173,39 @@ interface DateRangePreset {
2974
3173
  range: () => DateRange;
2975
3174
  }
2976
3175
  interface DateRangePickerProps {
3176
+ /** Controlled value. */
2977
3177
  value?: DateRange;
3178
+ /** Fires when the value changes. */
2978
3179
  onChange?: (range: DateRange) => void;
3180
+ /** Field label, placed above (vertical) or beside (horizontal) the control. */
2979
3181
  label?: React__default.ReactNode;
3182
+ /** The control id; the field label links to it for accessibility. */
2980
3183
  htmlFor?: string;
3184
+ /** Placeholder shown when the field is empty. */
2981
3185
  placeholder?: string;
3186
+ /** Label/control orientation: 'horizontal' or 'vertical'. */
2982
3187
  layout?: 'horizontal' | 'vertical';
3188
+ /** Size preset — controls height, padding, and font. Default 'md'. */
2983
3189
  size?: FieldSize;
3190
+ /** Earliest selectable date. */
2984
3191
  min?: Date;
3192
+ /** Latest selectable date. */
2985
3193
  max?: Date;
2986
3194
  /** 0 = Sunday, 1 = Monday. Default `0`. */
2987
3195
  weekStartsOn?: 0 | 1;
2988
3196
  /** Quick-select presets shown in a rail beside the calendars. */
2989
3197
  presets?: DateRangePreset[];
3198
+ /** Custom formatter for the displayed value. */
2990
3199
  format?: (d: Date) => string;
3200
+ /** Disable interaction and dim the control. */
2991
3201
  disabled?: boolean;
3202
+ /** Validation message — shown under the control; also flags it red and sets aria-invalid. */
2992
3203
  errorMessage?: React__default.ReactNode;
2993
3204
  /** Contextual help revealed via an info icon + tooltip beside the label. */
2994
3205
  helperText?: React__default.ReactNode;
3206
+ /** Show a required asterisk after the label. */
2995
3207
  required?: boolean;
3208
+ /** Inline style applied to the control shell. */
2996
3209
  style?: React__default.CSSProperties;
2997
3210
  }
2998
3211
  /**
@@ -3017,21 +3230,31 @@ declare function DateRangePicker({ value, onChange, label, htmlFor, placeholder,
3017
3230
  interface ColorPickerProps {
3018
3231
  /** Hex string, e.g. `"#0466c8"`. */
3019
3232
  value?: string;
3233
+ /** Fires when the value changes. */
3020
3234
  onChange?: (hex: string) => void;
3235
+ /** Field label, placed above (vertical) or beside (horizontal) the control. */
3021
3236
  label?: React__default.ReactNode;
3237
+ /** The control id; the field label links to it for accessibility. */
3022
3238
  htmlFor?: string;
3239
+ /** Native form field name (used for FormData serialisation). */
3023
3240
  name?: string;
3241
+ /** Label/control orientation: 'horizontal' or 'vertical'. */
3024
3242
  layout?: 'horizontal' | 'vertical';
3243
+ /** Size preset — controls height, padding, and font. Default 'md'. */
3025
3244
  size?: FieldSize;
3026
3245
  /** Preset swatches shown in the popover. Defaults to a balanced 12-color set. */
3027
3246
  swatches?: string[];
3028
3247
  /** Show the native eyedropper / full picker fallback via `<input type="color">`. Default `true`. */
3029
3248
  allowCustom?: boolean;
3249
+ /** Disable interaction and dim the control. */
3030
3250
  disabled?: boolean;
3251
+ /** Validation message — shown under the control; also flags it red and sets aria-invalid. */
3031
3252
  errorMessage?: React__default.ReactNode;
3032
3253
  /** Contextual help revealed via an info icon + tooltip beside the label. */
3033
3254
  helperText?: React__default.ReactNode;
3255
+ /** Show a required asterisk after the label. */
3034
3256
  required?: boolean;
3257
+ /** Placeholder shown when the field is empty. */
3035
3258
  placeholder?: string;
3036
3259
  }
3037
3260
  /**
@@ -3213,7 +3436,10 @@ interface UseFormReturn {
3213
3436
  isValid: boolean;
3214
3437
  getValue: (name: string) => unknown;
3215
3438
  getValues: () => FormValues;
3216
- setValue: (name: string, value: unknown) => void;
3439
+ setValue: (name: string, value: unknown, opts?: {
3440
+ validate?: boolean;
3441
+ touch?: boolean;
3442
+ }) => void;
3217
3443
  setValues: (patch: FormValues) => void;
3218
3444
  setError: (name: string, error: string | undefined) => void;
3219
3445
  validateField: (name: string) => Promise<string | undefined>;
@@ -3360,4 +3586,98 @@ declare const FormContext: React$1.Context<FormStore>;
3360
3586
  /** Read the enclosing `<Form>`'s store. Throws if used outside a `<Form>`. */
3361
3587
  declare function useFormStore(): FormStore;
3362
3588
 
3363
- 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 ErrorMap, type ExpandRowOptions, FadingBase, type FadingBaseProps, Field, type FieldArrayItem, type FieldBindings, FieldHelpIcon, type FieldKind, FieldLabel, type FieldLabelProps, type FieldProps, type FieldRule, type FieldRules, type FieldShellOptions, type FieldSize, type FieldSnapshot, FileInput, type FileInputProps, Flex, type FlexAlign, type FlexDirection, type FlexJustify, type FlexProps, type FlexWrap, Form, FormContext, FormField, type FormFieldProps, type FormProps, FormStore, type FormStoreOptions, type FormValues, 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, type RulesMap, 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, type UseFieldArrayReturn, type UseFormFieldOptions, type UseFormReturn, type ValidateTrigger, Wizard, type WizardProps, type WizardStep, fieldShell, isRequired, patterns, runFieldRules, useFieldArray, useForm, useFormField, useFormStore, useNotification };
3589
+ /** The normalised value emitted on change / submit. */
3590
+ interface CreditCardValue {
3591
+ /** Digits only (no spaces). */
3592
+ number: string;
3593
+ /** Cardholder name. */
3594
+ name: string;
3595
+ /** `MM/YY`. */
3596
+ expiry: string;
3597
+ /** Digits only. */
3598
+ cvv: string;
3599
+ /** Detected brand id (`'visa'`, `'amex'`…) or `null`. */
3600
+ brand: string | null;
3601
+ }
3602
+ interface CreditCardFormProps {
3603
+ /** Called with the validated card once every field passes on submit. */
3604
+ onSubmit?: (card: CreditCardValue) => void | Promise<void>;
3605
+ /** Called on every keystroke with the current (possibly invalid) card. */
3606
+ onChange?: (card: CreditCardValue) => void;
3607
+ /** Seed the fields (uncontrolled). Number/expiry are auto-formatted. */
3608
+ defaultValue?: Partial<CreditCardValue>;
3609
+ /** Size preset for the inner fields. Default `'md'`. */
3610
+ size?: FieldSize;
3611
+ /** Disable every field + the submit button. */
3612
+ disabled?: boolean;
3613
+ /** Require the cardholder name. Default `true`. */
3614
+ requireName?: boolean;
3615
+ /** Hide the built-in submit button (when embedding in a larger form). */
3616
+ hideSubmit?: boolean;
3617
+ /** Submit button label. Default `'Pay'`. */
3618
+ submitLabel?: React__default.ReactNode;
3619
+ /** Extra classes on the root `<form>`. */
3620
+ className?: string;
3621
+ /** Inline style on the root `<form>`. */
3622
+ style?: React__default.CSSProperties;
3623
+ }
3624
+ /**
3625
+ * Unified credit-card form built on the oxygen-ui {@link useForm} Form API.
3626
+ *
3627
+ * One component owns all four fields and their cross-field rules — card number
3628
+ * (brand detection + grouping + Luhn), expiry (`MM/YY`, real month, not past),
3629
+ * CVV (brand-aware length), and cardholder name. It is deliberately NOT shipped
3630
+ * as separate inputs: a CVV or expiry field has no meaning outside a card form.
3631
+ *
3632
+ * Self-contained: render it and handle `onSubmit(card)`; the card is only
3633
+ * delivered once everything validates. Use `onChange` for live updates (e.g. a
3634
+ * card preview) and `hideSubmit` to embed it inside a larger form.
3635
+ *
3636
+ * @example
3637
+ * <CreditCardForm onSubmit={(card) => pay(card)} submitLabel="Pay $49" />
3638
+ */
3639
+ declare function CreditCardForm({ onSubmit, onChange, defaultValue, size, disabled, requireName, hideSubmit, submitLabel, className, style, }: CreditCardFormProps): react_jsx_runtime.JSX.Element;
3640
+
3641
+ /**
3642
+ * Zero-dependency credit-card helpers: brand detection, Luhn checksum, and
3643
+ * display formatting. Pure functions — no React, no deps — so they're unit
3644
+ * testable and reusable.
3645
+ */
3646
+ interface CardBrand {
3647
+ /** Stable id, e.g. `'visa'`. */
3648
+ id: string;
3649
+ /** Human label, e.g. `'Visa'`. */
3650
+ label: string;
3651
+ /** Short badge text, e.g. `'VISA'`. */
3652
+ short: string;
3653
+ /** Accent colour for the brand badge (hex). */
3654
+ color: string;
3655
+ /** Matches the leading digits of the card number. */
3656
+ pattern: RegExp;
3657
+ /** Valid total digit lengths for this brand. */
3658
+ lengths: number[];
3659
+ /** Expected CVV length (3 for most, 4 for Amex). */
3660
+ cvv: number;
3661
+ /** Zero-based digit indices to insert a space before (grouping). */
3662
+ gaps: number[];
3663
+ }
3664
+ /** Recognised brands, in match-priority order. */
3665
+ declare const CARD_BRANDS: CardBrand[];
3666
+ /** Strip everything but digits. */
3667
+ declare const onlyDigits: (s: string) => string;
3668
+ /** Detect the card brand from a (possibly partial) number. `null` if unknown. */
3669
+ declare function detectBrand(value: string): CardBrand | null;
3670
+ /** Luhn (mod-10) checksum — the standard card-number integrity check. */
3671
+ declare function luhnValid(value: string): boolean;
3672
+ /** Format a card number with brand-aware grouping (e.g. `4242 4242 4242 4242`). */
3673
+ declare function formatCardNumber(value: string): string;
3674
+ /** Validate a card number: known brand, complete length, passing Luhn. */
3675
+ declare function cardNumberError(value: string): string | undefined;
3676
+ /** Format expiry keystrokes into `MM/YY`, auto-padding the month and slashing. */
3677
+ declare function formatExpiry(value: string): string;
3678
+ /** Validate `MM/YY`: well-formed, real month, not in the past. */
3679
+ declare function expiryError(value: string, now?: Date): string | undefined;
3680
+ /** Validate the CVV against the detected brand's expected length. */
3681
+ declare function cvvError(value: string, cardNumber: string): string | undefined;
3682
+
3683
+ 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, CARD_BRANDS, type CardBrand, Catalog, CatalogCarousel, type CatalogCarouselProps, CatalogGrid, type CatalogGridProps, type CatalogProps, Checkbox, type CheckboxProps, ColorPicker, type ColorPickerProps, ContextMenu, type ContextMenuActionItem, type ContextMenuPosition, type ContextMenuProps, CreditCardForm, type CreditCardFormProps, type CreditCardValue, type DatePickerProps, type DateRange, DateRangePicker, type DateRangePickerProps, type DateRangePreset, Drawer, type DrawerProps, Dropdown, type DropdownItem, type DropdownProps, type ErrorMap, type ExpandRowOptions, FadingBase, type FadingBaseProps, Field, type FieldArrayItem, type FieldBindings, FieldHelpIcon, type FieldKind, FieldLabel, type FieldLabelProps, type FieldProps, type FieldRule, type FieldRules, type FieldShellOptions, type FieldSize, type FieldSnapshot, FileInput, type FileInputProps, Flex, type FlexAlign, type FlexDirection, type FlexJustify, type FlexProps, type FlexWrap, Form, FormContext, FormField, type FormFieldProps, type FormProps, FormStore, type FormStoreOptions, type FormValues, 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, type RulesMap, 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, type UseFieldArrayReturn, type UseFormFieldOptions, type UseFormReturn, type ValidateTrigger, Wizard, type WizardProps, type WizardStep, cardNumberError, cvvError, detectBrand, expiryError, fieldShell, formatCardNumber, formatExpiry, isRequired, luhnValid, onlyDigits, patterns, runFieldRules, useFieldArray, useForm, useFormField, useFormStore, useNotification };