@ecohouse/ui 0.1.36 → 0.1.39

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 (43) hide show
  1. package/README.md +2 -0
  2. package/dist/index.cjs +1169 -428
  3. package/dist/index.cjs.map +1 -1
  4. package/dist/index.d.cts +101 -2
  5. package/dist/index.d.ts +101 -2
  6. package/dist/index.js +1092 -358
  7. package/dist/index.js.map +1 -1
  8. package/package.json +4 -3
  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/Drawer/Drawer.stories.tsx +79 -0
  17. package/src/components/Drawer/Drawer.tsx +239 -0
  18. package/src/components/Drawer/index.ts +2 -0
  19. package/src/components/QuantityInput/QuantityInput.stories.tsx +45 -0
  20. package/src/components/QuantityInput/QuantityInput.tsx +153 -0
  21. package/src/components/QuantityInput/index.ts +2 -0
  22. package/src/components/StatusBadge/StatusBadge.tsx +1 -1
  23. package/src/components/index.ts +12 -0
  24. package/src/icons/ArrowLeft/ArrowLeftIcon.test.ts +10 -0
  25. package/src/icons/ArrowLeft/ArrowLeftIcon.tsx +21 -0
  26. package/src/icons/ArrowLeft/ArrowLeftIcon.web.tsx +26 -0
  27. package/src/icons/ArrowLeft/arrowLeftPath.ts +3 -0
  28. package/src/icons/ArrowLeft/index.ts +1 -0
  29. package/src/icons/CalendarMinus/CalendarMinusIcon.tsx +25 -0
  30. package/src/icons/CalendarMinus/CalendarMinusIcon.web.tsx +31 -0
  31. package/src/icons/CalendarMinus/calendarMinusPath.ts +3 -0
  32. package/src/icons/CalendarMinus/index.ts +1 -0
  33. package/src/icons/CurrentLocation/CurrentLocationIcon.test.ts +10 -0
  34. package/src/icons/CurrentLocation/CurrentLocationIcon.tsx +25 -0
  35. package/src/icons/CurrentLocation/CurrentLocationIcon.web.tsx +30 -0
  36. package/src/icons/CurrentLocation/currentLocationPath.ts +3 -0
  37. package/src/icons/CurrentLocation/index.ts +1 -0
  38. package/src/icons/index.ts +3 -0
  39. package/src/icons/registry.ts +3 -0
  40. package/src/index.ts +12 -0
  41. package/src/theme/colors.test.ts +1 -0
  42. package/src/theme/colors.ts +2 -0
  43. package/src/web/styles/account-header.css +22 -0
package/dist/index.d.cts CHANGED
@@ -79,6 +79,9 @@ declare function BuildingIcon({ size, color, strokeWidth }: IconProps): react.JS
79
79
  /** Native — react-native-svg (peer dependency). */
80
80
  declare function CalendarIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
81
81
 
82
+ /** Native — react-native-svg (peer dependency). */
83
+ declare function CalendarMinusIcon({ size, color, strokeWidth, }: IconProps): react.JSX.Element;
84
+
82
85
  /** Native — react-native-svg (peer dependency). */
83
86
  declare function CalendarOutlineIcon({ size, color, strokeWidth, }: IconProps): react.JSX.Element;
84
87
 
