@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.
Files changed (316) hide show
  1. package/CLAUDE.md +199 -232
  2. package/README.md +5 -5
  3. package/package.json +20 -2
  4. package/plugin/README.md +272 -0
  5. package/plugin/test-cases.jsx +112 -0
  6. package/plugin/web-legacy.js +320 -0
  7. package/plugin/web.js +422 -124
  8. package/src/Accordion/Accordion.native.tsx +182 -0
  9. package/src/Accordion/Accordion.styles.tsx +260 -0
  10. package/src/Accordion/Accordion.web.tsx +147 -0
  11. package/src/Accordion/index.native.tsx +3 -0
  12. package/src/Accordion/index.ts +3 -0
  13. package/src/Accordion/index.web.tsx +3 -0
  14. package/src/Accordion/types.ts +23 -0
  15. package/src/ActivityIndicator/ActivityIndicator.native.tsx +17 -12
  16. package/src/ActivityIndicator/ActivityIndicator.styles.tsx +83 -109
  17. package/src/ActivityIndicator/ActivityIndicator.web.tsx +23 -17
  18. package/src/ActivityIndicator/index.ts +5 -2
  19. package/src/ActivityIndicator/index.web.ts +5 -2
  20. package/src/ActivityIndicator/types.ts +15 -10
  21. package/src/Alert/Alert.native.tsx +113 -0
  22. package/src/Alert/Alert.styles.tsx +304 -0
  23. package/src/Alert/Alert.web.tsx +123 -0
  24. package/src/Alert/index.native.ts +5 -0
  25. package/src/Alert/index.ts +5 -0
  26. package/src/Alert/index.web.ts +5 -0
  27. package/src/Alert/types.ts +21 -0
  28. package/src/Avatar/Avatar.native.tsx +8 -6
  29. package/src/Avatar/Avatar.styles.tsx +64 -58
  30. package/src/Avatar/Avatar.web.tsx +13 -8
  31. package/src/Avatar/index.ts +5 -2
  32. package/src/Avatar/index.web.ts +5 -2
  33. package/src/Avatar/types.ts +19 -13
  34. package/src/Badge/Badge.native.tsx +59 -14
  35. package/src/Badge/Badge.styles.tsx +125 -139
  36. package/src/Badge/Badge.web.tsx +72 -16
  37. package/src/Badge/index.ts +5 -2
  38. package/src/Badge/index.web.ts +5 -2
  39. package/src/Badge/types.ts +23 -11
  40. package/src/Breadcrumb/Breadcrumb.native.tsx +225 -0
  41. package/src/Breadcrumb/Breadcrumb.styles.tsx +234 -0
  42. package/src/Breadcrumb/Breadcrumb.web.tsx +268 -0
  43. package/src/Breadcrumb/index.native.ts +5 -0
  44. package/src/Breadcrumb/index.ts +5 -0
  45. package/src/Breadcrumb/index.web.ts +5 -0
  46. package/src/Breadcrumb/types.ts +56 -0
  47. package/src/Button/Button.native.tsx +75 -24
  48. package/src/Button/Button.styles.tsx +248 -205
  49. package/src/Button/Button.web.tsx +82 -25
  50. package/src/Button/index.ts +5 -5
  51. package/src/Button/index.web.ts +5 -3
  52. package/src/Button/types.ts +32 -15
  53. package/src/Card/Card.native.tsx +14 -11
  54. package/src/Card/Card.styles.tsx +146 -220
  55. package/src/Card/Card.web.tsx +20 -21
  56. package/src/Card/index.ts +5 -5
  57. package/src/Card/index.web.ts +5 -3
  58. package/src/Card/types.ts +24 -17
  59. package/src/Checkbox/Checkbox.native.tsx +24 -34
  60. package/src/Checkbox/Checkbox.styles.tsx +223 -275
  61. package/src/Checkbox/Checkbox.web.tsx +30 -37
  62. package/src/Checkbox/index.ts +5 -5
  63. package/src/Checkbox/index.web.ts +5 -3
  64. package/src/Checkbox/types.ts +26 -20
  65. package/src/Chip/Chip.native.tsx +126 -0
  66. package/src/Chip/Chip.styles.tsx +138 -0
  67. package/src/Chip/Chip.web.tsx +154 -0
  68. package/src/Chip/index.native.ts +5 -0
  69. package/src/Chip/index.ts +5 -0
  70. package/src/Chip/index.web.ts +5 -0
  71. package/src/Chip/types.ts +51 -0
  72. package/src/Dialog/Dialog.native.tsx +65 -12
  73. package/src/Dialog/Dialog.styles.tsx +154 -136
  74. package/src/Dialog/Dialog.web.tsx +16 -11
  75. package/src/Dialog/index.ts +5 -2
  76. package/src/Dialog/index.web.ts +5 -2
  77. package/src/Dialog/types.ts +22 -16
  78. package/src/Divider/Divider.native.tsx +19 -14
  79. package/src/Divider/Divider.styles.tsx +273 -595
  80. package/src/Divider/Divider.web.tsx +19 -12
  81. package/src/Divider/index.ts +5 -5
  82. package/src/Divider/index.web.ts +5 -3
  83. package/src/Divider/types.ts +28 -19
  84. package/src/Icon/Icon.native.tsx +17 -24
  85. package/src/Icon/Icon.styles.tsx +64 -48
  86. package/src/Icon/Icon.web.tsx +14 -11
  87. package/src/Icon/IconSvg/IconSvg.native.tsx +42 -0
  88. package/src/Icon/IconSvg/IconSvg.web.tsx +40 -0
  89. package/src/Icon/IconSvg/index.native.ts +1 -0
  90. package/src/Icon/IconSvg/index.ts +1 -0
  91. package/src/Icon/icon-resolver.native.ts +27 -0
  92. package/src/Icon/icon-resolver.ts +70 -0
  93. package/src/Icon/index.ts +5 -5
  94. package/src/Icon/index.web.ts +5 -3
  95. package/src/Icon/types.ts +17 -11
  96. package/src/Image/Image.native.tsx +86 -0
  97. package/src/Image/Image.styles.tsx +57 -0
  98. package/src/Image/Image.web.tsx +92 -0
  99. package/src/Image/index.native.ts +5 -0
  100. package/src/Image/index.ts +5 -0
  101. package/src/Image/types.ts +21 -0
  102. package/src/Input/Input.native.tsx +103 -26
  103. package/src/Input/Input.styles.tsx +240 -177
  104. package/src/Input/Input.web.tsx +141 -38
  105. package/src/Input/index.ts +5 -5
  106. package/src/Input/index.web.ts +5 -3
  107. package/src/Input/types.ts +43 -20
  108. package/src/List/List.native.tsx +56 -0
  109. package/src/List/List.styles.tsx +257 -0
  110. package/src/List/List.web.tsx +43 -0
  111. package/src/List/ListContext.tsx +16 -0
  112. package/src/List/ListItem.native.tsx +111 -0
  113. package/src/List/ListItem.web.tsx +110 -0
  114. package/src/List/ListSection.native.tsx +31 -0
  115. package/src/List/ListSection.web.tsx +33 -0
  116. package/src/List/index.native.tsx +5 -0
  117. package/src/List/index.ts +5 -0
  118. package/src/List/index.web.tsx +5 -0
  119. package/src/List/types.ts +42 -0
  120. package/src/Menu/Menu.native.tsx +150 -0
  121. package/src/Menu/Menu.styles.tsx +185 -0
  122. package/src/Menu/Menu.web.tsx +99 -0
  123. package/src/Menu/MenuItem.native.tsx +66 -0
  124. package/src/Menu/MenuItem.styles.tsx +119 -0
  125. package/src/Menu/MenuItem.web.tsx +67 -0
  126. package/src/Menu/index.native.ts +3 -0
  127. package/src/Menu/index.ts +3 -0
  128. package/src/Menu/index.web.ts +3 -0
  129. package/src/Menu/types.ts +30 -0
  130. package/src/Popover/Popover.native.tsx +102 -32
  131. package/src/Popover/Popover.styles.tsx +100 -67
  132. package/src/Popover/Popover.web.tsx +36 -260
  133. package/src/Popover/index.ts +5 -2
  134. package/src/Popover/index.web.ts +5 -2
  135. package/src/Popover/types.ts +14 -13
  136. package/src/Pressable/Pressable.native.tsx +7 -6
  137. package/src/Pressable/Pressable.web.tsx +8 -6
  138. package/src/Pressable/index.ts +5 -2
  139. package/src/Pressable/index.web.ts +5 -2
  140. package/src/Pressable/types.ts +11 -10
  141. package/src/Progress/Progress.native.tsx +179 -0
  142. package/src/Progress/Progress.styles.tsx +164 -0
  143. package/src/Progress/Progress.web.tsx +144 -0
  144. package/src/Progress/index.native.ts +1 -0
  145. package/src/Progress/index.ts +5 -0
  146. package/src/Progress/index.web.ts +5 -0
  147. package/src/Progress/types.ts +21 -0
  148. package/src/RadioButton/RadioButton.native.tsx +88 -0
  149. package/src/RadioButton/RadioButton.styles.tsx +163 -0
  150. package/src/RadioButton/RadioButton.web.tsx +85 -0
  151. package/src/RadioButton/RadioGroup.native.tsx +43 -0
  152. package/src/RadioButton/RadioGroup.web.tsx +49 -0
  153. package/src/RadioButton/index.native.ts +2 -0
  154. package/src/RadioButton/index.ts +2 -0
  155. package/src/RadioButton/index.web.ts +2 -0
  156. package/src/RadioButton/types.ts +29 -0
  157. package/src/SVGImage/SVGImage.native.tsx +9 -7
  158. package/src/SVGImage/SVGImage.styles.tsx +63 -55
  159. package/src/SVGImage/SVGImage.web.tsx +16 -13
  160. package/src/SVGImage/index.ts +5 -5
  161. package/src/SVGImage/index.web.ts +5 -2
  162. package/src/SVGImage/types.ts +7 -3
  163. package/src/Screen/Screen.native.tsx +43 -17
  164. package/src/Screen/Screen.styles.tsx +58 -54
  165. package/src/Screen/Screen.web.tsx +11 -5
  166. package/src/Screen/index.ts +5 -2
  167. package/src/Screen/index.web.ts +5 -2
  168. package/src/Screen/types.ts +23 -9
  169. package/src/Select/Select.native.tsx +140 -63
  170. package/src/Select/Select.styles.tsx +312 -302
  171. package/src/Select/Select.web.tsx +156 -316
  172. package/src/Select/index.ts +5 -2
  173. package/src/Select/index.web.ts +5 -2
  174. package/src/Select/types.ts +13 -7
  175. package/src/Skeleton/Skeleton.native.tsx +139 -0
  176. package/src/Skeleton/Skeleton.styles.tsx +59 -0
  177. package/src/Skeleton/Skeleton.web.tsx +112 -0
  178. package/src/Skeleton/index.native.ts +4 -0
  179. package/src/Skeleton/index.ts +5 -0
  180. package/src/Skeleton/index.web.ts +5 -0
  181. package/src/Skeleton/types.ts +75 -0
  182. package/src/Slider/Slider.native.tsx +248 -0
  183. package/src/Slider/Slider.styles.tsx +241 -0
  184. package/src/Slider/Slider.web.tsx +226 -0
  185. package/src/Slider/index.native.ts +3 -0
  186. package/src/Slider/index.ts +5 -0
  187. package/src/Slider/index.web.ts +5 -0
  188. package/src/Slider/types.ts +31 -0
  189. package/src/Switch/Switch.native.tsx +131 -0
  190. package/src/Switch/Switch.styles.tsx +169 -0
  191. package/src/Switch/Switch.web.tsx +121 -0
  192. package/src/Switch/index.native.ts +3 -0
  193. package/src/Switch/index.ts +5 -0
  194. package/src/Switch/index.web.ts +5 -0
  195. package/src/Switch/types.ts +21 -0
  196. package/src/TabBar/TabBar.native.tsx +142 -0
  197. package/src/TabBar/TabBar.styles.tsx +399 -0
  198. package/src/TabBar/TabBar.web.tsx +205 -0
  199. package/src/TabBar/index.native.tsx +3 -0
  200. package/src/TabBar/index.ts +3 -0
  201. package/src/TabBar/index.web.tsx +3 -0
  202. package/src/TabBar/types.ts +26 -0
  203. package/src/Table/Table.native.tsx +122 -0
  204. package/src/Table/Table.styles.tsx +283 -0
  205. package/src/Table/Table.web.tsx +112 -0
  206. package/src/Table/index.native.tsx +3 -0
  207. package/src/Table/index.ts +3 -0
  208. package/src/Table/index.web.tsx +3 -0
  209. package/src/Table/types.ts +28 -0
  210. package/src/Text/Text.native.tsx +12 -11
  211. package/src/Text/Text.styles.tsx +76 -64
  212. package/src/Text/Text.web.tsx +14 -9
  213. package/src/Text/index.ts +5 -5
  214. package/src/Text/index.web.ts +5 -3
  215. package/src/Text/types.ts +20 -13
  216. package/src/TextArea/TextArea.native.tsx +134 -0
  217. package/src/TextArea/TextArea.styles.tsx +175 -0
  218. package/src/TextArea/TextArea.web.tsx +156 -0
  219. package/src/TextArea/index.native.ts +3 -0
  220. package/src/TextArea/index.ts +3 -0
  221. package/src/TextArea/index.web.ts +3 -0
  222. package/src/TextArea/types.ts +30 -0
  223. package/src/Tooltip/Tooltip.native.tsx +165 -0
  224. package/src/Tooltip/Tooltip.styles.tsx +73 -0
  225. package/src/Tooltip/Tooltip.web.tsx +87 -0
  226. package/src/Tooltip/index.native.ts +3 -0
  227. package/src/Tooltip/index.ts +3 -0
  228. package/src/Tooltip/types.ts +18 -0
  229. package/src/Video/Video.native.tsx +105 -0
  230. package/src/Video/Video.styles.tsx +39 -0
  231. package/src/Video/Video.web.tsx +115 -0
  232. package/src/Video/index.native.ts +5 -0
  233. package/src/Video/index.ts +5 -0
  234. package/src/Video/types.ts +29 -0
  235. package/src/View/View.native.tsx +9 -14
  236. package/src/View/View.styles.tsx +101 -93
  237. package/src/View/View.web.tsx +16 -17
  238. package/src/View/index.ts +5 -5
  239. package/src/View/index.web.ts +5 -3
  240. package/src/View/types.ts +29 -21
  241. package/src/examples/AccordionExamples.tsx +126 -0
  242. package/src/examples/AlertExamples.tsx +280 -0
  243. package/src/examples/AvatarExamples.tsx +23 -23
  244. package/src/examples/BadgeExamples.tsx +109 -41
  245. package/src/examples/BreadcrumbExamples.tsx +312 -0
  246. package/src/examples/ButtonExamples.tsx +160 -33
  247. package/src/examples/CardExamples.tsx +40 -40
  248. package/src/examples/CheckboxExamples.tsx +12 -12
  249. package/src/examples/ChipExamples.tsx +197 -0
  250. package/src/examples/DialogExamples.tsx +22 -22
  251. package/src/examples/DividerExamples.tsx +49 -49
  252. package/src/examples/IconExamples.tsx +270 -54
  253. package/src/examples/ImageExamples.tsx +174 -0
  254. package/src/examples/InputExamples.tsx +75 -17
  255. package/src/examples/ListExamples.tsx +288 -0
  256. package/src/examples/MenuExamples.tsx +144 -0
  257. package/src/examples/PopoverExamples.tsx +69 -73
  258. package/src/examples/ProgressExamples.tsx +137 -0
  259. package/src/examples/RadioButtonExamples.tsx +161 -0
  260. package/src/examples/SVGImageExamples.tsx +19 -17
  261. package/src/examples/ScreenExamples.tsx +31 -31
  262. package/src/examples/SelectExamples.tsx +67 -67
  263. package/src/examples/SkeletonExamples.tsx +206 -0
  264. package/src/examples/SliderExamples.tsx +200 -0
  265. package/src/examples/SwitchExamples.tsx +182 -0
  266. package/src/examples/TabBarExamples.tsx +143 -0
  267. package/src/examples/TableExamples.tsx +280 -0
  268. package/src/examples/TextAreaExamples.tsx +173 -0
  269. package/src/examples/TextExamples.tsx +28 -32
  270. package/src/examples/ThemeExtensionExamples.tsx +10 -10
  271. package/src/examples/TooltipExamples.tsx +126 -0
  272. package/src/examples/VideoExamples.tsx +144 -0
  273. package/src/examples/ViewExamples.tsx +64 -56
  274. package/src/examples/index.ts +17 -3
  275. package/src/hooks/useMergeRefs.ts +16 -0
  276. package/src/hooks/useSmartPosition.native.ts +169 -0
  277. package/src/index.native.ts +80 -9
  278. package/src/index.ts +71 -1
  279. package/src/internal/BoundedModalContent.native.tsx +58 -0
  280. package/src/internal/PositionedPortal.tsx +254 -0
  281. package/src/internal/SafeAreaDebugOverlay.native.tsx +173 -0
  282. package/src/unistyles.d.ts +6 -0
  283. package/src/utils/buildSizeVariants.ts +16 -0
  284. package/src/utils/deepMerge.ts +43 -0
  285. package/src/utils/positionUtils.native.ts +280 -0
  286. package/src/utils/styleHelpers.ts +48 -0
  287. package/LLM-ACCESS-GUIDE.md +0 -143
  288. package/src/ActivityIndicator/README.md +0 -132
  289. package/src/Avatar/README.md +0 -139
  290. package/src/Badge/README.md +0 -170
  291. package/src/Button/Button.types.ts +0 -12
  292. package/src/Button/README.md +0 -262
  293. package/src/Card/README.md +0 -258
  294. package/src/Checkbox/README.md +0 -102
  295. package/src/Dialog/README.md +0 -210
  296. package/src/Divider/README.md +0 -108
  297. package/src/Icon/README.md +0 -81
  298. package/src/Input/README.md +0 -100
  299. package/src/SVGImage/README.md +0 -209
  300. package/src/Screen/README.md +0 -86
  301. package/src/Select/README.md +0 -166
  302. package/src/Text/README.md +0 -94
  303. package/src/View/README.md +0 -107
  304. package/src/examples/AllExamples.tsx +0 -88
  305. package/src/examples/README.md +0 -136
  306. package/src/examples/ValidationExamples.tsx +0 -95
  307. package/src/examples/extendedTheme.ts +0 -329
  308. package/src/theme/breakpoints.ts +0 -8
  309. package/src/theme/colorResolver.ts +0 -218
  310. package/src/theme/colors.ts +0 -315
  311. package/src/theme/defaultThemes.ts +0 -326
  312. package/src/theme/index.ts +0 -188
  313. package/src/theme/themeBuilder.ts +0 -602
  314. package/src/theme/unistyles.d.ts +0 -6
  315. package/src/theme/variantHelpers.ts +0 -584
  316. package/src/theme/variants.ts +0 -56
