@ecohouse/ui 0.1.3 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/dist/index.cjs +497 -75
  2. package/dist/index.cjs.map +1 -1
  3. package/dist/index.d.cts +102 -4
  4. package/dist/index.d.ts +102 -4
  5. package/dist/index.js +491 -78
  6. package/dist/index.js.map +1 -1
  7. package/package.json +1 -1
  8. package/src/components/Avatar/Avatar.stories.tsx +133 -0
  9. package/src/components/Avatar/Avatar.tsx +389 -0
  10. package/src/components/Avatar/index.ts +2 -0
  11. package/src/components/Select/Select.tsx +1 -1
  12. package/src/components/index.ts +3 -0
  13. package/src/icons/Calendar/CalendarIcon.tsx +21 -0
  14. package/src/icons/Calendar/CalendarIcon.web.tsx +27 -0
  15. package/src/icons/Calendar/calendarPath.ts +3 -0
  16. package/src/icons/Calendar/index.ts +1 -0
  17. package/src/icons/Heart/HeartIcon.tsx +23 -0
  18. package/src/icons/Heart/HeartIcon.web.tsx +29 -0
  19. package/src/icons/Heart/heartPath.ts +3 -0
  20. package/src/icons/Heart/index.ts +1 -0
  21. package/src/icons/HelpCircle/HelpCircleIcon.tsx +25 -0
  22. package/src/icons/HelpCircle/HelpCircleIcon.web.tsx +31 -0
  23. package/src/icons/HelpCircle/helpCirclePath.ts +3 -0
  24. package/src/icons/HelpCircle/index.ts +1 -0
  25. package/src/icons/LayoutGrid/LayoutGridIcon.tsx +25 -0
  26. package/src/icons/LayoutGrid/LayoutGridIcon.web.tsx +31 -0
  27. package/src/icons/LayoutGrid/index.ts +1 -0
  28. package/src/icons/LayoutGrid/layoutGridPath.ts +3 -0
  29. package/src/icons/LogOut/LogOutIcon.tsx +21 -0
  30. package/src/icons/LogOut/LogOutIcon.web.tsx +27 -0
  31. package/src/icons/LogOut/index.ts +1 -0
  32. package/src/icons/LogOut/logOutPath.ts +3 -0
  33. package/src/icons/Settings/SettingsIcon.tsx +21 -0
  34. package/src/icons/Settings/SettingsIcon.web.tsx +27 -0
  35. package/src/icons/Settings/index.ts +1 -0
  36. package/src/icons/Settings/settingsPath.ts +3 -0
  37. package/src/icons/Video/VideoIcon.tsx +24 -0
  38. package/src/icons/Video/VideoIcon.web.tsx +30 -0
  39. package/src/icons/Video/index.ts +1 -0
  40. package/src/icons/Video/videoPath.ts +5 -0
  41. package/src/icons/index.ts +7 -0
  42. package/src/icons/registry.ts +17 -2
  43. package/src/index.ts +11 -1
  44. package/src/theme/colors.ts +1 -0
  45. package/src/theme/index.ts +1 -0
  46. package/src/theme/typography.ts +25 -0
package/dist/index.d.cts CHANGED
@@ -1,7 +1,51 @@
1
1
  import * as react from 'react';
2
2
  import { ReactNode, ComponentType } from 'react';
3
3
  import * as react_native from 'react-native';
