@geomak/ui 5.1.0 → 5.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -1384,6 +1384,16 @@ interface TableProps<T extends Record<string, any> = Record<string, any>> {
1384
1384
  hasSearch?: boolean;
1385
1385
  footer?: React$1.ReactNode;
1386
1386
  header?: React$1.ReactNode;
1387
+ /**
1388
+ * When `true`, the body renders skeleton rows (one per column with the
1389
+ * shared shimmer animation) instead of data. Use during initial data
1390
+ * fetch, server-side pagination transitions, or any time the dataset is
1391
+ * not yet ready. Combine with `pagination.serverSide` for the canonical
1392
+ * "loading next page" pattern.
1393
+ */
1394
+ loading?: boolean;
1395
+ /** Number of skeleton rows to render when `loading` is true. Default `8`. */
1396
+ loadingRowCount?: number;
1387
1397
  }
1388
1398
  /** ─────────────────── main component ─────────────────── */
1389
1399
  /**
@@ -1426,7 +1436,7 @@ interface TableProps<T extends Record<string, any> = Record<string, any>> {
1426
1436
  * />
1427
1437
  * ```
1428
1438
  */
1429
- declare function Table<T extends Record<string, any> = Record<string, any>>({ columns, rows, getRowKey, pagination, expandRow, hasSearch, footer, header, }: TableProps<T>): react_jsx_runtime.JSX.Element;
1439
+ declare function Table<T extends Record<string, any> = Record<string, any>>({ columns, rows, getRowKey, pagination, expandRow, hasSearch, footer, header, loading, loadingRowCount, }: TableProps<T>): react_jsx_runtime.JSX.Element;
1430
1440
 