@@ -281,6 +284,7 @@ declare const icons: {
281
284
  readonly bell: typeof BellIcon;
282
285
  readonly building: typeof BuildingIcon;
283
286
  readonly calendar: typeof CalendarIcon;
287
+ readonly calendarMinus: typeof CalendarMinusIcon;
284
288
  readonly calendarOutline: typeof CalendarOutlineIcon;
285
289
  readonly camera: typeof CameraIcon;
286
290
  readonly cameraFilled: typeof CameraFilledIcon;
@@ -359,7 +363,7 @@ type IconName = keyof typeof icons;
359
363
  declare const iconNames: IconName[];
360
364
  declare const iconGroups: {
361
365
  readonly navigation: readonly ["arrowRight", "chevronDown", "chevronLeft", "home", "listView", "locationPin", "locationUser", "mapCollapse", "mapExpand", "mapView", "menu", "menuLines", "navigate", "tableView"];
362
- 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"];
366
+ readonly actions: readonly ["show", "hide", "alertTriangle", "ban", "bell", "camera", "key", "check", "checkBadge", "checkSuccess", "copy", "download", "search", "calendar", "calendarMinus", "calendarOutline", "close", "edit", "ratingStar", "saveHeart", "share", "filters", "fullscreen", "heart", "headset", "zoomOut", "star", "starFilled", "minus", "moreHorizontal", "plus", "refresh", "refundStatus", "sort"];
363
367
  readonly objects: readonly ["bag", "bathrooms", "bedrooms", "building", "cardLocation", "clock", "clockFilled", "guests", "lock", "noSmoking", "paw", "qrCode", "quietHours", "trash", "user", "usersAlt", "video", "videoOff", "whatsApp"];
364
368
  readonly communication: readonly ["mail", "phone"];
365
369
  readonly social: readonly ["apple", "facebook", "googlePlay", "instagram", "linkedin"];
@@ -374,6 +378,12 @@ interface IconByNameProps extends IconProps {
374
378
  }
375
379
  declare function Icon({ name, ...props }: IconByNameProps): react.JSX.Element;
376
380
 
381
+ /** Native — react-native-svg (peer dependency). */
382
+ declare function ArrowLeftIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
383
+
384
+ /** Native — react-native-svg (peer dependency). */
385
+ declare function CurrentLocationIcon({ size, color, strokeWidth, }: IconProps): react.JSX.Element;
386
+
377
387
  interface InfoCardV2Props extends Omit<ViewProps, "style" | "children"> {
378
388
  label: string;
379
389
  value: string;
@@ -634,6 +644,21 @@ interface AccordionItemProps extends Omit<ViewProps, "style" | "children"> {
634
644
  */
635
645
  declare const AccordionItem: react.ForwardRefExoticComponent<AccordionItemProps & react.RefAttributes<View>>;
636
646
 
647
+ interface AccordionProps extends Omit<ViewProps, "style" | "children"> {
648
+ title: string;
649
+ children: ReactNode;
650
+ open?: boolean;
651
+ defaultOpen?: boolean;
652
+ onOpenChange?: (open: boolean) => void;
653
+ disabled?: boolean;
654
+ error?: boolean;
655
+ style?: StyleProp<ViewStyle>;
656
+ contentStyle?: StyleProp<ViewStyle>;
657
+ className?: string;
658
+ }
659
+ /** Expandable surface for arbitrary interactive content such as form fields. */
660
+ declare const Accordion: react.ForwardRefExoticComponent<AccordionProps & react.RefAttributes<View>>;
661
+
637
662
  interface StepListProps extends Omit<ViewProps, "style" | "children"> {
638
663
  /** Step descriptions, numbered automatically from 1. */
639
664
  steps: string[];
@@ -653,12 +678,35 @@ interface CounterProps extends Omit<ViewProps, "style" | "children"> {
653
678
  max?: number;
654
679
  step?: number;
655
680
  disabled?: boolean;
681
+ /** Places the value before both controls for use inside input-like fields. */
682
+ layout?: "controls-around" | "value-first";
656
683
  style?: StyleProp<ViewStyle>;
657
684
  className?: string;
658
685
  hitSlop?: PressableProps["hitSlop"];
659
686
  }
660
687
  declare const Counter: react.ForwardRefExoticComponent<CounterProps & react.RefAttributes<View>>;
661
688
 
689
+ interface QuantityInputProps extends Omit<ViewProps, "style" | "children"> {
690
+ label: string;
691
+ icon: IconComponent;
692
+ iconProps?: Omit<IconProps, "size">;
693
+ iconSize?: number;
694
+ value?: number;
695
+ defaultValue?: number;
696
+ onValueChange?: (value: number) => void;
697
+ min?: number;
698
+ max?: number;
699
+ step?: number;
700
+ disabled?: boolean;
701
+ error?: boolean;
702
+ hint?: string;
703
+ showHint?: boolean;
704
+ style?: StyleProp<ViewStyle>;
705
+ className?: string;
706
+ }
707
+ /** Input-like labeled quantity control with an icon and increment/decrement actions. */
708
+ declare const QuantityInput: react.ForwardRefExoticComponent<QuantityInputProps & react.RefAttributes<View>>;
709
+
662
710
  interface SegmentedToggleOption {
663
711
  value: string;
664
712
  label: string;
@@ -902,6 +950,29 @@ interface ModalProps {
902
950
  }
903
951
  declare const Modal: react.ForwardRefExoticComponent<ModalProps & react.RefAttributes<View>>;
904
952
 
953
+ interface DrawerProps {
954
+ /** Controls visibility. */
955
+ open: boolean;
956
+ /** Called on backdrop press, Escape / Android back, or header close. */
957
+ onClose: () => void;
958
+ children: ReactNode;
959
+ /** Header title. When set, the standard drawer header is rendered. */
960
+ title?: string;
961
+ /** Panel width in px. Defaults to `652`. */
962
+ width?: number;
963
+ /** Close when the dimmed backdrop is pressed. Defaults to `true`. */
964
+ closeOnBackdropPress?: boolean;
965
+ /** Accessible name for the backdrop control. Defaults to `"Close"`. */
966
+ backdropAccessibilityLabel?: string;
967
+ /** Accessible name for the header close control. Defaults to `"Close"`. */
968
+ closeAccessibilityLabel?: string;
969
+ /** Style for the drawer panel. */
970
+ style?: StyleProp<ViewStyle>;
971
+ /** Web CSS class applied to the drawer panel. */
972
+ className?: string;
973
+ }
974
+ declare const Drawer: react.ForwardRefExoticComponent<DrawerProps & react.RefAttributes<View>>;
975
+
905
976
  type StatefulIcon = ReactNode | IconComponent;
906
977
 
907
978
  type InputSize = "lg" | "sm";
@@ -931,6 +1002,32 @@ interface InputProps extends Omit<TextInputProps, "style" | "editable"> {
931
1002
  }
932
1003
  declare const Input: react.ForwardRefExoticComponent<InputProps & react.RefAttributes<TextInput>>;
933
1004
 
1005
+ interface AutocompleteOption {
1006
+ value: string;
1007
+ label: string;
1008
+ description?: string;
1009
+ }
1010
+ interface AutocompleteInputProps extends Omit<InputProps, "value" | "onChangeText" | "onSubmitEditing"> {
1011
+ value: string;
1012
+ options: AutocompleteOption[];
1013
+ onChangeText: (value: string) => void;
1014
+ onOptionSelect: (option: AutocompleteOption) => void;
1015
+ onSubmit?: (firstOption?: AutocompleteOption) => void;
1016
+ open?: boolean;
1017
+ defaultOpen?: boolean;
1018
+ onOpenChange?: (open: boolean) => void;
1019
+ loading?: boolean;
1020
+ loadingText?: string;
1021
+ emptyText?: string;
1022
+ showEmpty?: boolean;
1023
+ renderOption?: (option: AutocompleteOption, highlighted: boolean) => ReactNode;
1024
+ containerStyle?: StyleProp<ViewStyle>;
1025
+ menuStyle?: StyleProp<ViewStyle>;
1026
+ containerClassName?: string;
1027
+ menuClassName?: string;
1028
+ }
1029
+ declare const AutocompleteInput: react.ForwardRefExoticComponent<AutocompleteInputProps & react.RefAttributes<View>>;
1030
+
934
1031
  interface VerificationCodeInputHandle {
935
1032
  clear: () => void;
936
1033
  focus: (index?: number) => void;
@@ -1155,12 +1252,14 @@ declare const grey: {
1155
1252
  type GreyStep = keyof typeof grey;
1156
1253
  declare const colors: {
1157
1254
  readonly primary: "#B46436";
1255
+ readonly primaryLight: "#E38E5E";
1158
1256
  readonly black: "#000000";
1159
1257
  readonly white: "#ffffff";
1160
1258
  readonly whiteAlpha86: "#FFFFFFDB";
1161
1259
  readonly whiteAlpha60: "#FFFFFF99";
1162
1260
  readonly whiteAlpha40: "#FFFFFF66";
1163
1261
  readonly whiteAlpha20: "#FFFFFF33";
1262
+ readonly whiteAlpha1: "#FFFFFF03";
1164
1263
  readonly whiteAlpha6: "#FFFFFF0F";
1165
1264
  readonly whiteAlpha10: "#FFFFFF1A";
1166
1265
  readonly whiteAlpha5: "#FFFFFF0D";
@@ -1482,4 +1581,4 @@ type ResolvePopoverAlignOptions = {
1482
1581
  */
1483
1582
  declare function resolvePopoverAlign({ triggerRect, panelWidth, viewportWidth, padding, preferred, }: ResolvePopoverAlignOptions): PopoverAlign;
1484
1583
 
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 };
1584
+ 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, CalendarMinusIcon, 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, Drawer, type DrawerProps, 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
@@ -79,6 +79,9 @@ declare function BuildingIcon({ size, color, strokeWidth }: IconProps): react.JS
79
79
  /** Native — react-native-svg (peer dependency). */
80
80
  declare function CalendarIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
81
81
 
82
+ /** Native — react-native-svg (peer dependency). */
83
+ declare function CalendarMinusIcon({ size, color, strokeWidth, }: IconProps): react.JSX.Element;
84
+
82
85
  /** Native — react-native-svg (peer dependency). */
83
86
  declare function CalendarOutlineIcon({ size, color, strokeWidth, }: IconProps): react.JSX.Element;
84
87
 
@@ -281,6 +284,7 @@ declare const icons: {
281
284
  readonly bell: typeof BellIcon;
282
285
  readonly building: typeof BuildingIcon;
283
286
  readonly calendar: typeof CalendarIcon;
287
+ readonly calendarMinus: typeof CalendarMinusIcon;
284
288
  readonly calendarOutline: typeof CalendarOutlineIcon;
285
289
  readonly camera: typeof CameraIcon;
286
290
  readonly cameraFilled: typeof CameraFilledIcon;
@@ -359,7 +363,7 @@ type IconName = keyof typeof icons;
359
363
  declare const iconNames: IconName[];
360
364
  declare const iconGroups: {
361
365
  readonly navigation: readonly ["arrowRight", "chevronDown", "chevronLeft", "home", "listView", "locationPin", "locationUser", "mapCollapse", "mapExpand", "mapView", "menu", "menuLines", "navigate", "tableView"];
362
- 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"];
366
+ readonly actions: readonly ["show", "hide", "alertTriangle", "ban", "bell", "camera", "key", "check", "checkBadge", "checkSuccess", "copy", "download", "search", "calendar", "calendarMinus", "calendarOutline", "close", "edit", "ratingStar", "saveHeart", "share", "filters", "fullscreen", "heart", "headset", "zoomOut", "star", "starFilled", "minus", "moreHorizontal", "plus", "refresh", "refundStatus", "sort"];
363
367
  readonly objects: readonly ["bag", "bathrooms", "bedrooms", "building", "cardLocation", "clock", "clockFilled", "guests", "lock", "noSmoking", "paw", "qrCode", "quietHours", "trash", "user", "usersAlt", "video", "videoOff", "whatsApp"];
364
368
  readonly communication: readonly ["mail", "phone"];
365
369
  readonly social: readonly ["apple", "facebook", "googlePlay", "instagram", "linkedin"];
@@ -374,6 +378,12 @@ interface IconByNameProps extends IconProps {
374
378
  }
375
379
  declare function Icon({ name, ...props }: IconByNameProps): react.JSX.Element;
376
380
 
381
+ /** Native — react-native-svg (peer dependency). */
382
+ declare function ArrowLeftIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
383
+
384
+ /** Native — react-native-svg (peer dependency). */
385
+ declare function CurrentLocationIcon({ size, color, strokeWidth, }: IconProps): react.JSX.Element;
386
+
377
387
  interface InfoCardV2Props extends Omit<ViewProps, "style" | "children"> {
378
388
  label: string;
379
389
  value: string;
@@ -634,6 +644,21 @@ interface AccordionItemProps extends Omit<ViewProps, "style" | "children"> {
634
644
  */
635
645
  declare const AccordionItem: react.ForwardRefExoticComponent<AccordionItemProps & react.RefAttributes<View>>;
636
646
 
647
+ interface AccordionProps extends Omit<ViewProps, "style" | "children"> {
648
+ title: string;
649
+ children: ReactNode;
650
+ open?: boolean;
651
+ defaultOpen?: boolean;
652
+ onOpenChange?: (open: boolean) => void;
653
+ disabled?: boolean;
654
+ error?: boolean;
655
+ style?: StyleProp<ViewStyle>;
656
+ contentStyle?: StyleProp<ViewStyle>;
657
+ className?: string;
658
+ }
659
+ /** Expandable surface for arbitrary interactive content such as form fields. */
660
+ declare const Accordion: react.ForwardRefExoticComponent<AccordionProps & react.RefAttributes<View>>;
661
+
637
662
  interface StepListProps extends Omit<ViewProps, "style" | "children"> {
638
663
  /** Step descriptions, numbered automatically from 1. */
639
664
  steps: string[];
@@ -653,12 +678,35 @@ interface CounterProps extends Omit<ViewProps, "style" | "children"> {
653
678
  max?: number;
654
679
  step?: number;
655
680
  disabled?: boolean;
681
+ /** Places the value before both controls for use inside input-like fields. */
682
+ layout?: "controls-around" | "value-first";
656
683
  style?: StyleProp<ViewStyle>;
657
684
  className?: string;
658
685
  hitSlop?: PressableProps["hitSlop"];
659
686
  }
660
687
  declare const Counter: react.ForwardRefExoticComponent<CounterProps & react.RefAttributes<View>>;
661
688
 
689
+ interface QuantityInputProps extends Omit<ViewProps, "style" | "children"> {
690
+ label: string;
691
+ icon: IconComponent;
692
+ iconProps?: Omit<IconProps, "size">;
693
+ iconSize?: number;
694
+ value?: number;
695
+ defaultValue?: number;
696
+ onValueChange?: (value: number) => void;
697
+ min?: number;
698
+ max?: number;
699
+ step?: number;
700
+ disabled?: boolean;
701
+ error?: boolean;
702
+ hint?: string;
703
+ showHint?: boolean;
704
+ style?: StyleProp<ViewStyle>;
705
+ className?: string;
706
+ }
707
+ /** Input-like labeled quantity control with an icon and increment/decrement actions. */
708
+ declare const QuantityInput: react.ForwardRefExoticComponent<QuantityInputProps & react.RefAttributes<View>>;
709
+
662
710
  interface SegmentedToggleOption {
663
711
  value: string;
664
712
  label: string;
@@ -902,6 +950,29 @@ interface ModalProps {
902
950
  }
903
951
  declare const Modal: react.ForwardRefExoticComponent<ModalProps & react.RefAttributes<View>>;
904
952
 
953
+ interface DrawerProps {
954
+ /** Controls visibility. */
955
+ open: boolean;
956
+ /** Called on backdrop press, Escape / Android back, or header close. */
957
+ onClose: () => void;
958
+ children: ReactNode;
959
+ /** Header title. When set, the standard drawer header is rendered. */
960
+ title?: string;
961
+ /** Panel width in px. Defaults to `652`. */
962
+ width?: number;
963
+ /** Close when the dimmed backdrop is pressed. Defaults to `true`. */
964
+ closeOnBackdropPress?: boolean;
965
+ /** Accessible name for the backdrop control. Defaults to `"Close"`. */
966
+ backdropAccessibilityLabel?: string;
967
+ /** Accessible name for the header close control. Defaults to `"Close"`. */
968
+ closeAccessibilityLabel?: string;
969
+ /** Style for the drawer panel. */
970
+ style?: StyleProp<ViewStyle>;
971
+ /** Web CSS class applied to the drawer panel. */
972
+ className?: string;
973
+ }
974
+ declare const Drawer: react.ForwardRefExoticComponent<DrawerProps & react.RefAttributes<View>>;
975
+
905
976
  type StatefulIcon = ReactNode | IconComponent;
906
977
 
907
978
  type InputSize = "lg" | "sm";
@@ -931,6 +1002,32 @@ interface InputProps extends Omit<TextInputProps, "style" | "editable"> {
931
1002
  }
932
1003
  declare const Input: react.ForwardRefExoticComponent<InputProps & react.RefAttributes<TextInput>>;
933
1004
 
1005
+ interface AutocompleteOption {
1006
+ value: string;
1007
+ label: string;
1008
+ description?: string;
1009
+ }
1010
+ interface AutocompleteInputProps extends Omit<InputProps, "value" | "onChangeText" | "onSubmitEditing"> {
1011
+ value: string;
1012
+ options: AutocompleteOption[];
1013
+ onChangeText: (value: string) => void;
1014
+ onOptionSelect: (option: AutocompleteOption) => void;
1015
+ onSubmit?: (firstOption?: AutocompleteOption) => void;
1016
+ open?: boolean;
1017
+ defaultOpen?: boolean;
1018
+ onOpenChange?: (open: boolean) => void;
1019
+ loading?: boolean;
1020
+ loadingText?: string;
1021
+ emptyText?: string;
1022
+ showEmpty?: boolean;
1023
+ renderOption?: (option: AutocompleteOption, highlighted: boolean) => ReactNode;
1024
+ containerStyle?: StyleProp<ViewStyle>;
1025
+ menuStyle?: StyleProp<ViewStyle>;
1026
+ containerClassName?: string;
1027
+ menuClassName?: string;
1028
+ }
1029
+ declare const AutocompleteInput: react.ForwardRefExoticComponent<AutocompleteInputProps & react.RefAttributes<View>>;
1030
+
934
1031
  interface VerificationCodeInputHandle {
935
1032
  clear: () => void;
936
1033
  focus: (index?: number) => void;
@@ -1155,12 +1252,14 @@ declare const grey: {
1155
1252
  type GreyStep = keyof typeof grey;
1156
1253
  declare const colors: {
1157
1254
  readonly primary: "#B46436";
1255
+ readonly primaryLight: "#E38E5E";
1158
1256
  readonly black: "#000000";
1159
1257
  readonly white: "#ffffff";
1160
1258
  readonly whiteAlpha86: "#FFFFFFDB";
1161
1259
  readonly whiteAlpha60: "#FFFFFF99";
1162
1260
  readonly whiteAlpha40: "#FFFFFF66";
1163
1261
  readonly whiteAlpha20: "#FFFFFF33";
1262
+ readonly whiteAlpha1: "#FFFFFF03";
1164
1263
  readonly whiteAlpha6: "#FFFFFF0F";
1165
1264
  readonly whiteAlpha10: "#FFFFFF1A";
1166
1265
  readonly whiteAlpha5: "#FFFFFF0D";
@@ -1482,4 +1581,4 @@ type ResolvePopoverAlignOptions = {
1482
1581
  */
1483
1582
  declare function resolvePopoverAlign({ triggerRect, panelWidth, viewportWidth, padding, preferred, }: ResolvePopoverAlignOptions): PopoverAlign;
1484
1583
 
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 };
1584
+ 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, CalendarMinusIcon, 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, Drawer, type DrawerProps, 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 };