@ecohouse/ui 0.1.32 → 0.1.33

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 (36) hide show
  1. package/dist/index.cjs +796 -509
  2. package/dist/index.cjs.map +1 -1
  3. package/dist/index.d.cts +74 -8
  4. package/dist/index.d.ts +74 -8
  5. package/dist/index.js +729 -448
  6. package/dist/index.js.map +1 -1
  7. package/package.json +1 -1
  8. package/src/components/DatePicker/DatePicker.tsx +115 -45
  9. package/src/components/Select/Select.tsx +5 -2
  10. package/src/components/Sidebar/Sidebar.tsx +25 -11
  11. package/src/components/StepPager/StepPager.tsx +150 -0
  12. package/src/components/StepPager/index.ts +2 -0
  13. package/src/components/index.ts +3 -0
  14. package/src/icons/Ban/BanIcon.tsx +15 -0
  15. package/src/icons/Ban/banPath.ts +2 -0
  16. package/src/icons/Ban/index.ts +1 -0
  17. package/src/icons/Fullscreen/FullscreenIcon.tsx +21 -0
  18. package/src/icons/Fullscreen/fullscreenPath.ts +2 -0
  19. package/src/icons/Fullscreen/index.ts +1 -0
  20. package/src/icons/Home/homePath.ts +1 -1
  21. package/src/icons/Sort/SortIcon.tsx +3 -3
  22. package/src/icons/Sort/SortIcon.web.tsx +2 -2
  23. package/src/icons/Sort/sortPath.ts +3 -2
  24. package/src/icons/VideoOff/VideoOffIcon.tsx +21 -0
  25. package/src/icons/VideoOff/VideoOffIcon.web.tsx +27 -0
  26. package/src/icons/VideoOff/index.ts +1 -0
  27. package/src/icons/VideoOff/videoOffPath.ts +2 -0
  28. package/src/icons/ZoomOut/ZoomOutIcon.tsx +21 -0
  29. package/src/icons/ZoomOut/index.ts +1 -0
  30. package/src/icons/ZoomOut/zoomOutPath.ts +2 -0
  31. package/src/icons/index.ts +4 -0
  32. package/src/icons/registry.ts +12 -0
  33. package/src/index.ts +8 -0
  34. package/src/theme/colors.test.ts +1 -1
  35. package/src/theme/typography.ts +4 -4
  36. package/src/utils/popoverAlign.ts +85 -0
package/dist/index.d.cts CHANGED
@@ -185,6 +185,9 @@ declare function GooglePlayIcon({ size }: IconProps): react.JSX.Element;
185
185
 
186
186
  declare function BagIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
187
187
 
188
+ /** Filled prohibition / deactivated mark (28×28 viewBox). */
189
+ declare function BanIcon({ size, color }: IconProps): react.JSX.Element;
190
+
188
191
  declare function BellIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
189
192
 
190
193
  declare function BuildingIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
@@ -251,6 +254,9 @@ declare function FacebookIcon({ size, color }: IconProps): react.JSX.Element;
251
254
  /** Native — react-native-svg (peer dependency). */
252
255
  declare function FiltersIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
253
256
 
257
+ /** Four-corner fullscreen / maximize control (24×24 viewBox). */
258
+ declare function FullscreenIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
259
+
254
260
  /** Native — react-native-svg (peer dependency). */
255
261
  declare function HeartIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
256
262
 
@@ -332,7 +338,7 @@ declare function ShowIcon({ size, color, strokeWidth }: ShowIconProps): react.JS
332
338
  /** Native — react-native-svg (peer dependency). */
333
339
  declare function SidebarIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
334
340
 
335
- /** Native react-native-svg (peer dependency). */
341
+ /** Bidirectional sort (20×20 viewBox). */
336
342
  declare function SortIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
337
343
 
