@ecohouse/ui 0.1.30 → 0.1.32
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/README.md +5 -0
- package/dist/index.cjs +1131 -339
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +147 -5
- package/dist/index.d.ts +147 -5
- package/dist/index.js +1058 -286
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/components/AccountHeader/AccountHeader.stories.tsx +70 -0
- package/src/components/AccountHeader/AccountHeader.tsx +224 -0
- package/src/components/AccountHeader/index.ts +2 -0
- package/src/components/AvatarSimple/AvatarSimple.tsx +2 -2
- package/src/components/Button/Button.tsx +4 -1
- package/src/components/DatePicker/DatePicker.tsx +14 -9
- package/src/components/FloatingActionButton/FloatingActionButton.stories.tsx +42 -0
- package/src/components/FloatingActionButton/FloatingActionButton.tsx +77 -0
- package/src/components/FloatingActionButton/index.ts +2 -0
- package/src/components/InfoTile/InfoTile.stories.tsx +80 -0
- package/src/components/InfoTile/InfoTile.tsx +118 -0
- package/src/components/InfoTile/index.ts +2 -0
- package/src/components/PaginationDots/PaginationDots.stories.tsx +48 -0
- package/src/components/PaginationDots/PaginationDots.tsx +111 -0
- package/src/components/PaginationDots/index.ts +2 -0
- package/src/components/Sidebar/Sidebar.tsx +9 -1
- package/src/components/StatusBadge/StatusBadge.stories.tsx +54 -0
- package/src/components/StatusBadge/StatusBadge.tsx +108 -0
- package/src/components/StatusBadge/index.ts +2 -0
- package/src/components/StepList/StepList.stories.tsx +37 -0
- package/src/components/StepList/StepList.tsx +152 -0
- package/src/components/StepList/index.ts +2 -0
- package/src/components/index.ts +18 -0
- package/src/icons/AlertTriangle/AlertTriangleIcon.tsx +19 -0
- package/src/icons/AlertTriangle/AlertTriangleIcon.web.tsx +18 -0
- package/src/icons/AlertTriangle/alertTrianglePath.ts +3 -0
- package/src/icons/AlertTriangle/index.ts +1 -0
- package/src/icons/Bell/BellIcon.tsx +2 -2
- package/src/icons/Bell/BellIcon.web.tsx +2 -2
- package/src/icons/Bell/bellPath.ts +1 -1
- package/src/icons/CottageDetail/CottageDetailIcons.tsx +15 -0
- package/src/icons/CottageDetail/CottageDetailIcons.web.tsx +15 -0
- package/src/icons/CottageDetail/cottageDetailPaths.ts +3 -0
- package/src/icons/CottageDetail/index.ts +1 -0
- package/src/icons/Edit/EditIcon.tsx +20 -0
- package/src/icons/Edit/EditIcon.web.tsx +19 -0
- package/src/icons/Edit/editPath.ts +3 -0
- package/src/icons/Edit/index.ts +1 -0
- package/src/icons/HouseRules/HouseRulesIcons.tsx +62 -0
- package/src/icons/HouseRules/HouseRulesIcons.web.tsx +61 -0
- package/src/icons/HouseRules/houseRulesPaths.ts +24 -0
- package/src/icons/HouseRules/index.ts +2 -0
- package/src/icons/LocationUser/LocationUserIcon.tsx +15 -0
- package/src/icons/LocationUser/LocationUserIcon.web.tsx +14 -0
- package/src/icons/LocationUser/index.ts +1 -0
- package/src/icons/LocationUser/locationUserPath.ts +2 -0
- package/src/icons/Lock/LockIcon.tsx +21 -0
- package/src/icons/Lock/LockIcon.web.tsx +26 -0
- package/src/icons/Lock/index.ts +1 -0
- package/src/icons/Lock/lockPath.ts +3 -0
- package/src/icons/Refresh/RefreshIcon.tsx +20 -0
- package/src/icons/Refresh/RefreshIcon.web.tsx +19 -0
- package/src/icons/Refresh/index.ts +1 -0
- package/src/icons/Refresh/refreshPath.ts +3 -0
- package/src/icons/RefundStatus/RefundStatusIcon.tsx +24 -0
- package/src/icons/RefundStatus/RefundStatusIcon.web.tsx +23 -0
- package/src/icons/RefundStatus/index.ts +1 -0
- package/src/icons/RefundStatus/refundStatusPath.ts +3 -0
- package/src/icons/index.ts +8 -0
- package/src/icons/registry.ts +30 -0
- package/src/index.ts +26 -0
- package/src/theme/colors.ts +4 -0
- package/src/theme/typography.ts +1 -1
- package/src/utils/dateUtils.ts +25 -0
package/dist/index.d.cts
CHANGED
|
@@ -138,6 +138,29 @@ interface AvatarSimpleProps extends Omit<ViewProps, "style" | "children"> {
|
|
|
138
138
|
}
|
|
139
139
|
declare const AvatarSimple: react.ForwardRefExoticComponent<AvatarSimpleProps & react.RefAttributes<View>>;
|
|
140
140
|
|
|
141
|
+
interface AccountHeaderProps extends Omit<ViewProps, "style" | "children"> {
|
|
142
|
+
title: string;
|
|
143
|
+
/**
|
|
144
|
+
* When set, shows a 32×32 back control (takes priority over `onMenuPress`).
|
|
145
|
+
* Used on nested account pages such as booking details.
|
|
146
|
+
*/
|
|
147
|
+
onBackPress?: () => void;
|
|
148
|
+
/** When set, shows the 28×28 menu control (mobile account shell). Ignored if `onBackPress` is set. */
|
|
149
|
+
onMenuPress?: () => void;
|
|
150
|
+
onNotificationsPress?: () => void;
|
|
151
|
+
/** Optional status chip (or other accessory) rendered after the title with a 12px gap. */
|
|
152
|
+
badge?: ReactNode;
|
|
153
|
+
/** Accessible name for the back control. Defaults to `"Back"`. */
|
|
154
|
+
backAccessibilityLabel?: string;
|
|
155
|
+
/** Accessible name for the menu control. Defaults to `"Open menu"`. */
|
|
156
|
+
menuAccessibilityLabel?: string;
|
|
157
|
+
/** Accessible name for notifications. Defaults to `"Notifications"`. */
|
|
158
|
+
notificationsAccessibilityLabel?: string;
|
|
159
|
+
style?: StyleProp<ViewStyle>;
|
|
160
|
+
className?: string;
|
|
161
|
+
}
|
|
162
|
+
declare const AccountHeader: react.ForwardRefExoticComponent<AccountHeaderProps & react.RefAttributes<View>>;
|
|
163
|
+
|
|
141
164
|
interface IconProps {
|
|
142
165
|
size?: number;
|
|
143
166
|
color?: string;
|
|
@@ -155,6 +178,8 @@ interface ArrowRightIconProps {
|
|
|
155
178
|
/** Native — react-native-svg (peer dependency). */
|
|
156
179
|
declare function ArrowRightIcon({ size, color, strokeWidth, }: ArrowRightIconProps): react.JSX.Element;
|
|
157
180
|
|
|
181
|
+
declare function AlertTriangleIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
182
|
+
|
|
158
183
|
declare function AppleIcon({ size, color }: IconProps): react.JSX.Element;
|
|
159
184
|
declare function GooglePlayIcon({ size }: IconProps): react.JSX.Element;
|
|
160
185
|
|
|
@@ -197,6 +222,8 @@ declare function ClockIcon({ size, color, strokeWidth }: IconProps): react.JSX.E
|
|
|
197
222
|
|
|
198
223
|
declare function CloseIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
199
224
|
|
|
225
|
+
declare function EditIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
226
|
+
|
|
200
227
|
declare function SaveHeartIcon({ size, color, strokeWidth, fillOpacity, }: IconProps): react.JSX.Element;
|
|
201
228
|
declare function RatingStarIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
202
229
|
declare function CardLocationIcon({ size, color, strokeWidth, secondaryColor, }: IconProps): react.JSX.Element;
|
|
@@ -205,6 +232,7 @@ declare function BedroomsIcon({ size, color, fillOpacity }: IconProps): react.JS
|
|
|
205
232
|
declare function BathroomsIcon({ size, color, fillOpacity }: IconProps): react.JSX.Element;
|
|
206
233
|
|
|
207
234
|
declare function ShareIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
235
|
+
declare function DownloadIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
208
236
|
declare function AreaExpandIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
209
237
|
declare function ClockFilledIcon({ size, color }: IconProps): react.JSX.Element;
|
|
210
238
|
declare function QrCodeIcon({ size, color }: IconProps): react.JSX.Element;
|
|
@@ -213,6 +241,11 @@ declare function CopyIcon({ size, color, strokeWidth }: IconProps): react.JSX.El
|
|
|
213
241
|
declare function CheckSuccessIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
214
242
|
declare function TooltipArrowIcon({ size, color }: IconProps): react.JSX.Element;
|
|
215
243
|
|
|
244
|
+
declare function QuietHoursIcon({ size, color }: IconProps): react.JSX.Element;
|
|
245
|
+
declare function NoSmokingIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
246
|
+
declare function PawIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
247
|
+
declare function TrashIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
248
|
+
|
|
216
249
|
declare function FacebookIcon({ size, color }: IconProps): react.JSX.Element;
|
|
217
250
|
|
|
218
251
|
/** Native — react-native-svg (peer dependency). */
|
|
@@ -243,6 +276,12 @@ declare function ListViewIcon({ size, color, strokeWidth }: IconProps): react.JS
|
|
|
243
276
|
/** Native — react-native-svg (peer dependency). */
|
|
244
277
|
declare function LocationPinIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
245
278
|
|
|
279
|
+
/** Native — react-native-svg (peer dependency). */
|
|
280
|
+
declare function LocationUserIcon({ size, color }: IconProps): react.JSX.Element;
|
|
281
|
+
|
|
282
|
+
/** Native — react-native-svg (peer dependency). */
|
|
283
|
+
declare function LockIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
284
|
+
|
|
246
285
|
/** Native — react-native-svg (peer dependency). */
|
|
247
286
|
declare function LogOutIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
248
287
|
|
|
@@ -267,6 +306,10 @@ declare function PhoneIcon({ size, color, strokeWidth }: IconProps): react.JSX.E
|
|
|
267
306
|
|
|
268
307
|
declare function PlusIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
269
308
|
|
|
309
|
+
declare function RefreshIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
310
|
+
|
|
311
|
+
declare function RefundStatusIcon({ size, color, strokeWidth, }: IconProps): react.JSX.Element;
|
|
312
|
+
|
|
270
313
|
interface SearchIconProps {
|
|
271
314
|
size?: number;
|
|
272
315
|
color?: string;
|
|
@@ -319,6 +362,7 @@ declare function UsersAltIcon({ size, color }: IconProps): react.JSX.Element;
|
|
|
319
362
|
declare function VideoIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
320
363
|
|
|
321
364
|
declare const icons: {
|
|
365
|
+
readonly alertTriangle: typeof AlertTriangleIcon;
|
|
322
366
|
readonly areaExpand: typeof AreaExpandIcon;
|
|
323
367
|
readonly apple: typeof AppleIcon;
|
|
324
368
|
readonly arrowRight: typeof ArrowRightIcon;
|
|
@@ -335,8 +379,10 @@ declare const icons: {
|
|
|
335
379
|
readonly chevronLeft: typeof ChevronLeftIcon;
|
|
336
380
|
readonly clock: typeof ClockIcon;
|
|
337
381
|
readonly close: typeof CloseIcon;
|
|
382
|
+
readonly edit: typeof EditIcon;
|
|
338
383
|
readonly clockFilled: typeof ClockFilledIcon;
|
|
339
384
|
readonly copy: typeof CopyIcon;
|
|
385
|
+
readonly download: typeof DownloadIcon;
|
|
340
386
|
readonly bathrooms: typeof BathroomsIcon;
|
|
341
387
|
readonly bedrooms: typeof BedroomsIcon;
|
|
342
388
|
readonly cardLocation: typeof CardLocationIcon;
|
|
@@ -354,6 +400,8 @@ declare const icons: {
|
|
|
354
400
|
readonly linkedin: typeof LinkedInIcon;
|
|
355
401
|
readonly listView: typeof ListViewIcon;
|
|
356
402
|
readonly locationPin: typeof LocationPinIcon;
|
|
403
|
+
readonly locationUser: typeof LocationUserIcon;
|
|
404
|
+
readonly lock: typeof LockIcon;
|
|
357
405
|
readonly logOut: typeof LogOutIcon;
|
|
358
406
|
readonly mail: typeof MailIcon;
|
|
359
407
|
readonly mapView: typeof MapViewIcon;
|
|
@@ -362,10 +410,15 @@ declare const icons: {
|
|
|
362
410
|
readonly menu: typeof MenuIcon;
|
|
363
411
|
readonly minus: typeof MinusIcon;
|
|
364
412
|
readonly navigate: typeof NavigateIcon;
|
|
413
|
+
readonly noSmoking: typeof NoSmokingIcon;
|
|
414
|
+
readonly paw: typeof PawIcon;
|
|
365
415
|
readonly phone: typeof PhoneIcon;
|
|
366
416
|
readonly qrCode: typeof QrCodeIcon;
|
|
417
|
+
readonly quietHours: typeof QuietHoursIcon;
|
|
367
418
|
readonly ratingStar: typeof RatingStarIcon;
|
|
368
419
|
readonly plus: typeof PlusIcon;
|
|
420
|
+
readonly refresh: typeof RefreshIcon;
|
|
421
|
+
readonly refundStatus: typeof RefundStatusIcon;
|
|
369
422
|
readonly search: typeof SearchIcon;
|
|
370
423
|
readonly saveHeart: typeof SaveHeartIcon;
|
|
371
424
|
readonly share: typeof ShareIcon;
|
|
@@ -376,6 +429,7 @@ declare const icons: {
|
|
|
376
429
|
readonly star: typeof StarIcon;
|
|
377
430
|
readonly starFilled: typeof StarFilledIcon;
|
|
378
431
|
readonly tooltipArrow: typeof TooltipArrowIcon;
|
|
432
|
+
readonly trash: typeof TrashIcon;
|
|
379
433
|
readonly user: typeof UserIcon;
|
|
380
434
|
readonly usersAlt: typeof UsersAltIcon;
|
|
381
435
|
readonly video: typeof VideoIcon;
|
|
@@ -384,9 +438,9 @@ declare const icons: {
|
|
|
384
438
|
type IconName = keyof typeof icons;
|
|
385
439
|
declare const iconNames: IconName[];
|
|
386
440
|
declare const iconGroups: {
|
|
387
|
-
readonly navigation: readonly ["arrowRight", "chevronDown", "chevronLeft", "home", "listView", "locationPin", "mapCollapse", "mapExpand", "mapView", "menu", "navigate"];
|
|
388
|
-
readonly actions: readonly ["show", "bell", "camera", "key", "check", "checkBadge", "checkSuccess", "copy", "search", "calendar", "calendarOutline", "close", "ratingStar", "saveHeart", "share", "filters", "heart", "star", "starFilled", "minus", "plus", "sort"];
|
|
389
|
-
readonly objects: readonly ["bag", "bathrooms", "bedrooms", "building", "cardLocation", "clock", "clockFilled", "guests", "qrCode", "user", "usersAlt", "video", "whatsApp"];
|
|
441
|
+
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"];
|
|
390
444
|
readonly communication: readonly ["mail", "phone"];
|
|
391
445
|
readonly social: readonly ["apple", "facebook", "googlePlay", "instagram", "linkedin"];
|
|
392
446
|
readonly interface: readonly ["areaExpand", "globe", "layoutGrid", "sidebar", "settings", "helpCircle", "logOut", "tooltipArrow"];
|
|
@@ -410,6 +464,67 @@ interface BadgeProps extends Omit<ViewProps, "style" | "children"> {
|
|
|
410
464
|
}
|
|
411
465
|
declare const Badge: react.ForwardRefExoticComponent<BadgeProps & react.RefAttributes<View>>;
|
|
412
466
|
|
|
467
|
+
type StatusBadgeTone = "active" | "completed" | "cancelled";
|
|
468
|
+
interface StatusBadgeProps extends Omit<ViewProps, "style" | "children"> {
|
|
469
|
+
label: string;
|
|
470
|
+
tone?: StatusBadgeTone;
|
|
471
|
+
style?: StyleProp<ViewStyle>;
|
|
472
|
+
className?: string;
|
|
473
|
+
}
|
|
474
|
+
/**
|
|
475
|
+
* Compact status chip (e.g. booking active / completed / cancelled).
|
|
476
|
+
* Height 28, pill radius, Semibold 12 — distinct from amenity `Badge`.
|
|
477
|
+
*/
|
|
478
|
+
declare const StatusBadge: react.ForwardRefExoticComponent<StatusBadgeProps & react.RefAttributes<View>>;
|
|
479
|
+
|
|
480
|
+
interface PaginationDotsProps extends Omit<ViewProps, "style" | "children"> {
|
|
481
|
+
/** Total number of steps / slides. */
|
|
482
|
+
count: number;
|
|
483
|
+
/** Zero-based active index. */
|
|
484
|
+
activeIndex: number;
|
|
485
|
+
/** Called when a dot is pressed. */
|
|
486
|
+
onDotPress?: (index: number) => void;
|
|
487
|
+
/** Accessible name for the control group. */
|
|
488
|
+
accessibilityLabel?: string;
|
|
489
|
+
style?: StyleProp<ViewStyle>;
|
|
490
|
+
className?: string;
|
|
491
|
+
}
|
|
492
|
+
/**
|
|
493
|
+
* Carousel / stepper pagination.
|
|
494
|
+
* Whole track is `48` wide; height `6`; gap `4`; inactive dots `6×6`;
|
|
495
|
+
* active pill takes the remaining width.
|
|
496
|
+
*/
|
|
497
|
+
declare const PaginationDots: react.ForwardRefExoticComponent<PaginationDotsProps & react.RefAttributes<View>>;
|
|
498
|
+
|
|
499
|
+
interface InfoTileProps extends Omit<ViewProps, "style" | "children"> {
|
|
500
|
+
title: string;
|
|
501
|
+
/** Optional supporting line under the title. */
|
|
502
|
+
description?: string;
|
|
503
|
+
icon: IconComponent;
|
|
504
|
+
iconProps?: Omit<IconProps, "size">;
|
|
505
|
+
iconSize?: number;
|
|
506
|
+
/** Icon slot fill. Defaults to `grey600`. */
|
|
507
|
+
iconSlotBackgroundColor?: string;
|
|
508
|
+
style?: StyleProp<ViewStyle>;
|
|
509
|
+
className?: string;
|
|
510
|
+
}
|
|
511
|
+
/**
|
|
512
|
+
* Compact info tile — icon slot + title (+ optional description).
|
|
513
|
+
* Padding 12, radius 16, icon container 36×36.
|
|
514
|
+
*/
|
|
515
|
+
declare const InfoTile: react.ForwardRefExoticComponent<InfoTileProps & react.RefAttributes<View>>;
|
|
516
|
+
|
|
517
|
+
interface StepListProps extends Omit<ViewProps, "style" | "children"> {
|
|
518
|
+
/** Step descriptions, numbered automatically from 1. */
|
|
519
|
+
steps: string[];
|
|
520
|
+
style?: StyleProp<ViewStyle>;
|
|
521
|
+
className?: string;
|
|
522
|
+
}
|
|
523
|
+
/**
|
|
524
|
+
* Vertical numbered process list — 42px badges, 2×19 connectors with 8px gaps.
|
|
525
|
+
*/
|
|
526
|
+
declare const StepList: react.ForwardRefExoticComponent<StepListProps & react.RefAttributes<View>>;
|
|
527
|
+
|
|
413
528
|
interface CounterProps extends Omit<ViewProps, "style" | "children"> {
|
|
414
529
|
value?: number;
|
|
415
530
|
defaultValue?: number;
|
|
@@ -536,6 +651,8 @@ interface ButtonProps extends Omit<TouchableOpacityProps, "onPress" | "disabled"
|
|
|
536
651
|
size?: ButtonSize;
|
|
537
652
|
showIcon?: boolean;
|
|
538
653
|
icon?: ReactNode;
|
|
654
|
+
/** Overrides the trailing icon badge fill (defaults to the variant preset). */
|
|
655
|
+
iconBadgeBackgroundColor?: string;
|
|
539
656
|
style?: StyleProp<ViewStyle>;
|
|
540
657
|
textStyle?: StyleProp<TextStyle>;
|
|
541
658
|
className?: string;
|
|
@@ -618,6 +735,17 @@ type DatePickerRangeProps = DatePickerBaseProps & {
|
|
|
618
735
|
type DatePickerProps = DatePickerSingleProps | DatePickerRangeProps;
|
|
619
736
|
declare const DatePicker: react.ForwardRefExoticComponent<DatePickerProps & react.RefAttributes<View>>;
|
|
620
737
|
|
|
738
|
+
interface FloatingActionButtonProps extends Omit<TouchableOpacityProps, "onPress" | "disabled" | "style" | "children"> {
|
|
739
|
+
onPress: (event: GestureResponderEvent) => void;
|
|
740
|
+
disabled?: boolean;
|
|
741
|
+
/** Defaults to a 24×24 white plus icon. */
|
|
742
|
+
icon?: ReactNode;
|
|
743
|
+
accessibilityLabel?: string;
|
|
744
|
+
style?: StyleProp<ViewStyle>;
|
|
745
|
+
className?: string;
|
|
746
|
+
}
|
|
747
|
+
declare const FloatingActionButton: react.ForwardRefExoticComponent<FloatingActionButtonProps & react.RefAttributes<react_native.View>>;
|
|
748
|
+
|
|
621
749
|
type StatefulIcon = ReactNode | IconComponent;
|
|
622
750
|
|
|
623
751
|
type InputSize = "lg" | "sm";
|
|
@@ -860,10 +988,13 @@ declare const colors: {
|
|
|
860
988
|
readonly red: "#A63E3E";
|
|
861
989
|
readonly lightGrey: "#B7B7B7";
|
|
862
990
|
readonly green: "#34A853";
|
|
991
|
+
readonly greenMuted: "#34A85329";
|
|
863
992
|
readonly primaryMuted: "#B464360F";
|
|
864
993
|
readonly primaryHover: "#B4643633";
|
|
865
994
|
readonly redMuted: "#A63E3E0F";
|
|
866
995
|
readonly redHover: "#A63E3E33";
|
|
996
|
+
readonly greyMuted: "#76767629";
|
|
997
|
+
readonly cancelledMuted: "#A63E3E29";
|
|
867
998
|
readonly grey0: "#767676";
|
|
868
999
|
readonly grey50: "#6E6E6E";
|
|
869
1000
|
readonly grey100: "#666666";
|
|
@@ -873,6 +1004,7 @@ declare const colors: {
|
|
|
873
1004
|
readonly grey400: "#373737";
|
|
874
1005
|
readonly grey500: "#272727";
|
|
875
1006
|
readonly grey600: "#1F1F1F";
|
|
1007
|
+
readonly grey650: "#1B1B1B";
|
|
876
1008
|
readonly grey700: "#171717";
|
|
877
1009
|
readonly grey750: "#161616";
|
|
878
1010
|
readonly grey800: "#101010";
|
|
@@ -1064,7 +1196,7 @@ declare const datePickerTypography: {
|
|
|
1064
1196
|
readonly fontFamily: "Noto Sans Armenian";
|
|
1065
1197
|
readonly fontSize: 12;
|
|
1066
1198
|
readonly fontWeight: "400";
|
|
1067
|
-
readonly lineHeight:
|
|
1199
|
+
readonly lineHeight: 14;
|
|
1068
1200
|
readonly letterSpacing: 0.36;
|
|
1069
1201
|
};
|
|
1070
1202
|
readonly rangeLabel: {
|
|
@@ -1137,4 +1269,14 @@ declare const textareaTypography: {
|
|
|
1137
1269
|
};
|
|
1138
1270
|
};
|
|
1139
1271
|
|
|
1140
|
-
|
|
1272
|
+
/** Zero-padded "DD.MM.YYYY" — matches the Figma reference formatting. */
|
|
1273
|
+
declare function formatDate(date: Date): string;
|
|
1274
|
+
/**
|
|
1275
|
+
* Shortens a month name to `letterCount` letters.
|
|
1276
|
+
* Armenian digraph «ու» counts as one letter so «Հուլիս» → «Հուլ», not «Հու».
|
|
1277
|
+
*/
|
|
1278
|
+
declare function abbreviateMonthName(monthName: string, letterCount?: number): string;
|
|
1279
|
+
/** "15 Հուլ 2026" — day + abbreviated month + year for range triggers. */
|
|
1280
|
+
declare function formatDateDayShortMonth(date: Date, monthNames: string[], letterCount?: number): string;
|
|
1281
|
+
|
|
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 };
|
package/dist/index.d.ts
CHANGED
|
@@ -138,6 +138,29 @@ interface AvatarSimpleProps extends Omit<ViewProps, "style" | "children"> {
|
|
|
138
138
|
}
|
|
139
139
|
declare const AvatarSimple: react.ForwardRefExoticComponent<AvatarSimpleProps & react.RefAttributes<View>>;
|
|
140
140
|
|
|
141
|
+
interface AccountHeaderProps extends Omit<ViewProps, "style" | "children"> {
|
|
142
|
+
title: string;
|
|
143
|
+
/**
|
|
144
|
+
* When set, shows a 32×32 back control (takes priority over `onMenuPress`).
|
|
145
|
+
* Used on nested account pages such as booking details.
|
|
146
|
+
*/
|
|
147
|
+
onBackPress?: () => void;
|
|
148
|
+
/** When set, shows the 28×28 menu control (mobile account shell). Ignored if `onBackPress` is set. */
|
|
149
|
+
onMenuPress?: () => void;
|
|
150
|
+
onNotificationsPress?: () => void;
|
|
151
|
+
/** Optional status chip (or other accessory) rendered after the title with a 12px gap. */
|
|
152
|
+
badge?: ReactNode;
|
|
153
|
+
/** Accessible name for the back control. Defaults to `"Back"`. */
|
|
154
|
+
backAccessibilityLabel?: string;
|
|
155
|
+
/** Accessible name for the menu control. Defaults to `"Open menu"`. */
|
|
156
|
+
menuAccessibilityLabel?: string;
|
|
157
|
+
/** Accessible name for notifications. Defaults to `"Notifications"`. */
|
|
158
|
+
notificationsAccessibilityLabel?: string;
|
|
159
|
+
style?: StyleProp<ViewStyle>;
|
|
160
|
+
className?: string;
|
|
161
|
+
}
|
|
162
|
+
declare const AccountHeader: react.ForwardRefExoticComponent<AccountHeaderProps & react.RefAttributes<View>>;
|
|
163
|
+
|
|
141
164
|
interface IconProps {
|
|
142
165
|
size?: number;
|
|
143
166
|
color?: string;
|
|
@@ -155,6 +178,8 @@ interface ArrowRightIconProps {
|
|
|
155
178
|
/** Native — react-native-svg (peer dependency). */
|
|
156
179
|
declare function ArrowRightIcon({ size, color, strokeWidth, }: ArrowRightIconProps): react.JSX.Element;
|
|
157
180
|
|
|
181
|
+
declare function AlertTriangleIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
182
|
+
|
|
158
183
|
declare function AppleIcon({ size, color }: IconProps): react.JSX.Element;
|
|
159
184
|
declare function GooglePlayIcon({ size }: IconProps): react.JSX.Element;
|
|
160
185
|
|
|
@@ -197,6 +222,8 @@ declare function ClockIcon({ size, color, strokeWidth }: IconProps): react.JSX.E
|
|
|
197
222
|
|
|
198
223
|
declare function CloseIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
199
224
|
|
|
225
|
+
declare function EditIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
226
|
+
|
|
200
227
|
declare function SaveHeartIcon({ size, color, strokeWidth, fillOpacity, }: IconProps): react.JSX.Element;
|
|
201
228
|
declare function RatingStarIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
202
229
|
declare function CardLocationIcon({ size, color, strokeWidth, secondaryColor, }: IconProps): react.JSX.Element;
|
|
@@ -205,6 +232,7 @@ declare function BedroomsIcon({ size, color, fillOpacity }: IconProps): react.JS
|
|
|
205
232
|
declare function BathroomsIcon({ size, color, fillOpacity }: IconProps): react.JSX.Element;
|
|
206
233
|
|
|
207
234
|
declare function ShareIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
235
|
+
declare function DownloadIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
208
236
|
declare function AreaExpandIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
209
237
|
declare function ClockFilledIcon({ size, color }: IconProps): react.JSX.Element;
|
|
210
238
|
declare function QrCodeIcon({ size, color }: IconProps): react.JSX.Element;
|
|
@@ -213,6 +241,11 @@ declare function CopyIcon({ size, color, strokeWidth }: IconProps): react.JSX.El
|
|
|
213
241
|
declare function CheckSuccessIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
214
242
|
declare function TooltipArrowIcon({ size, color }: IconProps): react.JSX.Element;
|
|
215
243
|
|
|
244
|
+
declare function QuietHoursIcon({ size, color }: IconProps): react.JSX.Element;
|
|
245
|
+
declare function NoSmokingIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
246
|
+
declare function PawIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
247
|
+
declare function TrashIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
248
|
+
|
|
216
249
|
declare function FacebookIcon({ size, color }: IconProps): react.JSX.Element;
|
|
217
250
|
|
|
218
251
|
/** Native — react-native-svg (peer dependency). */
|
|
@@ -243,6 +276,12 @@ declare function ListViewIcon({ size, color, strokeWidth }: IconProps): react.JS
|
|
|
243
276
|
/** Native — react-native-svg (peer dependency). */
|
|
244
277
|
declare function LocationPinIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
245
278
|
|
|
279
|
+
/** Native — react-native-svg (peer dependency). */
|
|
280
|
+
declare function LocationUserIcon({ size, color }: IconProps): react.JSX.Element;
|
|
281
|
+
|
|
282
|
+
/** Native — react-native-svg (peer dependency). */
|
|
283
|
+
declare function LockIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
284
|
+
|
|
246
285
|
/** Native — react-native-svg (peer dependency). */
|
|
247
286
|
declare function LogOutIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
248
287
|
|
|
@@ -267,6 +306,10 @@ declare function PhoneIcon({ size, color, strokeWidth }: IconProps): react.JSX.E
|
|
|
267
306
|
|
|
268
307
|
declare function PlusIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
269
308
|
|
|
309
|
+
declare function RefreshIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
310
|
+
|
|
311
|
+
declare function RefundStatusIcon({ size, color, strokeWidth, }: IconProps): react.JSX.Element;
|
|
312
|
+
|
|
270
313
|
interface SearchIconProps {
|
|
271
314
|
size?: number;
|
|
272
315
|
color?: string;
|
|
@@ -319,6 +362,7 @@ declare function UsersAltIcon({ size, color }: IconProps): react.JSX.Element;
|
|
|
319
362
|
declare function VideoIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
320
363
|
|
|
321
364
|
declare const icons: {
|
|
365
|
+
readonly alertTriangle: typeof AlertTriangleIcon;
|
|
322
366
|
readonly areaExpand: typeof AreaExpandIcon;
|
|
323
367
|
readonly apple: typeof AppleIcon;
|
|
324
368
|
readonly arrowRight: typeof ArrowRightIcon;
|
|
@@ -335,8 +379,10 @@ declare const icons: {
|
|
|
335
379
|
readonly chevronLeft: typeof ChevronLeftIcon;
|
|
336
380
|
readonly clock: typeof ClockIcon;
|
|
337
381
|
readonly close: typeof CloseIcon;
|
|
382
|
+
readonly edit: typeof EditIcon;
|
|
338
383
|
readonly clockFilled: typeof ClockFilledIcon;
|
|
339
384
|
readonly copy: typeof CopyIcon;
|
|
385
|
+
readonly download: typeof DownloadIcon;
|
|
340
386
|
readonly bathrooms: typeof BathroomsIcon;
|
|
341
387
|
readonly bedrooms: typeof BedroomsIcon;
|
|
342
388
|
readonly cardLocation: typeof CardLocationIcon;
|
|
@@ -354,6 +400,8 @@ declare const icons: {
|
|
|
354
400
|
readonly linkedin: typeof LinkedInIcon;
|
|
355
401
|
readonly listView: typeof ListViewIcon;
|
|
356
402
|
readonly locationPin: typeof LocationPinIcon;
|
|
403
|
+
readonly locationUser: typeof LocationUserIcon;
|
|
404
|
+
readonly lock: typeof LockIcon;
|
|
357
405
|
readonly logOut: typeof LogOutIcon;
|
|
358
406
|
readonly mail: typeof MailIcon;
|
|
359
407
|
readonly mapView: typeof MapViewIcon;
|
|
@@ -362,10 +410,15 @@ declare const icons: {
|
|
|
362
410
|
readonly menu: typeof MenuIcon;
|
|
363
411
|
readonly minus: typeof MinusIcon;
|
|
364
412
|
readonly navigate: typeof NavigateIcon;
|
|
413
|
+
readonly noSmoking: typeof NoSmokingIcon;
|
|
414
|
+
readonly paw: typeof PawIcon;
|
|
365
415
|
readonly phone: typeof PhoneIcon;
|
|
366
416
|
readonly qrCode: typeof QrCodeIcon;
|
|
417
|
+
readonly quietHours: typeof QuietHoursIcon;
|
|
367
418
|
readonly ratingStar: typeof RatingStarIcon;
|
|
368
419
|
readonly plus: typeof PlusIcon;
|
|
420
|
+
readonly refresh: typeof RefreshIcon;
|
|
421
|
+
readonly refundStatus: typeof RefundStatusIcon;
|
|
369
422
|
readonly search: typeof SearchIcon;
|
|
370
423
|
readonly saveHeart: typeof SaveHeartIcon;
|
|
371
424
|
readonly share: typeof ShareIcon;
|
|
@@ -376,6 +429,7 @@ declare const icons: {
|
|
|
376
429
|
readonly star: typeof StarIcon;
|
|
377
430
|
readonly starFilled: typeof StarFilledIcon;
|
|
378
431
|
readonly tooltipArrow: typeof TooltipArrowIcon;
|
|
432
|
+
readonly trash: typeof TrashIcon;
|
|
379
433
|
readonly user: typeof UserIcon;
|
|
380
434
|
readonly usersAlt: typeof UsersAltIcon;
|
|
381
435
|
readonly video: typeof VideoIcon;
|
|
@@ -384,9 +438,9 @@ declare const icons: {
|
|
|
384
438
|
type IconName = keyof typeof icons;
|
|
385
439
|
declare const iconNames: IconName[];
|
|
386
440
|
declare const iconGroups: {
|
|
387
|
-
readonly navigation: readonly ["arrowRight", "chevronDown", "chevronLeft", "home", "listView", "locationPin", "mapCollapse", "mapExpand", "mapView", "menu", "navigate"];
|
|
388
|
-
readonly actions: readonly ["show", "bell", "camera", "key", "check", "checkBadge", "checkSuccess", "copy", "search", "calendar", "calendarOutline", "close", "ratingStar", "saveHeart", "share", "filters", "heart", "star", "starFilled", "minus", "plus", "sort"];
|
|
389
|
-
readonly objects: readonly ["bag", "bathrooms", "bedrooms", "building", "cardLocation", "clock", "clockFilled", "guests", "qrCode", "user", "usersAlt", "video", "whatsApp"];
|
|
441
|
+
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"];
|
|
390
444
|
readonly communication: readonly ["mail", "phone"];
|
|
391
445
|
readonly social: readonly ["apple", "facebook", "googlePlay", "instagram", "linkedin"];
|
|
392
446
|
readonly interface: readonly ["areaExpand", "globe", "layoutGrid", "sidebar", "settings", "helpCircle", "logOut", "tooltipArrow"];
|
|
@@ -410,6 +464,67 @@ interface BadgeProps extends Omit<ViewProps, "style" | "children"> {
|
|
|
410
464
|
}
|
|
411
465
|
declare const Badge: react.ForwardRefExoticComponent<BadgeProps & react.RefAttributes<View>>;
|
|
412
466
|
|
|
467
|
+
type StatusBadgeTone = "active" | "completed" | "cancelled";
|
|
468
|
+
interface StatusBadgeProps extends Omit<ViewProps, "style" | "children"> {
|
|
469
|
+
label: string;
|
|
470
|
+
tone?: StatusBadgeTone;
|
|
471
|
+
style?: StyleProp<ViewStyle>;
|
|
472
|
+
className?: string;
|
|
473
|
+
}
|
|
474
|
+
/**
|
|
475
|
+
* Compact status chip (e.g. booking active / completed / cancelled).
|
|
476
|
+
* Height 28, pill radius, Semibold 12 — distinct from amenity `Badge`.
|
|
477
|
+
*/
|
|
478
|
+
declare const StatusBadge: react.ForwardRefExoticComponent<StatusBadgeProps & react.RefAttributes<View>>;
|
|
479
|
+
|
|
480
|
+
interface PaginationDotsProps extends Omit<ViewProps, "style" | "children"> {
|
|
481
|
+
/** Total number of steps / slides. */
|
|
482
|
+
count: number;
|
|
483
|
+
/** Zero-based active index. */
|
|
484
|
+
activeIndex: number;
|
|
485
|
+
/** Called when a dot is pressed. */
|
|
486
|
+
onDotPress?: (index: number) => void;
|
|
487
|
+
/** Accessible name for the control group. */
|
|
488
|
+
accessibilityLabel?: string;
|
|
489
|
+
style?: StyleProp<ViewStyle>;
|
|
490
|
+
className?: string;
|
|
491
|
+
}
|
|
492
|
+
/**
|
|
493
|
+
* Carousel / stepper pagination.
|
|
494
|
+
* Whole track is `48` wide; height `6`; gap `4`; inactive dots `6×6`;
|
|
495
|
+
* active pill takes the remaining width.
|
|
496
|
+
*/
|
|
497
|
+
declare const PaginationDots: react.ForwardRefExoticComponent<PaginationDotsProps & react.RefAttributes<View>>;
|
|
498
|
+
|
|
499
|
+
interface InfoTileProps extends Omit<ViewProps, "style" | "children"> {
|
|
500
|
+
title: string;
|
|
501
|
+
/** Optional supporting line under the title. */
|
|
502
|
+
description?: string;
|
|
503
|
+
icon: IconComponent;
|
|
504
|
+
iconProps?: Omit<IconProps, "size">;
|
|
505
|
+
iconSize?: number;
|
|
506
|
+
/** Icon slot fill. Defaults to `grey600`. */
|
|
507
|
+
iconSlotBackgroundColor?: string;
|
|
508
|
+
style?: StyleProp<ViewStyle>;
|
|
509
|
+
className?: string;
|
|
510
|
+
}
|
|
511
|
+
/**
|
|
512
|
+
* Compact info tile — icon slot + title (+ optional description).
|
|
513
|
+
* Padding 12, radius 16, icon container 36×36.
|
|
514
|
+
*/
|
|
515
|
+
declare const InfoTile: react.ForwardRefExoticComponent<InfoTileProps & react.RefAttributes<View>>;
|
|
516
|
+
|
|
517
|
+
interface StepListProps extends Omit<ViewProps, "style" | "children"> {
|
|
518
|
+
/** Step descriptions, numbered automatically from 1. */
|
|
519
|
+
steps: string[];
|
|
520
|
+
style?: StyleProp<ViewStyle>;
|
|
521
|
+
className?: string;
|
|
522
|
+
}
|
|
523
|
+
/**
|
|
524
|
+
* Vertical numbered process list — 42px badges, 2×19 connectors with 8px gaps.
|
|
525
|
+
*/
|
|
526
|
+
declare const StepList: react.ForwardRefExoticComponent<StepListProps & react.RefAttributes<View>>;
|
|
527
|
+
|
|
413
528
|
interface CounterProps extends Omit<ViewProps, "style" | "children"> {
|
|
414
529
|
value?: number;
|
|
415
530
|
defaultValue?: number;
|
|
@@ -536,6 +651,8 @@ interface ButtonProps extends Omit<TouchableOpacityProps, "onPress" | "disabled"
|
|
|
536
651
|
size?: ButtonSize;
|
|
537
652
|
showIcon?: boolean;
|
|
538
653
|
icon?: ReactNode;
|
|
654
|
+
/** Overrides the trailing icon badge fill (defaults to the variant preset). */
|
|
655
|
+
iconBadgeBackgroundColor?: string;
|
|
539
656
|
style?: StyleProp<ViewStyle>;
|
|
540
657
|
textStyle?: StyleProp<TextStyle>;
|
|
541
658
|
className?: string;
|
|
@@ -618,6 +735,17 @@ type DatePickerRangeProps = DatePickerBaseProps & {
|
|
|
618
735
|
type DatePickerProps = DatePickerSingleProps | DatePickerRangeProps;
|
|
619
736
|
declare const DatePicker: react.ForwardRefExoticComponent<DatePickerProps & react.RefAttributes<View>>;
|
|
620
737
|
|
|
738
|
+
interface FloatingActionButtonProps extends Omit<TouchableOpacityProps, "onPress" | "disabled" | "style" | "children"> {
|
|
739
|
+
onPress: (event: GestureResponderEvent) => void;
|
|
740
|
+
disabled?: boolean;
|
|
741
|
+
/** Defaults to a 24×24 white plus icon. */
|
|
742
|
+
icon?: ReactNode;
|
|
743
|
+
accessibilityLabel?: string;
|
|
744
|
+
style?: StyleProp<ViewStyle>;
|
|
745
|
+
className?: string;
|
|
746
|
+
}
|
|
747
|
+
declare const FloatingActionButton: react.ForwardRefExoticComponent<FloatingActionButtonProps & react.RefAttributes<react_native.View>>;
|
|
748
|
+
|
|
621
749
|
type StatefulIcon = ReactNode | IconComponent;
|
|
622
750
|
|
|
623
751
|
type InputSize = "lg" | "sm";
|
|
@@ -860,10 +988,13 @@ declare const colors: {
|
|
|
860
988
|
readonly red: "#A63E3E";
|
|
861
989
|
readonly lightGrey: "#B7B7B7";
|
|
862
990
|
readonly green: "#34A853";
|
|
991
|
+
readonly greenMuted: "#34A85329";
|
|
863
992
|
readonly primaryMuted: "#B464360F";
|
|
864
993
|
readonly primaryHover: "#B4643633";
|
|
865
994
|
readonly redMuted: "#A63E3E0F";
|
|
866
995
|
readonly redHover: "#A63E3E33";
|
|
996
|
+
readonly greyMuted: "#76767629";
|
|
997
|
+
readonly cancelledMuted: "#A63E3E29";
|
|
867
998
|
readonly grey0: "#767676";
|
|
868
999
|
readonly grey50: "#6E6E6E";
|
|
869
1000
|
readonly grey100: "#666666";
|
|
@@ -873,6 +1004,7 @@ declare const colors: {
|
|
|
873
1004
|
readonly grey400: "#373737";
|
|
874
1005
|
readonly grey500: "#272727";
|
|
875
1006
|
readonly grey600: "#1F1F1F";
|
|
1007
|
+
readonly grey650: "#1B1B1B";
|
|
876
1008
|
readonly grey700: "#171717";
|
|
877
1009
|
readonly grey750: "#161616";
|
|
878
1010
|
readonly grey800: "#101010";
|
|
@@ -1064,7 +1196,7 @@ declare const datePickerTypography: {
|
|
|
1064
1196
|
readonly fontFamily: "Noto Sans Armenian";
|
|
1065
1197
|
readonly fontSize: 12;
|
|
1066
1198
|
readonly fontWeight: "400";
|
|
1067
|
-
readonly lineHeight:
|
|
1199
|
+
readonly lineHeight: 14;
|
|
1068
1200
|
readonly letterSpacing: 0.36;
|
|
1069
1201
|
};
|
|
1070
1202
|
readonly rangeLabel: {
|
|
@@ -1137,4 +1269,14 @@ declare const textareaTypography: {
|
|
|
1137
1269
|
};
|
|
1138
1270
|
};
|
|
1139
1271
|
|
|
1140
|
-
|
|
1272
|
+
/** Zero-padded "DD.MM.YYYY" — matches the Figma reference formatting. */
|
|
1273
|
+
declare function formatDate(date: Date): string;
|
|
1274
|
+
/**
|
|
1275
|
+
* Shortens a month name to `letterCount` letters.
|
|
1276
|
+
* Armenian digraph «ու» counts as one letter so «Հուլիս» → «Հուլ», not «Հու».
|
|
1277
|
+
*/
|
|
1278
|
+
declare function abbreviateMonthName(monthName: string, letterCount?: number): string;
|
|
1279
|
+
/** "15 Հուլ 2026" — day + abbreviated month + year for range triggers. */
|
|
1280
|
+
declare function formatDateDayShortMonth(date: Date, monthNames: string[], letterCount?: number): string;
|
|
1281
|
+
|
|
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 };
|