@ecohouse/ui 0.1.54 → 0.1.56

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
@@ -511,11 +511,12 @@ declare const BRAND_LOGO_COLORS: {
511
511
  declare function BrandLogo({ variant, width, height, accessibilityLabel, }: BrandLogoProps): react.JSX.Element;
512
512
 
513
513
  /** Data shape for an Avatar dropdown option — same fields as `MenuItem`. */
514
- type AvatarMenuItem = Pick<MenuItemProps, "icon" | "label" | "disabled" | "backgroundColor" | "hoverColor"> & {
514
+ type AvatarMenuItem = Pick<MenuItemProps, "icon" | "label" | "disabled" | "backgroundColor" | "hoverColor" | "labelStyle"> & {
515
515
  /** Stable identity for React keys; falls back to `label`. */
516
516
  key?: string;
517
517
  onPress: () => void;
518
518
  };
519
+ type AvatarVariant = "light" | "dark";
519
520
  interface AvatarProps extends Omit<PressableProps, "onPress" | "disabled" | "style" | "children" | "hitSlop"> {
520
521
  /** Logged-in user's display name. */
521
522
  name: string;
@@ -529,6 +530,8 @@ interface AvatarProps extends Omit<PressableProps, "onPress" | "disabled" | "sty
529
530
  disabled?: boolean;
530
531
  /** Trailing chevron, typically used to hint a dropdown/menu. */
531
532
  showChevron?: boolean;
533
+ /** Visual treatment. `light` is the translucent header design; `dark` preserves the original solid design. */
534
+ variant?: AvatarVariant;
532
535
  /**
533
536
  * Account-menu options, supplied entirely by the consumer (icon, label,
534
537
  * action, and per-item colors). When set, pressing the chip opens a
@@ -819,6 +822,8 @@ interface SidebarProps extends Omit<ViewProps, "style" | "children"> {
819
822
  items: readonly SidebarItem[];
820
823
  user: SidebarUser;
821
824
  onLogOut?: () => void;
825
+ /** Makes the brand mark interactive, e.g. to navigate to the home page. */
826
+ onLogoPress?: () => void;
822
827
  /** Accessible name for the brand mark. Defaults to `"Cortel Booking"`. */
823
828
  logoAccessibilityLabel?: string;
824
829
  /** Accessible name for the nav landmark. Defaults to `"Account navigation"`. */
@@ -1358,9 +1363,10 @@ declare const colors: {
1358
1363
  readonly whiteAlpha40: "#FFFFFF66";
1359
1364
  readonly whiteAlpha20: "#FFFFFF33";
1360
1365
  readonly whiteAlpha1: "#FFFFFF03";
1366
+ readonly whiteAlpha5: "#FFFFFF0D";
1361
1367
  readonly whiteAlpha6: "#FFFFFF0F";
1368
+ readonly whiteAlpha7: "#FFFFFF12";
1362
1369
  readonly whiteAlpha10: "#FFFFFF1A";
1363
- readonly whiteAlpha5: "#FFFFFF0D";
1364
1370
  readonly dark: "#090909";
1365
1371
  readonly red: "#A63E3E";
1366
1372
  readonly lightGrey: "#B7B7B7";
@@ -1679,4 +1685,4 @@ type ResolvePopoverAlignOptions = {
1679
1685
  */
1680
1686
  declare function resolvePopoverAlign({ triggerRect, panelWidth, viewportWidth, padding, preferred, }: ResolvePopoverAlignOptions): PopoverAlign;
1681
1687
 
1682
- export { Accordion, AccordionItem, type AccordionItemProps, type AccordionProps, AccountHeader, type AccountHeaderProps, ActiveGuestsIcon, 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, BlockedGuestsIcon, BrandLogo, type BrandLogoProps, type BrandLogoVariant, BuildingIcon, Button, type ButtonProps, type ButtonSize, type ButtonVariant, CalendarFilledIcon, CalendarIcon, CalendarMinusIcon, CalendarOutlineIcon, CameraFilledIcon, CameraIcon, CardLocationIcon, CheckBadgeIcon, CheckIcon, CheckSuccessIcon, Checkbox, type CheckboxProps, type CheckboxVariant, ChevronDownIcon, ChevronLeftIcon, ClockFilledIcon, ClockIcon, CloseIcon, CloudUploadIcon, CommentCard, type CommentCardProps, ContactInfoCard, type ContactInfoCardProps, CopyIcon, Counter, type CounterProps, CurrentLocationIcon, CutleryIcon, DatePicker, type DatePickerProps, type DatePickerRangeProps, type DatePickerSingleProps, type DatePickerVariant, type DateRange, DeactivateIcon, DollarIcon, DownloadIcon, DragHandleIcon, DramIcon, Drawer, type DrawerProps, EditIcon, ExternalLinkIcon, EyeIcon, 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, ImageIcon, InfoCardV2, type InfoCardV2Props, InfoCircleIcon, 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, MoonStarsIcon, MoreHorizontalIcon, NavigateIcon, NoPetsIcon, NoReviewIcon, NoSmokingIcon, PaginationDots, type PaginationDotsProps, PawIcon, PhoneIcon, PlusIcon, type PopoverAlign, QrCodeIcon, QuantityInput, type QuantityInputProps, QuietHoursIcon, RadioButton, type RadioButtonProps, type RadioButtonVariant, 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, SmartKeyIcon, SortIcon, StarFilledIcon, StarIcon, type StarIconProps, StarOutlineIcon, StatCard, type StatCardProps, StatusBadge, type StatusBadgeProps, type StatusBadgeTone, StayHomeIcon, StepList, type StepListProps, StepPager, type StepPagerProps, SunIcon, TableViewIcon, Textarea, type TextareaProps, Toggle, type ToggleProps, ToggleRow, type ToggleRowProps, TooltipArrowIcon, TotalGuestsIcon, TrashIcon, UnlockIcon, UserIcon, UsersAltIcon, VerificationCodeInput, type VerificationCodeInputHandle, type VerificationCodeInputProps, VideoIcon, VideoOffIcon, WasherIcon, 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 };
1688
+ export { Accordion, AccordionItem, type AccordionItemProps, type AccordionProps, AccountHeader, type AccountHeaderProps, ActiveGuestsIcon, 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, type AvatarVariant, BRAND_LOGO_COLORS, BRAND_LOGO_DEFAULT_HEIGHT, BRAND_LOGO_DEFAULT_WIDTH, Badge, type BadgeProps, type BadgeVariant, BagIcon, BanIcon, BathroomsIcon, BedroomsIcon, BellIcon, BlockedGuestsIcon, BrandLogo, type BrandLogoProps, type BrandLogoVariant, BuildingIcon, Button, type ButtonProps, type ButtonSize, type ButtonVariant, CalendarFilledIcon, CalendarIcon, CalendarMinusIcon, CalendarOutlineIcon, CameraFilledIcon, CameraIcon, CardLocationIcon, CheckBadgeIcon, CheckIcon, CheckSuccessIcon, Checkbox, type CheckboxProps, type CheckboxVariant, ChevronDownIcon, ChevronLeftIcon, ClockFilledIcon, ClockIcon, CloseIcon, CloudUploadIcon, CommentCard, type CommentCardProps, ContactInfoCard, type ContactInfoCardProps, CopyIcon, Counter, type CounterProps, CurrentLocationIcon, CutleryIcon, DatePicker, type DatePickerProps, type DatePickerRangeProps, type DatePickerSingleProps, type DatePickerVariant, type DateRange, DeactivateIcon, DollarIcon, DownloadIcon, DragHandleIcon, DramIcon, Drawer, type DrawerProps, EditIcon, ExternalLinkIcon, EyeIcon, 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, ImageIcon, InfoCardV2, type InfoCardV2Props, InfoCircleIcon, 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, MoonStarsIcon, MoreHorizontalIcon, NavigateIcon, NoPetsIcon, NoReviewIcon, NoSmokingIcon, PaginationDots, type PaginationDotsProps, PawIcon, PhoneIcon, PlusIcon, type PopoverAlign, QrCodeIcon, QuantityInput, type QuantityInputProps, QuietHoursIcon, RadioButton, type RadioButtonProps, type RadioButtonVariant, 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, SmartKeyIcon, SortIcon, StarFilledIcon, StarIcon, type StarIconProps, StarOutlineIcon, StatCard, type StatCardProps, StatusBadge, type StatusBadgeProps, type StatusBadgeTone, StayHomeIcon, StepList, type StepListProps, StepPager, type StepPagerProps, SunIcon, TableViewIcon, Textarea, type TextareaProps, Toggle, type ToggleProps, ToggleRow, type ToggleRowProps, TooltipArrowIcon, TotalGuestsIcon, TrashIcon, UnlockIcon, UserIcon, UsersAltIcon, VerificationCodeInput, type VerificationCodeInputHandle, type VerificationCodeInputProps, VideoIcon, VideoOffIcon, WasherIcon, 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
@@ -511,11 +511,12 @@ declare const BRAND_LOGO_COLORS: {
511
511
  declare function BrandLogo({ variant, width, height, accessibilityLabel, }: BrandLogoProps): react.JSX.Element;
512
512
 
513
513
  /** Data shape for an Avatar dropdown option — same fields as `MenuItem`. */
514
- type AvatarMenuItem = Pick<MenuItemProps, "icon" | "label" | "disabled" | "backgroundColor" | "hoverColor"> & {
514
+ type AvatarMenuItem = Pick<MenuItemProps, "icon" | "label" | "disabled" | "backgroundColor" | "hoverColor" | "labelStyle"> & {
515
515
  /** Stable identity for React keys; falls back to `label`. */
516
516
  key?: string;
517
517
  onPress: () => void;
518
518
  };
519
+ type AvatarVariant = "light" | "dark";
519
520
  interface AvatarProps extends Omit<PressableProps, "onPress" | "disabled" | "style" | "children" | "hitSlop"> {
520
521
  /** Logged-in user's display name. */
521
522
  name: string;
@@ -529,6 +530,8 @@ interface AvatarProps extends Omit<PressableProps, "onPress" | "disabled" | "sty
529
530
  disabled?: boolean;
530
531
  /** Trailing chevron, typically used to hint a dropdown/menu. */
531
532
  showChevron?: boolean;
533
+ /** Visual treatment. `light` is the translucent header design; `dark` preserves the original solid design. */
534
+ variant?: AvatarVariant;
532
535
  /**
533
536
  * Account-menu options, supplied entirely by the consumer (icon, label,
534
537
  * action, and per-item colors). When set, pressing the chip opens a
@@ -819,6 +822,8 @@ interface SidebarProps extends Omit<ViewProps, "style" | "children"> {
819
822
  items: readonly SidebarItem[];
820
823
  user: SidebarUser;
821
824
  onLogOut?: () => void;
825
+ /** Makes the brand mark interactive, e.g. to navigate to the home page. */
826
+ onLogoPress?: () => void;
822
827
  /** Accessible name for the brand mark. Defaults to `"Cortel Booking"`. */
823
828
  logoAccessibilityLabel?: string;
824
829
  /** Accessible name for the nav landmark. Defaults to `"Account navigation"`. */
@@ -1358,9 +1363,10 @@ declare const colors: {
1358
1363
  readonly whiteAlpha40: "#FFFFFF66";
1359
1364
  readonly whiteAlpha20: "#FFFFFF33";
1360
1365
  readonly whiteAlpha1: "#FFFFFF03";
1366
+ readonly whiteAlpha5: "#FFFFFF0D";
1361
1367
  readonly whiteAlpha6: "#FFFFFF0F";
1368
+ readonly whiteAlpha7: "#FFFFFF12";
1362
1369
  readonly whiteAlpha10: "#FFFFFF1A";
1363
- readonly whiteAlpha5: "#FFFFFF0D";
1364
1370
  readonly dark: "#090909";
1365
1371
  readonly red: "#A63E3E";
1366
1372
  readonly lightGrey: "#B7B7B7";
@@ -1679,4 +1685,4 @@ type ResolvePopoverAlignOptions = {
1679
1685
  */
1680
1686
  declare function resolvePopoverAlign({ triggerRect, panelWidth, viewportWidth, padding, preferred, }: ResolvePopoverAlignOptions): PopoverAlign;
1681
1687
 
1682
- export { Accordion, AccordionItem, type AccordionItemProps, type AccordionProps, AccountHeader, type AccountHeaderProps, ActiveGuestsIcon, 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, BlockedGuestsIcon, BrandLogo, type BrandLogoProps, type BrandLogoVariant, BuildingIcon, Button, type ButtonProps, type ButtonSize, type ButtonVariant, CalendarFilledIcon, CalendarIcon, CalendarMinusIcon, CalendarOutlineIcon, CameraFilledIcon, CameraIcon, CardLocationIcon, CheckBadgeIcon, CheckIcon, CheckSuccessIcon, Checkbox, type CheckboxProps, type CheckboxVariant, ChevronDownIcon, ChevronLeftIcon, ClockFilledIcon, ClockIcon, CloseIcon, CloudUploadIcon, CommentCard, type CommentCardProps, ContactInfoCard, type ContactInfoCardProps, CopyIcon, Counter, type CounterProps, CurrentLocationIcon, CutleryIcon, DatePicker, type DatePickerProps, type DatePickerRangeProps, type DatePickerSingleProps, type DatePickerVariant, type DateRange, DeactivateIcon, DollarIcon, DownloadIcon, DragHandleIcon, DramIcon, Drawer, type DrawerProps, EditIcon, ExternalLinkIcon, EyeIcon, 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, ImageIcon, InfoCardV2, type InfoCardV2Props, InfoCircleIcon, 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, MoonStarsIcon, MoreHorizontalIcon, NavigateIcon, NoPetsIcon, NoReviewIcon, NoSmokingIcon, PaginationDots, type PaginationDotsProps, PawIcon, PhoneIcon, PlusIcon, type PopoverAlign, QrCodeIcon, QuantityInput, type QuantityInputProps, QuietHoursIcon, RadioButton, type RadioButtonProps, type RadioButtonVariant, 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, SmartKeyIcon, SortIcon, StarFilledIcon, StarIcon, type StarIconProps, StarOutlineIcon, StatCard, type StatCardProps, StatusBadge, type StatusBadgeProps, type StatusBadgeTone, StayHomeIcon, StepList, type StepListProps, StepPager, type StepPagerProps, SunIcon, TableViewIcon, Textarea, type TextareaProps, Toggle, type ToggleProps, ToggleRow, type ToggleRowProps, TooltipArrowIcon, TotalGuestsIcon, TrashIcon, UnlockIcon, UserIcon, UsersAltIcon, VerificationCodeInput, type VerificationCodeInputHandle, type VerificationCodeInputProps, VideoIcon, VideoOffIcon, WasherIcon, 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 };
1688
+ export { Accordion, AccordionItem, type AccordionItemProps, type AccordionProps, AccountHeader, type AccountHeaderProps, ActiveGuestsIcon, 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, type AvatarVariant, BRAND_LOGO_COLORS, BRAND_LOGO_DEFAULT_HEIGHT, BRAND_LOGO_DEFAULT_WIDTH, Badge, type BadgeProps, type BadgeVariant, BagIcon, BanIcon, BathroomsIcon, BedroomsIcon, BellIcon, BlockedGuestsIcon, BrandLogo, type BrandLogoProps, type BrandLogoVariant, BuildingIcon, Button, type ButtonProps, type ButtonSize, type ButtonVariant, CalendarFilledIcon, CalendarIcon, CalendarMinusIcon, CalendarOutlineIcon, CameraFilledIcon, CameraIcon, CardLocationIcon, CheckBadgeIcon, CheckIcon, CheckSuccessIcon, Checkbox, type CheckboxProps, type CheckboxVariant, ChevronDownIcon, ChevronLeftIcon, ClockFilledIcon, ClockIcon, CloseIcon, CloudUploadIcon, CommentCard, type CommentCardProps, ContactInfoCard, type ContactInfoCardProps, CopyIcon, Counter, type CounterProps, CurrentLocationIcon, CutleryIcon, DatePicker, type DatePickerProps, type DatePickerRangeProps, type DatePickerSingleProps, type DatePickerVariant, type DateRange, DeactivateIcon, DollarIcon, DownloadIcon, DragHandleIcon, DramIcon, Drawer, type DrawerProps, EditIcon, ExternalLinkIcon, EyeIcon, 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, ImageIcon, InfoCardV2, type InfoCardV2Props, InfoCircleIcon, 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, MoonStarsIcon, MoreHorizontalIcon, NavigateIcon, NoPetsIcon, NoReviewIcon, NoSmokingIcon, PaginationDots, type PaginationDotsProps, PawIcon, PhoneIcon, PlusIcon, type PopoverAlign, QrCodeIcon, QuantityInput, type QuantityInputProps, QuietHoursIcon, RadioButton, type RadioButtonProps, type RadioButtonVariant, 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, SmartKeyIcon, SortIcon, StarFilledIcon, StarIcon, type StarIconProps, StarOutlineIcon, StatCard, type StatCardProps, StatusBadge, type StatusBadgeProps, type StatusBadgeTone, StayHomeIcon, StepList, type StepListProps, StepPager, type StepPagerProps, SunIcon, TableViewIcon, Textarea, type TextareaProps, Toggle, type ToggleProps, ToggleRow, type ToggleRowProps, TooltipArrowIcon, TotalGuestsIcon, TrashIcon, UnlockIcon, UserIcon, UsersAltIcon, VerificationCodeInput, type VerificationCodeInputHandle, type VerificationCodeInputProps, VideoIcon, VideoOffIcon, WasherIcon, 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.js CHANGED
@@ -28535,9 +28535,10 @@ var colors = {
28535
28535
  whiteAlpha40: "#FFFFFF66",
28536
28536
  whiteAlpha20: "#FFFFFF33",
28537
28537
  whiteAlpha1: "#FFFFFF03",
28538
+ whiteAlpha5: "#FFFFFF0D",
28538
28539
  whiteAlpha6: "#FFFFFF0F",
28540
+ whiteAlpha7: "#FFFFFF12",
28539
28541
  whiteAlpha10: "#FFFFFF1A",
28540
- whiteAlpha5: "#FFFFFF0D",
28541
28542
  dark: "#090909",
28542
28543
  red: "#A63E3E",
28543
28544
  lightGrey: "#B7B7B7",
@@ -31295,10 +31296,19 @@ function BrandLogo({
31295
31296
  );
31296
31297
  }
31297
31298
  var IMAGE_SIZE = 48;
31299
+ var CONTAINER_HEIGHT = 56;
31298
31300
  var CONTAINER_RADIUS = 71;
31299
31301
  var CHEVRON_SIZE = 20;
31300
31302
  var FALLBACK_ICON_SIZE = 20;
31301
31303
  var MENU_RADIUS = 16;
31304
+ var triggerWebBlurStyle = Platform.OS === "web" ? {
31305
+ backdropFilter: "blur(40px)",
31306
+ WebkitBackdropFilter: "blur(40px)"
31307
+ } : {};
31308
+ var menuWebBlurStyle = Platform.OS === "web" ? {
31309
+ backdropFilter: "blur(40px)",
31310
+ WebkitBackdropFilter: "blur(40px)"
31311
+ } : {};
31302
31312
  var Avatar = forwardRef(function Avatar2({
31303
31313
  name,
31304
31314
  email,
@@ -31306,6 +31316,7 @@ var Avatar = forwardRef(function Avatar2({
31306
31316
  onPress,
31307
31317
  disabled = false,
31308
31318
  showChevron = true,
31319
+ variant = "light",
31309
31320
  menuItems,
31310
31321
  open: openProp,
31311
31322
  defaultOpen = false,
@@ -31327,6 +31338,7 @@ var Avatar = forwardRef(function Avatar2({
31327
31338
  const isOpenControlled = typeof openProp === "boolean";
31328
31339
  const [uncontrolledOpen, setUncontrolledOpen] = useState(defaultOpen);
31329
31340
  const isOpen = hasMenu && (isOpenControlled ? openProp : uncontrolledOpen);
31341
+ const isLightVariant = variant === "light";
31330
31342
  useApplyWebClassName(containerRef, className);
31331
31343
  const setOpen = useCallback(
31332
31344
  (next) => {
@@ -31396,7 +31408,13 @@ var Avatar = forwardRef(function Avatar2({
31396
31408
  accessibilityRole: isInteractive ? "button" : void 0,
31397
31409
  accessibilityLabel: resolvedAccessibilityLabel,
31398
31410
  accessibilityState: isInteractive ? { disabled, expanded: hasMenu ? isOpen : void 0 } : void 0,
31399
- style: [styles6.root, disabled && styles6.disabled, style],
31411
+ style: [
31412
+ styles6.root,
31413
+ isLightVariant ? styles6.rootLight : styles6.rootDark,
31414
+ isLightVariant && triggerWebBlurStyle,
31415
+ disabled && styles6.disabled,
31416
+ style
31417
+ ],
31400
31418
  children: [
31401
31419
  /* @__PURE__ */ jsx(View, { style: styles6.imageWrap, children: hasImage ? /* @__PURE__ */ jsx(
31402
31420
  Image,
@@ -31405,30 +31423,71 @@ var Avatar = forwardRef(function Avatar2({
31405
31423
  style: styles6.image,
31406
31424
  onError: () => setImageFailed(true)
31407
31425
  }
31408
- ) : /* @__PURE__ */ jsx(View, { style: styles6.imageFallback, children: /* @__PURE__ */ jsx(UserIcon, { size: FALLBACK_ICON_SIZE, color: colors.primary }) }) }),
31426
+ ) : /* @__PURE__ */ jsx(
31427
+ View,
31428
+ {
31429
+ style: [
31430
+ styles6.imageFallback,
31431
+ isLightVariant ? styles6.imageFallbackLight : styles6.imageFallbackDark
31432
+ ],
31433
+ children: /* @__PURE__ */ jsx(
31434
+ UserIcon,
31435
+ {
31436
+ size: FALLBACK_ICON_SIZE,
31437
+ color: isLightVariant ? colors.white : colors.primary
31438
+ }
31439
+ )
31440
+ }
31441
+ ) }),
31409
31442
  /* @__PURE__ */ jsxs(View, { style: styles6.textColumn, children: [
31410
31443
  /* @__PURE__ */ jsx(Text, { style: styles6.name, numberOfLines: 1, children: name }),
31411
- email ? /* @__PURE__ */ jsx(Text, { style: styles6.email, numberOfLines: 1, children: email }) : null
31444
+ email ? /* @__PURE__ */ jsx(
31445
+ Text,
31446
+ {
31447
+ style: [styles6.email, isLightVariant ? styles6.emailLight : styles6.emailDark],
31448
+ numberOfLines: 1,
31449
+ children: email
31450
+ }
31451
+ ) : null
31412
31452
  ] }),
31413
- showChevron ? /* @__PURE__ */ jsx(View, { style: [styles6.chevronSlot, isOpen && styles6.chevronOpen], children: /* @__PURE__ */ jsx(ChevronDownIcon, { size: CHEVRON_SIZE, color: isOpen ? colors.primary : colors.grey100 }) }) : null
31453
+ showChevron ? /* @__PURE__ */ jsx(View, { style: [styles6.chevronSlot, isOpen && styles6.chevronOpen], children: /* @__PURE__ */ jsx(
31454
+ ChevronDownIcon,
31455
+ {
31456
+ size: CHEVRON_SIZE,
31457
+ color: isLightVariant ? colors.white : isOpen ? colors.primary : colors.grey100
31458
+ }
31459
+ ) }) : null
31414
31460
  ]
31415
31461
  }
31416
31462
  ),
31417
- hasMenu && isOpen ? /* @__PURE__ */ jsx(View, { style: [styles6.menu, menuWidth != null && { right: void 0, width: menuWidth }], children: resolvedMenuItems.map((item) => {
31418
- const itemKey = item.key ?? item.label;
31419
- return /* @__PURE__ */ jsx(
31420
- MenuItem,
31421
- {
31422
- icon: item.icon,
31423
- label: item.label,
31424
- disabled: item.disabled,
31425
- backgroundColor: item.backgroundColor,
31426
- hoverColor: item.hoverColor,
31427
- onPress: () => handleItemPress(item)
31428
- },
31429
- itemKey
31430
- );
31431
- }) }) : null
31463
+ hasMenu && isOpen ? /* @__PURE__ */ jsx(
31464
+ View,
31465
+ {
31466
+ style: [
31467
+ styles6.menu,
31468
+ isLightVariant ? styles6.menuLight : styles6.menuDark,
31469
+ isLightVariant && menuWebBlurStyle,
31470
+ menuWidth != null && { right: void 0, width: menuWidth }
31471
+ ],
31472
+ children: resolvedMenuItems.map((item) => {
31473
+ const itemKey = item.key ?? item.label;
31474
+ return /* @__PURE__ */ jsx(
31475
+ MenuItem,
31476
+ {
31477
+ icon: item.icon,
31478
+ label: item.label,
31479
+ disabled: item.disabled,
31480
+ backgroundColor: item.backgroundColor,
31481
+ hoverColor: item.hoverColor ?? (isLightVariant ? colors.whiteAlpha7 : void 0),
31482
+ labelStyle: item.labelStyle,
31483
+ onPress: () => handleItemPress(item),
31484
+ style: isLightVariant ? item.backgroundColor ? styles6.emphasizedMenuItem : styles6.menuItem : void 0
31485
+ },
31486
+ itemKey
31487
+ );
31488
+ })
31489
+ }
31490
+ ) : null
31432
31491
  ] });
31433
31492
  });
31434
31493
  var styles6 = StyleSheet.create({
@@ -31440,6 +31499,7 @@ var styles6 = StyleSheet.create({
31440
31499
  zIndex: 20
31441
31500
  },
31442
31501
  root: {
31502
+ height: CONTAINER_HEIGHT,
31443
31503
  flexDirection: "row",
31444
31504
  alignItems: "center",
31445
31505
  alignSelf: "flex-start",
@@ -31448,7 +31508,12 @@ var styles6 = StyleSheet.create({
31448
31508
  paddingBottom: 4,
31449
31509
  paddingLeft: 4,
31450
31510
  paddingRight: 12,
31451
- borderRadius: CONTAINER_RADIUS,
31511
+ borderRadius: CONTAINER_RADIUS
31512
+ },
31513
+ rootLight: {
31514
+ backgroundColor: colors.whiteAlpha5
31515
+ },
31516
+ rootDark: {
31452
31517
  backgroundColor: colors.grey700
31453
31518
  },
31454
31519
  disabled: {
@@ -31469,7 +31534,15 @@ var styles6 = StyleSheet.create({
31469
31534
  width: IMAGE_SIZE,
31470
31535
  height: IMAGE_SIZE,
31471
31536
  alignItems: "center",
31472
- justifyContent: "center",
31537
+ justifyContent: "center"
31538
+ },
31539
+ imageFallbackLight: {
31540
+ borderRadius: IMAGE_SIZE / 2,
31541
+ backgroundColor: "transparent",
31542
+ borderWidth: 1,
31543
+ borderColor: colors.whiteAlpha10
31544
+ },
31545
+ imageFallbackDark: {
31473
31546
  backgroundColor: colors.grey600
31474
31547
  },
31475
31548
  textColumn: {
@@ -31482,7 +31555,12 @@ var styles6 = StyleSheet.create({
31482
31555
  color: colors.white
31483
31556
  },
31484
31557
  email: {
31485
- ...avatarTypography.email,
31558
+ ...avatarTypography.email
31559
+ },
31560
+ emailLight: {
31561
+ color: colors.whiteAlpha60
31562
+ },
31563
+ emailDark: {
31486
31564
  color: colors.grey0
31487
31565
  },
31488
31566
  chevronSlot: {
@@ -31504,7 +31582,15 @@ var styles6 = StyleSheet.create({
31504
31582
  zIndex: 10,
31505
31583
  borderRadius: MENU_RADIUS,
31506
31584
  padding: 8,
31507
- gap: 8,
31585
+ gap: 8
31586
+ },
31587
+ menuLight: {
31588
+ borderWidth: 1,
31589
+ borderColor: colors.whiteAlpha10,
31590
+ backgroundColor: colors.whiteAlpha5,
31591
+ overflow: "hidden"
31592
+ },
31593
+ menuDark: {
31508
31594
  backgroundColor: colors.grey700,
31509
31595
  ...Platform.select({
31510
31596
  web: {
@@ -31514,6 +31600,16 @@ var styles6 = StyleSheet.create({
31514
31600
  elevation: 8
31515
31601
  }
31516
31602
  })
31603
+ },
31604
+ menuItem: {
31605
+ height: 32,
31606
+ minHeight: 32,
31607
+ paddingVertical: 6
31608
+ },
31609
+ emphasizedMenuItem: {
31610
+ height: 46,
31611
+ minHeight: 46,
31612
+ paddingVertical: 11
31517
31613
  }
31518
31614
  });
31519
31615
  var IMAGE_SIZE2 = 32;
@@ -33259,6 +33355,7 @@ var Sidebar = forwardRef(function Sidebar2({
33259
33355
  items,
33260
33356
  user,
33261
33357
  onLogOut,
33358
+ onLogoPress,
33262
33359
  logoAccessibilityLabel = "Cortel Booking",
33263
33360
  navigationAccessibilityLabel = "Account navigation",
33264
33361
  collapseAccessibilityLabel = "Collapse sidebar",
@@ -33335,7 +33432,24 @@ var Sidebar = forwardRef(function Sidebar2({
33335
33432
  ],
33336
33433
  accessibilityElementsHidden: collapsed,
33337
33434
  importantForAccessibility: collapsed ? "no-hide-descendants" : "auto",
33338
- children: /* @__PURE__ */ jsx(
33435
+ children: onLogoPress ? /* @__PURE__ */ jsx(
33436
+ Pressable,
33437
+ {
33438
+ accessibilityRole: "link",
33439
+ accessibilityLabel: logoAccessibilityLabel,
33440
+ hitSlop: 8,
33441
+ onPress: onLogoPress,
33442
+ children: /* @__PURE__ */ jsx(
33443
+ BrandLogo,
33444
+ {
33445
+ accessibilityLabel: logoAccessibilityLabel,
33446
+ height: LOGO_HEIGHT,
33447
+ variant: "brand",
33448
+ width: LOGO_WIDTH
33449
+ }
33450
+ )
33451
+ }
33452
+ ) : /* @__PURE__ */ jsx(
33339
33453
  BrandLogo,
33340
33454
  {
33341
33455
  accessibilityLabel: logoAccessibilityLabel,
@@ -33523,6 +33637,7 @@ var defaultLanguageOptions = [
33523
33637
  ];
33524
33638
  var CONTROL_WIDTH = 96;
33525
33639
  var CONTROL_HEIGHT = 35;
33640
+ var MENU_WIDTH = 90;
33526
33641
  var ICON_SIZE9 = 16;
33527
33642
  var ICON_BUTTON_SIZE2 = 32;
33528
33643
  var ICON_MENU_WIDTH = 67;
@@ -33530,6 +33645,10 @@ var ICON_MENU_HEIGHT = 129;
33530
33645
  var ICON_MENU_TOP = 39;
33531
33646
  var ITEM_HEIGHT = 35;
33532
33647
  var ACTIVE_ITEM_BACKGROUND = "#E38E5E12";
33648
+ var menuWebBlurStyle2 = Platform.OS === "web" ? {
33649
+ backdropFilter: "blur(40px)",
33650
+ WebkitBackdropFilter: "blur(40px)"
33651
+ } : {};
33533
33652
  var LanguageSwitcher = forwardRef(
33534
33653
  function LanguageSwitcher2({
33535
33654
  options = defaultLanguageOptions,
@@ -33634,7 +33753,7 @@ var LanguageSwitcher = forwardRef(
33634
33753
  onHoverOut: () => setTriggerHovered(false),
33635
33754
  style: ({ pressed }) => [
33636
33755
  isIconVariant ? styles22.triggerIcon : styles22.trigger,
33637
- !isIconVariant && (triggerHovered || pressed || isOpen) && styles22.triggerActive
33756
+ !isIconVariant && (triggerHovered || pressed) && styles22.triggerActive
33638
33757
  ],
33639
33758
  children: [
33640
33759
  /* @__PURE__ */ jsx(GlobeIcon, { size: ICON_SIZE9, color: colors.white, strokeWidth: isIconVariant ? 1.5 : 2 }),
@@ -33648,7 +33767,11 @@ var LanguageSwitcher = forwardRef(
33648
33767
  isOpen && options.length > 0 ? /* @__PURE__ */ jsx(
33649
33768
  View,
33650
33769
  {
33651
- style: [styles22.menu, isIconVariant ? styles22.menuIcon : styles22.menuDefault],
33770
+ style: [
33771
+ styles22.menu,
33772
+ !isIconVariant && menuWebBlurStyle2,
33773
+ isIconVariant ? styles22.menuIcon : styles22.menuDefault
33774
+ ],
33652
33775
  accessibilityRole: "menu",
33653
33776
  children: options.map((option) => {
33654
33777
  const selected = option.value === selectedValue;
@@ -33663,15 +33786,15 @@ var LanguageSwitcher = forwardRef(
33663
33786
  onHoverOut: () => setHoveredValue(null),
33664
33787
  style: ({ pressed }) => [
33665
33788
  styles22.item,
33666
- isIconVariant ? styles22.itemIcon : null,
33789
+ isIconVariant ? styles22.itemIcon : styles22.itemDefault,
33667
33790
  selected ? isIconVariant ? styles22.itemSelectedIcon : styles22.itemSelected : (hoveredValue === option.value || pressed) && styles22.itemHovered
33668
33791
  ],
33669
- children: /* @__PURE__ */ jsx(
33792
+ children: ({ pressed }) => /* @__PURE__ */ jsx(
33670
33793
  Text,
33671
33794
  {
33672
33795
  style: [
33673
33796
  styles22.itemLabel,
33674
- selected && (isIconVariant ? styles22.itemLabelSelectedIcon : styles22.itemLabelSelected)
33797
+ (selected || hoveredValue === option.value || pressed) && styles22.itemLabelActive
33675
33798
  ],
33676
33799
  children: option.label
33677
33800
  }
@@ -33756,10 +33879,14 @@ var styles22 = StyleSheet.create({
33756
33879
  },
33757
33880
  menuDefault: {
33758
33881
  top: CONTROL_HEIGHT + 8,
33759
- left: 0,
33760
- width: CONTROL_WIDTH,
33761
- gap: 8,
33762
- backgroundColor: colors.whiteAlpha6
33882
+ left: (CONTROL_WIDTH - MENU_WIDTH) / 2,
33883
+ width: MENU_WIDTH,
33884
+ height: 129,
33885
+ gap: 4,
33886
+ backgroundColor: colors.whiteAlpha5,
33887
+ borderWidth: 1,
33888
+ borderColor: colors.whiteAlpha10,
33889
+ borderRadius: 16
33763
33890
  },
33764
33891
  menuIcon: {
33765
33892
  top: ICON_MENU_TOP,
@@ -33787,11 +33914,15 @@ var styles22 = StyleSheet.create({
33787
33914
  width: 51,
33788
33915
  alignSelf: "stretch"
33789
33916
  },
33917
+ itemDefault: {
33918
+ width: 74,
33919
+ alignSelf: "center"
33920
+ },
33790
33921
  itemHovered: {
33791
- backgroundColor: colors.whiteAlpha6
33922
+ backgroundColor: colors.whiteAlpha7
33792
33923
  },
33793
33924
  itemSelected: {
33794
- backgroundColor: colors.whiteAlpha6
33925
+ backgroundColor: colors.whiteAlpha7
33795
33926
  },
33796
33927
  itemSelectedIcon: {
33797
33928
  backgroundColor: ACTIVE_ITEM_BACKGROUND
@@ -33799,13 +33930,10 @@ var styles22 = StyleSheet.create({
33799
33930
  itemLabel: {
33800
33931
  ...languageSwitcherTypography,
33801
33932
  ...Platform.select({ web: { fontFamily: `${fonts.sans}, sans-serif` } }),
33802
- color: colors.white
33803
- },
33804
- itemLabelSelected: {
33805
- color: colors.primary
33933
+ color: colors.whiteAlpha60
33806
33934
  },
33807
- itemLabelSelectedIcon: {
33808
- color: colors.primary
33935
+ itemLabelActive: {
33936
+ color: colors.white
33809
33937
  }
33810
33938
  });
33811
33939
  var ICON_SIZE10 = 25.63181;