@ecohouse/ui 0.1.36 → 0.1.38

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.
Files changed (34) hide show
  1. package/README.md +2 -0
  2. package/dist/index.cjs +945 -416
  3. package/dist/index.cjs.map +1 -1
  4. package/dist/index.d.cts +75 -2
  5. package/dist/index.d.ts +75 -2
  6. package/dist/index.js +870 -346
  7. package/dist/index.js.map +1 -1
  8. package/package.json +1 -1
  9. package/src/components/Accordion/Accordion.stories.tsx +47 -0
  10. package/src/components/Accordion/Accordion.tsx +165 -0
  11. package/src/components/Accordion/index.ts +2 -0
  12. package/src/components/AutocompleteInput/AutocompleteInput.stories.tsx +80 -0
  13. package/src/components/AutocompleteInput/AutocompleteInput.tsx +313 -0
  14. package/src/components/AutocompleteInput/index.ts +2 -0
  15. package/src/components/Counter/Counter.tsx +61 -26
  16. package/src/components/QuantityInput/QuantityInput.stories.tsx +45 -0
  17. package/src/components/QuantityInput/QuantityInput.tsx +153 -0
  18. package/src/components/QuantityInput/index.ts +2 -0
  19. package/src/components/index.ts +9 -0
  20. package/src/icons/ArrowLeft/ArrowLeftIcon.test.ts +10 -0
  21. package/src/icons/ArrowLeft/ArrowLeftIcon.tsx +21 -0
  22. package/src/icons/ArrowLeft/ArrowLeftIcon.web.tsx +26 -0
  23. package/src/icons/ArrowLeft/arrowLeftPath.ts +3 -0
  24. package/src/icons/ArrowLeft/index.ts +1 -0
  25. package/src/icons/CurrentLocation/CurrentLocationIcon.test.ts +10 -0
  26. package/src/icons/CurrentLocation/CurrentLocationIcon.tsx +25 -0
  27. package/src/icons/CurrentLocation/CurrentLocationIcon.web.tsx +30 -0
  28. package/src/icons/CurrentLocation/currentLocationPath.ts +3 -0
  29. package/src/icons/CurrentLocation/index.ts +1 -0
  30. package/src/icons/index.ts +2 -0
  31. package/src/icons/registry.ts +6 -0
  32. package/src/index.ts +9 -0
  33. package/src/theme/colors.test.ts +1 -0
  34. package/src/theme/colors.ts +1 -0
