@geomak/ui 5.4.0 → 5.5.1

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
@@ -2102,6 +2102,18 @@ interface CheckboxProps {
2102
2102
  htmlFor?: string;
2103
2103
  errorMessage?: React$1.ReactNode;
2104
2104
  disabled?: boolean;
2105
+ /**
2106
+ * Box + label arrangement.
2107
+ * - `'horizontal'` (default): box and label on one row.
2108
+ * - `'vertical'`: box and label stacked.
2109
+ */
2110
+ layout?: 'horizontal' | 'vertical';
2111
+ /**
2112
+ * Where the label sits relative to the box.
2113
+ * - In horizontal: `'right'` (default) → box then label; `'left'` → label then box.
2114
+ * - In vertical: `'right'` (default) → box then label below; `'left'` → label above then box.
2115
+ */
2116
+ labelPosition?: 'left' | 'right';
2105
2117
  /** @deprecated Use `checked` */
2106
2118
  value?: boolean;
2107
2119
  }
@@ -2120,7 +2132,7 @@ interface CheckboxProps {
2120
2132
  * />
2121
2133
  */
2122
2134
  declare function Checkbox({ checked, value, // legacy alias
2123
- onChange, label, name, htmlFor, errorMessage, disabled, }: CheckboxProps): react_jsx_runtime.JSX.Element;
2135
+ onChange, label, name, htmlFor, errorMessage, disabled, layout, labelPosition, }: CheckboxProps): react_jsx_runtime.JSX.Element;
2124
2136
 
