@idealyst/components 1.0.24 → 1.0.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. package/README.md +567 -567
  2. package/package.json +2 -2
  3. package/plugin/web.js +319 -185
  4. package/src/Avatar/Avatar.native.tsx +43 -43
  5. package/src/Avatar/Avatar.styles.tsx +66 -66
  6. package/src/Avatar/Avatar.web.tsx +50 -50
  7. package/src/Avatar/index.native.ts +1 -1
  8. package/src/Avatar/index.ts +1 -1
  9. package/src/Avatar/index.web.ts +1 -1
  10. package/src/Avatar/types.ts +42 -42
  11. package/src/Badge/Badge.native.tsx +42 -42
  12. package/src/Badge/Badge.styles.tsx +153 -153
  13. package/src/Badge/Badge.web.tsx +44 -44
  14. package/src/Badge/index.native.ts +1 -1
  15. package/src/Badge/index.ts +1 -1
  16. package/src/Badge/index.web.ts +1 -1
  17. package/src/Badge/types.ts +33 -33
  18. package/src/Button/Button.native.tsx +38 -38
  19. package/src/Button/Button.styles.tsx +214 -214
  20. package/src/Button/Button.types.ts +11 -11
  21. package/src/Button/Button.web.tsx +55 -55
  22. package/src/Button/index.native.ts +2 -2
  23. package/src/Button/index.ts +4 -4
  24. package/src/Button/index.web.ts +2 -2
  25. package/src/Button/types.ts +48 -48
  26. package/src/Card/Card.native.tsx +51 -51
  27. package/src/Card/Card.styles.tsx +239 -239
  28. package/src/Card/Card.web.tsx +61 -61
  29. package/src/Card/index.native.ts +2 -2
  30. package/src/Card/index.ts +4 -4
  31. package/src/Card/index.web.ts +2 -2
  32. package/src/Card/types.ts +58 -58
  33. package/src/Checkbox/Checkbox.native.tsx +98 -98
  34. package/src/Checkbox/Checkbox.styles.tsx +291 -291
  35. package/src/Checkbox/Checkbox.web.tsx +130 -130
  36. package/src/Checkbox/index.native.ts +2 -2
  37. package/src/Checkbox/index.ts +4 -4
  38. package/src/Checkbox/index.web.ts +2 -2
  39. package/src/Checkbox/types.ts +78 -78
  40. package/src/Divider/Divider.native.tsx +144 -144
  41. package/src/Divider/Divider.styles.tsx +601 -601
  42. package/src/Divider/Divider.web.tsx +72 -72
  43. package/src/Divider/index.native.ts +2 -2
  44. package/src/Divider/index.ts +4 -4
  45. package/src/Divider/index.web.ts +2 -2
  46. package/src/Divider/types.ts +53 -53
  47. package/src/Icon/Icon.native.tsx +38 -38
  48. package/src/Icon/Icon.styles.tsx +49 -49
  49. package/src/Icon/Icon.web.tsx +46 -46
  50. package/src/Icon/icon-types.ts +7452 -7452
  51. package/src/Icon/index.native.ts +2 -2
  52. package/src/Icon/index.ts +4 -4
  53. package/src/Icon/index.web.ts +2 -2
  54. package/src/Icon/types.ts +35 -35
  55. package/src/Input/Input.native.tsx +74 -74
  56. package/src/Input/Input.styles.tsx +176 -176
  57. package/src/Input/Input.web.tsx +70 -70
  58. package/src/Input/index.native.ts +2 -2
  59. package/src/Input/index.ts +4 -4
  60. package/src/Input/index.web.ts +2 -2
  61. package/src/Input/types.ts +68 -68
  62. package/src/Screen/Screen.native.tsx +40 -40
  63. package/src/Screen/Screen.styles.tsx +59 -59
  64. package/src/Screen/Screen.web.tsx +32 -32
  65. package/src/Screen/index.native.ts +1 -1
  66. package/src/Screen/index.ts +1 -1
  67. package/src/Screen/index.web.ts +1 -1
  68. package/src/Screen/types.ts +37 -37
  69. package/src/Text/Text.native.tsx +35 -35
  70. package/src/Text/Text.styles.tsx +66 -66
  71. package/src/Text/Text.web.tsx +40 -40
  72. package/src/Text/index.native.ts +2 -2
  73. package/src/Text/index.ts +4 -4
  74. package/src/Text/index.web.ts +2 -2
  75. package/src/Text/types.ts +38 -38
  76. package/src/View/View.native.tsx +55 -55
  77. package/src/View/View.styles.tsx +102 -102
  78. package/src/View/View.web.tsx +59 -59
  79. package/src/View/index.native.ts +2 -2
  80. package/src/View/index.ts +4 -4
  81. package/src/View/index.web.ts +2 -2
  82. package/src/View/types.ts +72 -72
  83. package/src/examples/AllExamples.tsx +71 -71
  84. package/src/examples/AvatarExamples.tsx +96 -96
  85. package/src/examples/BadgeExamples.tsx +199 -199
  86. package/src/examples/ButtonExamples.tsx +149 -149
  87. package/src/examples/CardExamples.tsx +175 -175
  88. package/src/examples/CheckboxExamples.tsx +216 -216
  89. package/src/examples/DividerExamples.tsx +217 -217
  90. package/src/examples/IconExamples.tsx +341 -341
  91. package/src/examples/InputExamples.tsx +133 -133
  92. package/src/examples/README.md +135 -135
  93. package/src/examples/ScreenExamples.tsx +153 -153
  94. package/src/examples/TextExamples.tsx +88 -88
  95. package/src/examples/ThemeExtensionExamples.tsx +90 -90
  96. package/src/examples/ValidationExamples.tsx +94 -94
  97. package/src/examples/ViewExamples.tsx +128 -128
  98. package/src/examples/extendedTheme.ts +328 -328
  99. package/src/examples/index.ts +14 -14
  100. package/src/index.native.ts +48 -48
  101. package/src/index.ts +47 -47
  102. package/src/theme/breakpoints.ts +8 -8
  103. package/src/theme/colorResolver.ts +217 -217
  104. package/src/theme/colors.ts +314 -314
  105. package/src/theme/defaultThemes.ts +325 -325
  106. package/src/theme/index.ts +187 -187
  107. package/src/theme/themeBuilder.ts +601 -601
  108. package/src/theme/unistyles.d.ts +5 -5
  109. package/src/theme/variantHelpers.ts +583 -583
  110. package/src/theme/variants.ts +55 -55
