@kukkim/react-native-ui 0.1.0
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/LICENSE +20 -0
- package/README.md +33 -0
- package/lib/module/assets/icons/arrow-down-to-line.svg +1 -0
- package/lib/module/assets/icons/arrow-down-wide-narrow.svg +1 -0
- package/lib/module/assets/icons/arrow-left.svg +1 -0
- package/lib/module/assets/icons/check.svg +1 -0
- package/lib/module/assets/icons/chevron-down.svg +1 -0
- package/lib/module/assets/icons/copy.svg +1 -0
- package/lib/module/assets/icons/rotate-cw.svg +1 -0
- package/lib/module/assets/icons/square-arrow-out-up-right.svg +1 -0
- package/lib/module/assets/icons/star-empty.svg +1 -0
- package/lib/module/assets/icons/star-full.svg +1 -0
- package/lib/module/assets/icons/star-half.svg +25 -0
- package/lib/module/assets/icons/x.svg +1 -0
- package/lib/module/assets/images/defaultImage.png +0 -0
- package/lib/module/components/avatar/index.js +45 -0
- package/lib/module/components/avatar/index.js.map +1 -0
- package/lib/module/components/avatar/types.js +49 -0
- package/lib/module/components/avatar/types.js.map +1 -0
- package/lib/module/components/badge/commonBadge.js +44 -0
- package/lib/module/components/badge/commonBadge.js.map +1 -0
- package/lib/module/components/badge/index.js +5 -0
- package/lib/module/components/badge/index.js.map +1 -0
- package/lib/module/components/badge/types.js +48 -0
- package/lib/module/components/badge/types.js.map +1 -0
- package/lib/module/components/button/commonButton.js +43 -0
- package/lib/module/components/button/commonButton.js.map +1 -0
- package/lib/module/components/button/index.js +5 -0
- package/lib/module/components/button/index.js.map +1 -0
- package/lib/module/components/button/types.js +28 -0
- package/lib/module/components/button/types.js.map +1 -0
- package/lib/module/components/card/commonCard.js +57 -0
- package/lib/module/components/card/commonCard.js.map +1 -0
- package/lib/module/components/card/foldableCard.js +76 -0
- package/lib/module/components/card/foldableCard.js.map +1 -0
- package/lib/module/components/card/index.js +6 -0
- package/lib/module/components/card/index.js.map +1 -0
- package/lib/module/components/card/types.js +4 -0
- package/lib/module/components/card/types.js.map +1 -0
- package/lib/module/components/checkBox/index.js +38 -0
- package/lib/module/components/checkBox/index.js.map +1 -0
- package/lib/module/components/checkBox/types.js +17 -0
- package/lib/module/components/checkBox/types.js.map +1 -0
- package/lib/module/components/header/commonHeader.js +72 -0
- package/lib/module/components/header/commonHeader.js.map +1 -0
- package/lib/module/components/header/index.js +5 -0
- package/lib/module/components/header/index.js.map +1 -0
- package/lib/module/components/header/types.js +28 -0
- package/lib/module/components/header/types.js.map +1 -0
- package/lib/module/components/icon/ArrowDownToLine.js +25 -0
- package/lib/module/components/icon/ArrowDownToLine.js.map +1 -0
- package/lib/module/components/icon/ArrowDownWideNarrow.js +25 -0
- package/lib/module/components/icon/ArrowDownWideNarrow.js.map +1 -0
- package/lib/module/components/icon/ArrowLeft.js +25 -0
- package/lib/module/components/icon/ArrowLeft.js.map +1 -0
- package/lib/module/components/icon/Check.js +25 -0
- package/lib/module/components/icon/Check.js.map +1 -0
- package/lib/module/components/icon/ChevronDown.js +25 -0
- package/lib/module/components/icon/ChevronDown.js.map +1 -0
- package/lib/module/components/icon/Copy.js +32 -0
- package/lib/module/components/icon/Copy.js.map +1 -0
- package/lib/module/components/icon/RotateCw.js +27 -0
- package/lib/module/components/icon/RotateCw.js.map +1 -0
- package/lib/module/components/icon/SquareArrowOutUpRight.js +25 -0
- package/lib/module/components/icon/SquareArrowOutUpRight.js.map +1 -0
- package/lib/module/components/icon/StarEmpty.js +25 -0
- package/lib/module/components/icon/StarEmpty.js.map +1 -0
- package/lib/module/components/icon/StarFull.js +25 -0
- package/lib/module/components/icon/StarFull.js.map +1 -0
- package/lib/module/components/icon/StarHalf.js +34 -0
- package/lib/module/components/icon/StarHalf.js.map +1 -0
- package/lib/module/components/icon/X.js +25 -0
- package/lib/module/components/icon/X.js.map +1 -0
- package/lib/module/components/icon/index.js +54 -0
- package/lib/module/components/icon/index.js.map +1 -0
- package/lib/module/components/icon/types.js +8 -0
- package/lib/module/components/icon/types.js.map +1 -0
- package/lib/module/components/image/index.js +25 -0
- package/lib/module/components/image/index.js.map +1 -0
- package/lib/module/components/image/types.js +39 -0
- package/lib/module/components/image/types.js.map +1 -0
- package/lib/module/components/index.js +15 -0
- package/lib/module/components/index.js.map +1 -0
- package/lib/module/components/progressBar/circularProgressBar.js +59 -0
- package/lib/module/components/progressBar/circularProgressBar.js.map +1 -0
- package/lib/module/components/progressBar/index.js +7 -0
- package/lib/module/components/progressBar/index.js.map +1 -0
- package/lib/module/components/progressBar/linearProgressBar.js +42 -0
- package/lib/module/components/progressBar/linearProgressBar.js.map +1 -0
- package/lib/module/components/progressBar/types.js +13 -0
- package/lib/module/components/progressBar/types.js.map +1 -0
- package/lib/module/components/rating/index.js +84 -0
- package/lib/module/components/rating/index.js.map +1 -0
- package/lib/module/components/rating/types.js +8 -0
- package/lib/module/components/rating/types.js.map +1 -0
- package/lib/module/components/screenContainer/SafeAreaContainer.js +26 -0
- package/lib/module/components/screenContainer/SafeAreaContainer.js.map +1 -0
- package/lib/module/components/screenContainer/ScrollViewContainer.js +24 -0
- package/lib/module/components/screenContainer/ScrollViewContainer.js.map +1 -0
- package/lib/module/components/screenContainer/index.js +6 -0
- package/lib/module/components/screenContainer/index.js.map +1 -0
- package/lib/module/components/skeleton/index.js +3 -0
- package/lib/module/components/skeleton/index.js.map +1 -0
- package/lib/module/components/skeleton/types.js +2 -0
- package/lib/module/components/skeleton/types.js.map +1 -0
- package/lib/module/components/slider/index.js +3 -0
- package/lib/module/components/slider/index.js.map +1 -0
- package/lib/module/components/slider/types.js +2 -0
- package/lib/module/components/slider/types.js.map +1 -0
- package/lib/module/components/switch/index.js +3 -0
- package/lib/module/components/switch/index.js.map +1 -0
- package/lib/module/components/switch/types.js +2 -0
- package/lib/module/components/switch/types.js.map +1 -0
- package/lib/module/components/text/commonText.js +28 -0
- package/lib/module/components/text/commonText.js.map +1 -0
- package/lib/module/components/text/index.js +5 -0
- package/lib/module/components/text/index.js.map +1 -0
- package/lib/module/components/text/types.js +17 -0
- package/lib/module/components/text/types.js.map +1 -0
- package/lib/module/hooks/useTheme.js +12 -0
- package/lib/module/hooks/useTheme.js.map +1 -0
- package/lib/module/index.js +5 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/package.json +1 -0
- package/lib/module/theme/color.js +10 -0
- package/lib/module/theme/color.js.map +1 -0
- package/lib/module/theme/style.js +17 -0
- package/lib/module/theme/style.js.map +1 -0
- package/lib/module/theme/themeProvider.js +22 -0
- package/lib/module/theme/themeProvider.js.map +1 -0
- package/lib/module/theme/themes.js +41 -0
- package/lib/module/theme/themes.js.map +1 -0
- package/lib/typescript/package.json +1 -0
- package/lib/typescript/src/components/avatar/index.d.ts +3 -0
- package/lib/typescript/src/components/avatar/index.d.ts.map +1 -0
- package/lib/typescript/src/components/avatar/types.d.ts +16 -0
- package/lib/typescript/src/components/avatar/types.d.ts.map +1 -0
- package/lib/typescript/src/components/badge/commonBadge.d.ts +4 -0
- package/lib/typescript/src/components/badge/commonBadge.d.ts.map +1 -0
- package/lib/typescript/src/components/badge/index.d.ts +3 -0
- package/lib/typescript/src/components/badge/index.d.ts.map +1 -0
- package/lib/typescript/src/components/badge/types.d.ts +19 -0
- package/lib/typescript/src/components/badge/types.d.ts.map +1 -0
- package/lib/typescript/src/components/button/commonButton.d.ts +4 -0
- package/lib/typescript/src/components/button/commonButton.d.ts.map +1 -0
- package/lib/typescript/src/components/button/index.d.ts +3 -0
- package/lib/typescript/src/components/button/index.d.ts.map +1 -0
- package/lib/typescript/src/components/button/types.d.ts +14 -0
- package/lib/typescript/src/components/button/types.d.ts.map +1 -0
- package/lib/typescript/src/components/card/commonCard.d.ts +4 -0
- package/lib/typescript/src/components/card/commonCard.d.ts.map +1 -0
- package/lib/typescript/src/components/card/foldableCard.d.ts +4 -0
- package/lib/typescript/src/components/card/foldableCard.d.ts.map +1 -0
- package/lib/typescript/src/components/card/index.d.ts +4 -0
- package/lib/typescript/src/components/card/index.d.ts.map +1 -0
- package/lib/typescript/src/components/card/types.d.ts +16 -0
- package/lib/typescript/src/components/card/types.d.ts.map +1 -0
- package/lib/typescript/src/components/checkBox/index.d.ts +3 -0
- package/lib/typescript/src/components/checkBox/index.d.ts.map +1 -0
- package/lib/typescript/src/components/checkBox/types.d.ts +11 -0
- package/lib/typescript/src/components/checkBox/types.d.ts.map +1 -0
- package/lib/typescript/src/components/header/commonHeader.d.ts +4 -0
- package/lib/typescript/src/components/header/commonHeader.d.ts.map +1 -0
- package/lib/typescript/src/components/header/index.d.ts +3 -0
- package/lib/typescript/src/components/header/index.d.ts.map +1 -0
- package/lib/typescript/src/components/header/types.d.ts +19 -0
- package/lib/typescript/src/components/header/types.d.ts.map +1 -0
- package/lib/typescript/src/components/icon/ArrowDownToLine.d.ts +4 -0
- package/lib/typescript/src/components/icon/ArrowDownToLine.d.ts.map +1 -0
- package/lib/typescript/src/components/icon/ArrowDownWideNarrow.d.ts +4 -0
- package/lib/typescript/src/components/icon/ArrowDownWideNarrow.d.ts.map +1 -0
- package/lib/typescript/src/components/icon/ArrowLeft.d.ts +4 -0
- package/lib/typescript/src/components/icon/ArrowLeft.d.ts.map +1 -0
- package/lib/typescript/src/components/icon/Check.d.ts +4 -0
- package/lib/typescript/src/components/icon/Check.d.ts.map +1 -0
- package/lib/typescript/src/components/icon/ChevronDown.d.ts +4 -0
- package/lib/typescript/src/components/icon/ChevronDown.d.ts.map +1 -0
- package/lib/typescript/src/components/icon/Copy.d.ts +4 -0
- package/lib/typescript/src/components/icon/Copy.d.ts.map +1 -0
- package/lib/typescript/src/components/icon/RotateCw.d.ts +4 -0
- package/lib/typescript/src/components/icon/RotateCw.d.ts.map +1 -0
- package/lib/typescript/src/components/icon/SquareArrowOutUpRight.d.ts +4 -0
- package/lib/typescript/src/components/icon/SquareArrowOutUpRight.d.ts.map +1 -0
- package/lib/typescript/src/components/icon/StarEmpty.d.ts +4 -0
- package/lib/typescript/src/components/icon/StarEmpty.d.ts.map +1 -0
- package/lib/typescript/src/components/icon/StarFull.d.ts +4 -0
- package/lib/typescript/src/components/icon/StarFull.d.ts.map +1 -0
- package/lib/typescript/src/components/icon/StarHalf.d.ts +4 -0
- package/lib/typescript/src/components/icon/StarHalf.d.ts.map +1 -0
- package/lib/typescript/src/components/icon/X.d.ts +4 -0
- package/lib/typescript/src/components/icon/X.d.ts.map +1 -0
- package/lib/typescript/src/components/icon/index.d.ts +3 -0
- package/lib/typescript/src/components/icon/index.d.ts.map +1 -0
- package/lib/typescript/src/components/icon/types.d.ts +12 -0
- package/lib/typescript/src/components/icon/types.d.ts.map +1 -0
- package/lib/typescript/src/components/image/index.d.ts +3 -0
- package/lib/typescript/src/components/image/index.d.ts.map +1 -0
- package/lib/typescript/src/components/image/types.d.ts +9 -0
- package/lib/typescript/src/components/image/types.d.ts.map +1 -0
- package/lib/typescript/src/components/index.d.ts +13 -0
- package/lib/typescript/src/components/index.d.ts.map +1 -0
- package/lib/typescript/src/components/progressBar/circularProgressBar.d.ts +4 -0
- package/lib/typescript/src/components/progressBar/circularProgressBar.d.ts.map +1 -0
- package/lib/typescript/src/components/progressBar/index.d.ts +4 -0
- package/lib/typescript/src/components/progressBar/index.d.ts.map +1 -0
- package/lib/typescript/src/components/progressBar/linearProgressBar.d.ts +4 -0
- package/lib/typescript/src/components/progressBar/linearProgressBar.d.ts.map +1 -0
- package/lib/typescript/src/components/progressBar/types.d.ts +12 -0
- package/lib/typescript/src/components/progressBar/types.d.ts.map +1 -0
- package/lib/typescript/src/components/rating/index.d.ts +3 -0
- package/lib/typescript/src/components/rating/index.d.ts.map +1 -0
- package/lib/typescript/src/components/rating/types.d.ts +13 -0
- package/lib/typescript/src/components/rating/types.d.ts.map +1 -0
- package/lib/typescript/src/components/screenContainer/SafeAreaContainer.d.ts +4 -0
- package/lib/typescript/src/components/screenContainer/SafeAreaContainer.d.ts.map +1 -0
- package/lib/typescript/src/components/screenContainer/ScrollViewContainer.d.ts +4 -0
- package/lib/typescript/src/components/screenContainer/ScrollViewContainer.d.ts.map +1 -0
- package/lib/typescript/src/components/screenContainer/index.d.ts +4 -0
- package/lib/typescript/src/components/screenContainer/index.d.ts.map +1 -0
- package/lib/typescript/src/components/skeleton/index.d.ts +1 -0
- package/lib/typescript/src/components/skeleton/index.d.ts.map +1 -0
- package/lib/typescript/src/components/skeleton/types.d.ts +1 -0
- package/lib/typescript/src/components/skeleton/types.d.ts.map +1 -0
- package/lib/typescript/src/components/slider/index.d.ts +1 -0
- package/lib/typescript/src/components/slider/index.d.ts.map +1 -0
- package/lib/typescript/src/components/slider/types.d.ts +1 -0
- package/lib/typescript/src/components/slider/types.d.ts.map +1 -0
- package/lib/typescript/src/components/switch/index.d.ts +1 -0
- package/lib/typescript/src/components/switch/index.d.ts.map +1 -0
- package/lib/typescript/src/components/switch/types.d.ts +1 -0
- package/lib/typescript/src/components/switch/types.d.ts.map +1 -0
- package/lib/typescript/src/components/text/commonText.d.ts +4 -0
- package/lib/typescript/src/components/text/commonText.d.ts.map +1 -0
- package/lib/typescript/src/components/text/index.d.ts +3 -0
- package/lib/typescript/src/components/text/index.d.ts.map +1 -0
- package/lib/typescript/src/components/text/types.d.ts +11 -0
- package/lib/typescript/src/components/text/types.d.ts.map +1 -0
- package/lib/typescript/src/hooks/useTheme.d.ts +5 -0
- package/lib/typescript/src/hooks/useTheme.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +3 -0
- package/lib/typescript/src/index.d.ts.map +1 -0
- package/lib/typescript/src/theme/color.d.ts +8 -0
- package/lib/typescript/src/theme/color.d.ts.map +1 -0
- package/lib/typescript/src/theme/style.d.ts +15 -0
- package/lib/typescript/src/theme/style.d.ts.map +1 -0
- package/lib/typescript/src/theme/themeProvider.d.ts +13 -0
- package/lib/typescript/src/theme/themeProvider.d.ts.map +1 -0
- package/lib/typescript/src/theme/themes.d.ts +25 -0
- package/lib/typescript/src/theme/themes.d.ts.map +1 -0
- package/package.json +170 -0
- package/src/assets/icons/arrow-down-to-line.svg +1 -0
- package/src/assets/icons/arrow-down-wide-narrow.svg +1 -0
- package/src/assets/icons/arrow-left.svg +1 -0
- package/src/assets/icons/check.svg +1 -0
- package/src/assets/icons/chevron-down.svg +1 -0
- package/src/assets/icons/copy.svg +1 -0
- package/src/assets/icons/rotate-cw.svg +1 -0
- package/src/assets/icons/square-arrow-out-up-right.svg +1 -0
- package/src/assets/icons/star-empty.svg +1 -0
- package/src/assets/icons/star-full.svg +1 -0
- package/src/assets/icons/star-half.svg +25 -0
- package/src/assets/icons/x.svg +1 -0
- package/src/assets/images/defaultImage.png +0 -0
- package/src/components/avatar/index.tsx +58 -0
- package/src/components/avatar/types.ts +38 -0
- package/src/components/badge/commonBadge.tsx +50 -0
- package/src/components/badge/index.ts +3 -0
- package/src/components/badge/types.ts +36 -0
- package/src/components/button/commonButton.tsx +43 -0
- package/src/components/button/index.ts +3 -0
- package/src/components/button/types.ts +29 -0
- package/src/components/card/commonCard.tsx +67 -0
- package/src/components/card/foldableCard.tsx +88 -0
- package/src/components/card/index.ts +4 -0
- package/src/components/card/types.ts +18 -0
- package/src/components/checkBox/index.tsx +41 -0
- package/src/components/checkBox/types.ts +16 -0
- package/src/components/header/commonHeader.tsx +55 -0
- package/src/components/header/index.ts +3 -0
- package/src/components/header/types.ts +30 -0
- package/src/components/icon/ArrowDownToLine.tsx +21 -0
- package/src/components/icon/ArrowDownWideNarrow.tsx +21 -0
- package/src/components/icon/ArrowLeft.tsx +21 -0
- package/src/components/icon/Check.tsx +21 -0
- package/src/components/icon/ChevronDown.tsx +21 -0
- package/src/components/icon/Copy.tsx +22 -0
- package/src/components/icon/RotateCw.tsx +22 -0
- package/src/components/icon/SquareArrowOutUpRight.tsx +21 -0
- package/src/components/icon/StarEmpty.tsx +21 -0
- package/src/components/icon/StarFull.tsx +21 -0
- package/src/components/icon/StarHalf.tsx +32 -0
- package/src/components/icon/X.tsx +21 -0
- package/src/components/icon/index.tsx +54 -0
- package/src/components/icon/types.ts +30 -0
- package/src/components/image/index.tsx +21 -0
- package/src/components/image/types.ts +20 -0
- package/src/components/index.ts +12 -0
- package/src/components/progressBar/circularProgressBar.tsx +64 -0
- package/src/components/progressBar/index.ts +5 -0
- package/src/components/progressBar/linearProgressBar.tsx +51 -0
- package/src/components/progressBar/types.ts +22 -0
- package/src/components/rating/index.tsx +106 -0
- package/src/components/rating/types.ts +17 -0
- package/src/components/screenContainer/SafeAreaContainer.tsx +22 -0
- package/src/components/screenContainer/ScrollViewContainer.tsx +19 -0
- package/src/components/screenContainer/index.ts +4 -0
- package/src/components/skeleton/index.tsx +1 -0
- package/src/components/skeleton/types.ts +0 -0
- package/src/components/slider/index.tsx +1 -0
- package/src/components/slider/types.ts +0 -0
- package/src/components/switch/index.tsx +1 -0
- package/src/components/switch/types.ts +0 -0
- package/src/components/text/commonText.tsx +27 -0
- package/src/components/text/index.ts +3 -0
- package/src/components/text/types.ts +16 -0
- package/src/hooks/useTheme.ts +12 -0
- package/src/index.tsx +18 -0
- package/src/theme/color.ts +7 -0
- package/src/theme/style.ts +15 -0
- package/src/theme/themeProvider.tsx +25 -0
- package/src/theme/themes.ts +71 -0
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { StyleSheet, View } from 'react-native';
|
|
2
|
+
import { type IconProps, sizeType } from './types';
|
|
3
|
+
// import { useTheme } from '../../hooks/useTheme';
|
|
4
|
+
import ArrowLeft from './ArrowLeft';
|
|
5
|
+
import StarEmpty from './StarEmpty';
|
|
6
|
+
import StarHalf from './StarHalf';
|
|
7
|
+
import StarFull from './StarFull';
|
|
8
|
+
import Check from './Check';
|
|
9
|
+
import X from './X';
|
|
10
|
+
// import { ArrowDownToLine } from './ArrowDownToLine';
|
|
11
|
+
// import { ArrowDownWideNarrow } from './ArrowDownWideNarrow';
|
|
12
|
+
// import { ChevronDown } from './ChevronDown';
|
|
13
|
+
// import { RotateCw } from './RotateCw';
|
|
14
|
+
// export { SquareArrowOutUpRight } from './SquareArrowOutUpRight';
|
|
15
|
+
|
|
16
|
+
const iconMap = {
|
|
17
|
+
back: ArrowLeft,
|
|
18
|
+
star_empty: StarEmpty,
|
|
19
|
+
star_half: StarHalf,
|
|
20
|
+
star_full: StarFull,
|
|
21
|
+
check: Check,
|
|
22
|
+
close: X,
|
|
23
|
+
} as const;
|
|
24
|
+
|
|
25
|
+
export const CommonIcon = ({
|
|
26
|
+
iconType,
|
|
27
|
+
size = 'm',
|
|
28
|
+
color = 'black',
|
|
29
|
+
...props
|
|
30
|
+
}: IconProps) => {
|
|
31
|
+
// const { theme } = useTheme();
|
|
32
|
+
|
|
33
|
+
const IconComponent = iconMap[iconType];
|
|
34
|
+
if (!IconComponent) {
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
return (
|
|
39
|
+
<View style={styles.container} {...props}>
|
|
40
|
+
<IconComponent
|
|
41
|
+
width={sizeType[size]}
|
|
42
|
+
height={sizeType[size]}
|
|
43
|
+
color={color}
|
|
44
|
+
/>
|
|
45
|
+
</View>
|
|
46
|
+
);
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
const styles = StyleSheet.create({
|
|
50
|
+
container: {
|
|
51
|
+
// margin: 5,
|
|
52
|
+
// padding: 5,
|
|
53
|
+
},
|
|
54
|
+
});
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { type ViewProps } from 'react-native';
|
|
2
|
+
|
|
3
|
+
type Variant = 'primary' | 'secondary';
|
|
4
|
+
type SizeVariant = 's' | 'm' | 'l';
|
|
5
|
+
|
|
6
|
+
export const sizeType: Record<SizeVariant, number> = {
|
|
7
|
+
s: 20,
|
|
8
|
+
m: 24,
|
|
9
|
+
l: 28,
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export interface IconProps extends ViewProps {
|
|
13
|
+
iconType: // | 'setting'
|
|
14
|
+
// | 'search'
|
|
15
|
+
// | 'spinner'
|
|
16
|
+
| 'check'
|
|
17
|
+
| 'back'
|
|
18
|
+
| 'close'
|
|
19
|
+
// | 'apple'
|
|
20
|
+
// | 'facebook'
|
|
21
|
+
// | 'google'
|
|
22
|
+
// | 'close'
|
|
23
|
+
// | 'tune'
|
|
24
|
+
| 'star_empty'
|
|
25
|
+
| 'star_half'
|
|
26
|
+
| 'star_full';
|
|
27
|
+
type?: Variant;
|
|
28
|
+
size?: SizeVariant;
|
|
29
|
+
color?: string;
|
|
30
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
// import { useState } from 'react';
|
|
2
|
+
import { Image, StyleSheet } from 'react-native';
|
|
3
|
+
import { type CommonImageProps, sizeType } from './types';
|
|
4
|
+
|
|
5
|
+
export const CommonImage = ({ size = 'm', ...props }: CommonImageProps) => {
|
|
6
|
+
// const [loading, setLoading] = useState(true);
|
|
7
|
+
return (
|
|
8
|
+
<Image
|
|
9
|
+
style={[styles.container, sizeType[size]]}
|
|
10
|
+
source={require('../../assets/images/defaultImage.png')}
|
|
11
|
+
// onLoad={({ nativeEvent }) => {
|
|
12
|
+
// setLoading(false);
|
|
13
|
+
// }}
|
|
14
|
+
{...props}
|
|
15
|
+
/>
|
|
16
|
+
);
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
const styles = StyleSheet.create({
|
|
20
|
+
container: {},
|
|
21
|
+
});
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type ImageProps, type ImageStyle } from 'react-native';
|
|
2
|
+
|
|
3
|
+
// type Variant = 'primary' | 'secondary';
|
|
4
|
+
type SizeVariant = 's' | 'm' | 'l';
|
|
5
|
+
|
|
6
|
+
export const sizeType: Record<SizeVariant, ImageStyle> = {
|
|
7
|
+
s: { width: 24, height: 24 },
|
|
8
|
+
m: { width: 48, height: 48 },
|
|
9
|
+
l: { width: 72, height: 72 },
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export const avatarSizeType: Record<SizeVariant, ImageStyle> = {
|
|
13
|
+
s: { width: 24, height: 24, borderRadius: 12, borderWidth: 1 },
|
|
14
|
+
m: { width: 48, height: 48, borderRadius: 24, borderWidth: 1 },
|
|
15
|
+
l: { width: 72, height: 72, borderRadius: 36, borderWidth: 1 },
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export interface CommonImageProps extends ImageProps {
|
|
19
|
+
size?: SizeVariant;
|
|
20
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export { CommonText } from './text';
|
|
2
|
+
export { CommonButton } from './button';
|
|
3
|
+
export { CommonBadge } from './badge';
|
|
4
|
+
export { SafeAreaContainer, ScrollViewContainer } from './screenContainer';
|
|
5
|
+
export { CommonIcon } from './icon';
|
|
6
|
+
export { CommonRating } from './rating';
|
|
7
|
+
export { CommonAvatar } from './avatar';
|
|
8
|
+
export { CommonImage } from './image';
|
|
9
|
+
export { CheckBox } from './checkBox';
|
|
10
|
+
export { CommonHeader } from './header';
|
|
11
|
+
export { CommonCard, FoldableCard } from './card';
|
|
12
|
+
export { LinearProgressBar, CircularProgressBar } from './progressBar';
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { StyleSheet, View } from 'react-native';
|
|
2
|
+
import Svg, { Circle } from 'react-native-svg';
|
|
3
|
+
import { type ProgressBarProps, sizeType, strokeWidthType } from './types';
|
|
4
|
+
import { useTheme } from '../../hooks/useTheme';
|
|
5
|
+
|
|
6
|
+
const CircularProgressBar = ({
|
|
7
|
+
type = 'primary',
|
|
8
|
+
size = 'm',
|
|
9
|
+
value,
|
|
10
|
+
style,
|
|
11
|
+
...props
|
|
12
|
+
}: ProgressBarProps) => {
|
|
13
|
+
const { theme } = useTheme();
|
|
14
|
+
|
|
15
|
+
const progress = Math.min(Math.max(value, 0), 1);
|
|
16
|
+
|
|
17
|
+
const svgSize = sizeType[size];
|
|
18
|
+
const strokeWidth = strokeWidthType[size];
|
|
19
|
+
|
|
20
|
+
const radius = (svgSize - strokeWidth) / 2;
|
|
21
|
+
const circumference = 2 * Math.PI * radius;
|
|
22
|
+
|
|
23
|
+
const strokeDashoffset = circumference * (1 - progress);
|
|
24
|
+
|
|
25
|
+
return (
|
|
26
|
+
<View style={[styles.container, style]} {...props}>
|
|
27
|
+
<Svg
|
|
28
|
+
width={svgSize}
|
|
29
|
+
height={svgSize}
|
|
30
|
+
viewBox={`0 0 ${svgSize} ${svgSize}`}
|
|
31
|
+
>
|
|
32
|
+
<Circle
|
|
33
|
+
cx={svgSize / 2}
|
|
34
|
+
cy={svgSize / 2}
|
|
35
|
+
r={radius}
|
|
36
|
+
stroke={theme.colors.disabled}
|
|
37
|
+
strokeWidth={strokeWidth}
|
|
38
|
+
fill="none"
|
|
39
|
+
/>
|
|
40
|
+
|
|
41
|
+
<Circle
|
|
42
|
+
cx={svgSize / 2}
|
|
43
|
+
cy={svgSize / 2}
|
|
44
|
+
r={radius}
|
|
45
|
+
stroke={theme.colors[type]}
|
|
46
|
+
strokeWidth={strokeWidth}
|
|
47
|
+
fill="none"
|
|
48
|
+
strokeLinecap="round"
|
|
49
|
+
strokeDasharray={circumference}
|
|
50
|
+
strokeDashoffset={strokeDashoffset}
|
|
51
|
+
rotation="-90"
|
|
52
|
+
originX={svgSize / 2}
|
|
53
|
+
originY={svgSize / 2}
|
|
54
|
+
/>
|
|
55
|
+
</Svg>
|
|
56
|
+
</View>
|
|
57
|
+
);
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
const styles = StyleSheet.create({
|
|
61
|
+
container: {},
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
export default CircularProgressBar;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { StyleSheet, View } from 'react-native';
|
|
2
|
+
import { type ProgressBarProps } from './types';
|
|
3
|
+
import { useTheme } from '../../hooks/useTheme';
|
|
4
|
+
|
|
5
|
+
const LinearProgressBar = ({
|
|
6
|
+
type = 'primary',
|
|
7
|
+
value,
|
|
8
|
+
style,
|
|
9
|
+
...props
|
|
10
|
+
}: ProgressBarProps) => {
|
|
11
|
+
const { theme } = useTheme();
|
|
12
|
+
const progress = Math.min(Math.max(value, 0), 1);
|
|
13
|
+
|
|
14
|
+
return (
|
|
15
|
+
<View
|
|
16
|
+
style={[
|
|
17
|
+
styles.container,
|
|
18
|
+
{
|
|
19
|
+
backgroundColor: theme.colors.disabled,
|
|
20
|
+
},
|
|
21
|
+
style,
|
|
22
|
+
]}
|
|
23
|
+
{...props}
|
|
24
|
+
>
|
|
25
|
+
<View
|
|
26
|
+
style={[
|
|
27
|
+
styles.progress,
|
|
28
|
+
{
|
|
29
|
+
width: `${progress * 100}%`,
|
|
30
|
+
backgroundColor: theme.colors[type],
|
|
31
|
+
},
|
|
32
|
+
]}
|
|
33
|
+
/>
|
|
34
|
+
</View>
|
|
35
|
+
);
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
const styles = StyleSheet.create({
|
|
39
|
+
container: {
|
|
40
|
+
width: '100%',
|
|
41
|
+
height: 8,
|
|
42
|
+
borderRadius: 999,
|
|
43
|
+
overflow: 'hidden',
|
|
44
|
+
},
|
|
45
|
+
progress: {
|
|
46
|
+
height: '100%',
|
|
47
|
+
borderRadius: 999,
|
|
48
|
+
},
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
export default LinearProgressBar;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { type ViewProps } from 'react-native';
|
|
2
|
+
|
|
3
|
+
type Variant = 'primary' | 'secondary';
|
|
4
|
+
type SizeVariant = 's' | 'm' | 'l';
|
|
5
|
+
|
|
6
|
+
export const sizeType: Record<SizeVariant, number> = {
|
|
7
|
+
s: 32,
|
|
8
|
+
m: 48,
|
|
9
|
+
l: 60,
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export const strokeWidthType: Record<SizeVariant, number> = {
|
|
13
|
+
s: 4,
|
|
14
|
+
m: 6,
|
|
15
|
+
l: 12,
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export interface ProgressBarProps extends ViewProps {
|
|
19
|
+
type?: Variant;
|
|
20
|
+
size?: SizeVariant;
|
|
21
|
+
value: number;
|
|
22
|
+
}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { Pressable, StyleSheet, View } from 'react-native';
|
|
2
|
+
import { CommonIcon } from '../icon';
|
|
3
|
+
import { useTheme } from '../../hooks/useTheme';
|
|
4
|
+
import { type RatingProps, sizeType } from './types';
|
|
5
|
+
|
|
6
|
+
export const CommonRating = ({
|
|
7
|
+
type = 'primary',
|
|
8
|
+
value,
|
|
9
|
+
onChange,
|
|
10
|
+
editable = false,
|
|
11
|
+
size = 'm',
|
|
12
|
+
maxRating = 5,
|
|
13
|
+
}: RatingProps) => {
|
|
14
|
+
const { theme } = useTheme();
|
|
15
|
+
const renderStar = (index: number) => {
|
|
16
|
+
const starNumber = index + 1;
|
|
17
|
+
|
|
18
|
+
let iconType: 'star_empty' | 'star_half' | 'star_full' = 'star_empty';
|
|
19
|
+
|
|
20
|
+
if (value >= starNumber) {
|
|
21
|
+
iconType = 'star_full';
|
|
22
|
+
} else if (value >= starNumber - 0.5) {
|
|
23
|
+
iconType = 'star_half';
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
if (!editable) {
|
|
27
|
+
return (
|
|
28
|
+
<View key={index}>
|
|
29
|
+
<CommonIcon
|
|
30
|
+
iconType={iconType}
|
|
31
|
+
size={size}
|
|
32
|
+
color={theme.colors[type]}
|
|
33
|
+
/>
|
|
34
|
+
</View>
|
|
35
|
+
);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
return (
|
|
39
|
+
<View
|
|
40
|
+
key={index}
|
|
41
|
+
style={[
|
|
42
|
+
{
|
|
43
|
+
width: sizeType[size],
|
|
44
|
+
height: sizeType[size],
|
|
45
|
+
},
|
|
46
|
+
styles.starContainer,
|
|
47
|
+
]}
|
|
48
|
+
>
|
|
49
|
+
<CommonIcon
|
|
50
|
+
iconType={iconType}
|
|
51
|
+
size={size}
|
|
52
|
+
color={theme.colors[type]}
|
|
53
|
+
/>
|
|
54
|
+
|
|
55
|
+
{/* 왼쪽 절반 */}
|
|
56
|
+
<Pressable
|
|
57
|
+
style={[
|
|
58
|
+
StyleSheet.absoluteFillObject,
|
|
59
|
+
{
|
|
60
|
+
width: sizeType[size] / 2,
|
|
61
|
+
},
|
|
62
|
+
styles.left,
|
|
63
|
+
]}
|
|
64
|
+
onPress={() => {
|
|
65
|
+
onChange?.(index + 0.5);
|
|
66
|
+
}}
|
|
67
|
+
/>
|
|
68
|
+
|
|
69
|
+
{/* 오른쪽 절반 */}
|
|
70
|
+
<Pressable
|
|
71
|
+
style={[
|
|
72
|
+
StyleSheet.absoluteFillObject,
|
|
73
|
+
{
|
|
74
|
+
width: sizeType[size] / 2,
|
|
75
|
+
left: sizeType[size] / 2,
|
|
76
|
+
},
|
|
77
|
+
]}
|
|
78
|
+
onPress={() => {
|
|
79
|
+
onChange?.(index + 1);
|
|
80
|
+
}}
|
|
81
|
+
/>
|
|
82
|
+
</View>
|
|
83
|
+
);
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
return (
|
|
87
|
+
<View style={styles.container}>
|
|
88
|
+
{Array.from({ length: maxRating }).map((_, index) => renderStar(index))}
|
|
89
|
+
</View>
|
|
90
|
+
);
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
const styles = StyleSheet.create({
|
|
94
|
+
container: {
|
|
95
|
+
flexDirection: 'row',
|
|
96
|
+
alignItems: 'center',
|
|
97
|
+
},
|
|
98
|
+
starContainer: {
|
|
99
|
+
position: 'relative',
|
|
100
|
+
justifyContent: 'center',
|
|
101
|
+
alignItems: 'center',
|
|
102
|
+
},
|
|
103
|
+
left: {
|
|
104
|
+
left: 0,
|
|
105
|
+
},
|
|
106
|
+
});
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
type Variant = 'primary' | 'secondary';
|
|
2
|
+
type SizeVariant = 's' | 'm' | 'l';
|
|
3
|
+
|
|
4
|
+
export const sizeType: Record<SizeVariant, number> = {
|
|
5
|
+
s: 20,
|
|
6
|
+
m: 24,
|
|
7
|
+
l: 28,
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
export interface RatingProps {
|
|
11
|
+
type?: Variant;
|
|
12
|
+
value: number;
|
|
13
|
+
onChange?: (rating: number) => void;
|
|
14
|
+
editable?: boolean;
|
|
15
|
+
size?: SizeVariant;
|
|
16
|
+
maxRating?: number;
|
|
17
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { useTheme } from '../../hooks/useTheme';
|
|
2
|
+
import { StyleSheet, type ViewProps } from 'react-native';
|
|
3
|
+
import { SafeAreaView } from 'react-native-safe-area-context';
|
|
4
|
+
|
|
5
|
+
const SafeAreaContainer = ({ children }: ViewProps) => {
|
|
6
|
+
const { theme } = useTheme();
|
|
7
|
+
return (
|
|
8
|
+
<SafeAreaView
|
|
9
|
+
style={[styles.container, { backgroundColor: theme.colors.background }]}
|
|
10
|
+
>
|
|
11
|
+
{children}
|
|
12
|
+
</SafeAreaView>
|
|
13
|
+
);
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
const styles = StyleSheet.create({
|
|
17
|
+
container: {
|
|
18
|
+
flex: 1,
|
|
19
|
+
},
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
export default SafeAreaContainer;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ScrollView, StyleSheet, type ViewProps } from 'react-native';
|
|
2
|
+
import SafeAreaContainer from './SafeAreaContainer';
|
|
3
|
+
|
|
4
|
+
//TODO : SafeAreaContainer가 적용되지 않음.
|
|
5
|
+
const ScrollViewContainer = ({ children }: ViewProps) => {
|
|
6
|
+
return (
|
|
7
|
+
<SafeAreaContainer>
|
|
8
|
+
<ScrollView style={[styles.container]}>{children}</ScrollView>
|
|
9
|
+
</SafeAreaContainer>
|
|
10
|
+
);
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
const styles = StyleSheet.create({
|
|
14
|
+
container: {
|
|
15
|
+
flex: 1,
|
|
16
|
+
},
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
export default ScrollViewContainer;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
// TODO: skeleton 구현 필요
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
// TODO: slider 구현 필요
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
// TODO: switch 구현 필요
|
|
File without changes
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { StyleSheet, Text } from 'react-native';
|
|
2
|
+
import { type CommonTextProps, fontSizeType } from './types';
|
|
3
|
+
import { useTheme } from '../../hooks/useTheme';
|
|
4
|
+
|
|
5
|
+
const CommonText = ({ size = 'm', children, style }: CommonTextProps) => {
|
|
6
|
+
const { theme } = useTheme();
|
|
7
|
+
return (
|
|
8
|
+
<Text
|
|
9
|
+
style={[
|
|
10
|
+
{ color: theme.colors.text },
|
|
11
|
+
styles.innerText,
|
|
12
|
+
fontSizeType[size],
|
|
13
|
+
style,
|
|
14
|
+
]}
|
|
15
|
+
>
|
|
16
|
+
{children}
|
|
17
|
+
</Text>
|
|
18
|
+
);
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const styles = StyleSheet.create({
|
|
22
|
+
innerText: {
|
|
23
|
+
fontFamily: 'Roboto',
|
|
24
|
+
},
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
export default CommonText;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type TextProps, type TextStyle } from 'react-native';
|
|
2
|
+
|
|
3
|
+
type Variant = 'primary' | 'secondary';
|
|
4
|
+
type SizeVariant = 's' | 'm' | 'l';
|
|
5
|
+
|
|
6
|
+
export const fontSizeType: Record<SizeVariant, TextStyle> = {
|
|
7
|
+
s: { fontSize: 12, fontWeight: '600' },
|
|
8
|
+
m: { fontSize: 24, fontWeight: '700' },
|
|
9
|
+
l: { fontSize: 36, fontWeight: '900' },
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export interface CommonTextProps extends TextProps {
|
|
13
|
+
type?: Variant;
|
|
14
|
+
size?: SizeVariant;
|
|
15
|
+
isInner?: boolean;
|
|
16
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { useContext } from 'react';
|
|
2
|
+
import { ThemeContext } from '../theme/themeProvider';
|
|
3
|
+
|
|
4
|
+
export function useTheme() {
|
|
5
|
+
const context = useContext(ThemeContext);
|
|
6
|
+
|
|
7
|
+
if (!context) {
|
|
8
|
+
throw new Error('useTheme must be used within ThemeProvider');
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
return context;
|
|
12
|
+
}
|
package/src/index.tsx
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export {
|
|
2
|
+
CommonText,
|
|
3
|
+
CommonButton,
|
|
4
|
+
CommonBadge,
|
|
5
|
+
SafeAreaContainer,
|
|
6
|
+
ScrollViewContainer,
|
|
7
|
+
CommonIcon,
|
|
8
|
+
CommonRating,
|
|
9
|
+
CommonAvatar,
|
|
10
|
+
CommonImage,
|
|
11
|
+
CheckBox,
|
|
12
|
+
CommonHeader,
|
|
13
|
+
CommonCard,
|
|
14
|
+
FoldableCard,
|
|
15
|
+
LinearProgressBar,
|
|
16
|
+
CircularProgressBar,
|
|
17
|
+
} from './components';
|
|
18
|
+
export { ThemeProvider } from './theme/themeProvider';
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { createContext, type PropsWithChildren, useMemo } from 'react';
|
|
2
|
+
import { lightTheme, darkTheme, type AppTheme, type ThemeMode } from './themes';
|
|
3
|
+
|
|
4
|
+
type ThemeContextValue = {
|
|
5
|
+
theme: AppTheme;
|
|
6
|
+
mode: ThemeMode;
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
export const ThemeContext = createContext<ThemeContextValue | null>(null);
|
|
10
|
+
|
|
11
|
+
type Props = PropsWithChildren<{
|
|
12
|
+
mode?: ThemeMode;
|
|
13
|
+
}>;
|
|
14
|
+
|
|
15
|
+
export function ThemeProvider({ children, mode = 'light' }: Props) {
|
|
16
|
+
const theme = useMemo(() => {
|
|
17
|
+
return mode === 'dark' ? darkTheme : lightTheme;
|
|
18
|
+
}, [mode]);
|
|
19
|
+
|
|
20
|
+
return (
|
|
21
|
+
<ThemeContext.Provider value={{ theme, mode }}>
|
|
22
|
+
{children}
|
|
23
|
+
</ThemeContext.Provider>
|
|
24
|
+
);
|
|
25
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
// theme/themes.ts
|
|
2
|
+
|
|
3
|
+
import { palette } from './color';
|
|
4
|
+
import { spacing, radius } from './style';
|
|
5
|
+
|
|
6
|
+
export type ThemeMode = 'light' | 'dark';
|
|
7
|
+
|
|
8
|
+
export interface ThemeColors {
|
|
9
|
+
background: string;
|
|
10
|
+
surface: string;
|
|
11
|
+
text: string;
|
|
12
|
+
|
|
13
|
+
white: string;
|
|
14
|
+
primary: string;
|
|
15
|
+
secondary: string;
|
|
16
|
+
warning: string;
|
|
17
|
+
danger: string;
|
|
18
|
+
|
|
19
|
+
border: string;
|
|
20
|
+
disabled: string;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export type ThemeSpacing = typeof spacing;
|
|
24
|
+
export type ThemeRadius = typeof radius;
|
|
25
|
+
|
|
26
|
+
export interface AppTheme {
|
|
27
|
+
mode: ThemeMode;
|
|
28
|
+
colors: ThemeColors;
|
|
29
|
+
spacing: ThemeSpacing;
|
|
30
|
+
radius: ThemeRadius;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export const lightTheme: AppTheme = {
|
|
34
|
+
mode: 'light',
|
|
35
|
+
colors: {
|
|
36
|
+
background: '#FFFFFF',
|
|
37
|
+
surface: palette.gray100,
|
|
38
|
+
text: palette.gray900,
|
|
39
|
+
|
|
40
|
+
white: '#FFFFFF',
|
|
41
|
+
primary: palette.blue500,
|
|
42
|
+
secondary: '#8E8E93',
|
|
43
|
+
warning: palette.yellow500,
|
|
44
|
+
danger: palette.red500,
|
|
45
|
+
|
|
46
|
+
border: '#E5E5EA',
|
|
47
|
+
disabled: '#C7C7CC',
|
|
48
|
+
},
|
|
49
|
+
spacing,
|
|
50
|
+
radius,
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
export const darkTheme: AppTheme = {
|
|
54
|
+
mode: 'dark',
|
|
55
|
+
colors: {
|
|
56
|
+
background: '#000000',
|
|
57
|
+
surface: '#1C1C1E',
|
|
58
|
+
text: '#FFFFFF',
|
|
59
|
+
|
|
60
|
+
white: '#FFFFFF',
|
|
61
|
+
primary: palette.blue500,
|
|
62
|
+
secondary: '#AEAEB2',
|
|
63
|
+
warning: palette.yellow500,
|
|
64
|
+
danger: palette.red500,
|
|
65
|
+
|
|
66
|
+
border: '#38383A',
|
|
67
|
+
disabled: '#48484A',
|
|
68
|
+
},
|
|
69
|
+
spacing,
|
|
70
|
+
radius,
|
|
71
|
+
};
|