2125
2137
  interface RadioOption {
2126
2138
  /** Stable value submitted / reported on change. */
@@ -2232,13 +2244,6 @@ interface DropdownProps {
2232
2244
  disabled?: boolean;
2233
2245
  /** Label/input orientation. Defaults to `'vertical'`. */
2234
2246
  layout?: 'horizontal' | 'vertical';
2235
- /**
2236
- * Show a "+N more" pill alongside the first selected item in multiselect
2237
- * mode. Defaults to `false` — a single pill is shown with the first
2238
- * selection and consumers typically open the dropdown to see the rest.
2239
- * Set `true` if you want the count visible on the trigger.
2240
- */
2241
- showSelectedCount?: boolean;
2242
2247
  errorMessage?: React$1.ReactNode;
2243
2248
  style?: React$1.CSSProperties;
2244
2249
  htmlFor?: string;
@@ -2263,7 +2268,7 @@ interface DropdownProps {
2263
2268
  * // Multi-select
2264
2269
  * <Dropdown isMultiselect label="Fuels" items={fuels} value={form.fuels} onChange={handleChange} />
2265
2270
  */
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;
2271
+ declare function Dropdown({ isMultiselect, hasSearch, label, name, value, onChange, disabled, layout, errorMessage, style, htmlFor, items, labelStyle, placeholder, size, }: DropdownProps): react_jsx_runtime.JSX.Element;
2267
2272
 
2268
2273
  interface AutoCompleteItem {
2269
2274
  key: string;
@@ -2307,6 +2312,11 @@ interface AutoCompleteProps {
2307
2312
  size?: FieldSize;
2308
2313
  /** Override the leading search icon (hidden while loading). */
2309
2314
  icon?: React$1.ReactNode;
2315
+ /** Validation message — turns the field red and links via aria-describedby. */
2316
+ errorMessage?: React$1.ReactNode;
2317
+ /** Mark required (asterisk after the label). */
2318
+ required?: boolean;
2319
+ htmlFor?: string;
2310
2320
  }
2311
2321
  /**
2312
2322
  * Search-as-you-type autocomplete powered by Radix Popover. Supports two
@@ -2344,7 +2354,7 @@ interface AutoCompleteProps {
2344
2354
  * />
2345
2355
  * ```
2346
2356
  */
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;
2357
+ declare function AutoComplete({ disabled, label, placeholder, name, inputStyle, style, layout, items, onSearch, debounce, onItemClick, emptyText, loadingText, size, icon, errorMessage, required, htmlFor, }: AutoCompleteProps): react_jsx_runtime.JSX.Element;
2348
2358
 
2349
2359
  interface TreeSelectNode {
2350
2360
  key: string | number;
@@ -2738,4 +2748,185 @@ interface TagsInputProps {
2738
2748
  */
2739
2749
  declare function TagsInput({ value, defaultValue, onChange, label, htmlFor, name, placeholder, layout, size, disabled, errorMessage, required, maxTags, dedupe, validate, separators, }: TagsInputProps): react_jsx_runtime.JSX.Element;
2740
2750
 
2741
- 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, 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, 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 };
2751
+ interface OtpInputProps {
2752
+ /** Number of code boxes. Default `6`. */
2753
+ length?: number;
2754
+ value?: string;
2755
+ onChange?: (code: string) => void;
2756
+ /** Fired when every box is filled. */
2757
+ onComplete?: (code: string) => void;
2758
+ label?: React$1.ReactNode;
2759
+ htmlFor?: string;
2760
+ name?: string;
2761
+ /** `'numeric'` (default) restricts to digits; `'alphanumeric'` allows letters too. */
2762
+ mode?: 'numeric' | 'alphanumeric';
2763
+ /** Render boxes as masked dots (for PIN entry). */
2764
+ masked?: boolean;
2765
+ size?: FieldSize;
2766
+ disabled?: boolean;
2767
+ errorMessage?: React$1.ReactNode;
2768
+ required?: boolean;
2769
+ /** Render a visual gap after this many boxes (e.g. `3` → `123 456`). */
2770
+ groupAfter?: number;
2771
+ }
2772
+ /**
2773
+ * Segmented one-time-code / PIN input. Auto-advances as the user types,
2774
+ * Backspace retreats, and pasting a code spreads it across the boxes. Set
2775
+ * `masked` for PIN entry, `mode="alphanumeric"` for letter codes.
2776
+ *
2777
+ * @example
2778
+ * ```tsx
2779
+ * <OtpInput length={6} value={code} onChange={setCode} onComplete={verify} />
2780
+ * ```
2781
+ */
2782
+ declare function OtpInput({ length, value, onChange, onComplete, label, htmlFor, name, mode, masked, size, disabled, errorMessage, required, groupAfter, }: OtpInputProps): react_jsx_runtime.JSX.Element;
2783
+
2784
+ interface RatingProps {
2785
+ value?: number;
2786
+ defaultValue?: number;
2787
+ onChange?: (value: number) => void;
2788
+ /** Number of icons. Default `5`. */
2789
+ count?: number;
2790
+ /** Allow half-icon precision. Default `false`. */
2791
+ allowHalf?: boolean;
2792
+ /** Read-only display (no hover / click). */
2793
+ readOnly?: boolean;
2794
+ /** Clicking the current value again clears to 0. Default `true`. */
2795
+ clearable?: boolean;
2796
+ label?: React$1.ReactNode;
2797
+ size?: FieldSize;
2798
+ disabled?: boolean;
2799
+ /** Override the icon. Receives a `filled` flag. Default is a star. */
2800
+ icon?: (filled: boolean) => React$1.ReactNode;
2801
+ errorMessage?: React$1.ReactNode;
2802
+ name?: string;
2803
+ }
2804
+ /**
2805
+ * Star (or custom glyph) rating with optional half-steps, hover preview, and
2806
+ * read-only mode. Keyboard accessible: arrow keys adjust, Home/End jump to
2807
+ * min/max.
2808
+ *
2809
+ * @example
2810
+ * ```tsx
2811
+ * <Rating label="Quality" value={rating} onChange={setRating} allowHalf />
2812
+ * ```
2813
+ *
2814
+ * @example Read-only display
2815
+ * ```tsx
2816
+ * <Rating value={4.5} allowHalf readOnly />
2817
+ * ```
2818
+ */
2819
+ declare function Rating({ value, defaultValue, onChange, count, allowHalf, readOnly, clearable, label, size, disabled, icon, errorMessage, name, }: RatingProps): react_jsx_runtime.JSX.Element;
2820
+
2821
+ interface TimePickerProps {
2822
+ /** Value as `"HH:mm"` (24h) or `"HH:mm:ss"`. `null`/`undefined` = unset. */
2823
+ value?: string | null;
2824
+ onChange?: (value: string | null) => void;
2825
+ label?: React$1.ReactNode;
2826
+ htmlFor?: string;
2827
+ name?: string;
2828
+ placeholder?: string;
2829
+ layout?: 'horizontal' | 'vertical';
2830
+ size?: FieldSize;
2831
+ /** Display in 12-hour format with AM/PM (value stays 24h `"HH:mm"`). */
2832
+ use12Hours?: boolean;
2833
+ /** Include a seconds column. Default `false`. */
2834
+ withSeconds?: boolean;
2835
+ /** Minute step. Default `1`. Use `5` / `15` for coarse pickers. */
2836
+ minuteStep?: number;
2837
+ disabled?: boolean;
2838
+ errorMessage?: React$1.ReactNode;
2839
+ required?: boolean;
2840
+ style?: React$1.CSSProperties;
2841
+ }
2842
+ /**
2843
+ * Time picker with scrollable hour / minute (/ second) columns in a popover.
2844
+ * Value is a 24-hour `"HH:mm"` (or `"HH:mm:ss"`) string regardless of whether
2845
+ * the display is 12- or 24-hour, so it's stable to store and submit.
2846
+ *
2847
+ * @example
2848
+ * ```tsx
2849
+ * <TimePicker label="Departure" value={time} onChange={setTime} minuteStep={15} use12Hours />
2850
+ * ```
2851
+ */
2852
+ declare function TimePicker({ value, onChange, label, htmlFor, name, placeholder, layout, size, use12Hours, withSeconds, minuteStep, disabled, errorMessage, required, style, }: TimePickerProps): react_jsx_runtime.JSX.Element;
2853
+
2854
+ interface DateRange {
2855
+ start: Date | null;
2856
+ end: Date | null;
2857
+ }
2858
+ interface DateRangePreset {
2859
+ label: string;
2860
+ /** Returns the range when clicked. */
2861
+ range: () => DateRange;
2862
+ }
2863
+ interface DateRangePickerProps {
2864
+ value?: DateRange;
2865
+ onChange?: (range: DateRange) => void;
2866
+ label?: React$1.ReactNode;
2867
+ htmlFor?: string;
2868
+ placeholder?: string;
2869
+ layout?: 'horizontal' | 'vertical';
2870
+ size?: FieldSize;
2871
+ min?: Date;
2872
+ max?: Date;
2873
+ /** 0 = Sunday, 1 = Monday. Default `0`. */
2874
+ weekStartsOn?: 0 | 1;
2875
+ /** Quick-select presets shown in a rail beside the calendars. */
2876
+ presets?: DateRangePreset[];
2877
+ format?: (d: Date) => string;
2878
+ disabled?: boolean;
2879
+ errorMessage?: React$1.ReactNode;
2880
+ required?: boolean;
2881
+ style?: React$1.CSSProperties;
2882
+ }
2883
+ /**
2884
+ * Two-month range date picker. Click a start date, then an end date; the span
2885
+ * between highlights as you hover. Optional quick-select presets (Today,
2886
+ * Last 7 days, This month, etc.) in a side rail.
2887
+ *
2888
+ * @example
2889
+ * ```tsx
2890
+ * <DateRangePicker
2891
+ * label="Reporting period"
2892
+ * value={range}
2893
+ * onChange={setRange}
2894
+ * presets={[
2895
+ * { label: 'Last 7 days', range: () => ({ start: addDays(new Date(), -6), end: new Date() }) },
2896
+ * ]}
2897
+ * />
2898
+ * ```
2899
+ */
2900
+ declare function DateRangePicker({ value, onChange, label, htmlFor, placeholder, layout, size, min, max, weekStartsOn, presets, format, disabled, errorMessage, required, style, }: DateRangePickerProps): react_jsx_runtime.JSX.Element;
2901
+
2902
+ interface ColorPickerProps {
2903
+ /** Hex string, e.g. `"#0466c8"`. */
2904
+ value?: string;
2905
+ onChange?: (hex: string) => void;
2906
+ label?: React$1.ReactNode;
2907
+ htmlFor?: string;
2908
+ name?: string;
2909
+ layout?: 'horizontal' | 'vertical';
2910
+ size?: FieldSize;
2911
+ /** Preset swatches shown in the popover. Defaults to a balanced 12-color set. */
2912
+ swatches?: string[];
2913
+ /** Show the native eyedropper / full picker fallback via `<input type="color">`. Default `true`. */
2914
+ allowCustom?: boolean;
2915
+ disabled?: boolean;
2916
+ errorMessage?: React$1.ReactNode;
2917
+ required?: boolean;
2918
+ placeholder?: string;
2919
+ }
2920
+ /**
2921
+ * Color picker: a swatch trigger that opens a popover with preset swatches, a
2922
+ * hex input, and (optionally) the native full picker for custom colors. Value
2923
+ * is a hex string, easy to store and submit.
2924
+ *
2925
+ * @example
2926
+ * ```tsx
2927
+ * <ColorPicker label="Brand colour" value={color} onChange={setColor} />
2928
+ * ```
2929
+ */
2930
+ declare function ColorPicker({ value, onChange, label, htmlFor, name, layout, size, swatches, allowCustom, disabled, errorMessage, required, placeholder, }: ColorPickerProps): react_jsx_runtime.JSX.Element;
2931
+
2932
+ export { AppShell, type AppShellProps, AutoComplete, type AutoCompleteProps, Avatar, type AvatarProps, type AvatarShape, type AvatarSize, type AvatarStatus, Box, type BoxBackground, type BoxBorder, type BoxProps, type BoxRadius, type BoxShadow, Button, type ButtonProps, Catalog, CatalogCarousel, type CatalogCarouselProps, CatalogGrid, type CatalogGridProps, type CatalogProps, Checkbox, type CheckboxProps, ColorPicker, type ColorPickerProps, ContextMenu, type ContextMenuActionItem, type ContextMenuPosition, type ContextMenuProps, type DatePickerProps, type DateRange, DateRangePicker, type DateRangePickerProps, type DateRangePreset, Drawer, type DrawerProps, Dropdown, type DropdownItem, type DropdownProps, type ExpandRowOptions, FadingBase, type FadingBaseProps, Field, type FieldProps, type FieldShellOptions, type FieldSize, FileInput, type FileInputProps, Flex, type FlexAlign, type FlexDirection, type FlexJustify, type FlexProps, type FlexWrap, Grid, GridCard, type GridCardItem, type GridCardProps, type GridProps, Icon, IconButton, type IconButtonProps, List, type ListItem, type ListProps, LoadingSpinner, type LoadingSpinnerProps, Modal, type ModalProps, type NotificationPayload, NotificationProvider, NumberInput, type NumberInputProps, OpaqueGridCard, type OpaqueGridCardProps, OtpInput, type OtpInputProps, type PaginationOptions, Password, type PasswordProps, Portal, type PortalProps, RadioGroup, type RadioGroupProps, type RadioOption, Rating, type RatingProps, ScalableContainer, type ScalableContainerProps, SearchInput, type SearchInputProps, SegmentedControl, type SegmentedControlProps, type SegmentedOption, Sidebar, type SidebarItem, type SidebarProps, type SidebarSection, SkeletonBox, type SkeletonBoxProps, SkeletonCard, type SkeletonCardProps, SkeletonCircle, type SkeletonCircleProps, SkeletonText, type SkeletonTextProps, Slider, type SliderMark, type SliderProps, type SliderValue, type Spacing, Switch, type SwitchInputProps, type TabItem, Table, type TableColumn, type TableProps, Tabs, type TabsProps, TagsInput, type TagsInputProps, DatePicker as Temporal, type TemporalPickerProps, TextArea, type TextAreaProps, TextInput, type TextInputProps, type ThemeColors, type ThemeConfig, type ThemeDensity, type ThemeMotion, ThemeProvider, type ThemeProviderProps, type ThemeRadius, type ThemeShadows, ThemeSwitch, type ThemeSwitchProps, type ThemeTypography, TimePicker, type TimePickerProps, 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 };
package/dist/index.d.ts CHANGED
@@ -2102,6 +2102,18 @@ interface CheckboxProps {
2102
2102
  htmlFor?: string;
2103
2103
  errorMessage?: React$1.ReactNode;
2104
2104
  disabled?: boolean;
2105
+ /**
2106
+ * Box + label arrangement.
2107
+ * - `'horizontal'` (default): box and label on one row.
2108
+ * - `'vertical'`: box and label stacked.
2109
+ */
2110
+ layout?: 'horizontal' | 'vertical';
2111
+ /**
2112
+ * Where the label sits relative to the box.
2113
+ * - In horizontal: `'right'` (default) → box then label; `'left'` → label then box.
2114
+ * - In vertical: `'right'` (default) → box then label below; `'left'` → label above then box.
2115
+ */
2116
+ labelPosition?: 'left' | 'right';
2105
2117
  /** @deprecated Use `checked` */
2106
2118
  value?: boolean;
2107
2119
  }
@@ -2120,7 +2132,7 @@ interface CheckboxProps {
2120
2132
  * />
2121
2133
  */
2122
2134
  declare function Checkbox({ checked, value, // legacy alias
2123
- onChange, label, name, htmlFor, errorMessage, disabled, }: CheckboxProps): react_jsx_runtime.JSX.Element;
2135
+ onChange, label, name, htmlFor, errorMessage, disabled, layout, labelPosition, }: CheckboxProps): react_jsx_runtime.JSX.Element;
2124
2136
 
2125
2137
  interface RadioOption {
2126
2138
  /** Stable value submitted / reported on change. */
@@ -2232,13 +2244,6 @@ interface DropdownProps {
2232
2244
  disabled?: boolean;
2233
2245
  /** Label/input orientation. Defaults to `'vertical'`. */
2234
2246
  layout?: 'horizontal' | 'vertical';
2235
- /**
2236
- * Show a "+N more" pill alongside the first selected item in multiselect
2237
- * mode. Defaults to `false` — a single pill is shown with the first
2238
- * selection and consumers typically open the dropdown to see the rest.
2239
- * Set `true` if you want the count visible on the trigger.
2240
- */
2241
- showSelectedCount?: boolean;
2242
2247
  errorMessage?: React$1.ReactNode;
2243
2248
  style?: React$1.CSSProperties;
2244
2249
  htmlFor?: string;
@@ -2263,7 +2268,7 @@ interface DropdownProps {
2263
2268
  * // Multi-select
2264
2269
  * <Dropdown isMultiselect label="Fuels" items={fuels} value={form.fuels} onChange={handleChange} />
2265
2270
  */
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;
2271
+ declare function Dropdown({ isMultiselect, hasSearch, label, name, value, onChange, disabled, layout, errorMessage, style, htmlFor, items, labelStyle, placeholder, size, }: DropdownProps): react_jsx_runtime.JSX.Element;
2267
2272
 
2268
2273
  interface AutoCompleteItem {
2269
2274
  key: string;
@@ -2307,6 +2312,11 @@ interface AutoCompleteProps {
2307
2312
  size?: FieldSize;
2308
2313
  /** Override the leading search icon (hidden while loading). */
2309
2314
  icon?: React$1.ReactNode;
2315
+ /** Validation message — turns the field red and links via aria-describedby. */
2316
+ errorMessage?: React$1.ReactNode;
2317
+ /** Mark required (asterisk after the label). */
2318
+ required?: boolean;
2319
+ htmlFor?: string;
2310
2320
  }
2311
2321
  /**
2312
2322
  * Search-as-you-type autocomplete powered by Radix Popover. Supports two
@@ -2344,7 +2354,7 @@ interface AutoCompleteProps {
2344
2354
  * />
2345
2355
  * ```
2346
2356
  */
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;
2357
+ declare function AutoComplete({ disabled, label, placeholder, name, inputStyle, style, layout, items, onSearch, debounce, onItemClick, emptyText, loadingText, size, icon, errorMessage, required, htmlFor, }: AutoCompleteProps): react_jsx_runtime.JSX.Element;
2348
2358
 
2349
2359
  interface TreeSelectNode {
2350
2360
  key: string | number;
@@ -2738,4 +2748,185 @@ interface TagsInputProps {
2738
2748
  */
2739
2749
  declare function TagsInput({ value, defaultValue, onChange, label, htmlFor, name, placeholder, layout, size, disabled, errorMessage, required, maxTags, dedupe, validate, separators, }: TagsInputProps): react_jsx_runtime.JSX.Element;
2740
2750
 
2741
- 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, 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, 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 };
2751
+ interface OtpInputProps {
2752
+ /** Number of code boxes. Default `6`. */
2753
+ length?: number;
2754
+ value?: string;
2755
+ onChange?: (code: string) => void;
2756
+ /** Fired when every box is filled. */
2757
+ onComplete?: (code: string) => void;
2758
+ label?: React$1.ReactNode;
2759
+ htmlFor?: string;
2760
+ name?: string;
2761
+ /** `'numeric'` (default) restricts to digits; `'alphanumeric'` allows letters too. */
2762
+ mode?: 'numeric' | 'alphanumeric';
2763
+ /** Render boxes as masked dots (for PIN entry). */
2764
+ masked?: boolean;
2765
+ size?: FieldSize;
2766
+ disabled?: boolean;
2767
+ errorMessage?: React$1.ReactNode;
2768
+ required?: boolean;
2769
+ /** Render a visual gap after this many boxes (e.g. `3` → `123 456`). */
2770
+ groupAfter?: number;
2771
+ }
2772
+ /**
2773
+ * Segmented one-time-code / PIN input. Auto-advances as the user types,
2774
+ * Backspace retreats, and pasting a code spreads it across the boxes. Set
2775
+ * `masked` for PIN entry, `mode="alphanumeric"` for letter codes.
2776
+ *
2777
+ * @example
2778
+ * ```tsx
2779
+ * <OtpInput length={6} value={code} onChange={setCode} onComplete={verify} />
2780
+ * ```
2781
+ */
2782
+ declare function OtpInput({ length, value, onChange, onComplete, label, htmlFor, name, mode, masked, size, disabled, errorMessage, required, groupAfter, }: OtpInputProps): react_jsx_runtime.JSX.Element;
2783
+
2784
+ interface RatingProps {
2785
+ value?: number;
2786
+ defaultValue?: number;
2787
+ onChange?: (value: number) => void;
2788
+ /** Number of icons. Default `5`. */
2789
+ count?: number;
2790
+ /** Allow half-icon precision. Default `false`. */
2791
+ allowHalf?: boolean;
2792
+ /** Read-only display (no hover / click). */
2793
+ readOnly?: boolean;
2794
+ /** Clicking the current value again clears to 0. Default `true`. */
2795
+ clearable?: boolean;
2796
+ label?: React$1.ReactNode;
2797
+ size?: FieldSize;
2798
+ disabled?: boolean;
2799
+ /** Override the icon. Receives a `filled` flag. Default is a star. */
2800
+ icon?: (filled: boolean) => React$1.ReactNode;
2801
+ errorMessage?: React$1.ReactNode;
2802
+ name?: string;
2803
+ }
2804
+ /**
2805
+ * Star (or custom glyph) rating with optional half-steps, hover preview, and
2806
+ * read-only mode. Keyboard accessible: arrow keys adjust, Home/End jump to
2807
+ * min/max.
2808
+ *
2809
+ * @example
2810
+ * ```tsx
2811
+ * <Rating label="Quality" value={rating} onChange={setRating} allowHalf />
2812
+ * ```
2813
+ *
2814
+ * @example Read-only display
2815
+ * ```tsx
2816
+ * <Rating value={4.5} allowHalf readOnly />
2817
+ * ```
2818
+ */
2819
+ declare function Rating({ value, defaultValue, onChange, count, allowHalf, readOnly, clearable, label, size, disabled, icon, errorMessage, name, }: RatingProps): react_jsx_runtime.JSX.Element;
2820
+
2821
+ interface TimePickerProps {
2822
+ /** Value as `"HH:mm"` (24h) or `"HH:mm:ss"`. `null`/`undefined` = unset. */
2823
+ value?: string | null;
2824
+ onChange?: (value: string | null) => void;
2825
+ label?: React$1.ReactNode;
2826
+ htmlFor?: string;
2827
+ name?: string;
2828
+ placeholder?: string;
2829
+ layout?: 'horizontal' | 'vertical';
2830
+ size?: FieldSize;
2831
+ /** Display in 12-hour format with AM/PM (value stays 24h `"HH:mm"`). */
2832
+ use12Hours?: boolean;
2833
+ /** Include a seconds column. Default `false`. */
2834
+ withSeconds?: boolean;
2835
+ /** Minute step. Default `1`. Use `5` / `15` for coarse pickers. */
2836
+ minuteStep?: number;
2837
+ disabled?: boolean;
2838
+ errorMessage?: React$1.ReactNode;
2839
+ required?: boolean;
2840
+ style?: React$1.CSSProperties;
2841
+ }
2842
+ /**
2843
+ * Time picker with scrollable hour / minute (/ second) columns in a popover.
2844
+ * Value is a 24-hour `"HH:mm"` (or `"HH:mm:ss"`) string regardless of whether
2845
+ * the display is 12- or 24-hour, so it's stable to store and submit.
2846
+ *
2847
+ * @example
2848
+ * ```tsx
2849
+ * <TimePicker label="Departure" value={time} onChange={setTime} minuteStep={15} use12Hours />
2850
+ * ```
2851
+ */
2852
+ declare function TimePicker({ value, onChange, label, htmlFor, name, placeholder, layout, size, use12Hours, withSeconds, minuteStep, disabled, errorMessage, required, style, }: TimePickerProps): react_jsx_runtime.JSX.Element;
2853
+
2854
+ interface DateRange {
2855
+ start: Date | null;
2856
+ end: Date | null;
2857
+ }
2858
+ interface DateRangePreset {
2859
+ label: string;
2860
+ /** Returns the range when clicked. */
2861
+ range: () => DateRange;
2862
+ }
2863
+ interface DateRangePickerProps {
2864
+ value?: DateRange;
2865
+ onChange?: (range: DateRange) => void;
2866
+ label?: React$1.ReactNode;
2867
+ htmlFor?: string;
2868
+ placeholder?: string;
2869
+ layout?: 'horizontal' | 'vertical';
2870
+ size?: FieldSize;
2871
+ min?: Date;
2872
+ max?: Date;
2873
+ /** 0 = Sunday, 1 = Monday. Default `0`. */
2874
+ weekStartsOn?: 0 | 1;
2875
+ /** Quick-select presets shown in a rail beside the calendars. */
2876
+ presets?: DateRangePreset[];
2877
+ format?: (d: Date) => string;
2878
+ disabled?: boolean;
2879
+ errorMessage?: React$1.ReactNode;
2880
+ required?: boolean;
2881
+ style?: React$1.CSSProperties;
2882
+ }
2883
+ /**
2884
+ * Two-month range date picker. Click a start date, then an end date; the span
2885
+ * between highlights as you hover. Optional quick-select presets (Today,
2886
+ * Last 7 days, This month, etc.) in a side rail.
2887
+ *
2888
+ * @example
2889
+ * ```tsx
2890
+ * <DateRangePicker
2891
+ * label="Reporting period"
2892
+ * value={range}
2893
+ * onChange={setRange}
2894
+ * presets={[
2895
+ * { label: 'Last 7 days', range: () => ({ start: addDays(new Date(), -6), end: new Date() }) },
2896
+ * ]}
2897
+ * />
2898
+ * ```
2899
+ */
2900
+ declare function DateRangePicker({ value, onChange, label, htmlFor, placeholder, layout, size, min, max, weekStartsOn, presets, format, disabled, errorMessage, required, style, }: DateRangePickerProps): react_jsx_runtime.JSX.Element;
2901
+
2902
+ interface ColorPickerProps {
2903
+ /** Hex string, e.g. `"#0466c8"`. */
2904
+ value?: string;
2905
+ onChange?: (hex: string) => void;
2906
+ label?: React$1.ReactNode;
2907
+ htmlFor?: string;
2908
+ name?: string;
2909
+ layout?: 'horizontal' | 'vertical';
2910
+ size?: FieldSize;
2911
+ /** Preset swatches shown in the popover. Defaults to a balanced 12-color set. */
2912
+ swatches?: string[];
2913
+ /** Show the native eyedropper / full picker fallback via `<input type="color">`. Default `true`. */
2914
+ allowCustom?: boolean;
2915
+ disabled?: boolean;
2916
+ errorMessage?: React$1.ReactNode;
2917
+ required?: boolean;
2918
+ placeholder?: string;
2919
+ }
2920
+ /**
2921
+ * Color picker: a swatch trigger that opens a popover with preset swatches, a
2922
+ * hex input, and (optionally) the native full picker for custom colors. Value
2923
+ * is a hex string, easy to store and submit.
2924
+ *
2925
+ * @example
2926
+ * ```tsx
2927
+ * <ColorPicker label="Brand colour" value={color} onChange={setColor} />
2928
+ * ```
2929
+ */
2930
+ declare function ColorPicker({ value, onChange, label, htmlFor, name, layout, size, swatches, allowCustom, disabled, errorMessage, required, placeholder, }: ColorPickerProps): react_jsx_runtime.JSX.Element;
2931
+
2932
+ export { AppShell, type AppShellProps, AutoComplete, type AutoCompleteProps, Avatar, type AvatarProps, type AvatarShape, type AvatarSize, type AvatarStatus, Box, type BoxBackground, type BoxBorder, type BoxProps, type BoxRadius, type BoxShadow, Button, type ButtonProps, Catalog, CatalogCarousel, type CatalogCarouselProps, CatalogGrid, type CatalogGridProps, type CatalogProps, Checkbox, type CheckboxProps, ColorPicker, type ColorPickerProps, ContextMenu, type ContextMenuActionItem, type ContextMenuPosition, type ContextMenuProps, type DatePickerProps, type DateRange, DateRangePicker, type DateRangePickerProps, type DateRangePreset, Drawer, type DrawerProps, Dropdown, type DropdownItem, type DropdownProps, type ExpandRowOptions, FadingBase, type FadingBaseProps, Field, type FieldProps, type FieldShellOptions, type FieldSize, FileInput, type FileInputProps, Flex, type FlexAlign, type FlexDirection, type FlexJustify, type FlexProps, type FlexWrap, Grid, GridCard, type GridCardItem, type GridCardProps, type GridProps, Icon, IconButton, type IconButtonProps, List, type ListItem, type ListProps, LoadingSpinner, type LoadingSpinnerProps, Modal, type ModalProps, type NotificationPayload, NotificationProvider, NumberInput, type NumberInputProps, OpaqueGridCard, type OpaqueGridCardProps, OtpInput, type OtpInputProps, type PaginationOptions, Password, type PasswordProps, Portal, type PortalProps, RadioGroup, type RadioGroupProps, type RadioOption, Rating, type RatingProps, ScalableContainer, type ScalableContainerProps, SearchInput, type SearchInputProps, SegmentedControl, type SegmentedControlProps, type SegmentedOption, Sidebar, type SidebarItem, type SidebarProps, type SidebarSection, SkeletonBox, type SkeletonBoxProps, SkeletonCard, type SkeletonCardProps, SkeletonCircle, type SkeletonCircleProps, SkeletonText, type SkeletonTextProps, Slider, type SliderMark, type SliderProps, type SliderValue, type Spacing, Switch, type SwitchInputProps, type TabItem, Table, type TableColumn, type TableProps, Tabs, type TabsProps, TagsInput, type TagsInputProps, DatePicker as Temporal, type TemporalPickerProps, TextArea, type TextAreaProps, TextInput, type TextInputProps, type ThemeColors, type ThemeConfig, type ThemeDensity, type ThemeMotion, ThemeProvider, type ThemeProviderProps, type ThemeRadius, type ThemeShadows, ThemeSwitch, type ThemeSwitchProps, type ThemeTypography, TimePicker, type TimePickerProps, 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 };