1431
1441
  interface ThemeSwitchProps {
1432
1442
  checked: boolean;
@@ -1828,6 +1838,76 @@ interface ButtonProps {
1828
1838
  */
1829
1839
  declare function Button({ content, variant, size, buttonType, loading, disabled, style, icon, onClick, }: ButtonProps): react_jsx_runtime.JSX.Element;
1830
1840
 
1841
+ /**
1842
+ * Shared field foundation for all oxygen-ui inputs.
1843
+ *
1844
+ * Centralises the things every input must agree on:
1845
+ * - the **size scale** (sm / md / lg) → control height + text size + padding
1846
+ * - the **refined focus treatment** — a crisp 1px accent border plus a soft
1847
+ * 3px low-opacity halo (NOT a heavy solid ring band)
1848
+ * - the **resting / hover / error / disabled** border + background states
1849
+ * - a **`<Field>` wrapper** handling label, error region, layout
1850
+ * (horizontal / vertical) and `aria` linkage consistently
1851
+ *
1852
+ * All values map to design-system tokens (control heights, semantic colours,
1853
+ * radii) so a consumer's ThemeProvider override flows straight through.
1854
+ */
1855
+ type FieldSize = 'sm' | 'md' | 'lg';
1856
+ interface FieldShellOptions {
1857
+ size?: FieldSize;
1858
+ hasError?: boolean;
1859
+ disabled?: boolean;
1860
+ /**
1861
+ * `true` for wrapper elements that hold a real `<input>` inside
1862
+ * (focus-within), `false` for elements that are themselves focusable
1863
+ * like `<button>` triggers (focus-visible). Default `false`.
1864
+ */
1865
+ focusWithin?: boolean;
1866
+ /** Append height/padding utilities (for single-line inputs). Default `true`. */
1867
+ sized?: boolean;
1868
+ }
1869
+ /**
1870
+ * Compose the className for an input's outer "shell" — the bordered, rounded
1871
+ * box that carries the focus ring. Apply to the `<input>` directly, or to a
1872
+ * wrapper `<div>` that contains an input plus adornments (pass
1873
+ * `focusWithin: true` in that case).
1874
+ */
1875
+ declare function fieldShell({ size, hasError, disabled, focusWithin, sized, }?: FieldShellOptions): string;
1876
+ interface FieldProps {
1877
+ label?: React$1.ReactNode;
1878
+ /** `id` of the control — links the `<label htmlFor>`. */
1879
+ htmlFor?: string;
1880
+ /** `id` for the error region — pair with `aria-describedby` on the control. */
1881
+ errorId?: string;
1882
+ errorMessage?: React$1.ReactNode;
1883
+ /** Orientation of label vs control. Default `'vertical'`. */
1884
+ layout?: 'horizontal' | 'vertical';
1885
+ /** Show a required asterisk after the label. */
1886
+ required?: boolean;
1887
+ labelStyle?: React$1.CSSProperties;
1888
+ /** Width of the label column in horizontal layout (CSS length). */
1889
+ labelWidth?: string | number;
1890
+ className?: string;
1891
+ /** The control itself (input / trigger / dropzone). */
1892
+ children: React$1.ReactNode;
1893
+ }
1894
+ /**
1895
+ * Layout wrapper shared by every input. Renders:
1896
+ *
1897
+ * ```
1898
+ * vertical: horizontal:
1899
+ * [label] [label] [ control ]
1900
+ * [ control ] [ error message ]
1901
+ * [ error ]
1902
+ * ```
1903
+ *
1904
+ * The error message always sits under the **control only** (never spanning
1905
+ * the label in horizontal layout). Label uses full-contrast foreground +
1906
+ * medium weight so it reads as the anchor, while the input's placeholder is
1907
+ * muted — establishing hierarchy without making the label tiny.
1908
+ */
1909
+ declare function Field({ label, htmlFor, errorId, errorMessage, layout, required, labelStyle, labelWidth, className, children, }: FieldProps): react_jsx_runtime.JSX.Element;
1910
+
1831
1911
  interface TextInputProps {
1832
1912
  value?: string;
1833
1913
  onChange?: React$1.ChangeEventHandler<HTMLInputElement>;
@@ -1836,19 +1916,46 @@ interface TextInputProps {
1836
1916
  htmlFor?: string;
1837
1917
  placeholder?: string;
1838
1918
  name?: string;
1919
+ /** Native input type. Defaults to `'text'`. */
1920
+ type?: 'text' | 'email' | 'url' | 'tel';
1839
1921
  inputStyle?: React$1.CSSProperties;
1840
1922
  style?: React$1.CSSProperties;
1841
- /** Label/input orientation. Defaults to `'horizontal'`. */
1923
+ /** Label/input orientation. Defaults to `'vertical'`. */
1842
1924
  layout?: 'horizontal' | 'vertical';
1925
+ /** Size preset — controls height, padding, and font. Default `'md'`. */
1926
+ size?: FieldSize;
1843
1927
  onBlur?: React$1.FocusEventHandler<HTMLInputElement>;
1844
1928
  errorMessage?: React$1.ReactNode;
1845
- labelColor?: string;
1929
+ /** Mark the field required (renders an asterisk after the label). */
1930
+ required?: boolean;
1931
+ /** Optional leading adornment (icon / prefix). */
1932
+ prefix?: React$1.ReactNode;
1933
+ /** Optional trailing adornment (icon / suffix / unit). */
1934
+ suffix?: React$1.ReactNode;
1846
1935
  id?: string;
1847
1936
  }
1848
1937
  /**
1849
- * Standard text input with label and validation message.
1938
+ * Single-line text input. Full-width by default (responsive) — constrain it
1939
+ * with the parent layout or `style={{ maxWidth }}`. Supports an optional
1940
+ * leading `prefix` and trailing `suffix` adornment (icon, unit, etc.).
1941
+ *
1942
+ * @example
1943
+ * ```tsx
1944
+ * <TextInput label="Vessel name" value={name} onChange={(e) => setName(e.target.value)} />
1945
+ * ```
1946
+ *
1947
+ * @example With adornment + error
1948
+ * ```tsx
1949
+ * <TextInput
1950
+ * label="IMO"
1951
+ * prefix={<HashIcon />}
1952
+ * value={imo}
1953
+ * onChange={onChange}
1954
+ * errorMessage={touched && !valid ? 'Invalid IMO number' : undefined}
1955
+ * />
1956
+ * ```
1850
1957
  */
1851
- declare function TextInput({ value, onChange, disabled, label, htmlFor, placeholder, name, inputStyle, style, layout, onBlur, errorMessage, labelColor, }: TextInputProps): react_jsx_runtime.JSX.Element;
1958
+ declare function TextInput({ value, onChange, disabled, label, htmlFor, placeholder, name, type, inputStyle, style, layout, size, onBlur, errorMessage, required, prefix, suffix, }: TextInputProps): react_jsx_runtime.JSX.Element;
1852
1959
 
1853
1960
  interface NumberInputProps {
1854
1961
  /** Step size for the up/down buttons and native arrow-key handling. Default `1`. */
@@ -1867,9 +1974,12 @@ interface NumberInputProps {
1867
1974
  htmlFor?: string;
1868
1975
  name?: string;
1869
1976
  disabled?: boolean;
1870
- /** Label/input orientation. Defaults to `'horizontal'`. */
1977
+ /** Label/input orientation. Defaults to `'vertical'`. */
1871
1978
  layout?: 'horizontal' | 'vertical';
1979
+ /** Size preset. Default `'md'`. */
1980
+ size?: FieldSize;
1872
1981
  errorMessage?: React$1.ReactNode;
1982
+ required?: boolean;
1873
1983
  inputStyle?: React$1.CSSProperties;
1874
1984
  labelStyle?: React$1.CSSProperties;
1875
1985
  placeholder?: string;
@@ -1912,7 +2022,7 @@ interface NumberInputProps {
1912
2022
  * <NumberInput label="Tonnage" step={0.25} precision={2} />
1913
2023
  * ```
1914
2024
  */
1915
- declare function NumberInput({ step, value, onChange, label, htmlFor, name, disabled, layout, errorMessage, inputStyle, labelStyle, placeholder, style, min, max, readOnly, precision, }: NumberInputProps): react_jsx_runtime.JSX.Element;
2025
+ declare function NumberInput({ step, value, onChange, label, htmlFor, name, disabled, layout, size, errorMessage, required, inputStyle, labelStyle, placeholder, style, min, max, readOnly, precision, }: NumberInputProps): react_jsx_runtime.JSX.Element;
1916
2026
 
1917
2027
  interface PasswordProps {
1918
2028
  value?: string;
@@ -1924,17 +2034,28 @@ interface PasswordProps {
1924
2034
  name?: string;
1925
2035
  inputStyle?: React$1.CSSProperties;
1926
2036
  style?: React$1.CSSProperties;
1927
- /** Label/input orientation. Defaults to `'horizontal'`. */
2037
+ /** Label/input orientation. Defaults to `'vertical'`. */
1928
2038
  layout?: 'horizontal' | 'vertical';
2039
+ /** Size preset — controls height, padding, and font. Default `'md'`. */
2040
+ size?: FieldSize;
1929
2041
  onBlur?: React$1.FocusEventHandler<HTMLInputElement>;
1930
2042
  errorMessage?: React$1.ReactNode;
1931
- labelColor?: string;
1932
- iconColor?: string;
2043
+ required?: boolean;
2044
+ /** Override the "reveal" (password hidden) icon. */
2045
+ showIcon?: React$1.ReactNode;
2046
+ /** Override the "hide" (password visible) icon. */
2047
+ hideIcon?: React$1.ReactNode;
1933
2048
  }
1934
2049
  /**
1935
- * Password input with show/hide toggle.
2050
+ * Password input with a show/hide reveal toggle. Full-width by default.
2051
+ * The reveal/hide icons can be overridden via `showIcon` / `hideIcon`.
2052
+ *
2053
+ * @example
2054
+ * ```tsx
2055
+ * <Password label="Password" value={pw} onChange={(e) => setPw(e.target.value)} />
2056
+ * ```
1936
2057
  */
1937
- declare function Password({ value, onChange, disabled, label, htmlFor, placeholder, name, inputStyle, style, layout, onBlur, errorMessage, labelColor, iconColor, }: PasswordProps): react_jsx_runtime.JSX.Element;
2058
+ declare function Password({ value, onChange, disabled, label, htmlFor, placeholder, name, inputStyle, style, layout, size, onBlur, errorMessage, required, showIcon, hideIcon, }: PasswordProps): react_jsx_runtime.JSX.Element;
1938
2059
 
1939
2060
  interface SearchInputProps {
1940
2061
  value?: string;
@@ -1948,9 +2069,20 @@ interface SearchInputProps {
1948
2069
  style?: React$1.CSSProperties;
1949
2070
  /** Label/input orientation. Defaults to `'vertical'`. */
1950
2071
  layout?: 'horizontal' | 'vertical';
2072
+ /** Size preset. Default `'md'`. */
2073
+ size?: FieldSize;
2074
+ /** Override the leading search icon. */
2075
+ icon?: React$1.ReactNode;
1951
2076
  }
1952
2077
  /**
1953
- * Search text field with a magnifier icon on the right.
2078
+ * Search field with a leading magnifier icon. Uses `type="search"` for the
2079
+ * native clear affordance and a search-friendly mobile keyboard. Full-width
2080
+ * by default. Override the icon via `icon`.
2081
+ *
2082
+ * @example
2083
+ * ```tsx
2084
+ * <SearchInput value={q} onChange={(e) => setQ(e.target.value)} placeholder="Search vessels…" />
2085
+ * ```
1954
2086
  */
1955
2087
  declare const SearchInput: React$1.ForwardRefExoticComponent<SearchInputProps & React$1.RefAttributes<HTMLInputElement>>;
1956
2088
 
@@ -1990,6 +2122,58 @@ interface CheckboxProps {
1990
2122
  declare function Checkbox({ checked, value, // legacy alias
1991
2123
  onChange, label, name, htmlFor, errorMessage, disabled, }: CheckboxProps): react_jsx_runtime.JSX.Element;
1992
2124
 
2125
+ interface RadioOption {
2126
+ /** Stable value submitted / reported on change. */
2127
+ value: string;
2128
+ /** Main label text. */
2129
+ label: React$1.ReactNode;
2130
+ /** Optional secondary description rendered under the label. */
2131
+ description?: React$1.ReactNode;
2132
+ /** Disable this option only. */
2133
+ disabled?: boolean;
2134
+ }
2135
+ interface RadioGroupProps {
2136
+ options: RadioOption[];
2137
+ /** Controlled selected value. */
2138
+ value?: string;
2139
+ /** Uncontrolled initial value. */
2140
+ defaultValue?: string;
2141
+ onChange?: (value: string) => void;
2142
+ name?: string;
2143
+ label?: React$1.ReactNode;
2144
+ /** Group orientation. Default `'vertical'`. */
2145
+ orientation?: 'vertical' | 'horizontal';
2146
+ /** Size preset — controls the dot + text size. Default `'md'`. */
2147
+ size?: FieldSize;
2148
+ disabled?: boolean;
2149
+ required?: boolean;
2150
+ errorMessage?: React$1.ReactNode;
2151
+ }
2152
+ /**
2153
+ * Radio group built on `@radix-ui/react-radio-group`. Each option can carry
2154
+ * a `description`, and options can be disabled individually. Radix handles
2155
+ * arrow-key roving focus, `role="radiogroup"`, and selection semantics.
2156
+ *
2157
+ * Form-friendly: pass `name` for native form serialisation, `errorMessage`
2158
+ * for validation, `required` for the asterisk + `aria-required`.
2159
+ *
2160
+ * @example
2161
+ * ```tsx
2162
+ * <RadioGroup
2163
+ * label="Notification frequency"
2164
+ * name="freq"
2165
+ * value={freq}
2166
+ * onChange={setFreq}
2167
+ * options={[
2168
+ * { value: 'realtime', label: 'Real-time', description: 'Notify me immediately' },
2169
+ * { value: 'daily', label: 'Daily digest' },
2170
+ * { value: 'off', label: 'Off', disabled: true },
2171
+ * ]}
2172
+ * />
2173
+ * ```
2174
+ */
2175
+ declare function RadioGroup({ options, value, defaultValue, onChange, name, label, orientation, size, disabled, required, errorMessage, }: RadioGroupProps): react_jsx_runtime.JSX.Element;
2176
+
1993
2177
  interface SwitchInputProps {
1994
2178
  checked?: boolean;
1995
2179
  onChange?: (e: {
@@ -2061,6 +2245,8 @@ interface DropdownProps {
2061
2245
  items?: DropdownItem[];
2062
2246
  labelStyle?: React$1.CSSProperties;
2063
2247
  placeholder?: string;
2248
+ /** Size preset. Default `'md'`. */
2249
+ size?: FieldSize;
2064
2250
  }
2065
2251
  /**
2066
2252
  * Select / multi-select dropdown powered by Radix Popover.
@@ -2077,7 +2263,7 @@ interface DropdownProps {
2077
2263
  * // Multi-select
2078
2264
  * <Dropdown isMultiselect label="Fuels" items={fuels} value={form.fuels} onChange={handleChange} />
2079
2265
  */
2080
- declare function Dropdown({ isMultiselect, hasSearch, label, name, value, onChange, disabled, layout, errorMessage, style, htmlFor, items, labelStyle, placeholder, showSelectedCount, }: DropdownProps): react_jsx_runtime.JSX.Element;
2266
+ declare function Dropdown({ isMultiselect, hasSearch, label, name, value, onChange, disabled, layout, errorMessage, style, htmlFor, items, labelStyle, placeholder, showSelectedCount, size, }: DropdownProps): react_jsx_runtime.JSX.Element;
2081
2267
 
2082
2268
  interface AutoCompleteItem {
2083
2269
  key: string;
@@ -2094,25 +2280,71 @@ interface AutoCompleteProps {
2094
2280
  style?: React$1.CSSProperties;
2095
2281
  /** Label/input orientation. Defaults to `'vertical'`. */
2096
2282
  layout?: 'horizontal' | 'vertical';
2283
+ /**
2284
+ * Static list — when provided, the component does its own substring
2285
+ * filtering on `label` and `key`. Mutually exclusive with `onSearch`.
2286
+ */
2097
2287
  items?: AutoCompleteItem[];
2288
+ /**
2289
+ * Async resolver — when provided, `items` is ignored and `onSearch(term)`
2290
+ * is called (debounced) every time the user pauses typing. Its returned
2291
+ * promise drives the option list. The component manages an internal
2292
+ * `loading` state and shows an `xs` LoadingSpinner where the search icon
2293
+ * normally lives while a query is in flight.
2294
+ */
2295
+ onSearch?: (term: string) => Promise<AutoCompleteItem[]>;
2296
+ /**
2297
+ * Debounce delay (ms) before `onSearch` fires after the user stops
2298
+ * typing. Default `250`. Ignored when `items` is used.
2299
+ */
2300
+ debounce?: number;
2098
2301
  onItemClick?: (value: string) => void;
2099
2302
  /** Custom "empty" message */
2100
2303
  emptyText?: string;
2304
+ /** Custom "loading" message — shown in async mode while a query is in flight. */
2305
+ loadingText?: string;
2306
+ /** Size preset. Default `'md'`. */
2307
+ size?: FieldSize;
2308
+ /** Override the leading search icon (hidden while loading). */
2309
+ icon?: React$1.ReactNode;
2101
2310
  }
2102
2311
  /**
2103
- * Search-as-you-type autocomplete powered by Radix Popover.
2312
+ * Search-as-you-type autocomplete powered by Radix Popover. Supports two
2313
+ * modes:
2314
+ *
2315
+ * - **Static**: pass `items` — the component substring-filters locally.
2316
+ * Best for small fixed lists (≤ 200 entries).
2317
+ * - **Async**: pass `onSearch(term) => Promise<Item[]>` — the component
2318
+ * debounces input and drives the option list from the resolver. Shows
2319
+ * an `xs` LoadingSpinner while the query is in flight.
2104
2320
  *
2105
2321
  * The popover opens when the input is focused and closes when an item is
2106
- * selected or the user clicks away. Radix handles portal-based z-stacking.
2322
+ * selected or the user clicks away.
2107
2323
  *
2108
- * @example
2324
+ * @example Static (small fixed list)
2325
+ * ```tsx
2109
2326
  * <AutoComplete
2110
2327
  * label="Vessel"
2111
- * items={vessels.map(v => ({ key: v.imo, value: v.imo, label: v.name }))}
2328
+ * items={vessels.map((v) => ({ key: v.imo, value: v.imo, label: v.name }))}
2112
2329
  * onItemClick={(imo) => setVessel(imo)}
2113
2330
  * />
2331
+ * ```
2332
+ *
2333
+ * @example Async (server-backed)
2334
+ * ```tsx
2335
+ * <AutoComplete
2336
+ * label="Port"
2337
+ * debounce={300}
2338
+ * onSearch={async (term) => {
2339
+ * const res = await fetch(`/api/ports?q=${encodeURIComponent(term)}`)
2340
+ * const data = await res.json()
2341
+ * return data.map((p) => ({ key: p.unlocode, value: p.unlocode, label: p.name }))
2342
+ * }}
2343
+ * onItemClick={(unlocode) => setPort(unlocode)}
2344
+ * />
2345
+ * ```
2114
2346
  */
2115
- declare function AutoComplete({ disabled, label, placeholder, name, inputStyle, style, layout, items, onItemClick, emptyText, }: AutoCompleteProps): react_jsx_runtime.JSX.Element;
2347
+ declare function AutoComplete({ disabled, label, placeholder, name, inputStyle, style, layout, items, onSearch, debounce, onItemClick, emptyText, loadingText, size, icon, }: AutoCompleteProps): react_jsx_runtime.JSX.Element;
2116
2348
 
2117
2349
  interface TreeSelectNode {
2118
2350
  key: string | number;
@@ -2153,6 +2385,8 @@ interface TreeSelectProps {
2153
2385
  parentsSelectable?: boolean;
2154
2386
  /** Keys of nodes that should start expanded. */
2155
2387
  defaultExpandedKeys?: (string | number)[];
2388
+ /** Size preset. Default `'md'`. */
2389
+ size?: FieldSize;
2156
2390
  }
2157
2391
  /**
2158
2392
  * Hierarchical single-select with expandable branches.
@@ -2191,7 +2425,7 @@ interface TreeSelectProps {
2191
2425
  * />
2192
2426
  * ```
2193
2427
  */
2194
- declare function TreeSelect({ label, name, value, onChange, disabled, layout, errorMessage, style, htmlFor, items, placeholder, parentsSelectable, defaultExpandedKeys, }: TreeSelectProps): react_jsx_runtime.JSX.Element;
2428
+ declare function TreeSelect({ label, name, value, onChange, disabled, layout, errorMessage, style, htmlFor, items, placeholder, parentsSelectable, defaultExpandedKeys, size, }: TreeSelectProps): react_jsx_runtime.JSX.Element;
2195
2429
 
2196
2430
  interface FileInputProps {
2197
2431
  allowMultiple?: boolean;
@@ -2204,22 +2438,43 @@ interface FileInputProps {
2204
2438
  };
2205
2439
  }) => void;
2206
2440
  name?: string;
2207
- /** Accepted MIME types / extensions */
2441
+ htmlFor?: string;
2442
+ label?: React$1.ReactNode;
2443
+ /** Accepted MIME types / extensions, e.g. `'.xlsx,application/pdf'`. */
2208
2444
  accept?: string;
2445
+ /** Primary call-to-action copy. Default `'Click to upload or drag and drop'`. */
2446
+ prompt?: React$1.ReactNode;
2447
+ /** Secondary hint under the prompt — typically the accepted types / max size. */
2448
+ hint?: React$1.ReactNode;
2449
+ /** Maximum file size in bytes. Files above this are rejected with an error. */
2450
+ maxSize?: number;
2451
+ errorMessage?: React$1.ReactNode;
2452
+ disabled?: boolean;
2453
+ required?: boolean;
2454
+ /** Override the upload glyph in the empty state. */
2455
+ icon?: React$1.ReactNode;
2209
2456
  }
2210
2457
  /**
2211
- * Drag-and-drop / click file input.
2458
+ * Drag-and-drop file input with an enterprise dropzone aesthetic: a calm
2459
+ * dashed surface with a contained icon badge, primary + secondary copy, an
2460
+ * accent-tinted drag-over state, and selected files shown as horizontal chips
2461
+ * with name + size and a remove button.
2212
2462
  *
2213
- * Decoupled from ThemeContext uses CSS `dark:` classes.
2463
+ * Keyboard-accessible (the dropzone is a `role="button"` activatable via
2464
+ * Enter / Space) and form-friendly (`errorMessage`, `required`, `name`).
2214
2465
  *
2215
2466
  * @example
2467
+ * ```tsx
2216
2468
  * <FileInput
2217
- * name="xlsxUpload"
2218
- * accept=".xlsx"
2469
+ * label="Crew manifest"
2470
+ * accept=".xlsx,.csv"
2471
+ * hint="XLSX or CSV, up to 5 MB"
2472
+ * maxSize={5 * 1024 * 1024}
2219
2473
  * onChange={(e) => setFile(e.target.files[0])}
2220
2474
  * />
2475
+ * ```
2221
2476
  */
2222
- declare function FileInput({ allowMultiple, onChange, name, accept, }: FileInputProps): react_jsx_runtime.JSX.Element;
2477
+ declare function FileInput({ allowMultiple, onChange, name, htmlFor, label, accept, prompt, hint, maxSize, errorMessage, disabled, required, icon, }: FileInputProps): react_jsx_runtime.JSX.Element;
2223
2478
 
2224
2479
  interface DatePickerProps {
2225
2480
  /** Current date. `null` / `undefined` means "no date selected". */
@@ -2249,6 +2504,8 @@ interface DatePickerProps {
2249
2504
  weekStartsOn?: 0 | 1;
2250
2505
  /** Allow the user to clear the date with a button in the popover. Default `true`. */
2251
2506
  clearable?: boolean;
2507
+ /** Size preset. Default `'md'`. */
2508
+ size?: FieldSize;
2252
2509
  }
2253
2510
  type TemporalPickerProps = DatePickerProps;
2254
2511
  /**
@@ -2286,6 +2543,6 @@ type TemporalPickerProps = DatePickerProps;
2286
2543
  * />
2287
2544
  * ```
2288
2545
  */
2289
- declare function DatePicker({ value, onChange, label, placeholder, htmlFor, name: _name, layout, disabled, errorMessage, min, max, style, format, weekStartsOn, clearable, }: DatePickerProps): react_jsx_runtime.JSX.Element;
2546
+ declare function DatePicker({ value, onChange, label, placeholder, htmlFor, name: _name, layout, disabled, errorMessage, min, max, style, format, weekStartsOn, clearable, size, }: DatePickerProps): react_jsx_runtime.JSX.Element;
2290
2547
 
2291
- 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, ContextMenu, type ContextMenuActionItem, type ContextMenuPosition, type ContextMenuProps, type DatePickerProps, Drawer, type DrawerProps, Dropdown, type DropdownItem, type DropdownProps, type ExpandRowOptions, FadingBase, type FadingBaseProps, FileInput, type FileInputProps, Flex, type FlexAlign, type FlexDirection, type FlexJustify, type FlexProps, type FlexWrap, Grid, GridCard, type GridCardItem, type GridCardProps, type GridProps, Icon, IconButton, type IconButtonProps, List, type ListItem, type ListProps, LoadingSpinner, type LoadingSpinnerProps, Modal, type ModalProps, type NotificationPayload, NotificationProvider, NumberInput, type NumberInputProps, OpaqueGridCard, type OpaqueGridCardProps, type PaginationOptions, Password, type PasswordProps, Portal, type PortalProps, ScalableContainer, type ScalableContainerProps, SearchInput, type SearchInputProps, Sidebar, type SidebarItem, type SidebarProps, type SidebarSection, SkeletonBox, type SkeletonBoxProps, SkeletonCard, type SkeletonCardProps, SkeletonCircle, type SkeletonCircleProps, SkeletonText, type SkeletonTextProps, type Spacing, Switch, type SwitchInputProps, type TabItem, Table, type TableColumn, type TableProps, Tabs, type TabsProps, DatePicker as Temporal, type TemporalPickerProps, TextInput, type TextInputProps, type ThemeColors, type ThemeConfig, type ThemeDensity, type ThemeMotion, ThemeProvider, type ThemeProviderProps, type ThemeRadius, type ThemeShadows, ThemeSwitch, type ThemeSwitchProps, type ThemeTypography, ToggleButton, type ToggleButtonProps, type ToggleItem, Tooltip, type TooltipProps, TooltipProvider, TopBar, type TopBarProps, Tree, type TreeItemClickPayload, type TreeNode, type TreeProps, TreeSelect, type TreeSelectProps, Typography, type TypographyAlign, type TypographyColor, type TypographyProps, type TypographyVariant, type TypographyWeight, Wizard, type WizardProps, type WizardStep, useNotification };
2548
+ 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, ContextMenu, type ContextMenuActionItem, type ContextMenuPosition, type ContextMenuProps, type DatePickerProps, Drawer, type DrawerProps, Dropdown, type DropdownItem, type DropdownProps, type ExpandRowOptions, FadingBase, type FadingBaseProps, Field, type FieldProps, type FieldShellOptions, type FieldSize, FileInput, type FileInputProps, Flex, type FlexAlign, type FlexDirection, type FlexJustify, type FlexProps, type FlexWrap, Grid, GridCard, type GridCardItem, type GridCardProps, type GridProps, Icon, IconButton, type IconButtonProps, List, type ListItem, type ListProps, LoadingSpinner, type LoadingSpinnerProps, Modal, type ModalProps, type NotificationPayload, NotificationProvider, NumberInput, type NumberInputProps, OpaqueGridCard, type OpaqueGridCardProps, type PaginationOptions, Password, type PasswordProps, Portal, type PortalProps, RadioGroup, type RadioGroupProps, type RadioOption, ScalableContainer, type ScalableContainerProps, SearchInput, type SearchInputProps, Sidebar, type SidebarItem, type SidebarProps, type SidebarSection, SkeletonBox, type SkeletonBoxProps, SkeletonCard, type SkeletonCardProps, SkeletonCircle, type SkeletonCircleProps, SkeletonText, type SkeletonTextProps, type Spacing, Switch, type SwitchInputProps, type TabItem, Table, type TableColumn, type TableProps, Tabs, type TabsProps, DatePicker as Temporal, type TemporalPickerProps, TextInput, type TextInputProps, type ThemeColors, type ThemeConfig, type ThemeDensity, type ThemeMotion, ThemeProvider, type ThemeProviderProps, type ThemeRadius, type ThemeShadows, ThemeSwitch, type ThemeSwitchProps, type ThemeTypography, ToggleButton, type ToggleButtonProps, type ToggleItem, Tooltip, type TooltipProps, TooltipProvider, TopBar, type TopBarProps, Tree, type TreeItemClickPayload, type TreeNode, type TreeProps, TreeSelect, type TreeSelectProps, Typography, type TypographyAlign, type TypographyColor, type TypographyProps, type TypographyVariant, type TypographyWeight, Wizard, type WizardProps, type WizardStep, fieldShell, useNotification };