@ecohouse/ui 0.1.32 → 0.1.34
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.cjs +30063 -607
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +173 -10
- package/dist/index.d.ts +173 -10
- package/dist/index.js +29989 -547
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/components/AccordionItem/AccordionItem.stories.tsx +54 -0
- package/src/components/AccordionItem/AccordionItem.tsx +220 -0
- package/src/components/AccordionItem/index.ts +2 -0
- package/src/components/AccountHeader/AccountHeader.tsx +34 -29
- package/src/components/Button/Button.stories.tsx +10 -1
- package/src/components/Button/Button.tsx +32 -3
- package/src/components/ContactInfoCard/ContactInfoCard.stories.tsx +30 -0
- package/src/components/ContactInfoCard/ContactInfoCard.tsx +141 -0
- package/src/components/ContactInfoCard/index.ts +2 -0
- package/src/components/DatePicker/DatePicker.tsx +119 -46
- package/src/components/Modal/Modal.stories.tsx +100 -0
- package/src/components/Modal/Modal.tsx +165 -0
- package/src/components/Modal/index.ts +2 -0
- package/src/components/Select/Select.tsx +5 -2
- package/src/components/Sidebar/Sidebar.tsx +42 -12
- package/src/components/StepPager/StepPager.tsx +150 -0
- package/src/components/StepPager/index.ts +2 -0
- package/src/components/ToggleRow/ToggleRow.stories.tsx +46 -0
- package/src/components/ToggleRow/ToggleRow.tsx +121 -0
- package/src/components/ToggleRow/index.ts +2 -0
- package/src/components/VerificationCodeInput/VerificationCodeInput.tsx +80 -60
- package/src/components/index.ts +15 -0
- package/src/icons/Ban/BanIcon.tsx +15 -0
- package/src/icons/Ban/banPath.ts +2 -0
- package/src/icons/Ban/index.ts +1 -0
- package/src/icons/CameraFilled/CameraFilledIcon.tsx +15 -0
- package/src/icons/CameraFilled/CameraFilledIcon.web.tsx +21 -0
- package/src/icons/CameraFilled/cameraFilledPath.ts +2 -0
- package/src/icons/CameraFilled/index.ts +1 -0
- package/src/icons/Fullscreen/FullscreenIcon.tsx +21 -0
- package/src/icons/Fullscreen/fullscreenPath.ts +2 -0
- package/src/icons/Fullscreen/index.ts +1 -0
- package/src/icons/Headset/HeadsetIcon.tsx +26 -0
- package/src/icons/Headset/HeadsetIcon.web.tsx +25 -0
- package/src/icons/Headset/headsetPath.ts +6 -0
- package/src/icons/Headset/index.ts +1 -0
- package/src/icons/Hide/HideIcon.tsx +21 -0
- package/src/icons/Hide/HideIcon.web.tsx +27 -0
- package/src/icons/Hide/hidePath.ts +3 -0
- package/src/icons/Hide/index.ts +1 -0
- package/src/icons/Home/homePath.ts +1 -1
- package/src/icons/MenuLines/MenuLinesIcon.tsx +20 -0
- package/src/icons/MenuLines/MenuLinesIcon.web.tsx +26 -0
- package/src/icons/MenuLines/index.ts +1 -0
- package/src/icons/MenuLines/menuLinesPath.ts +3 -0
- package/src/icons/Sort/SortIcon.tsx +3 -3
- package/src/icons/Sort/SortIcon.web.tsx +2 -2
- package/src/icons/Sort/sortPath.ts +3 -2
- package/src/icons/VideoOff/VideoOffIcon.tsx +21 -0
- package/src/icons/VideoOff/VideoOffIcon.web.tsx +27 -0
- package/src/icons/VideoOff/index.ts +1 -0
- package/src/icons/VideoOff/videoOffPath.ts +2 -0
- package/src/icons/ZoomOut/ZoomOutIcon.tsx +21 -0
- package/src/icons/ZoomOut/index.ts +1 -0
- package/src/icons/ZoomOut/zoomOutPath.ts +2 -0
- package/src/icons/index.ts +8 -0
- package/src/icons/registry.ts +23 -0
- package/src/index.ts +20 -0
- package/src/theme/colors.test.ts +1 -1
- package/src/theme/typography.ts +4 -4
- package/src/utils/popoverAlign.ts +85 -0
package/dist/index.d.cts
CHANGED
|
@@ -156,6 +156,13 @@ interface AccountHeaderProps extends Omit<ViewProps, "style" | "children"> {
|
|
|
156
156
|
menuAccessibilityLabel?: string;
|
|
157
157
|
/** Accessible name for notifications. Defaults to `"Notifications"`. */
|
|
158
158
|
notificationsAccessibilityLabel?: string;
|
|
159
|
+
/**
|
|
160
|
+
* Web CSS class for the menu control (hide on desktop via `#account-header-menu` /
|
|
161
|
+
* `.account-header-menu` while keeping it mounted to avoid a mobile refresh flash).
|
|
162
|
+
*/
|
|
163
|
+
menuClassName?: string;
|
|
164
|
+
/** Optional title style override (e.g. mobile 14px from the web app). */
|
|
165
|
+
titleStyle?: StyleProp<TextStyle>;
|
|
159
166
|
style?: StyleProp<ViewStyle>;
|
|
160
167
|
className?: string;
|
|
161
168
|
}
|
|
@@ -185,6 +192,9 @@ declare function GooglePlayIcon({ size }: IconProps): react.JSX.Element;
|
|
|
185
192
|
|
|
186
193
|
declare function BagIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
187
194
|
|
|
195
|
+
/** Filled prohibition / deactivated mark (28×28 viewBox). */
|
|
196
|
+
declare function BanIcon({ size, color }: IconProps): react.JSX.Element;
|
|
197
|
+
|
|
188
198
|
declare function BellIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
189
199
|
|
|
190
200
|
declare function BuildingIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
@@ -197,6 +207,9 @@ declare function CalendarOutlineIcon({ size, color, strokeWidth, }: IconProps):
|
|
|
197
207
|
|
|
198
208
|
declare function CameraIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
199
209
|
|
|
210
|
+
/** Native — filled camera, 32×32 viewBox. */
|
|
211
|
+
declare function CameraFilledIcon({ size, color }: IconProps): react.JSX.Element;
|
|
212
|
+
|
|
200
213
|
interface CheckIconProps {
|
|
201
214
|
size?: number;
|
|
202
215
|
color?: string;
|
|
@@ -251,14 +264,22 @@ declare function FacebookIcon({ size, color }: IconProps): react.JSX.Element;
|
|
|
251
264
|
/** Native — react-native-svg (peer dependency). */
|
|
252
265
|
declare function FiltersIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
253
266
|
|
|
267
|
+
/** Four-corner fullscreen / maximize control (24×24 viewBox). */
|
|
268
|
+
declare function FullscreenIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
269
|
+
|
|
254
270
|
/** Native — react-native-svg (peer dependency). */
|
|
255
271
|
declare function HeartIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
256
272
|
|
|
273
|
+
declare function HeadsetIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
274
|
+
|
|
257
275
|
declare function GlobeIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
258
276
|
|
|
259
277
|
/** Native — react-native-svg (peer dependency). */
|
|
260
278
|
declare function HelpCircleIcon({ size, color, strokeWidth, }: IconProps): react.JSX.Element;
|
|
261
279
|
|
|
280
|
+
/** Native — react-native-svg (peer dependency). */
|
|
281
|
+
declare function HideIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
282
|
+
|
|
262
283
|
declare function HomeIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
263
284
|
|
|
264
285
|
declare function InstagramIcon({ size, color }: IconProps): react.JSX.Element;
|
|
@@ -298,6 +319,8 @@ interface MenuIconProps extends IconProps {
|
|
|
298
319
|
}
|
|
299
320
|
declare function MenuIcon({ size, color, strokeWidth, open, }: MenuIconProps): react.JSX.Element;
|
|
300
321
|
|
|
322
|
+
declare function MenuLinesIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
323
|
+
|
|
301
324
|
declare function MinusIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
302
325
|
|
|
303
326
|
declare function NavigateIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
@@ -332,7 +355,7 @@ declare function ShowIcon({ size, color, strokeWidth }: ShowIconProps): react.JS
|
|
|
332
355
|
/** Native — react-native-svg (peer dependency). */
|
|
333
356
|
declare function SidebarIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
334
357
|
|
|
335
|
-
/**
|
|
358
|
+
/** Bidirectional sort (20×20 viewBox). */
|
|
336
359
|
declare function SortIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
337
360
|
|
|
338
361
|
interface StarIconProps extends IconProps {
|
|
@@ -361,17 +384,25 @@ declare function UsersAltIcon({ size, color }: IconProps): react.JSX.Element;
|
|
|
361
384
|
/** Native — react-native-svg (peer dependency). */
|
|
362
385
|
declare function VideoIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
363
386
|
|
|
387
|
+
/** Video / camera off (24×24 viewBox). */
|
|
388
|
+
declare function VideoOffIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
389
|
+
|
|
390
|
+
/** Exit-fullscreen / zoom-out corners control (24×24 viewBox). */
|
|
391
|
+
declare function ZoomOutIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
392
|
+
|
|
364
393
|
declare const icons: {
|
|
365
394
|
readonly alertTriangle: typeof AlertTriangleIcon;
|
|
366
395
|
readonly areaExpand: typeof AreaExpandIcon;
|
|
367
396
|
readonly apple: typeof AppleIcon;
|
|
368
397
|
readonly arrowRight: typeof ArrowRightIcon;
|
|
369
398
|
readonly bag: typeof BagIcon;
|
|
399
|
+
readonly ban: typeof BanIcon;
|
|
370
400
|
readonly bell: typeof BellIcon;
|
|
371
401
|
readonly building: typeof BuildingIcon;
|
|
372
402
|
readonly calendar: typeof CalendarIcon;
|
|
373
403
|
readonly calendarOutline: typeof CalendarOutlineIcon;
|
|
374
404
|
readonly camera: typeof CameraIcon;
|
|
405
|
+
readonly cameraFilled: typeof CameraFilledIcon;
|
|
375
406
|
readonly check: typeof CheckIcon;
|
|
376
407
|
readonly checkBadge: typeof CheckBadgeIcon;
|
|
377
408
|
readonly checkSuccess: typeof CheckSuccessIcon;
|
|
@@ -388,11 +419,14 @@ declare const icons: {
|
|
|
388
419
|
readonly cardLocation: typeof CardLocationIcon;
|
|
389
420
|
readonly facebook: typeof FacebookIcon;
|
|
390
421
|
readonly filters: typeof FiltersIcon;
|
|
422
|
+
readonly fullscreen: typeof FullscreenIcon;
|
|
391
423
|
readonly guests: typeof GuestsIcon;
|
|
392
424
|
readonly heart: typeof HeartIcon;
|
|
425
|
+
readonly headset: typeof HeadsetIcon;
|
|
393
426
|
readonly globe: typeof GlobeIcon;
|
|
394
427
|
readonly googlePlay: typeof GooglePlayIcon;
|
|
395
428
|
readonly helpCircle: typeof HelpCircleIcon;
|
|
429
|
+
readonly hide: typeof HideIcon;
|
|
396
430
|
readonly home: typeof HomeIcon;
|
|
397
431
|
readonly instagram: typeof InstagramIcon;
|
|
398
432
|
readonly key: typeof KeyIcon;
|
|
@@ -408,6 +442,7 @@ declare const icons: {
|
|
|
408
442
|
readonly mapCollapse: typeof MapCollapseIcon;
|
|
409
443
|
readonly mapExpand: typeof MapExpandIcon;
|
|
410
444
|
readonly menu: typeof MenuIcon;
|
|
445
|
+
readonly menuLines: typeof MenuLinesIcon;
|
|
411
446
|
readonly minus: typeof MinusIcon;
|
|
412
447
|
readonly navigate: typeof NavigateIcon;
|
|
413
448
|
readonly noSmoking: typeof NoSmokingIcon;
|
|
@@ -433,14 +468,16 @@ declare const icons: {
|
|
|
433
468
|
readonly user: typeof UserIcon;
|
|
434
469
|
readonly usersAlt: typeof UsersAltIcon;
|
|
435
470
|
readonly video: typeof VideoIcon;
|
|
471
|
+
readonly videoOff: typeof VideoOffIcon;
|
|
436
472
|
readonly whatsApp: typeof WhatsAppIcon;
|
|
473
|
+
readonly zoomOut: typeof ZoomOutIcon;
|
|
437
474
|
};
|
|
438
475
|
type IconName = keyof typeof icons;
|
|
439
476
|
declare const iconNames: IconName[];
|
|
440
477
|
declare const iconGroups: {
|
|
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"];
|
|
478
|
+
readonly navigation: readonly ["arrowRight", "chevronDown", "chevronLeft", "home", "listView", "locationPin", "locationUser", "mapCollapse", "mapExpand", "mapView", "menu", "menuLines", "navigate"];
|
|
479
|
+
readonly actions: readonly ["show", "hide", "alertTriangle", "ban", "bell", "camera", "key", "check", "checkBadge", "checkSuccess", "copy", "download", "search", "calendar", "calendarOutline", "close", "edit", "ratingStar", "saveHeart", "share", "filters", "fullscreen", "heart", "headset", "zoomOut", "star", "starFilled", "minus", "plus", "refresh", "refundStatus", "sort"];
|
|
480
|
+
readonly objects: readonly ["bag", "bathrooms", "bedrooms", "building", "cardLocation", "clock", "clockFilled", "guests", "lock", "noSmoking", "paw", "qrCode", "quietHours", "trash", "user", "usersAlt", "video", "videoOff", "whatsApp"];
|
|
444
481
|
readonly communication: readonly ["mail", "phone"];
|
|
445
482
|
readonly social: readonly ["apple", "facebook", "googlePlay", "instagram", "linkedin"];
|
|
446
483
|
readonly interface: readonly ["areaExpand", "globe", "layoutGrid", "sidebar", "settings", "helpCircle", "logOut", "tooltipArrow"];
|
|
@@ -496,6 +533,24 @@ interface PaginationDotsProps extends Omit<ViewProps, "style" | "children"> {
|
|
|
496
533
|
*/
|
|
497
534
|
declare const PaginationDots: react.ForwardRefExoticComponent<PaginationDotsProps & react.RefAttributes<View>>;
|
|
498
535
|
|
|
536
|
+
interface StepPagerProps extends Omit<ViewProps, "style" | "children"> {
|
|
537
|
+
/** Zero-based active step index. */
|
|
538
|
+
index: number;
|
|
539
|
+
/** Total number of steps. */
|
|
540
|
+
count: number;
|
|
541
|
+
onPrevious?: () => void;
|
|
542
|
+
onNext?: () => void;
|
|
543
|
+
previousAccessibilityLabel?: string;
|
|
544
|
+
nextAccessibilityLabel?: string;
|
|
545
|
+
style?: StyleProp<ViewStyle>;
|
|
546
|
+
className?: string;
|
|
547
|
+
}
|
|
548
|
+
/**
|
|
549
|
+
* Compact prev / current-of-total / next control (e.g. camera fullscreen pager).
|
|
550
|
+
* Fixed 121×48 pill, 12 gap/padding, 77 radius.
|
|
551
|
+
*/
|
|
552
|
+
declare const StepPager: react.ForwardRefExoticComponent<StepPagerProps & react.RefAttributes<View>>;
|
|
553
|
+
|
|
499
554
|
interface InfoTileProps extends Omit<ViewProps, "style" | "children"> {
|
|
500
555
|
title: string;
|
|
501
556
|
/** Optional supporting line under the title. */
|
|
@@ -514,6 +569,41 @@ interface InfoTileProps extends Omit<ViewProps, "style" | "children"> {
|
|
|
514
569
|
*/
|
|
515
570
|
declare const InfoTile: react.ForwardRefExoticComponent<InfoTileProps & react.RefAttributes<View>>;
|
|
516
571
|
|
|
572
|
+
interface ContactInfoCardProps extends Omit<ViewProps, "style" | "children"> {
|
|
573
|
+
title: string;
|
|
574
|
+
value: string;
|
|
575
|
+
icon: IconComponent;
|
|
576
|
+
iconProps?: Omit<IconProps, "size">;
|
|
577
|
+
iconSize?: number;
|
|
578
|
+
/** Icon slot fill. Defaults to `#E38E5E0F`. */
|
|
579
|
+
iconSlotBackgroundColor?: string;
|
|
580
|
+
style?: StyleProp<ViewStyle>;
|
|
581
|
+
className?: string;
|
|
582
|
+
}
|
|
583
|
+
/**
|
|
584
|
+
* Support contact strip — icon slot + title/value.
|
|
585
|
+
* Mobile: height 78, padding 16, gap 16, radius 20.
|
|
586
|
+
* Desktop: height 96, padding 24, gap 24, radius 20.
|
|
587
|
+
*/
|
|
588
|
+
declare const ContactInfoCard: react.ForwardRefExoticComponent<ContactInfoCardProps & react.RefAttributes<View>>;
|
|
589
|
+
|
|
590
|
+
interface AccordionItemProps extends Omit<ViewProps, "style" | "children"> {
|
|
591
|
+
title: string;
|
|
592
|
+
/** Expanded body text. */
|
|
593
|
+
children: string;
|
|
594
|
+
open?: boolean;
|
|
595
|
+
defaultOpen?: boolean;
|
|
596
|
+
onOpenChange?: (open: boolean) => void;
|
|
597
|
+
style?: StyleProp<ViewStyle>;
|
|
598
|
+
className?: string;
|
|
599
|
+
}
|
|
600
|
+
/**
|
|
601
|
+
* FAQ / accordion row — grey700 card.
|
|
602
|
+
* Mobile: radius 16, padding 16/12, body 12px.
|
|
603
|
+
* Desktop: radius 24, padding 16/24, body 14px.
|
|
604
|
+
*/
|
|
605
|
+
declare const AccordionItem: react.ForwardRefExoticComponent<AccordionItemProps & react.RefAttributes<View>>;
|
|
606
|
+
|
|
517
607
|
interface StepListProps extends Omit<ViewProps, "style" | "children"> {
|
|
518
608
|
/** Step descriptions, numbered automatically from 1. */
|
|
519
609
|
steps: string[];
|
|
@@ -593,6 +683,12 @@ interface SidebarProps extends Omit<ViewProps, "style" | "children"> {
|
|
|
593
683
|
collapsed?: boolean;
|
|
594
684
|
defaultCollapsed?: boolean;
|
|
595
685
|
onCollapsedChange?: (collapsed: boolean) => void;
|
|
686
|
+
/** When false, hides the expand/collapse control. Defaults to `true`. */
|
|
687
|
+
showCollapseToggle?: boolean;
|
|
688
|
+
/** When set, shows a close control in the header (e.g. mobile drawer). */
|
|
689
|
+
onClose?: () => void;
|
|
690
|
+
/** Accessible label for the close control. Defaults to `"Close"`. */
|
|
691
|
+
closeAccessibilityLabel?: string;
|
|
596
692
|
style?: StyleProp<ViewStyle>;
|
|
597
693
|
className?: string;
|
|
598
694
|
}
|
|
@@ -640,7 +736,7 @@ interface StatCardProps extends Omit<ViewProps, "style" | "children"> {
|
|
|
640
736
|
}
|
|
641
737
|
declare const StatCard: react.ForwardRefExoticComponent<StatCardProps & react.RefAttributes<View>>;
|
|
642
738
|
|
|
643
|
-
type ButtonVariant = "primary" | "secondary";
|
|
739
|
+
type ButtonVariant = "primary" | "secondary" | "danger";
|
|
644
740
|
type ButtonSize = "lg" | "sm";
|
|
645
741
|
interface ButtonProps extends Omit<TouchableOpacityProps, "onPress" | "disabled" | "style" | "children"> {
|
|
646
742
|
title?: string;
|
|
@@ -717,6 +813,11 @@ type DatePickerBaseProps = Omit<ViewProps, "style" | "children"> & {
|
|
|
717
813
|
weekStartsOn?: 0 | 1;
|
|
718
814
|
/** Styles the calendar popup independently from the trigger width. */
|
|
719
815
|
calendarStyle?: StyleProp<ViewStyle>;
|
|
816
|
+
/**
|
|
817
|
+
* When true, only the calendar panel is rendered (no field/trigger).
|
|
818
|
+
* Use with controlled `open` for icon-button / popover hosts.
|
|
819
|
+
*/
|
|
820
|
+
hideTrigger?: boolean;
|
|
720
821
|
style?: StyleProp<ViewStyle>;
|
|
721
822
|
className?: string;
|
|
722
823
|
};
|
|
@@ -746,6 +847,23 @@ interface FloatingActionButtonProps extends Omit<TouchableOpacityProps, "onPress
|
|
|
746
847
|
}
|
|
747
848
|
declare const FloatingActionButton: react.ForwardRefExoticComponent<FloatingActionButtonProps & react.RefAttributes<react_native.View>>;
|
|
748
849
|
|
|
850
|
+
interface ModalProps {
|
|
851
|
+
/** Controls visibility. */
|
|
852
|
+
open: boolean;
|
|
853
|
+
/** Called on backdrop press, Escape / Android back, or explicit close. */
|
|
854
|
+
onClose: () => void;
|
|
855
|
+
children: ReactNode;
|
|
856
|
+
/** Close when the dimmed backdrop is pressed. Defaults to `true`. */
|
|
857
|
+
closeOnBackdropPress?: boolean;
|
|
858
|
+
/** Accessible name for the backdrop control. Defaults to `"Close"`. */
|
|
859
|
+
backdropAccessibilityLabel?: string;
|
|
860
|
+
/** Style for the centered content wrapper around `children`. */
|
|
861
|
+
contentStyle?: StyleProp<ViewStyle>;
|
|
862
|
+
/** Web CSS class applied to the content wrapper. */
|
|
863
|
+
className?: string;
|
|
864
|
+
}
|
|
865
|
+
declare const Modal: react.ForwardRefExoticComponent<ModalProps & react.RefAttributes<View>>;
|
|
866
|
+
|
|
749
867
|
type StatefulIcon = ReactNode | IconComponent;
|
|
750
868
|
|
|
751
869
|
type InputSize = "lg" | "sm";
|
|
@@ -790,6 +908,8 @@ interface VerificationCodeInputProps extends Omit<ViewProps, "children" | "style
|
|
|
790
908
|
/** Called when Enter/submit is pressed from a cell. */
|
|
791
909
|
onSubmit?: (value: string) => void;
|
|
792
910
|
error?: boolean;
|
|
911
|
+
/** Shown under the cells when `error` is true. */
|
|
912
|
+
errorMessage?: string;
|
|
793
913
|
disabled?: boolean;
|
|
794
914
|
autoFocus?: boolean;
|
|
795
915
|
/** Localized accessible name for each zero-based cell index. */
|
|
@@ -831,6 +951,8 @@ type SelectBaseProps = Omit<ViewProps, "style" | "children"> & {
|
|
|
831
951
|
loading?: boolean;
|
|
832
952
|
/** Text shown when no options match. */
|
|
833
953
|
emptyText?: string;
|
|
954
|
+
/** Override color for the selected value text in the trigger. */
|
|
955
|
+
valueColor?: string;
|
|
834
956
|
style?: StyleProp<ViewStyle>;
|
|
835
957
|
className?: string;
|
|
836
958
|
};
|
|
@@ -883,6 +1005,24 @@ interface ToggleProps extends Omit<PressableProps, "onPress" | "disabled" | "sty
|
|
|
883
1005
|
}
|
|
884
1006
|
declare const Toggle: react.ForwardRefExoticComponent<ToggleProps & react.RefAttributes<react_native.View>>;
|
|
885
1007
|
|
|
1008
|
+
interface ToggleRowProps extends Omit<ViewProps, "style" | "children"> {
|
|
1009
|
+
label: string;
|
|
1010
|
+
value?: boolean;
|
|
1011
|
+
defaultValue?: boolean;
|
|
1012
|
+
onValueChange?: (value: boolean) => void;
|
|
1013
|
+
disabled?: boolean;
|
|
1014
|
+
/** When false, hides the bottom border. Defaults to true. */
|
|
1015
|
+
showBorder?: boolean;
|
|
1016
|
+
style?: StyleProp<ViewStyle>;
|
|
1017
|
+
className?: string;
|
|
1018
|
+
}
|
|
1019
|
+
/**
|
|
1020
|
+
* Settings toggle line — label left, switch right.
|
|
1021
|
+
* Mobile: height 57, padding 16/12, label 12px.
|
|
1022
|
+
* Desktop: height 65, padding 20/12, label 14px.
|
|
1023
|
+
*/
|
|
1024
|
+
declare const ToggleRow: react.ForwardRefExoticComponent<ToggleRowProps & react.RefAttributes<View>>;
|
|
1025
|
+
|
|
886
1026
|
interface RatingInputProps extends Omit<ViewProps, "style" | "children"> {
|
|
887
1027
|
value?: number;
|
|
888
1028
|
defaultValue?: number;
|
|
@@ -1125,7 +1265,7 @@ declare const inputTypography: {
|
|
|
1125
1265
|
readonly fontFamily: "Noto Sans Armenian";
|
|
1126
1266
|
readonly fontSize: 12;
|
|
1127
1267
|
readonly fontWeight: "400";
|
|
1128
|
-
readonly lineHeight:
|
|
1268
|
+
readonly lineHeight: 16;
|
|
1129
1269
|
readonly letterSpacing: 0.36;
|
|
1130
1270
|
};
|
|
1131
1271
|
readonly hint: {
|
|
@@ -1149,7 +1289,7 @@ declare const selectTypography: {
|
|
|
1149
1289
|
readonly fontFamily: "Noto Sans Armenian";
|
|
1150
1290
|
readonly fontSize: 12;
|
|
1151
1291
|
readonly fontWeight: "400";
|
|
1152
|
-
readonly lineHeight:
|
|
1292
|
+
readonly lineHeight: 16;
|
|
1153
1293
|
readonly letterSpacing: 0.36;
|
|
1154
1294
|
};
|
|
1155
1295
|
readonly hint: {
|
|
@@ -1173,7 +1313,7 @@ declare const avatarTypography: {
|
|
|
1173
1313
|
readonly fontFamily: "Noto Sans Armenian";
|
|
1174
1314
|
readonly fontSize: 12;
|
|
1175
1315
|
readonly fontWeight: "400";
|
|
1176
|
-
readonly lineHeight:
|
|
1316
|
+
readonly lineHeight: 14;
|
|
1177
1317
|
readonly letterSpacing: 0;
|
|
1178
1318
|
};
|
|
1179
1319
|
readonly menuItem: {
|
|
@@ -1257,7 +1397,7 @@ declare const textareaTypography: {
|
|
|
1257
1397
|
readonly fontFamily: "Noto Sans Armenian";
|
|
1258
1398
|
readonly fontSize: 12;
|
|
1259
1399
|
readonly fontWeight: "400";
|
|
1260
|
-
readonly lineHeight:
|
|
1400
|
+
readonly lineHeight: 16;
|
|
1261
1401
|
readonly letterSpacing: 0.36;
|
|
1262
1402
|
};
|
|
1263
1403
|
readonly hint: {
|
|
@@ -1279,4 +1419,27 @@ declare function abbreviateMonthName(monthName: string, letterCount?: number): s
|
|
|
1279
1419
|
/** "15 Հուլ 2026" — day + abbreviated month + year for range triggers. */
|
|
1280
1420
|
declare function formatDateDayShortMonth(date: Date, monthNames: string[], letterCount?: number): string;
|
|
1281
1421
|
|
|
1282
|
-
|
|
1422
|
+
type PopoverAlign = "center" | "start" | "end";
|
|
1423
|
+
type ResolvePopoverAlignOptions = {
|
|
1424
|
+
/** Trigger element bounds in viewport coordinates. */
|
|
1425
|
+
triggerRect: Pick<DOMRect, "left" | "right" | "width">;
|
|
1426
|
+
/** Popover panel width in px. */
|
|
1427
|
+
panelWidth: number;
|
|
1428
|
+
/** Viewport width in px. */
|
|
1429
|
+
viewportWidth: number;
|
|
1430
|
+
/** Minimum gap from the viewport edges. Defaults to 8. */
|
|
1431
|
+
padding?: number;
|
|
1432
|
+
/**
|
|
1433
|
+
* `auto` (default): prefer center, then end (opens left), then start (opens right).
|
|
1434
|
+
* Fixed values force that alignment.
|
|
1435
|
+
*/
|
|
1436
|
+
preferred?: PopoverAlign | "auto";
|
|
1437
|
+
};
|
|
1438
|
+
/**
|
|
1439
|
+
* Picks horizontal popover alignment so the panel stays in view.
|
|
1440
|
+
* Preference for `auto`: center → start (rightward) → end (leftward)
|
|
1441
|
+
* when the trigger sits near the left edge (common for card actions).
|
|
1442
|
+
*/
|
|
1443
|
+
declare function resolvePopoverAlign({ triggerRect, panelWidth, viewportWidth, padding, preferred, }: ResolvePopoverAlignOptions): PopoverAlign;
|
|
1444
|
+
|
|
1445
|
+
export { AccordionItem, type AccordionItemProps, AccountHeader, type AccountHeaderProps, AlertTriangleIcon, Amenity, AmenityIcon, type AmenityIconProps, type AmenityName, type AmenityProps, type AmenityVariant, AppleIcon, AreaExpandIcon, ArrowRightIcon, Avatar, type AvatarMenuItem, type AvatarProps, AvatarSimple, type AvatarSimpleProps, BRAND_LOGO_COLORS, BRAND_LOGO_DEFAULT_HEIGHT, BRAND_LOGO_DEFAULT_WIDTH, Badge, type BadgeProps, type BadgeVariant, BagIcon, BanIcon, BathroomsIcon, BedroomsIcon, BellIcon, BrandLogo, type BrandLogoProps, type BrandLogoVariant, BuildingIcon, Button, type ButtonProps, type ButtonSize, type ButtonVariant, CalendarIcon, CalendarOutlineIcon, CameraFilledIcon, CameraIcon, CardLocationIcon, CheckBadgeIcon, CheckIcon, CheckSuccessIcon, Checkbox, type CheckboxProps, type CheckboxVariant, ChevronDownIcon, ChevronLeftIcon, ClockFilledIcon, ClockIcon, CloseIcon, CommentCard, type CommentCardProps, ContactInfoCard, type ContactInfoCardProps, CopyIcon, Counter, type CounterProps, DatePicker, type DatePickerProps, type DatePickerRangeProps, type DatePickerSingleProps, type DatePickerVariant, type DateRange, DownloadIcon, EditIcon, FacebookIcon, FavoritesButton, type FavoritesButtonProps, FiltersIcon, FloatingActionButton, type FloatingActionButtonProps, FullscreenIcon, GlobeIcon, GooglePlayIcon, type GreyStep, GuestsIcon, HeadsetIcon, HeartIcon, HelpCircleIcon, HideIcon, HomeIcon, Icon, type IconByNameProps, type IconComponent, type IconGroup, type IconName, type IconProps, 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, MenuLinesIcon, MinusIcon, Modal, type ModalProps, 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, ToggleRow, type ToggleRowProps, TooltipArrowIcon, TrashIcon, UserIcon, UsersAltIcon, VerificationCodeInput, type VerificationCodeInputHandle, type VerificationCodeInputProps, VideoIcon, VideoOffIcon, WhatsAppIcon, ZoomOutIcon, abbreviateMonthName, avatarTypography, badgeTypography, buttonTypography, colors, commentCardTypography, counterTypography, datePickerTypography, defaultLanguageOptions, fonts, formatDate, formatDateDayShortMonth, getIconsByGroup, grey, iconGroupNames, iconGroups, iconNames, icons, inputTypography, languageSwitcherTypography, ratingTypography, resolvePopoverAlign, segmentedToggleTypography, selectTypography, statCardTypography, textareaTypography };
|