package/dist/index.d.cts CHANGED
@@ -62,6 +62,9 @@ interface ArrowRightIconProps {
62
62
  /** Native — react-native-svg (peer dependency). */
63
63
  declare function ArrowRightIcon({ size, color, strokeWidth, }: ArrowRightIconProps): react.JSX.Element;
64
64
 
65
+ /** Native — react-native-svg (peer dependency). */
66
+ declare function ArrowLeftIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
67
+
65
68
  declare function AlertTriangleIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
66
69
 
67
70
  declare function AppleIcon({ size, color }: IconProps): react.JSX.Element;
@@ -112,6 +115,9 @@ declare function ClockIcon({ size, color, strokeWidth }: IconProps): react.JSX.E
112
115
 
113
116
  declare function CloseIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
114
117
 
118
+ /** Native — react-native-svg (peer dependency). */
119
+ declare function CurrentLocationIcon({ size, color, strokeWidth, }: IconProps): react.JSX.Element;
120
+
115
121
  declare function EditIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
116
122
 
117
123
  declare function SaveHeartIcon({ size, color, strokeWidth, fillOpacity, }: IconProps): react.JSX.Element;
@@ -275,6 +281,7 @@ declare const icons: {
275
281
  readonly alertTriangle: typeof AlertTriangleIcon;
276
282
  readonly areaExpand: typeof AreaExpandIcon;
277
283
  readonly apple: typeof AppleIcon;
284
+ readonly arrowLeft: typeof ArrowLeftIcon;
278
285
  readonly arrowRight: typeof ArrowRightIcon;
279
286
  readonly bag: typeof BagIcon;
280
287
  readonly ban: typeof BanIcon;
@@ -291,6 +298,7 @@ declare const icons: {
291
298
  readonly chevronLeft: typeof ChevronLeftIcon;
292
299
  readonly clock: typeof ClockIcon;
293
300
  readonly close: typeof CloseIcon;
301
+ readonly currentLocation: typeof CurrentLocationIcon;
294
302
  readonly edit: typeof EditIcon;
295
303
  readonly clockFilled: typeof ClockFilledIcon;
296
304
  readonly copy: typeof CopyIcon;
@@ -358,7 +366,7 @@ declare const icons: {
358
366
  type IconName = keyof typeof icons;
359
367
  declare const iconNames: IconName[];
360
368
  declare const iconGroups: {
361
- readonly navigation: readonly ["arrowRight", "chevronDown", "chevronLeft", "home", "listView", "locationPin", "locationUser", "mapCollapse", "mapExpand", "mapView", "menu", "menuLines", "navigate", "tableView"];
369
+ readonly navigation: readonly ["arrowLeft", "arrowRight", "chevronDown", "chevronLeft", "currentLocation", "home", "listView", "locationPin", "locationUser", "mapCollapse", "mapExpand", "mapView", "menu", "menuLines", "navigate", "tableView"];
362
370
  readonly actions: readonly ["show", "hide", "alertTriangle", "ban", "bell", "camera", "key", "check", "checkBadge", "checkSuccess", "copy", "download", "search", "calendar", "calendarOutline", "close", "edit", "ratingStar", "saveHeart", "share", "filters", "fullscreen", "heart", "headset", "zoomOut", "star", "starFilled", "minus", "moreHorizontal", "plus", "refresh", "refundStatus", "sort"];
363
371
  readonly objects: readonly ["bag", "bathrooms", "bedrooms", "building", "cardLocation", "clock", "clockFilled", "guests", "lock", "noSmoking", "paw", "qrCode", "quietHours", "trash", "user", "usersAlt", "video", "videoOff", "whatsApp"];
364
372
  readonly communication: readonly ["mail", "phone"];
@@ -634,6 +642,21 @@ interface AccordionItemProps extends Omit<ViewProps, "style" | "children"> {
634
642
  */
635
643
  declare const AccordionItem: react.ForwardRefExoticComponent<AccordionItemProps & react.RefAttributes<View>>;
636
644
 
645
+ interface AccordionProps extends Omit<ViewProps, "style" | "children"> {
646
+ title: string;
647
+ children: ReactNode;
648
+ open?: boolean;
649
+ defaultOpen?: boolean;
650
+ onOpenChange?: (open: boolean) => void;
651
+ disabled?: boolean;
652
+ error?: boolean;
653
+ style?: StyleProp<ViewStyle>;
654
+ contentStyle?: StyleProp<ViewStyle>;
655
+ className?: string;
656
+ }
657
+ /** Expandable surface for arbitrary interactive content such as form fields. */
658
+ declare const Accordion: react.ForwardRefExoticComponent<AccordionProps & react.RefAttributes<View>>;
659
+
637
660
  interface StepListProps extends Omit<ViewProps, "style" | "children"> {
638
661
  /** Step descriptions, numbered automatically from 1. */
639
662
  steps: string[];
@@ -653,12 +676,35 @@ interface CounterProps extends Omit<ViewProps, "style" | "children"> {
653
676
  max?: number;
654
677
  step?: number;
655
678
  disabled?: boolean;
679
+ /** Places the value before both controls for use inside input-like fields. */
680
+ layout?: "controls-around" | "value-first";
656
681
  style?: StyleProp<ViewStyle>;
657
682
  className?: string;
658
683
  hitSlop?: PressableProps["hitSlop"];
659
684
  }
660
685
  declare const Counter: react.ForwardRefExoticComponent<CounterProps & react.RefAttributes<View>>;
661
686
 
687
+ interface QuantityInputProps extends Omit<ViewProps, "style" | "children"> {
688
+ label: string;
689
+ icon: IconComponent;
690
+ iconProps?: Omit<IconProps, "size">;
691
+ iconSize?: number;
692
+ value?: number;
693
+ defaultValue?: number;
694
+ onValueChange?: (value: number) => void;
695
+ min?: number;
696
+ max?: number;
697
+ step?: number;
698
+ disabled?: boolean;
699
+ error?: boolean;
700
+ hint?: string;
701
+ showHint?: boolean;
702
+ style?: StyleProp<ViewStyle>;
703
+ className?: string;
704
+ }
705
+ /** Input-like labeled quantity control with an icon and increment/decrement actions. */
706
+ declare const QuantityInput: react.ForwardRefExoticComponent<QuantityInputProps & react.RefAttributes<View>>;
707
+
662
708
  interface SegmentedToggleOption {
663
709
  value: string;
664
710
  label: string;
@@ -931,6 +977,32 @@ interface InputProps extends Omit<TextInputProps, "style" | "editable"> {
931
977
  }
932
978
  declare const Input: react.ForwardRefExoticComponent<InputProps & react.RefAttributes<TextInput>>;
933
979
 
980
+ interface AutocompleteOption {
981
+ value: string;
982
+ label: string;
983
+ description?: string;
984
+ }
985
+ interface AutocompleteInputProps extends Omit<InputProps, "value" | "onChangeText" | "onSubmitEditing"> {
986
+ value: string;
987
+ options: AutocompleteOption[];
988
+ onChangeText: (value: string) => void;
989
+ onOptionSelect: (option: AutocompleteOption) => void;
990
+ onSubmit?: (firstOption?: AutocompleteOption) => void;
991
+ open?: boolean;
992
+ defaultOpen?: boolean;
993
+ onOpenChange?: (open: boolean) => void;
994
+ loading?: boolean;
995
+ loadingText?: string;
996
+ emptyText?: string;
997
+ showEmpty?: boolean;
998
+ renderOption?: (option: AutocompleteOption, highlighted: boolean) => ReactNode;
999
+ containerStyle?: StyleProp<ViewStyle>;
1000
+ menuStyle?: StyleProp<ViewStyle>;
1001
+ containerClassName?: string;
1002
+ menuClassName?: string;
1003
+ }
1004
+ declare const AutocompleteInput: react.ForwardRefExoticComponent<AutocompleteInputProps & react.RefAttributes<View>>;
1005
+
934
1006
  interface VerificationCodeInputHandle {
935
1007
  clear: () => void;
936
1008
  focus: (index?: number) => void;
@@ -1161,6 +1233,7 @@ declare const colors: {
1161
1233
  readonly whiteAlpha60: "#FFFFFF99";
1162
1234
  readonly whiteAlpha40: "#FFFFFF66";
1163
1235
  readonly whiteAlpha20: "#FFFFFF33";
1236
+ readonly whiteAlpha1: "#FFFFFF03";
1164
1237
  readonly whiteAlpha6: "#FFFFFF0F";
1165
1238
  readonly whiteAlpha10: "#FFFFFF1A";
1166
1239
  readonly whiteAlpha5: "#FFFFFF0D";
@@ -1482,4 +1555,4 @@ type ResolvePopoverAlignOptions = {
1482
1555
  */
1483
1556
  declare function resolvePopoverAlign({ triggerRect, panelWidth, viewportWidth, padding, preferred, }: ResolvePopoverAlignOptions): PopoverAlign;
1484
1557
 
1485
- export { AccordionItem, type AccordionItemProps, AccountHeader, type AccountHeaderProps, AlertTriangleIcon, Amenity, AmenityIcon, type AmenityIconProps, type AmenityName, type AmenityProps, type AmenityVariant, AppleIcon, AreaExpandIcon, ArrowRightIcon, Avatar, type AvatarMenuItem, type AvatarProps, AvatarSimple, type AvatarSimpleProps, BRAND_LOGO_COLORS, BRAND_LOGO_DEFAULT_HEIGHT, BRAND_LOGO_DEFAULT_WIDTH, Badge, type BadgeProps, type BadgeVariant, BagIcon, BanIcon, BathroomsIcon, BedroomsIcon, BellIcon, BrandLogo, type BrandLogoProps, type BrandLogoVariant, BuildingIcon, Button, type ButtonProps, type ButtonSize, type ButtonVariant, CalendarIcon, CalendarOutlineIcon, CameraFilledIcon, CameraIcon, CardLocationIcon, CheckBadgeIcon, CheckIcon, CheckSuccessIcon, Checkbox, type CheckboxProps, type CheckboxVariant, ChevronDownIcon, ChevronLeftIcon, ClockFilledIcon, ClockIcon, CloseIcon, CommentCard, type CommentCardProps, ContactInfoCard, type ContactInfoCardProps, CopyIcon, Counter, type CounterProps, DatePicker, type DatePickerProps, type DatePickerRangeProps, type DatePickerSingleProps, type DatePickerVariant, type DateRange, DownloadIcon, EditIcon, FacebookIcon, FavoritesButton, type FavoritesButtonProps, FiltersIcon, FloatingActionButton, type FloatingActionButtonProps, FullscreenIcon, GlobeIcon, GooglePlayIcon, type GreyStep, GuestsIcon, HeadsetIcon, HeartIcon, HelpCircleIcon, HideIcon, HomeIcon, Icon, type IconByNameProps, type IconComponent, type IconGroup, type IconName, type IconProps, IconStatusBadge, type IconStatusBadgeProps, InfoCardV2, type InfoCardV2Props, InfoTile, type InfoTileProps, Input, type InputIcon, type InputProps, type InputSize, InstagramIcon, KeyIcon, type LanguageOption, LanguageSwitcher, type LanguageSwitcherProps, type LanguageSwitcherVariant, LayoutGridIcon, LinkedInIcon, ListViewIcon, LocationPinIcon, LocationUserIcon, LockIcon, LogOutIcon, MailIcon, MapCollapseIcon, MapExpandIcon, MapViewIcon, MenuIcon, type MenuIconProps, MenuItem, type MenuItemProps, MenuLinesIcon, MinusIcon, Modal, type ModalProps, MoreHorizontalIcon, NavigateIcon, NoSmokingIcon, PaginationDots, type PaginationDotsProps, PawIcon, PhoneIcon, PlusIcon, type PopoverAlign, QrCodeIcon, QuietHoursIcon, Range, type RangeProps, type RangeValue, RatingInput, type RatingInputProps, RatingStarIcon, RefreshIcon, RefundStatusIcon, type ResolvePopoverAlignOptions, SaveHeartIcon, SearchIcon, SegmentedToggle, type SegmentedToggleOption, type SegmentedToggleProps, Select, type SelectIcon, type SelectMultipleProps, type SelectOption, type SelectProps, type SelectSingleProps, SettingsIcon, ShareIcon, ShowIcon, Sidebar, SidebarIcon, type SidebarItem, type SidebarProps, type SidebarUser, SortIcon, StarFilledIcon, StarIcon, type StarIconProps, StatCard, type StatCardProps, StatusBadge, type StatusBadgeProps, type StatusBadgeTone, StepList, type StepListProps, StepPager, type StepPagerProps, TableViewIcon, Textarea, type TextareaProps, Toggle, type ToggleProps, ToggleRow, type ToggleRowProps, TooltipArrowIcon, TrashIcon, UserIcon, UsersAltIcon, VerificationCodeInput, type VerificationCodeInputHandle, type VerificationCodeInputProps, VideoIcon, VideoOffIcon, WhatsAppIcon, ZoomOutIcon, abbreviateMonthName, avatarTypography, badgeTypography, buttonTypography, colors, commentCardTypography, counterTypography, datePickerTypography, defaultLanguageOptions, fonts, formatDate, formatDateDayShortMonth, getIconsByGroup, grey, iconGroupNames, iconGroups, iconNames, icons, inputTypography, languageSwitcherTypography, ratingTypography, resolvePopoverAlign, segmentedToggleTypography, selectTypography, statCardTypography, textareaTypography };
1558
+ export { Accordion, AccordionItem, type AccordionItemProps, type AccordionProps, AccountHeader, type AccountHeaderProps, AlertTriangleIcon, Amenity, AmenityIcon, type AmenityIconProps, type AmenityName, type AmenityProps, type AmenityVariant, AppleIcon, AreaExpandIcon, ArrowLeftIcon, ArrowRightIcon, AutocompleteInput, type AutocompleteInputProps, type AutocompleteOption, Avatar, type AvatarMenuItem, type AvatarProps, AvatarSimple, type AvatarSimpleProps, BRAND_LOGO_COLORS, BRAND_LOGO_DEFAULT_HEIGHT, BRAND_LOGO_DEFAULT_WIDTH, Badge, type BadgeProps, type BadgeVariant, BagIcon, BanIcon, BathroomsIcon, BedroomsIcon, BellIcon, BrandLogo, type BrandLogoProps, type BrandLogoVariant, BuildingIcon, Button, type ButtonProps, type ButtonSize, type ButtonVariant, CalendarIcon, CalendarOutlineIcon, CameraFilledIcon, CameraIcon, CardLocationIcon, CheckBadgeIcon, CheckIcon, CheckSuccessIcon, Checkbox, type CheckboxProps, type CheckboxVariant, ChevronDownIcon, ChevronLeftIcon, ClockFilledIcon, ClockIcon, CloseIcon, CommentCard, type CommentCardProps, ContactInfoCard, type ContactInfoCardProps, CopyIcon, Counter, type CounterProps, CurrentLocationIcon, DatePicker, type DatePickerProps, type DatePickerRangeProps, type DatePickerSingleProps, type DatePickerVariant, type DateRange, DownloadIcon, EditIcon, FacebookIcon, FavoritesButton, type FavoritesButtonProps, FiltersIcon, FloatingActionButton, type FloatingActionButtonProps, FullscreenIcon, GlobeIcon, GooglePlayIcon, type GreyStep, GuestsIcon, HeadsetIcon, HeartIcon, HelpCircleIcon, HideIcon, HomeIcon, Icon, type IconByNameProps, type IconComponent, type IconGroup, type IconName, type IconProps, IconStatusBadge, type IconStatusBadgeProps, InfoCardV2, type InfoCardV2Props, InfoTile, type InfoTileProps, Input, type InputIcon, type InputProps, type InputSize, InstagramIcon, KeyIcon, type LanguageOption, LanguageSwitcher, type LanguageSwitcherProps, type LanguageSwitcherVariant, LayoutGridIcon, LinkedInIcon, ListViewIcon, LocationPinIcon, LocationUserIcon, LockIcon, LogOutIcon, MailIcon, MapCollapseIcon, MapExpandIcon, MapViewIcon, MenuIcon, type MenuIconProps, MenuItem, type MenuItemProps, MenuLinesIcon, MinusIcon, Modal, type ModalProps, MoreHorizontalIcon, NavigateIcon, NoSmokingIcon, PaginationDots, type PaginationDotsProps, PawIcon, PhoneIcon, PlusIcon, type PopoverAlign, QrCodeIcon, QuantityInput, type QuantityInputProps, QuietHoursIcon, Range, type RangeProps, type RangeValue, RatingInput, type RatingInputProps, RatingStarIcon, RefreshIcon, RefundStatusIcon, type ResolvePopoverAlignOptions, SaveHeartIcon, SearchIcon, SegmentedToggle, type SegmentedToggleOption, type SegmentedToggleProps, Select, type SelectIcon, type SelectMultipleProps, type SelectOption, type SelectProps, type SelectSingleProps, SettingsIcon, ShareIcon, ShowIcon, Sidebar, SidebarIcon, type SidebarItem, type SidebarProps, type SidebarUser, SortIcon, StarFilledIcon, StarIcon, type StarIconProps, StatCard, type StatCardProps, StatusBadge, type StatusBadgeProps, type StatusBadgeTone, StepList, type StepListProps, StepPager, type StepPagerProps, TableViewIcon, Textarea, type TextareaProps, Toggle, type ToggleProps, ToggleRow, type ToggleRowProps, TooltipArrowIcon, TrashIcon, UserIcon, UsersAltIcon, VerificationCodeInput, type VerificationCodeInputHandle, type VerificationCodeInputProps, VideoIcon, VideoOffIcon, WhatsAppIcon, ZoomOutIcon, abbreviateMonthName, avatarTypography, badgeTypography, buttonTypography, colors, commentCardTypography, counterTypography, datePickerTypography, defaultLanguageOptions, fonts, formatDate, formatDateDayShortMonth, getIconsByGroup, grey, iconGroupNames, iconGroups, iconNames, icons, inputTypography, languageSwitcherTypography, ratingTypography, resolvePopoverAlign, segmentedToggleTypography, selectTypography, statCardTypography, textareaTypography };
package/dist/index.d.ts CHANGED
@@ -62,6 +62,9 @@ interface ArrowRightIconProps {
62
62
  /** Native — react-native-svg (peer dependency). */
63
63
  declare function ArrowRightIcon({ size, color, strokeWidth, }: ArrowRightIconProps): react.JSX.Element;
64
64
 
65
+ /** Native — react-native-svg (peer dependency). */
66
+ declare function ArrowLeftIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
67
+
65
68
  declare function AlertTriangleIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
66
69
 
67
70
  declare function AppleIcon({ size, color }: IconProps): react.JSX.Element;
@@ -112,6 +115,9 @@ declare function ClockIcon({ size, color, strokeWidth }: IconProps): react.JSX.E
112
115
 
113
116
  declare function CloseIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
114
117
 
118
+ /** Native — react-native-svg (peer dependency). */
119
+ declare function CurrentLocationIcon({ size, color, strokeWidth, }: IconProps): react.JSX.Element;
120
+
115
121
  declare function EditIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
116
122
 
117
123
  declare function SaveHeartIcon({ size, color, strokeWidth, fillOpacity, }: IconProps): react.JSX.Element;
@@ -275,6 +281,7 @@ declare const icons: {
275
281
  readonly alertTriangle: typeof AlertTriangleIcon;
276
282
  readonly areaExpand: typeof AreaExpandIcon;
277
283
  readonly apple: typeof AppleIcon;
284
+ readonly arrowLeft: typeof ArrowLeftIcon;
278
285
  readonly arrowRight: typeof ArrowRightIcon;
279
286
  readonly bag: typeof BagIcon;
280
287
  readonly ban: typeof BanIcon;
@@ -291,6 +298,7 @@ declare const icons: {
291
298
  readonly chevronLeft: typeof ChevronLeftIcon;
292
299
  readonly clock: typeof ClockIcon;
293
300
  readonly close: typeof CloseIcon;
301
+ readonly currentLocation: typeof CurrentLocationIcon;
294
302
  readonly edit: typeof EditIcon;
295
303
  readonly clockFilled: typeof ClockFilledIcon;
296
304
  readonly copy: typeof CopyIcon;
@@ -358,7 +366,7 @@ declare const icons: {
358
366
  type IconName = keyof typeof icons;
359
367
  declare const iconNames: IconName[];
360
368
  declare const iconGroups: {
361
- readonly navigation: readonly ["arrowRight", "chevronDown", "chevronLeft", "home", "listView", "locationPin", "locationUser", "mapCollapse", "mapExpand", "mapView", "menu", "menuLines", "navigate", "tableView"];
369
+ readonly navigation: readonly ["arrowLeft", "arrowRight", "chevronDown", "chevronLeft", "currentLocation", "home", "listView", "locationPin", "locationUser", "mapCollapse", "mapExpand", "mapView", "menu", "menuLines", "navigate", "tableView"];
362
370
  readonly actions: readonly ["show", "hide", "alertTriangle", "ban", "bell", "camera", "key", "check", "checkBadge", "checkSuccess", "copy", "download", "search", "calendar", "calendarOutline", "close", "edit", "ratingStar", "saveHeart", "share", "filters", "fullscreen", "heart", "headset", "zoomOut", "star", "starFilled", "minus", "moreHorizontal", "plus", "refresh", "refundStatus", "sort"];
363
371
  readonly objects: readonly ["bag", "bathrooms", "bedrooms", "building", "cardLocation", "clock", "clockFilled", "guests", "lock", "noSmoking", "paw", "qrCode", "quietHours", "trash", "user", "usersAlt", "video", "videoOff", "whatsApp"];
364
372
  readonly communication: readonly ["mail", "phone"];
@@ -634,6 +642,21 @@ interface AccordionItemProps extends Omit<ViewProps, "style" | "children"> {
634
642
  */
635
643
  declare const AccordionItem: react.ForwardRefExoticComponent<AccordionItemProps & react.RefAttributes<View>>;
636
644
 
645
+ interface AccordionProps extends Omit<ViewProps, "style" | "children"> {
646
+ title: string;
647
+ children: ReactNode;
648
+ open?: boolean;
649
+ defaultOpen?: boolean;
650
+ onOpenChange?: (open: boolean) => void;
651
+ disabled?: boolean;
652
+ error?: boolean;
653
+ style?: StyleProp<ViewStyle>;
654
+ contentStyle?: StyleProp<ViewStyle>;
655
+ className?: string;
656
+ }
657
+ /** Expandable surface for arbitrary interactive content such as form fields. */
658
+ declare const Accordion: react.ForwardRefExoticComponent<AccordionProps & react.RefAttributes<View>>;
659
+
637
660
  interface StepListProps extends Omit<ViewProps, "style" | "children"> {
638
661
  /** Step descriptions, numbered automatically from 1. */
639
662
  steps: string[];
@@ -653,12 +676,35 @@ interface CounterProps extends Omit<ViewProps, "style" | "children"> {
653
676
  max?: number;
654
677
  step?: number;
655
678
  disabled?: boolean;
679
+ /** Places the value before both controls for use inside input-like fields. */
680
+ layout?: "controls-around" | "value-first";
656
681
  style?: StyleProp<ViewStyle>;
657
682
  className?: string;
658
683
  hitSlop?: PressableProps["hitSlop"];
659
684
  }
660
685
  declare const Counter: react.ForwardRefExoticComponent<CounterProps & react.RefAttributes<View>>;
661
686
 
687
+ interface QuantityInputProps extends Omit<ViewProps, "style" | "children"> {
688
+ label: string;
689
+ icon: IconComponent;
690
+ iconProps?: Omit<IconProps, "size">;
691
+ iconSize?: number;
692
+ value?: number;
693
+ defaultValue?: number;
694
+ onValueChange?: (value: number) => void;
695
+ min?: number;
696
+ max?: number;
697
+ step?: number;
698
+ disabled?: boolean;
699
+ error?: boolean;
700
+ hint?: string;
701
+ showHint?: boolean;
702
+ style?: StyleProp<ViewStyle>;
703
+ className?: string;
704
+ }
705
+ /** Input-like labeled quantity control with an icon and increment/decrement actions. */
706
+ declare const QuantityInput: react.ForwardRefExoticComponent<QuantityInputProps & react.RefAttributes<View>>;
707
+
662
708
  interface SegmentedToggleOption {
663
709
  value: string;
664
710
  label: string;
@@ -931,6 +977,32 @@ interface InputProps extends Omit<TextInputProps, "style" | "editable"> {
931
977
  }
932
978
  declare const Input: react.ForwardRefExoticComponent<InputProps & react.RefAttributes<TextInput>>;
933
979
 
980
+ interface AutocompleteOption {
981
+ value: string;
982
+ label: string;
983
+ description?: string;
984
+ }
985
+ interface AutocompleteInputProps extends Omit<InputProps, "value" | "onChangeText" | "onSubmitEditing"> {
986
+ value: string;
987
+ options: AutocompleteOption[];
988
+ onChangeText: (value: string) => void;
989
+ onOptionSelect: (option: AutocompleteOption) => void;
990
+ onSubmit?: (firstOption?: AutocompleteOption) => void;
991
+ open?: boolean;
992
+ defaultOpen?: boolean;
993
+ onOpenChange?: (open: boolean) => void;
994
+ loading?: boolean;
995
+ loadingText?: string;
996
+ emptyText?: string;
997
+ showEmpty?: boolean;
998
+ renderOption?: (option: AutocompleteOption, highlighted: boolean) => ReactNode;
999
+ containerStyle?: StyleProp<ViewStyle>;
1000
+ menuStyle?: StyleProp<ViewStyle>;
1001
+ containerClassName?: string;
1002
+ menuClassName?: string;
1003
+ }
1004
+ declare const AutocompleteInput: react.ForwardRefExoticComponent<AutocompleteInputProps & react.RefAttributes<View>>;
1005
+
934
1006
  interface VerificationCodeInputHandle {
935
1007
  clear: () => void;
936
1008
  focus: (index?: number) => void;
@@ -1161,6 +1233,7 @@ declare const colors: {
1161
1233
  readonly whiteAlpha60: "#FFFFFF99";
1162
1234
  readonly whiteAlpha40: "#FFFFFF66";
1163
1235
  readonly whiteAlpha20: "#FFFFFF33";
1236
+ readonly whiteAlpha1: "#FFFFFF03";
1164
1237
  readonly whiteAlpha6: "#FFFFFF0F";
1165
1238
  readonly whiteAlpha10: "#FFFFFF1A";
1166
1239
  readonly whiteAlpha5: "#FFFFFF0D";
@@ -1482,4 +1555,4 @@ type ResolvePopoverAlignOptions = {
1482
1555
  */
1483
1556
  declare function resolvePopoverAlign({ triggerRect, panelWidth, viewportWidth, padding, preferred, }: ResolvePopoverAlignOptions): PopoverAlign;
1484
1557
 
1485
- export { AccordionItem, type AccordionItemProps, AccountHeader, type AccountHeaderProps, AlertTriangleIcon, Amenity, AmenityIcon, type AmenityIconProps, type AmenityName, type AmenityProps, type AmenityVariant, AppleIcon, AreaExpandIcon, ArrowRightIcon, Avatar, type AvatarMenuItem, type AvatarProps, AvatarSimple, type AvatarSimpleProps, BRAND_LOGO_COLORS, BRAND_LOGO_DEFAULT_HEIGHT, BRAND_LOGO_DEFAULT_WIDTH, Badge, type BadgeProps, type BadgeVariant, BagIcon, BanIcon, BathroomsIcon, BedroomsIcon, BellIcon, BrandLogo, type BrandLogoProps, type BrandLogoVariant, BuildingIcon, Button, type ButtonProps, type ButtonSize, type ButtonVariant, CalendarIcon, CalendarOutlineIcon, CameraFilledIcon, CameraIcon, CardLocationIcon, CheckBadgeIcon, CheckIcon, CheckSuccessIcon, Checkbox, type CheckboxProps, type CheckboxVariant, ChevronDownIcon, ChevronLeftIcon, ClockFilledIcon, ClockIcon, CloseIcon, CommentCard, type CommentCardProps, ContactInfoCard, type ContactInfoCardProps, CopyIcon, Counter, type CounterProps, DatePicker, type DatePickerProps, type DatePickerRangeProps, type DatePickerSingleProps, type DatePickerVariant, type DateRange, DownloadIcon, EditIcon, FacebookIcon, FavoritesButton, type FavoritesButtonProps, FiltersIcon, FloatingActionButton, type FloatingActionButtonProps, FullscreenIcon, GlobeIcon, GooglePlayIcon, type GreyStep, GuestsIcon, HeadsetIcon, HeartIcon, HelpCircleIcon, HideIcon, HomeIcon, Icon, type IconByNameProps, type IconComponent, type IconGroup, type IconName, type IconProps, IconStatusBadge, type IconStatusBadgeProps, InfoCardV2, type InfoCardV2Props, InfoTile, type InfoTileProps, Input, type InputIcon, type InputProps, type InputSize, InstagramIcon, KeyIcon, type LanguageOption, LanguageSwitcher, type LanguageSwitcherProps, type LanguageSwitcherVariant, LayoutGridIcon, LinkedInIcon, ListViewIcon, LocationPinIcon, LocationUserIcon, LockIcon, LogOutIcon, MailIcon, MapCollapseIcon, MapExpandIcon, MapViewIcon, MenuIcon, type MenuIconProps, MenuItem, type MenuItemProps, MenuLinesIcon, MinusIcon, Modal, type ModalProps, MoreHorizontalIcon, NavigateIcon, NoSmokingIcon, PaginationDots, type PaginationDotsProps, PawIcon, PhoneIcon, PlusIcon, type PopoverAlign, QrCodeIcon, QuietHoursIcon, Range, type RangeProps, type RangeValue, RatingInput, type RatingInputProps, RatingStarIcon, RefreshIcon, RefundStatusIcon, type ResolvePopoverAlignOptions, SaveHeartIcon, SearchIcon, SegmentedToggle, type SegmentedToggleOption, type SegmentedToggleProps, Select, type SelectIcon, type SelectMultipleProps, type SelectOption, type SelectProps, type SelectSingleProps, SettingsIcon, ShareIcon, ShowIcon, Sidebar, SidebarIcon, type SidebarItem, type SidebarProps, type SidebarUser, SortIcon, StarFilledIcon, StarIcon, type StarIconProps, StatCard, type StatCardProps, StatusBadge, type StatusBadgeProps, type StatusBadgeTone, StepList, type StepListProps, StepPager, type StepPagerProps, TableViewIcon, Textarea, type TextareaProps, Toggle, type ToggleProps, ToggleRow, type ToggleRowProps, TooltipArrowIcon, TrashIcon, UserIcon, UsersAltIcon, VerificationCodeInput, type VerificationCodeInputHandle, type VerificationCodeInputProps, VideoIcon, VideoOffIcon, WhatsAppIcon, ZoomOutIcon, abbreviateMonthName, avatarTypography, badgeTypography, buttonTypography, colors, commentCardTypography, counterTypography, datePickerTypography, defaultLanguageOptions, fonts, formatDate, formatDateDayShortMonth, getIconsByGroup, grey, iconGroupNames, iconGroups, iconNames, icons, inputTypography, languageSwitcherTypography, ratingTypography, resolvePopoverAlign, segmentedToggleTypography, selectTypography, statCardTypography, textareaTypography };
1558
+ export { Accordion, AccordionItem, type AccordionItemProps, type AccordionProps, AccountHeader, type AccountHeaderProps, AlertTriangleIcon, Amenity, AmenityIcon, type AmenityIconProps, type AmenityName, type AmenityProps, type AmenityVariant, AppleIcon, AreaExpandIcon, ArrowLeftIcon, ArrowRightIcon, AutocompleteInput, type AutocompleteInputProps, type AutocompleteOption, Avatar, type AvatarMenuItem, type AvatarProps, AvatarSimple, type AvatarSimpleProps, BRAND_LOGO_COLORS, BRAND_LOGO_DEFAULT_HEIGHT, BRAND_LOGO_DEFAULT_WIDTH, Badge, type BadgeProps, type BadgeVariant, BagIcon, BanIcon, BathroomsIcon, BedroomsIcon, BellIcon, BrandLogo, type BrandLogoProps, type BrandLogoVariant, BuildingIcon, Button, type ButtonProps, type ButtonSize, type ButtonVariant, CalendarIcon, CalendarOutlineIcon, CameraFilledIcon, CameraIcon, CardLocationIcon, CheckBadgeIcon, CheckIcon, CheckSuccessIcon, Checkbox, type CheckboxProps, type CheckboxVariant, ChevronDownIcon, ChevronLeftIcon, ClockFilledIcon, ClockIcon, CloseIcon, CommentCard, type CommentCardProps, ContactInfoCard, type ContactInfoCardProps, CopyIcon, Counter, type CounterProps, CurrentLocationIcon, DatePicker, type DatePickerProps, type DatePickerRangeProps, type DatePickerSingleProps, type DatePickerVariant, type DateRange, DownloadIcon, EditIcon, FacebookIcon, FavoritesButton, type FavoritesButtonProps, FiltersIcon, FloatingActionButton, type FloatingActionButtonProps, FullscreenIcon, GlobeIcon, GooglePlayIcon, type GreyStep, GuestsIcon, HeadsetIcon, HeartIcon, HelpCircleIcon, HideIcon, HomeIcon, Icon, type IconByNameProps, type IconComponent, type IconGroup, type IconName, type IconProps, IconStatusBadge, type IconStatusBadgeProps, InfoCardV2, type InfoCardV2Props, InfoTile, type InfoTileProps, Input, type InputIcon, type InputProps, type InputSize, InstagramIcon, KeyIcon, type LanguageOption, LanguageSwitcher, type LanguageSwitcherProps, type LanguageSwitcherVariant, LayoutGridIcon, LinkedInIcon, ListViewIcon, LocationPinIcon, LocationUserIcon, LockIcon, LogOutIcon, MailIcon, MapCollapseIcon, MapExpandIcon, MapViewIcon, MenuIcon, type MenuIconProps, MenuItem, type MenuItemProps, MenuLinesIcon, MinusIcon, Modal, type ModalProps, MoreHorizontalIcon, NavigateIcon, NoSmokingIcon, PaginationDots, type PaginationDotsProps, PawIcon, PhoneIcon, PlusIcon, type PopoverAlign, QrCodeIcon, QuantityInput, type QuantityInputProps, QuietHoursIcon, Range, type RangeProps, type RangeValue, RatingInput, type RatingInputProps, RatingStarIcon, RefreshIcon, RefundStatusIcon, type ResolvePopoverAlignOptions, SaveHeartIcon, SearchIcon, SegmentedToggle, type SegmentedToggleOption, type SegmentedToggleProps, Select, type SelectIcon, type SelectMultipleProps, type SelectOption, type SelectProps, type SelectSingleProps, SettingsIcon, ShareIcon, ShowIcon, Sidebar, SidebarIcon, type SidebarItem, type SidebarProps, type SidebarUser, SortIcon, StarFilledIcon, StarIcon, type StarIconProps, StatCard, type StatCardProps, StatusBadge, type StatusBadgeProps, type StatusBadgeTone, StepList, type StepListProps, StepPager, type StepPagerProps, TableViewIcon, Textarea, type TextareaProps, Toggle, type ToggleProps, ToggleRow, type ToggleRowProps, TooltipArrowIcon, TrashIcon, UserIcon, UsersAltIcon, VerificationCodeInput, type VerificationCodeInputHandle, type VerificationCodeInputProps, VideoIcon, VideoOffIcon, WhatsAppIcon, ZoomOutIcon, abbreviateMonthName, avatarTypography, badgeTypography, buttonTypography, colors, commentCardTypography, counterTypography, datePickerTypography, defaultLanguageOptions, fonts, formatDate, formatDateDayShortMonth, getIconsByGroup, grey, iconGroupNames, iconGroups, iconNames, icons, inputTypography, languageSwitcherTypography, ratingTypography, resolvePopoverAlign, segmentedToggleTypography, selectTypography, statCardTypography, textareaTypography };