@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.cjs +295 -58
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +338 -18
- package/dist/index.d.ts +338 -18
- package/dist/index.js +286 -59
- package/dist/index.js.map +1 -1
- package/dist/styles.css +30 -52
- package/package.json +1 -1
package/dist/index.d.cts
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 (
|
|
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
|
|
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
|
-
*
|
|
2136
|
-
* -
|
|
2137
|
-
* -
|
|
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
|
-
/**
|
|
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
|
-
*
|
|
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,
|
|
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
|
|
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
|
-
|
|
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 };
|