4
- import { TouchableOpacityProps, GestureResponderEvent, StyleProp, ViewStyle, TextStyle, View, PressableProps, TextInputProps, TextInput, ViewProps } from 'react-native';
4
+ import { PressableProps, GestureResponderEvent, StyleProp, ViewStyle, View, TouchableOpacityProps, TextStyle, TextInputProps, TextInput, ViewProps } from 'react-native';
5
+
6
+ interface AvatarMenuItem {
7
+ /** Stable identity for React keys / hover tracking; falls back to `label`. */
8
+ key?: string;
9
+ /** Leading icon, e.g. `<CalendarIcon />` — pass it pre-colored. */
10
+ icon?: ReactNode;
11
+ label: string;
12
+ onPress: () => void;
13
+ disabled?: boolean;
14
+ /** Row background at rest. Defaults to transparent. */
15
+ backgroundColor?: string;
16
+ /** Row background on hover/press. Defaults to `colors.grey600`. */
17
+ hoverColor?: string;
18
+ }
19
+ interface AvatarProps extends Omit<PressableProps, "onPress" | "disabled" | "style" | "children" | "hitSlop"> {
20
+ /** Logged-in user's display name. */
21
+ name: string;
22
+ /** Shown under the name, e.g. the user's email. */
23
+ email?: string;
24
+ /** Photo URL; falls back to a placeholder icon when missing or when it fails to load. */
25
+ imageUrl?: string | null;
26
+ /** Called on every press, in addition to any menu toggling driven by `menuItems`. */
27
+ onPress?: (event: GestureResponderEvent) => void;
28
+ /** External — non-interactive. */
29
+ disabled?: boolean;
30
+ /** Trailing chevron, typically used to hint a dropdown/menu. */
31
+ showChevron?: boolean;
32
+ /**
33
+ * Account-menu options, supplied entirely by the consumer (icon, label,
34
+ * action, and per-item colors). When set, pressing the chip opens a
35
+ * dropdown listing them.
36
+ */
37
+ menuItems?: AvatarMenuItem[];
38
+ /** Controlled open state for the menu. */
39
+ open?: boolean;
40
+ defaultOpen?: boolean;
41
+ onOpenChange?: (open: boolean) => void;
42
+ /** Fixed menu width; defaults to matching the chip's width. */
43
+ menuWidth?: number;
44
+ style?: StyleProp<ViewStyle>;
45
+ className?: string;
46
+ hitSlop?: PressableProps["hitSlop"];
47
+ }
48
+ declare const Avatar: react.ForwardRefExoticComponent<AvatarProps & react.RefAttributes<View>>;
5
49
 
6
50
  type ButtonVariant = "primary" | "secondary";
7
51
  type ButtonSize = "lg" | "sm";
@@ -166,6 +210,9 @@ declare function BellIcon({ size, color, strokeWidth }: IconProps): react.JSX.El
166
210
 
167
211
  declare function BuildingIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
168
212
 
213
+ /** Native — react-native-svg (peer dependency). */
214
+ declare function CalendarIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
215
+
169
216
  declare function CameraIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
170
217
 