338
344
  interface StarIconProps extends IconProps {
@@ -361,12 +367,19 @@ declare function UsersAltIcon({ size, color }: IconProps): react.JSX.Element;
361
367
  /** Native — react-native-svg (peer dependency). */
362
368
  declare function VideoIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
363
369
 
370
+ /** Video / camera off (24×24 viewBox). */
371
+ declare function VideoOffIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
372
+
373
+ /** Exit-fullscreen / zoom-out corners control (24×24 viewBox). */
374
+ declare function ZoomOutIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
375
+
364
376
  declare const icons: {
365
377
  readonly alertTriangle: typeof AlertTriangleIcon;
366
378
  readonly areaExpand: typeof AreaExpandIcon;
367
379
  readonly apple: typeof AppleIcon;
368
380
  readonly arrowRight: typeof ArrowRightIcon;
369
381
  readonly bag: typeof BagIcon;
382
+ readonly ban: typeof BanIcon;
370
383
  readonly bell: typeof BellIcon;
371
384
  readonly building: typeof BuildingIcon;
372
385
  readonly calendar: typeof CalendarIcon;
@@ -388,6 +401,7 @@ declare const icons: {
388
401
  readonly cardLocation: typeof CardLocationIcon;
389
402
  readonly facebook: typeof FacebookIcon;
390
403
  readonly filters: typeof FiltersIcon;
404
+ readonly fullscreen: typeof FullscreenIcon;
391
405
  readonly guests: typeof GuestsIcon;
392
406
  readonly heart: typeof HeartIcon;
393
407
  readonly globe: typeof GlobeIcon;
@@ -433,14 +447,16 @@ declare const icons: {
433
447
  readonly user: typeof UserIcon;
434
448
  readonly usersAlt: typeof UsersAltIcon;
435
449
  readonly video: typeof VideoIcon;
450
+ readonly videoOff: typeof VideoOffIcon;
436
451
  readonly whatsApp: typeof WhatsAppIcon;
452
+ readonly zoomOut: typeof ZoomOutIcon;
437
453
  };
438
454
  type IconName = keyof typeof icons;
439
455
  declare const iconNames: IconName[];
440
456
  declare const iconGroups: {
441
457
  readonly navigation: readonly ["arrowRight", "chevronDown", "chevronLeft", "home", "listView", "locationPin", "locationUser", "mapCollapse", "mapExpand", "mapView", "menu", "navigate"];
442
- readonly actions: readonly ["show", "alertTriangle", "bell", "camera", "key", "check", "checkBadge", "checkSuccess", "copy", "download", "search", "calendar", "calendarOutline", "close", "edit", "ratingStar", "saveHeart", "share", "filters", "heart", "star", "starFilled", "minus", "plus", "refresh", "refundStatus", "sort"];
443
- readonly objects: readonly ["bag", "bathrooms", "bedrooms", "building", "cardLocation", "clock", "clockFilled", "guests", "lock", "noSmoking", "paw", "qrCode", "quietHours", "trash", "user", "usersAlt", "video", "whatsApp"];
458
+ readonly actions: readonly ["show", "alertTriangle", "ban", "bell", "camera", "key", "check", "checkBadge", "checkSuccess", "copy", "download", "search", "calendar", "calendarOutline", "close", "edit", "ratingStar", "saveHeart", "share", "filters", "fullscreen", "heart", "zoomOut", "star", "starFilled", "minus", "plus", "refresh", "refundStatus", "sort"];
459
+ readonly objects: readonly ["bag", "bathrooms", "bedrooms", "building", "cardLocation", "clock", "clockFilled", "guests", "lock", "noSmoking", "paw", "qrCode", "quietHours", "trash", "user", "usersAlt", "video", "videoOff", "whatsApp"];
444
460
  readonly communication: readonly ["mail", "phone"];
445
461
  readonly social: readonly ["apple", "facebook", "googlePlay", "instagram", "linkedin"];
446
462
  readonly interface: readonly ["areaExpand", "globe", "layoutGrid", "sidebar", "settings", "helpCircle", "logOut", "tooltipArrow"];
@@ -496,6 +512,24 @@ interface PaginationDotsProps extends Omit<ViewProps, "style" | "children"> {
496
512
  */
497
513
  declare const PaginationDots: react.ForwardRefExoticComponent<PaginationDotsProps & react.RefAttributes<View>>;
498
514
 
515
+ interface StepPagerProps extends Omit<ViewProps, "style" | "children"> {
516
+ /** Zero-based active step index. */
517
+ index: number;
518
+ /** Total number of steps. */
519
+ count: number;
520
+ onPrevious?: () => void;
521
+ onNext?: () => void;
522
+ previousAccessibilityLabel?: string;
523
+ nextAccessibilityLabel?: string;
524
+ style?: StyleProp<ViewStyle>;
525
+ className?: string;
526
+ }
527
+ /**
528
+ * Compact prev / current-of-total / next control (e.g. camera fullscreen pager).
529
+ * Fixed 121×48 pill, 12 gap/padding, 77 radius.
530
+ */
531
+ declare const StepPager: react.ForwardRefExoticComponent<StepPagerProps & react.RefAttributes<View>>;
532
+
499
533
  interface InfoTileProps extends Omit<ViewProps, "style" | "children"> {
500
534
  title: string;
501
535
  /** Optional supporting line under the title. */
@@ -593,6 +627,8 @@ interface SidebarProps extends Omit<ViewProps, "style" | "children"> {
593
627
  collapsed?: boolean;
594
628
  defaultCollapsed?: boolean;
595
629
  onCollapsedChange?: (collapsed: boolean) => void;
630
+ /** When false, hides the expand/collapse control. Defaults to `true`. */
631
+ showCollapseToggle?: boolean;
596
632
  style?: StyleProp<ViewStyle>;
597
633
  className?: string;
598
634
  }
@@ -717,6 +753,11 @@ type DatePickerBaseProps = Omit<ViewProps, "style" | "children"> & {
717
753
  weekStartsOn?: 0 | 1;
718
754
  /** Styles the calendar popup independently from the trigger width. */
719
755
  calendarStyle?: StyleProp<ViewStyle>;
756
+ /**
757
+ * When true, only the calendar panel is rendered (no field/trigger).
758
+ * Use with controlled `open` for icon-button / popover hosts.
759
+ */
760
+ hideTrigger?: boolean;
720
761
  style?: StyleProp<ViewStyle>;
721
762
  className?: string;
722
763
  };
@@ -831,6 +872,8 @@ type SelectBaseProps = Omit<ViewProps, "style" | "children"> & {
831
872
  loading?: boolean;
832
873
  /** Text shown when no options match. */
833
874
  emptyText?: string;
875
+ /** Override color for the selected value text in the trigger. */
876
+ valueColor?: string;
834
877
  style?: StyleProp<ViewStyle>;
835
878
  className?: string;
836
879
  };
@@ -1125,7 +1168,7 @@ declare const inputTypography: {
1125
1168
  readonly fontFamily: "Noto Sans Armenian";
1126
1169
  readonly fontSize: 12;
1127
1170
  readonly fontWeight: "400";
1128
- readonly lineHeight: 12;
1171
+ readonly lineHeight: 16;
1129
1172
  readonly letterSpacing: 0.36;
1130
1173
  };
1131
1174
  readonly hint: {
@@ -1149,7 +1192,7 @@ declare const selectTypography: {
1149
1192
  readonly fontFamily: "Noto Sans Armenian";
1150
1193
  readonly fontSize: 12;
1151
1194
  readonly fontWeight: "400";
1152
- readonly lineHeight: 12;
1195
+ readonly lineHeight: 16;
1153
1196
  readonly letterSpacing: 0.36;
1154
1197
  };
1155
1198
  readonly hint: {
@@ -1173,7 +1216,7 @@ declare const avatarTypography: {
1173
1216
  readonly fontFamily: "Noto Sans Armenian";
1174
1217
  readonly fontSize: 12;
1175
1218
  readonly fontWeight: "400";
1176
- readonly lineHeight: 12;
1219
+ readonly lineHeight: 14;
1177
1220
  readonly letterSpacing: 0;
1178
1221
  };
1179
1222
  readonly menuItem: {
@@ -1257,7 +1300,7 @@ declare const textareaTypography: {
1257
1300
  readonly fontFamily: "Noto Sans Armenian";
1258
1301
  readonly fontSize: 12;
1259
1302
  readonly fontWeight: "400";
1260
- readonly lineHeight: 12;
1303
+ readonly lineHeight: 16;
1261
1304
  readonly letterSpacing: 0.36;
1262
1305
  };
1263
1306
  readonly hint: {
@@ -1279,4 +1322,27 @@ declare function abbreviateMonthName(monthName: string, letterCount?: number): s
1279
1322
  /** "15 Հուլ 2026" — day + abbreviated month + year for range triggers. */
1280
1323
  declare function formatDateDayShortMonth(date: Date, monthNames: string[], letterCount?: number): string;
1281
1324
 
1282
- export { 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, BathroomsIcon, BedroomsIcon, BellIcon, BrandLogo, type BrandLogoProps, type BrandLogoVariant, BuildingIcon, Button, type ButtonProps, type ButtonSize, type ButtonVariant, CalendarIcon, CalendarOutlineIcon, CameraIcon, CardLocationIcon, CheckBadgeIcon, CheckIcon, CheckSuccessIcon, Checkbox, type CheckboxProps, type CheckboxVariant, ChevronDownIcon, ChevronLeftIcon, ClockFilledIcon, ClockIcon, CloseIcon, CommentCard, type CommentCardProps, 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, GlobeIcon, GooglePlayIcon, type GreyStep, GuestsIcon, HeartIcon, HelpCircleIcon, HomeIcon, Icon, type IconByNameProps, type IconComponent, type IconGroup, type IconName, type IconProps, InfoTile, type InfoTileProps, Input, type InputIcon, type InputProps, type InputSize, InstagramIcon, KeyIcon, type LanguageOption, LanguageSwitcher, type LanguageSwitcherProps, LayoutGridIcon, LinkedInIcon, ListViewIcon, LocationPinIcon, LocationUserIcon, LockIcon, LogOutIcon, MailIcon, MapCollapseIcon, MapExpandIcon, MapViewIcon, MenuIcon, type MenuIconProps, MenuItem, type MenuItemProps, MinusIcon, NavigateIcon, NoSmokingIcon, PaginationDots, type PaginationDotsProps, PawIcon, PhoneIcon, PlusIcon, QrCodeIcon, QuietHoursIcon, Range, type RangeProps, type RangeValue, RatingInput, type RatingInputProps, RatingStarIcon, RefreshIcon, RefundStatusIcon, 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, Textarea, type TextareaProps, Toggle, type ToggleProps, TooltipArrowIcon, TrashIcon, UserIcon, UsersAltIcon, VerificationCodeInput, type VerificationCodeInputHandle, type VerificationCodeInputProps, VideoIcon, WhatsAppIcon, abbreviateMonthName, avatarTypography, badgeTypography, buttonTypography, colors, commentCardTypography, counterTypography, datePickerTypography, defaultLanguageOptions, fonts, formatDate, formatDateDayShortMonth, getIconsByGroup, grey, iconGroupNames, iconGroups, iconNames, icons, inputTypography, languageSwitcherTypography, ratingTypography, segmentedToggleTypography, selectTypography, statCardTypography, textareaTypography };
1325
+ type PopoverAlign = "center" | "start" | "end";
1326
+ type ResolvePopoverAlignOptions = {
1327
+ /** Trigger element bounds in viewport coordinates. */
1328
+ triggerRect: Pick<DOMRect, "left" | "right" | "width">;
1329
+ /** Popover panel width in px. */
1330
+ panelWidth: number;
1331
+ /** Viewport width in px. */
1332
+ viewportWidth: number;
1333
+ /** Minimum gap from the viewport edges. Defaults to 8. */
1334
+ padding?: number;
1335
+ /**
1336
+ * `auto` (default): prefer center, then end (opens left), then start (opens right).
1337
+ * Fixed values force that alignment.
1338
+ */
1339
+ preferred?: PopoverAlign | "auto";
1340
+ };
1341
+ /**
1342
+ * Picks horizontal popover alignment so the panel stays in view.
1343
+ * Preference for `auto`: center → start (rightward) → end (leftward)
1344
+ * when the trigger sits near the left edge (common for card actions).
1345
+ */
1346
+ declare function resolvePopoverAlign({ triggerRect, panelWidth, viewportWidth, padding, preferred, }: ResolvePopoverAlignOptions): PopoverAlign;
1347
+
1348
+ export { 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, CameraIcon, CardLocationIcon, CheckBadgeIcon, CheckIcon, CheckSuccessIcon, Checkbox, type CheckboxProps, type CheckboxVariant, ChevronDownIcon, ChevronLeftIcon, ClockFilledIcon, ClockIcon, CloseIcon, CommentCard, type CommentCardProps, 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, HeartIcon, HelpCircleIcon, HomeIcon, Icon, type IconByNameProps, type IconComponent, type IconGroup, type IconName, type IconProps, InfoTile, type InfoTileProps, Input, type InputIcon, type InputProps, type InputSize, InstagramIcon, KeyIcon, type LanguageOption, LanguageSwitcher, type LanguageSwitcherProps, LayoutGridIcon, LinkedInIcon, ListViewIcon, LocationPinIcon, LocationUserIcon, LockIcon, LogOutIcon, MailIcon, MapCollapseIcon, MapExpandIcon, MapViewIcon, MenuIcon, type MenuIconProps, MenuItem, type MenuItemProps, MinusIcon, 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, Textarea, type TextareaProps, Toggle, type ToggleProps, 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
@@ -185,6 +185,9 @@ declare function GooglePlayIcon({ size }: IconProps): react.JSX.Element;
185
185
 
186
186
  declare function BagIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
187
187
 
188
+ /** Filled prohibition / deactivated mark (28×28 viewBox). */
189
+ declare function BanIcon({ size, color }: IconProps): react.JSX.Element;
190
+
188
191
  declare function BellIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
189
192
 
190
193
  declare function BuildingIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
@@ -251,6 +254,9 @@ declare function FacebookIcon({ size, color }: IconProps): react.JSX.Element;
251
254
  /** Native — react-native-svg (peer dependency). */
252
255
  declare function FiltersIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
253
256
 
257
+ /** Four-corner fullscreen / maximize control (24×24 viewBox). */
258
+ declare function FullscreenIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
259
+
254
260
  /** Native — react-native-svg (peer dependency). */
255
261
  declare function HeartIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
256
262
 
@@ -332,7 +338,7 @@ declare function ShowIcon({ size, color, strokeWidth }: ShowIconProps): react.JS
332
338
  /** Native — react-native-svg (peer dependency). */
333
339
  declare function SidebarIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
334
340
 
335
- /** Native react-native-svg (peer dependency). */
341
+ /** Bidirectional sort (20×20 viewBox). */
336
342
  declare function SortIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
337
343
 
338
344
  interface StarIconProps extends IconProps {
@@ -361,12 +367,19 @@ declare function UsersAltIcon({ size, color }: IconProps): react.JSX.Element;
361
367
  /** Native — react-native-svg (peer dependency). */
362
368
  declare function VideoIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
363
369
 
370
+ /** Video / camera off (24×24 viewBox). */
371
+ declare function VideoOffIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
372
+
373
+ /** Exit-fullscreen / zoom-out corners control (24×24 viewBox). */
374
+ declare function ZoomOutIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
375
+
364
376
  declare const icons: {
365
377
  readonly alertTriangle: typeof AlertTriangleIcon;
366
378
  readonly areaExpand: typeof AreaExpandIcon;
367
379
  readonly apple: typeof AppleIcon;
368
380
  readonly arrowRight: typeof ArrowRightIcon;
369
381
  readonly bag: typeof BagIcon;
382
+ readonly ban: typeof BanIcon;
370
383
  readonly bell: typeof BellIcon;
371
384
  readonly building: typeof BuildingIcon;
372
385
  readonly calendar: typeof CalendarIcon;
@@ -388,6 +401,7 @@ declare const icons: {
388
401
  readonly cardLocation: typeof CardLocationIcon;
389
402
  readonly facebook: typeof FacebookIcon;
390
403
  readonly filters: typeof FiltersIcon;
404
+ readonly fullscreen: typeof FullscreenIcon;
391
405
  readonly guests: typeof GuestsIcon;
392
406
  readonly heart: typeof HeartIcon;
393
407
  readonly globe: typeof GlobeIcon;
@@ -433,14 +447,16 @@ declare const icons: {
433
447
  readonly user: typeof UserIcon;
434
448
  readonly usersAlt: typeof UsersAltIcon;
435
449
  readonly video: typeof VideoIcon;
450
+ readonly videoOff: typeof VideoOffIcon;
436
451
  readonly whatsApp: typeof WhatsAppIcon;
452
+ readonly zoomOut: typeof ZoomOutIcon;
437
453
  };
438
454
  type IconName = keyof typeof icons;
439
455
  declare const iconNames: IconName[];
440
456
  declare const iconGroups: {
441
457
  readonly navigation: readonly ["arrowRight", "chevronDown", "chevronLeft", "home", "listView", "locationPin", "locationUser", "mapCollapse", "mapExpand", "mapView", "menu", "navigate"];
442
- readonly actions: readonly ["show", "alertTriangle", "bell", "camera", "key", "check", "checkBadge", "checkSuccess", "copy", "download", "search", "calendar", "calendarOutline", "close", "edit", "ratingStar", "saveHeart", "share", "filters", "heart", "star", "starFilled", "minus", "plus", "refresh", "refundStatus", "sort"];
443
- readonly objects: readonly ["bag", "bathrooms", "bedrooms", "building", "cardLocation", "clock", "clockFilled", "guests", "lock", "noSmoking", "paw", "qrCode", "quietHours", "trash", "user", "usersAlt", "video", "whatsApp"];
458
+ readonly actions: readonly ["show", "alertTriangle", "ban", "bell", "camera", "key", "check", "checkBadge", "checkSuccess", "copy", "download", "search", "calendar", "calendarOutline", "close", "edit", "ratingStar", "saveHeart", "share", "filters", "fullscreen", "heart", "zoomOut", "star", "starFilled", "minus", "plus", "refresh", "refundStatus", "sort"];
459
+ readonly objects: readonly ["bag", "bathrooms", "bedrooms", "building", "cardLocation", "clock", "clockFilled", "guests", "lock", "noSmoking", "paw", "qrCode", "quietHours", "trash", "user", "usersAlt", "video", "videoOff", "whatsApp"];
444
460
  readonly communication: readonly ["mail", "phone"];
445
461
  readonly social: readonly ["apple", "facebook", "googlePlay", "instagram", "linkedin"];
446
462
  readonly interface: readonly ["areaExpand", "globe", "layoutGrid", "sidebar", "settings", "helpCircle", "logOut", "tooltipArrow"];
@@ -496,6 +512,24 @@ interface PaginationDotsProps extends Omit<ViewProps, "style" | "children"> {
496
512
  */
497
513
  declare const PaginationDots: react.ForwardRefExoticComponent<PaginationDotsProps & react.RefAttributes<View>>;
498
514
 
515
+ interface StepPagerProps extends Omit<ViewProps, "style" | "children"> {
516
+ /** Zero-based active step index. */
517
+ index: number;
518
+ /** Total number of steps. */
519
+ count: number;
520
+ onPrevious?: () => void;
521
+ onNext?: () => void;
522
+ previousAccessibilityLabel?: string;
523
+ nextAccessibilityLabel?: string;
524
+ style?: StyleProp<ViewStyle>;
525
+ className?: string;
526
+ }
527
+ /**
528
+ * Compact prev / current-of-total / next control (e.g. camera fullscreen pager).
529
+ * Fixed 121×48 pill, 12 gap/padding, 77 radius.
530
+ */
531
+ declare const StepPager: react.ForwardRefExoticComponent<StepPagerProps & react.RefAttributes<View>>;
532
+
499
533
  interface InfoTileProps extends Omit<ViewProps, "style" | "children"> {
500
534
  title: string;
501
535
  /** Optional supporting line under the title. */
@@ -593,6 +627,8 @@ interface SidebarProps extends Omit<ViewProps, "style" | "children"> {
593
627
  collapsed?: boolean;
594
628
  defaultCollapsed?: boolean;
595
629
  onCollapsedChange?: (collapsed: boolean) => void;
630
+ /** When false, hides the expand/collapse control. Defaults to `true`. */
631
+ showCollapseToggle?: boolean;
596
632
  style?: StyleProp<ViewStyle>;
597
633
  className?: string;
598
634
  }
@@ -717,6 +753,11 @@ type DatePickerBaseProps = Omit<ViewProps, "style" | "children"> & {
717
753
  weekStartsOn?: 0 | 1;
718
754
  /** Styles the calendar popup independently from the trigger width. */
719
755
  calendarStyle?: StyleProp<ViewStyle>;
756
+ /**
757
+ * When true, only the calendar panel is rendered (no field/trigger).
758
+ * Use with controlled `open` for icon-button / popover hosts.
759
+ */
760
+ hideTrigger?: boolean;
720
761
  style?: StyleProp<ViewStyle>;
721
762
  className?: string;
722
763
  };
@@ -831,6 +872,8 @@ type SelectBaseProps = Omit<ViewProps, "style" | "children"> & {
831
872
  loading?: boolean;
832
873
  /** Text shown when no options match. */
833
874
  emptyText?: string;
875
+ /** Override color for the selected value text in the trigger. */
876
+ valueColor?: string;
834
877
  style?: StyleProp<ViewStyle>;
835
878
  className?: string;
836
879
  };
@@ -1125,7 +1168,7 @@ declare const inputTypography: {
1125
1168
  readonly fontFamily: "Noto Sans Armenian";
1126
1169
  readonly fontSize: 12;
1127
1170
  readonly fontWeight: "400";
1128
- readonly lineHeight: 12;
1171
+ readonly lineHeight: 16;
1129
1172
  readonly letterSpacing: 0.36;
1130
1173
  };
1131
1174
  readonly hint: {
@@ -1149,7 +1192,7 @@ declare const selectTypography: {
1149
1192
  readonly fontFamily: "Noto Sans Armenian";
1150
1193
  readonly fontSize: 12;
1151
1194
  readonly fontWeight: "400";
1152
- readonly lineHeight: 12;
1195
+ readonly lineHeight: 16;
1153
1196
  readonly letterSpacing: 0.36;
1154
1197
  };
1155
1198
  readonly hint: {
@@ -1173,7 +1216,7 @@ declare const avatarTypography: {
1173
1216
  readonly fontFamily: "Noto Sans Armenian";
1174
1217
  readonly fontSize: 12;
1175
1218
  readonly fontWeight: "400";
1176
- readonly lineHeight: 12;
1219
+ readonly lineHeight: 14;
1177
1220
  readonly letterSpacing: 0;
1178
1221
  };
1179
1222
  readonly menuItem: {
@@ -1257,7 +1300,7 @@ declare const textareaTypography: {
1257
1300
  readonly fontFamily: "Noto Sans Armenian";
1258
1301
  readonly fontSize: 12;
1259
1302
  readonly fontWeight: "400";
1260
- readonly lineHeight: 12;
1303
+ readonly lineHeight: 16;
1261
1304
  readonly letterSpacing: 0.36;
1262
1305
  };
1263
1306
  readonly hint: {
@@ -1279,4 +1322,27 @@ declare function abbreviateMonthName(monthName: string, letterCount?: number): s
1279
1322
  /** "15 Հուլ 2026" — day + abbreviated month + year for range triggers. */
1280
1323
  declare function formatDateDayShortMonth(date: Date, monthNames: string[], letterCount?: number): string;
1281
1324
 
1282
- export { 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, BathroomsIcon, BedroomsIcon, BellIcon, BrandLogo, type BrandLogoProps, type BrandLogoVariant, BuildingIcon, Button, type ButtonProps, type ButtonSize, type ButtonVariant, CalendarIcon, CalendarOutlineIcon, CameraIcon, CardLocationIcon, CheckBadgeIcon, CheckIcon, CheckSuccessIcon, Checkbox, type CheckboxProps, type CheckboxVariant, ChevronDownIcon, ChevronLeftIcon, ClockFilledIcon, ClockIcon, CloseIcon, CommentCard, type CommentCardProps, 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, GlobeIcon, GooglePlayIcon, type GreyStep, GuestsIcon, HeartIcon, HelpCircleIcon, HomeIcon, Icon, type IconByNameProps, type IconComponent, type IconGroup, type IconName, type IconProps, InfoTile, type InfoTileProps, Input, type InputIcon, type InputProps, type InputSize, InstagramIcon, KeyIcon, type LanguageOption, LanguageSwitcher, type LanguageSwitcherProps, LayoutGridIcon, LinkedInIcon, ListViewIcon, LocationPinIcon, LocationUserIcon, LockIcon, LogOutIcon, MailIcon, MapCollapseIcon, MapExpandIcon, MapViewIcon, MenuIcon, type MenuIconProps, MenuItem, type MenuItemProps, MinusIcon, NavigateIcon, NoSmokingIcon, PaginationDots, type PaginationDotsProps, PawIcon, PhoneIcon, PlusIcon, QrCodeIcon, QuietHoursIcon, Range, type RangeProps, type RangeValue, RatingInput, type RatingInputProps, RatingStarIcon, RefreshIcon, RefundStatusIcon, 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, Textarea, type TextareaProps, Toggle, type ToggleProps, TooltipArrowIcon, TrashIcon, UserIcon, UsersAltIcon, VerificationCodeInput, type VerificationCodeInputHandle, type VerificationCodeInputProps, VideoIcon, WhatsAppIcon, abbreviateMonthName, avatarTypography, badgeTypography, buttonTypography, colors, commentCardTypography, counterTypography, datePickerTypography, defaultLanguageOptions, fonts, formatDate, formatDateDayShortMonth, getIconsByGroup, grey, iconGroupNames, iconGroups, iconNames, icons, inputTypography, languageSwitcherTypography, ratingTypography, segmentedToggleTypography, selectTypography, statCardTypography, textareaTypography };
1325
+ type PopoverAlign = "center" | "start" | "end";
1326
+ type ResolvePopoverAlignOptions = {
1327
+ /** Trigger element bounds in viewport coordinates. */
1328
+ triggerRect: Pick<DOMRect, "left" | "right" | "width">;
1329
+ /** Popover panel width in px. */
1330
+ panelWidth: number;
1331
+ /** Viewport width in px. */
1332
+ viewportWidth: number;
1333
+ /** Minimum gap from the viewport edges. Defaults to 8. */
1334
+ padding?: number;
1335
+ /**
1336
+ * `auto` (default): prefer center, then end (opens left), then start (opens right).
1337
+ * Fixed values force that alignment.
1338
+ */
1339
+ preferred?: PopoverAlign | "auto";
1340
+ };
1341
+ /**
1342
+ * Picks horizontal popover alignment so the panel stays in view.
1343
+ * Preference for `auto`: center → start (rightward) → end (leftward)
1344
+ * when the trigger sits near the left edge (common for card actions).
1345
+ */
1346
+ declare function resolvePopoverAlign({ triggerRect, panelWidth, viewportWidth, padding, preferred, }: ResolvePopoverAlignOptions): PopoverAlign;
1347
+
1348
+ export { 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, CameraIcon, CardLocationIcon, CheckBadgeIcon, CheckIcon, CheckSuccessIcon, Checkbox, type CheckboxProps, type CheckboxVariant, ChevronDownIcon, ChevronLeftIcon, ClockFilledIcon, ClockIcon, CloseIcon, CommentCard, type CommentCardProps, 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, HeartIcon, HelpCircleIcon, HomeIcon, Icon, type IconByNameProps, type IconComponent, type IconGroup, type IconName, type IconProps, InfoTile, type InfoTileProps, Input, type InputIcon, type InputProps, type InputSize, InstagramIcon, KeyIcon, type LanguageOption, LanguageSwitcher, type LanguageSwitcherProps, LayoutGridIcon, LinkedInIcon, ListViewIcon, LocationPinIcon, LocationUserIcon, LockIcon, LogOutIcon, MailIcon, MapCollapseIcon, MapExpandIcon, MapViewIcon, MenuIcon, type MenuIconProps, MenuItem, type MenuItemProps, MinusIcon, 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, Textarea, type TextareaProps, Toggle, type ToggleProps, 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 };