@compsych/mobile-ui 1.0.8 → 1.0.10
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/package.json +40 -2
- package/src/components/ActionSheet/ActionSheet.test.tsx +89 -0
- package/src/{ActionSheet.tsx → components/ActionSheet/index.tsx} +16 -8
- package/src/components/Alert/Alert.test.tsx +61 -0
- package/src/{Alert.tsx → components/Alert/index.tsx} +14 -11
- package/src/components/Avatar/Avatar.test.tsx +52 -0
- package/src/{Avatar.tsx → components/Avatar/index.tsx} +15 -13
- package/src/components/Badge/Badge.test.tsx +30 -0
- package/src/{Badge.tsx → components/Badge/index.tsx} +17 -9
- package/src/components/BodyText/BodyText.test.tsx +30 -0
- package/src/{BodyText.tsx → components/BodyText/index.tsx} +9 -5
- package/src/components/Breadcrumb/Breadcrumb.test.tsx +37 -0
- package/src/{Breadcrumb.tsx → components/Breadcrumb/index.tsx} +13 -4
- package/src/components/Button/Button.test.tsx +45 -0
- package/src/{Button.tsx → components/Button/index.tsx} +36 -17
- package/src/components/Checkbox/Checkbox.test.tsx +57 -0
- package/src/{Checkbox.tsx → components/Checkbox/index.tsx} +37 -15
- package/src/components/Chip/Chip.test.tsx +40 -0
- package/src/{Chip.tsx → components/Chip/index.tsx} +18 -9
- package/src/components/Divider/Divider.test.tsx +28 -0
- package/src/{Divider.tsx → components/Divider/index.tsx} +30 -20
- package/src/components/EmptyState/EmptyState.test.tsx +60 -0
- package/src/{EmptyState.tsx → components/EmptyState/index.tsx} +17 -7
- package/src/components/HeaderText/HeaderText.test.tsx +43 -0
- package/src/{HeaderText.tsx → components/HeaderText/index.tsx} +9 -5
- package/src/components/Input/Input.test.tsx +43 -0
- package/src/{Input.tsx → components/Input/index.tsx} +31 -11
- package/src/components/List/List.test.tsx +59 -0
- package/src/{List.tsx → components/List/index.tsx} +23 -7
- package/src/components/Pagination/Pagination.test.tsx +56 -0
- package/src/{Pagination.tsx → components/Pagination/index.tsx} +29 -13
- package/src/components/PlanCard/PlanCard.test.tsx +44 -0
- package/src/{PlanCard.tsx → components/PlanCard/index.tsx} +46 -17
- package/src/components/ProgressTracker/ProgressTracker.test.tsx +47 -0
- package/src/{ProgressTracker.tsx → components/ProgressTracker/index.tsx} +16 -25
- package/src/components/PromotionCard/PromotionCard.test.tsx +73 -0
- package/src/components/PromotionCard/index.tsx +538 -0
- package/src/components/RadioButton/RadioButton.test.tsx +50 -0
- package/src/{RadioButton.tsx → components/RadioButton/index.tsx} +21 -10
- package/src/components/ScreenContainer/ScreenContainer.test.tsx +29 -0
- package/src/components/ScreenContainer/index.tsx +41 -0
- package/src/components/SegmentedControl/SegmentedControl.test.tsx +60 -0
- package/src/{SegmentedControl.tsx → components/SegmentedControl/index.tsx} +15 -7
- package/src/components/SelectionCard/SelectionCard.test.tsx +48 -0
- package/src/components/SelectionCard/index.tsx +213 -0
- package/src/components/ServiceCard/ServiceCard.test.tsx +61 -0
- package/src/{Card.tsx → components/ServiceCard/index.tsx} +106 -49
- package/src/components/Slider/Slider.test.tsx +33 -0
- package/src/{Slider.tsx → components/Slider/index.tsx} +26 -36
- package/src/components/Snackbar/Snackbar.test.tsx +61 -0
- package/src/{Snackbar.tsx → components/Snackbar/index.tsx} +13 -7
- package/src/components/Switch/Switch.test.tsx +54 -0
- package/src/{Switch.tsx → components/Switch/index.tsx} +16 -5
- package/src/components/Tooltip/Tooltip.test.tsx +30 -0
- package/src/{Tooltip.tsx → components/Tooltip/index.tsx} +11 -7
- package/src/icons/AtomIcon.tsx +32 -0
- package/src/icons/BinocularsIcon.tsx +45 -0
- package/src/icons/FileChartColumnIncreasingIcon.tsx +44 -0
- package/src/icons/FlagIcon.tsx +20 -0
- package/src/icons/GlobeIcon.tsx +20 -0
- package/src/icons/GraduationCapIcon.tsx +32 -0
- package/src/icons/HandHeartIcon.tsx +38 -0
- package/src/icons/HandshakeIcon.tsx +39 -0
- package/src/icons/HazeIcon.tsx +42 -0
- package/src/icons/HeartHandshakeIcon.tsx +20 -0
- package/src/icons/HourglassIcon.tsx +33 -0
- package/src/icons/IdCardIcon.tsx +44 -0
- package/src/icons/MessageCirclePlusIcon.tsx +32 -0
- package/src/icons/MountainSnowIcon.tsx +26 -0
- package/src/icons/SnowflakeIcon.tsx +86 -0
- package/src/icons/StethoscopeIcon.tsx +34 -0
- package/src/icons/UserRoundIcon.tsx +26 -0
- package/src/icons/WheatIcon.tsx +62 -0
- package/src/icons/index.ts +63 -0
- package/src/icons/types.ts +45 -0
- package/src/index.ts +159 -71
- package/src/tokens.ts +135 -15
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import Svg, { Path } from 'react-native-svg';
|
|
2
|
+
|
|
3
|
+
import { COMMON, DEFAULT_ICON_COLOR, type IconProps, SIZE_MAP } from './types';
|
|
4
|
+
|
|
5
|
+
export function SnowflakeIcon({
|
|
6
|
+
size = 'medium',
|
|
7
|
+
color = DEFAULT_ICON_COLOR,
|
|
8
|
+
}: IconProps) {
|
|
9
|
+
const { size: px, strokeWidth } = SIZE_MAP[size];
|
|
10
|
+
return (
|
|
11
|
+
<Svg width={px} height={px} viewBox="0 0 48 48" fill="none">
|
|
12
|
+
<Path
|
|
13
|
+
d="M20 40L17.5 35L12 36"
|
|
14
|
+
stroke={color}
|
|
15
|
+
strokeWidth={strokeWidth}
|
|
16
|
+
{...COMMON}
|
|
17
|
+
/>
|
|
18
|
+
<Path
|
|
19
|
+
d="M20 8L17.5 13L12 12"
|
|
20
|
+
stroke={color}
|
|
21
|
+
strokeWidth={strokeWidth}
|
|
22
|
+
{...COMMON}
|
|
23
|
+
/>
|
|
24
|
+
<Path
|
|
25
|
+
d="M28 40L30.5 35L36 36"
|
|
26
|
+
stroke={color}
|
|
27
|
+
strokeWidth={strokeWidth}
|
|
28
|
+
{...COMMON}
|
|
29
|
+
/>
|
|
30
|
+
<Path
|
|
31
|
+
d="M28 8L30.5 13L36 12"
|
|
32
|
+
stroke={color}
|
|
33
|
+
strokeWidth={strokeWidth}
|
|
34
|
+
{...COMMON}
|
|
35
|
+
/>
|
|
36
|
+
<Path
|
|
37
|
+
d="M34 42L28 30H20"
|
|
38
|
+
stroke={color}
|
|
39
|
+
strokeWidth={strokeWidth}
|
|
40
|
+
{...COMMON}
|
|
41
|
+
/>
|
|
42
|
+
<Path
|
|
43
|
+
d="M34 6L28 18L31 24"
|
|
44
|
+
stroke={color}
|
|
45
|
+
strokeWidth={strokeWidth}
|
|
46
|
+
{...COMMON}
|
|
47
|
+
/>
|
|
48
|
+
<Path
|
|
49
|
+
d="M4 24H17L20 18"
|
|
50
|
+
stroke={color}
|
|
51
|
+
strokeWidth={strokeWidth}
|
|
52
|
+
{...COMMON}
|
|
53
|
+
/>
|
|
54
|
+
<Path
|
|
55
|
+
d="M40 20L37 24L40 28"
|
|
56
|
+
stroke={color}
|
|
57
|
+
strokeWidth={strokeWidth}
|
|
58
|
+
{...COMMON}
|
|
59
|
+
/>
|
|
60
|
+
<Path
|
|
61
|
+
d="M44 24H31L28 30"
|
|
62
|
+
stroke={color}
|
|
63
|
+
strokeWidth={strokeWidth}
|
|
64
|
+
{...COMMON}
|
|
65
|
+
/>
|
|
66
|
+
<Path
|
|
67
|
+
d="M8 20L11 24L8 28"
|
|
68
|
+
stroke={color}
|
|
69
|
+
strokeWidth={strokeWidth}
|
|
70
|
+
{...COMMON}
|
|
71
|
+
/>
|
|
72
|
+
<Path
|
|
73
|
+
d="M14 42L20 30L17 24"
|
|
74
|
+
stroke={color}
|
|
75
|
+
strokeWidth={strokeWidth}
|
|
76
|
+
{...COMMON}
|
|
77
|
+
/>
|
|
78
|
+
<Path
|
|
79
|
+
d="M14 6L20 18H28"
|
|
80
|
+
stroke={color}
|
|
81
|
+
strokeWidth={strokeWidth}
|
|
82
|
+
{...COMMON}
|
|
83
|
+
/>
|
|
84
|
+
</Svg>
|
|
85
|
+
);
|
|
86
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import Svg, { Path } from 'react-native-svg';
|
|
2
|
+
|
|
3
|
+
import { COMMON, DEFAULT_ICON_COLOR, type IconProps, SIZE_MAP } from './types';
|
|
4
|
+
|
|
5
|
+
export function StethoscopeIcon({
|
|
6
|
+
size = 'medium',
|
|
7
|
+
color = DEFAULT_ICON_COLOR,
|
|
8
|
+
}: IconProps) {
|
|
9
|
+
const { size: px, strokeWidth } = SIZE_MAP[size];
|
|
10
|
+
return (
|
|
11
|
+
<Svg width={px} height={px} viewBox="0 0 48 48" fill="none">
|
|
12
|
+
<Path d="M22 4V8" stroke={color} strokeWidth={strokeWidth} {...COMMON} />
|
|
13
|
+
<Path d="M10 4V8" stroke={color} strokeWidth={strokeWidth} {...COMMON} />
|
|
14
|
+
<Path
|
|
15
|
+
d="M10 6H8C6.93913 6 5.92172 6.42143 5.17157 7.17157C4.42143 7.92172 4 8.93913 4 10V18C4 21.1826 5.26428 24.2348 7.51472 26.4853C9.76516 28.7357 12.8174 30 16 30C19.1826 30 22.2348 28.7357 24.4853 26.4853C26.7357 24.2348 28 21.1826 28 18V10C28 8.93913 27.5786 7.92172 26.8284 7.17157C26.0783 6.42143 25.0609 6 24 6H22"
|
|
16
|
+
stroke={color}
|
|
17
|
+
strokeWidth={strokeWidth}
|
|
18
|
+
{...COMMON}
|
|
19
|
+
/>
|
|
20
|
+
<Path
|
|
21
|
+
d="M16 30C16 33.1826 17.2643 36.2348 19.5147 38.4853C21.7652 40.7357 24.8174 42 28 42C31.1826 42 34.2348 40.7357 36.4853 38.4853C38.7357 36.2348 40 33.1826 40 30V24"
|
|
22
|
+
stroke={color}
|
|
23
|
+
strokeWidth={strokeWidth}
|
|
24
|
+
{...COMMON}
|
|
25
|
+
/>
|
|
26
|
+
<Path
|
|
27
|
+
d="M40 24C42.2091 24 44 22.2091 44 20C44 17.7909 42.2091 16 40 16C37.7909 16 36 17.7909 36 20C36 22.2091 37.7909 24 40 24Z"
|
|
28
|
+
stroke={color}
|
|
29
|
+
strokeWidth={strokeWidth}
|
|
30
|
+
{...COMMON}
|
|
31
|
+
/>
|
|
32
|
+
</Svg>
|
|
33
|
+
);
|
|
34
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import Svg, { Path } from 'react-native-svg';
|
|
2
|
+
|
|
3
|
+
import { COMMON, DEFAULT_ICON_COLOR, type IconProps, SIZE_MAP } from './types';
|
|
4
|
+
|
|
5
|
+
export function UserRoundIcon({
|
|
6
|
+
size = 'medium',
|
|
7
|
+
color = DEFAULT_ICON_COLOR,
|
|
8
|
+
}: IconProps) {
|
|
9
|
+
const { size: px, strokeWidth } = SIZE_MAP[size];
|
|
10
|
+
return (
|
|
11
|
+
<Svg width={px} height={px} viewBox="0 0 48 48" fill="none">
|
|
12
|
+
<Path
|
|
13
|
+
d="M24 26C29.5228 26 34 21.5228 34 16C34 10.4772 29.5228 6 24 6C18.4772 6 14 10.4772 14 16C14 21.5228 18.4772 26 24 26Z"
|
|
14
|
+
stroke={color}
|
|
15
|
+
strokeWidth={strokeWidth}
|
|
16
|
+
{...COMMON}
|
|
17
|
+
/>
|
|
18
|
+
<Path
|
|
19
|
+
d="M40 42C40 37.7565 38.3143 33.6869 35.3137 30.6863C32.3131 27.6857 28.2435 26 24 26C19.7565 26 15.6869 27.6857 12.6863 30.6863C9.68571 33.6869 8 37.7565 8 42"
|
|
20
|
+
stroke={color}
|
|
21
|
+
strokeWidth={strokeWidth}
|
|
22
|
+
{...COMMON}
|
|
23
|
+
/>
|
|
24
|
+
</Svg>
|
|
25
|
+
);
|
|
26
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import Svg, { Path } from 'react-native-svg';
|
|
2
|
+
|
|
3
|
+
import { COMMON, DEFAULT_ICON_COLOR, type IconProps, SIZE_MAP } from './types';
|
|
4
|
+
|
|
5
|
+
export function WheatIcon({
|
|
6
|
+
size = 'medium',
|
|
7
|
+
color = DEFAULT_ICON_COLOR,
|
|
8
|
+
}: IconProps) {
|
|
9
|
+
const { size: px, strokeWidth } = SIZE_MAP[size];
|
|
10
|
+
return (
|
|
11
|
+
<Svg width={px} height={px} viewBox="0 0 48 48" fill="none">
|
|
12
|
+
<Path
|
|
13
|
+
d="M4 44L32 16"
|
|
14
|
+
stroke={color}
|
|
15
|
+
strokeWidth={strokeWidth}
|
|
16
|
+
{...COMMON}
|
|
17
|
+
/>
|
|
18
|
+
<Path
|
|
19
|
+
d="M6.94006 25.06L10.0001 22L13.0601 25.06C14.3669 26.372 15.1006 28.1483 15.1006 30C15.1006 31.8517 14.3669 33.628 13.0601 34.94L10.0001 38L6.94006 34.94C5.63326 33.628 4.89954 31.8517 4.89954 30C4.89954 28.1483 5.63326 26.372 6.94006 25.06Z"
|
|
20
|
+
stroke={color}
|
|
21
|
+
strokeWidth={strokeWidth}
|
|
22
|
+
{...COMMON}
|
|
23
|
+
/>
|
|
24
|
+
<Path
|
|
25
|
+
d="M14.9401 17.06L18.0001 14L21.0601 17.06C22.3669 18.372 23.1006 20.1483 23.1006 22C23.1006 23.8517 22.3669 25.628 21.0601 26.94L18.0001 30L14.9401 26.94C13.6333 25.628 12.8995 23.8517 12.8995 22C12.8995 20.1483 13.6333 18.372 14.9401 17.06Z"
|
|
26
|
+
stroke={color}
|
|
27
|
+
strokeWidth={strokeWidth}
|
|
28
|
+
{...COMMON}
|
|
29
|
+
/>
|
|
30
|
+
<Path
|
|
31
|
+
d="M22.9399 9.06L25.9999 6L29.0599 9.06C30.3667 10.372 31.1005 12.1483 31.1005 14C31.1005 15.8517 30.3667 17.628 29.0599 18.94L25.9999 22L22.9399 18.94C21.6331 17.628 20.8994 15.8517 20.8994 14C20.8994 12.1483 21.6331 10.372 22.9399 9.06Z"
|
|
32
|
+
stroke={color}
|
|
33
|
+
strokeWidth={strokeWidth}
|
|
34
|
+
{...COMMON}
|
|
35
|
+
/>
|
|
36
|
+
<Path
|
|
37
|
+
d="M40 4H44V8C44 10.1217 43.1571 12.1566 41.6569 13.6569C40.1566 15.1571 38.1217 16 36 16H32V12C32 9.87827 32.8429 7.84344 34.3431 6.34315C35.8434 4.84285 37.8783 4 40 4Z"
|
|
38
|
+
stroke={color}
|
|
39
|
+
strokeWidth={strokeWidth}
|
|
40
|
+
{...COMMON}
|
|
41
|
+
/>
|
|
42
|
+
<Path
|
|
43
|
+
d="M22.94 34.9399L26 37.9999L22.94 41.0599C21.628 42.3667 19.8517 43.1005 18 43.1005C16.1483 43.1005 14.372 42.3667 13.06 41.0599L10 37.9999L13.06 34.9399C14.372 33.6331 16.1483 32.8994 18 32.8994C19.8517 32.8994 21.628 33.6331 22.94 34.9399Z"
|
|
44
|
+
stroke={color}
|
|
45
|
+
strokeWidth={strokeWidth}
|
|
46
|
+
{...COMMON}
|
|
47
|
+
/>
|
|
48
|
+
<Path
|
|
49
|
+
d="M30.94 26.9399L34 29.9999L30.94 33.0599C29.628 34.3667 27.8517 35.1005 26 35.1005C24.1483 35.1005 22.372 34.3667 21.06 33.0599L18 29.9999L21.06 26.9399C22.372 25.6331 24.1483 24.8994 26 24.8994C27.8517 24.8994 29.628 25.6331 30.94 26.9399Z"
|
|
50
|
+
stroke={color}
|
|
51
|
+
strokeWidth={strokeWidth}
|
|
52
|
+
{...COMMON}
|
|
53
|
+
/>
|
|
54
|
+
<Path
|
|
55
|
+
d="M38.94 18.9399L42 21.9999L38.94 25.0599C37.628 26.3667 35.8517 27.1005 34 27.1005C32.1483 27.1005 30.372 26.3667 29.06 25.0599L26 21.9999L29.06 18.9399C30.372 17.6331 32.1483 16.8994 34 16.8994C35.8517 16.8994 37.628 17.6331 38.94 18.9399Z"
|
|
56
|
+
stroke={color}
|
|
57
|
+
strokeWidth={strokeWidth}
|
|
58
|
+
{...COMMON}
|
|
59
|
+
/>
|
|
60
|
+
</Svg>
|
|
61
|
+
);
|
|
62
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { AtomIcon } from './AtomIcon';
|
|
2
|
+
import { BinocularsIcon } from './BinocularsIcon';
|
|
3
|
+
import { FileChartColumnIncreasingIcon } from './FileChartColumnIncreasingIcon';
|
|
4
|
+
import { FlagIcon } from './FlagIcon';
|
|
5
|
+
import { GlobeIcon } from './GlobeIcon';
|
|
6
|
+
import { GraduationCapIcon } from './GraduationCapIcon';
|
|
7
|
+
import { HandHeartIcon } from './HandHeartIcon';
|
|
8
|
+
import { HandshakeIcon } from './HandshakeIcon';
|
|
9
|
+
import { HazeIcon } from './HazeIcon';
|
|
10
|
+
import { HeartHandshakeIcon } from './HeartHandshakeIcon';
|
|
11
|
+
import { HourglassIcon } from './HourglassIcon';
|
|
12
|
+
import { IdCardIcon } from './IdCardIcon';
|
|
13
|
+
import { MessageCirclePlusIcon } from './MessageCirclePlusIcon';
|
|
14
|
+
import { MountainSnowIcon } from './MountainSnowIcon';
|
|
15
|
+
import { SnowflakeIcon } from './SnowflakeIcon';
|
|
16
|
+
import { StethoscopeIcon } from './StethoscopeIcon';
|
|
17
|
+
import { UserRoundIcon } from './UserRoundIcon';
|
|
18
|
+
import { WheatIcon } from './WheatIcon';
|
|
19
|
+
import type { IconName, IconProps } from './types';
|
|
20
|
+
|
|
21
|
+
export type { IconProps, IconSize, IconName } from './types';
|
|
22
|
+
|
|
23
|
+
export { UserRoundIcon } from './UserRoundIcon';
|
|
24
|
+
export { GlobeIcon } from './GlobeIcon';
|
|
25
|
+
export { HandshakeIcon } from './HandshakeIcon';
|
|
26
|
+
export { HeartHandshakeIcon } from './HeartHandshakeIcon';
|
|
27
|
+
export { AtomIcon } from './AtomIcon';
|
|
28
|
+
export { HazeIcon } from './HazeIcon';
|
|
29
|
+
export { HourglassIcon } from './HourglassIcon';
|
|
30
|
+
export { GraduationCapIcon } from './GraduationCapIcon';
|
|
31
|
+
export { HandHeartIcon } from './HandHeartIcon';
|
|
32
|
+
export { IdCardIcon } from './IdCardIcon';
|
|
33
|
+
export { MessageCirclePlusIcon } from './MessageCirclePlusIcon';
|
|
34
|
+
export { StethoscopeIcon } from './StethoscopeIcon';
|
|
35
|
+
export { BinocularsIcon } from './BinocularsIcon';
|
|
36
|
+
export { FlagIcon } from './FlagIcon';
|
|
37
|
+
export { MountainSnowIcon } from './MountainSnowIcon';
|
|
38
|
+
export { SnowflakeIcon } from './SnowflakeIcon';
|
|
39
|
+
export { FileChartColumnIncreasingIcon } from './FileChartColumnIncreasingIcon';
|
|
40
|
+
export { WheatIcon } from './WheatIcon';
|
|
41
|
+
|
|
42
|
+
type IconComponent = (props: IconProps) => React.JSX.Element;
|
|
43
|
+
|
|
44
|
+
export const ICON_MAP: Record<IconName, IconComponent> = {
|
|
45
|
+
UserRoundIcon,
|
|
46
|
+
GlobeIcon,
|
|
47
|
+
HandshakeIcon,
|
|
48
|
+
HeartHandshakeIcon,
|
|
49
|
+
AtomIcon,
|
|
50
|
+
HazeIcon,
|
|
51
|
+
HourglassIcon,
|
|
52
|
+
GraduationCapIcon,
|
|
53
|
+
HandHeartIcon,
|
|
54
|
+
IdCardIcon,
|
|
55
|
+
MessageCirclePlusIcon,
|
|
56
|
+
StethoscopeIcon,
|
|
57
|
+
BinocularsIcon,
|
|
58
|
+
FlagIcon,
|
|
59
|
+
MountainSnowIcon,
|
|
60
|
+
SnowflakeIcon,
|
|
61
|
+
FileChartColumnIncreasingIcon,
|
|
62
|
+
WheatIcon,
|
|
63
|
+
};
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { sys } from '../tokens';
|
|
2
|
+
|
|
3
|
+
export type IconSize = 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
|
|
4
|
+
|
|
5
|
+
export type IconName =
|
|
6
|
+
| 'UserRoundIcon'
|
|
7
|
+
| 'GlobeIcon'
|
|
8
|
+
| 'HandshakeIcon'
|
|
9
|
+
| 'HeartHandshakeIcon'
|
|
10
|
+
| 'AtomIcon'
|
|
11
|
+
| 'HazeIcon'
|
|
12
|
+
| 'HourglassIcon'
|
|
13
|
+
| 'GraduationCapIcon'
|
|
14
|
+
| 'HandHeartIcon'
|
|
15
|
+
| 'IdCardIcon'
|
|
16
|
+
| 'MessageCirclePlusIcon'
|
|
17
|
+
| 'StethoscopeIcon'
|
|
18
|
+
| 'BinocularsIcon'
|
|
19
|
+
| 'FlagIcon'
|
|
20
|
+
| 'MountainSnowIcon'
|
|
21
|
+
| 'SnowflakeIcon'
|
|
22
|
+
| 'FileChartColumnIncreasingIcon'
|
|
23
|
+
| 'WheatIcon';
|
|
24
|
+
|
|
25
|
+
export const DEFAULT_ICON_COLOR = sys.colorRoles.surface.surface.sysOnSurface;
|
|
26
|
+
|
|
27
|
+
export interface IconProps {
|
|
28
|
+
size?: IconSize;
|
|
29
|
+
color?: string;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export const SIZE_MAP: Record<IconSize, { size: number; strokeWidth: number }> =
|
|
33
|
+
{
|
|
34
|
+
xsmall: { size: 16, strokeWidth: 1 },
|
|
35
|
+
small: { size: 20, strokeWidth: 1.5 },
|
|
36
|
+
medium: { size: 24, strokeWidth: 2 },
|
|
37
|
+
large: { size: 32, strokeWidth: 2 },
|
|
38
|
+
xlarge: { size: 48, strokeWidth: 2 },
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
export const COMMON = {
|
|
42
|
+
fill: 'none',
|
|
43
|
+
strokeLinecap: 'round' as const,
|
|
44
|
+
strokeLinejoin: 'round' as const,
|
|
45
|
+
};
|
package/src/index.ts
CHANGED
|
@@ -1,77 +1,165 @@
|
|
|
1
1
|
// ComPsych Mobile UI — React Native Component Library
|
|
2
2
|
// Version 1.0.0
|
|
3
3
|
|
|
4
|
-
export { Alert } from './Alert';
|
|
5
|
-
export type { AlertProps, AlertVariant, AlertSize } from './Alert';
|
|
6
|
-
|
|
7
|
-
export { Avatar } from './Avatar';
|
|
8
|
-
export type {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
export
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
export
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
export {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
export {
|
|
32
|
-
export type {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
export
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
export {
|
|
47
|
-
export type {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
export
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
export
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
export {
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
export {
|
|
71
|
-
export type {
|
|
72
|
-
|
|
73
|
-
export {
|
|
74
|
-
export type {
|
|
4
|
+
export { Alert } from './components/Alert';
|
|
5
|
+
export type { AlertProps, AlertVariant, AlertSize } from './components/Alert';
|
|
6
|
+
|
|
7
|
+
export { Avatar } from './components/Avatar';
|
|
8
|
+
export type {
|
|
9
|
+
AvatarProps,
|
|
10
|
+
AvatarSize,
|
|
11
|
+
AvatarVariant,
|
|
12
|
+
} from './components/Avatar';
|
|
13
|
+
|
|
14
|
+
export { Badge } from './components/Badge';
|
|
15
|
+
export type { BadgeProps, BadgeSize, BadgeStyle } from './components/Badge';
|
|
16
|
+
|
|
17
|
+
export { Breadcrumb } from './components/Breadcrumb';
|
|
18
|
+
export type {
|
|
19
|
+
BreadcrumbProps,
|
|
20
|
+
BreadcrumbItem,
|
|
21
|
+
BreadcrumbSize,
|
|
22
|
+
} from './components/Breadcrumb';
|
|
23
|
+
|
|
24
|
+
export { Button } from './components/Button';
|
|
25
|
+
export type {
|
|
26
|
+
ButtonProps,
|
|
27
|
+
ButtonVariant,
|
|
28
|
+
ButtonSize,
|
|
29
|
+
} from './components/Button';
|
|
30
|
+
|
|
31
|
+
export { ServiceCard } from './components/ServiceCard';
|
|
32
|
+
export type {
|
|
33
|
+
ServiceCardProps,
|
|
34
|
+
ServiceCardVariant,
|
|
35
|
+
ServiceCardSize,
|
|
36
|
+
} from './components/ServiceCard';
|
|
37
|
+
|
|
38
|
+
export { PromotionCard } from './components/PromotionCard';
|
|
39
|
+
export type {
|
|
40
|
+
PromotionCardProps,
|
|
41
|
+
PromotionCardVariant,
|
|
42
|
+
PromotionCardUsage,
|
|
43
|
+
PromotionCardSize,
|
|
44
|
+
} from './components/PromotionCard';
|
|
45
|
+
|
|
46
|
+
export { Checkbox } from './components/Checkbox';
|
|
47
|
+
export type {
|
|
48
|
+
CheckboxProps,
|
|
49
|
+
CheckboxSize,
|
|
50
|
+
CheckboxCheckedState,
|
|
51
|
+
} from './components/Checkbox';
|
|
52
|
+
|
|
53
|
+
export { Chip } from './components/Chip';
|
|
54
|
+
export type { ChipProps, ChipSize, ChipUsage } from './components/Chip';
|
|
55
|
+
|
|
56
|
+
export { Divider } from './components/Divider';
|
|
57
|
+
export type {
|
|
58
|
+
DividerProps,
|
|
59
|
+
DividerVariant,
|
|
60
|
+
DividerWeight,
|
|
61
|
+
} from './components/Divider';
|
|
62
|
+
|
|
63
|
+
export { EmptyState } from './components/EmptyState';
|
|
64
|
+
export type {
|
|
65
|
+
EmptyStateProps,
|
|
66
|
+
EmptyStateStyle,
|
|
67
|
+
EmptyStateViewport,
|
|
68
|
+
} from './components/EmptyState';
|
|
69
|
+
|
|
70
|
+
export { List, ListItem } from './components/List';
|
|
71
|
+
export type { ListProps, ListItemProps, ListItemType } from './components/List';
|
|
72
|
+
|
|
73
|
+
export { Input } from './components/Input';
|
|
74
|
+
export type { InputProps, InputSize } from './components/Input';
|
|
75
|
+
|
|
76
|
+
export { PlanCard, PlanCardDropdownItem } from './components/PlanCard';
|
|
77
|
+
export type { PlanCardProps, PlanCardItemData } from './components/PlanCard';
|
|
78
|
+
|
|
79
|
+
export { Pagination } from './components/Pagination';
|
|
80
|
+
export type { PaginationProps, PaginationSize } from './components/Pagination';
|
|
81
|
+
|
|
82
|
+
export { ProgressTracker, ProgressBar } from './components/ProgressTracker';
|
|
83
|
+
export type {
|
|
84
|
+
ProgressTrackerProps,
|
|
85
|
+
ProgressTrackerSize,
|
|
86
|
+
ProgressBarProps,
|
|
87
|
+
TrackerStep,
|
|
88
|
+
StepState,
|
|
89
|
+
} from './components/ProgressTracker';
|
|
90
|
+
|
|
91
|
+
export { RadioButton } from './components/RadioButton';
|
|
92
|
+
export type {
|
|
93
|
+
RadioButtonProps,
|
|
94
|
+
RadioButtonSize,
|
|
95
|
+
} from './components/RadioButton';
|
|
96
|
+
|
|
97
|
+
export { SegmentedControl } from './components/SegmentedControl';
|
|
98
|
+
export type {
|
|
99
|
+
SegmentedControlProps,
|
|
100
|
+
SegmentedControlOption,
|
|
101
|
+
} from './components/SegmentedControl';
|
|
102
|
+
|
|
103
|
+
export { SelectionCard } from './components/SelectionCard';
|
|
104
|
+
export type {
|
|
105
|
+
SelectionCardProps,
|
|
106
|
+
SelectionCardSize,
|
|
107
|
+
} from './components/SelectionCard';
|
|
108
|
+
|
|
109
|
+
export { ScreenContainer } from './components/ScreenContainer';
|
|
110
|
+
export type { ScreenContainerProps } from './components/ScreenContainer';
|
|
111
|
+
|
|
112
|
+
export { Slider } from './components/Slider';
|
|
113
|
+
export type { SliderProps } from './components/Slider';
|
|
114
|
+
|
|
115
|
+
export { Snackbar } from './components/Snackbar';
|
|
116
|
+
export type { SnackbarProps, SnackbarVariant } from './components/Snackbar';
|
|
117
|
+
|
|
118
|
+
export { Switch } from './components/Switch';
|
|
119
|
+
export type { SwitchProps } from './components/Switch';
|
|
120
|
+
|
|
121
|
+
export { Tooltip } from './components/Tooltip';
|
|
122
|
+
export type {
|
|
123
|
+
TooltipProps,
|
|
124
|
+
TooltipVariant,
|
|
125
|
+
TooltipDirection,
|
|
126
|
+
} from './components/Tooltip';
|
|
127
|
+
|
|
128
|
+
export { ActionSheet } from './components/ActionSheet';
|
|
129
|
+
export type {
|
|
130
|
+
ActionSheetProps,
|
|
131
|
+
ActionSheetAction,
|
|
132
|
+
} from './components/ActionSheet';
|
|
133
|
+
|
|
134
|
+
export { BodyText } from './components/BodyText';
|
|
135
|
+
export type { BodyTextProps, BodyVariant } from './components/BodyText';
|
|
136
|
+
|
|
137
|
+
export { HeaderText } from './components/HeaderText';
|
|
138
|
+
export type { HeaderTextProps, HeaderVariant } from './components/HeaderText';
|
|
75
139
|
|
|
76
140
|
// Re-export tokens for consumers who need direct access
|
|
77
141
|
export { sys } from './tokens';
|
|
142
|
+
|
|
143
|
+
// Icons
|
|
144
|
+
export {
|
|
145
|
+
UserRoundIcon,
|
|
146
|
+
GlobeIcon,
|
|
147
|
+
HandshakeIcon,
|
|
148
|
+
HeartHandshakeIcon,
|
|
149
|
+
AtomIcon,
|
|
150
|
+
HazeIcon,
|
|
151
|
+
HourglassIcon,
|
|
152
|
+
GraduationCapIcon,
|
|
153
|
+
HandHeartIcon,
|
|
154
|
+
IdCardIcon,
|
|
155
|
+
MessageCirclePlusIcon,
|
|
156
|
+
StethoscopeIcon,
|
|
157
|
+
BinocularsIcon,
|
|
158
|
+
FlagIcon,
|
|
159
|
+
MountainSnowIcon,
|
|
160
|
+
SnowflakeIcon,
|
|
161
|
+
FileChartColumnIncreasingIcon,
|
|
162
|
+
WheatIcon,
|
|
163
|
+
} from './icons';
|
|
164
|
+
export type { IconProps, IconSize, IconName } from './icons';
|
|
165
|
+
export { ICON_MAP } from './icons';
|