171
218
  interface CheckIconProps {
@@ -190,14 +237,26 @@ declare function ClockIcon({ size, color, strokeWidth }: IconProps): react.JSX.E
190
237
 
191
238
  declare function FacebookIcon({ size, color }: IconProps): react.JSX.Element;
192
239
 
240
+ /** Native — react-native-svg (peer dependency). */
241
+ declare function HeartIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
242
+
243
+ /** Native — react-native-svg (peer dependency). */
244
+ declare function HelpCircleIcon({ size, color, strokeWidth, }: IconProps): react.JSX.Element;
245
+
193
246
  declare function HomeIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
194
247
 
195
248
  declare function InstagramIcon({ size, color }: IconProps): react.JSX.Element;
196
249
 
197
250
  declare function KeyIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
198
251
 
252
+ /** Native — react-native-svg (peer dependency). */
253
+ declare function LayoutGridIcon({ size, color, strokeWidth, }: IconProps): react.JSX.Element;
254
+
199
255
  declare function LinkedInIcon({ size, color }: IconProps): react.JSX.Element;
200
256
 
257
+ /** Native — react-native-svg (peer dependency). */
258
+ declare function LogOutIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
259
+
201
260
  declare function MailIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
202
261
 
203
262
  declare function NavigateIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
@@ -212,6 +271,9 @@ interface SearchIconProps {
212
271
  /** Native — react-native-svg (peer dependency). */
213
272
  declare function SearchIcon({ size, color, strokeWidth, }: SearchIconProps): react.JSX.Element;
214
273
 
274
+ /** Native — react-native-svg (peer dependency). */
275
+ declare function SettingsIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
276
+
215
277
  interface ShowIconProps {
216
278
  size?: number;
217
279
  color?: string;
@@ -228,36 +290,47 @@ interface UserIconProps {
228
290
  /** Native — react-native-svg (peer dependency). */
229
291
  declare function UserIcon({ size, color, strokeWidth }: UserIconProps): react.JSX.Element;
230
292
 
293
+ /** Native — react-native-svg (peer dependency). */
294
+ declare function VideoIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
295
+
231
296
  declare const icons: {
232
297
  readonly arrowRight: typeof ArrowRightIcon;
233
298
  readonly bag: typeof BagIcon;
234
299
  readonly bell: typeof BellIcon;
235
300
  readonly building: typeof BuildingIcon;
301
+ readonly calendar: typeof CalendarIcon;
236
302
  readonly camera: typeof CameraIcon;
237
303
  readonly check: typeof CheckIcon;
238
304
  readonly checkBadge: typeof CheckBadgeIcon;
239
305
  readonly chevronDown: typeof ChevronDownIcon;
240
306
  readonly clock: typeof ClockIcon;
241
307
  readonly facebook: typeof FacebookIcon;
308
+ readonly heart: typeof HeartIcon;
309
+ readonly helpCircle: typeof HelpCircleIcon;
242
310
  readonly home: typeof HomeIcon;
243
311
  readonly instagram: typeof InstagramIcon;
244
312
  readonly key: typeof KeyIcon;
313
+ readonly layoutGrid: typeof LayoutGridIcon;
245
314
  readonly linkedin: typeof LinkedInIcon;
315
+ readonly logOut: typeof LogOutIcon;
246
316
  readonly mail: typeof MailIcon;
247
317
  readonly navigate: typeof NavigateIcon;
248
318
  readonly phone: typeof PhoneIcon;
249
319
  readonly search: typeof SearchIcon;
320
+ readonly settings: typeof SettingsIcon;
250
321
  readonly show: typeof ShowIcon;
251
322
  readonly user: typeof UserIcon;
323
+ readonly video: typeof VideoIcon;
252
324
  };
253
325
  type IconName = keyof typeof icons;
254
326
  declare const iconNames: IconName[];
255
327
  declare const iconGroups: {
256
328
  readonly navigation: readonly ["arrowRight", "chevronDown", "home", "navigate"];
257
- readonly actions: readonly ["show", "bell", "camera", "key", "check", "checkBadge", "search"];
258
- readonly objects: readonly ["bag", "building", "clock", "user"];
329
+ readonly actions: readonly ["show", "bell", "camera", "key", "check", "checkBadge", "search", "calendar", "heart"];
330
+ readonly objects: readonly ["bag", "building", "clock", "user", "video"];
259
331
  readonly communication: readonly ["mail", "phone"];
260
332
  readonly social: readonly ["facebook", "instagram", "linkedin"];
333
+ readonly interface: readonly ["layoutGrid", "settings", "helpCircle", "logOut"];
261
334
  };
262
335
  type IconGroup = keyof typeof iconGroups;
263
336
  declare const iconGroupNames: IconGroup[];
@@ -295,6 +368,7 @@ declare const colors: {
295
368
  readonly lightGrey: "#B7B7B7";
296
369
  readonly primaryMuted: "#B464360F";
297
370
  readonly redMuted: "#A63E3E0F";
371
+ readonly redHover: "#A63E3E33";
298
372
  readonly grey0: "#767676";
299
373
  readonly grey50: "#6E6E6E";
300
374
  readonly grey100: "#666666";
@@ -380,6 +454,30 @@ declare const selectTypography: {
380
454
  readonly letterSpacing: 0.36;
381
455
  };
382
456
  };
457
+ /** Avatar name / email / menu-item typography — 100% line-height, 0 letter-spacing. */
458
+ declare const avatarTypography: {
459
+ readonly name: {
460
+ readonly fontFamily: "Noto Sans Armenian";
461
+ readonly fontSize: 14;
462
+ readonly fontWeight: "600";
463
+ readonly lineHeight: 14;
464
+ readonly letterSpacing: 0;
465
+ };
466
+ readonly email: {
467
+ readonly fontFamily: "Noto Sans Armenian";
468
+ readonly fontSize: 12;
469
+ readonly fontWeight: "400";
470
+ readonly lineHeight: 12;
471
+ readonly letterSpacing: 0;
472
+ };
473
+ readonly menuItem: {
474
+ readonly fontFamily: "Noto Sans Armenian";
475
+ readonly fontSize: 12;
476
+ readonly fontWeight: "600";
477
+ readonly lineHeight: 12;
478
+ readonly letterSpacing: 0;
479
+ };
480
+ };
383
481
  /** Textarea label / field / hint typography — Medium/Regular 12–14, letter-spacing 3%. */
384
482
  declare const textareaTypography: {
385
483
  readonly label: {
@@ -405,4 +503,4 @@ declare const textareaTypography: {
405
503
  };
406
504
  };
407
505
 
408
- export { ArrowRightIcon, BagIcon, BellIcon, BuildingIcon, Button, type ButtonProps, type ButtonSize, type ButtonVariant, CameraIcon, CheckBadgeIcon, CheckIcon, Checkbox, type CheckboxProps, type CheckboxVariant, ChevronDownIcon, ClockIcon, FacebookIcon, type GreyStep, HomeIcon, Icon, type IconByNameProps, type IconComponent, type IconGroup, type IconName, type IconProps, Input, type InputProps, type InputSize, InstagramIcon, KeyIcon, LinkedInIcon, MailIcon, NavigateIcon, PhoneIcon, SearchIcon, Select, type SelectMultipleProps, type SelectOption, type SelectProps, type SelectSingleProps, ShowIcon, Textarea, type TextareaProps, Toggle, type ToggleProps, UserIcon, buttonTypography, colors, fonts, getIconsByGroup, grey, iconGroupNames, iconGroups, iconNames, icons, inputTypography, selectTypography, textareaTypography };
506
+ export { ArrowRightIcon, Avatar, type AvatarMenuItem, type AvatarProps, BagIcon, BellIcon, BuildingIcon, Button, type ButtonProps, type ButtonSize, type ButtonVariant, CalendarIcon, CameraIcon, CheckBadgeIcon, CheckIcon, Checkbox, type CheckboxProps, type CheckboxVariant, ChevronDownIcon, ClockIcon, 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, NavigateIcon, PhoneIcon, SearchIcon, Select, type SelectMultipleProps, type SelectOption, type SelectProps, type SelectSingleProps, SettingsIcon, ShowIcon, Textarea, type TextareaProps, Toggle, type ToggleProps, UserIcon, VideoIcon, avatarTypography, buttonTypography, colors, fonts, getIconsByGroup, grey, iconGroupNames, iconGroups, iconNames, icons, inputTypography, selectTypography, textareaTypography };
package/dist/index.d.ts CHANGED
@@ -1,7 +1,51 @@
1
1
  import * as react from 'react';
2
2
  import { ReactNode, ComponentType } from 'react';
3
3
  import * as react_native from 'react-native';
4
- import { TouchableOpacityProps, GestureResponderEvent, StyleProp, ViewStyle, TextStyle, View, PressableProps, TextInputProps, TextInput, ViewProps } from 'react-native';
4
+ import { PressableProps, GestureResponderEvent, StyleProp, ViewStyle, View, TouchableOpacityProps, TextStyle, TextInputProps, TextInput, ViewProps } from 'react-native';
5
+
6
+ interface AvatarMenuItem {
7
+ /** Stable identity for React keys / hover tracking; falls back to `label`. */
8
+ key?: string;
9
+ /** Leading icon, e.g. `<CalendarIcon />` — pass it pre-colored. */
10
+ icon?: ReactNode;
11
+ label: string;
12
+ onPress: () => void;
13
+ disabled?: boolean;
14
+ /** Row background at rest. Defaults to transparent. */
15
+ backgroundColor?: string;
16
+ /** Row background on hover/press. Defaults to `colors.grey600`. */
17
+ hoverColor?: string;
18
+ }
19
+ interface AvatarProps extends Omit<PressableProps, "onPress" | "disabled" | "style" | "children" | "hitSlop"> {
20
+ /** Logged-in user's display name. */
21
+ name: string;
22
+ /** Shown under the name, e.g. the user's email. */
23
+ email?: string;
24
+ /** Photo URL; falls back to a placeholder icon when missing or when it fails to load. */
25
+ imageUrl?: string | null;
26
+ /** Called on every press, in addition to any menu toggling driven by `menuItems`. */
27
+ onPress?: (event: GestureResponderEvent) => void;
28
+ /** External — non-interactive. */
29
+ disabled?: boolean;
30
+ /** Trailing chevron, typically used to hint a dropdown/menu. */
31
+ showChevron?: boolean;
32
+ /**
33
+ * Account-menu options, supplied entirely by the consumer (icon, label,
34
+ * action, and per-item colors). When set, pressing the chip opens a
35
+ * dropdown listing them.
36
+ */
37
+ menuItems?: AvatarMenuItem[];
38
+ /** Controlled open state for the menu. */
39
+ open?: boolean;
40
+ defaultOpen?: boolean;
41
+ onOpenChange?: (open: boolean) => void;
42
+ /** Fixed menu width; defaults to matching the chip's width. */
43
+ menuWidth?: number;
44
+ style?: StyleProp<ViewStyle>;
45
+ className?: string;
46
+ hitSlop?: PressableProps["hitSlop"];
47
+ }
48
+ declare const Avatar: react.ForwardRefExoticComponent<AvatarProps & react.RefAttributes<View>>;
5
49
 
6
50
  type ButtonVariant = "primary" | "secondary";
7
51
  type ButtonSize = "lg" | "sm";
@@ -166,6 +210,9 @@ declare function BellIcon({ size, color, strokeWidth }: IconProps): react.JSX.El
166
210
 
167
211
  declare function BuildingIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
168
212
 
213
+ /** Native — react-native-svg (peer dependency). */
214
+ declare function CalendarIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
215
+
169
216
  declare function CameraIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
170
217
 
171
218
  interface CheckIconProps {
@@ -190,14 +237,26 @@ declare function ClockIcon({ size, color, strokeWidth }: IconProps): react.JSX.E
190
237
 
191
238
  declare function FacebookIcon({ size, color }: IconProps): react.JSX.Element;
192
239
 
240
+ /** Native — react-native-svg (peer dependency). */
241
+ declare function HeartIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
242
+
243
+ /** Native — react-native-svg (peer dependency). */
244
+ declare function HelpCircleIcon({ size, color, strokeWidth, }: IconProps): react.JSX.Element;
245
+
193
246
  declare function HomeIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
194
247
 
195
248
  declare function InstagramIcon({ size, color }: IconProps): react.JSX.Element;
196
249
 
197
250
  declare function KeyIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
198
251
 
252
+ /** Native — react-native-svg (peer dependency). */
253
+ declare function LayoutGridIcon({ size, color, strokeWidth, }: IconProps): react.JSX.Element;
254
+
199
255
  declare function LinkedInIcon({ size, color }: IconProps): react.JSX.Element;
200
256
 
257
+ /** Native — react-native-svg (peer dependency). */
258
+ declare function LogOutIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
259
+
201
260
  declare function MailIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
202
261
 
203
262
  declare function NavigateIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
@@ -212,6 +271,9 @@ interface SearchIconProps {
212
271
  /** Native — react-native-svg (peer dependency). */
213
272
  declare function SearchIcon({ size, color, strokeWidth, }: SearchIconProps): react.JSX.Element;
214
273
 
274
+ /** Native — react-native-svg (peer dependency). */
275
+ declare function SettingsIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
276
+
215
277
  interface ShowIconProps {
216
278
  size?: number;
217
279
  color?: string;
@@ -228,36 +290,47 @@ interface UserIconProps {
228
290
  /** Native — react-native-svg (peer dependency). */
229
291
  declare function UserIcon({ size, color, strokeWidth }: UserIconProps): react.JSX.Element;
230
292
 
293
+ /** Native — react-native-svg (peer dependency). */
294
+ declare function VideoIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
295
+
231
296
  declare const icons: {
232
297
  readonly arrowRight: typeof ArrowRightIcon;
233
298
  readonly bag: typeof BagIcon;
234
299
  readonly bell: typeof BellIcon;
235
300
  readonly building: typeof BuildingIcon;
301
+ readonly calendar: typeof CalendarIcon;
236
302
  readonly camera: typeof CameraIcon;
237
303
  readonly check: typeof CheckIcon;
238
304
  readonly checkBadge: typeof CheckBadgeIcon;
239
305
  readonly chevronDown: typeof ChevronDownIcon;
240
306
  readonly clock: typeof ClockIcon;
241
307
  readonly facebook: typeof FacebookIcon;
308
+ readonly heart: typeof HeartIcon;
309
+ readonly helpCircle: typeof HelpCircleIcon;
242
310
  readonly home: typeof HomeIcon;
243
311
  readonly instagram: typeof InstagramIcon;
244
312
  readonly key: typeof KeyIcon;
313
+ readonly layoutGrid: typeof LayoutGridIcon;
245
314
  readonly linkedin: typeof LinkedInIcon;
315
+ readonly logOut: typeof LogOutIcon;
246
316
  readonly mail: typeof MailIcon;
247
317
  readonly navigate: typeof NavigateIcon;
248
318
  readonly phone: typeof PhoneIcon;
249
319
  readonly search: typeof SearchIcon;
320
+ readonly settings: typeof SettingsIcon;
250
321
  readonly show: typeof ShowIcon;
251
322
  readonly user: typeof UserIcon;
323
+ readonly video: typeof VideoIcon;
252
324
  };
253
325
  type IconName = keyof typeof icons;
254
326
  declare const iconNames: IconName[];
255
327
  declare const iconGroups: {
256
328
  readonly navigation: readonly ["arrowRight", "chevronDown", "home", "navigate"];
257
- readonly actions: readonly ["show", "bell", "camera", "key", "check", "checkBadge", "search"];
258
- readonly objects: readonly ["bag", "building", "clock", "user"];
329
+ readonly actions: readonly ["show", "bell", "camera", "key", "check", "checkBadge", "search", "calendar", "heart"];
330
+ readonly objects: readonly ["bag", "building", "clock", "user", "video"];
259
331
  readonly communication: readonly ["mail", "phone"];
260
332
  readonly social: readonly ["facebook", "instagram", "linkedin"];
333
+ readonly interface: readonly ["layoutGrid", "settings", "helpCircle", "logOut"];
261
334
  };
262
335
  type IconGroup = keyof typeof iconGroups;
263
336
  declare const iconGroupNames: IconGroup[];
@@ -295,6 +368,7 @@ declare const colors: {
295
368
  readonly lightGrey: "#B7B7B7";
296
369
  readonly primaryMuted: "#B464360F";
297
370
  readonly redMuted: "#A63E3E0F";
371
+ readonly redHover: "#A63E3E33";
298
372
  readonly grey0: "#767676";
299
373
  readonly grey50: "#6E6E6E";
300
374
  readonly grey100: "#666666";
@@ -380,6 +454,30 @@ declare const selectTypography: {
380
454
  readonly letterSpacing: 0.36;
381
455
  };
382
456
  };
457
+ /** Avatar name / email / menu-item typography — 100% line-height, 0 letter-spacing. */
458
+ declare const avatarTypography: {
459
+ readonly name: {
460
+ readonly fontFamily: "Noto Sans Armenian";
461
+ readonly fontSize: 14;
462
+ readonly fontWeight: "600";
463
+ readonly lineHeight: 14;
464
+ readonly letterSpacing: 0;
465
+ };
466
+ readonly email: {
467
+ readonly fontFamily: "Noto Sans Armenian";
468
+ readonly fontSize: 12;
469
+ readonly fontWeight: "400";
470
+ readonly lineHeight: 12;
471
+ readonly letterSpacing: 0;
472
+ };
473
+ readonly menuItem: {
474
+ readonly fontFamily: "Noto Sans Armenian";
475
+ readonly fontSize: 12;
476
+ readonly fontWeight: "600";
477
+ readonly lineHeight: 12;
478
+ readonly letterSpacing: 0;
479
+ };
480
+ };
383
481
  /** Textarea label / field / hint typography — Medium/Regular 12–14, letter-spacing 3%. */
384
482
  declare const textareaTypography: {
385
483
  readonly label: {
@@ -405,4 +503,4 @@ declare const textareaTypography: {
405
503
  };
406
504
  };
407
505
 
408
- export { ArrowRightIcon, BagIcon, BellIcon, BuildingIcon, Button, type ButtonProps, type ButtonSize, type ButtonVariant, CameraIcon, CheckBadgeIcon, CheckIcon, Checkbox, type CheckboxProps, type CheckboxVariant, ChevronDownIcon, ClockIcon, FacebookIcon, type GreyStep, HomeIcon, Icon, type IconByNameProps, type IconComponent, type IconGroup, type IconName, type IconProps, Input, type InputProps, type InputSize, InstagramIcon, KeyIcon, LinkedInIcon, MailIcon, NavigateIcon, PhoneIcon, SearchIcon, Select, type SelectMultipleProps, type SelectOption, type SelectProps, type SelectSingleProps, ShowIcon, Textarea, type TextareaProps, Toggle, type ToggleProps, UserIcon, buttonTypography, colors, fonts, getIconsByGroup, grey, iconGroupNames, iconGroups, iconNames, icons, inputTypography, selectTypography, textareaTypography };
506
+ export { ArrowRightIcon, Avatar, type AvatarMenuItem, type AvatarProps, BagIcon, BellIcon, BuildingIcon, Button, type ButtonProps, type ButtonSize, type ButtonVariant, CalendarIcon, CameraIcon, CheckBadgeIcon, CheckIcon, Checkbox, type CheckboxProps, type CheckboxVariant, ChevronDownIcon, ClockIcon, 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, NavigateIcon, PhoneIcon, SearchIcon, Select, type SelectMultipleProps, type SelectOption, type SelectProps, type SelectSingleProps, SettingsIcon, ShowIcon, Textarea, type TextareaProps, Toggle, type ToggleProps, UserIcon, VideoIcon, avatarTypography, buttonTypography, colors, fonts, getIconsByGroup, grey, iconGroupNames, iconGroups, iconNames, icons, inputTypography, selectTypography, textareaTypography };