@ecohouse/ui 0.1.2 → 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.
- package/dist/index.cjs +1734 -155
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +287 -13
- package/dist/index.d.ts +287 -13
- package/dist/index.js +1720 -159
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/components/Avatar/Avatar.stories.tsx +133 -0
- package/src/components/Avatar/Avatar.tsx +389 -0
- package/src/components/Avatar/index.ts +2 -0
- package/src/components/Button/Button.tsx +106 -88
- package/src/components/Checkbox/Checkbox.stories.tsx +112 -0
- package/src/components/Checkbox/Checkbox.tsx +150 -0
- package/src/components/Checkbox/index.ts +2 -0
- package/src/components/Input/Input.stories.tsx +11 -40
- package/src/components/Input/Input.tsx +58 -54
- package/src/components/Input/index.ts +1 -1
- package/src/components/Select/Select.stories.tsx +196 -0
- package/src/components/Select/Select.tsx +851 -0
- package/src/components/Select/index.ts +2 -0
- package/src/components/Textarea/Textarea.stories.tsx +71 -0
- package/src/components/Textarea/Textarea.tsx +241 -0
- package/src/components/Textarea/index.ts +2 -0
- package/src/components/Toggle/Toggle.stories.tsx +100 -0
- package/src/components/Toggle/Toggle.tsx +176 -0
- package/src/components/Toggle/index.ts +2 -0
- package/src/components/index.ts +16 -1
- package/src/icons/Calendar/CalendarIcon.tsx +21 -0
- package/src/icons/Calendar/CalendarIcon.web.tsx +27 -0
- package/src/icons/Calendar/calendarPath.ts +3 -0
- package/src/icons/Calendar/index.ts +1 -0
- package/src/icons/Check/CheckIcon.tsx +26 -0
- package/src/icons/Check/CheckIcon.web.tsx +32 -0
- package/src/icons/Check/checkPath.ts +2 -0
- package/src/icons/Check/index.ts +1 -0
- package/src/icons/ChevronDown/ChevronDownIcon.tsx +30 -0
- package/src/icons/ChevronDown/ChevronDownIcon.web.tsx +36 -0
- package/src/icons/ChevronDown/chevronDownPath.ts +2 -0
- package/src/icons/ChevronDown/index.ts +1 -0
- package/src/icons/Heart/HeartIcon.tsx +23 -0
- package/src/icons/Heart/HeartIcon.web.tsx +29 -0
- package/src/icons/Heart/heartPath.ts +3 -0
- package/src/icons/Heart/index.ts +1 -0
- package/src/icons/HelpCircle/HelpCircleIcon.tsx +25 -0
- package/src/icons/HelpCircle/HelpCircleIcon.web.tsx +31 -0
- package/src/icons/HelpCircle/helpCirclePath.ts +3 -0
- package/src/icons/HelpCircle/index.ts +1 -0
- package/src/icons/LayoutGrid/LayoutGridIcon.tsx +25 -0
- package/src/icons/LayoutGrid/LayoutGridIcon.web.tsx +31 -0
- package/src/icons/LayoutGrid/index.ts +1 -0
- package/src/icons/LayoutGrid/layoutGridPath.ts +3 -0
- package/src/icons/LogOut/LogOutIcon.tsx +21 -0
- package/src/icons/LogOut/LogOutIcon.web.tsx +27 -0
- package/src/icons/LogOut/index.ts +1 -0
- package/src/icons/LogOut/logOutPath.ts +3 -0
- package/src/icons/Search/SearchIcon.tsx +37 -0
- package/src/icons/Search/SearchIcon.web.tsx +43 -0
- package/src/icons/Search/index.ts +1 -0
- package/src/icons/Search/searchPath.ts +5 -0
- package/src/icons/Settings/SettingsIcon.tsx +21 -0
- package/src/icons/Settings/SettingsIcon.web.tsx +27 -0
- package/src/icons/Settings/index.ts +1 -0
- package/src/icons/Settings/settingsPath.ts +3 -0
- package/src/icons/Video/VideoIcon.tsx +24 -0
- package/src/icons/Video/VideoIcon.web.tsx +30 -0
- package/src/icons/Video/index.ts +1 -0
- package/src/icons/Video/videoPath.ts +5 -0
- package/src/icons/index.ts +10 -0
- package/src/icons/registry.ts +24 -3
- package/src/index.ts +31 -3
- package/src/theme/colors.ts +1 -0
- package/src/theme/index.ts +8 -1
- package/src/theme/typography.ts +77 -2
- package/src/utils/mergeRefs.ts +20 -0
package/dist/index.d.cts
CHANGED
|
@@ -1,10 +1,55 @@
|
|
|
1
1
|
import * as react from 'react';
|
|
2
2
|
import { ReactNode, ComponentType } from 'react';
|
|
3
|
-
import
|
|
3
|
+
import * as react_native 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>>;
|
|
4
49
|
|
|
5
50
|
type ButtonVariant = "primary" | "secondary";
|
|
6
51
|
type ButtonSize = "lg" | "sm";
|
|
7
|
-
interface ButtonProps {
|
|
52
|
+
interface ButtonProps extends Omit<TouchableOpacityProps, "onPress" | "disabled" | "style" | "children"> {
|
|
8
53
|
title?: string;
|
|
9
54
|
children?: ReactNode;
|
|
10
55
|
onPress: (event: GestureResponderEvent) => void;
|
|
@@ -18,31 +63,131 @@ interface ButtonProps {
|
|
|
18
63
|
className?: string;
|
|
19
64
|
textClassName?: string;
|
|
20
65
|
}
|
|
21
|
-
declare
|
|
66
|
+
declare const Button: react.ForwardRefExoticComponent<ButtonProps & react.RefAttributes<View>>;
|
|
67
|
+
|
|
68
|
+
type CheckboxVariant = "default" | "light";
|
|
69
|
+
interface CheckboxProps extends Omit<PressableProps, "onPress" | "disabled" | "style" | "children" | "hitSlop"> {
|
|
70
|
+
value?: boolean;
|
|
71
|
+
defaultValue?: boolean;
|
|
72
|
+
onValueChange?: (value: boolean) => void;
|
|
73
|
+
disabled?: boolean;
|
|
74
|
+
variant?: CheckboxVariant;
|
|
75
|
+
label?: string;
|
|
76
|
+
children?: ReactNode;
|
|
77
|
+
style?: StyleProp<ViewStyle>;
|
|
78
|
+
labelStyle?: StyleProp<TextStyle>;
|
|
79
|
+
className?: string;
|
|
80
|
+
hitSlop?: PressableProps["hitSlop"];
|
|
81
|
+
}
|
|
82
|
+
declare const Checkbox: react.ForwardRefExoticComponent<CheckboxProps & react.RefAttributes<View>>;
|
|
22
83
|
|
|
23
|
-
type InputState = "default" | "filled" | "active" | "error" | "disabled";
|
|
24
84
|
type InputSize = "lg" | "sm";
|
|
25
85
|
interface InputProps extends Omit<TextInputProps, "style" | "editable"> {
|
|
26
86
|
label?: string;
|
|
27
87
|
showLabel?: boolean;
|
|
28
88
|
hint?: string;
|
|
29
89
|
showHint?: boolean;
|
|
30
|
-
state?: InputState;
|
|
31
90
|
size?: InputSize;
|
|
32
|
-
|
|
91
|
+
/** External — validation / form error. */
|
|
33
92
|
error?: boolean;
|
|
93
|
+
/** External — non-interactive. */
|
|
94
|
+
disabled?: boolean;
|
|
34
95
|
leftIcon?: ReactNode;
|
|
35
96
|
showLeftIcon?: boolean;
|
|
36
97
|
rightIcon?: ReactNode;
|
|
37
98
|
showRightIcon?: boolean;
|
|
38
99
|
onRightIconPress?: () => void;
|
|
100
|
+
/** Accessible name for the right icon button, when `onRightIconPress` is set. */
|
|
101
|
+
rightIconAccessibilityLabel?: string;
|
|
39
102
|
style?: StyleProp<ViewStyle>;
|
|
40
103
|
fieldStyle?: StyleProp<ViewStyle>;
|
|
41
104
|
inputStyle?: StyleProp<TextStyle>;
|
|
42
105
|
className?: string;
|
|
43
106
|
inputClassName?: string;
|
|
44
107
|
}
|
|
45
|
-
declare
|
|
108
|
+
declare const Input: react.ForwardRefExoticComponent<InputProps & react.RefAttributes<TextInput>>;
|
|
109
|
+
|
|
110
|
+
type SelectOption = {
|
|
111
|
+
label: string;
|
|
112
|
+
value: string;
|
|
113
|
+
};
|
|
114
|
+
type SelectBaseProps = Omit<ViewProps, "style" | "children"> & {
|
|
115
|
+
label?: string;
|
|
116
|
+
showLabel?: boolean;
|
|
117
|
+
hint?: string;
|
|
118
|
+
showHint?: boolean;
|
|
119
|
+
placeholder?: string;
|
|
120
|
+
options: SelectOption[];
|
|
121
|
+
open?: boolean;
|
|
122
|
+
defaultOpen?: boolean;
|
|
123
|
+
onOpenChange?: (open: boolean) => void;
|
|
124
|
+
disabled?: boolean;
|
|
125
|
+
error?: boolean;
|
|
126
|
+
leftIcon?: ReactNode;
|
|
127
|
+
showLeftIcon?: boolean;
|
|
128
|
+
showSearch?: boolean;
|
|
129
|
+
searchPlaceholder?: string;
|
|
130
|
+
/**
|
|
131
|
+
* Called with the raw query on every keystroke. When provided, the parent owns
|
|
132
|
+
* filtering (e.g. server search) and the options prop is rendered as-is;
|
|
133
|
+
* when omitted, options are filtered locally by label.
|
|
134
|
+
*/
|
|
135
|
+
onSearchChange?: (query: string) => void;
|
|
136
|
+
/** Shows a loading row in the menu while the parent fetches options. */
|
|
137
|
+
loading?: boolean;
|
|
138
|
+
/** Text shown when no options match. */
|
|
139
|
+
emptyText?: string;
|
|
140
|
+
style?: StyleProp<ViewStyle>;
|
|
141
|
+
className?: string;
|
|
142
|
+
};
|
|
143
|
+
type SelectSingleProps = SelectBaseProps & {
|
|
144
|
+
multiple?: false;
|
|
145
|
+
value?: string;
|
|
146
|
+
defaultValue?: string;
|
|
147
|
+
onValueChange?: (value: string) => void;
|
|
148
|
+
};
|
|
149
|
+
type SelectMultipleProps = SelectBaseProps & {
|
|
150
|
+
multiple: true;
|
|
151
|
+
value?: string[];
|
|
152
|
+
defaultValue?: string[];
|
|
153
|
+
onValueChange?: (value: string[]) => void;
|
|
154
|
+
};
|
|
155
|
+
type SelectProps = SelectSingleProps | SelectMultipleProps;
|
|
156
|
+
declare const Select: react.ForwardRefExoticComponent<SelectProps & react.RefAttributes<View>>;
|
|
157
|
+
|
|
158
|
+
interface TextareaProps extends Omit<TextInputProps, "style" | "editable" | "multiline"> {
|
|
159
|
+
label?: string;
|
|
160
|
+
showLabel?: boolean;
|
|
161
|
+
hint?: string;
|
|
162
|
+
showHint?: boolean;
|
|
163
|
+
/** External — validation / form error. */
|
|
164
|
+
error?: boolean;
|
|
165
|
+
/** External — non-interactive. */
|
|
166
|
+
disabled?: boolean;
|
|
167
|
+
style?: StyleProp<ViewStyle>;
|
|
168
|
+
fieldStyle?: StyleProp<ViewStyle>;
|
|
169
|
+
inputStyle?: StyleProp<TextStyle>;
|
|
170
|
+
className?: string;
|
|
171
|
+
inputClassName?: string;
|
|
172
|
+
}
|
|
173
|
+
declare const Textarea: react.ForwardRefExoticComponent<TextareaProps & react.RefAttributes<TextInput>>;
|
|
174
|
+
|
|
175
|
+
interface ToggleProps extends Omit<PressableProps, "onPress" | "disabled" | "style" | "children" | "hitSlop"> {
|
|
176
|
+
value?: boolean;
|
|
177
|
+
defaultValue?: boolean;
|
|
178
|
+
onValueChange?: (value: boolean) => void;
|
|
179
|
+
disabled?: boolean;
|
|
180
|
+
/** Visible label rendered next to the track. */
|
|
181
|
+
label?: string;
|
|
182
|
+
children?: ReactNode;
|
|
183
|
+
/** Accessible name for screen readers; falls back to `label`/`children` when omitted. */
|
|
184
|
+
accessibilityLabel?: string;
|
|
185
|
+
style?: StyleProp<ViewStyle>;
|
|
186
|
+
labelStyle?: StyleProp<TextStyle>;
|
|
187
|
+
className?: string;
|
|
188
|
+
hitSlop?: PressableProps["hitSlop"];
|
|
189
|
+
}
|
|
190
|
+
declare const Toggle: react.ForwardRefExoticComponent<ToggleProps & react.RefAttributes<react_native.View>>;
|
|
46
191
|
|
|
47
192
|
interface IconProps {
|
|
48
193
|
size?: number;
|
|
@@ -65,28 +210,70 @@ declare function BellIcon({ size, color, strokeWidth }: IconProps): react.JSX.El
|
|
|
65
210
|
|
|
66
211
|
declare function BuildingIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
67
212
|
|
|
213
|
+
/** Native — react-native-svg (peer dependency). */
|
|
214
|
+
declare function CalendarIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
215
|
+
|
|
68
216
|
declare function CameraIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
69
217
|
|
|
218
|
+
interface CheckIconProps {
|
|
219
|
+
size?: number;
|
|
220
|
+
color?: string;
|
|
221
|
+
strokeWidth?: number;
|
|
222
|
+
}
|
|
223
|
+
/** Native — react-native-svg (peer dependency). */
|
|
224
|
+
declare function CheckIcon({ size, color, strokeWidth }: CheckIconProps): react.JSX.Element;
|
|
225
|
+
|
|
70
226
|
declare function CheckBadgeIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
71
227
|
|
|
228
|
+
interface ChevronDownIconProps {
|
|
229
|
+
size?: number;
|
|
230
|
+
color?: string;
|
|
231
|
+
strokeWidth?: number;
|
|
232
|
+
}
|
|
233
|
+
/** Native — react-native-svg (peer dependency). */
|
|
234
|
+
declare function ChevronDownIcon({ size, color, strokeWidth, }: ChevronDownIconProps): react.JSX.Element;
|
|
235
|
+
|
|
72
236
|
declare function ClockIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
73
237
|
|
|
74
238
|
declare function FacebookIcon({ size, color }: IconProps): react.JSX.Element;
|
|
75
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
|
+
|
|
76
246
|
declare function HomeIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
77
247
|
|
|
78
248
|
declare function InstagramIcon({ size, color }: IconProps): react.JSX.Element;
|
|
79
249
|
|
|
80
250
|
declare function KeyIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
81
251
|
|
|
252
|
+
/** Native — react-native-svg (peer dependency). */
|
|
253
|
+
declare function LayoutGridIcon({ size, color, strokeWidth, }: IconProps): react.JSX.Element;
|
|
254
|
+
|
|
82
255
|
declare function LinkedInIcon({ size, color }: IconProps): react.JSX.Element;
|
|
83
256
|
|
|
257
|
+
/** Native — react-native-svg (peer dependency). */
|
|
258
|
+
declare function LogOutIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
259
|
+
|
|
84
260
|
declare function MailIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
85
261
|
|
|
86
262
|
declare function NavigateIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
87
263
|
|
|
88
264
|
declare function PhoneIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
89
265
|
|
|
266
|
+
interface SearchIconProps {
|
|
267
|
+
size?: number;
|
|
268
|
+
color?: string;
|
|
269
|
+
strokeWidth?: number;
|
|
270
|
+
}
|
|
271
|
+
/** Native — react-native-svg (peer dependency). */
|
|
272
|
+
declare function SearchIcon({ size, color, strokeWidth, }: SearchIconProps): react.JSX.Element;
|
|
273
|
+
|
|
274
|
+
/** Native — react-native-svg (peer dependency). */
|
|
275
|
+
declare function SettingsIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
276
|
+
|
|
90
277
|
interface ShowIconProps {
|
|
91
278
|
size?: number;
|
|
92
279
|
color?: string;
|
|
@@ -103,33 +290,47 @@ interface UserIconProps {
|
|
|
103
290
|
/** Native — react-native-svg (peer dependency). */
|
|
104
291
|
declare function UserIcon({ size, color, strokeWidth }: UserIconProps): react.JSX.Element;
|
|
105
292
|
|
|
293
|
+
/** Native — react-native-svg (peer dependency). */
|
|
294
|
+
declare function VideoIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
295
|
+
|
|
106
296
|
declare const icons: {
|
|
107
297
|
readonly arrowRight: typeof ArrowRightIcon;
|
|
108
298
|
readonly bag: typeof BagIcon;
|
|
109
299
|
readonly bell: typeof BellIcon;
|
|
110
300
|
readonly building: typeof BuildingIcon;
|
|
301
|
+
readonly calendar: typeof CalendarIcon;
|
|
111
302
|
readonly camera: typeof CameraIcon;
|
|
303
|
+
readonly check: typeof CheckIcon;
|
|
112
304
|
readonly checkBadge: typeof CheckBadgeIcon;
|
|
305
|
+
readonly chevronDown: typeof ChevronDownIcon;
|
|
113
306
|
readonly clock: typeof ClockIcon;
|
|
114
307
|
readonly facebook: typeof FacebookIcon;
|
|
308
|
+
readonly heart: typeof HeartIcon;
|
|
309
|
+
readonly helpCircle: typeof HelpCircleIcon;
|
|
115
310
|
readonly home: typeof HomeIcon;
|
|
116
311
|
readonly instagram: typeof InstagramIcon;
|
|
117
312
|
readonly key: typeof KeyIcon;
|
|
313
|
+
readonly layoutGrid: typeof LayoutGridIcon;
|
|
118
314
|
readonly linkedin: typeof LinkedInIcon;
|
|
315
|
+
readonly logOut: typeof LogOutIcon;
|
|
119
316
|
readonly mail: typeof MailIcon;
|
|
120
317
|
readonly navigate: typeof NavigateIcon;
|
|
121
318
|
readonly phone: typeof PhoneIcon;
|
|
319
|
+
readonly search: typeof SearchIcon;
|
|
320
|
+
readonly settings: typeof SettingsIcon;
|
|
122
321
|
readonly show: typeof ShowIcon;
|
|
123
322
|
readonly user: typeof UserIcon;
|
|
323
|
+
readonly video: typeof VideoIcon;
|
|
124
324
|
};
|
|
125
325
|
type IconName = keyof typeof icons;
|
|
126
326
|
declare const iconNames: IconName[];
|
|
127
327
|
declare const iconGroups: {
|
|
128
|
-
readonly navigation: readonly ["arrowRight", "home", "navigate"];
|
|
129
|
-
readonly actions: readonly ["show", "bell", "camera", "key", "checkBadge"];
|
|
130
|
-
readonly objects: readonly ["bag", "building", "clock", "user"];
|
|
328
|
+
readonly navigation: readonly ["arrowRight", "chevronDown", "home", "navigate"];
|
|
329
|
+
readonly actions: readonly ["show", "bell", "camera", "key", "check", "checkBadge", "search", "calendar", "heart"];
|
|
330
|
+
readonly objects: readonly ["bag", "building", "clock", "user", "video"];
|
|
131
331
|
readonly communication: readonly ["mail", "phone"];
|
|
132
332
|
readonly social: readonly ["facebook", "instagram", "linkedin"];
|
|
333
|
+
readonly interface: readonly ["layoutGrid", "settings", "helpCircle", "logOut"];
|
|
133
334
|
};
|
|
134
335
|
type IconGroup = keyof typeof iconGroups;
|
|
135
336
|
declare const iconGroupNames: IconGroup[];
|
|
@@ -167,6 +368,7 @@ declare const colors: {
|
|
|
167
368
|
readonly lightGrey: "#B7B7B7";
|
|
168
369
|
readonly primaryMuted: "#B464360F";
|
|
169
370
|
readonly redMuted: "#A63E3E0F";
|
|
371
|
+
readonly redHover: "#A63E3E33";
|
|
170
372
|
readonly grey0: "#767676";
|
|
171
373
|
readonly grey50: "#6E6E6E";
|
|
172
374
|
readonly grey100: "#666666";
|
|
@@ -210,9 +412,33 @@ declare const inputTypography: {
|
|
|
210
412
|
readonly fontFamily: "Noto Sans Armenian";
|
|
211
413
|
readonly fontSize: 12;
|
|
212
414
|
readonly fontWeight: "500";
|
|
213
|
-
readonly lineHeight:
|
|
415
|
+
readonly lineHeight: 12;
|
|
416
|
+
readonly letterSpacing: 0.36;
|
|
417
|
+
};
|
|
418
|
+
readonly field: {
|
|
419
|
+
readonly fontFamily: "Noto Sans Armenian";
|
|
420
|
+
readonly fontSize: 14;
|
|
421
|
+
readonly fontWeight: "400";
|
|
422
|
+
readonly lineHeight: 19;
|
|
214
423
|
readonly letterSpacing: 0;
|
|
215
424
|
};
|
|
425
|
+
readonly hint: {
|
|
426
|
+
readonly fontFamily: "Noto Sans Armenian";
|
|
427
|
+
readonly fontSize: 12;
|
|
428
|
+
readonly fontWeight: "400";
|
|
429
|
+
readonly lineHeight: 12;
|
|
430
|
+
readonly letterSpacing: 0.36;
|
|
431
|
+
};
|
|
432
|
+
};
|
|
433
|
+
/** Select label / field / hint typography — Medium/Regular 12–14, letter-spacing 3%. */
|
|
434
|
+
declare const selectTypography: {
|
|
435
|
+
readonly label: {
|
|
436
|
+
readonly fontFamily: "Noto Sans Armenian";
|
|
437
|
+
readonly fontSize: 12;
|
|
438
|
+
readonly fontWeight: "500";
|
|
439
|
+
readonly lineHeight: 12;
|
|
440
|
+
readonly letterSpacing: 0.36;
|
|
441
|
+
};
|
|
216
442
|
readonly field: {
|
|
217
443
|
readonly fontFamily: "Noto Sans Armenian";
|
|
218
444
|
readonly fontSize: 14;
|
|
@@ -224,9 +450,57 @@ declare const inputTypography: {
|
|
|
224
450
|
readonly fontFamily: "Noto Sans Armenian";
|
|
225
451
|
readonly fontSize: 12;
|
|
226
452
|
readonly fontWeight: "400";
|
|
227
|
-
readonly lineHeight:
|
|
453
|
+
readonly lineHeight: 12;
|
|
454
|
+
readonly letterSpacing: 0.36;
|
|
455
|
+
};
|
|
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;
|
|
228
471
|
readonly letterSpacing: 0;
|
|
229
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
|
+
};
|
|
481
|
+
/** Textarea label / field / hint typography — Medium/Regular 12–14, letter-spacing 3%. */
|
|
482
|
+
declare const textareaTypography: {
|
|
483
|
+
readonly label: {
|
|
484
|
+
readonly fontFamily: "Noto Sans Armenian";
|
|
485
|
+
readonly fontSize: 12;
|
|
486
|
+
readonly fontWeight: "500";
|
|
487
|
+
readonly lineHeight: 12;
|
|
488
|
+
readonly letterSpacing: 0.36;
|
|
489
|
+
};
|
|
490
|
+
readonly field: {
|
|
491
|
+
readonly fontFamily: "Noto Sans Armenian";
|
|
492
|
+
readonly fontSize: 14;
|
|
493
|
+
readonly fontWeight: "400";
|
|
494
|
+
readonly lineHeight: 19;
|
|
495
|
+
readonly letterSpacing: 0;
|
|
496
|
+
};
|
|
497
|
+
readonly hint: {
|
|
498
|
+
readonly fontFamily: "Noto Sans Armenian";
|
|
499
|
+
readonly fontSize: 12;
|
|
500
|
+
readonly fontWeight: "400";
|
|
501
|
+
readonly lineHeight: 12;
|
|
502
|
+
readonly letterSpacing: 0.36;
|
|
503
|
+
};
|
|
230
504
|
};
|
|
231
505
|
|
|
232
|
-
export { ArrowRightIcon, BagIcon, BellIcon, BuildingIcon, Button, type ButtonProps, type ButtonSize, type ButtonVariant, CameraIcon, CheckBadgeIcon, ClockIcon, FacebookIcon, type GreyStep, HomeIcon, Icon, type IconByNameProps, type IconComponent, type IconGroup, type IconName, type IconProps, Input, type InputProps, type InputSize,
|
|
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 };
|