@ecohouse/ui 0.1.6 → 0.1.8
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 +13 -12
- package/dist/index.cjs +699 -102
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +137 -3
- package/dist/index.d.ts +137 -3
- package/dist/index.js +690 -103
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/components/CommentCard/CommentCard.stories.tsx +31 -0
- package/src/components/CommentCard/CommentCard.tsx +209 -0
- package/src/components/CommentCard/index.ts +2 -0
- package/src/components/LanguageSwitcher/LanguageSwitcher.stories.tsx +52 -0
- package/src/components/LanguageSwitcher/LanguageSwitcher.tsx +287 -0
- package/src/components/LanguageSwitcher/index.ts +2 -0
- package/src/components/RatingInput/RatingInput.stories.tsx +41 -0
- package/src/components/RatingInput/RatingInput.tsx +168 -0
- package/src/components/RatingInput/index.ts +2 -0
- package/src/components/index.ts +9 -0
- package/src/icons/Globe/GlobeIcon.tsx +20 -0
- package/src/icons/Globe/GlobeIcon.web.tsx +26 -0
- package/src/icons/Globe/globePath.ts +3 -0
- package/src/icons/Globe/index.ts +2 -0
- package/src/icons/Star/StarIcon.tsx +35 -0
- package/src/icons/Star/StarIcon.web.tsx +41 -0
- package/src/icons/Star/index.ts +2 -0
- package/src/icons/Star/starPath.ts +3 -0
- package/src/icons/StarFilled/StarFilledIcon.tsx +28 -0
- package/src/icons/StarFilled/StarFilledIcon.web.tsx +34 -0
- package/src/icons/StarFilled/index.ts +1 -0
- package/src/icons/index.ts +4 -0
- package/src/icons/registry.ts +9 -1
- package/src/index.ts +22 -1
- package/src/theme/index.ts +3 -0
- package/src/theme/typography.ts +50 -0
package/dist/index.d.cts
CHANGED
|
@@ -114,6 +114,8 @@ declare function FacebookIcon({ size, color }: IconProps): react.JSX.Element;
|
|
|
114
114
|
/** Native — react-native-svg (peer dependency). */
|
|
115
115
|
declare function HeartIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
116
116
|
|
|
117
|
+
declare function GlobeIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
118
|
+
|
|
117
119
|
/** Native — react-native-svg (peer dependency). */
|
|
118
120
|
declare function HelpCircleIcon({ size, color, strokeWidth, }: IconProps): react.JSX.Element;
|
|
119
121
|
|
|
@@ -163,6 +165,19 @@ declare function ShowIcon({ size, color, strokeWidth }: ShowIconProps): react.JS
|
|
|
163
165
|
/** Native — react-native-svg (peer dependency). */
|
|
164
166
|
declare function SidebarIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
165
167
|
|
|
168
|
+
interface StarIconProps extends IconProps {
|
|
169
|
+
active?: boolean;
|
|
170
|
+
height?: number;
|
|
171
|
+
}
|
|
172
|
+
/** Native — active is solid orange; inactive is a grey outline. */
|
|
173
|
+
declare function StarIcon({ active, size, height, color, strokeWidth, }: StarIconProps): react.JSX.Element;
|
|
174
|
+
|
|
175
|
+
interface StarFilledIconProps extends IconProps {
|
|
176
|
+
height?: number;
|
|
177
|
+
}
|
|
178
|
+
/** Native — supplied solid orange 28×26 star icon. */
|
|
179
|
+
declare function StarFilledIcon({ size, height, color, strokeWidth, }: StarFilledIconProps): react.JSX.Element;
|
|
180
|
+
|
|
166
181
|
interface UserIconProps {
|
|
167
182
|
size?: number;
|
|
168
183
|
color?: string;
|
|
@@ -191,6 +206,7 @@ declare const icons: {
|
|
|
191
206
|
readonly clock: typeof ClockIcon;
|
|
192
207
|
readonly facebook: typeof FacebookIcon;
|
|
193
208
|
readonly heart: typeof HeartIcon;
|
|
209
|
+
readonly globe: typeof GlobeIcon;
|
|
194
210
|
readonly helpCircle: typeof HelpCircleIcon;
|
|
195
211
|
readonly home: typeof HomeIcon;
|
|
196
212
|
readonly instagram: typeof InstagramIcon;
|
|
@@ -207,6 +223,8 @@ declare const icons: {
|
|
|
207
223
|
readonly settings: typeof SettingsIcon;
|
|
208
224
|
readonly show: typeof ShowIcon;
|
|
209
225
|
readonly sidebar: typeof SidebarIcon;
|
|
226
|
+
readonly star: typeof StarIcon;
|
|
227
|
+
readonly starFilled: typeof StarFilledIcon;
|
|
210
228
|
readonly user: typeof UserIcon;
|
|
211
229
|
readonly usersAlt: typeof UsersAltIcon;
|
|
212
230
|
readonly video: typeof VideoIcon;
|
|
@@ -215,11 +233,11 @@ type IconName = keyof typeof icons;
|
|
|
215
233
|
declare const iconNames: IconName[];
|
|
216
234
|
declare const iconGroups: {
|
|
217
235
|
readonly navigation: readonly ["arrowRight", "chevronDown", "chevronLeft", "home", "navigate"];
|
|
218
|
-
readonly actions: readonly ["show", "bell", "camera", "key", "check", "checkBadge", "search", "calendar", "calendarOutline", "heart", "minus", "plus"];
|
|
236
|
+
readonly actions: readonly ["show", "bell", "camera", "key", "check", "checkBadge", "search", "calendar", "calendarOutline", "heart", "star", "starFilled", "minus", "plus"];
|
|
219
237
|
readonly objects: readonly ["bag", "building", "clock", "user", "usersAlt", "video"];
|
|
220
238
|
readonly communication: readonly ["mail", "phone"];
|
|
221
239
|
readonly social: readonly ["facebook", "instagram", "linkedin"];
|
|
222
|
-
readonly interface: readonly ["layoutGrid", "sidebar", "settings", "helpCircle", "logOut"];
|
|
240
|
+
readonly interface: readonly ["globe", "layoutGrid", "sidebar", "settings", "helpCircle", "logOut"];
|
|
223
241
|
};
|
|
224
242
|
type IconGroup = keyof typeof iconGroups;
|
|
225
243
|
declare const iconGroupNames: IconGroup[];
|
|
@@ -272,6 +290,38 @@ interface SegmentedToggleProps extends Omit<ViewProps, "style" | "children"> {
|
|
|
272
290
|
}
|
|
273
291
|
declare const SegmentedToggle: react.ForwardRefExoticComponent<SegmentedToggleProps & react.RefAttributes<View>>;
|
|
274
292
|
|
|
293
|
+
interface LanguageOption {
|
|
294
|
+
/** Stable locale identifier, such as `hy`, `en`, or `ru`. */
|
|
295
|
+
value: string;
|
|
296
|
+
/** Short label shown in the trigger and menu. */
|
|
297
|
+
label: string;
|
|
298
|
+
}
|
|
299
|
+
interface LanguageSwitcherProps extends Omit<ViewProps, "style" | "children"> {
|
|
300
|
+
options?: readonly LanguageOption[];
|
|
301
|
+
value?: string;
|
|
302
|
+
defaultValue?: string;
|
|
303
|
+
onValueChange?: (value: string) => void;
|
|
304
|
+
open?: boolean;
|
|
305
|
+
defaultOpen?: boolean;
|
|
306
|
+
onOpenChange?: (open: boolean) => void;
|
|
307
|
+
disabled?: boolean;
|
|
308
|
+
accessibilityLabel?: string;
|
|
309
|
+
style?: StyleProp<ViewStyle>;
|
|
310
|
+
className?: string;
|
|
311
|
+
hitSlop?: PressableProps["hitSlop"];
|
|
312
|
+
}
|
|
313
|
+
declare const defaultLanguageOptions: readonly [{
|
|
314
|
+
readonly value: "hy";
|
|
315
|
+
readonly label: "Հայ";
|
|
316
|
+
}, {
|
|
317
|
+
readonly value: "en";
|
|
318
|
+
readonly label: "Eng";
|
|
319
|
+
}, {
|
|
320
|
+
readonly value: "ru";
|
|
321
|
+
readonly label: "Рус";
|
|
322
|
+
}];
|
|
323
|
+
declare const LanguageSwitcher: react.ForwardRefExoticComponent<LanguageSwitcherProps & react.RefAttributes<View>>;
|
|
324
|
+
|
|
275
325
|
interface StatCardProps extends Omit<ViewProps, "style" | "children"> {
|
|
276
326
|
label: string;
|
|
277
327
|
icon: IconComponent;
|
|
@@ -467,6 +517,43 @@ interface ToggleProps extends Omit<PressableProps, "onPress" | "disabled" | "sty
|
|
|
467
517
|
}
|
|
468
518
|
declare const Toggle: react.ForwardRefExoticComponent<ToggleProps & react.RefAttributes<react_native.View>>;
|
|
469
519
|
|
|
520
|
+
interface RatingInputProps extends Omit<ViewProps, "style" | "children"> {
|
|
521
|
+
value?: number;
|
|
522
|
+
defaultValue?: number;
|
|
523
|
+
onValueChange?: (value: number) => void;
|
|
524
|
+
showValue?: boolean;
|
|
525
|
+
precision?: number;
|
|
526
|
+
/** Star item size. Glyph dimensions and default spacing scale with it. */
|
|
527
|
+
size?: number;
|
|
528
|
+
/** Overrides the proportional spacing between star items. */
|
|
529
|
+
starGap?: number;
|
|
530
|
+
readOnly?: boolean;
|
|
531
|
+
disabled?: boolean;
|
|
532
|
+
style?: StyleProp<ViewStyle>;
|
|
533
|
+
valueStyle?: StyleProp<TextStyle>;
|
|
534
|
+
className?: string;
|
|
535
|
+
hitSlop?: PressableProps["hitSlop"];
|
|
536
|
+
accessibilityLabel?: string;
|
|
537
|
+
}
|
|
538
|
+
declare const RatingInput: react.ForwardRefExoticComponent<RatingInputProps & react.RefAttributes<View>>;
|
|
539
|
+
|
|
540
|
+
interface CommentCardProps extends Omit<ViewProps, "style" | "children"> {
|
|
541
|
+
userName: string;
|
|
542
|
+
date: string;
|
|
543
|
+
commentText: string;
|
|
544
|
+
rating: number;
|
|
545
|
+
imageUrl?: string | null;
|
|
546
|
+
maxCommentLines?: number;
|
|
547
|
+
maxCommentLength?: number;
|
|
548
|
+
readMoreLabel?: string;
|
|
549
|
+
readLessLabel?: string;
|
|
550
|
+
onExpandedChange?: (expanded: boolean) => void;
|
|
551
|
+
style?: StyleProp<ViewStyle>;
|
|
552
|
+
commentStyle?: StyleProp<TextStyle>;
|
|
553
|
+
className?: string;
|
|
554
|
+
}
|
|
555
|
+
declare const CommentCard: react.ForwardRefExoticComponent<CommentCardProps & react.RefAttributes<View>>;
|
|
556
|
+
|
|
470
557
|
declare const grey: {
|
|
471
558
|
readonly "0": "#767676";
|
|
472
559
|
readonly "0.5": "#6E6E6E";
|
|
@@ -563,6 +650,14 @@ declare const segmentedToggleTypography: {
|
|
|
563
650
|
readonly lineHeight: 14;
|
|
564
651
|
readonly letterSpacing: 0;
|
|
565
652
|
};
|
|
653
|
+
/** Language switcher trigger and option labels — SemiBold 14. */
|
|
654
|
+
declare const languageSwitcherTypography: {
|
|
655
|
+
readonly fontFamily: "Noto Sans Armenian";
|
|
656
|
+
readonly fontSize: 14;
|
|
657
|
+
readonly fontWeight: "600";
|
|
658
|
+
readonly lineHeight: 19;
|
|
659
|
+
readonly letterSpacing: 0;
|
|
660
|
+
};
|
|
566
661
|
/** Counter value — Bold 14, line-height 100%, letter-spacing 0. */
|
|
567
662
|
declare const counterTypography: {
|
|
568
663
|
readonly fontFamily: "Noto Sans Armenian";
|
|
@@ -571,6 +666,45 @@ declare const counterTypography: {
|
|
|
571
666
|
readonly lineHeight: 14;
|
|
572
667
|
readonly letterSpacing: 0;
|
|
573
668
|
};
|
|
669
|
+
/** Rating score — Bold 32, line-height 112%, letter-spacing 0. */
|
|
670
|
+
declare const ratingTypography: {
|
|
671
|
+
readonly fontFamily: "Noto Sans Armenian";
|
|
672
|
+
readonly fontSize: 32;
|
|
673
|
+
readonly fontWeight: "700";
|
|
674
|
+
readonly lineHeight: 35.84;
|
|
675
|
+
readonly letterSpacing: 0;
|
|
676
|
+
};
|
|
677
|
+
/** Comment card identity, body, and action typography. */
|
|
678
|
+
declare const commentCardTypography: {
|
|
679
|
+
readonly name: {
|
|
680
|
+
readonly fontFamily: "Noto Sans Armenian";
|
|
681
|
+
readonly fontSize: 16;
|
|
682
|
+
readonly fontWeight: "600";
|
|
683
|
+
readonly lineHeight: 18;
|
|
684
|
+
readonly letterSpacing: 0;
|
|
685
|
+
};
|
|
686
|
+
readonly date: {
|
|
687
|
+
readonly fontFamily: "Noto Sans Armenian";
|
|
688
|
+
readonly fontSize: 14;
|
|
689
|
+
readonly fontWeight: "400";
|
|
690
|
+
readonly lineHeight: 16;
|
|
691
|
+
readonly letterSpacing: 0;
|
|
692
|
+
};
|
|
693
|
+
readonly comment: {
|
|
694
|
+
readonly fontFamily: "Noto Sans Armenian";
|
|
695
|
+
readonly fontSize: 14;
|
|
696
|
+
readonly fontWeight: "400";
|
|
697
|
+
readonly lineHeight: 19;
|
|
698
|
+
readonly letterSpacing: 0;
|
|
699
|
+
};
|
|
700
|
+
readonly action: {
|
|
701
|
+
readonly fontFamily: "Noto Sans Armenian";
|
|
702
|
+
readonly fontSize: 12;
|
|
703
|
+
readonly fontWeight: "700";
|
|
704
|
+
readonly lineHeight: 12;
|
|
705
|
+
readonly letterSpacing: 0;
|
|
706
|
+
};
|
|
707
|
+
};
|
|
574
708
|
/** Input label / field / hint typography. */
|
|
575
709
|
declare const inputTypography: {
|
|
576
710
|
readonly label: {
|
|
@@ -707,4 +841,4 @@ declare const textareaTypography: {
|
|
|
707
841
|
};
|
|
708
842
|
};
|
|
709
843
|
|
|
710
|
-
export { ArrowRightIcon, Avatar, type AvatarMenuItem, type AvatarProps, Badge, type BadgeProps, type BadgeVariant, BagIcon, BellIcon, BuildingIcon, Button, type ButtonProps, type ButtonSize, type ButtonVariant, CalendarIcon, CalendarOutlineIcon, CameraIcon, CheckBadgeIcon, CheckIcon, Checkbox, type CheckboxProps, type CheckboxVariant, ChevronDownIcon, ChevronLeftIcon, ClockIcon, Counter, type CounterProps, DatePicker, type DatePickerProps, type DatePickerRangeProps, type DatePickerSingleProps, type DateRange, FacebookIcon, type GreyStep, HeartIcon, HelpCircleIcon, HomeIcon, Icon, type IconByNameProps, type IconComponent, type IconGroup, type IconName, type IconProps, Input, type InputProps, type InputSize, InstagramIcon, KeyIcon, LayoutGridIcon, LinkedInIcon, LogOutIcon, MailIcon, MenuItem, type MenuItemProps, MinusIcon, NavigateIcon, PhoneIcon, PlusIcon, SearchIcon, SegmentedToggle, type SegmentedToggleOption, type SegmentedToggleProps, Select, type SelectMultipleProps, type SelectOption, type SelectProps, type SelectSingleProps, SettingsIcon, ShowIcon, SidebarIcon, StatCard, type StatCardProps, Textarea, type TextareaProps, Toggle, type ToggleProps, UserIcon, UsersAltIcon, VideoIcon, avatarTypography, badgeTypography, buttonTypography, colors, counterTypography, datePickerTypography, fonts, getIconsByGroup, grey, iconGroupNames, iconGroups, iconNames, icons, inputTypography, segmentedToggleTypography, selectTypography, statCardTypography, textareaTypography };
|
|
844
|
+
export { ArrowRightIcon, Avatar, type AvatarMenuItem, type AvatarProps, Badge, type BadgeProps, type BadgeVariant, BagIcon, BellIcon, BuildingIcon, Button, type ButtonProps, type ButtonSize, type ButtonVariant, CalendarIcon, CalendarOutlineIcon, CameraIcon, CheckBadgeIcon, CheckIcon, Checkbox, type CheckboxProps, type CheckboxVariant, ChevronDownIcon, ChevronLeftIcon, ClockIcon, CommentCard, type CommentCardProps, Counter, type CounterProps, DatePicker, type DatePickerProps, type DatePickerRangeProps, type DatePickerSingleProps, type DateRange, FacebookIcon, GlobeIcon, type GreyStep, HeartIcon, HelpCircleIcon, HomeIcon, Icon, type IconByNameProps, type IconComponent, type IconGroup, type IconName, type IconProps, Input, type InputProps, type InputSize, InstagramIcon, KeyIcon, type LanguageOption, LanguageSwitcher, type LanguageSwitcherProps, LayoutGridIcon, LinkedInIcon, LogOutIcon, MailIcon, MenuItem, type MenuItemProps, MinusIcon, NavigateIcon, PhoneIcon, PlusIcon, RatingInput, type RatingInputProps, SearchIcon, SegmentedToggle, type SegmentedToggleOption, type SegmentedToggleProps, Select, type SelectMultipleProps, type SelectOption, type SelectProps, type SelectSingleProps, SettingsIcon, ShowIcon, SidebarIcon, StarFilledIcon, StarIcon, type StarIconProps, StatCard, type StatCardProps, Textarea, type TextareaProps, Toggle, type ToggleProps, UserIcon, UsersAltIcon, VideoIcon, avatarTypography, badgeTypography, buttonTypography, colors, commentCardTypography, counterTypography, datePickerTypography, defaultLanguageOptions, fonts, getIconsByGroup, grey, iconGroupNames, iconGroups, iconNames, icons, inputTypography, languageSwitcherTypography, ratingTypography, segmentedToggleTypography, selectTypography, statCardTypography, textareaTypography };
|
package/dist/index.d.ts
CHANGED
|
@@ -114,6 +114,8 @@ declare function FacebookIcon({ size, color }: IconProps): react.JSX.Element;
|
|
|
114
114
|
/** Native — react-native-svg (peer dependency). */
|
|
115
115
|
declare function HeartIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
116
116
|
|
|
117
|
+
declare function GlobeIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
118
|
+
|
|
117
119
|
/** Native — react-native-svg (peer dependency). */
|
|
118
120
|
declare function HelpCircleIcon({ size, color, strokeWidth, }: IconProps): react.JSX.Element;
|
|
119
121
|
|
|
@@ -163,6 +165,19 @@ declare function ShowIcon({ size, color, strokeWidth }: ShowIconProps): react.JS
|
|
|
163
165
|
/** Native — react-native-svg (peer dependency). */
|
|
164
166
|
declare function SidebarIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
165
167
|
|
|
168
|
+
interface StarIconProps extends IconProps {
|
|
169
|
+
active?: boolean;
|
|
170
|
+
height?: number;
|
|
171
|
+
}
|
|
172
|
+
/** Native — active is solid orange; inactive is a grey outline. */
|
|
173
|
+
declare function StarIcon({ active, size, height, color, strokeWidth, }: StarIconProps): react.JSX.Element;
|
|
174
|
+
|
|
175
|
+
interface StarFilledIconProps extends IconProps {
|
|
176
|
+
height?: number;
|
|
177
|
+
}
|
|
178
|
+
/** Native — supplied solid orange 28×26 star icon. */
|
|
179
|
+
declare function StarFilledIcon({ size, height, color, strokeWidth, }: StarFilledIconProps): react.JSX.Element;
|
|
180
|
+
|
|
166
181
|
interface UserIconProps {
|
|
167
182
|
size?: number;
|
|
168
183
|
color?: string;
|
|
@@ -191,6 +206,7 @@ declare const icons: {
|
|
|
191
206
|
readonly clock: typeof ClockIcon;
|
|
192
207
|
readonly facebook: typeof FacebookIcon;
|
|
193
208
|
readonly heart: typeof HeartIcon;
|
|
209
|
+
readonly globe: typeof GlobeIcon;
|
|
194
210
|
readonly helpCircle: typeof HelpCircleIcon;
|
|
195
211
|
readonly home: typeof HomeIcon;
|
|
196
212
|
readonly instagram: typeof InstagramIcon;
|
|
@@ -207,6 +223,8 @@ declare const icons: {
|
|
|
207
223
|
readonly settings: typeof SettingsIcon;
|
|
208
224
|
readonly show: typeof ShowIcon;
|
|
209
225
|
readonly sidebar: typeof SidebarIcon;
|
|
226
|
+
readonly star: typeof StarIcon;
|
|
227
|
+
readonly starFilled: typeof StarFilledIcon;
|
|
210
228
|
readonly user: typeof UserIcon;
|
|
211
229
|
readonly usersAlt: typeof UsersAltIcon;
|
|
212
230
|
readonly video: typeof VideoIcon;
|
|
@@ -215,11 +233,11 @@ type IconName = keyof typeof icons;
|
|
|
215
233
|
declare const iconNames: IconName[];
|
|
216
234
|
declare const iconGroups: {
|
|
217
235
|
readonly navigation: readonly ["arrowRight", "chevronDown", "chevronLeft", "home", "navigate"];
|
|
218
|
-
readonly actions: readonly ["show", "bell", "camera", "key", "check", "checkBadge", "search", "calendar", "calendarOutline", "heart", "minus", "plus"];
|
|
236
|
+
readonly actions: readonly ["show", "bell", "camera", "key", "check", "checkBadge", "search", "calendar", "calendarOutline", "heart", "star", "starFilled", "minus", "plus"];
|
|
219
237
|
readonly objects: readonly ["bag", "building", "clock", "user", "usersAlt", "video"];
|
|
220
238
|
readonly communication: readonly ["mail", "phone"];
|
|
221
239
|
readonly social: readonly ["facebook", "instagram", "linkedin"];
|
|
222
|
-
readonly interface: readonly ["layoutGrid", "sidebar", "settings", "helpCircle", "logOut"];
|
|
240
|
+
readonly interface: readonly ["globe", "layoutGrid", "sidebar", "settings", "helpCircle", "logOut"];
|
|
223
241
|
};
|
|
224
242
|
type IconGroup = keyof typeof iconGroups;
|
|
225
243
|
declare const iconGroupNames: IconGroup[];
|
|
@@ -272,6 +290,38 @@ interface SegmentedToggleProps extends Omit<ViewProps, "style" | "children"> {
|
|
|
272
290
|
}
|
|
273
291
|
declare const SegmentedToggle: react.ForwardRefExoticComponent<SegmentedToggleProps & react.RefAttributes<View>>;
|
|
274
292
|
|
|
293
|
+
interface LanguageOption {
|
|
294
|
+
/** Stable locale identifier, such as `hy`, `en`, or `ru`. */
|
|
295
|
+
value: string;
|
|
296
|
+
/** Short label shown in the trigger and menu. */
|
|
297
|
+
label: string;
|
|
298
|
+
}
|
|
299
|
+
interface LanguageSwitcherProps extends Omit<ViewProps, "style" | "children"> {
|
|
300
|
+
options?: readonly LanguageOption[];
|
|
301
|
+
value?: string;
|
|
302
|
+
defaultValue?: string;
|
|
303
|
+
onValueChange?: (value: string) => void;
|
|
304
|
+
open?: boolean;
|
|
305
|
+
defaultOpen?: boolean;
|
|
306
|
+
onOpenChange?: (open: boolean) => void;
|
|
307
|
+
disabled?: boolean;
|
|
308
|
+
accessibilityLabel?: string;
|
|
309
|
+
style?: StyleProp<ViewStyle>;
|
|
310
|
+
className?: string;
|
|
311
|
+
hitSlop?: PressableProps["hitSlop"];
|
|
312
|
+
}
|
|
313
|
+
declare const defaultLanguageOptions: readonly [{
|
|
314
|
+
readonly value: "hy";
|
|
315
|
+
readonly label: "Հայ";
|
|
316
|
+
}, {
|
|
317
|
+
readonly value: "en";
|
|
318
|
+
readonly label: "Eng";
|
|
319
|
+
}, {
|
|
320
|
+
readonly value: "ru";
|
|
321
|
+
readonly label: "Рус";
|
|
322
|
+
}];
|
|
323
|
+
declare const LanguageSwitcher: react.ForwardRefExoticComponent<LanguageSwitcherProps & react.RefAttributes<View>>;
|
|
324
|
+
|
|
275
325
|
interface StatCardProps extends Omit<ViewProps, "style" | "children"> {
|
|
276
326
|
label: string;
|
|
277
327
|
icon: IconComponent;
|
|
@@ -467,6 +517,43 @@ interface ToggleProps extends Omit<PressableProps, "onPress" | "disabled" | "sty
|
|
|
467
517
|
}
|
|
468
518
|
declare const Toggle: react.ForwardRefExoticComponent<ToggleProps & react.RefAttributes<react_native.View>>;
|
|
469
519
|
|
|
520
|
+
interface RatingInputProps extends Omit<ViewProps, "style" | "children"> {
|
|
521
|
+
value?: number;
|
|
522
|
+
defaultValue?: number;
|
|
523
|
+
onValueChange?: (value: number) => void;
|
|
524
|
+
showValue?: boolean;
|
|
525
|
+
precision?: number;
|
|
526
|
+
/** Star item size. Glyph dimensions and default spacing scale with it. */
|
|
527
|
+
size?: number;
|
|
528
|
+
/** Overrides the proportional spacing between star items. */
|
|
529
|
+
starGap?: number;
|
|
530
|
+
readOnly?: boolean;
|
|
531
|
+
disabled?: boolean;
|
|
532
|
+
style?: StyleProp<ViewStyle>;
|
|
533
|
+
valueStyle?: StyleProp<TextStyle>;
|
|
534
|
+
className?: string;
|
|
535
|
+
hitSlop?: PressableProps["hitSlop"];
|
|
536
|
+
accessibilityLabel?: string;
|
|
537
|
+
}
|
|
538
|
+
declare const RatingInput: react.ForwardRefExoticComponent<RatingInputProps & react.RefAttributes<View>>;
|
|
539
|
+
|
|
540
|
+
interface CommentCardProps extends Omit<ViewProps, "style" | "children"> {
|
|
541
|
+
userName: string;
|
|
542
|
+
date: string;
|
|
543
|
+
commentText: string;
|
|
544
|
+
rating: number;
|
|
545
|
+
imageUrl?: string | null;
|
|
546
|
+
maxCommentLines?: number;
|
|
547
|
+
maxCommentLength?: number;
|
|
548
|
+
readMoreLabel?: string;
|
|
549
|
+
readLessLabel?: string;
|
|
550
|
+
onExpandedChange?: (expanded: boolean) => void;
|
|
551
|
+
style?: StyleProp<ViewStyle>;
|
|
552
|
+
commentStyle?: StyleProp<TextStyle>;
|
|
553
|
+
className?: string;
|
|
554
|
+
}
|
|
555
|
+
declare const CommentCard: react.ForwardRefExoticComponent<CommentCardProps & react.RefAttributes<View>>;
|
|
556
|
+
|
|
470
557
|
declare const grey: {
|
|
471
558
|
readonly "0": "#767676";
|
|
472
559
|
readonly "0.5": "#6E6E6E";
|
|
@@ -563,6 +650,14 @@ declare const segmentedToggleTypography: {
|
|
|
563
650
|
readonly lineHeight: 14;
|
|
564
651
|
readonly letterSpacing: 0;
|
|
565
652
|
};
|
|
653
|
+
/** Language switcher trigger and option labels — SemiBold 14. */
|
|
654
|
+
declare const languageSwitcherTypography: {
|
|
655
|
+
readonly fontFamily: "Noto Sans Armenian";
|
|
656
|
+
readonly fontSize: 14;
|
|
657
|
+
readonly fontWeight: "600";
|
|
658
|
+
readonly lineHeight: 19;
|
|
659
|
+
readonly letterSpacing: 0;
|
|
660
|
+
};
|
|
566
661
|
/** Counter value — Bold 14, line-height 100%, letter-spacing 0. */
|
|
567
662
|
declare const counterTypography: {
|
|
568
663
|
readonly fontFamily: "Noto Sans Armenian";
|
|
@@ -571,6 +666,45 @@ declare const counterTypography: {
|
|
|
571
666
|
readonly lineHeight: 14;
|
|
572
667
|
readonly letterSpacing: 0;
|
|
573
668
|
};
|
|
669
|
+
/** Rating score — Bold 32, line-height 112%, letter-spacing 0. */
|
|
670
|
+
declare const ratingTypography: {
|
|
671
|
+
readonly fontFamily: "Noto Sans Armenian";
|
|
672
|
+
readonly fontSize: 32;
|
|
673
|
+
readonly fontWeight: "700";
|
|
674
|
+
readonly lineHeight: 35.84;
|
|
675
|
+
readonly letterSpacing: 0;
|
|
676
|
+
};
|
|
677
|
+
/** Comment card identity, body, and action typography. */
|
|
678
|
+
declare const commentCardTypography: {
|
|
679
|
+
readonly name: {
|
|
680
|
+
readonly fontFamily: "Noto Sans Armenian";
|
|
681
|
+
readonly fontSize: 16;
|
|
682
|
+
readonly fontWeight: "600";
|
|
683
|
+
readonly lineHeight: 18;
|
|
684
|
+
readonly letterSpacing: 0;
|
|
685
|
+
};
|
|
686
|
+
readonly date: {
|
|
687
|
+
readonly fontFamily: "Noto Sans Armenian";
|
|
688
|
+
readonly fontSize: 14;
|
|
689
|
+
readonly fontWeight: "400";
|
|
690
|
+
readonly lineHeight: 16;
|
|
691
|
+
readonly letterSpacing: 0;
|
|
692
|
+
};
|
|
693
|
+
readonly comment: {
|
|
694
|
+
readonly fontFamily: "Noto Sans Armenian";
|
|
695
|
+
readonly fontSize: 14;
|
|
696
|
+
readonly fontWeight: "400";
|
|
697
|
+
readonly lineHeight: 19;
|
|
698
|
+
readonly letterSpacing: 0;
|
|
699
|
+
};
|
|
700
|
+
readonly action: {
|
|
701
|
+
readonly fontFamily: "Noto Sans Armenian";
|
|
702
|
+
readonly fontSize: 12;
|
|
703
|
+
readonly fontWeight: "700";
|
|
704
|
+
readonly lineHeight: 12;
|
|
705
|
+
readonly letterSpacing: 0;
|
|
706
|
+
};
|
|
707
|
+
};
|
|
574
708
|
/** Input label / field / hint typography. */
|
|
575
709
|
declare const inputTypography: {
|
|
576
710
|
readonly label: {
|
|
@@ -707,4 +841,4 @@ declare const textareaTypography: {
|
|
|
707
841
|
};
|
|
708
842
|
};
|
|
709
843
|
|
|
710
|
-
export { ArrowRightIcon, Avatar, type AvatarMenuItem, type AvatarProps, Badge, type BadgeProps, type BadgeVariant, BagIcon, BellIcon, BuildingIcon, Button, type ButtonProps, type ButtonSize, type ButtonVariant, CalendarIcon, CalendarOutlineIcon, CameraIcon, CheckBadgeIcon, CheckIcon, Checkbox, type CheckboxProps, type CheckboxVariant, ChevronDownIcon, ChevronLeftIcon, ClockIcon, Counter, type CounterProps, DatePicker, type DatePickerProps, type DatePickerRangeProps, type DatePickerSingleProps, type DateRange, FacebookIcon, type GreyStep, HeartIcon, HelpCircleIcon, HomeIcon, Icon, type IconByNameProps, type IconComponent, type IconGroup, type IconName, type IconProps, Input, type InputProps, type InputSize, InstagramIcon, KeyIcon, LayoutGridIcon, LinkedInIcon, LogOutIcon, MailIcon, MenuItem, type MenuItemProps, MinusIcon, NavigateIcon, PhoneIcon, PlusIcon, SearchIcon, SegmentedToggle, type SegmentedToggleOption, type SegmentedToggleProps, Select, type SelectMultipleProps, type SelectOption, type SelectProps, type SelectSingleProps, SettingsIcon, ShowIcon, SidebarIcon, StatCard, type StatCardProps, Textarea, type TextareaProps, Toggle, type ToggleProps, UserIcon, UsersAltIcon, VideoIcon, avatarTypography, badgeTypography, buttonTypography, colors, counterTypography, datePickerTypography, fonts, getIconsByGroup, grey, iconGroupNames, iconGroups, iconNames, icons, inputTypography, segmentedToggleTypography, selectTypography, statCardTypography, textareaTypography };
|
|
844
|
+
export { ArrowRightIcon, Avatar, type AvatarMenuItem, type AvatarProps, Badge, type BadgeProps, type BadgeVariant, BagIcon, BellIcon, BuildingIcon, Button, type ButtonProps, type ButtonSize, type ButtonVariant, CalendarIcon, CalendarOutlineIcon, CameraIcon, CheckBadgeIcon, CheckIcon, Checkbox, type CheckboxProps, type CheckboxVariant, ChevronDownIcon, ChevronLeftIcon, ClockIcon, CommentCard, type CommentCardProps, Counter, type CounterProps, DatePicker, type DatePickerProps, type DatePickerRangeProps, type DatePickerSingleProps, type DateRange, FacebookIcon, GlobeIcon, type GreyStep, HeartIcon, HelpCircleIcon, HomeIcon, Icon, type IconByNameProps, type IconComponent, type IconGroup, type IconName, type IconProps, Input, type InputProps, type InputSize, InstagramIcon, KeyIcon, type LanguageOption, LanguageSwitcher, type LanguageSwitcherProps, LayoutGridIcon, LinkedInIcon, LogOutIcon, MailIcon, MenuItem, type MenuItemProps, MinusIcon, NavigateIcon, PhoneIcon, PlusIcon, RatingInput, type RatingInputProps, SearchIcon, SegmentedToggle, type SegmentedToggleOption, type SegmentedToggleProps, Select, type SelectMultipleProps, type SelectOption, type SelectProps, type SelectSingleProps, SettingsIcon, ShowIcon, SidebarIcon, StarFilledIcon, StarIcon, type StarIconProps, StatCard, type StatCardProps, Textarea, type TextareaProps, Toggle, type ToggleProps, UserIcon, UsersAltIcon, VideoIcon, avatarTypography, badgeTypography, buttonTypography, colors, commentCardTypography, counterTypography, datePickerTypography, defaultLanguageOptions, fonts, getIconsByGroup, grey, iconGroupNames, iconGroups, iconNames, icons, inputTypography, languageSwitcherTypography, ratingTypography, segmentedToggleTypography, selectTypography, statCardTypography, textareaTypography };
|