@@ -1,18 +1,20 @@
1
1
  import { Screen, View, SVGImage, Text } from '../index';
2
+
3
+ /** @ts-ignore this is a real file */
2
4
  import testLogo from './test-logo.svg';
3
5
 
4
6
  export const SVGImageExamples = () => {
5
7
  return (
6
8
  <Screen background="primary" padding="lg">
7
9
  <View spacing="none">
8
- <Text size="large" weight="bold" align="center">
10
+ <Text size="lg" weight="bold" align="center">
9
11
  SVG Image Examples
10
12
  </Text>
11
13
 
12
14
  {/* Local SVG File Example */}
13
15
  <View spacing="md">
14
- <Text size="medium" weight="semibold">Loading Local SVG File</Text>
15
- <Text size="small">
16
+ <Text size="md" weight="semibold">Loading Local SVG File</Text>
17
+ <Text size="sm">
16
18
  Using the test-logo.svg file - works on web, limited support on React Native
17
19
  </Text>
18
20
  <View style={{ flexDirection: 'row', gap: 16, flexWrap: 'wrap', alignItems: 'center' }}>
@@ -40,8 +42,8 @@ export const SVGImageExamples = () => {
40
42
 
41
43
  {/* Intent Colors */}
42
44
  <View spacing="md">
43
- <Text size="medium" weight="semibold">Intent Colors</Text>
44
- <Text size="small">
45
+ <Text size="md" weight="semibold">Intent Colors</Text>
46
+ <Text size="sm">
45
47
  SVG images with theme-based coloring
46
48
  </Text>
47
49
  <View style={{ flexDirection: 'row', gap: 16, flexWrap: 'wrap', alignItems: 'center' }}>
@@ -74,8 +76,8 @@ export const SVGImageExamples = () => {
74
76
 
75
77
  {/* Custom Colors */}
76
78
  <View spacing="md">
77
- <Text size="medium" weight="semibold">Custom Colors</Text>
78
- <Text size="small">
79
+ <Text size="md" weight="semibold">Custom Colors</Text>
80
+ <Text size="sm">
79
81
  Direct color specification
80
82
  </Text>
81
83
  <View style={{ flexDirection: 'row', gap: 16, flexWrap: 'wrap', alignItems: 'center' }}>
@@ -102,8 +104,8 @@ export const SVGImageExamples = () => {
102
104
 
103
105
  {/* Remote URL Example */}
104
106
  <View spacing="md">
105
- <Text size="medium" weight="semibold">Loading from URL</Text>
106
- <Text size="small">
107
+ <Text size="md" weight="semibold">Loading from URL</Text>
108
+ <Text size="sm">
107
109
  SVG images loaded from remote URLs (web only for security)
108
110
  </Text>
109
111
  <View style={{ flexDirection: 'row', gap: 16, flexWrap: 'wrap', alignItems: 'center' }}>
@@ -129,8 +131,8 @@ export const SVGImageExamples = () => {
129
131
 
130
132
  {/* Resize Modes */}
131
133
  <View spacing="md">
132
- <Text size="medium" weight="semibold">Resize Modes</Text>
133
- <Text size="small">
134
+ <Text size="md" weight="semibold">Resize Modes</Text>
135
+ <Text size="sm">
134
136
  Different ways to fit SVG images in containers
135
137
  </Text>
136
138
  <View style={{ flexDirection: 'row', gap: 16, flexWrap: 'wrap', alignItems: 'center' }}>
@@ -163,21 +165,21 @@ export const SVGImageExamples = () => {
163
165
 
164
166
  {/* Usage Tips */}
165
167
  <View spacing="md">
166
- <Text size="medium" weight="semibold">Usage Tips</Text>
168
+ <Text size="md" weight="semibold">Usage Tips</Text>
167
169
  <View spacing="sm">
168
- <Text size="small">
170
+ <Text size="sm">
169
171
  • <Text weight="semibold">Local files:</Text> Use relative paths for bundled SVG files
170
172
  </Text>
171
- <Text size="small">
173
+ <Text size="sm">
172
174
  • <Text weight="semibold">Remote URLs:</Text> Use {`{ uri: "https://..." }`} format
173
175
  </Text>
174
- <Text size="small">
176
+ <Text size="sm">
175
177
  • <Text weight="semibold">React Native:</Text> Local SVGs have limited support - use remote URLs or convert to PNG
176
178
  </Text>
177
- <Text size="small">
179
+ <Text size="sm">
178
180
  • <Text weight="semibold">Coloring:</Text> Works best with single-color SVG icons
179
181
  </Text>
180
- <Text size="small">
182
+ <Text size="sm">
181
183
  • <Text weight="semibold">Performance:</Text> Cache remote SVGs for better performance
182
184
  </Text>
183
185
  </View>
@@ -5,14 +5,14 @@ export const ScreenExamples = () => {
5
5
  return (
6
6
  <Screen background="primary" padding="lg">
7
7
  <View spacing="lg">
8
- <Text size="large" weight="bold" align="center">
8
+ <Text size="lg" weight="bold" align="center">
9
9
  Screen Examples
10
10
  </Text>
11
11
 
12
12
  {/* Background Examples */}
13
13
  <View spacing="md">
14
- <Text size="medium" weight="semibold">Background Variants</Text>
15
- <Text size="small" color="secondary">
14
+ <Text size="md" weight="semibold">Background Variants</Text>
15
+ <Text size="sm" color="secondary">
16
16
  Each Screen should have a different background color
17
17
  </Text>
18
18
 
@@ -20,8 +20,8 @@ export const ScreenExamples = () => {
20
20
  <View style={{ height: 100, width: 120, borderWidth: 1, borderColor: '#ccc' }}>
21
21
  <Screen background="primary" padding="sm">
22
22
  <View spacing="sm" style={{ alignItems: 'center', justifyContent: 'center', flex: 1 }}>
23
- <Text size="small" weight="bold">Primary</Text>
24
- <Text size="small" color="secondary">Surface</Text>
23
+ <Text size="sm" weight="bold">Primary</Text>
24
+ <Text size="sm" color="secondary">Surface</Text>
25
25
  </View>
26
26
  </Screen>
27
27
  </View>
@@ -29,8 +29,8 @@ export const ScreenExamples = () => {
29
29
  <View style={{ height: 100, width: 120, borderWidth: 1, borderColor: '#ccc' }}>
30
30
  <Screen background="secondary" padding="sm">
31
31
  <View spacing="sm" style={{ alignItems: 'center', justifyContent: 'center', flex: 1 }}>
32
- <Text size="small" weight="bold">Secondary</Text>
33
- <Text size="small" color="secondary">Surface</Text>
32
+ <Text size="sm" weight="bold">Secondary</Text>
33
+ <Text size="sm" color="secondary">Surface</Text>
34
34
  </View>
35
35
  </Screen>
36
36
  </View>
@@ -38,8 +38,8 @@ export const ScreenExamples = () => {
38
38
  <View style={{ height: 100, width: 120, borderWidth: 1, borderColor: '#ccc' }}>
39
39
  <Screen background="tertiary" padding="sm">
40
40
  <View spacing="sm" style={{ alignItems: 'center', justifyContent: 'center', flex: 1 }}>
41
- <Text size="small" weight="bold">Tertiary</Text>
42
- <Text size="small" color="secondary">Surface</Text>
41
+ <Text size="sm" weight="bold">Tertiary</Text>
42
+ <Text size="sm" color="secondary">Surface</Text>
43
43
  </View>
44
44
  </Screen>
45
45
  </View>
@@ -47,8 +47,8 @@ export const ScreenExamples = () => {
47
47
  <View style={{ height: 100, width: 120, borderWidth: 1, borderColor: '#ccc' }}>
48
48
  <Screen background="inverse" padding="sm">
49
49
  <View spacing="sm" style={{ alignItems: 'center', justifyContent: 'center', flex: 1 }}>
50
- <Text size="small" weight="bold" color="primary">Inverse</Text>
51
- <Text size="small" color="secondary">Surface</Text>
50
+ <Text size="sm" weight="bold" color="primary">Inverse</Text>
51
+ <Text size="sm" color="secondary">Surface</Text>
52
52
  </View>
53
53
  </Screen>
54
54
  </View>
@@ -57,8 +57,8 @@ export const ScreenExamples = () => {
57
57
 
58
58
  {/* Padding Examples */}
59
59
  <View spacing="md">
60
- <Text size="medium" weight="semibold">Padding Variants</Text>
61
- <Text size="small" color="secondary">
60
+ <Text size="md" weight="semibold">Padding Variants</Text>
61
+ <Text size="sm" color="secondary">
62
62
  Different padding options for Screen content
63
63
  </Text>
64
64
 
@@ -66,8 +66,8 @@ export const ScreenExamples = () => {
66
66
  <View style={{ height: 100, width: 120, borderWidth: 1, borderColor: '#ccc' }}>
67
67
  <Screen background="secondary" padding="none">
68
68
  <View style={{ alignItems: 'center', justifyContent: 'center', flex: 1, backgroundColor: 'rgba(255,0,0,0.1)' }}>
69
- <Text size="small" weight="bold">None</Text>
70
- <Text size="small" color="secondary">No padding</Text>
69
+ <Text size="sm" weight="bold">None</Text>
70
+ <Text size="sm" color="secondary">No padding</Text>
71
71
  </View>
72
72
  </Screen>
73
73
  </View>
@@ -75,8 +75,8 @@ export const ScreenExamples = () => {
75
75
  <View style={{ height: 100, width: 120, borderWidth: 1, borderColor: '#ccc' }}>
76
76
  <Screen background="secondary" padding="sm">
77
77
  <View style={{ alignItems: 'center', justifyContent: 'center', flex: 1, backgroundColor: 'rgba(255,0,0,0.1)' }}>
78
- <Text size="small" weight="bold">Small</Text>
79
- <Text size="small" color="secondary">8px</Text>
78
+ <Text size="sm" weight="bold">Small</Text>
79
+ <Text size="sm" color="secondary">8px</Text>
80
80
  </View>
81
81
  </Screen>
82
82
  </View>
@@ -84,8 +84,8 @@ export const ScreenExamples = () => {
84
84
  <View style={{ height: 100, width: 120, borderWidth: 1, borderColor: '#ccc' }}>
85
85
  <Screen background="secondary" padding="md">
86
86
  <View style={{ alignItems: 'center', justifyContent: 'center', flex: 1, backgroundColor: 'rgba(255,0,0,0.1)' }}>
87
- <Text size="small" weight="bold">Medium</Text>
88
- <Text size="small" color="secondary">16px</Text>
87
+ <Text size="sm" weight="bold">Medium</Text>
88
+ <Text size="sm" color="secondary">16px</Text>
89
89
  </View>
90
90
  </Screen>
91
91
  </View>
@@ -93,8 +93,8 @@ export const ScreenExamples = () => {
93
93
  <View style={{ height: 100, width: 120, borderWidth: 1, borderColor: '#ccc' }}>
94
94
  <Screen background="secondary" padding="lg">
95
95
  <View style={{ alignItems: 'center', justifyContent: 'center', flex: 1, backgroundColor: 'rgba(255,0,0,0.1)' }}>
96
- <Text size="small" weight="bold">Large</Text>
97
- <Text size="small" color="secondary">24px</Text>
96
+ <Text size="sm" weight="bold">Large</Text>
97
+ <Text size="sm" color="secondary">24px</Text>
98
98
  </View>
99
99
  </Screen>
100
100
  </View>
@@ -103,8 +103,8 @@ export const ScreenExamples = () => {
103
103
 
104
104
  {/* Safe Area Examples */}
105
105
  <View spacing="md">
106
- <Text size="medium" weight="semibold">Safe Area</Text>
107
- <Text size="small" color="secondary">
106
+ <Text size="md" weight="semibold">Safe Area</Text>
107
+ <Text size="sm" color="secondary">
108
108
  Safe area padding for mobile devices
109
109
  </Text>
110
110
 
@@ -112,8 +112,8 @@ export const ScreenExamples = () => {
112
112
  <View style={{ height: 100, width: 120, borderWidth: 1, borderColor: '#ccc' }}>
113
113
  <Screen background="tertiary" padding="sm" safeArea={false}>
114
114
  <View style={{ alignItems: 'center', justifyContent: 'center', flex: 1, backgroundColor: 'rgba(0,255,0,0.1)' }}>
115
- <Text size="small" weight="bold">No Safe Area</Text>
116
- <Text size="small" color="secondary">Standard</Text>
115
+ <Text size="sm" weight="bold">No Safe Area</Text>
116
+ <Text size="sm" color="secondary">Standard</Text>
117
117
  </View>
118
118
  </Screen>
119
119
  </View>
@@ -121,8 +121,8 @@ export const ScreenExamples = () => {
121
121
  <View style={{ height: 100, width: 120, borderWidth: 1, borderColor: '#ccc' }}>
122
122
  <Screen background="tertiary" padding="sm" safeArea={true}>
123
123
  <View style={{ alignItems: 'center', justifyContent: 'center', flex: 1, backgroundColor: 'rgba(0,255,0,0.1)' }}>
124
- <Text size="small" weight="bold">Safe Area</Text>
125
- <Text size="small" color="secondary">Mobile</Text>
124
+ <Text size="sm" weight="bold">Safe Area</Text>
125
+ <Text size="sm" color="secondary">Mobile</Text>
126
126
  </View>
127
127
  </Screen>
128
128
  </View>
@@ -131,17 +131,17 @@ export const ScreenExamples = () => {
131
131
 
132
132
  {/* Usage Examples */}
133
133
  <View spacing="md">
134
- <Text size="medium" weight="semibold">Common Usage</Text>
134
+ <Text size="md" weight="semibold">Common Usage</Text>
135
135
  <View style={{ height: 120, borderWidth: 1, borderColor: '#ccc' }}>
136
136
  <Screen background="primary" padding="lg">
137
137
  <View style={{ alignItems: 'center', justifyContent: 'center', flex: 1 }}>
138
- <Text size="large" weight="bold" align="center">
138
+ <Text size="lg" weight="bold" align="center">
139
139
  App Screen Layout
140
140
  </Text>
141
- <Text size="medium" color="secondary" align="center">
141
+ <Text size="md" color="secondary" align="center">
142
142
  Primary background with large padding
143
143
  </Text>
144
- <Text size="small" color="secondary" align="center">
144
+ <Text size="sm" color="secondary" align="center">
145
145
  Perfect for main app screens
146
146
  </Text>
147
147
  </View>
@@ -14,14 +14,14 @@ const fruitOptions = [
14
14
  ];
15
15
 
16
16
  const countryOptions = [
17
- { value: 'us', label: 'United States', icon: '🇺🇸' },
18
- { value: 'ca', label: 'Canada', icon: '🇨🇦' },
19
- { value: 'uk', label: 'United Kingdom', icon: '🇬🇧' },
20
- { value: 'de', label: 'Germany', icon: '🇩🇪' },
21
- { value: 'fr', label: 'France', icon: '🇫🇷' },
22
- { value: 'jp', label: 'Japan', icon: '🇯🇵' },
23
- { value: 'au', label: 'Australia', icon: '🇦🇺' },
24
- { value: 'in', label: 'India', icon: '🇮🇳' },
17
+ { value: 'us', label: 'United States', icon: <Text>🇺🇸</Text> },
18
+ { value: 'ca', label: 'Canada', icon: <Text>🇨🇦</Text> },
19
+ { value: 'uk', label: 'United Kingdom', icon: <Text>🇬🇧</Text> },
20
+ { value: 'de', label: 'Germany', icon: <Text>🇩🇪</Text> },
21
+ { value: 'fr', label: 'France', icon: <Text>🇫🇷</Text> },
22
+ { value: 'jp', label: 'Japan', icon: <Text>🇯🇵</Text> },
23
+ { value: 'au', label: 'Australia', icon: <Text>🇦🇺</Text> },
24
+ { value: 'in', label: 'India', icon: <Text>🇮🇳</Text> },
25
25
  ];
26
26
 
27
27
  const priorityOptions = [
@@ -117,13 +117,13 @@ export const SelectExamples = () => {
117
117
  <Screen background="primary" padding="lg">
118
118
  <View spacing="lg">
119
119
  <View style={{ flexDirection: 'row', justifyContent: 'space-between', alignItems: 'center' }}>
120
- <Text size="large" weight="bold">
120
+ <Text size="lg" weight="bold">
121
121
  Select Component Examples
122
122
  </Text>
123
123
  <Button
124
- variant="outlined"
124
+ type="outlined"
125
125
  intent="neutral"
126
- size="small"
126
+ size="sm"
127
127
  onPress={resetAllSelections}
128
128
  >
129
129
  Reset All
@@ -131,25 +131,25 @@ export const SelectExamples = () => {
131
131
  </View>
132
132
 
133
133
  {/* Basic Usage */}
134
- <Card variant="outlined" padding="medium">
134
+ <Card type="outlined" padding="md">
135
135
  <View spacing="md">
136
- <Text size="medium" weight="semibold">Basic Usage</Text>
136
+ <Text size="md" weight="semibold">Basic Usage</Text>
137
137
  <Select
138
138
  options={fruitOptions}
139
139
  value={basicSelect}
140
140
  onValueChange={setBasicSelect}
141
141
  placeholder="Choose a fruit"
142
142
  />
143
- <Text size="small" color="secondary">
143
+ <Text size="sm" color="secondary">
144
144
  Selected: {basicSelect || 'None'}
145
145
  </Text>
146
146
  </View>
147
147
  </Card>
148
148
 
149
149
  {/* With Icons */}
150
- <Card variant="outlined" padding="medium">
150
+ <Card type="outlined" padding="md">
151
151
  <View spacing="md">
152
- <Text size="medium" weight="semibold">With Icons</Text>
152
+ <Text size="md" weight="semibold">With Icons</Text>
153
153
  <Select
154
154
  options={countryOptions}
155
155
  value={countrySelect}
@@ -157,16 +157,16 @@ export const SelectExamples = () => {
157
157
  placeholder="Select a country"
158
158
  label="Country"
159
159
  />
160
- <Text size="small" color="secondary">
160
+ <Text size="sm" color="secondary">
161
161
  Selected: {countrySelect || 'None'}
162
162
  </Text>
163
163
  </View>
164
164
  </Card>
165
165
 
166
166
  {/* Custom Icons */}
167
- <Card variant="outlined" padding="medium">
167
+ <Card type="outlined" padding="md">
168
168
  <View spacing="md">
169
- <Text size="medium" weight="semibold">Custom Icon Components</Text>
169
+ <Text size="md" weight="semibold">Custom Icon Components</Text>
170
170
  <Select
171
171
  options={priorityOptions}
172
172
  value={prioritySelect}
@@ -174,16 +174,16 @@ export const SelectExamples = () => {
174
174
  placeholder="Select priority"
175
175
  label="Task Priority"
176
176
  />
177
- <Text size="small" color="secondary">
177
+ <Text size="sm" color="secondary">
178
178
  Selected: {prioritySelect || 'None'}
179
179
  </Text>
180
180
  </View>
181
181
  </Card>
182
182
 
183
183
  {/* Disabled Options */}
184
- <Card variant="outlined" padding="medium">
184
+ <Card type="outlined" padding="md">
185
185
  <View spacing="md">
186
- <Text size="medium" weight="semibold">Disabled Options</Text>
186
+ <Text size="md" weight="semibold">Disabled Options</Text>
187
187
  <Select
188
188
  options={statusOptions}
189
189
  value={statusSelect}
@@ -192,16 +192,16 @@ export const SelectExamples = () => {
192
192
  label="Document Status"
193
193
  helperText="Some options are disabled"
194
194
  />
195
- <Text size="small" color="secondary">
195
+ <Text size="sm" color="secondary">
196
196
  Selected: {statusSelect || 'None'}
197
197
  </Text>
198
198
  </View>
199
199
  </Card>
200
200
 
201
201
  {/* Searchable */}
202
- <Card variant="outlined" padding="medium">
202
+ <Card type="outlined" padding="md">
203
203
  <View spacing="md">
204
- <Text size="medium" weight="semibold">Searchable Select</Text>
204
+ <Text size="md" weight="semibold">Searchable Select</Text>
205
205
  <Select
206
206
  options={fruitOptions}
207
207
  value={searchableSelect}
@@ -211,45 +211,45 @@ export const SelectExamples = () => {
211
211
  searchable
212
212
  helperText="Type to filter options"
213
213
  />
214
- <Text size="small" color="secondary">
214
+ <Text size="sm" color="secondary">
215
215
  Selected: {searchableSelect || 'None'}
216
216
  </Text>
217
217
  </View>
218
218
  </Card>
219
219
 
220
220
  {/* Sizes */}
221
- <Card variant="outlined" padding="medium">
221
+ <Card type="outlined" padding="md">
222
222
  <View spacing="md">
223
- <Text size="medium" weight="semibold">Sizes</Text>
223
+ <Text size="md" weight="semibold">Sizes</Text>
224
224
  <View spacing="sm">
225
225
  <View>
226
- <Text size="small" weight="medium">Small</Text>
226
+ <Text size="sm" weight="medium">Small</Text>
227
227
  <Select
228
228
  options={fruitOptions.slice(0, 3)}
229
229
  value={sizeSmall}
230
230
  onValueChange={setSizeSmall}
231
231
  placeholder="Small select"
232
- size="small"
232
+ size="sm"
233
233
  />
234
234
  </View>
235
235
  <View>
236
- <Text size="small" weight="medium">Medium (Default)</Text>
236
+ <Text size="sm" weight="medium">Medium (Default)</Text>
237
237
  <Select
238
238
  options={fruitOptions.slice(0, 3)}
239
239
  value={sizeMedium}
240
240
  onValueChange={setSizeMedium}
241
241
  placeholder="Medium select"
242
- size="medium"
242
+ size="md"
243
243
  />
244
244
  </View>
245
245
  <View>
246
- <Text size="small" weight="medium">Large</Text>
246
+ <Text size="sm" weight="medium">Large</Text>
247
247
  <Select
248
248
  options={fruitOptions.slice(0, 3)}
249
249
  value={sizeLarge}
250
250
  onValueChange={setSizeLarge}
251
251
  placeholder="Large select"
252
- size="large"
252
+ size="lg"
253
253
  />
254
254
  </View>
255
255
  </View>
@@ -257,28 +257,28 @@ export const SelectExamples = () => {
257
257
  </Card>
258
258
 
259
259
  {/* Variants */}
260
- <Card variant="outlined" padding="medium">
260
+ <Card type="outlined" padding="md">
261
261
  <View spacing="md">
262
- <Text size="medium" weight="semibold">Variants</Text>
262
+ <Text size="md" weight="semibold">Variants</Text>
263
263
  <View spacing="sm">
264
264
  <View>
265
- <Text size="small" weight="medium">Outlined (Default)</Text>
265
+ <Text size="sm" weight="medium">Outlined (Default)</Text>
266
266
  <Select
267
267
  options={fruitOptions.slice(0, 4)}
268
268
  value={outlinedSelect}
269
269
  onValueChange={setOutlinedSelect}
270
270
  placeholder="Outlined variant"
271
- variant="outlined"
271
+ type="outlined"
272
272
  />
273
273
  </View>
274
274
  <View>
275
- <Text size="small" weight="medium">Filled</Text>
275
+ <Text size="sm" weight="medium">Filled</Text>
276
276
  <Select
277
277
  options={fruitOptions.slice(0, 4)}
278
278
  value={filledSelect}
279
279
  onValueChange={setFilledSelect}
280
280
  placeholder="Filled variant"
281
- variant="filled"
281
+ type="filled"
282
282
  />
283
283
  </View>
284
284
  </View>
@@ -286,52 +286,52 @@ export const SelectExamples = () => {
286
286
  </Card>
287
287
 
288
288
  {/* Intents */}
289
- <Card variant="outlined" padding="medium">
289
+ <Card type="outlined" padding="md">
290
290
  <View spacing="md">
291
- <Text size="medium" weight="semibold">Intent Colors</Text>
291
+ <Text size="md" weight="semibold">Intent Colors</Text>
292
292
  <View spacing="sm">
293
293
  <View>
294
- <Text size="small" weight="medium">Primary</Text>
294
+ <Text size="sm" weight="medium">Primary</Text>
295
295
  <Select
296
296
  options={fruitOptions.slice(0, 3)}
297
297
  value={primarySelect}
298
298
  onValueChange={setPrimarySelect}
299
299
  placeholder="Primary intent"
300
300
  intent="primary"
301
- variant="outlined"
301
+ type="outlined"
302
302
  />
303
303
  </View>
304
304
  <View>
305
- <Text size="small" weight="medium">Success</Text>
305
+ <Text size="sm" weight="medium">Success</Text>
306
306
  <Select
307
307
  options={fruitOptions.slice(0, 3)}
308
308
  value={successSelect}
309
309
  onValueChange={setSuccessSelect}
310
310
  placeholder="Success intent"
311
311
  intent="success"
312
- variant="outlined"
312
+ type="outlined"
313
313
  />
314
314
  </View>
315
315
  <View>
316
- <Text size="small" weight="medium">Warning</Text>
316
+ <Text size="sm" weight="medium">Warning</Text>
317
317
  <Select
318
318
  options={fruitOptions.slice(0, 3)}
319
319
  value={warningSelect}
320
320
  onValueChange={setWarningSelect}
321
321
  placeholder="Warning intent"
322
322
  intent="warning"
323
- variant="outlined"
323
+ type="outlined"
324
324
  />
325
325
  </View>
326
326
  <View>
327
- <Text size="small" weight="medium">Error</Text>
327
+ <Text size="sm" weight="medium">Error</Text>
328
328
  <Select
329
329
  options={fruitOptions.slice(0, 3)}
330
330
  value={errorSelect}
331
331
  onValueChange={setErrorSelect}
332
332
  placeholder="Error intent"
333
333
  intent="error"
334
- variant="outlined"
334
+ type="outlined"
335
335
  />
336
336
  </View>
337
337
  </View>
@@ -339,9 +339,9 @@ export const SelectExamples = () => {
339
339
  </Card>
340
340
 
341
341
  {/* Form Example */}
342
- <Card variant="outlined" padding="medium">
342
+ <Card type="outlined" padding="md">
343
343
  <View spacing="md">
344
- <Text size="medium" weight="semibold">Form Integration</Text>
344
+ <Text size="md" weight="semibold">Form Integration</Text>
345
345
  <Select
346
346
  options={countryOptions}
347
347
  value={formSelect}
@@ -355,11 +355,11 @@ export const SelectExamples = () => {
355
355
  label="Country *"
356
356
  error={!!formErrors.formSelect}
357
357
  helperText={formErrors.formSelect || "Required field"}
358
- variant="outlined"
358
+ type="outlined"
359
359
  intent="primary"
360
360
  />
361
361
  <Button
362
- variant="contained"
362
+ type="contained"
363
363
  intent="primary"
364
364
  onPress={handleFormSubmit}
365
365
  >
@@ -369,9 +369,9 @@ export const SelectExamples = () => {
369
369
  </Card>
370
370
 
371
371
  {/* Disabled State */}
372
- <Card variant="outlined" padding="medium">
372
+ <Card type="outlined" padding="md">
373
373
  <View spacing="md">
374
- <Text size="medium" weight="semibold">Disabled State</Text>
374
+ <Text size="md" weight="semibold">Disabled State</Text>
375
375
  <Select
376
376
  options={fruitOptions}
377
377
  value="apple"
@@ -385,10 +385,10 @@ export const SelectExamples = () => {
385
385
  </Card>
386
386
 
387
387
  {/* Platform-specific Features */}
388
- <Card variant="outlined" padding="medium">
388
+ <Card type="outlined" padding="md">
389
389
  <View spacing="md">
390
- <Text size="medium" weight="semibold">Platform Features</Text>
391
- <Text size="small" color="secondary">
390
+ <Text size="md" weight="semibold">Platform Features</Text>
391
+ <Text size="sm" color="secondary">
392
392
  On iOS: Try the ActionSheet presentation mode for native feel
393
393
  </Text>
394
394
  <Select
@@ -406,15 +406,15 @@ export const SelectExamples = () => {
406
406
  <Divider spacing="lg" />
407
407
 
408
408
  {/* Summary */}
409
- <Card variant="filled" padding="medium">
409
+ <Card type="filled" padding="md">
410
410
  <View spacing="sm">
411
- <Text size="medium" weight="semibold">Current Selections Summary</Text>
412
- <Text size="small">Basic: {basicSelect || 'None'}</Text>
413
- <Text size="small">Country: {countrySelect || 'None'}</Text>
414
- <Text size="small">Priority: {prioritySelect || 'None'}</Text>
415
- <Text size="small">Status: {statusSelect || 'None'}</Text>
416
- <Text size="small">Searchable: {searchableSelect || 'None'}</Text>
417
- <Text size="small">Form: {formSelect || 'None'}</Text>
411
+ <Text size="md" weight="semibold">Current Selections Summary</Text>
412
+ <Text size="sm">Basic: {basicSelect || 'None'}</Text>
413
+ <Text size="sm">Country: {countrySelect || 'None'}</Text>
414
+ <Text size="sm">Priority: {prioritySelect || 'None'}</Text>
415
+ <Text size="sm">Status: {statusSelect || 'None'}</Text>
416
+ <Text size="sm">Searchable: {searchableSelect || 'None'}</Text>
417
+ <Text size="sm">Form: {formSelect || 'None'}</Text>
418
418
  </View>
419
419
  </Card>
420
420
  </View>