@idealyst/components 1.0.83 → 1.0.84
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/CLAUDE.md +199 -232
- package/README.md +5 -5
- package/package.json +20 -2
- package/plugin/README.md +272 -0
- package/plugin/test-cases.jsx +112 -0
- package/plugin/web-legacy.js +320 -0
- package/plugin/web.js +422 -124
- package/src/Accordion/Accordion.native.tsx +182 -0
- package/src/Accordion/Accordion.styles.tsx +260 -0
- package/src/Accordion/Accordion.web.tsx +147 -0
- package/src/Accordion/index.native.tsx +3 -0
- package/src/Accordion/index.ts +3 -0
- package/src/Accordion/index.web.tsx +3 -0
- package/src/Accordion/types.ts +23 -0
- package/src/ActivityIndicator/ActivityIndicator.native.tsx +17 -12
- package/src/ActivityIndicator/ActivityIndicator.styles.tsx +83 -109
- package/src/ActivityIndicator/ActivityIndicator.web.tsx +23 -17
- package/src/ActivityIndicator/index.ts +5 -2
- package/src/ActivityIndicator/index.web.ts +5 -2
- package/src/ActivityIndicator/types.ts +15 -10
- package/src/Alert/Alert.native.tsx +113 -0
- package/src/Alert/Alert.styles.tsx +304 -0
- package/src/Alert/Alert.web.tsx +123 -0
- package/src/Alert/index.native.ts +5 -0
- package/src/Alert/index.ts +5 -0
- package/src/Alert/index.web.ts +5 -0
- package/src/Alert/types.ts +21 -0
- package/src/Avatar/Avatar.native.tsx +8 -6
- package/src/Avatar/Avatar.styles.tsx +64 -58
- package/src/Avatar/Avatar.web.tsx +13 -8
- package/src/Avatar/index.ts +5 -2
- package/src/Avatar/index.web.ts +5 -2
- package/src/Avatar/types.ts +19 -13
- package/src/Badge/Badge.native.tsx +59 -14
- package/src/Badge/Badge.styles.tsx +125 -139
- package/src/Badge/Badge.web.tsx +72 -16
- package/src/Badge/index.ts +5 -2
- package/src/Badge/index.web.ts +5 -2
- package/src/Badge/types.ts +23 -11
- package/src/Breadcrumb/Breadcrumb.native.tsx +225 -0
- package/src/Breadcrumb/Breadcrumb.styles.tsx +234 -0
- package/src/Breadcrumb/Breadcrumb.web.tsx +268 -0
- package/src/Breadcrumb/index.native.ts +5 -0
- package/src/Breadcrumb/index.ts +5 -0
- package/src/Breadcrumb/index.web.ts +5 -0
- package/src/Breadcrumb/types.ts +56 -0
- package/src/Button/Button.native.tsx +75 -24
- package/src/Button/Button.styles.tsx +248 -205
- package/src/Button/Button.web.tsx +82 -25
- package/src/Button/index.ts +5 -5
- package/src/Button/index.web.ts +5 -3
- package/src/Button/types.ts +32 -15
- package/src/Card/Card.native.tsx +14 -11
- package/src/Card/Card.styles.tsx +146 -220
- package/src/Card/Card.web.tsx +20 -21
- package/src/Card/index.ts +5 -5
- package/src/Card/index.web.ts +5 -3
- package/src/Card/types.ts +24 -17
- package/src/Checkbox/Checkbox.native.tsx +24 -34
- package/src/Checkbox/Checkbox.styles.tsx +223 -275
- package/src/Checkbox/Checkbox.web.tsx +30 -37
- package/src/Checkbox/index.ts +5 -5
- package/src/Checkbox/index.web.ts +5 -3
- package/src/Checkbox/types.ts +26 -20
- package/src/Chip/Chip.native.tsx +126 -0
- package/src/Chip/Chip.styles.tsx +138 -0
- package/src/Chip/Chip.web.tsx +154 -0
- package/src/Chip/index.native.ts +5 -0
- package/src/Chip/index.ts +5 -0
- package/src/Chip/index.web.ts +5 -0
- package/src/Chip/types.ts +51 -0
- package/src/Dialog/Dialog.native.tsx +65 -12
- package/src/Dialog/Dialog.styles.tsx +154 -136
- package/src/Dialog/Dialog.web.tsx +16 -11
- package/src/Dialog/index.ts +5 -2
- package/src/Dialog/index.web.ts +5 -2
- package/src/Dialog/types.ts +22 -16
- package/src/Divider/Divider.native.tsx +19 -14
- package/src/Divider/Divider.styles.tsx +273 -595
- package/src/Divider/Divider.web.tsx +19 -12
- package/src/Divider/index.ts +5 -5
- package/src/Divider/index.web.ts +5 -3
- package/src/Divider/types.ts +28 -19
- package/src/Icon/Icon.native.tsx +17 -24
- package/src/Icon/Icon.styles.tsx +64 -48
- package/src/Icon/Icon.web.tsx +14 -11
- package/src/Icon/IconSvg/IconSvg.native.tsx +42 -0
- package/src/Icon/IconSvg/IconSvg.web.tsx +40 -0
- package/src/Icon/IconSvg/index.native.ts +1 -0
- package/src/Icon/IconSvg/index.ts +1 -0
- package/src/Icon/icon-resolver.native.ts +27 -0
- package/src/Icon/icon-resolver.ts +70 -0
- package/src/Icon/index.ts +5 -5
- package/src/Icon/index.web.ts +5 -3
- package/src/Icon/types.ts +17 -11
- package/src/Image/Image.native.tsx +86 -0
- package/src/Image/Image.styles.tsx +57 -0
- package/src/Image/Image.web.tsx +92 -0
- package/src/Image/index.native.ts +5 -0
- package/src/Image/index.ts +5 -0
- package/src/Image/types.ts +21 -0
- package/src/Input/Input.native.tsx +103 -26
- package/src/Input/Input.styles.tsx +240 -177
- package/src/Input/Input.web.tsx +141 -38
- package/src/Input/index.ts +5 -5
- package/src/Input/index.web.ts +5 -3
- package/src/Input/types.ts +43 -20
- package/src/List/List.native.tsx +56 -0
- package/src/List/List.styles.tsx +257 -0
- package/src/List/List.web.tsx +43 -0
- package/src/List/ListContext.tsx +16 -0
- package/src/List/ListItem.native.tsx +111 -0
- package/src/List/ListItem.web.tsx +110 -0
- package/src/List/ListSection.native.tsx +31 -0
- package/src/List/ListSection.web.tsx +33 -0
- package/src/List/index.native.tsx +5 -0
- package/src/List/index.ts +5 -0
- package/src/List/index.web.tsx +5 -0
- package/src/List/types.ts +42 -0
- package/src/Menu/Menu.native.tsx +150 -0
- package/src/Menu/Menu.styles.tsx +185 -0
- package/src/Menu/Menu.web.tsx +99 -0
- package/src/Menu/MenuItem.native.tsx +66 -0
- package/src/Menu/MenuItem.styles.tsx +119 -0
- package/src/Menu/MenuItem.web.tsx +67 -0
- package/src/Menu/index.native.ts +3 -0
- package/src/Menu/index.ts +3 -0
- package/src/Menu/index.web.ts +3 -0
- package/src/Menu/types.ts +30 -0
- package/src/Popover/Popover.native.tsx +102 -32
- package/src/Popover/Popover.styles.tsx +100 -67
- package/src/Popover/Popover.web.tsx +36 -260
- package/src/Popover/index.ts +5 -2
- package/src/Popover/index.web.ts +5 -2
- package/src/Popover/types.ts +14 -13
- package/src/Pressable/Pressable.native.tsx +7 -6
- package/src/Pressable/Pressable.web.tsx +8 -6
- package/src/Pressable/index.ts +5 -2
- package/src/Pressable/index.web.ts +5 -2
- package/src/Pressable/types.ts +11 -10
- package/src/Progress/Progress.native.tsx +179 -0
- package/src/Progress/Progress.styles.tsx +164 -0
- package/src/Progress/Progress.web.tsx +144 -0
- package/src/Progress/index.native.ts +1 -0
- package/src/Progress/index.ts +5 -0
- package/src/Progress/index.web.ts +5 -0
- package/src/Progress/types.ts +21 -0
- package/src/RadioButton/RadioButton.native.tsx +88 -0
- package/src/RadioButton/RadioButton.styles.tsx +163 -0
- package/src/RadioButton/RadioButton.web.tsx +85 -0
- package/src/RadioButton/RadioGroup.native.tsx +43 -0
- package/src/RadioButton/RadioGroup.web.tsx +49 -0
- package/src/RadioButton/index.native.ts +2 -0
- package/src/RadioButton/index.ts +2 -0
- package/src/RadioButton/index.web.ts +2 -0
- package/src/RadioButton/types.ts +29 -0
- package/src/SVGImage/SVGImage.native.tsx +9 -7
- package/src/SVGImage/SVGImage.styles.tsx +63 -55
- package/src/SVGImage/SVGImage.web.tsx +16 -13
- package/src/SVGImage/index.ts +5 -5
- package/src/SVGImage/index.web.ts +5 -2
- package/src/SVGImage/types.ts +7 -3
- package/src/Screen/Screen.native.tsx +43 -17
- package/src/Screen/Screen.styles.tsx +58 -54
- package/src/Screen/Screen.web.tsx +11 -5
- package/src/Screen/index.ts +5 -2
- package/src/Screen/index.web.ts +5 -2
- package/src/Screen/types.ts +23 -9
- package/src/Select/Select.native.tsx +140 -63
- package/src/Select/Select.styles.tsx +312 -302
- package/src/Select/Select.web.tsx +156 -316
- package/src/Select/index.ts +5 -2
- package/src/Select/index.web.ts +5 -2
- package/src/Select/types.ts +13 -7
- package/src/Skeleton/Skeleton.native.tsx +139 -0
- package/src/Skeleton/Skeleton.styles.tsx +59 -0
- package/src/Skeleton/Skeleton.web.tsx +112 -0
- package/src/Skeleton/index.native.ts +4 -0
- package/src/Skeleton/index.ts +5 -0
- package/src/Skeleton/index.web.ts +5 -0
- package/src/Skeleton/types.ts +75 -0
- package/src/Slider/Slider.native.tsx +248 -0
- package/src/Slider/Slider.styles.tsx +241 -0
- package/src/Slider/Slider.web.tsx +226 -0
- package/src/Slider/index.native.ts +3 -0
- package/src/Slider/index.ts +5 -0
- package/src/Slider/index.web.ts +5 -0
- package/src/Slider/types.ts +31 -0
- package/src/Switch/Switch.native.tsx +131 -0
- package/src/Switch/Switch.styles.tsx +169 -0
- package/src/Switch/Switch.web.tsx +121 -0
- package/src/Switch/index.native.ts +3 -0
- package/src/Switch/index.ts +5 -0
- package/src/Switch/index.web.ts +5 -0
- package/src/Switch/types.ts +21 -0
- package/src/TabBar/TabBar.native.tsx +142 -0
- package/src/TabBar/TabBar.styles.tsx +399 -0
- package/src/TabBar/TabBar.web.tsx +205 -0
- package/src/TabBar/index.native.tsx +3 -0
- package/src/TabBar/index.ts +3 -0
- package/src/TabBar/index.web.tsx +3 -0
- package/src/TabBar/types.ts +26 -0
- package/src/Table/Table.native.tsx +122 -0
- package/src/Table/Table.styles.tsx +283 -0
- package/src/Table/Table.web.tsx +112 -0
- package/src/Table/index.native.tsx +3 -0
- package/src/Table/index.ts +3 -0
- package/src/Table/index.web.tsx +3 -0
- package/src/Table/types.ts +28 -0
- package/src/Text/Text.native.tsx +12 -11
- package/src/Text/Text.styles.tsx +76 -64
- package/src/Text/Text.web.tsx +14 -9
- package/src/Text/index.ts +5 -5
- package/src/Text/index.web.ts +5 -3
- package/src/Text/types.ts +20 -13
- package/src/TextArea/TextArea.native.tsx +134 -0
- package/src/TextArea/TextArea.styles.tsx +175 -0
- package/src/TextArea/TextArea.web.tsx +156 -0
- package/src/TextArea/index.native.ts +3 -0
- package/src/TextArea/index.ts +3 -0
- package/src/TextArea/index.web.ts +3 -0
- package/src/TextArea/types.ts +30 -0
- package/src/Tooltip/Tooltip.native.tsx +165 -0
- package/src/Tooltip/Tooltip.styles.tsx +73 -0
- package/src/Tooltip/Tooltip.web.tsx +87 -0
- package/src/Tooltip/index.native.ts +3 -0
- package/src/Tooltip/index.ts +3 -0
- package/src/Tooltip/types.ts +18 -0
- package/src/Video/Video.native.tsx +105 -0
- package/src/Video/Video.styles.tsx +39 -0
- package/src/Video/Video.web.tsx +115 -0
- package/src/Video/index.native.ts +5 -0
- package/src/Video/index.ts +5 -0
- package/src/Video/types.ts +29 -0
- package/src/View/View.native.tsx +9 -14
- package/src/View/View.styles.tsx +101 -93
- package/src/View/View.web.tsx +16 -17
- package/src/View/index.ts +5 -5
- package/src/View/index.web.ts +5 -3
- package/src/View/types.ts +29 -21
- package/src/examples/AccordionExamples.tsx +126 -0
- package/src/examples/AlertExamples.tsx +280 -0
- package/src/examples/AvatarExamples.tsx +23 -23
- package/src/examples/BadgeExamples.tsx +109 -41
- package/src/examples/BreadcrumbExamples.tsx +312 -0
- package/src/examples/ButtonExamples.tsx +160 -33
- package/src/examples/CardExamples.tsx +40 -40
- package/src/examples/CheckboxExamples.tsx +12 -12
- package/src/examples/ChipExamples.tsx +197 -0
- package/src/examples/DialogExamples.tsx +22 -22
- package/src/examples/DividerExamples.tsx +49 -49
- package/src/examples/IconExamples.tsx +270 -54
- package/src/examples/ImageExamples.tsx +174 -0
- package/src/examples/InputExamples.tsx +75 -17
- package/src/examples/ListExamples.tsx +288 -0
- package/src/examples/MenuExamples.tsx +144 -0
- package/src/examples/PopoverExamples.tsx +69 -73
- package/src/examples/ProgressExamples.tsx +137 -0
- package/src/examples/RadioButtonExamples.tsx +161 -0
- package/src/examples/SVGImageExamples.tsx +19 -17
- package/src/examples/ScreenExamples.tsx +31 -31
- package/src/examples/SelectExamples.tsx +67 -67
- package/src/examples/SkeletonExamples.tsx +206 -0
- package/src/examples/SliderExamples.tsx +200 -0
- package/src/examples/SwitchExamples.tsx +182 -0
- package/src/examples/TabBarExamples.tsx +143 -0
- package/src/examples/TableExamples.tsx +280 -0
- package/src/examples/TextAreaExamples.tsx +173 -0
- package/src/examples/TextExamples.tsx +28 -32
- package/src/examples/ThemeExtensionExamples.tsx +10 -10
- package/src/examples/TooltipExamples.tsx +126 -0
- package/src/examples/VideoExamples.tsx +144 -0
- package/src/examples/ViewExamples.tsx +64 -56
- package/src/examples/index.ts +17 -3
- package/src/hooks/useMergeRefs.ts +16 -0
- package/src/hooks/useSmartPosition.native.ts +169 -0
- package/src/index.native.ts +80 -9
- package/src/index.ts +71 -1
- package/src/internal/BoundedModalContent.native.tsx +58 -0
- package/src/internal/PositionedPortal.tsx +254 -0
- package/src/internal/SafeAreaDebugOverlay.native.tsx +173 -0
- package/src/unistyles.d.ts +6 -0
- package/src/utils/buildSizeVariants.ts +16 -0
- package/src/utils/deepMerge.ts +43 -0
- package/src/utils/positionUtils.native.ts +280 -0
- package/src/utils/styleHelpers.ts +48 -0
- package/LLM-ACCESS-GUIDE.md +0 -143
- package/src/ActivityIndicator/README.md +0 -132
- package/src/Avatar/README.md +0 -139
- package/src/Badge/README.md +0 -170
- package/src/Button/Button.types.ts +0 -12
- package/src/Button/README.md +0 -262
- package/src/Card/README.md +0 -258
- package/src/Checkbox/README.md +0 -102
- package/src/Dialog/README.md +0 -210
- package/src/Divider/README.md +0 -108
- package/src/Icon/README.md +0 -81
- package/src/Input/README.md +0 -100
- package/src/SVGImage/README.md +0 -209
- package/src/Screen/README.md +0 -86
- package/src/Select/README.md +0 -166
- package/src/Text/README.md +0 -94
- package/src/View/README.md +0 -107
- package/src/examples/AllExamples.tsx +0 -88
- package/src/examples/README.md +0 -136
- package/src/examples/ValidationExamples.tsx +0 -95
- package/src/examples/extendedTheme.ts +0 -329
- package/src/theme/breakpoints.ts +0 -8
- package/src/theme/colorResolver.ts +0 -218
- package/src/theme/colors.ts +0 -315
- package/src/theme/defaultThemes.ts +0 -326
- package/src/theme/index.ts +0 -188
- package/src/theme/themeBuilder.ts +0 -602
- package/src/theme/unistyles.d.ts +0 -6
- package/src/theme/variantHelpers.ts +0 -584
- package/src/theme/variants.ts +0 -56
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { Screen, View, Button, Text } from '
|
|
2
|
+
import { Screen, View, Button, Text } from '@idealyst/components';
|
|
3
3
|
|
|
4
4
|
export const ButtonExamples = () => {
|
|
5
5
|
const handlePress = (buttonType: string) => {
|
|
@@ -7,32 +7,32 @@ export const ButtonExamples = () => {
|
|
|
7
7
|
};
|
|
8
8
|
|
|
9
9
|
return (
|
|
10
|
-
<Screen background="primary"
|
|
10
|
+
<Screen background="primary">
|
|
11
11
|
<View spacing="none">
|
|
12
|
-
<Text size="
|
|
12
|
+
<Text size="lg" weight="bold" align="center">
|
|
13
13
|
Button Examples
|
|
14
14
|
</Text>
|
|
15
15
|
|
|
16
16
|
{/* Button Variants */}
|
|
17
17
|
<View spacing="md">
|
|
18
|
-
<Text size="
|
|
18
|
+
<Text size="md" weight="semibold">Variants</Text>
|
|
19
19
|
<View style={{ flexDirection: 'row', gap: 12, flexWrap: 'wrap' }}>
|
|
20
20
|
<Button
|
|
21
|
-
|
|
21
|
+
type="contained"
|
|
22
22
|
intent="primary"
|
|
23
23
|
onPress={() => handlePress('contained')}
|
|
24
24
|
>
|
|
25
25
|
Contained
|
|
26
26
|
</Button>
|
|
27
27
|
<Button
|
|
28
|
-
|
|
28
|
+
type="outlined"
|
|
29
29
|
intent="primary"
|
|
30
30
|
onPress={() => handlePress('outlined')}
|
|
31
31
|
>
|
|
32
32
|
Outlined
|
|
33
33
|
</Button>
|
|
34
34
|
<Button
|
|
35
|
-
|
|
35
|
+
type="text"
|
|
36
36
|
intent="primary"
|
|
37
37
|
onPress={() => handlePress('text')}
|
|
38
38
|
>
|
|
@@ -43,29 +43,29 @@ export const ButtonExamples = () => {
|
|
|
43
43
|
|
|
44
44
|
{/* Button Sizes */}
|
|
45
45
|
<View spacing="md">
|
|
46
|
-
<Text size="
|
|
46
|
+
<Text size="md" weight="semibold">Sizes</Text>
|
|
47
47
|
<View style={{ flexDirection: 'row', gap: 12, flexWrap: 'wrap', alignItems: 'center' }}>
|
|
48
|
-
<Button
|
|
49
|
-
size="
|
|
50
|
-
|
|
48
|
+
<Button
|
|
49
|
+
size="sm"
|
|
50
|
+
type="contained"
|
|
51
51
|
intent="primary"
|
|
52
|
-
onPress={() => handlePress('
|
|
52
|
+
onPress={() => handlePress('sm')}
|
|
53
53
|
>
|
|
54
54
|
Small
|
|
55
55
|
</Button>
|
|
56
|
-
<Button
|
|
57
|
-
size="
|
|
58
|
-
|
|
56
|
+
<Button
|
|
57
|
+
size="md"
|
|
58
|
+
type="contained"
|
|
59
59
|
intent="primary"
|
|
60
|
-
onPress={() => handlePress('
|
|
60
|
+
onPress={() => handlePress('md')}
|
|
61
61
|
>
|
|
62
62
|
Medium
|
|
63
63
|
</Button>
|
|
64
|
-
<Button
|
|
65
|
-
size="
|
|
66
|
-
|
|
64
|
+
<Button
|
|
65
|
+
size="lg"
|
|
66
|
+
type="contained"
|
|
67
67
|
intent="primary"
|
|
68
|
-
onPress={() => handlePress('
|
|
68
|
+
onPress={() => handlePress('lg')}
|
|
69
69
|
>
|
|
70
70
|
Large
|
|
71
71
|
</Button>
|
|
@@ -74,39 +74,39 @@ export const ButtonExamples = () => {
|
|
|
74
74
|
|
|
75
75
|
{/* Button Intents */}
|
|
76
76
|
<View spacing="md">
|
|
77
|
-
<Text size="
|
|
77
|
+
<Text size="md" weight="semibold">Intents</Text>
|
|
78
78
|
<View style={{ flexDirection: 'row', gap: 12, flexWrap: 'wrap' }}>
|
|
79
79
|
<Button
|
|
80
80
|
intent="primary"
|
|
81
|
-
|
|
81
|
+
type="contained"
|
|
82
82
|
onPress={() => handlePress('primary')}
|
|
83
83
|
>
|
|
84
84
|
Primary
|
|
85
85
|
</Button>
|
|
86
86
|
<Button
|
|
87
87
|
intent="neutral"
|
|
88
|
-
|
|
88
|
+
type="contained"
|
|
89
89
|
onPress={() => handlePress('neutral')}
|
|
90
90
|
>
|
|
91
91
|
Neutral
|
|
92
92
|
</Button>
|
|
93
93
|
<Button
|
|
94
94
|
intent="success"
|
|
95
|
-
|
|
95
|
+
type="contained"
|
|
96
96
|
onPress={() => handlePress('success')}
|
|
97
97
|
>
|
|
98
98
|
Success
|
|
99
99
|
</Button>
|
|
100
100
|
<Button
|
|
101
101
|
intent="error"
|
|
102
|
-
|
|
102
|
+
type="contained"
|
|
103
103
|
onPress={() => handlePress('error')}
|
|
104
104
|
>
|
|
105
105
|
Error
|
|
106
106
|
</Button>
|
|
107
107
|
<Button
|
|
108
108
|
intent="warning"
|
|
109
|
-
|
|
109
|
+
type="contained"
|
|
110
110
|
onPress={() => handlePress('warning')}
|
|
111
111
|
>
|
|
112
112
|
Warning
|
|
@@ -116,26 +116,26 @@ export const ButtonExamples = () => {
|
|
|
116
116
|
|
|
117
117
|
{/* Disabled States */}
|
|
118
118
|
<View spacing="md">
|
|
119
|
-
<Text size="
|
|
119
|
+
<Text size="md" weight="semibold">Disabled States</Text>
|
|
120
120
|
<View style={{ flexDirection: 'row', gap: 12, flexWrap: 'wrap' }}>
|
|
121
|
-
<Button
|
|
122
|
-
|
|
121
|
+
<Button
|
|
122
|
+
type="contained"
|
|
123
123
|
intent="primary"
|
|
124
124
|
disabled
|
|
125
125
|
onPress={() => handlePress('disabled-contained')}
|
|
126
126
|
>
|
|
127
127
|
Disabled Contained
|
|
128
128
|
</Button>
|
|
129
|
-
<Button
|
|
130
|
-
|
|
129
|
+
<Button
|
|
130
|
+
type="outlined"
|
|
131
131
|
intent="primary"
|
|
132
132
|
disabled
|
|
133
133
|
onPress={() => handlePress('disabled-outlined')}
|
|
134
134
|
>
|
|
135
135
|
Disabled Outlined
|
|
136
136
|
</Button>
|
|
137
|
-
<Button
|
|
138
|
-
|
|
137
|
+
<Button
|
|
138
|
+
type="text"
|
|
139
139
|
intent="primary"
|
|
140
140
|
disabled
|
|
141
141
|
onPress={() => handlePress('disabled-text')}
|
|
@@ -144,6 +144,133 @@ export const ButtonExamples = () => {
|
|
|
144
144
|
</Button>
|
|
145
145
|
</View>
|
|
146
146
|
</View>
|
|
147
|
+
|
|
148
|
+
{/* Buttons with Icons */}
|
|
149
|
+
<View spacing="md">
|
|
150
|
+
<Text size="md" weight="semibold">Buttons with Icons</Text>
|
|
151
|
+
<View style={{ flexDirection: 'row', gap: 12, flexWrap: 'wrap' }}>
|
|
152
|
+
<Button
|
|
153
|
+
type="contained"
|
|
154
|
+
intent="primary"
|
|
155
|
+
leftIcon="plus"
|
|
156
|
+
onPress={() => handlePress('icon-left')}
|
|
157
|
+
>
|
|
158
|
+
Add Item
|
|
159
|
+
</Button>
|
|
160
|
+
<Button
|
|
161
|
+
type="contained"
|
|
162
|
+
intent="success"
|
|
163
|
+
rightIcon="check"
|
|
164
|
+
onPress={() => handlePress('icon-right')}
|
|
165
|
+
>
|
|
166
|
+
Save
|
|
167
|
+
</Button>
|
|
168
|
+
<Button
|
|
169
|
+
type="contained"
|
|
170
|
+
intent="error"
|
|
171
|
+
leftIcon="delete"
|
|
172
|
+
rightIcon="alert"
|
|
173
|
+
onPress={() => handlePress('icon-both')}
|
|
174
|
+
>
|
|
175
|
+
Delete
|
|
176
|
+
</Button>
|
|
177
|
+
<Button
|
|
178
|
+
type="outlined"
|
|
179
|
+
intent="primary"
|
|
180
|
+
leftIcon="download"
|
|
181
|
+
onPress={() => handlePress('icon-outlined')}
|
|
182
|
+
>
|
|
183
|
+
Download
|
|
184
|
+
</Button>
|
|
185
|
+
<Button
|
|
186
|
+
type="text"
|
|
187
|
+
intent="primary"
|
|
188
|
+
leftIcon="pencil"
|
|
189
|
+
onPress={() => handlePress('icon-text')}
|
|
190
|
+
>
|
|
191
|
+
Edit
|
|
192
|
+
</Button>
|
|
193
|
+
</View>
|
|
194
|
+
</View>
|
|
195
|
+
|
|
196
|
+
{/* Icon-only Buttons */}
|
|
197
|
+
<View spacing="md">
|
|
198
|
+
<Text size="md" weight="semibold">Icon-only Buttons</Text>
|
|
199
|
+
<View style={{ flexDirection: 'row', gap: 12, flexWrap: 'wrap', alignItems: 'center' }}>
|
|
200
|
+
<Button
|
|
201
|
+
type="contained"
|
|
202
|
+
intent="primary"
|
|
203
|
+
leftIcon="home"
|
|
204
|
+
size="sm"
|
|
205
|
+
onPress={() => handlePress('icon-only-small')}
|
|
206
|
+
/>
|
|
207
|
+
<Button
|
|
208
|
+
type="contained"
|
|
209
|
+
intent="primary"
|
|
210
|
+
leftIcon="cog"
|
|
211
|
+
size="md"
|
|
212
|
+
onPress={() => handlePress('icon-only-medium')}
|
|
213
|
+
/>
|
|
214
|
+
<Button
|
|
215
|
+
type="contained"
|
|
216
|
+
intent="primary"
|
|
217
|
+
leftIcon="heart"
|
|
218
|
+
size="lg"
|
|
219
|
+
onPress={() => handlePress('icon-only-large')}
|
|
220
|
+
/>
|
|
221
|
+
<Button
|
|
222
|
+
type="outlined"
|
|
223
|
+
intent="success"
|
|
224
|
+
leftIcon="check-circle"
|
|
225
|
+
onPress={() => handlePress('icon-only-outlined')}
|
|
226
|
+
/>
|
|
227
|
+
<Button
|
|
228
|
+
type="text"
|
|
229
|
+
intent="error"
|
|
230
|
+
leftIcon="close-circle"
|
|
231
|
+
onPress={() => handlePress('icon-only-text')}
|
|
232
|
+
/>
|
|
233
|
+
</View>
|
|
234
|
+
</View>
|
|
235
|
+
|
|
236
|
+
{/* Different Intents with Icons */}
|
|
237
|
+
<View spacing="md">
|
|
238
|
+
<Text size="md" weight="semibold">Icons with Different Intents</Text>
|
|
239
|
+
<View style={{ flexDirection: 'row', gap: 12, flexWrap: 'wrap' }}>
|
|
240
|
+
<Button
|
|
241
|
+
type="contained"
|
|
242
|
+
intent="primary"
|
|
243
|
+
leftIcon="information"
|
|
244
|
+
onPress={() => handlePress('info')}
|
|
245
|
+
>
|
|
246
|
+
Info
|
|
247
|
+
</Button>
|
|
248
|
+
<Button
|
|
249
|
+
type="contained"
|
|
250
|
+
intent="success"
|
|
251
|
+
leftIcon="check-circle"
|
|
252
|
+
onPress={() => handlePress('success')}
|
|
253
|
+
>
|
|
254
|
+
Success
|
|
255
|
+
</Button>
|
|
256
|
+
<Button
|
|
257
|
+
type="contained"
|
|
258
|
+
intent="warning"
|
|
259
|
+
leftIcon="alert"
|
|
260
|
+
onPress={() => handlePress('warning')}
|
|
261
|
+
>
|
|
262
|
+
Warning
|
|
263
|
+
</Button>
|
|
264
|
+
<Button
|
|
265
|
+
type="contained"
|
|
266
|
+
intent="error"
|
|
267
|
+
leftIcon="alert-circle"
|
|
268
|
+
onPress={() => handlePress('error')}
|
|
269
|
+
>
|
|
270
|
+
Error
|
|
271
|
+
</Button>
|
|
272
|
+
</View>
|
|
273
|
+
</View>
|
|
147
274
|
</View>
|
|
148
275
|
</Screen>
|
|
149
276
|
);
|
|
@@ -9,38 +9,38 @@ export const CardExamples = () => {
|
|
|
9
9
|
return (
|
|
10
10
|
<Screen background="primary" padding="lg">
|
|
11
11
|
<View spacing="none">
|
|
12
|
-
<Text size="
|
|
12
|
+
<Text size="lg" weight="bold" align="center">
|
|
13
13
|
Card Examples
|
|
14
14
|
</Text>
|
|
15
15
|
|
|
16
16
|
{/* Card Variants */}
|
|
17
17
|
<View spacing="md">
|
|
18
|
-
<Text size="
|
|
18
|
+
<Text size="md" weight="semibold">Variants</Text>
|
|
19
19
|
<View spacing="sm" style={{ gap: 10 }}>
|
|
20
|
-
<Card
|
|
20
|
+
<Card type="default" padding="md">
|
|
21
21
|
<Text>Default Card</Text>
|
|
22
|
-
<Text size="
|
|
22
|
+
<Text size="sm" color="secondary">
|
|
23
23
|
This is a default card with standard styling
|
|
24
24
|
</Text>
|
|
25
25
|
</Card>
|
|
26
26
|
|
|
27
|
-
<Card
|
|
27
|
+
<Card type="outlined" padding="md">
|
|
28
28
|
<Text>Outlined Card</Text>
|
|
29
|
-
<Text size="
|
|
29
|
+
<Text size="sm" color="secondary">
|
|
30
30
|
This is an outlined card with border
|
|
31
31
|
</Text>
|
|
32
32
|
</Card>
|
|
33
33
|
|
|
34
|
-
<Card
|
|
34
|
+
<Card type="elevated" padding="md">
|
|
35
35
|
<Text>Elevated Card</Text>
|
|
36
|
-
<Text size="
|
|
36
|
+
<Text size="sm" color="secondary">
|
|
37
37
|
This is an elevated card with shadow
|
|
38
38
|
</Text>
|
|
39
39
|
</Card>
|
|
40
40
|
|
|
41
|
-
<Card
|
|
41
|
+
<Card type="filled" padding="md">
|
|
42
42
|
<Text>Filled Card</Text>
|
|
43
|
-
<Text size="
|
|
43
|
+
<Text size="sm" color="secondary">
|
|
44
44
|
This is a filled card with background
|
|
45
45
|
</Text>
|
|
46
46
|
</Card>
|
|
@@ -49,29 +49,29 @@ export const CardExamples = () => {
|
|
|
49
49
|
|
|
50
50
|
{/* Card Intents */}
|
|
51
51
|
<View spacing="md">
|
|
52
|
-
<Text size="
|
|
52
|
+
<Text size="md" weight="semibold">Intents</Text>
|
|
53
53
|
<View spacing="sm" style={{ gap: 10 }}>
|
|
54
|
-
<Card intent="neutral" padding="
|
|
54
|
+
<Card intent="neutral" padding="md" type="outlined">
|
|
55
55
|
<Text>Neutral Card</Text>
|
|
56
56
|
</Card>
|
|
57
57
|
|
|
58
|
-
<Card intent="primary" padding="
|
|
58
|
+
<Card intent="primary" padding="md" type="outlined">
|
|
59
59
|
<Text>Primary Card</Text>
|
|
60
60
|
</Card>
|
|
61
61
|
|
|
62
|
-
<Card intent="success" padding="
|
|
62
|
+
<Card intent="success" padding="md" type="outlined">
|
|
63
63
|
<Text>Success Card</Text>
|
|
64
64
|
</Card>
|
|
65
65
|
|
|
66
|
-
<Card intent="error" padding="
|
|
66
|
+
<Card intent="error" padding="md" type="outlined">
|
|
67
67
|
<Text>Error Card</Text>
|
|
68
68
|
</Card>
|
|
69
69
|
|
|
70
|
-
<Card intent="warning" padding="
|
|
70
|
+
<Card intent="warning" padding="md" type="outlined">
|
|
71
71
|
<Text>Warning Card</Text>
|
|
72
72
|
</Card>
|
|
73
73
|
|
|
74
|
-
<Card intent="info" padding="
|
|
74
|
+
<Card intent="info" padding="md" type="outlined">
|
|
75
75
|
<Text>Info Card</Text>
|
|
76
76
|
</Card>
|
|
77
77
|
</View>
|
|
@@ -79,21 +79,21 @@ export const CardExamples = () => {
|
|
|
79
79
|
|
|
80
80
|
{/* Card Padding */}
|
|
81
81
|
<View spacing="md">
|
|
82
|
-
<Text size="
|
|
82
|
+
<Text size="md" weight="semibold">Padding</Text>
|
|
83
83
|
<View spacing="sm">
|
|
84
|
-
<Card padding="none"
|
|
84
|
+
<Card padding="none" type="outlined">
|
|
85
85
|
<Text>No Padding</Text>
|
|
86
86
|
</Card>
|
|
87
87
|
|
|
88
|
-
<Card padding="
|
|
88
|
+
<Card padding="sm" type="outlined">
|
|
89
89
|
<Text>Small Padding</Text>
|
|
90
90
|
</Card>
|
|
91
91
|
|
|
92
|
-
<Card padding="
|
|
92
|
+
<Card padding="md" type="outlined">
|
|
93
93
|
<Text>Medium Padding</Text>
|
|
94
94
|
</Card>
|
|
95
95
|
|
|
96
|
-
<Card padding="
|
|
96
|
+
<Card padding="lg" type="outlined">
|
|
97
97
|
<Text>Large Padding</Text>
|
|
98
98
|
</Card>
|
|
99
99
|
</View>
|
|
@@ -101,21 +101,21 @@ export const CardExamples = () => {
|
|
|
101
101
|
|
|
102
102
|
{/* Card Radius */}
|
|
103
103
|
<View spacing="md">
|
|
104
|
-
<Text size="
|
|
104
|
+
<Text size="md" weight="semibold">Border Radius</Text>
|
|
105
105
|
<View spacing="sm">
|
|
106
|
-
<Card radius="none"
|
|
106
|
+
<Card radius="none" type="outlined" padding="md">
|
|
107
107
|
<Text>No Radius</Text>
|
|
108
108
|
</Card>
|
|
109
109
|
|
|
110
|
-
<Card radius="
|
|
110
|
+
<Card radius="sm" type="outlined" padding="md">
|
|
111
111
|
<Text>Small Radius</Text>
|
|
112
112
|
</Card>
|
|
113
113
|
|
|
114
|
-
<Card radius="
|
|
114
|
+
<Card radius="md" type="outlined" padding="md">
|
|
115
115
|
<Text>Medium Radius</Text>
|
|
116
116
|
</Card>
|
|
117
117
|
|
|
118
|
-
<Card radius="
|
|
118
|
+
<Card radius="lg" type="outlined" padding="md">
|
|
119
119
|
<Text>Large Radius</Text>
|
|
120
120
|
</Card>
|
|
121
121
|
</View>
|
|
@@ -123,16 +123,16 @@ export const CardExamples = () => {
|
|
|
123
123
|
|
|
124
124
|
{/* Clickable Cards */}
|
|
125
125
|
<View spacing="md">
|
|
126
|
-
<Text size="
|
|
126
|
+
<Text size="md" weight="semibold">Interactive Cards</Text>
|
|
127
127
|
<View spacing="sm">
|
|
128
128
|
<Card
|
|
129
129
|
clickable
|
|
130
130
|
onPress={() => handleCardPress('clickable')}
|
|
131
|
-
|
|
132
|
-
padding="
|
|
131
|
+
type="outlined"
|
|
132
|
+
padding="md"
|
|
133
133
|
>
|
|
134
134
|
<Text weight="semibold">Clickable Card</Text>
|
|
135
|
-
<Text size="
|
|
135
|
+
<Text size="sm" color="secondary">
|
|
136
136
|
Click me to see interaction
|
|
137
137
|
</Text>
|
|
138
138
|
</Card>
|
|
@@ -141,11 +141,11 @@ export const CardExamples = () => {
|
|
|
141
141
|
clickable
|
|
142
142
|
disabled
|
|
143
143
|
onPress={() => handleCardPress('disabled')}
|
|
144
|
-
|
|
145
|
-
padding="
|
|
144
|
+
type="outlined"
|
|
145
|
+
padding="md"
|
|
146
146
|
>
|
|
147
147
|
<Text weight="semibold">Disabled Card</Text>
|
|
148
|
-
<Text size="
|
|
148
|
+
<Text size="sm" color="secondary">
|
|
149
149
|
This card is disabled
|
|
150
150
|
</Text>
|
|
151
151
|
</Card>
|
|
@@ -154,17 +154,17 @@ export const CardExamples = () => {
|
|
|
154
154
|
|
|
155
155
|
{/* Complex Card Layout */}
|
|
156
156
|
<View spacing="md">
|
|
157
|
-
<Text size="
|
|
158
|
-
<Card
|
|
159
|
-
<Text size="
|
|
160
|
-
<Text size="
|
|
157
|
+
<Text size="md" weight="semibold">Complex Layout</Text>
|
|
158
|
+
<Card type="elevated" padding="lg" radius="md">
|
|
159
|
+
<Text size="lg" weight="bold">Product Card</Text>
|
|
160
|
+
<Text size="sm" color="secondary" style={{ marginVertical: 8 }}>
|
|
161
161
|
This is a more complex card layout with multiple elements
|
|
162
162
|
</Text>
|
|
163
163
|
<View style={{ flexDirection: 'row', gap: 8, marginTop: 12 }}>
|
|
164
|
-
<Button size="
|
|
164
|
+
<Button size="sm" type="contained" intent="primary">
|
|
165
165
|
Buy Now
|
|
166
166
|
</Button>
|
|
167
|
-
<Button size="
|
|
167
|
+
<Button size="sm" type="outlined" intent="neutral">
|
|
168
168
|
Add to Cart
|
|
169
169
|
</Button>
|
|
170
170
|
</View>
|
|
@@ -11,13 +11,13 @@ export const CheckboxExamples = () => {
|
|
|
11
11
|
return (
|
|
12
12
|
<Screen background="primary" padding="lg">
|
|
13
13
|
<View spacing="none">
|
|
14
|
-
<Text size="
|
|
14
|
+
<Text size="lg" weight="bold" align="center">
|
|
15
15
|
Checkbox Examples
|
|
16
16
|
</Text>
|
|
17
17
|
|
|
18
18
|
{/* Basic Checkbox */}
|
|
19
19
|
<View spacing="md">
|
|
20
|
-
<Text size="
|
|
20
|
+
<Text size="md" weight="semibold">Basic Checkbox</Text>
|
|
21
21
|
<View spacing="sm" style={{ gap: 10 }}>
|
|
22
22
|
<Checkbox
|
|
23
23
|
checked={basicChecked}
|
|
@@ -39,22 +39,22 @@ export const CheckboxExamples = () => {
|
|
|
39
39
|
|
|
40
40
|
{/* Checkbox Sizes */}
|
|
41
41
|
<View spacing="md">
|
|
42
|
-
<Text size="
|
|
42
|
+
<Text size="md" weight="semibold">Sizes</Text>
|
|
43
43
|
<View spacing="sm" style={{ gap: 10 }}>
|
|
44
44
|
<Checkbox
|
|
45
|
-
size="
|
|
45
|
+
size="sm"
|
|
46
46
|
checked={true}
|
|
47
47
|
onCheckedChange={() => {}}
|
|
48
48
|
label="Small checkbox"
|
|
49
49
|
/>
|
|
50
50
|
<Checkbox
|
|
51
|
-
size="
|
|
51
|
+
size="md"
|
|
52
52
|
checked={true}
|
|
53
53
|
onCheckedChange={() => {}}
|
|
54
54
|
label="Medium checkbox"
|
|
55
55
|
/>
|
|
56
56
|
<Checkbox
|
|
57
|
-
size="
|
|
57
|
+
size="lg"
|
|
58
58
|
checked={true}
|
|
59
59
|
onCheckedChange={() => {}}
|
|
60
60
|
label="Large checkbox"
|
|
@@ -64,7 +64,7 @@ export const CheckboxExamples = () => {
|
|
|
64
64
|
|
|
65
65
|
{/* Checkbox Intents */}
|
|
66
66
|
<View spacing="md">
|
|
67
|
-
<Text size="
|
|
67
|
+
<Text size="md" weight="semibold">Intents</Text>
|
|
68
68
|
<View spacing="sm" style={{ gap: 10 }}>
|
|
69
69
|
<Checkbox
|
|
70
70
|
intent="primary"
|
|
@@ -107,7 +107,7 @@ export const CheckboxExamples = () => {
|
|
|
107
107
|
|
|
108
108
|
{/* Checkbox Variants */}
|
|
109
109
|
<View spacing="md">
|
|
110
|
-
<Text size="
|
|
110
|
+
<Text size="md" weight="semibold">Variants</Text>
|
|
111
111
|
<View spacing="sm" style={{ gap: 10 }}>
|
|
112
112
|
<Checkbox
|
|
113
113
|
variant="default"
|
|
@@ -126,7 +126,7 @@ export const CheckboxExamples = () => {
|
|
|
126
126
|
|
|
127
127
|
{/* Checkbox States */}
|
|
128
128
|
<View spacing="md">
|
|
129
|
-
<Text size="
|
|
129
|
+
<Text size="md" weight="semibold">States</Text>
|
|
130
130
|
<View spacing="sm" style={{ gap: 10 }}>
|
|
131
131
|
<Checkbox
|
|
132
132
|
checked={false}
|
|
@@ -161,7 +161,7 @@ export const CheckboxExamples = () => {
|
|
|
161
161
|
|
|
162
162
|
{/* Checkbox with Custom Children */}
|
|
163
163
|
<View spacing="md">
|
|
164
|
-
<Text size="
|
|
164
|
+
<Text size="md" weight="semibold">Custom Content</Text>
|
|
165
165
|
<View spacing="sm" style={{ gap: 10 }}>
|
|
166
166
|
<Checkbox
|
|
167
167
|
checked={true}
|
|
@@ -177,7 +177,7 @@ export const CheckboxExamples = () => {
|
|
|
177
177
|
>
|
|
178
178
|
<View>
|
|
179
179
|
<Text weight="semibold">Multi-line Label</Text>
|
|
180
|
-
<Text size="
|
|
180
|
+
<Text size="sm" color="secondary">
|
|
181
181
|
This checkbox has a more complex label with multiple lines
|
|
182
182
|
</Text>
|
|
183
183
|
</View>
|
|
@@ -187,7 +187,7 @@ export const CheckboxExamples = () => {
|
|
|
187
187
|
|
|
188
188
|
{/* Checkbox with Helper Text and Errors */}
|
|
189
189
|
<View spacing="md">
|
|
190
|
-
<Text size="
|
|
190
|
+
<Text size="md" weight="semibold">With Helper Text</Text>
|
|
191
191
|
<View spacing="sm" style={{ gap: 10 }}>
|
|
192
192
|
<Checkbox
|
|
193
193
|
checked={true}
|