@@ -1,134 +1,134 @@
1
- import React, { useState } from 'react';
2
- import { Screen, View, Text, Input } from '../index';
3
-
4
- export const InputExamples = () => {
5
- const [textValue, setTextValue] = useState('');
6
- const [emailValue, setEmailValue] = useState('');
7
- const [passwordValue, setPasswordValue] = useState('');
8
- const [numberValue, setNumberValue] = useState('');
9
-
10
- return (
11
- <Screen background="primary" padding="lg">
12
- <View spacing="none">
13
- <Text size="large" weight="bold" align="center">
14
- Input Examples
15
- </Text>
16
-
17
- {/* Input Types */}
18
- <View spacing="md">
19
- <Text size="medium" weight="semibold">Input Types</Text>
20
- <View spacing="sm" style={{ gap: 10 }}>
21
- <Input
22
- value={textValue}
23
- onChangeText={setTextValue}
24
- placeholder="Text input"
25
- inputType="text"
26
- />
27
- <Input
28
- value={emailValue}
29
- onChangeText={setEmailValue}
30
- placeholder="Email input"
31
- inputType="email"
32
- />
33
- <Input
34
- value={passwordValue}
35
- onChangeText={setPasswordValue}
36
- placeholder="Password input"
37
- inputType="password"
38
- secureTextEntry
39
- />
40
- <Input
41
- value={numberValue}
42
- onChangeText={setNumberValue}
43
- placeholder="Number input"
44
- inputType="number"
45
- />
46
- </View>
47
- </View>
48
-
49
- {/* Input Sizes */}
50
- <View spacing="md">
51
- <Text size="medium" weight="semibold">Sizes</Text>
52
- <View spacing="sm" style={{ gap: 10 }}>
53
- <Input
54
- placeholder="Small input"
55
- size="small"
56
- />
57
- <Input
58
- placeholder="Medium input"
59
- size="medium"
60
- />
61
- <Input
62
- placeholder="Large input"
63
- size="large"
64
- />
65
- </View>
66
- </View>
67
-
68
- {/* Input Variants */}
69
- <View spacing="md">
70
- <Text size="medium" weight="semibold">Variants</Text>
71
- <View spacing="sm" style={{ gap: 10 }}>
72
- <Input
73
- placeholder="Default variant"
74
- variant="default"
75
- />
76
- <Input
77
- placeholder="Outlined variant"
78
- variant="outlined"
79
- />
80
- <Input
81
- placeholder="Filled variant"
82
- variant="filled"
83
- />
84
- </View>
85
- </View>
86
-
87
- {/* Input States */}
88
- <View spacing="md">
89
- <Text size="medium" weight="semibold">States</Text>
90
- <View spacing="sm" style={{ gap: 10 }}>
91
- <Input
92
- placeholder="Normal state"
93
- />
94
- <Input
95
- placeholder="Disabled state"
96
- disabled
97
- />
98
- <Input
99
- placeholder="Error state"
100
- hasError
101
- />
102
- <Input
103
- value="Pre-filled value"
104
- onChangeText={() => {}}
105
- />
106
- </View>
107
- </View>
108
-
109
- {/* Auto-capitalization Examples */}
110
- <View spacing="md">
111
- <Text size="medium" weight="semibold">Auto-capitalization</Text>
112
- <View spacing="sm" style={{ gap: 10 }}>
113
- <Input
114
- placeholder="No capitalization"
115
- autoCapitalize="none"
116
- />
117
- <Input
118
- placeholder="Sentences capitalization"
119
- autoCapitalize="sentences"
120
- />
121
- <Input
122
- placeholder="Words capitalization"
123
- autoCapitalize="words"
124
- />
125
- <Input
126
- placeholder="Characters capitalization"
127
- autoCapitalize="characters"
128
- />
129
- </View>
130
- </View>
131
- </View>
132
- </Screen>
133
- );
1
+ import React, { useState } from 'react';
2
+ import { Screen, View, Text, Input } from '../index';
3
+
4
+ export const InputExamples = () => {
5
+ const [textValue, setTextValue] = useState('');
6
+ const [emailValue, setEmailValue] = useState('');
7
+ const [passwordValue, setPasswordValue] = useState('');
8
+ const [numberValue, setNumberValue] = useState('');
9
+
10
+ return (
11
+ <Screen background="primary" padding="lg">
12
+ <View spacing="none">
13
+ <Text size="large" weight="bold" align="center">
14
+ Input Examples
15
+ </Text>
16
+
17
+ {/* Input Types */}
18
+ <View spacing="md">
19
+ <Text size="medium" weight="semibold">Input Types</Text>
20
+ <View spacing="sm" style={{ gap: 10 }}>
21
+ <Input
22
+ value={textValue}
23
+ onChangeText={setTextValue}
24
+ placeholder="Text input"
25
+ inputType="text"
26
+ />
27
+ <Input
28
+ value={emailValue}
29
+ onChangeText={setEmailValue}
30
+ placeholder="Email input"
31
+ inputType="email"
32
+ />
33
+ <Input
34
+ value={passwordValue}
35
+ onChangeText={setPasswordValue}
36
+ placeholder="Password input"
37
+ inputType="password"
38
+ secureTextEntry
39
+ />
40
+ <Input
41
+ value={numberValue}
42
+ onChangeText={setNumberValue}
43
+ placeholder="Number input"
44
+ inputType="number"
45
+ />
46
+ </View>
47
+ </View>
48
+
49
+ {/* Input Sizes */}
50
+ <View spacing="md">
51
+ <Text size="medium" weight="semibold">Sizes</Text>
52
+ <View spacing="sm" style={{ gap: 10 }}>
53
+ <Input
54
+ placeholder="Small input"
55
+ size="small"
56
+ />
57
+ <Input
58
+ placeholder="Medium input"
59
+ size="medium"
60
+ />
61
+ <Input
62
+ placeholder="Large input"
63
+ size="large"
64
+ />
65
+ </View>
66
+ </View>
67
+
68
+ {/* Input Variants */}
69
+ <View spacing="md">
70
+ <Text size="medium" weight="semibold">Variants</Text>
71
+ <View spacing="sm" style={{ gap: 10 }}>
72
+ <Input
73
+ placeholder="Default variant"
74
+ variant="default"
75
+ />
76
+ <Input
77
+ placeholder="Outlined variant"
78
+ variant="outlined"
79
+ />
80
+ <Input
81
+ placeholder="Filled variant"
82
+ variant="filled"
83
+ />
84
+ </View>
85
+ </View>
86
+
87
+ {/* Input States */}
88
+ <View spacing="md">
89
+ <Text size="medium" weight="semibold">States</Text>
90
+ <View spacing="sm" style={{ gap: 10 }}>
91
+ <Input
92
+ placeholder="Normal state"
93
+ />
94
+ <Input
95
+ placeholder="Disabled state"
96
+ disabled
97
+ />
98
+ <Input
99
+ placeholder="Error state"
100
+ hasError
101
+ />
102
+ <Input
103
+ value="Pre-filled value"
104
+ onChangeText={() => {}}
105
+ />
106
+ </View>
107
+ </View>
108
+
109
+ {/* Auto-capitalization Examples */}
110
+ <View spacing="md">
111
+ <Text size="medium" weight="semibold">Auto-capitalization</Text>
112
+ <View spacing="sm" style={{ gap: 10 }}>
113
+ <Input
114
+ placeholder="No capitalization"
115
+ autoCapitalize="none"
116
+ />
117
+ <Input
118
+ placeholder="Sentences capitalization"
119
+ autoCapitalize="sentences"
120
+ />
121
+ <Input
122
+ placeholder="Words capitalization"
123
+ autoCapitalize="words"
124
+ />
125
+ <Input
126
+ placeholder="Characters capitalization"
127
+ autoCapitalize="characters"
128
+ />
129
+ </View>
130
+ </View>
131
+ </View>
132
+ </Screen>
133
+ );
134
134
  };
@@ -1,136 +1,136 @@
1
- # Component Examples
2
-
3
- This directory contains comprehensive examples showcasing all components from the Idealyst component library. Each example demonstrates the various props, variants, and use cases for each component.
4
-
5
- ## Available Examples
6
-
7
- ### Individual Component Examples
8
- - **ButtonExamples**: Demonstrates all button variants, sizes, intents, and states
9
- - **TextExamples**: Shows text sizes, weights, colors, and alignment options
10
- - **ViewExamples**: Displays layout capabilities with spacing, backgrounds, and borders
11
- - **InputExamples**: Covers input types, sizes, variants, and states
12
- - **CardExamples**: Showcases card layouts, variants, intents, and interactive features
13
- - **CheckboxExamples**: Demonstrates checkbox states, sizes, intents, and custom content
14
- - **DividerExamples**: Shows divider orientations, variants, and styling options
15
- - **BadgeExamples**: Displays badge variants, intents, and use cases
16
- - **AvatarExamples**: Demonstrates avatar sizes, shapes, and fallback options
17
-
18
- ### Master Example
19
- - **AllExamples**: A comprehensive showcase of all components in one scrollable view
20
-
21
- ## Usage
22
-
23
- ### Import Individual Examples
24
- ```typescript
25
- import { ButtonExamples, TextExamples, CardExamples } from '@idealyst/components/examples';
26
-
27
- // Use in your component
28
- <ButtonExamples />
29
- ```
30
-
31
- ### Import All Examples
32
- ```typescript
33
- import { AllExamples } from '@idealyst/components/examples';
34
-
35
- // Display all examples at once
36
- <AllExamples />
37
- ```
38
-
39
- ## Example Structure
40
-
41
- Each example component follows this structure:
42
- - **Header**: Component name and description
43
- - **Grouped Sections**: Related variants and properties
44
- - **Interactive Elements**: Demonstrating user interactions
45
- - **Edge Cases**: Disabled states, error states, etc.
46
- - **Real-world Usage**: Practical implementation examples
47
-
48
- ## Features Demonstrated
49
-
50
- ### Button Examples
51
- - Variants: contained, outlined, text
52
- - Sizes: small, medium, large
53
- - Intents: primary, neutral, success, error, warning
54
- - States: normal, disabled
55
-
56
- ### Text Examples
57
- - Sizes: small, medium, large, xlarge
58
- - Weights: light, normal, medium, semibold, bold
59
- - Colors: primary, secondary, success, warning, error
60
- - Alignment: left, center, right
61
-
62
- ### View Examples
63
- - Spacing: none, xs, sm, md, lg, xl
64
- - Backgrounds: transparent, surface, primary, secondary
65
- - Border radius: none, xs, sm, md, lg, xl
66
- - Borders: none, thin, thick
67
- - Layout patterns: flex layouts, positioning
68
-
69
- ### Input Examples
70
- - Types: text, email, password, number
71
- - Sizes: small, medium, large
72
- - Variants: default, outlined, filled
73
- - States: normal, disabled, error, pre-filled
74
- - Auto-capitalization: none, sentences, words, characters
75
-
76
- ### Card Examples
77
- - Variants: default, outlined, elevated, filled
78
- - Intents: neutral, primary, success, error, warning, info
79
- - Padding: none, small, medium, large
80
- - Radius: none, small, medium, large
81
- - Interactive: clickable, disabled states
82
- - Complex layouts: multi-element cards
83
-
84
- ### Checkbox Examples
85
- - Basic states: checked, unchecked, indeterminate
86
- - Sizes: small, medium, large
87
- - Intents: primary, neutral, success, error, warning, info
88
- - Variants: default, outlined
89
- - States: normal, disabled
90
- - Custom content: complex labels, helper text, errors
91
-
92
- ### Divider Examples
93
- - Orientations: horizontal, vertical
94
- - Variants: solid, dashed, dotted
95
- - Thickness: thin, medium, thick
96
- - Intents: primary, secondary, neutral, success, error, warning, info
97
- - Spacing: none, small, medium, large
98
- - With content: text labels, sections
99
-
100
- ### Badge Examples
101
- - Variants: filled, outlined, dot
102
- - Sizes: small, medium, large
103
- - Intents: primary, success, error, warning, neutral, info
104
- - Use cases: numbers, status, categories, notifications
105
-
106
- ### Avatar Examples
107
- - Sizes: small, medium, large, xlarge
108
- - Shapes: circle, square
109
- - Fallbacks: initials, placeholder text
110
- - Images: with proper fallbacks
111
- - Groups: overlapping avatars
112
-
113
- ## Best Practices
114
-
115
- 1. **Interactive Testing**: All examples include interactive elements to test functionality
116
- 2. **Accessibility**: Examples demonstrate proper labeling and accessibility features
117
- 3. **Responsive Design**: Components adapt to different screen sizes
118
- 4. **Theme Integration**: All examples use the theme system properly
119
- 5. **Real-world Context**: Examples show practical usage scenarios
120
-
121
- ## Development Notes
122
-
123
- - Examples are built using the same components they demonstrate
124
- - All examples use TypeScript for type safety
125
- - Components follow the established design system patterns
126
- - Examples are optimized for both web and native platforms
127
-
128
- ## Contributing
129
-
130
- When adding new components:
131
- 1. Create a new example file: `ComponentNameExamples.tsx`
132
- 2. Follow the established pattern of grouped sections
133
- 3. Include all variants, sizes, and states
134
- 4. Add interactive elements where applicable
135
- 5. Export the component in `index.ts`
1
+ # Component Examples
2
+
3
+ This directory contains comprehensive examples showcasing all components from the Idealyst component library. Each example demonstrates the various props, variants, and use cases for each component.
4
+
5
+ ## Available Examples
6
+
7
+ ### Individual Component Examples
8
+ - **ButtonExamples**: Demonstrates all button variants, sizes, intents, and states
9
+ - **TextExamples**: Shows text sizes, weights, colors, and alignment options
10
+ - **ViewExamples**: Displays layout capabilities with spacing, backgrounds, and borders
11
+ - **InputExamples**: Covers input types, sizes, variants, and states
12
+ - **CardExamples**: Showcases card layouts, variants, intents, and interactive features
13
+ - **CheckboxExamples**: Demonstrates checkbox states, sizes, intents, and custom content
14
+ - **DividerExamples**: Shows divider orientations, variants, and styling options
15
+ - **BadgeExamples**: Displays badge variants, intents, and use cases
16
+ - **AvatarExamples**: Demonstrates avatar sizes, shapes, and fallback options
17
+
18
+ ### Master Example
19
+ - **AllExamples**: A comprehensive showcase of all components in one scrollable view
20
+
21
+ ## Usage
22
+
23
+ ### Import Individual Examples
24
+ ```typescript
25
+ import { ButtonExamples, TextExamples, CardExamples } from '@idealyst/components/examples';
26
+
27
+ // Use in your component
28
+ <ButtonExamples />
29
+ ```
30
+
31
+ ### Import All Examples
32
+ ```typescript
33
+ import { AllExamples } from '@idealyst/components/examples';
34
+
35
+ // Display all examples at once
36
+ <AllExamples />
37
+ ```
38
+
39
+ ## Example Structure
40
+
41
+ Each example component follows this structure:
42
+ - **Header**: Component name and description
43
+ - **Grouped Sections**: Related variants and properties
44
+ - **Interactive Elements**: Demonstrating user interactions
45
+ - **Edge Cases**: Disabled states, error states, etc.
46
+ - **Real-world Usage**: Practical implementation examples
47
+
48
+ ## Features Demonstrated
49
+
50
+ ### Button Examples
51
+ - Variants: contained, outlined, text
52
+ - Sizes: small, medium, large
53
+ - Intents: primary, neutral, success, error, warning
54
+ - States: normal, disabled
55
+
56
+ ### Text Examples
57
+ - Sizes: small, medium, large, xlarge
58
+ - Weights: light, normal, medium, semibold, bold
59
+ - Colors: primary, secondary, success, warning, error
60
+ - Alignment: left, center, right
61
+
62
+ ### View Examples
63
+ - Spacing: none, xs, sm, md, lg, xl
64
+ - Backgrounds: transparent, surface, primary, secondary
65
+ - Border radius: none, xs, sm, md, lg, xl
66
+ - Borders: none, thin, thick
67
+ - Layout patterns: flex layouts, positioning
68
+
69
+ ### Input Examples
70
+ - Types: text, email, password, number
71
+ - Sizes: small, medium, large
72
+ - Variants: default, outlined, filled
73
+ - States: normal, disabled, error, pre-filled
74
+ - Auto-capitalization: none, sentences, words, characters
75
+
76
+ ### Card Examples
77
+ - Variants: default, outlined, elevated, filled
78
+ - Intents: neutral, primary, success, error, warning, info
79
+ - Padding: none, small, medium, large
80
+ - Radius: none, small, medium, large
81
+ - Interactive: clickable, disabled states
82
+ - Complex layouts: multi-element cards
83
+
84
+ ### Checkbox Examples
85
+ - Basic states: checked, unchecked, indeterminate
86
+ - Sizes: small, medium, large
87
+ - Intents: primary, neutral, success, error, warning, info
88
+ - Variants: default, outlined
89
+ - States: normal, disabled
90
+ - Custom content: complex labels, helper text, errors
91
+
92
+ ### Divider Examples
93
+ - Orientations: horizontal, vertical
94
+ - Variants: solid, dashed, dotted
95
+ - Thickness: thin, medium, thick
96
+ - Intents: primary, secondary, neutral, success, error, warning, info
97
+ - Spacing: none, small, medium, large
98
+ - With content: text labels, sections
99
+
100
+ ### Badge Examples
101
+ - Variants: filled, outlined, dot
102
+ - Sizes: small, medium, large
103
+ - Intents: primary, success, error, warning, neutral, info
104
+ - Use cases: numbers, status, categories, notifications
105
+
106
+ ### Avatar Examples
107
+ - Sizes: small, medium, large, xlarge
108
+ - Shapes: circle, square
109
+ - Fallbacks: initials, placeholder text
110
+ - Images: with proper fallbacks
111
+ - Groups: overlapping avatars
112
+
113
+ ## Best Practices
114
+
115
+ 1. **Interactive Testing**: All examples include interactive elements to test functionality
116
+ 2. **Accessibility**: Examples demonstrate proper labeling and accessibility features
117
+ 3. **Responsive Design**: Components adapt to different screen sizes
118
+ 4. **Theme Integration**: All examples use the theme system properly
119
+ 5. **Real-world Context**: Examples show practical usage scenarios
120
+
121
+ ## Development Notes
122
+
123
+ - Examples are built using the same components they demonstrate
124
+ - All examples use TypeScript for type safety
125
+ - Components follow the established design system patterns
126
+ - Examples are optimized for both web and native platforms
127
+
128
+ ## Contributing
129
+
130
+ When adding new components:
131
+ 1. Create a new example file: `ComponentNameExamples.tsx`
132
+ 2. Follow the established pattern of grouped sections
133
+ 3. Include all variants, sizes, and states
134
+ 4. Add interactive elements where applicable
135
+ 5. Export the component in `index.ts`
136
136
  6. Update the `AllExamples` component to include the new example